summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2020-01-13 20:26:20 -0600
committerMarcus Huderle <huderlem@gmail.com>2020-01-13 20:26:20 -0600
commit5a2d676e71b720e752ca8a624a5795b3b1d7eb6c (patch)
tree6ef755064008dfae8ce2942dc2762670cdabe815
parent5007d279fea5326b41b877703c74fcaa56223364 (diff)
parent22931846d680de2bc585093678db3f5721aab891 (diff)
Merge remote-tracking branch 'upstream' into tustin2121-patch-5
-rw-r--r--.gitignore2
-rw-r--r--.travis.yml2
-rwxr-xr-x.travis/calcrom/calcrom.pl2
-rw-r--r--Makefile37
-rw-r--r--README.md2
-rwxr-xr-xasm/berry_crush.s5515
-rw-r--r--asm/macros.inc11
-rw-r--r--asm/macros/battle_frontier/apprentice.inc154
-rw-r--r--asm/macros/battle_frontier/battle_arena.inc49
-rw-r--r--asm/macros/battle_frontier/battle_dome.inc144
-rw-r--r--asm/macros/battle_frontier/battle_factory.inc101
-rw-r--r--asm/macros/battle_frontier/battle_palace.inc63
-rw-r--r--asm/macros/battle_frontier/battle_pike.inc171
-rw-r--r--asm/macros/battle_frontier/battle_pyramid.inc104
-rw-r--r--asm/macros/battle_frontier/battle_tower.inc91
-rw-r--r--asm/macros/battle_frontier/frontier_util.inc153
-rw-r--r--asm/macros/battle_script.inc14
-rw-r--r--asm/macros/battle_tent.inc167
-rw-r--r--asm/macros/event.inc195
-rw-r--r--asm/macros/movement.inc4
-rw-r--r--asm/macros/trainer_hill.inc108
-rw-r--r--berry_fix/Makefile28
-rw-r--r--berry_fix/payload/Makefile26
-rw-r--r--common_syms/apprentice.txt6
-rw-r--r--common_syms/contest_painting.txt6
-rw-r--r--common_syms/contest_painting_effects.txt10
-rw-r--r--common_syms/field_specials.txt2
-rw-r--r--common_syms/image_processing_effects.txt10
-rw-r--r--common_syms/party_menu.txt2
-rw-r--r--common_syms/save.txt2
-rw-r--r--common_syms/trainer_see.txt6
-rw-r--r--constants/berry_constants.inc6
-rw-r--r--constants/constants.inc2
-rw-r--r--constants/gba_constants.inc23
-rw-r--r--constants/pokemon_data_constants.inc35
-rw-r--r--data/battle_ai_scripts.s2
-rw-r--r--data/battle_anim_scripts.s950
-rw-r--r--data/battle_scripts_1.s136
-rwxr-xr-xdata/berry_crush.s32
-rw-r--r--data/contest_link_80F57C4.s4
-rw-r--r--data/event_scripts.s6588
-rw-r--r--data/image_processing_effects.s (renamed from data/contest_painting_effects.s)2
-rw-r--r--data/io_reg.s50
-rw-r--r--data/layouts/BattleColosseum_2P/border.bin (renamed from data/layouts/DoubleBattleColosseum/border.bin)0
-rw-r--r--data/layouts/BattleColosseum_2P/map.bin (renamed from data/layouts/SingleBattleColosseum/map.bin)0
-rw-r--r--data/layouts/BattleColosseum_4P/border.bin (renamed from data/layouts/LinkContestRoom1/border.bin)0
-rw-r--r--data/layouts/BattleColosseum_4P/map.bin (renamed from data/layouts/DoubleBattleColosseum/map.bin)0
-rw-r--r--data/layouts/BattleFrontier_BattlePikeRoomFinal/border.bin (renamed from data/layouts/BattleFrontier_BattlePikeRandomRoom1/border.bin)bin8 -> 8 bytes
-rw-r--r--data/layouts/BattleFrontier_BattlePikeRoomFinal/map.bin (renamed from data/layouts/BattleFrontier_BattlePikeRandomRoom2/map.bin)0
-rw-r--r--data/layouts/BattleFrontier_BattlePikeRoomNormal/border.bin (renamed from data/layouts/BattleFrontier_BattlePikeRandomRoom2/border.bin)bin8 -> 8 bytes
-rw-r--r--data/layouts/BattleFrontier_BattlePikeRoomNormal/map.bin (renamed from data/layouts/BattleFrontier_BattlePikeRandomRoom1/map.bin)0
-rw-r--r--data/layouts/BattleFrontier_BattlePikeRoomWildMons/border.bin (renamed from data/layouts/BattleFrontier_BattlePikeRandomRoom3/border.bin)bin8 -> 8 bytes
-rw-r--r--data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin (renamed from data/layouts/BattleFrontier_BattlePikeRandomRoom3/map.bin)0
-rw-r--r--data/layouts/BattleFrontier_BattlePyramidFloor/border.bin (renamed from data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/border.bin)bin8 -> 8 bytes
-rw-r--r--data/layouts/BattleFrontier_BattlePyramidFloor/map.bin (renamed from data/layouts/BattleFrontier_BattlePyramidEmptySquare/map.bin)0
-rw-r--r--data/layouts/BattleFrontier_BattleTowerMultiCorridor/border.bin (renamed from data/layouts/BattleFrontier_BattlePyramidEmptySquare/border.bin)bin8 -> 8 bytes
-rw-r--r--data/layouts/BattleFrontier_BattleTowerMultiCorridor/map.bin (renamed from data/layouts/BattleFrontier_BattleTowerCorridor2/map.bin)bin170 -> 170 bytes
-rw-r--r--data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/border.bin (renamed from data/layouts/BattleFrontier_BattleTowerCorridor2/border.bin)bin8 -> 8 bytes
-rw-r--r--data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/map.bin (renamed from data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/map.bin)bin630 -> 630 bytes
-rw-r--r--data/layouts/BattleFrontier_ExchangeServiceCorner/border.bin (renamed from data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/border.bin)bin8 -> 8 bytes
-rw-r--r--data/layouts/BattleFrontier_ExchangeServiceCorner/map.bin (renamed from data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/map.bin)0
-rw-r--r--data/layouts/ContestHall/border.bin (renamed from data/layouts/LinkContestRoom2/border.bin)0
-rw-r--r--data/layouts/ContestHall/map.bin (renamed from data/layouts/LinkContestRoom1/map.bin)0
-rw-r--r--data/layouts/ContestHallBeauty/border.bin (renamed from data/layouts/LinkContestRoom3/border.bin)0
-rw-r--r--data/layouts/ContestHallBeauty/map.bin (renamed from data/layouts/LinkContestRoom2/map.bin)0
-rw-r--r--data/layouts/ContestHallCool/border.bin (renamed from data/layouts/LinkContestRoom4/border.bin)0
-rw-r--r--data/layouts/ContestHallCool/map.bin (renamed from data/layouts/LinkContestRoom4/map.bin)0
-rw-r--r--data/layouts/ContestHallCute/border.bin (renamed from data/layouts/LinkContestRoom5/border.bin)0
-rw-r--r--data/layouts/ContestHallCute/map.bin (renamed from data/layouts/LinkContestRoom6/map.bin)0
-rw-r--r--data/layouts/ContestHallSmart/border.bin (renamed from data/layouts/LinkContestRoom6/border.bin)0
-rw-r--r--data/layouts/ContestHallSmart/map.bin (renamed from data/layouts/LinkContestRoom5/map.bin)0
-rw-r--r--data/layouts/ContestHallTough/border.bin (renamed from data/layouts/SingleBattleColosseum/border.bin)0
-rw-r--r--data/layouts/ContestHallTough/map.bin (renamed from data/layouts/LinkContestRoom3/map.bin)0
-rw-r--r--data/layouts/layouts.json120
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/map.json2
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/scripts.inc24
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/map.json4
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/scripts.inc18
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/map.json6
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/scripts.inc67
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/map.json8
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc142
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/map.json12
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc137
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/map.json8
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/scripts.inc98
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/map.json2
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/scripts.inc6
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/map.json6
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/scripts.inc54
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/map.json2
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/scripts.inc10
-rw-r--r--data/maps/AbandonedShip_Underwater1/map.json2
-rw-r--r--data/maps/AbandonedShip_Underwater1/scripts.inc4
-rw-r--r--data/maps/AbandonedShip_Underwater2/map.json2
-rw-r--r--data/maps/AbandonedShip_Underwater2/scripts.inc4
-rw-r--r--data/maps/AncientTomb/map.json8
-rw-r--r--data/maps/AncientTomb/scripts.inc64
-rw-r--r--data/maps/AquaHideout_1F/map.json6
-rw-r--r--data/maps/AquaHideout_1F/scripts.inc61
-rw-r--r--data/maps/AquaHideout_B1F/map.json12
-rw-r--r--data/maps/AquaHideout_B1F/scripts.inc112
-rw-r--r--data/maps/AquaHideout_B2F/map.json12
-rw-r--r--data/maps/AquaHideout_B2F/scripts.inc83
-rw-r--r--data/maps/BattleColosseum_2P/map.json (renamed from data/maps/SingleBattleColosseum/map.json)12
-rw-r--r--data/maps/BattleColosseum_2P/scripts.inc3
-rw-r--r--data/maps/BattleColosseum_4P/map.json (renamed from data/maps/DoubleBattleColosseum/map.json)14
-rw-r--r--data/maps/BattleColosseum_4P/scripts.inc3
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc651
-rw-r--r--data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc32
-rw-r--r--data/maps/BattleFrontier_BattleArenaLobby/map.json14
-rw-r--r--data/maps/BattleFrontier_BattleArenaLobby/scripts.inc475
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc986
-rw-r--r--data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc58
-rw-r--r--data/maps/BattleFrontier_BattleDomeLobby/map.json20
-rw-r--r--data/maps/BattleFrontier_BattleDomeLobby/scripts.inc672
-rw-r--r--data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc395
-rw-r--r--data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc350
-rw-r--r--data/maps/BattleFrontier_BattleFactoryLobby/map.json18
-rw-r--r--data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc492
-rw-r--r--data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc706
-rw-r--r--data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc577
-rw-r--r--data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc101
-rw-r--r--data/maps/BattleFrontier_BattlePalaceLobby/map.json18
-rw-r--r--data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc571
-rw-r--r--data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc53
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/map.json12
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/scripts.inc415
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc895
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc43
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc50
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomFinal/map.json (renamed from data/maps/BattleFrontier_BattlePikeRandomRoom2/map.json)6
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc40
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomNormal/map.json (renamed from data/maps/BattleFrontier_BattlePikeRandomRoom1/map.json)24
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc862
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomWildMons/map.json (renamed from data/maps/BattleFrontier_BattlePikeRandomRoom3/map.json)20
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc44
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json22
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc322
-rw-r--r--data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc764
-rw-r--r--data/maps/BattleFrontier_BattlePyramidFloor/map.json (renamed from data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json)6
-rw-r--r--data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc (renamed from data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc)437
-rw-r--r--data/maps/BattleFrontier_BattlePyramidLobby/map.json12
-rw-r--r--data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc784
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/map.json4
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/scripts.inc297
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc590
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom2/map.json99
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc539
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc43
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc172
-rw-r--r--data/maps/BattleFrontier_BattleTowerElevator/scripts.inc74
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/map.json28
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/scripts.inc1367
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json137
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc2189
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json (renamed from data/maps/BattleFrontier_BattleTowerCorridor2/map.json)6
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc176
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json138
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc1809
-rw-r--r--data/maps/BattleFrontier_ExchangeServiceCorner/map.json (renamed from data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.json)24
-rw-r--r--data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc765
-rw-r--r--data/maps/BattleFrontier_Lounge1/map.json6
-rw-r--r--data/maps/BattleFrontier_Lounge1/scripts.inc238
-rw-r--r--data/maps/BattleFrontier_Lounge2/map.json10
-rw-r--r--data/maps/BattleFrontier_Lounge2/scripts.inc183
-rw-r--r--data/maps/BattleFrontier_Lounge3/map.json10
-rw-r--r--data/maps/BattleFrontier_Lounge3/scripts.inc316
-rw-r--r--data/maps/BattleFrontier_Lounge4/map.json6
-rw-r--r--data/maps/BattleFrontier_Lounge4/scripts.inc18
-rw-r--r--data/maps/BattleFrontier_Lounge5/map.json8
-rw-r--r--data/maps/BattleFrontier_Lounge5/scripts.inc94
-rw-r--r--data/maps/BattleFrontier_Lounge6/map.json2
-rw-r--r--data/maps/BattleFrontier_Lounge6/scripts.inc42
-rw-r--r--data/maps/BattleFrontier_Lounge7/map.json8
-rw-r--r--data/maps/BattleFrontier_Lounge7/scripts.inc398
-rw-r--r--data/maps/BattleFrontier_Lounge8/map.json6
-rw-r--r--data/maps/BattleFrontier_Lounge8/scripts.inc18
-rw-r--r--data/maps/BattleFrontier_Mart/map.json8
-rw-r--r--data/maps/BattleFrontier_Mart/scripts.inc28
-rw-r--r--data/maps/BattleFrontier_OutsideEast/map.json66
-rw-r--r--data/maps/BattleFrontier_OutsideEast/scripts.inc242
-rw-r--r--data/maps/BattleFrontier_OutsideWest/map.json52
-rw-r--r--data/maps/BattleFrontier_OutsideWest/scripts.inc345
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_1F/map.json10
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc35
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/BattleFrontier_RankingHall/map.json30
-rw-r--r--data/maps/BattleFrontier_RankingHall/scripts.inc106
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/map.json8
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/scripts.inc331
-rw-r--r--data/maps/BattleFrontier_ScottsHouse/map.json2
-rw-r--r--data/maps/BattleFrontier_ScottsHouse/scripts.inc300
-rw-r--r--data/maps/BattlePyramidSquare01/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare02/map.json1
-rw-r--r--data/maps/BattlePyramidSquare02/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare03/map.json1
-rw-r--r--data/maps/BattlePyramidSquare03/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare04/map.json1
-rw-r--r--data/maps/BattlePyramidSquare04/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare05/map.json1
-rw-r--r--data/maps/BattlePyramidSquare05/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare06/map.json1
-rw-r--r--data/maps/BattlePyramidSquare06/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare07/map.json1
-rw-r--r--data/maps/BattlePyramidSquare07/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare08/map.json1
-rw-r--r--data/maps/BattlePyramidSquare08/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare09/map.json1
-rw-r--r--data/maps/BattlePyramidSquare09/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare10/map.json1
-rw-r--r--data/maps/BattlePyramidSquare10/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare11/map.json1
-rw-r--r--data/maps/BattlePyramidSquare11/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare12/map.json1
-rw-r--r--data/maps/BattlePyramidSquare12/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare13/map.json1
-rw-r--r--data/maps/BattlePyramidSquare13/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare14/map.json1
-rw-r--r--data/maps/BattlePyramidSquare14/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare15/map.json1
-rw-r--r--data/maps/BattlePyramidSquare15/scripts.inc1
-rw-r--r--data/maps/BattlePyramidSquare16/map.json1
-rw-r--r--data/maps/BattlePyramidSquare16/scripts.inc3
-rw-r--r--data/maps/BirthIsland_Exterior/map.json2
-rw-r--r--data/maps/BirthIsland_Exterior/scripts.inc76
-rw-r--r--data/maps/BirthIsland_Harbor/map.json2
-rw-r--r--data/maps/BirthIsland_Harbor/scripts.inc18
-rw-r--r--data/maps/CaveOfOrigin_1F/scripts.inc2
-rw-r--r--data/maps/CaveOfOrigin_B1F/map.json4
-rw-r--r--data/maps/CaveOfOrigin_B1F/scripts.inc62
-rw-r--r--data/maps/CaveOfOrigin_Entrance/scripts.inc4
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc2
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json2
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc2
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json2
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc2
-rw-r--r--data/maps/ContestHall/map.json (renamed from data/maps/LinkContestRoom1/map.json)8
-rw-r--r--data/maps/ContestHall/scripts.inc460
-rw-r--r--data/maps/ContestHallBeauty/map.json (renamed from data/maps/LinkContestRoom2/map.json)10
-rw-r--r--data/maps/ContestHallCool/map.json (renamed from data/maps/LinkContestRoom5/map.json)10
-rw-r--r--data/maps/ContestHallCute/map.json (renamed from data/maps/LinkContestRoom3/map.json)10
-rw-r--r--data/maps/ContestHallSmart/map.json (renamed from data/maps/LinkContestRoom4/map.json)10
-rw-r--r--data/maps/ContestHallTough/map.json18
-rw-r--r--data/maps/DesertRuins/map.json8
-rw-r--r--data/maps/DesertRuins/scripts.inc64
-rw-r--r--data/maps/DesertUnderpass/map.json2
-rw-r--r--data/maps/DesertUnderpass/scripts.inc20
-rw-r--r--data/maps/DewfordTown/map.json14
-rw-r--r--data/maps/DewfordTown/scripts.inc269
-rw-r--r--data/maps/DewfordTown_Gym/map.json24
-rw-r--r--data/maps/DewfordTown_Gym/scripts.inc328
-rw-r--r--data/maps/DewfordTown_Hall/map.json22
-rw-r--r--data/maps/DewfordTown_Hall/scripts.inc312
-rw-r--r--data/maps/DewfordTown_House1/map.json6
-rw-r--r--data/maps/DewfordTown_House1/scripts.inc18
-rw-r--r--data/maps/DewfordTown_House2/map.json4
-rw-r--r--data/maps/DewfordTown_House2/scripts.inc32
-rw-r--r--data/maps/DewfordTown_PokemonCenter_1F/map.json6
-rw-r--r--data/maps/DewfordTown_PokemonCenter_1F/scripts.inc21
-rw-r--r--data/maps/DewfordTown_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/DewfordTown_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/DoubleBattleColosseum/scripts.inc3
-rw-r--r--data/maps/EverGrandeCity/map.json28
-rw-r--r--data/maps/EverGrandeCity/scripts.inc22
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/scripts.inc172
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/map.json2
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/scripts.inc65
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/map.json2
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/scripts.inc62
-rw-r--r--data/maps/EverGrandeCity_Hall1/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_Hall2/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_Hall3/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_Hall4/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_Hall5/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/scripts.inc64
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/map.json2
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/scripts.inc62
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc53
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/map.json8
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc71
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_2F/map.json8
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc21
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/map.json2
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/scripts.inc63
-rw-r--r--data/maps/FallarborTown/map.json18
-rw-r--r--data/maps/FallarborTown/scripts.inc52
-rw-r--r--data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc226
-rw-r--r--data/maps/FallarborTown_BattleTentCorridor/scripts.inc36
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/map.json14
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/scripts.inc367
-rw-r--r--data/maps/FallarborTown_CozmosHouse/map.json (renamed from data/maps/FallarborTown_House1/map.json)10
-rw-r--r--data/maps/FallarborTown_CozmosHouse/scripts.inc121
-rw-r--r--data/maps/FallarborTown_House1/scripts.inc121
-rw-r--r--data/maps/FallarborTown_House2/scripts.inc102
-rw-r--r--data/maps/FallarborTown_Mart/map.json10
-rw-r--r--data/maps/FallarborTown_Mart/scripts.inc28
-rw-r--r--data/maps/FallarborTown_MoveRelearnersHouse/map.json (renamed from data/maps/FallarborTown_House2/map.json)6
-rw-r--r--data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc102
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/scripts.inc49
-rw-r--r--data/maps/FallarborTown_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/FallarborTown_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/FarawayIsland_Entrance/map.json10
-rw-r--r--data/maps/FarawayIsland_Entrance/scripts.inc28
-rw-r--r--data/maps/FarawayIsland_Interior/map.json2
-rw-r--r--data/maps/FarawayIsland_Interior/scripts.inc130
-rw-r--r--data/maps/FieryPath/scripts.inc6
-rw-r--r--data/maps/FortreeCity/map.json18
-rw-r--r--data/maps/FortreeCity/scripts.inc94
-rw-r--r--data/maps/FortreeCity_DecorationShop/map.json8
-rw-r--r--data/maps/FortreeCity_DecorationShop/scripts.inc24
-rw-r--r--data/maps/FortreeCity_Gym/map.json20
-rw-r--r--data/maps/FortreeCity_Gym/scripts.inc186
-rw-r--r--data/maps/FortreeCity_House1/map.json6
-rw-r--r--data/maps/FortreeCity_House1/scripts.inc54
-rw-r--r--data/maps/FortreeCity_House2/map.json4
-rw-r--r--data/maps/FortreeCity_House2/scripts.inc56
-rw-r--r--data/maps/FortreeCity_House3/map.json4
-rw-r--r--data/maps/FortreeCity_House3/scripts.inc12
-rw-r--r--data/maps/FortreeCity_House4/map.json6
-rw-r--r--data/maps/FortreeCity_House4/scripts.inc50
-rw-r--r--data/maps/FortreeCity_House5/map.json6
-rw-r--r--data/maps/FortreeCity_House5/scripts.inc18
-rw-r--r--data/maps/FortreeCity_Mart/map.json8
-rw-r--r--data/maps/FortreeCity_Mart/scripts.inc28
-rw-r--r--data/maps/FortreeCity_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/FortreeCity_PokemonCenter_1F/scripts.inc25
-rw-r--r--data/maps/FortreeCity_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/FortreeCity_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/GraniteCave_1F/map.json2
-rw-r--r--data/maps/GraniteCave_1F/scripts.inc18
-rw-r--r--data/maps/GraniteCave_B1F/scripts.inc10
-rw-r--r--data/maps/GraniteCave_StevensRoom/map.json2
-rw-r--r--data/maps/GraniteCave_StevensRoom/scripts.inc76
-rw-r--r--data/maps/InsideOfTruck/map.json22
-rw-r--r--data/maps/InsideOfTruck/scripts.inc30
-rw-r--r--data/maps/IslandCave/map.json8
-rw-r--r--data/maps/IslandCave/scripts.inc80
-rw-r--r--data/maps/JaggedPass/map.json24
-rw-r--r--data/maps/JaggedPass/scripts.inc176
-rw-r--r--data/maps/LavaridgeTown/map.json26
-rw-r--r--data/maps/LavaridgeTown/scripts.inc238
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/map.json18
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/scripts.inc262
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/map.json10
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/scripts.inc57
-rw-r--r--data/maps/LavaridgeTown_HerbShop/map.json6
-rw-r--r--data/maps/LavaridgeTown_HerbShop/scripts.inc34
-rw-r--r--data/maps/LavaridgeTown_House/map.json6
-rw-r--r--data/maps/LavaridgeTown_House/scripts.inc12
-rw-r--r--data/maps/LavaridgeTown_Mart/map.json6
-rw-r--r--data/maps/LavaridgeTown_Mart/scripts.inc22
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc27
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/LilycoveCity/map.json58
-rw-r--r--data/maps/LilycoveCity/scripts.inc486
-rw-r--r--data/maps/LilycoveCity_ContestHall/map.json76
-rw-r--r--data/maps/LilycoveCity_ContestHall/scripts.inc214
-rw-r--r--data/maps/LilycoveCity_ContestLobby/map.json86
-rw-r--r--data/maps/LilycoveCity_ContestLobby/scripts.inc904
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/map.json4
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc54
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/map.json14
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc70
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/map.json2
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc153
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/map.json12
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc198
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/map.json14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc152
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/map.json10
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc38
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/map.json10
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc38
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/map.json10
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc54
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/map.json14
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc74
-rw-r--r--data/maps/LilycoveCity_Harbor/map.json6
-rw-r--r--data/maps/LilycoveCity_Harbor/scripts.inc465
-rw-r--r--data/maps/LilycoveCity_House1/map.json4
-rw-r--r--data/maps/LilycoveCity_House1/scripts.inc12
-rw-r--r--data/maps/LilycoveCity_House2/map.json2
-rw-r--r--data/maps/LilycoveCity_House2/scripts.inc20
-rw-r--r--data/maps/LilycoveCity_House3/map.json12
-rw-r--r--data/maps/LilycoveCity_House3/scripts.inc90
-rw-r--r--data/maps/LilycoveCity_House4/map.json4
-rw-r--r--data/maps/LilycoveCity_House4/scripts.inc12
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/map.json52
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc183
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/map.json32
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc246
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/map.json2
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc96
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/map.json12
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc48
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/map.json18
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc753
-rw-r--r--data/maps/LinkContestRoom1/scripts.inc458
-rw-r--r--data/maps/LinkContestRoom2/scripts.inc1
-rw-r--r--data/maps/LinkContestRoom3/scripts.inc1
-rw-r--r--data/maps/LinkContestRoom4/scripts.inc1
-rw-r--r--data/maps/LinkContestRoom5/scripts.inc1
-rw-r--r--data/maps/LinkContestRoom6/map.json18
-rw-r--r--data/maps/LinkContestRoom6/scripts.inc1
-rw-r--r--data/maps/LittlerootTown/map.json34
-rw-r--r--data/maps/LittlerootTown/scripts.inc612
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/map.json18
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc236
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/map.json12
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc181
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/map.json20
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/scripts.inc218
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/map.json12
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/scripts.inc226
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/map.json42
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc723
-rw-r--r--data/maps/MagmaHideout_1F/map.json4
-rw-r--r--data/maps/MagmaHideout_1F/scripts.inc24
-rw-r--r--data/maps/MagmaHideout_2F_1R/map.json8
-rw-r--r--data/maps/MagmaHideout_2F_1R/scripts.inc48
-rw-r--r--data/maps/MagmaHideout_2F_2R/map.json8
-rw-r--r--data/maps/MagmaHideout_2F_2R/scripts.inc48
-rw-r--r--data/maps/MagmaHideout_3F_1R/map.json4
-rw-r--r--data/maps/MagmaHideout_3F_1R/scripts.inc24
-rw-r--r--data/maps/MagmaHideout_3F_2R/map.json2
-rw-r--r--data/maps/MagmaHideout_3F_2R/scripts.inc12
-rw-r--r--data/maps/MagmaHideout_4F/map.json10
-rw-r--r--data/maps/MagmaHideout_4F/scripts.inc123
-rw-r--r--data/maps/MarineCave_End/map.json4
-rw-r--r--data/maps/MarineCave_End/scripts.inc46
-rw-r--r--data/maps/MarineCave_Entrance/scripts.inc4
-rw-r--r--data/maps/MauvilleCity/map.json26
-rw-r--r--data/maps/MauvilleCity/scripts.inc342
-rw-r--r--data/maps/MauvilleCity_BikeShop/map.json8
-rw-r--r--data/maps/MauvilleCity_BikeShop/scripts.inc251
-rw-r--r--data/maps/MauvilleCity_GameCorner/map.json72
-rw-r--r--data/maps/MauvilleCity_GameCorner/scripts.inc744
-rw-r--r--data/maps/MauvilleCity_Gym/map.json26
-rw-r--r--data/maps/MauvilleCity_Gym/scripts.inc272
-rw-r--r--data/maps/MauvilleCity_House1/map.json2
-rw-r--r--data/maps/MauvilleCity_House1/scripts.inc20
-rw-r--r--data/maps/MauvilleCity_House2/map.json2
-rw-r--r--data/maps/MauvilleCity_House2/scripts.inc50
-rw-r--r--data/maps/MauvilleCity_Mart/map.json6
-rw-r--r--data/maps/MauvilleCity_Mart/scripts.inc22
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/map.json10
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc31
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/map.json10
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc27
-rw-r--r--data/maps/MeteorFalls_1F_1R/map.json4
-rw-r--r--data/maps/MeteorFalls_1F_1R/scripts.inc132
-rw-r--r--data/maps/MeteorFalls_1F_2R/map.json6
-rw-r--r--data/maps/MeteorFalls_1F_2R/scripts.inc110
-rw-r--r--data/maps/MeteorFalls_StevensCave/map.json2
-rw-r--r--data/maps/MeteorFalls_StevensCave/scripts.inc20
-rw-r--r--data/maps/MirageTower_2F/scripts.inc10
-rw-r--r--data/maps/MirageTower_3F/scripts.inc10
-rw-r--r--data/maps/MirageTower_4F/map.json4
-rw-r--r--data/maps/MirageTower_4F/scripts.inc56
-rw-r--r--data/maps/MossdeepCity/map.json50
-rw-r--r--data/maps/MossdeepCity/scripts.inc192
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/map.json12
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/scripts.inc55
-rw-r--r--data/maps/MossdeepCity_Gym/map.json52
-rw-r--r--data/maps/MossdeepCity_Gym/scripts.inc456
-rw-r--r--data/maps/MossdeepCity_House1/map.json4
-rw-r--r--data/maps/MossdeepCity_House1/scripts.inc24
-rw-r--r--data/maps/MossdeepCity_House2/map.json6
-rw-r--r--data/maps/MossdeepCity_House2/scripts.inc38
-rw-r--r--data/maps/MossdeepCity_House3/map.json2
-rw-r--r--data/maps/MossdeepCity_House3/scripts.inc34
-rw-r--r--data/maps/MossdeepCity_House4/map.json6
-rw-r--r--data/maps/MossdeepCity_House4/scripts.inc36
-rw-r--r--data/maps/MossdeepCity_Mart/map.json8
-rw-r--r--data/maps/MossdeepCity_Mart/scripts.inc28
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_1F/map.json6
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc19
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/map.json10
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc27
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/map.json24
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc269
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/map.json18
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc322
-rw-r--r--data/maps/MossdeepCity_StevensHouse/map.json14
-rw-r--r--data/maps/MossdeepCity_StevensHouse/scripts.inc134
-rw-r--r--data/maps/MtChimney/map.json66
-rw-r--r--data/maps/MtChimney/scripts.inc434
-rw-r--r--data/maps/MtChimney_CableCarStation/map.json2
-rw-r--r--data/maps/MtChimney_CableCarStation/scripts.inc56
-rw-r--r--data/maps/MtPyre_1F/map.json6
-rw-r--r--data/maps/MtPyre_1F/scripts.inc30
-rw-r--r--data/maps/MtPyre_2F/map.json14
-rw-r--r--data/maps/MtPyre_2F/scripts.inc86
-rw-r--r--data/maps/MtPyre_3F/map.json6
-rw-r--r--data/maps/MtPyre_3F/scripts.inc60
-rw-r--r--data/maps/MtPyre_4F/map.json2
-rw-r--r--data/maps/MtPyre_4F/scripts.inc14
-rw-r--r--data/maps/MtPyre_5F/map.json2
-rw-r--r--data/maps/MtPyre_5F/scripts.inc14
-rw-r--r--data/maps/MtPyre_6F/map.json4
-rw-r--r--data/maps/MtPyre_6F/scripts.inc48
-rw-r--r--data/maps/MtPyre_Exterior/map.json10
-rw-r--r--data/maps/MtPyre_Exterior/scripts.inc16
-rw-r--r--data/maps/MtPyre_Summit/map.json26
-rw-r--r--data/maps/MtPyre_Summit/scripts.inc353
-rw-r--r--data/maps/NavelRock_Bottom/map.json2
-rw-r--r--data/maps/NavelRock_Bottom/scripts.inc70
-rw-r--r--data/maps/NavelRock_Harbor/map.json2
-rw-r--r--data/maps/NavelRock_Harbor/scripts.inc18
-rw-r--r--data/maps/NavelRock_Top/map.json2
-rw-r--r--data/maps/NavelRock_Top/scripts.inc78
-rw-r--r--data/maps/NewMauville_Entrance/map.json2
-rw-r--r--data/maps/NewMauville_Entrance/scripts.inc34
-rw-r--r--data/maps/NewMauville_Inside/map.json42
-rw-r--r--data/maps/NewMauville_Inside/scripts.inc122
-rw-r--r--data/maps/OldaleTown/map.json18
-rw-r--r--data/maps/OldaleTown/scripts.inc217
-rw-r--r--data/maps/OldaleTown_House1/map.json2
-rw-r--r--data/maps/OldaleTown_House1/scripts.inc6
-rw-r--r--data/maps/OldaleTown_House2/map.json4
-rw-r--r--data/maps/OldaleTown_House2/scripts.inc12
-rw-r--r--data/maps/OldaleTown_Mart/map.json6
-rw-r--r--data/maps/OldaleTown_Mart/scripts.inc40
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/scripts.inc35
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/PacifidlogTown/map.json8
-rw-r--r--data/maps/PacifidlogTown/scripts.inc30
-rw-r--r--data/maps/PacifidlogTown_House1/map.json4
-rw-r--r--data/maps/PacifidlogTown_House1/scripts.inc12
-rw-r--r--data/maps/PacifidlogTown_House2/map.json6
-rw-r--r--data/maps/PacifidlogTown_House2/scripts.inc92
-rw-r--r--data/maps/PacifidlogTown_House3/map.json4
-rw-r--r--data/maps/PacifidlogTown_House3/scripts.inc48
-rw-r--r--data/maps/PacifidlogTown_House4/map.json6
-rw-r--r--data/maps/PacifidlogTown_House4/scripts.inc38
-rw-r--r--data/maps/PacifidlogTown_House5/map.json4
-rw-r--r--data/maps/PacifidlogTown_House5/scripts.inc22
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_1F/map.json10
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc25
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/PetalburgCity/map.json30
-rw-r--r--data/maps/PetalburgCity/scripts.inc321
-rw-r--r--data/maps/PetalburgCity_Gym/map.json46
-rw-r--r--data/maps/PetalburgCity_Gym/scripts.inc1141
-rw-r--r--data/maps/PetalburgCity_House1/map.json4
-rw-r--r--data/maps/PetalburgCity_House1/scripts.inc12
-rw-r--r--data/maps/PetalburgCity_House2/map.json4
-rw-r--r--data/maps/PetalburgCity_House2/scripts.inc12
-rw-r--r--data/maps/PetalburgCity_Mart/map.json8
-rw-r--r--data/maps/PetalburgCity_Mart/scripts.inc38
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/map.json10
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc55
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/PetalburgCity_WallysHouse/map.json4
-rw-r--r--data/maps/PetalburgCity_WallysHouse/scripts.inc74
-rw-r--r--data/maps/PetalburgWoods/map.json18
-rw-r--r--data/maps/PetalburgWoods/scripts.inc278
-rw-r--r--data/maps/RecordCorner/map.json2
-rw-r--r--data/maps/Route101/map.json28
-rw-r--r--data/maps/Route101/scripts.inc124
-rw-r--r--data/maps/Route102/map.json16
-rw-r--r--data/maps/Route102/scripts.inc92
-rw-r--r--data/maps/Route103/map.json28
-rw-r--r--data/maps/Route103/scripts.inc274
-rw-r--r--data/maps/Route104/map.json46
-rw-r--r--data/maps/Route104/scripts.inc611
-rw-r--r--data/maps/Route104_MrBrineysHouse/map.json4
-rw-r--r--data/maps/Route104_MrBrineysHouse/scripts.inc102
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/map.json6
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/scripts.inc78
-rw-r--r--data/maps/Route105/map.json14
-rw-r--r--data/maps/Route105/scripts.inc96
-rw-r--r--data/maps/Route106/map.json10
-rw-r--r--data/maps/Route106/scripts.inc46
-rw-r--r--data/maps/Route107/map.json14
-rw-r--r--data/maps/Route107/scripts.inc58
-rw-r--r--data/maps/Route108/map.json12
-rw-r--r--data/maps/Route108/scripts.inc52
-rw-r--r--data/maps/Route109/map.json48
-rw-r--r--data/maps/Route109/scripts.inc292
-rw-r--r--data/maps/Route109_SeashoreHouse/map.json8
-rw-r--r--data/maps/Route109_SeashoreHouse/scripts.inc133
-rw-r--r--data/maps/Route110/map.json92
-rw-r--r--data/maps/Route110/scripts.inc698
-rw-r--r--data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json6
-rw-r--r--data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc22
-rw-r--r--data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json6
-rw-r--r--data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc32
-rw-r--r--data/maps/Route110_TrickHouseCorridor/scripts.inc2
-rw-r--r--data/maps/Route110_TrickHouseEnd/map.json4
-rw-r--r--data/maps/Route110_TrickHouseEnd/scripts.inc298
-rw-r--r--data/maps/Route110_TrickHouseEntrance/map.json20
-rw-r--r--data/maps/Route110_TrickHouseEntrance/scripts.inc730
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/map.json8
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/scripts.inc56
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/map.json16
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/scripts.inc84
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/map.json16
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/scripts.inc136
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/map.json8
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/scripts.inc48
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/map.json56
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/scripts.inc794
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/map.json8
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/scripts.inc56
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/map.json22
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/scripts.inc271
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/map.json8
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/scripts.inc48
-rw-r--r--data/maps/Route111/map.json142
-rw-r--r--data/maps/Route111/scripts.inc543
-rw-r--r--data/maps/Route111_OldLadysRestStop/map.json2
-rw-r--r--data/maps/Route111_OldLadysRestStop/scripts.inc38
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/map.json8
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/scripts.inc58
-rw-r--r--data/maps/Route112/map.json24
-rw-r--r--data/maps/Route112/scripts.inc102
-rw-r--r--data/maps/Route112_CableCarStation/map.json2
-rw-r--r--data/maps/Route112_CableCarStation/scripts.inc56
-rw-r--r--data/maps/Route113/map.json56
-rw-r--r--data/maps/Route113/scripts.inc152
-rw-r--r--data/maps/Route113_GlassWorkshop/map.json4
-rw-r--r--data/maps/Route113_GlassWorkshop/scripts.inc385
-rw-r--r--data/maps/Route114/map.json38
-rw-r--r--data/maps/Route114/scripts.inc206
-rw-r--r--data/maps/Route114_FossilManiacsHouse/map.json10
-rw-r--r--data/maps/Route114_FossilManiacsHouse/scripts.inc30
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/map.json6
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/scripts.inc50
-rw-r--r--data/maps/Route114_LanettesHouse/map.json8
-rw-r--r--data/maps/Route114_LanettesHouse/scripts.inc56
-rw-r--r--data/maps/Route115/map.json26
-rw-r--r--data/maps/Route115/scripts.inc156
-rw-r--r--data/maps/Route116/map.json42
-rw-r--r--data/maps/Route116/scripts.inc376
-rw-r--r--data/maps/Route116_TunnelersRestHouse/map.json6
-rw-r--r--data/maps/Route116_TunnelersRestHouse/scripts.inc26
-rw-r--r--data/maps/Route117/map.json34
-rw-r--r--data/maps/Route117/scripts.inc197
-rw-r--r--data/maps/Route117_PokemonDayCare/map.json2
-rw-r--r--data/maps/Route118/map.json40
-rw-r--r--data/maps/Route118/scripts.inc226
-rw-r--r--data/maps/Route119/map.json58
-rw-r--r--data/maps/Route119/scripts.inc424
-rw-r--r--data/maps/Route119_House/map.json14
-rw-r--r--data/maps/Route119_House/scripts.inc12
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/map.json18
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/scripts.inc78
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/map.json10
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/scripts.inc211
-rw-r--r--data/maps/Route120/map.json100
-rw-r--r--data/maps/Route120/scripts.inc419
-rw-r--r--data/maps/Route121/map.json36
-rw-r--r--data/maps/Route121/scripts.inc152
-rw-r--r--data/maps/Route121_SafariZoneEntrance/map.json8
-rw-r--r--data/maps/Route121_SafariZoneEntrance/scripts.inc108
-rw-r--r--data/maps/Route123/map.json40
-rw-r--r--data/maps/Route123/scripts.inc192
-rw-r--r--data/maps/Route123_BerryMastersHouse/map.json4
-rw-r--r--data/maps/Route123_BerryMastersHouse/scripts.inc162
-rw-r--r--data/maps/Route124/map.json20
-rw-r--r--data/maps/Route124/scripts.inc106
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/map.json4
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc382
-rw-r--r--data/maps/Route125/map.json18
-rw-r--r--data/maps/Route125/scripts.inc102
-rw-r--r--data/maps/Route126/map.json16
-rw-r--r--data/maps/Route126/scripts.inc66
-rw-r--r--data/maps/Route127/map.json16
-rw-r--r--data/maps/Route127/scripts.inc96
-rw-r--r--data/maps/Route128/map.json14
-rw-r--r--data/maps/Route128/scripts.inc174
-rw-r--r--data/maps/Route129/map.json10
-rw-r--r--data/maps/Route129/scripts.inc66
-rw-r--r--data/maps/Route130/map.json6
-rw-r--r--data/maps/Route130/scripts.inc30
-rw-r--r--data/maps/Route131/map.json16
-rw-r--r--data/maps/Route131/scripts.inc58
-rw-r--r--data/maps/Route132/map.json16
-rw-r--r--data/maps/Route132/scripts.inc48
-rw-r--r--data/maps/Route133/map.json14
-rw-r--r--data/maps/Route133/scripts.inc42
-rw-r--r--data/maps/Route134/map.json18
-rw-r--r--data/maps/Route134/scripts.inc58
-rw-r--r--data/maps/RustboroCity/map.json82
-rw-r--r--data/maps/RustboroCity/scripts.inc767
-rw-r--r--data/maps/RustboroCity_CuttersHouse/map.json4
-rw-r--r--data/maps/RustboroCity_CuttersHouse/scripts.inc24
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/map.json10
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/scripts.inc84
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/map.json12
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/scripts.inc290
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/map.json10
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/scripts.inc138
-rw-r--r--data/maps/RustboroCity_Flat1_1F/map.json4
-rw-r--r--data/maps/RustboroCity_Flat1_1F/scripts.inc12
-rw-r--r--data/maps/RustboroCity_Flat1_2F/map.json14
-rw-r--r--data/maps/RustboroCity_Flat1_2F/scripts.inc126
-rw-r--r--data/maps/RustboroCity_Flat2_1F/map.json4
-rw-r--r--data/maps/RustboroCity_Flat2_1F/scripts.inc12
-rw-r--r--data/maps/RustboroCity_Flat2_2F/map.json4
-rw-r--r--data/maps/RustboroCity_Flat2_2F/scripts.inc22
-rw-r--r--data/maps/RustboroCity_Flat2_3F/map.json4
-rw-r--r--data/maps/RustboroCity_Flat2_3F/scripts.inc12
-rw-r--r--data/maps/RustboroCity_Gym/map.json14
-rw-r--r--data/maps/RustboroCity_Gym/scripts.inc141
-rw-r--r--data/maps/RustboroCity_House1/map.json4
-rw-r--r--data/maps/RustboroCity_House1/scripts.inc48
-rw-r--r--data/maps/RustboroCity_House2/map.json4
-rw-r--r--data/maps/RustboroCity_House2/scripts.inc12
-rw-r--r--data/maps/RustboroCity_House3/map.json6
-rw-r--r--data/maps/RustboroCity_House3/scripts.inc19
-rw-r--r--data/maps/RustboroCity_Mart/map.json8
-rw-r--r--data/maps/RustboroCity_Mart/scripts.inc42
-rw-r--r--data/maps/RustboroCity_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/RustboroCity_PokemonCenter_1F/scripts.inc27
-rw-r--r--data/maps/RustboroCity_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/RustboroCity_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/RustboroCity_PokemonSchool/map.json24
-rw-r--r--data/maps/RustboroCity_PokemonSchool/scripts.inc190
-rw-r--r--data/maps/RusturfTunnel/map.json28
-rw-r--r--data/maps/RusturfTunnel/scripts.inc248
-rw-r--r--data/maps/SSTidalCorridor/map.json32
-rw-r--r--data/maps/SSTidalCorridor/scripts.inc246
-rw-r--r--data/maps/SSTidalLowerDeck/map.json4
-rw-r--r--data/maps/SSTidalLowerDeck/scripts.inc24
-rw-r--r--data/maps/SSTidalRooms/map.json20
-rw-r--r--data/maps/SSTidalRooms/scripts.inc116
-rw-r--r--data/maps/SafariZone_North/map.json4
-rw-r--r--data/maps/SafariZone_North/scripts.inc8
-rw-r--r--data/maps/SafariZone_Northeast/map.json6
-rw-r--r--data/maps/SafariZone_Northeast/scripts.inc1
-rw-r--r--data/maps/SafariZone_Northwest/map.json2
-rw-r--r--data/maps/SafariZone_Northwest/scripts.inc4
-rw-r--r--data/maps/SafariZone_RestHouse/map.json6
-rw-r--r--data/maps/SafariZone_RestHouse/scripts.inc12
-rw-r--r--data/maps/SafariZone_South/map.json12
-rw-r--r--data/maps/SafariZone_South/scripts.inc118
-rw-r--r--data/maps/SafariZone_Southeast/map.json8
-rw-r--r--data/maps/SafariZone_Southeast/scripts.inc1
-rw-r--r--data/maps/SafariZone_Southwest/map.json4
-rw-r--r--data/maps/SafariZone_Southwest/scripts.inc8
-rw-r--r--data/maps/SeafloorCavern_Entrance/map.json2
-rw-r--r--data/maps/SeafloorCavern_Entrance/scripts.inc58
-rw-r--r--data/maps/SeafloorCavern_Room1/map.json4
-rw-r--r--data/maps/SeafloorCavern_Room1/scripts.inc24
-rw-r--r--data/maps/SeafloorCavern_Room3/map.json4
-rw-r--r--data/maps/SeafloorCavern_Room3/scripts.inc24
-rw-r--r--data/maps/SeafloorCavern_Room4/map.json4
-rw-r--r--data/maps/SeafloorCavern_Room4/scripts.inc24
-rw-r--r--data/maps/SeafloorCavern_Room9/map.json4
-rw-r--r--data/maps/SeafloorCavern_Room9/scripts.inc163
-rw-r--r--data/maps/SealedChamber_InnerRoom/map.json18
-rw-r--r--data/maps/SealedChamber_InnerRoom/scripts.inc52
-rw-r--r--data/maps/SealedChamber_OuterRoom/map.json58
-rw-r--r--data/maps/SealedChamber_OuterRoom/scripts.inc90
-rw-r--r--data/maps/SecretBase_BlueCave1/map.json3
-rw-r--r--data/maps/SecretBase_BlueCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_BlueCave2/map.json3
-rw-r--r--data/maps/SecretBase_BlueCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_BlueCave3/map.json3
-rw-r--r--data/maps/SecretBase_BlueCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_BlueCave4/map.json3
-rw-r--r--data/maps/SecretBase_BlueCave4/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave1/map.json3
-rw-r--r--data/maps/SecretBase_BrownCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave2/map.json3
-rw-r--r--data/maps/SecretBase_BrownCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave3/map.json3
-rw-r--r--data/maps/SecretBase_BrownCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_BrownCave4/map.json3
-rw-r--r--data/maps/SecretBase_BrownCave4/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave1/map.json3
-rw-r--r--data/maps/SecretBase_RedCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave2/map.json3
-rw-r--r--data/maps/SecretBase_RedCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave3/map.json3
-rw-r--r--data/maps/SecretBase_RedCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_RedCave4/map.json3
-rw-r--r--data/maps/SecretBase_RedCave4/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub1/map.json3
-rw-r--r--data/maps/SecretBase_Shrub1/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub2/map.json3
-rw-r--r--data/maps/SecretBase_Shrub2/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub3/map.json3
-rw-r--r--data/maps/SecretBase_Shrub3/scripts.inc1
-rw-r--r--data/maps/SecretBase_Shrub4/map.json3
-rw-r--r--data/maps/SecretBase_Shrub4/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree1/map.json3
-rw-r--r--data/maps/SecretBase_Tree1/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree2/map.json3
-rw-r--r--data/maps/SecretBase_Tree2/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree3/map.json3
-rw-r--r--data/maps/SecretBase_Tree3/scripts.inc1
-rw-r--r--data/maps/SecretBase_Tree4/map.json3
-rw-r--r--data/maps/SecretBase_Tree4/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave1/map.json3
-rw-r--r--data/maps/SecretBase_YellowCave1/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave2/map.json3
-rw-r--r--data/maps/SecretBase_YellowCave2/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave3/map.json3
-rw-r--r--data/maps/SecretBase_YellowCave3/scripts.inc1
-rw-r--r--data/maps/SecretBase_YellowCave4/map.json3
-rw-r--r--data/maps/SecretBase_YellowCave4/scripts.inc24
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/map.json2
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc85
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/map.json12
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/scripts.inc110
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/map.json4
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/scripts.inc46
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/map.json2
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/scripts.inc28
-rw-r--r--data/maps/SingleBattleColosseum/scripts.inc3
-rw-r--r--data/maps/SkyPillar_2F/scripts.inc10
-rw-r--r--data/maps/SkyPillar_4F/scripts.inc10
-rw-r--r--data/maps/SkyPillar_Outside/map.json2
-rw-r--r--data/maps/SkyPillar_Outside/scripts.inc96
-rw-r--r--data/maps/SkyPillar_Top/map.json6
-rw-r--r--data/maps/SkyPillar_Top/scripts.inc112
-rw-r--r--data/maps/SlateportCity/map.json92
-rw-r--r--data/maps/SlateportCity/scripts.inc766
-rw-r--r--data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc79
-rw-r--r--data/maps/SlateportCity_BattleTentCorridor/scripts.inc223
-rw-r--r--data/maps/SlateportCity_BattleTentLobby/map.json12
-rw-r--r--data/maps/SlateportCity_BattleTentLobby/scripts.inc330
-rw-r--r--data/maps/SlateportCity_Harbor/map.json16
-rw-r--r--data/maps/SlateportCity_Harbor/scripts.inc375
-rw-r--r--data/maps/SlateportCity_House/map.json (renamed from data/maps/SlateportCity_House2/map.json)8
-rw-r--r--data/maps/SlateportCity_House/scripts.inc23
-rw-r--r--data/maps/SlateportCity_House1/scripts.inc121
-rw-r--r--data/maps/SlateportCity_House2/scripts.inc23
-rw-r--r--data/maps/SlateportCity_Mart/map.json6
-rw-r--r--data/maps/SlateportCity_Mart/scripts.inc22
-rw-r--r--data/maps/SlateportCity_NameRatersHouse/map.json (renamed from data/maps/SlateportCity_House1/map.json)6
-rw-r--r--data/maps/SlateportCity_NameRatersHouse/scripts.inc121
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/map.json58
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc252
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/map.json50
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc236
-rw-r--r--data/maps/SlateportCity_PokemonCenter_1F/map.json6
-rw-r--r--data/maps/SlateportCity_PokemonCenter_1F/scripts.inc21
-rw-r--r--data/maps/SlateportCity_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/SlateportCity_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/map.json18
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/scripts.inc280
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/map.json8
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/scripts.inc60
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/map.json4
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/scripts.inc12
-rw-r--r--data/maps/SootopolisCity/map.json34
-rw-r--r--data/maps/SootopolisCity/scripts.inc933
-rw-r--r--data/maps/SootopolisCity_Gym_1F/map.json8
-rw-r--r--data/maps/SootopolisCity_Gym_1F/scripts.inc169
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/map.json20
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/scripts.inc120
-rw-r--r--data/maps/SootopolisCity_House1/map.json4
-rw-r--r--data/maps/SootopolisCity_House1/scripts.inc26
-rw-r--r--data/maps/SootopolisCity_House2/map.json2
-rw-r--r--data/maps/SootopolisCity_House2/scripts.inc26
-rw-r--r--data/maps/SootopolisCity_House3/map.json4
-rw-r--r--data/maps/SootopolisCity_House3/scripts.inc26
-rw-r--r--data/maps/SootopolisCity_House4/map.json6
-rw-r--r--data/maps/SootopolisCity_House4/scripts.inc18
-rw-r--r--data/maps/SootopolisCity_House5/map.json4
-rw-r--r--data/maps/SootopolisCity_House5/scripts.inc12
-rw-r--r--data/maps/SootopolisCity_House6/map.json2
-rw-r--r--data/maps/SootopolisCity_House6/scripts.inc42
-rw-r--r--data/maps/SootopolisCity_House7/map.json4
-rw-r--r--data/maps/SootopolisCity_House7/scripts.inc12
-rw-r--r--data/maps/SootopolisCity_LotadAndSeedotHouse/map.json8
-rw-r--r--data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc122
-rw-r--r--data/maps/SootopolisCity_Mart/map.json6
-rw-r--r--data/maps/SootopolisCity_Mart/scripts.inc42
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json2
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc171
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc30
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc39
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/SouthernIsland_Exterior/map.json4
-rw-r--r--data/maps/SouthernIsland_Exterior/scripts.inc34
-rw-r--r--data/maps/SouthernIsland_Interior/map.json2
-rw-r--r--data/maps/SouthernIsland_Interior/scripts.inc104
-rw-r--r--data/maps/TerraCave_End/map.json4
-rw-r--r--data/maps/TerraCave_End/scripts.inc46
-rw-r--r--data/maps/TradeCenter/map.json2
-rw-r--r--data/maps/TrainerHill_1F/scripts.inc6
-rw-r--r--data/maps/TrainerHill_2F/scripts.inc6
-rw-r--r--data/maps/TrainerHill_3F/scripts.inc4
-rw-r--r--data/maps/TrainerHill_4F/scripts.inc4
-rw-r--r--data/maps/TrainerHill_Elevator/map.json2
-rw-r--r--data/maps/TrainerHill_Elevator/scripts.inc58
-rw-r--r--data/maps/TrainerHill_Entrance/map.json14
-rw-r--r--data/maps/TrainerHill_Entrance/scripts.inc331
-rw-r--r--data/maps/TrainerHill_Roof/map.json2
-rw-r--r--data/maps/TrainerHill_Roof/scripts.inc86
-rw-r--r--data/maps/Underwater1/map.json2
-rw-r--r--data/maps/Underwater2/map.json2
-rw-r--r--data/maps/Underwater3/map.json2
-rw-r--r--data/maps/Underwater3/scripts.inc6
-rw-r--r--data/maps/Underwater4/map.json2
-rw-r--r--data/maps/Underwater5/map.json2
-rw-r--r--data/maps/Underwater5/scripts.inc6
-rw-r--r--data/maps/Underwater6/map.json2
-rw-r--r--data/maps/Underwater6/scripts.inc6
-rw-r--r--data/maps/Underwater7/map.json2
-rw-r--r--data/maps/Underwater7/scripts.inc6
-rw-r--r--data/maps/Underwater_MarineCave/map.json2
-rw-r--r--data/maps/Underwater_MarineCave/scripts.inc4
-rw-r--r--data/maps/Underwater_Route134/map.json2
-rw-r--r--data/maps/Underwater_Route134/scripts.inc4
-rw-r--r--data/maps/Underwater_SeafloorCavern/map.json2
-rw-r--r--data/maps/Underwater_SeafloorCavern/scripts.inc16
-rw-r--r--data/maps/Underwater_SealedChamber/map.json4
-rw-r--r--data/maps/Underwater_SealedChamber/scripts.inc20
-rw-r--r--data/maps/Underwater_SootopolisCity/map.json2
-rw-r--r--data/maps/Underwater_SootopolisCity/scripts.inc4
-rw-r--r--data/maps/UnionRoom/map.json18
-rw-r--r--data/maps/UnionRoom/scripts.inc24
-rw-r--r--data/maps/UnknownLinkContestRoom_25_29/map.json4
-rw-r--r--data/maps/UnknownLinkContestRoom_25_29/scripts.inc1
-rw-r--r--data/maps/UnknownLinkContestRoom_25_30/map.json4
-rw-r--r--data/maps/UnknownLinkContestRoom_25_30/scripts.inc1
-rw-r--r--data/maps/UnknownLinkContestRoom_25_31/map.json4
-rw-r--r--data/maps/UnknownLinkContestRoom_25_31/scripts.inc1
-rw-r--r--data/maps/UnknownLinkContestRoom_25_32/map.json4
-rw-r--r--data/maps/UnknownLinkContestRoom_25_32/scripts.inc1
-rw-r--r--data/maps/UnknownLinkContestRoom_25_33/map.json4
-rw-r--r--data/maps/UnknownLinkContestRoom_25_33/scripts.inc1
-rw-r--r--data/maps/UnknownLinkContestRoom_25_34/map.json4
-rw-r--r--data/maps/UnknownLinkContestRoom_25_34/scripts.inc1
-rw-r--r--data/maps/VerdanturfTown/map.json16
-rw-r--r--data/maps/VerdanturfTown/scripts.inc66
-rw-r--r--data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc176
-rw-r--r--data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc37
-rw-r--r--data/maps/VerdanturfTown_BattleTentLobby/map.json14
-rw-r--r--data/maps/VerdanturfTown_BattleTentLobby/scripts.inc394
-rw-r--r--data/maps/VerdanturfTown_FriendshipRatersHouse/map.json4
-rw-r--r--data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc68
-rw-r--r--data/maps/VerdanturfTown_House/map.json4
-rw-r--r--data/maps/VerdanturfTown_House/scripts.inc12
-rw-r--r--data/maps/VerdanturfTown_Mart/map.json8
-rw-r--r--data/maps/VerdanturfTown_Mart/scripts.inc28
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_1F/map.json8
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc21
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_2F/map.json8
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc21
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/map.json14
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/scripts.inc92
-rw-r--r--data/maps/VictoryRoad_1F/map.json18
-rw-r--r--data/maps/VictoryRoad_1F/scripts.inc128
-rw-r--r--data/maps/VictoryRoad_B1F/map.json10
-rw-r--r--data/maps/VictoryRoad_B1F/scripts.inc60
-rw-r--r--data/maps/VictoryRoad_B2F/map.json12
-rw-r--r--data/maps/VictoryRoad_B2F/scripts.inc72
-rw-r--r--data/maps/map_groups.json38
-rw-r--r--data/mystery_event.s25
-rw-r--r--data/mystery_event_msg.s343
-rw-r--r--data/rotating_tile_puzzle.s (renamed from data/mossdeep_gym.s)16
-rw-r--r--data/script_cmd_table.inc32
-rw-r--r--data/scripts/abnormal_weather.inc426
-rw-r--r--data/scripts/apprentice.inc2894
-rw-r--r--data/scripts/battle_pike.inc254
-rw-r--r--data/scripts/berry_blender.inc747
-rw-r--r--data/scripts/berry_tree.inc48
-rw-r--r--data/scripts/cable_club.inc1977
-rw-r--r--data/scripts/cave_hole.inc33
-rw-r--r--data/scripts/cave_of_origin.inc45
-rw-r--r--data/scripts/check_furniture.inc27
-rw-r--r--data/scripts/contest_hall.inc1559
-rw-r--r--data/scripts/day_care.inc334
-rw-r--r--data/scripts/elite_four.inc62
-rw-r--r--data/scripts/field_move_scripts.inc30
-rw-r--r--data/scripts/field_poison.inc48
-rw-r--r--data/scripts/flash.inc4
-rw-r--r--data/scripts/gabby_and_ty.inc319
-rw-r--r--data/scripts/hall_of_fame.inc53
-rw-r--r--data/scripts/interview.inc344
-rw-r--r--data/scripts/item_ball_scripts.inc330
-rw-r--r--data/scripts/kecleon.inc116
-rw-r--r--data/scripts/lilycove_lady.inc856
-rw-r--r--data/scripts/mauville_man.inc609
-rw-r--r--data/scripts/mevent.inc62
-rw-r--r--data/scripts/mevent_altering_cave.inc24
-rw-r--r--data/scripts/mevent_aurora_ticket.inc59
-rw-r--r--data/scripts/mevent_battle_card.inc46
-rw-r--r--data/scripts/mevent_mystic_ticket.inc60
-rw-r--r--data/scripts/mevent_old_sea_map.inc60
-rw-r--r--data/scripts/mevent_pichu.inc78
-rw-r--r--data/scripts/mevent_stamp_card.inc21
-rw-r--r--data/scripts/mevent_trainer.inc49
-rw-r--r--data/scripts/move_tutors.inc300
-rw-r--r--data/scripts/movement.inc100
-rw-r--r--data/scripts/mystery_event_club.inc116
-rw-r--r--data/scripts/new_game.inc245
-rw-r--r--data/scripts/obtain_item.inc207
-rw-r--r--data/scripts/pc.inc66
-rw-r--r--data/scripts/pc_transfer.inc52
-rw-r--r--data/scripts/pkmn_center_nurse.inc135
-rw-r--r--data/scripts/players_house.inc515
-rw-r--r--data/scripts/pokeblocks.inc759
-rw-r--r--data/scripts/prof_birch.inc89
-rw-r--r--data/scripts/record_mix.inc23
-rw-r--r--data/scripts/repel.inc6
-rw-r--r--data/scripts/rival_graphics.inc48
-rw-r--r--data/scripts/roulette.inc71
-rw-r--r--data/scripts/safari_zone.inc142
-rw-r--r--data/scripts/secret_base.inc1050
-rw-r--r--data/scripts/secret_power_tm.inc56
-rw-r--r--data/scripts/set_gym_trainers.inc92
-rw-r--r--data/scripts/shared_secret_base.inc224
-rw-r--r--data/scripts/std_msgbox.inc48
-rw-r--r--data/scripts/surf.inc16
-rw-r--r--data/scripts/test_signpost.inc7
-rw-r--r--data/scripts/trainer_battle.inc15
-rw-r--r--data/scripts/trainer_hill.inc70
-rw-r--r--data/scripts/trainer_script.inc23
-rw-r--r--data/scripts/tv.inc76
-rw-r--r--data/smokescreen.s8
-rw-r--r--data/specials.inc366
-rw-r--r--data/text/abnormal_weather.inc7
-rw-r--r--data/text/apprentice.inc2527
-rw-r--r--data/text/battle_dome.inc341
-rw-r--r--data/text/battle_tent.inc433
-rw-r--r--data/text/berries.inc82
-rw-r--r--data/text/blend_master.inc85
-rw-r--r--data/text/braille.inc44
-rw-r--r--data/text/cable_club.inc487
-rw-r--r--data/text/check_furniture.inc27
-rw-r--r--data/text/contest_link.inc38
-rw-r--r--data/text/contest_painting.inc95
-rw-r--r--data/text/contest_strings.inc392
-rw-r--r--data/text/event_ticket_1.inc (renamed from data/text/eon_ticket.inc)23
-rw-r--r--data/text/event_ticket_2.inc71
-rw-r--r--data/text/frontier_brain.inc108
-rw-r--r--data/text/lottery_corner.inc30
-rw-r--r--data/text/mart_clerk.inc10
-rw-r--r--data/text/match_call.inc223
-rw-r--r--data/text/mauville_man.inc63
-rw-r--r--data/text/mevent.inc43
-rw-r--r--data/text/move_tutors.inc237
-rw-r--r--data/text/obtain_item.inc31
-rw-r--r--data/text/pc.inc17
-rw-r--r--data/text/pc_transfer.inc31
-rw-r--r--data/text/pkmn_center_nurse.inc51
-rw-r--r--data/text/pokedex_rating.inc8
-rw-r--r--data/text/record_mix.inc6
-rw-r--r--data/text/roulette.inc41
-rw-r--r--data/text/save.inc1
-rw-r--r--data/text/secret_base_trainers.inc286
-rw-r--r--data/text/shoal_cave.inc20
-rw-r--r--data/text/trainers.inc2284
-rw-r--r--data/text/trick_house_mechadolls.inc134
-rw-r--r--data/text/tv.inc232
-rw-r--r--data/text_input_strings.s92
-rw-r--r--gflib/bg.c (renamed from src/bg.c)69
-rw-r--r--gflib/bg.h (renamed from include/bg.h)0
-rw-r--r--gflib/blit.c (renamed from src/blit.c)0
-rw-r--r--gflib/blit.h (renamed from include/blit.h)0
-rw-r--r--gflib/dma3.h (renamed from include/dma3.h)0
-rw-r--r--gflib/dma3_manager.c (renamed from src/dma3_manager.c)0
-rw-r--r--gflib/gpu_regs.c (renamed from src/gpu_regs.c)0
-rw-r--r--gflib/gpu_regs.h (renamed from include/gpu_regs.h)0
-rw-r--r--gflib/malloc.c (renamed from src/alloc.c)0
-rw-r--r--gflib/malloc.h (renamed from include/alloc.h)0
-rw-r--r--gflib/sprite.c (renamed from src/sprite.c)43
-rw-r--r--gflib/sprite.h (renamed from include/sprite.h)0
-rw-r--r--gflib/string_util.c (renamed from src/string_util.c)68
-rw-r--r--gflib/string_util.h (renamed from include/string_util.h)0
-rw-r--r--gflib/text.c (renamed from src/text.c)0
-rw-r--r--gflib/text.h (renamed from include/text.h)28
-rw-r--r--gflib/window.c (renamed from src/window.c)2
-rw-r--r--gflib/window.h (renamed from include/window.h)0
-rw-r--r--graphics/battle_anims/sprites/tri_attack_triangle.png (renamed from graphics/battle_anims/sprites/tri_force_triangle.png)bin481 -> 481 bytes
-rw-r--r--graphics/battle_frontier/tourney.pal (renamed from graphics/battle_frontier/options_pal1.pal)0
-rw-r--r--graphics/battle_frontier/tourney_buttons.pal (renamed from graphics/battle_frontier/options_pal2.pal)0
-rw-r--r--graphics/battle_frontier/tourney_buttons.png (renamed from graphics/battle_frontier/options.png)bin576 -> 576 bytes
-rw-r--r--graphics/battle_frontier/tourney_info_card.png (renamed from graphics/battle_frontier/misc1.png)bin1606 -> 1606 bytes
-rw-r--r--graphics/battle_frontier/tourney_info_card_bg.bin (renamed from graphics/unknown/unknown_D84F00.bin)0
-rw-r--r--graphics/battle_frontier/tourney_info_card_tilemap.bin (renamed from graphics/unknown/unknown_D84970.bin)bin8192 -> 8192 bytes
-rw-r--r--graphics/battle_frontier/tourney_line_down_map.bin (renamed from graphics/unknown/unknown_D83B2C.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_frontier/tourney_line_mask_map.bin (renamed from graphics/unknown/unknown_D83900.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_frontier/tourney_line_up_map.bin (renamed from graphics/unknown/unknown_D83C3C.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/battle_frontier/tourney_match_card_bg.pal (renamed from graphics/battle_frontier/options_pal3.pal)0
-rwxr-xr-x[-rw-r--r--]graphics/battle_interface/text.pal (renamed from graphics/battle_frontier/text.pal)0
-rw-r--r--graphics/event_objects/pics/effects/lavaridge_gym_warp.png (renamed from graphics/event_objects/pics/effects/unknown_33.png)bin406 -> 406 bytes
-rw-r--r--graphics/interface/party_menu_bg.bin (renamed from graphics/interface/party_menu_misc.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/interface/party_menu_bg.pal (renamed from graphics/interface/party_menu_misc.pal)0
-rw-r--r--graphics/interface/party_menu_bg.png (renamed from graphics/interface/party_menu_misc.png)bin613 -> 613 bytes
-rw-r--r--graphics/interface/party_menu_cancel_button.bin (renamed from graphics/interface/unknown_6157E0.bin)0
-rw-r--r--graphics/interface/party_menu_confirm_button.bin (renamed from graphics/interface/unknown_6157C4.bin)0
-rw-r--r--graphics/pokemon/farfetchd/anim_front.png (renamed from graphics/pokemon/farfetch_d/anim_front.png)bin1032 -> 1032 bytes
-rw-r--r--graphics/pokemon/farfetchd/back.png (renamed from graphics/pokemon/farfetch_d/back.png)bin696 -> 696 bytes
-rw-r--r--graphics/pokemon/farfetchd/footprint.png (renamed from graphics/pokemon/farfetch_d/footprint.png)bin99 -> 99 bytes
-rw-r--r--graphics/pokemon/farfetchd/front.png (renamed from graphics/pokemon/farfetch_d/front.png)bin733 -> 733 bytes
-rw-r--r--graphics/pokemon/farfetchd/icon.png (renamed from graphics/pokemon/farfetch_d/icon.png)bin396 -> 396 bytes
-rw-r--r--graphics/pokemon/farfetchd/normal.pal (renamed from graphics/pokemon/farfetch_d/normal.pal)0
-rw-r--r--graphics/pokemon/farfetchd/shiny.pal (renamed from graphics/pokemon/farfetch_d/shiny.pal)0
-rw-r--r--graphics/trade/menu_mon_box.bin (renamed from graphics/unknown/unknown_DDD704.bin)bin36 -> 36 bytes
-rw-r--r--graphics/trade/pokeball.png (renamed from graphics/trade/ball.png)bin464 -> 464 bytes
-rw-r--r--graphics/trade/unknown_DDB444.pal (renamed from graphics/unknown/unknown_DDB444.pal)0
-rw-r--r--graphics/trade/unknown_DDCF04.bin (renamed from graphics/unknown/unknown_DDCF04.bin)bin2048 -> 2048 bytes
-rw-r--r--graphics/weather/fog_diagonal.png (renamed from graphics/weather/fog2.png)bin928 -> 928 bytes
-rw-r--r--graphics/weather/fog_horizontal.png (renamed from graphics/weather/fog1.png)bin1018 -> 1018 bytes
-rw-r--r--graphics_file_rules.mk2
-rw-r--r--include/apprentice.h8
-rw-r--r--include/battle.h15
-rw-r--r--include/battle_anim.h104
-rw-r--r--include/battle_bg.h4
-rw-r--r--include/battle_controllers.h14
-rw-r--r--include/battle_dome.h4
-rw-r--r--include/battle_main.h6
-rw-r--r--include/battle_message.h4
-rw-r--r--include/battle_pyramid.h2
-rw-r--r--include/battle_pyramid_bag.h12
-rw-r--r--include/battle_setup.h1
-rw-r--r--include/battle_tower.h24
-rw-r--r--include/battle_util.h2
-rw-r--r--include/battle_util2.h2
-rw-r--r--include/berry.h33
-rw-r--r--include/coins.h4
-rw-r--r--include/constants/apprentice.h102
-rw-r--r--include/constants/battle_anim.h2
-rw-r--r--include/constants/battle_arena.h20
-rw-r--r--include/constants/battle_dome.h163
-rw-r--r--include/constants/battle_factory.h37
-rw-r--r--include/constants/battle_frontier.h94
-rw-r--r--include/constants/battle_frontier_mons.h899
-rw-r--r--include/constants/battle_frontier_trainers.h309
-rw-r--r--include/constants/battle_palace.h19
-rw-r--r--include/constants/battle_pike.h72
-rw-r--r--include/constants/battle_pyramid.h61
-rw-r--r--include/constants/battle_script_commands.h79
-rw-r--r--include/constants/battle_setup.h2
-rw-r--r--include/constants/battle_tent.h32
-rw-r--r--include/constants/battle_tent_mons.h173
-rw-r--r--include/constants/battle_tent_trainers.h99
-rw-r--r--include/constants/battle_tower.h41
-rw-r--r--include/constants/berry.h28
-rw-r--r--include/constants/cable_club.h15
-rw-r--r--include/constants/coins.h6
-rw-r--r--include/constants/contest.h19
-rw-r--r--include/constants/daycare.h27
-rw-r--r--include/constants/easy_chat.h9
-rwxr-xr-xinclude/constants/event_object_movement_constants.h4
-rw-r--r--include/constants/field_poison.h12
-rw-r--r--include/constants/field_specials.h78
-rw-r--r--include/constants/field_tasks.h13
-rw-r--r--include/constants/field_weather.h24
-rw-r--r--include/constants/flags.h430
-rw-r--r--include/constants/frontier_util.h75
-rw-r--r--include/constants/global.h34
-rw-r--r--include/constants/item.h20
-rw-r--r--include/constants/item_effects.h4
-rw-r--r--include/constants/items.h23
-rwxr-xr-xinclude/constants/layouts.h30
-rwxr-xr-xinclude/constants/map_groups.h202
-rw-r--r--include/constants/mauville_man.h10
-rw-r--r--include/constants/mauville_old_man.h12
-rwxr-xr-xinclude/constants/metatile_behaviors.h2
-rw-r--r--include/constants/metatile_labels.h250
-rw-r--r--include/constants/mevent.h15
-rw-r--r--include/constants/opponents.h1716
-rw-r--r--include/constants/party_menu.h132
-rw-r--r--include/constants/pokemon.h335
-rw-r--r--include/constants/script_menu.h168
-rw-r--r--include/constants/trade.h116
-rw-r--r--include/constants/trainer_hill.h61
-rw-r--r--include/constants/trainers.h86
-rw-r--r--include/constants/tv.h137
-rw-r--r--include/constants/union_room.h28
-rw-r--r--include/constants/vars.h92
-rw-r--r--include/constants/weather.h104
-rw-r--r--include/contest.h28
-rw-r--r--include/contest_link_80F57C4.h8
-rw-r--r--include/contest_painting.h11
-rwxr-xr-xinclude/contest_painting_effects.h28
-rw-r--r--include/data.h4
-rw-r--r--include/daycare.h8
-rw-r--r--include/dodrio_berry_picking.h4
-rw-r--r--include/easy_chat.h8
-rw-r--r--include/egg_hatch.h4
-rw-r--r--include/event_data.h4
-rw-r--r--include/event_scripts.h409
-rw-r--r--include/field_effect.h14
-rw-r--r--include/field_player_avatar.h3
-rw-r--r--include/field_poison.h8
-rw-r--r--include/field_screen_effect.h58
-rw-r--r--include/field_special_scene.h2
-rw-r--r--include/field_specials.h34
-rw-r--r--include/field_weather.h99
-rw-r--r--include/fieldmap.h2
-rw-r--r--include/fldeff.h4
-rw-r--r--include/fldeff_misc.h2
-rw-r--r--include/frontier_util.h12
-rw-r--r--include/global.fieldmap.h55
-rw-r--r--include/global.h253
-rw-r--r--include/global.tv.h50
-rw-r--r--include/graphics.h220
-rw-r--r--include/gym_leader_rematch.h14
-rw-r--r--include/hall_of_fame.h2
-rwxr-xr-xinclude/image_processing_effects.h53
-rw-r--r--include/item.h21
-rw-r--r--include/item_menu.h14
-rw-r--r--include/item_use.h30
-rw-r--r--include/librfu.h10
-rw-r--r--include/link.h71
-rw-r--r--include/link_rfu.h6
-rw-r--r--include/match_call.h2
-rw-r--r--include/mauville_old_man.h10
-rw-r--r--include/menu.h6
-rw-r--r--include/menu_helpers.h7
-rw-r--r--include/metatile_behavior.h2
-rw-r--r--include/mon_markings.h6
-rw-r--r--include/mossdeep_gym.h9
-rw-r--r--include/naming_screen.h16
-rw-r--r--include/overworld.h2
-rw-r--r--include/party_menu.h144
-rw-r--r--include/pokeball.h2
-rw-r--r--include/pokemon.h194
-rw-r--r--include/pokemon_icon.h6
-rw-r--r--include/pokemon_jump.h6
-rw-r--r--include/pokemon_storage_system.h2
-rwxr-xr-xinclude/pokemon_summary_screen.h3
-rw-r--r--include/pokenav.h156
-rw-r--r--include/region_map.h2
-rw-r--r--include/rotating_tile_puzzle.h9
-rw-r--r--include/save.h21
-rw-r--r--include/save_location.h7
-rw-r--r--include/script.h2
-rw-r--r--include/script_menu.h24
-rw-r--r--include/script_movement.h6
-rw-r--r--include/script_pokemon_81B9.h6
-rw-r--r--include/script_pokemon_util_80F87D8.h2
-rw-r--r--include/secret_base.h10
-rw-r--r--include/slot_machine.h1
-rw-r--r--include/start_menu.h6
-rw-r--r--include/strings.h2233
-rw-r--r--include/task.h3
-rw-r--r--include/trade.h27
-rw-r--r--include/trainer_hill.h21
-rw-r--r--include/trainer_see.h8
-rw-r--r--include/tv.h30
-rw-r--r--include/union_room.h6
-rwxr-xr-xinclude/union_room_chat.h11
-rw-r--r--ld_script.txt59
-rw-r--r--ld_script_modern.txt7
-rw-r--r--libagbsyscall/Makefile98
-rw-r--r--libagbsyscall/libagbsyscall.s432
-rw-r--r--sound/direct_sound_data.inc40
-rw-r--r--sound/direct_sound_samples/classical_choir_voice_ahhs.aif (renamed from sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif)bin5903 -> 5903 bytes
-rw-r--r--sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif (renamed from sound/direct_sound_samples/sc88_standard_cymbal_crash.aif)bin3979 -> 3979 bytes
-rw-r--r--sound/direct_sound_samples/sc88_orchestra_snare.aif (renamed from sound/direct_sound_samples/sc88_standard_snare2.aif)bin2231 -> 2231 bytes
-rw-r--r--sound/direct_sound_samples/sc88_square_wave.aif (renamed from sound/direct_sound_samples/unused_sc88_square.aif)bin7286 -> 7286 bytes
-rw-r--r--sound/direct_sound_samples/sc88_standard3_snare.aif (renamed from sound/direct_sound_samples/sc88_standard_snare1.aif)bin1844 -> 1844 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif (renamed from sound/direct_sound_samples/unknown_e_piano_high.aif)bin5130 -> 5130 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif (renamed from sound/direct_sound_samples/unknown_e_piano_low.aif)bin9929 -> 9929 bytes
-rw-r--r--sound/direct_sound_samples/sd90_special_scream_drive.aif (renamed from sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif)bin6298 -> 6298 bytes
-rw-r--r--sound/direct_sound_samples/trinity_cymbal_crash.aif (renamed from sound/direct_sound_samples/unknown_cymbal_crash.aif)bin2372 -> 2372 bytes
-rw-r--r--sound/direct_sound_samples/unknown_female_voice.aif (renamed from sound/direct_sound_samples/unused_unknown_female_voice.aif)bin5797 -> 5797 bytes
-rw-r--r--sound/songs/midi/mus_battle20.midbin15959 -> 15995 bytes
-rw-r--r--sound/songs/midi/mus_battle32.midbin13549 -> 13585 bytes
-rw-r--r--sound/songs/midi/mus_fanfa5.midbin1070 -> 1079 bytes
-rw-r--r--sound/songs/midi/mus_me_b_big.midbin1330 -> 1362 bytes
-rw-r--r--sound/songs/midi/mus_me_b_small.midbin783 -> 815 bytes
-rw-r--r--sound/songs/midi/mus_me_bachi.midbin1690 -> 1722 bytes
-rw-r--r--sound/songs/midi/mus_me_kinomi.midbin484 -> 508 bytes
-rw-r--r--sound/songs/midi/mus_me_shinka.midbin234 -> 254 bytes
-rw-r--r--sound/songs/midi/mus_me_waza.midbin973 -> 1005 bytes
-rw-r--r--sound/songs/midi/mus_p_school.midbin3106 -> 3126 bytes
-rw-r--r--sound/songs/midi/mus_shinka.midbin6474 -> 6506 bytes
-rw-r--r--sound/voice_groups.inc254
-rw-r--r--spritesheet_rules.mk2
-rw-r--r--src/anim_mon_front_pics.c2
-rw-r--r--src/apprentice.c1873
-rw-r--r--src/battle_ai_script_commands.c614
-rw-r--r--src/battle_ai_switch_items.c8
-rw-r--r--src/battle_anim.c152
-rw-r--r--src/battle_anim_effects_1.c1528
-rwxr-xr-xsrc/battle_anim_effects_2.c950
-rwxr-xr-xsrc/battle_anim_effects_3.c622
-rw-r--r--src/battle_anim_mons.c30
-rwxr-xr-xsrc/battle_anim_special.c32
-rw-r--r--src/battle_anim_status_effects.c60
-rw-r--r--src/battle_anim_utility_funcs.c10
-rw-r--r--src/battle_arena.c110
-rw-r--r--src/battle_bg.c135
-rw-r--r--src/battle_controller_link_opponent.c6
-rw-r--r--src/battle_controller_link_partner.c6
-rw-r--r--src/battle_controller_opponent.c4
-rw-r--r--src/battle_controller_player.c36
-rw-r--r--src/battle_controller_player_partner.c6
-rw-r--r--src/battle_controller_recorded_opponent.c4
-rw-r--r--src/battle_controller_recorded_player.c6
-rw-r--r--src/battle_controller_wally.c4
-rw-r--r--src/battle_controllers.c50
-rw-r--r--src/battle_dome.c5276
-rw-r--r--src/battle_factory.c161
-rw-r--r--src/battle_factory_screen.c106
-rw-r--r--src/battle_gfx_sfx_util.c8
-rw-r--r--src/battle_interface.c607
-rw-r--r--src/battle_main.c153
-rw-r--r--src/battle_message.c18
-rw-r--r--src/battle_palace.c150
-rw-r--r--src/battle_pike.c365
-rw-r--r--src/battle_pyramid.c446
-rw-r--r--src/battle_pyramid_bag.c67
-rw-r--r--src/battle_records.c2
-rw-r--r--src/battle_script_commands.c1913
-rw-r--r--src/battle_setup.c111
-rw-r--r--src/battle_tent.c280
-rw-r--r--src/battle_tower.c1577
-rw-r--r--src/battle_transition.c31
-rw-r--r--src/battle_util.c30
-rw-r--r--src/battle_util2.c14
-rw-r--r--src/berry.c1
-rw-r--r--src/berry_blender.c47
-rwxr-xr-xsrc/berry_crush.c2664
-rw-r--r--src/berry_fix_program.c56
-rw-r--r--src/berry_tag_screen.c17
-rw-r--r--src/bike.c99
-rw-r--r--src/birch_pc.c8
-rw-r--r--src/bug.c18
-rw-r--r--src/cable_car.c10
-rw-r--r--src/cable_club.c147
-rw-r--r--src/clock.c2
-rw-r--r--src/coins.c7
-rw-r--r--src/contest.c202
-rw-r--r--src/contest_link_80F57C4.c150
-rw-r--r--src/contest_painting.c197
-rw-r--r--src/contest_painting_effects.c1365
-rw-r--r--src/coord_event_weather.c50
-rw-r--r--src/credits.c144
-rw-r--r--src/dark.c10
-rw-r--r--src/data.c2
-rw-r--r--src/data/battle_frontier/apprentice.h982
-rw-r--r--src/data/battle_frontier/battle_frontier_exchange_corner.h99
-rw-r--r--src/data/battle_frontier/battle_frontier_mons.h1766
-rw-r--r--src/data/battle_frontier/battle_frontier_trainer_mons.h20200
-rw-r--r--src/data/battle_frontier/battle_frontier_trainers.h1214
-rw-r--r--src/data/battle_frontier/battle_tent.h2070
-rw-r--r--src/data/battle_frontier/trainer_hill.h133
-rw-r--r--src/data/contest_text_tables.h765
-rw-r--r--src/data/decoration/icon.h245
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics.h2
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics_info_pointers.h14
-rwxr-xr-xsrc/data/field_event_obj/event_object_subsprites.h1530
-rwxr-xr-xsrc/data/field_event_obj/field_effect_object_template_pointers.h4
-rwxr-xr-xsrc/data/field_event_obj/field_effect_objects.h40
-rwxr-xr-xsrc/data/field_event_obj/movement_action_func_tables.h20
-rw-r--r--src/data/graphics/decorations.h168
-rw-r--r--src/data/graphics/pokemon.h12
-rw-r--r--src/data/party_menu.h1255
-rw-r--r--src/data/pokemon/item_effects.h6
-rw-r--r--src/data/pokemon/level_up_learnsets.h1
-rw-r--r--src/data/pokemon/trainer_class_lookups.h4
-rw-r--r--src/data/pokemon/tutor_learnsets.h33
-rw-r--r--src/data/script_menu.h1006
-rw-r--r--src/data/text/match_call_messages.h787
-rw-r--r--src/data/trade.h1214
-rw-r--r--src/data/trainer_parties.h1070
-rw-r--r--src/data/trainers.h594
-rw-r--r--src/data/union_room.h1061
-rwxr-xr-xsrc/data/wild_encounters.json7
-rwxr-xr-xsrc/data/wild_encounters.json.txt14
-rw-r--r--src/daycare.c301
-rw-r--r--src/decompress.c2
-rw-r--r--src/decoration.c185
-rw-r--r--src/dewford_trend.c8
-rw-r--r--src/diploma.c2
-rw-r--r--src/dodrio_berry_picking.c98
-rw-r--r--src/dragon.c12
-rw-r--r--src/easy_chat.c162
-rw-r--r--src/egg_hatch.c56
-rw-r--r--src/electric.c44
-rwxr-xr-xsrc/ereader_helpers.c18
-rwxr-xr-xsrc/ereader_screen.c32
-rw-r--r--src/event_data.c24
-rw-r--r--src/event_obj_lock.c16
-rw-r--r--src/event_object_movement.c257
-rw-r--r--src/evolution_graphics.c26
-rw-r--r--src/evolution_scene.c64
-rw-r--r--src/field_control_avatar.c90
-rw-r--r--src/field_door.c14
-rw-r--r--src/field_effect.c390
-rwxr-xr-xsrc/field_effect_helpers.c6
-rw-r--r--src/field_player_avatar.c131
-rw-r--r--src/field_poison.c20
-rw-r--r--src/field_region_map.c2
-rw-r--r--src/field_screen_effect.c429
-rw-r--r--src/field_special_scene.c85
-rw-r--r--src/field_specials.c2402
-rw-r--r--src/field_tasks.c17
-rw-r--r--src/field_weather.c88
-rw-r--r--src/field_weather_effect.c456
-rw-r--r--src/fieldmap.c4
-rw-r--r--src/fight.c42
-rw-r--r--src/fire.c42
-rw-r--r--src/fldeff_cut.c12
-rw-r--r--src/fldeff_dig.c2
-rw-r--r--src/fldeff_flash.c16
-rw-r--r--src/fldeff_misc.c88
-rw-r--r--src/fldeff_softboiled.c90
-rw-r--r--src/flying.c865
-rw-r--r--src/frontier_pass.c70
-rw-r--r--src/frontier_util.c873
-rw-r--r--src/ghost.c18
-rw-r--r--src/graphics.c67
-rw-r--r--src/ground.c14
-rw-r--r--src/hall_of_fame.c64
-rw-r--r--src/hof_pc.c2
-rw-r--r--src/ice.c42
-rw-r--r--src/image_processing_effects.c1226
-rw-r--r--src/international_string_util.c4
-rw-r--r--src/intro.c116
-rw-r--r--src/intro_credits_graphics.c2
-rw-r--r--src/item.c13
-rw-r--r--src/item_icon.c8
-rwxr-xr-xsrc/item_menu.c141
-rw-r--r--src/item_menu_icons.c32
-rwxr-xr-xsrc/item_use.c589
-rw-r--r--src/libagbsyscall.s116
-rw-r--r--src/link.c61
-rw-r--r--src/link_rfu.c84
-rw-r--r--src/list_menu.c14
-rw-r--r--src/load_save.c2
-rw-r--r--src/mail.c16
-rw-r--r--src/mail_data.c2
-rw-r--r--src/main.c2
-rw-r--r--src/main_menu.c82
-rw-r--r--src/map_name_popup.c2
-rw-r--r--src/match_call.c34
-rw-r--r--src/mauville_old_man.c344
-rw-r--r--src/menu.c58
-rw-r--r--src/menu_helpers.c18
-rw-r--r--src/menu_specialized.c50
-rw-r--r--src/metatile_behavior.c6
-rwxr-xr-xsrc/mevent2.c15
-rw-r--r--src/mevent_801BAAC.c32
-rw-r--r--src/mevent_client.c2
-rw-r--r--src/mevent_news.c1
-rw-r--r--src/mevent_server.c2
-rw-r--r--src/mevent_server_helpers.c2
-rw-r--r--src/mirage_tower.c8
-rw-r--r--src/mon_markings.c32
-rw-r--r--src/money.c6
-rw-r--r--src/mossdeep_gym.c314
-rw-r--r--src/move_relearner.c28
-rw-r--r--src/mystery_event_menu.c2
-rw-r--r--src/mystery_event_script.c2
-rw-r--r--src/mystery_gift.c4
-rw-r--r--src/naming_screen.c342
-rw-r--r--src/new_game.c8
-rw-r--r--src/normal.c20
-rw-r--r--src/option_menu.c53
-rw-r--r--src/overworld.c109
-rwxr-xr-xsrc/party_menu.c5724
-rw-r--r--src/player_pc.c22
-rw-r--r--src/poison.c16
-rw-r--r--src/pokeball.c8
-rw-r--r--src/pokeblock.c20
-rw-r--r--src/pokeblock_feed.c16
-rw-r--r--src/pokedex.c663
-rwxr-xr-xsrc/pokedex_area_screen.c2
-rw-r--r--src/pokedex_cry_screen.c2
-rw-r--r--src/pokemon.c174
-rw-r--r--src/pokemon_animation.c6
-rw-r--r--src/pokemon_icon.c52
-rwxr-xr-xsrc/pokemon_jump.c116
-rw-r--r--src/pokemon_size_record.c4
-rw-r--r--src/pokemon_storage_system.c103
-rw-r--r--src/pokemon_summary_screen.c137
-rw-r--r--src/pokenav.c22
-rw-r--r--src/pokenav_main_menu.c76
-rw-r--r--src/pokenav_match_call_data.c1098
-rw-r--r--src/pokenav_match_call_ui.c57
-rw-r--r--src/pokenav_unk_1.c26
-rw-r--r--src/pokenav_unk_10.c16
-rw-r--r--src/pokenav_unk_2.c59
-rwxr-xr-xsrc/pokenav_unk_3.c296
-rwxr-xr-xsrc/pokenav_unk_4.c824
-rwxr-xr-xsrc/pokenav_unk_5.c14
-rw-r--r--src/pokenav_unk_6.c6
-rw-r--r--src/pokenav_unk_7.c94
-rw-r--r--src/pokenav_unk_8.c28
-rw-r--r--src/pokenav_unk_9.c24
-rw-r--r--src/post_battle_event_funcs.c7
-rw-r--r--src/psychic.c40
-rw-r--r--src/rayquaza_scene.c54
-rw-r--r--src/record_mixing.c106
-rw-r--r--src/recorded_battle.c44
-rw-r--r--src/region_map.c48
-rw-r--r--src/reset_rtc_screen.c18
-rw-r--r--src/reset_save_heap.c6
-rw-r--r--src/rock.c32
-rw-r--r--src/rom_8034C54.c30
-rw-r--r--src/rom_81520A8.c2
-rw-r--r--src/rotating_gate.c4
-rw-r--r--src/rotating_tile_puzzle.c338
-rw-r--r--src/roulette.c62
-rw-r--r--src/safari_zone.c16
-rw-r--r--src/save.c299
-rw-r--r--src/save_failed_screen.c6
-rw-r--r--src/save_location.c10
-rw-r--r--src/scrcmd.c108
-rw-r--r--src/script_menu.c1284
-rw-r--r--src/script_movement.c174
-rwxr-xr-xsrc/script_pokemon_util_80F87D8.c174
-rw-r--r--src/secret_base.c541
-rwxr-xr-xsrc/shop.c21
-rw-r--r--src/slot_machine.c8
-rw-r--r--src/smokescreen.c34
-rw-r--r--src/start_menu.c91
-rw-r--r--src/starter_choose.c68
-rw-r--r--src/strings.c769
-rw-r--r--src/title_screen.c36
-rw-r--r--src/trade.c7031
-rw-r--r--src/trader.c10
-rwxr-xr-xsrc/trainer_card.c104
-rw-r--r--src/trainer_hill.c473
-rw-r--r--src/trainer_pokemon_sprites.c4
-rw-r--r--src/trainer_see.c43
-rw-r--r--src/tv.c547
-rw-r--r--src/union_room.c1498
-rw-r--r--src/union_room_battle.c2
-rwxr-xr-xsrc/union_room_chat.c158
-rw-r--r--src/unk_pokedex_area_screen_helper.c2
-rw-r--r--src/unk_transition.c6
-rw-r--r--src/use_pokeblock.c28
-rw-r--r--src/walda_phrase.c2
-rw-r--r--src/water.c52
-rw-r--r--src/wild_encounter.c33
-rw-r--r--sym_bss.txt12
-rw-r--r--sym_common.txt38
-rw-r--r--sym_ewram.txt10
-rw-r--r--tools/gbafix/gbafix.c2
-rwxr-xr-xtools/jsonproc/inja.hpp275
-rwxr-xr-xtools/jsonproc/jsonproc.cpp20
1553 files changed, 106087 insertions, 112281 deletions
diff --git a/.gitignore b/.gitignore
index 2a1300ab3..93385ea51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,5 @@ build/
.idea/
porymap.project.cfg
.vscode/
+*.a
+.fuse_hidden*
diff --git a/.travis.yml b/.travis.yml
index 1ff0ad2c7..e9964105e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: generic
-dist: trusty
+dist: bionic
sudo: false
env:
global:
diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl
index c5972ae10..1bc8bc74b 100755
--- a/.travis/calcrom/calcrom.pl
+++ b/.travis/calcrom/calcrom.pl
@@ -64,7 +64,7 @@ my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]*\\|sub_[0-9a-fA-F]*'";
# This looks for every symbol with an address at the end of it. Some things are
# given a name based on their type / location, but still have an unknown purpose.
# For example, FooMap_EventScript_FFFFFFF.
-my $partial_doc_cmd = "grep '[0-9a-fA-F]\\{6,7\\}'";
+my $partial_doc_cmd = "grep '_[0-28][0-9a-fA-F]\\{5,6\\}'";
my $count_cmd = "wc -l";
diff --git a/Makefile b/Makefile
index 85d3f6a51..293f86f17 100644
--- a/Makefile
+++ b/Makefile
@@ -43,6 +43,7 @@ ELF = $(ROM:.gba=.elf)
MAP = $(ROM:.gba=.map)
C_SUBDIR = src
+GFLIB_SUBDIR = gflib
ASM_SUBDIR = asm
DATA_SRC_SUBDIR = src/data
DATA_ASM_SUBDIR = data
@@ -50,6 +51,7 @@ SONG_SUBDIR = sound/songs
MID_SUBDIR = sound/songs/midi
C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
+GFLIB_BUILDDIR = $(OBJ_DIR)/$(GFLIB_SUBDIR)
ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR)
DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR)
@@ -73,14 +75,14 @@ OBJ_DIR := build/modern
LIBPATH := -L $(TOOLCHAIN)/lib/gcc/arm-none-eabi/$(GCC_VER)/thumb -L $(TOOLCHAIN)/arm-none-eabi/lib/thumb
endif
-CPPFLAGS := -iquote include -Wno-trigraphs -DMODERN=$(MODERN)
+CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=$(MODERN)
ifeq ($(MODERN),0)
CPPFLAGS += -I tools/agbcc/include -I tools/agbcc
endif
LDFLAGS = -Map ../../$(MAP)
-LIB := $(LIBPATH) -lgcc -lc
+LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
GFX := tools/gbagfx/gbagfx$(EXE)
@@ -109,7 +111,7 @@ MAKEFLAGS += --no-print-directory
# Secondary expansion is required for dependency variables in object rules.
.SECONDEXPANSION:
-.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix
+.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
@@ -125,6 +127,9 @@ C_SRCS_IN := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c)
C_SRCS := $(foreach src,$(C_SRCS_IN),$(if $(findstring .inc.c,$(src)),,$(src)))
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
+GFLIB_SRCS := $(wildcard $(GFLIB_SUBDIR)/*.c)
+GFLIB_OBJS := $(patsubst $(GFLIB_SUBDIR)/%.c,$(GFLIB_BUILDDIR)/%.o,$(GFLIB_SRCS))
+
C_ASM_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s)
C_ASM_OBJS := $(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o,$(C_ASM_SRCS))
@@ -140,7 +145,7 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS))
MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid)
MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS))
-OBJS := $(C_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
+OBJS := $(C_OBJS) $(GFLIB_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
SUBDIRS := $(sort $(dir $(OBJS)))
@@ -156,7 +161,7 @@ tools: $(TOOLDIRS)
$(TOOLDIRS):
@$(MAKE) -C $@ CC=$(HOSTCC) CXX=$(HOSTCXX)
-rom: berry_fix $(ROM)
+rom: $(ROM)
ifeq ($(COMPARE),1)
@$(SHA1) rom.sha1
endif
@@ -178,6 +183,7 @@ mostlyclean: tidy
find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
rm -f $(AUTO_GEN_TARGETS)
@$(MAKE) clean -C berry_fix
+ @$(MAKE) clean -C libagbsyscall
tidy:
rm -f $(ROM) $(ELF) $(MAP)
@@ -230,7 +236,7 @@ endif
ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_dep :=
else
-$(C_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(C_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include $(C_SUBDIR)/$*.c)
+$(C_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(C_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include -I gflib $(C_SUBDIR)/$*.c)
endif
ifeq ($(DINFO),1)
@@ -244,6 +250,18 @@ $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
$(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
ifeq ($(NODEP),1)
+$(GFLIB_BUILDDIR)/%.o: c_dep :=
+else
+$(GFLIB_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(GFLIB_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include -I gflib $(GFLIB_SUBDIR)/$*.c)
+endif
+
+$(GFLIB_BUILDDIR)/%.o : $(GFLIB_SUBDIR)/%.c $$(c_dep)
+ @$(CPP) $(CPPFLAGS) $< -o $(GFLIB_BUILDDIR)/$*.i
+ @$(PREPROC) $(GFLIB_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(GFLIB_BUILDDIR)/$*.s
+ @echo -e ".text\n\t.align\t2, 0\n" >> $(GFLIB_BUILDDIR)/$*.s
+ $(AS) $(ASFLAGS) -o $@ $(GFLIB_BUILDDIR)/$*.s
+
+ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_asm_dep :=
else
$(C_BUILDDIR)/%.o: c_asm_dep = $(shell [[ -f $(C_SUBDIR)/$*.s ]] && $(SCANINC) -I "" $(C_SUBDIR)/$*.s)
@@ -293,7 +311,7 @@ endif
$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS)
cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT) > ld_script.ld
-$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
+$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) berry_fix libagbsyscall
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
$(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
@@ -306,4 +324,7 @@ modern: ; @$(MAKE) MODERN=1
berry_fix/berry_fix.gba: berry_fix
berry_fix:
- @$(MAKE) -C berry_fix COMPARE=$(COMPARE)
+ @$(MAKE) -C berry_fix COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN)
+
+libagbsyscall:
+ @$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN)
diff --git a/README.md b/README.md
index 5d4edab85..2c3447abc 100644
--- a/README.md
+++ b/README.md
@@ -33,4 +33,4 @@ Other disassembly and/or decompilation projects:
## Contacts
-You can find us on [Discord](https://discord.gg/6EuWgX9) and [IRC](https://kiwiirc.com/client/irc.freenode.net/?#pret).
+You can find us on [Discord](https://discord.gg/d5dubZ3) and [IRC](https://kiwiirc.com/client/irc.freenode.net/?#pret).
diff --git a/asm/berry_crush.s b/asm/berry_crush.s
deleted file mode 100755
index 8d44c7269..000000000
--- a/asm/berry_crush.s
+++ /dev/null
@@ -1,5515 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8021A28
-sub_8021A28: @ 8021A28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r0, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsls r3, 24
- movs r0, 0
- str r0, [sp, 0x18]
- movs r1, 0
- str r1, [sp, 0x1C]
- ldr r2, [sp, 0xC]
- adds r2, 0x68
- str r2, [sp, 0x20]
- movs r4, 0xF0
- lsls r4, 24
- adds r3, r4
- lsrs r3, 24
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- bne _08021A68
- adds r0, r3, 0
- subs r0, 0x2A
- lsls r0, 24
- lsrs r3, r0, 24
-_08021A68:
- ldr r2, [sp, 0xC]
- ldrb r1, [r2, 0x9]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- subs r6, r3, r0
- cmp r6, 0
- ble _08021A84
- lsrs r0, r6, 31
- adds r0, r6, r0
- asrs r0, 1
- adds r6, r0, 0
- adds r6, 0x10
- b _08021A86
-_08021A84:
- movs r6, 0x10
-_08021A86:
- movs r5, 0
- ldr r3, [sp, 0xC]
- ldrb r3, [r3, 0x9]
- cmp r5, r3
- bcc _08021A92
- b _08021D14
-_08021A92:
- ldr r4, [sp, 0x10]
- lsls r4, 2
- str r4, [sp, 0x24]
-_08021A98:
- bl DynamicPlaceholderTextUtil_Reset
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- beq _08021B48
- cmp r0, 0x1
- bgt _08021AC0
- cmp r0, 0
- beq _08021ADE
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r1, r6, 24
- mov r10, r1
- ldr r2, [sp, 0x1C]
- adds r2, 0xA2
- mov r9, r2
- ldr r3, [sp, 0x18]
- lsls r3, 5
- mov r8, r3
- b _08021C5A
-_08021AC0:
- ldr r4, [sp, 0x10]
- cmp r4, 0x2
- bne _08021AC8
- b _08021C1C
-_08021AC8:
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA2
- mov r9, r1
- ldr r2, [sp, 0x18]
- lsls r2, 5
- mov r8, r2
- b _08021C5A
-_08021ADE:
- ldr r0, [sp, 0x20]
- adds r0, 0x20
- adds r0, r5
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- lsls r3, r5, 1
- ldr r2, [sp, 0x20]
- adds r2, 0xC
- cmp r5, 0
- beq _08021B04
- adds r0, r2, r3
- subs r1, r5, 0x1
- lsls r1, 1
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08021B04
- str r5, [sp, 0x1C]
-_08021B04:
- ldr r4, [sp, 0x24]
- ldr r1, [sp, 0x10]
- adds r0, r4, r1
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r2, r0
- ldrh r1, [r0]
- ldr r0, =gStringVar4
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082F43B4
- adds r0, r4, r0
- ldr r1, [r0]
- ldr r0, =gStringVar4
- bl StringAppend
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r2, r6, 24
- mov r10, r2
- ldr r3, [sp, 0x1C]
- adds r3, 0xA2
- mov r9, r3
- ldr r0, [sp, 0x18]
- lsls r0, 5
- mov r8, r0
- b _08021C5A
- .pool
-_08021B48:
- ldr r1, [sp, 0x20]
- adds r0, r1, r5
- adds r0, 0x28
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- lsls r3, r5, 1
- adds r2, r1, 0
- adds r2, 0xC
- cmp r5, 0
- beq _08021B72
- adds r0, r3, 0
- adds r0, 0xA
- adds r0, r2, r0
- adds r1, r3, 0
- adds r1, 0x8
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08021B72
- str r5, [sp, 0x1C]
-_08021B72:
- ldr r0, [sp, 0x24]
- ldr r1, [sp, 0x10]
- adds r4, r0, r1
- lsls r4, 1
- adds r4, r3, r4
- adds r4, r2, r4
- ldrh r1, [r4]
- lsrs r1, 4
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r7, 0
- ldrb r0, [r4]
- movs r3, 0xF
- ands r3, r0
- movs r2, 0
- ldr r4, [sp, 0x10]
- lsls r4, 2
- str r4, [sp, 0x28]
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xA2
- mov r9, r1
- ldr r0, [sp, 0x18]
- lsls r0, 5
- mov r8, r0
- adds r6, 0xE
- adds r5, 0x1
- ldr r1, =gUnknown_082F334C
- mov r12, r1
-_08021BB8:
- movs r0, 0x3
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08021BD0
- lsls r0, r2, 2
- add r0, r12
- ldr r0, [r0]
- adds r7, r0
-_08021BD0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _08021BB8
- adds r0, r7, 0
- ldr r1, =0x000f4240
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gStringVar2
- adds r1, r3, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082F43B4
- ldr r2, [sp, 0x28]
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- b _08021C5E
- .pool
-_08021C1C:
- str r5, [sp, 0x18]
- str r5, [sp, 0x1C]
- lsls r7, r5, 5
- ldr r3, [sp, 0xC]
- adds r0, r3, r7
- adds r0, 0xA4
- ldrb r2, [r0]
- cmp r2, 0x2B
- bls _08021C30
- movs r2, 0
-_08021C30:
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, =gBerries
- adds r1, r0
- ldr r0, =gStringVar1
- bl StringCopy
- ldr r0, =gUnknown_082F43B4
- ldr r1, [r0, 0x8]
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- ldr r4, [sp, 0x14]
- subs r4, 0x4
- lsls r0, r6, 24
- mov r10, r0
- movs r1, 0xA2
- adds r1, r5
- mov r9, r1
- mov r8, r7
-_08021C5A:
- adds r6, 0xE
- adds r5, 0x1
-_08021C5E:
- movs r0, 0x2
- ldr r1, =gStringVar4
- adds r2, r4, 0
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldr r3, [sp, 0xC]
- movs r4, 0xDD
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r2, 24
- lsrs r2, 24
- mov r1, r10
- lsrs r3, r1, 24
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x2
- bl AddTextPrinterParameterized3
- ldr r3, [sp, 0x18]
- ldr r2, [sp, 0xC]
- ldrb r2, [r2, 0x8]
- cmp r3, r2
- bne _08021CC0
- ldr r0, =gStringVar3
- ldr r1, =gText_1DotBlueF700
- bl StringCopy
- b _08021CC8
- .pool
-_08021CC0:
- ldr r0, =gStringVar3
- ldr r1, =gText_1DotF700
- bl StringCopy
-_08021CC8:
- ldr r4, =gStringVar3
- mov r3, r9
- strb r3, [r4]
- mov r1, r8
- adds r1, 0x98
- ldr r0, [sp, 0xC]
- adds r1, r0, r1
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r1, [sp, 0xC]
- movs r2, 0xDD
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r4, r10
- lsrs r3, r4, 24
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r2, =gStringVar4
- str r2, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x4
- bl AddTextPrinterParameterized3
- lsls r0, r5, 24
- lsrs r5, r0, 24
- ldr r3, [sp, 0xC]
- ldrb r3, [r3, 0x9]
- cmp r5, r3
- bcs _08021D14
- b _08021A98
-_08021D14:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021A28
-
- thumb_func_start sub_8021D34
-sub_8021D34: @ 8021D34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r8, r0
- movs r0, 0
- mov r10, r0
- movs r6, 0
- movs r1, 0
- str r1, [sp, 0xC]
- mov r2, r8
- adds r2, 0x68
- str r2, [sp, 0x10]
- movs r4, 0xDD
- lsls r4, 1
- add r4, r8
- mov r9, r4
- ldrb r0, [r4]
- movs r1, 0x4
- bl GetWindowAttribute
- lsls r0, 27
- movs r1, 0xD6
- lsls r1, 24
- adds r0, r1
- lsrs r7, r0, 24
- movs r0, 0x9C
- lsls r0, 1
- add r0, r8
- ldr r2, [sp, 0x10]
- ldrh r1, [r2, 0x4]
- bl sub_8021944
- ldrb r0, [r4]
- ldr r4, =gUnknown_082F32D8
- str r4, [sp]
- str r6, [sp, 0x4]
- ldr r1, =gText_TimeColon
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_SpaceSec
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0xB0
- subs r0, r1, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r2, r9
- ldrb r0, [r2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x9F
- lsls r0, 1
- add r0, r8
- movs r4, 0
- ldrsh r1, [r0, r4]
- ldr r0, =gStringVar1
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- movs r1, 0xA0
- lsls r1, 1
- add r1, r8
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r5, =gStringVar4
- ldr r1, =gText_XDotY2
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_SpaceMin
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, =gStringVar1
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_StrVar1
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- ldr r4, =gUnknown_082F32D8
- str r4, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- ldr r1, =gText_PressingSpeed
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, =gText_TimesPerSec
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r2, 0xB0
- subs r0, r2, r0
- lsls r0, 24
- str r0, [sp, 0x18]
- lsrs r6, r0, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- mov r4, r8
- ldrb r2, [r4, 0x16]
- ldrh r0, [r4, 0x16]
- mov r12, r0
- movs r1, 0x7
- mov r9, r1
- movs r5, 0x1
- ldr r3, =gUnknown_082F334C
-_08021EEC:
- mov r4, r9
- mov r0, r10
- subs r1, r4, r0
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _08021F0A
- mov r1, r10
- lsls r0, r1, 2
- adds r0, r3
- ldr r0, [r0]
- ldr r4, [sp, 0xC]
- adds r4, r0
- str r4, [sp, 0xC]
-_08021F0A:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0x7
- bls _08021EEC
- ldr r0, =gStringVar1
- mov r2, r12
- lsrs r1, r2, 8
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- ldr r1, =0x000f4240
- ldr r0, [sp, 0xC]
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_XDotY3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- adds r1, r4, 0
- bl GetStringWidth
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08021FC4
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, =gUnknown_082F32E7
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- b _08021FDE
- .pool
-_08021FC4:
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
-_08021FDE:
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0xDD
- lsls r4, 1
- add r8, r4
- mov r1, r8
- ldrb r0, [r1]
- ldr r2, =gUnknown_082F32D8
- mov r9, r2
- str r2, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- ldr r1, =gText_Silkiness
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r0, =gStringVar1
- ldr r4, [sp, 0x10]
- ldrh r1, [r4, 0x8]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_Var1Percent
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- adds r1, r4, 0
- bl GetStringWidth
- movs r1, 0xB0
- subs r1, r0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r1, r8
- ldrb r0, [r1]
- mov r2, r9
- str r2, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8021D34
-
- thumb_func_start sub_8022070
-sub_8022070: @ 8022070
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r0, r6, 0
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _08022084
- b _08022218
-_08022084:
- lsls r0, 2
- ldr r1, =_08022094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08022094:
- .4byte _080220AC
- .4byte _080220F8
- .4byte _0802210C
- .4byte _08022130
- .4byte _080221F8
- .4byte _08022200
-_080220AC:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- bl sub_8022554
- ldrh r0, [r4, 0x12]
- lsls r0, 3
- ldr r2, =gUnknown_082F32CC
- mov r1, sp
- adds r0, r2
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- ldrh r0, [r4, 0x12]
- cmp r0, 0xD
- bne _080220DC
- ldr r0, =gUnknown_082F3344
- adds r0, 0x4
- b _080220DE
- .pool
-_080220DC:
- ldr r0, =gUnknown_082F3344
-_080220DE:
- adds r0, r5, r0
- ldrb r1, [r0]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r0, sp
- bl AddWindow
- adds r1, r6, 0
- adds r1, 0x82
- strb r0, [r1]
- b _08022218
- .pool
-_080220F8:
- adds r4, r6, 0
- adds r4, 0x82
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- b _08022218
-_0802210C:
- adds r5, r6, 0
- adds r5, 0x82
- ldrb r0, [r5]
- ldr r4, =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _08022218
- .pool
-_08022130:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x12]
- cmp r0, 0xC
- beq _08022184
- cmp r0, 0xC
- bgt _08022148
- cmp r0, 0xB
- beq _0802214E
- b _08022218
-_08022148:
- cmp r0, 0xD
- beq _080221C8
- b _08022218
-_0802214E:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, =gText_PressesRankings
- movs r1, 0x14
- movs r2, 0x3
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xA0
- bl sub_8021A28
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _08022220
- .pool
-_08022184:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r2, =gUnknown_082F43B4
- adds r1, r4, 0
- adds r1, 0x8F
- ldrb r1, [r1]
- adds r1, 0x3
- lsls r1, 2
- adds r1, r2
- ldr r3, [r1]
- movs r1, 0x14
- movs r2, 0x4
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xA0
- bl sub_8021A28
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _08022220
- .pool
-_080221C8:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, =gText_CrushingResults
- movs r1, 0x16
- movs r2, 0x3
- bl sub_80219C8
- ldr r0, =gUnknown_082F3344
- adds r0, 0x4
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 27
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xB0
- bl sub_8021A28
- b _08022218
- .pool
-_080221F8:
- adds r0, r4, 0
- bl sub_8021D34
- b _08022218
-_08022200:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _08022224
-_08022218:
- adds r1, r6, 0
- adds r1, 0x80
- ldrb r0, [r1]
- adds r0, 0x1
-_08022220:
- strb r0, [r1]
- movs r0, 0
-_08022224:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8022070
-
- thumb_func_start sub_802222C
-sub_802222C: @ 802222C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xDD
- lsls r0, 1
- adds r5, r4, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r5]
- bl RemoveWindow
- adds r0, r4, 0
- bl sub_8022600
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802222C
-
- thumb_func_start sub_8022250
-sub_8022250: @ 8022250
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r9, r0
- movs r1, 0
- str r1, [sp, 0xC]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- beq _080222D0
- cmp r0, 0x1
- bgt _08022288
- cmp r0, 0
- beq _08022296
- b _080224BA
- .pool
-_08022288:
- cmp r0, 0x2
- bne _0802228E
- b _08022480
-_0802228E:
- cmp r0, 0x3
- bne _08022294
- b _08022494
-_08022294:
- b _080224BA
-_08022296:
- ldr r0, =gUnknown_082F32EC
- bl AddWindow
- strh r0, [r6, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- ldrb r0, [r6, 0x2]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0x2]
- ldr r4, =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx_
- ldrb r0, [r6, 0x2]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _080224BA
- .pool
-_080222D0:
- ldr r0, =gText_BerryCrush2
- mov r10, r0
- movs r1, 0x1
- negs r1, r1
- mov r8, r1
- movs r0, 0x1
- mov r1, r10
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- movs r4, 0x60
- subs r0, r4, r0
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x2]
- ldr r5, =gUnknown_082F32E1
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- ldr r0, =gText_PressingSpeedRankings
- mov r10, r0
- movs r0, 0x1
- mov r1, r10
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- subs r4, r0
- lsls r4, 24
- lsrs r7, r4, 24
- ldrb r0, [r6, 0x2]
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- movs r3, 0x11
- bl AddTextPrinterParameterized3
- movs r0, 0x29
- mov r10, r0
-_08022336:
- mov r1, r9
- adds r1, 0x2
- ldr r0, =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar4
- ldr r1, =gText_Var1Players
- bl StringExpandPlaceholders
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- movs r0, 0x1
- ldr r1, =gText_TimesPerSec
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0xC0
- subs r1, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gText_TimesPerSec
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- movs r2, 0
- mov r0, r9
- lsls r4, r0, 1
- mov r1, r10
- adds r1, 0x10
- str r1, [sp, 0x10]
- movs r0, 0x1
- add r9, r0
- adds r0, r4, r6
- ldrb r3, [r0, 0x4]
- movs r1, 0x7
- mov r12, r1
- movs r0, 0x1
- mov r8, r0
- ldr r5, =gUnknown_082F334C
-_080223AE:
- mov r0, r12
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _080223CA
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- ldr r1, [sp, 0xC]
- adds r1, r0
- str r1, [sp, 0xC]
-_080223CA:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _080223AE
- adds r0, r4, r6
- ldrh r1, [r0, 0x4]
- lsrs r1, 8
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, [sp, 0xC]
- ldr r1, =0x000f4240
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, =gStringVar2
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar4
- ldr r1, =gText_XDotY3
- bl StringExpandPlaceholders
- movs r0, 0x1
- ldr r1, =gStringVar4
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- subs r0, r7, r0
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x2]
- ldr r1, =gUnknown_082F32D8
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- mov r3, r10
- bl AddTextPrinterParameterized3
- ldr r1, [sp, 0x10]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- str r0, [sp, 0xC]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0x3
- bhi _08022444
- b _08022336
-_08022444:
- ldrb r0, [r6, 0x2]
- movs r1, 0x3
- bl CopyWindowToVram
- b _080224BA
- .pool
-_08022480:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080224BA
- b _080224C0
- .pool
-_08022494:
- ldrb r0, [r6, 0x2]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r6, 0x2]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- bl ScriptContext2_Disable
- mov r0, r9
- b _080224BE
-_080224BA:
- ldrh r0, [r6]
- adds r0, 0x1
-_080224BE:
- strh r0, [r6]
-_080224C0:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022250
-
- thumb_func_start sub_80224D0
-sub_80224D0: @ 80224D0
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, =sub_8022250
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r3, 0xF6
- lsls r3, 1
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x12]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80224D0
-
- thumb_func_start sub_8022524
-sub_8022524: @ 8022524
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_8021944
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl sub_8035044
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- bl sub_8035044
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- bl sub_8035044
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022524
-
- thumb_func_start sub_8022554
-sub_8022554: @ 8022554
- push {lr}
- ldr r2, [r0, 0x78]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2]
- ldr r1, [r0, 0x7C]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_803547C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_803547C
- movs r0, 0
- movs r1, 0x1
- bl sub_803547C
- pop {r0}
- bx r0
- thumb_func_end sub_8022554
-
- thumb_func_start sub_8022588
-sub_8022588: @ 8022588
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r6, 0
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcs _080225E8
- ldr r7, =gUnknown_082F417C
-_08022596:
- lsls r0, r6, 2
- movs r1, 0xA2
- lsls r1, 1
- adds r2, r5, r1
- adds r2, r0
- ldrb r1, [r5, 0x9]
- subs r1, 0x2
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r6, r0
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, =gUnknown_082F4190
- adds r0, r1
- str r0, [r2]
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, =gUnknown_082F32F4
- adds r0, r1
- bl AddWindow
- ldr r1, =0x000001bb
- adds r4, r5, r1
- adds r4, r6
- strb r0, [r4]
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcc _08022596
-_080225E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022588
-
- thumb_func_start sub_8022600
-sub_8022600: @ 8022600
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- movs r7, 0
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcs _080226B6
- movs r1, 0
- mov r8, r1
-_08022616:
- ldr r1, =0x000001bb
- adds r0, r6, r1
- adds r5, r0, r7
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x8]
- cmp r7, r0
- bne _08022668
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_082F32DB
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- b _0802269C
- .pool
-_08022668:
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_082F32DE
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
-_0802269C:
- ldr r1, =0x000001bb
- adds r0, r6, r1
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcc _08022616
-_080226B6:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022600
-
- thumb_func_start sub_80226D0
-sub_80226D0: @ 80226D0
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r5, 0
- ldr r0, =gUnknown_08DE3FD4
- ldr r4, =gDecompressionBuffer
- adds r1, r4, 0
- bl LZ77UnCompWram
- b _0802271A
- .pool
-_080226EC:
- lsls r1, r5, 2
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- adds r0, r1
- ldr r3, [r0]
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- ldrb r2, [r3, 0x1]
- ldrb r3, [r3, 0x2]
- movs r0, 0xA
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x3
- bl CopyToBgTilemapBufferRect
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0802271A:
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080226EC
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80226D0
-
- thumb_func_start sub_8022730
-sub_8022730: @ 8022730
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r0, =0x0000ff98
- strh r0, [r6, 0x2A]
- strh r5, [r6, 0x2C]
- ldr r1, =gSpriteCoordOffsetX
- strh r5, [r1]
- ldr r1, =gSpriteCoordOffsetY
- strh r0, [r1]
- ldr r4, =gUnknown_082F41F4
-_08022746:
- lsls r0, r5, 3
- adds r0, r4
- bl LoadCompressedSpriteSheet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08022746
- ldr r0, =gUnknown_082F421C
- bl LoadSpritePalettes
- ldr r0, =gUnknown_082F430C
- movs r1, 0x78
- movs r2, 0x58
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAC
- lsls r0, 1
- adds r3, r6, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1]
- movs r5, 0
- ldrb r1, [r6, 0x9]
- cmp r5, r1
- bcs _08022822
- movs r7, 0x4
-_080227AA:
- lsls r4, r5, 2
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r6, r3
- adds r0, r4
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- adds r1, 0x78
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r0, 0x6]
- adds r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_082F4324
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAE
- lsls r0, 1
- adds r3, r6, r0
- adds r3, r4
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r3]
- ldrb r0, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r0, r2
- orrs r0, r7
- strb r0, [r1, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _080227AA
-_08022822:
- movs r5, 0
- ldr r4, =gUnknown_082F41CC+6
- adds r7, r4, 0x1
-_08022828:
- lsls r2, r5, 1
- adds r0, r2, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r1, 0x78
- adds r2, r7
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- adds r2, 0x88
- ldr r0, =gUnknown_082F433C
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r1, 0xC2
- lsls r1, 1
- adds r3, r6, r1
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08022828
- movs r5, 0
-_0802288E:
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 19
- movs r3, 0xB0
- lsls r3, 16
- adds r1, r3
- asrs r1, 16
- ldr r0, =gUnknown_082F4354
- movs r2, 0x8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r4, 0xD8
- lsls r4, 1
- adds r3, r6, r4
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- adds r4, 0x8
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r3, 0x41
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0802288E
- ldr r4, =gUnknown_082F4384
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_8034D14
- adds r2, r4, 0
- adds r2, 0x10
- movs r0, 0x1
- movs r1, 0
- bl sub_8034D14
- adds r4, 0x20
- movs r0, 0x2
- movs r1, 0
- adds r2, r4, 0
- bl sub_8034D14
- ldrh r0, [r6, 0x12]
- cmp r0, 0x1
- bne _08022928
- movs r4, 0x9C
- lsls r4, 1
- adds r0, r6, r4
- bl sub_8022554
-_08022928:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022730
-
- thumb_func_start sub_8022960
-sub_8022960: @ 8022960
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- movs r0, 0x3
- bl FreeSpriteTilesByTag
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r0, 0x4
- bl FreeSpritePaletteByTag
- movs r0, 0x2
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r0, 0xD8
- lsls r0, 1
- adds r6, r5, r0
-_08022996:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _08022996
- movs r0, 0x2
- bl sub_80353DC
- movs r0, 0x1
- bl sub_80353DC
- movs r0, 0
- bl sub_80353DC
- movs r4, 0
- movs r1, 0xC2
- lsls r1, 1
- adds r6, r5, r1
-_080229C4:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _080229C4
- movs r4, 0
- ldrb r2, [r5, 0x9]
- cmp r4, r2
- bcs _080229FC
-_080229E0:
- lsls r1, r4, 2
- movs r2, 0xAE
- lsls r2, 1
- adds r0, r5, r2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _080229E0
-_080229FC:
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r5, r1
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08022A18
- adds r0, r2, 0
- bl DestroySprite
-_08022A18:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8022960
-
- thumb_func_start sub_8022A20
-sub_8022A20: @ 8022A20
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08022A46
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
-_08022A46:
- pop {r0}
- bx r0
- thumb_func_end sub_8022A20
-
- thumb_func_start sub_8022A4C
-sub_8022A4C: @ 8022A4C
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r1, 0
- ldr r5, =SpriteCallbackDummy
- adds r2, r3, 0
- adds r2, 0x2E
- movs r4, 0
-_08022A5A:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _08022A5A
- movs r0, 0
- strh r0, [r3, 0x24]
- strh r0, [r3, 0x26]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- str r5, [r3, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022A4C
-
- thumb_func_start sub_8022A94
-sub_8022A94: @ 8022A94
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r5, 0x26]
- adds r0, r2
- strh r0, [r5, 0x26]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r6, 0x80
- lsls r6, 8
- ands r0, r6
- cmp r0, 0
- beq _08022AFA
- ldrh r0, [r4, 0x6]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ands r0, r6
- cmp r0, 0
- beq _08022AFA
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- cmp r0, 0x7E
- ble _08022AFA
- movs r0, 0
- strh r0, [r5, 0x24]
- ldrh r1, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xE]
-_08022AFA:
- ldrh r0, [r4]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r5, 0x20]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r2, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r2
- cmp r1, r0
- ble _08022B1A
- ldr r0, =sub_8022A4C
- str r0, [r5, 0x1C]
-_08022B1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022A94
-
- thumb_func_start sub_8022B28
-sub_8022B28: @ 8022B28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r6, 0
- adds r7, 0x2E
- movs r0, 0
- mov r8, r0
- movs r2, 0xA0
- lsls r2, 2
- strh r2, [r7, 0x2]
- movs r0, 0x20
- strh r0, [r7, 0x4]
- movs r1, 0xA8
- strh r1, [r7, 0xE]
- movs r0, 0x24
- ldrsh r4, [r6, r0]
- lsls r4, 23
- lsrs r4, 16
- ldrh r0, [r6, 0x22]
- subs r1, r0
- lsls r1, 23
- asrs r1, 16
- adds r2, 0x20
- asrs r2, 1
- movs r0, 0x7
- bl sub_81515D4
- adds r5, r0, 0
- ldrh r0, [r6, 0x20]
- lsls r0, 7
- strh r0, [r6, 0x2E]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- movs r0, 0x7
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_81515D4
- strh r0, [r7, 0x6]
- movs r0, 0x7
- adds r1, r5, 0
- movs r2, 0x55
- bl sub_8151550
- adds r2, r0, 0
- mov r1, r8
- strh r1, [r7, 0x8]
- movs r1, 0xFE
- lsls r1, 6
- lsls r2, 16
- asrs r2, 16
- movs r0, 0x7
- bl sub_81515D4
- strh r0, [r7, 0xA]
- movs r2, 0x24
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bge _08022BA6
- adds r0, 0x3
-_08022BA6:
- asrs r0, 2
- strh r0, [r7, 0xC]
- ldrh r0, [r7, 0xE]
- ldr r2, =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r7, 0xE]
- mov r0, r8
- strh r0, [r6, 0x26]
- strh r0, [r6, 0x24]
- ldr r0, =sub_8022A94
- str r0, [r6, 0x1C]
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r2, 0x12
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022B28
-
- thumb_func_start sub_8022BEC
-sub_8022BEC: @ 8022BEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r2, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- mov r8, r4
- bl sub_8020C00
- adds r6, r0, 0
- cmp r5, 0x19
- bls _08022C0A
- movs r5, 0
-_08022C0A:
- cmp r4, 0
- beq _08022C14
- cmp r4, 0x1
- beq _08022C40
- b _08022C4A
-_08022C14:
- cmp r5, 0
- beq _08022C28
- ldr r0, =gUnknown_082F43CC
- lsls r1, r5, 2
- adds r1, r0
- ldr r2, [r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_08022C28:
- ldrb r0, [r6, 0xE]
- cmp r0, 0x19
- bls _08022C32
- mov r0, r8
- strb r0, [r6, 0xE]
-_08022C32:
- ldr r0, =gUnknown_082F43CC
- ldrb r1, [r6, 0xE]
- lsls r1, 2
- b _08022C44
- .pool
-_08022C40:
- ldr r0, =gUnknown_082F43CC
- lsls r1, r5, 2
-_08022C44:
- adds r1, r0
- ldr r0, [r1]
- str r0, [r6, 0x4]
-_08022C4A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8022BEC
-
- thumb_func_start sub_8022C58
-sub_8022C58: @ 8022C58
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- lsls r3, 8
- orrs r2, r3
- ldrb r3, [r1, 0x2]
- lsls r3, 16
- orrs r2, r3
- ldrb r3, [r1, 0x3]
- lsls r3, 24
- adds r0, r2, 0
- orrs r0, r3
- ldrb r2, [r1, 0x9]
- strb r2, [r1]
- ldrb r4, [r1, 0x8]
- lsls r4, 8
- ldrb r2, [r1, 0x7]
- orrs r4, r2
- ldr r5, =gPaletteFade
- ldrb r3, [r5, 0x8]
- movs r2, 0x7F
- ands r2, r3
- strb r2, [r5, 0x8]
- movs r5, 0x4
- ldrsb r5, [r1, r5]
- ldrb r2, [r1, 0x5]
- ldrb r3, [r1, 0x6]
- str r4, [sp]
- adds r1, r5, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- movs r0, 0x2
- strb r0, [r6, 0xE]
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8022C58
-
- thumb_func_start sub_8022CB0
-sub_8022CB0: @ 8022CB0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08022CE4
- cmp r0, 0x1
- bgt _08022CC6
- cmp r0, 0
- beq _08022CD0
- b _08022D06
-_08022CC6:
- cmp r0, 0x2
- beq _08022CEA
- cmp r0, 0x3
- beq _08022CF6
- b _08022D06
-_08022CD0:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08022D0C
- ldrb r0, [r5]
- cmp r0, 0
- bne _08022D06
- movs r0, 0x3
- b _08022D0A
-_08022CE4:
- bl sub_8010434
- b _08022D06
-_08022CEA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _08022D06
- b _08022D0C
-_08022CF6:
- ldrb r0, [r4, 0xF]
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strb r0, [r4, 0xC]
- b _08022D0E
-_08022D06:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_08022D0A:
- strb r0, [r4, 0xC]
-_08022D0C:
- movs r0, 0
-_08022D0E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8022CB0
-
- thumb_func_start sub_8022D14
-sub_8022D14: @ 8022D14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r0, 0
- adds r5, r1, 0
- ldrb r4, [r5, 0x3]
- lsls r4, 8
- ldrb r0, [r5, 0x2]
- orrs r4, r0
- ldrb r6, [r7, 0xC]
- cmp r6, 0x1
- beq _08022DC0
- cmp r6, 0x1
- bgt _08022D38
- cmp r6, 0
- beq _08022D42
- b _08022E08
-_08022D38:
- cmp r6, 0x2
- beq _08022DD8
- cmp r6, 0x3
- beq _08022DE8
- b _08022E08
-_08022D42:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrb r1, [r5, 0x1]
- movs r0, 0x2
- mov r8, r0
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08022D90
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_082F32A4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r3, [r7, 0xB]
- str r6, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- b _08022DB2
- .pool
-_08022D90:
- ldr r1, =gUnknown_082F32A4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldrb r3, [r7, 0xB]
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
-_08022DB2:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _08022E08
- .pool
-_08022DC0:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _08022E0E
- cmp r4, 0
- bne _08022E08
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
- strb r0, [r7, 0xC]
- b _08022E08
-_08022DD8:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- ands r4, r0
- cmp r4, 0
- bne _08022E08
- b _08022E0E
- .pool
-_08022DE8:
- ldrb r1, [r5, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08022DFA
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
-_08022DFA:
- ldrb r0, [r7, 0xE]
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- ldrb r0, [r5, 0x4]
- b _08022E0C
-_08022E08:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_08022E0C:
- strb r0, [r7, 0xC]
-_08022E0E:
- movs r0, 0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8022D14
-
- thumb_func_start sub_8022E1C
-sub_8022E1C: @ 8022E1C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_802104C
- cmp r0, 0
- beq _08022E34
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_8022BEC
-_08022E34:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E1C
-
- thumb_func_start sub_8022E3C
-sub_8022E3C: @ 8022E3C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_802130C
- cmp r0, 0
- beq _08022E54
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_8022BEC
-_08022E54:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E3C
-
- thumb_func_start sub_8022E5C
-sub_8022E5C: @ 8022E5C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _08022E6C
- cmp r0, 0x1
- beq _08022E72
- b _08022E9C
-_08022E6C:
- bl sub_8010434
- b _08022E9C
-_08022E72:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08022EA2
- ldr r0, =0x000001e5
- bl PlayNewMapMusic
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x3
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _08022EA2
- .pool
-_08022E9C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08022EA2:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8022E5C
-
- thumb_func_start sub_8022EAC
-sub_8022EAC: @ 8022EAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _08022EC2
- cmp r0, 0x1
- beq _08022EE8
- adds r0, 0x1
- b _08022EF8
-_08022EC2:
- adds r0, r4, 0
- bl sub_8024578
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8024644
- movs r0, 0x7
- strb r0, [r4, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08022EFA
-_08022EE8:
- movs r0, 0x8
- strb r0, [r4, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0x2
-_08022EF8:
- strb r0, [r4, 0xC]
-_08022EFA:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8022EAC
-
- thumb_func_start sub_8022F04
-sub_8022F04: @ 8022F04
- push {lr}
- movs r1, 0
- str r1, [r0, 0x4]
- ldr r0, =sub_8020E1C
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8022F04
-
- thumb_func_start sub_8022F1C
-sub_8022F1C: @ 8022F1C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r2, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x5
- bls _08022F2C
- b _08023060
-_08022F2C:
- lsls r0, 2
- ldr r1, =_08022F3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08022F3C:
- .4byte _08022F54
- .4byte _08022F74
- .4byte _08022F7A
- .4byte _08022FAA
- .4byte _08022FBA
- .4byte _08023044
-_08022F54:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x9
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023066
-_08022F74:
- bl sub_8010434
- b _08023060
-_08022F7A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023066
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xC
- bl memset
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r0, 0xA4
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _08023060
-_08022FAA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023066
- movs r0, 0
- strh r0, [r5, 0x10]
- b _08023060
-_08022FBA:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r4, [r5, 0x9]
- subs r1, r4, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _08023066
- movs r3, 0
- cmp r3, r4
- bcs _0802301E
- ldr r7, =gBlockRecvBuffer
- movs r6, 0
- ldr r4, =gUnknown_0858AB24
-_08022FDC:
- lsls r0, r3, 5
- adds r0, r5, r0
- lsls r1, r3, 8
- adds r1, r7
- ldrh r1, [r1]
- adds r2, r0, 0
- adds r2, 0xA4
- strh r1, [r2]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xB0
- bls _08022FF6
- strh r6, [r2]
-_08022FF6:
- ldrh r1, [r2]
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x18]
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r5, 0x18]
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x2]
- ldr r0, [r5, 0x1C]
- adds r0, r1
- str r0, [r5, 0x1C]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r3, r0
- bcc _08022FDC
-_0802301E:
- movs r0, 0
- strh r0, [r5, 0x10]
- bl ResetBlockReceivedFlags
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r1, 0x80
- lsls r1, 6
- bl sub_81515FC
- str r0, [r5, 0x20]
- b _08023060
- .pool
-_08023044:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x4
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _08023066
-_08023060:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_08023066:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8022F1C
-
- thumb_func_start sub_8023070
-sub_8023070: @ 8023070
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x6
- bls _0802307C
- b _080231A8
-_0802307C:
- lsls r0, 2
- ldr r1, =_0802308C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0802308C:
- .4byte _080230A8
- .4byte _080230BA
- .4byte _080230E8
- .4byte _08023120
- .4byte _08023150
- .4byte _08023172
- .4byte _08023184
-_080230A8:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_80214A8
- bl sub_8010434
- b _080231A8
-_080230BA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r3, =0x00000139
- adds r1, r4, r3
- strb r0, [r1]
- adds r2, 0x2
- adds r1, r4, r2
- strb r0, [r1]
- adds r3, 0x2
- adds r1, r4, r3
- strb r0, [r1]
- b _080231A8
- .pool
-_080230E8:
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- ldrb r0, [r3]
- lsls r0, 2
- movs r2, 0xB8
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r1, r0
- ldr r2, [r0]
- ldr r0, =sub_8021608
- str r0, [r2, 0x1C]
- ldrb r0, [r3]
- lsls r0, 2
- adds r1, r0
- ldr r1, [r1]
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x3D
- bl PlaySE
- b _080231A8
- .pool
-_08023120:
- movs r3, 0x9C
- lsls r3, 1
- adds r2, r4, r3
- ldrb r0, [r2]
- lsls r0, 2
- adds r3, 0x38
- adds r1, r4, r3
- adds r3, r1, r0
- ldr r0, [r3]
- ldr r1, [r0, 0x1C]
- ldr r0, =sub_8021608
- cmp r1, r0
- beq _080231AE
- movs r0, 0
- str r0, [r3]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- bl sub_8010434
- b _080231A8
- .pool
-_08023150:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- ldrb r0, [r1]
- ldrb r2, [r4, 0x9]
- cmp r0, r2
- bcs _0802316C
- movs r0, 0x2
- b _080231AC
-_0802316C:
- movs r0, 0
- strb r0, [r1]
- b _080231A8
-_08023172:
- movs r3, 0x9C
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- bl sub_80216A8
- bl sub_8010434
- b _080231A8
-_08023184:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080231AE
- movs r0, 0x2B
- bl PlaySE
- movs r0, 0xB
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x5
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _080231AE
-_080231A8:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_080231AC:
- strb r0, [r4, 0xC]
-_080231AE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023070
-
- thumb_func_start sub_80231B8
-sub_80231B8: @ 80231B8
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0xC]
- cmp r1, 0x1
- beq _0802321C
- cmp r1, 0x1
- bgt _080231CC
- cmp r1, 0
- beq _080231D6
- b _080232DC
-_080231CC:
- cmp r1, 0x2
- beq _0802329C
- cmp r1, 0x3
- beq _080232BE
- b _080232DC
-_080231D6:
- ldrh r0, [r4, 0x2A]
- adds r0, 0x4
- strh r0, [r4, 0x2A]
- lsls r0, 16
- cmp r0, 0
- bge _080231E4
- b _080232E2
-_080231E4:
- strh r1, [r4, 0x2A]
- ldr r0, =0x00000139
- adds r3, r4, r0
- movs r0, 0x4
- strb r0, [r3]
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gUnknown_082F326C
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- movs r0, 0xD6
- bl PlaySE
- b _080232DC
- .pool
-_0802321C:
- ldr r7, =gUnknown_082F326C
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _080232E2
- ldrb r0, [r5]
- cmp r0, 0
- beq _080232DC
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _080232E2
- .pool
-_0802329C:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- bl sub_8010434
- b _080232DC
-_080232BE:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080232E2
- movs r0, 0xC
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0x6
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _080232E2
-_080232DC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_080232E2:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80231B8
-
- thumb_func_start sub_80232EC
-sub_80232EC: @ 80232EC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _0802330C
- cmp r0, 0x1
- bgt _08023302
- cmp r0, 0
- beq _08023332
- b _0802338C
-_08023302:
- cmp r0, 0x2
- beq _0802332A
- cmp r0, 0x3
- beq _08023338
- b _0802338C
-_0802330C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023392
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x78
- movs r3, 0x50
- bl sub_802EB24
- b _0802338C
-_0802332A:
- bl sub_802EB84
- cmp r0, 0
- bne _08023392
-_08023332:
- bl sub_8010434
- b _0802338C
-_08023338:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023392
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldr r2, =0x00000139
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- bne _08023378
- movs r0, 0xD
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023382
- .pool
-_08023378:
- movs r0, 0xE
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_08023382:
- movs r1, 0
- movs r0, 0x7
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _08023392
-_0802338C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08023392:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80232EC
-
- thumb_func_start sub_802339C
-sub_802339C: @ 802339C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- movs r0, 0
- mov r8, r0
- movs r2, 0
- adds r7, r2, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _080234AA
- movs r2, 0x5E
- adds r2, r4
- mov r9, r2
- ldr r3, =gUnknown_082F325C
- mov r10, r3
-_080233C0:
- lsls r0, r7, 4
- ldr r1, =gRecvCmds
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r3, 0xBC
- lsls r3, 6
- cmp r0, r3
- bne _0802349E
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- bne _0802349E
- ldrb r1, [r2, 0x4]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08023496
- mov r0, r9
- ldrb r2, [r0]
- lsrs r1, r2, 3
- mov r3, r10
- adds r0, r7, r3
- ldrb r0, [r0]
- orrs r1, r0
- lsls r1, 3
- movs r0, 0x7
- ands r0, r2
- orrs r0, r1
- mov r1, r9
- strb r0, [r1]
- lsls r2, r7, 5
- adds r3, r4, r2
- mov r12, r3
- mov r1, r12
- adds r1, 0xB5
- movs r0, 0x1
- strb r0, [r1]
- subs r1, 0x7
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- subs r1, 0x8
- ldrh r0, [r4, 0x28]
- ldrh r1, [r1]
- subs r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r5, r12
- adds r5, 0xAA
- ldrh r1, [r5]
- subs r0, r1, 0x1
- adds r6, r2, 0
- cmp r3, r0
- blt _08023468
- adds r0, r1, 0x1
- cmp r3, r0
- bgt _08023468
- mov r1, r12
- adds r1, 0xA8
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r3, [r5]
- mov r0, r12
- adds r0, 0xAC
- ldrh r1, [r1]
- ldrh r2, [r0]
- cmp r1, r2
- bls _08023476
- strh r1, [r0]
- b _08023476
- .pool
-_08023468:
- adds r0, r4, r6
- adds r2, r0, 0
- adds r2, 0xA8
- movs r1, 0
- strh r1, [r2]
- adds r0, 0xAA
- strh r3, [r0]
-_08023476:
- adds r1, r4, r6
- ldrh r0, [r4, 0x28]
- adds r3, r1, 0
- adds r3, 0xA6
- movs r2, 0
- strh r0, [r3]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0802349E
- strb r2, [r1]
- b _0802349E
-_08023496:
- lsls r0, r7, 5
- adds r0, r4, r0
- adds r0, 0xB5
- strb r1, [r0]
-_0802349E:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r3, [r4, 0x9]
- cmp r7, r3
- bcc _080233C0
-_080234AA:
- mov r0, r8
- cmp r0, 0x1
- bls _080234E0
- movs r7, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _080234E0
- movs r3, 0x2
-_080234BA:
- lsls r0, r7, 5
- adds r1, r4, r0
- adds r2, r1, 0
- adds r2, 0xB5
- ldrb r0, [r2]
- cmp r0, 0
- beq _080234D4
- orrs r0, r3
- strb r0, [r2]
- adds r1, 0xB0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080234D4:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r2, [r4, 0x9]
- cmp r7, r2
- bcc _080234BA
-_080234E0:
- mov r3, r8
- cmp r3, 0
- beq _08023548
- ldrh r0, [r4, 0x2E]
- add r0, r8
- strh r0, [r4, 0x2E]
- ldr r1, =gUnknown_082F3264
- mov r0, r8
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- add r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r4, 0x34]
- add r0, r8
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x1A]
- add r0, r8
- strh r0, [r4, 0x1A]
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- movs r3, 0x1A
- ldrsh r2, [r4, r3]
- subs r0, r2
- cmp r0, 0
- ble _08023534
- lsls r2, 8
- ldr r1, [r4, 0x20]
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- asrs r2, 8
- adds r0, r4, 0
- adds r0, 0x24
- strb r2, [r0]
- b _08023548
- .pool
-_08023534:
- adds r1, r4, 0
- adds r1, 0x24
- movs r0, 0x20
- strb r0, [r1]
- adds r2, r4, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_08023548:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802339C
-
- thumb_func_start sub_8023558
-sub_8023558: @ 8023558
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r6, 0
- movs r1, 0
- adds r4, r1, 0
- ldrb r0, [r3, 0x9]
- cmp r4, r0
- bcs _080235B0
- adds r5, r3, 0
- adds r5, 0x64
-_0802356C:
- lsls r0, r4, 5
- adds r1, r3, r0
- adds r0, r1, 0
- adds r0, 0xB5
- ldrb r2, [r0]
- cmp r2, 0
- beq _080235A4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r1, 0
- adds r0, 0xB4
- ldrb r0, [r0]
- adds r1, r0, 0x1
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _08023594
- movs r0, 0x4
- orrs r1, r0
-_08023594:
- lsls r0, r4, 1
- adds r0, r4
- lsls r1, r0
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldrh r0, [r5]
- orrs r1, r0
- strh r1, [r5]
-_080235A4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r3, 0x9]
- cmp r4, r1
- bcc _0802356C
-_080235B0:
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r1, [r0]
- adds r0, 0x3C
- strh r1, [r0]
- cmp r6, 0
- bne _080235D4
- ldr r2, =0x0000013b
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080236A0
- movs r4, 0x9C
- lsls r4, 1
- adds r1, r3, r4
- b _08023612
- .pool
-_080235D4:
- ldr r5, =0x0000013b
- adds r2, r3, r5
- ldrb r0, [r2]
- cmp r0, 0
- beq _0802361A
- ldr r0, =0x00000139
- adds r1, r3, r0
- ldrb r2, [r1]
- cmp r6, r2
- beq _0802360C
- subs r0, r6, 0x1
- strb r0, [r1]
- ldr r1, =gUnknown_082F3290
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0x9D
- lsls r4, 1
- adds r1, r3, r4
- strb r0, [r1]
- b _08023640
- .pool
-_0802360C:
- movs r5, 0x9C
- lsls r5, 1
- adds r1, r3, r5
-_08023612:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08023640
-_0802361A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- subs r0, r6, 0x1
- ldr r4, =0x00000139
- adds r1, r3, r4
- strb r0, [r1]
- ldr r1, =gUnknown_082F3290
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r5, 0x9D
- lsls r5, 1
- adds r1, r3, r5
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r2]
-_08023640:
- ldr r0, =0x0000013b
- adds r4, r3, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080236A0
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r3, r2
- movs r5, 0x9D
- lsls r5, 1
- adds r2, r3, r5
- ldrb r0, [r1]
- ldrb r5, [r2]
- cmp r0, r5
- bcc _0802367C
- movs r0, 0
- strb r0, [r1]
- ldr r5, =0x00000139
- adds r1, r3, r5
- strb r0, [r1]
- strb r0, [r2]
- strb r0, [r4]
- movs r1, 0
- b _08023690
- .pool
-_0802367C:
- ldr r2, =gUnknown_082F3290
- ldrb r1, [r1]
- ldr r4, =0x00000139
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, 0x1
- adds r1, r0
- adds r1, r2
- ldrb r1, [r1]
-_08023690:
- adds r0, r3, 0
- adds r0, 0x5F
- strb r1, [r0]
- b _080236A8
- .pool
-_080236A0:
- adds r1, r3, 0
- adds r1, 0x5F
- movs r0, 0
- strb r0, [r1]
-_080236A8:
- ldrh r1, [r3, 0x26]
- adds r0, r3, 0
- adds r0, 0x62
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8023558
-
- thumb_func_start sub_80236B8
-sub_80236B8: @ 80236B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r3, =gMain
- ldrh r1, [r3, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080236DA
- adds r2, r5, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080236DA:
- ldrh r1, [r3, 0x2C]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080236FA
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r1, r0, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r5, 0x28]
- cmp r0, r2
- bcs _080236FA
- adds r0, 0x1
- strh r0, [r1]
-_080236FA:
- ldrb r0, [r5, 0x8]
- adds r7, r5, 0
- adds r7, 0x5E
- cmp r0, 0
- beq _08023710
- ldrb r1, [r7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08023710
- b _0802384C
-_08023710:
- adds r4, r5, 0
- adds r4, 0x5C
- movs r0, 0x2
- strh r0, [r4]
- ldrh r0, [r5, 0x28]
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- mov r8, r4
- adds r6, r5, 0
- adds r6, 0x25
- cmp r0, 0
- bne _08023768
- movs r0, 0x2E
- ldrsh r2, [r5, r0]
- ldr r1, =gUnknown_082F4444
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- ble _08023754
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- ldrb r0, [r6]
- movs r1, 0x10
- orrs r0, r1
- b _0802375C
- .pool
-_08023754:
- ldrb r1, [r6]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
-_0802375C:
- strb r0, [r6]
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
-_08023768:
- ldrh r0, [r5, 0x28]
- movs r1, 0xF
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080237DE
- movs r0, 0x34
- ldrsh r2, [r5, r0]
- ldr r3, =gUnknown_082F4434
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bge _08023798
- ldrb r1, [r6]
- movs r0, 0x1F
- ands r0, r1
- strb r0, [r6]
- b _080237D8
- .pool
-_08023798:
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237AC
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x20
- b _080237D4
-_080237AC:
- adds r0, r3, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237BC
- movs r0, 0x2
- strh r0, [r5, 0x34]
- b _080237D8
-_080237BC:
- adds r0, r3, 0x3
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _080237CC
- movs r0, 0x3
- strh r0, [r5, 0x34]
- b _080237D8
-_080237CC:
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x80
-_080237D4:
- orrs r1, r0
- strb r1, [r6]
-_080237D8:
- movs r0, 0
- strh r0, [r5, 0x34]
- b _0802380A
-_080237DE:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3C
- bls _0802380A
- cmp r0, 0x46
- bls _080237FA
- bl sub_8011AC8
- movs r0, 0
- strh r0, [r5, 0x10]
- b _0802380A
-_080237FA:
- ldrb r0, [r7]
- movs r4, 0xF8
- ands r4, r0
- cmp r4, 0
- bne _0802380A
- bl sub_8011AC8
- strh r4, [r5, 0x10]
-_0802380A:
- ldrh r1, [r5, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _0802381A
- ldrb r0, [r7]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r7]
-_0802381A:
- ldrb r1, [r6]
- lsls r1, 27
- lsrs r1, 31
- lsls r1, 1
- ldrb r2, [r7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7]
- ldrb r0, [r6]
- lsrs r0, 5
- adds r2, r5, 0
- adds r2, 0x66
- strh r0, [r2]
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0xC
- bl memcpy
- adds r0, r4, 0
- bl sub_800FE50
-_0802384C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80236B8
-
- thumb_func_start sub_802385C
-sub_802385C: @ 802385C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r3, =gRecvCmds
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcs _08023880
- movs r1, 0
-_0802386C:
- lsls r0, r4, 5
- adds r0, r5, r0
- adds r0, 0xB5
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _0802386C
-_08023880:
- adds r2, r3, 0
- ldrh r0, [r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08023898
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- beq _080238AC
-_08023898:
- adds r2, r5, 0
- adds r2, 0x25
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _080238EA
- .pool
-_080238AC:
- adds r4, r5, 0
- adds r4, 0x4E
- adds r0, r4, 0
- adds r1, r3, 0
- movs r2, 0xE
- bl memcpy
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x2A]
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- strh r0, [r5, 0x2C]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x28]
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_80216E0
- ldrb r1, [r4, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080238EA
- adds r0, r5, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_080238EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802385C
-
- thumb_func_start sub_80238F0
-sub_80238F0: @ 80238F0
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_802385C
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08023978
- ldrh r1, [r4, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08023964
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _0802396E
- .pool
-_08023964:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_0802396E:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023992
-_08023978:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_802339C
- adds r0, r4, 0
- bl sub_8023558
- adds r0, r4, 0
- bl sub_80236B8
- movs r0, 0
-_08023992:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80238F0
-
- thumb_func_start sub_8023998
-sub_8023998: @ 8023998
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_802385C
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08023A20
- ldrh r1, [r4, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08023A0C
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _08023A16
- .pool
-_08023A0C:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_08023A16:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023A28
-_08023A20:
- adds r0, r4, 0
- bl sub_80236B8
- movs r0, 0
-_08023A28:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023998
-
- thumb_func_start sub_8023A30
-sub_8023A30: @ 8023A30
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x5
- bls _08023A3C
- b _08023BB2
-_08023A3C:
- lsls r0, 2
- ldr r1, =_08023A4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08023A4C:
- .4byte _08023A64
- .4byte _08023A8C
- .4byte _08023ADC
- .4byte _08023B5C
- .4byte _08023B7A
- .4byte _08023B94
-_08023A64:
- movs r0, 0x8
- strh r0, [r4, 0x12]
- movs r0, 0xD6
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x000003ff
- movs r1, 0x8
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- b _08023BB2
- .pool
-_08023A8C:
- movs r1, 0x9C
- lsls r1, 1
- adds r5, r4, r1
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08023AA2
- b _08023BB8
-_08023AA2:
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x000003ff
- movs r1, 0
- bl BlendPalettes
- ldr r2, =0x00000139
- adds r1, r4, r2
- movs r0, 0x4
- strb r0, [r1]
- movs r0, 0
- strb r0, [r5]
- ldr r2, =gUnknown_082F326C
- ldrb r1, [r1]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- b _08023BB2
- .pool
-_08023ADC:
- ldr r7, =gUnknown_082F326C
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _08023BB8
- ldrb r0, [r5]
- cmp r0, 0
- beq _08023BB2
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _08023BB8
- .pool
-_08023B5C:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _08023BB2
-_08023B7A:
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r4, 0
- bl sub_80218D4
- cmp r0, 0
- beq _08023BB8
- bl sub_8010434
- movs r0, 0
- strh r0, [r4, 0x10]
- b _08023BB2
-_08023B94:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023BB8
- movs r0, 0x11
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _08023BBA
-_08023BB2:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_08023BB8:
- movs r0, 0
-_08023BBA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8023A30
-
- thumb_func_start sub_8023BC0
-sub_8023BC0: @ 8023BC0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _08023C04
- cmp r0, 0x1
- bgt _08023BD8
- cmp r0, 0
- beq _08023BE2
- b _08023C9C
-_08023BD8:
- cmp r0, 0x2
- beq _08023C2A
- cmp r0, 0x3
- beq _08023C5C
- b _08023C9C
-_08023BE2:
- movs r0, 0x9
- strh r0, [r5, 0x12]
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x8
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- strb r0, [r1]
- b _08023C9C
-_08023C04:
- movs r0, 0x9C
- lsls r0, 1
- adds r4, r5, r0
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08023CA2
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0
- strb r0, [r4]
- b _08023C9C
-_08023C2A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_80218D4
- cmp r0, 0
- beq _08023CA2
- bl sub_8010434
- movs r0, 0
- strh r0, [r5, 0x10]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _08023C9C
-_08023C5C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08023CA2
- ldr r0, =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0x1
- movs r3, 0
- bl sub_8024644
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strh r4, [r5, 0x10]
- b _08023CA0
- .pool
-_08023C9C:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_08023CA0:
- strb r0, [r5, 0xC]
-_08023CA2:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8023BC0
-
- thumb_func_start sub_8023CAC
-sub_8023CAC: @ 8023CAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r0, 0
- ldrb r0, [r7, 0xC]
- cmp r0, 0x7
- bls _08023CC2
- b _0802402E
-_08023CC2:
- lsls r0, 2
- ldr r1, =_08023CD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08023CD0:
- .4byte _08023CF0
- .4byte _08023D2A
- .4byte _08023D38
- .4byte _08023DA0
- .4byte _08023F20
- .4byte _08023FD0
- .4byte _08023FDC
- .4byte _08024010
-_08023CF0:
- adds r4, r7, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- bl memset
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r2, r0, 0
- adds r2, 0xB2
- ldrh r1, [r7, 0x28]
- ldrh r0, [r2]
- cmp r0, r1
- bls _08023D12
- strh r1, [r2]
-_08023D12:
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r0, 0xB2
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _0802402E
-_08023D2A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _08023D36
- b _08024034
-_08023D36:
- b _08024004
-_08023D38:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r3, [r7, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _08023D50
- b _08024034
-_08023D50:
- movs r0, 0
- mov r8, r0
- adds r4, r7, 0
- adds r4, 0x42
- cmp r8, r3
- bcs _08023D7E
- ldr r2, =gBlockRecvBuffer
-_08023D5E:
- mov r3, r8
- lsls r1, r3, 5
- adds r1, r7, r1
- lsls r0, r3, 8
- adds r0, r2
- ldrh r0, [r0]
- adds r1, 0xB2
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r6, [r7, 0x9]
- cmp r8, r6
- bcc _08023D5E
-_08023D7E:
- movs r0, 0
- strh r0, [r7, 0x10]
- strh r0, [r4]
- bl ResetBlockReceivedFlags
- ldrb r0, [r7, 0x8]
- cmp r0, 0
- bne _08023D9C
- movs r0, 0x3
- b _08024032
- .pool
-_08023D9C:
- movs r0, 0x6
- b _08024032
-_08023DA0:
- adds r0, r7, 0
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldrh r1, [r7, 0x28]
- adds r0, r7, 0
- adds r0, 0x6C
- strh r1, [r0]
- movs r0, 0x18
- ldrsh r4, [r7, r0]
- ldrh r0, [r7, 0x28]
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl __divsi3
- adds r1, r7, 0
- adds r1, 0x6E
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- lsls r0, 8
- movs r4, 0xC8
- lsls r4, 6
- adds r1, r4, 0
- bl sub_8151574
- adds r2, r0, 0
- movs r3, 0x32
- ldrsh r1, [r7, r3]
- lsls r1, 8
- bl sub_81515FC
- adds r2, r0, r4
- asrs r2, 8
- movs r1, 0x7F
- adds r0, r2, 0
- ands r0, r1
- adds r1, r7, 0
- adds r1, 0x70
- strh r0, [r1]
- lsls r2, 8
- movs r1, 0xC8
- lsls r1, 7
- adds r0, r2, 0
- bl sub_81515FC
- adds r2, r0, 0
- ldrb r1, [r7, 0x9]
- ldr r0, [r7, 0x1C]
- muls r0, r1
- lsls r4, r0, 8
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_8151574
- adds r4, r0, 0
- asrs r0, r4, 8
- str r0, [r7, 0x68]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r1, r7, 0
- adds r1, 0x8F
- strb r0, [r1]
- movs r6, 0
- mov r8, r6
- mov r9, r1
- ldrb r0, [r7, 0x9]
- cmp r8, r0
- bcc _08023E44
- b _0802402E
-_08023E44:
- adds r0, r7, 0
- adds r0, 0x88
- add r0, r8
- mov r1, r8
- strb r1, [r0]
- adds r0, r7, 0
- adds r0, 0x90
- add r0, r8
- strb r1, [r0]
- mov r3, r8
- lsls r2, r3, 1
- adds r1, r7, 0
- adds r1, 0x74
- adds r1, r2
- lsls r0, r3, 5
- adds r3, r7, r0
- adds r5, r3, 0
- adds r5, 0xAE
- ldrh r0, [r5]
- strh r0, [r1]
- adds r1, r7, 0
- adds r1, 0x72
- ldrh r6, [r1]
- adds r0, r6
- strh r0, [r1]
- mov r1, r9
- ldrb r0, [r1]
- adds r6, r2, 0
- cmp r0, 0x1
- beq _08023EAE
- cmp r0, 0x1
- bgt _08023E8A
- cmp r0, 0
- beq _08023E90
- b _08023F04
-_08023E8A:
- cmp r0, 0x2
- beq _08023ECC
- b _08023F04
-_08023E90:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08023ED2
- adds r0, r3, 0
- adds r0, 0xAC
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r5]
- b _08023EFA
-_08023EAE:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08023ED2
- adds r0, r3, 0
- adds r0, 0xB0
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r5]
- b _08023EFA
-_08023ECC:
- ldrh r0, [r5]
- cmp r0, 0
- bne _08023ED6
-_08023ED2:
- movs r4, 0
- b _08023F04
-_08023ED6:
- adds r1, r3, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r7, 0x28]
- cmp r0, r2
- bcc _08023EE8
- movs r4, 0xC8
- lsls r4, 7
- b _08023F04
-_08023EE8:
- ldrh r2, [r1]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_8151574
- adds r2, r0, 0
- ldrh r4, [r7, 0x28]
-_08023EFA:
- lsls r4, 8
- adds r1, r4, 0
- bl sub_81515FC
- adds r4, r0, 0
-_08023F04:
- asrs r4, 4
- adds r0, r7, 0
- adds r0, 0x7E
- adds r0, r6
- strh r4, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r3, [r7, 0x9]
- cmp r8, r3
- bcc _08023E44
- b _0802402E
-_08023F20:
- movs r6, 0
- mov r8, r6
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- adds r1, r7, 0
- adds r1, 0x68
- str r1, [sp, 0xC]
- cmp r8, r0
- bge _08023FC4
-_08023F32:
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r2, r8
- adds r2, 0x1
- str r2, [sp, 0x8]
- cmp r4, r8
- bls _08023FB4
- adds r3, r7, 0
- adds r3, 0x74
- str r3, [sp]
- adds r6, r7, 0
- adds r6, 0x88
- str r6, [sp, 0x4]
- movs r0, 0x90
- adds r0, r7
- mov r10, r0
- movs r1, 0x7E
- adds r1, r7
- mov r9, r1
-_08023F5C:
- subs r2, r4, 0x1
- mov r12, r2
- lsls r6, r2, 1
- ldr r0, [sp]
- adds r3, r0, r6
- lsls r5, r4, 1
- adds r1, r0, r5
- ldrh r2, [r3]
- ldrh r0, [r1]
- cmp r2, r0
- bcs _08023F86
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- ldr r1, [sp, 0x4]
- adds r2, r1, r4
- ldrb r3, [r2]
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_08023F86:
- mov r2, r9
- adds r3, r2, r6
- adds r1, r2, r5
- ldrh r2, [r3]
- ldrh r6, [r1]
- cmp r2, r6
- bcs _08023FAA
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- mov r0, r10
- adds r2, r0, r4
- ldrb r3, [r2]
- mov r1, r10
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_08023FAA:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bhi _08023F5C
-_08023FB4:
- ldr r2, [sp, 0x8]
- lsls r0, r2, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- cmp r8, r0
- blt _08023F32
-_08023FC4:
- movs r0, 0
- ldr r1, [sp, 0xC]
- movs r2, 0x30
- bl SendBlock
- b _0802402E
-_08023FD0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08024034
- b _08024004
-_08023FDC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08024034
- adds r4, r7, 0
- adds r4, 0x68
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r1, =gBlockRecvBuffer
- adds r0, r4, 0
- movs r2, 0x30
- bl memcpy
- bl ResetBlockReceivedFlags
-_08024004:
- movs r0, 0
- strh r0, [r7, 0x10]
- b _0802402E
- .pool
-_08024010:
- bl sub_8020E58
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- movs r1, 0xB
- strh r1, [r7, 0x12]
- strb r0, [r7, 0xC]
- adds r1, r7, 0
- adds r1, 0x24
- strb r0, [r1]
- b _08024034
-_0802402E:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_08024032:
- strb r0, [r7, 0xC]
-_08024034:
- movs r0, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8023CAC
-
- thumb_func_start sub_8024048
-sub_8024048: @ 8024048
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _08024124
- lsls r0, 2
- ldr r1, =_08024064
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024064:
- .4byte _08024078
- .4byte _0802408A
- .4byte _0802409C
- .4byte _080240CC
- .4byte _080240DC
-_08024078:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_8022070
- cmp r0, 0
- bne _08024124
- b _0802412A
-_0802408A:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1E
- strb r0, [r1]
- b _08024124
-_0802409C:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080240AE
- subs r0, 0x1
- strb r0, [r1]
- b _0802412A
-_080240AE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802412A
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_802222C
- b _08024124
- .pool
-_080240CC:
- ldrh r0, [r5, 0x12]
- cmp r0, 0xC
- bhi _08024124
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0802412A
-_080240DC:
- ldr r0, =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- bl GetBerryPowder
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x3
- movs r3, 0
- bl sub_8024644
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802412A
- .pool
-_08024124:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802412A:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8024048
-
- thumb_func_start sub_8024134
-sub_8024134: @ 8024134
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _08024218
- lsls r0, 2
- ldr r1, =_08024150
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08024150:
- .4byte _08024164
- .4byte _080241A0
- .4byte _080241A6
- .4byte _080241F0
- .4byte _08024204
-_08024164:
- ldrh r1, [r5, 0x28]
- ldr r0, =0x00008c9f
- cmp r1, r0
- bls _08024176
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r5, r1
- bl sub_8022554
-_08024176:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r4, 0
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802421E
- .pool
-_080241A0:
- bl sub_8010434
- b _08024218
-_080241A6:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802421E
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, =gText_SavingDontTurnOffPower
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sub_8153688
- movs r1, 0
- bl CreateTask
- b _08024218
- .pool
-_080241F0:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08024218
- b _0802421E
- .pool
-_08024204:
- movs r0, 0x14
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r1, 0
- movs r0, 0xF
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0802421E
-_08024218:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802421E:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024134
-
- thumb_func_start sub_8024228
-sub_8024228: @ 8024228
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _0802426A
- cmp r0, 0x1
- bgt _08024240
- cmp r0, 0
- beq _08024246
- b _080242D0
-_08024240:
- cmp r0, 0x2
- beq _08024270
- b _080242D0
-_08024246:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x14
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strb r0, [r5, 0xC]
- b _080242D8
-_0802426A:
- bl DisplayYesNoMenuDefaultYes
- b _080242D0
-_08024270:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _080242D6
- adds r0, r5, 0
- adds r0, 0x42
- movs r1, 0
- movs r2, 0xC
- bl memset
- cmp r4, 0
- bne _080242A2
- bl HasAtLeastOneBerry
- lsls r0, 24
- cmp r0, 0
- beq _0802429E
- strh r4, [r5, 0x14]
- b _080242A6
-_0802429E:
- movs r0, 0x3
- b _080242A4
-_080242A2:
- movs r0, 0x1
-_080242A4:
- strh r0, [r5, 0x14]
-_080242A6:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_8024644
- movs r0, 0x15
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _080242D6
-_080242D0:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_080242D6:
- movs r0, 0
-_080242D8:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8024228
-
- thumb_func_start sub_80242E0
-sub_80242E0: @ 80242E0
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08024306
- cmp r0, 0x1
- bgt _080242F6
- cmp r0, 0
- beq _08024300
- b _080243AC
-_080242F6:
- cmp r0, 0x2
- beq _08024328
- cmp r0, 0x3
- beq _08024336
- b _080243AC
-_08024300:
- bl sub_8010434
- b _080243AC
-_08024306:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080243B2
- ldrh r0, [r4, 0x14]
- adds r1, r4, 0
- adds r1, 0x42
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x4E
- strh r5, [r0]
- movs r0, 0
- movs r2, 0x2
- bl SendBlock
- b _080243AC
-_08024328:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _080243B2
- strh r5, [r4, 0x10]
- b _080243AC
-_08024336:
- bl GetBlockReceivedStatus
- ldr r2, =gUnknown_082F4448
- ldrb r3, [r4, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080243B2
- adds r7, r4, 0
- adds r7, 0x42
- adds r6, r4, 0
- adds r6, 0x4E
- cmp r5, r3
- bcs _08024374
- adds r1, r6, 0
- ldr r2, =gBlockRecvBuffer
-_0802435C:
- lsls r0, r5, 8
- adds r0, r2
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4, 0x9]
- cmp r5, r0
- bcc _0802435C
-_08024374:
- ldrh r0, [r6]
- cmp r0, 0
- beq _08024390
- movs r0, 0x17
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- b _0802439A
- .pool
-_08024390:
- movs r0, 0x16
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
-_0802439A:
- bl ResetBlockReceivedFlags
- movs r1, 0
- movs r0, 0
- strh r0, [r7]
- strh r0, [r6]
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _080243B4
-_080243AC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_080243B2:
- movs r0, 0
-_080243B4:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80242E0
-
- thumb_func_start sub_80243BC
-sub_80243BC: @ 80243BC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _080243EA
- cmp r4, 0x1
- bgt _080243D2
- cmp r4, 0
- beq _080243DC
- b _08024434
-_080243D2:
- cmp r4, 0x2
- beq _080243F6
- cmp r4, 0x3
- beq _0802441A
- b _08024434
-_080243DC:
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- b _08024410
-_080243EA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _08024434
- b _0802443A
-_080243F6:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- adds r0, r5, 0
- bl sub_8021488
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
-_08024410:
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _08024434
-_0802441A:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0802443A
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- movs r0, 0
- strh r4, [r5, 0x12]
- b _08024438
-_08024434:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_08024438:
- strb r0, [r5, 0xC]
-_0802443A:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80243BC
-
- thumb_func_start sub_8024444
-sub_8024444: @ 8024444
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _080244BC
- cmp r4, 0x1
- bgt _0802445A
- cmp r4, 0
- beq _08024460
- b _080244F6
-_0802445A:
- cmp r4, 0x2
- beq _080244D4
- b _080244F6
-_08024460:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrh r1, [r5, 0x14]
- cmp r1, 0x3
- bne _08024490
- ldr r0, =gUnknown_082F32A4
- ldr r2, [r0, 0x14]
- ldrb r3, [r5, 0xB]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
- b _080244AC
- .pool
-_08024490:
- ldr r0, =gUnknown_082F32A4
- ldr r2, [r0, 0x18]
- ldrb r3, [r5, 0xB]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParameterized2
-_080244AC:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _080244F6
- .pool
-_080244BC:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080244FC
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x78
- strb r0, [r1]
- b _080244F6
-_080244D4:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r4, r0, 0
- cmp r4, 0
- beq _080244E8
- subs r0, 0x1
- strb r0, [r1]
- b _080244FC
-_080244E8:
- movs r0, 0x18
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _080244FC
-_080244F6:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_080244FC:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024444
-
- thumb_func_start sub_8024508
-sub_8024508: @ 8024508
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _08024528
- cmp r4, 0x1
- bgt _0802451C
- cmp r4, 0
- beq _08024522
- b _08024558
-_0802451C:
- cmp r4, 0x2
- beq _08024538
- b _08024558
-_08024522:
- bl sub_8010434
- b _08024558
-_08024528:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0802455E
- bl sub_800AC34
- b _08024558
-_08024538:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802455E
- movs r0, 0x19
- strb r0, [r5, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_8022BEC
- strb r4, [r5, 0xC]
- b _0802455E
- .pool
-_08024558:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0802455E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8024508
-
- thumb_func_start sub_8024568
-sub_8024568: @ 8024568
- push {lr}
- movs r0, 0
- bl sub_8020C0C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8024568
-
- thumb_func_start sub_8024578
-sub_8024578: @ 8024578
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0x33
- bl IncrementGameStat
- strb r5, [r4, 0xD]
- movs r1, 0
- strh r5, [r4, 0x10]
- movs r0, 0x2
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x14]
- str r5, [r4, 0x1C]
- strh r5, [r4, 0x18]
- strh r5, [r4, 0x1A]
- str r5, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x24
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x25
- movs r0, 0
- strb r0, [r1]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x28]
- strh r5, [r4, 0x2E]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x34]
- movs r6, 0
- movs r3, 0
-_080245B8:
- lsls r0, r5, 5
- adds r2, r4, r0
- adds r1, r2, 0
- adds r1, 0xA4
- ldr r0, =0x0000ffff
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xA6
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r1, 0x6
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xAC
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strb r6, [r0]
- adds r0, 0x1
- strb r6, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080245B8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8024578
-
- thumb_func_start sub_8024604
-sub_8024604: @ 8024604
- push {r4-r6,lr}
- sub sp, 0x8
- str r2, [sp, 0x4]
- ldr r5, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- mov r2, sp
- strh r4, [r2]
- add r4, sp, 0x4
- ldrb r2, [r4]
- strb r2, [r0]
- ldrb r2, [r4, 0x1]
- strb r2, [r0, 0x1]
- ldrb r2, [r4, 0x2]
- strb r2, [r0, 0x2]
- ldrb r2, [r4, 0x3]
- strb r2, [r0, 0x3]
- strb r3, [r0, 0x4]
- strb r5, [r0, 0x5]
- strb r6, [r0, 0x6]
- mov r2, sp
- ldrb r2, [r2]
- strb r2, [r0, 0x7]
- mov r2, sp
- ldrb r2, [r2, 0x1]
- strb r2, [r0, 0x8]
- strb r1, [r0, 0x9]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8024604
-
- thumb_func_start sub_8024644
-sub_8024644: @ 8024644
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, [sp, 0x10]
- mov r4, sp
- strh r3, [r4]
- strb r1, [r0]
- strb r2, [r0, 0x1]
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r0, 0x2]
- mov r1, sp
- ldrb r1, [r1, 0x1]
- strb r1, [r0, 0x3]
- strb r5, [r0, 0x4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8024644
-
- .align 2, 0 @ don't pad with nop
diff --git a/asm/macros.inc b/asm/macros.inc
index 7c35e059d..6782f4200 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -6,6 +6,17 @@
.include "asm/macros/ec.inc"
.include "asm/macros/map.inc"
.include "asm/macros/field_effect_script.inc"
+ .include "asm/macros/trainer_hill.inc"
+ .include "asm/macros/battle_tent.inc"
+ .include "asm/macros/battle_frontier/apprentice.inc"
+ .include "asm/macros/battle_frontier/battle_arena.inc"
+ .include "asm/macros/battle_frontier/battle_dome.inc"
+ .include "asm/macros/battle_frontier/battle_factory.inc"
+ .include "asm/macros/battle_frontier/battle_palace.inc"
+ .include "asm/macros/battle_frontier/battle_pike.inc"
+ .include "asm/macros/battle_frontier/battle_pyramid.inc"
+ .include "asm/macros/battle_frontier/battle_tower.inc"
+ .include "asm/macros/battle_frontier/frontier_util.inc"
.macro region_map_entry x, y, width, height, name
.byte \x
diff --git a/asm/macros/battle_frontier/apprentice.inc b/asm/macros/battle_frontier/apprentice.inc
new file mode 100644
index 000000000..5d9ab8e3b
--- /dev/null
+++ b/asm/macros/battle_frontier/apprentice.inc
@@ -0,0 +1,154 @@
+ @ TRUE if the player has talked to the Apprentice and answered their level mode question
+ .macro apprentice_gavelvlmode
+ setvar VAR_0x8004, APPRENTICE_FUNC_GAVE_LVLMODE
+ special CallApprenticeFunction
+ .endm
+
+ @ Set the level mode the Apprentice should battle in
+ .macro apprentice_setlvlmode lvlmode:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_LVLMODE
+ setorcopyvar VAR_0x8005, \lvlmode
+ addvar VAR_0x8005, 1 @ Apprentice lvl mode is +1 from regular lvl mode value
+ special CallApprenticeFunction
+ .endm
+
+ @ Question was answered, increment the number of questions answered
+ .macro apprentice_answeredquestion
+ setvar VAR_0x8004, APPRENTICE_FUNC_ANSWERED_QUESTION
+ special CallApprenticeFunction
+ .endm
+
+ @ Show the response selection box to answer the Apprentice question. Menus are defined as APPRENTICE_ASK_*
+ .macro apprentice_menu which:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_MENU
+ setvar VAR_0x8005, \which
+ special CallApprenticeFunction
+ waitstate
+ .endm
+
+ @ Shuffle and set the Apprentice party mons to pick between from their list of possible party species
+ .macro apprentice_shufflespecies
+ setvar VAR_0x8004, APPRENTICE_FUNC_SHUFFLE_SPECIES
+ special CallApprenticeFunction
+ .endm
+
+ @ Randomize the question data (e.g. moves to pick between) and shuffle the order to ask them in
+ .macro apprentice_randomizequestions
+ setvar VAR_0x8004, APPRENTICE_FUNC_RANDOMIZE_QUESTIONS
+ special CallApprenticeFunction
+ .endm
+
+ @ Print the APPRENTICE_MSG_* text for the current Apprentice
+ .macro apprentice_msg waitbuttonpress:req, which:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_PRINT_MSG
+ setvar VAR_0x8005, \waitbuttonpress
+ setvar VAR_0x8006, \which
+ special CallApprenticeFunction
+ waitstate
+ .endm
+
+ @ Clear the data for the current Player Apprentice
+ .macro apprentice_reset
+ setvar VAR_0x8004, APPRENTICE_FUNC_RESET
+ special CallApprenticeFunction
+ .endm
+
+ @ Always returns TRUE. No side effect. May have been for debug or dummied for some other reason
+ .macro apprentice_shouldcheckgone
+ setvar VAR_0x8004, APPRENTICE_FUNC_CHECK_GONE
+ special CallApprenticeFunction
+ .endm
+
+ @ Return the APPRENTICE_QUESTION_* value for the current question to ask
+ .macro apprentice_getquestion
+ setvar VAR_0x8004, APPRENTICE_FUNC_GET_QUESTION
+ special CallApprenticeFunction
+ .endm
+
+ @ Get the number of mons that have been chosen for the Apprentice's party so far
+ .macro apprentice_getnumpartymons
+ setvar VAR_0x8004, APPRENTICE_FUNC_GET_NUM_PARTY_MONS
+ special CallApprenticeFunction
+ .endm
+
+ @ Set the Apprentice party mon at the given slot. VAR_0x8005 is used implicitly as which of the 2 mons was selected
+ .macro apprentice_setpartymon slot:req
+ copyvar VAR_0x8006, \slot
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_PARTY_MON
+ special CallApprenticeFunction
+ .endm
+
+ @ Allocate and set up data to track about the question
+ .macro apprentice_initquestion which:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_INIT_QUESTION_DATA
+ setvar VAR_0x8005, \which
+ special CallApprenticeFunction
+ .endm
+
+ @ Free allocated question data
+ .macro apprentice_freequestion
+ setvar VAR_0x8004, APPRENTICE_FUNC_FREE_QUESTION_DATA
+ special CallApprenticeFunction
+ .endm
+
+ @ Buffer some APPRENTICE_BUFF_* string to the given stringvar (0 for STR_VAR_1, 1 for STR_VAR_2, 2 for STR_VAR_3)
+ .macro apprentice_buff stringvar:req, tobuff:req
+ setvar VAR_0x8004, APPRENTICE_FUNC_BUFFER_STRING
+ setvar VAR_0x8005, \stringvar
+ .if \tobuff >= VARS_START
+ copyvar VAR_0x8006, \tobuff
+ .else
+ setvar VAR_0x8006, \tobuff
+ .endif
+ special CallApprenticeFunction
+ .endm
+
+ @ Set which move to use that the player chose (implicitly VAR_0x8005)
+ .macro apprentice_setmove
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_MOVE
+ special CallApprenticeFunction
+ .endm
+
+ @ Set which mon the Apprentice should lead with
+ .macro apprentice_setleadmon monId:req
+ copyvar VAR_0x8005, \monId
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_LEAD_MON
+ special CallApprenticeFunction
+ .endm
+
+ @ Open the Bag Menu for the player to choose an item to recommend as a held item
+ .macro apprentice_openbag
+ setvar VAR_0x8004, APPRENTICE_FUNC_OPEN_BAG
+ special CallApprenticeFunction
+ waitstate
+ .endm
+
+ @ Try and set the recommended held item. FALSE if the item has been recommended before, as Battle Frontier forbids using the same held item for multiple party mons
+ .macro apprentice_trysetitem
+ setvar VAR_0x8004, APPRENTICE_FUNC_TRY_SET_HELD_ITEM
+ special CallApprenticeFunction
+ .endm
+
+ @ Save the current Player Apprentice to the saveblock to make room for a new Apprentice
+ .macro apprentice_save
+ setvar VAR_0x8004, APPRENTICE_FUNC_SAVE
+ special CallApprenticeFunction
+ .endm
+
+ @ Set the object event gfx for the Apprentice based on their trainer class
+ .macro apprentice_setgfx
+ setvar VAR_0x8004, APPRENTICE_FUNC_SET_GFX
+ special CallApprenticeFunction
+ .endm
+
+ @ Always returns TRUE. No side effect. May have been for debug or dummied for some other reason
+ .macro apprentice_shouldleave
+ setvar VAR_0x8004, APPRENTICE_FUNC_SHOULD_LEAVE
+ special CallApprenticeFunction
+ .endm
+
+ @ Shift the other saved Apprentices over to make room for saving a new Apprentice
+ .macro apprentice_shiftsaved
+ setvar VAR_0x8004, APPRENTICE_FUNC_SHIFT_SAVED
+ special CallApprenticeFunction
+ .endm
diff --git a/asm/macros/battle_frontier/battle_arena.inc b/asm/macros/battle_frontier/battle_arena.inc
new file mode 100644
index 000000000..8280f5845
--- /dev/null
+++ b/asm/macros/battle_frontier/battle_arena.inc
@@ -0,0 +1,49 @@
+ @ Initialize the Battle Arena challenge
+ .macro arena_init
+ setvar VAR_0x8004, BATTLE_ARENA_FUNC_INIT
+ special CallBattleArenaFunction
+ .endm
+
+ @ Unused. Get the value of some ARENA_DATA_*. See GetArenaData for the data types that can be retrieved
+ .macro arena_get data:req
+ setvar VAR_0x8004, BATTLE_ARENA_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallBattleArenaFunction
+ .endm
+
+ @ Set some ARENA_DATA_* to val. See SetArenaData for the data types that can be set
+ .macro arena_set data:req, val:req
+ setvar VAR_0x8004, BATTLE_ARENA_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ .if \val >= VARS_START
+ copyvar VAR_0x8006, \val
+ .else
+ setvar VAR_0x8006, \val
+ .endif
+ special CallBattleArenaFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro arena_save challengeStatus:req
+ setvar VAR_0x8004, BATTLE_ARENA_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallBattleArenaFunction
+ .endm
+
+ @ Unused. Set the prize item to give from one of two lists of possible prizes, depending on streak.
+ .macro arena_setprize
+ setvar VAR_0x8004, BATTLE_ARENA_FUNC_SET_PRIZE
+ special CallBattleArenaFunction
+ .endm
+
+ @ Unused. Give the set prize item to the player. TRUE if room in Bag for prize, FALSE otherwise
+ .macro arena_giveprize
+ setvar VAR_0x8004, BATTLE_ARENA_FUNC_GIVE_PRIZE
+ special CallBattleArenaFunction
+ .endm
+
+ @ Buffer the opponents name to STR_VAR_1
+ .macro arena_gettrainername
+ setvar VAR_0x8004, BATTLE_ARENA_FUNC_GET_TRAINER_NAME
+ special CallBattleArenaFunction
+ .endm
diff --git a/asm/macros/battle_frontier/battle_dome.inc b/asm/macros/battle_frontier/battle_dome.inc
new file mode 100644
index 000000000..9adbcc54e
--- /dev/null
+++ b/asm/macros/battle_frontier/battle_dome.inc
@@ -0,0 +1,144 @@
+ @ Initialize the Battle Dome challenge
+ .macro dome_init
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT
+ special CallBattleDomeFunction
+ .endm
+
+ @ Get the value of some DOME_DATA_*. See GetDomeData for the data types that can be retrieved
+ .macro dome_get data:req
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallBattleDomeFunction
+ .endm
+
+ @ Set some DOME_DATA_* to val. See SetDomeData for the data types that can be set
+ .macro dome_set data:req, val=0xFFFF
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ .if \val != 0xFFFF
+ setvar VAR_0x8006, \val
+ .endif
+ special CallBattleDomeFunction
+ .endm
+
+ @ Buffer the name of the current round to gStringVar1
+ .macro dome_getroundtext
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_ROUND_TEXT
+ special CallBattleDomeFunction
+ .endm
+
+ @ Buffer the name of the opponent to gStringVar2 and the name of the round to gStringVar1
+ .macro dome_getopponentname
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_OPPONENT_NAME
+ special CallBattleDomeFunction
+ .endm
+
+ @ Choose which of the opponents mons to use in battle and load them into the enemy party
+ .macro dome_initopponentparty
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY
+ special CallBattleDomeFunction
+ .endm
+
+ @ Show the page that gives information on the next opponent
+ .macro dome_showopponentinfo
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO
+ special CallBattleDomeFunction
+ .endm
+
+ @ Displays the tourney tree for the current tourney
+ .macro dome_showtourneytree
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE
+ special CallBattleDomeFunction
+ .endm
+
+ @ Displays the tourney tree for the results of the previous tourney. Before the player enters their first tourney this is a random tourney generated by dome_initresultstree
+ .macro dome_showprevtourneytree
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE
+ special CallBattleDomeFunction
+ .endm
+
+ @ Sets gTrainerBattleOpponent_A to the trainer ID of the next opponent
+ .macro dome_setopponent
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_OPPONENT_ID
+ special CallBattleDomeFunction
+ .endm
+
+ @ Set the object event gfx id for the opponent
+ .macro dome_setopponentgfx
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_OPPONENT_GFX
+ special CallBattleDomeFunction
+ .endm
+
+ @ A non-interactive version of the tourney tree shown when a round is completed
+ .macro dome_showstatictourneytree
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE
+ special CallBattleDomeFunction
+ .endm
+
+ @ Decides the winners of NPC vs NPC matches, and eliminates either the player or their opponent depending on the playerStatus (DOME_PLAYER_*)
+ .macro dome_resolvewinners playerStatus:req
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_RESOLVE_WINNERS
+ setvar VAR_0x8005, \playerStatus
+ special CallBattleDomeFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro dome_save challengeStatus:req
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallBattleDomeFunction
+ .endm
+
+ @ Unused. Increment the win streaks for the current challenge by one
+ .macro dome_incrementstreaks
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_INCREMENT_STREAK
+ special CallBattleDomeFunction
+ .endm
+
+ @ Sets the facility trainer/mon set pointers
+ .macro dome_settrainers
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_SET_TRAINERS
+ special CallBattleDomeFunction
+ .endm
+
+ @ If any moves were copied using Sketch during the challenge then restore them to Sketch
+ .macro dome_resetsketch
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_RESET_SKETCH
+ special CallBattleDomeFunction
+ .endm
+
+ @ Reset the held items of the mons that just battled to what they were prior to battling
+ .macro dome_restorehelditems
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS
+ special CallBattleDomeFunction
+ .endm
+
+ @ Reduce the players party to the selected mons, used to reduce down to the 2 selected for battle
+ .macro dome_reduceparty
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_REDUCE_PARTY
+ special CallBattleDomeFunction
+ .endm
+
+ @ Compares the initial tournament ranking (seed) of the player to opponent A. Returns 1 if the player's seed is better, 2 if the opponent's seed is better.
+ .macro dome_compareseeds
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_COMPARE_SEEDS
+ special CallBattleDomeFunction
+ .endm
+
+ @ Buffer the name of the winner for the last Dome challenge to STR_VAR_1
+ .macro dome_getwinnersname
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_GET_WINNER_NAME
+ special CallBattleDomeFunction
+ .endm
+
+ @ Performs a random tourney to initialize the results board before the player has entered a challenge
+ .macro dome_initresultstree
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_RESULTS_TREE
+ special CallBattleDomeFunction
+ .endm
+
+ @ Generates the tourney trainers and their parties, and seeds them in the tourney tree
+ .macro dome_inittrainers
+ setvar VAR_0x8004, BATTLE_DOME_FUNC_INIT_TRAINERS
+ special CallBattleDomeFunction
+ .endm
diff --git a/asm/macros/battle_frontier/battle_factory.inc b/asm/macros/battle_frontier/battle_factory.inc
new file mode 100644
index 000000000..684eeb98d
--- /dev/null
+++ b/asm/macros/battle_frontier/battle_factory.inc
@@ -0,0 +1,101 @@
+ @ Initialize the Battle Factory challenge
+ .macro factory_init
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_INIT
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Get the value of some FACTORY_DATA_*. See GetBattleFactoryData for the data types that can be retrieved
+ .macro factory_get data:req
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Set some FACTORY_DATA_* to val. See SetBattleFactoryData for the data types that can be set
+ .macro factory_set data:req, val=0xFFFF
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ .if \val == 0xFFFF
+ @ argument not provided
+ .elseif \val >= VARS_START
+ copyvar VAR_0x8006, \val
+ .else
+ setvar VAR_0x8006, \val
+ .endif
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro factory_save challengeStatus:req
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Select the initial rental mons for the challenge
+ .macro factory_rentmons
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SELECT_RENT_MONS
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Select a mon to swap for from the previously defeated team
+ .macro factory_swapmons
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SWAP_RENT_MONS
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Allows FACTORY_DATA_WIN_STREAK_SWAPS to be incremented once
+ .macro factory_setswapped
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_SWAPPED
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Update gEnemyParty with the next set of rental mons
+ .macro factory_setopponentmons
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Populate gPlayerParty and gEnemyParty with the rental mons. Only needed when resuming a challenge, otherwise only factory_setopponentmons and factory_rentmons/factory_swapmons are needed
+ .macro factory_setparties arg:req
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_PARTIES
+ setvar VAR_0x8005, \arg
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Set the object event gfx for the opponent trainer
+ .macro factory_setopponentgfx
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Generate the mons for the opponents team
+ .macro factory_generateopponentmons
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Generate the random 6 mons to choose from for the initial rental
+ .macro factory_generaterentalmons
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Return the pokemon type most common in the opponents team, or NUMBER_OF_MON_TYPES if there is no standout type
+ .macro factory_getopponentmontype
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Return the FACTORY_STYLE_* dependent on what types of moves the opponents team has, or FACTORY_NUM_STYLES if multiple styles tie for the same amount of moves
+ .macro factory_getopponentstyle
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE
+ special CallBattleFactoryFunction
+ .endm
+
+ @ Restore the held items for the players party to what they were pre-battle
+ .macro factory_resethelditems
+ setvar VAR_0x8004, BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS
+ special CallBattleFactoryFunction
+ .endm
+
diff --git a/asm/macros/battle_frontier/battle_palace.inc b/asm/macros/battle_frontier/battle_palace.inc
new file mode 100644
index 000000000..f326c1154
--- /dev/null
+++ b/asm/macros/battle_frontier/battle_palace.inc
@@ -0,0 +1,63 @@
+ @ Initialize the Battle Palace challenge
+ .macro palace_init
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_INIT
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Get the value of some PALACE_DATA_*. See GetPalaceData for the data types that can be retrieved
+ .macro palace_get data:req
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Set some PALACE_DATA_* to val. See SetPalaceData for the data types that can be set
+ .macro palace_set data:req, val:req
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ setvar VAR_0x8006, \val
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Get the id of the comment to be made while being led through the corridor
+ .macro palace_getcomment
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_GET_COMMENT_ID
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Unused. Choose and set the opponent gfx id. The equivalent macro from Battle Tower is used instead
+ .macro palace_setopponent
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_SET_OPPONENT
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Buffer the opponents intro speech to gStringVar4. Also used by Battle Arena and Factory
+ .macro palace_getopponentintro
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Increments the current win streak by 1
+ .macro palace_incrementstreak
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_INCREMENT_STREAK
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro palace_save challengeStatus:req
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallBattlePalaceFunction
+ .endm
+
+ @ Unused. Set the prize item to give from one of two lists of possible prizes, depending on streak.
+ .macro palace_setprize
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_SET_PRIZE
+ special CallBattleArenaFunction
+ .endm
+
+ @ Unused. Give the set prize item to the player. TRUE if room in Bag for prize, FALSE otherwise
+ .macro palace_giveprize
+ setvar VAR_0x8004, BATTLE_PALACE_FUNC_GIVE_PRIZE
+ special CallBattleArenaFunction
+ .endm
diff --git a/asm/macros/battle_frontier/battle_pike.inc b/asm/macros/battle_frontier/battle_pike.inc
new file mode 100644
index 000000000..30f5c88d8
--- /dev/null
+++ b/asm/macros/battle_frontier/battle_pike.inc
@@ -0,0 +1,171 @@
+ @ Set sRoomType to the next PIKE_ROOM_* id
+ .macro pike_setnextroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE
+ special CallBattlePikeFunction
+ .endm
+
+ @ Get the value of some PIKE_DATA_*. See GetBattlePikeData for the data types that can be retrieved
+ .macro pike_get data:req
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallBattlePikeFunction
+ .endm
+
+ @ Set some PIKE_DATA_* to val. See SetBattlePikeData for the data types that can be set
+ .macro pike_set data:req, val:req
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ .if \val >= VARS_START
+ copyvar VAR_0x8006, \val
+ .else
+ setvar VAR_0x8006, \val
+ .endif
+ special CallBattlePikeFunction
+ .endm
+
+ @ TRUE if the next room is the last (15th) room, FALSE otherwise
+ .macro pike_isfinalroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM
+ special CallBattlePikeFunction
+ .endm
+
+ @ Set the object event gfx for the room being entered
+ .macro pike_setroomobjects
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS
+ special CallBattlePikeFunction
+ .endm
+
+ @ Get the current room type (sRoomType)
+ .macro pike_getroomtype
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE
+ special CallBattlePikeFunction
+ .endm
+
+ @ Sets a bool that's never read
+ .macro pike_inwildmonroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM
+ special CallBattlePikeFunction
+ .endm
+
+ @ Clears a bool that's never read
+ .macro pike_exitwildmonroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM
+ special CallBattlePikeFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro pike_save challengeStatus:req
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallBattlePikeFunction
+ .endm
+
+ @ Returns the PIKE_STATUS_* to be afflicted for the status room
+ .macro pike_getstatus
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS
+ special CallBattlePikeFunction
+ .endm
+
+ @ Returns the PIKE_STATUSMON_* that attacks the player for the status room
+ .macro pike_getstatusmon
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON
+ special CallBattlePikeFunction
+ .endm
+
+ @ Randomly heals either one or two party mons and returns the number of mons healed
+ .macro pike_healonetwomons
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS
+ special CallBattlePikeFunction
+ .endm
+
+ @ Buffers a message for the lone NPC in the NPC room to gStringVar4
+ .macro pike_getnpcmsg
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_NPC_MSG
+ special CallBattlePikeFunction
+ .endm
+
+ @ Flashes the screen 3 times for when the Dusclops/Kirlia attacks the player
+ .macro pike_flashscreen
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH
+ special CallBattlePikeFunction
+ .endm
+
+ @ TRUE if the player is currently in a Battle Pike challenge map
+ .macro pike_inchallenge
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_IN
+ special CallBattlePikeFunction
+ .endm
+
+ @ Set which room to give a hint about. TRUE if its the Pike Queens room next
+ .macro pike_sethintroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HINT_ROOM
+ special CallBattlePikeFunction
+ .endm
+
+ @ Get PIKE_ROOM_(LEFT/CENTER/RIGHT) for which room to give a hint about
+ .macro pike_gethintroomid
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID
+ special CallBattlePikeFunction
+ .endm
+
+ @ Get the PIKE_HINT_* to give about the next room
+ .macro pike_gethint
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT
+ special CallBattlePikeFunction
+ .endm
+
+ @ Reset the frontier trainer ids for the start of the challenge
+ .macro pike_cleartrainerids
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS
+ special CallBattlePikeFunction
+ .endm
+
+ @ Buffer the opponents battle intro speech to gStringVar4. \trainer 0 for Trainer A, 1 for Trainer B
+ .macro pike_gettrainerintro trainer:req
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_TRAINER_INTRO
+ setvar VAR_0x8005, \trainer
+ special CallBattlePikeFunction
+ .endm
+
+ @ Get the status of the Pike Queen (Not ready, Silver/Gold streak before symbols, Silver/Gold streak after symbols)
+ .macro pike_getbrainstatus
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE
+ special CallBattlePikeFunction
+ .endm
+
+ @ Heal 0-2 party mons depending on which room was chosen for the Pike Queen battle. Return the number healed
+ .macro pike_prequeenheal
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN
+ special CallBattlePikeFunction
+ .endm
+
+ @ When \set is TRUE, prevent healing rooms from appearing (for 1st room or when party is full health). \set FALSE to re-enable healing rooms
+ .macro pike_nohealing set:req
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED
+ setvar VAR_0x8005, \set
+ special CallBattlePikeFunction
+ .endm
+
+ @ TRUE if the party is full health (full HP, PP, and no status), FALSE otherwise
+ .macro pike_ispartyfullhealth
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH
+ special CallBattlePikeFunction
+ .endm
+
+ @ Save the party held items in pikeHeldItemsBackup
+ .macro pike_savehelditems
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS
+ special CallBattlePikeFunction
+ .endm
+
+ @ Restore the party held items from pikeHeldItemsBackup
+ .macro pike_resethelditems
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_RESET_HELD_ITEMS
+ special CallBattlePikeFunction
+ .endm
+
+ @ Initialize the Battle Pike challenge
+ .macro pike_init
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_INIT
+ special CallBattlePikeFunction
+ .endm
diff --git a/asm/macros/battle_frontier/battle_pyramid.inc b/asm/macros/battle_frontier/battle_pyramid.inc
new file mode 100644
index 000000000..f8141e2dd
--- /dev/null
+++ b/asm/macros/battle_frontier/battle_pyramid.inc
@@ -0,0 +1,104 @@
+ @ Initialize the Battle Pyramid challenge
+ .macro pyramid_init
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_INIT
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Get the value of some PYRAMID_DATA_*. See GetBattlePyramidData for the data types that can be retrieved
+ .macro pyramid_get data:req
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Set some PYRAMID_DATA_* to val. See SetBattlePyramidData for the data types that can be set
+ .macro pyramid_set data:req, val:req
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ setvar VAR_0x8006, \val
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro pyramid_save challengeStatus:req
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Set the prize item to give from one of two lists of possible prizes, depending on streak.
+ .macro pyramid_setprize
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_PRIZE
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Unused. Give the set prize item to the player. TRUE if room in Bag for prize, FALSE otherwise
+ .macro pyramid_giveprize
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_GIVE_PRIZE
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Set the random values for the floor (used to determine object positions, e.g.), and clear trainer flags
+ .macro pyramid_seedfloor
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SEED_FLOOR
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Set the item to pick up depending on the random seed and quantity (always 1) to the arguments for STD_FIND_ITEM
+ .macro pyramid_setitem
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_ITEM
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Hide the picked-up item (technically it moves the item far offscreen)
+ .macro pyramid_hideitem
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_HIDE_ITEM
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Set the facility trainers to gBattleFrontierTrainers
+ .macro pyramid_settrainers
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_TRAINERS
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Show the post-battle hint text
+ .macro pyramid_showhint
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT
+ special CallBattlePyramidFunction
+ .endm
+
+ @ VAR_RESULT is 1 if player is on a Pyramid floor, 2 if on the Pyramid peak, 0 otherwise
+ .macro pyramid_inchallenge
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_IS_IN
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Update the light around the player. 2 different modes, for setting or incrementing light. See PYRAMID_LIGHT_*
+ .macro pyramid_updatelight radius:req, mode:req, sound=0xFFFF
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT
+ setvar VAR_0x8005, \radius
+ setvar VAR_0x8006, \mode
+ .if \sound != 0xFFFF
+ setvar VAR_0x8007, \sound
+ .endif
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Reset the held items to what they were at the start of the challenge
+ .macro pyramid_clearhelditems
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Set the palette depending on current floor number
+ .macro pyramid_setfloorpal
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE
+ special CallBattlePyramidFunction
+ .endm
+
+ @ Reset sketched moves and update the party order in the saveblock
+ .macro pyramid_resetparty
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_RESTORE_PARTY
+ special CallBattlePyramidFunction
+ .endm
diff --git a/asm/macros/battle_frontier/battle_tower.inc b/asm/macros/battle_frontier/battle_tower.inc
new file mode 100644
index 000000000..71e795b1d
--- /dev/null
+++ b/asm/macros/battle_frontier/battle_tower.inc
@@ -0,0 +1,91 @@
+ @ Initialize the Battle Tower challenge
+ .macro tower_init
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_INIT
+ special CallBattleTowerFunc
+ .endm
+
+ @ Get the value of some TOWER_DATA_*. See GetTowerData for the data types that can be retrieved
+ .macro tower_get data:req
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallBattleTowerFunc
+ .endm
+
+ @ Set some TOWER_DATA_* to val. See SetTowerData for the data types that can be set
+ .macro tower_set data:req, val=0xFFFF
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ .if \val != 0xFFFF
+ setvar VAR_0x8006, \val
+ .endif
+ special CallBattleTowerFunc
+ .endm
+
+ @ Choose and set the gfx for the next opponent. Also used by Battle Tents
+ .macro tower_setopponent
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_OPPONENT
+ special CallBattleTowerFunc
+ .endm
+
+ @ Increments the battle number and returns the new one. Also clears E-Reader trainer if defeated, and saves the current win streak
+ .macro tower_setbattlewon
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_BATTLE_WON
+ special CallBattleTowerFunc
+ .endm
+
+ @ Try to award ribbons for completing 56th straight Battle Tower win. VAR_RESULT is TRUE if ribbons were awarded.
+ .macro tower_giveribbons
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_GIVE_RIBBONS
+ special CallBattleTowerFunc
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro tower_save challengeStatus:req
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallBattleTowerFunc
+ .endm
+
+ @ Buffer the opponent's easy chat intro speech to STR_VAR_4
+ .macro tower_getopponentintro opponent:req
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO
+ setvar VAR_0x8005, \opponent
+ special CallBattleTowerFunc
+ .endm
+
+ @ Load the parties, gfx, and other data (like Apprentice id) for the multi partner candidates
+ .macro tower_loadpartners
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_LOAD_PARTNERS
+ special CallBattleTowerFunc
+ .endm
+
+ @ Print message from potential multi partner. msgId is any PARTNER_MSGID_*
+ .macro tower_dopartnermsg msgId:req
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_PARTNER_MSG
+ setvar VAR_0x8005, \msgId
+ special CallBattleTowerFunc
+ .endm
+
+ @ Receives/loads the opponent data for a link multi challenge. Returns 6 when finished, and finishes immediately if not doing a link multi battle.
+ .macro tower_loadlinkopponents
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS
+ special CallBattleTowerFunc
+ .endm
+
+ @ Unknown. Destroys some link task if using wireless link. Wait for link?
+ .macro tower_unklink
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_13
+ special CallBattleTowerFunc
+ .endm
+
+ @ Set VAR_OBJ_GFX_ID_E to the gfx id of the selected multi partner
+ .macro tower_setpartnergfx
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_PARTNER_GFX
+ special CallBattleTowerFunc
+ .endm
+
+ @ Set the data used for the post-challenge Battle Tower interview
+ .macro tower_setinterviewdata
+ setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA
+ special CallBattleTowerFunc
+ .endm
diff --git a/asm/macros/battle_frontier/frontier_util.inc b/asm/macros/battle_frontier/frontier_util.inc
new file mode 100644
index 000000000..def5b4d1c
--- /dev/null
+++ b/asm/macros/battle_frontier/frontier_util.inc
@@ -0,0 +1,153 @@
+ @ Get the status (CHALLENGE_STATUS_*) of the current challenge and store the result in VAR_TEMP_0
+ .macro frontier_getstatus
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_STATUS
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Get the value of some FRONTIER_DATA_*. See GetFrontierData for the data types that can be retrieved
+ .macro frontier_get data:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_DATA
+ setvar VAR_0x8005, \data
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Set the value of some FRONTIER_DATA_*. Some data types do not need a val argument because the value is set directly from somewhere else. See SetFrontierData for the data types that can be set
+ .macro frontier_set data:req, val=0xFFFF
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
+ setvar VAR_0x8005, \data
+ .if \val == 0xFFFF
+ @ no value provided
+ .elseif \val >= VARS_START
+ copyvar VAR_0x8006, \val
+ .else
+ setvar VAR_0x8006, \val
+ .endif
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Load the selected mons into gSelectedOrderFromParty and reduce the players party to these mons
+ .macro frontier_setpartyorder partySize:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_PARTY_ORDER
+ setvar VAR_0x8005, \partySize
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Performs a soft reset
+ .macro frontier_reset
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SOFT_RESET
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Loads gBattleFrontierTrainers into gFacilityTrainers
+ .macro frontier_settrainers
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_TRAINERS
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Sets the selected party mons in the saveblock
+ .macro frontier_saveparty
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_PARTY
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Shows the results window for the given facility and mode. Facilities with only 1 mode dont provide the mode argument
+ .macro frontier_results facility:req, mode=0xFF
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESULTS_WINDOW
+ setvar VAR_0x8005, \facility
+ .if \mode != 0xFF
+ setvar VAR_0x8006, \mode
+ .endif
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Checks if the Battle Frontier TV special should air, and if so attempts to set it up
+ .macro frontier_checkairshow
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Get the status of the Frontier Brain (Not ready, Silver/Gold streak before symbols, Silver/Gold streak after symbols)
+ .macro frontier_getbrainstatus
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS
+ special CallFrontierUtilFunc
+ .endm
+
+ @ TRUE if the opponent is a Frontier Brain, FALSE otherwise
+ .macro frontier_isbrain
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_IS_BRAIN
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Awards battle points depending on the current challenge
+ .macro frontier_givepoints
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Returns 0-2 for the number of facility symbols the player has
+ .macro frontier_getsymbols
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Awards a frontier symbol depending on the current challenge
+ .macro frontier_givesymbol
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL
+ special CallFrontierUtilFunc
+ .endm
+
+ @ TRUE if the given battleType is set in gBattleTypeFlags, FALSE otherwise
+ .macro frontier_isbattletype battleType:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE
+ setvar VAR_0x8005, \battleType
+ special CallFrontierUtilFunc
+ .endm
+
+ @ TRUE if there are insufficient eligible party mons to participate in the challenge, and buffers caught ineligible species to STR_VAR_1. FALSE otherwise. The return value is stored in VAR_0x8004 instead, and the current level mode is expected to be in VAR_RESULT
+ .macro frontier_checkineligible
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Validates the visiting E-Reader trainer. 0 if valid, 1 if not
+ .macro frontier_checkvisittrainer
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Increments the current win streak by 1
+ .macro frontier_incrementstreak
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_INCREMENT_STREAK
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Resets the party held items to what they were upon entering the challenge
+ .macro frontier_restorehelditems
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Move the recorded battle to save data
+ .macro frontier_savebattle
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SAVE_BATTLE
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Buffer the name of gTrainerBattleOpponent_A in STR_VAR_1 (0) or STR_VAR_2 (1)
+ .macro frontier_gettrainername stringVar:req
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME
+ setvar VAR_0x8005, \stringVar
+ special CallFrontierUtilFunc
+ .endm
+
+ @ If any moves were copied using Sketch during the challenge then restore them to Sketch
+ .macro frontier_resetsketch
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES
+ special CallFrontierUtilFunc
+ .endm
+
+ @ Set the object event gfx of the Frontier Brain for the current facility
+ .macro frontier_setbrainobj
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT
+ special CallFrontierUtilFunc
+ .endm
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index 997af51cc..eda410c5b 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -391,11 +391,11 @@
.byte 0x47
.endm
- .macro playstatchangeanimation battler:req, param1:req, param2:req
+ .macro playstatchangeanimation battler:req, stats:req, statchange:req
.byte 0x48
.byte \battler
- .byte \param1
- .byte \param2
+ .byte \stats
+ .byte \statchange
.endm
.macro moveend param0:req, param1:req
@@ -738,10 +738,10 @@
.byte 0x88
.endm
- .macro statbuffchange param0:req, param1:req
+ .macro statbuffchange flags:req, jumpptr:req
.byte 0x89
- .byte \param0
- .4byte \param1
+ .byte \flags
+ .4byte \jumpptr
.endm
.macro normalisebuffs
@@ -1267,7 +1267,7 @@
various \battler, 4
.endm
- .macro resetintrimidatetracebits battler:req
+ .macro resetintimidatetracebits battler:req
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
.endm
diff --git a/asm/macros/battle_tent.inc b/asm/macros/battle_tent.inc
new file mode 100644
index 000000000..663d1d344
--- /dev/null
+++ b/asm/macros/battle_tent.inc
@@ -0,0 +1,167 @@
+@ Verdanturf Tent
+
+ @ Initialize the Verdanturf Battle Tent challenge
+ .macro verdanturftent_init
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_INIT
+ special CallVerdanturfTentFunction
+ .endm
+
+ @ Get the current prize item id
+ .macro verdanturftent_getprize
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_GET_PRIZE
+ special CallVerdanturfTentFunction
+ .endm
+
+ @ Unused. Set the prize item to be given
+ .macro verdanturftent_setprize unusedArg:req, itemId:req
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SET_PRIZE
+ setvar VAR_0x8005, \unusedArg
+ setvar VAR_0x8006, \itemId
+ special CallVerdanturfTentFunction
+ .endm
+
+ @ Unused. Set the opponent trainer and gfx. SetNextBattleTentOpponent is used through tower_setopponent instead
+ .macro verdanturftent_setopponentgfx
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX
+ special CallVerdanturfTentFunction
+ .endm
+
+ @ Buffers the opponents intro speech to STR_VAR_4. Despite being a Verdanturf Tent function, it serves the same purpose for all 3 tents.
+ .macro battletent_getopponentintro
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO
+ special CallVerdanturfTentFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro verdanturftent_save challengeStatus:req
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallVerdanturfTentFunction
+ .endm
+
+ @ Set the prize item as randomly selected from a list. Randomness unnecessary, as the list is only 1 item
+ .macro verdanturftent_setrandomprize
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE
+ special CallVerdanturfTentFunction
+ .endm
+
+ @ Give the current prize item. FALSE if no room for prize
+ .macro verdanturftent_giveprize
+ setvar VAR_0x8004, VERDANTURF_TENT_FUNC_GIVE_PRIZE
+ special CallVerdanturfTentFunction
+ .endm
+
+
+@ Fallarbor Tent
+
+ @ Initialize the Fallarbor Battle Tent challenge
+ .macro fallarbortent_init
+ setvar VAR_0x8004, FALLARBOR_TENT_FUNC_INIT
+ special CallFallarborTentFunction
+ .endm
+
+ @ Get the current prize item id
+ .macro fallarbortent_getprize
+ setvar VAR_0x8004, FALLARBOR_TENT_FUNC_GET_PRIZE
+ special CallFallarborTentFunction
+ .endm
+
+ @ Unused. Set the prize item to be given
+ .macro fallarbortent_setprize unusedArg:req, itemId:req
+ setvar VAR_0x8004, FALLARBOR_TENT_FUNC_SET_PRIZE
+ setvar VAR_0x8005, \unusedArg
+ setvar VAR_0x8006, \itemId
+ special CallFallarborTentFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro fallarbortent_save challengeStatus:req
+ setvar VAR_0x8004, FALLARBOR_TENT_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallFallarborTentFunction
+ .endm
+
+ @ Set the prize item as randomly selected from a list. Randomness unnecessary, as the list is only 1 item
+ .macro fallarbortent_setrandomprize
+ setvar VAR_0x8004, FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE
+ special CallFallarborTentFunction
+ .endm
+
+ @ Give the current prize item. FALSE if no room for prize
+ .macro fallarbortent_giveprize
+ setvar VAR_0x8004, FALLARBOR_TENT_FUNC_GIVE_PRIZE
+ special CallFallarborTentFunction
+ .endm
+
+ @ Buffer the opponent trainers name to STR_VAR_1
+ .macro fallarbortent_getopponentname
+ setvar VAR_0x8004, FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME
+ special CallFallarborTentFunction
+ .endm
+
+
+@ Slateport Tent
+
+ @ Initialize the Slateport Battle Tent challenge
+ .macro slateporttent_init
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_INIT
+ special CallSlateportTentFunction
+ .endm
+
+ @ Get the current prize item id
+ .macro slateporttent_getprize
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GET_PRIZE
+ special CallSlateportTentFunction
+ .endm
+
+ @ Unused. Set the prize item to be given
+ .macro slateporttent_setprize unusedArg:req, itemId:req
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SET_PRIZE
+ setvar VAR_0x8005, \unusedArg
+ setvar VAR_0x8006, \itemId
+ special CallSlateportTentFunction
+ .endm
+
+ @ Save the game and set the challenge status
+ .macro slateporttent_save challengeStatus:req
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SAVE
+ setvar VAR_0x8005, \challengeStatus
+ special CallSlateportTentFunction
+ .endm
+
+ @ Set the prize item as randomly selected from a list. Randomness unnecessary, as the list is only 1 item
+ .macro slateporttent_setrandomprize
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE
+ special CallSlateportTentFunction
+ .endm
+
+ @ Give the current prize item. FALSE if no room for prize
+ .macro slateporttent_giveprize
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GIVE_PRIZE
+ special CallSlateportTentFunction
+ .endm
+
+ @ Slateport Tent's version of factory_rentmons
+ .macro slateporttent_rentmons
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SELECT_RENT_MONS
+ special CallSlateportTentFunction
+ .endm
+
+ @ Slateport Tent's version of factory_swapmons
+ .macro slateporttent_swapmons
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_SWAP_RENT_MONS
+ special CallSlateportTentFunction
+ .endm
+
+ @ Slateport Tent's version of factory_generateopponentmons
+ .macro slateporttent_generateopponentmons
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS
+ special CallSlateportTentFunction
+ .endm
+
+ @ Slateport Tent's version of factory_generaterentalmons
+ .macro slateporttent_generaterentalmons
+ setvar VAR_0x8004, SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS
+ special CallSlateportTentFunction
+ .endm
+
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index bf1b8ce76..abb2eb13a 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -233,14 +233,12 @@
.endm
@ Generic compare macro which attempts to deduce argument types based on their values
- @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers
- .macro compare arg1:req, arg2:req
- .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8)
- compare_var_to_var \arg1, \arg2
- .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF)
- compare_var_to_value \arg1, \arg2
+ @ Any values between 0x4000 to 0x40FF and 0x8000 to 0x8015 are considered event variable identifiers
+ .macro compare var:req, arg:req
+ .if ((\arg >= VARS_START && \arg <= VARS_END) || (\arg >= SPECIAL_VARS_START && \arg <= SPECIAL_VARS_END))
+ compare_var_to_var \var, \arg
.else
- .error "Invalid arguments for 'compare'"
+ compare_var_to_value \var, \arg
.endif
.endm
@@ -465,47 +463,47 @@
.2byte \Y
.endm
- @ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
+ @ Retrieves the number of Pokemon in the player's party, and stores that number in VAR_RESULT.
.macro getpartysize
.byte 0x43
.endm
- @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000.
- .macro giveitem index:req, quantity:req
+ @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and VAR_RESULT will be set to TRUE; otherwise, VAR_RESULT is set to FALSE.
+ .macro additem index:req, quantity=1
.byte 0x44
.2byte \index
.2byte \quantity
.endm
@ Removes quantity of item index from the player's Bag.
- .macro takeitem index:req, quantity:req
+ .macro removeitem index:req, quantity=1
.byte 0x45
.2byte \index
.2byte \quantity
.endm
- @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room.
+ @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets VAR_RESULT to TRUE if there is room, or FALSE is there is no room.
.macro checkitemspace index:req, quantity:req
.byte 0x46
.2byte \index
.2byte \quantity
.endm
- @ Checks if the player has quantity or more of item index in their Bag. Sets variable 0x800D (LASTRESULT) to 0x0001 if the player has enough of the item, or 0x0000 if they have fewer than quantity of the item.
+ @ Checks if the player has quantity or more of item index in their Bag. Sets VAR_RESULT to TRUE if the player has enough of the item, or FALSE if they have fewer than quantity of the item.
.macro checkitem index:req, quantity:req
.byte 0x47
.2byte \index
.2byte \quantity
.endm
- @ Checks which Bag pocket the specified (index) item belongs in, and writes the value to variable 0x800D (LASTRESULT). This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE).
+ @ Checks which Bag pocket the specified item belongs in, and writes the pocket value (POCKET_*) to VAR_RESULT. This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE).
.macro checkitemtype index:req
.byte 0x48
.2byte \index
.endm
@ Adds a quantity amount of item index to the player's PC. Both arguments can be variables.
- .macro givepcitem index:req, quantity:req
+ .macro addpcitem index:req, quantity:req
.byte 0x49
.2byte \index
.2byte \quantity
@@ -519,13 +517,13 @@
.endm
@ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro givedecoration decoration:req
+ .macro adddecoration decoration:req
.byte 0x4b
.2byte \decoration
.endm
@ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro takedecoration decoration:req
+ .macro removedecoration decoration:req
.byte 0x4c
.2byte \decoration
.endm
@@ -536,7 +534,7 @@
.2byte \decoration
.endm
- @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ @ Checks if the player has enough space in their PC to hold decoration. Sets VAR_RESULT to TRUE if there is room, or FALSE is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
.macro checkdecorspace decoration:req
.byte 0x4e
.2byte \decoration
@@ -677,7 +675,7 @@
.elseif \type == TRAINER_BATTLE_SET_TRAINER_B
.4byte \pointer1 @ text
.4byte \pointer2 @ text
- .elseif \type == TRAINER_BATTLE_12
+ .elseif \type == TRAINER_BATTLE_HILL
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.endif
@@ -818,14 +816,14 @@
.byte 0x6d
.endm
- @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES".
+ @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in VAR_RESULT as NO (0) or YES (1). Pressing B is equivalent to answering NO
.macro yesnobox x:req, y:req
.byte 0x6e
.byte \x
.byte \y
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
.macro multichoice x:req, y:req, list:req, b:req
.byte 0x6f
.byte \x
@@ -834,7 +832,7 @@
.byte \b
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
.macro multichoicedefault x:req, y:req, list:req, default:req, b:req
.byte 0x70
.byte \x
@@ -844,7 +842,7 @@
.byte \b
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box.
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box.
.macro multichoicegrid x:req, y:req, list:req, per_row:req, B:req
.byte 0x71
.byte \x
@@ -878,20 +876,20 @@
.endm
@ Displays a box containing the front sprite for the specified (species) Pokemon species.
- .macro drawmonpic species:req, x:req, y:req
+ .macro showmonpic species:req, x:req, y:req
.byte 0x75
.2byte \species
.byte \x
.byte \y
.endm
- @ Hides all boxes displayed with drawmonpic.
- .macro erasemonpic
+ @ Hides all boxes displayed with showmonpic.
+ .macro hidemonpic
.byte 0x76
.endm
@ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.)
- .macro drawcontestwinner a:req
+ .macro showcontestwinner a:req
.byte 0x77
.byte \a
.endm
@@ -902,15 +900,15 @@
.4byte \text
.endm
- @ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes.
- .macro givemon species:req, level:req, item:req, unknown1:req, unknown2:req, unknown3:req
+ @ Gives the player one of the specified (species) Pokemon at level level holding item. The trailing 0s are unused parameters
+ .macro givemon species:req, level:req, item:req
.byte 0x79
.2byte \species
.byte \level
.2byte \item
- .4byte \unknown1
- .4byte \unknown2
- .byte \unknown3
+ .4byte 0x0
+ .4byte 0x0
+ .byte 0
.endm
.macro giveegg species:req
@@ -925,7 +923,7 @@
.2byte \move
.endm
- @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species.
+ @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, VAR_RESULT is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, VAR_RESULT is set to PARTY_SIZE. VAR_0x8004 is also set to this Pokemon's species.
.macro checkpartymove index:req
.byte 0x7c
.2byte \index
@@ -1045,27 +1043,27 @@
.byte 0x8e
.endm
- @ Stores a random integer between 0 and limit in variable 0x800D (LASTRESULT).
+ @ Stores a random integer between 0 and limit in VAR_RESULT.
.macro random limit:req
.byte 0x8f
.2byte \limit
.endm
@ If check is 0x00, this command adds value to the player's money.
- .macro givemoney value:req, check:req
+ .macro addmoney value:req, check:req
.byte 0x90
.4byte \value
.byte \check
.endm
@ If check is 0x00, this command subtracts value from the player's money.
- .macro takemoney value:req, check:req
+ .macro removemoney value:req, check:req
.byte 0x91
.4byte \value
.byte \check
.endm
- @ If check is 0x00, this command will check if the player has value or more money; script variable 0x800D (LASTRESULT) is set to 0x0001 if the player has enough money, or 0x0000 if the do not.
+ @ If check is 0x00, this command will check if the player has money >= value; VAR_RESULT is set to TRUE if the player has enough money, or FALSE if they do not.
.macro checkmoney value:req, check:req
.byte 0x92
.4byte \value
@@ -1080,9 +1078,11 @@
.byte \check
.endm
- @ Hides the secondary box spawned by showmoney.
+ @ Hides the secondary box spawned by showmoney. Consumption of the x and y arguments was dummied out.
.macro hidemoneybox
.byte 0x94
+ .byte 0 @ \x
+ .byte 0 @ \y
.endm
@ Updates the secondary box spawned by showmoney. Consumes but does not use arguments.
@@ -1099,16 +1099,16 @@
.2byte \index
.endm
- @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white.
- .macro fadescreen effect:req
+ @ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK)
+ .macro fadescreen mode:req
.byte 0x97
- .byte \effect
+ .byte \mode
.endm
- @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. Other modes may exist.
- .macro fadescreenspeed effect:req, speed:req
+ @ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK)
+ .macro fadescreenspeed mode:req, speed:req
.byte 0x98
- .byte \effect
+ .byte \mode
.byte \speed
.endm
@@ -1152,7 +1152,7 @@
.2byte \heallocation
.endm
- @ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
+ @ Checks the player's gender. If male, then MALE (0) is stored in VAR_RESULT. If female, then FEMALE (1) is stored in VAR_RESULT.
.macro checkplayergender
.byte 0xa0
.endm
@@ -1281,12 +1281,12 @@
.2byte \out
.endm
- .macro givecoins count:req
+ .macro addcoins count:req
.byte 0xb4
.2byte \count
.endm
- .macro takecoins count:req
+ .macro removecoins count:req
.byte 0xb5
.2byte \count
.endm
@@ -1435,7 +1435,7 @@
.2byte \slot
.endm
- @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written.
+ @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, VAR_RESULT is TRUE. If the Pokemon is obedient (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
.macro checkmonobedience slot:req
.byte 0xce
.2byte \slot
@@ -1468,31 +1468,34 @@
.byte \location
.endm
- .macro mossdeepgym1 unknown:req
+ @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Moves the objects on the colored puzzle specified by puzzleNumber one rotation
+ .macro moverotatingtileobjects puzzleNumber:req
.byte 0xd3
- .2byte \unknown
+ .2byte \puzzleNumber
.endm
- .macro mossdeepgym2
+ @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Updates the facing direction of all objects on the puzzle tiles
+ .macro turnrotatingtileobjects
.byte 0xd4
.endm
- @ In FireRed, this command is a nop.
- .macro mossdeepgym3 var:req
+ @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Allocates memory for the puzzle objects. isTrickHouse is needed to determine which of the two maps the puzzle is on, in order to know where in the tileset the puzzle tiles start. In FireRed, this command is a nop.
+ .macro initrotatingtilepuzzle isTrickHouse:req
.byte 0xd5
- .2byte \var
+ .2byte \isTrickHouse
.endm
- .macro mossdeepgym4
+ @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Frees the memory allocated for the puzzle objects.
+ .macro freerotatingtilepuzzle
.byte 0xd6
.endm
- .macro warp7 map:req, byte:req, word1:req, word2:req
+ .macro warpmossdeepgym map:req, warpId:req, x:req, y:req
.byte 0xd7
map \map
- .byte \byte
- .2byte \word1
- .2byte \word2
+ .byte \warpId
+ .2byte \x
+ .2byte \y
.endm
.macro cmdD8
@@ -1503,7 +1506,7 @@
.byte 0xd9
.endm
- .macro hidebox2
+ .macro closebraillemessage
.byte 0xda
.endm
@@ -1512,9 +1515,9 @@
.4byte \pointer
.endm
- .macro fadescreenswapbuffers byte:req
+ .macro fadescreenswapbuffers mode:req
.byte 0xdc
- .byte \byte
+ .byte \mode
.endm
.macro buffertrainerclassname out:req, class:req
@@ -1534,7 +1537,7 @@
.4byte \pointer
.endm
- .macro warp8 map:req, byte:req, word1:req, word2:req
+ .macro warpsootopolislegend map:req, byte:req, word1:req, word2:req
.byte 0xe0
map \map
.byte \byte
@@ -1561,12 +1564,12 @@
.macro goto_if_unset flag:req, dest:req
checkflag \flag
- goto_if 0, \dest
+ goto_if FALSE, \dest
.endm
.macro goto_if_set flag:req, dest:req
checkflag \flag
- goto_if 1, \dest
+ goto_if TRUE, \dest
.endm
.macro goto_if_lt dest:req @ LESS THAN
@@ -1595,12 +1598,12 @@
.macro call_if_unset flag:req, dest:req
checkflag \flag
- call_if 0, \dest
+ call_if FALSE, \dest
.endm
.macro call_if_set flag:req, dest:req
checkflag \flag
- call_if 1, \dest
+ call_if TRUE, \dest
.endm
.macro call_if_lt dest:req @ LESS THAN
@@ -1627,6 +1630,44 @@
call_if 5, \dest
.endm
+ .macro vgoto_if_eq dest:req
+ vgoto_if TRUE, \dest
+ .endm
+
+ .macro vgoto_if_ne dest:req
+ vgoto_if FALSE, \dest
+ .endm
+
+ .macro vgoto_if_unset flag:req, dest:req
+ checkflag \flag
+ vgoto_if FALSE, \dest
+ .endm
+
+ .macro vgoto_if_set flag:req, dest:req
+ checkflag \flag
+ vgoto_if TRUE, \dest
+ .endm
+
+ .macro goto_if_defeated trainer:req, dest:req
+ checktrainerflag \trainer
+ goto_if TRUE, \dest
+ .endm
+
+ .macro goto_if_not_defeated trainer:req, dest:req
+ checktrainerflag \trainer
+ goto_if FALSE, \dest
+ .endm
+
+ .macro call_if_defeated trainer:req, dest:req
+ checktrainerflag \trainer
+ call_if TRUE, \dest
+ .endm
+
+ .macro call_if_not_defeated trainer:req, dest:req
+ checktrainerflag \trainer
+ call_if FALSE, \dest
+ .endm
+
.macro switch var:req
copyvar VAR_0x8000, \var
.endm
@@ -1642,6 +1683,7 @@
MSGBOX_DEFAULT = 4
MSGBOX_YESNO = 5
MSGBOX_AUTOCLOSE = 6
+ MSGBOX_GETPOINTS = 9
YES = 1
NO = 0
@@ -1651,13 +1693,19 @@
callstd \type
.endm
- .macro giveitem_std item:req, amount=1, function=0
+ .macro giveitem item:req, amount=1
setorcopyvar VAR_0x8000, \item
setorcopyvar VAR_0x8001, \amount
- callstd \function
+ callstd STD_OBTAIN_ITEM
.endm
- .macro givedecoration_std decoration:req
+ .macro finditem item:req, amount=1
+ setorcopyvar VAR_0x8000, \item
+ setorcopyvar VAR_0x8001, \amount
+ callstd STD_FIND_ITEM
+ .endm
+
+ .macro givedecoration decoration:req
setorcopyvar VAR_0x8000, \decoration
callstd STD_OBTAIN_DECORATION
.endm
@@ -1668,3 +1716,10 @@
setorcopyvar VAR_0x8000, \trainer
callstd STD_REGISTER_MATCH_CALL
.endm
+
+ .macro dofieldeffectsparkle x:req, y:req, priority:req
+ setfieldeffectargument 0, \x
+ setfieldeffectargument 1, \y
+ setfieldeffectargument 2, \priority
+ dofieldeffect FLDEFF_SPARKLE
+ .endm
diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc
index 99b5c8f84..e26a00d76 100644
--- a/asm/macros/movement.inc
+++ b/asm/macros/movement.inc
@@ -102,8 +102,8 @@
create_movement_action clear_fixed_priority
create_movement_action init_affine_anim
create_movement_action clear_affine_anim
- create_movement_action unknown_movement_1
- create_movement_action unknown_movement_2
+ create_movement_action hide_reflection
+ create_movement_action show_reflection
create_movement_action walk_down_start_affine
create_movement_action walk_down_affine
diff --git a/asm/macros/trainer_hill.inc b/asm/macros/trainer_hill.inc
new file mode 100644
index 000000000..d5c84fd02
--- /dev/null
+++ b/asm/macros/trainer_hill.inc
@@ -0,0 +1,108 @@
+ @ Initialize the Trainer Hill challenge and start the timer
+ .macro trainerhill_start
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_START
+ special CallTrainerHillFunction
+ .endm
+
+ @ 0 if not spoken to yet, 1 if spoken to but not received prize, 2 if received prize
+ .macro trainerhill_getownerstate
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_OWNER_STATE
+ special CallTrainerHillFunction
+ .endm
+
+ @ Try to give prize. 0 if given successfully, 1 if no room for prize, 2 if giving prize should be skipped
+ .macro trainerhill_giveprize
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GIVE_PRIZE
+ special CallTrainerHillFunction
+ .endm
+
+ @ Check the final challenge time. 0 if new record, 1 if not, 2 if time has already been checked
+ .macro trainerhill_finaltime
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_CHECK_FINAL_TIME
+ special CallTrainerHillFunction
+ .endm
+
+ @ Resume the timer. Wont resume if owner has been spoken to or max time has been reached
+ .macro trainerhill_resumetimer
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER
+ special CallTrainerHillFunction
+ .endm
+
+ @ Set player lost the challenge (trainerHill.hasLost) to TRUE
+ .macro trainerhill_lost
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_LOST
+ special CallTrainerHillFunction
+ .endm
+
+ @ Get the current challenge status (TRAINER_HILL_PLAYER_STATUS_*)
+ .macro trainerhill_getstatus
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS
+ special CallTrainerHillFunction
+ .endm
+
+ @ Buffer the current timer to string vars (mins to STR_VAR_1, secs to STR_VAR_2, fraction of sec to STR_VAR_3)
+ .macro trainerhill_gettime
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_TIME
+ special CallTrainerHillFunction
+ .endm
+
+ @ FALSE if fewer than all 4 floors used, TRUE otherwise. Only FALSE in JP-exclusive modes
+ .macro trainerhill_allfloorsused
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED
+ special CallTrainerHillFunction
+ .endm
+
+ @ Unknown, dummied. Only side effect is setting VAR_RESULT to 0.
+ .macro trainerhill_clearresult
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_RESULT
+ special CallTrainerHillFunction
+ .endm
+
+ @ TRUE if currently in a Trainer Hill challenge
+ .macro trainerhill_inchallenge
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_IN_CHALLENGE
+ special CallTrainerHillFunction
+ .endm
+
+ @ Show the post battle text for the spoken to Trainer Hill trainer
+ .macro trainerhill_postbattletext
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_POST_BATTLE_TEXT
+ special CallTrainerHillFunction
+ .endm
+
+ @ Set all Trainer Hill trainers defeated
+ .macro trainerhill_settrainerflags
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS
+ special CallTrainerHillFunction
+ .endm
+
+ @ TRUE if the game has been saved for the challenge, FALSE otherwise
+ .macro trainerhill_getsaved
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_GAME_SAVED
+ special CallTrainerHillFunction
+ .endm
+
+ @ Set that the game has been saved for the challenge
+ .macro trainerhill_setsaved
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_GAME_SAVED
+ special CallTrainerHillFunction
+ .endm
+
+ @ Clear that the game has been saved for the challenge
+ .macro trainerhill_clearsaved
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_CLEAR_GAME_SAVED
+ special CallTrainerHillFunction
+ .endm
+
+ @ FALSE if the Trainer Hill challenge was lost, TRUE otherwise
+ .macro trainerhill_getwon
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_WON
+ special CallTrainerHillFunction
+ .endm
+
+ @ Set the challenge mode to HILL_TAG_* (Normal, Variety, Unique, or Expert)
+ .macro trainerhill_settag tag:req
+ setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_TAG
+ copyvar VAR_0x8005, \tag
+ special CallTrainerHillFunction
+ .endm
diff --git a/berry_fix/Makefile b/berry_fix/Makefile
index 2bc225eba..0ead3804f 100644
--- a/berry_fix/Makefile
+++ b/berry_fix/Makefile
@@ -1,7 +1,29 @@
-include $(DEVKITARM)/base_tools
+TOOLCHAIN := $(DEVKITARM)
+COMPARE ?= 0
+
+ifeq ($(CC),)
+HOSTCC := gcc
+else
+HOSTCC := $(CC)
+endif
+
+ifeq ($(CXX),)
+HOSTCXX := g++
+else
+HOSTCXX := $(CXX)
+endif
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+else
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
+PREFIX := arm-none-eabi-
+OBJCOPY := $(PREFIX)objcopy
+export CC := $(PREFIX)gcc
+export AS := $(PREFIX)as
+endif
export CPP := $(PREFIX)cpp
export LD := $(PREFIX)ld
-COMPARE ?= 0
ifeq ($(OS),Windows_NT)
EXE := .exe
@@ -144,7 +166,7 @@ $(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
endif
payload:
- @$(MAKE) -C payload COMPARE=$(COMPARE)
+ @$(MAKE) -C payload COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN)
payload/payload.gba: payload
diff --git a/berry_fix/payload/Makefile b/berry_fix/payload/Makefile
index 63e326724..a121fda93 100644
--- a/berry_fix/payload/Makefile
+++ b/berry_fix/payload/Makefile
@@ -1,7 +1,29 @@
-include $(DEVKITARM)/base_tools
+TOOLCHAIN := $(DEVKITARM)
+COMPARE ?= 0
+
+ifeq ($(CC),)
+HOSTCC := gcc
+else
+HOSTCC := $(CC)
+endif
+
+ifeq ($(CXX),)
+HOSTCXX := g++
+else
+HOSTCXX := $(CXX)
+endif
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+else
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
+PREFIX := arm-none-eabi-
+OBJCOPY := $(PREFIX)objcopy
+export CC := $(PREFIX)gcc
+export AS := $(PREFIX)as
+endif
export CPP := $(PREFIX)cpp
export LD := $(PREFIX)ld
-COMPARE ?= 0
ifeq ($(OS),Windows_NT)
EXE := .exe
diff --git a/common_syms/apprentice.txt b/common_syms/apprentice.txt
index e35133ecc..0d3569dcb 100644
--- a/common_syms/apprentice.txt
+++ b/common_syms/apprentice.txt
@@ -1,3 +1,3 @@
-gUnknown_030062EC
-gUnknown_030062F0
-gUnknown_030062F4
+gApprenticePartyMovesData
+gApprenticeQuestionData
+gApprenticeFunc
diff --git a/common_syms/contest_painting.txt b/common_syms/contest_painting.txt
index 1fba37a59..32bb8be16 100644
--- a/common_syms/contest_painting.txt
+++ b/common_syms/contest_painting.txt
@@ -1,4 +1,4 @@
-gUnknown_03006190
-gUnknown_030061A0
-gUnknown_030061C0
+gContestMonPixels
+gImageProcessingContext
+gContestPaintingWinner
gContestPaintingMonPalette
diff --git a/common_syms/contest_painting_effects.txt b/common_syms/contest_painting_effects.txt
deleted file mode 100644
index 2f3d79219..000000000
--- a/common_syms/contest_painting_effects.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-gUnknown_03006164
-gUnknown_03006168
-gUnknown_0300616C
-gUnknown_03006170
-gUnknown_03006174
-gUnknown_03006178
-gUnknown_0300617C
-gUnknown_03006180
-gUnknown_03006184
-gUnknown_03006188
diff --git a/common_syms/field_specials.txt b/common_syms/field_specials.txt
index 25d874a65..7adb3f669 100644
--- a/common_syms/field_specials.txt
+++ b/common_syms/field_specials.txt
@@ -1 +1 @@
-gUnknown_030061D0
+gScrollableMultichoice_ListMenuTemplate
diff --git a/common_syms/image_processing_effects.txt b/common_syms/image_processing_effects.txt
new file mode 100644
index 000000000..134f7e88b
--- /dev/null
+++ b/common_syms/image_processing_effects.txt
@@ -0,0 +1,10 @@
+gCanvasColumnStart
+gCanvasPixels
+gCanvasRowEnd
+gCanvasHeight
+gCanvasColumnEnd
+gCanvasRowStart
+gCanvasMonPersonality
+gCanvasWidth
+gCanvasPalette
+gCanvasPaletteStart
diff --git a/common_syms/party_menu.txt b/common_syms/party_menu.txt
index 53e72fa53..6ed37392c 100644
--- a/common_syms/party_menu.txt
+++ b/common_syms/party_menu.txt
@@ -1 +1 @@
-gUnknown_03006328
+gItemUseCB
diff --git a/common_syms/save.txt b/common_syms/save.txt
index d7668c332..190a65840 100644
--- a/common_syms/save.txt
+++ b/common_syms/save.txt
@@ -10,4 +10,4 @@ gSaveFileStatus
gGameContinueCallback
gRamSaveSectionLocations
gSaveUnusedVar2
-gUnknown_03006294
+gSaveAttemptStatus
diff --git a/common_syms/trainer_see.txt b/common_syms/trainer_see.txt
index 2d0514325..0b30a632a 100644
--- a/common_syms/trainer_see.txt
+++ b/common_syms/trainer_see.txt
@@ -1,5 +1,5 @@
-gUnknown_03006080
-gUnknown_03006084
+gWhichTrainerToFaceAfterBattle
+gPostBattleMovementScript
gApproachingTrainers
gNoOfApproachingTrainers
-gUnknown_030060AC
+gTrainerApproachedPlayer
diff --git a/constants/berry_constants.inc b/constants/berry_constants.inc
deleted file mode 100644
index 2ecd7ac36..000000000
--- a/constants/berry_constants.inc
+++ /dev/null
@@ -1,6 +0,0 @@
- .set BERRY_FIRMNESS_UNKNOWN, 0
- .set BERRY_FIRMNESS_VERY_SOFT, 1
- .set BERRY_FIRMNESS_SOFT, 2
- .set BERRY_FIRMNESS_HARD, 3
- .set BERRY_FIRMNESS_VERY_HARD, 4
- .set BERRY_FIRMNESS_SUPER_HARD, 5
diff --git a/constants/constants.inc b/constants/constants.inc
index 7c74c8e87..a58bf92a2 100644
--- a/constants/constants.inc
+++ b/constants/constants.inc
@@ -1,6 +1,4 @@
.include "constants/gba_constants.inc"
.include "constants/global.inc"
.include "constants/contest_constants.inc"
- .include "constants/pokemon_data_constants.inc"
- .include "constants/berry_constants.inc"
.include "constants/contest_move_effects.inc"
diff --git a/constants/gba_constants.inc b/constants/gba_constants.inc
index 9d59c8fcd..3ff857ee8 100644
--- a/constants/gba_constants.inc
+++ b/constants/gba_constants.inc
@@ -488,3 +488,26 @@
.set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE
.set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE
.set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE
+
+@ BLDCNT
+
+ .set BLDCNT_TGT1_BG0, 1 << 0
+ .set BLDCNT_TGT1_BG1, 1 << 1
+ .set BLDCNT_TGT1_BG2, 1 << 2
+ .set BLDCNT_TGT1_BG3, 1 << 3
+ .set BLDCNT_TGT1_OBJ, 1 << 4
+ .set BLDCNT_TGT1_BD, 1 << 5
+ .set BLDCNT_TGT1_ALL, BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD
+
+ .set BLDCNT_EFFECT_NONE, 0 << 6
+ .set BLDCNT_EFFECT_BLEND, 1 << 6
+ .set BLDCNT_EFFECT_LIGHTEN, 2 << 6
+ .set BLDCNT_EFFECT_DARKEN, 3 << 6
+
+ .set BLDCNT_TGT2_BG0, 1 << 8
+ .set BLDCNT_TGT2_BG1, 1 << 9
+ .set BLDCNT_TGT2_BG2, 1 << 10
+ .set BLDCNT_TGT2_BG3, 1 << 11
+ .set BLDCNT_TGT2_OBJ, 1 << 12
+ .set BLDCNT_TGT2_BD, 1 << 13
+ .set BLDCNT_TGT2_ALL, BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD
diff --git a/constants/pokemon_data_constants.inc b/constants/pokemon_data_constants.inc
deleted file mode 100644
index 646bd6d4c..000000000
--- a/constants/pokemon_data_constants.inc
+++ /dev/null
@@ -1,35 +0,0 @@
- .set GROWTH_MEDIUM_FAST, 0x00
- .set GROWTH_ERRATIC, 0x01
- .set GROWTH_FLUCTUATING, 0x02
- .set GROWTH_MEDIUM_SLOW, 0x03
- .set GROWTH_FAST, 0x04
- .set GROWTH_SLOW, 0x05
-
- .set BODY_COLOR_RED, 0x00
- .set BODY_COLOR_BLUE, 0x01
- .set BODY_COLOR_YELLOW, 0x02
- .set BODY_COLOR_GREEN, 0x03
- .set BODY_COLOR_BLACK, 0x04
- .set BODY_COLOR_BROWN, 0x05
- .set BODY_COLOR_PURPLE, 0x06
- .set BODY_COLOR_GRAY, 0x07
- .set BODY_COLOR_WHITE, 0x08
- .set BODY_COLOR_PINK, 0x09
-
- .set F_SUMMARY_SCREEN_FLIP_SPRITE, 0x80
-
- .set EVO_FRIENDSHIP, 0x0001 @ Pokémon levels up with friendship ≥ 220
- .set EVO_FRIENDSHIP_DAY, 0x0002 @ Pokémon levels up during the day with friendship ≥ 220
- .set EVO_FRIENDSHIP_NIGHT, 0x0003 @ Pokémon levels up at night with friendship ≥ 220
- .set EVO_LEVEL, 0x0004 @ Pokémon reaches the specified level
- .set EVO_TRADE, 0x0005 @ Pokémon is traded
- .set EVO_TRADE_ITEM, 0x0006 @ Pokémon is traded while it's holding the specified item
- .set EVO_ITEM, 0x0007 @ specified item is used on Pokémon
- .set EVO_LEVEL_ATK_GT_DEF, 0x0008 @ Pokémon reaches the specified level with attack > defense
- .set EVO_LEVEL_ATK_EQ_DEF, 0x0009 @ Pokémon reaches the specified level with attack = defense
- .set EVO_LEVEL_ATK_LT_DEF, 0x000a @ Pokémon reaches the specified level with attack < defense
- .set EVO_LEVEL_SILCOON, 0x000b @ Pokémon reaches the specified level with a Silcoon personality value
- .set EVO_LEVEL_CASCOON, 0x000c @ Pokémon reaches the specified level with a Cascoon personality value
- .set EVO_LEVEL_NINJASK, 0x000d @ Pokémon reaches the specified level (special value for Ninjask)
- .set EVO_LEVEL_SHEDINJA, 0x000e @ Pokémon reaches the specified level (special value for Shedinja)
- .set EVO_BEAUTY, 0x000f @ Pokémon levels up with beauty ≥ specified value
diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s
index 03f76fe29..633c3b38e 100644
--- a/data/battle_ai_scripts.s
+++ b/data/battle_ai_scripts.s
@@ -2395,10 +2395,10 @@ AI_CV_Hail_ScoreDown1:
AI_CV_Hail_End:
end
+@ BUG: Facade score is increased if the target is statused, but should be if the user is. Replace AI_TARGET with AI_USER
AI_CV_Facade:
if_not_status AI_TARGET, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, AI_CV_Facade_End
score +1
-
AI_CV_Facade_End:
end
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index f366d4426..fd1ded459 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -1469,19 +1469,19 @@ Move_SELF_DESTRUCT:
end
SelfDestruct1:
playsewithpan SE_W120, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 0, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 0, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 0, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 0, 1
delay 6
return
@@ -1493,7 +1493,7 @@ Move_SLAM:
playsewithpan SE_W004, SOUND_PAN_ATTACKER
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 3, 0, 4
delay 1
- createsprite gUnknown_085928D0, ANIM_ATTACKER, 2, 0, 0
+ createsprite gSlamHitSpriteTemplate, ANIM_ATTACKER, 2, 0, 0
delay 3
playsewithpan SE_W025B, SOUND_PAN_TARGET
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
@@ -1523,17 +1523,17 @@ Move_VINE_WHIP:
Move_DRILL_PECK:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_WHIRLWIND_LINES
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0
playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1
delay 2
loopsewithpan SE_W030, SOUND_PAN_TARGET, 4, 8
createvisualtask sub_810EB88, 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1
waitforvisualfinish
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2
waitforvisualfinish
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6
waitforvisualfinish
@@ -1637,19 +1637,19 @@ Move_EXPLOSION:
end
Explosion1:
playsewithpan SE_W153, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 1
delay 6
playsewithpan SE_W153, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 0, 1
delay 6
playsewithpan SE_W153, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 0, 1
delay 6
playsewithpan SE_W153, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 0, 1
delay 6
playsewithpan SE_W153, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 0, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 0, 1
delay 6
return
@@ -1657,9 +1657,9 @@ Move_DEFENSE_CURL:
loadspritegfx ANIM_TAG_ECLIPSING_ORB
loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 0
- createvisualtask sub_815B338, 5
+ createvisualtask AnimTask_DefenseCurlDeformMon, 5
waitforvisualfinish
- createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1
+ createsprite gEclipsingOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 6, 0, 1
waitforvisualfinish
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
waitforvisualfinish
@@ -1800,11 +1800,11 @@ Move_SAFEGUARD:
monbg ANIM_ATK_PARTNER
setalpha 8, 8
playsewithpan SE_W208, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593C64, ANIM_ATTACKER, 2
+ createsprite gGuardRingSpriteTemplate, ANIM_ATTACKER, 2
delay 4
- createsprite gUnknown_08593C64, ANIM_ATTACKER, 2
+ createsprite gGuardRingSpriteTemplate, ANIM_ATTACKER, 2
delay 4
- createsprite gUnknown_08593C64, ANIM_ATTACKER, 2
+ createsprite gGuardRingSpriteTemplate, ANIM_ATTACKER, 2
waitforvisualfinish
playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 10, 0, 2, 0, 10, RGB_WHITE
@@ -1885,11 +1885,11 @@ Move_PAY_DAY:
monbgprio_28 ANIM_TARGET
setalpha 12, 8
playsewithpan SE_W013B, SOUND_PAN_ATTACKER
- createsprite gUnknown_085934D8, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152
+ createsprite gCoinThrowSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152
waitforvisualfinish
playsewithpan SE_W006, SOUND_PAN_TARGET
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2
- createsprite gUnknown_085934F0, ANIM_ATTACKER, 2
+ createsprite gFallingCoinSpriteTemplate, ANIM_ATTACKER, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -1992,26 +1992,26 @@ Move_ATTRACT:
loopsewithpan SE_W204, SOUND_PAN_ATTACKER, 12, 3
createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER
delay 15
- createsprite gUnknown_085939A0, ANIM_TARGET, 3, 20, -8
+ createsprite gRedHeartProjectileSpriteTemplate, ANIM_TARGET, 3, 20, -8
waitforvisualfinish
playsewithpan SE_W213, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 160, -32
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -256, -40
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 128, -16
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 416, -38
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -128, -22
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 160, -32
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -256, -40
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 128, -16
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 416, -38
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -128, -22
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -384, -31
waitforvisualfinish
waitplaysewithpan SE_W213B, 0, 15
createvisualtask AnimTask_HeartsBackground, 5
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 80, 224, 45
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 170, 272, 60
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90
- createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 16, 256, 0
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 224, 240, 15
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 126, 272, 30
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 80, 224, 45
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 170, 272, 60
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 40, 256, 75
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 112, 256, 90
+ createsprite gRedHeartRisingSpriteTemplate, ANIM_ATTACKER, 40, 200, 272, 90
delay 75
createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27)
end
@@ -2069,11 +2069,11 @@ Move_CONFUSE_RAY:
Move_LOCK_ON:
loadspritegfx ANIM_TAG_LOCK_ON
- createsprite gUnknown_08592CA0, ANIM_ATTACKER, 40
- createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 1
- createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 2
- createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 3
- createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 4
+ createsprite gLockOnTargetSpriteTemplate, ANIM_ATTACKER, 40
+ createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 1
+ createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 2
+ createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 3
+ createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 4
delay 120
setarg 7, -1
waitforvisualfinish
@@ -2086,7 +2086,7 @@ Move_MEAN_LOOK:
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, RGB_BLACK
loopsewithpan SE_W109, SOUND_PAN_TARGET, 15, 4
waitplaysewithpan SE_W043, SOUND_PAN_TARGET, 0x55
- createsprite gUnknown_085CE104, ANIM_ATTACKER, 2
+ createsprite gMeanLookEyeSpriteTemplate, ANIM_ATTACKER, 2
delay 120
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_BLACK
delay 30
@@ -2264,23 +2264,23 @@ Move_SMOKESCREEN:
loadspritegfx ANIM_TAG_BLACK_SMOKE
loadspritegfx ANIM_TAG_BLACK_BALL
playsewithpan SE_W104, SOUND_PAN_ATTACKER
- createsprite gUnknown_085CE050, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25
+ createsprite gBlackBallSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25
waitforvisualfinish
- createvisualtask sub_815A160, 2
+ createvisualtask AnimTask_SmokescreenImpact, 2
delay 2
playsewithpan SE_W028, SOUND_PAN_TARGET
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -12, 104, 0, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -12, 72, 1, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -6, 56, 1, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -6, 88, 0, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 0, 56, 0, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 0, 88, 1, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 6, 72, 0, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 6, 104, 1, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 12, 72, 0, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 12, 56, 1, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 18, 80, 0, 75
- createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 18, 72, 1, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -12, 104, 0, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -12, 72, 1, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -6, 56, 1, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, -6, 88, 0, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 0, 56, 0, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 0, 88, 1, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 6, 72, 0, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 6, 104, 1, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 12, 72, 0, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 12, 56, 1, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 18, 80, 0, 75
+ createsprite gBlackSmokeSpriteTemplate, ANIM_TARGET, 4, 0, 18, 72, 1, 75
waitforvisualfinish
end
@@ -2291,45 +2291,45 @@ Move_CONVERSION:
setalpha 16, 0
delay 0
playsewithpan SE_W129, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, -24
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, -24
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, -24
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, -24
delay 3
playsewithpan SE_W129, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, -8
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, -8
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, -8
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, -8
delay 3
playsewithpan SE_W129, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, 8
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, 8
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, 8
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 8
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, 8
delay 3
playsewithpan SE_W129, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -24, 24
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, -8, 24
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 8, 24
delay 3
- createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 24
+ createsprite gConversionSpriteTemplate, ANIM_ATTACKER, 2, 24, 24
delay 20
playsewithpan SE_W112, SOUND_PAN_ATTACKER
createvisualtask sub_8115D94, 2, ANIM_TAG_CONVERSION, 1, 1, 14335, 12, 0, 0
delay 6
- createvisualtask sub_81022D4, 5
+ createvisualtask AnimTask_ConversionAlphaBlend, 5
waitforvisualfinish
delay 1
clearmonbg ANIM_ATK_PARTNER
@@ -2343,23 +2343,23 @@ Move_CONVERSION_2:
setalpha 0, 16
delay 0
playsewithpan SE_W112, SOUND_PAN_TARGET
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -24, 60
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -24, 65
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -24, 70
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -24, 75
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -8, 80
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -8, 85
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -8, 90
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -8, 95
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 8, 100
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 8, 105
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 8, 110
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 8, 115
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 24, 120
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 24, 125
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 24, 130
- createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 24, 135
- createvisualtask sub_81023E0, 5
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, -24, 60
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, -24, 65
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, -24, 70
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, -24, 75
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, -8, 80
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, -8, 85
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, -8, 90
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, -8, 95
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, 8, 100
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, 8, 105
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, 8, 110
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 115
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -24, 24, 120
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, -8, 24, 125
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 8, 24, 130
+ createsprite gConversion2SpriteTemplate, ANIM_ATTACKER, 2, 24, 24, 135
+ createvisualtask AnimTask_Conversion2AlphaBlend, 5
delay 60
playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
@@ -2405,15 +2405,15 @@ Move_ROLLING_KICK:
Move_HEADBUTT:
loadspritegfx ANIM_TAG_IMPACT
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0
playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2
createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
@@ -2422,16 +2422,16 @@ Move_HEADBUTT:
Move_HORN_ATTACK:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_HORN_HIT
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0
playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
- createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 10
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1
+ createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0, 0, 10
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2
createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
playsewithpan SE_W030, SOUND_PAN_TARGET
waitforvisualfinish
@@ -2448,14 +2448,14 @@ FuryAttackContinue:
end
FuryAttackRight:
- createsprite gUnknown_08592F44, ANIM_TARGET, 4, 8, 8, 10
+ createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 8, 8, 10
waitforvisualfinish
createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
playsewithpan SE_W030, SOUND_PAN_TARGET
goto FuryAttackContinue
FuryAttackLeft:
- createsprite gUnknown_08592F44, ANIM_TARGET, 4, -8, -8, 10
+ createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, -8, -8, 10
waitforvisualfinish
createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
playsewithpan SE_W030, SOUND_PAN_TARGET
@@ -2471,12 +2471,12 @@ Move_HORN_DRILL:
HornDrillContinue:
waitbgfadein
setalpha 12, 8
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0
playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
- createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 12
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 1
+ createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0, 0, 12
waitforvisualfinish
playse SE_BAN
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1
@@ -2514,7 +2514,7 @@ HornDrillContinue:
createsprite gUnknown_085973E8, ANIM_TARGET, 3, 32, 0, 1, 2
playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
+ createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 2
waitforvisualfinish
restorebg
waitbgfadeout
@@ -2531,8 +2531,8 @@ HornDrillInContest:
Move_THRASH:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_HANDS_AND_FEET
- createvisualtask sub_8104C38, 2
- createvisualtask sub_8104CA4, 2
+ createvisualtask AnimTask_ThrashMoveMonHorizontal, 2
+ createvisualtask AnimTask_ThrashMoveMonVertical, 2
createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 0
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1
playsewithpan SE_W004, SOUND_PAN_TARGET
@@ -2549,36 +2549,36 @@ Move_THRASH:
Move_SING:
loadspritegfx ANIM_TAG_MUSIC_NOTES
monbg ANIM_DEF_PARTNER
- createvisualtask sub_8102BE8, 2
+ createvisualtask AnimTask_MusicNotesRainbowBlend, 2
waitforvisualfinish
panse_1B SE_W047, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 0, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 0, 12
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 12
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 2, 12
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 3, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 3, 12
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 0, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 3, 0, 12
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 12
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 2, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 2, 12
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 3, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 3, 12
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 0, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 0, 12
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 12
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 2, 12
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 3, 12
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 3, 12
delay 4
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
- createvisualtask sub_8102CA0, 2
+ createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2
waitforvisualfinish
end
@@ -2775,7 +2775,7 @@ Move_TELEPORT:
end
Move_DOUBLE_TEAM:
- createvisualtask sub_81029B4, 2
+ createvisualtask AnimTask_DoubleTeam, 2
setalpha 12, 8
monbg ANIM_ATK_PARTNER
playsewithpan SE_W104, SOUND_PAN_ATTACKER
@@ -2812,10 +2812,10 @@ Move_MINIMIZE:
Move_METRONOME:
loadspritegfx ANIM_TAG_FINGER
loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
- createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 100
+ createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100
playsewithpan SE_W118, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085931BC, ANIM_ATTACKER, 12, 0
+ createsprite gMetronomeFingerSpriteTemplate, ANIM_ATTACKER, 12, 0
delay 24
loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3
waitforvisualfinish
@@ -2841,7 +2841,7 @@ SkullBashSetUp1:
return
SkullBashAttack:
loadspritegfx ANIM_TAG_IMPACT
- createvisualtask sub_8101C94, 2, 0
+ createvisualtask AnimTask_SkullBashPosition, 2, 0
playsewithpan SE_W036, SOUND_PAN_ATTACKER
waitforvisualfinish
playse SE_BAN
@@ -2851,7 +2851,7 @@ SkullBashAttack:
createsprite gUnknown_085973E8, ANIM_TARGET, 4, 0, 0, 1, 0
loopsewithpan SE_W025B, SOUND_PAN_TARGET, 8, 3
waitforvisualfinish
- createvisualtask sub_8101C94, 2, 1
+ createvisualtask AnimTask_SkullBashPosition, 2, 1
goto SkullBashEnd
Move_AMNESIA:
@@ -2893,9 +2893,9 @@ Move_GLARE:
waitforvisualfinish
createvisualtask sub_8116620, 5, 1, 0, 0, 16, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8
- createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8
- createvisualtask sub_81064F8, 5
+ createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, -16, -8
+ createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 16, -8
+ createvisualtask AnimTask_ScaryFace, 5
playsewithpan SE_W043, SOUND_PAN_ATTACKER
delay 2
createvisualtask sub_810A094, 3, 20, 1, 0
@@ -3006,7 +3006,7 @@ Move_ACID_ARMOR:
Move_SHARPEN:
loadspritegfx ANIM_TAG_SPHERE_TO_CUBE
- createsprite gUnknown_08592DE4, ANIM_ATTACKER, 2
+ createsprite gSharpenSphereSpriteTemplate, ANIM_ATTACKER, 2
waitforvisualfinish
end
@@ -3021,7 +3021,7 @@ Move_SUPER_FANG:
delay 20
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 4
- createsprite gUnknown_08592F74, ANIM_TARGET, 2
+ createsprite gSuperFangSpriteTemplate, ANIM_TARGET, 2
playsewithpan SE_W044, SOUND_PAN_TARGET
delay 8
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB(31, 2, 2), 14, 0x7FFF, 14
@@ -3032,10 +3032,10 @@ Move_SUPER_FANG:
Move_SLASH:
loadspritegfx ANIM_TAG_SLASH
- createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, -8, 0
+ createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0
playsewithpan SE_W013, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, 8, 0
+ createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, 8, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1
playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
@@ -3047,8 +3047,8 @@ Move_STRUGGLE:
monbg ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4
- createsprite gUnknown_08593B80, ANIM_ATTACKER, 2, 0, 0, 2
- createsprite gUnknown_08593B80, ANIM_ATTACKER, 2, 0, 1, 2
+ createsprite gMovementWavesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 2
+ createsprite gMovementWavesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 2
loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 12, 4
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
@@ -3063,7 +3063,7 @@ Move_SKETCH:
loadspritegfx ANIM_TAG_PENCIL
monbg ANIM_TARGET
createvisualtask sub_8104E74, 2
- createsprite gUnknown_085936D4, ANIM_TARGET, 2
+ createsprite gPencilSpriteTemplate, ANIM_TARGET, 2
waitforvisualfinish
clearmonbg ANIM_TARGET
createvisualtask AnimTask_Splash, 2, 0, 2
@@ -3206,15 +3206,15 @@ Move_ENDURE:
end
EndureEffect:
- createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -24, 26, 2
+ createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 26, 2
delay 4
- createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 14, 28, 1
+ createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 14, 28, 1
delay 4
- createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -5, 10, 2
+ createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2
delay 4
- createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 28, 26, 3
+ createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 26, 3
delay 4
- createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -12, 0, 1
+ createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 0, 1
return
Move_CHARM:
@@ -3251,23 +3251,23 @@ Move_ROLLOUT:
Move_FALSE_SWIPE:
loadspritegfx ANIM_TAG_SLASH_2
loadspritegfx ANIM_TAG_IMPACT
- createsprite gUnknown_08592D44, ANIM_TARGET, 2
+ createsprite gFalseSwipeSliceSpriteTemplate, ANIM_TARGET, 2
playsewithpan SE_W233, SOUND_PAN_TARGET
delay 16
- createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 0
+ createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 0
playsewithpan SE_W104, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 16
+ createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 16
delay 2
- createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 32
+ createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 32
playsewithpan SE_W104, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 48
+ createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 48
delay 2
- createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 64
+ createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 64
playsewithpan SE_W104, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 80
+ createsprite gFalseSwipePositionedSliceSpriteTemplate, ANIM_TARGET, 2, 80
delay 2
waitforvisualfinish
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
@@ -3298,7 +3298,7 @@ Move_MILK_DRINK:
loadspritegfx ANIM_TAG_THIN_RING
loadspritegfx ANIM_TAG_BLUE_STAR
monbg ANIM_TARGET
- createsprite gUnknown_08592B3C, ANIM_ATTACKER, 2
+ createsprite gMilkBottleSpriteTemplate, ANIM_ATTACKER, 2
delay 40
playsewithpan SE_W152, SOUND_PAN_ATTACKER
delay 12
@@ -3306,7 +3306,7 @@ Move_MILK_DRINK:
delay 20
playsewithpan SE_W152, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 1, 0
+ createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0
playsewithpan SE_W208, SOUND_PAN_ATTACKER
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -3340,8 +3340,8 @@ Move_RAPID_SPIN:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_RAPID_SPIN
monbg ANIM_ATTACKER
- createsprite gUnknown_085CE288, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2
- createvisualtask sub_815ADB0, 2, 0, 2, 0
+ createsprite gRapidSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2
+ createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 0
loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2
@@ -3349,7 +3349,7 @@ Move_RAPID_SPIN:
playsewithpan SE_W003, SOUND_PAN_TARGET
waitforvisualfinish
delay 8
- createvisualtask sub_815ADB0, 2, 0, 2, 1
+ createvisualtask AnimTask_RapinSpinMonElevation, 2, 0, 2, 1
loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
waitforvisualfinish
clearmonbg ANIM_ATTACKER
@@ -3362,21 +3362,21 @@ Move_MOONLIGHT:
setalpha 0, 16
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08592EBC, ANIM_ATTACKER, 2, 120, 56
+ createsprite gMoonSpriteTemplate, ANIM_ATTACKER, 2, 120, 56
createvisualtask sub_80A7A74, 3, 0, 16, 16, 0, 1
playsewithpan SE_W236, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -12, 0
+ createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -12, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -24, 0
+ createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, -24, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 21, 0
+ createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 21, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 0, 0
+ createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 0, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 10, 0
+ createsprite gMoonlightSparkleSpriteTemplate, ANIM_ATTACKER, 40, 10, 0
delay 20
- createvisualtask sub_81025C0, 2
+ createvisualtask AnimTask_FadeScreenBlue, 2
waitforvisualfinish
call HealingEffect
waitforvisualfinish
@@ -3392,15 +3392,15 @@ ExtremeSpeedContinue:
waitbgfadeout
createvisualtask sub_8117660, 5, -2304, 0, 1, -1
waitbgfadein
- createvisualtask sub_810577C, 2
+ createvisualtask AnimTask_StretchAttacker, 2
loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 3
waitforvisualfinish
delay 1
- createvisualtask sub_8117F60, 2
+ createvisualtask AnimTask_ExtremeSpeedMoveTarget, 2
monbg ANIM_TARGET
setalpha 12, 8
delay 18
- createvisualtask sub_8105810, 2
+ createvisualtask AnimTask_ExtremeSpeedImpact, 2
delay 2
playsewithpan SE_W004, SOUND_PAN_TARGET
createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, -12, 3
@@ -3411,9 +3411,9 @@ ExtremeSpeedContinue:
playsewithpan SE_W233B, SOUND_PAN_TARGET
createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, 0, 3
waitforvisualfinish
- createvisualtask sub_8105AAC, 2
+ createvisualtask AnimTask_SpeedDust, 2
delay 10
- createvisualtask sub_810599C, 2
+ createvisualtask AnimTask_ExtremeSpeedMonReappear, 2
loopsewithpan SE_W104, SOUND_PAN_ATTACKER, 8, 4
waitforvisualfinish
restorebg
@@ -3434,23 +3434,23 @@ Move_UPROAR:
loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE
loadspritegfx ANIM_TAG_THIN_RING
monbg ANIM_DEF_PARTNER
- createvisualtask sub_8106D90, 2, 0
- createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
+ createvisualtask AnimTask_UproarDistortion, 2, 0
+ createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
playsewithpan SE_W253, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 29, -12, 0
- createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -12, -29, 1
+ createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 29, -12, 0
+ createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -12, -29, 1
delay 16
- createvisualtask sub_8106D90, 2, 0
- createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
+ createvisualtask AnimTask_UproarDistortion, 2, 0
+ createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
playsewithpan SE_W253, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 12, -29, 1
- createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -29, -12, 0
+ createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 12, -29, 1
+ createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -29, -12, 0
delay 16
- createvisualtask sub_8106D90, 2, 0
- createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
+ createvisualtask AnimTask_UproarDistortion, 2, 0
+ createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
playsewithpan SE_W253, SOUND_PAN_ATTACKER
- createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 24, -24, 1
- createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -24, -24, 0
+ createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, -24, 1
+ createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, -24, 0
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
@@ -3493,7 +3493,7 @@ Move_HAIL:
Move_TORMENT:
loadspritegfx ANIM_TAG_ANGER
loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
- createvisualtask sub_815AFF0, 2
+ createvisualtask AnimTask_TormentAttacker, 2
waitforvisualfinish
createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_TARGET, RGB_RED, 10, 1, 1
createsprite gAngerMarkSpriteTemplate, ANIM_TARGET, 2, 1, -20, -28
@@ -3551,7 +3551,7 @@ Move_SMELLING_SALT:
Move_FOLLOW_ME:
loadspritegfx ANIM_TAG_FINGER
- createsprite gUnknown_085931D4, ANIM_ATTACKER, 2, 0
+ createsprite gFollowMeFingerSpriteTemplate, ANIM_ATTACKER, 2, 0
playsewithpan SE_W039, SOUND_PAN_ATTACKER
delay 18
playsewithpan SE_W213, SOUND_PAN_ATTACKER
@@ -3598,10 +3598,10 @@ Move_TAUNT:
loadspritegfx ANIM_TAG_FINGER_2
loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
loadspritegfx ANIM_TAG_ANGER
- createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 45
+ createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 45
playsewithpan SE_W118, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_0859324C, ANIM_ATTACKER, 12, 0
+ createsprite gTauntFingerSpriteTemplate, ANIM_ATTACKER, 12, 0
delay 4
loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 16, 2
waitforvisualfinish
@@ -3906,7 +3906,7 @@ Move_LUSTER_PURGE:
loadspritegfx ANIM_TAG_IMPACT
fadetobg BG_PSYCHIC
waitbgfadeout
- createvisualtask sub_815A5C8, 5
+ createvisualtask AnimTask_FadeScreenToWhite, 5
waitbgfadein
monbg ANIM_ATTACKER
setalpha 12, 8
@@ -3990,19 +3990,19 @@ Move_TEETER_DANCE:
loadspritegfx ANIM_TAG_MUSIC_NOTES
loadspritegfx ANIM_TAG_DUCK
createvisualtask AnimTask_TeeterDanceMovement, 5
- createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 16, -2
+ createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, -2
playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 0, -2
+ createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, -2
playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, -16, -2
+ createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, -16, -2
playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 1, -8, -2
+ createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, -8, -2
playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 2, 8, -2
+ createsprite gFastFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 2, 8, -2
playsewithpan SE_W298, SOUND_PAN_ATTACKER
end
@@ -4058,42 +4058,42 @@ Move_NEEDLE_ARM:
loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_HANDS_AND_FEET
loopsewithpan SE_W030, SOUND_PAN_TARGET, 2, 16
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -32, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, -32, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 22, -22, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 22, -22, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 30, 0, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 30, 0, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 20, 20, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 20, 20, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, 28, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, 28, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -19, 19, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -19, 19, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -27, 0, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -27, 0, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -18, -18, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, -18, -18, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -25, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 0, -25, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 17, -17, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 17, -17, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 23, 0, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 23, 0, 16
delay 2
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 16, 16, 16
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 0, 16, 16, 16
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0
playsewithpan SE_W233B, SOUND_PAN_TARGET
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, -24, 10
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, -17, 10
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 24, 0, 10
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, 17, 10
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, 24, 10
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, 17, 10
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -24, 0, 10
- createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, -17, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0, -24, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 17, -17, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 24, 0, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 17, 17, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0, 24, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, 17, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -24, 0, 10
+ createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, -17, 10
end
Move_SLACK_OFF:
@@ -4135,17 +4135,17 @@ Move_AROMATHERAPY:
delay 1
monbg ANIM_ATTACKER
delay 1
- createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 24, 16, 0, 2, 2, 0, 0
- createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 64, 24, 0, 3, 1, 1, 0
- createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 16, 24, 0, 2, 1, 0, 0
+ createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 24, 16, 0, 2, 2, 0, 0
+ createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 64, 24, 0, 3, 1, 1, 0
+ createsprite gAromatherapyBigFlowerSpriteTemplate, ANIM_ATTACKER, 0, 16, 24, 0, 2, 1, 0, 0
delay 20
- createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 48, 12, 0, 4, 3, 1, 0
- createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 100, 16, 0, 3, 2, 0, 0
- createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 74, 24, 180, 3, 2, 0, 0
+ createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 48, 12, 0, 4, 3, 1, 0
+ createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 100, 16, 0, 3, 2, 0, 0
+ createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 74, 24, 180, 3, 2, 0, 0
delay 10
- createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 80, 30, 0, 4, 1, 1, 0
- createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 128, 12, 0, 3, 3, 0, 0
- createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 90, 16, 0, 2, 1, 0, 0
+ createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 66, 80, 30, 0, 4, 1, 1, 0
+ createsprite gAromatherapySmallFlowerSpriteTemplate, ANIM_ATTACKER, 0, 128, 12, 0, 3, 3, 0, 0
+ createsprite gAromatherapyBigFlowerSpriteTemplate, ANIM_ATTACKER, 0, 90, 16, 0, 2, 1, 0, 0
waitforvisualfinish
clearmonbg ANIM_ATTACKER
delay 1
@@ -4155,13 +4155,13 @@ Move_AROMATHERAPY:
createvisualtask sub_815DFCC, 2, 1
waitforvisualfinish
playsewithpan SE_W234, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1
+ createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1
delay 8
- createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1
+ createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1
waitforvisualfinish
playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 43, 3, 10, 0, RGB(13, 31, 12)
- createsprite gUnknown_08593868, ANIM_ATTACKER, 16, 0, 0, 0, 1
+ createsprite gBlendThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 16, 0, 0, 0, 1
waitforvisualfinish
end
@@ -4196,10 +4196,10 @@ Move_AIR_CUTTER:
monbg ANIM_DEF_PARTNER
setalpha 12, 8
delay 0
- createvisualtask sub_8103CF0, 2, 32, -24, 1536, 2, 128
+ createvisualtask AnimTask_AirCutterProjectile, 2, 32, -24, 1536, 2, 128
waitforvisualfinish
playsewithpan SE_W015, SOUND_PAN_TARGET
- createsprite gUnknown_08592A34, ANIM_ATTACKER, 2, 40, -32, 0, 2
+ createsprite gAirCutterSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0, 2
delay 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 8, 1
@@ -4229,35 +4229,35 @@ Move_GRASS_WHISTLE:
loadspritegfx ANIM_TAG_MUSIC_NOTES
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB(18, 31, 12)
waitforvisualfinish
- createvisualtask sub_8102BE8, 2
+ createvisualtask AnimTask_MusicNotesRainbowBlend, 2
waitforvisualfinish
panse_1B SE_W320, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 1, 0
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 0
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0
delay 5
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 3, 1, 0
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 1, 0
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 6, 1, 0
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 2, 1, 0
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 1, 1, 0
delay 4
- createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0
+ createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 5, 1, 0
delay 4
waitforvisualfinish
- createvisualtask sub_8102CA0, 2
+ createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 4, 0, RGB(18, 31, 12)
waitforvisualfinish
end
@@ -4266,8 +4266,8 @@ Move_TICKLE:
loadspritegfx ANIM_TAG_EYE_SPARKLE
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 0, 16, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8
- createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8
+ createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, -16, -8
+ createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 16, -8
playsewithpan SE_W197, SOUND_PAN_ATTACKER
waitforvisualfinish
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 16, 0, RGB_BLACK
@@ -4473,13 +4473,13 @@ Move_CALM_MIND:
waitforvisualfinish
createvisualtask sub_81177E4, 5, 1
waitforvisualfinish
- createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0
+ createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0
playsewithpan SE_W048, SOUND_PAN_ATTACKER
delay 14
- createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0
+ createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0
playsewithpan SE_W048, SOUND_PAN_ATTACKER
delay 14
- createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0
+ createsprite gThinRingShrinkingSpriteTemplate, ANIM_ATTACKER, 40, 0, 0, 0, 0
playsewithpan SE_W048, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_81177E4, 5, 0
@@ -4492,7 +4492,7 @@ Move_CALM_MIND:
Move_LEAF_BLADE:
loadspritegfx ANIM_TAG_LEAF
loadspritegfx ANIM_TAG_CROSS_IMPACT
- createvisualtask sub_80FFFC0, 5
+ createvisualtask AnimTask_LeafBlade, 5
delay 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
playsewithpan SE_W015, SOUND_PAN_TARGET
@@ -4577,43 +4577,43 @@ Move_HARDEN:
Move_BELLY_DRUM:
loadspritegfx ANIM_TAG_MUSIC_NOTES
loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE
- createvisualtask sub_8102BE8, 2
+ createvisualtask AnimTask_MusicNotesRainbowBlend, 2
waitforvisualfinish
call BellyDrum1
- createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 0, 0, 0
+ createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0, 0
playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 15
call BellyDrum2
- createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 1, 1, 0
+ createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 1, 0
playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 15
call BellyDrum1
- createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 3, 3, 128
+ createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 3, 3, 128
playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 7
call BellyDrum2
- createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 2, 0, 128
+ createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 128
playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 7
call BellyDrum1
- createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 1, 1, 0
+ createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 1, 0
playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 7
call BellyDrum2
- createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 0, 3, 0
+ createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 3, 0
playsewithpan SE_W187, SOUND_PAN_ATTACKER
waitforvisualfinish
- createvisualtask sub_8102CA0, 2
+ createvisualtask AnimTask_MusicNotesClearRainbowBlend, 2
waitforvisualfinish
end
BellyDrum2:
- createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 0
+ createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1
return
BellyDrum1:
- createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 1
+ createsprite gBellyDrumHandSpriteTemplate, ANIM_ATTACKER, 3, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1
return
@@ -4623,8 +4623,8 @@ Move_MIND_READER:
loadspritegfx ANIM_TAG_ROUND_WHITE_HALO
monbg ANIM_DEF_PARTNER
playsewithpan SE_W109, SOUND_PAN_TARGET
- createsprite gUnknown_085CE07C, ANIM_ATTACKER, 5, 0, 0, 1, 0
- createsprite gUnknown_085CE094, ANIM_ATTACKER, 5
+ createsprite gOpeningEyeSpriteTemplate, ANIM_ATTACKER, 5, 0, 0, 1, 0
+ createsprite gWhiteHaloSpriteTemplate, ANIM_ATTACKER, 5
delay 40
playsewithpan SE_W043, SOUND_PAN_TARGET
createvisualtask sub_8115A04, 2, 1, 1, 2, 0, 10, RGB_BLACK
@@ -4634,26 +4634,26 @@ Move_MIND_READER:
end
MindReaderEffect:
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 70, 0, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 40, 40, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 10, -60, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -50, -40, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -40, 40, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -50, 6
- delay 2
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -30, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 60, 10, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 0, 60, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 0, -40, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, 20, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, -30, 6
- delay 2
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -50, 50, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, 20, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -40, -40, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 20, -60, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -50, 6
- createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 35, 40, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 70, 0, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 40, 40, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 10, -60, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -50, -40, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -40, 40, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 50, -50, 6
+ delay 2
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 50, -30, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 60, 10, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0, 60, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0, -40, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -60, 20, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -60, -30, 6
+ delay 2
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -50, 50, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -60, 20, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, -40, -40, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 20, -60, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 50, -50, 6
+ createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 35, 40, 6
delay 2
return
@@ -4697,11 +4697,11 @@ Move_ICE_PUNCH:
Move_REST:
playsewithpan SE_W173, SOUND_PAN_ATTACKER
loadspritegfx ANIM_TAG_LETTER_Z
- createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
+ createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
delay 20
- createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
+ createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
delay 20
- createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
+ createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
waitforvisualfinish
end
@@ -4912,7 +4912,7 @@ Move_SCRATCH:
monbg ANIM_TARGET
setalpha 12, 8
playsewithpan SE_W010, SOUND_PAN_TARGET
- createsprite gUnknown_085CE020, ANIM_ATTACKER, 2, 0, 0, 1, 0
+ createsprite gScratchSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -5010,9 +5010,9 @@ Snore1:
createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 7, ANIM_ATTACKER, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1
createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 6, 1, 14, 0, 0
- createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, -42, -38, 24, 0, 0
- createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, 0, -42, 24, 0, 0
- createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0
+ createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, -42, -38, 24, 0, 0
+ createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0, -42, 24, 0, 0
+ createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0
return
Move_LIGHT_SCREEN:
@@ -5158,7 +5158,7 @@ Move_FAINT_ATTACK:
clearmonbg ANIM_ATTACKER
invisible ANIM_ATTACKER
delay 1
- createvisualtask sub_8117F60, 2
+ createvisualtask AnimTask_ExtremeSpeedMoveTarget, 2
setalpha 12, 8
monbg ANIM_TARGET
delay 1
@@ -6086,14 +6086,14 @@ Move_SPIKES:
monbg ANIM_DEF_PARTNER
playsewithpan SE_W026, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28
- createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, 0, 24, 30
+ createsprite gSpikesSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 24, 30
delay 10
playsewithpan SE_W026, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28
- createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, -24, 24, 30
+ createsprite gSpikesSpriteTemplate, ANIM_TARGET, 2, 20, 0, -24, 24, 30
delay 10
waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28
- createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, 24, 24, 30
+ createsprite gSpikesSpriteTemplate, ANIM_TARGET, 2, 20, 0, 24, 24, 30
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
@@ -6580,19 +6580,19 @@ Move_DYNAMIC_PUNCH:
waitsound
playsewithpan SE_W120, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 5, 0, 28, 1
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6897,16 +6897,16 @@ Move_OCTAZOOKA:
loadspritegfx ANIM_TAG_GRAY_SMOKE
loadspritegfx ANIM_TAG_BLACK_BALL
playsewithpan SE_W025B, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592DFC, ANIM_TARGET, 2, 20, 0, 0, 0, 20, 0
+ createsprite gOctazookaBallSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 0, 20, 0
waitforvisualfinish
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, 8, 1, 0
+ createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, 8, 8, 1, 0
delay 2
- createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, -8, 1, 0
+ createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, -8, -8, 1, 0
delay 2
- createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, -8, 1, 0
+ createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, 8, -8, 1, 0
delay 2
- createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, 8, 1, 0
+ createsprite gOctazookaSmokeSpriteTemplate, ANIM_TARGET, 2, -8, 8, 1, 0
waitforvisualfinish
end
@@ -6986,7 +6986,7 @@ Move_LEER:
monbgprio_28 ANIM_ATTACKER
setalpha 8, 8
playsewithpan SE_W043, SOUND_PAN_ATTACKER
- createsprite gUnknown_085CE150, ANIM_ATTACKER, 2, 24, -12
+ createsprite gLeerSpriteTemplate, ANIM_ATTACKER, 2, 24, -12
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1
waitforvisualfinish
delay 10
@@ -7320,22 +7320,22 @@ Move_EGG_BOMB:
loadspritegfx ANIM_TAG_EXPLOSION
loadspritegfx ANIM_TAG_LARGE_FRESH_EGG
playsewithpan SE_W039, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593488, ANIM_TARGET, 2, 10, 0, 0, 0, 25, -32
+ createsprite gEggThrowSpriteTemplate, ANIM_TARGET, 2, 10, 0, 0, 0, 25, -32
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 6, 5, 1, 0
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 6, 5, 1, 0
playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, -16, -15, 1, 0
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, -16, -15, 1, 0
playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 16, -5, 1, 0
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 16, -5, 1, 0
playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, -12, 18, 1, 0
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, -12, 18, 1, 0
playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 0, 5, 1, 0
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 0, 5, 1, 0
playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
waitforvisualfinish
@@ -7677,15 +7677,15 @@ Move_SOFT_BOILED:
monbg ANIM_ATK_PARTNER
playsewithpan SE_W039, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 2, 6, 1
- createsprite gUnknown_085937B0, ANIM_ATTACKER, 4, 0, 16, 0
- createsprite gUnknown_085937B0, ANIM_ATTACKER, 4, 0, 16, 1
+ createsprite gSoftBoiledEggSpriteTemplate, ANIM_ATTACKER, 4, 0, 16, 0
+ createsprite gSoftBoiledEggSpriteTemplate, ANIM_ATTACKER, 4, 0, 16, 1
delay 120
delay 7
playsewithpan SE_W030, SOUND_PAN_ATTACKER
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 10, 0, RGB(12, 24, 30)
- createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 31, 16, 0, 1
+ createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 31, 16, 0, 1
delay 8
- createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 31, 16, 0, 1
+ createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 31, 16, 0, 1
delay 60
setarg 7, -1
waitforvisualfinish
@@ -7700,24 +7700,24 @@ Move_HEAL_BELL:
createvisualtask sub_8116620, 10, 10, 0, 0, 10, RGB_WHITE
waitforvisualfinish
createvisualtask sub_8105CB4, 5
- createsprite gUnknown_08593938, ANIM_ATTACKER, 2, 0, -24, 0, 1
+ createsprite gBellSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 0, 1
delay 12
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 48, -18, 35, 0, 0
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -48, 20, 30, 1, 1
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -38, -29, 30, 2, 2
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 36, 18, 30, 3, 3
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 48, -18, 35, 0, 0
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -48, 20, 30, 1, 1
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -38, -29, 30, 2, 2
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 36, 18, 30, 3, 3
call HealBell1
delay 0x21
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 19, 26, 35, 4, 4
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -34, -12, 30, 5, 5
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 41, -20, 34, 6, 2
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -15, 26, 32, 7, 0
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 19, 26, 35, 4, 4
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -34, -12, 30, 5, 5
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 41, -20, 34, 6, 2
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -15, 26, 32, 7, 0
call HealBell1
delay 0x21
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -48, 18, 31, 0, 2
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 48, -20, 30, 2, 5
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 38, 29, 33, 4, 3
- createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -36, -18, 30, 6, 1
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -48, 18, 31, 0, 2
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 48, -20, 30, 2, 5
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 38, 29, 33, 4, 3
+ createsprite gHealBellMusicNoteSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, -36, -18, 30, 6, 1
call HealBell1
waitforvisualfinish
createvisualtask sub_8105D60, 5
@@ -7727,27 +7727,27 @@ Move_HEAL_BELL:
unloadspritegfx ANIM_TAG_THIN_RING
loadspritegfx ANIM_TAG_SPARKLE_2
playsewithpan SE_W234, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1
+ createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1
delay 8
- createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1
+ createsprite gSparklingStarsSpriteTemplate, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1
waitforvisualfinish
unloadspritegfx ANIM_TAG_SPARKLE_2
loadspritegfx ANIM_TAG_THIN_RING
playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
createvisualtask sub_8116664, 10, 4, 3, 10, 0, RGB(12, 24, 30)
createvisualtask sub_8116620, 10, 10, 3, 10, 0, RGB_WHITE
- createsprite gUnknown_08593868, ANIM_ATTACKER, 16, 0, 0, 0, 1
+ createsprite gBlendThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 16, 0, 0, 0, 1
end
HealBell1:
createvisualtask sub_8116664, 10, 4, 3, 8, 0, RGB(12, 24, 30)
createvisualtask sub_8116620, 10, 10, 3, 2, 10, RGB_WHITE
- createsprite gUnknown_0859381C, ANIM_ATTACKER, 40, 0, -24, 0, 1
+ createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 40, 0, -24, 0, 1
playsewithpan SE_W215, SOUND_PAN_ATTACKER
return
Move_FAKE_OUT:
playsewithpan SE_W260, 0
- createvisualtask sub_8105EB0, 5
+ createvisualtask AnimTask_FakeOut, 5
waitforvisualfinish
playsewithpan SE_W166, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1
@@ -7763,10 +7763,10 @@ Move_SCARY_FACE:
waitforvisualfinish
delay 10
playsewithpan SE_W043, SOUND_PAN_ATTACKER
- createvisualtask sub_81064F8, 5
+ createvisualtask AnimTask_ScaryFace, 5
delay 13
- createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8
- createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8
+ createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, -16, -8
+ createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 16, -8
waitforvisualfinish
createvisualtask sub_810A094, 3, 20, 1, 0
playsewithpan SE_W081B, SOUND_PAN_TARGET
@@ -7777,33 +7777,33 @@ Move_SCARY_FACE:
Move_SWEET_KISS:
loadspritegfx ANIM_TAG_RED_HEART
loadspritegfx ANIM_TAG_ANGEL
- createsprite gUnknown_08593AA8, ANIM_TARGET, 2, 16, -48
+ createsprite gAngelSpriteTemplate, ANIM_TARGET, 2, 16, -48
playsewithpan SE_W215, SOUND_PAN_TARGET
delay 23
playsewithpan SE_W215, SOUND_PAN_TARGET
delay 23
playsewithpan SE_W215, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 160, -30
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 160, -30
playsewithpan SE_W213, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -256, -42
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 128, -14
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 416, -38
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -128, -22
- createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -256, -42
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 128, -14
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, 416, -38
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -128, -22
+ createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -384, -31
end
Move_LOVELY_KISS:
loadspritegfx ANIM_TAG_PINK_HEART
loadspritegfx ANIM_TAG_DEVIL
- createsprite gUnknown_08593AF0, ANIM_TARGET, 2, 0, -24
+ createsprite gDevilSpriteTemplate, ANIM_TARGET, 2, 0, -24
playsewithpan SE_W060B, SOUND_PAN_TARGET
waitforvisualfinish
playsewithpan SE_W213, SOUND_PAN_TARGET
- createsprite gUnknown_08593AC0, ANIM_TARGET, 3, -256, -42
- createsprite gUnknown_08593AC0, ANIM_TARGET, 3, 128, -14
- createsprite gUnknown_08593AC0, ANIM_TARGET, 3, 416, -38
- createsprite gUnknown_08593AC0, ANIM_TARGET, 3, -128, -22
+ createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, -256, -42
+ createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, 128, -14
+ createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, 416, -38
+ createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, -128, -22
end
Move_FURY_SWIPES:
@@ -7811,13 +7811,13 @@ Move_FURY_SWIPES:
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 5, 5
delay 4
playsewithpan SE_W010, SOUND_PAN_TARGET
- createsprite gUnknown_08593B38, ANIM_TARGET, 2, 16, 0, 1
+ createsprite gFurySwipesSpriteTemplate, ANIM_TARGET, 2, 16, 0, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 5, 1
delay 10
createsprite gHorizontalLungeSpriteTemplate, ANIM_TARGET, 2, 5, 5
delay 4
playsewithpan SE_W010, SOUND_PAN_TARGET
- createsprite gUnknown_08593B38, ANIM_TARGET, 2, -16, 0, 0
+ createsprite gFurySwipesSpriteTemplate, ANIM_TARGET, 2, -16, 0, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1
end
@@ -7870,19 +7870,19 @@ Move_PRESENT:
PresentDamage:
loadspritegfx ANIM_TAG_EXPLOSION
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 0, 0, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 24, -24, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 24, -24, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, -16, 16, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, -16, 16, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, -24, -12, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, -24, -12, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 16, 16, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 16, 16, 1, 1
end
PresentHeal:
@@ -7915,28 +7915,28 @@ Move_BATON_PASS:
loadspritegfx ANIM_TAG_POKEBALL
playsewithpan SE_W226, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 31, 1, 2, 0, 11, RGB(31, 22, 30)
- createsprite gUnknown_085CE370, ANIM_ATTACKER, 2
+ createsprite gBatonPassPokeballSpriteTemplate, ANIM_ATTACKER, 2
end
Move_PERISH_SONG:
loadspritegfx ANIM_TAG_MUSIC_NOTES_2
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 0, 0, 0
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 1, 1, 16
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 2, 1, 32
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 3, 2, 48
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 4, 2, 64
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 5, 0, 80
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 6, 0, 96
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 7, 1, 112
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 8, 2, 128
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 9, 0, 144
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 10, 2, 160
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 11, 0, 176
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 12, 1, 192
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 13, 3, 208
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 14, 3, 224
- createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 15, 0, 240
- createsprite gUnknown_08593C24, ANIM_ATTACKER, 4, 15, 0, 0
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 0
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 1, 1, 16
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 2, 1, 32
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 3, 2, 48
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 4, 2, 64
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 5, 0, 80
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 6, 0, 96
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 7, 1, 112
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 8, 2, 128
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 9, 0, 144
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 10, 2, 160
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 11, 0, 176
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 12, 1, 192
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 13, 3, 208
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 14, 3, 224
+ createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 15, 0, 240
+ createsprite gPerishSongMusicNote2SpriteTemplate, ANIM_ATTACKER, 4, 15, 0, 0
delay 20
panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
delay 80
@@ -7958,26 +7958,26 @@ Move_SLEEP_TALK:
loadspritegfx ANIM_TAG_LETTER_Z
createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, ANIM_ATTACKER
delay 20
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -1
playsewithpan SE_W173, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -1
delay 6
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -1
delay 20
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -5
playsewithpan SE_W173, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -5
delay 6
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -5
delay 20
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -3
playsewithpan SE_W173, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -3
delay 6
- createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3
+ createsprite gLetterZSpriteTemplate, ANIM_TARGET, 2, 0, 20, 5, -3
waitforvisualfinish
end
@@ -7993,7 +7993,7 @@ Move_HYPER_FANG:
goto HyperFangOnPlayer
HyperFangContinue:
waitbgfadeout
- createsprite gUnknown_085CE1DC, ANIM_TARGET, 2
+ createsprite gFangSpriteTemplate, ANIM_TARGET, 2
waitbgfadein
createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 0, 10, 10, 1
playsewithpan SE_W043, SOUND_PAN_TARGET
@@ -8013,8 +8013,8 @@ HyperFangInContest:
goto HyperFangContinue
Move_TRI_ATTACK:
- loadspritegfx ANIM_TAG_TRI_FORCE_TRIANGLE
- createsprite gUnknown_085CE2F8, ANIM_TARGET, 2, 16, 0
+ loadspritegfx ANIM_TAG_TRI_ATTACK_TRIANGLE
+ createsprite gTriAttackTriangleSpriteTemplate, ANIM_TARGET, 2, 16, 0
playsewithpan SE_W161, SOUND_PAN_ATTACKER
delay 20
playsewithpan SE_W161, SOUND_PAN_ATTACKER
@@ -8095,21 +8095,21 @@ Move_WILL_O_WISP:
Move_ENCORE:
loadspritegfx ANIM_TAG_SPOTLIGHT
loadspritegfx ANIM_TAG_TAG_HAND
- createvisualtask sub_815ABEC, 2
+ createvisualtask AnimTask_CreateSpotlight, 2
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
waitforvisualfinish
- createsprite gUnknown_085CE22C, ANIM_TARGET, 2, 0, -8
- createsprite gUnknown_085CE244, ANIM_ATTACKER, 2, -2, 0, 0, 0, 9
- createsprite gUnknown_085CE244, ANIM_ATTACKER, 2, 2, 0, 1, 0, 9
- createsprite gUnknown_085CE25C, ANIM_ATTACKER, 3, -2, 0, 0, 0, 9
- createsprite gUnknown_085CE25C, ANIM_ATTACKER, 3, 2, 0, 1, 0, 9
+ createsprite gSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8
+ createsprite gClappingHandSpriteTemplate, ANIM_ATTACKER, 2, -2, 0, 0, 0, 9
+ createsprite gClappingHandSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 1, 0, 9
+ createsprite gClappingHand2SpriteTemplate, ANIM_ATTACKER, 3, -2, 0, 0, 0, 9
+ createsprite gClappingHand2SpriteTemplate, ANIM_ATTACKER, 3, 2, 0, 1, 0, 9
delay 16
createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET
createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, ANIM_TARGET
waitforvisualfinish
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
waitforvisualfinish
- createvisualtask sub_815AC8C, 2
+ createvisualtask AnimTask_RemoveSpotlight, 2
end
Move_TRICK:
@@ -8146,7 +8146,7 @@ Move_WISH:
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 10, RGB_BLACK
waitforvisualfinish
panse_27 SE_W115, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0
- createsprite gUnknown_085CE388, ANIM_ATTACKER, 40
+ createsprite gWishStarSpriteTemplate, ANIM_ATTACKER, 40
waitforvisualfinish
delay 60
loopsewithpan SE_W215, SOUND_PAN_ATTACKER, 16, 3
@@ -8160,7 +8160,7 @@ Move_STOCKPILE:
loadspritegfx ANIM_TAG_GRAY_ORB
playsewithpan SE_W025, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 2, 8, 1, 0, 12, RGB_WHITE
- createvisualtask sub_815B65C, 5
+ createvisualtask AnimTask_StockpileDeformMon, 5
call Stockpile1
call Stockpile1
waitforvisualfinish
@@ -8189,19 +8189,19 @@ Move_SPIT_UP:
loadspritegfx ANIM_TAG_RED_ORB_2
loadspritegfx ANIM_TAG_IMPACT
playsewithpan SE_W036, SOUND_PAN_ATTACKER
- createvisualtask sub_815B6B4, 5
+ createvisualtask AnimTask_SpitUpDeformMon, 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2
delay 45
playsewithpan SE_W255, SOUND_PAN_ATTACKER
delay 3
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 0, 12
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 32, 12
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 64, 12
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 96, 12
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 128, 12
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 160, 12
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 192, 12
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 224, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 32, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 64, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 96, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 128, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 160, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 192, 12
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 224, 12
delay 5
jumpifmoveturn 2, SpitUpStrong
jumpifmoveturn 3, SpitUpStrongest
@@ -8216,27 +8216,27 @@ SpitUpContinue:
waitforvisualfinish
end
SpitUpStrong:
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 16
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 80
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 144
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 208
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 16
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 80
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 144
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 208
goto SpitUpContinue
SpitUpStrongest:
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 16
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 48
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 80
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 112
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 144
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 176
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 208
- createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 240
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 16
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 48
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 80
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 112
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 144
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 176
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 208
+ createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 240
goto SpitUpContinue
Move_SWALLOW:
loadspritegfx ANIM_TAG_BLUE_ORB
loadspritegfx ANIM_TAG_BLUE_STAR
playsewithpan SE_W036, SOUND_PAN_ATTACKER
- createvisualtask sub_815B778, 5
+ createvisualtask AnimTask_SwallowDeformMon, 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2
delay 38
playsewithpan SE_W255, SOUND_PAN_ATTACKER
@@ -8249,15 +8249,15 @@ SwallowContinue:
call HealingEffect
end
SwallowEffect:
- createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 0, -8
+ createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, -8
delay 1
- createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, -24, -8
+ createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, -24, -8
delay 1
- createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 16, -8
+ createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, 16, -8
delay 1
- createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, -16, -8
+ createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, -16, -8
delay 1
- createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 24, -8
+ createsprite gSwallowBlueOrbSpriteTemplate, ANIM_ATTACKER, 2, 24, -8
delay 1
return
SwallowGood:
@@ -8272,7 +8272,7 @@ Move_TRANSFORM:
monbg ANIM_ATTACKER
playsewithpan SE_W100, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
- createvisualtask sub_815B7D0, 2, 0
+ createvisualtask AnimTask_TransformMon, 2, 0
waitforvisualfinish
clearmonbg ANIM_ATTACKER
end
@@ -8280,7 +8280,7 @@ Move_TRANSFORM:
Move_MORNING_SUN:
loadspritegfx ANIM_TAG_GREEN_STAR
loadspritegfx ANIM_TAG_BLUE_STAR
- createvisualtask sub_815BB84, 5
+ createvisualtask AnimTask_MorningSunLightBeam, 5
delay 8
createvisualtask sub_8116620, 10, 0x781, 8, 0, 12, RGB_WHITE
delay 14
@@ -8305,7 +8305,7 @@ Move_MORNING_SUN:
call HealingEffect
end
MorningSun1:
- createsprite gUnknown_085CE48C, ANIM_ATTACKER, 2, 30, 640
+ createsprite gGreenStarSpriteTemplate, ANIM_ATTACKER, 2, 30, 640
delay 5
return
@@ -8401,7 +8401,7 @@ Move_FLATTER:
loadspritegfx ANIM_TAG_SPOTLIGHT
loadspritegfx ANIM_TAG_CONFETTI
createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET
- createvisualtask sub_815ABEC, 2
+ createvisualtask AnimTask_CreateSpotlight, 2
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
waitforvisualfinish
createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80
@@ -8435,7 +8435,7 @@ Move_FLATTER:
waitforvisualfinish
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
waitforvisualfinish
- createvisualtask sub_815AC8C, 2
+ createvisualtask AnimTask_RemoveSpotlight, 2
end
CreateFlatterConfetti:
createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_ATTACKER
@@ -8468,7 +8468,7 @@ Move_REFRESH:
waitforvisualfinish
playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 10, 0, RGB(12, 24, 30)
- createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 0, 0
+ createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0
end
Move_BLAZE_KICK:
@@ -8505,7 +8505,7 @@ Move_HYPER_VOICE:
HyperVoiceEffect:
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 8, 0, RGB_YELLOW
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0
- createsprite gUnknown_08593880, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1
+ createsprite gHyperVoiceRingSpriteTemplate, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1
createvisualtask sub_81162A4, 2, 1, 0, 6, 1
@@ -8593,26 +8593,26 @@ Move_MUDDY_WATER:
Move_BULLET_SEED:
loadspritegfx ANIM_TAG_SEED
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 30, 1
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
+ createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
waitforvisualfinish
end
@@ -8768,7 +8768,7 @@ Move_POISON_FANG:
loadspritegfx ANIM_TAG_FANG_ATTACK
loadspritegfx ANIM_TAG_POISON_BUBBLE
playsewithpan SE_W044, SOUND_PAN_TARGET
- createsprite gUnknown_085CE1DC, ANIM_TARGET, 2
+ createsprite gFangSpriteTemplate, ANIM_TARGET, 2
delay 10
createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 3, 0, 10, 1
waitforvisualfinish
@@ -8858,7 +8858,7 @@ Move_METAL_SOUND:
end
MetalSound1:
panse_1B SE_W103, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
- createsprite gUnknown_08593458, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0
+ createsprite gMetalSoundSpriteTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0
delay 2
return
@@ -9059,9 +9059,9 @@ Move_COSMIC_POWER:
waitbgfadein
delay 70
createvisualtask sub_8159210, 5, 228, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60
+ createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60
delay 8
- createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60
+ createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60
delay 40
createvisualtask sub_8117610, 2, 0, 15, 0, 0
waitforvisualfinish
@@ -9167,29 +9167,29 @@ SilverWindContinue:
delay 0
createvisualtask sub_8116620, 10, 1, 0, 4, 4, RGB_BLACK
waitbgfadein
- createsprite gUnknown_08592830, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
- createsprite gUnknown_08592830, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
- createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
- createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
+ createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
+ createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
+ createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
+ createsprite gSilverWindBigSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
delay 0
- createsprite gUnknown_08592848, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
- createsprite gUnknown_08592848, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
- createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
- createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
+ createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
+ createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
+ createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
+ createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
delay 0
- createsprite gUnknown_08592860, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
- createsprite gUnknown_08592860, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
- createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
- createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
+ createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
+ createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
+ createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
+ createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
delay 6
- createsprite gUnknown_08592830, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
- createsprite gUnknown_08592830, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
+ createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
+ createsprite gSilverWindBigSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
delay 0
- createsprite gUnknown_08592848, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
- createsprite gUnknown_08592848, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
+ createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
+ createsprite gSilverWindMediumSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
delay 0
- createsprite gUnknown_08592860, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
- createsprite gUnknown_08592860, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
+ createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
+ createsprite gSilverWindSmallSparkSpriteTemplate, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
waitforvisualfinish
playsewithpan SE_W016B, SOUND_PAN_TARGET
clearmonbg ANIM_DEF_PARTNER
@@ -9503,13 +9503,13 @@ Move_WATER_PULSE:
playsewithpan SE_W145C, SOUND_PAN_TARGET
waitforvisualfinish
playsewithpan SE_W202, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15
+ createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15
delay 5
playsewithpan SE_W202, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15
+ createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15
delay 5
playsewithpan SE_W202, SOUND_PAN_ATTACKER
- createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15
+ createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15
delay 13
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 8, 18, 1
waitforvisualfinish
@@ -9523,7 +9523,7 @@ Move_PSYCHO_BOOST:
monbg ANIM_ATK_PARTNER
fadetobg BG_PSYCHIC
waitbgfadeout
- createvisualtask sub_815A5C8, 5
+ createvisualtask AnimTask_FadeScreenToWhite, 5
waitbgfadein
delay 6
createvisualtask sub_8115A04, 2, 1, 2, 8, 0, 10, RGB_BLACK
@@ -10027,33 +10027,33 @@ IcyWindEffect2:
return
GrantingStarsEffect:
- createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60
+ createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60
delay 8
- createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60
+ createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60
delay 8
return
HealingEffect:
playsewithpan SE_W071B, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 0, -5, 0, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 0, 0
delay 7
- createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, 10, 0, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, -15, 10, 0, 0
delay 7
- createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, -15, 0, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, -15, -15, 0, 0
delay 7
- createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 10, -5, 0, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_ATTACKER, 2, 10, -5, 0, 0
delay 7
return
HealingEffect2:
playsewithpan SE_W071B, SOUND_PAN_TARGET
- createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 0, -5, 1, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 0, -5, 1, 0
delay 7
- createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, 10, 1, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, 10, 1, 0
delay 7
- createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, -15, 1, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, -15, -15, 1, 0
delay 7
- createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 10, -5, 1, 0
+ createsprite gHealingBlueStarSpriteTemplate, ANIM_TARGET, 2, 10, -5, 1, 0
delay 7
return
@@ -10154,7 +10154,7 @@ ConfusionEffect:
SetPsychicBackground:
fadetobg BG_PSYCHIC
waitbgfadeout
- createvisualtask sub_815A504, 5
+ createvisualtask AnimTask_SetPsychicBackground, 5
waitbgfadein
return
@@ -10249,9 +10249,9 @@ Status_Infatuation:
Status_Sleep:
loadspritegfx ANIM_TAG_LETTER_Z
playsewithpan SE_W173, SOUND_PAN_ATTACKER
- createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
+ createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
delay 30
- createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
+ createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
end
Status_Paralysis:
@@ -10292,19 +10292,19 @@ Status_Nightmare:
end
General_CastformChange:
- createvisualtask sub_815BB18, 2
+ createvisualtask AnimTask_IsMonInvisible, 2
jumpreteq 1, AnimScript_82D7ECA
goto AnimScript_82D7EB2
AnimScript_82D7EB2:
monbg ANIM_ATTACKER
playsewithpan SE_W100, SOUND_PAN_ATTACKER
waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
- createvisualtask sub_815B7D0, 2, 1
+ createvisualtask AnimTask_TransformMon, 2, 1
waitforvisualfinish
clearmonbg ANIM_ATTACKER
end
AnimScript_82D7ECA:
- createvisualtask sub_815BB58, 2, 1
+ createvisualtask AnimTask_CastformGfxChange, 2, 1
end
General_StatsChange:
@@ -10440,7 +10440,7 @@ General_ItemEffect:
waitforvisualfinish
playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 3, 7, 0, RGB(17, 31, 25)
- createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 0, 0
+ createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0
waitforvisualfinish
end
@@ -10589,7 +10589,7 @@ General_DoomDesireHit:
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_WHITE
waitforvisualfinish
delay 10
- createvisualtask sub_815C0A4, 5
+ createvisualtask AnimTask_DoomDesireLightBeam, 5
delay 9
playsewithpan SE_W109, SOUND_PAN_ATTACKER
delay 9
@@ -10599,19 +10599,19 @@ General_DoomDesireHit:
delay 25
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 20, 1
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 24, -24, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -16, 16, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, -24, -12, 1, 1
delay 6
playsewithpan SE_W120, SOUND_PAN_TARGET
- createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 1, 1
+ createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1
waitforvisualfinish
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_WHITE
waitforvisualfinish
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index 244a3ac05..24a266de6 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -366,7 +366,7 @@ BattleScript_EffectAbsorb::
setbyte cMULTISTRING_CHOOSER, 0x0
goto BattleScript_AbsorbUpdateHp
BattleScript_AbsorbLiquidOoze::
- manipulatedamage ATK80_DMG_CHANGE_SIGN
+ manipulatedamage DMG_CHANGE_SIGN
setbyte cMULTISTRING_CHOOSER, 0x1
BattleScript_AbsorbUpdateHp::
healthbarupdate BS_ATTACKER
@@ -422,7 +422,7 @@ BattleScript_ExplosionLoop:
resultmessage
waitmessage 0x40
tryfaintmon BS_TARGET, FALSE, NULL
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
jumpifnexttargetvalid BattleScript_ExplosionLoop
tryfaintmon BS_ATTACKER, FALSE, NULL
end
@@ -430,7 +430,7 @@ BattleScript_ExplosionMissed:
effectivenesssound
resultmessage
waitmessage 0x40
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
jumpifnexttargetvalid BattleScript_ExplosionLoop
tryfaintmon BS_ATTACKER, FALSE, NULL
end
@@ -511,7 +511,7 @@ BattleScript_EffectStatUp::
BattleScript_EffectStatUpAfterAtkCanceler::
attackstring
ppreduce
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_StatUpEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_StatUpEnd
jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpAttackAnim
pause 0x20
goto BattleScript_StatUpPrintString
@@ -557,7 +557,7 @@ BattleScript_EffectStatDown::
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
- statbuffchange STAT_CHANGE_BS_PTR, BattleScript_StatDownEnd
+ statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_StatDownEnd
jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatDownDoAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_StatDownEnd
pause 0x20
@@ -654,7 +654,7 @@ BattleScript_DoMultiHit::
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
addbyte sMULTIHIT_STRING + 4, 0x1
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_MultiHitPrintStrings
decrementmultihit BattleScript_MultiHitLoop
goto BattleScript_MultiHitPrintStrings
@@ -670,8 +670,8 @@ BattleScript_MultiHitPrintStrings::
BattleScript_MultiHitEnd::
seteffectwithchance
tryfaintmon BS_TARGET, FALSE, NULL
- moveendcase ATK49_SYNCHRONIZE_TARGET
- moveendfrom ATK49_STATUS_IMMUNITY_ABILITIES
+ moveendcase MOVEEND_SYNCHRONIZE_TARGET
+ moveendfrom MOVEEND_IMMUNITY_ABILITIES
end
BattleScript_EffectConversion::
@@ -882,7 +882,7 @@ BattleScript_MoveMissedDoDamage::
damagecalc
typecalc
adjustnormaldamage
- manipulatedamage ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP
+ manipulatedamage DMG_RECOIL_FROM_MISS
bicbyte gMoveResultFlags, MOVE_RESULT_MISSED
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate BS_ATTACKER
@@ -1435,7 +1435,7 @@ BattleScript_DoTripleKickAttack::
waitmessage 0x40
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings
decrementmultihit BattleScript_TripleKickLoop
goto BattleScript_TripleKickPrintStrings
@@ -1454,7 +1454,7 @@ BattleScript_TripleKickPrintStrings::
BattleScript_TripleKickEnd::
seteffectwithchance
tryfaintmon BS_TARGET, FALSE, NULL
- moveendfrom ATK49_UPDATE_LAST_MOVES
+ moveendfrom MOVEEND_UPDATE_LAST_MOVES
end
BattleScript_EffectThief::
@@ -1513,17 +1513,17 @@ BattleScript_CurseTrySpeed::
attackanimation
waitanimation
setstatchanger STAT_SPEED, 1, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseTryAttack
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryAttack
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_CurseTryAttack::
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseTryDefence
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseTryDefence
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CurseTryDefence::
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CurseEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CurseEnd
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CurseEnd::
@@ -1635,7 +1635,7 @@ BattleScript_EffectSwagger::
attackanimation
waitanimation
setstatchanger STAT_ATK, 2, FALSE
- statbuffchange STAT_CHANGE_BS_PTR, BattleScript_SwaggerTryConfuse
+ statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_SwaggerTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SwaggerTryConfuse
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -1716,7 +1716,7 @@ BattleScript_EffectBatonPass::
attackstring
ppreduce
jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_ButItFailed
- jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | BS_ATTACKER, BattleScript_ButItFailed
+ jumpifcantswitch SWITCH_IGNORE_ESCAPE_PREVENTION | BS_ATTACKER, BattleScript_ButItFailed
attackanimation
waitanimation
openpartyscreen 0x1, BattleScript_ButItFailed
@@ -1834,7 +1834,7 @@ BattleScript_EffectSkullBash::
setbyte sTWOTURN_STRINGID, 0x2
call BattleScriptFirstChargingTurn
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_SkullBashEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_SkullBashEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SkullBashEnd
setgraphicalstatchangevalues
playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -1885,7 +1885,7 @@ BattleScript_DoHitAllWithUndergroundBonus::
printstring STRINGID_EMPTYSTRING3
waitmessage 0x1
tryfaintmon BS_TARGET, FALSE, NULL
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
BattleScript_HitAllWithUndergroundBonusMissed::
@@ -1894,7 +1894,7 @@ BattleScript_HitAllWithUndergroundBonusMissed::
effectivenesssound
resultmessage
waitmessage 0x40
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
@@ -1970,7 +1970,7 @@ BattleScript_BeatUpLoop::
printstring STRINGID_PKMNATTACK
critcalc
jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_BeatUpAttack
- manipulatedamage ATK80_DMG_DOUBLED
+ manipulatedamage DMG_DOUBLED
BattleScript_BeatUpAttack::
adjustnormaldamage
attackanimation
@@ -1985,7 +1985,7 @@ BattleScript_BeatUpAttack::
resultmessage
waitmessage 0x40
tryfaintmon BS_TARGET, FALSE, NULL
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
goto BattleScript_BeatUpLoop
BattleScript_BeatUpEnd::
end
@@ -2037,7 +2037,7 @@ BattleScript_EffectDefenseCurl::
ppreduce
setdefensecurlbit
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DefenseCurlDoStatUpAnim
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DefenseCurlDoStatUpAnim
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpPrintString
attackanimation
waitanimation
@@ -2178,7 +2178,7 @@ BattleScript_EffectFlatter::
attackanimation
waitanimation
setstatchanger STAT_SPATK, 1, FALSE
- statbuffchange STAT_CHANGE_BS_PTR, BattleScript_FlatterTryConfuse
+ statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_FlatterTryConfuse
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_FlatterTryConfuse
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -2232,17 +2232,17 @@ BattleScript_EffectMemento::
waitanimation
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectMementoPrintNoEffect
setbyte sSTAT_ANIM_PLAYED, FALSE
- playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_ONLY_MULTIPLE
- playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
+ playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO | STAT_CHANGE_MULTIPLE_STATS
+ playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO
setstatchanger STAT_ATK, 2, TRUE
- statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMementoTrySpAtk
+ statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTrySpAtk
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTrySpAtk
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_EffectMementoTrySpAtk:
- playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
+ playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO
setstatchanger STAT_SPATK, 2, TRUE
- statbuffchange STAT_CHANGE_BS_PTR, BattleScript_EffectMementoTryFaint
+ statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_EffectMementoTryFaint
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTryFaint
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -2606,7 +2606,7 @@ BattleScript_TeeterDanceLoop::
resultmessage
waitmessage 0x40
BattleScript_TeeterDanceDoMoveEndIncrement::
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
BattleScript_TeeterDanceLoopIncrement::
addbyte gBattlerTarget, 0x1
jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TeeterDanceLoop
@@ -2677,17 +2677,17 @@ BattleScript_TickleDoMoveAnim::
attackanimation
waitanimation
setbyte sSTAT_ANIM_PLAYED, FALSE
- playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE
- playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE
+ playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS
+ playstatchangeanimation BS_TARGET, BIT_ATK, STAT_CHANGE_NEGATIVE
setstatchanger STAT_ATK, 1, TRUE
- statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleTryLowerDef
+ statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleTryLowerDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleTryLowerDef
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_TickleTryLowerDef::
- playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE
+ playstatchangeanimation BS_TARGET, BIT_DEF, STAT_CHANGE_NEGATIVE
setstatchanger STAT_DEF, 1, TRUE
- statbuffchange STAT_CHANGE_BS_PTR, BattleScript_TickleEnd
+ statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TickleEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleEnd
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -2713,13 +2713,13 @@ BattleScript_CosmicPowerDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0x0
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CosmicPowerTrySpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerTrySpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CosmicPowerTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CosmicPowerEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CosmicPowerEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -2742,13 +2742,13 @@ BattleScript_BulkUpDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0x0
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_BulkUpTryDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpTryDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpTryDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_BulkUpTryDef::
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_BulkUpEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_BulkUpEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -2767,13 +2767,13 @@ BattleScript_CalmMindDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0x0
setstatchanger STAT_SPATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CalmMindTrySpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindTrySpDef
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindTrySpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_CalmMindTrySpDef::
setstatchanger STAT_SPDEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_CalmMindEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_CalmMindEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -2799,13 +2799,13 @@ BattleScript_DragonDanceDoMoveAnim::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0x0
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DragonDanceTrySpeed
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceTrySpeed
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceTrySpeed
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_DragonDanceTrySpeed::
setstatchanger STAT_SPEED, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_DragonDanceEnd
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_DragonDanceEnd
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceEnd
printfromtable gStatUpStringIds
waitmessage 0x40
@@ -2865,7 +2865,7 @@ BattleScript_FaintedMonTryChooseAnother::
jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonChooseAnother
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother
jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_FaintedMonChooseAnother
- jumpifcantswitch 11, BattleScript_FaintedMonChooseAnother
+ jumpifcantswitch BS_PLAYER1, BattleScript_FaintedMonChooseAnother
printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
setbyte gBattleCommunication, 0x0
yesnobox
@@ -2875,7 +2875,7 @@ BattleScript_FaintedMonTryChooseAnother::
switchhandleorder BS_ATTACKER, 0x2
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x6, BattleScript_FaintedMonChooseAnother
atknameinbuff1
- resetintrimidatetracebits BS_ATTACKER
+ resetintimidatetracebits BS_ATTACKER
hpthresholds2 BS_ATTACKER
printstring STRINGID_RETURNMON
switchoutabilities BS_ATTACKER
@@ -3128,8 +3128,8 @@ BattleScript_DoSwitchOut::
switchinanim BS_ATTACKER, FALSE
waitstate
switchineffects BS_ATTACKER
- moveendcase ATK49_STATUS_IMMUNITY_ABILITIES
- moveendcase ATK49_MIRROR_MOVE
+ moveendcase MOVEEND_IMMUNITY_ABILITIES
+ moveendcase MOVEEND_MIRROR_MOVE
end2
BattleScript_PursuitDmgOnSwitchOut::
@@ -3152,7 +3152,7 @@ BattleScript_PursuitDmgOnSwitchOut::
resultmessage
waitmessage 0x40
tryfaintmon BS_TARGET, FALSE, NULL
- moveendfromto ATK49_MOVE_END_ABILITIES, ATK49_CHOICE_MOVE
+ moveendfromto MOVEEND_ON_DAMAGE_ABILITIES, MOVEEND_CHOICE_MOVE
various4 BS_TARGET
jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet
setbyte sGIVEEXP_STATE, 0x0
@@ -3281,7 +3281,7 @@ BattleScript_LeechSeedTurnDrain::
datahpupdate BS_ATTACKER
copyword gBattleMoveDamage, gHpDealt
jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze
- manipulatedamage ATK80_DMG_CHANGE_SIGN
+ manipulatedamage DMG_CHANGE_SIGN
setbyte cMULTISTRING_CHOOSER, 0x3
goto BattleScript_LeechSeedTurnPrintAndUpdateHp
BattleScript_LeechSeedTurnPrintLiquidOoze::
@@ -3380,7 +3380,7 @@ BattleScript_DisabledNoMore::
BattleScript_SelectingDisabledMoveInPalace::
printstring STRINGID_PKMNMOVEISDISABLED
BattleScript_SelectingUnusableMoveInPalace::
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
end
BattleScript_EncoredNoMore::
@@ -3471,27 +3471,27 @@ BattleScript_AllStatsUpAtk::
setbyte sSTAT_ANIM_PLAYED, FALSE
playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0x0
setstatchanger STAT_ATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpDef::
setstatchanger STAT_DEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpeed
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpeed
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpSpeed::
setstatchanger STAT_SPEED, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpAtk
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpAtk
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpSpAtk::
setstatchanger STAT_SPATK, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpSpDef
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpSpDef
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpSpDef::
setstatchanger STAT_SPDEF, 1, FALSE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_AllStatsUpRet
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_AllStatsUpRet
printfromtable gStatUpStringIds
waitmessage 0x40
BattleScript_AllStatsUpRet::
@@ -3543,8 +3543,8 @@ BattleScript_DoFutureAttackHit::
tryfaintmon BS_TARGET, FALSE, NULL
atk24 BattleScript_FutureAttackEnd
BattleScript_FutureAttackEnd::
- moveendcase ATK49_RAGE
- moveendfromto ATK49_ITEM_EFFECTS_ALL, ATK49_UPDATE_LAST_MOVES
+ moveendcase MOVEEND_RAGE
+ moveendfromto MOVEEND_ITEM_EFFECTS_ALL, MOVEEND_UPDATE_LAST_MOVES
setbyte gMoveResultFlags, 0
end2
@@ -3635,17 +3635,17 @@ BattleScript_PrintMonIsRooted::
BattleScript_AtkDefDown::
setbyte sSTAT_ANIM_PLAYED, FALSE
- playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE
- playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE
+ playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_MULTIPLE_STATS
+ playstatchangeanimation BS_ATTACKER, BIT_ATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE
setstatchanger STAT_ATK, 1, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_82DB144
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_82DB144
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144
printfromtable gStatDownStringIds
waitmessage 0x40
BattleScript_82DB144::
- playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE
+ playstatchangeanimation BS_ATTACKER, BIT_DEF, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE
setstatchanger STAT_DEF, 1, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_82DB167
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_82DB167
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -3709,9 +3709,9 @@ BattleScript_OneHitKOMsg::
BattleScript_SAtkDown2::
setbyte sSTAT_ANIM_PLAYED, FALSE
- playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO
+ playstatchangeanimation BS_ATTACKER, BIT_SPATK, STAT_CHANGE_CANT_PREVENT | STAT_CHANGE_NEGATIVE | STAT_CHANGE_BY_TWO
setstatchanger STAT_SPATK, 2, TRUE
- statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_CHANGE_BS_PTR, BattleScript_SAtkDown2End
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | STAT_BUFF_ALLOW_PTR, BattleScript_SAtkDown2End
jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SAtkDown2End
printfromtable gStatDownStringIds
waitmessage 0x40
@@ -4042,7 +4042,7 @@ BattleScript_IntimidateActivatesLoop:
jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented
jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented
- statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_BS_PTR, BattleScript_IntimidateActivatesLoopIncrement
+ statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED | STAT_BUFF_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_IntimidateActivatesLoopIncrement
setgraphicalstatchangevalues
playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
@@ -4233,7 +4233,7 @@ BattleScript_AbilityCuredStatus::
BattleScript_IgnoresWhileAsleep::
printstring STRINGID_PKMNIGNORESASLEEP
waitmessage 0x40
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
end
BattleScript_IgnoresAndUsesRandomMove::
@@ -4249,7 +4249,7 @@ BattleScript_MoveUsedLoafingAround::
BattleScript_82DB6C7::
printfromtable gInobedientStringIds
waitmessage 0x40
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
end
BattleScript_IgnoresAndFallsAsleep::
@@ -4257,7 +4257,7 @@ BattleScript_IgnoresAndFallsAsleep::
waitmessage 0x40
setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER
seteffectprimary
- moveendto ATK49_NEXT_TARGET
+ moveendto MOVEEND_NEXT_TARGET
end
BattleScript_IgnoresAndHitsItself::
@@ -4420,7 +4420,7 @@ BattleScript_BerryConfuseHealEnd2::
BattleScript_BerryStatRaiseEnd2::
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
- statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_BS_PTR, BattleScript_82DB85B
+ statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_82DB85B
BattleScript_82DB85B::
setbyte cMULTISTRING_CHOOSER, 0x4
call BattleScript_StatUp
diff --git a/data/berry_crush.s b/data/berry_crush.s
index 6535cd558..a2b0f2658 100755
--- a/data/berry_crush.s
+++ b/data/berry_crush.s
@@ -47,21 +47,21 @@ gUnknown_082F32CC:: @ 82F32CC struct BgTemplate? not sure
.byte 0xb3, 0x30, 0x00, 0x00
.align 2
-gUnknown_082F32D8:: @ 82F32D8
- .byte 0x01, 0x02, 0x03
+sBerryCrushTextColors1:: @ 82F32D8
+ .byte 0x01, 0x02, 0x03 @ TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY
-gUnknown_082F32DB:: @ 82F32DB
- .byte 0x00, 0x01, 0x02
+sBerryCrushTextColors2:: @ 82F32DB
+ .byte 0x00, 0x01, 0x02 @ TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY
-gUnknown_082F32DE:: @ 82F32DE
- .byte 0x00, 0x03, 0x04
+sBerryCrushTextColors3:: @ 82F32DE
+ .byte 0x00, 0x03, 0x04 @ TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_RED
-gUnknown_082F32E1:: @ 82F32E1
- .byte 0x01, 0x08, 0x09
- .byte 0x01, 0x06, 0x07
+sBerryCrushTextColorTable:: @ 82F32E1
+ .byte 0x01, 0x08, 0x09 @ TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE
+ .byte 0x01, 0x06, 0x07 @ TEXT_COLOR_WHITE, TEXT_COLOR_GREEN, TEXT_COLOR_LIGHT_GREEN
-gUnknown_082F32E7:: @ 82F32E7
- .byte 0x01, 0x04, 0x05
+sBerryCrushTextColors4:: @ 82F32E7
+ .byte 0x01, 0x04, 0x05 @ TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED
.align 2
gUnknown_082F32EC:: @ 82F32EC
@@ -281,23 +281,23 @@ gUnknown_082F4304:: @ 82F4304
.align 2
gUnknown_082F430C:: @ 82F430C
- spr_template 0x0001, 0x0001, gUnknown_0852491C, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ spr_template 0x0001, 0x0001, gOamData_AffineOff_ObjNormal_64x64, gUnknown_082F42E8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082F4324:: @ 82F4324
- spr_template 0x0002, 0x0002, gUnknown_08524914, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20
+ spr_template 0x0002, 0x0002, gOamData_AffineOff_ObjNormal_32x32, gUnknown_082F42EC, NULL, gDummySpriteAffineAnimTable, sub_8022A20
.align 2
gUnknown_082F433C:: @ 82F433C
- spr_template 0x0003, 0x0002, gUnknown_0852490C, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ spr_template 0x0003, 0x0002, gOamData_AffineOff_ObjNormal_16x16, gUnknown_082F42F4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082F4354:: @ 82F4354
- spr_template 0x0004, 0x0004, gUnknown_08524944, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ spr_template 0x0004, 0x0004, gOamData_AffineOff_ObjNormal_8x16, gUnknown_082F42FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082F436C:: @ 82F436C
- spr_template 0x0005, 0x0005, gUnknown_085249D4, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy
+ spr_template 0x0005, 0x0005, gOamData_AffineDouble_ObjNormal_32x32, gUnknown_082F4300, NULL, gUnknown_082F4304, SpriteCallbackDummy
.align 2
gUnknown_082F4384:: @ 82F4384
diff --git a/data/contest_link_80F57C4.s b/data/contest_link_80F57C4.s
index a434eee28..40a5636a0 100644
--- a/data/contest_link_80F57C4.s
+++ b/data/contest_link_80F57C4.s
@@ -83,6 +83,6 @@ gUnknown_0858D8E0:: @ 858D8E0
obj_tiles gMiscBlank_Gfx, 0x0200, 0x56ce
.align 2
-gUnknown_0858D8E8:: @ 858D8E8
- .byte 0x01, 0x0f, 0x0e, 0x00
+sContestLinkTextColors:: @ 858D8E8
+ .byte 0x01, 0x0f, 0x0e, 0x00 @ TEXT_COLOR_WHITE, TEXT_DYNAMIC_COLOR_6, TEXT_DYNAMIC_COLOR_5
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 0641cfe3e..05984f3b5 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1,28 +1,56 @@
#include "constants/global.h"
+#include "constants/apprentice.h"
+#include "constants/battle.h"
+#include "constants/battle_arena.h"
+#include "constants/battle_dome.h"
+#include "constants/battle_factory.h"
#include "constants/battle_frontier.h"
+#include "constants/battle_palace.h"
+#include "constants/battle_pike.h"
+#include "constants/battle_pyramid.h"
#include "constants/battle_setup.h"
+#include "constants/battle_tent.h"
+#include "constants/battle_tower.h"
+#include "constants/berry.h"
+#include "constants/cable_club.h"
+#include "constants/coins.h"
#include "constants/contest.h"
+#include "constants/daycare.h"
+#include "constants/decorations.h"
#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
#include "constants/field_effects.h"
+#include "constants/field_poison.h"
+#include "constants/field_specials.h"
+#include "constants/field_tasks.h"
+#include "constants/field_weather.h"
#include "constants/flags.h"
-#include "constants/decorations.h"
+#include "constants/frontier_util.h"
+#include "constants/game_stat.h"
+#include "constants/item.h"
#include "constants/items.h"
#include "constants/heal_locations.h"
#include "constants/layouts.h"
+#include "constants/lilycove_lady.h"
#include "constants/map_scripts.h"
#include "constants/maps.h"
+#include "constants/mauville_old_man.h"
+#include "constants/metatile_labels.h"
#include "constants/moves.h"
+#include "constants/party_menu.h"
+#include "constants/pokemon.h"
+#include "constants/script_menu.h"
+#include "constants/secret_bases.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/trade.h"
+#include "constants/trainer_hill.h"
#include "constants/trainers.h"
+#include "constants/tv.h"
+#include "constants/union_room.h"
#include "constants/vars.h"
#include "constants/weather.h"
-#include "constants/trainer_hill.h"
-#include "constants/lilycove_lady.h"
-#include "constants/battle.h"
-#include "constants/metatile_labels.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.include "constants/constants.inc"
@@ -59,16 +87,16 @@ gSpecialVars:: @ 81DBA0C
.include "data/specials.inc"
gStdScripts:: @ 81DC2A0
- .4byte Std_ObtainItem
- .4byte Std_FindItem
- .4byte Std_MsgboxNPC
- .4byte Std_MsgboxSign
- .4byte Std_MsgboxDefault
- .4byte Std_MsgboxYesNo
- .4byte Std_MsgboxAutoclose
- .4byte Std_ObtainDecoration
- .4byte Std_RegisteredInMatchCall
- .4byte Std_9
+ .4byte Std_ObtainItem @ STD_OBTAIN_ITEM
+ .4byte Std_FindItem @ STD_FIND_ITEM
+ .4byte Std_MsgboxNPC @ MSGBOX_NPC
+ .4byte Std_MsgboxSign @ MSGBOX_SIGN
+ .4byte Std_MsgboxDefault @ MSGBOX_DEFAULT
+ .4byte Std_MsgboxYesNo @ MSGBOX_YESNO
+ .4byte Std_MsgboxAutoclose @ MSGBOX_AUTOCLOSE
+ .4byte Std_ObtainDecoration @ STD_OBTAIN_DECORATION
+ .4byte Std_RegisteredInMatchCall @ STD_REGISTER_MATCH_CALL
+ .4byte Std_MsgboxGetPoints @ MSGBOX_GETPOINTS
.4byte Std_10
gStdScripts_End:: @ 81DC2CC
@@ -158,8 +186,8 @@ gStdScripts_End:: @ 81DC2CC
.include "data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc"
.include "data/maps/FallarborTown_PokemonCenter_1F/scripts.inc"
.include "data/maps/FallarborTown_PokemonCenter_2F/scripts.inc"
- .include "data/maps/FallarborTown_House1/scripts.inc"
- .include "data/maps/FallarborTown_House2/scripts.inc"
+ .include "data/maps/FallarborTown_CozmosHouse/scripts.inc"
+ .include "data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc"
.include "data/maps/VerdanturfTown_BattleTentLobby/scripts.inc"
.include "data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc"
.include "data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc"
@@ -188,12 +216,12 @@ gStdScripts_End:: @ 81DC2CC
.include "data/maps/SlateportCity_BattleTentLobby/scripts.inc"
.include "data/maps/SlateportCity_BattleTentCorridor/scripts.inc"
.include "data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc"
- .include "data/maps/SlateportCity_House1/scripts.inc"
+ .include "data/maps/SlateportCity_NameRatersHouse/scripts.inc"
.include "data/maps/SlateportCity_PokemonFanClub/scripts.inc"
.include "data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc"
.include "data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc"
.include "data/maps/SlateportCity_Harbor/scripts.inc"
- .include "data/maps/SlateportCity_House2/scripts.inc"
+ .include "data/maps/SlateportCity_House/scripts.inc"
.include "data/maps/SlateportCity_PokemonCenter_1F/scripts.inc"
.include "data/maps/SlateportCity_PokemonCenter_2F/scripts.inc"
.include "data/maps/SlateportCity_Mart/scripts.inc"
@@ -418,263 +446,17 @@ gStdScripts_End:: @ 81DC2CC
.include "data/maps/TerraCave_End/scripts.inc"
.include "data/maps/AlteringCave/scripts.inc"
.include "data/maps/MeteorFalls_StevensCave/scripts.inc"
- .include "data/maps/SecretBase_BlueCave1/scripts.inc"
- .include "data/maps/SecretBase_BlueCave2/scripts.inc"
- .include "data/maps/SecretBase_BlueCave3/scripts.inc"
- .include "data/maps/SecretBase_BlueCave4/scripts.inc"
- .include "data/maps/SecretBase_BrownCave1/scripts.inc"
- .include "data/maps/SecretBase_BrownCave2/scripts.inc"
- .include "data/maps/SecretBase_BrownCave3/scripts.inc"
- .include "data/maps/SecretBase_BrownCave4/scripts.inc"
- .include "data/maps/SecretBase_RedCave1/scripts.inc"
- .include "data/maps/SecretBase_RedCave2/scripts.inc"
- .include "data/maps/SecretBase_RedCave3/scripts.inc"
- .include "data/maps/SecretBase_RedCave4/scripts.inc"
- .include "data/maps/SecretBase_Shrub1/scripts.inc"
- .include "data/maps/SecretBase_Shrub2/scripts.inc"
- .include "data/maps/SecretBase_Shrub3/scripts.inc"
- .include "data/maps/SecretBase_Shrub4/scripts.inc"
- .include "data/maps/SecretBase_Tree1/scripts.inc"
- .include "data/maps/SecretBase_Tree2/scripts.inc"
- .include "data/maps/SecretBase_Tree3/scripts.inc"
- .include "data/maps/SecretBase_Tree4/scripts.inc"
- .include "data/maps/SecretBase_YellowCave1/scripts.inc"
- .include "data/maps/SecretBase_YellowCave2/scripts.inc"
- .include "data/maps/SecretBase_YellowCave3/scripts.inc"
- .include "data/maps/SecretBase_YellowCave4/scripts.inc"
-
-EventScript_SecretBasePC:: @ 823B4BB
- lockall
- playse SE_PC_LOGIN
- message Text_SecretBaseBootUpPC
- dofieldeffect FLDEFF_PCTURN_ON
- waitstate
- waitmessage
- waitbuttonpress
- playse SE_SELECT
- goto EventScript_SecretBasePCShowMainMenu
- end
-
-EventScript_SecretBasePCShowMainMenu:: @ 823B4D3
- message Text_SecretBasePCStartMenu
- waitmessage
- goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, EventScript_SecretBasePCMainMenuChoice
- goto EventScript_23B531
- end
-
-gUnknown_0823B4E8:: @ 823B4E8 ;EventScript_SecretBasePCCancel?
- lockall
- goto EventScript_SecretBasePCShowMainMenu
- end
-
-EventScript_SecretBasePCMainMenuChoice:: @ 823B4EF
- multichoice 0, 0, 6, 0
- switch VAR_RESULT
- case 0, EventScript_23B581
- case 1, EventScript_23B568
- case 2, EventScript_23B585
- case 3, EventScript_23B66E
- case 127, EventScript_23B66E
- end
-
-EventScript_23B531:: @ 823B531
- multichoice 0, 0, 5, 0
- switch VAR_RESULT
- case 0, EventScript_23B581
- case 1, EventScript_23B568
- case 2, EventScript_23B66E
- case 127, EventScript_23B66E
- end
-
-EventScript_23B568:: @ 823B568
- msgbox Text_2766AA, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_SecretBasePCShowMainMenu
- closemessage
- special MoveOutOfSecretBase
- releaseall
- end
-
-EventScript_23B581:: @ 823B581
- special ShowSecretBaseDecorationMenu
- end
-
-EventScript_23B585:: @ 823B585
- special ShowSecretBaseRegistryMenu
- end
-
-EventScript_RecordMixingSecretBasePC:: @ 823B589
- lockall
- message Text_SecretBaseBootUpPC
- playse SE_PC_LOGIN
- dofieldeffect FLDEFF_PCTURN_ON
- waitstate
- waitmessage
- waitbuttonpress
- playse SE_SELECT
- goto EventScript_23B5A1
- end
-
-EventScript_23B5A1:: @ 823B5A1
- message Text_SecretBasePCStartMenu
- waitmessage
- multichoice 0, 0, 7, 0
- switch VAR_RESULT
- case 0, EventScript_23B5F0
- case 1, EventScript_23B585
- case 2, EventScript_23B660
- case 3, EventScript_23B66E
- case 127, EventScript_23B66E
- end
-
-gUnknown_0823B5E9:: @ 823B5E9
- lockall
- goto EventScript_23B5A1
- end
-
-EventScript_23B5F0:: @ 823B5F0
- special GetCurSecretBaseRegistrationValidity
- compare VAR_RESULT, 1
- goto_if_eq EventScript_23B62F
- compare VAR_RESULT, 2
- goto_if_eq EventScript_CantRegisterTooManyBases
- special CopyCurSecretBaseOwnerName_StrVar1
- msgbox Text_WantToRegisterSecretBase, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_23B5A1
- msgbox Text_2767D1, MSGBOX_SIGN
- special ToggleCurSecretBaseRegistry
- special DoSecretBasePCTurnOffEffect
- releaseall
- end
-
-EventScript_23B62F:: @ 823B62F
- msgbox Text_276731, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_23B5A1
- msgbox Text_2767E9, MSGBOX_SIGN
- special ToggleCurSecretBaseRegistry
- special DoSecretBasePCTurnOffEffect
- releaseall
- end
-
-EventScript_CantRegisterTooManyBases:: @ 823B652
- msgbox Text_TooManyBasesDeleteSome, MSGBOX_SIGN
- special DoSecretBasePCTurnOffEffect
- closemessage
- releaseall
- end
-
-EventScript_23B660:: @ 823B660
- msgbox Text_276835, MSGBOX_DEFAULT
- goto EventScript_23B5A1
- end
-
-EventScript_23B66E:: @ 823B66E
- special DoSecretBasePCTurnOffEffect
- closemessage
- releaseall
- end
-
-EventScript_23B674:: @ 823B674
- special SetSecretBaseSecretsTvFlags_Poster
- end
-
-EventScript_23B678:: @ 823B678
- special SetSecretBaseSecretsTvFlags_MiscFurnature
- end
-
-EventScript_23B67C:: @ 823B67C
- special SetSecretBaseSecretsTvFlags_LargeDecorationSpot
- end
-
-EventScript_23B680:: @ 823B680
- special SetSecretBaseSecretsTvFlags_SmallDecorationSpot
- end
-
-EventScript_SecretBaseSandOrnament:: @ 823B684
- special SetSecretBaseSecretsTvFlags_SandOrnament
- dofieldeffect FLDEFF_SAND_PILLAR
- waitstate
- end
-
-EventScript_SecretBaseShieldOrToyTV:: @ 823B68C
- special GetShieldToyTVDecorationInfo
- compare VAR_RESULT, 0
- goto_if_eq EventScript_23B6BC
- compare VAR_RESULT, 1
- goto_if_eq EventScript_23B6C5
- compare VAR_RESULT, 2
- goto_if_eq EventScript_23B6CE
- compare VAR_RESULT, 3
- goto_if_eq EventScript_23B6D7
- end
-
-EventScript_23B6BC:: @ 823B6BC
- msgbox Text_27692B, MSGBOX_SIGN
- end
-
-EventScript_23B6C5:: @ 823B6C5
- msgbox Text_276974, MSGBOX_SIGN
- end
-
-EventScript_23B6CE:: @ 823B6CE
- msgbox Text_2769B8, MSGBOX_SIGN
- end
-
-EventScript_23B6D7:: @ 823B6D7
- msgbox Text_2769FF, MSGBOX_SIGN
- end
-
-gText_23B6E0:: @ 823B6E0
- .string "There's a small indent in the wall.$"
-
-gText_23B704:: @ 823B704
- .string "There's a small indent in the wall.\p"
- .string "Use the SECRET POWER?$"
-
-gText_23B73E:: @ 823B73E
- .string "Discovered a small cavern!$"
-
-SecretBase_RedCave1_Text_23B759: @ 823B759
- .string "Want to make your SECRET BASE here?$"
-
- .include "data/maps/SingleBattleColosseum/scripts.inc"
+ .include "data/scripts/shared_secret_base.inc"
+ .include "data/maps/BattleColosseum_2P/scripts.inc"
.include "data/maps/TradeCenter/scripts.inc"
.include "data/maps/RecordCorner/scripts.inc"
- .include "data/maps/DoubleBattleColosseum/scripts.inc"
- .include "data/maps/LinkContestRoom1/scripts.inc"
- .include "data/maps/UnknownLinkContestRoom_25_29/scripts.inc"
- .include "data/maps/UnknownLinkContestRoom_25_30/scripts.inc"
- .include "data/maps/UnknownLinkContestRoom_25_31/scripts.inc"
- .include "data/maps/UnknownLinkContestRoom_25_32/scripts.inc"
- .include "data/maps/UnknownLinkContestRoom_25_33/scripts.inc"
- .include "data/maps/UnknownLinkContestRoom_25_34/scripts.inc"
- .include "data/maps/LinkContestRoom2/scripts.inc"
- .include "data/maps/LinkContestRoom3/scripts.inc"
- .include "data/maps/LinkContestRoom4/scripts.inc"
- .include "data/maps/LinkContestRoom5/scripts.inc"
- .include "data/maps/LinkContestRoom6/scripts.inc"
+ .include "data/maps/BattleColosseum_4P/scripts.inc"
+ .include "data/maps/ContestHall/scripts.inc"
.include "data/maps/InsideOfTruck/scripts.inc"
.include "data/maps/SSTidalCorridor/scripts.inc"
.include "data/maps/SSTidalLowerDeck/scripts.inc"
.include "data/maps/SSTidalRooms/scripts.inc"
.include "data/maps/BattlePyramidSquare01/scripts.inc"
- .include "data/maps/BattlePyramidSquare02/scripts.inc"
- .include "data/maps/BattlePyramidSquare03/scripts.inc"
- .include "data/maps/BattlePyramidSquare04/scripts.inc"
- .include "data/maps/BattlePyramidSquare05/scripts.inc"
- .include "data/maps/BattlePyramidSquare06/scripts.inc"
- .include "data/maps/BattlePyramidSquare07/scripts.inc"
- .include "data/maps/BattlePyramidSquare08/scripts.inc"
- .include "data/maps/BattlePyramidSquare09/scripts.inc"
- .include "data/maps/BattlePyramidSquare10/scripts.inc"
- .include "data/maps/BattlePyramidSquare11/scripts.inc"
- .include "data/maps/BattlePyramidSquare12/scripts.inc"
- .include "data/maps/BattlePyramidSquare13/scripts.inc"
- .include "data/maps/BattlePyramidSquare14/scripts.inc"
- .include "data/maps/BattlePyramidSquare15/scripts.inc"
- .include "data/maps/BattlePyramidSquare16/scripts.inc"
.include "data/maps/UnionRoom/scripts.inc"
.include "data/maps/SafariZone_Northwest/scripts.inc"
.include "data/maps/SafariZone_North/scripts.inc"
@@ -691,9 +473,9 @@ SecretBase_RedCave1_Text_23B759: @ 823B759
.include "data/maps/SafariZone_Northeast/scripts.inc"
.include "data/maps/SafariZone_Southeast/scripts.inc"
.include "data/maps/BattleFrontier_OutsideEast/scripts.inc"
+ .include "data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc"
+ .include "data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc"
.include "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc"
- .include "data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc"
- .include "data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc"
.include "data/maps/BattleFrontier_BattleDomeLobby/scripts.inc"
.include "data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc"
.include "data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc"
@@ -702,7 +484,7 @@ SecretBase_RedCave1_Text_23B759: @ 823B759
.include "data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc"
.include "data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc"
.include "data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc"
- .include "data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc"
+ .include "data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc"
.include "data/maps/BattleFrontier_BattlePyramidTop/scripts.inc"
.include "data/maps/BattleFrontier_BattleArenaLobby/scripts.inc"
.include "data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc"
@@ -713,12 +495,12 @@ SecretBase_RedCave1_Text_23B759: @ 823B759
.include "data/maps/BattleFrontier_BattlePikeLobby/scripts.inc"
.include "data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc"
.include "data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc"
- .include "data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc"
- .include "data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc"
- .include "data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc"
+ .include "data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc"
+ .include "data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc"
+ .include "data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc"
.include "data/maps/BattleFrontier_RankingHall/scripts.inc"
.include "data/maps/BattleFrontier_Lounge1/scripts.inc"
- .include "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc"
+ .include "data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc"
.include "data/maps/BattleFrontier_Lounge2/scripts.inc"
.include "data/maps/BattleFrontier_Lounge3/scripts.inc"
.include "data/maps/BattleFrontier_Lounge4/scripts.inc"
@@ -788,367 +570,10 @@ SecretBase_RedCave1_Text_23B759: @ 823B759
.include "data/maps/Route119_House/scripts.inc"
.include "data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc"
-Std_MsgboxNPC: @ 8271315
- lock
- faceplayer
- message 0x0
- waitmessage
- waitbuttonpress
- release
- return
-
-Std_MsgboxSign: @ 8271320
- lockall
- message 0x0
- waitmessage
- waitbuttonpress
- releaseall
- return
-
-Std_MsgboxDefault: @ 827132A
- message 0x0
- waitmessage
- waitbuttonpress
- return
-
-Std_MsgboxYesNo: @ 8271332
- message 0x0
- waitmessage
- yesnobox 20, 8
- return
-
-Std_9: @ 827133C
- message 0x0
- playfanfare MUS_ME_POINTGET
- waitfanfare
- waitmessage
- return
-
-Std_10: @ 8271347
- pokenavcall 0x0
- waitmessage
- return
-
-EventScript_UnusedReturn: @ 827134E
- return
-
-Common_EventScript_SaveGame:: @ 827134F
- special SaveGame
- waitstate
- return
-
-EventScript_271354:: @ 8271354
- cmdD8
- cmdD9
-
+ .include "data/scripts/std_msgbox.inc"
.include "data/scripts/trainer_battle.inc"
-
-Std_MsgboxAutoclose:: @ 8271494
- message 0x0
- waitmessage
- waitbuttonpress
- release
- return
-
-EventScript_ResetAllBerries:: @ 827149D
- setberrytree 2, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5
- setberrytree 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 11, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5
- setberrytree 13, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 4, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5
- setberrytree 76, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5
- setberrytree 8, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5
- setberrytree 10, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5
- setberrytree 25, ITEM_TO_BERRY(ITEM_PINAP_BERRY), 5
- setberrytree 26, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), 5
- setberrytree 66, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), 5
- setberrytree 67, ITEM_TO_BERRY(ITEM_PINAP_BERRY), 5
- setberrytree 69, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), 5
- setberrytree 70, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), 5
- setberrytree 71, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), 5
- setberrytree 55, ITEM_TO_BERRY(ITEM_BLUK_BERRY), 5
- setberrytree 56, ITEM_TO_BERRY(ITEM_BLUK_BERRY), 5
- setberrytree 5, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5
- setberrytree 6, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5
- setberrytree 7, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5
- setberrytree 16, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5
- setberrytree 17, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5
- setberrytree 18, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5
- setberrytree 29, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5
- setberrytree 28, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5
- setberrytree 27, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5
- setberrytree 24, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5
- setberrytree 23, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 22, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 21, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5
- setberrytree 19, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), 5
- setberrytree 20, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), 5
- setberrytree 80, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5
- setberrytree 81, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5
- setberrytree 77, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5
- setberrytree 78, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5
- setberrytree 68, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5
- setberrytree 31, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5
- setberrytree 33, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5
- setberrytree 34, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5
- setberrytree 35, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5
- setberrytree 36, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5
- setberrytree 83, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), 5
- setberrytree 84, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), 5
- setberrytree 85, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5
- setberrytree 86, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5
- setberrytree 37, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5
- setberrytree 38, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5
- setberrytree 39, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5
- setberrytree 40, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 41, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 42, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 46, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5
- setberrytree 45, ITEM_TO_BERRY(ITEM_PINAP_BERRY), 5
- setberrytree 44, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5
- setberrytree 43, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), 5
- setberrytree 47, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5
- setberrytree 48, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5
- setberrytree 49, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5
- setberrytree 50, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), 5
- setberrytree 52, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5
- setberrytree 53, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5
- setberrytree 62, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5
- setberrytree 64, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5
- setberrytree 58, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5
- setberrytree 59, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5
- setberrytree 60, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5
- setberrytree 61, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5
- setberrytree 79, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5
- setberrytree 14, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5
- setberrytree 15, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5
- setberrytree 30, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5
- setberrytree 65, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5
- setberrytree 72, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5
- setberrytree 73, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5
- setberrytree 74, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5
- setberrytree 87, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5
- setberrytree 88, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5
- setberrytree 89, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5
- setberrytree 82, ITEM_TO_BERRY(ITEM_LIECHI_BERRY), 5
- return
-
-EventScript_ResetAllMapFlags:: @ 82715DE
- setflag FLAG_LINK_CONTEST_POKE_BALL
- setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE
- setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE
- setflag FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA
- setflag FLAG_HIDE_PETALBURG_CITY_WALLY
- setflag FLAG_UNKNOWN_0x363
- setflag FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT
- setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
- setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
- setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
- setflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN
- setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
- setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
- setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
- setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
- setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
- setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
- setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
- setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
- setflag FLAG_HIDE_ROUTE_110_BIRCH
- setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1
- setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2
- setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1
- setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2
- setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3
- setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4
- setflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
- setflag FLAG_HIDE_PETALBURG_GYM_GREETER
- setflag FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
- setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
- setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
- setflag FLAG_HIDE_PLAYERS_HOUSE_DAD
- setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
- setflag FLAG_HIDE_FANCLUB_OLD_LADY
- setflag FLAG_HIDE_FANCLUB_BOY
- setflag FLAG_HIDE_FANCLUB_LITTLE_BOY
- setflag FLAG_HIDE_FANCLUB_LADY
- setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
- setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
- setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
- setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
- setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
- setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
- setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
- setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
- setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER
- setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
- setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
- setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN
- setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE
- setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN
- setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT
- setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
- setflag FLAG_HIDE_PETALBURG_GYM_WALLY
- setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
- setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE
- setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE
- setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
- setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1
- setflag FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1
- setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
- setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
- setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
- setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
- setflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL
- setflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
- setflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN
- setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW
- setflag FLAG_HIDE_ROUTE_119_RIVAL
- setflag FLAG_HIDE_ROUTE_119_SCOTT
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
- setflag FLAG_HIDE_LANETTES_HOUSE_LANETTE
- setflag FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN
- setflag FLAG_HIDE_MT_CHIMNEY_TRAINERS
- setflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY
- setflag FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN
- setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
- setflag FLAG_HIDE_RUSTURF_TUNNEL_PEEKO
- setflag FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT
- setflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN
- setflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN
- setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE
- setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1
- setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2
- setflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
- setflag FLAG_HIDE_BATTLE_TOWER_OPPONENT
- setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
- setflag FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM
- setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
- setflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
- setflag FLAG_HIDE_ROUTE_101_BIRCH
- setflag FLAG_HIDE_ROUTE_103_BIRCH
- setflag FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR
- setflag FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER
- setflag FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE
- setflag FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON
- setflag FLAG_UNKNOWN_0x393
- setflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE
- setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON
- setflag FLAG_HIDE_MAUVILLE_CITY_SCOTT
- setflag FLAG_HIDE_CHAMPIONS_ROOM_RIVAL
- setflag FLAG_HIDE_CHAMPIONS_ROOM_BIRCH
- setflag FLAG_HIDE_ROUTE_110_RIVAL_2
- setflag FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE
- setflag FLAG_HIDE_ROUTE_104_RIVAL
- setflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
- setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
- setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2
- setflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL
- setflag FLAG_HIDE_METEOR_FALLS_TEAM_AQUA
- setflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN
- setflag FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO
- setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M
- setflag FLAG_HIDE_ROUTE_128_STEVEN
- setflag FLAG_HIDE_ROUTE_128_ARCHIE
- setflag FLAG_HIDE_ROUTE_128_MAXIE
- setflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
- setflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
- setflag FLAG_HIDE_SLATEPORT_CITY_SCOTT
- setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
- setflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY
- setflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
- setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
- setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
- setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
- setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
- setflag FLAG_HIDE_ROUTE_101_BOY
- setflag FLAG_HIDE_PETALBURG_CITY_SCOTT
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
- setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
- setflag FLAG_HIDE_ROUTE_111_DESERT_FOSSIL
- setflag FLAG_HIDE_ROUTE_111_PLAYER_DESCENT
- setflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
- setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
- setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
- setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
- setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
- setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
- setflag FLAG_HIDE_DEOXYS
- setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
- setflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT
- setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
- setflag FLAG_HIDE_SKY_PILLAR_WALLACE
- setflag FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT
- call EventScript_ResetAllBerries
- end
-
-EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1
- special sub_81AFDD0
- setflag FLAG_IS_CHAMPION
- call EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries
- compare VAR_FOSSIL_MANIAC_STATE, 0
- call_if_eq EverGrandeCity_HallOfFame_EventScript_271839
- clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
- call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour
- setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
- clearflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
- clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
- setvar VAR_STEVENS_HOUSE_STATE, 2
- setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
- clearflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY
- clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
- clearflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL
- setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS
- clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
- setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL
- special sub_813BA60
- call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_271843
- call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_27183F
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
- setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 0
- call_if_eq EverGrandeCity_HallOfFame_EventScript_271851
- return
-
-EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries:: @ 8271829
- clearflag FLAG_DEFEATED_MEW
- clearflag FLAG_DEFEATED_LATIAS_OR_LATIOS
- clearflag FLAG_DEFEATED_DEOXYS
- clearflag FLAG_DEFEATED_LUGIA
- clearflag FLAG_DEFEATED_HO_OH
- return
-
-EverGrandeCity_HallOfFame_EventScript_271839:: @ 8271839
- setvar VAR_FOSSIL_MANIAC_STATE, 1
- return
-
-EverGrandeCity_HallOfFame_EventScript_27183F:: @ 827183F
- clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
- return
-
-EverGrandeCity_HallOfFame_EventScript_271843:: @ 8271843
- setvar VAR_LITTLEROOT_HOUSES_STATE, 3
- setvar VAR_LITTLEROOT_HOUSES_STATE_2, 3
- clearflag FLAG_HIDE_PLAYERS_HOUSE_DAD
- return
-
-EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851
- setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1
- return
+ .include "data/scripts/new_game.inc"
+ .include "data/scripts/hall_of_fame.inc"
EventScript_WhiteOut:: @ 8271857
call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour
@@ -1161,13 +586,13 @@ EventScript_ResetMrBriney:: @ 8271862
compare VAR_BRINEY_LOCATION, 2
goto_if_eq EventScript_MoveMrBrineyToDewford
compare VAR_BRINEY_LOCATION, 3
- goto_if_eq EventScript_MoveMrBrineyToRoute108
+ goto_if_eq EventScript_MoveMrBrineyToRoute109
end
EventScript_MoveMrBrineyToHouse:: @ 8271884
setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
- setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
@@ -1175,7 +600,7 @@ EventScript_MoveMrBrineyToHouse:: @ 8271884
end
EventScript_MoveMrBrineyToDewford:: @ 827189A
- setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
@@ -1185,14 +610,14 @@ EventScript_MoveMrBrineyToDewford:: @ 827189A
clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
end
-EventScript_MoveMrBrineyToRoute108:: @ 82718B3
+EventScript_MoveMrBrineyToRoute109:: @ 82718B3
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
- clearflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY
clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
end
@@ -1204,484 +629,32 @@ EverGrandeCity_HallOfFame_EventScript_ResetEliteFour:: @ 82718CC
setvar VAR_ELITE_4_STATE, 0
return
-DewfordTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-FallarborTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-LavaridgeTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-MauvilleCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-OldaleTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-PetalburgCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-RustboroCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-SlateportCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
-VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+Common_EventScript_UpdateBrineyLocation:: @ 82718DE
goto_if_unset FLAG_RECEIVED_POKENAV, Common_EventScript_NopReturn
goto_if_set FLAG_DEFEATED_PETALBURG_GYM, Common_EventScript_NopReturn
- goto_if_unset FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT, OldaleTown_PokemonCenter_1F_EventScript_27190C
- goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, OldaleTown_PokemonCenter_1F_EventScript_271912
- goto_if_unset FLAG_HIDE_ROUTE_108_MR_BRINEY, OldaleTown_PokemonCenter_1F_EventScript_271918
+ goto_if_unset FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT, EventScript_SetBrineyLocation_House
+ goto_if_unset FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, EventScript_SetBrineyLocation_Dewford
+ goto_if_unset FLAG_HIDE_ROUTE_109_MR_BRINEY, EventScript_SetBrineyLocation_Route109
return
-OldaleTown_PokemonCenter_1F_EventScript_27190C:: @ 827190C
+EventScript_SetBrineyLocation_House:: @ 827190C
setvar VAR_BRINEY_LOCATION, 1
return
-OldaleTown_PokemonCenter_1F_EventScript_271912:: @ 8271912
+EventScript_SetBrineyLocation_Dewford:: @ 8271912
setvar VAR_BRINEY_LOCATION, 2
return
-OldaleTown_PokemonCenter_1F_EventScript_271918:: @ 8271918
+EventScript_SetBrineyLocation_Route109:: @ 8271918
setvar VAR_BRINEY_LOCATION, 3
return
-BattleFrontier_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-DewfordTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-EverGrandeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-EverGrandeCity_PokemonLeague_1F_EventScript_27191E:: @ 827191E
-FallarborTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-FortreeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-LavaridgeTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-LilycoveCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-MauvilleCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-MossdeepCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-OldaleTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-PacifidlogTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-PetalburgCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-RustboroCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-SlateportCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-SootopolisCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
-TrainerHill_Entrance_EventScript_27191E:: @ 827191E
-VerdanturfTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
- lock
- faceplayer
- setvar VAR_0x8004, 0
- specialvar VAR_RESULT, CountPlayerTrainerStars
- compare VAR_RESULT, 4
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A68
- msgbox gUnknown_082726EB, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_27195A
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271954
- end
-
-OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954
- message gUnknown_082727DB
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_27195A:: @ 827195A
- incrementgamestat 15
- compare VAR_0x8004, 0
- call_if_eq OldaleTown_PokemonCenter_1F_EventScript_271987
- compare VAR_0x8004, 1
- call_if_eq OldaleTown_PokemonCenter_1F_EventScript_27198D
- waitmessage
- call OldaleTown_PokemonCenter_1F_EventScript_271993
- goto_if_unset FLAG_POKERUS_EXPLAINED, OldaleTown_PokemonCenter_1F_EventScript_271A43
- goto OldaleTown_PokemonCenter_1F_EventScript_2719B1
- end
-
-OldaleTown_PokemonCenter_1F_EventScript_271987:: @ 8271987
- message gUnknown_08272768
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_27198D:: @ 827198D
- message gUnknown_082729C0
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993
- applymovement VAR_0x800B, Common_Movement_WalkInPlaceLeft
- waitmovement 0
- dofieldeffect FLDEFF_POKECENTER_HEAL
- waitfieldeffect FLDEFF_POKECENTER_HEAL
- applymovement VAR_0x800B, Common_Movement_WalkInPlaceDown
- waitmovement 0
- special HealPlayerParty
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1
- specialvar VAR_RESULT, sub_8139ED0
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
- specialvar VAR_RESULT, sp182_move_string
- copyvar VAR_0x8008, VAR_RESULT
- compare VAR_0x8008, 0
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
- compare VAR_0x8008, 1
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A19
- end
-
-OldaleTown_PokemonCenter_1F_EventScript_2719E2:: @ 82719E2
- compare VAR_0x8004, 1
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A03
- message gUnknown_08272798
- waitmessage
- applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0
- waitmovement 0
- message gUnknown_082727DB
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03
- message gUnknown_082729F0
- waitmessage
- applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0
- waitmovement 0
- message gUnknown_08272A07
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19
- goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, OldaleTown_PokemonCenter_1F_EventScript_2719E2
- msgbox gUnknown_08272798, MSGBOX_DEFAULT
- setflag FLAG_NURSE_UNION_ROOM_REMINDER
- message OldaleTown_PokemonCenter_1F_Text_278A48
- waitmessage
- applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0
- waitmovement 0
- message gUnknown_082727DB
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43
- specialvar VAR_RESULT, IsPokerusInParty
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_Explain_Pokerus
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1
- end
-
-OldaleTown_PokemonCenter_1F_EventScript_Explain_Pokerus:: @ 8271A5F
- message gText_PokerusExplanation
- setflag FLAG_POKERUS_EXPLAINED
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68
- goto_if_set FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD, OldaleTown_PokemonCenter_1F_EventScript_271AAC
- setflag FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD
- msgbox gUnknown_082727F5, MSGBOX_DEFAULT
- playse SE_PIN
- applymovement VAR_0x800B, Common_Movement_ExclamationMark
- waitmovement 0
- applymovement VAR_0x800B, Common_Movement_Delay48
- waitmovement 0
- msgbox gUnknown_08272860, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
- message gUnknown_08272A07
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_271AAC:: @ 8271AAC
- msgbox gUnknown_08272982, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
- message gUnknown_08272A07
- return
-
-OldaleTown_PokemonCenter_1F_EventScript_271AC5:: @ 8271AC5
- setvar VAR_0x8004, 1
- goto OldaleTown_PokemonCenter_1F_EventScript_27195A
- end
-
-OldaleTown_PokemonCenter_1F_Movement_271AD0: @ 8271AD0
- nurse_joy_bow
- delay_4
- step_end
-
-Std_ObtainItem:: @ 8271AD3
- giveitem VAR_0x8000, VAR_0x8001
- copyvar VAR_0x8007, VAR_RESULT
- call EventScript_271AE3
- return
-
-EventScript_271AE3:: @ 8271AE3
- bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
- checkitemtype VAR_0x8000
- call EventScript_271B08
- compare VAR_0x8007, 1
- call_if_eq EventScript_271B95
- compare VAR_0x8007, 0
- call_if_eq EventScript_271BA9
- return
-
-EventScript_271B08:: @ 8271B08
- switch VAR_RESULT
- case 1, EventScript_271B45
- case 5, EventScript_271B55
- case 2, EventScript_271B65
- case 3, EventScript_271B75
- case 4, EventScript_271B85
- end
-
-EventScript_271B45:: @ 8271B45
- bufferstdstring 2, 14
- compare VAR_0x8007, 1
- call_if_eq EventScript_271BAF
- return
-
-EventScript_271B55:: @ 8271B55
- bufferstdstring 2, 15
- compare VAR_0x8007, 1
- call_if_eq EventScript_271BAF
- return
-
-EventScript_271B65:: @ 8271B65
- bufferstdstring 2, 16
- compare VAR_0x8007, 1
- call_if_eq EventScript_271BAF
- return
-
-EventScript_271B75:: @ 8271B75
- bufferstdstring 2, 17
- compare VAR_0x8007, 1
- call_if_eq EventScript_271BB3
- return
-
-EventScript_271B85:: @ 8271B85
- bufferstdstring 2, 18
- compare VAR_0x8007, 1
- call_if_eq EventScript_271BAF
- return
-
-EventScript_271B95:: @ 8271B95
- message gUnknown_08272A78
- waitfanfare
- msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
- setvar VAR_RESULT, 1
- return
-
-EventScript_271BA9:: @ 8271BA9
- setvar VAR_RESULT, 0
- return
-
-EventScript_271BAF:: @ 8271BAF
- playfanfare MUS_FANFA4
- return
-
-EventScript_271BB3:: @ 8271BB3
- playfanfare MUS_ME_WAZA
- return
-
-Std_ObtainDecoration:: @ 8271BB7
- givedecoration VAR_0x8000
- copyvar VAR_0x8007, VAR_RESULT
- call EventScript_271BC5
- return
-
-EventScript_271BC5:: @ 8271BC5
- bufferdecorationname 1, VAR_0x8000
- compare VAR_0x8007, 1
- call_if_eq EventScript_271BE0
- compare VAR_0x8007, 0
- call_if_eq EventScript_271BF7
- return
-
-EventScript_271BE0:: @ 8271BE0
- playfanfare MUS_FANFA4
- message gUnknown_08272B09
- waitfanfare
- msgbox gUnknown_08272B48, MSGBOX_DEFAULT
- setvar VAR_RESULT, 1
- return
-
-EventScript_271BF7:: @ 8271BF7
- setvar VAR_RESULT, 0
- return
-
-Std_FindItem:: @ 8271BFD
- lock
- faceplayer
- waitse
- copyvar VAR_0x8004, VAR_0x8000
- copyvar VAR_0x8005, VAR_0x8001
- checkitemspace VAR_0x8000, VAR_0x8001
- copyvar VAR_0x8007, VAR_RESULT
- bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
- checkitemtype VAR_0x8000
- call EventScript_271B08
- compare VAR_0x8007, 1
- call_if_eq EventScript_PickItemUp
- compare VAR_0x8007, 0
- call_if_eq EventScript_271CA1
- release
- return
-
-EventScript_PickItemUp:: @ 8271C3A
- removeobject VAR_LAST_TALKED
- giveitem VAR_0x8004, VAR_0x8005
- specialvar VAR_RESULT, sub_81398C0
- copyvar VAR_0x8008, VAR_RESULT
- compare VAR_0x8008, 1
- call_if_eq EventScript_271C8F
- compare VAR_0x8008, 0
- call_if_eq EventScript_271C9B
- waitfanfare
- waitmessage
- bufferitemnameplural 1, VAR_0x8004, VAR_0x8005
- setvar VAR_0x8004, 12
- special CallBattlePyramidFunction
- compare VAR_RESULT, 1
- goto_if_eq EventScript_271C86
- msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
- return
-
-EventScript_271C86:: @ 8271C86
- msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT
- return
-
-EventScript_271C8F:: @ 8271C8F
- bufferitemnameplural 0, VAR_0x8004, VAR_0x8005
- message gText_PlayerFoundOneItemTwoLines
- return
-
-EventScript_271C9B:: @ 8271C9B
- message gText_PlayerFoundOneItem
- return
-
-EventScript_271CA1:: @ 8271CA1
- msgbox gUnknown_08272A78, MSGBOX_DEFAULT
- msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
- setvar VAR_RESULT, 0
- return
-
-EventScript_HiddenItemScript:: @ 8271CB7
- lockall
- waitse
- giveitem VAR_0x8005, 1
- copyvar VAR_0x8007, VAR_RESULT
- bufferitemnameplural 1, VAR_0x8005, 1
- checkitemtype VAR_0x8005
- call EventScript_271B08
- compare VAR_0x8007, 1
- goto_if_eq EventScript_271CE8
- compare VAR_0x8007, 0
- goto_if_eq EventScript_271D47
- end
-
-EventScript_271CE8:: @ 8271CE8
- copyvar VAR_0x8008, VAR_0x8004
- copyvar VAR_0x8004, VAR_0x8005
- specialvar VAR_RESULT, sub_81398C0
- compare VAR_RESULT, 1
- goto_if_eq EventScript_271D0E
- compare VAR_RESULT, 0
- goto_if_eq EventScript_271D1F
- end
-
-EventScript_271D0E:: @ 8271D0E
- bufferitemnameplural 0, VAR_0x8004, 1
- message gText_PlayerFoundOneItemTwoLines
- goto EventScript_271D2A
- end
-
-EventScript_271D1F:: @ 8271D1F
- message gText_PlayerFoundOneItem
- goto EventScript_271D2A
- end
-
-EventScript_271D2A:: @ 8271D2A
- waitmessage
- waitfanfare
- bufferitemnameplural 1, VAR_0x8004, 1
- copyvar VAR_0x8004, VAR_0x8008
- msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
- special sub_80EDCE8
- special SetFlagInVar
- releaseall
- end
-
-EventScript_271D47:: @ 8271D47
- msgbox gText_PlayerFoundOneItem, MSGBOX_DEFAULT
- msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
- setvar VAR_RESULT, 0
- releaseall
- end
-
-EventScript_271D5E:: @ 8271D5E
- lock
- faceplayer
- msgbox Text_WouldYouLikeToMixRecords, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq EventScript_271D83
- compare VAR_RESULT, 0
- goto_if_eq EventScript_271D89
- goto EventScript_271D89
-
-EventScript_271D83:: @ 8271D83
- special RecordMixingPlayerSpotTriggered
- waitstate
- lock
- faceplayer
-
-EventScript_271D89:: @ 8271D89
- message Text_WouldNotLikeToMixRecords
- waitmessage
- waitbuttonpress
- release
- end
-
-EventScript_PC:: @ 8271D92
- lockall
- setvar VAR_0x8004, 0
- special DoPCTurnOnEffect
- playse SE_PC_ON
- msgbox Text_BootUpPC, MSGBOX_DEFAULT
- goto EventScript_271DAC
- end
-
-EventScript_271DAC:: @ 8271DAC
- message gText_WhichPCShouldBeAccessed
- waitmessage
- special ScrSpecial_CreatePCMenu
- waitstate
- goto EventScript_271DBC
- end
-
-EventScript_271DBC:: @ 8271DBC
- switch VAR_RESULT
- case 0, EventScript_271E0E
- case 1, EventScript_271DF9
- case 2, EventScript_271E54
- case 3, EventScript_271E47
- case 127, EventScript_271E47
- end
-
-EventScript_271DF9:: @ 8271DF9
- playse SE_PC_LOGIN
- msgbox gText_AccessedPlayersPC, MSGBOX_DEFAULT
- special PlayerPC
- waitstate
- goto EventScript_271DAC
- end
-
-EventScript_271E0E:: @ 8271E0E
- playse SE_PC_LOGIN
- call_if_unset FLAG_SYS_PC_LANETTE, EventScript_271E35
- call_if_set FLAG_SYS_PC_LANETTE, EventScript_271E3E
- msgbox gText_StorageSystemOpened, MSGBOX_DEFAULT
- special ShowPokemonStorageSystemPC
- waitstate
- goto EventScript_271DAC
- end
-
-EventScript_271E35:: @ 8271E35
- msgbox gText_AccessedSomeonesPC, MSGBOX_DEFAULT
- return
-
-EventScript_271E3E:: @ 8271E3E
- msgbox gText_AccessedLanettesPC, MSGBOX_DEFAULT
- return
-
-EventScript_271E47:: @ 8271E47
- setvar VAR_0x8004, 0
- playse SE_PC_OFF
- special DoPCTurnOffEffect
- releaseall
- end
-
-EventScript_271E54:: @ 8271E54
- goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_271E47
- playse SE_PC_LOGIN
- special AccessHallOfFamePC
- waitstate
- goto EventScript_271DBC
- end
+ .include "data/scripts/pkmn_center_nurse.inc"
+ .include "data/scripts/obtain_item.inc"
+ .include "data/scripts/record_mix.inc"
+ .include "data/scripts/pc.inc"
+@ scripts/notices.inc? signs.inc? See comment about text/notices.inc
Common_EventScript_ShowPokemartSign:: @ 8271E6A
msgbox gText_PokemartSign, MSGBOX_SIGN
end
@@ -1691,199 +664,30 @@ Common_EventScript_ShowPokemonCenterSign:: @ 8271E73
end
Common_ShowEasyChatScreen:: @ 8271E7C
- fadescreen 1
+ fadescreen FADE_TO_BLACK
special ShowEasyChatScreen
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
return
-DewfordTown_Gym_EventScript_271E84:: @ 8271E84
-LavaridgeTown_Gym_1F_EventScript_271E84:: @ 8271E84
-MauvilleCity_Gym_EventScript_271E84:: @ 8271E84
-RustboroCity_Gym_EventScript_271E84:: @ 8271E84
+Common_EventScript_ReadyPetalburgGymForBattle:: @ 8271E84
clearflag FLAG_HIDE_PETALBURG_GYM_GREETER
setflag FLAG_PETALBURG_MART_EXPANDED_ITEMS
return
-DewfordTown_EventScript_271E8B:: @ 8271E8B
-DewfordTown_Hall_EventScript_271E8B:: @ 8271E8B
+Common_EventScript_BufferTrendyPhrase:: @ 8271E8B
dotimebasedevents
setvar VAR_0x8004, 0
special BufferTrendyPhraseString
return
-DewfordTown_EventScript_271E95:: @ 8271E95
-Route104_MrBrineysHouse_EventScript_271E95:: @ 8271E95
-Route109_EventScript_271E95:: @ 8271E95
+EventScript_BackupMrBrineyLocation:: @ 8271E95
copyvar VAR_0x8008, VAR_BRINEY_LOCATION
setvar VAR_BRINEY_LOCATION, 0
return
-EventScript_UseSurf:: @ 8271EA0
- checkpartymove MOVE_SURF
- compare VAR_RESULT, 6
- goto_if_eq EventScript_CantSurf
- bufferpartymonnick 0, VAR_RESULT
- setfieldeffectargument 0, VAR_RESULT
- lockall
- msgbox gText_WantToUseSurf, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_CancelSurf
- msgbox gText_PlayerUsedSurf, MSGBOX_DEFAULT
- dofieldeffect FLDEFF_USE_SURF
-
-EventScript_CancelSurf:: @ 8271ED5
- releaseall
-
-EventScript_CantSurf:: @ 8271ED6
- end
-
-Common_EventScript_SetupRivalGender:: @ 8271ED7
- checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq RustboroCity_EventScript_271EEF
- compare VAR_RESULT, FEMALE
- goto_if_eq RustboroCity_EventScript_271EF5
- end
-
-RustboroCity_EventScript_271EEF:: @ 8271EEF
- setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
- return
-
-RustboroCity_EventScript_271EF5:: @ 8271EF5
- setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- return
-
-Common_EventScript_SetupRivalOnBikeGender:: @ 8271EFB
- checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LavaridgeTown_EventScript_271F13
- compare VAR_RESULT, FEMALE
- goto_if_eq LavaridgeTown_EventScript_271F19
- end
-
-LavaridgeTown_EventScript_271F13:: @ 8271F13
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE
- return
-
-LavaridgeTown_EventScript_271F19:: @ 8271F19
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE
- return
-
-EventScript_271F1F:: @ 8271F1F
- checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq EventScript_271F37
- compare VAR_RESULT, FEMALE
- goto_if_eq EventScript_271F3D
- end
-
-EventScript_271F37:: @ 8271F37
- setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- return
-
-EventScript_271F3D:: @ 8271F3D
- setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
- return
-
-DewfordTown_Gym_EventScript_271F43:: @ 8271F43
-FortreeCity_Gym_EventScript_271F43:: @ 8271F43
-LavaridgeTown_Gym_1F_EventScript_271F43:: @ 8271F43
-MauvilleCity_Gym_EventScript_271F43:: @ 8271F43
-MossdeepCity_Gym_EventScript_271F43:: @ 8271F43
-PetalburgCity_Gym_EventScript_271F43:: @ 8271F43
-RustboroCity_Gym_EventScript_271F43:: @ 8271F43
-SootopolisCity_Gym_1F_EventScript_271F43:: @ 8271F43
- switch VAR_0x8008
- case 1, DewfordTown_Gym_EventScript_271FA1
- case 2, DewfordTown_Gym_EventScript_271FAB
- case 3, DewfordTown_Gym_EventScript_271FBE
- case 4, DewfordTown_Gym_EventScript_271FCE
- case 5, DewfordTown_Gym_EventScript_271FE7
- case 6, DewfordTown_Gym_EventScript_271FFD
- case 7, DewfordTown_Gym_EventScript_272010
- case 8, DewfordTown_Gym_EventScript_272035
- end
-
-DewfordTown_Gym_EventScript_271FA1:: @ 8271FA1
- settrainerflag TRAINER_JOSH
- settrainerflag TRAINER_TOMMY
- settrainerflag TRAINER_MARC
- return
-
-DewfordTown_Gym_EventScript_271FAB:: @ 8271FAB
- settrainerflag TRAINER_TAKAO
- settrainerflag TRAINER_JOCELYN
- settrainerflag TRAINER_LAURA
- settrainerflag TRAINER_BRENDEN
- settrainerflag TRAINER_CRISTIAN
- settrainerflag TRAINER_LILITH
- return
-
-DewfordTown_Gym_EventScript_271FBE:: @ 8271FBE
- settrainerflag TRAINER_KIRK
- settrainerflag TRAINER_SHAWN
- settrainerflag TRAINER_BEN
- settrainerflag TRAINER_VIVIAN
- settrainerflag TRAINER_ANGELO
- return
-
-DewfordTown_Gym_EventScript_271FCE:: @ 8271FCE
- settrainerflag TRAINER_COLE
- settrainerflag TRAINER_AXLE
- settrainerflag TRAINER_KEEGAN
- settrainerflag TRAINER_GERALD
- settrainerflag TRAINER_DANIELLE
- settrainerflag TRAINER_JACE
- settrainerflag TRAINER_JEFF
- settrainerflag TRAINER_ELI
- return
-
-DewfordTown_Gym_EventScript_271FE7:: @ 8271FE7
- settrainerflag TRAINER_RANDALL
- settrainerflag TRAINER_PARKER
- settrainerflag TRAINER_GEORGE
- settrainerflag TRAINER_BERKE
- settrainerflag TRAINER_MARY
- settrainerflag TRAINER_ALEXIA
- settrainerflag TRAINER_JODY
- return
-
-DewfordTown_Gym_EventScript_271FFD:: @ 8271FFD
- settrainerflag TRAINER_JARED
- settrainerflag TRAINER_FLINT
- settrainerflag TRAINER_ASHLEY
- settrainerflag TRAINER_EDWARDO
- settrainerflag TRAINER_HUMBERTO
- settrainerflag TRAINER_DARIUS
- return
-
-DewfordTown_Gym_EventScript_272010:: @ 8272010
- settrainerflag TRAINER_PRESTON
- settrainerflag TRAINER_VIRGIL
- settrainerflag TRAINER_BLAKE
- settrainerflag TRAINER_HANNAH
- settrainerflag TRAINER_SAMANTHA
- settrainerflag TRAINER_MAURA
- settrainerflag TRAINER_SYLVIA
- settrainerflag TRAINER_NATE
- settrainerflag TRAINER_KATHLEEN
- settrainerflag TRAINER_CLIFFORD
- settrainerflag TRAINER_MACEY
- settrainerflag TRAINER_NICHOLAS
- return
-
-DewfordTown_Gym_EventScript_272035:: @ 8272035
- settrainerflag TRAINER_ANDREA
- settrainerflag TRAINER_CRISSY
- settrainerflag TRAINER_BRIANNA
- settrainerflag TRAINER_CONNIE
- settrainerflag TRAINER_BRIDGET
- settrainerflag TRAINER_OLIVIA
- settrainerflag TRAINER_TIFFANY
- settrainerflag TRAINER_BETHANY
- settrainerflag TRAINER_ANNIKA
- settrainerflag TRAINER_DAPHNE
- return
+ .include "data/scripts/surf.inc"
+ .include "data/scripts/rival_graphics.inc"
+ .include "data/scripts/set_gym_trainers.inc"
Common_EventScript_ShowBagIsFull:: @ 8272054
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
@@ -1894,17 +698,17 @@ Common_EventScript_BagIsFull:: @ 827205E
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
return
-Route114_LanettesHouse_EventScript_272067:: @ 8272067
+Common_EventScript_ShowNoRoomForDecor:: @ 8272067
msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT
release
end
-Common_EventScript_NoRoomLeftForAnother:: @ 8272071
+Common_EventScript_NoRoomForDecor:: @ 8272071
msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT
return
-Common_EventScript_SetWeather15:: @ 827207A
- setweather WEATHER_ALTERNATING
+Common_EventScript_SetAbnormalWeather:: @ 827207A
+ setweather WEATHER_ABNORMAL
return
Common_EventScript_PlayGymBadgeFanfare:: @ 827207E
@@ -1913,140 +717,42 @@ Common_EventScript_PlayGymBadgeFanfare:: @ 827207E
return
Common_EventScript_OutOfCenterPartyHeal:: @ 8272083
- fadescreen 1
+ fadescreen FADE_TO_BLACK
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
return
EventScript_RegionMap:: @ 827208F
lockall
msgbox Common_Text_LookCloserAtMap, MSGBOX_DEFAULT
- fadescreen 1
+ fadescreen FADE_TO_BLACK
special FieldShowRegionMap
waitstate
releaseall
end
-DewfordTown_EventScript_2720A0:: @ 82720A0
-Route104_EventScript_2720A0:: @ 82720A0
-Route109_EventScript_2720A0:: @ 82720A0
- setflag FLAG_SPECIAL_FLAG_0x4001
+Common_EventScript_PlayBrineysBoatMusic:: @ 82720A0
+ setflag FLAG_DONT_TRANSITION_MUSIC
playbgm MUS_M_BOAT, 0
return
-DewfordTown_EventScript_2720A8:: @ 82720A8
-Route104_EventScript_2720A8:: @ 82720A8
-Route109_EventScript_2720A8:: @ 82720A8
- clearflag FLAG_SPECIAL_FLAG_0x4001
+Common_EventScript_StopBrineysBoatMusic:: @ 82720A8
+ clearflag FLAG_DONT_TRANSITION_MUSIC
fadedefaultbgm
return
-LittlerootTown_ProfessorBirchsLab_EventScript_2720AD:: @ 82720AD
-Route101_EventScript_2720AD:: @ 82720AD
-Route103_EventScript_2720AD:: @ 82720AD
- compare VAR_PETALBURG_GYM_STATE, 0
- goto_if_eq Common_EventScript_NopReturn
- goto_if_set FLAG_SYS_GAME_CLEAR, Route101_EventScript_27211A
- compare VAR_BIRCH_STATE, 0
- call_if_eq Route101_EventScript_27211A
- compare VAR_BIRCH_STATE, 1
- call_if_eq Route101_EventScript_27211A
- compare VAR_BIRCH_STATE, 2
- call_if_eq Route101_EventScript_272127
- compare VAR_BIRCH_STATE, 3
- call_if_eq Route101_EventScript_272127
- compare VAR_BIRCH_STATE, 4
- call_if_eq Route101_EventScript_272134
- compare VAR_BIRCH_STATE, 5
- call_if_eq Route101_EventScript_272134
- compare VAR_BIRCH_STATE, 6
- call_if_eq Route101_EventScript_27211A
- compare VAR_BIRCH_STATE, 7
- call_if_eq Route101_EventScript_27211A
- return
-
-Route101_EventScript_27211A:: @ 827211A
- clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
- clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
- setflag FLAG_HIDE_ROUTE_101_BIRCH
- setflag FLAG_HIDE_ROUTE_103_BIRCH
- return
-
-Route101_EventScript_272127:: @ 8272127
- clearflag FLAG_HIDE_ROUTE_101_BIRCH
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
- setflag FLAG_HIDE_ROUTE_103_BIRCH
- return
-
-Route101_EventScript_272134:: @ 8272134
- clearflag FLAG_HIDE_ROUTE_103_BIRCH
- setflag FLAG_HIDE_ROUTE_101_BIRCH
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
- setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_272141:: @ 8272141
-Route101_EventScript_272141:: @ 8272141
-Route103_EventScript_272141:: @ 8272141
- lock
- faceplayer
- goto_if_unset FLAG_HAS_MATCH_CALL, Route101_EventScript_272155
- goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, Route101_EventScript_1FA2D2
-
-Route101_EventScript_272155:: @ 8272155
- msgbox gUnknown_082A5C9C, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route101_EventScript_27216F
- call Route101_EventScript_272184
- release
- end
-
-Route101_EventScript_27216F:: @ 827216F
- msgbox Route101_Text_2A5CEB, MSGBOX_DEFAULT
- release
- end
-
-Route101_EventScript_272179:: @ 8272179
- copyvar VAR_0x8004, VAR_0x8009
- special ShowPokedexRatingMessage
- waitmessage
- waitbuttonpress
- return
+ .include "data/scripts/prof_birch.inc"
-EverGrandeCity_ChampionsRoom_EventScript_272184:: @ 8272184
-Route101_EventScript_272184:: @ 8272184
- setvar VAR_0x8004, 0
- specialvar VAR_RESULT, ScriptGetPokedexInfo
- copyvar VAR_0x8008, VAR_0x8005
- copyvar VAR_0x8009, VAR_0x8006
- copyvar VAR_0x800A, VAR_RESULT
- buffernumberstring 0, VAR_0x8008
- buffernumberstring 1, VAR_0x8009
- msgbox gUnknown_082A5D2C, MSGBOX_DEFAULT
- call Route101_EventScript_272179
- compare VAR_0x800A, 0
- goto_if_eq Common_EventScript_NopReturn
- setvar VAR_0x8004, 1
- specialvar VAR_RESULT, ScriptGetPokedexInfo
- copyvar VAR_0x8008, VAR_0x8005
- copyvar VAR_0x8009, VAR_0x8006
- buffernumberstring 0, VAR_0x8008
- buffernumberstring 1, VAR_0x8009
- msgbox gUnknown_082A633D, MSGBOX_DEFAULT
- return
-
-BattleFrontier_OutsideWest_EventScript_2721E2:: @ 82721E2
-LilycoveCity_Harbor_EventScript_2721E2:: @ 82721E2
-SlateportCity_Harbor_EventScript_2721E2:: @ 82721E2
+@ Below could be split as ferry.inc aside from the Rusturf tunnel script
+Common_EventScript_FerryDepart:: @ 82721E2
delay 60
- applymovement VAR_0x8004, SlateportCity_Harbor_Movement_2721F0
+ applymovement VAR_0x8004, Movement_FerryDepart
waitmovement 0
return
-SlateportCity_Harbor_Movement_2721F0: @ 82721F0
+Movement_FerryDepart: @ 82721F0
walk_slow_right
walk_slow_right
walk_slow_right
@@ -2056,10 +762,10 @@ SlateportCity_Harbor_Movement_2721F0: @ 82721F0
walk_right
step_end
-PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8
+EventScript_HideMrBriney:: @ 82721F8
setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
- setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
@@ -2068,2018 +774,252 @@ PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8
setvar VAR_BRINEY_LOCATION, 0
return
-RusturfTunnel_EventScript_272216:: @ 8272216
+RusturfTunnel_EventScript_SetRusturfTunnelOpen:: @ 8272216
removeobject 1
removeobject 10
- clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN
- clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN
+ clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND
+ clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA
setvar VAR_RUSTURF_TUNNEL_STATE, 6
setflag FLAG_RUSTURF_TUNNEL_OPENED
return
-EventScript_27222B:: @ 827222B
+EventScript_UnusedBoardFerry:: @ 827222B
delay 30
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- showobjectat 255, MAP_PETALBURG_CITY
+ showobjectat EVENT_OBJ_ID_PLAYER, 0
delay 30
- applymovement EVENT_OBJ_ID_PLAYER, Movement_27224E
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_UnusedBoardFerry
waitmovement 0
delay 30
return
-Movement_27224E: @ 827224E
+Movement_UnusedBoardFerry: @ 827224E
walk_up
step_end
-BattleFrontier_OutsideWest_EventScript_272250:: @ 8272250
-BirthIsland_Harbor_EventScript_272250:: @ 8272250
-FarawayIsland_Entrance_EventScript_272250:: @ 8272250
-NavelRock_Harbor_EventScript_272250:: @ 8272250
-SouthernIsland_Exterior_EventScript_272250:: @ 8272250
- compare VAR_FACING, 1
- call_if_eq BattleFrontier_OutsideWest_EventScript_242A21
- compare VAR_FACING, 3
- call_if_eq BattleFrontier_OutsideWest_EventScript_242A2C
+Common_EventScript_FerryDepartIsland:: @ 8272250
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq Ferry_EventScript_DepartIslandSouth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq Ferry_EventScript_DepartIslandWest
delay 30
- hideobjectat 255, MAP_PETALBURG_CITY
- call BattleFrontier_OutsideWest_EventScript_2721E2
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
+ call Common_EventScript_FerryDepart
return
-EventScript_272274:: @ 8272274
- lockall
- waitse
- playmoncry SPECIES_KYOGRE, 2
- waitmoncry
- setvar VAR_TEMP_5, 1
- releaseall
- end
-
-EventScript_272283:: @ 8272283
- lockall
- setvar VAR_TEMP_1, 1
- goto EventScript_2722A7
- end
+ .include "data/scripts/cave_of_origin.inc"
+ .include "data/scripts/kecleon.inc"
-EventScript_27228F:: @ 827228F
- lockall
- setvar VAR_TEMP_2, 1
- goto EventScript_2722A7
- end
-
-EventScript_27229B:: @ 827229B
- lockall
- setvar VAR_TEMP_3, 1
- goto EventScript_2722A7
- end
-
-EventScript_2722A7:: @ 82722A7
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
- waitstate
- releaseall
- end
-
-CaveOfOrigin_1F_EventScript_2722C1:: @ 82722C1
-CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1:: @ 82722C1
-CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1:: @ 82722C1
-CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1:: @ 82722C1
- setvar VAR_TEMP_1, 1
- setvar VAR_TEMP_2, 1
- setvar VAR_TEMP_3, 1
- setvar VAR_TEMP_4, 1
- setvar VAR_TEMP_5, 1
- return
-
-Route120_EventScript_2722DB:: @ 82722DB
- lock
- faceplayer
- setvar VAR_0x8009, 1
- goto Route120_EventScript_272336
- end
-
-Route120_EventScript_2722E8:: @ 82722E8
- lock
- faceplayer
- setvar VAR_0x8009, 2
- goto Route120_EventScript_272336
- end
-
-Route120_EventScript_2722F5:: @ 82722F5
- lock
- faceplayer
- setvar VAR_0x8009, 3
- goto Route120_EventScript_272336
- end
-
-Route120_EventScript_272302:: @ 8272302
- lock
- faceplayer
- setvar VAR_0x8009, 4
- goto Route120_EventScript_272336
- end
-
-Route120_EventScript_27230F:: @ 827230F
- lock
- faceplayer
- setvar VAR_0x8009, 5
- goto Route120_EventScript_272336
- end
-
-Route119_EventScript_27231C:: @ 827231C
- lock
- faceplayer
- setvar VAR_0x8009, 6
- goto Route119_EventScript_272336
- end
-
-Route119_EventScript_272329:: @ 8272329
- lock
- faceplayer
- setvar VAR_0x8009, 7
- goto Route119_EventScript_272336
- end
-
-Route119_EventScript_272336:: @ 8272336
-Route120_EventScript_272336:: @ 8272336
- checkitem ITEM_DEVON_SCOPE, 1
- compare VAR_RESULT, 1
- goto_if_eq Route119_EventScript_272350
- msgbox Route119_Text_1F5D00, MSGBOX_DEFAULT
- release
- end
-
-Route119_EventScript_272350:: @ 8272350
- msgbox Route119_Text_1F5D23, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route119_EventScript_272365
- release
- end
-
-Route119_EventScript_272365:: @ 8272365
- msgbox Route119_Text_1F5D63, MSGBOX_DEFAULT
- closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
- waitmovement 0
- applymovement VAR_LAST_TALKED, Route119_Movement_2723C7
- waitmovement 0
- waitse
- playmoncry SPECIES_KECLEON, 2
- delay 40
- waitmoncry
- setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
- setflag FLAG_SYS_CTRL_OBJ_DELETE
- dowildbattle
- clearflag FLAG_SYS_CTRL_OBJ_DELETE
- specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq Route119_EventScript_2723C1
- compare VAR_RESULT, 4
- goto_if_eq Route119_EventScript_2723C1
- compare VAR_RESULT, 5
- goto_if_eq Route119_EventScript_2723C1
- release
- end
-
-Route119_EventScript_2723C1:: @ 82723C1
- goto Route119_EventScript_27376D
- end
-
-FortreeCity_Movement_2723C7: @ 82723C7
-Route119_Movement_2723C7: @ 82723C7
-Route120_Movement_2723C7: @ 82723C7
- set_visible
- delay_4
- set_invisible
- delay_4
- set_visible
- delay_4
- set_invisible
- delay_4
- set_visible
- delay_8
- set_invisible
- delay_8
- set_visible
- delay_8
- set_invisible
- delay_8
- set_visible
- delay_16
- set_invisible
- delay_16
- set_visible
- step_end
-
-Common_EventScript_NameReceivedPokemon:: @ 82723DD
- fadescreen 1
+Common_EventScript_NameReceivedPartyMon:: @ 82723DD
+ fadescreen FADE_TO_BLACK
special ChangePokemonNickname
waitstate
return
-FallarborTown_House1_EventScript_2723E4:: @ 82723E4
-GraniteCave_StevensRoom_EventScript_2723E4:: @ 82723E4
-SlateportCity_OceanicMuseum_2F_EventScript_2723E4:: @ 82723E4
+Common_EventScript_PlayerHandedOverTheItem:: @ 82723E4
bufferitemname 0, VAR_0x8004
playfanfare MUS_ME_WAZA
- message gUnknown_08273161
+ message gText_PlayerHandedOverTheItem
waitmessage
waitfanfare
- takeitem VAR_0x8004, 1
+ removeitem VAR_0x8004
return
-EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8
-EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8
-EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8
-EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8
-PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: @ 82723F8
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725C6
- waitmovement 0
- playse SE_DOOR
- setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0
- setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0
- setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- special DrawWholeMapView
- return
-
-EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475
-EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475
-EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475
-EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725BA
- waitmovement 0
- playse SE_TRACK_DOOR
- setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- special DrawWholeMapView
- return
-
-EverGrandeCity_DrakesRoom_EventScript_2724BC:: @ 82724BC
-EverGrandeCity_GlaciasRoom_EventScript_2724BC:: @ 82724BC
-EverGrandeCity_PhoebesRoom_EventScript_2724BC:: @ 82724BC
-EverGrandeCity_SidneysRoom_EventScript_2724BC:: @ 82724BC
- setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0
- setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0
- setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- return
-
-EverGrandeCity_DrakesRoom_EventScript_27255F:: @ 827255F
-EverGrandeCity_GlaciasRoom_EventScript_27255F:: @ 827255F
-EverGrandeCity_PhoebesRoom_EventScript_27255F:: @ 827255F
-EverGrandeCity_SidneysRoom_EventScript_27255F:: @ 827255F
- setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- return
-
-SlateportCity_Movement_272596: @ 8272596
- emote_question_mark
- step_end
-
-Common_Movement_ExclamationMark: @ 8272598
- emote_exclamation_mark
- step_end
-
-Common_Movement_Delay48: @ 827259A
- delay_16
- delay_16
- delay_16
- step_end
-
-Common_Movement_FacePlayer: @ 827259E
- face_player
- step_end
-
-Common_Movement_FaceAwayPlayer: @ 82725A0
- face_away_player
- step_end
-
-Common_Movement_FaceOriginalDirection: @ 82725A2
- face_original_direction
- step_end
-
-Common_Movement_WalkInPlaceLeft: @ 82725A4
- walk_in_place_fastest_left
- step_end
-
-Common_Movement_WalkInPlaceUp: @ 82725A6
- walk_in_place_fastest_up
- step_end
-
-Common_Movement_WalkInPlaceRight: @ 82725A8
- walk_in_place_fastest_right
- step_end
-
-Common_Movement_WalkInPlaceDown: @ 82725AA
- walk_in_place_fastest_down
- step_end
-
-RustboroCity_Movement_2725AC: @ 82725AC
- face_right
- step_end
-
-RustboroCity_Movement_2725AE: @ 82725AE
- face_left
- step_end
-
-Common_Movement_FaceDown: @ 82725B0
- face_down
- step_end
-
-Common_Movement_FaceUp: @ 82725B2
- face_up
- step_end
-
-BattleFrontier_BattleDomeBattleRoom_Movement_2725B4: @ 82725B4
-MeteorFalls_1F_1R_Movement_2725B4: @ 82725B4
- walk_in_place_down
- step_end
-
-BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6: @ 82725B6
-BattleFrontier_BattleTowerBattleRoom_Movement_2725B6: @ 82725B6
- walk_in_place_left
- step_end
-
-Route121_Movement_2725B8: @ 82725B8
- walk_in_place_right
- step_end
-
-EverGrandeCity_SidneysRoom_Movement_2725BA: @ 82725BA
- walk_up
- walk_up
- walk_up
- walk_up
- walk_up
- walk_up
- step_end
-
-EverGrandeCity_ChampionsRoom_Movement_2725C1: @ 82725C1
- walk_up
- walk_up
- walk_up
- walk_up
- step_end
-
-EverGrandeCity_SidneysRoom_Movement_2725C6: @ 82725C6
- delay_16
- delay_16
- step_end
-
-Route110_TrickHouseEntrance_Movement_2725C9: @ 82725C9
- walk_up
- step_end
-
-Movement_2725CB:: @ 82725CB
- walk_up
- walk_up
- step_end
-
-EventScript_PictureBookShelf:: @ 82725CE
- msgbox Text_PictureBookShelf, MSGBOX_SIGN
- end
-
-EventScript_BookShelf:: @ 82725D7
- msgbox Text_BookShelf, MSGBOX_SIGN
- end
-
-EventScript_PokemonCenterBookShelf:: @ 82725E0
- msgbox Text_PokemonCenterBookShelf, MSGBOX_SIGN
- end
-
-EventScript_Vase:: @ 82725E9
- msgbox Text_Vase, MSGBOX_SIGN
- end
-
-EventScript_EmptyTrashCan:: @ 82725F2
- msgbox Text_EmptyTrashCan, MSGBOX_SIGN
- end
-
-EventScript_ShopShelf:: @ 82725FB
- msgbox Text_ShopShelf, MSGBOX_SIGN
- end
-
-EventScript_Blueprint:: @ 8272604
- msgbox Text_Blueprint, MSGBOX_SIGN
- end
-
-Text_WouldYouLikeToMixRecords: @ 827260D
- .string "Would you like to mix records with\n"
- .string "other TRAINERS?$"
-
-Text_WouldNotLikeToMixRecords: @ 8272640
- .string "We hope to see you again!$"
-
-Text_BootUpPC: @ 827265A
- .string "{PLAYER} booted up the PC.$"
-
-gText_WhichPCShouldBeAccessed:: @ 827266F
- .string "Which PC should be accessed?$"
-
-gText_AccessedSomeonesPC:: @ 827268C
- .string "Accessed SOMEONE'S PC.$"
-
-gText_StorageSystemOpened:: @ 82726A3
- .string "POKéMON Storage System opened.$"
-
-gText_AccessedPlayersPC:: @ 82726C2
- .string "Accessed {PLAYER}'s PC.$"
-
-gText_AccessedLanettesPC:: @ 82726D4
- .string "Accessed LANETTE's PC.$"
-
-gUnknown_082726EB:: @ 82726EB
- .string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to rest your POKéMON?$"
-
-gUnknown_08272768:: @ 8272768
- .string "Okay, I'll take your POKéMON\nfor a few seconds.$"
-
-gUnknown_08272798:: @ 8272798
- .string "Thank you for waiting.\pWe've restored your POKéMON\nto full health.$"
-
-gUnknown_082727DB:: @ 82727DB
- .string "We hope to see you again!$"
-
-gUnknown_082727F5:: @ 82727F5
- .string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to…$"
-
-gUnknown_08272860:: @ 8272860
- .string "Th-that card…\nCould it be… The GOLD CARD?!\pOh, the gold color is brilliant!\nThe four stars seem to sparkle!\pI've seen several TRAINERS with\na SILVER CARD before, but, {PLAYER},\lyou're the first TRAINER I've ever\lseen with a GOLD CARD!\pOkay, {PLAYER}, please allow me\nthe honor of resting your POKéMON!$"
-
-gUnknown_08272982:: @ 8272982
- .string "I'm delighted to see you, {PLAYER}!\nYou want the usual, am I right?$"
-
-gUnknown_082729C0:: @ 82729C0
- .string "Okay, I'll take your POKéMON\nfor a few seconds.$"
-
-gUnknown_082729F0:: @ 82729F0
- .string "Thank you for waiting.$"
-
-gUnknown_08272A07:: @ 8272A07
- .string "We hope to see you again!$"
-
-gUnknown_08272A21:: @ 8272A21
- .string "Welcome!\pHow may I serve you?$"
-
-gUnknown_08272A3F:: @ 8272A3F
- .string "Please come again!$"
-
-gUnknown_08272A52:: @ 8272A52
- .string "{PLAYER}{KUN}, welcome!\pWhat can I do for you?$"
-
-gUnknown_08272A78:: @ 8272A78
- .string "Obtained the {STR_VAR_2}!$"
-
-gUnknown_08272A89:: @ 8272A89
- .string "The BAG is full…$"
-
-gText_PutItemInPocket:: @ 8272A9A
- .string "{PLAYER} put away the {STR_VAR_2}\nin the {STR_VAR_3} POCKET.$"
-
-gText_PlayerFoundOneItem:: @ 8272ABF
- .string "{PLAYER} found one {STR_VAR_2}!$"
-
-gText_TooBadBagIsFull:: @ 8272AD0
- .string "Too bad!\nThe BAG is full…$"
-
-gText_PlayerPutItemInBag:: @ 8272AEA
- .string "{PLAYER} put away the {STR_VAR_2}\nin the BAG.$"
-
-gUnknown_08272B09:: @ 8272B09
- .string "Obtained the {STR_VAR_2}!$"
-
-gText_NoRoomLeftForAnother:: @ 8272B1A
- .string "Too bad! There's no room left for\nanother {STR_VAR_2}…$"
-
-gUnknown_08272B48:: @ 8272B48
- .string "The {STR_VAR_2} was transferred\nto the PC.$"
+ .include "data/scripts/elite_four.inc"
+ .include "data/scripts/movement.inc"
+ .include "data/scripts/check_furniture.inc"
+ .include "data/text/record_mix.inc"
+ .include "data/text/pc.inc"
+ .include "data/text/pkmn_center_nurse.inc"
+ .include "data/text/mart_clerk.inc"
+ .include "data/text/obtain_item.inc"
+@ The below and surf.inc could be split into some text/notices.inc
gText_PokemartSign:: @ 8272B6A
- .string "“Selected items for your convenience!”\nPOKéMON MART$"
+ .string "“Selected items for your convenience!”\n"
+ .string "POKéMON MART$"
gText_PokemonCenterSign:: @ 8272B9E
- .string "“Rejuvenate your tired partners!”\nPOKéMON CENTER$"
+ .string "“Rejuvenate your tired partners!”\n"
+ .string "POKéMON CENTER$"
-gUnknown_08272BCF:: @ 8272BCF
- .string "{STR_VAR_1} might like this program.\n… … … … … … … … … … … … … … … …\pBetter get going!$"
+gText_MomOrDadMightLikeThisProgram:: @ 8272BCF
+ .string "{STR_VAR_1} might like this program.\n"
+ .string "… … … … … … … … … … … … … … … …\p"
+ .string "Better get going!$"
-gUnknown_08272C1D:: @ 8272C1D
- .string "Welcome to LILYCOVE DEPARTMENT STORE.\pWhich floor would you like?$"
+gText_WhichFloorWouldYouLike:: @ 8272C1D
+ .string "Welcome to LILYCOVE DEPARTMENT STORE.\p"
+ .string "Which floor would you like?$"
-gUnknown_08272C5F:: @ 8272C5F
- .string "The sandstorm is vicious.\nIt's impossible to keep going.$"
+gText_SandstormIsVicious:: @ 8272C5F
+ .string "The sandstorm is vicious.\n"
+ .string "It's impossible to keep going.$"
gText_SelectWithoutRegisteredItem:: @ 8272C98
- .string "An item in the BAG can be\nregistered to SELECT for easy use.$"
+ .string "An item in the BAG can be\n"
+ .string "registered to SELECT for easy use.$"
-gUnknown_08272CD5:: @ 8272CD5
- .string "There's an e-mail from POKéMON TRAINER\nSCHOOL.\p… … … … … …\pA POKéMON may learn up to four moves.\pA TRAINER's expertise is tested on the\nmove sets chosen for POKéMON.\p… … … … … …$"
+gText_PokemonTrainerSchoolEmail:: @ 8272CD5
+ .string "There's an e-mail from POKéMON TRAINER\n"
+ .string "SCHOOL.\p"
+ .string "… … … … … …\p"
+ .string "A POKéMON may learn up to four moves.\p"
+ .string "A TRAINER's expertise is tested on the\n"
+ .string "move sets chosen for POKéMON.\p"
+ .string "… … … … … …$"
gText_PlayerHouseBootPC:: @ 8272D87
.string "{PLAYER} booted up the PC.$"
-gUnknown_08272D9C:: @ 8272D9C
+gText_PokeblockLinkCanceled:: @ 8272D9C
.string "The link was canceled.$"
-gUnknown_08272DB3:: @ 8272DB3
- .string "Want to give a nickname to\nthe {STR_VAR_2} you received?$"
+gText_UnusedNicknameReceivedPokemon:: @ 8272DB3
+ .string "Want to give a nickname to\n"
+ .string "the {STR_VAR_2} you received?$"
-gUnknown_08272DE3:: @ 8272DE3
- .string "{PLAYER} is out of usable\nPOKéMON!\p{PLAYER} whited out!$"
+gText_PlayerWhitedOut:: @ 8272DE3
+ .string "{PLAYER} is out of usable\n"
+ .string "POKéMON!\p{PLAYER} whited out!$"
gText_RegisteredTrainerinPokeNav:: @ 8272E0F
- .string "Registered {STR_VAR_1} {STR_VAR_2}\nin the POKéNAV.$"
-
-gUnknown_08272E30:: @ 8272E30
- .string "Do you know the TM SECRET POWER?\pOur group, we love the TM SECRET\nPOWER.\pOne of our members will give it to you.\nCome back and show me if you get it.\pWe'll accept you as a member and sell\nyou good stuff in secrecy.$"
+ .string "Registered {STR_VAR_1} {STR_VAR_2}\n"
+ .string "in the POKéNAV.$"
+
+gText_ComeBackWithSecretPower:: @ 8272E30
+ .string "Do you know the TM SECRET POWER?\p"
+ .string "Our group, we love the TM SECRET\n"
+ .string "POWER.\p"
+ .string "One of our members will give it to you.\n"
+ .string "Come back and show me if you get it.\p"
+ .string "We'll accept you as a member and sell\n"
+ .string "you good stuff in secrecy.$"
gText_PokerusExplanation:: @ 8272F07
- .string "Your POKéMON may be infected with\nPOKéRUS.\pLittle is known about the POKéRUS\nexcept that they are microscopic life-\lforms that attach to POKéMON.\pWhile infected, POKéMON are said to\ngrow exceptionally well.$"
+ .string "Your POKéMON may be infected with\n"
+ .string "POKéRUS.\p"
+ .string "Little is known about the POKéRUS\n"
+ .string "except that they are microscopic life-\l"
+ .string "forms that attach to POKéMON.\p"
+ .string "While infected, POKéMON are said to\n"
+ .string "grow exceptionally well.$"
.include "data/text/surf.inc"
-gUnknown_0827301B:: @ 827301B
- .string "It sounded as if a door opened\nsomewhere far away.$"
+gText_DoorOpenedFarAway:: @ 827301B
+ .string "It sounded as if a door opened\n"
+ .string "somewhere far away.$"
-gUnknown_0827304E:: @ 827304E
+gText_BigHoleInTheWall:: @ 827304E
.string "There is a big hole in the wall.$"
-gUnknown_0827306F:: @ 827306F
- .string "I'm terribly sorry.\nThe POKéMON WIRELESS CLUB is\lundergoing adjustments now.$"
+gText_SorryWirelessClubAdjustments:: @ 827306F
+ .string "I'm terribly sorry.\n"
+ .string "The POKéMON WIRELESS CLUB is\l"
+ .string "undergoing adjustments now.$"
-gUnknown_082730BC:: @ 82730BC
- .string "It appears to be undergoing\nadjustments…$"
+gText_UndergoingAdjustments:: @ 82730BC
+ .string "It appears to be undergoing\n"
+ .string "adjustments…$"
-gUnknown_082730E5:: @ 82730E5
- .string "I'm terribly sorry. The TRADE CENTER\nis undergoing inspections.$"
+@ Unused
+gText_SorryTradeCenterInspections:: @ 82730E5
+ .string "I'm terribly sorry. The TRADE CENTER\n"
+ .string "is undergoing inspections.$"
-gUnknown_08273125:: @ 8273125
- .string "I'm terribly sorry. The RECORD CORNER\nis under preparation.$"
+@ Unused
+gText_SorryRecordCornerPreparation:: @ 8273125
+ .string "I'm terribly sorry. The RECORD CORNER\n"
+ .string "is under preparation.$"
-gUnknown_08273161:: @ 8273161
- .string "{PLAYER} handed over the\n{STR_VAR_1}.$"
+gText_PlayerHandedOverTheItem:: @ 8273161
+ .string "{PLAYER} handed over the\n"
+ .string "{STR_VAR_1}.$"
-gUnknown_08273178:: @ 8273178
- .string "Thank you for accessing the\nMYSTERY GIFT System.$"
+gText_ThankYouForAccessingMysteryGift:: @ 8273178
+ .string "Thank you for accessing the\n"
+ .string "MYSTERY GIFT System.$"
-gText_PlayerFoundOneItemTwoLines:: @ 82731A9
- .string "{PLAYER} found one {STR_VAR_1}\n{STR_VAR_2}!$"
+gText_PlayerFoundOneTMHM:: @ 82731A9
+ .string "{PLAYER} found one {STR_VAR_1}\n"
+ .string "{STR_VAR_2}!$"
gText_Sudowoodo_Attacked:: @ 82731BD
- .string "The weird tree doesn't like the\nWAILMER PAIL!\pThe weird tree attacked!$"
+ .string "The weird tree doesn't like the\n"
+ .string "WAILMER PAIL!\p"
+ .string "The weird tree attacked!$"
gText_LegendaryFlewAway:: @ 8273204
.string "The {STR_VAR_1} flew away!$"
-gText_PkmnTransferredSomeonesPC:: @ 8273216
- .string "{STR_VAR_2} was transferred to\nSOMEONE'S PC.\pIt was placed in \nBOX “{STR_VAR_1}.”$"
-
-gText_PkmnTransferredLanettesPC:: @ 8273256
- .string "{STR_VAR_2} was transferred to\nLANETTE'S PC.\pIt was placed in \nBOX “{STR_VAR_1}.”$"
-
-gText_PkmnBoxSomeonesPCFull:: @ 8273296
- .string "BOX “{STR_VAR_3}” on\nSOMEONE'S PC was full.\p{STR_VAR_2} was transferred to\nBOX “{STR_VAR_1}.”$"
-
-gText_PkmnBoxLanettesPCFull:: @ 82732D9
- .string "BOX “{STR_VAR_3}” on\nLANETTE'S PC was full.\p{STR_VAR_2} was transferred to\nBOX “{STR_VAR_1}.”$"
-
-gUnknown_0827331C:: @ 827331C
- .string "There's no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan't accept any more!$"
-
-gText_NicknameThisPokemon:: @ 8273374
- .string "Do you want to give a nickname to\nthis {STR_VAR_1}?$"
-
-gUnknown_0827339F:: @ 827339F
- .string "There is a questionnaire.\nWould you like to fill it out?$"
-
-gUnknown_082733D8:: @ 82733D8
- .string "Thank you for taking the time to\nfill out our questionnaire.\pYour feedback will be used for\nfuture reference.$"
-
-gUnknown_08273446:: @ 8273446
- .string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY GIFT.\pFrom now on, you should be\nreceiving MYSTERY GIFTS!$"
-
-gUnknown_082734CC:: @ 82734CC
- .string "Once you save your game, you can\naccess the MYSTERY GIFT.$"
-
-gUnknown_08273506:: @ 8273506
- .string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY EVENT.$"
-
-gUnknown_08273559:: @ 8273559
- .string "Once you save your game, you can\naccess the MYSTERY EVENT.$"
-
-gUnknown_08273594:: @ 8273594
- .string "Thank you for using the MYSTERY\nEVENT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$"
-
-gUnknown_082735F2:: @ 82735F2
- .string "It appears to be for use at\nthe LILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
-
-gText_UnusualWeatherEnded_Rain:: @ 8273656
- .string "The massive downpour appears to\nhave stopped…$"
-
-gText_UnusualWeatherEnded_Sun:: @ 8273684
- .string "The intense sunshine appears to\nhave subsided…$"
+ .include "data/text/pc_transfer.inc"
+ .include "data/text/mevent.inc"
+ .include "data/text/abnormal_weather.inc"
EventScript_SelectWithoutRegisteredItem:: @ 82736B3
msgbox gText_SelectWithoutRegisteredItem, MSGBOX_SIGN
end
-EventScript_Poison:: @ 82736BC
- lockall
- special ExecuteWhiteOut
- waitstate
- compare VAR_RESULT, 1
- goto_if_eq EventScript_2736D9
- compare VAR_RESULT, 2
- goto_if_eq EventScript_2736F8
- releaseall
- end
-
-EventScript_2736D9:: @ 82736D9
- message gUnknown_08272DE3
- waitmessage
- waitbuttonpress
- special sub_80B05B4
- waitstate
- fadescreen 1
- call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, EventScript_2736F4
- special sp0C8_whiteout_maybe
- waitstate
- end
-
-EventScript_2736F4:: @ 82736F4
- setrespawn HEAL_LOCATION_LAVARIDGE_TOWN
- return
-
-EventScript_2736F8:: @ 82736F8
- message gUnknown_08272DE3
- waitmessage
- waitbuttonpress
- setvar VAR_0x8004, 16
- special CallBattlePikeFunction
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
- setvar VAR_0x8004, 12
- special CallBattlePyramidFunction
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
- setvar VAR_0x8004, TRAINER_HILL_FUNC_10
- special CallTrainerHillFunction
- compare VAR_RESULT, 1
- goto_if_eq TrainerHill_1F_EventScript_2C83C9
- special sub_80B05B4
- waitstate
- fadescreen 1
- special sp0C8_whiteout_maybe
- waitstate
- end
+ .include "data/scripts/field_poison.inc"
Common_EventScript_NopReturn:: @ 827374E
return
-EventScript_UnusedSetVarResult1:: @ 827374F
+@ Unused
+EventScript_CableClub_SetVarResult1:: @ 827374F
setvar VAR_RESULT, 1
return
-OldaleTown_PokemonCenter_2F_EventScript_273755:: @ 8273755
+EventScript_CableClub_SetVarResult0:: @ 8273755
setvar VAR_RESULT, 0
return
-BattleFrontier_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-DewfordTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-EverGrandeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-EverGrandeCity_PokemonLeague_2F_EventScript_27375B:: @ 827375B
-FallarborTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-FortreeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-LavaridgeTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-LilycoveCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-MauvilleCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-MossdeepCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-OldaleTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-PacifidlogTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-PetalburgCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-RustboroCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-SlateportCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-SootopolisCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
-VerdanturfTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
- call OldaleTown_PokemonCenter_2F_EventScript_27751B
+Common_EventScript_UnionRoomAttendant:: @ 827375B
+ call CableClub_EventScript_UnionRoomAttendant
end
-BattleFrontier_PokemonCenter_2F_EventScript_273761:: @ 8273761
-DewfordTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
-EverGrandeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-EverGrandeCity_PokemonLeague_2F_EventScript_273761:: @ 8273761
-FallarborTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
-FortreeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-LavaridgeTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
-LilycoveCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-MauvilleCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-MossdeepCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-OldaleTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
-PacifidlogTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
-PetalburgCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-RustboroCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-SlateportCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-SootopolisCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
-VerdanturfTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
- call OldaleTown_PokemonCenter_2F_EventScript_277672
+Common_EventScript_WirelessClubAttendant:: @ 8273761
+ call CableClub_EventScript_WirelessClubAttendant
end
-BattleFrontier_PokemonCenter_2F_EventScript_273767:: @ 8273767
-DewfordTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
-EverGrandeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-EverGrandeCity_PokemonLeague_2F_EventScript_273767:: @ 8273767
-FallarborTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
-FortreeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-LavaridgeTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
-LilycoveCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-MauvilleCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-MossdeepCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-OldaleTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
-PacifidlogTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
-PetalburgCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-RustboroCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-SlateportCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-SootopolisCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
-VerdanturfTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
- call OldaleTown_PokemonCenter_2F_EventScript_2776A4
+Common_EventScript_DirectCornerAttendant:: @ 8273767
+ call CableClub_EventScript_DirectCornerAttendant
end
-AncientTomb_EventScript_27376D:: @ 827376D
-AquaHideout_B1F_EventScript_27376D:: @ 827376D
-DesertRuins_EventScript_27376D:: @ 827376D
-IslandCave_EventScript_27376D:: @ 827376D
-MarineCave_End_EventScript_27376D:: @ 827376D
-NewMauville_Inside_EventScript_27376D:: @ 827376D
-Route119_EventScript_27376D:: @ 827376D
-TerraCave_End_EventScript_27376D:: @ 827376D
- fadescreenswapbuffers 1
+Common_EventScript_RemoveStaticPokemon:: @ 827376D
+ fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
- fadescreenswapbuffers 0
+ fadescreenswapbuffers FADE_FROM_BLACK
release
end
-AncientTomb_EventScript_273776:: @ 8273776
-BirthIsland_Exterior_EventScript_273776:: @ 8273776
-DesertRuins_EventScript_273776:: @ 8273776
-FarawayIsland_Interior_EventScript_273776:: @ 8273776
-IslandCave_EventScript_273776:: @ 8273776
-MarineCave_End_EventScript_273776:: @ 8273776
-NavelRock_Bottom_EventScript_273776:: @ 8273776
-NavelRock_Top_EventScript_273776:: @ 8273776
-SouthernIsland_Interior_EventScript_273776:: @ 8273776
-TerraCave_End_EventScript_273776:: @ 8273776
- fadescreenswapbuffers 1
+Common_EventScript_LegendaryFlewAway:: @ 8273776
+ fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
- fadescreenswapbuffers 0
+ fadescreenswapbuffers FADE_FROM_BLACK
bufferspeciesname 0, VAR_0x8004
msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_27378B:: @ 827378B
-MossdeepCity_StevensHouse_EventScript_27378B:: @ 827378B
-Route119_WeatherInstitute_2F_EventScript_27378B:: @ 827378B
-RustboroCity_DevonCorp_2F_EventScript_27378B:: @ 827378B
- getpartysize
- subvar VAR_RESULT, 1
- copyvar VAR_0x8004, VAR_RESULT
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_273797:: @ 8273797
-MossdeepCity_StevensHouse_EventScript_273797:: @ 8273797
-Route119_WeatherInstitute_2F_EventScript_273797:: @ 8273797
-RustboroCity_DevonCorp_2F_EventScript_273797:: @ 8273797
- fadescreen 1
- special ChangeBoxPokemonNickname
- waitstate
- lock
- faceplayer
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_2737A0:: @ 82737A0
-MossdeepCity_StevensHouse_EventScript_2737A0:: @ 82737A0
-Route119_WeatherInstitute_2F_EventScript_2737A0:: @ 82737A0
-RustboroCity_DevonCorp_2F_EventScript_2737A0:: @ 82737A0
- bufferboxname 0, VAR_STORAGE_UNKNOWN
- bufferspeciesname 1, VAR_TEMP_1
- call_if_unset FLAG_SYS_PC_LANETTE, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB
- call_if_set FLAG_SYS_PC_LANETTE, LittlerootTown_ProfessorBirchsLab_EventScript_2737E6
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_2737BB:: @ 82737BB
- specialvar VAR_RESULT, sub_813B21C
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4
- msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_2737D4:: @ 82737D4
- specialvar VAR_RESULT, get_unknown_box_id
- bufferboxname 2, VAR_RESULT
- msgbox gText_PkmnBoxSomeonesPCFull, MSGBOX_DEFAULT
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_2737E6:: @ 82737E6
- specialvar VAR_RESULT, sub_813B21C
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF
- msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_2737FF:: @ 82737FF
- specialvar VAR_RESULT, get_unknown_box_id
- bufferboxname 2, VAR_RESULT
- msgbox gText_PkmnBoxLanettesPCFull, MSGBOX_DEFAULT
- return
-
-LittlerootTown_ProfessorBirchsLab_EventScript_273811:: @ 8273811
-MossdeepCity_StevensHouse_EventScript_273811:: @ 8273811
-Route119_WeatherInstitute_2F_EventScript_273811:: @ 8273811
-RustboroCity_DevonCorp_2F_EventScript_273811:: @ 8273811
- msgbox gUnknown_0827331C, MSGBOX_DEFAULT
- release
- end
-
-EventScript_Questionnaire:: @ 827381B
- lockall
- msgbox gUnknown_0827339F, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_2738FD
- setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- specialvar VAR_0x8008, sub_813B490
- compare VAR_0x8004, 1
- goto_if_eq EventScript_27386D
- compare VAR_0x8004, 2
- goto_if_eq EventScript_2738B5
- compare VAR_RESULT, 0
- goto_if_eq EventScript_2738FD
- compare VAR_RESULT, 1
- goto_if_eq EventScript_2738FF
- end
-
-EventScript_27386D:: @ 827386D
- goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF
- goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, EventScript_2738FF
- applymovement VAR_0x8008, Common_Movement_FaceDown
- waitmovement 0
- playse SE_PIN
- applymovement VAR_0x8008, Common_Movement_ExclamationMark
- waitmovement 0
- applymovement VAR_0x8008, Common_Movement_Delay48
- waitmovement 0
- msgbox gUnknown_08273506, MSGBOX_DEFAULT
- setflag FLAG_SYS_MYSTERY_EVENT_ENABLE
- msgbox gUnknown_08273559, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_2738B5:: @ 82738B5
- goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF
- goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, EventScript_2738FF
- applymovement VAR_0x8008, Common_Movement_FaceDown
- waitmovement 0
- playse SE_PIN
- applymovement VAR_0x8008, Common_Movement_ExclamationMark
- waitmovement 0
- applymovement VAR_0x8008, Common_Movement_Delay48
- waitmovement 0
- msgbox gUnknown_08273446, MSGBOX_DEFAULT
- setflag FLAG_SYS_MYSTERY_GIFT_ENABLE
- msgbox gUnknown_082734CC, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_2738FD:: @ 82738FD
- releaseall
- end
-
-EventScript_2738FF:: @ 82738FF
- applymovement VAR_0x8008, Common_Movement_FaceDown
- waitmovement 0
- msgbox gUnknown_082733D8, MSGBOX_DEFAULT
- releaseall
- end
-
-UnusualWeather_EventScript_PlaceTilesRoute114North:: @ 8273913
- setmetatile 7, 3, METATILE_Fallarbor_RedCaveEntrance_Top, 1
- setmetatile 7, 4, METATILE_Fallarbor_RedCaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute114South:: @ 8273926
- setmetatile 6, 45, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
- setmetatile 6, 46, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute115West:: @ 8273939
- setmetatile 21, 5, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
- setmetatile 21, 6, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute115East:: @ 827394C
- setmetatile 36, 9, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
- setmetatile 36, 10, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute116North:: @ 827395F
- setmetatile 59, 12, METATILE_General_CaveEntrance_Top, 1
- setmetatile 59, 13, METATILE_General_CaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute116South:: @ 8273972
- setmetatile 79, 5, METATILE_General_CaveEntrance_Top, 1
- setmetatile 79, 6, METATILE_General_CaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute118East:: @ 8273985
- setmetatile 42, 5, METATILE_General_CaveEntrance_Top, 1
- setmetatile 42, 6, METATILE_General_CaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute118West:: @ 8273998
- setmetatile 9, 5, METATILE_General_CaveEntrance_Top, 1
- setmetatile 9, 6, METATILE_General_CaveEntrance_Bottom, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute105North:: @ 82739AB
- setmetatile 10, 28, METATILE_General_RoughWater, 0
- setmetatile 11, 28, METATILE_General_RoughWater, 0
- setmetatile 9, 29, METATILE_General_RoughWater, 0
- setmetatile 10, 29, METATILE_General_RoughDeepWater, 0
- setmetatile 11, 29, METATILE_General_RoughDeepWater, 0
- setmetatile 12, 29, METATILE_General_RoughWater, 0
- setmetatile 9, 30, METATILE_General_RoughWater, 0
- setmetatile 10, 30, METATILE_General_RoughDeepWater, 0
- setmetatile 11, 30, METATILE_General_RoughDeepWater, 0
- setmetatile 12, 30, METATILE_General_RoughWater, 0
- setmetatile 10, 31, METATILE_General_RoughWater, 0
- setmetatile 11, 31, METATILE_General_RoughWater, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute105South:: @ 8273A18
- setmetatile 20, 53, METATILE_General_RoughWater, 0
- setmetatile 21, 53, METATILE_General_RoughWater, 0
- setmetatile 19, 54, METATILE_General_RoughWater, 0
- setmetatile 20, 54, METATILE_General_RoughDeepWater, 0
- setmetatile 21, 54, METATILE_General_RoughDeepWater, 0
- setmetatile 22, 54, METATILE_General_RoughWater, 0
- setmetatile 19, 55, METATILE_General_RoughWater, 0
- setmetatile 20, 55, METATILE_General_RoughDeepWater, 0
- setmetatile 21, 55, METATILE_General_RoughDeepWater, 0
- setmetatile 22, 55, METATILE_General_RoughWater, 0
- setmetatile 20, 56, METATILE_General_RoughWater, 0
- setmetatile 21, 56, METATILE_General_RoughWater, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute125West:: @ 8273A85
- setmetatile 8, 16, METATILE_General_RoughWater, 0
- setmetatile 9, 16, METATILE_General_RoughWater, 0
- setmetatile 7, 17, METATILE_General_RoughWater, 0
- setmetatile 8, 17, METATILE_General_RoughDeepWater, 0
- setmetatile 9, 17, METATILE_General_RoughDeepWater, 0
- setmetatile 10, 17, METATILE_General_RoughWater, 0
- setmetatile 7, 18, METATILE_General_RoughWater, 0
- setmetatile 8, 18, METATILE_General_RoughDeepWater, 0
- setmetatile 9, 18, METATILE_General_RoughDeepWater, 0
- setmetatile 10, 18, METATILE_General_RoughWater, 0
- setmetatile 8, 19, METATILE_General_RoughWater, 0
- setmetatile 9, 19, METATILE_General_RoughWater, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute125East:: @ 8273AF2
- setmetatile 53, 18, METATILE_General_RoughWater, 0
- setmetatile 54, 18, METATILE_General_RoughWater, 0
- setmetatile 52, 19, METATILE_General_RoughWater, 0
- setmetatile 53, 19, METATILE_General_RoughDeepWater, 0
- setmetatile 54, 19, METATILE_General_RoughDeepWater, 0
- setmetatile 55, 19, METATILE_General_RoughWater, 0
- setmetatile 52, 20, METATILE_General_RoughWater, 0
- setmetatile 53, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 54, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 55, 20, METATILE_General_RoughWater, 0
- setmetatile 53, 21, METATILE_General_RoughWater, 0
- setmetatile 54, 21, METATILE_General_RoughWater, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute127North:: @ 8273B5F
- setmetatile 57, 9, METATILE_General_RoughWater, 0
- setmetatile 58, 9, METATILE_General_RoughWater, 0
- setmetatile 56, 10, METATILE_General_RoughWater, 0
- setmetatile 57, 10, METATILE_General_RoughDeepWater, 0
- setmetatile 58, 10, METATILE_General_RoughDeepWater, 0
- setmetatile 59, 10, METATILE_General_RoughWater, 0
- setmetatile 56, 11, METATILE_General_RoughWater, 0
- setmetatile 57, 11, METATILE_General_RoughDeepWater, 0
- setmetatile 58, 11, METATILE_General_RoughDeepWater, 0
- setmetatile 59, 11, METATILE_General_RoughWater, 0
- setmetatile 57, 12, METATILE_General_RoughWater, 0
- setmetatile 58, 12, METATILE_General_RoughWater, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute127South:: @ 8273BCC
- setmetatile 61, 30, METATILE_General_RoughWater, 0
- setmetatile 62, 30, METATILE_General_RoughWater, 0
- setmetatile 60, 31, METATILE_General_RoughWater, 0
- setmetatile 61, 31, METATILE_General_RoughDeepWater, 0
- setmetatile 62, 31, METATILE_General_RoughDeepWater, 0
- setmetatile 63, 31, METATILE_General_RoughWater, 0
- setmetatile 60, 32, METATILE_General_RoughWater, 0
- setmetatile 61, 32, METATILE_General_RoughDeepWater, 0
- setmetatile 62, 32, METATILE_General_RoughDeepWater, 0
- setmetatile 63, 32, METATILE_General_RoughWater, 0
- setmetatile 61, 33, METATILE_General_RoughWater, 0
- setmetatile 62, 33, METATILE_General_RoughWater, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute129West:: @ 8273C39
- setmetatile 16, 14, METATILE_General_RoughWater, 0
- setmetatile 17, 14, METATILE_General_RoughWater, 0
- setmetatile 15, 15, METATILE_General_RoughWater, 0
- setmetatile 16, 15, METATILE_General_RoughDeepWater, 0
- setmetatile 17, 15, METATILE_General_RoughDeepWater, 0
- setmetatile 18, 15, METATILE_General_RoughWater, 0
- setmetatile 15, 16, METATILE_General_RoughWater, 0
- setmetatile 16, 16, METATILE_General_RoughDeepWater, 0
- setmetatile 17, 16, METATILE_General_RoughDeepWater, 0
- setmetatile 18, 16, METATILE_General_RoughWater, 0
- setmetatile 16, 17, METATILE_General_RoughWater, 0
- setmetatile 17, 17, METATILE_General_RoughWater, 0
- return
-
-UnusualWeather_EventScript_PlaceTilesRoute129East:: @ 8273CA6
- setmetatile 42, 19, METATILE_General_RoughWater, 0
- setmetatile 43, 19, METATILE_General_RoughWater, 0
- setmetatile 41, 20, METATILE_General_RoughWater, 0
- setmetatile 42, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 43, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 44, 20, METATILE_General_RoughWater, 0
- setmetatile 41, 21, METATILE_General_RoughWater, 0
- setmetatile 42, 21, METATILE_General_RoughDeepWater, 0
- setmetatile 43, 21, METATILE_General_RoughDeepWater, 0
- setmetatile 44, 21, METATILE_General_RoughWater, 0
- setmetatile 42, 22, METATILE_General_RoughWater, 0
- setmetatile 43, 22, METATILE_General_RoughWater, 0
- return
-
-Route105_EventScript_273D13:: @ 8273D13
-Route114_EventScript_273D13:: @ 8273D13
-Route115_EventScript_273D13:: @ 8273D13
-Route116_EventScript_273D13:: @ 8273D13
-Route118_EventScript_273D13:: @ 8273D13
-Route125_EventScript_273D13:: @ 8273D13
-Route127_EventScript_273D13:: @ 8273D13
-Route129_EventScript_273D13:: @ 8273D13
- setflag FLAG_HIDE_MAP_NAME_POPUP
- return
-
-UnusualWeather_StartKyogreWeather:: @ 8273D17
- setweather WEATHER_RAIN_HEAVY
- return
-
-UnusualWeather_StartGroudonWeather:: @ 8273D1B
- setweather WEATHER_DROUGHT
- return
-
-UnusualWeather_EventScript_EndEventAndCleanup_1:: @ 8273D1F
- lockall
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START
- goto_if_ge UnusualWeather_EventScript_ShowRainEndedMessage
- goto UnusualWeather_EventScript_ShowSunEndedMessage
- end
-
-UnusualWeather_EventScript_EndEventAndCleanup_2:: @ 8273D31
- closemessage
- fadescreenswapbuffers 1
- setweather WEATHER_SUNNY
- doweather
- call UnusualWeather_EventScript_CleanupMapTiles
- special DrawWholeMapView
- setvar VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE
- setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 0
- clearflag FLAG_HIDE_MAP_NAME_POPUP
- fadescreenswapbuffers 0
- releaseall
- end
-
-UnusualWeather_EventScript_ShowRainEndedMessage:: @ 8273D51
- msgbox gText_UnusualWeatherEnded_Rain, MSGBOX_DEFAULT
- goto UnusualWeather_EventScript_EndEventAndCleanup_2
- end
-
-UnusualWeather_EventScript_ShowSunEndedMessage:: @ 8273D5F
- msgbox gText_UnusualWeatherEnded_Sun, MSGBOX_DEFAULT
- goto UnusualWeather_EventScript_EndEventAndCleanup_2
- end
-
-UnusualWeather_EventScript_CleanupMapTiles:: @ 8273D6D
- switch VAR_UNUSUAL_WEATHER_LOCATION
- case UNUSUAL_WEATHER_ROUTE_114_NORTH, UnusualWeather_EventScript_CleanupRoute114North
- case UNUSUAL_WEATHER_ROUTE_114_SOUTH, UnusualWeather_EventScript_CleanupRoute114South
- case UNUSUAL_WEATHER_ROUTE_115_WEST, UnusualWeather_EventScript_CleanupRoute115West
- case UNUSUAL_WEATHER_ROUTE_115_EAST, UnusualWeather_EventScript_CleanupRoute115East
- case UNUSUAL_WEATHER_ROUTE_116_NORTH, UnusualWeather_EventScript_CleanupRoute116North
- case UNUSUAL_WEATHER_ROUTE_116_SOUTH, UnusualWeather_EventScript_CleanupRoute116South
- case UNUSUAL_WEATHER_ROUTE_118_EAST, UnusualWeather_EventScript_CleanupRoute118East
- case UNUSUAL_WEATHER_ROUTE_118_WEST, UnusualWeather_EventScript_CleanupRoute118West
- case UNUSUAL_WEATHER_ROUTE_105_NORTH, UnusualWeather_EventScript_CleanupRoute105North
- case UNUSUAL_WEATHER_ROUTE_105_SOUTH, UnusualWeather_EventScript_CleanupRoute105South
- case UNUSUAL_WEATHER_ROUTE_125_WEST, UnusualWeather_EventScript_CleanupRoute125West
- case UNUSUAL_WEATHER_ROUTE_125_EAST, UnusualWeather_EventScript_CleanupRoute125East
- case UNUSUAL_WEATHER_ROUTE_127_NORTH, UnusualWeather_EventScript_CleanupRoute127North
- case UNUSUAL_WEATHER_ROUTE_127_SOUTH, UnusualWeather_EventScript_CleanupRoute127South
- case UNUSUAL_WEATHER_ROUTE_129_WEST, UnusualWeather_EventScript_CleanupRoute129West
- case UNUSUAL_WEATHER_ROUTE_129_EAST, UnusualWeather_EventScript_CleanupRoute129East
- return
-
-UnusualWeather_EventScript_CleanupRoute114North:: @ 8273E23
- setmetatile 7, 3, METATILE_Fallarbor_RedRockWall, 1
- setmetatile 7, 4, METATILE_Fallarbor_RedRockWall, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute114South:: @ 8273E36
- setmetatile 6, 45, METATILE_Fallarbor_BrownRockWall, 1
- setmetatile 6, 46, METATILE_Fallarbor_BrownRockWall, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute115West:: @ 8273E49
- setmetatile 21, 5, METATILE_Fallarbor_BrownRockWall, 1
- setmetatile 21, 6, METATILE_Fallarbor_BrownRockWall, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute115East:: @ 8273E5C
- setmetatile 36, 9, METATILE_Fallarbor_BrownRockWall, 1
- setmetatile 36, 10, METATILE_Fallarbor_BrownRockWall, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute116North:: @ 8273E6F
- setmetatile 59, 12, METATILE_General_RockWall_RockBase, 1
- setmetatile 59, 13, METATILE_General_RockWall_RockBase, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute116South:: @ 8273E82
- setmetatile 79, 5, METATILE_General_RockWall_RockBase, 1
- setmetatile 79, 6, METATILE_General_RockWall_RockBase, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute118East:: @ 8273E95
- setmetatile 42, 5, METATILE_General_RockWall_RockBase, 1
- setmetatile 42, 6, METATILE_General_RockWall_GrassBase, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute118West:: @ 8273EA8
- setmetatile 9, 5, METATILE_General_RockWall_RockBase, 1
- setmetatile 9, 6, METATILE_General_RockWall_GrassBase, 1
- return
-
-UnusualWeather_EventScript_CleanupRoute105North:: @ 8273EBB
- setmetatile 10, 28, METATILE_General_CalmWater, 0
- setmetatile 11, 28, METATILE_General_CalmWater, 0
- setmetatile 9, 29, METATILE_General_CalmWater, 0
- setmetatile 10, 29, METATILE_General_CalmWater, 0
- setmetatile 11, 29, METATILE_General_CalmWater, 0
- setmetatile 12, 29, METATILE_General_CalmWater, 0
- setmetatile 9, 30, METATILE_General_CalmWater, 0
- setmetatile 10, 30, METATILE_General_CalmWater, 0
- setmetatile 11, 30, METATILE_General_CalmWater, 0
- setmetatile 12, 30, METATILE_General_CalmWater, 0
- setmetatile 10, 31, METATILE_General_CalmWater, 0
- setmetatile 11, 31, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_EventScript_CleanupRoute105South:: @ 8273F28
- setmetatile 20, 53, METATILE_General_CalmWater, 0
- setmetatile 21, 53, METATILE_General_CalmWater, 0
- setmetatile 19, 54, METATILE_General_CalmWater, 0
- setmetatile 20, 54, METATILE_General_CalmWater, 0
- setmetatile 21, 54, METATILE_General_CalmWater, 0
- setmetatile 22, 54, METATILE_General_CalmWater, 0
- setmetatile 19, 55, METATILE_General_CalmWater, 0
- setmetatile 20, 55, METATILE_General_CalmWater, 0
- setmetatile 21, 55, METATILE_General_CalmWater, 0
- setmetatile 22, 55, METATILE_General_CalmWater, 0
- setmetatile 20, 56, METATILE_General_CalmWater, 0
- setmetatile 21, 56, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_EventScript_CleanupRoute125West:: @ 8273F95
- setmetatile 8, 16, METATILE_General_CalmWater, 0
- setmetatile 9, 16, METATILE_General_CalmWater, 0
- setmetatile 7, 17, METATILE_General_CalmWater, 0
- setmetatile 8, 17, METATILE_General_CalmWater, 0
- setmetatile 9, 17, METATILE_General_CalmWater, 0
- setmetatile 10, 17, METATILE_General_CalmWater, 0
- setmetatile 7, 18, METATILE_General_CalmWater, 0
- setmetatile 8, 18, METATILE_General_CalmWater, 0
- setmetatile 9, 18, METATILE_General_CalmWater, 0
- setmetatile 10, 18, METATILE_General_CalmWater, 0
- setmetatile 8, 19, METATILE_General_CalmWater, 0
- setmetatile 9, 19, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_EventScript_CleanupRoute125East:: @ 8274002
- setmetatile 53, 18, METATILE_General_CalmWater, 0
- setmetatile 54, 18, METATILE_General_CalmWater, 0
- setmetatile 52, 19, METATILE_General_CalmWater, 0
- setmetatile 53, 19, METATILE_General_CalmWater, 0
- setmetatile 54, 19, METATILE_General_CalmWater, 0
- setmetatile 55, 19, METATILE_General_CalmWater, 0
- setmetatile 52, 20, METATILE_General_CalmWater, 0
- setmetatile 53, 20, METATILE_General_CalmWater, 0
- setmetatile 54, 20, METATILE_General_CalmWater, 0
- setmetatile 55, 20, METATILE_General_CalmWater, 0
- setmetatile 53, 21, METATILE_General_CalmWater, 0
- setmetatile 54, 21, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_EventScript_CleanupRoute127North:: @ 827406F
- setmetatile 57, 9, METATILE_General_CalmWater, 0
- setmetatile 58, 9, METATILE_General_CalmWater, 0
- setmetatile 56, 10, METATILE_General_CalmWater, 0
- setmetatile 57, 10, METATILE_General_CalmWater, 0
- setmetatile 58, 10, METATILE_General_CalmWater, 0
- setmetatile 59, 10, METATILE_General_CalmWater, 0
- setmetatile 56, 11, METATILE_General_CalmWater, 0
- setmetatile 57, 11, METATILE_General_CalmWater, 0
- setmetatile 58, 11, METATILE_General_CalmWater, 0
- setmetatile 59, 11, METATILE_General_CalmWater, 0
- setmetatile 57, 12, METATILE_General_CalmWater, 0
- setmetatile 58, 12, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_EventScript_CleanupRoute127South:: @ 82740DC
- setmetatile 61, 30, METATILE_General_CalmWater, 0
- setmetatile 62, 30, METATILE_General_CalmWater, 0
- setmetatile 60, 31, METATILE_General_CalmWater, 0
- setmetatile 61, 31, METATILE_General_CalmWater, 0
- setmetatile 62, 31, METATILE_General_CalmWater, 0
- setmetatile 63, 31, METATILE_General_CalmWater, 0
- setmetatile 60, 32, METATILE_General_CalmWater, 0
- setmetatile 61, 32, METATILE_General_CalmWater, 0
- setmetatile 62, 32, METATILE_General_CalmWater, 0
- setmetatile 63, 32, METATILE_General_CalmWater, 0
- setmetatile 61, 33, METATILE_General_CalmWater, 0
- setmetatile 62, 33, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_EventScript_CleanupRoute129West:: @ 8274149
- setmetatile 16, 14, METATILE_General_CalmWater, 0
- setmetatile 17, 14, METATILE_General_CalmWater, 0
- setmetatile 15, 15, METATILE_General_CalmWater, 0
- setmetatile 16, 15, METATILE_General_CalmWater, 0
- setmetatile 17, 15, METATILE_General_CalmWater, 0
- setmetatile 18, 15, METATILE_General_CalmWater, 0
- setmetatile 15, 16, METATILE_General_CalmWater, 0
- setmetatile 16, 16, METATILE_General_CalmWater, 0
- setmetatile 17, 16, METATILE_General_CalmWater, 0
- setmetatile 18, 16, METATILE_General_CalmWater, 0
- setmetatile 16, 17, METATILE_General_CalmWater, 0
- setmetatile 17, 17, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_EventScript_CleanupRoute129East:: @ 82741B6
- setmetatile 42, 19, METATILE_General_CalmWater, 0
- setmetatile 43, 19, METATILE_General_CalmWater, 0
- setmetatile 41, 20, METATILE_General_CalmWater, 0
- setmetatile 42, 20, METATILE_General_CalmWater, 0
- setmetatile 43, 20, METATILE_General_CalmWater, 0
- setmetatile 44, 20, METATILE_General_CalmWater, 0
- setmetatile 41, 21, METATILE_General_CalmWater, 0
- setmetatile 42, 21, METATILE_General_CalmWater, 0
- setmetatile 43, 21, METATILE_General_CalmWater, 0
- setmetatile 44, 21, METATILE_General_CalmWater, 0
- setmetatile 42, 22, METATILE_General_CalmWater, 0
- setmetatile 43, 22, METATILE_General_CalmWater, 0
- return
-
-UnusualWeather_Underwater_SetupEscapeWarp:: @ 8274223
- switch VAR_UNUSUAL_WEATHER_LOCATION
- case UNUSUAL_WEATHER_ROUTE_105_NORTH, UnusualWeather_Underwater_SetupEscapeWarpRoute105North
- case UNUSUAL_WEATHER_ROUTE_105_SOUTH, UnusualWeather_Underwater_SetupEscapeWarpRoute105South
- case UNUSUAL_WEATHER_ROUTE_125_WEST, UnusualWeather_Underwater_SetupEscapeWarpRoute125West
- case UNUSUAL_WEATHER_ROUTE_125_EAST, UnusualWeather_Underwater_SetupEscapeWarpRoute125East
- case UNUSUAL_WEATHER_ROUTE_127_NORTH, UnusualWeather_Underwater_SetupEscapeWarpRoute127North
- case UNUSUAL_WEATHER_ROUTE_127_SOUTH, UnusualWeather_Underwater_SetupEscapeWarpRoute127South
- case UNUSUAL_WEATHER_ROUTE_129_WEST, UnusualWeather_Underwater_SetupEscapeWarpRoute129West
- case UNUSUAL_WEATHER_ROUTE_129_EAST, UnusualWeather_Underwater_SetupEscapeWarpRoute129East
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute105North:: @ 8274281
- setescapewarp MAP_ROUTE105, 255, 11, 29
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute105South:: @ 827428A
- setescapewarp MAP_ROUTE105, 255, 21, 54
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute125West:: @ 8274293
- setescapewarp MAP_ROUTE125, 255, 9, 17
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute125East:: @ 827429C
- setescapewarp MAP_ROUTE125, 255, 54, 19
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute127North:: @ 82742A5
- setescapewarp MAP_ROUTE127, 255, 58, 10
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute127South:: @ 82742AE
- setescapewarp MAP_ROUTE127, 255, 62, 31
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute129West:: @ 82742B7
- setescapewarp MAP_ROUTE129, 255, 17, 15
- return
-
-UnusualWeather_Underwater_SetupEscapeWarpRoute129East:: @ 82742C0
- setescapewarp MAP_ROUTE129, 255, 43, 20
- return
-
-Std_RegisteredInMatchCall:: @ 82742C9
- buffertrainerclassname 0, VAR_0x8000
- buffertrainername 1, VAR_0x8000
- closemessage
- delay 30
- playfanfare MUS_ME_TORE_EYE
- msgbox gText_RegisteredTrainerinPokeNav, MSGBOX_DEFAULT
- waitfanfare
- closemessage
- delay 30
- return
-
-EventScript_TryGetTrainerScript:: @ 82742E6
- special ShouldTryGetTrainerScript
- compare VAR_RESULT, 1
- goto_if_eq EventScript_GotoTrainerScript
- releaseall
- end
-
-EventScript_GotoTrainerScript:: @ 82742F6
- gotobeatenscript
- releaseall
- end
-
+ .include "data/scripts/pc_transfer.inc"
+ .include "data/scripts/mevent.inc"
+ .include "data/scripts/abnormal_weather.inc"
+ .include "data/scripts/trainer_script.inc"
.include "data/scripts/berry_tree.inc"
.include "data/scripts/secret_base.inc"
.include "data/scripts/cable_club.inc"
+ .include "data/text/cable_club.inc"
.include "data/scripts/contest_hall.inc"
.include "data/text/contest_strings.inc"
-
-gUnknown_0827E8CE:: @ 827E8CE
- .string "Missed turn$"
-
-gText_LinkStandby4:: @ 827E8DA
- .string "Link standby!$"
-
-gUnknown_0827E8E8:: @ 827E8E8
- .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!\n"
- .string "Congratulations!$"
-
-gUnknown_0827E910:: @ 827E910
- .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827E929:: @ 827E929
- .string "Primary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827E943:: @ 827E943
- .string "Secondary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827E95F:: @ 827E95F
- .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827E973:: @ 827E973
- .string "The move used most often:\n"
- .string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827E992:: @ 827E992
- .string "The most impressive POKéMON:\n"
- .string "{STR_VAR_1}'s {STR_VAR_2}{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827E9B9:: @ 827E9B9
- .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827E9CD:: @ 827E9CD
- .string "A link TV program will not be made\n"
- .string "because the TRAINER lost.{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_0827EA0C:: @ 827EA0C
- .string "{STR_VAR_1}\n"
- .string "{STR_VAR_2}'s {STR_VAR_3}$"
-
-gUnknown_0827EA17:: @ 827EA17
- .string "CONTEST$"
-
-gContestRankNormal::
- .string "NORMAL RANK$"
-
-gContestRankSuper::
- .string "SUPER RANK$"
-
-gContestRankHyper::
- .string "HYPER RANK$"
-
-gContestRankMaster::
- .string "MASTER RANK$"
-
-gContestLink::
- .string "LINK$"
-
-gContestCoolness::
- .string "COOLNESS$"
-
-gContestBeauty::
- .string "BEAUTY$"
-
-gContestCuteness::
- .string "CUTENESS$"
-
-gContestSmartness::
- .string "SMARTNESS$"
-
-gContestToughness::
- .string "TOUGHNESS$"
-
-gContestPaintingCool1::
- .string "Nonstop supercool--\n"
- .string "the inestimable {STR_VAR_1}$"
-
-gContestPaintingCool2::
- .string "Hey, there!\n"
- .string "The good-looking POKéMON {STR_VAR_1}$"
-
-gContestPaintingCool3::
- .string "The marvelous, wonderful, and\n"
- .string "very great {STR_VAR_1}$"
-
-gContestPaintingBeauty1::
- .string "This century's last Venus--\n"
- .string "the beautiful {STR_VAR_1}$"
-
-gContestPaintingBeauty2::
- .string "{STR_VAR_1}'s dazzling,\n"
- .string "glittering smile$"
-
-gContestPaintingBeauty3::
- .string "POKéMON CENTER's super idol--\n"
- .string "the incomparable {STR_VAR_1}$"
-
-gContestPaintingCute1::
- .string "The lovely and sweet {STR_VAR_1}$"
-
-gContestPaintingCute2::
- .string "The pretty {STR_VAR_1}'s\n"
- .string "winning portrait$"
-
-gContestPaintingCute3::
- .string "Give us a wink!\n"
- .string "The cutie POKéMON {STR_VAR_1}$"
-
-gContestPaintingSmart1::
- .string "The smartness maestro--\n"
- .string "the wise POKéMON {STR_VAR_1}$"
-
-gContestPaintingSmart2::
- .string "{STR_VAR_1}--the one chosen\n"
- .string "above all POKéMON$"
-
-gContestPaintingSmart3::
- .string "The excellent {STR_VAR_1}'s\n"
- .string "moment of elegance$"
-
-gContestPaintingTough1::
- .string "The powerfully muscular\n"
- .string "speedster {STR_VAR_1}$"
-
-gContestPaintingTough2::
- .string "The strong, stronger, and\n"
- .string "strongest {STR_VAR_1}$"
-
-gContestPaintingTough3::
- .string "The mighty tough\n"
- .string "hyper POKéMON {STR_VAR_1}$"
-
-gTrickHouse_Mechadoll_Oddish:: @ 27ECBC
- .string "ODDISH$"
-
-gTrickHouse_Mechadoll_Poochyena:: @ 27ECC3
- .string "POOCHYENA$"
-
-gTrickHouse_Mechadoll_Taillow:: @ 27ECCD
- .string "TAILLOW$"
-
-gTrickHouse_Mechadoll_Azurill:: @ 27ECD5
- .string "AZURILL$"
-
-gTrickHouse_Mechadoll_Lotad:: @ 27ECDD
- .string "LOTAD$"
-
-gTrickHouse_Mechadoll_Wingull:: @ 27ECE3
- .string "WINGULL$"
-
-gTrickHouse_Mechadoll_Dustox:: @ 27ECEB
- .string "DUSTOX$"
-
-gTrickHouse_Mechadoll_Zubat:: @ 27ECF2
- .string "ZUBAT$"
-
-gTrickHouse_Mechadoll_Nincada:: @ 27ECF8
- .string "NINCADA$"
-
-gTrickHouse_Mechadoll_Ralts:: @ 27ED00
- .string "RALTS$"
-
-gTrickHouse_Mechadoll_Zigzagoon:: @ 27ED06
- .string "ZIGZAGOON$"
-
-gTrickHouse_Mechadoll_Slakoth:: @ 27ED10
- .string "SLAKOTH$"
-
-gTrickHouse_Mechadoll_Poochyena2:: @ 27ED18
- .string "POOCHYENA$"
-
-gTrickHouse_Mechadoll_Shroomish:: @ 27ED22
- .string "SHROOMISH$"
-
-gTrickHouse_Mechadoll_Zigzagoon2:: @ 27ED2C
- .string "ZIGZAGOON$"
-
-gTrickHouse_Mechadoll_Poochyena3:: @ 27ED36
- .string "POOCHYENA$"
-
-gTrickHouse_Mechadoll_Zubat2:: @ 27ED40
- .string "ZUBAT$"
-
-gTrickHouse_Mechadoll_Carvanha:: @ 27ED46
- .string "CARVANHA$"
-
-gTrickHouse_Mechadoll_BurnHeal:: @ 27ED4F
- .string "BURN HEAL$"
-
-gTrickHouse_Mechadoll_HarborMail:: @ 27ED59
- .string "HARBOR MAIL$"
-
-gTrickHouse_Mechadoll_SamePrice:: @ 27ED65
- .string "Same price$"
-
-gTrickHouse_Mechadoll_60Yen:: @ 27ED70
- .string "¥60$"
-
-gTrickHouse_Mechadoll_55Yen:: @ 27ED74
- .string "¥55$"
-
-gTrickHouse_Mechadoll_Nothing:: @ 27ED78
- .string "Nothing$"
-
-gTrickHouse_Mechadoll_CostMore:: @ 27ED80
- .string "They will cost more.$"
-
-gTrickHouse_Mechadoll_CostLess:: @ 27ED95
- .string "They will cost less.$"
-
-gTrickHouse_Mechadoll_SamePrice2:: @ 27EDAA
- .string "Same price$"
-
-gTrickHouse_Mechadoll_Male:: @ 27EDB5
- .string "Male$"
-
-gTrickHouse_Mechadoll_Female:: @ 27EDBA
- .string "Female$"
-
-gTrickHouse_Mechadoll_Neither:: @ 27EDC1
- .string "Neither$"
-
-gTrickHouse_Mechadoll_ElderlyMen:: @ 27EDC9
- .string "Elderly men$"
-
-gTrickHouse_Mechadoll_ElderlyLadies:: @ 27EDD5
- .string "Elderly ladies$"
-
-gTrickHouse_Mechadoll_SameNumber:: @ 27EDE4
- .string "Same number$"
-
-gTrickHouse_Mechadoll_None:: @ 27EDF0
- .string "None$"
-
-gTrickHouse_Mechadoll_One:: @ 27EDF5
- .string "1$"
-
-gTrickHouse_Mechadoll_Two:: @ 27EDF7
- .string "2$"
-
-gTrickHouse_Mechadoll_Two2:: @ 27EDF9
- .string "2$"
-
-gTrickHouse_Mechadoll_Three:: @ 27EDFB
- .string "3$"
-
-gTrickHouse_Mechadoll_Four:: @ 27EDFD
- .string "4$"
-
-gTrickHouse_Mechadoll_Six:: @ 27EDFF
- .string "6$"
-
-gTrickHouse_Mechadoll_Seven:: @ 27EE01
- .string "7$"
-
-gTrickHouse_Mechadoll_Eight:: @ 27EE03
- .string "8$"
-
-gTrickHouse_Mechadoll_Six2:: @ 27EE05
- .string "6$"
-
-gTrickHouse_Mechadoll_Seven2:: @ 27EE07
- .string "7$"
-
-gTrickHouse_Mechadoll_Eight2:: @ 27EE09
- .string "8$"
-
+ .include "data/text/contest_link.inc"
+ .include "data/text/contest_painting.inc"
+ .include "data/text/trick_house_mechadolls.inc"
.include "data/scripts/tv.inc"
.include "data/text/tv.inc"
-
-BattleFrontier_BattleTowerLobby_EventScript_28C7E9:: @ 828C7E9
-LilycoveCity_ContestLobby_EventScript_28C7E9:: @ 828C7E9
-SlateportCity_OceanicMuseum_1F_EventScript_28C7E9:: @ 828C7E9
-SlateportCity_PokemonFanClub_EventScript_28C7E9:: @ 828C7E9
- special InterviewAfter
- incrementgamestat 6
- release
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0
- setvar VAR_0x8005, 1
- special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C879
- copyvar VAR_0x8009, VAR_0x8006
- msgbox SlateportCity_PokemonFanClub_Text_280674, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C827
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827
- msgbox SlateportCity_PokemonFanClub_Text_28073B, MSGBOX_DEFAULT
- setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW
- copyvar VAR_0x8005, VAR_0x8009
- setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_FEMALE
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C866
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C85C:: @ 828C85C
- msgbox SlateportCity_PokemonFanClub_Text_2805E2, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C866:: @ 828C866
- msgbox SlateportCity_PokemonFanClub_Text_280789, MSGBOX_DEFAULT
- setvar VAR_0x8005, 1
- goto SlateportCity_PokemonFanClub_EventScript_28C7E9
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C879:: @ 828C879
- msgbox SlateportCity_PokemonFanClub_Text_28062E, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883
- lock
- faceplayer
- setvar VAR_0x8005, 2
- special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939
- copyvar VAR_0x8009, VAR_0x8006
- goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_28C8C8
- setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER
- msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
- end
-
-SlateportCity_OceanicMuseum_1F_EventScript_28C8C8:: @ 828C8C8
- msgbox SlateportCity_OceanicMuseum_1F_Text_28126D, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
- end
-
-SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7
- msgbox SlateportCity_OceanicMuseum_1F_Text_2812F2, MSGBOX_DEFAULT
- setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW
- copyvar VAR_0x8005, VAR_0x8009
- setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_MALE
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
- end
-
-SlateportCity_OceanicMuseum_1F_EventScript_28C91C:: @ 828C91C
- msgbox SlateportCity_OceanicMuseum_1F_Text_281367, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_OceanicMuseum_1F_EventScript_28C926:: @ 828C926
- msgbox SlateportCity_OceanicMuseum_1F_Text_2813B9, MSGBOX_DEFAULT
- setvar VAR_0x8005, 2
- goto SlateportCity_OceanicMuseum_1F_EventScript_28C7E9
- end
-
-SlateportCity_OceanicMuseum_1F_EventScript_28C939:: @ 828C939
- msgbox SlateportCity_OceanicMuseum_1F_Text_28144D, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943
- lock
- faceplayer
- specialvar VAR_RESULT, sub_80EF8F8
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C7F0
- setvar VAR_0x8005, 3
- special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA4F
- copyvar VAR_0x8009, VAR_0x8006
- msgbox SlateportCity_PokemonFanClub_Text_280270, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C98C
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C
- msgbox SlateportCity_PokemonFanClub_Text_28034F, MSGBOX_DEFAULT
- random 3
- copyvar VAR_0x800A, VAR_RESULT
- switch VAR_RESULT
- case 0, SlateportCity_PokemonFanClub_EventScript_28C9C3
- case 1, SlateportCity_PokemonFanClub_EventScript_28C9D1
- case 2, SlateportCity_PokemonFanClub_EventScript_28C9DF
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C9C3:: @ 828C9C3
- msgbox SlateportCity_PokemonFanClub_Text_280393, MSGBOX_DEFAULT
- goto SlateportCity_PokemonFanClub_EventScript_28C9ED
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C9D1:: @ 828C9D1
- msgbox SlateportCity_PokemonFanClub_Text_2803EF, MSGBOX_DEFAULT
- goto SlateportCity_PokemonFanClub_EventScript_28C9ED
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C9DF:: @ 828C9DF
- msgbox SlateportCity_PokemonFanClub_Text_280454, MSGBOX_DEFAULT
- goto SlateportCity_PokemonFanClub_EventScript_28C9ED
- end
-
-SlateportCity_PokemonFanClub_EventScript_28C9ED:: @ 828C9ED
- setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_CLUB
- copyvar VAR_0x8005, VAR_0x8009
- setvar VAR_0x8006, 0
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45
- msgbox SlateportCity_PokemonFanClub_Text_2804AC, MSGBOX_DEFAULT
- setvar VAR_0x8006, 1
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45
- msgbox SlateportCity_PokemonFanClub_Text_280523, MSGBOX_DEFAULT
- copyvar VAR_0x8007, VAR_0x800A
- setvar VAR_0x8005, 3
- goto SlateportCity_PokemonFanClub_EventScript_28C7E9
- end
-
-SlateportCity_PokemonFanClub_EventScript_28CA45:: @ 828CA45
- msgbox SlateportCity_PokemonFanClub_Text_2805E2, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_PokemonFanClub_EventScript_28CA4F:: @ 828CA4F
- msgbox SlateportCity_PokemonFanClub_Text_28062E, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59
- lock
- faceplayer
- goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_28CB21
- setvar VAR_0x8005, 6
- special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB21
- copyvar VAR_0x8009, VAR_0x8006
- msgbox LilycoveCity_ContestLobby_Text_27EF15, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_28CA9B
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0
- end
-
-LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B
- msgbox LilycoveCity_ContestLobby_Text_27EFE7, MSGBOX_DEFAULT
- setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW
- copyvar VAR_0x8005, VAR_0x8009
- setvar VAR_0x8006, 0
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_28CADA
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0
- end
-
-LilycoveCity_ContestLobby_EventScript_28CAD0:: @ 828CAD0
- msgbox LilycoveCity_ContestLobby_Text_27F1EF, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA
- setvar VAR_0x8004, 24
- special SetContestCategoryStringVarForInterview
- msgbox LilycoveCity_ContestLobby_Text_27F03E, MSGBOX_DEFAULT
- setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW
- copyvar VAR_0x8005, VAR_0x8009
- setvar VAR_0x8006, 1
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0
- msgbox LilycoveCity_ContestLobby_Text_27F0EC, MSGBOX_DEFAULT
- setflag FLAG_TEMP_2
- setvar VAR_0x8005, 6
- goto LilycoveCity_ContestLobby_EventScript_28C7E9
- end
-
-LilycoveCity_ContestLobby_EventScript_28CB21:: @ 828CB21
- msgbox LilycoveCity_ContestLobby_Text_27F23F, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_EventScript_28CB2B:: @ 828CB2B
- compare VAR_LINK_CONTEST_ROOM_STATE, 2
- goto_if_ne LilycoveCity_ContestLobby_EventScript_28CB95
- setvar VAR_0x8005, 6
- special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB95
- switch VAR_CONTEST_LOCATION
- case 0, LilycoveCity_ContestLobby_EventScript_28CB95
- case 2, LilycoveCity_ContestLobby_EventScript_28CB91
- case 1, LilycoveCity_ContestLobby_EventScript_28CB91
- case 3, LilycoveCity_ContestLobby_EventScript_28CB91
- case 4, LilycoveCity_ContestLobby_EventScript_28CB91
- case 5, LilycoveCity_ContestLobby_EventScript_28CB95
- end
-
-LilycoveCity_ContestLobby_EventScript_28CB91:: @ 828CB91
- clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
- return
-
-LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_28CB96:: @ 828CB96
- lock
- faceplayer
- goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerLobby_EventScript_28CC7A
- setvar VAR_0x8005, 7
- special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
- copyvar VAR_0x8009, VAR_0x8006
- msgbox BattleFrontier_BattleTowerLobby_Text_27F704, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8
- message BattleFrontier_BattleTowerLobby_Text_27F7BA
- waitmessage
- multichoice 20, 8, 45, 1
- copyvar VAR_0x8008, VAR_RESULT
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC38
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC41
- msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, MSGBOX_DEFAULT
- setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW
- copyvar VAR_0x8005, VAR_0x8009
- call Common_ShowEasyChatScreen
- lock
- faceplayer
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_28CC2E:: @ 828CC2E
- msgbox BattleFrontier_BattleTowerLobby_Text_27F84C, MSGBOX_DEFAULT
- release
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_28CC38:: @ 828CC38
- msgbox BattleFrontier_BattleTowerLobby_Text_27F8AE, MSGBOX_DEFAULT
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_28CC41:: @ 828CC41
- msgbox BattleFrontier_BattleTowerLobby_Text_27F921, MSGBOX_DEFAULT
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_28CC4A:: @ 828CC4A
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
- msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, MSGBOX_DEFAULT
- setflag FLAG_TEMP_2
- copyvar VAR_0x8004, VAR_0x8008
- setvar VAR_0x8005, 7
- goto BattleFrontier_BattleTowerLobby_EventScript_28C7E9
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_28CC70:: @ 828CC70
- msgbox BattleFrontier_BattleTowerLobby_Text_27FA6F, MSGBOX_DEFAULT
- release
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_28CC7A:: @ 828CC7A
- msgbox BattleFrontier_BattleTowerLobby_Text_27FAF3, MSGBOX_DEFAULT
- release
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_28CC84:: @ 828CC84
- compare VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
- setvar VAR_0x8005, 7
- special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
- clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_28CCA6:: @ 828CCA6
- setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
- return
-
+ .include "data/scripts/interview.inc"
.include "data/scripts/gabby_and_ty.inc"
.include "data/text/pokemon_news.inc"
.include "data/scripts/mauville_man.inc"
@@ -4087,3037 +1027,35 @@ BattleFrontier_BattleTowerLobby_EventScript_28CCA6:: @ 828CCA6
.include "data/scripts/item_ball_scripts.inc"
.include "data/scripts/mystery_event_club.inc"
.include "data/scripts/day_care.inc"
-
-EventScript_2926F8:: @ 82926F8
- animateflash 1
- setflashradius 1
- end
-
+ .include "data/scripts/flash.inc"
.include "data/scripts/players_house.inc"
-
-EventScript_RunningShoesManual:: @ 8292DE5
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, MSGBOX_SIGN
- end
-
- .include "data/scripts/pokeblocks.inc"
-
-gText_SoPretty:: @ 8294295
- .string " so pretty!$"
-
-gText_SoDarling:: @ 82942A1
- .string " so darling!$"
-
-gText_SoRelaxed:: @ 82942AE
- .string " so relaxed!$"
-
-gText_SoSunny:: @ 82942BB
- .string " so sunny!$"
-
-gText_SoDesirable:: @ 82942C6
- .string " so desirable!$"
-
-gText_SoExciting:: @ 82942D5
- .string " so exciting!$"
-
-gText_SoAmusing:: @ 82942E3
- .string " so amusing!$"
-
-gText_SoMagical:: @ 82942F0
- .string " so magical!$"
-
-gOtherText_Is:: @ 82942FD
- .string " is$"
-
-gOtherText_DontYouAgree:: @ 8294301
- .string "\n"
- .string "Don't you agree?$"
-
-gMauvilleManText_ISoWantToGoOnAVacation:: @ 8294313
- .string "I so want to go on a vacation.\n"
- .string "Would you happen to know a nice place?$"
-
-gMauvilleManText_IBoughtCrayonsWith120Colors:: @ 8294359
- .string "I bought crayons with 120 colors!\n"
- .string "Don't you think that's nice?$"
-
-gMauvilleManText_WouldntItBeNiceIfWeCouldFloat:: @ 8294398
- .string "Wouldn't it be nice if we could float\n"
- .string "away on a cloud of bubbles?$"
-
-gMauvilleManText_WhenYouWriteOnASandyBeach:: @ 82943DA
- .string "When you write on a sandy beach,\n"
- .string "they wash away. It makes me sad.$"
-
-gMauvilleManText_WhatsTheBottomOfTheSeaLike:: @ 829441C
- .string "What's the bottom of the sea like?\n"
- .string "Just once I would so love to go!$"
-
-gMauvilleManText_WhenYouSeeTheSettingSunDoesIt:: @ 8294460
- .string "When you see the setting sun, does it\n"
- .string "make you want to go home?$"
-
-gMauvilleManText_LyingBackInTheGreenGrass:: @ 82944A0
- .string "Lying back in the green grass…\n"
- .string "Oh, it's so, so nice!$"
-
-gMauvilleManText_SecretBasesAreSoWonderful:: @ 82944D5
- .string "SECRET BASES are so wonderful!\n"
- .string "Can't you feel the excitement?$"
-
+ .include "data/scripts/berry_blender.inc"
+ .include "data/text/mauville_man.inc"
.include "data/text/trainers.inc"
-
-EventScript_RepelWoreOff:: @ 82A4B2A
- msgbox Text_RepelWoreOff, MSGBOX_SIGN
- end
-
-Text_RepelWoreOff: @ 82A4B33
- .string "REPEL's effect wore off…$"
-
+ .include "data/scripts/repel.inc"
.include "data/scripts/safari_zone.inc"
-
-MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
- setvar VAR_0x8004, 0
- getpricereduction 2
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D
- addvar VAR_0x8004, 128
- goto MauvilleCity_GameCorner_EventScript_2A5B0D
- end
-
-MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
- setvar VAR_0x8004, 1
- getpricereduction 2
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D
- addvar VAR_0x8004, 128
- goto MauvilleCity_GameCorner_EventScript_2A5B0D
- end
-
-MauvilleCity_GameCorner_EventScript_2A5B0D:: @ 82A5B0D
- special PlayRoulette
- waitstate
- end
-
- .include "data/text/roulette.inc"
+ .include "data/scripts/roulette.inc"
.include "data/text/pokedex_rating.inc"
.include "data/text/lottery_corner.inc"
- .include "data/text/eon_ticket.inc"
+ .include "data/text/event_ticket_1.inc"
.include "data/text/braille.inc"
.include "data/text/berries.inc"
.include "data/text/shoal_cave.inc"
-
-Text_PictureBookShelf: @ 82A81E5
- .string "There's a set of POKéMON picture books.$"
-
-Text_BookShelf: @ 82A820D
- .string "It's filled with all sorts of books.$"
-
-Text_PokemonCenterBookShelf: @ 82A8232
- .string "POKéMON magazines!\n"
- .string "POKéMON PAL…\p"
- .string "POKéMON HANDBOOK…\n"
- .string "ADORABLE POKéMON…$"
-
-Text_Vase: @ 82A8276
- .string "This vase looks expensive…\n"
- .string "Peered inside…\p"
- .string "But, it was empty.$"
-
-Text_EmptyTrashCan: @ 82A82B3
- .string "It's empty.$"
-
-Text_ShopShelf: @ 82A82BF
- .string "The shelves brim with all sorts of\n"
- .string "POKéMON merchandise.$"
-
-Text_Blueprint: @ 82A82F7
- .string "A blueprint of some sort?\n"
- .string "It's too complicated!$"
-
-GraniteCave_B1F_MapScript2_2A8327: @ 82A8327
-MirageTower_2F_MapScript2_2A8327: @ 82A8327
-MirageTower_3F_MapScript2_2A8327: @ 82A8327
-MtPyre_2F_MapScript2_2A8327: @ 82A8327
-SkyPillar_2F_MapScript2_2A8327: @ 82A8327
-SkyPillar_4F_MapScript2_2A8327: @ 82A8327
- map_script_2 VAR_ICE_STEP_COUNT, 0, EventScript_FallDownHole
- .2byte 0
-
-GraniteCave_B1F_MapScript1_2A8331: @ 82A8331
-MirageTower_2F_MapScript1_2A8331: @ 82A8331
-MirageTower_3F_MapScript1_2A8331: @ 82A8331
-MtPyre_2F_MapScript1_2A8331: @ 82A8331
- copyvar VAR_ICE_STEP_COUNT, 0x1
- end
-
-EventScript_FallDownHole:: @ 82A8337
- lockall
- delay 20
- applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369
- waitmovement 0
- playse SE_RU_HYUU
- delay 60
- warphole MAP_UNDEFINED
- waitstate
- end
-
-gUnknown_082A8350:: @ 82A8350
- lockall
- delay 20
- applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369
- waitmovement 0
- playse SE_RU_HYUU
- delay 60
- special DoFallWarp
- waitstate
- end
-
-GraniteCave_B1F_Movement_2A8369: @ 82A8369
- set_invisible
- step_end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A836B:: @ 82A836B
- special Script_GetLilycoveLadyId
- switch VAR_RESULT
- case LILYCOVE_LADY_QUIZ, LilycoveCity_PokemonCenter_1F_EventScript_2A8554
- case LILYCOVE_LADY_FAVOR, LilycoveCity_PokemonCenter_1F_EventScript_2A8395
- case LILYCOVE_LADY_CONTEST, LilycoveCity_PokemonCenter_1F_EventScript_2A882A
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395
- lock
- faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, MSGBOX_DEFAULT
- specialvar VAR_RESULT, GetFavorLadyState
- compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0
- compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6
- compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8AB1, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, MSGBOX_DEFAULT
- specialvar VAR_RESULT, HasAnotherPlayerGivenFavorLadyItem
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7
- special BufferFavorLadyItemName
- special BufferFavorLadyPlayerName
- specialvar VAR_RESULT, DidFavorLadyLikeItem
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8419:: @ 82A8419
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8ACE, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8427:: @ 82A8427
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B36, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8454:: @ 82A8454
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BCD, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A845E:: @ 82A845E
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BAD, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A846C
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C
- fadescreen 1
- setvar VAR_RESULT, 0
- special Script_FavorLadyOpenBagMenu
- waitstate
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84AD
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A848E:: @ 82A848E
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BEE, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD
- specialvar VAR_RESULT, Script_DoesFavorLadyLikeItem
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C0F, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6
- specialvar VAR_RESULT, IsFavorLadyThresholdMet
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C6F, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A84FF:: @ 82A84FF
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8CC8, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8510
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510
- setvar VAR_0x8004, 0
- specialvar VAR_0x8004, FavorLadyGetPrize
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, MSGBOX_DEFAULT
- giveitem_std VAR_0x8004
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8DBD, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A854F:: @ 82A854F
- special SetFavorLadyState_Complete
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554
- lock
- faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, MSGBOX_DEFAULT
- specialvar VAR_RESULT, GetQuizLadyState
- compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585
- compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC
- compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8585:: @ 82A8585
- specialvar VAR_RESULT, GetQuizAuthor
- compare VAR_RESULT, QUIZ_AUTHOR_PLAYER
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
- compare VAR_RESULT, QUIZ_AUTHOR_OTHER_PLAYER
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2
- compare VAR_RESULT, QUIZ_AUTHOR_LADY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC
- specialvar VAR_RESULT, IsQuizLadyWaitingForChallenger
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A85C8:: @ 82A85C8
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E4E, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A85D2:: @ 82A85D2
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A85E0:: @ 82A85E0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE
- setvar VAR_0x8004, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F65, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A861C:: @ 82A861C
- special ClearQuizLadyPlayerAnswer
- compare VAR_0x8004, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C
- compare VAR_0x8004, EASY_CHAT_TYPE_QUIZ_ANSWER
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8635:: @ 82A8635
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A864C:: @ 82A864C
- special QuizLadyShowQuizQuestion
- waitstate
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656
- special QuizLadyGetPlayerAnswer
- waitstate
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F9A, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689
- special SetQuizLadyState_Complete
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, MSGBOX_DEFAULT
- specialvar VAR_RESULT, IsQuizAnswerCorrect
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0
- playse SE_SEIKAI
- delay 10
- playse SE_SEIKAI
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8FC7, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7
- special BufferQuizCorrectAnswer
- special BufferQuizPrizeName
- playse SE_HAZURE
- delay 10
- playse SE_HAZURE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A90A5, MSGBOX_DEFAULT
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A90CD, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759
- end
-
-@ VAR_RESULT is essentially ignored, both jumps are identical
-LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC
- specialvar VAR_RESULT, BufferQuizAuthorNameAndCheckIfLady
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8708:: @ 82A8708
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8716:: @ 82A8716
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724
- setvar VAR_0x8005, 0
- special BufferQuizPrizeItem
- special SetQuizLadyState_Complete
- giveitem_std VAR_0x8005
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A906A, MSGBOX_DEFAULT
- special SetQuizLadyState_GivePrize
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778
- special QuizLadyPickNewQuestion
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9131, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8785:: @ 82A8785
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9153, MSGBOX_DEFAULT
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D
- fadescreen 1
- setvar VAR_RESULT, 0
- special Script_QuizLadyOpenBagMenu
- waitstate
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87CE
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9212, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9270, MSGBOX_DEFAULT
- special ClearQuizLadyQuestionAndAnswer
- special ClearQuizLadyPlayerAnswer
- setvar VAR_0x8004, EASY_CHAT_TYPE_QUIZ_QUESTION
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1
- fadescreen 1
- special QuizLadySetCustomQuestion
- waitstate
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A8817
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A87F8:: @ 82A87F8
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A92D3, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817
- special QuizLadyTakePrizeForCustomQuiz
- special QuizLadyRecordCustomQuizData
- special QuizLadySetWaitingForChallenger
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9336, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A
- lock
- faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, MSGBOX_DEFAULT
- specialvar VAR_RESULT, HasPlayerGivenContestLadyPokeblock
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
- end
-
-@ Redundant with above script, VAR_RESULT will always be 0 here
-LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850
- specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A93D6, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876
- special Script_BufferContestLadyCategoryAndMonName
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, MSGBOX_DEFAULT
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9556, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA
- fadescreen 1
- special OpenPokeblockCaseForContestLady
- waitstate
- compare VAR_RESULT, 65535
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7
- compare VAR_RESULT, 65535
- goto_if_ne LilycoveCity_PokemonCenter_1F_EventScript_2A88F6
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9537, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9571, MSGBOX_DEFAULT
- special SetContestLadyGivenPokeblock
- special GetContestLadyMonSpecies
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A890A
- end
-
-@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
-LilycoveCity_PokemonCenter_1F_EventScript_2A890A:: @ 82A890A
- applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89B8
- waitmovement 0
- delay 60
- applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89BB
- waitmovement 0
- delay 60
- waitse
- playmoncry VAR_0x8005, 0
- delay 120
- waitmoncry
- compare VAR_0x8004, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A894C
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A893F:: @ 82A893F
- applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89C2
- waitmovement 0
- delay 60
-
-@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
-LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C
- applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89C0
- waitmovement 0
- delay 60
- compare VAR_0x8004, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970
- compare VAR_0x8004, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A95AD, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E
- special Script_BufferContestLadyCategoryAndMonName
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9605, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F
- specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A89A1:: @ 82A89A1
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9669, MSGBOX_DEFAULT
- special PutLilycoveContestLadyShowOnTheAir
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A89AE:: @ 82A89AE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9451, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_PokemonCenter_1F_Movement_2A89B8: @ 82A89B8
- face_right
- delay_8
- step_end
-
-LilycoveCity_PokemonCenter_1F_Movement_2A89BB: @ 82A89BB
- face_left
- delay_8
- step_end
-
-LilycoveCity_PokemonCenter_1F_Movement_2A89BE: @ 82A89BE
- face_down
- step_end
-
-LilycoveCity_PokemonCenter_1F_Movement_2A89C0: @ 82A89C0
- face_player
- step_end
-
-LilycoveCity_PokemonCenter_1F_Movement_2A89C2: @ 82A89C2
- disable_jump_landing_ground_effect
- jump_in_place_left
- disable_jump_landing_ground_effect
- jump_in_place_left
- step_end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A89C7:: @ 82A89C7
- specialvar VAR_RESULT, GetContestLadyCategory
- special Script_BufferContestLadyCategoryAndMonName
- special GetContestLadyMonSpecies
- compare VAR_RESULT, CONTEST_CATEGORY_COOL
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A
- compare VAR_RESULT, CONTEST_CATEGORY_BEAUTY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D
- compare VAR_RESULT, CONTEST_CATEGORY_CUTE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30
- compare VAR_RESULT, CONTEST_CATEGORY_SMART
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43
- compare VAR_RESULT, CONTEST_CATEGORY_TOUGH
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A:: @ 82A8A0A
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A96DA, MSGBOX_DEFAULT
- waitmoncry
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D:: @ 82A8A1D
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A970E, MSGBOX_DEFAULT
- waitmoncry
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8A30:: @ 82A8A30
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A96F6, MSGBOX_DEFAULT
- waitmoncry
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8A43:: @ 82A8A43
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A96E6, MSGBOX_DEFAULT
- waitmoncry
- release
- end
-
-LilycoveCity_PokemonCenter_1F_EventScript_2A8A56:: @ 82A8A56
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9703, MSGBOX_DEFAULT
- waitmoncry
- release
- end
-
-LilycoveCity_PokemonCenter_1F_Text_2A8A69: @ 82A8A69
- .string "I'm the FAVOR LADY…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8A7D: @ 82A8A7D
- .string "I've recently developed an obsession\n"
- .string "for {STR_VAR_1} things…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8AB1: @ 82A8AB1
- .string "Oh…\n"
- .string "Thank you for last time…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8ACE: @ 82A8ACE
- .string "Before, I think it was {STR_VAR_3}…\p"
- .string "{STR_VAR_3} gave me one {STR_VAR_2},\n"
- .string "saying it was {STR_VAR_1}.\p"
- .string "But it wasn't {STR_VAR_1}.\n"
- .string "Not in the least bit.$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8B36: @ 82A8B36
- .string "Before, {STR_VAR_3} gave me a very\n"
- .string "{STR_VAR_1} {STR_VAR_2}.\p"
- .string "I cherish it now.$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8B69: @ 82A8B69
- .string "Listen, if you have anything that\n"
- .string "is {STR_VAR_1}, will you share it\l"
- .string "with me?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8BAD: @ 82A8BAD
- .string "…Really?\n"
- .string "What will you give me?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8BCD: @ 82A8BCD
- .string "Is that so?\n"
- .string "Then, it's good-bye…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8BEE: @ 82A8BEE
- .string "Oh…\n"
- .string "You're not willing to share?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8C0F: @ 82A8C0F
- .string "Oh?\n"
- .string "That {STR_VAR_2} is {STR_VAR_1}?\p"
- .string "…Oh, is that right?\p"
- .string "Well, I owe you a thanks anyway.\n"
- .string "I'll try to cherish it…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8C6F: @ 82A8C6F
- .string "Oh…\p"
- .string "That's a quite {STR_VAR_1}\n"
- .string "{STR_VAR_2}…\p"
- .string "Isn't it nice?\n"
- .string "It's so dreamy…\p"
- .string "Thank you…\n"
- .string "I will cherish this…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8CC8: @ 82A8CC8
- .string "…Oh, oh, oh…\p"
- .string "This is amazing!\n"
- .string "This really is {STR_VAR_1}!\p"
- .string "I never knew that one {STR_VAR_2}\n"
- .string "could be this {STR_VAR_1}!\p"
- .string "Thank you!\p"
- .string "I will treasure this for the rest\n"
- .string "of my life!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8D5D: @ 82A8D5D
- .string "I'll give you this wonderful item in\n"
- .string "return for your fabulous gift.\p"
- .string "I hope you will cherish it…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8DBD: @ 82A8DBD
- .string "Oh, you can't have it if you don't have\n"
- .string "the space for it.\p"
- .string "Please come see me when you get\n"
- .string "your BAG organized…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8E2B: @ 82A8E2B
- .string "I'm the QUIZ LADY!\n"
- .string "I love quizzes!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8E4E: @ 82A8E4E
- .string "Oh?\p"
- .string "I'm waiting for a challenger to answer\n"
- .string "the quiz you made.\p"
- .string "We can chat another time, okay?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8EAC: @ 82A8EAC
- .string "I'm waiting for someone to challenge\n"
- .string "a quiz this {STR_VAR_1} thought up!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8EEC: @ 82A8EEC
- .string "If you answer correctly, you can win\n"
- .string "fabulous prizes!\p"
- .string "Would you like to take the quiz\n"
- .string "challenge?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8F4D: @ 82A8F4D
- .string "… … … … … …\n"
- .string "… … … … … …$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8F65: @ 82A8F65
- .string "Oh, how boring!\n"
- .string "Bye-bye!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8F7E: @ 82A8F7E
- .string "Awww!\n"
- .string "You're going to quit?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8F9A: @ 82A8F9A
- .string "Please take the quiz challenge\n"
- .string "another time!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A8FC7: @ 82A8FC7
- .string "You're amazing! You've got it right!\n"
- .string "You're one sharp customer!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9007: @ 82A9007
- .string "Congratulations!\n"
- .string "You've got the quiz right!\p"
- .string "You've won a prize provided by\n"
- .string "{STR_VAR_1}!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9056: @ 82A9056
- .string "{STR_VAR_1} received\n"
- .string "one {STR_VAR_2}!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A906A: @ 82A906A
- .string "Oh? Your BAG is filled up!\n"
- .string "Come see me when you have room.$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A90A5: @ 82A90A5
- .string "Hmm… Wrong!\n"
- .string "The correct answer is “{STR_VAR_3}”!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A90CD: @ 82A90CD
- .string "Too bad!\p"
- .string "I get to keep the quiz prize\n"
- .string "{STR_VAR_1} now!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A90FB: @ 82A90FB
- .string "Listen, listen!\n"
- .string "Would you like to make your own quiz?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9131: @ 82A9131
- .string "Oh, I see…\n"
- .string "Well, maybe next time!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9153: @ 82A9153
- .string "Okay, the first thing you have to do\n"
- .string "is pick the prize for the person that\l"
- .string "answers your quiz correctly.\p"
- .string "But beware, if the person taking\n"
- .string "the quiz can't get it right, I get to\l"
- .string "keep the prize!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9212: @ 82A9212
- .string "If you don't choose a prize,\n"
- .string "your quiz can't be made.\p"
- .string "Are you going to quit making\n"
- .string "your quiz?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9270: @ 82A9270
- .string "Oh, how nice!\n"
- .string "That's a wonderful prize!\p"
- .string "Next, you need to write your quiz\n"
- .string "question and its answer.$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A92D3: @ 82A92D3
- .string "Are you going to quit writing\n"
- .string "your quiz question?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9305: @ 82A9305
- .string "Are you going to quit choosing\n"
- .string "your quiz answer?$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9336: @ 82A9336
- .string "Thank you!\n"
- .string "You've put together a nice quiz.\p"
- .string "I'll go look for someone who'll take\n"
- .string "your quiz challenge right away.$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A93A7: @ 82A93A7
- .string "I'm the CONTEST LADY!\n"
- .string "I sure do love CONTESTS!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A93D6: @ 82A93D6
- .string "Thanks for your {POKEBLOCK} before!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A93F4: @ 82A93F4
- .string "This is my friend {STR_VAR_1}!\n"
- .string "It's the epitome of {STR_VAR_2}!\p"
- .string "But I think that it will display\n"
- .string "even more {STR_VAR_2}!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9451: @ 82A9451
- .string "So, I need your help!\p"
- .string "Please, may I have one {POKEBLOCK}?\n"
- .string "All I'm asking for is one!\p"
- .string "…Oh, but…\n"
- .string "Don't you have a {POKEBLOCK} CASE?\l"
- .string "That's no good. Next time, then!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A94E8: @ 82A94E8
- .string "So, I need your help!\p"
- .string "Please, may I have one {POKEBLOCK}?\n"
- .string "All I'm asking for is one!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9537: @ 82A9537
- .string "Awww!\n"
- .string "I can't have one {POKEBLOCK}?!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9556: @ 82A9556
- .string "Sheesh!\n"
- .string "What a cheapskate!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9571: @ 82A9571
- .string "Yay!\n"
- .string "Thank you!\p"
- .string "I'll feed my POKéMON your {POKEBLOCK}\n"
- .string "right away.$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A95AD: @ 82A95AD
- .string "…It doesn't seem to have changed\n"
- .string "in any way at all…\p"
- .string "Hmm…\p"
- .string "Oh, well!\n"
- .string "Thank you very much!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9605: @ 82A9605
- .string "Oh, yay!\n"
- .string "It's really delighted!\p"
- .string "I think it really improved {STR_VAR_1}'s\n"
- .string "{STR_VAR_2} quality, too.\p"
- .string "Thank you so much!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9669: @ 82A9669
- .string "Hmm…\p"
- .string "I think we may be ready to enter\n"
- .string "some CONTESTS.\p"
- .string "If you see us in one somewhere,\n"
- .string "I hope you'll cheer for us.$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A96DA: @ 82A96DA
- .string "{STR_VAR_1}: Guguuh!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A96E6: @ 82A96E6
- .string "{STR_VAR_1}: Igigigiiih!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A96F6: @ 82A96F6
- .string "{STR_VAR_1}: Baaarun…$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A9703: @ 82A9703
- .string "{STR_VAR_1}: Pikka!$"
-
-LilycoveCity_PokemonCenter_1F_Text_2A970E: @ 82A970E
- .string "{STR_VAR_1}: Umyaaaan!$"
-
+ .include "data/text/check_furniture.inc"
+ .include "data/scripts/cave_hole.inc"
+ .include "data/scripts/lilycove_lady.inc"
.include "data/text/match_call.inc"
.include "data/scripts/apprentice.inc"
-
-gBattleDomeOpponentPotentialText1::
- .string "The best candidate to be a champ!$"
-
-gBattleDomeOpponentPotentialText2::
- .string "A sure-finalist team.$"
-
-gBattleDomeOpponentPotentialText3::
- .string "A likely top-three finisher.$"
-
-gBattleDomeOpponentPotentialText4::
- .string "A candidate to finish first.$"
-
-gBattleDomeOpponentPotentialText5::
- .string "A team with top-class potential.$"
-
-gBattleDomeOpponentPotentialText6::
- .string "The dark horse team this tournament.$"
-
-gBattleDomeOpponentPotentialText7::
- .string "A better-than-average team.$"
-
-gBattleDomeOpponentPotentialText8::
- .string "This tournament's average team.$"
-
-gBattleDomeOpponentPotentialText9::
- .string "A team with average potential.$"
-
-gBattleDomeOpponentPotentialText10::
- .string "A weaker-than-average team.$"
-
-gBattleDomeOpponentPotentialText11::
- .string "A team looking for its first win.$"
-
-gBattleDomeOpponentPotentialText12::
- .string "One win will make this team proud.$"
-
-gBattleDomeOpponentPotentialText13::
- .string "Overall, a weak team.$"
-
-gBattleDomeOpponentPotentialText14::
- .string "A team with very low potential.$"
-
-gBattleDomeOpponentPotentialText15::
- .string "A team unlikely to win the tournament.$"
-
-gBattleDomeOpponentPotentialText16::
- .string "The team most unlikely to win.$"
-
-gBattleDomeOpponentPotentialText17::
- .string "The perfect, invincible superstar!$"
-
-gBattleDomeOpponentStyleText1::
- .string "Willing to risk total disaster at times.$"
-
-gBattleDomeOpponentStyleText2::
- .string "Skilled at enduring long battles.$"
-
-gBattleDomeOpponentStyleText3::
- .string "Varies tactics to suit the opponent.$"
-
-gBattleDomeOpponentStyleText4::
- .string "Has a tough winning pattern.$"
-
-gBattleDomeOpponentStyleText5::
- .string "Occasionally uses a very rare move.$"
-
-gBattleDomeOpponentStyleText6::
- .string "Uses startling and disruptive moves.$"
-
-gBattleDomeOpponentStyleText7::
- .string "Constantly watches HP in battle.$"
-
-gBattleDomeOpponentStyleText8::
- .string "Good at storing then loosing power.$"
-
-gBattleDomeOpponentStyleText9::
- .string "Skilled at enfeebling foes.$"
-
-gBattleDomeOpponentStyleText10::
- .string "Prefers tactics that rely on luck.$"
-
-gBattleDomeOpponentStyleText11::
- .string "Attacks with a regal atmosphere.$"
-
-gBattleDomeOpponentStyleText12::
- .string "Attacks with powerful, low-PP moves.$"
-
-gBattleDomeOpponentStyleText13::
- .string "Skilled at enfeebling, then attacking.$"
-
-gBattleDomeOpponentStyleText14::
- .string "Battles while enduring all attacks.$"
-
-gBattleDomeOpponentStyleText15::
- .string "Skilled at upsetting foes emotionally.$"
-
-gBattleDomeOpponentStyleText16::
- .string "Uses strong and straightforward moves.$"
-
-gBattleDomeOpponentStyleText17::
- .string "Aggressively uses strong moves.$"
-
-gBattleDomeOpponentStyleText18::
- .string "Battles while cleverly dodging attacks.$"
-
-gBattleDomeOpponentStyleText19::
- .string "Skilled at using upsetting attacks.$"
-
-gBattleDomeOpponentStyleText20::
- .string "Uses many popular moves.$"
-
-gBattleDomeOpponentStyleText21::
- .string "Has moves for powerful combinations.$"
-
-gBattleDomeOpponentStyleText22::
- .string "Uses high-probability attacks.$"
-
-gBattleDomeOpponentStyleText23::
- .string "Aggressively uses spectacular moves.$"
-
-gBattleDomeOpponentStyleText24::
- .string "Emphasizes offense over defense.$"
-
-gBattleDomeOpponentStyleText25::
- .string "Emphasizes defense over offense.$"
-
-gBattleDomeOpponentStyleText26::
- .string "Attacks quickly with strong moves.$"
-
-gBattleDomeOpponentStyleText27::
- .string "Often uses moves with added effects.$"
-
-gBattleDomeOpponentStyleText28::
- .string "Uses a well-balanced mix of moves.$"
-
-gBattleDomeOpponentStyleTextUnused1::
- .string "This is sample message 1.$"
-
-gBattleDomeOpponentStyleTextUnused2::
- .string "This is sample message 2.$"
-
-gBattleDomeOpponentStyleTextUnused3::
- .string "This is sample message 3.$"
-
-gBattleDomeOpponentStyleTextUnused4::
- .string "This is sample message 4.$"
-
-gBattleDomeOpponentStatsText1::
- .string "Emphasizes HP and ATTACK.$"
-
-gBattleDomeOpponentStatsText2::
- .string "Emphasizes HP and DEFENSE.$"
-
-gBattleDomeOpponentStatsText3::
- .string "Emphasizes HP and SPEED.$"
-
-gBattleDomeOpponentStatsText4::
- .string "Emphasizes HP and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText5::
- .string "Emphasizes HP and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText6::
- .string "Emphasizes ATTACK and DEFENSE.$"
-
-gBattleDomeOpponentStatsText7::
- .string "Emphasizes ATTACK and SPEED.$"
-
-gBattleDomeOpponentStatsText8::
- .string "Emphasizes ATTACK and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText9::
- .string "Emphasizes ATTACK and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText10::
- .string "Emphasizes DEFENSE and SPEED.$"
-
-gBattleDomeOpponentStatsText11::
- .string "Emphasizes DEFENSE and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText12::
- .string "Emphasizes DEFENSE and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText13::
- .string "Emphasizes SPEED and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText14::
- .string "Emphasizes SPEED and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText15::
- .string "Emphasizes SP. ATTACK and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText16::
- .string "Emphasizes HP.$"
-
-gBattleDomeOpponentStatsText17::
- .string "Emphasizes ATTACK.$"
-
-gBattleDomeOpponentStatsText18::
- .string "Emphasizes DEFENSE.$"
-
-gBattleDomeOpponentStatsText19::
- .string "Emphasizes SPEED.$"
-
-gBattleDomeOpponentStatsText20::
- .string "Emphasizes SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText21::
- .string "Emphasizes SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText22::
- .string "Neglects HP and ATTACK.$"
-
-gBattleDomeOpponentStatsText23::
- .string "Neglects HP and DEFENSE.$"
-
-gBattleDomeOpponentStatsText24::
- .string "Neglects HP and SPEED.$"
-
-gBattleDomeOpponentStatsText25::
- .string "Neglects HP and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText26::
- .string "Neglects HP and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText27::
- .string "Neglects ATTACK and DEFENSE.$"
-
-gBattleDomeOpponentStatsText28::
- .string "Neglects ATTACK and SPEED.$"
-
-gBattleDomeOpponentStatsText29::
- .string "Neglects ATTACK and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText30::
- .string "Neglects ATTACK and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText31::
- .string "Neglects DEFENSE and SPEED.$"
-
-gBattleDomeOpponentStatsText32::
- .string "Neglects DEFENSE and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText33::
- .string "Neglects DEFENSE and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText34::
- .string "Neglects SPEED and SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText35::
- .string "Neglects SPEED and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText36::
- .string "Neglects SP. ATTACK and SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText37::
- .string "Neglects HP.$"
-
-gBattleDomeOpponentStatsText38::
- .string "Neglects ATTACK.$"
-
-gBattleDomeOpponentStatsText39::
- .string "Neglects DEFENSE.$"
-
-gBattleDomeOpponentStatsText40::
- .string "Neglects SPEED.$"
-
-gBattleDomeOpponentStatsText41::
- .string "Neglects SP. ATTACK.$"
-
-gBattleDomeOpponentStatsText42::
- .string "Neglects SP. DEFENSE.$"
-
-gBattleDomeOpponentStatsText43::
- .string "Raises POKéMON in a well-balanced way.$"
-
-gBattleDomeWinText1::
- .string "Let the battle begin!$"
-
-gBattleDomeWinText2::
- .string "{STR_VAR_1} won using {STR_VAR_2}!$"
-
-gBattleDomeWinText3::
- .string "{STR_VAR_1} became the champ!$"
-
-gBattleDomeWinText4::
- .string "{STR_VAR_1} won by default!$"
-
-gBattleDomeWinText5::
- .string "{STR_VAR_1} won outright by default!$"
-
-gBattleDomeWinText6::
- .string "{STR_VAR_1} won without using a move!$"
-
-gBattleDomeWinText7::
- .string "{STR_VAR_1} won outright with no moves!$"
-
-gBattleDomeMatchNumberText1::
- .string "Round 1, Match 1$"
-
-gBattleDomeMatchNumberText2::
- .string "Round 1, Match 2$"
-
-gBattleDomeMatchNumberText3::
- .string "Round 1, Match 3$"
-
-gBattleDomeMatchNumberText4::
- .string "Round 1, Match 4$"
-
-gBattleDomeMatchNumberText5::
- .string "Round 1, Match 5$"
-
-gBattleDomeMatchNumberText6::
- .string "Round 1, Match 6$"
-
-gBattleDomeMatchNumberText7::
- .string "Round 1, Match 7$"
-
-gBattleDomeMatchNumberText8::
- .string "Round 1, Match 8$"
-
-gBattleDomeMatchNumberText9::
- .string "Round 2, Match 1$"
-
-gBattleDomeMatchNumberText10::
- .string "Round 2, Match 2$"
-
-gBattleDomeMatchNumberText11::
- .string "Round 2, Match 3$"
-
-gBattleDomeMatchNumberText12::
- .string "Round 2, Match 4$"
-
-gBattleDomeMatchNumberText13::
- .string "Semifinal Match 1$"
-
-gBattleDomeMatchNumberText14::
- .string "Semifinal Match 2$"
-
-gBattleDomeMatchNumberText15::
- .string "Final Match$"
-
-BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE
-
-BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25
- setvar VAR_0x8004, 4
- special CallBattlePikeFunction
- setvar VAR_0x8004, 5
- special CallBattlePikeFunction
- switch VAR_RESULT
- case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
- case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
- case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0
- case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2
- case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
- case 7, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93
- case 6, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2
- case 8, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93:: @ 82C3E93
- setobjectxyperm 1, 2, 5
- setobjectxyperm 2, 6, 5
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2:: @ 82C3EA2
- setobjectxyperm 1, 4, 4
- setobjectxyperm 2, 3, 4
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1:: @ 82C3EB1
- setobjectxyperm 1, 4, 4
- setobjectxyperm 2, 0, 0
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0:: @ 82C3EC0
- setobjectxyperm 1, 5, 5
- setobjectxyperm 2, 0, 0
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF:: @ 82C3ECF
- setobjectxyperm 1, 4, 3
- setobjectxyperm 2, 4, 4
- end
-
-BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE: @ 82C3EDE
- map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8
- .2byte 0
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8
- setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LINK_RECEPTIONIST
- setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST
- setvar VAR_0x8004, 5
- special CallBattlePikeFunction
- compare VAR_RESULT, 3
- goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
- compare VAR_RESULT, 6
- goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
- compare VAR_RESULT, 7
- goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
- compare VAR_RESULT, 8
- goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F
- hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1
- setvar VAR_TEMP_4, 1
- turnobject 255, 2
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35:: @ 82C3F35
- setvar VAR_TEMP_4, 1
- turnobject 255, 2
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F:: @ 82C3F3F
- setvar VAR_TEMP_4, 1
- turnobject 255, 2
- hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E:: @ 82C3F4E
- setvar VAR_0x8007, 0
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59:: @ 82C3F59
- setvar VAR_0x8007, 1
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64
- setvar VAR_0x8007, 2
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
- addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallBattlePikeFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special CallBattlePikeFunction
- setvar VAR_0x8004, 5
- special CallBattlePikeFunction
- switch VAR_RESULT
- case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- case 4, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049
- case 6, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- case 8, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A
- waitmovement 0
- call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1, 255, 4, 7
- waitstate
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A
- waitmovement 0
- call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3, 255, 4, 19
- waitstate
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062:: @ 82C4062
- setvar VAR_TEMP_3, 1
- setvar VAR_TEMP_2, 1
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D:: @ 82C406D
- setvar VAR_TEMP_3, 0
- setvar VAR_TEMP_2, 0
- lockall
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE36, MSGBOX_DEFAULT
- closemessage
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082:: @ 82C4082
- setvar VAR_TEMP_3, 1
- setvar VAR_TEMP_2, 1
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D
- setvar VAR_TEMP_3, 0
- setvar VAR_TEMP_2, 0
- lockall
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25CE36, MSGBOX_DEFAULT
- closemessage
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
- setvar VAR_0x8004, 25
- special CallBattlePikeFunction
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128
- compare VAR_RESULT, 1
- call_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
- addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallBattlePikeFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 3
- special CallBattlePikeFunction
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C
- waitstate
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128
- setvar VAR_0x8004, 24
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136
- setvar VAR_0x8004, 24
- setvar VAR_0x8005, 0
- special CallBattlePikeFunction
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A
- waitmovement 0
- call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2, 255, 2, 7
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C:: @ 82C415C
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A
- waitmovement 0
- call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
- return
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
- setvar VAR_0x8004, 7
- special CallBattlePikeFunction
- setvar VAR_0x8004, 25
- special CallBattlePikeFunction
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128
- compare VAR_RESULT, 1
- call_if_ne BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
- addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallBattlePikeFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 3
- special CallBattlePikeFunction
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C
- waitstate
- end
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202:: @ 82C4202
- setvar VAR_TEMP_3, 1
- setvar VAR_TEMP_2, 1
- end
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D:: @ 82C420D
- setvar VAR_TEMP_3, 0
- setvar VAR_TEMP_2, 0
- lockall
- msgbox BattleFrontier_BattlePikeRandomRoom3_Text_25CE36, MSGBOX_DEFAULT
- closemessage
- end
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222:: @ 82C4222
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 4
- special CallFrontierUtilFunc
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
- waitstate
- end
-
-BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E: @ 82C423E
-BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E: @ 82C423E
- setorcopyvar VAR_0x8006, VAR_RESULT
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 0
- special CallFrontierUtilFunc
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
- call BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271
-
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B
- setorcopyvar VAR_RESULT, VAR_0x8006
- end
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271:: @ 82C4271
-BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271:: @ 82C4271
- setvar VAR_0x8004, 21
- special CallFrontierUtilFunc
- return
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A: @ 82C427A
-BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A: @ 82C427A
- set_invisible
- step_end
-
-LilycoveCity_ContestLobby_Text_2C427C: @ 82C427C
- .string "BLEND MASTER: Indeed I am!\n"
- .string "The BLEND MASTER am I!\p"
- .string "Blend with me, and you shall witness\n"
- .string "the mastery I bring to blending!$"
-
-LilycoveCity_ContestLobby_Text_2C42F4: @ 82C42F4
- .string "BLEND MASTER: Hmmm! So, you wish to\n"
- .string "see my mastery in action?$"
-
-LilycoveCity_ContestLobby_Text_2C4332: @ 82C4332
- .string "Hmmm!\p"
- .string "So, you are too busy now, I see!\p"
- .string "But fear not!\n"
- .string "I shall be here all day!\l"
- .string "Hurry back from your errand!$"
-
-LilycoveCity_ContestLobby_Text_2C439D: @ 82C439D
- .string "Hmmm!\p"
- .string "You haven't got a single BERRY!\p"
- .string "I shall be here all day!\n"
- .string "Hurry back with some BERRIES!$"
-
-LilycoveCity_ContestLobby_Text_2C43FA: @ 82C43FA
- .string "Of course!\n"
- .string "Of course!\p"
- .string "Incidentally…\n"
- .string "You do know how to blend {POKEBLOCK}S\l"
- .string "from BERRIES?$"
-
-LilycoveCity_ContestLobby_Text_2C444C: @ 82C444C
- .string "Hmmm!\p"
- .string "Ah, but it is a simple process!\p"
- .string "When the BLENDER's arrow comes to\n"
- .string "your marker, just press the A Button.\p"
- .string "That's all you have to do.\p"
- .string "When you see how precisely I press\n"
- .string "the A Button, you will understand.$"
-
-LilycoveCity_ContestLobby_Text_2C451B: @ 82C451B
- .string "Fine!\p"
- .string "Let's get started, then!\p"
- .string "All together with the BLEND MASTER,\n"
- .string "let's BERRY BLENDER!$"
-
-LilycoveCity_ContestLobby_Text_2C4573: @ 82C4573
- .string "Hmmm!\p"
- .string "You don't appear to have gotten\n"
- .string "the {POKEBLOCK} CASE!\p"
- .string "I shall be here all day!\n"
- .string "Obtain the {POKEBLOCK} CASE and hurry back!$"
-
-LilycoveCity_ContestLobby_Text_2C45E8: @ 82C45E8
- .string "Hmmm!\p"
- .string "Your {POKEBLOCK} CASE appears to be full!\p"
- .string "I shall be here all day!\n"
- .string "Use some {POKEBLOCK}S and hurry back!$"
-
-LilycoveCity_ContestLobby_Text_2C464B: @ 82C464B
- .string "Whoa!\n"
- .string "Awesome!$"
-
-LilycoveCity_ContestLobby_Text_2C465A: @ 82C465A
- .string "Wickedly fast!$"
-
-LilycoveCity_ContestLobby_Text_2C4669: @ 82C4669
- .string "What an expert!$"
-
-LilycoveCity_ContestLobby_Text_2C4679: @ 82C4679
- .string "When I blended with the MASTER,\n"
- .string "we made amazing {POKEBLOCK}S!$"
-
-LilycoveCity_ContestLobby_Text_2C46B1: @ 82C46B1
- .string "Eyes that track the arrow with\n"
- .string "machinelike intensity…\p"
- .string "A hand that taps the A Button\n"
- .string "with clockwork-like precision…\p"
- .string "Possessing these qualities makes\n"
- .string "the BLEND MASTER truly great.$"
-
-LilycoveCity_ContestLobby_Text_2C4763: @ 82C4763
- .string "The BLEND MASTER's supposed to work\n"
- .string "on his skills deep in the mountains.\p"
- .string "Sometimes, he comes to LILYCOVE\n"
- .string "to blend BERRIES all day long.$"
-
-FallarborTown_BattleTentLobby_Text_2C47EB: @ 82C47EB
- .string "I welcome you to the BATTLE TENT\n"
- .string "FALLARBOR SITE!\p"
- .string "I am your guide to the Set KO Tourney!$"
-
-FallarborTown_BattleTentLobby_Text_2C4843: @ 82C4843
- .string "Now, do you wish to take the challenge\n"
- .string "of a Set KO Tourney?$"
-
-FallarborTown_BattleTentLobby_Text_2C487F: @ 82C487F
- .string "We await your challenge on\n"
- .string "another occasion!$"
-
-FallarborTown_BattleTentLobby_Text_2C48AC: @ 82C48AC
- .string "In the FALLARBOR BATTLE TENT,\n"
- .string "we undertake the Set KO Tourney.\p"
- .string "All participants enter with a team of\n"
- .string "three POKéMON.\p"
- .string "The three POKéMON must be lined up\n"
- .string "in the order that they are to appear in.\p"
- .string "During battle, the POKéMON will appear\n"
- .string "one at a time in the preset order.\p"
- .string "Once a POKéMON enters battle, it must\n"
- .string "remain out until the match is decided.\p"
- .string "If a match remains undecided in\n"
- .string "three turns, it goes to judging.\p"
- .string "If you wish to interrupt your challenge,\n"
- .string "please save the game.\p"
- .string "If you don't save, you will not be able\n"
- .string "to continue with your challenge.\p"
- .string "If you pull off the feat of beating\n"
- .string "three TRAINERS in succession,\l"
- .string "we will present you with a fine prize.$"
-
-FallarborTown_BattleTentLobby_Text_2C4B35: @ 82C4B35
- .string "Before showing you to the BATTLE\n"
- .string "TENT, I must save. Is that okay?$"
-
-FallarborTown_BattleTentLobby_Text_2C4B77: @ 82C4B77
- .string "We offer two levels of challenge,\n"
- .string "Level 50 and Open Level.\l"
- .string "Which is your choice?$"
-
-FallarborTown_BattleTentLobby_Text_2C4BC8: @ 82C4BC8
- .string "Very well, now select your\n"
- .string "three POKéMON, please.$"
-
-FallarborTown_BattleTentLobby_Text_2C4BFA: @ 82C4BFA
- .string "My dear challenger!\p"
- .string "You do not have the three POKéMON\n"
- .string "required for entry.\p"
- .string "They also must not hold the same\n"
- .string "kinds of items.\p"
- .string "EGGS{STR_VAR_1} ineligible.\p"
- .string "When you have made your preparations,\n"
- .string "please do return.$"
-
-FallarborTown_BattleTentLobby_Text_2C4CC0: @ 82C4CC0
- .string "My dear challenger!\p"
- .string "You do not have the three POKéMON\n"
- .string "required for entry.\p"
- .string "To qualify, you must bring three\n"
- .string "different kinds of POKéMON.\p"
- .string "They also must not hold the same\n"
- .string "kinds of items.\p"
- .string "EGGS{STR_VAR_1} ineligible.\p"
- .string "When you have made your preparations,\n"
- .string "please do return.$"
-
-FallarborTown_BattleTentLobby_Text_2C4DC3: @ 82C4DC3
- .string "I shall now guide you to\n"
- .string "the BATTLE TENT.$"
-
-FallarborTown_BattleTentLobby_Text_2C4DED: @ 82C4DED
- .string "My dear challenger!\p"
- .string "You did not save the game before\n"
- .string "shutting down, did you?\p"
- .string "It is unfortunate, but that has\n"
- .string "resulted in your disqualification\l"
- .string "from your challenge.\p"
- .string "You may, of course, start with a fresh\n"
- .string "challenge.$"
-
-FallarborTown_BattleTentLobby_Text_2C4EC3: @ 82C4EC3
- .string "How splendid! You have beaten\n"
- .string "three TRAINERS in succession!$"
-
-FallarborTown_BattleTentLobby_Text_2C4EFF: @ 82C4EFF
- .string "Please wait while I save the game.$"
-
-FallarborTown_BattleTentLobby_Text_2C4F22: @ 82C4F22
- .string "In commemoration of your 3-win streak,\n"
- .string "we present you with this prize.$"
-
-FallarborTown_BattleTentLobby_Text_2C4F69: @ 82C4F69
- .string "{PLAYER} received the prize\n"
- .string "{STR_VAR_1}.$"
-
-FallarborTown_BattleTentLobby_Text_2C4F83: @ 82C4F83
- .string "Oh?\n"
- .string "Your BAG seems to be full.\p"
- .string "I urge you to clear space and\n"
- .string "return for your prize.$"
-
-FallarborTown_BattleTentLobby_Text_2C4FD7: @ 82C4FD7
- .string "Thank you so much for participating!\p"
- .string "Please wait while I save the game.$"
-
-FallarborTown_BattleTentLobby_Text_2C501F: @ 82C501F
- .string "We await your challenge on\n"
- .string "another occasion!$"
-
-FallarborTown_BattleTentLobby_Text_2C504C: @ 82C504C
- .string "We have been looking forward to\n"
- .string "your arrival.\p"
- .string "Before I show you to the BATTLE TENT,\n"
- .string "I must save the game. Please wait.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C50C3: @ 82C50C3
- .string "I welcome you to the BATTLE TENT\n"
- .string "VERDANTURF SITE!\p"
- .string "Here, the TRAINER's trust toward\n"
- .string "POKéMON is tested.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C5129: @ 82C5129
- .string "Do you wish to take the VERDANTURF\n"
- .string "BATTLE TENT challenge?$"
-
-VerdanturfTown_BattleTentLobby_Text_2C5163: @ 82C5163
- .string "In the VERDANTURF BATTLE TENT,\n"
- .string "there is one crucial rule that must\l"
- .string "be obeyed.\p"
- .string "TRAINERS are permitted only to switch\n"
- .string "their POKéMON in and out.\p"
- .string "TRAINERS are otherwise forbidden to\n"
- .string "command their POKéMON.\p"
- .string "The POKéMON are to behave according\n"
- .string "to their nature and battle on their own.\p"
- .string "You must put your trust in your\n"
- .string "POKéMON and watch over them.\p"
- .string "If you achieve the honor of beating\n"
- .string "three TRAINERS in succession,\l"
- .string "we will present you with a prize.\p"
- .string "If you want to interrupt your\n"
- .string "challenge, please save the game.\p"
- .string "If you don't save before interrupting,\n"
- .string "you will be disqualified.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C539A: @ 82C539A
- .string "When you have fortified your heart\n"
- .string "and POKéMON, you must return.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C53DB: @ 82C53DB
- .string "There are two levels of difficulty,\n"
- .string "Level 50 and Open Level.\l"
- .string "Which is your choice of a challenge?$"
-
-VerdanturfTown_BattleTentLobby_Text_2C543D: @ 82C543D
- .string "Sigh…\p"
- .string "You do not have the three POKéMON\n"
- .string "required for the challenge.\p"
- .string "To enter, you must provide three\n"
- .string "different kinds of POKéMON.\p"
- .string "They also must not be holding\n"
- .string "the same kinds of items.\p"
- .string "EGGS{STR_VAR_1} ineligible.\p"
- .string "Come back when you have made\n"
- .string "your preparations.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C5538: @ 82C5538
- .string "Sigh…\p"
- .string "You do not have the three POKéMON\n"
- .string "required for the challenge.\p"
- .string "To enter, you must provide three\n"
- .string "different kinds of POKéMON.\p"
- .string "They also must not be holding\n"
- .string "the same kinds of items.\p"
- .string "EGGS{STR_VAR_1} ineligible.\p"
- .string "Come back when you have made\n"
- .string "your preparations.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C5633: @ 82C5633
- .string "Good. Now, you must select your\n"
- .string "three POKéMON.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C5662: @ 82C5662
- .string "I must save before I show you to\n"
- .string "the BATTLE TENT. Is that okay?$"
-
-VerdanturfTown_BattleTentLobby_Text_2C56A2: @ 82C56A2
- .string "Good.\n"
- .string "Now, follow me.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C56B8: @ 82C56B8
- .string "I feel privileged for having seen\n"
- .string "your POKéMON's exploits.\p"
- .string "The results will be recorded.\n"
- .string "I must ask you to briefly wait.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C5731: @ 82C5731
- .string "To achieve a 3-win streak…\p"
- .string "The bonds that bind your heart with\n"
- .string "your POKéMON seem firm and true.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C5791: @ 82C5791
- .string "Your feat will be recorded.\n"
- .string "I must ask you to briefly wait.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C57CD: @ 82C57CD
- .string "For the feat of your 3-win streak,\n"
- .string "we present you with this prize.$"
-
-SlateportCity_BattleTentLobby_Text_2C5810: @ 82C5810
- .string "Welcome to the BATTLE TENT\n"
- .string "SLATEPORT SITE!\p"
- .string "I am your guide to the Battle Swap\n"
- .string "Tournament.$"
-
-SlateportCity_BattleTentLobby_Text_2C586A: @ 82C586A
- .string "Would you like to take the Battle\n"
- .string "Swap challenge?$"
-
-SlateportCity_BattleTentLobby_Text_2C589C: @ 82C589C
- .string "Here at the SLATEPORT BATTLE TENT,\n"
- .string "we hold Battle Swap events\l"
- .string "using rental POKéMON.\p"
- .string "First, you will be loaned three\n"
- .string "POKéMON specifically for this event.\p"
- .string "Using the supplied rental POKéMON,\n"
- .string "you must conduct a SINGLE BATTLE.\p"
- .string "If you win, you are permitted to trade\n"
- .string "one of your rental POKéMON.\p"
- .string "Repeat this cycle of battling and\n"
- .string "trading--if you win three times in\l"
- .string "a row, you will earn a fine prize.\p"
- .string "If you want to interrupt your\n"
- .string "challenge, please save the game.\p"
- .string "If you don't save before interrupting,\n"
- .string "you will be disqualified.$"
-
-SlateportCity_BattleTentLobby_Text_2C5AA5: @ 82C5AA5
- .string "We look forward to your next visit.$"
-
-SlateportCity_BattleTentLobby_Text_2C5AC9: @ 82C5AC9
- .string "Which level do you wish to challenge?\n"
- .string "Level 50 or Level 100?$"
-
-SlateportCity_BattleTentLobby_Text_2C5B06: @ 82C5B06
- .string "Before you begin your challenge,\n"
- .string "I need to save data. Is that okay?$"
-
-SlateportCity_BattleTentLobby_Text_2C5B4A: @ 82C5B4A
- .string "Okay, I will hold your POKéMON for\n"
- .string "safekeeping while you compete.$"
-
-SlateportCity_BattleTentLobby_Text_2C5B8C: @ 82C5B8C
- .string "Please step this way.$"
-
-SlateportCity_BattleTentLobby_Text_2C5BA2: @ 82C5BA2
- .string "Thank you for participating!\p"
- .string "I will return your POKéMON in exchange\n"
- .string "for our rental POKéMON.\p"
- .string "I must also save your event results.\n"
- .string "Please wait.$"
-
-SlateportCity_BattleTentLobby_Text_2C5C30: @ 82C5C30
- .string "I will return your POKéMON in exchange\n"
- .string "for our rental POKéMON.$"
-
-SlateportCity_BattleTentLobby_Text_2C5C6F: @ 82C5C6F
- .string "Congratulations!\n"
- .string "You've won three straight matches!\p"
- .string "I will return your POKéMON in exchange\n"
- .string "for our rental POKéMON.\p"
- .string "I must also save your event results.\n"
- .string "Please wait.$"
-
-SlateportCity_BattleTentLobby_Text_2C5D14: @ 82C5D14
- .string "In recognition of your 3-win streak,\n"
- .string "we award you this prize.$"
-
-SlateportCity_BattleTentLobby_Text_2C5D52: @ 82C5D52
- .string "Oh?\n"
- .string "You seem to have no room for this.\p"
- .string "Please make room in your BAG and\n"
- .string "let me know.$"
-
-SlateportCity_BattleTentLobby_Text_2C5DA7: @ 82C5DA7
- .string "We've been waiting for you!\p"
- .string "Before we resume your challenge,\n"
- .string "I must save the game.$"
-
-SlateportCity_BattleTentLobby_Text_2C5DFA: @ 82C5DFA
- .string "I'm sorry to say this, but you didn't\n"
- .string "save before you quit playing last time.\p"
- .string "As a result, you have been disqualified\n"
- .string "from your challenge.$"
-
-SlateportCity_BattleTentLobby_Text_2C5E85: @ 82C5E85
- .string "We'll return your personal POKéMON.$"
-
-SlateportCity_BattleTentLobby_Text_2C5EA9: @ 82C5EA9
- .string "{PLAYER} received the prize\n"
- .string "{STR_VAR_1}.$"
-
-SlateportCity_BattleTentLobby_Text_2C5EC3: @ 82C5EC3
- .string "The Battle Swap rules are listed.$"
-
-SlateportCity_BattleTentLobby_Text_2C5EE5: @ 82C5EE5
- .string "Which heading do you want to read?$"
-
-SlateportCity_BattleTentLobby_Text_2C5F08: @ 82C5F08
- .string "In a Battle Swap event, you may use\n"
- .string "only three POKéMON.\p"
- .string "Whether you are renting or swapping,\n"
- .string "your team may not have two or more\l"
- .string "of the same POKéMON.$"
-
-SlateportCity_BattleTentLobby_Text_2C5F9D: @ 82C5F9D
- .string "You may swap POKéMON only with\n"
- .string "the TRAINER you have just defeated.\p"
- .string "You may swap for only those POKéMON\n"
- .string "used by the beaten TRAINER.$"
-
-SlateportCity_BattleTentLobby_Text_2C6020: @ 82C6020
- .string "After every battle you win, you may\n"
- .string "swap for one of your defeated\l"
- .string "opponent's POKéMON.\p"
- .string "You will not be able to swap POKéMON\n"
- .string "with the third TRAINER in the event.$"
-
-SlateportCity_BattleTentLobby_Text_2C60C0: @ 82C60C0
- .string "There are two key points to be aware\n"
- .string "of when swapping POKéMON.\p"
- .string "First, when swapping, you can't check\n"
- .string "the stats of the POKéMON you are\l"
- .string "about to receive.\p"
- .string "Second, the POKéMON on your team\n"
- .string "are lined up in sequence, depending on\l"
- .string "the order in which you rented them.\p"
- .string "This sequence remains unchanged\n"
- .string "even when swaps are made.$"
-
-SlateportCity_BattleTentLobby_Text_2C61FE: @ 82C61FE
- .string "The POKéMON of the SLATEPORT\n"
- .string "BATTLE TENT are all rentals.\p"
- .string "All rental POKéMON are kept at\n"
- .string "Level 30.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C6261: @ 82C6261
- .string "The VERDANTURF BATTLE TENT\n"
- .string "rules are listed.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C628E: @ 82C628E
- .string "Which heading do you want to read?$"
-
-VerdanturfTown_BattleTentLobby_Text_2C62B1: @ 82C62B1
- .string "Here at the VERDANTURF BATTLE TENT,\n"
- .string "POKéMON are required to think and\l"
- .string "battle by themselves.\p"
- .string "Unlike in the wild, POKéMON that live\n"
- .string "with people behave differently\l"
- .string "depending on their nature.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C636D: @ 82C636D
- .string "Depending on its nature, a POKéMON\n"
- .string "may prefer to attack no matter what.\p"
- .string "Another POKéMON may prefer to protect\n"
- .string "itself from any harm.\p"
- .string "Yet another may enjoy vexing or\n"
- .string "confounding its foes.\p"
- .string "Depending on its nature, a POKéMON\n"
- .string "will have favorite moves that it is good\l"
- .string "at using.\p"
- .string "It may also dislike certain moves that\n"
- .string "it has trouble using.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C64BA: @ 82C64BA
- .string "There are offensive moves that inflict\n"
- .string "direct damage on the foe.\p"
- .string "There are defensive moves that are\n"
- .string "used to prepare for enemy attacks or\l"
- .string "used to heal HP and so on.\p"
- .string "There are also other somewhat-odd\n"
- .string "moves that may enfeeble the foes with\l"
- .string "stat problems including poison and \l"
- .string "paralysis.\p"
- .string "POKéMON will consider using moves in\n"
- .string "these three categories.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C6612: @ 82C6612
- .string "When not under command by its TRAINER,\n"
- .string "a POKéMON may be unable to effectively\l"
- .string "use certain moves.\p"
- .string "A POKéMON is not good at using any\n"
- .string "move that it dislikes.\p"
- .string "If a POKéMON only knows moves that\n"
- .string "do not match its nature, it will often\l"
- .string "be unable to live up to its potential.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C671E: @ 82C671E
- .string "Depending on its nature, a POKéMON may\n"
- .string "start using moves that don't match its\l"
- .string "nature when it is in trouble.\p"
- .string "If a POKéMON begins behaving oddly\n"
- .string "in a pinch, watch it carefully.$"
-
-FallarborTown_BattleTentLobby_Text_2C67CD: @ 82C67CD
-VerdanturfTown_BattleTentLobby_Text_2C67CD: @ 82C67CD
- .string "At this BATTLE TENT, the levels of\n"
- .string "your opponents will be adjusted to\l"
- .string "match the levels of your POKéMON.\p"
- .string "However, no TRAINER you face will\n"
- .string "have any POKéMON below Level 30.$"
-
-VerdanturfTown_BattleTentLobby_Text_2C6878: @ 82C6878
- .string "The VERDANTURF BATTLE TENT\n"
- .string "rules are listed.$"
-
-LilycoveCity_Harbor_Text_2C68A5: @ 82C68A5
- .string "What's up, youngster?\p"
- .string "What, it's you who's supposed to have\n"
- .string "a tattered old map?\p"
- .string "Let's have a look.\n"
- .string "… … … … … …\p"
- .string "Boy, this is quite a ways away.\n"
- .string "I'm afraid I can't help you…$"
-
-LilycoveCity_Harbor_Text_2C6951: @ 82C6951
- .string "BRINEY: Hold on a second!\p"
- .string "What's the idea of turning down\n"
- .string "someone that I owe so much to?$"
-
-LilycoveCity_Harbor_Text_2C69AA: @ 82C69AA
- .string "{PLAYER}{KUN}, I'm terribly sorry.\p"
- .string "You came to me seeking my help,\n"
- .string "and we almost turned you away.\p"
- .string "Well, let me make things right.\p"
- .string "We'll sail right away, of course!\p"
- .string "Let's find this island on\n"
- .string "this OLD SEA MAP!$"
-
-LilycoveCity_Harbor_Text_2C6A71: @ 82C6A71
- .string "Is it you who brought that odd\n"
- .string "ticket?\p"
- .string "Where you're trying to go is an island\n"
- .string "that's far, far away.\p"
- .string "No one knows what awaits there…\p"
- .string "The very thought excites my blood\n"
- .string "as a sailing man!\p"
- .string "Get on board, youngster!$"
-
-FarawayIsland_Entrance_Text_2C6B42: @ 82C6B42
- .string "CAPT. BRINEY can be so maddeningly\n"
- .string "fickle…\p"
- .string "Do you want to return to LILYCOVE?$"
-
-BirthIsland_Harbor_Text_2C6B90: @ 82C6B90
- .string "What an oddly shaped island, eh?\n"
- .string "Do you want to return to LILYCOVE?$"
-
-LilycoveCity_Harbor_Text_2C6BD4: @ 82C6BD4
- .string "Is it you who brought those\n"
- .string "odd tickets?\p"
- .string "… … …Hm.\p"
- .string "These tickets will get you to islands\n"
- .string "that are far, far away.\p"
- .string "No one knows what awaits there,\n"
- .string "or what may happen there.\p"
- .string "The very thought excites my blood\n"
- .string "as a sailing man!\p"
- .string "Get on board, youngster!\n"
- .string "Where shall we sail first?$"
-
-NavelRock_Harbor_Text_2C6CE6: @ 82C6CE6
- .string "Did… Did you hear that?\n"
- .string "That low growling from deep in there.\p"
- .string "Are you sure it's safe?\n"
- .string "Do you think we should leave?$"
-
-FarawayIsland_Entrance_Text_2C6D5A: @ 82C6D5A
- .string "The writing is fading as if it was\n"
- .string "written a long time ago…\p"
- .string "“…ber, 6th day\n"
- .string "If any human…sets foot here…\l"
- .string "again…et it be a kindhearted pers…\l"
- .string "…ith that hope, I depar…”$"
-
-FarawayIsland_Interior_Text_2C6DFF: @ 82C6DFF
- .string "Myuu…$"
-
-MauvilleCity_Text_2C6E05: @ 82C6E05
- .string "This move can be learned only\n"
- .string "once. Is that okay?$"
-
-SlateportCity_PokemonFanClub_Text_2C6E37: @ 82C6E37
- .string "Heh! My POKéMON totally rules!\n"
- .string "It's cooler than any POKéMON!\p"
- .string "I was lipping off with a swagger in\n"
- .string "my step like that when the CHAIRMAN\l"
- .string "chewed me out.\p"
- .string "That took the swagger out of my step.\p"
- .string "If you'd like, I'll teach the move\n"
- .string "SWAGGER to a POKéMON of yours.$"
-
-SlateportCity_PokemonFanClub_Text_2C6F33: @ 82C6F33
- .string "What, no? Can't you get into\n"
- .string "the spirit of things?$"
-
-SlateportCity_PokemonFanClub_Text_2C6F66: @ 82C6F66
- .string "All right, which POKéMON wants to\n"
- .string "learn how to SWAGGER?$"
-
-SlateportCity_PokemonFanClub_Text_2C6F9E: @ 82C6F9E
- .string "I'll just praise my POKéMON from now\n"
- .string "on without the swagger.$"
-
-MauvilleCity_Text_2C6FDB: @ 82C6FDB
- .string "Did you know that you can go from\n"
- .string "here a long way in that direction\l"
- .string "without changing direction?\p"
- .string "I might even be able to roll\n"
- .string "that way.\p"
- .string "Do you think your POKéMON will\n"
- .string "want to roll, too?\p"
- .string "I can teach one the move ROLLOUT\n"
- .string "if you'd like.$"
-
-MauvilleCity_Text_2C70C4: @ 82C70C4
- .string "You don't need to be shy about it.\n"
- .string "Let's roll!$"
-
-MauvilleCity_Text_2C70F3: @ 82C70F3
- .string "Ehehe, sure thing! It'd be great if\n"
- .string "the POKéMON looked like me.$"
-
-MauvilleCity_Text_2C7133: @ 82C7133
- .string "Rolling around in the grass makes me\n"
- .string "happy. Come on, let's roll!$"
-
-VerdanturfTown_PokemonCenter_1F_Text_2C7174: @ 82C7174
- .string "There's a move that gets stronger\n"
- .string "when you keep using it in a row.\p"
- .string "It's a BUG-type move, and it is\n"
- .string "wickedly cool.\p"
- .string "It's called FURY CUTTER.\n"
- .string "Want me to teach it to a POKéMON?$"
-
-VerdanturfTown_PokemonCenter_1F_Text_2C7221: @ 82C7221
- .string "We're not on the same wavelength.$"
-
-VerdanturfTown_PokemonCenter_1F_Text_2C7243: @ 82C7243
- .string "Yay!\n"
- .string "Show me which POKéMON I should teach.$"
-
-VerdanturfTown_PokemonCenter_1F_Text_2C726E: @ 82C726E
- .string "I get a thrill watching to see if\n"
- .string "the move keeps hitting in succession!$"
-
-LavaridgeTown_House_Text_2C72B6: @ 82C72B6
- .string "Ah, young one!\p"
- .string "I am also a young one, but I mimic\n"
- .string "the styles and speech of the elderly\l"
- .string "folks of this town.\p"
- .string "What do you say, young one?\n"
- .string "Would you agree to it if I were to\l"
- .string "offer to teach the move MIMIC?$"
-
-LavaridgeTown_House_Text_2C737F: @ 82C737F
- .string "Oh, boo! I wanted to teach MIMIC\n"
- .string "to your POKéMON!$"
-
-LavaridgeTown_House_Text_2C73B1: @ 82C73B1
- .string "Fwofwo! And so I shall!\n"
- .string "Let me see the POKéMON\l"
- .string "you wish me to teach.$"
-
-LavaridgeTown_House_Text_2C73F6: @ 82C73F6
- .string "MIMIC is a move of great depth.\p"
- .string "Could you execute it to perfection\n"
- .string "as well as me…?$"
-
-FallarborTown_Mart_Text_2C7449: @ 82C7449
- .string "I want all sorts of things!\n"
- .string "But I used up my allowance…\p"
- .string "Wouldn't it be nice if there were\n"
- .string "a spell that made money appear when\l"
- .string "you waggle a finger?\p"
- .string "If you want, I can teach your POKéMON\n"
- .string "the move METRONOME.\p"
- .string "Money won't appear, but your POKéMON\n"
- .string "will waggle a finger. Yes?$"
-
-FallarborTown_Mart_Text_2C7556: @ 82C7556
- .string "Okay. I'll be here if you change\n"
- .string "your mind.$"
-
-FallarborTown_Mart_Text_2C7582: @ 82C7582
- .string "Okay! I'll teach it!\n"
- .string "Which POKéMON should I teach?$"
-
-FallarborTown_Mart_Text_2C75B5: @ 82C75B5
- .string "When a POKéMON waggles its finger\n"
- .string "like a METRONOME, all sorts of nice\l"
- .string "things happen.\p"
- .string "Wouldn't it be nice if we could\n"
- .string "use it, too?$"
-
-FortreeCity_House2_Text_2C7637: @ 82C7637
- .string "Humph! My wife relies on HIDDEN\n"
- .string "POWER to stay awake.\p"
- .string "She should just take a nap like I do,\n"
- .string "and SLEEP TALK.\p"
- .string "I can teach your POKéMON how to\n"
- .string "SLEEP TALK instead. Interested?$"
-
-FortreeCity_House2_Text_2C76E2: @ 82C76E2
- .string "Oh, fine, fine. You want to stay awake\n"
- .string "with HIDDEN POWER, too…$"
-
-FortreeCity_House2_Text_2C7721: @ 82C7721
- .string "Ah, an appreciative child!\n"
- .string "Which POKéMON should I teach?$"
-
-FortreeCity_House2_Text_2C775A: @ 82C775A
- .string "I've never once gotten my wife's\n"
- .string "coin trick right.\p"
- .string "I would be happy if I got it right\n"
- .string "even as I SLEEP TALK…$"
-
-LilycoveCity_DepartmentStoreRooftop_Text_2C77C6: @ 82C77C6
- .string "When I see the wide world from up\n"
- .string "here on the roof…\p"
- .string "I think about how nice it would be\n"
- .string "if there were more than just one me\l"
- .string "so I could enjoy all sorts of lives.\p"
- .string "Of course it's not possible.\n"
- .string "Giggle…\p"
- .string "I know! Would you be interested in\n"
- .string "having a POKéMON learn SUBSTITUTE?$"
-
-LilycoveCity_DepartmentStoreRooftop_Text_2C78D1: @ 82C78D1
- .string "Oh, no?\p"
- .string "A POKéMON can make a copy of\n"
- .string "itself using it, you know.$"
-
-LilycoveCity_DepartmentStoreRooftop_Text_2C7911: @ 82C7911
- .string "Giggle…\n"
- .string "Which POKéMON do you want me to\l"
- .string "teach SUBSTITUTE?$"
-
-LilycoveCity_DepartmentStoreRooftop_Text_2C794B: @ 82C794B
- .string "We human beings should enjoy our\n"
- .string "own lives to the utmost!\p"
- .string "I hope you'll get that way, too!$"
-
-MossdeepCity_Text_2C79A6: @ 82C79A6
- .string "I can't do this anymore!\p"
- .string "It's utterly hopeless!\p"
- .string "I'm a FIGHTING-type TRAINER,\n"
- .string "so I can't win at the MOSSDEEP GYM\l"
- .string "no matter how hard I try!\p"
- .string "Argh! Punch! Punch! Punch!\n"
- .string "Punch! Punch! Punch!\p"
- .string "What, don't look at me that way!\n"
- .string "I'm only hitting the ground!\p"
- .string "Or do you want me to teach your\n"
- .string "POKéMON DYNAMICPUNCH?$"
-
-MossdeepCity_Text_2C7AD4: @ 82C7AD4
- .string "Darn! You're even making fun of me?\n"
- .string "Punch! Punch! Punch!$"
-
-MossdeepCity_Text_2C7B0D: @ 82C7B0D
- .string "What? You do? You're a good person!\n"
- .string "Which POKéMON should I teach?$"
-
-MossdeepCity_Text_2C7B4F: @ 82C7B4F
- .string "I want you to win at the MOSSDEEP GYM\n"
- .string "using that DYNAMICPUNCH!$"
-
-SootopolisCity_PokemonCenter_1F_Text_2C7B8E: @ 82C7B8E
- .string "Sigh…\p"
- .string "SOOTOPOLIS's GYM LEADER is really\n"
- .string "lovably admirable.\p"
- .string "But that also means I have many\n"
- .string "rivals for his attention.\p"
- .string "He's got appeal with a DOUBLE-EDGE.\n"
- .string "I couldn't even catch his eye.\p"
- .string "Please, let me teach your POKéMON\n"
- .string "the move DOUBLE-EDGE!$"
-
-SootopolisCity_PokemonCenter_1F_Text_2C7C7E: @ 82C7C7E
- .string "Oh…\n"
- .string "Even you rejected me…$"
-
-SootopolisCity_PokemonCenter_1F_Text_2C7C98: @ 82C7C98
- .string "Okay, which POKéMON should I teach\n"
- .string "DOUBLE-EDGE?$"
-
-SootopolisCity_PokemonCenter_1F_Text_2C7CC8: @ 82C7CC8
- .string "I won't live for love anymore!\n"
- .string "I'll become tough!$"
-
-PacifidlogTown_PokemonCenter_1F_Text_2C7CFA: @ 82C7CFA
- .string "I don't intend to be going nowhere\n"
- .string "fast in the sticks like this forever.\p"
- .string "You watch me, I'll get out to the city\n"
- .string "and become a huge hit.\p"
- .string "Seriously, I'm going to cause\n"
- .string "a huge EXPLOSION of popularity!\p"
- .string "If you overheard that, I'll happily\n"
- .string "teach EXPLOSION to your POKéMON!$"
-
-PacifidlogTown_PokemonCenter_1F_Text_2C7E04: @ 82C7E04
- .string "Gaah! You're turning me down because\n"
- .string "I live in the country?$"
-
-PacifidlogTown_PokemonCenter_1F_Text_2C7E40: @ 82C7E40
- .string "Fine! An EXPLOSION it is!\n"
- .string "Which POKéMON wants to blow up?$"
-
-PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A
- .string "For a long time, I've taught POKéMON\n"
- .string "how to use EXPLOSION, but I've yet\l"
- .string "to ignite my own EXPLOSION…\p"
- .string "Maybe it's because deep down,\n"
- .string "I would rather stay here…$"
-
-SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, SlateportCity_PokemonFanClub_EventScript_2C7F74
- msgbox SlateportCity_PokemonFanClub_Text_2C6E37, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
- call SlateportCity_PokemonFanClub_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
- msgbox SlateportCity_PokemonFanClub_Text_2C6F66, MSGBOX_DEFAULT
- setvar VAR_0x8005, 23
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
- setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER
- goto SlateportCity_PokemonFanClub_EventScript_2C7F74
- end
-
-SlateportCity_PokemonFanClub_EventScript_2C7F6A:: @ 82C7F6A
- msgbox SlateportCity_PokemonFanClub_Text_2C6F33, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74
- msgbox SlateportCity_PokemonFanClub_Text_2C6F9E, MSGBOX_DEFAULT
- release
- end
-
-MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MauvilleCity_EventScript_2C7FDC
- msgbox MauvilleCity_Text_2C6FDB, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_EventScript_2C7FD2
- call MauvilleCity_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_EventScript_2C7FD2
- msgbox MauvilleCity_Text_2C70F3, MSGBOX_DEFAULT
- setvar VAR_0x8005, 16
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_EventScript_2C7FD2
- setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT
- goto MauvilleCity_EventScript_2C7FDC
- end
-
-MauvilleCity_EventScript_2C7FD2:: @ 82C7FD2
- msgbox MauvilleCity_Text_2C70C4, MSGBOX_DEFAULT
- release
- end
-
-MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC
- msgbox MauvilleCity_Text_2C7133, MSGBOX_DEFAULT
- release
- end
-
-VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
- call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, MSGBOX_DEFAULT
- setvar VAR_0x8005, 29
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
- setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER
- goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
- end
-
-VerdanturfTown_PokemonCenter_1F_EventScript_2C803A:: @ 82C803A
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7221, MSGBOX_DEFAULT
- release
- end
-
-VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C726E, MSGBOX_DEFAULT
- release
- end
-
-LavaridgeTown_House_EventScript_2C804E:: @ 82C804E
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, LavaridgeTown_House_EventScript_2C80AC
- msgbox LavaridgeTown_House_Text_2C72B6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LavaridgeTown_House_EventScript_2C80A2
- call LavaridgeTown_House_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq LavaridgeTown_House_EventScript_2C80A2
- msgbox LavaridgeTown_House_Text_2C73B1, MSGBOX_DEFAULT
- setvar VAR_0x8005, 7
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq LavaridgeTown_House_EventScript_2C80A2
- setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC
- goto LavaridgeTown_House_EventScript_2C80AC
- end
-
-LavaridgeTown_House_EventScript_2C80A2:: @ 82C80A2
- msgbox LavaridgeTown_House_Text_2C737F, MSGBOX_DEFAULT
- release
- end
-
-LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC
- msgbox LavaridgeTown_House_Text_2C73F6, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, FallarborTown_Mart_EventScript_2C8114
- msgbox FallarborTown_Mart_Text_2C7449, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq FallarborTown_Mart_EventScript_2C810A
- call FallarborTown_Mart_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq FallarborTown_Mart_EventScript_2C810A
- msgbox FallarborTown_Mart_Text_2C7582, MSGBOX_DEFAULT
- setvar VAR_0x8005, 8
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq FallarborTown_Mart_EventScript_2C810A
- setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME
- goto FallarborTown_Mart_EventScript_2C8114
- end
-
-FallarborTown_Mart_EventScript_2C810A:: @ 82C810A
- msgbox FallarborTown_Mart_Text_2C7556, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_Mart_EventScript_2C8114:: @ 82C8114
- msgbox FallarborTown_Mart_Text_2C75B5, MSGBOX_DEFAULT
- release
- end
-
-FortreeCity_House2_EventScript_2C811E:: @ 82C811E
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, FortreeCity_House2_EventScript_2C817C
- msgbox FortreeCity_House2_Text_2C7637, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq FortreeCity_House2_EventScript_2C8172
- call FortreeCity_House2_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq FortreeCity_House2_EventScript_2C8172
- msgbox FortreeCity_House2_Text_2C7721, MSGBOX_DEFAULT
- setvar VAR_0x8005, 24
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq FortreeCity_House2_EventScript_2C8172
- setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK
- goto FortreeCity_House2_EventScript_2C817C
- end
-
-FortreeCity_House2_EventScript_2C8172:: @ 82C8172
- msgbox FortreeCity_House2_Text_2C76E2, MSGBOX_DEFAULT
- release
- end
-
-FortreeCity_House2_EventScript_2C817C:: @ 82C817C
- msgbox FortreeCity_House2_Text_2C775A, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
- call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, MSGBOX_DEFAULT
- setvar VAR_0x8005, 14
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
- setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
- end
-
-LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA:: @ 82C81DA
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C78D1, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C794B, MSGBOX_DEFAULT
- release
- end
-
-MossdeepCity_EventScript_2C81EE:: @ 82C81EE
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MossdeepCity_EventScript_2C824C
- msgbox MossdeepCity_Text_2C79A6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_EventScript_2C8242
- call MossdeepCity_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_EventScript_2C8242
- msgbox MossdeepCity_Text_2C7B0D, MSGBOX_DEFAULT
- setvar VAR_0x8005, 15
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_EventScript_2C8242
- setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH
- goto MossdeepCity_EventScript_2C824C
- end
-
-MossdeepCity_EventScript_2C8242:: @ 82C8242
- msgbox MossdeepCity_Text_2C7AD4, MSGBOX_DEFAULT
- release
- end
-
-MossdeepCity_EventScript_2C824C:: @ 82C824C
- msgbox MossdeepCity_Text_2C7B4F, MSGBOX_DEFAULT
- release
- end
-
-SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
- call SootopolisCity_PokemonCenter_1F_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, MSGBOX_DEFAULT
- setvar VAR_0x8005, 4
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
- setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE
- goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
- end
-
-SootopolisCity_PokemonCenter_1F_EventScript_2C82AA:: @ 82C82AA
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C7E, MSGBOX_DEFAULT
- release
- end
-
-SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7CC8, MSGBOX_DEFAULT
- release
- end
-
-PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE
- lock
- faceplayer
- goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
- call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D
- compare VAR_RESULT, 0
- goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, MSGBOX_DEFAULT
- setvar VAR_0x8005, 12
- call EventScript_ShowPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
- setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION
- goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
- end
-
-PacifidlogTown_PokemonCenter_1F_EventScript_2C8312:: @ 82C8312
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E04, MSGBOX_DEFAULT
- release
- end
-
-PacifidlogTown_PokemonCenter_1F_EventScript_2C831C:: @ 82C831C
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E7A, MSGBOX_DEFAULT
- release
- end
-
-EventScript_ShowPartyMenu:: @ 82C8326
- special sub_81B892C
- waitstate
- lock
- faceplayer
- return
-
-FallarborTown_Mart_EventScript_2C832D:: @ 82C832D
-FortreeCity_House2_EventScript_2C832D:: @ 82C832D
-LavaridgeTown_House_EventScript_2C832D:: @ 82C832D
-LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D:: @ 82C832D
-MauvilleCity_EventScript_2C832D:: @ 82C832D
-MossdeepCity_EventScript_2C832D:: @ 82C832D
-PacifidlogTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
-SlateportCity_PokemonFanClub_EventScript_2C832D:: @ 82C832D
-SootopolisCity_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
-VerdanturfTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
- msgbox MauvilleCity_Text_2C6E05, MSGBOX_YESNO
- return
-
-TrainerHill_1F_MapScript1_2C8336: @ 82C8336
-TrainerHill_2F_MapScript1_2C8336: @ 82C8336
-TrainerHill_3F_MapScript1_2C8336: @ 82C8336
-TrainerHill_4F_MapScript1_2C8336: @ 82C8336
-TrainerHill_Roof_MapScript1_2C8336: @ 82C8336
- setvar VAR_TEMP_2, 0
- setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER
- special CallTrainerHillFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 5
- special CallFrontierUtilFunc
- compare VAR_RESULT, B_OUTCOME_LOST
- goto_if_eq TrainerHill_1F_EventScript_2C83C9
- compare VAR_RESULT, B_OUTCOME_DREW
- goto_if_eq TrainerHill_1F_EventScript_2C83C9
- compare VAR_RESULT, B_OUTCOME_FORFEITED
- goto_if_eq TrainerHill_1F_EventScript_2C83C9
- end
-
-TrainerHill_1F_MapScript2_2C8372: @ 82C8372
-TrainerHill_2F_MapScript2_2C8372: @ 82C8372
- map_script_2 VAR_TEMP_3, 0, TrainerHill_1F_EventScript_2C837C
- .2byte 0
-
-TrainerHill_1F_EventScript_2C837C:: @ 82C837C
- setvar VAR_TEMP_3, 1
-@ forced stop
-
-TrainerHill_1F_MapScript2_2C8381: @ 82C8381
-TrainerHill_2F_MapScript2_2C8381: @ 82C8381
-TrainerHill_3F_MapScript2_2C8381: @ 82C8381
-TrainerHill_4F_MapScript2_2C8381: @ 82C8381
-TrainerHill_Roof_MapScript2_2C8381: @ 82C8381
- map_script_2 VAR_TEMP_2, 0, TrainerHill_1F_EventScript_2C83A6
- map_script_2 VAR_TEMP_1, 1, TrainerHill_1F_EventScript_2C83DF
- .2byte 0
-
-EventScript_TrainerHillTimer:: @ 82C8393
- lockall
- setvar VAR_0x8004, TRAINER_HILL_FUNC_7
- special CallTrainerHillFunction
- msgbox TrainerHill_Entrance_Text_268D47, MSGBOX_DEFAULT
- releaseall
- end
-
-TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6
- setvar VAR_TEMP_2, 1
- setvar VAR_0x8004, TRAINER_HILL_FUNC_9
- special CallTrainerHillFunction
- compare VAR_RESULT, 1
- goto_if_eq TrainerHill_1F_EventScript_2C83BF
- end
-
-TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF
- warpsilent MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6
- waitstate
- end
-
-TrainerHill_1F_EventScript_2C83C9:: @ 82C83C9
- setvar VAR_0x8004, TRAINER_HILL_FUNC_12
- special CallTrainerHillFunction
- setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_LOST
- special CallTrainerHillFunction
- setvar VAR_TEMP_1, 1
- end
-
-TrainerHill_1F_EventScript_2C83DF:: @ 82C83DF
-TrainerHill_Entrance_EventScript_2C83DF:: @ 82C83DF
- setvar VAR_TEMP_1, 0
- warp MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6
- waitstate
- end
-
-TrainerHill_1F_Movement_2C83EE:: @ 82C83EE
- set_invisible
- step_end
-
-EventScript_2C83F0:: @ 82C83F0
- trainerbattle TRAINER_BATTLE_12, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText
- setvar VAR_0x8004, TRAINER_HILL_FUNC_11
- special CallTrainerHillFunction
- waitmessage
- waitbuttonpress
- closemessage
- end
-
-Text_ThisIsATestSignpostMsg:: @ 82C840A
- .string "This is a test message.\n"
- .string "This is a signpost.$"
-
-EventScript_TestSignpostMsg:: @ 82C8436
- msgbox Text_ThisIsATestSignpostMsg, MSGBOX_SIGN
- end
-
-gText_082C843F:: @ 82C843F
- .string "It's very disappointing…$"
-
-gText_082C8458:: @ 82C8458
- .string "Okay, I understand…$"
-
-gText_082C846C:: @ 82C846C
- .string "I'm terribly sorry…$"
-
-gText_082C8480:: @ 82C8480
- .string "Thank you…$"
-
-gText_082C848B:: @ 82C848B
- .string "Ahahaha! Aren't you embarrassed?\n"
- .string "Everyone's watching!$"
-
-gText_082C84C1:: @ 82C84C1
- .string "Grr…\n"
- .string "What the…$"
-
-gText_082C84D0:: @ 82C84D0
- .string "My DOME ACE title isn't just for show!$"
-
-gText_082C84F7:: @ 82C84F7
- .string "Ahahaha!\n"
- .string "You're inspiring!$"
-
-gText_082C8512:: @ 82C8512
- .string "Way to work!\n"
- .string "That was a good lesson, eh?$"
-
-gText_082C853B:: @ 82C853B
- .string "Good job!\n"
- .string "You know what you're doing!$"
-
-gText_082C8561:: @ 82C8561
- .string "Hey, hey, hey!\n"
- .string "You're finished already?$"
-
-gText_082C8589:: @ 82C8589
- .string "What happened here?$"
-
-gText_082C859D:: @ 82C859D
- .string "Humph…$"
-
-gText_082C85A4:: @ 82C85A4
- .string "Urk…$"
-
-gText_082C85A9:: @ 82C85A9
- .string "Hah!$"
-
-gText_082C85AE:: @ 82C85AE
- .string "Darn!$"
-
-gText_082C85B4:: @ 82C85B4
- .string "Oh, come on!\n"
- .string "You have to try harder than that!$"
-
-gText_082C85E3:: @ 82C85E3
- .string "No way!\n"
- .string "Good job!$"
-
-gText_082C85F5:: @ 82C85F5
- .string "Heheh!\n"
- .string "What did you expect?$"
-
-gText_082C8611:: @ 82C8611
- .string "Huh?\n"
- .string "Are you serious?!$"
-
-gText_082C8628:: @ 82C8628
- .string "Your POKéMON are wimpy because\n"
- .string "you're wimpy as a TRAINER!$"
-
-gText_082C8662:: @ 82C8662
- .string "Ah…\n"
- .string "Now this is something else…$"
-
-gText_082C8682:: @ 82C8682
- .string "Gwahahaha!\n"
- .string "My brethren, we have nothing to fear!$"
-
-gText_082C86B3:: @ 82C86B3
- .string "Gwah!\n"
- .string "Hahahaha!$"
-
-gText_082C86C3:: @ 82C86C3
- .string "Hey! What's wrong with you!\n"
- .string "Let's see some effort! Get up!$"
-
-gText_082C86FE:: @ 82C86FE
- .string "That's it! You've done great!\n"
- .string "You've worked hard for this!$"
-
-gText_082C8739:: @ 82C8739
- .string "Hey! Don't you give up now!\n"
- .string "Get up! Don't lose faith in yourself!$"
-
-gText_082C877B:: @ 82C877B
- .string "That's it! You've done it!\n"
- .string "You kept working for this!$"
-
- .align 2
+ .include "data/text/apprentice.inc"
+ .include "data/text/battle_dome.inc"
+ .include "data/scripts/battle_pike.inc"
+ .include "data/text/blend_master.inc"
+ .include "data/text/battle_tent.inc"
+ .include "data/text/event_ticket_2.inc"
+ .include "data/text/move_tutors.inc"
+ .include "data/scripts/move_tutors.inc"
+ .include "data/scripts/trainer_hill.inc"
+ .include "data/scripts/test_signpost.inc"
+ .include "data/text/frontier_brain.inc"
.include "data/text/save.inc"
.include "data/text/birch_speech.inc"
diff --git a/data/contest_painting_effects.s b/data/image_processing_effects.s
index d14b51a51..b319b4023 100644
--- a/data/contest_painting_effects.s
+++ b/data/image_processing_effects.s
@@ -4,7 +4,7 @@
.section .rodata
.align 2, 0
-gUnknown_085A1F94:: @ 85A1F94
+gPointillismPoints:: @ 85A1F94
.byte 0x00, 0x1d, 0x1c, 0x0e, 0x1e, 0x1b, 0x00, 0x01, 0x32, 0x2e, 0x1e, 0x37, 0x0a, 0x22, 0x1f, 0x05, 0x26, 0x2e, 0x12, 0x17, 0x1e, 0x1a, 0x03, 0x11, 0x05, 0x11, 0x18, 0x05, 0x27, 0x2f, 0x1a, 0x3f
.byte 0x12, 0x22, 0x3f, 0x16, 0x2b, 0x2f, 0x2e, 0x11, 0x02, 0x2d, 0x23, 0x0d, 0x28, 0x17, 0x0c, 0x19, 0x2f, 0x0e, 0x13, 0x30, 0x18, 0x20, 0x2d, 0x28, 0x22, 0x01, 0x03, 0x19, 0x0e, 0x2a, 0x2b, 0x22
.byte 0x15, 0x25, 0x22, 0x0a, 0x26, 0x39, 0x06, 0x23, 0x16, 0x07, 0x2f, 0x22, 0x3a, 0x1b, 0x3b, 0x36, 0x35, 0x0a, 0x2b, 0x24, 0x36, 0x09, 0x12, 0x1c, 0x2f, 0x23, 0x2e, 0x38, 0x2c, 0x05, 0x2a, 0x20
diff --git a/data/io_reg.s b/data/io_reg.s
index 9c5f64f58..0941b4345 100644
--- a/data/io_reg.s
+++ b/data/io_reg.s
@@ -7,31 +7,31 @@
.align 2
gUnref_82EC784:: @ 82EC784
- .4byte 0x00000000
- .4byte 0x00000000
- .4byte 0x04000008
- .4byte 0x0400000A
- .4byte 0x0400000C
- .4byte 0x0400000E
- .4byte 0x04000010
- .4byte 0x04000014
- .4byte 0x04000018
- .4byte 0x0400001C
- .4byte 0x04000012
- .4byte 0x04000016
- .4byte 0x0400001A
- .4byte 0x0400001E
- .4byte 0x02000100
- .4byte 0x08000400
+ .4byte 0x00000000
+ .4byte 0x00000000
+ .4byte 0x04000008
+ .4byte 0x0400000A
+ .4byte 0x0400000C
+ .4byte 0x0400000E
+ .4byte 0x04000010
+ .4byte 0x04000014
+ .4byte 0x04000018
+ .4byte 0x0400001C
+ .4byte 0x04000012
+ .4byte 0x04000016
+ .4byte 0x0400001A
+ .4byte 0x0400001E
+ .4byte 0x02000100
+ .4byte 0x08000400
gOverworldBackgroundLayerFlags:: @ 82EC7C4
- .2byte 0x0100 /* BLDCNT_TGT2_BG0 */
- .2byte 0x0200 /* BLDCNT_TGT2_BG1 */
- .2byte 0x0400 /* BLDCNT_TGT2_BG2 */
- .2byte 0x0800 /* BLDCNT_TGT2_BG3 */
+ .2byte BLDCNT_TGT2_BG0
+ .2byte BLDCNT_TGT2_BG1
+ .2byte BLDCNT_TGT2_BG2
+ .2byte BLDCNT_TGT2_BG3
-gUnknown_82EC7CC:: @ 82EC7CC
- .2byte 0x0001
- .2byte 0x0002
- .2byte 0x0004
- .2byte 0x0008
+gOrbEffectBackgroundLayerFlags:: @ 82EC7CC
+ .2byte BLDCNT_TGT1_BG0
+ .2byte BLDCNT_TGT1_BG1
+ .2byte BLDCNT_TGT1_BG2
+ .2byte BLDCNT_TGT1_BG3
diff --git a/data/layouts/DoubleBattleColosseum/border.bin b/data/layouts/BattleColosseum_2P/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/DoubleBattleColosseum/border.bin
+++ b/data/layouts/BattleColosseum_2P/border.bin
diff --git a/data/layouts/SingleBattleColosseum/map.bin b/data/layouts/BattleColosseum_2P/map.bin
index 1f66ab707..1f66ab707 100644
--- a/data/layouts/SingleBattleColosseum/map.bin
+++ b/data/layouts/BattleColosseum_2P/map.bin
diff --git a/data/layouts/LinkContestRoom1/border.bin b/data/layouts/BattleColosseum_4P/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/LinkContestRoom1/border.bin
+++ b/data/layouts/BattleColosseum_4P/border.bin
diff --git a/data/layouts/DoubleBattleColosseum/map.bin b/data/layouts/BattleColosseum_4P/map.bin
index 77606e818..77606e818 100644
--- a/data/layouts/DoubleBattleColosseum/map.bin
+++ b/data/layouts/BattleColosseum_4P/map.bin
diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom1/border.bin b/data/layouts/BattleFrontier_BattlePikeRoomFinal/border.bin
index f496f458e..f496f458e 100644
--- a/data/layouts/BattleFrontier_BattlePikeRandomRoom1/border.bin
+++ b/data/layouts/BattleFrontier_BattlePikeRoomFinal/border.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom2/map.bin b/data/layouts/BattleFrontier_BattlePikeRoomFinal/map.bin
index 27a6e52aa..27a6e52aa 100644
--- a/data/layouts/BattleFrontier_BattlePikeRandomRoom2/map.bin
+++ b/data/layouts/BattleFrontier_BattlePikeRoomFinal/map.bin
diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom2/border.bin b/data/layouts/BattleFrontier_BattlePikeRoomNormal/border.bin
index f496f458e..f496f458e 100644
--- a/data/layouts/BattleFrontier_BattlePikeRandomRoom2/border.bin
+++ b/data/layouts/BattleFrontier_BattlePikeRoomNormal/border.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom1/map.bin b/data/layouts/BattleFrontier_BattlePikeRoomNormal/map.bin
index 142150cbe..142150cbe 100644
--- a/data/layouts/BattleFrontier_BattlePikeRandomRoom1/map.bin
+++ b/data/layouts/BattleFrontier_BattlePikeRoomNormal/map.bin
diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom3/border.bin b/data/layouts/BattleFrontier_BattlePikeRoomWildMons/border.bin
index f496f458e..f496f458e 100644
--- a/data/layouts/BattleFrontier_BattlePikeRandomRoom3/border.bin
+++ b/data/layouts/BattleFrontier_BattlePikeRoomWildMons/border.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattlePikeRandomRoom3/map.bin b/data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin
index 8ce7f1c37..8ce7f1c37 100644
--- a/data/layouts/BattleFrontier_BattlePikeRandomRoom3/map.bin
+++ b/data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin
diff --git a/data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/border.bin b/data/layouts/BattleFrontier_BattlePyramidFloor/border.bin
index f496f458e..f496f458e 100644
--- a/data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/border.bin
+++ b/data/layouts/BattleFrontier_BattlePyramidFloor/border.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattlePyramidEmptySquare/map.bin b/data/layouts/BattleFrontier_BattlePyramidFloor/map.bin
index 7c224d524..7c224d524 100644
--- a/data/layouts/BattleFrontier_BattlePyramidEmptySquare/map.bin
+++ b/data/layouts/BattleFrontier_BattlePyramidFloor/map.bin
diff --git a/data/layouts/BattleFrontier_BattlePyramidEmptySquare/border.bin b/data/layouts/BattleFrontier_BattleTowerMultiCorridor/border.bin
index f496f458e..f496f458e 100644
--- a/data/layouts/BattleFrontier_BattlePyramidEmptySquare/border.bin
+++ b/data/layouts/BattleFrontier_BattleTowerMultiCorridor/border.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattleTowerCorridor2/map.bin b/data/layouts/BattleFrontier_BattleTowerMultiCorridor/map.bin
index 87e93b640..87e93b640 100644
--- a/data/layouts/BattleFrontier_BattleTowerCorridor2/map.bin
+++ b/data/layouts/BattleFrontier_BattleTowerMultiCorridor/map.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattleTowerCorridor2/border.bin b/data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/border.bin
index f496f458e..f496f458e 100644
--- a/data/layouts/BattleFrontier_BattleTowerCorridor2/border.bin
+++ b/data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/border.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/map.bin b/data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/map.bin
index b0a58e016..b0a58e016 100644
--- a/data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/map.bin
+++ b/data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/map.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/border.bin b/data/layouts/BattleFrontier_ExchangeServiceCorner/border.bin
index f496f458e..f496f458e 100644
--- a/data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/border.bin
+++ b/data/layouts/BattleFrontier_ExchangeServiceCorner/border.bin
Binary files differ
diff --git a/data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/map.bin b/data/layouts/BattleFrontier_ExchangeServiceCorner/map.bin
index 62d5761e0..62d5761e0 100644
--- a/data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/map.bin
+++ b/data/layouts/BattleFrontier_ExchangeServiceCorner/map.bin
diff --git a/data/layouts/LinkContestRoom2/border.bin b/data/layouts/ContestHall/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/LinkContestRoom2/border.bin
+++ b/data/layouts/ContestHall/border.bin
diff --git a/data/layouts/LinkContestRoom1/map.bin b/data/layouts/ContestHall/map.bin
index a8853f6ae..a8853f6ae 100644
--- a/data/layouts/LinkContestRoom1/map.bin
+++ b/data/layouts/ContestHall/map.bin
diff --git a/data/layouts/LinkContestRoom3/border.bin b/data/layouts/ContestHallBeauty/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/LinkContestRoom3/border.bin
+++ b/data/layouts/ContestHallBeauty/border.bin
diff --git a/data/layouts/LinkContestRoom2/map.bin b/data/layouts/ContestHallBeauty/map.bin
index 7cb63b40d..7cb63b40d 100644
--- a/data/layouts/LinkContestRoom2/map.bin
+++ b/data/layouts/ContestHallBeauty/map.bin
diff --git a/data/layouts/LinkContestRoom4/border.bin b/data/layouts/ContestHallCool/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/LinkContestRoom4/border.bin
+++ b/data/layouts/ContestHallCool/border.bin
diff --git a/data/layouts/LinkContestRoom4/map.bin b/data/layouts/ContestHallCool/map.bin
index 4e2166c19..4e2166c19 100644
--- a/data/layouts/LinkContestRoom4/map.bin
+++ b/data/layouts/ContestHallCool/map.bin
diff --git a/data/layouts/LinkContestRoom5/border.bin b/data/layouts/ContestHallCute/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/LinkContestRoom5/border.bin
+++ b/data/layouts/ContestHallCute/border.bin
diff --git a/data/layouts/LinkContestRoom6/map.bin b/data/layouts/ContestHallCute/map.bin
index 9fcec5a5e..9fcec5a5e 100644
--- a/data/layouts/LinkContestRoom6/map.bin
+++ b/data/layouts/ContestHallCute/map.bin
diff --git a/data/layouts/LinkContestRoom6/border.bin b/data/layouts/ContestHallSmart/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/LinkContestRoom6/border.bin
+++ b/data/layouts/ContestHallSmart/border.bin
diff --git a/data/layouts/LinkContestRoom5/map.bin b/data/layouts/ContestHallSmart/map.bin
index ad068fe7c..ad068fe7c 100644
--- a/data/layouts/LinkContestRoom5/map.bin
+++ b/data/layouts/ContestHallSmart/map.bin
diff --git a/data/layouts/SingleBattleColosseum/border.bin b/data/layouts/ContestHallTough/border.bin
index 19d906679..19d906679 100644
--- a/data/layouts/SingleBattleColosseum/border.bin
+++ b/data/layouts/ContestHallTough/border.bin
diff --git a/data/layouts/LinkContestRoom3/map.bin b/data/layouts/ContestHallTough/map.bin
index 59e9e9182..59e9e9182 100644
--- a/data/layouts/LinkContestRoom3/map.bin
+++ b/data/layouts/ContestHallTough/map.bin
diff --git a/data/layouts/layouts.json b/data/layouts/layouts.json
index 353b9a284..681f46f75 100644
--- a/data/layouts/layouts.json
+++ b/data/layouts/layouts.json
@@ -2202,14 +2202,14 @@
"blockdata_filepath": "data/layouts/SecretBase_Shrub4/map.bin"
},
{
- "id": "LAYOUT_SINGLE_BATTLE_COLOSSEUM",
- "name": "SingleBattleColosseum_Layout",
+ "id": "LAYOUT_BATTLE_COLOSSEUM_2P",
+ "name": "BattleColosseum_2P_Layout",
"width": 14,
"height": 9,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_CableClub",
- "border_filepath": "data/layouts/SingleBattleColosseum/border.bin",
- "blockdata_filepath": "data/layouts/SingleBattleColosseum/map.bin"
+ "border_filepath": "data/layouts/BattleColosseum_2P/border.bin",
+ "blockdata_filepath": "data/layouts/BattleColosseum_2P/map.bin"
},
{
"id": "LAYOUT_TRADE_CENTER",
@@ -2232,24 +2232,24 @@
"blockdata_filepath": "data/layouts/RecordCorner/map.bin"
},
{
- "id": "LAYOUT_DOUBLE_BATTLE_COLOSSEUM",
- "name": "DoubleBattleColosseum_Layout",
+ "id": "LAYOUT_BATTLE_COLOSSEUM_4P",
+ "name": "BattleColosseum_4P_Layout",
"width": 14,
"height": 9,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_CableClub",
- "border_filepath": "data/layouts/DoubleBattleColosseum/border.bin",
- "blockdata_filepath": "data/layouts/DoubleBattleColosseum/map.bin"
+ "border_filepath": "data/layouts/BattleColosseum_4P/border.bin",
+ "blockdata_filepath": "data/layouts/BattleColosseum_4P/map.bin"
},
{
- "id": "LAYOUT_LINK_CONTEST_ROOM1",
- "name": "LinkContestRoom1_Layout",
+ "id": "LAYOUT_CONTEST_HALL",
+ "name": "ContestHall_Layout",
"width": 15,
"height": 11,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Contest",
- "border_filepath": "data/layouts/LinkContestRoom1/border.bin",
- "blockdata_filepath": "data/layouts/LinkContestRoom1/map.bin"
+ "border_filepath": "data/layouts/ContestHall/border.bin",
+ "blockdata_filepath": "data/layouts/ContestHall/map.bin"
},
{
"id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29",
@@ -2312,54 +2312,54 @@
"blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_34/map.bin"
},
{
- "id": "LAYOUT_LINK_CONTEST_ROOM2",
- "name": "LinkContestRoom2_Layout",
+ "id": "LAYOUT_CONTEST_HALL_BEAUTY",
+ "name": "ContestHallBeauty_Layout",
"width": 15,
"height": 11,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Contest",
- "border_filepath": "data/layouts/LinkContestRoom2/border.bin",
- "blockdata_filepath": "data/layouts/LinkContestRoom2/map.bin"
+ "border_filepath": "data/layouts/ContestHallBeauty/border.bin",
+ "blockdata_filepath": "data/layouts/ContestHallBeauty/map.bin"
},
{
- "id": "LAYOUT_LINK_CONTEST_ROOM3",
- "name": "LinkContestRoom3_Layout",
+ "id": "LAYOUT_CONTEST_HALL_TOUGH",
+ "name": "ContestHallTough_Layout",
"width": 15,
"height": 11,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Contest",
- "border_filepath": "data/layouts/LinkContestRoom3/border.bin",
- "blockdata_filepath": "data/layouts/LinkContestRoom3/map.bin"
+ "border_filepath": "data/layouts/ContestHallTough/border.bin",
+ "blockdata_filepath": "data/layouts/ContestHallTough/map.bin"
},
{
- "id": "LAYOUT_LINK_CONTEST_ROOM4",
- "name": "LinkContestRoom4_Layout",
+ "id": "LAYOUT_CONTEST_HALL_COOL",
+ "name": "ContestHallCool_Layout",
"width": 15,
"height": 11,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Contest",
- "border_filepath": "data/layouts/LinkContestRoom4/border.bin",
- "blockdata_filepath": "data/layouts/LinkContestRoom4/map.bin"
+ "border_filepath": "data/layouts/ContestHallCool/border.bin",
+ "blockdata_filepath": "data/layouts/ContestHallCool/map.bin"
},
{
- "id": "LAYOUT_LINK_CONTEST_ROOM5",
- "name": "LinkContestRoom5_Layout",
+ "id": "LAYOUT_CONTEST_HALL_SMART",
+ "name": "ContestHallSmart_Layout",
"width": 15,
"height": 11,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Contest",
- "border_filepath": "data/layouts/LinkContestRoom5/border.bin",
- "blockdata_filepath": "data/layouts/LinkContestRoom5/map.bin"
+ "border_filepath": "data/layouts/ContestHallSmart/border.bin",
+ "blockdata_filepath": "data/layouts/ContestHallSmart/map.bin"
},
{
- "id": "LAYOUT_LINK_CONTEST_ROOM6",
- "name": "LinkContestRoom6_Layout",
+ "id": "LAYOUT_CONTEST_HALL_CUTE",
+ "name": "ContestHallCute_Layout",
"width": 15,
"height": 11,
"primary_tileset": "gTileset_General",
"secondary_tileset": "gTileset_Contest",
- "border_filepath": "data/layouts/LinkContestRoom6/border.bin",
- "blockdata_filepath": "data/layouts/LinkContestRoom6/map.bin"
+ "border_filepath": "data/layouts/ContestHallCute/border.bin",
+ "blockdata_filepath": "data/layouts/ContestHallCute/map.bin"
},
{
"id": "LAYOUT_INSIDE_OF_TRUCK",
@@ -3512,24 +3512,24 @@
"blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeThreePathRoom/map.bin"
},
{
- "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1",
- "name": "BattleFrontier_BattlePikeRandomRoom1_Layout",
+ "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL",
+ "name": "BattleFrontier_BattlePikeRoomNormal_Layout",
"width": 9,
"height": 8,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_BattlePike",
- "border_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom1/border.bin",
- "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom1/map.bin"
+ "border_filepath": "data/layouts/BattleFrontier_BattlePikeRoomNormal/border.bin",
+ "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomNormal/map.bin"
},
{
- "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2",
- "name": "BattleFrontier_BattlePikeRandomRoom2_Layout",
+ "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL",
+ "name": "BattleFrontier_BattlePikeRoomFinal_Layout",
"width": 5,
"height": 8,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_BattlePike",
- "border_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom2/border.bin",
- "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom2/map.bin"
+ "border_filepath": "data/layouts/BattleFrontier_BattlePikeRoomFinal/border.bin",
+ "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomFinal/map.bin"
},
{
"id": "LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY",
@@ -3572,14 +3572,14 @@
"blockdata_filepath": "data/layouts/SootopolisCity_LegendsBattle/map.bin"
},
{
- "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3",
- "name": "BattleFrontier_BattlePikeRandomRoom3_Layout",
+ "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS",
+ "name": "BattleFrontier_BattlePikeRoomWildMons_Layout",
"width": 9,
"height": 20,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_BattlePike",
- "border_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom3/border.bin",
- "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRandomRoom3/map.bin"
+ "border_filepath": "data/layouts/BattleFrontier_BattlePikeRoomWildMons/border.bin",
+ "blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin"
},
{
"id": "LAYOUT_UNKNOWN_084693AC",
@@ -3602,14 +3602,14 @@
"blockdata_filepath": "data/layouts/BattleFrontier_BattlePyramidLobby/map.bin"
},
{
- "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE",
- "name": "BattleFrontier_BattlePyramidEmptySquare_Layout",
+ "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR",
+ "name": "BattleFrontier_BattlePyramidFloor_Layout",
"width": 8,
"height": 8,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_BattlePyramid",
- "border_filepath": "data/layouts/BattleFrontier_BattlePyramidEmptySquare/border.bin",
- "blockdata_filepath": "data/layouts/BattleFrontier_BattlePyramidEmptySquare/map.bin"
+ "border_filepath": "data/layouts/BattleFrontier_BattlePyramidFloor/border.bin",
+ "blockdata_filepath": "data/layouts/BattleFrontier_BattlePyramidFloor/map.bin"
},
{
"id": "LAYOUT_BATTLE_PYRAMID_SQUARE01",
@@ -3892,24 +3892,24 @@
"blockdata_filepath": "data/layouts/DesertUnderpass/map.bin"
},
{
- "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM",
- "name": "BattleFrontier_BattleTowerMultiBattleRoom_Layout",
+ "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM",
+ "name": "BattleFrontier_BattleTowerMultiPartnerRoom_Layout",
"width": 21,
"height": 15,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_BattleFrontier",
- "border_filepath": "data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/border.bin",
- "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerMultiBattleRoom/map.bin"
+ "border_filepath": "data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/border.bin",
+ "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerMultiPartnerRoom/map.bin"
},
{
- "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2",
- "name": "BattleFrontier_BattleTowerCorridor2_Layout",
+ "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR",
+ "name": "BattleFrontier_BattleTowerMultiCorridor_Layout",
"width": 17,
"height": 5,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_BattleFrontier",
- "border_filepath": "data/layouts/BattleFrontier_BattleTowerCorridor2/border.bin",
- "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerCorridor2/map.bin"
+ "border_filepath": "data/layouts/BattleFrontier_BattleTowerMultiCorridor/border.bin",
+ "blockdata_filepath": "data/layouts/BattleFrontier_BattleTowerMultiCorridor/map.bin"
},
{
"id": "LAYOUT_ROUTE111_NO_MIRAGE_TOWER",
@@ -3972,14 +3972,14 @@
"blockdata_filepath": "data/layouts/BattleFrontier_Lounge1/map.bin"
},
{
- "id": "LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER",
- "name": "BattleFrontier_BattlePointExchangeServiceCorner_Layout",
+ "id": "LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER",
+ "name": "BattleFrontier_ExchangeServiceCorner_Layout",
"width": 15,
"height": 11,
"primary_tileset": "gTileset_Building",
"secondary_tileset": "gTileset_BattleFrontier",
- "border_filepath": "data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/border.bin",
- "blockdata_filepath": "data/layouts/BattleFrontier_BattlePointExchangeServiceCorner/map.bin"
+ "border_filepath": "data/layouts/BattleFrontier_ExchangeServiceCorner/border.bin",
+ "blockdata_filepath": "data/layouts/BattleFrontier_ExchangeServiceCorner/map.bin"
},
{
"id": "LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE",
diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json
index b876ad849..804fd0afc 100644
--- a/data/maps/AbandonedShip_CaptainsOffice/map.json
+++ b/data/maps/AbandonedShip_CaptainsOffice/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_CaptainsOffice_EventScript_2387E2",
+ "script": "AbandonedShip_CaptainsOffice_EventScript_CaptSternAide",
"flag": "0"
},
{
diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
index 011ea4a07..b2940eb6f 100644
--- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
+++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
@@ -1,42 +1,42 @@
AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1
.byte 0
-AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2
+AbandonedShip_CaptainsOffice_EventScript_CaptSternAide:: @ 82387E2
lock
faceplayer
- goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_23881A
+ goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
checkitem ITEM_SCANNER, 1
compare VAR_RESULT, 1
- goto_if_eq AbandonedShip_CaptainsOffice_EventScript_238810
- goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_23881A
- msgbox AbandonedShip_CaptainsOffice_Text_238824, MSGBOX_DEFAULT
+ goto_if_eq AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner
+ goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
+ msgbox AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner, MSGBOX_DEFAULT
release
end
-AbandonedShip_CaptainsOffice_EventScript_238810:: @ 8238810
- msgbox AbandonedShip_CaptainsOffice_Text_23889D, MSGBOX_DEFAULT
+AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner:: @ 8238810
+ msgbox AbandonedShip_CaptainsOffice_Text_OhCanYouDeliverScanner, MSGBOX_DEFAULT
release
end
-AbandonedShip_CaptainsOffice_EventScript_23881A:: @ 823881A
- msgbox AbandonedShip_CaptainsOffice_Text_238918, MSGBOX_DEFAULT
+AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus:: @ 823881A
+ msgbox AbandonedShip_CaptainsOffice_Text_ThisIsSSCactus, MSGBOX_DEFAULT
release
end
-AbandonedShip_CaptainsOffice_Text_238824: @ 8238824
+AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner: @ 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
+AbandonedShip_CaptainsOffice_Text_OhCanYouDeliverScanner: @ 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
+AbandonedShip_CaptainsOffice_Text_ThisIsSSCactus: @ 8238918
.string "This ship is called S.S. CACTUS.\n"
.string "It seems to be from an earlier era.$"
diff --git a/data/maps/AbandonedShip_Corridors_1F/map.json b/data/maps/AbandonedShip_Corridors_1F/map.json
index 4ddf92226..b75fcf3ac 100644
--- a/data/maps/AbandonedShip_Corridors_1F/map.json
+++ b/data/maps/AbandonedShip_Corridors_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Corridors_1F_EventScript_2379A5",
+ "script": "AbandonedShip_Corridors_1F_EventScript_Youngster",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 7,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "AbandonedShip_Corridors_1F_EventScript_2379AE",
+ "script": "AbandonedShip_Corridors_1F_EventScript_Charlie",
"flag": "0"
}
],
diff --git a/data/maps/AbandonedShip_Corridors_1F/scripts.inc b/data/maps/AbandonedShip_Corridors_1F/scripts.inc
index 15fda4194..a954ee119 100644
--- a/data/maps/AbandonedShip_Corridors_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Corridors_1F/scripts.inc
@@ -1,26 +1,26 @@
AbandonedShip_Corridors_1F_MapScripts:: @ 82379A4
.byte 0
-AbandonedShip_Corridors_1F_EventScript_2379A5:: @ 82379A5
- msgbox AbandonedShip_Corridors_1F_Text_237A60, MSGBOX_NPC
+AbandonedShip_Corridors_1F_EventScript_Youngster:: @ 82379A5
+ msgbox AbandonedShip_Corridors_1F_Text_IsntItFunHere, MSGBOX_NPC
end
-AbandonedShip_Corridors_1F_EventScript_2379AE:: @ 82379AE
- trainerbattle_single TRAINER_CHARLIE, AbandonedShip_Corridors_1F_Text_2379C5, AbandonedShip_Corridors_1F_Text_237A01
- msgbox AbandonedShip_Corridors_1F_Text_237A1B, MSGBOX_AUTOCLOSE
+AbandonedShip_Corridors_1F_EventScript_Charlie:: @ 82379AE
+ trainerbattle_single TRAINER_CHARLIE, AbandonedShip_Corridors_1F_Text_CharlieIntro, AbandonedShip_Corridors_1F_Text_CharlieDefeat
+ msgbox AbandonedShip_Corridors_1F_Text_CharliePostBattle, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Corridors_1F_Text_2379C5: @ 82379C5
+AbandonedShip_Corridors_1F_Text_CharlieIntro: @ 82379C5
.string "What's so funny about having my inner\n"
.string "tube aboard the ship?$"
-AbandonedShip_Corridors_1F_Text_237A01: @ 8237A01
+AbandonedShip_Corridors_1F_Text_CharlieDefeat: @ 8237A01
.string "Whoa, you overwhelmed me!$"
-AbandonedShip_Corridors_1F_Text_237A1B: @ 8237A1B
+AbandonedShip_Corridors_1F_Text_CharliePostBattle: @ 8237A1B
.string "It's not easy throwing POKé BALLS\n"
.string "while hanging on to an inner tube!$"
-AbandonedShip_Corridors_1F_Text_237A60: @ 8237A60
+AbandonedShip_Corridors_1F_Text_IsntItFunHere: @ 8237A60
.string "Isn't it fun here?\n"
.string "I get excited just being here!$"
diff --git a/data/maps/AbandonedShip_Corridors_B1F/map.json b/data/maps/AbandonedShip_Corridors_B1F/map.json
index 9bccfc636..04868ad92 100644
--- a/data/maps/AbandonedShip_Corridors_B1F/map.json
+++ b/data/maps/AbandonedShip_Corridors_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Corridors_B1F_EventScript_237DBF",
+ "script": "AbandonedShip_Corridors_B1F_EventScript_TuberM",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "AbandonedShip_Corridors_B1F_EventScript_237E13",
+ "script": "AbandonedShip_Corridors_B1F_EventScript_Duncan",
"flag": "0"
}
],
@@ -107,7 +107,7 @@
"y": 4,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_Corridors_B1F_EventScript_237DC8"
+ "script": "AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor"
}
]
} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
index 1012ebce7..94ed2ef7e 100644
--- a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
@@ -1,88 +1,87 @@
AbandonedShip_Corridors_B1F_MapScripts:: @ 8237D84
- map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Corridors_B1F_MapScript1_237D8F
- map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_Corridors_B1F_MapScript1_237D98
+ map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Corridors_B1F_OnResume
+ map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_Corridors_B1F_OnLoad
.byte 0
-AbandonedShip_Corridors_B1F_MapScript1_237D8F: @ 8237D8F
+AbandonedShip_Corridors_B1F_OnResume: @ 8237D8F
setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4
end
-AbandonedShip_Corridors_B1F_MapScript1_237D98: @ 8237D98
- call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237DAB
- call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237DB5
+AbandonedShip_Corridors_B1F_OnLoad: @ 8237D98
+ call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom
+ call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom
end
-AbandonedShip_Corridors_B1F_EventScript_237DAB:: @ 8237DAB
- setmetatile 11, 4, METATILE_InsideShip_InTactDoor0_Bottom, 1
+AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom:: @ 8237DAB
+ setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
return
-AbandonedShip_Corridors_B1F_EventScript_237DB5:: @ 8237DB5
- setmetatile 11, 4, METATILE_InsideShip_InTactDoor1_Bottom, 1
+AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom:: @ 8237DB5
+ setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
return
-AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF
- msgbox AbandonedShip_Corridors_B1F_Text_237F03, MSGBOX_NPC
+AbandonedShip_Corridors_B1F_EventScript_TuberM:: @ 8237DBF
+ msgbox AbandonedShip_Corridors_B1F_Text_YayItsAShip, MSGBOX_NPC
end
-AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8
+AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor:: @ 8237DC8
lockall
- goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_237E09
+ goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked
checkitem ITEM_STORAGE_KEY, 1
- compare VAR_RESULT, 0
- goto_if_eq AbandonedShip_Corridors_B1F_EventScript_237DFF
- msgbox AbandonedShip_Corridors_B1F_Text_237F4B, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked
+ msgbox AbandonedShip_Corridors_B1F_Text_InsertedStorageKey, MSGBOX_DEFAULT
playse SE_PIN
- takeitem ITEM_STORAGE_KEY, 1
+ removeitem ITEM_STORAGE_KEY
setflag FLAG_USED_STORAGE_KEY
- call AbandonedShip_Corridors_B1F_EventScript_237DB5
+ call AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom
special DrawWholeMapView
releaseall
end
-AbandonedShip_Corridors_B1F_EventScript_237DFF:: @ 8237DFF
- msgbox AbandonedShip_Corridors_B1F_Text_237F15, MSGBOX_DEFAULT
+AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked:: @ 8237DFF
+ msgbox AbandonedShip_Corridors_B1F_Text_DoorIsLocked, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_Corridors_B1F_EventScript_237E09:: @ 8237E09
- msgbox AbandonedShip_Corridors_B1F_Text_237FA5, MSGBOX_DEFAULT
+AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked:: @ 8237E09
+ msgbox AbandonedShip_Text_TheDoorIsOpen, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_Corridors_B1F_EventScript_237E13:: @ 8237E13
- trainerbattle_single TRAINER_DUNCAN, AbandonedShip_Corridors_B1F_Text_237E2A, AbandonedShip_Corridors_B1F_Text_237E80
- msgbox AbandonedShip_Corridors_B1F_Text_237E92, MSGBOX_AUTOCLOSE
+AbandonedShip_Corridors_B1F_EventScript_Duncan:: @ 8237E13
+ trainerbattle_single TRAINER_DUNCAN, AbandonedShip_Corridors_B1F_Text_DuncanIntro, AbandonedShip_Corridors_B1F_Text_DuncanDefeat
+ msgbox AbandonedShip_Corridors_B1F_Text_DuncanPostBattle, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Corridors_B1F_Text_237E2A: @ 8237E2A
+AbandonedShip_Corridors_B1F_Text_DuncanIntro: @ 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
+AbandonedShip_Corridors_B1F_Text_DuncanDefeat: @ 8237E80
.string "Whoops, I'm sunk!$"
-AbandonedShip_Corridors_B1F_Text_237E92: @ 8237E92
+AbandonedShip_Corridors_B1F_Text_DuncanPostBattle: @ 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
+AbandonedShip_Corridors_B1F_Text_YayItsAShip: @ 8237F03
.string "Yay!\n"
.string "It's a ship!$"
-AbandonedShip_Corridors_B1F_Text_237F15: @ 8237F15
+AbandonedShip_Corridors_B1F_Text_DoorIsLocked: @ 8237F15
.string "The door is locked.\p"
.string "“STORAGE” is painted on the door.$"
-AbandonedShip_Corridors_B1F_Text_237F4B: @ 8237F4B
+AbandonedShip_Corridors_B1F_Text_InsertedStorageKey: @ 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
+AbandonedShip_Text_TheDoorIsOpen: @ 8237FA5
.string "The door is open.$"
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json
index 1b1466fe1..81e19fd1f 100644
--- a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json
@@ -66,7 +66,7 @@
"y": 8,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238A19"
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door"
},
{
"type": "sign",
@@ -74,7 +74,7 @@
"y": 8,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238A50"
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door"
},
{
"type": "sign",
@@ -82,7 +82,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238A87"
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door"
},
{
"type": "sign",
@@ -90,7 +90,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorCorridors_EventScript_238ABE"
+ "script": "AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door"
}
]
} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
index 9c6474b6f..612d46a9a 100644
--- a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
@@ -1,157 +1,157 @@
AbandonedShip_HiddenFloorCorridors_MapScripts:: @ 823896C
- map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_HiddenFloorCorridors_MapScript1_238977
- map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_HiddenFloorCorridors_MapScript1_238980
+ map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_HiddenFloorCorridors_OnResume
+ map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_HiddenFloorCorridors_OnLoad
.byte 0
-AbandonedShip_HiddenFloorCorridors_MapScript1_238977: @ 8238977
+AbandonedShip_HiddenFloorCorridors_OnResume: @ 8238977
setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4
end
-AbandonedShip_HiddenFloorCorridors_MapScript1_238980: @ 8238980
- call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1
- call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB
- call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238A05
- call_if_unset FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F
- call_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9
- call_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3
- call_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD
- call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7
+AbandonedShip_HiddenFloorCorridors_OnLoad: @ 8238980
+ call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1
+ call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2
+ call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4
+ call_if_unset FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6
+ call_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1
+ call_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2
+ call_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4
+ call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6
end
-AbandonedShip_HiddenFloorCorridors_EventScript_2389C9:: @ 82389C9
- setmetatile 3, 8, METATILE_InsideShip_InTactDoor1_Bottom, 1
+AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1:: @ 82389C9
+ setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
return
-AbandonedShip_HiddenFloorCorridors_EventScript_2389D3:: @ 82389D3
- setmetatile 6, 8, METATILE_InsideShip_InTactDoor1_Bottom, 1
+AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2:: @ 82389D3
+ setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
return
-AbandonedShip_HiddenFloorCorridors_EventScript_2389DD:: @ 82389DD
- setmetatile 3, 3, METATILE_InsideShip_DoorIndent1, 0
+AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4:: @ 82389DD
+ setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0
return
-AbandonedShip_HiddenFloorCorridors_EventScript_2389E7:: @ 82389E7
- setmetatile 9, 3, METATILE_InsideShip_DoorIndent1, 0
+AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6:: @ 82389E7
+ setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0
return
-AbandonedShip_HiddenFloorCorridors_EventScript_2389F1:: @ 82389F1
- setmetatile 3, 8, METATILE_InsideShip_InTactDoor0_Bottom, 1
+AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1:: @ 82389F1
+ setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
return
-AbandonedShip_HiddenFloorCorridors_EventScript_2389FB:: @ 82389FB
- setmetatile 6, 8, METATILE_InsideShip_InTactDoor0_Bottom, 1
+AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2:: @ 82389FB
+ setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
return
-AbandonedShip_HiddenFloorCorridors_EventScript_238A05:: @ 8238A05
- setmetatile 3, 3, METATILE_InsideShip_DoorIndent0, 0
+AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4:: @ 8238A05
+ setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Locked, 0
return
-AbandonedShip_HiddenFloorCorridors_EventScript_238A0F:: @ 8238A0F
- setmetatile 9, 3, METATILE_InsideShip_DoorIndent0, 0
+AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6:: @ 8238A0F
+ setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Locked, 0
return
-AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19
+AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door:: @ 8238A19
lockall
- goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_1_KEY, 1
- compare VAR_RESULT, 0
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
- takeitem ITEM_ROOM_1_KEY, 1
+ removeitem ITEM_ROOM_1_KEY
setflag FLAG_USED_ROOM_1_KEY
- call AbandonedShip_HiddenFloorCorridors_EventScript_2389C9
+ call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1
special DrawWholeMapView
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50
+AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door:: @ 8238A50
lockall
- goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_2_KEY, 1
- compare VAR_RESULT, 0
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
- takeitem ITEM_ROOM_2_KEY, 1
+ removeitem ITEM_ROOM_2_KEY
setflag FLAG_USED_ROOM_2_KEY
- call AbandonedShip_HiddenFloorCorridors_EventScript_2389D3
+ call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2
special DrawWholeMapView
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87
+AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door:: @ 8238A87
lockall
- goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_4_KEY, 1
- compare VAR_RESULT, 0
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
- takeitem ITEM_ROOM_4_KEY, 1
+ removeitem ITEM_ROOM_4_KEY
setflag FLAG_USED_ROOM_4_KEY
- call AbandonedShip_HiddenFloorCorridors_EventScript_2389DD
+ call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4
special DrawWholeMapView
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE
+AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door:: @ 8238ABE
lockall
- goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
checkitem ITEM_ROOM_6_KEY, 1
- compare VAR_RESULT, 0
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
- takeitem ITEM_ROOM_6_KEY, 1
+ removeitem ITEM_ROOM_6_KEY
setflag FLAG_USED_ROOM_6_KEY
- call AbandonedShip_HiddenFloorCorridors_EventScript_2389E7
+ call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6
special DrawWholeMapView
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238AF5:: @ 8238AF5
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238B27, MSGBOX_DEFAULT
+AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked:: @ 8238AF5
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm1DoorIsLocked, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238AFF:: @ 8238AFF
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238B5B, MSGBOX_DEFAULT
+AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked:: @ 8238AFF
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm2DoorIsLocked, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238B09:: @ 8238B09
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238B8F, MSGBOX_DEFAULT
+AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked:: @ 8238B09
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm4DoorIsLocked, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238B13:: @ 8238B13
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BC3, MSGBOX_DEFAULT
+AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked:: @ 8238B13
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm6DoorIsLocked, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_HiddenFloorCorridors_EventScript_238B1D:: @ 8238B1D
- msgbox AbandonedShip_HiddenFloorCorridors_Text_237FA5, MSGBOX_DEFAULT
+AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen:: @ 8238B1D
+ msgbox AbandonedShip_Text_TheDoorIsOpen, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_HiddenFloorCorridors_Text_238B27: @ 8238B27
+AbandonedShip_HiddenFloorCorridors_Text_Rm1DoorIsLocked: @ 8238B27
.string "The door is locked.\p"
.string "“RM. 1” is painted on the door.$"
-AbandonedShip_HiddenFloorCorridors_Text_238B5B: @ 8238B5B
+AbandonedShip_HiddenFloorCorridors_Text_Rm2DoorIsLocked: @ 8238B5B
.string "The door is locked.\p"
.string "“RM. 2” is painted on the door.$"
-AbandonedShip_HiddenFloorCorridors_Text_238B8F: @ 8238B8F
+AbandonedShip_HiddenFloorCorridors_Text_Rm4DoorIsLocked: @ 8238B8F
.string "The door is locked.\p"
.string "“RM. 4” is painted on the door.$"
-AbandonedShip_HiddenFloorCorridors_Text_238BC3: @ 8238BC3
+AbandonedShip_HiddenFloorCorridors_Text_Rm6DoorIsLocked: @ 8238BC3
.string "The door is locked.\p"
.string "“RM. 6” is painted on the door.$"
-AbandonedShip_HiddenFloorCorridors_Text_238BF7: @ 8238BF7
+AbandonedShip_HiddenFloorCorridors_Text_InsertedKey: @ 8238BF7
.string "{PLAYER} inserted and turned the\n"
.string "KEY.\p"
.string "The inserted KEY stuck fast,\n"
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json
index fdfb8a187..f937eb649 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json
@@ -172,7 +172,7 @@
"y": 5,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3"
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash"
},
{
"type": "sign",
@@ -180,7 +180,7 @@
"y": 3,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3"
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash"
},
{
"type": "sign",
@@ -188,7 +188,7 @@
"y": 10,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3"
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash"
},
{
"type": "sign",
@@ -196,7 +196,7 @@
"y": 3,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3"
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash"
},
{
"type": "sign",
@@ -204,7 +204,7 @@
"y": 2,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3"
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash"
},
{
"type": "sign",
@@ -212,7 +212,7 @@
"y": 6,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AbandonedShip_HiddenFloorRooms_EventScript_238DF3"
+ "script": "AbandonedShip_HiddenFloorRooms_EventScript_Trash"
}
]
} \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
index 2d6f7ee77..53a7ee2ed 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
@@ -1,148 +1,125 @@
AbandonedShip_HiddenFloorRooms_MapScripts:: @ 8238C49
- map_script MAP_SCRIPT_ON_FRAME_TABLE, AbandonedShip_HiddenFloorRooms_MapScript2_238C4F
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, AbandonedShip_HiddenFloorRooms_OnFrame
.byte 0
-AbandonedShip_HiddenFloorRooms_MapScript2_238C4F: @ 8238C4F
- map_script_2 VAR_TEMP_1, 0, AbandonedShip_HiddenFloorRooms_EventScript_238C59
+AbandonedShip_HiddenFloorRooms_OnFrame: @ 8238C4F
+ map_script_2 VAR_TEMP_1, 0, AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle
.2byte 0
-AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59
+@ After the below calculation, VAR_TEMP_4 is the room number of the door the player entered
+@ Bottom row, left column (Rm 1)
+@ Bottom row, middle column (Rm 2)
+@ Bottom row, right column (Rm 3)
+@ Upper row, left column (Rm 4)
+@ Upper row, middle column (Rm 5)
+@ Upper row, right column (Rm 6)
+AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle:: @ 8238C59
setvar VAR_TEMP_1, 1
getplayerxy VAR_TEMP_2, VAR_TEMP_3
setvar VAR_TEMP_4, 1
compare VAR_TEMP_2, 21
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD1
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn
compare VAR_TEMP_2, 36
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD7
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn
compare VAR_TEMP_3, 2
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CDD
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow
switch VAR_TEMP_4
- 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
+ case 1, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1
+ case 2, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2
+ case 3, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3
+ case 4, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4
+ case 5, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5
+ case 6, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm6
end
-AbandonedShip_HiddenFloorRooms_EventScript_238CD1:: @ 8238CD1
+AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn:: @ 8238CD1
addvar VAR_TEMP_4, 1
return
-AbandonedShip_HiddenFloorRooms_EventScript_238CD7:: @ 8238CD7
+AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn:: @ 8238CD7
addvar VAR_TEMP_4, 2
return
-AbandonedShip_HiddenFloorRooms_EventScript_238CDD:: @ 8238CDD
+AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow:: @ 8238CDD
addvar VAR_TEMP_4, 3
return
-AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3
+AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1:: @ 8238CE3
delay 20
- setfieldeffectargument 0, 10
- setfieldeffectargument 1, 10
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+ dofieldeffectsparkle 10, 10, 0
specialvar VAR_RESULT, FoundAbandonedShipRoom4Key
- compare VAR_RESULT, 0
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DD3
+ compare VAR_RESULT, FALSE
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
-AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C
+AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2:: @ 8238D0C
end
-AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D
+AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3:: @ 8238D0D
specialvar VAR_RESULT, FoundAbandonedShipRoom1Key
- compare VAR_RESULT, 1
- goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32
+ compare VAR_RESULT, TRUE
+ goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle
delay 20
- compare VAR_RESULT, 0
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DB3
+ compare VAR_RESULT, FALSE
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
-AbandonedShip_HiddenFloorRooms_EventScript_238D32:: @ 8238D32
+AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle:: @ 8238D32
end
-AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33
+AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4:: @ 8238D33
delay 20
- setfieldeffectargument 0, 8
- setfieldeffectargument 1, 5
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
- setfieldeffectargument 0, 11
- setfieldeffectargument 1, 3
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+ dofieldeffectsparkle 8, 5, 0
+ dofieldeffectsparkle 11, 3, 0
specialvar VAR_RESULT, FoundAbandonedShipRoom6Key
- compare VAR_RESULT, 0
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DE3
+ compare VAR_RESULT, FALSE
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
-AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B
+AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5:: @ 8238D6B
delay 20
- setfieldeffectargument 0, 16
- setfieldeffectargument 1, 3
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
- setfieldeffectargument 0, 25
- setfieldeffectargument 1, 2
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
- setfieldeffectargument 0, 24
- setfieldeffectargument 1, 6
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+ dofieldeffectsparkle 16, 3, 0
+ dofieldeffectsparkle 25, 2, 0
+ dofieldeffectsparkle 24, 6, 0
specialvar VAR_RESULT, FoundAbandonedShipRoom2Key
- compare VAR_RESULT, 0
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DC3
+ compare VAR_RESULT, FALSE
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
-AbandonedShip_HiddenFloorRooms_EventScript_238DB2:: @ 8238DB2
+AbandonedShip_HiddenFloorRooms_EventScript_EnterRm6:: @ 8238DB2
end
-AbandonedShip_HiddenFloorRooms_EventScript_238DB3:: @ 8238DB3
- setfieldeffectargument 0, 42
- setfieldeffectargument 1, 10
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle:: @ 8238DB3
+ dofieldeffectsparkle 42, 10, 0
return
-AbandonedShip_HiddenFloorRooms_EventScript_238DC3:: @ 8238DC3
- setfieldeffectargument 0, 20
- setfieldeffectargument 1, 5
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle:: @ 8238DC3
+ dofieldeffectsparkle 20, 5, 0
return
-AbandonedShip_HiddenFloorRooms_EventScript_238DD3:: @ 8238DD3
- setfieldeffectargument 0, 1
- setfieldeffectargument 1, 12
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle:: @ 8238DD3
+ dofieldeffectsparkle 1, 12, 0
return
-AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3
- setfieldeffectargument 0, 1
- setfieldeffectargument 1, 2
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle:: @ 8238DE3
+ dofieldeffectsparkle 1, 2, 0
return
-AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3
+AbandonedShip_HiddenFloorRooms_EventScript_Trash:: @ 8238DF3
lockall
- msgbox AbandonedShip_HiddenFloorRooms_Text_238DFE, MSGBOX_DEFAULT
+ msgbox AbandonedShip_HiddenFloorRooms_Text_BrightShinyTrash, MSGBOX_DEFAULT
releaseall
end
-AbandonedShip_HiddenFloorRooms_Text_238DFE: @ 8238DFE
+AbandonedShip_HiddenFloorRooms_Text_BrightShinyTrash: @ 8238DFE
.string "It's bright and shiny!\n"
.string "But it's just trash…$"
diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.json b/data/maps/AbandonedShip_Rooms2_1F/map.json
index 35b029f7f..6f39d4827 100644
--- a/data/maps/AbandonedShip_Rooms2_1F/map.json
+++ b/data/maps/AbandonedShip_Rooms2_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "AbandonedShip_Rooms2_1F_EventScript_2380A7",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_Dan",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "AbandonedShip_Rooms2_1F_EventScript_23810B",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_Kira",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "AbandonedShip_Rooms2_1F_EventScript_238186",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_Garrison",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "AbandonedShip_Rooms2_1F_EventScript_23816F",
+ "script": "AbandonedShip_Rooms2_1F_EventScript_Jani",
"flag": "0"
}
],
diff --git a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
index ec382e56c..a09242fc9 100644
--- a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
@@ -1,151 +1,151 @@
AbandonedShip_Rooms2_1F_MapScripts:: @ 82380A6
.byte 0
-AbandonedShip_Rooms2_1F_EventScript_2380A7:: @ 82380A7
- trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_23819D, AbandonedShip_Rooms2_1F_Text_2381DA, AbandonedShip_Rooms2_1F_Text_238257, AbandonedShip_Rooms2_1F_EventScript_2380D7
+AbandonedShip_Rooms2_1F_EventScript_Dan:: @ 82380A7
+ trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_DanIntro, AbandonedShip_Rooms2_1F_Text_DanDefeat, AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterDan
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq AbandonedShip_Rooms2_1F_EventScript_2380F0
- msgbox AbandonedShip_Rooms2_1F_Text_23820F, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq AbandonedShip_Rooms2_1F_EventScript_DanRematch
+ msgbox AbandonedShip_Rooms2_1F_Text_DanPostBattle, MSGBOX_DEFAULT
release
end
-AbandonedShip_Rooms2_1F_EventScript_2380D7:: @ 82380D7
- msgbox AbandonedShip_Rooms2_1F_Text_2383BB, MSGBOX_DEFAULT
+AbandonedShip_Rooms2_1F_EventScript_RegisterDan:: @ 82380D7
+ msgbox AbandonedShip_Rooms2_1F_Text_KiraRegister, MSGBOX_DEFAULT @ Kira speaks for both when registering KiraAndDan
register_matchcall TRAINER_KIRA_AND_DAN_1
release
end
-AbandonedShip_Rooms2_1F_EventScript_2380F0:: @ 82380F0
- trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_2383FF, AbandonedShip_Rooms2_1F_Text_238473, AbandonedShip_Rooms2_1F_Text_238509
- msgbox AbandonedShip_Rooms2_1F_Text_238491, MSGBOX_AUTOCLOSE
+AbandonedShip_Rooms2_1F_EventScript_DanRematch:: @ 82380F0
+ trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_DanRematchIntro, AbandonedShip_Rooms2_1F_Text_DanRematchDefeat, AbandonedShip_Rooms2_1F_Text_DanRematchNotEnoughMons
+ msgbox AbandonedShip_Rooms2_1F_Text_DanPostRematch, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Rooms2_1F_EventScript_23810B:: @ 823810B
- trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_2382A4, AbandonedShip_Rooms2_1F_Text_2382F4, AbandonedShip_Rooms2_1F_Text_23836F, AbandonedShip_Rooms2_1F_EventScript_23813B
+AbandonedShip_Rooms2_1F_EventScript_Kira:: @ 823810B
+ trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_KiraIntro, AbandonedShip_Rooms2_1F_Text_KiraDefeat, AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterKira
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq AbandonedShip_Rooms2_1F_EventScript_238154
- msgbox AbandonedShip_Rooms2_1F_Text_23830A, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq AbandonedShip_Rooms2_1F_EventScript_KiraRematch
+ msgbox AbandonedShip_Rooms2_1F_Text_KiraPostBattle, MSGBOX_DEFAULT
release
end
-AbandonedShip_Rooms2_1F_EventScript_23813B:: @ 823813B
- msgbox AbandonedShip_Rooms2_1F_Text_2383BB, MSGBOX_DEFAULT
+AbandonedShip_Rooms2_1F_EventScript_RegisterKira:: @ 823813B
+ msgbox AbandonedShip_Rooms2_1F_Text_KiraRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_KIRA_AND_DAN_1
release
end
-AbandonedShip_Rooms2_1F_EventScript_238154:: @ 8238154
- trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_238556, AbandonedShip_Rooms2_1F_Text_2385F2, AbandonedShip_Rooms2_1F_Text_238668
- msgbox AbandonedShip_Rooms2_1F_Text_23860B, MSGBOX_AUTOCLOSE
+AbandonedShip_Rooms2_1F_EventScript_KiraRematch:: @ 8238154
+ trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_KiraRematchIntro, AbandonedShip_Rooms2_1F_Text_KiraRematchDefeat, AbandonedShip_Rooms2_1F_Text_KiraRematchNotEnoughMons
+ msgbox AbandonedShip_Rooms2_1F_Text_KiraPostRematch, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Rooms2_1F_EventScript_23816F:: @ 823816F
- trainerbattle_single TRAINER_JANI, AbandonedShip_Rooms2_1F_Text_2386B4, AbandonedShip_Rooms2_1F_Text_2386E8
- msgbox AbandonedShip_Rooms2_1F_Text_238708, MSGBOX_AUTOCLOSE
+AbandonedShip_Rooms2_1F_EventScript_Jani:: @ 823816F
+ trainerbattle_single TRAINER_JANI, AbandonedShip_Rooms2_1F_Text_JaniIntro, AbandonedShip_Rooms2_1F_Text_JaniDefeat
+ msgbox AbandonedShip_Rooms2_1F_Text_JaniPostBattle, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Rooms2_1F_EventScript_238186:: @ 8238186
- trainerbattle_single TRAINER_GARRISON, AbandonedShip_Rooms2_1F_Text_23873F, AbandonedShip_Rooms2_1F_Text_238779
- msgbox AbandonedShip_Rooms2_1F_Text_2387A9, MSGBOX_AUTOCLOSE
+AbandonedShip_Rooms2_1F_EventScript_Garrison:: @ 8238186
+ trainerbattle_single TRAINER_GARRISON, AbandonedShip_Rooms2_1F_Text_GarrisonIntro, AbandonedShip_Rooms2_1F_Text_GarrisonDefeat
+ msgbox AbandonedShip_Rooms2_1F_Text_GarrisonPostBattle, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Rooms2_1F_Text_23819D: @ 823819D
+AbandonedShip_Rooms2_1F_Text_DanIntro: @ 823819D
.string "DAN: While searching for treasures,\n"
.string "we discovered a TRAINER!$"
-AbandonedShip_Rooms2_1F_Text_2381DA: @ 82381DA
+AbandonedShip_Rooms2_1F_Text_DanDefeat: @ 82381DA
.string "DAN: We couldn't win even though\n"
.string "we worked together…$"
-AbandonedShip_Rooms2_1F_Text_23820F: @ 823820F
+AbandonedShip_Rooms2_1F_Text_DanPostBattle: @ 823820F
.string "DAN: We can't find any treasures…\n"
.string "I wonder if someone got them already?$"
-AbandonedShip_Rooms2_1F_Text_238257: @ 8238257
+AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons: @ 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
+AbandonedShip_Rooms2_1F_Text_KiraIntro: @ 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
+AbandonedShip_Rooms2_1F_Text_KiraDefeat: @ 82382F4
.string "KIRA: Ooh, so strong!$"
-AbandonedShip_Rooms2_1F_Text_23830A: @ 823830A
+AbandonedShip_Rooms2_1F_Text_KiraPostBattle: @ 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
+AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons: @ 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
+AbandonedShip_Rooms2_1F_Text_KiraRegister: @ 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
+AbandonedShip_Rooms2_1F_Text_DanRematchIntro: @ 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
+AbandonedShip_Rooms2_1F_Text_DanRematchDefeat: @ 8238473
.string "DAN: You're strong, as usual!$"
-AbandonedShip_Rooms2_1F_Text_238491: @ 8238491
+AbandonedShip_Rooms2_1F_Text_DanPostRematch: @ 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
+AbandonedShip_Rooms2_1F_Text_DanRematchNotEnoughMons: @ 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
+AbandonedShip_Rooms2_1F_Text_KiraRematchIntro: @ 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
+AbandonedShip_Rooms2_1F_Text_KiraRematchDefeat: @ 82385F2
.string "KIRA: Oh, we lost again…$"
-AbandonedShip_Rooms2_1F_Text_23860B: @ 823860B
+AbandonedShip_Rooms2_1F_Text_KiraPostRematch: @ 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
+AbandonedShip_Rooms2_1F_Text_KiraRematchNotEnoughMons: @ 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
+AbandonedShip_Rooms2_1F_Text_JaniIntro: @ 82386B4
.string "I'm not good at swimming,\n"
.string "but I am good at battles!$"
-AbandonedShip_Rooms2_1F_Text_2386E8: @ 82386E8
+AbandonedShip_Rooms2_1F_Text_JaniDefeat: @ 82386E8
.string "Oops.\n"
.string "That didn't go very well.$"
-AbandonedShip_Rooms2_1F_Text_238708: @ 8238708
+AbandonedShip_Rooms2_1F_Text_JaniPostBattle: @ 8238708
.string "Walking around barefoot in this ship\n"
.string "is kind of gross.$"
-AbandonedShip_Rooms2_1F_Text_23873F: @ 823873F
+AbandonedShip_Rooms2_1F_Text_GarrisonIntro: @ 823873F
.string "Strength and compassion…\n"
.string "Those are a TRAINER's treasures!$"
-AbandonedShip_Rooms2_1F_Text_238779: @ 8238779
+AbandonedShip_Rooms2_1F_Text_GarrisonDefeat: @ 8238779
.string "Ah, there is something about you\n"
.string "that sparkles.$"
-AbandonedShip_Rooms2_1F_Text_2387A9: @ 82387A9
+AbandonedShip_Rooms2_1F_Text_GarrisonPostBattle: @ 82387A9
.string "In a cabin somewhere on board,\n"
.string "I saw something sparkle.$"
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.json b/data/maps/AbandonedShip_Rooms2_B1F/map.json
index 621b80bb1..672d2c54e 100644
--- a/data/maps/AbandonedShip_Rooms2_B1F/map.json
+++ b/data/maps/AbandonedShip_Rooms2_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Rooms2_B1F_EventScript_238025",
+ "script": "AbandonedShip_Rooms2_B1F_EventScript_Camper",
"flag": "0"
},
{
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc
index a0b9e3946..5c2418696 100644
--- a/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc
@@ -1,11 +1,11 @@
AbandonedShip_Rooms2_B1F_MapScripts:: @ 8238024
.byte 0
-AbandonedShip_Rooms2_B1F_EventScript_238025:: @ 8238025
- msgbox AbandonedShip_Rooms2_B1F_Text_23802E, MSGBOX_NPC
+AbandonedShip_Rooms2_B1F_EventScript_Camper:: @ 8238025
+ msgbox AbandonedShip_Rooms2_B1F_Text_PerfectPlaceToGoExploring, MSGBOX_NPC
end
-AbandonedShip_Rooms2_B1F_Text_23802E: @ 823802E
+AbandonedShip_Rooms2_B1F_Text_PerfectPlaceToGoExploring: @ 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"
diff --git a/data/maps/AbandonedShip_Rooms_1F/map.json b/data/maps/AbandonedShip_Rooms_1F/map.json
index af25a3994..28feaf940 100644
--- a/data/maps/AbandonedShip_Rooms_1F/map.json
+++ b/data/maps/AbandonedShip_Rooms_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Rooms_1F_EventScript_237A93",
+ "script": "AbandonedShip_Rooms_1F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "AbandonedShip_Rooms_1F_EventScript_237AB3",
+ "script": "AbandonedShip_Rooms_1F_EventScript_Thalia",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "AbandonedShip_Rooms_1F_EventScript_237A9C",
+ "script": "AbandonedShip_Rooms_1F_EventScript_Demetrius",
"flag": "0"
}
],
diff --git a/data/maps/AbandonedShip_Rooms_1F/scripts.inc b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
index 5797ed5fb..cabbb45ea 100644
--- a/data/maps/AbandonedShip_Rooms_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
@@ -1,78 +1,78 @@
AbandonedShip_Rooms_1F_MapScripts:: @ 8237A92
.byte 0
-AbandonedShip_Rooms_1F_EventScript_237A93:: @ 8237A93
- msgbox AbandonedShip_Rooms_1F_Text_237B15, MSGBOX_NPC
+AbandonedShip_Rooms_1F_EventScript_Gentleman:: @ 8237A93
+ msgbox AbandonedShip_Rooms_1F_Text_TakingALookAround, MSGBOX_NPC
end
-AbandonedShip_Rooms_1F_EventScript_237A9C:: @ 8237A9C
- trainerbattle_single TRAINER_DEMETRIUS, AbandonedShip_Rooms_1F_Text_237D0C, AbandonedShip_Rooms_1F_Text_237D2A
- msgbox AbandonedShip_Rooms_1F_Text_237D41, MSGBOX_AUTOCLOSE
+AbandonedShip_Rooms_1F_EventScript_Demetrius:: @ 8237A9C
+ trainerbattle_single TRAINER_DEMETRIUS, AbandonedShip_Rooms_1F_Text_DemetriusIntro, AbandonedShip_Rooms_1F_Text_DemetriusDefeat
+ msgbox AbandonedShip_Rooms_1F_Text_DemetriusPostBattle, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Rooms_1F_EventScript_237AB3:: @ 8237AB3
- trainerbattle_single TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_237B76, AbandonedShip_Rooms_1F_Text_237BB8, AbandonedShip_Rooms_1F_EventScript_237ADF
+AbandonedShip_Rooms_1F_EventScript_Thalia:: @ 8237AB3
+ trainerbattle_single TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_ThaliaIntro, AbandonedShip_Rooms_1F_Text_ThaliaDefeat, AbandonedShip_Rooms_1F_EventScript_RegisterThalia
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq AbandonedShip_Rooms_1F_EventScript_237AFE
- msgbox AbandonedShip_Rooms_1F_Text_237BDB, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq AbandonedShip_Rooms_1F_EventScript_ThaliaRematch
+ msgbox AbandonedShip_Rooms_1F_Text_ThaliaPostBattle, MSGBOX_DEFAULT
release
end
-AbandonedShip_Rooms_1F_EventScript_237ADF:: @ 8237ADF
- special sub_80B4808
+AbandonedShip_Rooms_1F_EventScript_RegisterThalia:: @ 8237ADF
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox AbandonedShip_Rooms_1F_Text_237C2A, MSGBOX_DEFAULT
+ msgbox AbandonedShip_Rooms_1F_Text_ThaliaRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_THALIA_1
release
end
-AbandonedShip_Rooms_1F_EventScript_237AFE:: @ 8237AFE
- trainerbattle_rematch TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_237C69, AbandonedShip_Rooms_1F_Text_237CB2
- msgbox AbandonedShip_Rooms_1F_Text_237CC9, MSGBOX_AUTOCLOSE
+AbandonedShip_Rooms_1F_EventScript_ThaliaRematch:: @ 8237AFE
+ trainerbattle_rematch TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_ThaliaRematchIntro, AbandonedShip_Rooms_1F_Text_ThaliaRematchDefeat
+ msgbox AbandonedShip_Rooms_1F_Text_ThaliaPostRematch, MSGBOX_AUTOCLOSE
end
-AbandonedShip_Rooms_1F_Text_237B15: @ 8237B15
+AbandonedShip_Rooms_1F_Text_TakingALookAround: @ 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
+AbandonedShip_Rooms_1F_Text_ThaliaIntro: @ 8237B76
.string "What on earth would compel you to\n"
.string "come here? You must be curious!$"
-AbandonedShip_Rooms_1F_Text_237BB8: @ 8237BB8
+AbandonedShip_Rooms_1F_Text_ThaliaDefeat: @ 8237BB8
.string "Not just curious, but also strong…$"
-AbandonedShip_Rooms_1F_Text_237BDB: @ 8237BDB
+AbandonedShip_Rooms_1F_Text_ThaliaPostBattle: @ 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
+AbandonedShip_Rooms_1F_Text_ThaliaRegister: @ 8237C2A
.string "You're such a tough TRAINER!\n"
.string "Let me register you as a memento!$"
-AbandonedShip_Rooms_1F_Text_237C69: @ 8237C69
+AbandonedShip_Rooms_1F_Text_ThaliaRematchIntro: @ 8237C69
.string "What on earth would compel you to\n"
.string "come back? You must really be curious!$"
-AbandonedShip_Rooms_1F_Text_237CB2: @ 8237CB2
+AbandonedShip_Rooms_1F_Text_ThaliaRematchDefeat: @ 8237CB2
.string "Aren't you too strong?$"
-AbandonedShip_Rooms_1F_Text_237CC9: @ 8237CC9
+AbandonedShip_Rooms_1F_Text_ThaliaPostRematch: @ 8237CC9
.string "I'm sure that man's up to something!\n"
.string "He just acts so suspiciously!$"
-AbandonedShip_Rooms_1F_Text_237D0C: @ 8237D0C
+AbandonedShip_Rooms_1F_Text_DemetriusIntro: @ 8237D0C
.string "Waaah!\n"
.string "I've been found! …Huh?$"
-AbandonedShip_Rooms_1F_Text_237D2A: @ 8237D2A
+AbandonedShip_Rooms_1F_Text_DemetriusDefeat: @ 8237D2A
.string "Oh, you're not my mom.$"
-AbandonedShip_Rooms_1F_Text_237D41: @ 8237D41
+AbandonedShip_Rooms_1F_Text_DemetriusPostBattle: @ 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/maps/AbandonedShip_Rooms_B1F/map.json b/data/maps/AbandonedShip_Rooms_B1F/map.json
index 2e836f3a1..0af0a05ac 100644
--- a/data/maps/AbandonedShip_Rooms_B1F/map.json
+++ b/data/maps/AbandonedShip_Rooms_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AbandonedShip_Rooms_B1F_EventScript_237FC6",
+ "script": "AbandonedShip_Rooms_B1F_EventScript_FatMan",
"flag": "0"
},
{
diff --git a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
index 05223592e..80208b051 100644
--- a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
@@ -1,16 +1,16 @@
AbandonedShip_Rooms_B1F_MapScripts:: @ 8237FB7
- map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Rooms_B1F_MapScript1_237FBD
+ map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Rooms_B1F_OnResume
.byte 0
-AbandonedShip_Rooms_B1F_MapScript1_237FBD: @ 8237FBD
+AbandonedShip_Rooms_B1F_OnResume: @ 8237FBD
setdivewarp MAP_ABANDONED_SHIP_UNDERWATER2, 255, 17, 4
end
-AbandonedShip_Rooms_B1F_EventScript_237FC6:: @ 8237FC6
- msgbox AbandonedShip_Rooms_B1F_Text_237FCF, MSGBOX_NPC
+AbandonedShip_Rooms_B1F_EventScript_FatMan:: @ 8237FC6
+ msgbox AbandonedShip_Rooms_B1F_Text_GettingQueasy, MSGBOX_NPC
end
-AbandonedShip_Rooms_B1F_Text_237FCF: @ 8237FCF
+AbandonedShip_Rooms_B1F_Text_GettingQueasy: @ 8237FCF
.string "Urrrrppp…\p"
.string "I'm getting queasy just being aboard\n"
.string "this ship…\p"
diff --git a/data/maps/AbandonedShip_Underwater1/map.json b/data/maps/AbandonedShip_Underwater1/map.json
index de9c77815..da1b5eb4c 100644
--- a/data/maps/AbandonedShip_Underwater1/map.json
+++ b/data/maps/AbandonedShip_Underwater1/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/AbandonedShip_Underwater1/scripts.inc b/data/maps/AbandonedShip_Underwater1/scripts.inc
index b957bb6be..9e10c19f5 100644
--- a/data/maps/AbandonedShip_Underwater1/scripts.inc
+++ b/data/maps/AbandonedShip_Underwater1/scripts.inc
@@ -1,8 +1,8 @@
AbandonedShip_Underwater1_MapScripts:: @ 8238096
- map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater1_MapScript1_23809C
+ map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater1_OnResume
.byte 0
-AbandonedShip_Underwater1_MapScript1_23809C: @ 823809C
+AbandonedShip_Underwater1_OnResume: @ 823809C
setdivewarp MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, 255, 0, 10
end
diff --git a/data/maps/AbandonedShip_Underwater2/map.json b/data/maps/AbandonedShip_Underwater2/map.json
index c1c9f24d3..104325b16 100644
--- a/data/maps/AbandonedShip_Underwater2/map.json
+++ b/data/maps/AbandonedShip_Underwater2/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_ABANDONED_SHIP",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/AbandonedShip_Underwater2/scripts.inc b/data/maps/AbandonedShip_Underwater2/scripts.inc
index cc000b09c..40e6c1e5e 100644
--- a/data/maps/AbandonedShip_Underwater2/scripts.inc
+++ b/data/maps/AbandonedShip_Underwater2/scripts.inc
@@ -1,8 +1,8 @@
AbandonedShip_Underwater2_MapScripts:: @ 823895D
- map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater2_MapScript1_238963
+ map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater2_OnResume
.byte 0
-AbandonedShip_Underwater2_MapScript1_238963: @ 8238963
+AbandonedShip_Underwater2_OnResume: @ 8238963
setdivewarp MAP_ABANDONED_SHIP_ROOMS_B1F, 255, 13, 7
end
diff --git a/data/maps/AncientTomb/map.json b/data/maps/AncientTomb/map.json
index 9de100bff..9229f7581 100644
--- a/data/maps/AncientTomb/map.json
+++ b/data/maps/AncientTomb/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AncientTomb_EventScript_23905A",
+ "script": "AncientTomb_EventScript_Registeel",
"flag": "FLAG_HIDE_REGISTEEL"
}
],
@@ -59,7 +59,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AncientTomb_EventScript_239033"
+ "script": "AncientTomb_EventScript_CaveEntranceMiddle"
},
{
"type": "sign",
@@ -67,7 +67,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AncientTomb_EventScript_239050"
+ "script": "AncientTomb_EventScript_CaveEntranceSide"
},
{
"type": "sign",
@@ -75,7 +75,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "AncientTomb_EventScript_239050"
+ "script": "AncientTomb_EventScript_CaveEntranceSide"
}
]
} \ No newline at end of file
diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc
index 9bc404af6..95dd85d28 100644
--- a/data/maps/AncientTomb/scripts.inc
+++ b/data/maps/AncientTomb/scripts.inc
@@ -1,34 +1,34 @@
AncientTomb_MapScripts:: @ 8238FB3
- map_script MAP_SCRIPT_ON_RESUME, AncientTomb_MapScript1_238FC3
- map_script MAP_SCRIPT_ON_LOAD, AncientTomb_MapScript1_238FF2
+ map_script MAP_SCRIPT_ON_RESUME, AncientTomb_OnResume
+ map_script MAP_SCRIPT_ON_LOAD, AncientTomb_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, AncientTomb_OnTransition
.byte 0
-AncientTomb_MapScript1_238FC3: @ 8238FC3
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_238FCD
+AncientTomb_OnResume: @ 8238FC3
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_TryRemoveRegisteel
end
-AncientTomb_EventScript_238FCD:: @ 8238FCD
+AncientTomb_EventScript_TryRemoveRegisteel:: @ 8238FCD
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
AncientTomb_OnTransition: @ 8238FE1
setflag FLAG_LANDMARK_ANCIENT_TOMB
- call_if_unset FLAG_DEFEATED_REGISTEEL, AncientTomb_EventScript_238FEE
+ call_if_unset FLAG_DEFEATED_REGISTEEL, AncientTomb_EventScript_ShowRegisteel
end
-AncientTomb_EventScript_238FEE:: @ 8238FEE
+AncientTomb_EventScript_ShowRegisteel:: @ 8238FEE
clearflag FLAG_HIDE_REGISTEEL
return
-AncientTomb_MapScript1_238FF2: @ 8238FF2
- call_if_unset FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_238FFC
+AncientTomb_OnLoad: @ 8238FF2
+ call_if_unset FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_HideRegiEntrance
end
-AncientTomb_EventScript_238FFC:: @ 8238FFC
+AncientTomb_EventScript_HideRegiEntrance:: @ 8238FFC
setmetatile 7, 19, METATILE_Cave_EntranceCover, 1
setmetatile 8, 19, METATILE_Cave_EntranceCover, 1
setmetatile 9, 19, METATILE_Cave_EntranceCover, 1
@@ -37,29 +37,29 @@ AncientTomb_EventScript_238FFC:: @ 8238FFC
setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
return
-AncientTomb_EventScript_239033:: @ 8239033
+AncientTomb_EventScript_CaveEntranceMiddle:: @ 8239033
lockall
- goto_if_set FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_239046
- braillemessage AncientTomb_Braille_2A6D06
+ goto_if_set FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_BigHoleInWall
+ braillemessage AncientTomb_Braille_ShineInTheMiddle
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-AncientTomb_EventScript_239046:: @ 8239046
- msgbox gUnknown_0827304E, MSGBOX_DEFAULT
+AncientTomb_EventScript_BigHoleInWall:: @ 8239046
+ msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT
releaseall
end
-AncientTomb_EventScript_239050:: @ 8239050
+AncientTomb_EventScript_CaveEntranceSide:: @ 8239050
lockall
- braillemessage AncientTomb_Braille_2A6D06
+ braillemessage AncientTomb_Braille_ShineInTheMiddle
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-AncientTomb_EventScript_23905A:: @ 823905A
+AncientTomb_EventScript_Registeel:: @ 823905A
lock
faceplayer
waitse
@@ -72,23 +72,23 @@ AncientTomb_EventScript_23905A:: @ 823905A
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq AncientTomb_EventScript_2390A1
- compare VAR_RESULT, 4
- goto_if_eq AncientTomb_EventScript_2390AA
- compare VAR_RESULT, 5
- goto_if_eq AncientTomb_EventScript_2390AA
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq AncientTomb_EventScript_DefeatedRegisteel
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq AncientTomb_EventScript_RanFromRegisteel
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq AncientTomb_EventScript_RanFromRegisteel
setflag FLAG_DEFEATED_REGISTEEL
release
end
-AncientTomb_EventScript_2390A1:: @ 82390A1
+AncientTomb_EventScript_DefeatedRegisteel:: @ 82390A1
setflag FLAG_DEFEATED_REGISTEEL
- goto AncientTomb_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-AncientTomb_EventScript_2390AA:: @ 82390AA
- setvar VAR_0x8004, 403
- goto AncientTomb_EventScript_273776
+AncientTomb_EventScript_RanFromRegisteel:: @ 82390AA
+ setvar VAR_0x8004, SPECIES_REGISTEEL
+ goto Common_EventScript_LegendaryFlewAway
end
diff --git a/data/maps/AquaHideout_1F/map.json b/data/maps/AquaHideout_1F/map.json
index 5f585f32f..25fe48a9e 100644
--- a/data/maps/AquaHideout_1F/map.json
+++ b/data/maps/AquaHideout_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_1F_EventScript_233494",
+ "script": "AquaHideout_1F_EventScript_HideoutEntranceGrunt1",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_1F_EventScript_2334C6",
+ "script": "AquaHideout_1F_EventScript_HideoutEntranceGrunt2",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 5,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "AquaHideout_1F_EventScript_2334F8",
+ "script": "AquaHideout_1F_EventScript_Grunt1",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
}
],
diff --git a/data/maps/AquaHideout_1F/scripts.inc b/data/maps/AquaHideout_1F/scripts.inc
index 653e0f7c7..b246862a7 100644
--- a/data/maps/AquaHideout_1F/scripts.inc
+++ b/data/maps/AquaHideout_1F/scripts.inc
@@ -1,55 +1,56 @@
AquaHideout_1F_MapScripts:: @ 8233493
.byte 0
-AquaHideout_1F_EventScript_233494:: @ 8233494
+@ The below two entrance guards give hints about what to do to progress the story
+AquaHideout_1F_EventScript_HideoutEntranceGrunt1:: @ 8233494
lock
faceplayer
- goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_2334BC
- goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_2334B2
- msgbox AquaHideout_1F_Text_23351D, MSGBOX_DEFAULT
+ goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_SlateportHint1
+ goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_MagmaHideoutHint1
+ msgbox AquaHideout_1F_Text_OurBossIsSnatchingSomething, MSGBOX_DEFAULT
release
end
-AquaHideout_1F_EventScript_2334B2:: @ 82334B2
- msgbox AquaHideout_1F_Text_2335E3, MSGBOX_DEFAULT
+AquaHideout_1F_EventScript_MagmaHideoutHint1:: @ 82334B2
+ msgbox AquaHideout_1F_Text_WhereMightMagmaHideoutBe, MSGBOX_DEFAULT
release
end
-AquaHideout_1F_EventScript_2334BC:: @ 82334BC
- msgbox AquaHideout_1F_Text_23367D, MSGBOX_DEFAULT
+AquaHideout_1F_EventScript_SlateportHint1:: @ 82334BC
+ msgbox AquaHideout_1F_Text_BossWentToJackASubmarine, MSGBOX_DEFAULT
release
end
-AquaHideout_1F_EventScript_2334C6:: @ 82334C6
+AquaHideout_1F_EventScript_HideoutEntranceGrunt2:: @ 82334C6
lock
faceplayer
- goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_2334EE
- goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_2334E4
- msgbox AquaHideout_1F_Text_233739, MSGBOX_DEFAULT
+ goto_if_set FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, AquaHideout_1F_EventScript_SlateportHint2
+ goto_if_set FLAG_RECEIVED_RED_OR_BLUE_ORB, AquaHideout_1F_EventScript_MagmaHideoutHint2
+ msgbox AquaHideout_1F_Text_BossIsOnRoute122, MSGBOX_DEFAULT
release
end
-AquaHideout_1F_EventScript_2334E4:: @ 82334E4
- msgbox AquaHideout_1F_Text_2337FA, MSGBOX_DEFAULT
+AquaHideout_1F_EventScript_MagmaHideoutHint2:: @ 82334E4
+ msgbox AquaHideout_1F_Text_TeamMagmaAtMtChimney, MSGBOX_DEFAULT
release
end
-AquaHideout_1F_EventScript_2334EE:: @ 82334EE
- msgbox AquaHideout_1F_Text_233884, MSGBOX_DEFAULT
+AquaHideout_1F_EventScript_SlateportHint2:: @ 82334EE
+ msgbox AquaHideout_1F_Text_BossIsInSlateportCity, MSGBOX_DEFAULT
release
end
-AquaHideout_1F_EventScript_2334F8:: @ 82334F8
- trainerbattle_single TRAINER_GRUNT_1, AquaHideout_1F_Text_23393D, AquaHideout_1F_Text_233964, AquaHideout_1F_EventScript_233513
- msgbox AquaHideout_1F_Text_233977, MSGBOX_AUTOCLOSE
+AquaHideout_1F_EventScript_Grunt1:: @ 82334F8
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_1, AquaHideout_1F_Text_Grunt1Intro, AquaHideout_1F_Text_Grunt1Defeat, AquaHideout_1F_EventScript_Grunt1Defeated
+ msgbox AquaHideout_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_1F_EventScript_233513:: @ 8233513
- msgbox AquaHideout_1F_Text_233977, MSGBOX_DEFAULT
+AquaHideout_1F_EventScript_Grunt1Defeated:: @ 8233513
+ msgbox AquaHideout_1F_Text_Grunt1PostBattle, MSGBOX_DEFAULT
release
end
-AquaHideout_1F_Text_23351D: @ 823351D
+AquaHideout_1F_Text_OurBossIsSnatchingSomething: @ 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"
@@ -59,7 +60,7 @@ AquaHideout_1F_Text_23351D: @ 823351D
.string "Wahaha! Do you really think I'd tell\n"
.string "you something that crucial?$"
-AquaHideout_1F_Text_2335E3: @ 82335E3
+AquaHideout_1F_Text_WhereMightMagmaHideoutBe: @ 82335E3
.string "What? What?\n"
.string "Are you a TEAM MAGMA grunt?\p"
.string "I hear that TEAM MAGMA is trying to\n"
@@ -67,7 +68,7 @@ AquaHideout_1F_Text_2335E3: @ 82335E3
.string "HIDEOUT.\p"
.string "But where might their HIDEOUT be?$"
-AquaHideout_1F_Text_23367D: @ 823367D
+AquaHideout_1F_Text_BossWentToJackASubmarine: @ 823367D
.string "What? What? What do you want with \n"
.string "TEAM AQUA?\p"
.string "Our BOSS isn't here!\n"
@@ -77,7 +78,7 @@ AquaHideout_1F_Text_23367D: @ 823367D
.string "Wahaha! Do you really think I'd tell\n"
.string "you something that crucial?$"
-AquaHideout_1F_Text_233739: @ 8233739
+AquaHideout_1F_Text_BossIsOnRoute122: @ 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"
@@ -87,14 +88,14 @@ AquaHideout_1F_Text_233739: @ 8233739
.string "Wahaha! Do you really think I'd tell\n"
.string "you something that crucial?$"
-AquaHideout_1F_Text_2337FA: @ 82337FA
+AquaHideout_1F_Text_TeamMagmaAtMtChimney: @ 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
+AquaHideout_1F_Text_BossIsInSlateportCity: @ 8233884
.string "What? What? What do you want with\n"
.string "TEAM AQUA?\p"
.string "Our BOSS isn't here!\n"
@@ -104,15 +105,15 @@ AquaHideout_1F_Text_233884: @ 8233884
.string "Wahaha! Do you really think I'd tell\n"
.string "you something that crucial?$"
-AquaHideout_1F_Text_23393D: @ 823393D
+AquaHideout_1F_Text_Grunt1Intro: @ 823393D
.string "Ayiyiyi!\n"
.string "Suspicious character spotted!$"
-AquaHideout_1F_Text_233964: @ 8233964
+AquaHideout_1F_Text_Grunt1Defeat: @ 8233964
.string "Grrrrr…\n"
.string "I lost it!$"
-AquaHideout_1F_Text_233977: @ 8233977
+AquaHideout_1F_Text_Grunt1PostBattle: @ 8233977
.string "I took the loss for the TEAM,\n"
.string "but I did my job…$"
diff --git a/data/maps/AquaHideout_B1F/map.json b/data/maps/AquaHideout_B1F/map.json
index 8cdc901ec..f31180f8b 100644
--- a/data/maps/AquaHideout_B1F/map.json
+++ b/data/maps/AquaHideout_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "AquaHideout_B1F_EventScript_233A85",
+ "script": "AquaHideout_B1F_EventScript_Grunt2",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "AquaHideout_B1F_EventScript_233AB0",
+ "script": "AquaHideout_B1F_EventScript_Grunt3",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "AquaHideout_B1F_EventScript_233AD5",
+ "script": "AquaHideout_B1F_EventScript_Grunt5",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_B1F_EventScript_2339EB",
+ "script": "AquaHideout_B1F_EventScript_Electrode1",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_B1F_EventScript_233A38",
+ "script": "AquaHideout_B1F_EventScript_Electrode2",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "AquaHideout_B1F_EventScript_233AEC",
+ "script": "AquaHideout_B1F_EventScript_Grunt7",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
}
],
diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc
index 589e41612..17e803814 100644
--- a/data/maps/AquaHideout_B1F/scripts.inc
+++ b/data/maps/AquaHideout_B1F/scripts.inc
@@ -1,33 +1,33 @@
AquaHideout_B1F_MapScripts:: @ 82339A7
- map_script MAP_SCRIPT_ON_RESUME, AquaHideout_B1F_MapScript1_2339B2
+ map_script MAP_SCRIPT_ON_RESUME, AquaHideout_B1F_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B1F_OnTransition
.byte 0
-AquaHideout_B1F_MapScript1_2339B2: @ 82339B2
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_2339BC
+AquaHideout_B1F_OnResume: @ 82339B2
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_TryRemoveElectrode
end
-AquaHideout_B1F_EventScript_2339BC:: @ 82339BC
+AquaHideout_B1F_EventScript_TryRemoveElectrode:: @ 82339BC
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
AquaHideout_B1F_OnTransition: @ 82339D0
- call_if_unset FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_2339E3
- call_if_unset FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_2339E7
+ call_if_unset FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_ShowElectrode1
+ call_if_unset FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT, AquaHideout_B1F_EventScript_ShowElectrode2
end
-AquaHideout_B1F_EventScript_2339E3:: @ 82339E3
+AquaHideout_B1F_EventScript_ShowElectrode1:: @ 82339E3
clearflag FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1
return
-AquaHideout_B1F_EventScript_2339E7:: @ 82339E7
+AquaHideout_B1F_EventScript_ShowElectrode2:: @ 82339E7
clearflag FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2
return
-AquaHideout_B1F_EventScript_2339EB:: @ 82339EB
+AquaHideout_B1F_EventScript_Electrode1:: @ 82339EB
lock
faceplayer
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
@@ -39,22 +39,22 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq AquaHideout_B1F_EventScript_233A2F
- compare VAR_RESULT, 4
- goto_if_eq AquaHideout_B1F_EventScript_233A2F
- compare VAR_RESULT, 5
- goto_if_eq AquaHideout_B1F_EventScript_233A2F
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1
setflag FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT
release
end
-AquaHideout_B1F_EventScript_233A2F:: @ 8233A2F
+AquaHideout_B1F_EventScript_DefeatedElectrode1:: @ 8233A2F
setflag FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT
- goto AquaHideout_B1F_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-AquaHideout_B1F_EventScript_233A38:: @ 8233A38
+AquaHideout_B1F_EventScript_Electrode2:: @ 8233A38
lock
faceplayer
setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
@@ -66,102 +66,102 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq AquaHideout_B1F_EventScript_233A7C
- compare VAR_RESULT, 4
- goto_if_eq AquaHideout_B1F_EventScript_233A7C
- compare VAR_RESULT, 5
- goto_if_eq AquaHideout_B1F_EventScript_233A7C
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2
setflag FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT
release
end
-AquaHideout_B1F_EventScript_233A7C:: @ 8233A7C
+AquaHideout_B1F_EventScript_DefeatedElectrode2:: @ 8233A7C
setflag FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT
- goto AquaHideout_B1F_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-AquaHideout_B1F_EventScript_233A85:: @ 8233A85
- trainerbattle_single TRAINER_GRUNT_2, AquaHideout_B1F_Text_233B03, AquaHideout_B1F_Text_233B4A, AquaHideout_B1F_EventScript_233AA0
- msgbox AquaHideout_B1F_Text_233B5E, MSGBOX_AUTOCLOSE
+AquaHideout_B1F_EventScript_Grunt2:: @ 8233A85
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_2, AquaHideout_B1F_Text_Grunt2Intro, AquaHideout_B1F_Text_Grunt2Defeat, AquaHideout_B1F_EventScript_Grunt2Defeated
+ msgbox AquaHideout_B1F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_B1F_EventScript_233AA0:: @ 8233AA0
- special sub_80B4808
+AquaHideout_B1F_EventScript_Grunt2Defeated:: @ 8233AA0
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox AquaHideout_B1F_Text_233B5E, MSGBOX_DEFAULT
+ msgbox AquaHideout_B1F_Text_Grunt2PostBattle, MSGBOX_DEFAULT
release
end
-AquaHideout_B1F_EventScript_233AB0:: @ 8233AB0
- trainerbattle_single TRAINER_GRUNT_3, AquaHideout_B1F_Text_233BC5, AquaHideout_B1F_Text_233C27, AquaHideout_B1F_EventScript_233ACB
- msgbox AquaHideout_B1F_Text_233C41, MSGBOX_AUTOCLOSE
+AquaHideout_B1F_EventScript_Grunt3:: @ 8233AB0
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_3, AquaHideout_B1F_Text_Grunt3Intro, AquaHideout_B1F_Text_Grunt3Defeat, AquaHideout_B1F_EventScript_Grunt3Defeated
+ msgbox AquaHideout_B1F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_B1F_EventScript_233ACB:: @ 8233ACB
- msgbox AquaHideout_B1F_Text_233C41, MSGBOX_DEFAULT
+AquaHideout_B1F_EventScript_Grunt3Defeated:: @ 8233ACB
+ msgbox AquaHideout_B1F_Text_Grunt3PostBattle, MSGBOX_DEFAULT
release
end
-AquaHideout_B1F_EventScript_233AD5:: @ 8233AD5
- trainerbattle_single TRAINER_GRUNT_21, AquaHideout_B1F_Text_233C89, AquaHideout_B1F_Text_233CCA
- msgbox AquaHideout_B1F_Text_233CDC, MSGBOX_AUTOCLOSE
+AquaHideout_B1F_EventScript_Grunt5:: @ 8233AD5
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_5, AquaHideout_B1F_Text_Grunt5Intro, AquaHideout_B1F_Text_Grunt5Defeat
+ msgbox AquaHideout_B1F_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_B1F_EventScript_233AEC:: @ 8233AEC
- trainerbattle_single TRAINER_GRUNT_25, AquaHideout_B1F_Text_233D1B, AquaHideout_B1F_Text_233D6E
- msgbox AquaHideout_B1F_Text_233D84, MSGBOX_AUTOCLOSE
+AquaHideout_B1F_EventScript_Grunt7:: @ 8233AEC
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_7, AquaHideout_B1F_Text_Grunt7Intro, AquaHideout_B1F_Text_Grunt7Defeat
+ msgbox AquaHideout_B1F_Text_Grunt7PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_B1F_Text_233B03: @ 8233B03
+AquaHideout_B1F_Text_Grunt2Intro: @ 8233B03
.string "If you want to know the secret about\n"
.string "our HIDEOUT, you have me to beat!$"
-AquaHideout_B1F_Text_233B4A: @ 8233B4A
+AquaHideout_B1F_Text_Grunt2Defeat: @ 8233B4A
.string "I can't win at all…$"
-AquaHideout_B1F_Text_233B5E: @ 8233B5E
+AquaHideout_B1F_Text_Grunt2PostBattle: @ 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
+AquaHideout_B1F_Text_Grunt3Intro: @ 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
+AquaHideout_B1F_Text_Grunt3Defeat: @ 8233C27
.string "I took a serious licking!$"
-AquaHideout_B1F_Text_233C41: @ 8233C41
+AquaHideout_B1F_Text_Grunt3PostBattle: @ 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
+AquaHideout_B1F_Text_Grunt5Intro: @ 8233C89
.string "Yawn… Keeping watch over the\n"
.string "HIDEOUT bores me. I'll take you on.$"
-AquaHideout_B1F_Text_233CCA: @ 8233CCA
+AquaHideout_B1F_Text_Grunt5Defeat: @ 8233CCA
.string "Yawn…\n"
.string "Oh, I lost…$"
-AquaHideout_B1F_Text_233CDC: @ 8233CDC
+AquaHideout_B1F_Text_Grunt5PostBattle: @ 8233CDC
.string "If you scurry too much, other TEAM\n"
.string "AQUA members might get you.$"
-AquaHideout_B1F_Text_233D1B: @ 8233D1B
+AquaHideout_B1F_Text_Grunt7Intro: @ 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
+AquaHideout_B1F_Text_Grunt7Defeat: @ 8233D6E
.string "I lost in a cool way…$"
-AquaHideout_B1F_Text_233D84: @ 8233D84
+AquaHideout_B1F_Text_Grunt7PostBattle: @ 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/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json
index b286872af..1ae0fcecd 100644
--- a/data/maps/AquaHideout_B2F/map.json
+++ b/data/maps/AquaHideout_B2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "AquaHideout_B2F_EventScript_233E09",
+ "script": "AquaHideout_B2F_EventScript_Matt",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "AquaHideout_B2F_EventScript_233E8A",
+ "script": "AquaHideout_B2F_EventScript_Grunt4",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "AquaHideout_B2F_EventScript_233EAF",
+ "script": "AquaHideout_B2F_EventScript_Grunt6",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "AquaHideout_B2F_EventScript_233EC6",
+ "script": "AquaHideout_B2F_EventScript_Grunt8",
"flag": "FLAG_HIDE_AQUA_HIDEOUT_GRUNTS"
}
],
@@ -173,7 +173,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "AquaHideout_B2F_EventScript_233DE5"
+ "script": "AquaHideout_B2F_EventScript_MattNoticePlayer"
},
{
"type": "trigger",
@@ -182,7 +182,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "AquaHideout_B2F_EventScript_233DE5"
+ "script": "AquaHideout_B2F_EventScript_MattNoticePlayer"
}
],
"bg_events": []
diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc
index 975715fc2..dd2c38fa4 100644
--- a/data/maps/AquaHideout_B2F/scripts.inc
+++ b/data/maps/AquaHideout_B2F/scripts.inc
@@ -3,16 +3,16 @@ AquaHideout_B2F_MapScripts:: @ 8233DCF
.byte 0
AquaHideout_B2F_OnTransition: @ 8233DD5
- call_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, AquaHideout_B2F_EventScript_233DDF
+ call_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, AquaHideout_B2F_EventScript_PreventMattNoticing
end
-AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF
+AquaHideout_B2F_EventScript_PreventMattNoticing:: @ 8233DDF
setvar VAR_TEMP_1, 1
return
-AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5
+AquaHideout_B2F_EventScript_MattNoticePlayer:: @ 8233DE5
lockall
- setvar VAR_0x8008, 1
+ setvar VAR_0x8008, 1 @ Matt object event id
playse SE_PIN
applymovement VAR_0x8008, Common_Movement_ExclamationMark
waitmovement 0
@@ -22,70 +22,71 @@ AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5
releaseall
end
-AquaHideout_B2F_EventScript_233E09:: @ 8233E09
- trainerbattle_single TRAINER_MATT, AquaHideout_B2F_Text_233EDD, AquaHideout_B2F_Text_233F8D, AquaHideout_B2F_EventScript_233E25
- msgbox AquaHideout_B2F_Text_233FF2, MSGBOX_DEFAULT
+AquaHideout_B2F_EventScript_Matt:: @ 8233E09
+ trainerbattle_single TRAINER_MATT, AquaHideout_B2F_Text_MattIntro, AquaHideout_B2F_Text_MattDefeat, AquaHideout_B2F_EventScript_SubmarineEscape
+ msgbox AquaHideout_B2F_Text_MattPostBattle, MSGBOX_DEFAULT
release
end
-AquaHideout_B2F_EventScript_233E25:: @ 8233E25
- setvar VAR_0x8008, 1
- setvar VAR_0x8009, 4
- applymovement VAR_0x8008, Common_Movement_WalkInPlaceLeft
+AquaHideout_B2F_EventScript_SubmarineEscape:: @ 8233E25
+ setvar VAR_0x8008, 1 @ Matt object event id
+ setvar VAR_0x8009, 4 @ Submarine object event id
+ applymovement VAR_0x8008, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 20
applymovement VAR_0x8008, Common_Movement_FacePlayer
waitmovement 0
- msgbox AquaHideout_B2F_Text_233FA6, MSGBOX_DEFAULT
+ msgbox AquaHideout_B2F_Text_OurBossGotThroughHisPreparations, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8008, Common_Movement_WalkInPlaceLeft
- applymovement VAR_0x8009, AquaHideout_B2F_Movement_233E80
+ applymovement VAR_0x8008, Common_Movement_WalkInPlaceFastestLeft
+ applymovement VAR_0x8009, AquaHideout_B2F_Movement_SumbarineDepartLeft
waitmovement 0
removeobject VAR_0x8009
delay 20
applymovement VAR_0x8008, Common_Movement_FacePlayer
waitmovement 0
- msgbox AquaHideout_B2F_Text_233FF2, MSGBOX_DEFAULT
+ msgbox AquaHideout_B2F_Text_MattPostBattle, MSGBOX_DEFAULT
setflag FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE
setflag FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
release
end
-AquaHideout_B2F_Movement_233E80: @ 8233E80
+AquaHideout_B2F_Movement_SumbarineDepartLeft: @ 8233E80
walk_left
walk_left
walk_left
walk_left
step_end
-AquaHideout_B2F_Movement_233E85: @ 8233E85
+@ Unused
+AquaHideout_B2F_Movement_SumbarineDepartRight: @ 8233E85
walk_right
walk_right
walk_right
walk_right
step_end
-AquaHideout_B2F_EventScript_233E8A:: @ 8233E8A
- trainerbattle_single TRAINER_GRUNT_4, AquaHideout_B2F_Text_2340B4, AquaHideout_B2F_Text_2340F0, AquaHideout_B2F_EventScript_233EA5
- msgbox AquaHideout_B2F_Text_234112, MSGBOX_AUTOCLOSE
+AquaHideout_B2F_EventScript_Grunt4:: @ 8233E8A
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_4, AquaHideout_B2F_Text_Grunt4Intro, AquaHideout_B2F_Text_Grunt4Defeat, AquaHideout_B2F_EventScript_Grunt4Defeated
+ msgbox AquaHideout_B2F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_B2F_EventScript_233EA5:: @ 8233EA5
- msgbox AquaHideout_B2F_Text_234112, MSGBOX_DEFAULT
+AquaHideout_B2F_EventScript_Grunt4Defeated:: @ 8233EA5
+ msgbox AquaHideout_B2F_Text_Grunt4PostBattle, MSGBOX_DEFAULT
release
end
-AquaHideout_B2F_EventScript_233EAF:: @ 8233EAF
- trainerbattle_single TRAINER_GRUNT_22, AquaHideout_B2F_Text_23412D, AquaHideout_B2F_Text_2341CE
- msgbox AquaHideout_B2F_Text_2341FE, MSGBOX_AUTOCLOSE
+AquaHideout_B2F_EventScript_Grunt6:: @ 8233EAF
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_6, AquaHideout_B2F_Text_Grunt6Intro, AquaHideout_B2F_Text_Grunt6Defeat
+ msgbox AquaHideout_B2F_Text_Grunt6PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_B2F_EventScript_233EC6:: @ 8233EC6
- trainerbattle_single TRAINER_GRUNT_26, AquaHideout_B2F_Text_23426F, AquaHideout_B2F_Text_2342CC
- msgbox AquaHideout_B2F_Text_2342FF, MSGBOX_AUTOCLOSE
+AquaHideout_B2F_EventScript_Grunt8:: @ 8233EC6
+ trainerbattle_single TRAINER_GRUNT_AQUA_HIDEOUT_8, AquaHideout_B2F_Text_Grunt8Intro, AquaHideout_B2F_Text_Grunt8Defeat
+ msgbox AquaHideout_B2F_Text_Grunt8PostBattle, MSGBOX_AUTOCLOSE
end
-AquaHideout_B2F_Text_233EDD: @ 8233EDD
+AquaHideout_B2F_Text_MattIntro: @ 8233EDD
.string "Hehehe…\p"
.string "Got here already, did you?\n"
.string "We underestimated you!\p"
@@ -95,16 +96,16 @@ AquaHideout_B2F_Text_233EDD: @ 8233EDD
.string "I'm not stalling for time.\n"
.string "I'm going to pulverize you!$"
-AquaHideout_B2F_Text_233F8D: @ 8233F8D
+AquaHideout_B2F_Text_MattDefeat: @ 8233F8D
.string "Hehehe…\n"
.string "So, I lost, too…$"
-AquaHideout_B2F_Text_233FA6: @ 8233FA6
+AquaHideout_B2F_Text_OurBossGotThroughHisPreparations: @ 8233FA6
.string "Hehehe!\p"
.string "While I was toying with you, our BOSS\n"
.string "got through his preparations!$"
-AquaHideout_B2F_Text_233FF2: @ 8233FF2
+AquaHideout_B2F_Text_MattPostBattle: @ 8233FF2
.string "Hehehe!\p"
.string "Our BOSS has already gone on his way to\n"
.string "some cave under the sea!\p"
@@ -114,19 +115,19 @@ AquaHideout_B2F_Text_233FF2: @ 8233FF2
.string "But will you find it then?\n"
.string "Hehehe!$"
-AquaHideout_B2F_Text_2340B4: @ 82340B4
+AquaHideout_B2F_Text_Grunt4Intro: @ 82340B4
.string "Wahahah, I grew weary of waiting!\n"
.string "You owe me a battle, too!$"
-AquaHideout_B2F_Text_2340F0: @ 82340F0
+AquaHideout_B2F_Text_Grunt4Defeat: @ 82340F0
.string "Tired of waiting…\n"
.string "Lost and dazed…$"
-AquaHideout_B2F_Text_234112: @ 8234112
+AquaHideout_B2F_Text_Grunt4PostBattle: @ 8234112
.string "BOSS…\n"
.string "Is this good enough?$"
-AquaHideout_B2F_Text_23412D: @ 823412D
+AquaHideout_B2F_Text_Grunt6Intro: @ 823412D
.string "Warp panels, the HIDEOUT's pride\n"
.string "and joy!\p"
.string "You're clueless about where you are,\n"
@@ -134,25 +135,25 @@ AquaHideout_B2F_Text_23412D: @ 823412D
.string "Fluster and tire out the enemy, then\n"
.string "lower the boom! That's our plan!$"
-AquaHideout_B2F_Text_2341CE: @ 82341CE
+AquaHideout_B2F_Text_Grunt6Defeat: @ 82341CE
.string "What's wrong with you?\n"
.string "You're not tired at all!$"
-AquaHideout_B2F_Text_2341FE: @ 82341FE
+AquaHideout_B2F_Text_Grunt6PostBattle: @ 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
+AquaHideout_B2F_Text_Grunt8Intro: @ 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
+AquaHideout_B2F_Text_Grunt8Defeat: @ 82342CC
.string "I was too occupied thinking about\n"
.string "the warp panels…$"
-AquaHideout_B2F_Text_2342FF: @ 82342FF
+AquaHideout_B2F_Text_Grunt8PostBattle: @ 82342FF
.string "I'll have to learn about how I can\n"
.string "battle more effectively…$"
diff --git a/data/maps/SingleBattleColosseum/map.json b/data/maps/BattleColosseum_2P/map.json
index a7ad50f1b..282be1e5c 100644
--- a/data/maps/SingleBattleColosseum/map.json
+++ b/data/maps/BattleColosseum_2P/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_SINGLE_BATTLE_COLOSSEUM",
- "name": "SingleBattleColosseum",
- "layout": "LAYOUT_SINGLE_BATTLE_COLOSSEUM",
+ "id": "MAP_BATTLE_COLOSSEUM_2P",
+ "name": "BattleColosseum_2P",
+ "layout": "LAYOUT_BATTLE_COLOSSEUM_2P",
"music": "MUS_RAINBOW",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SingleBattleColosseum_EventScript_2774A6",
+ "script": "BattleColosseum_2P_EventScript_Attendant",
"flag": "0"
}
],
@@ -52,7 +52,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "EventScript_SingleBattleColosseum_PlayerSpot0"
+ "script": "EventScript_BattleColosseum_2P_PlayerSpot0"
},
{
"type": "trigger",
@@ -61,7 +61,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "EventScript_SingleBattleColosseum_PlayerSpot1"
+ "script": "EventScript_BattleColosseum_2P_PlayerSpot1"
}
],
"bg_events": []
diff --git a/data/maps/BattleColosseum_2P/scripts.inc b/data/maps/BattleColosseum_2P/scripts.inc
new file mode 100644
index 000000000..97c6a5d0b
--- /dev/null
+++ b/data/maps/BattleColosseum_2P/scripts.inc
@@ -0,0 +1,3 @@
+BattleColosseum_2P_MapScripts:: @ 823B77D
+ .byte 0
+
diff --git a/data/maps/DoubleBattleColosseum/map.json b/data/maps/BattleColosseum_4P/map.json
index 172bb3fdc..2b849cfc1 100644
--- a/data/maps/DoubleBattleColosseum/map.json
+++ b/data/maps/BattleColosseum_4P/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_DOUBLE_BATTLE_COLOSSEUM",
- "name": "DoubleBattleColosseum",
- "layout": "LAYOUT_DOUBLE_BATTLE_COLOSSEUM",
+ "id": "MAP_BATTLE_COLOSSEUM_4P",
+ "name": "BattleColosseum_4P",
+ "layout": "LAYOUT_BATTLE_COLOSSEUM_4P",
"music": "MUS_RAINBOW",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
@@ -52,7 +52,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "EventScript_DoubleBattleColosseum_PlayerSpot0"
+ "script": "EventScript_BattleColosseum_4P_PlayerSpot0"
},
{
"type": "trigger",
@@ -61,7 +61,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "EventScript_DoubleBattleColosseum_PlayerSpot2"
+ "script": "EventScript_BattleColosseum_4P_PlayerSpot2"
},
{
"type": "trigger",
@@ -70,7 +70,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "EventScript_DoubleBattleColosseum_PlayerSpot1"
+ "script": "EventScript_BattleColosseum_4P_PlayerSpot1"
},
{
"type": "trigger",
@@ -79,7 +79,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "EventScript_DoubleBattleColosseum_PlayerSpot3"
+ "script": "EventScript_BattleColosseum_4P_PlayerSpot3"
}
],
"bg_events": []
diff --git a/data/maps/BattleColosseum_4P/scripts.inc b/data/maps/BattleColosseum_4P/scripts.inc
new file mode 100644
index 000000000..70dca8e27
--- /dev/null
+++ b/data/maps/BattleColosseum_4P/scripts.inc
@@ -0,0 +1,3 @@
+BattleColosseum_4P_MapScripts:: @ 823B780
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
index f3a0ecfb4..7f4439682 100644
--- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
@@ -1,498 +1,443 @@
BattleFrontier_BattleArenaBattleRoom_MapScripts:: @ 8257487
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleArenaBattleRoom_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaBattleRoom_OnWarp
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleArenaBattleRoom_OnResume
.byte 0
-BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C: @ 825749C
- special sub_8139980
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 8, which has the gfx id VAR_OBJ_GFX_ID_1
+
+BattleFrontier_BattleArenaBattleRoom_OnResume: @ 825749C
+ special OffsetCameraForBattle
end
-BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0
- setvar VAR_0x8004, 5
- special CallFrontierUtilFunc
- call BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE
+BattleFrontier_BattleArenaBattleRoom_OnTransition: @ 82574A0
+ frontier_settrainers
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfx
end
-BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE
+BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfx:: @ 82574AE
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxMale
compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxFemale
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6:: @ 82574C6
+BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxMale:: @ 82574C6
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC:: @ 82574CC
+BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxFemale:: @ 82574CC
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2: @ 82574D2
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC
+BattleFrontier_BattleArenaBattleRoom_OnFrame: @ 82574D2
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_EnterRoom
.2byte 0
-BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC
+BattleFrontier_BattleArenaBattleRoom_EventScript_EnterRoom:: @ 82574DC
lockall
showobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE2
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
- applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft
setvar VAR_TEMP_2, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
- setvar VAR_0x8004, 3
- special sub_8161F74
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers:: @ 825752E
+ tower_setopponent
addobject 7
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BEF
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter
waitmovement 0
- applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT
closemessage
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward
waitmovement 0
- applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
waitse
waitmovement 0
- setvar VAR_0x8004, 6
- special CallBattleArenaFunction
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, MSGBOX_DEFAULT
+ arena_gettrainername
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_OpponentStepForward, MSGBOX_DEFAULT
closemessage
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
waitmovement 0
- applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT
closemessage
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
waitmovement 0
- setvar VAR_0x8004, 5
- special CallBattlePalaceFunction
+ palace_getopponentintro
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
- call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle
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
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent
+BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner:: @ 82575DB
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
+ applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
+ applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
+ applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
+ applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
playse SE_W173
waitse
waitmovement 0
- setvar VAR_0x8004, 6
- special CallBattleArenaFunction
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, MSGBOX_DEFAULT
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 4
- special CallFrontierUtilFunc
+ arena_gettrainername
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsOpponent, MSGBOX_DEFAULT
+BattleFrontier_BattleArenaBattleRoom_EventScript_WarpToLobbyLost:: @ 8257615
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
warp MAP_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 CallFrontierUtilFunc
+BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent:: @ 8257630
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
- case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_257852
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE7
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BFA
+ case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject 7
- applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
+BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent:: @ 82576B0
+ frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_TycoonUpNext
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257870
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor2ndOpponent
compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257877
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor3rdOpponent
compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25787E
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor4thOpponent
compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257885
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor5thOpponent
compare VAR_RESULT, 5
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25788C
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor6thOpponent
compare VAR_RESULT, 6
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257893
- call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768
- multichoice 19, 4, 103, 1
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor7thOpponent
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 8257768
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleArenaBattleRoom_EventScript_25779E:: @ 825779E
- message BattleFrontier_BattleArenaBattleRoom_Text_257F04
+BattleFrontier_BattleArenaBattleRoom_EventScript_AskRecordBattle:: @ 825779E
+ message BattleFrontier_BattleArenaBattleRoom_Text_RecordLastBattle
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
- case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0
- case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0:: @ 82577D0
- call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4
- goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+BattleFrontier_BattleArenaBattleRoom_EventScript_RecordBattle:: @ 82577D0
+ call BattleFrontier_EventScript_SaveBattle
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA:: @ 82577DA
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257E6B, MSGBOX_YESNO
+BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge:: @ 82577DA
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_SaveAndShutDown, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
- case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25789A
- case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+ case NO, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
+ case YES, BattleFrontier_BattleArenaBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleArenaBattleRoom_EventScript_257808:: @ 8257808
- message BattleFrontier_BattleArenaBattleRoom_Text_257E9E
+BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge:: @ 8257808
+ message BattleFrontier_BattleArenaBattleRoom_Text_RetireFromChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
- case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257615
- case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_WarpToLobbyLost
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleArenaBattleRoom_EventScript_25783A:: @ 825783A
+BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge:: @ 825783A
closemessage
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
- applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
waitmovement 0
- goto BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers
waitstate
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_257852:: @ 8257852
+BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon:: @ 8257852
delay 60
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
waitstate
-BattleFrontier_BattleArenaBattleRoom_EventScript_257870:: @ 8257870
- message BattleFrontier_BattleArenaBattleRoom_Text_257D17
+BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8257870
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor2ndOpponent
waitmessage
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_257877:: @ 8257877
- message BattleFrontier_BattleArenaBattleRoom_Text_257D50
+BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8257877
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor3rdOpponent
waitmessage
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_25787E:: @ 825787E
- message BattleFrontier_BattleArenaBattleRoom_Text_257D88
+BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor4thOpponent:: @ 825787E
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor4thOpponent
waitmessage
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_257885:: @ 8257885
- message BattleFrontier_BattleArenaBattleRoom_Text_257DC1
+BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor5thOpponent:: @ 8257885
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor5thOpponent
waitmessage
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_25788C:: @ 825788C
- message BattleFrontier_BattleArenaBattleRoom_Text_257DF9
+BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor6thOpponent:: @ 825788C
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor6thOpponent
waitmessage
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_257893:: @ 8257893
- message BattleFrontier_BattleArenaBattleRoom_Text_257E31
+BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor7thOpponent:: @ 8257893
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor7thOpponent
waitmessage
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A
- message BattleFrontier_BattleArenaBattleRoom_Text_257EDB
+BattleFrontier_BattleArenaBattleRoom_EventScript_PauseChallenge:: @ 825789A
+ message BattleFrontier_BattleArenaBattleRoom_Text_SavingPleaseWait
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 2
- special CallBattleArenaFunction
+ arena_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC
+BattleFrontier_BattleArenaBattleRoom_EventScript_TycoonUpNext:: @ 82578BC
compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_NowFaceTycoon, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4
- message BattleFrontier_BattleArenaBattleRoom_Text_257FBB
+BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon:: @ 82578D4
+ message BattleFrontier_BattleArenaBattleRoom_Text_PreparedForTycoon
waitmessage
- call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B
- multichoice 19, 4, 103, 1
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord:: @ 825792B
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta:: @ 8257961
+ call BattleFrontier_EventScript_SetBrainObjectGfx
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight
waitmovement 0
- applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT
closemessage
- applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE4
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong
waitmovement 0
- applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257FED, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_MakeWayForGreta, MSGBOX_DEFAULT
closemessage
addobject 7
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF4
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter
waitmovement 0
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward
waitmovement 0
switch VAR_TEMP_F
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, MSGBOX_DEFAULT
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureChallenger, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25804E, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_IsThatRight, MSGBOX_DEFAULT
closemessage
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258068, MSGBOX_DEFAULT
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, MSGBOX_DEFAULT
- call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_YouLookWeakTakeThingsEasy, MSGBOX_DEFAULT
+BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver:: @ 8257A3F
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_IgniteMyPassionForBattle, MSGBOX_DEFAULT
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C
- goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner
-BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C
- call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver:: @ 8257A5C
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner
+ frontier_getsymbols
compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257852
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureToughAfterAll, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleArenaBattleRoom_Text_25819C
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReceivedGutsSymbol
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2581CF, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, MSGBOX_DEFAULT
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_GoingToBeFunNextTime, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold:: @ 8257AA5
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaLookingForwardToSeeingAgain, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582A2, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_SoAreYouReady, MSGBOX_DEFAULT
closemessage
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582BB, MSGBOX_DEFAULT
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, MSGBOX_DEFAULT
- call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_WontAllowHalfheartedEffort, MSGBOX_DEFAULT
+BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold:: @ 8257AF8
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_LetsGetThisStarted, MSGBOX_DEFAULT
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15
- goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner
-BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15
- call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold:: @ 8257B15
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner
+ frontier_getsymbols
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852
- applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaBlownAway, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleArenaBattleRoom_Text_25835B
+ message BattleFrontier_BattleArenaBattleRoom_Text_GutsSymbolTookGoldenShine
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258383, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
-
-BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E:: @ 8257B5E
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, MSGBOX_DEFAULT
- call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_IfWeBattleAgainWontLose, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle:: @ 8257B5E
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle
return
-BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C:: @ 8257B6C
-FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C
+BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle:: @ 8257B6C
closemessage
setvar VAR_TEMP_2, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_ARENA
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
- setvar VAR_0x8004, 18
- special CallFrontierUtilFunc
+ frontier_restorehelditems
special HealPlayerParty
- setvar VAR_0x8004, 21
- special CallFrontierUtilFunc
+ frontier_resetsketch
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
+BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner:: @ 8257BA9
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
+ applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
+ applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown
+ applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
+ applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp
playse SE_BAN
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CB3, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsPlayer, MSGBOX_DEFAULT
closemessage
- call BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA
+ call BattleFrontier_EventScript_IncrementWinStreak
return
-BattleFrontier_BattleArenaBattleRoom_Movement_257BE2: @ 8257BE2
+BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter: @ 8257BE2
walk_right
walk_right
-
-BattleFrontier_BattleArenaBattleRoom_Movement_257BE4: @ 8257BE4
+BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong: @ 8257BE4
walk_right
-
-BattleFrontier_BattleArenaBattleRoom_Movement_257BE5: @ 8257BE5
+BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward: @ 8257BE5
walk_right
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257BE7: @ 8257BE7
+BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine: @ 8257BE7
walk_left
walk_left
walk_in_place_fastest_right
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257BEB: @ 8257BEB
+BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft: @ 8257BEB
walk_in_place_fastest_up
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257BED: @ 8257BED
+BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight: @ 8257BED
walk_in_place_fastest_right
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257BEF: @ 8257BEF
+BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter: @ 8257BEF
walk_left
walk_left
-
-BattleFrontier_BattleArenaBattleRoom_Movement_257BF1: @ 8257BF1
+BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong: @ 8257BF1
walk_left
-
-BattleFrontier_BattleArenaBattleRoom_Movement_257BF2: @ 8257BF2
+BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward: @ 8257BF2
walk_left
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257BF4: @ 8257BF4
+BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter: @ 8257BF4
walk_fast_left
walk_fast_left
walk_fast_left
@@ -500,7 +445,7 @@ BattleFrontier_BattleArenaBattleRoom_Movement_257BF4: @ 8257BF4
walk_fast_left
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257BFA: @ 8257BFA
+BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit: @ 8257BFA
walk_right
walk_right
walk_right
@@ -510,37 +455,38 @@ BattleFrontier_BattleArenaBattleRoom_Movement_257BFA: @ 8257BFA
walk_right
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257C02: @ 8257C02
+BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown: @ 8257C02
disable_jump_landing_ground_effect
jump_in_place_down
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257C05: @ 8257C05
+BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp: @ 8257C05
disable_jump_landing_ground_effect
jump_in_place_up
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257C08: @ 8257C08
+BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown: @ 8257C08
walk_in_place_fastest_down
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257C0A: @ 8257C0A
+@ Unused, redundant
+BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight2: @ 8257C0A
walk_in_place_fastest_right
step_end
-BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C: @ 8257C0C
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257C16
+BattleFrontier_BattleArenaBattleRoom_OnWarp: @ 8257C0C
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_SetUpRoomObjects
.2byte 0
-BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16
+BattleFrontier_BattleArenaBattleRoom_EventScript_SetUpRoomObjects:: @ 8257C16
hideobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
removeobject 7
- call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_24C773
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible
setvar VAR_TEMP_1, 1
end
-BattleFrontier_BattleArenaBattleRoom_Movement_257C30: @ 8257C30
+BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer: @ 8257C30
walk_down
walk_in_place_fastest_left
delay_16
@@ -552,106 +498,97 @@ BattleFrontier_BattleArenaBattleRoom_Movement_257C30: @ 8257C30
walk_in_place_fastest_left
step_end
-BattleFrontier_BattleArenaBattleRoom_Movement_257C3A: @ 8257C3A
+BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter: @ 8257C3A
walk_down
walk_in_place_fastest_left
step_end
-BattleFrontier_BattleArenaBattleRoom_Text_257C3D: @ 8257C3D
+BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward: @ 8257C3D
.string "REFEREE: TRAINER {PLAYER}!\n"
.string "Step forward, please!$"
-BattleFrontier_BattleArenaBattleRoom_Text_257C68: @ 8257C68
+BattleFrontier_BattleArenaBattleRoom_Text_OpponentStepForward: @ 8257C68
.string "REFEREE: TRAINER {STR_VAR_1}!\n"
.string "Step forward, please!$"
-BattleFrontier_BattleArenaBattleRoom_Text_257C93: @ 8257C93
-FallarborTown_BattleTentBattleRoom_Text_257C93: @ 8257C93
+BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin: @ 8257C93
.string "REFEREE: Set KO Tourney!\n"
.string "Begin!$"
-BattleFrontier_BattleArenaBattleRoom_Text_257CB3: @ 8257CB3
-FallarborTown_BattleTentBattleRoom_Text_257CB3: @ 8257CB3
+BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsPlayer: @ 8257CB3
.string "REFEREE: The winner is {PLAYER}!$"
-BattleFrontier_BattleArenaBattleRoom_Text_257CCE: @ 8257CCE
-FallarborTown_BattleTentBattleRoom_Text_257CCE: @ 8257CCE
+BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsOpponent: @ 8257CCE
.string "REFEREE: The winner is {STR_VAR_1}!$"
-BattleFrontier_BattleArenaBattleRoom_Text_257CE9: @ 8257CE9
-FallarborTown_BattleTentBattleRoom_Text_257CE9: @ 8257CE9
+BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored: @ 8257CE9
.string "Your POKéMON will be restored to\n"
.string "full health.$"
-BattleFrontier_BattleArenaBattleRoom_Text_257D17: @ 8257D17
-FallarborTown_BattleTentBattleRoom_Text_257D17: @ 8257D17
+BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor2ndOpponent: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor3rdOpponent: @ 8257D50
.string "Next up, your third opponent!\n"
.string "Are you ready to move on?$"
-BattleFrontier_BattleArenaBattleRoom_Text_257D88: @ 8257D88
+BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor4thOpponent: @ 8257D88
.string "Next up, your fourth opponent!\n"
.string "Are you ready to move on?$"
-BattleFrontier_BattleArenaBattleRoom_Text_257DC1: @ 8257DC1
+BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor5thOpponent: @ 8257DC1
.string "Next up, your fifth opponent!\n"
.string "Are you ready to move on?$"
-BattleFrontier_BattleArenaBattleRoom_Text_257DF9: @ 8257DF9
+BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor6thOpponent: @ 8257DF9
.string "Next up, your sixth opponent!\n"
.string "Are you ready to move on?$"
-BattleFrontier_BattleArenaBattleRoom_Text_257E31: @ 8257E31
+BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor7thOpponent: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_SaveAndShutDown: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_RetireFromChallenge: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_SavingPleaseWait: @ 8257EDB
.string "I am saving your game data.\n"
.string "Please wait.$"
-BattleFrontier_BattleArenaBattleRoom_Text_257F04: @ 8257F04
+BattleFrontier_BattleArenaBattleRoom_Text_RecordLastBattle: @ 8257F04
.string "Would you like to record your last\n"
.string "battle on your FRONTIER PASS?$"
-BattleFrontier_BattleArenaBattleRoom_Text_257F45: @ 8257F45
+BattleFrontier_BattleArenaBattleRoom_Text_NowFaceTycoon: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_PreparedForTycoon: @ 8257FBB
.string "A battle with the ARENA TYCOON!\n"
.string "Are you prepared?$"
-BattleFrontier_BattleArenaBattleRoom_Text_257FED: @ 8257FED
+BattleFrontier_BattleArenaBattleRoom_Text_MakeWayForGreta: @ 8257FED
.string "REFEREE: The ARENA TYCOON!\n"
.string "Make way for GRETA!$"
-BattleFrontier_BattleArenaBattleRoom_Text_25801C: @ 825801C
+BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureChallenger: @ 825801C
.string "GRETA: Hey!\n"
.string "Howdy!\p"
.string "…Wait, are you the challenger?$"
-BattleFrontier_BattleArenaBattleRoom_Text_25804E: @ 825804E
+BattleFrontier_BattleArenaBattleRoom_Text_IsThatRight: @ 825804E
.string "Is that right? Hmm…\n"
.string "Hmhm…$"
-BattleFrontier_BattleArenaBattleRoom_Text_258068: @ 8258068
+BattleFrontier_BattleArenaBattleRoom_Text_YouLookWeakTakeThingsEasy: @ 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"
@@ -659,53 +596,53 @@ BattleFrontier_BattleArenaBattleRoom_Text_258068: @ 8258068
.string "Well, all right!\n"
.string "We'll take things easy to start with!$"
-BattleFrontier_BattleArenaBattleRoom_Text_25810D: @ 825810D
+BattleFrontier_BattleArenaBattleRoom_Text_IgniteMyPassionForBattle: @ 825810D
.string "Okay! Let's see you ignite my passion\n"
.string "for battle!$"
-BattleFrontier_BattleArenaBattleRoom_Text_25813F: @ 825813F
+BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureToughAfterAll: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_ReceivedGutsSymbol: @ 825819C
.string "The Guts Symbol was embossed on\n"
.string "the FRONTIER PASS!$"
-BattleFrontier_BattleArenaBattleRoom_Text_2581CF: @ 82581CF
+BattleFrontier_BattleArenaBattleRoom_Text_GoingToBeFunNextTime: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_GretaLookingForwardToSeeingAgain: @ 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
+BattleFrontier_BattleArenaBattleRoom_Text_SoAreYouReady: @ 82582A2
.string "… … …\n"
.string "So, are you ready?$"
-BattleFrontier_BattleArenaBattleRoom_Text_2582BB: @ 82582BB
+BattleFrontier_BattleArenaBattleRoom_Text_WontAllowHalfheartedEffort: @ 82582BB
.string "I won't allow a halfhearted effort!\n"
.string "Be ready for a thrashing!$"
-BattleFrontier_BattleArenaBattleRoom_Text_2582F9: @ 82582F9
+BattleFrontier_BattleArenaBattleRoom_Text_LetsGetThisStarted: @ 82582F9
.string "Come on, REFEREE!\n"
.string "Let's get this started!$"
-BattleFrontier_BattleArenaBattleRoom_Text_258323: @ 8258323
+BattleFrontier_BattleArenaBattleRoom_Text_GretaBlownAway: @ 8258323
.string "GRETA: Gaaah! Blown away!\n"
.string "Let's see your FRONTIER PASS!$"
-BattleFrontier_BattleArenaBattleRoom_Text_25835B: @ 825835B
+BattleFrontier_BattleArenaBattleRoom_Text_GutsSymbolTookGoldenShine: @ 825835B
.string "The Guts Symbol took on\n"
.string "a golden shine!$"
-BattleFrontier_BattleArenaBattleRoom_Text_258383: @ 8258383
+BattleFrontier_BattleArenaBattleRoom_Text_IfWeBattleAgainWontLose: @ 8258383
.string "Arrrgh!\n"
.string "This is so infuriating!\p"
.string "If we ever battle again, I won't lose!\n"
diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
index cc362f5f0..465d013fc 100644
--- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
@@ -1,30 +1,30 @@
BattleFrontier_BattleArenaCorridor_MapScripts:: @ 82573B9
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaCorridor_MapScript2_2573BF
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaCorridor_OnFrame
.byte 0
-BattleFrontier_BattleArenaCorridor_MapScript2_2573BF: @ 82573BF
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaCorridor_EventScript_2573C9
+BattleFrontier_BattleArenaCorridor_OnFrame: @ 82573BF
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaCorridor_EventScript_WalkToBattleRoom
.2byte 0
-BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9
+BattleFrontier_BattleArenaCorridor_EventScript_WalkToBattleRoom:: @ 82573C9
delay 16
setvar VAR_TEMP_0, 1
- applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_257417
+ applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerWalkToDoor
waitmovement 0
- applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444
+ applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer
waitmovement 0
- msgbox BattleFrontier_BattleArenaCorridor_Text_257449, MSGBOX_SIGN
- applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446
+ msgbox BattleFrontier_BattleArenaCorridor_Text_PleaseStepIn, MSGBOX_SIGN
+ applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_25742C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor
waitmovement 0
setvar VAR_0x8006, 0
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5
waitstate
end
-BattleFrontier_BattleArenaCorridor_Movement_257417: @ 8257417
+BattleFrontier_BattleArenaCorridor_Movement_PlayerWalkToDoor: @ 8257417
walk_up
walk_left
walk_left
@@ -47,12 +47,12 @@ BattleFrontier_BattleArenaCorridor_Movement_257417: @ 8257417
walk_right
step_end
-BattleFrontier_BattleArenaCorridor_Movement_25742C: @ 825742C
+BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor: @ 825742C
walk_right
set_invisible
step_end
-BattleFrontier_BattleArenaCorridor_Movement_25742F: @ 825742F
+BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor: @ 825742F
walk_left
walk_left
walk_left
@@ -75,16 +75,16 @@ BattleFrontier_BattleArenaCorridor_Movement_25742F: @ 825742F
walk_right
step_end
-BattleFrontier_BattleArenaCorridor_Movement_257444: @ 8257444
+BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer: @ 8257444
walk_in_place_fastest_left
step_end
-BattleFrontier_BattleArenaCorridor_Movement_257446: @ 8257446
+BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay: @ 8257446
walk_up
walk_in_place_fastest_down
step_end
-BattleFrontier_BattleArenaCorridor_Text_257449: @ 8257449
+BattleFrontier_BattleArenaCorridor_Text_PleaseStepIn: @ 8257449
.string "Your battles shall be waged in\n"
.string "the next room. Please step in!$"
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/map.json b/data/maps/BattleFrontier_BattleArenaLobby/map.json
index 49712c5dd..3bec0b5fb 100644
--- a/data/maps/BattleFrontier_BattleArenaLobby/map.json
+++ b/data/maps/BattleFrontier_BattleArenaLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleArenaLobby_EventScript_255DF4",
+ "script": "BattleFrontier_BattleArenaLobby_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleArenaLobby_EventScript_2560C1",
+ "script": "BattleFrontier_BattleArenaLobby_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleArenaLobby_EventScript_2560AF",
+ "script": "BattleFrontier_BattleArenaLobby_EventScript_Man",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleArenaLobby_EventScript_2560B8",
+ "script": "BattleFrontier_BattleArenaLobby_EventScript_Camper",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleArenaLobby_EventScript_2560A6",
+ "script": "BattleFrontier_BattleArenaLobby_EventScript_Youngster",
"flag": "0"
}
],
@@ -97,7 +97,7 @@
"y": 9,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattleArenaLobby_EventScript_256092"
+ "script": "BattleFrontier_BattleArenaLobby_EventScript_ShowResults"
},
{
"type": "sign",
@@ -105,7 +105,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattleArenaLobby_EventScript_2560CA"
+ "script": "BattleFrontier_BattleArenaLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
index 5df47aed1..b1830f167 100644
--- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
@@ -1,276 +1,224 @@
BattleFrontier_BattleArenaLobby_MapScripts:: @ 8255C36
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaLobby_MapScript2_255C55
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaLobby_MapScript2_255C41
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaLobby_OnWarp
.byte 0
-BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaLobby_EventScript_255C4B
+BattleFrontier_BattleArenaLobby_OnWarp: @ 8255C41
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B
+BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth:: @ 8255C4B
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_255C7F
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleArenaLobby_EventScript_255C88
- map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleArenaLobby_EventScript_255DC0
- map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleArenaLobby_EventScript_255CCF
- map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleArenaLobby_EventScript_255D2B
+BattleFrontier_BattleArenaLobby_OnFrame: @ 8255C55
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_LostChallenge
.2byte 0
-BattleFrontier_BattleArenaLobby_EventScript_255C7F:: @ 8255C7F
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus:: @ 8255C7F
+ frontier_getstatus
end
-BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88
+BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving:: @ 8255C88
lockall
- msgbox BattleFrontier_BattleArenaLobby_Text_256811, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaLobby_Text_DidntSaveBeforeShuttingDown, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallBattleArenaFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattleArenaFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ arena_set ARENA_DATA_WIN_STREAK, 0
+ arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF
+BattleFrontier_BattleArenaLobby_EventScript_WonChallenge:: @ 8255CCF
lockall
- setvar VAR_0x8004, 10
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0
- msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_255CF8
-
-BattleFrontier_BattleArenaLobby_EventScript_255CF0:: @ 8255CF0
- msgbox BattleFrontier_BattleArenaLobby_Text_2572D9, MSGBOX_DEFAULT
-
-BattleFrontier_BattleArenaLobby_EventScript_255CF8:: @ 8255CF8
- msgbox BattleFrontier_BattleArenaLobby_Text_257353, MSGBOX_DEFAULT
- setvar VAR_0x8004, 11
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleArenaLobby_Text_241520, 9
- message BattleFrontier_BattleArenaLobby_Text_256931
+ frontier_isbrain
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon
+ msgbox BattleFrontier_BattleArenaLobby_Text_CongratsOnSevenWins, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints
+
+BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon:: @ 8255CF0
+ msgbox BattleFrontier_BattleArenaLobby_Text_CongratsOnDefeatingTycoon, MSGBOX_DEFAULT
+BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints:: @ 8255CF8
+ msgbox BattleFrontier_BattleArenaLobby_Text_PleaseAcceptBattlePoints, MSGBOX_DEFAULT
+ frontier_givepoints
+ msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ message BattleFrontier_BattleArenaLobby_Text_RecordAchievement
waitmessage
- call BattleFrontier_BattleArenaLobby_EventScript_255D59
- msgbox BattleFrontier_BattleArenaLobby_Text_256A74, MSGBOX_DEFAULT
+ call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge
+ msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B
+BattleFrontier_BattleArenaLobby_EventScript_LostChallenge:: @ 8255D2B
lockall
- message BattleFrontier_BattleArenaLobby_Text_256A2C
+ message BattleFrontier_BattleArenaLobby_Text_ThankYouWaitWhileSave
waitmessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattleArenaFunction
- call BattleFrontier_BattleArenaLobby_EventScript_255D59
- msgbox BattleFrontier_BattleArenaLobby_Text_256A74, MSGBOX_DEFAULT
+ arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE
+ call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge
+ msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
+BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge:: @ 8255D59
+ frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special CallBattleArenaFunction
+ arena_save 0
playse SE_SAVE
waitse
- call BattleFrontier_BattleArenaLobby_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF
- message BattleFrontier_BattleArenaLobby_Text_256B19
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
+ message BattleFrontier_BattleArenaLobby_Text_RecordLastMatch
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattleArenaLobby_EventScript_255DBF
- case 0, BattleFrontier_BattleArenaLobby_EventScript_255DBA
- case 127, BattleFrontier_BattleArenaLobby_EventScript_255DBF
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_RecordMatch
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255DBA:: @ 8255DBA
- call BattleFrontier_BattleArenaLobby_EventScript_23E8B4
-
-BattleFrontier_BattleArenaLobby_EventScript_255DBF:: @ 8255DBF
+BattleFrontier_BattleArenaLobby_EventScript_RecordMatch:: @ 8255DBA
+ call BattleFrontier_EventScript_SaveBattle
+BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge:: @ 8255DBF
return
-BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0
+BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge:: @ 8255DC0
lockall
- message BattleFrontier_BattleArenaLobby_Text_256AA1
+ message BattleFrontier_BattleArenaLobby_Text_LookingForwardToArrivalSaveGame
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 1
- special CallBattleArenaFunction
+ arena_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
- goto BattleFrontier_BattleArenaLobby_EventScript_255F54
+ goto BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4
+BattleFrontier_BattleArenaLobby_EventScript_Attendant:: @ 8255DF4
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 3
- setvar VAR_FRONTIER_BATTLE_MODE, 0
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
- msgbox BattleFrontier_BattleArenaLobby_Text_256166, MSGBOX_DEFAULT
-
-BattleFrontier_BattleArenaLobby_EventScript_255E0B:: @ 8255E0B
- message BattleFrontier_BattleArenaLobby_Text_2561EA
+ msgbox BattleFrontier_BattleArenaLobby_Text_WelcomeToBattleArena, MSGBOX_DEFAULT
+BattleFrontier_BattleArenaLobby_EventScript_AskTakeChallenge:: @ 8255E0B
+ message BattleFrontier_BattleArenaLobby_Text_WishToTakeChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_ExplainChallenge
+ case 2, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
- message BattleFrontier_BattleArenaLobby_Text_256513
+BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge:: @ 8255E47
+ message BattleFrontier_BattleArenaLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB
- case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleArenaLobby_Text_256573, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattleArenaLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattleArenaLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8
- msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
+ msgbox BattleFrontier_BattleArenaLobby_Text_OkayToSave, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleArenaLobby_EventScript_255FF8
- case 1, BattleFrontier_BattleArenaLobby_EventScript_255EE8
- case 127, BattleFrontier_BattleArenaLobby_EventScript_255FF8
+ case NO, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
+ case YES, BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
+BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge:: @ 8255EE8
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special CallBattleArenaFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 1
- special CallBattleArenaFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ arena_init
+ arena_set ARENA_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1
-
-BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed
+BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge:: @ 8255F54
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleArenaLobby_Text_2567E6, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ msgbox BattleFrontier_BattleArenaLobby_Text_GuideYouToArena, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256005
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256050
+ frontier_get FRONTIER_DATA_LVL_MODE
+ compare VAR_RESULT, FRONTIER_LVL_50
+ call_if_eq BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50
+ compare VAR_RESULT, FRONTIER_LVL_OPEN
+ call_if_eq BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13
setvar VAR_TEMP_0, 0
waitstate
end
-BattleFrontier_BattleArenaLobby_EventScript_255F9F:: @ 8255F9F
- msgbox BattleFrontier_BattleArenaLobby_Text_25624C, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_255E0B
+BattleFrontier_BattleArenaLobby_EventScript_ExplainChallenge:: @ 8255F9F
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainChallenge, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_AskTakeChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255FAC:: @ 8255FAC
+BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons:: @ 8255FAC
switch VAR_RESULT
- case 0, BattleFrontier_BattleArenaLobby_EventScript_255FC7
- case 1, BattleFrontier_BattleArenaLobby_EventScript_255FD4
+ case FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLvOpen
-BattleFrontier_BattleArenaLobby_EventScript_255FC7:: @ 8255FC7
- msgbox BattleFrontier_BattleArenaLobby_Text_2566A8, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_256003
+BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLv50:: @ 8255FC7
+ msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255FD4:: @ 8255FD4
- msgbox BattleFrontier_BattleArenaLobby_Text_2565A5, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_256003
+BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8255FD4
+ msgbox BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255FE1:: @ 8255FE1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleArenaLobby_EventScript_255FFB
+BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed:: @ 8255FE1
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
-BattleFrontier_BattleArenaLobby_EventScript_255FF8:: @ 8255FF8
+BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge:: @ 8255FF8
special LoadPlayerParty
-
-BattleFrontier_BattleArenaLobby_EventScript_255FFB:: @ 8255FFB
- msgbox BattleFrontier_BattleArenaLobby_Text_25621F, MSGBOX_DEFAULT
-
-BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003
+BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge:: @ 8255FFB
+ msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge, MSGBOX_DEFAULT
+BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge:: @ 8256003
release
end
-BattleFrontier_BattleArenaLobby_EventScript_256005:: @ 8256005
- applymovement 1, BattleFrontier_BattleArenaLobby_Movement_256034
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256041
+BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50:: @ 8256005
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor
waitmovement 0
opendoor 2, 2
waitdooranim
- applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 2, 2
waitdooranim
return
-BattleFrontier_BattleArenaLobby_Movement_256034: @ 8256034
+BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor: @ 8256034
walk_up
walk_up
walk_up
@@ -282,12 +230,12 @@ BattleFrontier_BattleArenaLobby_Movement_256034: @ 8256034
walk_up
step_end
-BattleFrontier_BattleArenaLobby_Movement_25603E: @ 825603E
+BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor: @ 825603E
walk_up
set_invisible
step_end
-BattleFrontier_BattleArenaLobby_Movement_256041: @ 8256041
+BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor: @ 8256041
walk_up
walk_up
walk_up
@@ -300,26 +248,26 @@ BattleFrontier_BattleArenaLobby_Movement_256041: @ 8256041
walk_in_place_fastest_up
step_end
-BattleFrontier_BattleArenaLobby_Movement_25604C: @ 825604C
+BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor: @ 825604C
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattleArenaLobby_EventScript_256050:: @ 8256050
- applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25607F
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256088
+BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen:: @ 8256050
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor
waitmovement 0
opendoor 11, 2
waitdooranim
- applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 11, 2
waitdooranim
return
-BattleFrontier_BattleArenaLobby_Movement_25607F: @ 825607F
+BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor: @ 825607F
walk_up
walk_up
walk_up
@@ -330,7 +278,7 @@ BattleFrontier_BattleArenaLobby_Movement_25607F: @ 825607F
walk_up
step_end
-BattleFrontier_BattleArenaLobby_Movement_256088: @ 8256088
+BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor: @ 8256088
walk_up
walk_up
walk_up
@@ -342,90 +290,88 @@ BattleFrontier_BattleArenaLobby_Movement_256088: @ 8256088
walk_in_place_fastest_up
step_end
-BattleFrontier_BattleArenaLobby_EventScript_256092:: @ 8256092
+BattleFrontier_BattleArenaLobby_EventScript_ShowResults:: @ 8256092
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_ARENA
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleArenaLobby_EventScript_2560A6:: @ 82560A6
- msgbox BattleFrontier_BattleArenaLobby_Text_256B5C, MSGBOX_NPC
+BattleFrontier_BattleArenaLobby_EventScript_Youngster:: @ 82560A6
+ msgbox BattleFrontier_BattleArenaLobby_Text_BadIdeaToNotAttack, MSGBOX_NPC
end
-BattleFrontier_BattleArenaLobby_EventScript_2560AF:: @ 82560AF
- msgbox BattleFrontier_BattleArenaLobby_Text_256BCB, MSGBOX_NPC
+BattleFrontier_BattleArenaLobby_EventScript_Man:: @ 82560AF
+ msgbox BattleFrontier_BattleArenaLobby_Text_LandingHitsWorked, MSGBOX_NPC
end
-BattleFrontier_BattleArenaLobby_EventScript_2560B8:: @ 82560B8
- msgbox BattleFrontier_BattleArenaLobby_Text_256C19, MSGBOX_NPC
+BattleFrontier_BattleArenaLobby_EventScript_Camper:: @ 82560B8
+ msgbox BattleFrontier_BattleArenaLobby_Text_MatchWasDeclaredDraw, MSGBOX_NPC
end
-BattleFrontier_BattleArenaLobby_EventScript_2560C1:: @ 82560C1
- msgbox BattleFrontier_BattleArenaLobby_Text_256C9A, MSGBOX_NPC
+BattleFrontier_BattleArenaLobby_EventScript_Woman:: @ 82560C1
+ msgbox BattleFrontier_BattleArenaLobby_Text_OrderOfMonsImportant, MSGBOX_NPC
end
-BattleFrontier_BattleArenaLobby_EventScript_2560CA:: @ 82560CA
+BattleFrontier_BattleArenaLobby_EventScript_RulesBoard:: @ 82560CA
lockall
- msgbox BattleFrontier_BattleArenaLobby_Text_256DB8, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+ msgbox BattleFrontier_BattleArenaLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleArenaLobby_EventScript_2560D9:: @ 82560D9
- message BattleFrontier_BattleArenaLobby_Text_256DDF
+BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard:: @ 82560D9
+ message BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading
waitmessage
- multichoice 17, 2, 96, 0
+ multichoice 17, 2, MULTI_BATTLE_ARENA_RULES, 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
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_BattleRules
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_MindRules
+ case 2, BattleFrontier_BattleArenaLobby_EventScript_SkillRules
+ case 3, BattleFrontier_BattleArenaLobby_EventScript_BodyRules
+ case 4, BattleFrontier_BattleArenaLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_ExitRules
end
-BattleFrontier_BattleArenaLobby_EventScript_25612C:: @ 825612C
- msgbox BattleFrontier_BattleArenaLobby_Text_256E02, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+BattleFrontier_BattleArenaLobby_EventScript_BattleRules:: @ 825612C
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleArenaLobby_EventScript_25613A:: @ 825613A
- msgbox BattleFrontier_BattleArenaLobby_Text_256F43, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+BattleFrontier_BattleArenaLobby_EventScript_MindRules:: @ 825613A
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainMindRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleArenaLobby_EventScript_256148:: @ 8256148
- msgbox BattleFrontier_BattleArenaLobby_Text_256FF2, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+BattleFrontier_BattleArenaLobby_EventScript_SkillRules:: @ 8256148
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleArenaLobby_EventScript_256156:: @ 8256156
- msgbox BattleFrontier_BattleArenaLobby_Text_257202, MSGBOX_DEFAULT
- goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+BattleFrontier_BattleArenaLobby_EventScript_BodyRules:: @ 8256156
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleArenaLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleArenaLobby_EventScript_256164:: @ 8256164
+BattleFrontier_BattleArenaLobby_EventScript_ExitRules:: @ 8256164
releaseall
end
-BattleFrontier_BattleArenaLobby_Text_256166: @ 8256166
+BattleFrontier_BattleArenaLobby_Text_WelcomeToBattleArena: @ 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
+BattleFrontier_BattleArenaLobby_Text_WishToTakeChallenge: @ 82561EA
.string "Now, do you wish to take\n"
.string "the BATTLE ARENA challenge?$"
-BattleFrontier_BattleArenaLobby_Text_25621F: @ 825621F
+BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge: @ 825621F
.string "We await your challenge on\n"
.string "another occasion!$"
-BattleFrontier_BattleArenaLobby_Text_25624C: @ 825624C
+BattleFrontier_BattleArenaLobby_Text_ExplainChallenge: @ 825624C
.string "In the BATTLE ARENA, we undertake\n"
.string "the Set KO Tourney.\p"
.string "All participants enter with a team of\n"
@@ -446,20 +392,20 @@ BattleFrontier_BattleArenaLobby_Text_25624C: @ 825624C
.string "seven TRAINERS in succession,\l"
.string "we will present you with Battle Points.$"
-BattleFrontier_BattleArenaLobby_Text_2564CE: @ 82564CE
+BattleFrontier_BattleArenaLobby_Text_OkayToSave: @ 82564CE
.string "Before showing you to the BATTLE\n"
.string "ARENA, you must save. Is that okay?$"
-BattleFrontier_BattleArenaLobby_Text_256513: @ 8256513
+BattleFrontier_BattleArenaLobby_Text_WhichLevelMode: @ 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
+BattleFrontier_BattleArenaLobby_Text_SelectThreeMons: @ 8256573
.string "Very well, now select your\n"
.string "three POKéMON, please.$"
-BattleFrontier_BattleArenaLobby_Text_2565A5: @ 82565A5
+BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLvOpen: @ 82565A5
.string "My dear challenger!\p"
.string "You do not have the three POKéMON\n"
.string "required for entry.\p"
@@ -471,7 +417,7 @@ BattleFrontier_BattleArenaLobby_Text_2565A5: @ 82565A5
.string "When you have made your preparations,\n"
.string "please do return.$"
-BattleFrontier_BattleArenaLobby_Text_2566A8: @ 82566A8
+BattleFrontier_BattleArenaLobby_Text_NotEnoughValidMonsLv50: @ 82566A8
.string "My dear challenger!\p"
.string "You do not have the three POKéMON\n"
.string "required for entry.\p"
@@ -485,11 +431,11 @@ BattleFrontier_BattleArenaLobby_Text_2566A8: @ 82566A8
.string "When you have made your preparations,\n"
.string "please do return.$"
-BattleFrontier_BattleArenaLobby_Text_2567E6: @ 82567E6
+BattleFrontier_BattleArenaLobby_Text_GuideYouToArena: @ 82567E6
.string "I shall now guide you to\n"
.string "the BATTLE ARENA.$"
-BattleFrontier_BattleArenaLobby_Text_256811: @ 8256811
+BattleFrontier_BattleArenaLobby_Text_DidntSaveBeforeShuttingDown: @ 8256811
.string "My dear challenger!\p"
.string "You did not save the game before\n"
.string "shutting down, did you?\p"
@@ -499,64 +445,67 @@ BattleFrontier_BattleArenaLobby_Text_256811: @ 8256811
.string "You may, of course, start with a fresh\n"
.string "challenge.$"
-BattleFrontier_BattleArenaLobby_Text_2568E7: @ 82568E7
+BattleFrontier_BattleArenaLobby_Text_CongratsOnSevenWins: @ 82568E7
.string "We congratulate you for your splendid\n"
.string "string of wins over seven TRAINERS!$"
-BattleFrontier_BattleArenaLobby_Text_256931: @ 8256931
+BattleFrontier_BattleArenaLobby_Text_RecordAchievement: @ 8256931
.string "Your achievement will be recorded.\n"
.string "Please wait while I save the game.$"
-BattleFrontier_BattleArenaLobby_Text_256977: @ 8256977
+@ Unused
+BattleFrontier_BattleArenaLobby_Text_PresentYouWithPrize: @ 8256977
.string "In commemoration of your 7-win streak,\n"
.string "we present you with this prize.$"
-BattleFrontier_BattleArenaLobby_Text_2569BE: @ 82569BE
+@ Unused
+BattleFrontier_BattleArenaLobby_Text_ReceivedPrize: @ 82569BE
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
-BattleFrontier_BattleArenaLobby_Text_2569D8: @ 82569D8
+@ Unused
+BattleFrontier_BattleArenaLobby_Text_BagFullReturnForPrize: @ 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
+BattleFrontier_BattleArenaLobby_Text_ThankYouWaitWhileSave: @ 8256A2C
.string "Thank you so much for participating!\p"
.string "Please wait while I save the game.$"
-BattleFrontier_BattleArenaLobby_Text_256A74: @ 8256A74
+BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2: @ 8256A74
.string "We await your challenge on\n"
.string "another occasion!$"
-BattleFrontier_BattleArenaLobby_Text_256AA1: @ 8256AA1
+BattleFrontier_BattleArenaLobby_Text_LookingForwardToArrivalSaveGame: @ 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
+BattleFrontier_BattleArenaLobby_Text_RecordLastMatch: @ 8256B19
.string "Shall I record your last BATTLE ARENA\n"
.string "match on your FRONTIER PASS?$"
-BattleFrontier_BattleArenaLobby_Text_256B5C: @ 8256B5C
+BattleFrontier_BattleArenaLobby_Text_BadIdeaToNotAttack: @ 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
+BattleFrontier_BattleArenaLobby_Text_LandingHitsWorked: @ 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
+BattleFrontier_BattleArenaLobby_Text_MatchWasDeclaredDraw: @ 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
+BattleFrontier_BattleArenaLobby_Text_OrderOfMonsImportant: @ 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"
@@ -567,16 +516,13 @@ BattleFrontier_BattleArenaLobby_Text_256C9A: @ 8256C9A
.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
+BattleFrontier_BattleArenaLobby_Text_RulesAreListed: @ 8256DB8
.string "The Set KO Tourney's rules are listed.$"
-BattleFrontier_BattleArenaLobby_Text_256DDF: @ 8256DDF
-FallarborTown_BattleTentLobby_Text_256DDF: @ 8256DDF
+BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading: @ 8256DDF
.string "Which heading do you want to read?$"
-BattleFrontier_BattleArenaLobby_Text_256E02: @ 8256E02
-FallarborTown_BattleTentLobby_Text_256E02: @ 8256E02
+BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules: @ 8256E02
.string "The Set KO Tourney has special rules,\n"
.string "unlike standard battles.\p"
.string "First, one battle lasts only\n"
@@ -588,8 +534,7 @@ FallarborTown_BattleTentLobby_Text_256E02: @ 8256E02
.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
+BattleFrontier_BattleArenaLobby_Text_ExplainMindRules: @ 8256F43
.string "The first judging factor is “Mind.”\n"
.string "This factor evaluates how aggressive\l"
.string "the battlers were.\p"
@@ -597,8 +542,7 @@ FallarborTown_BattleTentLobby_Text_256F43: @ 8256F43
.string "the TRAINERS ordered the use of\l"
.string "offensive moves.$"
-BattleFrontier_BattleArenaLobby_Text_256FF2: @ 8256FF2
-FallarborTown_BattleTentLobby_Text_256FF2: @ 8256FF2
+BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules: @ 8256FF2
.string "The second judging factor is “Skill.”\n"
.string "This factor evaluates how effectively\l"
.string "POKéMON moves were used.\p"
@@ -617,8 +561,7 @@ FallarborTown_BattleTentLobby_Text_256FF2: @ 8256FF2
.string "hit with a move, its Skill rating will not\l"
.string "go down.$"
-BattleFrontier_BattleArenaLobby_Text_257202: @ 8257202
-FallarborTown_BattleTentLobby_Text_257202: @ 8257202
+BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules: @ 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"
@@ -626,13 +569,13 @@ FallarborTown_BattleTentLobby_Text_257202: @ 8257202
.string "HP a POKéMON had at the start of\l"
.string "battle, and what remained at the end.$"
-BattleFrontier_BattleArenaLobby_Text_2572D9: @ 82572D9
+BattleFrontier_BattleArenaLobby_Text_CongratsOnDefeatingTycoon: @ 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
+BattleFrontier_BattleArenaLobby_Text_PleaseAcceptBattlePoints: @ 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/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
index 59a010691..2d03b461a 100644
--- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
@@ -1,533 +1,465 @@
BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleDomeBattleRoom_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeBattleRoom_OnWarp
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeBattleRoom_OnResume
.byte 0
-BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1
- setvar VAR_0x8004, 10
- special CallBattleDomeFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ .set NO_DRAW, 0
+ .set DRAW_TRAINER, 1
+ .set DRAW_TUCKER, 2
+
+BattleFrontier_BattleDomeBattleRoom_OnTransition: @ 824BCB1
+ dome_setopponentgfx
+ frontier_get FRONTIER_DATA_BATTLE_NUM
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C919
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC
+ compare VAR_RESULT, DOME_ROUND1
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx
end
-BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC:: @ 824BCDC
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC
+BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx:: @ 824BCDC
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxMale
compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxFemale
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4:: @ 824BCF4
+BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxMale:: @ 824BCF4
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA:: @ 824BCFA
+BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxFemale:: @ 824BCFA
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00: @ 824BD00
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A
+BattleFrontier_BattleDomeBattleRoom_OnFrame: @ 824BD00
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_EnterRoom
.2byte 0
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A
+BattleFrontier_BattleDomeBattleRoom_EventScript_EnterRoom:: @ 824BD0A
lockall
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C938
- applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum
+ compare VAR_RESULT, DOME_ROUND1
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat
+ applymovement 1, Common_Movement_WalkInPlaceDown
waitmovement 0
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, MSGBOX_DEFAULT
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayer
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerHasEnteredDome, MSGBOX_DEFAULT
closemessage
showobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
- compare VAR_TEMP_F, 3
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E
- compare VAR_TEMP_E, 0
- goto_if_ne 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
+ compare VAR_TEMP_F, DOME_FINAL
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter
+ compare VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker
+BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter:: @ 824BD4E
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker:: @ 824BD5A
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker
+BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer:: @ 824BD61
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitmovement 0
- compare VAR_TEMP_F, 3
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82
- compare VAR_TEMP_E, 0
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
- setvar VAR_0x8004, 4
- special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, MSGBOX_DEFAULT
+ compare VAR_TEMP_F, DOME_FINAL
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent
+ compare VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTucker
+BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent:: @ 824BD82
+ dome_getopponentname
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTrainer, MSGBOX_DEFAULT
closemessage
- applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77B
- applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C789
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward
waitmovement 0
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- special sub_8161F74
+ tower_getopponentintro 0
msgbox gStringVar4, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 5
- special CallBattleDomeFunction
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440
- setvar VAR_TEMP_2, 0
+ dome_initopponentparty
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle
+ setvar VAR_TEMP_2, NO_DRAW
switch VAR_RESULT
- case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0
- case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
- case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
- setvar VAR_TEMP_2, 1
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA86, MSGBOX_DEFAULT
+ case B_OUTCOME_WON, BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent
+ case B_OUTCOME_LOST, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent
+ case B_OUTCOME_FORFEITED, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent
+ setvar VAR_TEMP_2, DRAW_TRAINER
+BattleFrontier_BattleDomeBattleRoom_EventScript_Draw:: @ 824BDF7
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_RefereeDecisionPleaseWait, MSGBOX_DEFAULT
closemessage
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
- applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C964
+ applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeEnter
waitmovement 0
- applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C969
+ applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeFaceLeft
waitmovement 0
delay 180
- applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C96B
+ applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeExit
waitmovement 0
- compare VAR_TEMP_2, 2
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
- setvar VAR_0x8004, 19
- special CallBattleDomeFunction
+ compare VAR_TEMP_2, DRAW_TUCKER @ Tucker always wins on a draw
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent
+ dome_compareseeds
switch VAR_RESULT
- case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F
- applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent
+BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent:: @ 824BE4F
+ applymovement 1, Common_Movement_WalkInPlaceDown
waitmovement 0
- setvar VAR_0x8004, 4
- special CallBattleDomeFunction
- compare VAR_TEMP_2, 0
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1
- compare VAR_TEMP_2, 1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5
- compare VAR_TEMP_2, 2
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9
+ dome_getopponentname
+ compare VAR_TEMP_2, NO_DRAW
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon
+ compare VAR_TEMP_2, DRAW_TRAINER
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw
+ compare VAR_TEMP_2, DRAW_TUCKER
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D:: @ 824BE8D
- setvar VAR_0x8004, 12
- setvar VAR_0x8005, 2
- special CallBattleDomeFunction
-
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 4
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
-@ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1:: @ 824BEB1
- setvar VAR_0x8004, 20
- setvar VAR_0x8005, 1
- special CallFrontierUtilFunc
- message BattleFrontier_BattleDomeBattleRoom_Text_24C9E1
+BattleFrontier_BattleDomeBattleRoom_EventScript_LostTourney:: @ 824BE8D
+ dome_resolvewinners DOME_PLAYER_LOST_MATCH
+BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobbyLost:: @ 824BE9A
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon:: @ 824BEB1
+ frontier_gettrainername 1
+ message BattleFrontier_BattleDomeBattleRoom_Text_TrainerIsWinner
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5:: @ 824BEC5
- setvar VAR_0x8004, 20
- setvar VAR_0x8005, 0
- special CallFrontierUtilFunc
- message BattleFrontier_BattleDomeBattleRoom_Text_24CB34
+BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw:: @ 824BEC5
+ frontier_gettrainername 0
+ message BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTrainer
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9:: @ 824BED9
- message BattleFrontier_BattleDomeBattleRoom_Text_24D6BE
+BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw:: @ 824BED9
+ message BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTucker
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0
- applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
+BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent:: @ 824BEE0
+ applymovement 1, Common_Movement_WalkInPlaceDown
waitmovement 0
- compare VAR_TEMP_2, 0
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3
- compare VAR_TEMP_2, 1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC
+ compare VAR_TEMP_2, NO_DRAW
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon
+ compare VAR_TEMP_2, DRAW_TRAINER
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
- setvar VAR_0x8004, 3
- special CallBattleDomeFunction
- setvar VAR_0x8004, 12
- setvar VAR_0x8005, 1
- special CallBattleDomeFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ dome_getroundtext
+ dome_resolvewinners DOME_PLAYER_WON_MATCH
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
- case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ case DOME_ROUNDS_COUNT, BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
setvar VAR_0x8006, 1
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 3
waitstate
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62:: @ 824BF62
- applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77D
+BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney:: @ 824BF62
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallFrontierUtilFunc
+ frontier_get FRONTIER_DATA_LVL_MODE
switch VAR_RESULT
- case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA04, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96:: @ 824BF96
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA44, MSGBOX_DEFAULT
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E:: @ 824BF9E
- special sub_8175280
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattleDomeBattleRoom_EventScript_WonLvOpenTourney
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLv50Champ, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_CelebrateWin
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_WonLvOpenTourney:: @ 824BF96
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLvOpenChamp, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_CelebrateWin:: @ 824BF9E
+ special DoConfettiEffect
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3:: @ 824BFC3
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C9BE, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon:: @ 824BFC3
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsWinner, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC:: @ 824BFCC
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CB9D, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw:: @ 824BFCC
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerPlayer, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 6
- special CallBattleDomeFunction
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallBattleDomeFunction
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattleDomeFunction
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayer:: @ 824BFD5
+ dome_get DOME_DATA_ATTEMPTED_CHALLENGE
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttempt
+ dome_get DOME_DATA_HAS_WON_CHALLENGE
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWon
+ dome_get DOME_DATA_WIN_STREAK_ACTIVE
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreak
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampion
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C023:: @ 824C023
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttempt:: @ 824C023
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum
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
+ case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound1
+ case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound2
+ case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptSemifinal
+ case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptFinal
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C05A:: @ 824C05A
- message BattleFrontier_BattleDomeBattleRoom_Text_24CC06
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound1:: @ 824C05A
+ message BattleFrontier_BattleDomeBattleRoom_Text_BrightNewHope
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C061:: @ 824C061
- message BattleFrontier_BattleDomeBattleRoom_Text_24CC1C
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptRound2:: @ 824C061
+ message BattleFrontier_BattleDomeBattleRoom_Text_RisingStar
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C068:: @ 824C068
- message BattleFrontier_BattleDomeBattleRoom_Text_24CC2E
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptSemifinal:: @ 824C068
+ message BattleFrontier_BattleDomeBattleRoom_Text_WillTheyRaceToChampionship
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C06F:: @ 824C06F
- message BattleFrontier_BattleDomeBattleRoom_Text_24CC5B
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttemptFinal:: @ 824C06F
+ message BattleFrontier_BattleDomeBattleRoom_Text_CanAchieveChampionFirstTry
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C076:: @ 824C076
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWon:: @ 824C076
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum
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
+ case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound1
+ case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound2
+ case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonSemifinal
+ case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonFinal
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C0AD:: @ 824C0AD
- message BattleFrontier_BattleDomeBattleRoom_Text_24CC99
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound1:: @ 824C0AD
+ message BattleFrontier_BattleDomeBattleRoom_Text_CanLossBeAvenged
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C0B4:: @ 824C0B4
- message BattleFrontier_BattleDomeBattleRoom_Text_24CCC5
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonRound2:: @ 824C0B4
+ message BattleFrontier_BattleDomeBattleRoom_Text_OnFireForChampionship
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C0BB:: @ 824C0BB
- message BattleFrontier_BattleDomeBattleRoom_Text_24CCFD
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonSemifinal:: @ 824C0BB
+ message BattleFrontier_BattleDomeBattleRoom_Text_WinHereAdvancesToFinal
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2:: @ 824C0C2
- message BattleFrontier_BattleDomeBattleRoom_Text_24CD33
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonFinal:: @ 824C0C2
+ message BattleFrontier_BattleDomeBattleRoom_Text_WillLongHeldDreamComeTrue
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9:: @ 824C0C9
- compare VAR_TEMP_F, 3
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C105
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampion:: @ 824C0C9
+ compare VAR_TEMP_F, DOME_FINAL
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionNoTucker
switch VAR_TEMP_E
- 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
+ case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerSilver
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerGold
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionNoTucker:: @ 824C105
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum
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
+ case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound1
+ case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound2
+ case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionSemifinal
+ case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionFinal
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C13C:: @ 824C13C
- message BattleFrontier_BattleDomeBattleRoom_Text_24CD72
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound1:: @ 824C13C
+ message BattleFrontier_BattleDomeBattleRoom_Text_TheInvincibleChampion
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C143:: @ 824C143
- message BattleFrontier_BattleDomeBattleRoom_Text_24CD8C
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionRound2:: @ 824C143
+ message BattleFrontier_BattleDomeBattleRoom_Text_CanAnyoneHopeToBeatTrainer
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C14A:: @ 824C14A
- message BattleFrontier_BattleDomeBattleRoom_Text_24CDB3
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionSemifinal:: @ 824C14A
+ message BattleFrontier_BattleDomeBattleRoom_Text_DoBattlesExistSolelyForTrainer
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C151:: @ 824C151
- message BattleFrontier_BattleDomeBattleRoom_Text_24CDDE
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionFinal:: @ 824C151
+ message BattleFrontier_BattleDomeBattleRoom_Text_CurrentChampAimingToRetainTitle
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C158:: @ 824C158
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEBE, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerSilver:: @ 824C158
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_FeelGlowOfTrueMaster, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C161:: @ 824C161
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D232, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerGold:: @ 824C161
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_CanWinStreakBeStretched, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A:: @ 824C16A
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreak:: @ 824C16A
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum
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
+ case DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound1
+ case DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound2
+ case DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakSemifinal
+ case DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakFinal
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A1:: @ 824C1A1
- message BattleFrontier_BattleDomeBattleRoom_Text_24CE10
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound1:: @ 824C1A1
+ message BattleFrontier_BattleDomeBattleRoom_Text_FormerChampHasReturned
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A8:: @ 824C1A8
- message BattleFrontier_BattleDomeBattleRoom_Text_24CE33
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakRound2:: @ 824C1A8
+ message BattleFrontier_BattleDomeBattleRoom_Text_FormerToughnessReturned
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C1AF:: @ 824C1AF
- message BattleFrontier_BattleDomeBattleRoom_Text_24CE57
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakSemifinal:: @ 824C1AF
+ message BattleFrontier_BattleDomeBattleRoom_Text_WillDoExpectedAdvanceToFinals
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6:: @ 824C1B6
- message BattleFrontier_BattleDomeBattleRoom_Text_24CE94
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreakFinal:: @ 824C1B6
+ message BattleFrontier_BattleDomeBattleRoom_Text_WillFormerChampRegainGlory
waitmessage
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD:: @ 824C1BD
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum:: @ 824C1BD
+ frontier_get FRONTIER_DATA_BATTLE_NUM
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTucker:: @ 824C1CB
switch VAR_TEMP_E
- 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, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C211
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C209:: @ 824C209
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D26C, MSGBOX_DEFAULT
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211
+ case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerSilver
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerSilver:: @ 824C1FC
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_MakeWayForDomeAceTucker, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerEnter
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold:: @ 824C209
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_LegendHasReturnedDomeAceTucker, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerEnter:: @ 824C211
closemessage
- applymovement 2, BattleFrontier_BattleDomeBattleRoom_Movement_24C94B
- applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9
- applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78E
+ applymovement 2, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump
+ applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeMoveForTuckerEntrance
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
waitmovement 0
- message BattleFrontier_BattleDomeBattleRoom_Text_24CF7A
+ message BattleFrontier_BattleDomeBattleRoom_Text_SpectatorTuckerChant
waitmessage
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
switch VAR_TEMP_E
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0D9, MSGBOX_DEFAULT
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerGoldIntro
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_TuckerSilverIntro, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver:: @ 824C2B9
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_LetsSeeYourStrategy, MSGBOX_DEFAULT
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle
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, MSGBOX_DEFAULT
- setvar VAR_0x8004, 12
- setvar VAR_0x8005, 1
- special CallBattleDomeFunction
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+ case B_OUTCOME_LOST, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker
+ case B_OUTCOME_FORFEITED, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker
+ case B_OUTCOME_DREW, BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerDraw
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer, MSGBOX_DEFAULT
+ dome_resolvewinners DOME_PLAYER_WON_MATCH
+ frontier_getsymbols
compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
closemessage
- applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
waitmovement 0
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D172, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_SeeYourFrontierPass, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleDomeBattleRoom_Text_24D1AA
+ message BattleFrontier_BattleDomeBattleRoom_Text_ReceivedTacticsSymbol
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D1E0, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D43E, MSGBOX_DEFAULT
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_WontUnderestimateYouNextTime, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerGoldIntro:: @ 824C346
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_TuckerGoldIntro, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold:: @ 824C373
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_UnleashAllPowerIPossess, MSGBOX_DEFAULT
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle
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, MSGBOX_DEFAULT
- setvar VAR_0x8004, 12
- setvar VAR_0x8005, 1
- special CallBattleDomeFunction
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+ case B_OUTCOME_LOST, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker
+ case B_OUTCOME_FORFEITED, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker
+ case B_OUTCOME_DREW, BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerDraw
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer, MSGBOX_DEFAULT
+ dome_resolvewinners DOME_PLAYER_WON_MATCH
+ frontier_getsymbols
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
closemessage
- applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
waitmovement 0
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D47F, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_NeverLostWhenPowerUnleashed, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleDomeBattleRoom_Text_24D522
+ message BattleFrontier_BattleDomeBattleRoom_Text_TacticsSymbolTookGoldenShine
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D54D, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_LookForwardToNextEncounter, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C400:: @ 824C400
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D677, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle:: @ 824C400
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTucker, MSGBOX_DEFAULT
closemessage
- applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C787
- applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C829
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward
waitmovement 0
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C420:: @ 824C420
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D127, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeBattleRoom_EventScript_LostToTucker:: @ 824C420
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_WinnerIsTucker, MSGBOX_DEFAULT
playse SE_W227B
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitse
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_LostTourney
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C436:: @ 824C436
- setvar VAR_TEMP_2, 2
- goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7
+BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerDraw:: @ 824C436
+ setvar VAR_TEMP_2, DRAW_TUCKER
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_Draw
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle:: @ 824C440
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_DOME
setvar VAR_0x8005, 0
@@ -535,66 +467,61 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
special DoSpecialTrainerBattle
waitstate
setvar VAR_TEMP_9, 0
- setvar VAR_0x8004, 17
- special CallBattleDomeFunction
+ dome_restorehelditems
special HealPlayerParty
- setvar VAR_0x8004, 16
- special CallBattleDomeFunction
+ dome_resetsketch
return
-BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481: @ 824C481
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B
+BattleFrontier_BattleDomeBattleRoom_OnWarp: @ 824C481
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects
.2byte 0
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B
+BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects:: @ 824C48B
hideobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx
setvar VAR_TEMP_1, 1
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_24C773
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- compare VAR_RESULT, 3
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ compare VAR_RESULT, DOME_FINAL
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects
+ frontier_getbrainstatus
copyvar VAR_TEMP_E, VAR_RESULT
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
- call BattleFrontier_BattleDomeBattleRoom_EventScript_242170
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects
+ call BattleFrontier_EventScript_SetBrainObjectGfx
setobjectxyperm 15, 13, 9
removeobject 15
addobject 15
- applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78B
-
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF:: @ 824C4EF
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp
+BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects:: @ 824C4EF
end
-BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0: @ 824C4F0
+BattleFrontier_BattleDomeBattleRoom_OnResume: @ 824C4F0
compare VAR_TEMP_9, 1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience
end
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC
- call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502
+BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience:: @ 824C4FC
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C502:: @ 824C502
- compare VAR_TEMP_F, 0
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F
- compare VAR_TEMP_F, 1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C530
- compare VAR_TEMP_F, 2
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C594
- compare VAR_TEMP_F, 3
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C652
+@ Add audience members to supplement the permanent object event audience
+BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience:: @ 824C502
+ compare VAR_TEMP_F, DOME_ROUND1
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound1Audience
+ compare VAR_TEMP_F, DOME_ROUND2
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound2Audience
+ compare VAR_TEMP_F, DOME_SEMIFINAL
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddSemifinalAudience
+ compare VAR_TEMP_F, DOME_FINAL
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddFinalAudience
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F:: @ 824C52F
+BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound1Audience:: @ 824C52F
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C530:: @ 824C530
+BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound2Audience:: @ 824C530
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
@@ -608,7 +535,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C530:: @ 824C530
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C594:: @ 824C594
+BattleFrontier_BattleDomeBattleRoom_EventScript_AddSemifinalAudience:: @ 824C594
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
@@ -632,7 +559,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C594:: @ 824C594
createvobject EVENT_OBJ_GFX_WOMAN_5, 31, 8, 2, 3, 1
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C652:: @ 824C652
+BattleFrontier_BattleDomeBattleRoom_EventScript_AddFinalAudience:: @ 824C652
createvobject EVENT_OBJ_GFX_NINJA_BOY, 0, 2, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_BEAUTY, 2, 15, 0, 3, DIR_SOUTH
@@ -667,28 +594,27 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C652:: @ 824C652
createvobject EVENT_OBJ_GFX_WOMAN_5, 31, 8, 2, 3, DIR_SOUTH
return
-BattleFrontier_BattleArenaBattleRoom_Movement_24C773: @ 824C773
-BattleFrontier_BattleDomeBattleRoom_Movement_24C773: @ 824C773
+BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible: @ 824C773
set_invisible
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C775: @ 824C775
+BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter: @ 824C775
set_visible
delay_16
walk_up
walk_up
walk_up
walk_right
-
-BattleFrontier_BattleDomeBattleRoom_Movement_24C77B: @ 824C77B
+BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward: @ 824C77B
walk_right
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C77D: @ 824C77D
+BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience: @ 824C77D
walk_up
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C77F: @ 824C77F
+@ Identical to Movement_PlayerEnter
+BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker: @ 824C77F
set_visible
delay_16
walk_up
@@ -698,20 +624,20 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C77F: @ 824C77F
walk_right
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C787: @ 824C787
+BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2: @ 824C787
walk_right
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C789: @ 824C789
+BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward: @ 824C789
walk_left
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C78B: @ 824C78B
+BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp: @ 824C78B
face_up
set_invisible
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C78E: @ 824C78E
+BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance: @ 824C78E
set_visible
walk_up
walk_up
@@ -820,7 +746,7 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C78E: @ 824C78E
walk_left
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9: @ 824C7F9
+BattleFrontier_BattleDomeBattleRoom_Movement_RefereeMoveForTuckerEntrance: @ 824C7F9
delay_16
delay_16
walk_left
@@ -870,99 +796,99 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9: @ 824C7F9
walk_in_place_fastest_down
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C829: @ 824C829
+BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward: @ 824C829
walk_left
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C82B: @ 824C82B
+BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer: @ 824C82B
walk_left
walk_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
+BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround:: @ 824C82E
+ turnvobject 0, DIR_EAST
+ turnvobject 2, DIR_EAST
+ turnvobject 4, DIR_EAST
+ turnvobject 6, DIR_EAST
+ turnvobject 8, DIR_EAST
+ turnvobject 10, DIR_WEST
+ turnvobject 12, DIR_WEST
+ turnvobject 14, DIR_WEST
+ turnvobject 16, DIR_WEST
+ turnvobject 18, DIR_WEST
+ turnvobject 20, DIR_EAST
+ turnvobject 22, DIR_EAST
+ turnvobject 24, DIR_EAST
+ turnvobject 26, DIR_EAST
+ turnvobject 28, DIR_EAST
+ turnvobject 30, DIR_EAST
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
+ turnvobject 0, DIR_SOUTH
+ turnvobject 2, DIR_SOUTH
+ turnvobject 4, DIR_SOUTH
+ turnvobject 6, DIR_SOUTH
+ turnvobject 8, DIR_SOUTH
+ turnvobject 10, DIR_SOUTH
+ turnvobject 12, DIR_SOUTH
+ turnvobject 14, DIR_SOUTH
+ turnvobject 16, DIR_SOUTH
+ turnvobject 18, DIR_SOUTH
+ turnvobject 20, DIR_SOUTH
+ turnvobject 22, DIR_SOUTH
+ turnvobject 24, DIR_SOUTH
+ turnvobject 26, DIR_SOUTH
+ turnvobject 28, DIR_SOUTH
+ turnvobject 30, DIR_SOUTH
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
+ turnvobject 1, DIR_EAST
+ turnvobject 3, DIR_EAST
+ turnvobject 5, DIR_EAST
+ turnvobject 7, DIR_EAST
+ turnvobject 9, DIR_EAST
+ turnvobject 11, DIR_WEST
+ turnvobject 13, DIR_WEST
+ turnvobject 15, DIR_WEST
+ turnvobject 17, DIR_WEST
+ turnvobject 19, DIR_WEST
+ turnvobject 21, DIR_EAST
+ turnvobject 23, DIR_EAST
+ turnvobject 25, DIR_EAST
+ turnvobject 27, DIR_WEST
+ turnvobject 31, DIR_WEST
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
+ turnvobject 1, DIR_SOUTH
+ turnvobject 3, DIR_SOUTH
+ turnvobject 5, DIR_SOUTH
+ turnvobject 7, DIR_SOUTH
+ turnvobject 9, DIR_SOUTH
+ turnvobject 11, DIR_SOUTH
+ turnvobject 13, DIR_SOUTH
+ turnvobject 15, DIR_SOUTH
+ turnvobject 17, DIR_SOUTH
+ turnvobject 19, DIR_SOUTH
+ turnvobject 21, DIR_SOUTH
+ turnvobject 23, DIR_SOUTH
+ turnvobject 25, DIR_SOUTH
+ turnvobject 27, DIR_SOUTH
+ turnvobject 31, DIR_SOUTH
delay 20
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5
+BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby:: @ 824C8F5
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F
+ compare VAR_RESULT, FRONTIER_MODE_DOUBLES
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11
waitstate
end
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F:: @ 824C90F
+BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles:: @ 824C90F
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 17, 11
waitstate
end
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919
+@ On round 1 there's a 50% chance that a specific audience member will walk to his seat
+BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos:: @ 824C919
random 2
copyvar VAR_TEMP_D, VAR_RESULT
compare VAR_TEMP_D, 0
@@ -971,13 +897,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919
setobjectmovementtype 6, MOVEMENT_TYPE_FACE_RIGHT
return
-BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938
+BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat:: @ 824C938
compare VAR_TEMP_D, 0
goto_if_eq Common_EventScript_NopReturn
- applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_24C95E
+ applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat
return
-BattleFrontier_BattleDomeBattleRoom_Movement_24C94B: @ 824C94B
+BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump: @ 824C94B
delay_16
delay_16
delay_16
@@ -998,7 +924,7 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C94B: @ 824C94B
enable_jump_landing_ground_effect
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C95E: @ 824C95E
+BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat: @ 824C95E
walk_down
walk_down
walk_right
@@ -1006,52 +932,52 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C95E: @ 824C95E
walk_in_place_fastest_down
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C964: @ 824C964
+BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeEnter: @ 824C964
walk_right
walk_right
walk_right
walk_right
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C969: @ 824C969
+BattleFrontier_BattleDomeBattleRoom_Movement_RefereeFaceLeft: @ 824C969
walk_in_place_fastest_left
step_end
-BattleFrontier_BattleDomeBattleRoom_Movement_24C96B: @ 824C96B
+BattleFrontier_BattleDomeBattleRoom_Movement_TieRefereeExit: @ 824C96B
walk_left
walk_left
walk_left
walk_left
step_end
-BattleFrontier_BattleDomeBattleRoom_Text_24C970: @ 824C970
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerHasEnteredDome: @ 824C970
.string "{PLAYER} has entered the BATTLE DOME!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24C990: @ 824C990
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTrainer: @ 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
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsWinner: @ 824C9BE
.string "{PLAYER} is the winner!\n"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24C9E1: @ 824C9E1
+BattleFrontier_BattleDomeBattleRoom_Text_TrainerIsWinner: @ 824C9E1
.string "{STR_VAR_2} is the winner!\n"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CA04: @ 824CA04
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLv50Champ: @ 824CA04
.string "{PLAYER} is the Level 50\n"
.string "Battle Tournament Champion!\p"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CA44: @ 824CA44
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLvOpenChamp: @ 824CA44
.string "{PLAYER} is the Open Level\n"
.string "Battle Tournament Champion!\p"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CA86: @ 824CA86
+BattleFrontier_BattleDomeBattleRoom_Text_RefereeDecisionPleaseWait: @ 824CA86
.string "What an unbelievable finish!\n"
.string "We have a double knockout!\p"
.string "In this event, the Battle Tournament\n"
@@ -1059,7 +985,7 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CA86: @ 824CA86
.string "Please wait while the judging\n"
.string "is under way.$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CB34: @ 824CB34
+BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTrainer: @ 824CB34
.string "The REFEREES have reached\n"
.string "a decision!\p"
.string "The winner is…\n"
@@ -1067,7 +993,7 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CB34: @ 824CB34
.string "The winner is {STR_VAR_1}!\l"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CB9D: @ 824CB9D
+BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerPlayer: @ 824CB9D
.string "The REFEREES have reached\n"
.string "a decision!\p"
.string "The winner is…\n"
@@ -1075,85 +1001,85 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CB9D: @ 824CB9D
.string "The winner is {PLAYER}!\l"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CC06: @ 824CC06
+BattleFrontier_BattleDomeBattleRoom_Text_BrightNewHope: @ 824CC06
.string "The bright new hope!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CC1C: @ 824CC1C
+BattleFrontier_BattleDomeBattleRoom_Text_RisingStar: @ 824CC1C
.string "The rising star!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CC2E: @ 824CC2E
+BattleFrontier_BattleDomeBattleRoom_Text_WillTheyRaceToChampionship: @ 824CC2E
.string "Will this TRAINER race to\n"
.string "the championship?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CC5B: @ 824CC5B
+BattleFrontier_BattleDomeBattleRoom_Text_CanAchieveChampionFirstTry: @ 824CC5B
.string "Can the feat of a championship\n"
.string "on the first try be achieved?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CC99: @ 824CC99
+BattleFrontier_BattleDomeBattleRoom_Text_CanLossBeAvenged: @ 824CC99
.string "Can the loss of the last match\n"
.string "be avenged?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CCC5: @ 824CCC5
+BattleFrontier_BattleDomeBattleRoom_Text_OnFireForChampionship: @ 824CCC5
.string "The TRAINER is on fire for\n"
.string "the first championship try!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CCFD: @ 824CCFD
+BattleFrontier_BattleDomeBattleRoom_Text_WinHereAdvancesToFinal: @ 824CCFD
.string "A win here means this TRAINER\n"
.string "advances to the final!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CD33: @ 824CD33
+BattleFrontier_BattleDomeBattleRoom_Text_WillLongHeldDreamComeTrue: @ 824CD33
.string "Will the long-held dream of\n"
.string "a championship finally come true?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CD72: @ 824CD72
+BattleFrontier_BattleDomeBattleRoom_Text_TheInvincibleChampion: @ 824CD72
.string "The invincible champion!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CD8C: @ 824CD8C
+BattleFrontier_BattleDomeBattleRoom_Text_CanAnyoneHopeToBeatTrainer: @ 824CD8C
.string "Can anyone hope to beat this\n"
.string "TRAINER?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CDB3: @ 824CDB3
+BattleFrontier_BattleDomeBattleRoom_Text_DoBattlesExistSolelyForTrainer: @ 824CDB3
.string "Do battles exist solely for\n"
.string "this TRAINER?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CDDE: @ 824CDDE
+BattleFrontier_BattleDomeBattleRoom_Text_CurrentChampAimingToRetainTitle: @ 824CDDE
.string "The current champion aiming to\n"
.string "retain the title!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CE10: @ 824CE10
+BattleFrontier_BattleDomeBattleRoom_Text_FormerChampHasReturned: @ 824CE10
.string "The former champion has returned!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CE33: @ 824CE33
+BattleFrontier_BattleDomeBattleRoom_Text_FormerToughnessReturned: @ 824CE33
.string "The former toughness has returned!\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CE57: @ 824CE57
+BattleFrontier_BattleDomeBattleRoom_Text_WillDoExpectedAdvanceToFinals: @ 824CE57
.string "Will this TRAINER do as expected\n"
.string "and advance to the finals?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CE94: @ 824CE94
+BattleFrontier_BattleDomeBattleRoom_Text_WillFormerChampRegainGlory: @ 824CE94
.string "Will the former champ regain\n"
.string "lost glory?\p"
.string "$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CEBE: @ 824CEBE
+BattleFrontier_BattleDomeBattleRoom_Text_FeelGlowOfTrueMaster: @ 824CEBE
.string "Feel the glow of a true master!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CEDE: @ 824CEDE
+BattleFrontier_BattleDomeBattleRoom_Text_MakeWayForDomeAceTucker: @ 824CEDE
.string "And now… The TRAINER standing in\n"
.string "{PLAYER}'s record-setting path…\p"
.string "Yes! The one and only!\n"
@@ -1161,11 +1087,11 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CEDE: @ 824CEDE
.string "Our very own DOME ACE!\l"
.string "Make way for TUCKER!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CF7A: @ 824CF7A
+BattleFrontier_BattleDomeBattleRoom_Text_SpectatorTuckerChant: @ 824CF7A
.string "Spectators: TUCKER! TUCKER!\n"
.string "TUCKER! TUCKER! TUCKER!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24CFAE: @ 824CFAE
+BattleFrontier_BattleDomeBattleRoom_Text_TuckerSilverIntro: @ 824CFAE
.string "TUCKER: Ahahah!\p"
.string "Do you hear it? This crowd!\n"
.string "They're all itching to see our match!\p"
@@ -1177,37 +1103,37 @@ BattleFrontier_BattleDomeBattleRoom_Text_24CFAE: @ 824CFAE
.string "I, TUCKER the DOME ACE, will bathe you\l"
.string "in my brilliant glow!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D0D9: @ 824D0D9
+BattleFrontier_BattleDomeBattleRoom_Text_LetsSeeYourStrategy: @ 824D0D9
.string "Your strategy!\n"
.string "Let's see it!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D0F6: @ 824D0F6
+BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer: @ 824D0F6
.string "Unbelievable! It's incredible!\n"
.string "The victor is {PLAYER}!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D127: @ 824D127
+BattleFrontier_BattleDomeBattleRoom_Text_WinnerIsTucker: @ 824D127
.string "The winner is TUCKER!\n"
.string "The DOME ACE has prevailed!\p"
.string "Congratulations, TUCKER!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D172: @ 824D172
+BattleFrontier_BattleDomeBattleRoom_Text_SeeYourFrontierPass: @ 824D172
.string "TUCKER: Rules are rules!\n"
.string "Let me see your FRONTIER PASS.$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D1AA: @ 824D1AA
+BattleFrontier_BattleDomeBattleRoom_Text_ReceivedTacticsSymbol: @ 824D1AA
.string "The Tactics Symbol was embossed on\n"
.string "the FRONTIER PASS!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D1E0: @ 824D1E0
+BattleFrontier_BattleDomeBattleRoom_Text_WontUnderestimateYouNextTime: @ 824D1E0
.string "… … … … … …\p"
.string "I sorely underestimated you. I won't\n"
.string "make the same mistake next time…$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D232: @ 824D232
+BattleFrontier_BattleDomeBattleRoom_Text_CanWinStreakBeStretched: @ 824D232
.string "Can the win streak be stretched?\n"
.string "The confidence is there!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D26C: @ 824D26C
+BattleFrontier_BattleDomeBattleRoom_Text_LegendHasReturnedDomeAceTucker: @ 824D26C
.string "Ladies and gentlemen!\n"
.string "Boys, girls, and POKéMON!\p"
.string "Finally!\n"
@@ -1216,7 +1142,7 @@ BattleFrontier_BattleDomeBattleRoom_Text_24D26C: @ 824D26C
.string "Our very own DOME ACE!\l"
.string "It's none other than TUCKER!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D319: @ 824D319
+BattleFrontier_BattleDomeBattleRoom_Text_TuckerGoldIntro: @ 824D319
.string "TUCKER: Ah…\n"
.string "The pummeling roar of the crowd…\l"
.string "Their furnace-like heat of excitement…\l"
@@ -1228,22 +1154,22 @@ BattleFrontier_BattleDomeBattleRoom_Text_24D319: @ 824D319
.string "Brighter and more brilliant!\l"
.string "I must light all that gather here!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D43E: @ 824D43E
+BattleFrontier_BattleDomeBattleRoom_Text_UnleashAllPowerIPossess: @ 824D43E
.string "I will unleash all the power that\n"
.string "I possess! Right here and now!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D47F: @ 824D47F
+BattleFrontier_BattleDomeBattleRoom_Text_NeverLostWhenPowerUnleashed: @ 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
+BattleFrontier_BattleDomeBattleRoom_Text_TacticsSymbolTookGoldenShine: @ 824D522
.string "The Tactics Symbol took on\n"
.string "a golden shine!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D54D: @ 824D54D
+BattleFrontier_BattleDomeBattleRoom_Text_LookForwardToNextEncounter: @ 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"
@@ -1251,22 +1177,24 @@ BattleFrontier_BattleDomeBattleRoom_Text_24D54D: @ 824D54D
.string "I will very much look forward to\n"
.string "our next encounter!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D5F5: @ 824D5F5
+@ Unused
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLv50Champ2: @ 824D5F5
.string "{PLAYER} is the Level 50\n"
.string "Battle Tournament Champion!\p"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D635: @ 824D635
+@ Unused
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerIsLvOpenChamp2: @ 824D635
.string "{PLAYER} is the Open Level\n"
.string "Battle Tournament Champion!\p"
.string "Congratulations!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D677: @ 824D677
+BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTucker: @ 824D677
.string "The final match!\p"
.string "{PLAYER} versus the DOME ACE, TUCKER!\p"
.string "Let the battle begin!$"
-BattleFrontier_BattleDomeBattleRoom_Text_24D6BE: @ 824D6BE
+BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTucker: @ 824D6BE
.string "The REFEREES have reached\n"
.string "a decision!\p"
.string "The winner is…\n"
diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
index c777f7a7a..be8071c8c 100644
--- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
@@ -1,51 +1,48 @@
BattleFrontier_BattleDomeCorridor_MapScripts:: @ 824B0FE
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeCorridor_MapScript2_24B104
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeCorridor_OnFrame
.byte 0
-BattleFrontier_BattleDomeCorridor_MapScript2_24B104: @ 824B104
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeCorridor_EventScript_24B10E
+BattleFrontier_BattleDomeCorridor_OnFrame: @ 824B104
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor
.2byte 0
-BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E
+BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor:: @ 824B10E
delay 16
setvar VAR_TEMP_0, 1
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161
- applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1A1
+ frontier_get FRONTIER_DATA_LVL_MODE
+ compare VAR_RESULT, FRONTIER_LVL_OPEN
+ goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLv50
waitmovement 0
opendoor 13, 3
waitdooranim
- applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1BE
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1AE
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLv50
waitmovement 0
closedoor 13, 3
waitdooranim
- goto BattleFrontier_BattleDomeCorridor_EventScript_24B18F
+ goto BattleFrontier_BattleDomeCorridor_EventScript_WarpToPreBattleRoom
-BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161
- applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1D6
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1C1
+BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen:: @ 824B161
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLvOpen
waitmovement 0
opendoor 37, 3
waitdooranim
- applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1E6
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1D2
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLvOpen
waitmovement 0
closedoor 37, 3
waitdooranim
-
-BattleFrontier_BattleDomeCorridor_EventScript_24B18F:: @ 824B18F
+BattleFrontier_BattleDomeCorridor_EventScript_WarpToPreBattleRoom:: @ 824B18F
waitmovement 0
setvar VAR_0x8006, 0
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 7
waitstate
end
-BattleFrontier_BattleDomeCorridor_Movement_24B1A1: @ 824B1A1
+BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLv50: @ 824B1A1
walk_up
walk_left
walk_left
@@ -60,13 +57,13 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1A1: @ 824B1A1
walk_in_place_fastest_up
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1AE: @ 824B1AE
+BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLv50: @ 824B1AE
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1B2: @ 824B1B2
+BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50: @ 824B1B2
walk_left
walk_left
walk_left
@@ -80,12 +77,12 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1B2: @ 824B1B2
walk_up
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1BE: @ 824B1BE
+BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50: @ 824B1BE
walk_up
set_invisible
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1C1: @ 824B1C1
+BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLvOpen: @ 824B1C1
walk_up
walk_right
walk_right
@@ -104,13 +101,13 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1C1: @ 824B1C1
walk_in_place_fastest_up
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1D2: @ 824B1D2
+BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLvOpen: @ 824B1D2
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1D6: @ 824B1D6
+BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen: @ 824B1D6
walk_right
walk_right
walk_right
@@ -128,12 +125,13 @@ BattleFrontier_BattleDomeCorridor_Movement_24B1D6: @ 824B1D6
walk_up
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1E6: @ 824B1E6
+BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen: @ 824B1E6
walk_up
set_invisible
step_end
-BattleFrontier_BattleDomeCorridor_Movement_24B1E9: @ 824B1E9
+@ Unused
+BattleFrontier_BattleDomeCorridor_Movement_WalkToBattleRoomMidRight: @ 824B1E9
walk_up
walk_right
walk_right
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/map.json b/data/maps/BattleFrontier_BattleDomeLobby/map.json
index 89eeb60e4..3559d6e1d 100644
--- a/data/maps/BattleFrontier_BattleDomeLobby/map.json
+++ b/data/maps/BattleFrontier_BattleDomeLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249A35",
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249E10",
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_Man",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249DFE",
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_Lass",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249E07",
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_FatMan",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249DED",
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_Maniac",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249A47",
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendant",
"flag": "0"
}
],
@@ -117,7 +117,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249D52"
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_ShowSinglesResults"
},
{
"type": "sign",
@@ -125,7 +125,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249D84"
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_ShowPrevTourneyTree"
},
{
"type": "sign",
@@ -133,7 +133,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249D6B"
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_ShowDoublesResults"
},
{
"type": "sign",
@@ -141,7 +141,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattleDomeLobby_EventScript_249E34"
+ "script": "BattleFrontier_BattleDomeLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
index 68ecf802b..788bcbaa2 100644
--- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
@@ -1,395 +1,323 @@
BattleFrontier_BattleDomeLobby_MapScripts:: @ 82497E2
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeLobby_MapScript1_2497F2
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeLobby_MapScript2_24980F
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_MapScript2_2497FB
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeLobby_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_OnWarp
.byte 0
-BattleFrontier_BattleDomeLobby_MapScript1_2497F2: @ 82497F2
- setvar VAR_0x8004, 21
- special CallBattleDomeFunction
+BattleFrontier_BattleDomeLobby_OnResume: @ 82497F2
+ dome_initresultstree
end
-BattleFrontier_BattleDomeLobby_MapScript2_2497FB: @ 82497FB
-BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeLobby_EventScript_249805
+BattleFrontier_BattleDomeLobby_OnWarp: @ 82497FB
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomeLobby_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805
+BattleFrontier_BattleDomeLobby_EventScript_TurnPlayerNorth:: @ 8249805
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_249839
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleDomeLobby_EventScript_249842
- map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleDomeLobby_EventScript_2499F9
- map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleDomeLobby_EventScript_24989B
- map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleDomeLobby_EventScript_249940
+BattleFrontier_BattleDomeLobby_OnFrame: @ 824980F
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleDomeLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleDomeLobby_EventScript_LostChallenge
.2byte 0
-BattleFrontier_BattleDomeLobby_EventScript_249839:: @ 8249839
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus:: @ 8249839
+ frontier_getstatus
end
-BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842
+BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving:: @ 8249842
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24A45F, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleDomeLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallBattleDomeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallBattleDomeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallBattleDomeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ dome_set DOME_DATA_WIN_STREAK, 0
+ dome_set DOME_DATA_WIN_STREAK_ACTIVE, FALSE
+ dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B
- call BattleFrontier_BattleDomeLobby_EventScript_241EBA
+BattleFrontier_BattleDomeLobby_EventScript_WonChallenge:: @ 824989B
+ call BattleFrontier_EventScript_IncrementWinStreak
lockall
- setvar VAR_0x8004, 10
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1
- msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeLobby_EventScript_2498C9
-
-BattleFrontier_BattleDomeLobby_EventScript_2498C1:: @ 82498C1
- msgbox BattleFrontier_BattleDomeLobby_Text_24AD67, MSGBOX_DEFAULT
-
-BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
- msgbox BattleFrontier_BattleDomeLobby_Text_24ADB1, MSGBOX_DEFAULT
- setvar VAR_0x8004, 11
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleDomeLobby_Text_241520, 9
- message BattleFrontier_BattleDomeLobby_Text_24A5D6
+ frontier_isbrain
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_DefeatedAce
+ msgbox BattleFrontier_BattleDomeLobby_Text_CongratsForWinningTourney, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeLobby_EventScript_GiveBattlePoints
+
+BattleFrontier_BattleDomeLobby_EventScript_DefeatedAce:: @ 82498C1
+ msgbox BattleFrontier_BattleDomeLobby_Text_CongratsDefeatedTucker, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeLobby_EventScript_GiveBattlePoints:: @ 82498C9
+ msgbox BattleFrontier_BattleDomeLobby_Text_AwardTheseBattlePoints, MSGBOX_DEFAULT
+ frontier_givepoints
+ msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ message BattleFrontier_BattleDomeLobby_Text_RecordWillBeSaved
waitmessage
special LoadPlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallBattleDomeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- setvar VAR_0x8006, 1
- special CallBattleDomeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 1
- special CallBattleDomeFunction
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ frontier_checkairshow
+ dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE
+ dome_set DOME_DATA_HAS_WON_CHALLENGE, TRUE
+ dome_set DOME_DATA_WIN_STREAK_ACTIVE, TRUE
special LoadPlayerParty
special HealPlayerParty
- goto BattleFrontier_BattleDomeLobby_EventScript_249991
+ goto BattleFrontier_BattleDomeLobby_EventScript_AskRecordBattle
-BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
+BattleFrontier_BattleDomeLobby_EventScript_LostChallenge:: @ 8249940
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24A5BF, MSGBOX_DEFAULT
- message BattleFrontier_BattleDomeLobby_Text_24A5D6
+ msgbox BattleFrontier_BattleDomeLobby_Text_ThankYouForPlaying, MSGBOX_DEFAULT
+ message BattleFrontier_BattleDomeLobby_Text_RecordWillBeSaved
waitmessage
special LoadPlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallBattleDomeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallBattleDomeFunction
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ frontier_checkairshow
+ dome_set DOME_DATA_WIN_STREAK_ACTIVE, FALSE
+ dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE
special LoadPlayerParty
special HealPlayerParty
-
-BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
- setvar VAR_0x8004, 13
- setvar VAR_0x8005, 0
- special CallBattleDomeFunction
+BattleFrontier_BattleDomeLobby_EventScript_AskRecordBattle:: @ 8249991
+ dome_save 0
playse SE_SAVE
waitse
- call BattleFrontier_BattleDomeLobby_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9
- message BattleFrontier_BattleDomeLobby_Text_24AE17
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_EndChallenge
+ message BattleFrontier_BattleDomeLobby_Text_RecordLastMatch
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 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, MSGBOX_DEFAULT
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_EndChallenge
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_EndChallenge
+
+BattleFrontier_BattleDomeLobby_EventScript_RecordBattle:: @ 82499E4
+ call BattleFrontier_EventScript_SaveBattle
+BattleFrontier_BattleDomeLobby_EventScript_EndChallenge:: @ 82499E9
+ msgbox BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9
+BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge:: @ 82499F9
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24A5FE, MSGBOX_DEFAULT
- message BattleFrontier_BattleDomeLobby_Text_24A61A
+ msgbox BattleFrontier_BattleDomeLobby_Text_WeveBeenWaitingForYou, MSGBOX_DEFAULT
+ message BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge2
waitmessage
- setvar VAR_0x8004, 13
- setvar VAR_0x8005, 1
- special CallBattleDomeFunction
+ dome_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
- goto BattleFrontier_BattleDomeLobby_EventScript_249BC2
+ goto BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge
-BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35
+BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendant:: @ 8249A35
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 1
- setvar VAR_FRONTIER_BATTLE_MODE, 0
- goto BattleFrontier_BattleDomeLobby_EventScript_249A59
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOME
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ goto BattleFrontier_BattleDomeLobby_EventScript_AttendantWelcome
end
-BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47
+BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendant:: @ 8249A47
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 1
- setvar VAR_FRONTIER_BATTLE_MODE, 1
- goto BattleFrontier_BattleDomeLobby_EventScript_249A59
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOME
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ goto BattleFrontier_BattleDomeLobby_EventScript_AttendantWelcome
end
-BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59
+BattleFrontier_BattleDomeLobby_EventScript_AttendantWelcome:: @ 8249A59
special SavePlayerParty
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CFD
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D06
-
-BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D0F
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D15
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_WelcomeDoubles
+BattleFrontier_BattleDomeLobby_EventScript_AskTakeChallenge:: @ 8249A72
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_TakeSinglesChallenge
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_TakeDoublesChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_ExplainChallenge
+ case 2, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge
-BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
- message BattleFrontier_BattleDomeLobby_Text_24A210
+BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge:: @ 8249ABF
+ message BattleFrontier_BattleDomeLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64
- case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C15
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleDomeLobby_Text_24A26E, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattleDomeLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattleDomeLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C61
- msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge
+ msgbox BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleDomeLobby_EventScript_249C61
- case 1, BattleFrontier_BattleDomeLobby_EventScript_249B60
- case 127, BattleFrontier_BattleDomeLobby_EventScript_249C61
+ case NO, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge
+ case YES, BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge
-BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
+BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge:: @ 8249B60
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special CallBattleDomeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ dome_init
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A
- setvar VAR_0x8004, 22
- special CallBattleDomeFunction
-
-BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed
+ dome_inittrainers
+BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge:: @ 8249BC2
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 15
- special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomeLobby_Text_24A437, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ dome_settrainers
+ msgbox BattleFrontier_BattleDomeLobby_Text_ShowYouToBattleDome, MSGBOX_DEFAULT
closemessage
- call BattleFrontier_BattleDomeLobby_EventScript_249C6E
+ call BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor
special HealPlayerParty
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6
setvar VAR_TEMP_0, 0
waitstate
end
-BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D1B
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D24
- goto BattleFrontier_BattleDomeLobby_EventScript_249A72
+BattleFrontier_BattleDomeLobby_EventScript_ExplainChallenge:: @ 8249BFA
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_ExplainSinglesChallenge
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_ExplainDoublesChallenge
+ goto BattleFrontier_BattleDomeLobby_EventScript_AskTakeChallenge
-BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15
+BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons:: @ 8249C15
switch VAR_RESULT
- case 0, BattleFrontier_BattleDomeLobby_EventScript_249C30
- case 1, BattleFrontier_BattleDomeLobby_EventScript_249C3D
+ case FRONTIER_LVL_50, BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLvOpen
-BattleFrontier_BattleDomeLobby_EventScript_249C30:: @ 8249C30
- msgbox BattleFrontier_BattleDomeLobby_Text_24A353, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeLobby_EventScript_249C6C
+BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLv50:: @ 8249C30
+ msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattleDomeLobby_EventScript_249C3D:: @ 8249C3D
- msgbox BattleFrontier_BattleDomeLobby_Text_24A2AB, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeLobby_EventScript_249C6C
+BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8249C3D
+ msgbox BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattleDomeLobby_EventScript_249C4A:: @ 8249C4A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleDomeLobby_EventScript_249C64
+BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed:: @ 8249C4A
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge
-BattleFrontier_BattleDomeLobby_EventScript_249C61:: @ 8249C61
+BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge:: @ 8249C61
special LoadPlayerParty
-
-BattleFrontier_BattleDomeLobby_EventScript_249C64:: @ 8249C64
- msgbox BattleFrontier_BattleDomeLobby_Text_249F74, MSGBOX_DEFAULT
-
-BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C
+BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge:: @ 8249C64
+ msgbox BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge:: @ 8249C6C
release
end
-BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CDD
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CE5
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D45
+BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor:: @ 8249C6E
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D2D
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D33
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_OpenSinglesDoor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_OpenDoublesDoor
waitdooranim
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CED
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CF5
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D4E
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_PlayerEnterDoor
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D39
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D3F
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_CloseSinglesDoor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_CloseDoublesDoor
waitdooranim
return
-BattleFrontier_BattleDomeLobby_EventScript_249CDD:: @ 8249CDD
- applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D45
+BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor:: @ 8249CDD
+ applymovement 1, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor
return
-BattleFrontier_BattleDomeLobby_EventScript_249CE5:: @ 8249CE5
- applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D45
+BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor:: @ 8249CE5
+ applymovement 6, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor
return
-BattleFrontier_BattleDomeLobby_EventScript_249CED:: @ 8249CED
- applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D4B
+BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor:: @ 8249CED
+ applymovement 1, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor
return
-BattleFrontier_BattleDomeLobby_EventScript_249CF5:: @ 8249CF5
- applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D4B
+BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor:: @ 8249CF5
+ applymovement 6, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor
return
-BattleFrontier_BattleDomeLobby_EventScript_249CFD:: @ 8249CFD
- msgbox BattleFrontier_BattleDomeLobby_Text_249EB7, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles:: @ 8249CFD
+ msgbox BattleFrontier_BattleDomeLobby_Text_WelcomeSingleBattle, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeLobby_EventScript_249D06:: @ 8249D06
- msgbox BattleFrontier_BattleDomeLobby_Text_24A664, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeLobby_EventScript_WelcomeDoubles:: @ 8249D06
+ msgbox BattleFrontier_BattleDomeLobby_Text_WelcomeDoubleBattle, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeLobby_EventScript_249D0F:: @ 8249D0F
- message BattleFrontier_BattleDomeLobby_Text_249F3A
+BattleFrontier_BattleDomeLobby_EventScript_TakeSinglesChallenge:: @ 8249D0F
+ message BattleFrontier_BattleDomeLobby_Text_TakeSinglesChallenge
return
-BattleFrontier_BattleDomeLobby_EventScript_249D15:: @ 8249D15
- message BattleFrontier_BattleDomeLobby_Text_24A6E7
+BattleFrontier_BattleDomeLobby_EventScript_TakeDoublesChallenge:: @ 8249D15
+ message BattleFrontier_BattleDomeLobby_Text_TakeDoublesChallenge
return
-BattleFrontier_BattleDomeLobby_EventScript_249D1B:: @ 8249D1B
- msgbox BattleFrontier_BattleDomeLobby_Text_249F8E, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeLobby_EventScript_ExplainSinglesChallenge:: @ 8249D1B
+ msgbox BattleFrontier_BattleDomeLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeLobby_EventScript_249D24:: @ 8249D24
- msgbox BattleFrontier_BattleDomeLobby_Text_24A721, MSGBOX_DEFAULT
+BattleFrontier_BattleDomeLobby_EventScript_ExplainDoublesChallenge:: @ 8249D24
+ msgbox BattleFrontier_BattleDomeLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomeLobby_EventScript_249D2D:: @ 8249D2D
+BattleFrontier_BattleDomeLobby_EventScript_OpenSinglesDoor:: @ 8249D2D
opendoor 5, 4
return
-BattleFrontier_BattleDomeLobby_EventScript_249D33:: @ 8249D33
+BattleFrontier_BattleDomeLobby_EventScript_OpenDoublesDoor:: @ 8249D33
opendoor 17, 4
return
-BattleFrontier_BattleDomeLobby_EventScript_249D39:: @ 8249D39
+BattleFrontier_BattleDomeLobby_EventScript_CloseSinglesDoor:: @ 8249D39
closedoor 5, 4
return
-BattleFrontier_BattleDomeLobby_EventScript_249D3F:: @ 8249D3F
+BattleFrontier_BattleDomeLobby_EventScript_CloseDoublesDoor:: @ 8249D3F
closedoor 17, 4
return
-BattleFrontier_BattleDomeLobby_Movement_249D45: @ 8249D45
+BattleFrontier_BattleDomeLobby_Movement_WalkToDoor: @ 8249D45
walk_up
walk_up
walk_up
@@ -397,155 +325,148 @@ BattleFrontier_BattleDomeLobby_Movement_249D45: @ 8249D45
walk_up
step_end
-BattleFrontier_BattleDomeLobby_Movement_249D4B: @ 8249D4B
+BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor: @ 8249D4B
walk_up
set_invisible
step_end
-BattleFrontier_BattleDomeLobby_Movement_249D4E: @ 8249D4E
+BattleFrontier_BattleDomeLobby_Movement_PlayerEnterDoor: @ 8249D4E
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattleDomeLobby_EventScript_249D52:: @ 8249D52
+BattleFrontier_BattleDomeLobby_EventScript_ShowSinglesResults:: @ 8249D52
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_DOME, FRONTIER_MODE_SINGLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B
+BattleFrontier_BattleDomeLobby_EventScript_ShowDoublesResults:: @ 8249D6B
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_DOME, FRONTIER_MODE_DOUBLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 9
- special CallBattleDomeFunction
+BattleFrontier_BattleDomeLobby_EventScript_ShowPrevTourneyTree:: @ 8249D84
+ dome_get DOME_DATA_PREV_TOURNEY_TYPE
compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DC9
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLv50
compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DD2
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLv50
compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DDB
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLvOpen
compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DE4
- fadescreen 1
- setvar VAR_0x8004, 8
- special CallBattleDomeFunction
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLvOpen
+ fadescreen FADE_TO_BLACK
+ dome_showprevtourneytree
waitstate
end
-BattleFrontier_BattleDomeLobby_EventScript_249DC9:: @ 8249DC9
- msgbox BattleFrontier_BattleDomeLobby_Text_24A966, MSGBOX_SIGN
+BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLv50:: @ 8249DC9
+ msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLv50, MSGBOX_SIGN
return
-BattleFrontier_BattleDomeLobby_EventScript_249DD2:: @ 8249DD2
- msgbox BattleFrontier_BattleDomeLobby_Text_24A9A9, MSGBOX_SIGN
+BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLv50:: @ 8249DD2
+ msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLv50, MSGBOX_SIGN
return
-BattleFrontier_BattleDomeLobby_EventScript_249DDB:: @ 8249DDB
- msgbox BattleFrontier_BattleDomeLobby_Text_24A9EC, MSGBOX_SIGN
+BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLvOpen:: @ 8249DDB
+ msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLvOpen, MSGBOX_SIGN
return
-BattleFrontier_BattleDomeLobby_EventScript_249DE4:: @ 8249DE4
- msgbox BattleFrontier_BattleDomeLobby_Text_24AA31, MSGBOX_SIGN
+BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLvOpen:: @ 8249DE4
+ msgbox BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLvOpen, MSGBOX_SIGN
return
-BattleFrontier_BattleDomeLobby_EventScript_249DED:: @ 8249DED
- setvar VAR_0x8004, 20
- special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, MSGBOX_NPC
+BattleFrontier_BattleDomeLobby_EventScript_Maniac:: @ 8249DED
+ dome_getwinnersname
+ msgbox BattleFrontier_BattleDomeLobby_Text_LastWinnerWasTough, MSGBOX_NPC
end
-BattleFrontier_BattleDomeLobby_EventScript_249DFE:: @ 8249DFE
- msgbox BattleFrontier_BattleDomeLobby_Text_24AB94, MSGBOX_NPC
+BattleFrontier_BattleDomeLobby_EventScript_Lass:: @ 8249DFE
+ msgbox BattleFrontier_BattleDomeLobby_Text_WinnersGainReputation, MSGBOX_NPC
end
-BattleFrontier_BattleDomeLobby_EventScript_249E07:: @ 8249E07
- msgbox BattleFrontier_BattleDomeLobby_Text_24AC76, MSGBOX_NPC
+BattleFrontier_BattleDomeLobby_EventScript_FatMan:: @ 8249E07
+ msgbox BattleFrontier_BattleDomeLobby_Text_TrashedInFirstRound, MSGBOX_NPC
end
-BattleFrontier_BattleDomeLobby_EventScript_249E10:: @ 8249E10
- msgbox BattleFrontier_BattleDomeLobby_Text_24ACD3, MSGBOX_NPC
+BattleFrontier_BattleDomeLobby_EventScript_Man:: @ 8249E10
+ msgbox BattleFrontier_BattleDomeLobby_Text_NeedToCheckOpponentCarefully, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_249E19:: @ 8249E19
- msgbox BattleFrontier_OutsideWest_Text_24AB06, MSGBOX_NPC
+@ A few OutsideWest event scripts are inserted here instead, two of which are unused
+BattleFrontier_OutsideWest_EventScript_Man3:: @ 8249E19
+ msgbox BattleFrontier_OutsideWest_Text_LongDreamedAboutBattleFrontier, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_249E22:: @ 8249E22
- msgbox BattleFrontier_OutsideWest_Text_24AB44, MSGBOX_NPC
+@ Unused
+BattleFrontier_OutsideWest_EventScript_BattleDomeSign2:: @ 8249E22
+ msgbox BattleFrontier_OutsideWest_Text_BattleDomeSign2, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_249E2B:: @ 8249E2B
- msgbox BattleFrontier_OutsideWest_Text_24AB75, MSGBOX_NPC
+@ Unused
+BattleFrontier_OutsideWest_EventScript_UnderConstructionSign:: @ 8249E2B
+ msgbox BattleFrontier_OutsideWest_Text_QuestionMarkUnderConstruction, MSGBOX_NPC
end
-BattleFrontier_BattleDomeLobby_EventScript_249E34:: @ 8249E34
+BattleFrontier_BattleDomeLobby_EventScript_RulesBoard:: @ 8249E34
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24AE63, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+ msgbox BattleFrontier_BattleDomeLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleDomeLobby_EventScript_249E43:: @ 8249E43
- message BattleFrontier_BattleDomeLobby_Text_24AE8B
+BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard:: @ 8249E43
+ message BattleFrontier_BattleDomeLobby_Text_ReadWhichHeading
waitmessage
- multichoice 17, 4, 98, 0
+ multichoice 17, 4, MULTI_BATTLE_DOME_RULES, 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
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_RulesMatchup
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_RulesTourneyTree
+ case 2, BattleFrontier_BattleDomeLobby_EventScript_RulesDoubleKO
+ case 3, BattleFrontier_BattleDomeLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_ExitRules
end
-BattleFrontier_BattleDomeLobby_EventScript_249E8B:: @ 8249E8B
- msgbox BattleFrontier_BattleDomeLobby_Text_24AEAE, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+BattleFrontier_BattleDomeLobby_EventScript_RulesMatchup:: @ 8249E8B
+ msgbox BattleFrontier_BattleDomeLobby_Text_ExplainMatchupRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleDomeLobby_EventScript_249E99:: @ 8249E99
- msgbox BattleFrontier_BattleDomeLobby_Text_24AF4C, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+BattleFrontier_BattleDomeLobby_EventScript_RulesTourneyTree:: @ 8249E99
+ msgbox BattleFrontier_BattleDomeLobby_Text_ExplainTourneyTree, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleDomeLobby_EventScript_249EA7:: @ 8249EA7
- msgbox BattleFrontier_BattleDomeLobby_Text_24B073, MSGBOX_DEFAULT
- goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+BattleFrontier_BattleDomeLobby_EventScript_RulesDoubleKO:: @ 8249EA7
+ msgbox BattleFrontier_BattleDomeLobby_Text_ExplainDoubleKORules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleDomeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleDomeLobby_EventScript_249EB5:: @ 8249EB5
+BattleFrontier_BattleDomeLobby_EventScript_ExitRules:: @ 8249EB5
releaseall
end
-BattleFrontier_BattleDomeLobby_Text_249EB7: @ 8249EB7
+BattleFrontier_BattleDomeLobby_Text_WelcomeSingleBattle: @ 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
+BattleFrontier_BattleDomeLobby_Text_TakeSinglesChallenge: @ 8249F3A
.string "Would you like to challenge\n"
.string "the SINGLE BATTLE Tournament?$"
-BattleFrontier_BattleDomeLobby_Text_249F74: @ 8249F74
+BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain: @ 8249F74
.string "We hope to see you again.$"
-BattleFrontier_BattleDomeLobby_Text_249F8E: @ 8249F8E
+BattleFrontier_BattleDomeLobby_Text_ExplainSinglesChallenge: @ 8249F8E
.string "The SINGLE BATTLE Tournament\n"
.string "is exactly as the name suggests--\l"
.string "a tournament of SINGLE BATTLES.\p"
@@ -566,20 +487,20 @@ BattleFrontier_BattleDomeLobby_Text_249F8E: @ 8249F8E
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattleDomeLobby_Text_24A1C6: @ 824A1C6
+BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge: @ 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
+BattleFrontier_BattleDomeLobby_Text_WhichLevelMode: @ 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
+BattleFrontier_BattleDomeLobby_Text_SelectThreeMons: @ 824A26E
.string "Now select the three POKéMON that\n"
.string "you wish to enter, please.$"
-BattleFrontier_BattleDomeLobby_Text_24A2AB: @ 824A2AB
+BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLvOpen: @ 824A2AB
.string "Excuse me!\p"
.string "You don't have three eligible POKéMON.\p"
.string "Also, the POKéMON must be holding\n"
@@ -587,7 +508,7 @@ BattleFrontier_BattleDomeLobby_Text_24A2AB: @ 824A2AB
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleDomeLobby_Text_24A353: @ 824A353
+BattleFrontier_BattleDomeLobby_Text_NotEnoughValidMonsLv50: @ 824A353
.string "Excuse me!\p"
.string "You don't have three eligible POKéMON.\p"
.string "You must have three different POKéMON\n"
@@ -597,60 +518,63 @@ BattleFrontier_BattleDomeLobby_Text_24A353: @ 824A353
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleDomeLobby_Text_24A437: @ 824A437
+BattleFrontier_BattleDomeLobby_Text_ShowYouToBattleDome: @ 824A437
.string "I will now show you to\n"
.string "the BATTLE DOME.$"
-BattleFrontier_BattleDomeLobby_Text_24A45F: @ 824A45F
+BattleFrontier_BattleDomeLobby_Text_DidntSaveBeforeQuitting: @ 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
+BattleFrontier_BattleDomeLobby_Text_CongratsForWinningTourney: @ 824A4E9
.string "Congratulations for winning\n"
.string "your Battle Tournament!$"
-BattleFrontier_BattleDomeLobby_Text_24A51D: @ 824A51D
+@ Unused
+BattleFrontier_BattleDomeLobby_Text_HereIsYourPrize: @ 824A51D
.string "Here is your prize for your Battle\n"
.string "Tournament victory.$"
-VerdanturfTown_BattleTentLobby_Text_24A554: @ 824A554
+@ Used by Verdanturf Tent
+BattleFrontier_BattleDomeLobby_Text_ReceivedPrize: @ 824A554
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
-VerdanturfTown_BattleTentLobby_Text_24A56E: @ 824A56E
+@ Unused
+BattleFrontier_BattleDomeLobby_Text_BagFullMakeRoom: @ 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
+BattleFrontier_BattleDomeLobby_Text_ThankYouForPlaying: @ 824A5BF
.string "Thank you for playing!$"
-BattleFrontier_BattleDomeLobby_Text_24A5D6: @ 824A5D6
+BattleFrontier_BattleDomeLobby_Text_RecordWillBeSaved: @ 824A5D6
.string "Your record will be saved.\n"
.string "Please wait.$"
-BattleFrontier_BattleDomeLobby_Text_24A5FE: @ 824A5FE
+BattleFrontier_BattleDomeLobby_Text_WeveBeenWaitingForYou: @ 824A5FE
.string "We've been waiting for you!$"
-BattleFrontier_BattleDomeLobby_Text_24A61A: @ 824A61A
+BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge2: @ 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
+BattleFrontier_BattleDomeLobby_Text_WelcomeDoubleBattle: @ 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
+BattleFrontier_BattleDomeLobby_Text_TakeDoublesChallenge: @ 824A6E7
.string "Would you like to challenge\n"
.string "the DOUBLE BATTLE Tournament?$"
-BattleFrontier_BattleDomeLobby_Text_24A721: @ 824A721
+BattleFrontier_BattleDomeLobby_Text_ExplainDoublesChallenge: @ 824A721
.string "The DOUBLE BATTLE Tournament\n"
.string "is exactly as the name suggests--\l"
.string "a tournament of DOUBLE BATTLES.\p"
@@ -671,23 +595,23 @@ BattleFrontier_BattleDomeLobby_Text_24A721: @ 824A721
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattleDomeLobby_Text_24A966: @ 824A966
+BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLv50: @ 824A966
.string "They're the results of the last\n"
.string "Level 50 SINGLE BATTLE Tournament.$"
-BattleFrontier_BattleDomeLobby_Text_24A9A9: @ 824A9A9
+BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLv50: @ 824A9A9
.string "They're the results of the last\n"
.string "Level 50 DOUBLE BATTLE Tournament.$"
-BattleFrontier_BattleDomeLobby_Text_24A9EC: @ 824A9EC
+BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsSinglesLvOpen: @ 824A9EC
.string "They're the results of the last\n"
.string "Open Level SINGLE BATTLE Tournament.$"
-BattleFrontier_BattleDomeLobby_Text_24AA31: @ 824AA31
+BattleFrontier_BattleDomeLobby_Text_PrevTourneyResultsDoublesLvOpen: @ 824AA31
.string "They're the results of the last\n"
.string "Open Level DOUBLE BATTLE Tournament.$"
-BattleFrontier_BattleDomeLobby_Text_24AA76: @ 824AA76
+BattleFrontier_BattleDomeLobby_Text_LastWinnerWasTough: @ 824AA76
.string "Did you see it?\n"
.string "The last Battle Tournament?\p"
.string "The winner, {STR_VAR_1}, was seriously\n"
@@ -695,19 +619,21 @@ BattleFrontier_BattleDomeLobby_Text_24AA76: @ 824AA76
.string "You should check out the results\n"
.string "on the monitor beside the PC.$"
-BattleFrontier_OutsideWest_Text_24AB06: @ 824AB06
+BattleFrontier_OutsideWest_Text_LongDreamedAboutBattleFrontier: @ 824AB06
.string "The BATTLE FRONTIER…\n"
.string "I've long dreamed about a place like it.$"
-BattleFrontier_OutsideWest_Text_24AB44: @ 824AB44
+@ Functionally unused
+BattleFrontier_OutsideWest_Text_BattleDomeSign2: @ 824AB44
.string "The BATTLE DOME\n"
.string "Become the Unbeatable Superstar!$"
-BattleFrontier_OutsideWest_Text_24AB75: @ 824AB75
+@ Functionally unused
+BattleFrontier_OutsideWest_Text_QuestionMarkUnderConstruction: @ 824AB75
.string "The ??????\n"
.string "Under Construction!$"
-BattleFrontier_BattleDomeLobby_Text_24AB94: @ 824AB94
+BattleFrontier_BattleDomeLobby_Text_WinnersGainReputation: @ 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"
@@ -716,48 +642,48 @@ BattleFrontier_BattleDomeLobby_Text_24AB94: @ 824AB94
.string "A true superstar is a TRAINER who\n"
.string "can keep winning tournaments.$"
-BattleFrontier_BattleDomeLobby_Text_24AC76: @ 824AC76
+BattleFrontier_BattleDomeLobby_Text_TrashedInFirstRound: @ 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
+BattleFrontier_BattleDomeLobby_Text_NeedToCheckOpponentCarefully: @ 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
+BattleFrontier_BattleDomeLobby_Text_CongratsDefeatedTucker: @ 824AD67
.string "Congratulations!\p"
.string "You defeated the DOME ACE and won\n"
.string "the Battle Tournament!$"
-BattleFrontier_BattleDomeLobby_Text_24ADB1: @ 824ADB1
+BattleFrontier_BattleDomeLobby_Text_AwardTheseBattlePoints: @ 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
+BattleFrontier_BattleDomeLobby_Text_RecordLastMatch: @ 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
+BattleFrontier_BattleDomeLobby_Text_RulesAreListed: @ 824AE63
.string "The Battle Tournament rules\n"
.string "are listed.$"
-BattleFrontier_BattleDomeLobby_Text_24AE8B: @ 824AE8B
+BattleFrontier_BattleDomeLobby_Text_ReadWhichHeading: @ 824AE8B
.string "Which heading do you want to read?$"
-BattleFrontier_BattleDomeLobby_Text_24AEAE: @ 824AEAE
+BattleFrontier_BattleDomeLobby_Text_ExplainMatchupRules: @ 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
+BattleFrontier_BattleDomeLobby_Text_ExplainTourneyTree: @ 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"
@@ -768,7 +694,7 @@ BattleFrontier_BattleDomeLobby_Text_24AF4C: @ 824AF4C
.string "by TRAINERS, and the battle styles of\l"
.string "TRAINERS.$"
-BattleFrontier_BattleDomeLobby_Text_24B073: @ 824B073
+BattleFrontier_BattleDomeLobby_Text_ExplainDoubleKORules: @ 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"
diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
index 3901201bb..ffc399142 100644
--- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
@@ -1,181 +1,163 @@
BattleFrontier_BattleDomePreBattleRoom_MapScripts:: @ 824B1F9
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnWarp
.byte 0
-BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E
+BattleFrontier_BattleDomePreBattleRoom_OnWarp: @ 824B204
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E
+BattleFrontier_BattleDomePreBattleRoom_EventScript_TurnPlayerNorth:: @ 824B20E
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222
+BattleFrontier_BattleDomePreBattleRoom_OnFrame: @ 824B218
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom
.2byte 0
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222
+BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom:: @ 824B222
compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
setvar VAR_TEMP_0, 1
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter
waitmovement 0
lockall
-
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F:: @ 824B24F
- call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB
+BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound:: @ 824B24F
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForNextRoundMessage
waitmessage
+ switch VAR_RESULT @ No case?
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord
+ multichoice 16, 0, MULTI_TOURNEY_WITH_RECORD, 1
switch VAR_RESULT
- call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_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
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRecordBattle
+ case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge
+ case 5, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord:: @ 824B2C1
+ multichoice 16, 2, MULTI_TOURNEY_NO_RECORD, 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
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge
+ case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRecordBattle:: @ 824B30D
+ message BattleFrontier_BattleDomePreBattleRoom_Text_RecordLastMatch
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
- case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F
- case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F:: @ 824B33F
- call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4
- goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+BattleFrontier_BattleDomePreBattleRoom_EventScript_RecordBattle:: @ 824B33F
+ call BattleFrontier_EventScript_SaveBattle
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349:: @ 824B349
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA69, MSGBOX_YESNO
+BattleFrontier_BattleDomePreBattleRoom_EventScript_AskPauseChallenge:: @ 824B349
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
- case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB
- case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ case NO, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+ case YES, BattleFrontier_BattleDomePreBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377:: @ 824B377
- message BattleFrontier_BattleDomePreBattleRoom_Text_24BA93
+BattleFrontier_BattleDomePreBattleRoom_EventScript_AskRetireChallenge:: @ 824B377
+ message BattleFrontier_BattleDomePreBattleRoom_Text_RetireYourChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 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 CallBattleDomeFunction
- goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A
-
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB
- message BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_RetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_RetireChallenge:: @ 824B3A9
+ dome_resolvewinners DOME_PLAYER_RETIRED
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobbyLost
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_PauseChallenge:: @ 824B3BB
+ message BattleFrontier_BattleDomePreBattleRoom_Text_SavingDataPleaseWait
waitmessage
- setvar VAR_0x8004, 13
- setvar VAR_0x8005, 2
- special CallBattleDomeFunction
+ dome_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, MSGBOX_DEFAULT
- fadescreen 1
- setvar VAR_0x8004, 6
- special CallBattleDomeFunction
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo:: @ 824B3DD
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_PlayersNextOpponentIsTrainer, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ dome_showopponentinfo
waitstate
- goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5
- call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A
- fadescreen 1
- setvar VAR_0x8004, 7
- special CallBattleDomeFunction
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowTourneyTree:: @ 824B3F5
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowRoundMessage
+ fadescreen FADE_TO_BLACK
+ dome_showtourneytree
waitstate
- goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A:: @ 824B40A
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowRoundMessage:: @ 824B40A
+ frontier_get FRONTIER_DATA_BATTLE_NUM
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
+ case DOME_ROUND1, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound1
+ case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound2
+ case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInSemifinals
+ case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInFinals
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449:: @ 824B449
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound1:: @ 824B449
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound1, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452:: @ 824B452
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInRound2:: @ 824B452
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound2, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B:: @ 824B45B
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA21, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInSemifinals:: @ 824B45B
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInSemifinals, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464:: @ 824B464
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA46, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_TourneyInFinals:: @ 824B464
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInFinals, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
- message BattleFrontier_BattleDomePreBattleRoom_Text_24B70C
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge:: @ 824B46D
+ message BattleFrontier_BattleDomePreBattleRoom_Text_ChooseTwoMons
waitmessage
waitbuttonpress
- fadescreen 1
- call BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 2
- special sub_80F9490
+ setvar VAR_0x8005, DOME_BATTLE_PARTY_SIZE @ 2 of the 3 party mons are selected for battle
+ special ChoosePartyForBattleFrontier
waitstate
- setvar VAR_0x8004, 21
- special CallFrontierUtilFunc
+ frontier_resetsketch
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 8
- special CallBattleDomeFunction
- setvar VAR_0x8004, 18
- special CallBattleDomeFunction
- setvar VAR_0x8004, 9
- special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+ dome_set DOME_DATA_SELECTED_MONS
+ dome_reduceparty
+ dome_setopponent
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT
closemessage
- applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F
+ applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor
waitmovement 0
opendoor 5, 1
waitdooranim
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor
waitmovement 0
closedoor 5, 1
waitdooranim
@@ -184,232 +166,229 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
waitstate
end
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB:: @ 824B4FB
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForNextRoundMessage:: @ 824B4FB
+ frontier_get FRONTIER_DATA_BATTLE_NUM
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
+ case DOME_ROUND1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound1
+ case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound2
+ case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForSemifinals
+ case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForFinals
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A:: @ 824B53A
- message BattleFrontier_BattleDomePreBattleRoom_Text_24B65C
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound1:: @ 824B53A
+ message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound1
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540:: @ 824B540
- message BattleFrontier_BattleDomePreBattleRoom_Text_24B689
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForRound2:: @ 824B540
+ message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound2
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546:: @ 824B546
- message BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForSemifinals:: @ 824B546
+ message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForSemifinals
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForFinals:: @ 824B54C
+ frontier_getbrainstatus
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
+ case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold
+ message BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForFinals
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B:: @ 824B58B
- goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilver:: @ 824B58B
+ goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilverShort
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilver, MSGBOX_DEFAULT
setflag FLAG_TEMP_1
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0:: @ 824B5A0
- goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGold:: @ 824B5A0
+ goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGoldShort
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGold, MSGBOX_DEFAULT
setflag FLAG_TEMP_1
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5:: @ 824B5B5
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerSilverShort:: @ 824B5B5
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilverShort, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE:: @ 824B5BE
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC63, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReadyForTuckerGoldShort:: @ 824B5BE
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGoldShort, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
+BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle:: @ 824B5C7
setvar VAR_TEMP_0, 1
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT
special LoadPlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
- call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600
- fadescreen 1
- setvar VAR_0x8004, 11
- special CallBattleDomeFunction
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_RoundCompleteMessage
+ fadescreen FADE_TO_BLACK
+ dome_showstatictourneytree
waitstate
- goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600:: @ 824B600
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+BattleFrontier_BattleDomePreBattleRoom_EventScript_RoundCompleteMessage:: @ 824B600
+ frontier_get FRONTIER_DATA_BATTLE_NUM
switch VAR_RESULT
- case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634
- case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D
- case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646
+ case DOME_ROUND2, BattleFrontier_BattleDomePreBattleRoom_EventScript_Round1Complete
+ case DOME_SEMIFINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_Round2Complete
+ case DOME_FINAL, BattleFrontier_BattleDomePreBattleRoom_EventScript_SemifinalsComplete
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634:: @ 824B634
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_Round1Complete:: @ 824B634
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_Round1Complete, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D:: @ 824B63D
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_Round2Complete:: @ 824B63D
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_Round2Complete, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646:: @ 824B646
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B83F, MSGBOX_DEFAULT
+BattleFrontier_BattleDomePreBattleRoom_EventScript_SemifinalsComplete:: @ 824B646
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_SemifinalsComplete, MSGBOX_DEFAULT
return
-BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F: @ 824B64F
+BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside: @ 824B64F
walk_right
face_left
step_end
-BattleFrontier_BattleDomePreBattleRoom_Movement_24B652: @ 824B652
+BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter: @ 824B652
walk_up
walk_up
walk_up
walk_up
step_end
-BattleFrontier_BattleDomePreBattleRoom_Movement_24B657: @ 824B657
+BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor: @ 824B657
walk_up
step_end
-BattleFrontier_BattleDomePreBattleRoom_Movement_24B659: @ 824B659
+BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor: @ 824B659
walk_up
set_invisible
step_end
-BattleFrontier_BattleDomePreBattleRoom_Text_24B65C: @ 824B65C
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound1: @ 824B65C
.string "Your 1st-round match is next.\n"
.string "Are you ready?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B689: @ 824B689
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForRound2: @ 824B689
.string "Your 2nd-round match is next.\n"
.string "Are you ready?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6: @ 824B6B6
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForSemifinals: @ 824B6B6
.string "Your semifinal match is next.\n"
.string "Are you ready?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B6E3: @ 824B6E3
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForFinals: @ 824B6E3
.string "Your final match is next.\n"
.string "Are you ready?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B70C: @ 824B70C
+BattleFrontier_BattleDomePreBattleRoom_Text_ChooseTwoMons: @ 824B70C
.string "Please choose the two POKéMON\n"
.string "that are to appear in battle.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B748: @ 824B748
+BattleFrontier_BattleDomePreBattleRoom_Text_RightThisWay: @ 824B748
.string "Right this way, please.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B760: @ 824B760
+BattleFrontier_BattleDomePreBattleRoom_Text_RestoreMonsToFullHealth: @ 824B760
.string "Thank you for competing!\p"
.string "I'll restore your POKéMON to\n"
.string "full health.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3: @ 824B7A3
+BattleFrontier_BattleDomePreBattleRoom_Text_Round1Complete: @ 824B7A3
.string "All 1st-round matches have been\n"
.string "completed.\p"
.string "These are the teams that advanced!$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1: @ 824B7F1
+BattleFrontier_BattleDomePreBattleRoom_Text_Round2Complete: @ 824B7F1
.string "All 2nd-round matches have been\n"
.string "completed.\p"
.string "These are the teams that advanced!$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B83F: @ 824B83F
+BattleFrontier_BattleDomePreBattleRoom_Text_SemifinalsComplete: @ 824B83F
.string "All semifinal matches have been\n"
.string "completed.\p"
.string "These are the teams that advanced!$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B88D: @ 824B88D
+@ Unused
+BattleFrontier_BattleDomePreBattleRoom_Text_CongratsReadyForRound2: @ 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
+@ Unused
+BattleFrontier_BattleDomePreBattleRoom_Text_CongratsReadyForSemifinals: @ 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
+@ Unused
+BattleFrontier_BattleDomePreBattleRoom_Text_CongratsReadyForFinals: @ 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
+BattleFrontier_BattleDomePreBattleRoom_Text_PlayersNextOpponentIsTrainer: @ 824B9B5
.string "{PLAYER}'s next opponent\n"
.string "is this TRAINER.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9: @ 824B9D9
+BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound1: @ 824B9D9
.string "The tournament is in the 1st round.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD: @ 824B9FD
+BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInRound2: @ 824B9FD
.string "The tournament is in the 2nd round.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BA21: @ 824BA21
+BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInSemifinals: @ 824BA21
.string "The tournament is in the semifinals.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BA46: @ 824BA46
+BattleFrontier_BattleDomePreBattleRoom_Text_TourneyInFinals: @ 824BA46
.string "The tournament is up to the final.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BA69: @ 824BA69
+BattleFrontier_BattleDomePreBattleRoom_Text_SaveAndQuitGame: @ 824BA69
.string "Would you like to save and\n"
.string "quit the game?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BA93: @ 824BA93
+BattleFrontier_BattleDomePreBattleRoom_Text_RetireYourChallenge: @ 824BA93
.string "Would you like to retire from your\n"
.string "Battle Tournament challenge?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3: @ 824BAD3
+BattleFrontier_BattleDomePreBattleRoom_Text_SavingDataPleaseWait: @ 824BAD3
.string "I am saving your data.\n"
.string "Please wait.$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BAF7: @ 824BAF7
+BattleFrontier_BattleDomePreBattleRoom_Text_RecordLastMatch: @ 824BAF7
.string "Should I record your last match\n"
.string "on your FRONTIER PASS?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E: @ 824BB2E
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilver: @ 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
+@ Identical to ReadyForTuckerSilver
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGold: @ 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
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerSilverShort: @ 824BC2A
.string "Your final battle against TUCKER is\n"
.string "next. Are you ready?$"
-BattleFrontier_BattleDomePreBattleRoom_Text_24BC63: @ 824BC63
+@ Identical again
+BattleFrontier_BattleDomePreBattleRoom_Text_ReadyForTuckerGoldShort: @ 824BC63
.string "Your final battle against TUCKER is\n"
.string "next. Are you ready?$"
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
index 9c76544f6..af3322f7e 100644
--- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
@@ -1,230 +1,186 @@
BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleFactoryBattleRoom_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnFrame
.byte 0
-BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB
- setvar VAR_0x8004, 5
- special CallFrontierUtilFunc
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 8, which has the gfx id VAR_OBJ_GFX_ID_F
+
+BattleFrontier_BattleFactoryBattleRoom_OnTransition: @ 825ADBB
+ frontier_settrainers
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25
+ call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale
compare VAR_RESULT, FEMALE
- call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
+ call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale
+ frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj
end
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3
- call BattleFrontier_BattleFactoryBattleRoom_EventScript_242170
+BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj:: @ 825ADF3
+ call BattleFrontier_EventScript_SetBrainObjectGfx
setobjectxyperm 2, 7, 9
end
-BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00: @ 825AE00
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A
+BattleFrontier_BattleFactoryBattleRoom_OnWarp: @ 825AE00
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects
.2byte 0
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A:: @ 825AE0A
+BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects:: @ 825AE0A
setvar VAR_TEMP_1, 1
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
- compare VAR_TEMP_F, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24
+ compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects
hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24:: @ 825AE24
+BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects:: @ 825AE24
end
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25:: @ 825AE25
+BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale:: @ 825AE25
setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B:: @ 825AE2B
+BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale:: @ 825AE2B
setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31: @ 825AE31
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67
+BattleFrontier_BattleFactoryBattleRoom_OnFrame: @ 825AE31
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom
.2byte 0
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle:: @ 825AE3B
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn, MSGBOX_DEFAULT
closemessage
- applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B
- applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+ applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
- call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent
end
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67
- compare VAR_TEMP_F, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B
- applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom:: @ 825AE67
+ compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
- call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
- setvar VAR_0x8004, 11
- special CallBattleFactoryFunction
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle
+ factory_setopponentgfx
removeobject 2
setobjectxyperm 2, 7, 1
addobject 2
- applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B184
+ applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter
waitmovement 0
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
- compare VAR_TEMP_F, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C
- setvar VAR_0x8004, 5
- special CallBattlePalaceFunction
+BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent:: @ 825AEA7
+ compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland
+ palace_getopponentintro
lockall
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
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 CallFrontierUtilFunc
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
-@ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 3
- special CallBattleFactoryFunction
- compare VAR_RESULT, 9999
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
+ case 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedOpponent
+BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost:: @ 825AEF8
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedOpponent:: @ 825AF0F
+ factory_get FACTORY_DATA_WIN_STREAK_SWAPS
+ compare VAR_RESULT, MAX_STREAK
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- special CallBattleFactoryFunction
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E
- call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43:: @ 825AF43
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above
+BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak:: @ 825AF3E
+ call BattleFrontier_EventScript_IncrementWinStreak
+BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum:: @ 825AF43
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
- case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
+ case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon
setvar VAR_0x8006, 1
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 8
waitstate
+BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon:: @ 825AF85
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85:: @ 825AF85
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C
+BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland:: @ 825AF9C
switch VAR_TEMP_F
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, MSGBOX_DEFAULT
- call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleFactoryBattleRoom_EventScript_IntroNolandGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandImFactoryHead, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver:: @ 825AFEF
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_ShakeOutKnowledgeBringItOn, MSGBOX_DEFAULT
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver:: @ 825B00C
+ frontier_getsymbols
compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, MSGBOX_DEFAULT
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass, MSGBOX_DEFAULT
closemessage
- applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
waitmovement 0
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleFactoryBattleRoom_Text_25B460
+ message BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B498, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, MSGBOX_DEFAULT
- call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NextTimeNoHoldsBarred, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_IntroNolandGold:: @ 825B051
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_HarderLookThanLastTime, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold:: @ 825B07E
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_AllRightBringItOn, MSGBOX_DEFAULT
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold:: @ 825B09B
+ frontier_getsymbols
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass, MSGBOX_DEFAULT
waitmessage
- applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland
waitmovement 0
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleFactoryBattleRoom_Text_25B640
+ message BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B66D, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_LastTimeILoseToYou, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
+BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle:: @ 825B0E0
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY
setvar VAR_0x8005, 0
@@ -232,35 +188,24 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
waitstate
return
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 3
- special CallBattleFactoryFunction
- compare VAR_RESULT, 9999
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
+BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland:: @ 825B105
+ factory_get FACTORY_DATA_WIN_STREAK_SWAPS
+ compare VAR_RESULT, MAX_STREAK
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattleFactoryFunction
- compare VAR_RESULT, 9999
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43
+ factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above
+ factory_get FACTORY_DATA_WIN_STREAK
+ compare VAR_RESULT, MAX_STREAK
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ factory_set FACTORY_DATA_WIN_STREAK, VAR_RESULT
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon
end
-BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B: @ 825B17B
+BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom: @ 825B17B
walk_up
walk_up
walk_up
@@ -269,11 +214,11 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B: @ 825B17B
face_right
step_end
-BattleFrontier_BattleFactoryBattleRoom_Movement_25B182: @ 825B182
+BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland: @ 825B182
walk_right
step_end
-BattleFrontier_BattleFactoryBattleRoom_Movement_25B184: @ 825B184
+BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter: @ 825B184
walk_down
walk_down
walk_down
@@ -282,42 +227,41 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_25B184: @ 825B184
face_left
step_end
-BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B: @ 825B18B
+BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle: @ 825B18B
walk_up
walk_up
walk_up
face_left
step_end
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190
+BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby:: @ 825B190
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA
+ compare VAR_RESULT, FRONTIER_MODE_DOUBLES
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8
waitstate
end
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA:: @ 825B1AA
+BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles:: @ 825B1AA
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 14, 8
waitstate
end
-BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4:: @ 825B1B4
- applymovement 1, Common_Movement_WalkInPlaceRight
- applymovement 3, Common_Movement_WalkInPlaceRight
- applymovement 4, Common_Movement_WalkInPlaceRight
- applymovement 5, Common_Movement_WalkInPlaceLeft
- applymovement 6, Common_Movement_WalkInPlaceLeft
- applymovement 7, Common_Movement_WalkInPlaceLeft
+BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle:: @ 825B1B4
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
+ applymovement 3, Common_Movement_WalkInPlaceFastestRight
+ applymovement 4, Common_Movement_WalkInPlaceFastestRight
+ applymovement 5, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 6, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 7, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2: @ 825B1E2
+BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn: @ 825B1E2
.string "Hey, hey!\n"
.string "Get a move on!$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB: @ 825B1FB
+BattleFrontier_BattleFactoryBattleRoom_Text_NolandImFactoryHead: @ 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"
@@ -334,26 +278,26 @@ BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB: @ 825B1FB
.string "conditions as you.\p"
.string "I'll be using rental POKéMON, too!$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1: @ 825B3F1
+BattleFrontier_BattleFactoryBattleRoom_Text_ShakeOutKnowledgeBringItOn: @ 825B3F1
.string "Shake out every last bit of your\n"
.string "knowledge and bring it on!$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B42D: @ 825B42D
+BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass: @ 825B42D
.string "NOLAND: Smart going!\n"
.string "Let's see your FRONTIER PASS.$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B460: @ 825B460
+BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol: @ 825B460
.string "The Knowledge Symbol was embossed\n"
.string "on the FRONTIER PASS!$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B498: @ 825B498
+BattleFrontier_BattleFactoryBattleRoom_Text_NextTimeNoHoldsBarred: @ 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
+BattleFrontier_BattleFactoryBattleRoom_Text_HarderLookThanLastTime: @ 825B517
.string "NOLAND: Hey, hey! How's it going?\n"
.string "You keeping up with your studies?\p"
.string "…Oh?\p"
@@ -362,21 +306,21 @@ BattleFrontier_BattleFactoryBattleRoom_Text_25B517: @ 825B517
.string "Now, this should be fun!\n"
.string "I'm getting excited, hey!$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF: @ 825B5CF
+BattleFrontier_BattleFactoryBattleRoom_Text_AllRightBringItOn: @ 825B5CF
.string "All right!\n"
.string "Bring it on!$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7: @ 825B5E7
+BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass: @ 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
+BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine: @ 825B640
.string "The Knowledge Symbol took on\n"
.string "a golden shine!$"
-BattleFrontier_BattleFactoryBattleRoom_Text_25B66D: @ 825B66D
+BattleFrontier_BattleFactoryBattleRoom_Text_LastTimeILoseToYou: @ 825B66D
.string "Pfft, man!\p"
.string "That's absolutely the last time\n"
.string "I lose to you!\p"
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/map.json b/data/maps/BattleFrontier_BattleFactoryLobby/map.json
index 8ed837413..ade32b054 100644
--- a/data/maps/BattleFrontier_BattleFactoryLobby/map.json
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_2585CB",
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_SinglesAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_258813",
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_25881C",
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_Camper",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_258825",
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_Picnicker",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_258830",
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_FatMan",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_2585DD",
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_DoublesAttendant",
"flag": "0"
}
],
@@ -117,7 +117,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_2587E1"
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_ShowSinglesResults"
},
{
"type": "sign",
@@ -125,7 +125,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_2587FA"
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_ShowDoublesResults"
},
{
"type": "sign",
@@ -133,7 +133,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattleFactoryLobby_EventScript_258839"
+ "script": "BattleFrontier_BattleFactoryLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
index a9e57dde6..7d272ed84 100644
--- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
@@ -1,404 +1,347 @@
BattleFrontier_BattleFactoryLobby_MapScripts:: @ 82583E8
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryLobby_MapScript2_258407
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryLobby_MapScript2_2583F3
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryLobby_OnWarp
.byte 0
-BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryLobby_EventScript_2583FD
+BattleFrontier_BattleFactoryLobby_OnWarp: @ 82583F3
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD
+BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth:: @ 82583FD
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258431
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleFactoryLobby_EventScript_25843A
- map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleFactoryLobby_EventScript_258592
- map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleFactoryLobby_EventScript_25849B
- map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleFactoryLobby_EventScript_258506
+BattleFrontier_BattleFactoryLobby_OnFrame: @ 8258407
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge
.2byte 0
-BattleFrontier_BattleFactoryLobby_EventScript_258431:: @ 8258431
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus:: @ 8258431
+ frontier_getstatus
end
-BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A
+BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving:: @ 825843A
lockall
- msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 8
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ factory_setswapped
+ factory_set FACTORY_DATA_WIN_STREAK_SWAPS, 0
+ factory_set FACTORY_DATA_WIN_STREAK, 0
+ factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B
+BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge:: @ 825849B
lockall
- setvar VAR_0x8004, 10
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD
- msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, MSGBOX_DEFAULT
+ frontier_isbrain
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead
+ msgbox BattleFrontier_BattleFactoryLobby_Text_CongratsSevenWins, MSGBOX_DEFAULT
waitmessage
- goto BattleFrontier_BattleFactoryLobby_EventScript_2584C6
+ goto BattleFrontier_BattleFactoryLobby_EventScript_GiveBattlePoints
-BattleFrontier_BattleFactoryLobby_EventScript_2584BD:: @ 82584BD
- msgbox BattleFrontier_BattleFactoryLobby_Text_25926A, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead:: @ 82584BD
+ msgbox BattleFrontier_BattleFactoryLobby_Text_CongratsForDefeatingHead, MSGBOX_DEFAULT
waitmessage
-
-BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6
- msgbox BattleFrontier_BattleFactoryLobby_Text_2592BD, MSGBOX_DEFAULT
- setvar VAR_0x8004, 11
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleFactoryLobby_Text_241520, 9
- message BattleFrontier_BattleFactoryLobby_Text_259323
+BattleFrontier_BattleFactoryLobby_EventScript_GiveBattlePoints:: @ 82584C6
+ msgbox BattleFrontier_BattleFactoryLobby_Text_AwardBattlePoints, MSGBOX_DEFAULT
+ frontier_givepoints
+ msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ message BattleFrontier_BattleFactoryLobby_Text_ExchangeMonsAndSave
waitmessage
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
+ frontier_checkairshow
special LoadPlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special CallBattleFactoryFunction
+ factory_save 0
playse SE_SAVE
waitse
- goto BattleFrontier_BattleFactoryLobby_EventScript_25853B
+ goto BattleFrontier_BattleFactoryLobby_EventScript_AskRecordBattle
end
-BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506
+BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge:: @ 8258506
lockall
- message BattleFrontier_BattleFactoryLobby_Text_258CC7
+ message BattleFrontier_BattleFactoryLobby_Text_ReturnMonsSaveResults
waitmessage
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
+ frontier_checkairshow
special LoadPlayerParty
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special CallBattleFactoryFunction
+ factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE
+ factory_save 0
playse SE_SAVE
waitse
-BattleFrontier_BattleFactoryLobby_EventScript_25853B:: @ 825853B
- call BattleFrontier_BattleFactoryLobby_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258582
- message BattleFrontier_BattleFactoryLobby_Text_259388
+BattleFrontier_BattleFactoryLobby_EventScript_AskRecordBattle:: @ 825853B
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
+ message BattleFrontier_BattleFactoryLobby_Text_RecordLastMatch
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 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, MSGBOX_DEFAULT
+ case 1, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
+ case 0, BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
+
+BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle:: @ 825857D
+ call BattleFrontier_EventScript_SaveBattle
+BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle:: @ 8258582
+ msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592
+BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge:: @ 8258592
lockall
- message BattleFrontier_BattleFactoryLobby_Text_258E77
+ message BattleFrontier_BattleFactoryLobby_Text_WaitingForYouToResume
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 1
- special CallBattleFactoryFunction
+ factory_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
setvar VAR_0x8006, 2
- goto BattleFrontier_BattleFactoryLobby_EventScript_25871A
+ goto BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge
-BattleFrontier_BattleFactoryLobby_EventScript_2585CB:: @ 82585CB
+BattleFrontier_BattleFactoryLobby_EventScript_SinglesAttendant:: @ 82585CB
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 4
- setvar VAR_FRONTIER_BATTLE_MODE, 0
- goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ goto BattleFrontier_BattleFactoryLobby_EventScript_Attendant
end
-BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD
- setvar VAR_FRONTIER_FACILITY, 4
- setvar VAR_FRONTIER_BATTLE_MODE, 1
- goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
+BattleFrontier_BattleFactoryLobby_EventScript_DoublesAttendant:: @ 82585DD
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ goto BattleFrontier_BattleFactoryLobby_EventScript_Attendant
end
-BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED
+BattleFrontier_BattleFactoryLobby_EventScript_Attendant:: @ 82585ED
special SavePlayerParty
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587B1
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587BA
-
-BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C3
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C9
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle
+BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge:: @ 8258606
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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
+ case 0, BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge
+ case 1, BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge
+ case 2, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
-BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653
- message BattleFrontier_BattleFactoryLobby_Text_258BE9
+BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge:: @ 8258653
+ message BattleFrontier_BattleFactoryLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 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 CallFrontierUtilFunc
- msgbox BattleFrontier_BattleFactoryLobby_Text_258C27, MSGBOX_YESNO
+ case FRONTIER_LVL_TENT, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattleFactoryLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleFactoryLobby_EventScript_25879A
- case 1, BattleFrontier_BattleFactoryLobby_EventScript_2586B9
- case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879A
+ case NO, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge
+ case YES, BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge
-BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
+BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge:: @ 82586B9
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 0
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 1
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ factory_init
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258783
+ goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed
setvar VAR_0x8006, 0
-
-BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
+BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge:: @ 825871A
special SavePlayerParty
- msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryLobby_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_25875C
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258762
- applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_2587AC
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor
waitmovement 0
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13
setvar VAR_TEMP_0, 0
waitstate
end
-BattleFrontier_BattleFactoryLobby_EventScript_25875C:: @ 825875C
+BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant:: @ 825875C
setvar VAR_LAST_TALKED, 1
return
-BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762
+BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant:: @ 8258762
setvar VAR_LAST_TALKED, 6
return
-BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587CF
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587D8
- goto BattleFrontier_BattleFactoryLobby_EventScript_258606
+BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge:: @ 8258768
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge
+ goto BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge
-BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleFactoryLobby_EventScript_25879D
+BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed:: @ 8258783
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
-BattleFrontier_BattleFactoryLobby_EventScript_25879A:: @ 825879A
+BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge:: @ 825879A
special LoadPlayerParty
-
-BattleFrontier_BattleFactoryLobby_EventScript_25879D:: @ 825879D
- msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge:: @ 825879D
+ msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleFactoryLobby_Movement_2587A7: @ 82587A7
+BattleFrontier_BattleFactoryLobby_Movement_AttendantEnterDoor: @ 82587A7
walk_up
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattleFactoryLobby_Movement_2587AC: @ 82587AC
+BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor: @ 82587AC
walk_up
walk_up
walk_up
walk_up
step_end
-BattleFrontier_BattleFactoryLobby_EventScript_2587B1:: @ 82587B1
- msgbox BattleFrontier_BattleFactoryLobby_Text_2588EE, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle:: @ 82587B1
+ msgbox BattleFrontier_BattleFactoryLobby_Text_WelcomeForSingleBattle, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryLobby_EventScript_2587BA:: @ 82587BA
- msgbox BattleFrontier_BattleFactoryLobby_Text_258F93, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle:: @ 82587BA
+ msgbox BattleFrontier_BattleFactoryLobby_Text_WelcomeForDoubleBattle, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryLobby_EventScript_2587C3:: @ 82587C3
- message BattleFrontier_BattleFactoryLobby_Text_25897A
+BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge:: @ 82587C3
+ message BattleFrontier_BattleFactoryLobby_Text_TakeSinglesChallenge
return
-BattleFrontier_BattleFactoryLobby_EventScript_2587C9:: @ 82587C9
- message BattleFrontier_BattleFactoryLobby_Text_25901F
+BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge:: @ 82587C9
+ message BattleFrontier_BattleFactoryLobby_Text_TakeDoublesChallenge
return
-BattleFrontier_BattleFactoryLobby_EventScript_2587CF:: @ 82587CF
- msgbox BattleFrontier_BattleFactoryLobby_Text_2589B3, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge:: @ 82587CF
+ msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryLobby_EventScript_2587D8:: @ 82587D8
- msgbox BattleFrontier_BattleFactoryLobby_Text_259058, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge:: @ 82587D8
+ msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryLobby_EventScript_2587E1:: @ 82587E1
+BattleFrontier_BattleFactoryLobby_EventScript_ShowSinglesResults:: @ 82587E1
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 4
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleFactoryLobby_EventScript_2587FA:: @ 82587FA
+BattleFrontier_BattleFactoryLobby_EventScript_ShowDoublesResults:: @ 82587FA
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 4
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleFactoryLobby_EventScript_258813:: @ 8258813
- msgbox BattleFrontier_BattleFactoryLobby_Text_2593D7, MSGBOX_NPC
+BattleFrontier_BattleFactoryLobby_EventScript_Woman:: @ 8258813
+ msgbox BattleFrontier_BattleFactoryLobby_Text_NeedKnowledgeOfMonsMoves, MSGBOX_NPC
end
-BattleFrontier_BattleFactoryLobby_EventScript_25881C:: @ 825881C
- msgbox BattleFrontier_BattleFactoryLobby_Text_2594E5, MSGBOX_NPC
+BattleFrontier_BattleFactoryLobby_EventScript_Camper:: @ 825881C
+ msgbox BattleFrontier_BattleFactoryLobby_Text_SwappedForWeakMon, MSGBOX_NPC
end
-BattleFrontier_BattleFactoryLobby_EventScript_258825:: @ 8258825
+BattleFrontier_BattleFactoryLobby_EventScript_Picnicker:: @ 8258825
lock
- msgbox BattleFrontier_BattleFactoryLobby_Text_259547, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryLobby_Text_NeedToCheckOpponentsMons, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleFactoryLobby_EventScript_258830:: @ 8258830
- msgbox BattleFrontier_BattleFactoryLobby_Text_2595C4, MSGBOX_NPC
+BattleFrontier_BattleFactoryLobby_EventScript_FatMan:: @ 8258830
+ msgbox BattleFrontier_BattleFactoryLobby_Text_CantFigureOutStaffHints, MSGBOX_NPC
end
-BattleFrontier_BattleFactoryLobby_EventScript_258839:: @ 8258839
+BattleFrontier_BattleFactoryLobby_EventScript_RulesBoard:: @ 8258839
lockall
- msgbox BattleFrontier_BattleFactoryLobby_Text_259721, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+ msgbox BattleFrontier_BattleFactoryLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleFactoryLobby_EventScript_258848:: @ 8258848
- message BattleFrontier_BattleFactoryLobby_Text_259743
+BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard:: @ 8258848
+ message BattleFrontier_BattleFactoryLobby_Text_ReadWhichHeading
waitmessage
- multichoice 17, 0, 99, 0
+ multichoice 17, 0, MULTI_BATTLE_FACTORY_RULES, 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
+ case 0, BattleFrontier_BattleFactoryLobby_EventScript_RulesBasics
+ case 1, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapPartner
+ case 2, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNumber
+ case 3, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNotes
+ case 4, BattleFrontier_BattleFactoryLobby_EventScript_RulesOpenLv
+ case 5, BattleFrontier_BattleFactoryLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_ExitRules
end
-BattleFrontier_BattleFactoryLobby_EventScript_2588A6:: @ 82588A6
- msgbox BattleFrontier_BattleFactoryLobby_Text_259766, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+BattleFrontier_BattleFactoryLobby_EventScript_RulesBasics:: @ 82588A6
+ msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainBasicRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleFactoryLobby_EventScript_2588B4:: @ 82588B4
- msgbox BattleFrontier_BattleFactoryLobby_Text_2597FB, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapPartner:: @ 82588B4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapPartnerRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleFactoryLobby_EventScript_2588C2:: @ 82588C2
- msgbox BattleFrontier_BattleFactoryLobby_Text_25987E, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNumber:: @ 82588C2
+ msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNumberRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleFactoryLobby_EventScript_2588D0:: @ 82588D0
- msgbox BattleFrontier_BattleFactoryLobby_Text_259920, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNotes:: @ 82588D0
+ msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNotesRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleFactoryLobby_EventScript_2588DE:: @ 82588DE
- msgbox BattleFrontier_BattleFactoryLobby_Text_259A5E, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+BattleFrontier_BattleFactoryLobby_EventScript_RulesOpenLv:: @ 82588DE
+ msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainOpenLvRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleFactoryLobby_EventScript_2588EC:: @ 82588EC
+BattleFrontier_BattleFactoryLobby_EventScript_ExitRules:: @ 82588EC
releaseall
end
-BattleFrontier_BattleFactoryLobby_Text_2588EE: @ 82588EE
+BattleFrontier_BattleFactoryLobby_Text_WelcomeForSingleBattle: @ 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
+BattleFrontier_BattleFactoryLobby_Text_TakeSinglesChallenge: @ 825897A
.string "Would you like to take the Battle\n"
.string "Swap Single challenge?$"
-BattleFrontier_BattleFactoryLobby_Text_2589B3: @ 82589B3
+BattleFrontier_BattleFactoryLobby_Text_ExplainSinglesChallenge: @ 82589B3
.string "The Battle Swap Single Tournament\n"
.string "is a SINGLE BATTLE competition using\l"
.string "only rental POKéMON.\p"
@@ -416,79 +359,85 @@ BattleFrontier_BattleFactoryLobby_Text_2589B3: @ 82589B3
.string "If you don't save, you will be\n"
.string "disqualified from your challenge.$"
-BattleFrontier_BattleFactoryLobby_Text_258BC5: @ 8258BC5
+BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit: @ 8258BC5
.string "We look forward to your next visit.$"
-BattleFrontier_BattleFactoryLobby_Text_258BE9: @ 8258BE9
+BattleFrontier_BattleFactoryLobby_Text_WhichLevelMode: @ 8258BE9
.string "Which level do you wish to challenge?\n"
.string "Level 50 or Open Level?$"
-BattleFrontier_BattleFactoryLobby_Text_258C27: @ 8258C27
+BattleFrontier_BattleFactoryLobby_Text_OkayToSaveBeforeChallenge: @ 8258C27
.string "Before you begin your challenge,\n"
.string "I need to save the game. Is that okay?$"
-BattleFrontier_BattleFactoryLobby_Text_258C6F: @ 8258C6F
+@ Unused
+BattleFrontier_BattleFactoryLobby_Text_WillHoldMonsForSafekeeping: @ 8258C6F
.string "Okay, I will hold your POKéMON for\n"
.string "safekeeping while you compete.$"
-BattleFrontier_BattleFactoryLobby_Text_258CB1: @ 8258CB1
+BattleFrontier_BattleFactoryLobby_Text_StepThisWay: @ 8258CB1
.string "Please step this way.$"
-BattleFrontier_BattleFactoryLobby_Text_258CC7: @ 8258CC7
+BattleFrontier_BattleFactoryLobby_Text_ReturnMonsSaveResults: @ 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
+@ Unused
+BattleFrontier_BattleFactoryLobby_Text_ReturnMons: @ 8258D54
.string "I will return your POKéMON in exchange\n"
.string "for our rental POKéMON.$"
-BattleFrontier_BattleFactoryLobby_Text_258D93: @ 8258D93
+BattleFrontier_BattleFactoryLobby_Text_CongratsSevenWins: @ 8258D93
.string "Congratulations! You've won seven\n"
.string "straight Battle Swap matches!$"
-BattleFrontier_BattleFactoryLobby_Text_258DD3: @ 8258DD3
+@ Unused
+BattleFrontier_BattleFactoryLobby_Text_AwardBattlePointsForStreak: @ 8258DD3
.string "In recognition of your 7-win streak,\n"
.string "we award you these Battle Point(s).$"
-BattleFrontier_BattleFactoryLobby_Text_258E1C: @ 8258E1C
+@ Unused
+BattleFrontier_BattleFactoryLobby_Text_MaxBattlePoints: @ 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
+BattleFrontier_BattleFactoryLobby_Text_WaitingForYouToResume: @ 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
+BattleFrontier_BattleFactoryLobby_Text_DidntSaveBeforeQuitting: @ 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
+@ Unused
+BattleFrontier_BattleFactoryLobby_Text_WellReturnMons: @ 8258F55
.string "We'll return your personal POKéMON.$"
-BattleFrontier_BattleFactoryLobby_Text_258F79: @ 8258F79
+@ Unused
+BattleFrontier_BattleFactoryLobby_Text_ReceivedPrizeItem: @ 8258F79
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
-BattleFrontier_BattleFactoryLobby_Text_258F93: @ 8258F93
+BattleFrontier_BattleFactoryLobby_Text_WelcomeForDoubleBattle: @ 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
+BattleFrontier_BattleFactoryLobby_Text_TakeDoublesChallenge: @ 825901F
.string "Would you like to take the Battle\n"
.string "Swap Double challenge?$"
-BattleFrontier_BattleFactoryLobby_Text_259058: @ 8259058
+BattleFrontier_BattleFactoryLobby_Text_ExplainDoublesChallenge: @ 8259058
.string "The Battle Swap Double Tournament\n"
.string "is a DOUBLE BATTLE competition using\l"
.string "only rental POKéMON.\p"
@@ -506,28 +455,28 @@ BattleFrontier_BattleFactoryLobby_Text_259058: @ 8259058
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattleFactoryLobby_Text_25926A: @ 825926A
+BattleFrontier_BattleFactoryLobby_Text_CongratsForDefeatingHead: @ 825926A
.string "Congratulations for defeating\n"
.string "the FACTORY HEAD and winning\l"
.string "seven matches in a row!$"
-BattleFrontier_BattleFactoryLobby_Text_2592BD: @ 82592BD
+BattleFrontier_BattleFactoryLobby_Text_AwardBattlePoints: @ 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
+BattleFrontier_BattleFactoryLobby_Text_ExchangeMonsAndSave: @ 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
+BattleFrontier_BattleFactoryLobby_Text_RecordLastMatch: @ 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
+BattleFrontier_BattleFactoryLobby_Text_NeedKnowledgeOfMonsMoves: @ 82593D7
.string "Hi!\n"
.string "You, there!\p"
.string "Are you thinking that the events here\n"
@@ -539,25 +488,26 @@ BattleFrontier_BattleFactoryLobby_Text_2593D7: @ 82593D7
.string "about POKéMON and their moves,\l"
.string "it will be tough to keep winning.$"
-BattleFrontier_BattleFactoryLobby_Text_2594E5: @ 82594E5
+BattleFrontier_BattleFactoryLobby_Text_SwappedForWeakMon: @ 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
+BattleFrontier_BattleFactoryLobby_Text_NeedToCheckOpponentsMons: @ 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
+BattleFrontier_BattleFactoryLobby_Text_CantFigureOutStaffHints: @ 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
+@ Unused
+BattleFrontier_BattleFactoryLobby_Text_RentalMonsAreVaried: @ 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"
@@ -565,35 +515,33 @@ BattleFrontier_BattleFactoryLobby_Text_259658: @ 8259658
.string "Battle Swap events, I noticed they\l"
.string "varied the rental POKéMON.$"
-BattleFrontier_BattleFactoryLobby_Text_259721: @ 8259721
-SlateportCity_BattleTentLobby_Text_259721: @ 8259721
+BattleFrontier_BattleFactoryLobby_Text_RulesAreListed: @ 8259721
.string "The Battle Swap rules are listed.$"
-BattleFrontier_BattleFactoryLobby_Text_259743: @ 8259743
-SlateportCity_BattleTentLobby_Text_259743: @ 8259743
+BattleFrontier_BattleFactoryLobby_Text_ReadWhichHeading: @ 8259743
.string "Which heading do you want to read?$"
-BattleFrontier_BattleFactoryLobby_Text_259766: @ 8259766
+BattleFrontier_BattleFactoryLobby_Text_ExplainBasicRules: @ 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
+BattleFrontier_BattleFactoryLobby_Text_ExplainSwapPartnerRules: @ 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
+BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNumberRules: @ 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
+BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNotesRules: @ 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"
@@ -605,7 +553,7 @@ BattleFrontier_BattleFactoryLobby_Text_259920: @ 8259920
.string "This sequence remains unchanged\n"
.string "even when swaps are made.$"
-BattleFrontier_BattleFactoryLobby_Text_259A5E: @ 8259A5E
+BattleFrontier_BattleFactoryLobby_Text_ExplainOpenLvRules: @ 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/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
index 0049b3f58..8e98dccae 100644
--- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
@@ -1,462 +1,434 @@
BattleFrontier_BattleFactoryPreBattleRoom_MapScripts:: @ 8259ABA
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnWarp
.byte 0
-BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5: @ 8259AC5
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF
+BattleFrontier_BattleFactoryPreBattleRoom_OnWarp: @ 8259AC5
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SetUpObjects
.2byte 0
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SetUpObjects:: @ 8259ACF
setvar VAR_TEMP_1, 1
compare VAR_0x8006, 1
- goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA
+ goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth
setobjectxy 1, 8, 7
- turnobject 1, 1
-
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject 1, DIR_SOUTH
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth:: @ 8259AEA
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9
+BattleFrontier_BattleFactoryPreBattleRoom_OnFrame: @ 8259AEF
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterRoom
.2byte 0
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterRoom:: @ 8259AF9
compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle
setvar VAR_TEMP_0, 1
- applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
compare VAR_0x8006, 2
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69
- setvar VAR_0x8004, 13
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 12
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 14
- special CallBattleFactoryFunction
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge
+ factory_generaterentalmons
+ factory_generateopponentmons
+ factory_getopponentmontype
setorcopyvar VAR_0x8005, VAR_RESULT
- setvar VAR_0x8004, 15
- special CallBattleFactoryFunction
+ factory_getopponentstyle
setorcopyvar VAR_0x8006, VAR_RESULT
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, MSGBOX_DEFAULT
- fadescreen 1
- setvar VAR_0x8004, 8
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 6
- special CallBattleFactoryFunction
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentStyle
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_HoldMonsChooseFromSelection, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ factory_setswapped
+ factory_rentmons
waitstate
-
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom:: @ 8259B74
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT
closemessage
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B
+ call BattleFrontier_EventScript_GetLvlMode
+ compare VAR_RESULT, FRONTIER_LVL_50
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50
+ compare VAR_RESULT, FRONTIER_LVL_OPEN
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen
waitmovement 0
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 255, 6, 11
waitstate
end
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5
- setvar VAR_0x8004, 9
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 16
- special CallBattleFactoryFunction
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle:: @ 8259BA5
+ factory_setopponentmons
+ factory_resethelditems
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LetUsRestoreMons, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26
- playse 263
+ frontier_getbrainstatus
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent
+ playse SE_TOREEYE
waitse
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_WaitFewMoments, MSGBOX_DEFAULT
closemessage
- applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall
waitmovement 0
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_UnderstoodSirWillDo, MSGBOX_DEFAULT
closemessage
- applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer
waitmovement 0
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_MessageFromHeadComeRightNow, MSGBOX_DEFAULT
closemessage
delay 16
- goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead
end
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
-
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent:: @ 8259C13
+ frontier_getbrainstatus
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent:: @ 8259C26
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor2ndOpponent
compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor3rdOpponent
compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor4thOpponent
compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor5thOpponent
compare VAR_RESULT, 5
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor6thOpponent
compare VAR_RESULT, 6
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6
- multichoice 19, 4, 103, 1
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor7thOpponent
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapMon
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 8259CC6
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapMon
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC:: @ 8259CFC
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRecordBattle:: @ 8259CFC
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_RecordLatestBattle
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
- case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E
- case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E:: @ 8259D2E
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4
- goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_RecordBattle:: @ 8259D2E
+ call BattleFrontier_EventScript_SaveBattle
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38:: @ 8259D38
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350, MSGBOX_YESNO
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge:: @ 8259D38
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
- case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47
- case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+ case NO, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
+ case YES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66:: @ 8259D66
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge:: @ 8259D66
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_RetireFromChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 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 CallBattleFactoryFunction
- setvar VAR_0x8004, 14
- special CallBattleFactoryFunction
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapMon:: @ 8259D98
+ factory_generateopponentmons
+ factory_getopponentmontype
setorcopyvar VAR_0x8005, VAR_RESULT
- setvar VAR_0x8004, 15
- special CallBattleFactoryFunction
+ factory_getopponentstyle
setorcopyvar VAR_0x8006, VAR_RESULT
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, MSGBOX_YESNO
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentStyle
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon, MSGBOX_YESNO
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 CallBattleFactoryFunction
+ case NO, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
+ case YES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SwapMons
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SwapMons:: @ 8259DF2
+ fadescreen FADE_TO_BLACK
+ factory_swapmons
waitstate
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
- setvar VAR_0x8004, 8
- special CallBattleFactoryFunction
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, MSGBOX_DEFAULT
- goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
-
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D:: @ 8259E1D
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
+ factory_setswapped
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8259E1D
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor2ndOpponent
waitmessage
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24:: @ 8259E24
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8259E24
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor3rdOpponent
waitmessage
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B:: @ 8259E2B
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor4thOpponent:: @ 8259E2B
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor4thOpponent
waitmessage
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32:: @ 8259E32
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor5thOpponent:: @ 8259E32
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor5thOpponent
waitmessage
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39:: @ 8259E39
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor6thOpponent:: @ 8259E39
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor6thOpponent
waitmessage
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40:: @ 8259E40
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor7thOpponent:: @ 8259E40
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor7thOpponent
waitmessage
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_PauseChallenge:: @ 8259E47
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_SavingDataPleaseWait
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 2
- special CallBattleFactoryFunction
+ factory_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge:: @ 8259E69
special SavePlayerParty
- setvar VAR_0x8004, 10
- setvar VAR_0x8005, 0
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
+ factory_setparties 0
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
special CalculatePlayerPartyCount
- goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, MSGBOX_DEFAULT
- compare VAR_0x8005, 0
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62
- compare VAR_0x8005, 1
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B
- compare VAR_0x8005, 2
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74
- compare VAR_0x8005, 3
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D
- compare VAR_0x8005, 4
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86
- compare VAR_0x8005, 5
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F
- compare VAR_0x8005, 6
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98
- compare VAR_0x8005, 7
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1
- compare VAR_0x8005, 8
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA
- compare VAR_0x8005, 10
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3
- compare VAR_0x8005, 11
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC
- compare VAR_0x8005, 12
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5
- compare VAR_0x8005, 13
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE
- compare VAR_0x8005, 14
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7
- compare VAR_0x8005, 15
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0
- compare VAR_0x8005, 16
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9
- compare VAR_0x8005, 17
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2
- compare VAR_0x8005, 18
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType:: @ 8259E93
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_InvestigatedUpcomingOpponent, MSGBOX_DEFAULT
+ compare VAR_0x8005, TYPE_NORMAL
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesNormal
+ compare VAR_0x8005, TYPE_FIGHTING
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFighting
+ compare VAR_0x8005, TYPE_FLYING
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFlying
+ compare VAR_0x8005, TYPE_POISON
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPoison
+ compare VAR_0x8005, TYPE_GROUND
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGround
+ compare VAR_0x8005, TYPE_ROCK
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesRock
+ compare VAR_0x8005, TYPE_BUG
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesBug
+ compare VAR_0x8005, TYPE_GHOST
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGhost
+ compare VAR_0x8005, TYPE_STEEL
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesSteel
+ compare VAR_0x8005, TYPE_FIRE
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFire
+ compare VAR_0x8005, TYPE_WATER
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesWater
+ compare VAR_0x8005, TYPE_GRASS
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGrass
+ compare VAR_0x8005, TYPE_ELECTRIC
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesElectric
+ compare VAR_0x8005, TYPE_PSYCHIC
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPsychic
+ compare VAR_0x8005, TYPE_ICE
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce
+ compare VAR_0x8005, TYPE_DRAGON
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon
+ compare VAR_0x8005, TYPE_DARK
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark
+ compare VAR_0x8005, NUMBER_OF_MON_TYPES
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62:: @ 8259F62
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesNormal:: @ 8259F62
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInNormalType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B:: @ 8259F6B
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFighting:: @ 8259F6B
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFightingType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74:: @ 8259F74
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFlying:: @ 8259F74
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFlyingType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D:: @ 8259F7D
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPoison:: @ 8259F7D
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPoisonType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86:: @ 8259F86
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGround:: @ 8259F86
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGroundType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F:: @ 8259F8F
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesRock:: @ 8259F8F
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInRockType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98:: @ 8259F98
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesBug:: @ 8259F98
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInBugType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1:: @ 8259FA1
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGhost:: @ 8259FA1
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGhostType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA:: @ 8259FAA
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesSteel:: @ 8259FAA
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInSteelType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3:: @ 8259FB3
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFire:: @ 8259FB3
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFireType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC:: @ 8259FBC
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesWater:: @ 8259FBC
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInWaterType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5:: @ 8259FC5
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGrass:: @ 8259FC5
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGrassType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE:: @ 8259FCE
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesElectric:: @ 8259FCE
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInElectricType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7:: @ 8259FD7
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPsychic:: @ 8259FD7
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPsychicType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0:: @ 8259FE0
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce:: @ 8259FE0
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInIceType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9:: @ 8259FE9
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon:: @ 8259FE9
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDragonType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2:: @ 8259FF2
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark:: @ 8259FF2
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB:: @ 8259FFB
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType:: @ 8259FFB
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerHasNoClearFavorite, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004
- compare VAR_0x8006, 0
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068
- compare VAR_0x8006, 1
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071
- compare VAR_0x8006, 2
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A
- compare VAR_0x8006, 3
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083
- compare VAR_0x8006, 4
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C
- compare VAR_0x8006, 5
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095
- compare VAR_0x8006, 6
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E
- compare VAR_0x8006, 7
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7
- compare VAR_0x8006, 8
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentStyle:: @ 825A004
+ compare VAR_0x8006, FACTORY_STYLE_NONE
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleUnrestrained
+ compare VAR_0x8006, FACTORY_STYLE_PREPARATION
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleTotalPreparation
+ compare VAR_0x8006, FACTORY_STYLE_SLOW_STEADY
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleSlowAndSteady
+ compare VAR_0x8006, FACTORY_STYLE_ENDURANCE
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleEndurance
+ compare VAR_0x8006, FACTORY_STYLE_HIGH_RISK
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleHighRisk
+ compare VAR_0x8006, FACTORY_STYLE_WEAKENING
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleWeakenFoe
+ compare VAR_0x8006, FACTORY_STYLE_UNPREDICTABLE
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleImpossibleToPredict
+ compare VAR_0x8006, FACTORY_STYLE_WEATHER
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleDependsOnFlow
+ compare VAR_0x8006, FACTORY_NUM_STYLES
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleFlexible
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068
- msgbox Text_StyleUnrestrained, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleUnrestrained:: @ 825A068
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleUnrestrained, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071:: @ 825A071
- msgbox Text_StyleTotalPreparation, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleTotalPreparation:: @ 825A071
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleTotalPreparation, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A:: @ 825A07A
- msgbox Text_StyleSlowAndSteady, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleSlowAndSteady:: @ 825A07A
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleSlowAndSteady, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083:: @ 825A083
- msgbox Text_StyleEndurance, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleEndurance:: @ 825A083
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleEndurance, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C:: @ 825A08C
- msgbox Text_StyleHighRisk, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleHighRisk:: @ 825A08C
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleHighRisk, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095:: @ 825A095
- msgbox Text_StyleWeakenFoe, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleWeakenFoe:: @ 825A095
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleWeakenFoe, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E:: @ 825A09E
- msgbox Text_StyleImpossibleToPredict, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleImpossibleToPredict:: @ 825A09E
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleImpossibleToPredict, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7:: @ 825A0A7
- msgbox Text_StyleDependsOnFlow, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleDependsOnFlow:: @ 825A0A7
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleDependsOnFlow, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0:: @ 825A0B0
- msgbox Text_StyleFlexible, MSGBOX_DEFAULT
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleFlexible:: @ 825A0B0
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleFlexible, MSGBOX_DEFAULT
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9
- message BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead:: @ 825A0B9
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_PreparedToFaceHead
waitmessage
- call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110
- multichoice 19, 4, 103, 1
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHeadNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHeadNoRecord:: @ 825A110
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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, MSGBOX_DEFAULT
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, MSGBOX_YESNO
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead:: @ 825A146
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_CantTellAnythingAboutHead, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
- case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2
- case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+ case NO, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
+ case YES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SwapMons
+ case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C:: @ 825A17C
- applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50:: @ 825A17C
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLv50
return
-BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B:: @ 825A18B
- applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen:: @ 825A18B
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLvOpen
return
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom: @ 825A19A
walk_up
walk_up
walk_up
@@ -464,7 +436,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A
walk_up
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0: @ 825A1A0
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLv50: @ 825A1A0
walk_up
walk_left
walk_left
@@ -472,7 +444,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0: @ 825A1A0
walk_up
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6: @ 825A1A6
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLvOpen: @ 825A1A6
walk_up
walk_right
walk_right
@@ -480,7 +452,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6: @ 825A1A6
walk_up
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC: @ 825A1AC
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom: @ 825A1AC
walk_up
walk_up
walk_up
@@ -489,7 +461,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC: @ 825A1AC
face_down
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3: @ 825A1B3
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50: @ 825A1B3
walk_left
walk_left
walk_up
@@ -497,7 +469,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3: @ 825A1B3
set_invisible
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9: @ 825A1B9
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen: @ 825A1B9
walk_right
walk_right
walk_up
@@ -505,211 +477,201 @@ BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9: @ 825A1B9
set_invisible
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF: @ 825A1BF
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall: @ 825A1BF
walk_left
walk_left
walk_left
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3: @ 825A1C3
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer: @ 825A1C3
walk_right
walk_right
walk_right
face_down
step_end
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8: @ 825A1C8
-SlateportCity_BattleTentCorridor_Text_25A1C8: @ 825A1C8
+BattleFrontier_BattleFactoryPreBattleRoom_Text_HoldMonsChooseFromSelection: @ 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
+BattleFrontier_BattleFactoryPreBattleRoom_Text_LetUsRestoreMons: @ 825A22D
.string "Thank you for competing!\n"
.string "Let us restore your POKéMON!$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263: @ 825A263
-SlateportCity_BattleTentCorridor_Text_25A263: @ 825A263
+BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor2ndOpponent: @ 825A263
.string "The 2nd match is next!\n"
.string "Are you ready?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289: @ 825A289
-SlateportCity_BattleTentCorridor_Text_25A289: @ 825A289
+BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor3rdOpponent: @ 825A289
.string "The 3rd match is next!\n"
.string "Are you ready?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF: @ 825A2AF
+BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor4thOpponent: @ 825A2AF
.string "The 4th match is next!\n"
.string "Are you ready?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5: @ 825A2D5
+BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor5thOpponent: @ 825A2D5
.string "The 5th match is next!\n"
.string "Are you ready?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB: @ 825A2FB
+BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor6thOpponent: @ 825A2FB
.string "The 6th match is next!\n"
.string "Are you ready?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321: @ 825A321
+BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor7thOpponent: @ 825A321
.string "Finally, the 7th match is next!\n"
.string "Are you ready?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350: @ 825A350
-SlateportCity_BattleTentCorridor_Text_25A350: @ 825A350
+BattleFrontier_BattleFactoryPreBattleRoom_Text_SaveAndQuitGame: @ 825A350
.string "Would you like to save and quit\n"
.string "the game?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A: @ 825A37A
-SlateportCity_BattleTentCorridor_Text_25A37A: @ 825A37A
+BattleFrontier_BattleFactoryPreBattleRoom_Text_RetireFromChallenge: @ 825A37A
.string "Would you like to retire from your\n"
.string "Battle Swap challenge?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4: @ 825A3B4
+BattleFrontier_BattleFactoryPreBattleRoom_Text_InvestigatedUpcomingOpponent: @ 825A3B4
.string "I've conducted a little investigation\n"
.string "about your upcoming opponent.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8: @ 825A3F8
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInNormalType: @ 825A3F8
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the NORMAL type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E: @ 825A43E
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFireType: @ 825A43E
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the FIRE type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482: @ 825A482
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInWaterType: @ 825A482
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the WATER type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7: @ 825A4C7
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInElectricType: @ 825A4C7
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the ELECTRIC type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F: @ 825A50F
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGrassType: @ 825A50F
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the GRASS type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554: @ 825A554
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInIceType: @ 825A554
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the ICE type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597: @ 825A597
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFightingType: @ 825A597
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the FIGHTING type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF: @ 825A5DF
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPoisonType: @ 825A5DF
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the POISON type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625: @ 825A625
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGroundType: @ 825A625
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the GROUND type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B: @ 825A66B
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFlyingType: @ 825A66B
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the FLYING type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1: @ 825A6B1
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInPsychicType: @ 825A6B1
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the PSYCHIC type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8: @ 825A6F8
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInBugType: @ 825A6F8
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the BUG type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B: @ 825A73B
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInRockType: @ 825A73B
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the ROCK type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F: @ 825A77F
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInGhostType: @ 825A77F
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the GHOST type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4: @ 825A7C4
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDragonType: @ 825A7C4
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the DRAGON type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A: @ 825A80A
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType: @ 825A80A
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the DARK type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E: @ 825A84E
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInSteelType: @ 825A84E
.string "The TRAINER is apparently skilled\n"
.string "in the handling of the STEEL type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893: @ 825A893
+BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerHasNoClearFavorite: @ 825A893
.string "The TRAINER appears to have no clear\n"
.string "favorites when it comes to type.$"
-Text_StyleSlowAndSteady: @ 825A8D9
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleSlowAndSteady: @ 825A8D9
.string "The favorite battle style appears to\n"
.string "be slow and steady.$"
-Text_StyleEndurance: @ 825A912
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleEndurance: @ 825A912
.string "The favorite battle style appears to\n"
.string "be one of endurance.$"
-Text_StyleHighRisk: @ 825A94C
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleHighRisk: @ 825A94C
.string "The favorite battle style appears to\n"
.string "be high risk, high return.$"
-Text_StyleDependsOnFlow: @ 825A98C
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleDependsOnFlow: @ 825A98C
.string "The favorite battle style appears to\n"
.string "depend on the battle's flow.$"
-Text_StyleTotalPreparation: @ 825A9CE
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleTotalPreparation: @ 825A9CE
.string "The favorite battle style appears to\n"
.string "be one based on total preparation.$"
-Text_StyleWeakenFoe: @ 825AA16
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleWeakenFoe: @ 825AA16
.string "The favorite battle style appears\n"
.string "to be weakening the foe to start.$"
-Text_StyleFlexible: @ 825AA5A
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleFlexible: @ 825AA5A
.string "The favorite battle style appears to\n"
.string "be flexibly adaptable to the situation.$"
-Text_StyleImpossibleToPredict: @ 825AAA7
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleImpossibleToPredict: @ 825AAA7
.string "The favorite battle style appears to\n"
.string "be impossible to predict.$"
-Text_StyleUnrestrained: @ 825AAE6
+BattleFrontier_BattleFactoryPreBattleRoom_Text_StyleUnrestrained: @ 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
+BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon: @ 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
+BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete: @ 825AB6C
.string "Thank you!\n"
.string "Your POKéMON swap is complete.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96: @ 825AB96
-SlateportCity_BattleTentCorridor_Text_25AB96: @ 825AB96
+BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay: @ 825AB96
.string "Right this way, please!$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE: @ 825ABAE
-SlateportCity_BattleTentCorridor_Text_25ABAE: @ 825ABAE
+BattleFrontier_BattleFactoryPreBattleRoom_Text_SavingDataPleaseWait: @ 825ABAE
.string "I am saving your data.\n"
.string "Please wait.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2: @ 825ABD2
+BattleFrontier_BattleFactoryPreBattleRoom_Text_RecordLatestBattle: @ 825ABD2
.string "Would you like to record your latest\n"
.string "battle on your FRONTIER PASS?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15: @ 825AC15
+BattleFrontier_BattleFactoryPreBattleRoom_Text_WaitFewMoments: @ 825AC15
.string "Excuse me! Excuse me, please!\n"
.string "May I get you to wait a few moments?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58: @ 825AC58
+BattleFrontier_BattleFactoryPreBattleRoom_Text_UnderstoodSirWillDo: @ 825AC58
.string "…Uh-huh? What?! …Whoa!\n"
.string "Understood, sir! Will do!$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89: @ 825AC89
+BattleFrontier_BattleFactoryPreBattleRoom_Text_MessageFromHeadComeRightNow: @ 825AC89
.string "Oh, my…\n"
.string "Sorry to keep you waiting!\p"
.string "I have a message from this facility's\n"
@@ -717,10 +679,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89: @ 825AC89
.string "He says, “We're going to do it!\n"
.string "Come here right now!”$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20: @ 825AD20
+BattleFrontier_BattleFactoryPreBattleRoom_Text_PreparedToFaceHead: @ 825AD20
.string "The FACTORY HEAD is demanding you.\n"
.string "Are you prepared to face him?$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61: @ 825AD61
+BattleFrontier_BattleFactoryPreBattleRoom_Text_CantTellAnythingAboutHead: @ 825AD61
.string "I'm terribly sorry, but I can't tell you\n"
.string "anything about the FACTORY HEAD.$"
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
index bdd4a9ff4..10a6bd5a3 100644
--- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
@@ -1,418 +1,369 @@
BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePalaceBattleRoom_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceBattleRoom_OnWarp
.byte 0
-BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825
- setvar VAR_0x8004, 5
- special CallFrontierUtilFunc
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_0
+ @ The opponent is represented by object event 2, which has the gfx id VAR_OBJ_GFX_ID_1
+
+BattleFrontier_BattlePalaceBattleRoom_OnTransition: @ 824F825
+ frontier_settrainers
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx
end
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833
+BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx:: @ 824F833
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxMale
compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxFemale
return
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B:: @ 824F84B
+@ The opponent's gfx are set to the players by default
+BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxMale:: @ 824F84B
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856:: @ 824F856
+BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxFemale:: @ 824F856
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861: @ 824F861
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B
+BattleFrontier_BattlePalaceBattleRoom_OnFrame: @ 824F861
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_EnterRoom
.2byte 0
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B
+BattleFrontier_BattlePalaceBattleRoom_EventScript_EnterRoom:: @ 824F86B
showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5
- applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge
waitmovement 0
- applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
setvar VAR_TEMP_2, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5:: @ 824F8B5
- applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92
- waitmovement 0
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF:: @ 824F8BF
- setvar VAR_0x8004, 3
- special sub_8161F74
+BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge:: @ 824F8B5
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom
+ waitmovement 0
+BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter:: @ 824F8BF
+ tower_setopponent
addobject 2
- applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter
waitmovement 0
- setvar VAR_0x8004, 5
- special CallBattlePalaceFunction
+ palace_getopponentintro
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle
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 CallFrontierUtilFunc
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedOpponent
+BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost:: @ 824F8FA
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobby
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedOpponent:: @ 824F911
+ call BattleFrontier_EventScript_IncrementWinStreak
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
- case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
- applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7
+ case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject 2
- applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
- applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
waitmovement 0
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
+BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent:: @ 824F98A
+ frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_MavenUpNext
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent
compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor3rdOpponent
compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor4thOpponent
compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor5thOpponent
compare VAR_RESULT, 5
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor6thOpponent
compare VAR_RESULT, 6
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42
- multichoice 19, 4, 103, 1
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor7thOpponent
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 824FA42
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78:: @ 824FA78
- message BattleFrontier_BattlePalaceBattleRoom_Text_25009E
+BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRecordBattle:: @ 824FA78
+ message BattleFrontier_BattlePalaceBattleRoom_Text_RecordLastMatch
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
- case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA
- case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA:: @ 824FAAA
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+BattleFrontier_BattlePalaceBattleRoom_EventScript_RecordBattle:: @ 824FAAA
+ call BattleFrontier_EventScript_SaveBattle
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4:: @ 824FAB4
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250030, MSGBOX_YESNO
+BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge:: @ 824FAB4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
- case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F
- case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+ case NO, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
+ case YES, BattleFrontier_BattlePalaceBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2:: @ 824FAE2
- message BattleFrontier_BattlePalaceBattleRoom_Text_25005A
+BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge:: @ 824FAE2
+ message BattleFrontier_BattlePalaceBattleRoom_Text_WishToQuitChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
- case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
- case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14:: @ 824FB14
- applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
- applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
+BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge:: @ 824FB14
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
closemessage
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28:: @ 824FB28
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
+BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon:: @ 824FB28
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobby
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
- message BattleFrontier_BattlePalaceBattleRoom_Text_25007E
+BattleFrontier_BattlePalaceBattleRoom_EventScript_PauseChallenge:: @ 824FB3F
+ message BattleFrontier_BattlePalaceBattleRoom_Text_SavingData
waitmessage
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 2
- special CallBattlePalaceFunction
+ palace_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61
+BattleFrontier_BattlePalaceBattleRoom_EventScript_MavenUpNext:: @ 824FB61
compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_ChallengingPalaceMaven, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79
- message BattleFrontier_BattlePalaceBattleRoom_Text_25014A
+BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven:: @ 824FB79
+ message BattleFrontier_BattlePalaceBattleRoom_Text_ReadyForPalaceMaven
waitmessage
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0
- multichoice 19, 4, 103, 1
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMavenNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMavenNoRecord:: @ 824FBD0
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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, MSGBOX_DEFAULT
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser:: @ 824FC06
+ call BattleFrontier_EventScript_SetBrainObjectGfx
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_AnnounceArrivalOfSpenser, MSGBOX_DEFAULT
closemessage
- applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
- applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight
setobjectxyperm 2, 15, 1
addobject 2
hideobjectat 2, MAP_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
+ applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter
+ applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter
waitmovement 0
switch VAR_TEMP_F
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, MSGBOX_DEFAULT
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePalaceBattleRoom_EventScript_IntroSpenserGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserFirstIntro, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver:: @ 824FCAA
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_ProveYourBondWithMons, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
- setvar VAR_0x8004, 6
- special CallBattlePalaceFunction
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver:: @ 824FCC7
+ palace_incrementstreak
+ frontier_getsymbols
compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, MSGBOX_DEFAULT
- applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
- applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25036D, MSGBOX_DEFAULT
+ goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserPostSilverBattle, MSGBOX_DEFAULT
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetsSeeFrontierPass, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattlePalaceBattleRoom_Text_2503DC
+ message BattleFrontier_BattlePalaceBattleRoom_Text_ReceivedSpiritsSymbol
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6
+ frontier_givesymbol
+ applymovement 2, Common_Movement_WalkInPlaceLeft
waitmovement 0
- applymovement 1, Common_Movement_WalkInPlaceRight
- applymovement 3, Common_Movement_WalkInPlaceRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
+ applymovement 3, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250412, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, MSGBOX_DEFAULT
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserAwaitNextTime, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_IntroSpenserGold:: @ 824FD3A
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserThisTimeWontHoldBack, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold:: @ 824FD67
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_Kaaah, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
-
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
- setvar VAR_0x8004, 6
- special CallBattlePalaceFunction
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold:: @ 824FD84
+ palace_incrementstreak
+ frontier_getsymbols
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, MSGBOX_DEFAULT
- applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
- applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250629, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserYourTeamIsAdmirable, MSGBOX_DEFAULT
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_HurryWithFrontierPass, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattlePalaceBattleRoom_Text_250699
+ message BattleFrontier_BattlePalaceBattleRoom_Text_SpiritsSymbolTookGoldenShine
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6
+ frontier_givesymbol
+ applymovement 2, Common_Movement_WalkInPlaceLeft
waitmovement 0
- applymovement 1, Common_Movement_WalkInPlaceRight
- applymovement 3, Common_Movement_WalkInPlaceRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
+ applymovement 3, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2506C4, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserComeSeeMeAgain, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7:: @ 824FDF7
-VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7
+BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle:: @ 824FDF7
closemessage
setvar VAR_TEMP_2, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_PALACE
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
- setvar VAR_0x8004, 18
- special CallFrontierUtilFunc
+ frontier_restorehelditems
special HealPlayerParty
- setvar VAR_0x8004, 21
- special CallFrontierUtilFunc
+ frontier_resetsketch
return
-BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34: @ 824FE34
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E
+BattleFrontier_BattlePalaceBattleRoom_OnWarp: @ 824FE34
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_SetUpRoomObjects
.2byte 0
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E
+BattleFrontier_BattlePalaceBattleRoom_EventScript_SetUpRoomObjects:: @ 824FE3E
hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx
setvar VAR_TEMP_1, 1
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
removeobject 2
- applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
- applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
+ applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
+ applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible
end
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66:: @ 824FE66
- message BattleFrontier_BattlePalaceBattleRoom_Text_24FF28
+BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 824FE66
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor2ndOpponent
waitmessage
return
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D:: @ 824FE6D
- message BattleFrontier_BattlePalaceBattleRoom_Text_24FF54
+BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 824FE6D
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor3rdOpponent
waitmessage
return
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74:: @ 824FE74
- message BattleFrontier_BattlePalaceBattleRoom_Text_24FF80
+BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor4thOpponent:: @ 824FE74
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor4thOpponent
waitmessage
return
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B:: @ 824FE7B
- message BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC
+BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor5thOpponent:: @ 824FE7B
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor5thOpponent
waitmessage
return
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82:: @ 824FE82
- message BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8
+BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor6thOpponent:: @ 824FE82
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor6thOpponent
waitmessage
return
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89:: @ 824FE89
- message BattleFrontier_BattlePalaceBattleRoom_Text_250004
+BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor7thOpponent:: @ 824FE89
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor7thOpponent
waitmessage
return
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90: @ 824FE90
+BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible: @ 824FE90
set_invisible
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92: @ 824FE92
+BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom: @ 824FE92
set_visible
walk_up
walk_up
walk_up
walk_up
-
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97: @ 824FE97
+BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight: @ 824FE97
face_right
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99: @ 824FE99
+BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp: @ 824FE99
face_up
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B: @ 824FE9B
+BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge: @ 824FE9B
set_visible
walk_up
walk_up
@@ -420,7 +371,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B: @ 824FE9B
walk_up
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1: @ 824FEA1
+BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter: @ 824FEA1
walk_down
walk_down
walk_down
@@ -428,50 +379,50 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1: @ 824FEA1
face_left
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7: @ 824FEA7
+BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit: @ 824FEA7
walk_up
walk_up
walk_up
walk_up
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC: @ 824FEAC
+BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown: @ 824FEAC
face_down
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAE: @ 824FEAE
+BattleFrontier_BattlePalaceBattleRoom_Movement_UnusedOpponentEnter1: @ 824FEAE
set_visible
walk_slow_down
walk_slow_down
face_left
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB3: @ 824FEB3
+BattleFrontier_BattlePalaceBattleRoom_Movement_UnusedOpponentEnter2: @ 824FEB3
set_visible
walk_slow_down
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6
+BattleFrontier_BattlePalaceBattleRoom_Movement_UnusedOpponentEnter3: @ 824FEB6
walk_slow_down
walk_slow_down
walk_slow_down
face_left
step_end
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB
+BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobby:: @ 824FEBB
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5
+ compare VAR_RESULT, FRONTIER_MODE_DOUBLES
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyDoubles
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7
waitstate
end
-BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5:: @ 824FED5
+BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyDoubles:: @ 824FED5
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 19, 7
waitstate
end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF: @ 824FEDF
+BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter: @ 824FEDF
delay_16
delay_16
set_visible
@@ -481,7 +432,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF: @ 824FEDF
walk_in_place_fastest_left
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7: @ 824FEE7
+BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter: @ 824FEE7
set_visible
walk_fast_down
walk_fast_right
@@ -494,7 +445,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7: @ 824FEE7
delay_16
step_end
-BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2: @ 824FEF2
+BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter: @ 824FEF2
delay_16
delay_16
delay_16
@@ -510,70 +461,64 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2: @ 824FEF2
face_left
step_end
-BattleFrontier_BattlePalaceBattleRoom_Text_24FF00: @ 824FF00
-VerdanturfTown_BattleTentBattleRoom_Text_24FF00: @ 824FF00
+BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons: @ 824FF00
.string "Excellent…\n"
.string "Let me restore your POKéMON.$"
-BattleFrontier_BattlePalaceBattleRoom_Text_24FF28: @ 824FF28
-VerdanturfTown_BattleTentBattleRoom_Text_24FF28: @ 824FF28
+BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor2ndOpponent: @ 824FF28
.string "The 2nd opponent is next.\n"
.string "Are you prepared?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_24FF54: @ 824FF54
-VerdanturfTown_BattleTentBattleRoom_Text_24FF54: @ 824FF54
+BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor3rdOpponent: @ 824FF54
.string "The 3rd opponent is next.\n"
.string "Are you prepared?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_24FF80: @ 824FF80
+BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor4thOpponent: @ 824FF80
.string "The 4th opponent is next.\n"
.string "Are you prepared?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC: @ 824FFAC
+BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor5thOpponent: @ 824FFAC
.string "The 5th opponent is next.\n"
.string "Are you prepared?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8: @ 824FFD8
+BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor6thOpponent: @ 824FFD8
.string "The 6th opponent is next.\n"
.string "Are you prepared?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_250004: @ 8250004
+BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor7thOpponent: @ 8250004
.string "The 7th opponent is next.\n"
.string "Are you prepared?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_250030: @ 8250030
-VerdanturfTown_BattleTentBattleRoom_Text_250030: @ 8250030
+BattleFrontier_BattlePalaceBattleRoom_Text_SaveAndQuitGame: @ 8250030
.string "Would you like to save and quit\n"
.string "the game?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_25005A: @ 825005A
-VerdanturfTown_BattleTentBattleRoom_Text_25005A: @ 825005A
+BattleFrontier_BattlePalaceBattleRoom_Text_WishToQuitChallenge: @ 825005A
.string "Do you wish to quit your challenge?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_25007E: @ 825007E
-VerdanturfTown_BattleTentBattleRoom_Text_25007E: @ 825007E
+BattleFrontier_BattlePalaceBattleRoom_Text_SavingData: @ 825007E
.string "Saving the data.\n"
.string "Have patience…$"
-BattleFrontier_BattlePalaceBattleRoom_Text_25009E: @ 825009E
+BattleFrontier_BattlePalaceBattleRoom_Text_RecordLastMatch: @ 825009E
.string "Do you wish to record your latest\n"
.string "match on your FRONTIER PASS?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_2500DD: @ 82500DD
+BattleFrontier_BattlePalaceBattleRoom_Text_ChallengingPalaceMaven: @ 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
+BattleFrontier_BattlePalaceBattleRoom_Text_ReadyForPalaceMaven: @ 825014A
.string "I shall send for the PALACE MAVEN.\n"
.string "Are you ready?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_25017C: @ 825017C
+BattleFrontier_BattlePalaceBattleRoom_Text_AnnounceArrivalOfSpenser: @ 825017C
.string "Let great fanfare announce the arrival\n"
.string "of the PALACE MAVEN, SPENSER!$"
-BattleFrontier_BattlePalaceBattleRoom_Text_2501C1: @ 82501C1
+BattleFrontier_BattlePalaceBattleRoom_Text_SpenserFirstIntro: @ 82501C1
.string "SPENSER: My physical being is with\n"
.string "POKéMON always!\p"
.string "My heart beats as one with\n"
@@ -585,34 +530,34 @@ BattleFrontier_BattlePalaceBattleRoom_Text_2501C1: @ 82501C1
.string "If your bonds of trust are frail,\n"
.string "you will never beat my brethren!$"
-BattleFrontier_BattlePalaceBattleRoom_Text_2502C4: @ 82502C4
+BattleFrontier_BattlePalaceBattleRoom_Text_ProveYourBondWithMons: @ 82502C4
.string "The bond you share with your POKéMON!\n"
.string "Prove it to me here!$"
-BattleFrontier_BattlePalaceBattleRoom_Text_2502FF: @ 82502FF
+BattleFrontier_BattlePalaceBattleRoom_Text_SpenserPostSilverBattle: @ 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
+BattleFrontier_BattlePalaceBattleRoom_Text_LetsSeeFrontierPass: @ 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
+BattleFrontier_BattlePalaceBattleRoom_Text_ReceivedSpiritsSymbol: @ 82503DC
.string "The Spirits Symbol was embossed on\n"
.string "the FRONTIER PASS!$"
-BattleFrontier_BattlePalaceBattleRoom_Text_250412: @ 8250412
+BattleFrontier_BattlePalaceBattleRoom_Text_SpenserAwaitNextTime: @ 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
+BattleFrontier_BattlePalaceBattleRoom_Text_SpenserThisTimeWontHoldBack: @ 8250485
.string "SPENSER: Gwahahah!\n"
.string "You've battled your way up again?\p"
.string "You must have developed a truly\n"
@@ -623,10 +568,10 @@ BattleFrontier_BattlePalaceBattleRoom_Text_250485: @ 8250485
.string "Ready now?\n"
.string "Prepare to lose!$"
-BattleFrontier_BattlePalaceBattleRoom_Text_250572: @ 8250572
+BattleFrontier_BattlePalaceBattleRoom_Text_Kaaah: @ 8250572
.string "… … …Kaaah!$"
-BattleFrontier_BattlePalaceBattleRoom_Text_25057E: @ 825057E
+BattleFrontier_BattlePalaceBattleRoom_Text_SpenserYourTeamIsAdmirable: @ 825057E
.string "SPENSER: Well, that was some display!\n"
.string "Even fully unleashed, my brethren\l"
.string "could not overpower you.\p"
@@ -634,17 +579,17 @@ BattleFrontier_BattlePalaceBattleRoom_Text_25057E: @ 825057E
.string "Here!\n"
.string "Bring me that thing, will you?$"
-BattleFrontier_BattlePalaceBattleRoom_Text_250629: @ 8250629
+BattleFrontier_BattlePalaceBattleRoom_Text_HurryWithFrontierPass: @ 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
+BattleFrontier_BattlePalaceBattleRoom_Text_SpiritsSymbolTookGoldenShine: @ 8250699
.string "The Spirits Symbol took on\n"
.string "a golden shine!$"
-BattleFrontier_BattlePalaceBattleRoom_Text_2506C4: @ 82506C4
+BattleFrontier_BattlePalaceBattleRoom_Text_SpenserComeSeeMeAgain: @ 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/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
index d5219636c..46ab902fa 100644
--- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
@@ -1,92 +1,88 @@
BattleFrontier_BattlePalaceCorridor_MapScripts:: @ 824F4A3
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceCorridor_OnFrame
.byte 0
-BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3
+BattleFrontier_BattlePalaceCorridor_OnFrame: @ 824F4A9
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor
.2byte 0
-BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
+BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor:: @ 824F4B3
delay 16
- applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor
waitmovement 0
lockall
- setvar VAR_0x8004, 3
- special CallBattlePalaceFunction
+ palace_getcomment
compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F58B
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment1
compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F594
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment2
compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F59D
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment3
compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_StreakComment
compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_LongStreakComment
closemessage
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553
- applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4
+ frontier_get FRONTIER_DATA_LVL_MODE
+ compare VAR_RESULT, FRONTIER_LVL_OPEN
+ goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkTo50BattleRoom
waitmovement 0
opendoor 6, 3
waitdooranim
- applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom
waitmovement 0
closedoor 6, 3
waitdooranim
- goto BattleFrontier_BattlePalaceCorridor_EventScript_24F581
+ goto BattleFrontier_BattlePalaceCorridor_EventScript_WarpToBattleRoom
-BattleFrontier_BattlePalaceCorridor_EventScript_24F553:: @ 824F553
- applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5CB
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2
+BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom:: @ 824F553
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkToOpenBattleRoom
waitmovement 0
opendoor 10, 3
waitdooranim
- applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom
waitmovement 0
closedoor 10, 3
waitdooranim
-
-BattleFrontier_BattlePalaceCorridor_EventScript_24F581:: @ 824F581
+BattleFrontier_BattlePalaceCorridor_EventScript_WarpToBattleRoom:: @ 824F581
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM, 255, 7, 4
waitstate
end
-BattleFrontier_BattlePalaceCorridor_EventScript_24F58B:: @ 824F58B
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F5DD, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment1:: @ 824F58B
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_PeopleAndMonAreSame, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePalaceCorridor_EventScript_24F594:: @ 824F594
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F65B, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment2:: @ 824F594
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_LetMonDoWhatItLikes, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePalaceCorridor_EventScript_24F59D:: @ 824F59D
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F718, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment3:: @ 824F59D
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_MonDifferentWhenCornered, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6:: @ 824F5A6
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F78C, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceCorridor_EventScript_StreakComment:: @ 824F5A6
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_BeginningToUnderstandNature, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF:: @ 824F5AF
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F7D4, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceCorridor_EventScript_LongStreakComment:: @ 824F5AF
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_HeartfeltBondBetweenYouAndMons, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePalaceCorridor_Movement_24F5B8: @ 824F5B8
+BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor: @ 824F5B8
walk_up
walk_up
walk_up
walk_up
step_end
-BattleFrontier_BattlePalaceCorridor_Movement_24F5BD: @ 824F5BD
+BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom: @ 824F5BD
walk_up
walk_up
walk_left
@@ -95,7 +91,7 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5BD: @ 824F5BD
walk_up
step_end
-BattleFrontier_BattlePalaceCorridor_Movement_24F5C4: @ 824F5C4
+BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkTo50BattleRoom: @ 824F5C4
walk_up
walk_up
walk_up
@@ -104,7 +100,7 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5C4: @ 824F5C4
walk_up
step_end
-BattleFrontier_BattlePalaceCorridor_Movement_24F5CB: @ 824F5CB
+BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom: @ 824F5CB
walk_up
walk_right
walk_right
@@ -113,7 +109,7 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5CB: @ 824F5CB
walk_up
step_end
-BattleFrontier_BattlePalaceCorridor_Movement_24F5D2: @ 824F5D2
+BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkToOpenBattleRoom: @ 824F5D2
walk_up
walk_up
walk_right
@@ -122,39 +118,38 @@ BattleFrontier_BattlePalaceCorridor_Movement_24F5D2: @ 824F5D2
walk_up
step_end
-BattleFrontier_BattlePalaceCorridor_Movement_24F5D9: @ 824F5D9
+BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom: @ 824F5D9
walk_up
-
-BattleFrontier_BattlePalaceCorridor_Movement_24F5DA: @ 824F5DA
+BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom: @ 824F5DA
walk_up
set_invisible
step_end
-BattleFrontier_BattlePalaceCorridor_Text_24F5DD: @ 824F5DD
+BattleFrontier_BattlePalaceCorridor_Text_PeopleAndMonAreSame: @ 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
+BattleFrontier_BattlePalaceCorridor_Text_LetMonDoWhatItLikes: @ 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
+BattleFrontier_BattlePalaceCorridor_Text_MonDifferentWhenCornered: @ 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
+BattleFrontier_BattlePalaceCorridor_Text_BeginningToUnderstandNature: @ 824F78C
.string "Are you beginning to understand how\n"
.string "a POKéMON's nature makes it behave?$"
-BattleFrontier_BattlePalaceCorridor_Text_24F7D4: @ 824F7D4
+BattleFrontier_BattlePalaceCorridor_Text_HeartfeltBondBetweenYouAndMons: @ 824F7D4
.string "Ah… I see a strong, heartfelt bond\n"
.string "between you and your POKéMON…$"
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/map.json b/data/maps/BattleFrontier_BattlePalaceLobby/map.json
index c1d79ee50..f35780171 100644
--- a/data/maps/BattleFrontier_BattlePalaceLobby/map.json
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24D944",
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_SinglesAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC82",
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_BlackBelt",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC9D",
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_Maniac",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC8B",
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_Man",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC94",
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_Beauty",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24D956",
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_DoublesAttendant",
"flag": "0"
}
],
@@ -124,7 +124,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC50"
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_ShowSinglesResults"
},
{
"type": "sign",
@@ -132,7 +132,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DC69"
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_ShowDoublesResults"
},
{
"type": "sign",
@@ -140,7 +140,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattlePalaceLobby_EventScript_24DCA6"
+ "script": "BattleFrontier_BattlePalaceLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
index 40205e9b5..e015a2d42 100644
--- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
@@ -1,463 +1,405 @@
BattleFrontier_BattlePalaceLobby_MapScripts:: @ 824D77E
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceLobby_MapScript2_24D79D
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceLobby_MapScript2_24D789
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceLobby_OnWarp
.byte 0
-BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D793
+BattleFrontier_BattlePalaceLobby_OnWarp: @ 824D789
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePalaceLobby_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793
+BattleFrontier_BattlePalaceLobby_EventScript_TurnPlayerNorth:: @ 824D793
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D7C7
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0
- map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePalaceLobby_EventScript_24D908
- map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePalaceLobby_EventScript_24D817
- map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePalaceLobby_EventScript_24D873
+BattleFrontier_BattlePalaceLobby_OnFrame: @ 824D79D
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge
.2byte 0
-BattleFrontier_BattlePalaceLobby_EventScript_24D7C7:: @ 824D7C7
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus:: @ 824D7C7
+ frontier_getstatus
end
-BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0
+BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving:: @ 824D7D0
lockall
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E636, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallBattlePalaceFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattlePalaceFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ palace_set PALACE_DATA_WIN_STREAK, 0
+ palace_set PALACE_DATA_WIN_STREAK_ACTIVE, FALSE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817
+BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge:: @ 824D817
lockall
- setvar VAR_0x8004, 10
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24D840
-
-BattleFrontier_BattlePalaceLobby_EventScript_24D838:: @ 824D838
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EE81, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePalaceLobby_EventScript_24D840:: @ 824D840
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EEB9, MSGBOX_DEFAULT
- setvar VAR_0x8004, 11
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePalaceLobby_Text_241520, 9
- message BattleFrontier_BattlePalaceLobby_Text_24E4F7
+ frontier_isbrain
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_DefeatedMaven
+ msgbox BattleFrontier_BattlePalaceLobby_Text_FirmTrueBondsFor7WinStreak, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_GiveBattlePoints
+
+BattleFrontier_BattlePalaceLobby_EventScript_DefeatedMaven:: @ 824D838
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ToDefeatMavenAnd7Trainers, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceLobby_EventScript_GiveBattlePoints:: @ 824D840
+ msgbox BattleFrontier_BattlePalaceLobby_Text_PresentYouWithBattlePoints, MSGBOX_DEFAULT
+ frontier_givepoints
+ msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ message BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded
waitmessage
- call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873
+BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge:: @ 824D873
lockall
- message BattleFrontier_BattlePalaceLobby_Text_24E41E
+ message BattleFrontier_BattlePalaceLobby_Text_ResultsWillBeRecorded
waitmessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattlePalaceFunction
- call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT
+ palace_set PALACE_DATA_WIN_STREAK_ACTIVE, FALSE
+ call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
+BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge:: @ 824D8A1
+ frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- special CallBattlePalaceFunction
+ palace_save 0
playse SE_SAVE
waitse
- call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907
- message BattleFrontier_BattlePalaceLobby_Text_24EF16
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge
+ message BattleFrontier_BattlePalaceLobby_Text_LikeToRecordMatch
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattlePalaceLobby_EventScript_24D907
- case 0, BattleFrontier_BattlePalaceLobby_EventScript_24D902
- case 127, BattleFrontier_BattlePalaceLobby_EventScript_24D907
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_RecordMatch
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24D902:: @ 824D902
- call BattleFrontier_BattlePalaceLobby_EventScript_23E8B4
-
-BattleFrontier_BattlePalaceLobby_EventScript_24D907:: @ 824D907
+BattleFrontier_BattlePalaceLobby_EventScript_RecordMatch:: @ 824D902
+ call BattleFrontier_EventScript_SaveBattle
+BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge:: @ 824D907
return
-BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908
+BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge:: @ 824D908
lockall
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E5D8, MSGBOX_DEFAULT
- message BattleFrontier_BattlePalaceLobby_Text_24E5F6
+ msgbox BattleFrontier_BattlePalaceLobby_Text_WeHaveBeenWaiting, MSGBOX_DEFAULT
+ message BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge
waitmessage
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 1
- special CallBattlePalaceFunction
+ palace_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DAF3
+ goto BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944
+BattleFrontier_BattlePalaceLobby_EventScript_SinglesAttendant:: @ 824D944
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 2
- setvar VAR_FRONTIER_BATTLE_MODE, 0
- goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ goto BattleFrontier_BattlePalaceLobby_EventScript_Attendant
end
-BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956
+BattleFrontier_BattlePalaceLobby_EventScript_DoublesAttendant:: @ 824D956
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 2
- setvar VAR_FRONTIER_BATTLE_MODE, 1
- goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ goto BattleFrontier_BattlePalaceLobby_EventScript_Attendant
end
-BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 0
- special CallBattlePalaceFunction
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_24D817
+BattleFrontier_BattlePalaceLobby_EventScript_Attendant:: @ 824D968
+ palace_get PALACE_DATA_PRIZE
+ compare VAR_RESULT, ITEM_NONE
+ goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge
special SavePlayerParty
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB9E
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBA7
-
-BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB0
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB6
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForSingleBattle
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForDoubleBattle
+BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge:: @ 824D999
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_AskTakeSingleBattleChallenge
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_AskTakeDoubleBattleChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_ExplainChallenge
+ case 2, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
- message BattleFrontier_BattlePalaceLobby_Text_24E119
+BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge:: @ 824D9E6
+ message BattleFrontier_BattlePalaceLobby_Text_WhichChallenge
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
- case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E399, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattlePalaceLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattlePalaceLobby_Text_NowSelectThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge
+ msgbox BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge2, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB91
- case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DA87
- case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB91
+ case NO, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge
+ case YES, BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
+BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge:: @ 824DA87
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special CallBattlePalaceFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 1
- special CallBattlePalaceFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ palace_init
+ palace_set PALACE_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A
-
-BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed
+BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge:: @ 824DAF3
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E408, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ msgbox BattleFrontier_BattlePalaceLobby_Text_FollowMe, MSGBOX_DEFAULT
closemessage
- call BattleFrontier_BattlePalaceLobby_EventScript_24DBBC
+ call BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 255, 8, 13
setvar VAR_TEMP_0, 0
waitstate
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20
- compare VAR_FRONTIER_BATTLE_MODE, 1
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38
- msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
+BattleFrontier_BattlePalaceLobby_EventScript_ExplainChallenge:: @ 824DB20
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_ExplainDoublesChallenge
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainSingleBattleChallenge, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24DB38:: @ 824DB38
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EBC2, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
+BattleFrontier_BattlePalaceLobby_EventScript_ExplainDoublesChallenge:: @ 824DB38
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainDoubleBattleChallenge, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24DB45:: @ 824DB45
+BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMons:: @ 824DB45
switch VAR_RESULT
- case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB60
- case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB6D
+ case FRONTIER_LVL_50, BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLvOpen
-BattleFrontier_BattlePalaceLobby_EventScript_24DB60:: @ 824DB60
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E173, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C
+BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLv50:: @ 824DB60
+ msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24DB6D:: @ 824DB6D
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E29E, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C
+BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 824DB6D
+ msgbox BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24DB7A:: @ 824DB7A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DB94
+BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed:: @ 824DB7A
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge
-BattleFrontier_BattlePalaceLobby_EventScript_24DB91:: @ 824DB91
+BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge:: @ 824DB91
special LoadPlayerParty
-
-BattleFrontier_BattlePalaceLobby_EventScript_24DB94:: @ 824DB94
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePalaceLobby_EventScript_24DB9C:: @ 824DB9C
+BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge:: @ 824DB94
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceLobby_EventScript_EndCancelChallenge:: @ 824DB9C
release
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DB9E:: @ 824DB9E
- msgbox BattleFrontier_BattlePalaceLobby_Text_24DD5B, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForSingleBattle:: @ 824DB9E
+ msgbox BattleFrontier_BattlePalaceLobby_Text_WelcomeForSingleBattle, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DBA7:: @ 824DBA7
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EB06, MSGBOX_DEFAULT
+BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForDoubleBattle:: @ 824DBA7
+ msgbox BattleFrontier_BattlePalaceLobby_Text_WelcomeForDoubleBattle, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DBB0:: @ 824DBB0
- message BattleFrontier_BattlePalaceLobby_Text_24DDE1
+BattleFrontier_BattlePalaceLobby_EventScript_AskTakeSingleBattleChallenge:: @ 824DBB0
+ message BattleFrontier_BattlePalaceLobby_Text_TakeSingleBattleChallenge
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6
- message BattleFrontier_BattlePalaceLobby_Text_24EB8C
+BattleFrontier_BattlePalaceLobby_EventScript_AskTakeDoubleBattleChallenge:: @ 824DBB6
+ message BattleFrontier_BattlePalaceLobby_Text_TakeDoubleBattleChallenge
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC23
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC29
- applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC47
+BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor:: @ 824DBBC
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC2F
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC35
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_OpenDoublesHallDoor
waitdooranim
- applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC4C
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_PlayerEnterDoor
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC3B
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC41
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CloseSinglesHallDoor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CloseDoublesHallDoor
waitdooranim
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DC23:: @ 824DC23
+BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant:: @ 824DC23
setvar VAR_LAST_TALKED, 1
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DC29:: @ 824DC29
+BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant:: @ 824DC29
setvar VAR_LAST_TALKED, 6
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DC2F:: @ 824DC2F
+BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor:: @ 824DC2F
opendoor 5, 4
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DC35:: @ 824DC35
+BattleFrontier_BattlePalaceLobby_EventScript_OpenDoublesHallDoor:: @ 824DC35
opendoor 19, 4
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DC3B:: @ 824DC3B
+BattleFrontier_BattlePalaceLobby_EventScript_CloseSinglesHallDoor:: @ 824DC3B
closedoor 5, 4
return
-BattleFrontier_BattlePalaceLobby_EventScript_24DC41:: @ 824DC41
+BattleFrontier_BattlePalaceLobby_EventScript_CloseDoublesHallDoor:: @ 824DC41
closedoor 19, 4
return
-BattleFrontier_BattlePalaceLobby_Movement_24DC47: @ 824DC47
+BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor: @ 824DC47
walk_up
step_end
-BattleFrontier_BattlePalaceLobby_Movement_24DC49: @ 824DC49
+BattleFrontier_BattlePalaceLobby_Movement_AttendantEnterDoor: @ 824DC49
walk_up
set_invisible
step_end
-BattleFrontier_BattlePalaceLobby_Movement_24DC4C: @ 824DC4C
+BattleFrontier_BattlePalaceLobby_Movement_PlayerEnterDoor: @ 824DC4C
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattlePalaceLobby_EventScript_24DC50:: @ 824DC50
+BattleFrontier_BattlePalaceLobby_EventScript_ShowSinglesResults:: @ 824DC50
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DC69:: @ 824DC69
+BattleFrontier_BattlePalaceLobby_EventScript_ShowDoublesResults:: @ 824DC69
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DC82:: @ 824DC82
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E6E3, MSGBOX_NPC
+BattleFrontier_BattlePalaceLobby_EventScript_BlackBelt:: @ 824DC82
+ msgbox BattleFrontier_BattlePalaceLobby_Text_LadyCanTellWhatMonsThink, MSGBOX_NPC
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DC8B:: @ 824DC8B
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E851, MSGBOX_NPC
+BattleFrontier_BattlePalaceLobby_EventScript_Man:: @ 824DC8B
+ msgbox BattleFrontier_BattlePalaceLobby_Text_NatureAndMovesKeyHere, MSGBOX_NPC
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DC94:: @ 824DC94
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E992, MSGBOX_NPC
+BattleFrontier_BattlePalaceLobby_EventScript_Beauty:: @ 824DC94
+ msgbox BattleFrontier_BattlePalaceLobby_Text_MonDocileButTransforms, MSGBOX_NPC
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DC9D:: @ 824DC9D
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EA4B, MSGBOX_NPC
+BattleFrontier_BattlePalaceLobby_EventScript_Maniac:: @ 824DC9D
+ msgbox BattleFrontier_BattlePalaceLobby_Text_WhatNatureFavorsChippingAway, MSGBOX_NPC
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DCA6:: @ 824DCA6
+BattleFrontier_BattlePalaceLobby_EventScript_RulesBoard:: @ 824DCA6
lockall
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EF66, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+ msgbox BattleFrontier_BattlePalaceLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DCB5:: @ 824DCB5
- message BattleFrontier_BattlePalaceLobby_Text_24EF88
+BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard:: @ 824DCB5
+ message BattleFrontier_BattlePalaceLobby_Text_ReadWhichHeading
waitmessage
- multichoice 16, 0, 100, 0
+ multichoice 16, 0, MULTI_BATTLE_PALACE_RULES, 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
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_RulesBasics
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_RulesNature
+ case 2, BattleFrontier_BattlePalaceLobby_EventScript_RulesMoves
+ case 3, BattleFrontier_BattlePalaceLobby_EventScript_RulesUnderpowered
+ case 4, BattleFrontier_BattlePalaceLobby_EventScript_RulesWhenInDanger
+ case 5, BattleFrontier_BattlePalaceLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_ExitRules
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DD13:: @ 824DD13
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EFAB, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+BattleFrontier_BattlePalaceLobby_EventScript_RulesBasics:: @ 824DD13
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesBasics, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DD21:: @ 824DD21
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F049, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+BattleFrontier_BattlePalaceLobby_EventScript_RulesNature:: @ 824DD21
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesNature, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DD2F:: @ 824DD2F
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F190, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+BattleFrontier_BattlePalaceLobby_EventScript_RulesMoves:: @ 824DD2F
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesMoves, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DD3D:: @ 824DD3D
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F2E8, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+BattleFrontier_BattlePalaceLobby_EventScript_RulesUnderpowered:: @ 824DD3D
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesUnderpowered, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DD4B:: @ 824DD4B
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F3F4, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+BattleFrontier_BattlePalaceLobby_EventScript_RulesWhenInDanger:: @ 824DD4B
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesWhenInDanger, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePalaceLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePalaceLobby_EventScript_24DD59:: @ 824DD59
+BattleFrontier_BattlePalaceLobby_EventScript_ExitRules:: @ 824DD59
releaseall
end
-BattleFrontier_BattlePalaceLobby_Text_24DD5B: @ 824DD5B
+BattleFrontier_BattlePalaceLobby_Text_WelcomeForSingleBattle: @ 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
+BattleFrontier_BattlePalaceLobby_Text_TakeSingleBattleChallenge: @ 824DDE1
.string "Do you wish to take\n"
.string "the SINGLE BATTLE HALL challenge?$"
-BattleFrontier_BattlePalaceLobby_Text_24DE17: @ 824DE17
+BattleFrontier_BattlePalaceLobby_Text_ExplainSingleBattleChallenge: @ 824DE17
.string "In the BATTLE PALACE, there are\n"
.string "several auditoriums for SINGLE BATTLES\l"
.string "that are named SINGLE BATTLE HALLS.\p"
@@ -480,16 +422,16 @@ BattleFrontier_BattlePalaceLobby_Text_24DE17: @ 824DE17
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattlePalaceLobby_Text_24E0D8: @ 824E0D8
+BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified: @ 824E0D8
.string "When you have fortified your heart\n"
.string "and POKéMON, you must return.$"
-BattleFrontier_BattlePalaceLobby_Text_24E119: @ 824E119
+BattleFrontier_BattlePalaceLobby_Text_WhichChallenge: @ 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
+BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLv50: @ 824E173
.string "Sigh…\p"
.string "You do not have the three POKéMON\n"
.string "required for the challenge.\p"
@@ -503,7 +445,7 @@ BattleFrontier_BattlePalaceLobby_Text_24E173: @ 824E173
.string "Come back when you have made\n"
.string "your preparations.$"
-BattleFrontier_BattlePalaceLobby_Text_24E29E: @ 824E29E
+BattleFrontier_BattlePalaceLobby_Text_NotEnoughValidMonsLvOpen: @ 824E29E
.string "Sigh…\p"
.string "You do not have the three POKéMON\n"
.string "required for the challenge.\p"
@@ -515,65 +457,64 @@ BattleFrontier_BattlePalaceLobby_Text_24E29E: @ 824E29E
.string "Come back when you have made\n"
.string "your preparations.$"
-BattleFrontier_BattlePalaceLobby_Text_24E399: @ 824E399
+BattleFrontier_BattlePalaceLobby_Text_NowSelectThreeMons: @ 824E399
.string "Good. Now, you must select your\n"
.string "three POKéMON.$"
-BattleFrontier_BattlePalaceLobby_Text_24E3C8: @ 824E3C8
+BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge2: @ 824E3C8
.string "I must save before I show you to\n"
.string "the BATTLE HALL. Is that okay?$"
-BattleFrontier_BattlePalaceLobby_Text_24E408: @ 824E408
+BattleFrontier_BattlePalaceLobby_Text_FollowMe: @ 824E408
.string "Good.\n"
.string "Now, follow me.$"
-BattleFrontier_BattlePalaceLobby_Text_24E41E: @ 824E41E
+BattleFrontier_BattlePalaceLobby_Text_ResultsWillBeRecorded: @ 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
+BattleFrontier_BattlePalaceLobby_Text_FirmTrueBondsFor7WinStreak: @ 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
+BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded: @ 824E4F7
.string "Your feat will be recorded.\n"
.string "I must ask you to briefly wait.$"
-BattleFrontier_BattlePalaceLobby_Text_24E533: @ 824E5333
+@ Unused
+BattleFrontier_BattlePalaceLobby_Text_BattlePointsFor7WinStreak: @ 824E5333
.string "For the feat of your 7-win streak,\n"
.string "we present you with Battle Point(s).$"
-VerdanturfTown_BattleTentLobby_Text_24E57B: @ 824E57B
+BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize: @ 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
+BattleFrontier_BattlePalaceLobby_Text_WeHaveBeenWaiting: @ 824E5D8
.string "We have been waiting for you…$"
-BattleFrontier_BattlePalaceLobby_Text_24E5F6: @ 824E5F6
-VerdanturfTown_BattleTentLobby_Text_24E5F6: @ 824E5F6
+BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge: @ 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
+BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge: @ 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
+@ Unused
+BattleFrontier_BattlePalaceLobby_Text_ReceivedPrize: @ 824E6C9
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
-BattleFrontier_BattlePalaceLobby_Text_24E6E3: @ 824E6E3
+BattleFrontier_BattlePalaceLobby_Text_LadyCanTellWhatMonsThink: @ 824E6E3
.string "For a hardy fellow like me,\n"
.string "hardy POKéMON are the best.\p"
.string "Offense is the best defense!\n"
@@ -589,7 +530,7 @@ BattleFrontier_BattlePalaceLobby_Text_24E6E3: @ 824E6E3
.string "Huh?\n"
.string "Why are you looking at me like that?$"
-BattleFrontier_BattlePalaceLobby_Text_24E851: @ 824E851
+BattleFrontier_BattlePalaceLobby_Text_NatureAndMovesKeyHere: @ 824E851
.string "Hmm…\p"
.string "It appears that the nature of POKéMON\n"
.string "and the moves that they have been\l"
@@ -602,7 +543,7 @@ BattleFrontier_BattlePalaceLobby_Text_24E851: @ 824E851
.string "you may need to examine how well\l"
.string "its moves match its nature.$"
-BattleFrontier_BattlePalaceLobby_Text_24E992: @ 824E992
+BattleFrontier_BattlePalaceLobby_Text_MonDocileButTransforms: @ 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"
@@ -610,25 +551,25 @@ BattleFrontier_BattlePalaceLobby_Text_24E992: @ 824E992
.string "It becomes totally intimidating.\n"
.string "It's shocking, even.$"
-BattleFrontier_BattlePalaceLobby_Text_24EA4B: @ 824EA4B
+BattleFrontier_BattlePalaceLobby_Text_WhatNatureFavorsChippingAway: @ 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
+BattleFrontier_BattlePalaceLobby_Text_WelcomeForDoubleBattle: @ 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
+BattleFrontier_BattlePalaceLobby_Text_TakeDoubleBattleChallenge: @ 824EB8C
.string "Do you wish to take\n"
.string "the DOUBLE BATTLE HALL challenge?$"
-BattleFrontier_BattlePalaceLobby_Text_24EBC2: @ 824EBC2
+BattleFrontier_BattlePalaceLobby_Text_ExplainDoubleBattleChallenge: @ 824EBC2
.string "In the BATTLE PALACE, there are\n"
.string "several auditoriums for DOUBLE BATTLES\l"
.string "that are named DOUBLE BATTLE HALLS.\p"
@@ -651,37 +592,34 @@ BattleFrontier_BattlePalaceLobby_Text_24EBC2: @ 824EBC2
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattlePalaceLobby_Text_24EE81: @ 824EE81
+BattleFrontier_BattlePalaceLobby_Text_ToDefeatMavenAnd7Trainers: @ 824EE81
.string "To defeat the PALACE MAVEN\n"
.string "and seven TRAINERS in a row…$"
-BattleFrontier_BattlePalaceLobby_Text_24EEB9: @ 824EEB9
+BattleFrontier_BattlePalaceLobby_Text_PresentYouWithBattlePoints: @ 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
+BattleFrontier_BattlePalaceLobby_Text_LikeToRecordMatch: @ 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
+BattleFrontier_BattlePalaceLobby_Text_RulesAreListed: @ 824EF66
.string "The BATTLE HALL rules are listed.$"
-BattleFrontier_BattlePalaceLobby_Text_24EF88: @ 824EF88
-VerdanturfTown_BattleTentLobby_Text_24EF88: @ 824EF88
+BattleFrontier_BattlePalaceLobby_Text_ReadWhichHeading: @ 824EF88
.string "Which heading do you want to read?$"
-BattleFrontier_BattlePalaceLobby_Text_24EFAB: @ 824EFAB
-VerdanturfTown_BattleTentLobby_Text_24EFAB: @ 824EFAB
+BattleFrontier_BattlePalaceLobby_Text_ExplainRulesBasics: @ 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
+BattleFrontier_BattlePalaceLobby_Text_ExplainRulesNature: @ 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"
@@ -694,8 +632,7 @@ VerdanturfTown_BattleTentLobby_Text_24F049: @ 824F049
.string "It may also dislike certain moves that\n"
.string "it has trouble using.$"
-BattleFrontier_BattlePalaceLobby_Text_24F190: @ 824F190
-VerdanturfTown_BattleTentLobby_Text_24F190: @ 824F190
+BattleFrontier_BattlePalaceLobby_Text_ExplainRulesMoves: @ 824F190
.string "There are offensive moves that inflict\n"
.string "direct damage on the foe.\p"
.string "There are defensive moves that are\n"
@@ -708,8 +645,7 @@ VerdanturfTown_BattleTentLobby_Text_24F190: @ 824F190
.string "POKéMON will consider using moves in\n"
.string "these three categories.$"
-BattleFrontier_BattlePalaceLobby_Text_24F2E8: @ 824F2E8
-VerdanturfTown_BattleTentLobby_Text_24F2E8: @ 824F2E8
+BattleFrontier_BattlePalaceLobby_Text_ExplainRulesUnderpowered: @ 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"
@@ -719,8 +655,7 @@ VerdanturfTown_BattleTentLobby_Text_24F2E8: @ 824F2E8
.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
+BattleFrontier_BattlePalaceLobby_Text_ExplainRulesWhenInDanger: @ 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"
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
index c7421c2c8..cb164c4bb 100644
--- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
@@ -1,69 +1,60 @@
BattleFrontier_BattlePikeCorridor_MapScripts:: @ 825C771
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeCorridor_MapScript2_25C77C
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeCorridor_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeCorridor_OnWarp
.byte 0
-BattleFrontier_BattlePikeCorridor_MapScript2_25C77C: @ 825C77C
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C786
+BattleFrontier_BattlePikeCorridor_OnFrame: @ 825C77C
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeCorridor_EventScript_EnterCorridor
.2byte 0
-BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
+BattleFrontier_BattlePikeCorridor_EventScript_EnterCorridor:: @ 825C786
delay 16
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 20
- special CallBattlePikeFunction
- setvar VAR_0x8004, 24
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80B
- applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812
+ frontier_set FRONTIER_DATA_BATTLE_NUM, 1
+ pike_cleartrainerids
+ pike_nohealing TRUE
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor
+ applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor
waitmovement 0
lockall
- msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePikeCorridor_Text_YourChallengeHasBegun, MSGBOX_DEFAULT
closemessage
releaseall
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80E
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerExitCorridor
waitmovement 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 99
- special CallFrontierUtilFunc
- call BattleFrontier_BattlePikeCorridor_EventScript_25BB49
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
waitstate
end
-BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C801
+BattleFrontier_BattlePikeCorridor_OnWarp: @ 825C7F7
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeCorridor_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801
+BattleFrontier_BattlePikeCorridor_EventScript_TurnPlayerNorth:: @ 825C801
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattlePikeCorridor_Movement_25C80B: @ 825C80B
+BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor: @ 825C80B
walk_up
walk_up
step_end
-BattleFrontier_BattlePikeCorridor_Movement_25C80E: @ 825C80E
+BattleFrontier_BattlePikeCorridor_Movement_PlayerExitCorridor: @ 825C80E
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattlePikeCorridor_Movement_25C812: @ 825C812
+BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor: @ 825C812
walk_up
walk_up
walk_left
face_down
step_end
-BattleFrontier_BattlePikeCorridor_Text_25C817: @ 825C817
+BattleFrontier_BattlePikeCorridor_Text_YourChallengeHasBegun: @ 825C817
.string "Your Battle Choice challenge\n"
.string "has now begun…$"
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/map.json b/data/maps/BattleFrontier_BattlePikeLobby/map.json
index 5854c6bf7..598c49444 100644
--- a/data/maps/BattleFrontier_BattlePikeLobby/map.json
+++ b/data/maps/BattleFrontier_BattlePikeLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeLobby_EventScript_25B868",
+ "script": "BattleFrontier_BattlePikeLobby_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeLobby_EventScript_25BAAB",
+ "script": "BattleFrontier_BattlePikeLobby_EventScript_Hiker",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeLobby_EventScript_25BAB4",
+ "script": "BattleFrontier_BattlePikeLobby_EventScript_Twin",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeLobby_EventScript_25BABD",
+ "script": "BattleFrontier_BattlePikeLobby_EventScript_Beauty",
"flag": "0"
}
],
@@ -98,7 +98,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattlePikeLobby_EventScript_25BA80"
+ "script": "BattleFrontier_BattlePikeLobby_EventScript_ShowResults"
},
{
"type": "sign",
@@ -106,7 +106,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattlePikeLobby_EventScript_25BAC6"
+ "script": "BattleFrontier_BattlePikeLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
index 51d6023c8..4389d0d0f 100644
--- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
@@ -1,351 +1,285 @@
BattleFrontier_BattlePikeLobby_MapScripts:: @ 825B6C6
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeLobby_MapScript2_25B6D1
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeLobby_MapScript2_25B6F3
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeLobby_OnWarp
.byte 0
-BattleFrontier_BattlePikeLobby_MapScript2_25B6D1: @ 825B6D1
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_25B707
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeLobby_EventScript_25B710
- map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePikeLobby_EventScript_25B762
- map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePikeLobby_EventScript_25B806
+BattleFrontier_BattlePikeLobby_OnFrame: @ 825B6D1
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_LostChallenge
.2byte 0
-BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeLobby_EventScript_25B6FD
+BattleFrontier_BattlePikeLobby_OnWarp: @ 825B6F3
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeLobby_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD
+BattleFrontier_BattlePikeLobby_EventScript_TurnPlayerNorth:: @ 825B6FD
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus:: @ 825B707
+ frontier_getstatus
end
-BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
+BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving:: @ 825B710
special HealPlayerParty
- setvar VAR_0x8004, 27
- special CallBattlePikeFunction
+ pike_resethelditems
lockall
- msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallBattlePikeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- setvar VAR_0x8006, 0
- special CallBattlePikeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ pike_set PIKE_DATA_WIN_STREAK 0
+ pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762
+BattleFrontier_BattlePikeLobby_EventScript_WonChallenge:: @ 825B762
lockall
- setvar VAR_0x8004, 10
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25B784
- msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, MSGBOX_DEFAULT
+ frontier_isbrain
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen
+ msgbox BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance, MSGBOX_DEFAULT
waitmessage
- goto BattleFrontier_BattlePikeLobby_EventScript_25B78D
+ goto BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints
-BattleFrontier_BattlePikeLobby_EventScript_25B784:: @ 825B784
- msgbox BattleFrontier_BattlePikeLobby_Text_25C383, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen:: @ 825B784
+ msgbox BattleFrontier_BattlePikeLobby_Text_SnatchedVictoryFromQueen, MSGBOX_DEFAULT
waitmessage
-
-BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
- msgbox BattleFrontier_BattlePikeLobby_Text_25C3D9, MSGBOX_DEFAULT
- setvar VAR_0x8004, 11
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePikeLobby_Text_241520, 9
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 3
- special CallBattlePikeFunction
+BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints:: @ 825B78D
+ msgbox BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints, MSGBOX_DEFAULT
+ frontier_givepoints
+ msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ frontier_checkairshow
+ pike_get PIKE_DATA_TOTAL_STREAKS
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- copyvar VAR_0x8006, VAR_RESULT
- special CallBattlePikeFunction
+ pike_set PIKE_DATA_TOTAL_STREAKS, VAR_RESULT
special LoadPlayerParty
special HealPlayerParty
- setvar VAR_0x8004, 27
- special CallBattlePikeFunction
- message BattleFrontier_BattlePikeLobby_Text_25C1DF
+ pike_resethelditems
+ message BattleFrontier_BattlePikeLobby_Text_ShallRecordResults
waitmessage
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- special CallBattlePikeFunction
+ pike_save 0
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
+BattleFrontier_BattlePikeLobby_EventScript_LostChallenge:: @ 825B806
lockall
- message BattleFrontier_BattlePikeLobby_Text_25C146
+ message BattleFrontier_BattlePikeLobby_Text_ChallengeEndedRecordResults
waitmessage
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- setvar VAR_0x8006, 0
- special CallBattlePikeFunction
+ frontier_checkairshow
+ frontier_set FRONTIER_DATA_BATTLE_NUM, 0
+ pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
special LoadPlayerParty
special HealPlayerParty
- setvar VAR_0x8004, 27
- special CallBattlePikeFunction
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- special CallBattlePikeFunction
+ pike_resethelditems
+ pike_save 0
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868
+BattleFrontier_BattlePikeLobby_EventScript_Attendant:: @ 825B868
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 5
- setvar VAR_FRONTIER_BATTLE_MODE, 0
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PIKE
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
- msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePikeLobby_EventScript_25B87F:: @ 825B87F
- message BattleFrontier_BattlePikeLobby_Text_25BBC1
+ msgbox BattleFrontier_BattlePikeLobby_Text_WelcomeToBattlePike, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeLobby_EventScript_AskTakeChallenge:: @ 825B87F
+ message BattleFrontier_BattlePikeLobby_Text_TakeChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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
+ case 0, BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge
+ case 1, BattleFrontier_BattlePikeLobby_EventScript_ExplainChallenge
+ case 2, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
-BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
- message BattleFrontier_BattlePikeLobby_Text_25BE35
+BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge:: @ 825B8BB
+ message BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76
- case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePikeLobby_Text_25C094, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattlePikeLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73
- msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
+ msgbox BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA73
- case 1, BattleFrontier_BattlePikeLobby_EventScript_25B95C
- case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA73
+ case NO, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
+ case YES, BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
-BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
+BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge:: @ 825B95C
setvar VAR_TEMP_0, 0
setvar VAR_TEMP_1, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 28
- special CallBattlePikeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- setvar VAR_0x8006, 1
- special CallBattlePikeFunction
- setvar VAR_0x8004, 26
- special CallBattlePikeFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ pike_init
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ pike_set PIKE_DATA_WIN_STREAK_ACTIVE, TRUE
+ pike_savehelditems
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- setvar VAR_0x8004, 26
- special CallBattlePikeFunction
+ pike_savehelditems
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePikeLobby_Text_25C130, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ msgbox BattleFrontier_BattlePikeLobby_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 5
- special CallFrontierUtilFunc
- call BattleFrontier_BattlePikeLobby_EventScript_25BA94
+ frontier_settrainers
+ call BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor
special HealPlayerParty
- call BattleFrontier_BattlePikeLobby_EventScript_25BB49
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7
setvar VAR_TEMP_0, 0
waitstate
end
-BattleFrontier_BattlePikeLobby_EventScript_25BA1A:: @ 825BA1A
- msgbox BattleFrontier_BattlePikeLobby_Text_25BBF5, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeLobby_EventScript_25B87F
+BattleFrontier_BattlePikeLobby_EventScript_ExplainChallenge:: @ 825BA1A
+ msgbox BattleFrontier_BattlePikeLobby_Text_ExplainBattlePike, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeLobby_EventScript_AskTakeChallenge
-BattleFrontier_BattlePikeLobby_EventScript_25BA27:: @ 825BA27
+BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons:: @ 825BA27
switch VAR_RESULT
- case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA42
- case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA4F
+ case FRONTIER_LVL_50, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen
-BattleFrontier_BattlePikeLobby_EventScript_25BA42:: @ 825BA42
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE8C, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E
+BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLv50:: @ 825BA42
+ msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattlePikeLobby_EventScript_25BA4F:: @ 825BA4F
- msgbox BattleFrontier_BattlePikeLobby_Text_25BF9A, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E
+BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 825BA4F
+ msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattlePikeLobby_EventScript_25BA5C:: @ 825BA5C
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattlePikeLobby_EventScript_25BA76
+BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed:: @ 825BA5C
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
-BattleFrontier_BattlePikeLobby_EventScript_25BA73:: @ 825BA73
+BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge:: @ 825BA73
special LoadPlayerParty
-
-BattleFrontier_BattlePikeLobby_EventScript_25BA76:: @ 825BA76
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePikeLobby_EventScript_25BA7E:: @ 825BA7E
+BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge:: @ 825BA76
+ msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge:: @ 825BA7E
release
end
-BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80
+BattleFrontier_BattlePikeLobby_EventScript_ShowResults:: @ 825BA80
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 5
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_PIKE
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattlePikeLobby_EventScript_25BA94:: @ 825BA94
- applymovement 1, BattleFrontier_BattlePikeLobby_Movement_25BAA7
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_25BAA6
+BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor:: @ 825BA94
+ applymovement 1, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor
waitmovement 0
return
-BattleFrontier_BattlePikeLobby_Movement_25BAA6: @ 825BAA6
+BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor: @ 825BAA6
walk_up
-
-BattleFrontier_BattlePikeLobby_Movement_25BAA7: @ 825BAA7
+BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor: @ 825BAA7
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattlePikeLobby_EventScript_25BAAB:: @ 825BAAB
- msgbox BattleFrontier_BattlePikeLobby_Text_25C422, MSGBOX_NPC
+BattleFrontier_BattlePikeLobby_EventScript_Hiker:: @ 825BAAB
+ msgbox BattleFrontier_BattlePikeLobby_Text_OneRoomAwayFromGoal, MSGBOX_NPC
end
-BattleFrontier_BattlePikeLobby_EventScript_25BAB4:: @ 825BAB4
- msgbox BattleFrontier_BattlePikeLobby_Text_25C4A5, MSGBOX_NPC
+BattleFrontier_BattlePikeLobby_EventScript_Twin:: @ 825BAB4
+ msgbox BattleFrontier_BattlePikeLobby_Text_NeverHadToBattleTrainer, MSGBOX_NPC
end
-BattleFrontier_BattlePikeLobby_EventScript_25BABD:: @ 825BABD
- msgbox BattleFrontier_BattlePikeLobby_Text_25C4FD, MSGBOX_NPC
+BattleFrontier_BattlePikeLobby_EventScript_Beauty:: @ 825BABD
+ msgbox BattleFrontier_BattlePikeLobby_Text_ThinkAbilitiesUsefulHere, MSGBOX_NPC
end
-BattleFrontier_BattlePikeLobby_EventScript_25BAC6:: @ 825BAC6
+BattleFrontier_BattlePikeLobby_EventScript_RulesBoard:: @ 825BAC6
lockall
- msgbox BattleFrontier_BattlePikeLobby_Text_25C5FB, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+ msgbox BattleFrontier_BattlePikeLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePikeLobby_EventScript_25BAD5:: @ 825BAD5
- message BattleFrontier_BattlePikeLobby_Text_25C621
+BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard:: @ 825BAD5
+ message BattleFrontier_BattlePikeLobby_Text_ReadWhichHeading
waitmessage
- multichoice 16, 4, 102, 0
+ multichoice 16, 4, MULTI_BATTLE_PIKE_RULES, 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
+ case 0, BattleFrontier_BattlePikeLobby_EventScript_RulesPokenavBag
+ case 1, BattleFrontier_BattlePikeLobby_EventScript_RulesHeldItems
+ case 2, BattleFrontier_BattlePikeLobby_EventScript_RulesMonOrder
+ case 3, BattleFrontier_BattlePikeLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_ExitRules
end
-BattleFrontier_BattlePikeLobby_EventScript_25BB1D:: @ 825BB1D
- msgbox BattleFrontier_BattlePikeLobby_Text_25C644, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+BattleFrontier_BattlePikeLobby_EventScript_RulesPokenavBag:: @ 825BB1D
+ msgbox BattleFrontier_BattlePikeLobby_Text_ExplainPokenavBagRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePikeLobby_EventScript_25BB2B:: @ 825BB2B
- msgbox BattleFrontier_BattlePikeLobby_Text_25C68A, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+BattleFrontier_BattlePikeLobby_EventScript_RulesHeldItems:: @ 825BB2B
+ msgbox BattleFrontier_BattlePikeLobby_Text_ExplainHeldItemRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePikeLobby_EventScript_25BB39:: @ 825BB39
- msgbox BattleFrontier_BattlePikeLobby_Text_25C6EB, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+BattleFrontier_BattlePikeLobby_EventScript_RulesMonOrder:: @ 825BB39
+ msgbox BattleFrontier_BattlePikeLobby_Text_ExplainMonOrderRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePikeLobby_EventScript_25BB47:: @ 825BB47
+BattleFrontier_BattlePikeLobby_EventScript_ExitRules:: @ 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
+BattleFrontier_BattlePike_EventScript_CloseCurtain:: @ 825BB49
+ playse SE_CURTAIN
+ special CloseBattlePikeCurtain
waitstate
waitse
return
-BattleFrontier_BattlePikeLobby_Text_25BB52: @ 825BB52
+BattleFrontier_BattlePikeLobby_Text_WelcomeToBattlePike: @ 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
+BattleFrontier_BattlePikeLobby_Text_TakeChallenge: @ 825BBC1
.string "Would you like to take the Battle\n"
.string "Choice challenge?$"
-BattleFrontier_BattlePikeLobby_Text_25BBF5: @ 825BBF5
+BattleFrontier_BattlePikeLobby_Text_ExplainBattlePike: @ 825BBF5
.string "Here we conduct an event we call\n"
.string "the Battle Choice.\p"
.string "The Battle Choice rules are very\n"
@@ -364,16 +298,16 @@ BattleFrontier_BattlePikeLobby_Text_25BBF5: @ 825BBF5
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattlePikeLobby_Text_25BE02: @ 825BE02
+BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou: @ 825BE02
.string "We look forward to seeing you\n"
.string "on another occasion…$"
-BattleFrontier_BattlePikeLobby_Text_25BE35: @ 825BE35
+BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode: @ 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
+BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50: @ 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"
@@ -385,7 +319,7 @@ BattleFrontier_BattlePikeLobby_Text_25BE8C: @ 825BE8C
.string "Please come see me when\n"
.string "you are ready…$"
-BattleFrontier_BattlePikeLobby_Text_25BF9A: @ 825BF9A
+BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen: @ 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"
@@ -397,98 +331,101 @@ BattleFrontier_BattlePikeLobby_Text_25BF9A: @ 825BF9A
.string "Please come see me when\n"
.string "you are ready…$"
-BattleFrontier_BattlePikeLobby_Text_25C094: @ 825C094
+BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons: @ 825C094
.string "Please choose the three POKéMON\n"
.string "you wish to enter in the challenge…$"
-BattleFrontier_BattlePikeLobby_Text_25C0D8: @ 825C0D8
+BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge: @ 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
+BattleFrontier_BattlePikeLobby_Text_StepThisWay: @ 825C130
.string "Please step this way…$"
-BattleFrontier_BattlePikeLobby_Text_25C146: @ 825C146
+BattleFrontier_BattlePikeLobby_Text_ChallengeEndedRecordResults: @ 825C146
.string "Your challenge has ended…\p"
.string "I shall record your results.\n"
.string "Please wait…$"
-BattleFrontier_BattlePikeLobby_Text_25C18A: @ 825C18A
+BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance: @ 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
+BattleFrontier_BattlePikeLobby_Text_ShallRecordResults: @ 825C1DF
.string "I shall record your results.\n"
.string "Please wait…$"
-BattleFrontier_BattlePikeLobby_Text_25C209: @ 825C209
+@ Unused
+BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints2: @ 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
+@ Unused
+BattleFrontier_BattlePikeLobby_Text_ReachedBattlePointLimit: @ 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
+BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting: @ 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
+BattleFrontier_BattlePikeLobby_Text_SnatchedVictoryFromQueen: @ 825C383
.string "Congratulations…\p"
.string "You have snatched victory from the\n"
.string "PIKE QUEEN and cleared the event…$"
-BattleFrontier_BattlePikeLobby_Text_25C3D9: @ 825C3D9
+BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints: @ 825C3D9
.string "In recognition of your amazing luck,\n"
.string "we award you these Battle Point(s)…$"
-BattleFrontier_BattlePikeLobby_Text_25C422: @ 825C422
+BattleFrontier_BattlePikeLobby_Text_OneRoomAwayFromGoal: @ 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
+BattleFrontier_BattlePikeLobby_Text_NeverHadToBattleTrainer: @ 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
+BattleFrontier_BattlePikeLobby_Text_ThinkAbilitiesUsefulHere: @ 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
+@ Unused
+BattleFrontier_BattlePikeLobby_Text_TrainersWhicheverPathIChoose: @ 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
+BattleFrontier_BattlePikeLobby_Text_RulesAreListed: @ 825C5FB
.string "The Battle Choice's rules are listed.$"
-BattleFrontier_BattlePikeLobby_Text_25C621: @ 825C621
+BattleFrontier_BattlePikeLobby_Text_ReadWhichHeading: @ 825C621
.string "Which heading do you want to read?$"
-BattleFrontier_BattlePikeLobby_Text_25C644: @ 825C644
+BattleFrontier_BattlePikeLobby_Text_ExplainPokenavBagRules: @ 825C644
.string "The BAG and POKéNAV may not be used\n"
.string "during a Battle Choice challenge.$"
-BattleFrontier_BattlePikeLobby_Text_25C68A: @ 825C68A
+BattleFrontier_BattlePikeLobby_Text_ExplainHeldItemRules: @ 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
+BattleFrontier_BattlePikeLobby_Text_ExplainMonOrderRules: @ 825C6EB
.string "During a Battle Choice challenge,\n"
.string "the sequence of POKéMON cannot be\l"
.string "changed.\p"
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
deleted file mode 100644
index ea959387b..000000000
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
+++ /dev/null
@@ -1,895 +0,0 @@
-BattleFrontier_BattlePikeRandomRoom1_MapScripts:: @ 825D152
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE
- .byte 0
-
-BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171
- .2byte 0
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171
- setvar VAR_TEMP_0, 1
- setvar VAR_0x8004, 5
- special CallBattlePikeFunction
- 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 CallBattlePikeFunction
- msgbox gStringVar4, MSGBOX_DEFAULT
- waitmessage
- closemessage
- releaseall
- setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
- setvar VAR_0x8005, 0
- special DoSpecialTrainerBattle
- 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 CallFrontierUtilFunc
- warp MAP_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, MSGBOX_DEFAULT
- waitmessage
- closemessage
- applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795
- waitmovement 0
- setvar VAR_0x8004, 21
- setvar VAR_0x8005, 0
- special CallBattlePikeFunction
- msgbox gStringVar4, MSGBOX_DEFAULT
- waitmessage
- closemessage
- releaseall
- setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
- setvar VAR_0x8005, 0
- special DoSpecialTrainerBattle
- 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, MSGBOX_DEFAULT
- playfanfare MUS_ME_ASA
- waitfanfare
- special HealPlayerParty
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, MSGBOX_DEFAULT
- 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 CallBattlePikeFunction
- 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, MSGBOX_DEFAULT
- closemessage
- special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, 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, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1
- 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 CallBattlePikeFunction
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, MSGBOX_DEFAULT
- call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA
- goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA:: @ 825D3DA
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, MSGBOX_DEFAULT
- waitmessage
- playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0
- waitmessage
- waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E003, MSGBOX_DEFAULT
- closemessage
- goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416:: @ 825D416
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, MSGBOX_DEFAULT
- call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460
- goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, MSGBOX_DEFAULT
- waitmessage
- playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattlePikeRandomRoom1_Text_25E118
- waitmessage
- waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E140, MSGBOX_DEFAULT
- closemessage
- goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D
- applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA
- waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
- waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
- addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallBattlePikeFunction
- call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
- waitstate
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC:: @ 825D4DC
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E15D, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA:: @ 825D4EA
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD, MSGBOX_DEFAULT
- playfanfare MUS_ME_ASA
- waitfanfare
- goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC:: @ 825D4FC
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E238, MSGBOX_DEFAULT
- playfanfare MUS_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 MUS_ME_ASA
- waitfanfare
- special HealPlayerParty
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, MSGBOX_DEFAULT
- 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 EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB
- waitmovement 0
- setvar VAR_0x8004, 21
- setvar VAR_0x8005, 0
- special CallBattlePikeFunction
- msgbox gStringVar4, MSGBOX_DEFAULT
- closemessage
- delay 16
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
- waitmovement 0
- setvar VAR_0x8004, 21
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
- msgbox gStringVar4, MSGBOX_DEFAULT
- closemessage
- setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE
- setvar VAR_0x8005, 0
- special DoSpecialTrainerBattle
- waitstate
- switch VAR_RESULT
- case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC
- goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC:: @ 825D5DC
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
- waitmovement 0
- applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC
- waitmovement 0
- applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4
- waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, 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 CallBattlePikeFunction
- copyvar VAR_0x8004, VAR_RESULT
- compare VAR_0x8004, 0
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643
- compare VAR_0x8004, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, MSGBOX_DEFAULT
- closemessage
- releaseall
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4, MSGBOX_DEFAULT
- closemessage
- waitse
- playmoncry SPECIES_KIRLIA, 0
- waitmoncry
- setvar VAR_0x8004, 11
- special CallBattlePikeFunction
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758
- compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F
- compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766
- setvar VAR_0x8004, 15
- special CallBattlePikeFunction
- 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, MSGBOX_DEFAULT
- 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, MSGBOX_DEFAULT
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DC01, MSGBOX_DEFAULT
- closemessage
- waitse
- playmoncry SPECIES_DUSCLOPS, 0
- waitmoncry
- setvar VAR_0x8004, 11
- special CallBattlePikeFunction
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774
- setvar VAR_0x8004, 15
- special CallBattlePikeFunction
- 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, MSGBOX_DEFAULT
- 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, MSGBOX_DEFAULT
- 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 EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
- waitmovement 0
- setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
- setvar VAR_0x8005, 0
- special DoSpecialTrainerBattle
- waitstate
- return
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D795: @ 825D795
- walk_down
- walk_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D798: @ 825D798
- walk_up
- walk_up
- walk_up
- set_invisible
- walk_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E: @ 825D79E
- walk_up
- set_invisible
- walk_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2: @ 825D7A2
- walk_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4: @ 825D7A4
- walk_down
- face_left
- delay_16
- delay_16
- face_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA: @ 825D7AA
- walk_fast_down
- walk_fast_right
- walk_fast_right
- walk_fast_down
- walk_fast_left
- face_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1: @ 825D7B1
- face_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3: @ 825D7B3
- walk_left
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4: @ 825D7B4
- face_right
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B6: @ 825D7B6
- walk_down
- walk_down
- walk_right
- face_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB: @ 825D7BB
- face_left
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD: @ 825D7BD
- face_right
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF: @ 825D7BF
- face_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C1: @ 825D7C1
- walk_right
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C3: @ 825D7C3
- walk_left
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5: @ 825D7C5
- walk_down
- walk_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8: @ 825D7C8
- face_right
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA: @ 825D7CA
- face_left
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC: @ 825D7CC
- walk_up
- walk_up
- walk_up
- walk_right
- walk_up
- set_invisible
- walk_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4: @ 825D7D4
- walk_up
- walk_up
- walk_up
- walk_left
- walk_up
- set_invisible
- walk_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC: @ 825D7DC
- walk_up
- walk_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF: @ 825D7DF
- walk_down
- walk_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2: @ 825D7E2
- walk_up
- walk_up
- walk_up
- set_invisible
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7: @ 825D7E7
- set_visible
- walk_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA
- walk_left
- face_right
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED
- setvar VAR_0x8004, 5
- special CallBattlePikeFunction
- 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 CallBattlePikeFunction
- msgbox gStringVar4, MSGBOX_DEFAULT
- waitmessage
- closemessage
- release
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831
- lock
- faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3, MSGBOX_DEFAULT
- closemessage
- release
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E
- setvar VAR_0x8004, 13
- special CallBattlePikeFunction
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875
- playfanfare MUS_ME_ASA
- waitfanfare
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, MSGBOX_DEFAULT
- closemessage
- release
- applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E
- waitmovement 0
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875:: @ 825D875
- lock
- faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA51, MSGBOX_DEFAULT
- closemessage
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881:: @ 825D881
- lock
- faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E32E, MSGBOX_DEFAULT
- closemessage
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D:: @ 825D88D
- lock
- faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6, MSGBOX_DEFAULT
- closemessage
- release
- applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4
- waitmovement 0
- end
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4:: @ 825D8A4
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage1_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage1_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage1_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage1_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage1_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage1_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage1_Tile6, 1
- special DrawWholeMapView
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7:: @ 825D8E7
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage2_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage2_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage2_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage2_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage2_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage2_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage2_Tile6, 1
- special DrawWholeMapView
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D92A:: @ 825D92A
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage3_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage3_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage3_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage3_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage3_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage3_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage3_Tile6, 1
- special DrawWholeMapView
- return
-
-BattleFrontier_BattlePikeRandomRoom1_EventScript_25D96D:: @ 825D96D
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage0_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage0_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage0_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage0_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage0_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage0_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage0_Tile6, 1
- special DrawWholeMapView
- return
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0: @ 825D9B0
- walk_up
- walk_up
- step_end
-
-BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B3: @ 825D9B3
- walk_down
- walk_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/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
deleted file mode 100644
index 5d438d8bd..000000000
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
+++ /dev/null
@@ -1,43 +0,0 @@
-BattleFrontier_BattlePikeRandomRoom2_MapScripts:: @ 825E392
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE
- .byte 0
-
-BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D: @ 825E39D
- map_script_2 VAR_TEMP_0, 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 CallFrontierUtilFunc
- lockall
- msgbox BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2, MSGBOX_DEFAULT
- closemessage
- releaseall
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
- waitstate
- end
-
-BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB: @ 825E3DB
- walk_down
- walk_down
- step_end
-
-BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE
- map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8
- .2byte 0
-
-BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8
- setvar VAR_TEMP_4, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
- end
-
-BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2: @ 825E3F2
- .string "Congratulations…\n"
- .string "Now, this way, please…$"
-
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
deleted file mode 100644
index 9f2dfec16..000000000
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-BattleFrontier_BattlePikeRandomRoom3_MapScripts:: @ 825E41A
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466
- .byte 0
-
-BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C
- map_script_2 VAR_TEMP_1, 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A
- .2byte 0
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C
- setvar VAR_TEMP_0, 1
- setvar VAR_0x8004, 6
- special CallBattlePikeFunction
- end
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 4
- special CallFrontierUtilFunc
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
- waitstate
- end
-
-BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466
- map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470
- .2byte 0
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470
- setvar VAR_TEMP_4, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
- end
-
-BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A
- call BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 5
- special CallFrontierUtilFunc
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
- compare VAR_RESULT, 3
- goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
- end
-
-BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3:: @ 825E4A3
- setvar VAR_TEMP_1, 1
- end
-
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.json b/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json
index a07464a15..2b3daf8b7 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.json
+++ b/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2",
- "name": "BattleFrontier_BattlePikeRandomRoom2",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2",
+ "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL",
+ "name": "BattleFrontier_BattlePikeRoomFinal",
+ "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL",
"music": "MUS_B_TUBE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
diff --git a/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc
new file mode 100644
index 000000000..d547a200f
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc
@@ -0,0 +1,40 @@
+BattleFrontier_BattlePikeRoomFinal_MapScripts:: @ 825E392
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomFinal_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoomFinal_OnWarp
+ .byte 0
+
+BattleFrontier_BattlePikeRoomFinal_OnFrame: @ 825E39D
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRoomFinal_EventScript_EnterRoom
+ .2byte 0
+
+BattleFrontier_BattlePikeRoomFinal_EventScript_EnterRoom:: @ 825E3A7
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer
+ waitmovement 0
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
+ lockall
+ msgbox BattleFrontier_BattlePikeRoomFinal_Text_CongratsThisWayPlease, MSGBOX_DEFAULT
+ closemessage
+ releaseall
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer: @ 825E3DB
+ walk_down
+ walk_down
+ step_end
+
+BattleFrontier_BattlePikeRoomFinal_OnWarp: @ 825E3DE
+ map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomFinal_EventScript_TurnPlayerNorth
+ .2byte 0
+
+BattleFrontier_BattlePikeRoomFinal_EventScript_TurnPlayerNorth:: @ 825E3E8
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ end
+
+BattleFrontier_BattlePikeRoomFinal_Text_CongratsThisWayPlease: @ 825E3F2
+ .string "Congratulations…\n"
+ .string "Now, this way, please…$"
+
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.json b/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json
index 630a0e335..4413e35f3 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.json
+++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1",
- "name": "BattleFrontier_BattlePikeRandomRoom1",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1",
+ "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL",
+ "name": "BattleFrontier_BattlePikeRoomNormal",
+ "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL",
"music": "MUS_B_TUBE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED",
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NPC",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D",
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_StatusMon",
"flag": "0"
}
],
@@ -50,7 +50,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2"
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_Exit"
},
{
"type": "trigger",
@@ -59,7 +59,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082"
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -68,7 +68,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D"
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack"
},
{
"type": "trigger",
@@ -77,7 +77,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082"
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -86,7 +86,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082"
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -95,7 +95,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D"
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack"
},
{
"type": "trigger",
@@ -104,7 +104,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D"
+ "script": "BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack"
}
],
"bg_events": []
diff --git a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
new file mode 100644
index 000000000..184bf9324
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
@@ -0,0 +1,862 @@
+BattleFrontier_BattlePikeRoomNormal_MapScripts:: @ 825D152
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomNormal_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp
+ .byte 0
+
+BattleFrontier_BattlePikeRoomNormal_OnFrame: @ 825D167
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterRoom
+ .2byte 0
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_EnterRoom:: @ 825D171
+ setvar VAR_TEMP_0, 1
+ pike_getroomtype
+ switch VAR_RESULT
+ case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterSingleBattleRoom
+ case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom
+ case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterStatusRoom
+ case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom
+ case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom
+ case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeRoomNormal_EventScript_EnterBrainRoom
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_EnterSingleBattleRoom:: @ 825D1C6
+ lockall
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
+ waitmovement 0
+ pike_gettrainerintro 0
+ msgbox gStringVar4, MSGBOX_DEFAULT
+ waitmessage
+ closemessage
+ releaseall
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
+ setvar VAR_0x8005, 0
+ special DoSpecialTrainerBattle
+ waitstate
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WonSingleBattle
+BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost:: @ 825D20A
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_WonSingleBattle:: @ 825D226
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom:: @ 825D231
+ lockall
+ delay 16
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_BattleSomewhatToughTrainer, MSGBOX_DEFAULT
+ waitmessage
+ closemessage
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
+ waitmovement 0
+ pike_gettrainerintro 0
+ msgbox gStringVar4, MSGBOX_DEFAULT
+ waitmessage
+ closemessage
+ releaseall
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
+ setvar VAR_0x8005, 0
+ special DoSpecialTrainerBattle
+ waitstate
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WonHardBattle
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_WonHardBattle:: @ 825D285
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer
+ waitmovement 0
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_RestoreToFullHealth, MSGBOX_DEFAULT
+ playfanfare MUS_ME_ASA
+ waitfanfare
+ special HealPlayerParty
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge2, MSGBOX_DEFAULT
+ closemessage
+ release
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_EnterBrainRoom:: @ 825D2BF
+ delay 22
+ lockall
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer
+ waitmovement 0
+ pike_prequeenheal
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenNoHeal
+ case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealOneMon
+ case 2, BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealTwoMons
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter:: @ 825D2FB
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ShallFetchOurMaster, MSGBOX_DEFAULT
+ closemessage
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanUp
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy
+ waitmovement 0
+ playse SE_CURTAIN
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed
+ delay 4
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed
+ delay 4
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesClosed
+ delay 4
+ waitse
+ delay 60
+ playse SE_CURTAIN1
+ delay 65
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed
+ showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
+ delay 4
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed
+ delay 4
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesOpen
+ waitse
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter
+ waitmovement 0
+ pike_getbrainstatus
+ switch VAR_RESULT
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePikeRoomNormal_EventScript_IntroLucyGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ImThePikeQueen, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver:: @ 825D3BD
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_HopeYouDidntUseUpLuck, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle
+ compare VAR_RESULT, 1
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver:: @ 825D3DA
+ frontier_getsymbols
+ compare VAR_RESULT, 0
+ goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyShowMeFrontierPass, MSGBOX_DEFAULT
+ waitmessage
+ playfanfare MUS_ME_SYMBOLGET
+ message BattleFrontier_BattlePikeRoomNormal_Text_ReceivedLuckSymbol
+ waitmessage
+ waitfanfare
+ frontier_givesymbol
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_AllThereIsDisappear, MSGBOX_DEFAULT
+ closemessage
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_IntroLucyGold:: @ 825D416
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyYouAgain, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold:: @ 825D443
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_NowComeOn, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle
+ compare VAR_RESULT, 1
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold:: @ 825D460
+ frontier_getsymbols
+ compare VAR_RESULT, 2
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyFrontierPass, MSGBOX_DEFAULT
+ waitmessage
+ playfanfare MUS_ME_SYMBOLGET
+ message BattleFrontier_BattlePikeRoomNormal_Text_LuckSymbolTookGoldenShine
+ waitmessage
+ waitfanfare
+ frontier_givesymbol
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_IWontForget, MSGBOX_DEFAULT
+ closemessage
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy:: @ 825D49D
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside
+ waitmovement 0
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2
+ waitmovement 0
+ pike_get PIKE_DATA_WIN_STREAK
+ addvar VAR_RESULT, 1
+ pike_set PIKE_DATA_WIN_STREAK VAR_RESULT
+ call BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenNoHeal:: @ 825D4DC
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomNoHeal, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealOneMon:: @ 825D4EA
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealOne, MSGBOX_DEFAULT
+ playfanfare MUS_ME_ASA
+ waitfanfare
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealTwoMons:: @ 825D4FC
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomHealTwo, MSGBOX_DEFAULT
+ playfanfare MUS_ME_ASA
+ waitfanfare
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom:: @ 825D50E
+ lockall
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer
+ waitmovement 0
+ message BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreToFullHealth
+ waitmessage
+ playfanfare MUS_ME_ASA
+ waitfanfare
+ special HealPlayerParty
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge, MSGBOX_DEFAULT
+ closemessage
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit
+ waitmovement 0
+ releaseall
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom:: @ 825D53E
+ lockall
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer
+ waitmovement 0
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer1
+ waitmovement 0
+ pike_gettrainerintro 0
+ msgbox gStringVar4, MSGBOX_DEFAULT
+ closemessage
+ delay 16
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2
+ waitmovement 0
+ pike_gettrainerintro 1
+ msgbox gStringVar4, MSGBOX_DEFAULT
+ closemessage
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE
+ setvar VAR_0x8005, 0
+ special DoSpecialTrainerBattle
+ waitstate
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WonDoubleBattle
+ goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_WonDoubleBattle:: @ 825D5DC
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit
+ waitmovement 0
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceUp
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_EnterStatusRoom:: @ 825D605
+ lockall
+ message BattleFrontier_BattlePikeRoomNormal_Text_WatchOut
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer
+ waitmovement 0
+ pike_getstatusmon
+ copyvar VAR_0x8004, VAR_RESULT
+ compare VAR_0x8004, PIKE_STATUSMON_KIRLIA
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack
+ compare VAR_0x8004, PIKE_STATUSMON_DUSCLOPS
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_AttacksWhenStartled, MSGBOX_DEFAULT
+ closemessage
+ releaseall
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack:: @ 825D643
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_KirliaStop, MSGBOX_DEFAULT
+ closemessage
+ waitse
+ playmoncry SPECIES_KIRLIA, 0
+ waitmoncry
+ pike_getstatus
+ compare VAR_RESULT, PIKE_STATUS_TOXIC
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedToxic
+ compare VAR_RESULT, PIKE_STATUS_BURN
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedWillOWisp
+ compare VAR_RESULT, PIKE_STATUS_PARALYSIS
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedThunderWave
+ compare VAR_RESULT, PIKE_STATUS_SLEEP
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis
+ pike_flashscreen
+ waitstate
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KIRLIA, 0
+ waitmoncry
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough, MSGBOX_DEFAULT
+ waitse
+ playmoncry SPECIES_KIRLIA, 0
+ waitmoncry
+ closemessage
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer
+ waitmovement 0
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForKirlia, MSGBOX_DEFAULT
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack:: @ 825D6D5
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_DusclopsStop, MSGBOX_DEFAULT
+ closemessage
+ waitse
+ playmoncry SPECIES_DUSCLOPS, 0
+ waitmoncry
+ pike_getstatus
+ compare VAR_RESULT, PIKE_STATUS_FREEZE
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedIceBeam
+ compare VAR_RESULT, PIKE_STATUS_BURN
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp
+ pike_flashscreen
+ waitstate
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_DUSCLOPS, 0
+ waitmoncry
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough, MSGBOX_DEFAULT
+ waitse
+ playmoncry SPECIES_DUSCLOPS, 0
+ waitmoncry
+ closemessage
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer
+ waitmovement 0
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForDusclops, MSGBOX_DEFAULT
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedToxic:: @ 825D751
+ message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedToxic
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedWillOWisp:: @ 825D758
+ message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedWillOWisp
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedThunderWave:: @ 825D75F
+ message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedThunderWave
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis:: @ 825D766
+ message BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedHypnosis
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedIceBeam:: @ 825D76D
+ message BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedIceBeam
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp:: @ 825D774
+ message BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedWillOWisp
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle:: @ 825D77B
+ closemessage
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2
+ waitmovement 0
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
+ setvar VAR_0x8005, 0
+ special DoSpecialTrainerBattle
+ waitstate
+ return
+
+BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer: @ 825D795
+ walk_down
+ walk_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit: @ 825D798
+ walk_up
+ walk_up
+ walk_up
+ set_invisible
+ walk_up
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit: @ 825D79E
+ walk_up
+ set_invisible
+ walk_up
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon: @ 825D7A2
+ walk_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer: @ 825D7A4
+ walk_down
+ face_left
+ delay_16
+ delay_16
+ face_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer: @ 825D7AA
+ walk_fast_down
+ walk_fast_right
+ walk_fast_right
+ walk_fast_down
+ walk_fast_left
+ face_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC: @ 825D7B1
+ face_up
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside: @ 825D7B3
+ walk_left
+BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight: @ 825D7B4
+ face_right
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer: @ 825D7B6
+ walk_down
+ walk_down
+ walk_right
+ face_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer1: @ 825D7BB
+ face_left
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2: @ 825D7BD
+ face_right
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceUp: @ 825D7BF
+ face_up
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight: @ 825D7C1
+ walk_right
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft: @ 825D7C3
+ walk_left
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown: @ 825D7C5
+ walk_down
+ walk_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer: @ 825D7C8
+ face_right
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer: @ 825D7CA
+ face_left
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit: @ 825D7CC
+ walk_up
+ walk_up
+ walk_up
+ walk_right
+ walk_up
+ set_invisible
+ walk_up
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit: @ 825D7D4
+ walk_up
+ walk_up
+ walk_up
+ walk_left
+ walk_up
+ set_invisible
+ walk_up
+ step_end
+
+@ For approaching Lucy and exiting room after defeating Lucy
+BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2: @ 825D7DC
+ walk_up
+ walk_up
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer: @ 825D7DF
+ walk_down
+ walk_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy: @ 825D7E2
+ walk_up
+ walk_up
+ walk_up
+ set_invisible
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter: @ 825D7E7
+ set_visible
+ walk_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside: @ 825D7EA
+ walk_left
+ face_right
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_NPC:: @ 825D7ED
+ pike_getroomtype
+ switch VAR_RESULT
+ case PIKE_ROOM_NPC, BattleFrontier_BattlePikeRoomNormal_EventScript_NormalNPC
+ case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_StatusNPC
+ case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeRoomNormal_EventScript_HealNPC
+BattleFrontier_BattlePikeRoomNormal_EventScript_NormalNPC:: @ 825D81B
+ lock
+ faceplayer
+ pike_getnpcmsg
+ msgbox gStringVar4, MSGBOX_DEFAULT
+ waitmessage
+ closemessage
+ release
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_StatusNPC:: @ 825D831
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeHopeMonsAreFine, MSGBOX_DEFAULT
+ closemessage
+ release
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_HealNPC:: @ 825D83E
+ pike_healonetwomons
+ compare VAR_RESULT, 2
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreTwoMons
+ compare VAR_RESULT, 1
+ call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreOneMon
+ playfanfare MUS_ME_ASA
+ waitfanfare
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell, MSGBOX_DEFAULT
+ closemessage
+ release
+ applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreOneMon:: @ 825D875
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreOneMon, MSGBOX_DEFAULT
+ closemessage
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreTwoMons:: @ 825D881
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreTwoMons, MSGBOX_DEFAULT
+ closemessage
+ return
+
+@ Dusclops or Kirlia
+BattleFrontier_BattlePikeRoomNormal_EventScript_StatusMon:: @ 825D88D
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRoomNormal_Text_Silence, MSGBOX_DEFAULT
+ closemessage
+ release
+ applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed:: @ 825D8A4
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage1_Tile0, 1
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage1_Tile1, 1
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage1_Tile2, 1
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage1_Tile3, 1
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage1_Tile4, 1
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage1_Tile5, 0
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage1_Tile6, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed:: @ 825D8E7
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage2_Tile0, 1
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage2_Tile1, 1
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage2_Tile2, 1
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage2_Tile3, 1
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage2_Tile4, 1
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage2_Tile5, 0
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage2_Tile6, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesOpen:: @ 825D92A
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage3_Tile0, 1
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage3_Tile1, 1
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage3_Tile2, 1
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage3_Tile3, 1
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage3_Tile4, 1
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage3_Tile5, 0
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage3_Tile6, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesClosed:: @ 825D96D
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage0_Tile0, 1
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage0_Tile1, 1
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage0_Tile2, 1
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage0_Tile3, 1
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage0_Tile4, 1
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage0_Tile5, 0
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage0_Tile6, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanUp: @ 825D9B0
+ walk_up
+ walk_up
+ step_end
+
+@ Unused
+BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanDown: @ 825D9B3
+ walk_down
+ walk_down
+ step_end
+
+BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreToFullHealth: @ 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_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge: @ 825DA13
+ .string "I urge you to enjoy the rest of your\n"
+ .string "Battle Choice challenge…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreOneMon: @ 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_BattlePikeRoomNormal_Text_BestOfLuckFarewell: @ 825DABE
+ .string "The best of luck to you.\n"
+ .string "Farewell.$"
+
+@ Seems there was a planned room type where the player could choose to battle and would be healed if they won
+@ Possibly replaced/superseded by the hard battle room, which is the same but the battle isnt optional
+@ Unused
+BattleFrontier_BattlePikeRoomNormal_Text_CareForBattleWillRestoreMons: @ 825DAE1
+ .string "Excuse me…\p"
+ .string "Would you care for a battle?\n"
+ .string "I'll restore your POKéMON if you win.$"
+
+@ Unused
+BattleFrontier_BattlePikeRoomNormal_Text_NowShallWe: @ 825DB2F
+ .string "Very well…\n"
+ .string "Now, shall we?$"
+
+@ Unused
+BattleFrontier_BattlePikeRoomNormal_Text_HowUnsportingOfYou: @ 825DB49
+ .string "I see…\n"
+ .string "How unsporting of you…$"
+
+@ Unused
+BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreMonsAsPromised: @ 825DB67
+ .string "Magnificent…\p"
+ .string "As promised, I shall restore your\n"
+ .string "POKéMON to full health.$"
+
+@ Unused
+BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell2: @ 825DBAE
+ .string "The best of luck to you.\n"
+ .string "Farewell.$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_WatchOut: @ 825DBD1
+ .string "Oh, my!\p"
+ .string "Watch out!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_KirliaStop: @ 825DBE4
+ .string "Now, now!\n"
+ .string "KIRLIA, stop that!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_DusclopsStop: @ 825DC01
+ .string "Now, now!\n"
+ .string "DUSCLOPS, stop that!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedToxic: @ 825DC20
+ .string "KIRLIA used TOXIC!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedHypnosis: @ 825DC33
+ .string "KIRLIA used HYPNOSIS!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedThunderWave: @ 825DC49
+ .string "KIRLIA used THUNDER WAVE!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_KirliaUsedWillOWisp: @ 825DC63
+ .string "KIRLIA used WILL-O-WISP!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedWillOWisp: @ 825DC7C
+ .string "DUSCLOPS used WILL-O-WISP!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_DusclopsUsedIceBeam: @ 825DC97
+ .string "DUSCLOPS used ICE BEAM!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_ThatsEnough: @ 825DCAF
+ .string "Look here!\n"
+ .string "That's quite enough!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForKirlia: @ 825DCCF
+ .string "I must apologize to you…\p"
+ .string "My KIRLIA has a TIMID nature…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForDusclops: @ 825DD06
+ .string "I must apologize to you…\p"
+ .string "My DUSCLOPS has a TIMID nature…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_AttacksWhenStartled: @ 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_BattlePikeRoomNormal_Text_ApologizeHopeMonsAreFine: @ 825DDA3
+ .string "I do apologize for what happened…\n"
+ .string "I do hope your POKéMON are fine.$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_Silence: @ 825DDE6
+ .string "… … … … … …\n"
+ .string "… … … … … …$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_BattleSomewhatToughTrainer: @ 825DDFE
+ .string "Welcome…\p"
+ .string "Here, we will have you battle\n"
+ .string "a somewhat-tough TRAINER…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_RestoreToFullHealth: @ 825DE3F
+ .string "How wonderful…\p"
+ .string "To honor your victory, your POKéMON\n"
+ .string "shall be restored to full health…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge2: @ 825DE94
+ .string "I urge you to enjoy the rest of your\n"
+ .string "Battle Choice challenge…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_ImThePikeQueen: @ 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_BattlePikeRoomNormal_Text_HopeYouDidntUseUpLuck: @ 825DF71
+ .string "Your luck…\n"
+ .string "I hope you didn't use it all up here…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_LucyShowMeFrontierPass: @ 825DFA2
+ .string "LUCY: … … … … … …\n"
+ .string "Show me your FRONTIER PASS…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_ReceivedLuckSymbol: @ 825DFD0
+ .string "The Luck Symbol was embossed on\n"
+ .string "the FRONTIER PASS!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_AllThereIsDisappear: @ 825E003
+ .string "…That's all there is…\n"
+ .string "Disappear already…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_LucyYouAgain: @ 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_BattlePikeRoomNormal_Text_NowComeOn: @ 825E0E8
+ .string "Now!\n"
+ .string "Come on!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_LucyFrontierPass: @ 825E0F6
+ .string "LUCY: … … … … … …\p"
+ .string "…FRONTIER PASS…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_LuckSymbolTookGoldenShine: @ 825E118
+ .string "The Luck Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_IWontForget: @ 825E140
+ .string "…You, I won't forget…\n"
+ .string "…Ever…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_ChoseRoomNoHeal: @ 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_BattlePikeRoomNormal_Text_ChoseRoomHealOne: @ 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_BattlePikeRoomNormal_Text_ChoseRoomHealTwo: @ 825E238
+ .string "I welcome you…\p"
+ .string "Since you have chosen this room, I will\n"
+ .string "restore two POKéMON to full health…$"
+
+@ Unused
+BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreAllMons: @ 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_BattlePikeRoomNormal_Text_ShallFetchOurMaster: @ 825E311
+ .string "I shall go fetch our master…$"
+
+BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreTwoMons: @ 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/maps/BattleFrontier_BattlePikeRandomRoom3/map.json b/data/maps/BattleFrontier_BattlePikeRoomWildMons/map.json
index 6e0e74960..6dd45dc34 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.json
+++ b/data/maps/BattleFrontier_BattlePikeRoomWildMons/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3",
- "name": "BattleFrontier_BattlePikeRandomRoom3",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3",
+ "id": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS",
+ "name": "BattleFrontier_BattlePikeRoomWildMons",
+ "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS",
"music": "MUS_B_TUBE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
@@ -23,7 +23,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174"
+ "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit"
},
{
"type": "trigger",
@@ -32,7 +32,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202"
+ "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -41,7 +41,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202"
+ "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -50,7 +50,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202"
+ "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -59,7 +59,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D"
+ "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack"
},
{
"type": "trigger",
@@ -68,7 +68,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D"
+ "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack"
},
{
"type": "trigger",
@@ -77,7 +77,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D"
+ "script": "BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack"
}
],
"bg_events": []
diff --git a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
new file mode 100644
index 000000000..418a9e764
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
@@ -0,0 +1,44 @@
+BattleFrontier_BattlePikeRoomWildMons_MapScripts:: @ 825E41A
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoomWildMons_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomWildMons_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoomWildMons_OnWarp
+ .byte 0
+
+BattleFrontier_BattlePikeRoomWildMons_OnFrame: @ 825E42A
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeRoomWildMons_EventScript_SetInWildMonRoom
+ map_script_2 VAR_TEMP_1, 1, BattleFrontier_BattlePikeRoomWildMons_EventScript_WarpToLobbyLost
+ .2byte 0
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_SetInWildMonRoom:: @ 825E43C
+ setvar VAR_TEMP_0, 1
+ pike_inwildmonroom
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_WarpToLobbyLost:: @ 825E44A
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_OnWarp: @ 825E466
+ map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomWildMons_EventScript_TurnPlayerNorth
+ .2byte 0
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_TurnPlayerNorth:: @ 825E470
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_OnResume: @ 825E47A
+ call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
+ frontier_get FRONTIER_DATA_BATTLE_OUTCOME
+ compare VAR_RESULT, B_OUTCOME_LOST
+ goto_if_eq BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost
+ compare VAR_RESULT, B_OUTCOME_DREW
+ goto_if_eq BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost:: @ 825E4A3
+ setvar VAR_TEMP_1, 1
+ end
+
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json
index ac9230c53..4f6bd9a7c 100644
--- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908",
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB",
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_HintGiver",
"flag": "0"
}
],
@@ -50,7 +50,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_LeftRoomWarp"
},
{
"type": "trigger",
@@ -59,7 +59,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_CenterRoomWarp"
},
{
"type": "trigger",
@@ -68,7 +68,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_RightRoomWarp"
},
{
"type": "trigger",
@@ -77,7 +77,7 @@
"elevation": 0,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack"
},
{
"type": "trigger",
@@ -86,7 +86,7 @@
"elevation": 0,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack"
},
{
"type": "trigger",
@@ -95,7 +95,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -104,7 +104,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -113,7 +113,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom"
},
{
"type": "trigger",
@@ -122,7 +122,7 @@
"elevation": 0,
"var": "VAR_TEMP_3",
"var_value": "1",
- "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D"
+ "script": "BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack"
}
],
"bg_events": []
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
index 54f11f071..825530806 100644
--- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
@@ -1,272 +1,250 @@
BattleFrontier_BattlePikeThreePathRoom_MapScripts:: @ 825C843
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeThreePathRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeThreePathRoom_OnWarp
.byte 0
-BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853: @ 825C853
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A
- map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4
- map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78
- map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97
+BattleFrontier_BattlePikeThreePathRoom_OnFrame: @ 825C853
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_SetHintRoom
+ map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint
.2byte 0
-BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D
- map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887
+BattleFrontier_BattlePikeThreePathRoom_OnWarp: @ 825C87D
+ map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887
+BattleFrontier_BattlePikeThreePathRoom_EventScript_TurnPlayerNorth:: @ 825C887
setvar VAR_TEMP_4, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891:: @ 825C891
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus:: @ 825C891
+ frontier_getstatus
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A:: @ 825C89A
+BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby:: @ 825C89A
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
waitstate
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
+BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge:: @ 825C8A4
lockall
- message BattleFrontier_BattlePikeThreePathRoom_Text_25CD75
+ message BattleFrontier_BattlePikeThreePathRoom_Text_AwaitingReturnSaveBeforeResume
waitmessage
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- special CallBattlePikeFunction
+ pike_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_PleaseEnjoyChallenge, MSGBOX_DEFAULT
closemessage
releaseall
- setvar VAR_0x8004, 5
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 99
- special CallFrontierUtilFunc
+ frontier_settrainers
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908:: @ 825C908
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+BattleFrontier_BattlePikeThreePathRoom_EventScript_Attendant:: @ 825C908
+ frontier_get FRONTIER_DATA_BATTLE_NUM @ Room number
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
+ case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom1
+ case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom3
+ case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom5
+ case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom7
+ case 9, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom9
+ case 11, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom11
+ case 13, BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom13
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968:: @ 825C968
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom1:: @ 825C968
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom1, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978:: @ 825C978
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom3:: @ 825C978
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC00, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom3, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988:: @ 825C988
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom5:: @ 825C988
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC23, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom5, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998:: @ 825C998
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom7:: @ 825C998
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC46, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom7, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8:: @ 825C9A8
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom9:: @ 825C9A8
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC69, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom9, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8:: @ 825C9B8
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom11:: @ 825C9B8
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom11, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8:: @ 825C9C8
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AttendantRoom13:: @ 825C9C8
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom13, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8:: @ 825C9D8
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4, MSGBOX_YESNO
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AskContinueChallenge:: @ 825C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_ContinueWithChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A
- case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A
+ case NO, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskSaveChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskSaveChallenge
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
- setvar VAR_0x8004, 6
- special CallFrontierUtilFunc
- message BattleFrontier_BattlePikeThreePathRoom_Text_25CE08
+BattleFrontier_BattlePikeThreePathRoom_EventScript_PauseChallenge:: @ 825C9FD
+ frontier_saveparty
+ message BattleFrontier_BattlePikeThreePathRoom_Text_SavingYourData
waitmessage
special LoadPlayerParty
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 2
- special CallBattlePikeFunction
+ pike_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A:: @ 825CA2A
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB, MSGBOX_YESNO
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AskSaveChallenge:: @ 825CA2A
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SaveChallengeAndQuit, MSGBOX_YESNO
switch VAR_RESULT
- case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD
- case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A
- case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A
+ case YES, BattleFrontier_BattlePikeThreePathRoom_EventScript_PauseChallenge
+ case NO, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_AskRetireChallenge
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A
- message BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AskRetireChallenge:: @ 825CA5A
+ message BattleFrontier_BattlePikeThreePathRoom_Text_RetireFromChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
+ case 0, BattleFrontier_BattlePike_EventScript_Retire
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78
- setvar VAR_0x8004, 17
- special CallBattlePikeFunction
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
+BattleFrontier_BattlePikeThreePathRoom_EventScript_SetHintRoom:: @ 825CA78
+ pike_sethintroom
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint
setvar VAR_TEMP_5, 255
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91:: @ 825CA91
+BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint:: @ 825CA91
setvar VAR_TEMP_5, 1
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97
- applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE
+BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint:: @ 825CA97
+ applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer
waitmovement 0
lockall
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D094, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_TerrifyingEvent, MSGBOX_DEFAULT
releaseall
- applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5
+ applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos
waitmovement 0
setvar VAR_TEMP_5, 255
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB
- setvar VAR_0x8004, 19
- special CallBattlePikeFunction
- compare VAR_RESULT, 4
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2
+BattleFrontier_BattlePikeThreePathRoom_EventScript_HintGiver:: @ 825CABB
+ pike_gethint
+ compare VAR_RESULT, PIKE_HINT_BRAIN
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveBrainHint
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, MSGBOX_YESNO
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_FindingItDifficultToChoose, MSGBOX_YESNO
switch VAR_RESULT
- case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A
- case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00
- case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00
+ case YES, BattleFrontier_BattlePikeThreePathRoom_EventScript_AcceptHint
+ case NO, BattleFrontier_BattlePikeThreePathRoom_EventScript_DeclineHint
+ case MULTI_B_PRESSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_DeclineHint
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeThreePathRoom_EventScript_DeclineHint:: @ 825CB00
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_ApologizeForImpertinence, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A
- setvar VAR_0x8004, 18
- special CallBattlePikeFunction
+BattleFrontier_BattlePikeThreePathRoom_EventScript_AcceptHint:: @ 825CB0A
+ pike_gethintroomid
switch VAR_RESULT
- case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39
- case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46
- case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53
+ case PIKE_ROOM_LEFT, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveLeftRoomHint
+ case PIKE_ROOM_CENTER, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveCenterRoomHint
+ case PIKE_ROOM_RIGHT, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveRightRoomHint
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39:: @ 825CB39
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF64, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
+BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveLeftRoomHint:: @ 825CB39
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutLeftPath, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46:: @ 825CB46
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF23, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
+BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveCenterRoomHint:: @ 825CB46
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutCenterPath, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
+BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveRightRoomHint:: @ 825CB53
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutRightPath, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60
- setvar VAR_0x8004, 19
- special CallBattlePikeFunction
+BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint:: @ 825CB60
+ pike_gethint
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
+ case PIKE_HINT_NOSTALGIA, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintNostalgia
+ case PIKE_HINT_WHISPERING, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintWhispering
+ case PIKE_HINT_POKEMON, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPokemon
+ case PIKE_HINT_PEOPLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPeople
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A:: @ 825CB9A
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D054, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeThreePathRoom_EventScript_HintNostalgia:: @ 825CB9A
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_WaveOfNostaliga, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4:: @ 825CBA4
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D017, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeThreePathRoom_EventScript_HintWhispering:: @ 825CBA4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_HeardWhispering, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE:: @ 825CBAE
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPokemon:: @ 825CBAE
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_AromaOfPokemon, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8:: @ 825CBB8
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5, MSGBOX_DEFAULT
+BattleFrontier_BattlePikeThreePathRoom_EventScript_HintPeople:: @ 825CBB8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_PresenceOfPeople, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2:: @ 825CBC2
+BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveBrainHint:: @ 825CBC2
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D125, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_DreadfulPresence, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE: @ 825CBCE
+BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer: @ 825CBCE
walk_left
walk_left
walk_down
@@ -275,7 +253,7 @@ BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE: @ 825CBCE
walk_down
step_end
-BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5: @ 825CBD5
+BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos: @ 825CBD5
walk_up
walk_up
walk_up
@@ -285,109 +263,107 @@ BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5: @ 825CBD5
face_down
step_end
-BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD: @ 825CBDD
+BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom1: @ 825CBDD
.string "You are currently in\n"
.string "the 1st room…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CC00: @ 825CC00
+BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom3: @ 825CC00
.string "You are currently in\n"
.string "the 3rd room…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CC23: @ 825CC23
+BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom5: @ 825CC23
.string "You are currently in\n"
.string "the 5th room…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CC46: @ 825CC46
+BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom7: @ 825CC46
.string "You are currently in\n"
.string "the 7th room…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CC69: @ 825CC69
+BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom9: @ 825CC69
.string "You are currently in\n"
.string "the 9th room…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C: @ 825CC8C
+BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom11: @ 825CC8C
.string "You are currently in\n"
.string "the 11th room…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0: @ 825CCB0
+BattleFrontier_BattlePikeThreePathRoom_Text_CurrentlyInRoom13: @ 825CCB0
.string "You are currently in\n"
.string "the 13th room…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4: @ 825CCD4
+BattleFrontier_BattlePikeThreePathRoom_Text_ContinueWithChallenge: @ 825CCD4
.string "Will you continue with\n"
.string "your challenge?$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB: @ 825CCFB
+BattleFrontier_BattlePikeThreePathRoom_Text_SaveChallengeAndQuit: @ 825CCFB
.string "Would you like to save your challenge\n"
.string "and quit the game for now?$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C: @ 825CD3C
+BattleFrontier_BattlePikeThreePathRoom_Text_RetireFromChallenge: @ 825CD3C
.string "Do you wish to retire from your\n"
.string "Battle Choice challenge?$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CD75: @ 825CD75
+BattleFrontier_BattlePikeThreePathRoom_Text_AwaitingReturnSaveBeforeResume: @ 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
+BattleFrontier_BattlePikeThreePathRoom_Text_PleaseEnjoyChallenge: @ 825CDDA
.string "Please do enjoy your Battle Choice\n"
.string "challenge…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CE08: @ 825CE08
+BattleFrontier_BattlePikeThreePathRoom_Text_SavingYourData: @ 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
+BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack: @ 825CE36
.string "The path is blocked!\n"
.string "And there is no turning back…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CE69: @ 825CE69
+BattleFrontier_BattlePikeThreePathRoom_Text_FindingItDifficultToChoose: @ 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
+BattleFrontier_BattlePikeThreePathRoom_Text_ApologizeForImpertinence: @ 825CEBB
.string "I see…\n"
.string "I apologize for my impertinence…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3: @ 825CEE3
+BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutRightPath: @ 825CEE3
.string "Ah, let me see… There is something\n"
.string "about the path on the right…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CF23: @ 825CF23
+BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutCenterPath: @ 825CF23
.string "Ah, let me see… There is something\n"
.string "about the path in the center…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CF64: @ 825CF64
+BattleFrontier_BattlePikeThreePathRoom_Text_SomethingAboutLeftPath: @ 825CF64
.string "Ah, let me see… There is something\n"
.string "about the path on the left…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3: @ 825CFA3
+BattleFrontier_BattlePikeThreePathRoom_Text_AromaOfPokemon: @ 825CFA3
.string "It seems to have the distinct aroma\n"
.string "of POKéMON wafting around it…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5: @ 825CFE5
+BattleFrontier_BattlePikeThreePathRoom_Text_PresenceOfPeople: @ 825CFE5
.string "Is it… A TRAINER?\n"
.string "I sense the presence of people…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25D017: @ 825D017
+BattleFrontier_BattlePikeThreePathRoom_Text_HeardWhispering: @ 825D017
.string "I seem to have heard something…\n"
.string "It may have been whispering…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25D054: @ 825D054
+BattleFrontier_BattlePikeThreePathRoom_Text_WaveOfNostaliga: @ 825D054
.string "For some odd reason, I felt a wave\n"
.string "of nostalgia coming from it…$"
-BattleFrontier_BattlePikeThreePathRoom_Text_25D094: @ 825D094
+BattleFrontier_BattlePikeThreePathRoom_Text_TerrifyingEvent: @ 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
+BattleFrontier_BattlePikeThreePathRoom_Text_DreadfulPresence: @ 825D125
.string "From every path I sense a dreadful\n"
.string "presence…$"
diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
deleted file mode 100644
index 4fa8d142a..000000000
--- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
+++ /dev/null
@@ -1,764 +0,0 @@
-BattleFrontier_BattlePointExchangeServiceCorner_MapScripts:: @ 825F070
- .byte 0
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071:: @ 825F071
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA, MSGBOX_DEFAULT
- special sub_813A958
- return
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12, MSGBOX_DEFAULT
- special sub_813A988
- release
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A
- specialvar VAR_TEMP_1, sub_813AA04
- compare VAR_TEMP_1, VAR_0x8008
- goto_if_ge BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, MSGBOX_DEFAULT
- compare VAR_TEMP_2, 0
- goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
- compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
- compare VAR_TEMP_2, 2
- goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
- goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9:: @ 825F0C9
- compare VAR_TEMP_2, 0
- goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5
- compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5
- goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5
- checkdecorspace VAR_0x8009
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_DEFAULT
- compare VAR_TEMP_2, 0
- goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
- goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9, MSGBOX_DEFAULT
- special sub_813A988
- release
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A
- checkitemspace VAR_0x8009, 1
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_DEFAULT
- compare VAR_TEMP_2, 2
- goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
- goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166:: @ 825F166
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3, MSGBOX_DEFAULT
- special sub_813A988
- release
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173:: @ 825F173
- lock
- faceplayer
- setvar VAR_TEMP_2, 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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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_TEMP_2, 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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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_TEMP_2, 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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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_TEMP_2, 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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_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, MSGBOX_NPC
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4:: @ 825F7D4
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E, MSGBOX_NPC
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD:: @ 825F7DD
- lock
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0, MSGBOX_DEFAULT
- release
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8:: @ 825F7E8
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D, MSGBOX_NPC
- end
-
-BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1:: @ 825F7F1
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D, MSGBOX_NPC
- 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/maps/BattleFrontier_BattlePyramidEmptySquare/map.json b/data/maps/BattleFrontier_BattlePyramidFloor/map.json
index 3f4739b26..2b3baf425 100644
--- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.json
+++ b/data/maps/BattleFrontier_BattlePyramidFloor/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE",
- "name": "BattleFrontier_BattlePyramidEmptySquare",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE",
+ "id": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR",
+ "name": "BattleFrontier_BattlePyramidFloor",
+ "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR",
"music": "MUS_NONE",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc
index 723c666d8..f590ff890 100644
--- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc
@@ -1,161 +1,120 @@
-BattleFrontier_BattlePyramidEmptySquare_MapScripts:: @ 8252A33
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA
+BattleFrontier_BattlePyramidFloor_MapScripts:: @ 8252A33
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidFloor_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidFloor_OnFrame
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidFloor_OnTransition
.byte 0
-BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43: @ 8252A43
- map_script_2 VAR_TEMP_D, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D
- map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98
- map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F
+BattleFrontier_BattlePyramidFloor_OnFrame: @ 8252A43
+ map_script_2 VAR_TEMP_D, 1, BattleFrontier_BattlePyramidFloor_EventScript_UpdateLight
+ map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic
+ map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName
.2byte 0
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D
+BattleFrontier_BattlePyramidFloor_EventScript_UpdateLight:: @ 8252A5D
lockall
- setvar VAR_0x8004, 13
+ @ pyramid_updatelight, cant use macro because it straddles the loop
+ setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_UPDATE_LIGHT
setvar VAR_0x8005, 4
- setvar VAR_0x8006, 1
- setvar VAR_0x8007, 55
+ setvar VAR_0x8006, PYRAMID_LIGHT_INCR_RADIUS
+ setvar VAR_0x8007, SE_SAVE
setvar VAR_RESULT, 0
-
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
+BattleFrontier_BattlePyramidFloor_EventScript_UpdateLightLoop:: @ 8252A77
special CallBattlePyramidFunction
delay 2
compare VAR_RESULT, 2
- goto_if_ne BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77
+ goto_if_ne BattleFrontier_BattlePyramidFloor_EventScript_UpdateLightLoop
setvar VAR_TEMP_D, 0
releaseall
end
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F:: @ 8252A8F
+BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName:: @ 8252A8F
special ShowMapNamePopup
setvar VAR_TEMP_F, 0
end
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98
+BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic:: @ 8252A98
playbgm MUS_PYRAMID, 0
setvar VAR_TEMP_E, 1
end
-BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
- setvar VAR_0x8004, 15
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattlePyramidFloor_OnResume: @ 8252AA2
+ pyramid_setfloorpal
+ frontier_getstatus
switch VAR_TEMP_0
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 4
- goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
- compare VAR_RESULT, 5
- goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
+ case 0, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge
+ case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby
+ case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge
+ frontier_get FRONTIER_DATA_BATTLE_OUTCOME
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
- compare VAR_RESULT, 3
- goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
- compare VAR_RESULT, 9
- goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 8
- special CallFrontierUtilFunc
+ goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
+ compare VAR_RESULT, B_OUTCOME_LOST
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ compare VAR_RESULT, B_OUTCOME_DREW
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ compare VAR_RESULT, B_OUTCOME_FORFEITED
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ frontier_isbattletype BATTLE_TYPE_TRAINER @ VAR_RESULT seems to be ignored here
setvar VAR_TEMP_D, 1
-
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39
- setvar VAR_0x8004, 17
- special CallBattlePyramidFunction
+BattleFrontier_BattlePyramidFloor_EventScript_ResetParty:: @ 8252B39
+ pyramid_resetparty
end
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42
-BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- setvar VAR_0x8006, 255
- special CallBattlePyramidFunction
-
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66
-BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
- setvar VAR_0x8004, 13
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 14
- special CallBattlePyramidFunction
+BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost:: @ 8252B42
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ pyramid_set PYRAMID_DATA_TRAINER_FLAGS, 255
+BattleFrontier_BattlePyramid_EventScript_WarpToLobby:: @ 8252B66
+ pyramid_updatelight 0, PYRAMID_LIGHT_SET_RADIUS
+ pyramid_clearhelditems
special HealPlayerParty
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
waitstate
end
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 1
- special CallBattlePyramidFunction
+BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge:: @ 8252B8D
+ pyramid_save CHALLENGE_STATUS_SAVING
special SavePlayerParty
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 9
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ pyramid_settrainers
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
setvar VAR_TEMP_F, 1
end
-BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA: @ 8252BCA
- call BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5
+BattleFrontier_BattlePyramidFloor_OnTransition: @ 8252BCA
+ call BattleFrontier_BattlePyramidFloor_EventScript_SetLightRadius
setvar VAR_TEMP_F, 1
end
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5
- setvar VAR_0x8004, 13
- setvar VAR_0x8005, 32
- setvar VAR_0x8006, 0
- special CallBattlePyramidFunction
+BattleFrontier_BattlePyramidFloor_EventScript_SetLightRadius:: @ 8252BD5
+ pyramid_updatelight 32, PYRAMID_LIGHT_SET_RADIUS
return
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
- call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+BattlePyramid_WarpToNextFloor:: @ 8252BE8
+ call BattleFrontier_EventScript_IncrementWinStreak
+ frontier_get FRONTIER_DATA_BATTLE_NUM @ Floor number
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
compare VAR_RESULT, 7
- goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
- setvar VAR_0x8004, 6
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ goto_if_eq BattlePyramid_WarpToTop
+ pyramid_seedfloor
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_RESULT, 0
- warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
+ warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 255, 1, 1
waitstate
end
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45
+BattlePyramid_WarpToTop:: @ 8252C45
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP, 255, 17, 17
waitstate
end
+@ TRAINER_PHILLIP is used as a placeholder
BattlePyramid_TrainerBattle:: @ 8252C4F
trainerbattle TRAINER_BATTLE_PYRAMID, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText
- setvar VAR_0x8004, 10
- special CallBattlePyramidFunction
+ pyramid_showhint
waitmessage
waitbuttonpress
closemessage
@@ -163,20 +122,18 @@ BattlePyramid_TrainerBattle:: @ 8252C4F
end
BattlePyramid_FindItemBall:: @ 8252C6A
- setvar VAR_0x8004, 7
- special CallBattlePyramidFunction
+ pyramid_setitem
callstd STD_FIND_ITEM
compare VAR_0x8007, 0
- goto_if_eq BattlePyramid_FindItemBall_End
- setvar VAR_0x8004, 8
- special CallBattlePyramidFunction
-
-BattlePyramid_FindItemBall_End:: @ 8252C87
+ goto_if_eq BattlePyramid_FindItemBallEnd
+ pyramid_hideitem
+BattlePyramid_FindItemBallEnd:: @ 8252C87
end
-BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88:: @ 8252C88
- goto BattleFrontier_BattlePyramidTop_EventScript_252B42
+BattlePyramid_Retire:: @ 8252C88
+ goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+@ Also used by Trainer Hill
BattleFacility_TrainerBattle_PlaceholderText: @ 8252C8D
.string "This is a sample message.$"
@@ -189,595 +146,595 @@ gText_BattlePyramidConfirmRetire:: @ 8252CFB
.string "Are you sure you want to quit your\n"
.string "PYRAMID quest?$"
-BattlePyramid_ExitHintUp_Text1:: @ 8252D2D
+BattlePyramid_Text_ExitHintUp1:: @ 8252D2D
.string "This floor's exit is in\n"
.string "that direction: {UP_ARROW}$"
-BattlePyramid_ExitHintLeft_Text1:: @ 8252D57
+BattlePyramid_Text_ExitHintLeft1:: @ 8252D57
.string "This floor's exit is in\n"
.string "that direction: {LEFT_ARROW}$"
-BattlePyramid_ExitHintRight_Text1:: @ 8252D81
+BattlePyramid_Text_ExitHintRight1:: @ 8252D81
.string "This floor's exit is in\n"
.string "that direction: {RIGHT_ARROW}$"
-BattlePyramid_ExitHintDown_Text1:: @ 8252DAB
+BattlePyramid_Text_ExitHintDown1:: @ 8252DAB
.string "This floor's exit is in\n"
.string "that direction: {DOWN_ARROW}$"
-BattlePyramid_ExitHintUp_Text2:: @ 8252DD5
+BattlePyramid_Text_ExitHintUp2:: @ 8252DD5
.string "The exit on this floor is in\n"
.string "the {UP_ARROW} direction.$"
-BattlePyramid_ExitHintLeft_Text2:: @ 8252E03
+BattlePyramid_Text_ExitHintLeft2:: @ 8252E03
.string "The exit on this floor is in\n"
.string "the {LEFT_ARROW} direction.$"
-BattlePyramid_ExitHintRight_Text2:: @ 8252E31
+BattlePyramid_Text_ExitHintRight2:: @ 8252E31
.string "The exit on this floor is in\n"
.string "the {RIGHT_ARROW} direction.$"
-BattlePyramid_ExitHintDown_Text2:: @ 8252E5F
+BattlePyramid_Text_ExitHintDown2:: @ 8252E5F
.string "The exit on this floor is in\n"
.string "the {DOWN_ARROW} direction.$"
-BattlePyramid_ExitHintUp_Text3:: @ 8252E8D
+BattlePyramid_Text_ExitHintUp3:: @ 8252E8D
.string "The exit is over\n"
.string "that {UP_ARROW} way.$"
-BattlePyramid_ExitHintLeft_Text3:: @ 8252EAA
+BattlePyramid_Text_ExitHintLeft3:: @ 8252EAA
.string "The exit is over\n"
.string "that {LEFT_ARROW} way.$"
-BattlePyramid_ExitHintRight_Text3:: @ 8252EC7
+BattlePyramid_Text_ExitHintRight3:: @ 8252EC7
.string "The exit is over\n"
.string "that {RIGHT_ARROW} way.$"
-BattlePyramid_ExitHintDown_Text3:: @ 8252EE4
+BattlePyramid_Text_ExitHintDown3:: @ 8252EE4
.string "The exit is over\n"
.string "that {DOWN_ARROW} way.$"
-BattlePyramid_ExitHintUp_Text4:: @ 8252F01
+BattlePyramid_Text_ExitHintUp4:: @ 8252F01
.string "On this floor, the exit is somewhere\n"
.string "in the {UP_ARROW} direction.$"
-BattlePyramid_ExitHintLeft_Text4:: @ 8252F3A
+BattlePyramid_Text_ExitHintLeft4:: @ 8252F3A
.string "On this floor, the exit is somewhere\n"
.string "in the {LEFT_ARROW} direction.$"
-BattlePyramid_ExitHintRight_Text4:: @ 8252F73
+BattlePyramid_Text_ExitHintRight4:: @ 8252F73
.string "On this floor, the exit is somewhere\n"
.string "in the {RIGHT_ARROW} direction.$"
-BattlePyramid_ExitHintDown_Text4:: @ 8252FAC
+BattlePyramid_Text_ExitHintDown4:: @ 8252FAC
.string "On this floor, the exit is somewhere\n"
.string "in the {DOWN_ARROW} direction.$"
-BattlePyramid_ExitHintUp_Text5:: @ 8252FE5
+BattlePyramid_Text_ExitHintUp5:: @ 8252FE5
.string "The exit?\n"
.string "It's that {UP_ARROW} way.$"
-BattlePyramid_ExitHintLeft_Text5:: @ 8253000
+BattlePyramid_Text_ExitHintLeft5:: @ 8253000
.string "The exit?\n"
.string "It's that {LEFT_ARROW} way.$"
-BattlePyramid_ExitHintRight_Text5:: @ 825301B
+BattlePyramid_Text_ExitHintRight5:: @ 825301B
.string "The exit?\n"
.string "It's that {RIGHT_ARROW} way.$"
-BattlePyramid_ExitHintDown_Text5:: @ 8253036
+BattlePyramid_Text_ExitHintDown5:: @ 8253036
.string "The exit?\n"
.string "It's that {DOWN_ARROW} way.$"
-BattlePyramid_ExitHintUp_Text6:: @ 8253051
+BattlePyramid_Text_ExitHintUp6:: @ 8253051
.string "The exit happens to be in\n"
.string "the {UP_ARROW} direction.$"
-BattlePyramid_ExitHintLeft_Text6:: @ 825307C
+BattlePyramid_Text_ExitHintLeft6:: @ 825307C
.string "The exit happens to be in\n"
.string "the {LEFT_ARROW} direction.$"
-BattlePyramid_ExitHintRight_Text6:: @ 82530A7
+BattlePyramid_Text_ExitHintRight6:: @ 82530A7
.string "The exit happens to be in\n"
.string "the {RIGHT_ARROW} direction.$"
-BattlePyramid_ExitHintDown_Text6:: @ 82530D2
+BattlePyramid_Text_ExitHintDown6:: @ 82530D2
.string "The exit happens to be in\n"
.string "the {DOWN_ARROW} direction.$"
-BattlePyramid_EightItemsRemaining_Text1:: @ 82530FD
+BattlePyramid_Text_EightItemsRemaining1:: @ 82530FD
.string "Are you looking for items?\p"
.string "There are eight items left to\n"
.string "be found.$"
-BattlePyramid_SevenItemsRemaining_Text1:: @ 8253140
+BattlePyramid_Text_SevenItemsRemaining1:: @ 8253140
.string "Are you looking for items?\p"
.string "There are seven items left to\n"
.string "be found.$"
-BattlePyramid_SixItemsRemaining_Text1:: @ 8253183
+BattlePyramid_Text_SixItemsRemaining1:: @ 8253183
.string "Are you looking for items?\p"
.string "There are six items left to\n"
.string "be found.$"
-BattlePyramid_FiveItemsRemaining_Text1:: @ 82531C4
+BattlePyramid_Text_FiveItemsRemaining1:: @ 82531C4
.string "Are you looking for items?\p"
.string "There are five items left to\n"
.string "be found.$"
-BattlePyramid_FourItemsRemaining_Text1:: @ 8253206
+BattlePyramid_Text_FourItemsRemaining1:: @ 8253206
.string "Are you looking for items?\p"
.string "There are four items left to\n"
.string "be found.$"
-BattlePyramid_ThreeItemsRemaining_Text1:: @ 8253248
+BattlePyramid_Text_ThreeItemsRemaining1:: @ 8253248
.string "Are you looking for items?\p"
.string "There are three items left to\n"
.string "be found.$"
-BattlePyramid_TwoItemsRemaining_Text1:: @ 825328B
+BattlePyramid_Text_TwoItemsRemaining1:: @ 825328B
.string "Are you looking for items?\p"
.string "There are two items left to\n"
.string "be found.$"
-BattlePyramid_OneItemRemaining_Text1:: @ 82532CC
+BattlePyramid_Text_OneItemRemaining1:: @ 82532CC
.string "Are you looking for items?\p"
.string "There is one item left to\n"
.string "be found.$"
-BattlePyramid_ZeroItemsRemaining_Text1:: @ 825330B
+BattlePyramid_Text_ZeroItemsRemaining1:: @ 825330B
.string "Are you looking for items?\p"
.string "There isn't anything left to\n"
.string "be found!$"
-BattlePyramid_EightItemsRemaining_Text2:: @ 825334D
+BattlePyramid_Text_EightItemsRemaining2:: @ 825334D
.string "Because you won, I'll tell you\n"
.string "a little secret!\p"
.string "There are eight items\n"
.string "lying around here.$"
-BattlePyramid_SevenItemsRemaining_Text2:: @ 82533A6
+BattlePyramid_Text_SevenItemsRemaining2:: @ 82533A6
.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.$"
-BattlePyramid_SixItemsRemaining_Text2:: @ 8253404
+BattlePyramid_Text_SixItemsRemaining2:: @ 8253404
.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.$"
-BattlePyramid_FiveItemsRemaining_Text2:: @ 8253460
+BattlePyramid_Text_FiveItemsRemaining2:: @ 8253460
.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.$"
-BattlePyramid_FourItemsRemaining_Text2:: @ 82534BD
+BattlePyramid_Text_FourItemsRemaining2:: @ 82534BD
.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.$"
-BattlePyramid_ThreeItemsRemaining_Text2:: @ 825351A
+BattlePyramid_Text_ThreeItemsRemaining2:: @ 825351A
.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.$"
-BattlePyramid_TwoItemsRemaining_Text2:: @ 8253578
+BattlePyramid_Text_TwoItemsRemaining2:: @ 8253578
.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.$"
-BattlePyramid_OneItemRemaining_Text2:: @ 82535D4
+BattlePyramid_Text_OneItemRemaining2:: @ 82535D4
.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.$"
-BattlePyramid_ZeroItemsRemaining_Text2:: @ 825362E
+BattlePyramid_Text_ZeroItemsRemaining2:: @ 825362E
.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.$"
-BattlePyramid_EightItemsRemaining_Text3:: @ 825368B
+BattlePyramid_Text_EightItemsRemaining3:: @ 825368B
.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.$"
-BattlePyramid_SevenItemsRemaining_Text3:: @ 82536F8
+BattlePyramid_Text_SevenItemsRemaining3:: @ 82536F8
.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.$"
-BattlePyramid_SixItemsRemaining_Text3:: @ 8253765
+BattlePyramid_Text_SixItemsRemaining3:: @ 8253765
.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.$"
-BattlePyramid_FiveItemsRemaining_Text3:: @ 82537D0
+BattlePyramid_Text_FiveItemsRemaining3:: @ 82537D0
.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.$"
-BattlePyramid_FourItemsRemaining_Text3:: @ 825383C
+BattlePyramid_Text_FourItemsRemaining3:: @ 825383C
.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.$"
-BattlePyramid_ThreeItemsRemaining_Text3:: @ 82538A8
+BattlePyramid_Text_ThreeItemsRemaining3:: @ 82538A8
.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.$"
-BattlePyramid_TwoItemsRemaining_Text3:: @ 8253915
+BattlePyramid_Text_TwoItemsRemaining3:: @ 8253915
.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.$"
-BattlePyramid_OneItemRemaining_Text3:: @ 8253980
+BattlePyramid_Text_OneItemRemaining3:: @ 8253980
.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.$"
-BattlePyramid_ZeroItemsRemaining_Text3:: @ 82539EC
+BattlePyramid_Text_ZeroItemsRemaining3:: @ 82539EC
.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!$"
-BattlePyramid_EightItemsRemaining_Text4:: @ 8253A69
+BattlePyramid_Text_EightItemsRemaining4:: @ 8253A69
.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.$"
-BattlePyramid_SevenItemsRemaining_Text4:: @ 8253AC4
+BattlePyramid_Text_SevenItemsRemaining4:: @ 8253AC4
.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.$"
-BattlePyramid_SixItemsRemaining_Text4:: @ 8253B1F
+BattlePyramid_Text_SixItemsRemaining4:: @ 8253B1F
.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.$"
-BattlePyramid_FiveItemsRemaining_Text4:: @ 8253B78
+BattlePyramid_Text_FiveItemsRemaining4:: @ 8253B78
.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.$"
-BattlePyramid_FourItemsRemaining_Text4:: @ 8253BD2
+BattlePyramid_Text_FourItemsRemaining4:: @ 8253BD2
.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.$"
-BattlePyramid_ThreeItemsRemaining_Text4:: @ 8253C2C
+BattlePyramid_Text_ThreeItemsRemaining4:: @ 8253C2C
.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.$"
-BattlePyramid_TwoItemsRemaining_Text4:: @ 8253C87
+BattlePyramid_Text_TwoItemsRemaining4:: @ 8253C87
.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.$"
-BattlePyramid_OneItemRemaining_Text4:: @ 8253CE0
+BattlePyramid_Text_OneItemRemaining4:: @ 8253CE0
.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.$"
-BattlePyramid_ZeroItemsRemaining_Text4:: @ 8253D3E
+BattlePyramid_Text_ZeroItemsRemaining4:: @ 8253D3E
.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.$"
-BattlePyramid_EightItemsRemaining_Text5:: @ 8253D96
+BattlePyramid_Text_EightItemsRemaining5:: @ 8253D96
.string "On this floor of the PYRAMID,\n"
.string "I hear there are eight items…$"
-BattlePyramid_SevenItemsRemaining_Text5:: @ 8253DD2
+BattlePyramid_Text_SevenItemsRemaining5:: @ 8253DD2
.string "On this floor of the PYRAMID,\n"
.string "I hear there are seven items…$"
-BattlePyramid_SixItemsRemaining_Text5:: @ 8253E0E
+BattlePyramid_Text_SixItemsRemaining5:: @ 8253E0E
.string "On this floor of the PYRAMID,\n"
.string "I hear there are six items…$"
-BattlePyramid_FiveItemsRemaining_Text5:: @ 8253E48
+BattlePyramid_Text_FiveItemsRemaining5:: @ 8253E48
.string "On this floor of the PYRAMID,\n"
.string "I hear there are five items…$"
-BattlePyramid_FourItemsRemaining_Text5:: @ 8253E83
+BattlePyramid_Text_FourItemsRemaining5:: @ 8253E83
.string "On this floor of the PYRAMID,\n"
.string "I hear there are four items…$"
-BattlePyramid_ThreeItemsRemaining_Text5:: @ 8253EBE
+BattlePyramid_Text_ThreeItemsRemaining5:: @ 8253EBE
.string "On this floor of the PYRAMID,\n"
.string "I hear there are three items…$"
-BattlePyramid_TwoItemsRemaining_Text5:: @ 8253EFA
+BattlePyramid_Text_TwoItemsRemaining5:: @ 8253EFA
.string "On this floor of the PYRAMID,\n"
.string "I hear there are two items…$"
-BattlePyramid_OneItemRemaining_Text5:: @ 8253F34
+BattlePyramid_Text_OneItemRemaining5:: @ 8253F34
.string "On this floor of the PYRAMID,\n"
.string "I hear there is one item…$"
-BattlePyramid_ZeroItemsRemaining_Text5:: @ 8253F6C
+BattlePyramid_Text_ZeroItemsRemaining5:: @ 8253F6C
.string "On this floor of the PYRAMID,\n"
.string "I hear there are no items…$"
-BattlePyramid_EightItemsRemaining_Text6:: @ 8253FA5
+BattlePyramid_Text_EightItemsRemaining6:: @ 8253FA5
.string "Have you collected any items?\p"
.string "I believe there are eight more\n"
.string "items on this floor.$"
-BattlePyramid_SevenItemsRemaining_Text6:: @ 8253FF7
+BattlePyramid_Text_SevenItemsRemaining6:: @ 8253FF7
.string "Have you collected any items?\p"
.string "I believe there are seven more\n"
.string "items on this floor.$"
-BattlePyramid_SixItemsRemaining_Text6:: @ 8254049
+BattlePyramid_Text_SixItemsRemaining6:: @ 8254049
.string "Have you collected any items?\p"
.string "I believe there are six more\n"
.string "items on this floor.$"
-BattlePyramid_FiveItemsRemaining_Text6:: @ 8254099
+BattlePyramid_Text_FiveItemsRemaining6:: @ 8254099
.string "Have you collected any items?\p"
.string "I believe there are five more\n"
.string "items on this floor.$"
-BattlePyramid_FourItemsRemaining_Text6:: @ 82540EA
+BattlePyramid_Text_FourItemsRemaining6:: @ 82540EA
.string "Have you collected any items?\p"
.string "I believe there are four more\n"
.string "items on this floor.$"
-BattlePyramid_ThreeItemsRemaining_Text6:: @ 825413B
+BattlePyramid_Text_ThreeItemsRemaining6:: @ 825413B
.string "Have you collected any items?\p"
.string "I believe there are three more\n"
.string "items on this floor.$"
-BattlePyramid_TwoItemsRemaining_Text6:: @ 825418D
+BattlePyramid_Text_TwoItemsRemaining6:: @ 825418D
.string "Have you collected any items?\p"
.string "I believe there are two more\n"
.string "items on this floor.$"
-BattlePyramid_OneItemRemaining_Text6:: @ 82541DD
+BattlePyramid_Text_OneItemRemaining6:: @ 82541DD
.string "Have you collected any items?\p"
.string "I believe there is one more\n"
.string "item on this floor.$"
-BattlePyramid_ZeroItemsRemaining_Text6:: @ 825422B
+BattlePyramid_Text_ZeroItemsRemaining6:: @ 825422B
.string "Have you collected any items?\p"
.string "I believe there are no more\n"
.string "items on this floor.$"
-BattlePyramid_SevenTrainersRemaining_Text1:: @ 825427A
+BattlePyramid_Text_SevenTrainersRemaining1:: @ 825427A
.string "You were really awesome!\p"
.string "But there are still seven tough\n"
.string "TRAINERS other than me!$"
-BattlePyramid_SixTrainersRemaining_Text1:: @ 82542CB
+BattlePyramid_Text_SixTrainersRemaining1:: @ 82542CB
.string "You were really awesome!\p"
.string "But there are still six tough\n"
.string "TRAINERS other than me!$"
-BattlePyramid_FiveTrainersRemaining_Text1:: @ 825431A
+BattlePyramid_Text_FiveTrainersRemaining1:: @ 825431A
.string "You were really awesome!\p"
.string "But there are still five tough\n"
.string "TRAINERS other than me!$"
-BattlePyramid_FourTrainersRemaining_Text1:: @ 825436A
+BattlePyramid_Text_FourTrainersRemaining1:: @ 825436A
.string "You were really awesome!\p"
.string "But there are still four tough\n"
.string "TRAINERS other than me!$"
-BattlePyramid_ThreeTrainersRemaining_Text1:: @ 82543BA
+BattlePyramid_Text_ThreeTrainersRemaining1:: @ 82543BA
.string "You were really awesome!\p"
.string "But there are still three tough\n"
.string "TRAINERS other than me!$"
-BattlePyramid_TwoTrainersRemaining_Text1:: @ 825440B
+BattlePyramid_Text_TwoTrainersRemaining1:: @ 825440B
.string "You were really awesome!\p"
.string "But there are still two tough\n"
.string "TRAINERS other than me!$"
-BattlePyramid_OneTrainersRemaining_Text1:: @ 825445A
+BattlePyramid_Text_OneTrainersRemaining1:: @ 825445A
.string "You were really awesome!\p"
.string "But there's still one tough\n"
.string "TRAINER other than me!$"
-BattlePyramid_ZeroTrainersRemaining_Text1:: @ 82544A6
+BattlePyramid_Text_ZeroTrainersRemaining1:: @ 82544A6
.string "You were really awesome!\p"
.string "There's no one left that\n"
.string "can beat you!$"
-BattlePyramid_SevenTrainersRemaining_Text2:: @ 82544E6
+BattlePyramid_Text_SevenTrainersRemaining2:: @ 82544E6
.string "This is so upsetting!\p"
.string "But there are seven TRAINERS left!\n"
.string "Someone will humble you!$"
-BattlePyramid_SixTrainersRemaining_Text2:: @ 8254538
+BattlePyramid_Text_SixTrainersRemaining2:: @ 8254538
.string "This is so upsetting!\p"
.string "But there are six TRAINERS left!\n"
.string "Someone will humble you!$"
-BattlePyramid_FiveTrainersRemaining_Text2:: @ 8254588
+BattlePyramid_Text_FiveTrainersRemaining2:: @ 8254588
.string "This is so upsetting!\p"
.string "But there are five TRAINERS left!\n"
.string "Someone will humble you!$"
-BattlePyramid_FourTrainersRemaining_Text2:: @ 82545D9
+BattlePyramid_Text_FourTrainersRemaining2:: @ 82545D9
.string "This is so upsetting!\p"
.string "But there are four TRAINERS left!\n"
.string "Someone will humble you!$"
-BattlePyramid_ThreeTrainersRemaining_Text2:: @ 825462A
+BattlePyramid_Text_ThreeTrainersRemaining2:: @ 825462A
.string "This is so upsetting!\p"
.string "But there are three TRAINERS left!\n"
.string "Someone will humble you!$"
-BattlePyramid_TwoTrainersRemaining_Text2:: @ 825467C
+BattlePyramid_Text_TwoTrainersRemaining2:: @ 825467C
.string "This is so upsetting!\p"
.string "But there are two TRAINERS left!\n"
.string "Someone will humble you!$"
-BattlePyramid_OneTrainersRemaining_Text2:: @ 82546CC
+BattlePyramid_Text_OneTrainersRemaining2:: @ 82546CC
.string "This is so upsetting!\p"
.string "But there's one TRAINER left!\n"
.string "I'm sure you will be humbled!$"
-BattlePyramid_ZeroTrainersRemaining_Text2:: @ 825471E
+BattlePyramid_Text_ZeroTrainersRemaining2:: @ 825471E
.string "This is so upsetting!\p"
.string "But there are no more TRAINERS\n"
.string "who can engage you!$"
-BattlePyramid_SevenTrainersRemaining_Text3:: @ 8254767
+BattlePyramid_Text_SevenTrainersRemaining3:: @ 8254767
.string "That's pretty impressive!\p"
.string "But there are seven more TRAINERS\n"
.string "on this floor. Can you beat them all?$"
-BattlePyramid_SixTrainersRemaining_Text3:: @ 82547C9
+BattlePyramid_Text_SixTrainersRemaining3:: @ 82547C9
.string "That's pretty impressive!\p"
.string "But there are six more TRAINERS\n"
.string "on this floor. Can you beat them all?$"
-BattlePyramid_FiveTrainersRemaining_Text3:: @ 8254829
+BattlePyramid_Text_FiveTrainersRemaining3:: @ 8254829
.string "That's pretty impressive!\p"
.string "But there are five more TRAINERS\n"
.string "on this floor. Can you beat them all?$"
-BattlePyramid_FourTrainersRemaining_Text3:: @ 825488A
+BattlePyramid_Text_FourTrainersRemaining3:: @ 825488A
.string "That's pretty impressive!\p"
.string "But there are four more TRAINERS\n"
.string "on this floor. Can you beat them all?$"
-BattlePyramid_ThreeTrainersRemaining_Text3:: @ 82548EB
+BattlePyramid_Text_ThreeTrainersRemaining3:: @ 82548EB
.string "That's pretty impressive!\p"
.string "But there are three more TRAINERS\n"
.string "on this floor. Can you beat them all?$"
-BattlePyramid_TwoTrainersRemaining_Text3:: @ 825494D
+BattlePyramid_Text_TwoTrainersRemaining3:: @ 825494D
.string "That's pretty impressive!\p"
.string "But there are two more TRAINERS\n"
.string "on this floor. Can you beat them both?$"
-BattlePyramid_OneTrainersRemaining_Text3:: @ 82549AE
+BattlePyramid_Text_OneTrainersRemaining3:: @ 82549AE
.string "That's pretty impressive!\p"
.string "But there's still one more TRAINER\n"
.string "on this floor. Can you prevail?$"
-BattlePyramid_ZeroTrainersRemaining_Text3:: @ 8254A0B
+BattlePyramid_Text_ZeroTrainersRemaining3:: @ 8254A0B
.string "That's pretty impressive!\p"
.string "You've gone through all the TRAINERS\n"
.string "on this floor.$"
-BattlePyramid_SevenTrainersRemaining_Text4:: @ 8254A59
+BattlePyramid_Text_SevenTrainersRemaining4:: @ 8254A59
.string "Maybe you could sweep through\n"
.string "the seven TRAINERS left on this floor.$"
-BattlePyramid_SixTrainersRemaining_Text4:: @ 8254A9E
+BattlePyramid_Text_SixTrainersRemaining4:: @ 8254A9E
.string "Maybe you could sweep through\n"
.string "the six TRAINERS left on this floor.$"
-BattlePyramid_FiveTrainersRemaining_Text4:: @ 8254AE1
+BattlePyramid_Text_FiveTrainersRemaining4:: @ 8254AE1
.string "Maybe you could sweep through\n"
.string "the five TRAINERS left on this floor.$"
-BattlePyramid_FourTrainersRemaining_Text4:: @ 8254B25
+BattlePyramid_Text_FourTrainersRemaining4:: @ 8254B25
.string "Maybe you could sweep through\n"
.string "the four TRAINERS left on this floor.$"
-BattlePyramid_ThreeTrainersRemaining_Text4:: @ 8254B69
+BattlePyramid_Text_ThreeTrainersRemaining4:: @ 8254B69
.string "Maybe you could sweep through\n"
.string "the three TRAINERS left on this floor.$"
-BattlePyramid_TwoTrainersRemaining_Text4:: @ 8254BAE
+BattlePyramid_Text_TwoTrainersRemaining4:: @ 8254BAE
.string "Maybe you could sweep through\n"
.string "the two TRAINERS left on this floor.$"
-BattlePyramid_OneTrainersRemaining_Text4:: @ 8254BF1
+BattlePyramid_Text_OneTrainersRemaining4:: @ 8254BF1
.string "Maybe you could complete your sweep\n"
.string "with the one TRAINER left on this floor.$"
-BattlePyramid_ZeroTrainersRemaining_Text4:: @ 8254C3E
+BattlePyramid_Text_ZeroTrainersRemaining4:: @ 8254C3E
.string "There isn't a single person left who\n"
.string "can defeat you now…$"
-BattlePyramid_SevenTrainersRemaining_Text5:: @ 8254C77
+BattlePyramid_Text_SevenTrainersRemaining5:: @ 8254C77
.string "You may have what it takes to beat\n"
.string "the seven expert TRAINERS who remain.$"
-BattlePyramid_SixTrainersRemaining_Text5:: @ 8254CC0
+BattlePyramid_Text_SixTrainersRemaining5:: @ 8254CC0
.string "You may have what it takes to beat\n"
.string "the six expert TRAINERS who remain.$"
-BattlePyramid_FiveTrainersRemaining_Text5:: @ 8254D07
+BattlePyramid_Text_FiveTrainersRemaining5:: @ 8254D07
.string "You may have what it takes to beat\n"
.string "the five expert TRAINERS who remain.$"
-BattlePyramid_FourTrainersRemaining_Text5:: @ 8254D4F
+BattlePyramid_Text_FourTrainersRemaining5:: @ 8254D4F
.string "You may have what it takes to beat\n"
.string "the four expert TRAINERS who remain.$"
-BattlePyramid_ThreeTrainersRemaining_Text5:: @ 8254D97
+BattlePyramid_Text_ThreeTrainersRemaining5:: @ 8254D97
.string "You may have what it takes to beat\n"
.string "the three expert TRAINERS who remain.$"
-BattlePyramid_TwoTrainersRemaining_Text5:: @ 8254DE0
+BattlePyramid_Text_TwoTrainersRemaining5:: @ 8254DE0
.string "You may have what it takes to beat\n"
.string "the two expert TRAINERS who remain.$"
-BattlePyramid_OneTrainersRemaining_Text5:: @ 8254E27
+BattlePyramid_Text_OneTrainersRemaining5:: @ 8254E27
.string "You may have what it takes to beat\n"
.string "the one expert TRAINER who remains.$"
-BattlePyramid_ZeroTrainersRemaining_Text5:: @ 8254E6E
+BattlePyramid_Text_ZeroTrainersRemaining5:: @ 8254E6E
.string "Your skills are beyond reproach.\p"
.string "There are no more TRAINERS here\n"
.string "who have any chance of beating you.$"
-BattlePyramid_SevenTrainersRemaining_Text6:: @ 8254ED3
+BattlePyramid_Text_SevenTrainersRemaining6:: @ 8254ED3
.string "Can you keep winning against\n"
.string "the seven remaining TRAINERS?$"
-BattlePyramid_SixTrainersRemaining_Text6:: @ 8254F0E
+BattlePyramid_Text_SixTrainersRemaining6:: @ 8254F0E
.string "Can you keep winning against\n"
.string "the six remaining TRAINERS?$"
-BattlePyramid_FiveTrainersRemaining_Text6:: @ 8254F47
+BattlePyramid_Text_FiveTrainersRemaining6:: @ 8254F47
.string "Can you keep winning against\n"
.string "the five remaining TRAINERS?$"
-BattlePyramid_FourTrainersRemaining_Text6:: @ 8254F81
+BattlePyramid_Text_FourTrainersRemaining6:: @ 8254F81
.string "Can you keep winning against\n"
.string "the four remaining TRAINERS?$"
-BattlePyramid_ThreeTrainersRemaining_Text6:: @ 8254FBB
+BattlePyramid_Text_ThreeTrainersRemaining6:: @ 8254FBB
.string "Can you keep winning against\n"
.string "the three remaining TRAINERS?$"
-BattlePyramid_TwoTrainersRemaining_Text6:: @ 8254FF6
+BattlePyramid_Text_TwoTrainersRemaining6:: @ 8254FF6
.string "Can you keep winning against\n"
.string "the two remaining TRAINERS?$"
-BattlePyramid_OneTrainersRemaining_Text6:: @ 825502F
+BattlePyramid_Text_OneTrainersRemaining6:: @ 825502F
.string "Can you keep winning against\n"
.string "the last remaining TRAINER?$"
-BattlePyramid_ZeroTrainersRemaining_Text6:: @ 8255068
+BattlePyramid_Text_ZeroTrainersRemaining6:: @ 8255068
.string "There aren't any TRAINERS left that\n"
.string "can take you on now…$"
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/map.json b/data/maps/BattleFrontier_BattlePyramidLobby/map.json
index 4f99b9488..0b0d1d1a1 100644
--- a/data/maps/BattleFrontier_BattlePyramidLobby/map.json
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePyramidLobby_EventScript_2508B1",
+ "script": "BattleFrontier_BattlePyramidLobby_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePyramidLobby_EventScript_250ACE",
+ "script": "BattleFrontier_BattlePyramidLobby_EventScript_HintGiver",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePyramidLobby_EventScript_250E83",
+ "script": "BattleFrontier_BattlePyramidLobby_EventScript_Woman",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePyramidLobby_EventScript_250E8C",
+ "script": "BattleFrontier_BattlePyramidLobby_EventScript_FatMan",
"flag": "0"
}
],
@@ -84,7 +84,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattlePyramidLobby_EventScript_250D42"
+ "script": "BattleFrontier_BattlePyramidLobby_EventScript_ShowResults"
},
{
"type": "sign",
@@ -92,7 +92,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattlePyramidLobby_EventScript_250E95"
+ "script": "BattleFrontier_BattlePyramidLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
index 667c4847e..6d6ce708a 100644
--- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
@@ -1,467 +1,401 @@
BattleFrontier_BattlePyramidLobby_MapScripts:: @ 8250716
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidLobby_MapScript2_250735
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePyramidLobby_MapScript2_2497FB
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_OnWarp
.byte 0
-BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidLobby_EventScript_25072B
+@ Unused. Pyramid uses Dome's OnWarp (presumably by mistake). Their effects are identical
+BattleFrontier_BattlePyramidLobby_OnWarp: @ 8250721
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B
+BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth: @ 825072B
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_25075F
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattlePyramidLobby_EventScript_250768
- map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattlePyramidLobby_EventScript_2508AC
- map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattlePyramidLobby_EventScript_2507B1
- map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattlePyramidLobby_EventScript_250852
+BattleFrontier_BattlePyramidLobby_OnFrame: @ 8250735
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge
.2byte 0
-BattleFrontier_BattlePyramidLobby_EventScript_25075F:: @ 825075F
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus:: @ 825075F
+ frontier_getstatus
end
-BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
+BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving:: @ 8250768
lockall
- message BattleFrontier_BattlePyramidLobby_Text_2516D6
+ message BattleFrontier_BattlePyramidLobby_Text_DidntSaveBeforeQuittingTakeBag
waitmessage
playse SE_EXPMAX
waitse
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ pyramid_set PYRAMID_DATA_WIN_STREAK, 0
+ pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1
+BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge:: @ 82507B1
lockall
- setvar VAR_0x8004, 10
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2
- msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_2507DA
-
-BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2
- msgbox BattleFrontier_BattlePyramidLobby_Text_2525F4, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
- special sub_81B95E0
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250DDB
- clearflag FLAG_SPECIAL_FLAG_0x4004
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
+ frontier_isbrain
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing
+ msgbox BattleFrontier_BattlePyramidLobby_Text_YouveConqueredPyramid, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints
+
+BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing:: @ 82507D2
+ msgbox BattleFrontier_BattlePyramidLobby_Text_YouveDefeatedPyramidKing, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints:: @ 82507DA
+ special DoBattlePyramidMonsHaveHeldItem
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag
+ clearflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG
+ frontier_checkairshow
special LoadPlayerParty
- setvar VAR_0x8004, 14
- special CallBattlePyramidFunction
+ pyramid_clearhelditems
special HealPlayerParty
- message BattleFrontier_BattlePyramidLobby_Text_2519F8
+ message BattleFrontier_BattlePyramidLobby_Text_UsedBattleBagWillBeKept
waitmessage
playse SE_EXPMAX
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_252662, MSGBOX_DEFAULT
- setvar VAR_0x8004, 11
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePyramidLobby_Text_241520, 9
- message BattleFrontier_BattlePyramidLobby_Text_251A77
+ msgbox BattleFrontier_BattlePyramidLobby_Text_GiveYouTheseBattlePoints, MSGBOX_DEFAULT
+ frontier_givepoints
+ msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ message BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait
waitmessage
- setvar VAR_0x8004, 4
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special CallBattlePyramidFunction
+ pyramid_setprize
+ pyramid_save 0
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
+BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge:: @ 8250852
+ frontier_checkairshow
special LoadPlayerParty
- setvar VAR_0x8004, 14
- special CallBattlePyramidFunction
+ pyramid_clearhelditems
special HealPlayerParty
lockall
- message BattleFrontier_BattlePyramidLobby_Text_251B5A
+ message BattleFrontier_BattlePyramidLobby_Text_DisappointingHereIsBag
waitmessage
playse SE_EXPMAX
waitse
- message BattleFrontier_BattlePyramidLobby_Text_251A77
+ message BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait
waitmessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 0
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special CallBattlePyramidFunction
+ pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE
+ pyramid_save 0
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-BattleFrontier_BattlePyramidLobby_EventScript_2508AC:: @ 82508AC
- goto BattleFrontier_BattlePyramidLobby_EventScript_250A21
+BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge:: @ 82508AC
+ goto BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge
-BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1
+BattleFrontier_BattlePyramidLobby_EventScript_Attendant:: @ 82508B1
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 6
- setvar VAR_FRONTIER_BATTLE_MODE, 0
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PYRAMID
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
- msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePyramidLobby_EventScript_2508C8:: @ 82508C8
- message BattleFrontier_BattlePyramidLobby_Text_250FA7
+ msgbox BattleFrontier_BattlePyramidLobby_Text_WelcomeToBattlePyramid, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_AskTakeChallenge:: @ 82508C8
+ message BattleFrontier_BattlePyramidLobby_Text_EmbarkOnChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_ExplainChallenge
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
-BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
- message BattleFrontier_BattlePyramidLobby_Text_251248
+BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge:: @ 8250904
+ message BattleFrontier_BattlePyramidLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
- case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePyramidLobby_Text_251297, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattlePyramidLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1
- msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
+ msgbox BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattlePyramidLobby_EventScript_250AC1
- case 1, BattleFrontier_BattlePyramidLobby_EventScript_2509A5
- case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC1
+ case NO, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
+ case YES, BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
-BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
+BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge:: @ 82509A5
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 1
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 6
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 9
- special CallBattlePyramidFunction
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ pyramid_init
+ pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
+ pyramid_seedfloor
+ pyramid_settrainers
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA
-
-BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed
+BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge:: @ 8250A21
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePyramidLobby_Text_251531, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ msgbox BattleFrontier_BattlePyramidLobby_Text_ShowYouIntoPyramid, MSGBOX_DEFAULT
closemessage
- call BattleFrontier_BattlePyramidLobby_EventScript_250D56
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ call BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_RESULT, 0
special HealPlayerParty
- warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
+ warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 255, 1, 1
setvar VAR_TEMP_0, 0
waitstate
end
-BattleFrontier_BattlePyramidLobby_EventScript_250A68:: @ 8250A68
- msgbox BattleFrontier_BattlePyramidLobby_Text_25100C, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_2508C8
+BattleFrontier_BattlePyramidLobby_EventScript_ExplainChallenge:: @ 8250A68
+ msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainBattlePyramid, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_AskTakeChallenge
-BattleFrontier_BattlePyramidLobby_EventScript_250A75:: @ 8250A75
+BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons:: @ 8250A75
switch VAR_RESULT
- case 0, BattleFrontier_BattlePyramidLobby_EventScript_250A90
- case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A9D
+ case FRONTIER_LVL_50, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLvOpen
-BattleFrontier_BattlePyramidLobby_EventScript_250A90:: @ 8250A90
- msgbox BattleFrontier_BattlePyramidLobby_Text_2513C1, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC
+BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLv50:: @ 8250A90
+ msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattlePyramidLobby_EventScript_250A9D:: @ 8250A9D
- msgbox BattleFrontier_BattlePyramidLobby_Text_2512E2, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC
+BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8250A9D
+ msgbox BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge
-BattleFrontier_BattlePyramidLobby_EventScript_250AAA:: @ 8250AAA
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattlePyramidLobby_EventScript_250AC4
+BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed:: @ 8250AAA
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
-BattleFrontier_BattlePyramidLobby_EventScript_250AC1:: @ 8250AC1
+BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge:: @ 8250AC1
special LoadPlayerParty
-
-BattleFrontier_BattlePyramidLobby_EventScript_250AC4:: @ 8250AC4
- msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePyramidLobby_EventScript_250ACC:: @ 8250ACC
+BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge:: @ 8250AC4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_AwaitFutureChallenge, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge:: @ 8250ACC
release
end
-BattleFrontier_BattlePyramidLobby_EventScript_250ACE:: @ 8250ACE
+BattleFrontier_BattlePyramidLobby_EventScript_HintGiver:: @ 8250ACE
lockall
applymovement 2, Common_Movement_FacePlayer
waitmovement 0
- msgbox BattleFrontier_BattlePyramidLobby_Text_251C3B, MSGBOX_DEFAULT
- call BattleFrontier_BattlePyramidLobby_EventScript_250AF0
- msgbox BattleFrontier_BattlePyramidLobby_Text_252461, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePyramidLobby_Text_TellYouWhatMisfortunesAwait, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePyramidLobby_EventScript_GiveHint
+ msgbox BattleFrontier_BattlePyramidLobby_Text_BelieveMyFortunesOrNot, MSGBOX_DEFAULT
releaseall
end
-BattleFrontier_BattlePyramidLobby_EventScript_250AF0:: @ 8250AF0
- multichoice 17, 6, 24, 0
+BattleFrontier_BattlePyramidLobby_EventScript_GiveHint:: @ 8250AF0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 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
+ case FRONTIER_LVL_50, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLv50
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLvOpen
+ case FRONTIER_LVL_TENT, BattleFrontier_BattlePyramidLobby_EventScript_NoHint
+ case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_NoHint
return
-BattleFrontier_BattlePyramidLobby_EventScript_250B27:: @ 8250B27
+@ Shouldnt occur
+BattleFrontier_BattlePyramidLobby_EventScript_NoHint:: @ 8250B27
return
-BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28
- msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 5
- special CallBattlePyramidFunction
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B53
+BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLv50:: @ 8250B28
+ msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT
+ pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_50
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak
setvar VAR_RESULT, 0
- goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
-BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 3
- special CallBattlePyramidFunction
- goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak:: @ 8250B53
+ pyramid_get PYRAMID_DATA_WIN_STREAK_50
+ goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
-BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66
- msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 6
- special CallBattlePyramidFunction
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B91
+BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLvOpen:: @ 8250B66
+ msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT
+ pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak
setvar VAR_RESULT, 0
- goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
-BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 4
- special CallBattlePyramidFunction
- goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak:: @ 8250B91
+ pyramid_get PYRAMID_DATA_WIN_STREAK_OPEN
+ goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
-BattleFrontier_BattlePyramidLobby_EventScript_250BA4:: @ 8250BA4
+BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment:: @ 8250BA4
copyvar VAR_0x8004, VAR_RESULT
- special sub_813B968
+ special GetBattlePyramidHint
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
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_HintParalysis
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_HintPoison
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_HintBurn
+ case 3, BattleFrontier_BattlePyramidLobby_EventScript_HintPPWaste
+ case 4, BattleFrontier_BattlePyramidLobby_EventScript_HintLevitate
+ case 5, BattleFrontier_BattlePyramidLobby_EventScript_HintTrapAbility
+ case 6, BattleFrontier_BattlePyramidLobby_EventScript_HintIce
+ case 7, BattleFrontier_BattlePyramidLobby_EventScript_HintExplosion
+ case 8, BattleFrontier_BattlePyramidLobby_EventScript_HintPsychic
+ case 9, BattleFrontier_BattlePyramidLobby_EventScript_HintRock
+ case 10, BattleFrontier_BattlePyramidLobby_EventScript_HintFighting
+ case 11, BattleFrontier_BattlePyramidLobby_EventScript_HintWeather
+ case 12, BattleFrontier_BattlePyramidLobby_EventScript_HintBug
+ case 13, BattleFrontier_BattlePyramidLobby_EventScript_HintDark
+ case 14, BattleFrontier_BattlePyramidLobby_EventScript_HintWater
+ case 15, BattleFrontier_BattlePyramidLobby_EventScript_HintGhost
+ case 16, BattleFrontier_BattlePyramidLobby_EventScript_HintSteel
+ case 17, BattleFrontier_BattlePyramidLobby_EventScript_HintFlyingDragon
+ case 18, BattleFrontier_BattlePyramidLobby_EventScript_HintStoneEvolve
+ case 19, BattleFrontier_BattlePyramidLobby_EventScript_HintNormal
return
-BattleFrontier_BattlePyramidLobby_EventScript_250C8E:: @ 8250C8E
- msgbox BattleFrontier_BattlePyramidLobby_Text_251CB3, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintParalysis:: @ 8250C8E
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintParalysis, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250C97:: @ 8250C97
- msgbox BattleFrontier_BattlePyramidLobby_Text_251D07, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintPoison:: @ 8250C97
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintPoison, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CA0:: @ 8250CA0
- msgbox BattleFrontier_BattlePyramidLobby_Text_251D54, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintBurn:: @ 8250CA0
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintBurn, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CA9:: @ 8250CA9
- msgbox BattleFrontier_BattlePyramidLobby_Text_251D9C, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintPPWaste:: @ 8250CA9
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintPPWaste, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CB2:: @ 8250CB2
- msgbox BattleFrontier_BattlePyramidLobby_Text_251E3D, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintLevitate:: @ 8250CB2
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintLevitate, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CBB:: @ 8250CBB
- msgbox BattleFrontier_BattlePyramidLobby_Text_251EA1, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintTrapAbility:: @ 8250CBB
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintTrapAbility, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CC4:: @ 8250CC4
- msgbox BattleFrontier_BattlePyramidLobby_Text_251F17, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintIce:: @ 8250CC4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintIce, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CCD:: @ 8250CCD
- msgbox BattleFrontier_BattlePyramidLobby_Text_251F6E, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintExplosion:: @ 8250CCD
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintExplosion, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CD6:: @ 8250CD6
- msgbox BattleFrontier_BattlePyramidLobby_Text_251FC7, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintPsychic:: @ 8250CD6
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintPsychic, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CDF:: @ 8250CDF
- msgbox BattleFrontier_BattlePyramidLobby_Text_25201B, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintRock:: @ 8250CDF
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintRock, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CE8:: @ 8250CE8
- msgbox BattleFrontier_BattlePyramidLobby_Text_252068, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintFighting:: @ 8250CE8
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintFighting, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CF1:: @ 8250CF1
- msgbox BattleFrontier_BattlePyramidLobby_Text_2520BA, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintWeather:: @ 8250CF1
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintWeather, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250CFA:: @ 8250CFA
- msgbox BattleFrontier_BattlePyramidLobby_Text_252158, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintBug:: @ 8250CFA
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintBug, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D03:: @ 8250D03
- msgbox BattleFrontier_BattlePyramidLobby_Text_2521B4, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintDark:: @ 8250D03
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintDark, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D0C:: @ 8250D0C
- msgbox BattleFrontier_BattlePyramidLobby_Text_252206, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintWater:: @ 8250D0C
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintWater, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D15:: @ 8250D15
- msgbox BattleFrontier_BattlePyramidLobby_Text_25225A, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintGhost:: @ 8250D15
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintGhost, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D1E:: @ 8250D1E
- msgbox BattleFrontier_BattlePyramidLobby_Text_2522AE, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintSteel:: @ 8250D1E
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintSteel, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D27:: @ 8250D27
- msgbox BattleFrontier_BattlePyramidLobby_Text_25230B, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintFlyingDragon:: @ 8250D27
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintFlyingDragon, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D30:: @ 8250D30
- msgbox BattleFrontier_BattlePyramidLobby_Text_252364, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintStoneEvolve:: @ 8250D30
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintStoneEvolve, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D39:: @ 8250D39
- msgbox BattleFrontier_BattlePyramidLobby_Text_252403, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HintNormal:: @ 8250D39
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HintNormal, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42
+BattleFrontier_BattlePyramidLobby_EventScript_ShowResults:: @ 8250D42
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 6
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_PYRAMID
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56
- applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DCD
+BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag:: @ 8250D56
+ applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel
waitmovement 0
- msgbox BattleFrontier_BattlePyramidLobby_Text_251569, MSGBOX_DEFAULT
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattlePyramidFunction
+ msgbox BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping, MSGBOX_DEFAULT
+ pyramid_get PYRAMID_DATA_WIN_STREAK
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94
- msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250D9C
-
-BattleFrontier_BattlePyramidLobby_EventScript_250D94:: @ 8250D94
- msgbox BattleFrontier_BattlePyramidLobby_Text_2515F4, MSGBOX_DEFAULT
-
-BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C
- message BattleFrontier_BattlePyramidLobby_Text_25161E
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag
+ msgbox BattleFrontier_BattlePyramidLobby_Text_PleaseTakePreviousBattleBag, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag
+
+BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag:: @ 8250D94
+ msgbox BattleFrontier_BattlePyramidLobby_Text_PleaseTakeThisBattleBag, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag:: @ 8250D9C
+ message BattleFrontier_BattlePyramidLobby_Text_ExchangedBagForBattleBag
waitmessage
playse SE_EXPMAX
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_251647, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePyramidLobby_Text_StepOnFloorPanel, MSGBOX_DEFAULT
closemessage
- applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5
+ applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DD8
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel
waitmovement 0
return
-BattleFrontier_BattlePyramidLobby_Movement_250DC4: @ 8250DC4
+BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel: @ 8250DC4
walk_up
walk_up
walk_up
@@ -472,7 +406,7 @@ BattleFrontier_BattlePyramidLobby_Movement_250DC4: @ 8250DC4
face_down
step_end
-BattleFrontier_BattlePyramidLobby_Movement_250DCD: @ 8250DCD
+BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel: @ 8250DCD
walk_up
walk_up
walk_up
@@ -482,135 +416,136 @@ BattleFrontier_BattlePyramidLobby_Movement_250DCD: @ 8250DCD
walk_up
step_end
-BattleFrontier_BattlePyramidLobby_Movement_250DD5: @ 8250DD5
+BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside: @ 8250DD5
walk_right
face_left
step_end
-BattleFrontier_BattlePyramidLobby_Movement_250DD8: @ 8250DD8
+BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel: @ 8250DD8
walk_up
walk_up
step_end
-BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB
- msgbox BattleFrontier_BattlePyramidLobby_Text_2517FC, MSGBOX_DEFAULT
- setflag FLAG_SPECIAL_FLAG_0x4004
- special sub_81C6A94
+BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag:: @ 8250DDB
+ msgbox BattleFrontier_BattlePyramidLobby_Text_MonHoldingItemCannotTake, MSGBOX_DEFAULT
+ setflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG
+ special TryStoreHeldItemsInPyramidBag
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00
- message BattleFrontier_BattlePyramidLobby_Text_2518C6
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag
+ message BattleFrontier_BattlePyramidLobby_Text_BagCannotHoldPickItemsToKeep
waitmessage
- goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
-BattleFrontier_BattlePyramidLobby_EventScript_250E00:: @ 8250E00
- msgbox BattleFrontier_BattlePyramidLobby_Text_251881, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag:: @ 8250E00
+ msgbox BattleFrontier_BattlePyramidLobby_Text_HeldItemsMovedToBag, MSGBOX_DEFAULT
return
-BattleFrontier_BattlePyramidLobby_EventScript_250E09:: @ 8250E09
- multichoice 17, 6, 83, 0
+@ When exiting Battle Pyramid with a full pyramid bag and held items the player must select to keep/toss party held items and make room for any kept items by tossing from the pyramid bag
+BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep:: @ 8250E09
+ multichoice 17, 6, MULTI_FRONTIER_ITEM_CHOOSE, 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
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromBag
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromParty
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems
+ case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems
end
-BattleFrontier_BattlePyramidLobby_EventScript_250E40:: @ 8250E40
- special sub_81C4F24
+BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromBag:: @ 8250E40
+ special ChooseItemsToTossFromPyramidBag
waitstate
- message BattleFrontier_BattlePyramidLobby_Text_25197E
+ message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep
waitmessage
- goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
-BattleFrontier_BattlePyramidLobby_EventScript_250E50:: @ 8250E50
- special sub_81B9620
+BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromParty:: @ 8250E50
+ special BattlePyramidChooseMonHeldItems
waitstate
- message BattleFrontier_BattlePyramidLobby_Text_25197E
+ message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep
waitmessage
- goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
-BattleFrontier_BattlePyramidLobby_EventScript_250E60:: @ 8250E60
- special sub_81B95E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F
+BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems:: @ 8250E60
+ special DoBattlePyramidMonsHaveHeldItem
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems
return
-BattleFrontier_BattlePyramidLobby_EventScript_250E6F:: @ 8250E6F
- msgbox BattleFrontier_BattlePyramidLobby_Text_25194F, MSGBOX_DEFAULT
- message BattleFrontier_BattlePyramidLobby_Text_25197E
+BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems:: @ 8250E6F
+ msgbox BattleFrontier_BattlePyramidLobby_Text_LeastOneMonHoldingItem, MSGBOX_DEFAULT
+ message BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep
waitmessage
- goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
end
-BattleFrontier_BattlePyramidLobby_EventScript_250E83:: @ 8250E83
- msgbox BattleFrontier_BattlePyramidLobby_Text_2524DA, MSGBOX_NPC
+BattleFrontier_BattlePyramidLobby_EventScript_Woman:: @ 8250E83
+ msgbox BattleFrontier_BattlePyramidLobby_Text_TrainersNoticeRunning, MSGBOX_NPC
end
-BattleFrontier_BattlePyramidLobby_EventScript_250E8C:: @ 8250E8C
- msgbox BattleFrontier_BattlePyramidLobby_Text_252595, MSGBOX_NPC
+BattleFrontier_BattlePyramidLobby_EventScript_FatMan:: @ 8250E8C
+ msgbox BattleFrontier_BattlePyramidLobby_Text_LostLotOfItems, MSGBOX_NPC
end
-BattleFrontier_BattlePyramidLobby_EventScript_250E95:: @ 8250E95
+BattleFrontier_BattlePyramidLobby_EventScript_RulesBoard:: @ 8250E95
lockall
- msgbox BattleFrontier_BattlePyramidLobby_Text_2526B6, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePyramidLobby_EventScript_250EA4:: @ 8250EA4
- message BattleFrontier_BattlePyramidLobby_Text_2526D9
+BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard:: @ 8250EA4
+ message BattleFrontier_BattlePyramidLobby_Text_ReadWhichHeading
waitmessage
- multichoice 15, 2, 101, 0
+ multichoice 15, 2, MULTI_BATTLE_PYRAMID_RULES, 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
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_RulesPokemon
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_RulesTrainers
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_RulesMaze
+ case 3, BattleFrontier_BattlePyramidLobby_EventScript_RulesBag
+ case 4, BattleFrontier_BattlePyramidLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_ExitRules
end
-BattleFrontier_BattlePyramidLobby_EventScript_250EF7:: @ 8250EF7
- msgbox BattleFrontier_BattlePyramidLobby_Text_2526FC, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+BattleFrontier_BattlePyramidLobby_EventScript_RulesPokemon:: @ 8250EF7
+ msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainMonRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePyramidLobby_EventScript_250F05:: @ 8250F05
- msgbox BattleFrontier_BattlePyramidLobby_Text_2527A9, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+BattleFrontier_BattlePyramidLobby_EventScript_RulesTrainers:: @ 8250F05
+ msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainTrainerRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePyramidLobby_EventScript_250F13:: @ 8250F13
- msgbox BattleFrontier_BattlePyramidLobby_Text_25285A, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+BattleFrontier_BattlePyramidLobby_EventScript_RulesMaze:: @ 8250F13
+ msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainMazeRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePyramidLobby_EventScript_250F21:: @ 8250F21
- msgbox BattleFrontier_BattlePyramidLobby_Text_252924, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+BattleFrontier_BattlePyramidLobby_EventScript_RulesBag:: @ 8250F21
+ msgbox BattleFrontier_BattlePyramidLobby_Text_ExplainBagRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattlePyramidLobby_EventScript_250F2F:: @ 8250F2F
+BattleFrontier_BattlePyramidLobby_EventScript_ExitRules:: @ 8250F2F
releaseall
end
-BattleFrontier_BattlePyramidLobby_Text_250F31: @ 8250F31
+BattleFrontier_BattlePyramidLobby_Text_WelcomeToBattlePyramid: @ 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
+BattleFrontier_BattlePyramidLobby_Text_EmbarkOnChallenge: @ 8250FA7
.string "Have you the courage to embark on\n"
.string "the Battle Quest challenge?$"
-BattleFrontier_BattlePyramidLobby_Text_250FE5: @ 8250FE5
+BattleFrontier_BattlePyramidLobby_Text_AwaitFutureChallenge: @ 8250FE5
.string "We await your challenge in the future!$"
-BattleFrontier_BattlePyramidLobby_Text_25100C: @ 825100C
+BattleFrontier_BattlePyramidLobby_Text_ExplainBattlePyramid: @ 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"
@@ -629,16 +564,16 @@ BattleFrontier_BattlePyramidLobby_Text_25100C: @ 825100C
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattlePyramidLobby_Text_251248: @ 8251248
+BattleFrontier_BattlePyramidLobby_Text_WhichLevelMode: @ 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
+BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons: @ 8251297
.string "Very good. Now, please select the three\n"
.string "POKéMON you wish to accompany you.$"
-BattleFrontier_BattlePyramidLobby_Text_2512E2: @ 82512E2
+BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLvOpen: @ 82512E2
.string "A slight problem, adventurer!\p"
.string "You seem to not have the three\n"
.string "POKéMON qualified for the challenge.\p"
@@ -648,7 +583,7 @@ BattleFrontier_BattlePyramidLobby_Text_2512E2: @ 82512E2
.string "When you are ready, please have\n"
.string "a word with me.$"
-BattleFrontier_BattlePyramidLobby_Text_2513C1: @ 82513C1
+BattleFrontier_BattlePyramidLobby_Text_NotEnoughValidMonsLv50: @ 82513C1
.string "A slight problem, adventurer!\p"
.string "You seem to not have the three\n"
.string "POKéMON qualified for the challenge.\p"
@@ -660,38 +595,38 @@ BattleFrontier_BattlePyramidLobby_Text_2513C1: @ 82513C1
.string "When you are ready, please have\n"
.string "a word with me.$"
-BattleFrontier_BattlePyramidLobby_Text_2514E6: @ 82514E6
+BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge: @ 82514E6
.string "Before you enter the BATTLE PYRAMID,\n"
.string "the game must be saved. Is that okay?$"
-BattleFrontier_BattlePyramidLobby_Text_251531: @ 8251531
+BattleFrontier_BattlePyramidLobby_Text_ShowYouIntoPyramid: @ 8251531
.string "Very good. I will now show you into\n"
.string "the BATTLE PYRAMID.$"
-BattleFrontier_BattlePyramidLobby_Text_251569: @ 8251569
+BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping: @ 8251569
.string "We will hold your BAG for safekeeping,\n"
.string "{PLAYER}, while you are exploring.$"
-BattleFrontier_BattlePyramidLobby_Text_2515AD: @ 82515AD
+BattleFrontier_BattlePyramidLobby_Text_PleaseTakePreviousBattleBag: @ 82515AD
.string "In exchange, please take this BATTLE\n"
.string "BAG, the one you used previously.$"
-BattleFrontier_BattlePyramidLobby_Text_2515F4: @ 82515F4
+BattleFrontier_BattlePyramidLobby_Text_PleaseTakeThisBattleBag: @ 82515F4
.string "In exchange, please take this\n"
.string "BATTLE BAG.$"
-BattleFrontier_BattlePyramidLobby_Text_25161E: @ 825161E
+BattleFrontier_BattlePyramidLobby_Text_ExchangedBagForBattleBag: @ 825161E
.string "{PLAYER} exchanged the BAG for\n"
.string "the BATTLE BAG.$"
-BattleFrontier_BattlePyramidLobby_Text_251647: @ 8251647
+BattleFrontier_BattlePyramidLobby_Text_StepOnFloorPanel: @ 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
+BattleFrontier_BattlePyramidLobby_Text_DidntSaveBeforeQuittingTakeBag: @ 82516D6
.string "A major problem, explorer!\p"
.string "You did not save before ending\n"
.string "your challenge the last time.\p"
@@ -701,107 +636,112 @@ BattleFrontier_BattlePyramidLobby_Text_2516D6: @ 82516D6
.string "for you.\p"
.string "{PLAYER} got the BAG back.$"
-BattleFrontier_BattlePyramidLobby_Text_2517B5: @ 82517B5
+BattleFrontier_BattlePyramidLobby_Text_YouveConqueredPyramid: @ 82517B5
.string "Excellent to see you back!\p"
.string "You've conquered the PYRAMID!\n"
.string "How splendid!$"
-BattleFrontier_BattlePyramidLobby_Text_2517FC: @ 82517FC
+BattleFrontier_BattlePyramidLobby_Text_MonHoldingItemCannotTake: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HeldItemsMovedToBag: @ 8251881
.string "All items held by your POKéMON will be\n"
.string "moved to your BATTLE BAG, {PLAYER}.$"
-BattleFrontier_BattlePyramidLobby_Text_2518C6: @ 82518C6
+BattleFrontier_BattlePyramidLobby_Text_BagCannotHoldPickItemsToKeep: @ 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
+BattleFrontier_BattlePyramidLobby_Text_LeastOneMonHoldingItem: @ 825194F
.string "At least one POKéMON is still\n"
.string "holding an item.$"
-BattleFrontier_BattlePyramidLobby_Text_25197E: @ 825197E
+BattleFrontier_BattlePyramidLobby_Text_PickItemsToKeep: @ 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
+@ Unused
+BattleFrontier_BattlePyramidLobby_Text_ReturnedEverythingMonsHeld: @ 82519CA
.string "{PLAYER} returned everything that\n"
.string "the POKéMON held.$"
-BattleFrontier_BattlePyramidLobby_Text_2519F8: @ 82519F8
+BattleFrontier_BattlePyramidLobby_Text_UsedBattleBagWillBeKept: @ 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
+BattleFrontier_BattlePyramidLobby_Text_RecordResultsWait: @ 8251A77
.string "I must record your results.\n"
.string "Please wait.$"
-BattleFrontier_BattlePyramidLobby_Text_251AA0: @ 8251AA0
+@ Unused
+BattleFrontier_BattlePyramidLobby_Text_ForConqueringPyramidTakeThis: @ 8251AA0
.string "As a memento for conquering\n"
.string "the BATTLE PYRAMID, please take this.$"
-BattleFrontier_BattlePyramidLobby_Text_251AE2: @ 8251AE2
+@ Unused
+BattleFrontier_BattlePyramidLobby_Text_ReceivedPrizeItem: @ 8251AE2
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
-BattleFrontier_BattlePyramidLobby_Text_251AFC: @ 8251AFC
+@ Unused
+BattleFrontier_BattlePyramidLobby_Text_BagIsFull: @ 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
+BattleFrontier_BattlePyramidLobby_Text_DisappointingHereIsBag: @ 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
+BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge: @ 8251BB6
.string "We look forward to your\n"
.string "next challenge!$"
-BattleFrontier_BattlePyramidLobby_Text_251BDE: @ 8251BDE
+@ Unused
+BattleFrontier_BattlePyramidLobby_Text_HereIsPrize: @ 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
+BattleFrontier_BattlePyramidLobby_Text_TellYouWhatMisfortunesAwait: @ 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
+BattleFrontier_BattlePyramidLobby_Text_Aah: @ 8251C8A
.string "… … … … … …\n"
.string "… … … … … …\p"
.string "… … … … … …\n"
.string "Aah!$"
-BattleFrontier_BattlePyramidLobby_Text_251CB3: @ 8251CB3
+BattleFrontier_BattlePyramidLobby_Text_HintParalysis: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintPoison: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintBurn: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintPPWaste: @ 8251D9C
.string "I sense the tremendous pressure of\n"
.string "unrequited anger…\p"
.string "It is a curse…\p"
@@ -809,44 +749,44 @@ BattleFrontier_BattlePyramidLobby_Text_251D9C: @ 8251D9C
.string "Power Points and having no recourse\l"
.string "but to use STRUGGLE…$"
-BattleFrontier_BattlePyramidLobby_Text_251E3D: @ 8251E3D
+BattleFrontier_BattlePyramidLobby_Text_HintLevitate: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintTrapAbility: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintIce: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintExplosion: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintPsychic: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintRock: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintFighting: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintWeather: @ 82520BA
.string "RAIN DANCE… SUNNY DAY…\n"
.string "SANDSTORM… HAIL…\p"
.string "I see POKéMON that become stronger\n"
@@ -854,37 +794,37 @@ BattleFrontier_BattlePyramidLobby_Text_2520BA: @ 82520BA
.string "…And, I see your POKéMON confounded\n"
.string "by different types of moves…$"
-BattleFrontier_BattlePyramidLobby_Text_252158: @ 8252158
+BattleFrontier_BattlePyramidLobby_Text_HintBug: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintDark: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintWater: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintGhost: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintSteel: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintFlyingDragon: @ 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
+BattleFrontier_BattlePyramidLobby_Text_HintStoneEvolve: @ 8252364
.string "I see those that have evolved from\n"
.string "the power of stones…\p"
.string "I also sense fire, water,\n"
@@ -892,18 +832,18 @@ BattleFrontier_BattlePyramidLobby_Text_252364: @ 8252364
.string "…And, I see your POKéMON suffering\n"
.string "from those three powers…$"
-BattleFrontier_BattlePyramidLobby_Text_252403: @ 8252403
+BattleFrontier_BattlePyramidLobby_Text_HintNormal: @ 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
+BattleFrontier_BattlePyramidLobby_Text_BelieveMyFortunesOrNot: @ 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
+BattleFrontier_BattlePyramidLobby_Text_TrainersNoticeRunning: @ 82524DA
.string "Did you know?\p"
.string "If you run fast, TRAINERS may notice\n"
.string "and come after you for a battle.\p"
@@ -911,37 +851,37 @@ BattleFrontier_BattlePyramidLobby_Text_2524DA: @ 82524DA
.string "don't catch their eyes, but sneak\l"
.string "cautiously and quietly past them.$"
-BattleFrontier_BattlePyramidLobby_Text_252595: @ 8252595
+BattleFrontier_BattlePyramidLobby_Text_LostLotOfItems: @ 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
+BattleFrontier_BattlePyramidLobby_Text_YouveDefeatedPyramidKing: @ 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
+BattleFrontier_BattlePyramidLobby_Text_GiveYouTheseBattlePoints: @ 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
+BattleFrontier_BattlePyramidLobby_Text_RulesAreListed: @ 82526B6
.string "The Battle Quest rules are listed.$"
-BattleFrontier_BattlePyramidLobby_Text_2526D9: @ 82526D9
+BattleFrontier_BattlePyramidLobby_Text_ReadWhichHeading: @ 82526D9
.string "Which heading do you want to read?$"
-BattleFrontier_BattlePyramidLobby_Text_2526FC: @ 82526FC
+BattleFrontier_BattlePyramidLobby_Text_ExplainMonRules: @ 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
+BattleFrontier_BattlePyramidLobby_Text_ExplainTrainerRules: @ 82527A9
.string "TRAINERS are lying in wait for you\n"
.string "inside the PYRAMID.\p"
.string "On each floor, there are up to\n"
@@ -949,7 +889,7 @@ BattleFrontier_BattlePyramidLobby_Text_2527A9: @ 82527A9
.string "When you defeat a TRAINER, you will\n"
.string "get a helpful hint for your adventure.$"
-BattleFrontier_BattlePyramidLobby_Text_25285A: @ 825285A
+BattleFrontier_BattlePyramidLobby_Text_ExplainMazeRules: @ 825285A
.string "The mazes in the PYRAMID rearrange\n"
.string "themselves every time you enter it.\p"
.string "The mazes are poorly lit.\n"
@@ -957,7 +897,7 @@ BattleFrontier_BattlePyramidLobby_Text_25285A: @ 825285A
.string "The light grows brighter whenever you\n"
.string "defeat a wild POKéMON or a TRAINER.$"
-BattleFrontier_BattlePyramidLobby_Text_252924: @ 8252924
+BattleFrontier_BattlePyramidLobby_Text_ExplainBagRules: @ 8252924
.string "The BATTLE BAG serves as your BAG\n"
.string "while in the PYRAMID.\p"
.string "There are two separate BATTLE BAGS--\n"
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/map.json b/data/maps/BattleFrontier_BattlePyramidTop/map.json
index d73dc1692..3a304f147 100644
--- a/data/maps/BattleFrontier_BattlePyramidTop/map.json
+++ b/data/maps/BattleFrontier_BattlePyramidTop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "3",
- "script": "BattleFrontier_BattlePyramidTop_EventScript_2551D0",
+ "script": "BattleFrontier_BattlePyramidTop_EventScript_Attendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"elevation": 4,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "BattleFrontier_BattlePyramidTop_EventScript_255256"
+ "script": "BattleFrontier_BattlePyramidTop_EventScript_BattleBrandon"
}
],
"bg_events": []
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
index 39bb39f49..2d9006e9e 100644
--- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
@@ -1,232 +1,197 @@
BattleFrontier_BattlePyramidTop_MapScripts:: @ 82550A1
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidTop_MapScript1_2550F4
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidTop_MapScript2_25516E
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidTop_MapScript1_2550B6
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePyramidTop_MapScript2_2550CE
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidTop_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidTop_OnFrame
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePyramidTop_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePyramidTop_OnWarp
.byte 0
-BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6
- setvar VAR_0x8004, 13
- setvar VAR_0x8005, 200
- setvar VAR_0x8006, 0
- special CallBattlePyramidFunction
+BattleFrontier_BattlePyramidTop_OnTransition: @ 82550B6
+ pyramid_updatelight 200, PYRAMID_LIGHT_SET_RADIUS
setvar VAR_TEMP_F, 1
end
-BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidTop_EventScript_2550D8
+BattleFrontier_BattlePyramidTop_OnWarp: @ 82550CE
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePyramidTop_EventScript_SetUpObjects
.2byte 0
-BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8
+BattleFrontier_BattlePyramidTop_EventScript_SetUpObjects:: @ 82550D8
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
compare VAR_TEMP_C, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2550F3
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects
setobjectxyperm 2, 0, 0
-
-BattleFrontier_BattlePyramidTop_EventScript_2550F3:: @ 82550F3
+BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects:: @ 82550F3
end
-BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25510C
- call BattleFrontier_BattlePyramidTop_EventScript_242170
-
-BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C
+BattleFrontier_BattlePyramidTop_OnResume: @ 82550F4
+ frontier_getbrainstatus
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus
+ call BattleFrontier_EventScript_SetBrainObjectGfx
+BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus:: @ 825510C
copyvar VAR_TEMP_C, VAR_RESULT
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+ frontier_getstatus
switch VAR_TEMP_0
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
- compare VAR_RESULT, 3
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
- compare VAR_RESULT, 9
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ case 0, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge
+ case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby
+ case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge
+ frontier_get FRONTIER_DATA_BATTLE_OUTCOME
+ compare VAR_RESULT, B_OUTCOME_LOST
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ compare VAR_RESULT, B_OUTCOME_DREW
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ compare VAR_RESULT, B_OUTCOME_FORFEITED
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
end
-BattleFrontier_BattlePyramidTop_MapScript2_25516E: @ 825516E
- map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidTop_EventScript_255180
- map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidTop_EventScript_25518A
+BattleFrontier_BattlePyramidTop_OnFrame: @ 825516E
+ map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic
+ map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidTop_EventScript_ShowMapName
.2byte 0
-BattleFrontier_BattlePyramidTop_EventScript_255180:: @ 8255180
+BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic:: @ 8255180
playbgm MUS_PYRAMID_TOP, 0
setvar VAR_TEMP_E, 1
end
-BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A
+BattleFrontier_BattlePyramidTop_EventScript_ShowMapName:: @ 825518A
special ShowMapNamePopup
setvar VAR_TEMP_F, 0
end
-BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 1
- special CallBattlePyramidFunction
+BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge:: @ 8255193
+ pyramid_save CHALLENGE_STATUS_SAVING
special SavePlayerParty
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 9
- special CallBattlePyramidFunction
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ pyramid_settrainers
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
setvar VAR_TEMP_F, 1
end
-BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0
+BattleFrontier_BattlePyramidTop_EventScript_Attendant:: @ 82551D0
lock
faceplayer
compare VAR_TEMP_D, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255236
- compare VAR_TEMP_C, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255240
- msgbox BattleFrontier_BattlePyramidTop_Text_255410, MSGBOX_DEFAULT
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_StepForwardWhenReady
+ compare VAR_TEMP_C, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHereMoveAside
+ msgbox BattleFrontier_BattlePyramidTop_Text_ReachedSummitUpYouGo, MSGBOX_DEFAULT
closemessage
- applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD
+ applymovement 1, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_255403
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_PlayerClimbToTop
waitmovement 0
- applymovement 1, BattleFrontier_BattlePyramidTop_Movement_255400
+ applymovement 1, BattleFrontier_BattlePyramidTop_Movement_AttendantBlockPath
waitmovement 0
- message BattleFrontier_BattlePyramidTop_Text_2554E8
+ message BattleFrontier_BattlePyramidTop_Text_PlayerConqueredPyramid
waitmessage
playfanfare MUS_ME_POINTGET
waitfanfare
closemessage
-
-BattleFrontier_BattlePyramidTop_EventScript_25521A:: @ 825521A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
+BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon:: @ 825521A
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
waitstate
end
-BattleFrontier_BattlePyramidTop_EventScript_255236:: @ 8255236
- msgbox BattleFrontier_BattlePyramidTop_Text_255BFE, MSGBOX_DEFAULT
+BattleFrontier_BattlePyramidTop_EventScript_StepForwardWhenReady:: @ 8255236
+ msgbox BattleFrontier_BattlePyramidTop_Text_StepForwardWhenReady, MSGBOX_DEFAULT
closemessage
end
-BattleFrontier_BattlePyramidTop_EventScript_255240:: @ 8255240
- msgbox BattleFrontier_BattlePyramidTop_Text_25551F, MSGBOX_DEFAULT
- applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD
+BattleFrontier_BattlePyramidTop_EventScript_BrandonHereMoveAside:: @ 8255240
+ msgbox BattleFrontier_BattlePyramidTop_Text_ChiefBeatYouHere, MSGBOX_DEFAULT
+ applymovement 1, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside
setvar VAR_TEMP_D, 1
closemessage
end
-BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256
+BattleFrontier_BattlePyramidTop_EventScript_BattleBrandon:: @ 8255256
lockall
switch VAR_TEMP_C
- 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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2552D0
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePyramidTop_EventScript_BrandonIntroGold
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C
+ applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_255669, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePyramidTop_Text_ExplorationsAreGrandestAdventure, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_25573E, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidTop_EventScript_2552DA
+ msgbox BattleFrontier_BattlePyramidTop_Text_ImPyramidKingBrandon, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonSilver
end
-BattleFrontier_BattlePyramidTop_EventScript_2552D0:: @ 82552D0
- applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech:: @ 82552D0
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer
waitmovement 0
-
-BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA
- msgbox BattleFrontier_BattlePyramidTop_Text_255846, MSGBOX_DEFAULT
- call BattleFrontier_BattlePyramidTop_EventScript_2553ED
+BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonSilver:: @ 82552DA
+ msgbox BattleFrontier_BattlePyramidTop_Text_BringCourageToOurBattle, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle
playbgm MUS_PYRAMID_TOP, 0
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB
- goto BattleFrontier_BattlePyramidTop_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver
+ goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
-BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver:: @ 82552FB
+ frontier_getsymbols
compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_25521A
- msgbox BattleFrontier_BattlePyramidTop_Text_255873, MSGBOX_DEFAULT
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
+ msgbox BattleFrontier_BattlePyramidTop_Text_BrandonFrontierPassPlease, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattlePyramidTop_Text_2558E9
+ message BattleFrontier_BattlePyramidTop_Text_ReceivedBraveSymbol
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePyramidTop_Text_25591D, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidTop_EventScript_25521A
-
-BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255388
+ frontier_givesymbol
+ msgbox BattleFrontier_BattlePyramidTop_Text_LookForwardToNextMeeting, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
+
+BattleFrontier_BattlePyramidTop_EventScript_BrandonIntroGold:: @ 8255335
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C
+ applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_255951, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePyramidTop_Text_BrandonYouveReturned, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_255A6D, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidTop_EventScript_255392
+ msgbox BattleFrontier_BattlePyramidTop_Text_MyCourageIsOffMeter, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonGold
end
-BattleFrontier_BattlePyramidTop_EventScript_255388:: @ 8255388
- applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech:: @ 8255388
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer
waitmovement 0
-
-BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392
- msgbox BattleFrontier_BattlePyramidTop_Text_255AA1, MSGBOX_DEFAULT
- call BattleFrontier_BattlePyramidTop_EventScript_2553ED
+BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonGold:: @ 8255392
+ msgbox BattleFrontier_BattlePyramidTop_Text_EverythingYouHave, MSGBOX_DEFAULT
+ call BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle
playbgm MUS_PYRAMID_TOP, 0
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3
- goto BattleFrontier_BattlePyramidTop_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonGold
+ goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
-BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3
- setvar VAR_0x8004, 12
- special CallFrontierUtilFunc
+BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonGold:: @ 82553B3
+ frontier_getsymbols
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25521A
- msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
+ msgbox BattleFrontier_BattlePyramidTop_Text_BrandonRemarkableHaveThis, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattlePyramidTop_Text_255B59
+ message BattleFrontier_BattlePyramidTop_Text_BraveSymbolTookGoldenShine
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattlePyramidTop_Text_255B82, MSGBOX_DEFAULT
- goto BattleFrontier_BattlePyramidTop_EventScript_25521A
+ frontier_givesymbol
+ msgbox BattleFrontier_BattlePyramidTop_Text_FarewellForNow, MSGBOX_DEFAULT
+ goto BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
-BattleFrontier_BattlePyramidTop_EventScript_2553ED:: @ 82553ED
+BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle:: @ 82553ED
closemessage
setvar VAR_0x8004, SPECIAL_BATTLE_PYRAMID
setvar VAR_0x8005, 0
@@ -234,17 +199,17 @@ BattleFrontier_BattlePyramidTop_EventScript_2553ED:: @ 82553ED
waitstate
return
-BattleFrontier_BattlePyramidTop_Movement_2553FD: @ 82553FD
+BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside: @ 82553FD
walk_right
walk_in_place_fastest_left
step_end
-BattleFrontier_BattlePyramidTop_Movement_255400: @ 8255400
+BattleFrontier_BattlePyramidTop_Movement_AttendantBlockPath: @ 8255400
walk_left
walk_in_place_fastest_up
step_end
-BattleFrontier_BattlePyramidTop_Movement_255403: @ 8255403
+BattleFrontier_BattlePyramidTop_Movement_PlayerClimbToTop: @ 8255403
walk_up
walk_up
walk_up
@@ -253,17 +218,17 @@ BattleFrontier_BattlePyramidTop_Movement_255403: @ 8255403
walk_in_place_fastest_down
step_end
-BattleFrontier_BattlePyramidTop_Movement_25540A: @ 825540A
+BattleFrontier_BattlePyramidTop_Movement_BrandonApproachPlayer: @ 825540A
walk_fast_down
step_end
-BattleFrontier_BattlePyramidTop_Movement_25540C: @ 825540C
+BattleFrontier_BattlePyramidTop_Movement_CameraPanUp: @ 825540C
walk_slow_up
walk_slow_up
delay_16
step_end
-BattleFrontier_BattlePyramidTop_Text_255410: @ 8255410
+BattleFrontier_BattlePyramidTop_Text_ReachedSummitUpYouGo: @ 8255410
.string "It is a delight to see you here!\n"
.string "You have reached the summit of\l"
.string "the BATTLE PYRAMID!\p"
@@ -274,11 +239,11 @@ BattleFrontier_BattlePyramidTop_Text_255410: @ 8255410
.string "Now, please!\n"
.string "Up you go!$"
-BattleFrontier_BattlePyramidTop_Text_2554E8: @ 82554E8
+BattleFrontier_BattlePyramidTop_Text_PlayerConqueredPyramid: @ 82554E8
.string "The PYRAMID's new conqueror!\n"
.string "Let the name {PLAYER} be known!$"
-BattleFrontier_BattlePyramidTop_Text_25551F: @ 825551F
+BattleFrontier_BattlePyramidTop_Text_ChiefBeatYouHere: @ 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"
@@ -291,7 +256,7 @@ BattleFrontier_BattlePyramidTop_Text_25551F: @ 825551F
.string "Now, please! When you are ready,\n"
.string "take one more step of courage!$"
-BattleFrontier_BattlePyramidTop_Text_255669: @ 8255669
+BattleFrontier_BattlePyramidTop_Text_ExplorationsAreGrandestAdventure: @ 8255669
.string "Young adventurer…\p"
.string "Wouldn't you agree that explorations\n"
.string "are the grandest of adventures?\p"
@@ -301,7 +266,7 @@ BattleFrontier_BattlePyramidTop_Text_255669: @ 8255669
.string "And, above all, only your own courage\n"
.string "to lead you through unknown worlds…$"
-BattleFrontier_BattlePyramidTop_Text_25573E: @ 825573E
+BattleFrontier_BattlePyramidTop_Text_ImPyramidKingBrandon: @ 825573E
.string "Aah, yes, indeed this life is grand!\n"
.string "Grand, it is! Eh?\p"
.string "I'm BRANDON!\p"
@@ -314,25 +279,25 @@ BattleFrontier_BattlePyramidTop_Text_25573E: @ 825573E
.string "Hahahah!\n"
.string "This should be exciting!$"
-BattleFrontier_BattlePyramidTop_Text_255846: @ 8255846
+BattleFrontier_BattlePyramidTop_Text_BringCourageToOurBattle: @ 8255846
.string "Now, then!\n"
.string "Bring your courage to our battle!$"
-BattleFrontier_BattlePyramidTop_Text_255873: @ 8255873
+BattleFrontier_BattlePyramidTop_Text_BrandonFrontierPassPlease: @ 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
+BattleFrontier_BattlePyramidTop_Text_ReceivedBraveSymbol: @ 82558E9
.string "The Brave Symbol was embossed on\n"
.string "the FRONTIER PASS!$"
-BattleFrontier_BattlePyramidTop_Text_25591D: @ 825591D
+BattleFrontier_BattlePyramidTop_Text_LookForwardToNextMeeting: @ 825591D
.string "Young explorer!\n"
.string "I look forward to our next meeting!$"
-BattleFrontier_BattlePyramidTop_Text_255951: @ 8255951
+BattleFrontier_BattlePyramidTop_Text_BrandonYouveReturned: @ 8255951
.string "BRANDON: …You've finally returned,\n"
.string "young explorer…\p"
.string "Your love of adventure seems to come\n"
@@ -346,16 +311,16 @@ BattleFrontier_BattlePyramidTop_Text_255951: @ 8255951
.string "Those days of death-defying,\n"
.string "life-affirming adventures are back…$"
-BattleFrontier_BattlePyramidTop_Text_255A6D: @ 8255A6D
+BattleFrontier_BattlePyramidTop_Text_MyCourageIsOffMeter: @ 8255A6D
.string "Now, then!\p"
.string "I sense my own courage is off\n"
.string "the meter!$"
-BattleFrontier_BattlePyramidTop_Text_255AA1: @ 8255AA1
+BattleFrontier_BattlePyramidTop_Text_EverythingYouHave: @ 8255AA1
.string "Everything you have!\n"
.string "I'm braced for it all!$"
-BattleFrontier_BattlePyramidTop_Text_255ACD: @ 8255ACD
+BattleFrontier_BattlePyramidTop_Text_BrandonRemarkableHaveThis: @ 8255ACD
.string "BRANDON: Hahahah!\n"
.string "Remarkable!\l"
.string "Yes, it's grand, indeed!\p"
@@ -363,17 +328,17 @@ BattleFrontier_BattlePyramidTop_Text_255ACD: @ 8255ACD
.string "You've bested me through and through!\n"
.string "Here! I want you to have this!$"
-BattleFrontier_BattlePyramidTop_Text_255B59: @ 8255B59
+BattleFrontier_BattlePyramidTop_Text_BraveSymbolTookGoldenShine: @ 8255B59
.string "The Brave Symbol took on\n"
.string "a golden shine!$"
-BattleFrontier_BattlePyramidTop_Text_255B82: @ 8255B82
+BattleFrontier_BattlePyramidTop_Text_FarewellForNow: @ 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
+BattleFrontier_BattlePyramidTop_Text_StepForwardWhenReady: @ 8255BFE
.string "Now, when you are ready, take courage\n"
.string "and step forward.$"
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
index 6e3f0c8fa..95b408528 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
@@ -1,414 +1,348 @@
BattleFrontier_BattleTowerBattleRoom_MapScripts:: @ 8241B40
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom_OnWarp
.byte 0
-BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B: @ 8241B4B
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B55
+BattleFrontier_BattleTowerBattleRoom_OnWarp: @ 8241B4B
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_SetUpObjects
.2byte 0
-BattleFrontier_BattleTowerBattleRoom_EventScript_241B55:: @ 8241B55
+BattleFrontier_BattleTowerBattleRoom_EventScript_SetUpObjects:: @ 8241B55
setvar VAR_TEMP_1, 1
- applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_242198
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SetInvisible
end
-BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C
+BattleFrontier_BattleTowerBattleRoom_OnFrame: @ 8241B62
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_EnterRoom
.2byte 0
-BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C
+BattleFrontier_BattleTowerBattleRoom_EventScript_EnterRoom:: @ 8241B6C
setvar VAR_TEMP_0, 1
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242179
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerEnter
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
- applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant
waitmovement 0
setvar VAR_TEMP_2, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3:: @ 8241BC3
- setvar VAR_0x8004, 3
- special sub_8161F74
+BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter:: @ 8241BC3
+ tower_setopponent
addobject 1
- applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242182
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentEnter
waitmovement 0
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- special sub_8161F74
+ tower_getopponentintro 0
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
- call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle
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 CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- special sub_8161F74
+ case B_OUTCOME_WON, BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedOpponent
+BattleFrontier_BattleTower_EventScript_WarpToLobbyLost:: @ 8241C03
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ tower_set TOWER_DATA_LVL_MODE
setvar VAR_0x8004, 3
- special sub_813BF7C
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8
+ special Script_TryGainNewFanFromCounter
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby
-BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F
- call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
- setvar VAR_0x8004, 4
- special sub_8161F74
+BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedOpponent:: @ 8241C2F
+ call BattleFrontier_EventScript_IncrementWinStreak
+ tower_setbattlewon
switch VAR_RESULT
- case 7, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
- applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242188
+ case 7, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject 1
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- call_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3
- applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
+ frontier_getbrainstatus
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ call_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant
waitmovement 0
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
-
-BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F
- setvar VAR_0x8004, 9
- special CallFrontierUtilFunc
+BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent:: @ 8241C8F
+ frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- call BattleFrontier_BattleTowerBattleRoom_EventScript_241E44
- call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A
- multichoice 19, 4, 103, 1
+ compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_MaidenUpNext
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyForOpponent
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponentNoRecord:: @ 8241D0A
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleTowerBattleRoom_EventScript_241D40:: @ 8241D40
- message BattleFrontier_BattleTowerBattleRoom_Text_2423A3
+BattleFrontier_BattleTowerBattleRoom_EventScript_AskRecordBattle:: @ 8241D40
+ message BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
- case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241D72
- case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleTowerBattleRoom_EventScript_241D72:: @ 8241D72
- call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+BattleFrontier_BattleTowerBattleRoom_EventScript_RecordBattle:: @ 8241D72
+ call BattleFrontier_EventScript_SaveBattle
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C:: @ 8241D7C
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2423FC, MSGBOX_YESNO
+BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge:: @ 8241D7C
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
- case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E22
- case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+ case NO, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
+ case YES, BattleFrontier_BattleTowerBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA:: @ 8241DAA
- message BattleFrontier_BattleTowerBattleRoom_Text_24244C
+BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge:: @ 8241DAA
+ message BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
- case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_24220E
- case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_RetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent
-BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC
+BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge:: @ 8241DDC
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle
waitmovement 0
- applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos
waitmovement 0
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter
-BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6:: @ 8241DF6
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- special sub_8161F74
+BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon:: @ 8241DF6
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
+ tower_set TOWER_DATA_LVL_MODE
setvar VAR_0x8004, 3
- special sub_813BF7C
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8
+ special Script_TryGainNewFanFromCounter
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby
-BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22
- message BattleFrontier_BattleTowerBattleRoom_Text_242426
+BattleFrontier_BattleTowerBattleRoom_EventScript_PauseChallenge:: @ 8241E22
+ message BattleFrontier_BattleTowerBattleRoom_Text_SavingPleaseWait
waitmessage
- setvar VAR_0x8004, 6
- setvar VAR_0x8005, 2
- special sub_8161F74
+ tower_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-BattleFrontier_BattleTowerBattleRoom_EventScript_241E44:: @ 8241E44
+BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyForOpponent:: @ 8241E44
copyvar VAR_TEMP_F, VAR_RESULT
switch VAR_TEMP_F
- 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
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor2ndOpponent
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor3rdOpponent
+ case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor4thOpponent
+ case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor5thOpponent
+ case 5, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor6thOpponent
+ case 6, BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor7thOpponent
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8241E90
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor2ndOpponent
waitmessage
return
-BattleFrontier_BattleTowerBattleRoom_EventScript_241E97:: @ 8241E97
- message BattleFrontier_BattleTowerBattleRoom_Text_2422A9
+BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8241E97
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor3rdOpponent
waitmessage
return
-BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E:: @ 8241E9E
- message BattleFrontier_BattleTowerBattleRoom_Text_2422DB
+BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor4thOpponent:: @ 8241E9E
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor4thOpponent
waitmessage
return
-BattleFrontier_BattleTowerBattleRoom_EventScript_241EA5:: @ 8241EA5
- message BattleFrontier_BattleTowerBattleRoom_Text_24230D
+BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor5thOpponent:: @ 8241EA5
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor5thOpponent
waitmessage
return
-BattleFrontier_BattleTowerBattleRoom_EventScript_241EAC:: @ 8241EAC
- message BattleFrontier_BattleTowerBattleRoom_Text_24233F
+BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor6thOpponent:: @ 8241EAC
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor6thOpponent
waitmessage
return
-BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3:: @ 8241EB3
- message BattleFrontier_BattleTowerBattleRoom_Text_242371
+BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyFor7thOpponent:: @ 8241EB3
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor7thOpponent
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 CallFrontierUtilFunc
+BattleFrontier_EventScript_IncrementWinStreak:: @ 8241EBA
+ frontier_incrementstreak
return
-BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3
- applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_24219A
+BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter:: @ 8241EC3
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantEnter
waitmovement 0
- applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2725B6
+ applymovement 3, Common_Movement_WalkInPlaceLeft
waitmovement 0
playse SE_PIN
applymovement 2, Common_Movement_ExclamationMark
waitmovement 0
applymovement 2, Common_Movement_Delay48
waitmovement 0
- applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A6
- applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_2421AB
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantDelay
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantFaceSecondAttendant
waitmovement 0
- applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A1
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantExit
waitmovement 0
return
-BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A
+BattleFrontier_BattleTowerBattleRoom_EventScript_MaidenUpNext:: @ 8241F0A
compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_SalonMaidenOnHerWay, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
-
-BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22
- message BattleFrontier_BattleTowerBattleRoom_Text_242542
+BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden:: @ 8241F22
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReadyForSalonMaiden
waitmessage
- call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79
- multichoice 19, 4, 103, 1
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaidenNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaidenNoRecord:: @ 8241F79
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 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
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden
-BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF
- call BattleFrontier_BattleTowerBattleRoom_EventScript_242170
+BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel:: @ 8241FAF
+ call BattleFrontier_EventScript_SetBrainObjectGfx
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle
waitmovement 0
- applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos
waitmovement 0
addobject 1
- applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_2421B2
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_AnabelEnter
waitmovement 0
switch VAR_TEMP_F
- 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 CallFrontierUtilFunc
+ case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleTowerBattleRoom_EventScript_AnabelGoldIntro
+ case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver
+ case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_GreetingsImAnabel, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver:: @ 8242029
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_LetMeSeeYourTalent, MSGBOX_DEFAULT
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver
+ goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver:: @ 8242046
+ call BattleFrontier_EventScript_IncrementWinStreak
+ frontier_getsymbols
compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_242029
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, MSGBOX_DEFAULT
- call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
- compare VAR_RESULT, 1
- goto_if_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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, MSGBOX_DEFAULT
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelTalentShallBeRecognized, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleTowerBattleRoom_Text_24270E
+ message BattleFrontier_BattleTowerBattleRoom_Text_ReceivedAbilitySymbol
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_242744, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
-
-BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, MSGBOX_DEFAULT
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
-
-BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, MSGBOX_DEFAULT
- call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
- compare VAR_RESULT, 1
- goto_if_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 CallFrontierUtilFunc
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_UntilNextTime, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_AnabelGoldIntro:: @ 8242085
+ frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
+ compare VAR_RESULT, FALSE
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelYouCameBack, MSGBOX_DEFAULT
+ frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
+BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold:: @ 82420B2
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_LetsBeginShallWe, MSGBOX_DEFAULT
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelGold
+ goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelGold:: @ 82420CF
+ call BattleFrontier_EventScript_IncrementWinStreak
+ frontier_getsymbols
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelCongratsYourPassPlease, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
- message BattleFrontier_BattleTowerBattleRoom_Text_242932
+ message BattleFrontier_BattleTowerBattleRoom_Text_AbilitySymbolTookGoldenShine
waitmessage
waitfanfare
- setvar VAR_0x8004, 13
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_24295D, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+ frontier_givesymbol
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_WishICouldBattleYouAgain, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
-BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E:: @ 824210E
-BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
+BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle:: @ 824210E
closemessage
setvar VAR_TEMP_2, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, FALSE
special HealPlayerParty
setvar VAR_0x8004, SPECIAL_BATTLE_TOWER
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE
- compare VAR_0x8004, 3
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
- setvar VAR_0x8004, 18
- special CallFrontierUtilFunc
+ compare VAR_0x8004, FRONTIER_MODE_LINK_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_EndTowerBattle
+ frontier_restorehelditems
special HealPlayerParty
- setvar VAR_0x8004, 21
- special CallFrontierUtilFunc
-
-BattleFrontier_BattleTowerBattleRoom_EventScript_24215A:: @ 824215A
- setvar VAR_0x8004, 15
- special sub_8161F74
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 5
- special CallFrontierUtilFunc
+ frontier_resetsketch
+BattleFrontier_BattleTowerBattleRoom_EventScript_EndTowerBattle:: @ 824215A
+ tower_setinterviewdata
+ frontier_get FRONTIER_DATA_BATTLE_OUTCOME
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 CallFrontierUtilFunc
+BattleFrontier_EventScript_SetBrainObjectGfx:: @ 8242170
+ frontier_setbrainobj
return
-BattleFrontier_BattleTowerBattleRoom_Movement_242179: @ 8242179
+BattleFrontier_BattleTowerBattleRoom_Movement_PlayerEnter: @ 8242179
walk_up
walk_up
walk_up
face_right
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_24217E: @ 824217E
+BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant: @ 824217E
face_down
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_242180: @ 8242180
+BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle: @ 8242180
face_right
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_242182: @ 8242182
+BattleFrontier_BattleTowerBattleRoom_Movement_OpponentEnter: @ 8242182
walk_down
walk_down
walk_down
@@ -416,21 +350,21 @@ BattleFrontier_BattleTowerBattleRoom_Movement_242182: @ 8242182
face_left
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_242188: @ 8242188
+BattleFrontier_BattleTowerBattleRoom_Movement_OpponentExit: @ 8242188
walk_up
walk_up
walk_up
walk_up
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_24218D: @ 824218D
+BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer: @ 824218D
walk_right
walk_right
walk_right
walk_up
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_242192: @ 8242192
+BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos: @ 8242192
walk_down
walk_left
walk_left
@@ -438,11 +372,11 @@ BattleFrontier_BattleTowerBattleRoom_Movement_242192: @ 8242192
face_right
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_242198: @ 8242198
+BattleFrontier_BattleTowerBattleRoom_Movement_SetInvisible: @ 8242198
set_invisible
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_24219A: @ 824219A
+BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantEnter: @ 824219A
set_visible
delay_16
walk_up
@@ -451,21 +385,21 @@ BattleFrontier_BattleTowerBattleRoom_Movement_24219A: @ 824219A
delay_8
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_2421A1: @ 82421A1
+BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantExit: @ 82421A1
walk_right
walk_right
walk_down
set_invisible
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_2421A6: @ 82421A6
+BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantDelay: @ 82421A6
delay_16
delay_16
delay_16
delay_16
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_2421AB: @ 82421AB
+BattleFrontier_BattleTowerBattleRoom_Movement_AttendantFaceSecondAttendant: @ 82421AB
face_right
delay_16
delay_16
@@ -474,7 +408,7 @@ BattleFrontier_BattleTowerBattleRoom_Movement_2421AB: @ 82421AB
walk_in_place_right
step_end
-BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2
+BattleFrontier_BattleTowerBattleRoom_Movement_AnabelEnter: @ 82421B2
walk_slow_down
walk_slow_down
walk_slow_down
@@ -482,113 +416,107 @@ BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2
face_left
step_end
-BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8
-BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8
+BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby:: @ 82421B8
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2
- compare VAR_RESULT, 3
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC
+ compare VAR_RESULT, FRONTIER_MODE_DOUBLES
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyDoubles
+ compare VAR_RESULT, FRONTIER_MODE_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyMultis
+ compare VAR_RESULT, FRONTIER_MODE_LINK_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyLinkMultis
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6
waitstate
end
-BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8:: @ 82421E8
+BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyDoubles:: @ 82421E8
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 10, 6
waitstate
end
-BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2:: @ 82421F2
+BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyMultis:: @ 82421F2
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 14, 6
waitstate
end
-BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC:: @ 82421FC
- setvar VAR_0x8004, 13
- special sub_8161F74
+BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyLinkMultis:: @ 82421FC
+ tower_unklink
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 18, 6
waitstate
end
-BattleFrontier_BattleTowerBattleRoom_EventScript_24220E:: @ 824220E
+BattleFrontier_BattleTowerBattleRoom_EventScript_RetireChallenge:: @ 824220E
setflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE
- goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
+ goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost
end
-BattleFrontier_BattleTowerBattleRoom2_Text_242217: @ 8242217
-BattleFrontier_BattleTowerBattleRoom_Text_242217: @ 8242217
+BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth: @ 8242217
.string "We will restore your POKéMON to\n"
.string "full health.$"
-BattleFrontier_BattleTowerBattleRoom_Text_242244: @ 8242244
+@ Unused
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyForOpponent: @ 8242244
.string "You will be facing opponent no. {STR_VAR_1}.\n"
.string "Are you ready?$"
-BattleFrontier_BattleTowerBattleRoom_Text_242277: @ 8242277
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor2ndOpponent: @ 8242277
.string "You will be facing opponent no. 2.\n"
.string "Are you ready?$"
-BattleFrontier_BattleTowerBattleRoom_Text_2422A9: @ 82422A9
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor3rdOpponent: @ 82422A9
.string "You will be facing opponent no. 3.\n"
.string "Are you ready?$"
-BattleFrontier_BattleTowerBattleRoom_Text_2422DB: @ 82422DB
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor4thOpponent: @ 82422DB
.string "You will be facing opponent no. 4.\n"
.string "Are you ready?$"
-BattleFrontier_BattleTowerBattleRoom_Text_24230D: @ 824230D
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor5thOpponent: @ 824230D
.string "You will be facing opponent no. 5.\n"
.string "Are you ready?$"
-BattleFrontier_BattleTowerBattleRoom_Text_24233F: @ 824233F
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor6thOpponent: @ 824233F
.string "You will be facing opponent no. 6.\n"
.string "Are you ready?$"
-BattleFrontier_BattleTowerBattleRoom_Text_242371: @ 8242371
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyFor7thOpponent: @ 8242371
.string "You will be facing opponent no. 7.\n"
.string "Are you ready?$"
-BattleFrontier_BattleTowerBattleRoom2_Text_2423A3: @ 82423A3
-BattleFrontier_BattleTowerBattleRoom_Text_2423A3: @ 82423A3
+BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle: @ 82423A3
.string "Record your battle on your\n"
.string "FRONTIER PASS?$"
-BattleFrontier_BattleTowerLobby_Text_2423CD: @ 82423CD
+BattleFrontier_BattleTowerLobby_Text_BattleRecordedOnPass: @ 82423CD
.string "{PLAYER}'s battle was recorded\n"
.string "on the FRONTIER PASS.$"
-BattleFrontier_BattleTowerBattleRoom2_Text_2423FC: @ 82423FC
-BattleFrontier_BattleTowerBattleRoom_Text_2423FC: @ 82423FC
+BattleFrontier_BattleTowerBattleRoom_Text_SaveAndQuitGame: @ 82423FC
.string "Would you like to save and\n"
.string "quit the game?$"
-BattleFrontier_BattleTowerBattleRoom2_Text_242426: @ 8242426
-BattleFrontier_BattleTowerBattleRoom_Text_242426: @ 8242426
+BattleFrontier_BattleTowerBattleRoom_Text_SavingPleaseWait: @ 8242426
.string "Saving your battle data.\n"
.string "Please wait.$"
-BattleFrontier_BattleTowerBattleRoom2_Text_24244C: @ 824244C
-BattleFrontier_BattleTowerBattleRoom_Text_24244C: @ 824244C
+BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge: @ 824244C
.string "Would you like to cancel your BATTLE\n"
.string "ROOM challenge?$"
-gText_BattleRecordCouldntBeSaved:: @ 8242481
+BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved:: @ 8242481
.string "There was an error of some sort.\n"
.string "Your record could not be saved.$"
-BattleFrontier_BattleTowerBattleRoom_Text_2424C2: @ 82424C2
+BattleFrontier_BattleTowerBattleRoom_Text_SalonMaidenOnHerWay: @ 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
+BattleFrontier_BattleTowerBattleRoom_Text_ReadyForSalonMaiden: @ 8242542
.string "You will be facing the SALON MAIDEN.\n"
.string "Are you prepared?$"
-BattleFrontier_BattleTowerBattleRoom_Text_242579: @ 8242579
+BattleFrontier_BattleTowerBattleRoom_Text_GreetingsImAnabel: @ 8242579
.string "Greetings…\n"
.string "My name is ANABEL.\p"
.string "I am the SALON MAIDEN, and I am in\n"
@@ -600,20 +528,20 @@ BattleFrontier_BattleTowerBattleRoom_Text_242579: @ 8242579
.string "The reason I've come to see you…\n"
.string "Well, there is but one reason…$"
-BattleFrontier_BattleTowerBattleRoom_Text_24268C: @ 824268C
+BattleFrontier_BattleTowerBattleRoom_Text_LetMeSeeYourTalent: @ 824268C
.string "Let me see your talent in\n"
.string "its entirety…$"
-BattleFrontier_BattleTowerBattleRoom_Text_2426B4: @ 82426B4
+BattleFrontier_BattleTowerBattleRoom_Text_AnabelTalentShallBeRecognized: @ 82426B4
.string "ANABEL: Fufufu, nicely done…\p"
.string "Your FRONTIER PASS, please…\n"
.string "Your talent shall be recognized.$"
-BattleFrontier_BattleTowerBattleRoom_Text_24270E: @ 824270E
+BattleFrontier_BattleTowerBattleRoom_Text_ReceivedAbilitySymbol: @ 824270E
.string "The Ability Symbol was embossed on\n"
.string "the FRONTIER PASS!$"
-BattleFrontier_BattleTowerBattleRoom_Text_242744: @ 8242744
+BattleFrontier_BattleTowerBattleRoom_Text_UntilNextTime: @ 8242744
.string "… … … … … …\p"
.string "You have confidence in your POKéMON\n"
.string "battling talent, don't you?\p"
@@ -622,7 +550,7 @@ BattleFrontier_BattleTowerBattleRoom_Text_242744: @ 8242744
.string "I will be waiting for you.\n"
.string "Until the next time we meet…$"
-BattleFrontier_BattleTowerBattleRoom_Text_2427F9: @ 82427F9
+BattleFrontier_BattleTowerBattleRoom_Text_AnabelYouCameBack: @ 82427F9
.string "ANABEL: You really did come back to\n"
.string "see me…\p"
.string "… … … … … …\p"
@@ -632,18 +560,18 @@ BattleFrontier_BattleTowerBattleRoom_Text_2427F9: @ 82427F9
.string "Too long since I've been able to battle\n"
.string "without thinking about anything…$"
-BattleFrontier_BattleTowerBattleRoom_Text_2428E0: @ 82428E0
+BattleFrontier_BattleTowerBattleRoom_Text_LetsBeginShallWe: @ 82428E0
.string "Let's begin, shall we?$"
-BattleFrontier_BattleTowerBattleRoom_Text_2428F7: @ 82428F7
+BattleFrontier_BattleTowerBattleRoom_Text_AnabelCongratsYourPassPlease: @ 82428F7
.string "ANABEL: Fufu, congratulations…\n"
.string "Your FRONTIER PASS, please…$"
-BattleFrontier_BattleTowerBattleRoom_Text_242932: @ 8242932
+BattleFrontier_BattleTowerBattleRoom_Text_AbilitySymbolTookGoldenShine: @ 8242932
.string "The Ability Symbol took on\n"
.string "a golden shine!$"
-BattleFrontier_BattleTowerBattleRoom_Text_24295D: @ 824295D
+BattleFrontier_BattleTowerBattleRoom_Text_WishICouldBattleYouAgain: @ 824295D
.string "That was fun…\p"
.string "I have never had a POKéMON battle\n"
.string "so enjoyable before…\p"
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/map.json b/data/maps/BattleFrontier_BattleTowerBattleRoom2/map.json
deleted file mode 100644
index 698edcc65..000000000
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/map.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2",
- "name": "BattleFrontier_BattleTowerBattleRoom2",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM",
- "music": "MUS_SATTOWER",
- "region_map_section": "MAPSEC_BATTLE_FRONTIER",
- "requires_flash": false,
- "weather": "WEATHER_NONE",
- "map_type": "MAP_TYPE_INDOOR",
- "allow_bike": false,
- "allow_escape_rope": false,
- "allow_running": false,
- "show_map_name": false,
- "battle_scene": "MAP_BATTLE_SCENE_FRONTIER",
- "connections": null,
- "object_events": [
- {
- "graphics_id": "EVENT_OBJ_GFX_VAR_0",
- "x": 5,
- "y": 1,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
- "movement_range_x": 0,
- "movement_range_y": 0,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "0x0",
- "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT"
- },
- {
- "graphics_id": "EVENT_OBJ_GFX_TEALA",
- "x": 1,
- "y": 4,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
- "movement_range_x": 0,
- "movement_range_y": 0,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "0x0",
- "flag": "0"
- },
- {
- "graphics_id": "EVENT_OBJ_GFX_TEALA",
- "x": 1,
- "y": 5,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
- "movement_range_x": 0,
- "movement_range_y": 0,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "0x0",
- "flag": "0"
- },
- {
- "graphics_id": "EVENT_OBJ_GFX_VAR_1",
- "x": 4,
- "y": 1,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
- "movement_range_x": 0,
- "movement_range_y": 0,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "0x0",
- "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT"
- },
- {
- "graphics_id": "EVENT_OBJ_GFX_VAR_F",
- "x": 4,
- "y": 8,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_UP",
- "movement_range_x": 0,
- "movement_range_y": 0,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "0x0",
- "flag": "0"
- },
- {
- "graphics_id": "EVENT_OBJ_GFX_VAR_E",
- "x": 5,
- "y": 8,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_UP",
- "movement_range_x": 0,
- "movement_range_y": 0,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "0x0",
- "flag": "0"
- }
- ],
- "warp_events": [],
- "coord_events": [],
- "bg_events": []
-} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
deleted file mode 100644
index 8ebb7ed25..000000000
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
+++ /dev/null
@@ -1,539 +0,0 @@
-BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43
- .byte 0
-
-BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F
- end
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F
- setvar VAR_0x8004, 14
- special sub_8161F74
- checkplayergender
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29
- setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL
- return
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29:: @ 8248F29
- setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL
- return
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F:: @ 8248F2F
- special sub_813A76C
- return
-
-BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D
- .2byte 0
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2
- end
-
-BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D
- .2byte 0
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D
- setvar VAR_TEMP_0, 1
- applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249518
- applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_24951E
- waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_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 CallFrontierUtilFunc
- 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_FRONTIER_BATTLE_MODE, 3
- goto_if_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 gStringVar4, MSGBOX_DEFAULT
- waitmessage
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 1
- special sub_8161F74
- applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545
- waitmovement 0
- msgbox gStringVar4, MSGBOX_DEFAULT
- 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 CallFrontierUtilFunc
- 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_FRONTIER_BATTLE_MODE, 3
- goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118
- msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118
- messageautoscroll BattleFrontier_BattleTowerBattleRoom2_Text_242217
- waitmessage
- delay 48
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
- special LoadPlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
- playfanfare MUS_ME_ASA
- waitfanfare
- special HealPlayerParty
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
- call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD
- compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
- call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_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, MSGBOX_YESNO
- 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_TEMP_2
- 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 CallFrontierUtilFunc
- 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 CallFrontierUtilFunc
- end
-
-BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD
- compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E
- copyvar VAR_TEMP_F, VAR_RESULT
- switch VAR_TEMP_F
- 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_TEMP_F, VAR_RESULT
- switch VAR_TEMP_F
- 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
- goto_if_set FLAG_TEMP_2, 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_RESULT, 0
- goto_if_ne 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_TEMP_2
- 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_RESULT, 0
- goto_if_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
- walk_up
- walk_up
- walk_up
- walk_up
- face_right
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_24951E: @ 824951E
- walk_left
- walk_up
- walk_up
- walk_up
- face_right
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_249524: @ 8249524
- face_left
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_249526: @ 8249526
- walk_in_place_fastest_right
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_249528: @ 8249528
- walk_down
- walk_down
- walk_down
- walk_down
- face_left
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_24952E: @ 824952E
- walk_right
- walk_down
- walk_down
- walk_down
- face_left
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_249534: @ 8249534
- walk_up
- walk_up
- walk_up
- set_invisible
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_249539: @ 8249539
- walk_up
- walk_up
- walk_up
- walk_up
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_24953E: @ 824953E
- walk_right
- walk_right
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_249541: @ 8249541
- walk_left
- walk_left
- walk_in_place_fastest_right
- step_end
-
-BattleFrontier_BattleTowerBattleRoom2_Movement_249545: @ 8249545
- walk_in_place_left
- 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/maps/BattleFrontier_BattleTowerCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
index a72961562..6957079da 100644
--- a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
@@ -1,55 +1,52 @@
BattleFrontier_BattleTowerCorridor_MapScripts:: @ 8241AAA
- map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_BattleTowerCorridor_MapScript1_241AB5
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerCorridor_MapScript2_241AE6
+ map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_BattleTowerCorridor_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerCorridor_OnFrame
.byte 0
-BattleFrontier_BattleTowerCorridor_MapScript1_241AB5: @ 8241AB5
+BattleFrontier_BattleTowerCorridor_OnLoad: @ 8241AB5
compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3
+ goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_OpenFarDoor
setmetatile 12, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, 0
setmetatile 12, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, 0
end
-BattleFrontier_BattleTowerCorridor_EventScript_241AD3:: @ 8241AD3
+BattleFrontier_BattleTowerCorridor_EventScript_OpenFarDoor:: @ 8241AD3
setmetatile 15, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, 0
setmetatile 15, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, 0
end
-BattleFrontier_BattleTowerCorridor_MapScript2_241AE6: @ 8241AE6
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerCorridor_EventScript_241AF0
+BattleFrontier_BattleTowerCorridor_OnFrame: @ 8241AE6
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerCorridor_EventScript_EnterCorridor
.2byte 0
-BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0
+BattleFrontier_BattleTowerCorridor_EventScript_EnterCorridor:: @ 8241AF0
setvar VAR_TEMP_0, 1
compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16
- applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B39
+ goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor
+ applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToDoor
waitmovement 0
- goto BattleFrontier_BattleTowerCorridor_EventScript_241B27
+ goto BattleFrontier_BattleTowerCorridor_EventScript_WarpToBattleRoom
-BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16
- applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B37
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B36
+BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor:: @ 8241B16
+ applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToFarDoor
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToFarDoor
waitmovement 0
-BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27
+BattleFrontier_BattleTowerCorridor_EventScript_WarpToBattleRoom:: @ 8241B27
setvar VAR_TEMP_0, 0
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
waitstate
end
-BattleFrontier_BattleTowerCorridor_Movement_241B36: @ 8241B36
+BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToFarDoor: @ 8241B36
walk_right
-
-BattleFrontier_BattleTowerCorridor_Movement_241B37: @ 8241B37
+BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToFarDoor: @ 8241B37
walk_right
walk_right
-
-BattleFrontier_BattleTowerCorridor_Movement_241B39: @ 8241B39
+BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToDoor: @ 8241B39
walk_right
-
-BattleFrontier_BattleTowerCorridor_Movement_241B3A: @ 8241B3A
+BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToDoor: @ 8241B3A
walk_right
walk_right
walk_right
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
deleted file mode 100644
index efab7be70..000000000
--- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
+++ /dev/null
@@ -1,172 +0,0 @@
-BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerCorridor2_MapScript2_248D95
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2
- .byte 0
-
-BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D71
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D91
- end
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71
- setvar VAR_0x8004, 14
- special sub_8161F74
- checkplayergender
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B
- setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL
- return
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248D8B:: @ 8248D8B
- setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL
- return
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248D91:: @ 8248D91
- special sub_813A76C
- return
-
-BattleFrontier_BattleTowerCorridor2_MapScript2_248D95: @ 8248D95
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248D9F
- .2byte 0
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
- hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
- hideobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
- special sub_8139980
- end
-
-BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2: @ 8248DB2
- map_script_2 VAR_TEMP_1, 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, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
- showobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
- 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, Common_Movement_WalkInPlaceUp
- applymovement 2, Common_Movement_WalkInPlaceUp
- 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_TEMP_1, 1
- call BattleFrontier_BattleTowerCorridor2_EventScript_248E71
- releaseall
- end
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EA8
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EB2
- return
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248E9E:: @ 8248E9E
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
- waitstate
- return
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248EA8:: @ 8248EA8
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2, 255, 4, 5
- waitstate
- return
-
-BattleFrontier_BattleTowerCorridor2_EventScript_248EB2:: @ 8248EB2
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2, 255, 4, 5
- waitstate
- return
-
-BattleFrontier_BattleTowerCorridor2_Movement_248EBC: @ 8248EBC
- walk_down
- walk_right
- walk_right
- walk_right
- walk_right
- walk_right
- walk_right
- step_end
-
-BattleFrontier_BattleTowerCorridor2_Movement_248EC4: @ 8248EC4
- walk_down
- walk_left
- walk_left
- walk_left
- walk_left
- walk_left
- walk_left
- step_end
-
-BattleFrontier_BattleTowerCorridor2_Movement_248ECC: @ 8248ECC
- walk_right
- walk_right
- walk_right
- walk_right
- walk_right
- walk_right
- walk_up
- walk_in_place_fastest_right
- step_end
-
-BattleFrontier_BattleTowerCorridor2_Movement_248ED5: @ 8248ED5
- walk_left
- walk_left
- walk_left
- walk_left
- walk_left
- walk_left
- walk_up
- walk_in_place_fastest_left
- step_end
-
-BattleFrontier_BattleTowerCorridor2_Movement_248EDE: @ 8248EDE
- delay_16
- walk_up
- walk_up
- set_invisible
- step_end
-
-BattleFrontier_BattleTowerCorridor2_Movement_248EE3: @ 8248EE3
- walk_up
- set_invisible
- step_end
-
-BattleFrontier_BattleTowerCorridor2_Movement_248EE6: @ 8248EE6
- walk_down
- step_end
-
diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
index 0d07f5be2..320520bb8 100644
--- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
@@ -1,90 +1,90 @@
BattleFrontier_BattleTowerElevator_MapScripts:: @ 82419DB
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerElevator_MapScript2_2419E6
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerElevator_MapScript2_241A96
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerElevator_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerElevator_OnWarp
.byte 0
-BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerElevator_EventScript_2419F0
+BattleFrontier_BattleTowerElevator_OnFrame: @ 82419E6
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerElevator_EventScript_EnterElevator
.2byte 0
-BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0
+BattleFrontier_BattleTowerElevator_EventScript_EnterElevator:: @ 82419F0
setvar VAR_TEMP_0, 1
- applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A8A
+ applymovement 1, BattleFrontier_BattleTowerElevator_Movement_AttendantEnter
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerEnter
waitmovement 0
- special sub_813A080
+ special BufferBattleTowerElevatorFloors
waitse
- special ShakeScreenInElevator
+ special MoveElevator
waitstate
delay 48
- applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A92
+ applymovement 1, BattleFrontier_BattleTowerElevator_Movement_AttendantExit
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerExit
waitmovement 0
- call BattleFrontier_BattleTowerElevator_EventScript_241A28
+ call BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoom
end
-BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A5F
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A72
+BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoom:: @ 8241A28
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoomMulti
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridorMulti
return
-BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55
+BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor:: @ 8241A55
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR, 255, 8, 1
waitstate
return
-BattleFrontier_BattleTowerElevator_EventScript_241A5F:: @ 8241A5F
- goto_if_unset FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerElevator_EventScript_241A7C
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2, 255, 7, 2
+BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoomMulti:: @ 8241A5F
+ goto_if_unset FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerElevator_EventScript_WarpToPartnerRoom
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 255, 7, 2
waitstate
return
-BattleFrontier_BattleTowerElevator_EventScript_241A72:: @ 8241A72
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2, 255, 7, 2
+BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridorMulti:: @ 8241A72
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 255, 7, 2
waitstate
return
-BattleFrontier_BattleTowerElevator_EventScript_241A7C:: @ 8241A7C
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 1
+BattleFrontier_BattleTowerElevator_EventScript_WarpToPartnerRoom:: @ 8241A7C
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 255, 10, 1
waitstate
return
-BattleFrontier_BattleTowerElevator_Movement_241A86: @ 8241A86
+BattleFrontier_BattleTowerElevator_Movement_AttendantEnter: @ 8241A86
walk_up
walk_right
face_down
step_end
-BattleFrontier_BattleTowerElevator_Movement_241A8A: @ 8241A8A
+BattleFrontier_BattleTowerElevator_Movement_PlayerEnter: @ 8241A8A
walk_up
walk_up
face_down
step_end
-BattleFrontier_BattleTowerElevator_Movement_241A8E: @ 8241A8E
+BattleFrontier_BattleTowerElevator_Movement_AttendantExit: @ 8241A8E
walk_down
walk_down
set_invisible
step_end
-BattleFrontier_BattleTowerElevator_Movement_241A92: @ 8241A92
+BattleFrontier_BattleTowerElevator_Movement_PlayerExit: @ 8241A92
walk_right
walk_down
walk_down
step_end
-BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerElevator_EventScript_241AA0
+BattleFrontier_BattleTowerElevator_OnWarp: @ 8241A96
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerElevator_EventScript_TurnPlayerNorth
.2byte 0
-BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0
+BattleFrontier_BattleTowerElevator_EventScript_TurnPlayerNorth:: @ 8241AA0
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/map.json b/data/maps/BattleFrontier_BattleTowerLobby/map.json
index 339b20b56..4b83c34a0 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/map.json
+++ b/data/maps/BattleFrontier_BattleTowerLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23E936",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_SinglesAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EEE7",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_FeelingsMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFB5",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_Woman",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFBE",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_Boy",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_28CB96",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_Reporter",
"flag": "FLAG_HIDE_BATTLE_TOWER_REPORTER"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EventScript_Apprentice",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_Apprentice",
"flag": "FLAG_HIDE_APPRENTICE"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EA9F",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_DoublesAttendant",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EC08",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_MultisAttendant",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23ED74",
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_LinkMultisAttendant",
"flag": "0"
}
],
@@ -163,7 +163,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFC7"
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowSinglesResults"
},
{
"type": "sign",
@@ -171,7 +171,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFE0"
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowDoublesResults"
},
{
"type": "sign",
@@ -179,7 +179,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23EFF9"
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowMultisResults"
},
{
"type": "sign",
@@ -187,7 +187,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23F012"
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_ShowLinkMultisResults"
},
{
"type": "sign",
@@ -195,7 +195,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_BattleTowerLobby_EventScript_23F4BE"
+ "script": "BattleFrontier_BattleTowerLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
index 6d53a33e1..297f05fb0 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
@@ -1,801 +1,664 @@
BattleFrontier_BattleTowerLobby_MapScripts:: @ 823E67B
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerLobby_MapScript1_23E690
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerLobby_MapScript1_23E694
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerLobby_MapScript2_23E6DD
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerLobby_MapScript2_23E6C9
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerLobby_OnResume
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerLobby_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerLobby_OnWarp
.byte 0
-BattleFrontier_BattleTowerLobby_MapScript1_23E690: @ 823E690
- special sub_81653CC
+BattleFrontier_BattleTowerLobby_OnResume: @ 823E690
+ special TryHideBattleTowerReporter
end
-BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694
- call BattleFrontier_BattleTowerLobby_EventScript_28CC84
- setvar VAR_0x8004, 10
- special CallApprenticeFunction
- compare VAR_0x8004, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5
- goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_23E6C1
-
-BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5
+BattleFrontier_BattleTowerLobby_OnTransition: @ 823E694
+ call BattleFrontier_BattleTowerLobby_EventScript_ShowOrHideReporter
+ apprentice_shouldcheckgone
+ compare VAR_0x8004, FALSE @ Always TRUE here
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice
+ goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_HideApprentice
+BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice:: @ 823E6B5
clearflag FLAG_HIDE_APPRENTICE
- setvar VAR_0x8004, 23
- special CallApprenticeFunction
-
-BattleFrontier_BattleTowerLobby_EventScript_23E6C0:: @ 823E6C0
+ apprentice_setgfx
+BattleFrontier_BattleTowerLobby_EventScript_EndShowOrHideApprentice:: @ 823E6C0
end
-BattleFrontier_BattleTowerLobby_EventScript_23E6C1:: @ 823E6C1
+BattleFrontier_BattleTowerLobby_EventScript_HideApprentice:: @ 823E6C1
setflag FLAG_HIDE_APPRENTICE
- goto BattleFrontier_BattleTowerLobby_EventScript_23E6C0
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndShowOrHideApprentice
-BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerLobby_EventScript_23E6D3
+BattleFrontier_BattleTowerLobby_OnWarp: @ 823E6C9
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth
.2byte 0
-BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3
+BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth:: @ 823E6D3
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD
- map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_23E707
- map_script_2 VAR_TEMP_0, 1, BattleFrontier_BattleTowerLobby_EventScript_23E710
- map_script_2 VAR_TEMP_0, 2, BattleFrontier_BattleTowerLobby_EventScript_23E8EE
- map_script_2 VAR_TEMP_0, 3, BattleFrontier_BattleTowerLobby_EventScript_23E758
- map_script_2 VAR_TEMP_0, 4, BattleFrontier_BattleTowerLobby_EventScript_23E7F2
+BattleFrontier_BattleTowerLobby_OnFrame: @ 823E6DD
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_LostChallenge
.2byte 0
-BattleFrontier_BattleTowerLobby_EventScript_23E707:: @ 823E707
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus:: @ 823E707
+ frontier_getstatus
end
-BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710
+BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving:: @ 823E710
lock
faceplayer
- msgbox BattleFrontier_BattleTowerLobby_Text_23F583, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
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 CallFrontierUtilFunc
+ tower_set TOWER_DATA_WIN_STREAK, 0
+ tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758
+BattleFrontier_BattleTowerLobby_EventScript_WonChallenge:: @ 823E758
lock
faceplayer
- setvar VAR_0x8004, 10
- special CallFrontierUtilFunc
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E778
- message BattleFrontier_BattleTowerLobby_Text_23F60D
+ frontier_isbrain
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden
+ message BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven
waitmessage
- goto BattleFrontier_BattleTowerLobby_EventScript_23E780
-
-BattleFrontier_BattleTowerLobby_EventScript_23E778:: @ 823E778
- msgbox BattleFrontier_BattleTowerLobby_Text_241486, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780
- setvar VAR_0x8004, 5
- special sub_8161F74
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5
- message BattleFrontier_BattleTowerLobby_Text_23F844
+ goto BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons
+
+BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden:: @ 823E778
+ msgbox BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons:: @ 823E780
+ tower_giveribbons
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints
+ message BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox BattleFrontier_BattleTowerLobby_Text_23F89F, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5
- msgbox BattleFrontier_BattleTowerLobby_Text_2414D4, MSGBOX_DEFAULT
- setvar VAR_0x8004, 11
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleTowerLobby_Text_241520, 9
- call BattleFrontier_BattleTowerLobby_EventScript_23E84D
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special sub_8161F74
+ msgbox BattleFrontier_BattleTowerLobby_Text_PutRibbonOnMons, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints:: @ 823E7A5
+ msgbox BattleFrontier_BattleTowerLobby_Text_AwardYouTheseBattlePoints, MSGBOX_DEFAULT
+ frontier_givepoints
+ msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle
+ tower_get TOWER_DATA_WIN_STREAK
compare VAR_RESULT, 49
- goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E7E2
- msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2
- msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge
+ msgbox BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge:: @ 823E7E2
+ msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2
- compare VAR_FRONTIER_BATTLE_MODE, 2
- goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E81E
- goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_23E81E
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special sub_8161F74
+BattleFrontier_BattleTowerLobby_EventScript_LostChallenge:: @ 823E7F2
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak
+ goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak
+ tower_get TOWER_DATA_WIN_STREAK
compare VAR_RESULT, 0
- goto_if_ne 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
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying
+BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak:: @ 823E81E
+ tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE
+BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying:: @ 823E830
lock
faceplayer
- message BattleFrontier_BattleTowerLobby_Text_23F6F7
+ message BattleFrontier_BattleTowerLobby_Text_ThankYouForPlaying
waitmessage
- call BattleFrontier_BattleTowerLobby_EventScript_23E84D
- msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT
+ call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle
+ msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
- message BattleFrontier_BattleTowerLobby_Text_23F70F
+BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle:: @ 823E84D
+ message BattleFrontier_BattleTowerLobby_Text_RecordWillBeSaved
waitmessage
- setvar VAR_0x8004, 8
- special CallFrontierUtilFunc
+ frontier_checkairshow
special LoadPlayerParty
special HealPlayerParty
- setvar VAR_0x8004, 6
- setvar VAR_0x8005, 0
- special sub_8161F74
+ tower_save 0
playse SE_SAVE
waitse
- call BattleFrontier_BattleTowerLobby_EventScript_23E8E0
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF
- message BattleFrontier_BattleTowerLobby_Text_23FE3C
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
+ message BattleFrontier_BattleTowerLobby_Text_RecordLastMatch
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 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 CallFrontierUtilFunc
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
+ case 0, BattleFrontier_EventScript_SaveBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
+
+BattleFrontier_EventScript_SaveBattle:: @ 823E8B4
+ frontier_savebattle
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_EventScript_BattleSaveFailed
playse SE_SAVE
- msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF
-
-BattleFrontier_BattleTowerLobby_EventScript_23E8D7:: @ 823E8D7
- msgbox gText_BattleRecordCouldntBeSaved, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_BattleRecordedOnPass, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
-BattleFrontier_BattleTowerLobby_EventScript_23E8DF:: @ 823E8DF
+BattleFrontier_EventScript_BattleSaveFailed:: @ 823E8D7
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle:: @ 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 CallFrontierUtilFunc
+BattleFrontier_EventScript_GetCantRecordBattle:: @ 823E8E0
+ frontier_get FRONTIER_DATA_RECORD_DISABLED
return
-BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
+BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge:: @ 823E8EE
lock
faceplayer
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E930
- message BattleFrontier_BattleTowerLobby_Text_23F737
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn
+ message BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou
waitmessage
- message BattleFrontier_BattleTowerLobby_Text_23F754
+ message BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved
waitmessage
- setvar VAR_0x8004, 6
- setvar VAR_0x8005, 1
- special sub_8161F74
+ tower_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
+ goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
-BattleFrontier_BattleTowerLobby_EventScript_23E930:: @ 823E930
- setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 1
+BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn:: @ 823E930
+ setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE
return
-BattleFrontier_BattleTowerLobby_EventScript_23E936:: @ 823E936
+BattleFrontier_BattleTowerLobby_EventScript_SinglesAttendant:: @ 823E936
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 0
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_240537, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948
- message BattleFrontier_BattleTowerLobby_Text_2405B3
+ msgbox BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_AskEnterSinglesChallenge:: @ 823E948
+ message BattleFrontier_BattleTowerLobby_Text_TakeSinglesChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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_FRONTIER_BATTLE_MODE, 0
- message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainSinglesChallenge
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+
+BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge:: @ 823E984
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleTowerLobby_Text_2407A6, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA2A
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
-BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
+BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge:: @ 823EA2A
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 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 CallFrontierUtilFunc
+ tower_init
+ tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
- incrementgamestat 30
- setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 1
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
+ setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE
+ goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
-BattleFrontier_BattleTowerLobby_EventScript_23EA91:: @ 823EA91
- msgbox BattleFrontier_BattleTowerLobby_Text_2405EC, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23E948
+BattleFrontier_BattleTowerLobby_EventScript_ExplainSinglesChallenge:: @ 823EA91
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterSinglesChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23EA9F:: @ 823EA9F
+BattleFrontier_BattleTowerLobby_EventScript_DoublesAttendant:: @ 823EA9F
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 0
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1
- message BattleFrontier_BattleTowerLobby_Text_24085E
+ msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeDoubleBattle, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_AskEnterDoublesChallenge:: @ 823EAB1
+ message BattleFrontier_BattleTowerLobby_Text_TakeDoublesChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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_FRONTIER_BATTLE_MODE, 1
- message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainDoublesChallenge
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+
+BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge:: @ 823EAED
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleTowerLobby_Text_240A50, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 4
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- case 1, BattleFrontier_BattleTowerLobby_EventScript_23EB93
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
-BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
+BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge:: @ 823EB93
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 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 CallFrontierUtilFunc
+ tower_init
+ tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
- incrementgamestat 30
- setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
+ setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
+ goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
-BattleFrontier_BattleTowerLobby_EventScript_23EBFA:: @ 823EBFA
- msgbox BattleFrontier_BattleTowerLobby_Text_240897, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23EAB1
+BattleFrontier_BattleTowerLobby_EventScript_ExplainDoublesChallenge:: @ 823EBFA
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterDoublesChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08
+BattleFrontier_BattleTowerLobby_EventScript_MultisAttendant:: @ 823EC08
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 0
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
clearflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D
- message BattleFrontier_BattleTowerLobby_Text_240B06
+ msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeMultiBattle, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_AskEnterMultisChallenge:: @ 823EC1D
+ message BattleFrontier_BattleTowerLobby_Text_TakeMultisChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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_FRONTIER_BATTLE_MODE, 2
- message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainMultisChallenge
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+
+BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge:: @ 823EC59
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleTowerLobby_Text_240DDB, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 2
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- case 1, BattleFrontier_BattleTowerLobby_EventScript_23ECFF
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
-BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
+BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge:: @ 823ECFF
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 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 CallFrontierUtilFunc
+ tower_init
+ tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
- incrementgamestat 30
- setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
+ setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
+ goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
-BattleFrontier_BattleTowerLobby_EventScript_23ED66:: @ 823ED66
- msgbox BattleFrontier_BattleTowerLobby_Text_240B3E, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23EC1D
+BattleFrontier_BattleTowerLobby_EventScript_ExplainMultisChallenge:: @ 823ED66
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMultisChallenge, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterMultisChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23ED74:: @ 823ED74
+BattleFrontier_BattleTowerLobby_EventScript_LinkMultisAttendant:: @ 823ED74
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 0
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_TOWER
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_240E15, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86
- message BattleFrontier_BattleTowerLobby_Text_240E95
+ msgbox BattleFrontier_BattleTowerLobby_Text_WelcomeLinkMultiBattle, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_AskEnterLinkMultisChallenge:: @ 823ED86
+ message BattleFrontier_BattleTowerLobby_Text_TakeLinkMultisChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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_FRONTIER_BATTLE_MODE, 3
- message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_ExplainLinkMultisChallenge
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+
+BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge:: @ 823EDC2
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ message BattleFrontier_BattleTowerLobby_Text_WhichLevelMode
waitmessage
- multichoice 17, 6, 24, 0
+ multichoice 17, 6, MULTI_LEVEL_MODE, 0
switch VAR_RESULT
- case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
- msgbox BattleFrontier_BattleTowerLobby_Text_24115E, MSGBOX_DEFAULT
- fadescreen 1
- call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
- setvar VAR_0x8005, 2
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
- case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- case 1, BattleFrontier_BattleTowerLobby_EventScript_23EE68
- case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ case YES, BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
-BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
+BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge:: @ 823EE68
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_TEMP_0, 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 CallFrontierUtilFunc
+ tower_init
+ tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
- setvar VAR_0x8004, 6
- setvar VAR_0x8005, 0
- special sub_8161F74
+ tower_save 0
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
- incrementgamestat 30
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8
- goto BattleFrontier_BattleTowerLobby_EventScript_23F2C5
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink
+ goto BattleFrontier_BattleTowerLobby_EventScript_TryCableLink
end
-BattleFrontier_BattleTowerLobby_EventScript_23EEE7:: @ 823EEE7
+BattleFrontier_BattleTowerLobby_EventScript_FeelingsMan:: @ 823EEE7
lock
faceplayer
- message BattleFrontier_BattleTowerLobby_Text_23F8CD
+ message BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower
waitmessage
- multichoice 16, 4, 109, 0
+ multichoice 16, 4, MULTI_BATTLE_TOWER_FEELINGS, 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
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost
+ case 3, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23EF32:: @ 823EF32
- msgbox BattleFrontier_BattleTowerLobby_Text_23F969, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FeelingsBattleNow:: @ 823EF32
+ msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_START
call Common_ShowEasyChatScreen
lock
faceplayer
- goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A
+ goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
-BattleFrontier_BattleTowerLobby_EventScript_23EF4C:: @ 823EF4C
- msgbox BattleFrontier_BattleTowerLobby_Text_23F9AA, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FeelingsIWon:: @ 823EF4C
+ msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_WON
call Common_ShowEasyChatScreen
lock
faceplayer
- goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A
+ goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
-BattleFrontier_BattleTowerLobby_EventScript_23EF66:: @ 823EF66
- msgbox BattleFrontier_BattleTowerLobby_Text_23F9D4, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FeelingsILost:: @ 823EF66
+ msgbox BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_LOST
call Common_ShowEasyChatScreen
lock
faceplayer
- goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A
+ goto BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings
end
-BattleFrontier_BattleTowerLobby_EventScript_23EF80:: @ 823EF80
- msgbox BattleFrontier_BattleTowerLobby_Text_23FA0F, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell:: @ 823EF80
+ msgbox BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23EF8A:: @ 823EF8A
+BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings:: @ 823EF8A
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings
end
-BattleFrontier_BattleTowerLobby_EventScript_23EFA1:: @ 823EFA1
- msgbox BattleFrontier_BattleTowerLobby_Text_23FA4F, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat:: @ 823EFA1
+ msgbox BattleFrontier_BattleTowerLobby_Text_ChangedYourMind, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23EFAB:: @ 823EFAB
- msgbox BattleFrontier_BattleTowerLobby_Text_23FA83, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings:: @ 823EFAB
+ msgbox BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23EFB5:: @ 823EFB5
- msgbox BattleFrontier_BattleTowerLobby_Text_23FAC0, MSGBOX_NPC
+BattleFrontier_BattleTowerLobby_EventScript_Woman:: @ 823EFB5
+ msgbox BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded, MSGBOX_NPC
end
-BattleFrontier_BattleTowerLobby_EventScript_23EFBE:: @ 823EFBE
- msgbox BattleFrontier_BattleTowerLobby_Text_23FB26, MSGBOX_NPC
+BattleFrontier_BattleTowerLobby_EventScript_Boy:: @ 823EFBE
+ msgbox BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins, MSGBOX_NPC
end
-BattleFrontier_BattleTowerLobby_EventScript_23EFC7:: @ 823EFC7
+BattleFrontier_BattleTowerLobby_EventScript_ShowSinglesResults:: @ 823EFC7
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleTowerLobby_EventScript_23EFE0:: @ 823EFE0
+BattleFrontier_BattleTowerLobby_EventScript_ShowDoublesResults:: @ 823EFE0
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleTowerLobby_EventScript_23EFF9:: @ 823EFF9
+BattleFrontier_BattleTowerLobby_EventScript_ShowMultisResults:: @ 823EFF9
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 2
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleTowerLobby_EventScript_23F012:: @ 823F012
+BattleFrontier_BattleTowerLobby_EventScript_ShowLinkMultisResults:: @ 823F012
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
+ frontier_results FRONTIER_FACILITY_TOWER, FRONTIER_MODE_LINK_MULTIS
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-BattleFrontier_BattleTowerLobby_EventScript_23F02B:: @ 823F02B
+BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons:: @ 823F02B
switch VAR_RESULT
- case 0, BattleFrontier_BattleTowerLobby_EventScript_23F046
- case 1, BattleFrontier_BattleTowerLobby_EventScript_23F08B
+ case FRONTIER_LVL_50, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen
-BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046
+BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50:: @ 823F046
switch VAR_FRONTIER_BATTLE_MODE
- case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F
- case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D
- msgbox BattleFrontier_BattleTowerLobby_Text_24038B, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles
+ case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles
+ msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F06F:: @ 823F06F
- msgbox BattleFrontier_BattleTowerLobby_Text_240027, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Singles:: @ 823F06F
+ msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D
- msgbox BattleFrontier_BattleTowerLobby_Text_2401DB, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLv50Doubles:: @ 823F07D
+ msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B
+BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 823F08B
switch VAR_FRONTIER_BATTLE_MODE
- case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4
- case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2
- msgbox BattleFrontier_BattleTowerLobby_Text_24046B, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ case FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles
+ case FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles
+ msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F0B4:: @ 823F0B4
- msgbox BattleFrontier_BattleTowerLobby_Text_24010B, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenSingles:: @ 823F0B4
+ msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F0C2:: @ 823F0C2
- msgbox BattleFrontier_BattleTowerLobby_Text_2402BD, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMonsLvOpenDoubles:: @ 823F0C2
+ msgbox BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F0D0:: @ 823F0D0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed:: @ 823F0D0
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS @ No status provided, so it relies on VAR_0x8006 being 0 already
+ goto BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3
+BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge:: @ 823F0E3
special LoadPlayerParty
-
-BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6
+BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge:: @ 823F0E6
special CloseLink
- msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT
-
-BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1
+ msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_EndCancelChallenge:: @ 823F0F1
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23F0F3:: @ 823F0F3
+BattleFrontier_BattleTowerLobby_EventScript_EnterElevator:: @ 823F0F3
special SavePlayerParty
- setvar VAR_0x8004, 3
- call BattleFrontier_BattleTowerLobby_EventScript_23F272
+ setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_PARTY_ORDER
+ call BattleFrontier_BattleTowerLobby_EventScript_GetPartySize
special CallFrontierUtilFunc
setvar VAR_RESULT, 0
-
-BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108
- setvar VAR_0x8004, 12
- special sub_8161F74
+BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad:: @ 823F108
+ tower_loadlinkopponents
delay 1
compare VAR_RESULT, 6
- goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23F108
- call BattleFrontier_BattleTowerLobby_EventScript_23F135
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad
+ call BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom
clearflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
setvar VAR_TEMP_0, 0
waitstate
end
-BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135
- call BattleFrontier_BattleTowerLobby_EventScript_23F1A7
- compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F152
- msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F15B
+BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom:: @ 823F135
+ call BattleFrontier_BattleTowerLobby_EventScript_BufferModeText
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom
+ msgbox BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator
-BattleFrontier_BattleTowerLobby_EventScript_23F152:: @ 823F152
- messageautoscroll BattleFrontier_BattleTowerLobby_Text_23FE11
+BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom:: @ 823F152
+ messageautoscroll BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom
waitmessage
delay 48
-
-BattleFrontier_BattleTowerLobby_EventScript_23F15B:: @ 823F15B
+BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator:: @ 823F15B
closemessage
- call BattleFrontier_BattleTowerLobby_EventScript_23F1E8
- call BattleFrontier_BattleTowerLobby_EventScript_23F22D
- applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F195
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F195
+ call BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo
+ call BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator
waitmovement 0
opendoor VAR_0x8004, 1
waitdooranim
- applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F199
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F19C
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator
waitmovement 0
closedoor VAR_0x8004, 1
waitdooranim
return
-BattleFrontier_BattleTowerLobby_Movement_23F195: @ 823F195
+BattleFrontier_BattleTowerLobby_Movement_WalkToElevator: @ 823F195
walk_up
walk_up
walk_up
step_end
-BattleFrontier_BattleTowerLobby_Movement_23F199: @ 823F199
+BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator: @ 823F199
walk_up
set_invisible
step_end
-BattleFrontier_BattleTowerLobby_Movement_23F19C: @ 823F19C
+BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator: @ 823F19C
walk_up
walk_up
set_invisible
step_end
-BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0
+@ Unused
+BattleFrontier_BattleTowerLobby_Movement_UnusedEnterElevator: @ 823F1A0
walk_fast_up
walk_fast_up
walk_fast_up
@@ -804,362 +667,352 @@ BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0
set_invisible
step_end
-BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D4
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D9
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1DE
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1E3
+BattleFrontier_BattleTowerLobby_EventScript_BufferModeText:: @ 823F1A7
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti
return
-BattleFrontier_BattleTowerLobby_EventScript_23F1D4:: @ 823F1D4
- bufferstdstring 0, 19
+BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle:: @ 823F1D4
+ bufferstdstring 0, STDSTRING_SINGLE
return
-BattleFrontier_BattleTowerLobby_EventScript_23F1D9:: @ 823F1D9
- bufferstdstring 0, 20
+BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble:: @ 823F1D9
+ bufferstdstring 0, STDSTRING_DOUBLE
return
-BattleFrontier_BattleTowerLobby_EventScript_23F1DE:: @ 823F1DE
- bufferstdstring 0, 21
+BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti:: @ 823F1DE
+ bufferstdstring 0, STDSTRING_MULTI
return
-BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3
- bufferstdstring 0, 22
+BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti:: @ 823F1E3
+ bufferstdstring 0, STDSTRING_MULTI_LINK
return
-BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F215
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F21B
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F221
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F227
+BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo:: @ 823F1E8
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant
return
-BattleFrontier_BattleTowerLobby_EventScript_23F215:: @ 823F215
+BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant:: @ 823F215
setvar VAR_LAST_TALKED, 1
return
-BattleFrontier_BattleTowerLobby_EventScript_23F21B:: @ 823F21B
+BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant:: @ 823F21B
setvar VAR_LAST_TALKED, 7
return
-BattleFrontier_BattleTowerLobby_EventScript_23F221:: @ 823F221
+BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant:: @ 823F221
setvar VAR_LAST_TALKED, 8
return
-BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227
+BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant:: @ 823F227
setvar VAR_LAST_TALKED, 9
return
-BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F25A
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F260
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F266
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F26C
+BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord:: @ 823F22D
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis
return
-BattleFrontier_BattleTowerLobby_EventScript_23F25A:: @ 823F25A
+BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles:: @ 823F25A
setvar VAR_0x8004, 6
return
-BattleFrontier_BattleTowerLobby_EventScript_23F260:: @ 823F260
+BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles:: @ 823F260
setvar VAR_0x8004, 10
return
-BattleFrontier_BattleTowerLobby_EventScript_23F266:: @ 823F266
+BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis:: @ 823F266
setvar VAR_0x8004, 14
return
-BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C
+BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis:: @ 823F26C
setvar VAR_0x8004, 18
return
-BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272
- compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F29F
- compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2A5
- compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2AB
- compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2B1
+BattleFrontier_BattleTowerLobby_EventScript_GetPartySize:: @ 823F272
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize
return
-BattleFrontier_BattleTowerLobby_EventScript_23F29F:: @ 823F29F
- setvar VAR_0x8005, 3
+BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize:: @ 823F29F
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
return
-BattleFrontier_BattleTowerLobby_EventScript_23F2A5:: @ 823F2A5
- setvar VAR_0x8005, 4
+BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize:: @ 823F2A5
+ setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE
return
-BattleFrontier_BattleTowerLobby_EventScript_23F2AB:: @ 823F2AB
- setvar VAR_0x8005, 2
+BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize:: @ 823F2AB
+ setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
return
-BattleFrontier_BattleTowerLobby_EventScript_23F2B1:: @ 823F2B1
- setvar VAR_0x8005, 2
+BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize:: @ 823F2B1
+ setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
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 CallFrontierUtilFunc
+BattleFrontier_EventScript_GetLvlMode:: @ 823F2B7
+ frontier_get FRONTIER_DATA_LVL_MODE
return
-BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5
- setvar VAR_0x8004, 9
+BattleFrontier_BattleTowerLobby_EventScript_TryCableLink:: @ 823F2C5
+ setvar VAR_0x8004, USING_BATTLE_TOWER
message gText_PleaseWaitForLink
waitmessage
setvar VAR_0x8005, 0
- special sub_80B2DA4
+ special TryBattleLinkup
waitstate
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2
+ goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
compare VAR_RESULT, 3
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F327
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections
compare VAR_RESULT, 4
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F351
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers
compare VAR_RESULT, 5
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
compare VAR_RESULT, 6
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5
+ goto_if_eq CableClub_EventScript_AbortLinkConnectionError
compare VAR_RESULT, 11
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
end
-BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327
+BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections:: @ 823F327
special CloseLink
compare VAR_0x8005, 3
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F
- msgbox BattleFrontier_BattleTowerLobby_Text_278255, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection
+ msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23F33F:: @ 823F33F
- msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, MSGBOX_DEFAULT
- msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection:: @ 823F33F
+ msgbox BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351
- msgbox BattleFrontier_BattleTowerLobby_Text_241240, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers:: @ 823F351
+ msgbox BattleFrontier_BattleTowerLobby_Text_LinkMultiOnlyForTwoPlayers, MSGBOX_DEFAULT
special CloseLink
- msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, MSGBOX_DEFAULT
+ msgbox CableClub_Text_IncorrectNumberOfParticipants, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366
+BattleFrontier_BattleTowerLobby_EventScript_AbortLink:: @ 823F366
special CloseLink
compare VAR_0x8005, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F394
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode
compare VAR_0x8005, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F39D
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon
compare VAR_0x8005, 2
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3A6
- msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons
+ msgbox BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_23F394:: @ 823F394
- msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode:: @ 823F394
+ msgbox BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode, MSGBOX_DEFAULT
return
-BattleFrontier_BattleTowerLobby_EventScript_23F39D:: @ 823F39D
- msgbox BattleFrontier_BattleTowerLobby_Text_241285, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon:: @ 823F39D
+ msgbox BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMon, MSGBOX_DEFAULT
return
-BattleFrontier_BattleTowerLobby_EventScript_23F3A6:: @ 823F3A6
- msgbox BattleFrontier_BattleTowerLobby_Text_2412B3, MSGBOX_DEFAULT
+BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons:: @ 823F3A6
+ msgbox BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMons, MSGBOX_DEFAULT
return
-BattleFrontier_BattleTowerLobby_EventScript_23F3AF:: @ 823F3AF
- incrementgamestat 30
- setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
- message BattleFrontier_BattleTowerLobby_Text_24144D
+BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful:: @ 823F3AF
+ incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
+ setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
+ message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn
waitmessage
- setvar VAR_0x8004, 6
- setvar VAR_0x8005, 1
- special sub_8161F74
+ tower_save CHALLENGE_STATUS_SAVING
special sub_80A08CC
waitstate
playse SE_SAVE
waitse
- special sub_80B3BC4
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ special TrySetBattleTowerLinkType
+ goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
-BattleFrontier_BattleTowerLobby_EventScript_23F3DA:: @ 823F3DA
- msgbox BattleFrontier_BattleTowerLobby_Text_240ED2, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23ED86
+BattleFrontier_BattleTowerLobby_EventScript_ExplainLinkMultisChallenge:: @ 823F3DA
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainLinkMultisChallenge, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_AskEnterLinkMultisChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F3E8:: @ 823F3E8
- setvar VAR_0x8004, 20
- goto BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink:: @ 823F3E8
+ setvar VAR_0x8004, LINK_GROUP_BATTLE_TOWER
+ goto BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
end
-BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3
- message BattleFrontier_BattleTowerLobby_Text_2792CD
+BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader:: @ 823F3F3
+ message CableClub_Text_ChooseGroupLeaderOfTwo
waitmessage
- multichoice 16, 6, 81, 0
+ multichoice 16, 6, MULTI_LINK_LEADER, 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
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
end
-BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430
- call BattleFrontier_BattleTowerLobby_EventScript_277B30
+BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader:: @ 823F430
+ call CableClub_EventScript_TryBecomeLinkLeader
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
compare VAR_RESULT, 5
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
compare VAR_RESULT, 8
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F430
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader
compare VAR_RESULT, 11
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
release
return
-BattleFrontier_BattleTowerLobby_EventScript_23F463:: @ 823F463
- call BattleFrontier_BattleTowerLobby_EventScript_277B35
+BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup:: @ 823F463
+ call CableClub_EventScript_TryJoinLinkGroup
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
compare VAR_RESULT, 5
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
compare VAR_RESULT, 8
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F463
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup
compare VAR_RESULT, 11
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
release
return
-BattleFrontier_BattleTowerLobby_EventScript_23F496:: @ 823F496
- incrementgamestat 30
- setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
- message BattleFrontier_BattleTowerLobby_Text_24144D
+BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful:: @ 823F496
+ incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
+ setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
+ message BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn
waitmessage
- setvar VAR_0x8004, 6
- setvar VAR_0x8005, 1
- special sub_8161F74
+ tower_save CHALLENGE_STATUS_SAVING
special sub_80A08CC
waitstate
playse SE_SAVE
waitse
- goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
end
-BattleFrontier_BattleTowerLobby_EventScript_23F4BE:: @ 823F4BE
+BattleFrontier_BattleTowerLobby_EventScript_RulesBoard:: @ 823F4BE
lockall
- msgbox BattleFrontier_BattleTowerLobby_Text_241540, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+ msgbox BattleFrontier_BattleTowerLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleTowerLobby_EventScript_23F4CD:: @ 823F4CD
- message BattleFrontier_BattleTowerLobby_Text_241563
+BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard:: @ 823F4CD
+ message BattleFrontier_BattleTowerLobby_Text_ReadWhichHeading
waitmessage
- multichoice 17, 2, 97, 0
+ multichoice 17, 2, MULTI_BATTLE_TOWER_RULES, 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
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_RulesTower
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_RulesMons
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_RulesSalon
+ case 3, BattleFrontier_BattleTowerLobby_EventScript_RulesMultiLink
+ case 4, BattleFrontier_BattleTowerLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_ExitRules
end
-BattleFrontier_BattleTowerLobby_EventScript_23F520:: @ 823F520
- msgbox BattleFrontier_BattleTowerLobby_Text_241586, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+BattleFrontier_BattleTowerLobby_EventScript_RulesTower:: @ 823F520
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainTowerRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleTowerLobby_EventScript_23F52E:: @ 823F52E
- msgbox BattleFrontier_BattleTowerLobby_Text_241693, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+BattleFrontier_BattleTowerLobby_EventScript_RulesMons:: @ 823F52E
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMonRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleTowerLobby_EventScript_23F53C:: @ 823F53C
- msgbox BattleFrontier_BattleTowerLobby_Text_241777, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+BattleFrontier_BattleTowerLobby_EventScript_RulesSalon:: @ 823F53C
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainSalonRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleTowerLobby_EventScript_23F54A:: @ 823F54A
- msgbox BattleFrontier_BattleTowerLobby_Text_24187E, MSGBOX_DEFAULT
- goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+BattleFrontier_BattleTowerLobby_EventScript_RulesMultiLink:: @ 823F54A
+ msgbox BattleFrontier_BattleTowerLobby_Text_ExplainMultiLinkRules, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerLobby_EventScript_ReadRulesBoard
end
-BattleFrontier_BattleTowerLobby_EventScript_23F558:: @ 823F558
+BattleFrontier_BattleTowerLobby_EventScript_ExitRules:: @ 823F558
releaseall
end
-BattleFrontier_BattleTowerLobby_EventScript_23F55A: @ 823F55A
+@ Unused
+BattleFrontier_BattleTowerLobby_EventScript_DirectYouToBattleRoom: @ 823F55A
.string "I'll direct you to your BATTLE ROOM now.$"
-BattleFrontier_BattleTowerLobby_Text_23F583: @ 823F583
+BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting: @ 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
+BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven: @ 823F60D
.string "Congratulations!\n"
.string "You've beaten all seven TRAINERS!\p"
.string "$"
-BattleFrontier_BattleTowerLobby_Text_23F641: @ 823F641
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_EarnedFabulousPrize: @ 823F641
.string "For beating seven TRAINERS in a row,\n"
.string "you have earned this fabulous prize!\p"
.string "$"
-SlateportCity_BattleTentLobby_Text_23F68C: @ 823F68C
+BattleFrontier_BattleTowerLobby_Text_ReceivedPrize: @ 823F68C
.string "{PLAYER} received the prize\n"
.string "{STR_VAR_1}.$"
-SlateportCity_BattleTentLobby_Text_23F6A6: @ 823F6A6
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_BagFullMakeRoom: @ 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
+BattleFrontier_BattleTowerLobby_Text_ThankYouForPlaying: @ 823F6F7
.string "Thank you for playing!\p"
.string "$"
-BattleFrontier_BattleTowerLobby_Text_23F70F: @ 823F70F
+BattleFrontier_BattleTowerLobby_Text_RecordWillBeSaved: @ 823F70F
.string "Your record will be saved.\n"
.string "Please wait.$"
-BattleFrontier_BattleTowerLobby_Text_23F737: @ 823F737
+BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou: @ 823F737
.string "We've been waiting for you!\p"
.string "$"
-BattleFrontier_BattleTowerLobby_Text_23F754: @ 823F754
+BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved: @ 823F754
.string "Before entering a BATTLE ROOM, your\n"
.string "progress will be saved. Please wait.$"
-BattleFrontier_BattleTowerLobby_Text_23F79D: @ 823F79D
+BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer: @ 823F79D
.string "You're finally about to face the\n"
.string "50th TRAINER.\p"
.string "From here on, every time you beat seven\n"
@@ -1167,61 +1020,62 @@ BattleFrontier_BattleTowerLobby_Text_23F79D: @ 823F79D
.string "receive a commemorative RIBBON.\p"
.string "Good luck!$"
-BattleFrontier_BattleTowerLobby_Text_23F844: @ 823F844
+BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons: @ 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
+BattleFrontier_BattleTowerLobby_Text_PutRibbonOnMons: @ 823F89F
.string "{PLAYER} put the RIBBONS on\n"
.string "the challenger POKéMON.$"
-BattleFrontier_BattleTowerLobby_Text_23F8CD: @ 823F8CD
+BattleFrontier_BattleTowerLobby_Text_DescribeFeelingsAboutBattleTower: @ 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
+BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouBegin: @ 823F969
.string "Okay, what are your feelings when\n"
.string "you're about to begin a match?$"
-BattleFrontier_BattleTowerLobby_Text_23F9AA: @ 823F9AA
+BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveWon: @ 823F9AA
.string "What do you feel when you've won\n"
.string "a match?$"
-BattleFrontier_BattleTowerLobby_Text_23F9D4: @ 823F9D4
+BattleFrontier_BattleTowerLobby_Text_FeelWhatWhenYouveLost: @ 823F9D4
.string "Can I hear about your feelings when\n"
.string "you have lost a match?$"
-BattleFrontier_BattleTowerLobby_Text_23FA0F: @ 823FA0F
+BattleFrontier_BattleTowerLobby_Text_DontThinkMuchAboutIt: @ 823FA0F
.string "Oh, so you don't think much about it?\n"
.string "You're one cool customer.$"
-BattleFrontier_BattleTowerLobby_Text_23FA4F: @ 823FA4F
+BattleFrontier_BattleTowerLobby_Text_ChangedYourMind: @ 823FA4F
.string "Hunh? You changed your mind?\n"
.string "I guess you're fickle.$"
-BattleFrontier_BattleTowerLobby_Text_23FA83: @ 823FA83
+BattleFrontier_BattleTowerLobby_Text_ThatsHowYouFeel: @ 823FA83
.string "Okay, so that's how you feel?\n"
.string "That's quite original.\p"
.string "Thanks!$"
-BattleFrontier_BattleTowerLobby_Text_23FAC0: @ 823FAC0
+BattleFrontier_BattleTowerLobby_Text_WinsInRowRecorded: @ 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
+BattleFrontier_BattleTowerLobby_Text_CanLeaveUntilLossOrSevenWins: @ 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
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_DoubleBattleRoomConstruction: @ 823FBCE
.string "Welcome to the BATTLE TOWER\n"
.string "DOUBLE BATTLE CORNER!\p"
.string "Unfortunately, the BATTLE ROOMS\n"
@@ -1229,7 +1083,8 @@ BattleFrontier_BattleTowerLobby_Text_23FBCE: @ 823FBCE
.string "Please come back when the work\n"
.string "is completed.$"
-BattleFrontier_BattleTowerLobby_Text_23FC6B: @ 823FC6B
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_MultiBattleRoomConstruction: @ 823FC6B
.string "Welcome to the BATTLE TOWER\n"
.string "MULTI BATTLE CORNER!\p"
.string "Unfortunately, the BATTLE ROOMS\n"
@@ -1237,32 +1092,34 @@ BattleFrontier_BattleTowerLobby_Text_23FC6B: @ 823FC6B
.string "Please come back when the work\n"
.string "is completed.$"
-BattleFrontier_BattleTowerLobby_Text_23FD07: @ 823FD07
+BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge: @ 823FD07
.string "We look forward to seeing you on\n"
.string "another challenge!$"
-BattleFrontier_BattleTowerLobby_Text_23FD3B: @ 823FD3B
+BattleFrontier_BattleTowerLobby_Text_WhichLevelMode: @ 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
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_PleaseSelectMons: @ 823FD9A
.string "Please select the POKéMON you wish\n"
.string "to enter.$"
-BattleFrontier_BattleTowerLobby_Text_23FDC7: @ 823FDC7
+BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering: @ 823FDC7
.string "Before entering a BATTLE ROOM, your\n"
.string "progress must be saved. Is that okay?$"
-BattleFrontier_BattleTowerLobby_Text_23FE11: @ 823FE11
+BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom: @ 823FE11
.string "I will now show you to the\n"
.string "{STR_VAR_1} BATTLE ROOM.$"
-BattleFrontier_BattleTowerLobby_Text_23FE3C: @ 823FE3C
+BattleFrontier_BattleTowerLobby_Text_RecordLastMatch: @ 823FE3C
.string "Shall I record your last BATTLE TOWER\n"
.string "match on your FRONTIER PASS?$"
-BattleFrontier_BattleTowerLobby_Text_23FE7F: @ 823FE7F
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50: @ 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"
@@ -1272,7 +1129,8 @@ BattleFrontier_BattleTowerLobby_Text_23FE7F: @ 823FE7F
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_23FF5D: @ 823FF5D
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpen: @ 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"
@@ -1282,7 +1140,7 @@ BattleFrontier_BattleTowerLobby_Text_23FF5D: @ 823FF5D
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_240027: @ 8240027
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Singles: @ 8240027
.string "Excuse me!\p"
.string "You don't have three eligible POKéMON.\p"
.string "You must have three different POKéMON\n"
@@ -1292,7 +1150,7 @@ BattleFrontier_BattleTowerLobby_Text_240027: @ 8240027
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_24010B: @ 824010B
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenSingles: @ 824010B
.string "Excuse me!\p"
.string "You don't have three eligible POKéMON.\p"
.string "You must have three different POKéMON\n"
@@ -1302,7 +1160,7 @@ BattleFrontier_BattleTowerLobby_Text_24010B: @ 824010B
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_2401DB: @ 82401DB
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Doubles: @ 82401DB
.string "Excuse me!\p"
.string "You don't have four eligible POKéMON.\p"
.string "You must have four different POKéMON\n"
@@ -1312,7 +1170,7 @@ BattleFrontier_BattleTowerLobby_Text_2401DB: @ 82401DB
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_2402BD: @ 82402BD
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenDoubles: @ 82402BD
.string "Excuse me!\p"
.string "You don't have four eligible POKéMON.\p"
.string "You must have four different POKéMON\n"
@@ -1322,7 +1180,7 @@ BattleFrontier_BattleTowerLobby_Text_2402BD: @ 82402BD
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_24038B: @ 824038B
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLv50Multis: @ 824038B
.string "Excuse me!\p"
.string "You don't have two eligible POKéMON.\p"
.string "You must have two different POKéMON\n"
@@ -1332,7 +1190,7 @@ BattleFrontier_BattleTowerLobby_Text_24038B: @ 824038B
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_24046B: @ 824046B
+BattleFrontier_BattleTowerLobby_Text_NotEnoughValidMonsLvOpenMultis: @ 824046B
.string "Excuse me!\p"
.string "You don't have two eligible POKéMON.\p"
.string "You must have two different POKéMON\n"
@@ -1342,18 +1200,18 @@ BattleFrontier_BattleTowerLobby_Text_24046B: @ 824046B
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when you are ready.$"
-BattleFrontier_BattleTowerLobby_Text_240537: @ 8240537
+BattleFrontier_BattleTowerLobby_Text_WelcomSingleBattle: @ 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
+BattleFrontier_BattleTowerLobby_Text_TakeSinglesChallenge: @ 82405B3
.string "Would you like to take the SINGLE\n"
.string "BATTLE ROOM challenge?$"
-BattleFrontier_BattleTowerLobby_Text_2405EC: @ 82405EC
+BattleFrontier_BattleTowerLobby_Text_ExplainSinglesChallenge: @ 82405EC
.string "The BATTLE TOWER's SINGLE BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "SINGLE BATTLES with three POKéMON.\p"
@@ -1368,22 +1226,22 @@ BattleFrontier_BattleTowerLobby_Text_2405EC: @ 82405EC
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattleTowerLobby_Text_2407A6: @ 82407A6
+BattleFrontier_BattleTowerLobby_Text_SelectThreeMons: @ 82407A6
.string "Now please select the three POKéMON\n"
.string "that are to be entered.$"
-BattleFrontier_BattleTowerLobby_Text_2407E2: @ 82407E2
+BattleFrontier_BattleTowerLobby_Text_WelcomeDoubleBattle: @ 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
+BattleFrontier_BattleTowerLobby_Text_TakeDoublesChallenge: @ 824085E
.string "Would you like to take the DOUBLE\n"
.string "BATTLE ROOM challenge?$"
-BattleFrontier_BattleTowerLobby_Text_240897: @ 8240897
+BattleFrontier_BattleTowerLobby_Text_ExplainDoublesChallenge: @ 8240897
.string "The BATTLE TOWER's DOUBLE BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "DOUBLE BATTLES with four POKéMON.\p"
@@ -1398,22 +1256,22 @@ BattleFrontier_BattleTowerLobby_Text_240897: @ 8240897
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattleTowerLobby_Text_240A50: @ 8240A50
+BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons: @ 8240A50
.string "Now please select the four POKéMON\n"
.string "that are to be entered.$"
-BattleFrontier_BattleTowerLobby_Text_240A8B: @ 8240A8B
+BattleFrontier_BattleTowerLobby_Text_WelcomeMultiBattle: @ 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
+BattleFrontier_BattleTowerLobby_Text_TakeMultisChallenge: @ 8240B06
.string "Would you like to take the MULTI\n"
.string "BATTLE ROOM challenge?$"
-BattleFrontier_BattleTowerLobby_Text_240B3E: @ 8240B3E
+BattleFrontier_BattleTowerLobby_Text_ExplainMultisChallenge: @ 8240B3E
.string "The BATTLE TOWER's MULTI BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "MULTI BATTLES.\p"
@@ -1436,22 +1294,22 @@ BattleFrontier_BattleTowerLobby_Text_240B3E: @ 8240B3E
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
-BattleFrontier_BattleTowerLobby_Text_240DDB: @ 8240DDB
+BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons: @ 8240DDB
.string "Now please select the two POKéMON\n"
.string "that are to be entered.$"
-BattleFrontier_BattleTowerLobby_Text_240E15: @ 8240E15
+BattleFrontier_BattleTowerLobby_Text_WelcomeLinkMultiBattle: @ 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
+BattleFrontier_BattleTowerLobby_Text_TakeLinkMultisChallenge: @ 8240E95
.string "Would you like to take the LINK MULTI\n"
.string "BATTLE ROOM challenge?$"
-BattleFrontier_BattleTowerLobby_Text_240ED2: @ 8240ED2
+BattleFrontier_BattleTowerLobby_Text_ExplainLinkMultisChallenge: @ 8240ED2
.string "The BATTLE TOWER's MULTI BATTLE\n"
.string "ROOMS are facilities for conducting\l"
.string "MULTI BATTLES with a friend.\p"
@@ -1472,79 +1330,76 @@ BattleFrontier_BattleTowerLobby_Text_240ED2: @ 8240ED2
.string "Once you start, you must battle seven\n"
.string "MULTI BATTLES in a row nonstop.$"
-BattleFrontier_BattleTowerLobby_Text_24115E: @ 824115E
+BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2: @ 824115E
.string "Now please select the two POKéMON\n"
.string "that are to be entered.$"
-BattleFrontier_BattleTowerLobby_Text_241198: @ 8241198
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_ChoseSameMonAsFriend: @ 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
+BattleFrontier_BattleTowerLobby_Text_LinkMultiOnlyForTwoPlayers: @ 8241240
.string "The LINK MULTI BATTLE ROOM challenge\n"
.string "is only for two linked players.$"
-BattleFrontier_BattleTowerLobby_Text_241285: @ 8241285
+BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMon: @ 8241285
.string "Your friend has also selected\n"
.string "the POKéMON {STR_VAR_1}.$"
-BattleFrontier_BattleTowerLobby_Text_2412B3: @ 82412B3
+BattleFrontier_BattleTowerLobby_Text_FriendAlsoSelectedMons: @ 82412B3
.string "Your friend has also selected the\n"
.string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$"
-BattleFrontier_BattleTowerLobby_Text_2412E8: @ 82412E8
+BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlMode: @ 82412E8
.string "Your friend has chosen a different\n"
.string "battle level.$"
-BattleFrontier_BattleTowerLobby_Text_241319: @ 8241319
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMon: @ 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
+@ Unused
+BattleFrontier_BattleTowerLobby_Text_FriendChoseDifferentLvlModeSameMons: @ 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
+BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode: @ 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
+BattleFrontier_BattleTowerLobby_Text_SaveGameBeforeShowingIn: @ 824144D
.string "I will save the game before\n"
.string "showing you in. Please wait.$"
-BattleFrontier_BattleTowerLobby_Text_241486: @ 8241486
+BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden: @ 8241486
.string "Congratulations!\n"
.string "You have defeated the SALON MAIDEN\l"
.string "and swept seven TRAINERS!$"
-BattleFrontier_BattleTowerLobby_Text_2414D4: @ 82414D4
+BattleFrontier_BattleTowerLobby_Text_AwardYouTheseBattlePoints: @ 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
+BattleFrontier_Text_ObtainedXBattlePoints: @ 8241520
.string "{PLAYER} obtained {STR_VAR_1} Battle Point(s).$"
-BattleFrontier_BattleTowerLobby_Text_241540: @ 8241540
+BattleFrontier_BattleTowerLobby_Text_RulesAreListed: @ 8241540
.string "The BATTLE TOWER rules are listed.$"
-BattleFrontier_BattleTowerLobby_Text_241563: @ 8241563
+BattleFrontier_BattleTowerLobby_Text_ReadWhichHeading: @ 8241563
.string "Which heading do you want to read?$"
-BattleFrontier_BattleTowerLobby_Text_241586: @ 8241586
+BattleFrontier_BattleTowerLobby_Text_ExplainTowerRules: @ 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"
@@ -1554,7 +1409,7 @@ BattleFrontier_BattleTowerLobby_Text_241586: @ 8241586
.string "Please speak with a guide offering\n"
.string "the type of battle you wish to enter.$"
-BattleFrontier_BattleTowerLobby_Text_241693: @ 8241693
+BattleFrontier_BattleTowerLobby_Text_ExplainMonRules: @ 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"
@@ -1563,7 +1418,7 @@ BattleFrontier_BattleTowerLobby_Text_241693: @ 8241693
.string "The DOUBLE BATTLE mode requires four,\n"
.string "and the MULTI modes both require two.$"
-BattleFrontier_BattleTowerLobby_Text_241777: @ 8241777
+BattleFrontier_BattleTowerLobby_Text_ExplainSalonRules: @ 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"
@@ -1573,7 +1428,7 @@ BattleFrontier_BattleTowerLobby_Text_241777: @ 8241777
.string "You may choose a new tag partner\n"
.string "after winning seven straight matches.$"
-BattleFrontier_BattleTowerLobby_Text_24187E: @ 824187E
+BattleFrontier_BattleTowerLobby_Text_ExplainMultiLinkRules: @ 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"
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json
index f3b080732..842da9c00 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json
@@ -1,7 +1,7 @@
{
"id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM",
"name": "BattleFrontier_BattleTowerMultiBattleRoom",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM",
+ "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM",
"music": "MUS_SATTOWER",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
@@ -9,127 +9,88 @@
"map_type": "MAP_TYPE_INDOOR",
"allow_bike": false,
"allow_escape_rope": false,
- "allow_running": true,
+ "allow_running": false,
"show_map_name": false,
- "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "battle_scene": "MAP_BATTLE_SCENE_FRONTIER",
"connections": null,
"object_events": [
{
- "graphics_id": "EVENT_OBJ_GFX_TEALA",
- "x": 11,
- "y": 2,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
- "movement_range_x": 1,
- "movement_range_y": 1,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A",
- "flag": "0"
- },
- {
"graphics_id": "EVENT_OBJ_GFX_VAR_0",
- "x": 2,
- "y": 10,
+ "x": 5,
+ "y": 1,
"elevation": 3,
- "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
- "movement_range_x": 1,
- "movement_range_y": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1"
+ "script": "0x0",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT"
},
{
- "graphics_id": "EVENT_OBJ_GFX_VAR_1",
- "x": 17,
- "y": 11,
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 1,
+ "y": 4,
"elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
- "movement_range_x": 1,
- "movement_range_y": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2"
+ "script": "0x0",
+ "flag": "0"
},
{
- "graphics_id": "EVENT_OBJ_GFX_VAR_2",
- "x": 6,
- "y": 9,
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 1,
+ "y": 5,
"elevation": 3,
- "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
- "movement_range_x": 1,
- "movement_range_y": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3"
+ "script": "0x0",
+ "flag": "0"
},
{
- "graphics_id": "EVENT_OBJ_GFX_VAR_3",
- "x": 8,
- "y": 13,
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 4,
+ "y": 1,
"elevation": 3,
- "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
- "movement_range_x": 1,
- "movement_range_y": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4"
+ "script": "0x0",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT"
},
{
- "graphics_id": "EVENT_OBJ_GFX_VAR_4",
- "x": 10,
- "y": 11,
+ "graphics_id": "EVENT_OBJ_GFX_VAR_F",
+ "x": 4,
+ "y": 8,
"elevation": 3,
"movement_type": "MOVEMENT_TYPE_FACE_UP",
- "movement_range_x": 1,
- "movement_range_y": 1,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5"
- },
- {
- "graphics_id": "EVENT_OBJ_GFX_VAR_5",
- "x": 13,
- "y": 10,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
- "movement_range_x": 1,
- "movement_range_y": 1,
- "trainer_type": "0",
- "trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6"
- },
- {
- "graphics_id": "EVENT_OBJ_GFX_VAR_6",
- "x": 15,
- "y": 13,
- "elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
- "movement_range_x": 1,
- "movement_range_y": 1,
+ "movement_range_x": 0,
+ "movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1"
+ "script": "0x0",
+ "flag": "0"
},
{
- "graphics_id": "EVENT_OBJ_GFX_VAR_7",
- "x": 4,
- "y": 12,
+ "graphics_id": "EVENT_OBJ_GFX_VAR_E",
+ "x": 5,
+ "y": 8,
"elevation": 3,
- "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
- "movement_range_x": 1,
- "movement_range_y": 1,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 0,
+ "movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049",
- "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2"
+ "script": "0x0",
+ "flag": "0"
}
],
"warp_events": [],
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
index f09166f5a..f991d5fe6 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
@@ -1,1820 +1,513 @@
-BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8243D92
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23
+BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8248EE8
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiBattleRoom_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_OnFrame
.byte 0
-BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7
- setvar VAR_0x8004, 17
- special CallBattlePyramidFunction
- end
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 5, which has the gfx id VAR_OBJ_GFX_ID_F
+ @ The multi partner is represented by object event 6, which has the gfx id VAR_OBJ_GFX_ID_E
-BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0
- goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA
- clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1
- clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2
- clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3
- clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4
- clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5
- clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6
- setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1
- setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2
- setvar VAR_0x8004, 10
- special sub_8161F74
+BattleFrontier_BattleTowerMultiBattleRoom_OnTransition: @ 8248EF8
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetObjGfx
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetLinkPlayerGfx
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA:: @ 8243DDA
- setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BOY_1
- setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_BOY_1
- setvar VAR_OBJ_GFX_ID_2, EVENT_OBJ_GFX_BOY_1
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_BOY_1
- setvar VAR_OBJ_GFX_ID_4, EVENT_OBJ_GFX_BOY_1
- setvar VAR_OBJ_GFX_ID_5, EVENT_OBJ_GFX_BOY_1
- setvar VAR_OBJ_GFX_ID_6, EVENT_OBJ_GFX_BOY_1
- setvar VAR_OBJ_GFX_ID_7, EVENT_OBJ_GFX_BOY_1
- setvar VAR_TEMP_1, 1
- setvar VAR_TEMP_3, 1
- setobjectxyperm 1, 10, 2
- end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetObjGfx:: @ 8248F0F
+ tower_setpartnergfx
+ checkplayergender
+ compare VAR_RESULT, FEMALE
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetPlayerGfxFemale
+ setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14
- map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E
- .2byte 0
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetPlayerGfxFemale:: @ 8248F29
+ setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E
- turnobject EVENT_OBJ_ID_PLAYER, 2
- end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetLinkPlayerGfx:: @ 8248F2F
+ special SetBattleTowerLinkPlayerGfx
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23
- map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41
- map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35
+BattleFrontier_BattleTowerMultiBattleRoom_OnWarp: @ 8248F33
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_HidePlayerObj
.2byte 0
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35
- lockall
- setvar VAR_TEMP_3, 0
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_HidePlayerObj:: @ 8248F3D
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41
- lockall
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75
+BattleFrontier_BattleTowerMultiBattleRoom_OnFrame: @ 8248F43
+ map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_EnterRoom
+ .2byte 0
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_EnterRoom:: @ 8248F4D
+ setvar VAR_TEMP_0, 1
+ applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PlayerEnterRoom
+ applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PartnerEnterRoom
+ waitmovement 0
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ compare VAR_RESULT, 0
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter
+ applymovement 2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer
+ applymovement 3, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer
waitmovement 0
- applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77
+ applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant
+ applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant
waitmovement 0
- copyobjectxytoperm 1
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter:: @ 8248FB4
+ tower_setopponent
+ addobject 1
+ addobject 4
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Enter
+ applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Enter
waitmovement 0
- msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT
- special HealPlayerParty
- setvar VAR_TEMP_1, 1
- releaseall
- end
-
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75: @ 8243E75
- walk_down
- step_end
-
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77: @ 8243E77
- walk_left
- walk_in_place_fastest_down
- step_end
-
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A
- lock
- faceplayer
- message BattleFrontier_BattleTowerMultiBattleRoom_Text_244094
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoOpponentIntrosLink
+ tower_getopponentintro 0
+ delay 15
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft
+ waitmovement 0
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D
- msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, MSGBOX_DEFAULT
- release
- end
-
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D:: @ 8243E9D
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 6
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03
- end
-
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5
- msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244149, MSGBOX_DEFAULT
- closemessage
- applymovement 1, Common_Movement_WalkInPlaceUp
+ tower_getopponentintro 1
+ applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft
waitmovement 0
- opendoor 10, 1
- waitdooranim
- call BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4
- closedoor 10, 1
- waitdooranim
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
- waitstate
- releaseall
- end
+ msgbox gStringVar4, MSGBOX_DEFAULT
+ waitmessage
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoTowerBattle
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4:: @ 8243EE4
- applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoOpponentIntrosLink:: @ 8249026
+ tower_getopponentintro 0
+ delay 15
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft
waitmovement 0
- return
-
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EF6: @ 8243EF6
- applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E
+ messageautoscroll gStringVar4
+ waitmessage
+ delay 48
+ tower_getopponentintro 1
+ applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft
waitmovement 0
- return
-
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F08: @ 8243F08
- applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22
+ messageautoscroll gStringVar4
+ waitmessage
+ delay 48
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoTowerBattle:: @ 8249069
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle
+ switch VAR_RESULT
+ case B_OUTCOME_WON, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DefeatedOpponents
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost:: @ 824907E
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
+ tower_set TOWER_DATA_LVL_MODE
+ setvar VAR_0x8004, 3
+ special Script_TryGainNewFanFromCounter
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DefeatedOpponents:: @ 82490AA
+ call BattleFrontier_EventScript_IncrementWinStreak
+ tower_setbattlewon
+ switch VAR_RESULT
+ case 7, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyWon
+ applymovement 4, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Exit
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Exit
waitmovement 0
- return
-
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A: @ 8243F1A
- walk_up
- walk_up
- set_invisible
- step_end
+ removeobject 1
+ removeobject 4
+ applymovement 2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer
+ applymovement 3, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer
+ waitmovement 0
+ applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant
+ applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant
+ waitmovement 0
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RestoreParty
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E: @ 8243F1E
- walk_right
- walk_up
- set_invisible
- step_end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink:: @ 8249118
+ messageautoscroll BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth
+ waitmessage
+ delay 48
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RestoreParty:: @ 8249121
+ special LoadPlayerParty
+ frontier_setpartyorder FRONTIER_MULTI_PARTY_SIZE
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_249514
+ playfanfare MUS_ME_ASA
+ waitfanfare
+ special HealPlayerParty
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents:: @ 8249143
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ call BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSet
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge
+ call BattleFrontier_EventScript_GetCantRecordBattle
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsNoRecord
+ multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattle
+ case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskPauseChallenge
+ case 3, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsNoRecord:: @ 82491B1
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskPauseChallenge
+ case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22: @ 8243F22
- walk_left
- walk_up
- set_invisible
- step_end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattle:: @ 82491E7
+ message BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle
+ waitmessage
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+ case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RecordBattle
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26: @ 8243F26
- walk_up
- set_invisible
- step_end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RecordBattle:: @ 8249219
+ call BattleFrontier_EventScript_SaveBattle
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29
- lock
- faceplayer
- setvar VAR_TEMP_2, 0
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
- end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskPauseChallenge:: @ 8249223
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
+ switch VAR_RESULT
+ case NO, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+ case YES, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36
- goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, 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
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallenge:: @ 8249251
+ message BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 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
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+ case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge:: @ 8249283
closemessage
- compare VAR_FACING, 1
- call_if_ne BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4
- compare VAR_FACING, 1
- call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF
- removeobject VAR_LAST_TALKED
- setflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 3
- waitstate
- release
+ clearflag FLAG_TEMP_2
+ applymovement 5, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle
+ applymovement 6, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos
+ applymovement 3, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos
+ waitmovement 0
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3:: @ 8243FC3
- setvar VAR_0x8004, 11
- setvar VAR_0x8005, 4
- special sub_8161F74
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyWon:: @ 82492AF
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
+ tower_set TOWER_DATA_LVL_MODE
+ setvar VAR_0x8004, 3
+ special Script_TryGainNewFanFromCounter
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_PauseChallenge:: @ 82492DB
+ message BattleFrontier_BattleTowerBattleRoom_Text_SavingPleaseWait
waitmessage
- waitbuttonpress
- release
+ tower_save CHALLENGE_STATUS_PAUSED
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ frontier_reset
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4:: @ 8243FD4
- applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA
- waitmovement 0
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSet:: @ 82492FD
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSetLink
+ copyvar VAR_TEMP_F, VAR_RESULT
+ switch VAR_TEMP_F
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSet
+ case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSet
+ case 3, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSet
+ case 4, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSet
+ case 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSet
+ case 6, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSet
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSet:: @ 8249354
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor2ndOpponentSet
+ waitmessage
return
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF:: @ 8243FDF
- applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2
- waitmovement 0
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSet:: @ 824935B
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor3rdOpponentSet
+ waitmessage
return
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA: @ 8243FEA
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- step_end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSet:: @ 8249362
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor4thOpponentSet
+ waitmessage
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2: @ 8243FF2
- walk_fast_left
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- walk_fast_up
- step_end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSet:: @ 8249369
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor5thOpponentSet
+ waitmessage
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB:: @ 8243FFB
- lock
- faceplayer
- setvar VAR_TEMP_2, 1
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
- end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSet:: @ 8249370
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor6thOpponentSet
+ waitmessage
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008:: @ 8244008
- lock
- faceplayer
- setvar VAR_TEMP_2, 2
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
- end
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSet:: @ 8249377
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor7thOpponentSet
+ waitmessage
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015:: @ 8244015
- lock
- faceplayer
- setvar VAR_TEMP_2, 3
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSetLink:: @ 824937E
+ copyvar VAR_TEMP_F, VAR_RESULT
+ switch VAR_TEMP_F
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSetLink
+ case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSetLink
+ case 3, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSetLink
+ case 4, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSetLink
+ case 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSetLink
+ case 6, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSetLink
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSetLink:: @ 82493CA
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor2ndOpponentSet
+ waitmessage
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022:: @ 8244022
- lock
- faceplayer
- setvar VAR_TEMP_2, 4
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor3rdOpponentSetLink:: @ 82493D6
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor3rdOpponentSet
+ waitmessage
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F:: @ 824402F
- lock
- faceplayer
- setvar VAR_TEMP_2, 5
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor4thOpponentSetLink:: @ 82493E2
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor4thOpponentSet
+ waitmessage
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C:: @ 824403C
- lock
- faceplayer
- setvar VAR_TEMP_2, 6
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor5thOpponentSetLink:: @ 82493EE
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor5thOpponentSet
+ waitmessage
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink
end
-BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049:: @ 8244049
- lock
- faceplayer
- setvar VAR_TEMP_2, 7
- goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor6thOpponentSetLink:: @ 82493FA
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor6thOpponentSet
+ waitmessage
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink
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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24419A:: @ 824419A
- .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
- .string "You can call me {STR_VAR_3}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2441CA:: @ 82441CA
- .string "On {STR_VAR_1}'s advice, I brought\n"
- .string "one {STR_VAR_3} with {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2441F7:: @ 82441F7
- .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Please, let me join you as a tag team.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24422E:: @ 824422E
- .string "Thank you!\n"
- .string "I'll go register right now.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244255:: @ 8244255
- .string "I really wanted to form a tag team\n"
- .string "with you, {PLAYER}…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244286:: @ 8244286
- .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
- .string "My name is {STR_VAR_3}.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2442B2:: @ 82442B2
- .string "I got advice from {STR_VAR_1} and chose\n"
- .string "one {STR_VAR_3} with {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2442E4:: @ 82442E4
- .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Please, let's form a tag team!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244313:: @ 8244313
- .string "Thank you very much!\n"
- .string "I'll be done with registration quickly!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244350:: @ 8244350
- .string "{PLAYER}, I was hoping that I could\n"
- .string "partner up with you…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244383:: @ 8244383
- .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…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7:: @ 82443E7
- .string "{STR_VAR_3} advised me, so I have\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244413:: @ 8244413
- .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Snivel…\n"
- .string "Please, please team up with me!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B:: @ 824444B
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6:: @ 82444D6
- .string "Oh, b-but…\n"
- .string "Sob… Waaaaah!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF:: @ 82444EF
- .string "Hi, there! I'm {STR_VAR_3}!\n"
- .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E:: @ 824451E
- .string "{STR_VAR_3} recommended my crew.\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244549:: @ 8244549
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B:: @ 824459B
- .string "Yay! Great!\n"
- .string "Okay, I'll go register, okay?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5:: @ 82445C5
- .string "Aww, why?\n"
- .string "I wanted to team up, {PLAYER}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8:: @ 82445E8
- .string "I'm {STR_VAR_3}, the no. {STR_VAR_2} apprentice\n"
- .string "of the famous {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244618:: @ 8244618
- .string "I looked to {STR_VAR_3} for advice.\n"
- .string "One {STR_VAR_1}-using {STR_VAR_2}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244643:: @ 8244643
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F:: @ 824468F
- .string "Thank you!\n"
- .string "I'll register right away!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4:: @ 82446B4
- .string "{PLAYER}, I had been hoping to join\n"
- .string "you in a tag team…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5:: @ 82446E5
- .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…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D:: @ 824474D
- .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$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E:: @ 824479E
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C:: @ 824480C
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7:: @ 82448A7
- .string "Oh…\n"
- .string "I didn't think I was good enough…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD:: @ 82448CD
- .string "Hi, I'm {STR_VAR_3}.\n"
- .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5:: @ 82448F5
- .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}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244939:: @ 8244939
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244989:: @ 8244989
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6:: @ 82449E6
- .string "Huh? Why did you turn me down?\n"
- .string "You're no judge of character!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23:: @ 8244A23
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9:: @ 8244AA9
- .string "This is what {STR_VAR_3} recommended.\n"
- .string "One {STR_VAR_1}-using {STR_VAR_2}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6:: @ 8244AD6
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52:: @ 8244B52
- .string "Thanks, that's the spirit!\n"
- .string "Hang tight while I go register, okay?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93:: @ 8244B93
- .string "I took time from my busy schedule\n"
- .string "to be here! Give me a break!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2:: @ 8244BD2
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18:: @ 8244C18
- .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$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E:: @ 8244C6E
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6:: @ 8244CD6
- .string "Yay, I think this will be fun!\n"
- .string "I'll go register!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07:: @ 8244D07
- .string "Oh, you're mean!\n"
- .string "I come recommended, you know.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36:: @ 8244D36
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82:: @ 8244D82
- .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}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6:: @ 8244DC6
- .string "and one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Please agree to a tag team with me!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE:: @ 8244DFE
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B:: @ 8244E5B
- .string "I had been hoping to join you,\n"
- .string "{PLAYER}…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E:: @ 8244E7E
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA:: @ 8244ECA
- .string "On {STR_VAR_3}'s advice, I trained\n"
- .string "one {STR_VAR_1}-using {STR_VAR_2}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4:: @ 8244EF4
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F:: @ 8244F4F
- .string "Eek! I… I feel giddy!\n"
- .string "Thank you so much!\l"
- .string "I'll go register us right away!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98:: @ 8244F98
- .string "Waaah! Don't you feel any pity?\n"
- .string "But that makes you cooler…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3:: @ 8244FD3
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245013:: @ 8245013
- .string "My mentor {STR_VAR_3} recommended\n"
- .string "one {STR_VAR_1}-master {STR_VAR_2}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D:: @ 824503D
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245087:: @ 8245087
- .string "Okay, excellent!\n"
- .string "I'll get the registration done quickly!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0:: @ 82450C0
- .string "Gwaaah!\n"
- .string "You're a calculating one, {PLAYER}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6:: @ 82450E6
- .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}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245196:: @ 8245196
- .string "{STR_VAR_3} gave me some advice.\n"
- .string "{STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD:: @ 82451BD
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F:: @ 824522F
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A:: @ 824529A
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF:: @ 82452EF
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4:: @ 82453B4
- .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}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245406:: @ 8245406
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245464:: @ 8245464
- .string "Hey, hey, I like your style!\n"
- .string "Our registration, I will go file!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3:: @ 82454A3
- .string "Oh, hey, {PLAYER}, now that's cold!\n"
- .string "If I may be so bold!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6:: @ 82454D6
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245535:: @ 8245535
- .string "{STR_VAR_3} told me what to do.\n"
- .string "So one {STR_VAR_1}-using {STR_VAR_2}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F:: @ 824555F
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC:: @ 82455EC
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245656:: @ 8245656
- .string "You're turning me down?\n"
- .string "{PLAYER}, you're making me frown!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A:: @ 824568A
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5:: @ 82456F5
- .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$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245740:: @ 8245740
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9:: @ 82457D9
- .string "Thanks, I appreciate this!\n"
- .string "Cough, cough!\l"
- .string "Hang on while I go register.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F:: @ 824581F
- .string "Oh, you won't?\n"
- .string "{PLAYER}, I think we'd make a good pair.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245851:: @ 8245851
- .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}.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C:: @ 824589C
- .string "{STR_VAR_3} said this team'll be good--\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE:: @ 82458CE
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245923:: @ 8245923
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F:: @ 824597F
- .string "Oh, please don't say no!\n"
- .string "I feel self-conscious enough already…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE:: @ 82459BE
- .string "I am {STR_VAR_3}, and that's no lie.\n"
- .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7:: @ 82459F7
- .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$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F:: @ 8245A5F
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4:: @ 8245AB4
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E:: @ 8245B3E
- .string "Hm? Now why would you refuse?\n"
- .string "Is this your idea of a joke?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79:: @ 8245B79
- .string "I'm {STR_VAR_1}, and I'm a LASS!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91:: @ 8245B91
- .string "What I have are one {STR_VAR_2}\n"
- .string "that uses {STR_VAR_1} and one$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD:: @ 8245BBD
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05:: @ 8245C05
- .string "Thank you!\n"
- .string "I'll go do the registration!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D:: @ 8245C2D
- .string "You don't want to be my partner?\n"
- .string "You'll regret it later!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66:: @ 8245C66
- .string "Hello!\p"
- .string "I'm YOUNGSTER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F:: @ 8245C7F
- .string "Want to know what I have?\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC:: @ 8245CAC
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "You'll be my tag-team partner,\n"
- .string "won't you?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6:: @ 8245CE6
- .string "Yay!\n"
- .string "I'll go and register, okay?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07:: @ 8245D07
- .string "Aww! If you'd form a tag team with\n"
- .string "my POKéMON, we'd be unstoppable!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B:: @ 8245D4B
- .string "Yahoo!\n"
- .string "I'm HIKER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60:: @ 8245D60
- .string "Know what I have with me?\n"
- .string "My {STR_VAR_1}-using {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D:: @ 8245D8D
- .string "my {STR_VAR_1}-using {STR_VAR_2}!\p"
- .string "Sounds good, eh?\n"
- .string "Want to form a tag team?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7:: @ 8245DC7
- .string "Yahoo!\n"
- .string "I'll go do the registering, then.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0:: @ 8245DF0
- .string "I would've liked to battle with you\n"
- .string "at my side.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20:: @ 8245E20
- .string "Hello!\n"
- .string "I'm {STR_VAR_1}, and I'm a BEAUTY!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41:: @ 8245E41
- .string "Do you know what I've been raising?\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78:: @ 8245E78
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "What do you think?\n"
- .string "Want to make a tag team together?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD:: @ 8245EBD
- .string "Wonderful!\n"
- .string "I'll get the registration done now!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC:: @ 8245EEC
- .string "How disappointing!\p"
- .string "We two together--we would've been\n"
- .string "the best!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B:: @ 8245F2B
- .string "Yo!\p"
- .string "You know who I am?\n"
- .string "I'm {STR_VAR_1} the FISHERMAN!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58:: @ 8245F58
- .string "I've got with me a team of one\n"
- .string "{STR_VAR_1}-using {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87:: @ 8245F87
- .string "one {STR_VAR_1}-using {STR_VAR_2}.\p"
- .string "So, how about it?\n"
- .string "Will you battle at my side?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6:: @ 8245FC6
- .string "Good, good!\n"
- .string "Leave it up to me!\p"
- .string "I'll go and register us now.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246002:: @ 8246002
- .string "We matched up perfectly, too…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246020:: @ 8246020
- .string "Glad to make your acquaintance.\n"
- .string "I am {STR_VAR_1}, a LADY.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246051:: @ 8246051
- .string "I am accompanied by a team of\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246082:: @ 8246082
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5:: @ 82460D5
- .string "I thank you sincerely.\n"
- .string "I shall handle the registration.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D:: @ 824610D
- .string "I'm sure that you will regret not\n"
- .string "having me as your partner.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A:: @ 824614A
- .string "I'm TRIATHLETE {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D:: @ 824615D
- .string "What I have…\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D:: @ 824617D
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7:: @ 82461C7
- .string "Gee, thanks!\n"
- .string "I'll go register at the counter.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5:: @ 82461F5
- .string "We two together, we would've been\n"
- .string "tough for certain!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A:: @ 824622A
- .string "Hiya!\n"
- .string "I'm BUG CATCHER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246244:: @ 8246244
- .string "Check out what I have!\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E:: @ 824626E
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "So, listen!\n"
- .string "Do you want to form a tag team?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA:: @ 82462AA
- .string "Gotcha!\p"
- .string "I'll go do the registration stuff\n"
- .string "at the counter.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4:: @ 82462E4
- .string "Aww, my POKéMON are awesome.\n"
- .string "I hope you won't regret this!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F:: @ 824631F
- .string "Good day!\n"
- .string "I'm SCHOOL KID {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C:: @ 824633C
- .string "What I've been raising are one\n"
- .string "{STR_VAR_2} that uses {STR_VAR_1}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B:: @ 824636B
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5:: @ 82463C5
- .string "Thank you very much!\n"
- .string "I'll get done with the registration.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF:: @ 82463FF
- .string "That's too bad…\p"
- .string "I was hoping that I could learn\n"
- .string "from you as your partner…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246449:: @ 8246449
- .string "Yo! Let me tell you who I am!\n"
- .string "I'm RICH BOY {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246478:: @ 8246478
- .string "Guess what I got!\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D:: @ 824649D
- .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.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE:: @ 82464EE
- .string "Smart move!\p"
- .string "I'll finish up the registration\n"
- .string "process quick!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246529:: @ 8246529
- .string "You'd turn me of all people down?\n"
- .string "You'll regret that decision for sure!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246571:: @ 8246571
- .string "Hiyah!\n"
- .string "I am BLACK BELT {STR_VAR_1}.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C:: @ 824658C
- .string "As my companions, I have\n"
- .string "one {STR_VAR_2} using {STR_VAR_1}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5:: @ 82465B5
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246605:: @ 8246605
- .string "Hiyah!\n"
- .string "I will go register forthwith!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A:: @ 824662A
- .string "I see… I hope for an opportunity\n"
- .string "the next time we meet…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246662:: @ 8246662
- .string "Hi, there!\n"
- .string "I'm {STR_VAR_1}, and I'm a TUBER!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246686:: @ 8246686
- .string "I'll tell you what I have.\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4:: @ 82466B4
- .string "one {STR_VAR_2} with {STR_VAR_1}!\n"
- .string "May I please be on your tag team?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6:: @ 82466E6
- .string "Thank you!\n"
- .string "I'll go register us now!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A:: @ 824670A
- .string "If we'd become partners, we could\n"
- .string "have been so strong!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246741:: @ 8246741
- .string "Greetings…\n"
- .string "I am HEX MANIAC {STR_VAR_1}…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246760:: @ 8246760
- .string "I bear with me one {STR_VAR_1}-using\n"
- .string "{STR_VAR_2} together with one$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246791:: @ 8246791
- .string "{STR_VAR_1}-using {STR_VAR_2}…\p"
- .string "I beseech you…\n"
- .string "Join me in a tag team…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4:: @ 82467C4
- .string "I thank you…\n"
- .string "I shall register us…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6:: @ 82467E6
- .string "I so longed to join you…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF:: @ 82467FF
- .string "How do you do? I'm {STR_VAR_1},\n"
- .string "and I'm a POKéMON BREEDER!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246831:: @ 8246831
- .string "I'm raising a couple good ones!\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246864:: @ 8246864
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "How about it?\n"
- .string "Feel like making a tag team with me?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7:: @ 82468A7
- .string "Thank you kindly!\p"
- .string "I'll go take care of the registration\n"
- .string "stuff, so you wait right here!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE:: @ 82468FE
- .string "I was looking forward to being\n"
- .string "your partner…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B:: @ 824692B
- .string "Well, hello!\n"
- .string "I'm TRIATHLETE {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B:: @ 824694B
- .string "Want to know what I run with?\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C:: @ 824697C
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Well?\n"
- .string "Want to be in a tag team with me?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4:: @ 82469B4
- .string "Good going!\p"
- .string "I'll be quick and get the registration\n"
- .string "all done!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1:: @ 82469F1
- .string "You and me, we would've been tops.\n"
- .string "It's too bad…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22:: @ 8246A22
- .string "Hey, there! My name's {STR_VAR_1}!\n"
- .string "I'm a TRIATHLETE!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E:: @ 8246A4E
- .string "I go on runs with my durable team--\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85:: @ 8246A85
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF:: @ 8246ACF
- .string "All right!\n"
- .string "I'll go register in a flash!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7:: @ 8246AF7
- .string "I really wanted to battle as your\n"
- .string "tag-team partner…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B:: @ 8246B2B
- .string "I'm BATTLE GIRL {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F:: @ 8246B3F
- .string "I've been toughening up one\n"
- .string "{STR_VAR_1}-using {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B:: @ 8246B6B
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2:: @ 8246BB2
- .string "Why, thanks!\p"
- .string "I'll get the registration done\n"
- .string "right now!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9:: @ 8246BE9
- .string "With you, I thought we could form\n"
- .string "the ultimate tag team…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22:: @ 8246C22
- .string "I'm TRIATHLETE {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35:: @ 8246C35
- .string "I've been running with one {STR_VAR_2}\n"
- .string "that knows how to use {STR_VAR_1}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C:: @ 8246C6C
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3:: @ 8246CB3
- .string "Thank you!\p"
- .string "I'll go register us, and that's\n"
- .string "right now!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9:: @ 8246CE9
- .string "Aww, that's too bad. We would've been\n"
- .string "the toughest tag team around!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D:: @ 8246D2D
- .string "Me?\n"
- .string "I'm TUBER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F:: @ 8246D3F
- .string "What do I have with me?\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A:: @ 8246D6A
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Hey?\n"
- .string "You'll team up with me, right?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E:: @ 8246D9E
- .string "Okay!\p"
- .string "I'll go register!\n"
- .string "Let's be excellent together!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3:: @ 8246DD3
- .string "My POKéMON are tough for sure…\n"
- .string "It's too bad you don't want to team up.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A:: @ 8246E1A
- .string "Yay-hey!\n"
- .string "Call me GUITARIST {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39:: @ 8246E39
- .string "Check out my entourage!\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64:: @ 8246E64
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6:: @ 8246EB6
- .string "Yay-hey! Right on!\n"
- .string "I'll do that registration stuff now!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE:: @ 8246EEE
- .string "My POKéMON rock hard!\n"
- .string "You'll be sorry, I tell you!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21:: @ 8246F21
- .string "Pleased to meet you.\n"
- .string "I am {STR_VAR_1}, a GENTLEMAN.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C:: @ 8246F4C
- .string "I am accompanied by my trusted\n"
- .string "{STR_VAR_1}-using {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B:: @ 8246F7B
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC:: @ 8246FCC
- .string "Ah, I thank you for your trust.\n"
- .string "I shall be done with the registration.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247013:: @ 8247013
- .string "That is most unfortunate…\p"
- .string "I shall look forward to the next\n"
- .string "opportunity…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B:: @ 824705B
- .string "Hello, I'm {STR_VAR_1},\n"
- .string "and I'm a POKéFAN.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D:: @ 824707D
- .string "I have with me now one {STR_VAR_2}\n"
- .string "that knows the move {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2:: @ 82470B2
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD:: @ 82470FD
- .string "Thank you!\n"
- .string "I'll look after the registration!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A:: @ 824712A
- .string "My POKéMON are top grade…\n"
- .string "It's too bad you can't appreciate that.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C:: @ 824716C
- .string "Hm!\n"
- .string "I am {STR_VAR_1}, and an EXPERT am I!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D:: @ 824718D
- .string "The POKéMON that I've toughened up are\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7:: @ 82471C7
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "What say you to a tag team with me?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB:: @ 82471FB
- .string "Hm!\n"
- .string "I shall register us right away!\l"
- .string "Let us both do our best!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247238:: @ 8247238
- .string "I will hope that your choice is\n"
- .string "indeed correct…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247268:: @ 8247268
- .string "Hello, hello.\n"
- .string "I'm {STR_VAR_1}, and I'm an EXPERT.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247291:: @ 8247291
- .string "I've raised my POKéMON thoroughly.\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7:: @ 82472C7
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247313:: @ 8247313
- .string "Good, good.\n"
- .string "I'll see to the registration right away.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247348:: @ 8247348
- .string "Perhaps we can form a team the next\n"
- .string "time we meet.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A:: @ 824737A
- .string "I'm DRAGON TAMER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F:: @ 824738F
- .string "The team I've been toughening up is\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6:: @ 82473C6
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "How about it?\n"
- .string "Want to be my partner?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB:: @ 82473FB
- .string "Okay, I'll give it my best!\n"
- .string "I'll go register now, all right?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247438:: @ 8247438
- .string "You're not going to find many tougher\n"
- .string "partners than me!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247470:: @ 8247470
- .string "I'm BIRD KEEPER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247484:: @ 8247484
- .string "What POKéMON do I have?\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF:: @ 82474AF
- .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Don't you think we'd make a decent\n"
- .string "tag team?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC:: @ 82474EC
- .string "Great, thanks!\n"
- .string "I'll look after the registration!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D:: @ 824751D
- .string "My POKéMON and I are strong.\n"
- .string "What a letdown.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A:: @ 824754A
- .string "I'm NINJA BOY {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C:: @ 824755C
- .string "My POKéMON team consists of one\n"
- .string "{STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B:: @ 824758B
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Let's be in a tag team together!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC:: @ 82475BC
- .string "Yay!\n"
- .string "Let me go register!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5:: @ 82475D5
- .string "You'll regret not having my tough\n"
- .string "POKéMON on your side!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D:: @ 824760D
- .string "Hello!\n"
- .string "I'm PARASOL LADY {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247629:: @ 8247629
- .string "Escorting me now are my {STR_VAR_2}\n"
- .string "that uses {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247655:: @ 8247655
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B:: @ 824769B
- .string "Thanks a bunch!\p"
- .string "I'll go register at the counter.\n"
- .string "Let's not disappoint each other!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED:: @ 82476ED
- .string "My POKéMON are tremendously strong.\n"
- .string "How disappointing…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247724:: @ 8247724
- .string "Hello.\n"
- .string "I'm {STR_VAR_1}, and I'm a BUG MANIAC!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247749:: @ 8247749
- .string "I have found my POKéMON, yes.\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A:: @ 824777A
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE:: @ 82477CE
- .string "Okay!\n"
- .string "Understood!\p"
- .string "I won't be long with the registration!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247807:: @ 8247807
- .string "With the POKéMON I found, we wouldn't\n"
- .string "have lost…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247838:: @ 8247838
- .string "Ahoy, there!\n"
- .string "I'm SAILOR {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247854:: @ 8247854
- .string "Let me show you my pride and joy!\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247889:: @ 8247889
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD:: @ 82478DD
- .string "I didn't expect any less!\n"
- .string "I'll go register now.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D:: @ 824790D
- .string "We would've stormed through\n"
- .string "the opposition! Too bad!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247942:: @ 8247942
- .string "Hi, I'm {STR_VAR_1}.\n"
- .string "I'm a COLLECTOR.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F:: @ 824795F
- .string "The jewels in my collection are\n"
- .string "my {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247991:: @ 8247991
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Swell, huh?\n"
- .string "We should be in a team together.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE:: @ 82479CE
- .string "Oh, yeah!\p"
- .string "Well, let's not waste any time.\n"
- .string "I'll go register the two of us.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18:: @ 8247A18
- .string "Well, that's upsetting.\n"
- .string "You don't appreciate my POKéMON.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51:: @ 8247A51
- .string "Howdy, I'm {STR_VAR_1}.\n"
- .string "I'm a POKéMON RANGER.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76:: @ 8247A76
- .string "Keeping me company are one\n"
- .string "{STR_VAR_1}-using {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1:: @ 8247AA1
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Don't you think we'd make an impressive\n"
- .string "tag team?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3:: @ 8247AE3
- .string "That's super!\n"
- .string "I'll deal with the registration now.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16:: @ 8247B16
- .string "Next time, choose my POKéMON,\n"
- .string "will you?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E:: @ 8247B3E
- .string "My name's {STR_VAR_1}.\n"
- .string "I'm a POKéMON RANGER!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62:: @ 8247B62
- .string "Let me tell you about my team. I have\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B:: @ 8247B9B
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7:: @ 8247BE7
- .string "We'll be at our best!\n"
- .string "I'll get the registration done quick!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23:: @ 8247C23
- .string "I hope you'll choose my POKéMON\n"
- .string "next time.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E:: @ 8247C4E
- .string "Pleased to meet you. I'm {STR_VAR_1}.\n"
- .string "I consider myself an AROMA LADY.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C:: @ 8247C8C
- .string "I travel with one {STR_VAR_2}\n"
- .string "that uses {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2:: @ 8247CB2
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07:: @ 8247D07
- .string "I'm honored by your acceptance.\n"
- .string "I will go register right this instant.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E:: @ 8247D4E
- .string "It would be wonderful if we could form\n"
- .string "a tag team the next time we meet.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97:: @ 8247D97
- .string "Want to know who I am?\n"
- .string "I'm {STR_VAR_1}, the RUIN MANIAC!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7:: @ 8247DC7
- .string "The POKéMON that I have with me are\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE:: @ 8247DFE
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Intriguing, eh?\n"
- .string "How about you and I partner up?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E:: @ 8247E3E
- .string "That's a sound decision!\n"
- .string "I'll go do the registration paperwork.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E:: @ 8247E7E
- .string "Hmm…\n"
- .string "I think my POKéMON are tough…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1:: @ 8247EA1
- .string "I'm COOLTRAINER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5:: @ 8247EB5
- .string "The POKéMON I have right now are one\n"
- .string "{STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9:: @ 8247EE9
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F:: @ 8247F3F
- .string "Cool!\n"
- .string "I'll go do the registration in a flash!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D:: @ 8247F6D
- .string "I thought that we'd make just\n"
- .string "the greatest team ever.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3:: @ 8247FA3
- .string "I'm COOLTRAINER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7:: @ 8247FB7
- .string "The team I've been raising has one\n"
- .string "{STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9:: @ 8247FE9
- .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Does that sound okay?\n"
- .string "How about we become tag partners?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248031:: @ 8248031
- .string "Sounds A-OK!\n"
- .string "I'd better do the registration.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E:: @ 824805E
- .string "I was thinking how we would be\n"
- .string "one tough team…$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D:: @ 824808D
- .string "Heyo!\n"
- .string "I'm {STR_VAR_1}, the POKéMANIAC!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB:: @ 82480AB
- .string "What does a guy like me have?\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC:: @ 82480DC
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248128:: @ 8248128
- .string "Good call!\n"
- .string "I'll register the both of us!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248151:: @ 8248151
- .string "My POKéMON are brutal!\n"
- .string "It's not my fault if you regret this!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E:: @ 824818E
- .string "Yo, there!\n"
- .string "I'm KINDLER {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9:: @ 82481A9
- .string "You know what my training cooked up?\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1:: @ 82481E1
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Well, what do you say?\n"
- .string "Want to form a tag team?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248221:: @ 8248221
- .string "All right!\n"
- .string "I'll get on with the registration.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F:: @ 824824F
- .string "Promise you'll partner up with me\n"
- .string "the next time we run into each other.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248297:: @ 8248297
- .string "I'm {STR_VAR_1}, and I'm a CAMPER!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1:: @ 82482B1
- .string "I've been raising one {STR_VAR_1}-\n"
- .string "using {STR_VAR_2} and one$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC:: @ 82482DC
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248321:: @ 8248321
- .string "Yeah!\n"
- .string "Off I go to register!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D:: @ 824833D
- .string "Next time, okay?\n"
- .string "I want to be on your team.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248369:: @ 8248369
- .string "Hello!\n"
- .string "I'm {STR_VAR_1}, and I'm a PICNICKER!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D:: @ 824838D
- .string "The POKéMON I've been taking are\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1:: @ 82483C1
- .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Are you interested in joining me\n"
- .string "on a tag team?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248401:: @ 8248401
- .string "Why, thank you!\n"
- .string "I will do the registration now.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248431:: @ 8248431
- .string "It would be nice if I could join you\n"
- .string "some other time.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248467:: @ 8248467
- .string "I'm PSYCHIC {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248477:: @ 8248477
- .string "The twosome I've been raising are\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC:: @ 82484AC
- .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
- .string "Would you like to form a tag team\n"
- .string "with me?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7:: @ 82484E7
- .string "Sure thing!\n"
- .string "I'll take care of the registration!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248517:: @ 8248517
- .string "If we meet again, that's when I'd like\n"
- .string "to team up with you.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248553:: @ 8248553
- .string "I'm {STR_VAR_1}.\n"
- .string "I'm a PSYCHIC.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A:: @ 824856A
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D:: @ 824857D
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5:: @ 82485E5
- .string "Thank you.\n"
- .string "I'll go deal with the registration.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248614:: @ 8248614
- .string "I hope there will be another chance\n"
- .string "to forge an alliance.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E:: @ 824864E
- .string "I'm SCHOOL KID {STR_VAR_1}!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248661:: @ 8248661
- .string "One {STR_VAR_1}-using {STR_VAR_2}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248671:: @ 8248671
- .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?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6:: @ 82486C6
- .string "Ooh, thank you!\n"
- .string "I'll register at the counter right away!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF:: @ 82486FF
- .string "Please?\n"
- .string "May I join you the next time?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248725:: @ 8248725
- .string "Hiya! The name's {STR_VAR_1}!\n"
- .string "I'm a POKéMON BREEDER!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248751:: @ 8248751
- .string "The POKéMON I've raised are one\n"
- .string "{STR_VAR_1}-using {STR_VAR_2} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248781:: @ 8248781
- .string "one {STR_VAR_1}-using {STR_VAR_2}.\p"
- .string "Sound interesting?\n"
- .string "How about we form a tag team, then?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9:: @ 82487C9
- .string "All righty!\n"
- .string "You leave the registration to me!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7:: @ 82487F7
- .string "You have to team up with me next time,\n"
- .string "all right?$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248829:: @ 8248829
- .string "I'm {STR_VAR_1}, and I'm proud to say\n"
- .string "that I am a POKéFAN.$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B:: @ 824885B
- .string "The darling POKéMON I've raised are\n"
- .string "one {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248892:: @ 8248892
- .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!$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8:: @ 82488D8
- .string "Thank you, dear!\n"
- .string "I'll be on my way to register!$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor7thOpponentSetLink:: @ 8249406
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor7thOpponentSet
+ waitmessage
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink
+ end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248908:: @ 8248908
- .string "My darling POKéMON are the best,\n"
- .string "I'll have you know. How annoying!$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_LinkDelayForMsg:: @ 8249412
+ waitmessage
+ delay 48
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B:: @ 824894B
- .string "Hi, I'm SWIMMER {STR_VAR_1}.$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLink:: @ 8249417
+ goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLinkNoRecord
+ multichoice 19, 6, MULTI_GO_ON_RECORD_RETIRE, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallengeLink
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattleLink
+ case 2, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink
+ end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F:: @ 824895F
- .string "One {STR_VAR_1}-using {STR_VAR_2}$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F:: @ 824896F
- .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.$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsLinkNoRecord:: @ 8249457
+ multichoice 20, 8, MULTI_GO_ON_RETIRE, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallengeLink
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink
+ end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD:: @ 82489BD
- .string "That's cool!\n"
- .string "I'll register the two of us.$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallengeLink:: @ 8249483
+ setvar VAR_0x8004, BATTLE_TOWER_LINK_CONTINUE
+ setvar VAR_0x8005, 0
+ message gText_LinkStandby3
+ waitmessage
+ special LinkRetireStatusWithBattleTowerPartner
+ waitstate
+ compare VAR_RESULT, BATTLE_TOWER_LINKSTAT_CONTINUE
+ goto_if_ne BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_LinkDelayForMsg
+ end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7:: @ 82489E7
- .string "If we meet again, you owe me\n"
- .string "a tag team!$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRecordBattleLink:: @ 82494A8
+ message BattleFrontier_BattleTowerBattleRoom_Text_RecordYourBattle
+ waitmessage
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+ call BattleFrontier_EventScript_SaveBattle
+ setflag FLAG_TEMP_2
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+ end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10:: @ 8248A10
- .string "What's happening?\n"
- .string "I'm {STR_VAR_1}, and I'm a TRIATHLETE.$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink:: @ 82494DD
+ message BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge
+ waitmessage
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
+ compare VAR_RESULT, 0
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetireChallengeLink
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
+ end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40:: @ 8248A40
- .string "I got a couple decent POKéMON.\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetireChallengeLink:: @ 82494FA
+ setvar VAR_0x8004, BATTLE_TOWER_LINK_RETIRE
+ setvar VAR_0x8005, 0
+ message gText_LinkStandby3
+ waitmessage
+ special LinkRetireStatusWithBattleTowerPartner
+ waitstate
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost
+ end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72:: @ 8248A72
- .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?$"
+@ Some link function. Sets battle type flags at least
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_249514:: @ 8249514
+ special sub_813B534
+ return
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0:: @ 8248AC0
- .string "Right on!\n"
- .string "You wait while I register, okay?$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_PlayerEnterRoom: @ 8249518
+ walk_up
+ walk_up
+ walk_up
+ walk_up
+ face_right
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB:: @ 8248AEB
- .string "I expect you'll let me join you\n"
- .string "next time, how's that?$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_PartnerEnterRoom: @ 824951E
+ walk_left
+ walk_up
+ walk_up
+ walk_up
+ face_right
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22:: @ 8248B22
- .string "I'm the TRIATHLETE {STR_VAR_1}!$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant: @ 8249524
+ face_left
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39:: @ 8248B39
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
-
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C:: @ 8248B4C
- .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.$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle: @ 8249526
+ walk_in_place_fastest_right
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4:: @ 8248BB4
- .string "I like that answer!\n"
- .string "I'll get done with registration fast!$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Enter: @ 8249528
+ walk_down
+ walk_down
+ walk_down
+ walk_down
+ face_left
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE:: @ 8248BEE
- .string "You'll give me another chance to form\n"
- .string "a partnership, won't you?$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Enter: @ 824952E
+ walk_right
+ walk_down
+ walk_down
+ walk_down
+ face_left
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E:: @ 8248C2E
- .string "Hi, there! Hello!\n"
- .string "I'm {STR_VAR_1}, and I'm a SWIMMER!$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Exit: @ 8249534
+ walk_up
+ walk_up
+ walk_up
+ set_invisible
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B:: @ 8248C5B
- .string "Check out what I've been raising!\n"
- .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Exit: @ 8249539
+ walk_up
+ walk_up
+ walk_up
+ walk_up
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90:: @ 8248C90
- .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
- .string "Sweet, huh?\n"
- .string "It'd be sweet to form a team, too!$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer: @ 824953E
+ walk_right
+ walk_right
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF:: @ 8248CCF
- .string "Much obliged!\n"
- .string "I'll get this registration thing done!$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos: @ 8249541
+ walk_left
+ walk_left
+ walk_in_place_fastest_right
+ step_end
-BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04:: @ 8248D04
- .string "If we meet again, you have to team up\n"
- .string "with me. You'll do that, right?$"
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft: @ 8249545
+ walk_in_place_left
+ step_end
+BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor2ndOpponentSet: @ 8249547
+ .string "The 2nd set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor3rdOpponentSet: @ 8249578
+ .string "The 3rd set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor4thOpponentSet: @ 82495A9
+ .string "The 4th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor5thOpponentSet: @ 82495DA
+ .string "The 5th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor6thOpponentSet: @ 824960B
+ .string "The 6th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_ReadyFor7thOpponentSet: @ 824963C
+ .string "The 7th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+@ Unused
+BattleFrontier_BattleTowerMultiBattleRoom_Text_2ndOpponentSetNext: @ 824966D
+ .string "The 2nd set of opponents is next.\n"
+ .string "Do your best!$"
+
+@ Unused
+BattleFrontier_BattleTowerMultiBattleRoom_Text_3rdOpponentSetNext: @ 824969D
+ .string "The 3rd set of opponents is next.\n"
+ .string "Do your best!$"
+
+@ Unused
+BattleFrontier_BattleTowerMultiBattleRoom_Text_4thOpponentSetNext: @ 82496CD
+ .string "The 4th set of opponents is next.\n"
+ .string "Do your best!$"
+
+@ Unused
+BattleFrontier_BattleTowerMultiBattleRoom_Text_5thOpponentSetNext: @ 82496FD
+ .string "The 5th set of opponents is next.\n"
+ .string "Do your best!$"
+
+@ Unused
+BattleFrontier_BattleTowerMultiBattleRoom_Text_6thOpponentSetNext: @ 824972D
+ .string "The 6th set of opponents is next.\n"
+ .string "Do your best!$"
+
+@ Unused
+BattleFrontier_BattleTowerMultiBattleRoom_Text_7thOpponentSetNext: @ 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/maps/BattleFrontier_BattleTowerCorridor2/map.json b/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json
index de898bef4..68de9587c 100644
--- a/data/maps/BattleFrontier_BattleTowerCorridor2/map.json
+++ b/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2",
- "name": "BattleFrontier_BattleTowerCorridor2",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2",
+ "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR",
+ "name": "BattleFrontier_BattleTowerMultiCorridor",
+ "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR",
"music": "MUS_SATTOWER",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
diff --git a/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc
new file mode 100644
index 000000000..7af2adfe3
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc
@@ -0,0 +1,176 @@
+BattleFrontier_BattleTowerMultiCorridor_MapScripts:: @ 8248D4A
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiCorridor_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiCorridor_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiCorridor_OnFrame
+ .byte 0
+
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_F
+ @ The multi partner is represented by object event 4, which has the gfx id VAR_OBJ_GFX_ID_E
+
+BattleFrontier_BattleTowerMultiCorridor_OnTransition: @ 8248D5A
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx
+ end
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx:: @ 8248D71
+ tower_setpartnergfx
+ checkplayergender
+ compare VAR_RESULT, FEMALE
+ goto_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale
+ setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL
+ return
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale:: @ 8248D8B
+ setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_MAY_NORMAL
+ return
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx:: @ 8248D91
+ special SetBattleTowerLinkPlayerGfx
+ return
+
+BattleFrontier_BattleTowerMultiCorridor_OnWarp: @ 8248D95
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiCorridor_EventScript_SetUpObjects
+ .2byte 0
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_SetUpObjects:: @ 8248D9F
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
+ hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
+ hideobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
+ special OffsetCameraForBattle
+ end
+
+BattleFrontier_BattleTowerMultiCorridor_OnFrame: @ 8248DB2
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor
+ .2byte 0
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor:: @ 8248DBC
+ lockall
+ setflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
+ setvar VAR_0x8004, 14 @ x coord of far door, used by DrawDoor
+ setvar VAR_0x8005, 1 @ y coord of far door, used by DrawDoor
+ opendoor 1, 1
+ waitdooranim
+ clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
+ showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
+ showobjectat 4, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR
+ applymovement 1, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator
+ applymovement 4, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator
+ waitmovement 0
+ setflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
+ setvar VAR_0x8004, 14 @ x coord of far door, used by DrawDoor
+ setvar VAR_0x8005, 1 @ y coord of far door, used by DrawDoor
+ closedoor 1, 1
+ waitdooranim
+ clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR
+ applymovement 1, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor
+ applymovement 4, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor
+ applymovement 3, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor
+ applymovement 2, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor
+ waitmovement 0
+ delay 40
+ applymovement 3, Common_Movement_WalkInPlaceFastestUp
+ applymovement 2, Common_Movement_WalkInPlaceFastestUp
+ waitmovement 0
+ opendoor 7, 1
+ waitdooranim
+ applymovement 3, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor
+ applymovement 2, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor
+ applymovement 1, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor
+ applymovement 4, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor
+ waitmovement 0
+ closedoor 7, 1
+ waitdooranim
+ delay 30
+ setvar VAR_TEMP_1, 1
+ call BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToBattleRoom
+ releaseall
+ end
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToBattleRoom:: @ 8248E71
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
+ call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
+ call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom
+ compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
+ call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom
+ return
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom:: @ 8248E9E
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
+ waitstate
+ return
+
+BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom:: @ 8248EA8
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5
+ waitstate
+ return
+
+@ Unnecessary duplicate of the above
+BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom:: @ 8248EB2
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5
+ waitstate
+ return
+
+BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor: @ 8248EBC
+ walk_down
+ walk_right
+ walk_right
+ walk_right
+ walk_right
+ walk_right
+ walk_right
+ step_end
+
+BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor: @ 8248EC4
+ walk_down
+ walk_left
+ walk_left
+ walk_left
+ walk_left
+ walk_left
+ walk_left
+ step_end
+
+BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor: @ 8248ECC
+ walk_right
+ walk_right
+ walk_right
+ walk_right
+ walk_right
+ walk_right
+ walk_up
+ walk_in_place_fastest_right
+ step_end
+
+BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor: @ 8248ED5
+ walk_left
+ walk_left
+ walk_left
+ walk_left
+ walk_left
+ walk_left
+ walk_up
+ walk_in_place_fastest_left
+ step_end
+
+BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor: @ 8248EDE
+ delay_16
+ walk_up
+ walk_up
+ set_invisible
+ step_end
+
+BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor: @ 8248EE3
+ walk_up
+ set_invisible
+ step_end
+
+BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator: @ 8248EE6
+ walk_down
+ step_end
+
diff --git a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json
new file mode 100644
index 000000000..bd292f2c5
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json
@@ -0,0 +1,138 @@
+{
+ "id": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM",
+ "name": "BattleFrontier_BattleTowerMultiPartnerRoom",
+ "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM",
+ "music": "MUS_SATTOWER",
+ "region_map_section": "MAPSEC_BATTLE_FRONTIER",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "allow_bike": false,
+ "allow_escape_rope": false,
+ "allow_running": true,
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "object_events": [
+ {
+ "graphics_id": "EVENT_OBJ_GFX_TEALA",
+ "x": 11,
+ "y": 2,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_DOWN",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Attendant",
+ "flag": "0"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_0",
+ "x": 2,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner1",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_1",
+ "x": 17,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner2",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_2",
+ "x": 6,
+ "y": 9,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner3",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_3",
+ "x": 8,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_LOOK_AROUND",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner4",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_4",
+ "x": 10,
+ "y": 11,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner5",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_5",
+ "x": 13,
+ "y": 10,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner6",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_6",
+ "x": 15,
+ "y": 13,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_UP_AND_LEFT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner7",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1"
+ },
+ {
+ "graphics_id": "EVENT_OBJ_GFX_VAR_7",
+ "x": 4,
+ "y": 12,
+ "elevation": 3,
+ "movement_type": "MOVEMENT_TYPE_FACE_RIGHT",
+ "movement_range_x": 1,
+ "movement_range_y": 1,
+ "trainer_type": "0",
+ "trainer_sight_or_berry_tree_id": "0",
+ "script": "BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner8",
+ "flag": "FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2"
+ }
+ ],
+ "warp_events": [],
+ "coord_events": [],
+ "bg_events": []
+} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc
new file mode 100644
index 000000000..ea32a8275
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc
@@ -0,0 +1,1809 @@
+BattleFrontier_BattleTowerMultiPartnerRoom_MapScripts:: @ 8243D92
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerMultiPartnerRoom_OnResume
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiPartnerRoom_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiPartnerRoom_OnFrame
+ .byte 0
+
+BattleFrontier_BattleTowerMultiPartnerRoom_OnResume: @ 8243DA7
+ pyramid_resetparty
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_OnTransition: @ 8243DB0
+ goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ChosePartner
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6
+ setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1
+ setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2
+ tower_loadpartners
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ChosePartner:: @ 8243DDA
+ setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_OBJ_GFX_ID_2, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_OBJ_GFX_ID_4, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_OBJ_GFX_ID_5, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_OBJ_GFX_ID_6, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_OBJ_GFX_ID_7, EVENT_OBJ_GFX_BOY_1
+ setvar VAR_TEMP_1, 1
+ setvar VAR_TEMP_3, 1
+ setobjectxyperm 1, 10, 2
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp: @ 8243E14
+ map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TurnPlayerNorth
+ .2byte 0
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TurnPlayerNorth:: @ 8243E1E
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_OnFrame: @ 8243E23
+ map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterRoom
+ map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ExitRoom
+ .2byte 0
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ExitRoom:: @ 8243E35
+ lockall
+ setvar VAR_TEMP_3, 0
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterRoom:: @ 8243E41
+ lockall
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit
+ waitmovement 0
+ copyobjectxytoperm 1
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
+ waitmovement 0
+ msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner, MSGBOX_DEFAULT
+ special HealPlayerParty
+ setvar VAR_TEMP_1, 1
+ releaseall
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom: @ 8243E75
+ walk_down
+ step_end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit: @ 8243E77
+ walk_left
+ walk_in_place_fastest_down
+ step_end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Attendant:: @ 8243E7A
+ lock
+ faceplayer
+ message BattleFrontier_BattleTowerMultiPartnerRoom_Text_QuitLookingForPartner
+ waitmessage
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
+ compare VAR_RESULT, 0
+ goto_if_eq BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge
+ msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner2, MSGBOX_DEFAULT
+ release
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge:: @ 8243E9D
+ frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
+ goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator:: @ 8243EB5
+ msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_ThankYouForChoosingPartner, MSGBOX_DEFAULT
+ closemessage
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
+ waitmovement 0
+ opendoor 10, 1
+ waitdooranim
+ call BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator
+ closedoor 10, 1
+ waitdooranim
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
+ waitstate
+ releaseall
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator:: @ 8243EE4
+ applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator
+ waitmovement 0
+ return
+
+@ Unused
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorEast: @ 8243EF6
+ applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast
+ waitmovement 0
+ return
+
+@ Unused
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorWest: @ 8243F08
+ applymovement 1, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator: @ 8243F1A
+ walk_up
+ walk_up
+ set_invisible
+ step_end
+
+@ Functionally unused
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast: @ 8243F1E
+ walk_right
+ walk_up
+ set_invisible
+ step_end
+
+@ Functionally unused
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest: @ 8243F22
+ walk_left
+ walk_up
+ set_invisible
+ step_end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator: @ 8243F26
+ walk_up
+ set_invisible
+ step_end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner1:: @ 8243F29
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 0
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner:: @ 8243F36
+ goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner
+ tower_dopartnermsg PARTNER_MSGID_INTRO
+ waitmessage
+ waitbuttonpress
+ tower_dopartnermsg PARTNER_MSGID_MON1
+ waitmessage
+ waitbuttonpress
+ tower_dopartnermsg PARTNER_MSGID_MON2_ASK
+ waitmessage
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner
+ case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner
+ tower_dopartnermsg PARTNER_MSGID_ACCEPT
+ waitmessage
+ waitbuttonpress
+ closemessage
+ compare VAR_FACING, DIR_SOUTH
+ call_if_ne BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth
+ removeobject VAR_LAST_TALKED
+ setflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 255, 10, 3
+ waitstate
+ release
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner:: @ 8243FC3
+ tower_dopartnermsg PARTNER_MSGID_REJECT
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit:: @ 8243FD4
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExit
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth:: @ 8243FDF
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExitSouth
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExit: @ 8243FEA
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ step_end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExitSouth: @ 8243FF2
+ walk_fast_left
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ walk_fast_up
+ step_end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner2:: @ 8243FFB
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 1
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner3:: @ 8244008
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 2
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner4:: @ 8244015
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 3
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner5:: @ 8244022
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 4
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner6:: @ 824402F
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 5
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner7:: @ 824403C
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 6
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner8:: @ 8244049
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, 7
+ goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
+ end
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner: @ 8244056
+ .string "Please find a partner from out of\n"
+ .string "the TRAINERS gathered here.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_QuitLookingForPartner: @ 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_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner2: @ 824410C
+ .string "Then, please find a partner from\n"
+ .string "the TRAINERS gathered here.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ThankYouForChoosingPartner:: @ 8244149
+ .string "Thank you for choosing a partner.\p"
+ .string "I will now show you to your\n"
+ .string "MULTI BATTLE ROOM.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Intro:: @ 824419A
+ .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
+ .string "You can call me {STR_VAR_3}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Mon1:: @ 82441CA
+ .string "On {STR_VAR_1}'s advice, I brought\n"
+ .string "one {STR_VAR_3} with {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Mon2Ask:: @ 82441F7
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Please, let me join you as a tag team.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Accept:: @ 824422E
+ .string "Thank you!\n"
+ .string "I'll go register right now.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice1Reject:: @ 8244255
+ .string "I really wanted to form a tag team\n"
+ .string "with you, {PLAYER}…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Intro:: @ 8244286
+ .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
+ .string "My name is {STR_VAR_3}.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Mon1:: @ 82442B2
+ .string "I got advice from {STR_VAR_1} and chose\n"
+ .string "one {STR_VAR_3} with {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Mon2Ask:: @ 82442E4
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Please, let's form a tag team!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Accept:: @ 8244313
+ .string "Thank you very much!\n"
+ .string "I'll be done with registration quickly!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_UnusedApprentice2Reject:: @ 8244350
+ .string "{PLAYER}, I was hoping that I could\n"
+ .string "partner up with you…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Intro:: @ 8244383
+ .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…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon1:: @ 82443E7
+ .string "{STR_VAR_3} advised me, so I have\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon2Ask:: @ 8244413
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Snivel…\n"
+ .string "Please, please team up with me!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Accept:: @ 824444B
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Reject:: @ 82444D6
+ .string "Oh, b-but…\n"
+ .string "Sob… Waaaaah!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Intro:: @ 82444EF
+ .string "Hi, there! I'm {STR_VAR_3}!\n"
+ .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon1:: @ 824451E
+ .string "{STR_VAR_3} recommended my crew.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon2Ask:: @ 8244549
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Accept:: @ 824459B
+ .string "Yay! Great!\n"
+ .string "Okay, I'll go register, okay?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Reject:: @ 82445C5
+ .string "Aww, why?\n"
+ .string "I wanted to team up, {PLAYER}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Intro:: @ 82445E8
+ .string "I'm {STR_VAR_3}, the no. {STR_VAR_2} apprentice\n"
+ .string "of the famous {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon1:: @ 8244618
+ .string "I looked to {STR_VAR_3} for advice.\n"
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon2Ask:: @ 8244643
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Accept:: @ 824468F
+ .string "Thank you!\n"
+ .string "I'll register right away!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Reject:: @ 82446B4
+ .string "{PLAYER}, I had been hoping to join\n"
+ .string "you in a tag team…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Intro:: @ 82446E5
+ .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…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon1:: @ 824474D
+ .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$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon2Ask:: @ 824479E
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Accept:: @ 824480C
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Reject:: @ 82448A7
+ .string "Oh…\n"
+ .string "I didn't think I was good enough…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Intro:: @ 82448CD
+ .string "Hi, I'm {STR_VAR_3}.\n"
+ .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon1:: @ 82448F5
+ .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}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon2Ask:: @ 8244939
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Accept:: @ 8244989
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Reject:: @ 82449E6
+ .string "Huh? Why did you turn me down?\n"
+ .string "You're no judge of character!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Intro:: @ 8244A23
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon1:: @ 8244AA9
+ .string "This is what {STR_VAR_3} recommended.\n"
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon2Ask:: @ 8244AD6
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Accept:: @ 8244B52
+ .string "Thanks, that's the spirit!\n"
+ .string "Hang tight while I go register, okay?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Reject:: @ 8244B93
+ .string "I took time from my busy schedule\n"
+ .string "to be here! Give me a break!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Intro:: @ 8244BD2
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon1:: @ 8244C18
+ .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$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon2Ask:: @ 8244C6E
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Accept:: @ 8244CD6
+ .string "Yay, I think this will be fun!\n"
+ .string "I'll go register!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Reject:: @ 8244D07
+ .string "Oh, you're mean!\n"
+ .string "I come recommended, you know.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Intro:: @ 8244D36
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon1:: @ 8244D82
+ .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}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon2Ask:: @ 8244DC6
+ .string "and one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Please agree to a tag team with me!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Accept:: @ 8244DFE
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Reject:: @ 8244E5B
+ .string "I had been hoping to join you,\n"
+ .string "{PLAYER}…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Intro:: @ 8244E7E
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon1:: @ 8244ECA
+ .string "On {STR_VAR_3}'s advice, I trained\n"
+ .string "one {STR_VAR_1}-using {STR_VAR_2}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon2Ask:: @ 8244EF4
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Accept:: @ 8244F4F
+ .string "Eek! I… I feel giddy!\n"
+ .string "Thank you so much!\l"
+ .string "I'll go register us right away!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Reject:: @ 8244F98
+ .string "Waaah! Don't you feel any pity?\n"
+ .string "But that makes you cooler…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Intro:: @ 8244FD3
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon1:: @ 8245013
+ .string "My mentor {STR_VAR_3} recommended\n"
+ .string "one {STR_VAR_1}-master {STR_VAR_2}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon2Ask:: @ 824503D
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Accept:: @ 8245087
+ .string "Okay, excellent!\n"
+ .string "I'll get the registration done quickly!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Reject:: @ 82450C0
+ .string "Gwaaah!\n"
+ .string "You're a calculating one, {PLAYER}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Intro:: @ 82450E6
+ .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}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon1:: @ 8245196
+ .string "{STR_VAR_3} gave me some advice.\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon2Ask:: @ 82451BD
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Accept:: @ 824522F
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Reject:: @ 824529A
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Intro:: @ 82452EF
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon1:: @ 82453B4
+ .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}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon2Ask:: @ 8245406
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Accept:: @ 8245464
+ .string "Hey, hey, I like your style!\n"
+ .string "Our registration, I will go file!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Reject:: @ 82454A3
+ .string "Oh, hey, {PLAYER}, now that's cold!\n"
+ .string "If I may be so bold!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Intro:: @ 82454D6
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon1:: @ 8245535
+ .string "{STR_VAR_3} told me what to do.\n"
+ .string "So one {STR_VAR_1}-using {STR_VAR_2}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon2Ask:: @ 824555F
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Accept:: @ 82455EC
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Reject:: @ 8245656
+ .string "You're turning me down?\n"
+ .string "{PLAYER}, you're making me frown!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Intro:: @ 824568A
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon1:: @ 82456F5
+ .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$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon2Ask:: @ 8245740
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Accept:: @ 82457D9
+ .string "Thanks, I appreciate this!\n"
+ .string "Cough, cough!\l"
+ .string "Hang on while I go register.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Reject:: @ 824581F
+ .string "Oh, you won't?\n"
+ .string "{PLAYER}, I think we'd make a good pair.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Intro:: @ 8245851
+ .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}.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon1:: @ 824589C
+ .string "{STR_VAR_3} said this team'll be good--\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon2Ask:: @ 82458CE
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Accept:: @ 8245923
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Reject:: @ 824597F
+ .string "Oh, please don't say no!\n"
+ .string "I feel self-conscious enough already…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Intro:: @ 82459BE
+ .string "I am {STR_VAR_3}, and that's no lie.\n"
+ .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon1:: @ 82459F7
+ .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$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon2Ask:: @ 8245A5F
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Accept:: @ 8245AB4
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Reject:: @ 8245B3E
+ .string "Hm? Now why would you refuse?\n"
+ .string "Is this your idea of a joke?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassIntro:: @ 8245B79
+ .string "I'm {STR_VAR_1}, and I'm a LASS!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon1:: @ 8245B91
+ .string "What I have are one {STR_VAR_2}\n"
+ .string "that uses {STR_VAR_1} and one$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon2Ask:: @ 8245BBD
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassAccept:: @ 8245C05
+ .string "Thank you!\n"
+ .string "I'll go do the registration!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassReject:: @ 8245C2D
+ .string "You don't want to be my partner?\n"
+ .string "You'll regret it later!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterIntro:: @ 8245C66
+ .string "Hello!\p"
+ .string "I'm YOUNGSTER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon1:: @ 8245C7F
+ .string "Want to know what I have?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon2Ask:: @ 8245CAC
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "You'll be my tag-team partner,\n"
+ .string "won't you?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterAccept:: @ 8245CE6
+ .string "Yay!\n"
+ .string "I'll go and register, okay?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterReject:: @ 8245D07
+ .string "Aww! If you'd form a tag team with\n"
+ .string "my POKéMON, we'd be unstoppable!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerIntro:: @ 8245D4B
+ .string "Yahoo!\n"
+ .string "I'm HIKER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon1:: @ 8245D60
+ .string "Know what I have with me?\n"
+ .string "My {STR_VAR_1}-using {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon2Ask:: @ 8245D8D
+ .string "my {STR_VAR_1}-using {STR_VAR_2}!\p"
+ .string "Sounds good, eh?\n"
+ .string "Want to form a tag team?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerAccept:: @ 8245DC7
+ .string "Yahoo!\n"
+ .string "I'll go do the registering, then.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerReject:: @ 8245DF0
+ .string "I would've liked to battle with you\n"
+ .string "at my side.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyIntro:: @ 8245E20
+ .string "Hello!\n"
+ .string "I'm {STR_VAR_1}, and I'm a BEAUTY!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon1:: @ 8245E41
+ .string "Do you know what I've been raising?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon2Ask:: @ 8245E78
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "What do you think?\n"
+ .string "Want to make a tag team together?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyAccept:: @ 8245EBD
+ .string "Wonderful!\n"
+ .string "I'll get the registration done now!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyReject:: @ 8245EEC
+ .string "How disappointing!\p"
+ .string "We two together--we would've been\n"
+ .string "the best!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanIntro:: @ 8245F2B
+ .string "Yo!\p"
+ .string "You know who I am?\n"
+ .string "I'm {STR_VAR_1} the FISHERMAN!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon1:: @ 8245F58
+ .string "I've got with me a team of one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon2Ask:: @ 8245F87
+ .string "one {STR_VAR_1}-using {STR_VAR_2}.\p"
+ .string "So, how about it?\n"
+ .string "Will you battle at my side?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanAccept:: @ 8245FC6
+ .string "Good, good!\n"
+ .string "Leave it up to me!\p"
+ .string "I'll go and register us now.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanReject:: @ 8246002
+ .string "We matched up perfectly, too…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyIntro:: @ 8246020
+ .string "Glad to make your acquaintance.\n"
+ .string "I am {STR_VAR_1}, a LADY.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon1:: @ 8246051
+ .string "I am accompanied by a team of\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon2Ask:: @ 8246082
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyAccept:: @ 82460D5
+ .string "I thank you sincerely.\n"
+ .string "I shall handle the registration.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyReject:: @ 824610D
+ .string "I'm sure that you will regret not\n"
+ .string "having me as your partner.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFIntro:: @ 824614A
+ .string "I'm TRIATHLETE {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon1:: @ 824615D
+ .string "What I have…\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon2Ask:: @ 824617D
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFAccept:: @ 82461C7
+ .string "Gee, thanks!\n"
+ .string "I'll go register at the counter.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFReject:: @ 82461F5
+ .string "We two together, we would've been\n"
+ .string "tough for certain!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherIntro:: @ 824622A
+ .string "Hiya!\n"
+ .string "I'm BUG CATCHER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon1:: @ 8246244
+ .string "Check out what I have!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon2Ask:: @ 824626E
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "So, listen!\n"
+ .string "Do you want to form a tag team?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherAccept:: @ 82462AA
+ .string "Gotcha!\p"
+ .string "I'll go do the registration stuff\n"
+ .string "at the counter.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherReject:: @ 82462E4
+ .string "Aww, my POKéMON are awesome.\n"
+ .string "I hope you won't regret this!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMIntro:: @ 824631F
+ .string "Good day!\n"
+ .string "I'm SCHOOL KID {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon1:: @ 824633C
+ .string "What I've been raising are one\n"
+ .string "{STR_VAR_2} that uses {STR_VAR_1}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon2Ask:: @ 824636B
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMAccept:: @ 82463C5
+ .string "Thank you very much!\n"
+ .string "I'll get done with the registration.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMReject:: @ 82463FF
+ .string "That's too bad…\p"
+ .string "I was hoping that I could learn\n"
+ .string "from you as your partner…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyIntro:: @ 8246449
+ .string "Yo! Let me tell you who I am!\n"
+ .string "I'm RICH BOY {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon1:: @ 8246478
+ .string "Guess what I got!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon2Ask:: @ 824649D
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyAccept:: @ 82464EE
+ .string "Smart move!\p"
+ .string "I'll finish up the registration\n"
+ .string "process quick!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyReject:: @ 8246529
+ .string "You'd turn me of all people down?\n"
+ .string "You'll regret that decision for sure!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltIntro:: @ 8246571
+ .string "Hiyah!\n"
+ .string "I am BLACK BELT {STR_VAR_1}.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon1:: @ 824658C
+ .string "As my companions, I have\n"
+ .string "one {STR_VAR_2} using {STR_VAR_1}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon2Ask:: @ 82465B5
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltAccept:: @ 8246605
+ .string "Hiyah!\n"
+ .string "I will go register forthwith!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltReject:: @ 824662A
+ .string "I see… I hope for an opportunity\n"
+ .string "the next time we meet…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFIntro:: @ 8246662
+ .string "Hi, there!\n"
+ .string "I'm {STR_VAR_1}, and I'm a TUBER!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon1:: @ 8246686
+ .string "I'll tell you what I have.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon2Ask:: @ 82466B4
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\n"
+ .string "May I please be on your tag team?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFAccept:: @ 82466E6
+ .string "Thank you!\n"
+ .string "I'll go register us now!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFReject:: @ 824670A
+ .string "If we'd become partners, we could\n"
+ .string "have been so strong!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacIntro:: @ 8246741
+ .string "Greetings…\n"
+ .string "I am HEX MANIAC {STR_VAR_1}…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon1:: @ 8246760
+ .string "I bear with me one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2} together with one$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon2Ask:: @ 8246791
+ .string "{STR_VAR_1}-using {STR_VAR_2}…\p"
+ .string "I beseech you…\n"
+ .string "Join me in a tag team…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacAccept:: @ 82467C4
+ .string "I thank you…\n"
+ .string "I shall register us…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacReject:: @ 82467E6
+ .string "I so longed to join you…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMIntro:: @ 82467FF
+ .string "How do you do? I'm {STR_VAR_1},\n"
+ .string "and I'm a POKéMON BREEDER!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon1:: @ 8246831
+ .string "I'm raising a couple good ones!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon2Ask:: @ 8246864
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "How about it?\n"
+ .string "Feel like making a tag team with me?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMAccept:: @ 82468A7
+ .string "Thank you kindly!\p"
+ .string "I'll go take care of the registration\n"
+ .string "stuff, so you wait right here!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMReject:: @ 82468FE
+ .string "I was looking forward to being\n"
+ .string "your partner…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFIntro:: @ 824692B
+ .string "Well, hello!\n"
+ .string "I'm TRIATHLETE {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon1:: @ 824694B
+ .string "Want to know what I run with?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon2Ask:: @ 824697C
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Well?\n"
+ .string "Want to be in a tag team with me?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFAccept:: @ 82469B4
+ .string "Good going!\p"
+ .string "I'll be quick and get the registration\n"
+ .string "all done!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFReject:: @ 82469F1
+ .string "You and me, we would've been tops.\n"
+ .string "It's too bad…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMIntro:: @ 8246A22
+ .string "Hey, there! My name's {STR_VAR_1}!\n"
+ .string "I'm a TRIATHLETE!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon1:: @ 8246A4E
+ .string "I go on runs with my durable team--\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon2Ask:: @ 8246A85
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMAccept:: @ 8246ACF
+ .string "All right!\n"
+ .string "I'll go register in a flash!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMReject:: @ 8246AF7
+ .string "I really wanted to battle as your\n"
+ .string "tag-team partner…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlIntro:: @ 8246B2B
+ .string "I'm BATTLE GIRL {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon1:: @ 8246B3F
+ .string "I've been toughening up one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon2Ask:: @ 8246B6B
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlAccept:: @ 8246BB2
+ .string "Why, thanks!\p"
+ .string "I'll get the registration done\n"
+ .string "right now!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlReject:: @ 8246BE9
+ .string "With you, I thought we could form\n"
+ .string "the ultimate tag team…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMIntro:: @ 8246C22
+ .string "I'm TRIATHLETE {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon1:: @ 8246C35
+ .string "I've been running with one {STR_VAR_2}\n"
+ .string "that knows how to use {STR_VAR_1}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon2Ask:: @ 8246C6C
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMAccept:: @ 8246CB3
+ .string "Thank you!\p"
+ .string "I'll go register us, and that's\n"
+ .string "right now!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMReject:: @ 8246CE9
+ .string "Aww, that's too bad. We would've been\n"
+ .string "the toughest tag team around!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMIntro:: @ 8246D2D
+ .string "Me?\n"
+ .string "I'm TUBER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon1:: @ 8246D3F
+ .string "What do I have with me?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon2Ask:: @ 8246D6A
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Hey?\n"
+ .string "You'll team up with me, right?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMAccept:: @ 8246D9E
+ .string "Okay!\p"
+ .string "I'll go register!\n"
+ .string "Let's be excellent together!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMReject:: @ 8246DD3
+ .string "My POKéMON are tough for sure…\n"
+ .string "It's too bad you don't want to team up.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristIntro:: @ 8246E1A
+ .string "Yay-hey!\n"
+ .string "Call me GUITARIST {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon1:: @ 8246E39
+ .string "Check out my entourage!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon2Ask:: @ 8246E64
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristAccept:: @ 8246EB6
+ .string "Yay-hey! Right on!\n"
+ .string "I'll do that registration stuff now!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristReject:: @ 8246EEE
+ .string "My POKéMON rock hard!\n"
+ .string "You'll be sorry, I tell you!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanIntro:: @ 8246F21
+ .string "Pleased to meet you.\n"
+ .string "I am {STR_VAR_1}, a GENTLEMAN.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon1:: @ 8246F4C
+ .string "I am accompanied by my trusted\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon2Ask:: @ 8246F7B
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanAccept:: @ 8246FCC
+ .string "Ah, I thank you for your trust.\n"
+ .string "I shall be done with the registration.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanReject:: @ 8247013
+ .string "That is most unfortunate…\p"
+ .string "I shall look forward to the next\n"
+ .string "opportunity…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMIntro:: @ 824705B
+ .string "Hello, I'm {STR_VAR_1},\n"
+ .string "and I'm a POKéFAN.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon1:: @ 824707D
+ .string "I have with me now one {STR_VAR_2}\n"
+ .string "that knows the move {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon2Ask:: @ 82470B2
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMAccept:: @ 82470FD
+ .string "Thank you!\n"
+ .string "I'll look after the registration!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMReject:: @ 824712A
+ .string "My POKéMON are top grade…\n"
+ .string "It's too bad you can't appreciate that.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMIntro:: @ 824716C
+ .string "Hm!\n"
+ .string "I am {STR_VAR_1}, and an EXPERT am I!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon1:: @ 824718D
+ .string "The POKéMON that I've toughened up are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon2Ask:: @ 82471C7
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "What say you to a tag team with me?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMAccept:: @ 82471FB
+ .string "Hm!\n"
+ .string "I shall register us right away!\l"
+ .string "Let us both do our best!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMReject:: @ 8247238
+ .string "I will hope that your choice is\n"
+ .string "indeed correct…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFIntro:: @ 8247268
+ .string "Hello, hello.\n"
+ .string "I'm {STR_VAR_1}, and I'm an EXPERT.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon1:: @ 8247291
+ .string "I've raised my POKéMON thoroughly.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon2Ask:: @ 82472C7
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFAccept:: @ 8247313
+ .string "Good, good.\n"
+ .string "I'll see to the registration right away.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFReject:: @ 8247348
+ .string "Perhaps we can form a team the next\n"
+ .string "time we meet.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerIntro:: @ 824737A
+ .string "I'm DRAGON TAMER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon1:: @ 824738F
+ .string "The team I've been toughening up is\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon2Ask:: @ 82473C6
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "How about it?\n"
+ .string "Want to be my partner?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerAccept:: @ 82473FB
+ .string "Okay, I'll give it my best!\n"
+ .string "I'll go register now, all right?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerReject:: @ 8247438
+ .string "You're not going to find many tougher\n"
+ .string "partners than me!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperIntro:: @ 8247470
+ .string "I'm BIRD KEEPER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon1:: @ 8247484
+ .string "What POKéMON do I have?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon2Ask:: @ 82474AF
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Don't you think we'd make a decent\n"
+ .string "tag team?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperAccept:: @ 82474EC
+ .string "Great, thanks!\n"
+ .string "I'll look after the registration!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperReject:: @ 824751D
+ .string "My POKéMON and I are strong.\n"
+ .string "What a letdown.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyIntro:: @ 824754A
+ .string "I'm NINJA BOY {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon1:: @ 824755C
+ .string "My POKéMON team consists of one\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon2Ask:: @ 824758B
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Let's be in a tag team together!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyAccept:: @ 82475BC
+ .string "Yay!\n"
+ .string "Let me go register!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyReject:: @ 82475D5
+ .string "You'll regret not having my tough\n"
+ .string "POKéMON on your side!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyIntro:: @ 824760D
+ .string "Hello!\n"
+ .string "I'm PARASOL LADY {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon1:: @ 8247629
+ .string "Escorting me now are my {STR_VAR_2}\n"
+ .string "that uses {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon2Ask:: @ 8247655
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyAccept:: @ 824769B
+ .string "Thanks a bunch!\p"
+ .string "I'll go register at the counter.\n"
+ .string "Let's not disappoint each other!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyReject:: @ 82476ED
+ .string "My POKéMON are tremendously strong.\n"
+ .string "How disappointing…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacIntro:: @ 8247724
+ .string "Hello.\n"
+ .string "I'm {STR_VAR_1}, and I'm a BUG MANIAC!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon1:: @ 8247749
+ .string "I have found my POKéMON, yes.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon2Ask:: @ 824777A
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacAccept:: @ 82477CE
+ .string "Okay!\n"
+ .string "Understood!\p"
+ .string "I won't be long with the registration!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacReject:: @ 8247807
+ .string "With the POKéMON I found, we wouldn't\n"
+ .string "have lost…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorIntro:: @ 8247838
+ .string "Ahoy, there!\n"
+ .string "I'm SAILOR {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon1:: @ 8247854
+ .string "Let me show you my pride and joy!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon2Ask:: @ 8247889
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorAccept:: @ 82478DD
+ .string "I didn't expect any less!\n"
+ .string "I'll go register now.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorReject:: @ 824790D
+ .string "We would've stormed through\n"
+ .string "the opposition! Too bad!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorIntro:: @ 8247942
+ .string "Hi, I'm {STR_VAR_1}.\n"
+ .string "I'm a COLLECTOR.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon1:: @ 824795F
+ .string "The jewels in my collection are\n"
+ .string "my {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon2Ask:: @ 8247991
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Swell, huh?\n"
+ .string "We should be in a team together.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorAccept:: @ 82479CE
+ .string "Oh, yeah!\p"
+ .string "Well, let's not waste any time.\n"
+ .string "I'll go register the two of us.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorReject:: @ 8247A18
+ .string "Well, that's upsetting.\n"
+ .string "You don't appreciate my POKéMON.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMIntro:: @ 8247A51
+ .string "Howdy, I'm {STR_VAR_1}.\n"
+ .string "I'm a POKéMON RANGER.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon1:: @ 8247A76
+ .string "Keeping me company are one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon2Ask:: @ 8247AA1
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Don't you think we'd make an impressive\n"
+ .string "tag team?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMAccept:: @ 8247AE3
+ .string "That's super!\n"
+ .string "I'll deal with the registration now.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMReject:: @ 8247B16
+ .string "Next time, choose my POKéMON,\n"
+ .string "will you?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFIntro:: @ 8247B3E
+ .string "My name's {STR_VAR_1}.\n"
+ .string "I'm a POKéMON RANGER!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon1:: @ 8247B62
+ .string "Let me tell you about my team. I have\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon2Ask:: @ 8247B9B
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFAccept:: @ 8247BE7
+ .string "We'll be at our best!\n"
+ .string "I'll get the registration done quick!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFReject:: @ 8247C23
+ .string "I hope you'll choose my POKéMON\n"
+ .string "next time.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyIntro:: @ 8247C4E
+ .string "Pleased to meet you. I'm {STR_VAR_1}.\n"
+ .string "I consider myself an AROMA LADY.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon1:: @ 8247C8C
+ .string "I travel with one {STR_VAR_2}\n"
+ .string "that uses {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon2Ask:: @ 8247CB2
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyAccept:: @ 8247D07
+ .string "I'm honored by your acceptance.\n"
+ .string "I will go register right this instant.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyReject:: @ 8247D4E
+ .string "It would be wonderful if we could form\n"
+ .string "a tag team the next time we meet.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacIntro:: @ 8247D97
+ .string "Want to know who I am?\n"
+ .string "I'm {STR_VAR_1}, the RUIN MANIAC!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon1:: @ 8247DC7
+ .string "The POKéMON that I have with me are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon2Ask:: @ 8247DFE
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Intriguing, eh?\n"
+ .string "How about you and I partner up?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacAccept:: @ 8247E3E
+ .string "That's a sound decision!\n"
+ .string "I'll go do the registration paperwork.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacReject:: @ 8247E7E
+ .string "Hmm…\n"
+ .string "I think my POKéMON are tough…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMIntro:: @ 8247EA1
+ .string "I'm COOLTRAINER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon1:: @ 8247EB5
+ .string "The POKéMON I have right now are one\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon2Ask:: @ 8247EE9
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMAccept:: @ 8247F3F
+ .string "Cool!\n"
+ .string "I'll go do the registration in a flash!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMReject:: @ 8247F6D
+ .string "I thought that we'd make just\n"
+ .string "the greatest team ever.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFIntro:: @ 8247FA3
+ .string "I'm COOLTRAINER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon1:: @ 8247FB7
+ .string "The team I've been raising has one\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon2Ask:: @ 8247FE9
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Does that sound okay?\n"
+ .string "How about we become tag partners?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFAccept:: @ 8248031
+ .string "Sounds A-OK!\n"
+ .string "I'd better do the registration.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFReject:: @ 824805E
+ .string "I was thinking how we would be\n"
+ .string "one tough team…$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacIntro:: @ 824808D
+ .string "Heyo!\n"
+ .string "I'm {STR_VAR_1}, the POKéMANIAC!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon1:: @ 82480AB
+ .string "What does a guy like me have?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon2Ask:: @ 82480DC
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacAccept:: @ 8248128
+ .string "Good call!\n"
+ .string "I'll register the both of us!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacReject:: @ 8248151
+ .string "My POKéMON are brutal!\n"
+ .string "It's not my fault if you regret this!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerIntro:: @ 824818E
+ .string "Yo, there!\n"
+ .string "I'm KINDLER {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon1:: @ 82481A9
+ .string "You know what my training cooked up?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon2Ask:: @ 82481E1
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Well, what do you say?\n"
+ .string "Want to form a tag team?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerAccept:: @ 8248221
+ .string "All right!\n"
+ .string "I'll get on with the registration.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerReject:: @ 824824F
+ .string "Promise you'll partner up with me\n"
+ .string "the next time we run into each other.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperIntro:: @ 8248297
+ .string "I'm {STR_VAR_1}, and I'm a CAMPER!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon1:: @ 82482B1
+ .string "I've been raising one {STR_VAR_1}-\n"
+ .string "using {STR_VAR_2} and one$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon2Ask:: @ 82482DC
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperAccept:: @ 8248321
+ .string "Yeah!\n"
+ .string "Off I go to register!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperReject:: @ 824833D
+ .string "Next time, okay?\n"
+ .string "I want to be on your team.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerIntro:: @ 8248369
+ .string "Hello!\n"
+ .string "I'm {STR_VAR_1}, and I'm a PICNICKER!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon1:: @ 824838D
+ .string "The POKéMON I've been taking are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon2Ask:: @ 82483C1
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Are you interested in joining me\n"
+ .string "on a tag team?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerAccept:: @ 8248401
+ .string "Why, thank you!\n"
+ .string "I will do the registration now.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerReject:: @ 8248431
+ .string "It would be nice if I could join you\n"
+ .string "some other time.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMIntro:: @ 8248467
+ .string "I'm PSYCHIC {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon1:: @ 8248477
+ .string "The twosome I've been raising are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon2Ask:: @ 82484AC
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Would you like to form a tag team\n"
+ .string "with me?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMAccept:: @ 82484E7
+ .string "Sure thing!\n"
+ .string "I'll take care of the registration!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMReject:: @ 8248517
+ .string "If we meet again, that's when I'd like\n"
+ .string "to team up with you.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFIntro:: @ 8248553
+ .string "I'm {STR_VAR_1}.\n"
+ .string "I'm a PSYCHIC.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon1:: @ 824856A
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon2Ask:: @ 824857D
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFAccept:: @ 82485E5
+ .string "Thank you.\n"
+ .string "I'll go deal with the registration.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFReject:: @ 8248614
+ .string "I hope there will be another chance\n"
+ .string "to forge an alliance.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFIntro:: @ 824864E
+ .string "I'm SCHOOL KID {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon1:: @ 8248661
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon2Ask:: @ 8248671
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFAccept:: @ 82486C6
+ .string "Ooh, thank you!\n"
+ .string "I'll register at the counter right away!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFReject:: @ 82486FF
+ .string "Please?\n"
+ .string "May I join you the next time?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFIntro:: @ 8248725
+ .string "Hiya! The name's {STR_VAR_1}!\n"
+ .string "I'm a POKéMON BREEDER!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon1:: @ 8248751
+ .string "The POKéMON I've raised are one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon2Ask:: @ 8248781
+ .string "one {STR_VAR_1}-using {STR_VAR_2}.\p"
+ .string "Sound interesting?\n"
+ .string "How about we form a tag team, then?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFAccept:: @ 82487C9
+ .string "All righty!\n"
+ .string "You leave the registration to me!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFReject:: @ 82487F7
+ .string "You have to team up with me next time,\n"
+ .string "all right?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFIntro:: @ 8248829
+ .string "I'm {STR_VAR_1}, and I'm proud to say\n"
+ .string "that I am a POKéFAN.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon1:: @ 824885B
+ .string "The darling POKéMON I've raised are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon2Ask:: @ 8248892
+ .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!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFAccept:: @ 82488D8
+ .string "Thank you, dear!\n"
+ .string "I'll be on my way to register!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFReject:: @ 8248908
+ .string "My darling POKéMON are the best,\n"
+ .string "I'll have you know. How annoying!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFIntro:: @ 824894B
+ .string "Hi, I'm SWIMMER {STR_VAR_1}.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon1:: @ 824895F
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon2Ask:: @ 824896F
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFAccept:: @ 82489BD
+ .string "That's cool!\n"
+ .string "I'll register the two of us.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFReject:: @ 82489E7
+ .string "If we meet again, you owe me\n"
+ .string "a tag team!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMIntro:: @ 8248A10
+ .string "What's happening?\n"
+ .string "I'm {STR_VAR_1}, and I'm a TRIATHLETE.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon1:: @ 8248A40
+ .string "I got a couple decent POKéMON.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon2Ask:: @ 8248A72
+ .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?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMAccept:: @ 8248AC0
+ .string "Right on!\n"
+ .string "You wait while I register, okay?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMReject:: @ 8248AEB
+ .string "I expect you'll let me join you\n"
+ .string "next time, how's that?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFIntro:: @ 8248B22
+ .string "I'm the TRIATHLETE {STR_VAR_1}!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon1:: @ 8248B39
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon2Ask:: @ 8248B4C
+ .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.$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFAccept:: @ 8248BB4
+ .string "I like that answer!\n"
+ .string "I'll get done with registration fast!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFReject:: @ 8248BEE
+ .string "You'll give me another chance to form\n"
+ .string "a partnership, won't you?$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMIntro:: @ 8248C2E
+ .string "Hi, there! Hello!\n"
+ .string "I'm {STR_VAR_1}, and I'm a SWIMMER!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon1:: @ 8248C5B
+ .string "Check out what I've been raising!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon2Ask:: @ 8248C90
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Sweet, huh?\n"
+ .string "It'd be sweet to form a team, too!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMAccept:: @ 8248CCF
+ .string "Much obliged!\n"
+ .string "I'll get this registration thing done!$"
+
+BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMReject:: @ 8248D04
+ .string "If we meet again, you have to team up\n"
+ .string "with me. You'll do that, right?$"
+
diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.json b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json
index 4c7bcad2a..055b6e56e 100644
--- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.json
+++ b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER",
- "name": "BattleFrontier_BattlePointExchangeServiceCorner",
- "layout": "LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER",
+ "id": "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER",
+ "name": "BattleFrontier_ExchangeServiceCorner",
+ "layout": "LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER",
"music": "MUS_B_TOWER",
"region_map_section": "MAPSEC_BATTLE_FRONTIER",
"requires_flash": false,
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk1",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_RichBoy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_PokefanF",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_Sailor",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_Man",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk2",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_VitaminClerk",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_HoldItemClerk",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1",
+ "script": "BattleFrontier_ExchangeServiceCorner_EventScript_Girl",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc
new file mode 100644
index 000000000..f0fb42bb4
--- /dev/null
+++ b/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc
@@ -0,0 +1,765 @@
+BattleFrontier_ExchangeServiceCorner_MapScripts:: @ 825F070
+ .byte 0
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome:: @ 825F071
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_WelcomePleaseChoosePrize, MSGBOX_DEFAULT
+ special ShowBattlePointsWindow
+ return
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye:: @ 825F07D
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ThankYouVisitWithPoints, MSGBOX_DEFAULT
+ special CloseBattlePointsWindow
+ release
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize:: @ 825F08A
+ specialvar VAR_TEMP_1, GetFrontierBattlePoints
+ compare VAR_TEMP_1, VAR_0x8008
+ goto_if_ge BattleFrontier_ExchangeServiceCorner_EventScript_TryGivePrize
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_DontHaveEnoughPoints, MSGBOX_DEFAULT
+ compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ compare VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_TryGivePrize:: @ 825F0C9
+ compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor
+ compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveItem
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor:: @ 825F0E5
+ checkdecorspace VAR_0x8009
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_NoRoomForDecor
+ copyvar VAR_0x8004, VAR_0x8008
+ special TakeFrontierBattlePoints
+ adddecoration VAR_0x8009
+ special UpdateBattlePointsWindow
+ playse SE_REGI
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_WellSendItToPC, MSGBOX_DEFAULT
+ compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_NoRoomForDecor:: @ 825F11D
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_PCIsFull, MSGBOX_DEFAULT
+ special CloseBattlePointsWindow
+ release
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveItem:: @ 825F12A
+ checkitemspace VAR_0x8009, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_BagFull
+ copyvar VAR_0x8004, VAR_0x8008
+ special TakeFrontierBattlePoints
+ additem VAR_0x8009
+ special UpdateBattlePointsWindow
+ playse SE_REGI
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_HereIsYourPrize, MSGBOX_DEFAULT
+ compare VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_BagFull:: @ 825F166
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_DontHaveSpaceToHoldIt, MSGBOX_DEFAULT
+ special CloseBattlePointsWindow
+ release
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk1:: @ 825F173
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK
+ call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1:: @ 825F185
+ setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1
+ special ShowFrontierExchangeCornerItemIconWindow
+ special ShowScrollableMultichoice
+ waitstate
+ special CloseFrontierExchangeCornerItemIconWindow
+ switch VAR_RESULT
+ case 0, BattleFrontier_ExchangeServiceCorner_EventScript_KissPoster
+ case 1, BattleFrontier_ExchangeServiceCorner_EventScript_KissCushion
+ case 2, BattleFrontier_ExchangeServiceCorner_EventScript_SmoochumDoll
+ case 3, BattleFrontier_ExchangeServiceCorner_EventScript_TogepiDoll
+ case 4, BattleFrontier_ExchangeServiceCorner_EventScript_MeowthDoll
+ case 5, BattleFrontier_ExchangeServiceCorner_EventScript_ClefairyDoll
+ case 6, BattleFrontier_ExchangeServiceCorner_EventScript_DittoDoll
+ case 7, BattleFrontier_ExchangeServiceCorner_EventScript_CyndaquilDoll
+ case 8, BattleFrontier_ExchangeServiceCorner_EventScript_ChikoritaDoll
+ case 9, BattleFrontier_ExchangeServiceCorner_EventScript_TotodileDoll
+ case 10, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_KissPoster:: @ 825F21E
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissPoster, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 16
+ setvar VAR_0x8009, DECOR_KISS_POSTER
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_KissCushion:: @ 825F241
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissCushion, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 32
+ setvar VAR_0x8009, DECOR_KISS_CUSHION
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_SmoochumDoll:: @ 825F264
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmSmoochumDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 32
+ setvar VAR_0x8009, DECOR_SMOOCHUM_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_TogepiDoll:: @ 825F287
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmTogepiDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, DECOR_TOGEPI_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_MeowthDoll:: @ 825F2AA
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmMeowthDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, DECOR_MEOWTH_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ClefairyDoll:: @ 825F2CD
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmClefairyDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, DECOR_CLEFAIRY_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_DittoDoll:: @ 825F2F0
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmDittoDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, DECOR_DITTO_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_CyndaquilDoll:: @ 825F313
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCyndaquilDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 80
+ setvar VAR_0x8009, DECOR_CYNDAQUIL_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ChikoritaDoll:: @ 825F336
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmChikoritaDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 80
+ setvar VAR_0x8009, DECOR_CHIKORITA_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_TotodileDoll:: @ 825F359
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmTotodileDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ setvar VAR_0x8008, 80
+ setvar VAR_0x8009, DECOR_TOTODILE_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_DecorClerk2:: @ 825F37C
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK
+ call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2:: @ 825F38E
+ setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2
+ special ShowFrontierExchangeCornerItemIconWindow
+ special ShowScrollableMultichoice
+ waitstate
+ special CloseFrontierExchangeCornerItemIconWindow
+ switch VAR_RESULT
+ case 0, BattleFrontier_ExchangeServiceCorner_EventScript_LaprasDoll
+ case 1, BattleFrontier_ExchangeServiceCorner_EventScript_SnorlaxDoll
+ case 2, BattleFrontier_ExchangeServiceCorner_EventScript_VenusaurDoll
+ case 3, BattleFrontier_ExchangeServiceCorner_EventScript_CharizardDoll
+ case 4, BattleFrontier_ExchangeServiceCorner_EventScript_BlastoiseDoll
+ case 5, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_LaprasDoll:: @ 825F3F0
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmLaprasDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ setvar VAR_0x8008, 128
+ setvar VAR_0x8009, DECOR_LAPRAS_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_SnorlaxDoll:: @ 825F413
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmSnorlaxDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ setvar VAR_0x8008, 128
+ setvar VAR_0x8009, DECOR_SNORLAX_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_VenusaurDoll:: @ 825F436
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmVenusaurDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ setvar VAR_0x8008, 256
+ setvar VAR_0x8009, DECOR_VENUSAUR_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_CharizardDoll:: @ 825F459
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCharizardDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ setvar VAR_0x8008, 256
+ setvar VAR_0x8009, DECOR_CHARIZARD_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_BlastoiseDoll:: @ 825F47C
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmBlastoiseDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ setvar VAR_0x8008, 256
+ setvar VAR_0x8009, DECOR_BLASTOISE_DOLL
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_VitaminClerk:: @ 825F49F
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK
+ call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin:: @ 825F4B1
+ setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR
+ special ShowFrontierExchangeCornerItemIconWindow
+ special ShowScrollableMultichoice
+ waitstate
+ special CloseFrontierExchangeCornerItemIconWindow
+ switch VAR_RESULT
+ case 0, BattleFrontier_ExchangeServiceCorner_EventScript_Protein
+ case 1, BattleFrontier_ExchangeServiceCorner_EventScript_Calcium
+ case 2, BattleFrontier_ExchangeServiceCorner_EventScript_Iron
+ case 3, BattleFrontier_ExchangeServiceCorner_EventScript_Zinc
+ case 4, BattleFrontier_ExchangeServiceCorner_EventScript_Carbos
+ case 5, BattleFrontier_ExchangeServiceCorner_EventScript_HPUp
+ case 6, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Protein:: @ 825F51E
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmProtein, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, ITEM_PROTEIN
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Calcium:: @ 825F541
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCalcium, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, ITEM_CALCIUM
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Iron:: @ 825F564
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmIron, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, ITEM_IRON
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Zinc:: @ 825F587
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmZinc, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, ITEM_ZINC
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Carbos:: @ 825F5AA
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCarbos, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, ITEM_CARBOS
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_HPUp:: @ 825F5CD
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmHPUp, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, ITEM_HP_UP
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_HoldItemClerk:: @ 825F5F0
+ lock
+ faceplayer
+ setvar VAR_TEMP_2, EXCHANGE_CORNER_HOLD_ITEM_CLERK
+ call BattleFrontier_ExchangeServiceCorner_EventScript_ClerkWelcome
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem:: @ 825F602
+ setvar VAR_0x8004, SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR
+ special ShowFrontierExchangeCornerItemIconWindow
+ special ShowScrollableMultichoice
+ waitstate
+ special CloseFrontierExchangeCornerItemIconWindow
+ switch VAR_RESULT
+ case 0, BattleFrontier_ExchangeServiceCorner_EventScript_Leftovers
+ case 1, BattleFrontier_ExchangeServiceCorner_EventScript_WhiteHerb
+ case 2, BattleFrontier_ExchangeServiceCorner_EventScript_QuickClaw
+ case 3, BattleFrontier_ExchangeServiceCorner_EventScript_MentalHerb
+ case 4, BattleFrontier_ExchangeServiceCorner_EventScript_Brightpowder
+ case 5, BattleFrontier_ExchangeServiceCorner_EventScript_ChoiceBand
+ case 6, BattleFrontier_ExchangeServiceCorner_EventScript_KingsRock
+ case 7, BattleFrontier_ExchangeServiceCorner_EventScript_FocusBand
+ case 8, BattleFrontier_ExchangeServiceCorner_EventScript_ScopeLens
+ case 9, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ case MULTI_B_PRESSED, BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Leftovers:: @ 825F690
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmLeftovers, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, ITEM_LEFTOVERS
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_WhiteHerb:: @ 825F6B3
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmWhiteHerb, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, ITEM_WHITE_HERB
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_QuickClaw:: @ 825F6D6
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmQuickClaw, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, ITEM_QUICK_CLAW
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_MentalHerb:: @ 825F6F9
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmMentalHerb, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, ITEM_MENTAL_HERB
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Brightpowder:: @ 825F71C
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmBrightpowder, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, ITEM_BRIGHT_POWDER
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ChoiceBand:: @ 825F73F
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmChoiceBand, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, ITEM_CHOICE_BAND
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_KingsRock:: @ 825F762
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKingsRock, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, ITEM_KINGS_ROCK
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_FocusBand:: @ 825F785
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmFocusBand, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, ITEM_FOCUS_BAND
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_ScopeLens:: @ 825F7A8
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmScopeLens, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, ITEM_SCOPE_LENS
+ goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Man:: @ 825F7CB
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_GoGetYourOwnDoll, MSGBOX_NPC
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Sailor:: @ 825F7D4
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_ItemsWillGetMonTougher, MSGBOX_NPC
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_PokefanF:: @ 825F7DD
+ lock
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_GetYouAnythingYouWant, MSGBOX_DEFAULT
+ release
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_RichBoy:: @ 825F7E8
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_WishIHadAllDolls, MSGBOX_NPC
+ end
+
+BattleFrontier_ExchangeServiceCorner_EventScript_Girl:: @ 825F7F1
+ msgbox BattleFrontier_ExchangeServiceCorner_Text_MoreBattlePointsForRecord, MSGBOX_NPC
+ end
+
+BattleFrontier_ExchangeServiceCorner_Text_WelcomePleaseChoosePrize: @ 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.$"
+
+@ Unused
+BattleFrontier_ExchangeServiceCorner_Text_PleaseChoosePrize: @ 825F890
+ .string "Please choose a prize from this list.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissPoster: @ 825F8B6
+ .string "You've chosen the KISS POSTER.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissCushion: @ 825F8E6
+ .string "You've chosen the KISS CUSHION.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmSmoochumDoll: @ 825F917
+ .string "You've chosen the SMOOCHUM DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmTogepiDoll: @ 825F949
+ .string "You've chosen the TOGEPI DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmMeowthDoll: @ 825F979
+ .string "You've chosen the MEOWTH DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmClefairyDoll: @ 825F9A9
+ .string "You've chosen the CLEFAIRY DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmDittoDoll: @ 825F9DB
+ .string "You've chosen the DITTO DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmCyndaquilDoll: @ 825FA0A
+ .string "You've chosen the CYNDAQUIL DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmChikoritaDoll: @ 825FA3D
+ .string "You've chosen the CHIKORITA DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmTotodileDoll: @ 825FA70
+ .string "You've chosen the TOTODILE DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmLaprasDoll: @ 825FAA2
+ .string "You've chosen the LAPRAS DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmSnorlaxDoll: @ 825FAD2
+ .string "You've chosen the SNORLAX DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmVenusaurDoll: @ 825FB03
+ .string "You've chosen the VENUSAUR DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmCharizardDoll: @ 825FB35
+ .string "You've chosen the CHARIZARD DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmBlastoiseDoll: @ 825FB68
+ .string "You've chosen the BLASTOISE DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmProtein: @ 825FB9B
+ .string "You've chosen the PROTEIN.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmCalcium: @ 825FBC7
+ .string "You've chosen the CALCIUM.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmIron: @ 825FBF3
+ .string "You've chosen the IRON.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmZinc: @ 825FC1C
+ .string "You've chosen the ZINC.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmCarbos: @ 825FC45
+ .string "You've chosen the CARBOS.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmHPUp: @ 825FC70
+ .string "You've chosen the HP UP.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmBrightpowder: @ 825FC9A
+ .string "You've chosen the BRIGHTPOWDER.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmWhiteHerb: @ 825FCCB
+ .string "You've chosen the WHITE HERB.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmQuickClaw: @ 825FCFA
+ .string "You've chosen the QUICK CLAW.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmMentalHerb: @ 825FD29
+ .string "You've chosen the MENTAL HERB.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmChoiceBand: @ 825FD59
+ .string "You've chosen the CHOICE BAND.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmKingsRock: @ 825FD89
+ .string "You've chosen the KING'S ROCK.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmFocusBand: @ 825FDB9
+ .string "You've chosen the FOCUS BAND.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmScopeLens: @ 825FDE8
+ .string "You've chosen the SCOPE LENS.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ConfirmLeftovers: @ 825FE17
+ .string "You've chosen the LEFTOVERS.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_ExchangeServiceCorner_Text_WellSendItToPC: @ 825FE45
+ .string "Thank you!\n"
+ .string "We'll send it to your PC at home.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_HereIsYourPrize: @ 825FE72
+ .string "Here is your prize!$"
+
+BattleFrontier_ExchangeServiceCorner_Text_DontHaveEnoughPoints: @ 825FE86
+ .string "I'm so sorry…\n"
+ .string "You don't have enough Battle Points…$"
+
+BattleFrontier_ExchangeServiceCorner_Text_PCIsFull: @ 825FEB9
+ .string "I'm so sorry…\n"
+ .string "Your PC appears to be full…$"
+
+BattleFrontier_ExchangeServiceCorner_Text_DontHaveSpaceToHoldIt: @ 825FEE3
+ .string "I'm so sorry…\n"
+ .string "You don't have space to hold it…$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ThankYouVisitWithPoints: @ 825FF12
+ .string "Thank you very much.\p"
+ .string "Please visit us when you have\n"
+ .string "saved up Battle Points.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_WishIHadAllDolls: @ 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_ExchangeServiceCorner_Text_GetYouAnythingYouWant: @ 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_ExchangeServiceCorner_Text_ItemsWillGetMonTougher: @ 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_ExchangeServiceCorner_Text_GoGetYourOwnDoll: @ 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_ExchangeServiceCorner_Text_MoreBattlePointsForRecord: @ 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_ExchangeServiceCorner_Text_KissPosterDesc:: @ 82601AA
+ .string "A large poster with a SMOOCHUM print.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc:: @ 82601D0
+ .string "A SMOOCHUM cushion.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc:: @ 8260201
+ .string "A SMOOCHUM DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc:: @ 826022F
+ .string "A TOGEPI DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc:: @ 826025B
+ .string "A MEOWTH DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc:: @ 8260287
+ .string "A CLEFAIRY DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc:: @ 82602B5
+ .string "A DITTO DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc:: @ 82602E0
+ .string "A CYNDAQUIL DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc:: @ 826030F
+ .string "A CHIKORITA DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc:: @ 826033E
+ .string "A TOTODILE DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc:: @ 826036C
+ .string "A large DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc:: @ 8260397
+ .string "Raises the stat ATTACK of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc:: @ 82603BE
+ .string "Raises the stat SP. ATK of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_IronDesc:: @ 82603E6
+ .string "Raises the stat DEFENSE of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ZincDesc:: @ 826040E
+ .string "Raises the stat SP. DEF of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc:: @ 8260436
+ .string "Raises the stat SPEED of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc:: @ 826045C
+ .string "Raises the HP of one POKéMON.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc:: @ 826047A
+ .string "A hold item that gradually restores\n"
+ .string "HP in battle.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc:: @ 82604AC
+ .string "A hold item that restores any\n"
+ .string "lowered stat.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc:: @ 82604D8
+ .string "A hold item that occasionally allows\n"
+ .string "the first strike.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc:: @ 826050F
+ .string "A hold item that snaps POKéMON out\n"
+ .string "of infatuation.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc:: @ 8260542
+ .string "A hold item that casts a glare to\n"
+ .string "reduce accuracy.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc:: @ 8260575
+ .string "Raises a move's power, but permits\n"
+ .string "only that move.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc:: @ 82605A8
+ .string "A hold item that may cause flinching\n"
+ .string "when the foe is hit.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc:: @ 82605E2
+ .string "A hold item that occasionally\n"
+ .string "prevents fainting.$"
+
+BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc:: @ 8260613
+ .string "A hold item that raises the\n"
+ .string "critical-hit rate.$"
diff --git a/data/maps/BattleFrontier_Lounge1/map.json b/data/maps/BattleFrontier_Lounge1/map.json
index 8d4870f4f..d63190776 100644
--- a/data/maps/BattleFrontier_Lounge1/map.json
+++ b/data/maps/BattleFrontier_Lounge1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge1_EventScript_25E775",
+ "script": "BattleFrontier_Lounge1_EventScript_Breeder",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge1_EventScript_25E94D",
+ "script": "BattleFrontier_Lounge1_EventScript_Boy1",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge1_EventScript_25E956",
+ "script": "BattleFrontier_Lounge1_EventScript_Boy2",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc
index 28aab432b..0ded021b6 100644
--- a/data/maps/BattleFrontier_Lounge1/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge1/scripts.inc
@@ -1,166 +1,173 @@
BattleFrontier_Lounge1_MapScripts:: @ 825E774
.byte 0
-BattleFrontier_Lounge1_EventScript_25E775:: @ 825E775
+@ NPC that rates pokemon based on their IVs
+BattleFrontier_Lounge1_EventScript_Breeder:: @ 825E775
lock
faceplayer
- call_if_unset FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_25E7AD
- call_if_set FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_25E7B6
+ call_if_unset FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_BreederIntro
+ call_if_set FLAG_MET_BATTLE_FRONTIER_BREEDER, BattleFrontier_Lounge1_EventScript_AlreadyMetBreeder
setflag FLAG_MET_BATTLE_FRONTIER_BREEDER
- goto BattleFrontier_Lounge1_EventScript_25E792
+ goto BattleFrontier_Lounge1_EventScript_ChooseMonToShowBreeder
end
-BattleFrontier_Lounge1_EventScript_25E792:: @ 825E792
- special sub_81B94B0
+BattleFrontier_Lounge1_EventScript_ChooseMonToShowBreeder:: @ 825E792
+ special ChoosePartyMon
waitstate
compare VAR_0x8004, 255
- goto_if_ne BattleFrontier_Lounge1_EventScript_25E7BF
+ goto_if_ne BattleFrontier_Lounge1_EventScript_ShowMonToBreeder
compare VAR_0x8004, 255
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E943
+ goto_if_eq BattleFrontier_Lounge1_EventScript_CancelMonSelect
end
-BattleFrontier_Lounge1_EventScript_25E7AD:: @ 825E7AD
- msgbox BattleFrontier_Lounge1_Text_25E95F, MSGBOX_DEFAULT
+BattleFrontier_Lounge1_EventScript_BreederIntro:: @ 825E7AD
+ msgbox BattleFrontier_Lounge1_Text_PokemonBreederIntro, MSGBOX_DEFAULT
return
-BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6
- msgbox BattleFrontier_Lounge1_Text_25EEF6, MSGBOX_DEFAULT
+BattleFrontier_Lounge1_EventScript_AlreadyMetBreeder:: @ 825E7B6
+ msgbox BattleFrontier_Lounge1_Text_LetsLookAtYourPokemon, MSGBOX_DEFAULT
return
-BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF
+@ BufferVarsForIVRater buffers the following values
+@ VAR_0x8005: Sum of the mons IVs
+@ VAR_0x8006: Stat id of highest IV stat
+@ VAR_0x8007: IV of the highest IV stat
+BattleFrontier_Lounge1_EventScript_ShowMonToBreeder:: @ 825E7BF
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
- compare VAR_RESULT, 412
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E7FF
- special sub_8139D98
- compare VAR_0x8005, 90
- goto_if_le BattleFrontier_Lounge1_EventScript_25E87F
- compare VAR_0x8005, 120
- goto_if_le BattleFrontier_Lounge1_EventScript_25E88D
- compare VAR_0x8005, 150
- goto_if_le BattleFrontier_Lounge1_EventScript_25E89B
- compare VAR_0x8005, 151
- goto_if_ge BattleFrontier_Lounge1_EventScript_25E8A9
+ compare VAR_RESULT, SPECIES_EGG
+ goto_if_eq BattleFrontier_Lounge1_EventScript_ShowEggToBreeder
+ special BufferVarsForIVRater
+ compare VAR_0x8005, 90 @ Average of 15
+ goto_if_le BattleFrontier_Lounge1_EventScript_AverageTotalIVs
+ compare VAR_0x8005, 120 @ Average of 20
+ goto_if_le BattleFrontier_Lounge1_EventScript_AboveAverageTotalIVs
+ compare VAR_0x8005, 150 @ Average of 25
+ goto_if_le BattleFrontier_Lounge1_EventScript_HighTotalIVs
+ compare VAR_0x8005, 151 @ Average of > 25
+ goto_if_ge BattleFrontier_Lounge1_EventScript_VeryHighTotalIVs
end
-BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF
- msgbox BattleFrontier_Lounge1_Text_25EF5E, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E792
+BattleFrontier_Lounge1_EventScript_ShowEggToBreeder:: @ 825E7FF
+ msgbox BattleFrontier_Lounge1_Text_EvenICantTell, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_ChooseMonToShowBreeder
end
-BattleFrontier_Lounge1_EventScript_25E80D:: @ 825E80D
- compare VAR_0x8006, 0
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E8B7
- compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E8C5
- compare VAR_0x8006, 2
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E8D3
- compare VAR_0x8006, 3
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E8E1
- compare VAR_0x8006, 4
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E8EF
- compare VAR_0x8006, 5
- goto_if_eq BattleFrontier_Lounge1_EventScript_25E8FD
+@ Comment on the highest IV stat
+BattleFrontier_Lounge1_EventScript_HighestIVStat:: @ 825E80D
+ compare VAR_0x8006, STAT_HP
+ goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVHP
+ compare VAR_0x8006, STAT_ATK
+ goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVAtk
+ compare VAR_0x8006, STAT_DEF
+ goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVDef
+ compare VAR_0x8006, STAT_SPEED
+ goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpeed
+ compare VAR_0x8006, STAT_SPATK
+ goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpAtk
+ compare VAR_0x8006, STAT_SPDEF
+ goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpDef
end
-BattleFrontier_Lounge1_EventScript_25E850:: @ 825E850
+@ Comment on the highest IV value
+BattleFrontier_Lounge1_EventScript_HighestIVValue:: @ 825E850
compare VAR_0x8007, 15
- goto_if_le BattleFrontier_Lounge1_EventScript_25E90B
+ goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVLow
compare VAR_0x8007, 25
- goto_if_le BattleFrontier_Lounge1_EventScript_25E919
+ goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVMid
compare VAR_0x8007, 30
- goto_if_le BattleFrontier_Lounge1_EventScript_25E927
+ goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVHigh
compare VAR_0x8007, 31
- goto_if_ge BattleFrontier_Lounge1_EventScript_25E935
+ goto_if_ge BattleFrontier_Lounge1_EventScript_HighestIVMax
end
-BattleFrontier_Lounge1_EventScript_25E87D:: @ 825E87D
+BattleFrontier_Lounge1_EventScript_EndBreederComments:: @ 825E87D
release
end
-BattleFrontier_Lounge1_EventScript_25E87F:: @ 825E87F
- msgbox BattleFrontier_Lounge1_Text_25EA92, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E80D
+BattleFrontier_Lounge1_EventScript_AverageTotalIVs:: @ 825E87F
+ msgbox BattleFrontier_Lounge1_Text_AverageAbility, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVStat
end
-BattleFrontier_Lounge1_EventScript_25E88D:: @ 825E88D
- msgbox BattleFrontier_Lounge1_Text_25EAD9, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E80D
+BattleFrontier_Lounge1_EventScript_AboveAverageTotalIVs:: @ 825E88D
+ msgbox BattleFrontier_Lounge1_Text_BetterThanAverageAbility, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVStat
end
-BattleFrontier_Lounge1_EventScript_25E89B:: @ 825E89B
- msgbox BattleFrontier_Lounge1_Text_25EB2A, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E80D
+BattleFrontier_Lounge1_EventScript_HighTotalIVs:: @ 825E89B
+ msgbox BattleFrontier_Lounge1_Text_ImpressiveAbility, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVStat
end
-BattleFrontier_Lounge1_EventScript_25E8A9:: @ 825E8A9
- msgbox BattleFrontier_Lounge1_Text_25EB6F, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E80D
+BattleFrontier_Lounge1_EventScript_VeryHighTotalIVs:: @ 825E8A9
+ msgbox BattleFrontier_Lounge1_Text_OutstandingAbility, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVStat
end
-BattleFrontier_Lounge1_EventScript_25E8B7:: @ 825E8B7
- msgbox BattleFrontier_Lounge1_Text_25EBBB, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E850
+BattleFrontier_Lounge1_EventScript_HighestIVHP:: @ 825E8B7
+ msgbox BattleFrontier_Lounge1_Text_BestAspectHP, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVValue
end
-BattleFrontier_Lounge1_EventScript_25E8C5:: @ 825E8C5
- msgbox BattleFrontier_Lounge1_Text_25EBF8, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E850
+BattleFrontier_Lounge1_EventScript_HighestIVAtk:: @ 825E8C5
+ msgbox BattleFrontier_Lounge1_Text_BestAspectAtk, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVValue
end
-BattleFrontier_Lounge1_EventScript_25E8D3:: @ 825E8D3
- msgbox BattleFrontier_Lounge1_Text_25EC39, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E850
+BattleFrontier_Lounge1_EventScript_HighestIVDef:: @ 825E8D3
+ msgbox BattleFrontier_Lounge1_Text_BestAspectDef, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVValue
end
-BattleFrontier_Lounge1_EventScript_25E8E1:: @ 825E8E1
- msgbox BattleFrontier_Lounge1_Text_25ED0E, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E850
+BattleFrontier_Lounge1_EventScript_HighestIVSpeed:: @ 825E8E1
+ msgbox BattleFrontier_Lounge1_Text_BestAspectSpeed, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVValue
end
-BattleFrontier_Lounge1_EventScript_25E8EF:: @ 825E8EF
- msgbox BattleFrontier_Lounge1_Text_25EC7B, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E850
+BattleFrontier_Lounge1_EventScript_HighestIVSpAtk:: @ 825E8EF
+ msgbox BattleFrontier_Lounge1_Text_BestAspectSpAtk, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVValue
end
-BattleFrontier_Lounge1_EventScript_25E8FD:: @ 825E8FD
- msgbox BattleFrontier_Lounge1_Text_25ECC4, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E850
+BattleFrontier_Lounge1_EventScript_HighestIVSpDef:: @ 825E8FD
+ msgbox BattleFrontier_Lounge1_Text_BestAspectSpDef, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_HighestIVValue
end
-BattleFrontier_Lounge1_EventScript_25E90B:: @ 825E90B
- msgbox BattleFrontier_Lounge1_Text_25ED4E, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E87D
+BattleFrontier_Lounge1_EventScript_HighestIVLow:: @ 825E90B
+ msgbox BattleFrontier_Lounge1_Text_StatRelativelyGood, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_EndBreederComments
end
-BattleFrontier_Lounge1_EventScript_25E919:: @ 825E919
- msgbox BattleFrontier_Lounge1_Text_25ED87, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E87D
+BattleFrontier_Lounge1_EventScript_HighestIVMid:: @ 825E919
+ msgbox BattleFrontier_Lounge1_Text_StatImpressive, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_EndBreederComments
end
-BattleFrontier_Lounge1_EventScript_25E927:: @ 825E927
- msgbox BattleFrontier_Lounge1_Text_25EDC1, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E87D
+BattleFrontier_Lounge1_EventScript_HighestIVHigh:: @ 825E927
+ msgbox BattleFrontier_Lounge1_Text_StatOutstanding, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_EndBreederComments
end
-BattleFrontier_Lounge1_EventScript_25E935:: @ 825E935
- msgbox BattleFrontier_Lounge1_Text_25EDF6, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge1_EventScript_25E87D
+BattleFrontier_Lounge1_EventScript_HighestIVMax:: @ 825E935
+ msgbox BattleFrontier_Lounge1_Text_StatFlawless, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge1_EventScript_EndBreederComments
end
-BattleFrontier_Lounge1_EventScript_25E943:: @ 825E943
- msgbox BattleFrontier_Lounge1_Text_25EE37, MSGBOX_DEFAULT
+BattleFrontier_Lounge1_EventScript_CancelMonSelect:: @ 825E943
+ msgbox BattleFrontier_Lounge1_Text_NoTimeForMyAdvice, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge1_EventScript_25E94D:: @ 825E94D
- msgbox BattleFrontier_Lounge1_Text_25EFDD, MSGBOX_NPC
+BattleFrontier_Lounge1_EventScript_Boy1:: @ 825E94D
+ msgbox BattleFrontier_Lounge1_Text_SaidMyMonIsOutstanding, MSGBOX_NPC
end
-BattleFrontier_Lounge1_EventScript_25E956:: @ 825E956
- msgbox BattleFrontier_Lounge1_Text_25F020, MSGBOX_NPC
+BattleFrontier_Lounge1_EventScript_Boy2:: @ 825E956
+ msgbox BattleFrontier_Lounge1_Text_DidntDoAnythingSpecialRaisingIt, MSGBOX_NPC
end
-BattleFrontier_Lounge1_Text_25E95F: @ 825E95F
+BattleFrontier_Lounge1_Text_PokemonBreederIntro: @ 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"
@@ -173,94 +180,95 @@ BattleFrontier_Lounge1_Text_25E95F: @ 825E95F
.string "Here!\n"
.string "Let's have a look at your POKéMON!$"
-BattleFrontier_Lounge1_Text_25EA92: @ 825EA92
+BattleFrontier_Lounge1_Text_AverageAbility: @ 825EA92
.string "…Hmm…\p"
.string "This one, overall, I would describe\n"
.string "as being of average ability.$"
-BattleFrontier_Lounge1_Text_25EAD9: @ 825EAD9
+BattleFrontier_Lounge1_Text_BetterThanAverageAbility: @ 825EAD9
.string "…Hmm…\p"
.string "This one, overall, I would describe as\n"
.string "having better-than-average ability.$"
-BattleFrontier_Lounge1_Text_25EB2A: @ 825EB2A
+BattleFrontier_Lounge1_Text_ImpressiveAbility: @ 825EB2A
.string "…Hmm…\p"
.string "This one, overall, I would say is\n"
.string "quite impressive in ability!$"
-BattleFrontier_Lounge1_Text_25EB6F: @ 825EB6F
+BattleFrontier_Lounge1_Text_OutstandingAbility: @ 825EB6F
.string "…Hmm…\p"
.string "This one, overall, I would say is\n"
.string "wonderfully outstanding in ability!$"
-BattleFrontier_Lounge1_Text_25EBBB: @ 825EBBB
+BattleFrontier_Lounge1_Text_BestAspectHP: @ 825EBBB
.string "Incidentally, the best aspect of it,\n"
.string "I would say, is its HP…$"
-BattleFrontier_Lounge1_Text_25EBF8: @ 825EBF8
+BattleFrontier_Lounge1_Text_BestAspectAtk: @ 825EBF8
.string "Incidentally, the best aspect of it,\n"
.string "I would say, is its ATTACK…$"
-BattleFrontier_Lounge1_Text_25EC39: @ 825EC39
+BattleFrontier_Lounge1_Text_BestAspectDef: @ 825EC39
.string "Incidentally, the best aspect of it,\n"
.string "I would say, is its DEFENSE…$"
-BattleFrontier_Lounge1_Text_25EC7B: @ 825EC7B
+BattleFrontier_Lounge1_Text_BestAspectSpAtk: @ 825EC7B
.string "Incidentally, the best aspect of it,\n"
.string "I would say, is its SPECIAL ATTACK…$"
-BattleFrontier_Lounge1_Text_25ECC4: @ 825ECC4
+BattleFrontier_Lounge1_Text_BestAspectSpDef: @ 825ECC4
.string "Incidentally, the best aspect of it,\n"
.string "I would say, is its SPECIAL DEFENSE…$"
-BattleFrontier_Lounge1_Text_25ED0E: @ 825ED0E
+BattleFrontier_Lounge1_Text_BestAspectSpeed: @ 825ED0E
.string "Incidentally, the best aspect of it,\n"
.string "I would say, is its SPEED…$"
-BattleFrontier_Lounge1_Text_25ED4E: @ 825ED4E
+BattleFrontier_Lounge1_Text_StatRelativelyGood: @ 825ED4E
.string "That stat is relatively good.\n"
.string "…Hm… That's how I call it.$"
-BattleFrontier_Lounge1_Text_25ED87: @ 825ED87
+BattleFrontier_Lounge1_Text_StatImpressive: @ 825ED87
.string "That stat is quite impressive.\n"
.string "…Hm… That's how I call it.$"
-BattleFrontier_Lounge1_Text_25EDC1: @ 825EDC1
+BattleFrontier_Lounge1_Text_StatOutstanding: @ 825EDC1
.string "That stat is outstanding!\n"
.string "…Hm… That's how I call it.$"
-BattleFrontier_Lounge1_Text_25EDF6: @ 825EDF6
+BattleFrontier_Lounge1_Text_StatFlawless: @ 825EDF6
.string "It's flawless! A thing of perfection!\n"
.string "…Hm… That's how I call it.$"
-BattleFrontier_Lounge1_Text_25EE37: @ 825EE37
+BattleFrontier_Lounge1_Text_NoTimeForMyAdvice: @ 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
+@ Unused
+BattleFrontier_Lounge1_Text_HaveBusinessNeedsTending: @ 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
+BattleFrontier_Lounge1_Text_LetsLookAtYourPokemon: @ 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
+BattleFrontier_Lounge1_Text_EvenICantTell: @ 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
+BattleFrontier_Lounge1_Text_SaidMyMonIsOutstanding: @ 825EFDD
.string "He said my POKéMON is outstanding!\n"
.string "I'm glad I raised it carefully!$"
-BattleFrontier_Lounge1_Text_25F020: @ 825F020
+BattleFrontier_Lounge1_Text_DidntDoAnythingSpecialRaisingIt: @ 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/maps/BattleFrontier_Lounge2/map.json b/data/maps/BattleFrontier_Lounge2/map.json
index e2ace0b93..575f2898e 100644
--- a/data/maps/BattleFrontier_Lounge2/map.json
+++ b/data/maps/BattleFrontier_Lounge2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge2_EventScript_260643",
+ "script": "BattleFrontier_Lounge2_EventScript_FrontierManiac",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge2_EventScript_26073C",
+ "script": "BattleFrontier_Lounge2_EventScript_Maniac1",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge2_EventScript_260747",
+ "script": "BattleFrontier_Lounge2_EventScript_Maniac2",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge2_EventScript_26075D",
+ "script": "BattleFrontier_Lounge2_EventScript_TriathleteF",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge2_EventScript_260752",
+ "script": "BattleFrontier_Lounge2_EventScript_Maniac3",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge2/scripts.inc b/data/maps/BattleFrontier_Lounge2/scripts.inc
index 435eb4127..610a744b4 100644
--- a/data/maps/BattleFrontier_Lounge2/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge2/scripts.inc
@@ -1,122 +1,128 @@
BattleFrontier_Lounge2_MapScripts:: @ 8260642
.byte 0
-BattleFrontier_Lounge2_EventScript_260643:: @ 8260643
+@ This NPC gives hints about a random facility or battle mode.
+@ For battle modes he gives generic advice
+@ For facilities, depending on how far the player has progressed he will say either
+@ The name of the Frontier Brain there
+@ The type and description of the 3 pokemon they use in their silver battle
+@ The type and description of the 3 pokemon they use in their gold battle
+BattleFrontier_Lounge2_EventScript_FrontierManiac:: @ 8260643
lock
faceplayer
- goto_if_set FLAG_MET_BATTLE_FRONTIER_MANIAC, BattleFrontier_Lounge2_EventScript_26065F
+ goto_if_set FLAG_MET_BATTLE_FRONTIER_MANIAC, BattleFrontier_Lounge2_EventScript_AlreadyMetManiac
setflag FLAG_MET_BATTLE_FRONTIER_MANIAC
- msgbox BattleFrontier_Lounge2_Text_260766, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge2_EventScript_26066D
+ msgbox BattleFrontier_Lounge2_Text_FrontierManiacIntro, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge2_EventScript_GiveAdvice
end
-BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F
- msgbox BattleFrontier_Lounge2_Text_260857, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge2_EventScript_26066D
+BattleFrontier_Lounge2_EventScript_AlreadyMetManiac:: @ 826065F
+ msgbox BattleFrontier_Lounge2_Text_SwingByForTheLatestWord, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge2_EventScript_GiveAdvice
end
-BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D
+BattleFrontier_Lounge2_EventScript_GiveAdvice:: @ 826066D
compare VAR_FRONTIER_MANIAC_FACILITY, 0
- call_if_eq BattleFrontier_Lounge2_EventScript_26070A
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferSingle
compare VAR_FRONTIER_MANIAC_FACILITY, 1
- call_if_eq BattleFrontier_Lounge2_EventScript_26070F
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferDouble
compare VAR_FRONTIER_MANIAC_FACILITY, 2
- call_if_eq BattleFrontier_Lounge2_EventScript_260714
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferMulti
compare VAR_FRONTIER_MANIAC_FACILITY, 3
- call_if_eq BattleFrontier_Lounge2_EventScript_260719
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferMultiLink
compare VAR_FRONTIER_MANIAC_FACILITY, 4
- call_if_eq BattleFrontier_Lounge2_EventScript_26071E
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleDome
compare VAR_FRONTIER_MANIAC_FACILITY, 5
- call_if_eq BattleFrontier_Lounge2_EventScript_260723
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleFactory
compare VAR_FRONTIER_MANIAC_FACILITY, 6
- call_if_eq BattleFrontier_Lounge2_EventScript_260728
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePalace
compare VAR_FRONTIER_MANIAC_FACILITY, 7
- call_if_eq BattleFrontier_Lounge2_EventScript_26072D
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleArena
compare VAR_FRONTIER_MANIAC_FACILITY, 8
- call_if_eq BattleFrontier_Lounge2_EventScript_260732
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePike
compare VAR_FRONTIER_MANIAC_FACILITY, 9
- call_if_eq BattleFrontier_Lounge2_EventScript_260737
+ call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePyramid
compare VAR_FRONTIER_MANIAC_FACILITY, 3
- call_if_le BattleFrontier_Lounge2_EventScript_2606F8
+ call_if_le BattleFrontier_Lounge2_EventScript_BattleTowerNews
compare VAR_FRONTIER_MANIAC_FACILITY, 4
- call_if_ge BattleFrontier_Lounge2_EventScript_260701
- special sub_8139F20
+ call_if_ge BattleFrontier_Lounge2_EventScript_FacilityNews
+ special ShowFrontierManiacMessage
waitmessage
waitbuttonpress
release
end
-BattleFrontier_Lounge2_EventScript_2606F8:: @ 82606F8
- msgbox BattleFrontier_Lounge2_Text_260933, MSGBOX_DEFAULT
+BattleFrontier_Lounge2_EventScript_BattleTowerNews:: @ 82606F8
+ msgbox BattleFrontier_Lounge2_Text_BattleTowerIsHottest, MSGBOX_DEFAULT
return
-BattleFrontier_Lounge2_EventScript_260701:: @ 8260701
- msgbox BattleFrontier_Lounge2_Text_2608F2, MSGBOX_DEFAULT
+BattleFrontier_Lounge2_EventScript_FacilityNews:: @ 8260701
+ msgbox BattleFrontier_Lounge2_Text_FacilityIsHottest, MSGBOX_DEFAULT
return
-BattleFrontier_Lounge2_EventScript_26070A:: @ 826070A
- bufferstdstring 0, 19
+BattleFrontier_Lounge2_EventScript_BufferSingle:: @ 826070A
+ bufferstdstring 0, STDSTRING_SINGLE
return
-BattleFrontier_Lounge2_EventScript_26070F:: @ 826070F
- bufferstdstring 0, 20
+BattleFrontier_Lounge2_EventScript_BufferDouble:: @ 826070F
+ bufferstdstring 0, STDSTRING_DOUBLE
return
-BattleFrontier_Lounge2_EventScript_260714:: @ 8260714
- bufferstdstring 0, 21
+BattleFrontier_Lounge2_EventScript_BufferMulti:: @ 8260714
+ bufferstdstring 0, STDSTRING_MULTI
return
-BattleFrontier_Lounge2_EventScript_260719:: @ 8260719
- bufferstdstring 0, 22
+BattleFrontier_Lounge2_EventScript_BufferMultiLink:: @ 8260719
+ bufferstdstring 0, STDSTRING_MULTI_LINK
return
-BattleFrontier_Lounge2_EventScript_26071E:: @ 826071E
- bufferstdstring 0, 24
+BattleFrontier_Lounge2_EventScript_BufferBattleDome:: @ 826071E
+ bufferstdstring 0, STDSTRING_BATTLE_DOME
return
-BattleFrontier_Lounge2_EventScript_260723:: @ 8260723
- bufferstdstring 0, 25
+BattleFrontier_Lounge2_EventScript_BufferBattleFactory:: @ 8260723
+ bufferstdstring 0, STDSTRING_BATTLE_FACTORY
return
-BattleFrontier_Lounge2_EventScript_260728:: @ 8260728
- bufferstdstring 0, 26
+BattleFrontier_Lounge2_EventScript_BufferBattlePalace:: @ 8260728
+ bufferstdstring 0, STDSTRING_BATTLE_PALACE
return
-BattleFrontier_Lounge2_EventScript_26072D:: @ 826072D
- bufferstdstring 0, 27
+BattleFrontier_Lounge2_EventScript_BufferBattleArena:: @ 826072D
+ bufferstdstring 0, STDSTRING_BATTLE_ARENA
return
-BattleFrontier_Lounge2_EventScript_260732:: @ 8260732
- bufferstdstring 0, 28
+BattleFrontier_Lounge2_EventScript_BufferBattlePike:: @ 8260732
+ bufferstdstring 0, STDSTRING_BATTLE_PIKE
return
-BattleFrontier_Lounge2_EventScript_260737:: @ 8260737
- bufferstdstring 0, 29
+BattleFrontier_Lounge2_EventScript_BufferBattlePyramid:: @ 8260737
+ bufferstdstring 0, STDSTRING_BATTLE_PYRAMID
return
-BattleFrontier_Lounge2_EventScript_26073C:: @ 826073C
+BattleFrontier_Lounge2_EventScript_Maniac1:: @ 826073C
lock
- msgbox BattleFrontier_Lounge2_Text_261C9C, MSGBOX_DEFAULT
+ msgbox BattleFrontier_Lounge2_Text_NewsGatheringPower, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge2_EventScript_260747:: @ 8260747
+BattleFrontier_Lounge2_EventScript_Maniac2:: @ 8260747
lock
- msgbox BattleFrontier_Lounge2_Text_261CDC, MSGBOX_DEFAULT
+ msgbox BattleFrontier_Lounge2_Text_AmazingPowersOfObservation, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge2_EventScript_260752:: @ 8260752
+BattleFrontier_Lounge2_EventScript_Maniac3:: @ 8260752
lock
- msgbox BattleFrontier_Lounge2_Text_261D1D, MSGBOX_DEFAULT
+ msgbox BattleFrontier_Lounge2_Text_AmazingPowerOfPersuasion, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge2_EventScript_26075D:: @ 826075D
- msgbox BattleFrontier_Lounge2_Text_261D5C, MSGBOX_NPC
+BattleFrontier_Lounge2_EventScript_TriathleteF:: @ 826075D
+ msgbox BattleFrontier_Lounge2_Text_ThisPlaceIsScaringMe, MSGBOX_NPC
end
-BattleFrontier_Lounge2_Text_260766:: @ 8260766
+BattleFrontier_Lounge2_Text_FrontierManiacIntro:: @ 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"
@@ -126,33 +132,34 @@ BattleFrontier_Lounge2_Text_260766:: @ 8260766
.string "I'll happily share the hottest news\n"
.string "I gathered about the BATTLE FRONTIER.$"
-BattleFrontier_Lounge2_Text_260857:: @ 8260857
+BattleFrontier_Lounge2_Text_SwingByForTheLatestWord:: @ 8260857
.string "Howdy! Did you swing by to grill me\n"
.string "about the latest word? Oh, all right!$"
-BattleFrontier_Lounge2_Text_2608A1:: @ 82608A1
+@ Unused
+BattleFrontier_Lounge2_Text_MyInformationsBeenUsefulRight:: @ 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
+BattleFrontier_Lounge2_Text_FacilityIsHottest:: @ 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
+BattleFrontier_Lounge2_Text_BattleTowerIsHottest:: @ 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
+BattleFrontier_Lounge2_Text_SalonMaidenIsThere:: @ 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
+BattleFrontier_Lounge2_Text_SalonMaidenSilverMons:: @ 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"
@@ -160,7 +167,7 @@ BattleFrontier_Lounge2_Text_260A1E:: @ 8260A1E
.string "a FIRE-type VOLCANO POKéMON,\l"
.string "and a NORMAL-type SLEEPING POKéMON.$"
-BattleFrontier_Lounge2_Text_260AE7:: @ 8260AE7
+BattleFrontier_Lounge2_Text_SalonMaidenGoldMons:: @ 8260AE7
.string "Have you battled the SALON MAIDEN\n"
.string "when she's serious?\p"
.string "When she's battling flat out,\n"
@@ -169,14 +176,14 @@ BattleFrontier_Lounge2_Text_260AE7:: @ 8260AE7
.string "an ELECTRIC-type THUNDER POKéMON,\l"
.string "and a NORMAL-type SLEEPING POKéMON.$"
-BattleFrontier_Lounge2_Text_260BC4:: @ 8260BC4
+BattleFrontier_Lounge2_Text_DomeAceIsThere:: @ 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
+BattleFrontier_Lounge2_Text_DomeAceSilverMons:: @ 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"
@@ -184,7 +191,7 @@ BattleFrontier_Lounge2_Text_260C6D:: @ 8260C6D
.string "a WATER & GROUND MUD FISH POKéMON,\l"
.string "and a FIRE & FLYING FLAME POKéMON.$"
-BattleFrontier_Lounge2_Text_260D3A:: @ 8260D3A
+BattleFrontier_Lounge2_Text_DomeAceGoldMons:: @ 8260D3A
.string "Have you battled the DOME ACE\n"
.string "when he's serious?\p"
.string "When he's demonstrating his strategy,\n"
@@ -194,14 +201,14 @@ BattleFrontier_Lounge2_Text_260D3A:: @ 8260D3A
.string "and a STEEL- & PSYCHIC-type IRON LEG\l"
.string "POKéMON.$"
-BattleFrontier_Lounge2_Text_260E1E:: @ 8260E1E
+BattleFrontier_Lounge2_Text_FactoryHeadIsThere:: @ 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
+BattleFrontier_Lounge2_Text_FactoryHeadSilverMons:: @ 8260EC7
.string "Have you battled the FACTORY HEAD\n"
.string "already?\p"
.string "Let me think… When he goes to battle,\n"
@@ -209,7 +216,7 @@ BattleFrontier_Lounge2_Text_260EC7:: @ 8260EC7
.string "He battles under pretty much the same\n"
.string "conditions as you.$"
-BattleFrontier_Lounge2_Text_260F74:: @ 8260F74
+BattleFrontier_Lounge2_Text_FactoryHeadGoldMons:: @ 8260F74
.string "Have you battled the FACTORY HEAD\n"
.string "when he's serious?\p"
.string "When he goes seriously to battle,\n"
@@ -217,14 +224,14 @@ BattleFrontier_Lounge2_Text_260F74:: @ 8260F74
.string "He battles under virtually the same\n"
.string "conditions as you.$"
-BattleFrontier_Lounge2_Text_261026:: @ 8261026
+BattleFrontier_Lounge2_Text_PikeQueenIsThere:: @ 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
+BattleFrontier_Lounge2_Text_PikeQueenSilverMons:: @ 82610CC
.string "Have you battled the PIKE QUEEN\n"
.string "before?\p"
.string "When she's in a good mood, they say\n"
@@ -233,7 +240,7 @@ BattleFrontier_Lounge2_Text_2610CC:: @ 82610CC
.string "a BUG & ROCK MOLD POKéMON,\l"
.string "and a WATER-type TENDER POKéMON.$"
-BattleFrontier_Lounge2_Text_261194:: @ 8261194
+BattleFrontier_Lounge2_Text_PikeQueenGoldMons:: @ 8261194
.string "Have you battled the PIKE QUEEN\n"
.string "when she's serious?\p"
.string "When she's seriously annoyed, they say\n"
@@ -243,14 +250,14 @@ BattleFrontier_Lounge2_Text_261194:: @ 8261194
.string "and a WATER- & FLYING-type ATROCIOUS\l"
.string "POKéMON.$"
-BattleFrontier_Lounge2_Text_261282:: @ 8261282
+BattleFrontier_Lounge2_Text_ArenaTycoonIsThere:: @ 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
+BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons:: @ 8261329
.string "Have you battled the ARENA TYCOON\n"
.string "before?\p"
.string "When she's assessing the foe's ability,\n"
@@ -259,7 +266,7 @@ BattleFrontier_Lounge2_Text_261329:: @ 8261329
.string "a DARK-type MOONLIGHT POKéMON,\l"
.string "and a BUG & GHOST SHED POKéMON.$"
-BattleFrontier_Lounge2_Text_261403:: @ 8261403
+BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons:: @ 8261403
.string "Have you battled the ARENA TYCOON\n"
.string "when she's serious?\p"
.string "When she battles for keeps,\n"
@@ -269,14 +276,14 @@ BattleFrontier_Lounge2_Text_261403:: @ 8261403
.string "and a GRASS- & FIGHTING-type\l"
.string "MUSHROOM POKéMON.$"
-BattleFrontier_Lounge2_Text_2614E6:: @ 82614E6
+BattleFrontier_Lounge2_Text_PalaceMavenIsThere:: @ 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
+BattleFrontier_Lounge2_Text_PalaceMavenSilverMons:: @ 8261591
.string "Have you battled the PALACE MAVEN\n"
.string "before?\p"
.string "When he's testing the opponent's\n"
@@ -285,7 +292,7 @@ BattleFrontier_Lounge2_Text_261591:: @ 8261591
.string "a NORMAL-type LAZY POKéMON, and a\l"
.string "WATER- & ICE-type TRANSPORT POKéMON.$"
-BattleFrontier_Lounge2_Text_26166F:: @ 826166F
+BattleFrontier_Lounge2_Text_PalaceMavenGoldMons:: @ 826166F
.string "Have you battled the PALACE MAVEN\n"
.string "when he's serious?\p"
.string "When he throws his entire might into\n"
@@ -294,14 +301,14 @@ BattleFrontier_Lounge2_Text_26166F:: @ 826166F
.string "a NORMAL-type LAZY POKéMON,\l"
.string "and a WATER-type AURORA POKéMON.$"
-BattleFrontier_Lounge2_Text_26174D:: @ 826174D
+BattleFrontier_Lounge2_Text_PyramidKingIsThere:: @ 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
+BattleFrontier_Lounge2_Text_PyramidKingSilverMons:: @ 82617F9
.string "Have you battled the PYRAMID KING\n"
.string "before?\p"
.string "When he's checking the foe's power,\n"
@@ -310,7 +317,7 @@ BattleFrontier_Lounge2_Text_2617F9:: @ 82617F9
.string "an ICE-type ICEBERG POKéMON,\l"
.string "and a STEEL-type IRON POKéMON.$"
-BattleFrontier_Lounge2_Text_2618C4:: @ 82618C4
+BattleFrontier_Lounge2_Text_PyramidKingGoldMons:: @ 82618C4
.string "Have you battled the PYRAMID KING\n"
.string "when he's serious?\p"
.string "When he's pumped with hot power,\n"
@@ -320,7 +327,7 @@ BattleFrontier_Lounge2_Text_2618C4:: @ 82618C4
.string "and a FIRE- & FLYING-type FLAME\l"
.string "POKéMON.$"
-BattleFrontier_Lounge2_Text_2619AC:: @ 82619AC
+BattleFrontier_Lounge2_Text_DoubleBattleAdvice1:: @ 82619AC
.string "Sure, there are several places where\n"
.string "you can enter DOUBLE BATTLES.\p"
.string "But the DOUBLE BATTLE ROOMS of\n"
@@ -329,44 +336,44 @@ BattleFrontier_Lounge2_Text_2619AC:: @ 82619AC
.string "how DOUBLE BATTLES are played here\l"
.string "in the BATTLE FRONTIER.$"
-BattleFrontier_Lounge2_Text_261A91:: @ 8261A91
+BattleFrontier_Lounge2_Text_DoubleBattleAdvice2:: @ 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
+BattleFrontier_Lounge2_Text_DoubleBattleAdvice3:: @ 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
+BattleFrontier_Lounge2_Text_MultiBattleAdvice:: @ 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
+BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice:: @ 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
+BattleFrontier_Lounge2_Text_NewsGatheringPower:: @ 8261C9C
.string "What amazing news-gathering power!\n"
.string "My mentor's like none other!$"
-BattleFrontier_Lounge2_Text_261CDC:: @ 8261CDC
+BattleFrontier_Lounge2_Text_AmazingPowersOfObservation:: @ 8261CDC
.string "What amazing powers of observation!\n"
.string "My mentor's like none other!$"
-BattleFrontier_Lounge2_Text_261D1D:: @ 8261D1D
+BattleFrontier_Lounge2_Text_AmazingPowerOfPersuasion:: @ 8261D1D
.string "What amazing power of persuasion!\n"
.string "My mentor's like none other!$"
-BattleFrontier_Lounge2_Text_261D5C:: @ 8261D5C
+BattleFrontier_Lounge2_Text_ThisPlaceIsScaringMe:: @ 8261D5C
.string "…What is this place?\n"
.string "It's scaring me…$"
diff --git a/data/maps/BattleFrontier_Lounge3/map.json b/data/maps/BattleFrontier_Lounge3/map.json
index 5ff702a86..843fc6e10 100644
--- a/data/maps/BattleFrontier_Lounge3/map.json
+++ b/data/maps/BattleFrontier_Lounge3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge3_EventScript_261D83",
+ "script": "BattleFrontier_Lounge3_EventScript_Gambler",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge3_EventScript_261FE1",
+ "script": "BattleFrontier_Lounge3_EventScript_FatMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge3_EventScript_261FC1",
+ "script": "BattleFrontier_Lounge3_EventScript_Woman",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge3_EventScript_261FD1",
+ "script": "BattleFrontier_Lounge3_EventScript_PokefanF",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge3_EventScript_261FB8",
+ "script": "BattleFrontier_Lounge3_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge3/scripts.inc b/data/maps/BattleFrontier_Lounge3/scripts.inc
index 7977e75b4..e892ad3ea 100644
--- a/data/maps/BattleFrontier_Lounge3/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge3/scripts.inc
@@ -1,214 +1,218 @@
BattleFrontier_Lounge3_MapScripts:: @ 8261D82
.byte 0
-BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83
+ .set BET_AMOUNT_5, 5
+ .set BET_AMOUNT_10, 10
+ .set BET_AMOUNT_15, 15
+
+BattleFrontier_Lounge3_EventScript_Gambler:: @ 8261D83
lock
faceplayer
- goto_if_set FLAG_MET_BATTLE_FRONTIER_BETTOR, BattleFrontier_Lounge3_EventScript_261EF9
- call BattleFrontier_Lounge3_EventScript_261EA0
+ goto_if_set FLAG_MET_BATTLE_FRONTIER_GAMBLER, BattleFrontier_Lounge3_EventScript_AlreadyMetGambler
+ call BattleFrontier_Lounge3_EventScript_CountSilverSymbols
compare VAR_0x8004, 2
- goto_if_le BattleFrontier_Lounge3_EventScript_261EEB
- setflag FLAG_MET_BATTLE_FRONTIER_BETTOR
- msgbox BattleFrontier_Lounge3_Text_262061, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge3_EventScript_261DAF
+ goto_if_le BattleFrontier_Lounge3_EventScript_NotEnoughSilverSymbols
+ setflag FLAG_MET_BATTLE_FRONTIER_GAMBLER
+ msgbox BattleFrontier_Lounge3_Text_YouLookToughExplainGambling, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge3_EventScript_AskToEnterChallenge
end
-BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF
- special sub_813A820
+BattleFrontier_Lounge3_EventScript_AskToEnterChallenge:: @ 8261DAF
+ special ShowFrontierGamblerLookingMessage
waitmessage
waitbuttonpress
- msgbox BattleFrontier_Lounge3_Text_262A60, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5
- msgbox BattleFrontier_Lounge3_Text_262ABD, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5
- message BattleFrontier_Lounge3_Text_262B42
+ msgbox BattleFrontier_Lounge3_Text_HowAboutEnteringEventForMe, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_Lounge3_EventScript_DeclineChallenge
+ msgbox BattleFrontier_Lounge3_Text_SpotMeSomeBattlePoints, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_Lounge3_EventScript_DeclineChallenge
+ message BattleFrontier_Lounge3_Text_HowMuchCanYouSpot
waitmessage
- special sub_813A958
- goto BattleFrontier_Lounge3_EventScript_261DE9
+ special ShowBattlePointsWindow
+ goto BattleFrontier_Lounge3_EventScript_ChooseBetAmount
end
-BattleFrontier_Lounge3_EventScript_261DE9:: @ 8261DE9
- multichoice 20, 4, 87, 0
+BattleFrontier_Lounge3_EventScript_ChooseBetAmount:: @ 8261DE9
+ multichoice 20, 4, MULTI_FRONTIER_GAMBLER_BET, 0
copyvar VAR_FRONTIER_GAMBLER_AMOUNT_BET, 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
+ case FRONTIER_GAMBLER_BET_5, BattleFrontier_Lounge3_EventScript_Bet5
+ case FRONTIER_GAMBLER_BET_10, BattleFrontier_Lounge3_EventScript_Bet10
+ case FRONTIER_GAMBLER_BET_15, BattleFrontier_Lounge3_EventScript_Bet15
+ case FRONTIER_GAMBLER_BET_CANCEL, BattleFrontier_Lounge3_EventScript_CancelBet
+ case MULTI_B_PRESSED, BattleFrontier_Lounge3_EventScript_CancelBet
end
-BattleFrontier_Lounge3_EventScript_261E30:: @ 8261E30
- setvar VAR_0x8008, 5
- goto BattleFrontier_Lounge3_EventScript_261E51
+BattleFrontier_Lounge3_EventScript_Bet5:: @ 8261E30
+ setvar VAR_0x8008, BET_AMOUNT_5
+ goto BattleFrontier_Lounge3_EventScript_TryPlaceBet
end
-BattleFrontier_Lounge3_EventScript_261E3B:: @ 8261E3B
- setvar VAR_0x8008, 10
- goto BattleFrontier_Lounge3_EventScript_261E51
+BattleFrontier_Lounge3_EventScript_Bet10:: @ 8261E3B
+ setvar VAR_0x8008, BET_AMOUNT_10
+ goto BattleFrontier_Lounge3_EventScript_TryPlaceBet
end
-BattleFrontier_Lounge3_EventScript_261E46:: @ 8261E46
- setvar VAR_0x8008, 15
- goto BattleFrontier_Lounge3_EventScript_261E51
+BattleFrontier_Lounge3_EventScript_Bet15:: @ 8261E46
+ setvar VAR_0x8008, BET_AMOUNT_15
+ goto BattleFrontier_Lounge3_EventScript_TryPlaceBet
end
-BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51
- specialvar VAR_TEMP_1, sub_813AA04
+BattleFrontier_Lounge3_EventScript_TryPlaceBet:: @ 8261E51
+ specialvar VAR_TEMP_1, GetFrontierBattlePoints
compare VAR_TEMP_1, VAR_0x8008
- goto_if_ge BattleFrontier_Lounge3_EventScript_261E75
- msgbox BattleFrontier_Lounge3_Text_262B6E, MSGBOX_DEFAULT
- message BattleFrontier_Lounge3_Text_262B42
+ goto_if_ge BattleFrontier_Lounge3_EventScript_PlaceBet
+ msgbox BattleFrontier_Lounge3_Text_YouDontHaveEnoughPoints, MSGBOX_DEFAULT
+ message BattleFrontier_Lounge3_Text_HowMuchCanYouSpot
waitmessage
- goto BattleFrontier_Lounge3_EventScript_261DE9
+ goto BattleFrontier_Lounge3_EventScript_ChooseBetAmount
end
-BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75
+BattleFrontier_Lounge3_EventScript_PlaceBet:: @ 8261E75
copyvar VAR_0x8004, VAR_0x8008
- special sub_813A9A4
- setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
- special sub_813A8FC
+ special TakeFrontierBattlePoints
+ setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
+ special UpdateBattlePointsWindow
playse SE_REGI
- msgbox BattleFrontier_Lounge3_Text_262BE0, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge3_EventScript_261E96
+ msgbox BattleFrontier_Lounge3_Text_ThanksOffYouGo, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge3_EventScript_FinishBet
end
-BattleFrontier_Lounge3_EventScript_261E96:: @ 8261E96
- special sub_813A854
+BattleFrontier_Lounge3_EventScript_FinishBet:: @ 8261E96
+ special ShowFrontierGamblerGoMessage
waitmessage
waitbuttonpress
- special sub_813A988
+ special CloseBattlePointsWindow
release
end
-BattleFrontier_Lounge3_EventScript_261EA0:: @ 8261EA0
+BattleFrontier_Lounge3_EventScript_CountSilverSymbols:: @ 8261EA0
setvar VAR_0x8004, 0
- call_if_set FLAG_SYS_TOWER_SILVER, BattleFrontier_Lounge3_EventScript_261EE5
- call_if_set FLAG_SYS_DOME_SILVER, BattleFrontier_Lounge3_EventScript_261EE5
- call_if_set FLAG_SYS_PALACE_SILVER, BattleFrontier_Lounge3_EventScript_261EE5
- call_if_set FLAG_SYS_ARENA_SILVER, BattleFrontier_Lounge3_EventScript_261EE5
- call_if_set FLAG_SYS_FACTORY_SILVER, BattleFrontier_Lounge3_EventScript_261EE5
- call_if_set FLAG_SYS_PIKE_SILVER, BattleFrontier_Lounge3_EventScript_261EE5
- call_if_set FLAG_SYS_PYRAMID_SILVER, BattleFrontier_Lounge3_EventScript_261EE5
+ call_if_set FLAG_SYS_TOWER_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount
+ call_if_set FLAG_SYS_DOME_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount
+ call_if_set FLAG_SYS_PALACE_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount
+ call_if_set FLAG_SYS_ARENA_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount
+ call_if_set FLAG_SYS_FACTORY_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount
+ call_if_set FLAG_SYS_PIKE_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount
+ call_if_set FLAG_SYS_PYRAMID_SILVER, BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount
return
-BattleFrontier_Lounge3_EventScript_261EE5:: @ 8261EE5
+BattleFrontier_Lounge3_EventScript_AddSilverSymbolCount:: @ 8261EE5
addvar VAR_0x8004, 1
return
-BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB
- msgbox BattleFrontier_Lounge3_Text_261FFE, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge3_EventScript_261FF1
+BattleFrontier_Lounge3_EventScript_NotEnoughSilverSymbols:: @ 8261EEB
+ msgbox BattleFrontier_Lounge3_Text_CantYouSeeWereBusyHere, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection
end
-BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9
- msgbox BattleFrontier_Lounge3_Text_26346B, MSGBOX_DEFAULT
- compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
- goto_if_ge BattleFrontier_Lounge3_EventScript_261F12
- goto BattleFrontier_Lounge3_EventScript_261DAF
+BattleFrontier_Lounge3_EventScript_AlreadyMetGambler:: @ 8261EF9
+ msgbox BattleFrontier_Lounge3_Text_Oh, MSGBOX_DEFAULT
+ compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
+ goto_if_ge BattleFrontier_Lounge3_EventScript_CheckBetResults
+ goto BattleFrontier_Lounge3_EventScript_AskToEnterChallenge
end
-BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12
- compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
- goto_if_eq BattleFrontier_Lounge3_EventScript_261F9E
- compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2
- goto_if_eq BattleFrontier_Lounge3_EventScript_261F2E
- goto BattleFrontier_Lounge3_EventScript_261F71
+BattleFrontier_Lounge3_EventScript_CheckBetResults:: @ 8261F12
+ compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
+ goto_if_eq BattleFrontier_Lounge3_EventScript_ChallengeNotAttempted
+ compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON
+ goto_if_eq BattleFrontier_Lounge3_EventScript_WonChallenge
+ goto BattleFrontier_Lounge3_EventScript_LostChallenge
end
-BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E
- msgbox BattleFrontier_Lounge3_Text_263334, MSGBOX_DEFAULT
- compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0
- call_if_eq BattleFrontier_Lounge3_EventScript_261F80
- compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1
- call_if_eq BattleFrontier_Lounge3_EventScript_261F8A
- compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 2
- call_if_eq BattleFrontier_Lounge3_EventScript_261F94
- msgbox BattleFrontier_Lounge3_Text_2633D4, 9
- special sub_813A9D0
- msgbox BattleFrontier_Lounge3_Text_2633F2, MSGBOX_DEFAULT
- setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
+BattleFrontier_Lounge3_EventScript_WonChallenge:: @ 8261F2E
+ msgbox BattleFrontier_Lounge3_Text_HelloChampHeresYourPoints, MSGBOX_DEFAULT
+ compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_5
+ call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet5
+ compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_10
+ call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet10
+ compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_15
+ call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet15
+ msgbox BattleFrontier_Lounge3_Text_ObtainedBattlePoints, MSGBOX_GETPOINTS
+ special GiveFrontierBattlePoints
+ msgbox BattleFrontier_Lounge3_Text_ThinkOfMeForAnotherChallenge, MSGBOX_DEFAULT
+ setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WAITING
release
end
-BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71
- msgbox BattleFrontier_Lounge3_Text_263298, MSGBOX_DEFAULT
- setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
+BattleFrontier_Lounge3_EventScript_LostChallenge:: @ 8261F71
+ msgbox BattleFrontier_Lounge3_Text_NiceTryCantReturnPoints, MSGBOX_DEFAULT
+ setvar VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WAITING
release
end
-BattleFrontier_Lounge3_EventScript_261F80:: @ 8261F80
- buffernumberstring 0, 10
- setvar VAR_0x8004, 10
+BattleFrontier_Lounge3_EventScript_RewardBet5:: @ 8261F80
+ buffernumberstring 0, (BET_AMOUNT_5 * 2)
+ setvar VAR_0x8004, (BET_AMOUNT_5 * 2)
return
-BattleFrontier_Lounge3_EventScript_261F8A:: @ 8261F8A
- buffernumberstring 0, 20
- setvar VAR_0x8004, 20
+BattleFrontier_Lounge3_EventScript_RewardBet10:: @ 8261F8A
+ buffernumberstring 0, (BET_AMOUNT_10 * 2)
+ setvar VAR_0x8004, (BET_AMOUNT_10 * 2)
return
-BattleFrontier_Lounge3_EventScript_261F94:: @ 8261F94
- buffernumberstring 0, 30
- setvar VAR_0x8004, 30
+BattleFrontier_Lounge3_EventScript_RewardBet15:: @ 8261F94
+ buffernumberstring 0, (BET_AMOUNT_15 * 2)
+ setvar VAR_0x8004, (BET_AMOUNT_15 * 2)
return
-BattleFrontier_Lounge3_EventScript_261F9E:: @ 8261F9E
- special sub_813A854
+BattleFrontier_Lounge3_EventScript_ChallengeNotAttempted:: @ 8261F9E
+ special ShowFrontierGamblerGoMessage
waitmessage
waitbuttonpress
release
end
-BattleFrontier_Lounge3_EventScript_261FA5:: @ 8261FA5
- msgbox BattleFrontier_Lounge3_Text_26342D, MSGBOX_DEFAULT
+BattleFrontier_Lounge3_EventScript_DeclineChallenge:: @ 8261FA5
+ msgbox BattleFrontier_Lounge3_Text_NotInterested, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge3_EventScript_261FAF:: @ 8261FAF
- special sub_813A988
- goto BattleFrontier_Lounge3_EventScript_261FA5
+BattleFrontier_Lounge3_EventScript_CancelBet:: @ 8261FAF
+ special CloseBattlePointsWindow
+ goto BattleFrontier_Lounge3_EventScript_DeclineChallenge
end
-BattleFrontier_Lounge3_EventScript_261FB8:: @ 8261FB8
- msgbox BattleFrontier_Lounge3_Text_263545, MSGBOX_NPC
+BattleFrontier_Lounge3_EventScript_Man:: @ 8261FB8
+ msgbox BattleFrontier_Lounge3_Text_ShouldBeTakingChallenges, MSGBOX_NPC
end
-BattleFrontier_Lounge3_EventScript_261FC1:: @ 8261FC1
+BattleFrontier_Lounge3_EventScript_Woman:: @ 8261FC1
lock
faceplayer
- msgbox BattleFrontier_Lounge3_Text_26346F, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge3_EventScript_261FF1
+ msgbox BattleFrontier_Lounge3_Text_BackedWrongTrainer, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection
end
-BattleFrontier_Lounge3_EventScript_261FD1:: @ 8261FD1
+BattleFrontier_Lounge3_EventScript_PokefanF:: @ 8261FD1
lock
faceplayer
- msgbox BattleFrontier_Lounge3_Text_26351D, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge3_EventScript_261FF1
+ msgbox BattleFrontier_Lounge3_Text_KnowWinnerWhenISeeOne, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection
end
-BattleFrontier_Lounge3_EventScript_261FE1:: @ 8261FE1
+BattleFrontier_Lounge3_EventScript_FatMan:: @ 8261FE1
lock
faceplayer
- msgbox BattleFrontier_Lounge3_Text_2634C9, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge3_EventScript_261FF1
+ msgbox BattleFrontier_Lounge3_Text_TrainerGoodButRattled, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge3_EventScript_FaceOriginalDirection
end
-BattleFrontier_Lounge3_EventScript_261FF1:: @ 8261FF1
+BattleFrontier_Lounge3_EventScript_FaceOriginalDirection:: @ 8261FF1
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-BattleFrontier_Lounge3_Text_261FFE:: @ 8261FFE
+BattleFrontier_Lounge3_Text_CantYouSeeWereBusyHere:: @ 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
+BattleFrontier_Lounge3_Text_YouLookToughExplainGambling:: @ 8262061
.string "…Huh?\n"
.string "You look to me like a tough TRAINER.\p"
.string "Heheh…\n"
@@ -228,201 +232,201 @@ BattleFrontier_Lounge3_Text_262061:: @ 8262061
.string "Sounds simple, huh?\n"
.string "So, anyway…$"
-BattleFrontier_Lounge3_Text_262261:: @ 8262261
+BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattleArena:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattlePike:: @ 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
+BattleFrontier_Lounge3_Text_ChallengeBattlePyramid:: @ 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
+BattleFrontier_Lounge3_Text_HowAboutEnteringEventForMe:: @ 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
+BattleFrontier_Lounge3_Text_SpotMeSomeBattlePoints:: @ 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
+BattleFrontier_Lounge3_Text_HowMuchCanYouSpot:: @ 8262B42
.string "Great, great!\n"
.string "So, how much can you spot me?$"
-BattleFrontier_Lounge3_Text_262B6E:: @ 8262B6E
+BattleFrontier_Lounge3_Text_YouDontHaveEnoughPoints:: @ 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
+BattleFrontier_Lounge3_Text_ThanksOffYouGo:: @ 8262BE0
.string "Heheh! Thanks much!\n"
.string "So, off you go!$"
-BattleFrontier_Lounge3_Text_262C04:: @ 8262C04
+BattleFrontier_Lounge3_Text_GetToBattleTowerSingle:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattleTowerDouble:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattleTowerMulti:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattleDomeSingle:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattleDomeDouble:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattleFactorySingle:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattleArena:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattlePike:: @ 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
+BattleFrontier_Lounge3_Text_GetToBattlePyramid:: @ 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
+BattleFrontier_Lounge3_Text_NiceTryCantReturnPoints:: @ 8263298
.string "Oh, it's you…\n"
.string "Nice try…\p"
.string "I hate to break it to you, but I can't\n"
@@ -430,7 +434,7 @@ BattleFrontier_Lounge3_Text_263298:: @ 8263298
.string "I guess we'll have to let it motivate\n"
.string "us to try harder next time!$"
-BattleFrontier_Lounge3_Text_263334:: @ 8263334
+BattleFrontier_Lounge3_Text_HelloChampHeresYourPoints:: @ 8263334
.string "Oh, yes!\n"
.string "Hello there, champ!\p"
.string "I knew you could!\n"
@@ -439,36 +443,36 @@ BattleFrontier_Lounge3_Text_263334:: @ 8263334
.string "I'll return your Battle Points and,\n"
.string "of course, a little extra from me!$"
-BattleFrontier_Lounge3_Text_2633D4:: @ 82633D4
+BattleFrontier_Lounge3_Text_ObtainedBattlePoints:: @ 82633D4
.string "{PLAYER} obtained\n"
.string "{STR_VAR_1} Battle Points.$"
-BattleFrontier_Lounge3_Text_2633F2:: @ 82633F2
+BattleFrontier_Lounge3_Text_ThinkOfMeForAnotherChallenge:: @ 82633F2
.string "If you're up for another challenge,\n"
.string "please do think of me!$"
-BattleFrontier_Lounge3_Text_26342D:: @ 826342D
+BattleFrontier_Lounge3_Text_NotInterested:: @ 826342D
.string "Not interested?! You shouldn't be\n"
.string "so afraid to take a chance!$"
-BattleFrontier_Lounge3_Text_26346B:: @ 826346B
+BattleFrontier_Lounge3_Text_Oh:: @ 826346B
.string "Oh…$"
-BattleFrontier_Lounge3_Text_26346F:: @ 826346F
+BattleFrontier_Lounge3_Text_BackedWrongTrainer:: @ 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
+BattleFrontier_Lounge3_Text_TrainerGoodButRattled:: @ 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
+BattleFrontier_Lounge3_Text_KnowWinnerWhenISeeOne:: @ 826351D
.string "Giggle!\n"
.string "I know a winner when I see one!$"
-BattleFrontier_Lounge3_Text_263545:: @ 8263545
+BattleFrontier_Lounge3_Text_ShouldBeTakingChallenges:: @ 8263545
.string "Those TRAINERS…\n"
.string "What are they doing?\l"
.string "They should be taking challenges.$"
diff --git a/data/maps/BattleFrontier_Lounge4/map.json b/data/maps/BattleFrontier_Lounge4/map.json
index b67d3bb07..0c86ccf3c 100644
--- a/data/maps/BattleFrontier_Lounge4/map.json
+++ b/data/maps/BattleFrontier_Lounge4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge4_EventScript_26358D",
+ "script": "BattleFrontier_Lounge4_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge4_EventScript_263596",
+ "script": "BattleFrontier_Lounge4_EventScript_Cook",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge4_EventScript_26359F",
+ "script": "BattleFrontier_Lounge4_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge4/scripts.inc b/data/maps/BattleFrontier_Lounge4/scripts.inc
index 407720915..6da60d30f 100644
--- a/data/maps/BattleFrontier_Lounge4/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge4/scripts.inc
@@ -1,27 +1,27 @@
BattleFrontier_Lounge4_MapScripts:: @ 826358C
.byte 0
-BattleFrontier_Lounge4_EventScript_26358D:: @ 826358D
- msgbox BattleFrontier_Lounge4_Text_2635A8, MSGBOX_NPC
+BattleFrontier_Lounge4_EventScript_Woman:: @ 826358D
+ msgbox BattleFrontier_Lounge4_Text_WonderIfInterviewsAiring, MSGBOX_NPC
end
-BattleFrontier_Lounge4_EventScript_263596:: @ 8263596
- msgbox BattleFrontier_Lounge4_Text_2635EC, MSGBOX_NPC
+BattleFrontier_Lounge4_EventScript_Cook:: @ 8263596
+ msgbox BattleFrontier_Lounge4_Text_IfIOpenedRestaurantHere, MSGBOX_NPC
end
-BattleFrontier_Lounge4_EventScript_26359F:: @ 826359F
- msgbox BattleFrontier_Lounge4_Text_263625, MSGBOX_NPC
+BattleFrontier_Lounge4_EventScript_Man:: @ 826359F
+ msgbox BattleFrontier_Lounge4_Text_NeedBreatherAfterBattles, MSGBOX_NPC
end
-BattleFrontier_Lounge4_Text_2635A8: @ 82635A8
+BattleFrontier_Lounge4_Text_WonderIfInterviewsAiring: @ 82635A8
.string "I wonder if they'll be airing interviews\n"
.string "with tough TRAINERS today?$"
-BattleFrontier_Lounge4_Text_2635EC: @ 82635EC
+BattleFrontier_Lounge4_Text_IfIOpenedRestaurantHere: @ 82635EC
.string "If I opened a restaurant here,\n"
.string "it'd make money for sure.$"
-BattleFrontier_Lounge4_Text_263625: @ 8263625
+BattleFrontier_Lounge4_Text_NeedBreatherAfterBattles: @ 8263625
.string "Whew…\p"
.string "I need to take a breather after\n"
.string "some intense battles…\p"
diff --git a/data/maps/BattleFrontier_Lounge5/map.json b/data/maps/BattleFrontier_Lounge5/map.json
index 698569d9b..6d9eab35f 100644
--- a/data/maps/BattleFrontier_Lounge5/map.json
+++ b/data/maps/BattleFrontier_Lounge5/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge5_EventScript_2645C6",
+ "script": "BattleFrontier_Lounge5_EventScript_NatureGirl",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge5_EventScript_264617",
+ "script": "BattleFrontier_Lounge5_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge5_EventScript_264620",
+ "script": "BattleFrontier_Lounge5_EventScript_BlackBelt",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge5_EventScript_264629",
+ "script": "BattleFrontier_Lounge5_EventScript_LittleBoy",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge5/scripts.inc b/data/maps/BattleFrontier_Lounge5/scripts.inc
index 7a8bd1929..3df294fb1 100644
--- a/data/maps/BattleFrontier_Lounge5/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge5/scripts.inc
@@ -1,205 +1,205 @@
BattleFrontier_Lounge5_MapScripts:: @ 82645C5
.byte 0
-BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6
+BattleFrontier_Lounge5_EventScript_NatureGirl:: @ 82645C6
lock
faceplayer
- msgbox BattleFrontier_Lounge5_Text_264632, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_Lounge5_EventScript_26460D
- special sub_81B94B0
+ msgbox BattleFrontier_Lounge5_Text_NatureGirlGreeting, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown
+ special ChoosePartyMon
waitstate
lock
faceplayer
compare VAR_0x8004, 255
- goto_if_eq BattleFrontier_Lounge5_EventScript_26460D
+ goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
- compare VAR_RESULT, 412
- goto_if_eq BattleFrontier_Lounge5_EventScript_264603
- special sub_813A7B8
+ compare VAR_RESULT, SPECIES_EGG
+ goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlEgg
+ special ShowNatureGirlMessage
waitmessage
waitbuttonpress
release
end
-BattleFrontier_Lounge5_EventScript_264603:: @ 8264603
- msgbox BattleFrontier_Lounge5_Text_264EEE, MSGBOX_DEFAULT
+BattleFrontier_Lounge5_EventScript_NatureGirlEgg:: @ 8264603
+ msgbox BattleFrontier_Lounge5_Text_NatureGirlEgg, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge5_EventScript_26460D:: @ 826460D
- msgbox BattleFrontier_Lounge5_Text_26467F, MSGBOX_DEFAULT
+BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown:: @ 826460D
+ msgbox BattleFrontier_Lounge5_Text_NatureGirlNoneShown, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge5_EventScript_264617:: @ 8264617
- msgbox BattleFrontier_Lounge5_Text_264F22, MSGBOX_NPC
+BattleFrontier_Lounge5_EventScript_Gentleman:: @ 8264617
+ msgbox BattleFrontier_Lounge5_Text_LadyClaimsSheUnderstandsPokemon, MSGBOX_NPC
end
-BattleFrontier_Lounge5_EventScript_264620:: @ 8264620
- msgbox BattleFrontier_Lounge5_Text_264F64, MSGBOX_NPC
+BattleFrontier_Lounge5_EventScript_BlackBelt:: @ 8264620
+ msgbox BattleFrontier_Lounge5_Text_GirlSayingSomethingProfound, MSGBOX_NPC
end
-BattleFrontier_Lounge5_EventScript_264629:: @ 8264629
- msgbox BattleFrontier_Lounge5_Text_264FAB, MSGBOX_NPC
+BattleFrontier_Lounge5_EventScript_LittleBoy:: @ 8264629
+ msgbox BattleFrontier_Lounge5_Text_GirlPlaysAtRedHouseALot, MSGBOX_NPC
end
-BattleFrontier_Lounge5_Text_264632:: @ 8264632
+BattleFrontier_Lounge5_Text_NatureGirlGreeting:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlNoneShown:: @ 826467F
.string "Boo!\n"
.string "Cheapie!$"
-BattleFrontier_Lounge5_Text_26468D:: @ 826468D
+BattleFrontier_Lounge5_Text_NatureGirlHardy:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlLonely:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlBrave:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlAdamant:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlNaughty:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlBold:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlRelaxed:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlImpish:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlLax:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlTimid:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlHasty:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlSerious:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlJolly:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlModest:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlMild:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlBashful:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlRash:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlCalm:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlGentle:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlSassy:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlCareful:: @ 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
+BattleFrontier_Lounge5_Text_NatureGirlEgg:: @ 8264EEE
.string "That's silly! An EGG is asleep!\n"
.string "I can't talk to it!$"
-BattleFrontier_Lounge5_Text_264F22:: @ 8264F22
+BattleFrontier_Lounge5_Text_LadyClaimsSheUnderstandsPokemon:: @ 8264F22
.string "How charming!\n"
.string "That little lady claims she can\l"
.string "understand POKéMON!$"
-BattleFrontier_Lounge5_Text_264F64:: @ 8264F64
+BattleFrontier_Lounge5_Text_GirlSayingSomethingProfound:: @ 8264F64
.string "I have this feeling that the little girl\n"
.string "is saying something profound.$"
-BattleFrontier_Lounge5_Text_264FAB:: @ 8264FAB
+BattleFrontier_Lounge5_Text_GirlPlaysAtRedHouseALot:: @ 8264FAB
.string "I know something!\p"
.string "That little girl plays at the red house\n"
.string "a lot!$"
diff --git a/data/maps/BattleFrontier_Lounge6/map.json b/data/maps/BattleFrontier_Lounge6/map.json
index 1ecbec9f8..5888ea7c0 100644
--- a/data/maps/BattleFrontier_Lounge6/map.json
+++ b/data/maps/BattleFrontier_Lounge6/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge6_EventScript_264FED",
+ "script": "BattleFrontier_Lounge6_EventScript_Trader",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc
index 2b14c43c5..34ca00073 100644
--- a/data/maps/BattleFrontier_Lounge6/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge6/scripts.inc
@@ -1,54 +1,54 @@
BattleFrontier_Lounge6_MapScripts:: @ 8264FEC
.byte 0
-BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED
+BattleFrontier_Lounge6_EventScript_Trader:: @ 8264FED
lock
faceplayer
- goto_if_set FLAG_BATTLE_FRONTIER_TRADE_DONE, BattleFrontier_Lounge6_EventScript_265083
- setvar VAR_0x8008, 3
+ goto_if_set FLAG_BATTLE_FRONTIER_TRADE_DONE, BattleFrontier_Lounge6_EventScript_TradeCompleted
+ setvar VAR_0x8008, INGAME_TRADE_MEOWTH
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
- msgbox BattleFrontier_Lounge6_Text_26508D, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_Lounge6_EventScript_26506B
- special sub_81B94B0
+ msgbox BattleFrontier_Lounge6_Text_WouldYouLikeToTrade, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_Lounge6_EventScript_DeclineTrade
+ special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_if_eq BattleFrontier_Lounge6_EventScript_26506B
+ goto_if_eq BattleFrontier_Lounge6_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if_ne BattleFrontier_Lounge6_EventScript_265075
+ goto_if_ne BattleFrontier_Lounge6_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
special DoInGameTradeScene
waitstate
- msgbox BattleFrontier_Lounge6_Text_265128, MSGBOX_DEFAULT
+ msgbox BattleFrontier_Lounge6_Text_PromiseIllBeGoodToIt, MSGBOX_DEFAULT
setflag FLAG_BATTLE_FRONTIER_TRADE_DONE
release
end
-BattleFrontier_Lounge6_EventScript_26506B:: @ 826506B
- msgbox BattleFrontier_Lounge6_Text_2651CB, MSGBOX_DEFAULT
+BattleFrontier_Lounge6_EventScript_DeclineTrade:: @ 826506B
+ msgbox BattleFrontier_Lounge6_Text_WellThatsFineToo, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge6_EventScript_265075:: @ 8265075
+BattleFrontier_Lounge6_EventScript_NotRequestedMon:: @ 8265075
bufferspeciesname 0, VAR_0x8009
- msgbox BattleFrontier_Lounge6_Text_26518D, MSGBOX_DEFAULT
+ msgbox BattleFrontier_Lounge6_Text_DontTradeForAnythingButMon, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge6_EventScript_265083:: @ 8265083
- msgbox BattleFrontier_Lounge6_Text_26520E, MSGBOX_DEFAULT
+BattleFrontier_Lounge6_EventScript_TradeCompleted:: @ 8265083
+ msgbox BattleFrontier_Lounge6_Text_SkittySoMuchCuterThanImagined, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge6_Text_26508D: @ 826508D
+BattleFrontier_Lounge6_Text_WouldYouLikeToTrade: @ 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"
@@ -57,24 +57,24 @@ BattleFrontier_Lounge6_Text_26508D: @ 826508D
.string "Would you like to trade me a {STR_VAR_1}\n"
.string "for my {STR_VAR_2}?$"
-BattleFrontier_Lounge6_Text_265128: @ 8265128
+BattleFrontier_Lounge6_Text_PromiseIllBeGoodToIt: @ 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
+BattleFrontier_Lounge6_Text_DontTradeForAnythingButMon: @ 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
+BattleFrontier_Lounge6_Text_WellThatsFineToo: @ 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
+BattleFrontier_Lounge6_Text_SkittySoMuchCuterThanImagined: @ 826520E
.string "Giggle!\n"
.string "A SKITTY is so much cuter than I had\l"
.string "imagined. I'm delighted!$"
diff --git a/data/maps/BattleFrontier_Lounge7/map.json b/data/maps/BattleFrontier_Lounge7/map.json
index da866ea72..5ebc789ba 100644
--- a/data/maps/BattleFrontier_Lounge7/map.json
+++ b/data/maps/BattleFrontier_Lounge7/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge7_EventScript_2656DB",
+ "script": "BattleFrontier_Lounge7_EventScript_Sailor",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge7_EventScript_265255",
+ "script": "BattleFrontier_Lounge7_EventScript_LeftMoveTutor",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge7_EventScript_265445",
+ "script": "BattleFrontier_Lounge7_EventScript_RightMoveTutor",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge7_EventScript_2656E4",
+ "script": "BattleFrontier_Lounge7_EventScript_Gentleman",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc
index 1339b54c9..3dd8fc98c 100644
--- a/data/maps/BattleFrontier_Lounge7/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge7/scripts.inc
@@ -1,293 +1,297 @@
BattleFrontier_Lounge7_MapScripts:: @ 8265254
.byte 0
-BattleFrontier_Lounge7_EventScript_265255:: @ 8265255
+BattleFrontier_Lounge7_EventScript_LeftMoveTutor:: @ 8265255
lock
faceplayer
- setvar VAR_TEMP_C, 9
- goto_if_set FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_265276
- msgbox BattleFrontier_Lounge7_Text_2656ED, MSGBOX_DEFAULT
+ setvar VAR_TEMP_C, SCROLL_MULTI_BF_MOVE_TUTOR_1
+ goto_if_set FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_AlreadyMetLeftTutor
+ msgbox BattleFrontier_Lounge7_Text_LeftTutorIntro, MSGBOX_DEFAULT
setflag FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR
- goto BattleFrontier_Lounge7_EventScript_265284
+ goto BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove
end
-BattleFrontier_Lounge7_EventScript_265276:: @ 8265276
- msgbox BattleFrontier_Lounge7_Text_2658AB, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge7_EventScript_265284
+BattleFrontier_Lounge7_EventScript_AlreadyMetLeftTutor:: @ 8265276
+ msgbox BattleFrontier_Lounge7_Text_LeftTutorWelcomeBack, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove
end
-BattleFrontier_Lounge7_EventScript_265284:: @ 8265284
- message BattleFrontier_Lounge7_Text_2658EF
+BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove:: @ 8265284
+ message BattleFrontier_Lounge7_Text_TeachWhichMove
waitmessage
- special sub_813A958
+ special ShowBattlePointsWindow
setvar VAR_TEMP_E, 0
- setvar VAR_0x8004, 9
+ setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1
setvar VAR_0x8006, 0
- special sub_813A128
+ special ShowScrollableMultichoice
waitstate
copyvar VAR_TEMP_D, 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
+ case 0, BattleFrontier_Lounge7_EventScript_Softboiled
+ case 1, BattleFrontier_Lounge7_EventScript_SeismicToss
+ case 2, BattleFrontier_Lounge7_EventScript_DreamEater
+ case 3, BattleFrontier_Lounge7_EventScript_MegaPunch
+ case 4, BattleFrontier_Lounge7_EventScript_MegaKick
+ case 5, BattleFrontier_Lounge7_EventScript_BodySlam
+ case 6, BattleFrontier_Lounge7_EventScript_RockSlide
+ case 7, BattleFrontier_Lounge7_EventScript_Counter
+ case 8, BattleFrontier_Lounge7_EventScript_ThunderWave
+ case 9, BattleFrontier_Lounge7_EventScript_SwordsDance
+ case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ end
+
+BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove:: @ 826532F
+ message BattleFrontier_Lounge7_Text_TeachWhichMove
waitmessage
setvar VAR_TEMP_E, 0
- setvar VAR_0x8004, 9
+ setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1
setvar VAR_0x8006, 1
- special sub_813A128
+ special ShowScrollableMultichoice
waitstate
copyvar VAR_TEMP_D, 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
+ case 0, BattleFrontier_Lounge7_EventScript_Softboiled
+ case 1, BattleFrontier_Lounge7_EventScript_SeismicToss
+ case 2, BattleFrontier_Lounge7_EventScript_DreamEater
+ case 3, BattleFrontier_Lounge7_EventScript_MegaPunch
+ case 4, BattleFrontier_Lounge7_EventScript_MegaKick
+ case 5, BattleFrontier_Lounge7_EventScript_BodySlam
+ case 6, BattleFrontier_Lounge7_EventScript_RockSlide
+ case 7, BattleFrontier_Lounge7_EventScript_Counter
+ case 8, BattleFrontier_Lounge7_EventScript_ThunderWave
+ case 9, BattleFrontier_Lounge7_EventScript_SwordsDance
+ case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ end
+
+BattleFrontier_Lounge7_EventScript_Softboiled:: @ 82653D7
setvar VAR_0x8008, 16
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2653E2:: @ 82653E2
+BattleFrontier_Lounge7_EventScript_SeismicToss:: @ 82653E2
setvar VAR_0x8008, 24
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2653ED:: @ 82653ED
+BattleFrontier_Lounge7_EventScript_DreamEater:: @ 82653ED
setvar VAR_0x8008, 24
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2653F8:: @ 82653F8
+BattleFrontier_Lounge7_EventScript_MegaPunch:: @ 82653F8
setvar VAR_0x8008, 24
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_265403:: @ 8265403
+BattleFrontier_Lounge7_EventScript_MegaKick:: @ 8265403
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_26540E:: @ 826540E
+BattleFrontier_Lounge7_EventScript_BodySlam:: @ 826540E
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_265419:: @ 8265419
+BattleFrontier_Lounge7_EventScript_RockSlide:: @ 8265419
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_265424:: @ 8265424
+BattleFrontier_Lounge7_EventScript_Counter:: @ 8265424
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_26542F:: @ 826542F
+BattleFrontier_Lounge7_EventScript_ThunderWave:: @ 826542F
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_26543A:: @ 826543A
+BattleFrontier_Lounge7_EventScript_SwordsDance:: @ 826543A
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_265445:: @ 8265445
+BattleFrontier_Lounge7_EventScript_RightMoveTutor:: @ 8265445
lock
faceplayer
- setvar VAR_TEMP_C, 10
- goto_if_set FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_265466
- msgbox BattleFrontier_Lounge7_Text_265A6C, MSGBOX_DEFAULT
+ setvar VAR_TEMP_C, SCROLL_MULTI_BF_MOVE_TUTOR_2
+ goto_if_set FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR, BattleFrontier_Lounge7_EventScript_AlreadyMetRightTutor
+ msgbox BattleFrontier_Lounge7_Text_RightTutorIntro, MSGBOX_DEFAULT
setflag FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR
- goto BattleFrontier_Lounge7_EventScript_265474
+ goto BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove
end
-BattleFrontier_Lounge7_EventScript_265466:: @ 8265466
- msgbox BattleFrontier_Lounge7_Text_265C2C, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge7_EventScript_265474
+BattleFrontier_Lounge7_EventScript_AlreadyMetRightTutor:: @ 8265466
+ msgbox BattleFrontier_Lounge7_Text_RightTutorWelcomeBack, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove
end
-BattleFrontier_Lounge7_EventScript_265474:: @ 8265474
- message BattleFrontier_Lounge7_Text_2658EF
+BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove:: @ 8265474
+ message BattleFrontier_Lounge7_Text_TeachWhichMove
waitmessage
- special sub_813A958
+ special ShowBattlePointsWindow
setvar VAR_TEMP_E, 1
- setvar VAR_0x8004, 10
+ setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2
setvar VAR_0x8006, 0
- special sub_813A128
+ special ShowScrollableMultichoice
waitstate
copyvar VAR_TEMP_D, 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
+ case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl
+ case 1, BattleFrontier_Lounge7_EventScript_Snore
+ case 2, BattleFrontier_Lounge7_EventScript_MudSlap
+ case 3, BattleFrontier_Lounge7_EventScript_Swift
+ case 4, BattleFrontier_Lounge7_EventScript_IcyWind
+ case 5, BattleFrontier_Lounge7_EventScript_Endure
+ case 6, BattleFrontier_Lounge7_EventScript_PsychUp
+ case 7, BattleFrontier_Lounge7_EventScript_IcePunch
+ case 8, BattleFrontier_Lounge7_EventScript_ThunderPunch
+ case 9, BattleFrontier_Lounge7_EventScript_FirePunch
+ case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ end
+
+BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove:: @ 826551F
+ message BattleFrontier_Lounge7_Text_TeachWhichMove
waitmessage
setvar VAR_TEMP_E, 1
- setvar VAR_0x8004, 10
+ setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2
setvar VAR_0x8006, 1
- special sub_813A128
+ special ShowScrollableMultichoice
waitstate
copyvar VAR_TEMP_D, 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
+ case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl
+ case 1, BattleFrontier_Lounge7_EventScript_Snore
+ case 2, BattleFrontier_Lounge7_EventScript_MudSlap
+ case 3, BattleFrontier_Lounge7_EventScript_Swift
+ case 4, BattleFrontier_Lounge7_EventScript_IcyWind
+ case 5, BattleFrontier_Lounge7_EventScript_Endure
+ case 6, BattleFrontier_Lounge7_EventScript_PsychUp
+ case 7, BattleFrontier_Lounge7_EventScript_IcePunch
+ case 8, BattleFrontier_Lounge7_EventScript_ThunderPunch
+ case 9, BattleFrontier_Lounge7_EventScript_FirePunch
+ case 10, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ case MULTI_B_PRESSED, BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect
+ end
+
+BattleFrontier_Lounge7_EventScript_DefenseCurl:: @ 82655C7
setvar VAR_0x8008, 16
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2655D2:: @ 82655D2
+BattleFrontier_Lounge7_EventScript_Snore:: @ 82655D2
setvar VAR_0x8008, 24
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2655DD:: @ 82655DD
+BattleFrontier_Lounge7_EventScript_MudSlap:: @ 82655DD
setvar VAR_0x8008, 24
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2655E8:: @ 82655E8
+BattleFrontier_Lounge7_EventScript_Swift:: @ 82655E8
setvar VAR_0x8008, 24
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2655F3:: @ 82655F3
+BattleFrontier_Lounge7_EventScript_IcyWind:: @ 82655F3
setvar VAR_0x8008, 24
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_2655FE:: @ 82655FE
+BattleFrontier_Lounge7_EventScript_Endure:: @ 82655FE
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_265609:: @ 8265609
+BattleFrontier_Lounge7_EventScript_PsychUp:: @ 8265609
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_265614:: @ 8265614
+BattleFrontier_Lounge7_EventScript_IcePunch:: @ 8265614
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_26561F:: @ 826561F
+BattleFrontier_Lounge7_EventScript_ThunderPunch:: @ 826561F
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_26562A:: @ 826562A
+BattleFrontier_Lounge7_EventScript_FirePunch:: @ 826562A
setvar VAR_0x8008, 48
- goto BattleFrontier_Lounge7_EventScript_26564F
+ goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
end
-BattleFrontier_Lounge7_EventScript_265635:: @ 8265635
- special sub_813ADB8
- special sub_813A988
- msgbox BattleFrontier_Lounge7_Text_265A0E, MSGBOX_DEFAULT
+BattleFrontier_Lounge7_EventScript_ExitTutorMoveSelect:: @ 8265635
+ special CloseBattleFrontierTutorWindow
+ special CloseBattlePointsWindow
+ msgbox BattleFrontier_Lounge7_Text_YouDontWantTo, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge7_EventScript_265645:: @ 8265645
- msgbox BattleFrontier_Lounge7_Text_265A0E, MSGBOX_DEFAULT
+BattleFrontier_Lounge7_EventScript_CancelChooseMon:: @ 8265645
+ msgbox BattleFrontier_Lounge7_Text_YouDontWantTo, MSGBOX_DEFAULT
release
end
-BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F
+@ VAR_0x8008 is the price
+@ VAR_TEMP_C is the scroll multichoice ID
+@ VAR_TEMP_D is the move selection
+@ VAR_TEMP_E is which move tutor was spoken to
+BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection:: @ 826564F
copyvar VAR_0x8004, VAR_TEMP_D
copyvar VAR_0x8005, VAR_TEMP_E
- special sub_813AC7C
+ special BufferBattleFrontierTutorMoveName
buffernumberstring 1, VAR_0x8008
copyvar VAR_0x8004, VAR_TEMP_C
- msgbox BattleFrontier_Lounge7_Text_265921, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_Lounge7_EventScript_2656CA
- specialvar VAR_TEMP_1, sub_813AA04
+ msgbox BattleFrontier_Lounge7_Text_MoveWillBeXBattlePoints, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_Lounge7_EventScript_ChooseNewMove
+ specialvar VAR_TEMP_1, GetFrontierBattlePoints
compare VAR_TEMP_1, VAR_0x8008
- goto_if_ge BattleFrontier_Lounge7_EventScript_265696
- msgbox BattleFrontier_Lounge7_Text_265997, MSGBOX_DEFAULT
- goto BattleFrontier_Lounge7_EventScript_2656CA
- end
-
-BattleFrontier_Lounge7_EventScript_265696:: @ 8265696
- msgbox BattleFrontier_Lounge7_Text_26595A, MSGBOX_DEFAULT
- special sub_813AEB4
- fadescreen 1
- special sub_813A988
- special sub_813ADB8
- special sub_81B892C
+ goto_if_ge BattleFrontier_Lounge7_EventScript_TeachTutorMove
+ msgbox BattleFrontier_Lounge7_Text_HaventGotEnoughPoints, MSGBOX_DEFAULT
+ goto BattleFrontier_Lounge7_EventScript_ChooseNewMove
+ end
+
+BattleFrontier_Lounge7_EventScript_TeachTutorMove:: @ 8265696
+ msgbox BattleFrontier_Lounge7_Text_TeachMoveToWhichMon, MSGBOX_DEFAULT
+ special GetBattleFrontierTutorMoveIndex
+ fadescreen FADE_TO_BLACK
+ special CloseBattlePointsWindow
+ special CloseBattleFrontierTutorWindow
+ special ChooseMonForMoveTutor
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_Lounge7_EventScript_265645
- msgbox BattleFrontier_Lounge7_Text_2659C7, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_Lounge7_EventScript_CancelChooseMon
+ msgbox BattleFrontier_Lounge7_Text_IllTakeBattlePoints, MSGBOX_DEFAULT
copyvar VAR_0x8004, VAR_0x8008
- special sub_813A9A4
+ special TakeFrontierBattlePoints
release
end
-BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA
+BattleFrontier_Lounge7_EventScript_ChooseNewMove:: @ 82656CA
compare VAR_TEMP_E, 0
- goto_if_eq BattleFrontier_Lounge7_EventScript_26532F
- goto BattleFrontier_Lounge7_EventScript_26551F
+ goto_if_eq BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove
+ goto BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove
end
-BattleFrontier_Lounge7_EventScript_2656DB:: @ 82656DB
- msgbox BattleFrontier_Lounge7_Text_265C6F, MSGBOX_NPC
+BattleFrontier_Lounge7_EventScript_Sailor:: @ 82656DB
+ msgbox BattleFrontier_Lounge7_Text_ThinkLadiesDontGetAlong, MSGBOX_NPC
end
-BattleFrontier_Lounge7_EventScript_2656E4:: @ 82656E4
- msgbox BattleFrontier_Lounge7_Text_265D17, MSGBOX_NPC
+BattleFrontier_Lounge7_EventScript_Gentleman:: @ 82656E4
+ msgbox BattleFrontier_Lounge7_Text_LadiesWereStrongAndBeautiful, MSGBOX_NPC
end
-BattleFrontier_Lounge7_Text_2656ED: @ 82656ED
+BattleFrontier_Lounge7_Text_LeftTutorIntro: @ 82656ED
.string "Buhahaha!\p"
.string "You couldn't tell it from looking now,\n"
.string "but I used to be one tough TRAINER.\p"
@@ -305,38 +309,38 @@ BattleFrontier_Lounge7_Text_2656ED: @ 82656ED
.string "How about paying for the moves I teach\l"
.string "with a wee bit of Battle Points?$"
-BattleFrontier_Lounge7_Text_2658AB: @ 82658AB
+BattleFrontier_Lounge7_Text_LeftTutorWelcomeBack: @ 82658AB
.string "Buhahaha!\p"
.string "Are you back to learn special and\n"
.string "yet cute POKéMON moves?$"
-BattleFrontier_Lounge7_Text_2658EF: @ 82658EF
+BattleFrontier_Lounge7_Text_TeachWhichMove: @ 82658EF
.string "Fine, fine, look here!\n"
.string "Which move should I teach?$"
-BattleFrontier_Lounge7_Text_265921: @ 8265921
+BattleFrontier_Lounge7_Text_MoveWillBeXBattlePoints: @ 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
+BattleFrontier_Lounge7_Text_TeachMoveToWhichMon: @ 826595A
.string "Fine, fine, now pick the POKéMON\n"
.string "I should teach the move to.$"
-BattleFrontier_Lounge7_Text_265997: @ 8265997
+BattleFrontier_Lounge7_Text_HaventGotEnoughPoints: @ 8265997
.string "What the…\n"
.string "You haven't got enough Battle Points!$"
-BattleFrontier_Lounge7_Text_2659C7: @ 82659C7
+BattleFrontier_Lounge7_Text_IllTakeBattlePoints: @ 82659C7
.string "Do you see how skilled I am now?\n"
.string "I'll take your Battle Points, thanks!$"
-BattleFrontier_Lounge7_Text_265A0E: @ 8265A0E
+BattleFrontier_Lounge7_Text_YouDontWantTo: @ 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
+BattleFrontier_Lounge7_Text_RightTutorIntro: @ 8265A6C
.string "Ihihihi!\p"
.string "I know it's hard to see now, but I used\n"
.string "to be one fantastic TRAINER.\p"
@@ -354,19 +358,19 @@ BattleFrontier_Lounge7_Text_265A6C: @ 8265A6C
.string "How about paying for the moves I teach\l"
.string "with a wee bit of Battle Points?$"
-BattleFrontier_Lounge7_Text_265C2C: @ 8265C2C
+BattleFrontier_Lounge7_Text_RightTutorWelcomeBack: @ 8265C2C
.string "Ihihihi!\p"
.string "Have you come to learn hard and\n"
.string "yet pretty POKéMON moves?$"
-BattleFrontier_Lounge7_Text_265C6F: @ 8265C6F
+BattleFrontier_Lounge7_Text_ThinkLadiesDontGetAlong: @ 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
+BattleFrontier_Lounge7_Text_LadiesWereStrongAndBeautiful: @ 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"
@@ -378,102 +382,102 @@ BattleFrontier_Lounge7_Text_265D17: @ 8265D17
.string "but feel this…\p"
.string "Time is so cruel…$"
-BattleFrontier_Lounge7_Text_265E30:: @ 8265E30
+BattleFrontier_Lounge7_Text_SoftboiledDesc:: @ 8265E30
.string "Recovers up to\n"
.string "half the user's\n"
.string "maximum HP.$"
-BattleFrontier_Lounge7_Text_265E5B:: @ 8265E5B
+BattleFrontier_Lounge7_Text_SeismicTossDesc:: @ 8265E5B
.string "Inflicts damage\n"
.string "identical to the\n"
.string "user's level.$"
-BattleFrontier_Lounge7_Text_265E8A:: @ 8265E8A
+BattleFrontier_Lounge7_Text_DreamEaterDesc:: @ 8265E8A
.string "Recovers half the\n"
.string "damage inflicted\n"
.string "on a sleeping foe.$"
-BattleFrontier_Lounge7_Text_265EC0:: @ 8265EC0
+BattleFrontier_Lounge7_Text_MegaPunchDesc:: @ 8265EC0
.string "A strong punch\n"
.string "thrown with\n"
.string "incredible power.$"
-BattleFrontier_Lounge7_Text_265EED:: @ 8265EED
+BattleFrontier_Lounge7_Text_MegaKickDesc:: @ 8265EED
.string "An extremely\n"
.string "powerful kick with\n"
.string "intense force.$"
-BattleFrontier_Lounge7_Text_265F1C:: @ 8265F1C
+BattleFrontier_Lounge7_Text_BodySlamDesc:: @ 8265F1C
.string "A full-body slam\n"
.string "that may cause\n"
.string "paralysis.$"
-BattleFrontier_Lounge7_Text_265F47:: @ 8265F47
+BattleFrontier_Lounge7_Text_RockSlideDesc:: @ 8265F47
.string "Large boulders\n"
.string "are hurled. May\n"
.string "cause flinching.$"
-BattleFrontier_Lounge7_Text_265F77:: @ 8265F77
+BattleFrontier_Lounge7_Text_CounterDesc:: @ 8265F77
.string "Retaliates any\n"
.string "physical hit with\n"
.string "double the power.$"
-BattleFrontier_Lounge7_Text_265FAA:: @ 8265FAA
+BattleFrontier_Lounge7_Text_ThunderWaveDesc:: @ 8265FAA
.string "A weak jolt of\n"
.string "electricity that\n"
.string "paralyzes the foe.$"
-BattleFrontier_Lounge7_Text_265FDD:: @ 8265FDD
+BattleFrontier_Lounge7_Text_SwordsDanceDesc:: @ 8265FDD
.string "A fighting dance\n"
.string "that sharply\n"
.string "raises ATTACK.$"
-BattleFrontier_Lounge7_Text_26600A:: @ 826600A
+BattleFrontier_Lounge7_Text_DefenseCurlDesc:: @ 826600A
.string "Curls up to con-\n"
.string "ceal weak spots\n"
.string "and raise DEFENSE.$"
-BattleFrontier_Lounge7_Text_26603E:: @ 826603E
+BattleFrontier_Lounge7_Text_SnoreDesc:: @ 826603E
.string "A loud attack\n"
.string "that can be used\n"
.string "only while asleep.$"
-BattleFrontier_Lounge7_Text_266070:: @ 8266070
+BattleFrontier_Lounge7_Text_MudSlapDesc:: @ 8266070
.string "Hurls mud in the\n"
.string "foe's face to re-\n"
.string "duce its accuracy.$"
-BattleFrontier_Lounge7_Text_2660A6:: @ 82660A6
+BattleFrontier_Lounge7_Text_SwiftDesc:: @ 82660A6
.string "Sprays star-\n"
.string "shaped rays\n"
.string "that never miss.$"
-BattleFrontier_Lounge7_Text_2660D0:: @ 82660D0
+BattleFrontier_Lounge7_Text_IcyWindDesc:: @ 82660D0
.string "A chilling attack\n"
.string "that lowers the\n"
.string "foe's SPEED.$"
-BattleFrontier_Lounge7_Text_2660FF:: @ 82660FF
+BattleFrontier_Lounge7_Text_EndureDesc:: @ 82660FF
.string "Endures any at-\n"
.string "tack for 1 turn,\n"
.string "leaving 1HP.$"
-BattleFrontier_Lounge7_Text_26612D:: @ 826612D
+BattleFrontier_Lounge7_Text_PsychUpDesc:: @ 826612D
.string "Copies the foe's\n"
.string "effect(s) and\n"
.string "gives to the user.$"
-BattleFrontier_Lounge7_Text_26615F:: @ 826615F
+BattleFrontier_Lounge7_Text_IcePunchDesc:: @ 826615F
.string "An icy punch\n"
.string "that may\n"
.string "freeze the foe.$"
-BattleFrontier_Lounge7_Text_266185:: @ 8266185
+BattleFrontier_Lounge7_Text_ThunderPunchDesc:: @ 8266185
.string "An electrified\n"
.string "punch that may\n"
.string "paralyze the foe.$"
-BattleFrontier_Lounge7_Text_2661B5:: @ 82661B5
+BattleFrontier_Lounge7_Text_FirePunchDesc:: @ 82661B5
.string "A fiery punch\n"
.string "that may burn\n"
.string "the foe.$"
diff --git a/data/maps/BattleFrontier_Lounge8/map.json b/data/maps/BattleFrontier_Lounge8/map.json
index ff2bd2361..519f008fc 100644
--- a/data/maps/BattleFrontier_Lounge8/map.json
+++ b/data/maps/BattleFrontier_Lounge8/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge8_EventScript_2676DC",
+ "script": "BattleFrontier_Lounge8_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge8_EventScript_2676CA",
+ "script": "BattleFrontier_Lounge8_EventScript_Man",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Lounge8_EventScript_2676D3",
+ "script": "BattleFrontier_Lounge8_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Lounge8/scripts.inc b/data/maps/BattleFrontier_Lounge8/scripts.inc
index 3a6f78fd7..2615af743 100644
--- a/data/maps/BattleFrontier_Lounge8/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge8/scripts.inc
@@ -1,19 +1,19 @@
BattleFrontier_Lounge8_MapScripts:: @ 82676C9
.byte 0
-BattleFrontier_Lounge8_EventScript_2676CA:: @ 82676CA
- msgbox BattleFrontier_Lounge8_Text_2676E5, MSGBOX_NPC
+BattleFrontier_Lounge8_EventScript_Man:: @ 82676CA
+ msgbox BattleFrontier_Lounge8_Text_WhatATrainerNeeds, MSGBOX_NPC
end
-BattleFrontier_Lounge8_EventScript_2676D3:: @ 82676D3
- msgbox BattleFrontier_Lounge8_Text_26779C, MSGBOX_NPC
+BattleFrontier_Lounge8_EventScript_Woman:: @ 82676D3
+ msgbox BattleFrontier_Lounge8_Text_KnowAboutFrontierBrains, MSGBOX_NPC
end
-BattleFrontier_Lounge8_EventScript_2676DC:: @ 82676DC
- msgbox BattleFrontier_Lounge8_Text_26782C, MSGBOX_NPC
+BattleFrontier_Lounge8_EventScript_NinjaBoy:: @ 82676DC
+ msgbox BattleFrontier_Lounge8_Text_ToldMeIHaveTalentForBattling, MSGBOX_NPC
end
-BattleFrontier_Lounge8_Text_2676E5: @ 82676E5
+BattleFrontier_Lounge8_Text_WhatATrainerNeeds: @ 82676E5
.string "What a TRAINER needs…\p"
.string "Knowledge…\n"
.string "Strategy…\l"
@@ -27,14 +27,14 @@ BattleFrontier_Lounge8_Text_2676E5: @ 82676E5
.string "Huh? POKéMON?\n"
.string "What's that?$"
-BattleFrontier_Lounge8_Text_26779C: @ 826779C
+BattleFrontier_Lounge8_Text_KnowAboutFrontierBrains: @ 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
+BattleFrontier_Lounge8_Text_ToldMeIHaveTalentForBattling: @ 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"
diff --git a/data/maps/BattleFrontier_Mart/map.json b/data/maps/BattleFrontier_Mart/map.json
index 46f6de9af..f4adf6c36 100644
--- a/data/maps/BattleFrontier_Mart/map.json
+++ b/data/maps/BattleFrontier_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Mart_EventScript_267ACC",
+ "script": "BattleFrontier_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Mart_EventScript_267B0B",
+ "script": "BattleFrontier_Mart_EventScript_OldWoman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Mart_EventScript_267B02",
+ "script": "BattleFrontier_Mart_EventScript_OldMan",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_Mart_EventScript_267B20",
+ "script": "BattleFrontier_Mart_EventScript_Boy",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_Mart/scripts.inc b/data/maps/BattleFrontier_Mart/scripts.inc
index d84b2cb0a..e04a2e6d3 100644
--- a/data/maps/BattleFrontier_Mart/scripts.inc
+++ b/data/maps/BattleFrontier_Mart/scripts.inc
@@ -1,18 +1,18 @@
BattleFrontier_Mart_MapScripts:: @ 8267ACB
.byte 0
-BattleFrontier_Mart_EventScript_267ACC:: @ 8267ACC
+BattleFrontier_Mart_EventScript_Clerk:: @ 8267ACC
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart BattleFrontier_Mart_Pokemart_267AE4
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart BattleFrontier_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-BattleFrontier_Mart_Pokemart_267AE4: @ 8267AE4
+BattleFrontier_Mart_Pokemart: @ 8267AE4
.2byte ITEM_ULTRA_BALL
.2byte ITEM_HYPER_POTION
.2byte ITEM_MAX_POTION
@@ -30,35 +30,35 @@ BattleFrontier_Mart_Pokemart_267AE4: @ 8267AE4
release
end
-BattleFrontier_Mart_EventScript_267B02:: @ 8267B02
- msgbox BattleFrontier_Mart_Text_267B29, MSGBOX_NPC
+BattleFrontier_Mart_EventScript_OldMan:: @ 8267B02
+ msgbox BattleFrontier_Mart_Text_ChaperonGrandson, MSGBOX_NPC
end
-BattleFrontier_Mart_EventScript_267B0B:: @ 8267B0B
+BattleFrontier_Mart_EventScript_OldWoman:: @ 8267B0B
lock
applymovement 2, Common_Movement_FaceDown
waitmovement 0
- msgbox BattleFrontier_Mart_Text_267B8F, MSGBOX_DEFAULT
+ msgbox BattleFrontier_Mart_Text_ProteinMakeNiceGift, MSGBOX_DEFAULT
release
end
-BattleFrontier_Mart_EventScript_267B20:: @ 8267B20
- msgbox BattleFrontier_Mart_Text_267C01, MSGBOX_NPC
+BattleFrontier_Mart_EventScript_Boy:: @ 8267B20
+ msgbox BattleFrontier_Mart_Text_FacilitiesDontAllowItems, MSGBOX_NPC
end
-BattleFrontier_Mart_Text_267B29: @ 8267B29
+BattleFrontier_Mart_Text_ChaperonGrandson: @ 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
+BattleFrontier_Mart_Text_ProteinMakeNiceGift: @ 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
+BattleFrontier_Mart_Text_FacilitiesDontAllowItems: @ 8267C01
.string "A lot of the BATTLE FRONTIER's\n"
.string "facilities don't allow the use of items\l"
.string "during battles.\p"
diff --git a/data/maps/BattleFrontier_OutsideEast/map.json b/data/maps/BattleFrontier_OutsideEast/map.json
index 341b20321..cccf8fb8a 100644
--- a/data/maps/BattleFrontier_OutsideEast/map.json
+++ b/data/maps/BattleFrontier_OutsideEast/map.json
@@ -30,7 +30,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242C67",
+ "script": "BattleFrontier_OutsideEast_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -43,7 +43,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242C70",
+ "script": "BattleFrontier_OutsideEast_EventScript_Man1",
"flag": "0"
},
{
@@ -56,7 +56,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242C79",
+ "script": "BattleFrontier_OutsideEast_EventScript_Hiker",
"flag": "0"
},
{
@@ -69,7 +69,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242C82",
+ "script": "BattleFrontier_OutsideEast_EventScript_HexManiac",
"flag": "0"
},
{
@@ -82,7 +82,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242C8B",
+ "script": "BattleFrontier_OutsideEast_EventScript_BlackBelt1",
"flag": "0"
},
{
@@ -95,7 +95,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242C94",
+ "script": "BattleFrontier_OutsideEast_EventScript_Cook",
"flag": "0"
},
{
@@ -108,7 +108,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242CBB",
+ "script": "BattleFrontier_OutsideEast_EventScript_ExpertF",
"flag": "0"
},
{
@@ -121,7 +121,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242CE1",
+ "script": "BattleFrontier_OutsideEast_EventScript_TriathleteM",
"flag": "0"
},
{
@@ -134,7 +134,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242CB2",
+ "script": "BattleFrontier_OutsideEast_EventScript_RichBoy",
"flag": "0"
},
{
@@ -147,7 +147,7 @@
"movement_range_y": 6,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242CC4",
+ "script": "BattleFrontier_OutsideEast_EventScript_TriathleteF",
"flag": "0"
},
{
@@ -160,7 +160,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242CCD",
+ "script": "BattleFrontier_OutsideEast_EventScript_Twin",
"flag": "0"
},
{
@@ -173,7 +173,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242CD6",
+ "script": "BattleFrontier_OutsideEast_EventScript_Man2",
"flag": "0"
},
{
@@ -186,7 +186,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242C9F",
+ "script": "BattleFrontier_OutsideEast_EventScript_Zigzagoon",
"flag": "0"
},
{
@@ -199,7 +199,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242CEA",
+ "script": "BattleFrontier_OutsideEast_EventScript_Sudowoodo",
"flag": "FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO"
},
{
@@ -212,7 +212,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242D79",
+ "script": "BattleFrontier_OutsideEast_EventScript_Maniac1",
"flag": "0"
},
{
@@ -225,7 +225,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242D82",
+ "script": "BattleFrontier_OutsideEast_EventScript_Girl",
"flag": "0"
},
{
@@ -238,7 +238,7 @@
"movement_range_y": 6,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242D8B",
+ "script": "BattleFrontier_OutsideEast_EventScript_PsychicM",
"flag": "0"
},
{
@@ -251,7 +251,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242D94",
+ "script": "BattleFrontier_OutsideEast_EventScript_Man3",
"flag": "0"
},
{
@@ -264,7 +264,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242D9D",
+ "script": "BattleFrontier_OutsideEast_EventScript_Woman1",
"flag": "0"
},
{
@@ -277,7 +277,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242DA6",
+ "script": "BattleFrontier_OutsideEast_EventScript_Woman2",
"flag": "0"
},
{
@@ -290,7 +290,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242DAF",
+ "script": "BattleFrontier_OutsideEast_EventScript_BlackBelt2",
"flag": "0"
},
{
@@ -303,7 +303,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242DB8",
+ "script": "BattleFrontier_OutsideEast_EventScript_Maniac2",
"flag": "0"
},
{
@@ -316,7 +316,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242DC3",
+ "script": "BattleFrontier_OutsideEast_EventScript_Woman3",
"flag": "0"
},
{
@@ -329,7 +329,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242DE9",
+ "script": "BattleFrontier_OutsideEast_EventScript_OldWoman",
"flag": "0"
},
{
@@ -342,7 +342,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242DE0",
+ "script": "BattleFrontier_OutsideEast_EventScript_Gentleman",
"flag": "0"
},
{
@@ -355,7 +355,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideEast_EventScript_242E08",
+ "script": "BattleFrontier_OutsideEast_EventScript_Camper",
"flag": "0"
}
],
@@ -406,7 +406,7 @@
"x": 10,
"y": 28,
"elevation": 0,
- "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER",
+ "dest_map": "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER",
"dest_warp_id": 0
},
{
@@ -467,7 +467,7 @@
"y": 17,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideEast_EventScript_242C43"
+ "script": "BattleFrontier_OutsideEast_EventScript_BattleTowerSign"
},
{
"type": "sign",
@@ -475,7 +475,7 @@
"y": 56,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideEast_EventScript_242C4C"
+ "script": "BattleFrontier_OutsideEast_EventScript_BattlePalaceSign"
},
{
"type": "sign",
@@ -483,7 +483,7 @@
"y": 34,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideEast_EventScript_242C55"
+ "script": "BattleFrontier_OutsideEast_EventScript_BattleArenaSign"
},
{
"type": "sign",
@@ -491,7 +491,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideEast_EventScript_242C5E"
+ "script": "BattleFrontier_OutsideEast_EventScript_BattlePyramidSign"
},
{
"type": "sign",
@@ -499,7 +499,7 @@
"y": 29,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideEast_EventScript_242DD7"
+ "script": "BattleFrontier_OutsideEast_EventScript_ExchangeCornerSign"
},
{
"type": "sign",
@@ -507,7 +507,7 @@
"y": 13,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideEast_EventScript_242DCE"
+ "script": "BattleFrontier_OutsideEast_EventScript_RankingHallSign"
},
{
"type": "sign",
diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc
index b502da8ec..ebfdba916 100644
--- a/data/maps/BattleFrontier_OutsideEast/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc
@@ -1,125 +1,125 @@
BattleFrontier_OutsideEast_MapScripts:: @ 8242C04
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_OutsideEast_MapScript1_242C0F
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideEast_MapScript1_242C2D
+ map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_OutsideEast_OnResume
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideEast_OnTransition
.byte 0
-BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BattleFrontier_OutsideEast_EventScript_242C19
+BattleFrontier_OutsideEast_OnResume: @ 8242C0F
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BattleFrontier_OutsideEast_EventScript_TryRemoveSudowoodo
end
-BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19
+BattleFrontier_OutsideEast_EventScript_TryRemoveSudowoodo:: @ 8242C19
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
-BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D
+BattleFrontier_OutsideEast_OnTransition: @ 8242C2D
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
- call_if_unset FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_242C3F
+ call_if_unset FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_ShowSudowoodo
end
-BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F
+BattleFrontier_OutsideEast_EventScript_ShowSudowoodo:: @ 8242C3F
clearflag FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO
return
-BattleFrontier_OutsideEast_EventScript_242C43:: @ 8242C43
- msgbox BattleFrontier_OutsideEast_Text_242E11, MSGBOX_SIGN
+BattleFrontier_OutsideEast_EventScript_BattleTowerSign:: @ 8242C43
+ msgbox BattleFrontier_OutsideEast_Text_BattleTowerSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideEast_EventScript_242C4C:: @ 8242C4C
- msgbox BattleFrontier_OutsideEast_Text_242E58, MSGBOX_SIGN
+BattleFrontier_OutsideEast_EventScript_BattlePalaceSign:: @ 8242C4C
+ msgbox BattleFrontier_OutsideEast_Text_BattlePalaceSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideEast_EventScript_242C55:: @ 8242C55
- msgbox BattleFrontier_OutsideEast_Text_242E96, MSGBOX_SIGN
+BattleFrontier_OutsideEast_EventScript_BattleArenaSign:: @ 8242C55
+ msgbox BattleFrontier_OutsideEast_Text_BattleArenaSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideEast_EventScript_242C5E:: @ 8242C5E
- msgbox BattleFrontier_OutsideEast_Text_242ECF, MSGBOX_SIGN
+BattleFrontier_OutsideEast_EventScript_BattlePyramidSign:: @ 8242C5E
+ msgbox BattleFrontier_OutsideEast_Text_BattlePyramidSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideEast_EventScript_242C67:: @ 8242C67
- msgbox BattleFrontier_OutsideEast_Text_242F8C, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_NinjaBoy:: @ 8242C67
+ msgbox BattleFrontier_OutsideEast_Text_BattleTowerFeelsSpecial, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242C70:: @ 8242C70
- msgbox BattleFrontier_OutsideEast_Text_242FDC, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Man1:: @ 8242C70
+ msgbox BattleFrontier_OutsideEast_Text_ConquerLeagueAndFrontier, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242C79:: @ 8242C79
- msgbox BattleFrontier_OutsideEast_Text_24308C, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Hiker:: @ 8242C79
+ msgbox BattleFrontier_OutsideEast_Text_PyramidTooHarsh, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242C82:: @ 8242C82
- msgbox BattleFrontier_OutsideEast_Text_243106, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_HexManiac:: @ 8242C82
+ msgbox BattleFrontier_OutsideEast_Text_ThriveInDarkness, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242C8B:: @ 8242C8B
- msgbox BattleFrontier_OutsideEast_Text_2431A5, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_BlackBelt1:: @ 8242C8B
+ msgbox BattleFrontier_OutsideEast_Text_PutTogetherUltimateTeam, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242C94:: @ 8242C94
+BattleFrontier_OutsideEast_EventScript_Cook:: @ 8242C94
lock
- msgbox BattleFrontier_OutsideEast_Text_2432DD, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideEast_Text_BelieveInYouBuddy, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideEast_EventScript_242C9F:: @ 8242C9F
+BattleFrontier_OutsideEast_EventScript_Zigzagoon:: @ 8242C9F
lock
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox BattleFrontier_OutsideEast_Text_24334B, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideEast_Text_ZigzagoonLooksVacant, MSGBOX_DEFAULT
waitmoncry
release
end
-BattleFrontier_OutsideEast_EventScript_242CB2:: @ 8242CB2
- msgbox BattleFrontier_OutsideEast_Text_243363, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_RichBoy:: @ 8242CB2
+ msgbox BattleFrontier_OutsideEast_Text_PeopleCallMeBusybody, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242CBB:: @ 8242CBB
- msgbox BattleFrontier_OutsideEast_Text_243425, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_ExpertF:: @ 8242CBB
+ msgbox BattleFrontier_OutsideEast_Text_OnceBeatGymLeader, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242CC4:: @ 8242CC4
- msgbox BattleFrontier_OutsideEast_Text_2434A0, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_TriathleteF:: @ 8242CC4
+ msgbox BattleFrontier_OutsideEast_Text_FastOnBikeAndBattles, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242CCD:: @ 8242CCD
- msgbox BattleFrontier_OutsideEast_Text_243504, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Twin:: @ 8242CCD
+ msgbox BattleFrontier_OutsideEast_Text_BetterThanDaddyAtPokemon, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242CD6:: @ 8242CD6
+BattleFrontier_OutsideEast_EventScript_Man2:: @ 8242CD6
lock
- msgbox BattleFrontier_OutsideEast_Text_243529, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideEast_Text_GoRackUpSomeWinsForDaddy, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideEast_EventScript_242CE1:: @ 8242CE1
- msgbox BattleFrontier_OutsideEast_Text_243230, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_TriathleteM:: @ 8242CE1
+ msgbox BattleFrontier_OutsideEast_Text_DidScottBringYouHere, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242CEA:: @ 8242CEA
+BattleFrontier_OutsideEast_EventScript_Sudowoodo:: @ 8242CEA
lock
faceplayer
waitse
playse 269
- applymovement 14, BattleFrontier_OutsideEast_Movement_242D69
+ applymovement 14, BattleFrontier_OutsideEast_Movement_SudowoodoShake
waitmovement 0
release
end
-BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC
+BattleFrontier_OutsideEast_EventScript_WaterSudowoodo:: @ 8242CFC
lock
faceplayer
special DoWateringBerryTreeAnim
waitstate
waitse
- playse 269
- applymovement 14, BattleFrontier_OutsideEast_Movement_242D69
+ playse SE_USSOKI
+ applymovement 14, BattleFrontier_OutsideEast_Movement_SudowoodoShake
waitmovement 0
msgbox gText_Sudowoodo_Attacked, MSGBOX_DEFAULT
closemessage
@@ -127,28 +127,28 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC
playmoncry SPECIES_SUDOWOODO, 2
delay 40
waitmoncry
- setvar VAR_LAST_TALKED, 14
+ setvar VAR_LAST_TALKED, 14 @ Sudowoodo object event id
setwildbattle SPECIES_SUDOWOODO, 40, ITEM_NONE
setflag FLAG_SYS_CTRL_OBJ_DELETE
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60
- compare VAR_RESULT, 4
- goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60
- compare VAR_RESULT, 5
- goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
setflag FLAG_DEFEATED_SUDOWOODO
release
end
-BattleFrontier_OutsideEast_EventScript_242D60:: @ 8242D60
+BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo:: @ 8242D60
setflag FLAG_DEFEATED_SUDOWOODO
- goto IslandCave_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-BattleFrontier_OutsideEast_Movement_242D69: @ 8242D69
+BattleFrontier_OutsideEast_Movement_SudowoodoShake: @ 8242D69
face_right
delay_8
face_down
@@ -166,107 +166,107 @@ BattleFrontier_OutsideEast_Movement_242D69: @ 8242D69
face_down
step_end
-BattleFrontier_OutsideEast_EventScript_242D79:: @ 8242D79
- msgbox BattleFrontier_OutsideEast_Text_243598, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Maniac1:: @ 8242D79
+ msgbox BattleFrontier_OutsideEast_Text_HeardPrettyGirlAtBattleArena, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242D82:: @ 8242D82
- msgbox BattleFrontier_OutsideEast_Text_243668, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Girl:: @ 8242D82
+ msgbox BattleFrontier_OutsideEast_Text_SometimesImportantOldManInThere, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242D8B:: @ 8242D8B
- msgbox BattleFrontier_OutsideEast_Text_2436F2, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_PsychicM:: @ 8242D8B
+ msgbox BattleFrontier_OutsideEast_Text_LegendOfBattlePyramid, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242D94:: @ 8242D94
- msgbox BattleFrontier_OutsideEast_Text_243809, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Man3:: @ 8242D94
+ msgbox BattleFrontier_OutsideEast_Text_GotWipedOut, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242D9D:: @ 8242D9D
- msgbox BattleFrontier_OutsideEast_Text_243895, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Woman1:: @ 8242D9D
+ msgbox BattleFrontier_OutsideEast_Text_ToughTrainerInBattleTower, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242DA6:: @ 8242DA6
- msgbox BattleFrontier_OutsideEast_Text_243943, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Woman2:: @ 8242DA6
+ msgbox BattleFrontier_OutsideEast_Text_EnoughBattlePointsForDoll, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242DAF:: @ 8242DAF
- msgbox BattleFrontier_OutsideEast_Text_2439A0, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_BlackBelt2:: @ 8242DAF
+ msgbox BattleFrontier_OutsideEast_Text_LikeToHaveNameRecordedHere, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242DB8:: @ 8242DB8
+BattleFrontier_OutsideEast_EventScript_Maniac2:: @ 8242DB8
lock
- msgbox BattleFrontier_OutsideEast_Text_243A2B, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideEast_Text_CanDoAnythingWithYou, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideEast_EventScript_242DC3:: @ 8242DC3
+BattleFrontier_OutsideEast_EventScript_Woman3:: @ 8242DC3
lock
- msgbox BattleFrontier_OutsideEast_Text_243A53, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideEast_Text_PowerOfOurLoveWillOvercome, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideEast_EventScript_242DCE:: @ 8242DCE
- msgbox BattleFrontier_OutsideEast_Text_242F0D, MSGBOX_SIGN
+BattleFrontier_OutsideEast_EventScript_RankingHallSign:: @ 8242DCE
+ msgbox BattleFrontier_OutsideEast_Text_RankingHallSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideEast_EventScript_242DD7:: @ 8242DD7
- msgbox BattleFrontier_OutsideEast_Text_242F4A, MSGBOX_SIGN
+BattleFrontier_OutsideEast_EventScript_ExchangeCornerSign:: @ 8242DD7
+ msgbox BattleFrontier_OutsideEast_Text_ExchangeCornerSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0
- msgbox BattleFrontier_OutsideEast_Text_243B68, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Gentleman:: @ 8242DE0
+ msgbox BattleFrontier_OutsideEast_Text_FrontierNotExclusivelyForToughTrainers, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9
+BattleFrontier_OutsideEast_EventScript_OldWoman:: @ 8242DE9
lock
faceplayer
- goto_if_set FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_242DFE
- msgbox BattleFrontier_OutsideEast_Text_243C2C, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_SUDOWOODO, BattleFrontier_OutsideEast_EventScript_OldWomanSudowoodoGone
+ msgbox BattleFrontier_OutsideEast_Text_OddTreeHereSeemsToWiggle, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideEast_EventScript_242DFE:: @ 8242DFE
- msgbox BattleFrontier_OutsideEast_Text_243CA3, MSGBOX_DEFAULT
+BattleFrontier_OutsideEast_EventScript_OldWomanSudowoodoGone:: @ 8242DFE
+ msgbox BattleFrontier_OutsideEast_Text_OnceAnOddTreePastHere, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideEast_EventScript_242E08:: @ 8242E08
- msgbox BattleFrontier_OutsideEast_Text_243D0B, MSGBOX_NPC
+BattleFrontier_OutsideEast_EventScript_Camper:: @ 8242E08
+ msgbox BattleFrontier_OutsideEast_Text_StickyMonWithLongTail, MSGBOX_NPC
end
-BattleFrontier_OutsideEast_Text_242E11: @ 8242E11
+BattleFrontier_OutsideEast_Text_BattleTowerSign: @ 8242E11
.string "This is the BATTLE TOWER!\n"
.string "Keep the win streak as the toughest\l"
.string "TRAINER!$"
-BattleFrontier_OutsideEast_Text_242E58: @ 8242E58
+BattleFrontier_OutsideEast_Text_BattlePalaceSign: @ 8242E58
.string "This is the BATTLE PALACE!\n"
.string "Keep your eyes on POKéMON battles!$"
-BattleFrontier_OutsideEast_Text_242E96: @ 8242E96
+BattleFrontier_OutsideEast_Text_BattleArenaSign: @ 8242E96
.string "This is the BATTLE ARENA!\n"
.string "Let the toughest teams gather!$"
-BattleFrontier_OutsideEast_Text_242ECF: @ 8242ECF
+BattleFrontier_OutsideEast_Text_BattlePyramidSign: @ 8242ECF
.string "This is the BATTLE PYRAMID!\n"
.string "Advance through the Battle Quest!$"
-BattleFrontier_OutsideEast_Text_242F0D: @ 8242F0D
+BattleFrontier_OutsideEast_Text_RankingHallSign: @ 8242F0D
.string "BATTLE FRONTIER RANKING HALL\n"
.string "Set your sights on new records!$"
-BattleFrontier_OutsideEast_Text_242F4A: @ 8242F4A
+BattleFrontier_OutsideEast_Text_ExchangeCornerSign: @ 8242F4A
.string "BATTLE POINT EXCHANGE SERVICE CORNER\n"
.string "Exchange your Battle Points!$"
-BattleFrontier_OutsideEast_Text_242F8C: @ 8242F8C
+BattleFrontier_OutsideEast_Text_BattleTowerFeelsSpecial: @ 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
+BattleFrontier_OutsideEast_Text_ConquerLeagueAndFrontier: @ 8242FDC
.string "My grand ambition is to conquer both\n"
.string "the BATTLE FRONTIER and the POKéMON\l"
.string "LEAGUE.\p"
@@ -274,26 +274,26 @@ BattleFrontier_OutsideEast_Text_242FDC: @ 8242FDC
.string "I… I'm going to ask MIMI next door\n"
.string "if she will be friends with me!$"
-BattleFrontier_OutsideEast_Text_24308C: @ 824308C
+BattleFrontier_OutsideEast_Text_PyramidTooHarsh: @ 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
+BattleFrontier_OutsideEast_Text_ThriveInDarkness: @ 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
+BattleFrontier_OutsideEast_Text_PutTogetherUltimateTeam: @ 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
+BattleFrontier_OutsideEast_Text_DidScottBringYouHere: @ 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"
@@ -301,16 +301,16 @@ BattleFrontier_OutsideEast_Text_243230: @ 8243230
.string "I've never seen him battling in person\n"
.string "ever.$"
-BattleFrontier_OutsideEast_Text_2432DD: @ 82432DD
+BattleFrontier_OutsideEast_Text_BelieveInYouBuddy: @ 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
+BattleFrontier_OutsideEast_Text_ZigzagoonLooksVacant: @ 824334B
.string "ZIGZAGOON looks vacant…$"
-BattleFrontier_OutsideEast_Text_243363: @ 8243363
+BattleFrontier_OutsideEast_Text_PeopleCallMeBusybody: @ 8243363
.string "People call me a busybody,\n"
.string "but I can't help it.\p"
.string "Your hat's on crooked!\n"
@@ -319,29 +319,29 @@ BattleFrontier_OutsideEast_Text_243363: @ 8243363
.string "I don't know if I can stand to just\n"
.string "watch at the BATTLE PALACE…$"
-BattleFrontier_OutsideEast_Text_243425: @ 8243425
+BattleFrontier_OutsideEast_Text_OnceBeatGymLeader: @ 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
+BattleFrontier_OutsideEast_Text_FastOnBikeAndBattles: @ 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
+BattleFrontier_OutsideEast_Text_BetterThanDaddyAtPokemon: @ 8243504
.string "I'm better than my daddy\n"
.string "at POKéMON.$"
-BattleFrontier_OutsideEast_Text_243529: @ 8243529
+BattleFrontier_OutsideEast_Text_GoRackUpSomeWinsForDaddy: @ 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
+BattleFrontier_OutsideEast_Text_HeardPrettyGirlAtBattleArena: @ 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"
@@ -350,13 +350,13 @@ BattleFrontier_OutsideEast_Text_243598: @ 8243598
.string "A whole teeming mob of sweaty,\n"
.string "stinky, and primitive martial artists!$"
-BattleFrontier_OutsideEast_Text_243668: @ 8243668
+BattleFrontier_OutsideEast_Text_SometimesImportantOldManInThere: @ 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
+BattleFrontier_OutsideEast_Text_LegendOfBattlePyramid: @ 82436F2
.string "Do you know it?\n"
.string "The legend of the BATTLE PYRAMID?\p"
.string "When there comes a confident TRAINER\n"
@@ -368,7 +368,7 @@ BattleFrontier_OutsideEast_Text_2436F2: @ 82436F2
.string "What's it supposed to mean?\n"
.string "That, my friend, I can't say!$"
-BattleFrontier_OutsideEast_Text_243809: @ 8243809
+BattleFrontier_OutsideEast_Text_GotWipedOut: @ 8243809
.string "Man! Oh man!\n"
.string "I've never lost once before!\p"
.string "But I got wiped out with no saving\n"
@@ -376,7 +376,7 @@ BattleFrontier_OutsideEast_Text_243809: @ 8243809
.string "And then I'm told I don't have any\n"
.string "talent?! Man!$"
-BattleFrontier_OutsideEast_Text_243895: @ 8243895
+BattleFrontier_OutsideEast_Text_ToughTrainerInBattleTower: @ 8243895
.string "This guy ran into a horribly tough\n"
.string "TRAINER while he was on the BATTLE\l"
.string "TOWER challenge.\p"
@@ -384,23 +384,23 @@ BattleFrontier_OutsideEast_Text_243895: @ 8243895
.string "You need to be cautious if you ever\n"
.string "decide to go to the BATTLE TOWER.$"
-BattleFrontier_OutsideEast_Text_243943: @ 8243943
+BattleFrontier_OutsideEast_Text_EnoughBattlePointsForDoll: @ 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
+BattleFrontier_OutsideEast_Text_LikeToHaveNameRecordedHere: @ 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
+BattleFrontier_OutsideEast_Text_CanDoAnythingWithYou: @ 8243A2B
.string "With you by my side, I can do anything.$"
-BattleFrontier_OutsideEast_Text_243A53: @ 8243A53
+BattleFrontier_OutsideEast_Text_PowerOfOurLoveWillOvercome: @ 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"
@@ -411,7 +411,7 @@ BattleFrontier_OutsideEast_Text_243A53: @ 8243A53
.string "Why, before us, darling, everything\n"
.string "will topple like dominoes!$"
-BattleFrontier_OutsideEast_Text_243B68: @ 8243B68
+BattleFrontier_OutsideEast_Text_FrontierNotExclusivelyForToughTrainers: @ 8243B68
.string "The BATTLE FRONTIER isn't exclusively\n"
.string "for tough TRAINERS.\p"
.string "Many people with special abilities\n"
@@ -420,19 +420,19 @@ BattleFrontier_OutsideEast_Text_243B68: @ 8243B68
.string "He may have built this place to serve\n"
.string "a bigger objective…$"
-BattleFrontier_OutsideEast_Text_243C2C: @ 8243C2C
+BattleFrontier_OutsideEast_Text_OddTreeHereSeemsToWiggle: @ 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
+BattleFrontier_OutsideEast_Text_OnceAnOddTreePastHere: @ 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
+BattleFrontier_OutsideEast_Text_StickyMonWithLongTail: @ 8243D0B
.string "I…\n"
.string "I saw it!\p"
.string "There was a sticky sort of a POKéMON\n"
diff --git a/data/maps/BattleFrontier_OutsideWest/map.json b/data/maps/BattleFrontier_OutsideWest/map.json
index a2972e0b4..42b76323a 100644
--- a/data/maps/BattleFrontier_OutsideWest/map.json
+++ b/data/maps/BattleFrontier_OutsideWest/map.json
@@ -30,7 +30,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D50F",
+ "script": "BattleFrontier_OutsideWest_EventScript_Boy1",
"flag": "0"
},
{
@@ -56,7 +56,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D3F0",
+ "script": "BattleFrontier_OutsideWest_EventScript_FerryAttendant",
"flag": "0"
},
{
@@ -69,7 +69,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D68B",
+ "script": "BattleFrontier_OutsideWest_EventScript_ExpertM",
"flag": "0"
},
{
@@ -82,7 +82,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D52D",
+ "script": "BattleFrontier_OutsideWest_EventScript_Man1",
"flag": "0"
},
{
@@ -95,7 +95,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D69D",
+ "script": "BattleFrontier_OutsideWest_EventScript_Woman1",
"flag": "0"
},
{
@@ -108,7 +108,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D6A6",
+ "script": "BattleFrontier_OutsideWest_EventScript_FatMan1",
"flag": "0"
},
{
@@ -121,7 +121,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D679",
+ "script": "BattleFrontier_OutsideWest_EventScript_Gentleman",
"flag": "0"
},
{
@@ -134,7 +134,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D536",
+ "script": "BattleFrontier_OutsideWest_EventScript_Maniac1",
"flag": "0"
},
{
@@ -147,7 +147,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D53D",
+ "script": "BattleFrontier_OutsideWest_EventScript_Maniac2",
"flag": "0"
},
{
@@ -160,7 +160,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D694",
+ "script": "BattleFrontier_OutsideWest_EventScript_Man2",
"flag": "0"
},
{
@@ -173,7 +173,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D5C6",
+ "script": "BattleFrontier_OutsideWest_EventScript_Girl",
"flag": "0"
},
{
@@ -186,7 +186,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D635",
+ "script": "BattleFrontier_OutsideWest_EventScript_Woman2",
"flag": "0"
},
{
@@ -199,7 +199,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D57F",
+ "script": "BattleFrontier_OutsideWest_EventScript_Camper",
"flag": "0"
},
{
@@ -212,7 +212,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D682",
+ "script": "BattleFrontier_OutsideWest_EventScript_Lass",
"flag": "0"
},
{
@@ -225,7 +225,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_249E19",
+ "script": "BattleFrontier_OutsideWest_EventScript_Man3",
"flag": "0"
},
{
@@ -238,7 +238,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D667",
+ "script": "BattleFrontier_OutsideWest_EventScript_Fisherman1",
"flag": "0"
},
{
@@ -251,7 +251,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D518",
+ "script": "BattleFrontier_OutsideWest_EventScript_Fisherman2",
"flag": "0"
},
{
@@ -264,7 +264,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D6AF",
+ "script": "BattleFrontier_OutsideWest_EventScript_FatMan2",
"flag": "0"
},
{
@@ -277,7 +277,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D6B8",
+ "script": "BattleFrontier_OutsideWest_EventScript_Woman3",
"flag": "0"
},
{
@@ -290,7 +290,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D6C3",
+ "script": "BattleFrontier_OutsideWest_EventScript_Boy2",
"flag": "0"
},
{
@@ -303,7 +303,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D6CE",
+ "script": "BattleFrontier_OutsideWest_EventScript_OldMan",
"flag": "0"
},
{
@@ -316,7 +316,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D6D7",
+ "script": "BattleFrontier_OutsideWest_EventScript_Man4",
"flag": "0"
},
{
@@ -329,7 +329,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_OutsideWest_EventScript_23D6EE",
+ "script": "BattleFrontier_OutsideWest_EventScript_PokefanF",
"flag": "0"
}
],
@@ -420,7 +420,7 @@
"y": 18,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideWest_EventScript_23D4E2"
+ "script": "BattleFrontier_OutsideWest_EventScript_BattleDomeSign"
},
{
"type": "sign",
@@ -428,7 +428,7 @@
"y": 30,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideWest_EventScript_23D4F4"
+ "script": "BattleFrontier_OutsideWest_EventScript_BattlePikeSign"
},
{
"type": "sign",
@@ -436,7 +436,7 @@
"y": 43,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_OutsideWest_EventScript_23D4EB"
+ "script": "BattleFrontier_OutsideWest_EventScript_BattleFactorySign"
},
{
"type": "sign",
diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc
index 2d2bdb1c0..4fb750023 100644
--- a/data/maps/BattleFrontier_OutsideWest/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc
@@ -1,109 +1,111 @@
BattleFrontier_OutsideWest_MapScripts:: @ 823D3E1
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideWest_MapScript1_23D3E7
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideWest_OnTransition
.byte 0
-BattleFrontier_OutsideWest_MapScript1_23D3E7: @ 823D3E7
+BattleFrontier_OutsideWest_OnTransition: @ 823D3E7
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
end
-BattleFrontier_OutsideWest_EventScript_23D3F0:: @ 823D3F0
+BattleFrontier_OutsideWest_EventScript_FerryAttendant:: @ 823D3F0
lock
faceplayer
- msgbox BattleFrontier_OutsideWest_Text_23D808, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideWest_Text_MayISeeYourTicket, MSGBOX_DEFAULT
checkitem ITEM_SS_TICKET, 1
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_OutsideWest_EventScript_23D44E
- message BattleFrontier_OutsideWest_Text_23D89D
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_NoSSTicket
+ message BattleFrontier_OutsideWest_Text_WhereWouldYouLikeToGo
waitmessage
- goto BattleFrontier_OutsideWest_EventScript_23D416
+ goto BattleFrontier_OutsideWest_EventScript_ChooseFerryDestination
end
-BattleFrontier_OutsideWest_EventScript_23D416:: @ 823D416
- multichoicedefault 18, 6, 53, 2, 0
+BattleFrontier_OutsideWest_EventScript_ChooseFerryDestination:: @ 823D416
+ multichoicedefault 18, 6, MULTI_SSTIDAL_BATTLE_FRONTIER, 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
+ case 0, BattleFrontier_OutsideWest_EventScript_FerryToSlateport
+ case 1, BattleFrontier_OutsideWest_EventScript_FerryToLilycove
+ case 2, BattleFrontier_OutsideWest_EventScript_CancelFerrySelect
+ case MULTI_B_PRESSED, BattleFrontier_OutsideWest_EventScript_CancelFerrySelect
end
-BattleFrontier_OutsideWest_EventScript_23D44E:: @ 823D44E
- msgbox BattleFrontier_OutsideWest_Text_23D842, MSGBOX_DEFAULT
+BattleFrontier_OutsideWest_EventScript_NoSSTicket:: @ 823D44E
+ msgbox BattleFrontier_OutsideWest_Text_MustHaveTicketToBoard, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458
- msgbox BattleFrontier_OutsideWest_Text_23D8F2, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE
- msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT
- call BattleFrontier_OutsideWest_EventScript_23D4BA
+BattleFrontier_OutsideWest_EventScript_FerryToSlateport:: @ 823D458
+ msgbox BattleFrontier_OutsideWest_Text_SlateportItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination
+ msgbox BattleFrontier_OutsideWest_Text_PleaseBoardFerry, MSGBOX_DEFAULT
+ call BattleFrontier_OutsideWest_EventScript_BoardFerry
warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-BattleFrontier_OutsideWest_EventScript_23D483:: @ 823D483
- msgbox BattleFrontier_OutsideWest_Text_23D90E, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE
- msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT
- call BattleFrontier_OutsideWest_EventScript_23D4BA
+BattleFrontier_OutsideWest_EventScript_FerryToLilycove:: @ 823D483
+ msgbox BattleFrontier_OutsideWest_Text_LilycoveItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination
+ msgbox BattleFrontier_OutsideWest_Text_PleaseBoardFerry, MSGBOX_DEFAULT
+ call BattleFrontier_OutsideWest_EventScript_BoardFerry
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-BattleFrontier_OutsideWest_EventScript_23D4AE:: @ 823D4AE
- message BattleFrontier_OutsideWest_Text_23D97A
+BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination:: @ 823D4AE
+ message BattleFrontier_OutsideWest_Text_ThenWhereWouldYouLikeToGo
waitmessage
- goto BattleFrontier_OutsideWest_EventScript_23D416
+ goto BattleFrontier_OutsideWest_EventScript_ChooseFerryDestination
end
-BattleFrontier_OutsideWest_EventScript_23D4BA:: @ 823D4BA
+BattleFrontier_OutsideWest_EventScript_BoardFerry:: @ 823D4BA
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
hideobjectat 3, MAP_BATTLE_FRONTIER_OUTSIDE_WEST
setvar VAR_0x8004, 2
- call BattleFrontier_OutsideWest_EventScript_272250
+ call Common_EventScript_FerryDepartIsland
return
-BattleFrontier_OutsideWest_EventScript_23D4D8:: @ 823D4D8
- msgbox BattleFrontier_OutsideWest_Text_23D929, MSGBOX_DEFAULT
+BattleFrontier_OutsideWest_EventScript_CancelFerrySelect:: @ 823D4D8
+ msgbox BattleFrontier_OutsideWest_Text_SailWithUsAnotherTime, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_23D4E2:: @ 823D4E2
- msgbox BattleFrontier_OutsideWest_Text_23D6F7, MSGBOX_SIGN
+BattleFrontier_OutsideWest_EventScript_BattleDomeSign:: @ 823D4E2
+ msgbox BattleFrontier_OutsideWest_Text_BattleDomeSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideWest_EventScript_23D4EB:: @ 823D4EB
- msgbox BattleFrontier_OutsideWest_Text_23D737, MSGBOX_SIGN
+BattleFrontier_OutsideWest_EventScript_BattleFactorySign:: @ 823D4EB
+ msgbox BattleFrontier_OutsideWest_Text_BattleFactorySign, MSGBOX_SIGN
end
-BattleFrontier_OutsideWest_EventScript_23D4F4:: @ 823D4F4
- msgbox BattleFrontier_OutsideWest_Text_23D772, MSGBOX_SIGN
+BattleFrontier_OutsideWest_EventScript_BattlePikeSign:: @ 823D4F4
+ msgbox BattleFrontier_OutsideWest_Text_BattlePikeSign, MSGBOX_SIGN
end
-BattleFrontier_OutsideWest_EventScript_23D4FD:: @ 823D4FD
- msgbox BattleFrontier_OutsideWest_Text_23D7A6, MSGBOX_NPC
+@ Unused. Of note, Battle Tower is in the East section in the final release
+BattleFrontier_OutsideWest_EventScript_UnusedNPC1:: @ 823D4FD
+ msgbox BattleFrontier_OutsideWest_Text_ThisIsBattleTower, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D506:: @ 823D4FD
- msgbox BattleFrontier_OutsideWest_Text_23D9DD, MSGBOX_NPC
+@ Unused
+BattleFrontier_OutsideWest_EventScript_UnusedNPC2:: @ 823D4FD
+ msgbox BattleFrontier_OutsideWest_Text_CantFindBattleTower, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D50F:: @ 823D50F
- msgbox BattleFrontier_OutsideWest_Text_23D99C, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_Boy1:: @ 823D50F
+ msgbox BattleFrontier_OutsideWest_Text_BestOutOfAllMyFriends, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518
+BattleFrontier_OutsideWest_EventScript_Fisherman2:: @ 823D518
lock
faceplayer
- message BattleFrontier_OutsideWest_Text_23DA60
+ message BattleFrontier_OutsideWest_Text_GotSeasickOnWayHere
waitmessage
applymovement 18, Common_Movement_FaceAwayPlayer
waitmovement 0
@@ -111,268 +113,269 @@ BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518
release
end
-BattleFrontier_OutsideWest_EventScript_23D52D:: @ 823D52D
- msgbox BattleFrontier_OutsideWest_Text_23DABF, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_Man1:: @ 823D52D
+ msgbox BattleFrontier_OutsideWest_Text_OnlyToughTrainersBroughtHere, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D536:: @ 823D536
+BattleFrontier_OutsideWest_EventScript_Maniac1:: @ 823D536
lock
- goto BattleFrontier_OutsideWest_EventScript_23D544
+ goto BattleFrontier_OutsideWest_EventScript_FactoryChallengersTalk
end
-BattleFrontier_OutsideWest_EventScript_23D53D:: @ 823D53D
+BattleFrontier_OutsideWest_EventScript_Maniac2:: @ 823D53D
lock
- goto BattleFrontier_OutsideWest_EventScript_23D544
+ goto BattleFrontier_OutsideWest_EventScript_FactoryChallengersTalk
end
-BattleFrontier_OutsideWest_EventScript_23D544:: @ 823D544
- applymovement 9, Common_Movement_WalkInPlaceRight
+BattleFrontier_OutsideWest_EventScript_FactoryChallengersTalk:: @ 823D544
+ applymovement 9, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox BattleFrontier_OutsideWest_Text_23DB7D, MSGBOX_DEFAULT
- applymovement 10, Common_Movement_WalkInPlaceLeft
+ msgbox BattleFrontier_OutsideWest_Text_SureWeCanChallengeWithNoMons, MSGBOX_DEFAULT
+ applymovement 10, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox BattleFrontier_OutsideWest_Text_23DBCE, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideWest_Text_BigGuySaidIllLendYouMons, MSGBOX_DEFAULT
closemessage
delay 25
- applymovement 9, Common_Movement_WalkInPlaceUp
- applymovement 10, Common_Movement_WalkInPlaceUp
+ applymovement 9, Common_Movement_WalkInPlaceFastestUp
+ applymovement 10, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
release
end
-BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F
+BattleFrontier_OutsideWest_EventScript_Camper:: @ 823D57F
lock
faceplayer
delay 20
- compare VAR_FACING, 2
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA
- compare VAR_FACING, 1
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D5C5
- compare VAR_FACING, 3
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA
- compare VAR_FACING, 4
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA
- msgbox BattleFrontier_OutsideWest_Text_23DC36, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq BattleFrontier_OutsideWest_EventScript_CamperAlreadyFacingFactory
+ compare VAR_FACING, DIR_WEST
+ call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
+ compare VAR_FACING, DIR_EAST
+ call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
+ msgbox BattleFrontier_OutsideWest_Text_WhosRaisingThoseRentalMons, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_23D5BA:: @ 823D5BA
- applymovement 14, Common_Movement_WalkInPlaceUp
+BattleFrontier_OutsideWest_EventScript_CamperFaceFactory:: @ 823D5BA
+ applymovement 14, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-BattleFrontier_OutsideWest_EventScript_23D5C5:: @ 823D5C5
+BattleFrontier_OutsideWest_EventScript_CamperAlreadyFacingFactory:: @ 823D5C5
return
-BattleFrontier_OutsideWest_EventScript_23D5C6:: @ 823D5C6
+BattleFrontier_OutsideWest_EventScript_Girl:: @ 823D5C6
lock
faceplayer
- message BattleFrontier_OutsideWest_Text_23DCB0
+ message BattleFrontier_OutsideWest_Text_ScaredOfPikeBecauseSeviper
waitmessage
- compare VAR_FACING, 2
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D5FD
- compare VAR_FACING, 1
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D608
- compare VAR_FACING, 3
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D613
- compare VAR_FACING, 4
- call_if_eq BattleFrontier_OutsideWest_EventScript_23D61E
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderNorth
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderSouth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderWest
+ compare VAR_FACING, DIR_EAST
+ call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderEast
waitbuttonpress
release
end
-BattleFrontier_OutsideWest_EventScript_23D5FD:: @ 823D5FD
- applymovement 12, BattleFrontier_OutsideWest_Movement_23D629
+BattleFrontier_OutsideWest_EventScript_GirlShudderNorth:: @ 823D5FD
+ applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderNorth
waitmovement 0
return
-BattleFrontier_OutsideWest_EventScript_23D608:: @ 823D608
- applymovement 12, BattleFrontier_OutsideWest_Movement_23D62C
+BattleFrontier_OutsideWest_EventScript_GirlShudderSouth:: @ 823D608
+ applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderSouth
waitmovement 0
return
-BattleFrontier_OutsideWest_EventScript_23D613:: @ 823D613
- applymovement 12, BattleFrontier_OutsideWest_Movement_23D62F
+BattleFrontier_OutsideWest_EventScript_GirlShudderWest:: @ 823D613
+ applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderWest
waitmovement 0
return
-BattleFrontier_OutsideWest_EventScript_23D61E:: @ 823D61E
- applymovement 12, BattleFrontier_OutsideWest_Movement_23D632
+BattleFrontier_OutsideWest_EventScript_GirlShudderEast:: @ 823D61E
+ applymovement 12, BattleFrontier_OutsideWest_Movement_GirlShudderEast
waitmovement 0
return
-BattleFrontier_OutsideWest_Movement_23D629: @ 823D629
+BattleFrontier_OutsideWest_Movement_GirlShudderNorth: @ 823D629
walk_in_place_fastest_down
walk_in_place_fastest_down
step_end
-BattleFrontier_OutsideWest_Movement_23D62C: @ 823D62C
+BattleFrontier_OutsideWest_Movement_GirlShudderSouth: @ 823D62C
walk_in_place_fastest_up
walk_in_place_fastest_up
step_end
-BattleFrontier_OutsideWest_Movement_23D62F: @ 823D62F
+BattleFrontier_OutsideWest_Movement_GirlShudderWest: @ 823D62F
walk_in_place_fastest_right
walk_in_place_fastest_right
step_end
-BattleFrontier_OutsideWest_Movement_23D632: @ 823D632
+BattleFrontier_OutsideWest_Movement_GirlShudderEast: @ 823D632
walk_in_place_fastest_left
walk_in_place_fastest_left
step_end
-BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635
+BattleFrontier_OutsideWest_EventScript_Woman2:: @ 823D635
lock
faceplayer
- msgbox BattleFrontier_OutsideWest_Text_23DD3B, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideWest_Text_LetsPlayRockPaperScissors, MSGBOX_DEFAULT
random 2
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_OutsideWest_EventScript_23D653
- goto BattleFrontier_OutsideWest_EventScript_23D65D
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_WomanWonRockPaperScissors
+ goto BattleFrontier_OutsideWest_EventScript_WomanLostRockPaperScissors
end
-BattleFrontier_OutsideWest_EventScript_23D653:: @ 823D653
- msgbox BattleFrontier_OutsideWest_Text_23DD7A, MSGBOX_DEFAULT
+BattleFrontier_OutsideWest_EventScript_WomanWonRockPaperScissors:: @ 823D653
+ msgbox BattleFrontier_OutsideWest_Text_WonIllTakePikeChallenge, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_23D65D:: @ 823D65D
- msgbox BattleFrontier_OutsideWest_Text_23DDAD, MSGBOX_DEFAULT
+BattleFrontier_OutsideWest_EventScript_WomanLostRockPaperScissors:: @ 823D65D
+ msgbox BattleFrontier_OutsideWest_Text_LostIllPutOffPikeChallenge, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_23D667:: @ 823D667
- msgbox BattleFrontier_OutsideWest_Text_23DE15, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_Fisherman1:: @ 823D667
+ msgbox BattleFrontier_OutsideWest_Text_ChooseFishingOverBattling, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D670:: @ 823D670
- msgbox BattleFrontier_OutsideWest_Text_23DF7D, MSGBOX_NPC
+@ Unused
+BattleFrontier_OutsideWest_EventScript_UnusedNPC3:: @ 823D670
+ msgbox BattleFrontier_OutsideWest_Text_DomeIsHereGrandpa, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D679:: @ 823D679
- msgbox BattleFrontier_OutsideWest_Text_23DEFD, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_Gentleman:: @ 823D679
+ msgbox BattleFrontier_OutsideWest_Text_YoureOffToChallengeDome, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D682:: @ 823D682
- msgbox BattleFrontier_OutsideWest_Text_23DEB4, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_Lass:: @ 823D682
+ msgbox BattleFrontier_OutsideWest_Text_KeepBattlingUntilIGetSymbol, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D68B:: @ 823D68B
- msgbox BattleFrontier_OutsideWest_Text_23DFBF, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_ExpertM:: @ 823D68B
+ msgbox BattleFrontier_OutsideWest_Text_WontLetGentlemenBeatMe, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D694:: @ 823D694
- msgbox BattleFrontier_OutsideWest_Text_23E01E, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_Man2:: @ 823D694
+ msgbox BattleFrontier_OutsideWest_Text_NothingHereNotLongAgo, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D69D:: @ 823D69D
- msgbox BattleFrontier_OutsideWest_Text_23E09F, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_Woman1:: @ 823D69D
+ msgbox BattleFrontier_OutsideWest_Text_FinallyArrivedAtFrontier, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D6A6:: @ 823D6A6
- msgbox BattleFrontier_OutsideWest_Text_23E102, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_FatMan1:: @ 823D6A6
+ msgbox BattleFrontier_OutsideWest_Text_SquareFilledWithToughPeople, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D6AF:: @ 823D6AF
- msgbox BattleFrontier_OutsideWest_Text_23E154, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_FatMan2:: @ 823D6AF
+ msgbox BattleFrontier_OutsideWest_Text_MetOlderGirlAtPike, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D6B8:: @ 823D6B8
+BattleFrontier_OutsideWest_EventScript_Woman3:: @ 823D6B8
lock
- msgbox BattleFrontier_OutsideWest_Text_23E273, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideWest_Text_LastTimeOurEyesMet, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_23D6C3:: @ 823D6C3
+BattleFrontier_OutsideWest_EventScript_Boy2:: @ 823D6C3
lock
- msgbox BattleFrontier_OutsideWest_Text_23E2E9, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideWest_Text_DomeAceLookedBecauseOfMyCheering, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_23D6CE:: @ 823D6CE
- msgbox BattleFrontier_OutsideWest_Text_23E37E, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_OldMan:: @ 823D6CE
+ msgbox BattleFrontier_OutsideWest_Text_DomeAceIsMine, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_EventScript_23D6D7:: @ 823D6D7
+BattleFrontier_OutsideWest_EventScript_Man4:: @ 823D6D7
lock
faceplayer
- msgbox BattleFrontier_OutsideWest_Text_23E410, MSGBOX_DEFAULT
+ msgbox BattleFrontier_OutsideWest_Text_FansOverThereUsedToBeTrainers, MSGBOX_DEFAULT
closemessage
applymovement 23, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-BattleFrontier_OutsideWest_EventScript_23D6EE:: @ 823D6EE
- msgbox BattleFrontier_OutsideWest_Text_23E5A5, MSGBOX_NPC
+BattleFrontier_OutsideWest_EventScript_PokefanF:: @ 823D6EE
+ msgbox BattleFrontier_OutsideWest_Text_MonWithLongTailInFrontier, MSGBOX_NPC
end
-BattleFrontier_OutsideWest_Text_23D6F7: @ 823D6F7
+BattleFrontier_OutsideWest_Text_BattleDomeSign: @ 823D6F7
.string "This is the BATTLE DOME!\n"
.string "Your path to the invincible superstar!$"
-BattleFrontier_OutsideWest_Text_23D737: @ 823D737
+BattleFrontier_OutsideWest_Text_BattleFactorySign: @ 823D737
.string "This is the BATTLE FACTORY!\n"
.string "Seek out the toughest POKéMON!$"
-BattleFrontier_OutsideWest_Text_23D772: @ 823D772
+BattleFrontier_OutsideWest_Text_BattlePikeSign: @ 823D772
.string "This is the BATTLE PIKE!\n"
.string "Choose one of three paths!$"
-BattleFrontier_OutsideWest_Text_23D7A6: @ 823D7A6
+BattleFrontier_OutsideWest_Text_ThisIsBattleTower: @ 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
+BattleFrontier_OutsideWest_Text_MayISeeYourTicket: @ 823D808
.string "Hello, are you here for the ferry?\n"
.string "May I see your TICKET?$"
-BattleFrontier_OutsideWest_Text_23D842: @ 823D842
+BattleFrontier_OutsideWest_Text_MustHaveTicketToBoard: @ 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
+BattleFrontier_OutsideWest_Text_WhereWouldYouLikeToGo: @ 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
+BattleFrontier_OutsideWest_Text_SlateportItIs: @ 823D8F2
.string "SLATEPORT CITY it is, then!$"
-BattleFrontier_OutsideWest_Text_23D90E: @ 823D90E
+BattleFrontier_OutsideWest_Text_LilycoveItIs: @ 823D90E
.string "LILYCOVE CITY it is, then!$"
-BattleFrontier_OutsideWest_Text_23D929: @ 823D929
+BattleFrontier_OutsideWest_Text_SailWithUsAnotherTime: @ 823D929
.string "Please sail with us another time!$"
-BattleFrontier_OutsideWest_Text_23D94B: @ 823D94B
+BattleFrontier_OutsideWest_Text_PleaseBoardFerry: @ 823D94B
.string "Please board the ferry and wait for\n"
.string "departure.$"
-BattleFrontier_OutsideWest_Text_23D97A: @ 823D97A
+BattleFrontier_OutsideWest_Text_ThenWhereWouldYouLikeToGo: @ 823D97A
.string "Then, where would you like to go?$"
-BattleFrontier_OutsideWest_Text_23D99C: @ 823D99C
+BattleFrontier_OutsideWest_Text_BestOutOfAllMyFriends: @ 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
+BattleFrontier_OutsideWest_Text_CantFindBattleTower: @ 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
+BattleFrontier_OutsideWest_Text_GotSeasickOnWayHere: @ 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
+BattleFrontier_OutsideWest_Text_OnlyToughTrainersBroughtHere: @ 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"
@@ -380,94 +383,94 @@ BattleFrontier_OutsideWest_Text_23DABF: @ 823DABF
.string "That's why many TRAINERS don't even\n"
.string "know about the BATTLE FRONTIER.$"
-BattleFrontier_OutsideWest_Text_23DB7D: @ 823DB7D
+BattleFrontier_OutsideWest_Text_SureWeCanChallengeWithNoMons: @ 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
+BattleFrontier_OutsideWest_Text_BigGuySaidIllLendYouMons: @ 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
+BattleFrontier_OutsideWest_Text_WhosRaisingThoseRentalMons: @ 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
+BattleFrontier_OutsideWest_Text_ScaredOfPikeBecauseSeviper: @ 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
+BattleFrontier_OutsideWest_Text_LetsPlayRockPaperScissors: @ 823DD3B
.string "Let's play rock, paper, scissors!\n"
.string "One, two, three!\p"
.string "… … … … … …$"
-BattleFrontier_OutsideWest_Text_23DD7A: @ 823DD7A
+BattleFrontier_OutsideWest_Text_WonIllTakePikeChallenge: @ 823DD7A
.string "Yay! I won!\n"
.string "I will take the BATTLE PIKE challenge!$"
-BattleFrontier_OutsideWest_Text_23DDAD: @ 823DDAD
+BattleFrontier_OutsideWest_Text_LostIllPutOffPikeChallenge: @ 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
+BattleFrontier_OutsideWest_Text_ChooseFishingOverBattling: @ 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
+BattleFrontier_OutsideWest_Text_KeepBattlingUntilIGetSymbol: @ 823DEB4
.string "Today, I'm going to keep battling, no\n"
.string "matter what, until I get a Symbol.$"
-BattleFrontier_OutsideWest_Text_23DEFD: @ 823DEFD
+BattleFrontier_OutsideWest_Text_YoureOffToChallengeDome: @ 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
+BattleFrontier_OutsideWest_Text_DomeIsHereGrandpa: @ 823DF7D
.string "Grandpa, over here!\n"
.string "The BATTLE DOME is here!\l"
.string "Go get 'em, Grandpa!$"
-BattleFrontier_OutsideWest_Text_23DFBF: @ 823DFBF
+BattleFrontier_OutsideWest_Text_WontLetGentlemenBeatMe: @ 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
+BattleFrontier_OutsideWest_Text_NothingHereNotLongAgo: @ 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
+BattleFrontier_OutsideWest_Text_FinallyArrivedAtFrontier: @ 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
+BattleFrontier_OutsideWest_Text_SquareFilledWithToughPeople: @ 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
+BattleFrontier_OutsideWest_Text_MetOlderGirlAtPike: @ 823E154
.string "Crunch, munch…\p"
.string "A while back, I met this older girl\n"
.string "at the BATTLE PIKE.\p"
@@ -480,13 +483,13 @@ BattleFrontier_OutsideWest_Text_23E154: @ 823E154
.string "scary experience, sure enough.\p"
.string "Crunch, munch…$"
-BattleFrontier_OutsideWest_Text_23E273: @ 823E273
+BattleFrontier_OutsideWest_Text_LastTimeOurEyesMet: @ 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
+BattleFrontier_OutsideWest_Text_DomeAceLookedBecauseOfMyCheering: @ 823E2E9
.string "Whaaaaaat?!\n"
.string "Pfft!\p"
.string "That only happened because\n"
@@ -494,7 +497,7 @@ BattleFrontier_OutsideWest_Text_23E2E9: @ 823E2E9
.string "The DOME ACE only looked our way\n"
.string "because my cheering was so loud!$"
-BattleFrontier_OutsideWest_Text_23E37E: @ 823E37E
+BattleFrontier_OutsideWest_Text_DomeAceIsMine: @ 823E37E
.string "Oh, shush!\n"
.string "Keep that racket down!\p"
.string "You fair-weather fans should stick\n"
@@ -502,7 +505,7 @@ BattleFrontier_OutsideWest_Text_23E37E: @ 823E37E
.string "The DOME ACE is mine!\n"
.string "The only idol for me!$"
-BattleFrontier_OutsideWest_Text_23E410: @ 823E410
+BattleFrontier_OutsideWest_Text_FansOverThereUsedToBeTrainers: @ 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"
@@ -516,7 +519,7 @@ BattleFrontier_OutsideWest_Text_23E410: @ 823E410
.string "They go cheer for their idol at the\l"
.string "BATTLE DOME every day now.$"
-BattleFrontier_OutsideWest_Text_23E5A5: @ 823E5A5
+BattleFrontier_OutsideWest_Text_MonWithLongTailInFrontier: @ 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"
diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/map.json b/data/maps/BattleFrontier_PokemonCenter_1F/map.json
index 8f8153c08..743bab8b0 100644
--- a/data/maps/BattleFrontier_PokemonCenter_1F/map.json
+++ b/data/maps/BattleFrontier_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_1F_EventScript_267908",
+ "script": "BattleFrontier_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_1F_EventScript_267916",
+ "script": "BattleFrontier_PokemonCenter_1F_EventScript_SchoolKid",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_1F_EventScript_26791F",
+ "script": "BattleFrontier_PokemonCenter_1F_EventScript_Man",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_1F_EventScript_267928",
+ "script": "BattleFrontier_PokemonCenter_1F_EventScript_Picnicker",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_1F_EventScript_267931",
+ "script": "BattleFrontier_PokemonCenter_1F_EventScript_Skitty",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc
index c99a0de38..f77d9ab83 100644
--- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc
+++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc
@@ -1,43 +1,44 @@
BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9
- map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_1F_MapScript1_267904
- map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_1F_OnTransition
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
-BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904
+BattleFrontier_PokemonCenter_1F_OnTransition: @ 8267904
setrespawn HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST
end
-BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908
+@ VAR_0x800B is the Nurse's object event id
+BattleFrontier_PokemonCenter_1F_EventScript_Nurse:: @ 8267908
setvar VAR_0x800B, 1
- call BattleFrontier_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-BattleFrontier_PokemonCenter_1F_EventScript_267916:: @ 8267916
- msgbox BattleFrontier_PokemonCenter_1F_Text_267944, MSGBOX_NPC
+BattleFrontier_PokemonCenter_1F_EventScript_SchoolKid:: @ 8267916
+ msgbox BattleFrontier_PokemonCenter_1F_Text_NeverSeenPokemon, MSGBOX_NPC
end
-BattleFrontier_PokemonCenter_1F_EventScript_26791F:: @ 826791F
- msgbox BattleFrontier_PokemonCenter_1F_Text_2679EB, MSGBOX_NPC
+BattleFrontier_PokemonCenter_1F_EventScript_Man:: @ 826791F
+ msgbox BattleFrontier_PokemonCenter_1F_Text_NextStopBattleArena, MSGBOX_NPC
end
-BattleFrontier_PokemonCenter_1F_EventScript_267928:: @ 8267928
- msgbox BattleFrontier_PokemonCenter_1F_Text_267A4B, MSGBOX_NPC
+BattleFrontier_PokemonCenter_1F_EventScript_Picnicker:: @ 8267928
+ msgbox BattleFrontier_PokemonCenter_1F_Text_GoingThroughEveryChallenge, MSGBOX_NPC
end
-BattleFrontier_PokemonCenter_1F_EventScript_267931:: @ 8267931
+BattleFrontier_PokemonCenter_1F_EventScript_Skitty:: @ 8267931
lock
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox BattleFrontier_PokemonCenter_1F_Text_267A90, MSGBOX_DEFAULT
+ msgbox BattleFrontier_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT
waitmoncry
release
end
-BattleFrontier_PokemonCenter_1F_Text_267944: @ 8267944
+BattleFrontier_PokemonCenter_1F_Text_NeverSeenPokemon: @ 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"
@@ -45,15 +46,15 @@ BattleFrontier_PokemonCenter_1F_Text_267944: @ 8267944
.string "I wonder where you can catch POKéMON\n"
.string "like that.$"
-BattleFrontier_PokemonCenter_1F_Text_2679EB: @ 82679EB
+BattleFrontier_PokemonCenter_1F_Text_NextStopBattleArena: @ 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
+BattleFrontier_PokemonCenter_1F_Text_GoingThroughEveryChallenge: @ 8267A4B
.string "Giggle… I'm going to go through every\n"
.string "challenge with just this baby!$"
-BattleFrontier_PokemonCenter_1F_Text_267A90: @ 8267A90
+BattleFrontier_PokemonCenter_1F_Text_Skitty: @ 8267A90
.string "SKITTY: Mya myaaah!$"
diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/map.json b/data/maps/BattleFrontier_PokemonCenter_2F/map.json
index caa6fed8a..fa93cde5f 100644
--- a/data/maps/BattleFrontier_PokemonCenter_2F/map.json
+++ b/data/maps/BattleFrontier_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc
index 59ede7f6a..5a19a9d28 100644
--- a/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc
+++ b/data/maps/BattleFrontier_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
BattleFrontier_PokemonCenter_2F_MapScripts:: @ 8267AA4
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-BattleFrontier_PokemonCenter_2F_EventScript_267AB9:: @ 8267AB9
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+BattleFrontier_PokemonCenter_2F_EventScript_Colosseum:: @ 8267AB9
+ call CableClub_EventScript_Colosseum
end
-BattleFrontier_PokemonCenter_2F_EventScript_267ABF:: @ 8267ABF
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+BattleFrontier_PokemonCenter_2F_EventScript_TradeCenter:: @ 8267ABF
+ call CableClub_EventScript_TradeCenter
end
-BattleFrontier_PokemonCenter_2F_EventScript_267AC5:: @ 8267AC5
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+BattleFrontier_PokemonCenter_2F_EventScript_RecordCorner:: @ 8267AC5
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/BattleFrontier_RankingHall/map.json b/data/maps/BattleFrontier_RankingHall/map.json
index af28ecea6..f26e03e41 100644
--- a/data/maps/BattleFrontier_RankingHall/map.json
+++ b/data/maps/BattleFrontier_RankingHall/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_RankingHall_EventScript_25E52F",
+ "script": "BattleFrontier_RankingHall_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_RankingHall_EventScript_25E54A",
+ "script": "BattleFrontier_RankingHall_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_RankingHall_EventScript_25E573",
+ "script": "BattleFrontier_RankingHall_EventScript_Boy",
"flag": "0"
}
],
@@ -78,7 +78,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4AA"
+ "script": "BattleFrontier_RankingHall_EventScript_TowerSinglesRecords"
},
{
"type": "sign",
@@ -86,7 +86,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4B6"
+ "script": "BattleFrontier_RankingHall_EventScript_TowerDoublesRecords"
},
{
"type": "sign",
@@ -94,7 +94,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4C2"
+ "script": "BattleFrontier_RankingHall_EventScript_TowerMultisRecords"
},
{
"type": "sign",
@@ -102,7 +102,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4CE"
+ "script": "BattleFrontier_RankingHall_EventScript_TowerLinkRecords"
},
{
"type": "sign",
@@ -110,7 +110,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4DA"
+ "script": "BattleFrontier_RankingHall_EventScript_ArenaRecords"
},
{
"type": "sign",
@@ -118,7 +118,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4E6"
+ "script": "BattleFrontier_RankingHall_EventScript_PalaceRecords"
},
{
"type": "sign",
@@ -126,7 +126,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4F2"
+ "script": "BattleFrontier_RankingHall_EventScript_FactoryRecords"
},
{
"type": "sign",
@@ -134,7 +134,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E4FE"
+ "script": "BattleFrontier_RankingHall_EventScript_DomeRecords"
},
{
"type": "sign",
@@ -142,7 +142,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E50A"
+ "script": "BattleFrontier_RankingHall_EventScript_PikeRecords"
},
{
"type": "sign",
@@ -150,7 +150,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "BattleFrontier_RankingHall_EventScript_25E516"
+ "script": "BattleFrontier_RankingHall_EventScript_PyramidRecords"
},
{
"type": "sign",
@@ -158,7 +158,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_RankingHall_EventScript_25E538"
+ "script": "BattleFrontier_RankingHall_EventScript_DomePikeFactoryRecordsSign"
},
{
"type": "sign",
@@ -166,7 +166,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "BattleFrontier_RankingHall_EventScript_25E541"
+ "script": "BattleFrontier_RankingHall_EventScript_PalaceArenaPyramidRecordsSIgn"
}
]
} \ No newline at end of file
diff --git a/data/maps/BattleFrontier_RankingHall/scripts.inc b/data/maps/BattleFrontier_RankingHall/scripts.inc
index 5f8a6c44e..e8415c828 100644
--- a/data/maps/BattleFrontier_RankingHall/scripts.inc
+++ b/data/maps/BattleFrontier_RankingHall/scripts.inc
@@ -1,67 +1,67 @@
BattleFrontier_RankingHall_MapScripts:: @ 825E4A9
.byte 0
-BattleFrontier_RankingHall_EventScript_25E4AA:: @ 825E4AA
+BattleFrontier_RankingHall_EventScript_TowerSinglesRecords:: @ 825E4AA
lockall
- setvar VAR_0x8005, 0
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_SINGLES
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E4B6:: @ 825E4B6
+BattleFrontier_RankingHall_EventScript_TowerDoublesRecords:: @ 825E4B6
lockall
- setvar VAR_0x8005, 1
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_DOUBLES
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E4C2:: @ 825E4C2
+BattleFrontier_RankingHall_EventScript_TowerMultisRecords:: @ 825E4C2
lockall
- setvar VAR_0x8005, 2
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_MULTIS
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E4CE:: @ 825E4CE
+BattleFrontier_RankingHall_EventScript_TowerLinkRecords:: @ 825E4CE
lockall
- setvar VAR_0x8005, 9
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_TOWER_LINK
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E4DA:: @ 825E4DA
+BattleFrontier_RankingHall_EventScript_ArenaRecords:: @ 825E4DA
lockall
- setvar VAR_0x8005, 5
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_ARENA
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E4E6:: @ 825E4E6
+BattleFrontier_RankingHall_EventScript_PalaceRecords:: @ 825E4E6
lockall
- setvar VAR_0x8005, 4
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_PALACE
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E4F2:: @ 825E4F2
+BattleFrontier_RankingHall_EventScript_FactoryRecords:: @ 825E4F2
lockall
- setvar VAR_0x8005, 6
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_FACTORY
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E4FE:: @ 825E4FE
+BattleFrontier_RankingHall_EventScript_DomeRecords:: @ 825E4FE
lockall
- setvar VAR_0x8005, 3
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_DOME
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E50A:: @ 825E50A
+BattleFrontier_RankingHall_EventScript_PikeRecords:: @ 825E50A
lockall
- setvar VAR_0x8005, 7
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_PIKE
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E516:: @ 825E516
+BattleFrontier_RankingHall_EventScript_PyramidRecords:: @ 825E516
lockall
- setvar VAR_0x8005, 8
- goto BattleFrontier_RankingHall_EventScript_25E522
+ setvar VAR_0x8005, RANKING_HALL_BATTLE_PYRAMID
+ goto BattleFrontier_RankingHall_EventScript_ShowRecords
end
-BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522
+BattleFrontier_RankingHall_EventScript_ShowRecords:: @ 825E522
special ShowRankingHallRecordsWindow
waitbuttonpress
special ScrollRankingHallRecordsWindow
@@ -70,64 +70,64 @@ BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522
releaseall
end
-BattleFrontier_RankingHall_EventScript_25E52F:: @ 825E52F
- msgbox BattleFrontier_RankingHall_Text_25E57C, MSGBOX_NPC
+BattleFrontier_RankingHall_EventScript_Attendant:: @ 825E52F
+ msgbox BattleFrontier_RankingHall_Text_ExplainRankingHall, MSGBOX_NPC
end
-BattleFrontier_RankingHall_EventScript_25E538:: @ 825E538
- msgbox BattleFrontier_RankingHall_Text_25E5F9, MSGBOX_SIGN
+BattleFrontier_RankingHall_EventScript_DomePikeFactoryRecordsSign:: @ 825E538
+ msgbox BattleFrontier_RankingHall_Text_DomePikeFactoryRecords, MSGBOX_SIGN
end
-BattleFrontier_RankingHall_EventScript_25E541:: @ 825E541
- msgbox BattleFrontier_RankingHall_Text_25E62E, MSGBOX_SIGN
+BattleFrontier_RankingHall_EventScript_PalaceArenaPyramidRecordsSIgn:: @ 825E541
+ msgbox BattleFrontier_RankingHall_Text_PalaceArenaPyramidRecords, MSGBOX_SIGN
end
-BattleFrontier_RankingHall_EventScript_25E54A:: @ 825E54A
+BattleFrontier_RankingHall_EventScript_NinjaBoy:: @ 825E54A
lock
faceplayer
- msgbox BattleFrontier_RankingHall_Text_25E666, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_RankingHall_EventScript_25E569
- msgbox BattleFrontier_RankingHall_Text_25E6B6, MSGBOX_DEFAULT
+ msgbox BattleFrontier_RankingHall_Text_IsYourNameOnThisList, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BattleFrontier_RankingHall_EventScript_NinjaBoyNameOnList
+ msgbox BattleFrontier_RankingHall_Text_WorkHarderIfYouSawFriendsName, MSGBOX_DEFAULT
release
end
-BattleFrontier_RankingHall_EventScript_25E569:: @ 825E569
- msgbox BattleFrontier_RankingHall_Text_25E685, MSGBOX_DEFAULT
+BattleFrontier_RankingHall_EventScript_NinjaBoyNameOnList:: @ 825E569
+ msgbox BattleFrontier_RankingHall_Text_WowThatsSuper, MSGBOX_DEFAULT
release
end
-BattleFrontier_RankingHall_EventScript_25E573:: @ 825E573
- msgbox BattleFrontier_RankingHall_Text_25E715, MSGBOX_NPC
+BattleFrontier_RankingHall_EventScript_Boy:: @ 825E573
+ msgbox BattleFrontier_RankingHall_Text_MyNamesNotUpThere, MSGBOX_NPC
end
-BattleFrontier_RankingHall_Text_25E57C: @ 825E57C
+BattleFrontier_RankingHall_Text_ExplainRankingHall: @ 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
+BattleFrontier_RankingHall_Text_DomePikeFactoryRecords: @ 825E5F9
.string "BATTLE DOME, BATTLE PIKE,\n"
.string "and BATTLE FACTORY Records$"
-BattleFrontier_RankingHall_Text_25E62E: @ 825E62E
+BattleFrontier_RankingHall_Text_PalaceArenaPyramidRecords: @ 825E62E
.string "BATTLE PALACE, BATTLE ARENA,\n"
.string "and BATTLE PYRAMID Records$"
-BattleFrontier_RankingHall_Text_25E666: @ 825E666
+BattleFrontier_RankingHall_Text_IsYourNameOnThisList: @ 825E666
.string "Hi, is your name on this list?$"
-BattleFrontier_RankingHall_Text_25E685: @ 825E685
+BattleFrontier_RankingHall_Text_WowThatsSuper: @ 825E685
.string "Wow, that's super!\n"
.string "I'll have to try harder, too!$"
-BattleFrontier_RankingHall_Text_25E6B6: @ 825E6B6
+BattleFrontier_RankingHall_Text_WorkHarderIfYouSawFriendsName: @ 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
+BattleFrontier_RankingHall_Text_MyNamesNotUpThere: @ 825E715
.string "Hmm…\n"
.string "My name's not up there…\p"
.string "Well, it's only natural since I haven't\n"
diff --git a/data/maps/BattleFrontier_ReceptionGate/map.json b/data/maps/BattleFrontier_ReceptionGate/map.json
index db140442e..ff891ad5b 100644
--- a/data/maps/BattleFrontier_ReceptionGate/map.json
+++ b/data/maps/BattleFrontier_ReceptionGate/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_ReceptionGate_EventScript_2662FC",
+ "script": "BattleFrontier_ReceptionGate_EventScript_Greeter",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_ReceptionGate_EventScript_266310",
+ "script": "BattleFrontier_ReceptionGate_EventScript_FacilityGuide",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_ReceptionGate_EventScript_266436",
+ "script": "BattleFrontier_ReceptionGate_EventScript_RulesGuide",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_ReceptionGate_EventScript_2664F4",
+ "script": "BattleFrontier_ReceptionGate_EventScript_FrontierPassGuide",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
index 5f0952cb0..cb01034ad 100644
--- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc
+++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
@@ -1,5 +1,5 @@
BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA
- map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_MapScript2_2661E9
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_OnFrame
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_OnTransition
.byte 0
@@ -7,11 +7,11 @@ BattleFrontier_ReceptionGate_OnTransition: @ 82661E5
setflag FLAG_LANDMARK_BATTLE_FRONTIER
end
-BattleFrontier_ReceptionGate_MapScript2_2661E9: @ 82661E9
- map_script_2 VAR_HAS_ENTERED_BATTLE_FRONTIER, 0, BattleFrontier_ReceptionGate_EventScript_2661F3
+BattleFrontier_ReceptionGate_OnFrame: @ 82661E9
+ map_script_2 VAR_HAS_ENTERED_BATTLE_FRONTIER, 0, BattleFrontier_ReceptionGate_EventScript_FirstTimeEntering
.2byte 0
-BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3
+BattleFrontier_ReceptionGate_EventScript_FirstTimeEntering:: @ 82661F3
lockall
setvar VAR_HAS_ENTERED_BATTLE_FRONTIER, 1
playse SE_PIN
@@ -19,57 +19,57 @@ BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3
waitmovement 0
applymovement 1, Common_Movement_Delay48
waitmovement 0
- msgbox BattleFrontier_ReceptionGate_Text_266580, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_FirstTimeHereThisWay, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D2
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerApproachCounter
waitmovement 0
- goto BattleFrontier_ReceptionGate_EventScript_266229
+ goto BattleFrontier_ReceptionGate_EventScript_ScottScene
end
-BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229
- msgbox BattleFrontier_ReceptionGate_Text_2665B2, MSGBOX_DEFAULT
- msgbox BattleFrontier_ReceptionGate_Text_2665F7, MSGBOX_DEFAULT
+BattleFrontier_ReceptionGate_EventScript_ScottScene:: @ 8266229
+ msgbox BattleFrontier_ReceptionGate_Text_WelcomeToBattleFrontier, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_IssueFrontierPass, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- message BattleFrontier_ReceptionGate_Text_266676
+ message BattleFrontier_ReceptionGate_Text_ObtainedFrontierPass
waitfanfare
waitmessage
- msgbox BattleFrontier_ReceptionGate_Text_266695, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_PlacedTrainerCardInFrontierPass, MSGBOX_DEFAULT
setflag FLAG_SYS_FRONTIER_PASS
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
- msgbox BattleFrontier_ReceptionGate_Text_266703, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_IfItIsntPlayerYouCame, MSGBOX_DEFAULT
closemessage
- applymovement 1, Common_Movement_WalkInPlaceUp
- applymovement 2, Common_Movement_WalkInPlaceUp
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
+ applymovement 2, Common_Movement_WalkInPlaceFastestUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
applymovement 2, Common_Movement_ExclamationMark
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_ExclamationMark
waitmovement 0
- msgbox BattleFrontier_ReceptionGate_Text_266733, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_OhMrScottGoodDay, MSGBOX_DEFAULT
closemessage
- applymovement 1, BattleFrontier_ReceptionGate_Movement_2662F0
- applymovement 2, BattleFrontier_ReceptionGate_Movement_2662F6
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D7
- applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E0
+ applymovement 1, BattleFrontier_ReceptionGate_Movement_GreeterFaceScott
+ applymovement 2, BattleFrontier_ReceptionGate_Movement_FacilityGuideFaceScott
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerFaceScott
+ applymovement 4, BattleFrontier_ReceptionGate_Movement_ScottEnter
waitmovement 0
- msgbox BattleFrontier_ReceptionGate_Text_266764, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_ScottGreatToSeeYouHere, MSGBOX_DEFAULT
closemessage
- applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E8
+ applymovement 4, BattleFrontier_ReceptionGate_Movement_ScottExit
waitmovement 0
removeobject 4
releaseall
end
-BattleFrontier_ReceptionGate_Movement_2662D2: @ 82662D2
+BattleFrontier_ReceptionGate_Movement_PlayerApproachCounter: @ 82662D2
walk_up
walk_up
walk_left
walk_left
step_end
-BattleFrontier_ReceptionGate_Movement_2662D7: @ 82662D7
+BattleFrontier_ReceptionGate_Movement_PlayerFaceScott: @ 82662D7
delay_16
delay_16
delay_16
@@ -77,12 +77,13 @@ BattleFrontier_ReceptionGate_Movement_2662D7: @ 82662D7
walk_in_place_fastest_right
step_end
-BattleFrontier_ReceptionGate_Movement_2662DD: @ 82662DD
+@ Unused
+BattleFrontier_ReceptionGate_Movement_WalkDown: @ 82662DD
walk_down
walk_down
step_end
-BattleFrontier_ReceptionGate_Movement_2662E0: @ 82662E0
+BattleFrontier_ReceptionGate_Movement_ScottEnter: @ 82662E0
walk_down
walk_down
walk_down
@@ -92,7 +93,7 @@ BattleFrontier_ReceptionGate_Movement_2662E0: @ 82662E0
walk_left
step_end
-BattleFrontier_ReceptionGate_Movement_2662E8: @ 82662E8
+BattleFrontier_ReceptionGate_Movement_ScottExit: @ 82662E8
walk_right
walk_up
walk_up
@@ -102,7 +103,7 @@ BattleFrontier_ReceptionGate_Movement_2662E8: @ 82662E8
walk_up
step_end
-BattleFrontier_ReceptionGate_Movement_2662F0: @ 82662F0
+BattleFrontier_ReceptionGate_Movement_GreeterFaceScott: @ 82662F0
delay_16
delay_16
delay_16
@@ -110,7 +111,7 @@ BattleFrontier_ReceptionGate_Movement_2662F0: @ 82662F0
walk_in_place_fastest_right
step_end
-BattleFrontier_ReceptionGate_Movement_2662F6: @ 82662F6
+BattleFrontier_ReceptionGate_Movement_FacilityGuideFaceScott: @ 82662F6
delay_16
delay_16
delay_16
@@ -118,217 +119,217 @@ BattleFrontier_ReceptionGate_Movement_2662F6: @ 82662F6
walk_in_place_fastest_left
step_end
-BattleFrontier_ReceptionGate_EventScript_2662FC:: @ 82662FC
+BattleFrontier_ReceptionGate_EventScript_Greeter:: @ 82662FC
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_2665B2, MSGBOX_DEFAULT
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_WelcomeToBattleFrontier, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT
release
end
-BattleFrontier_ReceptionGate_EventScript_266310:: @ 8266310
+BattleFrontier_ReceptionGate_EventScript_FacilityGuide:: @ 8266310
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_266857, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+ msgbox BattleFrontier_ReceptionGate_Text_YourGuideToFacilities, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_266320:: @ 8266320
- message BattleFrontier_ReceptionGate_Text_26689D
+BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout:: @ 8266320
+ message BattleFrontier_ReceptionGate_Text_LearnAboutWhich2
waitmessage
- setvar VAR_0x8004, 8
- special sub_813A128
+ setvar VAR_0x8004, SCROLL_MULTI_BF_RECEPTIONIST
+ special ShowScrollableMultichoice
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
+ case 0, BattleFrontier_ReceptionGate_EventScript_BattleTower
+ case 1, BattleFrontier_ReceptionGate_EventScript_BattleDome
+ case 2, BattleFrontier_ReceptionGate_EventScript_BattlePalace
+ case 3, BattleFrontier_ReceptionGate_EventScript_BattleArena
+ case 4, BattleFrontier_ReceptionGate_EventScript_BattleFactory
+ case 5, BattleFrontier_ReceptionGate_EventScript_BattlePike
+ case 6, BattleFrontier_ReceptionGate_EventScript_BattlePyramid
+ case 7, BattleFrontier_ReceptionGate_EventScript_RankingHall
+ case 8, BattleFrontier_ReceptionGate_EventScript_ExchangeCorner
+ case 9, BattleFrontier_ReceptionGate_EventScript_ExitFacilityGuide
+ case MULTI_B_PRESSED, BattleFrontier_ReceptionGate_EventScript_ExitFacilityGuide
end
-BattleFrontier_ReceptionGate_EventScript_2663AE:: @ 82663AE
- msgbox BattleFrontier_ReceptionGate_Text_2668C2, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_BattleTower:: @ 82663AE
+ msgbox BattleFrontier_ReceptionGate_Text_BattleTowerInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2663BC:: @ 82663BC
- msgbox BattleFrontier_ReceptionGate_Text_26696F, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_BattleDome:: @ 82663BC
+ msgbox BattleFrontier_ReceptionGate_Text_BattleDomeInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2663CA:: @ 82663CA
- msgbox BattleFrontier_ReceptionGate_Text_266A34, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_BattlePalace:: @ 82663CA
+ msgbox BattleFrontier_ReceptionGate_Text_BattlePalaceInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2663D8:: @ 82663D8
- msgbox BattleFrontier_ReceptionGate_Text_266AC2, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_BattleArena:: @ 82663D8
+ msgbox BattleFrontier_ReceptionGate_Text_BattleArenaInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2663E6:: @ 82663E6
- msgbox BattleFrontier_ReceptionGate_Text_266B5D, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_BattleFactory:: @ 82663E6
+ msgbox BattleFrontier_ReceptionGate_Text_BattleFactoryInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2663F4:: @ 82663F4
- msgbox BattleFrontier_ReceptionGate_Text_266C24, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_BattlePike:: @ 82663F4
+ msgbox BattleFrontier_ReceptionGate_Text_BattlePikeInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_266402:: @ 8266402
- msgbox BattleFrontier_ReceptionGate_Text_266CBB, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_BattlePyramid:: @ 8266402
+ msgbox BattleFrontier_ReceptionGate_Text_BattlePyramidInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_266410:: @ 8266410
- msgbox BattleFrontier_ReceptionGate_Text_266D1C, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_RankingHall:: @ 8266410
+ msgbox BattleFrontier_ReceptionGate_Text_RankingHallInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_26641E:: @ 826641E
- msgbox BattleFrontier_ReceptionGate_Text_266DCB, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266320
+BattleFrontier_ReceptionGate_EventScript_ExchangeCorner:: @ 826641E
+ msgbox BattleFrontier_ReceptionGate_Text_ExchangeCornerInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFacilityToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_26642C:: @ 826642C
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
+BattleFrontier_ReceptionGate_EventScript_ExitFacilityGuide:: @ 826642C
+ msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT
release
end
-BattleFrontier_ReceptionGate_EventScript_266436:: @ 8266436
+BattleFrontier_ReceptionGate_EventScript_RulesGuide:: @ 8266436
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_266E66, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266446
+ msgbox BattleFrontier_ReceptionGate_Text_YourGuideToRules, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_266446:: @ 8266446
- message BattleFrontier_ReceptionGate_Text_266EE0
+BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout:: @ 8266446
+ message BattleFrontier_ReceptionGate_Text_LearnAboutWhat
waitmessage
- multichoice 15, 0, 95, 0
+ multichoice 15, 0, MULTI_FRONTIER_RULES, 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
+ case 0, BattleFrontier_ReceptionGate_EventScript_LevelMode
+ case 1, BattleFrontier_ReceptionGate_EventScript_Level50
+ case 2, BattleFrontier_ReceptionGate_EventScript_OpenLevel
+ case 3, BattleFrontier_ReceptionGate_EventScript_MonEntry
+ case 4, BattleFrontier_ReceptionGate_EventScript_HoldItems
+ case 5, BattleFrontier_ReceptionGate_EventScript_ExitRulesGuide
+ case MULTI_B_PRESSED, BattleFrontier_ReceptionGate_EventScript_ExitRulesGuide
end
-BattleFrontier_ReceptionGate_EventScript_2664A4:: @ 82664A4
- msgbox BattleFrontier_ReceptionGate_Text_266F04, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266446
+BattleFrontier_ReceptionGate_EventScript_LevelMode:: @ 82664A4
+ msgbox BattleFrontier_ReceptionGate_Text_LevelModeInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2664B2:: @ 82664B2
- msgbox BattleFrontier_ReceptionGate_Text_266F69, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266446
+BattleFrontier_ReceptionGate_EventScript_Level50:: @ 82664B2
+ msgbox BattleFrontier_ReceptionGate_Text_Level50Info, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2664C0:: @ 82664C0
- msgbox BattleFrontier_ReceptionGate_Text_267080, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266446
+BattleFrontier_ReceptionGate_EventScript_OpenLevel:: @ 82664C0
+ msgbox BattleFrontier_ReceptionGate_Text_OpenLevelInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2664CE:: @ 82664CE
- msgbox BattleFrontier_ReceptionGate_Text_26716A, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266446
+BattleFrontier_ReceptionGate_EventScript_MonEntry:: @ 82664CE
+ msgbox BattleFrontier_ReceptionGate_Text_MonEntryInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2664DC:: @ 82664DC
- msgbox BattleFrontier_ReceptionGate_Text_267298, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266446
+BattleFrontier_ReceptionGate_EventScript_HoldItems:: @ 82664DC
+ msgbox BattleFrontier_ReceptionGate_Text_HoldItemsInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseRuleToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_2664EA:: @ 82664EA
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
+BattleFrontier_ReceptionGate_EventScript_ExitRulesGuide:: @ 82664EA
+ msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT
release
end
-BattleFrontier_ReceptionGate_EventScript_2664F4:: @ 82664F4
+BattleFrontier_ReceptionGate_EventScript_FrontierPassGuide:: @ 82664F4
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_267357, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266504
+ msgbox BattleFrontier_ReceptionGate_Text_YourGuideToFrontierPass, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_266504:: @ 8266504
- message BattleFrontier_ReceptionGate_Text_26737C
+BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout:: @ 8266504
+ message BattleFrontier_ReceptionGate_Text_LearnAboutWhich1
waitmessage
- multichoice 16, 4, 11, 0
+ multichoice 16, 4, MULTI_FRONTIER_PASS_INFO, 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
+ case 0, BattleFrontier_ReceptionGate_EventScript_Symbols
+ case 1, BattleFrontier_ReceptionGate_EventScript_RecordBattle
+ case 2, BattleFrontier_ReceptionGate_EventScript_BattlePoints
+ case 3, BattleFrontier_ReceptionGate_EventScript_ExitFrontierPassGuide
+ case MULTI_B_PRESSED, BattleFrontier_ReceptionGate_EventScript_ExitFrontierPassGuide
end
-BattleFrontier_ReceptionGate_EventScript_26654C:: @ 826654C
- msgbox BattleFrontier_ReceptionGate_Text_2673A1, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266504
+BattleFrontier_ReceptionGate_EventScript_Symbols:: @ 826654C
+ msgbox BattleFrontier_ReceptionGate_Text_SymbolsInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_26655A:: @ 826655A
- msgbox BattleFrontier_ReceptionGate_Text_2674F3, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266504
+BattleFrontier_ReceptionGate_EventScript_RecordBattle:: @ 826655A
+ msgbox BattleFrontier_ReceptionGate_Text_RecordedBattleInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_266568:: @ 8266568
- msgbox BattleFrontier_ReceptionGate_Text_26761C, MSGBOX_DEFAULT
- goto BattleFrontier_ReceptionGate_EventScript_266504
+BattleFrontier_ReceptionGate_EventScript_BattlePoints:: @ 8266568
+ msgbox BattleFrontier_ReceptionGate_Text_BattlePointsInfo, MSGBOX_DEFAULT
+ goto BattleFrontier_ReceptionGate_EventScript_ChooseFrontierPassInfoToLearnAbout
end
-BattleFrontier_ReceptionGate_EventScript_266576:: @ 8266576
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
+BattleFrontier_ReceptionGate_EventScript_ExitFrontierPassGuide:: @ 8266576
+ msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT
release
end
-BattleFrontier_ReceptionGate_Text_266580: @ 8266580
+BattleFrontier_ReceptionGate_Text_FirstTimeHereThisWay: @ 8266580
.string "Is it your first time here?\n"
.string "Please step this way!$"
-BattleFrontier_ReceptionGate_Text_2665B2: @ 82665B2
+BattleFrontier_ReceptionGate_Text_WelcomeToBattleFrontier: @ 82665B2
.string "The front lines of POKéMON battling!\n"
.string "Welcome to the BATTLE FRONTIER!$"
-BattleFrontier_ReceptionGate_Text_2665F7: @ 82665F7
+BattleFrontier_ReceptionGate_Text_IssueFrontierPass: @ 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
+BattleFrontier_ReceptionGate_Text_ObtainedFrontierPass: @ 8266676
.string "{PLAYER} obtained\n"
.string "the FRONTIER PASS.$"
-BattleFrontier_ReceptionGate_Text_266695: @ 8266695
+BattleFrontier_ReceptionGate_Text_PlacedTrainerCardInFrontierPass: @ 8266695
.string "{PLAYER} placed the TRAINER CARD\n"
.string "in the FRONTIER PASS.$"
-BattleFrontier_ReceptionGate_Text_2666C6: @ 82666C6
+BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier: @ 82666C6
.string "We hope you enjoy all that the BATTLE\n"
.string "FRONTIER has to offer!$"
-BattleFrontier_ReceptionGate_Text_266703: @ 8266703
+BattleFrontier_ReceptionGate_Text_IfItIsntPlayerYouCame: @ 8266703
.string "???: Well, if it isn't {PLAYER}{KUN}!\n"
.string "You came out here!$"
-BattleFrontier_ReceptionGate_Text_266733: @ 8266733
+BattleFrontier_ReceptionGate_Text_OhMrScottGoodDay: @ 8266733
.string "GUIDE: Oh! MR. SCOTT, sir!\n"
.string "Good day to you, sir!$"
-BattleFrontier_ReceptionGate_Text_266764: @ 8266764
+BattleFrontier_ReceptionGate_Text_ScottGreatToSeeYouHere: @ 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"
@@ -338,21 +339,21 @@ BattleFrontier_ReceptionGate_Text_266764: @ 8266764
.string "I also have my quarters here, so feel\n"
.string "free to visit if you have time.$"
-BattleFrontier_ReceptionGate_Text_266857: @ 8266857
+BattleFrontier_ReceptionGate_Text_YourGuideToFacilities: @ 8266857
.string "I'm your guide to the various facilities\n"
.string "here in the BATTLE FRONTIER.$"
-BattleFrontier_ReceptionGate_Text_26689D: @ 826689D
+BattleFrontier_ReceptionGate_Text_LearnAboutWhich2: @ 826689D
.string "Which would you like to learn about?$"
-BattleFrontier_ReceptionGate_Text_2668C2: @ 82668C2
+BattleFrontier_ReceptionGate_Text_BattleTowerInfo: @ 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
+BattleFrontier_ReceptionGate_Text_BattleDomeInfo: @ 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"
@@ -361,20 +362,20 @@ BattleFrontier_ReceptionGate_Text_26696F: @ 826696F
.string "two courses--for SINGLE and DOUBLE\l"
.string "BATTLES.$"
-BattleFrontier_ReceptionGate_Text_266A34: @ 8266A34
+BattleFrontier_ReceptionGate_Text_BattlePalaceInfo: @ 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
+BattleFrontier_ReceptionGate_Text_BattleArenaInfo: @ 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
+BattleFrontier_ReceptionGate_Text_BattleFactoryInfo: @ 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"
@@ -383,20 +384,20 @@ BattleFrontier_ReceptionGate_Text_266B5D: @ 8266B5D
.string "two courses for SINGLE and DOUBLE\l"
.string "BATTLES.$"
-BattleFrontier_ReceptionGate_Text_266C24: @ 8266C24
+BattleFrontier_ReceptionGate_Text_BattlePikeInfo: @ 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
+BattleFrontier_ReceptionGate_Text_BattlePyramidInfo: @ 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
+BattleFrontier_ReceptionGate_Text_RankingHallInfo: @ 8266D1C
.string "The RANKING HALL is located near\n"
.string "the BATTLE TOWER.\p"
.string "There, you may see the most fantastic\n"
@@ -404,28 +405,28 @@ BattleFrontier_ReceptionGate_Text_266D1C: @ 8266D1C
.string "took on the many challenges of\l"
.string "the BATTLE FRONTIER.$"
-BattleFrontier_ReceptionGate_Text_266DCB: @ 8266DCB
+BattleFrontier_ReceptionGate_Text_ExchangeCornerInfo: @ 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
+BattleFrontier_ReceptionGate_Text_YourGuideToRules: @ 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
+BattleFrontier_ReceptionGate_Text_LearnAboutWhat: @ 8266EE0
.string "What would you like to learn about?$"
-BattleFrontier_ReceptionGate_Text_266F04: @ 8266F04
+BattleFrontier_ReceptionGate_Text_LevelModeInfo: @ 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
+BattleFrontier_ReceptionGate_Text_Level50Info: @ 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"
@@ -436,7 +437,7 @@ BattleFrontier_ReceptionGate_Text_266F69: @ 8266F69
.string "To begin, we hope you will challenge\n"
.string "this course.$"
-BattleFrontier_ReceptionGate_Text_267080: @ 8267080
+BattleFrontier_ReceptionGate_Text_OpenLevelInfo: @ 8267080
.string "The Open Level course places no limit\n"
.string "on the levels of POKéMON entering\l"
.string "challenges.\p"
@@ -446,7 +447,7 @@ BattleFrontier_ReceptionGate_Text_267080: @ 8267080
.string "However, no TRAINER you face will\n"
.string "have any POKéMON below Level 60.$"
-BattleFrontier_ReceptionGate_Text_26716A: @ 826716A
+BattleFrontier_ReceptionGate_Text_MonEntryInfo: @ 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"
@@ -457,7 +458,7 @@ BattleFrontier_ReceptionGate_Text_26716A: @ 826716A
.string "of the same kind of POKéMON are not\l"
.string "permitted.$"
-BattleFrontier_ReceptionGate_Text_267298: @ 8267298
+BattleFrontier_ReceptionGate_Text_HoldItemsInfo: @ 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"
@@ -465,13 +466,13 @@ BattleFrontier_ReceptionGate_Text_267298: @ 8267298
.string "entering a challenge are holding\l"
.string "different items.$"
-BattleFrontier_ReceptionGate_Text_267357: @ 8267357
+BattleFrontier_ReceptionGate_Text_YourGuideToFrontierPass: @ 8267357
.string "I'm your guide to the FRONTIER PASS.$"
-BattleFrontier_ReceptionGate_Text_26737C: @ 826737C
+BattleFrontier_ReceptionGate_Text_LearnAboutWhich1: @ 826737C
.string "Which would you like to learn about?$"
-BattleFrontier_ReceptionGate_Text_2673A1: @ 82673A1
+BattleFrontier_ReceptionGate_Text_SymbolsInfo: @ 82673A1
.string "There are seven facilities at\n"
.string "the BATTLE FRONTIER.\p"
.string "TRAINERS who gain recognition for\n"
@@ -483,7 +484,7 @@ BattleFrontier_ReceptionGate_Text_2673A1: @ 82673A1
.string "It's certainly not easy to win symbols.\n"
.string "I wish you the best of luck!$"
-BattleFrontier_ReceptionGate_Text_2674F3: @ 82674F3
+BattleFrontier_ReceptionGate_Text_RecordedBattleInfo: @ 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"
@@ -495,7 +496,7 @@ BattleFrontier_ReceptionGate_Text_2674F3: @ 82674F3
.string "You may choose to record your match\n"
.string "at the end of a battle.$"
-BattleFrontier_ReceptionGate_Text_26761C: @ 826761C
+BattleFrontier_ReceptionGate_Text_BattlePointsInfo: @ 826761C
.string "Battle Points are rewards given to\n"
.string "TRAINERS who battled outstandingly\l"
.string "at the BATTLE FRONTIER.\p"
diff --git a/data/maps/BattleFrontier_ScottsHouse/map.json b/data/maps/BattleFrontier_ScottsHouse/map.json
index bff7696b3..13cb13dd4 100644
--- a/data/maps/BattleFrontier_ScottsHouse/map.json
+++ b/data/maps/BattleFrontier_ScottsHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BattleFrontier_ScottsHouse_EventScript_2636A8",
+ "script": "BattleFrontier_ScottsHouse_EventScript_Scott",
"flag": "0"
}
],
diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
index 52863d474..e4b0c28e9 100644
--- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc
+++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
@@ -1,252 +1,232 @@
BattleFrontier_ScottsHouse_MapScripts:: @ 82636A7
.byte 0
-BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8
+BattleFrontier_ScottsHouse_EventScript_Scott:: @ 82636A8
lock
faceplayer
- goto_if_set FLAG_TEMP_4, BattleFrontier_ScottsHouse_EventScript_2637DA
- goto_if_set FLAG_TEMP_3, BattleFrontier_ScottsHouse_EventScript_2638AA
- goto_if_set FLAG_TEMP_2, BattleFrontier_ScottsHouse_EventScript_263939
- goto BattleFrontier_ScottsHouse_EventScript_2636CB
+ goto_if_set FLAG_TEMP_4, BattleFrontier_ScottsHouse_EventScript_GivenBerry
+ goto_if_set FLAG_TEMP_3, BattleFrontier_ScottsHouse_EventScript_GivenShield
+ goto_if_set FLAG_TEMP_2, BattleFrontier_ScottsHouse_EventScript_GivenBattlePoints
+ goto BattleFrontier_ScottsHouse_EventScript_CheckGiveItems
end
-BattleFrontier_ScottsHouse_EventScript_2636CB:: @ 82636CB
- goto_if_unset FLAG_SCOTT_GIVES_BATTLE_POINTS, BattleFrontier_ScottsHouse_EventScript_263943
- goto_if_unset FLAG_COLLECTED_ALL_SILVER_SYMBOLS, BattleFrontier_ScottsHouse_EventScript_263704
- goto_if_unset FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT, BattleFrontier_ScottsHouse_EventScript_26376A
- goto BattleFrontier_ScottsHouse_EventScript_2636EC
+BattleFrontier_ScottsHouse_EventScript_CheckGiveItems:: @ 82636CB
+ goto_if_unset FLAG_SCOTT_GIVES_BATTLE_POINTS, BattleFrontier_ScottsHouse_EventScript_WelcomeToFrontier
+ goto_if_unset FLAG_COLLECTED_ALL_SILVER_SYMBOLS, BattleFrontier_ScottsHouse_EventScript_CheckSilverSymbols
+ goto_if_unset FLAG_COLLECTED_ALL_GOLD_SYMBOLS, BattleFrontier_ScottsHouse_EventScript_CheckGoldSymbols
+ goto BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
end
-BattleFrontier_ScottsHouse_EventScript_2636EC:: @ 82636EC
- goto_if_unset FLAG_RECEIVED_SILVER_SHIELD, BattleFrontier_ScottsHouse_EventScript_26381B
- goto_if_unset FLAG_RECEIVED_GOLD_SHIELD, BattleFrontier_ScottsHouse_EventScript_2638B4
- goto BattleFrontier_ScottsHouse_EventScript_2637E4
+BattleFrontier_ScottsHouse_EventScript_CheckGiveShield:: @ 82636EC
+ goto_if_unset FLAG_RECEIVED_SILVER_SHIELD, BattleFrontier_ScottsHouse_EventScript_CheckGiveSilverShield
+ goto_if_unset FLAG_RECEIVED_GOLD_SHIELD, BattleFrontier_ScottsHouse_EventScript_CheckGiveGoldShield
+ goto BattleFrontier_ScottsHouse_EventScript_RandomComment
end
-BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704
- goto_if_unset FLAG_SYS_TOWER_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_DOME_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_PALACE_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_ARENA_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_FACTORY_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_PIKE_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_PYRAMID_SILVER, BattleFrontier_ScottsHouse_EventScript_2636EC
- msgbox BattleFrontier_ScottsHouse_Text_2640BC, MSGBOX_DEFAULT
- giveitem_std ITEM_LANSAT_BERRY
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0
+BattleFrontier_ScottsHouse_EventScript_CheckSilverSymbols:: @ 8263704
+ goto_if_unset FLAG_SYS_TOWER_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_DOME_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_PALACE_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_ARENA_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_FACTORY_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_PIKE_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_PYRAMID_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ msgbox BattleFrontier_ScottsHouse_Text_YouveCollectedAllSilverSymbols, MSGBOX_DEFAULT
+ giveitem ITEM_LANSAT_BERRY
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_BerryPocketFull
setflag FLAG_COLLECTED_ALL_SILVER_SYMBOLS
setflag FLAG_TEMP_4
release
end
-BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A
- goto_if_unset FLAG_SYS_TOWER_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_DOME_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_PALACE_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_ARENA_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_FACTORY_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_PIKE_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC
- goto_if_unset FLAG_SYS_PYRAMID_GOLD, BattleFrontier_ScottsHouse_EventScript_2636EC
- msgbox BattleFrontier_ScottsHouse_Text_264216, MSGBOX_DEFAULT
- giveitem_std ITEM_STARF_BERRY
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0
- setflag FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT
+BattleFrontier_ScottsHouse_EventScript_CheckGoldSymbols:: @ 826376A
+ goto_if_unset FLAG_SYS_TOWER_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_DOME_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_PALACE_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_ARENA_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_FACTORY_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_PIKE_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ goto_if_unset FLAG_SYS_PYRAMID_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
+ msgbox BattleFrontier_ScottsHouse_Text_YouveCollectedAllGoldSymbols, MSGBOX_DEFAULT
+ giveitem ITEM_STARF_BERRY
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_BerryPocketFull
+ setflag FLAG_COLLECTED_ALL_GOLD_SYMBOLS
setflag FLAG_TEMP_4
release
end
-BattleFrontier_ScottsHouse_EventScript_2637D0:: @ 82637D0
- msgbox BattleFrontier_ScottsHouse_Text_2643EB, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_BerryPocketFull:: @ 82637D0
+ msgbox BattleFrontier_ScottsHouse_Text_BerryPocketStuffed, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_2637DA:: @ 82637DA
- msgbox BattleFrontier_ScottsHouse_Text_264373, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_GivenBerry:: @ 82637DA
+ msgbox BattleFrontier_ScottsHouse_Text_SoGladIBroughtYouHere, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_2637E4:: @ 82637E4
+BattleFrontier_ScottsHouse_EventScript_RandomComment:: @ 82637E4
random 3
compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_263807
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_FrontierBrainComment
compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_263811
- msgbox BattleFrontier_ScottsHouse_Text_263DDD, MSGBOX_DEFAULT
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_ArtisanCaveComment
+ msgbox BattleFrontier_ScottsHouse_Text_WhyIGoSeekingTrainers, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_263807:: @ 8263807
- msgbox BattleFrontier_ScottsHouse_Text_263F12, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_FrontierBrainComment:: @ 8263807
+ msgbox BattleFrontier_ScottsHouse_Text_HaveYouMetFrontierBrain, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_263811:: @ 8263811
- msgbox BattleFrontier_ScottsHouse_Text_263FFE, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_ArtisanCaveComment:: @ 8263811
+ msgbox BattleFrontier_ScottsHouse_Text_MayFindWildMonsInFrontier, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
- setvar VAR_FRONTIER_BATTLE_MODE, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special sub_8161F74
+BattleFrontier_ScottsHouse_EventScript_CheckGiveSilverShield:: @ 826381B
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ tower_get TOWER_DATA_WIN_STREAK
compare VAR_RESULT, 50
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special sub_8161F74
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN
+ tower_get TOWER_DATA_WIN_STREAK
compare VAR_RESULT, 50
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A
- goto BattleFrontier_ScottsHouse_EventScript_2637E4
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
+ goto BattleFrontier_ScottsHouse_EventScript_RandomComment
end
-BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A
- msgbox BattleFrontier_ScottsHouse_Text_264412, MSGBOX_DEFAULT
- givedecoration_std 42
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0
+BattleFrontier_ScottsHouse_EventScript_GiveSilverShield:: @ 826387A
+ msgbox BattleFrontier_ScottsHouse_Text_Beat50TrainersInARow, MSGBOX_DEFAULT
+ givedecoration DECOR_SILVER_SHIELD
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_NoRoomForShield
setflag FLAG_RECEIVED_SILVER_SHIELD
setflag FLAG_TEMP_3
- goto BattleFrontier_ScottsHouse_EventScript_2638AA
+ goto BattleFrontier_ScottsHouse_EventScript_GivenShield
end
-BattleFrontier_ScottsHouse_EventScript_2638A0:: @ 82638A0
- msgbox BattleFrontier_ScottsHouse_Text_264583, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_NoRoomForShield:: @ 82638A0
+ msgbox BattleFrontier_ScottsHouse_Text_ComeBackForThisLater, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_2638AA:: @ 82638AA
- msgbox BattleFrontier_ScottsHouse_Text_264546, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_GivenShield:: @ 82638AA
+ msgbox BattleFrontier_ScottsHouse_Text_ExpectingToHearEvenGreaterThings, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
- setvar VAR_FRONTIER_BATTLE_MODE, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special sub_8161F74
+BattleFrontier_ScottsHouse_EventScript_CheckGiveGoldShield:: @ 82638B4
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ tower_get TOWER_DATA_WIN_STREAK
compare VAR_RESULT, 100
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special sub_8161F74
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN
+ tower_get TOWER_DATA_WIN_STREAK
compare VAR_RESULT, 100
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913
- goto BattleFrontier_ScottsHouse_EventScript_2637E4
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
+ goto BattleFrontier_ScottsHouse_EventScript_RandomComment
end
-BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913
- msgbox BattleFrontier_ScottsHouse_Text_26449F, MSGBOX_DEFAULT
- givedecoration_std 43
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0
+BattleFrontier_ScottsHouse_EventScript_GiveGoldShield:: @ 8263913
+ msgbox BattleFrontier_ScottsHouse_Text_Beat100TrainersInARow, MSGBOX_DEFAULT
+ givedecoration DECOR_GOLD_SHIELD
+ compare VAR_RESULT, FALSE
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_NoRoomForShield
setflag FLAG_RECEIVED_GOLD_SHIELD
setflag FLAG_TEMP_3
- goto BattleFrontier_ScottsHouse_EventScript_2638AA
+ goto BattleFrontier_ScottsHouse_EventScript_GivenShield
end
-BattleFrontier_ScottsHouse_EventScript_263939:: @ 8263939
- msgbox BattleFrontier_ScottsHouse_Text_263DB8, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_GivenBattlePoints:: @ 8263939
+ msgbox BattleFrontier_ScottsHouse_Text_ExpectingGreatThings, MSGBOX_DEFAULT
release
end
-BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943
- msgbox BattleFrontier_ScottsHouse_Text_263A3F, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_WelcomeToFrontier:: @ 8263943
+ msgbox BattleFrontier_ScottsHouse_Text_WelcomeToBattleFrontier, MSGBOX_DEFAULT
closemessage
delay 30
- compare VAR_FACING, 2
- call_if_eq BattleFrontier_ScottsHouse_EventScript_263A13
- compare VAR_FACING, 1
- call_if_eq BattleFrontier_ScottsHouse_EventScript_263A1E
- compare VAR_FACING, 4
- call_if_eq BattleFrontier_ScottsHouse_EventScript_263A29
- compare VAR_FACING, 3
- call_if_eq BattleFrontier_ScottsHouse_EventScript_263A34
- msgbox BattleFrontier_ScottsHouse_Text_263B29, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayNorth
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwaySouth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayEast
+ compare VAR_FACING, DIR_WEST
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayWest
+ msgbox BattleFrontier_ScottsHouse_Text_HowMuchEffortItTookToMakeReal, MSGBOX_DEFAULT
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox BattleFrontier_ScottsHouse_Text_263BD4, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ScottsHouse_Text_HaveThisAsMementoOfOurPathsCrossing, MSGBOX_DEFAULT
compare VAR_SCOTT_STATE, 13
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_2639BC
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints
compare VAR_SCOTT_STATE, 9
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639CB
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_Give3BattlePoints
compare VAR_SCOTT_STATE, 6
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639DA
- goto BattleFrontier_ScottsHouse_EventScript_2639E9
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_Give2BattlePoints
+ goto BattleFrontier_ScottsHouse_EventScript_Give1BattlePoint
end
-BattleFrontier_ScottsHouse_EventScript_2639BC:: @ 82639BC
+BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints:: @ 82639BC
buffernumberstring 0, 4
setvar VAR_0x8004, 4
- goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
-BattleFrontier_ScottsHouse_EventScript_2639CB:: @ 82639CB
+BattleFrontier_ScottsHouse_EventScript_Give3BattlePoints:: @ 82639CB
buffernumberstring 0, 3
setvar VAR_0x8004, 3
- goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
-BattleFrontier_ScottsHouse_EventScript_2639DA:: @ 82639DA
+BattleFrontier_ScottsHouse_EventScript_Give2BattlePoints:: @ 82639DA
buffernumberstring 0, 2
setvar VAR_0x8004, 2
- goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
-BattleFrontier_ScottsHouse_EventScript_2639E9:: @ 82639E9
+BattleFrontier_ScottsHouse_EventScript_Give1BattlePoint:: @ 82639E9
buffernumberstring 0, 1
setvar VAR_0x8004, 1
- goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
-BattleFrontier_ScottsHouse_EventScript_2639F8:: @ 82639F8
- special sub_813A9D0
- msgbox BattleFrontier_ScottsHouse_Text_263CB0, 9
- msgbox BattleFrontier_ScottsHouse_Text_263CD0, MSGBOX_DEFAULT
+BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints:: @ 82639F8
+ special GiveFrontierBattlePoints
+ msgbox BattleFrontier_ScottsHouse_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
+ msgbox BattleFrontier_ScottsHouse_Text_ExplainBattlePoints, MSGBOX_DEFAULT
setflag FLAG_SCOTT_GIVES_BATTLE_POINTS
setflag FLAG_TEMP_2
release
end
-BattleFrontier_ScottsHouse_EventScript_263A13:: @ 8263A13
- applymovement 1, Common_Movement_WalkInPlaceUp
+BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayNorth:: @ 8263A13
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-BattleFrontier_ScottsHouse_EventScript_263A1E:: @ 8263A1E
- applymovement 1, Common_Movement_WalkInPlaceDown
+BattleFrontier_ScottsHouse_EventScript_ScottFaceAwaySouth:: @ 8263A1E
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-BattleFrontier_ScottsHouse_EventScript_263A29:: @ 8263A29
- applymovement 1, Common_Movement_WalkInPlaceRight
+BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayEast:: @ 8263A29
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-BattleFrontier_ScottsHouse_EventScript_263A34:: @ 8263A34
- applymovement 1, Common_Movement_WalkInPlaceLeft
+BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayWest:: @ 8263A34
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-BattleFrontier_ScottsHouse_Text_263A3F: @ 8263A3F
+BattleFrontier_ScottsHouse_Text_WelcomeToBattleFrontier: @ 8263A3F
.string "SCOTT: Well, hello and welcome!\n"
.string "Heheh… Sorry about the cramped space.\p"
.string "Anyway, {PLAYER}{KUN}, let me formally\n"
@@ -255,7 +235,7 @@ BattleFrontier_ScottsHouse_Text_263A3F: @ 8263A3F
.string "It took me years and years, but I've\l"
.string "finally given shape to my dream.$"
-BattleFrontier_ScottsHouse_Text_263B29: @ 8263B29
+BattleFrontier_ScottsHouse_Text_HowMuchEffortItTookToMakeReal: @ 8263B29
.string "On reflection, it was a terribly long\n"
.string "journey…\p"
.string "I left home alone on a quest to find\n"
@@ -263,7 +243,7 @@ BattleFrontier_ScottsHouse_Text_263B29: @ 8263B29
.string "No one can imagine how much effort\n"
.string "or time it took to make this real.$"
-BattleFrontier_ScottsHouse_Text_263BD4: @ 8263BD4
+BattleFrontier_ScottsHouse_Text_HaveThisAsMementoOfOurPathsCrossing: @ 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"
@@ -272,11 +252,11 @@ BattleFrontier_ScottsHouse_Text_263BD4: @ 8263BD4
.string "as a memento for all the time our\l"
.string "paths crossed on our journeys.$"
-BattleFrontier_ScottsHouse_Text_263CB0: @ 8263CB0
+BattleFrontier_ScottsHouse_Text_ObtainedXBattlePoints: @ 8263CB0
.string "{PLAYER} obtained\n"
.string "{STR_VAR_1} Battle Point(s).$"
-BattleFrontier_ScottsHouse_Text_263CD0: @ 8263CD0
+BattleFrontier_ScottsHouse_Text_ExplainBattlePoints: @ 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"
@@ -285,10 +265,10 @@ BattleFrontier_ScottsHouse_Text_263CD0: @ 8263CD0
.string "Use your Battle Points the way you\n"
.string "see fit, like trading them for items.$"
-BattleFrontier_ScottsHouse_Text_263DB8: @ 8263DB8
+BattleFrontier_ScottsHouse_Text_ExpectingGreatThings: @ 8263DB8
.string "I'm expecting great things from you!$"
-BattleFrontier_ScottsHouse_Text_263DDD: @ 8263DDD
+BattleFrontier_ScottsHouse_Text_WhyIGoSeekingTrainers: @ 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"
@@ -300,7 +280,7 @@ BattleFrontier_ScottsHouse_Text_263DDD: @ 8263DDD
.string "TRAINERS who are serious about\l"
.string "battling, and invite them here.$"
-BattleFrontier_ScottsHouse_Text_263F12: @ 8263F12
+BattleFrontier_ScottsHouse_Text_HaveYouMetFrontierBrain: @ 8263F12
.string "SCOTT: Have you met any of\n"
.string "the FRONTIER BRAINS?\p"
.string "Better yet, have you obtained any\n"
@@ -310,7 +290,7 @@ BattleFrontier_ScottsHouse_Text_263F12: @ 8263F12
.string "But I'm sure that seeing how tough\n"
.string "you are will startle even them!$"
-BattleFrontier_ScottsHouse_Text_263FFE: @ 8263FFE
+BattleFrontier_ScottsHouse_Text_MayFindWildMonsInFrontier: @ 8263FFE
.string "SCOTT: You don't just train for battle,\n"
.string "right?\p"
.string "I think I remember you working on\n"
@@ -320,7 +300,7 @@ BattleFrontier_ScottsHouse_Text_263FFE: @ 8263FFE
.string "the BATTLE FRONTIER somewhere…\l"
.string "Fufufu!$"
-BattleFrontier_ScottsHouse_Text_2640BC: @ 82640BC
+BattleFrontier_ScottsHouse_Text_YouveCollectedAllSilverSymbols: @ 82640BC
.string "SCOTT: Are you enjoying things in\n"
.string "the BATTLE FRONTIER?\p"
.string "…Wait a second…\n"
@@ -335,7 +315,7 @@ BattleFrontier_ScottsHouse_Text_2640BC: @ 82640BC
.string "I want you to have this.\n"
.string "I'm sure you can put it to proper use.$"
-BattleFrontier_ScottsHouse_Text_264216: @ 8264216
+BattleFrontier_ScottsHouse_Text_YouveCollectedAllGoldSymbols: @ 8264216
.string "SCOTT: I hope you're enjoying\n"
.string "everything in the BATTLE FRONTIER.\p"
.string "…Wait a second…\n"
@@ -350,35 +330,35 @@ BattleFrontier_ScottsHouse_Text_264216: @ 8264216
.string "I think you will be able to\n"
.string "appreciate the value of my gift!$"
-BattleFrontier_ScottsHouse_Text_264373: @ 8264373
+BattleFrontier_ScottsHouse_Text_SoGladIBroughtYouHere: @ 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
+BattleFrontier_ScottsHouse_Text_BerryPocketStuffed: @ 82643EB
.string "Your BERRY POCKET seems to\n"
.string "be stuffed.$"
-BattleFrontier_ScottsHouse_Text_264412: @ 8264412
+BattleFrontier_ScottsHouse_Text_Beat50TrainersInARow: @ 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
+BattleFrontier_ScottsHouse_Text_Beat100TrainersInARow: @ 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
+BattleFrontier_ScottsHouse_Text_ExpectingToHearEvenGreaterThings: @ 8264546
.string "I'll be expecting to hear even greater\n"
.string "things about you now!$"
-BattleFrontier_ScottsHouse_Text_264583: @ 8264583
+BattleFrontier_ScottsHouse_Text_ComeBackForThisLater: @ 8264583
.string "Oops, well, if you have too much\n"
.string "stuff, come back for this later.$"
diff --git a/data/maps/BattlePyramidSquare01/scripts.inc b/data/maps/BattlePyramidSquare01/scripts.inc
index c51e49ba7..c547b1b81 100644
--- a/data/maps/BattlePyramidSquare01/scripts.inc
+++ b/data/maps/BattlePyramidSquare01/scripts.inc
@@ -1 +1,2 @@
BattlePyramidSquare01_MapScripts:: @ 823D1A5
+ .byte 0
diff --git a/data/maps/BattlePyramidSquare02/map.json b/data/maps/BattlePyramidSquare02/map.json
index e68b71284..5d8f32f25 100644
--- a/data/maps/BattlePyramidSquare02/map.json
+++ b/data/maps/BattlePyramidSquare02/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_BOY_3",
diff --git a/data/maps/BattlePyramidSquare02/scripts.inc b/data/maps/BattlePyramidSquare02/scripts.inc
deleted file mode 100644
index a694b03bf..000000000
--- a/data/maps/BattlePyramidSquare02/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare02_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare03/map.json b/data/maps/BattlePyramidSquare03/map.json
index 8a495158e..c69bd0b15 100644
--- a/data/maps/BattlePyramidSquare03/map.json
+++ b/data/maps/BattlePyramidSquare03/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_BOY_1",
diff --git a/data/maps/BattlePyramidSquare03/scripts.inc b/data/maps/BattlePyramidSquare03/scripts.inc
deleted file mode 100644
index 229dd5a28..000000000
--- a/data/maps/BattlePyramidSquare03/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare03_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare04/map.json b/data/maps/BattlePyramidSquare04/map.json
index e413a7e5f..18319c680 100644
--- a/data/maps/BattlePyramidSquare04/map.json
+++ b/data/maps/BattlePyramidSquare04/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
diff --git a/data/maps/BattlePyramidSquare04/scripts.inc b/data/maps/BattlePyramidSquare04/scripts.inc
deleted file mode 100644
index a231965b5..000000000
--- a/data/maps/BattlePyramidSquare04/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare04_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare05/map.json b/data/maps/BattlePyramidSquare05/map.json
index d16a87646..b00e17367 100644
--- a/data/maps/BattlePyramidSquare05/map.json
+++ b/data/maps/BattlePyramidSquare05/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_BOY_2",
diff --git a/data/maps/BattlePyramidSquare05/scripts.inc b/data/maps/BattlePyramidSquare05/scripts.inc
deleted file mode 100644
index e4670f78c..000000000
--- a/data/maps/BattlePyramidSquare05/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare05_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare06/map.json b/data/maps/BattlePyramidSquare06/map.json
index ddf011814..e06449a12 100644
--- a/data/maps/BattlePyramidSquare06/map.json
+++ b/data/maps/BattlePyramidSquare06/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_GIRL_2",
diff --git a/data/maps/BattlePyramidSquare06/scripts.inc b/data/maps/BattlePyramidSquare06/scripts.inc
deleted file mode 100644
index 6c0d38e41..000000000
--- a/data/maps/BattlePyramidSquare06/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare06_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare07/map.json b/data/maps/BattlePyramidSquare07/map.json
index 8719c6d25..a8514304f 100644
--- a/data/maps/BattlePyramidSquare07/map.json
+++ b/data/maps/BattlePyramidSquare07/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_LITTLE_BOY",
diff --git a/data/maps/BattlePyramidSquare07/scripts.inc b/data/maps/BattlePyramidSquare07/scripts.inc
deleted file mode 100644
index 8603a6916..000000000
--- a/data/maps/BattlePyramidSquare07/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare07_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare08/map.json b/data/maps/BattlePyramidSquare08/map.json
index 54cfa4fe8..0f6f51539 100644
--- a/data/maps/BattlePyramidSquare08/map.json
+++ b/data/maps/BattlePyramidSquare08/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL",
diff --git a/data/maps/BattlePyramidSquare08/scripts.inc b/data/maps/BattlePyramidSquare08/scripts.inc
deleted file mode 100644
index 68a055f0e..000000000
--- a/data/maps/BattlePyramidSquare08/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare08_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare09/map.json b/data/maps/BattlePyramidSquare09/map.json
index 67b9ceb1f..c12ac3a26 100644
--- a/data/maps/BattlePyramidSquare09/map.json
+++ b/data/maps/BattlePyramidSquare09/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL",
diff --git a/data/maps/BattlePyramidSquare09/scripts.inc b/data/maps/BattlePyramidSquare09/scripts.inc
deleted file mode 100644
index e93734988..000000000
--- a/data/maps/BattlePyramidSquare09/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare09_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare10/map.json b/data/maps/BattlePyramidSquare10/map.json
index 0a5e88bf7..32fe28258 100644
--- a/data/maps/BattlePyramidSquare10/map.json
+++ b/data/maps/BattlePyramidSquare10/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_GIRL_3",
diff --git a/data/maps/BattlePyramidSquare10/scripts.inc b/data/maps/BattlePyramidSquare10/scripts.inc
deleted file mode 100644
index 412e608e7..000000000
--- a/data/maps/BattlePyramidSquare10/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare10_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare11/map.json b/data/maps/BattlePyramidSquare11/map.json
index 5dc7736a3..99edaca3b 100644
--- a/data/maps/BattlePyramidSquare11/map.json
+++ b/data/maps/BattlePyramidSquare11/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_RICH_BOY",
diff --git a/data/maps/BattlePyramidSquare11/scripts.inc b/data/maps/BattlePyramidSquare11/scripts.inc
deleted file mode 100644
index 3b82fb925..000000000
--- a/data/maps/BattlePyramidSquare11/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare11_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare12/map.json b/data/maps/BattlePyramidSquare12/map.json
index dcb57812d..e7142a166 100644
--- a/data/maps/BattlePyramidSquare12/map.json
+++ b/data/maps/BattlePyramidSquare12/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
diff --git a/data/maps/BattlePyramidSquare12/scripts.inc b/data/maps/BattlePyramidSquare12/scripts.inc
deleted file mode 100644
index 87a38213b..000000000
--- a/data/maps/BattlePyramidSquare12/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare12_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare13/map.json b/data/maps/BattlePyramidSquare13/map.json
index d277c5b1b..3945ca4f5 100644
--- a/data/maps/BattlePyramidSquare13/map.json
+++ b/data/maps/BattlePyramidSquare13/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_FAT_MAN",
diff --git a/data/maps/BattlePyramidSquare13/scripts.inc b/data/maps/BattlePyramidSquare13/scripts.inc
deleted file mode 100644
index 188109305..000000000
--- a/data/maps/BattlePyramidSquare13/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare13_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare14/map.json b/data/maps/BattlePyramidSquare14/map.json
index 5727356ed..4f90bfe6b 100644
--- a/data/maps/BattlePyramidSquare14/map.json
+++ b/data/maps/BattlePyramidSquare14/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_POKEFAN_F",
diff --git a/data/maps/BattlePyramidSquare14/scripts.inc b/data/maps/BattlePyramidSquare14/scripts.inc
deleted file mode 100644
index 5ae39cb8a..000000000
--- a/data/maps/BattlePyramidSquare14/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare14_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare15/map.json b/data/maps/BattlePyramidSquare15/map.json
index 62c7e34f3..7f1900dbc 100644
--- a/data/maps/BattlePyramidSquare15/map.json
+++ b/data/maps/BattlePyramidSquare15/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_POKEFAN_F",
diff --git a/data/maps/BattlePyramidSquare15/scripts.inc b/data/maps/BattlePyramidSquare15/scripts.inc
deleted file mode 100644
index f1b7782d7..000000000
--- a/data/maps/BattlePyramidSquare15/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-BattlePyramidSquare15_MapScripts:: @ 823D1A5
diff --git a/data/maps/BattlePyramidSquare16/map.json b/data/maps/BattlePyramidSquare16/map.json
index a69a0ed5a..bb0d02316 100644
--- a/data/maps/BattlePyramidSquare16/map.json
+++ b/data/maps/BattlePyramidSquare16/map.json
@@ -13,6 +13,7 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_GYM",
"connections": null,
+ "shared_scripts_map": "BattlePyramidSquare01",
"object_events": [
{
"graphics_id": "EVENT_OBJ_GFX_POKEFAN_F",
diff --git a/data/maps/BattlePyramidSquare16/scripts.inc b/data/maps/BattlePyramidSquare16/scripts.inc
deleted file mode 100644
index 9308930d1..000000000
--- a/data/maps/BattlePyramidSquare16/scripts.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-BattlePyramidSquare16_MapScripts:: @ 823D1A5
- .byte 0
-
diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json
index c3e5ddddf..50bd57f0b 100644
--- a/data/maps/BirthIsland_Exterior/map.json
+++ b/data/maps/BirthIsland_Exterior/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BirthIsland_Exterior_EventScript_267F83",
+ "script": "BirthIsland_Exterior_EventScript_Triangle",
"flag": "FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE"
},
{
diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc
index 3eb491e0f..b51940a7c 100644
--- a/data/maps/BirthIsland_Exterior/scripts.inc
+++ b/data/maps/BirthIsland_Exterior/scripts.inc
@@ -1,11 +1,11 @@
BirthIsland_Exterior_MapScripts:: @ 8267F15
map_script MAP_SCRIPT_ON_TRANSITION, BirthIsland_Exterior_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, BirthIsland_Exterior_MapScript1_267F65
- map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, BirthIsland_Exterior_MapScript1_267F25
+ map_script MAP_SCRIPT_ON_RESUME, BirthIsland_Exterior_OnResume
+ map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, BirthIsland_Exterior_OnReturnToField
.byte 0
-BirthIsland_Exterior_MapScript1_267F25: @ 8267F25
- special sub_813B1D0
+BirthIsland_Exterior_OnReturnToField: @ 8267F25
+ special SetDeoxysRockPalette
end
BirthIsland_Exterior_OnTransition: @ 8267F29
@@ -13,57 +13,57 @@ BirthIsland_Exterior_OnTransition: @ 8267F29
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
setvar VAR_DEOXYS_ROCK_STEP_COUNT, 0
setvar VAR_DEOXYS_ROCK_LEVEL, 0
- call_if_set FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_267F4E
- call_if_unset FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_267F55
+ call_if_set FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_HideDeoxysAndPuzzle
+ call_if_unset FLAG_BATTLED_DEOXYS, BirthIsland_Exterior_EventScript_TryShowDeoxysPuzzle
end
-BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E
+BirthIsland_Exterior_EventScript_HideDeoxysAndPuzzle:: @ 8267F4E
setflag FLAG_HIDE_DEOXYS
setflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE
return
-BirthIsland_Exterior_EventScript_267F55:: @ 8267F55
+BirthIsland_Exterior_EventScript_TryShowDeoxysPuzzle:: @ 8267F55
goto_if_set FLAG_DEFEATED_DEOXYS, Common_EventScript_NopReturn
clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE
clearflag FLAG_DEOXYS_ROCK_COMPLETE
return
-BirthIsland_Exterior_MapScript1_267F65: @ 8267F65
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BirthIsland_Exterior_EventScript_267F6F
+BirthIsland_Exterior_OnResume: @ 8267F65
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BirthIsland_Exterior_EventScript_TryRemoveDeoxys
end
-BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F
+BirthIsland_Exterior_EventScript_TryRemoveDeoxys:: @ 8267F6F
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject 2
return
-BirthIsland_Exterior_EventScript_267F83:: @ 8267F83
+BirthIsland_Exterior_EventScript_Triangle:: @ 8267F83
lock
faceplayer
special DoDeoxysRockInteraction
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
+ case 0, BirthIsland_Exterior_EventScript_NotSolved1
+ case 1, BirthIsland_Exterior_EventScript_NotSolved2
+ case 2, BirthIsland_Exterior_EventScript_Deoxys
+ case 3, BirthIsland_Exterior_EventScript_NotSolved3
end
-BirthIsland_Exterior_EventScript_267FBB:: @ 8267FBB
+BirthIsland_Exterior_EventScript_NotSolved1:: @ 8267FBB
release
end
-BirthIsland_Exterior_EventScript_267FBD:: @ 8267FBD
+BirthIsland_Exterior_EventScript_NotSolved2:: @ 8267FBD
release
end
-BirthIsland_Exterior_EventScript_267FBF:: @ 8267FBF
+BirthIsland_Exterior_EventScript_NotSolved3:: @ 8267FBF
release
end
-BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1
+BirthIsland_Exterior_EventScript_Deoxys:: @ 8267FC1
waitse
setfieldeffectargument 0, 1
setfieldeffectargument 1, 58
@@ -72,44 +72,44 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1
playbgm MUS_RG_DEOEYE, 0
waitfieldeffect FLDEFF_65
addobject 2
- applymovement 2, BirthIsland_Exterior_Movement_268054
+ applymovement 2, BirthIsland_Exterior_Movement_DeoxysApproach
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
+ setvar VAR_0x8004, SPECIES_DEOXYS
+ setvar VAR_0x8005, 30 @ level
+ setvar VAR_0x8006, ITEM_NONE
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq BirthIsland_Exterior_EventScript_26803B
- compare VAR_RESULT, 4
- goto_if_eq BirthIsland_Exterior_EventScript_268049
- compare VAR_RESULT, 5
- goto_if_eq BirthIsland_Exterior_EventScript_268049
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq BirthIsland_Exterior_EventScript_DefeatedDeoxys
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq BirthIsland_Exterior_EventScript_RanFromDeoxys
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq BirthIsland_Exterior_EventScript_RanFromDeoxys
setflag FLAG_BATTLED_DEOXYS
release
end
-BirthIsland_Exterior_EventScript_26803B:: @ 826803B
+BirthIsland_Exterior_EventScript_DefeatedDeoxys:: @ 826803B
setflag FLAG_DEFEATED_DEOXYS
- setvar VAR_0x8004, 410
- goto BirthIsland_Exterior_EventScript_273776
+ setvar VAR_0x8004, SPECIES_DEOXYS
+ goto Common_EventScript_LegendaryFlewAway
end
-BirthIsland_Exterior_EventScript_268049:: @ 8268049
- setvar VAR_0x8004, 410
- goto BirthIsland_Exterior_EventScript_273776
+BirthIsland_Exterior_EventScript_RanFromDeoxys:: @ 8268049
+ setvar VAR_0x8004, SPECIES_DEOXYS
+ goto Common_EventScript_LegendaryFlewAway
end
-BirthIsland_Exterior_Movement_268054: @ 8268054
+BirthIsland_Exterior_Movement_DeoxysApproach: @ 8268054
walk_slow_down
walk_slow_down
walk_slow_down
diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json
index 48937d482..ea124d9ef 100644
--- a/data/maps/BirthIsland_Harbor/map.json
+++ b/data/maps/BirthIsland_Harbor/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "BirthIsland_Harbor_EventScript_26805D",
+ "script": "BirthIsland_Harbor_EventScript_Sailor",
"flag": "0"
},
{
diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc
index 5f850ed7b..f19b373f5 100644
--- a/data/maps/BirthIsland_Harbor/scripts.inc
+++ b/data/maps/BirthIsland_Harbor/scripts.inc
@@ -1,27 +1,27 @@
BirthIsland_Harbor_MapScripts:: @ 826805C
.byte 0
-BirthIsland_Harbor_EventScript_26805D:: @ 826805D
+BirthIsland_Harbor_EventScript_Sailor:: @ 826805D
lock
faceplayer
- msgbox BirthIsland_Harbor_Text_2C6B90, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq BirthIsland_Harbor_EventScript_2680A2
- msgbox BirthIsland_Harbor_Text_2A6A5D, MSGBOX_DEFAULT
+ msgbox BirthIsland_Harbor_Text_SailorReturn, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq BirthIsland_Harbor_EventScript_AsYouLike
+ msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
hideobjectat 1, MAP_BIRTH_ISLAND_HARBOR
setvar VAR_0x8004, 2
- call BirthIsland_Harbor_EventScript_272250
+ call Common_EventScript_FerryDepartIsland
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-BirthIsland_Harbor_EventScript_2680A2:: @ 82680A2
- msgbox BirthIsland_Harbor_Text_2A6A82, MSGBOX_DEFAULT
+BirthIsland_Harbor_EventScript_AsYouLike:: @ 82680A2
+ msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/CaveOfOrigin_1F/scripts.inc b/data/maps/CaveOfOrigin_1F/scripts.inc
index 8c72ec4b8..de1d979d4 100644
--- a/data/maps/CaveOfOrigin_1F/scripts.inc
+++ b/data/maps/CaveOfOrigin_1F/scripts.inc
@@ -3,5 +3,5 @@ CaveOfOrigin_1F_MapScripts:: @ 8235768
.byte 0
CaveOfOrigin_1F_OnTransition: @ 823576E
- call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_1F_EventScript_2722C1
+ call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars
end
diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json
index ac3baeaf8..ba32f6cfc 100644
--- a/data/maps/CaveOfOrigin_B1F/map.json
+++ b/data/maps/CaveOfOrigin_B1F/map.json
@@ -5,7 +5,7 @@
"music": "MUS_NONE",
"region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_UNDERGROUND",
"allow_bike": false,
"allow_escape_rope": true,
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "CaveOfOrigin_B1F_EventScript_2357A9",
+ "script": "CaveOfOrigin_B1F_EventScript_Wallace",
"flag": "FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE"
}
],
diff --git a/data/maps/CaveOfOrigin_B1F/scripts.inc b/data/maps/CaveOfOrigin_B1F/scripts.inc
index 5148d2942..552f3b095 100644
--- a/data/maps/CaveOfOrigin_B1F/scripts.inc
+++ b/data/maps/CaveOfOrigin_B1F/scripts.inc
@@ -1,12 +1,12 @@
CaveOfOrigin_B1F_MapScripts:: @ 82357A8
.byte 0
-CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9
+CaveOfOrigin_B1F_EventScript_Wallace:: @ 82357A9
lock
faceplayer
- msgbox CaveOfOrigin_B1F_Text_23586E, MSGBOX_DEFAULT
+ msgbox CaveOfOrigin_B1F_Text_WallaceStory, MSGBOX_DEFAULT
closemessage
- applymovement 1, Common_Movement_WalkInPlaceUp
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 60
playse SE_PIN
@@ -17,49 +17,49 @@ CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9
delay 30
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- message CaveOfOrigin_B1F_Text_235ACE
+ message CaveOfOrigin_B1F_Text_WhereIsRayquaza
waitmessage
- goto CaveOfOrigin_B1F_EventScript_2357F0
+ goto CaveOfOrigin_B1F_EventScript_WheresRayquaza
-CaveOfOrigin_B1F_EventScript_2357F0:: @ 82357F0
- multichoice 0, 0, 110, 0
+CaveOfOrigin_B1F_EventScript_WheresRayquaza:: @ 82357F0
+ multichoice 0, 0, MULTI_WHERES_RAYQUAZA, 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
+ case 0, CaveOfOrigin_B1F_EventScript_AtCaveOfOrigin
+ case 1, CaveOfOrigin_B1F_EventScript_AtMtPyre
+ case 2, CaveOfOrigin_B1F_EventScript_AtSkyPillar
+ case 3, CaveOfOrigin_B1F_EventScript_DontRemember
+ goto CaveOfOrigin_B1F_EventScript_DontRemember
end
-CaveOfOrigin_B1F_EventScript_23582C:: @ 823582C
- message CaveOfOrigin_B1F_Text_235B23
+CaveOfOrigin_B1F_EventScript_AtCaveOfOrigin:: @ 823582C
+ message CaveOfOrigin_B1F_Text_ButWereInCaveOfOrigin
waitmessage
- goto CaveOfOrigin_B1F_EventScript_2357F0
+ goto CaveOfOrigin_B1F_EventScript_WheresRayquaza
-CaveOfOrigin_B1F_EventScript_235837:: @ 8235837
- message CaveOfOrigin_B1F_Text_235BBF
+CaveOfOrigin_B1F_EventScript_AtMtPyre:: @ 8235837
+ message CaveOfOrigin_B1F_Text_OldLadyDidntMentionThat
waitmessage
- goto CaveOfOrigin_B1F_EventScript_2357F0
+ goto CaveOfOrigin_B1F_EventScript_WheresRayquaza
-CaveOfOrigin_B1F_EventScript_235842:: @ 8235842
- message CaveOfOrigin_B1F_Text_235C99
+CaveOfOrigin_B1F_EventScript_DontRemember:: @ 8235842
+ message CaveOfOrigin_B1F_Text_CantYouRememberSomehow
waitmessage
- goto CaveOfOrigin_B1F_EventScript_2357F0
+ goto CaveOfOrigin_B1F_EventScript_WheresRayquaza
-CaveOfOrigin_B1F_EventScript_23584D:: @ 823584D
- msgbox CaveOfOrigin_B1F_Text_235CEE, MSGBOX_DEFAULT
+CaveOfOrigin_B1F_EventScript_AtSkyPillar:: @ 823584D
+ msgbox CaveOfOrigin_B1F_Text_WellHeadToSkyPillar, MSGBOX_DEFAULT
closemessage
playse SE_KAIDAN
- fadescreenspeed 1, 4
+ fadescreenspeed FADE_TO_BLACK, 4
setflag FLAG_WALLACE_GOES_TO_SKY_PILLAR
setvar VAR_SOOTOPOLIS_CITY_STATE, 3
removeobject 1
clearflag FLAG_HIDE_SKY_PILLAR_WALLACE
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
release
end
-CaveOfOrigin_B1F_Text_23586E: @ 823586E
+CaveOfOrigin_B1F_Text_WallaceStory: @ 823586E
.string "Ah, so you are {PLAYER}{KUN}?\n"
.string "I've heard tales of your exploits.\p"
.string "My name is WALLACE.\p"
@@ -83,19 +83,19 @@ CaveOfOrigin_B1F_Text_23586E: @ 823586E
.string "But even I have no clue as to\n"
.string "RAYQUAZA's whereabouts…$"
-CaveOfOrigin_B1F_Text_235ACE: @ 8235ACE
+CaveOfOrigin_B1F_Text_WhereIsRayquaza: @ 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
+CaveOfOrigin_B1F_Text_ButWereInCaveOfOrigin: @ 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
+CaveOfOrigin_B1F_Text_OldLadyDidntMentionThat: @ 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"
@@ -104,12 +104,12 @@ CaveOfOrigin_B1F_Text_235BBF: @ 8235BBF
.string "{PLAYER}{KUN}, could you think about this\n"
.string "more carefully for me?$"
-CaveOfOrigin_B1F_Text_235C99: @ 8235C99
+CaveOfOrigin_B1F_Text_CantYouRememberSomehow: @ 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
+CaveOfOrigin_B1F_Text_WellHeadToSkyPillar: @ 8235CEE
.string "WALLACE: The SKY PILLAR?\p"
.string "That's it!\n"
.string "It must be the SKY PILLAR!\p"
diff --git a/data/maps/CaveOfOrigin_Entrance/scripts.inc b/data/maps/CaveOfOrigin_Entrance/scripts.inc
index 53228f63c..76cdbc7ad 100644
--- a/data/maps/CaveOfOrigin_Entrance/scripts.inc
+++ b/data/maps/CaveOfOrigin_Entrance/scripts.inc
@@ -1,8 +1,8 @@
CaveOfOrigin_Entrance_MapScripts:: @ 8235759
- map_script MAP_SCRIPT_ON_RESUME, CaveOfOrigin_Entrance_MapScript1_23575F
+ map_script MAP_SCRIPT_ON_RESUME, CaveOfOrigin_Entrance_OnResume
.byte 0
-CaveOfOrigin_Entrance_MapScript1_23575F: @ 823575F
+CaveOfOrigin_Entrance_OnResume: @ 823575F
setescapewarp MAP_SOOTOPOLIS_CITY, 255, 31, 17
end
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc
index bc574be2d..326ea21e3 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc
@@ -3,5 +3,5 @@ CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778
.byte 0
CaveOfOrigin_UnusedRubySapphireMap1_OnTransition: @ 823577E
- call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1
+ call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars
end
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json
index 8b83029e3..b0b496d88 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DAN03",
"region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
"requires_flash": true,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_UNDERGROUND",
"allow_bike": true,
"allow_escape_rope": true,
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc
index 340e4a585..5e92a7d45 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc
@@ -3,6 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788
.byte 0
CaveOfOrigin_UnusedRubySapphireMap2_OnTransition: @ 823578E
- call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1
+ call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars
end
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json
index 2b7c6db19..99afc0925 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DAN03",
"region_map_section": "MAPSEC_CAVE_OF_ORIGIN",
"requires_flash": true,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_UNDERGROUND",
"allow_bike": true,
"allow_escape_rope": true,
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc
index f2e118907..2f0e2b66c 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc
@@ -3,6 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798
.byte 0
CaveOfOrigin_UnusedRubySapphireMap3_OnTransition: @ 823579E
- call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1
+ call_if_set FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE, CaveOfOrigin_EventScript_SetTempVars
end
diff --git a/data/maps/LinkContestRoom1/map.json b/data/maps/ContestHall/map.json
index 664a32b29..1402a9afa 100644
--- a/data/maps/LinkContestRoom1/map.json
+++ b/data/maps/ContestHall/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_LINK_CONTEST_ROOM1",
- "name": "LinkContestRoom1",
- "layout": "LAYOUT_LINK_CONTEST_ROOM1",
+ "id": "MAP_CONTEST_HALL",
+ "name": "ContestHall",
+ "layout": "LAYOUT_CONTEST_HALL",
"music": "MUS_CONTEST0",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
@@ -181,7 +181,7 @@
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
"script": "0x0",
- "flag": "FLAG_LINK_CONTEST_POKE_BALL"
+ "flag": "FLAG_HIDE_CONTEST_POKE_BALL"
},
{
"graphics_id": "EVENT_OBJ_GFX_VAR_3",
diff --git a/data/maps/ContestHall/scripts.inc b/data/maps/ContestHall/scripts.inc
new file mode 100644
index 000000000..e1ef9b708
--- /dev/null
+++ b/data/maps/ContestHall/scripts.inc
@@ -0,0 +1,460 @@
+ContestHall_MapScripts:: @ 823B781
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, ContestHall_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, ContestHall_OnFrame
+ map_script MAP_SCRIPT_ON_TRANSITION, ContestHall_OnTransition
+ map_script MAP_SCRIPT_ON_RESUME, ContestHall_OnResume
+ map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, ContestHall_OnReturn
+ .byte 0
+
+ContestHall_OnReturn: @ 823B79B
+ special LoadLinkContestPlayerPalettes
+ end
+
+ContestHall_OnTransition: @ 823B79F
+ call ContestHall_EventScript_ReadyContestMusic
+ setvar VAR_TEMP_0, 1
+ call ContestHall_EventScript_AddRandomAudienceMembers
+ end
+
+ContestHall_EventScript_ReadyContestMusic:: @ 823B7AF
+ call ContestHall_EventScript_TryWaitForLink
+ special ScriptGetMultiplayerId
+ compare VAR_RESULT, 0
+ call_if_eq ContestHall_EventScript_SaveContestMusicPlayer1
+ compare VAR_RESULT, 1
+ call_if_eq ContestHall_EventScript_SaveContestMusicPlayer2
+ compare VAR_RESULT, 2
+ call_if_eq ContestHall_EventScript_SaveContestMusicPlayer3
+ compare VAR_RESULT, 3
+ call_if_eq ContestHall_EventScript_SaveContestMusicPlayer4
+ compare VAR_RESULT, 4
+ call_if_eq ContestHall_EventScript_SaveContestMusic
+ return
+
+ContestHall_EventScript_SaveContestMusicPlayer1:: @ 823B7EF
+ savebgm MUS_TEST1
+ return
+
+ContestHall_EventScript_SaveContestMusicPlayer2:: @ 823B7F3
+ savebgm MUS_TEST2
+ return
+
+ContestHall_EventScript_SaveContestMusicPlayer3:: @ 823B7F7
+ savebgm MUS_TEST3
+ return
+
+ContestHall_EventScript_SaveContestMusicPlayer4:: @ 823B7FB
+ savebgm MUS_TEST4
+ return
+
+ContestHall_EventScript_SaveContestMusic:: @ 823B7FF
+ savebgm MUS_CONTEST0
+ return
+
+ContestHall_OnResume: @ 823B803
+ compare VAR_TEMP_9, 1
+ call_if_eq ContestHall_EventScript_ReShowAudience
+ end
+
+ContestHall_EventScript_ReShowAudience:: @ 823B80F
+ call ContestHall_EventScript_CreateAudience
+ return
+
+ContestHall_OnFrame: @ 823B815
+ map_script_2 VAR_CONTEST_HALL_STATE, 1, ContestHall_EventScript_Contest
+ .2byte 0
+
+ContestHall_OnWarp: @ 823B81F
+ map_script_2 VAR_CONTEST_HALL_STATE, 1, ContestHall_EventScript_SetContestObjects
+ .2byte 0
+
+ContestHall_EventScript_Contest:: @ 823B829
+ call ContestHall_EventScript_DoContest
+ call ContestHall_EventScript_SetExitWarp
+ end
+
+ContestHall_EventScript_SetContestObjects:: @ 823B834
+ special LoadLinkContestPlayerPalettes
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
+ call ContestHall_EventScript_CreateAudience
+ end
+
+@ There are 8 audience member event objects, 7 of which are given random gfx below (the 8th is the Artist)
+@ The rest of the audience is created statically by ContestHall_EventScript_CreateAudience
+ContestHall_EventScript_AddRandomAudienceMembers:: @ 823B842
+ call ContestHall_EventScript_GetRandomAudienceGfxId
+ call ContestHall_EventScript_SetRandomAudienceGfx
+ compare VAR_TEMP_0, 8
+ goto_if_lt ContestHall_EventScript_AddRandomAudienceMembers
+ return
+
+ContestHall_EventScript_SetRandomAudienceGfx:: @ 823B858
+ switch VAR_TEMP_0
+ case 1, ContestHall_EventScript_SetRandomAudience1
+ case 2, ContestHall_EventScript_SetRandomAudience2
+ case 3, ContestHall_EventScript_SetRandomAudience3
+ case 4, ContestHall_EventScript_SetRandomAudience4
+ case 5, ContestHall_EventScript_SetRandomAudience5
+ case 6, ContestHall_EventScript_SetRandomAudience6
+ case 7, ContestHall_EventScript_SetRandomAudience7
+ end
+
+ContestHall_EventScript_SetRandomAudience1:: @ 823B8AB
+ copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+ContestHall_EventScript_SetRandomAudience2:: @ 823B8B6
+ copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+ContestHall_EventScript_SetRandomAudience3:: @ 823B8C1
+ copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+ContestHall_EventScript_SetRandomAudience4:: @ 823B8CC
+ copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+ContestHall_EventScript_SetRandomAudience5:: @ 823B8D7
+ copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+ContestHall_EventScript_SetRandomAudience6:: @ 823B8E2
+ copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+ContestHall_EventScript_SetRandomAudience7:: @ 823B8ED
+ copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+ContestHall_EventScript_GetRandomAudienceGfxId:: @ 823B8F8
+ setvar VAR_RESULT, 32
+ special ScriptRandom
+ addvar VAR_RESULT, 1
+ switch VAR_RESULT
+ case 1, ContestHall_EventScript_RandomAudienceNinjaBoy
+ case 2, ContestHall_EventScript_RandomAudienceTwin
+ case 3, ContestHall_EventScript_RandomAudienceBoy1
+ case 4, ContestHall_EventScript_RandomAudienceGirl1
+ case 5, ContestHall_EventScript_RandomAudienceGirl2
+ case 6, ContestHall_EventScript_RandomAudienceLittleBoy
+ case 7, ContestHall_EventScript_RandomAudienceGirl
+ case 8, ContestHall_EventScript_RandomAudienceBoy3
+ case 9, ContestHall_EventScript_RandomAudienceGirl3
+ case 10, ContestHall_EventScript_RandomAudienceRichBoy
+ case 11, ContestHall_EventScript_RandomAudienceFatMan
+ case 12, ContestHall_EventScript_RandomAudiencePokefanF
+ case 13, ContestHall_EventScript_RandomAudienceMan1
+ case 14, ContestHall_EventScript_RandomAudienceWoman2
+ case 15, ContestHall_EventScript_RandomAudienceExpertM
+ case 16, ContestHall_EventScript_RandomAudienceExpertF
+ case 17, ContestHall_EventScript_RandomAudiencePokefanM
+ case 18, ContestHall_EventScript_RandomAudienceWoman4
+ case 19, ContestHall_EventScript_RandomAudienceCook
+ case 20, ContestHall_EventScript_RandomAudienceLass
+ case 21, ContestHall_EventScript_RandomAudienceOldWoman
+ case 22, ContestHall_EventScript_RandomAudienceCamper
+ case 23, ContestHall_EventScript_RandomAudiencePicnicker
+ case 24, ContestHall_EventScript_RandomAudienceMan3
+ case 25, ContestHall_EventScript_RandomAudienceWoman5
+ case 26, ContestHall_EventScript_RandomAudienceYoungster
+ case 27, ContestHall_EventScript_RandomAudienceBugCatcher
+ case 28, ContestHall_EventScript_RandomAudiencePsychicM
+ case 29, ContestHall_EventScript_RandomAudienceSchoolKidM
+ case 30, ContestHall_EventScript_RandomAudienceBlackBelt
+ case 31, ContestHall_EventScript_RandomAudienceBeauty
+ case 32, ContestHall_EventScript_RandomAudienceScientist1
+ end
+
+ContestHall_EventScript_RandomAudienceNinjaBoy:: @ 823BA6B
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_NINJA_BOY
+ return
+
+ContestHall_EventScript_RandomAudienceTwin:: @ 823BA71
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_TWIN
+ return
+
+ContestHall_EventScript_RandomAudienceBoy1:: @ 823BA77
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_1
+ return
+
+ContestHall_EventScript_RandomAudienceGirl1:: @ 823BA7D
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_1
+ return
+
+ContestHall_EventScript_RandomAudienceGirl2:: @ 823BA83
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_2
+ return
+
+ContestHall_EventScript_RandomAudienceLittleBoy:: @ 823BA89
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_BOY
+ return
+
+ContestHall_EventScript_RandomAudienceGirl:: @ 823BA8F
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_GIRL
+ return
+
+ContestHall_EventScript_RandomAudienceBoy3:: @ 823BA95
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_3
+ return
+
+ContestHall_EventScript_RandomAudienceGirl3:: @ 823BA9B
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_3
+ return
+
+ContestHall_EventScript_RandomAudienceRichBoy:: @ 823BAA1
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_RICH_BOY
+ return
+
+ContestHall_EventScript_RandomAudienceFatMan:: @ 823BAA7
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_FAT_MAN
+ return
+
+ContestHall_EventScript_RandomAudiencePokefanF:: @ 823BAAD
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_F
+ return
+
+ContestHall_EventScript_RandomAudienceMan1:: @ 823BAB3
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_1
+ return
+
+ContestHall_EventScript_RandomAudienceWoman2:: @ 823BAB9
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_2
+ return
+
+ContestHall_EventScript_RandomAudienceExpertM:: @ 823BABF
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_M
+ return
+
+ContestHall_EventScript_RandomAudienceExpertF:: @ 823BAC5
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_F
+ return
+
+ContestHall_EventScript_RandomAudiencePokefanM:: @ 823BACB
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_M
+ return
+
+ContestHall_EventScript_RandomAudienceWoman4:: @ 823BAD1
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_4
+ return
+
+ContestHall_EventScript_RandomAudienceCook:: @ 823BAD7
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_COOK
+ return
+
+ContestHall_EventScript_RandomAudienceLass:: @ 823BADD
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_LASS
+ return
+
+ContestHall_EventScript_RandomAudienceOldWoman:: @ 823BAE3
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_OLD_WOMAN
+ return
+
+ContestHall_EventScript_RandomAudienceCamper:: @ 823BAE9
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_CAMPER
+ return
+
+ContestHall_EventScript_RandomAudiencePicnicker:: @ 823BAEF
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_PICNICKER
+ return
+
+ContestHall_EventScript_RandomAudienceMan3:: @ 823BAF5
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_3
+ return
+
+ContestHall_EventScript_RandomAudienceWoman5:: @ 823BAFB
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_5
+ return
+
+ContestHall_EventScript_RandomAudienceYoungster:: @ 823BB01
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_YOUNGSTER
+ return
+
+ContestHall_EventScript_RandomAudienceBugCatcher:: @ 823BB07
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_BUG_CATCHER
+ return
+
+ContestHall_EventScript_RandomAudiencePsychicM:: @ 823BB0D
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_PSYCHIC_M
+ return
+
+ContestHall_EventScript_RandomAudienceSchoolKidM:: @ 823BB13
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCHOOL_KID_M
+ return
+
+ContestHall_EventScript_RandomAudienceBlackBelt:: @ 823BB19
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_BLACK_BELT
+ return
+
+ContestHall_EventScript_RandomAudienceBeauty:: @ 823BB1F
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_BEAUTY
+ return
+
+ContestHall_EventScript_RandomAudienceScientist1:: @ 823BB25
+ setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCIENTIST_1
+ return
+
+ContestHall_EventScript_CreateAudience:: @ 823BB2B
+ specialvar VAR_RESULT, IsWirelessContest
+ compare VAR_RESULT, TRUE
+ goto_if_eq ContestHall_EventScript_CreateWirelessContestAudience
+ switch VAR_CONTEST_TYPE
+ case CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_CreateNormalContestAudience
+ case CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_CreateSuperContestAudience
+ case CONTEST_TYPE_NPC_HYPER, ContestHall_EventScript_CreateHyperContestAudience
+ case CONTEST_TYPE_NPC_MASTER, ContestHall_EventScript_CreateMasterContestAudience
+ case CONTEST_TYPE_LINK, ContestHall_EventScript_CreateMasterContestAudience
+ return
+
+ContestHall_EventScript_CreateNormalContestAudience:: @ 823BB78
+ createvobject EVENT_OBJ_GFX_NINJA_BOY, 20, 3, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
+ return
+
+ContestHall_EventScript_CreateSuperContestAudience:: @ 823BB8B
+ createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_SCIENTIST_1, 3, 2, 8, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 13, 12, 8, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_LASS, 20, 3, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
+ return
+
+ContestHall_EventScript_CreateHyperContestAudience:: @ 823BBE6
+ createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_GENTLEMAN, 3, 2, 8, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 3, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_MAN_2, 20, 6, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_WOMAN_5, 20, 7, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 8, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 11, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 3, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 5, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH
+ return
+
+ContestHall_EventScript_CreateMasterContestAudience:: @ 823BC92
+ createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_SAILOR, 25, 3, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_GENTLEMAN, 27, 5, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH
+ createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH
+ return
+
+ContestHall_EventScript_CreateWirelessContestAudience:: @ 823BD86
+ createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST
+ createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST
+ createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH
+ createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
+ return
+
+ContestHall_EventScript_SetExitWarp:: @ 823BE44
+ special ClearLinkContestFlags
+ switch VAR_CONTEST_TYPE
+ case CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_SetExitWarpNormalContest
+ case CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_SetExitWarpSuperContest
+ case CONTEST_TYPE_NPC_HYPER, ContestHall_EventScript_SetExitWarpHyperContest
+ case CONTEST_TYPE_NPC_MASTER, ContestHall_EventScript_SetExitWarpMasterContest
+ case CONTEST_TYPE_LINK, ContestHall_EventScript_SetExitWarpLinkContest
+ return
+
+ContestHall_EventScript_SetExitWarpNormalContest:: @ 823BE84
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+ContestHall_EventScript_SetExitWarpSuperContest:: @ 823BE8E
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+ContestHall_EventScript_SetExitWarpHyperContest:: @ 823BE98
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+ContestHall_EventScript_SetExitWarpMasterContest:: @ 823BEA2
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+ContestHall_EventScript_SetExitWarpLinkContest:: @ 823BEAC
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4
+ waitstate
+ end
+
+LilycoveCity_ContestLobby_EventScript_SetPlayerGfx:: @ 823BEB6
+ checkplayergender
+ compare VAR_RESULT, MALE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_SetPlayerGfxBrendan
+ compare VAR_RESULT, FEMALE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_SetPlayerGfxMay
+ return
+
+LilycoveCity_ContestLobby_EventScript_SetPlayerGfxBrendan:: @ 823BECE
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
+ return
+
+LilycoveCity_ContestLobby_EventScript_SetPlayerGfxMay:: @ 823BED4
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
+ return
+
diff --git a/data/maps/LinkContestRoom2/map.json b/data/maps/ContestHallBeauty/map.json
index b02da178f..daad0f962 100644
--- a/data/maps/LinkContestRoom2/map.json
+++ b/data/maps/ContestHallBeauty/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_LINK_CONTEST_ROOM2",
- "name": "LinkContestRoom2",
- "layout": "LAYOUT_LINK_CONTEST_ROOM2",
+ "id": "MAP_CONTEST_HALL_BEAUTY",
+ "name": "ContestHallBeauty",
+ "layout": "LAYOUT_CONTEST_HALL_BEAUTY",
"music": "MUS_CONTEST0",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom5/map.json b/data/maps/ContestHallCool/map.json
index f312d4c2b..d1c2e985c 100644
--- a/data/maps/LinkContestRoom5/map.json
+++ b/data/maps/ContestHallCool/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_LINK_CONTEST_ROOM5",
- "name": "LinkContestRoom5",
- "layout": "LAYOUT_LINK_CONTEST_ROOM5",
+ "id": "MAP_CONTEST_HALL_COOL",
+ "name": "ContestHallCool",
+ "layout": "LAYOUT_CONTEST_HALL_COOL",
"music": "MUS_CONTEST0",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom3/map.json b/data/maps/ContestHallCute/map.json
index fb0bf29e0..d6b16dc4e 100644
--- a/data/maps/LinkContestRoom3/map.json
+++ b/data/maps/ContestHallCute/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_LINK_CONTEST_ROOM3",
- "name": "LinkContestRoom3",
- "layout": "LAYOUT_LINK_CONTEST_ROOM3",
+ "id": "MAP_CONTEST_HALL_CUTE",
+ "name": "ContestHallCute",
+ "layout": "LAYOUT_CONTEST_HALL_CUTE",
"music": "MUS_CONTEST0",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom4/map.json b/data/maps/ContestHallSmart/map.json
index 85d12ece4..12d3cccd8 100644
--- a/data/maps/LinkContestRoom4/map.json
+++ b/data/maps/ContestHallSmart/map.json
@@ -1,7 +1,7 @@
{
- "id": "MAP_LINK_CONTEST_ROOM4",
- "name": "LinkContestRoom4",
- "layout": "LAYOUT_LINK_CONTEST_ROOM4",
+ "id": "MAP_CONTEST_HALL_SMART",
+ "name": "ContestHallSmart",
+ "layout": "LAYOUT_CONTEST_HALL_SMART",
"music": "MUS_CONTEST0",
"region_map_section": "MAPSEC_DYNAMIC",
"requires_flash": false,
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/ContestHallTough/map.json b/data/maps/ContestHallTough/map.json
new file mode 100644
index 000000000..070211173
--- /dev/null
+++ b/data/maps/ContestHallTough/map.json
@@ -0,0 +1,18 @@
+{
+ "id": "MAP_CONTEST_HALL_TOUGH",
+ "name": "ContestHallTough",
+ "layout": "LAYOUT_CONTEST_HALL_TOUGH",
+ "music": "MUS_CONTEST0",
+ "region_map_section": "MAPSEC_DYNAMIC",
+ "requires_flash": false,
+ "weather": "WEATHER_NONE",
+ "map_type": "MAP_TYPE_INDOOR",
+ "allow_bike": false,
+ "allow_escape_rope": false,
+ "allow_running": false,
+ "show_map_name": false,
+ "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
+ "connections": null,
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
+} \ No newline at end of file
diff --git a/data/maps/DesertRuins/map.json b/data/maps/DesertRuins/map.json
index 28a04a458..441157d86 100644
--- a/data/maps/DesertRuins/map.json
+++ b/data/maps/DesertRuins/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DesertRuins_EventScript_22DA02",
+ "script": "DesertRuins_EventScript_Regirock",
"flag": "FLAG_HIDE_REGIROCK"
}
],
@@ -59,7 +59,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DesertRuins_EventScript_22D9DB"
+ "script": "DesertRuins_EventScript_CaveEntranceMiddle"
},
{
"type": "sign",
@@ -67,7 +67,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DesertRuins_EventScript_22D9F8"
+ "script": "DesertRuins_EventScript_CaveEntranceSide"
},
{
"type": "sign",
@@ -75,7 +75,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DesertRuins_EventScript_22D9F8"
+ "script": "DesertRuins_EventScript_CaveEntranceSide"
}
]
} \ No newline at end of file
diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc
index 5cadf3ec0..bd7b04fb4 100644
--- a/data/maps/DesertRuins/scripts.inc
+++ b/data/maps/DesertRuins/scripts.inc
@@ -1,25 +1,25 @@
DesertRuins_MapScripts:: @ 822D95B
- map_script MAP_SCRIPT_ON_RESUME, DesertRuins_MapScript1_22D96B
- map_script MAP_SCRIPT_ON_LOAD, DesertRuins_MapScript1_22D989
+ map_script MAP_SCRIPT_ON_RESUME, DesertRuins_OnResume
+ map_script MAP_SCRIPT_ON_LOAD, DesertRuins_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, DesertRuins_OnTransition
.byte 0
-DesertRuins_MapScript1_22D96B: @ 822D96B
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_22D975
+DesertRuins_OnResume: @ 822D96B
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_TryRemoveRegirock
end
-DesertRuins_EventScript_22D975:: @ 822D975
+DesertRuins_EventScript_TryRemoveRegirock:: @ 822D975
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
-DesertRuins_MapScript1_22D989: @ 822D989
- call_if_unset FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_22D993
+DesertRuins_OnLoad: @ 822D989
+ call_if_unset FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_HideRegiEntrance
end
-DesertRuins_EventScript_22D993:: @ 822D993
+DesertRuins_EventScript_HideRegiEntrance:: @ 822D993
setmetatile 7, 19, METATILE_Cave_EntranceCover, 1
setmetatile 8, 19, METATILE_Cave_EntranceCover, 1
setmetatile 9, 19, METATILE_Cave_EntranceCover, 1
@@ -30,36 +30,36 @@ DesertRuins_EventScript_22D993:: @ 822D993
DesertRuins_OnTransition: @ 822D9CA
setflag FLAG_LANDMARK_DESERT_RUINS
- call_if_unset FLAG_DEFEATED_REGIROCK, DesertRuins_EventScript_22D9D7
+ call_if_unset FLAG_DEFEATED_REGIROCK, DesertRuins_EventScript_ShowRegirock
end
-DesertRuins_EventScript_22D9D7:: @ 822D9D7
+DesertRuins_EventScript_ShowRegirock:: @ 822D9D7
clearflag FLAG_HIDE_REGIROCK
return
-DesertRuins_EventScript_22D9DB:: @ 822D9DB
+DesertRuins_EventScript_CaveEntranceMiddle:: @ 822D9DB
lockall
- goto_if_set FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_22D9EE
- braillemessage DesertRuins_Braille_2A6CA0
+ goto_if_set FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_BigHoleInWall
+ braillemessage DesertRuins_Braille_UseRockSmash
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-DesertRuins_EventScript_22D9EE:: @ 822D9EE
- msgbox gUnknown_0827304E, MSGBOX_DEFAULT
+DesertRuins_EventScript_BigHoleInWall:: @ 822D9EE
+ msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT
releaseall
end
-DesertRuins_EventScript_22D9F8:: @ 822D9F8
+DesertRuins_EventScript_CaveEntranceSide:: @ 822D9F8
lockall
- braillemessage DesertRuins_Braille_2A6CA0
+ braillemessage DesertRuins_Braille_UseRockSmash
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-DesertRuins_EventScript_22DA02:: @ 822DA02
+DesertRuins_EventScript_Regirock:: @ 822DA02
lock
faceplayer
waitse
@@ -72,23 +72,23 @@ DesertRuins_EventScript_22DA02:: @ 822DA02
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq DesertRuins_EventScript_22DA49
- compare VAR_RESULT, 4
- goto_if_eq DesertRuins_EventScript_22DA52
- compare VAR_RESULT, 5
- goto_if_eq DesertRuins_EventScript_22DA52
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq DesertRuins_EventScript_DefeatedRegirock
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq DesertRuins_EventScript_RanFromRegirock
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq DesertRuins_EventScript_RanFromRegirock
setflag FLAG_DEFEATED_REGIROCK
release
end
-DesertRuins_EventScript_22DA49:: @ 822DA49
+DesertRuins_EventScript_DefeatedRegirock:: @ 822DA49
setflag FLAG_DEFEATED_REGIROCK
- goto DesertRuins_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-DesertRuins_EventScript_22DA52:: @ 822DA52
- setvar VAR_0x8004, 401
- goto DesertRuins_EventScript_273776
+DesertRuins_EventScript_RanFromRegirock:: @ 822DA52
+ setvar VAR_0x8004, SPECIES_REGIROCK
+ goto Common_EventScript_LegendaryFlewAway
end
diff --git a/data/maps/DesertUnderpass/map.json b/data/maps/DesertUnderpass/map.json
index ca4b894d4..a3a80d41e 100644
--- a/data/maps/DesertUnderpass/map.json
+++ b/data/maps/DesertUnderpass/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DesertUnderpass_EventScript_23AF41",
+ "script": "DesertUnderpass_EventScript_Fossil",
"flag": "FLAG_HIDE_DESERT_UNDERPASS_FOSSIL"
}
],
diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc
index 8e89075e5..bba7dfe08 100644
--- a/data/maps/DesertUnderpass/scripts.inc
+++ b/data/maps/DesertUnderpass/scripts.inc
@@ -6,29 +6,31 @@ DesertUnderpass_OnTransition: @ 823AF3D
setflag FLAG_LANDMARK_DESERT_UNDERPASS
end
-DesertUnderpass_EventScript_23AF41:: @ 823AF41
+DesertUnderpass_EventScript_Fossil:: @ 823AF41
lock
faceplayer
- goto_if_set FLAG_CHOSE_CLAW_FOSSIL, DesertUnderpass_EventScript_23AF57
- goto_if_set FLAG_CHOSE_ROOT_FOSSIL, DesertUnderpass_EventScript_23AF68
+ goto_if_set FLAG_CHOSE_ROOT_FOSSIL, DesertUnderpass_EventScript_GiveClawFossil
+ goto_if_set FLAG_CHOSE_CLAW_FOSSIL, DesertUnderpass_EventScript_GiveRootFossil
release
end
-DesertUnderpass_EventScript_23AF57:: @ 823AF57
- giveitem_std ITEM_CLAW_FOSSIL
+DesertUnderpass_EventScript_GiveClawFossil:: @ 823AF57
+ giveitem ITEM_CLAW_FOSSIL
removeobject 1
release
end
-DesertUnderpass_EventScript_23AF68:: @ 823AF68
- giveitem_std ITEM_ROOT_FOSSIL
+DesertUnderpass_EventScript_GiveRootFossil:: @ 823AF68
+ giveitem ITEM_ROOT_FOSSIL
removeobject 1
release
end
-DesertUnderpass_Text_23AF79:: @ 823AF79
+@ Unused
+DesertUnderpass_Text_FoundRootFossil:: @ 823AF79
.string "{PLAYER} found the ROOT FOSSIL.$"
-DesertUnderpass_Text_23AF93:: @ 823AF93
+@ Unused
+DesertUnderpass_Text_FoundClawFossil:: @ 823AF93
.string "{PLAYER} found the CLAW FOSSIL.$"
diff --git a/data/maps/DewfordTown/map.json b/data/maps/DewfordTown/map.json
index 32fe0c313..bfa5a2e8b 100644
--- a/data/maps/DewfordTown/map.json
+++ b/data/maps/DewfordTown/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_EventScript_1E95B1",
+ "script": "DewfordTown_EventScript_Woman",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "3",
- "script": "DewfordTown_EventScript_1E9511",
+ "script": "DewfordTown_EventScript_Briney",
"flag": "FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_EventScript_1E95D5",
+ "script": "DewfordTown_EventScript_OldRodFisherman",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_EventScript_1E9922",
+ "script": "DewfordTown_EventScript_TrendyPhraseBoy",
"flag": "0"
}
],
@@ -136,7 +136,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DewfordTown_EventScript_1E95BA"
+ "script": "DewfordTown_EventScript_TownSign"
},
{
"type": "sign",
@@ -144,7 +144,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DewfordTown_EventScript_1E95C3"
+ "script": "DewfordTown_EventScript_GymSign"
},
{
"type": "sign",
@@ -168,7 +168,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DewfordTown_EventScript_1E95CC"
+ "script": "DewfordTown_EventScript_HallSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc
index fa29f4099..62bd15063 100644
--- a/data/maps/DewfordTown/scripts.inc
+++ b/data/maps/DewfordTown/scripts.inc
@@ -6,131 +6,131 @@ DewfordTown_OnTransition: @ 81E950D
setflag FLAG_VISITED_DEWFORD_TOWN
end
-DewfordTown_EventScript_1E9511:: @ 81E9511
+DewfordTown_EventScript_Briney:: @ 81E9511
lock
faceplayer
- goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, DewfordTown_EventScript_1E9585
- message DewfordTown_Text_1E9C8A
+ goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, DewfordTown_EventScript_ReturnToPetalburgPrompt
+ message DewfordTown_Text_WhereAreWeBound
waitmessage
- multichoicedefault 21, 6, 0, 2, 0
+ multichoicedefault 21, 6, MULTI_BRINEY_ON_DEWFORD, 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
+ case 0, DewfordTown_EventScript_ChoosePetalburg
+ case 1, DewfordTown_EventScript_ChooseSlateport
+ case 2, DewfordTown_EventScript_CancelSailSelect
+ case MULTI_B_PRESSED, DewfordTown_EventScript_CancelSailSelect
end
-DewfordTown_EventScript_1E955A:: @ 81E955A
- msgbox DewfordTown_Text_1E9CE5, MSGBOX_DEFAULT
+DewfordTown_EventScript_ChoosePetalburg:: @ 81E955A
+ msgbox DewfordTown_Text_PetalburgWereSettingSail, MSGBOX_DEFAULT
closemessage
- goto DewfordTown_EventScript_1E9660
+ goto DewfordTown_EventScript_SailToPetalburg
release
end
-DewfordTown_EventScript_1E956A:: @ 81E956A
- msgbox DewfordTown_Text_1E9D3A, MSGBOX_DEFAULT
+DewfordTown_EventScript_ChooseSlateport:: @ 81E956A
+ msgbox DewfordTown_Text_SlateportWereSettingSail, MSGBOX_DEFAULT
closemessage
- goto DewfordTown_EventScript_1E96E7
+ goto DewfordTown_EventScript_SailToSlateport
release
end
-DewfordTown_EventScript_1E957A:: @ 81E957A
- msgbox DewfordTown_Text_1E9D8F, MSGBOX_DEFAULT
+DewfordTown_EventScript_CancelSailSelect:: @ 81E957A
+ msgbox DewfordTown_Text_JustTellMeWhenYouNeedToSetSail, MSGBOX_DEFAULT
closemessage
release
end
-DewfordTown_EventScript_1E9585:: @ 81E9585
- msgbox DewfordTown_Text_1E9B24, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq DewfordTown_EventScript_1E95A2
- msgbox DewfordTown_Text_1E9BD9, MSGBOX_DEFAULT
+DewfordTown_EventScript_ReturnToPetalburgPrompt:: @ 81E9585
+ msgbox DewfordTown_Text_SetSailBackToPetalburg, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq DewfordTown_EventScript_SailBackToPetalburg
+ msgbox DewfordTown_Text_GoDeliverIllBeWaiting, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E95A2:: @ 81E95A2
- msgbox DewfordTown_Text_1E9B7F, MSGBOX_DEFAULT
+DewfordTown_EventScript_SailBackToPetalburg:: @ 81E95A2
+ msgbox DewfordTown_Text_PetalburgWereSettingSail2, MSGBOX_DEFAULT
closemessage
- goto DewfordTown_EventScript_1E9660
+ goto DewfordTown_EventScript_SailToPetalburg
end
-DewfordTown_EventScript_1E95B1:: @ 81E95B1
- msgbox DewfordTown_Text_1E99A8, MSGBOX_NPC
+DewfordTown_EventScript_Woman:: @ 81E95B1
+ msgbox DewfordTown_Text_TinyIslandCommunity, MSGBOX_NPC
end
-DewfordTown_EventScript_1E95BA:: @ 81E95BA
- msgbox DewfordTown_Text_1E9A0F, MSGBOX_SIGN
+DewfordTown_EventScript_TownSign:: @ 81E95BA
+ msgbox DewfordTown_Text_TownSign, MSGBOX_SIGN
end
-DewfordTown_EventScript_1E95C3:: @ 81E95C3
- msgbox DewfordTown_Text_1E9A3D, MSGBOX_SIGN
+DewfordTown_EventScript_GymSign:: @ 81E95C3
+ msgbox DewfordTown_Text_GymSign, MSGBOX_SIGN
end
-DewfordTown_EventScript_1E95CC:: @ 81E95CC
- msgbox DewfordTown_Text_1E9A7F, MSGBOX_SIGN
+DewfordTown_EventScript_HallSign:: @ 81E95CC
+ msgbox DewfordTown_Text_HallSign, MSGBOX_SIGN
end
-DewfordTown_EventScript_1E95D5:: @ 81E95D5
+DewfordTown_EventScript_OldRodFisherman:: @ 81E95D5
lock
faceplayer
- goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_1E962A
- msgbox DewfordTown_Text_1E9DD1, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq DewfordTown_EventScript_1E95FF
- compare VAR_RESULT, 0
- goto_if_eq DewfordTown_EventScript_1E9620
+ goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_HowsFishing
+ msgbox DewfordTown_Text_GettingItchToFish, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq DewfordTown_EventScript_GiveOldRod
+ compare VAR_RESULT, NO
+ goto_if_eq DewfordTown_EventScript_NotGettingItchToFish
end
-DewfordTown_EventScript_1E95FF:: @ 81E95FF
- msgbox DewfordTown_Text_1E9E14, MSGBOX_DEFAULT
- giveitem_std ITEM_OLD_ROD
+DewfordTown_EventScript_GiveOldRod:: @ 81E95FF
+ msgbox DewfordTown_Text_GiveYouOneOfMyRods, MSGBOX_DEFAULT
+ giveitem ITEM_OLD_ROD
setflag FLAG_RECEIVED_OLD_ROD
- msgbox DewfordTown_Text_1E9E65, MSGBOX_DEFAULT
+ msgbox DewfordTown_Text_ThrowInFishingAdvice, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E9620:: @ 81E9620
- msgbox DewfordTown_Text_1E9F92, MSGBOX_DEFAULT
+DewfordTown_EventScript_NotGettingItchToFish:: @ 81E9620
+ msgbox DewfordTown_Text_ThatsTooBadThen, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E962A:: @ 81E962A
- message DewfordTown_Text_1E9FB8
+DewfordTown_EventScript_HowsFishing:: @ 81E962A
+ message DewfordTown_Text_HowsYourFishing
waitmessage
- multichoice 20, 8, 50, 1
+ multichoice 20, 8, MULTI_HOWS_FISHING, 1
compare VAR_RESULT, 0
- goto_if_eq DewfordTown_EventScript_1E964C
+ goto_if_eq DewfordTown_EventScript_FishingExcellent
compare VAR_RESULT, 1
- goto_if_eq DewfordTown_EventScript_1E9656
+ goto_if_eq DewfordTown_EventScript_FishingNotSoGood
end
-DewfordTown_EventScript_1E964C:: @ 81E964C
- msgbox DewfordTown_Text_1E9FD0, MSGBOX_DEFAULT
+DewfordTown_EventScript_FishingExcellent:: @ 81E964C
+ msgbox DewfordTown_Text_GreatHaulInSomeBigOnes, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E9656:: @ 81E9656
- msgbox DewfordTown_Text_1EA004, MSGBOX_DEFAULT
+DewfordTown_EventScript_FishingNotSoGood:: @ 81E9656
+ msgbox DewfordTown_Text_FishingAdvice, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E9660:: @ 81E9660
- call DewfordTown_EventScript_271E95
+DewfordTown_EventScript_SailToPetalburg:: @ 81E9660
+ call EventScript_BackupMrBrineyLocation
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 0
- applymovement 2, DewfordTown_Movement_1E991D
+ applymovement 2, DewfordTown_Movement_BrineyBoardBoat
waitmovement 0
removeobject 2
- applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_PlayerBoardBoat
waitmovement 0
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
- call DewfordTown_EventScript_2720A0
- applymovement 4, DewfordTown_Movement_1E97A2
- applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E97A2
+ call Common_EventScript_PlayBrineysBoatMusic
+ applymovement 4, DewfordTown_Movement_SailToPetalburg
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_SailToPetalburg
waitmovement 0
showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
- call DewfordTown_EventScript_2720A8
- applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9914
+ call Common_EventScript_StopBrineysBoatMusic
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_ExitBoatPetalburg
waitmovement 0
showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
@@ -146,36 +146,36 @@ DewfordTown_EventScript_1E9660:: @ 81E9660
release
end
-DewfordTown_EventScript_1E96E7:: @ 81E96E7
- call DewfordTown_EventScript_271E95
+DewfordTown_EventScript_SailToSlateport:: @ 81E96E7
+ call EventScript_BackupMrBrineyLocation
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 1
- applymovement 2, DewfordTown_Movement_1E991D
+ applymovement 2, DewfordTown_Movement_BrineyBoardBoat
waitmovement 0
removeobject 2
- applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_PlayerBoardBoat
waitmovement 0
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
- call DewfordTown_EventScript_2720A0
- applymovement 4, DewfordTown_Movement_1E9865
- applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9865
+ call Common_EventScript_PlayBrineysBoatMusic
+ applymovement 4, DewfordTown_Movement_SailToSlateport
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_SailToSlateport
waitmovement 0
- call DewfordTown_EventScript_2720A8
+ call Common_EventScript_StopBrineysBoatMusic
showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109
- applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9918
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_ExitBoatSlateport
waitmovement 0
setobjectxyperm 2, 21, 26
addobject 2
setobjectpriority 2, MAP_ROUTE109, 0
- applymovement 2, DewfordTown_Movement_1E991F
+ applymovement 2, DewfordTown_Movement_BrineyExitBoat
waitmovement 0
- clearflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY
addobject 1
clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
hideobjectat 4, MAP_DEWFORD_TOWN
- call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_1E9790
- call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_1E9799
+ call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_LandedSlateportDeliverGoods
+ call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_LandedSlateport
closemessage
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
@@ -184,15 +184,15 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7
release
end
-DewfordTown_EventScript_1E9790:: @ 81E9790
- msgbox DewfordTown_Text_1EEC1D, MSGBOX_DEFAULT
+DewfordTown_EventScript_LandedSlateportDeliverGoods:: @ 81E9790
+ msgbox DewfordTown_Text_BrineyLandedInSlateportDeliverGoods, MSGBOX_DEFAULT
return
-DewfordTown_EventScript_1E9799:: @ 81E9799
- msgbox DewfordTown_Text_1EEDA7, MSGBOX_DEFAULT
+DewfordTown_EventScript_LandedSlateport:: @ 81E9799
+ msgbox DewfordTown_Text_BrineyLandedInSlateport, MSGBOX_DEFAULT
return
-DewfordTown_Movement_1E97A2: @ 81E97A2
+DewfordTown_Movement_SailToPetalburg: @ 81E97A2
walk_up
walk_up
walk_fast_up
@@ -389,7 +389,7 @@ DewfordTown_Movement_1E97A2: @ 81E97A2
walk_up
step_end
-DewfordTown_Movement_1E9865: @ 81E9865
+DewfordTown_Movement_SailToSlateport: @ 81E9865
walk_right
walk_fast_right
walk_fast_right
@@ -563,154 +563,153 @@ DewfordTown_Movement_1E9865: @ 81E9865
walk_fast_up
step_end
-DewfordTown_Movement_1E9911: @ 81E9911
+DewfordTown_Movement_PlayerBoardBoat: @ 81E9911
walk_right
walk_up
step_end
-DewfordTown_Movement_1E9914: @ 81E9914
+DewfordTown_Movement_ExitBoatPetalburg: @ 81E9914
walk_up
walk_up
walk_up
step_end
-DewfordTown_Movement_1E9918: @ 81E9918
+DewfordTown_Movement_ExitBoatSlateport: @ 81E9918
walk_up
walk_up
walk_up
walk_in_place_fastest_down
step_end
-DewfordTown_Movement_1E991D: @ 81E991D
+DewfordTown_Movement_BrineyBoardBoat: @ 81E991D
walk_up
step_end
-DewfordTown_Movement_1E991F: @ 81E991F
+DewfordTown_Movement_BrineyExitBoat: @ 81E991F
walk_up
walk_up
step_end
-DewfordTown_EventScript_1E9922:: @ 81E9922
+DewfordTown_EventScript_TrendyPhraseBoy:: @ 81E9922
lock
faceplayer
- call DewfordTown_EventScript_271E8B
- msgbox DewfordTown_Text_1EA136, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq DewfordTown_EventScript_1E9948
- compare VAR_RESULT, 0
- goto_if_eq DewfordTown_EventScript_1E9952
+ call Common_EventScript_BufferTrendyPhrase
+ msgbox DewfordTown_Text_XIsTheBiggestHappeningThingRight, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq DewfordTown_EventScript_ConfirmTrendyPhrase
+ compare VAR_RESULT, NO
+ goto_if_eq DewfordTown_EventScript_RejectTrendyPhrase
end
-DewfordTown_EventScript_1E9948:: @ 81E9948
- msgbox DewfordTown_Text_1EA491, MSGBOX_DEFAULT
+DewfordTown_EventScript_ConfirmTrendyPhrase:: @ 81E9948
+ msgbox DewfordTown_Text_YeahDefinitionOfInRightNow, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E9952:: @ 81E9952
- msgbox DewfordTown_Text_1EA242, MSGBOX_DEFAULT
+DewfordTown_EventScript_RejectTrendyPhrase:: @ 81E9952
+ msgbox DewfordTown_Text_TellMeWhatsNewAndIn, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_TRENDY_PHRASE
call Common_ShowEasyChatScreen
lock
faceplayer
compare VAR_RESULT, 1
- goto_if_eq DewfordTown_EventScript_1E997D
+ goto_if_eq DewfordTown_EventScript_GiveNewTrendyPhrase
compare VAR_RESULT, 0
- goto_if_eq DewfordTown_EventScript_1E9994
+ goto_if_eq DewfordTown_EventScript_CancelNewTrendyPhrase
end
-DewfordTown_EventScript_1E997D:: @ 81E997D
- incrementgamestat 2
+DewfordTown_EventScript_GiveNewTrendyPhrase:: @ 81E997D
+ incrementgamestat GAME_STAT_STARTED_TRENDS
compare VAR_0x8004, 0
- goto_if_eq DewfordTown_EventScript_1E999E
- msgbox DewfordTown_Text_1EA2AA, MSGBOX_DEFAULT
+ goto_if_eq DewfordTown_EventScript_PhraseNotTrendyEnough
+ msgbox DewfordTown_Text_OfCourseIKnowAboutThat, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E9994:: @ 81E9994
- msgbox DewfordTown_Text_1EA443, MSGBOX_DEFAULT
+DewfordTown_EventScript_CancelNewTrendyPhrase:: @ 81E9994
+ msgbox DewfordTown_Text_HearOfAnyTrendsComeShareWithMe, MSGBOX_DEFAULT
release
end
-DewfordTown_EventScript_1E999E:: @ 81E999E
- msgbox DewfordTown_Text_1EA3FE, MSGBOX_DEFAULT
+DewfordTown_EventScript_PhraseNotTrendyEnough:: @ 81E999E
+ msgbox DewfordTown_Text_XHuhIThinkYIsCool, MSGBOX_DEFAULT
release
end
-DewfordTown_Text_1E99A8: @ 81E99A8
+DewfordTown_Text_TinyIslandCommunity: @ 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
+DewfordTown_Text_TownSign: @ 81E9A0F
.string "DEWFORD TOWN\n"
.string "“A tiny island in the blue sea.”$"
-DewfordTown_Text_1E9A3D: @ 81E9A3D
+DewfordTown_Text_GymSign: @ 81E9A3D
.string "DEWFORD TOWN POKéMON GYM\n"
.string "LEADER: BRAWLY\l"
.string "“A big wave in fighting!”$"
-DewfordTown_Text_1E9A7F: @ 81E9A7F
+DewfordTown_Text_HallSign: @ 81E9A7F
.string "DEWFORD HALL\n"
.string "“Everyone's information exchange!”$"
-Route104_Text_1E9AAF: @ 81E9AAF
+Route104_Text_LandedInDewfordDeliverLetter: @ 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
+DewfordTown_Text_SetSailBackToPetalburg: @ 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
+DewfordTown_Text_PetalburgWereSettingSail2: @ 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
+DewfordTown_Text_GoDeliverIllBeWaiting: @ 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
+DewfordTown_Text_BrineyLandedInDewford: @ 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
+DewfordTown_Text_WhereAreWeBound: @ 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
+DewfordTown_Text_PetalburgWereSettingSail: @ 81E9CE5
.string "MR. BRINEY: PETALBURG, is it?\p"
.string "Anchors aweigh!\n"
.string "PEEKO, we're setting sail, my darling!$"
-DewfordTown_Text_1E9D3A: @ 81E9D3A
+DewfordTown_Text_SlateportWereSettingSail: @ 81E9D3A
.string "MR. BRINEY: SLATEPORT, is it?\p"
.string "Anchors aweigh!\n"
.string "PEEKO, we're setting sail, my darling!$"
-DewfordTown_Text_1E9D8F: @ 81E9D8F
+DewfordTown_Text_JustTellMeWhenYouNeedToSetSail: @ 81E9D8F
.string "MR. BRINEY: You just tell me whenever\n"
.string "you need to set sail again!$"
-DewfordTown_Text_1E9DD1: @ 81E9DD1
+DewfordTown_Text_GettingItchToFish: @ 81E9DD1
.string "This is a renowned fishing spot.\n"
.string "Are you getting the itch to fish?$"
-DewfordTown_Text_1E9E14: @ 81E9E14
+DewfordTown_Text_GiveYouOneOfMyRods: @ 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
+DewfordTown_Text_ThrowInFishingAdvice: @ 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"
@@ -722,19 +721,19 @@ DewfordTown_Text_1E9E65: @ 81E9E65
.string "you need to time the pulls on your ROD\l"
.string "to haul them in.$"
-DewfordTown_Text_1E9F92: @ 81E9F92
+DewfordTown_Text_ThatsTooBadThen: @ 81E9F92
.string "Oh, is that so?\n"
.string "That's too bad, then.$"
-DewfordTown_Text_1E9FB8: @ 81E9FB8
+DewfordTown_Text_HowsYourFishing: @ 81E9FB8
.string "Yo!\n"
.string "How's your fishing?$"
-DewfordTown_Text_1E9FD0: @ 81E9FD0
+DewfordTown_Text_GreatHaulInSomeBigOnes: @ 81E9FD0
.string "Is that right! That's great!\n"
.string "Haul in some big ones!$"
-DewfordTown_Text_1EA004: @ 81EA004
+DewfordTown_Text_FishingAdvice: @ 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"
@@ -746,7 +745,7 @@ DewfordTown_Text_1EA004: @ 81EA004
.string "you need to time the pulls on your ROD\l"
.string "to haul them in.$"
-DewfordTown_Text_1EA136: @ 81EA136
+DewfordTown_Text_XIsTheBiggestHappeningThingRight: @ 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"
@@ -760,13 +759,13 @@ DewfordTown_Text_1EA136: @ 81EA136
.string "“{STR_VAR_1}”\l"
.string "is the biggest happening thing, right?$"
-DewfordTown_Text_1EA242: @ 81EA242
+DewfordTown_Text_TellMeWhatsNewAndIn: @ 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
+DewfordTown_Text_OfCourseIKnowAboutThat: @ 81EA2AA
.string "Hunh?\n"
.string "“{STR_VAR_2}”?\p"
.string "… …\p"
@@ -784,18 +783,18 @@ DewfordTown_Text_1EA2AA: @ 81EA2AA
.string "Now, “{STR_VAR_2}” is\n"
.string "what's vital and in tune with the times!$"
-DewfordTown_Text_1EA3FE: @ 81EA3FE
+DewfordTown_Text_XHuhIThinkYIsCool: @ 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
+DewfordTown_Text_HearOfAnyTrendsComeShareWithMe: @ 81EA443
.string "Well, if you hear of any happening new\n"
.string "trends, come share them with me, okay?$"
-DewfordTown_Text_1EA491: @ 81EA491
+DewfordTown_Text_YeahDefinitionOfInRightNow: @ 81EA491
.string "Yeah, absolutely right!\p"
.string "“{STR_VAR_1}” is the\n"
.string "definition of “in” right now.$"
diff --git a/data/maps/DewfordTown_Gym/map.json b/data/maps/DewfordTown_Gym/map.json
index cf87f878a..35ba61064 100644
--- a/data/maps/DewfordTown_Gym/map.json
+++ b/data/maps/DewfordTown_Gym/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Gym_EventScript_1FC7C2",
+ "script": "DewfordTown_Gym_EventScript_Brawly",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "DewfordTown_Gym_EventScript_1FC8B7",
+ "script": "DewfordTown_Gym_EventScript_Takao",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "DewfordTown_Gym_EventScript_1FC8D9",
+ "script": "DewfordTown_Gym_EventScript_Jocelyn",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "DewfordTown_Gym_EventScript_1FC8FB",
+ "script": "DewfordTown_Gym_EventScript_Laura",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Gym_EventScript_1FC983",
+ "script": "DewfordTown_Gym_EventScript_GymGuide",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "DewfordTown_Gym_EventScript_1FC93F",
+ "script": "DewfordTown_Gym_EventScript_Cristian",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "DewfordTown_Gym_EventScript_1FC961",
+ "script": "DewfordTown_Gym_EventScript_Lilith",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "DewfordTown_Gym_EventScript_1FC91D",
+ "script": "DewfordTown_Gym_EventScript_Brenden",
"flag": "0"
}
],
@@ -143,7 +143,7 @@
"y": 23,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "DewfordTown_Gym_EventScript_1FC9A2"
+ "script": "DewfordTown_Gym_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -151,7 +151,7 @@
"y": 23,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "DewfordTown_Gym_EventScript_1FC9B2"
+ "script": "DewfordTown_Gym_EventScript_RightGymStatue"
},
{
"type": "sign",
@@ -159,7 +159,7 @@
"y": 24,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "DewfordTown_Gym_EventScript_1FC9A2"
+ "script": "DewfordTown_Gym_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -167,7 +167,7 @@
"y": 24,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "DewfordTown_Gym_EventScript_1FC9B2"
+ "script": "DewfordTown_Gym_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc
index 5601c7477..98acc97dc 100644
--- a/data/maps/DewfordTown_Gym/scripts.inc
+++ b/data/maps/DewfordTown_Gym/scripts.inc
@@ -3,186 +3,174 @@ DewfordTown_Gym_MapScripts:: @ 81FC63C
.byte 0
DewfordTown_Gym_OnTransition: @ 81FC642
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
end
-DewfordTown_Gym_EventScript_1FC648:: @ 81FC648
- checktrainerflag TRAINER_BRAWLY_1
- goto_if_eq DewfordTown_Gym_EventScript_1FC6A2
- call DewfordTown_Gym_EventScript_1FC768
+DewfordTown_Gym_EventScript_SetFlashRadius:: @ 81FC648
+ goto_if_defeated TRAINER_BRAWLY_1, DewfordTown_Gym_EventScript_SetLightsOn
+ call DewfordTown_Gym_EventScript_CountTrainersDefeated
copyvar VAR_0x8001, VAR_0x8000
compare VAR_0x8000, 0
- goto_if_eq DewfordTown_Gym_EventScript_1FC6BE
+ goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius7
compare VAR_0x8000, 1
- goto_if_eq DewfordTown_Gym_EventScript_1FC6BA
+ goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius6
compare VAR_0x8000, 2
- goto_if_eq DewfordTown_Gym_EventScript_1FC6B6
+ goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius5
compare VAR_0x8000, 3
- goto_if_eq DewfordTown_Gym_EventScript_1FC6B2
+ goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius4
compare VAR_0x8000, 4
- goto_if_eq DewfordTown_Gym_EventScript_1FC6AE
+ goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius3
compare VAR_0x8000, 5
- goto_if_eq DewfordTown_Gym_EventScript_1FC6AA
- goto DewfordTown_Gym_EventScript_1FC6A6
+ goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius2
+ goto DewfordTown_Gym_EventScript_SetFlashRadius1
-DewfordTown_Gym_EventScript_1FC6A2:: @ 81FC6A2
+DewfordTown_Gym_EventScript_SetLightsOn:: @ 81FC6A2
setflashradius 0
return
-DewfordTown_Gym_EventScript_1FC6A6:: @ 81FC6A6
+DewfordTown_Gym_EventScript_SetFlashRadius1:: @ 81FC6A6
setflashradius 1
return
-DewfordTown_Gym_EventScript_1FC6AA:: @ 81FC6AA
+DewfordTown_Gym_EventScript_SetFlashRadius2:: @ 81FC6AA
setflashradius 2
return
-DewfordTown_Gym_EventScript_1FC6AE:: @ 81FC6AE
+DewfordTown_Gym_EventScript_SetFlashRadius3:: @ 81FC6AE
setflashradius 3
return
-DewfordTown_Gym_EventScript_1FC6B2:: @ 81FC6B2
+DewfordTown_Gym_EventScript_SetFlashRadius4:: @ 81FC6B2
setflashradius 4
return
-DewfordTown_Gym_EventScript_1FC6B6:: @ 81FC6B6
+DewfordTown_Gym_EventScript_SetFlashRadius5:: @ 81FC6B6
setflashradius 5
return
-DewfordTown_Gym_EventScript_1FC6BA:: @ 81FC6BA
+DewfordTown_Gym_EventScript_SetFlashRadius6:: @ 81FC6BA
setflashradius 6
return
-DewfordTown_Gym_EventScript_1FC6BE:: @ 81FC6BE
+DewfordTown_Gym_EventScript_SetFlashRadius7:: @ 81FC6BE
setflashradius 7
return
-DewfordTown_Gym_EventScript_1FC6C2:: @ 81FC6C2
- call DewfordTown_Gym_EventScript_1FC768
+DewfordTown_Gym_EventScript_BrightenRoom:: @ 81FC6C2
+ call DewfordTown_Gym_EventScript_CountTrainersDefeated
nop1
compare VAR_0x8000, VAR_0x8001
- goto_if_eq DewfordTown_Gym_EventScript_1FC71A
+ goto_if_eq DewfordTown_Gym_EventScript_NoLightChange
copyvar VAR_0x8001, VAR_0x8000
compare VAR_0x8000, 1
- goto_if_eq DewfordTown_Gym_EventScript_1FC71B
+ goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash1Trainer
compare VAR_0x8000, 2
- goto_if_eq DewfordTown_Gym_EventScript_1FC726
+ goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash2Trainers
compare VAR_0x8000, 3
- goto_if_eq DewfordTown_Gym_EventScript_1FC731
+ goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash3Trainers
compare VAR_0x8000, 4
- goto_if_eq DewfordTown_Gym_EventScript_1FC73C
+ goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash4Trainers
compare VAR_0x8000, 5
- goto_if_eq DewfordTown_Gym_EventScript_1FC747
+ goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash5Trainers
compare VAR_0x8000, 6
- goto_if_eq DewfordTown_Gym_EventScript_1FC752
+ goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash6Trainers
-DewfordTown_Gym_EventScript_1FC71A:: @ 81FC71A
+DewfordTown_Gym_EventScript_NoLightChange:: @ 81FC71A
return
-DewfordTown_Gym_EventScript_1FC71B:: @ 81FC71B
+@ NOTE: A little confusingly, a larger animateflash param value is a smaller flash radius
+DewfordTown_Gym_EventScript_AnimateFlash1Trainer:: @ 81FC71B
playse SE_MU_PACHI
animateflash 6
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
return
-DewfordTown_Gym_EventScript_1FC726:: @ 81FC726
+DewfordTown_Gym_EventScript_AnimateFlash2Trainers:: @ 81FC726
playse SE_MU_PACHI
animateflash 5
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
return
-DewfordTown_Gym_EventScript_1FC731:: @ 81FC731
+DewfordTown_Gym_EventScript_AnimateFlash3Trainers:: @ 81FC731
playse SE_MU_PACHI
animateflash 4
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
return
-DewfordTown_Gym_EventScript_1FC73C:: @ 81FC73C
+DewfordTown_Gym_EventScript_AnimateFlash4Trainers:: @ 81FC73C
playse SE_MU_PACHI
animateflash 3
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
return
-DewfordTown_Gym_EventScript_1FC747:: @ 81FC747
+DewfordTown_Gym_EventScript_AnimateFlash5Trainers:: @ 81FC747
playse SE_MU_PACHI
animateflash 2
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
return
-DewfordTown_Gym_EventScript_1FC752:: @ 81FC752
+DewfordTown_Gym_EventScript_AnimateFlash6Trainers:: @ 81FC752
playse SE_MU_PACHI
animateflash 1
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
return
-DewfordTown_Gym_EventScript_1FC75D:: @ 81FC75D
+DewfordTown_Gym_EventScript_AnimateFlashFullBrightness:: @ 81FC75D
playse SE_MU_PACHI
animateflash 0
- call DewfordTown_Gym_EventScript_1FC648
+ call DewfordTown_Gym_EventScript_SetFlashRadius
return
-DewfordTown_Gym_EventScript_1FC768:: @ 81FC768
+DewfordTown_Gym_EventScript_CountTrainersDefeated:: @ 81FC768
setvar VAR_0x8000, 0
- checktrainerflag TRAINER_TAKAO
- goto_if_lt DewfordTown_Gym_EventScript_1FC77B
+ goto_if_not_defeated TRAINER_TAKAO, DewfordTown_Gym_EventScript_CheckJocelyn
addvar VAR_0x8000, 1
-
-DewfordTown_Gym_EventScript_1FC77B:: @ 81FC77B
- checktrainerflag TRAINER_JOCELYN
- goto_if_lt DewfordTown_Gym_EventScript_1FC789
+DewfordTown_Gym_EventScript_CheckJocelyn:: @ 81FC77B
+ goto_if_not_defeated TRAINER_JOCELYN, DewfordTown_Gym_EventScript_CheckLaura
addvar VAR_0x8000, 1
-
-DewfordTown_Gym_EventScript_1FC789:: @ 81FC789
- checktrainerflag TRAINER_LAURA
- goto_if_lt DewfordTown_Gym_EventScript_1FC797
+DewfordTown_Gym_EventScript_CheckLaura:: @ 81FC789
+ goto_if_not_defeated TRAINER_LAURA, DewfordTown_Gym_EventScript_CheckBrenden
addvar VAR_0x8000, 1
-
-DewfordTown_Gym_EventScript_1FC797:: @ 81FC797
- checktrainerflag TRAINER_BRENDEN
- goto_if_lt DewfordTown_Gym_EventScript_1FC7A5
+DewfordTown_Gym_EventScript_CheckBrenden:: @ 81FC797
+ goto_if_not_defeated TRAINER_BRENDEN, DewfordTown_Gym_EventScript_CheckCristian
addvar VAR_0x8000, 1
-
-DewfordTown_Gym_EventScript_1FC7A5:: @ 81FC7A5
- checktrainerflag TRAINER_CRISTIAN
- goto_if_lt DewfordTown_Gym_EventScript_1FC7B3
+DewfordTown_Gym_EventScript_CheckCristian:: @ 81FC7A5
+ goto_if_not_defeated TRAINER_CRISTIAN, DewfordTown_Gym_EventScript_CheckLilith
addvar VAR_0x8000, 1
-
-DewfordTown_Gym_EventScript_1FC7B3:: @ 81FC7B3
- checktrainerflag TRAINER_LILITH
- goto_if_lt DewfordTown_Gym_EventScript_1FC7C1
+DewfordTown_Gym_EventScript_CheckLilith:: @ 81FC7B3
+ goto_if_not_defeated TRAINER_LILITH, DewfordTown_Gym_EventScript_StopCountingTrainers
addvar VAR_0x8000, 1
-
-DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1
+DewfordTown_Gym_EventScript_StopCountingTrainers:: @ 81FC7C1
return
-DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2
- trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7, NO_MUSIC
+DewfordTown_Gym_EventScript_Brawly:: @ 81FC7C2
+ trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyIntro, DewfordTown_Gym_Text_BrawlyDefeat, DewfordTown_Gym_EventScript_BrawlyDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq DewfordTown_Gym_EventScript_1FC89C
- goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_1FC878
- msgbox DewfordTown_Gym_Text_1FD20D, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq DewfordTown_Gym_EventScript_BrawlyRematch
+ goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_GiveBulkUp2
+ msgbox DewfordTown_Gym_Text_BrawlyPostBattle, MSGBOX_DEFAULT
release
end
-DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7
- call DewfordTown_Gym_EventScript_1FC75D
- message DewfordTown_Gym_Text_1FD07D
+DewfordTown_Gym_EventScript_BrawlyDefeated:: @ 81FC7F7
+ call DewfordTown_Gym_EventScript_AnimateFlashFullBrightness
+ message DewfordTown_Gym_Text_ReceivedKnuckleBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox DewfordTown_Gym_Text_1FD0A8, MSGBOX_DEFAULT
+ msgbox DewfordTown_Gym_Text_KnuckleBadgeInfoTakeThis, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_DEWFORD_GYM
setflag FLAG_BADGE02_GET
addvar VAR_PETALBURG_GYM_STATE, 1
compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq DewfordTown_Gym_EventScript_271E84
+ call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
setvar VAR_0x8008, 2
- call DewfordTown_Gym_EventScript_271F43
- call DewfordTown_Gym_EventScript_1FC855
+ call Common_EventScript_SetGymTrainers
+ call DewfordTown_Gym_EventScript_GiveBulkUp
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox DewfordTown_Gym_Text_1FD1E0, MSGBOX_DEFAULT
+ msgbox DewfordTown_Gym_Text_RegisteredBrawly, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -192,124 +180,124 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7
release
end
-DewfordTown_Gym_EventScript_1FC855:: @ 81FC855
- giveitem_std ITEM_TM08
+DewfordTown_Gym_EventScript_GiveBulkUp:: @ 81FC855
+ giveitem ITEM_TM08
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_BagIsFull
- msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT
+ msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM08
return
-DewfordTown_Gym_EventScript_1FC878:: @ 81FC878
- giveitem_std ITEM_TM08
+DewfordTown_Gym_EventScript_GiveBulkUp2: @ 81FC878
+ giveitem ITEM_TM08
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT
+ msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM08
release
end
-DewfordTown_Gym_EventScript_1FC89C:: @ 81FC89C
- trainerbattle_rematch_double TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FD2C4, DewfordTown_Gym_Text_1FD367, DewfordTown_Gym_Text_1FD3DE
- msgbox DewfordTown_Gym_Text_1FD37B, MSGBOX_AUTOCLOSE
+DewfordTown_Gym_EventScript_BrawlyRematch:: @ 81FC89C
+ trainerbattle_rematch_double TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyPreRematch, DewfordTown_Gym_Text_BrawlyRematchDefeat, DewfordTown_Gym_Text_BrawlyRematchNeedTwoMons
+ msgbox DewfordTown_Gym_Text_BrawlyPostRematch, MSGBOX_AUTOCLOSE
end
-DewfordTown_Gym_EventScript_1FC8B7:: @ 81FC8B7
- trainerbattle_single TRAINER_TAKAO, DewfordTown_Gym_Text_1FCB9F, DewfordTown_Gym_Text_1FCBB8, DewfordTown_Gym_EventScript_1FC8D2
- msgbox DewfordTown_Gym_Text_1FCBCA, MSGBOX_AUTOCLOSE
+DewfordTown_Gym_EventScript_Takao:: @ 81FC8B7
+ trainerbattle_single TRAINER_TAKAO, DewfordTown_Gym_Text_TakaoIntro, DewfordTown_Gym_Text_TakaoDefeat, DewfordTown_Gym_EventScript_TakaoBrightenRoom
+ msgbox DewfordTown_Gym_Text_TakaoPostBattle, MSGBOX_AUTOCLOSE
end
-DewfordTown_Gym_EventScript_1FC8D2:: @ 81FC8D2
- call DewfordTown_Gym_EventScript_1FC6C2
+DewfordTown_Gym_EventScript_TakaoBrightenRoom:: @ 81FC8D2
+ call DewfordTown_Gym_EventScript_BrightenRoom
release
end
-DewfordTown_Gym_EventScript_1FC8D9:: @ 81FC8D9
- trainerbattle_single TRAINER_JOCELYN, DewfordTown_Gym_Text_1FCC0A, DewfordTown_Gym_Text_1FCC45, DewfordTown_Gym_EventScript_1FC8F4
- msgbox DewfordTown_Gym_Text_1FCC6B, MSGBOX_AUTOCLOSE
+DewfordTown_Gym_EventScript_Jocelyn:: @ 81FC8D9
+ trainerbattle_single TRAINER_JOCELYN, DewfordTown_Gym_Text_JocelynIntro, DewfordTown_Gym_Text_JocelynDefeat, DewfordTown_Gym_EventScript_JocelynBrightenRoom
+ msgbox DewfordTown_Gym_Text_JocelynPostBattle, MSGBOX_AUTOCLOSE
end
-DewfordTown_Gym_EventScript_1FC8F4:: @ 81FC8F4
- call DewfordTown_Gym_EventScript_1FC6C2
+DewfordTown_Gym_EventScript_JocelynBrightenRoom:: @ 81FC8F4
+ call DewfordTown_Gym_EventScript_BrightenRoom
release
end
-DewfordTown_Gym_EventScript_1FC8FB:: @ 81FC8FB
- trainerbattle_single TRAINER_LAURA, DewfordTown_Gym_Text_1FCD01, DewfordTown_Gym_Text_1FCD3C, DewfordTown_Gym_EventScript_1FC916
- msgbox DewfordTown_Gym_Text_1FCD4F, MSGBOX_AUTOCLOSE
+DewfordTown_Gym_EventScript_Laura:: @ 81FC8FB
+ trainerbattle_single TRAINER_LAURA, DewfordTown_Gym_Text_LauraIntro, DewfordTown_Gym_Text_LauraDefeat, DewfordTown_Gym_EventScript_LauraBrightenRoom
+ msgbox DewfordTown_Gym_Text_LauraPostBattle, MSGBOX_AUTOCLOSE
end
-DewfordTown_Gym_EventScript_1FC916:: @ 81FC916
- call DewfordTown_Gym_EventScript_1FC6C2
+DewfordTown_Gym_EventScript_LauraBrightenRoom:: @ 81FC916
+ call DewfordTown_Gym_EventScript_BrightenRoom
release
end
-DewfordTown_Gym_EventScript_1FC91D:: @ 81FC91D
- trainerbattle_single TRAINER_BRENDEN, DewfordTown_Gym_Text_1FCE48, DewfordTown_Gym_Text_1FCE75, DewfordTown_Gym_EventScript_1FC938
- msgbox DewfordTown_Gym_Text_1FCEAB, MSGBOX_AUTOCLOSE
+DewfordTown_Gym_EventScript_Brenden:: @ 81FC91D
+ trainerbattle_single TRAINER_BRENDEN, DewfordTown_Gym_Text_BrendenIntro, DewfordTown_Gym_Text_BrendenDefeat, DewfordTown_Gym_EventScript_BrendenBrightenRoom
+ msgbox DewfordTown_Gym_Text_BrendenPostBattle, MSGBOX_AUTOCLOSE
end
-DewfordTown_Gym_EventScript_1FC938:: @ 81FC938
- call DewfordTown_Gym_EventScript_1FC6C2
+DewfordTown_Gym_EventScript_BrendenBrightenRoom:: @ 81FC938
+ call DewfordTown_Gym_EventScript_BrightenRoom
release
end
-DewfordTown_Gym_EventScript_1FC93F:: @ 81FC93F
- trainerbattle_single TRAINER_CRISTIAN, DewfordTown_Gym_Text_1FCEDC, DewfordTown_Gym_Text_1FCF0A, DewfordTown_Gym_EventScript_1FC95A
- msgbox DewfordTown_Gym_Text_1FCF26, MSGBOX_AUTOCLOSE
+DewfordTown_Gym_EventScript_Cristian:: @ 81FC93F
+ trainerbattle_single TRAINER_CRISTIAN, DewfordTown_Gym_Text_CristianIntro, DewfordTown_Gym_Text_CristianDefeat, DewfordTown_Gym_EventScript_CristianBrightenRoom
+ msgbox DewfordTown_Gym_Text_CristianPostBattle, MSGBOX_AUTOCLOSE
end
-DewfordTown_Gym_EventScript_1FC95A:: @ 81FC95A
- call DewfordTown_Gym_EventScript_1FC6C2
+DewfordTown_Gym_EventScript_CristianBrightenRoom:: @ 81FC95A
+ call DewfordTown_Gym_EventScript_BrightenRoom
release
end
-DewfordTown_Gym_EventScript_1FC961:: @ 81FC961
- trainerbattle_single TRAINER_LILITH, DewfordTown_Gym_Text_1FCDB8, DewfordTown_Gym_Text_1FCDE5, DewfordTown_Gym_EventScript_1FC97C
- msgbox DewfordTown_Gym_Text_1FCE08, MSGBOX_AUTOCLOSE
+DewfordTown_Gym_EventScript_Lilith:: @ 81FC961
+ trainerbattle_single TRAINER_LILITH, DewfordTown_Gym_Text_LilithIntro, DewfordTown_Gym_Text_LilithDefeat, DewfordTown_Gym_EventScript_LilithBrightenRoom
+ msgbox DewfordTown_Gym_Text_LilithPostBattle, MSGBOX_AUTOCLOSE
end
-DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C
- call DewfordTown_Gym_EventScript_1FC6C2
+DewfordTown_Gym_EventScript_LilithBrightenRoom:: @ 81FC97C
+ call DewfordTown_Gym_EventScript_BrightenRoom
release
end
-DewfordTown_Gym_EventScript_1FC983:: @ 81FC983
+DewfordTown_Gym_EventScript_GymGuide:: @ 81FC983
lock
faceplayer
- goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_1FC998
- msgbox DewfordTown_Gym_Text_1FC9D6, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_DEWFORD_GYM, DewfordTown_Gym_EventScript_GymGuidePostVictory
+ msgbox DewfordTown_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-DewfordTown_Gym_EventScript_1FC998:: @ 81FC998
- msgbox DewfordTown_Gym_Text_1FCB5C, MSGBOX_DEFAULT
+DewfordTown_Gym_EventScript_GymGuidePostVictory:: @ 81FC998
+ msgbox DewfordTown_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-DewfordTown_Gym_EventScript_1FC9A2:: @ 81FC9A2
+DewfordTown_Gym_EventScript_LeftGymStatue:: @ 81FC9A2
lockall
- goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2
- goto DewfordTown_Gym_EventScript_1FC9CC
+ goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_GymStatueCertified
+ goto DewfordTown_Gym_EventScript_GymStatue
end
-DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2
+DewfordTown_Gym_EventScript_RightGymStatue:: @ 81FC9B2
lockall
- goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2
- goto DewfordTown_Gym_EventScript_1FC9CC
+ goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_GymStatueCertified
+ goto DewfordTown_Gym_EventScript_GymStatue
end
-DewfordTown_Gym_EventScript_1FC9C2:: @ 81FC9C2
- msgbox DewfordTown_Gym_Text_1FD28B, MSGBOX_DEFAULT
+DewfordTown_Gym_EventScript_GymStatueCertified:: @ 81FC9C2
+ msgbox DewfordTown_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Gym_EventScript_1FC9CC:: @ 81FC9CC
- msgbox DewfordTown_Gym_Text_1FD272, MSGBOX_DEFAULT
+DewfordTown_Gym_EventScript_GymStatue:: @ 81FC9CC
+ msgbox DewfordTown_Gym_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6
+DewfordTown_Gym_Text_GymGuideAdvice: @ 81FC9D6
.string "Hey, how's it going, CHAMPION-\n"
.string "bound {PLAYER}?\p"
.string "DEWFORD's GYM LEADER BRAWLY commands\n"
@@ -325,88 +313,88 @@ DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6
.string "the TRAINERS in your way.\p"
.string "Hey, okay, go for it!$"
-DewfordTown_Gym_Text_1FCB5C: @ 81FCB5C
+DewfordTown_Gym_Text_GymGuidePostVictory: @ 81FCB5C
.string "Whoah! It's turned too bright in here!\p"
.string "Your future is bright, too!$"
-DewfordTown_Gym_Text_1FCB9F: @ 81FCB9F
+DewfordTown_Gym_Text_TakaoIntro: @ 81FCB9F
.string "Might is right!\n"
.string "Come on!$"
-DewfordTown_Gym_Text_1FCBB8: @ 81FCBB8
+DewfordTown_Gym_Text_TakaoDefeat: @ 81FCBB8
.string "Not enough power…$"
-DewfordTown_Gym_Text_1FCBCA: @ 81FCBCA
+DewfordTown_Gym_Text_TakaoPostBattle: @ 81FCBCA
.string "Your skill overcame my strength!\n"
.string "Your technique is commendable!$"
-DewfordTown_Gym_Text_1FCC0A: @ 81FCC0A
+DewfordTown_Gym_Text_JocelynIntro: @ 81FCC0A
.string "There's no need for BRAWLY to be\n"
.string "involved!\p"
.string "I'll crush you!$"
-DewfordTown_Gym_Text_1FCC45: @ 81FCC45
+DewfordTown_Gym_Text_JocelynDefeat: @ 81FCC45
.string "But… How?\n"
.string "How could I lose so easily?$"
-DewfordTown_Gym_Text_1FCC6B: @ 81FCC6B
+DewfordTown_Gym_Text_JocelynPostBattle: @ 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
+DewfordTown_Gym_Text_LauraIntro: @ 81FCD01
.string "Don't you dare brush me off!\n"
.string "It's not my fault if you cry!$"
-DewfordTown_Gym_Text_1FCD3C: @ 81FCD3C
+DewfordTown_Gym_Text_LauraDefeat: @ 81FCD3C
.string "Waaaaaaah!\n"
.string "I lost!$"
-DewfordTown_Gym_Text_1FCD4F: @ 81FCD4F
+DewfordTown_Gym_Text_LauraPostBattle: @ 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
+DewfordTown_Gym_Text_LilithIntro: @ 81FCDB8
.string "Ufufu…\n"
.string "Are you stumbling around in the dark?$"
-DewfordTown_Gym_Text_1FCDE5: @ 81FCDE5
+DewfordTown_Gym_Text_LilithDefeat: @ 81FCDE5
.string "Oh, you…\n"
.string "I don't want to know you!$"
-DewfordTown_Gym_Text_1FCE08: @ 81FCE08
+DewfordTown_Gym_Text_LilithPostBattle: @ 81FCE08
.string "You deserve to stay lost and end up\n"
.string "back at the entrance again!$"
-DewfordTown_Gym_Text_1FCE48: @ 81FCE48
+DewfordTown_Gym_Text_BrendenIntro: @ 81FCE48
.string "I'll show you the gumption of\n"
.string "a sailing man!$"
-DewfordTown_Gym_Text_1FCE75: @ 81FCE75
+DewfordTown_Gym_Text_BrendenDefeat: @ 81FCE75
.string "How'd this happen?\n"
.string "It's not like me to lose this way!$"
-DewfordTown_Gym_Text_1FCEAB: @ 81FCEAB
+DewfordTown_Gym_Text_BrendenPostBattle: @ 81FCEAB
.string "Oh, aye! You're worthy of seeing\n"
.string "our GYM LEADER.$"
-DewfordTown_Gym_Text_1FCEDC: @ 81FCEDC
+DewfordTown_Gym_Text_CristianIntro: @ 81FCEDC
.string "If you mean to pass, it has to be\n"
.string "through me!$"
-DewfordTown_Gym_Text_1FCF0A: @ 81FCF0A
+DewfordTown_Gym_Text_CristianDefeat: @ 81FCF0A
.string "Grrrrr!\n"
.string "Vastly overpowered!$"
-DewfordTown_Gym_Text_1FCF26: @ 81FCF26
+DewfordTown_Gym_Text_CristianPostBattle: @ 81FCF26
.string "You win!\n"
.string "Go after that BADGE!$"
-DewfordTown_Gym_Text_1FCF44: @ 81FCF44
+DewfordTown_Gym_Text_BrawlyIntro: @ 81FCF44
.string "I'm BRAWLY!\n"
.string "DEWFORD's GYM LEADER!\p"
.string "I've been churned in the rough waves\n"
@@ -415,18 +403,18 @@ DewfordTown_Gym_Text_1FCF44: @ 81FCF44
.string "So you wanted to challenge me?\n"
.string "Let me see what you're made of!$"
-DewfordTown_Gym_Text_1FD008: @ 81FD008
+DewfordTown_Gym_Text_BrawlyDefeat: @ 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
+DewfordTown_Gym_Text_ReceivedKnuckleBadge: @ 81FD07D
.string "{PLAYER} received the KNUCKLE BADGE\n"
.string "from BRAWLY.$"
-DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8
+DewfordTown_Gym_Text_KnuckleBadgeInfoTakeThis: @ 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"
@@ -435,30 +423,30 @@ DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8
.string "If you'd like, use this TECHNICAL\n"
.string "MACHINE, too.$"
-DewfordTown_Gym_Text_1FD181: @ 81FD181
+DewfordTown_Gym_Text_ExplainBulkUp: @ 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
+DewfordTown_Gym_Text_RegisteredBrawly: @ 81FD1E0
.string "Registered GYM LEADER BRAWLY\n"
.string "in the POKéNAV.$"
-DewfordTown_Gym_Text_1FD20D: @ 81FD20D
+DewfordTown_Gym_Text_BrawlyPostBattle: @ 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
+DewfordTown_Gym_Text_GymStatue: @ 81FD272
.string "DEWFORD TOWN POKéMON GYM$"
-DewfordTown_Gym_Text_1FD28B: @ 81FD28B
+DewfordTown_Gym_Text_GymStatueCertified: @ 81FD28B
.string "DEWFORD TOWN POKéMON GYM\p"
.string "BRAWLY'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4
+DewfordTown_Gym_Text_BrawlyPreRematch: @ 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"
@@ -466,16 +454,16 @@ DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4
.string "Show me how much higher\n"
.string "you've gone!$"
-DewfordTown_Gym_Text_1FD367: @ 81FD367
+DewfordTown_Gym_Text_BrawlyRematchDefeat: @ 81FD367
.string "Wow!\n"
.string "Swamped again!$"
-DewfordTown_Gym_Text_1FD37B: @ 81FD37B
+DewfordTown_Gym_Text_BrawlyPostRematch: @ 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
+DewfordTown_Gym_Text_BrawlyRematchNeedTwoMons: @ 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"
diff --git a/data/maps/DewfordTown_Hall/map.json b/data/maps/DewfordTown_Hall/map.json
index b801ea3c2..087981fde 100644
--- a/data/maps/DewfordTown_Hall/map.json
+++ b/data/maps/DewfordTown_Hall/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD4D0",
+ "script": "DewfordTown_Hall_EventScript_Girl",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD4F9",
+ "script": "DewfordTown_Hall_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD50A",
+ "script": "DewfordTown_Hall_EventScript_Man",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD547",
+ "script": "DewfordTown_Hall_EventScript_ExpertM",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD563",
+ "script": "DewfordTown_Hall_EventScript_Twin",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD57F",
+ "script": "DewfordTown_Hall_EventScript_LittleBoy",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD62F",
+ "script": "DewfordTown_Hall_EventScript_SchoolKidM",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD63B",
+ "script": "DewfordTown_Hall_EventScript_PsychicM",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_Hall_EventScript_1FD7DA",
+ "script": "DewfordTown_Hall_EventScript_SludgeBombMan",
"flag": "FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN"
}
],
@@ -156,7 +156,7 @@
"y": 1,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DewfordTown_Hall_EventScript_1FD590"
+ "script": "DewfordTown_Hall_EventScript_Bookshelf"
},
{
"type": "sign",
@@ -164,7 +164,7 @@
"y": 1,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "DewfordTown_Hall_EventScript_1FD5A0"
+ "script": "DewfordTown_Hall_EventScript_Painting"
}
]
} \ No newline at end of file
diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc
index 22bf5ed6a..6065bc957 100644
--- a/data/maps/DewfordTown_Hall/scripts.inc
+++ b/data/maps/DewfordTown_Hall/scripts.inc
@@ -1,319 +1,319 @@
DewfordTown_Hall_MapScripts:: @ 81FD4CF
.byte 0
-DewfordTown_Hall_EventScript_1FD4D0:: @ 81FD4D0
+DewfordTown_Hall_EventScript_Girl:: @ 81FD4D0
lock
faceplayer
- call DewfordTown_Hall_EventScript_271E8B
+ call Common_EventScript_BufferTrendyPhrase
special TrendyPhraseIsOld
- compare VAR_RESULT, 1
- goto_if_eq DewfordTown_Hall_EventScript_1FD4EF
- msgbox DewfordTown_Hall_Text_1FD818, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq DewfordTown_Hall_EventScript_GirlBoredOfTrend
+ msgbox DewfordTown_Hall_Text_CantImagineLifeWithoutTrend, MSGBOX_DEFAULT
release
end
-DewfordTown_Hall_EventScript_1FD4EF:: @ 81FD4EF
- msgbox DewfordTown_Hall_Text_1FD877, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_GirlBoredOfTrend:: @ 81FD4EF
+ msgbox DewfordTown_Hall_Text_GettingBoredOfTrend, MSGBOX_DEFAULT
release
end
-DewfordTown_Hall_EventScript_1FD4F9:: @ 81FD4F9
+DewfordTown_Hall_EventScript_Woman:: @ 81FD4F9
lock
faceplayer
- call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FD8ED, MSGBOX_DEFAULT
+ call Common_EventScript_BufferTrendyPhrase
+ msgbox DewfordTown_Hall_Text_TeachingMonAboutTrend, MSGBOX_DEFAULT
release
end
-DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A
+DewfordTown_Hall_EventScript_Man:: @ 81FD50A
lock
faceplayer
- call DewfordTown_Hall_EventScript_271E8B
- special sub_811EF6C
- msgbox DewfordTown_Hall_Text_1FD948, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq DewfordTown_Hall_EventScript_1FD533
- compare VAR_RESULT, 0
- goto_if_eq DewfordTown_Hall_EventScript_1FD53D
+ call Common_EventScript_BufferTrendyPhrase
+ special BufferDeepLinkPhrase
+ msgbox DewfordTown_Hall_Text_DeepLinkBetweenXAndY, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq DewfordTown_Hall_EventScript_ConfirmTrendLink
+ compare VAR_RESULT, NO
+ goto_if_eq DewfordTown_Hall_EventScript_RejectTrendLink
end
-DewfordTown_Hall_EventScript_1FD533:: @ 81FD533
- msgbox DewfordTown_Hall_Text_1FD9B3, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_ConfirmTrendLink:: @ 81FD533
+ msgbox DewfordTown_Hall_Text_MyHunchWasRight, MSGBOX_DEFAULT
release
end
-DewfordTown_Hall_EventScript_1FD53D:: @ 81FD53D
- msgbox DewfordTown_Hall_Text_1FDA06, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_RejectTrendLink:: @ 81FD53D
+ msgbox DewfordTown_Hall_Text_NotEasyToKeepUp, MSGBOX_DEFAULT
release
end
-DewfordTown_Hall_EventScript_1FD547:: @ 81FD547
+DewfordTown_Hall_EventScript_ExpertM:: @ 81FD547
lock
faceplayer
- call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDA5C, MSGBOX_DEFAULT
+ call Common_EventScript_BufferTrendyPhrase
+ msgbox DewfordTown_Hall_Text_TVShowAboutTrend, MSGBOX_DEFAULT
closemessage
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
release
end
-DewfordTown_Hall_EventScript_1FD563:: @ 81FD563
+DewfordTown_Hall_EventScript_Twin:: @ 81FD563
lock
faceplayer
- call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDA99, MSGBOX_DEFAULT
+ call Common_EventScript_BufferTrendyPhrase
+ msgbox DewfordTown_Hall_Text_IsTrendMorePopularAcrossSea, MSGBOX_DEFAULT
closemessage
- applymovement 5, Common_Movement_WalkInPlaceUp
+ applymovement 5, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
release
end
-DewfordTown_Hall_EventScript_1FD57F:: @ 81FD57F
+DewfordTown_Hall_EventScript_LittleBoy:: @ 81FD57F
lock
faceplayer
- call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDAC4, MSGBOX_DEFAULT
+ call Common_EventScript_BufferTrendyPhrase
+ msgbox DewfordTown_Hall_Text_CollectTrendMerchandise, MSGBOX_DEFAULT
release
end
-DewfordTown_Hall_EventScript_1FD590:: @ 81FD590
+DewfordTown_Hall_EventScript_Bookshelf:: @ 81FD590
lockall
- call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDB89, MSGBOX_DEFAULT
+ call Common_EventScript_BufferTrendyPhrase
+ msgbox DewfordTown_Hall_Text_BooksAboutTrend, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD5A0:: @ 81FD5A0
+DewfordTown_Hall_EventScript_Painting:: @ 81FD5A0
lockall
- call DewfordTown_Hall_EventScript_271E8B
+ call Common_EventScript_BufferTrendyPhrase
special GetDewfordHallPaintingNameIndex
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
+ case 0, DewfordTown_Hall_EventScript_ScreamTitle
+ case 4, DewfordTown_Hall_EventScript_ScreamTitle
+ case 1, DewfordTown_Hall_EventScript_SmileTitle
+ case 5, DewfordTown_Hall_EventScript_ScreamTitle
+ case 2, DewfordTown_Hall_EventScript_LastTitle
+ case 6, DewfordTown_Hall_EventScript_LastTitle
+ case 3, DewfordTown_Hall_EventScript_BirthTitle
+ case 7, DewfordTown_Hall_EventScript_LastTitle
end
-DewfordTown_Hall_EventScript_1FD607:: @ 81FD607
- msgbox DewfordTown_Hall_Text_1FDC05, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_ScreamTitle:: @ 81FD607
+ msgbox DewfordTown_Hall_Text_TrendsScream, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD611:: @ 81FD611
- msgbox DewfordTown_Hall_Text_1FDC21, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_SmileTitle:: @ 81FD611
+ msgbox DewfordTown_Hall_Text_TrendsSmile, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD61B:: @ 81FD61B
- msgbox DewfordTown_Hall_Text_1FDC3C, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_LastTitle:: @ 81FD61B
+ msgbox DewfordTown_Hall_Text_LastTrend, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD625:: @ 81FD625
- msgbox DewfordTown_Hall_Text_1FDC57, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_BirthTitle:: @ 81FD625
+ msgbox DewfordTown_Hall_Text_BirthOfTrend, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD62F:: @ 81FD62F
+DewfordTown_Hall_EventScript_SchoolKidM:: @ 81FD62F
lockall
setvar VAR_0x8008, 0
- goto DewfordTown_Hall_EventScript_1FD647
+ goto DewfordTown_Hall_EventScript_DoTrendDebate
end
-DewfordTown_Hall_EventScript_1FD63B:: @ 81FD63B
+DewfordTown_Hall_EventScript_PsychicM:: @ 81FD63B
lockall
setvar VAR_0x8008, 1
- goto DewfordTown_Hall_EventScript_1FD647
+ goto DewfordTown_Hall_EventScript_DoTrendDebate
end
-DewfordTown_Hall_EventScript_1FD647:: @ 81FD647
- call DewfordTown_Hall_EventScript_271E8B
+DewfordTown_Hall_EventScript_DoTrendDebate:: @ 81FD647
+ call Common_EventScript_BufferTrendyPhrase
special GetDewfordHallPaintingNameIndex
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
+ case 0, DewfordTown_Hall_EventScript_TrendDebate1
+ case 1, DewfordTown_Hall_EventScript_TrendDebate1
+ case 2, DewfordTown_Hall_EventScript_TrendDebate2
+ case 3, DewfordTown_Hall_EventScript_TrendDebate2
+ case 4, DewfordTown_Hall_EventScript_TrendDebate3
+ case 5, DewfordTown_Hall_EventScript_TrendDebate3
+ case 6, DewfordTown_Hall_EventScript_TrendDebate4
+ case 7, DewfordTown_Hall_EventScript_TrendDebate5
end
-DewfordTown_Hall_EventScript_1FD6AD:: @ 81FD6AD
- call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDC76, MSGBOX_DEFAULT
- call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDCE2, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_TrendDebate1:: @ 81FD6AD
+ call DewfordTown_Hall_EventScript_DebateReact1
+ msgbox DewfordTown_Hall_Text_SawTrendCoolestThing, MSGBOX_DEFAULT
+ call DewfordTown_Hall_EventScript_DebateReact2
+ msgbox DewfordTown_Hall_Text_AllegedTrendNotAuthentic, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD6C9:: @ 81FD6C9
- call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDD95, MSGBOX_DEFAULT
- call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDE0E, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_TrendDebate2:: @ 81FD6C9
+ call DewfordTown_Hall_EventScript_DebateReact1
+ msgbox DewfordTown_Hall_Text_ComposedTrendThemeSong, MSGBOX_DEFAULT
+ call DewfordTown_Hall_EventScript_DebateReact2
+ msgbox DewfordTown_Hall_Text_WorkOnYourSinging, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD6E5:: @ 81FD6E5
- call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDE77, MSGBOX_DEFAULT
- call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDED8, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_TrendDebate3:: @ 81FD6E5
+ call DewfordTown_Hall_EventScript_DebateReact1
+ msgbox DewfordTown_Hall_Text_OrganizeTrendParty, MSGBOX_DEFAULT
+ call DewfordTown_Hall_EventScript_DebateReact2
+ msgbox DewfordTown_Hall_Text_BrilliantIndeed, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD701:: @ 81FD701
- call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDF72, MSGBOX_DEFAULT
- call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDFF1, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_TrendDebate4:: @ 81FD701
+ call DewfordTown_Hall_EventScript_DebateReact1
+ msgbox DewfordTown_Hall_Text_TrendHasBecomePartOfLife, MSGBOX_DEFAULT
+ call DewfordTown_Hall_EventScript_DebateReact2
+ msgbox DewfordTown_Hall_Text_TrendWeighsHeavilyOnMind, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD71D:: @ 81FD71D
- call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FE09A, MSGBOX_DEFAULT
- call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FE0F2, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_TrendDebate5:: @ 81FD71D
+ call DewfordTown_Hall_EventScript_DebateReact1
+ msgbox DewfordTown_Hall_Text_IfWeTeamUpWellBeInvincible, MSGBOX_DEFAULT
+ call DewfordTown_Hall_EventScript_DebateReact2
+ msgbox DewfordTown_Hall_Text_WellBeTrendDuo, MSGBOX_DEFAULT
releaseall
end
-DewfordTown_Hall_EventScript_1FD739:: @ 81FD739
+DewfordTown_Hall_EventScript_DontMovePlayer1:: @ 81FD739
return
-DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A
- applymovement 8, DewfordTown_Hall_Movement_1FD7D6
+DewfordTown_Hall_EventScript_DebateReact1:: @ 81FD73A
+ applymovement 8, DewfordTown_Hall_Movement_PsychicWalkInPlaceLeft
waitmovement 0
compare VAR_0x8008, 0
- goto_if_eq DewfordTown_Hall_EventScript_1FD75B
+ goto_if_eq DewfordTown_Hall_EventScript_PlayerReactWest
compare VAR_0x8008, 1
- goto_if_eq DewfordTown_Hall_EventScript_1FD771
+ goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer2
end
-DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B
- compare VAR_FACING, 4
- goto_if_eq DewfordTown_Hall_EventScript_1FD739
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+DewfordTown_Hall_EventScript_PlayerReactWest:: @ 81FD75B
+ compare VAR_FACING, DIR_EAST
+ goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer1
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-DewfordTown_Hall_EventScript_1FD771:: @ 81FD771
+DewfordTown_Hall_EventScript_DontMovePlayer2:: @ 81FD771
return
-DewfordTown_Hall_EventScript_1FD772:: @ 81FD772
- applymovement 7, DewfordTown_Hall_Movement_1FD7D8
+DewfordTown_Hall_EventScript_DebateReact2:: @ 81FD772
+ applymovement 7, DewfordTown_Hall_Movement_SchoolKidWalkInPlaceRight
waitmovement 0
compare VAR_0x8008, 0
- goto_if_eq DewfordTown_Hall_EventScript_1FD793
+ goto_if_eq DewfordTown_Hall_EventScript_PlayerReactNorthSouth
compare VAR_0x8008, 1
- goto_if_eq DewfordTown_Hall_EventScript_1FD7C0
+ goto_if_eq DewfordTown_Hall_EventScript_PlayerReactEast
end
-DewfordTown_Hall_EventScript_1FD793:: @ 81FD793
- compare VAR_FACING, 2
- call_if_eq DewfordTown_Hall_EventScript_1FD7AA
- compare VAR_FACING, 1
- call_if_eq DewfordTown_Hall_EventScript_1FD7B5
+DewfordTown_Hall_EventScript_PlayerReactNorthSouth:: @ 81FD793
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown
return
-DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp:: @ 81FD7AA
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown:: @ 81FD7B5
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0
- compare VAR_FACING, 3
- goto_if_eq DewfordTown_Hall_EventScript_1FD739
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+DewfordTown_Hall_EventScript_PlayerReactEast:: @ 81FD7C0
+ compare VAR_FACING, DIR_WEST
+ goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer1
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-DewfordTown_Hall_Movement_1FD7D6: @ 81FD7D6
+DewfordTown_Hall_Movement_PsychicWalkInPlaceLeft: @ 81FD7D6
walk_in_place_left
step_end
-DewfordTown_Hall_Movement_1FD7D8: @ 81FD7D8
+DewfordTown_Hall_Movement_SchoolKidWalkInPlaceRight: @ 81FD7D8
walk_in_place_right
step_end
-DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA
+DewfordTown_Hall_EventScript_SludgeBombMan:: @ 81FD7DA
lock
faceplayer
- call DewfordTown_Hall_EventScript_271E8B
- goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_1FD80E
- msgbox DewfordTown_Hall_Text_1FE142, MSGBOX_DEFAULT
- giveitem_std ITEM_TM36
- compare VAR_RESULT, 0
+ call Common_EventScript_BufferTrendyPhrase
+ goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_ReceivedSludgeBomb
+ msgbox DewfordTown_Hall_Text_GiveYouSludgeBomb, MSGBOX_DEFAULT
+ giveitem ITEM_TM36
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM36
release
end
-DewfordTown_Hall_EventScript_1FD80E:: @ 81FD80E
- msgbox DewfordTown_Hall_Text_1FE1ED, MSGBOX_DEFAULT
+DewfordTown_Hall_EventScript_ReceivedSludgeBomb:: @ 81FD80E
+ msgbox DewfordTown_Hall_Text_LoveSludgeBombButTrendInToo, MSGBOX_DEFAULT
release
end
-DewfordTown_Hall_Text_1FD818: @ 81FD818
+DewfordTown_Hall_Text_CantImagineLifeWithoutTrend: @ 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
+DewfordTown_Hall_Text_GettingBoredOfTrend: @ 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
+DewfordTown_Hall_Text_TeachingMonAboutTrend: @ 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
+DewfordTown_Hall_Text_DeepLinkBetweenXAndY: @ 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
+DewfordTown_Hall_Text_MyHunchWasRight: @ 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
+DewfordTown_Hall_Text_NotEasyToKeepUp: @ 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
+DewfordTown_Hall_Text_TVShowAboutTrend: @ 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
+DewfordTown_Hall_Text_IsTrendMorePopularAcrossSea: @ 81FDA99
.string "Across the sea…\p"
.string "Is “{STR_VAR_1}”\n"
.string "even more popular?$"
-DewfordTown_Hall_Text_1FDAC4: @ 81FDAC4
+DewfordTown_Hall_Text_CollectTrendMerchandise: @ 81FDAC4
.string "I collect official\n"
.string "“{STR_VAR_1}”\l"
.string "licensed merchandise.\p"
@@ -327,7 +327,7 @@ DewfordTown_Hall_Text_1FDAC4: @ 81FDAC4
.string "Heheh, I own!\n"
.string "I'm not sharing anything with you!$"
-DewfordTown_Hall_Text_1FDB89: @ 81FDB89
+DewfordTown_Hall_Text_BooksAboutTrend: @ 81FDB89
.string "IDENTIFYING GOOD\n"
.string "“{STR_VAR_1}” &\l"
.string "BAD “{STR_VAR_1}”…\p"
@@ -339,30 +339,30 @@ DewfordTown_Hall_Text_1FDB89: @ 81FDB89
.string "It's neatly jammed with books about\n"
.string "“{STR_VAR_1}.”$"
-DewfordTown_Hall_Text_1FDC05: @ 81FDC05
+DewfordTown_Hall_Text_TrendsScream: @ 81FDC05
.string "“{STR_VAR_1}'S\n"
.string "SCREAM” is the title.$"
-DewfordTown_Hall_Text_1FDC21: @ 81FDC21
+DewfordTown_Hall_Text_TrendsSmile: @ 81FDC21
.string "“{STR_VAR_1}'S\n"
.string "SMILE” is the title.$"
-DewfordTown_Hall_Text_1FDC3C: @ 81FDC3C
+DewfordTown_Hall_Text_LastTrend: @ 81FDC3C
.string "It's titled “THE LAST\n"
.string "{STR_VAR_1}”.$"
-DewfordTown_Hall_Text_1FDC57: @ 81FDC57
+DewfordTown_Hall_Text_BirthOfTrend: @ 81FDC57
.string "It's titled “THE BIRTH OF\n"
.string "{STR_VAR_1}”.$"
-DewfordTown_Hall_Text_1FDC76: @ 81FDC76
+DewfordTown_Hall_Text_SawTrendCoolestThing: @ 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
+DewfordTown_Hall_Text_AllegedTrendNotAuthentic: @ 81FDCE2
.string "Oh, no, no, no.\p"
.string "That alleged\n"
.string "“{STR_VAR_1}”\l"
@@ -372,7 +372,7 @@ DewfordTown_Hall_Text_1FDCE2: @ 81FDCE2
.string "Sharper, yet more mellow!\p"
.string "Ah, no matter. It's astonishing!$"
-DewfordTown_Hall_Text_1FDD95: @ 81FDD95
+DewfordTown_Hall_Text_ComposedTrendThemeSong: @ 81FDD95
.string "Hey, listen, I composed a theme song\n"
.string "for “{STR_VAR_1}.”\p"
.string "“{STR_VAR_1}”\n"
@@ -384,20 +384,20 @@ DewfordTown_Hall_Text_1FDD95: @ 81FDD95
.string "Wonderful\n"
.string "{STR_VAR_1}!$"
-DewfordTown_Hall_Text_1FDE0E: @ 81FDE0E
+DewfordTown_Hall_Text_WorkOnYourSinging: @ 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
+DewfordTown_Hall_Text_OrganizeTrendParty: @ 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
+DewfordTown_Hall_Text_BrilliantIndeed: @ 81FDED8
.string "Oh, a smashing good idea!\p"
.string "It will settle once and for all\n"
.string "who is the best at\l"
@@ -406,14 +406,14 @@ DewfordTown_Hall_Text_1FDED8: @ 81FDED8
.string "Starting today, our lives will revolve\n"
.string "around “{STR_VAR_1}”!$"
-DewfordTown_Hall_Text_1FDF72: @ 81FDF72
+DewfordTown_Hall_Text_TrendHasBecomePartOfLife: @ 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
+DewfordTown_Hall_Text_TrendWeighsHeavilyOnMind: @ 81FDFF1
.string "Beg pardon?\n"
.string "That much, what?\p"
.string "However, it's true that\n"
@@ -424,19 +424,19 @@ DewfordTown_Hall_Text_1FDFF1: @ 81FDFF1
.string "“{STR_VAR_1}”\l"
.string "PROFESSOR, old sport!$"
-DewfordTown_Hall_Text_1FE09A: @ 81FE09A
+DewfordTown_Hall_Text_IfWeTeamUpWellBeInvincible: @ 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
+DewfordTown_Hall_Text_WellBeTrendDuo: @ 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
+DewfordTown_Hall_Text_GiveYouSludgeBomb: @ 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"
@@ -444,7 +444,7 @@ DewfordTown_Hall_Text_1FE142: @ 81FE142
.string "That's outright pitiful.\n"
.string "I'll give you one.$"
-DewfordTown_Hall_Text_1FE1ED: @ 81FE1ED
+DewfordTown_Hall_Text_LoveSludgeBombButTrendInToo: @ 81FE1ED
.string "I love SLUDGE BOMB.\p"
.string "But POKéMON with the move\n"
.string "“{STR_VAR_1}”\l"
diff --git a/data/maps/DewfordTown_House1/map.json b/data/maps/DewfordTown_House1/map.json
index dfae500bd..beb6d5275 100644
--- a/data/maps/DewfordTown_House1/map.json
+++ b/data/maps/DewfordTown_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_House1_EventScript_1FC3D7",
+ "script": "DewfordTown_House1_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_House1_EventScript_1FC3CE",
+ "script": "DewfordTown_House1_EventScript_Man",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_House1_EventScript_1FC3E0",
+ "script": "DewfordTown_House1_EventScript_Zigzagoon",
"flag": "0"
}
],
diff --git a/data/maps/DewfordTown_House1/scripts.inc b/data/maps/DewfordTown_House1/scripts.inc
index 32706dbde..06e377057 100644
--- a/data/maps/DewfordTown_House1/scripts.inc
+++ b/data/maps/DewfordTown_House1/scripts.inc
@@ -1,36 +1,36 @@
DewfordTown_House1_MapScripts:: @ 81FC3CD
.byte 0
-DewfordTown_House1_EventScript_1FC3CE:: @ 81FC3CE
- msgbox DewfordTown_House1_Text_1FC3F3, MSGBOX_NPC
+DewfordTown_House1_EventScript_Man:: @ 81FC3CE
+ msgbox DewfordTown_House1_Text_LotToBeSaidForLivingOnIsland, MSGBOX_NPC
end
-DewfordTown_House1_EventScript_1FC3D7:: @ 81FC3D7
- msgbox DewfordTown_House1_Text_1FC45B, MSGBOX_NPC
+DewfordTown_House1_EventScript_Woman:: @ 81FC3D7
+ msgbox DewfordTown_House1_Text_LifeGoesSlowlyOnIsland, MSGBOX_NPC
end
-DewfordTown_House1_EventScript_1FC3E0:: @ 81FC3E0
+DewfordTown_House1_EventScript_Zigzagoon:: @ 81FC3E0
lock
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox DewfordTown_House1_Text_1FC510, MSGBOX_DEFAULT
+ msgbox DewfordTown_House1_Text_Zigzagoon, MSGBOX_DEFAULT
waitmoncry
release
end
-DewfordTown_House1_Text_1FC3F3: @ 81FC3F3
+DewfordTown_House1_Text_LotToBeSaidForLivingOnIsland: @ 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
+DewfordTown_House1_Text_LifeGoesSlowlyOnIsland: @ 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
+DewfordTown_House1_Text_Zigzagoon: @ 81FC510
.string "ZIGZAGOON: Guguuh!$"
diff --git a/data/maps/DewfordTown_House2/map.json b/data/maps/DewfordTown_House2/map.json
index bc9c008fc..ac1abca36 100644
--- a/data/maps/DewfordTown_House2/map.json
+++ b/data/maps/DewfordTown_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_House2_EventScript_1FE22E",
+ "script": "DewfordTown_House2_EventScript_Man",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_House2_EventScript_1FE271",
+ "script": "DewfordTown_House2_EventScript_Boy",
"flag": "0"
}
],
diff --git a/data/maps/DewfordTown_House2/scripts.inc b/data/maps/DewfordTown_House2/scripts.inc
index eb6beb951..4a57cfdcf 100644
--- a/data/maps/DewfordTown_House2/scripts.inc
+++ b/data/maps/DewfordTown_House2/scripts.inc
@@ -1,33 +1,33 @@
DewfordTown_House2_MapScripts:: @ 81FE22D
.byte 0
-DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E
+DewfordTown_House2_EventScript_Man:: @ 81FE22E
lock
faceplayer
- goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_1FE267
- msgbox DewfordTown_House2_Text_1FE27A, MSGBOX_DEFAULT
- giveitem_std ITEM_SILK_SCARF
- compare VAR_RESULT, 0
- goto_if_eq DewfordTown_House2_EventScript_1FE25D
+ goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_ExplainSilkScarf
+ msgbox DewfordTown_House2_Text_WantYouToHaveSilkScarf, MSGBOX_DEFAULT
+ giveitem ITEM_SILK_SCARF
+ compare VAR_RESULT, FALSE
+ goto_if_eq DewfordTown_House2_EventScript_NoRoomForScarf
setflag FLAG_RECEIVED_SILK_SCARF
release
end
-DewfordTown_House2_EventScript_1FE25D:: @ 81FE25D
- msgbox DewfordTown_House2_Text_1FE356, MSGBOX_DEFAULT
+DewfordTown_House2_EventScript_NoRoomForScarf:: @ 81FE25D
+ msgbox DewfordTown_House2_Text_NoRoom, MSGBOX_DEFAULT
release
end
-DewfordTown_House2_EventScript_1FE267:: @ 81FE267
- msgbox DewfordTown_House2_Text_1FE3D1, MSGBOX_DEFAULT
+DewfordTown_House2_EventScript_ExplainSilkScarf:: @ 81FE267
+ msgbox DewfordTown_House2_Text_ExplainSilkScarf, MSGBOX_DEFAULT
release
end
-DewfordTown_House2_EventScript_1FE271:: @ 81FE271
- msgbox DewfordTown_House2_Text_1FE444, MSGBOX_NPC
+DewfordTown_House2_EventScript_Boy:: @ 81FE271
+ msgbox DewfordTown_House2_Text_BrawlySoCool, MSGBOX_NPC
end
-DewfordTown_House2_Text_1FE27A: @ 81FE27A
+DewfordTown_House2_Text_WantYouToHaveSilkScarf: @ 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"
@@ -36,19 +36,19 @@ DewfordTown_House2_Text_1FE27A: @ 81FE27A
.string "Oh, you're a delight!\n"
.string "Here you go. I want you to have it!$"
-DewfordTown_House2_Text_1FE356: @ 81FE356
+DewfordTown_House2_Text_NoRoom: @ 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
+DewfordTown_House2_Text_ExplainSilkScarf: @ 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
+DewfordTown_House2_Text_BrawlySoCool: @ 81FE444
.string "Wow, you bothered to cross the sea\n"
.string "to visit DEWFORD?\p"
.string "Did you maybe come here because you\n"
diff --git a/data/maps/DewfordTown_PokemonCenter_1F/map.json b/data/maps/DewfordTown_PokemonCenter_1F/map.json
index 89acf1ea8..67e0e5721 100644
--- a/data/maps/DewfordTown_PokemonCenter_1F/map.json
+++ b/data/maps/DewfordTown_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_PokemonCenter_1F_EventScript_1FC537",
+ "script": "DewfordTown_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_PokemonCenter_1F_EventScript_1FC545",
+ "script": "DewfordTown_PokemonCenter_1F_EventScript_PokefanF",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_PokemonCenter_1F_EventScript_1FC54E",
+ "script": "DewfordTown_PokemonCenter_1F_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc
index be9005d7d..99d180d8f 100644
--- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc
@@ -1,36 +1,37 @@
DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523
map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, DewfordTown_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
DewfordTown_PokemonCenter_1F_OnTransition: @ 81FC52E
setrespawn HEAL_LOCATION_DEWFORD_TOWN
- call DewfordTown_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-DewfordTown_PokemonCenter_1F_EventScript_1FC537:: @ 81FC537
+@ VAR_0x800B is the Nurse's object event id
+DewfordTown_PokemonCenter_1F_EventScript_Nurse:: @ 81FC537
setvar VAR_0x800B, 1
- call DewfordTown_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-DewfordTown_PokemonCenter_1F_EventScript_1FC545:: @ 81FC545
- msgbox DewfordTown_PokemonCenter_1F_Text_1FC557, MSGBOX_NPC
+DewfordTown_PokemonCenter_1F_EventScript_PokefanF:: @ 81FC545
+ msgbox DewfordTown_PokemonCenter_1F_Text_StoneCavern, MSGBOX_NPC
end
-DewfordTown_PokemonCenter_1F_EventScript_1FC54E:: @ 81FC54E
- msgbox DewfordTown_PokemonCenter_1F_Text_1FC5AE, MSGBOX_NPC
+DewfordTown_PokemonCenter_1F_EventScript_Man:: @ 81FC54E
+ msgbox DewfordTown_PokemonCenter_1F_Text_FaintedMonCanUseHM, MSGBOX_NPC
end
-DewfordTown_PokemonCenter_1F_Text_1FC557: @ 81FC557
+DewfordTown_PokemonCenter_1F_Text_StoneCavern: @ 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
+DewfordTown_PokemonCenter_1F_Text_FaintedMonCanUseHM: @ 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/maps/DewfordTown_PokemonCenter_2F/map.json b/data/maps/DewfordTown_PokemonCenter_2F/map.json
index 2792a9a20..6ebca2ae0 100644
--- a/data/maps/DewfordTown_PokemonCenter_2F/map.json
+++ b/data/maps/DewfordTown_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "DewfordTown_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc
index f49560d8c..df8539f0b 100644
--- a/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc
+++ b/data/maps/DewfordTown_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
DewfordTown_PokemonCenter_2F_MapScripts:: @ 81FC615
- map_script MAP_SCRIPT_ON_FRAME_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, DewfordTown_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, DewfordTown_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-DewfordTown_PokemonCenter_2F_EventScript_1FC62A:: @ 81FC62A
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+DewfordTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FC62A
+ call CableClub_EventScript_Colosseum
end
-DewfordTown_PokemonCenter_2F_EventScript_1FC630:: @ 81FC630
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+DewfordTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FC630
+ call CableClub_EventScript_TradeCenter
end
-DewfordTown_PokemonCenter_2F_EventScript_1FC636:: @ 81FC636
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+DewfordTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FC636
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/DoubleBattleColosseum/scripts.inc b/data/maps/DoubleBattleColosseum/scripts.inc
deleted file mode 100644
index ac64377ae..000000000
--- a/data/maps/DoubleBattleColosseum/scripts.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-DoubleBattleColosseum_MapScripts:: @ 823B780
- .byte 0
-
diff --git a/data/maps/EverGrandeCity/map.json b/data/maps/EverGrandeCity/map.json
index 90175db1d..0fd6e9eca 100644
--- a/data/maps/EverGrandeCity/map.json
+++ b/data/maps/EverGrandeCity/map.json
@@ -58,7 +58,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -67,7 +67,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -76,7 +76,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -85,7 +85,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -94,7 +94,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -103,7 +103,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -112,7 +112,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -121,7 +121,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -130,7 +130,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -139,7 +139,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
},
{
"type": "trigger",
@@ -148,7 +148,7 @@
"elevation": 1,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "EverGrandeCity_EventScript_1E7D46"
+ "script": "EverGrandeCity_EventScript_SetVisitedEverGrande"
}
],
"bg_events": [
@@ -158,7 +158,7 @@
"y": 43,
"elevation": 5,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "EverGrandeCity_EventScript_1E7D2B"
+ "script": "EverGrandeCity_EventScript_VictoryRoadSign"
},
{
"type": "sign",
@@ -174,7 +174,7 @@
"y": 52,
"elevation": 5,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "EverGrandeCity_EventScript_1E7D34"
+ "script": "EverGrandeCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -182,7 +182,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "EverGrandeCity_EventScript_1E7D3D"
+ "script": "EverGrandeCity_EventScript_PokemonLeagueSign"
},
{
"type": "sign",
diff --git a/data/maps/EverGrandeCity/scripts.inc b/data/maps/EverGrandeCity/scripts.inc
index 39e57f563..42392c7e9 100644
--- a/data/maps/EverGrandeCity/scripts.inc
+++ b/data/maps/EverGrandeCity/scripts.inc
@@ -3,34 +3,34 @@ EverGrandeCity_MapScripts:: @ 81E7D1B
.byte 0
EverGrandeCity_OnTransition: @ 81E7D21
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
end
-EverGrandeCity_EventScript_1E7D2B:: @ 81E7D2B
- msgbox EverGrandeCity_Text_1E7D4F, MSGBOX_SIGN
+EverGrandeCity_EventScript_VictoryRoadSign:: @ 81E7D2B
+ msgbox EverGrandeCity_Text_EnteringVictoryRoad, MSGBOX_SIGN
end
-EverGrandeCity_EventScript_1E7D34:: @ 81E7D34
- msgbox EverGrandeCity_Text_1E7D89, MSGBOX_SIGN
+EverGrandeCity_EventScript_CitySign:: @ 81E7D34
+ msgbox EverGrandeCity_Text_CitySign, MSGBOX_SIGN
end
-EverGrandeCity_EventScript_1E7D3D:: @ 81E7D3D
- msgbox EverGrandeCity_Text_1E7D65, MSGBOX_SIGN
+EverGrandeCity_EventScript_PokemonLeagueSign:: @ 81E7D3D
+ msgbox EverGrandeCity_Text_EnteringPokemonLeague, MSGBOX_SIGN
end
-EverGrandeCity_EventScript_1E7D46:: @ 81E7D46
+EverGrandeCity_EventScript_SetVisitedEverGrande:: @ 81E7D46
setflag FLAG_VISITED_EVER_GRANDE_CITY
setvar VAR_TEMP_1, 1
end
-EverGrandeCity_Text_1E7D4F: @ 81E7D4F
+EverGrandeCity_Text_EnteringVictoryRoad: @ 81E7D4F
.string "ENTERING VICTORY ROAD$"
-EverGrandeCity_Text_1E7D65: @ 81E7D65
+EverGrandeCity_Text_EnteringPokemonLeague: @ 81E7D65
.string "ENTERING POKéMON LEAGUE\n"
.string "CENTER GATE$"
-EverGrandeCity_Text_1E7D89: @ 81E7D89
+EverGrandeCity_Text_CitySign: @ 81E7D89
.string "EVER GRANDE CITY\p"
.string "“The paradise of flowers, the sea,\n"
.string "and POKéMON.”$"
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
index 88d02b29b..69abb2974 100644
--- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
@@ -1,140 +1,140 @@
EverGrandeCity_ChampionsRoom_MapScripts:: @ 82289EF
map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_ChampionsRoom_OnTransition
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A05
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_ChampionsRoom_MapScript2_228A14
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_ChampionsRoom_OnFrame
.byte 0
EverGrandeCity_ChampionsRoom_OnTransition: @ 82289FF
- call Common_EventScript_SetupRivalGender
+ call Common_EventScript_SetupRivalGfxId
end
-EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A0F
+EverGrandeCity_ChampionsRoom_OnWarp: @ 8228A05
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_PlayerTurnNorth
.2byte 0
-EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_ChampionsRoom_EventScript_PlayerTurnNorth:: @ 8228A0F
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_228A1E
+EverGrandeCity_ChampionsRoom_OnFrame: @ 8228A14
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_ChampionsRoom_EventScript_EnterRoom
.2byte 0
-EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E
+EverGrandeCity_ChampionsRoom_EventScript_EnterRoom:: @ 8228A1E
lockall
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725C1
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp4
waitmovement 0
delay 40
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228A42
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace
waitmovement 0
setvar VAR_TEMP_1, 1
- goto EverGrandeCity_ChampionsRoom_EventScript_228A45
+ goto EverGrandeCity_ChampionsRoom_EventScript_Wallace
releaseall
end
-EverGrandeCity_ChampionsRoom_Movement_228A42: @ 8228A42
+EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace: @ 8228A42
walk_up
walk_up
step_end
-EverGrandeCity_ChampionsRoom_EventScript_228A45:: @ 8228A45
+EverGrandeCity_ChampionsRoom_EventScript_Wallace:: @ 8228A45
playbgm MUS_DAIGO, 0
- msgbox EverGrandeCity_ChampionsRoom_Text_228C4C, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_WALLACE, EverGrandeCity_ChampionsRoom_Text_228EAC
- goto EverGrandeCity_ChampionsRoom_EventScript_228A61
+ msgbox EverGrandeCity_ChampionsRoom_Text_IntroSpeech, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_WALLACE, EverGrandeCity_ChampionsRoom_Text_Defeat
+ goto EverGrandeCity_ChampionsRoom_EventScript_Defeated
end
-EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61
+EverGrandeCity_ChampionsRoom_EventScript_Defeated:: @ 8228A61
playse SE_DOOR
setmetatile 6, 1, METATILE_EliteFour_OpenDoorChampion_Frame, 0
setmetatile 6, 2, METATILE_EliteFour_OpenDoorChampion_Opening, 0
special DrawWholeMapView
- msgbox EverGrandeCity_ChampionsRoom_Text_228F66, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_ChampionsRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
closemessage
playse SE_DOOR
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228ABC
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic
compare VAR_RESULT, FEMALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC1
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic
addobject 2
- call EverGrandeCity_ChampionsRoom_EventScript_228BFD
+ call EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6
+ goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayAdvice
compare VAR_RESULT, FEMALE
- goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB
+ goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice
end
-EverGrandeCity_ChampionsRoom_EventScript_228ABC:: @ 8228ABC
+EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic:: @ 8228ABC
playbgm MUS_GIRL_SUP, 0
return
-EverGrandeCity_ChampionsRoom_EventScript_228AC1:: @ 8228AC1
+EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic:: @ 8228AC1
playbgm MUS_BOY_SUP, 0
return
-EverGrandeCity_ChampionsRoom_EventScript_228AC6:: @ 8228AC6
- msgbox EverGrandeCity_ChampionsRoom_Text_2290CA, MSGBOX_DEFAULT
+EverGrandeCity_ChampionsRoom_EventScript_MayAdvice:: @ 8228AC6
+ msgbox EverGrandeCity_ChampionsRoom_Text_MayAdvice, MSGBOX_DEFAULT
delay 40
playse SE_PIN
applymovement 2, Common_Movement_ExclamationMark
waitmovement 0
applymovement 2, Common_Movement_Delay48
waitmovement 0
- call EverGrandeCity_ChampionsRoom_EventScript_228C12
- msgbox EverGrandeCity_ChampionsRoom_Text_22910B, MSGBOX_DEFAULT
- goto EverGrandeCity_ChampionsRoom_EventScript_228B30
+ call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth
+ msgbox EverGrandeCity_ChampionsRoom_Text_MayItsAlreadyOver, MSGBOX_DEFAULT
+ goto EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF
end
-EverGrandeCity_ChampionsRoom_EventScript_228AFB:: @ 8228AFB
- msgbox EverGrandeCity_ChampionsRoom_Text_229152, MSGBOX_DEFAULT
+EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice:: @ 8228AFB
+ msgbox EverGrandeCity_ChampionsRoom_Text_BrendanAdvice, MSGBOX_DEFAULT
delay 40
playse SE_PIN
applymovement 2, Common_Movement_ExclamationMark
waitmovement 0
applymovement 2, Common_Movement_Delay48
waitmovement 0
- call EverGrandeCity_ChampionsRoom_EventScript_228C12
- msgbox EverGrandeCity_ChampionsRoom_Text_2291A2, MSGBOX_DEFAULT
- goto EverGrandeCity_ChampionsRoom_EventScript_228B30
+ call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth
+ msgbox EverGrandeCity_ChampionsRoom_Text_BrendanYouveWon, MSGBOX_DEFAULT
+ goto EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF
end
-EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
+EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF:: @ 8228B30
closemessage
addobject 3
- applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43
+ applymovement 3, EverGrandeCity_ChampionsRoom_Movement_BirchArrives
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, MSGBOX_DEFAULT
- call EverGrandeCity_ChampionsRoom_EventScript_272184
- msgbox EverGrandeCity_ChampionsRoom_Text_22934D, MSGBOX_DEFAULT
- applymovement 1, Common_Movement_WalkInPlaceUp
+ msgbox EverGrandeCity_ChampionsRoom_Text_BirchArriveRatePokedex, MSGBOX_DEFAULT
+ call ProfBirch_EventScript_RatePokedex
+ msgbox EverGrandeCity_ChampionsRoom_Text_BirchCongratulations, MSGBOX_DEFAULT
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 20
- applymovement 1, Common_Movement_WalkInPlaceDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox EverGrandeCity_ChampionsRoom_Text_229399, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_ChampionsRoom_Text_WallaceComeWithMe, MSGBOX_DEFAULT
closemessage
delay 30
- applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C1D
- applymovement 3, Common_Movement_WalkInPlaceUp
- applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart
+ applymovement 3, Common_Movement_WalkInPlaceFastestUp
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalFollows
waitmovement 0
delay 20
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside, MSGBOX_DEFAULT
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BEB
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations
compare VAR_RESULT, FEMALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BF4
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations
closemessage
- applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C20
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_WallaceExit
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExit
waitmovement 0
setflag FLAG_HIDE_PETALBURG_GYM_GREETER
warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16
@@ -142,32 +142,32 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
releaseall
end
-EverGrandeCity_ChampionsRoom_EventScript_228BEB:: @ 8228BEB
- msgbox EverGrandeCity_ChampionsRoom_Text_229479, MSGBOX_DEFAULT
+EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations:: @ 8228BEB
+ msgbox EverGrandeCity_ChampionsRoom_Text_MayCongratulations, MSGBOX_DEFAULT
return
-EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4
- msgbox EverGrandeCity_ChampionsRoom_Text_2294F5, MSGBOX_DEFAULT
+EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations:: @ 8228BF4
+ msgbox EverGrandeCity_ChampionsRoom_Text_BrendanCongratulations, MSGBOX_DEFAULT
return
-EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD
- applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26
+EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer:: @ 8228BFD
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-EverGrandeCity_ChampionsRoom_EventScript_228C12:: @ 8228C12
- applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C2F
+EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth:: @ 8228C12
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth
waitmovement 0
return
-EverGrandeCity_ChampionsRoom_Movement_228C1D: @ 8228C1D
+EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart: @ 8228C1D
walk_up
walk_up
step_end
-EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20
+EverGrandeCity_ChampionsRoom_Movement_PlayerExit: @ 8228C20
walk_up
delay_16
walk_up
@@ -175,7 +175,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20
set_invisible
step_end
-EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26
+EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer: @ 8228C26
walk_up
walk_up
walk_up
@@ -186,7 +186,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26
walk_in_place_fastest_right
step_end
-EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F
+EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth: @ 8228C2F
walk_in_place_fastest_up
delay_16
walk_in_place_fastest_right
@@ -197,24 +197,24 @@ EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F
delay_16
step_end
-EverGrandeCity_ChampionsRoom_Movement_228C38: @ 8228C38
+EverGrandeCity_ChampionsRoom_Movement_RivalFollows: @ 8228C38
walk_right
walk_up
step_end
-EverGrandeCity_ChampionsRoom_Movement_228C3B: @ 8228C3B
+EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart: @ 8228C3B
walk_up
walk_up
walk_in_place_fastest_down
step_end
-EverGrandeCity_ChampionsRoom_Movement_228C3F: @ 8228C3F
+EverGrandeCity_ChampionsRoom_Movement_WallaceExit: @ 8228C3F
walk_up
delay_8
set_invisible
step_end
-EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43
+EverGrandeCity_ChampionsRoom_Movement_BirchArrives: @ 8228C43
walk_up
walk_up
walk_up
@@ -225,7 +225,7 @@ EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43
walk_in_place_fastest_left
step_end
-EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C
+EverGrandeCity_ChampionsRoom_Text_IntroSpeech: @ 8228C4C
.string "WALLACE: Welcome, {PLAYER}{KUN}.\p"
.string "That incident in SOOTOPOLIS CITY…\n"
.string "That was superb work, putting an end\l"
@@ -248,7 +248,7 @@ EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C
.string "their POKéMON in HOENN?\p"
.string "Show me right here and now!$"
-EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC
+EverGrandeCity_ChampionsRoom_Text_Defeat: @ 8228EAC
.string "I, the CHAMPION, fall in defeat…\p"
.string "That was wonderful work.\n"
.string "You were elegant, infuriatingly so.\l"
@@ -257,7 +257,7 @@ EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC
.string "You are a truly noble POKéMON\n"
.string "TRAINER!$"
-EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66
+EverGrandeCity_ChampionsRoom_Text_PostBattleSpeech: @ 8228F66
.string "WALLACE: The POKéMON you sent into\n"
.string "battle…\p"
.string "At times they danced like a spring\n"
@@ -272,29 +272,29 @@ EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66
.string "I now proclaim you to be the new\n"
.string "HOENN region…$"
-EverGrandeCity_ChampionsRoom_Text_2290CA: @ 82290CA
+EverGrandeCity_ChampionsRoom_Text_MayAdvice: @ 82290CA
.string "MAY: {PLAYER}{KUN}!\p"
.string "Here's some advice before you challenge\n"
.string "the CHAMPION…$"
-EverGrandeCity_ChampionsRoom_Text_22910B: @ 822910B
+EverGrandeCity_ChampionsRoom_Text_MayItsAlreadyOver: @ 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
+EverGrandeCity_ChampionsRoom_Text_BrendanAdvice: @ 8229152
.string "BRENDAN: {PLAYER}!\p"
.string "How would you like some advice before\n"
.string "you challenge the CHAMPION?…$"
-EverGrandeCity_ChampionsRoom_Text_2291A2: @ 82291A2
+EverGrandeCity_ChampionsRoom_Text_BrendanYouveWon: @ 82291A2
.string "BRENDAN: {PLAYER}…\p"
.string "Are you trying to tell me…\n"
.string "You've beaten the CHAMPION?$"
-EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6
+EverGrandeCity_ChampionsRoom_Text_BirchArriveRatePokedex: @ 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"
@@ -310,25 +310,25 @@ EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6
.string "What became of your POKéDEX?\n"
.string "Here, let me see.$"
-EverGrandeCity_ChampionsRoom_Text_22934D: @ 822934D
+EverGrandeCity_ChampionsRoom_Text_BirchCongratulations: @ 822934D
.string "PROF. BIRCH: Anyways,\n"
.string "congratulations!\p"
.string "Now, go proudly into the final room!$"
-EverGrandeCity_ChampionsRoom_Text_229399: @ 8229399
+EverGrandeCity_ChampionsRoom_Text_WallaceComeWithMe: @ 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
+EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside: @ 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
+EverGrandeCity_ChampionsRoom_Text_MayCongratulations: @ 8229479
.string "MAY: Groan…\p"
.string "… … … … … … … …\n"
.string "… … … … … … … …\p"
@@ -337,7 +337,7 @@ EverGrandeCity_ChampionsRoom_Text_229479: @ 8229479
.string "{PLAYER}{KUN}!\n"
.string "Honestly, congratulations!$"
-EverGrandeCity_ChampionsRoom_Text_2294F5: @ 82294F5
+EverGrandeCity_ChampionsRoom_Text_BrendanCongratulations: @ 82294F5
.string "BRENDAN: Whaaaat?! … … … … …\n"
.string "… … … … … … … …\p"
.string "It can't be helped if that's the rule.\p"
diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.json b/data/maps/EverGrandeCity_DrakesRoom/map.json
index 4fb0d16ef..5ff910790 100644
--- a/data/maps/EverGrandeCity_DrakesRoom/map.json
+++ b/data/maps/EverGrandeCity_DrakesRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_DrakesRoom_EventScript_2286F3",
+ "script": "EverGrandeCity_DrakesRoom_EventScript_Drake",
"flag": "0"
}
],
diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
index ed8d82be2..0b5462c1c 100644
--- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
@@ -1,67 +1,68 @@
EverGrandeCity_DrakesRoom_MapScripts:: @ 822869C
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_DrakesRoom_MapScript2_2286BB
- map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_DrakesRoom_MapScript1_2286D2
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_DrakesRoom_MapScript2_227F3E
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_DrakesRoom_OnFrame
+ map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_DrakesRoom_OnLoad
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_OnWarp
.byte 0
-EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_DrakesRoom_EventScript_2286B6
+@ Unused, Drake uses Sidneys identical OnWarp for some reason
+EverGrandeCity_DrakesRoom_OnWarp: @ 82286AC
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_DrakesRoom_EventScript_PlayerTurnNorth
.2byte 0
-EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_DrakesRoom_EventScript_PlayerTurnNorth:: @ 82286B6
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB
- map_script_2 VAR_ELITE_4_STATE, 3, EverGrandeCity_DrakesRoom_EventScript_2286C5
+EverGrandeCity_DrakesRoom_OnFrame: @ 82286BB
+ map_script_2 VAR_ELITE_4_STATE, 3, EverGrandeCity_DrakesRoom_EventScript_WalkInCloseDoor
.2byte 0
-EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5
+EverGrandeCity_DrakesRoom_EventScript_WalkInCloseDoor:: @ 82286C5
lockall
- call EverGrandeCity_DrakesRoom_EventScript_272475
+ call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor
setvar VAR_ELITE_4_STATE, 4
releaseall
end
-EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2
- call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_2286E7
+EverGrandeCity_DrakesRoom_OnLoad: @ 82286D2
+ call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom
compare VAR_ELITE_4_STATE, 4
- call_if_eq EverGrandeCity_DrakesRoom_EventScript_2286ED
+ call_if_eq EverGrandeCity_DrakesRoom_EventScript_CloseDoor
end
-EverGrandeCity_DrakesRoom_EventScript_2286E7:: @ 82286E7
- call EverGrandeCity_DrakesRoom_EventScript_2724BC
+EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom:: @ 82286E7
+ call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom
return
-EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED
- call EverGrandeCity_DrakesRoom_EventScript_27255F
+EverGrandeCity_DrakesRoom_EventScript_CloseDoor:: @ 82286ED
+ call PokemonLeague_EliteFour_EventScript_CloseDoor
return
-EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3
+EverGrandeCity_DrakesRoom_EventScript_Drake:: @ 82286F3
lock
faceplayer
- goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_22871A
+ goto_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_PostBattleSpeech
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_DrakesRoom_Text_22873E, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_228895
- goto EverGrandeCity_DrakesRoom_EventScript_228724
+ msgbox EverGrandeCity_DrakesRoom_Text_IntroSpeech, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_Defeat
+ goto EverGrandeCity_DrakesRoom_EventScript_Defeated
end
-EverGrandeCity_DrakesRoom_EventScript_22871A:: @ 822871A
- msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT
+EverGrandeCity_DrakesRoom_EventScript_PostBattleSpeech:: @ 822871A
+ msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_DrakesRoom_EventScript_228724:: @ 8228724
+EverGrandeCity_DrakesRoom_EventScript_Defeated:: @ 8228724
setvar VAR_0x8004, 0
- special sub_813BF7C
+ special Script_TryGainNewFanFromCounter
setflag FLAG_DEFEATED_ELITE_4_DRAKE
- call EverGrandeCity_DrakesRoom_EventScript_2723F8
- msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT
+ call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles
+ msgbox EverGrandeCity_DrakesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E
+EverGrandeCity_DrakesRoom_Text_IntroSpeech: @ 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"
@@ -74,10 +75,10 @@ EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E
.string "If you don't, then you will never\n"
.string "prevail over me!$"
-EverGrandeCity_DrakesRoom_Text_228895: @ 8228895
+EverGrandeCity_DrakesRoom_Text_Defeat: @ 8228895
.string "Superb, it should be said.$"
-EverGrandeCity_DrakesRoom_Text_2288B0: @ 82288B0
+EverGrandeCity_DrakesRoom_Text_PostBattleSpeech: @ 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"
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.json b/data/maps/EverGrandeCity_GlaciasRoom/map.json
index ea3116460..8d220202e 100644
--- a/data/maps/EverGrandeCity_GlaciasRoom/map.json
+++ b/data/maps/EverGrandeCity_GlaciasRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_GlaciasRoom_EventScript_228469",
+ "script": "EverGrandeCity_GlaciasRoom_EventScript_Glacia",
"flag": "0"
}
],
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
index 24960d95e..f852015a7 100644
--- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
@@ -1,65 +1,65 @@
EverGrandeCity_GlaciasRoom_MapScripts:: @ 8228412
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_GlaciasRoom_MapScript2_228431
- map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_GlaciasRoom_MapScript1_228448
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_GlaciasRoom_MapScript2_228422
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_GlaciasRoom_OnFrame
+ map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_GlaciasRoom_OnLoad
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_GlaciasRoom_OnWarp
.byte 0
-EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_GlaciasRoom_EventScript_22842C
+EverGrandeCity_GlaciasRoom_OnWarp: @ 8228422
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_GlaciasRoom_EventScript_PlayerTurnNorth
.2byte 0
-EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_GlaciasRoom_EventScript_PlayerTurnNorth:: @ 822842C
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431
- map_script_2 VAR_ELITE_4_STATE, 2, EverGrandeCity_GlaciasRoom_EventScript_22843B
+EverGrandeCity_GlaciasRoom_OnFrame: @ 8228431
+ map_script_2 VAR_ELITE_4_STATE, 2, EverGrandeCity_GlaciasRoom_EventScript_WalkInCloseDoor
.2byte 0
-EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B
+EverGrandeCity_GlaciasRoom_EventScript_WalkInCloseDoor:: @ 822843B
lockall
- call EverGrandeCity_GlaciasRoom_EventScript_272475
+ call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor
setvar VAR_ELITE_4_STATE, 3
releaseall
end
-EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448
- call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_22845D
+EverGrandeCity_GlaciasRoom_OnLoad: @ 8228448
+ call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom
compare VAR_ELITE_4_STATE, 3
- call_if_eq EverGrandeCity_GlaciasRoom_EventScript_228463
+ call_if_eq EverGrandeCity_GlaciasRoom_EventScript_CloseDoor
end
-EverGrandeCity_GlaciasRoom_EventScript_22845D:: @ 822845D
- call EverGrandeCity_GlaciasRoom_EventScript_2724BC
+EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom:: @ 822845D
+ call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom
return
-EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463
- call EverGrandeCity_GlaciasRoom_EventScript_27255F
+EverGrandeCity_GlaciasRoom_EventScript_CloseDoor:: @ 8228463
+ call PokemonLeague_EliteFour_EventScript_CloseDoor
return
-EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469
+EverGrandeCity_GlaciasRoom_EventScript_Glacia:: @ 8228469
lock
faceplayer
- goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_228490
+ goto_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_PostBattleSpeech
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_2285B4
- goto EverGrandeCity_GlaciasRoom_EventScript_22849A
+ msgbox EverGrandeCity_GlaciasRoom_Text_IntroSpeech, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_Defeat
+ goto EverGrandeCity_GlaciasRoom_EventScript_Defeated
end
-EverGrandeCity_GlaciasRoom_EventScript_228490:: @ 8228490
- msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT
+EverGrandeCity_GlaciasRoom_EventScript_PostBattleSpeech:: @ 8228490
+ msgbox EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_GlaciasRoom_EventScript_22849A:: @ 822849A
+EverGrandeCity_GlaciasRoom_EventScript_Defeated:: @ 822849A
setflag FLAG_DEFEATED_ELITE_4_GLACIA
- call EverGrandeCity_GlaciasRoom_EventScript_2723F8
- msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT
+ call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles
+ msgbox EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC
+EverGrandeCity_GlaciasRoom_Text_IntroSpeech: @ 82284AC
.string "Welcome, my name is GLACIA\n"
.string "of the ELITE FOUR.\p"
.string "I've traveled from afar to HOENN\n"
@@ -70,14 +70,14 @@ EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC
.string "It would please me to no end if I could\n"
.string "go all out against you!$"
-EverGrandeCity_GlaciasRoom_Text_2285B4: @ 82285B4
+EverGrandeCity_GlaciasRoom_Text_Defeat: @ 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
+EverGrandeCity_GlaciasRoom_Text_PostBattleSpeech: @ 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/maps/EverGrandeCity_Hall1/scripts.inc b/data/maps/EverGrandeCity_Hall1/scripts.inc
index d9a7adfe3..cd9bd27c1 100644
--- a/data/maps/EverGrandeCity_Hall1/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall1/scripts.inc
@@ -1,12 +1,12 @@
EverGrandeCity_Hall1_MapScripts:: @ 8229569
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall1_MapScript2_22956F
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall1_OnWarp
.byte 0
-EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall1_EventScript_229579
+EverGrandeCity_Hall1_OnWarp: @ 822956F
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall1_EventScript_TurnPlayerNorth
.2byte 0
-EverGrandeCity_Hall1_EventScript_229579:: @ 8229579
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_Hall1_EventScript_TurnPlayerNorth:: @ 8229579
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
diff --git a/data/maps/EverGrandeCity_Hall2/scripts.inc b/data/maps/EverGrandeCity_Hall2/scripts.inc
index b831d0fd5..4591aa111 100644
--- a/data/maps/EverGrandeCity_Hall2/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall2/scripts.inc
@@ -1,12 +1,12 @@
EverGrandeCity_Hall2_MapScripts:: @ 822957E
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall2_MapScript2_229584
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall2_OnWarp
.byte 0
-EverGrandeCity_Hall2_MapScript2_229584: @ 8229584
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall2_EventScript_22958E
+EverGrandeCity_Hall2_OnWarp: @ 8229584
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall2_EventScript_TurnPlayerNorth
.2byte 0
-EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_Hall2_EventScript_TurnPlayerNorth:: @ 822958E
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
diff --git a/data/maps/EverGrandeCity_Hall3/scripts.inc b/data/maps/EverGrandeCity_Hall3/scripts.inc
index d75cf95b6..7bd895fd0 100644
--- a/data/maps/EverGrandeCity_Hall3/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall3/scripts.inc
@@ -1,12 +1,12 @@
EverGrandeCity_Hall3_MapScripts:: @ 8229593
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall3_MapScript2_229599
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall3_OnWarp
.byte 0
-EverGrandeCity_Hall3_MapScript2_229599: @ 8229599
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall3_EventScript_2295A3
+EverGrandeCity_Hall3_OnWarp: @ 8229599
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall3_EventScript_TurnPlayerNorth
.2byte 0
-EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_Hall3_EventScript_TurnPlayerNorth:: @ 82295A3
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
diff --git a/data/maps/EverGrandeCity_Hall4/scripts.inc b/data/maps/EverGrandeCity_Hall4/scripts.inc
index faf20646a..54d7adfc3 100644
--- a/data/maps/EverGrandeCity_Hall4/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall4/scripts.inc
@@ -1,12 +1,12 @@
EverGrandeCity_Hall4_MapScripts:: @ 82295A8
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall4_MapScript2_2295AE
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall4_OnWarp
.byte 0
-EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall4_EventScript_2295B8
+EverGrandeCity_Hall4_OnWarp: @ 82295AE
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall4_EventScript_TurnPlayerNorth
.2byte 0
-EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_Hall4_EventScript_TurnPlayerNorth:: @ 82295B8
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
diff --git a/data/maps/EverGrandeCity_Hall5/scripts.inc b/data/maps/EverGrandeCity_Hall5/scripts.inc
index e586958c2..1ba85b999 100644
--- a/data/maps/EverGrandeCity_Hall5/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall5/scripts.inc
@@ -1,12 +1,12 @@
EverGrandeCity_Hall5_MapScripts:: @ 82295BD
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall5_MapScript2_2295C3
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_Hall5_OnWarp
.byte 0
-EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall5_EventScript_2295CD
+EverGrandeCity_Hall5_OnWarp: @ 82295C3
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_Hall5_EventScript_TurnPlayerNorth
.2byte 0
-EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_Hall5_EventScript_TurnPlayerNorth:: @ 82295CD
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
index 343614d85..89cda0e40 100644
--- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc
+++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
@@ -1,72 +1,72 @@
EverGrandeCity_HallOfFame_MapScripts:: @ 822982C
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_HallOfFame_MapScript2_229846
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_HallOfFame_MapScript2_229837
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_HallOfFame_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_HallOfFame_OnWarp
.byte 0
-EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_229841
+EverGrandeCity_HallOfFame_OnWarp: @ 8229837
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_TurnPlayerNorth
.2byte 0
-EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_HallOfFame_EventScript_TurnPlayerNorth:: @ 8229841
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_229850
+EverGrandeCity_HallOfFame_OnFrame: @ 8229846
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_HallOfFame_EventScript_EnterHallOfFame
.2byte 0
-EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850
+EverGrandeCity_HallOfFame_EventScript_EnterHallOfFame:: @ 8229850
lockall
- applymovement 1, EverGrandeCity_HallOfFame_Movement_229901
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229901
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1
waitmovement 0
- applymovement 1, Common_Movement_WalkInPlaceRight
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox EverGrandeCity_HallOfFame_Text_22990E, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_HallOfFame_Text_HereWeHonorLeagueChampions, MSGBOX_DEFAULT
closemessage
- applymovement 1, EverGrandeCity_HallOfFame_Movement_229908
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229908
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2
waitmovement 0
delay 20
- applymovement 1, Common_Movement_WalkInPlaceRight
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox EverGrandeCity_HallOfFame_Text_2299A3, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_HallOfFame_Text_LetsRecordYouAndYourPartnersNames, MSGBOX_DEFAULT
closemessage
- applymovement 1, Common_Movement_WalkInPlaceUp
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 20
dofieldeffect FLDEFF_HALL_OF_FAME_RECORD
waitfieldeffect FLDEFF_HALL_OF_FAME_RECORD
delay 40
setvar VAR_TEMP_1, 1
- call EverGrandeCity_HallOfFame_EventScript_2717C1
+ call EverGrandeCity_HallOfFame_EventScript_SetGameClearFlags
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298E9
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_GameClearMale
compare VAR_RESULT, FEMALE
- goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298F5
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_GameClearFemale
end
-EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9
+EverGrandeCity_HallOfFame_EventScript_GameClearMale:: @ 82298E9
setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F
- fadescreenspeed 1, 24
+ fadescreenspeed FADE_TO_BLACK, 24
special GameClear
waitstate
releaseall
end
-EverGrandeCity_HallOfFame_EventScript_2298F5:: @ 82298F5
+EverGrandeCity_HallOfFame_EventScript_GameClearFemale:: @ 82298F5
setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F
- fadescreenspeed 1, 24
+ fadescreenspeed FADE_TO_BLACK, 24
special GameClear
waitstate
releaseall
end
-EverGrandeCity_HallOfFame_Movement_229901: @ 8229901
+EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1: @ 8229901
walk_up
walk_up
walk_up
@@ -75,7 +75,7 @@ EverGrandeCity_HallOfFame_Movement_229901: @ 8229901
walk_up
step_end
-EverGrandeCity_HallOfFame_Movement_229908: @ 8229908
+EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2: @ 8229908
walk_up
walk_up
walk_up
@@ -83,7 +83,7 @@ EverGrandeCity_HallOfFame_Movement_229908: @ 8229908
walk_up
step_end
-EverGrandeCity_HallOfFame_Text_22990E: @ 822990E
+EverGrandeCity_HallOfFame_Text_HereWeHonorLeagueChampions: @ 822990E
.string "WALLACE: This room…\p"
.string "This is where we keep records of\n"
.string "POKéMON that prevailed through\l"
@@ -91,7 +91,7 @@ EverGrandeCity_HallOfFame_Text_22990E: @ 822990E
.string "It is here that the LEAGUE CHAMPIONS\n"
.string "are honored.$"
-EverGrandeCity_HallOfFame_Text_2299A3: @ 82299A3
+EverGrandeCity_HallOfFame_Text_LetsRecordYouAndYourPartnersNames: @ 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"
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.json b/data/maps/EverGrandeCity_PhoebesRoom/map.json
index a0072fd08..73ee3357d 100644
--- a/data/maps/EverGrandeCity_PhoebesRoom/map.json
+++ b/data/maps/EverGrandeCity_PhoebesRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PhoebesRoom_EventScript_2281CB",
+ "script": "EverGrandeCity_PhoebesRoom_EventScript_Phoebe",
"flag": "0"
}
],
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
index 971eff7ca..538e561cf 100644
--- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
@@ -1,65 +1,65 @@
EverGrandeCity_PhoebesRoom_MapScripts:: @ 8228174
- map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PhoebesRoom_MapScript1_2281AA
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PhoebesRoom_MapScript2_228184
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PhoebesRoom_MapScript2_228193
+ map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PhoebesRoom_OnLoad
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PhoebesRoom_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PhoebesRoom_OnFrame
.byte 0
-EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_PhoebesRoom_EventScript_22818E
+EverGrandeCity_PhoebesRoom_OnWarp: @ 8228184
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_PhoebesRoom_EventScript_PlayerTurnNorth
.2byte 0
-EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_PhoebesRoom_EventScript_PlayerTurnNorth:: @ 822818E
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193
- map_script_2 VAR_ELITE_4_STATE, 1, EverGrandeCity_PhoebesRoom_EventScript_22819D
+EverGrandeCity_PhoebesRoom_OnFrame: @ 8228193
+ map_script_2 VAR_ELITE_4_STATE, 1, EverGrandeCity_PhoebesRoom_EventScript_WalkInCloseDoor
.2byte 0
-EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D
+EverGrandeCity_PhoebesRoom_EventScript_WalkInCloseDoor:: @ 822819D
lockall
- call EverGrandeCity_PhoebesRoom_EventScript_272475
+ call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor
setvar VAR_ELITE_4_STATE, 2
releaseall
end
-EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA
- call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281BF
+EverGrandeCity_PhoebesRoom_OnLoad: @ 82281AA
+ call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom
compare VAR_ELITE_4_STATE, 2
- call_if_eq EverGrandeCity_PhoebesRoom_EventScript_2281C5
+ call_if_eq EverGrandeCity_PhoebesRoom_EventScript_CloseDoor
end
-EverGrandeCity_PhoebesRoom_EventScript_2281BF:: @ 82281BF
- call EverGrandeCity_PhoebesRoom_EventScript_2724BC
+EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom:: @ 82281BF
+ call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom
return
-EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5
- call EverGrandeCity_PhoebesRoom_EventScript_27255F
+EverGrandeCity_PhoebesRoom_EventScript_CloseDoor:: @ 82281C5
+ call PokemonLeague_EliteFour_EventScript_CloseDoor
return
-EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB
+EverGrandeCity_PhoebesRoom_EventScript_Phoebe:: @ 82281CB
lock
faceplayer
- goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_2281F2
+ goto_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_PostBattleSpeech
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_PhoebesRoom_Text_22820E, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_228325
- goto EverGrandeCity_PhoebesRoom_EventScript_2281FC
+ msgbox EverGrandeCity_PhoebesRoom_Text_IntroSpeech, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_Defeat
+ goto EverGrandeCity_PhoebesRoom_EventScript_Defeated
end
-EverGrandeCity_PhoebesRoom_EventScript_2281F2:: @ 82281F2
- msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT
+EverGrandeCity_PhoebesRoom_EventScript_PostBattleSpeech:: @ 82281F2
+ msgbox EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_PhoebesRoom_EventScript_2281FC:: @ 82281FC
+EverGrandeCity_PhoebesRoom_EventScript_Defeated:: @ 82281FC
setflag FLAG_DEFEATED_ELITE_4_PHOEBE
- call EverGrandeCity_PhoebesRoom_EventScript_2723F8
- msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT
+ call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles
+ msgbox EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E
+EverGrandeCity_PhoebesRoom_Text_IntroSpeech: @ 822820E
.string "Ahahaha!\p"
.string "I'm PHOEBE of the ELITE FOUR.\n"
.string "I did my training on MT. PYRE.\p"
@@ -70,11 +70,11 @@ EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E
.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
+EverGrandeCity_PhoebesRoom_Text_Defeat: @ 8228325
.string "Oh, darn.\n"
.string "I've gone and lost.$"
-EverGrandeCity_PhoebesRoom_Text_228343: @ 8228343
+EverGrandeCity_PhoebesRoom_Text_PostBattleSpeech: @ 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"
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json
index 38c527b34..23bbe085f 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A59",
+ "script": "EverGrandeCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A67",
+ "script": "EverGrandeCity_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A70",
+ "script": "EverGrandeCity_PokemonCenter_1F_EventScript_ExpertM",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_1F_EventScript_229A79",
+ "script": "EverGrandeCity_PokemonCenter_1F_EventScript_Scott",
"flag": "FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT"
}
],
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
index 0b292530e..95be20f75 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
@@ -1,45 +1,46 @@
EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34
map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
EverGrandeCity_PokemonCenter_1F_OnTransition: @ 8229A3F
setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1
- call_if_unset FLAG_MET_SCOTT_IN_EVERGRANDE, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C
+ call_if_unset FLAG_MET_SCOTT_IN_EVERGRANDE, EverGrandeCity_PokemonCenter_1F_EventScript_TryShowScott
end
-EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C
+EverGrandeCity_PokemonCenter_1F_EventScript_TryShowScott:: @ 8229A4C
goto_if_unset FLAG_BADGE06_GET, Common_EventScript_NopReturn
clearflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
return
-EverGrandeCity_PokemonCenter_1F_EventScript_229A59:: @ 8229A59
+@ VAR_0x800B is the Nurse's object event id
+EverGrandeCity_PokemonCenter_1F_EventScript_Nurse:: @ 8229A59
setvar VAR_0x800B, 1
- call EverGrandeCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-EverGrandeCity_PokemonCenter_1F_EventScript_229A67:: @ 8229A67
- msgbox EverGrandeCity_PokemonCenter_1F_Text_229ADA, MSGBOX_NPC
+EverGrandeCity_PokemonCenter_1F_EventScript_Woman:: @ 8229A67
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_LeagueAfterVictoryRoad, MSGBOX_NPC
end
-EverGrandeCity_PokemonCenter_1F_EventScript_229A70:: @ 8229A70
- msgbox EverGrandeCity_PokemonCenter_1F_Text_229B62, MSGBOX_NPC
+EverGrandeCity_PokemonCenter_1F_EventScript_ExpertM:: @ 8229A70
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_BelieveInYourPokemon, MSGBOX_NPC
end
-EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79
+EverGrandeCity_PokemonCenter_1F_EventScript_Scott:: @ 8229A79
lock
faceplayer
- msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_ScottHappyForYou, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AB6
- compare VAR_FACING, 4
- call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
- compare VAR_FACING, 3
- call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExitNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit
+ compare VAR_FACING, DIR_WEST
+ call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit
addvar VAR_SCOTT_STATE, 1
setflag FLAG_MET_SCOTT_IN_EVERGRANDE
playse SE_KAIDAN
@@ -48,17 +49,17 @@ EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79
release
end
-EverGrandeCity_PokemonCenter_1F_EventScript_229AB6:: @ 8229AB6
- applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229ACC
+EverGrandeCity_PokemonCenter_1F_EventScript_ScottExitNorth:: @ 8229AB6
+ applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_ScottExitNorth
waitmovement 0
return
-EverGrandeCity_PokemonCenter_1F_EventScript_229AC1:: @ 8229AC1
- applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229AD3
+EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit:: @ 8229AC1
+ applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_ScottExit
waitmovement 0
return
-EverGrandeCity_PokemonCenter_1F_Movement_229ACC: @ 8229ACC
+EverGrandeCity_PokemonCenter_1F_Movement_ScottExitNorth: @ 8229ACC
walk_left
walk_down
walk_down
@@ -67,7 +68,7 @@ EverGrandeCity_PokemonCenter_1F_Movement_229ACC: @ 8229ACC
walk_down
step_end
-EverGrandeCity_PokemonCenter_1F_Movement_229AD3: @ 8229AD3
+EverGrandeCity_PokemonCenter_1F_Movement_ScottExit: @ 8229AD3
walk_down
walk_down
walk_left
@@ -76,20 +77,20 @@ EverGrandeCity_PokemonCenter_1F_Movement_229AD3: @ 8229AD3
walk_down
step_end
-EverGrandeCity_PokemonCenter_1F_Text_229ADA: @ 8229ADA
+EverGrandeCity_PokemonCenter_1F_Text_LeagueAfterVictoryRoad: @ 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
+EverGrandeCity_PokemonCenter_1F_Text_BelieveInYourPokemon: @ 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
+EverGrandeCity_PokemonCenter_1F_Text_ScottHappyForYou: @ 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"
diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json
index f1dcd3868..b99590829 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json
+++ b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc
index 690032b8a..f52419d60 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonCenter_2F/scripts.inc
@@ -1,20 +1,21 @@
EverGrandeCity_PokemonCenter_2F_MapScripts:: @ 8229CE0
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-EverGrandeCity_PokemonCenter_2F_EventScript_229CF5:: @ 8229CF5
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+EverGrandeCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8229CF5
+ call CableClub_EventScript_Colosseum
end
-EverGrandeCity_PokemonCenter_2F_EventScript_229CFB:: @ 8229CFB
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+EverGrandeCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8229CFB
+ call CableClub_EventScript_TradeCenter
end
-EverGrandeCity_PokemonCenter_2F_EventScript_229D01:: @ 8229D01
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+EverGrandeCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8229D01
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json
index 2a9efbeaf..8efb63b9a 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_1F_EventScript_2295FC",
+ "script": "EverGrandeCity_PokemonLeague_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_1F_EventScript_22960A",
+ "script": "EverGrandeCity_PokemonLeague_1F_EventScript_Clerk",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_1F_EventScript_229636",
+ "script": "EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_1F_EventScript_229636",
+ "script": "EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard",
"flag": "0"
}
],
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
index f688918ea..814025895 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
@@ -1,39 +1,40 @@
EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2
map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, EverGrandeCity_PokemonLeague_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
EverGrandeCity_PokemonLeague_1F_OnTransition: @ 82295DD
setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2
setflag FLAG_LANDMARK_POKEMON_LEAGUE
- call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED
+ call_if_unset FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_GuardsBlockDoor
end
-EverGrandeCity_PokemonLeague_1F_EventScript_2295ED:: @ 82295ED
+EverGrandeCity_PokemonLeague_1F_EventScript_GuardsBlockDoor:: @ 82295ED
setobjectxyperm 3, 9, 2
setobjectxyperm 4, 10, 2
return
-EverGrandeCity_PokemonLeague_1F_EventScript_2295FC:: @ 82295FC
+@ VAR_0x800B is the Nurse's object event id
+EverGrandeCity_PokemonLeague_1F_EventScript_Nurse:: @ 82295FC
setvar VAR_0x800B, 1
- call EverGrandeCity_PokemonLeague_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-EverGrandeCity_PokemonLeague_1F_EventScript_22960A:: @ 822960A
+EverGrandeCity_PokemonLeague_1F_EventScript_Clerk:: @ 822960A
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart EverGrandeCity_PokemonLeague_1F_Pokemart_229624
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart EverGrandeCity_PokemonLeague_1F_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624
+EverGrandeCity_PokemonLeague_1F_Pokemart: @ 8229624
.2byte ITEM_ULTRA_BALL
.2byte ITEM_HYPER_POTION
.2byte ITEM_MAX_POTION
@@ -45,25 +46,27 @@ EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624
release
end
-EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636
+@ The door guards only check for FLAG_BADGE06_GET because Winonas badge is the only one that can be skipped
+@ Its assumed the player has the remaining badges
+EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard:: @ 8229636
lockall
- goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_2296BB
+ goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_GoForth
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_0, 11
- call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_229698
+ call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromRight
compare VAR_TEMP_0, 8
- call_if_le EverGrandeCity_PokemonLeague_1F_EventScript_2296A3
- message EverGrandeCity_PokemonLeague_1F_Text_2296E8
+ call_if_le EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromLeft
+ message EverGrandeCity_PokemonLeague_1F_Text_MustHaveAllGymBadges
waitmessage
delay 120
- goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE
+ goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_1F_EventScript_NotAllBadges
closemessage
- applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_2296E2
- applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_2296E5
+ applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_LeftGuardOutOfWay
+ applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_RightGuardOutOfWay
waitmovement 0
delay 10
playfanfare MUS_ME_BACHI
- message EverGrandeCity_PokemonLeague_1F_Text_2297EF
+ message EverGrandeCity_PokemonLeague_1F_Text_GoForth
waitmessage
waitfanfare
closemessage
@@ -73,67 +76,67 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636
releaseall
end
-EverGrandeCity_PokemonLeague_1F_EventScript_229698:: @ 8229698
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DA
+EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromRight:: @ 8229698
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromRight
waitmovement 0
return
-EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3
- applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DE
+EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromLeft:: @ 82296A3
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromLeft
waitmovement 0
return
-EverGrandeCity_PokemonLeague_1F_EventScript_2296AE:: @ 82296AE
+EverGrandeCity_PokemonLeague_1F_EventScript_NotAllBadges:: @ 82296AE
playse SE_HAZURE
- msgbox EverGrandeCity_PokemonLeague_1F_Text_229787, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_PokemonLeague_1F_Text_HaventObtainedAllBadges, MSGBOX_DEFAULT
releaseall
end
-EverGrandeCity_PokemonLeague_1F_EventScript_2296BB:: @ 82296BB
+EverGrandeCity_PokemonLeague_1F_EventScript_GoForth:: @ 82296BB
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
- msgbox EverGrandeCity_PokemonLeague_1F_Text_2297EF, MSGBOX_DEFAULT
+ msgbox EverGrandeCity_PokemonLeague_1F_Text_GoForth, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-EverGrandeCity_PokemonLeague_1F_Movement_2296DA: @ 82296DA
+EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromRight: @ 82296DA
walk_down
walk_left
walk_in_place_fastest_up
step_end
-EverGrandeCity_PokemonLeague_1F_Movement_2296DE: @ 82296DE
+EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromLeft: @ 82296DE
walk_down
walk_right
walk_in_place_fastest_up
step_end
-EverGrandeCity_PokemonLeague_1F_Movement_2296E2: @ 82296E2
+EverGrandeCity_PokemonLeague_1F_Movement_LeftGuardOutOfWay: @ 82296E2
walk_left
walk_in_place_fastest_down
step_end
-EverGrandeCity_PokemonLeague_1F_Movement_2296E5: @ 82296E5
+EverGrandeCity_PokemonLeague_1F_Movement_RightGuardOutOfWay: @ 82296E5
walk_right
walk_in_place_fastest_down
step_end
-EverGrandeCity_PokemonLeague_1F_Text_2296E8: @ 82296E8
+EverGrandeCity_PokemonLeague_1F_Text_MustHaveAllGymBadges: @ 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
+EverGrandeCity_PokemonLeague_1F_Text_HaventObtainedAllBadges: @ 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
+EverGrandeCity_PokemonLeague_1F_Text_GoForth: @ 82297EF
.string "TRAINER! Believe in yourself and your\n"
.string "POKéMON, and go forth!$"
diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json
index 0d0bb68a1..a016be34b 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json
+++ b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_PokemonLeague_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc
index 2a2652938..b860f95b8 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonLeague_2F/scripts.inc
@@ -1,19 +1,20 @@
EverGrandeCity_PokemonLeague_2F_MapScripts:: @ 8229D07
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-EverGrandeCity_PokemonLeague_2F_EventScript_229D1C:: @ 8229D1C
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+EverGrandeCity_PokemonLeague_2F_EventScript_Colosseum:: @ 8229D1C
+ call CableClub_EventScript_Colosseum
end
-EverGrandeCity_PokemonLeague_2F_EventScript_229D22:: @ 8229D22
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+EverGrandeCity_PokemonLeague_2F_EventScript_TradeCenter:: @ 8229D22
+ call CableClub_EventScript_TradeCenter
end
-EverGrandeCity_PokemonLeague_2F_EventScript_229D28:: @ 8229D28
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+EverGrandeCity_PokemonLeague_2F_EventScript_RecordCorner:: @ 8229D28
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.json b/data/maps/EverGrandeCity_SidneysRoom/map.json
index 87545b597..0aa57a944 100644
--- a/data/maps/EverGrandeCity_SidneysRoom/map.json
+++ b/data/maps/EverGrandeCity_SidneysRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "EverGrandeCity_SidneysRoom_EventScript_227F64",
+ "script": "EverGrandeCity_SidneysRoom_EventScript_Sidney",
"flag": "0"
}
],
diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
index 380b3aaf7..d671f4923 100644
--- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
@@ -1,8 +1,8 @@
EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01
- map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_SidneysRoom_MapScript1_227F1D
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F3E
+ map_script MAP_SCRIPT_ON_LOAD, EverGrandeCity_SidneysRoom_OnLoad
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_SidneysRoom_OnWarp
map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_SidneysRoom_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_SidneysRoom_MapScript2_227F4D
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_SidneysRoom_OnFrame
.byte 0
EverGrandeCity_SidneysRoom_OnTransition: @ 8227F16
@@ -10,63 +10,62 @@ EverGrandeCity_SidneysRoom_OnTransition: @ 8227F16
setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
end
-EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D
- call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_227F32
+EverGrandeCity_SidneysRoom_OnLoad: @ 8227F1D
+ call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom
compare VAR_ELITE_4_STATE, 1
- call_if_eq EverGrandeCity_SidneysRoom_EventScript_227F38
+ call_if_eq EverGrandeCity_SidneysRoom_EventScript_CloseDoor
end
-EverGrandeCity_SidneysRoom_EventScript_227F32:: @ 8227F32
- call EverGrandeCity_SidneysRoom_EventScript_2724BC
+EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom:: @ 8227F32
+ call PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom
return
-EverGrandeCity_SidneysRoom_EventScript_227F38:: @ 8227F38
- call EverGrandeCity_SidneysRoom_EventScript_27255F
+EverGrandeCity_SidneysRoom_EventScript_CloseDoor:: @ 8227F38
+ call PokemonLeague_EliteFour_EventScript_CloseDoor
return
-EverGrandeCity_DrakesRoom_MapScript2_227F3E: @ 8227F3E
-EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E
- map_script_2 VAR_TEMP_1, 0, EverGrandeCity_SidneysRoom_EventScript_227F48
+EverGrandeCity_SidneysRoom_OnWarp: @ 8227F3E
+ map_script_2 VAR_TEMP_1, 0, EverGrandeCity_SidneysRoom_EventScript_PlayerTurnNorth
.2byte 0
-EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48
- turnobject EVENT_OBJ_ID_PLAYER, 2
+EverGrandeCity_SidneysRoom_EventScript_PlayerTurnNorth:: @ 8227F48
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D
- map_script_2 VAR_ELITE_4_STATE, 0, EverGrandeCity_SidneysRoom_EventScript_227F57
+EverGrandeCity_SidneysRoom_OnFrame: @ 8227F4D
+ map_script_2 VAR_ELITE_4_STATE, 0, EverGrandeCity_SidneysRoom_EventScript_WalkInCloseDoor
.2byte 0
-EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57
+EverGrandeCity_SidneysRoom_EventScript_WalkInCloseDoor:: @ 8227F57
lockall
- call EverGrandeCity_SidneysRoom_EventScript_272475
+ call PokemonLeague_EliteFour_EventScript_WalkInCloseDoor
setvar VAR_ELITE_4_STATE, 1
releaseall
end
-EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64
+EverGrandeCity_SidneysRoom_EventScript_Sidney:: @ 8227F64
lock
faceplayer
- goto_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_227F8B
+ goto_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_PostBattleSpeech
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_SidneysRoom_Text_227FA7, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_2280A2
- goto EverGrandeCity_SidneysRoom_EventScript_227F95
+ msgbox EverGrandeCity_SidneysRoom_Text_IntroSpeech, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_Defeat
+ goto EverGrandeCity_SidneysRoom_EventScript_Defeated
end
-EverGrandeCity_SidneysRoom_EventScript_227F8B:: @ 8227F8B
- msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT
+EverGrandeCity_SidneysRoom_EventScript_PostBattleSpeech:: @ 8227F8B
+ msgbox EverGrandeCity_SidneysRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_SidneysRoom_EventScript_227F95:: @ 8227F95
+EverGrandeCity_SidneysRoom_EventScript_Defeated:: @ 8227F95
setflag FLAG_DEFEATED_ELITE_4_SIDNEY
- call EverGrandeCity_SidneysRoom_EventScript_2723F8
- msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT
+ call PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles
+ msgbox EverGrandeCity_SidneysRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
release
end
-EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7
+EverGrandeCity_SidneysRoom_Text_IntroSpeech: @ 8227FA7
.string "Welcome, challenger!\n"
.string "I'm SIDNEY of the ELITE FOUR.\p"
.string "I like that look you're giving me.\n"
@@ -76,11 +75,11 @@ EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7
.string "a battle that can only be staged\l"
.string "here in the POKéMON LEAGUE!$"
-EverGrandeCity_SidneysRoom_Text_2280A2: @ 82280A2
+EverGrandeCity_SidneysRoom_Text_Defeat: @ 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
+EverGrandeCity_SidneysRoom_Text_PostBattleSpeech: @ 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"
diff --git a/data/maps/FallarborTown/map.json b/data/maps/FallarborTown/map.json
index 863319184..b0475451a 100644
--- a/data/maps/FallarborTown/map.json
+++ b/data/maps/FallarborTown/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_EventScript_1EB22B",
+ "script": "FallarborTown_EventScript_Girl",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_EventScript_1EB20C",
+ "script": "FallarborTown_EventScript_ExpertM",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_EventScript_1EB234",
+ "script": "FallarborTown_EventScript_Gentleman",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_EventScript_1EB23D",
+ "script": "FallarborTown_EventScript_Azurill",
"flag": "FLAG_HIDE_FALLARBOR_AZURILL"
}
],
@@ -104,14 +104,14 @@
"x": 6,
"y": 17,
"elevation": 0,
- "dest_map": "MAP_FALLARBOR_TOWN_HOUSE1",
+ "dest_map": "MAP_FALLARBOR_TOWN_COZMOS_HOUSE",
"dest_warp_id": 0
},
{
"x": 1,
"y": 6,
"elevation": 0,
- "dest_map": "MAP_FALLARBOR_TOWN_HOUSE2",
+ "dest_map": "MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE",
"dest_warp_id": 0
}
],
@@ -139,7 +139,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "FallarborTown_EventScript_1EB250"
+ "script": "FallarborTown_EventScript_BattleTentSign"
},
{
"type": "sign",
@@ -155,7 +155,7 @@
"y": 11,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "FallarborTown_EventScript_1EB259"
+ "script": "FallarborTown_EventScript_TownSign"
},
{
"type": "sign",
@@ -171,7 +171,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "FallarborTown_EventScript_1EB262"
+ "script": "FallarborTown_EventScript_MoveTutorSign"
},
{
"type": "hidden_item",
diff --git a/data/maps/FallarborTown/scripts.inc b/data/maps/FallarborTown/scripts.inc
index 15942007b..a94c81ae9 100644
--- a/data/maps/FallarborTown/scripts.inc
+++ b/data/maps/FallarborTown/scripts.inc
@@ -4,74 +4,74 @@ FallarborTown_MapScripts:: @ 81EB1FA
FallarborTown_OnTransition: @ 81EB200
setflag FLAG_VISITED_FALLARBOR_TOWN
- setvar VAR_LINK_CONTEST_ROOM_STATE, 0
+ setvar VAR_CONTEST_HALL_STATE, 0
clearflag FLAG_CONTEST_SKETCH_CREATED
end
-FallarborTown_EventScript_1EB20C:: @ 81EB20C
+FallarborTown_EventScript_ExpertM:: @ 81EB20C
lock
faceplayer
- goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_EventScript_1EB221
- msgbox FallarborTown_Text_1EB26B, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_EventScript_ExpertMNormal
+ msgbox FallarborTown_Text_ShadyCharactersCozmosHome, MSGBOX_DEFAULT
release
end
-FallarborTown_EventScript_1EB221:: @ 81EB221
- msgbox FallarborTown_Text_1EB2DE, MSGBOX_DEFAULT
+FallarborTown_EventScript_ExpertMNormal:: @ 81EB221
+ msgbox FallarborTown_Text_RegionKnownForMeteors, MSGBOX_DEFAULT
release
end
-FallarborTown_EventScript_1EB22B:: @ 81EB22B
- msgbox FallarborTown_Text_1EB35F, MSGBOX_NPC
+FallarborTown_EventScript_Girl:: @ 81EB22B
+ msgbox FallarborTown_Text_MyPreciousAzurill, MSGBOX_NPC
end
-FallarborTown_EventScript_1EB234:: @ 81EB234
- msgbox FallarborTown_Text_1EB3CA, MSGBOX_NPC
+FallarborTown_EventScript_Gentleman:: @ 81EB234
+ msgbox FallarborTown_Text_HaveYouChallengedFlannery, MSGBOX_NPC
end
-FallarborTown_EventScript_1EB23D:: @ 81EB23D
+FallarborTown_EventScript_Azurill:: @ 81EB23D
lock
faceplayer
waitse
playmoncry SPECIES_AZURILL, 0
- msgbox FallarborTown_Text_1EB3B5, MSGBOX_DEFAULT
+ msgbox FallarborTown_Text_Azurill, MSGBOX_DEFAULT
waitmoncry
release
end
-FallarborTown_EventScript_1EB250:: @ 81EB250
- msgbox FallarborTown_Text_1EB4C2, MSGBOX_SIGN
+FallarborTown_EventScript_BattleTentSign:: @ 81EB250
+ msgbox FallarborTown_Text_BattleTentSign, MSGBOX_SIGN
end
-FallarborTown_EventScript_1EB259:: @ 81EB259
- msgbox FallarborTown_Text_1EB4FE, MSGBOX_SIGN
+FallarborTown_EventScript_TownSign:: @ 81EB259
+ msgbox FallarborTown_Text_TownSign, MSGBOX_SIGN
end
-FallarborTown_EventScript_1EB262:: @ 81EB262
- msgbox FallarborTown_Text_1EB534, MSGBOX_SIGN
+FallarborTown_EventScript_MoveTutorSign:: @ 81EB262
+ msgbox FallarborTown_Text_MoveTutorSign, MSGBOX_SIGN
end
-FallarborTown_Text_1EB26B: @ 81EB26B
+FallarborTown_Text_ShadyCharactersCozmosHome: @ 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
+FallarborTown_Text_RegionKnownForMeteors: @ 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
+FallarborTown_Text_MyPreciousAzurill: @ 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
+FallarborTown_Text_Azurill: @ 81EB3B5
.string "AZURILL: Rooreelooo.$"
-FallarborTown_Text_1EB3CA: @ 81EB3CA
+FallarborTown_Text_HaveYouChallengedFlannery: @ 81EB3CA
.string "Have you already challenged FLANNERY,\n"
.string "the LEADER of LAVARIDGE GYM?\p"
.string "The girl's grandfather was famous.\n"
@@ -81,15 +81,15 @@ FallarborTown_Text_1EB3CA: @ 81EB3CA
.string "become a great TRAINER in her own\l"
.string "right.$"
-FallarborTown_Text_1EB4C2: @ 81EB4C2
+FallarborTown_Text_BattleTentSign: @ 81EB4C2
.string "BATTLE TENT FALLARBOR SITE\n"
.string "“May the Greatest Teams Gather!”$"
-FallarborTown_Text_1EB4FE: @ 81EB4FE
+FallarborTown_Text_TownSign: @ 81EB4FE
.string "FALLARBOR TOWN\n"
.string "“A farm community with small gardens.”$"
-FallarborTown_Text_1EB534: @ 81EB534
+FallarborTown_Text_MoveTutorSign: @ 81EB534
.string "MOVE TUTOR'S HOUSE\n"
.string "“New moves taught to POKéMON.”$"
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
index 7501f6e8d..d60b561ce 100644
--- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
@@ -1,223 +1,198 @@
FallarborTown_BattleTentBattleRoom_MapScripts:: @ 8200899
map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_BattleTentBattleRoom_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentBattleRoom_MapScript2_2008DD
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentBattleRoom_MapScript2_200BB0
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentBattleRoom_OnWarp
.byte 0
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_1
+ @ The opponent is represented by object event 3, which has the gfx id VAR_OBJ_GFX_ID_0
+
FallarborTown_BattleTentBattleRoom_OnTransition: @ 82008A9
- call FallarborTown_BattleTentBattleRoom_EventScript_2008AF
+ call FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfx
end
-FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF
+FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfx:: @ 82008AF
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7
+ goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
compare VAR_RESULT, FEMALE
- goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2
+ goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
return
-FallarborTown_BattleTentBattleRoom_EventScript_2008C7:: @ 82008C7
+FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale:: @ 82008C7
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-FallarborTown_BattleTentBattleRoom_EventScript_2008D2:: @ 82008D2
+FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale:: @ 82008D2
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-FallarborTown_BattleTentBattleRoom_MapScript2_2008DD: @ 82008DD
- map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentBattleRoom_EventScript_2008E7
+FallarborTown_BattleTentBattleRoom_OnFrame: @ 82008DD
+ map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentBattleRoom_EventScript_EnterRoom
.2byte 0
-FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7
+FallarborTown_BattleTentBattleRoom_EventScript_EnterRoom:: @ 82008E7
lockall
showobjectat 1, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
- applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B8D
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerEnter
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
- goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_200B73
-
-FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F
- setvar VAR_0x8004, 3
- special sub_8161F74
+ goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge
+FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter:: @ 820090F
+ tower_setopponent
addobject 3
- applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B96
+ applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_OpponentEnter
waitmovement 0
- applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump
playse SE_W187
waitse
waitmovement 0
- msgbox FallarborTown_BattleTentBattleRoom_Text_257C93, MSGBOX_DEFAULT
- setvar VAR_0x8004, 4
- special sub_81B99B4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT
+ battletent_getopponentintro
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
- call FallarborTown_BattleTentBattleRoom_EventScript_257B6C
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle
switch VAR_RESULT
- case 1, FallarborTown_BattleTentBattleRoom_EventScript_20099C
- applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3
+ case 1, FallarborTown_BattleTentBattleRoom_EventScript_DefeatedOpponent
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump
playse SE_W173
waitse
waitmovement 0
- setvar VAR_0x8004, 6
- special sub_81B9B80
- msgbox FallarborTown_BattleTentBattleRoom_Text_257CCE, MSGBOX_DEFAULT
-
-FallarborTown_BattleTentBattleRoom_EventScript_20097E:: @ 820097E
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 4
- special CallFrontierUtilFunc
+ fallarbortent_getopponentname
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsOpponent, MSGBOX_DEFAULT
+FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost:: @ 820097E
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
-FallarborTown_BattleTentBattleRoom_EventScript_20099C:: @ 820099C
- applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3
+FallarborTown_BattleTentBattleRoom_EventScript_DefeatedOpponent:: @ 820099C
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump
playse SE_BAN
waitse
waitmovement 0
- msgbox FallarborTown_BattleTentBattleRoom_Text_257CB3, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsPlayer, MSGBOX_DEFAULT
closemessage
-
-FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum:: @ 82009B3
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
- case 3, FallarborTown_BattleTentBattleRoom_EventScript_200AF3
- applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B9E
+ case 3, FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon
+ applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject 3
- applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer
waitmovement 0
- applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant
waitmovement 0
- msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
-
-FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge:: @ 8200A2A
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
- call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B43
+ call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent
compare VAR_RESULT, 2
- call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B4A
- multichoice 20, 6, 104, 1
+ call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1
switch VAR_RESULT
- case 0, FallarborTown_BattleTentBattleRoom_EventScript_200AD8
- case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A78
- case 2, FallarborTown_BattleTentBattleRoom_EventScript_200AA6
+ case 0, FallarborTown_BattleTentBattleRoom_EventScript_ContinueChallenge
+ case 1, FallarborTown_BattleTentBattleRoom_EventScript_AskPauseChallenge
+ case 2, FallarborTown_BattleTentBattleRoom_EventScript_AskRetireChallenge
-FallarborTown_BattleTentBattleRoom_EventScript_200A78:: @ 8200A78
- msgbox FallarborTown_BattleTentBattleRoom_Text_257E6B, MSGBOX_YESNO
+FallarborTown_BattleTentBattleRoom_EventScript_AskPauseChallenge:: @ 8200A78
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_SaveAndShutDown, MSGBOX_YESNO
switch VAR_RESULT
- case 0, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
- case 1, FallarborTown_BattleTentBattleRoom_EventScript_200B51
- case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+ case NO, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
+ case YES, FallarborTown_BattleTentBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
-FallarborTown_BattleTentBattleRoom_EventScript_200AA6:: @ 8200AA6
- message FallarborTown_BattleTentBattleRoom_Text_257E9E
+FallarborTown_BattleTentBattleRoom_EventScript_AskRetireChallenge:: @ 8200AA6
+ message BattleFrontier_BattleArenaBattleRoom_Text_RetireFromChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
- case 0, FallarborTown_BattleTentBattleRoom_EventScript_20097E
- case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+ case 1, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
+ case 0, FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost
+ case MULTI_B_PRESSED, FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
-FallarborTown_BattleTentBattleRoom_EventScript_200AD8:: @ 8200AD8
+FallarborTown_BattleTentBattleRoom_EventScript_ContinueChallenge:: @ 8200AD8
closemessage
- applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BAB
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantReturnToPos
waitmovement 0
- applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B92
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceBattle
waitmovement 0
- goto FallarborTown_BattleTentBattleRoom_EventScript_20090F
+ goto FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter
waitstate
-FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3
+FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon:: @ 8200AF3
delay 60
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- special CallBattleArenaFunction
- compare VAR_RESULT, 9999
- goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3
+
+@ Unreachable code block? The flow into the next block also doesnt make sense
+ arena_get ARENA_DATA_WIN_STREAK
+ compare VAR_RESULT, MAX_STREAK
+ goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- copyvar VAR_0x8006, VAR_RESULT
- special CallBattleArenaFunction
+ arena_set ARENA_DATA_WIN_STREAK, VAR_RESULT
+@ See above
-FallarborTown_BattleTentBattleRoom_EventScript_200B43:: @ 8200B43
- message FallarborTown_BattleTentBattleRoom_Text_257D17
+FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8200B43
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor2ndOpponent
waitmessage
return
-FallarborTown_BattleTentBattleRoom_EventScript_200B4A:: @ 8200B4A
- message FallarborTown_BattleTentBattleRoom_Text_257D50
+FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 8200B4A
+ message BattleFrontier_BattleArenaBattleRoom_Text_ReadyFor3rdOpponent
waitmessage
return
-FallarborTown_BattleTentBattleRoom_EventScript_200B51:: @ 8200B51
- message FallarborTown_BattleTentBattleRoom_Text_257EDB
+FallarborTown_BattleTentBattleRoom_EventScript_PauseChallenge:: @ 8200B51
+ message BattleFrontier_BattleArenaBattleRoom_Text_SavingPleaseWait
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 2
- special sub_81B9B80
+ fallarbortent_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-FallarborTown_BattleTentBattleRoom_EventScript_200B73:: @ 8200B73
- applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6
+FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge:: @ 8200B73
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer
waitmovement 0
- applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant
waitmovement 0
- goto FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+ goto FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
end
-FallarborTown_BattleTentBattleRoom_Movement_200B8D: @ 8200B8D
+FallarborTown_BattleTentBattleRoom_Movement_PlayerEnter: @ 8200B8D
walk_up
walk_up
walk_up
walk_in_place_fastest_right
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200B92: @ 8200B92
+FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceBattle: @ 8200B92
walk_in_place_fastest_right
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200B94: @ 8200B94
+FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant: @ 8200B94
walk_in_place_fastest_left
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200B96: @ 8200B96
+FallarborTown_BattleTentBattleRoom_Movement_OpponentEnter: @ 8200B96
walk_down
walk_down
walk_down
@@ -225,41 +200,42 @@ FallarborTown_BattleTentBattleRoom_Movement_200B96: @ 8200B96
walk_in_place_fastest_left
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200B9C: @ 8200B9C
+@ Unused
+FallarborTown_BattleTentBattleRoom_Movement_OpponentStepForward: @ 8200B9C
walk_left
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200B9E: @ 8200B9E
+FallarborTown_BattleTentBattleRoom_Movement_OpponentExit: @ 8200B9E
walk_up
walk_up
walk_up
walk_up
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200BA3: @ 8200BA3
+FallarborTown_BattleTentBattleRoom_Movement_AttendantJump: @ 8200BA3
disable_jump_landing_ground_effect
jump_in_place_down
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200BA6: @ 8200BA6
+FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer: @ 8200BA6
walk_down
walk_down
walk_down
walk_in_place_fastest_right
step_end
-FallarborTown_BattleTentBattleRoom_Movement_200BAB: @ 8200BAB
+FallarborTown_BattleTentBattleRoom_Movement_AttendantReturnToPos: @ 8200BAB
walk_up
walk_up
walk_up
walk_in_place_fastest_down
step_end
-FallarborTown_BattleTentBattleRoom_MapScript2_200BB0: @ 8200BB0
- map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentBattleRoom_EventScript_200BBA
+FallarborTown_BattleTentBattleRoom_OnWarp: @ 8200BB0
+ map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentBattleRoom_EventScript_SetUpObjects
.2byte 0
-FallarborTown_BattleTentBattleRoom_EventScript_200BBA:: @ 8200BBA
+FallarborTown_BattleTentBattleRoom_EventScript_SetUpObjects:: @ 8200BBA
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
hideobjectat 1, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
removeobject 3
diff --git a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
index 327033829..bc8bdb512 100644
--- a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
@@ -1,21 +1,21 @@
FallarborTown_BattleTentCorridor_MapScripts:: @ 82006A7
- map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentCorridor_MapScript2_2006AD
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentCorridor_OnFrame
.byte 0
-FallarborTown_BattleTentCorridor_MapScript2_2006AD: @ 82006AD
- map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentCorridor_EventScript_2006B7
+FallarborTown_BattleTentCorridor_OnFrame: @ 82006AD
+ map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentCorridor_EventScript_EnterCorridor
.2byte 0
-FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7
+FallarborTown_BattleTentCorridor_EventScript_EnterCorridor:: @ 82006B7
lockall
setvar VAR_TEMP_0, 1
- applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB
- applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_2006FB
+ applymovement 1, FallarborTown_BattleTentCorridor_Movement_WalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_WalkToDoor
waitmovement 0
opendoor 2, 1
waitdooranim
- applymovement 1, FallarborTown_BattleTentCorridor_Movement_200701
- applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_200700
+ applymovement 1, FallarborTown_BattleTentCorridor_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_PlayerEnterDoor
waitmovement 0
closedoor 2, 1
waitdooranim
@@ -25,40 +25,44 @@ FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7
releaseall
end
-FallarborTown_BattleTentCorridor_Movement_2006FB: @ 82006FB
+FallarborTown_BattleTentCorridor_Movement_WalkToDoor: @ 82006FB
walk_up
walk_up
walk_up
walk_up
step_end
-FallarborTown_BattleTentCorridor_Movement_200700: @ 8200700
+FallarborTown_BattleTentCorridor_Movement_PlayerEnterDoor: @ 8200700
walk_up
-
-FallarborTown_BattleTentCorridor_Movement_200701: @ 8200701
+FallarborTown_BattleTentCorridor_Movement_AttendantEnterDoor: @ 8200701
walk_up
set_invisible
step_end
-FallarborTown_BattleTentCorridor_Text_200704: @ 8200704
+@ Leftover text from when this was a Contest Hall in R/S
+@ Unused
+FallarborTown_ContestHall_Text_DoAllRightInPreliminary: @ 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
+@ Unused
+FallarborTown_ContestHall_Text_MonAllTheseRibbons: @ 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
+@ Unused
+FallarborTown_ContestHall_Text_CantWinEverywhere: @ 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
+@ Unused
+FallarborTown_ContestHall_Text_SuperRankStage: @ 8200876
.string "POKéMON CONTESTS\n"
.string "SUPER RANK STAGE!$"
diff --git a/data/maps/FallarborTown_BattleTentLobby/map.json b/data/maps/FallarborTown_BattleTentLobby/map.json
index aa65e71a0..b48119689 100644
--- a/data/maps/FallarborTown_BattleTentLobby/map.json
+++ b/data/maps/FallarborTown_BattleTentLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_BattleTentLobby_EventScript_200001",
+ "script": "FallarborTown_BattleTentLobby_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_BattleTentLobby_EventScript_20020D",
+ "script": "FallarborTown_BattleTentLobby_EventScript_Hiker",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_BattleTentLobby_EventScript_200216",
+ "script": "FallarborTown_BattleTentLobby_EventScript_LittleBoy",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_BattleTentLobby_EventScript_20021F",
+ "script": "FallarborTown_BattleTentLobby_EventScript_Lass",
"flag": "0"
},
{
@@ -76,8 +76,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_BattleTentLobby_EventScript_200228",
- "flag": "FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT"
+ "script": "FallarborTown_BattleTentLobby_EventScript_Scott",
+ "flag": "FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT"
}
],
"warp_events": [
@@ -104,7 +104,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "FallarborTown_BattleTentLobby_EventScript_20024F"
+ "script": "FallarborTown_BattleTentLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
index f6b7e1097..53006f577 100644
--- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
@@ -1,368 +1,317 @@
FallarborTown_BattleTentLobby_MapScripts:: @ 81FFE66
- map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentLobby_MapScript2_1FFE85
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentLobby_MapScript2_1FFE71
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentLobby_OnWarp
.byte 0
-FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71
- map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentLobby_EventScript_1FFE7B
+FallarborTown_BattleTentLobby_OnWarp: @ 81FFE71
+ map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth
.2byte 0
-FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B
+FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth:: @ 81FFE7B
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85
- map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_1FFEAF
- map_script_2 VAR_TEMP_0, 1, FallarborTown_BattleTentLobby_EventScript_1FFEB8
- map_script_2 VAR_TEMP_0, 2, FallarborTown_BattleTentLobby_EventScript_1FFFCD
- map_script_2 VAR_TEMP_0, 3, FallarborTown_BattleTentLobby_EventScript_1FFEED
- map_script_2 VAR_TEMP_0, 4, FallarborTown_BattleTentLobby_EventScript_1FFF93
+FallarborTown_BattleTentLobby_OnFrame: @ 81FFE85
+ map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_LostChallenge
.2byte 0
-FallarborTown_BattleTentLobby_EventScript_1FFEAF:: @ 81FFEAF
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus:: @ 81FFEAF
+ frontier_getstatus
end
-FallarborTown_BattleTentLobby_EventScript_1FFEB8:: @ 81FFEB8
+FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving:: @ 81FFEB8
lockall
- msgbox FallarborTown_BattleTentLobby_Text_2C4DED, MSGBOX_DEFAULT
+ msgbox FallarborTown_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
releaseall
end
-FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED
+FallarborTown_BattleTentLobby_EventScript_WonChallenge:: @ 81FFEED
lockall
- msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, MSGBOX_DEFAULT
- message FallarborTown_BattleTentLobby_Text_2C4EFF
+ msgbox FallarborTown_BattleTentLobby_Text_BeatThreeTrainers, MSGBOX_DEFAULT
+ message FallarborTown_BattleTentLobby_Text_WaitWhileSaveGame
waitmessage
- setvar VAR_0x8004, 4
- special sub_81B9B80
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special sub_81B9B80
+ fallarbortent_setrandomprize
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ fallarbortent_save 0
playse SE_SAVE
waitse
-FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27
- msgbox FallarborTown_BattleTentLobby_Text_2C4F22, MSGBOX_DEFAULT
- setvar VAR_0x8004, 5
- special sub_81B9B80
+FallarborTown_BattleTentLobby_EventScript_GivePrize:: @ 81FFF27
+ msgbox FallarborTown_BattleTentLobby_Text_PresentYouWithPrize, MSGBOX_DEFAULT
+ fallarbortent_giveprize
switch VAR_RESULT
- case 0, FallarborTown_BattleTentLobby_EventScript_1FFF73
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- message FallarborTown_BattleTentLobby_Text_2C4F69
+ case FALSE, FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ message FallarborTown_BattleTentLobby_Text_ReceivedPrize
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox FallarborTown_BattleTentLobby_Text_2C501F, MSGBOX_DEFAULT
+ msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-FallarborTown_BattleTentLobby_EventScript_1FFF73:: @ 81FFF73
- msgbox FallarborTown_BattleTentLobby_Text_2C4F83, MSGBOX_DEFAULT
+FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize:: @ 81FFF73
+ msgbox FallarborTown_BattleTentLobby_Text_BagFullReturnForPrize, MSGBOX_DEFAULT
waitmessage
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-FallarborTown_BattleTentLobby_EventScript_1FFF84:: @ 81FFF84
+FallarborTown_BattleTentLobby_EventScript_PrizeWaiting:: @ 81FFF84
lockall
- msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_1FFF27
+ msgbox FallarborTown_BattleTentLobby_Text_BeatThreeTrainers, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_GivePrize
end
-FallarborTown_BattleTentLobby_EventScript_1FFF93:: @ 81FFF93
+FallarborTown_BattleTentLobby_EventScript_LostChallenge:: @ 81FFF93
lockall
- message FallarborTown_BattleTentLobby_Text_2C4FD7
+ message FallarborTown_BattleTentLobby_Text_ThankYouWaitWhileSaving
waitmessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special sub_81B9B80
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ fallarbortent_save 0
playse SE_SAVE
waitse
- msgbox FallarborTown_BattleTentLobby_Text_2C501F, MSGBOX_DEFAULT
+ msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-FallarborTown_BattleTentLobby_EventScript_1FFFCD:: @ 81FFFCD
+FallarborTown_BattleTentLobby_EventScript_ResumeChallenge:: @ 81FFFCD
lockall
- message FallarborTown_BattleTentLobby_Text_2C504C
+ message FallarborTown_BattleTentLobby_Text_LookingForwardToArrival
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 1
- special sub_81B9B80
+ fallarbortent_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
- goto FallarborTown_BattleTentLobby_EventScript_20013C
+ goto FallarborTown_BattleTentLobby_EventScript_EnterChallenge
-FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001
+FallarborTown_BattleTentLobby_EventScript_Attendant:: @ 8200001
lock
faceplayer
- setvar VAR_0x8004, 1
- special sub_81B9B80
- compare VAR_RESULT, 0
- goto_if_ne FallarborTown_BattleTentLobby_EventScript_1FFF84
+ fallarbortent_getprize
+ compare VAR_RESULT, ITEM_NONE
+ goto_if_ne FallarborTown_BattleTentLobby_EventScript_PrizeWaiting
special SavePlayerParty
- msgbox FallarborTown_BattleTentLobby_Text_2C47EB, MSGBOX_DEFAULT
-
-FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021
- message FallarborTown_BattleTentLobby_Text_2C4843
+ msgbox FallarborTown_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT
+FallarborTown_BattleTentLobby_EventScript_AskEnterChallenge:: @ 8200021
+ message FallarborTown_BattleTentLobby_Text_TakeChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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_FRONTIER_BATTLE_MODE, 0
+ case 0, FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge
+ case 1, FallarborTown_BattleTentLobby_EventScript_ExplainChallenge
+ case 2, FallarborTown_BattleTentLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_CancelChallenge
+
+FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge:: @ 820005D
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
setvar VAR_RESULT, 2
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq FallarborTown_BattleTentLobby_EventScript_200176
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 2
- special CallFrontierUtilFunc
- msgbox FallarborTown_BattleTentLobby_Text_2C4BC8, MSGBOX_DEFAULT
- fadescreen 1
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
+ msgbox FallarborTown_BattleTentLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001C2
- msgbox FallarborTown_BattleTentLobby_Text_2C4B35, MSGBOX_YESNO
+ goto_if_eq FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
+ msgbox FallarborTown_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, FallarborTown_BattleTentLobby_EventScript_2001C2
- case 1, FallarborTown_BattleTentLobby_EventScript_2000E2
- case 127, FallarborTown_BattleTentLobby_EventScript_2001C2
+ case NO, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
+ case YES, FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
-FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
+FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: @ 82000E2
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special sub_81B9B80
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ fallarbortent_init
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001AB
-
-FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C
+ goto_if_eq FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
+FallarborTown_BattleTentLobby_EventScript_EnterChallenge:: @ 820013C
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- msgbox FallarborTown_BattleTentLobby_Text_2C4DC3, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ msgbox FallarborTown_BattleTentLobby_Text_GuideYouToBattleTent, MSGBOX_DEFAULT
closemessage
- call FallarborTown_BattleTentLobby_EventScript_2001CF
+ call FallarborTown_BattleTentLobby_EventScript_WalkToDoor
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
setvar VAR_TEMP_0, 0
waitstate
end
-FallarborTown_BattleTentLobby_EventScript_200169:: @ 8200169
- msgbox FallarborTown_BattleTentLobby_Text_2C48AC, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_200021
+FallarborTown_BattleTentLobby_EventScript_ExplainChallenge:: @ 8200169
+ msgbox FallarborTown_BattleTentLobby_Text_ExplainFallarborTent, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_AskEnterChallenge
-FallarborTown_BattleTentLobby_EventScript_200176:: @ 8200176
+FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons:: @ 8200176
switch VAR_RESULT
- case 0, FallarborTown_BattleTentLobby_EventScript_200191
- case 1, FallarborTown_BattleTentLobby_EventScript_20019E
+ case FRONTIER_LVL_50, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen
+FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50:: @ 8200191
+ msgbox FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge
-FallarborTown_BattleTentLobby_EventScript_200191:: @ 8200191
- msgbox FallarborTown_BattleTentLobby_Text_2C4BFA, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_2001CD
+FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 820019E
+ msgbox FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge
-FallarborTown_BattleTentLobby_EventScript_20019E:: @ 820019E
- msgbox FallarborTown_BattleTentLobby_Text_2C4CC0, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_2001CD
+FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed:: @ 82001AB
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto FallarborTown_BattleTentLobby_EventScript_CancelChallenge
-FallarborTown_BattleTentLobby_EventScript_2001AB:: @ 82001AB
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto FallarborTown_BattleTentLobby_EventScript_2001C5
-
-FallarborTown_BattleTentLobby_EventScript_2001C2:: @ 82001C2
+FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge:: @ 82001C2
special LoadPlayerParty
-
-FallarborTown_BattleTentLobby_EventScript_2001C5:: @ 82001C5
- msgbox FallarborTown_BattleTentLobby_Text_2C487F, MSGBOX_DEFAULT
-
-FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD
+FallarborTown_BattleTentLobby_EventScript_CancelChallenge:: @ 82001C5
+ msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge, MSGBOX_DEFAULT
+FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge:: @ 82001CD
release
end
-FallarborTown_BattleTentLobby_EventScript_2001CF:: @ 82001CF
- applymovement 1, FallarborTown_BattleTentLobby_Movement_2001FE
- applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200205
+FallarborTown_BattleTentLobby_EventScript_WalkToDoor:: @ 82001CF
+ applymovement 1, FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor
waitmovement 0
opendoor 6, 1
waitdooranim
- applymovement 1, FallarborTown_BattleTentLobby_Movement_200202
- applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200209
+ applymovement 1, FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 6, 1
waitdooranim
return
-FallarborTown_BattleTentLobby_Movement_2001FE: @ 82001FE
+FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor: @ 82001FE
walk_up
walk_up
walk_up
step_end
-FallarborTown_BattleTentLobby_Movement_200202: @ 8200202
+FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor: @ 8200202
walk_up
set_invisible
step_end
-FallarborTown_BattleTentLobby_Movement_200205: @ 8200205
+FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor: @ 8200205
walk_up
walk_up
walk_up
step_end
-FallarborTown_BattleTentLobby_Movement_200209: @ 8200209
+FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor: @ 8200209
walk_up
walk_up
set_invisible
step_end
-FallarborTown_BattleTentLobby_EventScript_20020D:: @ 820020D
- msgbox FallarborTown_BattleTentLobby_Text_20045A, MSGBOX_NPC
+FallarborTown_BattleTentLobby_EventScript_Hiker:: @ 820020D
+ msgbox FallarborTown_BattleTentLobby_Text_CameToCampOut, MSGBOX_NPC
end
-FallarborTown_BattleTentLobby_EventScript_200216:: @ 8200216
- msgbox FallarborTown_BattleTentLobby_Text_200304, MSGBOX_NPC
+FallarborTown_BattleTentLobby_EventScript_LittleBoy:: @ 8200216
+ msgbox FallarborTown_BattleTentLobby_Text_MakeThinkImJustKid, MSGBOX_NPC
end
-FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F
- msgbox FallarborTown_BattleTentLobby_Text_200382, MSGBOX_NPC
+FallarborTown_BattleTentLobby_EventScript_Lass:: @ 820021F
+ msgbox FallarborTown_BattleTentLobby_Text_FallarborTentMyFavorite, MSGBOX_NPC
end
-FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228
+FallarborTown_BattleTentLobby_EventScript_Scott:: @ 8200228
lock
faceplayer
- goto_if_set FLAG_MET_SCOTT_IN_FALLARBOR, FallarborTown_BattleTentLobby_EventScript_200245
- msgbox FallarborTown_BattleTentLobby_Text_200501, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_SCOTT_IN_FALLARBOR, FallarborTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo
+ msgbox FallarborTown_BattleTentLobby_Text_ScottLookingForSomeone, MSGBOX_DEFAULT
addvar VAR_SCOTT_STATE, 1
setflag FLAG_MET_SCOTT_IN_FALLARBOR
release
end
-FallarborTown_BattleTentLobby_EventScript_200245:: @ 8200245
- msgbox FallarborTown_BattleTentLobby_Text_200653, MSGBOX_DEFAULT
+FallarborTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo:: @ 8200245
+ msgbox FallarborTown_BattleTentLobby_Text_ScottMakeChallenge, MSGBOX_DEFAULT
release
end
-FallarborTown_BattleTentLobby_EventScript_20024F:: @ 820024F
+FallarborTown_BattleTentLobby_EventScript_RulesBoard:: @ 820024F
lockall
- msgbox FallarborTown_BattleTentLobby_Text_256DB8, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_20025E
+ msgbox BattleFrontier_BattleArenaLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-FallarborTown_BattleTentLobby_EventScript_20025E:: @ 820025E
- message FallarborTown_BattleTentLobby_Text_256DDF
+FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard:: @ 820025E
+ message BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading
waitmessage
- multichoice 17, 0, 112, 0
+ multichoice 17, 0, MULTI_FALLARBOR_TENT_RULES, 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
+ case 0, FallarborTown_BattleTentLobby_EventScript_RulesLevel
+ case 1, FallarborTown_BattleTentLobby_EventScript_RulesBattle
+ case 2, FallarborTown_BattleTentLobby_EventScript_RulesMind
+ case 3, FallarborTown_BattleTentLobby_EventScript_RulesSkill
+ case 4, FallarborTown_BattleTentLobby_EventScript_RulesBody
+ case 5, FallarborTown_BattleTentLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_ExitRules
end
-FallarborTown_BattleTentLobby_EventScript_2002BC:: @ 82002BC
- msgbox FallarborTown_BattleTentLobby_Text_2C67CD, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_20025E
+FallarborTown_BattleTentLobby_EventScript_RulesLevel:: @ 82002BC
+ msgbox BattleTentLobby_Text_ExplainLevelRules, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-FallarborTown_BattleTentLobby_EventScript_2002CA:: @ 82002CA
- msgbox FallarborTown_BattleTentLobby_Text_256E02, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_20025E
+FallarborTown_BattleTentLobby_EventScript_RulesBattle:: @ 82002CA
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-FallarborTown_BattleTentLobby_EventScript_2002D8:: @ 82002D8
- msgbox FallarborTown_BattleTentLobby_Text_256F43, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_20025E
+FallarborTown_BattleTentLobby_EventScript_RulesMind:: @ 82002D8
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainMindRules, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-FallarborTown_BattleTentLobby_EventScript_2002E6:: @ 82002E6
- msgbox FallarborTown_BattleTentLobby_Text_256FF2, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_20025E
+FallarborTown_BattleTentLobby_EventScript_RulesSkill:: @ 82002E6
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-FallarborTown_BattleTentLobby_EventScript_2002F4:: @ 82002F4
- msgbox FallarborTown_BattleTentLobby_Text_257202, MSGBOX_DEFAULT
- goto FallarborTown_BattleTentLobby_EventScript_20025E
+FallarborTown_BattleTentLobby_EventScript_RulesBody:: @ 82002F4
+ msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules, MSGBOX_DEFAULT
+ goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-FallarborTown_BattleTentLobby_EventScript_200302:: @ 8200302
+FallarborTown_BattleTentLobby_EventScript_ExitRules:: @ 8200302
releaseall
end
-FallarborTown_BattleTentLobby_Text_200304: @ 8200304
+FallarborTown_BattleTentLobby_Text_MakeThinkImJustKid: @ 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
+FallarborTown_BattleTentLobby_Text_FallarborTentMyFavorite: @ 8200382
.string "You know how BATTLE TENTS offer\n"
.string "different events in different towns?\p"
.string "My favorite is definitely the BATTLE\n"
@@ -371,7 +320,7 @@ FallarborTown_BattleTentLobby_Text_200382: @ 8200382
.string "try to win with all their faith in\l"
.string "their POKéMON.$"
-FallarborTown_BattleTentLobby_Text_20045A: @ 820045A
+FallarborTown_BattleTentLobby_Text_CameToCampOut: @ 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"
@@ -379,7 +328,7 @@ FallarborTown_BattleTentLobby_Text_20045A: @ 820045A
.string "Since I'm here, I may as well try\n"
.string "my hand at battling!$"
-FallarborTown_BattleTentLobby_Text_200501: @ 8200501
+FallarborTown_BattleTentLobby_Text_ScottLookingForSomeone: @ 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"
@@ -394,7 +343,7 @@ FallarborTown_BattleTentLobby_Text_200501: @ 8200501
.string "Whoops! Never mind!\n"
.string "Keep working at it!$"
-FallarborTown_BattleTentLobby_Text_200653: @ 8200653
+FallarborTown_BattleTentLobby_Text_ScottMakeChallenge: @ 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/maps/FallarborTown_House1/map.json b/data/maps/FallarborTown_CozmosHouse/map.json
index e5e75c631..a31c1c5bf 100644
--- a/data/maps/FallarborTown_House1/map.json
+++ b/data/maps/FallarborTown_CozmosHouse/map.json
@@ -1,6 +1,6 @@
{
- "id": "MAP_FALLARBOR_TOWN_HOUSE1",
- "name": "FallarborTown_House1",
+ "id": "MAP_FALLARBOR_TOWN_COZMOS_HOUSE",
+ "name": "FallarborTown_CozmosHouse",
"layout": "LAYOUT_HOUSE1",
"music": "MUS_TONEKUSA",
"region_map_section": "MAPSEC_FALLARBOR_TOWN",
@@ -24,8 +24,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_House1_EventScript_200F13",
- "flag": "FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO"
+ "script": "FallarborTown_CozmosHouse_EventScript_ProfCozmo",
+ "flag": "FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO"
},
{
"graphics_id": "EVENT_OBJ_GFX_WOMAN_2",
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_House1_EventScript_200FBC",
+ "script": "FallarborTown_CozmosHouse_EventScript_CozmosWife",
"flag": "0"
}
],
diff --git a/data/maps/FallarborTown_CozmosHouse/scripts.inc b/data/maps/FallarborTown_CozmosHouse/scripts.inc
new file mode 100644
index 000000000..3f4db18d3
--- /dev/null
+++ b/data/maps/FallarborTown_CozmosHouse/scripts.inc
@@ -0,0 +1,121 @@
+FallarborTown_CozmosHouse_MapScripts:: @ 8200F12
+ .byte 0
+
+FallarborTown_CozmosHouse_EventScript_ProfCozmo:: @ 8200F13
+ lock
+ faceplayer
+ goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_GaveMeteorite
+ checkitem ITEM_METEORITE, 1
+ compare VAR_RESULT, TRUE
+ goto_if_eq FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite
+ msgbox FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite:: @ 8200F38
+ call_if_unset FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_NoticeMeteorite
+ call_if_set FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_AskForMeteorite
+ compare VAR_RESULT, NO
+ goto_if_eq FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite
+ msgbox FallarborTown_CozmosHouse_Text_PleaseUseThisTM, MSGBOX_DEFAULT
+ giveitem ITEM_TM27
+ compare VAR_RESULT, FALSE
+ goto_if_eq Common_EventScript_ShowBagIsFull
+ setvar VAR_0x8004, ITEM_METEORITE
+ call Common_EventScript_PlayerHandedOverTheItem
+ setflag FLAG_RECEIVED_TM27
+ msgbox FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_CozmosHouse_EventScript_NoticeMeteorite:: @ 8200F8B
+ msgbox FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow, MSGBOX_DEFAULT
+ msgbox FallarborTown_CozmosHouse_Text_IsThatMeteoriteMayIHaveIt, MSGBOX_YESNO
+ return
+
+FallarborTown_CozmosHouse_EventScript_AskForMeteorite:: @ 8200F9C
+ msgbox FallarborTown_CozmosHouse_Text_MayIHaveMeteorite, MSGBOX_YESNO
+ return
+
+FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite:: @ 8200FA5
+ setflag FLAG_TEMP_2
+ msgbox FallarborTown_CozmosHouse_Text_CrushedWithDisappointment, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_CozmosHouse_EventScript_GaveMeteorite:: @ 8200FB2
+ msgbox FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_CozmosHouse_EventScript_CozmosWife:: @ 8200FBC
+ lock
+ faceplayer
+ goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_CozmoIsHappy
+ goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_CozmosHouse_EventScript_CozmoIsSad
+ msgbox FallarborTown_CozmosHouse_Text_CozmoWentToMeteorFalls, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_CozmosHouse_EventScript_CozmoIsSad:: @ 8200FDA
+ msgbox FallarborTown_CozmosHouse_Text_FeelSorryForCozmo, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_CozmosHouse_EventScript_CozmoIsHappy:: @ 8200FE4
+ msgbox FallarborTown_CozmosHouse_Text_CozmoIsSoHappy, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow: @ 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_CozmosHouse_Text_IsThatMeteoriteMayIHaveIt: @ 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_CozmosHouse_Text_PleaseUseThisTM: @ 8201159
+ .string "PROF. COZMO: This TM, it represents\n"
+ .string "my feeling of gratitude.\l"
+ .string "Please use it!$"
+
+FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch: @ 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_CozmosHouse_Text_CrushedWithDisappointment: @ 8201212
+ .string "PROF. COZMO: Oh, but…\n"
+ .string "I'm crushed with disappointment…$"
+
+FallarborTown_CozmosHouse_Text_MayIHaveMeteorite: @ 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_CozmosHouse_Text_CozmoWentToMeteorFalls: @ 82012BC
+ .string "PROF. COZMO went off to METEOR FALLS\n"
+ .string "on ROUTE 114 with some people from\l"
+ .string "TEAM MAGMA.$"
+
+FallarborTown_CozmosHouse_Text_FeelSorryForCozmo: @ 8201310
+ .string "Poor PROF. COZMO…\n"
+ .string "He's so depressed… I feel sorry for him.$"
+
+FallarborTown_CozmosHouse_Text_CozmoIsSoHappy: @ 820134B
+ .string "Look at PROF. COZMO…\n"
+ .string "He's so happy! I think it's cute.$"
+
diff --git a/data/maps/FallarborTown_House1/scripts.inc b/data/maps/FallarborTown_House1/scripts.inc
deleted file mode 100644
index 2255f90d3..000000000
--- a/data/maps/FallarborTown_House1/scripts.inc
+++ /dev/null
@@ -1,121 +0,0 @@
-FallarborTown_House1_MapScripts:: @ 8200F12
- .byte 0
-
-FallarborTown_House1_EventScript_200F13:: @ 8200F13
- lock
- faceplayer
- goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_200FB2
- checkitem ITEM_METEORITE, 1
- compare VAR_RESULT, 1
- goto_if_eq FallarborTown_House1_EventScript_200F38
- msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_House1_EventScript_200F38:: @ 8200F38
- call_if_unset FLAG_TEMP_2, FallarborTown_House1_EventScript_200F8B
- call_if_set FLAG_TEMP_2, FallarborTown_House1_EventScript_200F9C
- compare VAR_RESULT, 0
- goto_if_eq FallarborTown_House1_EventScript_200FA5
- msgbox FallarborTown_House1_Text_201159, MSGBOX_DEFAULT
- giveitem_std ITEM_TM27
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_ShowBagIsFull
- setvar VAR_0x8004, 280
- call FallarborTown_House1_EventScript_2723E4
- setflag FLAG_RECEIVED_TM27
- msgbox FallarborTown_House1_Text_2011A5, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_House1_EventScript_200F8B:: @ 8200F8B
- msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT
- msgbox FallarborTown_House1_Text_2010A2, MSGBOX_YESNO
- return
-
-FallarborTown_House1_EventScript_200F9C:: @ 8200F9C
- msgbox FallarborTown_House1_Text_201249, MSGBOX_YESNO
- return
-
-FallarborTown_House1_EventScript_200FA5:: @ 8200FA5
- setflag FLAG_TEMP_2
- msgbox FallarborTown_House1_Text_201212, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_House1_EventScript_200FB2:: @ 8200FB2
- msgbox FallarborTown_House1_Text_2011A5, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_House1_EventScript_200FBC:: @ 8200FBC
- lock
- faceplayer
- goto_if_set FLAG_RECEIVED_TM27, FallarborTown_House1_EventScript_200FE4
- goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_House1_EventScript_200FDA
- msgbox FallarborTown_House1_Text_2012BC, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_House1_EventScript_200FDA:: @ 8200FDA
- msgbox FallarborTown_House1_Text_201310, MSGBOX_DEFAULT
- release
- end
-
-FallarborTown_House1_EventScript_200FE4:: @ 8200FE4
- msgbox FallarborTown_House1_Text_20134B, MSGBOX_DEFAULT
- 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/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc
deleted file mode 100644
index d0305ad4b..000000000
--- a/data/maps/FallarborTown_House2/scripts.inc
+++ /dev/null
@@ -1,102 +0,0 @@
-FallarborTown_House2_MapScripts:: @ 8201382
- .byte 0
-
-FallarborTown_House2_EventScript_201383:: @ 8201383
- lockall
- applymovement 1, Common_Movement_FacePlayer
- waitmovement 0
- goto_if_set FLAG_TEMP_1, FallarborTown_House2_EventScript_2013A8
- msgbox FallarborTown_House2_Text_20145C, MSGBOX_DEFAULT
- setflag FLAG_TEMP_1
- goto FallarborTown_House2_EventScript_2013A8
- end
-
-FallarborTown_House2_EventScript_2013A8:: @ 82013A8
- checkitem ITEM_HEART_SCALE, 1
- compare VAR_RESULT, 0
- goto_if_eq FallarborTown_House2_EventScript_201452
- msgbox FallarborTown_House2_Text_201541, MSGBOX_YESNO
- 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, MSGBOX_DEFAULT
- special sub_81B951C
- waitstate
- compare VAR_0x8004, 255
- goto_if_eq FallarborTown_House2_EventScript_201452
- special sub_81B98DC
- compare VAR_RESULT, 1
- goto_if_eq FallarborTown_House2_EventScript_201444
- compare VAR_0x8005, 0
- goto_if_eq FallarborTown_House2_EventScript_201436
- goto FallarborTown_House2_EventScript_20140C
- end
-
-FallarborTown_House2_EventScript_20140C:: @ 820140C
- msgbox FallarborTown_House2_Text_2015C3, MSGBOX_DEFAULT
- special TeachMoveRelearnerMove
- waitstate
- compare VAR_0x8004, 0
- goto_if_eq FallarborTown_House2_EventScript_2013D6
- msgbox FallarborTown_House2_Text_201627, MSGBOX_DEFAULT
- takeitem ITEM_HEART_SCALE, 1
- goto FallarborTown_House2_EventScript_201452
- end
-
-FallarborTown_House2_EventScript_201436:: @ 8201436
- msgbox FallarborTown_House2_Text_2015DE, MSGBOX_DEFAULT
- goto FallarborTown_House2_EventScript_2013D6
- end
-
-FallarborTown_House2_EventScript_201444:: @ 8201444
- msgbox FallarborTown_House2_Text_201697, MSGBOX_DEFAULT
- goto FallarborTown_House2_EventScript_2013D6
- end
-
-FallarborTown_House2_EventScript_201452:: @ 8201452
- msgbox FallarborTown_House2_Text_201653, MSGBOX_DEFAULT
- 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/maps/FallarborTown_Mart/map.json b/data/maps/FallarborTown_Mart/map.json
index 9248eec87..f58c0d9e2 100644
--- a/data/maps/FallarborTown_Mart/map.json
+++ b/data/maps/FallarborTown_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_Mart_EventScript_1FFCBF",
+ "script": "FallarborTown_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_Mart_EventScript_1FFCF4",
+ "script": "FallarborTown_Mart_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_Mart_EventScript_1FFCFD",
+ "script": "FallarborTown_Mart_EventScript_PokefanM",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_Mart_EventScript_1FFD06",
+ "script": "FallarborTown_Mart_EventScript_Skitty",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_Mart_EventScript_2C80B6",
+ "script": "FallarborTown_Mart_EventScript_MetronomeTutor",
"flag": "0"
}
],
diff --git a/data/maps/FallarborTown_Mart/scripts.inc b/data/maps/FallarborTown_Mart/scripts.inc
index bd9de930c..bf106781a 100644
--- a/data/maps/FallarborTown_Mart/scripts.inc
+++ b/data/maps/FallarborTown_Mart/scripts.inc
@@ -1,18 +1,18 @@
FallarborTown_Mart_MapScripts:: @ 81FFCBE
.byte 0
-FallarborTown_Mart_EventScript_1FFCBF:: @ 81FFCBF
+FallarborTown_Mart_EventScript_Clerk:: @ 81FFCBF
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart FallarborTown_Mart_Pokemart_1FFCD8
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart FallarborTown_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-FallarborTown_Mart_Pokemart_1FFCD8: @ 81FFCD8
+FallarborTown_Mart_Pokemart: @ 81FFCD8
.2byte ITEM_GREAT_BALL
.2byte ITEM_SUPER_POTION
.2byte ITEM_ANTIDOTE
@@ -29,25 +29,25 @@ FallarborTown_Mart_Pokemart_1FFCD8: @ 81FFCD8
release
end
-FallarborTown_Mart_EventScript_1FFCF4:: @ 81FFCF4
- msgbox FallarborTown_Mart_Text_1FFD19, MSGBOX_NPC
+FallarborTown_Mart_EventScript_Woman:: @ 81FFCF4
+ msgbox FallarborTown_Mart_Text_DecidingSkittyEvolve, MSGBOX_NPC
end
-FallarborTown_Mart_EventScript_1FFCFD:: @ 81FFCFD
- msgbox FallarborTown_Mart_Text_1FFE09, MSGBOX_NPC
+FallarborTown_Mart_EventScript_PokefanM:: @ 81FFCFD
+ msgbox FallarborTown_Mart_Text_SellNuggetIFound, MSGBOX_NPC
end
-FallarborTown_Mart_EventScript_1FFD06:: @ 81FFD06
+FallarborTown_Mart_EventScript_Skitty:: @ 81FFD06
lock
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox FallarborTown_Mart_Text_1FFDFA, MSGBOX_DEFAULT
+ msgbox FallarborTown_Mart_Text_Skitty, MSGBOX_DEFAULT
waitmoncry
release
end
-FallarborTown_Mart_Text_1FFD19: @ 81FFD19
+FallarborTown_Mart_Text_DecidingSkittyEvolve: @ 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"
@@ -56,10 +56,10 @@ FallarborTown_Mart_Text_1FFD19: @ 81FFD19
.string "much stronger.\p"
.string "But it will look so different, too.$"
-FallarborTown_Mart_Text_1FFDFA: @ 81FFDFA
+FallarborTown_Mart_Text_Skitty: @ 81FFDFA
.string "SKITTY: Miyao?$"
-FallarborTown_Mart_Text_1FFE09: @ 81FFE09
+FallarborTown_Mart_Text_SellNuggetIFound: @ 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/maps/FallarborTown_House2/map.json b/data/maps/FallarborTown_MoveRelearnersHouse/map.json
index fe0ce67a0..c444c1e38 100644
--- a/data/maps/FallarborTown_House2/map.json
+++ b/data/maps/FallarborTown_MoveRelearnersHouse/map.json
@@ -1,6 +1,6 @@
{
- "id": "MAP_FALLARBOR_TOWN_HOUSE2",
- "name": "FallarborTown_House2",
+ "id": "MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE",
+ "name": "FallarborTown_MoveRelearnersHouse",
"layout": "LAYOUT_HOUSE2",
"music": "MUS_TONEKUSA",
"region_map_section": "MAPSEC_FALLARBOR_TOWN",
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_House2_EventScript_201383",
+ "script": "FallarborTown_MoveRelearnersHouse_EventScript_MoveRelearner",
"flag": "0"
}
],
diff --git a/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc
new file mode 100644
index 000000000..ac0f42f20
--- /dev/null
+++ b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc
@@ -0,0 +1,102 @@
+FallarborTown_MoveRelearnersHouse_MapScripts:: @ 8201382
+ .byte 0
+
+FallarborTown_MoveRelearnersHouse_EventScript_MoveRelearner:: @ 8201383
+ lockall
+ applymovement 1, Common_Movement_FacePlayer
+ waitmovement 0
+ goto_if_set FLAG_TEMP_1, FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove
+ msgbox FallarborTown_MoveRelearnersHouse_Text_ImTheMoveTutor, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_1
+ goto FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove
+ end
+
+FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove:: @ 82013A8
+ checkitem ITEM_HEART_SCALE, 1
+ compare VAR_RESULT, 0
+ goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
+ msgbox FallarborTown_MoveRelearnersHouse_Text_ThatsAHeartScaleWantMeToTeachMove, MSGBOX_YESNO
+ switch VAR_RESULT
+ case NO, FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
+ goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon
+ end
+
+FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon:: @ 82013D6
+ msgbox FallarborTown_MoveRelearnersHouse_Text_TutorWhichMon, MSGBOX_DEFAULT
+ special ChooseMonForMoveRelearner
+ waitstate
+ compare VAR_0x8004, 255
+ goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
+ special IsSelectedMonEgg
+ compare VAR_RESULT, TRUE
+ goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_CantTeachEgg
+ compare VAR_0x8005, 0
+ goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_NoMoveToTeachMon
+ goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMove
+ end
+
+FallarborTown_MoveRelearnersHouse_EventScript_ChooseMove:: @ 820140C
+ msgbox FallarborTown_MoveRelearnersHouse_Text_TeachWhichMove, MSGBOX_DEFAULT
+ special TeachMoveRelearnerMove
+ waitstate
+ compare VAR_0x8004, 0
+ goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon
+ msgbox FallarborTown_MoveRelearnersHouse_Text_HandedOverHeartScale, MSGBOX_DEFAULT
+ removeitem ITEM_HEART_SCALE
+ goto FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
+ end
+
+FallarborTown_MoveRelearnersHouse_EventScript_NoMoveToTeachMon:: @ 8201436
+ msgbox FallarborTown_MoveRelearnersHouse_Text_DontHaveMoveToTeachPokemon, MSGBOX_DEFAULT
+ goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon
+ end
+
+FallarborTown_MoveRelearnersHouse_EventScript_CantTeachEgg:: @ 8201444
+ msgbox FallarborTown_MoveRelearnersHouse_Text_CantTeachEgg, MSGBOX_DEFAULT
+ goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon
+ end
+
+FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale:: @ 8201452
+ msgbox FallarborTown_MoveRelearnersHouse_Text_ComeBackWithHeartScale, MSGBOX_DEFAULT
+ releaseall
+ end
+
+FallarborTown_MoveRelearnersHouse_Text_ImTheMoveTutor: @ 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_MoveRelearnersHouse_Text_ThatsAHeartScaleWantMeToTeachMove: @ 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_MoveRelearnersHouse_Text_TutorWhichMon: @ 82015A5
+ .string "Which POKéMON needs tutoring?$"
+
+FallarborTown_MoveRelearnersHouse_Text_TeachWhichMove: @ 82015C3
+ .string "Which move should I teach?$"
+
+FallarborTown_MoveRelearnersHouse_Text_DontHaveMoveToTeachPokemon: @ 82015DE
+ .string "Sorry…\p"
+ .string "It doesn't appear as if I have any move\n"
+ .string "I can teach that POKéMON.$"
+
+FallarborTown_MoveRelearnersHouse_Text_HandedOverHeartScale: @ 8201627
+ .string "{PLAYER} handed over one HEART SCALE\n"
+ .string "in exchange.$"
+
+FallarborTown_MoveRelearnersHouse_Text_ComeBackWithHeartScale: @ 8201653
+ .string "If your POKéMON need to learn a move,\n"
+ .string "come back with a HEART SCALE.$"
+
+FallarborTown_MoveRelearnersHouse_Text_CantTeachEgg: @ 8201697
+ .string "Hunh? There isn't a single move that\n"
+ .string "I can teach an EGG.$"
+
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/map.json b/data/maps/FallarborTown_PokemonCenter_1F/map.json
index b1ea1ed14..0b55de01a 100644
--- a/data/maps/FallarborTown_PokemonCenter_1F/map.json
+++ b/data/maps/FallarborTown_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_1F_EventScript_200BE1",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_1F_EventScript_200BEF",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_Girl",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_1F_EventScript_200BF8",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_ExpertM",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_1F_EventScript_200C01",
+ "script": "FallarborTown_PokemonCenter_1F_EventScript_Lanette",
"flag": "FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE"
}
],
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc
index 5dbd35b48..70c209ef9 100644
--- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc
@@ -1,59 +1,60 @@
FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD
map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, FallarborTown_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
FallarborTown_PokemonCenter_1F_OnTransition: @ 8200BD8
setrespawn HEAL_LOCATION_FALLARBOR_TOWN
- call FallarborTown_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-FallarborTown_PokemonCenter_1F_EventScript_200BE1:: @ 8200BE1
+@ VAR_0x800B is the Nurse's object event id
+FallarborTown_PokemonCenter_1F_EventScript_Nurse:: @ 8200BE1
setvar VAR_0x800B, 1
- call FallarborTown_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-FallarborTown_PokemonCenter_1F_EventScript_200BEF:: @ 8200BEF
- msgbox FallarborTown_PokemonCenter_1F_Text_200E22, MSGBOX_NPC
+FallarborTown_PokemonCenter_1F_EventScript_Girl:: @ 8200BEF
+ msgbox FallarborTown_PokemonCenter_1F_Text_FossilManiacEdgeOfTown, MSGBOX_NPC
end
-FallarborTown_PokemonCenter_1F_EventScript_200BF8:: @ 8200BF8
- msgbox FallarborTown_PokemonCenter_1F_Text_200E8B, MSGBOX_NPC
+FallarborTown_PokemonCenter_1F_EventScript_ExpertM:: @ 8200BF8
+ msgbox FallarborTown_PokemonCenter_1F_Text_PlantHardyTrees, MSGBOX_NPC
end
-FallarborTown_PokemonCenter_1F_EventScript_200C01:: @ 8200C01
+FallarborTown_PokemonCenter_1F_EventScript_Lanette:: @ 8200C01
lock
faceplayer
- msgbox FallarborTown_PokemonCenter_1F_Text_200C6B, MSGBOX_DEFAULT
+ msgbox FallarborTown_PokemonCenter_1F_Text_LanetteGreeting, MSGBOX_DEFAULT
closemessage
switch VAR_FACING
- case 2, FallarborTown_PokemonCenter_1F_EventScript_200C28
- case 3, FallarborTown_PokemonCenter_1F_EventScript_200C38
+ case DIR_NORTH, FallarborTown_PokemonCenter_1F_EventScript_LanetteExitNorth
+ case DIR_WEST, FallarborTown_PokemonCenter_1F_EventScript_LanetteExitWest
end
-FallarborTown_PokemonCenter_1F_EventScript_200C28:: @ 8200C28
- applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C53
+FallarborTown_PokemonCenter_1F_EventScript_LanetteExitNorth:: @ 8200C28
+ applymovement 4, FallarborTown_PokemonCenter_1F_Movement_LanetteExitNorth
waitmovement 0
- goto FallarborTown_PokemonCenter_1F_EventScript_200C48
+ goto FallarborTown_PokemonCenter_1F_EventScript_LanetteExited
end
-FallarborTown_PokemonCenter_1F_EventScript_200C38:: @ 8200C38
- applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C60
+FallarborTown_PokemonCenter_1F_EventScript_LanetteExitWest:: @ 8200C38
+ applymovement 4, FallarborTown_PokemonCenter_1F_Movement_LanetteExitWest
waitmovement 0
- goto FallarborTown_PokemonCenter_1F_EventScript_200C48
+ goto FallarborTown_PokemonCenter_1F_EventScript_LanetteExited
end
-FallarborTown_PokemonCenter_1F_EventScript_200C48:: @ 8200C48
+FallarborTown_PokemonCenter_1F_EventScript_LanetteExited:: @ 8200C48
playse SE_JIDO_DOA
removeobject 4
clearflag FLAG_HIDE_LANETTES_HOUSE_LANETTE
release
end
-FallarborTown_PokemonCenter_1F_Movement_200C53: @ 8200C53
+FallarborTown_PokemonCenter_1F_Movement_LanetteExitNorth: @ 8200C53
walk_right
walk_down
walk_down
@@ -68,7 +69,7 @@ FallarborTown_PokemonCenter_1F_Movement_200C53: @ 8200C53
delay_8
step_end
-FallarborTown_PokemonCenter_1F_Movement_200C60: @ 8200C60
+FallarborTown_PokemonCenter_1F_Movement_LanetteExitWest: @ 8200C60
walk_down
walk_down
walk_left
@@ -81,7 +82,7 @@ FallarborTown_PokemonCenter_1F_Movement_200C60: @ 8200C60
delay_8
step_end
-FallarborTown_PokemonCenter_1F_Text_200C6B: @ 8200C6B
+FallarborTown_PokemonCenter_1F_Text_LanetteGreeting: @ 8200C6B
.string "Oh, hello.\n"
.string "You are?\p"
.string "Okay, your name's {PLAYER}{KUN}.\n"
@@ -98,13 +99,13 @@ FallarborTown_PokemonCenter_1F_Text_200C6B: @ 8200C6B
.string "If you could, please visit me at home.\n"
.string "My house is on ROUTE 114.$"
-FallarborTown_PokemonCenter_1F_Text_200E22: @ 8200E22
+FallarborTown_PokemonCenter_1F_Text_FossilManiacEdgeOfTown: @ 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
+FallarborTown_PokemonCenter_1F_Text_PlantHardyTrees: @ 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/maps/FallarborTown_PokemonCenter_2F/map.json b/data/maps/FallarborTown_PokemonCenter_2F/map.json
index 029a4a9c6..60bca57a9 100644
--- a/data/maps/FallarborTown_PokemonCenter_2F/map.json
+++ b/data/maps/FallarborTown_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FallarborTown_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc
index 0d5332647..e9912ee68 100644
--- a/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc
+++ b/data/maps/FallarborTown_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
FallarborTown_PokemonCenter_2F_MapScripts:: @ 8200EEB
- map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, FallarborTown_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-FallarborTown_PokemonCenter_2F_EventScript_200F00:: @ 8200F00
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+FallarborTown_PokemonCenter_2F_EventScript_Colosseum:: @ 8200F00
+ call CableClub_EventScript_Colosseum
end
-FallarborTown_PokemonCenter_2F_EventScript_200F06:: @ 8200F06
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+FallarborTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 8200F06
+ call CableClub_EventScript_TradeCenter
end
-FallarborTown_PokemonCenter_2F_EventScript_200F0C:: @ 8200F0C
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+FallarborTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 8200F0C
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/FarawayIsland_Entrance/map.json b/data/maps/FarawayIsland_Entrance/map.json
index e8dc6dbed..fe81fd10a 100644
--- a/data/maps/FarawayIsland_Entrance/map.json
+++ b/data/maps/FarawayIsland_Entrance/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FarawayIsland_Entrance_EventScript_267CA2",
+ "script": "FarawayIsland_Entrance_EventScript_Sailor",
"flag": "0"
},
{
@@ -65,7 +65,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "FarawayIsland_Entrance_EventScript_267C98"
+ "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather"
},
{
"type": "trigger",
@@ -74,7 +74,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "FarawayIsland_Entrance_EventScript_267C9D"
+ "script": "FarawayIsland_Entrance_EventScript_ClearWeather"
},
{
"type": "trigger",
@@ -83,7 +83,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "FarawayIsland_Entrance_EventScript_267C98"
+ "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather"
}
],
"bg_events": [
@@ -93,7 +93,7 @@
"y": 32,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "FarawayIsland_Entrance_EventScript_267CF1"
+ "script": "FarawayIsland_Entrance_EventScript_Sign"
}
]
} \ No newline at end of file
diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc
index bd91918c3..23ce12098 100644
--- a/data/maps/FarawayIsland_Entrance/scripts.inc
+++ b/data/maps/FarawayIsland_Entrance/scripts.inc
@@ -6,41 +6,41 @@ FarawayIsland_Entrance_OnTransition: @ 8267C94
setflag FLAG_ARRIVED_ON_FARAWAY_ISLAND
end
-FarawayIsland_Entrance_EventScript_267C98:: @ 8267C98
- setweather WEATHER_CLOUDS
+FarawayIsland_Entrance_EventScript_SetCloudsWeather:: @ 8267C98
+ setweather WEATHER_SUNNY_CLOUDS
doweather
end
-FarawayIsland_Entrance_EventScript_267C9D:: @ 8267C9D
+FarawayIsland_Entrance_EventScript_ClearWeather:: @ 8267C9D
setweather WEATHER_NONE
doweather
end
-FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2
+FarawayIsland_Entrance_EventScript_Sailor:: @ 8267CA2
lock
faceplayer
- msgbox FarawayIsland_Entrance_Text_2C6B42, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq FarawayIsland_Entrance_EventScript_267CE7
- msgbox FarawayIsland_Entrance_Text_2A6A5D, MSGBOX_DEFAULT
+ msgbox FarawayIsland_Entrance_Text_SailorReturn, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq FarawayIsland_Entrance_EventScript_AsYouLike
+ msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
hideobjectat 1, MAP_FARAWAY_ISLAND_ENTRANCE
setvar VAR_0x8004, 2
- call FarawayIsland_Entrance_EventScript_272250
+ call Common_EventScript_FerryDepartIsland
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-FarawayIsland_Entrance_EventScript_267CE7:: @ 8267CE7
- msgbox FarawayIsland_Entrance_Text_2A6A82, MSGBOX_DEFAULT
+FarawayIsland_Entrance_EventScript_AsYouLike:: @ 8267CE7
+ msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT
release
end
-FarawayIsland_Entrance_EventScript_267CF1:: @ 8267CF1
- msgbox FarawayIsland_Entrance_Text_2C6D5A, MSGBOX_SIGN
+FarawayIsland_Entrance_EventScript_Sign:: @ 8267CF1
+ msgbox FarawayIsland_Entrance_Text_Sign, MSGBOX_SIGN
end
diff --git a/data/maps/FarawayIsland_Interior/map.json b/data/maps/FarawayIsland_Interior/map.json
index b41c5461a..4998380e1 100644
--- a/data/maps/FarawayIsland_Interior/map.json
+++ b/data/maps/FarawayIsland_Interior/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 15,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "1",
- "script": "FarawayIsland_Interior_EventScript_267DF2",
+ "script": "FarawayIsland_Interior_EventScript_Mew",
"flag": "FLAG_HIDE_MEW"
}
],
diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc
index de6545ec3..2cdb626bd 100644
--- a/data/maps/FarawayIsland_Interior/scripts.inc
+++ b/data/maps/FarawayIsland_Interior/scripts.inc
@@ -1,23 +1,23 @@
FarawayIsland_Interior_MapScripts:: @ 8267CFA
- map_script MAP_SCRIPT_ON_RESUME, FarawayIsland_Interior_MapScript1_267D54
+ map_script MAP_SCRIPT_ON_RESUME, FarawayIsland_Interior_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Interior_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, FarawayIsland_Interior_MapScript2_267D98
- map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, FarawayIsland_Interior_MapScript1_267D0F
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, FarawayIsland_Interior_OnFrame
+ map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, FarawayIsland_Interior_OnReturnToField
.byte 0
-FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F
+FarawayIsland_Interior_OnReturnToField: @ 8267D0F
call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_267D19
end
FarawayIsland_Interior_EventScript_267D19:: @ 8267D19
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
+ compare VAR_RESULT, B_OUTCOME_WON
goto_if_eq FarawayIsland_Interior_EventScript_267D4B
- compare VAR_RESULT, 4
+ compare VAR_RESULT, B_OUTCOME_RAN
goto_if_eq FarawayIsland_Interior_EventScript_267D4B
- compare VAR_RESULT, 5
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
goto_if_eq FarawayIsland_Interior_EventScript_267D4B
- compare VAR_RESULT, 10
+ compare VAR_RESULT, B_OUTCOME_MON_TELEPORTED
goto_if_eq FarawayIsland_Interior_EventScript_267D4B
return
@@ -26,13 +26,13 @@ FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B
special sub_81D4A90
return
-FarawayIsland_Interior_MapScript1_267D54: @ 8267D54
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_267D5E
+FarawayIsland_Interior_OnResume: @ 8267D54
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_TryRemoveMew
end
-FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E
+FarawayIsland_Interior_EventScript_TryRemoveMew:: @ 8267D5E
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -40,34 +40,34 @@ FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E
FarawayIsland_Interior_OnTransition: @ 8267D72
setvar VAR_FARAWAY_ISLAND_STEP_COUNTER, 0
setvar VAR_TEMP_1, 1
- call_if_unset FLAG_CAUGHT_MEW, FarawayIsland_Interior_EventScript_267D86
+ call_if_unset FLAG_CAUGHT_MEW, FarawayIsland_Interior_EventScript_TryShowMew
end
-FarawayIsland_Interior_EventScript_267D86:: @ 8267D86
+FarawayIsland_Interior_EventScript_TryShowMew:: @ 8267D86
goto_if_set FLAG_DEFEATED_MEW, Common_EventScript_NopReturn
clearflag FLAG_HIDE_MEW
setvar VAR_TEMP_1, 0
return
-FarawayIsland_Interior_MapScript2_267D98: @ 8267D98
- map_script_2 VAR_TEMP_1, 0, FarawayIsland_Interior_EventScript_267DA2
+FarawayIsland_Interior_OnFrame: @ 8267D98
+ map_script_2 VAR_TEMP_1, 0, FarawayIsland_Interior_EventScript_FindMew
.2byte 0
-FarawayIsland_Interior_EventScript_267DA2:: @ 8267DA2
+FarawayIsland_Interior_EventScript_FindMew:: @ 8267DA2
lockall
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
waitmovement 0
applymovement 1, Common_Movement_Delay48
waitmovement 0
- applymovement 1, FarawayIsland_Interior_Movement_267DCE
+ applymovement 1, FarawayIsland_Interior_Movement_MewMoveAndHide
waitmovement 0
copyobjectxytoperm 1
setvar VAR_TEMP_1, 1
releaseall
end
-FarawayIsland_Interior_Movement_267DCE: @ 8267DCE
+FarawayIsland_Interior_Movement_MewMoveAndHide: @ 8267DCE
walk_up
walk_up
walk_up
@@ -75,11 +75,11 @@ FarawayIsland_Interior_Movement_267DCE: @ 8267DCE
set_invisible
step_end
-FarawayIsland_Interior_Movement_267DD4: @ 8267DD4
+FarawayIsland_Interior_Movement_MewAppear: @ 8267DD4
set_visible
step_end
-FarawayIsland_Interior_Movement_267DD6: @ 8267DD6
+FarawayIsland_Interior_Movement_MewHideDown: @ 8267DD6
lock_facing_direction
walk_fast_up
walk_fast_up
@@ -88,7 +88,7 @@ FarawayIsland_Interior_Movement_267DD6: @ 8267DD6
walk_in_place_down
step_end
-FarawayIsland_Interior_Movement_267DDD: @ 8267DDD
+FarawayIsland_Interior_Movement_MewHideUp: @ 8267DDD
lock_facing_direction
walk_fast_up
walk_fast_up
@@ -97,7 +97,7 @@ FarawayIsland_Interior_Movement_267DDD: @ 8267DDD
walk_in_place_up
step_end
-FarawayIsland_Interior_Movement_267DE4: @ 8267DE4
+FarawayIsland_Interior_Movement_MewHideRight: @ 8267DE4
lock_facing_direction
walk_fast_up
walk_fast_up
@@ -106,7 +106,7 @@ FarawayIsland_Interior_Movement_267DE4: @ 8267DE4
walk_in_place_right
step_end
-FarawayIsland_Interior_Movement_267DEB: @ 8267DEB
+FarawayIsland_Interior_Movement_MewHideLeft: @ 8267DEB
lock_facing_direction
walk_fast_up
walk_fast_up
@@ -115,89 +115,89 @@ FarawayIsland_Interior_Movement_267DEB: @ 8267DEB
walk_in_place_left
step_end
-FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2
+FarawayIsland_Interior_EventScript_Mew:: @ 8267DF2
lock
faceplayer
- applymovement 1, FarawayIsland_Interior_Movement_267DD4
+ applymovement 1, FarawayIsland_Interior_Movement_MewAppear
waitmovement 0
setvar VAR_0x8004, 0
special sub_81D4A90
- message FarawayIsland_Interior_Text_2C6DFF
+ message FarawayIsland_Interior_Text_Mew
waitse
playmoncry SPECIES_MEW, 2
- compare VAR_FACING, 2
- call_if_eq FarawayIsland_Interior_EventScript_267EAF
- compare VAR_FACING, 1
- call_if_eq FarawayIsland_Interior_EventScript_267EBA
- compare VAR_FACING, 3
- call_if_eq FarawayIsland_Interior_EventScript_267EC5
- compare VAR_FACING, 4
- call_if_eq FarawayIsland_Interior_EventScript_267ED0
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq FarawayIsland_Interior_EventScript_MewHideDown
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq FarawayIsland_Interior_EventScript_MewHideUp
+ compare VAR_FACING, DIR_WEST
+ call_if_eq FarawayIsland_Interior_EventScript_MewHideRight
+ compare VAR_FACING, DIR_EAST
+ call_if_eq FarawayIsland_Interior_EventScript_MewHideLeft
special sub_81D4BEC
delay 40
waitmoncry
- setvar VAR_0x8004, 151
- setvar VAR_0x8005, 30
- setvar VAR_0x8006, 0
+ setvar VAR_0x8004, SPECIES_MEW
+ setvar VAR_0x8005, 30 @ level
+ setvar VAR_0x8006, ITEM_NONE
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq FarawayIsland_Interior_EventScript_267E96
- compare VAR_RESULT, 4
- goto_if_eq FarawayIsland_Interior_EventScript_267EA4
- compare VAR_RESULT, 5
- goto_if_eq FarawayIsland_Interior_EventScript_267EA4
- compare VAR_RESULT, 10
- goto_if_eq FarawayIsland_Interior_EventScript_267EA4
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq FarawayIsland_Interior_EventScript_MewDefeated
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan
+ compare VAR_RESULT, B_OUTCOME_MON_TELEPORTED
+ goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan
setflag FLAG_CAUGHT_MEW
release
end
-FarawayIsland_Interior_EventScript_267E96:: @ 8267E96
+FarawayIsland_Interior_EventScript_MewDefeated:: @ 8267E96
setflag FLAG_DEFEATED_MEW
- setvar VAR_0x8004, 151
- goto FarawayIsland_Interior_EventScript_273776
+ setvar VAR_0x8004, SPECIES_MEW
+ goto Common_EventScript_LegendaryFlewAway
end
-FarawayIsland_Interior_EventScript_267EA4:: @ 8267EA4
- setvar VAR_0x8004, 151
- goto FarawayIsland_Interior_EventScript_273776
+FarawayIsland_Interior_EventScript_PlayerOrMewRan:: @ 8267EA4
+ setvar VAR_0x8004, SPECIES_MEW
+ goto Common_EventScript_LegendaryFlewAway
end
-FarawayIsland_Interior_EventScript_267EAF:: @ 8267EAF
- applymovement 1, FarawayIsland_Interior_Movement_267DD6
+FarawayIsland_Interior_EventScript_MewHideDown:: @ 8267EAF
+ applymovement 1, FarawayIsland_Interior_Movement_MewHideDown
waitmovement 0
return
-FarawayIsland_Interior_EventScript_267EBA:: @ 8267EBA
- applymovement 1, FarawayIsland_Interior_Movement_267DDD
+FarawayIsland_Interior_EventScript_MewHideUp:: @ 8267EBA
+ applymovement 1, FarawayIsland_Interior_Movement_MewHideUp
waitmovement 0
return
-FarawayIsland_Interior_EventScript_267EC5:: @ 8267EC5
- applymovement 1, FarawayIsland_Interior_Movement_267DE4
+FarawayIsland_Interior_EventScript_MewHideRight:: @ 8267EC5
+ applymovement 1, FarawayIsland_Interior_Movement_MewHideRight
waitmovement 0
return
-FarawayIsland_Interior_EventScript_267ED0:: @ 8267ED0
- applymovement 1, FarawayIsland_Interior_Movement_267DEB
+FarawayIsland_Interior_EventScript_MewHideLeft:: @ 8267ED0
+ applymovement 1, FarawayIsland_Interior_Movement_MewHideLeft
waitmovement 0
return
-FarawayIsland_Interior_EventScript_267EDB:: @ 8267EDB
+FarawayIsland_Interior_EventScript_HideMewWhenGrassCut:: @ 8267EDB
lockall
- fadescreenswapbuffers 1
+ fadescreenswapbuffers FADE_TO_BLACK
setflag FLAG_HIDE_MEW
removeobject 1
- fadescreenswapbuffers 0
- msgbox FarawayIsland_Interior_Text_267EF1, MSGBOX_DEFAULT
+ fadescreenswapbuffers FADE_FROM_BLACK
+ msgbox FarawayIsland_Interior_Text_TheFeelingOfBeingWatchedFaded, MSGBOX_DEFAULT
closemessage
releaseall
end
-FarawayIsland_Interior_Text_267EF1: @ 8267EF1
+FarawayIsland_Interior_Text_TheFeelingOfBeingWatchedFaded: @ 8267EF1
.string "The feeling of being watched faded…$"
diff --git a/data/maps/FieryPath/scripts.inc b/data/maps/FieryPath/scripts.inc
index 0aa5769a0..ca259993e 100644
--- a/data/maps/FieryPath/scripts.inc
+++ b/data/maps/FieryPath/scripts.inc
@@ -3,12 +3,12 @@ FieryPath_MapScripts:: @ 8230F24
.byte 0
FieryPath_OnTransition: @ 8230F2A
- call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_230F37
+ call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_MoveScottToFallarbor
setflag FLAG_LANDMARK_FIERY_PATH
end
-FieryPath_EventScript_230F37:: @ 8230F37
+FieryPath_EventScript_MoveScottToFallarbor:: @ 8230F37
setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT
- clearflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT
+ clearflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT
return
diff --git a/data/maps/FortreeCity/map.json b/data/maps/FortreeCity/map.json
index 454fc34d3..ce1dcee3e 100644
--- a/data/maps/FortreeCity/map.json
+++ b/data/maps/FortreeCity/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_EventScript_1E25B6",
+ "script": "FortreeCity_EventScript_Man",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_EventScript_1E25DE",
+ "script": "FortreeCity_EventScript_Girl",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_EventScript_1E25BF",
+ "script": "FortreeCity_EventScript_Woman",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_EventScript_1E25F0",
+ "script": "FortreeCity_EventScript_Boy",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_EventScript_1E25E7",
+ "script": "FortreeCity_EventScript_OldMan",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_EventScript_1E25F9",
+ "script": "FortreeCity_EventScript_GameboyKid",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_EventScript_1E2614",
+ "script": "FortreeCity_EventScript_Kecleon",
"flag": "FLAG_HIDE_FORTREE_CITY_KECLEON"
}
],
@@ -190,7 +190,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "FortreeCity_EventScript_1E2602"
+ "script": "FortreeCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -214,7 +214,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "FortreeCity_EventScript_1E260B"
+ "script": "FortreeCity_EventScript_GymSign"
},
{
"type": "sign",
diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc
index 30f617f78..748ed2558 100644
--- a/data/maps/FortreeCity/scripts.inc
+++ b/data/maps/FortreeCity/scripts.inc
@@ -1,95 +1,95 @@
FortreeCity_MapScripts:: @ 81E25A4
map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, FortreeCity_MapScript1_1E25B3
+ map_script MAP_SCRIPT_ON_RESUME, FortreeCity_OnResume
.byte 0
FortreeCity_OnTransition: @ 81E25AF
setflag FLAG_VISITED_FORTREE_CITY
end
-FortreeCity_MapScript1_1E25B3: @ 81E25B3
- setstepcallback 2
+FortreeCity_OnResume: @ 81E25B3
+ setstepcallback STEP_CB_FORTREE_BRIDGE
end
-FortreeCity_EventScript_1E25B6:: @ 81E25B6
- msgbox FortreeCity_Text_1E2676, MSGBOX_NPC
+FortreeCity_EventScript_Man:: @ 81E25B6
+ msgbox FortreeCity_Text_SawGiganticPokemonInSky, MSGBOX_NPC
end
-FortreeCity_EventScript_1E25BF:: @ 81E25BF
+FortreeCity_EventScript_Woman:: @ 81E25BF
lock
faceplayer
- goto_if_set FLAG_KECLEON_FLED_FORTREE, FortreeCity_EventScript_1E25D4
- msgbox FortreeCity_Text_1E2738, MSGBOX_DEFAULT
+ goto_if_set FLAG_KECLEON_FLED_FORTREE, FortreeCity_EventScript_WomanGymAccessible
+ msgbox FortreeCity_Text_SomethingBlockingGym, MSGBOX_DEFAULT
release
end
-FortreeCity_EventScript_1E25D4:: @ 81E25D4
- msgbox FortreeCity_Text_1E27B6, MSGBOX_DEFAULT
+FortreeCity_EventScript_WomanGymAccessible:: @ 81E25D4
+ msgbox FortreeCity_Text_ThisTimeIllBeatWinona, MSGBOX_DEFAULT
release
end
-FortreeCity_EventScript_1E25DE:: @ 81E25DE
- msgbox FortreeCity_Text_1E27FE, MSGBOX_NPC
+FortreeCity_EventScript_Girl:: @ 81E25DE
+ msgbox FortreeCity_Text_TreesGrowByDrinkingRainwater, MSGBOX_NPC
end
-FortreeCity_EventScript_1E25E7:: @ 81E25E7
- msgbox FortreeCity_Text_1E2880, MSGBOX_NPC
+FortreeCity_EventScript_OldMan:: @ 81E25E7
+ msgbox FortreeCity_Text_EveryoneHealthyAndLively, MSGBOX_NPC
end
-FortreeCity_EventScript_1E25F0:: @ 81E25F0
- msgbox FortreeCity_Text_1E292E, MSGBOX_NPC
+FortreeCity_EventScript_Boy:: @ 81E25F0
+ msgbox FortreeCity_Text_BugPokemonComeThroughWindow, MSGBOX_NPC
end
-FortreeCity_EventScript_1E25F9:: @ 81E25F9
- msgbox FortreeCity_Text_1E299D, MSGBOX_NPC
+FortreeCity_EventScript_GameboyKid:: @ 81E25F9
+ msgbox FortreeCity_Text_PokemonThatEvolveWhenTraded, MSGBOX_NPC
end
-FortreeCity_EventScript_1E2602:: @ 81E2602
- msgbox FortreeCity_Text_1E2AAC, MSGBOX_SIGN
+FortreeCity_EventScript_CitySign:: @ 81E2602
+ msgbox FortreeCity_Text_CitySign, MSGBOX_SIGN
end
-FortreeCity_EventScript_1E260B:: @ 81E260B
- msgbox FortreeCity_Text_1E2AE6, MSGBOX_SIGN
+FortreeCity_EventScript_GymSign:: @ 81E260B
+ msgbox FortreeCity_Text_GymSign, MSGBOX_SIGN
end
-FortreeCity_EventScript_1E2614:: @ 81E2614
+FortreeCity_EventScript_Kecleon:: @ 81E2614
lock
faceplayer
checkitem ITEM_DEVON_SCOPE, 1
- compare VAR_RESULT, 1
- goto_if_eq FortreeCity_EventScript_1E2630
- msgbox FortreeCity_Text_1E29E5, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq FortreeCity_EventScript_AskUseDevonScope
+ msgbox FortreeCity_Text_SomethingUnseeable, MSGBOX_DEFAULT
release
end
-FortreeCity_EventScript_1E2630:: @ 81E2630
- msgbox FortreeCity_Text_1E2A08, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq FortreeCity_EventScript_1E2645
+FortreeCity_EventScript_AskUseDevonScope:: @ 81E2630
+ msgbox FortreeCity_Text_UnseeableUseDevonScope, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq FortreeCity_EventScript_UseDevonScope
release
end
-FortreeCity_EventScript_1E2645:: @ 81E2645
- msgbox FortreeCity_Text_1E2A48, MSGBOX_DEFAULT
+FortreeCity_EventScript_UseDevonScope:: @ 81E2645
+ msgbox FortreeCity_Text_UsedDevonScopePokemonFled, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, FortreeCity_Movement_2723C7
+ applymovement VAR_LAST_TALKED, Movement_KecleonAppears
waitmovement 0
waitse
playmoncry SPECIES_KECLEON, 2
delay 40
waitmoncry
- applymovement VAR_LAST_TALKED, FortreeCity_Movement_1E2674
+ applymovement VAR_LAST_TALKED, FortreeCity_Movement_KecleonFlee
waitmovement 0
removeobject VAR_LAST_TALKED
setflag FLAG_KECLEON_FLED_FORTREE
release
end
-FortreeCity_Movement_1E2674: @ 81E2674
+FortreeCity_Movement_KecleonFlee: @ 81E2674
walk_right
step_end
-FortreeCity_Text_1E2676: @ 81E2676
+FortreeCity_Text_SawGiganticPokemonInSky: @ 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"
@@ -98,23 +98,23 @@ FortreeCity_Text_1E2676: @ 81E2676
.string "Um… You, uh…smell singed.\p"
.string "Were you at a volcano or something?$"
-FortreeCity_Text_1E2738: @ 81E2738
+FortreeCity_Text_SomethingBlockingGym: @ 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
+FortreeCity_Text_ThisTimeIllBeatWinona: @ 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
+FortreeCity_Text_TreesGrowByDrinkingRainwater: @ 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
+FortreeCity_Text_EveryoneHealthyAndLively: @ 81E2880
.string "The CITY consists of homes built on\n"
.string "trees.\p"
.string "Perhaps because of that lifestyle,\n"
@@ -122,35 +122,35 @@ FortreeCity_Text_1E2880: @ 81E2880
.string "Why, even myself--I feel as if I've\n"
.string "grown thirty years younger.$"
-FortreeCity_Text_1E292E: @ 81E292E
+FortreeCity_Text_BugPokemonComeThroughWindow: @ 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
+FortreeCity_Text_PokemonThatEvolveWhenTraded: @ 81E299D
.string "There are POKéMON that evolve when\n"
.string "you trade them! That's what I heard.$"
-FortreeCity_Text_1E29E5: @ 81E29E5
+FortreeCity_Text_SomethingUnseeable: @ 81E29E5
.string "Something unseeable is in the way.$"
-FortreeCity_Text_1E2A08: @ 81E2A08
+FortreeCity_Text_UnseeableUseDevonScope: @ 81E2A08
.string "Something unseeable is in the way.\p"
.string "Want to use the DEVON SCOPE?$"
-FortreeCity_Text_1E2A48: @ 81E2A48
+FortreeCity_Text_UsedDevonScopePokemonFled: @ 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
+FortreeCity_Text_CitySign: @ 81E2AAC
.string "FORTREE CITY\n"
.string "“The treetop city that frolics with\l"
.string "nature.”$"
-FortreeCity_Text_1E2AE6: @ 81E2AE6
+FortreeCity_Text_GymSign: @ 81E2AE6
.string "FORTREE CITY POKéMON GYM\n"
.string "LEADER: WINONA\p"
.string "“The bird user taking flight into\n"
diff --git a/data/maps/FortreeCity_DecorationShop/map.json b/data/maps/FortreeCity_DecorationShop/map.json
index a8654e708..ac0ca1f89 100644
--- a/data/maps/FortreeCity_DecorationShop/map.json
+++ b/data/maps/FortreeCity_DecorationShop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_DecorationShop_EventScript_21800E",
+ "script": "FortreeCity_DecorationShop_EventScript_PokefanM",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_DecorationShop_EventScript_218017",
+ "script": "FortreeCity_DecorationShop_EventScript_Girl",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_DecorationShop_EventScript_218020",
+ "script": "FortreeCity_DecorationShop_EventScript_ClerkDesks",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_DecorationShop_EventScript_21804C",
+ "script": "FortreeCity_DecorationShop_EventScript_ClerkChairs",
"flag": "0"
}
],
diff --git a/data/maps/FortreeCity_DecorationShop/scripts.inc b/data/maps/FortreeCity_DecorationShop/scripts.inc
index 3b0021cf3..4dd751b0f 100644
--- a/data/maps/FortreeCity_DecorationShop/scripts.inc
+++ b/data/maps/FortreeCity_DecorationShop/scripts.inc
@@ -1,21 +1,21 @@
FortreeCity_DecorationShop_MapScripts:: @ 821800D
.byte 0
-FortreeCity_DecorationShop_EventScript_21800E:: @ 821800E
- msgbox FortreeCity_DecorationShop_Text_218078, MSGBOX_NPC
+FortreeCity_DecorationShop_EventScript_PokefanM:: @ 821800E
+ msgbox FortreeCity_DecorationShop_Text_MerchandiseSentToPC, MSGBOX_NPC
end
-FortreeCity_DecorationShop_EventScript_218017:: @ 8218017
- msgbox FortreeCity_DecorationShop_Text_2180ED, MSGBOX_NPC
+FortreeCity_DecorationShop_EventScript_Girl:: @ 8218017
+ msgbox FortreeCity_DecorationShop_Text_BuyingDeskForDolls, MSGBOX_NPC
end
-FortreeCity_DecorationShop_EventScript_218020:: @ 8218020
+FortreeCity_DecorationShop_EventScript_ClerkDesks:: @ 8218020
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_Desks
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -33,13 +33,13 @@ FortreeCity_DecorationShop_PokemartDecor_Desks: @ 8218038
release
end
-FortreeCity_DecorationShop_EventScript_21804C:: @ 821804C
+FortreeCity_DecorationShop_EventScript_ClerkChairs:: @ 821804C
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_Chairs
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -57,13 +57,13 @@ FortreeCity_DecorationShop_PokemartDecor_Chairs: @ 8218064
release
end
-FortreeCity_DecorationShop_Text_218078: @ 8218078
+FortreeCity_DecorationShop_Text_MerchandiseSentToPC: @ 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
+FortreeCity_DecorationShop_Text_BuyingDeskForDolls: @ 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"
diff --git a/data/maps/FortreeCity_Gym/map.json b/data/maps/FortreeCity_Gym/map.json
index f985b2ce4..7b17c58c0 100644
--- a/data/maps/FortreeCity_Gym/map.json
+++ b/data/maps/FortreeCity_Gym/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_Gym_EventScript_2165C8",
+ "script": "FortreeCity_Gym_EventScript_Winona",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "FortreeCity_Gym_EventScript_2166A8",
+ "script": "FortreeCity_Gym_EventScript_Jared",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "FortreeCity_Gym_EventScript_2166D6",
+ "script": "FortreeCity_Gym_EventScript_Flint",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "FortreeCity_Gym_EventScript_2166ED",
+ "script": "FortreeCity_Gym_EventScript_Ashley",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "FortreeCity_Gym_EventScript_2166BF",
+ "script": "FortreeCity_Gym_EventScript_Edwardo",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_Gym_EventScript_216732",
+ "script": "FortreeCity_Gym_EventScript_GymGuide",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "FortreeCity_Gym_EventScript_216704",
+ "script": "FortreeCity_Gym_EventScript_Humberto",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "FortreeCity_Gym_EventScript_21671B",
+ "script": "FortreeCity_Gym_EventScript_Darius",
"flag": "0"
}
],
@@ -143,7 +143,7 @@
"y": 21,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "FortreeCity_Gym_EventScript_216751"
+ "script": "FortreeCity_Gym_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -151,7 +151,7 @@
"y": 21,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "FortreeCity_Gym_EventScript_216761"
+ "script": "FortreeCity_Gym_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc
index 1b3cf29e9..15e359175 100644
--- a/data/maps/FortreeCity_Gym/scripts.inc
+++ b/data/maps/FortreeCity_Gym/scripts.inc
@@ -1,141 +1,141 @@
FortreeCity_Gym_MapScripts:: @ 82165AB
map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_Gym_OnTransition
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_Gym_MapScript2_2165BA
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_Gym_OnWarp
.byte 0
FortreeCity_Gym_OnTransition: @ 82165B6
special RotatingGate_InitPuzzle
end
-FortreeCity_Gym_MapScript2_2165BA: @ 82165BA
- map_script_2 VAR_TEMP_0, 16384, FortreeCity_Gym_EventScript_2165C4
+FortreeCity_Gym_OnWarp: @ 82165BA
+ map_script_2 VAR_TEMP_0, VAR_TEMP_0, FortreeCity_Gym_EventScript_InitRotatingGates
.2byte 0
-FortreeCity_Gym_EventScript_2165C4:: @ 82165C4
+FortreeCity_Gym_EventScript_InitRotatingGates:: @ 82165C4
special RotatingGate_InitPuzzleAndGraphics
end
-FortreeCity_Gym_EventScript_2165C8:: @ 82165C8
- trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD, NO_MUSIC
+FortreeCity_Gym_EventScript_Winona:: @ 82165C8
+ trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaIntro, FortreeCity_Gym_Text_WinonaDefeat, FortreeCity_Gym_EventScript_WinonaDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq FortreeCity_Gym_EventScript_21668D
- goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_216646
- msgbox FortreeCity_Gym_Text_217071, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq FortreeCity_Gym_EventScript_WinonaRematch
+ goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_GiveAerialAce2
+ msgbox FortreeCity_Gym_Text_WinonaPostBattle, MSGBOX_DEFAULT
release
end
-FortreeCity_Gym_EventScript_2165FD:: @ 82165FD
- message FortreeCity_Gym_Text_216EEC
+FortreeCity_Gym_EventScript_WinonaDefeated:: @ 82165FD
+ message FortreeCity_Gym_Text_ReceivedFeatherBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox FortreeCity_Gym_Text_216F17, MSGBOX_DEFAULT
+ msgbox FortreeCity_Gym_Text_ExplainFeatherBadgeTakeThis, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_FORTREE_GYM
setflag FLAG_BADGE06_GET
setvar VAR_0x8008, 6
- call FortreeCity_Gym_EventScript_271F43
- call FortreeCity_Gym_EventScript_21666A
+ call Common_EventScript_SetGymTrainers
+ call FortreeCity_Gym_EventScript_GiveAerialAce
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox FortreeCity_Gym_Text_217044, MSGBOX_DEFAULT
+ msgbox FortreeCity_Gym_Text_RegisteredWinona, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_WINONA_MATCH_CALL
- setvar VAR_WINONA_CALL_STEP_COUNTER, 0
- setflag FLAG_REGISTER_WINONA_POKENAV
+ setvar VAR_SCOTT_FORTREE_CALL_STEP_COUNTER, 0
+ setflag FLAG_SCOTT_CALL_FORTREE_GYM
release
end
-FortreeCity_Gym_EventScript_216646:: @ 8216646
- giveitem_std ITEM_TM40
+FortreeCity_Gym_EventScript_GiveAerialAce2:: @ 8216646
+ giveitem ITEM_TM40
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT
+ msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM40
release
end
-FortreeCity_Gym_EventScript_21666A:: @ 821666A
- giveitem_std ITEM_TM40
+FortreeCity_Gym_EventScript_GiveAerialAce:: @ 821666A
+ giveitem ITEM_TM40
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_BagIsFull
- msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT
+ msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM40
return
-FortreeCity_Gym_EventScript_21668D:: @ 821668D
- trainerbattle_rematch_double TRAINER_WINONA_1, FortreeCity_Gym_Text_217100, FortreeCity_Gym_Text_2171E6, FortreeCity_Gym_Text_217292
- msgbox FortreeCity_Gym_Text_21720B, MSGBOX_AUTOCLOSE
+FortreeCity_Gym_EventScript_WinonaRematch:: @ 821668D
+ trainerbattle_rematch_double TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaPreRematch, FortreeCity_Gym_Text_WinonaRematchDefeat, FortreeCity_Gym_Text_WinonaRematchNeedTwoMons
+ msgbox FortreeCity_Gym_Text_WinonaPostRematch, MSGBOX_AUTOCLOSE
end
-FortreeCity_Gym_EventScript_2166A8:: @ 82166A8
- trainerbattle_single TRAINER_JARED, FortreeCity_Gym_Text_2168A2, FortreeCity_Gym_Text_2168D3
- msgbox FortreeCity_Gym_Text_2168E7, MSGBOX_AUTOCLOSE
+FortreeCity_Gym_EventScript_Jared:: @ 82166A8
+ trainerbattle_single TRAINER_JARED, FortreeCity_Gym_Text_JaredIntro, FortreeCity_Gym_Text_JaredDefeat
+ msgbox FortreeCity_Gym_Text_JaredPostBattle, MSGBOX_AUTOCLOSE
end
-FortreeCity_Gym_EventScript_2166BF:: @ 82166BF
- trainerbattle_single TRAINER_EDWARDO, FortreeCity_Gym_Text_21695A, FortreeCity_Gym_Text_2169C7
- msgbox FortreeCity_Gym_Text_2169F1, MSGBOX_AUTOCLOSE
+FortreeCity_Gym_EventScript_Edwardo:: @ 82166BF
+ trainerbattle_single TRAINER_EDWARDO, FortreeCity_Gym_Text_EdwardoIntro, FortreeCity_Gym_Text_EdwardoDefeat
+ msgbox FortreeCity_Gym_Text_EdwardoPostBattle, MSGBOX_AUTOCLOSE
end
-FortreeCity_Gym_EventScript_2166D6:: @ 82166D6
- trainerbattle_single TRAINER_FLINT, FortreeCity_Gym_Text_216A66, FortreeCity_Gym_Text_216AC4
- msgbox FortreeCity_Gym_Text_216AD7, MSGBOX_AUTOCLOSE
+FortreeCity_Gym_EventScript_Flint:: @ 82166D6
+ trainerbattle_single TRAINER_FLINT, FortreeCity_Gym_Text_FlintIntro, FortreeCity_Gym_Text_FlintDefeat
+ msgbox FortreeCity_Gym_Text_FlintPostBattle, MSGBOX_AUTOCLOSE
end
-FortreeCity_Gym_EventScript_2166ED:: @ 82166ED
- trainerbattle_single TRAINER_ASHLEY, FortreeCity_Gym_Text_216B1A, FortreeCity_Gym_Text_216B51
- msgbox FortreeCity_Gym_Text_216B5F, MSGBOX_AUTOCLOSE
+FortreeCity_Gym_EventScript_Ashley:: @ 82166ED
+ trainerbattle_single TRAINER_ASHLEY, FortreeCity_Gym_Text_AshleyIntro, FortreeCity_Gym_Text_AshleyDefeat
+ msgbox FortreeCity_Gym_Text_AshleyPostBattle, MSGBOX_AUTOCLOSE
end
-FortreeCity_Gym_EventScript_216704:: @ 8216704
- trainerbattle_single TRAINER_HUMBERTO, FortreeCity_Gym_Text_216B9E, FortreeCity_Gym_Text_216C18
- msgbox FortreeCity_Gym_Text_216C32, MSGBOX_AUTOCLOSE
+FortreeCity_Gym_EventScript_Humberto:: @ 8216704
+ trainerbattle_single TRAINER_HUMBERTO, FortreeCity_Gym_Text_HumbertoIntro, FortreeCity_Gym_Text_HumbertoDefeat
+ msgbox FortreeCity_Gym_Text_HumbertoPostBattle, MSGBOX_AUTOCLOSE
end
-FortreeCity_Gym_EventScript_21671B:: @ 821671B
- trainerbattle_single TRAINER_DARIUS, FortreeCity_Gym_Text_216C96, FortreeCity_Gym_Text_216CF2
- msgbox FortreeCity_Gym_Text_216D0F, MSGBOX_AUTOCLOSE
+FortreeCity_Gym_EventScript_Darius:: @ 821671B
+ trainerbattle_single TRAINER_DARIUS, FortreeCity_Gym_Text_DariusIntro, FortreeCity_Gym_Text_DariusDefeat
+ msgbox FortreeCity_Gym_Text_DariusPostBattle, MSGBOX_AUTOCLOSE
end
-FortreeCity_Gym_EventScript_216732:: @ 8216732
+FortreeCity_Gym_EventScript_GymGuide:: @ 8216732
lock
faceplayer
- goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_216747
- msgbox FortreeCity_Gym_Text_216785, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_FORTREE_GYM, FortreeCity_Gym_EventScript_GymGuidePostVictory
+ msgbox FortreeCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-FortreeCity_Gym_EventScript_216747:: @ 8216747
- msgbox FortreeCity_Gym_Text_21687D, MSGBOX_DEFAULT
+FortreeCity_Gym_EventScript_GymGuidePostVictory:: @ 8216747
+ msgbox FortreeCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-FortreeCity_Gym_EventScript_216751:: @ 8216751
+FortreeCity_Gym_EventScript_LeftGymStatue:: @ 8216751
lockall
- goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771
- goto FortreeCity_Gym_EventScript_21677B
+ goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_GymStatueCertified
+ goto FortreeCity_Gym_EventScript_GymStatue
end
-FortreeCity_Gym_EventScript_216761:: @ 8216761
+FortreeCity_Gym_EventScript_RightGymStatue:: @ 8216761
lockall
- goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771
- goto FortreeCity_Gym_EventScript_21677B
+ goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_GymStatueCertified
+ goto FortreeCity_Gym_EventScript_GymStatue
end
-FortreeCity_Gym_EventScript_216771:: @ 8216771
- msgbox FortreeCity_Gym_Text_2170C7, MSGBOX_DEFAULT
+FortreeCity_Gym_EventScript_GymStatueCertified:: @ 8216771
+ msgbox FortreeCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-FortreeCity_Gym_EventScript_21677B:: @ 821677B
- msgbox FortreeCity_Gym_Text_2170AE, MSGBOX_DEFAULT
+FortreeCity_Gym_EventScript_GymStatue:: @ 821677B
+ msgbox FortreeCity_Gym_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-FortreeCity_Gym_Text_216785: @ 8216785
+FortreeCity_Gym_Text_GymGuideAdvice: @ 8216785
.string "Yo, how's it going, CHAMPION-\n"
.string "bound {PLAYER}?\p"
.string "FORTREE GYM LEADER WINONA is\n"
@@ -146,94 +146,94 @@ FortreeCity_Gym_Text_216785: @ 8216785
.string "who are trying to take wing!\p"
.string "Okay, go for it!$"
-FortreeCity_Gym_Text_21687D: @ 821687D
+FortreeCity_Gym_Text_GymGuidePostVictory: @ 821687D
.string "You did it!\n"
.string "You've achieved liftoff!$"
-FortreeCity_Gym_Text_2168A2: @ 82168A2
+FortreeCity_Gym_Text_JaredIntro: @ 82168A2
.string "Behold the elegant battle style of\n"
.string "BIRD POKéMON!$"
-FortreeCity_Gym_Text_2168D3: @ 82168D3
+FortreeCity_Gym_Text_JaredDefeat: @ 82168D3
.string "You…\n"
.string "You're strong…$"
-FortreeCity_Gym_Text_2168E7: @ 82168E7
+FortreeCity_Gym_Text_JaredPostBattle: @ 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
+FortreeCity_Gym_Text_EdwardoIntro: @ 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
+FortreeCity_Gym_Text_EdwardoDefeat: @ 82169C7
.string "It was too much of a load for me\n"
.string "to bear…$"
-FortreeCity_Gym_Text_2169F1: @ 82169F1
+FortreeCity_Gym_Text_EdwardoPostBattle: @ 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
+FortreeCity_Gym_Text_FlintIntro: @ 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
+FortreeCity_Gym_Text_FlintDefeat: @ 8216AC4
.string "WINONA, I…\n"
.string "I lost!$"
-FortreeCity_Gym_Text_216AD7: @ 8216AD7
+FortreeCity_Gym_Text_FlintPostBattle: @ 8216AD7
.string "WINONA is cute and she's strong.\n"
.string "She's the ultimate LEADER!\p"
.string "Blush…$"
-FortreeCity_Gym_Text_216B1A: @ 8216B1A
+FortreeCity_Gym_Text_AshleyIntro: @ 8216B1A
.string "WINONA taught me personally!\n"
.string "You can't beat me easily!$"
-FortreeCity_Gym_Text_216B51: @ 8216B51
+FortreeCity_Gym_Text_AshleyDefeat: @ 8216B51
.string "I was beaten…$"
-FortreeCity_Gym_Text_216B5F: @ 8216B5F
+FortreeCity_Gym_Text_AshleyPostBattle: @ 8216B5F
.string "Thanks to WINONA, the people of\n"
.string "FORTREE can live without fear.$"
-FortreeCity_Gym_Text_216B9E: @ 8216B9E
+FortreeCity_Gym_Text_HumbertoIntro: @ 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
+FortreeCity_Gym_Text_HumbertoDefeat: @ 8216C18
.string "Urk!\n"
.string "I couldn't stop you.$"
-FortreeCity_Gym_Text_216C32: @ 8216C32
+FortreeCity_Gym_Text_HumbertoPostBattle: @ 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
+FortreeCity_Gym_Text_DariusIntro: @ 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
+FortreeCity_Gym_Text_DariusDefeat: @ 8216CF2
.string "You seem to know your stuff!$"
-FortreeCity_Gym_Text_216D0F: @ 8216D0F
+FortreeCity_Gym_Text_DariusPostBattle: @ 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
+FortreeCity_Gym_Text_WinonaIntro: @ 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"
@@ -243,18 +243,18 @@ FortreeCity_Gym_Text_216D75: @ 8216D75
.string "Witness the elegant choreography\n"
.string "of BIRD POKéMON and I!$"
-FortreeCity_Gym_Text_216E60: @ 8216E60
+FortreeCity_Gym_Text_WinonaDefeat: @ 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
+FortreeCity_Gym_Text_ReceivedFeatherBadge: @ 8216EEC
.string "{PLAYER} received the FEATHER BADGE\n"
.string "from WINONA.$"
-FortreeCity_Gym_Text_216F17: @ 8216F17
+FortreeCity_Gym_Text_ExplainFeatherBadgeTakeThis: @ 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"
@@ -263,29 +263,29 @@ FortreeCity_Gym_Text_216F17: @ 8216F17
.string "And this…\n"
.string "This is a gift from me.$"
-FortreeCity_Gym_Text_216FEC: @ 8216FEC
+FortreeCity_Gym_Text_ExplainAerialAce: @ 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
+FortreeCity_Gym_Text_RegisteredWinona: @ 8217044
.string "Registered GYM LEADER WINONA\n"
.string "in the POKéNAV.$"
-FortreeCity_Gym_Text_217071: @ 8217071
+FortreeCity_Gym_Text_WinonaPostBattle: @ 8217071
.string "Though I fell to you, I will remain\n"
.string "devoted to BIRD POKéMON.$"
-FortreeCity_Gym_Text_2170AE: @ 82170AE
+FortreeCity_Gym_Text_GymStatue: @ 82170AE
.string "FORTREE CITY POKéMON GYM$"
-FortreeCity_Gym_Text_2170C7: @ 82170C7
+FortreeCity_Gym_Text_GymStatueCertified: @ 82170C7
.string "FORTREE CITY POKéMON GYM\p"
.string "WINONA'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-FortreeCity_Gym_Text_217100: @ 8217100
+FortreeCity_Gym_Text_WinonaPreRematch: @ 8217100
.string "WINONA: We humans can never escape\n"
.string "gravity's pull on the ground.\p"
.string "But by striving for excellence,\n"
@@ -295,17 +295,17 @@ FortreeCity_Gym_Text_217100: @ 8217100
.string "Please, allow me to see your power\n"
.string "at full flight!$"
-FortreeCity_Gym_Text_2171E6: @ 82171E6
+FortreeCity_Gym_Text_WinonaRematchDefeat: @ 82171E6
.string "I failed to reach your height again…$"
-FortreeCity_Gym_Text_21720B: @ 821720B
+FortreeCity_Gym_Text_WinonaPostRematch: @ 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
+FortreeCity_Gym_Text_WinonaRematchNeedTwoMons: @ 8217292
.string "WINONA: We humans can never escape\n"
.string "gravity's pull on the ground.\p"
.string "But by striving for excellence,\n"
diff --git a/data/maps/FortreeCity_House1/map.json b/data/maps/FortreeCity_House1/map.json
index 62469515a..f984e2be5 100644
--- a/data/maps/FortreeCity_House1/map.json
+++ b/data/maps/FortreeCity_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House1_EventScript_2162BB",
+ "script": "FortreeCity_House1_EventScript_Trader",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House1_EventScript_216368",
+ "script": "FortreeCity_House1_EventScript_Zigzagoon",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House1_EventScript_21635F",
+ "script": "FortreeCity_House1_EventScript_ExpertF",
"flag": "0"
}
],
diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc
index 87aa7a643..c7f4a8d5b 100644
--- a/data/maps/FortreeCity_House1/scripts.inc
+++ b/data/maps/FortreeCity_House1/scripts.inc
@@ -1,69 +1,69 @@
FortreeCity_House1_MapScripts:: @ 82162BA
.byte 0
-FortreeCity_House1_EventScript_2162BB:: @ 82162BB
+FortreeCity_House1_EventScript_Trader:: @ 82162BB
lock
faceplayer
- goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_216355
- setvar VAR_0x8008, 1
+ goto_if_set FLAG_FORTREE_NPC_TRADE_COMPLETED, FortreeCity_House1_EventScript_TradeCompleted
+ setvar VAR_0x8008, INGAME_TRADE_PLUSLE
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
- msgbox FortreeCity_House1_Text_21637B, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq FortreeCity_House1_EventScript_21633D
- special sub_81B94B0
+ msgbox FortreeCity_House1_Text_YouWillTradeWontYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq FortreeCity_House1_EventScript_DeclineTrade
+ special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_if_eq FortreeCity_House1_EventScript_21633D
+ goto_if_eq FortreeCity_House1_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if_ne FortreeCity_House1_EventScript_216347
+ goto_if_ne FortreeCity_House1_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
special DoInGameTradeScene
waitstate
bufferspeciesname 0, VAR_0x8009
- msgbox FortreeCity_House1_Text_216440, MSGBOX_DEFAULT
+ msgbox FortreeCity_House1_Text_MonYouTakeCare, MSGBOX_DEFAULT
setflag FLAG_FORTREE_NPC_TRADE_COMPLETED
release
end
-FortreeCity_House1_EventScript_21633D:: @ 821633D
- msgbox FortreeCity_House1_Text_21649F, MSGBOX_DEFAULT
+FortreeCity_House1_EventScript_DeclineTrade:: @ 821633D
+ msgbox FortreeCity_House1_Text_YouWontTradeMe, MSGBOX_DEFAULT
release
end
-FortreeCity_House1_EventScript_216347:: @ 8216347
+FortreeCity_House1_EventScript_NotRequestedMon:: @ 8216347
bufferspeciesname 0, VAR_0x8009
- msgbox FortreeCity_House1_Text_216474, MSGBOX_DEFAULT
+ msgbox FortreeCity_House1_Text_ThisIsntAMon, MSGBOX_DEFAULT
release
end
-FortreeCity_House1_EventScript_216355:: @ 8216355
- msgbox FortreeCity_House1_Text_2164DB, MSGBOX_DEFAULT
+FortreeCity_House1_EventScript_TradeCompleted:: @ 8216355
+ msgbox FortreeCity_House1_Text_GoingToMakeVolbeatStrong, MSGBOX_DEFAULT
release
end
-FortreeCity_House1_EventScript_21635F:: @ 821635F
- msgbox FortreeCity_House1_Text_21653B, MSGBOX_NPC
+FortreeCity_House1_EventScript_ExpertF:: @ 821635F
+ msgbox FortreeCity_House1_Text_TradingMemoriesWithOthers, MSGBOX_NPC
end
-FortreeCity_House1_EventScript_216368:: @ 8216368
+FortreeCity_House1_EventScript_Zigzagoon:: @ 8216368
lock
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox FortreeCity_House1_Text_216597, MSGBOX_DEFAULT
+ msgbox FortreeCity_House1_Text_Zigzagoon, MSGBOX_DEFAULT
waitmoncry
release
end
-FortreeCity_House1_Text_21637B: @ 821637B
+FortreeCity_House1_Text_YouWillTradeWontYou: @ 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"
@@ -73,29 +73,29 @@ FortreeCity_House1_Text_21637B: @ 821637B
.string "your {STR_VAR_1} for my {STR_VAR_2},\l"
.string "won't you?$"
-FortreeCity_House1_Text_216440: @ 8216440
+FortreeCity_House1_Text_MonYouTakeCare: @ 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
+FortreeCity_House1_Text_ThisIsntAMon: @ 8216474
.string "Uh, no, I don't think so.\n"
.string "That isn't a {STR_VAR_1}.$"
-FortreeCity_House1_Text_21649F: @ 821649F
+FortreeCity_House1_Text_YouWontTradeMe: @ 821649F
.string "No? You won't trade me?\n"
.string "Even after I bared my heart to you?$"
-FortreeCity_House1_Text_2164DB: @ 82164DB
+FortreeCity_House1_Text_GoingToMakeVolbeatStrong: @ 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
+FortreeCity_House1_Text_TradingMemoriesWithOthers: @ 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
+FortreeCity_House1_Text_Zigzagoon: @ 8216597
.string "ZIGZAGOON: Gumomoh?$"
diff --git a/data/maps/FortreeCity_House2/map.json b/data/maps/FortreeCity_House2/map.json
index 17f928fe9..c4988e863 100644
--- a/data/maps/FortreeCity_House2/map.json
+++ b/data/maps/FortreeCity_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House2_EventScript_2177CB",
+ "script": "FortreeCity_House2_EventScript_HiddenPowerGiver",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House2_EventScript_2C811E",
+ "script": "FortreeCity_House2_EventScript_SleepTalkTutor",
"flag": "0"
}
],
diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc
index 34344bca3..98b8272fe 100644
--- a/data/maps/FortreeCity_House2/scripts.inc
+++ b/data/maps/FortreeCity_House2/scripts.inc
@@ -1,82 +1,82 @@
FortreeCity_House2_MapScripts:: @ 82177CA
.byte 0
-FortreeCity_House2_EventScript_2177CB:: @ 82177CB
+FortreeCity_House2_EventScript_HiddenPowerGiver:: @ 82177CB
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_21786E
- call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_217862
- msgbox FortreeCity_House2_Text_2178D6, MSGBOX_DEFAULT
- multichoice 21, 8, 54, 1
+ goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_ExplainHiddenPower
+ call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_Greeting
+ msgbox FortreeCity_House2_Text_CoinInWhichHand, MSGBOX_DEFAULT
+ multichoice 21, 8, MULTI_RIGHTLEFT, 1
switch VAR_RESULT
- case 1, FortreeCity_House2_EventScript_217878
- msgbox FortreeCity_House2_Text_21796A, MSGBOX_DEFAULT
- multichoice 21, 8, 54, 1
+ case 1, FortreeCity_House2_EventScript_WrongGuess
+ msgbox FortreeCity_House2_Text_CorrectTryAgainWhichHand, MSGBOX_DEFAULT
+ multichoice 21, 8, MULTI_RIGHTLEFT, 1
switch VAR_RESULT
- case 1, FortreeCity_House2_EventScript_217878
- msgbox FortreeCity_House2_Text_2179C9, MSGBOX_DEFAULT
- multichoice 21, 8, 54, 1
+ case 1, FortreeCity_House2_EventScript_WrongGuess
+ msgbox FortreeCity_House2_Text_CorrectTryAgainWhichHand2, MSGBOX_DEFAULT
+ multichoice 21, 8, MULTI_RIGHTLEFT, 1
switch VAR_RESULT
- case 0, FortreeCity_House2_EventScript_217878
- msgbox FortreeCity_House2_Text_217A28, MSGBOX_DEFAULT
- giveitem_std ITEM_TM10
+ case 0, FortreeCity_House2_EventScript_WrongGuess
+ msgbox FortreeCity_House2_Text_YourHiddenPowerHasAwoken, MSGBOX_DEFAULT
+ giveitem ITEM_TM10
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM10
- msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT
+ msgbox FortreeCity_House2_Text_ExplainHiddenPower, MSGBOX_DEFAULT
release
end
-FortreeCity_House2_EventScript_217862:: @ 8217862
- msgbox FortreeCity_House2_Text_217882, MSGBOX_DEFAULT
+FortreeCity_House2_EventScript_Greeting:: @ 8217862
+ msgbox FortreeCity_House2_Text_HiddenPowersArousedByNature, MSGBOX_DEFAULT
setflag FLAG_MET_HIDDEN_POWER_GIVER
return
-FortreeCity_House2_EventScript_21786E:: @ 821786E
- msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT
+FortreeCity_House2_EventScript_ExplainHiddenPower:: @ 821786E
+ msgbox FortreeCity_House2_Text_ExplainHiddenPower, MSGBOX_DEFAULT
release
end
-FortreeCity_House2_EventScript_217878:: @ 8217878
- msgbox FortreeCity_House2_Text_217AC7, MSGBOX_DEFAULT
+FortreeCity_House2_EventScript_WrongGuess:: @ 8217878
+ msgbox FortreeCity_House2_Text_YouGuessedWrong, MSGBOX_DEFAULT
release
end
-FortreeCity_House2_Text_217882: @ 8217882
+FortreeCity_House2_Text_HiddenPowersArousedByNature: @ 8217882
.string "People… POKéMON…\p"
.string "Their hidden powers are aroused by\n"
.string "living in natural environments…$"
-FortreeCity_House2_Text_2178D6: @ 82178D6
+FortreeCity_House2_Text_CoinInWhichHand: @ 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
+FortreeCity_House2_Text_CorrectTryAgainWhichHand: @ 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
+FortreeCity_House2_Text_CorrectTryAgainWhichHand2: @ 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
+FortreeCity_House2_Text_YourHiddenPowerHasAwoken: @ 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
+FortreeCity_House2_Text_ExplainHiddenPower: @ 8217A91
.string "HIDDEN POWER is a move that changes\n"
.string "with the POKéMON.$"
-FortreeCity_House2_Text_217AC7: @ 8217AC7
+FortreeCity_House2_Text_YouGuessedWrong: @ 8217AC7
.string "No, too bad.\n"
.string "You guessed wrong.$"
diff --git a/data/maps/FortreeCity_House3/map.json b/data/maps/FortreeCity_House3/map.json
index 8b7e971c7..ce70f4605 100644
--- a/data/maps/FortreeCity_House3/map.json
+++ b/data/maps/FortreeCity_House3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House3_EventScript_217AE8",
+ "script": "FortreeCity_House3_EventScript_Maniac",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House3_EventScript_217AF1",
+ "script": "FortreeCity_House3_EventScript_SchoolKidM",
"flag": "0"
}
],
diff --git a/data/maps/FortreeCity_House3/scripts.inc b/data/maps/FortreeCity_House3/scripts.inc
index fe1f6cfee..396bd4b22 100644
--- a/data/maps/FortreeCity_House3/scripts.inc
+++ b/data/maps/FortreeCity_House3/scripts.inc
@@ -1,15 +1,15 @@
FortreeCity_House3_MapScripts:: @ 8217AE7
.byte 0
-FortreeCity_House3_EventScript_217AE8:: @ 8217AE8
- msgbox FortreeCity_House3_Text_217AFA, MSGBOX_NPC
+FortreeCity_House3_EventScript_Maniac:: @ 8217AE8
+ msgbox FortreeCity_House3_Text_MetStevenHadAmazingPokemon, MSGBOX_NPC
end
-FortreeCity_House3_EventScript_217AF1:: @ 8217AF1
- msgbox FortreeCity_House3_Text_217C22, MSGBOX_NPC
+FortreeCity_House3_EventScript_SchoolKidM:: @ 8217AF1
+ msgbox FortreeCity_House3_Text_OhYouHavePokedex, MSGBOX_NPC
end
-FortreeCity_House3_Text_217AFA: @ 8217AFA
+FortreeCity_House3_Text_MetStevenHadAmazingPokemon: @ 8217AFA
.string "While speaking about POKéDEXES,\n"
.string "I remembered something.\p"
.string "I met this TRAINER, STEVEN, when\n"
@@ -21,7 +21,7 @@ FortreeCity_House3_Text_217AFA: @ 8217AFA
.string "He might even be stronger than the\n"
.string "GYM LEADER in this town…$"
-FortreeCity_House3_Text_217C22: @ 8217C22
+FortreeCity_House3_Text_OhYouHavePokedex: @ 8217C22
.string "What's that thing you have there?\p"
.string "… … … … … …\p"
.string "Oh, it's called a POKéDEX?\n"
diff --git a/data/maps/FortreeCity_House4/map.json b/data/maps/FortreeCity_House4/map.json
index a9db995ed..01d1a99e8 100644
--- a/data/maps/FortreeCity_House4/map.json
+++ b/data/maps/FortreeCity_House4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House4_EventScript_217C81",
+ "script": "FortreeCity_House4_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House4_EventScript_217C8A",
+ "script": "FortreeCity_House4_EventScript_Boy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House4_EventScript_217D20",
+ "script": "FortreeCity_House4_EventScript_Wingull",
"flag": "FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL"
}
],
diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc
index 5dc9d769a..be5ff9c6e 100644
--- a/data/maps/FortreeCity_House4/scripts.inc
+++ b/data/maps/FortreeCity_House4/scripts.inc
@@ -1,51 +1,51 @@
FortreeCity_House4_MapScripts:: @ 8217C80
.byte 0
-FortreeCity_House4_EventScript_217C81:: @ 8217C81
- msgbox FortreeCity_House4_Text_217D33, MSGBOX_NPC
+FortreeCity_House4_EventScript_Woman:: @ 8217C81
+ msgbox FortreeCity_House4_Text_BringsWorldCloserTogether, MSGBOX_NPC
end
-FortreeCity_House4_EventScript_217C8A:: @ 8217C8A
+FortreeCity_House4_EventScript_Boy:: @ 8217C8A
lockall
- goto_if_set FLAG_RECEIVED_MENTAL_HERB, FortreeCity_House4_EventScript_217D06
- goto_if_set FLAG_WINGULL_DELIVERED_MAIL, FortreeCity_House4_EventScript_217CD8
- goto_if_set FLAG_WINGULL_SENT_ON_ERRAND, FortreeCity_House4_EventScript_217CC4
- msgbox FortreeCity_House4_Text_217DB9, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_MENTAL_HERB, FortreeCity_House4_EventScript_ReceivedMentalHerb
+ goto_if_set FLAG_WINGULL_DELIVERED_MAIL, FortreeCity_House4_EventScript_WingullReturned
+ goto_if_set FLAG_WINGULL_SENT_ON_ERRAND, FortreeCity_House4_EventScript_WingullOnErrand
+ msgbox FortreeCity_House4_Text_GoBirdPokemon, MSGBOX_DEFAULT
closemessage
setflag FLAG_WINGULL_SENT_ON_ERRAND
clearflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL
- applymovement 3, FortreeCity_House4_Movement_217D1A
+ applymovement 3, FortreeCity_House4_Movement_WingullExit
waitmovement 0
removeobject 3
releaseall
end
-FortreeCity_House4_EventScript_217CC4:: @ 8217CC4
+FortreeCity_House4_EventScript_WingullOnErrand:: @ 8217CC4
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
- msgbox FortreeCity_House4_Text_217DD2, MSGBOX_DEFAULT
+ msgbox FortreeCity_House4_Text_AskedWingullToRunErrand, MSGBOX_DEFAULT
releaseall
end
-FortreeCity_House4_EventScript_217CD8:: @ 8217CD8
+FortreeCity_House4_EventScript_WingullReturned:: @ 8217CD8
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
- msgbox FortreeCity_House4_Text_217E05, MSGBOX_DEFAULT
- giveitem_std ITEM_MENTAL_HERB
- compare VAR_RESULT, 0
+ msgbox FortreeCity_House4_Text_WelcomeWingullTakeMentalHerb, MSGBOX_DEFAULT
+ giveitem ITEM_MENTAL_HERB
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_MENTAL_HERB
releaseall
end
-FortreeCity_House4_EventScript_217D06:: @ 8217D06
+FortreeCity_House4_EventScript_ReceivedMentalHerb:: @ 8217D06
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
- msgbox FortreeCity_House4_Text_217EA8, MSGBOX_DEFAULT
+ msgbox FortreeCity_House4_Text_FriendsFarAwayThanksToWingull, MSGBOX_DEFAULT
releaseall
end
-FortreeCity_House4_Movement_217D1A: @ 8217D1A
+FortreeCity_House4_Movement_WingullExit: @ 8217D1A
walk_fast_down
walk_fast_down
walk_fast_right
@@ -53,31 +53,31 @@ FortreeCity_House4_Movement_217D1A: @ 8217D1A
delay_8
step_end
-FortreeCity_House4_EventScript_217D20:: @ 8217D20
+FortreeCity_House4_EventScript_Wingull:: @ 8217D20
lock
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox FortreeCity_House4_Text_217EE0, MSGBOX_DEFAULT
+ msgbox FortreeCity_House4_Text_Wingull, MSGBOX_DEFAULT
waitmoncry
release
end
-FortreeCity_House4_Text_217D33: @ 8217D33
+FortreeCity_House4_Text_BringsWorldCloserTogether: @ 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
+FortreeCity_House4_Text_GoBirdPokemon: @ 8217DB9
.string "There!\n"
.string "Go, BIRD POKéMON!$"
-FortreeCity_House4_Text_217DD2: @ 8217DD2
+FortreeCity_House4_Text_AskedWingullToRunErrand: @ 8217DD2
.string "Heheh, I asked my WINGULL to run\n"
.string "an errand for me.$"
-FortreeCity_House4_Text_217E05: @ 8217E05
+FortreeCity_House4_Text_WelcomeWingullTakeMentalHerb: @ 8217E05
.string "Good!\n"
.string "Welcome back, WINGULL!\p"
.string "Huh? What is this?\n"
@@ -87,10 +87,10 @@ FortreeCity_House4_Text_217E05: @ 8217E05
.string "But I'm not a TRAINER, so you can\n"
.string "have it.$"
-FortreeCity_House4_Text_217EA8: @ 8217EA8
+FortreeCity_House4_Text_FriendsFarAwayThanksToWingull: @ 8217EA8
.string "Thanks to my WINGULL, I have friends\n"
.string "who live far away.$"
-FortreeCity_House4_Text_217EE0: @ 8217EE0
+FortreeCity_House4_Text_Wingull: @ 8217EE0
.string "WINGULL: Pihyoh!$"
diff --git a/data/maps/FortreeCity_House5/map.json b/data/maps/FortreeCity_House5/map.json
index a60c02ec3..a53b4e35c 100644
--- a/data/maps/FortreeCity_House5/map.json
+++ b/data/maps/FortreeCity_House5/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House5_EventScript_217EF2",
+ "script": "FortreeCity_House5_EventScript_PokefanF",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House5_EventScript_217F04",
+ "script": "FortreeCity_House5_EventScript_Zigzagoon",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_House5_EventScript_217EFB",
+ "script": "FortreeCity_House5_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/FortreeCity_House5/scripts.inc b/data/maps/FortreeCity_House5/scripts.inc
index a40fe0e83..4d27c2f06 100644
--- a/data/maps/FortreeCity_House5/scripts.inc
+++ b/data/maps/FortreeCity_House5/scripts.inc
@@ -1,35 +1,35 @@
FortreeCity_House5_MapScripts:: @ 8217EF1
.byte 0
-FortreeCity_House5_EventScript_217EF2:: @ 8217EF2
- msgbox FortreeCity_House5_Text_217F17, MSGBOX_NPC
+FortreeCity_House5_EventScript_PokefanF:: @ 8217EF2
+ msgbox FortreeCity_House5_Text_TreeHousesAreGreat, MSGBOX_NPC
end
-FortreeCity_House5_EventScript_217EFB:: @ 8217EFB
- msgbox FortreeCity_House5_Text_217F80, MSGBOX_NPC
+FortreeCity_House5_EventScript_Man:: @ 8217EFB
+ msgbox FortreeCity_House5_Text_AdaptedToNature, MSGBOX_NPC
end
-FortreeCity_House5_EventScript_217F04:: @ 8217F04
+FortreeCity_House5_EventScript_Zigzagoon:: @ 8217F04
lock
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox FortreeCity_House5_Text_217FFB, MSGBOX_DEFAULT
+ msgbox FortreeCity_House5_Text_Zigzagoon, MSGBOX_DEFAULT
waitmoncry
release
end
-FortreeCity_House5_Text_217F17: @ 8217F17
+FortreeCity_House5_Text_TreeHousesAreGreat: @ 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
+FortreeCity_House5_Text_AdaptedToNature: @ 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
+FortreeCity_House5_Text_Zigzagoon: @ 8217FFB
.string "ZIGZAGOON: Bufuu!$"
diff --git a/data/maps/FortreeCity_Mart/map.json b/data/maps/FortreeCity_Mart/map.json
index c1bb6df86..a8bca3743 100644
--- a/data/maps/FortreeCity_Mart/map.json
+++ b/data/maps/FortreeCity_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_Mart_EventScript_217666",
+ "script": "FortreeCity_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_Mart_EventScript_217698",
+ "script": "FortreeCity_Mart_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_Mart_EventScript_2176A1",
+ "script": "FortreeCity_Mart_EventScript_Girl",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_Mart_EventScript_2176AA",
+ "script": "FortreeCity_Mart_EventScript_Boy",
"flag": "0"
}
],
diff --git a/data/maps/FortreeCity_Mart/scripts.inc b/data/maps/FortreeCity_Mart/scripts.inc
index 8d2f9b568..05318e7bd 100644
--- a/data/maps/FortreeCity_Mart/scripts.inc
+++ b/data/maps/FortreeCity_Mart/scripts.inc
@@ -1,18 +1,18 @@
FortreeCity_Mart_MapScripts:: @ 8217665
.byte 0
-FortreeCity_Mart_EventScript_217666:: @ 8217666
+FortreeCity_Mart_EventScript_Clerk:: @ 8217666
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart FortreeCity_Mart_Pokemart_217680
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart FortreeCity_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-FortreeCity_Mart_Pokemart_217680: @ 8217680
+FortreeCity_Mart_Pokemart: @ 8217680
.2byte ITEM_GREAT_BALL
.2byte ITEM_ULTRA_BALL
.2byte ITEM_SUPER_POTION
@@ -27,31 +27,31 @@ FortreeCity_Mart_Pokemart_217680: @ 8217680
release
end
-FortreeCity_Mart_EventScript_217698:: @ 8217698
- msgbox FortreeCity_Mart_Text_2176B3, MSGBOX_NPC
+FortreeCity_Mart_EventScript_Woman:: @ 8217698
+ msgbox FortreeCity_Mart_Text_SuperRepelBetter, MSGBOX_NPC
end
-FortreeCity_Mart_EventScript_2176A1:: @ 82176A1
- msgbox FortreeCity_Mart_Text_217715, MSGBOX_NPC
+FortreeCity_Mart_EventScript_Girl:: @ 82176A1
+ msgbox FortreeCity_Mart_Text_StockUpOnItems, MSGBOX_NPC
end
-FortreeCity_Mart_EventScript_2176AA:: @ 82176AA
- msgbox FortreeCity_Mart_Text_21778E, MSGBOX_NPC
+FortreeCity_Mart_EventScript_Boy:: @ 82176AA
+ msgbox FortreeCity_Mart_Text_RareCandyMakesMonGrow, MSGBOX_NPC
end
-FortreeCity_Mart_Text_2176B3: @ 82176B3
+FortreeCity_Mart_Text_SuperRepelBetter: @ 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
+FortreeCity_Mart_Text_StockUpOnItems: @ 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
+FortreeCity_Mart_Text_RareCandyMakesMonGrow: @ 821778E
.string "A RARE CANDY makes a POKéMON grow\n"
.string "immediately by one level.$"
diff --git a/data/maps/FortreeCity_PokemonCenter_1F/map.json b/data/maps/FortreeCity_PokemonCenter_1F/map.json
index efa58e87b..38f133cc0 100644
--- a/data/maps/FortreeCity_PokemonCenter_1F/map.json
+++ b/data/maps/FortreeCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_1F_EventScript_2173E7",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_1F_EventScript_2173F5",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_1F_EventScript_2173FE",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_Man",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_1F_EventScript_217407",
+ "script": "FortreeCity_PokemonCenter_1F_EventScript_Boy",
"flag": "0"
}
],
diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc
index 0c62f97e2..e759d2d93 100644
--- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc
@@ -1,39 +1,40 @@
FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8
map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, FortreeCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
FortreeCity_PokemonCenter_1F_OnTransition: @ 82173E3
setrespawn HEAL_LOCATION_FORTREE_CITY
end
-FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7
+@ VAR_0x800B is the Nurse's object event id
+FortreeCity_PokemonCenter_1F_EventScript_Nurse:: @ 82173E7
setvar VAR_0x800B, 1
- call FortreeCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-FortreeCity_PokemonCenter_1F_EventScript_2173F5:: @ 82173F5
- msgbox FortreeCity_PokemonCenter_1F_Text_217410, MSGBOX_NPC
+FortreeCity_PokemonCenter_1F_EventScript_Gentleman:: @ 82173F5
+ msgbox FortreeCity_PokemonCenter_1F_Text_GoToSafariZone, MSGBOX_NPC
end
-FortreeCity_PokemonCenter_1F_EventScript_2173FE:: @ 82173FE
- msgbox FortreeCity_PokemonCenter_1F_Text_21746D, MSGBOX_NPC
+FortreeCity_PokemonCenter_1F_EventScript_Man:: @ 82173FE
+ msgbox FortreeCity_PokemonCenter_1F_Text_RecordCornerIsNeat, MSGBOX_NPC
end
-FortreeCity_PokemonCenter_1F_EventScript_217407:: @ 8217407
- msgbox FortreeCity_PokemonCenter_1F_Text_21751F, MSGBOX_NPC
+FortreeCity_PokemonCenter_1F_EventScript_Boy:: @ 8217407
+ msgbox FortreeCity_PokemonCenter_1F_Text_DoYouKnowAboutPokenav, MSGBOX_NPC
end
-FortreeCity_PokemonCenter_1F_Text_217410: @ 8217410
+FortreeCity_PokemonCenter_1F_Text_GoToSafariZone: @ 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
+FortreeCity_PokemonCenter_1F_Text_RecordCornerIsNeat: @ 821746D
.string "Have you done anything at\n"
.string "the RECORD CORNER?\p"
.string "It's pretty neat. It mixes and matches\n"
@@ -41,7 +42,7 @@ FortreeCity_PokemonCenter_1F_Text_21746D: @ 821746D
.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
+FortreeCity_PokemonCenter_1F_Text_DoYouKnowAboutPokenav: @ 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"
diff --git a/data/maps/FortreeCity_PokemonCenter_2F/map.json b/data/maps/FortreeCity_PokemonCenter_2F/map.json
index 79bdfad30..42aca8164 100644
--- a/data/maps/FortreeCity_PokemonCenter_2F/map.json
+++ b/data/maps/FortreeCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "FortreeCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc
index 2ab9510f3..183dbece0 100644
--- a/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/FortreeCity_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
FortreeCity_PokemonCenter_2F_MapScripts:: @ 821763E
- map_script MAP_SCRIPT_ON_FRAME_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FortreeCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, FortreeCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-FortreeCity_PokemonCenter_2F_EventScript_217653:: @ 8217653
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+FortreeCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8217653
+ call CableClub_EventScript_Colosseum
end
-FortreeCity_PokemonCenter_2F_EventScript_217659:: @ 8217659
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+FortreeCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8217659
+ call CableClub_EventScript_TradeCenter
end
-FortreeCity_PokemonCenter_2F_EventScript_21765F:: @ 821765F
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+FortreeCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 821765F
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/GraniteCave_1F/map.json b/data/maps/GraniteCave_1F/map.json
index 2413a023d..1822dd0c9 100644
--- a/data/maps/GraniteCave_1F/map.json
+++ b/data/maps/GraniteCave_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_1F_EventScript_22DA5E",
+ "script": "GraniteCave_1F_EventScript_Hiker",
"flag": "0"
},
{
diff --git a/data/maps/GraniteCave_1F/scripts.inc b/data/maps/GraniteCave_1F/scripts.inc
index b9e68d43c..a35147691 100644
--- a/data/maps/GraniteCave_1F/scripts.inc
+++ b/data/maps/GraniteCave_1F/scripts.inc
@@ -1,23 +1,23 @@
GraniteCave_1F_MapScripts:: @ 822DA5D
.byte 0
-GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E
+GraniteCave_1F_EventScript_Hiker:: @ 822DA5E
lock
faceplayer
- goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_22DA8A
- msgbox GraniteCave_1F_Text_22DA94, MSGBOX_DEFAULT
- giveitem_std ITEM_HM05
+ goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_ReceivedFlash
+ msgbox GraniteCave_1F_Text_GetsDarkAheadHereYouGo, MSGBOX_DEFAULT
+ giveitem ITEM_HM05
setflag FLAG_RECEIVED_HM05
- msgbox GraniteCave_1F_Text_22DBB7, MSGBOX_DEFAULT
+ msgbox GraniteCave_1F_Text_ExplainFlash, MSGBOX_DEFAULT
release
end
-GraniteCave_1F_EventScript_22DA8A:: @ 822DA8A
- msgbox GraniteCave_1F_Text_22DBB7, MSGBOX_DEFAULT
+GraniteCave_1F_EventScript_ReceivedFlash:: @ 822DA8A
+ msgbox GraniteCave_1F_Text_ExplainFlash, MSGBOX_DEFAULT
release
end
-GraniteCave_1F_Text_22DA94: @ 822DA94
+GraniteCave_1F_Text_GetsDarkAheadHereYouGo: @ 822DA94
.string "Hey, you.\n"
.string "It gets awfully dark ahead.\l"
.string "It'll be tough trying to explore.\p"
@@ -29,7 +29,7 @@ GraniteCave_1F_Text_22DA94: @ 822DA94
.string "that we meet is our motto.\p"
.string "Here you go, I'll pass this on to you.$"
-GraniteCave_1F_Text_22DBB7: @ 822DBB7
+GraniteCave_1F_Text_ExplainFlash: @ 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"
diff --git a/data/maps/GraniteCave_B1F/scripts.inc b/data/maps/GraniteCave_B1F/scripts.inc
index 099e5a501..f465b0694 100644
--- a/data/maps/GraniteCave_B1F/scripts.inc
+++ b/data/maps/GraniteCave_B1F/scripts.inc
@@ -1,11 +1,11 @@
GraniteCave_B1F_MapScripts:: @ 822DC5E
- map_script MAP_SCRIPT_ON_FRAME_TABLE, GraniteCave_B1F_MapScript2_2A8327
- map_script MAP_SCRIPT_ON_TRANSITION, GraniteCave_B1F_MapScript1_2A8331
- map_script MAP_SCRIPT_ON_RESUME, GraniteCave_B1F_MapScript1_22DC6E
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole
+ map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround
+ map_script MAP_SCRIPT_ON_RESUME, GraniteCave_B1F_SetHoleWarp
.byte 0
-GraniteCave_B1F_MapScript1_22DC6E: @ 822DC6E
- setstepcallback 7
+GraniteCave_B1F_SetHoleWarp: @ 822DC6E
+ setstepcallback STEP_CB_CRACKED_FLOOR
setholewarp MAP_GRANITE_CAVE_B2F, 255, 0, 0
end
diff --git a/data/maps/GraniteCave_StevensRoom/map.json b/data/maps/GraniteCave_StevensRoom/map.json
index ae5b61a6b..87264cd54 100644
--- a/data/maps/GraniteCave_StevensRoom/map.json
+++ b/data/maps/GraniteCave_StevensRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "GraniteCave_StevensRoom_EventScript_22DC7B",
+ "script": "GraniteCave_StevensRoom_EventScript_Steven",
"flag": "FLAG_HIDE_GRANITE_CAVE_STEVEN"
}
],
diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc
index d29ee13f2..1e8c44766 100644
--- a/data/maps/GraniteCave_StevensRoom/scripts.inc
+++ b/data/maps/GraniteCave_StevensRoom/scripts.inc
@@ -1,63 +1,63 @@
GraniteCave_StevensRoom_MapScripts:: @ 822DC7A
.byte 0
-GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B
+GraniteCave_StevensRoom_EventScript_Steven:: @ 822DC7B
lock
faceplayer
- msgbox GraniteCave_StevensRoom_Text_22DD5A, MSGBOX_DEFAULT
- setvar VAR_0x8004, 274
- call GraniteCave_StevensRoom_EventScript_2723E4
+ msgbox GraniteCave_StevensRoom_Text_ImStevenLetterForMe, MSGBOX_DEFAULT
+ setvar VAR_0x8004, ITEM_LETTER
+ call Common_EventScript_PlayerHandedOverTheItem
setflag FLAG_DELIVERED_STEVEN_LETTER
- msgbox GraniteCave_StevensRoom_Text_22DDBD, MSGBOX_DEFAULT
- giveitem_std ITEM_TM47
- compare VAR_RESULT, 0
- call_if_eq GraniteCave_StevensRoom_EventScript_22DD3C
- msgbox GraniteCave_StevensRoom_Text_22DE6B, MSGBOX_DEFAULT
+ msgbox GraniteCave_StevensRoom_Text_ThankYouTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM47
+ compare VAR_RESULT, FALSE
+ call_if_eq GraniteCave_StevensRoom_EventScript_BagFull
+ msgbox GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox GraniteCave_StevensRoom_Text_22DF6A, MSGBOX_DEFAULT
+ msgbox GraniteCave_StevensRoom_Text_RegisteredSteven, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_REGISTERED_STEVEN_POKENAV
- msgbox GraniteCave_StevensRoom_Text_22DF8C, MSGBOX_DEFAULT
+ msgbox GraniteCave_StevensRoom_Text_IveGotToHurryAlong, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq GraniteCave_StevensRoom_EventScript_22DD0D
- compare VAR_FACING, 1
- call_if_eq GraniteCave_StevensRoom_EventScript_22DD2A
- compare VAR_FACING, 3
- call_if_eq GraniteCave_StevensRoom_EventScript_22DD18
- compare VAR_FACING, 4
- call_if_eq GraniteCave_StevensRoom_EventScript_22DD18
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitNorth
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitSouth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitWestEast
+ compare VAR_FACING, DIR_EAST
+ call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitWestEast
playse SE_KAIDAN
removeobject 1
release
end
-GraniteCave_StevensRoom_EventScript_22DD0D:: @ 822DD0D
- applymovement 1, GraniteCave_StevensRoom_Movement_22DD45
+GraniteCave_StevensRoom_EventScript_StevenExitNorth:: @ 822DD0D
+ applymovement 1, GraniteCave_StevensRoom_Movement_StevenExit
waitmovement 0
return
-GraniteCave_StevensRoom_EventScript_22DD18:: @ 822DD18
- applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C
- applymovement 1, GraniteCave_StevensRoom_Movement_22DD45
+GraniteCave_StevensRoom_EventScript_StevenExitWestEast:: @ 822DD18
+ applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit
+ applymovement 1, GraniteCave_StevensRoom_Movement_StevenExit
waitmovement 0
return
-GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A
- applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C
- applymovement 1, GraniteCave_StevensRoom_Movement_22DD51
+GraniteCave_StevensRoom_EventScript_StevenExitSouth:: @ 822DD2A
+ applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit
+ applymovement 1, GraniteCave_StevensRoom_Movement_StevenExitSouth
waitmovement 0
return
-GraniteCave_StevensRoom_EventScript_22DD3C:: @ 822DD3C
- msgbox GraniteCave_StevensRoom_Text_22DFAA, MSGBOX_DEFAULT
+GraniteCave_StevensRoom_EventScript_BagFull:: @ 822DD3C
+ msgbox GraniteCave_StevensRoom_Text_OhBagIsFull, MSGBOX_DEFAULT
return
-GraniteCave_StevensRoom_Movement_22DD45: @ 822DD45
+GraniteCave_StevensRoom_Movement_StevenExit: @ 822DD45
walk_up
walk_up
walk_up
@@ -66,14 +66,14 @@ GraniteCave_StevensRoom_Movement_22DD45: @ 822DD45
delay_8
step_end
-GraniteCave_StevensRoom_Movement_22DD4C: @ 822DD4C
+GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit: @ 822DD4C
delay_16
delay_16
delay_16
walk_in_place_fastest_up
step_end
-GraniteCave_StevensRoom_Movement_22DD51: @ 822DD51
+GraniteCave_StevensRoom_Movement_StevenExitSouth: @ 822DD51
walk_left
walk_up
walk_up
@@ -84,14 +84,14 @@ GraniteCave_StevensRoom_Movement_22DD51: @ 822DD51
delay_8
step_end
-GraniteCave_StevensRoom_Text_22DD5A: @ 822DD5A
+GraniteCave_StevensRoom_Text_ImStevenLetterForMe: @ 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
+GraniteCave_StevensRoom_Text_ThankYouTakeThis: @ 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"
@@ -100,7 +100,7 @@ GraniteCave_StevensRoom_Text_22DDBD: @ 822DDBD
.string "It contains my favorite move,\n"
.string "STEEL WING.$"
-GraniteCave_StevensRoom_Text_22DE6B: @ 822DE6B
+GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister: @ 822DE6B
.string "STEVEN: Your POKéMON appear quite\n"
.string "capable.\p"
.string "If you keep training, you could even\n"
@@ -111,14 +111,14 @@ GraniteCave_StevensRoom_Text_22DE6B: @ 822DE6B
.string "our POKéNAVS.\p"
.string "… … … … … …$"
-GraniteCave_StevensRoom_Text_22DF6A: @ 822DF6A
+GraniteCave_StevensRoom_Text_RegisteredSteven: @ 822DF6A
.string "Registered STEVEN\n"
.string "in the POKéNAV.$"
-GraniteCave_StevensRoom_Text_22DF8C: @ 822DF8C
+GraniteCave_StevensRoom_Text_IveGotToHurryAlong: @ 822DF8C
.string "Now, I've got to hurry along.$"
-GraniteCave_StevensRoom_Text_22DFAA: @ 822DFAA
+GraniteCave_StevensRoom_Text_OhBagIsFull: @ 822DFAA
.string "Oh, your BAG is full…\n"
.string "That's too bad, then.$"
diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json
index ff76eb774..256c7c1a5 100644
--- a/data/maps/InsideOfTruck/map.json
+++ b/data/maps/InsideOfTruck/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "InsideOfTruck_EventScript_23BF6C",
+ "script": "InsideOfTruck_EventScript_MovingBox",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "InsideOfTruck_EventScript_23BF6C",
+ "script": "InsideOfTruck_EventScript_MovingBox",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "InsideOfTruck_EventScript_23BF6C",
+ "script": "InsideOfTruck_EventScript_MovingBox",
"flag": "0"
}
],
@@ -85,7 +85,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_INTRO_STATE",
"var_value": "0",
- "script": "InsideOfTruck_EventScript_23BF04"
+ "script": "InsideOfTruck_EventScript_SetIntroFlags"
},
{
"type": "trigger",
@@ -94,7 +94,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_INTRO_STATE",
"var_value": "0",
- "script": "InsideOfTruck_EventScript_23BF04"
+ "script": "InsideOfTruck_EventScript_SetIntroFlags"
},
{
"type": "trigger",
@@ -103,7 +103,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_INTRO_STATE",
"var_value": "0",
- "script": "InsideOfTruck_EventScript_23BF04"
+ "script": "InsideOfTruck_EventScript_SetIntroFlags"
}
],
"bg_events": [
@@ -113,7 +113,7 @@
"y": 0,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "InsideOfTruck_EventScript_23BF6C"
+ "script": "InsideOfTruck_EventScript_MovingBox"
},
{
"type": "sign",
@@ -121,7 +121,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "InsideOfTruck_EventScript_23BF6C"
+ "script": "InsideOfTruck_EventScript_MovingBox"
},
{
"type": "sign",
@@ -129,7 +129,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "InsideOfTruck_EventScript_23BF6C"
+ "script": "InsideOfTruck_EventScript_MovingBox"
},
{
"type": "sign",
@@ -137,7 +137,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "InsideOfTruck_EventScript_23BF6C"
+ "script": "InsideOfTruck_EventScript_MovingBox"
},
{
"type": "sign",
@@ -145,7 +145,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "InsideOfTruck_EventScript_23BF6C"
+ "script": "InsideOfTruck_EventScript_MovingBox"
}
]
} \ No newline at end of file
diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc
index 043c8a8d8..fb75273cc 100644
--- a/data/maps/InsideOfTruck/scripts.inc
+++ b/data/maps/InsideOfTruck/scripts.inc
@@ -1,29 +1,29 @@
InsideOfTruck_MapScripts:: @ 823BEDA
- map_script MAP_SCRIPT_ON_LOAD, InsideOfTruck_MapScript1_23BEE5
- map_script MAP_SCRIPT_ON_RESUME, InsideOfTruck_MapScript1_23BF01
+ map_script MAP_SCRIPT_ON_LOAD, InsideOfTruck_OnLoad
+ map_script MAP_SCRIPT_ON_RESUME, InsideOfTruck_OnResume
.byte 0
-InsideOfTruck_MapScript1_23BEE5: @ 823BEE5
+InsideOfTruck_OnLoad: @ 823BEE5
setmetatile 4, 1, METATILE_InsideOfTruck_ExitLight_Top, 0
setmetatile 4, 2, METATILE_InsideOfTruck_ExitLight_Mid, 0
setmetatile 4, 3, METATILE_InsideOfTruck_ExitLight_Bottom, 0
end
-InsideOfTruck_MapScript1_23BF01: @ 823BF01
- setstepcallback 5
+InsideOfTruck_OnResume: @ 823BF01
+ setstepcallback STEP_CB_TRUCK
end
-InsideOfTruck_EventScript_23BF04:: @ 823BF04
+InsideOfTruck_EventScript_SetIntroFlags:: @ 823BF04
lockall
setflag FLAG_HIDE_MAP_NAME_POPUP
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq InsideOfTruck_EventScript_23BF20
+ goto_if_eq InsideOfTruck_EventScript_SetIntroFlagsMale
compare VAR_RESULT, FEMALE
- goto_if_eq InsideOfTruck_EventScript_23BF46
+ goto_if_eq InsideOfTruck_EventScript_SetIntroFlagsFemale
end
-InsideOfTruck_EventScript_23BF20:: @ 823BF20
+InsideOfTruck_EventScript_SetIntroFlagsMale:: @ 823BF20
setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F
setvar VAR_LITTLEROOT_INTRO_STATE, 1
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM
@@ -31,12 +31,12 @@ InsideOfTruck_EventScript_23BF20:: @ 823BF20
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
- setvar VAR_LITTLEROOT_HOUSES_STATE_2, 1
+ setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 1
setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 3, 10
releaseall
end
-InsideOfTruck_EventScript_23BF46:: @ 823BF46
+InsideOfTruck_EventScript_SetIntroFlagsFemale:: @ 823BF46
setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F
setvar VAR_LITTLEROOT_INTRO_STATE, 2
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM
@@ -44,16 +44,16 @@ InsideOfTruck_EventScript_23BF46:: @ 823BF46
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
- setvar VAR_LITTLEROOT_HOUSES_STATE, 1
+ setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 1
setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 12, 10
releaseall
end
-InsideOfTruck_EventScript_23BF6C:: @ 823BF6C
- msgbox InsideOfTruck_Text_23BF75, MSGBOX_SIGN
+InsideOfTruck_EventScript_MovingBox:: @ 823BF6C
+ msgbox InsideOfTruck_Text_BoxPrintedWithMonLogo, MSGBOX_SIGN
end
-InsideOfTruck_Text_23BF75: @ 823BF75
+InsideOfTruck_Text_BoxPrintedWithMonLogo: @ 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/maps/IslandCave/map.json b/data/maps/IslandCave/map.json
index 27876f5e5..dbecdf4ed 100644
--- a/data/maps/IslandCave/map.json
+++ b/data/maps/IslandCave/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "IslandCave_EventScript_238F58",
+ "script": "IslandCave_EventScript_Regice",
"flag": "FLAG_HIDE_REGICE"
}
],
@@ -59,7 +59,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "IslandCave_EventScript_238EEF"
+ "script": "IslandCave_EventScript_CaveEntranceMiddle"
},
{
"type": "sign",
@@ -67,7 +67,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "IslandCave_EventScript_238F1D"
+ "script": "IslandCave_EventScript_CaveEntranceSide"
},
{
"type": "sign",
@@ -75,7 +75,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "IslandCave_EventScript_238F1D"
+ "script": "IslandCave_EventScript_CaveEntranceSide"
}
]
} \ No newline at end of file
diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc
index 911e882f2..8587e62c2 100644
--- a/data/maps/IslandCave/scripts.inc
+++ b/data/maps/IslandCave/scripts.inc
@@ -1,25 +1,25 @@
IslandCave_MapScripts:: @ 8238E2A
- map_script MAP_SCRIPT_ON_RESUME, IslandCave_MapScript1_238E3A
- map_script MAP_SCRIPT_ON_LOAD, IslandCave_MapScript1_238E58
+ map_script MAP_SCRIPT_ON_RESUME, IslandCave_OnResume
+ map_script MAP_SCRIPT_ON_LOAD, IslandCave_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, IslandCave_OnTransition
.byte 0
-IslandCave_MapScript1_238E3A: @ 8238E3A
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_238E44
+IslandCave_OnResume: @ 8238E3A
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_TryRemoveRegice
end
-IslandCave_EventScript_238E44:: @ 8238E44
+IslandCave_EventScript_TryRemoveRegice:: @ 8238E44
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
-IslandCave_MapScript1_238E58: @ 8238E58
- call_if_unset FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_238E62
+IslandCave_OnLoad: @ 8238E58
+ call_if_unset FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_HideRegiEntrance
end
-IslandCave_EventScript_238E62:: @ 8238E62
+IslandCave_EventScript_HideRegiEntrance:: @ 8238E62
setmetatile 7, 19, METATILE_Cave_EntranceCover, 1
setmetatile 8, 19, METATILE_Cave_EntranceCover, 1
setmetatile 9, 19, METATILE_Cave_EntranceCover, 1
@@ -30,15 +30,15 @@ IslandCave_EventScript_238E62:: @ 8238E62
IslandCave_OnTransition: @ 8238E99
setflag FLAG_LANDMARK_ISLAND_CAVE
- call IslandCave_EventScript_238F45
- call_if_unset FLAG_DEFEATED_REGICE, IslandCave_EventScript_238EAB
+ call IslandCave_EventScript_ClearSteps
+ call_if_unset FLAG_DEFEATED_REGICE, IslandCave_EventScript_ShowRegice
end
-IslandCave_EventScript_238EAB:: @ 8238EAB
+IslandCave_EventScript_ShowRegice:: @ 8238EAB
clearflag FLAG_HIDE_REGICE
return
-IslandCave_EventScript_238EAF:: @ 8238EAF
+IslandCave_EventScript_OpenRegiEntrance:: @ 8238EAF
setmetatile 7, 19, METATILE_Cave_SealedChamberEntrance_TopLeft, 1
setmetatile 8, 19, METATILE_Cave_SealedChamberEntrance_TopMid, 1
setmetatile 9, 19, METATILE_Cave_SealedChamberEntrance_TopRight, 1
@@ -50,45 +50,45 @@ IslandCave_EventScript_238EAF:: @ 8238EAF
setflag FLAG_SYS_BRAILLE_REGICE_COMPLETED
end
-IslandCave_EventScript_238EEF:: @ 8238EEF
+IslandCave_EventScript_CaveEntranceMiddle:: @ 8238EEF
lockall
- call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45
- goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_238F13
- braillemessage IslandCave_Braille_2A6CD4
+ call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps
+ goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_BigHoleInWall
+ braillemessage IslandCave_Braille_RunLapAroundWall
setflag FLAG_TEMP_2
special ShouldDoBrailleRegicePuzzle
- goto IslandCave_EventScript_238F41
+ goto IslandCave_EventScript_CloseBrailleMsg
end
-IslandCave_EventScript_238F13:: @ 8238F13
- msgbox gUnknown_0827304E, MSGBOX_DEFAULT
+IslandCave_EventScript_BigHoleInWall:: @ 8238F13
+ msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT
releaseall
end
-IslandCave_EventScript_238F1D:: @ 8238F1D
+IslandCave_EventScript_CaveEntranceSide:: @ 8238F1D
lockall
- call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45
- braillemessage IslandCave_Braille_2A6CD4
- goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_238F41
+ call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps
+ braillemessage IslandCave_Braille_RunLapAroundWall
+ goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_CloseBrailleMsg
setflag FLAG_TEMP_2
special ShouldDoBrailleRegicePuzzle
- goto IslandCave_EventScript_238F41
+ goto IslandCave_EventScript_CloseBrailleMsg
end
-IslandCave_EventScript_238F41:: @ 8238F41
+IslandCave_EventScript_CloseBrailleMsg:: @ 8238F41
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-IslandCave_EventScript_238F45:: @ 8238F45
+IslandCave_EventScript_ClearSteps:: @ 8238F45
setvar VAR_REGICE_STEPS_1, 0
setvar VAR_REGICE_STEPS_2, 0
setvar VAR_REGICE_STEPS_3, 0
clearflag FLAG_TEMP_3
return
-IslandCave_EventScript_238F58:: @ 8238F58
+IslandCave_EventScript_Regice:: @ 8238F58
lock
faceplayer
waitse
@@ -101,22 +101,22 @@ IslandCave_EventScript_238F58:: @ 8238F58
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq IslandCave_EventScript_238F9F
- compare VAR_RESULT, 4
- goto_if_eq IslandCave_EventScript_238FA8
- compare VAR_RESULT, 5
- goto_if_eq IslandCave_EventScript_238FA8
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq IslandCave_EventScript_DefeatedRegice
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq IslandCave_EventScript_RanFromRegice
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq IslandCave_EventScript_RanFromRegice
setflag FLAG_DEFEATED_REGICE
release
end
-IslandCave_EventScript_238F9F:: @ 8238F9F
+IslandCave_EventScript_DefeatedRegice:: @ 8238F9F
setflag FLAG_DEFEATED_REGICE
- goto IslandCave_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-IslandCave_EventScript_238FA8:: @ 8238FA8
- setvar VAR_0x8004, 402
- goto IslandCave_EventScript_273776
+IslandCave_EventScript_RanFromRegice:: @ 8238FA8
+ setvar VAR_0x8004, SPECIES_REGICE
+ goto Common_EventScript_LegendaryFlewAway
end
diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json
index e695c826c..b60bcf263 100644
--- a/data/maps/JaggedPass/map.json
+++ b/data/maps/JaggedPass/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "JaggedPass_EventScript_230785",
+ "script": "JaggedPass_EventScript_Eric",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "JaggedPass_EventScript_2307FB",
+ "script": "JaggedPass_EventScript_Ethan",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "JaggedPass_EventScript_23079C",
+ "script": "JaggedPass_EventScript_Diana",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "JaggedPass_EventScript_230718",
+ "script": "JaggedPass_EventScript_MagmaHideoutGuard",
"flag": "FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "JaggedPass_EventScript_230871",
+ "script": "JaggedPass_EventScript_Autumn",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "JaggedPass_EventScript_23085A",
+ "script": "JaggedPass_EventScript_Julio",
"flag": "0"
}
],
@@ -156,7 +156,7 @@
"x": 21,
"y": 12,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
@@ -186,7 +186,7 @@
"elevation": 3,
"var": "VAR_JAGGED_PASS_STATE",
"var_value": "1",
- "script": "JaggedPass_EventScript_2306BB"
+ "script": "JaggedPass_EventScript_OpenMagmaHideout"
},
{
"type": "trigger",
@@ -195,7 +195,7 @@
"elevation": 3,
"var": "VAR_JAGGED_PASS_STATE",
"var_value": "1",
- "script": "JaggedPass_EventScript_2306BB"
+ "script": "JaggedPass_EventScript_OpenMagmaHideout"
},
{
"type": "trigger",
@@ -204,7 +204,7 @@
"elevation": 3,
"var": "VAR_JAGGED_PASS_STATE",
"var_value": "1",
- "script": "JaggedPass_EventScript_2306BB"
+ "script": "JaggedPass_EventScript_OpenMagmaHideout"
},
{
"type": "trigger",
@@ -213,7 +213,7 @@
"elevation": 3,
"var": "VAR_JAGGED_PASS_STATE",
"var_value": "1",
- "script": "JaggedPass_EventScript_2306BB"
+ "script": "JaggedPass_EventScript_OpenMagmaHideout"
},
{
"type": "trigger",
@@ -222,7 +222,7 @@
"elevation": 3,
"var": "VAR_JAGGED_PASS_STATE",
"var_value": "1",
- "script": "JaggedPass_EventScript_2306BB"
+ "script": "JaggedPass_EventScript_OpenMagmaHideout"
}
],
"bg_events": [
diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc
index 1bb9e82a2..9b4aa5383 100644
--- a/data/maps/JaggedPass/scripts.inc
+++ b/data/maps/JaggedPass/scripts.inc
@@ -1,60 +1,60 @@
JaggedPass_MapScripts:: @ 8230656
- map_script MAP_SCRIPT_ON_RESUME, JaggedPass_MapScript1_230666
+ map_script MAP_SCRIPT_ON_RESUME, JaggedPass_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, JaggedPass_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, JaggedPass_MapScript1_23069C
+ map_script MAP_SCRIPT_ON_LOAD, JaggedPass_OnLoad
.byte 0
-JaggedPass_MapScript1_230666: @ 8230666
- setstepcallback 1
+JaggedPass_OnResume: @ 8230666
+ setstepcallback STEP_CB_ASH
compare VAR_JAGGED_PASS_STATE, 0
- call_if_eq JaggedPass_EventScript_230674
+ call_if_eq JaggedPass_EventScript_CheckHasMagmaEmblem
end
-JaggedPass_EventScript_230674:: @ 8230674
+JaggedPass_EventScript_CheckHasMagmaEmblem:: @ 8230674
checkitem ITEM_MAGMA_EMBLEM, 1
compare VAR_RESULT, 1
- goto_if_eq JaggedPass_EventScript_230685
+ goto_if_eq JaggedPass_EventScript_SetReadyToOpenHideout
return
-JaggedPass_EventScript_230685:: @ 8230685
+JaggedPass_EventScript_SetReadyToOpenHideout:: @ 8230685
setvar VAR_JAGGED_PASS_STATE, 1
return
JaggedPass_OnTransition: @ 823068B
compare VAR_JAGGED_PASS_ASH_WEATHER, 1
- call_if_eq JaggedPass_EventScript_230697
+ call_if_eq JaggedPass_EventScript_SetWeatherAsh
end
-JaggedPass_EventScript_230697:: @ 8230697
- setweather WEATHER_ASH
+JaggedPass_EventScript_SetWeatherAsh:: @ 8230697
+ setweather WEATHER_VOLCANIC_ASH
doweather
return
-JaggedPass_MapScript1_23069C: @ 823069C
+JaggedPass_OnLoad: @ 823069C
compare VAR_JAGGED_PASS_STATE, 1
- goto_if_le JaggedPass_EventScript_2306A8
+ goto_if_le JaggedPass_EventScript_ConcealHideoutEntrance
end
-JaggedPass_EventScript_2306A8:: @ 82306A8
+JaggedPass_EventScript_ConcealHideoutEntrance:: @ 82306A8
setmetatile 16, 17, METATILE_Lavaridge_RockWall, 1
setmetatile 16, 18, METATILE_Lavaridge_RockWall, 1
end
-JaggedPass_EventScript_2306BB:: @ 82306BB
+JaggedPass_EventScript_OpenMagmaHideout:: @ 82306BB
lockall
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- msgbox JaggedPass_Text_230DBA, MSGBOX_DEFAULT
+ msgbox JaggedPass_Text_BoulderShakingInResponseToEmblem, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 16
- setvar VAR_0x8007, 3
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 16 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
waitstate
playse SE_KOUKA_M
setmetatile 16, 17, METATILE_Lavaridge_CaveEntrance_Top, 1
@@ -66,9 +66,9 @@ JaggedPass_EventScript_2306BB:: @ 82306BB
releaseall
end
-JaggedPass_EventScript_230718:: @ 8230718
+JaggedPass_EventScript_MagmaHideoutGuard:: @ 8230718
lockall
- goto_if_set FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS, JaggedPass_EventScript_230766
+ goto_if_set FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS, JaggedPass_EventScript_GuardDefeated
waitse
playse SE_PIN
applymovement 5, Common_Movement_ExclamationMark
@@ -77,196 +77,196 @@ JaggedPass_EventScript_230718:: @ 8230718
waitmovement 0
applymovement 5, Common_Movement_FacePlayer
waitmovement 0
- msgbox JaggedPass_Text_230CCB, MSGBOX_DEFAULT
+ msgbox JaggedPass_Text_GruntIntro, MSGBOX_DEFAULT
closemessage
- trainerbattle_no_intro TRAINER_GRUNT_30, JaggedPass_Text_230D2D
+ trainerbattle_no_intro TRAINER_GRUNT_JAGGED_PASS, JaggedPass_Text_GruntDefeat
setflag FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS
applymovement 5, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-JaggedPass_EventScript_230766:: @ 8230766
+JaggedPass_EventScript_GuardDefeated:: @ 8230766
applymovement 5, Common_Movement_FacePlayer
waitmovement 0
- msgbox JaggedPass_Text_230D65, MSGBOX_DEFAULT
+ msgbox JaggedPass_Text_GoWhereverYouWant, MSGBOX_DEFAULT
closemessage
applymovement 5, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-JaggedPass_EventScript_230785:: @ 8230785
- trainerbattle_single TRAINER_ERIC, JaggedPass_Text_230888, JaggedPass_Text_2308FF
- msgbox JaggedPass_Text_230916, MSGBOX_AUTOCLOSE
+JaggedPass_EventScript_Eric:: @ 8230785
+ trainerbattle_single TRAINER_ERIC, JaggedPass_Text_EricIntro, JaggedPass_Text_EricDefeat
+ msgbox JaggedPass_Text_EricPostBattle, MSGBOX_AUTOCLOSE
end
-JaggedPass_EventScript_23079C:: @ 823079C
- trainerbattle_single TRAINER_DIANA_1, JaggedPass_Text_230974, JaggedPass_Text_2309B5, JaggedPass_EventScript_2307C8
+JaggedPass_EventScript_Diana:: @ 823079C
+ trainerbattle_single TRAINER_DIANA_1, JaggedPass_Text_DianaIntro, JaggedPass_Text_DianaDefeat, JaggedPass_EventScript_RegisterDiana
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_if_eq JaggedPass_EventScript_2307E4
- msgbox JaggedPass_Text_2309D8, MSGBOX_DEFAULT
+ goto_if_eq JaggedPass_EventScript_DianaRematch
+ msgbox JaggedPass_Text_DianaPostBattle, MSGBOX_DEFAULT
release
end
-JaggedPass_EventScript_2307C8:: @ 82307C8
- special sub_80B4808
- msgbox JaggedPass_Text_230A2C, MSGBOX_DEFAULT
+JaggedPass_EventScript_RegisterDiana:: @ 82307C8
+ special PlayerFaceTrainerAfterBattle
+ msgbox JaggedPass_Text_DianaRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_DIANA_1
release
end
-JaggedPass_EventScript_2307E4:: @ 82307E4
- trainerbattle_rematch TRAINER_DIANA_1, JaggedPass_Text_230A76, JaggedPass_Text_230AAA
- msgbox JaggedPass_Text_230AD7, MSGBOX_AUTOCLOSE
+JaggedPass_EventScript_DianaRematch:: @ 82307E4
+ trainerbattle_rematch TRAINER_DIANA_1, JaggedPass_Text_DianaRematchIntro, JaggedPass_Text_DianaRematchDefeat
+ msgbox JaggedPass_Text_DianaPostRematch, MSGBOX_AUTOCLOSE
end
-JaggedPass_EventScript_2307FB:: @ 82307FB
- trainerbattle_single TRAINER_ETHAN_1, JaggedPass_Text_230B10, JaggedPass_Text_230B50, JaggedPass_EventScript_230827
+JaggedPass_EventScript_Ethan:: @ 82307FB
+ trainerbattle_single TRAINER_ETHAN_1, JaggedPass_Text_EthanIntro, JaggedPass_Text_EthanDefeat, JaggedPass_EventScript_RegisterEthan
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_if_eq JaggedPass_EventScript_230843
- msgbox JaggedPass_Text_230B93, MSGBOX_DEFAULT
+ goto_if_eq JaggedPass_EventScript_EthanRematch
+ msgbox JaggedPass_Text_EthanPostBattle, MSGBOX_DEFAULT
release
end
-JaggedPass_EventScript_230827:: @ 8230827
- special sub_80B4808
- msgbox JaggedPass_Text_230BC6, MSGBOX_DEFAULT
+JaggedPass_EventScript_RegisterEthan:: @ 8230827
+ special PlayerFaceTrainerAfterBattle
+ msgbox JaggedPass_Text_EthanRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ETHAN_1
release
end
-JaggedPass_EventScript_230843:: @ 8230843
- trainerbattle_rematch TRAINER_ETHAN_1, JaggedPass_Text_230C28, JaggedPass_Text_230C60
- msgbox JaggedPass_Text_230C94, MSGBOX_AUTOCLOSE
+JaggedPass_EventScript_EthanRematch:: @ 8230843
+ trainerbattle_rematch TRAINER_ETHAN_1, JaggedPass_Text_EthanRematchIntro, JaggedPass_Text_EthanRematchDefeat
+ msgbox JaggedPass_Text_EthanPostRematch, MSGBOX_AUTOCLOSE
end
-JaggedPass_EventScript_23085A:: @ 823085A
- trainerbattle_single TRAINER_JULIO, JaggedPass_Text_230DF7, JaggedPass_Text_230E38
- msgbox JaggedPass_Text_230E57, MSGBOX_AUTOCLOSE
+JaggedPass_EventScript_Julio:: @ 823085A
+ trainerbattle_single TRAINER_JULIO, JaggedPass_Text_JulioIntro, JaggedPass_Text_JulioDefeat
+ msgbox JaggedPass_Text_JulioPostBattle, MSGBOX_AUTOCLOSE
end
-JaggedPass_EventScript_230871:: @ 8230871
- trainerbattle_single TRAINER_AUTUMN, JaggedPass_Text_230E8E, JaggedPass_Text_230ECD
- msgbox JaggedPass_Text_230EE3, MSGBOX_AUTOCLOSE
+JaggedPass_EventScript_Autumn:: @ 8230871
+ trainerbattle_single TRAINER_AUTUMN, JaggedPass_Text_AutumnIntro, JaggedPass_Text_AutumnDefeat
+ msgbox JaggedPass_Text_AutumnPostBattle, MSGBOX_AUTOCLOSE
end
-JaggedPass_Text_230888: @ 8230888
+JaggedPass_Text_EricIntro: @ 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
+JaggedPass_Text_EricDefeat: @ 82308FF
.string "Losing left me bitter!$"
-JaggedPass_Text_230916: @ 8230916
+JaggedPass_Text_EricPostBattle: @ 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
+JaggedPass_Text_DianaIntro: @ 8230974
.string "This place isn't your casual hike.\n"
.string "It's not suited for a picnic.$"
-JaggedPass_Text_2309B5: @ 82309B5
+JaggedPass_Text_DianaDefeat: @ 82309B5
.string "Ohhh, no!\n"
.string "The ground is too bumpy…$"
-JaggedPass_Text_2309D8: @ 82309D8
+JaggedPass_Text_DianaPostBattle: @ 82309D8
.string "Did you know?\p"
.string "Some people cleverly ride their\n"
.string "bicycles up this horribly bumpy pass.$"
-JaggedPass_Text_230A2C: @ 8230A2C
+JaggedPass_Text_DianaRegister: @ 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
+JaggedPass_Text_DianaRematchIntro: @ 8230A76
.string "Picnics are fun wherever you go.\n"
.string "Just like POKéMON!$"
-JaggedPass_Text_230AAA: @ 8230AAA
+JaggedPass_Text_DianaRematchDefeat: @ 8230AAA
.string "I only lost because the ground is\n"
.string "too bumpy!$"
-JaggedPass_Text_230AD7: @ 8230AD7
+JaggedPass_Text_DianaPostRematch: @ 8230AD7
.string "I'll forget about losing and just\n"
.string "enjoy this bumpy hike.$"
-JaggedPass_Text_230B10: @ 8230B10
+JaggedPass_Text_EthanIntro: @ 8230B10
.string "JAGGED PASS is hard to walk on.\n"
.string "It's a good place for training.$"
-JaggedPass_Text_230B50: @ 8230B50
+JaggedPass_Text_EthanDefeat: @ 8230B50
.string "It was all over while we were still\n"
.string "trying to find a good footing…$"
-JaggedPass_Text_230B93: @ 8230B93
+JaggedPass_Text_EthanPostBattle: @ 8230B93
.string "If I had an ACRO BIKE, I'd be able to\n"
.string "jump ledges.$"
-JaggedPass_Text_230BC6: @ 8230BC6
+JaggedPass_Text_EthanRegister: @ 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
+JaggedPass_Text_EthanRematchIntro: @ 8230C28
.string "I got used to this bumpiness.\n"
.string "I sing while I climb now.$"
-JaggedPass_Text_230C60: @ 8230C60
+JaggedPass_Text_EthanRematchDefeat: @ 8230C60
.string "It's still not easy to battle on this\n"
.string "bumpy ground…$"
-JaggedPass_Text_230C94: @ 8230C94
+JaggedPass_Text_EthanPostRematch: @ 8230C94
.string "I should get an ACRO BIKE from RYDEL\n"
.string "in MAUVILLE CITY…$"
-JaggedPass_Text_230CCB: @ 8230CCB
+JaggedPass_Text_GruntIntro: @ 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
+JaggedPass_Text_GruntDefeat: @ 8230D2D
.string "Urrrgh…\p"
.string "I should've ducked into our HIDEOUT\n"
.string "right away…$"
-JaggedPass_Text_230D65: @ 8230D65
+JaggedPass_Text_GoWhereverYouWant: @ 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
+JaggedPass_Text_BoulderShakingInResponseToEmblem: @ 8230DBA
.string "Oh! This boulder is shaking in response\n"
.string "to the MAGMA EMBLEM!$"
-JaggedPass_Text_230DF7: @ 8230DF7
+JaggedPass_Text_JulioIntro: @ 8230DF7
.string "Aiyeeh! It's awfully scary to shoot\n"
.string "down the mountain in one go!$"
-JaggedPass_Text_230E38: @ 8230E38
+JaggedPass_Text_JulioDefeat: @ 8230E38
.string "I feel like I'm falling apart…$"
-JaggedPass_Text_230E57: @ 8230E57
+JaggedPass_Text_JulioPostBattle: @ 8230E57
.string "My bicycle bounced around so much,\n"
.string "my rear end's sore…$"
-JaggedPass_Text_230E8E: @ 8230E8E
+JaggedPass_Text_AutumnIntro: @ 8230E8E
.string "I climb this hill every day.\n"
.string "I have confidence in my strength!$"
-JaggedPass_Text_230ECD: @ 8230ECD
+JaggedPass_Text_AutumnDefeat: @ 8230ECD
.string "Hmm…\n"
.string "What went wrong?$"
-JaggedPass_Text_230EE3: @ 8230EE3
+JaggedPass_Text_AutumnPostBattle: @ 8230EE3
.string "What is that odd rock protrusion\n"
.string "a little up the hill from here?$"
diff --git a/data/maps/LavaridgeTown/map.json b/data/maps/LavaridgeTown/map.json
index 65a6a25d3..1212f3354 100644
--- a/data/maps/LavaridgeTown/map.json
+++ b/data/maps/LavaridgeTown/map.json
@@ -30,7 +30,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_EventScript_1EA73B",
+ "script": "LavaridgeTown_EventScript_ExpertF",
"flag": "0"
},
{
@@ -43,7 +43,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_EventScript_1EA70E",
+ "script": "LavaridgeTown_EventScript_ExpertM",
"flag": "0"
},
{
@@ -56,7 +56,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_EventScript_1EA717",
+ "script": "LavaridgeTown_EventScript_OldMan",
"flag": "0"
},
{
@@ -69,7 +69,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_EventScript_1EA720",
+ "script": "LavaridgeTown_EventScript_Twin",
"flag": "0"
},
{
@@ -82,7 +82,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_EventScript_1EA729",
+ "script": "LavaridgeTown_EventScript_HotSpringsOldWoman1",
"flag": "0"
},
{
@@ -95,7 +95,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_EventScript_1EA732",
+ "script": "LavaridgeTown_EventScript_HotSpringsOldWoman2",
"flag": "0"
},
{
@@ -109,7 +109,7 @@
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
"script": "0x0",
- "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2"
+ "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE"
},
{
"graphics_id": "EVENT_OBJ_GFX_VAR_0",
@@ -122,7 +122,7 @@
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
"script": "0x0",
- "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1"
+ "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL"
},
{
"graphics_id": "EVENT_OBJ_GFX_EXPERT_F",
@@ -134,7 +134,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_EventScript_1EA744",
+ "script": "LavaridgeTown_EventScript_EggWoman",
"flag": "0"
}
],
@@ -190,7 +190,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "LavaridgeTown_EventScript_1EA6FA"
+ "script": "LavaridgeTown_EventScript_HotSpringsTrigger"
}
],
"bg_events": [
@@ -200,7 +200,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LavaridgeTown_EventScript_1EA7B7"
+ "script": "LavaridgeTown_EventScript_HerbShopSign"
},
{
"type": "sign",
@@ -208,7 +208,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LavaridgeTown_EventScript_1EA7AE"
+ "script": "LavaridgeTown_EventScript_GymSign"
},
{
"type": "sign",
@@ -224,7 +224,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LavaridgeTown_EventScript_1EA7A5"
+ "script": "LavaridgeTown_EventScript_TownSign"
},
{
"type": "sign",
diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc
index de1a2bcee..5d86f3652 100644
--- a/data/maps/LavaridgeTown/scripts.inc
+++ b/data/maps/LavaridgeTown/scripts.inc
@@ -1,98 +1,98 @@
LavaridgeTown_MapScripts:: @ 81EA4D3
map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_MapScript2_1EA547
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_OnFrame
.byte 0
LavaridgeTown_OnTransition: @ 81EA4DE
setflag FLAG_VISITED_LAVARIDGE_TOWN
- call_if_set FLAG_FLANNERY_GIVES_BADGE_INFO, LavaridgeTown_EventScript_1EA514
- call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_1EA53F
- call Common_EventScript_SetupRivalGender
- call Common_EventScript_SetupRivalOnBikeGender
+ call_if_set FLAG_WHITEOUT_TO_LAVARIDGE, LavaridgeTown_EventScript_ClearLavaridgeWhiteOut
+ call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_ShowMtChimneyTrainers
+ call Common_EventScript_SetupRivalGfxId
+ call Common_EventScript_SetupRivalOnBikeGfxId
compare VAR_LAVARIDGE_TOWN_STATE, 1
- call_if_eq LavaridgeTown_EventScript_1EA518
+ call_if_eq LavaridgeTown_EventScript_CheckSetRivalPos
compare VAR_LAVARIDGE_TOWN_STATE, 1
- call_if_eq LavaridgeTown_EventScript_1EA543
+ call_if_eq LavaridgeTown_EventScript_HideMapNamePopup
end
-LavaridgeTown_EventScript_1EA514:: @ 81EA514
- clearflag FLAG_FLANNERY_GIVES_BADGE_INFO
+LavaridgeTown_EventScript_ClearLavaridgeWhiteOut:: @ 81EA514
+ clearflag FLAG_WHITEOUT_TO_LAVARIDGE
return
-LavaridgeTown_EventScript_1EA518:: @ 81EA518
+LavaridgeTown_EventScript_CheckSetRivalPos:: @ 81EA518
getplayerxy VAR_0x8004, VAR_0x8005
compare VAR_0x8004, 9
- goto_if_eq LavaridgeTown_EventScript_1EA529
+ goto_if_eq LavaridgeTown_EventScript_SetRivalPos
return
-LavaridgeTown_EventScript_1EA529:: @ 81EA529
+LavaridgeTown_EventScript_SetRivalPos:: @ 81EA529
setobjectxyperm 8, 11, 9
setobjectxyperm 7, 9, 8
setobjectmovementtype 7, MOVEMENT_TYPE_FACE_UP
- clearflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
+ clearflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL
return
-LavaridgeTown_EventScript_1EA53F:: @ 81EA53F
+LavaridgeTown_EventScript_ShowMtChimneyTrainers:: @ 81EA53F
clearflag FLAG_HIDE_MT_CHIMNEY_TRAINERS
return
-LavaridgeTown_EventScript_1EA543:: @ 81EA543
+LavaridgeTown_EventScript_HideMapNamePopup:: @ 81EA543
setflag FLAG_HIDE_MAP_NAME_POPUP
return
-LavaridgeTown_MapScript2_1EA547: @ 81EA547
- map_script_2 VAR_LAVARIDGE_TOWN_STATE, 1, LavaridgeTown_EventScript_1EA551
+LavaridgeTown_OnFrame: @ 81EA547
+ map_script_2 VAR_LAVARIDGE_TOWN_STATE, 1, LavaridgeTown_EventScript_RivalGiveGoGoggles
.2byte 0
-LavaridgeTown_EventScript_1EA551:: @ 81EA551
+LavaridgeTown_EventScript_RivalGiveGoGoggles:: @ 81EA551
lockall
getplayerxy VAR_0x8008, VAR_0x8009
compare VAR_0x8008, 9
- call_if_eq LavaridgeTown_EventScript_1EA63A
+ call_if_eq LavaridgeTown_EventScript_RivalNoticePlayer
compare VAR_0x8008, 9
- call_if_ne LavaridgeTown_EventScript_1EA65C
+ call_if_ne LavaridgeTown_EventScript_RivalExitHerbShop
delay 20
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LavaridgeTown_EventScript_1EA630
+ call_if_eq LavaridgeTown_EventScript_PlayMayMusic
compare VAR_RESULT, FEMALE
- call_if_eq LavaridgeTown_EventScript_1EA635
+ call_if_eq LavaridgeTown_EventScript_PlayBrendanMusic
compare VAR_0x8008, 9
- call_if_eq LavaridgeTown_EventScript_1EA6A1
+ call_if_eq LavaridgeTown_EventScript_RivalApproachPlayer1
compare VAR_0x8008, 9
- call_if_ne LavaridgeTown_EventScript_1EA6AC
+ call_if_ne LavaridgeTown_EventScript_RivalApproachPlayer2
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq LavaridgeTown_EventScript_1EA5B5
+ goto_if_eq LavaridgeTown_EventScript_MayGiveGoGoggles
compare VAR_RESULT, FEMALE
- goto_if_eq LavaridgeTown_EventScript_1EA5DA
+ goto_if_eq LavaridgeTown_EventScript_BrendanGiveGoGoggles
end
-LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5
- msgbox LavaridgeTown_Text_1EA7C0, MSGBOX_DEFAULT
- giveitem_std ITEM_GO_GOGGLES
+LavaridgeTown_EventScript_MayGiveGoGoggles:: @ 81EA5B5
+ msgbox LavaridgeTown_Text_MayNiceBadgesTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_GO_GOGGLES
setflag FLAG_RECEIVED_GO_GOGGLES
- msgbox LavaridgeTown_Text_1EA897, MSGBOX_DEFAULT
- goto LavaridgeTown_EventScript_1EA5FF
+ msgbox LavaridgeTown_Text_MayExplainGoGogglesChallengeDad, MSGBOX_DEFAULT
+ goto LavaridgeTown_EventScript_RivalExit
end
-LavaridgeTown_EventScript_1EA5DA:: @ 81EA5DA
- msgbox LavaridgeTown_Text_1EA9A2, MSGBOX_DEFAULT
- giveitem_std ITEM_GO_GOGGLES
+LavaridgeTown_EventScript_BrendanGiveGoGoggles:: @ 81EA5DA
+ msgbox LavaridgeTown_Text_BrendanNiceBadgesTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_GO_GOGGLES
setflag FLAG_RECEIVED_GO_GOGGLES
- msgbox LavaridgeTown_Text_1EAA2E, MSGBOX_DEFAULT
- goto LavaridgeTown_EventScript_1EA5FF
+ msgbox LavaridgeTown_Text_BrendanExplainGoGogglesChallengeDad, MSGBOX_DEFAULT
+ goto LavaridgeTown_EventScript_RivalExit
end
-LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF
+LavaridgeTown_EventScript_RivalExit:: @ 81EA5FF
closemessage
removeobject 8
addobject 7
delay 30
compare VAR_0x8008, 9
- call_if_eq LavaridgeTown_EventScript_1EA6B7
+ call_if_eq LavaridgeTown_EventScript_RivalExit1
compare VAR_0x8008, 9
- call_if_ne LavaridgeTown_EventScript_1EA6C9
+ call_if_ne LavaridgeTown_EventScript_RivalExit2
removeobject 7
setvar VAR_LAVARIDGE_TOWN_STATE, 2
clearflag FLAG_HIDE_MAP_NAME_POPUP
@@ -101,16 +101,16 @@ LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF
releaseall
end
-LavaridgeTown_EventScript_1EA630:: @ 81EA630
+LavaridgeTown_EventScript_PlayMayMusic:: @ 81EA630
playbgm MUS_GIRL_SUP, 1
return
-LavaridgeTown_EventScript_1EA635:: @ 81EA635
+LavaridgeTown_EventScript_PlayBrendanMusic:: @ 81EA635
playbgm MUS_BOY_SUP, 1
return
-LavaridgeTown_EventScript_1EA63A:: @ 81EA63A
- applymovement 8, Common_Movement_WalkInPlaceUp
+LavaridgeTown_EventScript_RivalNoticePlayer:: @ 81EA63A
+ applymovement 8, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
playse SE_PIN
applymovement 8, Common_Movement_ExclamationMark
@@ -119,47 +119,47 @@ LavaridgeTown_EventScript_1EA63A:: @ 81EA63A
waitmovement 0
return
-LavaridgeTown_EventScript_1EA65C:: @ 81EA65C
+LavaridgeTown_EventScript_RivalExitHerbShop:: @ 81EA65C
opendoor 12, 15
waitdooranim
addobject 8
- applymovement 8, LavaridgeTown_Movement_1EA6F8
+ applymovement 8, LavaridgeTown_Movement_RivalExitHerbShop
waitmovement 0
closedoor 12, 15
waitdooranim
- applymovement 8, Common_Movement_WalkInPlaceLeft
+ applymovement 8, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
playse SE_PIN
applymovement 8, Common_Movement_ExclamationMark
waitmovement 0
applymovement 8, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-LavaridgeTown_EventScript_1EA6A1:: @ 81EA6A1
- applymovement 8, LavaridgeTown_Movement_1EA6F4
+LavaridgeTown_EventScript_RivalApproachPlayer1:: @ 81EA6A1
+ applymovement 8, LavaridgeTown_Movement_RivalApproachPlayer1
waitmovement 0
return
-LavaridgeTown_EventScript_1EA6AC:: @ 81EA6AC
- applymovement 8, LavaridgeTown_Movement_1EA6ED
+LavaridgeTown_EventScript_RivalApproachPlayer2:: @ 81EA6AC
+ applymovement 8, LavaridgeTown_Movement_RivalApproachPlayer2
waitmovement 0
return
-LavaridgeTown_EventScript_1EA6B7:: @ 81EA6B7
- applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_1EA6DF
- applymovement 7, LavaridgeTown_Movement_1EA6E3
+LavaridgeTown_EventScript_RivalExit1:: @ 81EA6B7
+ applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_PlayerWatchRivalExit
+ applymovement 7, LavaridgeTown_Movement_RivalExit1
waitmovement 0
return
-LavaridgeTown_EventScript_1EA6C9:: @ 81EA6C9
- applymovement 7, LavaridgeTown_Movement_1EA6D4
+LavaridgeTown_EventScript_RivalExit2:: @ 81EA6C9
+ applymovement 7, LavaridgeTown_Movement_RivalExit2
waitmovement 0
return
-LavaridgeTown_Movement_1EA6D4: @ 81EA6D4
+LavaridgeTown_Movement_RivalExit2: @ 81EA6D4
walk_fast_right
walk_fast_right
walk_fast_right
@@ -172,13 +172,13 @@ LavaridgeTown_Movement_1EA6D4: @ 81EA6D4
walk_fast_up
step_end
-LavaridgeTown_Movement_1EA6DF: @ 81EA6DF
+LavaridgeTown_Movement_PlayerWatchRivalExit: @ 81EA6DF
delay_16
delay_8
walk_in_place_fastest_right
step_end
-LavaridgeTown_Movement_1EA6E3: @ 81EA6E3
+LavaridgeTown_Movement_RivalExit1: @ 81EA6E3
walk_fast_down
walk_fast_right
walk_fast_right
@@ -190,7 +190,7 @@ LavaridgeTown_Movement_1EA6E3: @ 81EA6E3
walk_fast_right
step_end
-LavaridgeTown_Movement_1EA6ED: @ 81EA6ED
+LavaridgeTown_Movement_RivalApproachPlayer2: @ 81EA6ED
walk_left
walk_left
walk_left
@@ -199,97 +199,97 @@ LavaridgeTown_Movement_1EA6ED: @ 81EA6ED
walk_left
step_end
-LavaridgeTown_Movement_1EA6F4: @ 81EA6F4
+LavaridgeTown_Movement_RivalApproachPlayer1: @ 81EA6F4
walk_left
walk_left
walk_up
step_end
-LavaridgeTown_Movement_1EA6F8: @ 81EA6F8
+LavaridgeTown_Movement_RivalExitHerbShop: @ 81EA6F8
walk_down
step_end
-LavaridgeTown_EventScript_1EA6FA:: @ 81EA6FA
+LavaridgeTown_EventScript_HotSpringsTrigger:: @ 81EA6FA
specialvar VAR_RESULT, GetPlayerFacingDirection
- compare VAR_RESULT, 1
- goto_if_eq LavaridgeTown_EventScript_1EA70B
+ compare VAR_RESULT, DIR_SOUTH
+ goto_if_eq LavaridgeTown_EventScript_EnteredHotSprings
end
-LavaridgeTown_EventScript_1EA70B:: @ 81EA70B
- incrementgamestat 49
+LavaridgeTown_EventScript_EnteredHotSprings:: @ 81EA70B
+ incrementgamestat GAME_STAT_ENTERED_HOT_SPRINGS
end
-LavaridgeTown_EventScript_1EA70E:: @ 81EA70E
- msgbox LavaridgeTown_Text_1EAE03, MSGBOX_NPC
+LavaridgeTown_EventScript_ExpertM:: @ 81EA70E
+ msgbox LavaridgeTown_Text_HotSpringsNeverRunDry, MSGBOX_NPC
end
-LavaridgeTown_EventScript_1EA717:: @ 81EA717
- msgbox LavaridgeTown_Text_1EAEE1, MSGBOX_SIGN
+LavaridgeTown_EventScript_OldMan:: @ 81EA717
+ msgbox LavaridgeTown_Text_PokemonNippedBackside, MSGBOX_SIGN
end
-LavaridgeTown_EventScript_1EA720:: @ 81EA720
- msgbox LavaridgeTown_Text_1EAF9B, MSGBOX_NPC
+LavaridgeTown_EventScript_Twin:: @ 81EA720
+ msgbox LavaridgeTown_Text_BatheInHotSpringsEveryDay, MSGBOX_NPC
end
-LavaridgeTown_EventScript_1EA729:: @ 81EA729
- msgbox LavaridgeTown_Text_1EB003, MSGBOX_NPC
+LavaridgeTown_EventScript_HotSpringsOldWoman1:: @ 81EA729
+ msgbox LavaridgeTown_Text_IfPokemonInHotSprings, MSGBOX_NPC
end
-LavaridgeTown_EventScript_1EA732:: @ 81EA732
- msgbox LavaridgeTown_Text_1EB092, MSGBOX_NPC
+LavaridgeTown_EventScript_HotSpringsOldWoman2:: @ 81EA732
+ msgbox LavaridgeTown_Text_HotSpringsClaims, MSGBOX_NPC
end
-LavaridgeTown_EventScript_1EA73B:: @ 81EA73B
- msgbox LavaridgeTown_Text_1EAF4E, MSGBOX_NPC
+LavaridgeTown_EventScript_ExpertF:: @ 81EA73B
+ msgbox LavaridgeTown_Text_OhYouLikeHotSprings, MSGBOX_NPC
end
-LavaridgeTown_EventScript_1EA744:: @ 81EA744
+LavaridgeTown_EventScript_EggWoman:: @ 81EA744
lock
faceplayer
- goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_1EA787
- msgbox LavaridgeTown_Text_1EAB80, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LavaridgeTown_EventScript_1EA79B
+ goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_ReceivedEgg
+ msgbox LavaridgeTown_Text_HaveEggWillYouTakeIt, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LavaridgeTown_EventScript_DeclineEgg
getpartysize
- compare VAR_RESULT, 6
- goto_if_eq LavaridgeTown_EventScript_1EA791
- msgbox LavaridgeTown_Text_1EACC0, MSGBOX_DEFAULT
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq LavaridgeTown_EventScript_NoRoomForEgg
+ msgbox LavaridgeTown_Text_HopeYoullWalkPlentyWithEgg, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_LAVARIDGE_EGG
playfanfare MUS_FANFA4
- message LavaridgeTown_Text_1EACF4
+ message LavaridgeTown_Text_ReceivedTheEgg
waitfanfare
giveegg SPECIES_WYNAUT
release
end
-LavaridgeTown_EventScript_1EA787:: @ 81EA787
- msgbox LavaridgeTown_Text_1EAD9E, MSGBOX_DEFAULT
+LavaridgeTown_EventScript_ReceivedEgg:: @ 81EA787
+ msgbox LavaridgeTown_Text_EverySoOftenEggFoundAtDayCare, MSGBOX_DEFAULT
release
end
-LavaridgeTown_EventScript_1EA791:: @ 81EA791
- msgbox LavaridgeTown_Text_1EAD09, MSGBOX_DEFAULT
+LavaridgeTown_EventScript_NoRoomForEgg:: @ 81EA791
+ msgbox LavaridgeTown_Text_NoRoomForThisEgg, MSGBOX_DEFAULT
release
end
-LavaridgeTown_EventScript_1EA79B:: @ 81EA79B
- msgbox LavaridgeTown_Text_1EAD44, MSGBOX_DEFAULT
+LavaridgeTown_EventScript_DeclineEgg:: @ 81EA79B
+ msgbox LavaridgeTown_Text_AsYouWishThen, MSGBOX_DEFAULT
release
end
-LavaridgeTown_EventScript_1EA7A5:: @ 81EA7A5
- msgbox LavaridgeTown_Text_1EB12B, MSGBOX_SIGN
+LavaridgeTown_EventScript_TownSign:: @ 81EA7A5
+ msgbox LavaridgeTown_Text_TownSign, MSGBOX_SIGN
end
-LavaridgeTown_EventScript_1EA7AE:: @ 81EA7AE
- msgbox LavaridgeTown_Text_1EB178, MSGBOX_SIGN
+LavaridgeTown_EventScript_GymSign:: @ 81EA7AE
+ msgbox LavaridgeTown_Text_GymSign, MSGBOX_SIGN
end
-LavaridgeTown_EventScript_1EA7B7:: @ 81EA7B7
- msgbox LavaridgeTown_Text_1EB1CB, MSGBOX_SIGN
+LavaridgeTown_EventScript_HerbShopSign:: @ 81EA7B7
+ msgbox LavaridgeTown_Text_HerbShopSign, MSGBOX_SIGN
end
-LavaridgeTown_Text_1EA7C0: @ 81EA7C0
+LavaridgeTown_Text_MayNiceBadgesTakeThis: @ 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"
@@ -299,7 +299,7 @@ LavaridgeTown_Text_1EA7C0: @ 81EA7C0
.string "I guess it would be okay for you to\n"
.string "have this.$"
-LavaridgeTown_Text_1EA897: @ 81EA897
+LavaridgeTown_Text_MayExplainGoGogglesChallengeDad: @ 81EA897
.string "MAY: With those GO-GOGGLES, you'll\n"
.string "have no trouble getting through the\l"
.string "desert near ROUTE 111.\p"
@@ -311,7 +311,7 @@ LavaridgeTown_Text_1EA897: @ 81EA897
.string "your dad in PETALBURG GYM.\p"
.string "See you again!$"
-LavaridgeTown_Text_1EA9A2: @ 81EA9A2
+LavaridgeTown_Text_BrendanNiceBadgesTakeThis: @ 81EA9A2
.string "BRENDAN: {PLAYER}, hey, it's been a while.\n"
.string "How's it going?\p"
.string "Hmm…\n"
@@ -319,7 +319,7 @@ LavaridgeTown_Text_1EA9A2: @ 81EA9A2
.string "All right, then.\n"
.string "You may as well have this.$"
-LavaridgeTown_Text_1EAA2E: @ 81EAA2E
+LavaridgeTown_Text_BrendanExplainGoGogglesChallengeDad: @ 81EAA2E
.string "BRENDAN: Keep those with you if you're\n"
.string "planning on going into that desert near\l"
.string "ROUTE 111.\p"
@@ -333,7 +333,7 @@ LavaridgeTown_Text_1EAA2E: @ 81EAA2E
.string "he really is tough.\p"
.string "See you around!$"
-LavaridgeTown_Text_1EAB80: @ 81EAB80
+LavaridgeTown_Text_HaveEggWillYouTakeIt: @ 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"
@@ -346,28 +346,28 @@ LavaridgeTown_Text_1EAB80: @ 81EAB80
.string "So, what say you?\n"
.string "Will you take this EGG to hatch?$"
-LavaridgeTown_Text_1EACC0: @ 81EACC0
+LavaridgeTown_Text_HopeYoullWalkPlentyWithEgg: @ 81EACC0
.string "Good! I hope you'll walk plenty with\n"
.string "this here EGG!$"
-LavaridgeTown_Text_1EACF4: @ 81EACF4
+LavaridgeTown_Text_ReceivedTheEgg: @ 81EACF4
.string "{PLAYER} received the EGG.$"
-LavaridgeTown_Text_1EAD09: @ 81EAD09
+LavaridgeTown_Text_NoRoomForThisEgg: @ 81EAD09
.string "Oh? You've too many POKéMON.\n"
.string "There's no room for this EGG…$"
-LavaridgeTown_Text_1EAD44: @ 81EAD44
+LavaridgeTown_Text_AsYouWishThen: @ 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
+LavaridgeTown_Text_EverySoOftenEggFoundAtDayCare: @ 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
+LavaridgeTown_Text_HotSpringsNeverRunDry: @ 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"
@@ -376,47 +376,47 @@ LavaridgeTown_Text_1EAE03: @ 81EAE03
.string "ground are heated by magma to well up\l"
.string "as hot springs.$"
-LavaridgeTown_Text_1EAEE1: @ 81EAEE1
+LavaridgeTown_Text_PokemonNippedBackside: @ 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
+LavaridgeTown_Text_OhYouLikeHotSprings: @ 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
+LavaridgeTown_Text_BatheInHotSpringsEveryDay: @ 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
+LavaridgeTown_Text_IfPokemonInHotSprings: @ 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
+LavaridgeTown_Text_HotSpringsClaims: @ 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
+LavaridgeTown_Text_TownSign: @ 81EB12B
.string "LAVARIDGE TOWN\p"
.string "“POKéMON CENTER HOT SPRINGS\n"
.string "An excellent place for relaxing!”$"
-LavaridgeTown_Text_1EB178: @ 81EB178
+LavaridgeTown_Text_GymSign: @ 81EB178
.string "LAVARIDGE TOWN POKéMON GYM\n"
.string "LEADER: FLANNERY\l"
.string "“One with a fiery passion that burns!”$"
-LavaridgeTown_Text_1EB1CB: @ 81EB1CB
+LavaridgeTown_Text_HerbShopSign: @ 81EB1CB
.string "POKéMON HERB SHOP\n"
.string "“Bitter taste--better cure!”$"
diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json
index aae6afc03..7c7033a83 100644
--- a/data/maps/LavaridgeTown_Gym_1F/map.json
+++ b/data/maps/LavaridgeTown_Gym_1F/map.json
@@ -5,7 +5,7 @@
"music": "MUS_GIM",
"region_map_section": "MAPSEC_LAVARIDGE_TOWN",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_INDOOR",
"allow_bike": false,
"allow_escape_rope": false,
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE78C",
+ "script": "LavaridgeTown_Gym_1F_EventScript_Flannery",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE87F",
+ "script": "LavaridgeTown_Gym_1F_EventScript_Cole",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE900",
+ "script": "LavaridgeTown_Gym_1F_EventScript_Gerald",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE8AF",
+ "script": "LavaridgeTown_Gym_1F_EventScript_Axle",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE8E5",
+ "script": "LavaridgeTown_Gym_1F_EventScript_Danielle",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE96C",
+ "script": "LavaridgeTown_Gym_1F_EventScript_GymGuide",
"flag": "0"
}
],
@@ -285,7 +285,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE98B"
+ "script": "LavaridgeTown_Gym_1F_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -293,7 +293,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "LavaridgeTown_Gym_1F_EventScript_1FE99B"
+ "script": "LavaridgeTown_Gym_1F_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
index 8eec8cf43..904abfae9 100644
--- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
@@ -3,91 +3,76 @@ LavaridgeTown_Gym_1F_MapScripts:: @ 81FE6F4
.byte 0
LavaridgeTown_Gym_1F_OnTransition: @ 81FE6FA
- call LavaridgeTown_Gym_1F_EventScript_1FE705
- call LavaridgeTown_Gym_1F_EventScript_1FE757
+ call LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars
+ call LavaridgeTown_Gym_1F_EventScript_CheckHideTrainers
end
-LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705
+@ Unclear where/if these temp vars are getting checked
+LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars:: @ 81FE705
setvar VAR_TEMP_B, 0
setvar VAR_TEMP_C, 0
setvar VAR_TEMP_D, 0
setvar VAR_TEMP_E, 0
setvar VAR_TEMP_F, 0
- checktrainerflag TRAINER_COLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE72C
+ goto_if_defeated TRAINER_COLE LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar
setvar VAR_TEMP_B, 1
-
-LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C
- checktrainerflag TRAINER_GERALD
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE73A
+LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar:: @ 81FE72C
+ goto_if_defeated TRAINER_GERALD, LavaridgeTown_Gym_1F_EventScript_SetAxleTempVar
setvar VAR_TEMP_C, 1
-
-LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A
- checktrainerflag TRAINER_AXLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE748
+LavaridgeTown_Gym_1F_EventScript_SetAxleTempVar:: @ 81FE73A
+ goto_if_defeated TRAINER_AXLE, LavaridgeTown_Gym_1F_EventScript_SetDanielleTempVar
setvar VAR_TEMP_D, 1
-
-LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748
- checktrainerflag TRAINER_DANIELLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE756
+LavaridgeTown_Gym_1F_EventScript_SetDanielleTempVar:: @ 81FE748
+ goto_if_defeated TRAINER_DANIELLE, LavaridgeTown_Gym_1F_EventScript_EndSetTrainerTempVars
setvar VAR_TEMP_E, 1
-
-LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756
+LavaridgeTown_Gym_1F_EventScript_EndSetTrainerTempVars:: @ 81FE756
return
-LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757
- checktrainerflag TRAINER_COLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE764
+LavaridgeTown_Gym_1F_EventScript_CheckHideTrainers:: @ 81FE757
+ goto_if_defeated TRAINER_COLE, LavaridgeTown_Gym_1F_EventScript_CheckHideGerald
setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764
- checktrainerflag TRAINER_GERALD
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE771
+LavaridgeTown_Gym_1F_EventScript_CheckHideGerald:: @ 81FE764
+ goto_if_defeated TRAINER_GERALD, LavaridgeTown_Gym_1F_EventScript_CheckHideAxle
setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771
- checktrainerflag TRAINER_AXLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE77E
+LavaridgeTown_Gym_1F_EventScript_CheckHideAxle:: @ 81FE771
+ goto_if_defeated TRAINER_AXLE, LavaridgeTown_Gym_1F_EventScript_CheckHideDanielle
setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E
- checktrainerflag TRAINER_DANIELLE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE78B
+LavaridgeTown_Gym_1F_EventScript_CheckHideDanielle:: @ 81FE77E
+ goto_if_defeated TRAINER_DANIELLE, LavaridgeTown_Gym_1F_EventScript_EndCheckHideTrainers
setobjectmovementtype 5, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B
+LavaridgeTown_Gym_1F_EventScript_EndCheckHideTrainers:: @ 81FE78B
return
-LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C
- trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF0DC, LavaridgeTown_Gym_1F_Text_1FF233, LavaridgeTown_Gym_1F_EventScript_1FE7C1, NO_MUSIC
+LavaridgeTown_Gym_1F_EventScript_Flannery:: @ 81FE78C
+ trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryIntro, LavaridgeTown_Gym_1F_Text_FlanneryDefeat, LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE864
- goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_1FE81D
- msgbox LavaridgeTown_Gym_1F_Text_1FF546, MSGBOX_DEFAULT
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_FlanneryRematch
+ goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2
+ msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostBattle, MSGBOX_DEFAULT
release
end
-LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
- message LavaridgeTown_Gym_1F_Text_1FF32F
+LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated:: @ 81FE7C1
+ message LavaridgeTown_Gym_1F_Text_ReceivedHeatBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox LavaridgeTown_Gym_1F_Text_1FF359, MSGBOX_DEFAULT
- setflag FLAG_FLANNERY_GIVES_BADGE_INFO
+ msgbox LavaridgeTown_Gym_1F_Text_ExplainHeatBadgeTakeThis, MSGBOX_DEFAULT
+ setflag FLAG_WHITEOUT_TO_LAVARIDGE
setflag FLAG_DEFEATED_LAVARIDGE_GYM
setflag FLAG_BADGE04_GET
addvar VAR_PETALBURG_GYM_STATE, 1
compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq LavaridgeTown_Gym_1F_EventScript_271E84
+ call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
setvar VAR_0x8008, 4
- call LavaridgeTown_Gym_1F_EventScript_271F43
+ call Common_EventScript_SetGymTrainers
setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
setvar VAR_LAVARIDGE_TOWN_STATE, 1
- call LavaridgeTown_Gym_1F_EventScript_1FE841
+ call LavaridgeTown_Gym_1F_EventScript_GiveOverheat
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox LavaridgeTown_Gym_1F_Text_1FF517, MSGBOX_DEFAULT
+ msgbox LavaridgeTown_Gym_1F_Text_RegisteredFlannery, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -95,113 +80,112 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
release
end
-LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D
- giveitem_std ITEM_TM50
+LavaridgeTown_Gym_1F_EventScript_GiveOverheat2:: @ 81FE81D
+ giveitem ITEM_TM50
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT
+ msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM50
release
end
-LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841
- giveitem_std ITEM_TM50
+LavaridgeTown_Gym_1F_EventScript_GiveOverheat:: @ 81FE841
+ giveitem ITEM_TM50
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_BagIsFull
- msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT
+ msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM50
return
-LavaridgeTown_Gym_1F_EventScript_1FE864:: @ 81FE864
- trainerbattle_rematch_double TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF601, LavaridgeTown_Gym_1F_Text_1FF69F, LavaridgeTown_Gym_1F_Text_1FF75E
- msgbox LavaridgeTown_Gym_1F_Text_1FF6BF, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_1F_EventScript_FlanneryRematch:: @ 81FE864
+ trainerbattle_rematch_double TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryPreRematch, LavaridgeTown_Gym_1F_Text_FlanneryRematchDefeat, LavaridgeTown_Gym_1F_Text_FlanneryRematchNeedTwoMons
+ msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostRematch, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_1F_EventScript_1FE87F:: @ 81FE87F
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_1FEADE, LavaridgeTown_Gym_1F_Text_1FEAFB, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEB1C, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_1F_EventScript_Cole:: @ 81FE87F
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_ColeIntro, LavaridgeTown_Gym_1F_Text_ColeDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_1F_Text_ColePostBattle MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_1F_EventScript_1FE89A:: @ 81FE89A
-LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A
- call LavaridgeTown_Gym_1F_EventScript_1FE705
+LavaridgeTown_Gym_EventScript_CheckTrainerScript:: @ 81FE89A
+ call LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars
release
special ShouldTryGetTrainerScript
compare VAR_RESULT, 1
goto_if_eq EventScript_GotoTrainerScript
end
-LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_1FEB7B, LavaridgeTown_Gym_1F_Text_1FEBC0, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEBE1, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_1F_EventScript_Axle:: @ 81FE8AF
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_AxleIntro, LavaridgeTown_Gym_1F_Text_AxleDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_1F_Text_AxlePostBattle, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_B1F_EventScript_1FE8CA:: @ 81FE8CA
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_1FEC31, LavaridgeTown_Gym_B1F_Text_1FECE3, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FED02, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_B1F_EventScript_Keegan:: @ 81FE8CA
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_KeeganIntro, LavaridgeTown_Gym_B1F_Text_KeeganDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_B1F_Text_KeeganPostBattle, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_1F_EventScript_1FE8E5:: @ 81FE8E5
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_1FEE22, LavaridgeTown_Gym_1F_Text_1FEE42, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEE5D, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_1F_EventScript_Danielle:: @ 81FE8E5
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_DanielleIntro, LavaridgeTown_Gym_1F_Text_DanielleDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_1F_Text_DaniellePostBattle, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_1F_EventScript_1FE900:: @ 81FE900
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_1FED72, LavaridgeTown_Gym_1F_Text_1FED9E, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEDBB, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_1F_EventScript_Gerald:: @ 81FE900
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_GeraldIntro, LavaridgeTown_Gym_1F_Text_GeraldDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_1F_Text_GeraldPostBattle, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_B1F_EventScript_1FE91B:: @ 81FE91B
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_1FEE9D, LavaridgeTown_Gym_B1F_Text_1FEED5, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FEF07, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_B1F_EventScript_Jace:: @ 81FE91B
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_JaceIntro, LavaridgeTown_Gym_B1F_Text_JaceDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_B1F_Text_JacePostBattle, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_B1F_EventScript_1FE936:: @ 81FE936
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_1FEF60, LavaridgeTown_Gym_B1F_Text_1FEFA7, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FEFC2, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_B1F_EventScript_Jeff:: @ 81FE936
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_JeffIntro, LavaridgeTown_Gym_B1F_Text_JeffDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_B1F_Text_JeffPostBattle, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951
- trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_1FF025, LavaridgeTown_Gym_B1F_Text_1FF05F, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FF09A, MSGBOX_AUTOCLOSE
+LavaridgeTown_Gym_B1F_EventScript_Eli:: @ 81FE951
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_EliIntro, LavaridgeTown_Gym_B1F_Text_EliDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
+ msgbox LavaridgeTown_Gym_B1F_Text_EliPostBattle, MSGBOX_AUTOCLOSE
end
-LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C
+LavaridgeTown_Gym_1F_EventScript_GymGuide:: @ 81FE96C
lock
faceplayer
- goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_1FE981
- msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, LavaridgeTown_Gym_1F_EventScript_GymGuidePostVictory
+ msgbox LavaridgeTown_Gym_1F_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981
- msgbox LavaridgeTown_Gym_1F_Text_1FEAB8, MSGBOX_DEFAULT
+LavaridgeTown_Gym_1F_EventScript_GymGuidePostVictory:: @ 81FE981
+ msgbox LavaridgeTown_Gym_1F_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-LavaridgeTown_Gym_1F_EventScript_1FE98B:: @ 81FE98B
+LavaridgeTown_Gym_1F_EventScript_LeftGymStatue:: @ 81FE98B
lockall
- goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB
- goto LavaridgeTown_Gym_1F_EventScript_1FE9B5
+ goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_GymStatueCertified
+ goto LavaridgeTown_Gym_1F_EventScript_GymStatue
end
-LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B
+LavaridgeTown_Gym_1F_EventScript_RightGymStatue:: @ 81FE99B
lockall
- goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB
- goto LavaridgeTown_Gym_1F_EventScript_1FE9B5
+ goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_GymStatueCertified
+ goto LavaridgeTown_Gym_1F_EventScript_GymStatue
end
-LavaridgeTown_Gym_1F_EventScript_1FE9AB:: @ 81FE9AB
- msgbox LavaridgeTown_Gym_1F_Text_1FF5C4, MSGBOX_DEFAULT
+LavaridgeTown_Gym_1F_EventScript_GymStatueCertified:: @ 81FE9AB
+ msgbox LavaridgeTown_Gym_1F_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-LavaridgeTown_Gym_1F_EventScript_1FE9B5:: @ 81FE9B5
- msgbox LavaridgeTown_Gym_1F_Text_1FF5A9, MSGBOX_DEFAULT
+LavaridgeTown_Gym_1F_EventScript_GymStatue:: @ 81FE9B5
+ msgbox LavaridgeTown_Gym_1F_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF
+LavaridgeTown_Gym_1F_Text_GymGuideAdvice: @ 81FE9BF
.string "Hey, how's it going, CHAMPION-\n"
.string "bound {PLAYER}?\p"
.string "LAVARIDGE's GYM LEADER FLANNERY\n"
@@ -212,35 +196,35 @@ LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF
.string "Hose her down with water and then\l"
.string "go for it!$"
-LavaridgeTown_Gym_1F_Text_1FEAB8: @ 81FEAB8
+LavaridgeTown_Gym_1F_Text_GymGuidePostVictory: @ 81FEAB8
.string "Yow! That was a scorching-hot battle!$"
-LavaridgeTown_Gym_1F_Text_1FEADE: @ 81FEADE
+LavaridgeTown_Gym_1F_Text_ColeIntro: @ 81FEADE
.string "Owowowowow!\n"
.string "Yikes, it's hot!$"
-LavaridgeTown_Gym_1F_Text_1FEAFB: @ 81FEAFB
+LavaridgeTown_Gym_1F_Text_ColeDefeat: @ 81FEAFB
.string "I'm blinded by sweat in my eyes…$"
-LavaridgeTown_Gym_1F_Text_1FEB1C: @ 81FEB1C
+LavaridgeTown_Gym_1F_Text_ColePostBattle: @ 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
+LavaridgeTown_Gym_1F_Text_AxleIntro: @ 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
+LavaridgeTown_Gym_1F_Text_AxleDefeat: @ 81FEBC0
.string "I hope FLANNERY flames you good!$"
-LavaridgeTown_Gym_1F_Text_1FEBE1: @ 81FEBE1
+LavaridgeTown_Gym_1F_Text_AxlePostBattle: @ 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
+LavaridgeTown_Gym_B1F_Text_KeeganIntro: @ 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"
@@ -248,78 +232,78 @@ LavaridgeTown_Gym_B1F_Text_1FEC31: @ 81FEC31
.string "your willpower is an important ability\l"
.string "for all TRAINERS.$"
-LavaridgeTown_Gym_B1F_Text_1FECE3: @ 81FECE3
+LavaridgeTown_Gym_B1F_Text_KeeganDefeat: @ 81FECE3
.string "Play with fire, and be burned…$"
-LavaridgeTown_Gym_B1F_Text_1FED02: @ 81FED02
+LavaridgeTown_Gym_B1F_Text_KeeganPostBattle: @ 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
+LavaridgeTown_Gym_1F_Text_GeraldIntro: @ 81FED72
.string "Can your POKéMON withstand\n"
.string "392-degree heat?$"
-LavaridgeTown_Gym_1F_Text_1FED9E: @ 81FED9E
+LavaridgeTown_Gym_1F_Text_GeraldDefeat: @ 81FED9E
.string "It didn't burn hotly enough…$"
-LavaridgeTown_Gym_1F_Text_1FEDBB: @ 81FEDBB
+LavaridgeTown_Gym_1F_Text_GeraldPostBattle: @ 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
+LavaridgeTown_Gym_1F_Text_DanielleIntro: @ 81FEE22
.string "Um…\n"
.string "Okay, I'll battle with you.$"
-LavaridgeTown_Gym_1F_Text_1FEE42: @ 81FEE42
+LavaridgeTown_Gym_1F_Text_DanielleDefeat: @ 81FEE42
.string "Oh, but you're too strong.$"
-LavaridgeTown_Gym_1F_Text_1FEE5D: @ 81FEE5D
+LavaridgeTown_Gym_1F_Text_DaniellePostBattle: @ 81FEE5D
.string "I'm going to be a pretty and strong\n"
.string "TRAINER just like FLANNERY.$"
-LavaridgeTown_Gym_B1F_Text_1FEE9D: @ 81FEE9D
+LavaridgeTown_Gym_B1F_Text_JaceIntro: @ 81FEE9D
.string "Come on, get with it!\n"
.string "Let's go before my feelings cool!$"
-LavaridgeTown_Gym_B1F_Text_1FEED5: @ 81FEED5
+LavaridgeTown_Gym_B1F_Text_JaceDefeat: @ 81FEED5
.string "It's so hot, and yet my heart is\n"
.string "clutched by ice…$"
-LavaridgeTown_Gym_B1F_Text_1FEF07: @ 81FEF07
+LavaridgeTown_Gym_B1F_Text_JacePostBattle: @ 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
+LavaridgeTown_Gym_B1F_Text_JeffIntro: @ 81FEF60
.string "See how the flames blaze wildly?\n"
.string "They flare in anticipation of my win!$"
-LavaridgeTown_Gym_B1F_Text_1FEFA7: @ 81FEFA7
+LavaridgeTown_Gym_B1F_Text_JeffDefeat: @ 81FEFA7
.string "Something didn't go right.$"
-LavaridgeTown_Gym_B1F_Text_1FEFC2: @ 81FEFC2
+LavaridgeTown_Gym_B1F_Text_JeffPostBattle: @ 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
+LavaridgeTown_Gym_B1F_Text_EliIntro: @ 81FF025
.string "As much as I love mountains,\n"
.string "I especially love volcanoes.$"
-LavaridgeTown_Gym_B1F_Text_1FF05F: @ 81FF05F
+LavaridgeTown_Gym_B1F_Text_EliDefeat: @ 81FF05F
.string "Well, it seems to me I lost without\n"
.string "ever being in control.$"
-LavaridgeTown_Gym_B1F_Text_1FF09A: @ 81FF09A
+LavaridgeTown_Gym_B1F_Text_EliPostBattle: @ 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
+LavaridgeTown_Gym_1F_Text_FlanneryIntro: @ 81FF0DC
.string "Welcome… No, wait.\p"
.string "Puny TRAINER, how good to see you've\n"
.string "made it here!\p"
@@ -334,7 +318,7 @@ LavaridgeTown_Gym_1F_Text_1FF0DC: @ 81FF0DC
.string "father, I shall, uh…demonstrate the\l"
.string "hot moves we have honed on this land!$"
-LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233
+LavaridgeTown_Gym_1F_Text_FlanneryDefeat: @ 81FF233
.string "Oh…\n"
.string "I guess I was trying too hard…\p"
.string "I… I've only recently become\n"
@@ -346,11 +330,11 @@ LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233
.string "Thanks for teaching me that.\n"
.string "For that, you deserve this.$"
-LavaridgeTown_Gym_1F_Text_1FF32F: @ 81FF32F
+LavaridgeTown_Gym_1F_Text_ReceivedHeatBadge: @ 81FF32F
.string "{PLAYER} received the HEAT BADGE\n"
.string "from FLANNERY.$"
-LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359
+LavaridgeTown_Gym_1F_Text_ExplainHeatBadgeTakeThis: @ 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"
@@ -360,7 +344,7 @@ LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359
.string "This is a token of my appreciation.\n"
.string "Don't be shy about taking it!$"
-LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C
+LavaridgeTown_Gym_1F_Text_ExplainOverheat: @ 81FF45C
.string "That TM50 contains OVERHEAT.\p"
.string "That move inflicts serious damage on\n"
.string "the opponent.\p"
@@ -368,24 +352,24 @@ LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C
.string "of the POKéMON using it. It might not\l"
.string "be suitable for longer battles.$"
-LavaridgeTown_Gym_1F_Text_1FF517: @ 81FF517
+LavaridgeTown_Gym_1F_Text_RegisteredFlannery: @ 81FF517
.string "Registered GYM LEADER FLANNERY\n"
.string "in the POKéNAV.$"
-LavaridgeTown_Gym_1F_Text_1FF546: @ 81FF546
+LavaridgeTown_Gym_1F_Text_FlanneryPostBattle: @ 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
+LavaridgeTown_Gym_1F_Text_GymStatue: @ 81FF5A9
.string "LAVARIDGE TOWN POKéMON GYM$"
-LavaridgeTown_Gym_1F_Text_1FF5C4: @ 81FF5C4
+LavaridgeTown_Gym_1F_Text_GymStatueCertified: @ 81FF5C4
.string "LAVARIDGE TOWN POKéMON GYM\p"
.string "FLANNERY'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601
+LavaridgeTown_Gym_1F_Text_FlanneryPreRematch: @ 81FF601
.string "FLANNERY: Losing a battle isn't going\n"
.string "to deflate me.\p"
.string "I love POKéMON.\n"
@@ -394,11 +378,11 @@ LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601
.string "Let's exchange superhot moves\n"
.string "in another battle!$"
-LavaridgeTown_Gym_1F_Text_1FF69F: @ 81FF69F
+LavaridgeTown_Gym_1F_Text_FlanneryRematchDefeat: @ 81FF69F
.string "Whew!\n"
.string "On the verge of eruption!$"
-LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF
+LavaridgeTown_Gym_1F_Text_FlanneryPostRematch: @ 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"
@@ -406,7 +390,7 @@ LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF
.string "Let's have another one like this\n"
.string "again sometime!$"
-LavaridgeTown_Gym_1F_Text_1FF75E: @ 81FF75E
+LavaridgeTown_Gym_1F_Text_FlanneryRematchNeedTwoMons: @ 81FF75E
.string "FLANNERY: Losing a battle isn't going\n"
.string "to deflate me.\p"
.string "I love POKéMON.\n"
diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.json b/data/maps/LavaridgeTown_Gym_B1F/map.json
index 9679beb48..e8ba3e958 100644
--- a/data/maps/LavaridgeTown_Gym_B1F/map.json
+++ b/data/maps/LavaridgeTown_Gym_B1F/map.json
@@ -5,7 +5,7 @@
"music": "MUS_GIM",
"region_map_section": "MAPSEC_LAVARIDGE_TOWN",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_INDOOR",
"allow_bike": false,
"allow_escape_rope": false,
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_B1F_EventScript_1FE91B",
+ "script": "LavaridgeTown_Gym_B1F_EventScript_Jace",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_B1F_EventScript_1FE8CA",
+ "script": "LavaridgeTown_Gym_B1F_EventScript_Keegan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_B1F_EventScript_1FE936",
+ "script": "LavaridgeTown_Gym_B1F_EventScript_Jeff",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "LavaridgeTown_Gym_B1F_EventScript_1FE951",
+ "script": "LavaridgeTown_Gym_B1F_EventScript_Eli",
"flag": "0"
}
],
diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
index 4f3bb062d..3a8f71fad 100644
--- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
@@ -3,57 +3,42 @@ LavaridgeTown_Gym_B1F_MapScripts:: @ 81FF87E
.byte 0
LavaridgeTown_Gym_B1F_OnTransition: @ 81FF884
- call LavaridgeTown_Gym_B1F_EventScript_1FF88F
- call LavaridgeTown_Gym_B1F_EventScript_1FF8DC
+ call LavaridgeTown_Gym_B1F_EventScript_SetTrainerTempVars
+ call LavaridgeTown_Gym_B1F_EventScript_CheckHideTrainers
end
-LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F
+@ Unclear where/if these temp vars are getting checked
+LavaridgeTown_Gym_B1F_EventScript_SetTrainerTempVars:: @ 81FF88F
setvar VAR_TEMP_7, 0
setvar VAR_TEMP_8, 0
setvar VAR_TEMP_9, 0
setvar VAR_TEMP_A, 0
- checktrainerflag TRAINER_KEEGAN
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1
+ goto_if_defeated TRAINER_KEEGAN, LavaridgeTown_Gym_B1F_EventScript_SetJaceTempVar
setvar VAR_TEMP_7, 1
-
-LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1
- checktrainerflag TRAINER_JACE
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF
+LavaridgeTown_Gym_B1F_EventScript_SetJaceTempVar:: @ 81FF8B1
+ goto_if_defeated TRAINER_JACE, LavaridgeTown_Gym_B1F_EventScript_SetJeffTempVar
setvar VAR_TEMP_8, 1
-
-LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF
- checktrainerflag TRAINER_JEFF
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD
+LavaridgeTown_Gym_B1F_EventScript_SetJeffTempVar:: @ 81FF8BF
+ goto_if_defeated TRAINER_JEFF, LavaridgeTown_Gym_B1F_EventScript_SetEliTempVar
setvar VAR_TEMP_9, 1
-
-LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD
- checktrainerflag TRAINER_ELI
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB
+LavaridgeTown_Gym_B1F_EventScript_SetEliTempVar:: @ 81FF8CD
+ goto_if_defeated TRAINER_ELI, LavaridgeTown_Gym_B1F_EventScript_EndSetTrainerTempVars
setvar VAR_TEMP_A, 1
-
-LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB
+LavaridgeTown_Gym_B1F_EventScript_EndSetTrainerTempVars:: @ 81FF8DB
return
-LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC
- checktrainerflag TRAINER_KEEGAN
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9
+LavaridgeTown_Gym_B1F_EventScript_CheckHideTrainers:: @ 81FF8DC
+ goto_if_defeated TRAINER_KEEGAN, LavaridgeTown_Gym_B1F_EventScript_CheckHideJace
setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9
- checktrainerflag TRAINER_JACE
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6
+LavaridgeTown_Gym_B1F_EventScript_CheckHideJace:: @ 81FF8E9
+ goto_if_defeated TRAINER_JACE, LavaridgeTown_Gym_B1F_EventScript_CheckHideJeff
setobjectmovementtype 1, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6
- checktrainerflag TRAINER_JEFF
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF903
+LavaridgeTown_Gym_B1F_EventScript_CheckHideJeff:: @ 81FF8F6
+ goto_if_defeated TRAINER_JEFF, LavaridgeTown_Gym_B1F_EventScript_CheckHideEli
setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903
- checktrainerflag TRAINER_ELI
- goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF910
+LavaridgeTown_Gym_B1F_EventScript_CheckHideEli:: @ 81FF903
+ goto_if_defeated TRAINER_ELI, LavaridgeTown_Gym_B1F_EventScript_EndCheckHideTrainers
setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN
-
-LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910
+LavaridgeTown_Gym_B1F_EventScript_EndCheckHideTrainers:: @ 81FF910
return
diff --git a/data/maps/LavaridgeTown_HerbShop/map.json b/data/maps/LavaridgeTown_HerbShop/map.json
index 203812fb2..1e7048b3f 100644
--- a/data/maps/LavaridgeTown_HerbShop/map.json
+++ b/data/maps/LavaridgeTown_HerbShop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_HerbShop_EventScript_1FE4D7",
+ "script": "LavaridgeTown_HerbShop_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_HerbShop_EventScript_1FE505",
+ "script": "LavaridgeTown_HerbShop_EventScript_OldMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_HerbShop_EventScript_1FE4FC",
+ "script": "LavaridgeTown_HerbShop_EventScript_ExpertM",
"flag": "0"
}
],
diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc
index f6ad8e26b..5f320a942 100644
--- a/data/maps/LavaridgeTown_HerbShop/scripts.inc
+++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc
@@ -1,18 +1,18 @@
LavaridgeTown_HerbShop_MapScripts:: @ 81FE4D6
.byte 0
-LavaridgeTown_HerbShop_EventScript_1FE4D7:: @ 81FE4D7
+LavaridgeTown_HerbShop_EventScript_Clerk:: @ 81FE4D7
lock
faceplayer
- message LavaridgeTown_HerbShop_Text_1FE53E
+ message LavaridgeTown_HerbShop_Text_WelcomeToHerbShop
waitmessage
- pokemart LavaridgeTown_HerbShop_Pokemart_1FE4F0
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LavaridgeTown_HerbShop_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LavaridgeTown_HerbShop_Pokemart_1FE4F0: @ 81FE4F0
+LavaridgeTown_HerbShop_Pokemart: @ 81FE4F0
.2byte ITEM_ENERGY_POWDER
.2byte ITEM_ENERGY_ROOT
.2byte ITEM_HEAL_POWDER
@@ -21,38 +21,38 @@ LavaridgeTown_HerbShop_Pokemart_1FE4F0: @ 81FE4F0
release
end
-LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC
- msgbox LavaridgeTown_HerbShop_Text_1FE685, MSGBOX_NPC
+LavaridgeTown_HerbShop_EventScript_ExpertM:: @ 81FE4FC
+ msgbox LavaridgeTown_HerbShop_Text_HerbalMedicineWorksButMonWillDislike, MSGBOX_NPC
end
-LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505
+LavaridgeTown_HerbShop_EventScript_OldMan:: @ 81FE505
lock
faceplayer
- goto_if_set FLFLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_1FE534
- msgbox LavaridgeTown_HerbShop_Text_1FE584, MSGBOX_DEFAULT
- giveitem_std ITEM_CHARCOAL
+ goto_if_set FLFLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_ExplainCharcoal
+ msgbox LavaridgeTown_HerbShop_Text_YouveComeToLookAtHerbalMedicine, MSGBOX_DEFAULT
+ giveitem ITEM_CHARCOAL
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLFLAG_RECEIVED_CHARCOAL
release
end
-LavaridgeTown_HerbShop_EventScript_1FE534:: @ 81FE534
- msgbox LavaridgeTown_HerbShop_Text_1FE5EB, MSGBOX_DEFAULT
+LavaridgeTown_HerbShop_EventScript_ExplainCharcoal:: @ 81FE534
+ msgbox LavaridgeTown_HerbShop_Text_ExplainCharcoal, MSGBOX_DEFAULT
release
end
-LavaridgeTown_HerbShop_Text_1FE53E: @ 81FE53E
+LavaridgeTown_HerbShop_Text_WelcomeToHerbShop: @ 81FE53E
.string "Welcome to the HERB SHOP, home of\n"
.string "effective and inexpensive medicine!$"
-LavaridgeTown_HerbShop_Text_1FE584: @ 81FE584
+LavaridgeTown_HerbShop_Text_YouveComeToLookAtHerbalMedicine: @ 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
+LavaridgeTown_HerbShop_Text_ExplainCharcoal: @ 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"
@@ -60,7 +60,7 @@ LavaridgeTown_HerbShop_Text_1FE5EB: @ 81FE5EB
.string "It intensifies the power of FIRE-type\n"
.string "moves.$"
-LavaridgeTown_HerbShop_Text_1FE685: @ 81FE685
+LavaridgeTown_HerbShop_Text_HerbalMedicineWorksButMonWillDislike: @ 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/maps/LavaridgeTown_House/map.json b/data/maps/LavaridgeTown_House/map.json
index a0cd74f59..77ebb268e 100644
--- a/data/maps/LavaridgeTown_House/map.json
+++ b/data/maps/LavaridgeTown_House/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_House_EventScript_1FF912",
+ "script": "LavaridgeTown_House_EventScript_OldMan",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_House_EventScript_1FF91B",
+ "script": "LavaridgeTown_House_EventScript_Zigzagoon",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_House_EventScript_2C804E",
+ "script": "LavaridgeTown_House_EventScript_MimicTutor",
"flag": "0"
}
],
diff --git a/data/maps/LavaridgeTown_House/scripts.inc b/data/maps/LavaridgeTown_House/scripts.inc
index 2dc6bc76e..6db5f9ee5 100644
--- a/data/maps/LavaridgeTown_House/scripts.inc
+++ b/data/maps/LavaridgeTown_House/scripts.inc
@@ -1,26 +1,26 @@
LavaridgeTown_House_MapScripts:: @ 81FF911
.byte 0
-LavaridgeTown_House_EventScript_1FF912:: @ 81FF912
- msgbox LavaridgeTown_House_Text_1FF92E, MSGBOX_NPC
+LavaridgeTown_House_EventScript_OldMan:: @ 81FF912
+ msgbox LavaridgeTown_House_Text_WifeWarmingEggInHotSprings, MSGBOX_NPC
end
-LavaridgeTown_House_EventScript_1FF91B:: @ 81FF91B
+LavaridgeTown_House_EventScript_Zigzagoon:: @ 81FF91B
lock
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox LavaridgeTown_House_Text_1FF9BB, MSGBOX_DEFAULT
+ msgbox LavaridgeTown_House_Text_Zigzagoon, MSGBOX_DEFAULT
waitmoncry
release
end
-LavaridgeTown_House_Text_1FF92E: @ 81FF92E
+LavaridgeTown_House_Text_WifeWarmingEggInHotSprings: @ 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
+LavaridgeTown_House_Text_Zigzagoon: @ 81FF9BB
.string "ZIGZAGOON: Pshoo!$"
diff --git a/data/maps/LavaridgeTown_Mart/map.json b/data/maps/LavaridgeTown_Mart/map.json
index 2f8d1278f..d55b562db 100644
--- a/data/maps/LavaridgeTown_Mart/map.json
+++ b/data/maps/LavaridgeTown_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_Mart_EventScript_1FF9CE",
+ "script": "LavaridgeTown_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_Mart_EventScript_1FF9FE",
+ "script": "LavaridgeTown_Mart_EventScript_ExpertM",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_Mart_EventScript_1FFA07",
+ "script": "LavaridgeTown_Mart_EventScript_OldWoman",
"flag": "0"
}
],
diff --git a/data/maps/LavaridgeTown_Mart/scripts.inc b/data/maps/LavaridgeTown_Mart/scripts.inc
index ff9772b1d..b5b3cb6f1 100644
--- a/data/maps/LavaridgeTown_Mart/scripts.inc
+++ b/data/maps/LavaridgeTown_Mart/scripts.inc
@@ -1,18 +1,18 @@
LavaridgeTown_Mart_MapScripts:: @ 81FF9CD
.byte 0
-LavaridgeTown_Mart_EventScript_1FF9CE:: @ 81FF9CE
+LavaridgeTown_Mart_EventScript_Clerk:: @ 81FF9CE
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart LavaridgeTown_Mart_Pokemart_1FF9E8
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LavaridgeTown_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LavaridgeTown_Mart_Pokemart_1FF9E8: @ 81FF9E8
+LavaridgeTown_Mart_Pokemart: @ 81FF9E8
.2byte ITEM_GREAT_BALL
.2byte ITEM_SUPER_POTION
.2byte ITEM_ANTIDOTE
@@ -26,21 +26,21 @@ LavaridgeTown_Mart_Pokemart_1FF9E8: @ 81FF9E8
release
end
-LavaridgeTown_Mart_EventScript_1FF9FE:: @ 81FF9FE
- msgbox LavaridgeTown_Mart_Text_1FFA10, MSGBOX_NPC
+LavaridgeTown_Mart_EventScript_ExpertM:: @ 81FF9FE
+ msgbox LavaridgeTown_Mart_Text_XSpeedFirstStrike, MSGBOX_NPC
end
-LavaridgeTown_Mart_EventScript_1FFA07:: @ 81FFA07
- msgbox LavaridgeTown_Mart_Text_1FFA83, MSGBOX_NPC
+LavaridgeTown_Mart_EventScript_OldWoman:: @ 81FFA07
+ msgbox LavaridgeTown_Mart_Text_LocalSpecialtyOnMtChimney, MSGBOX_NPC
end
-LavaridgeTown_Mart_Text_1FFA10: @ 81FFA10
+LavaridgeTown_Mart_Text_XSpeedFirstStrike: @ 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
+LavaridgeTown_Mart_Text_LocalSpecialtyOnMtChimney: @ 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/maps/LavaridgeTown_PokemonCenter_1F/map.json b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json
index ef32ef660..4df734a49 100644
--- a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json
+++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Youngster",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E",
+ "script": "LavaridgeTown_PokemonCenter_1F_EventScript_Gentleman",
"flag": "0"
}
],
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc
index 4905a5bce..a2b25fe0e 100644
--- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc
@@ -1,46 +1,47 @@
LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA
map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, LavaridgeTown_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
LavaridgeTown_PokemonCenter_1F_OnTransition: @ 81FFB05
setrespawn HEAL_LOCATION_LAVARIDGE_TOWN
- call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E:: @ 81FFB0E
+@ VAR_0x800B is the Nurse's object event id
+LavaridgeTown_PokemonCenter_1F_EventScript_Nurse:: @ 81FFB0E
setvar VAR_0x800B, 1
- call LavaridgeTown_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C:: @ 81FFB1C
- msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFBAD, MSGBOX_NPC
+LavaridgeTown_PokemonCenter_1F_EventScript_Youngster:: @ 81FFB1C
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_HotSpringCanInvigorate, MSGBOX_NPC
end
-LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25:: @ 81FFB25
- msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFB37, MSGBOX_NPC
+LavaridgeTown_PokemonCenter_1F_EventScript_Woman:: @ 81FFB25
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_TrainersPokemonSpendTimeTogether, MSGBOX_NPC
end
-LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E:: @ 81FFB2E
- msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFC21, MSGBOX_NPC
+LavaridgeTown_PokemonCenter_1F_EventScript_Gentleman:: @ 81FFB2E
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_TrainersShouldRestToo, MSGBOX_NPC
end
-LavaridgeTown_PokemonCenter_1F_Text_1FFB37: @ 81FFB37
+LavaridgeTown_PokemonCenter_1F_Text_TrainersPokemonSpendTimeTogether: @ 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
+LavaridgeTown_PokemonCenter_1F_Text_HotSpringCanInvigorate: @ 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
+LavaridgeTown_PokemonCenter_1F_Text_TrainersShouldRestToo: @ 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"
diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json
index 95d1e194f..2ee196f9b 100644
--- a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json
+++ b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LavaridgeTown_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc
index c8e52468f..633f91e95 100644
--- a/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc
+++ b/data/maps/LavaridgeTown_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
LavaridgeTown_PokemonCenter_2F_MapScripts:: @ 81FFC97
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-LavaridgeTown_PokemonCenter_2F_EventScript_1FFCAC:: @ 81FFCAC
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+LavaridgeTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FFCAC
+ call CableClub_EventScript_Colosseum
end
-LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB2:: @ 81FFCB2
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+LavaridgeTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FFCB2
+ call CableClub_EventScript_TradeCenter
end
-LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB8:: @ 81FFCB8
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+LavaridgeTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FFCB8
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json
index 26f0ad36d..4f7c3ab0f 100644
--- a/data/maps/LilycoveCity/map.json
+++ b/data/maps/LilycoveCity/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2C53",
+ "script": "LilycoveCity_EventScript_Sailor2",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2C2B",
+ "script": "LilycoveCity_EventScript_Girl",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2C22",
+ "script": "LilycoveCity_EventScript_Man3",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2C4A",
+ "script": "LilycoveCity_EventScript_RichBoy",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2C91",
+ "script": "LilycoveCity_EventScript_Man2",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2C72",
+ "script": "LilycoveCity_EventScript_Woman2",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2C9A",
+ "script": "LilycoveCity_EventScript_ExpertM1",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2CA3",
+ "script": "LilycoveCity_EventScript_ExpertF",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2CAC",
+ "script": "LilycoveCity_EventScript_ExpertM2",
"flag": "0"
},
{
@@ -152,7 +152,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2D7D",
+ "script": "LilycoveCity_EventScript_WailmerTrainerGrunt",
"flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2DD5",
+ "script": "LilycoveCity_EventScript_AquaGrunt4",
"flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS"
},
{
@@ -191,7 +191,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2DBA",
+ "script": "LilycoveCity_EventScript_AquaGrunt1",
"flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS"
},
{
@@ -204,7 +204,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2DC3",
+ "script": "LilycoveCity_EventScript_AquaGrunt2",
"flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2DCC",
+ "script": "LilycoveCity_EventScript_AquaGrunt3",
"flag": "FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS"
},
{
@@ -230,7 +230,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2BD8",
+ "script": "LilycoveCity_EventScript_BerryGentleman",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2DDE",
+ "script": "LilycoveCity_EventScript_Rival",
"flag": "FLAG_HIDE_LILYCOVE_CITY_RIVAL"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E302D",
+ "script": "LilycoveCity_EventScript_SchoolKidM",
"flag": "0"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2CEE",
+ "script": "LilycoveCity_EventScript_Woman1",
"flag": "0"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2CDD",
+ "script": "LilycoveCity_EventScript_Man1",
"flag": "0"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2CCB",
+ "script": "LilycoveCity_EventScript_Sailor1",
"flag": "0"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_EventScript_1E2CD4",
+ "script": "LilycoveCity_EventScript_FatMan",
"flag": "0"
}
],
@@ -420,7 +420,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2D1A"
+ "script": "LilycoveCity_EventScript_MuseumSign"
},
{
"type": "sign",
@@ -436,7 +436,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2D6B"
+ "script": "LilycoveCity_EventScript_DepartmentStoreSign"
},
{
"type": "sign",
@@ -452,7 +452,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2CFF"
+ "script": "LilycoveCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -460,7 +460,7 @@
"y": 24,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2D08"
+ "script": "LilycoveCity_EventScript_ContestHallSign"
},
{
"type": "sign",
@@ -468,7 +468,7 @@
"y": 24,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2D11"
+ "script": "LilycoveCity_EventScript_MotelSign"
},
{
"type": "sign",
@@ -476,7 +476,7 @@
"y": 30,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2D44"
+ "script": "LilycoveCity_EventScript_HarborSign"
},
{
"type": "sign",
@@ -484,7 +484,7 @@
"y": 14,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2D62"
+ "script": "LilycoveCity_EventScript_TrainerFanClubSign"
},
{
"type": "sign",
@@ -492,7 +492,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_EventScript_1E2D74"
+ "script": "LilycoveCity_EventScript_MoveDeletersHouseSign"
},
{
"type": "hidden_item",
diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc
index 9a777e551..fb3775f95 100644
--- a/data/maps/LilycoveCity/scripts.inc
+++ b/data/maps/LilycoveCity/scripts.inc
@@ -1,21 +1,21 @@
LilycoveCity_MapScripts:: @ 81E2B3C
map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_MapScript1_1E2B61
+ map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_OnLoad
.byte 0
LilycoveCity_OnTransition: @ 81E2B47
setflag FLAG_VISITED_LILYCOVE_CITY
- setvar VAR_LINK_CONTEST_ROOM_STATE, 0
+ setvar VAR_CONTEST_HALL_STATE, 0
setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
- call Common_EventScript_SetupRivalGender
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
+ call Common_EventScript_SetupRivalGfxId
end
-LilycoveCity_MapScript1_1E2B61: @ 81E2B61
- call_if_unset FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2B6B
+LilycoveCity_OnLoad: @ 81E2B61
+ call_if_unset FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_SetWailmerMetatiles
end
-LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B
+LilycoveCity_EventScript_SetWailmerMetatiles:: @ 81E2B6B
setmetatile 76, 12, METATILE_Lilycove_Wailmer0, 1
setmetatile 77, 12, METATILE_Lilycove_Wailmer1, 1
setmetatile 76, 13, METATILE_Lilycove_Wailmer2, 1
@@ -30,364 +30,364 @@ LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B
setmetatile 78, 17, METATILE_Lilycove_Wailmer3, 1
return
-LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8
+LilycoveCity_EventScript_BerryGentleman:: @ 81E2BD8
lock
faceplayer
dotimebasedevents
- goto_if_set FLAG_DAILY_LILYCOVE_RECEIVED_BERRY, LilycoveCity_EventScript_1E2C18
- msgbox LilycoveCity_Text_2A7244, MSGBOX_DEFAULT
+ goto_if_set FLAG_DAILY_LILYCOVE_RECEIVED_BERRY, LilycoveCity_EventScript_ReceivedBerry
+ msgbox LilycoveCity_Text_BerrySuitsYou, MSGBOX_DEFAULT
random 10
- addvar VAR_RESULT, 133
- giveitem_std VAR_RESULT
- compare VAR_RESULT, 0
+ addvar VAR_RESULT, FIRST_BERRY_INDEX
+ giveitem VAR_RESULT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_LILYCOVE_RECEIVED_BERRY
- msgbox LilycoveCity_Text_2A72E3, MSGBOX_DEFAULT
+ msgbox LilycoveCity_Text_BecauseYoureTrainer, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C18:: @ 81E2C18
- msgbox LilycoveCity_Text_2A7321, MSGBOX_DEFAULT
+LilycoveCity_EventScript_ReceivedBerry:: @ 81E2C18
+ msgbox LilycoveCity_Text_PokeblocksSuitPokemon, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C22:: @ 81E2C22
- msgbox LilycoveCity_Text_1E3D9E, MSGBOX_NPC
+LilycoveCity_EventScript_Man3:: @ 81E2C22
+ msgbox LilycoveCity_Text_ContestHallInTown, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B
+LilycoveCity_EventScript_Girl:: @ 81E2C2B
lock
faceplayer
- goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2C40
- msgbox LilycoveCity_Text_1E3E3C, MSGBOX_DEFAULT
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_GirlAquaGone
+ msgbox LilycoveCity_Text_StrangeCaveInCove, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C40:: @ 81E2C40
- msgbox LilycoveCity_Text_1E3E7D, MSGBOX_DEFAULT
+LilycoveCity_EventScript_GirlAquaGone:: @ 81E2C40
+ msgbox LilycoveCity_Text_GoingToMoveDeleterForHMs, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A
- msgbox LilycoveCity_Text_1E3F05, MSGBOX_NPC
+LilycoveCity_EventScript_RichBoy:: @ 81E2C4A
+ msgbox LilycoveCity_Text_ImFromKanto, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2C53:: @ 81E2C53
+LilycoveCity_EventScript_Sailor2:: @ 81E2C53
lock
faceplayer
- goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2C68
- msgbox LilycoveCity_Text_1E3FAB, MSGBOX_DEFAULT
+ goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_Sailor2AquaGone
+ msgbox LilycoveCity_Text_TeamAquaBeenTrainingWailmer, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C68:: @ 81E2C68
- msgbox LilycoveCity_Text_1E4020, MSGBOX_DEFAULT
+LilycoveCity_EventScript_Sailor2AquaGone:: @ 81E2C68
+ msgbox LilycoveCity_Text_SomeonePuntedTeamAquaOut, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C72:: @ 81E2C72
+LilycoveCity_EventScript_Woman2:: @ 81E2C72
lock
faceplayer
- goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_1E2C87
- msgbox LilycoveCity_Text_1E40AD, MSGBOX_DEFAULT
+ goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, LilycoveCity_EventScript_Woman2AquaGone
+ msgbox LilycoveCity_Text_SomeoneStoleMyPokemon, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C87:: @ 81E2C87
- msgbox LilycoveCity_Text_1E4145, MSGBOX_DEFAULT
+LilycoveCity_EventScript_Woman2AquaGone:: @ 81E2C87
+ msgbox LilycoveCity_Text_MissingPokemonCameBack, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2C91:: @ 81E2C91
- msgbox LilycoveCity_Text_1E417B, MSGBOX_NPC
+LilycoveCity_EventScript_Man2:: @ 81E2C91
+ msgbox LilycoveCity_Text_ImArtDealer, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2C9A:: @ 81E2C9A
- msgbox LilycoveCity_Text_1E420B, MSGBOX_SIGN
+LilycoveCity_EventScript_ExpertM1:: @ 81E2C9A
+ msgbox LilycoveCity_Text_SeaRemainsForeverYoung, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2CA3:: @ 81E2CA3
- msgbox LilycoveCity_Text_1E4283, MSGBOX_SIGN
+LilycoveCity_EventScript_ExpertF:: @ 81E2CA3
+ msgbox LilycoveCity_Text_SixtyYearsAgoHusbandProposed, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC
+LilycoveCity_EventScript_ExpertM2:: @ 81E2CAC
lock
faceplayer
- goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2CC1
- msgbox LilycoveCity_Text_1E42FC, MSGBOX_DEFAULT
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_ExpertM2AquaGone
+ msgbox LilycoveCity_Text_TeamAquaRenovatedCavern, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2CC1:: @ 81E2CC1
- msgbox LilycoveCity_Text_1E43FF, MSGBOX_DEFAULT
+LilycoveCity_EventScript_ExpertM2AquaGone:: @ 81E2CC1
+ msgbox LilycoveCity_Text_TeamAquaLotGoneForGood, MSGBOX_DEFAULT
release
end
-LilycoveCity_EventScript_1E2CCB:: @ 81E2CCB
- msgbox LilycoveCity_Text_1E48A5, MSGBOX_NPC
+LilycoveCity_EventScript_Sailor1:: @ 81E2CCB
+ msgbox LilycoveCity_Text_HeardTowerCalledSkyPillar, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2CD4:: @ 81E2CD4
- msgbox LilycoveCity_Text_1E4902, MSGBOX_NPC
+LilycoveCity_EventScript_FatMan:: @ 81E2CD4
+ msgbox LilycoveCity_Text_SawTallTowerOnRoute131, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2CDD:: @ 81E2CDD
+LilycoveCity_EventScript_Man1:: @ 81E2CDD
lockall
- msgbox LilycoveCity_Text_1E494D, MSGBOX_NPC
+ msgbox LilycoveCity_Text_JustArrivedAndSawRarePokemon, MSGBOX_NPC
applymovement 20, Common_Movement_FaceOriginalDirection
end
-LilycoveCity_EventScript_1E2CEE:: @ 81E2CEE
+LilycoveCity_EventScript_Woman1:: @ 81E2CEE
lockall
- msgbox LilycoveCity_Text_1E49F4, MSGBOX_NPC
+ msgbox LilycoveCity_Text_HoneymoonVowToSeeRarePokemon, MSGBOX_NPC
applymovement 19, Common_Movement_FaceOriginalDirection
end
-LilycoveCity_EventScript_1E2CFF:: @ 81E2CFF
- msgbox LilycoveCity_Text_1E448B, MSGBOX_SIGN
+LilycoveCity_EventScript_CitySign:: @ 81E2CFF
+ msgbox LilycoveCity_Text_CitySign, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2D08:: @ 81E2D08
- msgbox LilycoveCity_Text_1E44C3, MSGBOX_SIGN
+LilycoveCity_EventScript_ContestHallSign:: @ 81E2D08
+ msgbox LilycoveCity_Text_ContestHallSign, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2D11:: @ 81E2D11
- msgbox LilycoveCity_Text_1E44FC, MSGBOX_SIGN
+LilycoveCity_EventScript_MotelSign:: @ 81E2D11
+ msgbox LilycoveCity_Text_MotelSign, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2D1A:: @ 81E2D1A
+LilycoveCity_EventScript_MuseumSign:: @ 81E2D1A
lockall
specialvar VAR_0x8004, CountPlayerContestPaintings
switch VAR_0x8004
- case 0, LilycoveCity_EventScript_1E2D3A
- msgbox LilycoveCity_Text_1E4571, MSGBOX_DEFAULT
+ case 0, LilycoveCity_EventScript_MuseumSignNoPaintings
+ msgbox LilycoveCity_Text_MuseumSignPlayersExhibit, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_EventScript_1E2D3A:: @ 81E2D3A
- msgbox LilycoveCity_Text_1E4534, MSGBOX_DEFAULT
+LilycoveCity_EventScript_MuseumSignNoPaintings:: @ 81E2D3A
+ msgbox LilycoveCity_Text_MuseumSign, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_EventScript_1E2D44:: @ 81E2D44
+LilycoveCity_EventScript_HarborSign:: @ 81E2D44
lockall
- goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2D58
- msgbox LilycoveCity_Text_1E45A7, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_HarborSignFerryReady
+ msgbox LilycoveCity_Text_HarborSignUnderConstruction, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_EventScript_1E2D58:: @ 81E2D58
- msgbox LilycoveCity_Text_1E4624, MSGBOX_DEFAULT
+LilycoveCity_EventScript_HarborSignFerryReady:: @ 81E2D58
+ msgbox LilycoveCity_Text_HarborSign, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_EventScript_1E2D62:: @ 81E2D62
- msgbox LilycoveCity_Text_1E466E, MSGBOX_SIGN
+LilycoveCity_EventScript_TrainerFanClubSign:: @ 81E2D62
+ msgbox LilycoveCity_Text_TrainerFanClubSign, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2D6B:: @ 81E2D6B
- msgbox LilycoveCity_Text_1E46BE, MSGBOX_SIGN
+LilycoveCity_EventScript_DepartmentStoreSign:: @ 81E2D6B
+ msgbox LilycoveCity_Text_DepartmentStoreSign, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2D74:: @ 81E2D74
- msgbox LilycoveCity_Text_1E473D, MSGBOX_SIGN
+LilycoveCity_EventScript_MoveDeletersHouseSign:: @ 81E2D74
+ msgbox LilycoveCity_Text_MoveDeletersHouseSign, MSGBOX_SIGN
end
-LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D
+LilycoveCity_EventScript_WailmerTrainerGrunt:: @ 81E2D7D
lockall
- goto_if_set FLAG_MET_WAILMER_TRAINER, LilycoveCity_EventScript_1E2DB0
- msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_WAILMER_TRAINER, LilycoveCity_EventScript_MetWailmerTrainer
+ msgbox LilycoveCity_Text_WailmerLeapOutOfWater, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
- msgbox LilycoveCity_Text_1E3D4A, MSGBOX_DEFAULT
+ msgbox LilycoveCity_Text_GetLostMessingUpTraining, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
setflag FLAG_MET_WAILMER_TRAINER
releaseall
end
-LilycoveCity_EventScript_1E2DB0:: @ 81E2DB0
- msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT
+LilycoveCity_EventScript_MetWailmerTrainer:: @ 81E2DB0
+ msgbox LilycoveCity_Text_WailmerLeapOutOfWater, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_EventScript_1E2DBA:: @ 81E2DBA
- msgbox LilycoveCity_Text_1E3B2C, MSGBOX_NPC
+LilycoveCity_EventScript_AquaGrunt1:: @ 81E2DBA
+ msgbox LilycoveCity_Text_MovedLootIntoHideoutToday, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2DC3:: @ 81E2DC3
- msgbox LilycoveCity_Text_1E3B95, MSGBOX_NPC
+LilycoveCity_EventScript_AquaGrunt2:: @ 81E2DC3
+ msgbox LilycoveCity_Text_ChanceToDoBigThings, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2DCC:: @ 81E2DCC
- msgbox LilycoveCity_Text_1E3C46, MSGBOX_NPC
+LilycoveCity_EventScript_AquaGrunt3:: @ 81E2DCC
+ msgbox LilycoveCity_Text_DontGoNearCaveInCove, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2DD5:: @ 81E2DD5
- msgbox LilycoveCity_Text_1E3CBE, MSGBOX_NPC
+LilycoveCity_EventScript_AquaGrunt4:: @ 81E2DD5
+ msgbox LilycoveCity_Text_IfWorldBecomesOurs, MSGBOX_NPC
end
-LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE
+LilycoveCity_EventScript_Rival:: @ 81E2DDE
lock
faceplayer
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq LilycoveCity_EventScript_1E2DF8
+ goto_if_eq LilycoveCity_EventScript_May
compare VAR_RESULT, FEMALE
- goto_if_eq LilycoveCity_EventScript_1E2E6B
+ goto_if_eq LilycoveCity_EventScript_Brendan
end
-LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8
+LilycoveCity_EventScript_May:: @ 81E2DF8
playbgm MUS_GIRL_SUP, 1
- call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2E48
- call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2E51
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_EventScript_1E2E5A
- msgbox LilycoveCity_Text_1E3234, MSGBOX_DEFAULT
+ call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_MayAskToBattleAgain
+ call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_MayAskToBattle
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_EventScript_DeclineMayBattle
+ msgbox LilycoveCity_Text_MayWontBeBeaten, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, LilycoveCity_EventScript_1E2EDE
- case 1, LilycoveCity_EventScript_1E2EEE
- case 2, LilycoveCity_EventScript_1E2EFE
+ case 0, LilycoveCity_EventScript_BattleMayTreecko
+ case 1, LilycoveCity_EventScript_BattleMayTorchic
+ case 2, LilycoveCity_EventScript_BattleMayMudkip
end
-LilycoveCity_EventScript_1E2E48:: @ 81E2E48
- msgbox LilycoveCity_Text_1E31F5, MSGBOX_YESNO
+LilycoveCity_EventScript_MayAskToBattleAgain:: @ 81E2E48
+ msgbox LilycoveCity_Text_MayBattleMe, MSGBOX_YESNO
return
-LilycoveCity_EventScript_1E2E51:: @ 81E2E51
- msgbox LilycoveCity_Text_1E3061, MSGBOX_YESNO
+LilycoveCity_EventScript_MayAskToBattle:: @ 81E2E51
+ msgbox LilycoveCity_Text_MayShoppingLetsBattle, MSGBOX_YESNO
return
-LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A
+LilycoveCity_EventScript_DeclineMayBattle:: @ 81E2E5A
setflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE
- msgbox LilycoveCity_Text_1E318D, MSGBOX_DEFAULT
+ msgbox LilycoveCity_Text_MayNotRaisingPokemon, MSGBOX_DEFAULT
savebgm MUS_DUMMY
fadedefaultbgm
release
end
-LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B
+LilycoveCity_EventScript_Brendan:: @ 81E2E6B
playbgm MUS_BOY_SUP, 1
- call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2EBB
- call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_1E2EC4
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_EventScript_1E2ECD
- msgbox LilycoveCity_Text_1E373C, MSGBOX_DEFAULT
+ call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_BrendanAskToBattleAgain
+ call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_BrendanAskToBattle
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_EventScript_DeclineBrendanBattle
+ msgbox LilycoveCity_Text_BrendanWontBeBeaten, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, LilycoveCity_EventScript_1E2F0E
- case 1, LilycoveCity_EventScript_1E2F1E
- case 2, LilycoveCity_EventScript_1E2F2E
+ case 0, LilycoveCity_EventScript_BattleBrendanTreecko
+ case 1, LilycoveCity_EventScript_BattleBrendanTorchic
+ case 2, LilycoveCity_EventScript_BattleBrendanMudkip
end
-LilycoveCity_EventScript_1E2EBB:: @ 81E2EBB
- msgbox LilycoveCity_Text_1E36FA, MSGBOX_YESNO
+LilycoveCity_EventScript_BrendanAskToBattleAgain:: @ 81E2EBB
+ msgbox LilycoveCity_Text_BrendanBattleMe, MSGBOX_YESNO
return
-LilycoveCity_EventScript_1E2EC4:: @ 81E2EC4
- msgbox LilycoveCity_Text_1E3608, MSGBOX_YESNO
+LilycoveCity_EventScript_BrendanAskToBattle:: @ 81E2EC4
+ msgbox LilycoveCity_Text_BrendanShoppingLetsBattle, MSGBOX_YESNO
return
-LilycoveCity_EventScript_1E2ECD:: @ 81E2ECD
+LilycoveCity_EventScript_DeclineBrendanBattle:: @ 81E2ECD
setflag FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE
- msgbox LilycoveCity_Text_1E36BF, MSGBOX_DEFAULT
+ msgbox LilycoveCity_Text_BrendanNoConfidence, MSGBOX_DEFAULT
savebgm MUS_DUMMY
fadedefaultbgm
release
end
-LilycoveCity_EventScript_1E2EDE:: @ 81E2EDE
- trainerbattle_no_intro TRAINER_MAY_12, LilycoveCity_Text_1E3275
- goto LilycoveCity_EventScript_1E2F3E
+LilycoveCity_EventScript_BattleMayTreecko:: @ 81E2EDE
+ trainerbattle_no_intro TRAINER_MAY_LILYCOVE_TREECKO, LilycoveCity_Text_MayDefeat
+ goto LilycoveCity_EventScript_DefeatedMay
end
-LilycoveCity_EventScript_1E2EEE:: @ 81E2EEE
- trainerbattle_no_intro TRAINER_MAY_13, LilycoveCity_Text_1E3275
- goto LilycoveCity_EventScript_1E2F3E
+LilycoveCity_EventScript_BattleMayTorchic:: @ 81E2EEE
+ trainerbattle_no_intro TRAINER_MAY_LILYCOVE_TORCHIC, LilycoveCity_Text_MayDefeat
+ goto LilycoveCity_EventScript_DefeatedMay
end
-LilycoveCity_EventScript_1E2EFE:: @ 81E2EFE
- trainerbattle_no_intro TRAINER_MAY_11, LilycoveCity_Text_1E3275
- goto LilycoveCity_EventScript_1E2F3E
+LilycoveCity_EventScript_BattleMayMudkip:: @ 81E2EFE
+ trainerbattle_no_intro TRAINER_MAY_LILYCOVE_MUDKIP, LilycoveCity_Text_MayDefeat
+ goto LilycoveCity_EventScript_DefeatedMay
end
-LilycoveCity_EventScript_1E2F0E:: @ 81E2F0E
- trainerbattle_no_intro TRAINER_BRENDAN_14, LilycoveCity_Text_1E3777
- goto LilycoveCity_EventScript_1E2FAA
+LilycoveCity_EventScript_BattleBrendanTreecko:: @ 81E2F0E
+ trainerbattle_no_intro TRAINER_BRENDAN_LILYCOVE_TREECKO, LilycoveCity_Text_BrendanDefeat
+ goto LilycoveCity_EventScript_DefeatedBrendan
end
-LilycoveCity_EventScript_1E2F1E:: @ 81E2F1E
- trainerbattle_no_intro TRAINER_BRENDAN_15, LilycoveCity_Text_1E3777
- goto LilycoveCity_EventScript_1E2FAA
+LilycoveCity_EventScript_BattleBrendanTorchic:: @ 81E2F1E
+ trainerbattle_no_intro TRAINER_BRENDAN_LILYCOVE_TORCHIC, LilycoveCity_Text_BrendanDefeat
+ goto LilycoveCity_EventScript_DefeatedBrendan
end
-LilycoveCity_EventScript_1E2F2E:: @ 81E2F2E
- trainerbattle_no_intro TRAINER_BRENDAN_13, LilycoveCity_Text_1E3777
- goto LilycoveCity_EventScript_1E2FAA
+LilycoveCity_EventScript_BattleBrendanMudkip:: @ 81E2F2E
+ trainerbattle_no_intro TRAINER_BRENDAN_LILYCOVE_MUDKIP, LilycoveCity_Text_BrendanDefeat
+ goto LilycoveCity_EventScript_DefeatedBrendan
end
-LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E
- msgbox LilycoveCity_Text_1E32FB, MSGBOX_DEFAULT
- setvar VAR_RESULT, 0
- call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_EventScript_1E2F86
- compare VAR_RESULT, 1
- call_if_eq LilycoveCity_EventScript_1E2F8F
+LilycoveCity_EventScript_DefeatedMay:: @ 81E2F3E
+ msgbox LilycoveCity_Text_MayGoingBackToLittleroot, MSGBOX_DEFAULT
+ setvar VAR_RESULT, FALSE
+ call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_CheckFinalBadge
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_EventScript_MayCollectBadges
+ compare VAR_RESULT, TRUE
+ call_if_eq LilycoveCity_EventScript_MayPokemonLeague
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
- goto LilycoveCity_EventScript_1E3006
+ goto LilycoveCity_EventScript_RivalFlyAway
end
-LilycoveCity_EventScript_1E2F76:: @ 81E2F76
- goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_1E2F80
+LilycoveCity_EventScript_CheckFinalBadge:: @ 81E2F76
+ goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_HasFinalBadge
return
-LilycoveCity_EventScript_1E2F80:: @ 81E2F80
- setvar VAR_RESULT, 1
+LilycoveCity_EventScript_HasFinalBadge:: @ 81E2F80
+ setvar VAR_RESULT, TRUE
return
-LilycoveCity_EventScript_1E2F86:: @ 81E2F86
- msgbox LilycoveCity_Text_1E3398, MSGBOX_DEFAULT
+LilycoveCity_EventScript_MayCollectBadges:: @ 81E2F86
+ msgbox LilycoveCity_Text_MayYouGoingToCollectBadges, MSGBOX_DEFAULT
return
-LilycoveCity_EventScript_1E2F8F:: @ 81E2F8F
- goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FA1
- msgbox LilycoveCity_Text_1E346D, MSGBOX_DEFAULT
+LilycoveCity_EventScript_MayPokemonLeague:: @ 81E2F8F
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_MayBattleFrontier
+ msgbox LilycoveCity_Text_MayYouGoingToPokemonLeague, MSGBOX_DEFAULT
return
-LilycoveCity_EventScript_1E2FA1:: @ 81E2FA1
- msgbox LilycoveCity_Text_1E353A, MSGBOX_DEFAULT
+LilycoveCity_EventScript_MayBattleFrontier:: @ 81E2FA1
+ msgbox LilycoveCity_Text_MayYouGoingToBattleFrontier, MSGBOX_DEFAULT
return
-LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA
- msgbox LilycoveCity_Text_1E37D7, MSGBOX_DEFAULT
- setvar VAR_RESULT, 0
- call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_EventScript_1E2FE2
- compare VAR_RESULT, 1
- call_if_eq LilycoveCity_EventScript_1E2FEB
+LilycoveCity_EventScript_DefeatedBrendan:: @ 81E2FAA
+ msgbox LilycoveCity_Text_BrendanGoingBackToLittleroot, MSGBOX_DEFAULT
+ setvar VAR_RESULT, FALSE
+ call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_CheckFinalBadge
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_EventScript_BrendanCollectBadges
+ compare VAR_RESULT, TRUE
+ call_if_eq LilycoveCity_EventScript_BrendanPokemonLeague
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
- goto LilycoveCity_EventScript_1E3006
+ goto LilycoveCity_EventScript_RivalFlyAway
end
-LilycoveCity_EventScript_1E2FE2:: @ 81E2FE2
- msgbox LilycoveCity_Text_1E3876, MSGBOX_DEFAULT
+LilycoveCity_EventScript_BrendanCollectBadges:: @ 81E2FE2
+ msgbox LilycoveCity_Text_BrendanYouGoingToCollectBadges, MSGBOX_DEFAULT
return
-LilycoveCity_EventScript_1E2FEB:: @ 81E2FEB
- goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FFD
- msgbox LilycoveCity_Text_1E390C, MSGBOX_DEFAULT
+LilycoveCity_EventScript_BrendanPokemonLeague:: @ 81E2FEB
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_BrendanBattleFrontier
+ msgbox LilycoveCity_Text_BrendanYouGoingToPokemonLeague, MSGBOX_DEFAULT
return
-LilycoveCity_EventScript_1E2FFD:: @ 81E2FFD
- msgbox LilycoveCity_Text_1E39E3, MSGBOX_DEFAULT
+LilycoveCity_EventScript_BrendanBattleFrontier:: @ 81E2FFD
+ msgbox LilycoveCity_Text_BrendanYouGoingToBattleFrontier, MSGBOX_DEFAULT
return
-LilycoveCity_EventScript_1E3006:: @ 81E3006
+LilycoveCity_EventScript_RivalFlyAway:: @ 81E3006
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 50
setfieldeffectargument 0, 1
@@ -401,26 +401,26 @@ LilycoveCity_EventScript_1E3006:: @ 81E3006
release
end
-LilycoveCity_EventScript_1E302D:: @ 81E302D
+LilycoveCity_EventScript_SchoolKidM:: @ 81E302D
lock
faceplayer
- msgbox LilycoveCity_Text_1E4774, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq LilycoveCity_EventScript_1E304F
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_EventScript_1E3058
+ msgbox LilycoveCity_Text_DoYouKnowAboutBerryBlender, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq LilycoveCity_EventScript_KnowAboutBerryBlender
+ compare VAR_RESULT, NO
+ call_if_eq LilycoveCity_EventScript_DontKnowAboutBerryBlender
release
end
-LilycoveCity_EventScript_1E304F:: @ 81E304F
- msgbox LilycoveCity_Text_1E47A1, MSGBOX_DEFAULT
+LilycoveCity_EventScript_KnowAboutBerryBlender:: @ 81E304F
+ msgbox LilycoveCity_Text_FasterSpinBetterPokeblocks, MSGBOX_DEFAULT
return
-LilycoveCity_EventScript_1E3058:: @ 81E3058
- msgbox LilycoveCity_Text_1E4824, MSGBOX_DEFAULT
+LilycoveCity_EventScript_DontKnowAboutBerryBlender:: @ 81E3058
+ msgbox LilycoveCity_Text_ExplainBerryBlender, MSGBOX_DEFAULT
return
-LilycoveCity_Text_1E3061: @ 81E3061
+LilycoveCity_Text_MayShoppingLetsBattle: @ 81E3061
.string "MAY: Oh, hey?\n"
.string "{PLAYER}{KUN}, are you shopping, too?\p"
.string "I bought a whole bunch of DOLLS and\n"
@@ -433,35 +433,35 @@ LilycoveCity_Text_1E3061: @ 81E3061
.string "I'll battle with you, so you can show\n"
.string "me your POKéMON, {PLAYER}{KUN}.$"
-LilycoveCity_Text_1E318D: @ 81E318D
+LilycoveCity_Text_MayNotRaisingPokemon: @ 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
+LilycoveCity_Text_MayBattleMe: @ 81E31F5
.string "MAY: Come on, battle with me, so I can\n"
.string "check out your POKéMON!$"
-LilycoveCity_Text_1E3234: @ 81E3234
+LilycoveCity_Text_MayWontBeBeaten: @ 81E3234
.string "MAY: The POKéMON I raised won't be\n"
.string "beaten by your POKéMON, {PLAYER}{KUN}!$"
-LilycoveCity_Text_1E3275: @ 81E3275
+LilycoveCity_Text_MayDefeat: @ 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
+LilycoveCity_Text_MayGoingBackToLittleroot: @ 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
+LilycoveCity_Text_MayYouGoingToCollectBadges: @ 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"
@@ -470,7 +470,7 @@ LilycoveCity_Text_1E3398: @ 81E3398
.string "POKéDEX. I'll complete it before you!\p"
.string "See you!$"
-LilycoveCity_Text_1E346D: @ 81E346D
+LilycoveCity_Text_MayYouGoingToPokemonLeague: @ 81E346D
.string "{PLAYER}{KUN}, what are you going to do?\p"
.string "Are you taking the POKéMON LEAGUE\n"
.string "challenge?\p"
@@ -480,7 +480,7 @@ LilycoveCity_Text_1E346D: @ 81E346D
.string "but I'll finish my POKéDEX before you!\p"
.string "See you!$"
-LilycoveCity_Text_1E353A: @ 81E353A
+LilycoveCity_Text_MayYouGoingToBattleFrontier: @ 81E353A
.string "{PLAYER}{KUN}, what are you going to do?\p"
.string "Are you taking the BATTLE FRONTIER\n"
.string "challenge?\p"
@@ -490,7 +490,7 @@ LilycoveCity_Text_1E353A: @ 81E353A
.string "but I'll finish my POKéDEX before you!\p"
.string "See you!$"
-LilycoveCity_Text_1E3608: @ 81E3608
+LilycoveCity_Text_BrendanShoppingLetsBattle: @ 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"
@@ -498,39 +498,39 @@ LilycoveCity_Text_1E3608: @ 81E3608
.string "Want to have a battle to see who's been\n"
.string "raising POKéMON better?$"
-LilycoveCity_Text_1E36BF: @ 81E36BF
+LilycoveCity_Text_BrendanNoConfidence: @ 81E36BF
.string "BRENDAN: Oh, what's the matter?\n"
.string "Don't have the confidence?$"
-LilycoveCity_Text_1E36FA: @ 81E36FA
+LilycoveCity_Text_BrendanBattleMe: @ 81E36FA
.string "BRENDAN: Want to battle to see who's\n"
.string "been raising POKéMON better?$"
-LilycoveCity_Text_1E373C: @ 81E373C
+LilycoveCity_Text_BrendanWontBeBeaten: @ 81E373C
.string "BRENDAN: Aww, but you know I'm not\n"
.string "going to lose to no {PLAYER}.$"
-LilycoveCity_Text_1E3777: @ 81E3777
+LilycoveCity_Text_BrendanDefeat: @ 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
+LilycoveCity_Text_BrendanGoingBackToLittleroot: @ 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
+LilycoveCity_Text_BrendanYouGoingToCollectBadges: @ 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
+LilycoveCity_Text_BrendanYouGoingToPokemonLeague: @ 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"
@@ -539,7 +539,7 @@ LilycoveCity_Text_1E390C: @ 81E390C
.string "you, {PLAYER}.\p"
.string "Well, anyway, hang in there!$"
-LilycoveCity_Text_1E39E3: @ 81E39E3
+LilycoveCity_Text_BrendanYouGoingToBattleFrontier: @ 81E39E3
.string "{PLAYER}, what are you going to do?\p"
.string "Are you taking the BATTLE FRONTIER\n"
.string "challenge?\p"
@@ -553,14 +553,14 @@ LilycoveCity_Text_1E39E3: @ 81E39E3
.string "FRONTIER.\p"
.string "Well, anyway, hang in there!$"
-LilycoveCity_Text_1E3B2C: @ 81E3B2C
+LilycoveCity_Text_MovedLootIntoHideoutToday: @ 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
+LilycoveCity_Text_ChanceToDoBigThings: @ 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"
@@ -568,44 +568,44 @@ LilycoveCity_Text_1E3B95: @ 81E3B95
.string "Wh-who are you?!\n"
.string "I was just talking to myself!$"
-LilycoveCity_Text_1E3C46: @ 81E3C46
+LilycoveCity_Text_DontGoNearCaveInCove: @ 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
+LilycoveCity_Text_IfWorldBecomesOurs: @ 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
+LilycoveCity_Text_WailmerLeapOutOfWater: @ 81E3D1F
.string "There! WAILMER!\n"
.string "Leap out of the water now!$"
-LilycoveCity_Text_1E3D4A: @ 81E3D4A
+LilycoveCity_Text_GetLostMessingUpTraining: @ 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
+LilycoveCity_Text_ContestHallInTown: @ 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
+LilycoveCity_Text_StrangeCaveInCove: @ 81E3E3C
.string "Have you seen that strange cave in\n"
.string "the cove at the edge of town?$"
-LilycoveCity_Text_1E3E7D: @ 81E3E7D
+LilycoveCity_Text_GoingToMoveDeleterForHMs: @ 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
+LilycoveCity_Text_ImFromKanto: @ 81E3F05
.string "I came from KANTO.\p"
.string "The HOENN region is beautiful with\n"
.string "all its water and verdant nature.\p"
@@ -613,50 +613,50 @@ LilycoveCity_Text_1E3F05: @ 81E3F05
.string "Could there be rare POKéMON that live\n"
.string "only in this area?$"
-LilycoveCity_Text_1E3FAB: @ 81E3FAB
+LilycoveCity_Text_TeamAquaBeenTrainingWailmer: @ 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
+LilycoveCity_Text_SomeonePuntedTeamAquaOut: @ 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
+LilycoveCity_Text_SomeoneStoleMyPokemon: @ 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
+LilycoveCity_Text_MissingPokemonCameBack: @ 81E4145
.string "My missing POKéMON…\n"
.string "It came back without me noticing!$"
-LilycoveCity_Text_1E417B: @ 81E417B
+LilycoveCity_Text_ImArtDealer: @ 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
+LilycoveCity_Text_SeaRemainsForeverYoung: @ 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
+LilycoveCity_Text_SixtyYearsAgoHusbandProposed: @ 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
+LilycoveCity_Text_TeamAquaRenovatedCavern: @ 81E42FC
.string "Hm, you know of the peculiar cavern\n"
.string "in this cove?\p"
.string "That had been a natural formation,\n"
@@ -667,92 +667,92 @@ LilycoveCity_Text_1E42FC: @ 81E42FC
.string "But what they do and what they say\n"
.string "don't match at all!$"
-LilycoveCity_Text_1E43FF: @ 81E43FF
+LilycoveCity_Text_TeamAquaLotGoneForGood: @ 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
+LilycoveCity_Text_CitySign: @ 81E448B
.string "LILYCOVE CITY\p"
.string "“Where the land ends and the\n"
.string "sea begins.”$"
-LilycoveCity_Text_1E44C3: @ 81E44C3
+LilycoveCity_Text_ContestHallSign: @ 81E44C3
.string "POKéMON CONTEST HALL\n"
.string "“The gathering place for TRAINERS!”$"
-LilycoveCity_Text_1E44FC: @ 81E44FC
+LilycoveCity_Text_MotelSign: @ 81E44FC
.string "COVE LILY MOTEL\p"
.string "“Remember us as COVE LILY of\n"
.string "LILYCOVE.”$"
-LilycoveCity_Text_1E4534: @ 81E4534
+LilycoveCity_Text_MuseumSign: @ 81E4534
.string "LILYCOVE MUSEUM\p"
.string "“POKéMON Masterpiece Collection\n"
.string "on exhibit!”$"
-LilycoveCity_Text_1E4571: @ 81E4571
+LilycoveCity_Text_MuseumSignPlayersExhibit: @ 81E4571
.string "LILYCOVE MUSEUM\p"
.string "“{PLAYER}'s POKéMON Collection\n"
.string "on exhibit!”$"
-LilycoveCity_Text_1E45A7: @ 81E45A7
+LilycoveCity_Text_HarborSignUnderConstruction: @ 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
+LilycoveCity_Text_HarborSign: @ 81E4624
.string "LILYCOVE CITY HARBOR\p"
.string "“Enjoy a delightful cruise on\n"
.string "the ferry S.S. TIDAL.”$"
-LilycoveCity_Text_1E466E: @ 81E466E
+LilycoveCity_Text_TrainerFanClubSign: @ 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
+LilycoveCity_Text_DepartmentStoreSign: @ 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
+LilycoveCity_Text_MoveDeletersHouseSign: @ 81E473D
.string "MOVE DELETER'S HOUSE\p"
.string "“Unwanted POKéMON moves deleted.”$"
-LilycoveCity_Text_1E4774: @ 81E4774
+LilycoveCity_Text_DoYouKnowAboutBerryBlender: @ 81E4774
.string "Do you know about the machine\n"
.string "BERRY BLENDER?$"
-LilycoveCity_Text_1E47A1: @ 81E47A1
+LilycoveCity_Text_FasterSpinBetterPokeblocks: @ 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
+LilycoveCity_Text_ExplainBerryBlender: @ 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
+LilycoveCity_Text_HeardTowerCalledSkyPillar: @ 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
+LilycoveCity_Text_SawTallTowerOnRoute131: @ 81E4902
.string "I saw this tall tower somewhere\n"
.string "around ROUTE 131.\p"
.string "Could that possibly be…?$"
-LilycoveCity_Text_1E494D: @ 81E494D
+LilycoveCity_Text_JustArrivedAndSawRarePokemon: @ 81E494D
.string "We just arrived here on our\n"
.string "honeymoon vacation.\p"
.string "We happened to see a DRAGON-type\n"
@@ -760,7 +760,7 @@ LilycoveCity_Text_1E494D: @ 81E494D
.string "Do cool POKéMON like that live in\n"
.string "the HOENN region?$"
-LilycoveCity_Text_1E49F4: @ 81E49F4
+LilycoveCity_Text_HoneymoonVowToSeeRarePokemon: @ 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"
diff --git a/data/maps/LilycoveCity_ContestHall/map.json b/data/maps/LilycoveCity_ContestHall/map.json
index 3522c7963..456c7eec8 100644
--- a/data/maps/LilycoveCity_ContestHall/map.json
+++ b/data/maps/LilycoveCity_ContestHall/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 4,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B485",
+ "script": "LilycoveCity_ContestHall_EventScript_Boy1",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B48E",
+ "script": "LilycoveCity_ContestHall_EventScript_Boy2",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B497",
+ "script": "LilycoveCity_ContestHall_EventScript_Girl",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B4A9",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestMC",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B4C0",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestJudge",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B4D7",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestant1",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B4EE",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestant2",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B505",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestant3",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B51C",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestant4",
"flag": "0"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B533",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience1",
"flag": "0"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B56A",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience4",
"flag": "0"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B53C",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience2",
"flag": "0"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B581",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestMC",
"flag": "0"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B598",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestJudge",
"flag": "0"
},
{
@@ -206,7 +206,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B5AF",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant1",
"flag": "0"
},
{
@@ -219,7 +219,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B5C6",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant2",
"flag": "0"
},
{
@@ -232,7 +232,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B5DD",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant3",
"flag": "0"
},
{
@@ -245,7 +245,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B5F4",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestant4",
"flag": "0"
},
{
@@ -258,7 +258,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B60B",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestAudience1",
"flag": "0"
},
{
@@ -271,7 +271,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B639",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestAudience3",
"flag": "0"
},
{
@@ -284,7 +284,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B622",
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyContestAudience2",
"flag": "0"
},
{
@@ -297,7 +297,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B553",
+ "script": "LilycoveCity_ContestHall_EventScript_SmartContestAudience3",
"flag": "0"
},
{
@@ -310,7 +310,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B650",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestMC",
"flag": "0"
},
{
@@ -323,7 +323,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B667",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestJudge",
"flag": "0"
},
{
@@ -336,7 +336,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B67E",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestant1",
"flag": "0"
},
{
@@ -349,7 +349,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B695",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestant2",
"flag": "0"
},
{
@@ -362,7 +362,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B6AC",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestant3",
"flag": "0"
},
{
@@ -375,7 +375,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B6C3",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestant4",
"flag": "0"
},
{
@@ -388,7 +388,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B6DA",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestAudience1",
"flag": "0"
},
{
@@ -401,7 +401,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B71C",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestAudience3",
"flag": "0"
},
{
@@ -414,7 +414,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B705",
+ "script": "LilycoveCity_ContestHall_EventScript_CuteContestAudience2",
"flag": "0"
},
{
@@ -427,7 +427,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestHall_EventScript_21B4A0",
+ "script": "LilycoveCity_ContestHall_EventScript_Sailor",
"flag": "0"
}
],
@@ -469,7 +469,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestHall_EventScript_21B733"
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyStageSign"
},
{
"type": "sign",
@@ -477,7 +477,7 @@
"y": 28,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestHall_EventScript_21B73C"
+ "script": "LilycoveCity_ContestHall_EventScript_CuteStageSign"
},
{
"type": "sign",
@@ -485,7 +485,7 @@
"y": 28,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestHall_EventScript_21B745"
+ "script": "LilycoveCity_ContestHall_EventScript_SmartStageSign"
},
{
"type": "sign",
@@ -493,7 +493,7 @@
"y": 28,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestHall_EventScript_21B745"
+ "script": "LilycoveCity_ContestHall_EventScript_SmartStageSign"
},
{
"type": "sign",
@@ -501,7 +501,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestHall_EventScript_21B733"
+ "script": "LilycoveCity_ContestHall_EventScript_BeautyStageSign"
},
{
"type": "sign",
@@ -509,7 +509,7 @@
"y": 28,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestHall_EventScript_21B73C"
+ "script": "LilycoveCity_ContestHall_EventScript_CuteStageSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_ContestHall/scripts.inc b/data/maps/LilycoveCity_ContestHall/scripts.inc
index 5823b6da4..fb98c72f6 100644
--- a/data/maps/LilycoveCity_ContestHall/scripts.inc
+++ b/data/maps/LilycoveCity_ContestHall/scripts.inc
@@ -1,319 +1,319 @@
LilycoveCity_ContestHall_MapScripts:: @ 821B484
.byte 0
-LilycoveCity_ContestHall_EventScript_21B485:: @ 821B485
- msgbox LilycoveCity_ContestHall_Text_21B74E, MSGBOX_NPC
+LilycoveCity_ContestHall_EventScript_Boy1:: @ 821B485
+ msgbox LilycoveCity_ContestHall_Text_TodayWonSmartnessContest, MSGBOX_NPC
end
-LilycoveCity_ContestHall_EventScript_21B48E:: @ 821B48E
- msgbox LilycoveCity_ContestHall_Text_21B7D7, MSGBOX_NPC
+LilycoveCity_ContestHall_EventScript_Boy2:: @ 821B48E
+ msgbox LilycoveCity_ContestHall_Text_EnteredBunchOfContests, MSGBOX_NPC
end
-LilycoveCity_ContestHall_EventScript_21B497:: @ 821B497
- msgbox LilycoveCity_ContestHall_Text_21B899, MSGBOX_NPC
+LilycoveCity_ContestHall_EventScript_Girl:: @ 821B497
+ msgbox LilycoveCity_ContestHall_Text_ManWhoWonEarlierHadPokeblocks, MSGBOX_NPC
end
-LilycoveCity_ContestHall_EventScript_21B4A0:: @ 821B4A0
- msgbox LilycoveCity_ContestHall_Text_21B911, MSGBOX_NPC
+LilycoveCity_ContestHall_EventScript_Sailor:: @ 821B4A0
+ msgbox LilycoveCity_ContestHall_Text_IsntThisPlaceHumongous, MSGBOX_NPC
end
-LilycoveCity_ContestHall_EventScript_21B4A9:: @ 821B4A9
+LilycoveCity_ContestHall_EventScript_SmartContestMC:: @ 821B4A9
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21B977, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_GiveItBestSmartAppeal, MSGBOX_DEFAULT
closemessage
applymovement 4, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B4C0:: @ 821B4C0
+LilycoveCity_ContestHall_EventScript_SmartContestJudge:: @ 821B4C0
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21B9DC, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_AreYouEnjoyingThisContest, MSGBOX_DEFAULT
closemessage
applymovement 5, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B4D7:: @ 821B4D7
+LilycoveCity_ContestHall_EventScript_SmartContestant1:: @ 821B4D7
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BA44, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_EnteredWrongContest, MSGBOX_DEFAULT
closemessage
applymovement 6, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B4EE:: @ 821B4EE
+LilycoveCity_ContestHall_EventScript_SmartContestant2:: @ 821B4EE
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BAD5, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_RaisedMonToBeSmart, MSGBOX_DEFAULT
closemessage
applymovement 7, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B505:: @ 821B505
+LilycoveCity_ContestHall_EventScript_SmartContestant3:: @ 821B505
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BB84, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_IfMonPullsSmartMoveNext, MSGBOX_DEFAULT
closemessage
applymovement 8, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B51C:: @ 821B51C
+LilycoveCity_ContestHall_EventScript_SmartContestant4:: @ 821B51C
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BBDD, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_DontAppreciateCuteLeechLife, MSGBOX_DEFAULT
closemessage
applymovement 9, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B533:: @ 821B533
- msgbox LilycoveCity_ContestHall_Text_21BC65, MSGBOX_SIGN
+LilycoveCity_ContestHall_EventScript_SmartContestAudience1:: @ 821B533
+ msgbox LilycoveCity_ContestHall_Text_YoureBeautifulGrandpa, MSGBOX_SIGN
end
-LilycoveCity_ContestHall_EventScript_21B53C:: @ 821B53C
+LilycoveCity_ContestHall_EventScript_SmartContestAudience2:: @ 821B53C
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BC89, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_AllSeemToUseDifferentMoves, MSGBOX_DEFAULT
closemessage
applymovement 12, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B553:: @ 821B553
+LilycoveCity_ContestHall_EventScript_SmartContestAudience3:: @ 821B553
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BD30, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_PokemonSmarterThanTrainers, MSGBOX_DEFAULT
closemessage
applymovement 22, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B56A:: @ 821B56A
+LilycoveCity_ContestHall_EventScript_SmartContestAudience4:: @ 821B56A
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BD70, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_StillLoveSmartnessContests, MSGBOX_DEFAULT
closemessage
applymovement 11, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B581:: @ 821B581
+LilycoveCity_ContestHall_EventScript_BeautyContestMC:: @ 821B581
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BDDD, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_AreYouEnteringBeautyContest, MSGBOX_DEFAULT
closemessage
applymovement 13, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B598:: @ 821B598
+LilycoveCity_ContestHall_EventScript_BeautyContestJudge:: @ 821B598
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BE16, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_EveryPokemonPristineBeauty, MSGBOX_DEFAULT
closemessage
applymovement 14, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B5AF:: @ 821B5AF
+LilycoveCity_ContestHall_EventScript_BeautyContestant1:: @ 821B5AF
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BE77, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_EyesWillBeGluedToMyBeauty, MSGBOX_DEFAULT
closemessage
applymovement 15, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B5C6:: @ 821B5C6
+LilycoveCity_ContestHall_EventScript_BeautyContestant2:: @ 821B5C6
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BEDE, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_OverdidGrooming, MSGBOX_DEFAULT
closemessage
applymovement 16, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B5DD:: @ 821B5DD
+LilycoveCity_ContestHall_EventScript_BeautyContestant3:: @ 821B5DD
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BF6E, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_JudgeWontSeeAuroraBeam, MSGBOX_DEFAULT
closemessage
applymovement 17, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B5F4:: @ 821B5F4
+LilycoveCity_ContestHall_EventScript_BeautyContestant4:: @ 821B5F4
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BFE3, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_PokemonLooksLikeYoungerMe, MSGBOX_DEFAULT
closemessage
applymovement 18, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B60B:: @ 821B60B
+LilycoveCity_ContestHall_EventScript_BeautyContestAudience1:: @ 821B60B
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C07F, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_WinBeautyContestMakesMeHappy, MSGBOX_DEFAULT
closemessage
applymovement 19, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B622:: @ 821B622
+LilycoveCity_ContestHall_EventScript_BeautyContestAudience2:: @ 821B622
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C0D8, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_GanderAtAllThosePrettyPokemon, MSGBOX_DEFAULT
closemessage
applymovement 21, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B639:: @ 821B639
+LilycoveCity_ContestHall_EventScript_BeautyContestAudience3:: @ 821B639
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C137, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_CantWinOnBeautyAlone, MSGBOX_DEFAULT
closemessage
applymovement 20, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B650:: @ 821B650
+LilycoveCity_ContestHall_EventScript_CuteContestMC:: @ 821B650
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C1A4, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_InTheMiddleOfContest, MSGBOX_DEFAULT
closemessage
applymovement 23, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B667:: @ 821B667
+LilycoveCity_ContestHall_EventScript_CuteContestJudge:: @ 821B667
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C215, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_SuchCharmingCuteAppeals, MSGBOX_DEFAULT
closemessage
applymovement 24, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B67E:: @ 821B67E
+LilycoveCity_ContestHall_EventScript_CuteContestant1:: @ 821B67E
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C27F, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_MyAzurillWasDistracted, MSGBOX_DEFAULT
closemessage
applymovement 25, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B695:: @ 821B695
+LilycoveCity_ContestHall_EventScript_CuteContestant2:: @ 821B695
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C2BB, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_NeverWonBattleButContest, MSGBOX_DEFAULT
closemessage
applymovement 26, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B6AC:: @ 821B6AC
+LilycoveCity_ContestHall_EventScript_CuteContestant3:: @ 821B6AC
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C307, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_PetalDanceIsMarvel, MSGBOX_DEFAULT
closemessage
applymovement 27, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B6C3:: @ 821B6C3
+LilycoveCity_ContestHall_EventScript_CuteContestant4:: @ 821B6C3
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C365, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_MyMonAppealSoMuchCuter, MSGBOX_DEFAULT
closemessage
applymovement 28, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B6DA:: @ 821B6DA
+LilycoveCity_ContestHall_EventScript_CuteContestAudience1:: @ 821B6DA
lockall
applymovement 29, Common_Movement_FacePlayer
waitmovement 0
- msgbox LilycoveCity_ContestHall_Text_21C3F4, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_MyChildIsInContest, MSGBOX_DEFAULT
closemessage
applymovement 29, Common_Movement_FaceOriginalDirection
waitmovement 0
delay 25
- msgbox LilycoveCity_ContestHall_Text_21C411, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_ComeOnDear, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_ContestHall_EventScript_21B705:: @ 821B705
+LilycoveCity_ContestHall_EventScript_CuteContestAudience2:: @ 821B705
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C4B1, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_WantCuteMonOfMyOwn, MSGBOX_DEFAULT
closemessage
applymovement 31, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B71C:: @ 821B71C
+LilycoveCity_ContestHall_EventScript_CuteContestAudience3:: @ 821B71C
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C445, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestHall_Text_ThatGirlThereIsCutest, MSGBOX_DEFAULT
closemessage
applymovement 30, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestHall_EventScript_21B733:: @ 821B733
- msgbox LilycoveCity_ContestHall_Text_21C512, MSGBOX_SIGN
+LilycoveCity_ContestHall_EventScript_BeautyStageSign:: @ 821B733
+ msgbox LilycoveCity_ContestHall_Text_BeautyContestStage, MSGBOX_SIGN
end
-LilycoveCity_ContestHall_EventScript_21B73C:: @ 821B73C
- msgbox LilycoveCity_ContestHall_Text_21C548, MSGBOX_SIGN
+LilycoveCity_ContestHall_EventScript_CuteStageSign:: @ 821B73C
+ msgbox LilycoveCity_ContestHall_Text_CuteContestStage, MSGBOX_SIGN
end
-LilycoveCity_ContestHall_EventScript_21B745:: @ 821B745
- msgbox LilycoveCity_ContestHall_Text_21C57B, MSGBOX_SIGN
+LilycoveCity_ContestHall_EventScript_SmartStageSign:: @ 821B745
+ msgbox LilycoveCity_ContestHall_Text_SmartContestStage, MSGBOX_SIGN
end
-LilycoveCity_ContestHall_Text_21B74E: @ 821B74E
+LilycoveCity_ContestHall_Text_TodayWonSmartnessContest: @ 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
+LilycoveCity_ContestHall_Text_EnteredBunchOfContests: @ 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"
@@ -321,29 +321,29 @@ LilycoveCity_ContestHall_Text_21B7D7: @ 821B7D7
.string "But smart moves and cute moves\n"
.string "don't go over well, for instance.$"
-LilycoveCity_ContestHall_Text_21B899: @ 821B899
+LilycoveCity_ContestHall_Text_ManWhoWonEarlierHadPokeblocks: @ 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
+LilycoveCity_ContestHall_Text_IsntThisPlaceHumongous: @ 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
+LilycoveCity_ContestHall_Text_GiveItBestSmartAppeal: @ 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
+LilycoveCity_ContestHall_Text_AreYouEnjoyingThisContest: @ 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
+LilycoveCity_ContestHall_Text_EnteredWrongContest: @ 821BA44
.string "Ayayayay…\n"
.string "I entered the wrong CONTEST.\p"
.string "I entered this tough POKéMON in\n"
@@ -351,7 +351,7 @@ LilycoveCity_ContestHall_Text_21BA44: @ 821BA44
.string "Come on, wow them with a smart-looking\n"
.string "ROCK SMASH.$"
-LilycoveCity_ContestHall_Text_21BAD5: @ 821BAD5
+LilycoveCity_ContestHall_Text_RaisedMonToBeSmart: @ 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"
@@ -359,54 +359,54 @@ LilycoveCity_ContestHall_Text_21BAD5: @ 821BAD5
.string "young pup's POKéMON.\p"
.string "My dear wife, are you seeing this?$"
-LilycoveCity_ContestHall_Text_21BB84: @ 821BB84
+LilycoveCity_ContestHall_Text_IfMonPullsSmartMoveNext: @ 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
+LilycoveCity_ContestHall_Text_DontAppreciateCuteLeechLife: @ 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
+LilycoveCity_ContestHall_Text_YoureBeautifulGrandpa: @ 821BC65
.string "Kiyaaah! You're beautiful, Grandpa!$"
-LilycoveCity_ContestHall_Text_21BC89: @ 821BC89
+LilycoveCity_ContestHall_Text_AllSeemToUseDifferentMoves: @ 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
+LilycoveCity_ContestHall_Text_PokemonSmarterThanTrainers: @ 821BD30
.string "I think the POKéMON look smarter\n"
.string "than their TRAINERS. By a lot.$"
-LilycoveCity_ContestHall_Text_21BD70: @ 821BD70
+LilycoveCity_ContestHall_Text_StillLoveSmartnessContests: @ 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
+LilycoveCity_ContestHall_Text_AreYouEnteringBeautyContest: @ 821BDDD
.string "MC: Are you entering the BEAUTY\n"
.string "CONTEST, too? Good luck!$"
-LilycoveCity_ContestHall_Text_21BE16: @ 821BE16
+LilycoveCity_ContestHall_Text_EveryPokemonPristineBeauty: @ 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
+LilycoveCity_ContestHall_Text_EyesWillBeGluedToMyBeauty: @ 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
+LilycoveCity_ContestHall_Text_OverdidGrooming: @ 821BEDE
.string "Waaaah!\p"
.string "I brushed and groomed my POKéMON\n"
.string "carefully for this CONTEST…\p"
@@ -414,96 +414,96 @@ LilycoveCity_ContestHall_Text_21BEDE: @ 821BEDE
.string "My POKéMON's coat turned all scraggly…\p"
.string "What should I do?$"
-LilycoveCity_ContestHall_Text_21BF6E: @ 821BF6E
+LilycoveCity_ContestHall_Text_JudgeWontSeeAuroraBeam: @ 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
+LilycoveCity_ContestHall_Text_PokemonLooksLikeYoungerMe: @ 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
+LilycoveCity_ContestHall_Text_WinBeautyContestMakesMeHappy: @ 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
+LilycoveCity_ContestHall_Text_GanderAtAllThosePrettyPokemon: @ 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
+LilycoveCity_ContestHall_Text_CantWinOnBeautyAlone: @ 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
+LilycoveCity_ContestHall_Text_InTheMiddleOfContest: @ 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
+LilycoveCity_ContestHall_Text_SuchCharmingCuteAppeals: @ 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
+LilycoveCity_ContestHall_Text_MyAzurillWasDistracted: @ 821C27F
.string "Oh, no… My sweet AZURILL was\n"
.string "distracted by another POKéMON.$"
-LilycoveCity_ContestHall_Text_21C2BB: @ 821C2BB
+LilycoveCity_ContestHall_Text_NeverWonBattleButContest: @ 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
+LilycoveCity_ContestHall_Text_PetalDanceIsMarvel: @ 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
+LilycoveCity_ContestHall_Text_MyMonAppealSoMuchCuter: @ 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
+LilycoveCity_ContestHall_Text_MyChildIsInContest: @ 821C3F4
.string "My child is in this CONTEST.$"
-LilycoveCity_ContestHall_Text_21C411: @ 821C411
+LilycoveCity_ContestHall_Text_ComeOnDear: @ 821C411
.string "Come on, dear. Go for it!\n"
.string "Your POKéMON is the best!$"
-LilycoveCity_ContestHall_Text_21C445: @ 821C445
+LilycoveCity_ContestHall_Text_ThatGirlThereIsCutest: @ 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
+LilycoveCity_ContestHall_Text_WantCuteMonOfMyOwn: @ 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
+LilycoveCity_ContestHall_Text_BeautyContestStage: @ 821C512
.string "BEAUTY CONTEST STAGE\n"
.string "BE ALLURED BY BEAUTIFUL POKéMON!$"
-LilycoveCity_ContestHall_Text_21C548: @ 821C548
+LilycoveCity_ContestHall_Text_CuteContestStage: @ 821C548
.string "CUTENESS CONTEST STAGE\n"
.string "BE CHARMED BY CUTE POKéMON!$"
-LilycoveCity_ContestHall_Text_21C57B: @ 821C57B
+LilycoveCity_ContestHall_Text_SmartContestStage: @ 821C57B
.string "SMARTNESS CONTEST STAGE\n"
.string "BE IMPRESSED BY SMART POKéMON!$"
diff --git a/data/maps/LilycoveCity_ContestLobby/map.json b/data/maps/LilycoveCity_ContestLobby/map.json
index 3cbb48f21..744ed4174 100644
--- a/data/maps/LilycoveCity_ContestLobby/map.json
+++ b/data/maps/LilycoveCity_ContestLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A554",
+ "script": "LilycoveCity_ContestLobby_EventScript_ContestReceptionist",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A806",
+ "script": "LilycoveCity_ContestLobby_EventScript_LinkContestReceptionist",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_293FA2",
+ "script": "BerryBlender_EventScript_Blender2Man",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A708",
+ "script": "LilycoveCity_ContestLobby_EventScript_BlackBelt",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A711",
+ "script": "LilycoveCity_ContestLobby_EventScript_Girl",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A71A",
+ "script": "LilycoveCity_ContestLobby_EventScript_Artist",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_28CA59",
+ "script": "LilycoveCity_ContestLobby_EventScript_Reporter",
"flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A768",
+ "script": "LilycoveCity_ContestLobby_EventScript_Blender3Boy",
"flag": "0"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_293FB4",
+ "script": "BerryBlender_EventScript_Blender2Twin",
"flag": "0"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A72C",
+ "script": "LilycoveCity_ContestLobby_EventScript_Fisherman",
"flag": "0"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A723",
+ "script": "LilycoveCity_ContestLobby_EventScript_FatMan",
"flag": "0"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A735",
+ "script": "LilycoveCity_ContestLobby_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -206,7 +206,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_293FAB",
+ "script": "BerryBlender_EventScript_Blender3PokefanF",
"flag": "0"
},
{
@@ -219,8 +219,8 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_293FBD",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT"
+ "script": "BerryBlender_EventScript_Blender1ExpertM",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT"
},
{
"graphics_id": "EVENT_OBJ_GFX_GIRL_1",
@@ -232,7 +232,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A771",
+ "script": "LilycoveCity_ContestLobby_EventScript_Blender3Girl",
"flag": "0"
},
{
@@ -245,8 +245,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A7B3",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS"
+ "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker2",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER"
},
{
"graphics_id": "EVENT_OBJ_GFX_CAMPER",
@@ -258,8 +258,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A7BE",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS"
+ "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker3",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER"
},
{
"graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL",
@@ -271,8 +271,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A7C9",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS"
+ "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker4",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER"
},
{
"graphics_id": "EVENT_OBJ_GFX_SCIENTIST_2",
@@ -284,8 +284,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A7D9",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS"
+ "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker5",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER"
},
{
"graphics_id": "EVENT_OBJ_GFX_WOMAN_1",
@@ -297,8 +297,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A7E9",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS"
+ "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker6",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER"
},
{
"graphics_id": "EVENT_OBJ_GFX_NINJA_BOY",
@@ -310,8 +310,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A7A8",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS"
+ "script": "LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker1",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER"
},
{
"graphics_id": "EVENT_OBJ_GFX_OLD_MAN",
@@ -323,8 +323,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21A798",
- "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS"
+ "script": "LilycoveCity_ContestLobby_EventScript_BlendMaster",
+ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER"
},
{
"graphics_id": "EVENT_OBJ_GFX_LITTLE_GIRL",
@@ -336,7 +336,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_ContestLobby_EventScript_21ACF1",
+ "script": "LilycoveCity_ContestLobby_EventScript_LittleGirl",
"flag": "0"
}
],
@@ -378,7 +378,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "EventScript_PblockLink"
+ "script": "BerryBlender_EventScript_BerryBlenderLink"
},
{
"type": "sign",
@@ -386,7 +386,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_293E1E"
+ "script": "BerryBlender_EventScript_BerryBlender3"
},
{
"type": "sign",
@@ -394,7 +394,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A753"
+ "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner4"
},
{
"type": "sign",
@@ -402,7 +402,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A75A"
+ "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner5"
},
{
"type": "sign",
@@ -410,7 +410,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A761"
+ "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner6"
},
{
"type": "sign",
@@ -418,7 +418,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A77A"
+ "script": "LilycoveCity_ContestLobby_EventScript_BerryBlenderSpeedRecords"
},
{
"type": "sign",
@@ -426,7 +426,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A73E"
+ "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner1"
},
{
"type": "sign",
@@ -434,7 +434,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A745"
+ "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner2"
},
{
"type": "sign",
@@ -442,7 +442,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A74C"
+ "script": "LilycoveCity_ContestLobby_EventScript_ContestWinner3"
},
{
"type": "sign",
@@ -450,7 +450,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "EventScript_Pblock1_Ask"
+ "script": "BerryBlender_EventScript_BerryBlender1"
},
{
"type": "sign",
@@ -458,7 +458,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_293D4D"
+ "script": "BerryBlender_EventScript_BerryBlender2"
},
{
"type": "sign",
@@ -466,7 +466,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_ContestLobby_EventScript_21A784"
+ "script": "LilycoveCity_ContestLobby_EventScript_LinkContestResults"
}
]
} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc
index cd4749bfc..3dd3259c7 100644
--- a/data/maps/LilycoveCity_ContestLobby/scripts.inc
+++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc
@@ -1,164 +1,166 @@
LilycoveCity_ContestLobby_MapScripts:: @ 821A211
map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_ContestLobby_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_ContestLobby_MapScript2_21A243
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_ContestLobby_OnFrame
.byte 0
+@ Some scripts for this room are split into data/scripts/contest_hall and data/scripts/berry_blender
+
LilycoveCity_ContestLobby_OnTransition: @ 821A21C
- call LilycoveCity_ContestLobby_EventScript_28CB2B
- call LilycoveCity_ContestLobby_EventScript_21A227
+ call LilycoveCity_ContestLobby_EventScript_TryShowContestReporter
+ call LilycoveCity_ContestLobby_EventScript_TryShowBlendMaster
end
-LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227
- getpricereduction 4
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A23C
- clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT
- setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+LilycoveCity_ContestLobby_EventScript_TryShowBlendMaster:: @ 821A227
+ getpricereduction POKENEWS_BLENDMASTER
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_ShowBlendMaster
+ clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER
return
-LilycoveCity_ContestLobby_EventScript_21A23C:: @ 821A23C
- setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT
- clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+LilycoveCity_ContestLobby_EventScript_ShowBlendMaster:: @ 821A23C
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT
+ clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER
return
-LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243
- map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1, LilycoveCity_ContestLobby_EventScript_21A255
- map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 2, LilycoveCity_ContestLobby_EventScript_21A427
+LilycoveCity_ContestLobby_OnFrame: @ 821A243
+ map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1, LilycoveCity_ContestLobby_EventScript_TryDoContestArtist
+ map_script_2 VAR_LILYCOVE_CONTEST_LOBBY_STATE, 2, LilycoveCity_ContestLobby_EventScript_TryDoLinkContestArtist
.2byte 0
-LilycoveCity_ContestLobby_EventScript_21A255:: @ 821A255
- goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A264
+LilycoveCity_ContestLobby_EventScript_TryDoContestArtist:: @ 821A255
+ goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_ContestArtist
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
end
-LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264
+LilycoveCity_ContestLobby_EventScript_ContestArtist:: @ 821A264
lockall
addobject 4
- applymovement 4, LilycoveCity_ContestLobby_Movement_21A407
+ applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistApproachPlayer
waitmovement 4
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A418
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceArtist
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint, MSGBOX_DEFAULT
lockall
- fadescreen 1
- drawcontestwinner 0
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 0
lockall
- msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2E4
+ msgbox LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA
- msgbox LilycoveCity_ContestLobby_Text_21AF63, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum:: @ 821A2AA
+ msgbox LilycoveCity_ContestLobby_Text_IllTakePaintingToMuseum, MSGBOX_DEFAULT
closemessage
- special sub_80F88DC
+ special SaveMuseumContestPainting
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
specialvar VAR_RESULT, GiveMonArtistRibbon
- compare VAR_RESULT, 1
- call_if_eq LilycoveCity_ContestLobby_EventScript_21A314
- applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
+ compare VAR_RESULT, TRUE
+ call_if_eq LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon
+ applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistExit
waitmovement 0
removeobject 4
- call LilycoveCity_ContestLobby_EventScript_21A360
- call LilycoveCity_ContestLobby_EventScript_21A3B6
+ call LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons
+ call LilycoveCity_ContestLobby_EventScript_SetPaintingFlag
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A2E4:: @ 821A2E4
- msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA
- msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting:: @ 821A2E4
+ msgbox LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum
+ msgbox LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs, MSGBOX_DEFAULT
closemessage
- applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
+ applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistExit
waitmovement 0
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
removeobject 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A314:: @ 821A314
- incrementgamestat 42
- special sub_80F8390
- applymovement 4, LilycoveCity_ContestLobby_Movement_21A41A
+LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon:: @ 821A314
+ incrementgamestat GAME_STAT_RECEIVED_RIBBONS
+ special BufferContestWinnerMonName
+ applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistBeginToExit
waitmovement 0
playse SE_PIN
applymovement 4, Common_Movement_ExclamationMark
waitmovement 0
- applymovement 4, LilycoveCity_ContestLobby_Movement_21A41E
+ applymovement 4, LilycoveCity_ContestLobby_Movement_ArtistReturnToPlayer
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21B030, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_TakeMementoOfPainting, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- msgbox LilycoveCity_ContestLobby_Text_21B07E, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_ReceivedARibbon, MSGBOX_DEFAULT
waitfanfare
- msgbox LilycoveCity_ContestLobby_Text_21B094, MSGBOX_DEFAULT
- msgbox LilycoveCity_ContestLobby_Text_21B0AD, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_PutTheRibbonOnMon, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_OkaySeeYou, MSGBOX_DEFAULT
closemessage
return
-LilycoveCity_ContestLobby_EventScript_21A360:: @ 821A360
+LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons:: @ 821A360
specialvar VAR_0x8004, CountPlayerContestPaintings
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
+ case 1, LilycoveCity_ContestLobby_EventScript_ShowPatron1
+ case 2, LilycoveCity_ContestLobby_EventScript_ShowPatron2
+ case 3, LilycoveCity_ContestLobby_EventScript_ShowPatron3
+ case 4, LilycoveCity_ContestLobby_EventScript_ShowPatron4
+ case 5, LilycoveCity_ContestLobby_EventScript_ShowTourists
return
-LilycoveCity_ContestLobby_EventScript_21A3A2:: @ 821A3A2
+LilycoveCity_ContestLobby_EventScript_ShowPatron1:: @ 821A3A2
clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1
return
-LilycoveCity_ContestLobby_EventScript_21A3A6:: @ 821A3A6
+LilycoveCity_ContestLobby_EventScript_ShowPatron2:: @ 821A3A6
clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2
return
-LilycoveCity_ContestLobby_EventScript_21A3AA:: @ 821A3AA
+LilycoveCity_ContestLobby_EventScript_ShowPatron3:: @ 821A3AA
clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3
return
-LilycoveCity_ContestLobby_EventScript_21A3AE:: @ 821A3AE
+LilycoveCity_ContestLobby_EventScript_ShowPatron4:: @ 821A3AE
clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4
return
-LilycoveCity_ContestLobby_EventScript_21A3B2:: @ 821A3B2
+LilycoveCity_ContestLobby_EventScript_ShowTourists:: @ 821A3B2
clearflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
return
-LilycoveCity_ContestLobby_EventScript_21A3B6:: @ 821A3B6
+LilycoveCity_ContestLobby_EventScript_SetPaintingFlag:: @ 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
+ case CONTEST_CATEGORY_COOL, LilycoveCity_ContestLobby_EventScript_MadeCoolPainting
+ case CONTEST_CATEGORY_BEAUTY, LilycoveCity_ContestLobby_EventScript_MadeBeautyPainting
+ case CONTEST_CATEGORY_CUTE, LilycoveCity_ContestLobby_EventScript_MadeCutePainting
+ case CONTEST_CATEGORY_SMART, LilycoveCity_ContestLobby_EventScript_MadeSmartPainting
+ case CONTEST_CATEGORY_TOUGH, LilycoveCity_ContestLobby_EventScript_MadeToughPainting
return
-LilycoveCity_ContestLobby_EventScript_21A3F3:: @ 821A3F3
+LilycoveCity_ContestLobby_EventScript_MadeCoolPainting:: @ 821A3F3
setflag FLAG_COOL_PAINTING_MADE
return
-LilycoveCity_ContestLobby_EventScript_21A3F7:: @ 821A3F7
+LilycoveCity_ContestLobby_EventScript_MadeBeautyPainting:: @ 821A3F7
setflag FLAG_BEAUTY_PAINTING_MADE
return
-LilycoveCity_ContestLobby_EventScript_21A3FB:: @ 821A3FB
+LilycoveCity_ContestLobby_EventScript_MadeCutePainting:: @ 821A3FB
setflag FLAG_CUTE_PAINTING_MADE
return
-LilycoveCity_ContestLobby_EventScript_21A3FF:: @ 821A3FF
+LilycoveCity_ContestLobby_EventScript_MadeSmartPainting:: @ 821A3FF
setflag FLAG_SMART_PAINTING_MADE
return
-LilycoveCity_ContestLobby_EventScript_21A403:: @ 821A403
+LilycoveCity_ContestLobby_EventScript_MadeToughPainting:: @ 821A403
setflag FLAG_TOUGH_PAINTING_MADE
return
-LilycoveCity_ContestLobby_Movement_21A407: @ 821A407
+LilycoveCity_ContestLobby_Movement_ArtistApproachPlayer: @ 821A407
walk_down
walk_down
walk_down
@@ -168,7 +170,7 @@ LilycoveCity_ContestLobby_Movement_21A407: @ 821A407
walk_right
step_end
-LilycoveCity_ContestLobby_Movement_21A40F: @ 821A40F
+LilycoveCity_ContestLobby_Movement_ArtistExit: @ 821A40F
walk_down
walk_down
walk_down
@@ -179,17 +181,17 @@ LilycoveCity_ContestLobby_Movement_21A40F: @ 821A40F
walk_down
step_end
-LilycoveCity_ContestLobby_Movement_21A418: @ 821A418
+LilycoveCity_ContestLobby_Movement_PlayerFaceArtist: @ 821A418
walk_in_place_fastest_left
step_end
-LilycoveCity_ContestLobby_Movement_21A41A: @ 821A41A
+LilycoveCity_ContestLobby_Movement_ArtistBeginToExit: @ 821A41A
walk_down
walk_down
walk_down
step_end
-LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E
+LilycoveCity_ContestLobby_Movement_ArtistReturnToPlayer: @ 821A41E
delay_16
delay_16
delay_16
@@ -200,79 +202,79 @@ LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E
walk_in_place_fastest_right
step_end
-LilycoveCity_ContestLobby_EventScript_21A427:: @ 821A427
- goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A436
+LilycoveCity_ContestLobby_EventScript_TryDoLinkContestArtist:: @ 821A427
+ goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_LinkContestArtist
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
end
-LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436
+LilycoveCity_ContestLobby_EventScript_LinkContestArtist:: @ 821A436
lockall
addobject 11
- applymovement 11, LilycoveCity_ContestLobby_Movement_21A533
+ applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistApproachPlayer
waitmovement 11
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A545
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceLinkArtist
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint, MSGBOX_DEFAULT
lockall
- fadescreen 1
- drawcontestwinner 0
- msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A4B4
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 0
+ msgbox LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink
end
-LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A
- msgbox LilycoveCity_ContestLobby_Text_21AF63, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink:: @ 821A47A
+ msgbox LilycoveCity_ContestLobby_Text_IllTakePaintingToMuseum, MSGBOX_DEFAULT
closemessage
- special sub_80F88DC
+ special SaveMuseumContestPainting
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
specialvar VAR_RESULT, GiveMonArtistRibbon
- compare VAR_RESULT, 1
- call_if_eq LilycoveCity_ContestLobby_EventScript_21A4E4
- applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
+ compare VAR_RESULT, TRUE
+ call_if_eq LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon
+ applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistExit
waitmovement 0
removeobject 11
- call LilycoveCity_ContestLobby_EventScript_21A360
- call LilycoveCity_ContestLobby_EventScript_21A3B6
+ call LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons
+ call LilycoveCity_ContestLobby_EventScript_SetPaintingFlag
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A4B4:: @ 821A4B4
- msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A
- msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink:: @ 821A4B4
+ msgbox LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink
+ msgbox LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs, MSGBOX_DEFAULT
closemessage
- applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
+ applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistExit
waitmovement 0
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
removeobject 11
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A4E4:: @ 821A4E4
- incrementgamestat 42
+LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon:: @ 821A4E4
+ incrementgamestat GAME_STAT_RECEIVED_RIBBONS
setflag FLAG_SYS_RIBBON_GET
- special sub_80F8390
- applymovement 11, LilycoveCity_ContestLobby_Movement_21A547
+ special BufferContestWinnerMonName
+ applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistBeginExit
waitmovement 0
playse SE_PIN
applymovement 11, Common_Movement_ExclamationMark
waitmovement 0
- applymovement 11, LilycoveCity_ContestLobby_Movement_21A54B
+ applymovement 11, LilycoveCity_ContestLobby_Movement_LinkArtistReturnToPlayer
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21B030, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_TakeMementoOfPainting, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- msgbox LilycoveCity_ContestLobby_Text_21B07E, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_ReceivedARibbon, MSGBOX_DEFAULT
waitfanfare
- msgbox LilycoveCity_ContestLobby_Text_21B094, MSGBOX_DEFAULT
- msgbox LilycoveCity_ContestLobby_Text_21B0AD, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_PutTheRibbonOnMon, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_OkaySeeYou, MSGBOX_DEFAULT
closemessage
return
-LilycoveCity_ContestLobby_Movement_21A533: @ 821A533
+LilycoveCity_ContestLobby_Movement_LinkArtistApproachPlayer: @ 821A533
walk_down
walk_down
walk_down
@@ -283,7 +285,7 @@ LilycoveCity_ContestLobby_Movement_21A533: @ 821A533
walk_left
step_end
-LilycoveCity_ContestLobby_Movement_21A53C: @ 821A53C
+LilycoveCity_ContestLobby_Movement_LinkArtistExit: @ 821A53C
walk_down
walk_down
walk_down
@@ -294,17 +296,17 @@ LilycoveCity_ContestLobby_Movement_21A53C: @ 821A53C
walk_down
step_end
-LilycoveCity_ContestLobby_Movement_21A545: @ 821A545
+LilycoveCity_ContestLobby_Movement_PlayerFaceLinkArtist: @ 821A545
walk_in_place_fastest_right
step_end
-LilycoveCity_ContestLobby_Movement_21A547: @ 821A547
+LilycoveCity_ContestLobby_Movement_LinkArtistBeginExit: @ 821A547
walk_down
walk_down
walk_down
step_end
-LilycoveCity_ContestLobby_Movement_21A54B: @ 821A54B
+LilycoveCity_ContestLobby_Movement_LinkArtistReturnToPlayer: @ 821A54B
delay_16
delay_16
delay_16
@@ -315,122 +317,124 @@ LilycoveCity_ContestLobby_Movement_21A54B: @ 821A54B
walk_in_place_fastest_left
step_end
-LilycoveCity_ContestLobby_EventScript_21A554:: @ 821A554
- special sub_80F9154
- specialvar VAR_RESULT, sub_80F8D24
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A5CF
- call LilycoveCity_ContestLobby_EventScript_279CC5
- call LilycoveCity_ContestLobby_EventScript_21A670
+@ EventScript_SpeakToContestReceptionist either ends or returns after a contest entry is submitted
+LilycoveCity_ContestLobby_EventScript_ContestReceptionist:: @ 821A554
+ special ClearLinkContestFlags
+ specialvar VAR_RESULT, IsContestDebugActive @ Always FALSE
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_SetDebug
+ call LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist
+ call LilycoveCity_ContestLobby_EventScript_LeadToContestHall
special SetContestTrainerGfxIds
- call LilycoveCity_ContestLobby_EventScript_23BEB6
- call LilycoveCity_ContestLobby_EventScript_21A585
- call LilycoveCity_ContestLobby_EventScript_21A5EF
+ call LilycoveCity_ContestLobby_EventScript_SetPlayerGfx
+ call LilycoveCity_ContestLobby_EventScript_SetContestType
+ call LilycoveCity_ContestLobby_EventScript_WarpToContestHall
waitstate
end
-LilycoveCity_ContestLobby_EventScript_21A585:: @ 821A585
+LilycoveCity_ContestLobby_EventScript_SetContestType:: @ 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
+ case CONTEST_RANK_NORMAL, LilycoveCity_ContestLobby_EventScript_SetNormalContestType
+ case CONTEST_RANK_SUPER, LilycoveCity_ContestLobby_EventScript_SetSuperContestType
+ case CONTEST_RANK_HYPER, LilycoveCity_ContestLobby_EventScript_SetHyperContestType
+ case CONTEST_RANK_MASTER, LilycoveCity_ContestLobby_EventScript_SetMasterContestType
return
-LilycoveCity_ContestLobby_EventScript_21A5B7:: @ 821A5B7
- setvar VAR_CONTEST_LOCATION, 1
+LilycoveCity_ContestLobby_EventScript_SetNormalContestType:: @ 821A5B7
+ setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL
return
-LilycoveCity_ContestLobby_EventScript_21A5BD:: @ 821A5BD
- setvar VAR_CONTEST_LOCATION, 2
+LilycoveCity_ContestLobby_EventScript_SetSuperContestType:: @ 821A5BD
+ setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER
return
-LilycoveCity_ContestLobby_EventScript_21A5C3:: @ 821A5C3
- setvar VAR_CONTEST_LOCATION, 3
+LilycoveCity_ContestLobby_EventScript_SetHyperContestType:: @ 821A5C3
+ setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_HYPER
return
-LilycoveCity_ContestLobby_EventScript_21A5C9:: @ 821A5C9
- setvar VAR_CONTEST_LOCATION, 4
+LilycoveCity_ContestLobby_EventScript_SetMasterContestType:: @ 821A5C9
+ setvar VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_MASTER
return
-LilycoveCity_ContestLobby_EventScript_21A5CF:: @ 821A5CF
+@ Functionally unused
+LilycoveCity_ContestLobby_EventScript_SetDebug:: @ 821A5CF
setflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
- copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 0x1
- giveitem ITEM_CONTEST_PASS, 1
+ copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1
+ additem ITEM_CONTEST_PASS
setvar VAR_0x800B, 8
- setvar VAR_CONTEST_RANK, 3
+ setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1
setflag FLAG_SYS_RIBBON_GET
end
-LilycoveCity_ContestLobby_EventScript_21A5EF:: @ 821A5EF
- setflag FLAG_ENTERED_LINK_CONTEST
+LilycoveCity_ContestLobby_EventScript_WarpToContestHall:: @ 821A5EF
+ setflag FLAG_ENTERED_CONTEST
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
+ case CONTEST_CATEGORY_COOL, LilycoveCity_ContestLobby_EventScript_WarpToCoolContestHall
+ case CONTEST_CATEGORY_BEAUTY, LilycoveCity_ContestLobby_EventScript_WarpToBeautyContestHall
+ case CONTEST_CATEGORY_CUTE, LilycoveCity_ContestLobby_EventScript_WarpToCuteContestHall
+ case CONTEST_CATEGORY_SMART, LilycoveCity_ContestLobby_EventScript_WarpToSmartContestHall
+ case CONTEST_CATEGORY_TOUGH, LilycoveCity_ContestLobby_EventScript_WarpToToughContestHall
return
-LilycoveCity_ContestLobby_EventScript_21A62F:: @ 821A62F
- setwarp MAP_LINK_CONTEST_ROOM4, 255, 7, 5
- special sub_80AFC60
+LilycoveCity_ContestLobby_EventScript_WarpToCoolContestHall:: @ 821A62F
+ setwarp MAP_CONTEST_HALL_COOL, 255, 7, 5
+ special DoContestHallWarp
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21A63C:: @ 821A63C
- setwarp MAP_LINK_CONTEST_ROOM2, 255, 7, 5
- special sub_80AFC60
+LilycoveCity_ContestLobby_EventScript_WarpToBeautyContestHall:: @ 821A63C
+ setwarp MAP_CONTEST_HALL_BEAUTY, 255, 7, 5
+ special DoContestHallWarp
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21A649:: @ 821A649
- setwarp MAP_LINK_CONTEST_ROOM6, 255, 7, 5
- special sub_80AFC60
+LilycoveCity_ContestLobby_EventScript_WarpToCuteContestHall:: @ 821A649
+ setwarp MAP_CONTEST_HALL_CUTE, 255, 7, 5
+ special DoContestHallWarp
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21A656:: @ 821A656
- setwarp MAP_LINK_CONTEST_ROOM5, 255, 7, 5
- special sub_80AFC60
+LilycoveCity_ContestLobby_EventScript_WarpToSmartContestHall:: @ 821A656
+ setwarp MAP_CONTEST_HALL_SMART, 255, 7, 5
+ special DoContestHallWarp
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21A663:: @ 821A663
- setwarp MAP_LINK_CONTEST_ROOM3, 255, 7, 5
- special sub_80AFC60
+LilycoveCity_ContestLobby_EventScript_WarpToToughContestHall:: @ 821A663
+ setwarp MAP_CONTEST_HALL_TOUGH, 255, 7, 5
+ special DoContestHallWarp
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670
+LilycoveCity_ContestLobby_EventScript_LeadToContestHall:: @ 821A670
lockall
- applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F5
+ applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistApproachCounter
waitmovement 0
playse SE_HASHI
setmetatile 12, 2, METATILE_Contest_WallShadow, 1
setmetatile 12, 3, METATILE_Contest_FloorShadow, 1
special DrawWholeMapView
- applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F9
+ applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistExitCounter
waitmovement 0
playse SE_HASHI
setmetatile 12, 2, METATILE_Contest_CounterFlap_Top, 1
setmetatile 12, 3, METATILE_Contest_CounterFlap_Bottom, 1
special DrawWholeMapView
delay 20
- applymovement 1, LilycoveCity_ContestLobby_Movement_21A706
+ applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistFacePlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6F2
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachReceptionist
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_27B653, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_ComeThroughHere, MSGBOX_DEFAULT
closemessage
- applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6E8
+ applymovement 1, LilycoveCity_ContestLobby_Movement_ReceptionistWalkToContestHall
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToContestHall
waitmovement 0
releaseall
return
-LilycoveCity_ContestLobby_Movement_21A6E8: @ 821A6E8
+LilycoveCity_ContestLobby_Movement_PlayerWalkToContestHall: @ 821A6E8
walk_left
walk_left
walk_left
@@ -442,24 +446,24 @@ LilycoveCity_ContestLobby_Movement_21A6E8: @ 821A6E8
set_invisible
step_end
-LilycoveCity_ContestLobby_Movement_21A6F2: @ 821A6F2
+LilycoveCity_ContestLobby_Movement_PlayerApproachReceptionist: @ 821A6F2
walk_in_place_fastest_left
walk_left
step_end
-LilycoveCity_ContestLobby_Movement_21A6F5: @ 821A6F5
+LilycoveCity_ContestLobby_Movement_ReceptionistApproachCounter: @ 821A6F5
walk_left
walk_left
walk_in_place_fastest_down
step_end
-LilycoveCity_ContestLobby_Movement_21A6F9: @ 821A6F9
+LilycoveCity_ContestLobby_Movement_ReceptionistExitCounter: @ 821A6F9
walk_down
walk_down
walk_in_place_fastest_up
step_end
-LilycoveCity_ContestLobby_Movement_21A6FD: @ 821A6FD
+LilycoveCity_ContestLobby_Movement_ReceptionistWalkToContestHall: @ 821A6FD
walk_left
walk_left
walk_left
@@ -470,85 +474,85 @@ LilycoveCity_ContestLobby_Movement_21A6FD: @ 821A6FD
set_invisible
step_end
-LilycoveCity_ContestLobby_Movement_21A706: @ 821A706
+LilycoveCity_ContestLobby_Movement_ReceptionistFacePlayer: @ 821A706
walk_in_place_fastest_right
step_end
-LilycoveCity_ContestLobby_EventScript_21A708:: @ 821A708
- msgbox LilycoveCity_ContestLobby_Text_21B1B1, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_BlackBelt:: @ 821A708
+ msgbox LilycoveCity_ContestLobby_Text_MasterRankHereICome, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A711:: @ 821A711
- msgbox LilycoveCity_ContestLobby_Text_21B24D, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_Girl:: @ 821A711
+ msgbox LilycoveCity_ContestLobby_Text_WholeVarietyOfPokemonHere, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A71A:: @ 821A71A
- msgbox LilycoveCity_ContestLobby_Text_21B2BA, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_Artist:: @ 821A71A
+ msgbox LilycoveCity_ContestLobby_Text_ContestFeastForEyes, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A723:: @ 821A723
- msgbox LilycoveCity_ContestLobby_Text_21B334, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_FatMan:: @ 821A723
+ msgbox LilycoveCity_ContestLobby_Text_ToughContestIsExtreme, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A72C:: @ 821A72C
- msgbox LilycoveCity_ContestLobby_Text_21B392, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_Fisherman:: @ 821A72C
+ msgbox LilycoveCity_ContestLobby_Text_LavishedCareOnMon, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A735:: @ 821A735
- msgbox LilycoveCity_ContestLobby_Text_21B3FC, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_NinjaBoy:: @ 821A735
+ msgbox LilycoveCity_ContestLobby_Text_MadePokeblocksWithFamily, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A73E:: @ 821A73E
+LilycoveCity_ContestLobby_EventScript_ContestWinner1:: @ 821A73E
lockall
- fadescreen 1
- drawcontestwinner 1
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 1
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A745:: @ 821A745
+LilycoveCity_ContestLobby_EventScript_ContestWinner2:: @ 821A745
lockall
- fadescreen 1
- drawcontestwinner 2
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 2
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A74C:: @ 821A74C
+LilycoveCity_ContestLobby_EventScript_ContestWinner3:: @ 821A74C
lockall
- fadescreen 1
- drawcontestwinner 3
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 3
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A753:: @ 821A753
+LilycoveCity_ContestLobby_EventScript_ContestWinner4:: @ 821A753
lockall
- fadescreen 1
- drawcontestwinner 4
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A75A:: @ 821A75A
+LilycoveCity_ContestLobby_EventScript_ContestWinner5:: @ 821A75A
lockall
- fadescreen 1
- drawcontestwinner 5
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 5
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A761:: @ 821A761
+LilycoveCity_ContestLobby_EventScript_ContestWinner6:: @ 821A761
lockall
- fadescreen 1
- drawcontestwinner 6
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 6
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A768:: @ 821A768
- msgbox LilycoveCity_ContestLobby_Text_2931AA, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_Blender3Boy:: @ 821A768
+ msgbox BerryBlender_Text_LetsGetBlendingAlready, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A771:: @ 821A771
- msgbox LilycoveCity_ContestLobby_Text_2931C6, MSGBOX_NPC
+LilycoveCity_ContestLobby_EventScript_Blender3Girl:: @ 821A771
+ msgbox BerryBlender_Text_WhatKindOfPokeblockWillIGet, MSGBOX_NPC
end
-LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A
+LilycoveCity_ContestLobby_EventScript_BerryBlenderSpeedRecords:: @ 821A77A
lockall
special ShowBerryBlenderRecordWindow
waitbuttonpress
@@ -556,407 +560,405 @@ LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A784:: @ 821A784
+LilycoveCity_ContestLobby_EventScript_LinkContestResults:: @ 821A784
lockall
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 7
- special CallFrontierUtilFunc
+ frontier_results FACILITY_LINK_CONTEST
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
-LilycoveCity_ContestLobby_EventScript_21A798:: @ 821A798
+LilycoveCity_ContestLobby_EventScript_BlendMaster:: @ 821A798
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C427C, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ msgbox BerryBlender_Text_BlendWithTheBlendMaster, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection
end
-LilycoveCity_ContestLobby_EventScript_21A7A8:: @ 821A7A8
+LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker1:: @ 821A7A8
lock
- msgbox LilycoveCity_ContestLobby_Text_2C464B, MSGBOX_DEFAULT
+ msgbox BerryBlender_Text_WhoaAwesome, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_21A7B3:: @ 821A7B3
+LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker2:: @ 821A7B3
lock
- msgbox LilycoveCity_ContestLobby_Text_2C465A, MSGBOX_DEFAULT
+ msgbox BerryBlender_Text_WickedlyFast, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_21A7BE:: @ 821A7BE
+LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker3:: @ 821A7BE
lock
- msgbox LilycoveCity_ContestLobby_Text_2C4669, MSGBOX_DEFAULT
+ msgbox BerryBlender_Text_WhatAnExpert, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_21A7C9:: @ 821A7C9
+LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker4:: @ 821A7C9
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C4679, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ msgbox BerryBlender_Text_MadeAmazingPokeblocksWithMaster, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection
end
-LilycoveCity_ContestLobby_EventScript_21A7D9:: @ 821A7D9
+LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker5:: @ 821A7D9
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C46B1, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ msgbox BerryBlender_Text_QualitiesOfBlendMaster, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection
end
-LilycoveCity_ContestLobby_EventScript_21A7E9:: @ 821A7E9
+LilycoveCity_ContestLobby_EventScript_BlendMasterOnlooker6:: @ 821A7E9
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C4763, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ msgbox BerryBlender_Text_MasterWorksOnSkillsInMountains, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection
end
-LilycoveCity_ContestLobby_EventScript_21A7F9:: @ 821A7F9
+LilycoveCity_ContestLobby_EventScript_FaceOriginalDirection:: @ 821A7F9
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_ContestLobby_EventScript_21A806:: @ 821A806
- special sub_80F9154
+LilycoveCity_ContestLobby_EventScript_LinkContestReceptionist:: @ 821A806
+ special ClearLinkContestFlags
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_27C063, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A819
+ msgbox LilycoveCity_ContestLobby_Text_LinkContestReception, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21A819:: @ 821A819
- message LilycoveCity_ContestLobby_Text_27C0F6
+LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest:: @ 821A819
+ message LilycoveCity_ContestLobby_Text_EnterContest3
waitmessage
- multichoice 0, 0, 2, 0
+ multichoice 0, 0, MULTI_ENTERINFO, 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
+ case 0, LilycoveCity_ContestLobby_EventScript_TryEnterLinkContest
+ case 1, LilycoveCity_ContestLobby_EventScript_LinkContestInfo
+ case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856
- msgbox LilycoveCity_ContestLobby_Text_27BD17, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
+LilycoveCity_ContestLobby_EventScript_TryEnterLinkContest:: @ 821A856
+ msgbox LilycoveCity_ContestLobby_Text_ProgressWillBeSaved, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
- message LilycoveCity_ContestLobby_Text_27C8FD
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ message LilycoveCity_ContestLobby_Text_WhichContestMode
waitmessage
specialvar VAR_TEMP_D, IsWirelessAdapterConnected
- multichoice 0, 0, 85, 0
+ multichoice 0, 0, MULTI_LINK_CONTEST_MODE, 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
+ case 0, LilycoveCity_ContestLobby_EventScript_EmeraldMode @ Shortened to E-Mode
+ case 1, LilycoveCity_ContestLobby_EventScript_GlobalMode @ Shortened to G-Mode
+ case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21A8BB:: @ 821A8BB
+LilycoveCity_ContestLobby_EventScript_EmeraldMode:: @ 821A8BB
setvar VAR_TEMP_C, 0
- goto LilycoveCity_ContestLobby_EventScript_21A8DC
+ goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestType
end
-LilycoveCity_ContestLobby_EventScript_21A8C6:: @ 821A8C6
+LilycoveCity_ContestLobby_EventScript_GlobalMode:: @ 821A8C6
setvar VAR_TEMP_C, 1
compare VAR_TEMP_D, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAFC
- goto LilycoveCity_ContestLobby_EventScript_21A8DC
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkNoWirelessGMode
+ goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestType
end
-LilycoveCity_ContestLobby_EventScript_21A8DC:: @ 821A8DC
- message LilycoveCity_ContestLobby_Text_27C119
+LilycoveCity_ContestLobby_EventScript_ChooseLinkContestType:: @ 821A8DC
+ message LilycoveCity_ContestLobby_Text_EnterWhichContest3
waitmessage
- multichoice 0, 0, 4, 0
+ multichoice 0, 0, MULTI_CONTEST_TYPE, 0
switch VAR_RESULT
- case 5, LilycoveCity_ContestLobby_EventScript_21A97F
- case 127, LilycoveCity_ContestLobby_EventScript_21A97F
+ case CONTEST_CATEGORIES_COUNT, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
copyvar VAR_CONTEST_CATEGORY, VAR_RESULT
- goto LilycoveCity_ContestLobby_EventScript_21A98C
+ goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon
end
-LilycoveCity_ContestLobby_EventScript_21A90D:: @ 821A90D
- message LilycoveCity_ContestLobby_Text_27C0DA
+LilycoveCity_ContestLobby_EventScript_LinkContestInfo:: @ 821A90D
+ message LilycoveCity_ContestLobby_Text_WhichTopic2
waitmessage
- multichoice 0, 0, 84, 0
+ multichoice 0, 0, MULTI_LINK_CONTEST_INFO, 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
+ case 0, LilycoveCity_ContestLobby_EventScript_ExplainLinkContest
+ case 1, LilycoveCity_ContestLobby_EventScript_ExplainEMode
+ case 2, LilycoveCity_ContestLobby_EventScript_ExplainGMode
+ case 3, LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21A955:: @ 821A955
- msgbox LilycoveCity_ContestLobby_Text_27C340, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A90D
+LilycoveCity_ContestLobby_EventScript_ExplainLinkContest:: @ 821A955
+ msgbox LilycoveCity_ContestLobby_Text_ExplainLinkContest, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_LinkContestInfo
end
-LilycoveCity_ContestLobby_EventScript_21A963:: @ 821A963
- msgbox LilycoveCity_ContestLobby_Text_27C5B1, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A90D
+LilycoveCity_ContestLobby_EventScript_ExplainEMode:: @ 821A963
+ msgbox LilycoveCity_ContestLobby_Text_ExplainEMode, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_LinkContestInfo
end
-LilycoveCity_ContestLobby_EventScript_21A971:: @ 821A971
- msgbox LilycoveCity_ContestLobby_Text_27C742, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A90D
+LilycoveCity_ContestLobby_EventScript_ExplainGMode:: @ 821A971
+ msgbox LilycoveCity_ContestLobby_Text_ExplainGMode, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_LinkContestInfo
end
-LilycoveCity_ContestLobby_EventScript_21A97F:: @ 821A97F
+LilycoveCity_ContestLobby_EventScript_CancelLinkContest:: @ 821A97F
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27BD4F, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_ParticipateAnotherTime, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C
- msgbox LilycoveCity_ContestLobby_Text_27C1C3, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon:: @ 821A98C
+ msgbox LilycoveCity_ContestLobby_Text_EnterWhichPokemon3, MSGBOX_DEFAULT
setvar VAR_CONTEST_RANK, 0
choosecontestmon
compare VAR_0x8004, 255
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
- special sub_80F7F30
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9E0
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A
- compare VAR_RESULT, 2
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A
- compare VAR_RESULT, 3
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9EE
- compare VAR_RESULT, 4
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9FC
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ special TryEnterContestMon
+ compare VAR_RESULT, CANT_ENTER_CONTEST
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterLowRank
+ compare VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest
+ compare VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest
+ compare VAR_RESULT, CANT_ENTER_CONTEST_EGG
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterEgg
+ compare VAR_RESULT, CANT_ENTER_CONTEST_FAINTED
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterFainted
end
-LilycoveCity_ContestLobby_EventScript_21A9E0:: @ 821A9E0
- msgbox LilycoveCity_ContestLobby_Text_27B471, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A98C
+LilycoveCity_ContestLobby_EventScript_LinkCantEnterLowRank:: @ 821A9E0
+ msgbox LilycoveCity_ContestLobby_Text_MonNotQualifiedForRank, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon
end
-LilycoveCity_ContestLobby_EventScript_21A9EE:: @ 821A9EE
- msgbox LilycoveCity_ContestLobby_Text_27C186, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A98C
+LilycoveCity_ContestLobby_EventScript_LinkCantEnterEgg:: @ 821A9EE
+ msgbox LilycoveCity_ContestLobby_Text_EggCannotTakePart2, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon
end
-LilycoveCity_ContestLobby_EventScript_21A9FC:: @ 821A9FC
- msgbox LilycoveCity_ContestLobby_Text_27C140, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A98C
+LilycoveCity_ContestLobby_EventScript_LinkCantEnterFainted:: @ 821A9FC
+ msgbox LilycoveCity_ContestLobby_Text_MonInNoCondition2, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon
end
-LilycoveCity_ContestLobby_EventScript_21AA0A:: @ 821AA0A
+LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest:: @ 821AA0A
copyvar VAR_0x8008, VAR_0x8004
- goto LilycoveCity_ContestLobby_EventScript_21AA15
+ goto LilycoveCity_ContestLobby_EventScript_TrySetUpLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21AA15:: @ 821AA15
+LilycoveCity_ContestLobby_EventScript_TrySetUpLinkContest:: @ 821AA15
compare VAR_TEMP_D, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AB4B
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupType
compare VAR_TEMP_D, 2
- goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F
- message LilycoveCity_ContestLobby_Text_27BF85
+ goto_if_ge LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ message LilycoveCity_ContestLobby_Text_PleaseWaitBButtonCancel
waitmessage
copyvar VAR_0x8004, VAR_RESULT
compare VAR_TEMP_C, 0
- call_if_eq LilycoveCity_ContestLobby_EventScript_21AABB
+ call_if_eq LilycoveCity_ContestLobby_EventScript_TryLinkEMode
compare VAR_TEMP_C, 1
- call_if_eq LilycoveCity_ContestLobby_EventScript_21AAC0
+ call_if_eq LilycoveCity_ContestLobby_EventScript_TryLinkGMode
compare VAR_TEMP_C, 2
- goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_ge LilycoveCity_ContestLobby_EventScript_CancelLinkContest
compare VAR_RESULT, 4
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
compare VAR_RESULT, 3
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
compare VAR_RESULT, 5
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
compare VAR_RESULT, 6
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAEF
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkError
compare VAR_RESULT, 10
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAE1
- message3 LilycoveCity_ContestLobby_Text_27BEEC
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkModeDifference
+ message3 LilycoveCity_ContestLobby_Text_Transmitting
contestlinktransfer
switch VAR_0x8004
- case 0, LilycoveCity_ContestLobby_EventScript_21AB17
- case 1, LilycoveCity_ContestLobby_EventScript_21AAC5
- case 2, LilycoveCity_ContestLobby_EventScript_21AB09
+ case 0, LilycoveCity_ContestLobby_EventScript_StartLinkContest
+ case 1, LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentContest
+ case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkTransmissionError
end
-LilycoveCity_ContestLobby_EventScript_21AABB:: @ 821AABB
- special sub_80B3028
+LilycoveCity_ContestLobby_EventScript_TryLinkEMode:: @ 821AABB
+ special TryContestEModeLinkup
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21AAC0:: @ 821AAC0
- special sub_80B3000
+LilycoveCity_ContestLobby_EventScript_TryLinkGMode:: @ 821AAC0
+ special TryContestGModeLinkup
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21AAC5:: @ 821AAC5
- msgbox LilycoveCity_ContestLobby_Text_27BF0E, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A97F
+LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentContest:: @ 821AAC5
+ msgbox LilycoveCity_ContestLobby_Text_PlayersChoseDifferentContest, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21AAD3:: @ 821AAD3
- msgbox LilycoveCity_ContestLobby_Text_27BF4B, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A97F
+LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices:: @ 821AAD3
+ msgbox LilycoveCity_ContestLobby_Text_PlayersMadeDifferentChoice, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21AAE1:: @ 821AAE1
- msgbox LilycoveCity_ContestLobby_Text_27C254, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A97F
+LilycoveCity_ContestLobby_EventScript_CancelLinkModeDifference:: @ 821AAE1
+ msgbox LilycoveCity_ContestLobby_Text_PlayerAt4PCounterUseGMode, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF
+LilycoveCity_ContestLobby_EventScript_CancelLinkError:: @ 821AAEF
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT
+ msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_21AAFC:: @ 821AAFC
+LilycoveCity_ContestLobby_EventScript_CancelLinkNoWirelessGMode:: @ 821AAFC
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27C879, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_NoWirelessAdapterInGMode, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_21AB09:: @ 821AB09
- msgbox LilycoveCity_ContestLobby_Text_27BEFA, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_21A97F
+LilycoveCity_ContestLobby_EventScript_CancelLinkTransmissionError:: @ 821AB09
+ msgbox LilycoveCity_ContestLobby_Text_TransmissionError, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_CancelLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21AB17:: @ 821AB17
- special sub_80F84B0
+LilycoveCity_ContestLobby_EventScript_StartLinkContest:: @ 821AB17
+ special GetContestPlayerId
addvar VAR_0x8004, 1
buffernumberstring 1, VAR_0x8004
- messageautoscroll LilycoveCity_ContestLobby_Text_27BFF8
+ messageautoscroll LilycoveCity_ContestLobby_Text_YourMonIsEntryNumX
waitmessage
subvar VAR_0x8004, 1
- call LilycoveCity_ContestLobby_EventScript_21AC49
- setvar VAR_LINK_CONTEST_ROOM_STATE, 1
- special sub_80F8AFC
- setvar VAR_CONTEST_LOCATION, 5
- setvar VAR_CONTEST_RANK, 3
- call LilycoveCity_ContestLobby_EventScript_21A5EF
- end
-
-LilycoveCity_ContestLobby_EventScript_21AB4B:: @ 821AB4B
- compare VAR_CONTEST_CATEGORY, 0
- call_if_eq LilycoveCity_ContestLobby_EventScript_21AB88
- compare VAR_CONTEST_CATEGORY, 1
- call_if_eq LilycoveCity_ContestLobby_EventScript_21AB8E
- compare VAR_CONTEST_CATEGORY, 2
- call_if_eq LilycoveCity_ContestLobby_EventScript_21AB94
- compare VAR_CONTEST_CATEGORY, 3
- call_if_eq LilycoveCity_ContestLobby_EventScript_21AB9A
- compare VAR_CONTEST_CATEGORY, 4
- call_if_eq LilycoveCity_ContestLobby_EventScript_21ABA0
- goto LilycoveCity_ContestLobby_EventScript_21ABA6
- end
-
-LilycoveCity_ContestLobby_EventScript_21AB88:: @ 821AB88
- setvar VAR_0x8004, 15
+ call LilycoveCity_ContestLobby_EventScript_LeadToLinkContestHall
+ setvar VAR_CONTEST_HALL_STATE, 1
+ special SetLinkContestPlayerGfx
+ setvar VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER
+ call LilycoveCity_ContestLobby_EventScript_WarpToContestHall
+ end
+
+LilycoveCity_ContestLobby_EventScript_SetLinkGroupType:: @ 821AB4B
+ compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_COOL
+ call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupCoolContest
+ compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_BEAUTY
+ call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupBeautyContest
+ compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_CUTE
+ call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupCuteContest
+ compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_SMART
+ call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupSmartContest
+ compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_TOUGH
+ call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupToughContest
+ goto LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
+ end
+
+LilycoveCity_ContestLobby_EventScript_SetLinkGroupCoolContest:: @ 821AB88
+ setvar VAR_0x8004, LINK_GROUP_COOL_CONTEST
return
-LilycoveCity_ContestLobby_EventScript_21AB8E:: @ 821AB8E
- setvar VAR_0x8004, 16
+LilycoveCity_ContestLobby_EventScript_SetLinkGroupBeautyContest:: @ 821AB8E
+ setvar VAR_0x8004, LINK_GROUP_BEAUTY_CONTEST
return
-LilycoveCity_ContestLobby_EventScript_21AB94:: @ 821AB94
- setvar VAR_0x8004, 17
+LilycoveCity_ContestLobby_EventScript_SetLinkGroupCuteContest:: @ 821AB94
+ setvar VAR_0x8004, LINK_GROUP_CUTE_CONTEST
return
-LilycoveCity_ContestLobby_EventScript_21AB9A:: @ 821AB9A
- setvar VAR_0x8004, 18
+LilycoveCity_ContestLobby_EventScript_SetLinkGroupSmartContest:: @ 821AB9A
+ setvar VAR_0x8004, LINK_GROUP_SMART_CONTEST
return
-LilycoveCity_ContestLobby_EventScript_21ABA0:: @ 821ABA0
- setvar VAR_0x8004, 19
+LilycoveCity_ContestLobby_EventScript_SetLinkGroupToughContest:: @ 821ABA0
+ setvar VAR_0x8004, LINK_GROUP_TOUGH_CONTEST
return
-LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6
- message Text_DecideLinkLeader
+LilycoveCity_ContestLobby_EventScript_DecideLinkLeader:: @ 821ABA6
+ message LilycoveCity_ContestLobby_Text_PleaseDecideLinkLeader
waitmessage
- multichoice 16, 6, 81, 0
+ multichoice 16, 6, MULTI_LINK_LEADER, 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
+ case 0, LilycoveCity_ContestLobby_EventScript_TryJoinGroup
+ case 1, LilycoveCity_ContestLobby_EventScript_TryLeadGroup
+ case 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21ABE3:: @ 821ABE3
- call LilycoveCity_ContestLobby_EventScript_21AC33
+LilycoveCity_ContestLobby_EventScript_TryLeadGroup:: @ 821ABE3
+ call LilycoveCity_ContestLobby_EventScript_TryBecomeLinkLeader
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
compare VAR_RESULT, 5
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
compare VAR_RESULT, 8
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABE3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_TryLeadGroup
release
end
-LilycoveCity_ContestLobby_EventScript_21AC0B:: @ 821AC0B
- call LilycoveCity_ContestLobby_EventScript_21AC38
+LilycoveCity_ContestLobby_EventScript_TryJoinGroup:: @ 821AC0B
+ call LilycoveCity_ContestLobby_EventScript_TryJoinLinkGroup
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
compare VAR_RESULT, 5
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
compare VAR_RESULT, 8
- goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC0B
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_TryJoinGroup
release
end
-LilycoveCity_ContestLobby_EventScript_21AC33:: @ 821AC33
- special BerryBlenderLinkBecomeLeader
+LilycoveCity_ContestLobby_EventScript_TryBecomeLinkLeader:: @ 821AC33
+ special TryBecomeLinkLeader
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21AC38:: @ 821AC38
- special BerryBlenderLinkJoinGroup
+LilycoveCity_ContestLobby_EventScript_TryJoinLinkGroup:: @ 821AC38
+ special TryJoinLinkGroup
waitstate
return
-LilycoveCity_ContestLobby_EventScript_21AC3D:: @ 821AC3D
- message3 LilycoveCity_ContestLobby_Text_27BEEC
+LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided:: @ 821AC3D
+ message3 LilycoveCity_ContestLobby_Text_Transmitting
contestlinktransfer
- goto LilycoveCity_ContestLobby_EventScript_21AB17
+ goto LilycoveCity_ContestLobby_EventScript_StartLinkContest
end
-LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49
- messageautoscroll LilycoveCity_ContestLobby_Text_27C043
+LilycoveCity_ContestLobby_EventScript_LeadToLinkContestHall:: @ 821AC49
+ messageautoscroll LilycoveCity_ContestLobby_Text_ContestBeginShortly
waitmessage
delay 20
closemessage
- applymovement 2, LilycoveCity_ContestLobby_Movement_21ACDD
+ applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistApproachCounter
waitmovement 0
playse SE_HASHI
setmetatile 17, 2, METATILE_Contest_WallShadow, 1
setmetatile 17, 3, METATILE_Contest_FloorShadow, 1
special DrawWholeMapView
- applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE1
+ applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistExitCounter
waitmovement 0
playse SE_HASHI
setmetatile 17, 2, METATILE_Contest_CounterFlap_Top, 1
setmetatile 17, 3, METATILE_Contest_CounterFlap_Bottom, 1
special DrawWholeMapView
delay 20
- applymovement 2, LilycoveCity_ContestLobby_Movement_21ACEF
+ applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistFacePlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACDB
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachLinkReceptionist
waitmovement 0
- messageautoscroll LilycoveCity_ContestLobby_Text_27B653
+ messageautoscroll LilycoveCity_ContestLobby_Text_ComeThroughHere
waitmessage
delay 20
closemessage
- call LilycoveCity_ContestLobby_EventScript_27AD92
- applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE5
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACD0
+ call LilycoveCity_ContestLobby_EventScript_DelayIfContestWithRSPlayer
+ applymovement 2, LilycoveCity_ContestLobby_Movement_LinkReceptionistWalkToContestHall
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToLinkContestHall
waitmovement 0
release
return
-LilycoveCity_ContestLobby_Movement_21ACD0: @ 821ACD0
+LilycoveCity_ContestLobby_Movement_PlayerWalkToLinkContestHall: @ 821ACD0
walk_right
walk_right
walk_right
@@ -969,23 +971,23 @@ LilycoveCity_ContestLobby_Movement_21ACD0: @ 821ACD0
set_invisible
step_end
-LilycoveCity_ContestLobby_Movement_21ACDB: @ 821ACDB
+LilycoveCity_ContestLobby_Movement_PlayerApproachLinkReceptionist: @ 821ACDB
walk_right
step_end
-LilycoveCity_ContestLobby_Movement_21ACDD: @ 821ACDD
+LilycoveCity_ContestLobby_Movement_LinkReceptionistApproachCounter: @ 821ACDD
walk_right
walk_right
walk_in_place_fastest_down
step_end
-LilycoveCity_ContestLobby_Movement_21ACE1: @ 821ACE1
+LilycoveCity_ContestLobby_Movement_LinkReceptionistExitCounter: @ 821ACE1
walk_down
walk_down
walk_in_place_fastest_up
step_end
-LilycoveCity_ContestLobby_Movement_21ACE5: @ 821ACE5
+LilycoveCity_ContestLobby_Movement_LinkReceptionistWalkToContestHall: @ 821ACE5
walk_right
walk_right
walk_right
@@ -997,34 +999,34 @@ LilycoveCity_ContestLobby_Movement_21ACE5: @ 821ACE5
set_invisible
step_end
-LilycoveCity_ContestLobby_Movement_21ACEF: @ 821ACEF
+LilycoveCity_ContestLobby_Movement_LinkReceptionistFacePlayer: @ 821ACEF
walk_in_place_fastest_left
step_end
-LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1
+LilycoveCity_ContestLobby_EventScript_LittleGirl:: @ 821ACF1
lock
faceplayer
- goto_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_21AD06
- msgbox LilycoveCity_ContestLobby_Text_21AD10, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_LittleGirlHaveCase
+ msgbox LilycoveCity_ContestLobby_Text_LadyGaveMePokeblockCase, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_21AD06:: @ 821AD06
- msgbox LilycoveCity_ContestLobby_Text_21AD55, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_LittleGirlHaveCase:: @ 821AD06
+ msgbox LilycoveCity_ContestLobby_Text_MakePokeblocksDifferentBerries, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_Text_21AD10: @ 821AD10
+LilycoveCity_ContestLobby_Text_LadyGaveMePokeblockCase: @ 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
+LilycoveCity_ContestLobby_Text_MakePokeblocksDifferentBerries: @ 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
+LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint: @ 821ADB9
.string "Congratulations!\p"
.string "I did a painting of your POKéMON to\n"
.string "commemorate its victory…\p"
@@ -1033,7 +1035,7 @@ LilycoveCity_ContestLobby_Text_21ADB9: @ 821ADB9
.string "painting better than I usually do.\l"
.string "Look, see?$"
-LilycoveCity_ContestLobby_Text_21AE78: @ 821AE78
+LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum: @ 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"
@@ -1042,7 +1044,7 @@ LilycoveCity_ContestLobby_Text_21AE78: @ 821AE78
.string "for paintings?\p"
.string "Do you think I should take this there?$"
-LilycoveCity_ContestLobby_Text_21AF63: @ 821AF63
+LilycoveCity_ContestLobby_Text_IllTakePaintingToMuseum: @ 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"
@@ -1051,34 +1053,34 @@ LilycoveCity_ContestLobby_Text_21AF63: @ 821AF63
.string "Please check if they did accept this.\n"
.string "Thank you!$"
-LilycoveCity_ContestLobby_Text_21B030: @ 821B030
+LilycoveCity_ContestLobby_Text_TakeMementoOfPainting: @ 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
+LilycoveCity_ContestLobby_Text_ReceivedARibbon: @ 821B07E
.string "{PLAYER} received a RIBBON.$"
-LilycoveCity_ContestLobby_Text_21B094: @ 821B094
+LilycoveCity_ContestLobby_Text_PutTheRibbonOnMon: @ 821B094
.string "{PLAYER} put the RIBBON on\n"
.string "{STR_VAR_1}.$"
-LilycoveCity_ContestLobby_Text_21B0AD: @ 821B0AD
+LilycoveCity_ContestLobby_Text_OkaySeeYou: @ 821B0AD
.string "Okay, see you!$"
-LilycoveCity_ContestLobby_Text_21B0BC: @ 821B0BC
+LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum: @ 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
+LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs: @ 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
+LilycoveCity_ContestLobby_Text_MasterRankHereICome: @ 821B1B1
.string "Hoo, boy… Master Rank CONTESTS,\n"
.string "here I come.\p"
.string "The world will know that my dearest\n"
@@ -1086,31 +1088,31 @@ LilycoveCity_ContestLobby_Text_21B1B1: @ 821B1B1
.string "existence. The time has come!\l"
.string "Uheheheh.$"
-LilycoveCity_ContestLobby_Text_21B24D: @ 821B24D
+LilycoveCity_ContestLobby_Text_WholeVarietyOfPokemonHere: @ 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
+LilycoveCity_ContestLobby_Text_ContestFeastForEyes: @ 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
+LilycoveCity_ContestLobby_Text_ToughContestIsExtreme: @ 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
+LilycoveCity_ContestLobby_Text_LavishedCareOnMon: @ 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
+LilycoveCity_ContestLobby_Text_MadePokeblocksWithFamily: @ 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"
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json
index 8f251039c..c447bb41d 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_218189",
+ "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_MotelOwner",
"flag": "0"
}
],
@@ -59,7 +59,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_218211"
+ "script": "LilycoveCity_CoveLilyMotel_1F_EventScript_BlockingTV"
}
],
"bg_events": []
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
index 87e4c0afd..3f97cc597 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
@@ -1,79 +1,79 @@
LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 8218188
.byte 0
-LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189
+LilycoveCity_CoveLilyMotel_1F_EventScript_MotelOwner:: @ 8218189
lockall
- goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA
- goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_218264, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_GameClear
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_AquaHideoutBusted
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_GuestsDoubledByMascot, MSGBOX_DEFAULT
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_21831E, MSGBOX_DEFAULT
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_NoGuestsWithTeamAqua, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3:: @ 82181C3
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_2183C3, MSGBOX_DEFAULT
+LilycoveCity_CoveLilyMotel_1F_EventScript_AquaHideoutBusted:: @ 82181C3
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_MonFoundLostItem, MSGBOX_DEFAULT
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_218470, MSGBOX_DEFAULT
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_HeardAquaHideoutBusted, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA:: @ 82181EA
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_218544, MSGBOX_DEFAULT
+LilycoveCity_CoveLilyMotel_1F_EventScript_GameClear:: @ 82181EA
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_HouseSittingMonCaughtBurglar, MSGBOX_DEFAULT
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_2185F4, MSGBOX_DEFAULT
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_BetterGetWorkingOnGuestsDinner, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211
+LilycoveCity_CoveLilyMotel_1F_EventScript_BlockingTV:: @ 8218211
lockall
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
waitmovement 0
applymovement 1, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, MSGBOX_DEFAULT
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_CantSeeTheTV, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_218259
- applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_PlayerPushFromTV
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerPushPlayer
waitmovement 0
- applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_218260
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerReturn
waitmovement 0
release
end
-LilycoveCity_CoveLilyMotel_1F_Movement_218259: @ 8218259
+LilycoveCity_CoveLilyMotel_1F_Movement_PlayerPushFromTV: @ 8218259
face_right
lock_facing_direction
walk_left
unlock_facing_direction
step_end
-LilycoveCity_CoveLilyMotel_1F_Movement_21825E: @ 821825E
+LilycoveCity_CoveLilyMotel_1F_Movement_OwnerPushPlayer: @ 821825E
walk_up
step_end
-LilycoveCity_CoveLilyMotel_1F_Movement_218260: @ 8218260
+LilycoveCity_CoveLilyMotel_1F_Movement_OwnerReturn: @ 8218260
face_down
walk_down
face_up
step_end
-LilycoveCity_CoveLilyMotel_1F_Text_218264: @ 8218264
+LilycoveCity_CoveLilyMotel_1F_Text_GuestsDoubledByMascot: @ 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"
@@ -81,17 +81,17 @@ LilycoveCity_CoveLilyMotel_1F_Text_218264: @ 8218264
.string "I wonder if that will attract more\n"
.string "guests to stay with us?$"
-LilycoveCity_CoveLilyMotel_1F_Text_21831E: @ 821831E
+LilycoveCity_CoveLilyMotel_1F_Text_NoGuestsWithTeamAqua: @ 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
+LilycoveCity_CoveLilyMotel_1F_Text_CantSeeTheTV: @ 821839B
.string "Hey, down in front!\n"
.string "I can't see the TV!$"
-LilycoveCity_CoveLilyMotel_1F_Text_2183C3: @ 82183C3
+LilycoveCity_CoveLilyMotel_1F_Text_MonFoundLostItem: @ 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"
@@ -99,7 +99,7 @@ LilycoveCity_CoveLilyMotel_1F_Text_2183C3: @ 82183C3
.string "We could recover anything that our\n"
.string "guests mislaid…$"
-LilycoveCity_CoveLilyMotel_1F_Text_218470: @ 8218470
+LilycoveCity_CoveLilyMotel_1F_Text_HeardAquaHideoutBusted: @ 8218470
.string "Oh, sorry, sorry!\n"
.string "I was too involved in watching TV!\p"
.string "I heard that someone busted\n"
@@ -109,7 +109,7 @@ LilycoveCity_CoveLilyMotel_1F_Text_218470: @ 8218470
.string "It was a company called… Uh…\n"
.string "GAME something…$"
-LilycoveCity_CoveLilyMotel_1F_Text_218544: @ 8218544
+LilycoveCity_CoveLilyMotel_1F_Text_HouseSittingMonCaughtBurglar: @ 8218544
.string "Amazing! A house-sitting POKéMON\n"
.string "caught a burglar?\p"
.string "That's something. If we had a tough\n"
@@ -117,7 +117,7 @@ LilycoveCity_CoveLilyMotel_1F_Text_218544: @ 8218544
.string "We would be able to provide our guests\n"
.string "with greater safety.$"
-LilycoveCity_CoveLilyMotel_1F_Text_2185F4: @ 82185F4
+LilycoveCity_CoveLilyMotel_1F_Text_BetterGetWorkingOnGuestsDinner: @ 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"
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json
index 0bd551815..17c93e5a1 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_GameDesigner",
"flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218729",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_GraphicArtist",
"flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218732",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_FatMan",
"flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218720",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_Programmer",
"flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_218744",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_GameBoyKid",
"flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_21873B",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_Woman",
"flag": "FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_21874D",
+ "script": "LilycoveCity_CoveLilyMotel_2F_EventScript_Scott",
"flag": "FLAG_HIDE_LILCOVE_MOTEL_SCOTT"
}
],
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
index fd6aa34bd..7878e791a 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
@@ -1,30 +1,30 @@
LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 82186D2
.byte 0
-LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3
+LilycoveCity_CoveLilyMotel_2F_EventScript_GameDesigner:: @ 82186D3
lock
faceplayer
- call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9
- call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
+ call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_ShowMeCompletedDex
+ call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_ShowDiploma
specialvar VAR_RESULT, HasAllHoennMons
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_AllHoennMonsFanfare
release
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9:: @ 82186F9
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218774, MSGBOX_DEFAULT
+LilycoveCity_CoveLilyMotel_2F_EventScript_ShowMeCompletedDex:: @ 82186F9
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_ShowMeCompletedDex, MSGBOX_DEFAULT
return
-LilycoveCity_CoveLilyMotel_2F_EventScript_218702:: @ 8218702
+LilycoveCity_CoveLilyMotel_2F_EventScript_AllHoennMonsFanfare:: @ 8218702
setflag FLAG_TEMP_2
playfanfare MUS_FANFA4
waitfanfare
- goto LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
+ goto LilycoveCity_CoveLilyMotel_2F_EventScript_ShowDiploma
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_21870F:: @ 821870F
- message LilycoveCity_CoveLilyMotel_2F_Text_21881C
+LilycoveCity_CoveLilyMotel_2F_EventScript_ShowDiploma:: @ 821870F
+ message LilycoveCity_CoveLilyMotel_2F_Text_FilledPokedexGiveYouThis
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
special Special_ShowDiploma
@@ -32,42 +32,42 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_21870F:: @ 821870F
release
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_218720:: @ 8218720
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_2188D6, MSGBOX_NPC
+LilycoveCity_CoveLilyMotel_2F_EventScript_Programmer:: @ 8218720
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_ImTheProgrammer, MSGBOX_NPC
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_218729:: @ 8218729
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_21892B, MSGBOX_NPC
+LilycoveCity_CoveLilyMotel_2F_EventScript_GraphicArtist:: @ 8218729
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_ImTheGraphicArtist, MSGBOX_NPC
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_218732:: @ 8218732
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_21896C, MSGBOX_NPC
+LilycoveCity_CoveLilyMotel_2F_EventScript_FatMan:: @ 8218732
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_GirlsAreCute, MSGBOX_NPC
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_21873B:: @ 821873B
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A21, MSGBOX_NPC
+LilycoveCity_CoveLilyMotel_2F_EventScript_Woman:: @ 821873B
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_SeaBreezeTicklesHeart, MSGBOX_NPC
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A5B, MSGBOX_NPC
+LilycoveCity_CoveLilyMotel_2F_EventScript_GameBoyKid:: @ 8218744
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_NeverLeaveWithoutGameBoy, MSGBOX_NPC
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D
+LilycoveCity_CoveLilyMotel_2F_EventScript_Scott:: @ 821874D
lock
faceplayer
- goto_if_set FLAG_MET_SCOTT_IN_LILYCOVE, LilycoveCity_CoveLilyMotel_2F_EventScript_21876A
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_SCOTT_IN_LILYCOVE, LilycoveCity_CoveLilyMotel_2F_EventScript_MetScott
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_SnoozingPreferBattles, MSGBOX_DEFAULT
addvar VAR_SCOTT_STATE, 1
setflag FLAG_MET_SCOTT_IN_LILYCOVE
release
end
-LilycoveCity_CoveLilyMotel_2F_EventScript_21876A:: @ 821876A
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218C33, MSGBOX_DEFAULT
+LilycoveCity_CoveLilyMotel_2F_EventScript_MetScott:: @ 821876A
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_ContestsDoTakeStrategy, MSGBOX_DEFAULT
release
end
-LilycoveCity_CoveLilyMotel_2F_Text_218774: @ 8218774
+LilycoveCity_CoveLilyMotel_2F_Text_ShowMeCompletedDex: @ 8218774
.string "I'm the GAME DESIGNER.\p"
.string "Oh, is that right?\n"
.string "You're working on a POKéDEX?\p"
@@ -76,7 +76,7 @@ LilycoveCity_CoveLilyMotel_2F_Text_218774: @ 8218774
.string "If you do complete it, please come\n"
.string "show me.$"
-LilycoveCity_CoveLilyMotel_2F_Text_21881C: @ 821881C
+LilycoveCity_CoveLilyMotel_2F_Text_FilledPokedexGiveYouThis: @ 821881C
.string "Wow! That's awesome!\n"
.string "Yep, it's totally awesome!\p"
.string "This POKéDEX is completely filled!\n"
@@ -85,17 +85,17 @@ LilycoveCity_CoveLilyMotel_2F_Text_21881C: @ 821881C
.string "Let me give you something in\n"
.string "recognition of your feat!$"
-LilycoveCity_CoveLilyMotel_2F_Text_2188D6: @ 82188D6
+LilycoveCity_CoveLilyMotel_2F_Text_ImTheProgrammer: @ 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
+LilycoveCity_CoveLilyMotel_2F_Text_ImTheGraphicArtist: @ 821892B
.string "I'm the GRAPHIC ARTIST! Aren't the\n"
.string "POKéMON of HOENN interesting?$"
-LilycoveCity_CoveLilyMotel_2F_Text_21896C: @ 821896C
+LilycoveCity_CoveLilyMotel_2F_Text_GirlsAreCute: @ 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"
@@ -103,17 +103,17 @@ LilycoveCity_CoveLilyMotel_2F_Text_21896C: @ 821896C
.string "A 2-on-2 battle with TWINS…\p"
.string "Whoop, it's unbearably fun!$"
-LilycoveCity_CoveLilyMotel_2F_Text_218A21: @ 8218A21
+LilycoveCity_CoveLilyMotel_2F_Text_SeaBreezeTicklesHeart: @ 8218A21
.string "The sea breeze tickles my heart.\n"
.string "It feels wonderful here!$"
-LilycoveCity_CoveLilyMotel_2F_Text_218A5B: @ 8218A5B
+LilycoveCity_CoveLilyMotel_2F_Text_NeverLeaveWithoutGameBoy: @ 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
+LilycoveCity_CoveLilyMotel_2F_Text_SnoozingPreferBattles: @ 8218ACF
.string "SCOTT: … … … … …\n"
.string "… … … … … Zzz…\p"
.string "… … … … … Huh?!\n"
@@ -129,7 +129,7 @@ LilycoveCity_CoveLilyMotel_2F_Text_218ACF: @ 8218ACF
.string "like the GYMS, CONTESTS, BATTLE TENT,\l"
.string "the whole works!$"
-LilycoveCity_CoveLilyMotel_2F_Text_218C33: @ 8218C33
+LilycoveCity_CoveLilyMotel_2F_Text_ContestsDoTakeStrategy: @ 8218C33
.string "SCOTT: I think it does take strategy\n"
.string "to win a CONTEST.\p"
.string "Devising CONTEST strategies is one way\n"
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json
index 75a1fddf9..abc4e18dd 100644
--- a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStoreElevator_EventScript_220624",
+ "script": "LilycoveCity_DepartmentStoreElevator_EventScript_Attendant",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
index 18fc0404b..b7d6e4a49 100644
--- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
@@ -1,128 +1,129 @@
LilycoveCity_DepartmentStoreElevator_MapScripts:: @ 8220623
.byte 0
-LilycoveCity_DepartmentStoreElevator_EventScript_220624:: @ 8220624
+LilycoveCity_DepartmentStoreElevator_EventScript_Attendant:: @ 8220624
lock
faceplayer
setvar VAR_0x8004, 0
- call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC
+ call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_SetFloor
copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR
- special sub_8139B60
- message gUnknown_08272C1D
+ special ShowDeptStoreElevatorFloorSelect
+ message gText_WhichFloorWouldYouLike
waitmessage
setvar VAR_0x8004, 0
- specialvar VAR_RESULT, sub_81399F4
+ specialvar VAR_RESULT, GetDeptStoreDefaultFloorChoice
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
+ case 0, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom5th
+ case 1, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom4th
+ case 2, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom3rd
+ case 3, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom2nd
+ case 4, LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom1st
end
-LilycoveCity_DepartmentStoreElevator_EventScript_220689:: @ 8220689
- multichoicedefault 0, 0, 57, 0, 0
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+@ Below scripts ensure the cursor for floor select always starts on the current floor
+LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom5th:: @ 8220689
+ multichoicedefault 0, 0, MULTI_FLOORS, 0, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
-LilycoveCity_DepartmentStoreElevator_EventScript_220695:: @ 8220695
- multichoicedefault 0, 0, 57, 1, 0
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom4th:: @ 8220695
+ multichoicedefault 0, 0, MULTI_FLOORS, 1, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
-LilycoveCity_DepartmentStoreElevator_EventScript_2206A1:: @ 82206A1
- multichoicedefault 0, 0, 57, 2, 0
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom3rd:: @ 82206A1
+ multichoicedefault 0, 0, MULTI_FLOORS, 2, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
-LilycoveCity_DepartmentStoreElevator_EventScript_2206AD:: @ 82206AD
- multichoicedefault 0, 0, 57, 3, 0
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom2nd:: @ 82206AD
+ multichoicedefault 0, 0, MULTI_FLOORS, 3, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
-LilycoveCity_DepartmentStoreElevator_EventScript_2206B9:: @ 82206B9
- multichoicedefault 0, 0, 57, 4, 0
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloorFrom1st:: @ 82206B9
+ multichoicedefault 0, 0, MULTI_FLOORS, 4, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor
end
-LilycoveCity_DepartmentStoreElevator_EventScript_2206C5:: @ 82206C5
+LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor:: @ 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
+ case 0, LilycoveCity_DepartmentStoreElevator_EventScript_5thFloor
+ case 1, LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor
+ case 2, LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor
+ case 3, LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor
+ case 4, LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor
+ case 5, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ case MULTI_B_PRESSED, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
-LilycoveCity_DepartmentStoreElevator_EventScript_220718:: @ 8220718
- setvar VAR_0x8006, 4
+LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor:: @ 8220718
+ setvar VAR_0x8006, DEPT_STORE_FLOORNUM_1F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, 4
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
- call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
- setvar VAR_DEPT_STORE_FLOOR, 4
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
+ setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
-LilycoveCity_DepartmentStoreElevator_EventScript_220740:: @ 8220740
- setvar VAR_0x8006, 5
+LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor:: @ 8220740
+ setvar VAR_0x8006, DEPT_STORE_FLOORNUM_2F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, 5
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
- call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
- setvar VAR_DEPT_STORE_FLOOR, 5
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
+ setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
-LilycoveCity_DepartmentStoreElevator_EventScript_220768:: @ 8220768
- setvar VAR_0x8006, 6
+LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor:: @ 8220768
+ setvar VAR_0x8006, DEPT_STORE_FLOORNUM_3F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, 6
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
- call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
- setvar VAR_DEPT_STORE_FLOOR, 6
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
+ setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
-LilycoveCity_DepartmentStoreElevator_EventScript_220790:: @ 8220790
- setvar VAR_0x8006, 7
+LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor:: @ 8220790
+ setvar VAR_0x8006, DEPT_STORE_FLOORNUM_4F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, 7
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
- call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
- setvar VAR_DEPT_STORE_FLOOR, 7
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
+ setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
-LilycoveCity_DepartmentStoreElevator_EventScript_2207B8:: @ 82207B8
- setvar VAR_0x8006, 8
+LilycoveCity_DepartmentStoreElevator_EventScript_5thFloor:: @ 82207B8
+ setvar VAR_0x8006, DEPT_STORE_FLOORNUM_5F
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, 8
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
- call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
- setvar VAR_DEPT_STORE_FLOOR, 8
- goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
+ setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
end
-LilycoveCity_DepartmentStoreElevator_EventScript_2207E0:: @ 82207E0
- special sub_8139C10
+LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect:: @ 82207E0
+ special CloseDeptStoreElevatorWindow
release
end
-LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5
- special sub_8139C10
+LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator:: @ 82207E5
+ special CloseDeptStoreElevatorWindow
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
waitse
- special ShakeScreenInElevator
+ special MoveElevator
waitstate
setflag FLAG_TEMP_2
return
-LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC
- special SetDepartmentStoreFloorVar
+LilycoveCity_DepartmentStoreElevator_EventScript_SetFloor:: @ 82207FC
+ special SetDeptStoreFloor
return
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json
index 7514a548a..44f54006c 100644
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_220268",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_Man",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_22028C",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_ThirstyMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_22022F",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_SaleWoman",
"flag": "FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186",
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor",
"flag": "0"
}
],
@@ -84,7 +84,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_220295"
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_VendingMachine"
},
{
"type": "sign",
@@ -92,7 +92,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_220295"
+ "script": "LilycoveCity_DepartmentStoreRooftop_EventScript_VendingMachine"
}
]
} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
index b8d0a7c44..12cb4727c 100644
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
@@ -3,33 +3,33 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207
.byte 0
LilycoveCity_DepartmentStoreRooftop_OnTransition: @ 822020D
- getpricereduction 3
- compare VAR_RESULT, 1
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220227
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22022B
+ getpricereduction POKENEWS_LILYCOVE
+ compare VAR_RESULT, TRUE
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_ShowSaleWoman
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_HideSaleWoman
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220227:: @ 8220227
+LilycoveCity_DepartmentStoreRooftop_EventScript_ShowSaleWoman:: @ 8220227
clearflag FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_22022B:: @ 822022B
+LilycoveCity_DepartmentStoreRooftop_EventScript_HideSaleWoman:: @ 822022B
setflag FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_22022F:: @ 822022F
+LilycoveCity_DepartmentStoreRooftop_EventScript_SaleWoman:: @ 822022F
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemartdecoration LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemartdecoration LilycoveCity_DepartmentStoreRooftop_PokemartDecor_ClearOutSale
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248
+LilycoveCity_DepartmentStoreRooftop_PokemartDecor_ClearOutSale: @ 8220248
.2byte DECOR_MUD_BALL
.2byte DECOR_FENCE_LENGTH
.2byte DECOR_FENCE_WIDTH
@@ -48,189 +48,187 @@ LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248
release
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268
+LilycoveCity_DepartmentStoreRooftop_EventScript_Man:: @ 8220268
lock
faceplayer
- getpricereduction 3
- compare VAR_RESULT, 1
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220282
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, MSGBOX_DEFAULT
+ getpricereduction POKENEWS_LILYCOVE
+ compare VAR_RESULT, TRUE
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_ManClearOutSale
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_SetDatesForClearOutSales, MSGBOX_DEFAULT
release
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220282:: @ 8220282
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2204C9, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStoreRooftop_EventScript_ManClearOutSale:: @ 8220282
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_BeenWaitingForClearOutSale, MSGBOX_DEFAULT
release
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_22028C:: @ 822028C
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_220552, MSGBOX_NPC
+LilycoveCity_DepartmentStoreRooftop_EventScript_ThirstyMan:: @ 822028C
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_BoneDryThirsty, MSGBOX_NPC
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220295:: @ 8220295
+LilycoveCity_DepartmentStoreRooftop_EventScript_VendingMachine:: @ 8220295
lockall
- message LilycoveCity_DepartmentStoreRooftop_Text_22056D
+ message LilycoveCity_DepartmentStoreRooftop_Text_WhichDrinkWouldYouLike
waitmessage
showmoneybox 0, 0, 0
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseDrink
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6
- multichoice 16, 0, 42, 0
+LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseDrink:: @ 82202A6
+ multichoice 16, 0, MULTI_VENDING_MACHINE, 0
copyvar VAR_TEMP_1, VAR_RESULT
switch VAR_TEMP_1
- case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4
- case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF
- case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_220603, MSGBOX_DEFAULT
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
+ case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_FreshWater
+ case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_SodaPop
+ case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_Lemonade
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_DecidedAgainstBuyingDrink, MSGBOX_DEFAULT
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4:: @ 82202E4
- setvar VAR_TEMP_0, 26
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F
+LilycoveCity_DepartmentStoreRooftop_EventScript_FreshWater:: @ 82202E4
+ setvar VAR_TEMP_0, ITEM_FRESH_WATER
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF:: @ 82202EF
- setvar VAR_TEMP_0, 27
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F
+LilycoveCity_DepartmentStoreRooftop_EventScript_SodaPop:: @ 82202EF
+ setvar VAR_TEMP_0, ITEM_SODA_POP
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA:: @ 82202FA
- setvar VAR_TEMP_0, 28
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F
+LilycoveCity_DepartmentStoreRooftop_EventScript_Lemonade:: @ 82202FA
+ setvar VAR_TEMP_0, ITEM_LEMONADE
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220305:: @ 8220305
- checkmoney 0xc8, 0
+LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyFreshWater:: @ 8220305
+ checkmoney 200, 0
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_22030C:: @ 822030C
- checkmoney 0x12c, 0
+LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneySodaPop:: @ 822030C
+ checkmoney 300, 0
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_220313:: @ 8220313
- checkmoney 0x15e, 0
+LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyLemonade:: @ 8220313
+ checkmoney 350, 0
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_22031A:: @ 822031A
- takemoney 0xc8, 0
+LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyFreshWater:: @ 822031A
+ removemoney 200, 0
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_220321:: @ 8220321
- takemoney 0x12c, 0
+LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneySodaPop:: @ 8220321
+ removemoney 300, 0
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328
- takemoney 0x15e, 0
+LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyLemonade:: @ 8220328
+ removemoney 350, 0
return
-LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
+LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink:: @ 822032F
compare VAR_TEMP_1, 0
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220305
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyFreshWater
compare VAR_TEMP_1, 1
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22030C
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneySodaPop
compare VAR_TEMP_1, 2
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220313
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyLemonade
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NotEnoughMoneyForDrink
checkitemspace VAR_TEMP_0, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
compare VAR_TEMP_1, 0
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22031A
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyFreshWater
compare VAR_TEMP_1, 1
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220321
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneySodaPop
compare VAR_TEMP_1, 2
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220328
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyLemonade
updatemoneybox 0, 0
bufferitemname 0, VAR_TEMP_0
playse SE_JIHANKI
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, MSGBOX_DEFAULT
- giveitem VAR_TEMP_0, 1
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_CanOfDrinkDroppedDown, MSGBOX_DEFAULT
+ additem VAR_TEMP_0
bufferitemname 1, VAR_TEMP_0
- bufferstdstring 2, 14
+ bufferstdstring 2, STDSTRING_ITEMS
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
- random 64
+ random 64 @ 1/64 chance of an additional drink dropping
compare VAR_RESULT, 0
- goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
checkitemspace VAR_TEMP_0, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
playse SE_JIHANKI
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT
- giveitem VAR_TEMP_0, 1
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown, MSGBOX_DEFAULT
+ additem VAR_TEMP_0
bufferitemname 1, VAR_TEMP_0
- bufferstdstring 2, 14
+ bufferstdstring 2, STDSTRING_ITEMS
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
- random 64
+ random 64 @ 1/64 * the prev 1/64 chance of a third additional drink dropping, ~ 0.02% chance
compare VAR_RESULT, 0
- goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
checkitemspace VAR_TEMP_0, 1
compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
playse SE_JIHANKI
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT
- giveitem VAR_TEMP_0, 1
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown, MSGBOX_DEFAULT
+ additem VAR_TEMP_0
bufferitemname 1, VAR_TEMP_0
- bufferstdstring 2, 14
+ bufferstdstring 2, STDSTRING_ITEMS
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220436:: @ 8220436
- message LilycoveCity_DepartmentStoreRooftop_Text_22056D
+LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink:: @ 8220436
+ message LilycoveCity_DepartmentStoreRooftop_Text_WhichDrinkWouldYouLike
waitmessage
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseDrink
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220442:: @ 8220442
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205F1, MSGBOX_DEFAULT
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
+LilycoveCity_DepartmentStoreRooftop_EventScript_NotEnoughMoneyForDrink:: @ 8220442
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_NotEnoughMoney, MSGBOX_DEFAULT
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_220450:: @ 8220450
- msgbox gUnknown_08272A89, MSGBOX_DEFAULT
- goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
+LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink:: @ 8220450
+ msgbox gText_TheBagIsFull, MSGBOX_DEFAULT
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine
end
-LilycoveCity_DepartmentStoreRooftop_EventScript_22045E:: @ 822045E
+LilycoveCity_DepartmentStoreRooftop_EventScript_ExitVendingMachine:: @ 822045E
hidemoneybox
- nop
- nop
releaseall
end
-LilycoveCity_DepartmentStoreRooftop_Text_220463: @ 8220463
+LilycoveCity_DepartmentStoreRooftop_Text_SetDatesForClearOutSales: @ 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
+LilycoveCity_DepartmentStoreRooftop_Text_BeenWaitingForClearOutSale: @ 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
+LilycoveCity_DepartmentStoreRooftop_Text_BoneDryThirsty: @ 8220552
.string "Ohh… I'm bone-dry thirsty!$"
-LilycoveCity_DepartmentStoreRooftop_Text_22056D: @ 822056D
+LilycoveCity_DepartmentStoreRooftop_Text_WhichDrinkWouldYouLike: @ 822056D
.string "It's a VENDING MACHINE.\n"
.string "Which drink would you like?$"
-LilycoveCity_DepartmentStoreRooftop_Text_2205A1: @ 82205A1
+LilycoveCity_DepartmentStoreRooftop_Text_CanOfDrinkDroppedDown: @ 82205A1
.string "Clang!\p"
.string "A can of {STR_VAR_1} dropped down.$"
-LilycoveCity_DepartmentStoreRooftop_Text_2205C2: @ 82205C2
+LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown: @ 82205C2
.string "Clang!\p"
.string "Score! An extra can of {STR_VAR_1}\n"
.string "dropped down!$"
-LilycoveCity_DepartmentStoreRooftop_Text_2205F1: @ 82205F1
+LilycoveCity_DepartmentStoreRooftop_Text_NotEnoughMoney: @ 82205F1
.string "Not enough money…$"
-LilycoveCity_DepartmentStoreRooftop_Text_220603: @ 8220603
+LilycoveCity_DepartmentStoreRooftop_Text_DecidedAgainstBuyingDrink: @ 8220603
.string "Decided against buying a drink.$"
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.json b/data/maps/LilycoveCity_DepartmentStore_1F/map.json
index 564377f7f..0fc05dd5a 100644
--- a/data/maps/LilycoveCity_DepartmentStore_1F/map.json
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F693",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_Greeter",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F69C",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_LotteryClerk",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F82F",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_PokefanF",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F838",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_LittleGirl",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F841",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_PokefanM",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F84A",
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_Azumarill",
"flag": "0"
}
],
@@ -131,7 +131,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "LilycoveCity_DepartmentStore_1F_EventScript_21F85D"
+ "script": "LilycoveCity_DepartmentStore_1F_EventScript_FloorNamesSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
index 1e01fc168..a3cf54ee0 100644
--- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
@@ -1,28 +1,28 @@
LilycoveCity_DepartmentStore_1F_MapScripts:: @ 821F692
.byte 0
-LilycoveCity_DepartmentStore_1F_EventScript_21F693:: @ 821F693
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F866, MSGBOX_NPC
+LilycoveCity_DepartmentStore_1F_EventScript_Greeter:: @ 821F693
+ msgbox LilycoveCity_DepartmentStore_1F_Text_WelcomeToDeptStore, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
+LilycoveCity_DepartmentStore_1F_EventScript_LotteryClerk:: @ 821F69C
lock
faceplayer
dotimebasedevents
- compare VAR_POKELOT_PRIZE_ITEM, 0
- goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_21F7F7
- goto_if_set FLAG_DAILY_PICKED_LOTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_21F78D
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797
+ compare VAR_POKELOT_PRIZE_ITEM, ITEM_NONE
+ goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_GivePrizeFromEarlier
+ goto_if_set FLAG_DAILY_PICKED_LOTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_ComeBackTomorrow
+ msgbox LilycoveCity_DepartmentStore_1F_Text_LotteryCornerDrawTicket, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain
setflag FLAG_DAILY_PICKED_LOTO_TICKET
- message LilycoveCity_DepartmentStore_1F_Text_2A64C8
+ message LilycoveCity_DepartmentStore_1F_Text_PleasePickTicket
waitmessage
special RetrieveLotteryNumber
copyvar VAR_0x8008, VAR_RESULT
special BufferLottoTicketNumber
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, MSGBOX_DEFAULT
- applymovement 2, Common_Movement_WalkInPlaceRight
+ msgbox LilycoveCity_DepartmentStore_1F_Text_TicketNumberIsXPleaseWait, MSGBOX_DEFAULT
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
playse SE_PC_ON
special DoLotteryCornerComputerEffect
@@ -33,142 +33,142 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
applymovement 2, Common_Movement_FacePlayer
waitmovement 0
compare VAR_0x8004, 0
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1
- incrementgamestat 46
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_NoMatch
+ incrementgamestat GAME_STAT_WON_POKEMON_LOTTERY
compare VAR_0x8006, 0
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F77B
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPartyMon
compare VAR_0x8006, 1
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F784
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPCMon
bufferitemname 0, VAR_0x8005
compare VAR_0x8004, 1
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7B9
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TwoDigitMatch
compare VAR_0x8004, 2
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7C2
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_ThreeDigitMatch
compare VAR_0x8004, 3
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7CB
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_FourDigitMatch
compare VAR_0x8004, 4
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7D4
- giveitem_std VAR_0x8005
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD
- special sub_80EE2CC
- goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_FullMatch
+ giveitem VAR_0x8005
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_RecordPrizeNoRoom
+ special TryPutLotteryWinnerReportOnAir
+ goto LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain2
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F77B:: @ 821F77B
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6592, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPartyMon:: @ 821F77B
+ msgbox LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPartyMon, MSGBOX_DEFAULT
return
-LilycoveCity_DepartmentStore_1F_EventScript_21F784:: @ 821F784
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A65E6, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPCMon:: @ 821F784
+ msgbox LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPCMon, MSGBOX_DEFAULT
return
-LilycoveCity_DepartmentStore_1F_EventScript_21F78D:: @ 821F78D
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6496, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_ComeBackTomorrow:: @ 821F78D
+ msgbox LilycoveCity_DepartmentStore_1F_Text_ComeBackTomorrow, MSGBOX_DEFAULT
release
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F797:: @ 821F797
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A64B1, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain:: @ 821F797
+ msgbox LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain, MSGBOX_DEFAULT
release
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F7A1:: @ 821F7A1
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A663C, MSGBOX_DEFAULT
- goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF
+LilycoveCity_DepartmentStore_1F_EventScript_NoMatch:: @ 821F7A1
+ msgbox LilycoveCity_DepartmentStore_1F_Text_NoNumbersMatched, MSGBOX_DEFAULT
+ goto LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain2
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F7AF:: @ 821F7AF
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6831, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain2:: @ 821F7AF
+ msgbox LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain2, MSGBOX_DEFAULT
release
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F7B9:: @ 821F7B9
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6664, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_TwoDigitMatch:: @ 821F7B9
+ msgbox LilycoveCity_DepartmentStore_1F_Text_TwoDigitsMatched, MSGBOX_DEFAULT
return
-LilycoveCity_DepartmentStore_1F_EventScript_21F7C2:: @ 821F7C2
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A66A7, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_ThreeDigitMatch:: @ 821F7C2
+ msgbox LilycoveCity_DepartmentStore_1F_Text_ThreeDigitsMatched, MSGBOX_DEFAULT
return
-LilycoveCity_DepartmentStore_1F_EventScript_21F7CB:: @ 821F7CB
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A66ED, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_FourDigitMatch:: @ 821F7CB
+ msgbox LilycoveCity_DepartmentStore_1F_Text_FourDigitsMatched, MSGBOX_DEFAULT
return
-LilycoveCity_DepartmentStore_1F_EventScript_21F7D4:: @ 821F7D4
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6731, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_FullMatch:: @ 821F7D4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_AllFiveDigitsMatched, MSGBOX_DEFAULT
return
-LilycoveCity_DepartmentStore_1F_EventScript_21F7DD:: @ 821F7DD
+LilycoveCity_DepartmentStore_1F_EventScript_RecordPrizeNoRoom:: @ 821F7DD
copyvar VAR_POKELOT_PRIZE_PLACE, VAR_0x8004
copyvar VAR_POKELOT_PRIZE_ITEM, VAR_0x8005
- goto LilycoveCity_DepartmentStore_1F_EventScript_21F7ED
+ goto LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F7ED:: @ 821F7ED
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A678C, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize:: @ 821F7ED
+ msgbox LilycoveCity_DepartmentStore_1F_Text_NoRoomForThis, MSGBOX_DEFAULT
release
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, MSGBOX_DEFAULT
- giveitem_std VAR_POKELOT_PRIZE_ITEM
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED
+LilycoveCity_DepartmentStore_1F_EventScript_GivePrizeFromEarlier:: @ 821F7F7
+ msgbox LilycoveCity_DepartmentStore_1F_Text_PrizeWeveBeenHolding, MSGBOX_DEFAULT
+ giveitem VAR_POKELOT_PRIZE_ITEM
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize
copyvar VAR_0x8004, VAR_POKELOT_PRIZE_PLACE
copyvar VAR_0x8005, VAR_POKELOT_PRIZE_ITEM
- special sub_80EE2CC
- setvar VAR_POKELOT_PRIZE_ITEM, 0
+ special TryPutLotteryWinnerReportOnAir
+ setvar VAR_POKELOT_PRIZE_ITEM, ITEM_NONE
setvar VAR_POKELOT_PRIZE_PLACE, 0
release
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F82F:: @ 821F82F
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F88C, MSGBOX_NPC
+LilycoveCity_DepartmentStore_1F_EventScript_PokefanF:: @ 821F82F
+ msgbox LilycoveCity_DepartmentStore_1F_Text_IBuyAllSortsOfThings, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F838:: @ 821F838
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F8F5, MSGBOX_NPC
+LilycoveCity_DepartmentStore_1F_EventScript_LittleGirl:: @ 821F838
+ msgbox LilycoveCity_DepartmentStore_1F_Text_MomBuyingMeFurniture, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F841:: @ 821F841
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F92B, MSGBOX_NPC
+LilycoveCity_DepartmentStore_1F_EventScript_PokefanM:: @ 821F841
+ msgbox LilycoveCity_DepartmentStore_1F_Text_BuyingSomethingForAzumarill, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F84A:: @ 821F84A
+LilycoveCity_DepartmentStore_1F_EventScript_Azumarill:: @ 821F84A
lock
faceplayer
waitse
playmoncry SPECIES_AZUMARILL, 0
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F974, MSGBOX_DEFAULT
+ msgbox LilycoveCity_DepartmentStore_1F_Text_Azumarill, MSGBOX_DEFAULT
waitmoncry
release
end
-LilycoveCity_DepartmentStore_1F_EventScript_21F85D:: @ 821F85D
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F98A, MSGBOX_SIGN
+LilycoveCity_DepartmentStore_1F_EventScript_FloorNamesSign:: @ 821F85D
+ msgbox LilycoveCity_DepartmentStore_1F_Text_FloorNamesSign, MSGBOX_SIGN
end
-LilycoveCity_DepartmentStore_1F_Text_21F866: @ 821F866
+LilycoveCity_DepartmentStore_1F_Text_WelcomeToDeptStore: @ 821F866
.string "Welcome to LILYCOVE DEPARTMENT STORE.$"
-LilycoveCity_DepartmentStore_1F_Text_21F88C: @ 821F88C
+LilycoveCity_DepartmentStore_1F_Text_IBuyAllSortsOfThings: @ 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
+LilycoveCity_DepartmentStore_1F_Text_MomBuyingMeFurniture: @ 821F8F5
.string "Today, my mom is going to buy me some\n"
.string "nice furniture.$"
-LilycoveCity_DepartmentStore_1F_Text_21F92B: @ 821F92B
+LilycoveCity_DepartmentStore_1F_Text_BuyingSomethingForAzumarill: @ 821F92B
.string "I'm buying something for my AZUMARILL\n"
.string "as a reward for winning a CONTEST.$"
-LilycoveCity_DepartmentStore_1F_Text_21F974: @ 821F974
+LilycoveCity_DepartmentStore_1F_Text_Azumarill: @ 821F974
.string "AZUMARILL: Maririroo!$"
-LilycoveCity_DepartmentStore_1F_Text_21F98A: @ 821F98A
+LilycoveCity_DepartmentStore_1F_Text_FloorNamesSign: @ 821F98A
.string "1F: SERVICE COUNTER\n"
.string " LOTTERY CORNER\p"
.string "2F: TRAINER'S ZONE\p"
@@ -177,7 +177,8 @@ LilycoveCity_DepartmentStore_1F_Text_21F98A: @ 821F98A
.string "5F: POKé DOLL FLOOR\p"
.string "ROOFTOP: ROOFTOP PLAZA$"
-LilycoveCity_DepartmentStore_1F_Text_21FA13: @ 821FA13
+@ Unused
+LilycoveCity_DepartmentStore_1F_Text_WirelessCommIsFun: @ 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"
@@ -186,7 +187,8 @@ LilycoveCity_DepartmentStore_1F_Text_21FA13: @ 821FA13
.string "with people you couldn't before.\p"
.string "I think it's going to be exciting!$"
-LilycoveCity_DepartmentStore_1F_Text_21FAE5: @ 821FAE5
+@ Unused
+LilycoveCity_DepartmentStore_1F_Text_SpreadWordAboutWirelessComm: @ 821FAE5
.string "I want to spread the word about how\n"
.string "fun Wireless Communication can be.$"
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/map.json b/data/maps/LilycoveCity_DepartmentStore_2F/map.json
index 3238eeee8..fd30dc516 100644
--- a/data/maps/LilycoveCity_DepartmentStore_2F/map.json
+++ b/data/maps/LilycoveCity_DepartmentStore_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB2D",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_Cook",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB36",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_PokefanF",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB3F",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_Sailor",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB7A",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_ClerkRight",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_2F_EventScript_21FB48",
+ "script": "LilycoveCity_DepartmentStore_2F_EventScript_ClerkLeft",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc
index 4d4edf373..9ced6b347 100644
--- a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc
@@ -1,30 +1,30 @@
LilycoveCity_DepartmentStore_2F_MapScripts:: @ 821FB2C
.byte 0
-LilycoveCity_DepartmentStore_2F_EventScript_21FB2D:: @ 821FB2D
- msgbox LilycoveCity_DepartmentStore_2F_Text_21FBAC, MSGBOX_NPC
+LilycoveCity_DepartmentStore_2F_EventScript_Cook:: @ 821FB2D
+ msgbox LilycoveCity_DepartmentStore_2F_Text_LearnToUseItemsProperly, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_2F_EventScript_21FB36:: @ 821FB36
- msgbox LilycoveCity_DepartmentStore_2F_Text_21FBDF, MSGBOX_NPC
+LilycoveCity_DepartmentStore_2F_EventScript_PokefanF:: @ 821FB36
+ msgbox LilycoveCity_DepartmentStore_2F_Text_GoodGiftForHusband, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_2F_EventScript_21FB3F:: @ 821FB3F
- msgbox LilycoveCity_DepartmentStore_2F_Text_21FC23, MSGBOX_NPC
+LilycoveCity_DepartmentStore_2F_EventScript_Sailor:: @ 821FB3F
+ msgbox LilycoveCity_DepartmentStore_2F_Text_StockUpOnItems, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_2F_EventScript_21FB48:: @ 821FB48
+LilycoveCity_DepartmentStore_2F_EventScript_ClerkLeft:: @ 821FB48
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB60
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LilycoveCity_DepartmentStore_2F_Pokemart1
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LilycoveCity_DepartmentStore_2F_Pokemart_21FB60: @ 821FB60
+LilycoveCity_DepartmentStore_2F_Pokemart1: @ 821FB60
.2byte ITEM_POKE_BALL
.2byte ITEM_GREAT_BALL
.2byte ITEM_ULTRA_BALL
@@ -40,18 +40,18 @@ LilycoveCity_DepartmentStore_2F_Pokemart_21FB60: @ 821FB60
release
end
-LilycoveCity_DepartmentStore_2F_EventScript_21FB7A:: @ 821FB7A
+LilycoveCity_DepartmentStore_2F_EventScript_ClerkRight:: @ 821FB7A
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB94
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LilycoveCity_DepartmentStore_2F_Pokemart2
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LilycoveCity_DepartmentStore_2F_Pokemart_21FB94: @ 821FB94
+LilycoveCity_DepartmentStore_2F_Pokemart2: @ 821FB94
.2byte ITEM_POTION
.2byte ITEM_SUPER_POTION
.2byte ITEM_HYPER_POTION
@@ -66,15 +66,15 @@ LilycoveCity_DepartmentStore_2F_Pokemart_21FB94: @ 821FB94
release
end
-LilycoveCity_DepartmentStore_2F_Text_21FBAC: @ 821FBAC
+LilycoveCity_DepartmentStore_2F_Text_LearnToUseItemsProperly: @ 821FBAC
.string "Learn to use items properly.\n"
.string "That's basic, really.$"
-LilycoveCity_DepartmentStore_2F_Text_21FBDF: @ 821FBDF
+LilycoveCity_DepartmentStore_2F_Text_GoodGiftForHusband: @ 821FBDF
.string "My husband is waiting at home.\n"
.string "What would make a good gift for him?$"
-LilycoveCity_DepartmentStore_2F_Text_21FC23: @ 821FC23
+LilycoveCity_DepartmentStore_2F_Text_StockUpOnItems: @ 821FC23
.string "I'm leaving on a long journey soon.\n"
.string "I need to stock up on items.$"
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/map.json b/data/maps/LilycoveCity_DepartmentStore_3F/map.json
index 9ecf5104a..cf25e1798 100644
--- a/data/maps/LilycoveCity_DepartmentStore_3F/map.json
+++ b/data/maps/LilycoveCity_DepartmentStore_3F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FCB6",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_TriathleteM",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FCBF",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_PokefanM",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FCC8",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_Woman",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FC65",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_ClerkLeft",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_3F_EventScript_21FC8C",
+ "script": "LilycoveCity_DepartmentStore_3F_EventScript_ClerkRight",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc
index 053ff4632..bec38867c 100644
--- a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc
@@ -1,17 +1,17 @@
LilycoveCity_DepartmentStore_3F_MapScripts:: @ 821FC64
.byte 0
-LilycoveCity_DepartmentStore_3F_EventScript_21FC65:: @ 821FC65
+LilycoveCity_DepartmentStore_3F_EventScript_ClerkLeft:: @ 821FC65
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LilycoveCity_DepartmentStore_3F_Pokemart_Vitamins
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
-LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C: @ 821FC7C
+LilycoveCity_DepartmentStore_3F_Pokemart_Vitamins: @ 821FC7C
.2byte ITEM_PROTEIN
.2byte ITEM_CALCIUM
.2byte ITEM_IRON
@@ -22,18 +22,18 @@ LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C: @ 821FC7C
release
end
-LilycoveCity_DepartmentStore_3F_EventScript_21FC8C:: @ 821FC8C
+LilycoveCity_DepartmentStore_3F_EventScript_ClerkRight:: @ 821FC8C
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LilycoveCity_DepartmentStore_3F_Pokemart_StatBoosters
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4: @ 821FCA4
+LilycoveCity_DepartmentStore_3F_Pokemart_StatBoosters: @ 821FCA4
.2byte ITEM_X_SPEED
.2byte ITEM_X_SPECIAL
.2byte ITEM_X_ATTACK
@@ -45,31 +45,31 @@ LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4: @ 821FCA4
release
end
-LilycoveCity_DepartmentStore_3F_EventScript_21FCB6:: @ 821FCB6
- msgbox LilycoveCity_DepartmentStore_3F_Text_21FCD1, MSGBOX_NPC
+LilycoveCity_DepartmentStore_3F_EventScript_TriathleteM:: @ 821FCB6
+ msgbox LilycoveCity_DepartmentStore_3F_Text_ItemsBestForTougheningPokemon, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_3F_EventScript_21FCBF:: @ 821FCBF
- msgbox LilycoveCity_DepartmentStore_3F_Text_21FD3B, MSGBOX_NPC
+LilycoveCity_DepartmentStore_3F_EventScript_PokefanM:: @ 821FCBF
+ msgbox LilycoveCity_DepartmentStore_3F_Text_WantMoreEndurance, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_3F_EventScript_21FCC8:: @ 821FCC8
- msgbox LilycoveCity_DepartmentStore_3F_Text_21FDB4, MSGBOX_NPC
+LilycoveCity_DepartmentStore_3F_EventScript_Woman:: @ 821FCC8
+ msgbox LilycoveCity_DepartmentStore_3F_Text_GaveCarbosToSpeedUpMon, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_3F_Text_21FCD1: @ 821FCD1
+LilycoveCity_DepartmentStore_3F_Text_ItemsBestForTougheningPokemon: @ 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
+LilycoveCity_DepartmentStore_3F_Text_WantMoreEndurance: @ 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
+LilycoveCity_DepartmentStore_3F_Text_GaveCarbosToSpeedUpMon: @ 821FDB4
.string "I gave a CARBOS to my POKéMON,\n"
.string "and its SPEED went up.$"
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/map.json b/data/maps/LilycoveCity_DepartmentStore_4F/map.json
index 2abccb783..a95cf6c3e 100644
--- a/data/maps/LilycoveCity_DepartmentStore_4F/map.json
+++ b/data/maps/LilycoveCity_DepartmentStore_4F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FDEB",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FDF4",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FDFD",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_Youngster",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FE06",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_ClerkLeft",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_4F_EventScript_21FE2C",
+ "script": "LilycoveCity_DepartmentStore_4F_EventScript_ClerkRight",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc
index d78baaf3d..441697a7c 100644
--- a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc
@@ -1,72 +1,72 @@
LilycoveCity_DepartmentStore_4F_MapScripts:: @ 821FDEA
.byte 0
-LilycoveCity_DepartmentStore_4F_EventScript_21FDEB:: @ 821FDEB
- msgbox LilycoveCity_DepartmentStore_4F_Text_21FE50, MSGBOX_NPC
+LilycoveCity_DepartmentStore_4F_EventScript_Gentleman:: @ 821FDEB
+ msgbox LilycoveCity_DepartmentStore_4F_Text_AttackOrDefenseTM, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_4F_EventScript_21FDF4:: @ 821FDF4
- msgbox LilycoveCity_DepartmentStore_4F_Text_21FEC7, MSGBOX_NPC
+LilycoveCity_DepartmentStore_4F_EventScript_Woman:: @ 821FDF4
+ msgbox LilycoveCity_DepartmentStore_4F_Text_FiftyDifferentTMs, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_4F_EventScript_21FDFD:: @ 821FDFD
- msgbox LilycoveCity_DepartmentStore_4F_Text_21FF2D, MSGBOX_NPC
+LilycoveCity_DepartmentStore_4F_EventScript_Youngster:: @ 821FDFD
+ msgbox LilycoveCity_DepartmentStore_4F_Text_PokemonOnlyHaveFourMoves, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_4F_EventScript_21FE06:: @ 821FE06
+LilycoveCity_DepartmentStore_4F_EventScript_ClerkLeft:: @ 821FE06
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE20
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LilycoveCity_DepartmentStore_4F_Pokemart_AttackTMs
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LilycoveCity_DepartmentStore_4F_Pokemart_21FE20: @ 821FE20
- .2byte ITEM_TM38
- .2byte ITEM_TM25
- .2byte ITEM_TM14
- .2byte ITEM_TM15
+LilycoveCity_DepartmentStore_4F_Pokemart_AttackTMs: @ 821FE20
+ .2byte ITEM_TM38 @ Fire Blast
+ .2byte ITEM_TM25 @ Thunder
+ .2byte ITEM_TM14 @ Blizzard
+ .2byte ITEM_TM15 @ Hyper Beam
.2byte ITEM_NONE
release
end
-LilycoveCity_DepartmentStore_4F_EventScript_21FE2C:: @ 821FE2C
+LilycoveCity_DepartmentStore_4F_EventScript_ClerkRight:: @ 821FE2C
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE44
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart LilycoveCity_DepartmentStore_4F_Pokemart_DefenseTMs
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-LilycoveCity_DepartmentStore_4F_Pokemart_21FE44: @ 821FE44
- .2byte ITEM_TM17
- .2byte ITEM_TM20
- .2byte ITEM_TM33
- .2byte ITEM_TM16
+LilycoveCity_DepartmentStore_4F_Pokemart_DefenseTMs: @ 821FE44
+ .2byte ITEM_TM17 @ Protect
+ .2byte ITEM_TM20 @ Safeguard
+ .2byte ITEM_TM33 @ Reflect
+ .2byte ITEM_TM16 @ Light Screen
.2byte ITEM_NONE
release
end
-LilycoveCity_DepartmentStore_4F_Text_21FE50: @ 821FE50
+LilycoveCity_DepartmentStore_4F_Text_AttackOrDefenseTM: @ 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
+LilycoveCity_DepartmentStore_4F_Text_FiftyDifferentTMs: @ 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
+LilycoveCity_DepartmentStore_4F_Text_PokemonOnlyHaveFourMoves: @ 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/maps/LilycoveCity_DepartmentStore_5F/map.json b/data/maps/LilycoveCity_DepartmentStore_5F/map.json
index a49de9255..98d15787e 100644
--- a/data/maps/LilycoveCity_DepartmentStore_5F/map.json
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_5F_EventScript_2200BC",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_LittleGirl",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_5F_EventScript_22006C",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_PokefanF",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_5F_EventScript_21FFA6",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarLeft",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_5F_EventScript_21FFDC",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidLeft",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_5F_EventScript_22000A",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidRight",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_5F_EventScript_22003A",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarRight",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_DepartmentStore_5F_EventScript_220075",
+ "script": "LilycoveCity_DepartmentStore_5F_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
index 6b5796604..0a2525b87 100644
--- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
@@ -1,25 +1,27 @@
LilycoveCity_DepartmentStore_5F_MapScripts:: @ 821FF7A
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_DepartmentStore_5F_MapScript2_21FF80
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_DepartmentStore_5F_OnWarp
.byte 0
-LilycoveCity_DepartmentStore_5F_MapScript2_21FF80: @ 821FF80
- map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
- map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 2, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
- map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
+@ During the abnormal weather from Kyogre/Groudon awakening the dept store rooftop is inaccessible
+@ Likely done to avoid dealing with showing the weather. Technically the rooftop is indoors
+LilycoveCity_DepartmentStore_5F_OnWarp: @ 821FF80
+ map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs
+ map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 2, LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs
+ map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs
.2byte 0
-LilycoveCity_DepartmentStore_5F_EventScript_21FF9A:: @ 821FF9A
+LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs:: @ 821FF9A
setobjectxy 7, 16, 2
- turnobject 7, 2
+ turnobject 7, DIR_NORTH
end
-LilycoveCity_DepartmentStore_5F_EventScript_21FFA6:: @ 821FFA6
+LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarLeft:: @ 821FFA6
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Dolls
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -41,13 +43,13 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Dolls: @ 821FFC0
release
end
-LilycoveCity_DepartmentStore_5F_EventScript_21FFDC:: @ 821FFDC
+LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidLeft:: @ 821FFDC
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Cushions
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -66,13 +68,13 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Cushions: @ 821FFF4
release
end
-LilycoveCity_DepartmentStore_5F_EventScript_22000A:: @ 822000A
+LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidRight:: @ 822000A
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Posters
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -91,13 +93,13 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Posters: @ 8220024
release
end
-LilycoveCity_DepartmentStore_5F_EventScript_22003A:: @ 822003A
+LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarRight:: @ 822003A
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_Mats
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -117,53 +119,53 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Mats: @ 8220054
release
end
-LilycoveCity_DepartmentStore_5F_EventScript_22006C:: @ 822006C
- msgbox LilycoveCity_DepartmentStore_5F_Text_2200C5, MSGBOX_NPC
+LilycoveCity_DepartmentStore_5F_EventScript_PokefanF:: @ 822006C
+ msgbox LilycoveCity_DepartmentStore_5F_Text_PlaceFullOfCuteDolls, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075
+LilycoveCity_DepartmentStore_5F_EventScript_Woman:: @ 8220075
lockall
applymovement 7, Common_Movement_FacePlayer
waitmovement 0
compare VAR_SOOTOPOLIS_CITY_STATE, 0
- goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C
+ goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_22009C
- goto LilycoveCity_DepartmentStore_5F_EventScript_2200A7
+ goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal
+ goto LilycoveCity_DepartmentStore_5F_EventScript_WomanLegendaryWeather
end
-LilycoveCity_DepartmentStore_5F_EventScript_22009C:: @ 822009C
- msgbox LilycoveCity_DepartmentStore_5F_Text_22016B, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal:: @ 822009C
+ msgbox LilycoveCity_DepartmentStore_5F_Text_SellManyCuteMatsHere, MSGBOX_DEFAULT
closemessage
releaseall
end
-LilycoveCity_DepartmentStore_5F_EventScript_2200A7:: @ 82200A7
- msgbox LilycoveCity_DepartmentStore_5F_Text_2201C4, MSGBOX_DEFAULT
+LilycoveCity_DepartmentStore_5F_EventScript_WomanLegendaryWeather:: @ 82200A7
+ msgbox LilycoveCity_DepartmentStore_5F_Text_ClosedRooftopForWeather, MSGBOX_DEFAULT
closemessage
- applymovement 7, Common_Movement_WalkInPlaceUp
+ applymovement 7, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
releaseall
end
-LilycoveCity_DepartmentStore_5F_EventScript_2200BC:: @ 82200BC
- msgbox LilycoveCity_DepartmentStore_5F_Text_220122, MSGBOX_NPC
+LilycoveCity_DepartmentStore_5F_EventScript_LittleGirl:: @ 82200BC
+ msgbox LilycoveCity_DepartmentStore_5F_Text_GettingDollInsteadOfPokemon, MSGBOX_NPC
end
-LilycoveCity_DepartmentStore_5F_Text_2200C5: @ 82200C5
+LilycoveCity_DepartmentStore_5F_Text_PlaceFullOfCuteDolls: @ 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
+LilycoveCity_DepartmentStore_5F_Text_GettingDollInsteadOfPokemon: @ 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
+LilycoveCity_DepartmentStore_5F_Text_SellManyCuteMatsHere: @ 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
+LilycoveCity_DepartmentStore_5F_Text_ClosedRooftopForWeather: @ 82201C4
.string "I think they closed the rooftop\n"
.string "because the weather is wild today.$"
diff --git a/data/maps/LilycoveCity_Harbor/map.json b/data/maps/LilycoveCity_Harbor/map.json
index 28e2366e6..1b97c298d 100644
--- a/data/maps/LilycoveCity_Harbor/map.json
+++ b/data/maps/LilycoveCity_Harbor/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_Harbor_EventScript_21E00F",
+ "script": "LilycoveCity_Harbor_EventScript_FerryAttendant",
"flag": "FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_Harbor_EventScript_21E637",
+ "script": "LilycoveCity_Harbor_EventScript_Sailor",
"flag": "0"
},
{
@@ -77,7 +77,7 @@
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
"script": "0x0",
- "flag": "FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER"
+ "flag": "FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER"
}
],
"warp_events": [
diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc
index 4b446c39b..355b813de 100644
--- a/data/maps/LilycoveCity_Harbor/scripts.inc
+++ b/data/maps/LilycoveCity_Harbor/scripts.inc
@@ -6,106 +6,107 @@ LilycoveCity_Harbor_OnTransition: @ 821E006
setescapewarp MAP_LILYCOVE_CITY, 255, 12, 33
end
-LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F
+LilycoveCity_Harbor_EventScript_FerryAttendant:: @ 821E00F
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, 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
+ goto_if_unset FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_FerryUnavailable
+ call LilycoveCity_Harbor_EventScript_GetEonTicketState
+ call LilycoveCity_Harbor_EventScript_GetAuroraTicketState
+ call LilycoveCity_Harbor_EventScript_GetOldSeaMapState
+ call LilycoveCity_Harbor_EventScript_GetMysticTicketState
+ call LilycoveCity_Harbor_EventScript_GetFirstTimeShowingTicket
+ call LilycoveCity_Harbor_EventScript_GetHasTicketsState
compare VAR_TEMP_C, 2
- goto_if_eq LilycoveCity_Harbor_EventScript_21E350
+ goto_if_eq LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime
compare VAR_TEMP_B, 1
- goto_if_eq LilycoveCity_Harbor_EventScript_21E2F0
+ goto_if_eq LilycoveCity_Harbor_EventScript_EonTicketFirstTime
compare VAR_TEMP_B, 2
- goto_if_eq LilycoveCity_Harbor_EventScript_21E320
+ goto_if_eq LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime
compare VAR_TEMP_B, 4
- goto_if_eq LilycoveCity_Harbor_EventScript_21E350
- compare VAR_TEMP_B, 8
- goto_if_eq LilycoveCity_Harbor_EventScript_21E41D
+ goto_if_eq LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime
+ compare VAR_TEMP_B, 8
+ goto_if_eq LilycoveCity_Harbor_EventScript_MysticTicketFirstTime
compare VAR_TEMP_B, 0
- goto_if_ne LilycoveCity_Harbor_EventScript_21E44D
- goto LilycoveCity_Harbor_EventScript_21E080
+ goto_if_ne LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime
+ goto LilycoveCity_Harbor_EventScript_NoFirstTimeEventTickets
end
-LilycoveCity_Harbor_EventScript_21E080:: @ 821E080
+@ First goto_if_eq is unnecessary; identical scripts
+LilycoveCity_Harbor_EventScript_NoFirstTimeEventTickets:: @ 821E080
compare VAR_TEMP_A, 0
- goto_if_eq LilycoveCity_Harbor_EventScript_21E557
- msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT
- message LilycoveCity_Harbor_Text_21E7ED
+ goto_if_eq LilycoveCity_Harbor_EventScript_NoEventTickets
+ msgbox LilycoveCity_Harbor_Text_MayISeeYourTicket, MSGBOX_DEFAULT
+ message LilycoveCity_Harbor_Text_FlashTicketWhereTo
waitmessage
- goto LilycoveCity_Harbor_EventScript_21E09F
+ goto LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect
end
-LilycoveCity_Harbor_EventScript_21E09F:: @ 821E09F
+LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect:: @ 821E09F
setvar VAR_0x8004, 0
- special sub_80E2548
+ special ScriptMenu_CreateLilycoveSSTidalMultichoice
waitstate
- special sub_80E2878
+ special GetLilycoveSSTidalSelection
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
+ case 0, LilycoveCity_Harbor_EventScript_GoToSlateport
+ case 1, LilycoveCity_Harbor_EventScript_GoToBattleFrontier
+ case 2, LilycoveCity_Harbor_EventScript_GoToSouthernIsland
+ case 3, LilycoveCity_Harbor_EventScript_GoToNavelRock
+ case 4, LilycoveCity_Harbor_EventScript_GoToBirthIsland
+ case 5, LilycoveCity_Harbor_EventScript_GoToFarawayIsland
+ case 6, LilycoveCity_Harbor_EventScript_ExitSailSelect
+ case MULTI_B_PRESSED, LilycoveCity_Harbor_EventScript_ExitSailSelect
end
-LilycoveCity_Harbor_EventScript_21E109:: @ 821E109
- call LilycoveCity_Harbor_EventScript_21E5CC
+LilycoveCity_Harbor_EventScript_GoToSouthernIsland:: @ 821E109
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E119:: @ 821E119
- call LilycoveCity_Harbor_EventScript_21E5CC
+LilycoveCity_Harbor_EventScript_GoToNavelRock:: @ 821E119
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_NAVEL_ROCK_HARBOR, 255, 8, 4
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E129:: @ 821E129
- call LilycoveCity_Harbor_EventScript_21E5CC
+LilycoveCity_Harbor_EventScript_GoToBirthIsland:: @ 821E129
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_BIRTH_ISLAND_HARBOR, 255, 8, 4
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E139:: @ 821E139
- call LilycoveCity_Harbor_EventScript_21E5CC
+LilycoveCity_Harbor_EventScript_GoToFarawayIsland:: @ 821E139
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E149:: @ 821E149
- msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
- setvar VAR_PORTHOLE_STATE, 5
- call LilycoveCity_Harbor_EventScript_21E5CC
+LilycoveCity_Harbor_EventScript_GoToSlateport:: @ 821E149
+ msgbox LilycoveCity_Harbor_Text_SlateportItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E171:: @ 821E171
- msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
- call LilycoveCity_Harbor_EventScript_21E5CC
+LilycoveCity_Harbor_EventScript_GoToBattleFrontier:: @ 821E171
+ msgbox LilycoveCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E194:: @ 821E194
+LilycoveCity_Harbor_EventScript_GetEonTicketState:: @ 821E194
setvar VAR_TEMP_E, 0
goto_if_unset FLAG_SYS_HAS_EON_TICKET, Common_EventScript_NopReturn
checkitem ITEM_EON_TICKET, 1
@@ -116,7 +117,7 @@ LilycoveCity_Harbor_EventScript_21E194:: @ 821E194
setvar VAR_TEMP_E, 2
return
-LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6
+LilycoveCity_Harbor_EventScript_GetAuroraTicketState:: @ 821E1C6
setvar VAR_TEMP_D, 0
goto_if_unset FLAG_ENABLE_SHIP_BIRTH_ISLAND, Common_EventScript_NopReturn
checkitem ITEM_AURORA_TICKET, 1
@@ -127,7 +128,7 @@ LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6
setvar VAR_TEMP_D, 2
return
-LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8
+LilycoveCity_Harbor_EventScript_GetOldSeaMapState:: @ 821E1F8
setvar VAR_TEMP_C, 0
goto_if_unset FLAG_ENABLE_SHIP_FARAWAY_ISLAND, Common_EventScript_NopReturn
checkitem ITEM_OLD_SEA_MAP, 1
@@ -138,7 +139,7 @@ LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8
setvar VAR_TEMP_C, 2
return
-LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A
+LilycoveCity_Harbor_EventScript_GetMysticTicketState:: @ 821E22A
setvar VAR_TEMP_9, 0
goto_if_unset FLAG_ENABLE_SHIP_NAVEL_ROCK, Common_EventScript_NopReturn
checkitem ITEM_MYSTIC_TICKET, 1
@@ -149,200 +150,200 @@ LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A
setvar VAR_TEMP_9, 2
return
-LilycoveCity_Harbor_EventScript_21E25C:: @ 821E25C
+LilycoveCity_Harbor_EventScript_GetFirstTimeShowingTicket:: @ 821E25C
setvar VAR_TEMP_B, 0
compare VAR_TEMP_E, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E28E
+ call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingEonTicket
compare VAR_TEMP_D, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E294
+ call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingAuroraTicket
compare VAR_TEMP_C, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E29A
+ call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingOldSeaMap
compare VAR_TEMP_9, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E2A0
+ call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingMysticTicket
return
-LilycoveCity_Harbor_EventScript_21E28E:: @ 821E28E
+LilycoveCity_Harbor_EventScript_SetFirstTimeShowingEonTicket:: @ 821E28E
addvar VAR_TEMP_B, 1
return
-LilycoveCity_Harbor_EventScript_21E294:: @ 821E294
+LilycoveCity_Harbor_EventScript_SetFirstTimeShowingAuroraTicket:: @ 821E294
addvar VAR_TEMP_B, 2
return
-LilycoveCity_Harbor_EventScript_21E29A:: @ 821E29A
+LilycoveCity_Harbor_EventScript_SetFirstTimeShowingOldSeaMap:: @ 821E29A
addvar VAR_TEMP_B, 4
return
-LilycoveCity_Harbor_EventScript_21E2A0:: @ 821E2A0
+LilycoveCity_Harbor_EventScript_SetFirstTimeShowingMysticTicket:: @ 821E2A0
addvar VAR_TEMP_B, 8
return
-LilycoveCity_Harbor_EventScript_21E2A6:: @ 821E2A6
+LilycoveCity_Harbor_EventScript_GetHasTicketsState:: @ 821E2A6
setvar VAR_TEMP_A, 0
compare VAR_TEMP_E, 1
- call_if_eq LilycoveCity_Harbor_EventScript_21E2D8
+ call_if_eq LilycoveCity_Harbor_EventScript_SetHasEonTicket
compare VAR_TEMP_D, 1
- call_if_eq LilycoveCity_Harbor_EventScript_21E2DE
+ call_if_eq LilycoveCity_Harbor_EventScript_SetHasAuroraTicket
compare VAR_TEMP_C, 1
- call_if_eq LilycoveCity_Harbor_EventScript_21E2E4
+ call_if_eq LilycoveCity_Harbor_EventScript_SetHasOldSeaMap
compare VAR_TEMP_9, 1
- call_if_eq LilycoveCity_Harbor_EventScript_21E2EA
+ call_if_eq LilycoveCity_Harbor_EventScript_SetHasMysticTicket
return
-LilycoveCity_Harbor_EventScript_21E2D8:: @ 821E2D8
+LilycoveCity_Harbor_EventScript_SetHasEonTicket:: @ 821E2D8
addvar VAR_TEMP_A, 1
return
-LilycoveCity_Harbor_EventScript_21E2DE:: @ 821E2DE
+LilycoveCity_Harbor_EventScript_SetHasAuroraTicket:: @ 821E2DE
addvar VAR_TEMP_A, 2
return
-LilycoveCity_Harbor_EventScript_21E2E4:: @ 821E2E4
+LilycoveCity_Harbor_EventScript_SetHasOldSeaMap:: @ 821E2E4
addvar VAR_TEMP_A, 4
return
-LilycoveCity_Harbor_EventScript_21E2EA:: @ 821E2EA
+LilycoveCity_Harbor_EventScript_SetHasMysticTicket:: @ 821E2EA
addvar VAR_TEMP_A, 8
return
-LilycoveCity_Harbor_EventScript_21E2F0:: @ 821E2F0
+LilycoveCity_Harbor_EventScript_EonTicketFirstTime:: @ 821E2F0
setflag FLAG_HAS_EON_TICKET
- msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
+ msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
closemessage
- call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2A68FC, MSGBOX_DEFAULT
- goto LilycoveCity_Harbor_EventScript_21E30F
+ call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
+ msgbox EventTicket_Text_ShowEonTicket, MSGBOX_DEFAULT
+ goto LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime
end
-LilycoveCity_Harbor_EventScript_21E30F:: @ 821E30F
+LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime:: @ 821E30F
closemessage
- call LilycoveCity_Harbor_EventScript_21E514
+ call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
warp MAP_SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E320:: @ 821E320
+LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime:: @ 821E320
setflag FLAG_HAS_AURORA_TICKET
- msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
+ msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
closemessage
- call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2C6A71, MSGBOX_DEFAULT
- goto LilycoveCity_Harbor_EventScript_21E33F
+ call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
+ msgbox EventTicket_Text_OddTicketGetOnBoard, MSGBOX_DEFAULT
+ goto LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime
end
-LilycoveCity_Harbor_EventScript_21E33F:: @ 821E33F
+LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime:: @ 821E33F
closemessage
- call LilycoveCity_Harbor_EventScript_21E514
+ call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
warp MAP_BIRTH_ISLAND_HARBOR, 255, 8, 4
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E350:: @ 821E350
+LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime:: @ 821E350
setflag FLAG_HAS_OLD_SEA_MAP
- msgbox LilycoveCity_Harbor_Text_2A6848, MSGBOX_DEFAULT
+ msgbox EventTicket_Text_ShowOldSeaMap, MSGBOX_DEFAULT
closemessage
- call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2C68A5, MSGBOX_DEFAULT
+ call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
+ msgbox EventTicket_Text_OldSeaMapTooFar, MSGBOX_DEFAULT
closemessage
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
playse SE_PIN
applymovement 4, Common_Movement_ExclamationMark
waitmovement 0
applymovement 4, Common_Movement_Delay48
waitmovement 0
- compare VAR_FACING, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E656
- compare VAR_FACING, 4
- call_if_eq LilycoveCity_Harbor_EventScript_21E661
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayEast
addobject 5
- compare VAR_FACING, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E675
- compare VAR_FACING, 4
- call_if_eq LilycoveCity_Harbor_EventScript_21E680
- msgbox LilycoveCity_Harbor_Text_2C6951, MSGBOX_DEFAULT
- compare VAR_FACING, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E68B
- compare VAR_FACING, 4
- call_if_eq LilycoveCity_Harbor_EventScript_21E696
- msgbox LilycoveCity_Harbor_Text_2C69AA, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast
+ msgbox EventTicket_Text_BrineyHoldOnASecond, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast
+ msgbox EventTicket_Text_BrineyLetsSail, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E6A1
- compare VAR_FACING, 4
- call_if_eq LilycoveCity_Harbor_EventScript_21E6BA
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorEast
setvar VAR_0x8004, 2
- call LilycoveCity_Harbor_EventScript_2721E2
+ call Common_EventScript_FerryDepart
warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E40C:: @ 821E40C
+LilycoveCity_Harbor_EventScript_GoToFarawayIslandFirstTime:: @ 821E40C
closemessage
- call LilycoveCity_Harbor_EventScript_21E514
+ call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E41D:: @ 821E41D
+LilycoveCity_Harbor_EventScript_MysticTicketFirstTime:: @ 821E41D
setflag FLAG_HAS_MYSTIC_TICKET
- msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
+ msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
closemessage
- call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2C6A71, MSGBOX_DEFAULT
- goto LilycoveCity_Harbor_EventScript_21E43C
+ call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
+ msgbox EventTicket_Text_OddTicketGetOnBoard, MSGBOX_DEFAULT
+ goto LilycoveCity_Harbor_EventScript_GoToNavelRockFirstTime
end
-LilycoveCity_Harbor_EventScript_21E43C:: @ 821E43C
+LilycoveCity_Harbor_EventScript_GoToNavelRockFirstTime:: @ 821E43C
closemessage
- call LilycoveCity_Harbor_EventScript_21E514
+ call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
warp MAP_NAVEL_ROCK_HARBOR, 255, 8, 4
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E44D:: @ 821E44D
- msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
+LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime:: @ 821E44D
+ msgbox EventTicket_Text_ThatPass, MSGBOX_DEFAULT
closemessage
- call LilycoveCity_Harbor_EventScript_21E4EE
- message LilycoveCity_Harbor_Text_2C6BD4
+ call LilycoveCity_Harbor_EventScript_GetEventTicketSailor
+ message EventTicket_Text_OddTicketsWhereTo
waitmessage
setvar VAR_0x8004, 1
- special sub_80E2548
+ special ScriptMenu_CreateLilycoveSSTidalMultichoice
waitstate
- special sub_80E2878
+ special GetLilycoveSSTidalSelection
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
+ case 2, LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime
+ case 3, LilycoveCity_Harbor_EventScript_GoToNavelRockFirstTime
+ case 4, LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime
+ case 5, LilycoveCity_Harbor_EventScript_GoToFarawayIslandFirstTime
+ case 6, LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect
+ case MULTI_B_PRESSED, LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect
release
end
-LilycoveCity_Harbor_EventScript_21E4B6:: @ 821E4B6
- msgbox LilycoveCity_Harbor_Text_2A6A82, MSGBOX_DEFAULT
+LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect:: @ 821E4B6
+ msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT
closemessage
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 30
removeobject 4
delay 30
- applymovement 1, Common_Movement_WalkInPlaceDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
showobjectat 1, MAP_LILYCOVE_CITY_HARBOR
delay 30
- msgbox LilycoveCity_Harbor_Text_21E842, MSGBOX_DEFAULT
+ msgbox LilycoveCity_Harbor_Text_SailAnotherTime, MSGBOX_DEFAULT
release
end
-LilycoveCity_Harbor_EventScript_21E4EE:: @ 821E4EE
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp
+LilycoveCity_Harbor_EventScript_GetEventTicketSailor:: @ 821E4EE
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 30
hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR
@@ -353,194 +354,197 @@ LilycoveCity_Harbor_EventScript_21E4EE:: @ 821E4EE
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E514:: @ 821E514
- applymovement 4, Common_Movement_WalkInPlaceUp
+LilycoveCity_Harbor_EventScript_BoardFerryWithSailor:: @ 821E514
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 30
removeobject 4
- compare VAR_FACING, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E61B
- compare VAR_FACING, 4
- call_if_eq LilycoveCity_Harbor_EventScript_21E610
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast
delay 30
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
setvar VAR_0x8004, 2
- call LilycoveCity_Harbor_EventScript_2721E2
+ call Common_EventScript_FerryDepart
return
-LilycoveCity_Harbor_EventScript_21E54D:: @ 821E54D
- msgbox LilycoveCity_Harbor_Text_21E6F1, MSGBOX_DEFAULT
+LilycoveCity_Harbor_EventScript_FerryUnavailable:: @ 821E54D
+ msgbox LilycoveCity_Harbor_Text_FerryUnavailable, MSGBOX_DEFAULT
release
end
-LilycoveCity_Harbor_EventScript_21E557:: @ 821E557
- msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT
- message LilycoveCity_Harbor_Text_21E7ED
+LilycoveCity_Harbor_EventScript_NoEventTickets:: @ 821E557
+ msgbox LilycoveCity_Harbor_Text_MayISeeYourTicket, MSGBOX_DEFAULT
+ message LilycoveCity_Harbor_Text_FlashTicketWhereTo
waitmessage
- goto LilycoveCity_Harbor_EventScript_21E09F
+ goto LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect
end
-LilycoveCity_Harbor_EventScript_21E56B:: @ 821E56B
- msgbox LilycoveCity_Harbor_Text_21E792, MSGBOX_DEFAULT
+@ Unused
+LilycoveCity_Harbor_EventScript_NoTicket:: @ 821E56B
+ msgbox LilycoveCity_Harbor_Text_NoTicket, MSGBOX_DEFAULT
release
end
-LilycoveCity_Harbor_EventScript_21E575:: @ 821E575
- msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
- setvar VAR_PORTHOLE_STATE, 5
- call LilycoveCity_Harbor_EventScript_21E5CC
+@ Unused
+LilycoveCity_Harbor_EventScript_GoToSlateportUnused:: @ 821E575
+ msgbox LilycoveCity_Harbor_Text_SlateportItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E59D:: @ 821E59D
- msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
- call LilycoveCity_Harbor_EventScript_21E5CC
+@ Unused
+LilycoveCity_Harbor_EventScript_GoToBattleFrontierUnused:: @ 821E59D
+ msgbox LilycoveCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ call LilycoveCity_Harbor_EventScript_BoardFerry
warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
waitstate
release
end
-LilycoveCity_Harbor_EventScript_21E5C0:: @ 821E5C0
- message LilycoveCity_Harbor_Text_21E8CC
+LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind:: @ 821E5C0
+ message LilycoveCity_Harbor_Text_WhereWouldYouLikeToGo
waitmessage
- goto LilycoveCity_Harbor_EventScript_21E09F
+ goto LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect
end
-LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC
- msgbox LilycoveCity_Harbor_Text_21E89D, MSGBOX_DEFAULT
+LilycoveCity_Harbor_EventScript_BoardFerry:: @ 821E5CC
+ msgbox LilycoveCity_Harbor_Text_PleaseBoard, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 30
hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR
- compare VAR_FACING, 2
- call_if_eq LilycoveCity_Harbor_EventScript_21E61B
- compare VAR_FACING, 4
- call_if_eq LilycoveCity_Harbor_EventScript_21E610
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast
delay 30
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
setvar VAR_0x8004, 2
- call LilycoveCity_Harbor_EventScript_2721E2
+ call Common_EventScript_FerryDepart
return
-LilycoveCity_Harbor_EventScript_21E610:: @ 821E610
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E630
+LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast:: @ 821E610
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryEast
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E633
+LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth:: @ 821E61B
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryNorth
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E626:: @ 821E626
- msgbox LilycoveCity_Harbor_Text_21E842, MSGBOX_DEFAULT
+LilycoveCity_Harbor_EventScript_ExitSailSelect:: @ 821E626
+ msgbox LilycoveCity_Harbor_Text_SailAnotherTime, MSGBOX_DEFAULT
release
end
-LilycoveCity_Harbor_Movement_21E630: @ 821E630
+LilycoveCity_Harbor_Movement_PlayerBoardFerryEast: @ 821E630
walk_right
walk_in_place_fastest_up
step_end
-LilycoveCity_Harbor_Movement_21E633: @ 821E633
+LilycoveCity_Harbor_Movement_PlayerBoardFerryNorth: @ 821E633
walk_up
step_end
-LilycoveCity_Harbor_Movement_21E635: @ 821E635
+LilycoveCity_Harbor_Movement_UnusedBoardFerry: @ 821E635
walk_up
step_end
-LilycoveCity_Harbor_EventScript_21E637:: @ 821E637
+LilycoveCity_Harbor_EventScript_Sailor:: @ 821E637
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_21E64C
- msgbox LilycoveCity_Harbor_Text_21E8EE, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_SailorFerryAvailable
+ msgbox LilycoveCity_Harbor_Text_SailorFerryUnavailable, MSGBOX_DEFAULT
release
end
-LilycoveCity_Harbor_EventScript_21E64C:: @ 821E64C
- msgbox LilycoveCity_Harbor_Text_21E976, MSGBOX_DEFAULT
+LilycoveCity_Harbor_EventScript_SailorFerryAvailable:: @ 821E64C
+ msgbox LilycoveCity_Harbor_Text_SailorFerryAvailable, MSGBOX_DEFAULT
release
end
-LilycoveCity_Harbor_EventScript_21E656:: @ 821E656
- applymovement 4, LilycoveCity_Harbor_Movement_21E66C
+LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayNorth:: @ 821E656
+ applymovement 4, LilycoveCity_Harbor_Movement_SailorOutOfWayNorth
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E661:: @ 821E661
- applymovement 4, LilycoveCity_Harbor_Movement_21E671
+LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayEast:: @ 821E661
+ applymovement 4, LilycoveCity_Harbor_Movement_SailorOutOfWayEast
waitmovement 0
return
-LilycoveCity_Harbor_Movement_21E66C: @ 821E66C
+LilycoveCity_Harbor_Movement_SailorOutOfWayNorth: @ 821E66C
walk_in_place_fastest_right
lock_facing_direction
walk_left
unlock_facing_direction
step_end
-LilycoveCity_Harbor_Movement_21E671: @ 821E671
+LilycoveCity_Harbor_Movement_SailorOutOfWayEast: @ 821E671
lock_facing_direction
walk_down
unlock_facing_direction
step_end
-LilycoveCity_Harbor_EventScript_21E675:: @ 821E675
- applymovement 5, Common_Movement_WalkInPlaceLeft
+LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth:: @ 821E675
+ applymovement 5, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E680:: @ 821E680
- applymovement 5, Common_Movement_WalkInPlaceDown
+LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast:: @ 821E680
+ applymovement 5, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E68B:: @ 821E68B
- applymovement 5, Common_Movement_WalkInPlaceDown
+LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth:: @ 821E68B
+ applymovement 5, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E696:: @ 821E696
- applymovement 5, Common_Movement_WalkInPlaceLeft
+LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast:: @ 821E696
+ applymovement 5, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E6A1:: @ 821E6A1
- applymovement 5, LilycoveCity_Harbor_Movement_21E6D3
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6D7
- applymovement 4, LilycoveCity_Harbor_Movement_21E6DC
+LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorNorth:: @ 821E6A1
+ applymovement 5, LilycoveCity_Harbor_Movement_BrineyBoardFerry
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyNorth
+ applymovement 4, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyNorth
waitmovement 0
return
-LilycoveCity_Harbor_EventScript_21E6BA:: @ 821E6BA
- applymovement 5, LilycoveCity_Harbor_Movement_21E6D3
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6E4
- applymovement 4, LilycoveCity_Harbor_Movement_21E6EA
+LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorEast:: @ 821E6BA
+ applymovement 5, LilycoveCity_Harbor_Movement_BrineyBoardFerry
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyEast
+ applymovement 4, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyEast
waitmovement 0
return
-LilycoveCity_Harbor_Movement_21E6D3: @ 821E6D3
+LilycoveCity_Harbor_Movement_BrineyBoardFerry: @ 821E6D3
walk_in_place_fastest_up
delay_8
set_invisible
step_end
-LilycoveCity_Harbor_Movement_21E6D7: @ 821E6D7
+LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyNorth: @ 821E6D7
delay_16
walk_up
delay_16
set_invisible
step_end
-LilycoveCity_Harbor_Movement_21E6DC: @ 821E6DC
+LilycoveCity_Harbor_Movement_SailorBoardWithBrineyNorth: @ 821E6DC
delay_16
delay_16
delay_16
@@ -550,7 +554,7 @@ LilycoveCity_Harbor_Movement_21E6DC: @ 821E6DC
set_invisible
step_end
-LilycoveCity_Harbor_Movement_21E6E4: @ 821E6E4
+LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyEast: @ 821E6E4
delay_16
walk_right
walk_in_place_fastest_up
@@ -558,7 +562,7 @@ LilycoveCity_Harbor_Movement_21E6E4: @ 821E6E4
set_invisible
step_end
-LilycoveCity_Harbor_Movement_21E6EA: @ 821E6EA
+LilycoveCity_Harbor_Movement_SailorBoardWithBrineyEast: @ 821E6EA
delay_16
delay_16
delay_16
@@ -567,51 +571,50 @@ LilycoveCity_Harbor_Movement_21E6EA: @ 821E6EA
set_invisible
step_end
-LilycoveCity_Harbor_Text_21E6F1: @ 821E6F1
+LilycoveCity_Harbor_Text_FerryUnavailable: @ 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
+LilycoveCity_Harbor_Text_MayISeeYourTicket: @ 821E758
.string "Hello, are you here for the ferry?\n"
.string "May I see your TICKET?$"
-
-LilycoveCity_Harbor_Text_21E792: @ 821E792
+LilycoveCity_Harbor_Text_NoTicket: @ 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
+LilycoveCity_Harbor_Text_FlashTicketWhereTo: @ 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
+LilycoveCity_Harbor_Text_SailAnotherTime: @ 821E842
.string "Please sail with us another time!$"
-LilycoveCity_Harbor_Text_21E864: @ 821E864
+LilycoveCity_Harbor_Text_SlateportItIs: @ 821E864
.string "SLATEPORT CITY it is, then!$"
-LilycoveCity_Harbor_Text_21E880: @ 821E880
+LilycoveCity_Harbor_Text_BattleFrontierItIs: @ 821E880
.string "BATTLE FRONTIER it is, then!$"
-LilycoveCity_Harbor_Text_21E89D: @ 821E89D
+LilycoveCity_Harbor_Text_PleaseBoard: @ 821E89D
.string "Please board the ferry and wait for\n"
.string "departure.$"
-LilycoveCity_Harbor_Text_21E8CC: @ 821E8CC
+LilycoveCity_Harbor_Text_WhereWouldYouLikeToGo: @ 821E8CC
.string "Then, where would you like to go?$"
-LilycoveCity_Harbor_Text_21E8EE: @ 821E8EE
+LilycoveCity_Harbor_Text_SailorFerryUnavailable: @ 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
+LilycoveCity_Harbor_Text_SailorFerryAvailable: @ 821E976
.string "The ferry S.S. TIDAL is finally in\n"
.string "operation.\p"
.string "The folks at the SHIPYARD in SLATEPORT\n"
diff --git a/data/maps/LilycoveCity_House1/map.json b/data/maps/LilycoveCity_House1/map.json
index 54fa58333..4f3fbcc28 100644
--- a/data/maps/LilycoveCity_House1/map.json
+++ b/data/maps/LilycoveCity_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House1_EventScript_21ECCE",
+ "script": "LilycoveCity_House1_EventScript_ExpertM",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House1_EventScript_21ECD7",
+ "script": "LilycoveCity_House1_EventScript_Kecleon",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_House1/scripts.inc b/data/maps/LilycoveCity_House1/scripts.inc
index ce09fa3dc..207b27a11 100644
--- a/data/maps/LilycoveCity_House1/scripts.inc
+++ b/data/maps/LilycoveCity_House1/scripts.inc
@@ -1,26 +1,26 @@
LilycoveCity_House1_MapScripts:: @ 821ECCD
.byte 0
-LilycoveCity_House1_EventScript_21ECCE:: @ 821ECCE
- msgbox LilycoveCity_House1_Text_21ECEA, MSGBOX_NPC
+LilycoveCity_House1_EventScript_ExpertM:: @ 821ECCE
+ msgbox LilycoveCity_House1_Text_PokemonPartnersNotTools, MSGBOX_NPC
end
-LilycoveCity_House1_EventScript_21ECD7:: @ 821ECD7
+LilycoveCity_House1_EventScript_Kecleon:: @ 821ECD7
lock
faceplayer
waitse
playmoncry SPECIES_KECLEON, 0
- msgbox LilycoveCity_House1_Text_21ED63, MSGBOX_DEFAULT
+ msgbox LilycoveCity_House1_Text_Kecleon, MSGBOX_DEFAULT
waitmoncry
release
end
-LilycoveCity_House1_Text_21ECEA: @ 821ECEA
+LilycoveCity_House1_Text_PokemonPartnersNotTools: @ 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
+LilycoveCity_House1_Text_Kecleon: @ 821ED63
.string "KECLEON: Ruroro?$"
diff --git a/data/maps/LilycoveCity_House2/map.json b/data/maps/LilycoveCity_House2/map.json
index b3e4127a6..c92a50499 100644
--- a/data/maps/LilycoveCity_House2/map.json
+++ b/data/maps/LilycoveCity_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House2_EventScript_21ED75",
+ "script": "LilycoveCity_House2_EventScript_FatMan",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc
index 0a0792bfd..29d741abd 100644
--- a/data/maps/LilycoveCity_House2/scripts.inc
+++ b/data/maps/LilycoveCity_House2/scripts.inc
@@ -1,30 +1,30 @@
LilycoveCity_House2_MapScripts:: @ 821ED74
.byte 0
-LilycoveCity_House2_EventScript_21ED75:: @ 821ED75
+LilycoveCity_House2_EventScript_FatMan:: @ 821ED75
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_21EDAC
- msgbox LilycoveCity_House2_Text_21EDB6, MSGBOX_DEFAULT
- giveitem_std ITEM_TM44
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_ReceivedRest
+ msgbox LilycoveCity_House2_Text_NotAwakeYetHaveThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM44
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM44
- msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT
+ msgbox LilycoveCity_House2_Text_SleepIsEssential, MSGBOX_DEFAULT
release
end
-LilycoveCity_House2_EventScript_21EDAC:: @ 821EDAC
- msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT
+LilycoveCity_House2_EventScript_ReceivedRest:: @ 821EDAC
+ msgbox LilycoveCity_House2_Text_SleepIsEssential, MSGBOX_DEFAULT
release
end
-LilycoveCity_House2_Text_21EDB6: @ 821EDB6
+LilycoveCity_House2_Text_NotAwakeYetHaveThis: @ 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
+LilycoveCity_House2_Text_SleepIsEssential: @ 821EDF9
.string "Yawn…\p"
.string "Sleep is essential for good health…\n"
.string "Sleep and regain health…$"
diff --git a/data/maps/LilycoveCity_House3/map.json b/data/maps/LilycoveCity_House3/map.json
index 537fc46b3..e8010956d 100644
--- a/data/maps/LilycoveCity_House3/map.json
+++ b/data/maps/LilycoveCity_House3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House3_EventScript_21EF3D",
+ "script": "LilycoveCity_House3_EventScript_GameBoyKid4",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House3_EventScript_21EE4B",
+ "script": "LilycoveCity_House3_EventScript_PokefanF",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House3_EventScript_21EED5",
+ "script": "LilycoveCity_House3_EventScript_GameBoyKid2",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House3_EventScript_21EF09",
+ "script": "LilycoveCity_House3_EventScript_GameBoyKid3",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House3_EventScript_21EEA1",
+ "script": "LilycoveCity_House3_EventScript_GameBoyKid1",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House3_EventScript_21EE8A",
+ "script": "LilycoveCity_House3_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_House3/scripts.inc b/data/maps/LilycoveCity_House3/scripts.inc
index 7d949fd8b..8d4a1059e 100644
--- a/data/maps/LilycoveCity_House3/scripts.inc
+++ b/data/maps/LilycoveCity_House3/scripts.inc
@@ -7,98 +7,98 @@ LilycoveCity_House3_OnTransition: @ 821EE42
copyvar VAR_TEMP_1, VAR_RESULT
end
-LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B
+LilycoveCity_House3_EventScript_PokefanF:: @ 821EE4B
lock
faceplayer
- msgbox LilycoveCity_House3_Text_21EF99, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_House3_EventScript_21EE75
- msgbox LilycoveCity_House3_Text_21F0F8, MSGBOX_DEFAULT
+ msgbox LilycoveCity_House3_Text_LearnFromMasterOfPokeblocks, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_House3_EventScript_DeclinePokeblockLearn
+ msgbox LilycoveCity_House3_Text_ExplainPokeblocks, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_House3_EventScript_21EE75:: @ 821EE75
- msgbox LilycoveCity_House3_Text_21F0A9, MSGBOX_DEFAULT
+LilycoveCity_House3_EventScript_DeclinePokeblockLearn:: @ 821EE75
+ msgbox LilycoveCity_House3_Text_OhAreYouSure, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_House3_EventScript_21EE8A:: @ 821EE8A
+LilycoveCity_House3_EventScript_Man:: @ 821EE8A
lock
faceplayer
- msgbox LilycoveCity_House3_Text_21F430, MSGBOX_DEFAULT
+ msgbox LilycoveCity_House3_Text_HappyToHaveQuadruplets, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_House3_EventScript_21EEA1:: @ 821EEA1
+LilycoveCity_House3_EventScript_GameBoyKid1:: @ 821EEA1
lock
faceplayer
switch VAR_TEMP_1
- case 0, LilycoveCity_House3_EventScript_21EF71
- case 1, LilycoveCity_House3_EventScript_21EF7B
- case 2, LilycoveCity_House3_EventScript_21EF85
- case 3, LilycoveCity_House3_EventScript_21EF8F
+ case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle
+ case 1, LilycoveCity_House3_EventScript_WereMixingRecords
+ case 2, LilycoveCity_House3_EventScript_WereBlendingBerries
+ case 3, LilycoveCity_House3_EventScript_WereDoingContest
end
-LilycoveCity_House3_EventScript_21EED5:: @ 821EED5
+LilycoveCity_House3_EventScript_GameBoyKid2:: @ 821EED5
lock
faceplayer
switch VAR_TEMP_1
- case 0, LilycoveCity_House3_EventScript_21EF71
- case 1, LilycoveCity_House3_EventScript_21EF7B
- case 2, LilycoveCity_House3_EventScript_21EF85
- case 3, LilycoveCity_House3_EventScript_21EF8F
+ case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle
+ case 1, LilycoveCity_House3_EventScript_WereMixingRecords
+ case 2, LilycoveCity_House3_EventScript_WereBlendingBerries
+ case 3, LilycoveCity_House3_EventScript_WereDoingContest
end
-LilycoveCity_House3_EventScript_21EF09:: @ 821EF09
+LilycoveCity_House3_EventScript_GameBoyKid3:: @ 821EF09
lock
faceplayer
switch VAR_TEMP_1
- case 0, LilycoveCity_House3_EventScript_21EF71
- case 1, LilycoveCity_House3_EventScript_21EF7B
- case 2, LilycoveCity_House3_EventScript_21EF85
- case 3, LilycoveCity_House3_EventScript_21EF8F
+ case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle
+ case 1, LilycoveCity_House3_EventScript_WereMixingRecords
+ case 2, LilycoveCity_House3_EventScript_WereBlendingBerries
+ case 3, LilycoveCity_House3_EventScript_WereDoingContest
end
-LilycoveCity_House3_EventScript_21EF3D:: @ 821EF3D
+LilycoveCity_House3_EventScript_GameBoyKid4:: @ 821EF3D
lock
faceplayer
switch VAR_TEMP_1
- case 0, LilycoveCity_House3_EventScript_21EF71
- case 1, LilycoveCity_House3_EventScript_21EF7B
- case 2, LilycoveCity_House3_EventScript_21EF85
- case 3, LilycoveCity_House3_EventScript_21EF8F
+ case 0, LilycoveCity_House3_EventScript_WereDoingMultiBattle
+ case 1, LilycoveCity_House3_EventScript_WereMixingRecords
+ case 2, LilycoveCity_House3_EventScript_WereBlendingBerries
+ case 3, LilycoveCity_House3_EventScript_WereDoingContest
end
-LilycoveCity_House3_EventScript_21EF71:: @ 821EF71
- msgbox LilycoveCity_House3_Text_21F4A7, MSGBOX_DEFAULT
+LilycoveCity_House3_EventScript_WereDoingMultiBattle:: @ 821EF71
+ msgbox LilycoveCity_House3_Text_GoingToWinMultiBattles, MSGBOX_DEFAULT
release
end
-LilycoveCity_House3_EventScript_21EF7B:: @ 821EF7B
- msgbox LilycoveCity_House3_Text_21F4E0, MSGBOX_DEFAULT
+LilycoveCity_House3_EventScript_WereMixingRecords:: @ 821EF7B
+ msgbox LilycoveCity_House3_Text_LikeMixingAtRecordCorner, MSGBOX_DEFAULT
release
end
-LilycoveCity_House3_EventScript_21EF85:: @ 821EF85
- msgbox LilycoveCity_House3_Text_21F523, MSGBOX_DEFAULT
+LilycoveCity_House3_EventScript_WereBlendingBerries:: @ 821EF85
+ msgbox LilycoveCity_House3_Text_MakePokeblocksWithBerryBlender, MSGBOX_DEFAULT
release
end
-LilycoveCity_House3_EventScript_21EF8F:: @ 821EF8F
- msgbox LilycoveCity_House3_Text_21F55A, MSGBOX_DEFAULT
+LilycoveCity_House3_EventScript_WereDoingContest:: @ 821EF8F
+ msgbox LilycoveCity_House3_Text_GoingToEnterContest, MSGBOX_DEFAULT
release
end
-LilycoveCity_House3_Text_21EF99: @ 821EF99
+LilycoveCity_House3_Text_LearnFromMasterOfPokeblocks: @ 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"
@@ -109,12 +109,12 @@ LilycoveCity_House3_Text_21EF99: @ 821EF99
.string "Would you like to learn from me,\n"
.string "a master of {POKEBLOCK}S?$"
-LilycoveCity_House3_Text_21F0A9: @ 821F0A9
+LilycoveCity_House3_Text_OhAreYouSure: @ 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
+LilycoveCity_House3_Text_ExplainPokeblocks: @ 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"
@@ -143,26 +143,26 @@ LilycoveCity_House3_Text_21F0F8: @ 821F0F8
.string "the world would be a happier place.\p"
.string "Don't give up, dear!$"
-LilycoveCity_House3_Text_21F430: @ 821F430
+LilycoveCity_House3_Text_HappyToHaveQuadruplets: @ 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
+LilycoveCity_House3_Text_GoingToWinMultiBattles: @ 821F4A7
.string "We're having MULTI BATTLES, but I know\n"
.string "I'm going to win.$"
-LilycoveCity_House3_Text_21F4E0: @ 821F4E0
+LilycoveCity_House3_Text_LikeMixingAtRecordCorner: @ 821F4E0
.string "We like mixing stuff at\n"
.string "the RECORD CORNER.\p"
.string "But what gets mixed up?$"
-LilycoveCity_House3_Text_21F523: @ 821F523
+LilycoveCity_House3_Text_MakePokeblocksWithBerryBlender: @ 821F523
.string "We're going to make super {POKEBLOCK}S\n"
.string "with a BERRY BLENDER!$"
-LilycoveCity_House3_Text_21F55A: @ 821F55A
+LilycoveCity_House3_Text_GoingToEnterContest: @ 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/maps/LilycoveCity_House4/map.json b/data/maps/LilycoveCity_House4/map.json
index f442d00ba..95fc79d35 100644
--- a/data/maps/LilycoveCity_House4/map.json
+++ b/data/maps/LilycoveCity_House4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House4_EventScript_21F5B5",
+ "script": "LilycoveCity_House4_EventScript_Man1",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_House4_EventScript_21F5BE",
+ "script": "LilycoveCity_House4_EventScript_Man2",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_House4/scripts.inc b/data/maps/LilycoveCity_House4/scripts.inc
index 2306ff6df..685a91b7d 100644
--- a/data/maps/LilycoveCity_House4/scripts.inc
+++ b/data/maps/LilycoveCity_House4/scripts.inc
@@ -1,20 +1,20 @@
LilycoveCity_House4_MapScripts:: @ 821F5B4
.byte 0
-LilycoveCity_House4_EventScript_21F5B5:: @ 821F5B5
- msgbox LilycoveCity_House4_Text_21F5C7, MSGBOX_NPC
+LilycoveCity_House4_EventScript_Man1:: @ 821F5B5
+ msgbox LilycoveCity_House4_Text_MysteriesAtBottomOfSea, MSGBOX_NPC
end
-LilycoveCity_House4_EventScript_21F5BE:: @ 821F5BE
- msgbox LilycoveCity_House4_Text_21F62B, MSGBOX_NPC
+LilycoveCity_House4_EventScript_Man2:: @ 821F5BE
+ msgbox LilycoveCity_House4_Text_UnderwaterTrenchMossdeepSootopolis, MSGBOX_NPC
end
-LilycoveCity_House4_Text_21F5C7: @ 821F5C7
+LilycoveCity_House4_Text_MysteriesAtBottomOfSea: @ 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
+LilycoveCity_House4_Text_UnderwaterTrenchMossdeepSootopolis: @ 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/maps/LilycoveCity_LilycoveMuseum_1F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json
index 11272059e..83028fbeb 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Greeter",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Curator",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_SchoolKidM",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Artist1",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E07",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E10",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Woman1",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E19",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Woman2",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_Artist2",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E42",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_FatMan",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218E22",
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_PsychicM",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3"
}
],
@@ -176,7 +176,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_FantasyPainting"
},
{
"type": "sign",
@@ -184,7 +184,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_FantasyPainting"
},
{
"type": "sign",
@@ -192,7 +192,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_BerryPainting"
},
{
"type": "sign",
@@ -200,7 +200,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_BerryPainting"
},
{
"type": "sign",
@@ -208,7 +208,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_OldPainting"
},
{
"type": "sign",
@@ -216,7 +216,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_WomanPainting"
},
{
"type": "sign",
@@ -224,7 +224,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_WomanPainting"
},
{
"type": "sign",
@@ -232,7 +232,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA"
+ "script": "LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture"
},
{
"type": "sign",
@@ -240,7 +240,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_OldPainting"
},
{
"type": "sign",
@@ -248,7 +248,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_GrassPokemonPainting"
},
{
"type": "sign",
@@ -256,7 +256,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet"
},
{
"type": "sign",
@@ -264,7 +264,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_LegendaryPokemonPainting"
},
{
"type": "sign",
@@ -272,7 +272,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_LegendaryPokemonPainting"
},
{
"type": "sign",
@@ -280,7 +280,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet"
},
{
"type": "sign",
@@ -288,7 +288,7 @@
"y": 11,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_PokeBallSculpture"
},
{
"type": "sign",
@@ -296,7 +296,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC"
+ "script": "LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet"
}
]
} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
index 8f2cdde28..a9c6f1266 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
@@ -1,175 +1,174 @@
LilycoveCity_LilycoveMuseum_1F_MapScripts:: @ 8218CB8
.byte 0
-LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9:: @ 8218CB9
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218E4B, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_Greeter:: @ 8218CB9
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_WelcomeToLilycoveMuseum, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2
+LilycoveCity_LilycoveMuseum_1F_EventScript_Curator:: @ 8218CC2
lockall
applymovement 2, Common_Movement_FacePlayer
- message LilycoveCity_LilycoveMuseum_1F_Text_218EBC
+ message LilycoveCity_LilycoveMuseum_1F_Text_ImCuratorHaveYouViewedOurPaintings
waitmessage
- multichoice 20, 8, 16, 1
+ multichoice 20, 8, MULTI_VIEWED_PAINTINGS, 1
compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_SawPaintings
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F5C, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet:: @ 8218CEC
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_NotDisturbYouTakeYourTime, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E
+LilycoveCity_LilycoveMuseum_1F_EventScript_SawPaintings:: @ 8218CF5
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_HaveYouAnInterestInPaintings, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218D14:: @ 8218D14
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218FF8, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested:: @ 8218D14
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_HonoredYoudVisitInSpiteOfThat, MSGBOX_SIGN
releaseall
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219035, MSGBOX_SIGN
- applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_218D99
+LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings:: @ 8218D1E
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_ExcellentCanYouComeWithMe, MSGBOX_SIGN
+ applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_CuratorEnterStairs
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
+ case DIR_NORTH, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth
+ case DIR_WEST, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest
+ case DIR_EAST, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorEast
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A
+LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth:: @ 8218D5A
lockall
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorNorth
waitmovement 0
warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
waitstate
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F
+LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest:: @ 8218D6F
lockall
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorWest
waitmovement 0
warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
waitstate
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218D84:: @ 8218D84
+LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorEast:: @ 8218D84
lockall
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorEast
waitmovement 0
warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
waitstate
end
-LilycoveCity_LilycoveMuseum_1F_Movement_218D99: @ 8218D99
+LilycoveCity_LilycoveMuseum_1F_Movement_CuratorEnterStairs: @ 8218D99
walk_up
step_end
-LilycoveCity_LilycoveMuseum_1F_Movement_218D9B: @ 8218D9B
+LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorWest: @ 8218D9B
walk_left
walk_up
step_end
-LilycoveCity_LilycoveMuseum_1F_Movement_218D9E: @ 8218D9E
+LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorEast: @ 8218D9E
walk_right
walk_up
step_end
-LilycoveCity_LilycoveMuseum_1F_Movement_218DA1: @ 8218DA1
+LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorNorth: @ 8218DA1
walk_up
walk_up
step_end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4:: @ 8218DA4
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219080, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_OldPainting:: @ 8218DA4
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_VeryOldPainting, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD:: @ 8218DAD
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190BF, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_FantasyPainting:: @ 8218DAD
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_OddLandscapeFantasticScenery, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6:: @ 8218DB6
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190F9, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_WomanPainting:: @ 8218DB6
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBeautifulWoman, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF:: @ 8218DBF
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219142, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_LegendaryPokemonPainting:: @ 8218DBF
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfLegendaryPokemon, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8:: @ 8218DC8
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2191A2, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_GrassPokemonPainting:: @ 8218DC8
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfGrassPokemon, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1:: @ 8218DD1
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21920D, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_BerryPainting:: @ 8218DD1
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBerries, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA:: @ 8218DDA
-LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA:: @ 8218DDA
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219260, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture:: @ 8218DDA
+ msgbox LilycoveCity_LilycoveMuseum_Text_BirdPokemonSculptureReplica, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3:: @ 8218DE3
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2192AA, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_PokeBallSculpture:: @ 8218DE3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_BigPokeBallCarvedFromStone, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC:: @ 8218DEC
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219311, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_StoneTablet:: @ 8218DEC
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_StoneTabletWithAncientText, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5:: @ 8218DF5
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2193B4, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_1F_EventScript_SchoolKidM:: @ 8218DF5
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_MustntForgetLoveForFineArts, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE:: @ 8218DFE
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21941A, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_1F_EventScript_Artist1:: @ 8218DFE
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_ThisMuseumIsInspiration, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218E07:: @ 8218E07
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194BA, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_NinjaBoy:: @ 8218E07
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_ThisLadyIsPretty, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218E10:: @ 8218E10
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194E1, MSGBOX_SIGN
+LilycoveCity_LilycoveMuseum_1F_EventScript_Woman1:: @ 8218E10
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_ThisPokemonIsAdorable, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218E19:: @ 8218E19
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219515, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_1F_EventScript_Woman2:: @ 8218E19
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_HeardMuseumGotNewPaintings, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218E22:: @ 8218E22
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21959B, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_1F_EventScript_PsychicM:: @ 8218E22
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_CuratorHasBeenCheerful, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B:: @ 8218E2B
+LilycoveCity_LilycoveMuseum_1F_EventScript_Artist2:: @ 8218E2B
lock
faceplayer
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2195FF, MSGBOX_DEFAULT
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_AimToSeeGreatPaintings, MSGBOX_DEFAULT
closemessage
applymovement 8, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-LilycoveCity_LilycoveMuseum_1F_EventScript_218E42:: @ 8218E42
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21967A, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_1F_EventScript_FatMan:: @ 8218E42
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_MuseumTouristDestination, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_1F_Text_218E4B: @ 8218E4B
+LilycoveCity_LilycoveMuseum_1F_Text_WelcomeToLilycoveMuseum: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_ImCuratorHaveYouViewedOurPaintings: @ 8218EBC
.string "I'm the CURATOR of this MUSEUM of\n"
.string "fine arts.\p"
.string "It's heartening to see someone so\n"
@@ -177,116 +176,116 @@ LilycoveCity_LilycoveMuseum_1F_Text_218EBC: @ 8218EBC
.string "Have you viewed our collection of\n"
.string "paintings already?$"
-LilycoveCity_LilycoveMuseum_1F_Text_218F5C: @ 8218F5C
+LilycoveCity_LilycoveMuseum_1F_Text_NotDisturbYouTakeYourTime: @ 8218F5C
.string "Ah, then let me not disturb you.\n"
.string "Please, do take your time.$"
-LilycoveCity_LilycoveMuseum_1F_Text_218F98: @ 8218F98
+LilycoveCity_LilycoveMuseum_1F_Text_HaveYouAnInterestInPaintings: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_HonoredYoudVisitInSpiteOfThat: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_ExcellentCanYouComeWithMe: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_VeryOldPainting: @ 8219080
.string "It's a very old painting.\n"
.string "The paint is peeling here and there.$"
-LilycoveCity_LilycoveMuseum_1F_Text_2190BF: @ 82190BF
+LilycoveCity_LilycoveMuseum_1F_Text_OddLandscapeFantasticScenery: @ 82190BF
.string "It's an odd landscape with bizarre\n"
.string "and fantastic scenery.$"
-LilycoveCity_LilycoveMuseum_1F_Text_2190F9: @ 82190F9
+LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBeautifulWoman: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfLegendaryPokemon: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfGrassPokemon: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_PaintingOfBerries: @ 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
+LilycoveCity_LilycoveMuseum_Text_BirdPokemonSculptureReplica: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_BigPokeBallCarvedFromStone: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_StoneTabletWithAncientText: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_WorksOfMagnificence: @ 821938C
.string "Hmmm…\n"
.string "What works of great magnificence…$"
-LilycoveCity_LilycoveMuseum_1F_Text_2193B4: @ 82193B4
+LilycoveCity_LilycoveMuseum_1F_Text_MustntForgetLoveForFineArts: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_ThisMuseumIsInspiration: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_ThisLadyIsPretty: @ 82194BA
.string "This lady is pretty!\n"
.string "She's like Mommy!$"
-LilycoveCity_LilycoveMuseum_1F_Text_2194E1: @ 82194E1
+LilycoveCity_LilycoveMuseum_1F_Text_ThisPokemonIsAdorable: @ 82194E1
.string "This POKéMON is adorable!\n"
.string "Just like our little boy!$"
-LilycoveCity_LilycoveMuseum_1F_Text_219515: @ 8219515
+LilycoveCity_LilycoveMuseum_1F_Text_HeardMuseumGotNewPaintings: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_CuratorHasBeenCheerful: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_AimToSeeGreatPaintings: @ 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
+LilycoveCity_LilycoveMuseum_1F_Text_MuseumTouristDestination: @ 821967A
.string "The ART MUSEUM has become a favorite\n"
.string "tourist destination.\p"
.string "It's great for LILYCOVE…\n"
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json
index 18a2829e4..54d6fbc63 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219866",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_Curator",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21998A",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_Girl",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219993",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_ExpertM",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21999C",
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_RichBoy",
"flag": "FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS"
}
],
@@ -84,7 +84,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21992B"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CutePainting"
},
{
"type": "sign",
@@ -92,7 +92,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21992B"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CutePainting"
},
{
"type": "sign",
@@ -100,7 +100,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21993E"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_ToughPainting"
},
{
"type": "sign",
@@ -108,7 +108,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_21993E"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_ToughPainting"
},
{
"type": "sign",
@@ -116,7 +116,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219951"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CoolPainting"
},
{
"type": "sign",
@@ -124,7 +124,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219951"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_CoolPainting"
},
{
"type": "sign",
@@ -132,7 +132,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219964"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_BeautyPainting"
},
{
"type": "sign",
@@ -140,7 +140,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219964"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_BeautyPainting"
},
{
"type": "sign",
@@ -148,7 +148,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219977"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_SmartPainting"
},
{
"type": "sign",
@@ -156,7 +156,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_219977"
+ "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_SmartPainting"
},
{
"type": "sign",
@@ -164,7 +164,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA"
+ "script": "LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture"
},
{
"type": "sign",
@@ -172,7 +172,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA"
+ "script": "LilycoveCity_LilycoveMuseum_EventScript_BirdSculpture"
}
]
} \ No newline at end of file
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
index add7ef22f..0d06d8af4 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
@@ -1,224 +1,224 @@
LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 821973A
- map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_LilycoveMuseum_2F_MapScript1_219745
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE
+ map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_LilycoveMuseum_2F_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_LilycoveMuseum_2F_OnFrame
.byte 0
-LilycoveCity_LilycoveMuseum_2F_MapScript1_219745: @ 8219745
- goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_21978B
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754
+LilycoveCity_LilycoveMuseum_2F_OnLoad: @ 8219745
+ goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetCoolPainting
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckBeautyPainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219754:: @ 8219754
- goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763
+LilycoveCity_LilycoveMuseum_2F_EventScript_CheckBeautyPainting:: @ 8219754
+ goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetBeautyPainting
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckCutePainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219763:: @ 8219763
- goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772
+LilycoveCity_LilycoveMuseum_2F_EventScript_CheckCutePainting:: @ 8219763
+ goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetCutePainting
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckSmartPainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219772:: @ 8219772
- goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781
+LilycoveCity_LilycoveMuseum_2F_EventScript_CheckSmartPainting:: @ 8219772
+ goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetSmartPainting
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219781:: @ 8219781
- goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB
+LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting:: @ 8219781
+ goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_SetToughPainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_21978B:: @ 821978B
+LilycoveCity_LilycoveMuseum_2F_EventScript_SetCoolPainting:: @ 821978B
setmetatile 10, 6, METATILE_LilycoveMuseum_Painting2_Left, 1
setmetatile 11, 6, METATILE_LilycoveMuseum_Painting2_Right, 1
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckBeautyPainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3:: @ 82197A3
+LilycoveCity_LilycoveMuseum_2F_EventScript_SetBeautyPainting:: @ 82197A3
setmetatile 18, 6, METATILE_LilycoveMuseum_Painting1_Left, 1
setmetatile 19, 6, METATILE_LilycoveMuseum_Painting1_Right, 1
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckCutePainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB:: @ 82197BB
+LilycoveCity_LilycoveMuseum_2F_EventScript_SetCutePainting:: @ 82197BB
setmetatile 14, 10, METATILE_LilycoveMuseum_Painting3_Left, 1
setmetatile 15, 10, METATILE_LilycoveMuseum_Painting3_Right, 1
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckSmartPainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3:: @ 82197D3
+LilycoveCity_LilycoveMuseum_2F_EventScript_SetSmartPainting:: @ 82197D3
setmetatile 6, 10, METATILE_LilycoveMuseum_Painting0_Left, 1
setmetatile 7, 10, METATILE_LilycoveMuseum_Painting0_Right, 1
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB:: @ 82197EB
+LilycoveCity_LilycoveMuseum_2F_EventScript_SetToughPainting:: @ 82197EB
setmetatile 2, 6, METATILE_LilycoveMuseum_Painting4_Left, 1
setmetatile 3, 6, METATILE_LilycoveMuseum_Painting4_Right, 1
end
-LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE: @ 82197FE
- map_script_2 VAR_LILYCOVE_MUSEUM_2F_STATE, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219808
+LilycoveCity_LilycoveMuseum_2F_OnFrame: @ 82197FE
+ map_script_2 VAR_LILYCOVE_MUSEUM_2F_STATE, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowExhibitHall
.2byte 0
-LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808
+LilycoveCity_LilycoveMuseum_2F_EventScript_ShowExhibitHall:: @ 8219808
lockall
applymovement 1, Common_Movement_FacePlayer
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, MSGBOX_SIGN
- applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ThisIsExhibitHall, MSGBOX_SIGN
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219863
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, MSGBOX_SIGN
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ExplainExhibitHall, MSGBOX_SIGN
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, MSGBOX_SIGN
- copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 0x1
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_PleaseObtainPaintingsForExhibit, MSGBOX_SIGN
+ copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_Movement_219861: @ 8219861
+LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft: @ 8219861
walk_in_place_fastest_left
step_end
-LilycoveCity_LilycoveMuseum_2F_Movement_219863: @ 8219863
+LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall: @ 8219863
face_up
delay_16
step_end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866
+LilycoveCity_LilycoveMuseum_2F_EventScript_Curator:: @ 8219866
lockall
- goto_if_set FLAG_RECEIVED_GLASS_ORNAMENT, LilycoveCity_LilycoveMuseum_2F_EventScript_219921
+ goto_if_set FLAG_RECEIVED_GLASS_ORNAMENT, LilycoveCity_LilycoveMuseum_2F_EventScript_ReceivedGlassOrnament
specialvar VAR_0x8004, CountPlayerContestPaintings
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, MSGBOX_NPC
+ case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting
+ case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting
+ case 3, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting
+ case 4, LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting
+ case 5, LilycoveCity_LilycoveMuseum_2F_EventScript_ThankPlayer
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_WishToFillExhibit, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA:: @ 82198BA
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219D42, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting:: @ 82198BA
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ThanksAddedNewPainting, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3:: @ 82198C3
+LilycoveCity_LilycoveMuseum_2F_EventScript_ThankPlayer:: @ 82198C3
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DD4, MSGBOX_DEFAULT
- applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DE6, MSGBOX_DEFAULT
- goto LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsYouPlayer, MSGBOX_DEFAULT
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_PaintingsAttractedMoreGuests, MSGBOX_DEFAULT
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_GiveGlassOrnament
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA
+LilycoveCity_LilycoveMuseum_2F_EventScript_GiveGlassOrnament:: @ 82198EA
applymovement 1, Common_Movement_FacePlayer
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, MSGBOX_DEFAULT
- givedecoration_std 44
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_TokenOfGratitude, MSGBOX_DEFAULT
+ givedecoration DECOR_GLASS_ORNAMENT
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_NoRoomForGlassOrnament
setflag FLAG_RECEIVED_GLASS_ORNAMENT
closemessage
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219911:: @ 8219911
- call Common_EventScript_NoRoomLeftForAnother
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EED, MSGBOX_DEFAULT
+LilycoveCity_LilycoveMuseum_2F_EventScript_NoRoomForGlassOrnament:: @ 8219911
+ call Common_EventScript_NoRoomForDecor
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_KeepThisForYou, MSGBOX_DEFAULT
closemessage
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219F1B, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_2F_EventScript_ReceivedGlassOrnament:: @ 8219921
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_HonorToHaveYouVisit, MSGBOX_NPC
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B
+LilycoveCity_LilycoveMuseum_2F_EventScript_CutePainting:: @ 821992B
lockall
- goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, MSGBOX_SIGN
+ goto_if_set FLAG_CUTE_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCutePainting
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPinkPictureFrame, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_21993E:: @ 821993E
+LilycoveCity_LilycoveMuseum_2F_EventScript_ToughPainting:: @ 821993E
lockall
- goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, MSGBOX_SIGN
+ goto_if_set FLAG_TOUGH_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowToughPainting
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsYellowPictureFrame, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219951:: @ 8219951
+LilycoveCity_LilycoveMuseum_2F_EventScript_CoolPainting:: @ 8219951
lockall
- goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, MSGBOX_SIGN
+ goto_if_set FLAG_COOL_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCoolPainting
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsRedPictureFrame, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219964:: @ 8219964
+LilycoveCity_LilycoveMuseum_2F_EventScript_BeautyPainting:: @ 8219964
lockall
- goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, MSGBOX_SIGN
+ goto_if_set FLAG_BEAUTY_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowBeautyPainting
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsBluePictureFrame, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219977:: @ 8219977
+LilycoveCity_LilycoveMuseum_2F_EventScript_SmartPainting:: @ 8219977
lockall
- goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, MSGBOX_SIGN
+ goto_if_set FLAG_SMART_PAINTING_MADE, LilycoveCity_LilycoveMuseum_2F_EventScript_ShowSmartPainting
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsGreenPictureFrame, MSGBOX_SIGN
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_21998A:: @ 821998A
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0BD, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_2F_EventScript_Girl:: @ 821998A
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsSurprisedMe, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_219993:: @ 8219993
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A132, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_2F_EventScript_ExpertM:: @ 8219993
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsRatherAmusing, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_21999C:: @ 821999C
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A1A8, MSGBOX_NPC
+LilycoveCity_LilycoveMuseum_2F_EventScript_RichBoy:: @ 821999C
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ThesePaintingsOfYourPokemon, MSGBOX_NPC
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5:: @ 82199A5
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
- fadescreen 1
- drawcontestwinner 9
+LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCoolPainting:: @ 82199A5
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 9
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3:: @ 82199B3
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
- fadescreen 1
- drawcontestwinner 10
+LilycoveCity_LilycoveMuseum_2F_EventScript_ShowBeautyPainting:: @ 82199B3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 10
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1:: @ 82199C1
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
- fadescreen 1
- drawcontestwinner 11
+LilycoveCity_LilycoveMuseum_2F_EventScript_ShowCutePainting:: @ 82199C1
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 11
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF:: @ 82199CF
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
- fadescreen 1
- drawcontestwinner 12
+LilycoveCity_LilycoveMuseum_2F_EventScript_ShowSmartPainting:: @ 82199CF
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 12
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD:: @ 82199DD
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
- fadescreen 1
- drawcontestwinner 13
+LilycoveCity_LilycoveMuseum_2F_EventScript_ShowToughPainting:: @ 82199DD
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon, MSGBOX_SIGN
+ fadescreen FADE_TO_BLACK
+ showcontestwinner 13
releaseall
end
-LilycoveCity_LilycoveMuseum_2F_Text_2199EB: @ 82199EB
+LilycoveCity_LilycoveMuseum_2F_Text_ThisIsExhibitHall: @ 82199EB
.string "This is our special exhibit hall.$"
-LilycoveCity_LilycoveMuseum_2F_Text_219A0D: @ 8219A0D
+LilycoveCity_LilycoveMuseum_2F_Text_ExplainExhibitHall: @ 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"
@@ -234,7 +234,7 @@ LilycoveCity_LilycoveMuseum_2F_Text_219A0D: @ 8219A0D
.string "POKéMON seemingly ready to spring\l"
.string "forth into glorious life!$"
-LilycoveCity_LilycoveMuseum_2F_Text_219BC4: @ 8219BC4
+LilycoveCity_LilycoveMuseum_2F_Text_PleaseObtainPaintingsForExhibit: @ 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"
@@ -246,23 +246,23 @@ LilycoveCity_LilycoveMuseum_2F_Text_219BC4: @ 8219BC4
.string "the artist's permission to exhibit\l"
.string "it here?$"
-LilycoveCity_LilycoveMuseum_2F_Text_219CF3: @ 8219CF3
+LilycoveCity_LilycoveMuseum_2F_Text_WishToFillExhibit: @ 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
+LilycoveCity_LilycoveMuseum_2F_Text_ThanksAddedNewPainting: @ 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
+LilycoveCity_LilycoveMuseum_2F_Text_ItsYouPlayer: @ 8219DD4
.string "Ah! It's you!\n"
.string "{PLAYER}!$"
-LilycoveCity_LilycoveMuseum_2F_Text_219DE6: @ 8219DE6
+LilycoveCity_LilycoveMuseum_2F_Text_PaintingsAttractedMoreGuests: @ 8219DE6
.string "Isn't this marvelous?\n"
.string "This collection of paintings!\p"
.string "Each one of them flawless!\n"
@@ -272,56 +272,56 @@ LilycoveCity_LilycoveMuseum_2F_Text_219DE6: @ 8219DE6
.string "Sincerely, I thank you, {PLAYER}.\n"
.string "This is my dream come true!$"
-LilycoveCity_LilycoveMuseum_2F_Text_219EC5: @ 8219EC5
+LilycoveCity_LilycoveMuseum_2F_Text_TokenOfGratitude: @ 8219EC5
.string "This is merely a token of my gratitude.$"
-LilycoveCity_LilycoveMuseum_2F_Text_219EED: @ 8219EED
+LilycoveCity_LilycoveMuseum_2F_Text_KeepThisForYou: @ 8219EED
.string "I will keep this for you until we\n"
.string "meet again.$"
-LilycoveCity_LilycoveMuseum_2F_Text_219F1B: @ 8219F1B
+LilycoveCity_LilycoveMuseum_2F_Text_HonorToHaveYouVisit: @ 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
+LilycoveCity_LilycoveMuseum_2F_Text_ItsPinkPictureFrame: @ 8219FA0
.string "It's a picture frame with pink-colored\n"
.string "adornments.$"
-LilycoveCity_LilycoveMuseum_2F_Text_219FD3: @ 8219FD3
+LilycoveCity_LilycoveMuseum_2F_Text_ItsYellowPictureFrame: @ 8219FD3
.string "It's a picture frame with\n"
.string "yellow-colored adornments.$"
-LilycoveCity_LilycoveMuseum_2F_Text_21A008: @ 821A008
+LilycoveCity_LilycoveMuseum_2F_Text_ItsBluePictureFrame: @ 821A008
.string "It's a picture frame with\n"
.string "blue-colored adornments.$"
-LilycoveCity_LilycoveMuseum_2F_Text_21A03B: @ 821A03B
+LilycoveCity_LilycoveMuseum_2F_Text_ItsRedPictureFrame: @ 821A03B
.string "It's a picture frame with\n"
.string "red-colored adornments.$"
-LilycoveCity_LilycoveMuseum_2F_Text_21A06D: @ 821A06D
+LilycoveCity_LilycoveMuseum_2F_Text_ItsGreenPictureFrame: @ 821A06D
.string "It's a picture frame with\n"
.string "green-colored adornments.$"
-LilycoveCity_LilycoveMuseum_2F_Text_21A0A1: @ 821A0A1
+LilycoveCity_LilycoveMuseum_2F_Text_ItsPaintingOfPokemon: @ 821A0A1
.string "It's a painting of POKéMON.$"
-LilycoveCity_LilycoveMuseum_2F_Text_21A0BD: @ 821A0BD
+LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsSurprisedMe: @ 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
+LilycoveCity_LilycoveMuseum_2F_Text_NewPaintingsRatherAmusing: @ 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
+LilycoveCity_LilycoveMuseum_2F_Text_ThesePaintingsOfYourPokemon: @ 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"
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/map.json b/data/maps/LilycoveCity_MoveDeletersHouse/map.json
index f4adbabe8..30c5a413f 100644
--- a/data/maps/LilycoveCity_MoveDeletersHouse/map.json
+++ b/data/maps/LilycoveCity_MoveDeletersHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_MoveDeletersHouse_EventScript_21EA0B",
+ "script": "LilycoveCity_MoveDeletersHouse_EventScript_MoveDeleter",
"flag": "0"
}
],
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
index e94fa43f1..2592ccd9c 100644
--- a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
+++ b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
@@ -1,110 +1,110 @@
LilycoveCity_MoveDeletersHouse_MapScripts:: @ 821EA0A
.byte 0
-LilycoveCity_MoveDeletersHouse_EventScript_21EA0B:: @ 821EA0B
+LilycoveCity_MoveDeletersHouse_EventScript_MoveDeleter:: @ 821EA0B
lockall
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EAFD, MSGBOX_YESNO
+ msgbox LilycoveCity_MoveDeletersHouse_Text_ICanMakeMonForgetMove, MSGBOX_YESNO
switch VAR_RESULT
- case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
- case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
+ case YES, LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget
+ case NO, LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain
releaseall
end
-LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EB65, MSGBOX_DEFAULT
- special sub_81B94B0
+LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget:: @ 821EA3B
+ msgbox LilycoveCity_MoveDeletersHouse_Text_WhichMonShouldForget, MSGBOX_DEFAULT
+ special ChoosePartyMon
waitstate
compare VAR_0x8004, 255
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
- special sub_81B98DC
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain
+ special IsSelectedMonEgg
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_EggCantForgetMoves
+ special GetNumMovesSelectedMonHas
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC
- special sub_81B96D0
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EB89, MSGBOX_DEFAULT
- fadescreen 1
- special sub_81B968C
- fadescreen 0
- compare VAR_0x8005, 4
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
- special sub_81B9718
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, MSGBOX_YESNO
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_MonOnlyKnowsOneMove
+ msgbox LilycoveCity_MoveDeletersHouse_Text_WhichMoveShouldBeForgotten, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ special MoveDeleterChooseMoveToForget
+ fadescreen FADE_FROM_BLACK
+ compare VAR_0x8005, MAX_MON_MOVES
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget
+ special BufferMoveDeleterNicknameAndMove
+ msgbox LilycoveCity_MoveDeletersHouse_Text_MonsMoveShouldBeForgotten, MSGBOX_YESNO
switch VAR_RESULT
- case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EAB0
- case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
+ case YES, LilycoveCity_MoveDeletersHouse_EventScript_TryForgetMove
+ case NO, LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain
releaseall
end
-LilycoveCity_MoveDeletersHouse_EventScript_21EAB0:: @ 821EAB0
- special sub_81B9918
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0
- special sub_81B9770
+LilycoveCity_MoveDeletersHouse_EventScript_TryForgetMove:: @ 821EAB0
+ special IsLastMonThatKnowsSurf
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_LastMonWithSurf
+ special MoveDeleterForgetMove
playfanfare MUS_ME_WASURE
waitfanfare
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC06, MSGBOX_DEFAULT
+ msgbox LilycoveCity_MoveDeletersHouse_Text_MonHasForgottenMove, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_MoveDeletersHouse_EventScript_21EACF:: @ 821EACF
- special sub_81B9718
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EBA9, MSGBOX_DEFAULT
+LilycoveCity_MoveDeletersHouse_EventScript_MonOnlyKnowsOneMove:: @ 821EACF
+ special BufferMoveDeleterNicknameAndMove
+ msgbox LilycoveCity_MoveDeletersHouse_Text_MonOnlyKnowsOneMove, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_MoveDeletersHouse_EventScript_21EADC:: @ 821EADC
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC78, MSGBOX_DEFAULT
+LilycoveCity_MoveDeletersHouse_EventScript_EggCantForgetMoves:: @ 821EADC
+ msgbox LilycoveCity_MoveDeletersHouse_Text_EggCantForgetMoves, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_MoveDeletersHouse_EventScript_21EAE6:: @ 821EAE6
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC3F, MSGBOX_DEFAULT
+LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain:: @ 821EAE6
+ msgbox LilycoveCity_MoveDeletersHouse_Text_ComeAgain, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_MoveDeletersHouse_EventScript_21EAF0:: @ 821EAF0
- special sub_81B9718
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC9C, MSGBOX_DEFAULT
+LilycoveCity_MoveDeletersHouse_EventScript_LastMonWithSurf:: @ 821EAF0
+ special BufferMoveDeleterNicknameAndMove
+ msgbox LilycoveCity_MoveDeletersHouse_Text_CantForgetSurf, MSGBOX_DEFAULT
releaseall
end
-LilycoveCity_MoveDeletersHouse_Text_21EAFD: @ 821EAFD
+LilycoveCity_MoveDeletersHouse_Text_ICanMakeMonForgetMove: @ 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
+LilycoveCity_MoveDeletersHouse_Text_WhichMonShouldForget: @ 821EB65
.string "Which POKéMON should forget a move?$"
-LilycoveCity_MoveDeletersHouse_Text_21EB89: @ 821EB89
+LilycoveCity_MoveDeletersHouse_Text_WhichMoveShouldBeForgotten: @ 821EB89
.string "Which move should be forgotten?$"
-LilycoveCity_MoveDeletersHouse_Text_21EBA9: @ 821EBA9
+LilycoveCity_MoveDeletersHouse_Text_MonOnlyKnowsOneMove: @ 821EBA9
.string "{STR_VAR_1} knows only one move\n"
.string "so it can't be forgotten…$"
-LilycoveCity_MoveDeletersHouse_Text_21EBDA: @ 821EBDA
+LilycoveCity_MoveDeletersHouse_Text_MonsMoveShouldBeForgotten: @ 821EBDA
.string "Hm! {STR_VAR_1}'s {STR_VAR_2}?\n"
.string "That move should be forgotten?$"
-LilycoveCity_MoveDeletersHouse_Text_21EC06: @ 821EC06
+LilycoveCity_MoveDeletersHouse_Text_MonHasForgottenMove: @ 821EC06
.string "It worked to perfection!\p"
.string "{STR_VAR_1} has forgotten\n"
.string "{STR_VAR_2} completely.$"
-LilycoveCity_MoveDeletersHouse_Text_21EC3F: @ 821EC3F
+LilycoveCity_MoveDeletersHouse_Text_ComeAgain: @ 821EC3F
.string "Come again if there are moves that\n"
.string "need to be forgotten.$"
-LilycoveCity_MoveDeletersHouse_Text_21EC78: @ 821EC78
+LilycoveCity_MoveDeletersHouse_Text_EggCantForgetMoves: @ 821EC78
.string "What?\n"
.string "No EGG should know any moves.$"
-LilycoveCity_MoveDeletersHouse_Text_21EC9C: @ 821EC9C
+LilycoveCity_MoveDeletersHouse_Text_CantForgetSurf: @ 821EC9C
.string "Hm!\p"
.string "Your {STR_VAR_1} doesn't seem willing\n"
.string "to forget SURF.$"
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/map.json b/data/maps/LilycoveCity_PokemonCenter_1F/map.json
index c5c0121f4..4f87f50b0 100644
--- a/data/maps/LilycoveCity_PokemonCenter_1F/map.json
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_1F_EventScript_21C5E8",
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_1F_EventScript_21C5F6",
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_Boy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_1F_EventScript_21C5FF",
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_Maniac",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_1F_EventScript_2A836B",
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_LilycoveLady",
"flag": "0"
},
{
@@ -76,8 +76,8 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_1F_EventScript_2A89C7",
- "flag": "FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY"
+ "script": "LilycoveCity_PokemonCenter_1F_EventScript_ContestLadyMon",
+ "flag": "FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON"
}
],
"warp_events": [
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
index c2e1deb5d..a7df8528e 100644
--- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
@@ -1,66 +1,68 @@
LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2
map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, LilycoveCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
LilycoveCity_PokemonCenter_1F_OnTransition: @ 821C5BD
setrespawn HEAL_LOCATION_LILYCOVE_CITY
- goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6
+ goto LilycoveCity_PokemonCenter_1F_EventScript_SetLilycoveLadyGfx
end
-LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6
+@ SetLilycoveLadyGfx returns TRUE if its the Contest Lady
+LilycoveCity_PokemonCenter_1F_EventScript_SetLilycoveLadyGfx:: @ 821C5C6
special SetLilycoveLadyGfx
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_HideContestLadyMon
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ShowContestLadyMon
end
-LilycoveCity_PokemonCenter_1F_EventScript_21C5E0:: @ 821C5E0
- setflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY
+LilycoveCity_PokemonCenter_1F_EventScript_HideContestLadyMon:: @ 821C5E0
+ setflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON
end
-LilycoveCity_PokemonCenter_1F_EventScript_21C5E4:: @ 821C5E4
- clearflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY
+LilycoveCity_PokemonCenter_1F_EventScript_ShowContestLadyMon:: @ 821C5E4
+ clearflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON
end
-LilycoveCity_PokemonCenter_1F_EventScript_21C5E8:: @ 821C5E8
+@ VAR_0x800B is the Nurse's object event id
+LilycoveCity_PokemonCenter_1F_EventScript_Nurse:: @ 821C5E8
setvar VAR_0x800B, 1
- call LilycoveCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-LilycoveCity_PokemonCenter_1F_EventScript_21C5F6:: @ 821C5F6
- msgbox LilycoveCity_PokemonCenter_1F_Text_21C61E, MSGBOX_NPC
+LilycoveCity_PokemonCenter_1F_EventScript_Boy:: @ 821C5F6
+ msgbox LilycoveCity_PokemonCenter_1F_Text_HowManyKindsOfPokemon, MSGBOX_NPC
end
-LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF
+LilycoveCity_PokemonCenter_1F_EventScript_Maniac:: @ 821C5FF
lock
faceplayer
- goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_21C614
- msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, MSGBOX_DEFAULT
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_ManiacBadTeamGone
+ msgbox LilycoveCity_PokemonCenter_1F_Text_HeardAboutRottenScoundrels, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonCenter_1F_EventScript_21C614:: @ 821C614
- msgbox LilycoveCity_PokemonCenter_1F_Text_21C6F6, MSGBOX_DEFAULT
+LilycoveCity_PokemonCenter_1F_EventScript_ManiacBadTeamGone:: @ 821C614
+ msgbox LilycoveCity_PokemonCenter_1F_Text_HaventSeenRottenScoundrels, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonCenter_1F_Text_21C61E: @ 821C61E
+LilycoveCity_PokemonCenter_1F_Text_HowManyKindsOfPokemon: @ 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
+LilycoveCity_PokemonCenter_1F_Text_HeardAboutRottenScoundrels: @ 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
+LilycoveCity_PokemonCenter_1F_Text_HaventSeenRottenScoundrels: @ 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/maps/LilycoveCity_PokemonCenter_2F/map.json b/data/maps/LilycoveCity_PokemonCenter_2F/map.json
index 6bfb1c4cb..cd1324cbe 100644
--- a/data/maps/LilycoveCity_PokemonCenter_2F/map.json
+++ b/data/maps/LilycoveCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc
index 9bbf4f349..965580da5 100644
--- a/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
LilycoveCity_PokemonCenter_2F_MapScripts:: @ 821C75D
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-LilycoveCity_PokemonCenter_2F_EventScript_21C772:: @ 821C772
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+LilycoveCity_PokemonCenter_2F_EventScript_Colosseum:: @ 821C772
+ call CableClub_EventScript_Colosseum
end
-LilycoveCity_PokemonCenter_2F_EventScript_21C778:: @ 821C778
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+LilycoveCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 821C778
+ call CableClub_EventScript_TradeCenter
end
-LilycoveCity_PokemonCenter_2F_EventScript_21C77E:: @ 821C77E
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+LilycoveCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 821C77E
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json
index 0591d3c8e..f918c86ec 100644
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Lass",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Man",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanM",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirl",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoy",
"flag": "FLAG_HIDE_FANCLUB_LITTLE_BOY"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Boy",
"flag": "FLAG_HIDE_FANCLUB_BOY"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Woman",
"flag": "FLAG_HIDE_FANCLUB_LADY"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertF",
"flag": "FLAG_HIDE_FANCLUB_OLD_LADY"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B",
+ "script": "LilycoveCity_PokemonTrainerFanClub_EventScript_Interviewer",
"flag": "FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER"
}
],
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
index 62fdd3427..039fb6413 100644
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
@@ -1,34 +1,36 @@
LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonTrainerFanClub_OnFrame
map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonTrainerFanClub_OnTransition
.byte 0
-LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790
- map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A
+ @ See field_specials.c for a breakdown of the Fan Club and its variables
+
+LilycoveCity_PokemonTrainerFanClub_OnFrame: @ 821C790
+ map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_MeetFirstFans
.2byte 0
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A
+LilycoveCity_PokemonTrainerFanClub_EventScript_MeetFirstFans:: @ 821C79A
lockall
- applymovement 1, Common_Movement_WalkInPlaceDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF00, MSGBOX_DEFAULT
- applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD
- applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWowItsPlayer, MSGBOX_DEFAULT
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer
+ applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, MSGBOX_DEFAULT
- applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_HeardAboutYouImYourFan, MSGBOX_DEFAULT
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer
waitmovement 0
setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2
releaseall
end
-LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5
+LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer: @ 821C7F5
delay_8
walk_in_place_fastest_down
walk_down
@@ -38,7 +40,7 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5
walk_left
step_end
-LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD
+LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer: @ 821C7FD
walk_fast_left
walk_fast_left
walk_fast_down
@@ -47,12 +49,12 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD
walk_fast_down
step_end
-LilycoveCity_PokemonTrainerFanClub_Movement_21C804: @ 821C804
+LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer: @ 821C804
walk_down
walk_in_place_fastest_right
step_end
-LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807
+LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer: @ 821C807
jump_in_place_right
walk_fast_up
walk_fast_up
@@ -61,558 +63,563 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807
step_end
LilycoveCity_PokemonTrainerFanClub_OnTransition: @ 821C80D
- call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer
compare VAR_LILYCOVE_FAN_CLUB_STATE, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting
compare VAR_LILYCOVE_FAN_CLUB_STATE, 2
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829
- end
-
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829
- special UpdateMovedLilycoveFanClubMembers
- call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5
- setvar VAR_0x8004, 8
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8
- setvar VAR_0x8004, 9
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0
- setvar VAR_0x8004, 10
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8
- setvar VAR_0x8004, 11
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0
- setvar VAR_0x8004, 12
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8
- setvar VAR_0x8004, 13
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0
- setvar VAR_0x8004, 14
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8
- setvar VAR_0x8004, 15
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0
- end
-
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA
- specialvar VAR_RESULT, sub_80EE7C0
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions:: @ 821C829
+ special TryLoseFansFromPlayTime
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable
+ setvar VAR_0x8004, FANCLUB_MEMBER2
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable
+ setvar VAR_0x8004, FANCLUB_MEMBER3
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable
+ setvar VAR_0x8004, FANCLUB_MEMBER4
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable
+ setvar VAR_0x8004, FANCLUB_MEMBER5
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable
+ setvar VAR_0x8004, FANCLUB_MEMBER6
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable
+ setvar VAR_0x8004, FANCLUB_MEMBER7
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable
+ setvar VAR_0x8004, FANCLUB_MEMBER8
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer:: @ 821C8DA
+ specialvar VAR_RESULT, ShouldHideFanClubInterviewer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer
clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
clearflag FLAG_FAN_CLUB_STRENGTH_SHARED
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1
+LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer:: @ 821C8F1
setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5
- setvar VAR_0x8005, 8
- setvar VAR_0x8004, 8
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
- setvar VAR_0x8004, 9
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
- setvar VAR_0x8004, 10
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
- setvar VAR_0x8004, 11
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
- setvar VAR_0x8004, 12
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
- setvar VAR_0x8004, 13
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
- setvar VAR_0x8004, 14
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
- setvar VAR_0x8004, 15
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+@ Set up the fan club TV show, if the player has at least 5 fans in the club
+@ Rather than counting up, 1 is subtracted from the total for each member not a fan of the players
+LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow:: @ 821C8F5
+ setvar VAR_0x8005, NUM_TRAINER_FAN_CLUB_MEMBERS
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ setvar VAR_0x8004, FANCLUB_MEMBER2
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ setvar VAR_0x8004, FANCLUB_MEMBER3
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ setvar VAR_0x8004, FANCLUB_MEMBER4
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ setvar VAR_0x8004, FANCLUB_MEMBER5
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ setvar VAR_0x8004, FANCLUB_MEMBER6
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ setvar VAR_0x8004, FANCLUB_MEMBER7
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ setvar VAR_0x8004, FANCLUB_MEMBER8
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, FALSE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
compare VAR_0x8005, 5
- goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4
+ goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE:: @ 821C9AE
+LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan:: @ 821C9AE
subvar VAR_0x8005, 1
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4:: @ 821C9B4
- special sub_80EE72C
+LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow:: @ 821C9B4
+ special TrySetUpTrainerFanClubSpecial
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8:: @ 821C9B8
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable:: @ 821C9B8
setobjectxyperm 1, 7, 5
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0:: @ 821C9C0
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable:: @ 821C9C0
setobjectxyperm 3, 3, 4
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8:: @ 821C9C8
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable:: @ 821C9C8
setobjectxyperm 4, 7, 2
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0:: @ 821C9D0
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable:: @ 821C9D0
setobjectxyperm 5, 5, 5
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8:: @ 821C9D8
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable:: @ 821C9D8
setobjectxyperm 6, 5, 2
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0:: @ 821C9E0
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable:: @ 821C9E0
setobjectxyperm 2, 8, 4
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8:: @ 821C9E8
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable:: @ 821C9E8
setobjectxyperm 7, 3, 3
return
-LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0:: @ 821C9F0
+LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable:: @ 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
+LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting:: @ 821C9F8
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17
+LilycoveCity_PokemonTrainerFanClub_EventScript_Man:: @ 821CA17
lock
faceplayer
- setvar VAR_0x8004, 13
- special BufferStreakTrainerText
+ setvar VAR_0x8004, FANCLUB_MEMBER6
+ special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainersPowerIsOutOfTheOrdinary, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan:: @ 821CA56
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureOneWeWantToWin, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70:: @ 821CA70
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan:: @ 821CA70
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_OthersDontKnowYoureTheBest, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A:: @ 821CA7A
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan:: @ 821CA7A
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsBestNoOneWantsToListen, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84:: @ 821CA84
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion:: @ 821CA84
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_HearingAboutToughNewTrainer, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E
+LilycoveCity_PokemonTrainerFanClub_EventScript_Lass:: @ 821CA8E
lock
faceplayer
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_ICantHelpLikingBrawly, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan:: @ 821CACD
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_ImPullingForYou, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7:: @ 821CAE7
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan:: @ 821CAE7
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_BrawlyNoImYourFan, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1:: @ 821CAF1
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan:: @ 821CAF1
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_NobodyUnderstandsBrawly, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB:: @ 821CAFB
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion:: @ 821CAFB
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_MyFavoriteTrainerIsBrawly, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05
+LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanM:: @ 821CB05
lock
faceplayer
- setvar VAR_0x8004, 9
- special BufferStreakTrainerText
+ setvar VAR_0x8004, FANCLUB_MEMBER2
+ special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_LongWayToGoComparedToNorman, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan:: @ 821CB44
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouveSurpassedYourFather, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E:: @ 821CB5E
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan:: @ 821CB5E
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YourFatherNeverGaveUpSoKeepOnBattling, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68:: @ 821CB68
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan:: @ 821CB68
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouAndNormanAreDifferent, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72:: @ 821CB72
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion:: @ 821CB72
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_WeDiscussStrongestTrainers, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C
+LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirl:: @ 821CB7C
lock
faceplayer
- setvar VAR_0x8004, 10
- special BufferStreakTrainerText
+ setvar VAR_0x8004, FANCLUB_MEMBER3
+ special BufferFanClubTrainerName
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_EveryoneThinksTrainerIsCool, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan:: @ 821CBBB
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWoweeItsPlayer, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5:: @ 821CBD5
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan:: @ 821CBD5
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_AlwaysCheerForYou, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF:: @ 821CBDF
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan:: @ 821CBDF
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsReallyCoolItsJustMe, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9:: @ 821CBE9
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion:: @ 821CBE9
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_WishThereWasTrainerLikeThat, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3
+LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoy:: @ 821CBF3
lock
faceplayer
- setvar VAR_0x8004, 11
- special BufferStreakTrainerText
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, MSGBOX_DEFAULT
+ setvar VAR_0x8004, FANCLUB_MEMBER4
+ special BufferFanClubTrainerName
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsWickedlyCool, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan:: @ 821CC27
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_WantToBeStrongLikeYou, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41:: @ 821CC41
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan:: @ 821CC41
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_OnlyOneWhoCheersForYou, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B:: @ 821CC4B
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan:: @ 821CC4B
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_NeverGoingToStopBeingTrainersFan, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55
+LilycoveCity_PokemonTrainerFanClub_EventScript_Boy:: @ 821CC55
lock
faceplayer
- setvar VAR_0x8004, 12
- special BufferStreakTrainerText
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, MSGBOX_DEFAULT
+ setvar VAR_0x8004, FANCLUB_MEMBER5
+ special BufferFanClubTrainerName
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThinkTrainerIsNumberOne, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan:: @ 821CC89
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureAmazingAfterAll, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3:: @ 821CCA3
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan:: @ 821CCA3
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_ImInYourCorner, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD:: @ 821CCAD
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan:: @ 821CCAD
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureMaybeStrongerThanTrainer, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7
+LilycoveCity_PokemonTrainerFanClub_EventScript_Woman:: @ 821CCB7
lock
faceplayer
- setvar VAR_0x8004, 14
- special BufferStreakTrainerText
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, MSGBOX_DEFAULT
+ setvar VAR_0x8004, FANCLUB_MEMBER7
+ special BufferFanClubTrainerName
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsStandout, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan:: @ 821CCEB
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouChangedMyMind, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05:: @ 821CD05
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan:: @ 821CD05
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouBattleAttractivelyInToughSituation, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F:: @ 821CD0F
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan:: @ 821CD0F
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_NoOneCanKnockYouButTrainerStronger, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19
+LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertF:: @ 821CD19
lock
faceplayer
- setvar VAR_0x8004, 15
- special BufferStreakTrainerText
- specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
- compare VAR_RESULT, 7
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, MSGBOX_DEFAULT
+ setvar VAR_0x8004, FANCLUB_MEMBER8
+ special BufferFanClubTrainerName
+ specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
+ compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaventRealizedPotential, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D
- specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
+LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan:: @ 821CD4D
+ specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, MSGBOX_DEFAULT
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouImpressive, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67:: @ 821CD67
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE83, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan:: @ 821CD67
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_OnlyIRecognizeYourTrueWorth, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan:: @ 821CD71
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YourePowerfulButNotTrueStrength, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B:: @ 821CD7B
+LilycoveCity_PokemonTrainerFanClub_EventScript_Interviewer:: @ 821CD7B
lock
faceplayer
- goto_if_set FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED
- goto_if_unset FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90
+ goto_if_set FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed
+ goto_if_unset FLAG_FAN_CLUB_STRENGTH_SHARED, LilycoveCity_PokemonTrainerFanClub_EventScript_Interview
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90
- setvar VAR_0x8005, 11
+@ The interviewer doesnt count as an individual fan club member
+@ Instead they always ask about whoever the Lass would be interested in, if not the player
+LilycoveCity_PokemonTrainerFanClub_EventScript_Interview:: @ 821CD90
+ setvar VAR_0x8005, TVSHOW_FAN_CLUB_SPECIAL
special InterviewBefore
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2
copyvar VAR_0x800A, VAR_0x8006
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, MSGBOX_DEFAULT
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION
copyvar VAR_0x8005, VAR_0x800A
call Common_ShowEasyChatScreen
lock
faceplayer
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion
compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C06, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D
+LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion:: @ 821CDE0
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThatsWhatYouThink, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15
+LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion:: @ 821CDEE
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion:: @ 821CE15
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer2, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_QUESTION
copyvar VAR_0x8005, VAR_0x800A
call Common_ShowEasyChatScreen
lock
faceplayer
compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion
compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- message LilycoveCity_PokemonTrainerFanClub_Text_281C95
+LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer:: @ 821CE4D
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ message LilycoveCity_PokemonTrainerFanClub_Text_HowStrongRateTrainer
waitmessage
- setvar VAR_0x8004, 2
- special sub_813A128
+ setvar VAR_0x8004, SCROLL_MULTI_POKEMON_FAN_CLUB_RATER
+ special ShowScrollableMultichoice
waitstate
- setvar VAR_0x8004, 8
+ setvar VAR_0x8004, FANCLUB_MEMBER1
switch VAR_RESULT
- case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F
- case 127, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
+ case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer
+ case MULTI_B_PRESSED, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
copyvar VAR_0x8006, VAR_0x800A
copyvar VAR_0x8005, VAR_RESULT
special PutFanClubSpecialOnTheAir
- goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8
+ goto LilycoveCity_PokemonTrainerFanClub_EventScript_CompleteInterview
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D
+LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer:: @ 821CE9F
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer2, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer:: @ 821CEC6
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouShouldMeetTrainer, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_CompleteInterview:: @ 821CED8
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThankYouIllShareThisInfo, MSGBOX_DEFAULT
setflag FLAG_FAN_CLUB_STRENGTH_SHARED
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED
- setvar VAR_0x8004, 8
- special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, MSGBOX_DEFAULT
+LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed:: @ 821CEED
+ setvar VAR_0x8004, FANCLUB_MEMBER1
+ special BufferFanClubTrainerName
+ msgbox LilycoveCity_PokemonTrainerFanClub_HopeYouCatchTVSpecial, MSGBOX_DEFAULT
release
end
-LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF:: @ 821CEFF
+@ Shouldnt be reached
+LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2:: @ 821CEFF
end
-LilycoveCity_PokemonTrainerFanClub_Text_21CF00: @ 821CF00
+LilycoveCity_PokemonTrainerFanClub_Text_OhWowItsPlayer: @ 821CF00
.string "Oh, wow!\n"
.string "It's {PLAYER}!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21CF12: @ 821CF12
+LilycoveCity_PokemonTrainerFanClub_Text_HeardAboutYouImYourFan: @ 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"
@@ -628,29 +635,29 @@ LilycoveCity_PokemonTrainerFanClub_Text_21CF12: @ 821CF12
.string "Remember, I'm cheering for you,\n"
.string "{PLAYER}!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D094: @ 821D094
+LilycoveCity_PokemonTrainerFanClub_Text_YoureOneWeWantToWin: @ 821D094
.string "Yo, {PLAYER}!\n"
.string "You're the one we want to win!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D0BB: @ 821D0BB
+LilycoveCity_PokemonTrainerFanClub_Text_OthersDontKnowYoureTheBest: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_TrainersPowerIsOutOfTheOrdinary: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsBestNoOneWantsToListen: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_HearingAboutToughNewTrainer: @ 821D20C
.string "I've been hearing things about\n"
.string "a tough new TRAINER.\p"
.string "This TRAINER's supposed to be beating\n"
@@ -658,13 +665,13 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D20C: @ 821D20C
.string "Do you know anything about this\n"
.string "new TRAINER?$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D2A6: @ 821D2A6
+LilycoveCity_PokemonTrainerFanClub_Text_ImPullingForYou: @ 821D2A6
.string "Oh!\n"
.string "{PLAYER}!\p"
.string "Go for it!\n"
.string "I'm pulling for you!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D2CE: @ 821D2CE
+LilycoveCity_PokemonTrainerFanClub_Text_BrawlyNoImYourFan: @ 821D2CE
.string "Sigh…\n"
.string "BRAWLY…\p"
.string "Oh, no! Wait!\n"
@@ -673,36 +680,36 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D2CE: @ 821D2CE
.string "So make me proud!\n"
.string "Go for it!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D347: @ 821D347
+LilycoveCity_PokemonTrainerFanClub_Text_ICantHelpLikingBrawly: @ 821D347
.string "I can't help it, I can only get to\n"
.string "like BRAWLY…$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D377: @ 821D377
+LilycoveCity_PokemonTrainerFanClub_Text_NobodyUnderstandsBrawly: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_MyFavoriteTrainerIsBrawly: @ 821D3EE
.string "Whatever anyone says, my favorite\n"
.string "TRAINER is DEWFORD's GYM LEADER\l"
.string "BRAWLY!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D438: @ 821D438
+LilycoveCity_PokemonTrainerFanClub_Text_YouveSurpassedYourFather: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_YourFatherNeverGaveUpSoKeepOnBattling: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_LongWayToGoComparedToNorman: @ 821D52E
.string "NORMAN battled with more power,\n"
.string "charisma, and showmanship than you.\p"
.string "Even though people may say that\n"
@@ -710,7 +717,7 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D52E: @ 821D52E
.string "You've still got a long way to go\n"
.string "compared to your father.$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D5DC: @ 821D5DC
+LilycoveCity_PokemonTrainerFanClub_Text_YouAndNormanAreDifferent: @ 821D5DC
.string "You're beginning to get the same\n"
.string "air of awe NORMAN exudes.\p"
.string "But there's something conclusively\n"
@@ -718,7 +725,7 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D5DC: @ 821D5DC
.string "I can't tell you what that is.\n"
.string "You'll have to find it yourself.$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D69C: @ 821D69C
+LilycoveCity_PokemonTrainerFanClub_Text_WeDiscussStrongestTrainers: @ 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"
@@ -726,12 +733,12 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D69C: @ 821D69C
.string "If you were to become famous,\n"
.string "we might even become your fans!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D751: @ 821D751
+LilycoveCity_PokemonTrainerFanClub_Text_OhWoweeItsPlayer: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_AlwaysCheerForYou: @ 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"
@@ -739,60 +746,60 @@ LilycoveCity_PokemonTrainerFanClub_Text_21D79B: @ 821D79B
.string "Because I know you're really,\n"
.string "really strong, {PLAYER}!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D822: @ 821D822
+LilycoveCity_PokemonTrainerFanClub_Text_EveryoneThinksTrainerIsCool: @ 821D822
.string "{STR_VAR_1} is really cool…\p"
.string "Everyone thinks so, right, right?$"
-LilycoveCity_PokemonTrainerFanClub_Text_21D857: @ 821D857
+LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsReallyCoolItsJustMe: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_WishThereWasTrainerLikeThat: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_WantToBeStrongLikeYou: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_OnlyOneWhoCheersForYou: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsWickedlyCool: @ 821D9D1
.string "{STR_VAR_1} is so wickedly cool…\n"
.string "I want to shake hands with my hero.$"
-LilycoveCity_PokemonTrainerFanClub_Text_21DA0D: @ 821DA0D
+LilycoveCity_PokemonTrainerFanClub_Text_NeverGoingToStopBeingTrainersFan: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_YoureAmazingAfterAll: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_ImInYourCorner: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_ThinkTrainerIsNumberOne: @ 821DB69
.string "You're a pretty decent TRAINER,\n"
.string "I think.\p"
.string "But I also think that {STR_VAR_1}\n"
@@ -800,32 +807,32 @@ LilycoveCity_PokemonTrainerFanClub_Text_21DB69: @ 821DB69
.string "That's just my opinion.\n"
.string "Don't worry about it too much.$"
-LilycoveCity_PokemonTrainerFanClub_Text_21DBFB: @ 821DBFB
+LilycoveCity_PokemonTrainerFanClub_Text_YoureMaybeStrongerThanTrainer: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_YouChangedMyMind: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_YouBattleAttractivelyInToughSituation: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsStandout: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_NoOneCanKnockYouButTrainerStronger: @ 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"
@@ -833,23 +840,23 @@ LilycoveCity_PokemonTrainerFanClub_Text_21DDCE: @ 821DDCE
.string "{STR_VAR_1} is definitely stronger!\n"
.string "I'm positive!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21DE72: @ 821DE72
+LilycoveCity_PokemonTrainerFanClub_Text_YouImpressive: @ 821DE72
.string "You…\p"
.string "Impressive!$"
-LilycoveCity_PokemonTrainerFanClub_Text_21DE83: @ 821DE83
+LilycoveCity_PokemonTrainerFanClub_Text_OnlyIRecognizeYourTrueWorth: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_HaventRealizedPotential: @ 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
+LilycoveCity_PokemonTrainerFanClub_Text_YourePowerfulButNotTrueStrength: @ 821DF51
.string "It is true that you are tremendously\n"
.string "powerful.\p"
.string "But!\n"
diff --git a/data/maps/LinkContestRoom1/scripts.inc b/data/maps/LinkContestRoom1/scripts.inc
deleted file mode 100644
index 9fb83a7a9..000000000
--- a/data/maps/LinkContestRoom1/scripts.inc
+++ /dev/null
@@ -1,458 +0,0 @@
-LinkContestRoom1_MapScripts:: @ 823B781
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LinkContestRoom1_MapScript2_23B81F
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LinkContestRoom1_MapScript2_23B815
- map_script MAP_SCRIPT_ON_TRANSITION, LinkContestRoom1_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, LinkContestRoom1_MapScript1_23B803
- map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, LinkContestRoom1_MapScript1_23B79B
- .byte 0
-
-LinkContestRoom1_MapScript1_23B79B: @ 823B79B
- special sub_80F8B94
- end
-
-LinkContestRoom1_OnTransition: @ 823B79F
- call LinkContestRoom1_EventScript_23B7AF
- setvar VAR_TEMP_0, 1
- call LinkContestRoom1_EventScript_23B842
- end
-
-LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF
- call LinkContestRoom1_EventScript_27A133
- special ScriptGetMultiplayerId
- compare VAR_RESULT, 0
- call_if_eq LinkContestRoom1_EventScript_23B7EF
- compare VAR_RESULT, 1
- call_if_eq LinkContestRoom1_EventScript_23B7F3
- compare VAR_RESULT, 2
- call_if_eq LinkContestRoom1_EventScript_23B7F7
- compare VAR_RESULT, 3
- call_if_eq LinkContestRoom1_EventScript_23B7FB
- compare VAR_RESULT, 4
- call_if_eq LinkContestRoom1_EventScript_23B7FF
- return
-
-LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF
- savebgm MUS_TEST1
- return
-
-LinkContestRoom1_EventScript_23B7F3:: @ 823B7F3
- savebgm MUS_TEST2
- return
-
-LinkContestRoom1_EventScript_23B7F7:: @ 823B7F7
- savebgm MUS_TEST3
- return
-
-LinkContestRoom1_EventScript_23B7FB:: @ 823B7FB
- savebgm MUS_TEST4
- return
-
-LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF
- savebgm MUS_CONTEST0
- return
-
-LinkContestRoom1_MapScript1_23B803: @ 823B803
- compare VAR_TEMP_9, 1
- call_if_eq LinkContestRoom1_EventScript_23B80F
- end
-
-LinkContestRoom1_EventScript_23B80F:: @ 823B80F
- call LinkContestRoom1_EventScript_23BB2B
- return
-
-LinkContestRoom1_MapScript2_23B815: @ 823B815
- map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 1, LinkContestRoom1_EventScript_23B829
- .2byte 0
-
-LinkContestRoom1_MapScript2_23B81F: @ 823B81F
- map_script_2 VAR_LINK_CONTEST_ROOM_STATE, 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 EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
- call LinkContestRoom1_EventScript_23BB2B
- end
-
-LinkContestRoom1_EventScript_23B842:: @ 823B842
- call LinkContestRoom1_EventScript_23B8F8
- call LinkContestRoom1_EventScript_23B858
- compare VAR_TEMP_0, 8
- goto_if_lt LinkContestRoom1_EventScript_23B842
- return
-
-LinkContestRoom1_EventScript_23B858:: @ 823B858
- switch VAR_TEMP_0
- 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_OBJ_GFX_ID_4, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8B6:: @ 823B8B6
- copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8C1:: @ 823B8C1
- copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8CC:: @ 823B8CC
- copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8D7:: @ 823B8D7
- copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8E2:: @ 823B8E2
- copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED
- copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8
- setvar VAR_RESULT, 32
- special ScriptRandom
- 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_TEMP_1, EVENT_OBJ_GFX_NINJA_BOY
- return
-
-LinkContestRoom1_EventScript_23BA71:: @ 823BA71
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_TWIN
- return
-
-LinkContestRoom1_EventScript_23BA77:: @ 823BA77
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_1
- return
-
-LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_1
- return
-
-LinkContestRoom1_EventScript_23BA83:: @ 823BA83
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_2
- return
-
-LinkContestRoom1_EventScript_23BA89:: @ 823BA89
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_BOY
- return
-
-LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_GIRL
- return
-
-LinkContestRoom1_EventScript_23BA95:: @ 823BA95
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_3
- return
-
-LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_3
- return
-
-LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_RICH_BOY
- return
-
-LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_FAT_MAN
- return
-
-LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_F
- return
-
-LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_1
- return
-
-LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_2
- return
-
-LinkContestRoom1_EventScript_23BABF:: @ 823BABF
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_M
- return
-
-LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_F
- return
-
-LinkContestRoom1_EventScript_23BACB:: @ 823BACB
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_M
- return
-
-LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_4
- return
-
-LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_COOK
- return
-
-LinkContestRoom1_EventScript_23BADD:: @ 823BADD
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_LASS
- return
-
-LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_OLD_WOMAN
- return
-
-LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_CAMPER
- return
-
-LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_PICNICKER
- return
-
-LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_3
- return
-
-LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_5
- return
-
-LinkContestRoom1_EventScript_23BB01:: @ 823BB01
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_YOUNGSTER
- return
-
-LinkContestRoom1_EventScript_23BB07:: @ 823BB07
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_BUG_CATCHER
- return
-
-LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_PSYCHIC_M
- return
-
-LinkContestRoom1_EventScript_23BB13:: @ 823BB13
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCHOOL_KID_M
- return
-
-LinkContestRoom1_EventScript_23BB19:: @ 823BB19
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_BLACK_BELT
- return
-
-LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_BEAUTY
- return
-
-LinkContestRoom1_EventScript_23BB25:: @ 823BB25
- setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCIENTIST_1
- return
-
-LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B
- specialvar VAR_RESULT, sub_80F9160
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_23BD86
- switch VAR_CONTEST_LOCATION
- 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 EVENT_OBJ_GFX_NINJA_BOY, 20, 3, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
- return
-
-LinkContestRoom1_EventScript_23BB8B:: @ 823BB8B
- createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_SCIENTIST_1, 3, 2, 8, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 13, 12, 8, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_LASS, 20, 3, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
- return
-
-LinkContestRoom1_EventScript_23BBE6:: @ 823BBE6
- createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_GENTLEMAN, 3, 2, 8, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 3, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_MAN_2, 20, 6, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_WOMAN_5, 20, 7, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 8, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 11, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 3, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 5, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH
- return
-
-LinkContestRoom1_EventScript_23BC92:: @ 823BC92
- createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_SAILOR, 25, 3, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_GENTLEMAN, 27, 5, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH
- createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH
- return
-
-LinkContestRoom1_EventScript_23BD86:: @ 823BD86
- createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST
- createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST
- createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH
- createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
- return
-
-LinkContestRoom1_EventScript_23BE44:: @ 823BE44
- special sub_80F9154
- switch VAR_CONTEST_LOCATION
- 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 MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BE8E:: @ 823BE8E
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BE98:: @ 823BE98
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BEA2:: @ 823BEA2
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4
- waitstate
- end
-
-LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6
- checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_23BECE
- compare VAR_RESULT, FEMALE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_23BED4
- return
-
-LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- return
-
-LilycoveCity_ContestLobby_EventScript_23BED4:: @ 823BED4
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
- return
-
diff --git a/data/maps/LinkContestRoom2/scripts.inc b/data/maps/LinkContestRoom2/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/LinkContestRoom2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/LinkContestRoom3/scripts.inc b/data/maps/LinkContestRoom3/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/LinkContestRoom3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/LinkContestRoom4/scripts.inc b/data/maps/LinkContestRoom4/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/LinkContestRoom4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/LinkContestRoom5/scripts.inc b/data/maps/LinkContestRoom5/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/LinkContestRoom5/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/LinkContestRoom6/map.json b/data/maps/LinkContestRoom6/map.json
deleted file mode 100644
index 38bfcd979..000000000
--- a/data/maps/LinkContestRoom6/map.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "id": "MAP_LINK_CONTEST_ROOM6",
- "name": "LinkContestRoom6",
- "layout": "LAYOUT_LINK_CONTEST_ROOM6",
- "music": "MUS_CONTEST0",
- "region_map_section": "MAPSEC_DYNAMIC",
- "requires_flash": false,
- "weather": "WEATHER_NONE",
- "map_type": "MAP_TYPE_INDOOR",
- "allow_bike": false,
- "allow_escape_rope": false,
- "allow_running": false,
- "show_map_name": false,
- "battle_scene": "MAP_BATTLE_SCENE_NORMAL",
- "connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
-} \ No newline at end of file
diff --git a/data/maps/LinkContestRoom6/scripts.inc b/data/maps/LinkContestRoom6/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/LinkContestRoom6/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/LittlerootTown/map.json b/data/maps/LittlerootTown/map.json
index eaa17a5df..56249cb50 100644
--- a/data/maps/LittlerootTown/map.json
+++ b/data/maps/LittlerootTown/map.json
@@ -30,7 +30,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_EventScript_1E8034",
+ "script": "LittlerootTown_EventScript_Twin",
"flag": "0"
},
{
@@ -43,7 +43,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_EventScript_1E8022",
+ "script": "LittlerootTown_EventScript_FatMan",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN"
},
{
@@ -56,7 +56,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_EventScript_1E802B",
+ "script": "LittlerootTown_EventScript_Boy",
"flag": "0"
},
{
@@ -69,7 +69,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_EventScript_1E863D",
+ "script": "LittlerootTown_EventScript_Mom",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE"
},
{
@@ -156,7 +156,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "0",
- "script": "LittlerootTown_EventScript_1E8091"
+ "script": "LittlerootTown_EventScript_NeedPokemonTriggerLeft"
},
{
"type": "trigger",
@@ -165,7 +165,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "0",
- "script": "LittlerootTown_EventScript_1E80EF"
+ "script": "LittlerootTown_EventScript_NeedPokemonTriggerRight"
},
{
"type": "trigger",
@@ -174,7 +174,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "1",
- "script": "LittlerootTown_EventScript_1E811F"
+ "script": "LittlerootTown_EventScript_GoSaveBirchTrigger"
},
{
"type": "trigger",
@@ -183,7 +183,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "3",
- "script": "LittlerootTown_EventScript_1E81F9"
+ "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger4"
},
{
"type": "trigger",
@@ -192,7 +192,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "3",
- "script": "LittlerootTown_EventScript_1E8205"
+ "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger5"
},
{
"type": "trigger",
@@ -201,7 +201,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "3",
- "script": "LittlerootTown_EventScript_1E81E1"
+ "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger2"
},
{
"type": "trigger",
@@ -210,7 +210,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "3",
- "script": "LittlerootTown_EventScript_1E81ED"
+ "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger3"
},
{
"type": "trigger",
@@ -219,7 +219,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "3",
- "script": "LittlerootTown_EventScript_1E81BB"
+ "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger0"
},
{
"type": "trigger",
@@ -228,7 +228,7 @@
"elevation": 3,
"var": "VAR_LITTLEROOT_TOWN_STATE",
"var_value": "3",
- "script": "LittlerootTown_EventScript_1E81CE"
+ "script": "LittlerootTown_EventScript_GiveRunningShoesTrigger1"
}
],
"bg_events": [
@@ -238,7 +238,7 @@
"y": 13,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_EventScript_1E8151"
+ "script": "LittlerootTown_EventScript_TownSign"
},
{
"type": "sign",
@@ -246,7 +246,7 @@
"y": 17,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_EventScript_1E815A"
+ "script": "LittlerootTown_EventScript_BirchsLabSign"
},
{
"type": "sign",
@@ -254,7 +254,7 @@
"y": 8,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_EventScript_1E8163"
+ "script": "LittlerootTown_EventScript_BrendansHouseSign"
},
{
"type": "sign",
@@ -262,7 +262,7 @@
"y": 8,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_EventScript_1E818F"
+ "script": "LittlerootTown_EventScript_MaysHouseSign"
}
]
}
diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc
index 8f10f2b4d..72b7b1050 100644
--- a/data/maps/LittlerootTown/scripts.inc
+++ b/data/maps/LittlerootTown/scripts.inc
@@ -1,195 +1,225 @@
LittlerootTown_MapScripts:: @ 81E7DCB
- map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MapScript1_1E7DDB
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_MapScript2_1E7EC1
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_MapScript2_1E7FE2
+ map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_OnWarp
.byte 0
-LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB
+ @ State descriptions for VAR_LITTLEROOT_TOWN_STATE
+ @ 1: Met Rival
+ @ 2: Saving Birch
+ @ 3: Received Pokedex
+ @ 4: Received Running Shoes
+
+ @ State descriptions for VAR_LITTLEROOT_INTRO_STATE
+ @ 1: In truck male
+ @ 2: In truck female
+ @ 3: Entered house
+ @ 4: Told to go set clock
+ @ 5: Entered 2F to set clock
+ @ 6: Set clock
+ @ 7: Told to go meet rival
+
+ @ State descriptions for VAR_LITTLEROOT_HOUSES_STATE_MAY
+ @ and VAR_LITTLEROOT_HOUSES_STATE_BRENDAN
+ @ 1: On Truck (and is corresponding gender)
+ @ 2: Met Rival's Mom (and is corresponding gender)
+ @ 3: Entered Hall of Fame
+ @ 4: Completed Lati TV / SS Ticket event
+ @ 5: Exited house after above event
+
+ @ State descriptions for VAR_LITTLEROOT_RIVAL_STATE
+ @ 1: Never occurs
+ @ 2: Entered Rival's bedroom
+ @ 3: Met Rival
+ @ 4: Received Pokedex
+
+
+LittlerootTown_OnTransition: @ 81E7DDB
setflag FLAG_VISITED_LITTLEROOT_TOWN
- call Common_EventScript_SetupRivalGender
+ call Common_EventScript_SetupRivalGfxId
compare VAR_LITTLEROOT_INTRO_STATE, 2
- call_if_eq LittlerootTown_EventScript_1E7E67
- call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E7E6F
+ call_if_eq LittlerootTown_EventScript_MoveMomToMaysDoor
+ call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_SetTwinPos
compare VAR_LITTLEROOT_TOWN_STATE, 3
- call_if_eq LittlerootTown_EventScript_1E7E92
- compare VAR_LITTLEROOT_HOUSES_STATE, 4
- call_if_eq LittlerootTown_EventScript_1E7E5C
- compare VAR_LITTLEROOT_HOUSES_STATE_2, 4
- call_if_eq LittlerootTown_EventScript_1E7E5C
+ call_if_eq LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos
+ compare VAR_LITTLEROOT_HOUSES_STATE_MAY, 4
+ call_if_eq LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent
+ compare VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4
+ call_if_eq LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent
compare VAR_OLDALE_RIVAL_STATE, 1
- call_if_eq LittlerootTown_EventScript_1E7E53
+ call_if_eq LittlerootTown_EventScript_MoveRivalFromOldale
compare VAR_LITTLEROOT_RIVAL_STATE, 3
- call_if_eq LittlerootTown_EventScript_1E7E4F
+ call_if_eq LittlerootTown_EventScript_SetRivalLeftForRoute103
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1
- call_if_eq LittlerootTown_EventScript_1E7E4B
+ call_if_eq LittlerootTown_EventScript_HideMapNamePopup
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- call_if_eq LittlerootTown_EventScript_1E7E45
+ call_if_eq LittlerootTown_EventScript_LeftLabAfterDexUpgrade
end
-LittlerootTown_EventScript_1E7E45:: @ 81E7E45
+LittlerootTown_EventScript_LeftLabAfterDexUpgrade:: @ 81E7E45
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
return
-LittlerootTown_EventScript_1E7E4B:: @ 81E7E4B
+LittlerootTown_EventScript_HideMapNamePopup:: @ 81E7E4B
setflag FLAG_HIDE_MAP_NAME_POPUP
return
-LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F
+LittlerootTown_EventScript_SetRivalLeftForRoute103:: @ 81E7E4F
setflag FLAG_RIVAL_LEFT_FOR_ROUTE103
return
-LittlerootTown_EventScript_1E7E53:: @ 81E7E53
+LittlerootTown_EventScript_MoveRivalFromOldale:: @ 81E7E53
setvar VAR_OLDALE_RIVAL_STATE, 2
setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
return
-LittlerootTown_EventScript_1E7E5C:: @ 81E7E5C
- setvar VAR_LITTLEROOT_HOUSES_STATE, 5
- setvar VAR_LITTLEROOT_HOUSES_STATE_2, 5
+LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent:: @ 81E7E5C
+ setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 5
+ setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 5
return
-LittlerootTown_EventScript_1E7E67:: @ 81E7E67
+LittlerootTown_EventScript_MoveMomToMaysDoor:: @ 81E7E67
setobjectxyperm 4, 14, 8
return
-LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F
+LittlerootTown_EventScript_SetTwinPos:: @ 81E7E6F
compare VAR_LITTLEROOT_TOWN_STATE, 0
- goto_if_eq LittlerootTown_EventScript_1E7E86
+ goto_if_eq LittlerootTown_EventScript_SetTwinGuardingRoutePos
setobjectxyperm 1, 10, 1
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_EventScript_1E7E86:: @ 81E7E86
+LittlerootTown_EventScript_SetTwinGuardingRoutePos:: @ 81E7E86
setobjectxyperm 1, 7, 2
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
return
-LittlerootTown_EventScript_1E7E92:: @ 81E7E92
+LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos:: @ 81E7E92
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E7EB1
+ call_if_eq LittlerootTown_EventScript_SetMomInFrontOfDoorMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E7EB9
+ call_if_eq LittlerootTown_EventScript_SetMomInFrontOfDoorFemale
return
-LittlerootTown_EventScript_1E7EB1:: @ 81E7EB1
+LittlerootTown_EventScript_SetMomInFrontOfDoorMale:: @ 81E7EB1
setobjectxyperm 4, 5, 9
return
-LittlerootTown_EventScript_1E7EB9:: @ 81E7EB9
+LittlerootTown_EventScript_SetMomInFrontOfDoorFemale:: @ 81E7EB9
setobjectxyperm 4, 14, 9
return
-LittlerootTown_MapScript2_1E7EC1: @ 81E7EC1
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 1, LittlerootTown_EventScript_1E7EDB
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 2, LittlerootTown_EventScript_1E7EF9
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_1E7FB1
+LittlerootTown_OnFrame: @ 81E7EC1
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 1, LittlerootTown_EventScript_StepOffTruckMale
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 2, LittlerootTown_EventScript_StepOffTruckFemale
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_BeginDexUpgradeScene
.2byte 0
-LittlerootTown_EventScript_1E7EDB:: @ 81E7EDB
+LittlerootTown_EventScript_StepOffTruckMale:: @ 81E7EDB
lockall
setvar VAR_0x8004, 5
setvar VAR_0x8005, 8
- call LittlerootTown_EventScript_1E7F17
+ call LittlerootTown_EventScript_GoInsideWithMom
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK
warpsilent MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, 255, 8, 8
waitstate
releaseall
end
-LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9
+LittlerootTown_EventScript_StepOffTruckFemale:: @ 81E7EF9
lockall
setvar VAR_0x8004, 14
setvar VAR_0x8005, 8
- call LittlerootTown_EventScript_1E7F17
+ call LittlerootTown_EventScript_GoInsideWithMom
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK
warpsilent MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F, 255, 2, 8
waitstate
releaseall
end
-LittlerootTown_EventScript_1E7F17:: @ 81E7F17
+LittlerootTown_EventScript_GoInsideWithMom:: @ 81E7F17
delay 15
playse SE_DANSA
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FAC
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PlayerStepOffTruck
waitmovement 0
opendoor VAR_0x8004, VAR_0x8005
waitdooranim
addobject 4
- applymovement 4, LittlerootTown_Movement_1E7F98
+ applymovement 4, LittlerootTown_Movement_MomExitHouse
waitmovement 0
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
delay 10
- applymovement 4, LittlerootTown_Movement_1E7F9A
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerAtTruck
waitmovement 0
- msgbox LittlerootTown_Text_1E86BC, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_OurNewHomeLetsGoInside, MSGBOX_DEFAULT
closemessage
- applymovement 4, LittlerootTown_Movement_1E7F9D
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA4
+ applymovement 4, LittlerootTown_Movement_MomApproachDoor
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PlayerApproachDoor
waitmovement 0
opendoor VAR_0x8004, VAR_0x8005
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E7FA1
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA9
+ applymovement 4, LittlerootTown_Movement_MomEnterHouse
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PlayerEnterHouse
waitmovement 0
setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
setvar VAR_LITTLEROOT_INTRO_STATE, 3
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN
clearflag FLAG_HIDE_MAP_NAME_POPUP
return
-LittlerootTown_Movement_1E7F98: @ 81E7F98
+LittlerootTown_Movement_MomExitHouse: @ 81E7F98
walk_down
step_end
-LittlerootTown_Movement_1E7F9A: @ 81E7F9A
+LittlerootTown_Movement_MomApproachPlayerAtTruck: @ 81E7F9A
walk_down
walk_in_place_fastest_left
step_end
-LittlerootTown_Movement_1E7F9D: @ 81E7F9D
+LittlerootTown_Movement_MomApproachDoor: @ 81E7F9D
delay_16
delay_8
walk_up
step_end
-LittlerootTown_Movement_1E7FA1: @ 81E7FA1
+LittlerootTown_Movement_MomEnterHouse: @ 81E7FA1
walk_up
set_invisible
step_end
-LittlerootTown_Movement_1E7FA4: @ 81E7FA4
+LittlerootTown_Movement_PlayerApproachDoor: @ 81E7FA4
delay_16
delay_8
walk_right
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E7FA9: @ 81E7FA9
+LittlerootTown_Movement_PlayerEnterHouse: @ 81E7FA9
walk_up
walk_up
step_end
-LittlerootTown_Movement_1E7FAC: @ 81E7FAC
+LittlerootTown_Movement_PlayerStepOffTruck: @ 81E7FAC
jump_right
delay_16
delay_16
delay_16
step_end
-LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1
+LittlerootTown_EventScript_BeginDexUpgradeScene:: @ 81E7FB1
lockall
playse SE_PIN
applymovement 8, Common_Movement_ExclamationMark
waitmovement 0
delay 80
- msgbox LittlerootTown_Text_1E8DA2, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_BirchSomethingToShowYouAtLab, MSGBOX_DEFAULT
closemessage
clearflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
@@ -200,51 +230,51 @@ LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1
releaseall
end
-LittlerootTown_MapScript2_1E7FE2: @ 81E7FE2
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_1E7FEC
+LittlerootTown_OnWarp: @ 81E7FE2
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_SetRivalBirchPosForDexUpgrade
.2byte 0
-LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC
+LittlerootTown_EventScript_SetRivalBirchPosForDexUpgrade:: @ 81E7FEC
addobject 8
addobject 7
checkplayergender
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_EventScript_1E8004
- goto LittlerootTown_EventScript_1E8013
+ compare VAR_RESULT, MALE
+ goto_if_eq LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale
+ goto LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeFemale
end
-LittlerootTown_EventScript_1E8004:: @ 81E8004
+LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale:: @ 81E8004
setobjectxy 7, 6, 10
setobjectxy 8, 5, 10
end
-LittlerootTown_EventScript_1E8013:: @ 81E8013
+LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeFemale:: @ 81E8013
setobjectxy 7, 13, 10
setobjectxy 8, 14, 10
end
-LittlerootTown_EventScript_1E8022:: @ 81E8022
- msgbox LittlerootTown_Text_1E8ACF, MSGBOX_NPC
+LittlerootTown_EventScript_FatMan:: @ 81E8022
+ msgbox LittlerootTown_Text_CanUsePCToStoreItems, MSGBOX_NPC
end
-LittlerootTown_EventScript_1E802B:: @ 81E802B
- msgbox LittlerootTown_Text_1E8B25, MSGBOX_NPC
+LittlerootTown_EventScript_Boy:: @ 81E802B
+ msgbox LittlerootTown_Text_BirchSpendsDaysInLab, MSGBOX_NPC
end
-LittlerootTown_EventScript_1E8034:: @ 81E8034
+LittlerootTown_EventScript_Twin:: @ 81E8034
lock
faceplayer
- goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_1E8087
- goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E807A
+ goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_GoodLuck
+ goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_YouSavedBirch
compare VAR_LITTLEROOT_TOWN_STATE, 0
- goto_if_ne LittlerootTown_EventScript_1E805D
- msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT
+ goto_if_ne LittlerootTown_EventScript_GoSaveBirch
+ msgbox LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut, MSGBOX_DEFAULT
release
end
-LittlerootTown_EventScript_1E805D:: @ 81E805D
+LittlerootTown_EventScript_GoSaveBirch:: @ 81E805D
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_CanYouGoSeeWhatsHappening, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
@@ -252,38 +282,38 @@ LittlerootTown_EventScript_1E805D:: @ 81E805D
release
end
-LittlerootTown_EventScript_1E807A:: @ 81E807A
+LittlerootTown_EventScript_YouSavedBirch:: @ 81E807A
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_Text_1E8CE3, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_YouSavedBirch, MSGBOX_DEFAULT
release
end
-LittlerootTown_EventScript_1E8087:: @ 81E8087
- msgbox LittlerootTown_Text_1E8D07, MSGBOX_DEFAULT
+LittlerootTown_EventScript_GoodLuck:: @ 81E8087
+ msgbox LittlerootTown_Text_GoodLuckCatchingPokemon, MSGBOX_DEFAULT
release
end
-LittlerootTown_EventScript_1E8091:: @ 81E8091
+LittlerootTown_EventScript_NeedPokemonTriggerLeft:: @ 81E8091
lockall
- applymovement 1, LittlerootTown_Movement_1E80D1
+ applymovement 1, LittlerootTown_Movement_TwinApproachPlayerLeft
waitmovement 0
- call LittlerootTown_EventScript_1E80AD
- applymovement 1, LittlerootTown_Movement_1E80E1
+ call LittlerootTown_EventScript_DangerousWithoutPokemon
+ applymovement 1, LittlerootTown_Movement_TwinReturnLeft
waitmovement 0
releaseall
end
-LittlerootTown_EventScript_1E80AD:: @ 81E80AD
- msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT
+LittlerootTown_EventScript_DangerousWithoutPokemon:: @ 81E80AD
+ msgbox LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut, MSGBOX_DEFAULT
closemessage
- applymovement 1, LittlerootTown_Movement_1E80DF
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E80EB
+ applymovement 1, LittlerootTown_Movement_TwinPushPlayerFromRoute
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_PushPlayerBackFromRoute
waitmovement 0
- msgbox LittlerootTown_Text_1E8C07, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_DangerousIfYouDontHavePokemon, MSGBOX_DEFAULT
closemessage
return
-LittlerootTown_Movement_1E80D1: @ 81E80D1
+LittlerootTown_Movement_TwinApproachPlayerLeft: @ 81E80D1
face_right
delay_8
disable_jump_landing_ground_effect
@@ -299,11 +329,11 @@ LittlerootTown_Movement_1E80D1: @ 81E80D1
face_down
step_end
-LittlerootTown_Movement_1E80DF: @ 81E80DF
+LittlerootTown_Movement_TwinPushPlayerFromRoute: @ 81E80DF
walk_down
step_end
-LittlerootTown_Movement_1E80E1: @ 81E80E1
+LittlerootTown_Movement_TwinReturnLeft: @ 81E80E1
walk_right
walk_down
walk_down
@@ -315,23 +345,23 @@ LittlerootTown_Movement_1E80E1: @ 81E80E1
walk_in_place_fastest_down
step_end
-LittlerootTown_Movement_1E80EB: @ 81E80EB
+LittlerootTown_Movement_PushPlayerBackFromRoute: @ 81E80EB
lock_facing_direction
walk_down
unlock_facing_direction
step_end
-LittlerootTown_EventScript_1E80EF:: @ 81E80EF
+LittlerootTown_EventScript_NeedPokemonTriggerRight:: @ 81E80EF
lockall
- applymovement 1, LittlerootTown_Movement_1E810B
+ applymovement 1, LittlerootTown_Movement_TwinApproachPlayerRight
waitmovement 0
- call LittlerootTown_EventScript_1E80AD
- applymovement 1, LittlerootTown_Movement_1E8118
+ call LittlerootTown_EventScript_DangerousWithoutPokemon
+ applymovement 1, LittlerootTown_Movement_TwinReturnRight
waitmovement 0
releaseall
end
-LittlerootTown_Movement_1E810B: @ 81E810B
+LittlerootTown_Movement_TwinApproachPlayerRight: @ 81E810B
face_right
delay_8
disable_jump_landing_ground_effect
@@ -346,7 +376,7 @@ LittlerootTown_Movement_1E810B: @ 81E810B
face_down
step_end
-LittlerootTown_Movement_1E8118: @ 81E8118
+LittlerootTown_Movement_TwinReturnRight: @ 81E8118
walk_left
walk_down
walk_left
@@ -355,14 +385,14 @@ LittlerootTown_Movement_1E8118: @ 81E8118
walk_in_place_fastest_down
step_end
-LittlerootTown_EventScript_1E811F:: @ 81E811F
+LittlerootTown_EventScript_GoSaveBirchTrigger:: @ 81E811F
lockall
- applymovement 1, Common_Movement_WalkInPlaceRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_CanYouGoSeeWhatsHappening, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
@@ -370,372 +400,372 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F
releaseall
end
-LittlerootTown_EventScript_1E8151:: @ 81E8151
- msgbox LittlerootTown_Text_1E8D32, MSGBOX_SIGN
+LittlerootTown_EventScript_TownSign:: @ 81E8151
+ msgbox LittlerootTown_Text_TownSign, MSGBOX_SIGN
end
-LittlerootTown_EventScript_1E815A:: @ 81E815A
- msgbox LittlerootTown_Text_1E8D69, MSGBOX_SIGN
+LittlerootTown_EventScript_BirchsLabSign:: @ 81E815A
+ msgbox LittlerootTown_Text_ProfBirchsLab, MSGBOX_SIGN
end
-LittlerootTown_EventScript_1E8163:: @ 81E8163
+LittlerootTown_EventScript_BrendansHouseSign:: @ 81E8163
lockall
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E817D
+ call_if_eq LittlerootTown_EventScript_PlayersHouseSignMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E8186
+ call_if_eq LittlerootTown_EventScript_BirchsHouseSignFemale
releaseall
end
-LittlerootTown_EventScript_1E817D:: @ 81E817D
- msgbox LittlerootTown_Text_1E8D83, MSGBOX_DEFAULT
+LittlerootTown_EventScript_PlayersHouseSignMale:: @ 81E817D
+ msgbox LittlerootTown_Text_PlayersHouse, MSGBOX_DEFAULT
return
-LittlerootTown_EventScript_1E8186:: @ 81E8186
- msgbox LittlerootTown_Text_1E8D8E, MSGBOX_DEFAULT
+LittlerootTown_EventScript_BirchsHouseSignFemale:: @ 81E8186
+ msgbox LittlerootTown_Text_ProfBirchsHouse, MSGBOX_DEFAULT
return
-LittlerootTown_EventScript_1E818F:: @ 81E818F
+LittlerootTown_EventScript_MaysHouseSign:: @ 81E818F
lockall
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E81A9
+ call_if_eq LittlerootTown_EventScript_BirchsHouseSignMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E81B2
+ call_if_eq LittlerootTown_EventScript_PlayersHouseSignFemale
releaseall
end
-LittlerootTown_EventScript_1E81A9:: @ 81E81A9
- msgbox LittlerootTown_Text_1E8D8E, MSGBOX_DEFAULT
+LittlerootTown_EventScript_BirchsHouseSignMale:: @ 81E81A9
+ msgbox LittlerootTown_Text_ProfBirchsHouse, MSGBOX_DEFAULT
return
-LittlerootTown_EventScript_1E81B2:: @ 81E81B2
- msgbox LittlerootTown_Text_1E8D83, MSGBOX_DEFAULT
+LittlerootTown_EventScript_PlayersHouseSignFemale:: @ 81E81B2
+ msgbox LittlerootTown_Text_PlayersHouse, MSGBOX_DEFAULT
return
-LittlerootTown_EventScript_1E81BB:: @ 81E81BB
+LittlerootTown_EventScript_GiveRunningShoesTrigger0:: @ 81E81BB
lockall
setvar VAR_0x8008, 0
setobjectxy 4, 10, 9
- goto LittlerootTown_EventScript_1E8211
+ goto LittlerootTown_EventScript_GiveRunningShoesTrigger
end
-LittlerootTown_EventScript_1E81CE:: @ 81E81CE
+LittlerootTown_EventScript_GiveRunningShoesTrigger1:: @ 81E81CE
lockall
setvar VAR_0x8008, 1
setobjectxy 4, 11, 9
- goto LittlerootTown_EventScript_1E8211
+ goto LittlerootTown_EventScript_GiveRunningShoesTrigger
end
-LittlerootTown_EventScript_1E81E1:: @ 81E81E1
+LittlerootTown_EventScript_GiveRunningShoesTrigger2:: @ 81E81E1
lockall
setvar VAR_0x8008, 2
- goto LittlerootTown_EventScript_1E8211
+ goto LittlerootTown_EventScript_GiveRunningShoesTrigger
end
-LittlerootTown_EventScript_1E81ED:: @ 81E81ED
+LittlerootTown_EventScript_GiveRunningShoesTrigger3:: @ 81E81ED
lockall
setvar VAR_0x8008, 3
- goto LittlerootTown_EventScript_1E8211
+ goto LittlerootTown_EventScript_GiveRunningShoesTrigger
end
-LittlerootTown_EventScript_1E81F9:: @ 81E81F9
+LittlerootTown_EventScript_GiveRunningShoesTrigger4:: @ 81E81F9
lockall
setvar VAR_0x8008, 4
- goto LittlerootTown_EventScript_1E8211
+ goto LittlerootTown_EventScript_GiveRunningShoesTrigger
end
-LittlerootTown_EventScript_1E8205:: @ 81E8205
+LittlerootTown_EventScript_GiveRunningShoesTrigger5:: @ 81E8205
lockall
setvar VAR_0x8008, 5
- goto LittlerootTown_EventScript_1E8211
+ goto LittlerootTown_EventScript_GiveRunningShoesTrigger
end
-LittlerootTown_EventScript_1E8211:: @ 81E8211
+LittlerootTown_EventScript_GiveRunningShoesTrigger:: @ 81E8211
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E8297
+ call_if_eq LittlerootTown_EventScript_MomNoticePlayerMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E82A2
+ call_if_eq LittlerootTown_EventScript_MomNoticePlayerFemale
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E8281
+ call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E828C
- msgbox LittlerootTown_Text_1E87E1, MSGBOX_DEFAULT
+ call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsFemale
+ msgbox LittlerootTown_Text_WaitPlayer, MSGBOX_DEFAULT
closemessage
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E82AD
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E82F0
- call LittlerootTown_EventScript_1E8693
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale
+ call LittlerootTown_EventScript_GiveRunningShoes
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E8405
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E8448
- goto LittlerootTown_EventScript_1E8686
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale
+ goto LittlerootTown_EventScript_SetReceivedRunningShoes
end
-LittlerootTown_EventScript_1E8281:: @ 81E8281
+LittlerootTown_EventScript_SetHomeDoorCoordsMale:: @ 81E8281
setvar VAR_0x8009, 5
setvar VAR_0x800A, 8
return
-LittlerootTown_EventScript_1E828C:: @ 81E828C
+LittlerootTown_EventScript_SetHomeDoorCoordsFemale:: @ 81E828C
setvar VAR_0x8009, 14
setvar VAR_0x800A, 8
return
-LittlerootTown_EventScript_1E8297:: @ 81E8297
- applymovement 4, Common_Movement_WalkInPlaceRight
+LittlerootTown_EventScript_MomNoticePlayerMale:: @ 81E8297
+ applymovement 4, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-LittlerootTown_EventScript_1E82A2:: @ 81E82A2
- applymovement 4, Common_Movement_WalkInPlaceLeft
+LittlerootTown_EventScript_MomNoticePlayerFemale:: @ 81E82A2
+ applymovement 4, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-LittlerootTown_EventScript_1E82AD:: @ 81E82AD
+LittlerootTown_EventScript_MomApproachPlayerMale:: @ 81E82AD
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_1E8333
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_1E8348
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_1E835D
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale2
compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_1E8372
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale3
compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_1E8387
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale4
compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_1E839C
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale5
return
-LittlerootTown_EventScript_1E82F0:: @ 81E82F0
+LittlerootTown_EventScript_MomApproachPlayerFemale:: @ 81E82F0
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_1E8333
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_1E8348
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_1E83B1
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale2
compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_1E83C6
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale3
compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_1E83DB
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale4
compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_1E83F0
+ call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale5
return
-LittlerootTown_EventScript_1E8333:: @ 81E8333
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+LittlerootTown_EventScript_MomApproachPlayer0:: @ 81E8333
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85D1
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayer0
waitmovement 0
return
-LittlerootTown_EventScript_1E8348:: @ 81E8348
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+LittlerootTown_EventScript_MomApproachPlayer1:: @ 81E8348
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85D8
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayer1
waitmovement 0
return
-LittlerootTown_EventScript_1E835D:: @ 81E835D
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+LittlerootTown_EventScript_MomApproachPlayerMale2:: @ 81E835D
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85DF
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale2
waitmovement 0
return
-LittlerootTown_EventScript_1E8372:: @ 81E8372
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+LittlerootTown_EventScript_MomApproachPlayerMale3:: @ 81E8372
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85E4
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale3
waitmovement 0
return
-LittlerootTown_EventScript_1E8387:: @ 81E8387
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+LittlerootTown_EventScript_MomApproachPlayerMale4:: @ 81E8387
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85EA
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale4
waitmovement 0
return
-LittlerootTown_EventScript_1E839C:: @ 81E839C
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+LittlerootTown_EventScript_MomApproachPlayerMale5:: @ 81E839C
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85ED
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerMale5
waitmovement 0
return
-LittlerootTown_EventScript_1E83B1:: @ 81E83B1
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+LittlerootTown_EventScript_MomApproachPlayerFemale2:: @ 81E83B1
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85F1
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale2
waitmovement 0
return
-LittlerootTown_EventScript_1E83C6:: @ 81E83C6
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+LittlerootTown_EventScript_MomApproachPlayerFemale3:: @ 81E83C6
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85F5
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale3
waitmovement 0
return
-LittlerootTown_EventScript_1E83DB:: @ 81E83DB
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+LittlerootTown_EventScript_MomApproachPlayerFemale4:: @ 81E83DB
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85F8
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale4
waitmovement 0
return
-LittlerootTown_EventScript_1E83F0:: @ 81E83F0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+LittlerootTown_EventScript_MomApproachPlayerFemale5:: @ 81E83F0
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- applymovement 4, LittlerootTown_Movement_1E85FE
+ applymovement 4, LittlerootTown_Movement_MomApproachPlayerFemale5
waitmovement 0
return
-LittlerootTown_EventScript_1E8405:: @ 81E8405
+LittlerootTown_EventScript_MomReturnHomeMale:: @ 81E8405
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_1E848B
+ call_if_eq LittlerootTown_EventScript_MomReturnHome0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_1E8496
+ call_if_eq LittlerootTown_EventScript_MomReturnHome1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_1E84A1
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeMale2
compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_1E84C7
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeMale3
compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_1E84ED
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeMale4
compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_1E8513
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeMale5
return
-LittlerootTown_EventScript_1E8448:: @ 81E8448
+LittlerootTown_EventScript_MomReturnHomeFemale:: @ 81E8448
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_1E848B
+ call_if_eq LittlerootTown_EventScript_MomReturnHome0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_1E8496
+ call_if_eq LittlerootTown_EventScript_MomReturnHome1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_1E8539
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale2
compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_1E855F
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale3
compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_1E8585
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale4
compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_1E85AB
+ call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale5
return
-LittlerootTown_EventScript_1E848B:: @ 81E848B
- applymovement 4, LittlerootTown_Movement_1E8603
+LittlerootTown_EventScript_MomReturnHome0:: @ 81E848B
+ applymovement 4, LittlerootTown_Movement_MomReturnHome0
waitmovement 0
return
-LittlerootTown_EventScript_1E8496:: @ 81E8496
- applymovement 4, LittlerootTown_Movement_1E8609
+LittlerootTown_EventScript_MomReturnHome1:: @ 81E8496
+ applymovement 4, LittlerootTown_Movement_MomReturnHome1
waitmovement 0
return
-LittlerootTown_EventScript_1E84A1:: @ 81E84A1
- applymovement 4, LittlerootTown_Movement_1E860F
+LittlerootTown_EventScript_MomReturnHomeMale2:: @ 81E84A1
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeMale2
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_EventScript_1E84C7:: @ 81E84C7
- applymovement 4, LittlerootTown_Movement_1E8615
+LittlerootTown_EventScript_MomReturnHomeMale3:: @ 81E84C7
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeMale3
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_EventScript_1E84ED:: @ 81E84ED
- applymovement 4, LittlerootTown_Movement_1E861C
+LittlerootTown_EventScript_MomReturnHomeMale4:: @ 81E84ED
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeMale4
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_EventScript_1E8513:: @ 81E8513
- applymovement 4, LittlerootTown_Movement_1E8620
+LittlerootTown_EventScript_MomReturnHomeMale5:: @ 81E8513
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeMale5
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_EventScript_1E8539:: @ 81E8539
- applymovement 4, LittlerootTown_Movement_1E8625
+LittlerootTown_EventScript_MomReturnHomeFemale2:: @ 81E8539
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale2
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_EventScript_1E855F:: @ 81E855F
- applymovement 4, LittlerootTown_Movement_1E862A
+LittlerootTown_EventScript_MomReturnHomeFemale3:: @ 81E855F
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale3
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_EventScript_1E8585:: @ 81E8585
- applymovement 4, LittlerootTown_Movement_1E862E
+LittlerootTown_EventScript_MomReturnHomeFemale4:: @ 81E8585
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale4
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_EventScript_1E85AB:: @ 81E85AB
- applymovement 4, LittlerootTown_Movement_1E8635
+LittlerootTown_EventScript_MomReturnHomeFemale5:: @ 81E85AB
+ applymovement 4, LittlerootTown_Movement_MomReturnHomeFemale5
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
return
-LittlerootTown_Movement_1E85D1: @ 81E85D1
+LittlerootTown_Movement_MomApproachPlayer0: @ 81E85D1
walk_up
walk_up
walk_up
@@ -744,7 +774,7 @@ LittlerootTown_Movement_1E85D1: @ 81E85D1
walk_up
step_end
-LittlerootTown_Movement_1E85D8: @ 81E85D8
+LittlerootTown_Movement_MomApproachPlayer1: @ 81E85D8
walk_up
walk_up
walk_up
@@ -753,14 +783,14 @@ LittlerootTown_Movement_1E85D8: @ 81E85D8
walk_up
step_end
-LittlerootTown_Movement_1E85DF: @ 81E85DF
+LittlerootTown_Movement_MomApproachPlayerMale2: @ 81E85DF
walk_right
walk_right
walk_right
walk_right
step_end
-LittlerootTown_Movement_1E85E4: @ 81E85E4
+LittlerootTown_Movement_MomApproachPlayerMale3: @ 81E85E4
walk_right
walk_right
walk_right
@@ -768,29 +798,29 @@ LittlerootTown_Movement_1E85E4: @ 81E85E4
walk_right
step_end
-LittlerootTown_Movement_1E85EA: @ 81E85EA
+LittlerootTown_Movement_MomApproachPlayerMale4: @ 81E85EA
walk_right
walk_right
step_end
-LittlerootTown_Movement_1E85ED: @ 81E85ED
+LittlerootTown_Movement_MomApproachPlayerMale5: @ 81E85ED
walk_right
walk_right
walk_right
step_end
-LittlerootTown_Movement_1E85F1: @ 81E85F1
+LittlerootTown_Movement_MomApproachPlayerFemale2: @ 81E85F1
walk_left
walk_left
walk_left
step_end
-LittlerootTown_Movement_1E85F5: @ 81E85F5
+LittlerootTown_Movement_MomApproachPlayerFemale3: @ 81E85F5
walk_left
walk_left
step_end
-LittlerootTown_Movement_1E85F8: @ 81E85F8
+LittlerootTown_Movement_MomApproachPlayerFemale4: @ 81E85F8
walk_left
walk_left
walk_left
@@ -798,14 +828,14 @@ LittlerootTown_Movement_1E85F8: @ 81E85F8
walk_left
step_end
-LittlerootTown_Movement_1E85FE: @ 81E85FE
+LittlerootTown_Movement_MomApproachPlayerFemale5: @ 81E85FE
walk_left
walk_left
walk_left
walk_left
step_end
-LittlerootTown_Movement_1E8603: @ 81E8603
+LittlerootTown_Movement_MomReturnHome0: @ 81E8603
walk_down
walk_down
walk_down
@@ -813,7 +843,7 @@ LittlerootTown_Movement_1E8603: @ 81E8603
walk_down
step_end
-LittlerootTown_Movement_1E8609: @ 81E8609
+LittlerootTown_Movement_MomReturnHome1: @ 81E8609
walk_down
walk_down
walk_down
@@ -821,7 +851,7 @@ LittlerootTown_Movement_1E8609: @ 81E8609
walk_down
step_end
-LittlerootTown_Movement_1E860F: @ 81E860F
+LittlerootTown_Movement_MomReturnHomeMale2: @ 81E860F
walk_left
walk_left
walk_left
@@ -829,7 +859,7 @@ LittlerootTown_Movement_1E860F: @ 81E860F
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E8615: @ 81E8615
+LittlerootTown_Movement_MomReturnHomeMale3: @ 81E8615
walk_left
walk_left
walk_left
@@ -838,33 +868,33 @@ LittlerootTown_Movement_1E8615: @ 81E8615
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E861C: @ 81E861C
+LittlerootTown_Movement_MomReturnHomeMale4: @ 81E861C
walk_left
walk_left
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E8620: @ 81E8620
+LittlerootTown_Movement_MomReturnHomeMale5: @ 81E8620
walk_left
walk_left
walk_left
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E8625: @ 81E8625
+LittlerootTown_Movement_MomReturnHomeFemale2: @ 81E8625
walk_right
walk_right
walk_right
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E862A: @ 81E862A
+LittlerootTown_Movement_MomReturnHomeFemale3: @ 81E862A
walk_right
walk_right
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E862E: @ 81E862E
+LittlerootTown_Movement_MomReturnHomeFemale4: @ 81E862E
walk_right
walk_right
walk_right
@@ -873,7 +903,7 @@ LittlerootTown_Movement_1E862E: @ 81E862E
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E8635: @ 81E8635
+LittlerootTown_Movement_MomReturnHomeFemale5: @ 81E8635
walk_right
walk_right
walk_right
@@ -881,51 +911,51 @@ LittlerootTown_Movement_1E8635: @ 81E8635
walk_in_place_fastest_up
step_end
-LittlerootTown_Movement_1E863B: @ 81E863B
+LittlerootTown_Movement_MomExitThroughDoor: @ 81E863B
walk_up
step_end
-LittlerootTown_EventScript_1E863D:: @ 81E863D
+LittlerootTown_EventScript_Mom:: @ 81E863D
lock
faceplayer
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_1E8281
+ call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_1E828C
- call LittlerootTown_EventScript_1E8693
- applymovement 4, Common_Movement_WalkInPlaceUp
+ call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsFemale
+ call LittlerootTown_EventScript_GiveRunningShoes
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
opendoor VAR_0x8009, VAR_0x800A
waitdooranim
- applymovement 4, LittlerootTown_Movement_1E863B
+ applymovement 4, LittlerootTown_Movement_MomExitThroughDoor
waitmovement 0
hideobjectat 4, MAP_LITTLEROOT_TOWN
closedoor VAR_0x8009, VAR_0x800A
waitdooranim
- goto LittlerootTown_EventScript_1E8686
+ goto LittlerootTown_EventScript_SetReceivedRunningShoes
end
-LittlerootTown_EventScript_1E8686:: @ 81E8686
+LittlerootTown_EventScript_SetReceivedRunningShoes:: @ 81E8686
removeobject 4
setflag FLAG_SYS_B_DASH
setvar VAR_LITTLEROOT_TOWN_STATE, 4
release
end
-LittlerootTown_EventScript_1E8693:: @ 81E8693
- msgbox LittlerootTown_Text_1E87F0, MSGBOX_DEFAULT
+LittlerootTown_EventScript_GiveRunningShoes:: @ 81E8693
+ msgbox LittlerootTown_Text_WearTheseRunningShoes, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- message LittlerootTown_Text_1E8925
+ message LittlerootTown_Text_SwitchShoesWithRunningShoes
waitfanfare
setflag FLAG_RECEIVED_RUNNING_SHOES
- msgbox LittlerootTown_Text_1E894F, MSGBOX_DEFAULT
- msgbox LittlerootTown_Text_1E8A03, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_ExplainRunningShoes, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_ComeHomeIfAnythingHappens, MSGBOX_DEFAULT
closemessage
delay 30
return
-LittlerootTown_Text_1E86BC: @ 81E86BC
+LittlerootTown_Text_OurNewHomeLetsGoInside: @ 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"
@@ -937,10 +967,10 @@ LittlerootTown_Text_1E86BC: @ 81E86BC
.string "And, you get your own room, {PLAYER}!\n"
.string "Let's go inside.$"
-LittlerootTown_Text_1E87E1: @ 81E87E1
+LittlerootTown_Text_WaitPlayer: @ 81E87E1
.string "MOM: Wait, {PLAYER}!$"
-LittlerootTown_Text_1E87F0: @ 81E87F0
+LittlerootTown_Text_WearTheseRunningShoes: @ 81E87F0
.string "MOM: {PLAYER}! {PLAYER}! Did you\n"
.string "introduce yourself to PROF. BIRCH?\p"
.string "Oh! What an adorable POKéMON!\n"
@@ -951,11 +981,11 @@ LittlerootTown_Text_1E87F0: @ 81E87F0
.string "adventure, wear these RUNNING SHOES.\p"
.string "They'll put a zip in your step!$"
-LittlerootTown_Text_1E8925: @ 81E8925
+LittlerootTown_Text_SwitchShoesWithRunningShoes: @ 81E8925
.string "{PLAYER} switched shoes with the\n"
.string "RUNNING SHOES.$"
-LittlerootTown_Text_1E894F: @ 81E894F
+LittlerootTown_Text_ExplainRunningShoes: @ 81E894F
.string "MOM: {PLAYER}, those shoes came with\n"
.string "instructions.\p"
.string "“Press the B Button while wearing these\n"
@@ -963,7 +993,7 @@ LittlerootTown_Text_1E894F: @ 81E894F
.string "“Slip on these RUNNING SHOES and race\n"
.string "in the great outdoors!”$"
-LittlerootTown_Text_1E8A03: @ 81E8A03
+LittlerootTown_Text_ComeHomeIfAnythingHappens: @ 81E8A03
.string "… … … … … … … …\n"
.string "… … … … … … … …\p"
.string "To think that you have your very own\n"
@@ -973,28 +1003,28 @@ LittlerootTown_Text_1E8A03: @ 81E8A03
.string "If anything happens, you can come home.\p"
.string "Go on, go get them, honey!$"
-LittlerootTown_Text_1E8ACF: @ 81E8ACF
+LittlerootTown_Text_CanUsePCToStoreItems: @ 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
+LittlerootTown_Text_BirchSpendsDaysInLab: @ 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
+LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut: @ 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
+LittlerootTown_Text_DangerousIfYouDontHavePokemon: @ 81E8C07
.string "It's dangerous if you don't have\n"
.string "your own POKéMON.$"
-LittlerootTown_Text_1E8C3A: @ 81E8C3A
+LittlerootTown_Text_CanYouGoSeeWhatsHappening: @ 81E8C3A
.string "Um, hi!\p"
.string "There are scary POKéMON outside!\n"
.string "I can hear their cries!\p"
@@ -1003,28 +1033,28 @@ LittlerootTown_Text_1E8C3A: @ 81E8C3A
.string "Can you go see what's happening\n"
.string "for me?$"
-LittlerootTown_Text_1E8CE3: @ 81E8CE3
+LittlerootTown_Text_YouSavedBirch: @ 81E8CE3
.string "You saved PROF. BIRCH!\n"
.string "I'm so glad!$"
-LittlerootTown_Text_1E8D07: @ 81E8D07
+LittlerootTown_Text_GoodLuckCatchingPokemon: @ 81E8D07
.string "Are you going to catch POKéMON?\n"
.string "Good luck!$"
-LittlerootTown_Text_1E8D32: @ 81E8D32
+LittlerootTown_Text_TownSign: @ 81E8D32
.string "LITTLEROOT TOWN\n"
.string "“A town that can't be shaded any hue.”$"
-LittlerootTown_Text_1E8D69: @ 81E8D69
+LittlerootTown_Text_ProfBirchsLab: @ 81E8D69
.string "PROF. BIRCH'S POKéMON LAB$"
-LittlerootTown_Text_1E8D83: @ 81E8D83
+LittlerootTown_Text_PlayersHouse: @ 81E8D83
.string "{PLAYER}'s HOUSE$"
-LittlerootTown_Text_1E8D8E: @ 81E8D8E
+LittlerootTown_Text_ProfBirchsHouse: @ 81E8D8E
.string "PROF. BIRCH'S HOUSE$"
-LittlerootTown_Text_1E8DA2: @ 81E8DA2
+LittlerootTown_Text_BirchSomethingToShowYouAtLab: @ 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"
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.json b/data/maps/LittlerootTown_BrendansHouse_1F/map.json
index d6d4af86c..8b0c762f9 100644
--- a/data/maps/LittlerootTown_BrendansHouse_1F/map.json
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_2929C5",
+ "script": "PlayersHouse_1F_EventScript_Mom",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_292ACD",
+ "script": "PlayersHouse_1F_EventScript_Vigoroth2",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_292ABA",
+ "script": "PlayersHouse_1F_EventScript_Vigoroth1",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F89F3",
+ "script": "RivalsHouse_1F_EventScript_RivalMom",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D",
+ "script": "RivalsHouse_1F_EventScript_RivalSibling",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING"
},
{
@@ -137,7 +137,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_INTRO_STATE",
"var_value": "4",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78A3"
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_GoSeeRoom"
},
{
"type": "trigger",
@@ -146,7 +146,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_RIVAL_STATE",
"var_value": "2",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78BE"
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_MeetRival0"
},
{
"type": "trigger",
@@ -155,7 +155,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_RIVAL_STATE",
"var_value": "2",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78CA"
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_MeetRival1"
},
{
"type": "trigger",
@@ -164,7 +164,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_RIVAL_STATE",
"var_value": "2",
- "script": "LittlerootTown_BrendansHouse_1F_EventScript_1F78D6"
+ "script": "LittlerootTown_BrendansHouse_1F_EventScript_MeetRival2"
}
],
"bg_events": []
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
index 17cca3ea9..ee8d67cd9 100644
--- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
@@ -1,110 +1,112 @@
LittlerootTown_BrendansHouse_1F_MapScripts:: @ 81F7755
- map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_BrendansHouse_1F_MapScript1_1F7765
- map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA
+ map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_BrendansHouse_1F_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_1F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_BrendansHouse_1F_OnFrame
.byte 0
-LittlerootTown_BrendansHouse_1F_MapScript1_1F7765: @ 81F7765
+LittlerootTown_BrendansHouse_1F_OnLoad: @ 81F7765
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_1F777A
- call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_1F778D
+ call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_SetMovingBoxes
+ call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_CheckShowShoesManual
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A
+LittlerootTown_BrendansHouse_1F_EventScript_SetMovingBoxes:: @ 81F777A
setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, 1
setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, 1
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F778D:: @ 81F778D
+LittlerootTown_BrendansHouse_1F_EventScript_CheckShowShoesManual:: @ 81F778D
checkplayergender
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A
+ compare VAR_RESULT, MALE
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_ShowRunningShoesManual
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A
+LittlerootTown_BrendansHouse_1F_EventScript_ShowRunningShoesManual:: @ 81F779A
setmetatile 3, 7, METATILE_BrendansMaysHouse_BookOnTable, 1
return
-LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4: @ 81F77A4
+LittlerootTown_BrendansHouse_1F_OnTransition: @ 81F77A4
compare VAR_LITTLEROOT_INTRO_STATE, 3
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77DE
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToDoor
compare VAR_LITTLEROOT_INTRO_STATE, 5
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77C6
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77D2
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToTV
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F77C6:: @ 81F77C6
+LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs:: @ 81F77C6
setobjectxyperm 1, 8, 4
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F77D2:: @ 81F77D2
+LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToTV:: @ 81F77D2
setobjectxyperm 1, 4, 5
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F77DE:: @ 81F77DE
+LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToDoor:: @ 81F77DE
setobjectxyperm 1, 9, 8
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA: @ 81F77EA
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_BrendansHouse_1F_EventScript_1F783C
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7814
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_BrendansHouse_1F_EventScript_1F784D
- map_script_2 VAR_LITTLEROOT_HOUSES_STATE, 1, LittlerootTown_BrendansHouse_1F_EventScript_1F785E
- map_script_2 VAR_LITTLEROOT_HOUSES_STATE, 3, LittlerootTown_BrendansHouse_1F_EventScript_292AF2
+@ Many of the below scripts have no gender check because they assume youre in the correct house
+@ The below SS Ticket script uses Mays house state by accident(?), but theyre both set identically after the intro
+LittlerootTown_BrendansHouse_1F_OnFrame: @ 81F77EA
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_BrendansHouse_1F_EventScript_EnterHouseMovingIn
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_BrendansHouse_1F_EventScript_GoUpstairsToSetClock
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_BrendansHouse_1F_EventScript_PetalburgGymReport
+ map_script_2 VAR_LITTLEROOT_HOUSES_STATE_MAY, 1, LittlerootTown_BrendansHouse_1F_EventScript_YoureNewNeighbor
+ map_script_2 VAR_LITTLEROOT_HOUSES_STATE_MAY, 3, PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV
.2byte 0
-LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814
+LittlerootTown_BrendansHouse_1F_EventScript_GoUpstairsToSetClock:: @ 81F7814
lockall
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_GoSetTheClock, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F783A
- applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs
+ applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs
waitmovement 0
warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1
waitstate
releaseall
end
-LittlerootTown_BrendansHouse_1F_Movement_1F783A: @ 81F783A
+LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs: @ 81F783A
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_1F783C:: @ 81F783C
+LittlerootTown_BrendansHouse_1F_EventScript_EnterHouseMovingIn:: @ 81F783C
lockall
setvar VAR_0x8004, 1
- setvar VAR_0x8005, 0
- goto LittlerootTown_BrendansHouse_1F_EventScript_292704
+ setvar VAR_0x8005, MALE
+ goto PlayersHouse_1F_EventScript_EnterHouseMovingIn
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F784D:: @ 81F784D
+LittlerootTown_BrendansHouse_1F_EventScript_PetalburgGymReport:: @ 81F784D
lockall
setvar VAR_0x8004, 0
- setvar VAR_0x8005, 1
- goto LittlerootTown_BrendansHouse_1F_EventScript_29286D
+ setvar VAR_0x8005, 1 @ Object event ID for Mom
+ goto PlayersHouse_1F_EventScript_PetalburgGymReportMale
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E
+LittlerootTown_BrendansHouse_1F_EventScript_YoureNewNeighbor:: @ 81F785E
lockall
playse SE_PIN
applymovement 4, Common_Movement_ExclamationMark
waitmovement 0
applymovement 4, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
- applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_RivalMomApproach
waitmovement 0
special GetRivalSonDaughterString
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT
+ msgbox RivalsHouse_1F_Text_OhYoureTheNewNeighbor, MSGBOX_DEFAULT
setflag FLAG_MET_RIVAL_MOM
- setvar VAR_LITTLEROOT_HOUSES_STATE, 2
+ setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 2
releaseall
end
-LittlerootTown_BrendansHouse_1F_Movement_1F789C: @ 81F789C
+LittlerootTown_BrendansHouse_1F_Movement_RivalMomApproach: @ 81F789C
walk_down
walk_right
walk_right
@@ -113,34 +115,34 @@ LittlerootTown_BrendansHouse_1F_Movement_1F789C: @ 81F789C
walk_right
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_1F78A3:: @ 81F78A3
+LittlerootTown_BrendansHouse_1F_EventScript_GoSeeRoom:: @ 81F78A3
lockall
setvar VAR_0x8004, 1
- setvar VAR_0x8005, 0
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceLeft
+ setvar VAR_0x8005, MALE
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- goto LittlerootTown_BrendansHouse_1F_EventScript_292765
+ goto PlayersHouse_1F_EventScript_MomGoSeeRoom
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F78BE:: @ 81F78BE
+LittlerootTown_BrendansHouse_1F_EventScript_MeetRival0:: @ 81F78BE
lockall
setvar VAR_0x8008, 0
- goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2
+ goto LittlerootTown_BrendansHouse_1F_EventScript_MeetRival
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F78CA:: @ 81F78CA
+LittlerootTown_BrendansHouse_1F_EventScript_MeetRival1:: @ 81F78CA
lockall
setvar VAR_0x8008, 1
- goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2
+ goto LittlerootTown_BrendansHouse_1F_EventScript_MeetRival
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F78D6:: @ 81F78D6
+LittlerootTown_BrendansHouse_1F_EventScript_MeetRival2:: @ 81F78D6
lockall
setvar VAR_0x8008, 2
- goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2
+ goto LittlerootTown_BrendansHouse_1F_EventScript_MeetRival
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
+LittlerootTown_BrendansHouse_1F_EventScript_MeetRival:: @ 81F78E2
playse SE_KAIDAN
delay 10
addobject 7
@@ -151,22 +153,22 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
applymovement 7, Common_Movement_Delay48
waitmovement 0
compare VAR_0x8008, 1
- call_if_ne LittlerootTown_BrendansHouse_1F_EventScript_1F7981
+ call_if_ne LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan
playbgm MUS_BOY_SUP, 1
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F798C
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F7997
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79A2
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, MSGBOX_DEFAULT
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer2
+ msgbox RivalsHouse_1F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79C1
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79D3
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79E5
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs2
playse SE_KAIDAN
removeobject 7
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
@@ -180,27 +182,27 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
releaseall
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan:: @ 81F7981
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F798C:: @ 81F798C
- applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79AD
+LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer0:: @ 81F798C
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer0
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F7997:: @ 81F7997
- applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B5
+LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer1:: @ 81F7997
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer1
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F79A2:: @ 81F79A2
- applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B9
+LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer2:: @ 81F79A2
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer2
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_Movement_1F79AD: @ 81F79AD
+LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer0: @ 81F79AD
walk_in_place_fastest_left
walk_left
walk_in_place_fastest_up
@@ -210,13 +212,13 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79AD: @ 81F79AD
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_Movement_1F79B5: @ 81F79B5
+LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer1: @ 81F79B5
walk_up
walk_up
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9
+LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer2: @ 81F79B9
walk_in_place_fastest_right
walk_right
walk_in_place_fastest_up
@@ -226,31 +228,31 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_1F79C1:: @ 81F79C1
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79F7
- applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A06
+LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs0:: @ 81F79C1
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit0
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs0
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F79D3:: @ 81F79D3
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79FB
- applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A0C
+LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs1:: @ 81F79D3
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit1
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs1
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_1F79E5:: @ 81F79E5
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F7A02
- applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A16
+LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs2:: @ 81F79E5
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit2
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs2
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_Movement_1F79F7: @ 81F79F7
+LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit0: @ 81F79F7
delay_16
delay_8
walk_in_place_fastest_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_1F79FB: @ 81F79FB
+LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit1: @ 81F79FB
delay_16
delay_8
walk_in_place_fastest_right
@@ -259,13 +261,13 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79FB: @ 81F79FB
walk_in_place_fastest_up
step_end
-LittlerootTown_BrendansHouse_1F_Movement_1F7A02: @ 81F7A02
+LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit2: @ 81F7A02
delay_16
delay_8
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_1F7A06: @ 81F7A06
+LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs0: @ 81F7A06
walk_in_place_fastest_right
walk_right
walk_in_place_fastest_up
@@ -273,7 +275,7 @@ LittlerootTown_BrendansHouse_1F_Movement_1F7A06: @ 81F7A06
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_Movement_1F7A0C: @ 81F7A0C
+LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs1: @ 81F7A0C
walk_in_place_fastest_right
walk_right
walk_in_place_fastest_up
@@ -285,7 +287,7 @@ LittlerootTown_BrendansHouse_1F_Movement_1F7A0C: @ 81F7A0C
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_Movement_1F7A16: @ 81F7A16
+LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs2: @ 81F7A16
walk_in_place_fastest_left
walk_left
walk_in_place_fastest_up
@@ -293,11 +295,11 @@ LittlerootTown_BrendansHouse_1F_Movement_1F7A16: @ 81F7A16
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_Text_1F7A1C: @ 81F7A1C
+PlayersHouse_1F_Text_IsntItNiceInHere: @ 81F7A1C
.string "MOM: See, {PLAYER}?\n"
.string "Isn't it nice in here, too?$"
-LittlerootTown_BrendansHouse_1F_Text_1F7A46: @ 81F7A46
+PlayersHouse_1F_Text_MoversPokemonGoSetClock: @ 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"
@@ -307,91 +309,87 @@ LittlerootTown_BrendansHouse_1F_Text_1F7A46: @ 81F7A46
.string "our move here.\l"
.string "Don't forget to set it!$"
-LittlerootTown_BrendansHouse_1F_Text_1F7B24: @ 81F7B24
+PlayersHouse_1F_Text_ArentYouInterestedInRoom: @ 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
+PlayersHouse_1F_Text_GoSetTheClock: @ 81F7B67
.string "MOM: {PLAYER}.\p"
.string "Go set the clock in your room, honey.$"
-LittlerootTown_BrendansHouse_1F_Text_1F7B96: @ 81F7B96
+PlayersHouse_1F_Text_OhComeQuickly: @ 81F7B96
.string "MOM: Oh! {PLAYER}, {PLAYER}!\n"
.string "Quick! Come quickly!$"
-LittlerootTown_BrendansHouse_1F_Text_1F7BBC: @ 81F7BBC
-LittlerootTown_MaysHouse_1F_Text_1F7BBC: @ 81F7BBC
+PlayersHouse_1F_Text_MaybeDadWillBeOn: @ 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
+PlayersHouse_1F_Text_ItsOverWeMissedHim: @ 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
+PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor: @ 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
+PlayersHouse_1F_Text_SeeYouHoney: @ 81F7CC3
.string "MOM: See you, honey!$"
-LittlerootTown_BrendansHouse_1F_Text_1F7CD8: @ 81F7CD8
+PlayersHouse_1F_Text_DidYouMeetProfBirch: @ 81F7CD8
.string "MOM: Did you introduce yourself to\n"
.string "PROF. BIRCH?$"
-LittlerootTown_BrendansHouse_1F_Text_1F7D08: @ 81F7D08
+PlayersHouse_1F_Text_YouShouldRestABit: @ 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
+PlayersHouse_1F_Text_TakeCareHoney: @ 81F7D5C
.string "MOM: Take care, honey!$"
-LittlerootTown_BrendansHouse_1F_Text_1F7D73: @ 81F7D73
+PlayersHouse_1F_Text_GotDadsBadgeHeresSomethingFromMom: @ 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
+PlayersHouse_1F_Text_DontPushYourselfTooHard: @ 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
+PlayersHouse_1F_Text_IsThatAPokenav: @ 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
+PlayersHouse_1F_Text_RegisteredMom: @ 81F7E89
.string "Registered MOM\n"
.string "in the POKéNAV.$"
-LittlerootTown_BrendansHouse_1F_Text_1F7EA8: @ 81F7EA8
+PlayersHouse_1F_Text_Vigoroth1: @ 81F7EA8
.string "Fugiiiiih!$"
-LittlerootTown_BrendansHouse_1F_Text_1F7EB3: @ 81F7EB3
+PlayersHouse_1F_Text_Vigoroth2: @ 81F7EB3
.string "Huggoh, uggo uggo…$"
-LittlerootTown_BrendansHouse_1F_Text_1F7EC6: @ 81F7EC6
+PlayersHouse_1F_Text_ReportFromPetalburgGym: @ 81F7EC6
.string "INTERVIEWER: …We brought you this\n"
.string "report from in front of PETALBURG GYM.$"
-LittlerootTown_BrendansHouse_1F_Text_1F7F0F: @ 81F7F0F
+PlayersHouse_1F_Text_TheresAMovieOnTV: @ 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
+PlayersHouse_1F_Text_RunningShoesManual: @ 81F7F66
.string "It's the instruction booklet for the\n"
.string "RUNNING SHOES.\p"
.string "“Press the B Button to run while\n"
@@ -399,7 +397,7 @@ LittlerootTown_BrendansHouse_1F_Text_1F7F66: @ 81F7F66
.string "“Lace up your RUNNING SHOES and hit\n"
.string "the road running!”$"
-LittlerootTown_BrendansHouse_1F_Text_1F800E: @ 81F800E
+PlayersHouse_1F_Text_TicketFromBrineyCameForYou: @ 81F800E
.string "DAD: Hm?\p"
.string "Hey, it's {PLAYER}!\p"
.string "It's been a while since I saw you,\n"
@@ -410,26 +408,26 @@ LittlerootTown_BrendansHouse_1F_Text_1F800E: @ 81F800E
.string "This came to you from someone named\l"
.string "MR. BRINEY.$"
-LittlerootTown_BrendansHouse_1F_Text_1F80FE: @ 81F80FE
+PlayersHouse_1F_Text_PortsInSlateportLilycove: @ 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
+PlayersHouse_1F_Text_BetterGetBackToGym: @ 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
+PlayersHouse_1F_Text_DadShouldStayLonger: @ 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
+PlayersHouse_1F_Text_IsThatABreakingStory: @ 81F824B
.string "MOM: Is that a breaking news story?$"
-LittlerootTown_BrendansHouse_1F_Text_1F826F: @ 81F826F
+PlayersHouse_1F_Text_LatiEmergencyNewsFlash: @ 81F826F
.string "We bring you this emergency\n"
.string "news flash!\p"
.string "In various HOENN locales, there have\n"
@@ -440,11 +438,11 @@ LittlerootTown_BrendansHouse_1F_Text_1F826F: @ 81F826F
.string "We now return you to the regular\n"
.string "movie program.$"
-LittlerootTown_BrendansHouse_1F_Text_1F8351: @ 81F8351
+PlayersHouse_1F_Text_WhatColorDidTheySay: @ 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
+PlayersHouse_1F_Text_StillUnknownPokemon: @ 81F83A1
.string "MOM: Well, isn't that something!\n"
.string "There are still unknown POKéMON.$"
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.json b/data/maps/LittlerootTown_BrendansHouse_2F/map.json
index e07959b20..01af64e7d 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/map.json
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F94C1",
+ "script": "RivalsHouse_2F_EventScript_Rival",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM"
},
{
@@ -206,7 +206,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F8481",
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_RivalsPokeBall",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL"
},
{
@@ -240,7 +240,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "EventScript_PlayerPCMale"
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_PC"
},
{
"type": "sign",
@@ -248,7 +248,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F8656"
+ "script": "PlayersHouse_2F_EventScript_Notebook"
},
{
"type": "sign",
@@ -256,7 +256,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_BrendansHouse_2F_EventScript_292781"
+ "script": "LittlerootTown_BrendansHouse_2F_EventScript_WallClock"
},
{
"type": "sign",
@@ -264,7 +264,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_BrendansHouse_2F_EventScript_1F865F"
+ "script": "PlayersHouse_2F_EventScript_GameCube"
}
]
} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
index 3bb088ccf..101e2bbad 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
@@ -1,70 +1,70 @@
LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81F83E3
- map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_BrendansHouse_2F_MapScript2_1F846A
+ map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_2F_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_BrendansHouse_2F_OnWarp
.byte 0
-LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE
+LittlerootTown_BrendansHouse_2F_OnTransition: @ 81F83EE
compare VAR_LITTLEROOT_RIVAL_STATE, 2
- call_if_lt LittlerootTown_BrendansHouse_2F_EventScript_1F8457
+ call_if_lt LittlerootTown_BrendansHouse_2F_EventScript_CheckSetReadyToMeetBrendan
compare VAR_LITTLEROOT_RIVAL_STATE, 3
- call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F841A
+ call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_CheckShouldUpdateBrendanPos
compare VAR_LITTLEROOT_INTRO_STATE, 4
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2926FE
- call LittlerootTown_BrendansHouse_2F_EventScript_275CE1
+ call_if_eq PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet
+ call SecretBase_EventScript_SetDecorationFlags
setvar VAR_SECRET_BASE_INITIALIZED, 0
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A
- goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F8433
+LittlerootTown_BrendansHouse_2F_EventScript_CheckShouldUpdateBrendanPos:: @ 81F841A
+ goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos
compare VAR_BIRCH_LAB_STATE, 2
- goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F8456
- goto LittlerootTown_BrendansHouse_2F_EventScript_1F8433
+ goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_Ret
+ goto LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos
-LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433
+LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos:: @ 81F8433
checkplayergender
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456
+ compare VAR_RESULT, MALE
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_Ret
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F9309
+ goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret @ Odd that the MaysHouse equivalent was used here instead
setobjectxyperm 1, 0, 2
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456
+LittlerootTown_BrendansHouse_2F_EventScript_Ret:: @ 81F8456
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F8457:: @ 81F8457
+LittlerootTown_BrendansHouse_2F_EventScript_CheckSetReadyToMeetBrendan:: @ 81F8457
checkplayergender
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464
+ compare VAR_RESULT, FEMALE
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_SetReadyToMeetBrendan
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F8464:: @ 81F8464
+LittlerootTown_BrendansHouse_2F_EventScript_SetReadyToMeetBrendan:: @ 81F8464
setvar VAR_LITTLEROOT_RIVAL_STATE, 2
return
-LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A
- map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8474
+LittlerootTown_BrendansHouse_2F_OnWarp: @ 81F846A
+ map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_BrendansHouse_2F_EventScript_CheckInitDecor
.2byte 0
-LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474
+LittlerootTown_BrendansHouse_2F_EventScript_CheckInitDecor:: @ 81F8474
checkplayergender
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275D0C
+ compare VAR_RESULT, MALE
+ goto_if_eq SecretBase_EventScript_InitDecorations
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481
+LittlerootTown_BrendansHouse_2F_EventScript_RivalsPokeBall:: @ 81F8481
lockall
compare VAR_LITTLEROOT_RIVAL_STATE, 2
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, MSGBOX_DEFAULT
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan
+ msgbox RivalsHouse_2F_Text_ItsRivalsPokeBall, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
+LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan:: @ 81F8497
delay 10
addobject 1
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85BC
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanEnters
waitmovement 0
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
@@ -73,14 +73,14 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
waitmovement 0
delay 10
playbgm MUS_BOY_SUP, 1
- compare VAR_FACING, 2
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8507
- compare VAR_FACING, 1
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8536
- compare VAR_FACING, 3
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8565
- compare VAR_FACING, 4
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8594
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanNorth
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanSouth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanWest
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanEast
setvar VAR_LITTLEROOT_RIVAL_STATE, 3
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
@@ -90,60 +90,60 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0
+LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanNorth:: @ 81F8507
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerNorth
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85CF
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanNorth
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCNorth
waitmovement 0
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7
+LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanSouth:: @ 81F8536
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerSouth
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85E2
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanSouth
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCSouth
waitmovement 0
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8
+LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanWest:: @ 81F8565
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerWest
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85F6
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanWest
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCWest
waitmovement 0
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD
+LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanEast:: @ 81F8594
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerEast
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F8604
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCEast
waitmovement 0
return
-LittlerootTown_BrendansHouse_2F_Movement_1F85BC: @ 81F85BC
+LittlerootTown_BrendansHouse_2F_Movement_BrendanEnters: @ 81F85BC
walk_down
walk_down
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85C0: @ 81F85C0
+LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerNorth: @ 81F85C0
walk_left
walk_left
walk_down
@@ -151,7 +151,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85C0: @ 81F85C0
walk_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85C6: @ 81F85C6
+LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCNorth: @ 81F85C6
walk_up
walk_up
walk_up
@@ -162,7 +162,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85C6: @ 81F85C6
walk_in_place_fastest_up
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85CF: @ 81F85CF
+LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanNorth: @ 81F85CF
delay_16
walk_in_place_fastest_up
delay_16
@@ -172,13 +172,13 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85CF: @ 81F85CF
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85D7: @ 81F85D7
+LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerSouth: @ 81F85D7
walk_left
walk_left
walk_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85DB: @ 81F85DB
+LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCSouth: @ 81F85DB
walk_up
walk_left
walk_left
@@ -187,7 +187,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85DB: @ 81F85DB
walk_in_place_fastest_up
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85E2: @ 81F85E2
+LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanSouth: @ 81F85E2
delay_16
walk_in_place_fastest_up
delay_16
@@ -195,14 +195,14 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85E2: @ 81F85E2
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85E8: @ 81F85E8
+LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerWest: @ 81F85E8
walk_left
walk_left
walk_down
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85ED: @ 81F85ED
+LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCWest: @ 81F85ED
walk_up
walk_up
walk_left
@@ -213,7 +213,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85ED: @ 81F85ED
walk_in_place_fastest_up
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85F6: @ 81F85F6
+LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanWest: @ 81F85F6
delay_8
delay_16
walk_in_place_fastest_up
@@ -222,7 +222,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85F6: @ 81F85F6
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F85FD: @ 81F85FD
+LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerEast: @ 81F85FD
walk_left
walk_left
walk_left
@@ -231,29 +231,30 @@ LittlerootTown_BrendansHouse_2F_Movement_1F85FD: @ 81F85FD
walk_in_place_fastest_down
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F8604: @ 81F8604
+LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCEast: @ 81F8604
walk_up
walk_left
walk_left
walk_in_place_fastest_up
step_end
-LittlerootTown_BrendansHouse_2F_Movement_1F8609: @ 81F8609
+@ Unused, the player is already facing this direction so its unneeded
+LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanEast: @ 81F8609
delay_16
delay_16
walk_in_place_fastest_left
step_end
-EventScript_PlayerPCMale:: @ 81F860D
+LittlerootTown_BrendansHouse_2F_EventScript_PC:: @ 81F860D
lockall
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC
compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_CheckRivalsPC
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626
+LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC:: @ 81F8626
setvar VAR_0x8004, 1
special DoPCTurnOnEffect
playse SE_PC_ON
@@ -263,33 +264,31 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F863F:: @ 81F863F
+LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC:: @ 81F863F
setvar VAR_0x8004, 1
playse SE_PC_OFF
special DoPCTurnOffEffect
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F864C:: @ 81F864C
- msgbox gUnknown_08272CD5, MSGBOX_DEFAULT
+LittlerootTown_BrendansHouse_2F_EventScript_CheckRivalsPC:: @ 81F864C
+ msgbox gText_PokemonTrainerSchoolEmail, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F8656:: @ 81F8656
-LittlerootTown_MaysHouse_2F_EventScript_1F8656:: @ 81F8656
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F877F, MSGBOX_SIGN
+PlayersHouse_2F_EventScript_Notebook:: @ 81F8656
+ msgbox PlayersHouse_2F_Text_Notebook, MSGBOX_SIGN
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F865F:: @ 81F865F
-LittlerootTown_MaysHouse_2F_EventScript_1F865F:: @ 81F865F
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F884F, MSGBOX_SIGN
+PlayersHouse_2F_EventScript_GameCube:: @ 81F865F
+ msgbox PlayersHouse_2F_Text_ItsAGameCube, MSGBOX_SIGN
end
-LittlerootTown_BrendansHouse_2F_Text_1F8668: @ 81F8668
+PlayersHouse_2F_Text_ClockIsStopped: @ 81F8668
.string "The clock is stopped…\p"
.string "Better set it and start it!$"
-LittlerootTown_BrendansHouse_2F_Text_1F869A: @ 81F869A
+PlayersHouse_2F_Text_HowDoYouLikeYourRoom: @ 81F869A
.string "MOM: {PLAYER}, how do you like your\n"
.string "new room?\p"
.string "Good! Everything's put away neatly!\p"
@@ -299,7 +298,7 @@ LittlerootTown_BrendansHouse_2F_Text_1F869A: @ 81F869A
.string "Oh, you should make sure that\n"
.string "everything's all there on your desk.$"
-LittlerootTown_BrendansHouse_2F_Text_1F877F: @ 81F877F
+PlayersHouse_2F_Text_Notebook: @ 81F877F
.string "{PLAYER} flipped open the notebook.\p"
.string "ADVENTURE RULE NO. 1\n"
.string "Open the MENU with START.\p"
@@ -311,7 +310,7 @@ Common_Text_LookCloserAtMap: @ 81F8820
.string "{PLAYER} took a closer look at the\n"
.string "HOENN region map.$"
-LittlerootTown_BrendansHouse_2F_Text_1F884F: @ 81F884F
+PlayersHouse_2F_Text_ItsAGameCube: @ 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/maps/LittlerootTown_MaysHouse_1F/map.json b/data/maps/LittlerootTown_MaysHouse_1F/map.json
index 0938e6966..118e3e819 100644
--- a/data/maps/LittlerootTown_MaysHouse_1F/map.json
+++ b/data/maps/LittlerootTown_MaysHouse_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_2929C5",
+ "script": "PlayersHouse_1F_EventScript_Mom",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_292ABA",
+ "script": "PlayersHouse_1F_EventScript_Vigoroth1",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_292ACD",
+ "script": "PlayersHouse_1F_EventScript_Vigoroth2",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_1F89F3",
+ "script": "RivalsHouse_1F_EventScript_RivalMom",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A3D",
+ "script": "RivalsHouse_1F_EventScript_RivalSibling",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING"
},
{
@@ -103,7 +103,7 @@
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
"script": "0x0",
- "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN"
+ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY"
}
],
"warp_events": [
@@ -137,7 +137,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_INTRO_STATE",
"var_value": "4",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A4C"
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_GoSeeRoom"
},
{
"type": "trigger",
@@ -146,7 +146,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_RIVAL_STATE",
"var_value": "2",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A67"
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_MeetRival0"
},
{
"type": "trigger",
@@ -155,7 +155,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_RIVAL_STATE",
"var_value": "2",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A73"
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_MeetRival1"
},
{
"type": "trigger",
@@ -164,7 +164,7 @@
"elevation": 0,
"var": "VAR_LITTLEROOT_RIVAL_STATE",
"var_value": "2",
- "script": "LittlerootTown_MaysHouse_1F_EventScript_1F8A7F"
+ "script": "LittlerootTown_MaysHouse_1F_EventScript_MeetRival2"
}
],
"bg_events": []
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
index d983c9e64..f016031df 100644
--- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
@@ -1,110 +1,111 @@
LittlerootTown_MaysHouse_1F_MapScripts:: @ 81F88A5
- map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_MaysHouse_1F_MapScript1_1F88B5
- map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_1F_MapScript1_1F88F4
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_MaysHouse_1F_MapScript2_1F893A
+ map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_MaysHouse_1F_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_1F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_MaysHouse_1F_OnFrame
.byte 0
-LittlerootTown_MaysHouse_1F_MapScript1_1F88B5: @ 81F88B5
+LittlerootTown_MaysHouse_1F_OnLoad: @ 81F88B5
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_lt LittlerootTown_MaysHouse_1F_EventScript_1F88CA
- call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_1F88DD
+ call_if_lt LittlerootTown_MaysHouse_1F_EventScript_SetMovingBoxes
+ call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_CheckShowShoesManual
end
-LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA
+LittlerootTown_MaysHouse_1F_EventScript_SetMovingBoxes:: @ 81F88CA
setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, 1
setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, 1
return
-LittlerootTown_MaysHouse_1F_EventScript_1F88DD:: @ 81F88DD
+LittlerootTown_MaysHouse_1F_EventScript_CheckShowShoesManual:: @ 81F88DD
checkplayergender
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA
+ compare VAR_RESULT, FEMALE
+ goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_ShowRunningShoesManual
return
-LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA
+LittlerootTown_MaysHouse_1F_EventScript_ShowRunningShoesManual:: @ 81F88EA
setmetatile 6, 7, METATILE_BrendansMaysHouse_BookOnTable, 1
return
-LittlerootTown_MaysHouse_1F_MapScript1_1F88F4: @ 81F88F4
+LittlerootTown_MaysHouse_1F_OnTransition: @ 81F88F4
compare VAR_LITTLEROOT_INTRO_STATE, 3
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F892E
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToDoor
compare VAR_LITTLEROOT_INTRO_STATE, 5
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8916
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs
compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8922
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToTV
end
-LittlerootTown_MaysHouse_1F_EventScript_1F8916:: @ 81F8916
+LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs:: @ 81F8916
setobjectxyperm 1, 2, 4
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_MaysHouse_1F_EventScript_1F8922:: @ 81F8922
+LittlerootTown_MaysHouse_1F_EventScript_MoveMomToTV:: @ 81F8922
setobjectxyperm 1, 6, 5
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_MaysHouse_1F_EventScript_1F892E:: @ 81F892E
+LittlerootTown_MaysHouse_1F_EventScript_MoveMomToDoor:: @ 81F892E
setobjectxyperm 1, 1, 8
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_MaysHouse_1F_MapScript2_1F893A: @ 81F893A
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_MaysHouse_1F_EventScript_1F898C
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_MaysHouse_1F_EventScript_1F8964
- map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_MaysHouse_1F_EventScript_1F899D
- map_script_2 VAR_LITTLEROOT_HOUSES_STATE_2, 1, LittlerootTown_MaysHouse_1F_EventScript_1F89AE
- map_script_2 VAR_LITTLEROOT_HOUSES_STATE, 3, LittlerootTown_MaysHouse_1F_EventScript_292AF2
+@ Many of the below scripts have no gender check because they assume youre in the correct house
+LittlerootTown_MaysHouse_1F_OnFrame: @ 81F893A
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_MaysHouse_1F_EventScript_EnterHouseMovingIn
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_MaysHouse_1F_EventScript_GoUpstairsToSetClock
+ map_script_2 VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_MaysHouse_1F_EventScript_PetalburgGymReport
+ map_script_2 VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 1, LittlerootTown_MaysHouse_1F_EventScript_YoureNewNeighbor
+ map_script_2 VAR_LITTLEROOT_HOUSES_STATE_MAY, 3, PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV
.2byte 0
-LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964
+LittlerootTown_MaysHouse_1F_EventScript_GoUpstairsToSetClock:: @ 81F8964
lockall
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_GoSetTheClock, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F898A
- applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs
+ applymovement 1, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs
waitmovement 0
warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1
waitstate
releaseall
end
-LittlerootTown_MaysHouse_1F_Movement_1F898A: @ 81F898A
+LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs: @ 81F898A
walk_up
step_end
-LittlerootTown_MaysHouse_1F_EventScript_1F898C:: @ 81F898C
+LittlerootTown_MaysHouse_1F_EventScript_EnterHouseMovingIn:: @ 81F898C
lockall
setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- goto LittlerootTown_MaysHouse_1F_EventScript_292704
+ setvar VAR_0x8005, FEMALE
+ goto PlayersHouse_1F_EventScript_EnterHouseMovingIn
end
-LittlerootTown_MaysHouse_1F_EventScript_1F899D:: @ 81F899D
+LittlerootTown_MaysHouse_1F_EventScript_PetalburgGymReport:: @ 81F899D
lockall
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- goto LittlerootTown_MaysHouse_1F_EventScript_2928DC
+ goto PlayersHouse_1F_EventScript_PetalburgGymReportFemale
end
-LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE
+LittlerootTown_MaysHouse_1F_EventScript_YoureNewNeighbor:: @ 81F89AE
lockall
playse SE_PIN
applymovement 4, Common_Movement_ExclamationMark
waitmovement 0
applymovement 4, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
- applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
+ applymovement 4, LittlerootTown_MaysHouse_1F_Movement_RivalMomApproach
waitmovement 0
special GetRivalSonDaughterString
- msgbox LittlerootTown_MaysHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT
+ msgbox RivalsHouse_1F_Text_OhYoureTheNewNeighbor, MSGBOX_DEFAULT
setflag FLAG_MET_RIVAL_MOM
- setvar VAR_LITTLEROOT_HOUSES_STATE_2, 2
+ setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 2
releaseall
end
-LittlerootTown_MaysHouse_1F_Movement_1F89EC: @ 81F89EC
+LittlerootTown_MaysHouse_1F_Movement_RivalMomApproach: @ 81F89EC
walk_down
walk_left
walk_left
@@ -113,71 +114,69 @@ LittlerootTown_MaysHouse_1F_Movement_1F89EC: @ 81F89EC
walk_left
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_1F89F3:: @ 81F89F3
-LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3
+RivalsHouse_1F_EventScript_RivalMom:: @ 81F89F3
lock
faceplayer
- goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, LittlerootTown_BrendansHouse_1F_EventScript_1F8A33
- goto_if_set FLAG_SYS_POKEMON_GET, LittlerootTown_BrendansHouse_1F_EventScript_1F8A29
+ goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, RivalsHouse_1F_EventScript_GoHomeEverySoOften
+ goto_if_set FLAG_SYS_POKEMON_GET, RivalsHouse_1F_EventScript_RivalIsOnRoute103
compare VAR_LITTLEROOT_RIVAL_STATE, 3
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F
+ goto_if_eq RivalsHouse_1F_EventScript_RivalTooBusy
special GetRivalSonDaughterString
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, MSGBOX_DEFAULT
+ msgbox RivalsHouse_1F_Text_LikeChildLikeFather, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F:: @ 81F8A1F
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D37, MSGBOX_DEFAULT
+RivalsHouse_1F_EventScript_RivalTooBusy:: @ 81F8A1F
+ msgbox RivalsHouse_1F_Text_TooBusyToNoticeVisit, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F8A29:: @ 81F8A29
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D93, MSGBOX_DEFAULT
+RivalsHouse_1F_EventScript_RivalIsOnRoute103:: @ 81F8A29
+ msgbox RivalsHouse_1F_Text_WentOutToRoute103, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F8A33:: @ 81F8A33
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8E01, MSGBOX_DEFAULT
+RivalsHouse_1F_EventScript_GoHomeEverySoOften:: @ 81F8A33
+ msgbox RivalsHouse_1F_Text_ShouldGoHomeEverySoOften, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D:: @ 81F8A3D
-LittlerootTown_MaysHouse_1F_EventScript_1F8A3D:: @ 81F8A3D
+RivalsHouse_1F_EventScript_RivalSibling:: @ 81F8A3D
lock
faceplayer
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F9262, MSGBOX_DEFAULT
+ msgbox RivalsHouse_1F_Text_DoYouHavePokemon, MSGBOX_DEFAULT
release
end
-LittlerootTown_MaysHouse_1F_EventScript_1F8A4C:: @ 81F8A4C
+LittlerootTown_MaysHouse_1F_EventScript_GoSeeRoom:: @ 81F8A4C
lockall
setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceRight
+ setvar VAR_0x8005, FEMALE
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- goto LittlerootTown_MaysHouse_1F_EventScript_292765
+ goto PlayersHouse_1F_EventScript_MomGoSeeRoom
end
-LittlerootTown_MaysHouse_1F_EventScript_1F8A67:: @ 81F8A67
+LittlerootTown_MaysHouse_1F_EventScript_MeetRival0:: @ 81F8A67
lockall
setvar VAR_0x8008, 0
- goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B
+ goto LittlerootTown_MaysHouse_1F_EventScript_MeetRival
end
-LittlerootTown_MaysHouse_1F_EventScript_1F8A73:: @ 81F8A73
+LittlerootTown_MaysHouse_1F_EventScript_MeetRival1:: @ 81F8A73
lockall
setvar VAR_0x8008, 1
- goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B
+ goto LittlerootTown_MaysHouse_1F_EventScript_MeetRival
end
-LittlerootTown_MaysHouse_1F_EventScript_1F8A7F:: @ 81F8A7F
+LittlerootTown_MaysHouse_1F_EventScript_MeetRival2:: @ 81F8A7F
lockall
setvar VAR_0x8008, 2
- goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B
+ goto LittlerootTown_MaysHouse_1F_EventScript_MeetRival
end
-LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
+LittlerootTown_MaysHouse_1F_EventScript_MeetRival:: @ 81F8A8B
playse SE_KAIDAN
delay 10
addobject 7
@@ -188,25 +187,25 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
applymovement 7, Common_Movement_Delay48
waitmovement 0
compare VAR_0x8008, 1
- call_if_ne LittlerootTown_MaysHouse_1F_EventScript_1F8B2A
+ call_if_ne LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay
playbgm MUS_GIRL_SUP, 1
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B35
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B40
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B4B
- msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, MSGBOX_DEFAULT
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer2
+ msgbox RivalsHouse_1F_Text_MayWhoAreYou, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B6A
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs0
compare VAR_0x8008, 1
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B7C
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs1
compare VAR_0x8008, 2
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B8E
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs2
playse SE_KAIDAN
removeobject 7
- setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
delay 30
@@ -217,27 +216,27 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
releaseall
end
-LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay:: @ 81F8B2A
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-LittlerootTown_MaysHouse_1F_EventScript_1F8B35:: @ 81F8B35
- applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B56
+LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer0:: @ 81F8B35
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer0
waitmovement 0
return
-LittlerootTown_MaysHouse_1F_EventScript_1F8B40:: @ 81F8B40
- applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B5E
+LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer1:: @ 81F8B40
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer1
waitmovement 0
return
-LittlerootTown_MaysHouse_1F_EventScript_1F8B4B:: @ 81F8B4B
- applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B62
+LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer2:: @ 81F8B4B
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer2
waitmovement 0
return
-LittlerootTown_MaysHouse_1F_Movement_1F8B56: @ 81F8B56
+LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer0: @ 81F8B56
walk_in_place_fastest_left
walk_left
walk_in_place_fastest_up
@@ -247,13 +246,13 @@ LittlerootTown_MaysHouse_1F_Movement_1F8B56: @ 81F8B56
walk_up
step_end
-LittlerootTown_MaysHouse_1F_Movement_1F8B5E: @ 81F8B5E
+LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer1: @ 81F8B5E
walk_up
walk_up
walk_up
step_end
-LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62
+LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer2: @ 81F8B62
walk_in_place_fastest_right
walk_right
walk_in_place_fastest_up
@@ -263,31 +262,31 @@ LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62
walk_up
step_end
-LittlerootTown_MaysHouse_1F_EventScript_1F8B6A:: @ 81F8B6A
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA0
- applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BAF
+LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs0:: @ 81F8B6A
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit0
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs0
waitmovement 0
return
-LittlerootTown_MaysHouse_1F_EventScript_1F8B7C:: @ 81F8B7C
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA4
- applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BB5
+LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs1:: @ 81F8B7C
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit1
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs1
waitmovement 0
return
-LittlerootTown_MaysHouse_1F_EventScript_1F8B8E:: @ 81F8B8E
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BAB
- applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BBF
+LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs2:: @ 81F8B8E
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit2
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs2
waitmovement 0
return
-LittlerootTown_MaysHouse_1F_Movement_1F8BA0: @ 81F8BA0
+LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit0: @ 81F8BA0
delay_16
delay_8
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_1F_Movement_1F8BA4: @ 81F8BA4
+LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit1: @ 81F8BA4
delay_16
delay_8
walk_in_place_fastest_right
@@ -296,13 +295,13 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BA4: @ 81F8BA4
walk_in_place_fastest_up
step_end
-LittlerootTown_MaysHouse_1F_Movement_1F8BAB: @ 81F8BAB
+LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit2: @ 81F8BAB
delay_16
delay_8
walk_in_place_fastest_left
step_end
-LittlerootTown_MaysHouse_1F_Movement_1F8BAF: @ 81F8BAF
+LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs0: @ 81F8BAF
walk_in_place_fastest_right
walk_right
walk_in_place_fastest_up
@@ -310,7 +309,7 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BAF: @ 81F8BAF
walk_up
step_end
-LittlerootTown_MaysHouse_1F_Movement_1F8BB5: @ 81F8BB5
+LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs1: @ 81F8BB5
walk_in_place_fastest_right
walk_right
walk_in_place_fastest_up
@@ -322,7 +321,7 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BB5: @ 81F8BB5
walk_up
step_end
-LittlerootTown_MaysHouse_1F_Movement_1F8BBF: @ 81F8BBF
+LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs2: @ 81F8BBF
walk_in_place_fastest_left
walk_left
walk_in_place_fastest_up
@@ -330,8 +329,7 @@ LittlerootTown_MaysHouse_1F_Movement_1F8BBF: @ 81F8BBF
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_Text_1F8BC5: @ 81F8BC5
-LittlerootTown_MaysHouse_1F_Text_1F8BC5: @ 81F8BC5
+RivalsHouse_1F_Text_OhYoureTheNewNeighbor: @ 81F8BC5
.string "Oh, hello. And you are?\p"
.string "… … … … … … … … …\n"
.string "… … … … … … … … …\p"
@@ -343,26 +341,26 @@ LittlerootTown_MaysHouse_1F_Text_1F8BC5: @ 81F8BC5
.string "a new friend.\p"
.string "Our {STR_VAR_1} is upstairs, I think.$"
-LittlerootTown_BrendansHouse_1F_Text_1F8CA5: @ 81F8CA5
+RivalsHouse_1F_Text_LikeChildLikeFather: @ 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
+RivalsHouse_1F_Text_TooBusyToNoticeVisit: @ 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
+RivalsHouse_1F_Text_WentOutToRoute103: @ 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
+RivalsHouse_1F_Text_ShouldGoHomeEverySoOften: @ 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"
@@ -370,7 +368,7 @@ LittlerootTown_BrendansHouse_1F_Text_1F8E01: @ 81F8E01
.string "She might not say it, but I'm sure she\n"
.string "worries about you, {PLAYER}{KUN}.$"
-LittlerootTown_MaysHouse_1F_Text_1F8EC6: @ 81F8EC6
+RivalsHouse_1F_Text_MayWhoAreYou: @ 81F8EC6
.string "Huh?\n"
.string "Who… Who are you?\p"
.string "… … … … … … … …\n"
@@ -394,7 +392,7 @@ LittlerootTown_MaysHouse_1F_Text_1F8EC6: @ 81F8EC6
.string "some wild POKéMON!\p"
.string "{PLAYER}{KUN}, I'll catch you later!$"
-LittlerootTown_BrendansHouse_1F_Text_1F90B4: @ 81F90B4
+RivalsHouse_1F_Text_BrendanWhoAreYou: @ 81F90B4
.string "Hey!\n"
.string "You…\p"
.string "Who are you?\p"
@@ -414,7 +412,7 @@ LittlerootTown_BrendansHouse_1F_Text_1F90B4: @ 81F90B4
.string "some wild POKéMON.\p"
.string "Some other time, okay?$"
-LittlerootTown_BrendansHouse_1F_Text_1F9262: @ 81F9262
+RivalsHouse_1F_Text_DoYouHavePokemon: @ 81F9262
.string "Hi, neighbor!\p"
.string "Do you already have your\n"
.string "own POKéMON?$"
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.json b/data/maps/LittlerootTown_MaysHouse_2F/map.json
index d92b024c6..33cdfb7c1 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/map.json
+++ b/data/maps/LittlerootTown_MaysHouse_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_MaysHouse_2F_EventScript_1F94C1",
+ "script": "RivalsHouse_2F_EventScript_Rival",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM"
},
{
@@ -219,7 +219,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_MaysHouse_2F_EventScript_1F9334",
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_RivalsPokeBall",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL"
}
],
@@ -240,7 +240,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_MaysHouse_2F_EventScript_1F865F"
+ "script": "PlayersHouse_2F_EventScript_GameCube"
},
{
"type": "sign",
@@ -248,7 +248,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_MaysHouse_2F_EventScript_1F8656"
+ "script": "PlayersHouse_2F_EventScript_Notebook"
},
{
"type": "sign",
@@ -256,7 +256,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_MaysHouse_2F_EventScript_29278D"
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_WallClock"
},
{
"type": "sign",
@@ -264,7 +264,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "EventScript_PlayerPCFemale"
+ "script": "LittlerootTown_MaysHouse_2F_EventScript_PC"
}
]
} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
index dde6df71d..5bfbfbbcd 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
@@ -1,71 +1,70 @@
LittlerootTown_MaysHouse_2F_MapScripts:: @ 81F9296
- map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_2F_MapScript1_1F92A1
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_MaysHouse_2F_MapScript2_1F931D
+ map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_2F_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_MaysHouse_2F_OnWarp
.byte 0
-LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1
+LittlerootTown_MaysHouse_2F_OnTransition: @ 81F92A1
compare VAR_LITTLEROOT_RIVAL_STATE, 2
- call_if_lt LittlerootTown_MaysHouse_2F_EventScript_1F930A
+ call_if_lt LittlerootTown_MaysHouse_2F_EventScript_CheckSetReadyToMeetMay
compare VAR_LITTLEROOT_RIVAL_STATE, 3
- call_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F92CD
+ call_if_ge LittlerootTown_MaysHouse_2F_EventScript_CheckShouldUpdateMayPos
compare VAR_LITTLEROOT_INTRO_STATE, 4
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_2926FE
- call LittlerootTown_MaysHouse_2F_EventScript_275CE1
+ call_if_eq PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet
+ call SecretBase_EventScript_SetDecorationFlags
setvar VAR_SECRET_BASE_INITIALIZED, 0
end
-LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD
- goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_MaysHouse_2F_EventScript_1F92E6
+LittlerootTown_MaysHouse_2F_EventScript_CheckShouldUpdateMayPos:: @ 81F92CD
+ goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos
compare VAR_BIRCH_LAB_STATE, 2
- goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309
- goto LittlerootTown_MaysHouse_2F_EventScript_1F92E6
+ goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret
+ goto LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos
-LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6
+LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos:: @ 81F92E6
checkplayergender
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ compare VAR_RESULT, FEMALE
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_Ret
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret
setobjectxyperm 1, 8, 2
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F9309:: @ 81F9309
-LittlerootTown_MaysHouse_2F_EventScript_1F9309:: @ 81F9309
+LittlerootTown_MaysHouse_2F_EventScript_Ret:: @ 81F9309
return
-LittlerootTown_MaysHouse_2F_EventScript_1F930A:: @ 81F930A
+LittlerootTown_MaysHouse_2F_EventScript_CheckSetReadyToMeetMay:: @ 81F930A
checkplayergender
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317
+ compare VAR_RESULT, MALE
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_SetReadyToMeetMay
return
-LittlerootTown_MaysHouse_2F_EventScript_1F9317:: @ 81F9317
+LittlerootTown_MaysHouse_2F_EventScript_SetReadyToMeetMay:: @ 81F9317
setvar VAR_LITTLEROOT_RIVAL_STATE, 2
return
-LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D
- map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9327
+LittlerootTown_MaysHouse_2F_OnWarp: @ 81F931D
+ map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, LittlerootTown_MaysHouse_2F_EventScript_CheckInitDecor
.2byte 0
-LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327
+LittlerootTown_MaysHouse_2F_EventScript_CheckInitDecor:: @ 81F9327
checkplayergender
- compare VAR_RESULT, 1
- goto_if_eq EventScript_275D0C
+ compare VAR_RESULT, FEMALE
+ goto_if_eq SecretBase_EventScript_InitDecorations
end
-LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334
+LittlerootTown_MaysHouse_2F_EventScript_RivalsPokeBall:: @ 81F9334
lockall
compare VAR_LITTLEROOT_RIVAL_STATE, 2
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A
- msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, MSGBOX_DEFAULT
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMay
+ msgbox RivalsHouse_2F_Text_ItsRivalsPokeBall, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
+LittlerootTown_MaysHouse_2F_EventScript_MeetMay:: @ 81F934A
delay 10
addobject 1
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F946F
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayEnters
waitmovement 0
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
@@ -74,14 +73,14 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
waitmovement 0
delay 10
playbgm MUS_GIRL_SUP, 1
- compare VAR_FACING, 2
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93BA
- compare VAR_FACING, 1
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93E9
- compare VAR_FACING, 3
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9418
- compare VAR_FACING, 4
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9440
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayNorth
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMaySouth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayWest
+ compare VAR_FACING, DIR_EAST
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayEast
setvar VAR_LITTLEROOT_RIVAL_STATE, 3
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
@@ -91,60 +90,60 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
releaseall
end
-LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473
+LittlerootTown_MaysHouse_2F_EventScript_MeetMayNorth:: @ 81F93BA
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerNorth
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9483
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayNorth
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCNorth
waitmovement 0
return
-LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B
+LittlerootTown_MaysHouse_2F_EventScript_MeetMaySouth:: @ 81F93E9
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerSouth
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9497
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMaySouth
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCSouth
waitmovement 0
return
-LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D
+LittlerootTown_MaysHouse_2F_EventScript_MeetMayWest:: @ 81F9418
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerWest
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94A4
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCWest
waitmovement 0
return
-LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD
+LittlerootTown_MaysHouse_2F_EventScript_MeetMayEast:: @ 81F9440
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerEast
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
+ msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F94BB
- applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayEast
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCEast
waitmovement 0
return
-LittlerootTown_MaysHouse_2F_Movement_1F946F: @ 81F946F
+LittlerootTown_MaysHouse_2F_Movement_MayEnters: @ 81F946F
walk_down
walk_down
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F9473: @ 81F9473
+LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerNorth: @ 81F9473
walk_right
walk_right
walk_down
@@ -152,7 +151,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F9473: @ 81F9473
walk_right
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F9479: @ 81F9479
+LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCNorth: @ 81F9479
walk_up
walk_up
walk_up
@@ -164,7 +163,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F9479: @ 81F9479
walk_in_place_fastest_up
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F9483: @ 81F9483
+LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayNorth: @ 81F9483
delay_16
walk_in_place_fastest_up
delay_16
@@ -174,13 +173,13 @@ LittlerootTown_MaysHouse_2F_Movement_1F9483: @ 81F9483
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F948B: @ 81F948B
+LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerSouth: @ 81F948B
walk_right
walk_right
walk_right
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F948F: @ 81F948F
+LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCSouth: @ 81F948F
walk_up
walk_in_place_fastest_right
walk_right
@@ -190,7 +189,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F948F: @ 81F948F
walk_in_place_fastest_up
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F9497: @ 81F9497
+LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMaySouth: @ 81F9497
delay_16
walk_in_place_fastest_up
delay_16
@@ -198,7 +197,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F9497: @ 81F9497
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F949D: @ 81F949D
+LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerWest: @ 81F949D
walk_right
walk_right
walk_right
@@ -207,27 +206,28 @@ LittlerootTown_MaysHouse_2F_Movement_1F949D: @ 81F949D
walk_in_place_fastest_down
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F94A4: @ 81F94A4
+LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCWest: @ 81F94A4
walk_up
walk_right
walk_right
walk_in_place_fastest_up
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F94A9: @ 81F94A9
+@ Unused, the player is already facing this direction so its unneeded
+LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayWest: @ 81F94A9
delay_16
delay_16
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F94AD: @ 81F94AD
+LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerEast: @ 81F94AD
walk_right
walk_right
walk_down
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F94B2: @ 81F94B2
+LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCEast: @ 81F94B2
walk_up
walk_up
walk_right
@@ -238,7 +238,7 @@ LittlerootTown_MaysHouse_2F_Movement_1F94B2: @ 81F94B2
walk_in_place_fastest_up
step_end
-LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB
+LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayEast: @ 81F94BB
delay_16
walk_in_place_fastest_up
delay_16
@@ -246,72 +246,71 @@ LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB
walk_in_place_fastest_right
step_end
-LittlerootTown_BrendansHouse_2F_EventScript_1F94C1:: @ 81F94C1
-LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1
+RivalsHouse_2F_EventScript_Rival:: @ 81F94C1
lockall
- goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F94F7
+ goto_if_set FLAG_MET_RIVAL_LILYCOVE, RivalsHouse_2F_EventScript_RivalPostLilycove
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3
+ goto_if_eq RivalsHouse_2F_EventScript_May
compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED
+ goto_if_eq RivalsHouse_2F_EventScript_Brendan
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F94E3:: @ 81F94E3
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F978A, MSGBOX_DEFAULT
+RivalsHouse_2F_EventScript_May:: @ 81F94E3
+ msgbox RivalsHouse_2F_Text_MayGettingReady, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F94ED:: @ 81F94ED
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9962, MSGBOX_DEFAULT
+RivalsHouse_2F_EventScript_Brendan:: @ 81F94ED
+ msgbox RivalsHouse_2F_Text_BrendanGettingReady, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7
+RivalsHouse_2F_EventScript_RivalPostLilycove:: @ 81F94F7
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F951D
+ call_if_eq RivalsHouse_2F_EventScript_MayPostLilycove
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F952F
+ call_if_eq RivalsHouse_2F_EventScript_BrendanPostLilycove
setflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D
- goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F9541
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, MSGBOX_DEFAULT
+RivalsHouse_2F_EventScript_MayPostLilycove:: @ 81F951D
+ goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, RivalsHouse_2F_EventScript_MayWhereShouldIGoNext
+ msgbox RivalsHouse_2F_Text_MayJustCheckingMyPokedex, MSGBOX_DEFAULT
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F952F:: @ 81F952F
- goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_1F954A
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, MSGBOX_DEFAULT
+RivalsHouse_2F_EventScript_BrendanPostLilycove:: @ 81F952F
+ goto_if_set FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, RivalsHouse_2F_EventScript_BrendanWhereShouldIGoNext
+ msgbox RivalsHouse_2F_Text_BrendanJustCheckingMyPokedex, MSGBOX_DEFAULT
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F9541:: @ 81F9541
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9A9E, MSGBOX_DEFAULT
+RivalsHouse_2F_EventScript_MayWhereShouldIGoNext:: @ 81F9541
+ msgbox RivalsHouse_2F_Text_MayWhereShouldIGoNext, MSGBOX_DEFAULT
return
-LittlerootTown_BrendansHouse_2F_EventScript_1F954A:: @ 81F954A
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, MSGBOX_DEFAULT
+RivalsHouse_2F_EventScript_BrendanWhereShouldIGoNext:: @ 81F954A
+ msgbox RivalsHouse_2F_Text_BrendanWhereShouldIGoNext, MSGBOX_DEFAULT
return
-EventScript_PlayerPCFemale:: @ 81F9553
+LittlerootTown_MaysHouse_2F_EventScript_PC:: @ 81F9553
lockall
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC
compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC
end
-LittlerootTown_MaysHouse_2F_EventScript_1F956C:: @ 81F956C
- msgbox gUnknown_08272CD5, MSGBOX_DEFAULT
+LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC:: @ 81F956C
+ msgbox gText_PokemonTrainerSchoolEmail, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576
+LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC:: @ 81F9576
setvar VAR_0x8004, 2
special DoPCTurnOnEffect
playse SE_PC_ON
@@ -321,14 +320,14 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576
releaseall
end
-LittlerootTown_MaysHouse_2F_EventScript_1F958F:: @ 81F958F
+LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC:: @ 81F958F
setvar VAR_0x8004, 2
playse SE_PC_OFF
special DoPCTurnOffEffect
releaseall
end
-LittlerootTown_MaysHouse_2F_Text_1F959C: @ 81F959C
+RivalsHouse_2F_Text_MayWhoAreYou: @ 81F959C
.string "Huh?\n"
.string "Who… Who are you?\p"
.string "… … … … … … … …\n"
@@ -352,11 +351,11 @@ LittlerootTown_MaysHouse_2F_Text_1F959C: @ 81F959C
.string "some wild POKéMON!\p"
.string "{PLAYER}{KUN}, I'll catch you later!$"
-LittlerootTown_BrendansHouse_2F_Text_1F978A: @ 81F978A
+RivalsHouse_2F_Text_MayGettingReady: @ 81F978A
.string "POKéMON fully restored!\n"
.string "Items ready, and…$"
-LittlerootTown_BrendansHouse_2F_Text_1F97B4: @ 81F97B4
+RivalsHouse_2F_Text_BrendanWhoAreYou: @ 81F97B4
.string "Hey!\n"
.string "You…\p"
.string "Who are you?\p"
@@ -376,16 +375,15 @@ LittlerootTown_BrendansHouse_2F_Text_1F97B4: @ 81F97B4
.string "some wild POKéMON.\p"
.string "Some other time, okay?$"
-LittlerootTown_BrendansHouse_2F_Text_1F9962: @ 81F9962
+RivalsHouse_2F_Text_BrendanGettingReady: @ 81F9962
.string "POKéMON fully restored…\n"
.string "Items all packed, and…$"
-LittlerootTown_BrendansHouse_2F_Text_1F9991: @ 81F9991
-LittlerootTown_MaysHouse_2F_Text_1F9991: @ 81F9991
+RivalsHouse_2F_Text_ItsRivalsPokeBall: @ 81F9991
.string "It's {RIVAL}'s POKé BALL!\p"
.string "Better leave it right where it is.$"
-LittlerootTown_BrendansHouse_2F_Text_1F99C9: @ 81F99C9
+RivalsHouse_2F_Text_MayJustCheckingMyPokedex: @ 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"
@@ -395,13 +393,13 @@ LittlerootTown_BrendansHouse_2F_Text_1F99C9: @ 81F99C9
.string "I wonder where I should go catch\n"
.string "some POKéMON next?$"
-LittlerootTown_BrendansHouse_2F_Text_1F9A9E: @ 81F9A9E
+RivalsHouse_2F_Text_MayWhereShouldIGoNext: @ 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
+RivalsHouse_2F_Text_BrendanJustCheckingMyPokedex: @ 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"
@@ -410,7 +408,7 @@ LittlerootTown_BrendansHouse_2F_Text_1F9B0D: @ 81F9B0D
.string "Checking this POKéDEX out gives me\n"
.string "the urge to hit the road again.$"
-LittlerootTown_BrendansHouse_2F_Text_1F9BE7: @ 81F9BE7
+RivalsHouse_2F_Text_BrendanWhereShouldIGoNext: @ 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"
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json
index 25ec2e745..7aadfe03a 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Aide",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Birch",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Rival",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Cyndaquil",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Totodile",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA023",
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Chikorita",
"flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA"
}
],
@@ -117,7 +117,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Machine"
},
{
"type": "sign",
@@ -125,7 +125,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Machine"
},
{
"type": "sign",
@@ -133,7 +133,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Book"
},
{
"type": "sign",
@@ -141,7 +141,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Book"
},
{
"type": "sign",
@@ -149,7 +149,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf"
},
{
"type": "sign",
@@ -157,7 +157,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf"
},
{
"type": "sign",
@@ -165,7 +165,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf"
},
{
"type": "sign",
@@ -173,7 +173,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf"
},
{
"type": "sign",
@@ -181,7 +181,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf"
},
{
"type": "sign",
@@ -189,7 +189,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC"
},
{
"type": "sign",
@@ -197,7 +197,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC"
},
{
"type": "sign",
@@ -205,7 +205,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC"
},
{
"type": "sign",
@@ -213,7 +213,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC"
},
{
"type": "sign",
@@ -221,7 +221,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC"
},
{
"type": "sign",
@@ -229,7 +229,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB"
+ "script": "LittlerootTown_ProfessorBirchsLab_EventScript_PC"
}
]
} \ No newline at end of file
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
index c4f704520..f6ed7d8ca 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
@@ -1,147 +1,164 @@
LittlerootTown_ProfessorBirchsLab_MapScripts:: @ 81F9C91
- map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06
- map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9
+ map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_ProfessorBirchsLab_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_ProfessorBirchsLab_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_ProfessorBirchsLab_OnFrame
.byte 0
-LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1
- call Common_EventScript_SetupRivalGender
- call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD
+ @ State descriptions for VAR_DEX_UPGRADE_JOHTO_STARTER_STATE
+ @ 1: Beat Elite Four, Dex upgrade ready
+ @ 2: Received National Dex
+ @ 3: Left lab after receiving National Dex
+ @ 4: Entered lab after catching all Hoenn mons
+ @ 5: Birch told player to choose Johto starter
+ @ 6: Chose Johto starter
+
+ @ State descriptions for VAR_BIRCH_LAB_STATE
+ @ 1: Never occurs
+ @ 2: Chose starter
+ @ 3: Received starter in lab
+ @ 4: Defeated rival on Route 103
+ @ 5: Received pokedex
+
+LittlerootTown_ProfessorBirchsLab_OnTransition: @ 81F9CA1
+ call Common_EventScript_SetupRivalGfxId
+ call ProfBirch_EventScript_UpdateLocation
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD
+LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter:: @ 81F9CCD
specialvar VAR_RESULT, HasAllHoennMons
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9
+ compare VAR_RESULT, TRUE
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter
setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN
setobjectxyperm 3, 5, 10
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9:: @ 81F9CE9
+LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter:: @ 81F9CE9
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3:: @ 81F9CF3
+LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout:: @ 81F9CF3
setmaplayoutindex LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB_WITH_TABLE
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7:: @ 81F9CF7
+LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout:: @ 81F9CF7
setmaplayoutindex LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB_WITH_TABLE
setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN
setobjectxyperm 3, 5, 10
end
-LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06
- map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
+LittlerootTown_ProfessorBirchsLab_OnWarp: @ 81F9D06
+ map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_SetPlayerPosForReceiveStarter
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForDexUpgrade
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForDexUpgrade
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_AddRivalObject
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AddRivalObject
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForJohtoStarters
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForJohtoStarters
.2byte 0
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40
- turnobject EVENT_OBJ_ID_PLAYER, 2
+LittlerootTown_ProfessorBirchsLab_EventScript_SetPlayerPosForReceiveStarter:: @ 81F9D40
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45:: @ 81F9D45
- turnobject EVENT_OBJ_ID_PLAYER, 2
+LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForDexUpgrade:: @ 81F9D45
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
addobject 2
addobject 3
- turnobject 3, 2
+ turnobject 3, DIR_NORTH
setobjectxy 3, 5, 5
- turnobject 2, 1
+ turnobject 2, DIR_SOUTH
setobjectxy 2, 6, 4
- turnobject 1, 4
+ turnobject 1, DIR_EAST
setobjectxy 1, 10, 10
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71:: @ 81F9D71
+LittlerootTown_ProfessorBirchsLab_EventScript_AddRivalObject:: @ 81F9D71
addobject 3
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75:: @ 81F9D75
+LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForJohtoStarters:: @ 81F9D75
addobject 4
addobject 5
addobject 6
addobject 3
- turnobject 4, 1
+ turnobject 4, DIR_SOUTH
setobjectxy 4, 8, 4
- turnobject 5, 1
+ turnobject 5, DIR_SOUTH
setobjectxy 5, 9, 4
- turnobject 6, 1
+ turnobject 6, DIR_SOUTH
setobjectxy 6, 10, 4
- turnobject 2, 1
+ turnobject 2, DIR_SOUTH
setobjectxy 2, 6, 4
- turnobject 3, 4
+ turnobject 3, DIR_EAST
setobjectxy 3, 5, 5
end
-LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9: @ 81F9DB9
- map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB
- map_script_2 VAR_BIRCH_LAB_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80
- map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62
+LittlerootTown_ProfessorBirchsLab_OnFrame: @ 81F9DB9
+ map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_GiveStarterEvent
+ map_script_2 VAR_BIRCH_LAB_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedexEvent
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex
+ map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_ChooseJohtoStarter
.2byte 0
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB
+@ The starter is technically given prior to this on Route 101 by special ChooseStarter
+@ This is just where the game tells you its yours and lets you nickname it
+LittlerootTown_ProfessorBirchsLab_EventScript_GiveStarterEvent:: @ 81F9DDB
lockall
bufferleadmonspeciesname 0
- message LittlerootTown_ProfessorBirchsLab_Text_1FA74D
+ message LittlerootTown_ProfessorBirchsLab_Text_LikeYouToHavePokemon
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_WhyNotGiveNicknameToMon, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07
+LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter:: @ 81F9E07
setvar VAR_0x8004, 0
- call Common_EventScript_NameReceivedPokemon
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17
+ call Common_EventScript_NameReceivedPartyMon
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
+LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival:: @ 81F9E17
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_MightBeGoodIdeaToGoSeeRival, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA9D5, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival:: @ 81F9E36
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_GetRivalToTeachYou, MSGBOX_DEFAULT
clearflag FLAG_HIDE_ROUTE_101_BOY
setvar VAR_BIRCH_LAB_STATE, 3
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
+LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival:: @ 81F9E48
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_DontBeThatWay, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67:: @ 81F9E67
+LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedexEvent:: @ 81F9E67
lockall
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForPokedex
waitmovement 0
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex
end
-LittlerootTown_ProfessorBirchsLab_Movement_1F9E78: @ 81F9E78
+LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForPokedex: @ 81F9E78
walk_up
walk_up
walk_up
@@ -151,12 +168,12 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9E78: @ 81F9E78
walk_up
step_end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
+LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex:: @ 81F9E80
lockall
delay 30
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB16D, MSGBOX_DEFAULT
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_OtherRegionsUpgradeToNational, MSGBOX_DEFAULT
closemessage
- applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F46
+ applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_BirchRetrievePokedexes
waitmovement 0
delay 20
playse SE_TK_KASYA
@@ -167,50 +184,50 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
delay 10
playse SE_TK_KASYA
delay 20
- applymovement 3, Common_Movement_WalkInPlaceRight
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement 3, Common_Movement_WalkInPlaceFastestRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayUpgradeComment
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanUpgradeComment
playse SE_PC_ON
waitse
delay 20
- applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58
+ applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_BirchReturnPokedex
waitmovement 0
- applymovement 3, Common_Movement_WalkInPlaceUp
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement 3, Common_Movement_WalkInPlaceFastestUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, MSGBOX_DEFAULT
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_OkayAllDone, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- message LittlerootTown_ProfessorBirchsLab_Text_1FB436
+ message LittlerootTown_ProfessorBirchsLab_Text_PokedexUpgradedToNational
waitmessage
waitfanfare
setflag FLAG_SYS_NATIONAL_DEX
special EnableNationalPokedex
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, MSGBOX_DEFAULT
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting2, MSGBOX_DEFAULT
closemessage
setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- setvar VAR_SCOTT_CALL_STEP_COUNTER, 0
- setflag FLAG_SCOTT_CALL_NATIONAL_DEX
+ setvar VAR_SCOTT_BF_CALL_STEP_COUNTER, 0
+ setflag FLAG_SCOTT_CALL_BATTLE_FRONTIER
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32:: @ 81F9F32
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB30F, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_MayUpgradeComment:: @ 81F9F32
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_MayUpgradeSoCool, MSGBOX_DEFAULT
closemessage
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C:: @ 81F9F3C
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB38E, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_BrendanUpgradeComment:: @ 81F9F3C
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanYouCanThankMe, MSGBOX_DEFAULT
closemessage
return
-LittlerootTown_ProfessorBirchsLab_Movement_1F9F46: @ 81F9F46
+LittlerootTown_ProfessorBirchsLab_Movement_BirchRetrievePokedexes: @ 81F9F46
walk_left
walk_in_place_fastest_down
delay_16
@@ -230,7 +247,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F46: @ 81F9F46
walk_in_place_fastest_up
step_end
-LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58
+LittlerootTown_ProfessorBirchsLab_Movement_BirchReturnPokedex: @ 81F9F58
walk_left
walk_left
walk_left
@@ -242,16 +259,16 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58
walk_in_place_fastest_down
step_end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62
+LittlerootTown_ProfessorBirchsLab_EventScript_ChooseJohtoStarter:: @ 81F9F62
lockall
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForJohtoStarter
waitmovement 0
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, MSGBOX_DEFAULT
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_CompletedDexChoosePokemon, MSGBOX_DEFAULT
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
releaseall
end
-LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C: @ 81F9F7C
+LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForJohtoStarter: @ 81F9F7C
walk_up
walk_up
walk_up
@@ -261,260 +278,259 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C: @ 81F9F7C
walk_up
step_end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84
+LittlerootTown_ProfessorBirchsLab_EventScript_Aide:: @ 81F9F84
lock
faceplayer
compare VAR_BIRCH_LAB_STATE, 3
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1
- goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, MSGBOX_DEFAULT
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter
+ goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_AideAlreadyMet
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchAwayOnFieldwork, MSGBOX_DEFAULT
setflag FLAG_BIRCH_AIDE_MET
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7:: @ 81F9FA7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA641, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_AideAlreadyMet:: @ 81F9FA7
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchIsntOneForDeskWork, MSGBOX_DEFAULT
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA6CE, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter:: @ 81F9FB1
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchEnjoysRivalsHelpToo, MSGBOX_DEFAULT
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB
+LittlerootTown_ProfessorBirchsLab_EventScript_Cyndaquil:: @ 81F9FBB
release
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
- applymovement 2, Common_Movement_WalkInPlaceRight
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- drawmonpic SPECIES_CYNDAQUIL, 10, 3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C
+ showmonpic SPECIES_CYNDAQUIL, 10, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeCyndaquil, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF
+LittlerootTown_ProfessorBirchsLab_EventScript_Totodile:: @ 81F9FEF
release
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
- applymovement 2, Common_Movement_WalkInPlaceRight
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- drawmonpic SPECIES_TOTODILE, 10, 3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D
+ showmonpic SPECIES_TOTODILE, 10, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeTotodile, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023
+LittlerootTown_ProfessorBirchsLab_EventScript_Chikorita:: @ 81FA023
release
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
- applymovement 2, Common_Movement_WalkInPlaceRight
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- drawmonpic SPECIES_CHIKORITA, 10, 3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE
+ showmonpic SPECIES_CHIKORITA, 10, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeChikorita, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA057:: @ 81FA057
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBAF8, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter:: @ 81FA057
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BetterLeaveOthersAlone, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061
- erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB959, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime:: @ 81FA061
+ hidemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_TakeYourTimeAllInvaluable, MSGBOX_DEFAULT
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C
+LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil:: @ 81FA06C
bufferspeciesname 0, SPECIES_CYNDAQUIL
setvar VAR_TEMP_1, SPECIES_CYNDAQUIL
- givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE, 0x0, 0x0, 0
+ givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE
compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty
compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC
- erasemonpic
- goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC
+ hidemonpic
+ goto Common_EventScript_NoMoreRoomForPokemon
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1
- call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty:: @ 81FA0A1
+ call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject 4
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
- call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
- call Common_EventScript_NameReceivedPokemon
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil
+ call Common_EventScript_GetGiftMonPartySlot
+ call Common_EventScript_NameReceivedPartyMon
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC
- call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC:: @ 81FA0CC
+ call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject 4
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
- call LittlerootTown_ProfessorBirchsLab_EventScript_273797
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC
+ call Common_EventScript_NameReceivedBoxMon
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2:: @ 81FA0F2
- call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
+LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC:: @ 81FA0F2
+ call Common_EventScript_TransferredToPC
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD
- erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil:: @ 81FA0FD
+ hidemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting, MSGBOX_DEFAULT
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D
+LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile:: @ 81FA10D
bufferspeciesname 0, SPECIES_TOTODILE
setvar VAR_TEMP_1, SPECIES_TOTODILE
- givemon SPECIES_TOTODILE, 5, ITEM_NONE, 0x0, 0x0, 0
+ givemon SPECIES_TOTODILE, 5, ITEM_NONE
compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty
compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D
- erasemonpic
- goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC
+ hidemonpic
+ goto Common_EventScript_NoMoreRoomForPokemon
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142
- call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty:: @ 81FA142
+ call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject 5
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
- call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
- call Common_EventScript_NameReceivedPokemon
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile
+ call Common_EventScript_GetGiftMonPartySlot
+ call Common_EventScript_NameReceivedPartyMon
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D
- call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC:: @ 81FA16D
+ call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject 5
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
- call LittlerootTown_ProfessorBirchsLab_EventScript_273797
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC
+ call Common_EventScript_NameReceivedBoxMon
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA193:: @ 81FA193
- call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
+LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC:: @ 81FA193
+ call Common_EventScript_TransferredToPC
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E
- erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile:: @ 81FA19E
+ hidemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting, MSGBOX_DEFAULT
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE
+LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita:: @ 81FA1AE
bufferspeciesname 0, SPECIES_CHIKORITA
setvar VAR_TEMP_1, SPECIES_CHIKORITA
- givemon SPECIES_CHIKORITA, 5, ITEM_NONE, 0x0, 0x0, 0
+ givemon SPECIES_CHIKORITA, 5, ITEM_NONE
compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty
compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E
- erasemonpic
- goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC
+ hidemonpic
+ goto Common_EventScript_NoMoreRoomForPokemon
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3
- call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty:: @ 81FA1E3
+ call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject 6
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
- call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
- call Common_EventScript_NameReceivedPokemon
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita
+ call Common_EventScript_GetGiftMonPartySlot
+ call Common_EventScript_NameReceivedPartyMon
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E
- call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC:: @ 81FA20E
+ call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject 6
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
- call LittlerootTown_ProfessorBirchsLab_EventScript_273797
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
+ compare VAR_RESULT, NO
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC
+ call Common_EventScript_NameReceivedBoxMon
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA234:: @ 81FA234
- call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
+LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC:: @ 81FA234
+ call Common_EventScript_TransferredToPC
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F:: @ 81FA23F
- erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita:: @ 81FA23F
+ hidemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting, MSGBOX_DEFAULT
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F:: @ 81FA24F
+LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter:: @ 81FA24F
playfanfare MUS_FANFA4
- message LittlerootTown_ProfessorBirchsLab_Text_1FB9D7
+ message LittlerootTown_ProfessorBirchsLab_Text_ReceivedJohtoStarter
waitmessage
waitfanfare
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A
+LittlerootTown_ProfessorBirchsLab_EventScript_Birch:: @ 81FA25A
lock
faceplayer
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CanHaveAnyOneOfRarePokemon
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294
- goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
- goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2
- goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_GrassyPatchWaiting
+ goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister
+ goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, EventScript_RegisterProfBirch
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A:: @ 81FA28A
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB787, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_CanHaveAnyOneOfRarePokemon:: @ 81FA28A
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_CanHaveAnyOneOfRarePokemon, MSGBOX_DEFAULT
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_GrassyPatchWaiting:: @ 81FA294
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting2, MSGBOX_DEFAULT
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E
- goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, LittlerootTown_ProfessorBirchsLab_EventScript_272141
+LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister:: @ 81FA29E
+ goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, ProfBirch_EventScript_RatePokedexOrRegister
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ goto_if_eq ProfBirch_EventScript_RatePokedexOrRegister
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ goto_if_ge ProfBirch_EventScript_RatePokedexOrRegister
compare VAR_BIRCH_LAB_STATE, 5
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, MSGBOX_DEFAULT
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_PokemonAwait
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchRivalGoneHome, MSGBOX_DEFAULT
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2:: @ 81FA2D2
-Route101_EventScript_1FA2D2:: @ 81FA2D2
- msgbox Route101_Text_2B5F52, MSGBOX_DEFAULT
+EventScript_RegisterProfBirch:: @ 81FA2D2
+ msgbox MatchCall_Text_BirchRegisterCall, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route101_Text_2B603A, MSGBOX_DEFAULT
+ msgbox MatchCall_Text_RegisteredBirch, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -523,20 +539,20 @@ Route101_EventScript_1FA2D2:: @ 81FA2D2
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAB22, MSGBOX_DEFAULT
- call LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAC4B, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex:: @ 81FA2F8
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_HeardYouBeatRivalTakePokedex, MSGBOX_DEFAULT
+ call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivePokedex
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_ExplainPokedex, MSGBOX_DEFAULT
closemessage
- applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0
+ applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_RivalApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA352
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanGivePokeBalls
setvar VAR_BIRCH_LAB_STATE, 5
setflag FLAG_ADVENTURE_STARTED
setvar VAR_OLDALE_TOWN_STATE, 1
@@ -545,153 +561,153 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8
releaseall
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA352:: @ 81FA352
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, MSGBOX_DEFAULT
- giveitem_std ITEM_POKE_BALL, 5
- compare VAR_RESULT, 0
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls:: @ 81FA352
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_MayGotPokedexTooTakeThese, MSGBOX_DEFAULT
+ giveitem ITEM_POKE_BALL, 5
+ compare VAR_RESULT, FALSE
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayNoRoomForPokeBalls
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_CatchCutePokemonWithPokeBalls, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F:: @ 81FA37F
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, MSGBOX_DEFAULT
- giveitem_std ITEM_POKE_BALL, 5
- compare VAR_RESULT, 0
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_BrendanGivePokeBalls:: @ 81FA37F
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanGotPokedexTooTakeThese, MSGBOX_DEFAULT
+ giveitem ITEM_POKE_BALL, 5
+ compare VAR_RESULT, FALSE
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanNoRoomForPokeBalls
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_CatchCoolPokemonWithPokeBalls, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC:: @ 81FA3AC
+LittlerootTown_ProfessorBirchsLab_EventScript_ReceivePokedex:: @ 81FA3AC
playfanfare MUS_FANFA4
- message LittlerootTown_ProfessorBirchsLab_Text_1FAC32
+ message LittlerootTown_ProfessorBirchsLab_Text_ReceivedPokedex
waitfanfare
setflag FLAG_SYS_POKEDEX_GET
- special sub_81AFDA0
+ special sub_81AFDA0 @ sets flags that are never read
setflag FLAG_RECEIVED_POKEDEX_FROM_BIRCH
setvar VAR_CABLE_CLUB_TUTORIAL_STATE, 1
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4:: @ 81FA3C4
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAD6F, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_PokemonAwait:: @ 81FA3C4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_CountlessPokemonAwait, MSGBOX_DEFAULT
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE:: @ 81FA3CE
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAEF3, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_MayNoRoomForPokeBalls:: @ 81FA3CE
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_OhYourBagsFull, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7:: @ 81FA3D7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB05D, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_BrendanNoRoomForPokeBalls:: @ 81FA3D7
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_HeyYourBagsFull, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0: @ 81FA3E0
+LittlerootTown_ProfessorBirchsLab_Movement_RivalApproachPlayer: @ 81FA3E0
walk_down
walk_in_place_fastest_left
step_end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3:: @ 81FA3E3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0A2, MSGBOX_SIGN
+LittlerootTown_ProfessorBirchsLab_EventScript_Machine:: @ 81FA3E3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_SeriousLookingMachine, MSGBOX_SIGN
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC
+LittlerootTown_ProfessorBirchsLab_EventScript_Rival:: @ 81FA3EC
lock
faceplayer
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_RivalFuturePlans
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA465
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_RivalHaveYouGoneToBattleFrontier
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA490
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_RivalTakeBreakFromFieldwork
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA428
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayWhereShouldIGoNext
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA431
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanWhereShouldIGoNext
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA428:: @ 81FA428
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF08, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_MayWhereShouldIGoNext:: @ 81FA428
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_MayWhereShouldIGoNext, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB073, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_BrendanWhereShouldIGoNext:: @ 81FA431
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanWhereShouldIGoNext, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A
+LittlerootTown_ProfessorBirchsLab_EventScript_RivalFuturePlans:: @ 81FA43A
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA453
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayWhatNextImStayingHere
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanPreferCollectingSlowly
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA453:: @ 81FA453
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBB68, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_MayWhatNextImStayingHere:: @ 81FA453
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_MayWhatNextImStayingHere, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC2D, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_BrendanPreferCollectingSlowly: @ 81FA45C
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanPreferCollectingSlowly, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465
+LittlerootTown_ProfessorBirchsLab_EventScript_RivalHaveYouGoneToBattleFrontier:: @ 81FA465
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayHaveYouGoneToBattleFrontier
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA487
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanHaveYouGoneToBattleFrontier
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E:: @ 81FA47E
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC8D, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_MayHaveYouGoneToBattleFrontier:: @ 81FA47E
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_MayHaveYouGoneToBattleFrontier, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBCD2, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_BrendanHaveYouGoneToBattleFrontier:: @ 81FA487
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanHaveYouGoneToBattleFrontier, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490
+LittlerootTown_ProfessorBirchsLab_EventScript_RivalTakeBreakFromFieldwork:: @ 81FA490
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayTakeBreakFromFieldwork
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanTakeBreakFromFieldwork
release
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9:: @ 81FA4A9
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB528, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_MayTakeBreakFromFieldwork:: @ 81FA4A9
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_MayTakeBreakFromFieldwork, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2:: @ 81FA4B2
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB58A, MSGBOX_DEFAULT
+LittlerootTown_ProfessorBirchsLab_EventScript_BrendanTakeBreakFromFieldwork:: @ 81FA4B2
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanTakeBreakFromFieldwork, MSGBOX_DEFAULT
return
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB:: @ 81FA4BB
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0E7, MSGBOX_SIGN
+LittlerootTown_ProfessorBirchsLab_EventScript_PC:: @ 81FA4BB
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_PCUsedForResearch, MSGBOX_SIGN
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4:: @ 81FA4C4
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB124, MSGBOX_SIGN
+LittlerootTown_ProfessorBirchsLab_EventScript_Bookshelf:: @ 81FA4C4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_CrammedWithBooksOnPokemon, MSGBOX_SIGN
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD:: @ 81FA4CD
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB148, MSGBOX_SIGN
+LittlerootTown_ProfessorBirchsLab_EventScript_Book:: @ 81FA4CD
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_BookTooHardToRead, MSGBOX_SIGN
end
-LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6:: @ 81FA4D6
+LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall:: @ 81FA4D6
lockall
- pokenavcall LittlerootTown_ProfessorBirchsLab_Text_1FBD1A
+ pokenavcall LittlerootTown_ProfessorBirchsLab_Text_ScottAboardSSTidalCall
waitmessage
- clearflag FLAG_SCOTT_CALL_NATIONAL_DEX
+ clearflag FLAG_SCOTT_CALL_BATTLE_FRONTIER
releaseall
end
-LittlerootTown_ProfessorBirchsLab_Text_1FA4E2: @ 81FA4E2
+LittlerootTown_ProfessorBirchsLab_Text_BirchAwayOnFieldwork: @ 81FA4E2
.string "Hunh? PROF. BIRCH?\p"
.string "The PROF's away on fieldwork.\n"
.string "Ergo, he isn't here.\p"
@@ -704,19 +720,19 @@ LittlerootTown_ProfessorBirchsLab_Text_1FA4E2: @ 81FA4E2
.string "rather go outside and experience\l"
.string "things than read about them here.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FA641: @ 81FA641
+LittlerootTown_ProfessorBirchsLab_Text_BirchIsntOneForDeskWork: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_BirchEnjoysRivalsHelpToo: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_LikeYouToHavePokemon: @ 81FA74D
.string "PROF. BIRCH: So, {PLAYER}{KUN}.\p"
.string "I've heard so much about you from\n"
.string "your father.\p"
@@ -731,11 +747,11 @@ LittlerootTown_ProfessorBirchsLab_Text_1FA74D: @ 81FA74D
.string "used earlier.\p"
.string "{PLAYER} received the {STR_VAR_1}!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FA8B1: @ 81FA8B1
+LittlerootTown_ProfessorBirchsLab_Text_WhyNotGiveNicknameToMon: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_MightBeGoodIdeaToGoSeeRival: @ 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"
@@ -744,17 +760,17 @@ LittlerootTown_ProfessorBirchsLab_Text_1FA8F6: @ 81FA8F6
.string "{PLAYER}{KUN}, don't you think it might be\n"
.string "a good idea to go see {RIVAL}?$"
-LittlerootTown_ProfessorBirchsLab_Text_1FA9D5: @ 81FA9D5
+LittlerootTown_ProfessorBirchsLab_Text_GetRivalToTeachYou: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_DontBeThatWay: @ 81FAA35
.string "PROF. BIRCH: Oh, don't be that way.\n"
.string "You should go meet my kid.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAA74: @ 81FAA74
+LittlerootTown_ProfessorBirchsLab_Text_BirchRivalGoneHome: @ 81FAA74
.string "PROF. BIRCH: {RIVAL}?\n"
.string "Gone home, I think.\p"
.string "Or maybe that kid's scrabbling around\n"
@@ -762,7 +778,7 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAA74: @ 81FAA74
.string "If you or your POKéMON get tired,\n"
.string "you should get some rest at home.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAB22: @ 81FAB22
+LittlerootTown_ProfessorBirchsLab_Text_HeardYouBeatRivalTakePokedex: @ 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"
@@ -774,10 +790,10 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAB22: @ 81FAB22
.string "research, but I think you should have\l"
.string "this POKéDEX.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAC32: @ 81FAC32
+LittlerootTown_ProfessorBirchsLab_Text_ReceivedPokedex: @ 81FAC32
.string "{PLAYER} received the POKéDEX!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAC4B: @ 81FAC4B
+LittlerootTown_ProfessorBirchsLab_Text_ExplainPokedex: @ 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"
@@ -788,19 +804,19 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAC4B: @ 81FAC4B
.string "why, {RIVAL} looks for me while I'm out\l"
.string "doing fieldwork, and shows me.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAD6F: @ 81FAD6F
+LittlerootTown_ProfessorBirchsLab_Text_CountlessPokemonAwait: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_MayGotPokedexTooTakeThese: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_CatchCutePokemonWithPokeBalls: @ 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"
@@ -808,20 +824,20 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAE40: @ 81FAE40
.string "If I find any cute POKéMON, I'll catch\n"
.string "them with POKé BALLS!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAEF3: @ 81FAEF3
+LittlerootTown_ProfessorBirchsLab_Text_OhYourBagsFull: @ 81FAEF3
.string "Oh? Your BAG's full.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAF08: @ 81FAF08
+LittlerootTown_ProfessorBirchsLab_Text_MayWhereShouldIGoNext: @ 81FAF08
.string "MAY: I wonder where I should go look\n"
.string "for POKéMON next?$"
-LittlerootTown_ProfessorBirchsLab_Text_1FAF3F: @ 81FAF3F
+LittlerootTown_ProfessorBirchsLab_Text_BrendanGotPokedexTooTakeThese: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_CatchCoolPokemonWithPokeBalls: @ 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"
@@ -829,28 +845,28 @@ LittlerootTown_ProfessorBirchsLab_Text_1FAF8E: @ 81FAF8E
.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
+LittlerootTown_ProfessorBirchsLab_Text_HeyYourBagsFull: @ 81FB05D
.string "Hey, your BAG's full.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB073: @ 81FB073
+LittlerootTown_ProfessorBirchsLab_Text_BrendanWhereShouldIGoNext: @ 81FB073
.string "BRENDAN: Where should I look for\n"
.string "POKéMON next…$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB0A2: @ 81FB0A2
+LittlerootTown_ProfessorBirchsLab_Text_SeriousLookingMachine: @ 81FB0A2
.string "It's a serious-looking machine.\n"
.string "The PROF must use this for research.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB0E7: @ 81FB0E7
+LittlerootTown_ProfessorBirchsLab_Text_PCUsedForResearch: @ 81FB0E7
.string "It's a PC used for research.\n"
.string "Better not mess around with it.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB124: @ 81FB124
+LittlerootTown_ProfessorBirchsLab_Text_CrammedWithBooksOnPokemon: @ 81FB124
.string "It's crammed with books on POKéMON.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB148: @ 81FB148
+LittlerootTown_ProfessorBirchsLab_Text_BookTooHardToRead: @ 81FB148
.string "It's a book that's too hard to read.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB16D: @ 81FB16D
+LittlerootTown_ProfessorBirchsLab_Text_OtherRegionsUpgradeToNational: @ 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"
@@ -867,28 +883,28 @@ LittlerootTown_ProfessorBirchsLab_Text_1FB16D: @ 81FB16D
.string "the NATIONAL Mode.\p"
.string "Here, let me see your POKéDEX units.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB30F: @ 81FB30F
+LittlerootTown_ProfessorBirchsLab_Text_MayUpgradeSoCool: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_BrendanYouCanThankMe: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_OkayAllDone: @ 81FB419
.string "PROF. BIRCH: Okay, all done!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB436: @ 81FB436
+LittlerootTown_ProfessorBirchsLab_Text_PokedexUpgradedToNational: @ 81FB436
.string "{PLAYER}'s POKéDEX was upgraded\n"
.string "to the NATIONAL Mode!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB466: @ 81FB466
+LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting2: @ 81FB466
.string "PROF. BIRCH: But listen.\n"
.string "You've become the CHAMPION,\l"
.string "but your POKéMON journey isn't over.\p"
@@ -897,19 +913,19 @@ LittlerootTown_ProfessorBirchsLab_Text_1FB466: @ 81FB466
.string "Somewhere, there is a grassy patch\n"
.string "that's waiting for you!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB528: @ 81FB528
+LittlerootTown_ProfessorBirchsLab_Text_MayTakeBreakFromFieldwork: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_BrendanTakeBreakFromFieldwork: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_CompletedDexChoosePokemon: @ 81FB5F9
.string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n"
.string "Let's have a look at your POKéDEX.\p"
.string "… … … … … …\n"
@@ -926,48 +942,50 @@ LittlerootTown_ProfessorBirchsLab_Text_1FB5F9: @ 81FB5F9
.string "You can have any one of these\n"
.string "three POKéMON!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB787: @ 81FB787
+LittlerootTown_ProfessorBirchsLab_Text_CanHaveAnyOneOfRarePokemon: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_YoullTakeCyndaquil: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_YoullTakeTotodile: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_YoullTakeChikorita: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_TakeYourTimeAllInvaluable: @ 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
+@ Unused
+LittlerootTown_ProfessorBirchsLab_Text_PickedFinePokemon: @ 81FB9A8
.string "PROF. BIRCH: I see!\n"
.string "You picked a fine POKéMON!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB9D7: @ 81FB9D7
+LittlerootTown_ProfessorBirchsLab_Text_ReceivedJohtoStarter: @ 81FB9D7
.string "{PLAYER} received the {STR_VAR_1}\n"
.string "from PROF. BIRCH!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FB9FC: @ 81FB9FC
+@ Unused
+LittlerootTown_ProfessorBirchsLab_Text_NicknameJohtoStarter: @ 81FB9FC
.string "Want to give a nickname to\n"
.string "the {STR_VAR_1} you received?$"
-LittlerootTown_ProfessorBirchsLab_Text_1FBA2C: @ 81FBA2C
+LittlerootTown_ProfessorBirchsLab_Text_GrassyPatchWaiting: @ 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"
@@ -976,15 +994,16 @@ LittlerootTown_ProfessorBirchsLab_Text_1FBA2C: @ 81FBA2C
.string "Somewhere, there is a grassy patch\n"
.string "that's waiting for you!$"
-LittlerootTown_ProfessorBirchsLab_Text_1FBAF8: @ 81FBAF8
+LittlerootTown_ProfessorBirchsLab_Text_BetterLeaveOthersAlone: @ 81FBAF8
.string "You received the promised POKéMON.\n"
.string "Better leave the others alone.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FBB3A: @ 81FBB3A
+@ Unused
+LittlerootTown_ProfessorBirchsLab_Text_DontHaveAnyRoomForPokemon: @ 81FBB3A
.string "Oh, you don't have any room for\n"
.string "this POKéMON.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FBB68: @ 81FBB68
+LittlerootTown_ProfessorBirchsLab_Text_MayWhatNextImStayingHere: @ 81FBB68
.string "MAY: {PLAYER}{KUN}, after this…\n"
.string "What are you going to do?\p"
.string "Are you going to keep battling\n"
@@ -993,22 +1012,22 @@ LittlerootTown_ProfessorBirchsLab_Text_1FBB68: @ 81FBB68
.string "the NATIONAL POKéDEX?\p"
.string "I'm staying here to help the PROF.$"
-LittlerootTown_ProfessorBirchsLab_Text_1FBC2D: @ 81FBC2D
+LittlerootTown_ProfessorBirchsLab_Text_BrendanPreferCollectingSlowly: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_MayHaveYouGoneToBattleFrontier: @ 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
+LittlerootTown_ProfessorBirchsLab_Text_BrendanHaveYouGoneToBattleFrontier: @ 81FBCD2
.string "BRENDAN: Hey, {PLAYER}!\n"
.string "Have you gone out to that place,\l"
.string "the BATTLE FRONTIER?$"
-LittlerootTown_ProfessorBirchsLab_Text_1FBD1A: @ 81FBD1A
+LittlerootTown_ProfessorBirchsLab_Text_ScottAboardSSTidalCall: @ 81FBD1A
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "SCOTT: Hi, hi, {PLAYER}!\n"
diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json
index 350c52b4f..ce7474c6f 100644
--- a/data/maps/MagmaHideout_1F/map.json
+++ b/data/maps/MagmaHideout_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MagmaHideout_1F_EventScript_23988C",
+ "script": "MagmaHideout_1F_EventScript_Grunt1",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "MagmaHideout_1F_EventScript_2398A3",
+ "script": "MagmaHideout_1F_EventScript_Grunt2",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
diff --git a/data/maps/MagmaHideout_1F/scripts.inc b/data/maps/MagmaHideout_1F/scripts.inc
index 2fe4ad581..7c6997ca2 100644
--- a/data/maps/MagmaHideout_1F/scripts.inc
+++ b/data/maps/MagmaHideout_1F/scripts.inc
@@ -6,33 +6,33 @@ MagmaHideout_1F_OnTransition: @ 8239886
setvar VAR_JAGGED_PASS_ASH_WEATHER, 0
end
-MagmaHideout_1F_EventScript_23988C:: @ 823988C
- trainerbattle_single TRAINER_GRUNT_38, MagmaHideout_1F_Text_2398BA, MagmaHideout_1F_Text_239964
- msgbox MagmaHideout_1F_Text_2399B1, MSGBOX_AUTOCLOSE
+MagmaHideout_1F_EventScript_Grunt1:: @ 823988C
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_1, MagmaHideout_1F_Text_Grunt1Intro, MagmaHideout_1F_Text_Grunt1Defeat
+ msgbox MagmaHideout_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_1F_EventScript_2398A3:: @ 82398A3
- trainerbattle_single TRAINER_GRUNT_39, MagmaHideout_1F_Text_2399F5, MagmaHideout_1F_Text_239ABA
- msgbox MagmaHideout_1F_Text_239ACD, MSGBOX_AUTOCLOSE
+MagmaHideout_1F_EventScript_Grunt2:: @ 82398A3
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_2, MagmaHideout_1F_Text_Grunt2Intro, MagmaHideout_1F_Text_Grunt2Defeat
+ msgbox MagmaHideout_1F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_1F_Text_2398BA: @ 82398BA
+MagmaHideout_1F_Text_Grunt1Intro: @ 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
+MagmaHideout_1F_Text_Grunt1Defeat: @ 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
+MagmaHideout_1F_Text_Grunt1PostBattle: @ 82399B1
.string "Okay, I'll try to put a little more\n"
.string "effort into things from now on…$"
-MagmaHideout_1F_Text_2399F5: @ 82399F5
+MagmaHideout_1F_Text_Grunt2Intro: @ 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"
@@ -41,11 +41,11 @@ MagmaHideout_1F_Text_2399F5: @ 82399F5
.string "Fuhahaha!\n"
.string "I'll tell you if you beat me!$"
-MagmaHideout_1F_Text_239ABA: @ 8239ABA
+MagmaHideout_1F_Text_Grunt2Defeat: @ 8239ABA
.string "Arrgh!\n"
.string "Taken down!$"
-MagmaHideout_1F_Text_239ACD: @ 8239ACD
+MagmaHideout_1F_Text_Grunt2PostBattle: @ 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"
diff --git a/data/maps/MagmaHideout_2F_1R/map.json b/data/maps/MagmaHideout_2F_1R/map.json
index d628c1b5a..a059ed3d9 100644
--- a/data/maps/MagmaHideout_2F_1R/map.json
+++ b/data/maps/MagmaHideout_2F_1R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MagmaHideout_2F_1R_EventScript_239B7F",
+ "script": "MagmaHideout_2F_1R_EventScript_Grunt4",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 6,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MagmaHideout_2F_1R_EventScript_239B96",
+ "script": "MagmaHideout_2F_1R_EventScript_Grunt5",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "MagmaHideout_2F_1R_EventScript_239B51",
+ "script": "MagmaHideout_2F_1R_EventScript_Grunt14",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MagmaHideout_2F_1R_EventScript_239B68",
+ "script": "MagmaHideout_2F_1R_EventScript_Grunt3",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
}
],
diff --git a/data/maps/MagmaHideout_2F_1R/scripts.inc b/data/maps/MagmaHideout_2F_1R/scripts.inc
index 9ea2ef6fe..6f117c006 100644
--- a/data/maps/MagmaHideout_2F_1R/scripts.inc
+++ b/data/maps/MagmaHideout_2F_1R/scripts.inc
@@ -1,27 +1,27 @@
MagmaHideout_2F_1R_MapScripts:: @ 8239B50
.byte 0
-MagmaHideout_2F_1R_EventScript_239B51:: @ 8239B51
- trainerbattle_single TRAINER_GRUNT_51, MagmaHideout_2F_1R_Text_239BAD, MagmaHideout_2F_1R_Text_239C4B
- msgbox MagmaHideout_2F_1R_Text_239C74, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_1R_EventScript_Grunt14:: @ 8239B51
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_14, MagmaHideout_2F_1R_Text_Grunt14Intro, MagmaHideout_2F_1R_Text_Grunt14Defeat
+ msgbox MagmaHideout_2F_1R_Text_Grunt14PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_1R_EventScript_239B68:: @ 8239B68
- trainerbattle_single TRAINER_GRUNT_40, MagmaHideout_2F_1R_Text_239CAB, MagmaHideout_2F_1R_Text_239D09
- msgbox MagmaHideout_2F_1R_Text_239D1D, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_1R_EventScript_Grunt3:: @ 8239B68
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_3, MagmaHideout_2F_1R_Text_Grunt3Intro, MagmaHideout_2F_1R_Text_Grunt3Defeat
+ msgbox MagmaHideout_2F_1R_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_1R_EventScript_239B7F:: @ 8239B7F
- trainerbattle_single TRAINER_GRUNT_41, MagmaHideout_2F_1R_Text_239D62, MagmaHideout_2F_1R_Text_239D75
- msgbox MagmaHideout_2F_1R_Text_239D7D, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_1R_EventScript_Grunt4:: @ 8239B7F
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_4, MagmaHideout_2F_1R_Text_Grunt4Intro, MagmaHideout_2F_1R_Text_Grunt4Defeat
+ msgbox MagmaHideout_2F_1R_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_1R_EventScript_239B96:: @ 8239B96
- trainerbattle_single TRAINER_GRUNT_42, MagmaHideout_2F_1R_Text_239DC5, MagmaHideout_2F_1R_Text_239DDA
- msgbox MagmaHideout_2F_1R_Text_239DE2, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_1R_EventScript_Grunt5:: @ 8239B96
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_5, MagmaHideout_2F_1R_Text_Grunt5Intro, MagmaHideout_2F_1R_Text_Grunt5Defeat
+ msgbox MagmaHideout_2F_1R_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_1R_Text_239BAD: @ 8239BAD
+MagmaHideout_2F_1R_Text_Grunt14Intro: @ 8239BAD
.string "What, what, what?\p"
.string "Only TEAM MAGMA members are supposed\n"
.string "to be in here!\p"
@@ -30,46 +30,46 @@ MagmaHideout_2F_1R_Text_239BAD: @ 8239BAD
.string "You rouse my suspicion!\n"
.string "Battle with me!$"
-MagmaHideout_2F_1R_Text_239C4B: @ 8239C4B
+MagmaHideout_2F_1R_Text_Grunt14Defeat: @ 8239C4B
.string "Aiyiyi…\n"
.string "My pride as a TEAM MAGMA member…$"
-MagmaHideout_2F_1R_Text_239C74: @ 8239C74
+MagmaHideout_2F_1R_Text_Grunt14PostBattle: @ 8239C74
.string "If you suffer from chills, you should\n"
.string "join TEAM MAGMA.$"
-MagmaHideout_2F_1R_Text_239CAB: @ 8239CAB
+MagmaHideout_2F_1R_Text_Grunt3Intro: @ 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
+MagmaHideout_2F_1R_Text_Grunt3Defeat: @ 8239D09
.string "Ooh wow!\n"
.string "I concede!$"
-MagmaHideout_2F_1R_Text_239D1D: @ 8239D1D
+MagmaHideout_2F_1R_Text_Grunt3PostBattle: @ 8239D1D
.string "Maybe it would've been better if I did\n"
.string "just let you go unchallenged…$"
-MagmaHideout_2F_1R_Text_239D62: @ 8239D62
+MagmaHideout_2F_1R_Text_Grunt4Intro: @ 8239D62
.string "Ahah!\n"
.string "An intruder!$"
-MagmaHideout_2F_1R_Text_239D75: @ 8239D75
+MagmaHideout_2F_1R_Text_Grunt4Defeat: @ 8239D75
.string "Graaah!$"
-MagmaHideout_2F_1R_Text_239D7D: @ 8239D7D
+MagmaHideout_2F_1R_Text_Grunt4PostBattle: @ 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
+MagmaHideout_2F_1R_Text_Grunt5Intro: @ 8239DC5
.string "Oh, oh!\n"
.string "An intruder!$"
-MagmaHideout_2F_1R_Text_239DDA: @ 8239DDA
+MagmaHideout_2F_1R_Text_Grunt5Defeat: @ 8239DDA
.string "Mutter…$"
-MagmaHideout_2F_1R_Text_239DE2: @ 8239DE2
+MagmaHideout_2F_1R_Text_Grunt5PostBattle: @ 8239DE2
.string "Actually, I'm no expert at battling…$"
diff --git a/data/maps/MagmaHideout_2F_2R/map.json b/data/maps/MagmaHideout_2F_2R/map.json
index b52d34212..5d70de489 100644
--- a/data/maps/MagmaHideout_2F_2R/map.json
+++ b/data/maps/MagmaHideout_2F_2R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "MagmaHideout_2F_2R_EventScript_239E4D",
+ "script": "MagmaHideout_2F_2R_EventScript_Grunt8",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MagmaHideout_2F_2R_EventScript_239E36",
+ "script": "MagmaHideout_2F_2R_EventScript_Grunt7",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "MagmaHideout_2F_2R_EventScript_239E1F",
+ "script": "MagmaHideout_2F_2R_EventScript_Grunt6",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MagmaHideout_2F_2R_EventScript_239E08",
+ "script": "MagmaHideout_2F_2R_EventScript_Grunt15",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
diff --git a/data/maps/MagmaHideout_2F_2R/scripts.inc b/data/maps/MagmaHideout_2F_2R/scripts.inc
index 5539d26de..d0121f953 100644
--- a/data/maps/MagmaHideout_2F_2R/scripts.inc
+++ b/data/maps/MagmaHideout_2F_2R/scripts.inc
@@ -1,78 +1,78 @@
MagmaHideout_2F_2R_MapScripts:: @ 8239E07
.byte 0
-MagmaHideout_2F_2R_EventScript_239E08:: @ 8239E08
- trainerbattle_single TRAINER_GRUNT_52, MagmaHideout_2F_2R_Text_239E64, MagmaHideout_2F_2R_Text_239EA5
- msgbox MagmaHideout_2F_2R_Text_239EBB, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_2R_EventScript_Grunt15:: @ 8239E08
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_15, MagmaHideout_2F_2R_Text_Grunt15Intro, MagmaHideout_2F_2R_Text_Grunt15Defeat
+ msgbox MagmaHideout_2F_2R_Text_Grunt15PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_2R_EventScript_239E1F:: @ 8239E1F
- trainerbattle_single TRAINER_GRUNT_43, MagmaHideout_2F_2R_Text_239F31, MagmaHideout_2F_2R_Text_239F71
- msgbox MagmaHideout_2F_2R_Text_239FA1, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_2R_EventScript_Grunt6:: @ 8239E1F
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_6, MagmaHideout_2F_2R_Text_Grunt6Intro, MagmaHideout_2F_2R_Text_Grunt6Defeat
+ msgbox MagmaHideout_2F_2R_Text_Grunt6PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_2R_EventScript_239E36:: @ 8239E36
- trainerbattle_single TRAINER_GRUNT_44, MagmaHideout_2F_2R_Text_239FDE, MagmaHideout_2F_2R_Text_23A050
- msgbox MagmaHideout_2F_2R_Text_23A07D, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_2R_EventScript_Grunt7:: @ 8239E36
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_7, MagmaHideout_2F_2R_Text_Grunt7Intro, MagmaHideout_2F_2R_Text_Grunt7Defeat
+ msgbox MagmaHideout_2F_2R_Text_Grunt7PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_2R_EventScript_239E4D:: @ 8239E4D
- trainerbattle_single TRAINER_GRUNT_45, MagmaHideout_2F_2R_Text_23A0E4, MagmaHideout_2F_2R_Text_23A14C
- msgbox MagmaHideout_2F_2R_Text_23A16F, MSGBOX_AUTOCLOSE
+MagmaHideout_2F_2R_EventScript_Grunt8:: @ 8239E4D
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_8, MagmaHideout_2F_2R_Text_Grunt8Intro, MagmaHideout_2F_2R_Text_Grunt8Defeat
+ msgbox MagmaHideout_2F_2R_Text_Grunt8PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_2F_2R_Text_239E64: @ 8239E64
+MagmaHideout_2F_2R_Text_Grunt15Intro: @ 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
+MagmaHideout_2F_2R_Text_Grunt15Defeat: @ 8239EA5
.string "I may have lost, but…$"
-MagmaHideout_2F_2R_Text_239EBB: @ 8239EBB
+MagmaHideout_2F_2R_Text_Grunt15PostBattle: @ 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
+MagmaHideout_2F_2R_Text_Grunt6Intro: @ 8239F31
.string "I can't stand heat. Maybe I should've\n"
.string "joined TEAM AQUA instead…$"
-MagmaHideout_2F_2R_Text_239F71: @ 8239F71
+MagmaHideout_2F_2R_Text_Grunt6Defeat: @ 8239F71
.string "Yeah, I really may not be right for\n"
.string "TEAM MAGMA…$"
-MagmaHideout_2F_2R_Text_239FA1: @ 8239FA1
+MagmaHideout_2F_2R_Text_Grunt6PostBattle: @ 8239FA1
.string "Don't you get lonely for the sea\n"
.string "being in a place like this?$"
-MagmaHideout_2F_2R_Text_239FDE: @ 8239FDE
+MagmaHideout_2F_2R_Text_Grunt7Intro: @ 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
+MagmaHideout_2F_2R_Text_Grunt7Defeat: @ 823A050
.string "You're a fiery battler.\n"
.string "Just like a volcano!$"
-MagmaHideout_2F_2R_Text_23A07D: @ 823A07D
+MagmaHideout_2F_2R_Text_Grunt7PostBattle: @ 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
+MagmaHideout_2F_2R_Text_Grunt8Intro: @ 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
+MagmaHideout_2F_2R_Text_Grunt8Defeat: @ 823A14C
.string "I'm having trouble believing this…$"
-MagmaHideout_2F_2R_Text_23A16F: @ 823A16F
+MagmaHideout_2F_2R_Text_Grunt8PostBattle: @ 823A16F
.string "I'm getting this feeling that our plan\n"
.string "is going to end in failure…$"
diff --git a/data/maps/MagmaHideout_3F_1R/map.json b/data/maps/MagmaHideout_3F_1R/map.json
index e3c1bac70..edf3e6671 100644
--- a/data/maps/MagmaHideout_3F_1R/map.json
+++ b/data/maps/MagmaHideout_3F_1R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "MagmaHideout_3F_1R_EventScript_23A1B3",
+ "script": "MagmaHideout_3F_1R_EventScript_Grunt9",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "MagmaHideout_3F_1R_EventScript_23A1CA",
+ "script": "MagmaHideout_3F_1R_EventScript_Grunt16",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
diff --git a/data/maps/MagmaHideout_3F_1R/scripts.inc b/data/maps/MagmaHideout_3F_1R/scripts.inc
index 879cd282d..04e5526ae 100644
--- a/data/maps/MagmaHideout_3F_1R/scripts.inc
+++ b/data/maps/MagmaHideout_3F_1R/scripts.inc
@@ -1,29 +1,29 @@
MagmaHideout_3F_1R_MapScripts:: @ 823A1B2
.byte 0
-MagmaHideout_3F_1R_EventScript_23A1B3:: @ 823A1B3
- trainerbattle_single TRAINER_GRUNT_46, MagmaHideout_3F_1R_Text_23A1E1, MagmaHideout_3F_1R_Text_23A229
- msgbox MagmaHideout_3F_1R_Text_23A246, MSGBOX_AUTOCLOSE
+MagmaHideout_3F_1R_EventScript_Grunt9:: @ 823A1B3
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_9, MagmaHideout_3F_1R_Text_Grunt9Intro, MagmaHideout_3F_1R_Text_Grunt9Defeat
+ msgbox MagmaHideout_3F_1R_Text_Grunt9PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_3F_1R_EventScript_23A1CA:: @ 823A1CA
- trainerbattle_single TRAINER_GRUNT_53, MagmaHideout_3F_1R_Text_23A293, MagmaHideout_3F_1R_Text_23A353
- msgbox MagmaHideout_3F_1R_Text_23A37C, MSGBOX_AUTOCLOSE
+MagmaHideout_3F_1R_EventScript_Grunt16:: @ 823A1CA
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_16, MagmaHideout_3F_1R_Text_Grunt16Intro, MagmaHideout_3F_1R_Text_Grunt16Defeat
+ msgbox MagmaHideout_3F_1R_Text_Grunt16PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_3F_1R_Text_23A1E1: @ 823A1E1
+MagmaHideout_3F_1R_Text_Grunt9Intro: @ 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
+MagmaHideout_3F_1R_Text_Grunt9Defeat: @ 823A229
.string "I'm getting heat exhaustion…$"
-MagmaHideout_3F_1R_Text_23A246: @ 823A246
+MagmaHideout_3F_1R_Text_Grunt9PostBattle: @ 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
+MagmaHideout_3F_1R_Text_Grunt16Intro: @ 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"
@@ -31,11 +31,11 @@ MagmaHideout_3F_1R_Text_23A293: @ 823A293
.string "No one interferes with us and gets\n"
.string "away with it!$"
-MagmaHideout_3F_1R_Text_23A353: @ 823A353
+MagmaHideout_3F_1R_Text_Grunt16Defeat: @ 823A353
.string "Oh, no!\n"
.string "You're not to be trusted at all!$"
-MagmaHideout_3F_1R_Text_23A37C: @ 823A37C
+MagmaHideout_3F_1R_Text_Grunt16PostBattle: @ 823A37C
.string "Listen to me.\n"
.string "TEAM MAGMA is right!\p"
.string "Don't listen to TEAM AQUA.\n"
diff --git a/data/maps/MagmaHideout_3F_2R/map.json b/data/maps/MagmaHideout_3F_2R/map.json
index e4b267858..70dd1bdf8 100644
--- a/data/maps/MagmaHideout_3F_2R/map.json
+++ b/data/maps/MagmaHideout_3F_2R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MagmaHideout_3F_2R_EventScript_23A3D5",
+ "script": "MagmaHideout_3F_2R_EventScript_Grunt10",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
diff --git a/data/maps/MagmaHideout_3F_2R/scripts.inc b/data/maps/MagmaHideout_3F_2R/scripts.inc
index 14f7001fa..06f371151 100644
--- a/data/maps/MagmaHideout_3F_2R/scripts.inc
+++ b/data/maps/MagmaHideout_3F_2R/scripts.inc
@@ -1,12 +1,12 @@
MagmaHideout_3F_2R_MapScripts:: @ 823A3D4
.byte 0
-MagmaHideout_3F_2R_EventScript_23A3D5:: @ 823A3D5
- trainerbattle_single TRAINER_GRUNT_47, MagmaHideout_3F_2R_Text_23A3EC, MagmaHideout_3F_2R_Text_23A4BB
- msgbox MagmaHideout_3F_2R_Text_23A4EF, MSGBOX_AUTOCLOSE
+MagmaHideout_3F_2R_EventScript_Grunt10:: @ 823A3D5
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_10, MagmaHideout_3F_2R_Text_Grunt10Intro, MagmaHideout_3F_2R_Text_Grunt10Defeat
+ msgbox MagmaHideout_3F_2R_Text_Grunt10PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_3F_2R_Text_23A3EC: @ 823A3EC
+MagmaHideout_3F_2R_Text_Grunt10Intro: @ 823A3EC
.string "I understand everything our leader\n"
.string "says. But you know what?\p"
.string "Doing stuff like digging up a super-\n"
@@ -15,11 +15,11 @@ MagmaHideout_3F_2R_Text_23A3EC: @ 823A3EC
.string "I think we're going a little too far.\n"
.string "What do you think?$"
-MagmaHideout_3F_2R_Text_23A4BB: @ 823A4BB
+MagmaHideout_3F_2R_Text_Grunt10Defeat: @ 823A4BB
.string "Yeah, I think we are doing something\n"
.string "wrong somehow.$"
-MagmaHideout_3F_2R_Text_23A4EF: @ 823A4EF
+MagmaHideout_3F_2R_Text_Grunt10PostBattle: @ 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/maps/MagmaHideout_4F/map.json b/data/maps/MagmaHideout_4F/map.json
index 5eebc41d8..b01200f08 100644
--- a/data/maps/MagmaHideout_4F/map.json
+++ b/data/maps/MagmaHideout_4F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MagmaHideout_4F_EventScript_23A68C",
+ "script": "MagmaHideout_4F_EventScript_Grunt11",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MagmaHideout_4F_EventScript_23A6A3",
+ "script": "MagmaHideout_4F_EventScript_Grunt12",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MagmaHideout_4F_EventScript_23A6BA",
+ "script": "MagmaHideout_4F_EventScript_Grunt13",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "MagmaHideout_4F_EventScript_23A6D1",
+ "script": "MagmaHideout_4F_EventScript_Tabitha",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MagmaHideout_4F_EventScript_23A560",
+ "script": "MagmaHideout_4F_EventScript_Maxie",
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
},
{
diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc
index 7bbb4ac18..5251c75ae 100644
--- a/data/maps/MagmaHideout_4F/scripts.inc
+++ b/data/maps/MagmaHideout_4F/scripts.inc
@@ -1,82 +1,79 @@
MagmaHideout_4F_MapScripts:: @ 823A55F
.byte 0
-MagmaHideout_4F_EventScript_23A560:: @ 823A560
+MagmaHideout_4F_EventScript_Maxie:: @ 823A560
lockall
playbgm MUS_MGM0, 0
- msgbox MagmaHideout_4F_Text_23A9F4, MSGBOX_DEFAULT
+ msgbox MagmaHideout_4F_Text_MaxieAwakenGroudon, MSGBOX_DEFAULT
closemessage
delay 20
setvar VAR_RESULT, 1
playse SE_W197
- setfieldeffectargument 0, 18
- setfieldeffectargument 1, 42
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+ dofieldeffectsparkle 18, 42, 0
waitfieldeffect FLDEFF_SPARKLE
setvar VAR_RESULT, 1
playfanfare MUS_ME_TAMA
playse SE_TAMA
- special sub_80B0534
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ special DoOrbEffect
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 150
- removeobject 7
- addobject 1
+ removeobject 7 @ sleeping Groudon
+ addobject 1 @ awakened Groudon
waitstate
delay 60
- applymovement 1, MagmaHideout_4F_Movement_23A672
+ applymovement 1, MagmaHideout_4F_Movement_GroudonApproach
waitmovement 0
- special sub_80B058C
+ special FadeOutOrbEffect
waitstate
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 1, MagmaHideout_4F_Movement_23A67D
+ applymovement 1, MagmaHideout_4F_Movement_GroudonExit
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
+ setvar VAR_0x8004, 2 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
delay 30
- applymovement 6, MagmaHideout_4F_Movement_23A680
+ applymovement 6, MagmaHideout_4F_Movement_MaxieLookAround
waitmovement 0
- msgbox MagmaHideout_4F_Text_23AADA, MSGBOX_DEFAULT
+ msgbox MagmaHideout_4F_Text_MaxieGroudonWhatsWrong, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 30
applymovement 6, Common_Movement_FacePlayer
waitmovement 0
- msgbox MagmaHideout_4F_Text_23AB33, MSGBOX_DEFAULT
+ msgbox MagmaHideout_4F_Text_MaxieOhItWasYou, MSGBOX_DEFAULT
closemessage
- trainerbattle_no_intro TRAINER_MAXIE_1, MagmaHideout_4F_Text_23ABB5
- msgbox MagmaHideout_4F_Text_23ABE2, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_MAXIE_MAGMA_HIDEOUT, MagmaHideout_4F_Text_MaxieDefeat
+ msgbox MagmaHideout_4F_Text_MaxieImGoingAfterGroudon, MSGBOX_DEFAULT
closemessage
clearflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN
clearflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
setvar VAR_SLATEPORT_CITY_STATE, 1
setflag FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT
setvar VAR_SLATEPORT_HARBOR_STATE, 1
- fadescreen 1
+ fadescreen FADE_TO_BLACK
removeobject 6
removeobject 2
removeobject 3
removeobject 4
removeobject 5
setflag FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
releaseall
end
-MagmaHideout_4F_Movement_23A672: @ 823A672
+MagmaHideout_4F_Movement_GroudonApproach: @ 823A672
delay_16
delay_16
walk_slow_down
@@ -89,12 +86,12 @@ MagmaHideout_4F_Movement_23A672: @ 823A672
delay_16
step_end
-MagmaHideout_4F_Movement_23A67D: @ 823A67D
+MagmaHideout_4F_Movement_GroudonExit: @ 823A67D
slide_up
slide_up
step_end
-MagmaHideout_4F_Movement_23A680: @ 823A680
+MagmaHideout_4F_Movement_MaxieLookAround: @ 823A680
face_left
delay_16
face_right
@@ -108,64 +105,64 @@ MagmaHideout_4F_Movement_23A680: @ 823A680
delay_16
step_end
-MagmaHideout_4F_EventScript_23A68C:: @ 823A68C
- trainerbattle_single TRAINER_GRUNT_48, MagmaHideout_4F_Text_23A6E8, MagmaHideout_4F_Text_23A775
- msgbox MagmaHideout_4F_Text_23A7B5, MSGBOX_AUTOCLOSE
+MagmaHideout_4F_EventScript_Grunt11:: @ 823A68C
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_11, MagmaHideout_4F_Text_Grunt11Intro, MagmaHideout_4F_Text_Grunt11Defeat
+ msgbox MagmaHideout_4F_Text_Grunt11PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_4F_EventScript_23A6A3:: @ 823A6A3
- trainerbattle_single TRAINER_GRUNT_49, MagmaHideout_4F_Text_23A7DA, MagmaHideout_4F_Text_23A81B
- msgbox MagmaHideout_4F_Text_23A841, MSGBOX_AUTOCLOSE
+MagmaHideout_4F_EventScript_Grunt12:: @ 823A6A3
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_12, MagmaHideout_4F_Text_Grunt12Intro, MagmaHideout_4F_Text_Grunt12Defeat
+ msgbox MagmaHideout_4F_Text_Grunt12PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_4F_EventScript_23A6BA:: @ 823A6BA
- trainerbattle_single TRAINER_GRUNT_50, MagmaHideout_4F_Text_23A86D, MagmaHideout_4F_Text_23A8A7
- msgbox MagmaHideout_4F_Text_23A8C6, MSGBOX_AUTOCLOSE
+MagmaHideout_4F_EventScript_Grunt13:: @ 823A6BA
+ trainerbattle_single TRAINER_GRUNT_MAGMA_HIDEOUT_13, MagmaHideout_4F_Text_Grunt13Intro, MagmaHideout_4F_Text_Grunt13Defeat
+ msgbox MagmaHideout_4F_Text_Grunt13PostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_4F_EventScript_23A6D1:: @ 823A6D1
- trainerbattle_single TRAINER_TABITHA_3, MagmaHideout_4F_Text_23A8E1, MagmaHideout_4F_Text_23A994
- msgbox MagmaHideout_4F_Text_23A9AC, MSGBOX_AUTOCLOSE
+MagmaHideout_4F_EventScript_Tabitha:: @ 823A6D1
+ trainerbattle_single TRAINER_TABITHA_MAGMA_HIDEOUT, MagmaHideout_4F_Text_TabithaIntro, MagmaHideout_4F_Text_TabithaDefeat
+ msgbox MagmaHideout_4F_Text_TabithaPostBattle, MSGBOX_AUTOCLOSE
end
-MagmaHideout_4F_Text_23A6E8: @ 823A6E8
+MagmaHideout_4F_Text_Grunt11Intro: @ 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
+MagmaHideout_4F_Text_Grunt11Defeat: @ 823A775
.string "I guess it's impossible to win if one\n"
.string "doesn't have a calm mind…$"
-MagmaHideout_4F_Text_23A7B5: @ 823A7B5
+MagmaHideout_4F_Text_Grunt11PostBattle: @ 823A7B5
.string "I wonder if GROUDON even has a tail?$"
-MagmaHideout_4F_Text_23A7DA: @ 823A7DA
+MagmaHideout_4F_Text_Grunt12Intro: @ 823A7DA
.string "Fuhahaha!\n"
.string "Soon! Very soon!\l"
.string "Our grand objective will be achieved!$"
-MagmaHideout_4F_Text_23A81B: @ 823A81B
+MagmaHideout_4F_Text_Grunt12Defeat: @ 823A81B
.string "Grrr…\n"
.string "I've come so far, but now this?$"
-MagmaHideout_4F_Text_23A841: @ 823A841
+MagmaHideout_4F_Text_Grunt12PostBattle: @ 823A841
.string "MAXIE, sir!\n"
.string "An intruder is headed your way!$"
-MagmaHideout_4F_Text_23A86D: @ 823A86D
+MagmaHideout_4F_Text_Grunt13Intro: @ 823A86D
.string "You're not finished yet!\n"
.string "You're not getting by me easily!$"
-MagmaHideout_4F_Text_23A8A7: @ 823A8A7
+MagmaHideout_4F_Text_Grunt13Defeat: @ 823A8A7
.string "Was I that easy to knock down?$"
-MagmaHideout_4F_Text_23A8C6: @ 823A8C6
+MagmaHideout_4F_Text_Grunt13PostBattle: @ 823A8C6
.string "C-come on, one more match…$"
-MagmaHideout_4F_Text_23A8E1: @ 823A8E1
+MagmaHideout_4F_Text_TabithaIntro: @ 823A8E1
.string "Hehehe!\n"
.string "You made it this far, so I'll tell you!\p"
.string "That's right!\n"
@@ -175,15 +172,15 @@ MagmaHideout_4F_Text_23A8E1: @ 823A8E1
.string "It's going to awaken real soon!\n"
.string "Hehe! Hehehe!$"
-MagmaHideout_4F_Text_23A994: @ 823A994
+MagmaHideout_4F_Text_TabithaDefeat: @ 823A994
.string "Taken down again…\n"
.string "Hehe…$"
-MagmaHideout_4F_Text_23A9AC: @ 823A9AC
+MagmaHideout_4F_Text_TabithaPostBattle: @ 823A9AC
.string "…And while you wasted time with me,\n"
.string "MAXIE should have awakened GROUDON…$"
-MagmaHideout_4F_Text_23A9F4: @ 823A9F4
+MagmaHideout_4F_Text_MaxieAwakenGroudon: @ 823A9F4
.string "MAXIE: GROUDON…\p"
.string "Nothing could awaken you from your\n"
.string "sleep bathed in magma…\p"
@@ -194,25 +191,25 @@ MagmaHideout_4F_Text_23A9F4: @ 823A9F4
.string "And show me…\n"
.string "Show me the full extent of your power!$"
-MagmaHideout_4F_Text_23AADA: @ 823AADA
+MagmaHideout_4F_Text_MaxieGroudonWhatsWrong: @ 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
+MagmaHideout_4F_Text_MaxieOhItWasYou: @ 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
+MagmaHideout_4F_Text_MaxieDefeat: @ 823ABB5
.string "What makes you so adept at handling\n"
.string "POKéMON?$"
-MagmaHideout_4F_Text_23ABE2: @ 823ABE2
+MagmaHideout_4F_Text_MaxieImGoingAfterGroudon: @ 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"
diff --git a/data/maps/MarineCave_End/map.json b/data/maps/MarineCave_End/map.json
index ec1c3389a..e95e72734 100644
--- a/data/maps/MarineCave_End/map.json
+++ b/data/maps/MarineCave_End/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DAN01",
"region_map_section": "MAPSEC_MARINE_CAVE",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_UNDERGROUND",
"allow_bike": false,
"allow_escape_rope": true,
@@ -45,7 +45,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "1",
- "script": "MarineCave_End_EventScript_23B01B"
+ "script": "MarineCave_End_EventScript_Kyogre"
}
],
"bg_events": []
diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc
index be3a6a57b..c0823c480 100644
--- a/data/maps/MarineCave_End/scripts.inc
+++ b/data/maps/MarineCave_End/scripts.inc
@@ -1,33 +1,33 @@
MarineCave_End_MapScripts:: @ 823AFDF
- map_script MAP_SCRIPT_ON_RESUME, MarineCave_End_MapScript1_23AFEA
+ map_script MAP_SCRIPT_ON_RESUME, MarineCave_End_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, MarineCave_End_OnTransition
.byte 0
-MarineCave_End_MapScript1_23AFEA: @ 823AFEA
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MarineCave_End_EventScript_23AFF4
+MarineCave_End_OnResume: @ 823AFEA
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MarineCave_End_EventScript_TryRemoveKyogre
end
-MarineCave_End_EventScript_23AFF4:: @ 823AFF4
+MarineCave_End_EventScript_TryRemoveKyogre:: @ 823AFF4
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject 1
return
MarineCave_End_OnTransition: @ 823B008
- call_if_unset FLAG_DEFEATED_KYOGRE, MarineCave_End_EventScript_23B012
+ call_if_unset FLAG_DEFEATED_KYOGRE, MarineCave_End_EventScript_ShowKyogre
end
-MarineCave_End_EventScript_23B012:: @ 823B012
+MarineCave_End_EventScript_ShowKyogre:: @ 823B012
clearflag FLAG_HIDE_MARINE_CAVE_KYOGRE
setvar VAR_TEMP_1, 1
return
-MarineCave_End_EventScript_23B01B:: @ 823B01B
+MarineCave_End_EventScript_Kyogre:: @ 823B01B
lockall
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
- applymovement 1, MarineCave_End_Movement_23B09D
+ applymovement 1, MarineCave_End_Movement_KyogreApproach
waitmovement 0
waitse
playmoncry SPECIES_KYOGRE, 2
@@ -41,29 +41,29 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B
clearflag FLAG_SYS_CTRL_OBJ_DELETE
setvar VAR_TEMP_1, 0
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq MarineCave_End_EventScript_23B084
- compare VAR_RESULT, 4
- goto_if_eq MarineCave_End_EventScript_23B092
- compare VAR_RESULT, 5
- goto_if_eq MarineCave_End_EventScript_23B092
- setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq MarineCave_End_EventScript_DefeatedKyogre
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq MarineCave_End_EventScript_RanFromKyogre
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq MarineCave_End_EventScript_RanFromKyogre
+ setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_KYOGRE
releaseall
end
-MarineCave_End_EventScript_23B084:: @ 823B084
- setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1
+MarineCave_End_EventScript_DefeatedKyogre:: @ 823B084
+ setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_KYOGRE
- goto MarineCave_End_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-MarineCave_End_EventScript_23B092:: @ 823B092
- setvar VAR_0x8004, 404
- goto MarineCave_End_EventScript_273776
+MarineCave_End_EventScript_RanFromKyogre:: @ 823B092
+ setvar VAR_0x8004, SPECIES_KYOGRE
+ goto Common_EventScript_LegendaryFlewAway
end
-MarineCave_End_Movement_23B09D: @ 823B09D
+MarineCave_End_Movement_KyogreApproach: @ 823B09D
init_affine_anim
walk_down_start_affine
delay_16
diff --git a/data/maps/MarineCave_Entrance/scripts.inc b/data/maps/MarineCave_Entrance/scripts.inc
index 82ff756e1..1ba4546e3 100644
--- a/data/maps/MarineCave_Entrance/scripts.inc
+++ b/data/maps/MarineCave_Entrance/scripts.inc
@@ -1,8 +1,8 @@
MarineCave_Entrance_MapScripts:: @ 823AFD0
- map_script MAP_SCRIPT_ON_RESUME, MarineCave_Entrance_MapScript1_23AFD6
+ map_script MAP_SCRIPT_ON_RESUME, MarineCave_Entrance_OnResume
.byte 0
-MarineCave_Entrance_MapScript1_23AFD6: @ 823AFD6
+MarineCave_Entrance_OnResume: @ 823AFD6
setdivewarp MAP_UNDERWATER_MARINE_CAVE, 255, 9, 6
end
diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json
index 4163f4d9d..1708008bd 100644
--- a/data/maps/MauvilleCity/map.json
+++ b/data/maps/MauvilleCity/map.json
@@ -45,7 +45,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF3B3",
+ "script": "MauvilleCity_EventScript_Boy",
"flag": "0"
},
{
@@ -58,7 +58,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF3CE",
+ "script": "MauvilleCity_EventScript_RichBoy",
"flag": "0"
},
{
@@ -71,7 +71,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF3BC",
+ "script": "MauvilleCity_EventScript_Maniac",
"flag": "0"
},
{
@@ -84,7 +84,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF3C5",
+ "script": "MauvilleCity_EventScript_Woman",
"flag": "0"
},
{
@@ -97,7 +97,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF3FB",
+ "script": "MauvilleCity_EventScript_SchoolKidM",
"flag": "0"
},
{
@@ -110,7 +110,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF452",
+ "script": "MauvilleCity_EventScript_Wally",
"flag": "FLAG_HIDE_MAUVILLE_CITY_WALLY"
},
{
@@ -123,7 +123,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF41D",
+ "script": "MauvilleCity_EventScript_WallysUncle",
"flag": "FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE"
},
{
@@ -136,7 +136,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_1DF73A",
+ "script": "MauvilleCity_EventScript_Wattson",
"flag": "FLAG_HIDE_MAUVILLE_CITY_WATTSON"
},
{
@@ -162,7 +162,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_EventScript_2C7F7E",
+ "script": "MauvilleCity_EventScript_RolloutTutor",
"flag": "0"
},
{
@@ -246,7 +246,7 @@
"y": 6,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_EventScript_1DF3E0"
+ "script": "MauvilleCity_EventScript_GymSign"
},
{
"type": "sign",
@@ -278,7 +278,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_EventScript_1DF3D7"
+ "script": "MauvilleCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -286,7 +286,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_EventScript_1DF3E9"
+ "script": "MauvilleCity_EventScript_BikeShopSign"
},
{
"type": "sign",
@@ -294,7 +294,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_EventScript_1DF3F2"
+ "script": "MauvilleCity_EventScript_GameCornerSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc
index 445930e70..fac5e84ce 100644
--- a/data/maps/MauvilleCity/scripts.inc
+++ b/data/maps/MauvilleCity/scripts.inc
@@ -9,88 +9,88 @@ MauvilleCity_OnTransition: @ 81DF38B
setflag FLAG_SYS_TV_START
clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
setvar VAR_MAUVILLE_GYM_STATE, 0
- call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF3A9
+ call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_MoveWattsonBackToGym
end
-MauvilleCity_EventScript_1DF3A9:: @ 81DF3A9
+MauvilleCity_EventScript_MoveWattsonBackToGym:: @ 81DF3A9
clearflag FLAG_HIDE_MAUVILLE_GYM_WATTSON
setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON
setflag FLAG_WATTSON_REMATCH_AVAILABLE
return
-MauvilleCity_EventScript_1DF3B3:: @ 81DF3B3
- msgbox MauvilleCity_Text_1E0301, MSGBOX_NPC
+MauvilleCity_EventScript_Boy:: @ 81DF3B3
+ msgbox MauvilleCity_Text_NurseHurtMonBackToHealth, MSGBOX_NPC
end
-MauvilleCity_EventScript_1DF3BC:: @ 81DF3BC
- msgbox MauvilleCity_Text_1E037C, MSGBOX_NPC
+MauvilleCity_EventScript_Maniac:: @ 81DF3BC
+ msgbox MauvilleCity_Text_AllSortsOfPeopleComeThrough, MSGBOX_NPC
end
-MauvilleCity_EventScript_1DF3C5:: @ 81DF3C5
- msgbox MauvilleCity_Text_1E03FB, MSGBOX_NPC
+MauvilleCity_EventScript_Woman:: @ 81DF3C5
+ msgbox MauvilleCity_Text_RydelVeryGenerous, MSGBOX_NPC
end
-MauvilleCity_EventScript_1DF3CE:: @ 81DF3CE
- msgbox MauvilleCity_Text_1E044A, MSGBOX_NPC
+MauvilleCity_EventScript_RichBoy:: @ 81DF3CE
+ msgbox MauvilleCity_Text_PokemonCanJumpYouOnBike, MSGBOX_NPC
end
-MauvilleCity_EventScript_1DF3D7:: @ 81DF3D7
- msgbox MauvilleCity_Text_1E0485, MSGBOX_SIGN
+MauvilleCity_EventScript_CitySign:: @ 81DF3D7
+ msgbox MauvilleCity_Text_CitySign, MSGBOX_SIGN
end
-MauvilleCity_EventScript_1DF3E0:: @ 81DF3E0
- msgbox MauvilleCity_Text_1E04B7, MSGBOX_SIGN
+MauvilleCity_EventScript_GymSign:: @ 81DF3E0
+ msgbox MauvilleCity_Text_GymSign, MSGBOX_SIGN
end
-MauvilleCity_EventScript_1DF3E9:: @ 81DF3E9
- msgbox MauvilleCity_Text_1E0504, MSGBOX_SIGN
+MauvilleCity_EventScript_BikeShopSign:: @ 81DF3E9
+ msgbox MauvilleCity_Text_BikeShopSign, MSGBOX_SIGN
end
-MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2
- msgbox MauvilleCity_Text_1E053C, MSGBOX_SIGN
+MauvilleCity_EventScript_GameCornerSign:: @ 81DF3F2
+ msgbox MauvilleCity_Text_GameCornerSign, MSGBOX_SIGN
end
-MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB
+MauvilleCity_EventScript_SchoolKidM:: @ 81DF3FB
lock
faceplayer
- goto_if_set FLAG_TV_EXPLAINED, MauvilleCity_EventScript_1DF413
- msgbox MauvilleCity_Text_1E056A, MSGBOX_DEFAULT
+ goto_if_set FLAG_TV_EXPLAINED, MauvilleCity_EventScript_TVExplained
+ msgbox MauvilleCity_Text_ExplainTV, MSGBOX_DEFAULT
setflag FLAG_TV_EXPLAINED
release
end
-MauvilleCity_EventScript_1DF413:: @ 81DF413
- msgbox MauvilleCity_Text_1E0699, MSGBOX_DEFAULT
+MauvilleCity_EventScript_TVExplained:: @ 81DF413
+ msgbox MauvilleCity_Text_BeenCheckingOutTV, MSGBOX_DEFAULT
release
end
-MauvilleCity_EventScript_1DF41D:: @ 81DF41D
+MauvilleCity_EventScript_WallysUncle:: @ 81DF41D
lock
faceplayer
- goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_1DF43D
- msgbox MauvilleCity_Text_1DF7DC, MSGBOX_DEFAULT
+ goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_UncleAskPlayerToBattleWally
+ msgbox MauvilleCity_Text_UncleHesTooPeppy, MSGBOX_DEFAULT
closemessage
applymovement 7, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MauvilleCity_EventScript_1DF43D:: @ 81DF43D
- msgbox MauvilleCity_Text_1DFAA5, MSGBOX_DEFAULT
+MauvilleCity_EventScript_UncleAskPlayerToBattleWally:: @ 81DF43D
+ msgbox MauvilleCity_Text_UncleCanYouBattleWally, MSGBOX_DEFAULT
closemessage
applymovement 7, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MauvilleCity_EventScript_1DF452:: @ 81DF452
+MauvilleCity_EventScript_Wally:: @ 81DF452
lockall
- goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_1DF690
- applymovement 6, Common_Movement_WalkInPlaceRight
+ goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_WallyRequestBattleAgain
+ applymovement 6, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox MauvilleCity_Text_1DF845, MSGBOX_DEFAULT
- msgbox MauvilleCity_Text_1DF8B9, MSGBOX_DEFAULT
- msgbox MauvilleCity_Text_1DF963, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_WallyWantToChallengeGym, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_UncleYourePushingIt, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_WallyWeCanBeatAnyone, MSGBOX_DEFAULT
applymovement 6, Common_Movement_FacePlayer
waitmovement 0
playse SE_PIN
@@ -98,61 +98,61 @@ MauvilleCity_EventScript_1DF452:: @ 81DF452
waitmovement 0
applymovement 6, Common_Movement_Delay48
waitmovement 0
- msgbox MauvilleCity_Text_1DF9B2, MSGBOX_YESNO
- goto MauvilleCity_EventScript_1DF4AD
+ msgbox MauvilleCity_Text_WallyWillYouBattleMe, MSGBOX_YESNO
+ goto MauvilleCity_EventScript_BattleWallyPrompt
end
-MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD
- compare VAR_RESULT, 1
- call_if_eq MauvilleCity_EventScript_1DF63A
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_EventScript_1DF683
+MauvilleCity_EventScript_BattleWallyPrompt:: @ 81DF4AD
+ compare VAR_RESULT, YES
+ call_if_eq MauvilleCity_EventScript_BattleWally
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_EventScript_DeclineWallyBattle
closemessage
switch VAR_FACING
- case 2, MauvilleCity_EventScript_1DF4E0
- case 4, MauvilleCity_EventScript_1DF53D
+ case DIR_NORTH, MauvilleCity_EventScript_WallyAndUncleExitNorth
+ case DIR_EAST, MauvilleCity_EventScript_WallyAndUncleExitEast
end
-MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0
- applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DF
- applymovement 6, MauvilleCity_Movement_1DF6A8
- applymovement 7, MauvilleCity_Movement_1DF6E2
+MauvilleCity_EventScript_WallyAndUncleExitNorth:: @ 81DF4E0
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth1
+ applymovement 6, MauvilleCity_Movement_WallyExitNorth1
+ applymovement 7, MauvilleCity_Movement_WallysUncleExitNorth1
waitmovement 0
- applymovement 6, Common_Movement_WalkInPlaceRight
+ applymovement 6, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 30
- applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6EE
- applymovement 7, MauvilleCity_Movement_1DF6F3
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerFaceUncleNorth
+ applymovement 7, MauvilleCity_Movement_WallysUncleApproachPlayerNorth
waitmovement 0
- msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_UncleVisitUsSometime, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6CC
- applymovement 7, MauvilleCity_Movement_1DF6FA
- applymovement 6, MauvilleCity_Movement_1DF6B4
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth2
+ applymovement 7, MauvilleCity_Movement_WallysUncleExitNorth2
+ applymovement 6, MauvilleCity_Movement_WallyExitNorth2
waitmovement 0
- goto MauvilleCity_EventScript_1DF593
+ goto MauvilleCity_EventScript_DefeatedWally
end
-MauvilleCity_EventScript_1DF53D:: @ 81DF53D
- applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DC
- applymovement 6, MauvilleCity_Movement_1DF6AE
- applymovement 7, MauvilleCity_Movement_1DF6E8
+MauvilleCity_EventScript_WallyAndUncleExitEast:: @ 81DF53D
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast1
+ applymovement 6, MauvilleCity_Movement_WallyExitEast1
+ applymovement 7, MauvilleCity_Movement_WallysUncleExitEast1
waitmovement 0
- applymovement 6, Common_Movement_WalkInPlaceRight
+ applymovement 6, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 30
- applymovement 7, MauvilleCity_Movement_1DF6F7
+ applymovement 7, MauvilleCity_Movement_WallysUncleApproachPlayerEast
waitmovement 0
- msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_UncleVisitUsSometime, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D0
- applymovement 7, MauvilleCity_Movement_1DF703
- applymovement 6, MauvilleCity_Movement_1DF6C0
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast2
+ applymovement 7, MauvilleCity_Movement_WallysUncleExitEast2
+ applymovement 6, MauvilleCity_Movement_WallyExitEast2
waitmovement 0
- goto MauvilleCity_EventScript_1DF593
+ goto MauvilleCity_EventScript_DefeatedWally
end
-MauvilleCity_EventScript_1DF593:: @ 81DF593
+MauvilleCity_EventScript_DefeatedWally:: @ 81DF593
removeobject 6
removeobject 7
clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
@@ -160,76 +160,76 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593
setflag FLAG_DEFEATED_WALLY_MAUVILLE
setvar VAR_WALLY_CALL_STEP_COUNTER, 0
setflag FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL
- compare VAR_FACING, 2
- call_if_eq MauvilleCity_EventScript_1DF5F3
- compare VAR_FACING, 4
- call_if_eq MauvilleCity_EventScript_1DF601
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq MauvilleCity_EventScript_ScottApproachPlayerNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq MauvilleCity_EventScript_ScottApproachPlayerEast
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox MauvilleCity_Text_1DFED5, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_ScottYouDidntHoldBack, MSGBOX_DEFAULT
closemessage
addvar VAR_SCOTT_STATE, 1
- compare VAR_FACING, 2
- call_if_eq MauvilleCity_EventScript_1DF616
- compare VAR_FACING, 4
- call_if_eq MauvilleCity_EventScript_1DF628
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq MauvilleCity_EventScript_ScottExitNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq MauvilleCity_EventScript_ScottExitEast
removeobject 11
releaseall
end
-MauvilleCity_EventScript_1DF5F3:: @ 81DF5F3
+MauvilleCity_EventScript_ScottApproachPlayerNorth:: @ 81DF5F3
addobject 11
- applymovement 11, MauvilleCity_Movement_1DF70D
+ applymovement 11, MauvilleCity_Movement_ScottApproachPlayerNorth
waitmovement 0
return
-MauvilleCity_EventScript_1DF601:: @ 81DF601
+MauvilleCity_EventScript_ScottApproachPlayerEast:: @ 81DF601
setobjectxyperm 11, 12, 13
addobject 11
- applymovement 11, MauvilleCity_Movement_1DF719
+ applymovement 11, MauvilleCity_Movement_ScottApproachPlayerEast
waitmovement 0
return
-MauvilleCity_EventScript_1DF616:: @ 81DF616
- applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D5
- applymovement 11, MauvilleCity_Movement_1DF725
+MauvilleCity_EventScript_ScottExitNorth:: @ 81DF616
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitNorth
+ applymovement 11, MauvilleCity_Movement_ScottExitNorth
waitmovement 0
return
-MauvilleCity_EventScript_1DF628:: @ 81DF628
- applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D8
- applymovement 11, MauvilleCity_Movement_1DF72F
+MauvilleCity_EventScript_ScottExitEast:: @ 81DF628
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitEast
+ applymovement 11, MauvilleCity_Movement_ScottExitEast
waitmovement 0
return
-MauvilleCity_EventScript_1DF63A:: @ 81DF63A
- msgbox MauvilleCity_Text_1DFB6D, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_WALLY_2, MauvilleCity_Text_1DFB96
- applymovement 6, Common_Movement_WalkInPlaceRight
+MauvilleCity_EventScript_BattleWally:: @ 81DF63A
+ msgbox MauvilleCity_Text_WallyHereICome, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_WALLY_MAUVILLE, MauvilleCity_Text_WallyDefeat
+ applymovement 6, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox MauvilleCity_Text_1DFBC3, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_WallyIllGoBackToVerdanturf, MSGBOX_DEFAULT
applymovement 6, Common_Movement_FacePlayer
waitmovement 0
- msgbox MauvilleCity_Text_1DFBED, MSGBOX_DEFAULT
- applymovement 6, Common_Movement_WalkInPlaceRight
+ msgbox MauvilleCity_Text_ThankYouNotEnoughToBattle, MSGBOX_DEFAULT
+ applymovement 6, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox MauvilleCity_Text_1DFC8A, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_UncleNoNeedToBeDown, MSGBOX_DEFAULT
return
-MauvilleCity_EventScript_1DF683:: @ 81DF683
+MauvilleCity_EventScript_DeclineWallyBattle:: @ 81DF683
setflag FLAG_DECLINED_WALLY_BATTLE_MAUVILLE
- msgbox MauvilleCity_Text_1DFA4A, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_WallyMyUncleWontKnowImStrong, MSGBOX_DEFAULT
release
end
-MauvilleCity_EventScript_1DF690:: @ 81DF690
+MauvilleCity_EventScript_WallyRequestBattleAgain:: @ 81DF690
applymovement 6, Common_Movement_FacePlayer
waitmovement 0
- msgbox MauvilleCity_Text_1DFB42, MSGBOX_YESNO
- goto MauvilleCity_EventScript_1DF4AD
+ msgbox MauvilleCity_Text_WallyPleaseBattleMe, MSGBOX_YESNO
+ goto MauvilleCity_EventScript_BattleWallyPrompt
end
-MauvilleCity_Movement_1DF6A8: @ 81DF6A8
+MauvilleCity_Movement_WallyExitNorth1: @ 81DF6A8
walk_left
walk_left
walk_down
@@ -237,7 +237,7 @@ MauvilleCity_Movement_1DF6A8: @ 81DF6A8
walk_left
step_end
-MauvilleCity_Movement_1DF6AE: @ 81DF6AE
+MauvilleCity_Movement_WallyExitEast1: @ 81DF6AE
walk_down
walk_down
walk_left
@@ -245,7 +245,7 @@ MauvilleCity_Movement_1DF6AE: @ 81DF6AE
walk_left
step_end
-MauvilleCity_Movement_1DF6B4: @ 81DF6B4
+MauvilleCity_Movement_WallyExitNorth2: @ 81DF6B4
delay_16
delay_16
walk_left
@@ -259,7 +259,7 @@ MauvilleCity_Movement_1DF6B4: @ 81DF6B4
delay_8
step_end
-MauvilleCity_Movement_1DF6C0: @ 81DF6C0
+MauvilleCity_Movement_WallyExitEast2: @ 81DF6C0
delay_16
delay_16
walk_left
@@ -273,41 +273,41 @@ MauvilleCity_Movement_1DF6C0: @ 81DF6C0
delay_8
step_end
-MauvilleCity_Movement_1DF6CC: @ 81DF6CC
+MauvilleCity_Movement_PlayerWatchWallyExitNorth2: @ 81DF6CC
delay_16
delay_8
walk_in_place_fastest_left
step_end
-MauvilleCity_Movement_1DF6D0: @ 81DF6D0
+MauvilleCity_Movement_PlayerWatchWallyExitEast2: @ 81DF6D0
delay_16
delay_16
delay_16
walk_in_place_fastest_left
step_end
-MauvilleCity_Movement_1DF6D5: @ 81DF6D5
+MauvilleCity_Movement_PlayerWatchScottExitNorth: @ 81DF6D5
delay_16
walk_in_place_fastest_left
step_end
-MauvilleCity_Movement_1DF6D8: @ 81DF6D8
+MauvilleCity_Movement_PlayerWatchScottExitEast: @ 81DF6D8
delay_16
delay_16
walk_in_place_fastest_left
step_end
-MauvilleCity_Movement_1DF6DC: @ 81DF6DC
+MauvilleCity_Movement_PlayerWatchWallyExitEast1: @ 81DF6DC
delay_16
walk_in_place_fastest_down
step_end
-MauvilleCity_Movement_1DF6DF: @ 81DF6DF
+MauvilleCity_Movement_PlayerWatchWallyExitNorth1: @ 81DF6DF
delay_16
walk_in_place_fastest_left
step_end
-MauvilleCity_Movement_1DF6E2: @ 81DF6E2
+MauvilleCity_Movement_WallysUncleExitNorth1: @ 81DF6E2
walk_left
walk_left
walk_left
@@ -315,7 +315,7 @@ MauvilleCity_Movement_1DF6E2: @ 81DF6E2
walk_down
step_end
-MauvilleCity_Movement_1DF6E8: @ 81DF6E8
+MauvilleCity_Movement_WallysUncleExitEast1: @ 81DF6E8
walk_left
walk_down
walk_down
@@ -323,25 +323,25 @@ MauvilleCity_Movement_1DF6E8: @ 81DF6E8
walk_left
step_end
-MauvilleCity_Movement_1DF6EE: @ 81DF6EE
+MauvilleCity_Movement_PlayerFaceUncleNorth: @ 81DF6EE
delay_16
delay_8
delay_4
walk_in_place_fastest_down
step_end
-MauvilleCity_Movement_1DF6F3: @ 81DF6F3
+MauvilleCity_Movement_WallysUncleApproachPlayerNorth: @ 81DF6F3
walk_right
walk_right
walk_in_place_fastest_up
step_end
-MauvilleCity_Movement_1DF6F7: @ 81DF6F7
+MauvilleCity_Movement_WallysUncleApproachPlayerEast: @ 81DF6F7
walk_right
walk_up
step_end
-MauvilleCity_Movement_1DF6FA: @ 81DF6FA
+MauvilleCity_Movement_WallysUncleExitNorth2: @ 81DF6FA
walk_left
walk_left
walk_left
@@ -352,7 +352,7 @@ MauvilleCity_Movement_1DF6FA: @ 81DF6FA
walk_left
step_end
-MauvilleCity_Movement_1DF703: @ 81DF703
+MauvilleCity_Movement_WallysUncleExitEast2: @ 81DF703
walk_down
walk_left
walk_left
@@ -364,7 +364,7 @@ MauvilleCity_Movement_1DF703: @ 81DF703
walk_left
step_end
-MauvilleCity_Movement_1DF70D: @ 81DF70D
+MauvilleCity_Movement_ScottApproachPlayerNorth: @ 81DF70D
walk_up
walk_up
walk_up
@@ -378,7 +378,7 @@ MauvilleCity_Movement_1DF70D: @ 81DF70D
walk_in_place_fastest_up
step_end
-MauvilleCity_Movement_1DF719: @ 81DF719
+MauvilleCity_Movement_ScottApproachPlayerEast: @ 81DF719
walk_up
walk_up
walk_up
@@ -392,7 +392,7 @@ MauvilleCity_Movement_1DF719: @ 81DF719
walk_up
step_end
-MauvilleCity_Movement_1DF725: @ 81DF725
+MauvilleCity_Movement_ScottExitNorth: @ 81DF725
walk_left
walk_left
walk_left
@@ -404,7 +404,7 @@ MauvilleCity_Movement_1DF725: @ 81DF725
walk_left
step_end
-MauvilleCity_Movement_1DF72F: @ 81DF72F
+MauvilleCity_Movement_ScottExitEast: @ 81DF72F
walk_down
walk_left
walk_left
@@ -417,47 +417,47 @@ MauvilleCity_Movement_1DF72F: @ 81DF72F
walk_left
step_end
-MauvilleCity_EventScript_1DF73A:: @ 81DF73A
+MauvilleCity_EventScript_Wattson:: @ 81DF73A
lock
faceplayer
- goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF7B0
+ goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_ReceivedThunderbolt
compare VAR_NEW_MAUVILLE_STATE, 2
- goto_if_eq MauvilleCity_EventScript_1DF784
- goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_1DF77A
- msgbox MauvilleCity_Text_1DFFE4, MSGBOX_DEFAULT
- giveitem_std ITEM_BASEMENT_KEY
+ goto_if_eq MauvilleCity_EventScript_CompletedNewMauville
+ goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_BegunNewMauville
+ msgbox MauvilleCity_Text_WattsonNeedFavorTakeKey, MSGBOX_DEFAULT
+ giveitem ITEM_BASEMENT_KEY
setflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON
- msgbox MauvilleCity_Text_1E0154, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_WattsonWontBeChallenge, MSGBOX_DEFAULT
release
end
-MauvilleCity_EventScript_1DF77A:: @ 81DF77A
- msgbox MauvilleCity_Text_1E0154, MSGBOX_DEFAULT
+MauvilleCity_EventScript_BegunNewMauville:: @ 81DF77A
+ msgbox MauvilleCity_Text_WattsonWontBeChallenge, MSGBOX_DEFAULT
release
end
-MauvilleCity_EventScript_1DF784:: @ 81DF784
- msgbox MauvilleCity_Text_1E020E, MSGBOX_DEFAULT
- giveitem_std ITEM_TM24
- compare VAR_RESULT, 0
+MauvilleCity_EventScript_CompletedNewMauville:: @ 81DF784
+ msgbox MauvilleCity_Text_WattsonThanksTakeTM, MSGBOX_DEFAULT
+ giveitem ITEM_TM24
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_GOT_TM24_FROM_WATTSON
- msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_WattsonYoungTakeCharge, MSGBOX_DEFAULT
release
end
-MauvilleCity_EventScript_1DF7B0:: @ 81DF7B0
- msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT
+MauvilleCity_EventScript_ReceivedThunderbolt:: @ 81DF7B0
+ msgbox MauvilleCity_Text_WattsonYoungTakeCharge, MSGBOX_DEFAULT
release
end
-MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA
+MauvilleCity_EventScript_RegisterWallyCall:: @ 81DF7BA
lockall
- pokenavcall MauvilleCity_Text_1DFDFB
+ pokenavcall MauvilleCity_Text_WallyPokenavCall
waitmessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox MauvilleCity_Text_1DFEB4, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_RegisteredWally, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -466,30 +466,30 @@ MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA
releaseall
end
-MauvilleCity_Text_1DF7DC: @ 81DF7DC
+MauvilleCity_Text_UncleHesTooPeppy: @ 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
+MauvilleCity_Text_WallyWantToChallengeGym: @ 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
+MauvilleCity_Text_UncleYourePushingIt: @ 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
+MauvilleCity_Text_WallyWeCanBeatAnyone: @ 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
+MauvilleCity_Text_WallyWillYouBattleMe: @ 81DF9B2
.string "WALLY: Oh! Hi, {PLAYER}!\p"
.string "I've gotten a lot stronger since\n"
.string "we met.\p"
@@ -498,43 +498,43 @@ MauvilleCity_Text_1DF9B2: @ 81DF9B2
.string "{PLAYER}, please, will you have\n"
.string "a battle with me?$"
-MauvilleCity_Text_1DFA4A: @ 81DFA4A
+MauvilleCity_Text_WallyMyUncleWontKnowImStrong: @ 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
+MauvilleCity_Text_UncleCanYouBattleWally: @ 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
+MauvilleCity_Text_WallyPleaseBattleMe: @ 81DFB42
.string "WALLY: {PLAYER}, please!\n"
.string "Battle with me, please.$"
-MauvilleCity_Text_1DFB6D: @ 81DFB6D
+MauvilleCity_Text_WallyHereICome: @ 81DFB6D
.string "WALLY: {PLAYER}, thank you.\p"
.string "Okay… Here I come!$"
-MauvilleCity_Text_1DFB96: @ 81DFB96
+MauvilleCity_Text_WallyDefeat: @ 81DFB96
.string "WALLY: … … … … … … …\p"
.string "… … … … … … … …\p"
.string "I lost…$"
-MauvilleCity_Text_1DFBC3: @ 81DFBC3
+MauvilleCity_Text_WallyIllGoBackToVerdanturf: @ 81DFBC3
.string "WALLY: UNCLE…\n"
.string "I'll go back to VERDANTURF…$"
-MauvilleCity_Text_1DFBED: @ 81DFBED
+MauvilleCity_Text_ThankYouNotEnoughToBattle: @ 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
+MauvilleCity_Text_UncleNoNeedToBeDown: @ 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"
@@ -542,7 +542,7 @@ MauvilleCity_Text_1DFC8A: @ 81DFC8A
.string "Come on, let's go home.\n"
.string "Everyone's waiting for you.$"
-MauvilleCity_Text_1DFD34: @ 81DFD34
+MauvilleCity_Text_UncleVisitUsSometime: @ 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"
@@ -552,7 +552,7 @@ MauvilleCity_Text_1DFD34: @ 81DFD34
.string "I'm sure WALLY would enjoy it.$"
-MauvilleCity_Text_1DFDFB: @ 81DFDFB
+MauvilleCity_Text_WallyPokenavCall: @ 81DFDFB
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "WALLY: Oh, hello, {PLAYER}!\p"
@@ -563,11 +563,11 @@ MauvilleCity_Text_1DFDFB: @ 81DFDFB
.string "… … … … … …\n"
.string "… … … … … Click!$"
-MauvilleCity_Text_1DFEB4: @ 81DFEB4
+MauvilleCity_Text_RegisteredWally: @ 81DFEB4
.string "Registered WALLY\n"
.string "in the POKéNAV.$"
-MauvilleCity_Text_1DFED5: @ 81DFED5
+MauvilleCity_Text_ScottYouDidntHoldBack: @ 81DFED5
.string "SCOTT: Hehe…\n"
.string "I was watching that match!\p"
.string "You're friends with that boy WALLY,\n"
@@ -580,7 +580,7 @@ MauvilleCity_Text_1DFED5: @ 81DFED5
.string "… … … … … …\n"
.string "I'll be cheering for you!$"
-MauvilleCity_Text_1DFFE4: @ 81DFFE4
+MauvilleCity_Text_WattsonNeedFavorTakeKey: @ 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"
@@ -595,7 +595,7 @@ MauvilleCity_Text_1DFFE4: @ 81DFFE4
.string "Here, this is the KEY to get into\n"
.string "NEW MAUVILLE.$"
-MauvilleCity_Text_1E0154: @ 81E0154
+MauvilleCity_Text_WattsonWontBeChallenge: @ 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"
@@ -603,7 +603,7 @@ MauvilleCity_Text_1E0154: @ 81E0154
.string "That's it, then, you have my trust!\n"
.string "Wahahahaha!$"
-MauvilleCity_Text_1E020E: @ 81E020E
+MauvilleCity_Text_WattsonThanksTakeTM: @ 81E020E
.string "WATTSON: Wahahahaha!\p"
.string "I knew it, {PLAYER}{KUN}! I knew I'd made\n"
.string "the right choice asking you!\p"
@@ -611,51 +611,51 @@ MauvilleCity_Text_1E020E: @ 81E020E
.string "THUNDERBOLT!\p"
.string "Go on, you've earned it!$"
-MauvilleCity_Text_1E02AA: @ 81E02AA
+MauvilleCity_Text_WattsonYoungTakeCharge: @ 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
+MauvilleCity_Text_NurseHurtMonBackToHealth: @ 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
+MauvilleCity_Text_AllSortsOfPeopleComeThrough: @ 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
+MauvilleCity_Text_RydelVeryGenerous: @ 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
+MauvilleCity_Text_PokemonCanJumpYouOnBike: @ 81E044A
.string "Even if you're riding a BIKE,\n"
.string "wild POKéMON could jump you.$"
-MauvilleCity_Text_1E0485: @ 81E0485
+MauvilleCity_Text_CitySign: @ 81E0485
.string "MAUVILLE CITY\n"
.string "“The bright and shiny city of fun!”$"
-MauvilleCity_Text_1E04B7: @ 81E04B7
+MauvilleCity_Text_GymSign: @ 81E04B7
.string "MAUVILLE CITY POKéMON GYM\n"
.string "LEADER: WATTSON\l"
.string "“The cheerfully electrifying man!”$"
-MauvilleCity_Text_1E0504: @ 81E0504
+MauvilleCity_Text_BikeShopSign: @ 81E0504
.string "“Ride in gravel and shake up your\n"
.string "soul!”\l"
.string "RYDEL'S CYCLES$"
-MauvilleCity_Text_1E053C: @ 81E053C
+MauvilleCity_Text_GameCornerSign: @ 81E053C
.string "“The play spot for all!”\n"
.string "MAUVILLE GAME CORNER$"
-MauvilleCity_Text_1E056A: @ 81E056A
+MauvilleCity_Text_ExplainTV: @ 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"
@@ -667,5 +667,5 @@ MauvilleCity_Text_1E056A: @ 81E056A
.string "That's why I think you should check\n"
.string "out TVs whenever you can.$"
-MauvilleCity_Text_1E0699: @ 81E0699
+MauvilleCity_Text_BeenCheckingOutTV: @ 81E0699
.string "Hi, have you been checking out TVs?$"
diff --git a/data/maps/MauvilleCity_BikeShop/map.json b/data/maps/MauvilleCity_BikeShop/map.json
index 98c1fcee1..488ab5a4e 100644
--- a/data/maps/MauvilleCity_BikeShop/map.json
+++ b/data/maps/MauvilleCity_BikeShop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_BikeShop_EventScript_20EBBC",
+ "script": "MauvilleCity_BikeShop_EventScript_Rydel",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_BikeShop_EventScript_20ED31",
+ "script": "MauvilleCity_BikeShop_EventScript_Assistant",
"flag": "0"
}
],
@@ -65,7 +65,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_BikeShop_EventScript_20ED3A"
+ "script": "MauvilleCity_BikeShop_EventScript_MachBikeHandbook"
},
{
"type": "sign",
@@ -73,7 +73,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_BikeShop_EventScript_20EDAE"
+ "script": "MauvilleCity_BikeShop_EventScript_AcroBikeHandbook"
}
]
} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_BikeShop/scripts.inc b/data/maps/MauvilleCity_BikeShop/scripts.inc
index fe6832423..ffde9583b 100644
--- a/data/maps/MauvilleCity_BikeShop/scripts.inc
+++ b/data/maps/MauvilleCity_BikeShop/scripts.inc
@@ -1,203 +1,204 @@
MauvilleCity_BikeShop_MapScripts:: @ 820EBBB
.byte 0
-MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC
+MauvilleCity_BikeShop_EventScript_Rydel:: @ 820EBBC
lock
faceplayer
- goto_if_set FLAG_RECEIVED_BIKE, MauvilleCity_BikeShop_EventScript_20EC94
- goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_20EBF7
- msgbox MauvilleCity_BikeShop_Text_20EE22, MSGBOX_DEFAULT
- msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D
+ goto_if_set FLAG_RECEIVED_BIKE, MauvilleCity_BikeShop_EventScript_AskSwitchBikes
+ goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_SkipGreeting
+ msgbox MauvilleCity_BikeShop_Text_RydelGreeting, MSGBOX_DEFAULT
+ msgbox MauvilleCity_BikeShop_Text_DidYouComeFromFarAway, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MauvilleCity_BikeShop_EventScript_YesFar
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_BikeShop_EventScript_NotFar
end
-MauvilleCity_BikeShop_EventScript_20EBF7:: @ 820EBF7
- msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D
+MauvilleCity_BikeShop_EventScript_SkipGreeting:: @ 820EBF7
+ msgbox MauvilleCity_BikeShop_Text_DidYouComeFromFarAway, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MauvilleCity_BikeShop_EventScript_YesFar
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_BikeShop_EventScript_NotFar
end
-MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16
- message MauvilleCity_BikeShop_Text_20EF32
+MauvilleCity_BikeShop_EventScript_ChooseBike:: @ 820EC16
+ message MauvilleCity_BikeShop_Text_ExplainBikesChooseWhichOne
waitmessage
- multichoice 21, 8, 12, 1
+ multichoice 21, 8, MULTI_BIKE, 1
switch VAR_RESULT
- case 0, MauvilleCity_BikeShop_EventScript_20EC53
- case 1, MauvilleCity_BikeShop_EventScript_20EC6D
+ case 0, MauvilleCity_BikeShop_EventScript_GetMachBike
+ case 1, MauvilleCity_BikeShop_EventScript_GetAcroBike
end
-MauvilleCity_BikeShop_EventScript_20EC3D:: @ 820EC3D
+MauvilleCity_BikeShop_EventScript_NotFar:: @ 820EC3D
setflag FLAG_DECLINED_BIKE
- msgbox MauvilleCity_BikeShop_Text_20EEE8, MSGBOX_DEFAULT
+ msgbox MauvilleCity_BikeShop_Text_GuessYouDontNeedBike, MSGBOX_DEFAULT
release
end
-MauvilleCity_BikeShop_EventScript_20EC4A:: @ 820EC4A
+MauvilleCity_BikeShop_EventScript_YesFar:: @ 820EC4A
setflag FLAG_RECEIVED_BIKE
- goto MauvilleCity_BikeShop_EventScript_20EC16
+ goto MauvilleCity_BikeShop_EventScript_ChooseBike
end
-MauvilleCity_BikeShop_EventScript_20EC53:: @ 820EC53
- msgbox MauvilleCity_BikeShop_Text_20F18D, MSGBOX_DEFAULT
- giveitem_std ITEM_MACH_BIKE
- goto MauvilleCity_BikeShop_EventScript_20EC87
+MauvilleCity_BikeShop_EventScript_GetMachBike:: @ 820EC53
+ msgbox MauvilleCity_BikeShop_Text_ChoseMachBike, MSGBOX_DEFAULT
+ giveitem ITEM_MACH_BIKE
+ goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes
end
-MauvilleCity_BikeShop_EventScript_20EC6D:: @ 820EC6D
- msgbox MauvilleCity_BikeShop_Text_20F1A5, MSGBOX_DEFAULT
- giveitem_std ITEM_ACRO_BIKE
- goto MauvilleCity_BikeShop_EventScript_20EC87
+MauvilleCity_BikeShop_EventScript_GetAcroBike:: @ 820EC6D
+ msgbox MauvilleCity_BikeShop_Text_ChoseAcroBike, MSGBOX_DEFAULT
+ giveitem ITEM_ACRO_BIKE
+ goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes
end
-MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87
- msgbox MauvilleCity_BikeShop_Text_20F1BD, MSGBOX_DEFAULT
+MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes:: @ 820EC87
+ msgbox MauvilleCity_BikeShop_Text_ComeBackToSwitchBikes, MSGBOX_DEFAULT
special SwapRegisteredBike
release
end
-MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94
- msgbox MauvilleCity_BikeShop_Text_20F1FB, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_BikeShop_EventScript_20ECB3
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_BikeShop_EventScript_20ECE5
+MauvilleCity_BikeShop_EventScript_AskSwitchBikes:: @ 820EC94
+ msgbox MauvilleCity_BikeShop_Text_WantToSwitchBikes, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchBikes
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_BikeShop_EventScript_KeepBike
end
-MauvilleCity_BikeShop_EventScript_20ECB3:: @ 820ECB3
- msgbox MauvilleCity_BikeShop_Text_20F22F, MSGBOX_DEFAULT
+@ If the player does not have a bike on them Rydel assumes its stored in the PC
+MauvilleCity_BikeShop_EventScript_SwitchBikes:: @ 820ECB3
+ msgbox MauvilleCity_BikeShop_Text_IllSwitchBikes, MSGBOX_DEFAULT
checkitem ITEM_ACRO_BIKE, 1
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_BikeShop_EventScript_20ECEF
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchAcroForMach
checkitem ITEM_MACH_BIKE, 1
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_BikeShop_EventScript_20ED10
- msgbox MauvilleCity_BikeShop_Text_20F2F3, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchMachForAcro
+ msgbox MauvilleCity_BikeShop_Text_OhYourBikeIsInPC, MSGBOX_DEFAULT
release
end
-MauvilleCity_BikeShop_EventScript_20ECE5:: @ 820ECE5
- msgbox MauvilleCity_BikeShop_Text_20F2C4, MSGBOX_DEFAULT
+MauvilleCity_BikeShop_EventScript_KeepBike:: @ 820ECE5
+ msgbox MauvilleCity_BikeShop_Text_HappyYouLikeIt, MSGBOX_DEFAULT
release
end
-MauvilleCity_BikeShop_EventScript_20ECEF:: @ 820ECEF
- incrementgamestat 4
- msgbox MauvilleCity_BikeShop_Text_20F294, MSGBOX_DEFAULT
- takeitem ITEM_ACRO_BIKE, 1
- giveitem_std ITEM_MACH_BIKE
- goto MauvilleCity_BikeShop_EventScript_20EC87
+MauvilleCity_BikeShop_EventScript_SwitchAcroForMach:: @ 820ECEF
+ incrementgamestat GAME_STAT_TRADED_BIKES
+ msgbox MauvilleCity_BikeShop_Text_ExchangedAcroForMach, MSGBOX_DEFAULT
+ removeitem ITEM_ACRO_BIKE
+ giveitem ITEM_MACH_BIKE
+ goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes
end
-MauvilleCity_BikeShop_EventScript_20ED10:: @ 820ED10
- incrementgamestat 4
- msgbox MauvilleCity_BikeShop_Text_20F263, MSGBOX_DEFAULT
- takeitem ITEM_MACH_BIKE, 1
- giveitem_std ITEM_ACRO_BIKE
- goto MauvilleCity_BikeShop_EventScript_20EC87
+MauvilleCity_BikeShop_EventScript_SwitchMachForAcro:: @ 820ED10
+ incrementgamestat GAME_STAT_TRADED_BIKES
+ msgbox MauvilleCity_BikeShop_Text_ExchangedMachForAcro, MSGBOX_DEFAULT
+ removeitem ITEM_MACH_BIKE
+ giveitem ITEM_ACRO_BIKE
+ goto MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes
end
-MauvilleCity_BikeShop_EventScript_20ED31:: @ 820ED31
- msgbox MauvilleCity_BikeShop_Text_20F3C3, MSGBOX_NPC
+MauvilleCity_BikeShop_EventScript_Assistant:: @ 820ED31
+ msgbox MauvilleCity_BikeShop_Text_HandbooksAreInBack, MSGBOX_NPC
end
-MauvilleCity_BikeShop_EventScript_20ED3A:: @ 820ED3A
- message MauvilleCity_BikeShop_Text_20F445
+MauvilleCity_BikeShop_EventScript_MachBikeHandbook:: @ 820ED3A
+ message MauvilleCity_BikeShop_Text_MachHandbookWhichPage
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20ED46
+ goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20ED46:: @ 820ED46
- multichoice 0, 0, 43, 0
+MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage:: @ 820ED46
+ multichoice 0, 0, MULTI_MACH_BIKE_INFO, 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
+ case 0, MauvilleCity_BikeShop_EventScript_HowToRide
+ case 1, MauvilleCity_BikeShop_EventScript_HowToTurn
+ case 2, MauvilleCity_BikeShop_EventScript_SandySlopes
+ case 3, MauvilleCity_BikeShop_EventScript_ExitMachHandbook
+ case MULTI_B_PRESSED, MauvilleCity_BikeShop_EventScript_ExitMachHandbook
end
-MauvilleCity_BikeShop_EventScript_20ED88:: @ 820ED88
- message MauvilleCity_BikeShop_Text_20F487
+MauvilleCity_BikeShop_EventScript_HowToRide:: @ 820ED88
+ message MauvilleCity_BikeShop_Text_HowToRideMachBike
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20ED46
+ goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20ED94:: @ 820ED94
- message MauvilleCity_BikeShop_Text_20F550
+MauvilleCity_BikeShop_EventScript_HowToTurn:: @ 820ED94
+ message MauvilleCity_BikeShop_Text_HowToTurnMachBike
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20ED46
+ goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20EDA0:: @ 820EDA0
- message MauvilleCity_BikeShop_Text_20F61A
+MauvilleCity_BikeShop_EventScript_SandySlopes:: @ 820EDA0
+ message MauvilleCity_BikeShop_Text_SandySlopes
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20ED46
+ goto MauvilleCity_BikeShop_EventScript_ChooseMachHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20EDAC:: @ 820EDAC
+MauvilleCity_BikeShop_EventScript_ExitMachHandbook:: @ 820EDAC
release
end
-MauvilleCity_BikeShop_EventScript_20EDAE:: @ 820EDAE
- message MauvilleCity_BikeShop_Text_20F6ED
+MauvilleCity_BikeShop_EventScript_AcroBikeHandbook:: @ 820EDAE
+ message MauvilleCity_BikeShop_Text_AcroHandbookWhichPage
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20EDBA
+ goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20EDBA:: @ 820EDBA
- multichoice 0, 0, 44, 0
+MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage:: @ 820EDBA
+ multichoice 0, 0, MULTI_ACRO_BIKE_INFO, 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
+ case 0, MauvilleCity_BikeShop_EventScript_Wheelies
+ case 1, MauvilleCity_BikeShop_EventScript_BunnyHops
+ case 2, MauvilleCity_BikeShop_EventScript_Jumps
+ case 3, MauvilleCity_BikeShop_EventScript_ExitAcroHandbook
+ case MULTI_B_PRESSED, MauvilleCity_BikeShop_EventScript_ExitAcroHandbook
end
-MauvilleCity_BikeShop_EventScript_20EDFC:: @ 820EDFC
- message MauvilleCity_BikeShop_Text_20F72F
+MauvilleCity_BikeShop_EventScript_Wheelies:: @ 820EDFC
+ message MauvilleCity_BikeShop_Text_Wheelies
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20EDBA
+ goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20EE08:: @ 820EE08
- message MauvilleCity_BikeShop_Text_20F7F5
+MauvilleCity_BikeShop_EventScript_BunnyHops:: @ 820EE08
+ message MauvilleCity_BikeShop_Text_BunnyHops
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20EDBA
+ goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20EE14:: @ 820EE14
- message MauvilleCity_BikeShop_Text_20F898
+MauvilleCity_BikeShop_EventScript_Jumps:: @ 820EE14
+ message MauvilleCity_BikeShop_Text_Jumps
waitmessage
- goto MauvilleCity_BikeShop_EventScript_20EDBA
+ goto MauvilleCity_BikeShop_EventScript_ChooseAcroHandbookPage
end
-MauvilleCity_BikeShop_EventScript_20EE20:: @ 820EE20
+MauvilleCity_BikeShop_EventScript_ExitAcroHandbook:: @ 820EE20
release
end
-MauvilleCity_BikeShop_Text_20EE22: @ 820EE22
+MauvilleCity_BikeShop_Text_RydelGreeting: @ 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
+MauvilleCity_BikeShop_Text_DidYouComeFromFarAway: @ 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
+MauvilleCity_BikeShop_Text_GuessYouDontNeedBike: @ 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
+MauvilleCity_BikeShop_Text_ExplainBikesChooseWhichOne: @ 820EF32
.string "RYDEL: Hm, hm… … … … …\p"
.string "You're saying that you came all this\n"
.string "way from LITTLEROOT?\p"
@@ -221,37 +222,37 @@ MauvilleCity_BikeShop_Text_20EF32: @ 820EF32
.string "have whichever one you like!\p"
.string "Which one will you choose?$"
-MauvilleCity_BikeShop_Text_20F18D: @ 820F18D
+MauvilleCity_BikeShop_Text_ChoseMachBike: @ 820F18D
.string "{PLAYER} chose the MACH BIKE.$"
-MauvilleCity_BikeShop_Text_20F1A5: @ 820F1A5
+MauvilleCity_BikeShop_Text_ChoseAcroBike: @ 820F1A5
.string "{PLAYER} chose the ACRO BIKE.$"
-MauvilleCity_BikeShop_Text_20F1BD: @ 820F1BD
+MauvilleCity_BikeShop_Text_ComeBackToSwitchBikes: @ 820F1BD
.string "RYDEL: If you get the urge to switch\n"
.string "BIKES, just come see me!$"
-MauvilleCity_BikeShop_Text_20F1FB: @ 820F1FB
+MauvilleCity_BikeShop_Text_WantToSwitchBikes: @ 820F1FB
.string "RYDEL: Oh? Were you thinking about\n"
.string "switching BIKES?$"
-MauvilleCity_BikeShop_Text_20F22F: @ 820F22F
+MauvilleCity_BikeShop_Text_IllSwitchBikes: @ 820F22F
.string "RYDEL: Okay, no problem!\n"
.string "I'll switch BIKES for you!$"
-MauvilleCity_BikeShop_Text_20F263: @ 820F263
+MauvilleCity_BikeShop_Text_ExchangedMachForAcro: @ 820F263
.string "{PLAYER} got the MACH BIKE exchanged\n"
.string "for an ACRO BIKE.$"
-MauvilleCity_BikeShop_Text_20F294: @ 820F294
+MauvilleCity_BikeShop_Text_ExchangedAcroForMach: @ 820F294
.string "{PLAYER} got the ACRO BIKE exchanged\n"
.string "for a MACH BIKE.$"
-MauvilleCity_BikeShop_Text_20F2C4: @ 820F2C4
+MauvilleCity_BikeShop_Text_HappyYouLikeIt: @ 820F2C4
.string "RYDEL: Good, good!\n"
.string "I'm happy that you like it!$"
-MauvilleCity_BikeShop_Text_20F2F3: @ 820F2F3
+MauvilleCity_BikeShop_Text_OhYourBikeIsInPC: @ 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"
@@ -260,18 +261,18 @@ MauvilleCity_BikeShop_Text_20F2F3: @ 820F2F3
.string "May the wind always be at your back\n"
.string "on your adventure!$"
-MauvilleCity_BikeShop_Text_20F3C3: @ 820F3C3
+MauvilleCity_BikeShop_Text_HandbooksAreInBack: @ 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
+MauvilleCity_BikeShop_Text_MachHandbookWhichPage: @ 820F445
.string "It's a handbook on the MACH BIKE.\p"
.string "Which page do you want to read?$"
-MauvilleCity_BikeShop_Text_20F487: @ 820F487
+MauvilleCity_BikeShop_Text_HowToRideMachBike: @ 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"
@@ -279,7 +280,7 @@ MauvilleCity_BikeShop_Text_20F487: @ 820F487
.string "The BIKE will slow to a stop.\p"
.string "Want to read a different page?$"
-MauvilleCity_BikeShop_Text_20F550: @ 820F550
+MauvilleCity_BikeShop_Text_HowToTurnMachBike: @ 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"
@@ -288,7 +289,7 @@ MauvilleCity_BikeShop_Text_20F550: @ 820F550
.string "before the corner and slow down.\p"
.string "Want to read a different page?$"
-MauvilleCity_BikeShop_Text_20F61A: @ 820F61A
+MauvilleCity_BikeShop_Text_SandySlopes: @ 820F61A
.string "There are small sandy slopes\n"
.string "throughout the HOENN region.\p"
.string "The loose, crumbly sand makes it\n"
@@ -297,11 +298,11 @@ MauvilleCity_BikeShop_Text_20F61A: @ 820F61A
.string "zip up a sandy slope.\p"
.string "Want to read a different page?$"
-MauvilleCity_BikeShop_Text_20F6ED: @ 820F6ED
+MauvilleCity_BikeShop_Text_AcroHandbookWhichPage: @ 820F6ED
.string "It's a handbook on the ACRO BIKE.\p"
.string "Which page do you want to read?$"
-MauvilleCity_BikeShop_Text_20F72F: @ 820F72F
+MauvilleCity_BikeShop_Text_Wheelies: @ 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"
@@ -309,14 +310,14 @@ MauvilleCity_BikeShop_Text_20F72F: @ 820F72F
.string "This technique is called a wheelie.\p"
.string "Want to read a different page?$"
-MauvilleCity_BikeShop_Text_20F7F5: @ 820F7F5
+MauvilleCity_BikeShop_Text_BunnyHops: @ 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
+MauvilleCity_BikeShop_Text_Jumps: @ 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"
diff --git a/data/maps/MauvilleCity_GameCorner/map.json b/data/maps/MauvilleCity_GameCorner/map.json
index 07bfd3bb2..efebc685a 100644
--- a/data/maps/MauvilleCity_GameCorner/map.json
+++ b/data/maps/MauvilleCity_GameCorner/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_210125",
+ "script": "MauvilleCity_GameCorner_EventScript_Woman2",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_21012E",
+ "script": "MauvilleCity_GameCorner_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_20FBB9",
+ "script": "MauvilleCity_GameCorner_EventScript_CoinsClerk",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_20FCF1",
+ "script": "MauvilleCity_GameCorner_EventScript_PrizeCornerDolls",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_210137",
+ "script": "MauvilleCity_GameCorner_EventScript_Girl",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_21021D",
+ "script": "MauvilleCity_GameCorner_EventScript_PokefanM",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_210279",
+ "script": "MauvilleCity_GameCorner_EventScript_OldMan",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_210289",
+ "script": "MauvilleCity_GameCorner_EventScript_Cook",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_20FE9F",
+ "script": "MauvilleCity_GameCorner_EventScript_PrizeCornerTMs",
"flag": "0"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_210299",
+ "script": "MauvilleCity_GameCorner_EventScript_Man",
"flag": "0"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_2102B6",
+ "script": "MauvilleCity_GameCorner_EventScript_Maniac",
"flag": "0"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_GameCorner_EventScript_2102C6",
+ "script": "MauvilleCity_GameCorner_EventScript_Woman",
"flag": "0"
}
],
@@ -195,7 +195,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
- "script": "MauvilleCity_GameCorner_EventScript_2102D6"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine0"
},
{
"type": "sign",
@@ -203,7 +203,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
- "script": "MauvilleCity_GameCorner_EventScript_2102F6"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine1"
},
{
"type": "sign",
@@ -211,7 +211,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
- "script": "MauvilleCity_GameCorner_EventScript_210316"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine2"
},
{
"type": "sign",
@@ -219,7 +219,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
- "script": "MauvilleCity_GameCorner_EventScript_210336"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine3"
},
{
"type": "sign",
@@ -227,7 +227,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
- "script": "MauvilleCity_GameCorner_EventScript_210356"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine4"
},
{
"type": "sign",
@@ -235,7 +235,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
- "script": "MauvilleCity_GameCorner_EventScript_210376"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine5"
},
{
"type": "sign",
@@ -243,7 +243,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
- "script": "MauvilleCity_GameCorner_EventScript_210396"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine6"
},
{
"type": "sign",
@@ -251,7 +251,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
- "script": "MauvilleCity_GameCorner_EventScript_2103B6"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine7"
},
{
"type": "sign",
@@ -259,7 +259,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST",
- "script": "MauvilleCity_GameCorner_EventScript_2103D6"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine8"
},
{
"type": "sign",
@@ -267,7 +267,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
- "script": "MauvilleCity_GameCorner_EventScript_2103F6"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine9"
},
{
"type": "sign",
@@ -275,7 +275,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
- "script": "MauvilleCity_GameCorner_EventScript_210416"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine10"
},
{
"type": "sign",
@@ -283,7 +283,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST",
- "script": "MauvilleCity_GameCorner_EventScript_210436"
+ "script": "MauvilleCity_GameCorner_EventScript_SlotMachine11"
},
{
"type": "sign",
@@ -291,7 +291,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5AB1"
+ "script": "Roulette_EventScript_Table1"
},
{
"type": "sign",
@@ -299,7 +299,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5AB1"
+ "script": "Roulette_EventScript_Table1"
},
{
"type": "sign",
@@ -307,7 +307,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5AB1"
+ "script": "Roulette_EventScript_Table1"
},
{
"type": "sign",
@@ -315,7 +315,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5AB1"
+ "script": "Roulette_EventScript_Table1"
},
{
"type": "sign",
@@ -323,7 +323,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5AB1"
+ "script": "Roulette_EventScript_Table1"
},
{
"type": "sign",
@@ -331,7 +331,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5AB1"
+ "script": "Roulette_EventScript_Table1"
},
{
"type": "sign",
@@ -339,7 +339,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5ADF"
+ "script": "Roulette_EventScript_Table2"
},
{
"type": "sign",
@@ -347,7 +347,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5ADF"
+ "script": "Roulette_EventScript_Table2"
},
{
"type": "sign",
@@ -355,7 +355,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5ADF"
+ "script": "Roulette_EventScript_Table2"
},
{
"type": "sign",
@@ -363,7 +363,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5ADF"
+ "script": "Roulette_EventScript_Table2"
},
{
"type": "sign",
@@ -371,7 +371,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5ADF"
+ "script": "Roulette_EventScript_Table2"
},
{
"type": "sign",
@@ -379,7 +379,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MauvilleCity_GameCorner_EventScript_2A5ADF"
+ "script": "Roulette_EventScript_Table2"
}
]
} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc
index 0df7afe54..3401251cf 100644
--- a/data/maps/MauvilleCity_GameCorner/scripts.inc
+++ b/data/maps/MauvilleCity_GameCorner/scripts.inc
@@ -1,805 +1,809 @@
MauvilleCity_GameCorner_MapScripts:: @ 820FBB8
.byte 0
-MauvilleCity_GameCorner_EventScript_20FBB9:: @ 820FBB9
+ @ Game Corner prices
+ .set TM32_COINS, 1500
+ .set TM29_COINS, 3500
+ .set TM35_COINS, 4000
+ .set TM24_COINS, 4000
+ .set TM13_COINS, 4000
+ .set DOLL_COINS, 1000
+
+ .set COINS_PRICE_50, 1000
+ .set COINS_PRICE_500, 10000
+
+MauvilleCity_GameCorner_EventScript_CoinsClerk:: @ 820FBB9
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210460, MSGBOX_DEFAULT
+ msgbox MauvilleCity_GameCorner_Text_ThisIsMauvilleGameCorner, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FCB7
- message MauvilleCity_GameCorner_Text_2104DF
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NeedCoinCase
+ message MauvilleCity_GameCorner_Text_WereYouLookingForCoins
waitmessage
showmoneybox 0, 0, 0
showcoinsbox 1, 6
- goto MauvilleCity_GameCorner_EventScript_20FBE5
+ goto MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault50
-MauvilleCity_GameCorner_EventScript_20FBE5:: @ 820FBE5
- multichoicedefault 15, 0, 49, 0, 0
+MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault50:: @ 820FBE5
+ multichoicedefault 15, 0, MULTI_GAME_CORNER_COINS, 0, 0
switch VAR_RESULT
- case 0, MauvilleCity_GameCorner_EventScript_20FC33
- case 1, MauvilleCity_GameCorner_EventScript_20FC75
- goto MauvilleCity_GameCorner_EventScript_20FCD1
+ case 0, MauvilleCity_GameCorner_EventScript_Buy50Coins
+ case 1, MauvilleCity_GameCorner_EventScript_Buy500Coins
+ goto MauvilleCity_GameCorner_EventScript_CancelBuyCoins
end
-MauvilleCity_GameCorner_EventScript_20FC0C:: @ 820FC0C
- multichoicedefault 15, 0, 49, 1, 0
+@ Unused
+MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault500:: @ 820FC0C
+ multichoicedefault 15, 0, MULTI_GAME_CORNER_COINS, 1, 0
switch VAR_RESULT
- case 0, MauvilleCity_GameCorner_EventScript_20FC33
- case 1, MauvilleCity_GameCorner_EventScript_20FC75
- goto MauvilleCity_GameCorner_EventScript_20FCD1
+ case 0, MauvilleCity_GameCorner_EventScript_Buy50Coins
+ case 1, MauvilleCity_GameCorner_EventScript_Buy500Coins
+ goto MauvilleCity_GameCorner_EventScript_CancelBuyCoins
end
-MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33
+MauvilleCity_GameCorner_EventScript_Buy50Coins:: @ 820FC33
checkcoins VAR_TEMP_1
- compare VAR_TEMP_1, 9950
- goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1
- checkmoney 0x3e8, 0
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1
- givecoins 50
- takemoney 0x3e8, 0
+ compare VAR_TEMP_1, MAX_COINS + 1 - 50
+ goto_if_ge MauvilleCity_GameCorner_EventScript_NoRoomForCoins
+ checkmoney COINS_PRICE_50, 0
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NotEnoughMoney
+ addcoins 50
+ removemoney COINS_PRICE_50, 0
updatemoneybox 0, 0
updatecoinsbox 1, 6
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT
+ msgbox MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
hidecoinsbox 0, 5
release
end
-MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75
+MauvilleCity_GameCorner_EventScript_Buy500Coins:: @ 820FC75
checkcoins VAR_TEMP_1
- compare VAR_TEMP_1, 9500
- goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1
- checkmoney 0x2710, 0
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1
- givecoins 500
- takemoney 0x2710, 0
+ compare VAR_TEMP_1, MAX_COINS + 1 - 500
+ goto_if_ge MauvilleCity_GameCorner_EventScript_NoRoomForCoins
+ checkmoney COINS_PRICE_500, 0
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NotEnoughMoney
+ addcoins 500
+ removemoney COINS_PRICE_500, 0
updatemoneybox 0, 0
updatecoinsbox 1, 6
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT
+ msgbox MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
hidecoinsbox 0, 5
release
end
-MauvilleCity_GameCorner_EventScript_20FCB7:: @ 820FCB7
- msgbox MauvilleCity_GameCorner_Text_21047E, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_NeedCoinCase:: @ 820FCB7
+ msgbox MauvilleCity_GameCorner_Text_NeedCoinCaseForCoins, MSGBOX_DEFAULT
release
end
-MauvilleCity_GameCorner_EventScript_20FCC1:: @ 820FCC1
- msgbox MauvilleCity_GameCorner_Text_210553, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_NotEnoughMoney:: @ 820FCC1
+ msgbox MauvilleCity_GameCorner_Text_DontHaveEnoughMoney, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
hidecoinsbox 0, 5
release
end
-MauvilleCity_GameCorner_EventScript_20FCD1:: @ 820FCD1
- msgbox MauvilleCity_GameCorner_Text_21059A, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_CancelBuyCoins:: @ 820FCD1
+ msgbox MauvilleCity_GameCorner_Text_DontNeedCoinsThen, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
hidecoinsbox 0, 5
release
end
-MauvilleCity_GameCorner_EventScript_20FCE1:: @ 820FCE1
- msgbox MauvilleCity_GameCorner_Text_21057E, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_NoRoomForCoins:: @ 820FCE1
+ msgbox MauvilleCity_GameCorner_Text_CoinCaseIsFull, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
hidecoinsbox 0, 5
release
end
-MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1
+MauvilleCity_GameCorner_EventScript_PrizeCornerDolls:: @ 820FCF1
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT
+ msgbox MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FD0D
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_ChooseDollPrizeMessage
release
end
-MauvilleCity_GameCorner_EventScript_20FD0D:: @ 820FD0D
- message MauvilleCity_GameCorner_Text_21060D
+MauvilleCity_GameCorner_EventScript_ChooseDollPrizeMessage:: @ 820FD0D
+ message MauvilleCity_GameCorner_Text_WhichPrize
waitmessage
setvar VAR_TEMP_1, 0
showcoinsbox 1, 1
- goto MauvilleCity_GameCorner_EventScript_20FD2B
+ goto MauvilleCity_GameCorner_EventScript_ChooseDollPrize
-MauvilleCity_GameCorner_EventScript_20FD20:: @ 820FD20
- message MauvilleCity_GameCorner_Text_21060D
+MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize:: @ 820FD20
+ message MauvilleCity_GameCorner_Text_WhichPrize
waitmessage
- goto MauvilleCity_GameCorner_EventScript_20FD2B
+ goto MauvilleCity_GameCorner_EventScript_ChooseDollPrize
-MauvilleCity_GameCorner_EventScript_20FD2B:: @ 820FD2B
- multichoice 12, 0, 48, 0
+MauvilleCity_GameCorner_EventScript_ChooseDollPrize:: @ 820FD2B
+ multichoice 12, 0, MULTI_GAME_CORNER_DOLLS, 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
+ case 0, MauvilleCity_GameCorner_EventScript_TreeckoDoll
+ case 1, MauvilleCity_GameCorner_EventScript_TorchicDoll
+ case 2, MauvilleCity_GameCorner_EventScript_MudkipDoll
+ case 3, MauvilleCity_GameCorner_EventScript_CancelDollSelect
+ goto MauvilleCity_GameCorner_EventScript_CancelDollSelect
end
-MauvilleCity_GameCorner_EventScript_20FD67:: @ 820FD67
+MauvilleCity_GameCorner_EventScript_TreeckoDoll:: @ 820FD67
setvar VAR_TEMP_1, 1
- bufferdecorationname 0, 88
- goto MauvilleCity_GameCorner_EventScript_20FD91
+ bufferdecorationname 0, DECOR_TREECKO_DOLL
+ goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize
-MauvilleCity_GameCorner_EventScript_20FD75:: @ 820FD75
+MauvilleCity_GameCorner_EventScript_TorchicDoll:: @ 820FD75
setvar VAR_TEMP_1, 2
- bufferdecorationname 0, 89
- goto MauvilleCity_GameCorner_EventScript_20FD91
+ bufferdecorationname 0, DECOR_TORCHIC_DOLL
+ goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize
-MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83
+MauvilleCity_GameCorner_EventScript_MudkipDoll:: @ 820FD83
setvar VAR_TEMP_1, 3
- bufferdecorationname 0, 90
- goto MauvilleCity_GameCorner_EventScript_20FD91
+ bufferdecorationname 0, DECOR_MUDKIP_DOLL
+ goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize
-MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91
- msgbox MauvilleCity_GameCorner_Text_210705, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FE92
+MauvilleCity_GameCorner_EventScript_ConfirmDollPrize:: @ 820FD91
+ msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsX, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_GameCorner_EventScript_CancelDollSelect
switch VAR_TEMP_1
- case 1, MauvilleCity_GameCorner_EventScript_20FDCB
- case 2, MauvilleCity_GameCorner_EventScript_20FE05
- case 3, MauvilleCity_GameCorner_EventScript_20FE3F
+ case 1, MauvilleCity_GameCorner_EventScript_BuyTreeckoDoll
+ case 2, MauvilleCity_GameCorner_EventScript_BuyTorchicDoll
+ case 3, MauvilleCity_GameCorner_EventScript_BuyMudkipDoll
end
-MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB
+MauvilleCity_GameCorner_EventScript_BuyTreeckoDoll:: @ 820FDCB
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 1000
- goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79
- bufferdecorationname 1, 88
- checkdecorspace 88
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87
- takecoins 1000
- givedecoration 88
+ compare VAR_TEMP_2, DOLL_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
+ bufferdecorationname 1, DECOR_TREECKO_DOLL
+ checkdecorspace DECOR_TREECKO_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll
+ removecoins DOLL_COINS
+ adddecoration DECOR_TREECKO_DOLL
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FD20
+ msgbox MauvilleCity_GameCorner_Text_SendToYourHomePC, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize
end
-MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05
+MauvilleCity_GameCorner_EventScript_BuyTorchicDoll:: @ 820FE05
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 1000
- goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79
- bufferdecorationname 1, 89
- checkdecorspace 89
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87
- takecoins 1000
- givedecoration 89
+ compare VAR_TEMP_2, DOLL_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
+ bufferdecorationname 1, DECOR_TORCHIC_DOLL
+ checkdecorspace DECOR_TORCHIC_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll
+ removecoins DOLL_COINS
+ adddecoration DECOR_TORCHIC_DOLL
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FD20
+ msgbox MauvilleCity_GameCorner_Text_SendToYourHomePC, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize
end
-MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F
+MauvilleCity_GameCorner_EventScript_BuyMudkipDoll:: @ 820FE3F
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 1000
- goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79
- bufferdecorationname 1, 90
- checkdecorspace 90
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87
- takecoins 1000
- givedecoration 90
+ compare VAR_TEMP_2, DOLL_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
+ bufferdecorationname 1, DECOR_MUDKIP_DOLL
+ checkdecorspace DECOR_MUDKIP_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll
+ removecoins DOLL_COINS
+ adddecoration DECOR_MUDKIP_DOLL
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FD20
+ msgbox MauvilleCity_GameCorner_Text_SendToYourHomePC, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize
end
-MauvilleCity_GameCorner_EventScript_20FE79:: @ 820FE79
- msgbox MauvilleCity_GameCorner_Text_210673, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FD20
+MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll:: @ 820FE79
+ msgbox MauvilleCity_GameCorner_Text_NotEnoughCoins, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize
end
-MauvilleCity_GameCorner_EventScript_20FE87:: @ 820FE87
- call Common_EventScript_NoRoomLeftForAnother
- goto MauvilleCity_GameCorner_EventScript_20FD20
+MauvilleCity_GameCorner_EventScript_NoRoomForDoll:: @ 820FE87
+ call Common_EventScript_NoRoomForDecor
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseDollPrize
end
-MauvilleCity_GameCorner_EventScript_20FE92:: @ 820FE92
- msgbox MauvilleCity_GameCorner_Text_2106BF, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_CancelDollSelect:: @ 820FE92
+ msgbox MauvilleCity_GameCorner_Text_OhIsThatSo, MSGBOX_DEFAULT
hidecoinsbox 0, 0
release
end
-MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F
+MauvilleCity_GameCorner_EventScript_PrizeCornerTMs:: @ 820FE9F
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT
+ msgbox MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_GameCorner_EventScript_20FEBB
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_ChooseTMPrizeMessage
release
end
-MauvilleCity_GameCorner_EventScript_20FEBB:: @ 820FEBB
- message MauvilleCity_GameCorner_Text_21060D
+MauvilleCity_GameCorner_EventScript_ChooseTMPrizeMessage:: @ 820FEBB
+ message MauvilleCity_GameCorner_Text_WhichPrize
waitmessage
setvar VAR_TEMP_1, 0
showcoinsbox 1, 1
- goto MauvilleCity_GameCorner_EventScript_20FED9
+ goto MauvilleCity_GameCorner_EventScript_ChooseTMPrize
-MauvilleCity_GameCorner_EventScript_20FECE:: @ 820FECE
- message MauvilleCity_GameCorner_Text_21060D
+MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize:: @ 820FECE
+ message MauvilleCity_GameCorner_Text_WhichPrize
waitmessage
- goto MauvilleCity_GameCorner_EventScript_20FED9
+ goto MauvilleCity_GameCorner_EventScript_ChooseTMPrize
-MauvilleCity_GameCorner_EventScript_20FED9:: @ 820FED9
- multichoice 12, 0, 55, 0
+MauvilleCity_GameCorner_EventScript_ChooseTMPrize:: @ 820FED9
+ multichoice 12, 0, MULTI_GAME_CORNER_TMS, 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
+ case 0, MauvilleCity_GameCorner_EventScript_TM32
+ case 1, MauvilleCity_GameCorner_EventScript_TM29
+ case 2, MauvilleCity_GameCorner_EventScript_TM35
+ case 3, MauvilleCity_GameCorner_EventScript_TM24
+ case 4, MauvilleCity_GameCorner_EventScript_TM13
+ case 5, MauvilleCity_GameCorner_EventScript_CancelTMSelect
+ goto MauvilleCity_GameCorner_EventScript_CancelTMSelect
end
-MauvilleCity_GameCorner_EventScript_20FF2B:: @ 820FF2B
+MauvilleCity_GameCorner_EventScript_TM32:: @ 820FF2B
setvar VAR_TEMP_1, 1
bufferitemname 0, ITEM_TM32
- setvar VAR_0x8004, 320
- goto MauvilleCity_GameCorner_EventScript_20FF8A
+ setvar VAR_0x8004, ITEM_TM32
+ goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
-MauvilleCity_GameCorner_EventScript_20FF3E:: @ 820FF3E
+MauvilleCity_GameCorner_EventScript_TM29:: @ 820FF3E
setvar VAR_TEMP_1, 2
bufferitemname 0, ITEM_TM29
- setvar VAR_0x8004, 317
- goto MauvilleCity_GameCorner_EventScript_20FF8A
+ setvar VAR_0x8004, ITEM_TM29
+ goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
-MauvilleCity_GameCorner_EventScript_20FF51:: @ 820FF51
+MauvilleCity_GameCorner_EventScript_TM35:: @ 820FF51
setvar VAR_TEMP_1, 3
bufferitemname 0, ITEM_TM35
- setvar VAR_0x8004, 323
- goto MauvilleCity_GameCorner_EventScript_20FF8A
+ setvar VAR_0x8004, ITEM_TM35
+ goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
-MauvilleCity_GameCorner_EventScript_20FF64:: @ 820FF64
+MauvilleCity_GameCorner_EventScript_TM24:: @ 820FF64
setvar VAR_TEMP_1, 4
bufferitemname 0, ITEM_TM24
- setvar VAR_0x8004, 312
- goto MauvilleCity_GameCorner_EventScript_20FF8A
+ setvar VAR_0x8004, ITEM_TM24
+ goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
-MauvilleCity_GameCorner_EventScript_20FF77:: @ 820FF77
+MauvilleCity_GameCorner_EventScript_TM13:: @ 820FF77
setvar VAR_TEMP_1, 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, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210118
+ setvar VAR_0x8004, ITEM_TM13
+ goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
+
+MauvilleCity_GameCorner_EventScript_ConfirmTMPrize:: @ 820FF8A
+ special BufferTMHMMoveName
+ msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsTheTMX, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_GameCorner_EventScript_CancelTMSelect
switch VAR_TEMP_1
- 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
+ case 1, MauvilleCity_GameCorner_EventScript_BuyTM32
+ case 2, MauvilleCity_GameCorner_EventScript_BuyTM29
+ case 3, MauvilleCity_GameCorner_EventScript_BuyTM35
+ case 4, MauvilleCity_GameCorner_EventScript_BuyTM24
+ case 5, MauvilleCity_GameCorner_EventScript_BuyTM13
end
-MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD
+MauvilleCity_GameCorner_EventScript_BuyTM32:: @ 820FFDD
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 1500
- goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
+ compare VAR_TEMP_2, TM32_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
checkitemspace ITEM_TM32, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
- takecoins 1500
- giveitem ITEM_TM32, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ removecoins TM32_COINS
+ additem ITEM_TM32
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FECE
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
end
-MauvilleCity_GameCorner_EventScript_210017:: @ 8210017
+MauvilleCity_GameCorner_EventScript_BuyTM29:: @ 8210017
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 3500
- goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
+ compare VAR_TEMP_2, TM29_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
checkitemspace ITEM_TM29, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
- takecoins 3500
- giveitem ITEM_TM29, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ removecoins TM29_COINS
+ additem ITEM_TM29
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FECE
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
end
-MauvilleCity_GameCorner_EventScript_210051:: @ 8210051
+MauvilleCity_GameCorner_EventScript_BuyTM35:: @ 8210051
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 4000
- goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
+ compare VAR_TEMP_2, TM35_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
checkitemspace ITEM_TM35, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
- takecoins 4000
- giveitem ITEM_TM35, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ removecoins TM35_COINS
+ additem ITEM_TM35
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FECE
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
end
-MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B
+MauvilleCity_GameCorner_EventScript_BuyTM24:: @ 821008B
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 4000
- goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
+ compare VAR_TEMP_2, TM24_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
checkitemspace ITEM_TM24, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
- takecoins 4000
- giveitem ITEM_TM24, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ removecoins TM24_COINS
+ additem ITEM_TM24
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FECE
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
end
-MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5
+MauvilleCity_GameCorner_EventScript_BuyTM13:: @ 82100C5
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, 4000
- goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
+ compare VAR_TEMP_2, TM13_COINS
+ goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
checkitemspace ITEM_TM13, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
- takecoins 4000
- giveitem ITEM_TM13, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ removecoins TM13_COINS
+ additem ITEM_TM13
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FECE
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
end
-MauvilleCity_GameCorner_EventScript_2100FF:: @ 82100FF
- msgbox MauvilleCity_GameCorner_Text_210673, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_20FECE
+MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM:: @ 82100FF
+ msgbox MauvilleCity_GameCorner_Text_NotEnoughCoins, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
end
-MauvilleCity_GameCorner_EventScript_21010D:: @ 821010D
+MauvilleCity_GameCorner_EventScript_NoRoomForTM:: @ 821010D
call Common_EventScript_BagIsFull
- goto MauvilleCity_GameCorner_EventScript_20FECE
+ goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
end
-MauvilleCity_GameCorner_EventScript_210118:: @ 8210118
- msgbox MauvilleCity_GameCorner_Text_2106BF, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_CancelTMSelect:: @ 8210118
+ msgbox MauvilleCity_GameCorner_Text_OhIsThatSo, MSGBOX_DEFAULT
hidecoinsbox 0, 0
release
end
-MauvilleCity_GameCorner_EventScript_210125:: @ 8210125
- msgbox MauvilleCity_GameCorner_Text_2109D3, MSGBOX_NPC
+MauvilleCity_GameCorner_EventScript_Woman2:: @ 8210125
+ msgbox MauvilleCity_GameCorner_Text_CoinsAreNeededToPlay, MSGBOX_NPC
end
-MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E
- msgbox MauvilleCity_GameCorner_Text_210A05, MSGBOX_NPC
+MauvilleCity_GameCorner_EventScript_Gentleman:: @ 821012E
+ msgbox MauvilleCity_GameCorner_Text_RouletteOnlyLuck, MSGBOX_NPC
end
-MauvilleCity_GameCorner_EventScript_210137:: @ 8210137
+MauvilleCity_GameCorner_EventScript_Girl:: @ 8210137
lock
faceplayer
- goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_210213
- msgbox MauvilleCity_GameCorner_Text_210750, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210209
+ goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll
+ msgbox MauvilleCity_GameCorner_Text_GotTwoOfSameDollWantOne, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_GameCorner_EventScript_DeclineStarterDoll
switch VAR_STARTER_MON
- 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_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA
- msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
- givedecoration_std 88
+ case 0, MauvilleCity_GameCorner_EventScript_GiveTreeckoDoll
+ case 1, MauvilleCity_GameCorner_EventScript_GiveTorchicDoll
+ case 2, MauvilleCity_GameCorner_EventScript_GiveMudkipDoll
+ end
+
+MauvilleCity_GameCorner_EventScript_GiveTreeckoDoll:: @ 821017C
+ bufferdecorationname 1, DECOR_TREECKO_DOLL
+ checkdecorspace DECOR_TREECKO_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT
+ givedecoration DECOR_TREECKO_DOLL
setflag FLAG_RECEIVED_STARTER_DOLL
- goto MauvilleCity_GameCorner_EventScript_210213
+ goto MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll
end
-MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6
- bufferdecorationname 1, 89
- checkdecorspace 89
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA
- msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
- givedecoration_std 89
+MauvilleCity_GameCorner_EventScript_GiveTorchicDoll:: @ 82101A6
+ bufferdecorationname 1, DECOR_TORCHIC_DOLL
+ checkdecorspace DECOR_TORCHIC_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT
+ givedecoration DECOR_TORCHIC_DOLL
setflag FLAG_RECEIVED_STARTER_DOLL
- goto MauvilleCity_GameCorner_EventScript_210213
+ goto MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll
end
-MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0
- bufferdecorationname 1, 90
- checkdecorspace 90
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA
- msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
- givedecoration_std 90
+MauvilleCity_GameCorner_EventScript_GiveMudkipDoll:: @ 82101D0
+ bufferdecorationname 1, DECOR_MUDKIP_DOLL
+ checkdecorspace DECOR_MUDKIP_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
+ msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT
+ givedecoration DECOR_MUDKIP_DOLL
setflag FLAG_RECEIVED_STARTER_DOLL
- goto MauvilleCity_GameCorner_EventScript_210213
+ goto MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll
end
-MauvilleCity_GameCorner_EventScript_2101FA:: @ 82101FA
- call Common_EventScript_NoRoomLeftForAnother
- msgbox MauvilleCity_GameCorner_Text_2107A9, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll:: @ 82101FA
+ call Common_EventScript_NoRoomForDecor
+ msgbox MauvilleCity_GameCorner_Text_YouWantItButNotNow, MSGBOX_DEFAULT
release
end
-MauvilleCity_GameCorner_EventScript_210209:: @ 8210209
- msgbox MauvilleCity_GameCorner_Text_2107CE, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_DeclineStarterDoll:: @ 8210209
+ msgbox MauvilleCity_GameCorner_Text_DontBeNegative, MSGBOX_DEFAULT
release
end
-MauvilleCity_GameCorner_EventScript_210213:: @ 8210213
- msgbox MauvilleCity_GameCorner_Text_2107FB, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll:: @ 8210213
+ msgbox MauvilleCity_GameCorner_Text_CantWinJackpot, MSGBOX_DEFAULT
release
end
-MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D
+MauvilleCity_GameCorner_EventScript_PokefanM:: @ 821021D
lock
faceplayer
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_GameCorner_EventScript_21023D
- msgbox MauvilleCity_GameCorner_Text_210830, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_2102A9
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_TryGive20Coins
+ msgbox MauvilleCity_GameCorner_Text_NeedCoinCaseGoNextDoor, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
-MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D
- goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_21026B
+MauvilleCity_GameCorner_EventScript_TryGive20Coins:: @ 821023D
+ goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_PokefanMNormal
checkcoins VAR_TEMP_1
- compare VAR_TEMP_1, 1
- goto_if_ge MauvilleCity_GameCorner_EventScript_21026B
+ compare VAR_TEMP_1, 1 @ Only give 20 coins if player has no coins
+ goto_if_ge MauvilleCity_GameCorner_EventScript_PokefanMNormal
setflag FLAG_RECEIVED_20_COINS
- givecoins 20
- msgbox MauvilleCity_GameCorner_Text_2108A0, MSGBOX_DEFAULT
+ addcoins 20
+ msgbox MauvilleCity_GameCorner_Text_LuckOnlyLastSoLongTakeCoins, MSGBOX_DEFAULT
playse SE_REGI
- goto MauvilleCity_GameCorner_EventScript_21026B
+ goto MauvilleCity_GameCorner_EventScript_PokefanMNormal
end
-MauvilleCity_GameCorner_EventScript_21026B:: @ 821026B
- msgbox MauvilleCity_GameCorner_Text_2108EF, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_2102A9
+MauvilleCity_GameCorner_EventScript_PokefanMNormal:: @ 821026B
+ msgbox MauvilleCity_GameCorner_Text_MauvilleSomethingForEveryone, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
-MauvilleCity_GameCorner_EventScript_210279:: @ 8210279
+MauvilleCity_GameCorner_EventScript_OldMan:: @ 8210279
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210932, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_2102A9
+ msgbox MauvilleCity_GameCorner_Text_RouletteTablesDifferentRates, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
-MauvilleCity_GameCorner_EventScript_210289:: @ 8210289
+MauvilleCity_GameCorner_EventScript_Cook:: @ 8210289
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_21098E, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_2102A9
+ msgbox MauvilleCity_GameCorner_Text_EasyToLoseTrackOfTime, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
-MauvilleCity_GameCorner_EventScript_210299:: @ 8210299
+MauvilleCity_GameCorner_EventScript_Man:: @ 8210299
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210A51, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_2102A9
+ msgbox MauvilleCity_GameCorner_Text_UpTo3CoinsCanBeUsed, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
-MauvilleCity_GameCorner_EventScript_2102A9:: @ 82102A9
+MauvilleCity_GameCorner_EventScript_NPCReturnToSlots:: @ 82102A9
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MauvilleCity_GameCorner_EventScript_2102B6:: @ 82102B6
+MauvilleCity_GameCorner_EventScript_Maniac:: @ 82102B6
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210A82, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_2102A9
+ msgbox MauvilleCity_GameCorner_Text_DifficultToStopOn7, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
-MauvilleCity_GameCorner_EventScript_2102C6:: @ 82102C6
+MauvilleCity_GameCorner_EventScript_Woman:: @ 82102C6
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210B04, MSGBOX_DEFAULT
- goto MauvilleCity_GameCorner_EventScript_2102A9
+ msgbox MauvilleCity_GameCorner_Text_HeresSomeSlotsInfo, MSGBOX_DEFAULT
+ goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
-MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6
+MauvilleCity_GameCorner_EventScript_SlotMachine0:: @ 82102D6
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 0
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6
+MauvilleCity_GameCorner_EventScript_SlotMachine1:: @ 82102F6
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 1
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210316:: @ 8210316
+MauvilleCity_GameCorner_EventScript_SlotMachine2:: @ 8210316
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 2
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210336:: @ 8210336
+MauvilleCity_GameCorner_EventScript_SlotMachine3:: @ 8210336
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 3
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210356:: @ 8210356
+MauvilleCity_GameCorner_EventScript_SlotMachine4:: @ 8210356
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 4
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210376:: @ 8210376
+MauvilleCity_GameCorner_EventScript_SlotMachine5:: @ 8210376
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 5
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210396:: @ 8210396
+MauvilleCity_GameCorner_EventScript_SlotMachine6:: @ 8210396
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 6
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6
+MauvilleCity_GameCorner_EventScript_SlotMachine7:: @ 82103B6
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 7
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6
+MauvilleCity_GameCorner_EventScript_SlotMachine8:: @ 82103D6
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 8
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6
+MauvilleCity_GameCorner_EventScript_SlotMachine9:: @ 82103F6
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 9
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210416:: @ 8210416
+MauvilleCity_GameCorner_EventScript_SlotMachine10:: @ 8210416
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 10
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210436:: @ 8210436
+MauvilleCity_GameCorner_EventScript_SlotMachine11:: @ 8210436
lockall
checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_GameCorner_EventScript_210456
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 11
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
releaseall
end
-MauvilleCity_GameCorner_EventScript_210456:: @ 8210456
- msgbox MauvilleCity_GameCorner_Text_210C2E, MSGBOX_DEFAULT
+MauvilleCity_GameCorner_EventScript_NoCoinCase:: @ 8210456
+ msgbox MauvilleCity_GameCorner_Text_CantPlayWithNoCoinCase, MSGBOX_DEFAULT
releaseall
end
-MauvilleCity_GameCorner_Text_210460: @ 8210460
+MauvilleCity_GameCorner_Text_ThisIsMauvilleGameCorner: @ 8210460
.string "This is MAUVILLE GAME CORNER.$"
-MauvilleCity_GameCorner_Text_21047E: @ 821047E
+MauvilleCity_GameCorner_Text_NeedCoinCaseForCoins: @ 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
+MauvilleCity_GameCorner_Text_WereYouLookingForCoins: @ 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
+MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins: @ 8210529
.string "Thank you very much!\n"
.string "Here are your COINS!$"
-MauvilleCity_GameCorner_Text_210553: @ 8210553
+MauvilleCity_GameCorner_Text_DontHaveEnoughMoney: @ 8210553
.string "Um… You don't appear to have\n"
.string "enough money…$"
-MauvilleCity_GameCorner_Text_21057E: @ 821057E
+MauvilleCity_GameCorner_Text_CoinCaseIsFull: @ 821057E
.string "Oh?\n"
.string "Your COIN CASE is full.$"
-MauvilleCity_GameCorner_Text_21059A: @ 821059A
+MauvilleCity_GameCorner_Text_DontNeedCoinsThen: @ 821059A
.string "Oh… You don't need COINS, then?\n"
.string "Good luck on your adventure!$"
-MauvilleCity_GameCorner_Text_2105D7: @ 82105D7
+MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes: @ 82105D7
.string "Welcome.\p"
.string "You can exchange your COINS for\n"
.string "prizes here.$"
-MauvilleCity_GameCorner_Text_21060D: @ 821060D
+MauvilleCity_GameCorner_Text_WhichPrize: @ 821060D
.string "Which prize would you like?$"
-MauvilleCity_GameCorner_Text_210629: @ 8210629
+MauvilleCity_GameCorner_Text_SoYourChoiceIsTheTMX: @ 8210629
.string "So your choice is\n"
.string "the {STR_VAR_1} {STR_VAR_2}?$"
-MauvilleCity_GameCorner_Text_210646: @ 8210646
+MauvilleCity_GameCorner_Text_SendToYourHomePC: @ 8210646
.string "Thank you!\n"
.string "We'll send it to your PC at home.$"
-MauvilleCity_GameCorner_Text_210673: @ 8210673
+MauvilleCity_GameCorner_Text_NotEnoughCoins: @ 8210673
.string "You don't have enough COINS.$"
-MauvilleCity_GameCorner_Text_210690: @ 8210690
+@ Unused
+MauvilleCity_GameCorner_Text_NoRoomForPlacingDecor: @ 8210690
.string "There isn't any room available for\n"
.string "placing {STR_VAR_1}.$"
-MauvilleCity_GameCorner_Text_2106BF: @ 82106BF
+MauvilleCity_GameCorner_Text_OhIsThatSo: @ 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
+MauvilleCity_GameCorner_Text_SoYourChoiceIsX: @ 8210705
.string "So your choice is {STR_VAR_1}?$"
-MauvilleCity_GameCorner_Text_21071B: @ 821071B
+MauvilleCity_GameCorner_Text_HereYouGo: @ 821071B
.string "Here you go!$"
-MauvilleCity_GameCorner_Text_210728: @ 8210728
+@ Unused
+MauvilleCity_GameCorner_Text_CantCarryAnyMore: @ 8210728
.string "Oh, you can't carry any more than that.$"
-MauvilleCity_GameCorner_Text_210750: @ 8210750
+MauvilleCity_GameCorner_Text_GotTwoOfSameDollWantOne: @ 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
+MauvilleCity_GameCorner_Text_HereYouGo2: @ 821079C
.string "Here you go!$"
-MauvilleCity_GameCorner_Text_2107A9: @ 82107A9
+MauvilleCity_GameCorner_Text_YouWantItButNotNow: @ 82107A9
.string "Huh?\n"
.string "You want it, but not right now?$"
-MauvilleCity_GameCorner_Text_2107CE: @ 82107CE
+MauvilleCity_GameCorner_Text_DontBeNegative: @ 82107CE
.string "Oh, don't be so negative!\n"
.string "You can have this!$"
-MauvilleCity_GameCorner_Text_2107FB: @ 82107FB
+MauvilleCity_GameCorner_Text_CantWinJackpot: @ 82107FB
.string "There's a prize I want, but I can't win\n"
.string "the jackpot.$"
-MauvilleCity_GameCorner_Text_210830: @ 8210830
+MauvilleCity_GameCorner_Text_NeedCoinCaseGoNextDoor: @ 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
+MauvilleCity_GameCorner_Text_LuckOnlyLastSoLongTakeCoins: @ 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
+MauvilleCity_GameCorner_Text_MauvilleSomethingForEveryone: @ 82108EF
.string "MAUVILLE has something for\n"
.string "everyone.\p"
.string "For me, it's the GAME CORNER.$"
-MauvilleCity_GameCorner_Text_210932: @ 8210932
+MauvilleCity_GameCorner_Text_RouletteTablesDifferentRates: @ 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
+MauvilleCity_GameCorner_Text_EasyToLoseTrackOfTime: @ 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
+MauvilleCity_GameCorner_Text_CoinsAreNeededToPlay: @ 82109D3
.string "COINS are needed to play here\n"
.string "in the GAME CORNER.$"
-MauvilleCity_GameCorner_Text_210A05: @ 8210A05
+MauvilleCity_GameCorner_Text_RouletteOnlyLuck: @ 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
+MauvilleCity_GameCorner_Text_UpTo3CoinsCanBeUsed: @ 8210A51
.string "Up to three COINS can be used to play\n"
.string "the SLOTS.$"
-MauvilleCity_GameCorner_Text_210A82: @ 8210A82
+MauvilleCity_GameCorner_Text_DifficultToStopOn7: @ 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
+MauvilleCity_GameCorner_Text_HeresSomeSlotsInfo: @ 8210B04
.string "Here's some information for you\n"
.string "about the SLOTS.\p"
.string "The more lightning bolts you stock,\n"
@@ -811,7 +815,7 @@ MauvilleCity_GameCorner_Text_210B04: @ 8210B04
.string "That would total 660 COINS, but it's\n"
.string "very difficult to get.$"
-MauvilleCity_GameCorner_Text_210C2E: @ 8210C2E
+MauvilleCity_GameCorner_Text_CantPlayWithNoCoinCase: @ 8210C2E
.string "You can't play if you don't have\n"
.string "a COIN CASE.$"
diff --git a/data/maps/MauvilleCity_Gym/map.json b/data/maps/MauvilleCity_Gym/map.json
index 9de74941c..ecc9f13c2 100644
--- a/data/maps/MauvilleCity_Gym/map.json
+++ b/data/maps/MauvilleCity_Gym/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_Gym_EventScript_20DEEB",
+ "script": "MauvilleCity_Gym_EventScript_Wattson",
"flag": "FLAG_HIDE_MAUVILLE_GYM_WATTSON"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MauvilleCity_Gym_EventScript_20E0D0",
+ "script": "MauvilleCity_Gym_EventScript_Shawn",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MauvilleCity_Gym_EventScript_20E0FE",
+ "script": "MauvilleCity_Gym_EventScript_Vivian",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MauvilleCity_Gym_EventScript_20E0E7",
+ "script": "MauvilleCity_Gym_EventScript_Ben",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MauvilleCity_Gym_EventScript_20E0B9",
+ "script": "MauvilleCity_Gym_EventScript_Kirk",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_Gym_EventScript_20E12C",
+ "script": "MauvilleCity_Gym_EventScript_GymGuide",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MauvilleCity_Gym_EventScript_20E115",
+ "script": "MauvilleCity_Gym_EventScript_Angelo",
"flag": "0"
}
],
@@ -130,7 +130,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "MauvilleCity_Gym_EventScript_20E01E"
+ "script": "MauvilleCity_Gym_EventScript_Switch2"
},
{
"type": "trigger",
@@ -139,7 +139,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "MauvilleCity_Gym_EventScript_20E043"
+ "script": "MauvilleCity_Gym_EventScript_Switch3"
},
{
"type": "trigger",
@@ -148,7 +148,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "MauvilleCity_Gym_EventScript_20DFF9"
+ "script": "MauvilleCity_Gym_EventScript_Switch1"
},
{
"type": "trigger",
@@ -157,7 +157,7 @@
"elevation": 3,
"var": "VAR_TEMP_0",
"var_value": "0",
- "script": "MauvilleCity_Gym_EventScript_20E068"
+ "script": "MauvilleCity_Gym_EventScript_Switch4"
}
],
"bg_events": [
@@ -167,7 +167,7 @@
"y": 18,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "MauvilleCity_Gym_EventScript_20E14B"
+ "script": "MauvilleCity_Gym_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -175,7 +175,7 @@
"y": 18,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "MauvilleCity_Gym_EventScript_20E15B"
+ "script": "MauvilleCity_Gym_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc
index 811cdc9de..1a62fb9df 100644
--- a/data/maps/MauvilleCity_Gym/scripts.inc
+++ b/data/maps/MauvilleCity_Gym/scripts.inc
@@ -1,22 +1,22 @@
MauvilleCity_Gym_MapScripts:: @ 820DD6E
- map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_Gym_MapScript1_20DD74
+ map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_Gym_OnLoad
.byte 0
-MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74
- goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20DEE7
+MauvilleCity_Gym_OnLoad: @ 820DD74
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_DeactivatePuzzle
switch VAR_MAUVILLE_GYM_STATE
- 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
+ case 0, MauvilleCity_Gym_EventScript_UpdateBarriers
+ case 1, MauvilleCity_Gym_EventScript_Switch1Pressed
+ case 2, MauvilleCity_Gym_EventScript_Switch2Pressed
+ case 3, MauvilleCity_Gym_EventScript_Switch3Pressed
+ case 4, MauvilleCity_Gym_EventScript_Switch4Pressed
end
-MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA
- goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20DDC4
+MauvilleCity_Gym_EventScript_UpdateBarriers:: @ 820DDBA
+ goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_SetAltBarriers
end
-MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4
+MauvilleCity_Gym_EventScript_SetAltBarriers:: @ 820DDC4
setmetatile 3, 11, METATILE_MauvilleGym_RedBeamV1_On, 1
setmetatile 3, 12, METATILE_MauvilleGym_RedBeamV2_On, 1
setmetatile 3, 13, METATILE_MauvilleGym_PoleTop_On, 1
@@ -45,68 +45,68 @@ MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4
setmetatile 5, 7, METATILE_MauvilleGym_GreenBeamH4_Off, 0
end
-MauvilleCity_Gym_EventScript_20DEAF:: @ 820DEAF
+MauvilleCity_Gym_EventScript_Switch1Pressed:: @ 820DEAF
setvar VAR_0x8004, 0
- special MauvilleGymSpecial1
- goto MauvilleCity_Gym_EventScript_20DDBA
+ special MauvilleGymPressSwitch
+ goto MauvilleCity_Gym_EventScript_UpdateBarriers
end
-MauvilleCity_Gym_EventScript_20DEBD:: @ 820DEBD
+MauvilleCity_Gym_EventScript_Switch2Pressed:: @ 820DEBD
setvar VAR_0x8004, 1
- special MauvilleGymSpecial1
- goto MauvilleCity_Gym_EventScript_20DDBA
+ special MauvilleGymPressSwitch
+ goto MauvilleCity_Gym_EventScript_UpdateBarriers
end
-MauvilleCity_Gym_EventScript_20DECB:: @ 820DECB
+MauvilleCity_Gym_EventScript_Switch3Pressed:: @ 820DECB
setvar VAR_0x8004, 2
- special MauvilleGymSpecial1
- goto MauvilleCity_Gym_EventScript_20DDBA
+ special MauvilleGymPressSwitch
+ goto MauvilleCity_Gym_EventScript_UpdateBarriers
end
-MauvilleCity_Gym_EventScript_20DED9:: @ 820DED9
+MauvilleCity_Gym_EventScript_Switch4Pressed:: @ 820DED9
setvar VAR_0x8004, 3
- special MauvilleGymSpecial1
- goto MauvilleCity_Gym_EventScript_20DDBA
+ special MauvilleGymPressSwitch
+ goto MauvilleCity_Gym_EventScript_UpdateBarriers
end
-MauvilleCity_Gym_EventScript_20DEE7:: @ 820DEE7
- special MauvilleGymSpecial3
+MauvilleCity_Gym_EventScript_DeactivatePuzzle:: @ 820DEE7
+ special MauvilleGymDeactivatePuzzle
end
-MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB
- trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B, NO_MUSIC
+MauvilleCity_Gym_EventScript_Wattson:: @ 820DEEB
+ trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonIntro, MauvilleCity_Gym_Text_WattsonDefeat, MauvilleCity_Gym_EventScript_WattsonDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_Gym_EventScript_20DFDE
- goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_20DF8D
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_Gym_EventScript_WattsonRematch
+ goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_GiveShockWave2
compare VAR_NEW_MAUVILLE_STATE, 2
- goto_if_eq MauvilleCity_Gym_EventScript_20DFD4
- msgbox MauvilleCity_Gym_Text_20E8E3, MSGBOX_DEFAULT
+ goto_if_eq MauvilleCity_Gym_EventScript_CompletedNewMauville
+ msgbox MauvilleCity_Gym_Text_WattsonPostBattle, MSGBOX_DEFAULT
release
end
-MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B
- message MauvilleCity_Gym_Text_20E77F
+MauvilleCity_Gym_EventScript_WattsonDefeated:: @ 820DF2B
+ message MauvilleCity_Gym_Text_ReceivedDynamoBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox MauvilleCity_Gym_Text_20E7AA, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Gym_Text_ExplainDynamoBadgeTakeThis, MSGBOX_DEFAULT
setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 3
clearflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT
setflag FLAG_DEFEATED_MAUVILLE_GYM
setflag FLAG_BADGE03_GET
addvar VAR_PETALBURG_GYM_STATE, 1
compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq MauvilleCity_Gym_EventScript_271E84
+ call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
setvar VAR_0x8008, 3
- call MauvilleCity_Gym_EventScript_271F43
- special MauvilleGymSpecial3
+ call Common_EventScript_SetGymTrainers
+ special MauvilleGymDeactivatePuzzle
special DrawWholeMapView
playse SE_KI_GASYAN
- call MauvilleCity_Gym_EventScript_20DFB1
+ call MauvilleCity_Gym_EventScript_GiveShockWave
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox MauvilleCity_Gym_Text_20E8B5, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Gym_Text_RegisteredWattson, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -114,158 +114,158 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B
release
end
-MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D
- giveitem_std ITEM_TM34
+MauvilleCity_Gym_EventScript_GiveShockWave2:: @ 820DF8D
+ giveitem ITEM_TM34
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM34
release
end
-MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1
- giveitem_std ITEM_TM34
+MauvilleCity_Gym_EventScript_GiveShockWave:: @ 820DFB1
+ giveitem ITEM_TM34
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_BagIsFull
- msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM34
return
-MauvilleCity_Gym_EventScript_20DFD4:: @ 820DFD4
- msgbox MauvilleCity_Gym_Text_20E925, MSGBOX_DEFAULT
+MauvilleCity_Gym_EventScript_CompletedNewMauville:: @ 820DFD4
+ msgbox MauvilleCity_Gym_Text_WattsonGoForthAndEndeavor, MSGBOX_DEFAULT
release
end
-MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE
- trainerbattle_rematch_double TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E9A7, MauvilleCity_Gym_Text_20EA42, MauvilleCity_Gym_Text_20EAFD
- msgbox MauvilleCity_Gym_Text_20EA5E, MSGBOX_AUTOCLOSE
+MauvilleCity_Gym_EventScript_WattsonRematch:: @ 820DFDE
+ trainerbattle_rematch_double TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonPreRematch, MauvilleCity_Gym_Text_WattsonRematchDefeat, MauvilleCity_Gym_Text_WattsonRematchNeedTwoMons
+ msgbox MauvilleCity_Gym_Text_WattsonPostRematch, MSGBOX_AUTOCLOSE
end
-MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9
+MauvilleCity_Gym_EventScript_Switch1:: @ 820DFF9
lockall
- goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
compare VAR_MAUVILLE_GYM_STATE, 1
- goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 1
setvar VAR_0x8004, 0
- goto MauvilleCity_Gym_EventScript_20E08D
+ goto MauvilleCity_Gym_EventScript_PressFloorSwitch
end
-MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E
+MauvilleCity_Gym_EventScript_Switch2:: @ 820E01E
lockall
- goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
compare VAR_MAUVILLE_GYM_STATE, 2
- goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 2
setvar VAR_0x8004, 1
- goto MauvilleCity_Gym_EventScript_20E08D
+ goto MauvilleCity_Gym_EventScript_PressFloorSwitch
end
-MauvilleCity_Gym_EventScript_20E043:: @ 820E043
+MauvilleCity_Gym_EventScript_Switch3:: @ 820E043
lockall
- goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
compare VAR_MAUVILLE_GYM_STATE, 3
- goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 3
setvar VAR_0x8004, 2
- goto MauvilleCity_Gym_EventScript_20E08D
+ goto MauvilleCity_Gym_EventScript_PressFloorSwitch
end
-MauvilleCity_Gym_EventScript_20E068:: @ 820E068
+MauvilleCity_Gym_EventScript_Switch4:: @ 820E068
lockall
- goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
compare VAR_MAUVILLE_GYM_STATE, 4
- goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 4
setvar VAR_0x8004, 3
- goto MauvilleCity_Gym_EventScript_20E08D
+ goto MauvilleCity_Gym_EventScript_PressFloorSwitch
end
-MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D
- special MauvilleGymSpecial2
- special MauvilleGymSpecial1
+MauvilleCity_Gym_EventScript_PressFloorSwitch:: @ 820E08D
+ special MauvilleGymSetDefaultBarriers
+ special MauvilleGymPressSwitch
special DrawWholeMapView
playse SE_KI_GASYAN
- goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0B4
- goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_20E0AF
+ goto_if_set FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_ClearBarriersAltState
+ goto_if_unset FLAG_MAUVILLE_GYM_BARRIERS_STATE, MauvilleCity_Gym_EventScript_SetBarriersAltState
releaseall
end
-MauvilleCity_Gym_EventScript_20E0AD:: @ 820E0AD
+MauvilleCity_Gym_EventScript_SwitchDoNothing:: @ 820E0AD
releaseall
end
-MauvilleCity_Gym_EventScript_20E0AF:: @ 820E0AF
+MauvilleCity_Gym_EventScript_SetBarriersAltState:: @ 820E0AF
setflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
releaseall
end
-MauvilleCity_Gym_EventScript_20E0B4:: @ 820E0B4
+MauvilleCity_Gym_EventScript_ClearBarriersAltState:: @ 820E0B4
clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
releaseall
end
-MauvilleCity_Gym_EventScript_20E0B9:: @ 820E0B9
- trainerbattle_single TRAINER_KIRK, MauvilleCity_Gym_Text_20E2BC, MauvilleCity_Gym_Text_20E2FC
- msgbox MauvilleCity_Gym_Text_20E336, MSGBOX_AUTOCLOSE
+MauvilleCity_Gym_EventScript_Kirk:: @ 820E0B9
+ trainerbattle_single TRAINER_KIRK, MauvilleCity_Gym_Text_KirkIntro, MauvilleCity_Gym_Text_KirkDefeat
+ msgbox MauvilleCity_Gym_Text_KirkPostBattle, MSGBOX_AUTOCLOSE
end
-MauvilleCity_Gym_EventScript_20E0D0:: @ 820E0D0
- trainerbattle_single TRAINER_SHAWN, MauvilleCity_Gym_Text_20E369, MauvilleCity_Gym_Text_20E3A7
- msgbox MauvilleCity_Gym_Text_20E3C1, MSGBOX_AUTOCLOSE
+MauvilleCity_Gym_EventScript_Shawn:: @ 820E0D0
+ trainerbattle_single TRAINER_SHAWN, MauvilleCity_Gym_Text_ShawnIntro, MauvilleCity_Gym_Text_ShawnDefeat
+ msgbox MauvilleCity_Gym_Text_ShawnPostBattle, MSGBOX_AUTOCLOSE
end
-MauvilleCity_Gym_EventScript_20E0E7:: @ 820E0E7
- trainerbattle_single TRAINER_BEN, MauvilleCity_Gym_Text_20E443, MauvilleCity_Gym_Text_20E469
- msgbox MauvilleCity_Gym_Text_20E47E, MSGBOX_AUTOCLOSE
+MauvilleCity_Gym_EventScript_Ben:: @ 820E0E7
+ trainerbattle_single TRAINER_BEN, MauvilleCity_Gym_Text_BenIntro, MauvilleCity_Gym_Text_BenDefeat
+ msgbox MauvilleCity_Gym_Text_BenPostBattle, MSGBOX_AUTOCLOSE
end
-MauvilleCity_Gym_EventScript_20E0FE:: @ 820E0FE
- trainerbattle_single TRAINER_VIVIAN, MauvilleCity_Gym_Text_20E4BB, MauvilleCity_Gym_Text_20E4F4
- msgbox MauvilleCity_Gym_Text_20E50F, MSGBOX_AUTOCLOSE
+MauvilleCity_Gym_EventScript_Vivian:: @ 820E0FE
+ trainerbattle_single TRAINER_VIVIAN, MauvilleCity_Gym_Text_VivianIntro, MauvilleCity_Gym_Text_VivianDefeat
+ msgbox MauvilleCity_Gym_Text_VivianPostBattle, MSGBOX_AUTOCLOSE
end
-MauvilleCity_Gym_EventScript_20E115:: @ 820E115
- trainerbattle_single TRAINER_ANGELO, MauvilleCity_Gym_Text_20E593, MauvilleCity_Gym_Text_20E5A8
- msgbox MauvilleCity_Gym_Text_20E5C2, MSGBOX_AUTOCLOSE
+MauvilleCity_Gym_EventScript_Angelo:: @ 820E115
+ trainerbattle_single TRAINER_ANGELO, MauvilleCity_Gym_Text_AngeloIntro, MauvilleCity_Gym_Text_AngeloDefeat
+ msgbox MauvilleCity_Gym_Text_AngeloPostBattle, MSGBOX_AUTOCLOSE
end
-MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C
+MauvilleCity_Gym_EventScript_GymGuide:: @ 820E12C
lock
faceplayer
- goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_20E141
- msgbox MauvilleCity_Gym_Text_20E17F, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_GymGuidePostVictory
+ msgbox MauvilleCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-MauvilleCity_Gym_EventScript_20E141:: @ 820E141
- msgbox MauvilleCity_Gym_Text_20E283, MSGBOX_DEFAULT
+MauvilleCity_Gym_EventScript_GymGuidePostVictory:: @ 820E141
+ msgbox MauvilleCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-MauvilleCity_Gym_EventScript_20E14B:: @ 820E14B
+MauvilleCity_Gym_EventScript_LeftGymStatue:: @ 820E14B
lockall
- goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B
- goto MauvilleCity_Gym_EventScript_20E175
+ goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_GymStatueCertified
+ goto MauvilleCity_Gym_EventScript_GymStatue
end
-MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B
+MauvilleCity_Gym_EventScript_RightGymStatue:: @ 820E15B
lockall
- goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B
- goto MauvilleCity_Gym_EventScript_20E175
+ goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_GymStatueCertified
+ goto MauvilleCity_Gym_EventScript_GymStatue
end
-MauvilleCity_Gym_EventScript_20E16B:: @ 820E16B
- msgbox MauvilleCity_Gym_Text_20E96C, MSGBOX_DEFAULT
+MauvilleCity_Gym_EventScript_GymStatueCertified:: @ 820E16B
+ msgbox MauvilleCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-MauvilleCity_Gym_EventScript_20E175:: @ 820E175
- msgbox MauvilleCity_Gym_Text_20E952, MSGBOX_DEFAULT
+MauvilleCity_Gym_EventScript_GymStatue:: @ 820E175
+ msgbox MauvilleCity_Gym_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-MauvilleCity_Gym_Text_20E17F: @ 820E17F
+MauvilleCity_Gym_Text_GymGuideAdvice: @ 820E17F
.string "Hey, how's it going, CHAMPION-\n"
.string "bound {PLAYER}?\p"
.string "WATTSON, the LEADER of MAUVILLE\n"
@@ -276,72 +276,72 @@ MauvilleCity_Gym_Text_20E17F: @ 820E17F
.string "doors all over his GYM! Eccentric!\p"
.string "Hey, go for it!$"
-MauvilleCity_Gym_Text_20E283: @ 820E283
+MauvilleCity_Gym_Text_GymGuidePostVictory: @ 820E283
.string "Whoa, you're electrifying!\n"
.string "You've powered the door open!$"
-MauvilleCity_Gym_Text_20E2BC: @ 820E2BC
+MauvilleCity_Gym_Text_KirkIntro: @ 820E2BC
.string "My electric soul, it'll shatter your\n"
.string "dreams whole, whoa-yeahah!$"
-MauvilleCity_Gym_Text_20E2FC: @ 820E2FC
+MauvilleCity_Gym_Text_KirkDefeat: @ 820E2FC
.string "That was plugged in, amped up,\n"
.string "over-driven electric, man!$"
-MauvilleCity_Gym_Text_20E336: @ 820E336
+MauvilleCity_Gym_Text_KirkPostBattle: @ 820E336
.string "POKéMON and rock, it's all about heart,\n"
.string "whoa-yeah!$"
-MauvilleCity_Gym_Text_20E369: @ 820E369
+MauvilleCity_Gym_Text_ShawnIntro: @ 820E369
.string "I trained under WATTSON!\n"
.string "There ain't no way I'll lose easily!$"
-MauvilleCity_Gym_Text_20E3A7: @ 820E3A7
+MauvilleCity_Gym_Text_ShawnDefeat: @ 820E3A7
.string "Unplugged and turned off…$"
-MauvilleCity_Gym_Text_20E3C1: @ 820E3C1
+MauvilleCity_Gym_Text_ShawnPostBattle: @ 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
+MauvilleCity_Gym_Text_BenIntro: @ 820E443
.string "This GYM's got puzzles!\n"
.string "Isn't it fun?$"
-MauvilleCity_Gym_Text_20E469: @ 820E469
+MauvilleCity_Gym_Text_BenDefeat: @ 820E469
.string "It's no fun to lose…$"
-MauvilleCity_Gym_Text_20E47E: @ 820E47E
+MauvilleCity_Gym_Text_BenPostBattle: @ 820E47E
.string "WATTSON says he likes setting up\n"
.string "little traps with switches.$"
-MauvilleCity_Gym_Text_20E4BB: @ 820E4BB
+MauvilleCity_Gym_Text_VivianIntro: @ 820E4BB
.string "With my charm and my POKéMON's moves,\n"
.string "you'll be shocked!$"
-MauvilleCity_Gym_Text_20E4F4: @ 820E4F4
+MauvilleCity_Gym_Text_VivianDefeat: @ 820E4F4
.string "I'm shocked by your power!$"
-MauvilleCity_Gym_Text_20E50F: @ 820E50F
+MauvilleCity_Gym_Text_VivianPostBattle: @ 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
+MauvilleCity_Gym_Text_AngeloIntro: @ 820E593
.string "I love shiny things!$"
-MauvilleCity_Gym_Text_20E5A8: @ 820E5A8
+MauvilleCity_Gym_Text_AngeloDefeat: @ 820E5A8
.string "Oh…\n"
.string "My eyes are frazzled…$"
-MauvilleCity_Gym_Text_20E5C2: @ 820E5C2
+MauvilleCity_Gym_Text_AngeloPostBattle: @ 820E5C2
.string "MAUVILLE GYM's WATTSON has a shiny\n"
.string "forehead. It makes me happy!$"
-MauvilleCity_Gym_Text_20E602: @ 820E602
+MauvilleCity_Gym_Text_WattsonIntro: @ 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"
@@ -354,17 +354,17 @@ MauvilleCity_Gym_Text_20E602: @ 820E602
.string "Then, I, WATTSON, the LEADER of\n"
.string "MAUVILLE GYM, shall electrify you!$"
-MauvilleCity_Gym_Text_20E734: @ 820E734
+MauvilleCity_Gym_Text_WattsonDefeat: @ 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
+MauvilleCity_Gym_Text_ReceivedDynamoBadge: @ 820E77F
.string "{PLAYER} received the DYNAMO BADGE\n"
.string "from WATTSON.$"
-MauvilleCity_Gym_Text_20E7AA: @ 820E7AA
+MauvilleCity_Gym_Text_ExplainDynamoBadgeTakeThis: @ 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"
@@ -372,33 +372,33 @@ MauvilleCity_Gym_Text_20E7AA: @ 820E7AA
.string "Hmm…\n"
.string "You should take this, too!$"
-MauvilleCity_Gym_Text_20E844: @ 820E844
+MauvilleCity_Gym_Text_ExplainShockWave: @ 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
+MauvilleCity_Gym_Text_RegisteredWattson: @ 820E8B5
.string "Registered GYM LEADER WATTSON\n"
.string "in the POKéNAV.$"
-MauvilleCity_Gym_Text_20E8E3: @ 820E8E3
+MauvilleCity_Gym_Text_WattsonPostBattle: @ 820E8E3
.string "I swell with optimism, seeing a promising\n"
.string "young TRAINER like you!$"
-MauvilleCity_Gym_Text_20E925: @ 820E925
+MauvilleCity_Gym_Text_WattsonGoForthAndEndeavor: @ 820E925
.string "Wahahahah!\n"
.string "Go forth and endeavor, youngster!$"
-MauvilleCity_Gym_Text_20E952: @ 820E952
+MauvilleCity_Gym_Text_GymStatue: @ 820E952
.string "MAUVILLE CITY POKéMON GYM$"
-MauvilleCity_Gym_Text_20E96C: @ 820E96C
+MauvilleCity_Gym_Text_GymStatueCertified: @ 820E96C
.string "MAUVILLE CITY POKéMON GYM\p"
.string "WATTSON'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-MauvilleCity_Gym_Text_20E9A7: @ 820E9A7
+MauvilleCity_Gym_Text_WattsonPreRematch: @ 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"
@@ -406,11 +406,11 @@ MauvilleCity_Gym_Text_20E9A7: @ 820E9A7
.string "I'll make sparks fly from you!\n"
.string "Don't say I didn't warn you!$"
-MauvilleCity_Gym_Text_20EA42: @ 820EA42
+MauvilleCity_Gym_Text_WattsonRematchDefeat: @ 820EA42
.string "Oof…\n"
.string "Our batteries ran dry…$"
-MauvilleCity_Gym_Text_20EA5E: @ 820EA5E
+MauvilleCity_Gym_Text_WattsonPostRematch: @ 820EA5E
.string "WATTSON: We'll have to recharge our\n"
.string "batteries again.\p"
.string "When we're fully charged up, we'll\n"
@@ -418,7 +418,7 @@ MauvilleCity_Gym_Text_20EA5E: @ 820EA5E
.string "So, come back again sometime,\n"
.string "won't you?$"
-MauvilleCity_Gym_Text_20EAFD: @ 820EAFD
+MauvilleCity_Gym_Text_WattsonRematchNeedTwoMons: @ 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"
diff --git a/data/maps/MauvilleCity_House1/map.json b/data/maps/MauvilleCity_House1/map.json
index d7e148b31..9df540885 100644
--- a/data/maps/MauvilleCity_House1/map.json
+++ b/data/maps/MauvilleCity_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_House1_EventScript_20F976",
+ "script": "MauvilleCity_House1_EventScript_RockSmashDude",
"flag": "0"
}
],
diff --git a/data/maps/MauvilleCity_House1/scripts.inc b/data/maps/MauvilleCity_House1/scripts.inc
index 50f84d87c..21655a1b8 100644
--- a/data/maps/MauvilleCity_House1/scripts.inc
+++ b/data/maps/MauvilleCity_House1/scripts.inc
@@ -1,24 +1,24 @@
MauvilleCity_House1_MapScripts:: @ 820F975
.byte 0
-MauvilleCity_House1_EventScript_20F976:: @ 820F976
+MauvilleCity_House1_EventScript_RockSmashDude:: @ 820F976
lock
faceplayer
- goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_20F9A5
- msgbox MauvilleCity_House1_Text_20F9AF, MSGBOX_DEFAULT
- giveitem_std ITEM_HM06
+ goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_ReceivedRockSmash
+ msgbox MauvilleCity_House1_Text_ImRockSmashDudeTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_HM06
setflag FLAG_RECEIVED_HM06
setflag FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY
- msgbox MauvilleCity_House1_Text_20FAA9, MSGBOX_DEFAULT
+ msgbox MauvilleCity_House1_Text_ExplainRockSmash, MSGBOX_DEFAULT
release
end
-MauvilleCity_House1_EventScript_20F9A5:: @ 820F9A5
- msgbox MauvilleCity_House1_Text_20FB67, MSGBOX_DEFAULT
+MauvilleCity_House1_EventScript_ReceivedRockSmash:: @ 820F9A5
+ msgbox MauvilleCity_House1_Text_MonCanFlyOutOfSmashedRock, MSGBOX_DEFAULT
release
end
-MauvilleCity_House1_Text_20F9AF: @ 820F9AF
+MauvilleCity_House1_Text_ImRockSmashDudeTakeThis: @ 820F9AF
.string "Woohoo!\p"
.string "I hear people call me the ROCK SMASH\n"
.string "GUY, but I find that sort of degrading.\p"
@@ -30,7 +30,7 @@ MauvilleCity_House1_Text_20F9AF: @ 820F9AF
.string "I like that!\n"
.string "Here, take this HIDDEN MACHINE!$"
-MauvilleCity_House1_Text_20FAA9: @ 820FAA9
+MauvilleCity_House1_Text_ExplainRockSmash: @ 820FAA9
.string "That HM contains ROCK SMASH.\p"
.string "If you come across large boulders\n"
.string "that block your path…\p"
@@ -39,7 +39,7 @@ MauvilleCity_House1_Text_20FAA9: @ 820FAA9
.string "Yes, sir! Smash rocks aside, I say!\n"
.string "Woohoo!$"
-MauvilleCity_House1_Text_20FB67: @ 820FB67
+MauvilleCity_House1_Text_MonCanFlyOutOfSmashedRock: @ 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/maps/MauvilleCity_House2/map.json b/data/maps/MauvilleCity_House2/map.json
index 272b60f0f..acdb4f504 100644
--- a/data/maps/MauvilleCity_House2/map.json
+++ b/data/maps/MauvilleCity_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_House2_EventScript_210C5D",
+ "script": "MauvilleCity_House2_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/MauvilleCity_House2/scripts.inc b/data/maps/MauvilleCity_House2/scripts.inc
index b683b8c15..06ec830ea 100644
--- a/data/maps/MauvilleCity_House2/scripts.inc
+++ b/data/maps/MauvilleCity_House2/scripts.inc
@@ -1,67 +1,67 @@
MauvilleCity_House2_MapScripts:: @ 8210C5C
.byte 0
-MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D
+MauvilleCity_House2_EventScript_Woman:: @ 8210C5D
lock
faceplayer
- goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_210CDA
- msgbox MauvilleCity_House2_Text_210CEE, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_ReceivedCoinCase
+ msgbox MauvilleCity_House2_Text_BuyHarborMailAtSlateport, MSGBOX_DEFAULT
checkitem ITEM_HARBOR_MAIL, 1
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_House2_EventScript_210C82
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_House2_EventScript_AskToTradeForHarborMail
release
end
-MauvilleCity_House2_EventScript_210C82:: @ 8210C82
+MauvilleCity_House2_EventScript_AskToTradeForHarborMail:: @ 8210C82
playse SE_PIN
applymovement VAR_LAST_TALKED, Common_Movement_ExclamationMark
waitmovement 0
applymovement VAR_LAST_TALKED, Common_Movement_Delay48
waitmovement 0
- msgbox MauvilleCity_House2_Text_210D76, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_House2_EventScript_210CB8
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_House2_EventScript_210CE4
+ msgbox MauvilleCity_House2_Text_TradeHarborMailForCoinCase, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MauvilleCity_House2_EventScript_AcceptTrade
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_House2_EventScript_DeclineTrade
end
-MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8
- msgbox MauvilleCity_House2_Text_210DB3, MSGBOX_DEFAULT
- takeitem ITEM_HARBOR_MAIL, 1
- giveitem_std ITEM_COIN_CASE
+MauvilleCity_House2_EventScript_AcceptTrade:: @ 8210CB8
+ msgbox MauvilleCity_House2_Text_IllTradeYouCoinCase, MSGBOX_DEFAULT
+ removeitem ITEM_HARBOR_MAIL
+ giveitem ITEM_COIN_CASE
setflag FLAG_RECEIVED_COIN_CASE
- goto MauvilleCity_House2_EventScript_210CDA
+ goto MauvilleCity_House2_EventScript_ReceivedCoinCase
end
-MauvilleCity_House2_EventScript_210CDA:: @ 8210CDA
- msgbox MauvilleCity_House2_Text_210DE7, MSGBOX_DEFAULT
+MauvilleCity_House2_EventScript_ReceivedCoinCase:: @ 8210CDA
+ msgbox MauvilleCity_House2_Text_UseCoinCaseAtGameCorner, MSGBOX_DEFAULT
release
end
-MauvilleCity_House2_EventScript_210CE4:: @ 8210CE4
- msgbox MauvilleCity_House2_Text_210E16, MSGBOX_DEFAULT
+MauvilleCity_House2_EventScript_DeclineTrade:: @ 8210CE4
+ msgbox MauvilleCity_House2_Text_ThatsDisappointing, MSGBOX_DEFAULT
release
end
-MauvilleCity_House2_Text_210CEE: @ 8210CEE
+MauvilleCity_House2_Text_BuyHarborMailAtSlateport: @ 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
+MauvilleCity_House2_Text_TradeHarborMailForCoinCase: @ 8210D76
.string "Oh! You have HARBOR MAIL?\n"
.string "Will you trade it for a COIN CASE?$"
-MauvilleCity_House2_Text_210DB3: @ 8210DB3
+MauvilleCity_House2_Text_IllTradeYouCoinCase: @ 8210DB3
.string "Oh, I'm so happy!\n"
.string "Okay, I'll trade you a COIN CASE!$"
-MauvilleCity_House2_Text_210DE7: @ 8210DE7
+MauvilleCity_House2_Text_UseCoinCaseAtGameCorner: @ 8210DE7
.string "That COIN CASE can be used\n"
.string "at the GAME CORNER.$"
-MauvilleCity_House2_Text_210E16: @ 8210E16
+MauvilleCity_House2_Text_ThatsDisappointing: @ 8210E16
.string "Oh, that's disappointing.\p"
.string "A COIN CASE is needed for the\n"
.string "GAME CORNER.$"
diff --git a/data/maps/MauvilleCity_Mart/map.json b/data/maps/MauvilleCity_Mart/map.json
index 598ed6e52..72e323bfe 100644
--- a/data/maps/MauvilleCity_Mart/map.json
+++ b/data/maps/MauvilleCity_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_Mart_EventScript_2110E6",
+ "script": "MauvilleCity_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_Mart_EventScript_21111C",
+ "script": "MauvilleCity_Mart_EventScript_ExpertM",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_Mart_EventScript_211125",
+ "script": "MauvilleCity_Mart_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/MauvilleCity_Mart/scripts.inc b/data/maps/MauvilleCity_Mart/scripts.inc
index 44e36489a..b288d42b7 100644
--- a/data/maps/MauvilleCity_Mart/scripts.inc
+++ b/data/maps/MauvilleCity_Mart/scripts.inc
@@ -1,18 +1,18 @@
MauvilleCity_Mart_MapScripts:: @ 82110E5
.byte 0
-MauvilleCity_Mart_EventScript_2110E6:: @ 82110E6
+MauvilleCity_Mart_EventScript_Clerk:: @ 82110E6
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart MauvilleCity_Mart_Pokemart_211100
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart MauvilleCity_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-MauvilleCity_Mart_Pokemart_211100: @ 8211100
+MauvilleCity_Mart_Pokemart: @ 8211100
.2byte ITEM_POKE_BALL
.2byte ITEM_GREAT_BALL
.2byte ITEM_SUPER_POTION
@@ -29,15 +29,15 @@ MauvilleCity_Mart_Pokemart_211100: @ 8211100
release
end
-MauvilleCity_Mart_EventScript_21111C:: @ 821111C
- msgbox MauvilleCity_Mart_Text_21112E, MSGBOX_NPC
+MauvilleCity_Mart_EventScript_ExpertM:: @ 821111C
+ msgbox MauvilleCity_Mart_Text_ItemsToTemporarilyElevateStats, MSGBOX_NPC
end
-MauvilleCity_Mart_EventScript_211125:: @ 8211125
- msgbox MauvilleCity_Mart_Text_2111D8, MSGBOX_NPC
+MauvilleCity_Mart_EventScript_Man:: @ 8211125
+ msgbox MauvilleCity_Mart_Text_DecisionsDetermineBattle, MSGBOX_NPC
end
-MauvilleCity_Mart_Text_21112E: @ 821112E
+MauvilleCity_Mart_Text_ItemsToTemporarilyElevateStats: @ 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"
@@ -45,7 +45,7 @@ MauvilleCity_Mart_Text_21112E: @ 821112E
.string "I do believe that there are others\n"
.string "like them.$"
-MauvilleCity_Mart_Text_2111D8: @ 82111D8
+MauvilleCity_Mart_Text_DecisionsDetermineBattle: @ 82111D8
.string "Use a certain move, or use an item\n"
.string "instead…\p"
.string "The TRAINER's decisions determine how\n"
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/map.json b/data/maps/MauvilleCity_PokemonCenter_1F/map.json
index c024c2cba..6540334be 100644
--- a/data/maps/MauvilleCity_PokemonCenter_1F/map.json
+++ b/data/maps/MauvilleCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E78",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_1F_EventScript_28E066",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_MauvilleOldMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E86",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_Woman1",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E8F",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_Woman2",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_1F_EventScript_210E98",
+ "script": "MauvilleCity_PokemonCenter_1F_EventScript_Youngster",
"flag": "0"
}
],
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc
index 50250de8e..f37f362e2 100644
--- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc
@@ -1,52 +1,53 @@
MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B
map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, MauvilleCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
MauvilleCity_PokemonCenter_1F_OnTransition: @ 8210E66
setrespawn HEAL_LOCATION_MAUVILLE_CITY
- call MauvilleCity_PokemonCenter_1F_EventScript_2718DE
- goto MauvilleCity_PokemonCenter_1F_EventScript_210E74
+ call Common_EventScript_UpdateBrineyLocation
+ goto MauvilleCity_PokemonCenter_1F_EventScript_SetMauvilleOldManGfx
end
-MauvilleCity_PokemonCenter_1F_EventScript_210E74:: @ 8210E74
+MauvilleCity_PokemonCenter_1F_EventScript_SetMauvilleOldManGfx:: @ 8210E74
special ScrSpecial_SetMauvilleOldManEventObjGfx
end
-MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78
+@ VAR_0x800B is the Nurse's object event id
+MauvilleCity_PokemonCenter_1F_EventScript_Nurse:: @ 8210E78
setvar VAR_0x800B, 1
- call MauvilleCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_210E86:: @ 8210E86
- msgbox MauvilleCity_PokemonCenter_1F_Text_210EA1, MSGBOX_NPC
+MauvilleCity_PokemonCenter_1F_EventScript_Woman1:: @ 8210E86
+ msgbox MauvilleCity_PokemonCenter_1F_Text_ManOverThereSaysWeirdThings, MSGBOX_NPC
end
-MauvilleCity_PokemonCenter_1F_EventScript_210E8F:: @ 8210E8F
- msgbox MauvilleCity_PokemonCenter_1F_Text_210F06, MSGBOX_NPC
+MauvilleCity_PokemonCenter_1F_EventScript_Woman2:: @ 8210E8F
+ msgbox MauvilleCity_PokemonCenter_1F_Text_MyDataUpdatedFromRecordCorner, MSGBOX_NPC
end
-MauvilleCity_PokemonCenter_1F_EventScript_210E98:: @ 8210E98
- msgbox MauvilleCity_PokemonCenter_1F_Text_210F8A, MSGBOX_NPC
+MauvilleCity_PokemonCenter_1F_EventScript_Youngster:: @ 8210E98
+ msgbox MauvilleCity_PokemonCenter_1F_Text_RecordCornerSoundsFun, MSGBOX_NPC
end
-MauvilleCity_PokemonCenter_1F_Text_210EA1: @ 8210EA1
+MauvilleCity_PokemonCenter_1F_Text_ManOverThereSaysWeirdThings: @ 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
+MauvilleCity_PokemonCenter_1F_Text_MyDataUpdatedFromRecordCorner: @ 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
+MauvilleCity_PokemonCenter_1F_Text_RecordCornerSoundsFun: @ 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"
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/map.json b/data/maps/MauvilleCity_PokemonCenter_2F/map.json
index 4afcc3882..000f0cf64 100644
--- a/data/maps/MauvilleCity_PokemonCenter_2F/map.json
+++ b/data/maps/MauvilleCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MauvilleCity_PokemonCenter_2F_EventScript_21102F",
+ "script": "MauvilleCity_PokemonCenter_2F_EventScript_Youngster",
"flag": "0"
}
],
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc
index c0200ea1f..9626e4882 100644
--- a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc
@@ -1,27 +1,28 @@
MauvilleCity_PokemonCenter_2F_MapScripts:: @ 8211008
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MauvilleCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, MauvilleCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-MauvilleCity_PokemonCenter_2F_EventScript_21101D:: @ 821101D
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+MauvilleCity_PokemonCenter_2F_EventScript_Colosseum:: @ 821101D
+ call CableClub_EventScript_Colosseum
end
-MauvilleCity_PokemonCenter_2F_EventScript_211023:: @ 8211023
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+MauvilleCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8211023
+ call CableClub_EventScript_TradeCenter
end
-MauvilleCity_PokemonCenter_2F_EventScript_211029:: @ 8211029
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+MauvilleCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8211029
+ call CableClub_EventScript_RecordCorner
end
-MauvilleCity_PokemonCenter_2F_EventScript_21102F:: @ 821102F
- msgbox MauvilleCity_PokemonCenter_2F_Text_211038, MSGBOX_NPC
+MauvilleCity_PokemonCenter_2F_EventScript_Youngster:: @ 821102F
+ msgbox MauvilleCity_PokemonCenter_2F_Text_Youngster, MSGBOX_NPC
end
-MauvilleCity_PokemonCenter_2F_Text_211038: @ 8211038
+MauvilleCity_PokemonCenter_2F_Text_Youngster: @ 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"
diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json
index 200c03e86..46e031857 100644
--- a/data/maps/MeteorFalls_1F_1R/map.json
+++ b/data/maps/MeteorFalls_1F_1R/map.json
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MeteorFalls_1F_1R_EventScript_22BF25",
+ "script": "MeteorFalls_1F_1R_EventScript_ProfCozmo",
"flag": "FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO"
}
],
@@ -197,7 +197,7 @@
"elevation": 4,
"var": "VAR_METEOR_FALLS_STATE",
"var_value": "0",
- "script": "MeteorFalls_1F_1R_EventScript_22BD5F"
+ "script": "MeteorFalls_1F_1R_EventScript_MagmaStealsMeteoriteScene"
}
],
"bg_events": [
diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc
index 8211034a6..ad3eb3eb8 100644
--- a/data/maps/MeteorFalls_1F_1R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_1R/scripts.inc
@@ -1,83 +1,83 @@
MeteorFalls_1F_1R_MapScripts:: @ 822BD2A
- map_script MAP_SCRIPT_ON_LOAD, MeteorFalls_1F_1R_MapScript1_22BD30
+ map_script MAP_SCRIPT_ON_LOAD, MeteorFalls_1F_1R_OnLoad
.byte 0
-MeteorFalls_1F_1R_MapScript1_22BD30: @ 822BD30
- call_if_set FLAG_SYS_GAME_CLEAR, MeteorFalls_1F_1R_EventScript_22BD3A
+MeteorFalls_1F_1R_OnLoad: @ 822BD30
+ call_if_set FLAG_SYS_GAME_CLEAR, MeteorFalls_1F_1R_EventScript_OpenStevensCave
end
-MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A
+MeteorFalls_1F_1R_EventScript_OpenStevensCave:: @ 822BD3A
setmetatile 4, 1, METATILE_MeteorFalls_CaveEntrance_Top, 1
setmetatile 3, 2, METATILE_MeteorFalls_CaveEntrance_Left, 1
setmetatile 4, 2, METATILE_MeteorFalls_CaveEntrance_Bottom, 0
setmetatile 5, 2, METATILE_MeteorFalls_CaveEntrance_Right, 1
return
-MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
+MeteorFalls_1F_1R_EventScript_MagmaStealsMeteoriteScene:: @ 822BD5F
lockall
playbgm MUS_MGM0, 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceDown
waitmovement 0
delay 30
- applymovement 5, MeteorFalls_1F_1R_Movement_2725B4
+ applymovement 5, Common_Movement_WalkInPlaceDown
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22BF47, MSGBOX_DEFAULT
+ msgbox MeteorFalls_1F_1R_Text_WithThisMeteorite, MSGBOX_DEFAULT
closemessage
- applymovement 5, Common_Movement_WalkInPlaceUp
- applymovement 6, Common_Movement_WalkInPlaceUp
+ applymovement 5, Common_Movement_WalkInPlaceFastestUp
+ applymovement 6, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
playse SE_PIN
applymovement 5, Common_Movement_ExclamationMark
waitmovement 0
applymovement 5, Common_Movement_Delay48
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22BF84, MSGBOX_DEFAULT
+ msgbox MeteorFalls_1F_1R_Text_DontExpectMercyFromMagma, MSGBOX_DEFAULT
closemessage
- applymovement 5, MeteorFalls_1F_1R_Movement_22BEC0
+ applymovement 5, MeteorFalls_1F_1R_Movement_MagmaGruntApproachPlayer
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22BFE4, MSGBOX_DEFAULT
+ msgbox MeteorFalls_1F_1R_Text_HoldItRightThereMagma, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
- applymovement 5, Common_Movement_WalkInPlaceLeft
- applymovement 6, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 5, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 6, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
addobject 7
addobject 8
addobject 9
playbgm MUS_AQA_0, 0
- applymovement 7, MeteorFalls_1F_1R_Movement_22BED9
- applymovement 8, MeteorFalls_1F_1R_Movement_22BEE0
- applymovement 9, MeteorFalls_1F_1R_Movement_22BEE8
+ applymovement 7, MeteorFalls_1F_1R_Movement_ArchieArrive
+ applymovement 8, MeteorFalls_1F_1R_Movement_AquaGrunt1Arrive
+ applymovement 9, MeteorFalls_1F_1R_Movement_AquaGrunt2Arrive
waitmovement 0
- applymovement 5, Common_Movement_WalkInPlaceLeft
- applymovement 6, Common_Movement_WalkInPlaceLeft
+ applymovement 5, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 6, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C04E, MSGBOX_DEFAULT
+ msgbox MeteorFalls_1F_1R_Text_BeSeeingYouTeamAqua, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_22BF1D
- applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4
- applymovement 6, MeteorFalls_1F_1R_Movement_22BECE
+ applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_PushPlayerOutOfWay
+ applymovement 5, MeteorFalls_1F_1R_Movement_MagmaGrunt1Exit
+ applymovement 6, MeteorFalls_1F_1R_Movement_MagmaGrunt2Exit
waitmovement 0
removeobject 5
removeobject 6
- applymovement 7, MeteorFalls_1F_1R_Movement_22BEF8
+ applymovement 7, MeteorFalls_1F_1R_Movement_ArchieApproachPlayer
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C11C, MSGBOX_DEFAULT
+ msgbox MeteorFalls_1F_1R_Text_ArchieSeenYouBefore, MSGBOX_DEFAULT
closemessage
- applymovement 8, MeteorFalls_1F_1R_Movement_22BF08
- applymovement 9, MeteorFalls_1F_1R_Movement_22BF18
+ applymovement 8, MeteorFalls_1F_1R_Movement_AquaGrunt1ApproachArchie
+ applymovement 9, MeteorFalls_1F_1R_Movement_AquaGrunt2ApproachArchie
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C268, MSGBOX_DEFAULT
- applymovement 7, Common_Movement_WalkInPlaceDown
+ msgbox MeteorFalls_1F_1R_Text_BossWeShouldChaseMagma, MSGBOX_DEFAULT
+ applymovement 7, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C292, MSGBOX_DEFAULT
- applymovement 7, Common_Movement_WalkInPlaceLeft
+ msgbox MeteorFalls_1F_1R_Text_ArchieYesNoTellingWhatMagmaWillDo, MSGBOX_DEFAULT
+ applymovement 7, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C2FC, MSGBOX_DEFAULT
+ msgbox MeteorFalls_1F_1R_Text_ArchieFarewell, MSGBOX_DEFAULT
closemessage
- applymovement 7, MeteorFalls_1F_1R_Movement_22BEF0
- applymovement 8, MeteorFalls_1F_1R_Movement_22BEFE
- applymovement 9, MeteorFalls_1F_1R_Movement_22BF0D
+ applymovement 7, MeteorFalls_1F_1R_Movement_ArchieExit
+ applymovement 8, MeteorFalls_1F_1R_Movement_AquaGrunt1Exit
+ applymovement 9, MeteorFalls_1F_1R_Movement_AquaGrunt2Exit
waitmovement 0
fadedefaultbgm
removeobject 7
@@ -85,18 +85,18 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
removeobject 9
setflag FLAG_HIDE_ROUTE_112_TEAM_MAGMA
setflag FLAG_MET_ARCHIE_METEOR_FALLS
- setflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT
+ setflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT
setvar VAR_METEOR_FALLS_STATE, 1
releaseall
end
-MeteorFalls_1F_1R_Movement_22BEC0: @ 822BEC0
+MeteorFalls_1F_1R_Movement_MagmaGruntApproachPlayer: @ 822BEC0
walk_right
walk_right
walk_in_place_fastest_up
step_end
-MeteorFalls_1F_1R_Movement_22BEC4: @ 822BEC4
+MeteorFalls_1F_1R_Movement_MagmaGrunt1Exit: @ 822BEC4
walk_fast_up
walk_fast_up
walk_fast_right
@@ -108,7 +108,7 @@ MeteorFalls_1F_1R_Movement_22BEC4: @ 822BEC4
walk_fast_right
step_end
-MeteorFalls_1F_1R_Movement_22BECE: @ 822BECE
+MeteorFalls_1F_1R_Movement_MagmaGrunt2Exit: @ 822BECE
walk_fast_up
walk_fast_up
walk_fast_up
@@ -121,7 +121,7 @@ MeteorFalls_1F_1R_Movement_22BECE: @ 822BECE
walk_fast_right
step_end
-MeteorFalls_1F_1R_Movement_22BED9: @ 822BED9
+MeteorFalls_1F_1R_Movement_ArchieArrive: @ 822BED9
walk_right
walk_right
walk_right
@@ -130,7 +130,7 @@ MeteorFalls_1F_1R_Movement_22BED9: @ 822BED9
walk_right
step_end
-MeteorFalls_1F_1R_Movement_22BEE0: @ 822BEE0
+MeteorFalls_1F_1R_Movement_AquaGrunt1Arrive: @ 822BEE0
delay_16
delay_16
walk_right
@@ -140,7 +140,7 @@ MeteorFalls_1F_1R_Movement_22BEE0: @ 822BEE0
walk_right
step_end
-MeteorFalls_1F_1R_Movement_22BEE8: @ 822BEE8
+MeteorFalls_1F_1R_Movement_AquaGrunt2Arrive: @ 822BEE8
delay_16
delay_16
walk_right
@@ -150,7 +150,7 @@ MeteorFalls_1F_1R_Movement_22BEE8: @ 822BEE8
walk_right
step_end
-MeteorFalls_1F_1R_Movement_22BEF0: @ 822BEF0
+MeteorFalls_1F_1R_Movement_ArchieExit: @ 822BEF0
walk_right
walk_right
walk_right
@@ -160,7 +160,7 @@ MeteorFalls_1F_1R_Movement_22BEF0: @ 822BEF0
walk_right
step_end
-MeteorFalls_1F_1R_Movement_22BEF8: @ 822BEF8
+MeteorFalls_1F_1R_Movement_ArchieApproachPlayer: @ 822BEF8
walk_right
walk_right
walk_up
@@ -168,7 +168,7 @@ MeteorFalls_1F_1R_Movement_22BEF8: @ 822BEF8
walk_in_place_fastest_left
step_end
-MeteorFalls_1F_1R_Movement_22BEFE: @ 822BEFE
+MeteorFalls_1F_1R_Movement_AquaGrunt1Exit: @ 822BEFE
walk_up
walk_up
walk_right
@@ -180,14 +180,14 @@ MeteorFalls_1F_1R_Movement_22BEFE: @ 822BEFE
walk_right
step_end
-MeteorFalls_1F_1R_Movement_22BF08: @ 822BF08
+MeteorFalls_1F_1R_Movement_AquaGrunt1ApproachArchie: @ 822BF08
walk_right
walk_right
walk_right
walk_in_place_fastest_up
step_end
-MeteorFalls_1F_1R_Movement_22BF0D: @ 822BF0D
+MeteorFalls_1F_1R_Movement_AquaGrunt2Exit: @ 822BF0D
walk_up
walk_up
walk_up
@@ -200,14 +200,14 @@ MeteorFalls_1F_1R_Movement_22BF0D: @ 822BF0D
walk_right
step_end
-MeteorFalls_1F_1R_Movement_22BF18: @ 822BF18
+MeteorFalls_1F_1R_Movement_AquaGrunt2ApproachArchie: @ 822BF18
walk_right
walk_right
walk_right
walk_in_place_fastest_up
step_end
-MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D
+MeteorFalls_1F_1R_Movement_PushPlayerOutOfWay: @ 822BF1D
walk_in_place_fastest_down
delay_4
walk_in_place_fastest_right
@@ -217,37 +217,37 @@ MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D
face_right
step_end
-MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25
+MeteorFalls_1F_1R_EventScript_ProfCozmo:: @ 822BF25
lock
faceplayer
- goto_if_set FLAG_MET_PROF_COSMO, MeteorFalls_1F_1R_EventScript_22BF3D
- setflag FLAG_MET_PROF_COSMO
- msgbox MeteorFalls_1F_1R_Text_22C342, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_PROF_COZMO, MeteorFalls_1F_1R_EventScript_MetCozmo
+ setflag FLAG_MET_PROF_COZMO
+ msgbox MeteorFalls_1F_1R_Text_MeetProfCozmo, MSGBOX_DEFAULT
release
end
-MeteorFalls_1F_1R_EventScript_22BF3D:: @ 822BF3D
- msgbox MeteorFalls_1F_1R_Text_22C47D, MSGBOX_DEFAULT
+MeteorFalls_1F_1R_EventScript_MetCozmo:: @ 822BF3D
+ msgbox MeteorFalls_1F_1R_Text_WhatsTeamMagmaDoingAtMtChimney, MSGBOX_DEFAULT
release
end
-MeteorFalls_1F_1R_Text_22BF47: @ 822BF47
+MeteorFalls_1F_1R_Text_WithThisMeteorite: @ 822BF47
.string "Hehehe!\p"
.string "With this METEORITE, that thing in\n"
.string "MT. CHIMNEY will…$"
-MeteorFalls_1F_1R_Text_22BF84: @ 822BF84
+MeteorFalls_1F_1R_Text_DontExpectMercyFromMagma: @ 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
+MeteorFalls_1F_1R_Text_HoldItRightThereMagma: @ 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
+MeteorFalls_1F_1R_Text_BeSeeingYouTeamAqua: @ 822C04E
.string "Hehehe!\n"
.string "Even TEAM AQUA joins us!\p"
.string "But it's too much trouble to deal with\n"
@@ -258,7 +258,7 @@ MeteorFalls_1F_1R_Text_22C04E: @ 822C04E
.string "Hehehe! Be seeing you, you TEAM\n"
.string "AQUA dingbats!$"
-MeteorFalls_1F_1R_Text_22C11C: @ 822C11C
+MeteorFalls_1F_1R_Text_ArchieSeenYouBefore: @ 822C11C
.string "ARCHIE: Didn't I see you before?\n"
.string "At SLATEPORT's MUSEUM?\p"
.string "Ah, so your name is {PLAYER}.\p"
@@ -273,22 +273,22 @@ MeteorFalls_1F_1R_Text_22C11C: @ 822C11C
.string "They are the rivals to us,\n"
.string "the sea-loving TEAM AQUA!$"
-MeteorFalls_1F_1R_Text_22C268: @ 822C268
+MeteorFalls_1F_1R_Text_BossWeShouldChaseMagma: @ 822C268
.string "BOSS, we should give chase to\n"
.string "TEAM MAGMA…$"
-MeteorFalls_1F_1R_Text_22C292: @ 822C292
+MeteorFalls_1F_1R_Text_ArchieYesNoTellingWhatMagmaWillDo: @ 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
+MeteorFalls_1F_1R_Text_ArchieFarewell: @ 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
+MeteorFalls_1F_1R_Text_MeetProfCozmo: @ 822C342
.string "I… I'm COZMO…\n"
.string "I'm a PROFESSOR…\p"
.string "TEAM MAGMA asked me to guide them\n"
@@ -303,7 +303,7 @@ MeteorFalls_1F_1R_Text_22C342: @ 822C342
.string "What are they going to do with that\n"
.string "METEORITE at MT. CHIMNEY?$"
-MeteorFalls_1F_1R_Text_22C47D: @ 822C47D
+MeteorFalls_1F_1R_Text_WhatsTeamMagmaDoingAtMtChimney: @ 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/maps/MeteorFalls_1F_2R/map.json b/data/maps/MeteorFalls_1F_2R/map.json
index be52085cd..1b27e859e 100644
--- a/data/maps/MeteorFalls_1F_2R/map.json
+++ b/data/maps/MeteorFalls_1F_2R/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MeteorFalls_1F_2R_EventScript_22C4DE",
+ "script": "MeteorFalls_1F_2R_EventScript_Nicolas",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MeteorFalls_1F_2R_EventScript_22C540",
+ "script": "MeteorFalls_1F_2R_EventScript_John",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MeteorFalls_1F_2R_EventScript_22C5A4",
+ "script": "MeteorFalls_1F_2R_EventScript_Jay",
"flag": "0"
}
],
diff --git a/data/maps/MeteorFalls_1F_2R/scripts.inc b/data/maps/MeteorFalls_1F_2R/scripts.inc
index fee636e0b..0fa73212e 100644
--- a/data/maps/MeteorFalls_1F_2R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_2R/scripts.inc
@@ -1,184 +1,184 @@
MeteorFalls_1F_2R_MapScripts:: @ 822C4DD
.byte 0
-MeteorFalls_1F_2R_EventScript_22C4DE:: @ 822C4DE
- trainerbattle_single TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_22C608, MeteorFalls_1F_2R_Text_22C678, MeteorFalls_1F_2R_EventScript_22C50A
+MeteorFalls_1F_2R_EventScript_Nicolas:: @ 822C4DE
+ trainerbattle_single TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_NicolasIntro, MeteorFalls_1F_2R_Text_NicolasDefeat, MeteorFalls_1F_2R_EventScript_RegisterNicolas
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MeteorFalls_1F_2R_EventScript_22C529
- msgbox MeteorFalls_1F_2R_Text_22C6A3, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MeteorFalls_1F_2R_EventScript_RematchNicolas
+ msgbox MeteorFalls_1F_2R_Text_NicolasPostBattle, MSGBOX_DEFAULT
release
end
-MeteorFalls_1F_2R_EventScript_22C50A:: @ 822C50A
- special sub_80B4808
+MeteorFalls_1F_2R_EventScript_RegisterNicolas:: @ 822C50A
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox MeteorFalls_1F_2R_Text_22C6F6, MSGBOX_DEFAULT
+ msgbox MeteorFalls_1F_2R_Text_NicolasRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_NICOLAS_1
release
end
-MeteorFalls_1F_2R_EventScript_22C529:: @ 822C529
- trainerbattle_rematch TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_22C73F, MeteorFalls_1F_2R_Text_22C7AD
- msgbox MeteorFalls_1F_2R_Text_22C7D8, MSGBOX_AUTOCLOSE
+MeteorFalls_1F_2R_EventScript_RematchNicolas:: @ 822C529
+ trainerbattle_rematch TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_NicolasRematchIntro, MeteorFalls_1F_2R_Text_NicolasRematchDefeat
+ msgbox MeteorFalls_1F_2R_Text_NicolasPostRematch, MSGBOX_AUTOCLOSE
end
-MeteorFalls_1F_2R_EventScript_22C540:: @ 822C540
- trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22C843, MeteorFalls_1F_2R_Text_22C89C, MeteorFalls_1F_2R_Text_22C92B, MeteorFalls_1F_2R_EventScript_22C570
+MeteorFalls_1F_2R_EventScript_John:: @ 822C540
+ trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JohnIntro, MeteorFalls_1F_2R_Text_JohnDefeat, MeteorFalls_1F_2R_Text_JohnNotEnoughMons, MeteorFalls_1F_2R_EventScript_RegisterJohn
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MeteorFalls_1F_2R_EventScript_22C589
- msgbox MeteorFalls_1F_2R_Text_22C8C1, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MeteorFalls_1F_2R_EventScript_RematchJohn
+ msgbox MeteorFalls_1F_2R_Text_JohnPostBattle, MSGBOX_DEFAULT
release
end
-MeteorFalls_1F_2R_EventScript_22C570:: @ 822C570
- msgbox MeteorFalls_1F_2R_Text_22C99C, MSGBOX_DEFAULT
+MeteorFalls_1F_2R_EventScript_RegisterJohn:: @ 822C570
+ msgbox MeteorFalls_1F_2R_Text_JohnRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_JOHN_AND_JAY_1
release
end
-MeteorFalls_1F_2R_EventScript_22C589:: @ 822C589
- trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22CB47, MeteorFalls_1F_2R_Text_22CBA0, MeteorFalls_1F_2R_Text_22CC27
- msgbox MeteorFalls_1F_2R_Text_22CBC5, MSGBOX_AUTOCLOSE
+MeteorFalls_1F_2R_EventScript_RematchJohn:: @ 822C589
+ trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JohnRematchIntro, MeteorFalls_1F_2R_Text_JohnRematchDefeat, MeteorFalls_1F_2R_Text_JohnRematchNotEnoughMons
+ msgbox MeteorFalls_1F_2R_Text_JohnPostRematch, MSGBOX_AUTOCLOSE
end
-MeteorFalls_1F_2R_EventScript_22C5A4:: @ 822C5A4
- trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22C9E6, MeteorFalls_1F_2R_Text_22CA44, MeteorFalls_1F_2R_Text_22CACD, MeteorFalls_1F_2R_EventScript_22C5D4
+MeteorFalls_1F_2R_EventScript_Jay:: @ 822C5A4
+ trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JayIntro, MeteorFalls_1F_2R_Text_JayDefeat, MeteorFalls_1F_2R_Text_JayNotEnoughMons, MeteorFalls_1F_2R_EventScript_RegisterJay
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MeteorFalls_1F_2R_EventScript_22C5ED
- msgbox MeteorFalls_1F_2R_Text_22CA70, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MeteorFalls_1F_2R_EventScript_RematchJay
+ msgbox MeteorFalls_1F_2R_Text_JayPostBattle, MSGBOX_DEFAULT
release
end
-MeteorFalls_1F_2R_EventScript_22C5D4:: @ 822C5D4
- msgbox MeteorFalls_1F_2R_Text_22C99C, MSGBOX_DEFAULT
+MeteorFalls_1F_2R_EventScript_RegisterJay:: @ 822C5D4
+ msgbox MeteorFalls_1F_2R_Text_JohnRegister, MSGBOX_DEFAULT @ John speaks for both during register
register_matchcall TRAINER_JOHN_AND_JAY_1
release
end
-MeteorFalls_1F_2R_EventScript_22C5ED:: @ 822C5ED
- trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22CC98, MeteorFalls_1F_2R_Text_22CD08, MeteorFalls_1F_2R_Text_22CDAB
- msgbox MeteorFalls_1F_2R_Text_22CD34, MSGBOX_AUTOCLOSE
+MeteorFalls_1F_2R_EventScript_RematchJay:: @ 822C5ED
+ trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JayRematchIntro, MeteorFalls_1F_2R_Text_JayRematchDefeat, MeteorFalls_1F_2R_Text_JayRematchNotEnoughMons
+ msgbox MeteorFalls_1F_2R_Text_JayPostRematch, MSGBOX_AUTOCLOSE
end
-MeteorFalls_1F_2R_Text_22C608: @ 822C608
+MeteorFalls_1F_2R_Text_NicolasIntro: @ 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
+MeteorFalls_1F_2R_Text_NicolasDefeat: @ 822C678
.string "Urgh!\n"
.string "I didn't expect you to be so strong!$"
-MeteorFalls_1F_2R_Text_22C6A3: @ 822C6A3
+MeteorFalls_1F_2R_Text_NicolasPostBattle: @ 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
+MeteorFalls_1F_2R_Text_NicolasRegister: @ 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
+MeteorFalls_1F_2R_Text_NicolasRematchIntro: @ 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
+MeteorFalls_1F_2R_Text_NicolasRematchDefeat: @ 822C7AD
.string "Urgh!\n"
.string "I didn't expect you to be so strong!$"
-MeteorFalls_1F_2R_Text_22C7D8: @ 822C7D8
+MeteorFalls_1F_2R_Text_NicolasPostRematch: @ 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
+MeteorFalls_1F_2R_Text_JohnIntro: @ 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
+MeteorFalls_1F_2R_Text_JohnDefeat: @ 822C89C
.string "JOHN: Oh, my.\n"
.string "We've lost, dear wife.$"
-MeteorFalls_1F_2R_Text_22C8C1: @ 822C8C1
+MeteorFalls_1F_2R_Text_JohnPostBattle: @ 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
+MeteorFalls_1F_2R_Text_JohnNotEnoughMons: @ 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
+MeteorFalls_1F_2R_Text_JohnRegister: @ 822C99C
.string "JOHN: Young TRAINER, if the chance\n"
.string "arises, will you battle with us again?$"
-MeteorFalls_1F_2R_Text_22C9E6: @ 822C9E6
+MeteorFalls_1F_2R_Text_JayIntro: @ 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
+MeteorFalls_1F_2R_Text_JayDefeat: @ 822CA44
.string "JAY: Oh, dear.\n"
.string "We've lost, my dear husband.$"
-MeteorFalls_1F_2R_Text_22CA70: @ 822CA70
+MeteorFalls_1F_2R_Text_JayPostBattle: @ 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
+MeteorFalls_1F_2R_Text_JayNotEnoughMons: @ 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
+MeteorFalls_1F_2R_Text_JohnRematchIntro: @ 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
+MeteorFalls_1F_2R_Text_JohnRematchDefeat: @ 822CBA0
.string "JOHN: Oh, my.\n"
.string "We've lost, dear wife.$"
-MeteorFalls_1F_2R_Text_22CBC5: @ 822CBC5
+MeteorFalls_1F_2R_Text_JohnPostRematch: @ 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
+MeteorFalls_1F_2R_Text_JohnRematchNotEnoughMons: @ 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
+MeteorFalls_1F_2R_Text_JayRematchIntro: @ 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
+MeteorFalls_1F_2R_Text_JayRematchDefeat: @ 822CD08
.string "JAY: Oh, dear.\n"
.string "We've lost, my dear husband.$"
-MeteorFalls_1F_2R_Text_22CD34: @ 822CD34
+MeteorFalls_1F_2R_Text_JayPostRematch: @ 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
+MeteorFalls_1F_2R_Text_JayRematchNotEnoughMons: @ 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"
diff --git a/data/maps/MeteorFalls_StevensCave/map.json b/data/maps/MeteorFalls_StevensCave/map.json
index b23c3f952..c5ad26805 100644
--- a/data/maps/MeteorFalls_StevensCave/map.json
+++ b/data/maps/MeteorFalls_StevensCave/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MeteorFalls_StevensCave_EventScript_23B182",
+ "script": "MeteorFalls_StevensCave_EventScript_Steven",
"flag": "0"
}
],
diff --git a/data/maps/MeteorFalls_StevensCave/scripts.inc b/data/maps/MeteorFalls_StevensCave/scripts.inc
index 31baad43c..71313be67 100644
--- a/data/maps/MeteorFalls_StevensCave/scripts.inc
+++ b/data/maps/MeteorFalls_StevensCave/scripts.inc
@@ -1,9 +1,9 @@
MeteorFalls_StevensCave_MapScripts:: @ 823B181
.byte 0
-MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182
+MeteorFalls_StevensCave_EventScript_Steven:: @ 823B182
lock
- goto_if_set FLAG_DEFEATED_METEOR_FALLS_STEVEN, MeteorFalls_StevensCave_EventScript_23B1CD
+ goto_if_set FLAG_DEFEATED_METEOR_FALLS_STEVEN, MeteorFalls_StevensCave_EventScript_Defeated
waitse
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
@@ -12,21 +12,21 @@ MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182
waitmovement 0
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox MeteorFalls_StevensCave_Text_23B1E1, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_STEVEN, MeteorFalls_StevensCave_Text_23B32D
- msgbox MeteorFalls_StevensCave_Text_23B358, MSGBOX_DEFAULT
+ msgbox MeteorFalls_StevensCave_Text_ShouldKnowHowGoodIAmExpectWorst, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_STEVEN, MeteorFalls_StevensCave_Text_StevenDefeat
+ msgbox MeteorFalls_StevensCave_Text_MyPredictionCameTrue, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_METEOR_FALLS_STEVEN
release
end
-MeteorFalls_StevensCave_EventScript_23B1CD:: @ 823B1CD
+MeteorFalls_StevensCave_EventScript_Defeated:: @ 823B1CD
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox MeteorFalls_StevensCave_Text_23B358, MSGBOX_DEFAULT
+ msgbox MeteorFalls_StevensCave_Text_MyPredictionCameTrue, MSGBOX_DEFAULT
release
end
-MeteorFalls_StevensCave_Text_23B1E1: @ 823B1E1
+MeteorFalls_StevensCave_Text_ShouldKnowHowGoodIAmExpectWorst: @ 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"
@@ -39,11 +39,11 @@ MeteorFalls_StevensCave_Text_23B1E1: @ 823B1E1
.string "Okay, {PLAYER}{KUN}, if you're going to mount\n"
.string "a serious challenge, expect the worst!$"
-MeteorFalls_StevensCave_Text_23B32D: @ 823B32D
+MeteorFalls_StevensCave_Text_StevenDefeat: @ 823B32D
.string "You…\n"
.string "I had no idea you'd become so strong…$"
-MeteorFalls_StevensCave_Text_23B358: @ 823B358
+MeteorFalls_StevensCave_Text_MyPredictionCameTrue: @ 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"
diff --git a/data/maps/MirageTower_2F/scripts.inc b/data/maps/MirageTower_2F/scripts.inc
index d22a7c6ff..888288633 100644
--- a/data/maps/MirageTower_2F/scripts.inc
+++ b/data/maps/MirageTower_2F/scripts.inc
@@ -1,11 +1,11 @@
MirageTower_2F_MapScripts:: @ 823AD11
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MirageTower_2F_MapScript2_2A8327
- map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_2F_MapScript1_2A8331
- map_script MAP_SCRIPT_ON_RESUME, MirageTower_2F_MapScript1_23AD21
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole
+ map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround
+ map_script MAP_SCRIPT_ON_RESUME, MirageTower_2F_SetHoleWarp
.byte 0
-MirageTower_2F_MapScript1_23AD21: @ 823AD21
- setstepcallback 7
+MirageTower_2F_SetHoleWarp: @ 823AD21
+ setstepcallback STEP_CB_CRACKED_FLOOR
setholewarp MAP_MIRAGE_TOWER_1F, 255, 0, 0
end
diff --git a/data/maps/MirageTower_3F/scripts.inc b/data/maps/MirageTower_3F/scripts.inc
index f29f542fc..a54b2ccca 100644
--- a/data/maps/MirageTower_3F/scripts.inc
+++ b/data/maps/MirageTower_3F/scripts.inc
@@ -1,11 +1,11 @@
MirageTower_3F_MapScripts:: @ 823AD2C
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MirageTower_3F_MapScript2_2A8327
- map_script MAP_SCRIPT_ON_TRANSITION, MirageTower_3F_MapScript1_2A8331
- map_script MAP_SCRIPT_ON_RESUME, MirageTower_3F_MapScript1_23AD3C
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole
+ map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround
+ map_script MAP_SCRIPT_ON_RESUME, MirageTower_3F_SetHoleWarp
.byte 0
-MirageTower_3F_MapScript1_23AD3C: @ 823AD3C
- setstepcallback 7
+MirageTower_3F_SetHoleWarp: @ 823AD3C
+ setstepcallback STEP_CB_CRACKED_FLOOR
setholewarp MAP_MIRAGE_TOWER_2F, 255, 0, 0
end
diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json
index 45e5fa62b..71e080a23 100644
--- a/data/maps/MirageTower_4F/map.json
+++ b/data/maps/MirageTower_4F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MirageTower_4F_EventScript_23AD48",
+ "script": "MirageTower_4F_EventScript_RootFossil",
"flag": "FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MirageTower_4F_EventScript_23AD89",
+ "script": "MirageTower_4F_EventScript_ClawFossil",
"flag": "FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL"
},
{
diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc
index 5208820df..ceb78ab45 100644
--- a/data/maps/MirageTower_4F/scripts.inc
+++ b/data/maps/MirageTower_4F/scripts.inc
@@ -1,54 +1,54 @@
MirageTower_4F_MapScripts:: @ 823AD47
.byte 0
-MirageTower_4F_EventScript_23AD48:: @ 823AD48
+MirageTower_4F_EventScript_RootFossil:: @ 823AD48
lock
faceplayer
- msgbox MirageTower_4F_Text_23ADF9, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MirageTower_4F_EventScript_23AD7F
- giveitem_std ITEM_ROOT_FOSSIL
+ msgbox MirageTower_4F_Text_TakeRootFossil, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MirageTower_4F_EventScript_LeaveRootFossil
+ giveitem ITEM_ROOT_FOSSIL
closemessage
setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL
setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL
removeobject 1
delay 30
- setflag FLAG_CHOSE_CLAW_FOSSIL
- goto MirageTower_4F_EventScript_23ADCA
+ setflag FLAG_CHOSE_ROOT_FOSSIL
+ goto MirageTower_4F_EventScript_CollapseMirageTower
end
-MirageTower_4F_EventScript_23AD7F:: @ 823AD7F
- msgbox MirageTower_4F_Text_23AE79, MSGBOX_DEFAULT
+MirageTower_4F_EventScript_LeaveRootFossil:: @ 823AD7F
+ msgbox MirageTower_4F_Text_LeftRootFossilAlone, MSGBOX_DEFAULT
release
end
-MirageTower_4F_EventScript_23AD89:: @ 823AD89
+MirageTower_4F_EventScript_ClawFossil:: @ 823AD89
lock
faceplayer
- msgbox MirageTower_4F_Text_23AE98, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MirageTower_4F_EventScript_23ADC0
- giveitem_std ITEM_CLAW_FOSSIL
+ msgbox MirageTower_4F_Text_TakeClawFossil, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MirageTower_4F_EventScript_LeaveClawFossil
+ giveitem ITEM_CLAW_FOSSIL
closemessage
setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL
setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL
removeobject 2
delay 30
- setflag FLAG_CHOSE_ROOT_FOSSIL
- goto MirageTower_4F_EventScript_23ADCA
+ setflag FLAG_CHOSE_CLAW_FOSSIL
+ goto MirageTower_4F_EventScript_CollapseMirageTower
end
-MirageTower_4F_EventScript_23ADC0:: @ 823ADC0
- msgbox MirageTower_4F_Text_23AF18, MSGBOX_DEFAULT
+MirageTower_4F_EventScript_LeaveClawFossil:: @ 823ADC0
+ msgbox MirageTower_4F_Text_LeaveClawFossilAlone, MSGBOX_DEFAULT
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
+MirageTower_4F_EventScript_CollapseMirageTower:: @ 823ADCA
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 32 @ num shakes
+ setvar VAR_0x8007, 2 @ shake delay
+ special ShakeCamera
waitstate
special DoMirageTowerCeilingCrumble
waitstate
@@ -59,21 +59,21 @@ MirageTower_4F_EventScript_23ADCA:: @ 823ADCA
release
end
-MirageTower_4F_Text_23ADF9: @ 823ADF9
+MirageTower_4F_Text_TakeRootFossil: @ 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
+MirageTower_4F_Text_LeftRootFossilAlone: @ 823AE79
.string "{PLAYER} left the ROOT FOSSIL alone.$"
-MirageTower_4F_Text_23AE98: @ 823AE98
+MirageTower_4F_Text_TakeClawFossil: @ 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
+MirageTower_4F_Text_LeaveClawFossilAlone: @ 823AF18
.string "{PLAYER} left the CLAW FOSSIL alone.$"
diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json
index db24a9b3b..e3b1af96b 100644
--- a/data/maps/MossdeepCity/map.json
+++ b/data/maps/MossdeepCity/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4AD1",
+ "script": "MossdeepCity_EventScript_Sailor",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4AF9",
+ "script": "MossdeepCity_EventScript_ExpertM",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4AB2",
+ "script": "MossdeepCity_EventScript_PokefanF",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4AF0",
+ "script": "MossdeepCity_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4B02",
+ "script": "MossdeepCity_EventScript_Girl",
"flag": "0"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4C10",
+ "script": "MossdeepCity_EventScript_Man",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4B0B",
+ "script": "MossdeepCity_EventScript_Woman",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4C26",
+ "script": "MossdeepCity_EventScript_KingsRockBoy",
"flag": "0"
},
{
@@ -222,7 +222,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_2C81EE",
+ "script": "MossdeepCity_EventScript_DynamicPunchTutor",
"flag": "0"
},
{
@@ -235,7 +235,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4C85",
+ "script": "MossdeepCity_EventScript_Scott",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SCOTT"
},
{
@@ -248,7 +248,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_EventScript_1E4C7C",
+ "script": "MossdeepCity_EventScript_BlackBelt",
"flag": "0"
}
],
@@ -332,7 +332,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_EventScript_1E4B38"
+ "script": "MossdeepCity_EventScript_VisitedMossdeep"
},
{
"type": "trigger",
@@ -341,7 +341,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_EventScript_1E4B38"
+ "script": "MossdeepCity_EventScript_VisitedMossdeep"
},
{
"type": "trigger",
@@ -350,7 +350,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_EventScript_1E4B38"
+ "script": "MossdeepCity_EventScript_VisitedMossdeep"
},
{
"type": "trigger",
@@ -359,7 +359,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_EventScript_1E4B38"
+ "script": "MossdeepCity_EventScript_VisitedMossdeep"
},
{
"type": "trigger",
@@ -368,7 +368,7 @@
"elevation": 5,
"var": "VAR_MOSSDEEP_CITY_STATE",
"var_value": "1",
- "script": "MossdeepCity_EventScript_1E4B41"
+ "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter"
},
{
"type": "trigger",
@@ -377,7 +377,7 @@
"elevation": 5,
"var": "VAR_MOSSDEEP_CITY_STATE",
"var_value": "1",
- "script": "MossdeepCity_EventScript_1E4B41"
+ "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter"
},
{
"type": "trigger",
@@ -386,7 +386,7 @@
"elevation": 5,
"var": "VAR_MOSSDEEP_CITY_STATE",
"var_value": "1",
- "script": "MossdeepCity_EventScript_1E4B41"
+ "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter"
},
{
"type": "trigger",
@@ -395,7 +395,7 @@
"elevation": 5,
"var": "VAR_MOSSDEEP_CITY_STATE",
"var_value": "1",
- "script": "MossdeepCity_EventScript_1E4B41"
+ "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter"
},
{
"type": "trigger",
@@ -404,7 +404,7 @@
"elevation": 5,
"var": "VAR_MOSSDEEP_CITY_STATE",
"var_value": "1",
- "script": "MossdeepCity_EventScript_1E4B41"
+ "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter"
},
{
"type": "trigger",
@@ -413,7 +413,7 @@
"elevation": 5,
"var": "VAR_MOSSDEEP_CITY_STATE",
"var_value": "1",
- "script": "MossdeepCity_EventScript_1E4B41"
+ "script": "MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter"
}
],
"bg_events": [
@@ -423,7 +423,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_EventScript_1E4B26"
+ "script": "MossdeepCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -431,7 +431,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_EventScript_1E4B1D"
+ "script": "MossdeepCity_EventScript_GymSign"
},
{
"type": "sign",
@@ -455,7 +455,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_EventScript_1E4B2F"
+ "script": "MossdeepCity_EventScript_SpaceCenterSign"
},
{
"type": "sign",
@@ -479,7 +479,7 @@
"y": 21,
"elevation": 7,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_EventScript_1E4B14"
+ "script": "MossdeepCity_EventScript_WhiteRock"
}
]
}
diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc
index 646b1d908..945a92dfb 100644
--- a/data/maps/MossdeepCity/scripts.inc
+++ b/data/maps/MossdeepCity/scripts.inc
@@ -7,86 +7,86 @@ MossdeepCity_OnTransition: @ 81E4A9C
clearflag FLAG_MOSSDEEP_GYM_SWITCH_2
clearflag FLAG_MOSSDEEP_GYM_SWITCH_3
clearflag FLAG_MOSSDEEP_GYM_SWITCH_4
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
end
-MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2
+MossdeepCity_EventScript_PokefanF:: @ 81E4AB2
lock
faceplayer
- goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_1E4AC7
- msgbox MossdeepCity_Text_1E4E90, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_PokefanFMagmaGone
+ msgbox MossdeepCity_Text_SpaceCenterReceivedLetter, MSGBOX_DEFAULT
release
end
-MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7
- msgbox MossdeepCity_Text_1E4F15, MSGBOX_DEFAULT
+MossdeepCity_EventScript_PokefanFMagmaGone:: @ 81E4AC7
+ msgbox MossdeepCity_Text_SpaceCenterLaunchingRockets, MSGBOX_DEFAULT
release
end
-MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1
+MossdeepCity_EventScript_Sailor:: @ 81E4AD1
lock
faceplayer
- goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_1E4AE6
- msgbox MossdeepCity_Text_1E4F50, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_SailorMagmaGone
+ msgbox MossdeepCity_Text_MossdeepTargetedByMagma, MSGBOX_DEFAULT
release
end
-MossdeepCity_EventScript_1E4AE6:: @ 81E4AE6
- msgbox MossdeepCity_Text_1E5051, MSGBOX_DEFAULT
+MossdeepCity_EventScript_SailorMagmaGone:: @ 81E4AE6
+ msgbox MossdeepCity_Text_FeelReliefOnLand, MSGBOX_DEFAULT
release
end
-MossdeepCity_EventScript_1E4AF0:: @ 81E4AF0
- msgbox MossdeepCity_Text_1E4E22, MSGBOX_NPC
+MossdeepCity_EventScript_NinjaBoy:: @ 81E4AF0
+ msgbox MossdeepCity_Text_WailmerWatching, MSGBOX_NPC
end
-MossdeepCity_EventScript_1E4AF9:: @ 81E4AF9
- msgbox MossdeepCity_Text_1E5135, MSGBOX_NPC
+MossdeepCity_EventScript_ExpertM:: @ 81E4AF9
+ msgbox MossdeepCity_Text_LifeNeedsSeaToLive, MSGBOX_NPC
end
-MossdeepCity_EventScript_1E4B02:: @ 81E4B02
- msgbox MossdeepCity_Text_1E50D9, MSGBOX_NPC
+MossdeepCity_EventScript_Girl:: @ 81E4B02
+ msgbox MossdeepCity_Text_NiceIfWorldCoveredByFlowers, MSGBOX_NPC
end
-MossdeepCity_EventScript_1E4B0B:: @ 81E4B0B
- msgbox MossdeepCity_Text_1E529D, MSGBOX_NPC
+MossdeepCity_EventScript_Woman:: @ 81E4B0B
+ msgbox MossdeepCity_Text_SpecialSpaceCenterRock, MSGBOX_NPC
end
-MossdeepCity_EventScript_1E4B14:: @ 81E4B14
- msgbox MossdeepCity_Text_1E5396, MSGBOX_SIGN
+MossdeepCity_EventScript_WhiteRock:: @ 81E4B14
+ msgbox MossdeepCity_Text_ItsAWhiteRock, MSGBOX_SIGN
end
-MossdeepCity_EventScript_1E4B1D:: @ 81E4B1D
- msgbox MossdeepCity_Text_1E53A9, MSGBOX_SIGN
+MossdeepCity_EventScript_GymSign:: @ 81E4B1D
+ msgbox MossdeepCity_Text_GymSign, MSGBOX_SIGN
end
-MossdeepCity_EventScript_1E4B26:: @ 81E4B26
- msgbox MossdeepCity_Text_1E53F2, MSGBOX_SIGN
+MossdeepCity_EventScript_CitySign:: @ 81E4B26
+ msgbox MossdeepCity_Text_CitySign, MSGBOX_SIGN
end
-MossdeepCity_EventScript_1E4B2F:: @ 81E4B2F
- msgbox MossdeepCity_Text_1E541F, MSGBOX_SIGN
+MossdeepCity_EventScript_SpaceCenterSign:: @ 81E4B2F
+ msgbox MossdeepCity_Text_SpaceCenterSign, MSGBOX_SIGN
end
-MossdeepCity_EventScript_1E4B38:: @ 81E4B38
+MossdeepCity_EventScript_VisitedMossdeep:: @ 81E4B38
setflag FLAG_VISITED_MOSSDEEP_CITY
setvar VAR_TEMP_1, 1
end
-MossdeepCity_EventScript_1E4B41:: @ 81E4B41
+MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter:: @ 81E4B41
lockall
- applymovement 14, MossdeepCity_Movement_1E4BAD
+ applymovement 14, MossdeepCity_Movement_MaxieGestureToSpaceCenter
waitmovement 0
- applymovement 10, MossdeepCity_Movement_1E4BB7
- applymovement 11, MossdeepCity_Movement_1E4BB7
- applymovement 12, MossdeepCity_Movement_1E4BB7
- applymovement 13, MossdeepCity_Movement_1E4BB7
+ applymovement 10, MossdeepCity_Movement_GruntFaceSpaceCenter
+ applymovement 11, MossdeepCity_Movement_GruntFaceSpaceCenter
+ applymovement 12, MossdeepCity_Movement_GruntFaceSpaceCenter
+ applymovement 13, MossdeepCity_Movement_GruntFaceSpaceCenter
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
+ applymovement 14, MossdeepCity_Movement_MaxieEnterSpaceCenter
+ applymovement 10, MossdeepCity_Movement_Grunt1EnterSpaceCenter
+ applymovement 11, MossdeepCity_Movement_Grunt2EnterSpaceCenter
+ applymovement 12, MossdeepCity_Movement_Grunt3EnterSpaceCenter
+ applymovement 13, MossdeepCity_Movement_Grunt4EnterSpaceCenter
waitmovement 0
removeobject 14
removeobject 10
@@ -99,7 +99,7 @@ MossdeepCity_EventScript_1E4B41:: @ 81E4B41
releaseall
end
-MossdeepCity_Movement_1E4BAD: @ 81E4BAD
+MossdeepCity_Movement_MaxieGestureToSpaceCenter: @ 81E4BAD
delay_16
face_right
delay_16
@@ -111,14 +111,14 @@ MossdeepCity_Movement_1E4BAD: @ 81E4BAD
delay_16
step_end
-MossdeepCity_Movement_1E4BB7: @ 81E4BB7
+MossdeepCity_Movement_GruntFaceSpaceCenter: @ 81E4BB7
face_right
delay_16
delay_16
delay_16
step_end
-MossdeepCity_Movement_1E4BBC: @ 81E4BBC
+MossdeepCity_Movement_MaxieEnterSpaceCenter: @ 81E4BBC
walk_down
walk_right
walk_right
@@ -134,7 +134,7 @@ MossdeepCity_Movement_1E4BBC: @ 81E4BBC
walk_right
step_end
-MossdeepCity_Movement_1E4BCA: @ 81E4BCA
+MossdeepCity_Movement_Grunt1EnterSpaceCenter: @ 81E4BCA
delay_16
delay_8
walk_down
@@ -155,7 +155,7 @@ MossdeepCity_Movement_1E4BCA: @ 81E4BCA
walk_right
step_end
-MossdeepCity_Movement_1E4BDD: @ 81E4BDD
+MossdeepCity_Movement_Grunt2EnterSpaceCenter: @ 81E4BDD
delay_16
delay_8
walk_down
@@ -175,7 +175,7 @@ MossdeepCity_Movement_1E4BDD: @ 81E4BDD
walk_right
step_end
-MossdeepCity_Movement_1E4BEF: @ 81E4BEF
+MossdeepCity_Movement_Grunt3EnterSpaceCenter: @ 81E4BEF
delay_16
delay_8
walk_down
@@ -194,7 +194,7 @@ MossdeepCity_Movement_1E4BEF: @ 81E4BEF
walk_right
step_end
-MossdeepCity_Movement_1E4C00: @ 81E4C00
+MossdeepCity_Movement_Grunt4EnterSpaceCenter: @ 81E4C00
delay_16
delay_8
walk_right
@@ -212,77 +212,77 @@ MossdeepCity_Movement_1E4C00: @ 81E4C00
walk_right
step_end
-MossdeepCity_EventScript_1E4C10:: @ 81E4C10
+MossdeepCity_EventScript_Man:: @ 81E4C10
lock
faceplayer
- msgbox MossdeepCity_Text_1E5213, MSGBOX_DEFAULT
+ msgbox MossdeepCity_Text_SurfExhilarating, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MossdeepCity_EventScript_1E4C26:: @ 81E4C26
+MossdeepCity_EventScript_KingsRockBoy:: @ 81E4C26
lock
faceplayer
- goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_1E4C68
- msgbox MossdeepCity_Text_1E4CED, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_EventScript_1E4C72
- msgbox MossdeepCity_Text_1E4D5B, MSGBOX_DEFAULT
- giveitem_std ITEM_KINGS_ROCK
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_ReceivedKingsRock
+ msgbox MossdeepCity_Text_WantKingsRockStevenGaveMe, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MossdeepCity_EventScript_DeclineKingsRock
+ msgbox MossdeepCity_Text_YouCanKeepIt, MSGBOX_DEFAULT
+ giveitem ITEM_KINGS_ROCK
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_KINGS_ROCK
release
end
-MossdeepCity_EventScript_1E4C68:: @ 81E4C68
- msgbox MossdeepCity_Text_1E4DB3, MSGBOX_DEFAULT
+MossdeepCity_EventScript_ReceivedKingsRock:: @ 81E4C68
+ msgbox MossdeepCity_Text_StevensHouseOverThere, MSGBOX_DEFAULT
release
end
-MossdeepCity_EventScript_1E4C72:: @ 81E4C72
- msgbox MossdeepCity_Text_1E4DD7, MSGBOX_DEFAULT
+MossdeepCity_EventScript_DeclineKingsRock:: @ 81E4C72
+ msgbox MossdeepCity_Text_WhatToDoWithWeirdRock, MSGBOX_DEFAULT
release
end
-MossdeepCity_EventScript_1E4C7C:: @ 81E4C7C
- msgbox MossdeepCity_Text_1E5581, MSGBOX_NPC
+MossdeepCity_EventScript_BlackBelt:: @ 81E4C7C
+ msgbox MossdeepCity_Text_SootopolisNewGymLeader, MSGBOX_NPC
end
-MossdeepCity_EventScript_1E4C85:: @ 81E4C85
+MossdeepCity_EventScript_Scott:: @ 81E4C85
lock
faceplayer
- msgbox MossdeepCity_Text_1E5453, MSGBOX_DEFAULT
+ msgbox MossdeepCity_Text_ScottSomethingWrongWithTown, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq MossdeepCity_EventScript_1E4CB0
- compare VAR_FACING, 4
- call_if_eq MossdeepCity_EventScript_1E4CC2
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq MossdeepCity_EventScript_ScottExitNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq MossdeepCity_EventScript_ScottExitEast
addvar VAR_SCOTT_STATE, 1
removeobject 16
release
end
-MossdeepCity_EventScript_1E4CB0:: @ 81E4CB0
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4
- applymovement 16, MossdeepCity_Movement_1E4CD8
+MossdeepCity_EventScript_ScottExitNorth:: @ 81E4CB0
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit
+ applymovement 16, MossdeepCity_Movement_ScottExitNorth
waitmovement 0
return
-MossdeepCity_EventScript_1E4CC2:: @ 81E4CC2
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4
- applymovement 16, MossdeepCity_Movement_1E4CE2
+MossdeepCity_EventScript_ScottExitEast:: @ 81E4CC2
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit
+ applymovement 16, MossdeepCity_Movement_ScottExitEast
waitmovement 0
return
-MossdeepCity_Movement_1E4CD4: @ 81E4CD4
+MossdeepCity_Movement_PlayerWatchScottExit: @ 81E4CD4
delay_16
delay_16
walk_in_place_fastest_left
step_end
-MossdeepCity_Movement_1E4CD8: @ 81E4CD8
+MossdeepCity_Movement_ScottExitNorth: @ 81E4CD8
walk_left
walk_left
walk_left
@@ -294,7 +294,7 @@ MossdeepCity_Movement_1E4CD8: @ 81E4CD8
walk_left
step_end
-MossdeepCity_Movement_1E4CE2: @ 81E4CE2
+MossdeepCity_Movement_ScottExitEast: @ 81E4CE2
walk_down
walk_left
walk_left
@@ -307,26 +307,26 @@ MossdeepCity_Movement_1E4CE2: @ 81E4CE2
walk_left
step_end
-MossdeepCity_Text_1E4CED: @ 81E4CED
+MossdeepCity_Text_WantKingsRockStevenGaveMe: @ 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
+MossdeepCity_Text_YouCanKeepIt: @ 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
+MossdeepCity_Text_StevensHouseOverThere: @ 81E4DB3
.string "STEVEN's house is right over there!$"
-MossdeepCity_Text_1E4DD7: @ 81E4DD7
+MossdeepCity_Text_WhatToDoWithWeirdRock: @ 81E4DD7
.string "Yeah, you think so, too! What are you\n"
.string "supposed to do with some weird rock?$"
-MossdeepCity_Text_1E4E22: @ 81E4E22
+MossdeepCity_Text_WailmerWatching: @ 81E4E22
.string "Around MOSSDEEP, you can see wild\n"
.string "WAILMER.\p"
.string "It's called, uh…\n"
@@ -334,17 +334,17 @@ MossdeepCity_Text_1E4E22: @ 81E4E22
.string "WAI, WAI, WAI…\p"
.string "WAILMER watching!$"
-MossdeepCity_Text_1E4E90: @ 81E4E90
+MossdeepCity_Text_SpaceCenterReceivedLetter: @ 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
+MossdeepCity_Text_SpaceCenterLaunchingRockets: @ 81E4F15
.string "The island's SPACE CENTER has been\n"
.string "launching huge rockets.$"
-MossdeepCity_Text_1E4F50: @ 81E4F50
+MossdeepCity_Text_MossdeepTargetedByMagma: @ 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"
@@ -354,18 +354,18 @@ MossdeepCity_Text_1E4F50: @ 81E4F50
.string "If you want to know what they're up to,\n"
.string "go visit the SPACE CENTER.$"
-MossdeepCity_Text_1E5051: @ 81E5051
+MossdeepCity_Text_FeelReliefOnLand: @ 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
+MossdeepCity_Text_NiceIfWorldCoveredByFlowers: @ 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
+MossdeepCity_Text_LifeNeedsSeaToLive: @ 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"
@@ -374,14 +374,14 @@ MossdeepCity_Text_1E5135: @ 81E5135
.string "the land.\p"
.string "Yes, like the very shoreline here.$"
-MossdeepCity_Text_1E5213: @ 81E5213
+MossdeepCity_Text_SurfExhilarating: @ 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
+MossdeepCity_Text_SpecialSpaceCenterRock: @ 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"
@@ -391,23 +391,23 @@ MossdeepCity_Text_1E529D: @ 81E529D
.string "I use a wish tag to make it happen.\n"
.string "That's what I do.$"
-MossdeepCity_Text_1E5396: @ 81E5396
+MossdeepCity_Text_ItsAWhiteRock: @ 81E5396
.string "It's a white rock.$"
-MossdeepCity_Text_1E53A9: @ 81E53A9
+MossdeepCity_Text_GymSign: @ 81E53A9
.string "MOSSDEEP CITY POKéMON GYM\n"
.string "LEADERS: LIZA & TATE\p"
.string "“The mystic combination!”$"
-MossdeepCity_Text_1E53F2: @ 81E53F2
+MossdeepCity_Text_CitySign: @ 81E53F2
.string "MOSSDEEP CITY\n"
.string "“Our slogan: Cherish POKéMON!”$"
-MossdeepCity_Text_1E541F: @ 81E541F
+MossdeepCity_Text_SpaceCenterSign: @ 81E541F
.string "MOSSDEEP SPACE CENTER\n"
.string "“The closest place to space.”$"
-MossdeepCity_Text_1E5453: @ 81E5453
+MossdeepCity_Text_ScottSomethingWrongWithTown: @ 81E5453
.string "SCOTT: {PLAYER}{KUN}, feeling good?\n"
.string "I'm doing great!\p"
.string "I'd heard MOSSDEEP's GYM LEADER is\n"
@@ -420,7 +420,7 @@ MossdeepCity_Text_1E5453: @ 81E5453
.string "I don't think it concerns me in any\n"
.string "way, though.$"
-MossdeepCity_Text_1E5581: @ 81E5581
+MossdeepCity_Text_SootopolisNewGymLeader: @ 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"
diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.json b/data/maps/MossdeepCity_GameCorner_1F/map.json
index 8ea28a474..3e64c45fd 100644
--- a/data/maps/MossdeepCity_GameCorner_1F/map.json
+++ b/data/maps/MossdeepCity_GameCorner_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_GameCorner_1F_EventScript_224B54",
+ "script": "MossdeepCity_GameCorner_1F_EventScript_OldMan",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_GameCorner_1F_EventScript_224B4B",
+ "script": "MossdeepCity_GameCorner_1F_EventScript_InfoMan",
"flag": "0"
}
],
@@ -72,7 +72,7 @@
"y": 0,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_GameCorner_1F_EventScript_224B5D"
+ "script": "RS_MysteryEventsHouse_EventScript_Door"
},
{
"type": "sign",
@@ -80,7 +80,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_GameCorner_1F_EventScript_277E9D"
+ "script": "MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingRecords"
},
{
"type": "sign",
@@ -88,7 +88,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_GameCorner_1F_EventScript_277E96"
+ "script": "MossdeepCity_GameCorner_1F_EventScript_PokemonJumpRecords"
}
]
-} \ No newline at end of file
+}
diff --git a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc
index db9a1f854..95b08256e 100644
--- a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc
+++ b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc
@@ -1,80 +1,87 @@
MossdeepCity_GameCorner_1F_MapScripts:: @ 8224B27
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_GameCorner_1F_MapScript2_224B41
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_GameCorner_1F_MapScript2_224B37
- map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_GameCorner_1F_MapScript1_276BBE
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_GameCorner_1F_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_GameCorner_1F_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
.byte 0
-MossdeepCity_GameCorner_1F_MapScript2_224B37: @ 8224B37
- map_script_2 VAR_CABLE_CLUB_STATE, 8, MossdeepCity_GameCorner_1F_EventScript_276BAE
+MossdeepCity_GameCorner_1F_OnWarp: @ 8224B37
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_CheckTurnAttendant
.2byte 0
-MossdeepCity_GameCorner_1F_MapScript2_224B41: @ 8224B41
- map_script_2 VAR_CABLE_CLUB_STATE, 8, MossdeepCity_GameCorner_1F_EventScript_276C9D
+MossdeepCity_GameCorner_1F_OnFrame: @ 8224B41
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_ExitMinigameRoom
.2byte 0
-MossdeepCity_GameCorner_1F_EventScript_224B4B:: @ 8224B4B
+@ Script is redundant, the label in the goto also does lock and faceplayer
+MossdeepCity_GameCorner_1F_EventScript_InfoMan:: @ 8224B4B
lock
faceplayer
- goto MossdeepCity_GameCorner_1F_EventScript_277C34
+ goto MossdeepCity_GameCorner_1F_EventScript_InfoMan2
release
end
-MossdeepCity_GameCorner_1F_EventScript_224B54:: @ 8224B54
+@ Script is redundant, the label in the goto also does lock and faceplayer
+MossdeepCity_GameCorner_1F_EventScript_OldMan:: @ 8224B54
lock
faceplayer
- goto MossdeepCity_GameCorner_1F_EventScript_277C91
+ goto MossdeepCity_GameCorner_1F_EventScript_OldMan2
release
end
-MossdeepCity_GameCorner_1F_EventScript_224B5D:: @ 8224B5D
- msgbox MossdeepCity_GameCorner_1F_Text_224BFD, MSGBOX_SIGN
+
+@ Everything below is leftover from RS
+@ The house that was here in RS was moved to Sootopolis and replaced by the Game Corner
+@ The text below is unused and duplicated in its replacement in Sootopolis City
+@ And the BG Door event was moved inaccessibly into a wall
+
+RS_MysteryEventsHouse_EventScript_Door:: @ 8224B5D
+ msgbox RS_MysteryEventsHouse_Text_DoorIsLocked, MSGBOX_SIGN
end
-MossdeepCity_GameCorner_1F_Text_224B66: @ 8224B66
+RS_MysteryEventsHouse_Text_OldManGreeting: @ 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
+RS_MysteryEventsHouse_Text_DoorIsLocked: @ 8224BFD
.string "The door appears to be locked.$"
-MossdeepCity_GameCorner_1F_Text_224C1C: @ 8224C1C
+RS_MysteryEventsHouse_Text_ChallengeVisitingTrainer: @ 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
+RS_MysteryEventsHouse_Text_YouWontBattle: @ 8224C64
.string "You won't battle? I'm disappointed\n"
.string "that I can't see you battle…$"
-MossdeepCity_GameCorner_1F_Text_224CA4: @ 8224CA4
+RS_MysteryEventsHouse_Text_KeepItToA3On3: @ 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
+RS_MysteryEventsHouse_Text_SaveYourProgress: @ 8224D0B
.string "Before you two battle, you should\n"
.string "save your progress.$"
-MossdeepCity_GameCorner_1F_Text_224D41: @ 8224D41
+RS_MysteryEventsHouse_Text_HopeToSeeAGoodMatch: @ 8224D41
.string "I hope to see a good match!$"
-MossdeepCity_GameCorner_1F_Text_224D5D: @ 8224D5D
+RS_MysteryEventsHouse_Text_BattleTie: @ 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
+RS_MysteryEventsHouse_Text_BattleWon: @ 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
+RS_MysteryEventsHouse_Text_BattleLost: @ 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/maps/MossdeepCity_Gym/map.json b/data/maps/MossdeepCity_Gym/map.json
index 2d86ad9a8..33bd1d434 100644
--- a/data/maps/MossdeepCity_Gym/map.json
+++ b/data/maps/MossdeepCity_Gym/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_Gym_EventScript_220898",
+ "script": "MossdeepCity_Gym_EventScript_TateAndLiza",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220AFD",
+ "script": "MossdeepCity_Gym_EventScript_Preston",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220B2B",
+ "script": "MossdeepCity_Gym_EventScript_Blake",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220B70",
+ "script": "MossdeepCity_Gym_EventScript_Maura",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220B59",
+ "script": "MossdeepCity_Gym_EventScript_Samantha",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220B14",
+ "script": "MossdeepCity_Gym_EventScript_Virgil",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220B42",
+ "script": "MossdeepCity_Gym_EventScript_Hannah",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_Gym_EventScript_220C11",
+ "script": "MossdeepCity_Gym_EventScript_GymGuide",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_Gym_EventScript_220898",
+ "script": "MossdeepCity_Gym_EventScript_TateAndLiza",
"flag": "0"
},
{
@@ -232,7 +232,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220B9E",
+ "script": "MossdeepCity_Gym_EventScript_Nate",
"flag": "0"
},
{
@@ -245,7 +245,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220B87",
+ "script": "MossdeepCity_Gym_EventScript_Sylvia",
"flag": "0"
},
{
@@ -336,7 +336,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220BCC",
+ "script": "MossdeepCity_Gym_EventScript_Clifford",
"flag": "0"
},
{
@@ -362,7 +362,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220BB5",
+ "script": "MossdeepCity_Gym_EventScript_Macey",
"flag": "0"
},
{
@@ -375,7 +375,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220BFA",
+ "script": "MossdeepCity_Gym_EventScript_Kathleen",
"flag": "0"
},
{
@@ -427,7 +427,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MossdeepCity_Gym_EventScript_220BE3",
+ "script": "MossdeepCity_Gym_EventScript_Nicholas",
"flag": "0"
},
{
@@ -591,7 +591,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220C67"
+ "script": "MossdeepCity_Gym_EventScript_YellowFloorSwitch"
},
{
"type": "trigger",
@@ -600,7 +600,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220C7D"
+ "script": "MossdeepCity_Gym_EventScript_BlueFloorSwitch"
},
{
"type": "trigger",
@@ -609,7 +609,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220C7D"
+ "script": "MossdeepCity_Gym_EventScript_BlueFloorSwitch"
},
{
"type": "trigger",
@@ -618,7 +618,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220C93"
+ "script": "MossdeepCity_Gym_EventScript_GreenFloorSwitch"
},
{
"type": "trigger",
@@ -627,7 +627,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220CA9"
+ "script": "MossdeepCity_Gym_EventScript_PurpleFloorSwitch"
},
{
"type": "trigger",
@@ -636,7 +636,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220CA9"
+ "script": "MossdeepCity_Gym_EventScript_PurpleFloorSwitch"
},
{
"type": "trigger",
@@ -645,7 +645,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220CBF"
+ "script": "MossdeepCity_Gym_EventScript_RedFloorSwitch"
},
{
"type": "trigger",
@@ -654,7 +654,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220AF1"
+ "script": "MossdeepCity_Gym_EventScript_WarpToEntrance"
},
{
"type": "trigger",
@@ -663,7 +663,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "MossdeepCity_Gym_EventScript_220C67"
+ "script": "MossdeepCity_Gym_EventScript_YellowFloorSwitch"
}
],
"bg_events": [
@@ -673,7 +673,7 @@
"y": 34,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "MossdeepCity_Gym_EventScript_220C33"
+ "script": "MossdeepCity_Gym_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -681,7 +681,7 @@
"y": 34,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "MossdeepCity_Gym_EventScript_220C43"
+ "script": "MossdeepCity_Gym_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc
index 3779fa8d2..ab6677ff5 100644
--- a/data/maps/MossdeepCity_Gym/scripts.inc
+++ b/data/maps/MossdeepCity_Gym/scripts.inc
@@ -1,71 +1,75 @@
MossdeepCity_Gym_MapScripts:: @ 8220800
- map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_MapScript1_220806
+ map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_Gym_OnLoad
.byte 0
-MossdeepCity_Gym_MapScript1_220806: @ 8220806
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_22083D
- goto MossdeepCity_Gym_EventScript_220815
+@ NOTE: Mossdeep Gym was redesigned between R/S and E. Leftover (and now functionally unused) scripts are commented below
+
+@ All the below checks are leftover from RS. FLAG_MOSSDEEP_GYM_SWITCH_X is never set
+MossdeepCity_Gym_OnLoad: @ 8220806
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_SetSwitch1Metatiles
+ goto MossdeepCity_Gym_EventScript_CheckSwitch2
end
-MossdeepCity_Gym_EventScript_220815:: @ 8220815
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220855
- goto MossdeepCity_Gym_EventScript_220824
+MossdeepCity_Gym_EventScript_CheckSwitch2:: @ 8220815
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_SetSwitch2Metatiles
+ goto MossdeepCity_Gym_EventScript_CheckSwitch3
end
-MossdeepCity_Gym_EventScript_220824:: @ 8220824
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_22086D
- goto MossdeepCity_Gym_EventScript_220833
+MossdeepCity_Gym_EventScript_CheckSwitch3:: @ 8220824
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_SetSwitch3Metatiles
+ goto MossdeepCity_Gym_EventScript_CheckSwitch4
end
-MossdeepCity_Gym_EventScript_220833:: @ 8220833
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220885
+MossdeepCity_Gym_EventScript_CheckSwitch4:: @ 8220833
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_SetSwitch4Metatiles
end
-MossdeepCity_Gym_EventScript_22083D:: @ 822083D
- setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Top, 0
- setmetatile 2, 7, METATILE_MossdeepGym_Empty1, 1
- goto MossdeepCity_Gym_EventScript_220815
+@ All the below set metatile scripts are leftover from RS and are functionally unused
+MossdeepCity_Gym_EventScript_SetSwitch1Metatiles:: @ 822083D
+ setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0
+ setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1
+ goto MossdeepCity_Gym_EventScript_CheckSwitch2
end
-MossdeepCity_Gym_EventScript_220855:: @ 8220855
- setmetatile 8, 14, METATILE_MossdeepGym_Obelisk_Top, 0
- setmetatile 8, 10, METATILE_MossdeepGym_Empty1, 1
- goto MossdeepCity_Gym_EventScript_220824
+MossdeepCity_Gym_EventScript_SetSwitch2Metatiles:: @ 8220855
+ setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0
+ setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1
+ goto MossdeepCity_Gym_EventScript_CheckSwitch3
end
-MossdeepCity_Gym_EventScript_22086D:: @ 822086D
- setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Base, 0
- setmetatile 17, 15, METATILE_MossdeepGym_Empty1, 1
- goto MossdeepCity_Gym_EventScript_220833
+MossdeepCity_Gym_EventScript_SetSwitch3Metatiles:: @ 822086D
+ setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0
+ setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1
+ goto MossdeepCity_Gym_EventScript_CheckSwitch4
end
-MossdeepCity_Gym_EventScript_220885:: @ 8220885
- setmetatile 1, 23, METATILE_MossdeepGym_Wall_LeftCorner, 0
- setmetatile 5, 24, METATILE_MossdeepGym_Empty1, 1
+MossdeepCity_Gym_EventScript_SetSwitch4Metatiles:: @ 8220885
+ setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0
+ setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1
end
-MossdeepCity_Gym_EventScript_220898:: @ 8220898
- trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221783, MossdeepCity_Gym_Text_2218EC, MossdeepCity_Gym_Text_221BCE, MossdeepCity_Gym_EventScript_2208D1, NO_MUSIC
+MossdeepCity_Gym_EventScript_TateAndLiza:: @ 8220898
+ trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaIntro, MossdeepCity_Gym_Text_TateAndLizaDefeat, MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons, MossdeepCity_Gym_EventScript_TateAndLizaDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MossdeepCity_Gym_EventScript_22097E
- goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_220937
- msgbox MossdeepCity_Gym_Text_221B1D, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MossdeepCity_Gym_EventScript_TateAndLizaRematch
+ goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_GiveCalmMind2
+ msgbox MossdeepCity_Gym_Text_TateAndLizaPostBattle, MSGBOX_DEFAULT
release
end
-MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1
- message MossdeepCity_Gym_Text_22196A
+MossdeepCity_Gym_EventScript_TateAndLizaDefeated:: @ 82208D1
+ message MossdeepCity_Gym_Text_ReceivedMindBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox MossdeepCity_Gym_Text_221999, MSGBOX_DEFAULT
+ msgbox MossdeepCity_Gym_Text_ExplainMindBadgeTakeThis, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_MOSSDEEP_GYM
setflag FLAG_BADGE07_GET
setflag FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
clearflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
clearflag FLAG_UNKNOWN_0x393
setvar VAR_0x8008, 7
- call MossdeepCity_Gym_EventScript_271F43
+ call Common_EventScript_SetGymTrainers
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
clearflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
@@ -73,12 +77,12 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
setvar VAR_MOSSDEEP_CITY_STATE, 1
setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN
- setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 1
- call MossdeepCity_Gym_EventScript_22095B
+ setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 1
+ call MossdeepCity_Gym_EventScript_GiveCalmMind
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox MossdeepCity_Gym_Text_221AEA, MSGBOX_DEFAULT
+ msgbox MossdeepCity_Gym_Text_RegisteredTateAndLiza, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -86,282 +90,284 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1
release
end
-MossdeepCity_Gym_EventScript_220937:: @ 8220937
- giveitem_std ITEM_TM04
+MossdeepCity_Gym_EventScript_GiveCalmMind2:: @ 8220937
+ giveitem ITEM_TM04
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT
+ msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM04
release
end
-MossdeepCity_Gym_EventScript_22095B:: @ 822095B
- giveitem_std ITEM_TM04
+MossdeepCity_Gym_EventScript_GiveCalmMind:: @ 822095B
+ giveitem ITEM_TM04
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_BagIsFull
- msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT
+ msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM04
return
-MossdeepCity_Gym_EventScript_22097E:: @ 822097E
- trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221D0B, MossdeepCity_Gym_Text_221E05, MossdeepCity_Gym_Text_221EB8
- msgbox MossdeepCity_Gym_Text_221E45, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_TateAndLizaRematch:: @ 822097E
+ trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaPreRematch, MossdeepCity_Gym_Text_TateAndLizaRematchDefeat, MossdeepCity_Gym_Text_TateAndLizaRematchNeedTwoMons
+ msgbox MossdeepCity_Gym_Text_TateAndLizaPostRematch, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220999:: @ 8220999
+@ All the below switch scripts are leftover from RS and are functionally unused
+MossdeepCity_Gym_EventScript_Switch1:: @ 8220999
lockall
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_2209D0
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_ClearSwitch1
setflag FLAG_MOSSDEEP_GYM_SWITCH_1
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Top, 0
- setmetatile 2, 7, METATILE_MossdeepGym_Empty1, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0
+ setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8
+MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed:: @ 82209C8
special DrawWholeMapView
playse SE_TK_KASYA
releaseall
end
-MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0
+MossdeepCity_Gym_EventScript_ClearSwitch1:: @ 82209D0
clearflag FLAG_MOSSDEEP_GYM_SWITCH_1
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 5, 5, METATILE_MossdeepGym_Obelisk_Base, 0
- setmetatile 2, 7, METATILE_MossdeepGym_Empty0, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Left, 0
+ setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Up, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5
+MossdeepCity_Gym_EventScript_Switch2:: @ 82209F5
lockall
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_220A24
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_ClearSwitch2
setflag FLAG_MOSSDEEP_GYM_SWITCH_2
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 8, 14, METATILE_MossdeepGym_Obelisk_Top, 0
- setmetatile 8, 10, METATILE_MossdeepGym_Empty1, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0
+ setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_220A24:: @ 8220A24
+MossdeepCity_Gym_EventScript_ClearSwitch2:: @ 8220A24
clearflag FLAG_MOSSDEEP_GYM_SWITCH_2
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 8, 14, METATILE_MossdeepGym_OuterWall_RightCorner, 0
- setmetatile 8, 10, METATILE_MossdeepGym_Empty0, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Down, 0
+ setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Up, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_220A49:: @ 8220A49
+MossdeepCity_Gym_EventScript_Switch3:: @ 8220A49
lockall
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_220A78
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_ClearSwitch3
setflag FLAG_MOSSDEEP_GYM_SWITCH_3
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Base, 0
- setmetatile 17, 15, METATILE_MossdeepGym_Empty1, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0
+ setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_220A78:: @ 8220A78
+MossdeepCity_Gym_EventScript_ClearSwitch3:: @ 8220A78
clearflag FLAG_MOSSDEEP_GYM_SWITCH_3
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 15, 17, METATILE_MossdeepGym_Obelisk_Top, 0
- setmetatile 17, 15, METATILE_MossdeepGym_Empty0, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Right, 0
+ setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Up, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D
+MossdeepCity_Gym_EventScript_Switch4:: @ 8220A9D
lockall
- goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_220ACC
+ goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_ClearSwitch4
setflag FLAG_MOSSDEEP_GYM_SWITCH_4
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 1, 23, METATILE_MossdeepGym_Wall_LeftCorner, 0
- setmetatile 5, 24, METATILE_MossdeepGym_Empty1, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0
+ setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC
+MossdeepCity_Gym_EventScript_ClearSwitch4:: @ 8220ACC
clearflag FLAG_MOSSDEEP_GYM_SWITCH_4
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 1, 23, METATILE_MossdeepGym_Obelisk_Top, 0
- setmetatile 5, 24, METATILE_MossdeepGym_Empty0, 1
- goto MossdeepCity_Gym_EventScript_2209C8
+ setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Right, 0
+ setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Up, 1
+ goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
-MossdeepCity_Gym_EventScript_220AF1:: @ 8220AF1
+MossdeepCity_Gym_EventScript_WarpToEntrance:: @ 8220AF1
lockall
- warp7 MAP_MOSSDEEP_CITY_GYM, 255, 7, 30
+ warpmossdeepgym MAP_MOSSDEEP_CITY_GYM, 255, 7, 30
waitstate
releaseall
end
-MossdeepCity_Gym_EventScript_220AFD:: @ 8220AFD
- trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_220E5C, MossdeepCity_Gym_Text_220EAC
- msgbox MossdeepCity_Gym_Text_220ED3, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Preston:: @ 8220AFD
+ trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_PrestonIntro, MossdeepCity_Gym_Text_PrestonDefeat
+ msgbox MossdeepCity_Gym_Text_PrestonPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220B14:: @ 8220B14
- trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_220F02, MossdeepCity_Gym_Text_220F1A
- msgbox MossdeepCity_Gym_Text_220F3A, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Virgil:: @ 8220B14
+ trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_VirgilIntro, MossdeepCity_Gym_Text_VirgilDefeat
+ msgbox MossdeepCity_Gym_Text_VirgilPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220B2B:: @ 8220B2B
- trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_220FB0, MossdeepCity_Gym_Text_221024
- msgbox MossdeepCity_Gym_Text_221055, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Blake:: @ 8220B2B
+ trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_BlakeIntro, MossdeepCity_Gym_Text_BlakeDefeat
+ msgbox MossdeepCity_Gym_Text_BlakePostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220B42:: @ 8220B42
- trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_2210EE, MossdeepCity_Gym_Text_221152
- msgbox MossdeepCity_Gym_Text_22116A, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Hannah:: @ 8220B42
+ trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_HannahIntro, MossdeepCity_Gym_Text_HannahDefeat
+ msgbox MossdeepCity_Gym_Text_HannahPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220B59:: @ 8220B59
- trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_2211E2, MossdeepCity_Gym_Text_221230
- msgbox MossdeepCity_Gym_Text_22123D, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Samantha:: @ 8220B59
+ trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_SamanthaIntro, MossdeepCity_Gym_Text_SamanthaDefeat
+ msgbox MossdeepCity_Gym_Text_SamanthaPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220B70:: @ 8220B70
- trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_2212A6, MossdeepCity_Gym_Text_221309
- msgbox MossdeepCity_Gym_Text_22132E, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Maura:: @ 8220B70
+ trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_MauraIntro, MossdeepCity_Gym_Text_MauraDefeat
+ msgbox MossdeepCity_Gym_Text_MauraPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220B87:: @ 8220B87
- trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_2213C2, MossdeepCity_Gym_Text_2213F4
- msgbox MossdeepCity_Gym_Text_221412, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Sylvia:: @ 8220B87
+ trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_SylviaIntro, MossdeepCity_Gym_Text_SylviaDefeat
+ msgbox MossdeepCity_Gym_Text_SylviaPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220B9E:: @ 8220B9E
- trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_221460, MossdeepCity_Gym_Text_2214A7
- msgbox MossdeepCity_Gym_Text_2214D3, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Nate:: @ 8220B9E
+ trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_NateIntro, MossdeepCity_Gym_Text_NateDefeat
+ msgbox MossdeepCity_Gym_Text_NatePostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220BB5:: @ 8220BB5
- trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_22161B, MossdeepCity_Gym_Text_221658
- msgbox MossdeepCity_Gym_Text_221680, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Macey:: @ 8220BB5
+ trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_MaceyIntro, MossdeepCity_Gym_Text_MaceyDefeat
+ msgbox MossdeepCity_Gym_Text_MaceyPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220BCC:: @ 8220BCC
- trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_22157C, MossdeepCity_Gym_Text_2215B8
- msgbox MossdeepCity_Gym_Text_2215E2, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Clifford:: @ 8220BCC
+ trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_CliffordIntro, MossdeepCity_Gym_Text_CliffordDefeat
+ msgbox MossdeepCity_Gym_Text_CliffordPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220BE3:: @ 8220BE3
- trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_2216EE, MossdeepCity_Gym_Text_22172D
- msgbox MossdeepCity_Gym_Text_22173A, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Nicholas:: @ 8220BE3
+ trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_NicholasIntro, MossdeepCity_Gym_Text_NicholasDefeat
+ msgbox MossdeepCity_Gym_Text_NicholasPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA
- trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_221507, MossdeepCity_Gym_Text_22153B
- msgbox MossdeepCity_Gym_Text_221545, MSGBOX_AUTOCLOSE
+MossdeepCity_Gym_EventScript_Kathleen:: @ 8220BFA
+ trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_KathleenIntro, MossdeepCity_Gym_Text_KathleenDefeat
+ msgbox MossdeepCity_Gym_Text_KathleenPostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_Gym_EventScript_220C11:: @ 8220C11
+MossdeepCity_Gym_EventScript_GymGuide:: @ 8220C11
lock
faceplayer
- goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_220C26
- msgbox MossdeepCity_Gym_Text_220CD5, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_MOSSDEEP_GYM, MossdeepCity_Gym_EventScript_GymGuidePostVictory
+ msgbox MossdeepCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-MossdeepCity_Gym_EventScript_220C26:: @ 8220C26
- msgbox MossdeepCity_Gym_Text_220E2A, MSGBOX_DEFAULT
+MossdeepCity_Gym_EventScript_GymGuidePostVictory:: @ 8220C26
+ msgbox MossdeepCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-MossdeepCity_Gym_Movement_220C30: @ 8220C30
+@ Leftover from RS, functionally unused
+MossdeepCity_Gym_Movement_WaitAfterSwitchUse: @ 8220C30
delay_16
delay_16
step_end
-MossdeepCity_Gym_EventScript_220C33:: @ 8220C33
+MossdeepCity_Gym_EventScript_LeftGymStatue:: @ 8220C33
lockall
- goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53
- goto MossdeepCity_Gym_EventScript_220C5D
+ goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified
+ goto MossdeepCity_Gym_EventScript_GymStatue
end
-MossdeepCity_Gym_EventScript_220C43:: @ 8220C43
+MossdeepCity_Gym_EventScript_RightGymStatue:: @ 8220C43
lockall
- goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53
- goto MossdeepCity_Gym_EventScript_220C5D
+ goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_GymStatueCertified
+ goto MossdeepCity_Gym_EventScript_GymStatue
end
-MossdeepCity_Gym_EventScript_220C53:: @ 8220C53
- msgbox MossdeepCity_Gym_Text_221CCA, MSGBOX_DEFAULT
+MossdeepCity_Gym_EventScript_GymStatueCertified:: @ 8220C53
+ msgbox MossdeepCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-MossdeepCity_Gym_EventScript_220C5D:: @ 8220C5D
- msgbox MossdeepCity_Gym_Text_221CB0, MSGBOX_DEFAULT
+MossdeepCity_Gym_EventScript_GymStatue:: @ 8220C5D
+ msgbox MossdeepCity_Gym_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-MossdeepCity_Gym_EventScript_220C67:: @ 8220C67
+MossdeepCity_Gym_EventScript_YellowFloorSwitch:: @ 8220C67
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 0
- mossdeepgym1 0
+ initrotatingtilepuzzle FALSE
+ moverotatingtileobjects 0
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-MossdeepCity_Gym_EventScript_220C7D:: @ 8220C7D
+MossdeepCity_Gym_EventScript_BlueFloorSwitch:: @ 8220C7D
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 0
- mossdeepgym1 1
+ initrotatingtilepuzzle FALSE
+ moverotatingtileobjects 1
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-MossdeepCity_Gym_EventScript_220C93:: @ 8220C93
+MossdeepCity_Gym_EventScript_GreenFloorSwitch:: @ 8220C93
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 0
- mossdeepgym1 2
+ initrotatingtilepuzzle FALSE
+ moverotatingtileobjects 2
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-MossdeepCity_Gym_EventScript_220CA9:: @ 8220CA9
+MossdeepCity_Gym_EventScript_PurpleFloorSwitch:: @ 8220CA9
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 0
- mossdeepgym1 3
+ initrotatingtilepuzzle FALSE
+ moverotatingtileobjects 3
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-MossdeepCity_Gym_EventScript_220CBF:: @ 8220CBF
+MossdeepCity_Gym_EventScript_RedFloorSwitch:: @ 8220CBF
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 0
- mossdeepgym1 4
+ initrotatingtilepuzzle FALSE
+ moverotatingtileobjects 4
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-MossdeepCity_Gym_Text_220CD5: @ 8220CD5
+MossdeepCity_Gym_Text_GymGuideAdvice: @ 8220CD5
.string "Yo, how's it going, CHAMPION-bound\n"
.string "{PLAYER}?\p"
.string "The GYM LEADERS here use\n"
@@ -375,46 +381,46 @@ MossdeepCity_Gym_Text_220CD5: @ 8220CD5
.string "them how tight you are with your\l"
.string "POKéMON. Go for it!$"
-MossdeepCity_Gym_Text_220E2A: @ 8220E2A
+MossdeepCity_Gym_Text_GymGuidePostVictory: @ 8220E2A
.string "Wow, you're astounding!\n"
.string "You're one great TRAINER!$"
-MossdeepCity_Gym_Text_220E5C: @ 8220E5C
+MossdeepCity_Gym_Text_PrestonIntro: @ 8220E5C
.string "Battles hinge on the strength of your\n"
.string "spirit! The weak-spirited will never win!$"
-MossdeepCity_Gym_Text_220EAC: @ 8220EAC
+MossdeepCity_Gym_Text_PrestonDefeat: @ 8220EAC
.string "I lost!\n"
.string "I must temper my spirit again!$"
-MossdeepCity_Gym_Text_220ED3: @ 8220ED3
+MossdeepCity_Gym_Text_PrestonPostBattle: @ 8220ED3
.string "The indecisive lose.\n"
.string "That's my warning to you.$"
-MossdeepCity_Gym_Text_220F02: @ 8220F02
+MossdeepCity_Gym_Text_VirgilIntro: @ 8220F02
.string "Let me see your talent!$"
-MossdeepCity_Gym_Text_220F1A: @ 8220F1A
+MossdeepCity_Gym_Text_VirgilDefeat: @ 8220F1A
.string "You possess spectacular talent!$"
-MossdeepCity_Gym_Text_220F3A: @ 8220F3A
+MossdeepCity_Gym_Text_VirgilPostBattle: @ 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
+MossdeepCity_Gym_Text_BlakeIntro: @ 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
+MossdeepCity_Gym_Text_BlakeDefeat: @ 8221024
.string "My POKéMON battling skills are out\n"
.string "of sync, too!$"
-MossdeepCity_Gym_Text_221055: @ 8221055
+MossdeepCity_Gym_Text_BlakePostBattle: @ 8221055
.string "A POKé BALL was too heavy to lift\n"
.string "psychically. But this dust bunny…\p"
.string "Whoooooooooooooooh!\n"
@@ -422,127 +428,127 @@ MossdeepCity_Gym_Text_221055: @ 8221055
.string "No, I'm not cheating!\n"
.string "I didn't blow on it! Honestly!$"
-MossdeepCity_Gym_Text_2210EE: @ 82210EE
+MossdeepCity_Gym_Text_HannahIntro: @ 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
+MossdeepCity_Gym_Text_HannahDefeat: @ 8221152
.string "You're just too strong!$"
-MossdeepCity_Gym_Text_22116A: @ 822116A
+MossdeepCity_Gym_Text_HannahPostBattle: @ 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
+MossdeepCity_Gym_Text_SamanthaIntro: @ 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
+MossdeepCity_Gym_Text_SamanthaDefeat: @ 8221230
.string "I surrender!$"
-MossdeepCity_Gym_Text_22123D: @ 822123D
+MossdeepCity_Gym_Text_SamanthaPostBattle: @ 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
+MossdeepCity_Gym_Text_MauraIntro: @ 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
+MossdeepCity_Gym_Text_MauraDefeat: @ 8221309
.string "You've traveled a path of greatness!$"
-MossdeepCity_Gym_Text_22132E: @ 822132E
+MossdeepCity_Gym_Text_MauraPostBattle: @ 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
+MossdeepCity_Gym_Text_SylviaIntro: @ 82213C2
.string "Even at the risk of life, I will win\n"
.string "this battle!$"
-MossdeepCity_Gym_Text_2213F4: @ 82213F4
+MossdeepCity_Gym_Text_SylviaDefeat: @ 82213F4
.string "What you do…\n"
.string "It horrifies me…$"
-MossdeepCity_Gym_Text_221412: @ 8221412
+MossdeepCity_Gym_Text_SylviaPostBattle: @ 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
+MossdeepCity_Gym_Text_NateIntro: @ 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
+MossdeepCity_Gym_Text_NateDefeat: @ 82214A7
.string "Oh! My, my!\n"
.string "Your battle style is fantastic!$"
-MossdeepCity_Gym_Text_2214D3: @ 82214D3
+MossdeepCity_Gym_Text_NatePostBattle: @ 82214D3
.string "I… I don't let defeat rattle m-me,\n"
.string "however b-badly.$"
-MossdeepCity_Gym_Text_221507: @ 8221507
+MossdeepCity_Gym_Text_KathleenIntro: @ 8221507
.string "Let me show you a perfectly awful,\n"
.string "horrifying time!$"
-MossdeepCity_Gym_Text_22153B: @ 822153B
+MossdeepCity_Gym_Text_KathleenDefeat: @ 822153B
.string "N-nooooo!$"
-MossdeepCity_Gym_Text_221545: @ 8221545
+MossdeepCity_Gym_Text_KathleenPostBattle: @ 8221545
.string "Your vitality is contagious!\n"
.string "Get away from me quickly!$"
-MossdeepCity_Gym_Text_22157C: @ 822157C
+MossdeepCity_Gym_Text_CliffordIntro: @ 822157C
.string "I may be past my prime, but I suggest\n"
.string "you not patronize me.$"
-MossdeepCity_Gym_Text_2215B8: @ 82215B8
+MossdeepCity_Gym_Text_CliffordDefeat: @ 82215B8
.string "Ah, you overflow with the power\n"
.string "of youth!$"
-MossdeepCity_Gym_Text_2215E2: @ 82215E2
+MossdeepCity_Gym_Text_CliffordPostBattle: @ 82215E2
.string "It seems that I could not overcome\n"
.string "your youthful energy.$"
-MossdeepCity_Gym_Text_22161B: @ 822161B
+MossdeepCity_Gym_Text_MaceyIntro: @ 822161B
.string "You're not getting through to the end!\n"
.string "Not if I can help it!$"
-MossdeepCity_Gym_Text_221658: @ 8221658
+MossdeepCity_Gym_Text_MaceyDefeat: @ 8221658
.string "How could you be so ludicrously\n"
.string "strong?$"
-MossdeepCity_Gym_Text_221680: @ 8221680
+MossdeepCity_Gym_Text_MaceyPostBattle: @ 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
+MossdeepCity_Gym_Text_NicholasIntro: @ 82216EE
.string "Wroooar! Have a taste of my super\n"
.string "POKéMON hard-battling power!$"
-MossdeepCity_Gym_Text_22172D: @ 822172D
+MossdeepCity_Gym_Text_NicholasDefeat: @ 822172D
.string "Oh!\n"
.string "Done in!$"
-MossdeepCity_Gym_Text_22173A: @ 822173A
+MossdeepCity_Gym_Text_NicholasPostBattle: @ 822173A
.string "All right! I think I'll develop a special\n"
.string "invincible POKéMON power next.$"
-MossdeepCity_Gym_Text_221783: @ 8221783
+MossdeepCity_Gym_Text_TateAndLizaIntro: @ 8221783
.string "TATE: Hehehe… Were you surprised?\p"
.string "LIZA: Fufufu… Were you surprised?\p"
.string "TATE: That there are two GYM LEADERS?\n"
@@ -556,24 +562,24 @@ MossdeepCity_Gym_Text_221783: @ 8221783
.string "TATE: This combination of ours…\n"
.string "LIZA: Can you beat it?$"
-MossdeepCity_Gym_Text_2218EC: @ 82218EC
+MossdeepCity_Gym_Text_TateAndLizaDefeat: @ 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
+MossdeepCity_Gym_Text_ReceivedMindBadge: @ 822196A
.string "{PLAYER} received the MIND BADGE\n"
.string "from TATE and LIZA.$"
-MossdeepCity_Gym_Text_221999: @ 8221999
+MossdeepCity_Gym_Text_ExplainMindBadgeTakeThis: @ 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
+MossdeepCity_Gym_Text_ExplainCalmMind: @ 8221A40
.string "TATE: That TM04 contains…\n"
.string "LIZA: CALM MIND!\p"
.string "TATE: It raises SP. ATK and…\n"
@@ -582,18 +588,18 @@ MossdeepCity_Gym_Text_221A40: @ 8221A40
.string "LIZA: For PSYCHIC POKéMON!\p"
.string "… … … … … …$"
-MossdeepCity_Gym_Text_221AEA: @ 8221AEA
+MossdeepCity_Gym_Text_RegisteredTateAndLiza: @ 8221AEA
.string "Registered GYM LEADERS TATE & LIZA\n"
.string "in the POKéNAV.$"
-MossdeepCity_Gym_Text_221B1D: @ 8221B1D
+MossdeepCity_Gym_Text_TateAndLizaPostBattle: @ 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
+MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons: @ 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"
@@ -602,15 +608,15 @@ MossdeepCity_Gym_Text_221BCE: @ 8221BCE
.string "LIZA: If you want to challenge us,\n"
.string "bring some more POKéMON.$"
-MossdeepCity_Gym_Text_221CB0: @ 8221CB0
+MossdeepCity_Gym_Text_GymStatue: @ 8221CB0
.string "MOSSDEEP CITY POKéMON GYM$"
-MossdeepCity_Gym_Text_221CCA: @ 8221CCA
+MossdeepCity_Gym_Text_GymStatueCertified: @ 8221CCA
.string "MOSSDEEP CITY POKéMON GYM\p"
.string "LIZA AND TATE'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-MossdeepCity_Gym_Text_221D0B: @ 8221D0B
+MossdeepCity_Gym_Text_TateAndLizaPreRematch: @ 8221D0B
.string "TATE: POKéMON…\n"
.string "LIZA: POKéMON…\p"
.string "TATE: By changing the party's mix…\n"
@@ -622,17 +628,17 @@ MossdeepCity_Gym_Text_221D0B: @ 8221D0B
.string "TATE: Our combination…\n"
.string "LIZA: We'll show you again and again!$"
-MossdeepCity_Gym_Text_221E05: @ 8221E05
+MossdeepCity_Gym_Text_TateAndLizaRematchDefeat: @ 8221E05
.string "TATE: You and your POKéMON…\n"
.string "LIZA: It's as if you were siblings!$"
-MossdeepCity_Gym_Text_221E45: @ 8221E45
+MossdeepCity_Gym_Text_TateAndLizaPostRematch: @ 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
+MossdeepCity_Gym_Text_TateAndLizaRematchNeedTwoMons: @ 8221EB8
.string "TATE: You're back again…\n"
.string "LIZA: You're back again…\p"
.string "TATE: To give us a rematch.\n"
diff --git a/data/maps/MossdeepCity_House1/map.json b/data/maps/MossdeepCity_House1/map.json
index def086288..6b57ca6ef 100644
--- a/data/maps/MossdeepCity_House1/map.json
+++ b/data/maps/MossdeepCity_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House1_EventScript_221FD6",
+ "script": "MossdeepCity_House1_EventScript_BlackBelt",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House1_EventScript_222006",
+ "script": "MossdeepCity_House1_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/MossdeepCity_House1/scripts.inc b/data/maps/MossdeepCity_House1/scripts.inc
index 60d612fb2..3ad07e023 100644
--- a/data/maps/MossdeepCity_House1/scripts.inc
+++ b/data/maps/MossdeepCity_House1/scripts.inc
@@ -1,42 +1,42 @@
MossdeepCity_House1_MapScripts:: @ 8221FD5
.byte 0
-MossdeepCity_House1_EventScript_221FD6:: @ 8221FD6
+MossdeepCity_House1_EventScript_BlackBelt:: @ 8221FD6
lock
faceplayer
bufferleadmonspeciesname 0
- msgbox MossdeepCity_House1_Text_22200F, MSGBOX_DEFAULT
+ msgbox MossdeepCity_House1_Text_HmmYourPokemon, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetPokeblockNameByMonNature
compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_House1_EventScript_221FFC
- msgbox MossdeepCity_House1_Text_22201D, MSGBOX_DEFAULT
+ goto_if_eq MossdeepCity_House1_EventScript_NeutralNature
+ msgbox MossdeepCity_House1_Text_ItLikesXPokeblocks, MSGBOX_DEFAULT
release
end
-MossdeepCity_House1_EventScript_221FFC:: @ 8221FFC
- msgbox MossdeepCity_House1_Text_222068, MSGBOX_DEFAULT
+MossdeepCity_House1_EventScript_NeutralNature:: @ 8221FFC
+ msgbox MossdeepCity_House1_Text_DoesntLikeOrDislikePokeblocks, MSGBOX_DEFAULT
release
end
-MossdeepCity_House1_EventScript_222006:: @ 8222006
- msgbox MossdeepCity_House1_Text_222099, MSGBOX_NPC
+MossdeepCity_House1_EventScript_Woman:: @ 8222006
+ msgbox MossdeepCity_House1_Text_HusbandCanTellPokeblockMonLikes, MSGBOX_NPC
end
-MossdeepCity_House1_Text_22200F: @ 822200F
+MossdeepCity_House1_Text_HmmYourPokemon: @ 822200F
.string "Hmm!\n"
.string "Your {STR_VAR_1}…$"
-MossdeepCity_House1_Text_22201D: @ 822201D
+MossdeepCity_House1_Text_ItLikesXPokeblocks: @ 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
+MossdeepCity_House1_Text_DoesntLikeOrDislikePokeblocks: @ 8222068
.string "It doesn't appear to like or dislike\n"
.string "any {POKEBLOCK}S.$"
-MossdeepCity_House1_Text_222099: @ 8222099
+MossdeepCity_House1_Text_HusbandCanTellPokeblockMonLikes: @ 8222099
.string "My husband can tell what kind of\n"
.string "{POKEBLOCK}S a POKéMON likes at a glance.$"
diff --git a/data/maps/MossdeepCity_House2/map.json b/data/maps/MossdeepCity_House2/map.json
index e63a1aee6..967fc0a55 100644
--- a/data/maps/MossdeepCity_House2/map.json
+++ b/data/maps/MossdeepCity_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House2_EventScript_2220DF",
+ "script": "MossdeepCity_House2_EventScript_Man",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House2_EventScript_2220E8",
+ "script": "MossdeepCity_House2_EventScript_Twin",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House2_EventScript_2220F1",
+ "script": "MossdeepCity_House2_EventScript_Wingull",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL"
}
],
diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc
index 2151b2626..8f77aede2 100644
--- a/data/maps/MossdeepCity_House2/scripts.inc
+++ b/data/maps/MossdeepCity_House2/scripts.inc
@@ -1,43 +1,43 @@
MossdeepCity_House2_MapScripts:: @ 82220DE
.byte 0
-MossdeepCity_House2_EventScript_2220DF:: @ 82220DF
- msgbox MossdeepCity_House2_Text_222146, MSGBOX_NPC
+MossdeepCity_House2_EventScript_Man:: @ 82220DF
+ msgbox MossdeepCity_House2_Text_SisterMailsBoyfriendInFortree, MSGBOX_NPC
end
-MossdeepCity_House2_EventScript_2220E8:: @ 82220E8
- msgbox MossdeepCity_House2_Text_2221A6, MSGBOX_NPC
+MossdeepCity_House2_EventScript_Twin:: @ 82220E8
+ msgbox MossdeepCity_House2_Text_PokemonCarriesMailBackAndForth, MSGBOX_NPC
end
-MossdeepCity_House2_EventScript_2220F1:: @ 82220F1
+MossdeepCity_House2_EventScript_Wingull:: @ 82220F1
lock
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox MossdeepCity_House2_Text_22222E, MSGBOX_DEFAULT
+ msgbox MossdeepCity_House2_Text_Wingull, MSGBOX_DEFAULT
waitmoncry
closemessage
setflag FLAG_WINGULL_DELIVERED_MAIL
clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL
- compare VAR_FACING, 2
- call_if_eq MossdeepCity_House2_EventScript_222124
- compare VAR_FACING, 3
- call_if_eq MossdeepCity_House2_EventScript_22212F
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq MossdeepCity_House2_EventScript_WingullExitNorth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq MossdeepCity_House2_EventScript_WingullExitWest
removeobject 3
release
end
-MossdeepCity_House2_EventScript_222124:: @ 8222124
- applymovement 3, MossdeepCity_House2_Movement_22213A
+MossdeepCity_House2_EventScript_WingullExitNorth:: @ 8222124
+ applymovement 3, MossdeepCity_House2_Movement_WingullExitNorth
waitmovement 0
return
-MossdeepCity_House2_EventScript_22212F:: @ 822212F
- applymovement 3, MossdeepCity_House2_Movement_222141
+MossdeepCity_House2_EventScript_WingullExitWest:: @ 822212F
+ applymovement 3, MossdeepCity_House2_Movement_WingullExitEast
waitmovement 0
return
-MossdeepCity_House2_Movement_22213A: @ 822213A
+MossdeepCity_House2_Movement_WingullExitNorth: @ 822213A
walk_fast_right
walk_fast_down
walk_fast_down
@@ -46,25 +46,25 @@ MossdeepCity_House2_Movement_22213A: @ 822213A
delay_8
step_end
-MossdeepCity_House2_Movement_222141: @ 8222141
+MossdeepCity_House2_Movement_WingullExitEast: @ 8222141
walk_fast_down
walk_fast_down
walk_fast_down
delay_8
step_end
-MossdeepCity_House2_Text_222146: @ 8222146
+MossdeepCity_House2_Text_SisterMailsBoyfriendInFortree: @ 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
+MossdeepCity_House2_Text_PokemonCarriesMailBackAndForth: @ 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
+MossdeepCity_House2_Text_Wingull: @ 822222E
.string "WINGULL: Pihyoh!$"
diff --git a/data/maps/MossdeepCity_House3/map.json b/data/maps/MossdeepCity_House3/map.json
index 237a315ff..b2d7cb404 100644
--- a/data/maps/MossdeepCity_House3/map.json
+++ b/data/maps/MossdeepCity_House3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House3_EventScript_2225C3",
+ "script": "MossdeepCity_House3_EventScript_SuperRodFisherman",
"flag": "0"
}
],
diff --git a/data/maps/MossdeepCity_House3/scripts.inc b/data/maps/MossdeepCity_House3/scripts.inc
index 257b7cc82..b968dfc04 100644
--- a/data/maps/MossdeepCity_House3/scripts.inc
+++ b/data/maps/MossdeepCity_House3/scripts.inc
@@ -1,31 +1,31 @@
MossdeepCity_House3_MapScripts:: @ 82225C2
.byte 0
-MossdeepCity_House3_EventScript_2225C3:: @ 82225C3
+MossdeepCity_House3_EventScript_SuperRodFisherman:: @ 82225C3
lock
faceplayer
- goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_222602
- msgbox MossdeepCity_House3_Text_222616, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_House3_EventScript_22260C
- msgbox MossdeepCity_House3_Text_2226B6, MSGBOX_DEFAULT
- giveitem_std ITEM_SUPER_ROD
+ goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_ReceivedSuperRod
+ msgbox MossdeepCity_House3_Text_YouWantSuperRod, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MossdeepCity_House3_EventScript_DeclineSuperRod
+ msgbox MossdeepCity_House3_Text_SuperRodIsSuper, MSGBOX_DEFAULT
+ giveitem ITEM_SUPER_ROD
setflag FLAG_RECEIVED_SUPER_ROD
- msgbox MossdeepCity_House3_Text_2226F0, MSGBOX_DEFAULT
+ msgbox MossdeepCity_House3_Text_TryDroppingRodInWater, MSGBOX_DEFAULT
release
end
-MossdeepCity_House3_EventScript_222602:: @ 8222602
- msgbox MossdeepCity_House3_Text_222751, MSGBOX_DEFAULT
+MossdeepCity_House3_EventScript_ReceivedSuperRod:: @ 8222602
+ msgbox MossdeepCity_House3_Text_GoAfterSeafloorPokemon, MSGBOX_DEFAULT
release
end
-MossdeepCity_House3_EventScript_22260C:: @ 822260C
- msgbox MossdeepCity_House3_Text_222733, MSGBOX_DEFAULT
+MossdeepCity_House3_EventScript_DeclineSuperRod:: @ 822260C
+ msgbox MossdeepCity_House3_Text_DontYouLikeToFish, MSGBOX_DEFAULT
release
end
-MossdeepCity_House3_Text_222616: @ 8222616
+MossdeepCity_House3_Text_YouWantSuperRod: @ 8222616
.string "Hey there, TRAINER!\n"
.string "A SUPER ROD really is super!\p"
.string "Say all you want, but this baby can\n"
@@ -33,19 +33,19 @@ MossdeepCity_House3_Text_222616: @ 8222616
.string "What do you think?\n"
.string "You want it, don't you?$"
-MossdeepCity_House3_Text_2226B6: @ 82226B6
+MossdeepCity_House3_Text_SuperRodIsSuper: @ 82226B6
.string "You bet, you bet!\n"
.string "After all, a SUPER ROD is really super!$"
-MossdeepCity_House3_Text_2226F0: @ 82226F0
+MossdeepCity_House3_Text_TryDroppingRodInWater: @ 82226F0
.string "If there's any water, try dropping in\n"
.string "your ROD and see what bites!$"
-MossdeepCity_House3_Text_222733: @ 8222733
+MossdeepCity_House3_Text_DontYouLikeToFish: @ 8222733
.string "Hunh?\n"
.string "Don't you like to fish?$"
-MossdeepCity_House3_Text_222751: @ 8222751
+MossdeepCity_House3_Text_GoAfterSeafloorPokemon: @ 8222751
.string "Go after the seafloor POKéMON with\n"
.string "your SUPER ROD.$"
diff --git a/data/maps/MossdeepCity_House4/map.json b/data/maps/MossdeepCity_House4/map.json
index 2d1b33335..7166674a3 100644
--- a/data/maps/MossdeepCity_House4/map.json
+++ b/data/maps/MossdeepCity_House4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House4_EventScript_222DD8",
+ "script": "MossdeepCity_House4_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House4_EventScript_222DF7",
+ "script": "MossdeepCity_House4_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_House4_EventScript_222E1E",
+ "script": "MossdeepCity_House4_EventScript_Skitty",
"flag": "0"
}
],
diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc
index 4505b1f03..473c1cfbd 100644
--- a/data/maps/MossdeepCity_House4/scripts.inc
+++ b/data/maps/MossdeepCity_House4/scripts.inc
@@ -1,62 +1,62 @@
MossdeepCity_House4_MapScripts:: @ 8222DD7
.byte 0
-MossdeepCity_House4_EventScript_222DD8:: @ 8222DD8
+MossdeepCity_House4_EventScript_Woman:: @ 8222DD8
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_222DED
- msgbox MossdeepCity_House4_Text_222E31, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_CanBattleAtSecretBases
+ msgbox MossdeepCity_House4_Text_BrotherLikesToFindBases, MSGBOX_DEFAULT
release
end
-MossdeepCity_House4_EventScript_222DED:: @ 8222DED
- msgbox MossdeepCity_House4_Text_222E73, MSGBOX_DEFAULT
+MossdeepCity_House4_EventScript_CanBattleAtSecretBases:: @ 8222DED
+ msgbox MossdeepCity_House4_Text_BrotherLikesToVisitBasesAndBattle, MSGBOX_DEFAULT
release
end
-MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7
+MossdeepCity_House4_EventScript_NinjaBoy:: @ 8222DF7
lock
faceplayer
special CheckPlayerHasSecretBase
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_House4_EventScript_222E14
+ compare VAR_RESULT, FALSE
+ goto_if_eq MossdeepCity_House4_EventScript_NoSecretBase
special GetSecretBaseNearbyMapName
- msgbox MossdeepCity_House4_Text_222ECC, MSGBOX_DEFAULT
+ msgbox MossdeepCity_House4_Text_YouMadeSecretBaseNearX, MSGBOX_DEFAULT
release
end
-MossdeepCity_House4_EventScript_222E14:: @ 8222E14
- msgbox MossdeepCity_House4_Text_222EF7, MSGBOX_DEFAULT
+MossdeepCity_House4_EventScript_NoSecretBase:: @ 8222E14
+ msgbox MossdeepCity_House4_Text_MakeSecretBase, MSGBOX_DEFAULT
release
end
-MossdeepCity_House4_EventScript_222E1E:: @ 8222E1E
+MossdeepCity_House4_EventScript_Skitty:: @ 8222E1E
lock
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox MossdeepCity_House4_Text_222F31, MSGBOX_DEFAULT
+ msgbox MossdeepCity_House4_Text_Skitty, MSGBOX_DEFAULT
waitmoncry
release
end
-MossdeepCity_House4_Text_222E31: @ 8222E31
+MossdeepCity_House4_Text_BrotherLikesToFindBases: @ 8222E31
.string "My little brother says he likes to go\n"
.string "find people's SECRET BASES.$"
-MossdeepCity_House4_Text_222E73: @ 8222E73
+MossdeepCity_House4_Text_BrotherLikesToVisitBasesAndBattle: @ 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
+MossdeepCity_House4_Text_YouMadeSecretBaseNearX: @ 8222ECC
.string "Was it you who made a SECRET BASE\n"
.string "near {STR_VAR_1}?$"
-MossdeepCity_House4_Text_222EF7: @ 8222EF7
+MossdeepCity_House4_Text_MakeSecretBase: @ 8222EF7
.string "You should make a SECRET BASE\n"
.string "somewhere. I'll go find it!$"
-MossdeepCity_House4_Text_222F31: @ 8222F31
+MossdeepCity_House4_Text_Skitty: @ 8222F31
.string "SKITTY: Miyaan?$"
diff --git a/data/maps/MossdeepCity_Mart/map.json b/data/maps/MossdeepCity_Mart/map.json
index bd14a30c1..8be148fad 100644
--- a/data/maps/MossdeepCity_Mart/map.json
+++ b/data/maps/MossdeepCity_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_Mart_EventScript_2223C8",
+ "script": "MossdeepCity_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_Mart_EventScript_2223F6",
+ "script": "MossdeepCity_Mart_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_Mart_EventScript_2223FF",
+ "script": "MossdeepCity_Mart_EventScript_Boy",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_Mart_EventScript_222408",
+ "script": "MossdeepCity_Mart_EventScript_Sailor",
"flag": "0"
}
],
diff --git a/data/maps/MossdeepCity_Mart/scripts.inc b/data/maps/MossdeepCity_Mart/scripts.inc
index 11c911c45..c0d0ae311 100644
--- a/data/maps/MossdeepCity_Mart/scripts.inc
+++ b/data/maps/MossdeepCity_Mart/scripts.inc
@@ -1,18 +1,18 @@
MossdeepCity_Mart_MapScripts:: @ 82223C7
.byte 0
-MossdeepCity_Mart_EventScript_2223C8:: @ 82223C8
+MossdeepCity_Mart_EventScript_Clerk:: @ 82223C8
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart MossdeepCity_Mart_Pokemart_2223E0
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart MossdeepCity_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-MossdeepCity_Mart_Pokemart_2223E0: @ 82223E0
+MossdeepCity_Mart_Pokemart: @ 82223E0
.2byte ITEM_ULTRA_BALL
.2byte ITEM_NET_BALL
.2byte ITEM_DIVE_BALL
@@ -26,31 +26,31 @@ MossdeepCity_Mart_Pokemart_2223E0: @ 82223E0
release
end
-MossdeepCity_Mart_EventScript_2223F6:: @ 82223F6
- msgbox MossdeepCity_Mart_Text_222411, MSGBOX_NPC
+MossdeepCity_Mart_EventScript_Woman:: @ 82223F6
+ msgbox MossdeepCity_Mart_Text_ReviveIsFantastic, MSGBOX_NPC
end
-MossdeepCity_Mart_EventScript_2223FF:: @ 82223FF
- msgbox MossdeepCity_Mart_Text_2224A0, MSGBOX_NPC
+MossdeepCity_Mart_EventScript_Boy:: @ 82223FF
+ msgbox MossdeepCity_Mart_Text_MaxRepelLastsLongest, MSGBOX_NPC
end
-MossdeepCity_Mart_EventScript_222408:: @ 8222408
- msgbox MossdeepCity_Mart_Text_2224FA, MSGBOX_NPC
+MossdeepCity_Mart_EventScript_Sailor:: @ 8222408
+ msgbox MossdeepCity_Mart_Text_NetAndDiveBallsRare, MSGBOX_NPC
end
-MossdeepCity_Mart_Text_222411: @ 8222411
+MossdeepCity_Mart_Text_ReviveIsFantastic: @ 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
+MossdeepCity_Mart_Text_MaxRepelLastsLongest: @ 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
+MossdeepCity_Mart_Text_NetAndDiveBallsRare: @ 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"
diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/map.json b/data/maps/MossdeepCity_PokemonCenter_1F/map.json
index fc78cc967..c8018bc36 100644
--- a/data/maps/MossdeepCity_PokemonCenter_1F/map.json
+++ b/data/maps/MossdeepCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_1F_EventScript_22224E",
+ "script": "MossdeepCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_1F_EventScript_22225C",
+ "script": "MossdeepCity_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_1F_EventScript_222265",
+ "script": "MossdeepCity_PokemonCenter_1F_EventScript_Girl",
"flag": "0"
}
],
diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc
index 3806bfc5a..49c31dc6b 100644
--- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc
@@ -1,35 +1,36 @@
MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F
map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, MossdeepCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
MossdeepCity_PokemonCenter_1F_OnTransition: @ 822224A
setrespawn HEAL_LOCATION_MOSSDEEP_CITY
end
-MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E
+@ VAR_0x800B is the Nurse's object event id
+MossdeepCity_PokemonCenter_1F_EventScript_Nurse:: @ 822224E
setvar VAR_0x800B, 1
- call MossdeepCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-MossdeepCity_PokemonCenter_1F_EventScript_22225C:: @ 822225C
- msgbox MossdeepCity_PokemonCenter_1F_Text_22226E, MSGBOX_NPC
+MossdeepCity_PokemonCenter_1F_EventScript_Woman:: @ 822225C
+ msgbox MossdeepCity_PokemonCenter_1F_Text_GymLeaderDuoFormidable, MSGBOX_NPC
end
-MossdeepCity_PokemonCenter_1F_EventScript_222265:: @ 8222265
- msgbox MossdeepCity_PokemonCenter_1F_Text_2222D9, MSGBOX_NPC
+MossdeepCity_PokemonCenter_1F_EventScript_Girl:: @ 8222265
+ msgbox MossdeepCity_PokemonCenter_1F_Text_AbilitiesMightChangeMoves, MSGBOX_NPC
end
-MossdeepCity_PokemonCenter_1F_Text_22226E: @ 822226E
+MossdeepCity_PokemonCenter_1F_Text_GymLeaderDuoFormidable: @ 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
+MossdeepCity_PokemonCenter_1F_Text_AbilitiesMightChangeMoves: @ 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/maps/MossdeepCity_PokemonCenter_2F/map.json b/data/maps/MossdeepCity_PokemonCenter_2F/map.json
index 88bf3caf2..aa8691ac8 100644
--- a/data/maps/MossdeepCity_PokemonCenter_2F/map.json
+++ b/data/maps/MossdeepCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_PokemonCenter_2F_EventScript_22235B",
+ "script": "MossdeepCity_PokemonCenter_2F_EventScript_Woman5",
"flag": "0"
}
],
diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc
index 1c9c89fef..1d88c9ca2 100644
--- a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc
@@ -1,27 +1,28 @@
MossdeepCity_PokemonCenter_2F_MapScripts:: @ 8222334
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, MossdeepCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-MossdeepCity_PokemonCenter_2F_EventScript_222349:: @ 8222349
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+MossdeepCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8222349
+ call CableClub_EventScript_Colosseum
end
-MossdeepCity_PokemonCenter_2F_EventScript_22234F:: @ 822234F
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+MossdeepCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 822234F
+ call CableClub_EventScript_TradeCenter
end
-MossdeepCity_PokemonCenter_2F_EventScript_222355:: @ 8222355
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+MossdeepCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8222355
+ call CableClub_EventScript_RecordCorner
end
-MossdeepCity_PokemonCenter_2F_EventScript_22235B:: @ 822235B
- msgbox MossdeepCity_PokemonCenter_2F_Text_222364, MSGBOX_NPC
+MossdeepCity_PokemonCenter_2F_EventScript_Woman5:: @ 822235B
+ msgbox MossdeepCity_PokemonCenter_2F_Text_Woman5, MSGBOX_NPC
end
-MossdeepCity_PokemonCenter_2F_Text_222364: @ 8222364
+MossdeepCity_PokemonCenter_2F_Text_Woman5: @ 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/maps/MossdeepCity_SpaceCenter_1F/map.json b/data/maps/MossdeepCity_SpaceCenter_1F/map.json
index 0d02d368a..22f008ed1 100644
--- a/data/maps/MossdeepCity_SpaceCenter_1F/map.json
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_222FD8",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounter",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_223063",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_Scientist",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_22308E",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_SunStoneMan",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_223168",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_OldMan",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_22312D",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_Woman",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231DA",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt3",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231F1",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt1",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_223208",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt4",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_22321F",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_Grunt2",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA"
},
{
@@ -141,8 +141,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231CF",
- "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY"
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_MagmaNote",
+ "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE"
},
{
"graphics_id": "EVENT_OBJ_GFX_STEVEN",
@@ -154,7 +154,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_1F_EventScript_2231B9",
+ "script": "MossdeepCity_SpaceCenter_1F_EventScript_Steven",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN"
}
],
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
index 144113d72..05c14f11a 100644
--- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
@@ -1,14 +1,14 @@
MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41
- map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_SpaceCenter_1F_MapScript1_222FC2
+ map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_SpaceCenter_1F_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_1F_OnTransition
.byte 0
MossdeepCity_SpaceCenter_1F_OnTransition: @ 8222F4C
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma
end
-MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58
+MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma:: @ 8222F58
setobjectxyperm 3, 1, 9
setobjectmovementtype 3, MOVEMENT_TYPE_FACE_RIGHT
setobjectxyperm 5, 0, 8
@@ -18,291 +18,296 @@ MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58
setobjectxyperm 1, 3, 4
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT
setobjectmovementtype 2, MOVEMENT_TYPE_FACE_RIGHT
- compare VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 1
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA
- compare VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2
- compare VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 3
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA
+ compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 1
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardLeft
+ compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 2
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardDown
+ compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 3
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight
end
-MossdeepCity_SpaceCenter_1F_EventScript_222FAA:: @ 8222FAA
+MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardLeft:: @ 8222FAA
setobjectxyperm 9, 12, 2
end
-MossdeepCity_SpaceCenter_1F_EventScript_222FB2:: @ 8222FB2
+MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardDown:: @ 8222FB2
setobjectxyperm 9, 13, 3
end
-MossdeepCity_SpaceCenter_1F_EventScript_222FBA:: @ 8222FBA
+@ Functionally unused. See comment on MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast
+MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight:: @ 8222FBA
setobjectxyperm 9, 14, 2
end
-MossdeepCity_SpaceCenter_1F_MapScript1_222FC2: @ 8222FC2
+MossdeepCity_SpaceCenter_1F_OnLoad: @ 8222FC2
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_222FCE
+ goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_SetMagmaNote
end
-MossdeepCity_SpaceCenter_1F_EventScript_222FCE:: @ 8222FCE
+MossdeepCity_SpaceCenter_1F_EventScript_SetMagmaNote:: @ 8222FCE
setmetatile 2, 5, METATILE_Facility_DataPad, 1
return
-MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8
+MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounter:: @ 8222FD8
lock
faceplayer
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223024
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounterMagma
dotimebasedevents
specialvar VAR_RESULT, GetWeekCount
buffernumberstring 0, VAR_RESULT
compare VAR_RESULT, 0
- call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223012
+ call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYet
compare VAR_RESULT, 1
- call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22301B
+ call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumber
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_223012:: @ 8223012
- msgbox MossdeepCity_SpaceCenter_1F_Text_2232A7, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYet:: @ 8223012
+ msgbox MossdeepCity_SpaceCenter_1F_Text_RocketLaunchImminent, MSGBOX_DEFAULT
return
-MossdeepCity_SpaceCenter_1F_EventScript_22301B:: @ 822301B
- msgbox MossdeepCity_SpaceCenter_1F_Text_2232C8, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumber:: @ 822301B
+ msgbox MossdeepCity_SpaceCenter_1F_Text_SuccessfulLaunchNumber, MSGBOX_DEFAULT
return
-MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024
+MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounterMagma:: @ 8223024
dotimebasedevents
specialvar VAR_RESULT, GetWeekCount
buffernumberstring 0, VAR_RESULT
compare VAR_RESULT, 0
- call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223051
+ call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYetMagma
compare VAR_RESULT, 1
- call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22305A
+ call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumberMagma
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_223051:: @ 8223051
- msgbox MossdeepCity_SpaceCenter_1F_Text_223305, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYetMagma:: @ 8223051
+ msgbox MossdeepCity_SpaceCenter_1F_Text_HaywireButRocketLaunchImminent, MSGBOX_DEFAULT
return
-MossdeepCity_SpaceCenter_1F_EventScript_22305A:: @ 822305A
- msgbox MossdeepCity_SpaceCenter_1F_Text_22335E, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumberMagma:: @ 822305A
+ msgbox MossdeepCity_SpaceCenter_1F_Text_HaywireButSuccessfulLaunchNumber, MSGBOX_DEFAULT
return
-MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063
+MossdeepCity_SpaceCenter_1F_EventScript_Scientist:: @ 8223063
lock
faceplayer
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A
- msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, MSGBOX_DEFAULT
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_ScientistMagma
+ msgbox MossdeepCity_SpaceCenter_1F_Text_RocketLaunchDemandsPerfection, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_22307A:: @ 822307A
- msgbox MossdeepCity_SpaceCenter_1F_Text_2234B7, MSGBOX_DEFAULT
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight
+MossdeepCity_SpaceCenter_1F_EventScript_ScientistMagma:: @ 822307A
+ msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaHaveSightsOnSpaceCenter, MSGBOX_DEFAULT
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E
+MossdeepCity_SpaceCenter_1F_EventScript_SunStoneMan:: @ 822308E
lock
faceplayer
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA
- goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_2230D0
- msgbox MossdeepCity_SpaceCenter_1F_Text_223540, MSGBOX_DEFAULT
- giveitem_std ITEM_SUN_STONE
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_SunStoneManMagma
+ goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStone
+ msgbox MossdeepCity_SpaceCenter_1F_Text_FoundThisYouCanHaveIt, MSGBOX_DEFAULT
+ giveitem ITEM_SUN_STONE
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP
- msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_1F_Text_HoennFamousForMeteorShowers, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0
- msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStone:: @ 82230D0
+ msgbox MossdeepCity_SpaceCenter_1F_Text_HoennFamousForMeteorShowers, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA
- goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_223119
- msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, MSGBOX_DEFAULT
- giveitem_std ITEM_SUN_STONE
+MossdeepCity_SpaceCenter_1F_EventScript_SunStoneManMagma:: @ 82230DA
+ goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStoneMagma
+ msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaCantStealFuelTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_SUN_STONE
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP
- msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight
+ msgbox MossdeepCity_SpaceCenter_1F_Text_CantStrollOnBeachWithMagma, MSGBOX_DEFAULT
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119
- msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceRight
+MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStoneMagma:: @ 8223119
+ msgbox MossdeepCity_SpaceCenter_1F_Text_CantStrollOnBeachWithMagma, MSGBOX_DEFAULT
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D
+MossdeepCity_SpaceCenter_1F_EventScript_Woman:: @ 822312D
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_223154
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_223154
- goto MossdeepCity_SpaceCenter_1F_EventScript_22315E
+ goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal
+ goto MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma
end
-MossdeepCity_SpaceCenter_1F_EventScript_223154:: @ 8223154
- msgbox MossdeepCity_SpaceCenter_1F_Text_2236A6, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal:: @ 8223154
+ msgbox MossdeepCity_SpaceCenter_1F_Text_DidPokemonComeFromSpace, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_22315E:: @ 822315E
- msgbox MossdeepCity_SpaceCenter_1F_Text_2236E8, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma:: @ 822315E
+ msgbox MossdeepCity_SpaceCenter_1F_Text_AquaShouldBeatMagma, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168
+MossdeepCity_SpaceCenter_1F_EventScript_OldMan:: @ 8223168
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_22318F
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_22318F
- goto MossdeepCity_SpaceCenter_1F_EventScript_2231A4
+ goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal
+ goto MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma
end
-MossdeepCity_SpaceCenter_1F_EventScript_22318F:: @ 822318F
- msgbox MossdeepCity_SpaceCenter_1F_Text_22375B, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal:: @ 822318F
+ msgbox MossdeepCity_SpaceCenter_1F_Text_RocketsBoggleMyMind, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_2231A4:: @ 82231A4
- msgbox MossdeepCity_SpaceCenter_1F_Text_2237B5, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma:: @ 82231A4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaWantsToSpoilMyDream, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_2231B9:: @ 82231B9
+MossdeepCity_SpaceCenter_1F_EventScript_Steven:: @ 82231B9
lock
faceplayer
- msgbox MossdeepCity_SpaceCenter_1F_Text_223849, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_1F_Text_StevenMagmaCantBeAllowedToTakeFuel, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_2231CF:: @ 82231CF
+MossdeepCity_SpaceCenter_1F_EventScript_MagmaNote:: @ 82231CF
lockall
- msgbox MossdeepCity_SpaceCenter_1F_Text_223C2C, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaIntentToStealNotice, MSGBOX_DEFAULT
releaseall
end
-MossdeepCity_SpaceCenter_1F_EventScript_2231DA:: @ 82231DA
- trainerbattle_single TRAINER_GRUNT_32, MossdeepCity_SpaceCenter_1F_Text_22396C, MossdeepCity_SpaceCenter_1F_Text_223999
- msgbox MossdeepCity_SpaceCenter_1F_Text_2239AA, MSGBOX_AUTOCLOSE
+MossdeepCity_SpaceCenter_1F_EventScript_Grunt3:: @ 82231DA
+ trainerbattle_single TRAINER_GRUNT_SPACE_CENTER_3, MossdeepCity_SpaceCenter_1F_Text_Grunt3Intro, MossdeepCity_SpaceCenter_1F_Text_Grunt3Defeat
+ msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_SpaceCenter_1F_EventScript_2231F1:: @ 82231F1
- trainerbattle_single TRAINER_GRUNT_16, MossdeepCity_SpaceCenter_1F_Text_2239E6, MossdeepCity_SpaceCenter_1F_Text_223A21
- msgbox MossdeepCity_SpaceCenter_1F_Text_223A4B, MSGBOX_AUTOCLOSE
+MossdeepCity_SpaceCenter_1F_EventScript_Grunt1:: @ 82231F1
+ trainerbattle_single TRAINER_GRUNT_SPACE_CENTER_1, MossdeepCity_SpaceCenter_1F_Text_Grunt1Intro, MossdeepCity_SpaceCenter_1F_Text_Grunt1Defeat
+ msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208
- trainerbattle_single TRAINER_GRUNT_33, MossdeepCity_SpaceCenter_1F_Text_223A8A, MossdeepCity_SpaceCenter_1F_Text_223AFA
- msgbox MossdeepCity_SpaceCenter_1F_Text_223B37, MSGBOX_AUTOCLOSE
+MossdeepCity_SpaceCenter_1F_EventScript_Grunt4:: @ 8223208
+ trainerbattle_single TRAINER_GRUNT_SPACE_CENTER_4, MossdeepCity_SpaceCenter_1F_Text_Grunt4Intro, MossdeepCity_SpaceCenter_1F_Text_Grunt4Defeat
+ msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE
end
-MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F
+MossdeepCity_SpaceCenter_1F_EventScript_Grunt2:: @ 822321F
lock
faceplayer
- goto_if_set FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F, MossdeepCity_SpaceCenter_1F_EventScript_22326E
- msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_23, MossdeepCity_SpaceCenter_1F_Text_223BC2
+ goto_if_set FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F, MossdeepCity_SpaceCenter_1F_EventScript_Grunt2Defeated
+ msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt2Intro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_2, MossdeepCity_SpaceCenter_1F_Text_Grunt2Defeat
setflag FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F
copyobjectxytoperm 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
+ case DIR_WEST, MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsWest
+ case DIR_WEST, MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast @ BUG: This was meant to be case DIR_EAST
+ applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairs
waitmovement 0
- setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 2
+ setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 2
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_22326E:: @ 822326E
- msgbox MossdeepCity_SpaceCenter_1F_Text_223BD3, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_1F_EventScript_Grunt2Defeated:: @ 822326E
+ msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt2PostBattle, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_223278:: @ 8223278
- applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329A
+MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsWest:: @ 8223278
+ applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsWest
waitmovement 0
- setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 1
+ setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 1
release
end
-MossdeepCity_SpaceCenter_1F_EventScript_223289:: @ 8223289
- applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329E
+@ Functionally unused by mistake. The movement is handled anyway after the switch (see above)
+@ This also means VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE can never be 3
+MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast:: @ 8223289
+ applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsEast
waitmovement 0
- setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_1, 3
+ setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 3
release
end
-MossdeepCity_SpaceCenter_1F_Movement_22329A: @ 822329A
+MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsWest: @ 822329A
lock_facing_direction
walk_left
unlock_facing_direction
step_end
-MossdeepCity_SpaceCenter_1F_Movement_22329E: @ 822329E
+@ Functionally unused. See above
+MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsEast: @ 822329E
lock_facing_direction
walk_right
unlock_facing_direction
step_end
-MossdeepCity_SpaceCenter_1F_Movement_2232A2: @ 82232A2
+@ This was meant to only handle the player facing North, but by mistake(?) it also handles the player facing East
+MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairs: @ 82232A2
face_left
lock_facing_direction
walk_right
unlock_facing_direction
step_end
-MossdeepCity_SpaceCenter_1F_Text_2232A7: @ 82232A7
+MossdeepCity_SpaceCenter_1F_Text_RocketLaunchImminent: @ 82232A7
.string "The rocket's launch is imminent!$"
-MossdeepCity_SpaceCenter_1F_Text_2232C8: @ 82232C8
+MossdeepCity_SpaceCenter_1F_Text_SuccessfulLaunchNumber: @ 82232C8
.string "The rocket launched safely!\n"
.string "That's successful launch no. {STR_VAR_1}!$"
-MossdeepCity_SpaceCenter_1F_Text_223305: @ 8223305
+MossdeepCity_SpaceCenter_1F_Text_HaywireButRocketLaunchImminent: @ 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
+MossdeepCity_SpaceCenter_1F_Text_HaywireButSuccessfulLaunchNumber: @ 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
+MossdeepCity_SpaceCenter_1F_Text_RocketLaunchDemandsPerfection: @ 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"
@@ -310,55 +315,55 @@ MossdeepCity_SpaceCenter_1F_Text_2233D3: @ 82233D3
.string "Despite that, we never stop trying.\n"
.string "Why? It's a dream that never ends.$"
-MossdeepCity_SpaceCenter_1F_Text_2234B7: @ 82234B7
+MossdeepCity_SpaceCenter_1F_Text_MagmaHaveSightsOnSpaceCenter: @ 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
+MossdeepCity_SpaceCenter_1F_Text_FoundThisYouCanHaveIt: @ 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
+MossdeepCity_SpaceCenter_1F_Text_HoennFamousForMeteorShowers: @ 82235A6
.string "The HOENN region has been famous for \n"
.string "its meteor showers for a long time.$"
-MossdeepCity_SpaceCenter_1F_Text_2235F0: @ 82235F0
+MossdeepCity_SpaceCenter_1F_Text_MagmaCantStealFuelTakeThis: @ 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
+MossdeepCity_SpaceCenter_1F_Text_CantStrollOnBeachWithMagma: @ 8223664
.string "With TEAM MAGMA around, I guess\n"
.string "strolls on the beach aren't safe.$"
-MossdeepCity_SpaceCenter_1F_Text_2236A6: @ 82236A6
+MossdeepCity_SpaceCenter_1F_Text_DidPokemonComeFromSpace: @ 82236A6
.string "Some people claim that POKéMON came\n"
.string "from space. Could it be true?$"
-MossdeepCity_SpaceCenter_1F_Text_2236E8: @ 82236E8
+MossdeepCity_SpaceCenter_1F_Text_AquaShouldBeatMagma: @ 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
+MossdeepCity_SpaceCenter_1F_Text_RocketsBoggleMyMind: @ 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
+MossdeepCity_SpaceCenter_1F_Text_MagmaWantsToSpoilMyDream: @ 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
+MossdeepCity_SpaceCenter_1F_Text_StevenMagmaCantBeAllowedToTakeFuel: @ 8223849
.string "STEVEN: {PLAYER}{KUN}, have you read that\n"
.string "proclamation already?\p"
.string "TEAM MAGMA is coming after the rocket\n"
@@ -370,57 +375,57 @@ MossdeepCity_SpaceCenter_1F_Text_223849: @ 8223849
.string "In the meantime, why don't you go\n"
.string "check out the town?$"
-MossdeepCity_SpaceCenter_1F_Text_22396C: @ 822396C
+MossdeepCity_SpaceCenter_1F_Text_Grunt3Intro: @ 822396C
.string "As promised, we've come for\n"
.string "the rocket fuel!$"
-MossdeepCity_SpaceCenter_1F_Text_223999: @ 8223999
+MossdeepCity_SpaceCenter_1F_Text_Grunt3Defeat: @ 8223999
.string "Ran out of fuel…$"
-MossdeepCity_SpaceCenter_1F_Text_2239AA: @ 82239AA
+MossdeepCity_SpaceCenter_1F_Text_Grunt3PostBattle: @ 82239AA
.string "Don't think you're on a roll just\n"
.string "because you've beaten me!$"
-MossdeepCity_SpaceCenter_1F_Text_2239E6: @ 82239E6
+MossdeepCity_SpaceCenter_1F_Text_Grunt1Intro: @ 82239E6
.string "We gave you fair warning!\n"
.string "There's nothing sneaky about us!$"
-MossdeepCity_SpaceCenter_1F_Text_223A21: @ 8223A21
+MossdeepCity_SpaceCenter_1F_Text_Grunt1Defeat: @ 8223A21
.string "Grrr…\n"
.string "We should've used sneaky treachery…$"
-MossdeepCity_SpaceCenter_1F_Text_223A4B: @ 8223A4B
+MossdeepCity_SpaceCenter_1F_Text_Grunt1PostBattle: @ 8223A4B
.string "Okay, I get it already! The next time,\n"
.string "we'll come unannounced.$"
-MossdeepCity_SpaceCenter_1F_Text_223A8A: @ 8223A8A
+MossdeepCity_SpaceCenter_1F_Text_Grunt4Intro: @ 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
+MossdeepCity_SpaceCenter_1F_Text_Grunt4Defeat: @ 8223AFA
.string "Please, can you spare some fuel?\n"
.string "Even a chintzy cup will do!$"
-MossdeepCity_SpaceCenter_1F_Text_223B37: @ 8223B37
+MossdeepCity_SpaceCenter_1F_Text_Grunt4PostBattle: @ 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
+MossdeepCity_SpaceCenter_1F_Text_Grunt2Intro: @ 8223B90
.string "Our leader said no one, but no one,\n"
.string "gets past me!$"
-MossdeepCity_SpaceCenter_1F_Text_223BC2: @ 8223BC2
+MossdeepCity_SpaceCenter_1F_Text_Grunt2Defeat: @ 8223BC2
.string "Ack! Ack! Aaack!$"
-MossdeepCity_SpaceCenter_1F_Text_223BD3: @ 8223BD3
+MossdeepCity_SpaceCenter_1F_Text_Grunt2PostBattle: @ 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
+MossdeepCity_SpaceCenter_1F_Text_MagmaIntentToStealNotice: @ 8223C2C
.string "This is…\n"
.string "An intent-to-steal notice?\p"
.string "“To the staff of the SPACE CENTER:\n"
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.json b/data/maps/MossdeepCity_SpaceCenter_2F/map.json
index 5c758bf3e..61729d003 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/map.json
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F03",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_RichBoy",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223EC8",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223E8D",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Scientist",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F7A",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Steven",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F3E",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Grunt6",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F50",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Grunt5",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F47",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Grunt7",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F59",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Tabitha",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_SpaceCenter_2F_EventScript_223F6F",
+ "script": "MossdeepCity_SpaceCenter_2F_EventScript_Maxie",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA"
}
],
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
index 8dcc74116..bd1c9e15c 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
@@ -1,16 +1,16 @@
MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58
map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_2F_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_SpaceCenter_2F_MapScript2_223DB5
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_SpaceCenter_2F_OnFrame
.byte 0
MossdeepCity_SpaceCenter_2F_OnTransition: @ 8223D63
compare VAR_MOSSDEEP_CITY_STATE, 2
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D7A
- compare VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 2
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D9F
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MoveStevenMaxieTabitha
+ compare VAR_MOSSDEEP_SPACE_CENTER_STATE, 2
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MoveDefeatedGrunts
end
-MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A
+MossdeepCity_SpaceCenter_2F_EventScript_MoveStevenMaxieTabitha:: @ 8223D7A
clearflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER
setobjectxyperm 3, 5, 3
setobjectmovementtype 3, MOVEMENT_TYPE_FACE_RIGHT
@@ -20,193 +20,194 @@ MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A
setobjectmovementtype 2, MOVEMENT_TYPE_FACE_RIGHT
return
-MossdeepCity_SpaceCenter_2F_EventScript_223D9F:: @ 8223D9F
+MossdeepCity_SpaceCenter_2F_EventScript_MoveDefeatedGrunts:: @ 8223D9F
setobjectxyperm 5, 11, 2
setobjectxyperm 7, 15, 2
setobjectxyperm 6, 13, 4
return
-MossdeepCity_SpaceCenter_2F_MapScript2_223DB5: @ 8223DB5
- map_script_2 VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 1, MossdeepCity_SpaceCenter_2F_EventScript_223DBF
+MossdeepCity_SpaceCenter_2F_OnFrame: @ 8223DB5
+ map_script_2 VAR_MOSSDEEP_SPACE_CENTER_STATE, 1, MossdeepCity_SpaceCenter_2F_EventScript_ThreeMagmaGrunts
.2byte 0
-MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF
+MossdeepCity_SpaceCenter_2F_EventScript_ThreeMagmaGrunts:: @ 8223DBF
playse SE_PIN
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_ExclamationMark
waitmovement 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay48
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09
- msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_YoureOutnumberedTakeUsOn, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts
+ msgbox MossdeepCity_SpaceCenter_2F_Text_GoodAnswer, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_223E07
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_PlayerExit
waitmovement 0
warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1
waitstate
releaseall
end
-MossdeepCity_SpaceCenter_2F_Movement_223E07: @ 8223E07
+MossdeepCity_SpaceCenter_2F_Movement_PlayerExit: @ 8223E07
walk_up
step_end
-MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09
- msgbox MossdeepCity_SpaceCenter_2F_Text_22442D, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_34, MossdeepCity_SpaceCenter_2F_Text_224461
- applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85
+MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts:: @ 8223E09
+ msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt5Intro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_5, MossdeepCity_SpaceCenter_2F_Text_Grunt5Defeat
+ applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_Grunt5Defeated
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_35, MossdeepCity_SpaceCenter_2F_Text_224499
- applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_223E81
+ msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt6Intro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_6, MossdeepCity_SpaceCenter_2F_Text_Grunt6Defeat
+ applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_Grunt6Defeated
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_36, MossdeepCity_SpaceCenter_2F_Text_2244F1
- applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_223E89
+ msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt7Intro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_7, MossdeepCity_SpaceCenter_2F_Text_Grunt7Defeat
+ applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_Grunt7Defeated
waitmovement 0
- setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 2
+ setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 2
copyobjectxytoperm 5
copyobjectxytoperm 7
copyobjectxytoperm 6
releaseall
end
-MossdeepCity_SpaceCenter_2F_Movement_223E81: @ 8223E81
+MossdeepCity_SpaceCenter_2F_Movement_Grunt6Defeated: @ 8223E81
lock_facing_direction
walk_left
unlock_facing_direction
step_end
-MossdeepCity_SpaceCenter_2F_Movement_223E85: @ 8223E85
+MossdeepCity_SpaceCenter_2F_Movement_Grunt5Defeated: @ 8223E85
lock_facing_direction
walk_down
unlock_facing_direction
step_end
-MossdeepCity_SpaceCenter_2F_Movement_223E89: @ 8223E89
+MossdeepCity_SpaceCenter_2F_Movement_Grunt7Defeated: @ 8223E89
lock_facing_direction
walk_right
unlock_facing_direction
step_end
-MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D
+MossdeepCity_SpaceCenter_2F_EventScript_Scientist:: @ 8223E8D
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EB4
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EB4
- goto MossdeepCity_SpaceCenter_2F_EventScript_223EBE
+ goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal
+ goto MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma
end
-MossdeepCity_SpaceCenter_2F_EventScript_223EB4:: @ 8223EB4
- msgbox MossdeepCity_SpaceCenter_2F_Text_2241A1, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal:: @ 8223EB4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_MossdeepIdealForRockets, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_2F_EventScript_223EBE:: @ 8223EBE
- msgbox MossdeepCity_SpaceCenter_2F_Text_22420C, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma:: @ 8223EBE
+ msgbox MossdeepCity_SpaceCenter_2F_Text_WhyWouldMagmaStealRocketFuel, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8
+MossdeepCity_SpaceCenter_2F_EventScript_Gentleman:: @ 8223EC8
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EEF
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EEF
- goto MossdeepCity_SpaceCenter_2F_EventScript_223EF9
+ goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal
+ goto MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma
end
-MossdeepCity_SpaceCenter_2F_EventScript_223EEF:: @ 8223EEF
- msgbox MossdeepCity_SpaceCenter_2F_Text_224253, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal:: @ 8223EEF
+ msgbox MossdeepCity_SpaceCenter_2F_Text_WouldveLikedToBeAstronaut, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_2F_EventScript_223EF9:: @ 8223EF9
- msgbox MossdeepCity_SpaceCenter_2F_Text_2242C5, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma:: @ 8223EF9
+ msgbox MossdeepCity_SpaceCenter_2F_Text_MagmaCantGetAwayWithThis, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03
+MossdeepCity_SpaceCenter_2F_EventScript_RichBoy:: @ 8223F03
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223F2A
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma
compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223F2A
- goto MossdeepCity_SpaceCenter_2F_EventScript_223F34
+ goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal
+ goto MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F2A:: @ 8223F2A
- msgbox MossdeepCity_SpaceCenter_2F_Text_224342, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal:: @ 8223F2A
+ msgbox MossdeepCity_SpaceCenter_2F_Text_WishOrdinaryPeopleCouldGoIntoSpace, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F34:: @ 8223F34
- msgbox MossdeepCity_SpaceCenter_2F_Text_224376, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma:: @ 8223F34
+ msgbox MossdeepCity_SpaceCenter_2F_Text_DoesMagmaWantToGoToSpace, MSGBOX_DEFAULT
release
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F3E:: @ 8223F3E
- msgbox MossdeepCity_SpaceCenter_2F_Text_22452C, MSGBOX_NPC
+@ Battle for the below 3 grunts is handled in MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts
+MossdeepCity_SpaceCenter_2F_EventScript_Grunt6:: @ 8223F3E
+ msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt6PostBattle, MSGBOX_NPC
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F47:: @ 8223F47
- msgbox MossdeepCity_SpaceCenter_2F_Text_224570, MSGBOX_NPC
+MossdeepCity_SpaceCenter_2F_EventScript_Grunt7:: @ 8223F47
+ msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt7PostBattle, MSGBOX_NPC
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F50:: @ 8223F50
- msgbox MossdeepCity_SpaceCenter_2F_Text_2245AF, MSGBOX_NPC
+MossdeepCity_SpaceCenter_2F_EventScript_Grunt5:: @ 8223F50
+ msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt5PostBattle, MSGBOX_NPC
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F59:: @ 8223F59
+MossdeepCity_SpaceCenter_2F_EventScript_Tabitha:: @ 8223F59
lock
faceplayer
- msgbox MossdeepCity_SpaceCenter_2F_Text_2245D9, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_WellTakeCareOfYou, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F
+MossdeepCity_SpaceCenter_2F_EventScript_Maxie:: @ 8223F6F
lockall
- msgbox MossdeepCity_SpaceCenter_2F_Text_22467B, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieDontInterfere, MSGBOX_DEFAULT
releaseall
end
-MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A
+MossdeepCity_SpaceCenter_2F_EventScript_Steven:: @ 8223F7A
lockall
- goto_if_set FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER, MossdeepCity_SpaceCenter_2F_EventScript_223FDA
+ goto_if_set FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER, MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt
setflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER
- msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, MSGBOX_DEFAULT
- msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_StevenWhyStealRocketFuel, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieUseFuelToEruptVolcano, MSGBOX_DEFAULT
closemessage
delay 30
playse SE_KOUKA_L
switch VAR_FACING
- case 1, MossdeepCity_SpaceCenter_2F_EventScript_223FBA
- applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FC6
+ case DIR_SOUTH, MossdeepCity_SpaceCenter_2F_EventScript_StevenFightMovementSouth
+ applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_StevenFight
waitmovement 0
releaseall
end
-MossdeepCity_SpaceCenter_2F_EventScript_223FBA:: @ 8223FBA
- applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FCF
+MossdeepCity_SpaceCenter_2F_EventScript_StevenFightMovementSouth:: @ 8223FBA
+ applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_StevenFightSouth
waitmovement 0
releaseall
end
-MossdeepCity_SpaceCenter_2F_Movement_223FC6: @ 8223FC6
+MossdeepCity_SpaceCenter_2F_Movement_StevenFight: @ 8223FC6
lock_facing_direction
walk_fast_up
walk_fast_up
@@ -217,7 +218,7 @@ MossdeepCity_SpaceCenter_2F_Movement_223FC6: @ 8223FC6
walk_slow_down
step_end
-MossdeepCity_SpaceCenter_2F_Movement_223FCF: @ 8223FCF
+MossdeepCity_SpaceCenter_2F_Movement_StevenFightSouth: @ 8223FCF
face_left
lock_facing_direction
walk_fast_right
@@ -230,67 +231,64 @@ MossdeepCity_SpaceCenter_2F_Movement_223FCF: @ 8223FCF
face_down
step_end
-MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA
+MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt:: @ 8223FDA
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C
- msgbox MossdeepCity_SpaceCenter_2F_Text_224854, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_StevenAreYouReadyToBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle
+ msgbox MossdeepCity_SpaceCenter_2F_Text_StevenHurryGetReadyQuickly, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
releaseall
end
-MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle:: @ 822400C
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
special SavePlayerParty
- fadescreen 1
+ fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
compare VAR_RESULT, 0
- goto_if_ne MossdeepCity_SpaceCenter_2F_EventScript_224032
+ goto_if_ne MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle
special LoadPlayerParty
- goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA
+ goto MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt
-MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032
+MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle:: @ 8224032
special ReducePlayerPartyToSelectedMons
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
setvar VAR_0x8004, SPECIAL_BATTLE_STEVEN
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
- setvar VAR_0x8004, 6
- special CallFrontierUtilFunc
+ frontier_saveparty
special LoadPlayerParty
switch VAR_RESULT
- case 1, MossdeepCity_SpaceCenter_2F_EventScript_224071
- fadescreen 1
- special sp0C8_whiteout_maybe
+ case 1, MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha
+ fadescreen FADE_TO_BLACK
+ special SetCB2WhiteOut
waitstate
-MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
- msgbox MossdeepCity_SpaceCenter_2F_Text_2248C2, MSGBOX_DEFAULT
+MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha:: @ 8224071
+ msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieWeFailedIsAquaAlsoMisguided, MSGBOX_DEFAULT
closemessage
delay 20
- applymovement 9, Common_Movement_WalkInPlaceLeft
- applymovement 8, Common_Movement_WalkInPlaceDown
+ applymovement 9, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 8, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 60
- applymovement 9, Common_Movement_WalkInPlaceUp
- applymovement 8, Common_Movement_WalkInPlaceRight
+ applymovement 9, Common_Movement_WalkInPlaceFastestUp
+ applymovement 8, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 20
- msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieWeWillGiveUp, MSGBOX_DEFAULT
closemessage
setvar VAR_MOSSDEEP_CITY_STATE, 3
fadedefaultbgm
- fadescreen 1
- setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 3
+ fadescreen FADE_TO_BLACK
+ setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 3
setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
@@ -300,20 +298,20 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
removeobject 8
removeobject 9
setobjectxy 3, 5, 6
- turnobject 3, 1
+ turnobject 3, DIR_SOUTH
setobjectxy 2, 11, 8
- turnobject 2, 2
+ turnobject 2, DIR_NORTH
setobjectxy 1, 6, 2
- turnobject 1, 2
- call MossdeepCity_SpaceCenter_2F_EventScript_224131
- fadescreen 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, MSGBOX_DEFAULT
+ turnobject 1, DIR_NORTH
+ call MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer
+ fadescreen FADE_FROM_BLACK
+ msgbox MossdeepCity_SpaceCenter_2F_Text_StevenThankYouComeSeeMeAtHome, MSGBOX_DEFAULT
closemessage
- fadescreen 1
+ fadescreen FADE_TO_BLACK
setflag FLAG_DEFEATED_MAGMA_SPACE_CENTER
setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
removeobject 4
- setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE
clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
setvar VAR_STEVENS_HOUSE_STATE, 1
setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT
@@ -321,145 +319,145 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
setobjectxyperm 3, 5, 6
setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_AROUND
addobject 3
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
end
-MossdeepCity_SpaceCenter_2F_EventScript_224131:: @ 8224131
+MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer:: @ 8224131
switch VAR_FACING
- case 1, MossdeepCity_SpaceCenter_2F_EventScript_22414D
- case 3, MossdeepCity_SpaceCenter_2F_EventScript_224152
+ case DIR_SOUTH, MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerSouth
+ case DIR_WEST, MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerWest
return
-MossdeepCity_SpaceCenter_2F_EventScript_22414D:: @ 822414D
- turnobject 4, 2
+MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerSouth:: @ 822414D
+ turnobject 4, DIR_NORTH
return
-MossdeepCity_SpaceCenter_2F_EventScript_224152:: @ 8224152
- turnobject 4, 4
+MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerWest:: @ 8224152
+ turnobject 4, DIR_EAST
return
-MossdeepCity_SpaceCenter_2F_EventScript_224157:: @ 8224157
- trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_3, 0, MossdeepCity_SpaceCenter_2F_Text_22487C, MossdeepCity_SpaceCenter_2F_Text_22487C
+MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer:: @ 8224157
+ trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_MOSSDEEP, 0, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand
end
-MossdeepCity_SpaceCenter_2F_EventScript_224166:: @ 8224166
- trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_1, 0, MossdeepCity_SpaceCenter_Text_2248AD, MossdeepCity_SpaceCenter_Text_2248AD
+MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer:: @ 8224166
+ trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_MOSSDEEP, 0, MossdeepCity_SpaceCenter_Text_TabithaDefeat, MossdeepCity_SpaceCenter_Text_TabithaDefeat
end
-MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175
+MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall:: @ 8224175
lockall
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_224193
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall
compare VAR_RESULT, FEMALE
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22419A
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall
closemessage
clearflag FLAG_DEFEATED_MAGMA_SPACE_CENTER
releaseall
end
-MossdeepCity_SpaceCenter_2F_EventScript_224193:: @ 8224193
- pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B38C1
+MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall:: @ 8224193
+ pokenavcall MatchCall_Text_MayRayquazaCall
waitmessage
return
-MossdeepCity_SpaceCenter_2F_EventScript_22419A:: @ 822419A
- pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B39C6
+MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall:: @ 822419A
+ pokenavcall MatchCall_Text_BrendanRayquazaCall
waitmessage
return
-MossdeepCity_SpaceCenter_2F_Text_2241A1: @ 82241A1
+MossdeepCity_SpaceCenter_2F_Text_MossdeepIdealForRockets: @ 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
+MossdeepCity_SpaceCenter_2F_Text_WhyWouldMagmaStealRocketFuel: @ 822420C
.string "Why would TEAM MAGMA want to steal\n"
.string "our rocket fuel in the first place?$"
-MossdeepCity_SpaceCenter_2F_Text_224253: @ 8224253
+MossdeepCity_SpaceCenter_2F_Text_WouldveLikedToBeAstronaut: @ 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
+MossdeepCity_SpaceCenter_2F_Text_MagmaCantGetAwayWithThis: @ 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
+MossdeepCity_SpaceCenter_2F_Text_WishOrdinaryPeopleCouldGoIntoSpace: @ 8224342
.string "I wish ordinary people could go into\n"
.string "space one day…$"
-MossdeepCity_SpaceCenter_2F_Text_224376: @ 8224376
+MossdeepCity_SpaceCenter_2F_Text_DoesMagmaWantToGoToSpace: @ 8224376
.string "TEAM MAGMA…\n"
.string "Do they want to go to space, too?$"
-MossdeepCity_SpaceCenter_2F_Text_2243A4: @ 82243A4
+MossdeepCity_SpaceCenter_2F_Text_YoureOutnumberedTakeUsOn: @ 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
+MossdeepCity_SpaceCenter_2F_Text_GoodAnswer: @ 82243FE
.string "Good answer!\n"
.string "That's what a smart person'll do!$"
-MossdeepCity_SpaceCenter_2F_Text_22442D: @ 822442D
+MossdeepCity_SpaceCenter_2F_Text_Grunt5Intro: @ 822442D
.string "A reckless go-getter, are you?\n"
.string "Okay, I'll go first!$"
-MossdeepCity_SpaceCenter_2F_Text_224461: @ 8224461
+MossdeepCity_SpaceCenter_2F_Text_Grunt5Defeat: @ 8224461
.string "I lost!\n"
.string "But!$"
-MossdeepCity_SpaceCenter_2F_Text_22446E: @ 822446E
+MossdeepCity_SpaceCenter_2F_Text_Grunt6Intro: @ 822446E
.string "It's too soon to be relieved!\n"
.string "I'm up next!$"
-MossdeepCity_SpaceCenter_2F_Text_224499: @ 8224499
+MossdeepCity_SpaceCenter_2F_Text_Grunt6Defeat: @ 8224499
.string "I lost, too!\n"
.string "But!$"
-MossdeepCity_SpaceCenter_2F_Text_2244AB: @ 82244AB
+MossdeepCity_SpaceCenter_2F_Text_Grunt7Intro: @ 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
+MossdeepCity_SpaceCenter_2F_Text_Grunt7Defeat: @ 82244F1
.string "We should've taken a break…\n"
.string "That's what we should've done…$"
-MossdeepCity_SpaceCenter_2F_Text_22452C: @ 822452C
+MossdeepCity_SpaceCenter_2F_Text_Grunt6PostBattle: @ 822452C
.string "Three of us here, and look at the sorry\n"
.string "mess we got ourselves into.$"
-MossdeepCity_SpaceCenter_2F_Text_224570: @ 8224570
+MossdeepCity_SpaceCenter_2F_Text_Grunt7PostBattle: @ 8224570
.string "We three losing like this…\n"
.string "We look worse than usual by triple!$"
-MossdeepCity_SpaceCenter_2F_Text_2245AF: @ 82245AF
+MossdeepCity_SpaceCenter_2F_Text_Grunt5PostBattle: @ 82245AF
.string "Are we being useful to our leader\n"
.string "at all?$"
-MossdeepCity_SpaceCenter_2F_Text_2245D9: @ 82245D9
+MossdeepCity_SpaceCenter_2F_Text_WellTakeCareOfYou: @ 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
+MossdeepCity_SpaceCenter_2F_Text_MaxieDontInterfere: @ 822467B
.string "MAXIE: Clear out of the way!\n"
.string "Don't you dare interfere!$"
-MossdeepCity_SpaceCenter_2F_Text_2246B2: @ 82246B2
+MossdeepCity_SpaceCenter_2F_Text_StevenWhyStealRocketFuel: @ 82246B2
.string "STEVEN: TEAM MAGMA…\p"
.string "What's the point of stealing rocket\n"
.string "fuel?$"
-MossdeepCity_SpaceCenter_2F_Text_2246F0: @ 82246F0
+MossdeepCity_SpaceCenter_2F_Text_MaxieUseFuelToEruptVolcano: @ 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"
@@ -470,24 +468,24 @@ MossdeepCity_SpaceCenter_2F_Text_2246F0: @ 82246F0
.string "the volcano erupt!\p"
.string "It will be savage!$"
-MossdeepCity_SpaceCenter_2F_Text_2247FF: @ 82247FF
+MossdeepCity_SpaceCenter_2F_Text_StevenAreYouReadyToBattle: @ 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
+MossdeepCity_SpaceCenter_2F_Text_StevenHurryGetReadyQuickly: @ 8224854
.string "STEVEN: Then, hurry!\n"
.string "Get ready quickly!$"
-MossdeepCity_SpaceCenter_2F_Text_22487C: @ 822487C
+MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand: @ 822487C
.string "All I want…\n"
.string "I just want to expand the land mass…$"
-MossdeepCity_SpaceCenter_Text_2248AD: @ 82248AD
+MossdeepCity_SpaceCenter_Text_TabithaDefeat: @ 82248AD
.string "I'm with our leader…$"
-MossdeepCity_SpaceCenter_2F_Text_2248C2: @ 82248C2
+MossdeepCity_SpaceCenter_2F_Text_MaxieWeFailedIsAquaAlsoMisguided: @ 82248C2
.string "MAXIE: We failed to make the volcano\n"
.string "erupt…\p"
.string "We failed to control GROUDON after\n"
@@ -502,13 +500,13 @@ MossdeepCity_SpaceCenter_2F_Text_2248C2: @ 82248C2
.string "Then might TEAM AQUA's goal to expand\n"
.string "the sea also be equally misguided?$"
-MossdeepCity_SpaceCenter_2F_Text_2249DC: @ 82249DC
+MossdeepCity_SpaceCenter_2F_Text_MaxieWeWillGiveUp: @ 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
+MossdeepCity_SpaceCenter_2F_Text_StevenThankYouComeSeeMeAtHome: @ 8224A4A
.string "STEVEN: Whew, that was too tense.\n"
.string "{PLAYER}{KUN}, thank you.\p"
.string "I have something to give you as\n"
diff --git a/data/maps/MossdeepCity_StevensHouse/map.json b/data/maps/MossdeepCity_StevensHouse/map.json
index 76844e258..c061999ef 100644
--- a/data/maps/MossdeepCity_StevensHouse/map.json
+++ b/data/maps/MossdeepCity_StevensHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_StevensHouse_EventScript_222912",
+ "script": "MossdeepCity_StevensHouse_EventScript_Steven",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_StevensHouse_EventScript_222841",
+ "script": "MossdeepCity_StevensHouse_EventScript_BeldumPokeball",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MossdeepCity_StevensHouse_EventScript_22291B",
+ "script": "MossdeepCity_StevensHouse_EventScript_Letter",
"flag": "FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY"
}
],
@@ -78,7 +78,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_StevensHouse_EventScript_222909"
+ "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay"
},
{
"type": "sign",
@@ -86,7 +86,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_StevensHouse_EventScript_222909"
+ "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay"
},
{
"type": "sign",
@@ -94,7 +94,7 @@
"y": 4,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_StevensHouse_EventScript_222909"
+ "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay"
},
{
"type": "sign",
@@ -102,7 +102,7 @@
"y": 6,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MossdeepCity_StevensHouse_EventScript_222909"
+ "script": "MossdeepCity_StevensHouse_EventScript_RockDisplay"
}
]
} \ No newline at end of file
diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc
index 69b5a01d4..bc71c6ca4 100644
--- a/data/maps/MossdeepCity_StevensHouse/scripts.inc
+++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc
@@ -1,50 +1,50 @@
MossdeepCity_StevensHouse_MapScripts:: @ 8222784
- map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_StevensHouse_MapScript1_222794
+ map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_StevensHouse_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_StevensHouse_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_StevensHouse_MapScript2_2227C0
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_StevensHouse_OnFrame
.byte 0
-MossdeepCity_StevensHouse_MapScript1_222794: @ 8222794
- call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_22279E
+MossdeepCity_StevensHouse_OnLoad: @ 8222794
+ call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_HideStevensNote
end
-MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E
+MossdeepCity_StevensHouse_EventScript_HideStevensNote:: @ 822279E
setmetatile 6, 4, METATILE_GenericBuilding_TableEdge, 1
return
MossdeepCity_StevensHouse_OnTransition: @ 82227A8
compare VAR_STEVENS_HOUSE_STATE, 2
- call_if_eq MossdeepCity_StevensHouse_EventScript_2227B4
+ call_if_eq MossdeepCity_StevensHouse_EventScript_SetStevenPos
end
-MossdeepCity_StevensHouse_EventScript_2227B4:: @ 82227B4
+MossdeepCity_StevensHouse_EventScript_SetStevenPos:: @ 82227B4
setobjectxyperm 1, 6, 5
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
-MossdeepCity_StevensHouse_MapScript2_2227C0: @ 82227C0
- map_script_2 VAR_STEVENS_HOUSE_STATE, 1, MossdeepCity_StevensHouse_EventScript_2227CA
+MossdeepCity_StevensHouse_OnFrame: @ 82227C0
+ map_script_2 VAR_STEVENS_HOUSE_STATE, 1, MossdeepCity_StevensHouse_EventScript_StevenGivesDive
.2byte 0
-MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA
+MossdeepCity_StevensHouse_EventScript_StevenGivesDive:: @ 82227CA
lockall
- applymovement 1, Common_Movement_WalkInPlaceLeft
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
waitmovement 0
applymovement 1, Common_Movement_Delay48
waitmovement 0
- applymovement 1, MossdeepCity_StevensHouse_Movement_222833
+ applymovement 1, MossdeepCity_StevensHouse_Movement_StevenApproachPlayer
waitmovement 0
- msgbox MossdeepCity_StevensHouse_Text_222936, MSGBOX_DEFAULT
- giveitem_std ITEM_HM08
+ msgbox MossdeepCity_StevensHouse_Text_YouveEarnedHMDive, MSGBOX_DEFAULT
+ giveitem ITEM_HM08
setflag FLAG_RECEIVED_HM08
setflag FLAG_OMIT_DIVE_FROM_STEVEN_LETTER
- msgbox MossdeepCity_StevensHouse_Text_222A0E, MSGBOX_DEFAULT
+ msgbox MossdeepCity_StevensHouse_Text_ExplainDive, MSGBOX_DEFAULT
closemessage
delay 20
- applymovement 1, MossdeepCity_StevensHouse_Movement_22283B
+ applymovement 1, MossdeepCity_StevensHouse_Movement_StevenReturn
waitmovement 0
setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT
@@ -52,7 +52,7 @@ MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA
releaseall
end
-MossdeepCity_StevensHouse_Movement_222833: @ 8222833
+MossdeepCity_StevensHouse_Movement_StevenApproachPlayer: @ 8222833
walk_left
walk_left
walk_left
@@ -62,7 +62,7 @@ MossdeepCity_StevensHouse_Movement_222833: @ 8222833
walk_in_place_fastest_down
step_end
-MossdeepCity_StevensHouse_Movement_22283B: @ 822283B
+MossdeepCity_StevensHouse_Movement_StevenReturn: @ 822283B
walk_up
walk_right
walk_right
@@ -70,89 +70,90 @@ MossdeepCity_StevensHouse_Movement_22283B: @ 822283B
walk_in_place_fastest_up
step_end
-MossdeepCity_StevensHouse_EventScript_222841:: @ 8222841
+MossdeepCity_StevensHouse_EventScript_BeldumPokeball:: @ 8222841
lockall
- msgbox MossdeepCity_StevensHouse_Text_222B9E, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_StevensHouse_EventScript_22285B
- goto MossdeepCity_StevensHouse_EventScript_222865
+ msgbox MossdeepCity_StevensHouse_Text_TakeBallContainingBeldum, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_LeaveBeldum
+ goto MossdeepCity_StevensHouse_EventScript_GiveBeldum
end
-MossdeepCity_StevensHouse_EventScript_22285B:: @ 822285B
- msgbox MossdeepCity_StevensHouse_Text_222C2A, MSGBOX_DEFAULT
+MossdeepCity_StevensHouse_EventScript_LeaveBeldum:: @ 822285B
+ msgbox MossdeepCity_StevensHouse_Text_LeftPokeBallWhereItWas, MSGBOX_DEFAULT
releaseall
end
-MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865
+MossdeepCity_StevensHouse_EventScript_GiveBeldum:: @ 8222865
setvar VAR_TEMP_1, SPECIES_BELDUM
- givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0
+ givemon SPECIES_BELDUM, 5, ITEM_NONE
compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_StevensHouse_EventScript_222895
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_SendBeldumParty
compare VAR_RESULT, 1
- goto_if_eq MossdeepCity_StevensHouse_EventScript_2228BD
- goto MossdeepCity_StevensHouse_EventScript_273811
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_SendBeldumPC
+ goto Common_EventScript_NoMoreRoomForPokemon
end
-MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895
- call MossdeepCity_StevensHouse_EventScript_2228EB
+MossdeepCity_StevensHouse_EventScript_SendBeldumParty:: @ 8222895
+ call MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_StevensHouse_EventScript_222901
- call MossdeepCity_StevensHouse_EventScript_27378B
- call Common_EventScript_NameReceivedPokemon
- goto MossdeepCity_StevensHouse_EventScript_222901
+ compare VAR_RESULT, NO
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_ReceivedBeldum
+ call Common_EventScript_GetGiftMonPartySlot
+ call Common_EventScript_NameReceivedPartyMon
+ goto MossdeepCity_StevensHouse_EventScript_ReceivedBeldum
end
-MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD
- call MossdeepCity_StevensHouse_EventScript_2228EB
+MossdeepCity_StevensHouse_EventScript_SendBeldumPC:: @ 82228BD
+ call MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_StevensHouse_EventScript_2228E0
- call MossdeepCity_StevensHouse_EventScript_273797
- goto MossdeepCity_StevensHouse_EventScript_2228E0
+ compare VAR_RESULT, NO
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC
+ call Common_EventScript_NameReceivedBoxMon
+ goto MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC
end
-MossdeepCity_StevensHouse_EventScript_2228E0:: @ 82228E0
- call MossdeepCity_StevensHouse_EventScript_2737A0
- goto MossdeepCity_StevensHouse_EventScript_222901
+MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC:: @ 82228E0
+ call Common_EventScript_TransferredToPC
+ goto MossdeepCity_StevensHouse_EventScript_ReceivedBeldum
end
-MossdeepCity_StevensHouse_EventScript_2228EB:: @ 82228EB
+MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare:: @ 82228EB
bufferspeciesname 1, SPECIES_BELDUM
removeobject 2
playfanfare MUS_FANFA4
- message MossdeepCity_StevensHouse_Text_222BED
+ message MossdeepCity_StevensHouse_Text_ObtainedBeldum
waitmessage
waitfanfare
bufferspeciesname 0, SPECIES_BELDUM
return
-MossdeepCity_StevensHouse_EventScript_222901:: @ 8222901
+MossdeepCity_StevensHouse_EventScript_ReceivedBeldum:: @ 8222901
setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
setflag FLAG_RECEIVED_BELDUM
releaseall
end
-MossdeepCity_StevensHouse_EventScript_222909:: @ 8222909
- msgbox MossdeepCity_StevensHouse_Text_222D97, MSGBOX_SIGN
+MossdeepCity_StevensHouse_EventScript_RockDisplay:: @ 8222909
+ msgbox MossdeepCity_StevensHouse_Text_CollectionOfRareRocks, MSGBOX_SIGN
end
-MossdeepCity_StevensHouse_EventScript_222912:: @ 8222912
- msgbox MossdeepCity_StevensHouse_Text_222B11, MSGBOX_NPC
+MossdeepCity_StevensHouse_EventScript_Steven:: @ 8222912
+ msgbox MossdeepCity_StevensHouse_Text_UnderwateCavernBetweenMossdeepSootopolis, MSGBOX_NPC
end
-MossdeepCity_StevensHouse_EventScript_22291B:: @ 822291B
+MossdeepCity_StevensHouse_EventScript_Letter:: @ 822291B
lockall
- msgbox MossdeepCity_StevensHouse_Text_222C4E, MSGBOX_DEFAULT
+ msgbox MossdeepCity_StevensHouse_Text_LetterFromSteven, MSGBOX_DEFAULT
releaseall
end
-MossdeepCity_StevensHouse_EventScript_222926:: @ 8222926
- giveitem_std ITEM_HM08, 1, 1
+@ Unused, leftover from RS
+MossdeepCity_StevensHouse_EventScript_DiveItemBall:: @ 8222926
+ finditem ITEM_HM08
setflag FLAG_RECEIVED_HM08
end
-MossdeepCity_StevensHouse_Text_222936: @ 8222936
+MossdeepCity_StevensHouse_Text_YouveEarnedHMDive: @ 8222936
.string "STEVEN: {PLAYER}{KUN}…\p"
.string "As you can see, there's not much here,\n"
.string "but this is my home.\p"
@@ -162,7 +163,7 @@ MossdeepCity_StevensHouse_Text_222936: @ 8222936
.string "No need to be shy--you've earned\n"
.string "this HM.$"
-MossdeepCity_StevensHouse_Text_222A0E: @ 8222A0E
+MossdeepCity_StevensHouse_Text_ExplainDive: @ 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"
@@ -172,30 +173,31 @@ MossdeepCity_StevensHouse_Text_222A0E: @ 8222A0E
.string "In some places, it won't be possible\n"
.string "for you to surface, though.$"
-MossdeepCity_StevensHouse_Text_222B11: @ 8222B11
+MossdeepCity_StevensHouse_Text_UnderwateCavernBetweenMossdeepSootopolis: @ 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
+MossdeepCity_StevensHouse_Text_TakeBallContainingBeldum: @ 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
+MossdeepCity_StevensHouse_Text_ObtainedBeldum: @ 8222BED
.string "{PLAYER} obtained a BELDUM.$"
-MossdeepCity_StevensHouse_Text_222C03: @ 8222C03
+@ Unused
+MossdeepCity_StevensHouse_Text_NoSpaceForAnotherMon: @ 8222C03
.string "There is no space for another POKéMON.$"
-MossdeepCity_StevensHouse_Text_222C2A: @ 8222C2A
+MossdeepCity_StevensHouse_Text_LeftPokeBallWhereItWas: @ 8222C2A
.string "{PLAYER} left the POKé BALL where\n"
.string "it was.$"
-MossdeepCity_StevensHouse_Text_222C4E: @ 8222C4E
+MossdeepCity_StevensHouse_Text_LetterFromSteven: @ 8222C4E
.string "It's a letter.\p"
.string "… … … … … …\p"
.string "To {PLAYER}{KUN}…\p"
@@ -212,7 +214,7 @@ MossdeepCity_StevensHouse_Text_222C4E: @ 8222C4E
.string "May our paths cross someday.\p"
.string "STEVEN STONE$"
-MossdeepCity_StevensHouse_Text_222D97: @ 8222D97
+MossdeepCity_StevensHouse_Text_CollectionOfRareRocks: @ 8222D97
.string "It's a collection of rare rocks and\n"
.string "stones assembled by STEVEN.$"
diff --git a/data/maps/MtChimney/map.json b/data/maps/MtChimney/map.json
index 2b19e7f8d..d18415a5f 100644
--- a/data/maps/MtChimney/map.json
+++ b/data/maps/MtChimney/map.json
@@ -5,7 +5,7 @@
"music": "MUS_TOZAN",
"region_map_section": "MAPSEC_MT_CHIMNEY",
"requires_flash": false,
- "weather": "WEATHER_ASH",
+ "weather": "WEATHER_VOLCANIC_ASH",
"map_type": "MAP_TYPE_ROUTE",
"allow_bike": true,
"allow_escape_rope": false,
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22EDD5",
+ "script": "MtChimney_EventScript_Archie",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22EE0B",
+ "script": "MtChimney_EventScript_Maxie",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MtChimney_EventScript_22F06E",
+ "script": "MtChimney_EventScript_Tabitha",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0C0",
+ "script": "MtChimney_EventScript_BusyMagmaGrunt5",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0B7",
+ "script": "MtChimney_EventScript_BusyMagmaGrunt4",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F05C",
+ "script": "MtChimney_EventScript_BusyAquaGrunt2",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F053",
+ "script": "MtChimney_EventScript_BusyAquaGrunt1",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F065",
+ "script": "MtChimney_EventScript_BusyAquaGrunt3",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22EEF3",
+ "script": "MtChimney_EventScript_LavaCookieLady",
"flag": "FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0C9",
+ "script": "MtChimney_EventScript_BusyMagmaGrunt6",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0DB",
+ "script": "MtChimney_EventScript_AquaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0D2",
+ "script": "MtChimney_EventScript_MagmaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0A5",
+ "script": "MtChimney_EventScript_BusyMagmaGrunt2",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0D2",
+ "script": "MtChimney_EventScript_MagmaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -206,7 +206,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0D2",
+ "script": "MtChimney_EventScript_MagmaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -219,7 +219,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0AE",
+ "script": "MtChimney_EventScript_BusyMagmaGrunt3",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -232,7 +232,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F09C",
+ "script": "MtChimney_EventScript_BusyMagmaGrunt1",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -245,7 +245,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0DB",
+ "script": "MtChimney_EventScript_AquaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -258,7 +258,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0D2",
+ "script": "MtChimney_EventScript_MagmaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -271,7 +271,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0DB",
+ "script": "MtChimney_EventScript_AquaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -284,7 +284,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0D2",
+ "script": "MtChimney_EventScript_MagmaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -297,7 +297,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtChimney_EventScript_22F085",
+ "script": "MtChimney_EventScript_Grunt2",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -310,7 +310,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0DB",
+ "script": "MtChimney_EventScript_AquaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA"
},
{
@@ -323,7 +323,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_EventScript_22F0D2",
+ "script": "MtChimney_EventScript_MagmaPoochyena",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -336,7 +336,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtChimney_EventScript_22F14A",
+ "script": "MtChimney_EventScript_Shelby",
"flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS"
},
{
@@ -349,7 +349,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "MtChimney_EventScript_22F1AC",
+ "script": "MtChimney_EventScript_Melissa",
"flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS"
},
{
@@ -362,7 +362,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtChimney_EventScript_22F1C3",
+ "script": "MtChimney_EventScript_Sheila",
"flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS"
},
{
@@ -375,7 +375,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtChimney_EventScript_22F1DA",
+ "script": "MtChimney_EventScript_Shirley",
"flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS"
},
{
@@ -388,7 +388,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtChimney_EventScript_22F1F1",
+ "script": "MtChimney_EventScript_Grunt1",
"flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA"
},
{
@@ -401,7 +401,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "MtChimney_EventScript_22F208",
+ "script": "MtChimney_EventScript_Sawyer",
"flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS"
}
],
@@ -443,7 +443,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MtChimney_EventScript_22F0E4"
+ "script": "MtChimney_EventScript_MeteoriteMachine"
},
{
"type": "sign",
@@ -451,7 +451,7 @@
"y": 37,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "MtChimney_EventScript_22F141"
+ "script": "MtChimney_EventScript_RouteSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc
index 717973eba..8371d811b 100644
--- a/data/maps/MtChimney/scripts.inc
+++ b/data/maps/MtChimney/scripts.inc
@@ -1,5 +1,5 @@
MtChimney_MapScripts:: @ 822EDC1
- map_script MAP_SCRIPT_ON_RESUME, MtChimney_MapScript1_22EDD2
+ map_script MAP_SCRIPT_ON_RESUME, MtChimney_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_OnTransition
.byte 0
@@ -7,15 +7,15 @@ MtChimney_OnTransition: @ 822EDCC
setvar VAR_JAGGED_PASS_ASH_WEATHER, 1
end
-MtChimney_MapScript1_22EDD2: @ 822EDD2
- setstepcallback 1
+MtChimney_OnResume: @ 822EDD2
+ setstepcallback STEP_CB_ASH
end
-MtChimney_EventScript_22EDD5:: @ 822EDD5
+MtChimney_EventScript_Archie:: @ 822EDD5
lock
faceplayer
- call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_22EDF9
- call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_22EE02
+ call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_ArchieGoStopTeamMagma
+ call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_ArchieBusyFighting
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
@@ -23,18 +23,18 @@ MtChimney_EventScript_22EDD5:: @ 822EDD5
release
end
-MtChimney_EventScript_22EDF9:: @ 822EDF9
- msgbox MtChimney_Text_22FAD2, MSGBOX_DEFAULT
+MtChimney_EventScript_ArchieGoStopTeamMagma:: @ 822EDF9
+ msgbox MtChimney_Text_ArchieGoStopTeamMagma, MSGBOX_DEFAULT
return
-MtChimney_EventScript_22EE02:: @ 822EE02
- msgbox MtChimney_Text_22FBC7, MSGBOX_DEFAULT
+MtChimney_EventScript_ArchieBusyFighting:: @ 822EE02
+ msgbox MtChimney_Text_ArchieIHaveMyHandsFull, MSGBOX_DEFAULT
return
-MtChimney_EventScript_22EE0B:: @ 822EE0B
+MtChimney_EventScript_Maxie:: @ 822EE0B
lockall
playbgm MUS_MGM0, 0
- msgbox MtChimney_Text_22F26A, MSGBOX_DEFAULT
+ msgbox MtChimney_Text_MeteoriteWillActivateVolcano, MSGBOX_DEFAULT
applymovement 2, Common_Movement_FacePlayer
waitmovement 0
playse SE_PIN
@@ -42,114 +42,106 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B
waitmovement 0
applymovement 2, Common_Movement_Delay48
waitmovement 0
- msgbox MtChimney_Text_22F32E, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_MAXIE_2, MtChimney_Text_22F5CF
- msgbox MtChimney_Text_22F5F7, MSGBOX_DEFAULT
+ msgbox MtChimney_Text_MaxieIntro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_MAXIE_MT_CHIMNEY, MtChimney_Text_MaxieDefeat
+ msgbox MtChimney_Text_MaxieYouHaventSeenLastOfMagma, MSGBOX_DEFAULT
closemessage
delay 30
- fadescreen 1
+ fadescreen FADE_TO_BLACK
removeobject 2
removeobject 29
removeobject 3
removeobject 22
setflag FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
setobjectxyperm 1, 10, 12
addobject 1
- compare VAR_FACING, 4
- call_if_eq MtChimney_EventScript_22EEC7
- compare VAR_FACING, 2
- call_if_eq MtChimney_EventScript_22EED2
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ compare VAR_FACING, DIR_EAST
+ call_if_eq MtChimney_EventScript_ArchieApproachPlayerEast
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq MtChimney_EventScript_ArchieApproachPlayerNorth
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox MtChimney_Text_22FC3D, MSGBOX_DEFAULT
+ msgbox MtChimney_Text_ArchieThankYou, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 4
- call_if_eq MtChimney_EventScript_22EEDD
- compare VAR_FACING, 2
- call_if_eq MtChimney_EventScript_22EEE8
+ compare VAR_FACING, DIR_EAST
+ call_if_eq MtChimney_EventScript_ArchieExitEast
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq MtChimney_EventScript_ArchieExitNorth
removeobject 1
setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
- clearflag FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO
+ clearflag FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO
setflag FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO
clearflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY
releaseall
end
-MtChimney_EventScript_22EEC7:: @ 822EEC7
- applymovement 1, MtChimney_Movement_22EF83
+MtChimney_EventScript_ArchieApproachPlayerEast:: @ 822EEC7
+ applymovement 1, MtChimney_Movement_ArchieApproachPlayerEast
waitmovement 0
return
-MtChimney_EventScript_22EED2:: @ 822EED2
- applymovement 1, MtChimney_Movement_22EF94
+MtChimney_EventScript_ArchieApproachPlayerNorth:: @ 822EED2
+ applymovement 1, MtChimney_Movement_ArchieApproachPlayerNorth
waitmovement 0
return
-MtChimney_EventScript_22EEDD:: @ 822EEDD
- applymovement 1, MtChimney_Movement_22EF8B
+MtChimney_EventScript_ArchieExitEast:: @ 822EEDD
+ applymovement 1, MtChimney_Movement_ArchieExitEast
waitmovement 0
return
-MtChimney_EventScript_22EEE8:: @ 822EEE8
- applymovement 1, MtChimney_Movement_22EF9C
+MtChimney_EventScript_ArchieExitNorth:: @ 822EEE8
+ applymovement 1, MtChimney_Movement_ArchieExitNorth
waitmovement 0
return
-MtChimney_EventScript_22EEF3:: @ 822EEF3
+MtChimney_EventScript_LavaCookieLady:: @ 822EEF3
lock
faceplayer
showmoneybox 0, 0, 0
- msgbox MtChimney_Text_22FE04, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MtChimney_EventScript_22EF69
- checkmoney 0xc8, 0
- compare VAR_RESULT, 0
- goto_if_eq MtChimney_EventScript_22EF76
- msgbox MtChimney_Text_22FE4D, MSGBOX_DEFAULT
+ msgbox MtChimney_Text_LavaCookiesJust200, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MtChimney_EventScript_DeclineLavaCookie
+ checkmoney 200, 0
+ compare VAR_RESULT, FALSE
+ goto_if_eq MtChimney_EventScript_NotEnoughMoney
+ msgbox MtChimney_Text_ThankYouDear, MSGBOX_DEFAULT
checkitemspace ITEM_LAVA_COOKIE, 1
- compare VAR_RESULT, 1
- call_if_eq MtChimney_EventScript_22EF5E
- giveitem_std ITEM_LAVA_COOKIE
- compare VAR_RESULT, 0
- goto_if_eq MtChimney_EventScript_22EF51
+ compare VAR_RESULT, TRUE
+ call_if_eq MtChimney_EventScript_RemoveMoney
+ giveitem ITEM_LAVA_COOKIE
+ compare VAR_RESULT, FALSE
+ goto_if_eq MtChimney_EventScript_BagIsFull
hidemoneybox
- nop
- nop
release
end
-MtChimney_EventScript_22EF51:: @ 822EF51
+MtChimney_EventScript_BagIsFull:: @ 822EF51
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
release
end
-MtChimney_EventScript_22EF5E:: @ 822EF5E
- takemoney 0xc8, 0
+MtChimney_EventScript_RemoveMoney:: @ 822EF5E
+ removemoney 200, 0
updatemoneybox 0, 0
return
-MtChimney_EventScript_22EF69:: @ 822EF69
- msgbox MtChimney_Text_22FE9B, MSGBOX_DEFAULT
+MtChimney_EventScript_DeclineLavaCookie:: @ 822EF69
+ msgbox MtChimney_Text_OhFineThen, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
release
end
-MtChimney_EventScript_22EF76:: @ 822EF76
- msgbox MtChimney_Text_22FE5E, MSGBOX_DEFAULT
+MtChimney_EventScript_NotEnoughMoney:: @ 822EF76
+ msgbox MtChimney_Text_YouveNotGotTheMoney, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
release
end
-MtChimney_Movement_22EF83: @ 822EF83
+MtChimney_Movement_ArchieApproachPlayerEast: @ 822EF83
walk_up
walk_up
walk_up
@@ -159,7 +151,7 @@ MtChimney_Movement_22EF83: @ 822EF83
walk_right
step_end
-MtChimney_Movement_22EF8B: @ 822EF8B
+MtChimney_Movement_ArchieExitEast: @ 822EF8B
walk_left
walk_down
walk_down
@@ -170,7 +162,7 @@ MtChimney_Movement_22EF8B: @ 822EF8B
walk_down
step_end
-MtChimney_Movement_22EF94: @ 822EF94
+MtChimney_Movement_ArchieApproachPlayerNorth: @ 822EF94
walk_up
walk_up
walk_up
@@ -180,7 +172,7 @@ MtChimney_Movement_22EF94: @ 822EF94
walk_right
step_end
-MtChimney_Movement_22EF9C: @ 822EF9C
+MtChimney_Movement_ArchieExitNorth: @ 822EF9C
walk_left
walk_left
walk_down
@@ -192,7 +184,7 @@ MtChimney_Movement_22EF9C: @ 822EF9C
walk_down
step_end
-MtChimney_Movement_22EFA6: @ 822EFA6
+MtChimney_Movement_Unused1: @ 822EFA6
walk_down
walk_down
walk_down
@@ -212,7 +204,7 @@ MtChimney_Movement_22EFA6: @ 822EFA6
walk_down
step_end
-MtChimney_Movement_22EFB8: @ 822EFB8
+MtChimney_Movement_Unused2: @ 822EFB8
walk_down
walk_down
walk_down
@@ -223,7 +215,7 @@ MtChimney_Movement_22EFB8: @ 822EFB8
walk_down
step_end
-MtChimney_Movement_22EFC1: @ 822EFC1
+MtChimney_Movement_Unused3: @ 822EFC1
walk_right
walk_down
walk_down
@@ -240,7 +232,7 @@ MtChimney_Movement_22EFC1: @ 822EFC1
walk_down
step_end
-MtChimney_Movement_22EFD0: @ 822EFD0
+MtChimney_Movement_Unused4: @ 822EFD0
walk_fast_down
walk_fast_down
walk_fast_down
@@ -267,7 +259,7 @@ MtChimney_Movement_22EFD0: @ 822EFD0
walk_down
step_end
-MtChimney_Movement_22EFE9: @ 822EFE9
+MtChimney_Movement_Unused5: @ 822EFE9
delay_16
delay_16
delay_16
@@ -280,7 +272,7 @@ MtChimney_Movement_22EFE9: @ 822EFE9
walk_down
step_end
-MtChimney_Movement_22EFF4: @ 822EFF4
+MtChimney_Movement_Unused6: @ 822EFF4
delay_16
walk_left
walk_down
@@ -298,7 +290,7 @@ MtChimney_Movement_22EFF4: @ 822EFF4
walk_down
step_end
-MtChimney_Movement_22F004: @ 822F004
+MtChimney_Movement_Unused7: @ 822F004
delay_16
walk_left
walk_left
@@ -317,7 +309,7 @@ MtChimney_Movement_22F004: @ 822F004
walk_down
step_end
-MtChimney_Movement_22F015: @ 822F015
+MtChimney_Movement_Unused8: @ 822F015
delay_16
walk_down
walk_left
@@ -327,7 +319,7 @@ MtChimney_Movement_22F015: @ 822F015
walk_in_place_fastest_down
step_end
-MtChimney_Movement_22F01D: @ 822F01D
+MtChimney_Movement_Unused9: @ 822F01D
walk_down
walk_down
walk_down
@@ -343,11 +335,11 @@ MtChimney_Movement_22F01D: @ 822F01D
walk_down
step_end
-MtChimney_Movement_22F02B: @ 822F02B
+MtChimney_Movement_Unused10: @ 822F02B
walk_down
step_end
-MtChimney_Movement_22F02D: @ 822F02D
+MtChimney_Movement_Unused11: @ 822F02D
walk_down
walk_down
walk_down
@@ -357,7 +349,7 @@ MtChimney_Movement_22F02D: @ 822F02D
walk_down
step_end
-MtChimney_Movement_22F035: @ 822F035
+MtChimney_Movement_Unused12: @ 822F035
delay_16
delay_16
walk_in_place_fastest_left
@@ -369,7 +361,7 @@ MtChimney_Movement_22F035: @ 822F035
walk_down
step_end
-MtChimney_Movement_22F03F: @ 822F03F
+MtChimney_Movement_Unused13: @ 822F03F
delay_16
delay_16
delay_16
@@ -382,170 +374,170 @@ MtChimney_Movement_22F03F: @ 822F03F
walk_down
step_end
-MtChimney_Movement_22F04A: @ 822F04A
+MtChimney_Movement_Unused14: @ 822F04A
lock_facing_direction
walk_fast_left
unlock_facing_direction
face_right
step_end
-MtChimney_Movement_22F04F: @ 822F04F
+MtChimney_Movement_Unused15: @ 822F04F
walk_left
walk_in_place_fastest_right
delay_16
step_end
-MtChimney_EventScript_22F053:: @ 822F053
- msgbox MtChimney_Text_22FD1F, MSGBOX_SIGN
+MtChimney_EventScript_BusyAquaGrunt1:: @ 822F053
+ msgbox MtChimney_Text_MagmaOutnumbersUs, MSGBOX_SIGN
end
-MtChimney_EventScript_22F05C:: @ 822F05C
- msgbox MtChimney_Text_22FD5B, MSGBOX_SIGN
+MtChimney_EventScript_BusyAquaGrunt2:: @ 822F05C
+ msgbox MtChimney_Text_LessHabitatForWaterPokemon, MSGBOX_SIGN
end
-MtChimney_EventScript_22F065:: @ 822F065
- msgbox MtChimney_Text_22FDA1, MSGBOX_SIGN
+MtChimney_EventScript_BusyAquaGrunt3:: @ 822F065
+ msgbox MtChimney_Text_MagmasNameSimilar, MSGBOX_SIGN
end
-MtChimney_EventScript_22F06E:: @ 822F06E
- trainerbattle_single TRAINER_TABITHA_2, MtChimney_Text_22F6AA, MtChimney_Text_22F72C
- msgbox MtChimney_Text_22F76D, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_Tabitha:: @ 822F06E
+ trainerbattle_single TRAINER_TABITHA_MT_CHIMNEY, MtChimney_Text_TabithaIntro, MtChimney_Text_TabithaDefeat
+ msgbox MtChimney_Text_TabithaPostBattle, MSGBOX_AUTOCLOSE
end
-MtChimney_EventScript_22F085:: @ 822F085
- trainerbattle_single TRAINER_GRUNT_31, MtChimney_Text_22F7A2, MtChimney_Text_22F83A
- msgbox MtChimney_Text_22F859, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_Grunt2:: @ 822F085
+ trainerbattle_single TRAINER_GRUNT_MT_CHIMNEY_2, MtChimney_Text_Grunt2Intro, MtChimney_Text_Grunt2Defeat
+ msgbox MtChimney_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE
end
-MtChimney_EventScript_22F09C:: @ 822F09C
- msgbox MtChimney_Text_22F978, MSGBOX_SIGN
+MtChimney_EventScript_BusyMagmaGrunt1:: @ 822F09C
+ msgbox MtChimney_Text_TeamAquaAlwaysMessingWithPlans, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0A5:: @ 822F0A5
- msgbox MtChimney_Text_22F9B2, MSGBOX_SIGN
+MtChimney_EventScript_BusyMagmaGrunt2:: @ 822F0A5
+ msgbox MtChimney_Text_MeteoritesPackAmazingPower, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0AE:: @ 822F0AE
- msgbox MtChimney_Text_22F9D1, MSGBOX_SIGN
+MtChimney_EventScript_BusyMagmaGrunt3:: @ 822F0AE
+ msgbox MtChimney_Text_YouBetterNotMessWithUs, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0B7:: @ 822F0B7
- msgbox MtChimney_Text_22FA2F, MSGBOX_SIGN
+MtChimney_EventScript_BusyMagmaGrunt4:: @ 822F0B7
+ msgbox MtChimney_Text_AquasNameSimilar, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0C0:: @ 822F0C0
- msgbox MtChimney_Text_22FA8B, MSGBOX_SIGN
+MtChimney_EventScript_BusyMagmaGrunt5:: @ 822F0C0
+ msgbox MtChimney_Text_DouseThemInFire, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0C9:: @ 822F0C9
- msgbox MtChimney_Text_22FAA5, MSGBOX_SIGN
+MtChimney_EventScript_BusyMagmaGrunt6:: @ 822F0C9
+ msgbox MtChimney_Text_KeepMakingMoreLand, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0D2:: @ 822F0D2
- msgbox MtChimney_Text_22FACB, MSGBOX_SIGN
+MtChimney_EventScript_MagmaPoochyena:: @ 822F0D2
+ msgbox MtChimney_Text_Bufoh, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0DB:: @ 822F0DB
- msgbox MtChimney_Text_22FDFC, MSGBOX_SIGN
+MtChimney_EventScript_AquaPoochyena:: @ 822F0DB
+ msgbox MtChimney_Text_Bushaa, MSGBOX_SIGN
end
-MtChimney_EventScript_22F0E4:: @ 822F0E4
+MtChimney_EventScript_MeteoriteMachine:: @ 822F0E4
lockall
- goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_22F137
- goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_22F12D
- msgbox MtChimney_Text_22FF12, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MtChimney_EventScript_22F123
- msgbox MtChimney_Text_22FF66, MSGBOX_DEFAULT
- giveitem_std ITEM_METEORITE
+ goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_MachineOn
+ goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_MachineOff
+ msgbox MtChimney_Text_RemoveTheMeteorite, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MtChimney_EventScript_LeaveMeteoriteAlone
+ msgbox MtChimney_Text_PlayerRemovedMeteorite, MSGBOX_DEFAULT
+ giveitem ITEM_METEORITE
setflag FLAG_RECEIVED_METEORITE
releaseall
end
-MtChimney_EventScript_22F123:: @ 822F123
- msgbox MtChimney_Text_22FF9C, MSGBOX_DEFAULT
+MtChimney_EventScript_LeaveMeteoriteAlone:: @ 822F123
+ msgbox MtChimney_Text_PlayerLeftMeteorite, MSGBOX_DEFAULT
releaseall
end
-MtChimney_EventScript_22F12D:: @ 822F12D
- msgbox MtChimney_Text_22FFC0, MSGBOX_DEFAULT
+MtChimney_EventScript_MachineOff:: @ 822F12D
+ msgbox MtChimney_Text_MachineMakesNoResponse, MSGBOX_DEFAULT
releaseall
end
-MtChimney_EventScript_22F137:: @ 822F137
- msgbox MtChimney_Text_22FEAA, MSGBOX_DEFAULT
+MtChimney_EventScript_MachineOn:: @ 822F137
+ msgbox MtChimney_Text_MetoriteFittedOnMachine, MSGBOX_DEFAULT
releaseall
end
-MtChimney_EventScript_22F141:: @ 822F141
- msgbox MtChimney_Text_22FFFA, MSGBOX_SIGN
+MtChimney_EventScript_RouteSign:: @ 822F141
+ msgbox MtChimney_Text_RouteSign, MSGBOX_SIGN
end
-MtChimney_EventScript_22F14A:: @ 822F14A
- trainerbattle_single TRAINER_SHELBY_1, MtChimney_Text_23001D, MtChimney_Text_230076, MtChimney_EventScript_22F176
+MtChimney_EventScript_Shelby:: @ 822F14A
+ trainerbattle_single TRAINER_SHELBY_1, MtChimney_Text_ShelbyIntro, MtChimney_Text_ShelbyDefeat, MtChimney_EventScript_DefeatedShelby
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MtChimney_EventScript_22F195
- msgbox MtChimney_Text_2300A2, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MtChimney_EventScript_RematchShelby
+ msgbox MtChimney_Text_ShelbyPostBattle, MSGBOX_DEFAULT
release
end
-MtChimney_EventScript_22F176:: @ 822F176
- special sub_80B4808
+MtChimney_EventScript_DefeatedShelby:: @ 822F176
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox MtChimney_Text_2300E3, MSGBOX_DEFAULT
+ msgbox MtChimney_Text_ShelbyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_SHELBY_1
release
end
-MtChimney_EventScript_22F195:: @ 822F195
- trainerbattle_rematch TRAINER_SHELBY_1, MtChimney_Text_230153, MtChimney_Text_2301BB
- msgbox MtChimney_Text_2301E7, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_RematchShelby:: @ 822F195
+ trainerbattle_rematch TRAINER_SHELBY_1, MtChimney_Text_ShelbyRematchIntro, MtChimney_Text_ShelbyRematchDefeat
+ msgbox MtChimney_Text_ShelbyPostRematch, MSGBOX_AUTOCLOSE
end
-MtChimney_EventScript_22F1AC:: @ 822F1AC
- trainerbattle_single TRAINER_MELISSA, MtChimney_Text_23022A, MtChimney_Text_23026D
- msgbox MtChimney_Text_230292, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_Melissa:: @ 822F1AC
+ trainerbattle_single TRAINER_MELISSA, MtChimney_Text_MelissaIntro, MtChimney_Text_MelissaDefeat
+ msgbox MtChimney_Text_MelissaPostBattle, MSGBOX_AUTOCLOSE
end
-MtChimney_EventScript_22F1C3:: @ 822F1C3
- trainerbattle_single TRAINER_SHEILA, MtChimney_Text_2302BD, MtChimney_Text_230304
- msgbox MtChimney_Text_23033A, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_Sheila:: @ 822F1C3
+ trainerbattle_single TRAINER_SHEILA, MtChimney_Text_SheilaIntro, MtChimney_Text_SheilaDefeat
+ msgbox MtChimney_Text_SheilaPostBattle, MSGBOX_AUTOCLOSE
end
-MtChimney_EventScript_22F1DA:: @ 822F1DA
- trainerbattle_single TRAINER_SHIRLEY, MtChimney_Text_2303DF, MtChimney_Text_230436
- msgbox MtChimney_Text_230463, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_Shirley:: @ 822F1DA
+ trainerbattle_single TRAINER_SHIRLEY, MtChimney_Text_ShirleyIntro, MtChimney_Text_ShirleyDefeat
+ msgbox MtChimney_Text_ShirleyPostBattle, MSGBOX_AUTOCLOSE
end
-MtChimney_EventScript_22F1F1:: @ 822F1F1
- trainerbattle_single TRAINER_GRUNT_24, MtChimney_Text_22F8B6, MtChimney_Text_22F921
- msgbox MtChimney_Text_22F93A, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_Grunt1:: @ 822F1F1
+ trainerbattle_single TRAINER_GRUNT_MT_CHIMNEY_1, MtChimney_Text_Grunt1Intro, MtChimney_Text_Grunt1Defeat
+ msgbox MtChimney_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
-MtChimney_EventScript_22F208:: @ 822F208
- trainerbattle_single TRAINER_SAWYER_1, MtChimney_Text_2304B3, MtChimney_Text_2304F7, MtChimney_EventScript_22F234
+MtChimney_EventScript_Sawyer:: @ 822F208
+ trainerbattle_single TRAINER_SAWYER_1, MtChimney_Text_SawyerIntro, MtChimney_Text_SawyerDefeat, MtChimney_EventScript_SawyerDefeated
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MtChimney_EventScript_22F253
- msgbox MtChimney_Text_230519, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MtChimney_EventScript_SawyerRematch
+ msgbox MtChimney_Text_SawyerPostBattle, MSGBOX_DEFAULT
release
end
-MtChimney_EventScript_22F234:: @ 822F234
- special sub_80B4808
+MtChimney_EventScript_SawyerDefeated:: @ 822F234
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox MtChimney_Text_230557, MSGBOX_DEFAULT
+ msgbox MtChimney_Text_SawyerRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_SAWYER_1
release
end
-MtChimney_EventScript_22F253:: @ 822F253
- trainerbattle_rematch TRAINER_SAWYER_1, MtChimney_Text_23059C, MtChimney_Text_2305E3
- msgbox MtChimney_Text_230614, MSGBOX_AUTOCLOSE
+MtChimney_EventScript_SawyerRematch:: @ 822F253
+ trainerbattle_rematch TRAINER_SAWYER_1, MtChimney_Text_SawyerRematchIntro, MtChimney_Text_SawyerRematchDefeat
+ msgbox MtChimney_Text_SawyerPostRematch, MSGBOX_AUTOCLOSE
end
-MtChimney_Text_22F26A: @ 822F26A
+MtChimney_Text_MeteoriteWillActivateVolcano: @ 822F26A
.string "The power contained in the METEORITE…\p"
.string "By amplifying its power with this\n"
.string "machine, MT. CHIMNEY's volcanic\l"
@@ -554,7 +546,7 @@ MtChimney_Text_22F26A: @ 822F26A
.string "the crater and…\l"
.string "Fufufu…$"
-MtChimney_Text_22F32E: @ 822F32E
+MtChimney_Text_MaxieIntro: @ 822F32E
.string "MAXIE: Hm?\n"
.string "Who are you?\p"
.string "… … … … … …\n"
@@ -582,11 +574,11 @@ MtChimney_Text_22F32E: @ 822F32E
.string "I'll teach you the consequences of\l"
.string "meddling in our grand design!$"
-MtChimney_Text_22F5CF: @ 822F5CF
+MtChimney_Text_MaxieDefeat: @ 822F5CF
.string "What?!\p"
.string "I, MAXIE, was caught off guard?!$"
-MtChimney_Text_22F5F7: @ 822F5F7
+MtChimney_Text_MaxieYouHaventSeenLastOfMagma: @ 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"
@@ -595,81 +587,81 @@ MtChimney_Text_22F5F7: @ 822F5F7
.string "Even without the METEORITE, if we\n"
.string "obtain that ORB… Fufufu…$"
-MtChimney_Text_22F6AA: @ 822F6AA
+MtChimney_Text_TabithaIntro: @ 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
+MtChimney_Text_TabithaDefeat: @ 822F72C
.string "Hehehe…\p"
.string "Even though I've lost, if our leader\n"
.string "awakens that thing…$"
-MtChimney_Text_22F76D: @ 822F76D
+MtChimney_Text_TabithaPostBattle: @ 822F76D
.string "BOSS, hurry!\n"
.string "Give it the METEORITE's energy!\p"
.string "Hehehe…$"
-MtChimney_Text_22F7A2: @ 822F7A2
+MtChimney_Text_Grunt2Intro: @ 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
+MtChimney_Text_Grunt2Defeat: @ 822F83A
.string "Hunh?\n"
.string "What do you mean I lost?$"
-MtChimney_Text_22F859: @ 822F859
+MtChimney_Text_Grunt2PostBattle: @ 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
+MtChimney_Text_Grunt1Intro: @ 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
+MtChimney_Text_Grunt1Defeat: @ 822F921
.string "My dream of a big house…$"
-MtChimney_Text_22F93A: @ 822F93A
+MtChimney_Text_Grunt1PostBattle: @ 822F93A
.string "A kid like you, you ought to be\n"
.string "splashing about in the waves!$"
-MtChimney_Text_22F978: @ 822F978
+MtChimney_Text_TeamAquaAlwaysMessingWithPlans: @ 822F978
.string "That annoying TEAM AQUA…\n"
.string "They always mess with our plans!$"
-MtChimney_Text_22F9B2: @ 822F9B2
+MtChimney_Text_MeteoritesPackAmazingPower: @ 822F9B2
.string "METEORITES pack amazing power!$"
-MtChimney_Text_22F9D1: @ 822F9D1
+MtChimney_Text_YouBetterNotMessWithUs: @ 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
+MtChimney_Text_AquasNameSimilar: @ 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
+MtChimney_Text_DouseThemInFire: @ 822FA8B
.string "Yeah!\n"
.string "Douse them in fire!$"
-MtChimney_Text_22FAA5: @ 822FAA5
+MtChimney_Text_KeepMakingMoreLand: @ 822FAA5
.string "We're going to keep making more land!$"
-MtChimney_Text_22FACB: @ 822FACB
+MtChimney_Text_Bufoh: @ 822FACB
.string "Bufoh!$"
-MtChimney_Text_22FAD2: @ 822FAD2
+MtChimney_Text_ArchieGoStopTeamMagma: @ 822FAD2
.string "ARCHIE: Grr, {PLAYER}!\n"
.string "I should've guessed you'd show up!\p"
.string "See for yourself what the fanatics\n"
@@ -679,14 +671,14 @@ MtChimney_Text_22FAD2: @ 822FAD2
.string "Doing something like that will cause\n"
.string "the volcano's eruption!$"
-MtChimney_Text_22FBC7: @ 822FBC7
+MtChimney_Text_ArchieIHaveMyHandsFull: @ 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
+MtChimney_Text_ArchieThankYou: @ 822FC3D
.string "ARCHIE: {PLAYER}!\n"
.string "Thank you!\p"
.string "With your help, we thwarted TEAM\n"
@@ -698,161 +690,161 @@ MtChimney_Text_22FC3D: @ 822FC3D
.string "our pursuit of TEAM MAGMA.\p"
.string "{PLAYER}, we shall meet again!$"
-MtChimney_Text_22FD1F: @ 822FD1F
+MtChimney_Text_MagmaOutnumbersUs: @ 822FD1F
.string "Darn… TEAM MAGMA outnumbers us!\n"
.string "We can't keep up with them!$"
-MtChimney_Text_22FD5B: @ 822FD5B
+MtChimney_Text_LessHabitatForWaterPokemon: @ 822FD5B
.string "If they expand the land, there'll be\n"
.string "less habitats for WATER POKéMON!$"
-MtChimney_Text_22FDA1: @ 822FDA1
+MtChimney_Text_MagmasNameSimilar: @ 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
+MtChimney_Text_Bushaa: @ 822FDFC
.string "Bushaa!$"
-MtChimney_Text_22FE04: @ 822FE04
+MtChimney_Text_LavaCookiesJust200: @ 822FE04
.string "LAVA COOKIES are MT. CHIMNEY's local\n"
.string "specialty.\p"
.string "Try one. It's just ¥200.$"
-MtChimney_Text_22FE4D: @ 822FE4D
+MtChimney_Text_ThankYouDear: @ 822FE4D
.string "Thank you, dear!$"
-MtChimney_Text_22FE5E: @ 822FE5E
+MtChimney_Text_YouveNotGotTheMoney: @ 822FE5E
.string "Oh, dear. You can't buy a thing if\n"
.string "you've not got the money.$"
-MtChimney_Text_22FE9B: @ 822FE9B
+MtChimney_Text_OhFineThen: @ 822FE9B
.string "Oh, fine then.$"
-MtChimney_Text_22FEAA: @ 822FEAA
+MtChimney_Text_MetoriteFittedOnMachine: @ 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
+MtChimney_Text_RemoveTheMeteorite: @ 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
+MtChimney_Text_PlayerRemovedMeteorite: @ 822FF66
.string "{PLAYER} removed the METEORITE from\n"
.string "the mysterious machine.$"
-MtChimney_Text_22FF9C: @ 822FF9C
+MtChimney_Text_PlayerLeftMeteorite: @ 822FF9C
.string "{PLAYER} left the METEORITE where\n"
.string "it was.$"
-MtChimney_Text_22FFC0: @ 822FFC0
+MtChimney_Text_MachineMakesNoResponse: @ 822FFC0
.string "This mysterious machine…\n"
.string "It makes no response whatsoever.$"
-MtChimney_Text_22FFFA: @ 822FFFA
+MtChimney_Text_RouteSign: @ 822FFFA
.string "{DOWN_ARROW} JAGGED PATH\n"
.string "LAVARIDGE TOWN AHEAD$"
-MtChimney_Text_23001D: @ 823001D
+MtChimney_Text_ShelbyIntro: @ 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
+MtChimney_Text_ShelbyDefeat: @ 8230076
.string "Oh, my goodness.\n"
.string "Now, aren't you something!$"
-MtChimney_Text_2300A2: @ 82300A2
+MtChimney_Text_ShelbyPostBattle: @ 82300A2
.string "Well, well, I've lost. I can't call\n"
.string "myself an EXPERT now, can I?$"
-MtChimney_Text_2300E3: @ 82300E3
+MtChimney_Text_ShelbyRegister: @ 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
+MtChimney_Text_ShelbyRematchIntro: @ 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
+MtChimney_Text_ShelbyRematchDefeat: @ 82301BB
.string "Oh, my goodness.\n"
.string "Now, aren't you something!$"
-MtChimney_Text_2301E7: @ 82301E7
+MtChimney_Text_ShelbyPostRematch: @ 82301E7
.string "Perhaps your heart has become one\n"
.string "with the hearts of your POKéMON.$"
-MtChimney_Text_23022A: @ 823022A
+MtChimney_Text_MelissaIntro: @ 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
+MtChimney_Text_MelissaDefeat: @ 823026D
.string "Ooh, that was a scorching-hot match!$"
-MtChimney_Text_230292: @ 8230292
+MtChimney_Text_MelissaPostBattle: @ 8230292
.string "The heat of MT. CHIMNEY warms\n"
.string "me up, baby!$"
-MtChimney_Text_2302BD: @ 82302BD
+MtChimney_Text_SheilaIntro: @ 82302BD
.string "I've finally made it to MT. CHIMNEY.\n"
.string "I want to make my POKéMON battle!$"
-MtChimney_Text_230304: @ 8230304
+MtChimney_Text_SheilaDefeat: @ 8230304
.string "The way you battle…\n"
.string "It's like a MT. CHIMNEY eruption!$"
-MtChimney_Text_23033A: @ 823033A
+MtChimney_Text_SheilaPostBattle: @ 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
+MtChimney_Text_ShirleyIntro: @ 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
+MtChimney_Text_ShirleyDefeat: @ 8230436
.string "Yowch!\n"
.string "I'm getting a chill out of the water.$"
-MtChimney_Text_230463: @ 8230463
+MtChimney_Text_ShirleyPostBattle: @ 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
+MtChimney_Text_SawyerIntro: @ 82304B3
.string "This is one fine mountain! Plenty of\n"
.string "hot people around for company!$"
-MtChimney_Text_2304F7: @ 82304F7
+MtChimney_Text_SawyerDefeat: @ 82304F7
.string "Oh, you're a real firebrand, too!$"
-MtChimney_Text_230519: @ 8230519
+MtChimney_Text_SawyerPostBattle: @ 8230519
.string "I think I need a dip in LAVARIDGE\n"
.string "HOT SPRING with the locals!$"
-MtChimney_Text_230557: @ 8230557
+MtChimney_Text_SawyerRegister: @ 8230557
.string "I like little fireballs like you.\n"
.string "Let me register you in my POKéNAV.$"
-MtChimney_Text_23059C: @ 823059C
+MtChimney_Text_SawyerRematchIntro: @ 823059C
.string "I'm happily surrounded by hot people\n"
.string "around these parts. I won't lose!$"
-MtChimney_Text_2305E3: @ 82305E3
+MtChimney_Text_SawyerRematchDefeat: @ 82305E3
.string "Gosh, you're still the same\n"
.string "firebrand as before!$"
-MtChimney_Text_230614: @ 8230614
+MtChimney_Text_SawyerPostRematch: @ 8230614
.string "Actually, it really is hot here.\n"
.string "I'm overdressed for these parts.$"
diff --git a/data/maps/MtChimney_CableCarStation/map.json b/data/maps/MtChimney_CableCarStation/map.json
index 1b0efd3d9..49d102878 100644
--- a/data/maps/MtChimney_CableCarStation/map.json
+++ b/data/maps/MtChimney_CableCarStation/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtChimney_CableCarStation_EventScript_22AC4B",
+ "script": "MtChimney_CableCarStation_EventScript_Attendant",
"flag": "0"
},
{
diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc
index 444f62d9f..32064ad04 100644
--- a/data/maps/MtChimney_CableCarStation/scripts.inc
+++ b/data/maps/MtChimney_CableCarStation/scripts.inc
@@ -1,26 +1,26 @@
MtChimney_CableCarStation_MapScripts:: @ 822ABFA
map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_CableCarStation_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MtChimney_CableCarStation_MapScript2_22AC1D
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, MtChimney_CableCarStation_OnFrame
.byte 0
MtChimney_CableCarStation_OnTransition: @ 822AC05
compare VAR_CABLE_CAR_STATION_STATE, 1
- call_if_eq MtChimney_CableCarStation_EventScript_22AC11
+ call_if_eq MtChimney_CableCarStation_EventScript_MoveAttendantAside
end
-MtChimney_CableCarStation_EventScript_22AC11:: @ 822AC11
+MtChimney_CableCarStation_EventScript_MoveAttendantAside:: @ 822AC11
setobjectxyperm 1, 5, 4
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT
return
-MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D
- map_script_2 VAR_CABLE_CAR_STATION_STATE, 1, MtChimney_CableCarStation_EventScript_22AC27
+MtChimney_CableCarStation_OnFrame: @ 822AC1D
+ map_script_2 VAR_CABLE_CAR_STATION_STATE, 1, MtChimney_CableCarStation_EventScript_ExitCableCar
.2byte 0
-MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27
+MtChimney_CableCarStation_EventScript_ExitCableCar:: @ 822AC27
lockall
- applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACB4
- applymovement 1, MtChimney_CableCarStation_Movement_22ACAA
+ applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_ExitCableCar
+ applymovement 1, MtChimney_CableCarStation_Movement_FollowPlayerOutFromCableCar
waitmovement 0
setvar VAR_CABLE_CAR_STATION_STATE, 0
setobjectxyperm 1, 6, 7
@@ -28,71 +28,71 @@ MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27
releaseall
end
-MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B
+MtChimney_CableCarStation_EventScript_Attendant:: @ 822AC4B
lock
faceplayer
- msgbox MtChimney_CableCarStation_Text_22ACB9, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MtChimney_CableCarStation_EventScript_22AC6C
- compare VAR_RESULT, 0
- goto_if_eq MtChimney_CableCarStation_EventScript_22AC9B
+ msgbox MtChimney_CableCarStation_Text_CableCarReadyGetOn, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MtChimney_CableCarStation_EventScript_RideCableCar
+ compare VAR_RESULT, NO
+ goto_if_eq MtChimney_CableCarStation_EventScript_DeclineRide
end
-MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C
- msgbox MtChimney_CableCarStation_Text_22ACF8, MSGBOX_DEFAULT
+MtChimney_CableCarStation_EventScript_RideCableCar:: @ 822AC6C
+ msgbox MtChimney_CableCarStation_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
- applymovement 1, MtChimney_CableCarStation_Movement_22ACA5
- applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACAF
+ applymovement 1, MtChimney_CableCarStation_Movement_LeadPlayerToCableCar
+ applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_BoardCableCar
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_CABLE_CAR_STATION_STATE, 2
- incrementgamestat 48
+ incrementgamestat GAME_STAT_RODE_CABLE_CAR
special CableCarWarp
special CableCar
waitstate
release
end
-MtChimney_CableCarStation_EventScript_22AC9B:: @ 822AC9B
- msgbox MtChimney_CableCarStation_Text_22AD0E, MSGBOX_DEFAULT
+MtChimney_CableCarStation_EventScript_DeclineRide:: @ 822AC9B
+ msgbox MtChimney_CableCarStation_Text_RideAnotherTime, MSGBOX_DEFAULT
release
end
-MtChimney_CableCarStation_Movement_22ACA5: @ 822ACA5
+MtChimney_CableCarStation_Movement_LeadPlayerToCableCar: @ 822ACA5
walk_up
walk_up
walk_left
walk_in_place_fastest_right
step_end
-MtChimney_CableCarStation_Movement_22ACAA: @ 822ACAA
+MtChimney_CableCarStation_Movement_FollowPlayerOutFromCableCar: @ 822ACAA
delay_16
walk_right
walk_down
walk_down
step_end
-MtChimney_CableCarStation_Movement_22ACAF: @ 822ACAF
+MtChimney_CableCarStation_Movement_BoardCableCar: @ 822ACAF
walk_up
walk_up
walk_up
delay_16
step_end
-MtChimney_CableCarStation_Movement_22ACB4: @ 822ACB4
+MtChimney_CableCarStation_Movement_ExitCableCar: @ 822ACB4
walk_down
walk_down
walk_down
delay_16
step_end
-MtChimney_CableCarStation_Text_22ACB9: @ 822ACB9
+MtChimney_CableCarStation_Text_CableCarReadyGetOn: @ 822ACB9
.string "The CABLE CAR is ready to go down.\n"
.string "Would you like to be on it?$"
-MtChimney_CableCarStation_Text_22ACF8: @ 822ACF8
+MtChimney_CableCarStation_Text_StepThisWay: @ 822ACF8
.string "Please step this way.$"
-MtChimney_CableCarStation_Text_22AD0E: @ 822AD0E
+MtChimney_CableCarStation_Text_RideAnotherTime: @ 822AD0E
.string "Please ride with us another time.$"
diff --git a/data/maps/MtPyre_1F/map.json b/data/maps/MtPyre_1F/map.json
index 8b2e146f5..2e03ae728 100644
--- a/data/maps/MtPyre_1F/map.json
+++ b/data/maps/MtPyre_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_1F_EventScript_230F3F",
+ "script": "MtPyre_1F_EventScript_CleanseTagWoman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_1F_EventScript_230F78",
+ "script": "MtPyre_1F_EventScript_PokefanF",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_1F_EventScript_230F81",
+ "script": "MtPyre_1F_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/MtPyre_1F/scripts.inc b/data/maps/MtPyre_1F/scripts.inc
index a06f34a29..a303cb2c1 100644
--- a/data/maps/MtPyre_1F/scripts.inc
+++ b/data/maps/MtPyre_1F/scripts.inc
@@ -1,48 +1,48 @@
MtPyre_1F_MapScripts:: @ 8230F3E
.byte 0
-MtPyre_1F_EventScript_230F3F:: @ 8230F3F
+MtPyre_1F_EventScript_CleanseTagWoman:: @ 8230F3F
lock
faceplayer
- goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_230F6E
- msgbox MtPyre_1F_Text_230F8A, MSGBOX_DEFAULT
- giveitem_std ITEM_CLEANSE_TAG
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_ReceivedCleanseTag
+ msgbox MtPyre_1F_Text_TakeThisForYourOwnGood, MSGBOX_DEFAULT
+ giveitem ITEM_CLEANSE_TAG
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_CLEANSE_TAG
release
end
-MtPyre_1F_EventScript_230F6E:: @ 8230F6E
- msgbox MtPyre_1F_Text_231005, MSGBOX_DEFAULT
+MtPyre_1F_EventScript_ReceivedCleanseTag:: @ 8230F6E
+ msgbox MtPyre_1F_Text_ExplainCleanseTag, MSGBOX_DEFAULT
release
end
-MtPyre_1F_EventScript_230F78:: @ 8230F78
- msgbox MtPyre_1F_Text_23104F, MSGBOX_NPC
+MtPyre_1F_EventScript_PokefanF:: @ 8230F78
+ msgbox MtPyre_1F_Text_ComeToPayRespects, MSGBOX_NPC
end
-MtPyre_1F_EventScript_230F81:: @ 8230F81
- msgbox MtPyre_1F_Text_2310BA, MSGBOX_NPC
+MtPyre_1F_EventScript_Man:: @ 8230F81
+ msgbox MtPyre_1F_Text_RestingPlaceOfZigzagoon, MSGBOX_NPC
end
-MtPyre_1F_Text_230F8A: @ 8230F8A
+MtPyre_1F_Text_TakeThisForYourOwnGood: @ 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
+MtPyre_1F_Text_ExplainCleanseTag: @ 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
+MtPyre_1F_Text_ComeToPayRespects: @ 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
+MtPyre_1F_Text_RestingPlaceOfZigzagoon: @ 82310BA
.string "This is the final resting place of my\n"
.string "ZIGZAGOON. I cherished it…$"
diff --git a/data/maps/MtPyre_2F/map.json b/data/maps/MtPyre_2F/map.json
index 64657cb0d..e6882c311 100644
--- a/data/maps/MtPyre_2F/map.json
+++ b/data/maps/MtPyre_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MtPyre_2F_EventScript_231128",
+ "script": "MtPyre_2F_EventScript_Mark",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_2F_EventScript_231116",
+ "script": "MtPyre_2F_EventScript_Woman",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_2F_EventScript_23111F",
+ "script": "MtPyre_2F_EventScript_PokefanM",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MtPyre_2F_EventScript_23115A",
+ "script": "MtPyre_2F_EventScript_Dez",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "MtPyre_2F_EventScript_23113F",
+ "script": "MtPyre_2F_EventScript_Luke",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MtPyre_2F_EventScript_23118C",
+ "script": "MtPyre_2F_EventScript_Zander",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MtPyre_2F_EventScript_231175",
+ "script": "MtPyre_2F_EventScript_Leah",
"flag": "0"
}
],
diff --git a/data/maps/MtPyre_2F/scripts.inc b/data/maps/MtPyre_2F/scripts.inc
index 150c08df4..52c1a154c 100644
--- a/data/maps/MtPyre_2F/scripts.inc
+++ b/data/maps/MtPyre_2F/scripts.inc
@@ -1,91 +1,91 @@
MtPyre_2F_MapScripts:: @ 82310FB
- map_script MAP_SCRIPT_ON_FRAME_TABLE, MtPyre_2F_MapScript2_2A8327
- map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_2F_MapScript1_2A8331
- map_script MAP_SCRIPT_ON_RESUME, MtPyre_2F_MapScript1_23110B
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole
+ map_script MAP_SCRIPT_ON_TRANSITION, CaveHole_FixCrackedGround
+ map_script MAP_SCRIPT_ON_RESUME, MtPyre_2F_SetHoleWarp
.byte 0
-MtPyre_2F_MapScript1_23110B: @ 823110B
- setstepcallback 7
+MtPyre_2F_SetHoleWarp: @ 823110B
+ setstepcallback STEP_CB_CRACKED_FLOOR
setholewarp MAP_MT_PYRE_1F, 255, 0, 0
end
-MtPyre_2F_EventScript_231116:: @ 8231116
- msgbox MtPyre_2F_Text_2311A3, MSGBOX_NPC
+MtPyre_2F_EventScript_Woman:: @ 8231116
+ msgbox MtPyre_2F_Text_MemoriesOfSkitty, MSGBOX_NPC
end
-MtPyre_2F_EventScript_23111F:: @ 823111F
- msgbox MtPyre_2F_Text_2311E6, MSGBOX_NPC
+MtPyre_2F_EventScript_PokefanM:: @ 823111F
+ msgbox MtPyre_2F_Text_TumbledFromFloorAbove, MSGBOX_NPC
end
-MtPyre_2F_EventScript_231128:: @ 8231128
- trainerbattle_single TRAINER_MARK, MtPyre_2F_Text_231258, MtPyre_2F_Text_2312A2
- msgbox MtPyre_2F_Text_2312CB, MSGBOX_AUTOCLOSE
+MtPyre_2F_EventScript_Mark:: @ 8231128
+ trainerbattle_single TRAINER_MARK, MtPyre_2F_Text_MarkIntro, MtPyre_2F_Text_MarkDefeat
+ msgbox MtPyre_2F_Text_MarkPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_2F_EventScript_23113F:: @ 823113F
- trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_23130F, MtPyre_2F_Text_2313A1, MtPyre_2F_Text_231414
- msgbox MtPyre_2F_Text_2313B1, MSGBOX_AUTOCLOSE
+MtPyre_2F_EventScript_Luke:: @ 823113F
+ trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_LukeIntro, MtPyre_2F_Text_LukeDefeat, MtPyre_2F_Text_LukeNotEnoughMons
+ msgbox MtPyre_2F_Text_LukePostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_2F_EventScript_23115A:: @ 823115A
- trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_231492, MtPyre_2F_Text_231534, MtPyre_2F_Text_231582
- msgbox MtPyre_2F_Text_23154D, MSGBOX_AUTOCLOSE
+MtPyre_2F_EventScript_Dez:: @ 823115A
+ trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_DezIntro, MtPyre_2F_Text_DezDefeat, MtPyre_2F_Text_DezNotEnoughMons
+ msgbox MtPyre_2F_Text_DezPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_2F_EventScript_231175:: @ 8231175
- trainerbattle_single TRAINER_LEAH, MtPyre_2F_Text_231604, MtPyre_2F_Text_231645
- msgbox MtPyre_2F_Text_23165A, MSGBOX_AUTOCLOSE
+MtPyre_2F_EventScript_Leah:: @ 8231175
+ trainerbattle_single TRAINER_LEAH, MtPyre_2F_Text_LeahIntro, MtPyre_2F_Text_LeahDefeat
+ msgbox MtPyre_2F_Text_LeahPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_2F_EventScript_23118C:: @ 823118C
- trainerbattle_single TRAINER_ZANDER, MtPyre_2F_Text_2316C7, MtPyre_2F_Text_2316E1
- msgbox MtPyre_2F_Text_2316FB, MSGBOX_AUTOCLOSE
+MtPyre_2F_EventScript_Zander:: @ 823118C
+ trainerbattle_single TRAINER_ZANDER, MtPyre_2F_Text_ZanderIntro, MtPyre_2F_Text_ZanderDefeat
+ msgbox MtPyre_2F_Text_ZanderPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_2F_Text_2311A3: @ 82311A3
+MtPyre_2F_Text_MemoriesOfSkitty: @ 82311A3
.string "Memories of my darling SKITTY…\n"
.string "My eyes overflow thinking about it.$"
-MtPyre_2F_Text_2311E6: @ 82311E6
+MtPyre_2F_Text_TumbledFromFloorAbove: @ 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
+MtPyre_2F_Text_MarkIntro: @ 8231258
.string "Hey! Are you searching for POKéMON?\n"
.string "You came along after me! You're rude!$"
-MtPyre_2F_Text_2312A2: @ 82312A2
+MtPyre_2F_Text_MarkDefeat: @ 82312A2
.string "Ayieeeeh!\n"
.string "I'm sorry, forgive me, please!$"
-MtPyre_2F_Text_2312CB: @ 82312CB
+MtPyre_2F_Text_MarkPostBattle: @ 82312CB
.string "People don't come here often, so\n"
.string "I thought there'd be rare POKéMON.$"
-MtPyre_2F_Text_23130F: @ 823130F
+MtPyre_2F_Text_LukeIntro: @ 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
+MtPyre_2F_Text_LukeDefeat: @ 82313A1
.string "LUKE: Whoopsie!$"
-MtPyre_2F_Text_2313B1: @ 82313B1
+MtPyre_2F_Text_LukePostBattle: @ 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
+MtPyre_2F_Text_LukeNotEnoughMons: @ 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
+MtPyre_2F_Text_DezIntro: @ 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"
@@ -93,42 +93,42 @@ MtPyre_2F_Text_231492: @ 8231492
.string "I know! I'll get my boyfriend to look\n"
.string "cool by beating you!$"
-MtPyre_2F_Text_231534: @ 8231534
+MtPyre_2F_Text_DezDefeat: @ 8231534
.string "DEZ: Waaaah! I'm scared!$"
-MtPyre_2F_Text_23154D: @ 823154D
+MtPyre_2F_Text_DezPostBattle: @ 823154D
.string "DEZ: We're lovey-dovey, so we don't\n"
.string "care if we lose!$"
-MtPyre_2F_Text_231582: @ 8231582
+MtPyre_2F_Text_DezNotEnoughMons: @ 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
+MtPyre_2F_Text_LeahIntro: @ 8231604
.string "You are an unfamiliar sight…\n"
.string "Depart before anything befalls you!$"
-MtPyre_2F_Text_231645: @ 8231645
+MtPyre_2F_Text_LeahDefeat: @ 8231645
.string "Hmm…\n"
.string "You're durable.$"
-MtPyre_2F_Text_23165A: @ 823165A
+MtPyre_2F_Text_LeahPostBattle: @ 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
+MtPyre_2F_Text_ZanderIntro: @ 82316C7
.string "Kiyaaaaah!\n"
.string "I'm terrified!$"
-MtPyre_2F_Text_2316E1: @ 82316E1
+MtPyre_2F_Text_ZanderDefeat: @ 82316E1
.string "Nooooooo!\n"
.string "I lost my wits!$"
-MtPyre_2F_Text_2316FB: @ 82316FB
+MtPyre_2F_Text_ZanderPostBattle: @ 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/maps/MtPyre_3F/map.json b/data/maps/MtPyre_3F/map.json
index 3e06adf8c..058c4db0a 100644
--- a/data/maps/MtPyre_3F/map.json
+++ b/data/maps/MtPyre_3F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "MtPyre_3F_EventScript_231753",
+ "script": "MtPyre_3F_EventScript_William",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "MtPyre_3F_EventScript_23176A",
+ "script": "MtPyre_3F_EventScript_Kayla",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "MtPyre_3F_EventScript_231781",
+ "script": "MtPyre_3F_EventScript_Gabrielle",
"flag": "0"
}
],
diff --git a/data/maps/MtPyre_3F/scripts.inc b/data/maps/MtPyre_3F/scripts.inc
index 558ab9999..02cea0c22 100644
--- a/data/maps/MtPyre_3F/scripts.inc
+++ b/data/maps/MtPyre_3F/scripts.inc
@@ -1,74 +1,74 @@
MtPyre_3F_MapScripts:: @ 8231752
.byte 0
-MtPyre_3F_EventScript_231753:: @ 8231753
- trainerbattle_single TRAINER_WILLIAM, MtPyre_3F_Text_2317E3, MtPyre_3F_Text_231853
- msgbox MtPyre_3F_Text_231869, MSGBOX_AUTOCLOSE
+MtPyre_3F_EventScript_William:: @ 8231753
+ trainerbattle_single TRAINER_WILLIAM, MtPyre_3F_Text_WilliamIntro, MtPyre_3F_Text_WilliamDefeat
+ msgbox MtPyre_3F_Text_WilliamPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_3F_EventScript_23176A:: @ 823176A
- trainerbattle_single TRAINER_KAYLA, MtPyre_3F_Text_2318A1, MtPyre_3F_Text_2318DD
- msgbox MtPyre_3F_Text_2318F2, MSGBOX_AUTOCLOSE
+MtPyre_3F_EventScript_Kayla:: @ 823176A
+ trainerbattle_single TRAINER_KAYLA, MtPyre_3F_Text_KaylaIntro MtPyre_3F_Text_KaylaDefeat
+ msgbox MtPyre_3F_Text_KaylaPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_3F_EventScript_231781:: @ 8231781
- trainerbattle_single TRAINER_GABRIELLE_1, MtPyre_3F_Text_231952, MtPyre_3F_Text_23196A, MtPyre_3F_EventScript_2317AD
+MtPyre_3F_EventScript_Gabrielle:: @ 8231781
+ trainerbattle_single TRAINER_GABRIELLE_1, MtPyre_3F_Text_GabrielleIntro, MtPyre_3F_Text_GabrielleDefeat, MtPyre_3F_EventScript_RegisterGabrielle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MtPyre_3F_EventScript_2317CC
- msgbox MtPyre_3F_Text_23199B, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MtPyre_3F_EventScript_RematchGabrielle
+ msgbox MtPyre_3F_Text_GabriellePostBattle, MSGBOX_DEFAULT
release
end
-MtPyre_3F_EventScript_2317AD:: @ 82317AD
- special sub_80B4808
+MtPyre_3F_EventScript_RegisterGabrielle:: @ 82317AD
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox MtPyre_3F_Text_231A49, MSGBOX_DEFAULT
+ msgbox MtPyre_3F_Text_GabrielleRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_GABRIELLE_1
release
end
-MtPyre_3F_EventScript_2317CC:: @ 82317CC
- trainerbattle_rematch TRAINER_GABRIELLE_1, MtPyre_3F_Text_231AAB, MtPyre_3F_Text_231AE6
- msgbox MtPyre_3F_Text_231B0D, MSGBOX_AUTOCLOSE
+MtPyre_3F_EventScript_RematchGabrielle:: @ 82317CC
+ trainerbattle_rematch TRAINER_GABRIELLE_1, MtPyre_3F_Text_GabrielleRematchIntro, MtPyre_3F_Text_GabrielleRematchDefeat
+ msgbox MtPyre_3F_Text_GabriellePostRematch, MSGBOX_AUTOCLOSE
end
-MtPyre_3F_Text_2317E3: @ 82317E3
+MtPyre_3F_Text_WilliamIntro: @ 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
+MtPyre_3F_Text_WilliamDefeat: @ 8231853
.string "I drown in self-pity…$"
-MtPyre_3F_Text_231869: @ 8231869
+MtPyre_3F_Text_WilliamPostBattle: @ 8231869
.string "My psychic powers have surely\n"
.string "grown several times, but…$"
-MtPyre_3F_Text_2318A1: @ 82318A1
+MtPyre_3F_Text_KaylaIntro: @ 82318A1
.string "Ahahahaha!\p"
.string "This is no place for children, least\n"
.string "of all you!$"
-MtPyre_3F_Text_2318DD: @ 82318DD
+MtPyre_3F_Text_KaylaDefeat: @ 82318DD
.string "I lost that cleanly…$"
-MtPyre_3F_Text_2318F2: @ 82318F2
+MtPyre_3F_Text_KaylaPostBattle: @ 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
+MtPyre_3F_Text_GabrielleIntro: @ 8231952
.string "Why have you come here?$"
-MtPyre_3F_Text_23196A: @ 823196A
+MtPyre_3F_Text_GabrielleDefeat: @ 823196A
.string "That was amazing!\n"
.string "You're a very special TRAINER.$"
-MtPyre_3F_Text_23199B: @ 823199B
+MtPyre_3F_Text_GabriellePostBattle: @ 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"
@@ -76,21 +76,21 @@ MtPyre_3F_Text_23199B: @ 823199B
.string "They are all to be equally cherished.\n"
.string "Please remember that.$"
-MtPyre_3F_Text_231A49: @ 8231A49
+MtPyre_3F_Text_GabrielleRegister: @ 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
+MtPyre_3F_Text_GabrielleRematchIntro: @ 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
+MtPyre_3F_Text_GabrielleRematchDefeat: @ 8231AE6
.string "How amazing!\n"
.string "You are a special person.$"
-MtPyre_3F_Text_231B0D: @ 8231B0D
+MtPyre_3F_Text_GabriellePostRematch: @ 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"
diff --git a/data/maps/MtPyre_4F/map.json b/data/maps/MtPyre_4F/map.json
index 782a6221e..5c3d72ef8 100644
--- a/data/maps/MtPyre_4F/map.json
+++ b/data/maps/MtPyre_4F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MtPyre_4F_EventScript_231C6E",
+ "script": "MtPyre_4F_EventScript_Tasha",
"flag": "0"
},
{
diff --git a/data/maps/MtPyre_4F/scripts.inc b/data/maps/MtPyre_4F/scripts.inc
index 27883c8ed..683b38607 100644
--- a/data/maps/MtPyre_4F/scripts.inc
+++ b/data/maps/MtPyre_4F/scripts.inc
@@ -1,20 +1,22 @@
MtPyre_4F_MapScripts:: @ 8231BC8
.byte 0
-MtPyre_5F_EventScript_231BC9:: @ 8231BC9
- trainerbattle_single TRAINER_ATSUSHI, MtPyre_5F_Text_231BE0, MtPyre_5F_Text_231C08
- msgbox MtPyre_5F_Text_231C24, MSGBOX_AUTOCLOSE
+@ Seems like the scripts for the 4F and 5F were swapped
+
+MtPyre_5F_EventScript_Atsushi:: @ 8231BC9
+ trainerbattle_single TRAINER_ATSUSHI, MtPyre_5F_Text_AtsushiIntro, MtPyre_5F_Text_AtsushiDefeat
+ msgbox MtPyre_5F_Text_AtsushiPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_5F_Text_231BE0: @ 8231BE0
+MtPyre_5F_Text_AtsushiIntro: @ 8231BE0
.string "Teacher…\n"
.string "Please watch over my progress!$"
-MtPyre_5F_Text_231C08: @ 8231C08
+MtPyre_5F_Text_AtsushiDefeat: @ 8231C08
.string "Teacher…\n"
.string "Please forgive me!$"
-MtPyre_5F_Text_231C24: @ 8231C24
+MtPyre_5F_Text_AtsushiPostBattle: @ 8231C24
.string "Until I improve, my teacher, who rests\n"
.string "here, will never find true peace…$"
diff --git a/data/maps/MtPyre_5F/map.json b/data/maps/MtPyre_5F/map.json
index edd3544ca..1f814bda8 100644
--- a/data/maps/MtPyre_5F/map.json
+++ b/data/maps/MtPyre_5F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "MtPyre_5F_EventScript_231BC9",
+ "script": "MtPyre_5F_EventScript_Atsushi",
"flag": "0"
},
{
diff --git a/data/maps/MtPyre_5F/scripts.inc b/data/maps/MtPyre_5F/scripts.inc
index cbd3b3afa..f27370d7c 100644
--- a/data/maps/MtPyre_5F/scripts.inc
+++ b/data/maps/MtPyre_5F/scripts.inc
@@ -1,21 +1,23 @@
MtPyre_5F_MapScripts:: @ 8231C6D
.byte 0
-MtPyre_4F_EventScript_231C6E:: @ 8231C6E
- trainerbattle_single TRAINER_TASHA, MtPyre_4F_Text_231C85, MtPyre_4F_Text_231CDB
- msgbox MtPyre_4F_Text_231CEE, MSGBOX_AUTOCLOSE
+@ Seems like the scripts for the 4F and 5F were swapped
+
+MtPyre_4F_EventScript_Tasha:: @ 8231C6E
+ trainerbattle_single TRAINER_TASHA, MtPyre_4F_Text_TashaIntro, MtPyre_4F_Text_TashaDefeat
+ msgbox MtPyre_4F_Text_TashaPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_4F_Text_231C85: @ 8231C85
+MtPyre_4F_Text_TashaIntro: @ 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
+MtPyre_4F_Text_TashaDefeat: @ 8231CDB
.string "Losing, I dislike…$"
-MtPyre_4F_Text_231CEE: @ 8231CEE
+MtPyre_4F_Text_TashaPostBattle: @ 8231CEE
.string "I want to see dreadful things…\n"
.string "I can't leave…\p"
.string "Stay…\n"
diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json
index 3c889a7e0..c2de09055 100644
--- a/data/maps/MtPyre_6F/map.json
+++ b/data/maps/MtPyre_6F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtPyre_6F_EventScript_231D3B",
+ "script": "MtPyre_6F_EventScript_Valerie",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtPyre_6F_EventScript_231D9D",
+ "script": "MtPyre_6F_EventScript_Cedric",
"flag": "0"
}
],
diff --git a/data/maps/MtPyre_6F/scripts.inc b/data/maps/MtPyre_6F/scripts.inc
index f59edd7b1..e3bdd928e 100644
--- a/data/maps/MtPyre_6F/scripts.inc
+++ b/data/maps/MtPyre_6F/scripts.inc
@@ -1,69 +1,69 @@
MtPyre_6F_MapScripts:: @ 8231D3A
.byte 0
-MtPyre_6F_EventScript_231D3B:: @ 8231D3B
- trainerbattle_single TRAINER_VALERIE_1, MtPyre_6F_Text_231DB4, MtPyre_6F_Text_231DE2, MtPyre_6F_EventScript_231D67
+MtPyre_6F_EventScript_Valerie:: @ 8231D3B
+ trainerbattle_single TRAINER_VALERIE_1, MtPyre_6F_Text_ValerieIntro, MtPyre_6F_Text_ValerieDefeat, MtPyre_6F_EventScript_RegisterValerie
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq MtPyre_6F_EventScript_231D86
- msgbox MtPyre_6F_Text_231DFC, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MtPyre_6F_EventScript_RematchValerie
+ msgbox MtPyre_6F_Text_ValeriePostBattle, MSGBOX_DEFAULT
release
end
-MtPyre_6F_EventScript_231D67:: @ 8231D67
- special sub_80B4808
+MtPyre_6F_EventScript_RegisterValerie:: @ 8231D67
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox MtPyre_6F_Text_231E43, MSGBOX_DEFAULT
+ msgbox MtPyre_6F_Text_ValerieRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_VALERIE_1
release
end
-MtPyre_6F_EventScript_231D86:: @ 8231D86
- trainerbattle_rematch TRAINER_VALERIE_1, MtPyre_6F_Text_231EB3, MtPyre_6F_Text_231ECB
- msgbox MtPyre_6F_Text_231EE1, MSGBOX_AUTOCLOSE
+MtPyre_6F_EventScript_RematchValerie:: @ 8231D86
+ trainerbattle_rematch TRAINER_VALERIE_1, MtPyre_6F_Text_ValerieRematchIntro, MtPyre_6F_Text_ValerieRematchDefeat
+ msgbox MtPyre_6F_Text_ValeriePostRematch, MSGBOX_AUTOCLOSE
end
-MtPyre_6F_EventScript_231D9D:: @ 8231D9D
- trainerbattle_single TRAINER_CEDRIC, MtPyre_6F_Text_231F11, MtPyre_6F_Text_231F4A
- msgbox MtPyre_6F_Text_231F5C, MSGBOX_AUTOCLOSE
+MtPyre_6F_EventScript_Cedric:: @ 8231D9D
+ trainerbattle_single TRAINER_CEDRIC, MtPyre_6F_Text_CedricIntro, MtPyre_6F_Text_CedricDefeat
+ msgbox MtPyre_6F_Text_CedricPostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_6F_Text_231DB4: @ 8231DB4
+MtPyre_6F_Text_ValerieIntro: @ 8231DB4
.string "When I'm here…\n"
.string "A curious power flows into me…$"
-MtPyre_6F_Text_231DE2: @ 8231DE2
+MtPyre_6F_Text_ValerieDefeat: @ 8231DE2
.string "The power is ebbing away…$"
-MtPyre_6F_Text_231DFC: @ 8231DFC
+MtPyre_6F_Text_ValeriePostBattle: @ 8231DFC
.string "Perhaps the power is from the spirits\n"
.string "of POKéMON in fitful sleep here…$"
-MtPyre_6F_Text_231E43: @ 8231E43
+MtPyre_6F_Text_ValerieRegister: @ 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
+MtPyre_6F_Text_ValerieRematchIntro: @ 8231EB3
.string "Behind you…\n"
.string "What is it…$"
-MtPyre_6F_Text_231ECB: @ 8231ECB
+MtPyre_6F_Text_ValerieRematchDefeat: @ 8231ECB
.string "Something faded away…$"
-MtPyre_6F_Text_231EE1: @ 8231EE1
+MtPyre_6F_Text_ValeriePostRematch: @ 8231EE1
.string "The POKéMON at rest here…\n"
.string "Sometimes, they play…$"
-MtPyre_6F_Text_231F11: @ 8231F11
+MtPyre_6F_Text_CedricIntro: @ 8231F11
.string "Have you lost your bearings?\n"
.string "Have no fear for I am here!$"
-MtPyre_6F_Text_231F4A: @ 8231F4A
+MtPyre_6F_Text_CedricDefeat: @ 8231F4A
.string "Weren't you lost?$"
-MtPyre_6F_Text_231F5C: @ 8231F5C
+MtPyre_6F_Text_CedricPostBattle: @ 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/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json
index c7653bbd1..2fbcd5673 100644
--- a/data/maps/MtPyre_Exterior/map.json
+++ b/data/maps/MtPyre_Exterior/map.json
@@ -72,7 +72,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "MtPyre_Exterior_EventScript_231FED"
+ "script": "MtPyre_Exterior_EventScript_FogTrigger"
},
{
"type": "trigger",
@@ -81,7 +81,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "MtPyre_Exterior_EventScript_231FED"
+ "script": "MtPyre_Exterior_EventScript_FogTrigger"
},
{
"type": "trigger",
@@ -90,7 +90,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "MtPyre_Exterior_EventScript_231FF2"
+ "script": "MtPyre_Exterior_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -99,7 +99,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "MtPyre_Exterior_EventScript_231FF2"
+ "script": "MtPyre_Exterior_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -108,7 +108,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "MtPyre_Exterior_EventScript_231FED"
+ "script": "MtPyre_Exterior_EventScript_FogTrigger"
}
],
"bg_events": [
diff --git a/data/maps/MtPyre_Exterior/scripts.inc b/data/maps/MtPyre_Exterior/scripts.inc
index b66c50374..56a990266 100644
--- a/data/maps/MtPyre_Exterior/scripts.inc
+++ b/data/maps/MtPyre_Exterior/scripts.inc
@@ -3,25 +3,25 @@ MtPyre_Exterior_MapScripts:: @ 8231FCC
.byte 0
MtPyre_Exterior_OnTransition: @ 8231FD2
- call MtPyre_Exterior_EventScript_231FD8
+ call MtPyre_Exterior_EventScript_CheckEnterFromSummit
end
-MtPyre_Exterior_EventScript_231FD8:: @ 8231FD8
+MtPyre_Exterior_EventScript_CheckEnterFromSummit:: @ 8231FD8
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 12
- goto_if_lt MtPyre_Exterior_EventScript_231FE9
+ goto_if_lt MtPyre_Exterior_EventScript_EnterFromSummit
return
-MtPyre_Exterior_EventScript_231FE9:: @ 8231FE9
- setweather WEATHER_FOG_1
+MtPyre_Exterior_EventScript_EnterFromSummit:: @ 8231FE9
+ setweather WEATHER_FOG_HORIZONTAL
return
-MtPyre_Exterior_EventScript_231FED:: @ 8231FED
- setweather WEATHER_FOG_1
+MtPyre_Exterior_EventScript_FogTrigger:: @ 8231FED
+ setweather WEATHER_FOG_HORIZONTAL
doweather
end
-MtPyre_Exterior_EventScript_231FF2:: @ 8231FF2
+MtPyre_Exterior_EventScript_SunTrigger:: @ 8231FF2
setweather WEATHER_SUNNY
doweather
end
diff --git a/data/maps/MtPyre_Summit/map.json b/data/maps/MtPyre_Summit/map.json
index 78780ba19..ef4533802 100644
--- a/data/maps/MtPyre_Summit/map.json
+++ b/data/maps/MtPyre_Summit/map.json
@@ -5,7 +5,7 @@
"music": "MUS_MACHUPI",
"region_map_section": "MAPSEC_MT_PYRE",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_ROUTE",
"allow_bike": true,
"allow_escape_rope": false,
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_Summit_EventScript_23213C",
+ "script": "MtPyre_Summit_EventScript_OldMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "MtPyre_Summit_EventScript_2321A2",
+ "script": "MtPyre_Summit_EventScript_OldLady",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtPyre_Summit_EventScript_2323FD",
+ "script": "MtPyre_Summit_EventScript_Grunt1",
"flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtPyre_Summit_EventScript_232414",
+ "script": "MtPyre_Summit_EventScript_Grunt2",
"flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtPyre_Summit_EventScript_23242B",
+ "script": "MtPyre_Summit_EventScript_Grunt3",
"flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "MtPyre_Summit_EventScript_232442",
+ "script": "MtPyre_Summit_EventScript_Grunt4",
"flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA"
},
{
@@ -150,7 +150,7 @@
"elevation": 3,
"var": "VAR_MT_PYRE_STATE",
"var_value": "0",
- "script": "MtPyre_Summit_EventScript_232018"
+ "script": "MtPyre_Summit_EventScript_TeamAquaTrigger0"
},
{
"type": "trigger",
@@ -159,7 +159,7 @@
"elevation": 3,
"var": "VAR_MT_PYRE_STATE",
"var_value": "0",
- "script": "MtPyre_Summit_EventScript_232024"
+ "script": "MtPyre_Summit_EventScript_TeamAquaTrigger1"
},
{
"type": "trigger",
@@ -168,7 +168,7 @@
"elevation": 3,
"var": "VAR_MT_PYRE_STATE",
"var_value": "0",
- "script": "MtPyre_Summit_EventScript_232030"
+ "script": "MtPyre_Summit_EventScript_TeamAquaTrigger2"
},
{
"type": "trigger",
@@ -177,7 +177,7 @@
"elevation": 3,
"var": "VAR_MT_PYRE_STATE",
"var_value": "2",
- "script": "MtPyre_Summit_EventScript_2321EC"
+ "script": "MtPyre_Summit_EventScript_ArchieMaxieTrigger0"
},
{
"type": "trigger",
@@ -186,7 +186,7 @@
"elevation": 3,
"var": "VAR_MT_PYRE_STATE",
"var_value": "2",
- "script": "MtPyre_Summit_EventScript_2321F8"
+ "script": "MtPyre_Summit_EventScript_ArchieMaxieTrigger1"
},
{
"type": "trigger",
@@ -195,7 +195,7 @@
"elevation": 3,
"var": "VAR_MT_PYRE_STATE",
"var_value": "2",
- "script": "MtPyre_Summit_EventScript_232204"
+ "script": "MtPyre_Summit_EventScript_ArchieMaxieTrigger2"
}
],
"bg_events": [
diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc
index eb61c4c2d..2b475b1ae 100644
--- a/data/maps/MtPyre_Summit/scripts.inc
+++ b/data/maps/MtPyre_Summit/scripts.inc
@@ -4,48 +4,48 @@ MtPyre_Summit_MapScripts:: @ 8231FF7
MtPyre_Summit_OnTransition: @ 8231FFD
compare VAR_MT_PYRE_STATE, 2
- call_if_eq MtPyre_Summit_EventScript_232009
+ call_if_eq MtPyre_Summit_EventScript_SetArchieMaxiePositions
end
-MtPyre_Summit_EventScript_232009:: @ 8232009
+MtPyre_Summit_EventScript_SetArchieMaxiePositions:: @ 8232009
setobjectxyperm 8, 23, 6
setobjectxyperm 2, 22, 6
end
-MtPyre_Summit_EventScript_232018:: @ 8232018
+MtPyre_Summit_EventScript_TeamAquaTrigger0:: @ 8232018
lockall
setvar VAR_0x8008, 0
- goto MtPyre_Summit_EventScript_23203C
+ goto MtPyre_Summit_EventScript_TeamAquaExits
end
-MtPyre_Summit_EventScript_232024:: @ 8232024
+MtPyre_Summit_EventScript_TeamAquaTrigger1:: @ 8232024
lockall
setvar VAR_0x8008, 1
- goto MtPyre_Summit_EventScript_23203C
+ goto MtPyre_Summit_EventScript_TeamAquaExits
end
-MtPyre_Summit_EventScript_232030:: @ 8232030
+MtPyre_Summit_EventScript_TeamAquaTrigger2:: @ 8232030
lockall
setvar VAR_0x8008, 2
- goto MtPyre_Summit_EventScript_23203C
+ goto MtPyre_Summit_EventScript_TeamAquaExits
end
-MtPyre_Summit_EventScript_23203C:: @ 823203C
+MtPyre_Summit_EventScript_TeamAquaExits:: @ 823203C
playbgm MUS_AQA_0, 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
- applymovement 2, Common_Movement_WalkInPlaceDown
+ applymovement 2, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 50
compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_2320E0
+ call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer0
compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_2320EB
+ call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer1
compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_2320EC
- msgbox MtPyre_Summit_Text_23281A, MSGBOX_DEFAULT
+ call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer2
+ msgbox MtPyre_Summit_Text_ArchieWeGotTheOrbLetsGo, MSGBOX_DEFAULT
closemessage
- fadescreen 1
+ fadescreen FADE_TO_BLACK
removeobject 2
removeobject 4
removeobject 5
@@ -54,168 +54,169 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C
setflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE
setflag FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA
fadedefaultbgm
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
delay 20
setvar VAR_MT_PYRE_STATE, 1
compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_2320F7
+ call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_23210C
+ call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_232117
- msgbox MtPyre_Summit_Text_23290E, MSGBOX_DEFAULT
- giveitem_std ITEM_MAGMA_EMBLEM
+ call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer2
+ msgbox MtPyre_Summit_Text_BothOrbsTakenMagmaLeftThis, MSGBOX_DEFAULT
+ giveitem ITEM_MAGMA_EMBLEM
setflag FLAG_RECEIVED_RED_OR_BLUE_ORB
setflag FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD
releaseall
end
-MtPyre_Summit_EventScript_2320E0:: @ 82320E0
- applymovement 2, MtPyre_Summit_Movement_232136
+MtPyre_Summit_EventScript_ArchieFacePlayer0:: @ 82320E0
+ applymovement 2, MtPyre_Summit_Movement_ArchieFacePlayer0
waitmovement 0
return
-MtPyre_Summit_EventScript_2320EB:: @ 82320EB
+@ Archie is already facing player
+MtPyre_Summit_EventScript_ArchieFacePlayer1:: @ 82320EB
return
-MtPyre_Summit_EventScript_2320EC:: @ 82320EC
- applymovement 2, MtPyre_Summit_Movement_232139
+MtPyre_Summit_EventScript_ArchieFacePlayer2:: @ 82320EC
+ applymovement 2, MtPyre_Summit_Movement_ArchieFacePlayer2
waitmovement 0
return
-MtPyre_Summit_EventScript_2320F7:: @ 82320F7
- applymovement 3, MtPyre_Summit_Movement_23212C
+MtPyre_Summit_EventScript_OldLadyApproachPlayer0:: @ 82320F7
+ applymovement 3, MtPyre_Summit_Movement_OldLadyApproachPlayer0
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-MtPyre_Summit_EventScript_23210C:: @ 823210C
- applymovement 3, MtPyre_Summit_Movement_232130
+MtPyre_Summit_EventScript_OldLadyApproachPlayer1:: @ 823210C
+ applymovement 3, MtPyre_Summit_Movement_OldLadyApproachPlayer1
waitmovement 0
return
-MtPyre_Summit_EventScript_232117:: @ 8232117
- applymovement 3, MtPyre_Summit_Movement_232132
+MtPyre_Summit_EventScript_OldLadyApproachPlayer2:: @ 8232117
+ applymovement 3, MtPyre_Summit_Movement_OldLadyApproachPlayer2
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-MtPyre_Summit_Movement_23212C: @ 823212C
+MtPyre_Summit_Movement_OldLadyApproachPlayer0: @ 823212C
walk_down
walk_down
walk_in_place_fastest_left
step_end
-MtPyre_Summit_Movement_232130: @ 8232130
+MtPyre_Summit_Movement_OldLadyApproachPlayer1: @ 8232130
walk_down
step_end
-MtPyre_Summit_Movement_232132: @ 8232132
+MtPyre_Summit_Movement_OldLadyApproachPlayer2: @ 8232132
walk_down
walk_down
walk_in_place_fastest_right
step_end
-MtPyre_Summit_Movement_232136: @ 8232136
+MtPyre_Summit_Movement_ArchieFacePlayer0: @ 8232136
walk_left
walk_in_place_fastest_down
step_end
-MtPyre_Summit_Movement_232139: @ 8232139
+MtPyre_Summit_Movement_ArchieFacePlayer2: @ 8232139
walk_right
walk_in_place_fastest_down
step_end
-MtPyre_Summit_EventScript_23213C:: @ 823213C
+MtPyre_Summit_EventScript_OldMan:: @ 823213C
lock
faceplayer
- goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, MtPyre_Summit_EventScript_232167
- msgbox MtPyre_Summit_Text_232E0C, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq MtPyre_Summit_EventScript_232187
- compare VAR_RESULT, 0
- call_if_eq MtPyre_Summit_EventScript_232190
+ goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, MtPyre_Summit_EventScript_OldManAfterRayquaza
+ msgbox MtPyre_Summit_Text_WillYouHearOutMyTale, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq MtPyre_Summit_EventScript_OldManTale
+ compare VAR_RESULT, NO
+ call_if_eq MtPyre_Summit_EventScript_DeclineOldManTale
release
end
-MtPyre_Summit_EventScript_232167:: @ 8232167
- msgbox MtPyre_Summit_Text_2331A6, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq MtPyre_Summit_EventScript_232199
- compare VAR_RESULT, 0
- call_if_eq MtPyre_Summit_EventScript_232190
+MtPyre_Summit_EventScript_OldManAfterRayquaza:: @ 8232167
+ msgbox MtPyre_Summit_Text_HearTheNewLegendOfHoenn, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq MtPyre_Summit_EventScript_OldManNewTale
+ compare VAR_RESULT, NO
+ call_if_eq MtPyre_Summit_EventScript_DeclineOldManTale
release
end
-MtPyre_Summit_EventScript_232187:: @ 8232187
- msgbox MtPyre_Summit_Text_232F27, MSGBOX_DEFAULT
+MtPyre_Summit_EventScript_OldManTale:: @ 8232187
+ msgbox MtPyre_Summit_Text_GroudonKyogreTale, MSGBOX_DEFAULT
return
-MtPyre_Summit_EventScript_232190:: @ 8232190
- msgbox MtPyre_Summit_Text_233162, MSGBOX_DEFAULT
+MtPyre_Summit_EventScript_DeclineOldManTale:: @ 8232190
+ msgbox MtPyre_Summit_Text_WellThatTooIsFine, MSGBOX_DEFAULT
return
-MtPyre_Summit_EventScript_232199:: @ 8232199
- msgbox MtPyre_Summit_Text_23325D, MSGBOX_DEFAULT
+MtPyre_Summit_EventScript_OldManNewTale:: @ 8232199
+ msgbox MtPyre_Summit_Text_HoennTrioTale, MSGBOX_DEFAULT
return
-MtPyre_Summit_EventScript_2321A2:: @ 82321A2
+MtPyre_Summit_EventScript_OldLady:: @ 82321A2
lock
faceplayer
- goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_2321E2
+ goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_OldLadyAfterOrbsReturned
compare VAR_MT_PYRE_STATE, 3
- call_if_ge MtPyre_Summit_EventScript_2321CB
- goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_2321D8
- msgbox MtPyre_Summit_Text_232AD8, MSGBOX_DEFAULT
+ call_if_ge MtPyre_Summit_EventScript_OldLadyOrbsReturned
+ goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_OldLadyLegendariesAwake
+ msgbox MtPyre_Summit_Text_OrbsHaveBeenTaken, MSGBOX_DEFAULT
release
end
-MtPyre_Summit_EventScript_2321CB:: @ 82321CB
- msgbox MtPyre_Summit_Text_232CA6, MSGBOX_DEFAULT
+MtPyre_Summit_EventScript_OldLadyOrbsReturned:: @ 82321CB
+ msgbox MtPyre_Summit_Text_ThoseTwoMenReturnedOrbs, MSGBOX_DEFAULT
setflag FLAG_RETURNED_RED_OR_BLUE_ORB
release
end
-MtPyre_Summit_EventScript_2321D8:: @ 82321D8
- msgbox MtPyre_Summit_Text_232B4F, MSGBOX_DEFAULT
+MtPyre_Summit_EventScript_OldLadyLegendariesAwake:: @ 82321D8
+ msgbox MtPyre_Summit_Text_GroudonKyogreAwakened, MSGBOX_DEFAULT
release
end
-MtPyre_Summit_EventScript_2321E2:: @ 82321E2
- msgbox MtPyre_Summit_Text_232D1E, MSGBOX_DEFAULT
+MtPyre_Summit_EventScript_OldLadyAfterOrbsReturned:: @ 82321E2
+ msgbox MtPyre_Summit_Text_SuperAncientPokemonTaughtUs, MSGBOX_DEFAULT
release
end
-MtPyre_Summit_EventScript_2321EC:: @ 82321EC
+MtPyre_Summit_EventScript_ArchieMaxieTrigger0:: @ 82321EC
lockall
setvar VAR_0x8008, 0
- goto MtPyre_Summit_EventScript_232210
+ goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs
end
-MtPyre_Summit_EventScript_2321F8:: @ 82321F8
+MtPyre_Summit_EventScript_ArchieMaxieTrigger1:: @ 82321F8
lockall
setvar VAR_0x8008, 1
- goto MtPyre_Summit_EventScript_232210
+ goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs
end
-MtPyre_Summit_EventScript_232204:: @ 8232204
+MtPyre_Summit_EventScript_ArchieMaxieTrigger2:: @ 8232204
lockall
setvar VAR_0x8008, 2
- goto MtPyre_Summit_EventScript_232210
+ goto MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs
end
-MtPyre_Summit_EventScript_232210:: @ 8232210
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs:: @ 8232210
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 60
compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_2322C4
+ call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit0
compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_2322DD
+ call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit1
compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_2322F6
+ call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit2
playse SE_PIN
applymovement 8, Common_Movement_ExclamationMark
waitmovement 0
@@ -223,22 +224,22 @@ MtPyre_Summit_EventScript_232210:: @ 8232210
waitmovement 0
delay 30
compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_23230F
+ call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_232328
+ call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_232341
- msgbox MtPyre_Summit_Text_233183, MSGBOX_DEFAULT
+ call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer2
+ msgbox MtPyre_Summit_Text_MaxieSilence, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_23235A
+ call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie0
compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_232376
+ call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie1
compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_232392
+ call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie2
delay 30
- applymovement 2, MtPyre_Summit_Movement_2323B6
- applymovement 8, MtPyre_Summit_Movement_2323BD
+ applymovement 2, MtPyre_Summit_Movement_MaxieExit
+ applymovement 8, MtPyre_Summit_Movement_ArchieExit
waitmovement 0
removeobject 2
removeobject 8
@@ -246,85 +247,85 @@ MtPyre_Summit_EventScript_232210:: @ 8232210
releaseall
end
-MtPyre_Summit_EventScript_2322C4:: @ 82322C4
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323C4
- applymovement 2, MtPyre_Summit_Movement_2323B6
- applymovement 8, MtPyre_Summit_Movement_2323BD
+MtPyre_Summit_EventScript_ArchieMaxieBeginExit0:: @ 82322C4
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0
+ applymovement 2, MtPyre_Summit_Movement_MaxieExit
+ applymovement 8, MtPyre_Summit_Movement_ArchieExit
waitmovement 0
return
-MtPyre_Summit_EventScript_2322DD:: @ 82322DD
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323CB
- applymovement 2, MtPyre_Summit_Movement_2323B6
- applymovement 8, MtPyre_Summit_Movement_2323BD
+MtPyre_Summit_EventScript_ArchieMaxieBeginExit1:: @ 82322DD
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1
+ applymovement 2, MtPyre_Summit_Movement_MaxieExit
+ applymovement 8, MtPyre_Summit_Movement_ArchieExit
waitmovement 0
return
-MtPyre_Summit_EventScript_2322F6:: @ 82322F6
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323D2
- applymovement 2, MtPyre_Summit_Movement_2323B6
- applymovement 8, MtPyre_Summit_Movement_2323BD
+MtPyre_Summit_EventScript_ArchieMaxieBeginExit2:: @ 82322F6
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2
+ applymovement 2, MtPyre_Summit_Movement_MaxieExit
+ applymovement 8, MtPyre_Summit_Movement_ArchieExit
waitmovement 0
return
-MtPyre_Summit_EventScript_23230F:: @ 823230F
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323AE
- applymovement 2, MtPyre_Summit_Movement_2323E7
- applymovement 8, MtPyre_Summit_Movement_2323D8
+MtPyre_Summit_EventScript_MaxieApproachPlayer0:: @ 823230F
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie0
+ applymovement 2, MtPyre_Summit_Movement_ArchieWatchMaxie
+ applymovement 8, MtPyre_Summit_Movement_MaxieApproachPlayer0
waitmovement 0
return
-MtPyre_Summit_EventScript_232328:: @ 8232328
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2
- applymovement 2, MtPyre_Summit_Movement_2323E7
- applymovement 8, MtPyre_Summit_Movement_2323DD
+MtPyre_Summit_EventScript_MaxieApproachPlayer1:: @ 8232328
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie
+ applymovement 2, MtPyre_Summit_Movement_ArchieWatchMaxie
+ applymovement 8, MtPyre_Summit_Movement_MaxieApproachPlayer1
waitmovement 0
return
-MtPyre_Summit_EventScript_232341:: @ 8232341
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2
- applymovement 2, MtPyre_Summit_Movement_2323E7
- applymovement 8, MtPyre_Summit_Movement_2323E2
+MtPyre_Summit_EventScript_MaxieApproachPlayer2:: @ 8232341
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie
+ applymovement 2, MtPyre_Summit_Movement_ArchieWatchMaxie
+ applymovement 8, MtPyre_Summit_Movement_MaxieApproachPlayer2
waitmovement 0
return
-MtPyre_Summit_EventScript_23235A:: @ 823235A
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA
- applymovement 8, MtPyre_Summit_Movement_2323ED
+MtPyre_Summit_EventScript_MaxieApproachArchie0:: @ 823235A
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie
+ applymovement 8, MtPyre_Summit_Movement_MaxieApproachArchie0
waitmovement 0
- applymovement 2, Common_Movement_WalkInPlaceRight
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-MtPyre_Summit_EventScript_232376:: @ 8232376
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA
- applymovement 8, MtPyre_Summit_Movement_2323F3
+MtPyre_Summit_EventScript_MaxieApproachArchie1:: @ 8232376
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie
+ applymovement 8, MtPyre_Summit_Movement_MaxieApproachArchie1
waitmovement 0
- applymovement 2, Common_Movement_WalkInPlaceRight
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-MtPyre_Summit_EventScript_232392:: @ 8232392
- applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA
- applymovement 8, MtPyre_Summit_Movement_2323F8
+MtPyre_Summit_EventScript_MaxieApproachArchie2:: @ 8232392
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie
+ applymovement 8, MtPyre_Summit_Movement_MaxieApproachArchie2
waitmovement 0
- applymovement 2, Common_Movement_WalkInPlaceRight
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-MtPyre_Summit_Movement_2323AE: @ 82323AE
+MtPyre_Summit_Movement_PlayerFaceMaxie0: @ 82323AE
delay_16
delay_16
walk_in_place_fastest_right
step_end
-MtPyre_Summit_Movement_2323B2: @ 82323B2
+MtPyre_Summit_Movement_PlayerFaceMaxie: @ 82323B2
delay_16
delay_16
walk_in_place_fastest_left
step_end
-MtPyre_Summit_Movement_2323B6: @ 82323B6
+MtPyre_Summit_Movement_MaxieExit: @ 82323B6
walk_down
walk_down
walk_down
@@ -333,7 +334,7 @@ MtPyre_Summit_Movement_2323B6: @ 82323B6
walk_down
step_end
-MtPyre_Summit_Movement_2323BD: @ 82323BD
+MtPyre_Summit_Movement_ArchieExit: @ 82323BD
walk_down
walk_down
walk_down
@@ -342,7 +343,7 @@ MtPyre_Summit_Movement_2323BD: @ 82323BD
walk_down
step_end
-MtPyre_Summit_Movement_2323C4: @ 82323C4
+MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0: @ 82323C4
delay_16
delay_8
walk_left
@@ -351,7 +352,7 @@ MtPyre_Summit_Movement_2323C4: @ 82323C4
walk_in_place_fastest_down
step_end
-MtPyre_Summit_Movement_2323CB: @ 82323CB
+MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1: @ 82323CB
delay_16
delay_8
walk_right
@@ -360,7 +361,7 @@ MtPyre_Summit_Movement_2323CB: @ 82323CB
walk_in_place_fastest_down
step_end
-MtPyre_Summit_Movement_2323D2: @ 82323D2
+MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2: @ 82323D2
delay_16
delay_8
walk_in_place_fastest_left
@@ -368,38 +369,38 @@ MtPyre_Summit_Movement_2323D2: @ 82323D2
walk_in_place_fastest_down
step_end
-MtPyre_Summit_Movement_2323D8: @ 82323D8
+MtPyre_Summit_Movement_MaxieApproachPlayer0: @ 82323D8
walk_up
walk_up
walk_up
walk_left
step_end
-MtPyre_Summit_Movement_2323DD: @ 82323DD
+MtPyre_Summit_Movement_MaxieApproachPlayer1: @ 82323DD
walk_up
walk_up
walk_up
walk_in_place_fastest_right
step_end
-MtPyre_Summit_Movement_2323E2: @ 82323E2
+MtPyre_Summit_Movement_MaxieApproachPlayer2: @ 82323E2
walk_up
walk_up
walk_up
walk_in_place_fastest_right
step_end
-MtPyre_Summit_Movement_2323E7: @ 82323E7
+MtPyre_Summit_Movement_ArchieWatchMaxie: @ 82323E7
delay_16
walk_in_place_fastest_up
step_end
-MtPyre_Summit_Movement_2323EA: @ 82323EA
+MtPyre_Summit_Movement_PlayerWatchMaxie: @ 82323EA
delay_16
walk_in_place_fastest_down
step_end
-MtPyre_Summit_Movement_2323ED: @ 82323ED
+MtPyre_Summit_Movement_MaxieApproachArchie0: @ 82323ED
walk_down
walk_right
walk_down
@@ -407,54 +408,54 @@ MtPyre_Summit_Movement_2323ED: @ 82323ED
walk_in_place_fastest_left
step_end
-MtPyre_Summit_Movement_2323F3: @ 82323F3
+MtPyre_Summit_Movement_MaxieApproachArchie1: @ 82323F3
walk_down
walk_down
walk_down
walk_in_place_fastest_left
step_end
-MtPyre_Summit_Movement_2323F8: @ 82323F8
+MtPyre_Summit_Movement_MaxieApproachArchie2: @ 82323F8
walk_down
walk_down
walk_down
walk_in_place_fastest_left
step_end
-MtPyre_Summit_EventScript_2323FD:: @ 82323FD
- trainerbattle_single TRAINER_GRUNT_17, MtPyre_Summit_Text_232459, MtPyre_Summit_Text_2324A0
- msgbox MtPyre_Summit_Text_2324E0, MSGBOX_AUTOCLOSE
+MtPyre_Summit_EventScript_Grunt1:: @ 82323FD
+ trainerbattle_single TRAINER_GRUNT_MT_PYRE_1, MtPyre_Summit_Text_Grunt1Intro, MtPyre_Summit_Text_Grunt1Defeat
+ msgbox MtPyre_Summit_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_Summit_EventScript_232414:: @ 8232414
- trainerbattle_single TRAINER_GRUNT_18, MtPyre_Summit_Text_232513, MtPyre_Summit_Text_2325B0
- msgbox MtPyre_Summit_Text_2325E4, MSGBOX_AUTOCLOSE
+MtPyre_Summit_EventScript_Grunt2:: @ 8232414
+ trainerbattle_single TRAINER_GRUNT_MT_PYRE_2, MtPyre_Summit_Text_Grunt2Intro, MtPyre_Summit_Text_Grunt2Defeat
+ msgbox MtPyre_Summit_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_Summit_EventScript_23242B:: @ 823242B
- trainerbattle_single TRAINER_GRUNT_19, MtPyre_Summit_Text_23261D, MtPyre_Summit_Text_232678
- msgbox MtPyre_Summit_Text_2326B3, MSGBOX_AUTOCLOSE
+MtPyre_Summit_EventScript_Grunt3:: @ 823242B
+ trainerbattle_single TRAINER_GRUNT_MT_PYRE_3, MtPyre_Summit_Text_Grunt3Intro, MtPyre_Summit_Text_Grunt3Defeat
+ msgbox MtPyre_Summit_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_Summit_EventScript_232442:: @ 8232442
- trainerbattle_single TRAINER_GRUNT_29, MtPyre_Summit_Text_23271B, MtPyre_Summit_Text_23279A
- msgbox MtPyre_Summit_Text_2327D8, MSGBOX_AUTOCLOSE
+MtPyre_Summit_EventScript_Grunt4:: @ 8232442
+ trainerbattle_single TRAINER_GRUNT_MT_PYRE_4, MtPyre_Summit_Text_Grunt4Intro, MtPyre_Summit_Text_Grunt4Defeat
+ msgbox MtPyre_Summit_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE
end
-MtPyre_Summit_Text_232459: @ 8232459
+MtPyre_Summit_Text_Grunt1Intro: @ 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
+MtPyre_Summit_Text_Grunt1Defeat: @ 82324A0
.string "I thought you were one of the MAGMAS\n"
.string "who happened to come back…$"
-MtPyre_Summit_Text_2324E0: @ 82324E0
+MtPyre_Summit_Text_Grunt1PostBattle: @ 82324E0
.string "Yeah, so you are strong…\n"
.string "But there're a lot of us!$"
-MtPyre_Summit_Text_232513: @ 8232513
+MtPyre_Summit_Text_Grunt2Intro: @ 8232513
.string "Hah!\n"
.string "Too bad for you!\p"
.string "If you came earlier, you only would've\n"
@@ -462,46 +463,46 @@ MtPyre_Summit_Text_232513: @ 8232513
.string "But since you arrived now, you have\n"
.string "to take on us toughies!$"
-MtPyre_Summit_Text_2325B0: @ 82325B0
+MtPyre_Summit_Text_Grunt2Defeat: @ 82325B0
.string "Urgh… I should've let you take on\n"
.string "TEAM MAGMA first…$"
-MtPyre_Summit_Text_2325E4: @ 82325E4
+MtPyre_Summit_Text_Grunt2PostBattle: @ 82325E4
.string "You don't know anything!\n"
.string "So why are you messing with us?$"
-MtPyre_Summit_Text_23261D: @ 823261D
+MtPyre_Summit_Text_Grunt3Intro: @ 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
+MtPyre_Summit_Text_Grunt3Defeat: @ 8232678
.string "If you're going to mess with anyone,\n"
.string "let it be TEAM MAGMA…$"
-MtPyre_Summit_Text_2326B3: @ 82326B3
+MtPyre_Summit_Text_Grunt3PostBattle: @ 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
+MtPyre_Summit_Text_Grunt4Intro: @ 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
+MtPyre_Summit_Text_Grunt4Defeat: @ 823279A
.string "If you want to join TEAM AQUA that\n"
.string "badly, we can consider it…$"
-MtPyre_Summit_Text_2327D8: @ 82327D8
+MtPyre_Summit_Text_Grunt4PostBattle: @ 82327D8
.string "We have a great combination going\n"
.string "with us members and our leader.$"
-MtPyre_Summit_Text_23281A: @ 823281A
+MtPyre_Summit_Text_ArchieWeGotTheOrbLetsGo: @ 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"
@@ -511,7 +512,7 @@ MtPyre_Summit_Text_23281A: @ 823281A
.string "Okay, TEAM!\n"
.string "We're pulling out!$"
-MtPyre_Summit_Text_23290E: @ 823290E
+MtPyre_Summit_Text_BothOrbsTakenMagmaLeftThis: @ 823290E
.string "Oh, no…\n"
.string "This cannot happen…\p"
.string "Not only the BLUE ORB, but even\n"
@@ -531,13 +532,13 @@ MtPyre_Summit_Text_23290E: @ 823290E
.string "I would like you to have it.\n"
.string "Perhaps it will be useful in some way.$"
-MtPyre_Summit_Text_232AD8: @ 8232AD8
+MtPyre_Summit_Text_OrbsHaveBeenTaken: @ 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
+MtPyre_Summit_Text_GroudonKyogreAwakened: @ 8232B4F
.string "Oh, my goodness…\p"
.string "You say that both GROUDON and KYOGRE\n"
.string "have been awakened?\p"
@@ -551,13 +552,13 @@ MtPyre_Summit_Text_232B4F: @ 8232B4F
.string "It could be a human, or perhaps\n"
.string "a POKéMON, but no one knows.$"
-MtPyre_Summit_Text_232CA6: @ 8232CA6
+MtPyre_Summit_Text_ThoseTwoMenReturnedOrbs: @ 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
+MtPyre_Summit_Text_SuperAncientPokemonTaughtUs: @ 8232D1E
.string "The embodiments of the land, sea,\n"
.string "and the sky…\p"
.string "That is said to be the identities of\n"
@@ -568,7 +569,7 @@ MtPyre_Summit_Text_232D1E: @ 8232D1E
.string "The super-ancient POKéMON have\n"
.string "taught us that…$"
-MtPyre_Summit_Text_232E0C: @ 8232E0C
+MtPyre_Summit_Text_WillYouHearOutMyTale: @ 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"
@@ -579,7 +580,7 @@ MtPyre_Summit_Text_232E0C: @ 8232E0C
.string "Will you hear out my tale? A tale long\n"
.string "told in the HOENN region?$"
-MtPyre_Summit_Text_232F27: @ 8232F27
+MtPyre_Summit_Text_GroudonKyogreTale: @ 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"
@@ -599,16 +600,16 @@ MtPyre_Summit_Text_232F27: @ 8232F27
.string "the sea where eventually they\l"
.string "disappeared…$"
-MtPyre_Summit_Text_233162: @ 8233162
+MtPyre_Summit_Text_WellThatTooIsFine: @ 8233162
.string "I see…\n"
.string "Well, that, too, is fine…$"
-MtPyre_Summit_Text_233183: @ 8233183
+MtPyre_Summit_Text_MaxieSilence: @ 8233183
.string "MAXIE: {PLAYER}…\p"
.string "… … … … … …\n"
.string "… … … … … …$"
-MtPyre_Summit_Text_2331A6: @ 82331A6
+MtPyre_Summit_Text_HearTheNewLegendOfHoenn: @ 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"
@@ -616,7 +617,7 @@ MtPyre_Summit_Text_2331A6: @ 82331A6
.string "Have you the time to hear the new\n"
.string "legend of HOENN?$"
-MtPyre_Summit_Text_23325D: @ 823325D
+MtPyre_Summit_Text_HoennTrioTale: @ 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"
diff --git a/data/maps/NavelRock_Bottom/map.json b/data/maps/NavelRock_Bottom/map.json
index ee324635b..1ae004107 100644
--- a/data/maps/NavelRock_Bottom/map.json
+++ b/data/maps/NavelRock_Bottom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NavelRock_Bottom_EventScript_2692A2",
+ "script": "NavelRock_Bottom_EventScript_Lugia",
"flag": "FLAG_HIDE_LUGIA"
}
],
diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc
index f3c244e3d..e43f6d513 100644
--- a/data/maps/NavelRock_Bottom/scripts.inc
+++ b/data/maps/NavelRock_Bottom/scripts.inc
@@ -1,83 +1,83 @@
NavelRock_Bottom_MapScripts:: @ 8269255
map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Bottom_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, NavelRock_Bottom_MapScript1_269284
+ map_script MAP_SCRIPT_ON_RESUME, NavelRock_Bottom_OnResume
.byte 0
NavelRock_Bottom_OnTransition: @ 8269260
- call_if_set FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269273
- call_if_unset FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_269277
+ call_if_set FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_HideLugia
+ call_if_unset FLAG_CAUGHT_LUGIA, NavelRock_Bottom_EventScript_TryShowLugia
end
-NavelRock_Bottom_EventScript_269273:: @ 8269273
+NavelRock_Bottom_EventScript_HideLugia:: @ 8269273
setflag FLAG_HIDE_LUGIA
return
-NavelRock_Bottom_EventScript_269277:: @ 8269277
+NavelRock_Bottom_EventScript_TryShowLugia:: @ 8269277
goto_if_set FLAG_DEFEATED_LUGIA, Common_EventScript_NopReturn
clearflag FLAG_HIDE_LUGIA
return
-NavelRock_Bottom_MapScript1_269284: @ 8269284
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Bottom_EventScript_26928E
+NavelRock_Bottom_OnResume: @ 8269284
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Bottom_EventScript_TryRemoveLugia
end
-NavelRock_Bottom_EventScript_26928E:: @ 826928E
+NavelRock_Bottom_EventScript_TryRemoveLugia:: @ 826928E
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject 1
return
-NavelRock_Bottom_EventScript_2692A2:: @ 82692A2
+NavelRock_Bottom_EventScript_Lugia:: @ 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
+ setvar VAR_0x8004, 0 @ vertical pan
+ setvar VAR_0x8005, 3 @ horizontal pan
+ setvar VAR_0x8006, 4 @ num shakes
+ setvar VAR_0x8007, 2 @ shake delay
+ special ShakeCamera
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
+ setvar VAR_0x8004, 0 @ vertical pan
+ setvar VAR_0x8005, 3 @ horizontal pan
+ setvar VAR_0x8006, 4 @ num shakes
+ setvar VAR_0x8007, 2 @ shake delay
+ special ShakeCamera
delay 30
delay 50
waitse
playmoncry SPECIES_LUGIA, 2
waitmoncry
delay 20
- setvar VAR_0x8004, 249
- setvar VAR_0x8005, 70
- setvar VAR_0x8006, 0
+ setvar VAR_0x8004, SPECIES_LUGIA
+ setvar VAR_0x8005, 70 @ level
+ setvar VAR_0x8006, ITEM_NONE
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq NavelRock_Bottom_EventScript_269336
- compare VAR_RESULT, 4
- goto_if_eq NavelRock_Bottom_EventScript_269344
- compare VAR_RESULT, 5
- goto_if_eq NavelRock_Bottom_EventScript_269344
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq NavelRock_Bottom_EventScript_DefeatedLugia
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq NavelRock_Bottom_EventScript_RanFromLugia
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq NavelRock_Bottom_EventScript_RanFromLugia
setflag FLAG_CAUGHT_LUGIA
release
end
-NavelRock_Bottom_EventScript_269336:: @ 8269336
+NavelRock_Bottom_EventScript_DefeatedLugia:: @ 8269336
setflag FLAG_DEFEATED_LUGIA
- setvar VAR_0x8004, 249
- goto NavelRock_Bottom_EventScript_273776
+ setvar VAR_0x8004, SPECIES_LUGIA
+ goto Common_EventScript_LegendaryFlewAway
end
-NavelRock_Bottom_EventScript_269344:: @ 8269344
- setvar VAR_0x8004, 249
- goto NavelRock_Bottom_EventScript_273776
+NavelRock_Bottom_EventScript_RanFromLugia:: @ 8269344
+ setvar VAR_0x8004, SPECIES_LUGIA
+ goto Common_EventScript_LegendaryFlewAway
end
diff --git a/data/maps/NavelRock_Harbor/map.json b/data/maps/NavelRock_Harbor/map.json
index 7ea3ef0e7..e91dfa8d1 100644
--- a/data/maps/NavelRock_Harbor/map.json
+++ b/data/maps/NavelRock_Harbor/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NavelRock_Harbor_EventScript_2690BD",
+ "script": "NavelRock_Harbor_EventScript_Sailor",
"flag": "0"
},
{
diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc
index 332e6dbea..b138b7c5a 100644
--- a/data/maps/NavelRock_Harbor/scripts.inc
+++ b/data/maps/NavelRock_Harbor/scripts.inc
@@ -1,27 +1,27 @@
NavelRock_Harbor_MapScripts:: @ 82690BC
.byte 0
-NavelRock_Harbor_EventScript_2690BD:: @ 82690BD
+NavelRock_Harbor_EventScript_Sailor:: @ 82690BD
lock
faceplayer
- msgbox NavelRock_Harbor_Text_2C6CE6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq NavelRock_Harbor_EventScript_269102
- msgbox NavelRock_Harbor_Text_2A6A5D, MSGBOX_DEFAULT
+ msgbox NavelRock_Harbor_Text_SailorReturn, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq NavelRock_Harbor_EventScript_AsYouLike
+ msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
hideobjectat 1, MAP_NAVEL_ROCK_HARBOR
setvar VAR_0x8004, 2
- call NavelRock_Harbor_EventScript_272250
+ call Common_EventScript_FerryDepartIsland
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-NavelRock_Harbor_EventScript_269102:: @ 8269102
- msgbox NavelRock_Harbor_Text_2A6A82, MSGBOX_DEFAULT
+NavelRock_Harbor_EventScript_AsYouLike:: @ 8269102
+ msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/NavelRock_Top/map.json b/data/maps/NavelRock_Top/map.json
index 4b025ccae..c906c4ceb 100644
--- a/data/maps/NavelRock_Top/map.json
+++ b/data/maps/NavelRock_Top/map.json
@@ -45,7 +45,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "NavelRock_Top_EventScript_26916F"
+ "script": "NavelRock_Top_EventScript_HoOh"
}
],
"bg_events": [
diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc
index 816e20206..fcd043d3d 100644
--- a/data/maps/NavelRock_Top/scripts.inc
+++ b/data/maps/NavelRock_Top/scripts.inc
@@ -1,45 +1,45 @@
NavelRock_Top_MapScripts:: @ 8269113
map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Top_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, NavelRock_Top_MapScript1_269151
+ map_script MAP_SCRIPT_ON_RESUME, NavelRock_Top_OnResume
.byte 0
NavelRock_Top_OnTransition: @ 826911E
- call_if_set FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_269131
- call_if_unset FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_26913A
+ call_if_set FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_HideHoOh
+ call_if_unset FLAG_CAUGHT_HO_OH, NavelRock_Top_EventScript_TryShowHoOh
end
-NavelRock_Top_EventScript_269131:: @ 8269131
+NavelRock_Top_EventScript_HideHoOh:: @ 8269131
setvar VAR_TEMP_1, 1
setflag FLAG_HIDE_HO_OH
return
-NavelRock_Top_EventScript_26913A:: @ 826913A
+NavelRock_Top_EventScript_TryShowHoOh:: @ 826913A
setvar VAR_TEMP_1, 1
goto_if_set FLAG_DEFEATED_HO_OH, Common_EventScript_NopReturn
setvar VAR_TEMP_1, 0
clearflag FLAG_HIDE_HO_OH
return
-NavelRock_Top_MapScript1_269151: @ 8269151
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Top_EventScript_26915B
+NavelRock_Top_OnResume: @ 8269151
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Top_EventScript_TryRemoveHoOh
end
-NavelRock_Top_EventScript_26915B:: @ 826915B
+NavelRock_Top_EventScript_TryRemoveHoOh:: @ 826915B
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject 1
return
-NavelRock_Top_EventScript_26916F:: @ 826916F
+NavelRock_Top_EventScript_HoOh:: @ 826916F
lockall
setvar VAR_TEMP_1, 1
special SpawnCameraObject
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 35
- special sub_813B80C
- applymovement 1, NavelRock_Top_Movement_269243
- applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269230
+ setvar VAR_0x8004, 3 @ num loops
+ setvar VAR_0x8005, 35 @ delay
+ special LoopWingFlapSE
+ applymovement 1, NavelRock_Top_Movement_HoOhAppear
+ applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_CameraPanUp
waitmovement 0
delay 50
setweather WEATHER_NONE
@@ -49,16 +49,16 @@ NavelRock_Top_EventScript_26916F:: @ 826916F
delay 30
waitmoncry
delay 60
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 35
- special sub_813B80C
- applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269234
- applymovement 1, NavelRock_Top_Movement_26923A
+ setvar VAR_0x8004, 3 @ num loops
+ setvar VAR_0x8005, 35 @ delay
+ special LoopWingFlapSE
+ applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_CameraPanDown
+ applymovement 1, NavelRock_Top_Movement_HoOhApproach
waitmovement 0
special RemoveCameraObject
- setvar VAR_0x8004, 250
- setvar VAR_0x8005, 70
- setvar VAR_0x8006, 0
+ setvar VAR_0x8004, SPECIES_HO_OH
+ setvar VAR_0x8005, 70 @ level
+ setvar VAR_0x8006, ITEM_NONE
special CreateObedientEnemyMon
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
@@ -66,34 +66,34 @@ NavelRock_Top_EventScript_26916F:: @ 826916F
clearflag FLAG_SYS_CTRL_OBJ_DELETE
setvar VAR_LAST_TALKED, 1
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq NavelRock_Top_EventScript_269217
- compare VAR_RESULT, 4
- goto_if_eq NavelRock_Top_EventScript_269225
- compare VAR_RESULT, 5
- goto_if_eq NavelRock_Top_EventScript_269225
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq NavelRock_Top_EventScript_DefeatedHoOh
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq NavelRock_Top_EventScript_RanFromHoOh
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq NavelRock_Top_EventScript_RanFromHoOh
setflag FLAG_CAUGHT_HO_OH
releaseall
end
-NavelRock_Top_EventScript_269217:: @ 8269217
+NavelRock_Top_EventScript_DefeatedHoOh:: @ 8269217
setflag FLAG_DEFEATED_HO_OH
- setvar VAR_0x8004, 250
- goto NavelRock_Top_EventScript_273776
+ setvar VAR_0x8004, SPECIES_HO_OH
+ goto Common_EventScript_LegendaryFlewAway
end
-NavelRock_Top_EventScript_269225:: @ 8269225
- setvar VAR_0x8004, 250
- goto NavelRock_Top_EventScript_273776
+NavelRock_Top_EventScript_RanFromHoOh:: @ 8269225
+ setvar VAR_0x8004, SPECIES_HO_OH
+ goto Common_EventScript_LegendaryFlewAway
end
-NavelRock_Top_Movement_269230: @ 8269230
+NavelRock_Top_Movement_CameraPanUp: @ 8269230
walk_up
walk_up
walk_up
step_end
-NavelRock_Top_Movement_269234: @ 8269234
+NavelRock_Top_Movement_CameraPanDown: @ 8269234
delay_16
delay_16
walk_down
@@ -101,7 +101,7 @@ NavelRock_Top_Movement_269234: @ 8269234
walk_down
step_end
-NavelRock_Top_Movement_26923A: @ 826923A
+NavelRock_Top_Movement_HoOhApproach: @ 826923A
walk_down
walk_down
walk_down
@@ -112,7 +112,7 @@ NavelRock_Top_Movement_26923A: @ 826923A
delay_16
step_end
-NavelRock_Top_Movement_269243: @ 8269243
+NavelRock_Top_Movement_HoOhAppear: @ 8269243
delay_16
delay_16
walk_in_place_down
diff --git a/data/maps/NewMauville_Entrance/map.json b/data/maps/NewMauville_Entrance/map.json
index d36763350..593e23a62 100644
--- a/data/maps/NewMauville_Entrance/map.json
+++ b/data/maps/NewMauville_Entrance/map.json
@@ -38,7 +38,7 @@
"elevation": 3,
"var": "VAR_NEW_MAUVILLE_STATE",
"var_value": "0",
- "script": "NewMauville_Entrance_EventScript_2372FF"
+ "script": "NewMauville_Entrance_EventScript_Door"
}
],
"bg_events": []
diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc
index 1fadc7b7d..e9369b7ea 100644
--- a/data/maps/NewMauville_Entrance/scripts.inc
+++ b/data/maps/NewMauville_Entrance/scripts.inc
@@ -1,14 +1,14 @@
NewMauville_Entrance_MapScripts:: @ 82372AD
- map_script MAP_SCRIPT_ON_LOAD, NewMauville_Entrance_MapScript1_2372B8
+ map_script MAP_SCRIPT_ON_LOAD, NewMauville_Entrance_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Entrance_OnTransition
.byte 0
-NewMauville_Entrance_MapScript1_2372B8: @ 82372B8
+NewMauville_Entrance_OnLoad: @ 82372B8
compare VAR_NEW_MAUVILLE_STATE, 0
- call_if_eq NewMauville_Entrance_EventScript_2372C4
+ call_if_eq NewMauville_Entrance_EventScript_CloseDoor
end
-NewMauville_Entrance_EventScript_2372C4:: @ 82372C4
+NewMauville_Entrance_EventScript_CloseDoor:: @ 82372C4
setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile0, 1
setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile1, 1
setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile2, 1
@@ -21,18 +21,18 @@ NewMauville_Entrance_OnTransition: @ 82372FB
setflag FLAG_LANDMARK_NEW_MAUVILLE
end
-NewMauville_Entrance_EventScript_2372FF:: @ 82372FF
+NewMauville_Entrance_EventScript_Door:: @ 82372FF
lockall
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox NewMauville_Entrance_Text_237382, MSGBOX_DEFAULT
+ msgbox NewMauville_Entrance_Text_DoorIsLocked, MSGBOX_DEFAULT
checkitem ITEM_BASEMENT_KEY, 1
- compare VAR_RESULT, 0
- goto_if_eq NewMauville_Entrance_EventScript_237380
- msgbox NewMauville_Entrance_Text_237396, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq NewMauville_Entrance_EventScript_237380
- msgbox NewMauville_Entrance_Text_2373AC, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq NewMauville_Entrance_EventScript_DontOpenDoor
+ msgbox NewMauville_Entrance_Text_UseBasementKey, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq NewMauville_Entrance_EventScript_DontOpenDoor
+ msgbox NewMauville_Entrance_Text_UsedBasementKey, MSGBOX_DEFAULT
setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile0, 0
setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile1, 0
setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile2, 0
@@ -45,17 +45,17 @@ NewMauville_Entrance_EventScript_2372FF:: @ 82372FF
releaseall
end
-NewMauville_Entrance_EventScript_237380:: @ 8237380
+NewMauville_Entrance_EventScript_DontOpenDoor:: @ 8237380
releaseall
end
-NewMauville_Entrance_Text_237382: @ 8237382
+NewMauville_Entrance_Text_DoorIsLocked: @ 8237382
.string "The door is locked.$"
-NewMauville_Entrance_Text_237396: @ 8237396
+NewMauville_Entrance_Text_UseBasementKey: @ 8237396
.string "Use the BASEMENT KEY?$"
-NewMauville_Entrance_Text_2373AC: @ 82373AC
+NewMauville_Entrance_Text_UsedBasementKey: @ 82373AC
.string "{PLAYER} used the BASEMENT KEY.\p"
.string "The door opened!$"
diff --git a/data/maps/NewMauville_Inside/map.json b/data/maps/NewMauville_Inside/map.json
index e58588a47..8909fcbaa 100644
--- a/data/maps/NewMauville_Inside/map.json
+++ b/data/maps/NewMauville_Inside/map.json
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_2377AF",
+ "script": "NewMauville_Inside_EventScript_Voltorb1",
"flag": "FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_2377FC",
+ "script": "NewMauville_Inside_EventScript_Voltorb2",
"flag": "FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "NewMauville_Inside_EventScript_237849",
+ "script": "NewMauville_Inside_EventScript_Voltorb3",
"flag": "FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3"
}
],
@@ -136,7 +136,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237459"
+ "script": "NewMauville_Inside_EventScript_BlueButton"
},
{
"type": "trigger",
@@ -145,7 +145,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237471"
+ "script": "NewMauville_Inside_EventScript_GreenButton"
},
{
"type": "trigger",
@@ -154,7 +154,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237459"
+ "script": "NewMauville_Inside_EventScript_BlueButton"
},
{
"type": "trigger",
@@ -163,7 +163,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237459"
+ "script": "NewMauville_Inside_EventScript_BlueButton"
},
{
"type": "trigger",
@@ -172,7 +172,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237471"
+ "script": "NewMauville_Inside_EventScript_GreenButton"
},
{
"type": "trigger",
@@ -181,7 +181,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237471"
+ "script": "NewMauville_Inside_EventScript_GreenButton"
},
{
"type": "trigger",
@@ -190,7 +190,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237459"
+ "script": "NewMauville_Inside_EventScript_BlueButton"
},
{
"type": "trigger",
@@ -199,7 +199,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237459"
+ "script": "NewMauville_Inside_EventScript_BlueButton"
},
{
"type": "trigger",
@@ -208,7 +208,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "NewMauville_Inside_EventScript_237471"
+ "script": "NewMauville_Inside_EventScript_GreenButton"
},
{
"type": "trigger",
@@ -217,7 +217,7 @@
"elevation": 3,
"var": "VAR_NEW_MAUVILLE_STATE",
"var_value": "1",
- "script": "NewMauville_Inside_EventScript_237725"
+ "script": "NewMauville_Inside_EventScript_RedButton"
}
],
"bg_events": [
@@ -227,7 +227,7 @@
"y": 4,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
},
{
"type": "sign",
@@ -235,7 +235,7 @@
"y": 3,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
},
{
"type": "sign",
@@ -243,7 +243,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
},
{
"type": "sign",
@@ -251,7 +251,7 @@
"y": 4,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
},
{
"type": "sign",
@@ -259,7 +259,7 @@
"y": 4,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
},
{
"type": "sign",
@@ -267,7 +267,7 @@
"y": 4,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
},
{
"type": "sign",
@@ -275,7 +275,7 @@
"y": 3,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
},
{
"type": "sign",
@@ -283,7 +283,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "NewMauville_Inside_EventScript_23778F"
+ "script": "NewMauville_Inside_EventScript_Generator"
}
]
} \ No newline at end of file
diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc
index 5d871f170..7675799eb 100644
--- a/data/maps/NewMauville_Inside/scripts.inc
+++ b/data/maps/NewMauville_Inside/scripts.inc
@@ -1,20 +1,20 @@
NewMauville_Inside_MapScripts:: @ 82373D7
- map_script MAP_SCRIPT_ON_RESUME, NewMauville_Inside_MapScript1_2373E7
+ map_script MAP_SCRIPT_ON_RESUME, NewMauville_Inside_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, NewMauville_Inside_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, NewMauville_Inside_MapScript1_23744D
+ map_script MAP_SCRIPT_ON_LOAD, NewMauville_Inside_OnLoad
.byte 0
-NewMauville_Inside_MapScript1_2373E7: @ 82373E7
+NewMauville_Inside_OnResume: @ 82373E7
compare VAR_TEMP_1, 1
- call_if_eq NewMauville_Inside_EventScript_237489
+ call_if_eq NewMauville_Inside_EventScript_SetBarrierStateBlueButton
compare VAR_TEMP_2, 1
- call_if_eq NewMauville_Inside_EventScript_2375D7
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_237407
+ call_if_eq NewMauville_Inside_EventScript_SetBarrierStateGreenButton
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_TryRemoveVoltorb
end
-NewMauville_Inside_EventScript_237407:: @ 8237407
+NewMauville_Inside_EventScript_TryRemoveVoltorb:: @ 8237407
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -22,49 +22,49 @@ NewMauville_Inside_EventScript_237407:: @ 8237407
NewMauville_Inside_OnTransition: @ 823741B
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
- call_if_unset FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE, NewMauville_Inside_EventScript_237441
- call_if_unset FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE, NewMauville_Inside_EventScript_237445
- call_if_unset FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE, NewMauville_Inside_EventScript_237449
+ call_if_unset FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE, NewMauville_Inside_EventScript_ShowVoltorb1
+ call_if_unset FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE, NewMauville_Inside_EventScript_ShowVoltorb2
+ call_if_unset FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE, NewMauville_Inside_EventScript_ShowVoltorb3
end
-NewMauville_Inside_EventScript_237441:: @ 8237441
+NewMauville_Inside_EventScript_ShowVoltorb1:: @ 8237441
clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1
return
-NewMauville_Inside_EventScript_237445:: @ 8237445
+NewMauville_Inside_EventScript_ShowVoltorb2:: @ 8237445
clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2
return
-NewMauville_Inside_EventScript_237449:: @ 8237449
+NewMauville_Inside_EventScript_ShowVoltorb3:: @ 8237449
clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3
return
-NewMauville_Inside_MapScript1_23744D: @ 823744D
+NewMauville_Inside_OnLoad: @ 823744D
compare VAR_NEW_MAUVILLE_STATE, 2
- call_if_eq NewMauville_Inside_EventScript_23773A
+ call_if_eq NewMauville_Inside_EventScript_SetGeneratorOffMetatiles
end
-NewMauville_Inside_EventScript_237459:: @ 8237459
+NewMauville_Inside_EventScript_BlueButton:: @ 8237459
lockall
setvar VAR_TEMP_1, 1
setvar VAR_TEMP_2, 0
playse SE_PIN
- call NewMauville_Inside_EventScript_237489
+ call NewMauville_Inside_EventScript_SetBarrierStateBlueButton
special DrawWholeMapView
releaseall
end
-NewMauville_Inside_EventScript_237471:: @ 8237471
+NewMauville_Inside_EventScript_GreenButton:: @ 8237471
lockall
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 1
playse SE_PIN
- call NewMauville_Inside_EventScript_2375D7
+ call NewMauville_Inside_EventScript_SetBarrierStateGreenButton
special DrawWholeMapView
releaseall
end
-NewMauville_Inside_EventScript_237489:: @ 8237489
+NewMauville_Inside_EventScript_SetBarrierStateBlueButton:: @ 8237489
setmetatile 23, 34, METATILE_BikeShop_Barrier_Hidden_Top, 1
setmetatile 23, 35, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
setmetatile 23, 36, METATILE_BikeShop_Floor_Shadow_Top, 0
@@ -104,7 +104,7 @@ NewMauville_Inside_EventScript_237489:: @ 8237489
setmetatile 18, 36, METATILE_BikeShop_Button_Green, 0
return
-NewMauville_Inside_EventScript_2375D7:: @ 82375D7
+NewMauville_Inside_EventScript_SetBarrierStateGreenButton:: @ 82375D7
setmetatile 23, 34, METATILE_BikeShop_Barrier_Blue_Top, 1
setmetatile 23, 35, METATILE_BikeShop_Barrier_Blue_TopMid, 1
setmetatile 23, 36, METATILE_BikeShop_Barrier_Blue_BottomMid, 1
@@ -144,15 +144,15 @@ NewMauville_Inside_EventScript_2375D7:: @ 82375D7
setmetatile 30, 38, METATILE_BikeShop_Button_Blue, 0
return
-NewMauville_Inside_EventScript_237725:: @ 8237725
+NewMauville_Inside_EventScript_RedButton:: @ 8237725
lockall
- msgbox NewMauville_Inside_Text_237932, MSGBOX_DEFAULT
- call NewMauville_Inside_EventScript_23773A
+ msgbox NewMauville_Inside_Text_SteppedOnSwitchGeneratorStopped, MSGBOX_DEFAULT
+ call NewMauville_Inside_EventScript_SetGeneratorOffMetatiles
setvar VAR_NEW_MAUVILLE_STATE, 2
releaseall
end
-NewMauville_Inside_EventScript_23773A:: @ 823773A
+NewMauville_Inside_EventScript_SetGeneratorOffMetatiles:: @ 823773A
setmetatile 33, 6, METATILE_BikeShop_Button_Pressed, 0
setmetatile 32, 2, METATILE_BikeShop_Generator_Off_Tile0, 1
setmetatile 33, 2, METATILE_BikeShop_Generator_Off_Tile1, 1
@@ -165,20 +165,20 @@ NewMauville_Inside_EventScript_23773A:: @ 823773A
special DrawWholeMapView
return
-NewMauville_Inside_EventScript_23778F:: @ 823778F
+NewMauville_Inside_EventScript_Generator:: @ 823778F
lockall
compare VAR_NEW_MAUVILLE_STATE, 2
- goto_if_eq NewMauville_Inside_EventScript_2377A5
- msgbox NewMauville_Inside_Text_237896, MSGBOX_DEFAULT
+ goto_if_eq NewMauville_Inside_EventScript_GeneratorOff
+ msgbox NewMauville_Inside_Text_GeneratorRadiatingHeat, MSGBOX_DEFAULT
releaseall
end
-NewMauville_Inside_EventScript_2377A5:: @ 82377A5
- msgbox NewMauville_Inside_Text_237916, MSGBOX_DEFAULT
+NewMauville_Inside_EventScript_GeneratorOff:: @ 82377A5
+ msgbox NewMauville_Inside_Text_GeneratorQuietedDown, MSGBOX_DEFAULT
releaseall
end
-NewMauville_Inside_EventScript_2377AF:: @ 82377AF
+NewMauville_Inside_EventScript_Voltorb1:: @ 82377AF
lock
faceplayer
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
@@ -190,22 +190,22 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq NewMauville_Inside_EventScript_2377F3
- compare VAR_RESULT, 4
- goto_if_eq NewMauville_Inside_EventScript_2377F3
- compare VAR_RESULT, 5
- goto_if_eq NewMauville_Inside_EventScript_2377F3
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1
setflag FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE
release
end
-NewMauville_Inside_EventScript_2377F3:: @ 82377F3
+NewMauville_Inside_EventScript_DefeatedVoltorb1:: @ 82377F3
setflag FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE
- goto NewMauville_Inside_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-NewMauville_Inside_EventScript_2377FC:: @ 82377FC
+NewMauville_Inside_EventScript_Voltorb2:: @ 82377FC
lock
faceplayer
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
@@ -217,22 +217,22 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq NewMauville_Inside_EventScript_237840
- compare VAR_RESULT, 4
- goto_if_eq NewMauville_Inside_EventScript_237840
- compare VAR_RESULT, 5
- goto_if_eq NewMauville_Inside_EventScript_237840
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2
setflag FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE
release
end
-NewMauville_Inside_EventScript_237840:: @ 8237840
+NewMauville_Inside_EventScript_DefeatedVoltorb2:: @ 8237840
setflag FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE
- goto NewMauville_Inside_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-NewMauville_Inside_EventScript_237849:: @ 8237849
+NewMauville_Inside_EventScript_Voltorb3:: @ 8237849
lock
faceplayer
setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
@@ -244,31 +244,31 @@ NewMauville_Inside_EventScript_237849:: @ 8237849
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq NewMauville_Inside_EventScript_23788D
- compare VAR_RESULT, 4
- goto_if_eq NewMauville_Inside_EventScript_23788D
- compare VAR_RESULT, 5
- goto_if_eq NewMauville_Inside_EventScript_23788D
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3
setflag FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE
release
end
-NewMauville_Inside_EventScript_23788D:: @ 823788D
+NewMauville_Inside_EventScript_DefeatedVoltorb3:: @ 823788D
setflag FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE
- goto NewMauville_Inside_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-NewMauville_Inside_Text_237896: @ 8237896
+NewMauville_Inside_Text_GeneratorRadiatingHeat: @ 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
+NewMauville_Inside_Text_GeneratorQuietedDown: @ 8237916
.string "The generator quieted down.$"
-NewMauville_Inside_Text_237932: @ 8237932
+NewMauville_Inside_Text_SteppedOnSwitchGeneratorStopped: @ 8237932
.string "{PLAYER} stepped on the switch.\p"
.string "Click…\p"
.string "… … … … … … … …\n"
diff --git a/data/maps/OldaleTown/map.json b/data/maps/OldaleTown/map.json
index 5f91e81ed..1644c76d6 100644
--- a/data/maps/OldaleTown/map.json
+++ b/data/maps/OldaleTown/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_EventScript_1E8EF3",
+ "script": "OldaleTown_EventScript_Girl",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_EventScript_1E8EFC",
+ "script": "OldaleTown_EventScript_MartEmployee",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_EventScript_1E901F",
+ "script": "OldaleTown_EventScript_FootprintsMan",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_EventScript_1E9070",
+ "script": "OldaleTown_EventScript_Rival",
"flag": "FLAG_HIDE_OLDALE_TOWN_RIVAL"
}
],
@@ -121,7 +121,7 @@
"elevation": 3,
"var": "VAR_OLDALE_TOWN_STATE",
"var_value": "0",
- "script": "OldaleTown_EventScript_1E903F"
+ "script": "OldaleTown_EventScript_BlockedPath"
},
{
"type": "trigger",
@@ -130,7 +130,7 @@
"elevation": 3,
"var": "VAR_OLDALE_RIVAL_STATE",
"var_value": "1",
- "script": "OldaleTown_EventScript_1E9086"
+ "script": "OldaleTown_EventScript_RivalTrigger1"
},
{
"type": "trigger",
@@ -139,7 +139,7 @@
"elevation": 3,
"var": "VAR_OLDALE_RIVAL_STATE",
"var_value": "1",
- "script": "OldaleTown_EventScript_1E90A6"
+ "script": "OldaleTown_EventScript_RivalTrigger2"
},
{
"type": "trigger",
@@ -148,7 +148,7 @@
"elevation": 3,
"var": "VAR_OLDALE_RIVAL_STATE",
"var_value": "1",
- "script": "OldaleTown_EventScript_1E90C6"
+ "script": "OldaleTown_EventScript_RivalTrigger3"
}
],
"bg_events": [
@@ -158,7 +158,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "OldaleTown_EventScript_1E8EEA"
+ "script": "OldaleTown_EventScript_CitySign"
},
{
"type": "sign",
diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc
index 71b930b83..754e322a0 100644
--- a/data/maps/OldaleTown/scripts.inc
+++ b/data/maps/OldaleTown/scripts.inc
@@ -3,94 +3,95 @@ OldaleTown_MapScripts:: @ 81E8EA2
.byte 0
OldaleTown_OnTransition: @ 81E8EA8
- call Common_EventScript_SetupRivalGender
+ call Common_EventScript_SetupRivalGfxId
setflag FLAG_VISITED_OLDALE_TOWN
- call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E8ED2
- call_if_unset FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_1E8EDE
- call_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E8ECC
+ call_if_unset FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_BlockWestEntrance
+ call_if_unset FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_MoveMartEmployee
+ call_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_SetOldaleState
end
-OldaleTown_EventScript_1E8ECC:: @ 81E8ECC
+@ This script seems pointless because nothing uses VAR_OLDALE_TOWN_STATE
+OldaleTown_EventScript_SetOldaleState:: @ 81E8ECC
setvar VAR_OLDALE_TOWN_STATE, 1
return
-OldaleTown_EventScript_1E8ED2:: @ 81E8ED2
+OldaleTown_EventScript_BlockWestEntrance:: @ 81E8ED2
setobjectxyperm 3, 1, 11
setobjectmovementtype 3, MOVEMENT_TYPE_FACE_LEFT
return
-OldaleTown_EventScript_1E8EDE:: @ 81E8EDE
+OldaleTown_EventScript_MoveMartEmployee:: @ 81E8EDE
setobjectxyperm 2, 13, 14
setobjectmovementtype 2, MOVEMENT_TYPE_FACE_DOWN
return
-OldaleTown_EventScript_1E8EEA:: @ 81E8EEA
- msgbox OldaleTown_Text_1E94DA, MSGBOX_SIGN
+OldaleTown_EventScript_CitySign:: @ 81E8EEA
+ msgbox OldaleTown_Text_CitySign, MSGBOX_SIGN
end
-OldaleTown_EventScript_1E8EF3:: @ 81E8EF3
- msgbox OldaleTown_Text_1E918E, MSGBOX_NPC
+OldaleTown_EventScript_Girl:: @ 81E8EF3
+ msgbox OldaleTown_Text_SavingMyProgress, MSGBOX_NPC
end
-OldaleTown_EventScript_1E8EFC:: @ 81E8EFC
+OldaleTown_EventScript_MartEmployee:: @ 81E8EFC
lock
faceplayer
- goto_if_set FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_1E8FB9
- goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_1E8FB9
+ goto_if_set FLAG_RECEIVED_POTION_OLDALE, OldaleTown_EventScript_ExplainPotion
+ goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_ExplainPotion
setflag FLAG_TEMP_1
playbgm MUS_TSURETEK, 0
- msgbox OldaleTown_Text_1E91C0, MSGBOX_DEFAULT
+ msgbox OldaleTown_Text_IWorkAtPokemonMart, MSGBOX_DEFAULT
closemessage
switch VAR_FACING
- case 1, OldaleTown_EventScript_1E8F47
- case 2, OldaleTown_EventScript_1E8F5E
- case 4, OldaleTown_EventScript_1E8F75
+ case DIR_SOUTH, OldaleTown_EventScript_GoToMartSouth
+ case DIR_NORTH, OldaleTown_EventScript_GoToMartNorth
+ case DIR_EAST, OldaleTown_EventScript_GoToMartEast
end
-OldaleTown_EventScript_1E8F47:: @ 81E8F47
- applymovement 2, OldaleTown_Movement_1E8FD7
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9001
+OldaleTown_EventScript_GoToMartSouth:: @ 81E8F47
+ applymovement 2, OldaleTown_Movement_EmployeeSouth
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerSouth
waitmovement 0
- goto OldaleTown_EventScript_1E8F8C
+ goto OldaleTown_EventScript_ExplainPokemonMart
end
-OldaleTown_EventScript_1E8F5E:: @ 81E8F5E
- applymovement 2, OldaleTown_Movement_1E8FE2
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E900B
+OldaleTown_EventScript_GoToMartNorth:: @ 81E8F5E
+ applymovement 2, OldaleTown_Movement_EmployeeNorth
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerNorth
waitmovement 0
- goto OldaleTown_EventScript_1E8F8C
+ goto OldaleTown_EventScript_ExplainPokemonMart
end
-OldaleTown_EventScript_1E8F75:: @ 81E8F75
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E8FF9
- applymovement 2, OldaleTown_Movement_1E8FCE
+OldaleTown_EventScript_GoToMartEast:: @ 81E8F75
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerEast
+ applymovement 2, OldaleTown_Movement_EmployeeEast
waitmovement 0
- goto OldaleTown_EventScript_1E8F8C
+ goto OldaleTown_EventScript_ExplainPokemonMart
end
-OldaleTown_EventScript_1E8F8C:: @ 81E8F8C
- msgbox OldaleTown_Text_1E91FD, MSGBOX_DEFAULT
- giveitem_std ITEM_POTION
+OldaleTown_EventScript_ExplainPokemonMart:: @ 81E8F8C
+ msgbox OldaleTown_Text_ThisIsAPokemonMart, MSGBOX_DEFAULT
+ giveitem ITEM_POTION
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_EventScript_1E8FC3
- msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT
+ goto_if_eq OldaleTown_EventScript_BagIsFull
+ msgbox OldaleTown_Text_PotionExplanation, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_POTION_OLDALE
fadedefaultbgm
release
end
-OldaleTown_EventScript_1E8FB9:: @ 81E8FB9
- msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT
+OldaleTown_EventScript_ExplainPotion:: @ 81E8FB9
+ msgbox OldaleTown_Text_PotionExplanation, MSGBOX_DEFAULT
release
end
-OldaleTown_EventScript_1E8FC3:: @ 81E8FC3
+OldaleTown_EventScript_BagIsFull:: @ 81E8FC3
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
fadedefaultbgm
release
end
-OldaleTown_Movement_1E8FCE: @ 81E8FCE
+OldaleTown_Movement_EmployeeEast: @ 81E8FCE
walk_up
walk_up
walk_up
@@ -101,7 +102,7 @@ OldaleTown_Movement_1E8FCE: @ 81E8FCE
walk_in_place_fastest_down
step_end
-OldaleTown_Movement_1E8FD7: @ 81E8FD7
+OldaleTown_Movement_EmployeeSouth: @ 81E8FD7
walk_left
walk_up
walk_up
@@ -114,7 +115,7 @@ OldaleTown_Movement_1E8FD7: @ 81E8FD7
walk_in_place_fastest_down
step_end
-OldaleTown_Movement_1E8FE2: @ 81E8FE2
+OldaleTown_Movement_EmployeeNorth: @ 81E8FE2
walk_up
walk_up
walk_up
@@ -125,7 +126,7 @@ OldaleTown_Movement_1E8FE2: @ 81E8FE2
walk_in_place_fastest_down
step_end
-OldaleTown_Movement_1E8FEB: @ 81E8FEB
+OldaleTown_Movement_Unknown1: @ 81E8FEB
walk_up
walk_up
walk_right
@@ -141,7 +142,7 @@ OldaleTown_Movement_1E8FEB: @ 81E8FEB
walk_in_place_fastest_down
step_end
-OldaleTown_Movement_1E8FF9: @ 81E8FF9
+OldaleTown_Movement_PlayerEast: @ 81E8FF9
walk_right
walk_up
walk_up
@@ -151,7 +152,7 @@ OldaleTown_Movement_1E8FF9: @ 81E8FF9
walk_up
step_end
-OldaleTown_Movement_1E9001: @ 81E9001
+OldaleTown_Movement_PlayerSouth: @ 81E9001
delay_16
delay_16
delay_16
@@ -163,7 +164,7 @@ OldaleTown_Movement_1E9001: @ 81E9001
walk_up
step_end
-OldaleTown_Movement_1E900B: @ 81E900B
+OldaleTown_Movement_PlayerNorth: @ 81E900B
walk_up
walk_up
walk_up
@@ -173,7 +174,7 @@ OldaleTown_Movement_1E900B: @ 81E900B
walk_up
step_end
-OldaleTown_Movement_1E9013: @ 81E9013
+OldaleTown_Movement_Unknown2: @ 81E9013
walk_left
walk_up
walk_up
@@ -187,97 +188,97 @@ OldaleTown_Movement_1E9013: @ 81E9013
walk_up
step_end
-OldaleTown_EventScript_1E901F:: @ 81E901F
+OldaleTown_EventScript_FootprintsMan:: @ 81E901F
lock
faceplayer
- goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_1E9066
- msgbox OldaleTown_Text_1E939A, MSGBOX_DEFAULT
+ goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_EventScript_NotBlockingPath
+ msgbox OldaleTown_Text_DiscoveredFootprints, MSGBOX_DEFAULT
closemessage
applymovement 3, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-OldaleTown_EventScript_1E903F:: @ 81E903F
+OldaleTown_EventScript_BlockedPath:: @ 81E903F
lockall
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9182
- applymovement 3, OldaleTown_Movement_1E9185
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_PlayerStepBack
+ applymovement 3, OldaleTown_Movement_BackUp
waitmovement 0
- msgbox OldaleTown_Text_1E9313, MSGBOX_DEFAULT
+ msgbox OldaleTown_Text_WaitDontComeInHere, MSGBOX_DEFAULT
closemessage
- applymovement 3, OldaleTown_Movement_1E918B
+ applymovement 3, OldaleTown_Movement_ReturnToOriginalPosition
waitmovement 0
releaseall
end
-OldaleTown_EventScript_1E9066:: @ 81E9066
- msgbox OldaleTown_Text_1E93F8, MSGBOX_DEFAULT
+OldaleTown_EventScript_NotBlockingPath:: @ 81E9066
+ msgbox OldaleTown_Text_FinishedSketchingFootprints, MSGBOX_DEFAULT
release
end
-OldaleTown_EventScript_1E9070:: @ 81E9070
+OldaleTown_EventScript_Rival:: @ 81E9070
lockall
applymovement 4, Common_Movement_FacePlayer
waitmovement 0
setvar VAR_0x8009, 0
- goto OldaleTown_EventScript_1E90E6
+ goto OldaleTown_EventScript_ShowRivalMessage
end
-OldaleTown_EventScript_1E9086:: @ 81E9086
+OldaleTown_EventScript_RivalTrigger1:: @ 81E9086
lockall
- applymovement 4, OldaleTown_Movement_1E9170
+ applymovement 4, OldaleTown_Movement_RivalApproachPlayer1
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
setvar VAR_0x8009, 1
- goto OldaleTown_EventScript_1E90E6
+ goto OldaleTown_EventScript_ShowRivalMessage
end
-OldaleTown_EventScript_1E90A6:: @ 81E90A6
+OldaleTown_EventScript_RivalTrigger2:: @ 81E90A6
lockall
- applymovement 4, OldaleTown_Movement_1E9173
+ applymovement 4, OldaleTown_Movement_RivalApproachPlayer2
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
setvar VAR_0x8009, 1
- goto OldaleTown_EventScript_1E90E6
+ goto OldaleTown_EventScript_ShowRivalMessage
end
-OldaleTown_EventScript_1E90C6:: @ 81E90C6
+OldaleTown_EventScript_RivalTrigger3:: @ 81E90C6
lockall
- applymovement 4, OldaleTown_Movement_1E9175
+ applymovement 4, OldaleTown_Movement_RivalApproachPlayer3
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
setvar VAR_0x8009, 1
- goto OldaleTown_EventScript_1E90E6
+ goto OldaleTown_EventScript_ShowRivalMessage
end
-OldaleTown_EventScript_1E90E6:: @ 81E90E6
+OldaleTown_EventScript_ShowRivalMessage:: @ 81E90E6
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq OldaleTown_EventScript_1E90FE
+ goto_if_eq OldaleTown_EventScript_ShowMayMessage
compare VAR_RESULT, FEMALE
- goto_if_eq OldaleTown_EventScript_1E910C
+ goto_if_eq OldaleTown_EventScript_ShowBrendanMessage
end
-OldaleTown_EventScript_1E90FE:: @ 81E90FE
- msgbox OldaleTown_Text_1E9462, MSGBOX_DEFAULT
- goto OldaleTown_EventScript_1E911A
+OldaleTown_EventScript_ShowMayMessage:: @ 81E90FE
+ msgbox OldaleTown_Text_MayLetsGoBack, MSGBOX_DEFAULT
+ goto OldaleTown_EventScript_RivalFinish
end
-OldaleTown_EventScript_1E910C:: @ 81E910C
- msgbox OldaleTown_Text_1E948A, MSGBOX_DEFAULT
- goto OldaleTown_EventScript_1E911A
+OldaleTown_EventScript_ShowBrendanMessage:: @ 81E910C
+ msgbox OldaleTown_Text_BrendanLetsGoBack, MSGBOX_DEFAULT
+ goto OldaleTown_EventScript_RivalFinish
end
-OldaleTown_EventScript_1E911A:: @ 81E911A
+OldaleTown_EventScript_RivalFinish:: @ 81E911A
closemessage
compare VAR_0x8009, 0
- call_if_eq OldaleTown_EventScript_1E9148
+ call_if_eq OldaleTown_EventScript_DoExitMovement1
compare VAR_0x8009, 1
- call_if_eq OldaleTown_EventScript_1E915E
- applymovement 4, OldaleTown_Movement_1E9177
+ call_if_eq OldaleTown_EventScript_DoExitMovement2
+ applymovement 4, OldaleTown_Movement_RivalExit
waitmovement 0
removeobject 4
setvar VAR_OLDALE_RIVAL_STATE, 2
@@ -285,33 +286,33 @@ OldaleTown_EventScript_1E911A:: @ 81E911A
releaseall
end
-OldaleTown_EventScript_1E9148:: @ 81E9148
- compare VAR_FACING, 1
- goto_if_ne OldaleTown_EventScript_1E915E
- applymovement 4, OldaleTown_Movement_1E9177
+OldaleTown_EventScript_DoExitMovement1:: @ 81E9148
+ compare VAR_FACING, DIR_SOUTH
+ goto_if_ne OldaleTown_EventScript_DoExitMovement2
+ applymovement 4, OldaleTown_Movement_RivalExit
waitmovement 0
return
-OldaleTown_EventScript_1E915E:: @ 81E915E
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E917E
- applymovement 4, OldaleTown_Movement_1E9177
+OldaleTown_EventScript_DoExitMovement2:: @ 81E915E
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_WatchRivalExit
+ applymovement 4, OldaleTown_Movement_RivalExit
waitmovement 0
return
-OldaleTown_Movement_1E9170: @ 81E9170
+OldaleTown_Movement_RivalApproachPlayer1: @ 81E9170
walk_left
walk_left
step_end
-OldaleTown_Movement_1E9173: @ 81E9173
+OldaleTown_Movement_RivalApproachPlayer2: @ 81E9173
walk_left
step_end
-OldaleTown_Movement_1E9175: @ 81E9175
+OldaleTown_Movement_RivalApproachPlayer3: @ 81E9175
face_left
step_end
-OldaleTown_Movement_1E9177: @ 81E9177
+OldaleTown_Movement_RivalExit: @ 81E9177
walk_down
walk_down
walk_down
@@ -320,18 +321,18 @@ OldaleTown_Movement_1E9177: @ 81E9177
walk_down
step_end
-OldaleTown_Movement_1E917E: @ 81E917E
+OldaleTown_Movement_WatchRivalExit: @ 81E917E
delay_8
delay_4
walk_in_place_fastest_down
step_end
-OldaleTown_Movement_1E9182: @ 81E9182
+OldaleTown_Movement_PlayerStepBack: @ 81E9182
delay_8
walk_right
step_end
-OldaleTown_Movement_1E9185: @ 81E9185
+OldaleTown_Movement_BackUp: @ 81E9185
walk_fast_up
walk_in_place_fastest_left
lock_facing_direction
@@ -339,21 +340,21 @@ OldaleTown_Movement_1E9185: @ 81E9185
unlock_facing_direction
step_end
-OldaleTown_Movement_1E918B: @ 81E918B
+OldaleTown_Movement_ReturnToOriginalPosition: @ 81E918B
walk_down
walk_left
step_end
-OldaleTown_Text_1E918E: @ 81E918E
+OldaleTown_Text_SavingMyProgress: @ 81E918E
.string "I want to take a rest, so I'm saving my\n"
.string "progress.$"
-OldaleTown_Text_1E91C0: @ 81E91C0
+OldaleTown_Text_IWorkAtPokemonMart: @ 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
+OldaleTown_Text_ThisIsAPokemonMart: @ 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"
@@ -361,12 +362,12 @@ OldaleTown_Text_1E91FD: @ 81E91FD
.string "Here, I'd like you to have this as\n"
.string "a promotional item.$"
-OldaleTown_Text_1E92AF: @ 81E92AF
+OldaleTown_Text_PotionExplanation: @ 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
+OldaleTown_Text_WaitDontComeInHere: @ 81E9313
.string "Aaaaah! Wait!\n"
.string "Please don't come in here.\p"
.string "I just discovered the footprints of\n"
@@ -374,29 +375,29 @@ OldaleTown_Text_1E9313: @ 81E9313
.string "Wait until I finish sketching\n"
.string "them, okay?$"
-OldaleTown_Text_1E939A: @ 81E939A
+OldaleTown_Text_DiscoveredFootprints: @ 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
+OldaleTown_Text_FinishedSketchingFootprints: @ 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
+OldaleTown_Text_MayLetsGoBack: @ 81E9462
.string "MAY: {PLAYER}{KUN}!\n"
.string "Over here!\l"
.string "Let's hurry home!$"
-OldaleTown_Text_1E948A: @ 81E948A
+OldaleTown_Text_BrendanLetsGoBack: @ 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
+OldaleTown_Text_CitySign: @ 81E94DA
.string "OLDALE TOWN\n"
.string "“Where things start off scarce.”$"
diff --git a/data/maps/OldaleTown_House1/map.json b/data/maps/OldaleTown_House1/map.json
index aa837378c..03155a623 100644
--- a/data/maps/OldaleTown_House1/map.json
+++ b/data/maps/OldaleTown_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_House1_EventScript_1FBE86",
+ "script": "OldaleTown_House1_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/OldaleTown_House1/scripts.inc b/data/maps/OldaleTown_House1/scripts.inc
index 71010116e..1cb5622ef 100644
--- a/data/maps/OldaleTown_House1/scripts.inc
+++ b/data/maps/OldaleTown_House1/scripts.inc
@@ -1,11 +1,11 @@
OldaleTown_House1_MapScripts:: @ 81FBE85
.byte 0
-OldaleTown_House1_EventScript_1FBE86:: @ 81FBE86
- msgbox OldaleTown_House1_Text_1FBE8F, MSGBOX_NPC
+OldaleTown_House1_EventScript_Woman:: @ 81FBE86
+ msgbox OldaleTown_House1_Text_LeftPokemonGoesOutFirst, MSGBOX_NPC
end
-OldaleTown_House1_Text_1FBE8F: @ 81FBE8F
+OldaleTown_House1_Text_LeftPokemonGoesOutFirst: @ 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"
diff --git a/data/maps/OldaleTown_House2/map.json b/data/maps/OldaleTown_House2/map.json
index fbcf968e7..754f98c49 100644
--- a/data/maps/OldaleTown_House2/map.json
+++ b/data/maps/OldaleTown_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_House2_EventScript_1FBF5B",
+ "script": "OldaleTown_House2_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_House2_EventScript_1FBF64",
+ "script": "OldaleTown_House2_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/OldaleTown_House2/scripts.inc b/data/maps/OldaleTown_House2/scripts.inc
index 74a9a06d3..3259e319c 100644
--- a/data/maps/OldaleTown_House2/scripts.inc
+++ b/data/maps/OldaleTown_House2/scripts.inc
@@ -1,19 +1,19 @@
OldaleTown_House2_MapScripts:: @ 81FBF5A
.byte 0
-OldaleTown_House2_EventScript_1FBF5B:: @ 81FBF5B
- msgbox OldaleTown_House2_Text_1FBF6D, MSGBOX_NPC
+OldaleTown_House2_EventScript_Woman:: @ 81FBF5B
+ msgbox OldaleTown_House2_Text_PokemonLevelUp, MSGBOX_NPC
end
-OldaleTown_House2_EventScript_1FBF64:: @ 81FBF64
- msgbox OldaleTown_House2_Text_1FBFB0, MSGBOX_NPC
+OldaleTown_House2_EventScript_Man:: @ 81FBF64
+ msgbox OldaleTown_House2_Text_YoullGoFurtherWithStrongPokemon, MSGBOX_NPC
end
-OldaleTown_House2_Text_1FBF6D: @ 81FBF6D
+OldaleTown_House2_Text_PokemonLevelUp: @ 81FBF6D
.string "When POKéMON battle, they eventually\n"
.string "level up and become stronger.$"
-OldaleTown_House2_Text_1FBFB0: @ 81FBFB0
+OldaleTown_House2_Text_YoullGoFurtherWithStrongPokemon: @ 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/maps/OldaleTown_Mart/map.json b/data/maps/OldaleTown_Mart/map.json
index 9f1f894ce..a27fad497 100644
--- a/data/maps/OldaleTown_Mart/map.json
+++ b/data/maps/OldaleTown_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_Mart_EventScript_1FC240",
+ "script": "OldaleTown_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_Mart_EventScript_1FC28A",
+ "script": "OldaleTown_Mart_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_Mart_EventScript_1FC2A9",
+ "script": "OldaleTown_Mart_EventScript_Boy",
"flag": "0"
}
],
diff --git a/data/maps/OldaleTown_Mart/scripts.inc b/data/maps/OldaleTown_Mart/scripts.inc
index 980b0e4d6..33d26cbfb 100644
--- a/data/maps/OldaleTown_Mart/scripts.inc
+++ b/data/maps/OldaleTown_Mart/scripts.inc
@@ -1,18 +1,18 @@
OldaleTown_Mart_MapScripts:: @ 81FC23F
.byte 0
-OldaleTown_Mart_EventScript_1FC240:: @ 81FC240
+OldaleTown_Mart_EventScript_Clerk:: @ 81FC240
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_1FC26C
- pokemart OldaleTown_Mart_Pokemart_1FC260
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_ExpandedItems
+ pokemart OldaleTown_Mart_Pokemart_Basic
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
-OldaleTown_Mart_Pokemart_1FC260: @ 81FC260
+OldaleTown_Mart_Pokemart_Basic: @ 81FC260
.2byte ITEM_POTION
.2byte ITEM_ANTIDOTE
.2byte ITEM_PARALYZE_HEAL
@@ -21,14 +21,14 @@ OldaleTown_Mart_Pokemart_1FC260: @ 81FC260
release
end
-OldaleTown_Mart_EventScript_1FC26C:: @ 81FC26C
- pokemart OldaleTown_Mart_Pokemart_1FC27C
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+OldaleTown_Mart_ExpandedItems:: @ 81FC26C
+ pokemart OldaleTown_Mart_Pokemart_Expanded
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C
+OldaleTown_Mart_Pokemart_Expanded: @ 81FC27C
.2byte ITEM_POKE_BALL
.2byte ITEM_POTION
.2byte ITEM_ANTIDOTE
@@ -38,32 +38,32 @@ OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C
release
end
-OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A
+OldaleTown_Mart_EventScript_Woman:: @ 81FC28A
lock
faceplayer
- goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_1FC29F
- msgbox OldaleTown_Mart_Text_1FC2B2, MSGBOX_DEFAULT
+ goto_if_set FLAG_ADVENTURE_STARTED, OldaleTown_Mart_EventScript_PokeBallsInStock
+ msgbox OldaleTown_Mart_Text_PokeBallsAreSoldOut, MSGBOX_DEFAULT
release
end
-OldaleTown_Mart_EventScript_1FC29F:: @ 81FC29F
- msgbox OldaleTown_Mart_Text_1FC2F3, MSGBOX_DEFAULT
+OldaleTown_Mart_EventScript_PokeBallsInStock:: @ 81FC29F
+ msgbox OldaleTown_Mart_Text_ImGoingToBuyPokeBalls, MSGBOX_DEFAULT
release
end
-OldaleTown_Mart_EventScript_1FC2A9:: @ 81FC2A9
- msgbox OldaleTown_Mart_Text_1FC338, MSGBOX_NPC
+OldaleTown_Mart_EventScript_Boy:: @ 81FC2A9
+ msgbox OldaleTown_Mart_Text_RestoreHPWithPotion, MSGBOX_NPC
end
-OldaleTown_Mart_Text_1FC2B2: @ 81FC2B2
+OldaleTown_Mart_Text_PokeBallsAreSoldOut: @ 81FC2B2
.string "The clerk says they're all sold out.\n"
.string "I can't buy any POKé BALLS.$"
-OldaleTown_Mart_Text_1FC2F3: @ 81FC2F3
+OldaleTown_Mart_Text_ImGoingToBuyPokeBalls: @ 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
+OldaleTown_Mart_Text_RestoreHPWithPotion: @ 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"
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.json b/data/maps/OldaleTown_PokemonCenter_1F/map.json
index 7c9ed89a0..2f92a004c 100644
--- a/data/maps/OldaleTown_PokemonCenter_1F/map.json
+++ b/data/maps/OldaleTown_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC01A",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC028",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC031",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_Boy",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_1F_EventScript_1FC03A",
+ "script": "OldaleTown_PokemonCenter_1F_EventScript_Girl",
"flag": "0"
}
],
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
index 2396573dc..df405376a 100644
--- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
@@ -1,61 +1,62 @@
OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006
map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, OldaleTown_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
OldaleTown_PokemonCenter_1F_OnTransition: @ 81FC011
setrespawn HEAL_LOCATION_OLDALE_TOWN
- call OldaleTown_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-OldaleTown_PokemonCenter_1F_EventScript_1FC01A:: @ 81FC01A
+@ VAR_0x800B is the Nurse's object event id
+OldaleTown_PokemonCenter_1F_EventScript_Nurse:: @ 81FC01A
setvar VAR_0x800B, 1
- call OldaleTown_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-OldaleTown_PokemonCenter_1F_EventScript_1FC028:: @ 81FC028
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC059, MSGBOX_NPC
+OldaleTown_PokemonCenter_1F_EventScript_Gentleman:: @ 81FC028
+ msgbox OldaleTown_PokemonCenter_1F_Text_TrainersCanUsePC, MSGBOX_NPC
end
-OldaleTown_PokemonCenter_1F_EventScript_1FC031:: @ 81FC031
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC0CD, MSGBOX_NPC
+OldaleTown_PokemonCenter_1F_EventScript_Boy:: @ 81FC031
+ msgbox OldaleTown_PokemonCenter_1F_Text_PokemonCentersAreGreat, MSGBOX_NPC
end
-OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A
+OldaleTown_PokemonCenter_1F_EventScript_Girl:: @ 81FC03A
lock
faceplayer
- goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_1FC04F
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_WirelessClubAvailable
+ msgbox OldaleTown_PokemonCenter_1F_Text_WirelessClubNotAvailable, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_1F_EventScript_1FC04F:: @ 81FC04F
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC1B9, MSGBOX_DEFAULT
+OldaleTown_PokemonCenter_1F_EventScript_WirelessClubAvailable:: @ 81FC04F
+ msgbox OldaleTown_PokemonCenter_1F_Text_TradedInWirelessClub, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_1F_Text_1FC059: @ 81FC059
+OldaleTown_PokemonCenter_1F_Text_TrainersCanUsePC: @ 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
+OldaleTown_PokemonCenter_1F_Text_PokemonCentersAreGreat: @ 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
+OldaleTown_PokemonCenter_1F_Text_WirelessClubNotAvailable: @ 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
+OldaleTown_PokemonCenter_1F_Text_TradedInWirelessClub: @ 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/maps/OldaleTown_PokemonCenter_2F/map.json b/data/maps/OldaleTown_PokemonCenter_2F/map.json
index cddd0a5a3..c3e41775d 100644
--- a/data/maps/OldaleTown_PokemonCenter_2F/map.json
+++ b/data/maps/OldaleTown_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "OldaleTown_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc
index aead0bd65..125805f50 100644
--- a/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc
+++ b/data/maps/OldaleTown_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
OldaleTown_PokemonCenter_2F_MapScripts:: @ 81FC218
- map_script MAP_SCRIPT_ON_FRAME_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, OldaleTown_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, OldaleTown_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-OldaleTown_PokemonCenter_2F_EventScript_1FC22D:: @ 81FC22D
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+OldaleTown_PokemonCenter_2F_EventScript_Colosseum:: @ 81FC22D
+ call CableClub_EventScript_Colosseum
end
-OldaleTown_PokemonCenter_2F_EventScript_1FC233:: @ 81FC233
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+OldaleTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 81FC233
+ call CableClub_EventScript_TradeCenter
end
-OldaleTown_PokemonCenter_2F_EventScript_1FC239:: @ 81FC239
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+OldaleTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 81FC239
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/PacifidlogTown/map.json b/data/maps/PacifidlogTown/map.json
index 3070d9c07..ff64a5967 100644
--- a/data/maps/PacifidlogTown/map.json
+++ b/data/maps/PacifidlogTown/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_EventScript_1EBACC",
+ "script": "PacifidlogTown_EventScript_Girl",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_EventScript_1EBAD5",
+ "script": "PacifidlogTown_EventScript_Fisherman",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_EventScript_1EBAC3",
+ "script": "PacifidlogTown_EventScript_NinjaBoy",
"flag": "0"
}
],
@@ -125,7 +125,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PacifidlogTown_EventScript_1EBADE"
+ "script": "PacifidlogTown_EventScript_TownSign"
},
{
"type": "sign",
diff --git a/data/maps/PacifidlogTown/scripts.inc b/data/maps/PacifidlogTown/scripts.inc
index 1d1518c0a..fc491cfe3 100644
--- a/data/maps/PacifidlogTown/scripts.inc
+++ b/data/maps/PacifidlogTown/scripts.inc
@@ -1,44 +1,44 @@
PacifidlogTown_MapScripts:: @ 81EBAB1
map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_MapScript1_1EBAC0
+ map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_OnResume
.byte 0
PacifidlogTown_OnTransition: @ 81EBABC
setflag FLAG_VISITED_PACIFIDLOG_TOWN
end
-PacifidlogTown_MapScript1_1EBAC0: @ 81EBAC0
- setstepcallback 3
+PacifidlogTown_OnResume: @ 81EBAC0
+ setstepcallback STEP_CB_PACIFIDLOG_BRIDGE
end
-PacifidlogTown_EventScript_1EBAC3:: @ 81EBAC3
- msgbox PacifidlogTown_Text_1EBB6C, MSGBOX_NPC
+PacifidlogTown_EventScript_NinjaBoy:: @ 81EBAC3
+ msgbox PacifidlogTown_Text_NeatHousesOnWater, MSGBOX_NPC
end
-PacifidlogTown_EventScript_1EBACC:: @ 81EBACC
- msgbox PacifidlogTown_Text_1EBAE7, MSGBOX_NPC
+PacifidlogTown_EventScript_Girl:: @ 81EBACC
+ msgbox PacifidlogTown_Text_FastRunningCurrent, MSGBOX_NPC
end
-PacifidlogTown_EventScript_1EBAD5:: @ 81EBAD5
- msgbox PacifidlogTown_Text_1EBBAC, MSGBOX_NPC
+PacifidlogTown_EventScript_Fisherman:: @ 81EBAD5
+ msgbox PacifidlogTown_Text_SkyPillarTooScary, MSGBOX_NPC
end
-PacifidlogTown_EventScript_1EBADE:: @ 81EBADE
- msgbox PacifidlogTown_Text_1EBC7A, MSGBOX_SIGN
+PacifidlogTown_EventScript_TownSign:: @ 81EBADE
+ msgbox PacifidlogTown_Text_TownSign, MSGBOX_SIGN
end
-PacifidlogTown_Text_1EBAE7: @ 81EBAE7
+PacifidlogTown_Text_FastRunningCurrent: @ 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
+PacifidlogTown_Text_NeatHousesOnWater: @ 81EBB6C
.string "See, isn't it neat?\n"
.string "These houses are on water!\p"
.string "I was born here!$"
-PacifidlogTown_Text_1EBBAC: @ 81EBBAC
+PacifidlogTown_Text_SkyPillarTooScary: @ 81EBBAC
.string "The SKY PILLAR?\p"
.string "…Oh, you must mean that tall, tall\n"
.string "tower a little further out.\p"
@@ -47,7 +47,7 @@ PacifidlogTown_Text_1EBBAC: @ 81EBBAC
.string "Life at sea level in PACIFIDLOG,\n"
.string "that suits me fine.$"
-PacifidlogTown_Text_1EBC7A: @ 81EBC7A
+PacifidlogTown_Text_TownSign: @ 81EBC7A
.string "PACIFIDLOG TOWN\p"
.string "“Where the morning sun smiles upon\n"
.string "the waters.”$"
diff --git a/data/maps/PacifidlogTown_House1/map.json b/data/maps/PacifidlogTown_House1/map.json
index 1e48da85c..8f7357246 100644
--- a/data/maps/PacifidlogTown_House1/map.json
+++ b/data/maps/PacifidlogTown_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House1_EventScript_20365D",
+ "script": "PacifidlogTown_House1_EventScript_Man",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House1_EventScript_203666",
+ "script": "PacifidlogTown_House1_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/PacifidlogTown_House1/scripts.inc b/data/maps/PacifidlogTown_House1/scripts.inc
index 937b645bc..7759cb29a 100644
--- a/data/maps/PacifidlogTown_House1/scripts.inc
+++ b/data/maps/PacifidlogTown_House1/scripts.inc
@@ -1,15 +1,15 @@
PacifidlogTown_House1_MapScripts:: @ 820365C
.byte 0
-PacifidlogTown_House1_EventScript_20365D:: @ 820365D
- msgbox PacifidlogTown_House1_Text_20366F, MSGBOX_NPC
+PacifidlogTown_House1_EventScript_Man:: @ 820365D
+ msgbox PacifidlogTown_House1_Text_RegiStory, MSGBOX_NPC
end
-PacifidlogTown_House1_EventScript_203666:: @ 8203666
- msgbox PacifidlogTown_House1_Text_20373A, MSGBOX_NPC
+PacifidlogTown_House1_EventScript_Woman:: @ 8203666
+ msgbox PacifidlogTown_House1_Text_SixDotsOpenThreeDoors, MSGBOX_NPC
end
-PacifidlogTown_House1_Text_20366F: @ 820366F
+PacifidlogTown_House1_Text_RegiStory: @ 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"
@@ -18,7 +18,7 @@ PacifidlogTown_House1_Text_20366F: @ 820366F
.string "That's the story I heard when I was\n"
.string "just a little kid.$"
-PacifidlogTown_House1_Text_20373A: @ 820373A
+PacifidlogTown_House1_Text_SixDotsOpenThreeDoors: @ 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/maps/PacifidlogTown_House2/map.json b/data/maps/PacifidlogTown_House2/map.json
index d57720795..8c9cd91af 100644
--- a/data/maps/PacifidlogTown_House2/map.json
+++ b/data/maps/PacifidlogTown_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House2_EventScript_203792",
+ "script": "PacifidlogTown_House2_EventScript_FanClubYoungerBrother",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House2_EventScript_203891",
+ "script": "PacifidlogTown_House2_EventScript_HappyAzurill",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House2_EventScript_2038AC",
+ "script": "PacifidlogTown_House2_EventScript_UnhappyAzurill",
"flag": "0"
}
],
diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc
index 4f646ff43..2dcff9f29 100644
--- a/data/maps/PacifidlogTown_House2/scripts.inc
+++ b/data/maps/PacifidlogTown_House2/scripts.inc
@@ -1,101 +1,101 @@
PacifidlogTown_House2_MapScripts:: @ 8203791
.byte 0
-PacifidlogTown_House2_EventScript_203792:: @ 8203792
+PacifidlogTown_House2_EventScript_FanClubYoungerBrother:: @ 8203792
lock
faceplayer
dotimebasedevents
- call PacifidlogTown_House2_EventScript_2037DE
- goto_if_set FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_20387E
- call_if_set FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_2037F8
- call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_203801
+ call PacifidlogTown_House2_EventScript_UpdateFanClubTMFlag
+ goto_if_set FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, PacifidlogTown_House2_EventScript_ComeBackInXDays
+ call_if_set FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_MonAssessment
+ call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_FirstMonAssessment
setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER
specialvar VAR_RESULT, GetLeadMonFriendshipScore
compare VAR_RESULT, 4
- goto_if_ge PacifidlogTown_House2_EventScript_203816
+ goto_if_ge PacifidlogTown_House2_EventScript_GiveReturn
specialvar VAR_RESULT, GetLeadMonFriendshipScore
compare VAR_RESULT, 2
- goto_if_ge PacifidlogTown_House2_EventScript_203845
- goto PacifidlogTown_House2_EventScript_20384F
+ goto_if_ge PacifidlogTown_House2_EventScript_PutInEffort
+ goto PacifidlogTown_House2_EventScript_GiveFrustration
end
-PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE
+PacifidlogTown_House2_EventScript_UpdateFanClubTMFlag:: @ 82037DE
goto_if_unset FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, Common_EventScript_NopReturn
specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable
compare VAR_RESULT, 0
- call_if_eq PacifidlogTown_House2_EventScript_203812
+ call_if_eq PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM
return
-PacifidlogTown_House2_EventScript_2037F8:: @ 82037F8
- msgbox PacifidlogTown_House2_Text_20395B, MSGBOX_DEFAULT
+PacifidlogTown_House2_EventScript_MonAssessment:: @ 82037F8
+ msgbox PacifidlogTown_House2_Text_AhYourPokemon, MSGBOX_DEFAULT
return
-PacifidlogTown_House2_EventScript_203801:: @ 8203801
- msgbox PacifidlogTown_House2_Text_2038C7, MSGBOX_DEFAULT
- msgbox PacifidlogTown_House2_Text_20395B, MSGBOX_DEFAULT
+PacifidlogTown_House2_EventScript_FirstMonAssessment:: @ 8203801
+ msgbox PacifidlogTown_House2_Text_ChairmansYoungerBrotherOnVacation, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_AhYourPokemon, MSGBOX_DEFAULT
return
-PacifidlogTown_House2_EventScript_203812:: @ 8203812
+PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM:: @ 8203812
clearflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
return
-PacifidlogTown_House2_EventScript_203816:: @ 8203816
- msgbox PacifidlogTown_House2_Text_20396D, MSGBOX_DEFAULT
- giveitem_std ITEM_TM27
- compare VAR_RESULT, 0
+PacifidlogTown_House2_EventScript_GiveReturn:: @ 8203816
+ msgbox PacifidlogTown_House2_Text_AdoringPokemonTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM27
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
special SetPacifidlogTMReceivedDay
- msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_ExplainReturnFrustration, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House2_EventScript_203845:: @ 8203845
- msgbox PacifidlogTown_House2_Text_2039CE, MSGBOX_DEFAULT
+PacifidlogTown_House2_EventScript_PutInEffort:: @ 8203845
+ msgbox PacifidlogTown_House2_Text_PutInSomeMoreEffort, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House2_EventScript_20384F:: @ 820384F
- msgbox PacifidlogTown_House2_Text_203A2F, MSGBOX_DEFAULT
- giveitem_std ITEM_TM21
+PacifidlogTown_House2_EventScript_GiveFrustration:: @ 820384F
+ msgbox PacifidlogTown_House2_Text_ViciousPokemonTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM21
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
special SetPacifidlogTMReceivedDay
- msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_ExplainReturnFrustration, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House2_EventScript_20387E:: @ 820387E
+PacifidlogTown_House2_EventScript_ComeBackInXDays:: @ 820387E
specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable
buffernumberstring 0, VAR_RESULT
- msgbox PacifidlogTown_House2_Text_203AF4, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_GetGoodTMInXDays, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House2_EventScript_203891:: @ 8203891
+PacifidlogTown_House2_EventScript_HappyAzurill:: @ 8203891
lock
faceplayer
waitse
playmoncry SPECIES_AZURILL, 0
- msgbox PacifidlogTown_House2_Text_203B8D, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_Rurii, MSGBOX_DEFAULT
waitmoncry
- msgbox PacifidlogTown_House2_Text_203B9D, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_VeryFriendlyWithTrainer, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House2_EventScript_2038AC:: @ 82038AC
+PacifidlogTown_House2_EventScript_UnhappyAzurill:: @ 82038AC
lock
faceplayer
waitse
playmoncry SPECIES_AZURILL, 2
- msgbox PacifidlogTown_House2_Text_203BCE, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_Rururi, MSGBOX_DEFAULT
waitmoncry
- msgbox PacifidlogTown_House2_Text_203BDF, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_DoesntLikeTrainerVeryMuch, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House2_Text_2038C7: @ 82038C7
+PacifidlogTown_House2_Text_ChairmansYoungerBrotherOnVacation: @ 82038C7
.string "Er-hem!\p"
.string "I am the POKéMON FAN CLUB's most\n"
.string "important person, the CHAIRMAN's\l"
@@ -103,50 +103,50 @@ PacifidlogTown_House2_Text_2038C7: @ 82038C7
.string "I'm here enjoying my vacation with\n"
.string "POKéMON, yes, indeed.$"
-PacifidlogTown_House2_Text_20395B: @ 820395B
+PacifidlogTown_House2_Text_AhYourPokemon: @ 820395B
.string "Ah!\n"
.string "Your POKéMON…$"
-PacifidlogTown_House2_Text_20396D: @ 820396D
+PacifidlogTown_House2_Text_AdoringPokemonTakeThis: @ 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
+PacifidlogTown_House2_Text_PutInSomeMoreEffort: @ 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
+PacifidlogTown_House2_Text_ViciousPokemonTakeThis: @ 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
+PacifidlogTown_House2_Text_ExplainReturnFrustration: @ 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
+PacifidlogTown_House2_Text_GetGoodTMInXDays: @ 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
+PacifidlogTown_House2_Text_Rurii: @ 8203B8D
.string "AZURILL: Rurii.$"
-PacifidlogTown_House2_Text_203B9D: @ 8203B9D
+PacifidlogTown_House2_Text_VeryFriendlyWithTrainer: @ 8203B9D
.string "It appears to be very friendly with the\n"
.string "TRAINER.$"
-PacifidlogTown_House2_Text_203BCE: @ 8203BCE
+PacifidlogTown_House2_Text_Rururi: @ 8203BCE
.string "AZURILL: Rururi!$"
-PacifidlogTown_House2_Text_203BDF: @ 8203BDF
+PacifidlogTown_House2_Text_DoesntLikeTrainerVeryMuch: @ 8203BDF
.string "It doesn't appear to like the TRAINER\n"
.string "very much.$"
diff --git a/data/maps/PacifidlogTown_House3/map.json b/data/maps/PacifidlogTown_House3/map.json
index 181d69a80..11bd0761b 100644
--- a/data/maps/PacifidlogTown_House3/map.json
+++ b/data/maps/PacifidlogTown_House3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House3_EventScript_203CB5",
+ "script": "PacifidlogTown_House3_EventScript_Girl",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House3_EventScript_203C11",
+ "script": "PacifidlogTown_House3_EventScript_Trader",
"flag": "0"
}
],
diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc
index 28f187da9..ea33c8d01 100644
--- a/data/maps/PacifidlogTown_House3/scripts.inc
+++ b/data/maps/PacifidlogTown_House3/scripts.inc
@@ -1,59 +1,59 @@
PacifidlogTown_House3_MapScripts:: @ 8203C10
.byte 0
-PacifidlogTown_House3_EventScript_203C11:: @ 8203C11
+PacifidlogTown_House3_EventScript_Trader:: @ 8203C11
lock
faceplayer
- goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_203CAB
- setvar VAR_0x8008, 2
+ goto_if_set FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED, PacifidlogTown_House3_EventScript_TradeCompleted
+ setvar VAR_0x8008, INGAME_TRADE_HORSEA
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
- msgbox PacifidlogTown_House3_Text_203CBE, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq PacifidlogTown_House3_EventScript_203C93
- special sub_81B94B0
+ msgbox PacifidlogTown_House3_Text_WillingToTradeIt, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq PacifidlogTown_House3_EventScript_DeclineTrade
+ special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_if_eq PacifidlogTown_House3_EventScript_203C93
+ goto_if_eq PacifidlogTown_House3_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if_ne PacifidlogTown_House3_EventScript_203C9D
+ goto_if_ne PacifidlogTown_House3_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
special DoInGameTradeScene
waitstate
bufferspeciesname 0, VAR_0x8009
- msgbox PacifidlogTown_House3_Text_203D87, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House3_Text_ItsSubtlyDifferentThankYou, MSGBOX_DEFAULT
setflag FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED
release
end
-PacifidlogTown_House3_EventScript_203C93:: @ 8203C93
- msgbox PacifidlogTown_House3_Text_203E12, MSGBOX_DEFAULT
+PacifidlogTown_House3_EventScript_DeclineTrade:: @ 8203C93
+ msgbox PacifidlogTown_House3_Text_NotDesperateOrAnything, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House3_EventScript_203C9D:: @ 8203C9D
+PacifidlogTown_House3_EventScript_NotRequestedMon:: @ 8203C9D
bufferspeciesname 0, VAR_0x8009
- msgbox PacifidlogTown_House3_Text_203DDE, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House3_Text_WontAcceptAnyLessThanRealMon, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House3_EventScript_203CAB:: @ 8203CAB
- msgbox PacifidlogTown_House3_Text_203E7F, MSGBOX_DEFAULT
+PacifidlogTown_House3_EventScript_TradeCompleted:: @ 8203CAB
+ msgbox PacifidlogTown_House3_Text_ReallyWantedToGetBagon, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House3_EventScript_203CB5:: @ 8203CB5
- msgbox PacifidlogTown_House3_Text_203EF1, MSGBOX_NPC
+PacifidlogTown_House3_EventScript_Girl:: @ 8203CB5
+ msgbox PacifidlogTown_House3_Text_IsThatAPokedex, MSGBOX_NPC
end
-PacifidlogTown_House3_Text_203CBE: @ 8203CBE
+PacifidlogTown_House3_Text_WillingToTradeIt: @ 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"
@@ -62,29 +62,29 @@ PacifidlogTown_House3_Text_203CBE: @ 8203CBE
.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
+PacifidlogTown_House3_Text_ItsSubtlyDifferentThankYou: @ 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
+PacifidlogTown_House3_Text_WontAcceptAnyLessThanRealMon: @ 8203DDE
.string "No, no, no! I won't accept any\n"
.string "less than a real {STR_VAR_1}!$"
-PacifidlogTown_House3_Text_203E12: @ 8203E12
+PacifidlogTown_House3_Text_NotDesperateOrAnything: @ 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
+PacifidlogTown_House3_Text_ReallyWantedToGetBagon: @ 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
+PacifidlogTown_House3_Text_IsThatAPokedex: @ 8203EF1
.string "Is that a POKéDEX?\p"
.string "Did you get to meet a lot of different\n"
.string "POKéMON?\p"
diff --git a/data/maps/PacifidlogTown_House4/map.json b/data/maps/PacifidlogTown_House4/map.json
index d38384fc9..f196f6a8a 100644
--- a/data/maps/PacifidlogTown_House4/map.json
+++ b/data/maps/PacifidlogTown_House4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House4_EventScript_203F55",
+ "script": "PacifidlogTown_House4_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House4_EventScript_203F4C",
+ "script": "PacifidlogTown_House4_EventScript_LittleGirl",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House4_EventScript_203F5E",
+ "script": "PacifidlogTown_House4_EventScript_Boy",
"flag": "0"
}
],
diff --git a/data/maps/PacifidlogTown_House4/scripts.inc b/data/maps/PacifidlogTown_House4/scripts.inc
index e9f5f19e7..42a988bc2 100644
--- a/data/maps/PacifidlogTown_House4/scripts.inc
+++ b/data/maps/PacifidlogTown_House4/scripts.inc
@@ -1,53 +1,53 @@
PacifidlogTown_House4_MapScripts:: @ 8203F4B
.byte 0
-PacifidlogTown_House4_EventScript_203F4C:: @ 8203F4C
- msgbox PacifidlogTown_House4_Text_204017, MSGBOX_NPC
+PacifidlogTown_House4_EventScript_LittleGirl:: @ 8203F4C
+ msgbox PacifidlogTown_House4_Text_SkyPokemon, MSGBOX_NPC
end
-PacifidlogTown_House4_EventScript_203F55:: @ 8203F55
- msgbox PacifidlogTown_House4_Text_203F93, MSGBOX_NPC
+PacifidlogTown_House4_EventScript_Woman:: @ 8203F55
+ msgbox PacifidlogTown_House4_Text_PeopleSawHighFlyingPokemon, MSGBOX_NPC
end
-PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E
+PacifidlogTown_House4_EventScript_Boy:: @ 8203F5E
lock
faceplayer
- msgbox PacifidlogTown_House4_Text_204035, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PacifidlogTown_House4_EventScript_203F7F
- compare VAR_RESULT, 0
- goto_if_eq PacifidlogTown_House4_EventScript_203F89
+ msgbox PacifidlogTown_House4_Text_WhereDidYouComeFrom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PacifidlogTown_House4_EventScript_Yes
+ compare VAR_RESULT, NO
+ goto_if_eq PacifidlogTown_House4_EventScript_No
end
-PacifidlogTown_House4_EventScript_203F7F:: @ 8203F7F
- msgbox PacifidlogTown_House4_Text_20404E, MSGBOX_DEFAULT
+PacifidlogTown_House4_EventScript_Yes:: @ 8203F7F
+ msgbox PacifidlogTown_House4_Text_YesTown, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House4_EventScript_203F89:: @ 8203F89
- msgbox PacifidlogTown_House4_Text_204084, MSGBOX_DEFAULT
+PacifidlogTown_House4_EventScript_No:: @ 8203F89
+ msgbox PacifidlogTown_House4_Text_YouHaveToComeFromSomewhere, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House4_Text_203F93: @ 8203F93
+PacifidlogTown_House4_Text_PeopleSawHighFlyingPokemon: @ 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
+PacifidlogTown_House4_Text_SkyPokemon: @ 8204017
.string "A sky POKéMON!\n"
.string "A sky POKéMON!$"
-PacifidlogTown_House4_Text_204035: @ 8204035
+PacifidlogTown_House4_Text_WhereDidYouComeFrom: @ 8204035
.string "Where did you come from?$"
-PacifidlogTown_House4_Text_20404E: @ 820404E
+PacifidlogTown_House4_Text_YesTown: @ 820404E
.string "Yes?\n"
.string "YES TOWN?\p"
.string "I've never heard of a place like that.$"
-PacifidlogTown_House4_Text_204084: @ 8204084
+PacifidlogTown_House4_Text_YouHaveToComeFromSomewhere: @ 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"
diff --git a/data/maps/PacifidlogTown_House5/map.json b/data/maps/PacifidlogTown_House5/map.json
index db7e51c46..c828d7a29 100644
--- a/data/maps/PacifidlogTown_House5/map.json
+++ b/data/maps/PacifidlogTown_House5/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House5_EventScript_204111",
+ "script": "PacifidlogTown_House5_EventScript_MirageIslandWatcher",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_House5_EventScript_204137",
+ "script": "PacifidlogTown_House5_EventScript_Gentleman",
"flag": "0"
}
],
diff --git a/data/maps/PacifidlogTown_House5/scripts.inc b/data/maps/PacifidlogTown_House5/scripts.inc
index cdc54fefe..f8be20f47 100644
--- a/data/maps/PacifidlogTown_House5/scripts.inc
+++ b/data/maps/PacifidlogTown_House5/scripts.inc
@@ -1,33 +1,33 @@
PacifidlogTown_House5_MapScripts:: @ 8204110
.byte 0
-PacifidlogTown_House5_EventScript_204111:: @ 8204111
+PacifidlogTown_House5_EventScript_MirageIslandWatcher:: @ 8204111
lock
faceplayer
specialvar VAR_RESULT, IsMirageIslandPresent
- compare VAR_RESULT, 1
- goto_if_eq PacifidlogTown_House5_EventScript_20412D
- msgbox PacifidlogTown_House5_Text_204140, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq PacifidlogTown_House5_EventScript_MirageIslandPresent
+ msgbox PacifidlogTown_House5_Text_CantSeeMirageIslandToday, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House5_EventScript_20412D:: @ 820412D
- msgbox PacifidlogTown_House5_Text_204161, MSGBOX_DEFAULT
+PacifidlogTown_House5_EventScript_MirageIslandPresent:: @ 820412D
+ msgbox PacifidlogTown_House5_Text_CanSeeMirageIslandToday, MSGBOX_DEFAULT
release
end
-PacifidlogTown_House5_EventScript_204137:: @ 8204137
- msgbox PacifidlogTown_House5_Text_20418B, MSGBOX_NPC
+PacifidlogTown_House5_EventScript_Gentleman:: @ 8204137
+ msgbox PacifidlogTown_House5_Text_MirageIslandAppearDependingOnWeather, MSGBOX_NPC
end
-PacifidlogTown_House5_Text_204140: @ 8204140
+PacifidlogTown_House5_Text_CantSeeMirageIslandToday: @ 8204140
.string "I can't see MIRAGE ISLAND today…$"
-PacifidlogTown_House5_Text_204161: @ 8204161
+PacifidlogTown_House5_Text_CanSeeMirageIslandToday: @ 8204161
.string "Oh! Oh my!\n"
.string "I can see MIRAGE ISLAND today!$"
-PacifidlogTown_House5_Text_20418B: @ 820418B
+PacifidlogTown_House5_Text_MirageIslandAppearDependingOnWeather: @ 820418B
.string "MIRAGE ISLAND…\p"
.string "It must become visible and invisible\n"
.string "depending on the weather conditions\l"
diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json
index 690243277..dd5dfcb9c 100644
--- a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json
+++ b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034B6",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034D6",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_OldMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034C4",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_Girl",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2034CD",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE",
+ "script": "PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor",
"flag": "0"
}
],
diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc
index f4fe115e5..8b0f0805a 100644
--- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc
@@ -1,43 +1,44 @@
PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7
map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, PacifidlogTown_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
PacifidlogTown_PokemonCenter_1F_OnTransition: @ 82034B2
setrespawn HEAL_LOCATION_PACIFIDLOG_TOWN
end
-PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6
+@ VAR_0x800B is the Nurse's object event id
+PacifidlogTown_PokemonCenter_1F_EventScript_Nurse:: @ 82034B6
setvar VAR_0x800B, 1
- call PacifidlogTown_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-PacifidlogTown_PokemonCenter_1F_EventScript_2034C4:: @ 82034C4
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2034DF, MSGBOX_NPC
+PacifidlogTown_PokemonCenter_1F_EventScript_Girl:: @ 82034C4
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_WhatColorTrainerCard, MSGBOX_NPC
end
-PacifidlogTown_PokemonCenter_1F_EventScript_2034CD:: @ 82034CD
- msgbox PacifidlogTown_PokemonCenter_1F_Text_20350F, MSGBOX_NPC
+PacifidlogTown_PokemonCenter_1F_EventScript_Woman:: @ 82034CD
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_OnColonyOfCorsola, MSGBOX_NPC
end
-PacifidlogTown_PokemonCenter_1F_EventScript_2034D6:: @ 82034D6
- msgbox PacifidlogTown_PokemonCenter_1F_Text_20356F, MSGBOX_NPC
+PacifidlogTown_PokemonCenter_1F_EventScript_OldMan:: @ 82034D6
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_AncestorsLivedOnBoats, MSGBOX_NPC
end
-PacifidlogTown_PokemonCenter_1F_Text_2034DF: @ 82034DF
+PacifidlogTown_PokemonCenter_1F_Text_WhatColorTrainerCard: @ 82034DF
.string "What color is your TRAINER CARD?\n"
.string "Mine's copper!$"
-PacifidlogTown_PokemonCenter_1F_Text_20350F: @ 820350F
+PacifidlogTown_PokemonCenter_1F_Text_OnColonyOfCorsola: @ 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
+PacifidlogTown_PokemonCenter_1F_Text_AncestorsLivedOnBoats: @ 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"
diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json
index c5f7c9907..25d8abd04 100644
--- a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json
+++ b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PacifidlogTown_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc
index fcb4f1ab4..576c1679c 100644
--- a/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc
+++ b/data/maps/PacifidlogTown_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
PacifidlogTown_PokemonCenter_2F_MapScripts:: @ 8203635
- map_script MAP_SCRIPT_ON_FRAME_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-PacifidlogTown_PokemonCenter_2F_EventScript_20364A:: @ 820364A
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+PacifidlogTown_PokemonCenter_2F_EventScript_Colosseum:: @ 820364A
+ call CableClub_EventScript_Colosseum
end
-PacifidlogTown_PokemonCenter_2F_EventScript_203650:: @ 8203650
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+PacifidlogTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 8203650
+ call CableClub_EventScript_TradeCenter
end
-PacifidlogTown_PokemonCenter_2F_EventScript_203656:: @ 8203656
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+PacifidlogTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 8203656
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json
index 44402aff5..721234bd5 100644
--- a/data/maps/PetalburgCity/map.json
+++ b/data/maps/PetalburgCity/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_EventScript_1DC3FD",
+ "script": "PetalburgCity_EventScript_WallyAunt",
"flag": "FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_EventScript_1DC3E6",
+ "script": "PetalburgCity_EventScript_Boy1",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_EventScript_1DC488",
+ "script": "PetalburgCity_EventScript_Gentleman",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_EventScript_1DC82E",
+ "script": "PetalburgCity_EventScript_Boy2",
"flag": "0"
},
{
@@ -195,7 +195,7 @@
"elevation": 3,
"var": "VAR_PETALBURG_CITY_STATE",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC49A"
+ "script": "PetalburgCity_EventScript_ShowGymToPlayer0"
},
{
"type": "trigger",
@@ -204,7 +204,7 @@
"elevation": 3,
"var": "VAR_PETALBURG_CITY_STATE",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC4A6"
+ "script": "PetalburgCity_EventScript_ShowGymToPlayer1"
},
{
"type": "trigger",
@@ -213,7 +213,7 @@
"elevation": 3,
"var": "VAR_PETALBURG_CITY_STATE",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC4B2"
+ "script": "PetalburgCity_EventScript_ShowGymToPlayer2"
},
{
"type": "trigger",
@@ -222,7 +222,7 @@
"elevation": 3,
"var": "VAR_PETALBURG_CITY_STATE",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC4BE"
+ "script": "PetalburgCity_EventScript_ShowGymToPlayer3"
},
{
"type": "trigger",
@@ -231,7 +231,7 @@
"elevation": 3,
"var": "VAR_SCOTT_PETALBURG_ENCOUNTER",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC691"
+ "script": "PetalburgCity_EventScript_Scott0"
},
{
"type": "trigger",
@@ -240,7 +240,7 @@
"elevation": 3,
"var": "VAR_SCOTT_PETALBURG_ENCOUNTER",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC6A7"
+ "script": "PetalburgCity_EventScript_Scott1"
},
{
"type": "trigger",
@@ -249,7 +249,7 @@
"elevation": 3,
"var": "VAR_SCOTT_PETALBURG_ENCOUNTER",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC6BD"
+ "script": "PetalburgCity_EventScript_Scott2"
},
{
"type": "trigger",
@@ -258,7 +258,7 @@
"elevation": 3,
"var": "VAR_SCOTT_PETALBURG_ENCOUNTER",
"var_value": "0",
- "script": "PetalburgCity_EventScript_1DC6D3"
+ "script": "PetalburgCity_EventScript_Scott3"
}
],
"bg_events": [
@@ -268,7 +268,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_EventScript_1DC476"
+ "script": "PetalburgCity_EventScript_GymSign"
},
{
"type": "sign",
@@ -292,7 +292,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_EventScript_1DC47F"
+ "script": "PetalburgCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -316,7 +316,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_EventScript_1DC491"
+ "script": "PetalburgCity_EventScript_WallyHouseSign"
},
{
"type": "hidden_item",
diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc
index e95fc9d92..80badcfd2 100644
--- a/data/maps/PetalburgCity/scripts.inc
+++ b/data/maps/PetalburgCity/scripts.inc
@@ -1,57 +1,57 @@
PetalburgCity_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_MapScript2_1DC31C
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_OnFrame
.byte 0
PetalburgCity_OnTransition: @ 81DC2D7
setflag FLAG_VISITED_PETALBURG_CITY
compare VAR_PETALBURG_CITY_STATE, 0
- call_if_eq PetalburgCity_EventScript_1DC307
+ call_if_eq PetalburgCity_EventScript_MoveBoyToWestEntrance
compare VAR_PETALBURG_CITY_STATE, 2
- call_if_eq PetalburgCity_EventScript_1DC30F
+ call_if_eq PetalburgCity_EventScript_DisableMapNameAndMusic
compare VAR_PETALBURG_CITY_STATE, 4
- call_if_eq PetalburgCity_EventScript_1DC30F
+ call_if_eq PetalburgCity_EventScript_DisableMapNameAndMusic
compare VAR_PETALBURG_GYM_STATE, 8
- call_if_eq PetalburgCity_EventScript_1DC316
+ call_if_eq PetalburgCity_EventScript_SetGymDoorsUnlocked
end
-PetalburgCity_EventScript_1DC307:: @ 81DC307
+PetalburgCity_EventScript_MoveBoyToWestEntrance:: @ 81DC307
setobjectxyperm 8, 5, 11
return
-PetalburgCity_EventScript_1DC30F:: @ 81DC30F
+PetalburgCity_EventScript_DisableMapNameAndMusic:: @ 81DC30F
setflag FLAG_HIDE_MAP_NAME_POPUP
savebgm MUS_TSURETEK
return
-PetalburgCity_EventScript_1DC316:: @ 81DC316
+PetalburgCity_EventScript_SetGymDoorsUnlocked:: @ 81DC316
setvar VAR_PETALBURG_GYM_STATE, 7
return
-PetalburgCity_MapScript2_1DC31C: @ 81DC31C
- map_script_2 VAR_PETALBURG_CITY_STATE, 2, PetalburgCity_EventScript_1DC32E
- map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_EventScript_1DC390
+PetalburgCity_OnFrame: @ 81DC31C
+ map_script_2 VAR_PETALBURG_CITY_STATE, 2, PetalburgCity_EventScript_WallyTutorial
+ map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_EventScript_WalkToWallyHouse
.2byte 0
-PetalburgCity_EventScript_1DC32E:: @ 81DC32E
+PetalburgCity_EventScript_WallyTutorial:: @ 81DC32E
lockall
special SavePlayerParty
special PutZigzagoonInPlayerParty
- applymovement 2, PetalburgCity_Movement_1DC451
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC430
+ applymovement 2, PetalburgCity_Movement_WallyTutorialWally
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_WallyTutorialPlayer
waitmovement 0
- msgbox PetalburgCity_Text_1EC1F8, MSGBOX_DEFAULT
+ msgbox Route102_Text_WatchMeCatchPokemon, MSGBOX_DEFAULT
special StartWallyTutorialBattle
waitstate
- msgbox PetalburgCity_Text_1EC271, MSGBOX_DEFAULT
- applymovement 2, Common_Movement_WalkInPlaceLeft, MAP_PETALBURG_CITY
+ msgbox Route102_Text_WallyIDidIt, MSGBOX_DEFAULT
+ applymovement 2, Common_Movement_WalkInPlaceFastestLeft, MAP_PETALBURG_CITY
waitmovement 2, MAP_PETALBURG_CITY
- msgbox PetalburgCity_Text_1EC297, MSGBOX_DEFAULT
+ msgbox Route102_Text_LetsGoBack, MSGBOX_DEFAULT
closemessage
clearflag FLAG_HIDE_MAP_NAME_POPUP
setvar VAR_PETALBURG_CITY_STATE, 3
fadedefaultbgm
- clearflag FLAG_SPECIAL_FLAG_0x4001
+ clearflag FLAG_DONT_TRANSITION_MUSIC
special LoadPlayerParty
setvar VAR_PETALBURG_GYM_STATE, 1
warp MAP_PETALBURG_CITY_GYM, 255, 4, 108
@@ -59,18 +59,18 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E
releaseall
end
-PetalburgCity_EventScript_1DC390:: @ 81DC390
+PetalburgCity_EventScript_WalkToWallyHouse:: @ 81DC390
lockall
setflag FLAG_HIDE_MAP_NAME_POPUP
- applymovement 5, PetalburgCity_Movement_1DC41B
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC406
+ applymovement 5, PetalburgCity_Movement_WalkToWallyHouseUncle
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_WalkToWallyHousePlayer
waitmovement 0
setvar VAR_0x8004, 7
setvar VAR_0x8005, 5
opendoor VAR_0x8004, VAR_0x8005
waitdooranim
- applymovement 5, PetalburgCity_Movement_1DC42D
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC418
+ applymovement 5, PetalburgCity_Movement_WalkInsideHouseUncle
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_WalkInsideHousePlayer
waitmovement 0
setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
@@ -78,27 +78,27 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390
waitdooranim
clearflag FLAG_HIDE_MAP_NAME_POPUP
fadedefaultbgm
- clearflag FLAG_SPECIAL_FLAG_0x4001
+ clearflag FLAG_DONT_TRANSITION_MUSIC
warp MAP_PETALBURG_CITY_WALLYS_HOUSE, 255, 2, 4
waitstate
releaseall
end
-PetalburgCity_EventScript_1DC3E6:: @ 81DC3E6
+PetalburgCity_EventScript_Boy1:: @ 81DC3E6
lock
faceplayer
- msgbox PetalburgCity_Text_1DC985, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Text_WaterReflection, MSGBOX_DEFAULT
closemessage
applymovement 3, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-PetalburgCity_EventScript_1DC3FD:: @ 81DC3FD
- msgbox PetalburgCity_Text_1DC837, MSGBOX_NPC
+PetalburgCity_EventScript_WallyAunt:: @ 81DC3FD
+ msgbox PetalburgCity_Text_WhereIsWally, MSGBOX_NPC
end
-PetalburgCity_Movement_1DC406: @ 81DC406
+PetalburgCity_Movement_WalkToWallyHousePlayer: @ 81DC406
delay_8
walk_down
walk_down
@@ -118,12 +118,12 @@ PetalburgCity_Movement_1DC406: @ 81DC406
walk_up
step_end
-PetalburgCity_Movement_1DC418: @ 81DC418
+PetalburgCity_Movement_WalkInsideHousePlayer: @ 81DC418
walk_up
walk_up
step_end
-PetalburgCity_Movement_1DC41B: @ 81DC41B
+PetalburgCity_Movement_WalkToWallyHouseUncle: @ 81DC41B
delay_8
walk_down
walk_down
@@ -143,12 +143,12 @@ PetalburgCity_Movement_1DC41B: @ 81DC41B
walk_up
step_end
-PetalburgCity_Movement_1DC42D: @ 81DC42D
+PetalburgCity_Movement_WalkInsideHouseUncle: @ 81DC42D
walk_up
set_invisible
step_end
-PetalburgCity_Movement_1DC430: @ 81DC430
+PetalburgCity_Movement_WallyTutorialPlayer: @ 81DC430
delay_8
walk_down
walk_down
@@ -183,7 +183,7 @@ PetalburgCity_Movement_1DC430: @ 81DC430
walk_in_place_fastest_right
step_end
-PetalburgCity_Movement_1DC451: @ 81DC451
+PetalburgCity_Movement_WallyTutorialWally: @ 81DC451
delay_8
walk_down
walk_down
@@ -222,47 +222,47 @@ PetalburgCity_Movement_1DC451: @ 81DC451
walk_in_place_fastest_right
step_end
-PetalburgCity_EventScript_1DC476:: @ 81DC476
- msgbox PetalburgCity_Text_1DCAAA, MSGBOX_SIGN
+PetalburgCity_EventScript_GymSign:: @ 81DC476
+ msgbox PetalburgCity_Text_GymSign, MSGBOX_SIGN
end
-PetalburgCity_EventScript_1DC47F:: @ 81DC47F
- msgbox PetalburgCity_Text_1DCAF1, MSGBOX_SIGN
+PetalburgCity_EventScript_CitySign:: @ 81DC47F
+ msgbox PetalburgCity_Text_CitySign, MSGBOX_SIGN
end
-PetalburgCity_EventScript_1DC488:: @ 81DC488
- msgbox PetalburgCity_Text_1DCA30, MSGBOX_NPC
+PetalburgCity_EventScript_Gentleman:: @ 81DC488
+ msgbox PetalburgCity_Text_FullPartyExplanation, MSGBOX_NPC
end
-PetalburgCity_EventScript_1DC491:: @ 81DC491
- msgbox PetalburgCity_Text_1DCB23, MSGBOX_SIGN
+PetalburgCity_EventScript_WallyHouseSign:: @ 81DC491
+ msgbox PetalburgCity_Text_WallyHouseSign, MSGBOX_SIGN
end
-PetalburgCity_EventScript_1DC49A:: @ 81DC49A
+PetalburgCity_EventScript_ShowGymToPlayer0:: @ 81DC49A
lockall
setvar VAR_0x8008, 0
- goto PetalburgCity_EventScript_1DC4CA
+ goto PetalburgCity_EventScript_ShowGymToPlayer
end
-PetalburgCity_EventScript_1DC4A6:: @ 81DC4A6
+PetalburgCity_EventScript_ShowGymToPlayer1:: @ 81DC4A6
lockall
setvar VAR_0x8008, 1
- goto PetalburgCity_EventScript_1DC4CA
+ goto PetalburgCity_EventScript_ShowGymToPlayer
end
-PetalburgCity_EventScript_1DC4B2:: @ 81DC4B2
+PetalburgCity_EventScript_ShowGymToPlayer2:: @ 81DC4B2
lockall
setvar VAR_0x8008, 2
- goto PetalburgCity_EventScript_1DC4CA
+ goto PetalburgCity_EventScript_ShowGymToPlayer
end
-PetalburgCity_EventScript_1DC4BE:: @ 81DC4BE
+PetalburgCity_EventScript_ShowGymToPlayer3:: @ 81DC4BE
lockall
setvar VAR_0x8008, 3
- goto PetalburgCity_EventScript_1DC4CA
+ goto PetalburgCity_EventScript_ShowGymToPlayer
end
-PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA
+PetalburgCity_EventScript_ShowGymToPlayer:: @ 81DC4CA
applymovement 8, Common_Movement_FacePlayer
waitmovement 0
playbgm MUS_TSURETEK, 0
@@ -272,111 +272,112 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA
applymovement 8, Common_Movement_Delay48
waitmovement 0
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_EventScript_1DC57F
+ call_if_eq PetalburgCity_EventScript_BoyApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_EventScript_1DC594
+ call_if_eq PetalburgCity_EventScript_BoyApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_EventScript_1DC59F
+ call_if_eq PetalburgCity_EventScript_BoyApproachPlayer2
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_EventScript_1DC5B4
- msgbox PetalburgCity_Text_1DC881, MSGBOX_DEFAULT
+ call_if_eq PetalburgCity_EventScript_BoyApproachPlayer3
+ msgbox PetalburgCity_Text_AreYouRookieTrainer, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_EventScript_1DC5C9
+ call_if_eq PetalburgCity_EventScript_LeadPlayerToGym0
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_EventScript_1DC5DB
+ call_if_eq PetalburgCity_EventScript_LeadPlayerToGym1
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_EventScript_1DC5ED
+ call_if_eq PetalburgCity_EventScript_LeadPlayerToGym2
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_EventScript_1DC5FF
- msgbox PetalburgCity_Text_1DC91B, MSGBOX_DEFAULT
- applymovement 8, Common_Movement_WalkInPlaceRight
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ call_if_eq PetalburgCity_EventScript_LeadPlayerToGym3
+ msgbox PetalburgCity_Text_ThisIsPetalburgGym, MSGBOX_DEFAULT
+ applymovement 8, Common_Movement_WalkInPlaceFastestRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox PetalburgCity_Text_1DC93E, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Text_ThisIsGymSign, MSGBOX_DEFAULT
closemessage
- applymovement 8, PetalburgCity_Movement_1DC658
+ applymovement 8, PetalburgCity_Movement_BoyWalkAway
waitmovement 0
fadedefaultbgm
releaseall
end
-PetalburgCity_EventScript_1DC57F:: @ 81DC57F
- applymovement 8, PetalburgCity_Movement_1DC615
+PetalburgCity_EventScript_BoyApproachPlayer0:: @ 81DC57F
+ applymovement 8, PetalburgCity_Movement_BoyApproachPlayer0
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_EventScript_1DC594:: @ 81DC594
- applymovement 8, PetalburgCity_Movement_1DC61A
+PetalburgCity_EventScript_BoyApproachPlayer1:: @ 81DC594
+ applymovement 8, PetalburgCity_Movement_BoyApproachPlayer1
waitmovement 0
return
-PetalburgCity_EventScript_1DC59F:: @ 81DC59F
- applymovement 8, PetalburgCity_Movement_1DC61D
+PetalburgCity_EventScript_BoyApproachPlayer2:: @ 81DC59F
+ applymovement 8, PetalburgCity_Movement_BoyApproachPlayer2
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4
- applymovement 8, PetalburgCity_Movement_1DC622
+PetalburgCity_EventScript_BoyApproachPlayer3:: @ 81DC5B4
+ applymovement 8, PetalburgCity_Movement_BoyApproachPlayer3
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-PetalburgCity_EventScript_1DC5C9:: @ 81DC5C9
- applymovement 8, PetalburgCity_Movement_1DC628
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC665
+PetalburgCity_EventScript_LeadPlayerToGym0:: @ 81DC5C9
+ applymovement 8, PetalburgCity_Movement_BoyWalkToGym0
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym0
waitmovement 0
return
-PetalburgCity_EventScript_1DC5DB:: @ 81DC5DB
- applymovement 8, PetalburgCity_Movement_1DC633
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC66F
+PetalburgCity_EventScript_LeadPlayerToGym1:: @ 81DC5DB
+ applymovement 8, PetalburgCity_Movement_BoyWalkToGym1
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym1
waitmovement 0
return
-PetalburgCity_EventScript_1DC5ED:: @ 81DC5ED
- applymovement 8, PetalburgCity_Movement_1DC641
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC67C
+PetalburgCity_EventScript_LeadPlayerToGym2:: @ 81DC5ED
+ applymovement 8, PetalburgCity_Movement_BoyWalkToGym2
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym2
waitmovement 0
return
-PetalburgCity_EventScript_1DC5FF:: @ 81DC5FF
- applymovement 8, PetalburgCity_Movement_1DC64C
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC686
+PetalburgCity_EventScript_LeadPlayerToGym3:: @ 81DC5FF
+ applymovement 8, PetalburgCity_Movement_BoyWalkToGym3
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym3
waitmovement 0
return
-PetalburgCity_Movement_1DC611:: @ 81DC611
+@ Unused
+PetalburgCity_Movement_Delay48:: @ 81DC611
delay_16
delay_16
delay_16
step_end
-PetalburgCity_Movement_1DC615: @ 81DC615
+PetalburgCity_Movement_BoyApproachPlayer0: @ 81DC615
walk_right
walk_right
walk_right
walk_in_place_fastest_up
step_end
-PetalburgCity_Movement_1DC61A: @ 81DC61A
+PetalburgCity_Movement_BoyApproachPlayer1: @ 81DC61A
walk_right
walk_right
step_end
-PetalburgCity_Movement_1DC61D: @ 81DC61D
+PetalburgCity_Movement_BoyApproachPlayer2: @ 81DC61D
walk_right
walk_right
walk_right
walk_in_place_fastest_down
step_end
-PetalburgCity_Movement_1DC622: @ 81DC622
+PetalburgCity_Movement_BoyApproachPlayer3: @ 81DC622
walk_down
walk_right
walk_right
@@ -384,7 +385,7 @@ PetalburgCity_Movement_1DC622: @ 81DC622
walk_in_place_fastest_down
step_end
-PetalburgCity_Movement_1DC628: @ 81DC628
+PetalburgCity_Movement_BoyWalkToGym0: @ 81DC628
walk_right
walk_right
walk_right
@@ -397,7 +398,7 @@ PetalburgCity_Movement_1DC628: @ 81DC628
walk_in_place_fastest_up
step_end
-PetalburgCity_Movement_1DC633: @ 81DC633
+PetalburgCity_Movement_BoyWalkToGym1: @ 81DC633
walk_down
walk_right
walk_right
@@ -413,7 +414,7 @@ PetalburgCity_Movement_1DC633: @ 81DC633
walk_in_place_fastest_up
step_end
-PetalburgCity_Movement_1DC641: @ 81DC641
+PetalburgCity_Movement_BoyWalkToGym2: @ 81DC641
walk_right
walk_right
walk_right
@@ -426,7 +427,7 @@ PetalburgCity_Movement_1DC641: @ 81DC641
walk_in_place_fastest_up
step_end
-PetalburgCity_Movement_1DC64C: @ 81DC64C
+PetalburgCity_Movement_BoyWalkToGym3: @ 81DC64C
walk_right
walk_right
walk_right
@@ -440,7 +441,7 @@ PetalburgCity_Movement_1DC64C: @ 81DC64C
walk_in_place_fastest_up
step_end
-PetalburgCity_Movement_1DC658: @ 81DC658
+PetalburgCity_Movement_BoyWalkAway: @ 81DC658
walk_down
walk_left
walk_left
@@ -455,7 +456,7 @@ PetalburgCity_Movement_1DC658: @ 81DC658
walk_left
step_end
-PetalburgCity_Movement_1DC665: @ 81DC665
+PetalburgCity_Movement_PlayerWalkToGym0: @ 81DC665
walk_down
walk_right
walk_right
@@ -467,7 +468,7 @@ PetalburgCity_Movement_1DC665: @ 81DC665
walk_up
step_end
-PetalburgCity_Movement_1DC66F: @ 81DC66F
+PetalburgCity_Movement_PlayerWalkToGym1: @ 81DC66F
delay_16
delay_16
walk_down
@@ -482,7 +483,7 @@ PetalburgCity_Movement_1DC66F: @ 81DC66F
walk_up
step_end
-PetalburgCity_Movement_1DC67C: @ 81DC67C
+PetalburgCity_Movement_PlayerWalkToGym2: @ 81DC67C
walk_up
walk_right
walk_right
@@ -494,7 +495,7 @@ PetalburgCity_Movement_1DC67C: @ 81DC67C
walk_up
step_end
-PetalburgCity_Movement_1DC686: @ 81DC686
+PetalburgCity_Movement_PlayerWalkToGym3: @ 81DC686
walk_up
walk_right
walk_right
@@ -507,115 +508,115 @@ PetalburgCity_Movement_1DC686: @ 81DC686
walk_up
step_end
-PetalburgCity_EventScript_1DC691:: @ 81DC691
+PetalburgCity_EventScript_Scott0:: @ 81DC691
lockall
addobject 9
setvar VAR_0x8008, 0
setobjectxy 9, 13, 10
- goto PetalburgCity_EventScript_1DC6E9
+ goto PetalburgCity_EventScript_Scott
end
-PetalburgCity_EventScript_1DC6A7:: @ 81DC6A7
+PetalburgCity_EventScript_Scott1:: @ 81DC6A7
lockall
addobject 9
setvar VAR_0x8008, 1
setobjectxy 9, 13, 11
- goto PetalburgCity_EventScript_1DC6E9
+ goto PetalburgCity_EventScript_Scott
end
-PetalburgCity_EventScript_1DC6BD:: @ 81DC6BD
+PetalburgCity_EventScript_Scott2:: @ 81DC6BD
lockall
addobject 9
setvar VAR_0x8008, 2
setobjectxy 9, 13, 12
- goto PetalburgCity_EventScript_1DC6E9
+ goto PetalburgCity_EventScript_Scott
end
-PetalburgCity_EventScript_1DC6D3:: @ 81DC6D3
+PetalburgCity_EventScript_Scott3:: @ 81DC6D3
lockall
addobject 9
setvar VAR_0x8008, 3
setobjectxy 9, 13, 13
- goto PetalburgCity_EventScript_1DC6E9
+ goto PetalburgCity_EventScript_Scott
end
-PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9
- applymovement 9, PetalburgCity_Movement_1DC7D6
+PetalburgCity_EventScript_Scott:: @ 81DC6E9
+ applymovement 9, PetalburgCity_Movement_ScottStartWalkLeft
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement 9, PetalburgCity_Movement_1DC7DB
+ applymovement 9, PetalburgCity_Movement_ScottApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
setvar VAR_SCOTT_STATE, 1
- msgbox PetalburgCity_Text_1DCB31, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Text_AreYouATrainer, MSGBOX_DEFAULT
closemessage
- applymovement 9, Common_Movement_WalkInPlaceRight
+ applymovement 9, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 30
- msgbox PetalburgCity_Text_1DCB82, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Text_WellMaybeNot, MSGBOX_DEFAULT
closemessage
- applymovement 9, Common_Movement_WalkInPlaceLeft
+ applymovement 9, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 30
- msgbox PetalburgCity_Text_1DCC09, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Text_ImLookingForTalentedTrainers, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_EventScript_1DC78E
+ call_if_eq PetalburgCity_EventScript_ScottExit0
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_EventScript_1DC7A0
+ call_if_eq PetalburgCity_EventScript_ScottExit1
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_EventScript_1DC7B2
+ call_if_eq PetalburgCity_EventScript_ScottExit2
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_EventScript_1DC7C4
+ call_if_eq PetalburgCity_EventScript_ScottExit3
setvar VAR_SCOTT_PETALBURG_ENCOUNTER, 1
removeobject 9
releaseall
end
-PetalburgCity_EventScript_1DC78E:: @ 81DC78E
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC7EE
- applymovement 9, PetalburgCity_Movement_1DC7E0
+PetalburgCity_EventScript_ScottExit0:: @ 81DC78E
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit0
+ applymovement 9, PetalburgCity_Movement_ScottExit0
waitmovement 0
return
-PetalburgCity_EventScript_1DC7A0:: @ 81DC7A0
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC802
- applymovement 9, PetalburgCity_Movement_1DC7F5
+PetalburgCity_EventScript_ScottExit1:: @ 81DC7A0
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit1
+ applymovement 9, PetalburgCity_Movement_ScottExit1
waitmovement 0
return
-PetalburgCity_EventScript_1DC7B2:: @ 81DC7B2
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC815
- applymovement 9, PetalburgCity_Movement_1DC808
+PetalburgCity_EventScript_ScottExit2:: @ 81DC7B2
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit2
+ applymovement 9, PetalburgCity_Movement_ScottExit2
waitmovement 0
return
-PetalburgCity_EventScript_1DC7C4:: @ 81DC7C4
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC828
- applymovement 9, PetalburgCity_Movement_1DC81B
+PetalburgCity_EventScript_ScottExit3:: @ 81DC7C4
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit3
+ applymovement 9, PetalburgCity_Movement_ScottExit3
waitmovement 0
return
-PetalburgCity_Movement_1DC7D6: @ 81DC7D6
+PetalburgCity_Movement_ScottStartWalkLeft: @ 81DC7D6
walk_left
walk_left
walk_left
walk_left
step_end
-PetalburgCity_Movement_1DC7DB: @ 81DC7DB
+PetalburgCity_Movement_ScottApproachPlayer: @ 81DC7DB
walk_left
walk_left
walk_left
walk_left
step_end
-PetalburgCity_Movement_1DC7E0: @ 81DC7E0
+PetalburgCity_Movement_ScottExit0: @ 81DC7E0
walk_down
walk_down
walk_left
@@ -631,7 +632,7 @@ PetalburgCity_Movement_1DC7E0: @ 81DC7E0
walk_left
step_end
-PetalburgCity_Movement_1DC7EE: @ 81DC7EE
+PetalburgCity_Movement_PlayerWatchScottExit0: @ 81DC7EE
delay_16
walk_in_place_fastest_down
delay_16
@@ -640,7 +641,7 @@ PetalburgCity_Movement_1DC7EE: @ 81DC7EE
walk_in_place_fastest_left
step_end
-PetalburgCity_Movement_1DC7F5: @ 81DC7F5
+PetalburgCity_Movement_ScottExit1: @ 81DC7F5
walk_down
walk_left
walk_left
@@ -655,7 +656,7 @@ PetalburgCity_Movement_1DC7F5: @ 81DC7F5
walk_left
step_end
-PetalburgCity_Movement_1DC802: @ 81DC802
+PetalburgCity_Movement_PlayerWatchScottExit1: @ 81DC802
delay_16
walk_in_place_fastest_down
delay_16
@@ -663,7 +664,7 @@ PetalburgCity_Movement_1DC802: @ 81DC802
walk_in_place_fastest_left
step_end
-PetalburgCity_Movement_1DC808: @ 81DC808
+PetalburgCity_Movement_ScottExit2: @ 81DC808
walk_down
walk_left
walk_left
@@ -678,7 +679,7 @@ PetalburgCity_Movement_1DC808: @ 81DC808
walk_left
step_end
-PetalburgCity_Movement_1DC815: @ 81DC815
+PetalburgCity_Movement_PlayerWatchScottExit2: @ 81DC815
delay_16
walk_in_place_fastest_down
delay_16
@@ -686,7 +687,7 @@ PetalburgCity_Movement_1DC815: @ 81DC815
walk_in_place_fastest_left
step_end
-PetalburgCity_Movement_1DC81B: @ 81DC81B
+PetalburgCity_Movement_ScottExit3: @ 81DC81B
walk_up
walk_left
walk_left
@@ -701,7 +702,7 @@ PetalburgCity_Movement_1DC81B: @ 81DC81B
walk_left
step_end
-PetalburgCity_Movement_1DC828: @ 81DC828
+PetalburgCity_Movement_PlayerWatchScottExit3: @ 81DC828
delay_16
walk_in_place_fastest_up
delay_16
@@ -709,16 +710,16 @@ PetalburgCity_Movement_1DC828: @ 81DC828
walk_in_place_fastest_left
step_end
-PetalburgCity_EventScript_1DC82E:: @ 81DC82E
- msgbox PetalburgCity_Text_1DC881, MSGBOX_NPC
+PetalburgCity_EventScript_Boy2:: @ 81DC82E
+ msgbox PetalburgCity_Text_AreYouRookieTrainer, MSGBOX_NPC
end
-PetalburgCity_Text_1DC837: @ 81DC837
+PetalburgCity_Text_WhereIsWally: @ 81DC837
.string "Where has our WALLY gone?\p"
.string "We have to leave for VERDANTURF TOWN\n"
.string "very soon…$"
-PetalburgCity_Text_1DC881: @ 81DC881
+PetalburgCity_Text_AreYouRookieTrainer: @ 81DC881
.string "Hiya! Are you maybe…\n"
.string "A rookie TRAINER?\p"
.string "Do you know what POKéMON TRAINERS\n"
@@ -726,51 +727,51 @@ PetalburgCity_Text_1DC881: @ 81DC881
.string "They first check what kind of GYM\n"
.string "is in the town.$"
-PetalburgCity_Text_1DC91B: @ 81DC91B
+PetalburgCity_Text_ThisIsPetalburgGym: @ 81DC91B
.string "See? This is PETALBURG CITY's GYM.$"
-PetalburgCity_Text_1DC93E: @ 81DC93E
+PetalburgCity_Text_ThisIsGymSign: @ 81DC93E
.string "This is the GYM's sign. Look for it\n"
.string "whenever you're looking for a GYM.$"
-PetalburgCity_Text_1DC985: @ 81DC985
+PetalburgCity_Text_WaterReflection: @ 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
+PetalburgCity_Text_FullPartyExplanation: @ 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
+PetalburgCity_Text_GymSign: @ 81DCAAA
.string "PETALBURG CITY POKéMON GYM\n"
.string "LEADER: NORMAN\l"
.string "“A man in pursuit of power!”$"
-PetalburgCity_Text_1DCAF1: @ 81DCAF1
+PetalburgCity_Text_CitySign: @ 81DCAF1
.string "PETALBURG CITY\n"
.string "“Where people mingle with nature.”$"
-PetalburgCity_Text_1DCB23: @ 81DCB23
+PetalburgCity_Text_WallyHouseSign: @ 81DCB23
.string "WALLY'S HOUSE$"
-PetalburgCity_Text_1DCB31: @ 81DCB31
+PetalburgCity_Text_AreYouATrainer: @ 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
+PetalburgCity_Text_WellMaybeNot: @ 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
+PetalburgCity_Text_ImLookingForTalentedTrainers: @ 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/maps/PetalburgCity_Gym/map.json b/data/maps/PetalburgCity_Gym/map.json
index ff317c943..30cb6e209 100644
--- a/data/maps/PetalburgCity_Gym/map.json
+++ b/data/maps/PetalburgCity_Gym/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_2049F1",
+ "script": "PetalburgCity_Gym_EventScript_Norman",
"flag": "FLAG_HIDE_PETALBURG_GYM_NORMAN"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_2054AA",
+ "script": "PetalburgCity_Gym_EventScript_Mary",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_2053BA",
+ "script": "PetalburgCity_Gym_EventScript_Randall",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_2053F6",
+ "script": "PetalburgCity_Gym_EventScript_Parker",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_2054E6",
+ "script": "PetalburgCity_Gym_EventScript_Alexia",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_205432",
+ "script": "PetalburgCity_Gym_EventScript_George",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_205522",
+ "script": "PetalburgCity_Gym_EventScript_Jody",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_20546E",
+ "script": "PetalburgCity_Gym_EventScript_Berke",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Gym_EventScript_20574F",
+ "script": "PetalburgCity_Gym_EventScript_GymGuide",
"flag": "FLAG_HIDE_PETALBURG_GYM_GREETER"
},
{
@@ -434,7 +434,7 @@
"y": 105,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205137"
+ "script": "PetalburgCity_Gym_EventScript_SpeedRoomDoor"
},
{
"type": "sign",
@@ -442,7 +442,7 @@
"y": 105,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205187"
+ "script": "PetalburgCity_Gym_EventScript_AccuracyRoomDoor"
},
{
"type": "sign",
@@ -450,7 +450,7 @@
"y": 79,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_2051BC"
+ "script": "PetalburgCity_Gym_EventScript_ConfusionRoomDoor"
},
{
"type": "sign",
@@ -458,7 +458,7 @@
"y": 79,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_2051EF"
+ "script": "PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor"
},
{
"type": "sign",
@@ -466,7 +466,7 @@
"y": 92,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205222"
+ "script": "PetalburgCity_Gym_EventScript_RightDefenseRoomDoor"
},
{
"type": "sign",
@@ -474,7 +474,7 @@
"y": 92,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205255"
+ "script": "PetalburgCity_Gym_EventScript_RecoveryRoomDoor"
},
{
"type": "sign",
@@ -482,7 +482,7 @@
"y": 40,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205288"
+ "script": "PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor"
},
{
"type": "sign",
@@ -490,7 +490,7 @@
"y": 53,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_2052BB"
+ "script": "PetalburgCity_Gym_EventScript_RightStrengthRoomDoor"
},
{
"type": "sign",
@@ -498,7 +498,7 @@
"y": 53,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_2052EE"
+ "script": "PetalburgCity_Gym_EventScript_LeftOHKORoomDoor"
},
{
"type": "sign",
@@ -506,7 +506,7 @@
"y": 66,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205321"
+ "script": "PetalburgCity_Gym_EventScript_RightOHKORoomDoor"
},
{
"type": "sign",
@@ -514,7 +514,7 @@
"y": 14,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205354"
+ "script": "PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor"
},
{
"type": "sign",
@@ -522,7 +522,7 @@
"y": 27,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgCity_Gym_EventScript_205387"
+ "script": "PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor"
},
{
"type": "sign",
@@ -530,7 +530,7 @@
"y": 110,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "PetalburgCity_Gym_EventScript_20576E"
+ "script": "PetalburgCity_Gym_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -538,7 +538,7 @@
"y": 110,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "PetalburgCity_Gym_EventScript_20577E"
+ "script": "PetalburgCity_Gym_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc
index a64c314a5..2c78f0759 100644
--- a/data/maps/PetalburgCity_Gym/scripts.inc
+++ b/data/maps/PetalburgCity_Gym/scripts.inc
@@ -1,219 +1,213 @@
PetalburgCity_Gym_MapScripts:: @ 8204889
- map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnTransition
- map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_MapScript1_20492D
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_Gym_MapScript2_20498B
- map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_Gym_MapScript2_20499A
+ map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_Gym_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_Gym_OnFrame
.byte 0
-PetalburgCity_Gym_OnTransition: @ 820489E
+PetalburgCity_Gym_OnLoad: @ 820489E
compare VAR_PETALBURG_GYM_STATE, 6
- goto_if_eq PetalburgCity_Gym_EventScript_2048B5
+ goto_if_eq PetalburgCity_Gym_EventScript_OpenUnlockedDoors
compare VAR_PETALBURG_GYM_STATE, 7
- call_if_ge PetalburgCity_Gym_EventScript_2048FF
+ call_if_ge PetalburgCity_Gym_EventScript_UnlockAllDoors
end
-PetalburgCity_Gym_EventScript_2048B5:: @ 82048B5
+@ NOTE: Strength and OHKO rooms are misleading. Both are more accurately Critical-Hit
+PetalburgCity_Gym_EventScript_OpenUnlockedDoors:: @ 82048B5
setvar VAR_0x8005, 1
- call PetalburgCity_Gym_EventScript_20555E
- checktrainerflag TRAINER_RANDALL
- call_if_eq PetalburgCity_Gym_EventScript_20557F
- checktrainerflag TRAINER_MARY
- call_if_eq PetalburgCity_Gym_EventScript_2055A0
- checktrainerflag TRAINER_PARKER
- call_if_eq PetalburgCity_Gym_EventScript_2055C1
- checktrainerflag TRAINER_ALEXIA
- call_if_eq PetalburgCity_Gym_EventScript_2055E2
- checktrainerflag TRAINER_GEORGE
- call_if_eq PetalburgCity_Gym_EventScript_205603
- checktrainerflag TRAINER_JODY
- call_if_eq PetalburgCity_Gym_EventScript_205624
- checktrainerflag TRAINER_BERKE
- call_if_eq PetalburgCity_Gym_EventScript_205645
- end
-
-PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF
+ call PetalburgCity_Gym_EventScript_OpenGymEntranceDoors
+ call_if_defeated TRAINER_RANDALL, PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors
+ call_if_defeated TRAINER_MARY, PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors
+ call_if_defeated TRAINER_PARKER, PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors
+ call_if_defeated TRAINER_ALEXIA, PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors
+ call_if_defeated TRAINER_GEORGE, PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors
+ call_if_defeated TRAINER_JODY, PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors
+ call_if_defeated TRAINER_BERKE, PetalburgCity_Gym_EventScript_OpenOHKORoomDoors
+ end
+
+PetalburgCity_Gym_EventScript_UnlockAllDoors:: @ 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
+ call PetalburgCity_Gym_EventScript_OpenGymEntranceDoors
+ call PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors
+ call PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors
+ call PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors
+ call PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors
+ call PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors
+ call PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors
+ call PetalburgCity_Gym_EventScript_OpenOHKORoomDoors
return
-PetalburgCity_Gym_MapScript1_20492D: @ 820492D
+PetalburgCity_Gym_OnTransition: @ 820492D
compare VAR_PETALBURG_GYM_STATE, 1
- call_if_eq PetalburgCity_Gym_EventScript_20494D
+ call_if_eq PetalburgCity_Gym_EventScript_MoveWallyToEntrance
compare VAR_PETALBURG_GYM_STATE, 6
- call_if_lt PetalburgCity_Gym_EventScript_204955
- call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20495D
+ call_if_lt PetalburgCity_Gym_EventScript_MoveNormanToEntrance
+ call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_CheckNormanForRematch
end
-PetalburgCity_Gym_EventScript_20494D:: @ 820494D
+PetalburgCity_Gym_EventScript_MoveWallyToEntrance:: @ 820494D
setobjectxyperm 10, 5, 108
return
-PetalburgCity_Gym_EventScript_204955:: @ 8204955
+PetalburgCity_Gym_EventScript_MoveNormanToEntrance:: @ 8204955
setobjectxyperm 1, 4, 107
return
-PetalburgCity_Gym_EventScript_20495D:: @ 820495D
- setorcopyvar VAR_TRAINER_BATTLE_OPPONENT_A, 269
+PetalburgCity_Gym_EventScript_CheckNormanForRematch:: @ 820495D
+ setorcopyvar VAR_TRAINER_BATTLE_OPPONENT_A, TRAINER_NORMAN_1
specialvar VAR_RESULT, IsTrainerReadyForRematch
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_204985
+ compare VAR_RESULT, TRUE
+ goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront
compare VAR_PETALBURG_GYM_STATE, 8
- goto_if_eq PetalburgCity_Gym_EventScript_204985
+ goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront
setobjectxyperm 1, 4, 107
return
-PetalburgCity_Gym_EventScript_204985:: @ 8204985
+PetalburgCity_Gym_EventScript_DontMoveNormanToFront:: @ 8204985
setvar VAR_PETALBURG_GYM_STATE, 8
end
-PetalburgCity_Gym_MapScript2_20498B: @ 820498B
- map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_204995
+PetalburgCity_Gym_OnWarp: @ 820498B
+ map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_TurnPlayerNorth
.2byte 0
-PetalburgCity_Gym_EventScript_204995:: @ 8204995
- turnobject EVENT_OBJ_ID_PLAYER, 2
+PetalburgCity_Gym_EventScript_TurnPlayerNorth:: @ 8204995
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-PetalburgCity_Gym_MapScript2_20499A: @ 820499A
- map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_2049A4
+PetalburgCity_Gym_OnFrame: @ 820499A
+ map_script_2 VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_ReturnFromWallyTutorial
.2byte 0
-PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4
+PetalburgCity_Gym_EventScript_ReturnFromWallyTutorial:: @ 82049A4
lockall
- msgbox PetalburgCity_Gym_Text_205B32, MSGBOX_DEFAULT
- msgbox PetalburgCity_Gym_Text_205B4C, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_DadSoDidItWorkOut, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_WallyThankYouBye, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
- applymovement 10, PetalburgCity_Gym_Movement_2049EC
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
+ applymovement 10, PetalburgCity_Gym_Movement_WallyExitGym
waitmovement 0
playse SE_KAIDAN
removeobject 10
setflag FLAG_HIDE_PETALBURG_CITY_WALLY
delay 30
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox PetalburgCity_Gym_Text_205C40, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_DadGoCollectBadges, MSGBOX_DEFAULT
setvar VAR_PETALBURG_GYM_STATE, 2
releaseall
end
-PetalburgCity_Gym_Movement_2049EC: @ 82049EC
+PetalburgCity_Gym_Movement_WallyExitGym: @ 82049EC
walk_down
walk_down
walk_down
delay_16
step_end
-PetalburgCity_Gym_EventScript_2049F1:: @ 82049F1
+PetalburgCity_Gym_EventScript_Norman:: @ 82049F1
lock
faceplayer
switch VAR_PETALBURG_GYM_STATE
- 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, MSGBOX_DEFAULT
+ case 2, PetalburgCity_Gym_EventScript_NormanNoBadges
+ case 3, PetalburgCity_Gym_EventScript_NormanOneBadge
+ case 4, PetalburgCity_Gym_EventScript_NormanTwoBadges
+ case 5, PetalburgCity_Gym_EventScript_NormanThreeBadges
+ case 6, PetalburgCity_Gym_EventScript_NormanBattle
+ case 7, PetalburgCity_Gym_EventScript_NormanPostBattle
+ case 8, PetalburgCity_Gym_EventScript_NormanRematch
+ msgbox PetalburgCity_Gym_Text_DadYoureHereWithYourPokemon, MSGBOX_DEFAULT
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
+ case DIR_SOUTH, PetalburgCity_Gym_EventScript_BeginWallyTutorialSouth
+ case DIR_NORTH, PetalburgCity_Gym_EventScript_BeginWallyTutorialNorth
+ case DIR_WEST, PetalburgCity_Gym_EventScript_BeginWallyTutorialWest
+ case DIR_EAST, PetalburgCity_Gym_EventScript_BeginWallyTutorialEast
end
-PetalburgCity_Gym_EventScript_204A80:: @ 8204A80
+PetalburgCity_Gym_EventScript_BeginWallyTutorialSouth:: @ 8204A80
setvar VAR_0x8008, 0
- goto PetalburgCity_Gym_EventScript_204AAC
+ goto PetalburgCity_Gym_EventScript_BeginWallyTutorial
end
-PetalburgCity_Gym_EventScript_204A8B:: @ 8204A8B
+PetalburgCity_Gym_EventScript_BeginWallyTutorialNorth:: @ 8204A8B
setvar VAR_0x8008, 1
- goto PetalburgCity_Gym_EventScript_204AAC
+ goto PetalburgCity_Gym_EventScript_BeginWallyTutorial
end
-PetalburgCity_Gym_EventScript_204A96:: @ 8204A96
+PetalburgCity_Gym_EventScript_BeginWallyTutorialWest:: @ 8204A96
setvar VAR_0x8008, 2
- goto PetalburgCity_Gym_EventScript_204AAC
+ goto PetalburgCity_Gym_EventScript_BeginWallyTutorial
end
-PetalburgCity_Gym_EventScript_204AA1:: @ 8204AA1
+PetalburgCity_Gym_EventScript_BeginWallyTutorialEast:: @ 8204AA1
setvar VAR_0x8008, 3
- goto PetalburgCity_Gym_EventScript_204AAC
+ goto PetalburgCity_Gym_EventScript_BeginWallyTutorial
end
-PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
- addobject 10
+PetalburgCity_Gym_EventScript_BeginWallyTutorial:: @ 8204AAC
+ addobject 10 @ Wally
playse SE_DOOR
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_204C31
+ call_if_eq PetalburgCity_Gym_EventScript_WallyArriveSouth
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204C43
+ call_if_eq PetalburgCity_Gym_EventScript_WallyArriveNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_204C5F
+ call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_204C5F
- msgbox PetalburgCity_Gym_Text_2058B1, MSGBOX_DEFAULT
- msgbox PetalburgCity_Gym_Text_2058DB, MSGBOX_DEFAULT
- msgbox PetalburgCity_Gym_Text_205910, MSGBOX_DEFAULT
- msgbox PetalburgCity_Gym_Text_2059D8, MSGBOX_DEFAULT
+ call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast
+ msgbox PetalburgCity_Gym_Text_WallyIdLikeAPokemon, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_DadOhYoureWallyRight, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_WallyIveNeverCaughtAPokemon, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_DadHmISee, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_204CC7
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204CD2
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_204CE4
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerWest
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_204CF6
- msgbox PetalburgCity_Gym_Text_2059E8, MSGBOX_DEFAULT
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerEast
+ msgbox PetalburgCity_Gym_Text_DadPlayerGoWithWally, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_204D08
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallySouth
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204D13
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_204D1E
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyWest
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_204D29
- msgbox PetalburgCity_Gym_Text_205A46, MSGBOX_DEFAULT
- msgbox PetalburgCity_Gym_Text_205A89, MSGBOX_DEFAULT
- msgbox PetalburgCity_Gym_Text_205AF4, MSGBOX_DEFAULT
+ call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyEast
+ msgbox PetalburgCity_Gym_Text_IllLoanYouMyZigzagoon, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_WallyThankYouAndDadGivesPokeBall, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_WallyOhWowThankYou, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_204D72
+ call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorSouth
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204D73
+ call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_204D7E
+ call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorWest
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_204D7F
+ call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorEast
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_204D34
+ call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204D3F
+ call_if_eq PetalburgCity_Gym_EventScript_WallyFaceDown
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_204D34
+ call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_204D34
- msgbox PetalburgCity_Gym_Text_205B0F, MSGBOX_DEFAULT
+ call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer
+ msgbox PetalburgCity_Gym_Text_WouldYouReallyComeWithMe, MSGBOX_DEFAULT
closemessage
- setflag FLAG_SPECIAL_FLAG_0x4001
+ setflag FLAG_DONT_TRANSITION_MUSIC
playbgm MUS_TSURETEK, 0
compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_204C78
+ call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallySouth
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204C91
+ call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_204CA3
+ call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyWest
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_204CB5
+ call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyEast
removeobject 10
setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT
setvar VAR_PETALBURG_GYM_STATE, 1
@@ -227,242 +221,243 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
release
end
-PetalburgCity_Gym_EventScript_204C31:: @ 8204C31
- applymovement 1, Common_Movement_WalkInPlaceDown
- applymovement 10, PetalburgCity_Gym_Movement_2050EB
+PetalburgCity_Gym_EventScript_WallyArriveSouth:: @ 8204C31
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
+ applymovement 10, PetalburgCity_Gym_Movement_WallyArrive
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204C43:: @ 8204C43
- applymovement 10, PetalburgCity_Gym_Movement_2050E1
+PetalburgCity_Gym_EventScript_WallyArriveNorth:: @ 8204C43
+ applymovement 10, PetalburgCity_Gym_Movement_WallyArriveNorth
waitmovement 0
- applymovement 1, Common_Movement_WalkInPlaceRight
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F
- applymovement 1, Common_Movement_WalkInPlaceDown
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
- applymovement 10, PetalburgCity_Gym_Movement_2050EB
+PetalburgCity_Gym_EventScript_WallyArriveWestEast:: @ 8204C5F
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
+ applymovement 10, PetalburgCity_Gym_Movement_WallyArrive
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204C78:: @ 8204C78
- applymovement 1, Common_Movement_WalkInPlaceDown
- applymovement 10, PetalburgCity_Gym_Movement_205102
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205111
+PetalburgCity_Gym_EventScript_ExitGymWithWallySouth:: @ 8204C78
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
+ applymovement 10, PetalburgCity_Gym_Movement_WallyExitSouthWest
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallySouth
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204C91:: @ 8204C91
- applymovement 10, PetalburgCity_Gym_Movement_2050F2
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205109
+PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth:: @ 8204C91
+ applymovement 10, PetalburgCity_Gym_Movement_WallyExitNorth
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3
- applymovement 10, PetalburgCity_Gym_Movement_205102
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_20511B
+PetalburgCity_Gym_EventScript_ExitGymWithWallyWest:: @ 8204CA3
+ applymovement 10, PetalburgCity_Gym_Movement_WallyExitSouthWest
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyWest
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5
- applymovement 10, PetalburgCity_Gym_Movement_2050FA
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205123
+PetalburgCity_Gym_EventScript_ExitGymWithWallyEast:: @ 8204CB5
+ applymovement 10, PetalburgCity_Gym_Movement_WallyExitEast
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyEast
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7
- applymovement 1, Common_Movement_WalkInPlaceUp
+PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth:: @ 8204CC7
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2
- applymovement 1, Common_Movement_WalkInPlaceDown
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth:: @ 8204CD2
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4
- applymovement 1, Common_Movement_WalkInPlaceRight
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+PetalburgCity_Gym_EventScript_NormanAddressPlayerWest:: @ 8204CE4
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6
- applymovement 1, Common_Movement_WalkInPlaceLeft
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+PetalburgCity_Gym_EventScript_NormanAddressPlayerEast:: @ 8204CF6
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D08:: @ 8204D08
- applymovement 1, Common_Movement_WalkInPlaceDown
+PetalburgCity_Gym_EventScript_NormanAddressWallySouth:: @ 8204D08
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D13:: @ 8204D13
- applymovement 1, Common_Movement_WalkInPlaceRight
+PetalburgCity_Gym_EventScript_NormanAddressWallyNorth:: @ 8204D13
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D1E:: @ 8204D1E
- applymovement 1, Common_Movement_WalkInPlaceDown
+PetalburgCity_Gym_EventScript_NormanAddressWallyWest:: @ 8204D1E
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D29:: @ 8204D29
- applymovement 1, Common_Movement_WalkInPlaceDown
+PetalburgCity_Gym_EventScript_NormanAddressWallyEast:: @ 8204D29
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D34:: @ 8204D34
+PetalburgCity_Gym_EventScript_WallyFacePlayer:: @ 8204D34
applymovement 10, Common_Movement_FacePlayer
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D3F:: @ 8204D3F
- applymovement 10, Common_Movement_WalkInPlaceDown
+PetalburgCity_Gym_EventScript_WallyFaceDown:: @ 8204D3F
+ applymovement 10, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D4A:: @ 8204D4A
- msgbox PetalburgCity_Gym_Text_205DB4, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_NormanNoBadges:: @ 8204D4A
+ msgbox PetalburgCity_Gym_Text_NormanGoToRustboro, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_204D54:: @ 8204D54
- msgbox PetalburgCity_Gym_Text_205EAE, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_NormanOneBadge:: @ 8204D54
+ msgbox PetalburgCity_Gym_Text_NormanGoToDewford, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_204D5E:: @ 8204D5E
- msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_NormanTwoBadges:: @ 8204D5E
+ msgbox PetalburgCity_Gym_Text_YouHaveGottenStronger, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_204D68:: @ 8204D68
- msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_NormanThreeBadges:: @ 8204D68
+ msgbox PetalburgCity_Gym_Text_YouHaveGottenStronger, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_204D72:: @ 8204D72
+PetalburgCity_Gym_EventScript_NormanFaceDoorSouth:: @ 8204D72
return
-PetalburgCity_Gym_EventScript_204D73:: @ 8204D73
- applymovement 1, Common_Movement_WalkInPlaceDown
+@ For all other NormanFaceDoorX, Norman is already facing the door from NormanAddressWallyX
+PetalburgCity_Gym_EventScript_NormanFaceDoorNorth:: @ 8204D73
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204D7E:: @ 8204D7E
+PetalburgCity_Gym_EventScript_NormanFaceDoorWest:: @ 8204D7E
return
-PetalburgCity_Gym_EventScript_204D7F:: @ 8204D7F
+PetalburgCity_Gym_EventScript_NormanFaceDoorEast:: @ 8204D7F
return
-PetalburgCity_Gym_EventScript_204D80:: @ 8204D80
- call PetalburgCity_Gym_EventScript_204DCE
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_204E1D
- goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_204DAC
- goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20512D
- msgbox PetalburgCity_Gym_Text_206417, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_NormanPostBattle:: @ 8204D80
+ call PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry
+ compare VAR_RESULT, TRUE
+ goto_if_eq PetalburgCity_Gym_EventScript_GiveEnigmaBerry
+ goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_GiveFacade2
+ goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough
+ msgbox PetalburgCity_Gym_Text_DadGoingToKeepTraining, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_204DAC:: @ 8204DAC
- call PetalburgCity_Gym_EventScript_204ED2
+PetalburgCity_Gym_EventScript_GiveFacade2:: @ 8204DAC
+ call PetalburgCity_Gym_EventScript_GiveFacade
release
end
-PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3
- trainerbattle_rematch_double TRAINER_NORMAN_1, PetalburgCity_Gym_Text_2074A2, PetalburgCity_Gym_Text_2075CE, PetalburgCity_Gym_Text_20764A
- msgbox PetalburgCity_Gym_Text_2075F7, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_NormanRematch:: @ 8204DB3
+ trainerbattle_rematch_double TRAINER_NORMAN_1, PetalburgCity_Gym_Text_NormanPreRematch, PetalburgCity_Gym_Text_NormanRematchDefeat, PetalburgCity_Gym_Text_NormanRematchNeedTwoMons
+ msgbox PetalburgCity_Gym_Text_NormanPostRematch, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE
+PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry:: @ 8204DCE
specialvar VAR_RESULT, IsEnigmaBerryValid
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_204E17
+ compare VAR_RESULT, FALSE
+ goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
checkitem ITEM_ENIGMA_BERRY, 1
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_204E17
+ compare VAR_RESULT, TRUE
+ goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
checkpcitem ITEM_ENIGMA_BERRY, 1
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_204E17
+ compare VAR_RESULT, TRUE
+ goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
compare VAR_ENIGMA_BERRY_AVAILABLE, 0
- goto_if_eq PetalburgCity_Gym_EventScript_204E17
- msgbox PetalburgCity_Gym_Text_2A6D3D, MSGBOX_DEFAULT
- setvar VAR_RESULT, 1
+ goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
+ msgbox PetalburgCity_Gym_Text_GiveEnigmaBerry, MSGBOX_DEFAULT
+ setvar VAR_RESULT, TRUE
return
-PetalburgCity_Gym_EventScript_204E17:: @ 8204E17
- setvar VAR_RESULT, 0
+PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry:: @ 8204E17
+ setvar VAR_RESULT, FALSE
return
-PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D
- giveitem_std ITEM_ENIGMA_BERRY
+PetalburgCity_Gym_EventScript_GiveEnigmaBerry:: @ 8204E1D
+ giveitem ITEM_ENIGMA_BERRY
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setvar VAR_ENIGMA_BERRY_AVAILABLE, 0
release
end
-PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B
- msgbox PetalburgCity_Gym_Text_205FE5, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_NORMAN_1, PetalburgCity_Gym_Text_206107
- message PetalburgCity_Gym_Text_206162
+PetalburgCity_Gym_EventScript_NormanBattle:: @ 8204E3B
+ msgbox PetalburgCity_Gym_Text_NormanIntro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_NORMAN_1, PetalburgCity_Gym_Text_NormanDefeat
+ message PetalburgCity_Gym_Text_ReceivedBalanceBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox PetalburgCity_Gym_Text_20618A, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_ExplainBalanceBadgeTakeThis, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_PETALBURG_GYM
setvar VAR_PETALBURG_GYM_STATE, 7
setflag FLAG_BADGE05_GET
- special sub_813B9A0
- call PetalburgCity_Gym_EventScript_2721F8
+ special ResetHealLocationFromDewford
+ call EventScript_HideMrBriney
setflag FLAG_HIDE_MAUVILLE_GYM_WATTSON
clearflag FLAG_HIDE_MAUVILLE_CITY_WATTSON
setvar VAR_0x8008, 5
- call PetalburgCity_Gym_EventScript_271F43
+ call Common_EventScript_SetGymTrainers
clearflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN
- call PetalburgCity_Gym_EventScript_2048FF
+ call PetalburgCity_Gym_EventScript_UnlockAllDoors
special DrawWholeMapView
- call PetalburgCity_Gym_EventScript_204ED2
+ call PetalburgCity_Gym_EventScript_GiveFacade
delay 30
- msgbox PetalburgCity_Gym_Text_2062FB, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_DadHappyAndSad, MSGBOX_DEFAULT
closemessage
delay 40
playse SE_DOOR
delay 10
- addobject 11
+ addobject 11 @ Wallys Uncle
switch VAR_FACING
- case 2, PetalburgCity_Gym_EventScript_204EF5
- case 3, PetalburgCity_Gym_EventScript_204F09
- case 4, PetalburgCity_Gym_EventScript_204EFF
+ case DIR_NORTH, PetalburgCity_Gym_EventScript_WallysUncleArrivesNorth
+ case DIR_WEST, PetalburgCity_Gym_EventScript_WallysUncleArrivesWest
+ case DIR_EAST, PetalburgCity_Gym_EventScript_WallysUncleArrivesEast
end
-PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2
- giveitem_std ITEM_TM42
+PetalburgCity_Gym_EventScript_GiveFacade:: @ 8204ED2
+ giveitem ITEM_TM42
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_BagIsFull
setflag FLAG_RECEIVED_TM42
- msgbox PetalburgCity_Gym_Text_206254, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_ExplainFacade, MSGBOX_DEFAULT
return
-PetalburgCity_Gym_EventScript_204EF5:: @ 8204EF5
+PetalburgCity_Gym_EventScript_WallysUncleArrivesNorth:: @ 8204EF5
setvar VAR_0x8008, 1
- goto PetalburgCity_Gym_EventScript_204F13
+ goto PetalburgCity_Gym_EventScript_WallysUncleArrives
-PetalburgCity_Gym_EventScript_204EFF:: @ 8204EFF
+PetalburgCity_Gym_EventScript_WallysUncleArrivesEast:: @ 8204EFF
setvar VAR_0x8008, 2
- goto PetalburgCity_Gym_EventScript_204F13
+ goto PetalburgCity_Gym_EventScript_WallysUncleArrives
-PetalburgCity_Gym_EventScript_204F09:: @ 8204F09
+PetalburgCity_Gym_EventScript_WallysUncleArrivesWest:: @ 8204F09
setvar VAR_0x8008, 3
- goto PetalburgCity_Gym_EventScript_204F13
+ goto PetalburgCity_Gym_EventScript_WallysUncleArrives
-PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
- applymovement 11, PetalburgCity_Gym_Movement_2050BB
+PetalburgCity_Gym_EventScript_WallysUncleArrives:: @ 8204F13
+ applymovement 11, PetalburgCity_Gym_Movement_WallysUncleEnterGym
waitmovement 0
playse SE_PIN
applymovement 11, Common_Movement_ExclamationMark
@@ -471,30 +466,30 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
waitmovement 0
delay 10
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204FED
+ call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_205009
+ call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerEast
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_205025
- msgbox PetalburgCity_Gym_Text_206377, MSGBOX_DEFAULT
+ call_if_eq PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerWest
+ msgbox PetalburgCity_Gym_Text_PleaseComeWithMe, MSGBOX_DEFAULT
closemessage
delay 20
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_204FCC
+ call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_204FD7
+ call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanEast
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_204FE2
- msgbox PetalburgCity_Gym_Text_2063CA, MSGBOX_DEFAULT
+ call_if_eq PetalburgCity_Gym_EventScript_WallysUncleFaceNormanWest
+ msgbox PetalburgCity_Gym_Text_LetMeBorrowPlayer, MSGBOX_DEFAULT
closemessage
- setflag FLAG_SPECIAL_FLAG_0x4001
+ setflag FLAG_DONT_TRANSITION_MUSIC
playbgm MUS_TSURETEK, 0
compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_205041
+ call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleNorth
compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_20505A
+ call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleEast
compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_20506C
+ call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleWest
removeobject 11
setvar VAR_PETALBURG_CITY_STATE, 4
clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
@@ -503,65 +498,65 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
release
end
-PetalburgCity_Gym_EventScript_204FCC:: @ 8204FCC
- applymovement 11, Common_Movement_WalkInPlaceUp
+PetalburgCity_Gym_EventScript_WallysUncleFaceNormanNorth:: @ 8204FCC
+ applymovement 11, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204FD7:: @ 8204FD7
- applymovement 11, Common_Movement_WalkInPlaceRight
+PetalburgCity_Gym_EventScript_WallysUncleFaceNormanEast:: @ 8204FD7
+ applymovement 11, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2
- applymovement 11, Common_Movement_WalkInPlaceLeft
+PetalburgCity_Gym_EventScript_WallysUncleFaceNormanWest:: @ 8204FE2
+ applymovement 11, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-PetalburgCity_Gym_EventScript_204FED:: @ 8204FED
- applymovement 11, PetalburgCity_Gym_Movement_2050C3
+PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerNorth:: @ 8204FED
+ applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerNorth
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
- applymovement 1, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-PetalburgCity_Gym_EventScript_205009:: @ 8205009
- applymovement 11, PetalburgCity_Gym_Movement_2050CA
+PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerEast:: @ 8205009
+ applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerEast
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
- applymovement 1, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_Gym_EventScript_205025:: @ 8205025
- applymovement 11, PetalburgCity_Gym_Movement_2050D0
+PetalburgCity_Gym_EventScript_WallysUncleApproachPlayerWest:: @ 8205025
+ applymovement 11, PetalburgCity_Gym_Movement_WallysUncleApproachPlayerWest
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
- applymovement 1, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-PetalburgCity_Gym_EventScript_205041:: @ 8205041
- applymovement 11, PetalburgCity_Gym_Movement_20507E
- applymovement 1, Common_Movement_WalkInPlaceDown
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A1
+PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleNorth:: @ 8205041
+ applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitNorth
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleNorth
waitmovement 0
return
-PetalburgCity_Gym_EventScript_20505A:: @ 820505A
- applymovement 11, PetalburgCity_Gym_Movement_205089
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A9
+PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleEast:: @ 820505A
+ applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitEast
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleEast
waitmovement 0
return
-PetalburgCity_Gym_EventScript_20506C:: @ 820506C
- applymovement 11, PetalburgCity_Gym_Movement_205094
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050B1
+PetalburgCity_Gym_EventScript_ExitGymWithWallysUncleWest:: @ 820506C
+ applymovement 11, PetalburgCity_Gym_Movement_WallysUncleExitWest
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleWest
waitmovement 0
return
-PetalburgCity_Gym_Movement_20507E: @ 820507E
+PetalburgCity_Gym_Movement_WallysUncleExitNorth: @ 820507E
walk_down
walk_down
walk_left
@@ -574,7 +569,7 @@ PetalburgCity_Gym_Movement_20507E: @ 820507E
set_invisible
step_end
-PetalburgCity_Gym_Movement_205089: @ 8205089
+PetalburgCity_Gym_Movement_WallysUncleExitEast: @ 8205089
walk_down
walk_down
walk_left
@@ -587,7 +582,7 @@ PetalburgCity_Gym_Movement_205089: @ 8205089
set_invisible
step_end
-PetalburgCity_Gym_Movement_205094: @ 8205094
+PetalburgCity_Gym_Movement_WallysUncleExitWest: @ 8205094
walk_down
walk_down
walk_left
@@ -602,7 +597,7 @@ PetalburgCity_Gym_Movement_205094: @ 8205094
set_invisible
step_end
-PetalburgCity_Gym_Movement_2050A1: @ 82050A1
+PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleNorth: @ 82050A1
delay_16
walk_down
walk_down
@@ -612,7 +607,7 @@ PetalburgCity_Gym_Movement_2050A1: @ 82050A1
walk_down
step_end
-PetalburgCity_Gym_Movement_2050A9: @ 82050A9
+PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleEast: @ 82050A9
delay_16
walk_down
walk_down
@@ -622,7 +617,7 @@ PetalburgCity_Gym_Movement_2050A9: @ 82050A9
walk_down
step_end
-PetalburgCity_Gym_Movement_2050B1: @ 82050B1
+PetalburgCity_Gym_Movement_PlayerExitWithWallysUncleWest: @ 82050B1
delay_16
walk_down
walk_down
@@ -634,7 +629,7 @@ PetalburgCity_Gym_Movement_2050B1: @ 82050B1
walk_down
step_end
-PetalburgCity_Gym_Movement_2050BB: @ 82050BB
+PetalburgCity_Gym_Movement_WallysUncleEnterGym: @ 82050BB
walk_up
delay_8
walk_in_place_fastest_right
@@ -644,7 +639,7 @@ PetalburgCity_Gym_Movement_2050BB: @ 82050BB
walk_in_place_fastest_up
step_end
-PetalburgCity_Gym_Movement_2050C3: @ 82050C3
+PetalburgCity_Gym_Movement_WallysUncleApproachPlayerNorth: @ 82050C3
walk_right
walk_right
walk_up
@@ -653,7 +648,7 @@ PetalburgCity_Gym_Movement_2050C3: @ 82050C3
walk_in_place_fastest_right
step_end
-PetalburgCity_Gym_Movement_2050CA: @ 82050CA
+PetalburgCity_Gym_Movement_WallysUncleApproachPlayerEast: @ 82050CA
walk_right
walk_right
walk_up
@@ -661,7 +656,7 @@ PetalburgCity_Gym_Movement_2050CA: @ 82050CA
walk_up
step_end
-PetalburgCity_Gym_Movement_2050D0: @ 82050D0
+PetalburgCity_Gym_Movement_WallysUncleApproachPlayerWest: @ 82050D0
walk_right
walk_right
walk_up
@@ -671,7 +666,7 @@ PetalburgCity_Gym_Movement_2050D0: @ 82050D0
walk_up
step_end
-PetalburgCity_Gym_Movement_2050D8: @ 82050D8
+PetalburgCity_Gym_Movement_Unused: @ 82050D8
walk_in_place_fastest_up
delay_16
delay_16
@@ -682,7 +677,7 @@ PetalburgCity_Gym_Movement_2050D8: @ 82050D8
walk_in_place_fastest_down
step_end
-PetalburgCity_Gym_Movement_2050E1: @ 82050E1
+PetalburgCity_Gym_Movement_WallyArriveNorth: @ 82050E1
delay_16
walk_up
delay_16
@@ -694,7 +689,7 @@ PetalburgCity_Gym_Movement_2050E1: @ 82050E1
walk_in_place_fastest_left
step_end
-PetalburgCity_Gym_Movement_2050EB: @ 82050EB
+PetalburgCity_Gym_Movement_WallyArrive: @ 82050EB
delay_16
walk_up
delay_16
@@ -703,7 +698,7 @@ PetalburgCity_Gym_Movement_2050EB: @ 82050EB
walk_up
step_end
-PetalburgCity_Gym_Movement_2050F2: @ 82050F2
+PetalburgCity_Gym_Movement_WallyExitNorth: @ 82050F2
walk_down
walk_down
walk_down
@@ -713,7 +708,7 @@ PetalburgCity_Gym_Movement_2050F2: @ 82050F2
walk_in_place_down
step_end
-PetalburgCity_Gym_Movement_2050FA: @ 82050FA
+PetalburgCity_Gym_Movement_WallyExitEast: @ 82050FA
walk_down
walk_down
walk_right
@@ -723,7 +718,7 @@ PetalburgCity_Gym_Movement_2050FA: @ 82050FA
walk_in_place_down
step_end
-PetalburgCity_Gym_Movement_205102: @ 8205102
+PetalburgCity_Gym_Movement_WallyExitSouthWest: @ 8205102
walk_down
walk_down
walk_down
@@ -732,7 +727,7 @@ PetalburgCity_Gym_Movement_205102: @ 8205102
walk_in_place_down
step_end
-PetalburgCity_Gym_Movement_205109: @ 8205109
+PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth: @ 8205109
delay_16
delay_16
delay_16
@@ -742,7 +737,7 @@ PetalburgCity_Gym_Movement_205109: @ 8205109
delay_8
step_end
-PetalburgCity_Gym_Movement_205111: @ 8205111
+PetalburgCity_Gym_Movement_PlayerExitWithWallySouth: @ 8205111
delay_16
delay_16
walk_right
@@ -754,7 +749,7 @@ PetalburgCity_Gym_Movement_205111: @ 8205111
delay_8
step_end
-PetalburgCity_Gym_Movement_20511B: @ 820511B
+PetalburgCity_Gym_Movement_PlayerExitWithWallyWest: @ 820511B
delay_16
delay_16
walk_down
@@ -764,7 +759,7 @@ PetalburgCity_Gym_Movement_20511B: @ 820511B
delay_8
step_end
-PetalburgCity_Gym_Movement_205123: @ 8205123
+PetalburgCity_Gym_Movement_PlayerExitWithWallyEast: @ 8205123
walk_in_place_fastest_down
delay_16
delay_16
@@ -776,468 +771,461 @@ PetalburgCity_Gym_Movement_205123: @ 8205123
delay_8
step_end
-PetalburgCity_Gym_EventScript_20512D:: @ 820512D
- msgbox PetalburgCity_Gym_Text_2064C3, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough:: @ 820512D
+ msgbox PetalburgCity_Gym_Text_DadNoAmountOfTrainingIsEnough, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_205137:: @ 8205137
+PetalburgCity_Gym_EventScript_SpeedRoomDoor:: @ 8205137
lockall
compare VAR_PETALBURG_GYM_STATE, 6
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 7
setvar VAR_0x8009, 85
- msgbox PetalburgCity_Gym_Text_20721E, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterSpeedRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_20516C:: @ 820516C
+PetalburgCity_Gym_EventScript_EnterRoom:: @ 820516C
closemessage
delay 30
- warpdoor MAP_PETALBURG_CITY_GYM, 255, 32776, 32777
+ warpdoor MAP_PETALBURG_CITY_GYM, 255, VAR_0x8008, VAR_0x8009
waitstate
releaseall
end
-PetalburgCity_Gym_EventScript_20517B:: @ 820517B
+PetalburgCity_Gym_EventScript_DontEnterRoom:: @ 820517B
releaseall
end
-PetalburgCity_Gym_EventScript_20517D:: @ 820517D
- msgbox PetalburgCity_Gym_Text_2071F4, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_DoorLocked:: @ 820517D
+ msgbox PetalburgCity_Gym_Text_DoorAppearsLocked, MSGBOX_DEFAULT
releaseall
end
-PetalburgCity_Gym_EventScript_205187:: @ 8205187
+@ VAR_0x8008 and VAR_0x8009 below are the x and y coordinates of the warp
+PetalburgCity_Gym_EventScript_AccuracyRoomDoor:: @ 8205187
lockall
compare VAR_PETALBURG_GYM_STATE, 6
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 1
setvar VAR_0x8009, 98
- msgbox PetalburgCity_Gym_Text_207280, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterAccuracyRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC
+PetalburgCity_Gym_EventScript_ConfusionRoomDoor:: @ 82051BC
lockall
- checktrainerflag TRAINER_RANDALL
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_RANDALL, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 7
setvar VAR_0x8009, 46
- msgbox PetalburgCity_Gym_Text_2072BB, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterConfusionRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF
+PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor:: @ 82051EF
lockall
- checktrainerflag TRAINER_RANDALL
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_RANDALL, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 1
setvar VAR_0x8009, 59
- msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_205222:: @ 8205222
+PetalburgCity_Gym_EventScript_RightDefenseRoomDoor:: @ 8205222
lockall
- checktrainerflag TRAINER_MARY
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_MARY, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 7
setvar VAR_0x8009, 59
- msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_205255:: @ 8205255
+PetalburgCity_Gym_EventScript_RecoveryRoomDoor:: @ 8205255
lockall
- checktrainerflag TRAINER_MARY
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_MARY, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 1
setvar VAR_0x8009, 72
- msgbox PetalburgCity_Gym_Text_207331, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterRecoveryRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_205288:: @ 8205288
+PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor:: @ 8205288
lockall
- checktrainerflag TRAINER_PARKER
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_PARKER, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 1
setvar VAR_0x8009, 20
- msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB
+PetalburgCity_Gym_EventScript_RightStrengthRoomDoor:: @ 82052BB
lockall
- checktrainerflag TRAINER_ALEXIA
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_ALEXIA, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 7
setvar VAR_0x8009, 20
- msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE
+PetalburgCity_Gym_EventScript_LeftOHKORoomDoor:: @ 82052EE
lockall
- checktrainerflag TRAINER_ALEXIA
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_ALEXIA, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 1
setvar VAR_0x8009, 33
- msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_205321:: @ 8205321
+PetalburgCity_Gym_EventScript_RightOHKORoomDoor:: @ 8205321
lockall
- checktrainerflag TRAINER_GEORGE
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_GEORGE, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 7
setvar VAR_0x8009, 33
- msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_205354:: @ 8205354
+PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor:: @ 8205354
lockall
- checktrainerflag TRAINER_JODY
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_JODY, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 1
setvar VAR_0x8009, 7
- msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_205387:: @ 8205387
+PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor:: @ 8205387
lockall
- checktrainerflag TRAINER_BERKE
- goto_if_lt PetalburgCity_Gym_EventScript_20517D
+ goto_if_not_defeated TRAINER_BERKE, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 7
setvar VAR_0x8009, 7
- msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_Gym_EventScript_20516C
- compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_Gym_EventScript_20517B
+ msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
+ compare VAR_RESULT, NO
+ goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
end
-PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA
- trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2053ED
- msgbox PetalburgCity_Gym_Text_2067D8, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_Randall:: @ 82053BA
+ trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_RandallIntro, PetalburgCity_Gym_Text_RandallDefeat, PetalburgCity_Gym_EventScript_SlideOpenSpeedRoomDoors
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_RandallPostBadge
+ msgbox PetalburgCity_Gym_Text_RandallPostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_2053DE:: @ 82053DE
+PetalburgCity_Gym_EventScript_SlideOpenSpeedRoomDoors:: @ 82053DE
setvar VAR_0x8005, 0
- call PetalburgCity_Gym_EventScript_20557F
+ call PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors
special DrawWholeMapView
release
end
-PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED
- msgbox PetalburgCity_Gym_Text_20685E, MSGBOX_NPC
+PetalburgCity_Gym_EventScript_RandallPostBadge:: @ 82053ED
+ msgbox PetalburgCity_Gym_Text_RandallPostBadge, MSGBOX_NPC
end
-PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6
- trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205429
- msgbox PetalburgCity_Gym_Text_206996, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_Parker:: @ 82053F6
+ trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_ParkerIntro, PetalburgCity_Gym_Text_ParkerDefeat, PetalburgCity_Gym_EventScript_SlideOpenConfusionRoomDoors
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_ParkerPostBadge
+ msgbox PetalburgCity_Gym_Text_ParkerPostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_20541A:: @ 820541A
+PetalburgCity_Gym_EventScript_SlideOpenConfusionRoomDoors:: @ 820541A
setvar VAR_0x8005, 0
- call PetalburgCity_Gym_EventScript_2055C1
+ call PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors
special DrawWholeMapView
release
end
-PetalburgCity_Gym_EventScript_205429:: @ 8205429
- msgbox PetalburgCity_Gym_Text_2069D9, MSGBOX_NPC
+PetalburgCity_Gym_EventScript_ParkerPostBadge:: @ 8205429
+ msgbox PetalburgCity_Gym_Text_ParkerPostBadge, MSGBOX_NPC
end
-PetalburgCity_Gym_EventScript_205432:: @ 8205432
- trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205465
- msgbox PetalburgCity_Gym_Text_206AE9, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_George:: @ 8205432
+ trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_GeorgeIntro, PetalburgCity_Gym_Text_GeorgeDefeat, PetalburgCity_Gym_EventScript_SlideOpenRecoveryRoomDoors
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_GeorgePostBadge
+ msgbox PetalburgCity_Gym_Text_GeorgePostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_205456:: @ 8205456
+PetalburgCity_Gym_EventScript_SlideOpenRecoveryRoomDoors:: @ 8205456
setvar VAR_0x8005, 0
- call PetalburgCity_Gym_EventScript_205603
+ call PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors
special DrawWholeMapView
release
end
-PetalburgCity_Gym_EventScript_205465:: @ 8205465
- msgbox PetalburgCity_Gym_Text_206BB1, MSGBOX_NPC
+PetalburgCity_Gym_EventScript_GeorgePostBadge:: @ 8205465
+ msgbox PetalburgCity_Gym_Text_GeorgePostBadge, MSGBOX_NPC
end
-PetalburgCity_Gym_EventScript_20546E:: @ 820546E
- trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054A1
- msgbox PetalburgCity_Gym_Text_206C9F, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_Berke:: @ 820546E
+ trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_BerkeIntro, PetalburgCity_Gym_Text_BerkeDefeat, PetalburgCity_Gym_EventScript_SlideOpenOHKORoomDoors
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_BerkePostBadge
+ msgbox PetalburgCity_Gym_Text_BerkePostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_205492:: @ 8205492
+PetalburgCity_Gym_EventScript_SlideOpenOHKORoomDoors:: @ 8205492
setvar VAR_0x8005, 0
- call PetalburgCity_Gym_EventScript_205645
+ call PetalburgCity_Gym_EventScript_OpenOHKORoomDoors
special DrawWholeMapView
release
end
-PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1
- msgbox PetalburgCity_Gym_Text_206D56, MSGBOX_NPC
+PetalburgCity_Gym_EventScript_BerkePostBadge:: @ 82054A1
+ msgbox PetalburgCity_Gym_Text_BerkePostBadge, MSGBOX_NPC
end
-PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA
- trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_2054DD
- msgbox PetalburgCity_Gym_Text_206E26, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_Mary:: @ 82054AA
+ trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_MaryIntro, PetalburgCity_Gym_Text_MaryDefeat, PetalburgCity_Gym_EventScript_SlideOpenAccuracyRoomDoors
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_MaryPostBadge
+ msgbox PetalburgCity_Gym_Text_MaryPostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_2054CE:: @ 82054CE
+PetalburgCity_Gym_EventScript_SlideOpenAccuracyRoomDoors:: @ 82054CE
setvar VAR_0x8005, 0
- call PetalburgCity_Gym_EventScript_2055A0
+ call PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors
special DrawWholeMapView
release
end
-PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD
- msgbox PetalburgCity_Gym_Text_206ED8, MSGBOX_NPC
+PetalburgCity_Gym_EventScript_MaryPostBadge:: @ 82054DD
+ msgbox PetalburgCity_Gym_Text_MaryPostBadge, MSGBOX_NPC
end
-PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6
- trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205519
- msgbox PetalburgCity_Gym_Text_206F9F, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_Alexia:: @ 82054E6
+ trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_AlexiaIntro, PetalburgCity_Gym_Text_AlexiaDefeat, PetalburgCity_Gym_EventScript_SlideOpenDefenseRoomDoors
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_AlexiaPostBadge
+ msgbox PetalburgCity_Gym_Text_AlexiaPostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_20550A:: @ 820550A
+PetalburgCity_Gym_EventScript_SlideOpenDefenseRoomDoors:: @ 820550A
setvar VAR_0x8005, 0
- call PetalburgCity_Gym_EventScript_2055E2
+ call PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors
special DrawWholeMapView
release
end
-PetalburgCity_Gym_EventScript_205519:: @ 8205519
- msgbox PetalburgCity_Gym_Text_207069, MSGBOX_NPC
+PetalburgCity_Gym_EventScript_AlexiaPostBadge:: @ 8205519
+ msgbox PetalburgCity_Gym_Text_AlexiaPostBadge, MSGBOX_NPC
end
-PetalburgCity_Gym_EventScript_205522:: @ 8205522
- trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205555
- msgbox PetalburgCity_Gym_Text_2070FB, MSGBOX_AUTOCLOSE
+PetalburgCity_Gym_EventScript_Jody:: @ 8205522
+ trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_JodyIntro, PetalburgCity_Gym_Text_JodyDefeat, PetalburgCity_Gym_EventScript_SlideOpenStrengthRoomDoors
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_JodyPostBadge
+ msgbox PetalburgCity_Gym_Text_JodyPostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Gym_EventScript_205546:: @ 8205546
+PetalburgCity_Gym_EventScript_SlideOpenStrengthRoomDoors:: @ 8205546
setvar VAR_0x8005, 0
- call PetalburgCity_Gym_EventScript_205624
+ call PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors
special DrawWholeMapView
release
end
-PetalburgCity_Gym_EventScript_205555:: @ 8205555
- msgbox PetalburgCity_Gym_Text_207170, MSGBOX_NPC
+PetalburgCity_Gym_EventScript_JodyPostBadge:: @ 8205555
+ msgbox PetalburgCity_Gym_Text_JodyPostBadge, MSGBOX_NPC
end
-PetalburgCity_Gym_EventScript_20555E:: @ 820555E
+@ VAR_0x8004 below is the room number
+@ VAR_0x8005 below is 0 when the door should be slid open and 1 when it should be unlocked immediately
+PetalburgCity_Gym_EventScript_OpenGymEntranceDoors:: @ 820555E
setvar VAR_0x8004, 1
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_205666
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_20557F:: @ 820557F
+PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors:: @ 820557F
setvar VAR_0x8004, 2
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_20568B
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_2055A0:: @ 82055A0
+PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors:: @ 82055A0
setvar VAR_0x8004, 3
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_2056B0
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_2055C1:: @ 82055C1
+PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors:: @ 82055C1
setvar VAR_0x8004, 4
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_2056D5
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_2055E2:: @ 82055E2
+PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors:: @ 82055E2
setvar VAR_0x8004, 5
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_2056E8
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_205603:: @ 8205603
+PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors:: @ 8205603
setvar VAR_0x8004, 6
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_20570D
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_205624:: @ 8205624
+PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors:: @ 8205624
setvar VAR_0x8004, 7
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_205720
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_205645:: @ 8205645
+PetalburgCity_Gym_EventScript_OpenOHKORoomDoors:: @ 8205645
setvar VAR_0x8004, 8
compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_20574B
- call PetalburgCity_Gym_EventScript_205733
+ call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles
return
-PetalburgCity_Gym_EventScript_205666:: @ 8205666
+PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles:: @ 8205666
setmetatile 6, 85, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 7, 85, METATILE_PetalburgGym_RoomEntrance_Right, 0
setmetatile 1, 98, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 2, 98, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_20568B:: @ 820568B
+PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles:: @ 820568B
setmetatile 6, 46, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 7, 46, METATILE_PetalburgGym_RoomEntrance_Right, 0
setmetatile 1, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 2, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_2056B0:: @ 82056B0
+PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles:: @ 82056B0
setmetatile 6, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 7, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0
setmetatile 1, 72, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 2, 72, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_2056D5:: @ 82056D5
+PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles:: @ 82056D5
setmetatile 1, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 2, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_2056E8:: @ 82056E8
+PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles:: @ 82056E8
setmetatile 6, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 7, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0
setmetatile 1, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 2, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_20570D:: @ 820570D
+PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles:: @ 820570D
setmetatile 6, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 7, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_205720:: @ 8205720
+PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles:: @ 8205720
setmetatile 1, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 2, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_205733:: @ 8205733
+PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles:: @ 8205733
setmetatile 6, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0
setmetatile 7, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0
return
-PetalburgCity_Gym_EventScript_205746:: @ 8205746
- special PetalburgGymSpecial1
+PetalburgCity_Gym_EventScript_SlideOpenRoomDoors:: @ 8205746
+ special PetalburgGymSlideOpenRoomDoors
waitstate
return
-PetalburgCity_Gym_EventScript_20574B:: @ 820574B
- special PetalburgGymSpecial2
+PetalburgCity_Gym_EventScript_UnlockRoomDoors:: @ 820574B
+ special PetalburgGymUnlockRoomDoors
return
-PetalburgCity_Gym_EventScript_20574F:: @ 820574F
+PetalburgCity_Gym_EventScript_GymGuide:: @ 820574F
lock
faceplayer
- goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_205764
- msgbox PetalburgCity_Gym_Text_206542, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_PETALBURG_GYM, PetalburgCity_Gym_EventScript_GymGuidePostVictory
+ msgbox PetalburgCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_205764:: @ 8205764
- msgbox PetalburgCity_Gym_Text_2066F3, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_GymGuidePostVictory:: @ 8205764
+ msgbox PetalburgCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-PetalburgCity_Gym_EventScript_20576E:: @ 820576E
+PetalburgCity_Gym_EventScript_LeftGymStatue:: @ 820576E
lockall
- goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E
- goto PetalburgCity_Gym_EventScript_205798
+ goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_GymStatueCertified
+ goto PetalburgCity_Gym_EventScript_GymStatue
end
-PetalburgCity_Gym_EventScript_20577E:: @ 820577E
+PetalburgCity_Gym_EventScript_RightGymStatue:: @ 820577E
lockall
- goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E
- goto PetalburgCity_Gym_EventScript_205798
+ goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_GymStatueCertified
+ goto PetalburgCity_Gym_EventScript_GymStatue
end
-PetalburgCity_Gym_EventScript_20578E:: @ 820578E
- msgbox PetalburgCity_Gym_Text_207467, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_GymStatueCertified:: @ 820578E
+ msgbox PetalburgCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-PetalburgCity_Gym_EventScript_205798:: @ 8205798
- msgbox PetalburgCity_Gym_Text_20744C, MSGBOX_DEFAULT
+PetalburgCity_Gym_EventScript_GymStatue:: @ 8205798
+ msgbox PetalburgCity_Gym_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-PetalburgCity_Gym_Text_2057A2: @ 82057A2
+PetalburgCity_Gym_Text_DadYoureHereWithYourPokemon: @ 82057A2
.string "DAD: Hm?\p"
.string "Well, if it isn't {PLAYER}!\n"
.string "So you're all finished moving in?\p"
@@ -1250,15 +1238,15 @@ PetalburgCity_Gym_Text_2057A2: @ 82057A2
.string "That's great news!\n"
.string "I'll be looking forward to it!$"
-PetalburgCity_Gym_Text_2058B1: @ 82058B1
+PetalburgCity_Gym_Text_WallyIdLikeAPokemon: @ 82058B1
.string "Um… I…\n"
.string "I'd like to get a POKéMON, please…$"
-PetalburgCity_Gym_Text_2058DB: @ 82058DB
+PetalburgCity_Gym_Text_DadOhYoureWallyRight: @ 82058DB
.string "DAD: Hm? You're… Uh… Oh, right.\n"
.string "You're WALLY, right?$"
-PetalburgCity_Gym_Text_205910: @ 8205910
+PetalburgCity_Gym_Text_WallyIveNeverCaughtAPokemon: @ 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"
@@ -1266,38 +1254,38 @@ PetalburgCity_Gym_Text_205910: @ 8205910
.string "But I've never caught a POKéMON before.\n"
.string "I don't know how…$"
-PetalburgCity_Gym_Text_2059D8: @ 82059D8
+PetalburgCity_Gym_Text_DadHmISee: @ 82059D8
.string "DAD: Hm. I see.$"
-PetalburgCity_Gym_Text_2059E8: @ 82059E8
+PetalburgCity_Gym_Text_DadPlayerGoWithWally: @ 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
+PetalburgCity_Gym_Text_IllLoanYouMyZigzagoon: @ 8205A46
.string "WALLY, here, I'll loan you my POKéMON.\p"
.string "WALLY received a ZIGZAGOON!$"
-PetalburgCity_Gym_Text_205A89: @ 8205A89
+PetalburgCity_Gym_Text_WallyThankYouAndDadGivesPokeBall: @ 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
+PetalburgCity_Gym_Text_WallyOhWowThankYou: @ 8205AF4
.string "WALLY: Oh, wow!\n"
.string "Thank you!$"
-PetalburgCity_Gym_Text_205B0F: @ 8205B0F
+PetalburgCity_Gym_Text_WouldYouReallyComeWithMe: @ 8205B0F
.string "{PLAYER}… Would you really come\n"
.string "with me?$"
-PetalburgCity_Gym_Text_205B32: @ 8205B32
+PetalburgCity_Gym_Text_DadSoDidItWorkOut: @ 8205B32
.string "DAD: So, did it work out?$"
-PetalburgCity_Gym_Text_205B4C: @ 8205B4C
+PetalburgCity_Gym_Text_WallyThankYouBye: @ 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"
@@ -1310,7 +1298,7 @@ PetalburgCity_Gym_Text_205B4C: @ 8205B4C
.string "so I have to go!\p"
.string "Bye, {PLAYER}!$"
-PetalburgCity_Gym_Text_205C40: @ 8205C40
+PetalburgCity_Gym_Text_DadGoCollectBadges: @ 8205C40
.string "DAD: Now…\p"
.string "{PLAYER}, if you want to become a\n"
.string "strong TRAINER, here's my advice.\p"
@@ -1327,7 +1315,7 @@ PetalburgCity_Gym_Text_205C40: @ 8205C40
.string "But that's only after you become\n"
.string "stronger.$"
-PetalburgCity_Gym_Text_205DB4: @ 8205DB4
+PetalburgCity_Gym_Text_NormanGoToRustboro: @ 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"
@@ -1337,7 +1325,7 @@ PetalburgCity_Gym_Text_205DB4: @ 8205DB4
.string "I'll battle you, {PLAYER}, when you\n"
.string "can show me four GYM BADGES, okay?$"
-PetalburgCity_Gym_Text_205EAE: @ 8205EAE
+PetalburgCity_Gym_Text_NormanGoToDewford: @ 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"
@@ -1346,13 +1334,13 @@ PetalburgCity_Gym_Text_205EAE: @ 8205EAE
.string "GYM LEADER named BRAWLY.\p"
.string "You should go challenge him.$"
-PetalburgCity_Gym_Text_205F87: @ 8205F87
+PetalburgCity_Gym_Text_YouHaveGottenStronger: @ 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
+PetalburgCity_Gym_Text_NormanIntro: @ 8205FE5
.string "DAD: Hm…\n"
.string "So, you did get four GYM BADGES.\p"
.string "Fine, as I promised, we will have\n"
@@ -1366,7 +1354,7 @@ PetalburgCity_Gym_Text_205FE5: @ 8205FE5
.string "{PLAYER}, you'd better give it your\n"
.string "best shot, too!$"
-PetalburgCity_Gym_Text_206107: @ 8206107
+PetalburgCity_Gym_Text_NormanDefeat: @ 8206107
.string "…\p"
.string "I… I can't…\p"
.string "I can't believe it. {PLAYER}…\p"
@@ -1374,11 +1362,11 @@ PetalburgCity_Gym_Text_206107: @ 8206107
.string "But, rules are rules!\n"
.string "Here, take this.$"
-PetalburgCity_Gym_Text_206162: @ 8206162
+PetalburgCity_Gym_Text_ReceivedBalanceBadge: @ 8206162
.string "{PLAYER} received the BALANCE BADGE\n"
.string "from DAD!$"
-PetalburgCity_Gym_Text_20618A: @ 820618A
+PetalburgCity_Gym_Text_ExplainBalanceBadgeTakeThis: @ 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"
@@ -1386,7 +1374,7 @@ PetalburgCity_Gym_Text_20618A: @ 820618A
.string "This is my gift to you. {PLAYER}, I'm\n"
.string "sure you can use it correctly.$"
-PetalburgCity_Gym_Text_206254: @ 8206254
+PetalburgCity_Gym_Text_ExplainFacade: @ 8206254
.string "DAD: TM42 contains FACADE.\p"
.string "It doubles the power of moves if\n"
.string "the POKéMON is poisoned, paralyzed,\l"
@@ -1394,23 +1382,23 @@ PetalburgCity_Gym_Text_206254: @ 8206254
.string "It might be able to turn a bad\n"
.string "situation into an advantage.$"
-PetalburgCity_Gym_Text_2062FB: @ 82062FB
+PetalburgCity_Gym_Text_DadHappyAndSad: @ 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
+PetalburgCity_Gym_Text_PleaseComeWithMe: @ 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
+PetalburgCity_Gym_Text_LetMeBorrowPlayer: @ 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
+PetalburgCity_Gym_Text_DadGoingToKeepTraining: @ 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"
@@ -1418,13 +1406,13 @@ PetalburgCity_Gym_Text_206417: @ 8206417
.string "It would bother me as a TRAINER to\n"
.string "not avenge my loss to you, {PLAYER}!$"
-PetalburgCity_Gym_Text_2064C3: @ 82064C3
+PetalburgCity_Gym_Text_DadNoAmountOfTrainingIsEnough: @ 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
+PetalburgCity_Gym_Text_GymGuideAdvice: @ 8206542
.string "Hey, how's it going, CHAMPION-\n"
.string "bound {PLAYER}?\p"
.string "The doors in this GYM open when you\n"
@@ -1442,53 +1430,53 @@ PetalburgCity_Gym_Text_206542: @ 8206542
.string "Once you've chosen the door…\n"
.string "Well, hey, go for it!$"
-PetalburgCity_Gym_Text_2066F3: @ 82066F3
+PetalburgCity_Gym_Text_GymGuidePostVictory: @ 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
+PetalburgCity_Gym_Text_RandallIntro: @ 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
+PetalburgCity_Gym_Text_RandallDefeat: @ 82067B9
.string "That was a magnificent battle!$"
-PetalburgCity_Gym_Text_2067D8: @ 82067D8
+PetalburgCity_Gym_Text_RandallPostBattle: @ 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
+PetalburgCity_Gym_Text_RandallPostBadge: @ 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
+PetalburgCity_Gym_Text_ParkerIntro: @ 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
+PetalburgCity_Gym_Text_ParkerDefeat: @ 820694F
.string "I couldn't confuse your team enough…\n"
.string "You share a strong bond together.$"
-PetalburgCity_Gym_Text_206996: @ 8206996
+PetalburgCity_Gym_Text_ParkerPostBattle: @ 8206996
.string "The next room is the STRENGTH ROOM.\n"
.string "Can you withstand brute force?$"
-PetalburgCity_Gym_Text_2069D9: @ 82069D9
+PetalburgCity_Gym_Text_ParkerPostBadge: @ 82069D9
.string "After you beat our LEADER, the\n"
.string "training has become a lot tougher.$"
-PetalburgCity_Gym_Text_206A1B: @ 8206A1B
+PetalburgCity_Gym_Text_GeorgeIntro: @ 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"
@@ -1496,11 +1484,11 @@ PetalburgCity_Gym_Text_206A1B: @ 8206A1B
.string "I'll show you exactly how awful it\n"
.string "feels!$"
-PetalburgCity_Gym_Text_206AB8: @ 8206AB8
+PetalburgCity_Gym_Text_GeorgeDefeat: @ 8206AB8
.string "I couldn't restore HP enough…\n"
.string "What ATTACK power…$"
-PetalburgCity_Gym_Text_206AE9: @ 8206AE9
+PetalburgCity_Gym_Text_GeorgePostBattle: @ 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"
@@ -1509,21 +1497,21 @@ PetalburgCity_Gym_Text_206AE9: @ 8206AE9
.string "weren't enough.\p"
.string "Go on! The ONE-HIT KO ROOM is next.$"
-PetalburgCity_Gym_Text_206BB1: @ 8206BB1
+PetalburgCity_Gym_Text_GeorgePostBadge: @ 8206BB1
.string "I'm going to keep training at GYMS.\n"
.string "One day, I'll become a LEADER.$"
-PetalburgCity_Gym_Text_206BF4: @ 8206BF4
+PetalburgCity_Gym_Text_BerkeIntro: @ 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
+PetalburgCity_Gym_Text_BerkeDefeat: @ 8206C7D
.string "Your power…\n"
.string "You're the real deal.$"
-PetalburgCity_Gym_Text_206C9F: @ 8206C9F
+PetalburgCity_Gym_Text_BerkePostBattle: @ 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"
@@ -1531,21 +1519,21 @@ PetalburgCity_Gym_Text_206C9F: @ 8206C9F
.string "I hope that you'll stage a terrific\n"
.string "battle with your father!$"
-PetalburgCity_Gym_Text_206D56: @ 8206D56
+PetalburgCity_Gym_Text_BerkePostBadge: @ 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
+PetalburgCity_Gym_Text_MaryIntro: @ 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
+PetalburgCity_Gym_Text_MaryDefeat: @ 8206E0D
.string "You were a cut above me…$"
-PetalburgCity_Gym_Text_206E26: @ 8206E26
+PetalburgCity_Gym_Text_MaryPostBattle: @ 8206E26
.string "There are some even stronger\n"
.string "TRAINERS waiting for you.\p"
.string "The left is the DEFENSE ROOM, and\n"
@@ -1553,20 +1541,20 @@ PetalburgCity_Gym_Text_206E26: @ 8206E26
.string "Your POKéMON's ATTACK power will be\n"
.string "on trial either way.$"
-PetalburgCity_Gym_Text_206ED8: @ 8206ED8
+PetalburgCity_Gym_Text_MaryPostBadge: @ 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
+PetalburgCity_Gym_Text_AlexiaIntro: @ 8206F44
.string "The higher the DEFENSE, the more\n"
.string "reckless I can be in attack.$"
-PetalburgCity_Gym_Text_206F82: @ 8206F82
+PetalburgCity_Gym_Text_AlexiaDefeat: @ 8206F82
.string "Our defenses weren't enough…$"
-PetalburgCity_Gym_Text_206F9F: @ 8206F9F
+PetalburgCity_Gym_Text_AlexiaPostBattle: @ 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"
@@ -1576,82 +1564,83 @@ PetalburgCity_Gym_Text_206F9F: @ 8206F9F
.string "Both of them have TRAINERS who are\n"
.string "skilled at offense.$"
-PetalburgCity_Gym_Text_207069: @ 8207069
+PetalburgCity_Gym_Text_AlexiaPostBadge: @ 8207069
.string "Hi! Have you tried using SURF?$"
-PetalburgCity_Gym_Text_207088: @ 8207088
+PetalburgCity_Gym_Text_JodyIntro: @ 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
+PetalburgCity_Gym_Text_JodyDefeat: @ 82070E6
.string "But… I went all out!$"
-PetalburgCity_Gym_Text_2070FB: @ 82070FB
+PetalburgCity_Gym_Text_JodyPostBattle: @ 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
+PetalburgCity_Gym_Text_JodyPostBadge: @ 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
+PetalburgCity_Gym_Text_DoorAppearsLocked: @ 82071F4
.string "This door appears to be locked\n"
.string "right now…$"
-PetalburgCity_Gym_Text_20721E: @ 820721E
+PetalburgCity_Gym_Text_EnterSpeedRoom: @ 820721E
.string "“SPEED ROOM,” the sign says.\p"
.string "Do you want to go through?$"
-PetalburgCity_Gym_Text_207256: @ 8207256
+@ Unused
+PetalburgCity_Gym_Text_DoorAppearsLocked2: @ 8207256
.string "This door appears to be locked\n"
.string "right now…$"
-PetalburgCity_Gym_Text_207280: @ 8207280
+PetalburgCity_Gym_Text_EnterAccuracyRoom: @ 8207280
.string "“ACCURACY ROOM,” the sign says.\p"
.string "Do you want to go through?$"
-PetalburgCity_Gym_Text_2072BB: @ 82072BB
+PetalburgCity_Gym_Text_EnterConfusionRoom: @ 82072BB
.string "“CONFUSION ROOM,” the sign says.\p"
.string "Do you want to go through?$"
-PetalburgCity_Gym_Text_2072F7: @ 82072F7
+PetalburgCity_Gym_Text_EnterDefenseRoom: @ 82072F7
.string "“DEFENSE ROOM,” the sign says.\p"
.string "Do you want to go through?$"
-PetalburgCity_Gym_Text_207331: @ 8207331
+PetalburgCity_Gym_Text_EnterRecoveryRoom: @ 8207331
.string "“RECOVERY ROOM,” the sign says.\p"
.string "Do you want to go through?$"
-PetalburgCity_Gym_Text_20736C: @ 820736C
+PetalburgCity_Gym_Text_EnterStrengthRoom: @ 820736C
.string "“STRENGTH ROOM,” the sign says.\p"
.string "Do you want to go through?$"
-PetalburgCity_Gym_Text_2073A7: @ 82073A7
+PetalburgCity_Gym_Text_EnterOHKORoom: @ 82073A7
.string "“ONE-HIT KO ROOM,” the sign says.\p"
.string "Do you want to go through?$"
-PetalburgCity_Gym_Text_2073E4: @ 82073E4
+PetalburgCity_Gym_Text_EnterGymLeadersRoom: @ 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
+PetalburgCity_Gym_Text_GymStatue: @ 820744C
.string "PETALBURG CITY POKéMON GYM$"
-PetalburgCity_Gym_Text_207467: @ 8207467
+PetalburgCity_Gym_Text_GymStatueCertified: @ 8207467
.string "PETALBURG CITY POKéMON GYM\p"
.string "NORMAN'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-PetalburgCity_Gym_Text_2074A2: @ 82074A2
+PetalburgCity_Gym_Text_NormanPreRematch: @ 82074A2
.string "DAD: {PLAYER}…\n"
.string "I had a feeling that you would come.\p"
.string "I would never refuse to accept\n"
@@ -1663,18 +1652,18 @@ PetalburgCity_Gym_Text_2074A2: @ 82074A2
.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
+PetalburgCity_Gym_Text_NormanRematchDefeat: @ 82075CE
.string "Uh… Haha…\n"
.string "Maybe that was going too hard…$"
-PetalburgCity_Gym_Text_2075F7: @ 82075F7
+PetalburgCity_Gym_Text_NormanPostRematch: @ 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
+PetalburgCity_Gym_Text_NormanRematchNeedTwoMons: @ 820764A
.string "DAD: {PLAYER}…\n"
.string "I had a feeling that you would come.\p"
.string "I would never refuse to accept\n"
diff --git a/data/maps/PetalburgCity_House1/map.json b/data/maps/PetalburgCity_House1/map.json
index 68e9a4dce..ce3dc3b16 100644
--- a/data/maps/PetalburgCity_House1/map.json
+++ b/data/maps/PetalburgCity_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_House1_EventScript_2077A3",
+ "script": "PetalburgCity_House1_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_House1_EventScript_20779A",
+ "script": "PetalburgCity_House1_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/PetalburgCity_House1/scripts.inc b/data/maps/PetalburgCity_House1/scripts.inc
index cb511bbed..2fe46437e 100644
--- a/data/maps/PetalburgCity_House1/scripts.inc
+++ b/data/maps/PetalburgCity_House1/scripts.inc
@@ -1,20 +1,20 @@
PetalburgCity_House1_MapScripts:: @ 8207799
.byte 0
-PetalburgCity_House1_EventScript_20779A:: @ 820779A
- msgbox PetalburgCity_House1_Text_2077AC, MSGBOX_NPC
+PetalburgCity_House1_EventScript_Man:: @ 820779A
+ msgbox PetalburgCity_House1_Text_TravelingIsWonderful, MSGBOX_NPC
end
-PetalburgCity_House1_EventScript_2077A3:: @ 82077A3
- msgbox PetalburgCity_House1_Text_2077FB, MSGBOX_NPC
+PetalburgCity_House1_EventScript_Woman:: @ 82077A3
+ msgbox PetalburgCity_House1_Text_GoOnAdventure, MSGBOX_NPC
end
-PetalburgCity_House1_Text_2077AC: @ 82077AC
+PetalburgCity_House1_Text_TravelingIsWonderful: @ 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
+PetalburgCity_House1_Text_GoOnAdventure: @ 82077FB
.string "Sigh…\p"
.string "I wish I could go on an adventure\n"
.string "with some POKéMON…\p"
diff --git a/data/maps/PetalburgCity_House2/map.json b/data/maps/PetalburgCity_House2/map.json
index b6c0107a0..9354b4926 100644
--- a/data/maps/PetalburgCity_House2/map.json
+++ b/data/maps/PetalburgCity_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_House2_EventScript_2078F3",
+ "script": "PetalburgCity_House2_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_House2_EventScript_2078FC",
+ "script": "PetalburgCity_House2_EventScript_SchoolKid",
"flag": "0"
}
],
diff --git a/data/maps/PetalburgCity_House2/scripts.inc b/data/maps/PetalburgCity_House2/scripts.inc
index 2650e970c..3be93cbd0 100644
--- a/data/maps/PetalburgCity_House2/scripts.inc
+++ b/data/maps/PetalburgCity_House2/scripts.inc
@@ -1,21 +1,21 @@
PetalburgCity_House2_MapScripts:: @ 82078F2
.byte 0
-PetalburgCity_House2_EventScript_2078F3:: @ 82078F3
- msgbox PetalburgCity_House2_Text_207905, MSGBOX_NPC
+PetalburgCity_House2_EventScript_Woman:: @ 82078F3
+ msgbox PetalburgCity_House2_Text_NormanBecameGymLeader, MSGBOX_NPC
end
-PetalburgCity_House2_EventScript_2078FC:: @ 82078FC
- msgbox PetalburgCity_House2_Text_207969, MSGBOX_NPC
+PetalburgCity_House2_EventScript_SchoolKid:: @ 82078FC
+ msgbox PetalburgCity_House2_Text_BattledNormanOnce, MSGBOX_NPC
end
-PetalburgCity_House2_Text_207905: @ 8207905
+PetalburgCity_House2_Text_NormanBecameGymLeader: @ 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
+PetalburgCity_House2_Text_BattledNormanOnce: @ 8207969
.string "I battled NORMAN once, but, whew,\n"
.string "he was way too strong.\p"
.string "How would I put it?\p"
diff --git a/data/maps/PetalburgCity_Mart/map.json b/data/maps/PetalburgCity_Mart/map.json
index b08837e80..82519cb5c 100644
--- a/data/maps/PetalburgCity_Mart/map.json
+++ b/data/maps/PetalburgCity_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Mart_EventScript_207D69",
+ "script": "PetalburgCity_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Mart_EventScript_207DE8",
+ "script": "PetalburgCity_Mart_EventScript_Man",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Mart_EventScript_207DDF",
+ "script": "PetalburgCity_Mart_EventScript_Boy",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_Mart_EventScript_207DD6",
+ "script": "PetalburgCity_Mart_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/PetalburgCity_Mart/scripts.inc b/data/maps/PetalburgCity_Mart/scripts.inc
index 2bd72b69e..f27f0aeb5 100644
--- a/data/maps/PetalburgCity_Mart/scripts.inc
+++ b/data/maps/PetalburgCity_Mart/scripts.inc
@@ -1,19 +1,19 @@
PetalburgCity_Mart_MapScripts:: @ 8207D68
.byte 0
-PetalburgCity_Mart_EventScript_207D69:: @ 8207D69
+PetalburgCity_Mart_EventScript_Clerk:: @ 8207D69
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- goto_if_set FLAG_PETALBURG_MART_EXPANDED_ITEMS, PetalburgCity_Mart_EventScript_207DA6
- pokemart PetalburgCity_Mart_Pokemart_207D8C
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ goto_if_set FLAG_PETALBURG_MART_EXPANDED_ITEMS, PetalburgCity_Mart_EventScript_ExpandedItems
+ pokemart PetalburgCity_Mart_Pokemart_Basic
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-PetalburgCity_Mart_Pokemart_207D8C: @ 8207D8C
+PetalburgCity_Mart_Pokemart_Basic: @ 8207D8C
.2byte ITEM_POKE_BALL
.2byte ITEM_POTION
.2byte ITEM_ANTIDOTE
@@ -29,14 +29,14 @@ PetalburgCity_Mart_Pokemart_207D8C: @ 8207D8C
release
end
-PetalburgCity_Mart_EventScript_207DA6:: @ 8207DA6
- pokemart PetalburgCity_Mart_Pokemart_207DB8
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+PetalburgCity_Mart_EventScript_ExpandedItems:: @ 8207DA6
+ pokemart PetalburgCity_Mart_Pokemart_Expanded
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-PetalburgCity_Mart_Pokemart_207DB8: @ 8207DB8
+PetalburgCity_Mart_Pokemart_Expanded: @ 8207DB8
.2byte ITEM_POKE_BALL
.2byte ITEM_GREAT_BALL
.2byte ITEM_POTION
@@ -54,30 +54,30 @@ PetalburgCity_Mart_Pokemart_207DB8: @ 8207DB8
release
end
-PetalburgCity_Mart_EventScript_207DD6:: @ 8207DD6
- msgbox PetalburgCity_Mart_Text_207DF1, MSGBOX_NPC
+PetalburgCity_Mart_EventScript_Woman:: @ 8207DD6
+ msgbox PetalburgCity_Mart_Text_WeakWillGrowStronger, MSGBOX_NPC
end
-PetalburgCity_Mart_EventScript_207DDF:: @ 8207DDF
- msgbox PetalburgCity_Mart_Text_207E60, MSGBOX_NPC
+PetalburgCity_Mart_EventScript_Boy:: @ 8207DDF
+ msgbox PetalburgCity_Mart_Text_RepelIsUseful, MSGBOX_NPC
end
-PetalburgCity_Mart_EventScript_207DE8:: @ 8207DE8
- msgbox PetalburgCity_Mart_Text_207EB0, MSGBOX_NPC
+PetalburgCity_Mart_EventScript_Man:: @ 8207DE8
+ msgbox PetalburgCity_Mart_Text_TakeSomeAntidotesWithYou, MSGBOX_NPC
end
-PetalburgCity_Mart_Text_207DF1: @ 8207DF1
+PetalburgCity_Mart_Text_WeakWillGrowStronger: @ 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
+PetalburgCity_Mart_Text_RepelIsUseful: @ 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
+PetalburgCity_Mart_Text_TakeSomeAntidotesWithYou: @ 8207EB0
.string "Do you have any ANTIDOTES with\n"
.string "you?\p"
.string "If you walk around with a poisoned\n"
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/map.json b/data/maps/PetalburgCity_PokemonCenter_1F/map.json
index eeb22dca4..d673ecf4d 100644
--- a/data/maps/PetalburgCity_PokemonCenter_1F/map.json
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_1F_EventScript_2079FC",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_1F_EventScript_291539",
+ "script": "MysteryEventClub_EventScript_Man",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_1F_EventScript_207A0A",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_FatMan",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_1F_EventScript_207A13",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_Youngster",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_1F_EventScript_207A1C",
+ "script": "PetalburgCity_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
index 286b9f7d9..151cd8afb 100644
--- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
@@ -1,79 +1,80 @@
PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8
map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, PetalburgCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
PetalburgCity_PokemonCenter_1F_OnTransition: @ 82079F3
setrespawn HEAL_LOCATION_PETALBURG_CITY
- call PetalburgCity_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-PetalburgCity_PokemonCenter_1F_EventScript_2079FC:: @ 82079FC
+@ VAR_0x800B is the Nurse's object event id
+PetalburgCity_PokemonCenter_1F_EventScript_Nurse:: @ 82079FC
setvar VAR_0x800B, 1
- call PetalburgCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-PetalburgCity_PokemonCenter_1F_EventScript_207A0A:: @ 8207A0A
- msgbox PetalburgCity_PokemonCenter_1F_Text_207A76, MSGBOX_NPC
+PetalburgCity_PokemonCenter_1F_EventScript_FatMan:: @ 8207A0A
+ msgbox PetalburgCity_PokemonCenter_1F_Text_PCStorageSystem, MSGBOX_NPC
end
-PetalburgCity_PokemonCenter_1F_EventScript_207A13:: @ 8207A13
- msgbox PetalburgCity_PokemonCenter_1F_Text_207AD6, MSGBOX_NPC
+PetalburgCity_PokemonCenter_1F_EventScript_Youngster:: @ 8207A13
+ msgbox PetalburgCity_PokemonCenter_1F_Text_OranBerryRegainedHP, MSGBOX_NPC
end
-PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C
+PetalburgCity_PokemonCenter_1F_EventScript_Woman:: @ 8207A1C
lock
faceplayer
- msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, MSGBOX_DEFAULT
+ msgbox PetalburgCity_PokemonCenter_1F_Text_ManyTypesOfPokemon, MSGBOX_DEFAULT
specialvar VAR_RESULT, IsStarterInParty
compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayStarterTypeInfo
release
end
-PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38
+PetalburgCity_PokemonCenter_1F_EventScript_SayStarterTypeInfo:: @ 8207A38
compare VAR_STARTER_MON, 0
- call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A5B
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayTreeckoType
compare VAR_STARTER_MON, 1
- call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A64
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayTorchicType
compare VAR_STARTER_MON, 2
- call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A6D
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayMudkipType
release
end
-PetalburgCity_PokemonCenter_1F_EventScript_207A5B:: @ 8207A5B
- msgbox PetalburgCity_PokemonCenter_1F_Text_207BB0, MSGBOX_DEFAULT
+PetalburgCity_PokemonCenter_1F_EventScript_SayTreeckoType:: @ 8207A5B
+ msgbox PetalburgCity_PokemonCenter_1F_Text_TreeckoIsGrassType, MSGBOX_DEFAULT
return
-PetalburgCity_PokemonCenter_1F_EventScript_207A64:: @ 8207A64
- msgbox PetalburgCity_PokemonCenter_1F_Text_207C35, MSGBOX_DEFAULT
+PetalburgCity_PokemonCenter_1F_EventScript_SayTorchicType:: @ 8207A64
+ msgbox PetalburgCity_PokemonCenter_1F_Text_TorchicIsFireType, MSGBOX_DEFAULT
return
-PetalburgCity_PokemonCenter_1F_EventScript_207A6D:: @ 8207A6D
- msgbox PetalburgCity_PokemonCenter_1F_Text_207CB7, MSGBOX_DEFAULT
+PetalburgCity_PokemonCenter_1F_EventScript_SayMudkipType:: @ 8207A6D
+ msgbox PetalburgCity_PokemonCenter_1F_Text_MudkipIsWaterType, MSGBOX_DEFAULT
return
-PetalburgCity_PokemonCenter_1F_Text_207A76: @ 8207A76
+PetalburgCity_PokemonCenter_1F_Text_PCStorageSystem: @ 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
+PetalburgCity_PokemonCenter_1F_Text_OranBerryRegainedHP: @ 8207AD6
.string "When my POKéMON ate an\n"
.string "ORAN BERRY, it regained HP!$"
-PetalburgCity_PokemonCenter_1F_Text_207B09: @ 8207B09
+PetalburgCity_PokemonCenter_1F_Text_ManyTypesOfPokemon: @ 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
+PetalburgCity_PokemonCenter_1F_Text_TreeckoIsGrassType: @ 8207BB0
.string "For example, your TREECKO\n"
.string "is a GRASS type.\p"
.string "It's strong against the WATER and\n"
@@ -81,7 +82,7 @@ PetalburgCity_PokemonCenter_1F_Text_207BB0: @ 8207BB0
.string "But, it's weak against FIRE-type\n"
.string "POKéMON.$"
-PetalburgCity_PokemonCenter_1F_Text_207C35: @ 8207C35
+PetalburgCity_PokemonCenter_1F_Text_TorchicIsFireType: @ 8207C35
.string "For example, your TORCHIC\n"
.string "is a FIRE type.\p"
.string "It's strong against the GRASS and\n"
@@ -89,7 +90,7 @@ PetalburgCity_PokemonCenter_1F_Text_207C35: @ 8207C35
.string "But, it's weak against WATER-type\n"
.string "POKéMON.$"
-PetalburgCity_PokemonCenter_1F_Text_207CB7: @ 8207CB7
+PetalburgCity_PokemonCenter_1F_Text_MudkipIsWaterType: @ 8207CB7
.string "For example, your MUDKIP\n"
.string "is a WATER type.\p"
.string "It's strong against the FIRE type.\p"
diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/map.json b/data/maps/PetalburgCity_PokemonCenter_2F/map.json
index 279c5e44b..067d6f237 100644
--- a/data/maps/PetalburgCity_PokemonCenter_2F/map.json
+++ b/data/maps/PetalburgCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc
index d2370c6b1..8485ae2c6 100644
--- a/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/PetalburgCity_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
PetalburgCity_PokemonCenter_2F_MapScripts:: @ 8207D41
- map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-PetalburgCity_PokemonCenter_2F_EventScript_207D56:: @ 8207D56
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+PetalburgCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8207D56
+ call CableClub_EventScript_Colosseum
end
-PetalburgCity_PokemonCenter_2F_EventScript_207D5C:: @ 8207D5C
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+PetalburgCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8207D5C
+ call CableClub_EventScript_TradeCenter
end
-PetalburgCity_PokemonCenter_2F_EventScript_207D62:: @ 8207D62
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+PetalburgCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8207D62
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/PetalburgCity_WallysHouse/map.json b/data/maps/PetalburgCity_WallysHouse/map.json
index c961d300c..49af9f43d 100644
--- a/data/maps/PetalburgCity_WallysHouse/map.json
+++ b/data/maps/PetalburgCity_WallysHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_WallysHouse_EventScript_204278",
+ "script": "PetalburgCity_WallysHouse_EventScript_WallyUncle",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgCity_WallysHouse_EventScript_2042C0",
+ "script": "PetalburgCity_WallysHouse_EventScript_WallyAunt",
"flag": "0"
}
],
diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc
index b285b220c..2da3bf870 100644
--- a/data/maps/PetalburgCity_WallysHouse/scripts.inc
+++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc
@@ -1,71 +1,71 @@
PetalburgCity_WallysHouse_MapScripts:: @ 8204229
- map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_WallysHouse_MapScript2_204247
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_WallysHouse_MapScript2_204234
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_WallysHouse_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_WallysHouse_OnWarp
.byte 0
-PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234
- map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_20423E
+PetalburgCity_WallysHouse_OnWarp: @ 8204234
+ map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_PlayerUncleFaceEachOther
.2byte 0
-PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E
- turnobject EVENT_OBJ_ID_PLAYER, 4
- turnobject 1, 3
+PetalburgCity_WallysHouse_EventScript_PlayerUncleFaceEachOther:: @ 820423E
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_EAST
+ turnobject 1, DIR_WEST
end
-PetalburgCity_WallysHouse_MapScript2_204247: @ 8204247
- map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_204251
+PetalburgCity_WallysHouse_OnFrame: @ 8204247
+ map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_GiveHM03Surf
.2byte 0
-PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251
+PetalburgCity_WallysHouse_EventScript_GiveHM03Surf:: @ 8204251
lockall
- msgbox PetalburgCity_WallysHouse_Text_20446E, MSGBOX_DEFAULT
- giveitem_std ITEM_HM03
+ msgbox PetalburgCity_WallysHouse_Text_PleaseExcuseUs, MSGBOX_DEFAULT
+ giveitem ITEM_HM03
setflag FLAG_RECEIVED_HM03
- msgbox PetalburgCity_WallysHouse_Text_20461A, MSGBOX_DEFAULT
+ msgbox PetalburgCity_WallysHouse_Text_SurfGoAllSortsOfPlaces, MSGBOX_DEFAULT
setvar VAR_PETALBURG_CITY_STATE, 5
releaseall
end
-PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278
+PetalburgCity_WallysHouse_EventScript_WallyUncle:: @ 8204278
lock
faceplayer
- goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_2042AC
- goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_2042A2
- goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_2042B6
- msgbox PetalburgCity_WallysHouse_Text_2042DF, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_DefeatedWallyInVictoryRoad
+ goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf
+ goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_PlayedWithWally
+ msgbox PetalburgCity_WallysHouse_Text_ThanksForPlayingWithWally, MSGBOX_DEFAULT
setflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY
release
end
-PetalburgCity_WallysHouse_EventScript_2042A2:: @ 82042A2
- msgbox PetalburgCity_WallysHouse_Text_204661, MSGBOX_DEFAULT
+PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf:: @ 82042A2
+ msgbox PetalburgCity_WallysHouse_Text_WallyIsComingHomeSoon, MSGBOX_DEFAULT
release
end
-PetalburgCity_WallysHouse_EventScript_2042AC:: @ 82042AC
- msgbox PetalburgCity_WallysHouse_Text_204698, MSGBOX_DEFAULT
+PetalburgCity_WallysHouse_EventScript_DefeatedWallyInVictoryRoad:: @ 82042AC
+ msgbox PetalburgCity_WallysHouse_Text_YouMetWallyInEverGrandeCity, MSGBOX_DEFAULT
release
end
-PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6
- msgbox PetalburgCity_WallysHouse_Text_20444D, MSGBOX_DEFAULT
+PetalburgCity_WallysHouse_EventScript_PlayedWithWally:: @ 82042B6
+ msgbox PetalburgCity_WallysHouse_Text_WonderHowWallyIsDoing, MSGBOX_DEFAULT
release
end
-PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0
+PetalburgCity_WallysHouse_EventScript_WallyAunt:: @ 82042C0
lock
faceplayer
- goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_2042D5
- msgbox PetalburgCity_WallysHouse_Text_204732, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf
+ msgbox PetalburgCity_WallysHouse_Text_WallyWasReallyHappy, MSGBOX_DEFAULT
release
end
-PetalburgCity_WallysHouse_EventScript_2042D5:: @ 82042D5
- msgbox PetalburgCity_WallysHouse_Text_2047A7, MSGBOX_DEFAULT
+PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf:: @ 82042D5
+ msgbox PetalburgCity_WallysHouse_Text_WallyLeftWithoutTelling, MSGBOX_DEFAULT
release
end
-PetalburgCity_WallysHouse_Text_2042DF: @ 82042DF
+PetalburgCity_WallysHouse_Text_ThanksForPlayingWithWally: @ 82042DF
.string "You're…\n"
.string "Ah, you must be {PLAYER}{KUN}, right?\p"
.string "Thank you for playing with WALLY a\n"
@@ -81,10 +81,10 @@ PetalburgCity_WallysHouse_Text_2042DF: @ 82042DF
.string "I wonder where he could have\n"
.string "gotten by now?$"
-PetalburgCity_WallysHouse_Text_20444D: @ 820444D
+PetalburgCity_WallysHouse_Text_WonderHowWallyIsDoing: @ 820444D
.string "I wonder how our WALLY is doing?$"
-PetalburgCity_WallysHouse_Text_20446E: @ 820446E
+PetalburgCity_WallysHouse_Text_PleaseExcuseUs: @ 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"
@@ -101,15 +101,15 @@ PetalburgCity_WallysHouse_Text_20446E: @ 820446E
.string "This isn't a bribe or anything, but\n"
.string "I'd really like you to have this.$"
-PetalburgCity_WallysHouse_Text_20461A: @ 820461A
+PetalburgCity_WallysHouse_Text_SurfGoAllSortsOfPlaces: @ 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
+PetalburgCity_WallysHouse_Text_WallyIsComingHomeSoon: @ 8204661
.string "WALLY's coming home soon.\n"
.string "I'm looking forward to that.$"
-PetalburgCity_WallysHouse_Text_204698: @ 8204698
+PetalburgCity_WallysHouse_Text_YouMetWallyInEverGrandeCity: @ 8204698
.string "Oh? You met WALLY in\n"
.string "EVER GRANDE CITY?\p"
.string "Oh, {PLAYER}{KUN}, don't be silly.\p"
@@ -117,13 +117,13 @@ PetalburgCity_WallysHouse_Text_204698: @ 8204698
.string "can't go somewhere far away like\l"
.string "that all by himself.$"
-PetalburgCity_WallysHouse_Text_204732: @ 8204732
+PetalburgCity_WallysHouse_Text_WallyWasReallyHappy: @ 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
+PetalburgCity_WallysHouse_Text_WallyLeftWithoutTelling: @ 82047A7
.string "I want you to keep this a secret\n"
.string "from my husband…\p"
.string "But our WALLY left VERDANTURF TOWN\n"
diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json
index 7e7de784a..d43017f99 100644
--- a/data/maps/PetalburgWoods/map.json
+++ b/data/maps/PetalburgWoods/map.json
@@ -115,7 +115,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_22E210",
+ "script": "PetalburgWoods_EventScript_Boy1",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "PetalburgWoods_EventScript_22E26D",
+ "script": "PetalburgWoods_EventScript_Lyle",
"flag": "0"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "PetalburgWoods_EventScript_22E284",
+ "script": "PetalburgWoods_EventScript_James",
"flag": "0"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_22E219",
+ "script": "PetalburgWoods_EventScript_Boy2",
"flag": "0"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "PetalburgWoods_EventScript_22E222",
+ "script": "PetalburgWoods_EventScript_Girl",
"flag": "0"
}
],
@@ -236,7 +236,7 @@
"elevation": 3,
"var": "VAR_PETALBURG_WOODS_STATE",
"var_value": "0",
- "script": "PetalburgWoods_EventScript_22DFD7"
+ "script": "PetalburgWoods_EventScript_DevonResearcherLeft"
},
{
"type": "trigger",
@@ -245,7 +245,7 @@
"elevation": 3,
"var": "VAR_PETALBURG_WOODS_STATE",
"var_value": "0",
- "script": "PetalburgWoods_EventScript_22E079"
+ "script": "PetalburgWoods_EventScript_DevonResearcherRight"
}
],
"bg_events": [
@@ -255,7 +255,7 @@
"y": 32,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgWoods_EventScript_22E25B"
+ "script": "PetalburgWoods_EventScript_Sign1"
},
{
"type": "hidden_item",
@@ -295,7 +295,7 @@
"y": 8,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "PetalburgWoods_EventScript_22E264"
+ "script": "PetalburgWoods_EventScript_Sign2"
}
]
} \ No newline at end of file
diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc
index 423d4c432..9b2d9d586 100644
--- a/data/maps/PetalburgWoods/scripts.inc
+++ b/data/maps/PetalburgWoods/scripts.inc
@@ -1,119 +1,119 @@
PetalburgWoods_MapScripts:: @ 822DFD6
.byte 0
-PetalburgWoods_EventScript_22DFD7:: @ 822DFD7
+PetalburgWoods_EventScript_DevonResearcherLeft:: @ 822DFD7
lockall
- call PetalburgWoods_EventScript_22E124
- applymovement 4, PetalburgWoods_Movement_22E1CB
+ call PetalburgWoods_EventScript_DevonResearcherIntro
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherApproachPlayerLeft
waitmovement 0
- msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_HaveYouSeenShroomish, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 0
- applymovement 3, PetalburgWoods_Movement_22E209
+ applymovement 3, PetalburgWoods_Movement_AquaEntrance
waitmovement 0
- msgbox PetalburgWoods_Text_22E3AA, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_IWasGoingToAmbushYou, MSGBOX_DEFAULT
closemessage
- applymovement 3, PetalburgWoods_Movement_22E1F6
+ applymovement 3, PetalburgWoods_Movement_AquaApproachResearcherLeft
waitmovement 0
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_HandOverThosePapers, MSGBOX_DEFAULT
closemessage
- applymovement 4, PetalburgWoods_Movement_22E1E4
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherFleeToPlayerLeft
waitmovement 0
- msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_YouHaveToHelpMe, MSGBOX_DEFAULT
closemessage
- applymovement 3, PetalburgWoods_Movement_22E20E
+ applymovement 3, PetalburgWoods_Movement_AquaApproachPlayer
waitmovement 0
- msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542
- applymovement 3, PetalburgWoods_Movement_22E1F9
+ msgbox PetalburgWoods_Text_NoOneCrossesTeamAqua, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_PETALBURG_WOODS, PetalburgWoods_Text_YoureKiddingMe
+ applymovement 3, PetalburgWoods_Movement_AquaBackOff
waitmovement 0
- call PetalburgWoods_EventScript_22E138
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0
- applymovement 4, PetalburgWoods_Movement_22E1C2
+ call PetalburgWoods_EventScript_DevonResearcherPostBattle
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherExitLeft
waitmovement 0
- goto PetalburgWoods_EventScript_22E1A7
+ goto PetalburgWoods_EventScript_RemoveDevonResearcher
end
-PetalburgWoods_EventScript_22E079:: @ 822E079
+PetalburgWoods_EventScript_DevonResearcherRight:: @ 822E079
lockall
- call PetalburgWoods_EventScript_22E124
- applymovement 4, PetalburgWoods_Movement_22E1D0
+ call PetalburgWoods_EventScript_DevonResearcherIntro
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherApproachPlayerRight
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_HaveYouSeenShroomish, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 0
- applymovement 3, PetalburgWoods_Movement_22E209
+ applymovement 3, PetalburgWoods_Movement_AquaEntrance
waitmovement 0
- msgbox PetalburgWoods_Text_22E3AA, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_IWasGoingToAmbushYou, MSGBOX_DEFAULT
closemessage
- applymovement 3, PetalburgWoods_Movement_22E205
+ applymovement 3, PetalburgWoods_Movement_AquaApproachResearcherRight
waitmovement 0
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_HandOverThosePapers, MSGBOX_DEFAULT
closemessage
- applymovement 4, PetalburgWoods_Movement_22E1EA
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherFleeToPlayerRight
waitmovement 0
- msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ msgbox PetalburgWoods_Text_YouHaveToHelpMe, MSGBOX_DEFAULT
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542
- applymovement 3, PetalburgWoods_Movement_22E1F9
+ msgbox PetalburgWoods_Text_NoOneCrossesTeamAqua, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_PETALBURG_WOODS, PetalburgWoods_Text_YoureKiddingMe
+ applymovement 3, PetalburgWoods_Movement_AquaBackOff
waitmovement 0
- call PetalburgWoods_EventScript_22E138
- applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0
- applymovement 4, PetalburgWoods_Movement_22E1D7
+ call PetalburgWoods_EventScript_DevonResearcherPostBattle
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherExitRight
waitmovement 0
- goto PetalburgWoods_EventScript_22E1A7
+ goto PetalburgWoods_EventScript_RemoveDevonResearcher
end
-PetalburgWoods_EventScript_22E124:: @ 822E124
- applymovement 4, PetalburgWoods_Movement_22E1B1
+PetalburgWoods_EventScript_DevonResearcherIntro:: @ 822E124
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherLookAround
waitmovement 0
- msgbox PetalburgWoods_Text_22E332, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_NotAOneToBeFound, MSGBOX_DEFAULT
closemessage
return
-PetalburgWoods_EventScript_22E138:: @ 822E138
- msgbox PetalburgWoods_Text_22E563, MSGBOX_DEFAULT
+PetalburgWoods_EventScript_DevonResearcherPostBattle:: @ 822E138
+ msgbox PetalburgWoods_Text_YouveGotSomeNerve, MSGBOX_DEFAULT
closemessage
- applymovement 3, PetalburgWoods_Movement_22E1FD
+ applymovement 3, PetalburgWoods_Movement_AquaRunAway
waitmovement 0
removeobject 3
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox PetalburgWoods_Text_22E63D, MSGBOX_DEFAULT
- giveitem_std ITEM_GREAT_BALL
+ msgbox PetalburgWoods_Text_ThatWasAwfullyClose, MSGBOX_DEFAULT
+ giveitem ITEM_GREAT_BALL
compare VAR_RESULT, 0
- goto_if_eq PetalburgWoods_EventScript_22E17D
- goto PetalburgWoods_EventScript_22E18B
+ goto_if_eq PetalburgWoods_EventScript_BagFull
+ goto PetalburgWoods_EventScript_DevonResearcherFinish
end
-PetalburgWoods_EventScript_22E17D:: @ 822E17D
- msgbox PetalburgWoods_Text_22E741, MSGBOX_DEFAULT
- goto PetalburgWoods_EventScript_22E18B
+PetalburgWoods_EventScript_BagFull:: @ 822E17D
+ msgbox PetalburgWoods_Text_YoureLoadedWithItems, MSGBOX_DEFAULT
+ goto PetalburgWoods_EventScript_DevonResearcherFinish
end
-PetalburgWoods_EventScript_22E18B:: @ 822E18B
- msgbox PetalburgWoods_Text_22E6C7, MSGBOX_DEFAULT
- applymovement 4, PetalburgWoods_Movement_22E1EE
+PetalburgWoods_EventScript_DevonResearcherFinish:: @ 822E18B
+ msgbox PetalburgWoods_Text_TeamAquaAfterSomethingInRustboro, MSGBOX_DEFAULT
+ applymovement 4, PetalburgWoods_Movement_DevonResearcherStartExit
waitmovement 0
- msgbox PetalburgWoods_Text_22E712, MSGBOX_DEFAULT
+ msgbox PetalburgWoods_Text_ICantBeWastingTime, MSGBOX_DEFAULT
closemessage
return
-PetalburgWoods_EventScript_22E1A7:: @ 822E1A7
+PetalburgWoods_EventScript_RemoveDevonResearcher:: @ 822E1A7
removeobject 4
setvar VAR_PETALBURG_WOODS_STATE, 1
releaseall
end
-PetalburgWoods_Movement_22E1B1: @ 822E1B1
+PetalburgWoods_Movement_DevonResearcherLookAround: @ 822E1B1
face_up
delay_16
delay_4
@@ -132,7 +132,7 @@ PetalburgWoods_Movement_22E1B1: @ 822E1B1
delay_16
step_end
-PetalburgWoods_Movement_22E1C2: @ 822E1C2
+PetalburgWoods_Movement_DevonResearcherExitLeft: @ 822E1C2
walk_fast_right
walk_fast_up
walk_fast_up
@@ -143,14 +143,14 @@ PetalburgWoods_Movement_22E1C2: @ 822E1C2
walk_fast_up
step_end
-PetalburgWoods_Movement_22E1CB: @ 822E1CB
+PetalburgWoods_Movement_DevonResearcherApproachPlayerLeft: @ 822E1CB
delay_16
face_player
walk_down
walk_down
step_end
-PetalburgWoods_Movement_22E1D0: @ 822E1D0
+PetalburgWoods_Movement_DevonResearcherApproachPlayerRight: @ 822E1D0
delay_16
face_player
walk_down
@@ -159,7 +159,7 @@ PetalburgWoods_Movement_22E1D0: @ 822E1D0
walk_in_place_fastest_right
step_end
-PetalburgWoods_Movement_22E1D7: @ 822E1D7
+PetalburgWoods_Movement_DevonResearcherExitRight: @ 822E1D7
walk_fast_left
walk_fast_up
walk_fast_up
@@ -170,13 +170,13 @@ PetalburgWoods_Movement_22E1D7: @ 822E1D7
walk_fast_up
step_end
-PetalburgWoods_Movement_22E1E0: @ 822E1E0
+PetalburgWoods_Movement_WatchResearcherLeave: @ 822E1E0
delay_16
delay_16
walk_in_place_fastest_up
step_end
-PetalburgWoods_Movement_22E1E4: @ 822E1E4
+PetalburgWoods_Movement_DevonResearcherFleeToPlayerLeft: @ 822E1E4
walk_fast_right
walk_fast_down
walk_fast_down
@@ -184,13 +184,13 @@ PetalburgWoods_Movement_22E1E4: @ 822E1E4
walk_in_place_fastest_up
step_end
-PetalburgWoods_Movement_22E1EA: @ 822E1EA
+PetalburgWoods_Movement_DevonResearcherFleeToPlayerRight: @ 822E1EA
walk_fast_down
walk_fast_right
walk_in_place_fastest_up
step_end
-PetalburgWoods_Movement_22E1EE: @ 822E1EE
+PetalburgWoods_Movement_DevonResearcherStartExit: @ 822E1EE
walk_in_place_fastest_down
delay_16
delay_16
@@ -200,18 +200,18 @@ PetalburgWoods_Movement_22E1EE: @ 822E1EE
face_up
step_end
-PetalburgWoods_Movement_22E1F6: @ 822E1F6
+PetalburgWoods_Movement_AquaApproachResearcherLeft: @ 822E1F6
walk_fast_down
walk_fast_down
step_end
-PetalburgWoods_Movement_22E1F9: @ 822E1F9
+PetalburgWoods_Movement_AquaBackOff: @ 822E1F9
lock_facing_direction
walk_up
unlock_facing_direction
step_end
-PetalburgWoods_Movement_22E1FD: @ 822E1FD
+PetalburgWoods_Movement_AquaRunAway: @ 822E1FD
walk_fast_up
walk_fast_up
walk_fast_up
@@ -221,139 +221,139 @@ PetalburgWoods_Movement_22E1FD: @ 822E1FD
delay_16
step_end
-PetalburgWoods_Movement_22E205: @ 822E205
+PetalburgWoods_Movement_AquaApproachResearcherRight: @ 822E205
walk_fast_down
walk_fast_down
walk_fast_down
step_end
-PetalburgWoods_Movement_22E209: @ 822E209
+PetalburgWoods_Movement_AquaEntrance: @ 822E209
walk_down
walk_down
delay_16
delay_16
step_end
-PetalburgWoods_Movement_22E20E: @ 822E20E
+PetalburgWoods_Movement_AquaApproachPlayer: @ 822E20E
walk_down
step_end
-PetalburgWoods_EventScript_22E210:: @ 822E210
- msgbox PetalburgWoods_Text_22EA0C, MSGBOX_NPC
+PetalburgWoods_EventScript_Boy1:: @ 822E210
+ msgbox PetalburgWoods_Text_StayOutOfTallGrass, MSGBOX_NPC
end
-PetalburgWoods_EventScript_22E219:: @ 822E219
- msgbox PetalburgWoods_Text_22EA8B, MSGBOX_NPC
+PetalburgWoods_EventScript_Boy2:: @ 822E219
+ msgbox PetalburgWoods_Text_HiddenItemsExplanation, MSGBOX_NPC
end
-PetalburgWoods_EventScript_22E222:: @ 822E222
+PetalburgWoods_EventScript_Girl:: @ 822E222
lock
faceplayer
- goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_22E251
- msgbox PetalburgWoods_Text_22EAFE, MSGBOX_DEFAULT
- giveitem_std ITEM_MIRACLE_SEED
+ goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_ExplainMiracleSeed
+ msgbox PetalburgWoods_Text_TryUsingThisItem, MSGBOX_DEFAULT
+ giveitem ITEM_MIRACLE_SEED
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_MIRACLE_SEED
release
end
-PetalburgWoods_EventScript_22E251:: @ 822E251
- msgbox PetalburgWoods_Text_22EB63, MSGBOX_DEFAULT
+PetalburgWoods_EventScript_ExplainMiracleSeed:: @ 822E251
+ msgbox PetalburgWoods_Text_MiracleSeedExplanation, MSGBOX_DEFAULT
release
end
-PetalburgWoods_EventScript_22E25B:: @ 822E25B
- msgbox PetalburgWoods_Text_22EC10, MSGBOX_SIGN
+PetalburgWoods_EventScript_Sign1:: @ 822E25B
+ msgbox PetalburgWoods_Text_TrainerTipsExperience, MSGBOX_SIGN
end
-PetalburgWoods_EventScript_22E264:: @ 822E264
- msgbox PetalburgWoods_Text_22ED07, MSGBOX_SIGN
+PetalburgWoods_EventScript_Sign2:: @ 822E264
+ msgbox PetalburgWoods_Text_TrainerTipsPP, MSGBOX_SIGN
end
-PetalburgWoods_EventScript_22E26D:: @ 822E26D
- trainerbattle_single TRAINER_LYLE, PetalburgWoods_Text_22E77D, PetalburgWoods_Text_22E7C1
- msgbox PetalburgWoods_Text_22E7EF, MSGBOX_AUTOCLOSE
+PetalburgWoods_EventScript_Lyle:: @ 822E26D
+ trainerbattle_single TRAINER_LYLE, PetalburgWoods_Text_GoBugPokemonTeam, PetalburgWoods_Text_ICouldntWin
+ msgbox PetalburgWoods_Text_ImOutOfPokeBalls, MSGBOX_AUTOCLOSE
end
-PetalburgWoods_EventScript_22E284:: @ 822E284
- trainerbattle_single TRAINER_JAMES_1, PetalburgWoods_Text_22E827, PetalburgWoods_Text_22E86B, PetalburgWoods_EventScript_22E2C5
+PetalburgWoods_EventScript_James:: @ 822E284
+ trainerbattle_single TRAINER_JAMES_1, PetalburgWoods_Text_InstantlyPopularWithBugPokemon, PetalburgWoods_Text_CantBePopularIfILose, PetalburgWoods_EventScript_TryRegisterJames
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_if_eq PetalburgWoods_EventScript_22E31B
- setvar VAR_0x8004, 621
- specialvar VAR_RESULT, sub_813B4E0
+ goto_if_eq PetalburgWoods_EventScript_JamesRematch
+ setvar VAR_0x8004, TRAINER_JAMES_1
+ specialvar VAR_RESULT, IsTrainerRegistered
compare VAR_RESULT, 0
- goto_if_eq PetalburgWoods_EventScript_22E2EF
- msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT
+ goto_if_eq PetalburgWoods_EventScript_TryRegisterJames2
+ msgbox PetalburgWoods_Text_PeopleRespectYou, MSGBOX_DEFAULT
release
end
-PetalburgWoods_EventScript_22E2C5:: @ 822E2C5
- special sub_80B4808
+PetalburgWoods_EventScript_TryRegisterJames:: @ 822E2C5
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E2D6
+ goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_RegisterJames
release
end
-PetalburgWoods_EventScript_22E2D6:: @ 822E2D6
- msgbox PetalburgWoods_Text_22E8C3, MSGBOX_DEFAULT
+PetalburgWoods_EventScript_RegisterJames:: @ 822E2D6
+ msgbox PetalburgWoods_Text_IWantRematch1, MSGBOX_DEFAULT
register_matchcall TRAINER_JAMES_1
release
end
-PetalburgWoods_EventScript_22E2EF:: @ 822E2EF
- goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E302
- msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT
+PetalburgWoods_EventScript_TryRegisterJames2:: @ 822E2EF
+ goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_RegisterJames2
+ msgbox PetalburgWoods_Text_PeopleRespectYou, MSGBOX_DEFAULT
release
end
-PetalburgWoods_EventScript_22E302:: @ 822E302
- msgbox PetalburgWoods_Text_22E914, MSGBOX_DEFAULT
+PetalburgWoods_EventScript_RegisterJames2:: @ 822E302
+ msgbox PetalburgWoods_Text_IWantRematch2, MSGBOX_DEFAULT
register_matchcall TRAINER_JAMES_1
release
end
-PetalburgWoods_EventScript_22E31B:: @ 822E31B
- trainerbattle_rematch TRAINER_JAMES_1, PetalburgWoods_Text_22E966, PetalburgWoods_Text_22E998
- msgbox PetalburgWoods_Text_22E9B6, MSGBOX_AUTOCLOSE
+PetalburgWoods_EventScript_JamesRematch:: @ 822E31B
+ trainerbattle_rematch TRAINER_JAMES_1, PetalburgWoods_Text_MyPokemonHaveGrown, PetalburgWoods_Text_CantBePopularIfLose
+ msgbox PetalburgWoods_Text_IveBeenTrainingHard, MSGBOX_AUTOCLOSE
end
-PetalburgWoods_Text_22E332: @ 822E332
+PetalburgWoods_Text_NotAOneToBeFound: @ 822E332
.string "Hmmm…\n"
.string "Not a one to be found…$"
-PetalburgWoods_Text_22E34F: @ 822E34F
+PetalburgWoods_Text_HaveYouSeenShroomish: @ 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
+PetalburgWoods_Text_IWasGoingToAmbushYou: @ 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
+PetalburgWoods_Text_HandOverThosePapers: @ 822E428
.string "You! DEVON RESEARCHER!\p"
.string "Hand over those papers!$"
-PetalburgWoods_Text_22E457: @ 822E457
+PetalburgWoods_Text_YouHaveToHelpMe: @ 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
+PetalburgWoods_Text_NoOneCrossesTeamAqua: @ 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
+PetalburgWoods_Text_YoureKiddingMe: @ 822E542
.string "You're kidding me! You're tough!$"
-PetalburgWoods_Text_22E563: @ 822E563
+PetalburgWoods_Text_YouveGotSomeNerve: @ 822E563
.string "Grrr… You've got some nerve\n"
.string "meddling with TEAM AQUA!\l"
.string "Come on and battle me again!\p"
@@ -363,7 +363,7 @@ PetalburgWoods_Text_22E563: @ 822E563
.string "after something in RUSTBORO.\p"
.string "I'll let you go today!$"
-PetalburgWoods_Text_22E63D: @ 822E63D
+PetalburgWoods_Text_ThatWasAwfullyClose: @ 822E63D
.string "Whew…\n"
.string "That was awfully close!\p"
.string "Thanks to you, he didn't rob me of\n"
@@ -371,85 +371,85 @@ PetalburgWoods_Text_22E63D: @ 822E63D
.string "I know, I'll give you a GREAT BALL as\n"
.string "my thanks!$"
-PetalburgWoods_Text_22E6C7: @ 822E6C7
+PetalburgWoods_Text_TeamAquaAfterSomethingInRustboro: @ 822E6C7
.string "Didn't that TEAM AQUA thug say\n"
.string "they were after something in\l"
.string "RUSTBORO, too?$"
-PetalburgWoods_Text_22E712: @ 822E712
+PetalburgWoods_Text_ICantBeWastingTime: @ 822E712
.string "Uh-oh! It's a crisis!\n"
.string "I can't be wasting time!$"
-PetalburgWoods_Text_22E741: @ 822E741
+PetalburgWoods_Text_YoureLoadedWithItems: @ 822E741
.string "You're loaded with items.\n"
.string "I can't give you this GREAT BALL.$"
-PetalburgWoods_Text_22E77D: @ 822E77D
+PetalburgWoods_Text_GoBugPokemonTeam: @ 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
+PetalburgWoods_Text_ICouldntWin: @ 822E7C1
.string "I have all these POKéMON,\n"
.string "but I couldn't win…$"
-PetalburgWoods_Text_22E7EF: @ 822E7EF
+PetalburgWoods_Text_ImOutOfPokeBalls: @ 822E7EF
.string "I caught a bunch of POKéMON.\n"
.string "Now I'm out of POKé BALLS.$"
-PetalburgWoods_Text_22E827: @ 822E827
+PetalburgWoods_Text_InstantlyPopularWithBugPokemon: @ 822E827
.string "If you take BUG POKéMON to school,\n"
.string "you get to be instantly popular!$"
-PetalburgWoods_Text_22E86B: @ 822E86B
+PetalburgWoods_Text_CantBePopularIfILose: @ 822E86B
.string "I can't be popular if I lose.$"
-PetalburgWoods_Text_22E889: @ 822E889
+PetalburgWoods_Text_PeopleRespectYou: @ 822E889
.string "If you have a big BUG POKéMON,\n"
.string "people respect you for it.$"
-PetalburgWoods_Text_22E8C3: @ 822E8C3
+PetalburgWoods_Text_IWantRematch1: @ 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
+PetalburgWoods_Text_IWantRematch2: @ 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
+PetalburgWoods_Text_MyPokemonHaveGrown: @ 822E966
.string "My BUG POKéMON have grown.\n"
.string "I'll be popular again.$"
-PetalburgWoods_Text_22E998: @ 822E998
+PetalburgWoods_Text_CantBePopularIfLose: @ 822E998
.string "I can't be popular if I lose.$"
-PetalburgWoods_Text_22E9B6: @ 822E9B6
+PetalburgWoods_Text_IveBeenTrainingHard: @ 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
+PetalburgWoods_Text_StayOutOfTallGrass: @ 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
+PetalburgWoods_Text_HiddenItemsExplanation: @ 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
+PetalburgWoods_Text_TryUsingThisItem: @ 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
+PetalburgWoods_Text_MiracleSeedExplanation: @ 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"
@@ -457,7 +457,7 @@ PetalburgWoods_Text_22EB63: @ 822EB63
.string "other convenient items for POKéMON\l"
.string "to hold.$"
-PetalburgWoods_Text_22EC10: @ 822EC10
+PetalburgWoods_Text_TrainerTipsExperience: @ 822EC10
.string "TRAINER TIPS\p"
.string "Any POKéMON that appears even once\n"
.string "in a battle is awarded EXP Points.\p"
@@ -467,7 +467,7 @@ PetalburgWoods_Text_22EC10: @ 822EC10
.string "out. It will earn EXP Points without\l"
.string "being exposed to any harm.$"
-PetalburgWoods_Text_22ED07: @ 822ED07
+PetalburgWoods_Text_TrainerTipsPP: @ 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"
diff --git a/data/maps/RecordCorner/map.json b/data/maps/RecordCorner/map.json
index d34ad4903..e2d5f3a52 100644
--- a/data/maps/RecordCorner/map.json
+++ b/data/maps/RecordCorner/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RecordCorner_EventScript_2774C6",
+ "script": "RecordCorner_EventScript_Attendant",
"flag": "0"
}
],
diff --git a/data/maps/Route101/map.json b/data/maps/Route101/map.json
index 44d8b2137..71dbf96cc 100644
--- a/data/maps/Route101/map.json
+++ b/data/maps/Route101/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route101_EventScript_1EBDFB",
+ "script": "Route101_EventScript_Youngster",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route101_EventScript_1EBE16",
+ "script": "Route101_EventScript_BirchsBag",
"flag": "FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route101_EventScript_272141",
+ "script": "ProfBirch_EventScript_RatePokedexOrRegister",
"flag": "FLAG_HIDE_ROUTE_101_BIRCH"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route101_EventScript_1EBE04",
+ "script": "Route101_EventScript_Boy",
"flag": "FLAG_HIDE_ROUTE_101_BOY"
}
],
@@ -113,7 +113,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "1",
- "script": "Route101_EventScript_1EBCDE"
+ "script": "Route101_EventScript_StartBirchRescue"
},
{
"type": "trigger",
@@ -122,7 +122,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "1",
- "script": "Route101_EventScript_1EBCDE"
+ "script": "Route101_EventScript_StartBirchRescue"
},
{
"type": "trigger",
@@ -131,7 +131,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "2",
- "script": "Route101_EventScript_1EBD4E"
+ "script": "Route101_EventScript_PreventExitSouth"
},
{
"type": "trigger",
@@ -140,7 +140,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "2",
- "script": "Route101_EventScript_1EBD4E"
+ "script": "Route101_EventScript_PreventExitSouth"
},
{
"type": "trigger",
@@ -149,7 +149,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "2",
- "script": "Route101_EventScript_1EBD64"
+ "script": "Route101_EventScript_PreventExitWest"
},
{
"type": "trigger",
@@ -158,7 +158,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "2",
- "script": "Route101_EventScript_1EBD64"
+ "script": "Route101_EventScript_PreventExitWest"
},
{
"type": "trigger",
@@ -167,7 +167,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "2",
- "script": "Route101_EventScript_1EBD64"
+ "script": "Route101_EventScript_PreventExitWest"
},
{
"type": "trigger",
@@ -176,7 +176,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "2",
- "script": "Route101_EventScript_1EBD64"
+ "script": "Route101_EventScript_PreventExitWest"
},
{
"type": "trigger",
@@ -185,7 +185,7 @@
"elevation": 3,
"var": "VAR_ROUTE101_STATE",
"var_value": "2",
- "script": "Route101_EventScript_1EBD7A"
+ "script": "Route101_EventScript_PreventExitNorth"
}
],
"bg_events": [
@@ -195,7 +195,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route101_EventScript_1EBE0D"
+ "script": "Route101_EventScript_RouteSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc
index 73bfe570c..56a256ca9 100644
--- a/data/maps/Route101/scripts.inc
+++ b/data/maps/Route101/scripts.inc
@@ -1,86 +1,86 @@
Route101_MapScripts:: @ 81EBCBA
map_script MAP_SCRIPT_ON_TRANSITION, Route101_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route101_MapScript2_1EBCCB
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route101_OnFrame
.byte 0
Route101_OnTransition: @ 81EBCC5
- call Route101_EventScript_2720AD
+ call ProfBirch_EventScript_UpdateLocation
end
-Route101_MapScript2_1EBCCB: @ 81EBCCB
- map_script_2 VAR_ROUTE101_STATE, 0, Route101_EventScript_1EBCD5
+Route101_OnFrame: @ 81EBCCB
+ map_script_2 VAR_ROUTE101_STATE, 0, Route101_EventScript_HideMapNamePopup
.2byte 0
-Route101_EventScript_1EBCD5:: @ 81EBCD5
+Route101_EventScript_HideMapNamePopup:: @ 81EBCD5
setflag FLAG_HIDE_MAP_NAME_POPUP
setvar VAR_ROUTE101_STATE, 1
end
-Route101_EventScript_1EBCDE:: @ 81EBCDE
+Route101_EventScript_StartBirchRescue:: @ 81EBCDE
lockall
playbgm MUS_EVENT0, 1
- msgbox Route101_Text_1EBE8F, MSGBOX_DEFAULT
+ msgbox Route101_Text_HelpMe, MSGBOX_DEFAULT
closemessage
setobjectxy 2, 0, 15
setobjectxy 4, 0, 16
- applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBDC2
- applymovement 2, Route101_Movement_1EBDE7
- applymovement 4, Route101_Movement_1EBDB5
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_EnterScene
+ applymovement 2, Route101_Movement_BirchRunAway1
+ applymovement 4, Route101_Movement_PoochyenaChase1
waitmovement 0
- applymovement 4, Route101_Movement_1EBD96
- applymovement 2, Route101_Movement_1EBDC8
+ applymovement 4, Route101_Movement_PoochyenaChaseInCircles
+ applymovement 2, Route101_Movement_BirchRunInCircles
waitmovement 0
- applymovement 2, Common_Movement_WalkInPlaceRight
+ applymovement 2, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- applymovement 4, Route101_Movement_1EBDBD
- applymovement 2, Route101_Movement_1EBDEF
+ applymovement 4, Route101_Movement_PoochyenaFaceBirch
+ applymovement 2, Route101_Movement_BirchFacePoochyena
waitmovement 0
- msgbox Route101_Text_1EBE9A, MSGBOX_DEFAULT
+ msgbox Route101_Text_PleaseHelp, MSGBOX_DEFAULT
closemessage
setvar VAR_ROUTE101_STATE, 2
releaseall
end
-Route101_EventScript_1EBD4E:: @ 81EBD4E
+Route101_EventScript_PreventExitSouth:: @ 81EBD4E
lockall
- msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
+ msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD90
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_PreventExitSouth
waitmovement 0
releaseall
end
-Route101_EventScript_1EBD64:: @ 81EBD64
+Route101_EventScript_PreventExitWest:: @ 81EBD64
lockall
- msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
+ msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD92
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_PreventExitWest
waitmovement 0
releaseall
end
-Route101_EventScript_1EBD7A:: @ 81EBD7A
+Route101_EventScript_PreventExitNorth:: @ 81EBD7A
lockall
- msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
+ msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD94
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_PreventExitNorth
waitmovement 0
releaseall
end
-Route101_Movement_1EBD90: @ 81EBD90
+Route101_Movement_PreventExitSouth: @ 81EBD90
walk_up
step_end
-Route101_Movement_1EBD92: @ 81EBD92
+Route101_Movement_PreventExitWest: @ 81EBD92
walk_right
step_end
-Route101_Movement_1EBD94: @ 81EBD94
+Route101_Movement_PreventExitNorth: @ 81EBD94
walk_down
step_end
-Route101_Movement_1EBD96: @ 81EBD96
+Route101_Movement_PoochyenaChaseInCircles: @ 81EBD96
walk_fast_up
walk_fast_up
walk_fast_up
@@ -113,7 +113,7 @@ Route101_Movement_1EBD96: @ 81EBD96
walk_fast_left
step_end
-Route101_Movement_1EBDB5: @ 81EBDB5
+Route101_Movement_PoochyenaChase1: @ 81EBDB5
walk_fast_up
walk_fast_right
walk_fast_right
@@ -122,17 +122,17 @@ Route101_Movement_1EBDB5: @ 81EBDB5
walk_fast_up
step_end
-Route101_Movement_1EBDBC: @ 81EBDBC
+@ Leftover data? This command is unused.
step_end
-Route101_Movement_1EBDBD: @ 81EBDBD
+Route101_Movement_PoochyenaFaceBirch: @ 81EBDBD
walk_in_place_fast_left
walk_in_place_fast_left
walk_in_place_fast_left
walk_in_place_fast_left
step_end
-Route101_Movement_1EBDC2: @ 81EBDC2
+Route101_Movement_EnterScene: @ 81EBDC2
walk_fast_up
walk_fast_up
walk_fast_up
@@ -140,7 +140,7 @@ Route101_Movement_1EBDC2: @ 81EBDC2
walk_in_place_fastest_left
step_end
-Route101_Movement_1EBDC8: @ 81EBDC8
+Route101_Movement_BirchRunInCircles: @ 81EBDC8
walk_fast_up
walk_fast_up
walk_fast_right
@@ -173,7 +173,7 @@ Route101_Movement_1EBDC8: @ 81EBDC8
walk_fast_left
step_end
-Route101_Movement_1EBDE7: @ 81EBDE7
+Route101_Movement_BirchRunAway1: @ 81EBDE7
walk_fast_right
walk_fast_right
walk_fast_right
@@ -182,54 +182,54 @@ Route101_Movement_1EBDE7: @ 81EBDE7
walk_fast_up
step_end
-Route101_Movement_1EBDEE: @ 81EBDEE
+@ Leftover data? This command is unused.
step_end
-Route101_Movement_1EBDEF: @ 81EBDEF
+Route101_Movement_BirchFacePoochyena: @ 81EBDEF
walk_in_place_fast_right
walk_in_place_fast_right
walk_in_place_fast_right
walk_in_place_fast_right
step_end
-Route101_Movement_1EBDF4: @ 81EBDF4
+Route101_Movement_Unused1: @ 81EBDF4
walk_up
walk_up
step_end
-Route101_Movement_1EBDF7: @ 81EBDF7
+Route101_Movement_Unused2: @ 81EBDF7
walk_up
walk_left
walk_up
step_end
-Route101_EventScript_1EBDFB:: @ 81EBDFB
- msgbox Route101_Text_1EBFDD, MSGBOX_NPC
+Route101_EventScript_Youngster:: @ 81EBDFB
+ msgbox Route101_Text_TakeTiredPokemonToPokeCenter, MSGBOX_NPC
end
-Route101_EventScript_1EBE04:: @ 81EBE04
- msgbox Route101_Text_1EC04A, MSGBOX_NPC
+Route101_EventScript_Boy:: @ 81EBE04
+ msgbox Route101_Text_WildPokemonInTallGrass, MSGBOX_NPC
end
-Route101_EventScript_1EBE0D:: @ 81EBE0D
- msgbox Route101_Text_1EC0C8, MSGBOX_SIGN
+Route101_EventScript_RouteSign:: @ 81EBE0D
+ msgbox Route101_Text_RouteSign, MSGBOX_SIGN
end
-Route101_EventScript_1EBE16:: @ 81EBE16
+Route101_EventScript_BirchsBag:: @ 81EBE16
lock
faceplayer
setflag FLAG_SYS_POKEMON_GET
setflag FLAG_RESCUED_BIRCH
- fadescreen 1
+ fadescreen FADE_TO_BLACK
removeobject 4
setobjectxy EVENT_OBJ_ID_PLAYER, 6, 13
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
special ChooseStarter
waitstate
- applymovement 2, Route101_Movement_1EBE8D
+ applymovement 2, Route101_Movement_BirchApproachPlayer
waitmovement 0
- msgbox Route101_Text_1EBF12, MSGBOX_DEFAULT
+ msgbox Route101_Text_YouSavedMe, MSGBOX_DEFAULT
special HealPlayerParty
setflag FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
@@ -239,40 +239,40 @@ Route101_EventScript_1EBE16:: @ 81EBE16
clearflag FLAG_HIDE_MAP_NAME_POPUP
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq Route101_EventScript_1EBE85
+ call_if_eq Route101_EventScript_HideMayInBedroom
compare VAR_RESULT, FEMALE
- call_if_eq Route101_EventScript_1EBE89
+ call_if_eq Route101_EventScript_HideBrendanInBedroom
warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
waitstate
release
end
-Route101_EventScript_1EBE85:: @ 81EBE85
+Route101_EventScript_HideMayInBedroom:: @ 81EBE85
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
return
-Route101_EventScript_1EBE89:: @ 81EBE89
+Route101_EventScript_HideBrendanInBedroom:: @ 81EBE89
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
return
-Route101_Movement_1EBE8D: @ 81EBE8D
+Route101_Movement_BirchApproachPlayer: @ 81EBE8D
walk_right
step_end
-Route101_Text_1EBE8F: @ 81EBE8F
+Route101_Text_HelpMe: @ 81EBE8F
.string "H-help me!$"
-Route101_Text_1EBE9A: @ 81EBE9A
+Route101_Text_PleaseHelp: @ 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
+Route101_Text_DontLeaveMe: @ 81EBEDF
.string "Wh-Where are you going?!\n"
.string "Don't leave me like this!$"
-Route101_Text_1EBF12: @ 81EBF12
+Route101_Text_YouSavedMe: @ 81EBF12
.string "PROF. BIRCH: Whew…\p"
.string "I was in the tall grass studying wild\n"
.string "POKéMON when I was jumped.\p"
@@ -283,19 +283,19 @@ Route101_Text_1EBF12: @ 81EBF12
.string "This is not the place to chat, so come\n"
.string "by my POKéMON LAB later, okay?$"
-Route101_Text_1EBFDD: @ 81EBFDD
+Route101_Text_TakeTiredPokemonToPokeCenter: @ 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
+Route101_Text_WildPokemonInTallGrass: @ 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
+Route101_Text_RouteSign: @ 81EC0C8
.string "ROUTE 101\n"
.string "{UP_ARROW} OLDALE TOWN$"
diff --git a/data/maps/Route102/map.json b/data/maps/Route102/map.json
index 323c4142b..f8930a21d 100644
--- a/data/maps/Route102/map.json
+++ b/data/maps/Route102/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route102_EventScript_1EC0E1",
+ "script": "Route102_EventScript_LittleBoy",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route102_EventScript_1EC105",
+ "script": "Route102_EventScript_Calvin",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route102_EventScript_1EC1B3",
+ "script": "Route102_EventScript_Rick",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route102_EventScript_1EC1CA",
+ "script": "Route102_EventScript_Tiana",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route102_EventScript_1EC0FC",
+ "script": "Route102_EventScript_Boy",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route102_EventScript_1EC1E1",
+ "script": "Route102_EventScript_Allen",
"flag": "0"
}
],
@@ -152,7 +152,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route102_EventScript_1EC0F3"
+ "script": "Route102_EventScript_RouteSignPetalburg"
},
{
"type": "sign",
@@ -160,7 +160,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route102_EventScript_1EC0EA"
+ "script": "Route102_EventScript_RouteSignOldale"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc
index ada20447a..b14f204e5 100644
--- a/data/maps/Route102/scripts.inc
+++ b/data/maps/Route102/scripts.inc
@@ -1,81 +1,81 @@
Route102_MapScripts:: @ 81EC0E0
.byte 0
-Route102_EventScript_1EC0E1:: @ 81EC0E1
- msgbox Route102_Text_1EC2C0, MSGBOX_NPC
+Route102_EventScript_LittleBoy:: @ 81EC0E1
+ msgbox Route102_Text_ImNotVeryTall, MSGBOX_NPC
end
-Route102_EventScript_1EC0EA:: @ 81EC0EA
- msgbox Route102_Text_1EC35B, MSGBOX_SIGN
+Route102_EventScript_RouteSignOldale:: @ 81EC0EA
+ msgbox Route102_Text_RouteSignOldale, MSGBOX_SIGN
end
-Route102_EventScript_1EC0F3:: @ 81EC0F3
- msgbox Route102_Text_1EC373, MSGBOX_SIGN
+Route102_EventScript_RouteSignPetalburg:: @ 81EC0F3
+ msgbox Route102_Text_RouteSignPetalburg, MSGBOX_SIGN
end
-Route102_EventScript_1EC0FC:: @ 81EC0FC
- msgbox Route102_Text_1EC32E, MSGBOX_NPC
+Route102_EventScript_Boy:: @ 81EC0FC
+ msgbox Route102_Text_CatchWholeBunchOfPokemon, MSGBOX_NPC
end
-Route102_EventScript_1EC105:: @ 81EC105
- trainerbattle_single TRAINER_CALVIN_1, Route102_Text_294513, Route102_Text_29457C, Route102_EventScript_1EC146
+Route102_EventScript_Calvin:: @ 81EC105
+ trainerbattle_single TRAINER_CALVIN_1, Route102_Text_CalvinIntro, Route102_Text_CalvinDefeated, Route102_EventScript_CalvinRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route102_EventScript_1EC19C
- setvar VAR_0x8004, 318
- specialvar VAR_RESULT, sub_813B4E0
- compare VAR_RESULT, 0
- goto_if_eq Route102_EventScript_1EC170
- msgbox Route102_Text_2945AC, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route102_EventScript_CalvinRematch
+ setvar VAR_0x8004, TRAINER_CALVIN_1
+ specialvar VAR_RESULT, IsTrainerRegistered
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route102_EventScript_CalvinTryRegister
+ msgbox Route102_Text_CalvinPostBattle, MSGBOX_DEFAULT
release
end
-Route102_EventScript_1EC146:: @ 81EC146
- special sub_80B4808
+Route102_EventScript_CalvinRegisterMatchCallAfterBattle:: @ 81EC146
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC157
+ goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_CalvinRegisterMatchCall
release
end
-Route102_EventScript_1EC157:: @ 81EC157
- msgbox Route102_Text_294668, MSGBOX_DEFAULT
+Route102_EventScript_CalvinRegisterMatchCall:: @ 81EC157
+ msgbox Route102_Text_CalvinRegisterShort, MSGBOX_DEFAULT
register_matchcall TRAINER_CALVIN_1
release
end
-Route102_EventScript_1EC170:: @ 81EC170
- goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC183
- msgbox Route102_Text_2945AC, MSGBOX_DEFAULT
+Route102_EventScript_CalvinTryRegister:: @ 81EC170
+ goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_CalvinRegister
+ msgbox Route102_Text_CalvinPostBattle, MSGBOX_DEFAULT
release
end
-Route102_EventScript_1EC183:: @ 81EC183
- msgbox Route102_Text_2945EB, MSGBOX_DEFAULT
+Route102_EventScript_CalvinRegister:: @ 81EC183
+ msgbox Route102_Text_CalvinRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_CALVIN_1
release
end
-Route102_EventScript_1EC19C:: @ 81EC19C
- trainerbattle_rematch TRAINER_CALVIN_1, Route102_Text_2946AE, Route102_Text_29470C
- msgbox Route102_Text_29473C, MSGBOX_AUTOCLOSE
+Route102_EventScript_CalvinRematch:: @ 81EC19C
+ trainerbattle_rematch TRAINER_CALVIN_1, Route102_Text_CalvinRematchIntro, Route102_Text_CalvinRematchDefeated
+ msgbox Route102_Text_CalvinRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route102_EventScript_1EC1B3:: @ 81EC1B3
- trainerbattle_single TRAINER_RICK, Route102_Text_29480C, Route102_Text_294847
- msgbox Route102_Text_294859, MSGBOX_AUTOCLOSE
+Route102_EventScript_Rick:: @ 81EC1B3
+ trainerbattle_single TRAINER_RICK, Route102_Text_RickIntro, Route102_Text_RickDefeated
+ msgbox Route102_Text_RickPostBattle, MSGBOX_AUTOCLOSE
end
-Route102_EventScript_1EC1CA:: @ 81EC1CA
- trainerbattle_single TRAINER_TIANA, Route102_Text_29489E, Route102_Text_2948F3
- msgbox Route102_Text_294916, MSGBOX_AUTOCLOSE
+Route102_EventScript_Tiana:: @ 81EC1CA
+ trainerbattle_single TRAINER_TIANA, Route102_Text_TianaIntro, Route102_Text_TianaDefeated
+ msgbox Route102_Text_TianaPostBattle, MSGBOX_AUTOCLOSE
end
-Route102_EventScript_1EC1E1:: @ 81EC1E1
- trainerbattle_single TRAINER_ALLEN, Route102_Text_294775, Route102_Text_2947AA
- msgbox Route102_Text_2947DB, MSGBOX_AUTOCLOSE
+Route102_EventScript_Allen:: @ 81EC1E1
+ trainerbattle_single TRAINER_ALLEN, Route102_Text_AllenIntro, Route102_Text_AllenDefeated
+ msgbox Route102_Text_AllenPostBattle, MSGBOX_AUTOCLOSE
end
-PetalburgCity_Text_1EC1F8: @ 81EC1F8
+Route102_Text_WatchMeCatchPokemon: @ 81EC1F8
.string "WALLY: {PLAYER}…\n"
.string "POKéMON hide in tall grass like this,\l"
.string "don't they?\p"
@@ -83,29 +83,29 @@ PetalburgCity_Text_1EC1F8: @ 81EC1F8
.string "catch one properly.\p"
.string "…Whoa!$"
-PetalburgCity_Text_1EC271: @ 81EC271
+Route102_Text_WallyIDidIt: @ 81EC271
.string "WALLY: I did it… It's my…\n"
.string "My POKéMON!$"
-PetalburgCity_Text_1EC297: @ 81EC297
+Route102_Text_LetsGoBack: @ 81EC297
.string "{PLAYER}, thank you!\n"
.string "Let's go back to the GYM!$"
-Route102_Text_1EC2C0: @ 81EC2C0
+Route102_Text_ImNotVeryTall: @ 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
+Route102_Text_CatchWholeBunchOfPokemon: @ 81EC32E
.string "I'm going to catch a whole bunch of\n"
.string "POKéMON!$"
-Route102_Text_1EC35B: @ 81EC35B
+Route102_Text_RouteSignOldale: @ 81EC35B
.string "ROUTE 102\n"
.string "{RIGHT_ARROW} OLDALE TOWN$"
-Route102_Text_1EC373: @ 81EC373
+Route102_Text_RouteSignPetalburg: @ 81EC373
.string "ROUTE 102\n"
.string "{LEFT_ARROW} PETALBURG CITY$"
diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json
index bf207ec2f..0a870a06e 100644
--- a/data/maps/Route103/map.json
+++ b/data/maps/Route103/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_1EC5E2",
+ "script": "Route103_EventScript_Man",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_1EC3C1",
+ "script": "Route103_EventScript_Rival",
"flag": "FLAG_HIDE_ROUTE_103_RIVAL"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route103_EventScript_1EC5F4",
+ "script": "Route103_EventScript_Daisy",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route103_EventScript_1EC66E",
+ "script": "Route103_EventScript_Liv",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route103_EventScript_1EC60B",
+ "script": "Route103_EventScript_Amy",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route103_EventScript_1EC6D1",
+ "script": "Route103_EventScript_Andrew",
"flag": "0"
},
{
@@ -152,7 +152,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_1EC5D9",
+ "script": "Route103_EventScript_Boy",
"flag": "0"
},
{
@@ -165,7 +165,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route103_EventScript_272141",
+ "script": "ProfBirch_EventScript_RatePokedexOrRegister",
"flag": "FLAG_HIDE_ROUTE_103_BIRCH"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route103_EventScript_1EC6E8",
+ "script": "Route103_EventScript_Miguel",
"flag": "0"
},
{
@@ -230,7 +230,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route103_EventScript_1EC761",
+ "script": "Route103_EventScript_Rhett",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route103_EventScript_1EC74A",
+ "script": "Route103_EventScript_Marcos",
"flag": "0"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route103_EventScript_1EC78F",
+ "script": "Route103_EventScript_Isabelle",
"flag": "0"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route103_EventScript_1EC778",
+ "script": "Route103_EventScript_Pete",
"flag": "0"
},
{
@@ -303,7 +303,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route103_EventScript_1EC5EB"
+ "script": "Route103_EventScript_RouteSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc
index 36b2c6c14..0c9974629 100644
--- a/data/maps/Route103/scripts.inc
+++ b/data/maps/Route103/scripts.inc
@@ -1,33 +1,33 @@
Route103_MapScripts:: @ 81EC38E
map_script MAP_SCRIPT_ON_TRANSITION, Route103_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route103_MapScript1_1EC3A4
+ map_script MAP_SCRIPT_ON_LOAD, Route103_OnLoad
.byte 0
Route103_OnTransition: @ 81EC399
- call Common_EventScript_SetupRivalGender
- call Route103_EventScript_2720AD
+ call Common_EventScript_SetupRivalGfxId
+ call ProfBirch_EventScript_UpdateLocation
end
-Route103_MapScript1_1EC3A4: @ 81EC3A4
- call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_1EC3AE
+Route103_OnLoad: @ 81EC3A4
+ call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_OpenAlteringCave
end
-Route103_EventScript_1EC3AE:: @ 81EC3AE
+Route103_EventScript_OpenAlteringCave:: @ 81EC3AE
setmetatile 45, 5, METATILE_General_CaveEntrance_Top, 1
setmetatile 45, 6, METATILE_General_CaveEntrance_Bottom, 0
return
-Route103_EventScript_1EC3C1:: @ 81EC3C1
+Route103_EventScript_Rival:: @ 81EC3C1
lockall
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq Route103_EventScript_1EC3DA
+ goto_if_eq Route103_EventScript_RivalMay
compare VAR_RESULT, FEMALE
- goto_if_eq Route103_EventScript_1EC434
+ goto_if_eq Route103_EventScript_RivalBrendan
end
-Route103_EventScript_1EC3DA:: @ 81EC3DA
- msgbox Route103_Text_1EC7A6, MSGBOX_DEFAULT
+Route103_EventScript_RivalMay:: @ 81EC3DA
+ msgbox Route103_Text_MayRoute103Pokemon, MSGBOX_DEFAULT
closemessage
playbgm MUS_GIRL_SUP, 1
applymovement 2, Common_Movement_FacePlayer
@@ -36,15 +36,15 @@ Route103_EventScript_1EC3DA:: @ 81EC3DA
waitmovement 0
applymovement 2, Common_Movement_Delay48
waitmovement 0
- msgbox Route103_Text_1EC7DE, MSGBOX_DEFAULT
+ msgbox Route103_Text_MayLetsBattle, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route103_EventScript_1EC48E
- case 1, Route103_EventScript_1EC49E
- case 2, Route103_EventScript_1EC4AE
+ case 0, Route103_EventScript_StartMayBattleTreecko
+ case 1, Route103_EventScript_StartMayBattleTorchic
+ case 2, Route103_EventScript_StartMayBattleMudkip
end
-Route103_EventScript_1EC434:: @ 81EC434
- msgbox Route103_Text_1EC989, MSGBOX_DEFAULT
+Route103_EventScript_RivalBrendan:: @ 81EC434
+ msgbox Route103_Text_BrendanRoute103Pokemon, MSGBOX_DEFAULT
closemessage
playbgm MUS_BOY_SUP, 1
applymovement 2, Common_Movement_FacePlayer
@@ -53,92 +53,92 @@ Route103_EventScript_1EC434:: @ 81EC434
waitmovement 0
applymovement 2, Common_Movement_Delay48
waitmovement 0
- msgbox Route103_Text_1EC9CE, MSGBOX_DEFAULT
+ msgbox Route103_Text_BrendanLetsBattle, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route103_EventScript_1EC4BE
- case 1, Route103_EventScript_1EC4CE
- case 2, Route103_EventScript_1EC4DE
+ case 0, Route103_EventScript_StartBrendanBattleTreecko
+ case 1, Route103_EventScript_StartBrendanBattleTorchic
+ case 2, Route103_EventScript_StartBrendanBattleMudkip
end
-Route103_EventScript_1EC48E:: @ 81EC48E
- trainerbattle_no_intro TRAINER_MAY_4, Route103_Text_1EC881
- goto Route103_EventScript_1EC4EE
+Route103_EventScript_StartMayBattleTreecko:: @ 81EC48E
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TREECKO, Route103_Text_MayDefeated
+ goto Route103_EventScript_AfterMayBattle
end
-Route103_EventScript_1EC49E:: @ 81EC49E
- trainerbattle_no_intro TRAINER_MAY_7, Route103_Text_1EC881
- goto Route103_EventScript_1EC4EE
+Route103_EventScript_StartMayBattleTorchic:: @ 81EC49E
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TORCHIC, Route103_Text_MayDefeated
+ goto Route103_EventScript_AfterMayBattle
end
-Route103_EventScript_1EC4AE:: @ 81EC4AE
- trainerbattle_no_intro TRAINER_MAY_1, Route103_Text_1EC881
- goto Route103_EventScript_1EC4EE
+Route103_EventScript_StartMayBattleMudkip:: @ 81EC4AE
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_103_MUDKIP, Route103_Text_MayDefeated
+ goto Route103_EventScript_AfterMayBattle
end
-Route103_EventScript_1EC4BE:: @ 81EC4BE
- trainerbattle_no_intro TRAINER_BRENDAN_4, Route103_Text_1ECA59
- goto Route103_EventScript_1EC4FC
+Route103_EventScript_StartBrendanBattleTreecko:: @ 81EC4BE
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TREECKO, Route103_Text_BrendanDefeated
+ goto Route103_EventScript_AfterBrendanBattle
end
-Route103_EventScript_1EC4CE:: @ 81EC4CE
- trainerbattle_no_intro TRAINER_BRENDAN_7, Route103_Text_1ECA59
- goto Route103_EventScript_1EC4FC
+Route103_EventScript_StartBrendanBattleTorchic:: @ 81EC4CE
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TORCHIC, Route103_Text_BrendanDefeated
+ goto Route103_EventScript_AfterBrendanBattle
end
-Route103_EventScript_1EC4DE:: @ 81EC4DE
- trainerbattle_no_intro TRAINER_BRENDAN_1, Route103_Text_1ECA59
- goto Route103_EventScript_1EC4FC
+Route103_EventScript_StartBrendanBattleMudkip:: @ 81EC4DE
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_MUDKIP, Route103_Text_BrendanDefeated
+ goto Route103_EventScript_AfterBrendanBattle
end
-Route103_EventScript_1EC4EE:: @ 81EC4EE
- msgbox Route103_Text_1EC8AE, MSGBOX_DEFAULT
- goto Route103_EventScript_1EC50A
+Route103_EventScript_AfterMayBattle:: @ 81EC4EE
+ msgbox Route103_Text_MayTimeToHeadBack, MSGBOX_DEFAULT
+ goto Route103_EventScript_RivalExit
end
-Route103_EventScript_1EC4FC:: @ 81EC4FC
- msgbox Route103_Text_1ECA79, MSGBOX_DEFAULT
- goto Route103_EventScript_1EC50A
+Route103_EventScript_AfterBrendanBattle:: @ 81EC4FC
+ msgbox Route103_Text_BrendanTimeToHeadBack, MSGBOX_DEFAULT
+ goto Route103_EventScript_RivalExit
end
-Route103_EventScript_1EC50A:: @ 81EC50A
+Route103_EventScript_RivalExit:: @ 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
+ case DIR_SOUTH, Route103_EventScript_RivalExitFacingSouth
+ case DIR_NORTH, Route103_EventScript_RivalExitFacingNorth
+ case DIR_WEST, Route103_EventScript_RivalExitFacingEastOrWest
+ case DIR_EAST, Route103_EventScript_RivalExitFacingEastOrWest
end
-Route103_EventScript_1EC53D:: @ 81EC53D
- applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5C8
- applymovement 2, Route103_Movement_1EC5BE
+Route103_EventScript_RivalExitFacingNorth:: @ 81EC53D
+ applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_WatchRivalExitFacingNorth
+ applymovement 2, Route103_Movement_RivalExitFacingNorth1
waitmovement 0
playse SE_DANSA
- applymovement 2, Route103_Movement_1EC5C1
+ applymovement 2, Route103_EventScript_RivalExitFacingNorth2
waitmovement 0
- goto Route103_EventScript_1EC5A2
+ goto Route103_EventScript_RivalEnd
end
-Route103_EventScript_1EC561:: @ 81EC561
- applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5D6
- applymovement 2, Route103_Movement_1EC5CE
+Route103_EventScript_RivalExitFacingEastOrWest:: @ 81EC561
+ applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_WatchRivalExitFacingEastOrWest
+ applymovement 2, Route103_Movement_RivalExit1
waitmovement 0
playse SE_DANSA
- applymovement 2, Route103_Movement_1EC5D0
+ applymovement 2, Route103_Movement_RivalExit2
waitmovement 0
- goto Route103_EventScript_1EC5A2
+ goto Route103_EventScript_RivalEnd
end
-Route103_EventScript_1EC585:: @ 81EC585
- applymovement 2, Route103_Movement_1EC5CE
+Route103_EventScript_RivalExitFacingSouth:: @ 81EC585
+ applymovement 2, Route103_Movement_RivalExit1
waitmovement 0
playse SE_DANSA
- applymovement 2, Route103_Movement_1EC5D0
+ applymovement 2, Route103_Movement_RivalExit2
waitmovement 0
- goto Route103_EventScript_1EC5A2
+ goto Route103_EventScript_RivalEnd
end
-Route103_EventScript_1EC5A2:: @ 81EC5A2
+Route103_EventScript_RivalEnd:: @ 81EC5A2
removeobject 2
setvar VAR_BIRCH_LAB_STATE, 4
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
@@ -150,12 +150,12 @@ Route103_EventScript_1EC5A2:: @ 81EC5A2
releaseall
end
-Route103_Movement_1EC5BE: @ 81EC5BE
+Route103_Movement_RivalExitFacingNorth1: @ 81EC5BE
walk_left
walk_down
step_end
-Route103_Movement_1EC5C1: @ 81EC5C1
+Route103_EventScript_RivalExitFacingNorth2: @ 81EC5C1
jump_2_down
delay_16
walk_down
@@ -164,7 +164,7 @@ Route103_Movement_1EC5C1: @ 81EC5C1
walk_down
step_end
-Route103_Movement_1EC5C8: @ 81EC5C8
+Route103_Movement_WatchRivalExitFacingNorth: @ 81EC5C8
delay_16
delay_4
walk_in_place_fastest_left
@@ -172,11 +172,11 @@ Route103_Movement_1EC5C8: @ 81EC5C8
walk_in_place_fastest_down
step_end
-Route103_Movement_1EC5CE: @ 81EC5CE
+Route103_Movement_RivalExit1: @ 81EC5CE
walk_down
step_end
-Route103_Movement_1EC5D0: @ 81EC5D0
+Route103_Movement_RivalExit2: @ 81EC5D0
jump_2_down
delay_16
walk_down
@@ -184,118 +184,118 @@ Route103_Movement_1EC5D0: @ 81EC5D0
walk_down
step_end
-Route103_Movement_1EC5D6: @ 81EC5D6
+Route103_Movement_WatchRivalExitFacingEastOrWest: @ 81EC5D6
delay_16
walk_in_place_fastest_down
step_end
-Route103_EventScript_1EC5D9:: @ 81EC5D9
- msgbox Route103_Text_1ECB73, MSGBOX_NPC
+Route103_EventScript_Boy:: @ 81EC5D9
+ msgbox Route103_Text_ShouldHaveBroughtPotion, MSGBOX_NPC
end
-Route103_EventScript_1EC5E2:: @ 81EC5E2
- msgbox Route103_Text_1ECBB5, MSGBOX_NPC
+Route103_EventScript_Man:: @ 81EC5E2
+ msgbox Route103_Text_ShortcutToOldale, MSGBOX_NPC
end
-Route103_EventScript_1EC5EB:: @ 81EC5EB
- msgbox Route103_Text_1ECC1A, MSGBOX_SIGN
+Route103_EventScript_RouteSign:: @ 81EC5EB
+ msgbox Route103_Text_RouteSign, MSGBOX_SIGN
end
-Route103_EventScript_1EC5F4:: @ 81EC5F4
- trainerbattle_single TRAINER_DAISY, Route103_Text_29495A, Route103_Text_29498F
- msgbox Route103_Text_2949B4, MSGBOX_AUTOCLOSE
+Route103_EventScript_Daisy:: @ 81EC5F4
+ trainerbattle_single TRAINER_DAISY, Route103_Text_DaisyIntro, Route103_Text_DaisyDefeated
+ msgbox Route103_Text_DaisyPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC60B:: @ 81EC60B
- trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_2949F9, Route103_Text_294A3D, Route103_Text_294AAE, Route103_EventScript_1EC63A
+Route103_EventScript_Amy:: @ 81EC60B
+ trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyIntro, Route103_Text_AmyDefeated, Route103_Text_AmyNotEnoughPokemon, Route102_EventScript_AmyRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route103_EventScript_1EC653
- msgbox Route103_Text_294A52, MSGBOX_AUTOCLOSE
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route102_EventScript_AmyRematch
+ msgbox Route103_Text_AmyPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC63A:: @ 81EC63A
- msgbox Route103_Text_294B8A, MSGBOX_DEFAULT
+Route102_EventScript_AmyRegisterMatchCallAfterBattle:: @ 81EC63A
+ msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_AMY_AND_LIV_1
release
end
-Route103_EventScript_1EC653:: @ 81EC653
- trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_294C29, Route103_Text_294C6D, Route103_Text_294CEF
- msgbox Route103_Text_294C93, MSGBOX_AUTOCLOSE
+Route102_EventScript_AmyRematch:: @ 81EC653
+ trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyRematchIntro, Route103_Text_AmyRematchDefeated, Route103_Text_AmyRematchNotEnoughPokemon
+ msgbox Route103_Text_AmyRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC66E:: @ 81EC66E
- trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_294AFD, Route103_Text_294B22, Route103_Text_294BD0, Route103_EventScript_1EC69D
+Route103_EventScript_Liv:: @ 81EC66E
+ trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivIntro, Route103_Text_LivDefeated, Route103_Text_LivNotEnoughPokemon, Route102_EventScript_LivRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route103_EventScript_1EC6B6
- msgbox Route103_Text_294B40, MSGBOX_AUTOCLOSE
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route102_EventScript_LivRematch
+ msgbox Route103_Text_LivPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC69D:: @ 81EC69D
- msgbox Route103_Text_294B8A, MSGBOX_DEFAULT
+Route102_EventScript_LivRegisterMatchCallAfterBattle:: @ 81EC69D
+ msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_AMY_AND_LIV_1
release
end
-Route103_EventScript_1EC6B6:: @ 81EC6B6
- trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_294D3E, Route103_Text_294D63, Route103_Text_294DDB
- msgbox Route103_Text_294D89, MSGBOX_AUTOCLOSE
+Route102_EventScript_LivRematch:: @ 81EC6B6
+ trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivRematchIntro, Route103_Text_LivRematchDefeated, Route103_Text_LivRematchNotEnoughPokemon
+ msgbox Route103_Text_LivRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC6D1:: @ 81EC6D1
- trainerbattle_single TRAINER_ANDREW, Route103_Text_294E34, Route103_Text_294E92
- msgbox Route103_Text_294EBB, MSGBOX_AUTOCLOSE
+Route103_EventScript_Andrew:: @ 81EC6D1
+ trainerbattle_single TRAINER_ANDREW, Route103_Text_AndrewIntro, Route103_Text_AndrewDefeated
+ msgbox Route103_Text_AndrewPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC6E8:: @ 81EC6E8
- trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_294EDF, Route103_Text_294F21, Route103_EventScript_1EC714
+Route103_EventScript_Miguel:: @ 81EC6E8
+ trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_MiguelIntro, Route103_Text_MiguelDefeated, Route102_EventScript_MiguelRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route103_EventScript_1EC733
- msgbox Route103_Text_294F42, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route103_EventScript_MiguelRematch
+ msgbox Route103_Text_MiguelPostBattle, MSGBOX_DEFAULT
release
end
-Route103_EventScript_1EC714:: @ 81EC714
- special sub_80B4808
+Route102_EventScript_MiguelRegisterMatchCallAfterBattle:: @ 81EC714
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route103_Text_294F7E, MSGBOX_DEFAULT
+ msgbox Route103_Text_MiguelRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_MIGUEL_1
release
end
-Route103_EventScript_1EC733:: @ 81EC733
- trainerbattle_rematch TRAINER_MIGUEL_1, Route103_Text_294FC3, Route103_Text_295006
- msgbox Route103_Text_29501E, MSGBOX_AUTOCLOSE
+Route103_EventScript_MiguelRematch:: @ 81EC733
+ trainerbattle_rematch TRAINER_MIGUEL_1, Route103_Text_MiguelRematchIntro, Route103_Text_MiguelRematchDefeated
+ msgbox Route103_Text_MiguelRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC74A:: @ 81EC74A
- trainerbattle_single TRAINER_MARCOS, Route103_Text_295206, Route103_Text_29522B
- msgbox Route103_Text_295246, MSGBOX_AUTOCLOSE
+Route103_EventScript_Marcos:: @ 81EC74A
+ trainerbattle_single TRAINER_MARCOS, Route103_Text_MarcosIntro, Route103_Text_MarcosDefeated
+ msgbox Route103_Text_MarcosPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC761:: @ 81EC761
- trainerbattle_single TRAINER_RHETT, Route103_Text_295199, Route103_Text_2951C6
- msgbox Route103_Text_2951DE, MSGBOX_AUTOCLOSE
+Route103_EventScript_Rhett:: @ 81EC761
+ trainerbattle_single TRAINER_RHETT, Route103_Text_RhettIntro, Route103_Text_RhettDefeated
+ msgbox Route103_Text_RhettPostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC778:: @ 81EC778
- trainerbattle_single TRAINER_PETE, Route103_Text_295063, Route103_Text_295093
- msgbox Route103_Text_2950AA, MSGBOX_AUTOCLOSE
+Route103_EventScript_Pete:: @ 81EC778
+ trainerbattle_single TRAINER_PETE, Route103_Text_PeteIntro, Route103_Text_PeteDefeated
+ msgbox Route103_Text_PetePostBattle, MSGBOX_AUTOCLOSE
end
-Route103_EventScript_1EC78F:: @ 81EC78F
- trainerbattle_single TRAINER_ISABELLE, Route103_Text_295116, Route103_Text_295146
- msgbox Route103_Text_29514D, MSGBOX_AUTOCLOSE
+Route103_EventScript_Isabelle:: @ 81EC78F
+ trainerbattle_single TRAINER_ISABELLE, Route103_Text_IsabelleIntro, Route103_Text_IsabelleDefeated
+ msgbox Route103_Text_IsabellePostBattle, MSGBOX_AUTOCLOSE
end
-Route103_Text_1EC7A6: @ 81EC7A6
+Route103_Text_MayRoute103Pokemon: @ 81EC7A6
.string "MAY: Let's see… The POKéMON found\n"
.string "on ROUTE 103 include…$"
-Route103_Text_1EC7DE: @ 81EC7DE
+Route103_Text_MayLetsBattle: @ 81EC7DE
.string "Oh, hi, {PLAYER}{KUN}!\p"
.string "…Oh, I see, my dad gave you\n"
.string "a POKéMON as a gift.\p"
@@ -304,11 +304,11 @@ Route103_Text_1EC7DE: @ 81EC7DE
.string "I'll give you a taste of what being\n"
.string "a TRAINER is like.$"
-Route103_Text_1EC881: @ 81EC881
+Route103_Text_MayDefeated: @ 81EC881
.string "Wow! That's great!\n"
.string "{PLAYER}{KUN}, you're pretty good!$"
-Route103_Text_1EC8AE: @ 81EC8AE
+Route103_Text_MayTimeToHeadBack: @ 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"
@@ -318,11 +318,11 @@ Route103_Text_1EC8AE: @ 81EC8AE
.string "Well, it's time to head back to\n"
.string "the LAB.$"
-Route103_Text_1EC989: @ 81EC989
+Route103_Text_BrendanRoute103Pokemon: @ 81EC989
.string "BRENDAN: Okay, so it's this one and\n"
.string "that one that live on ROUTE 103…$"
-Route103_Text_1EC9CE: @ 81EC9CE
+Route103_Text_BrendanLetsBattle: @ 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"
@@ -330,10 +330,10 @@ Route103_Text_1EC9CE: @ 81EC9CE
.string "I'll teach you what being a TRAINER's\n"
.string "about!$"
-Route103_Text_1ECA59: @ 81ECA59
+Route103_Text_BrendanDefeated: @ 81ECA59
.string "Huh, {PLAYER}, you're not too shabby.$"
-Route103_Text_1ECA79: @ 81ECA79
+Route103_Text_BrendanTimeToHeadBack: @ 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"
@@ -343,16 +343,16 @@ Route103_Text_1ECA79: @ 81ECA79
.string "could befriend any POKéMON with ease.\p"
.string "We should head back to the LAB.$"
-Route103_Text_1ECB73: @ 81ECB73
+Route103_Text_ShouldHaveBroughtPotion: @ 81ECB73
.string "My POKéMON is staggeringly tired…\n"
.string "I should have brought a POTION…$"
-Route103_Text_1ECBB5: @ 81ECBB5
+Route103_Text_ShortcutToOldale: @ 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
+Route103_Text_RouteSign: @ 81ECC1A
.string "ROUTE 103\n"
.string "{DOWN_ARROW} OLDALE TOWN$"
diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json
index a02a1e170..f31c512f7 100644
--- a/data/maps/Route104/map.json
+++ b/data/maps/Route104/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED00F",
+ "script": "Route104_EventScript_BugCatcher",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED006",
+ "script": "Route104_EventScript_Girl1",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route104_EventScript_1ED38D",
+ "script": "Route104_EventScript_Haley",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED045",
+ "script": "Route104_EventScript_Boy1",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED04E",
+ "script": "Route104_EventScript_Woman",
"flag": "0"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED090",
+ "script": "Route104_EventScript_Girl2",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED35F",
+ "script": "Route104_EventScript_Ivan",
"flag": "0"
},
{
@@ -235,7 +235,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ECF8C",
+ "script": "Route104_EventScript_ExpertF",
"flag": "0"
},
{
@@ -313,7 +313,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ECFCD",
+ "script": "Route104_EventScript_WhiteHerbFlorist",
"flag": "FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST"
},
{
@@ -326,7 +326,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route104_EventScript_1ED597",
+ "script": "Route104_EventScript_Gina",
"flag": "0"
},
{
@@ -339,7 +339,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route104_EventScript_1ED5B6",
+ "script": "Route104_EventScript_Mia",
"flag": "0"
},
{
@@ -352,7 +352,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route104_EventScript_1ED43B",
+ "script": "Route104_EventScript_Winston",
"flag": "0"
},
{
@@ -365,7 +365,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route104_EventScript_1ED4E9",
+ "script": "Route104_EventScript_Cindy",
"flag": "0"
},
{
@@ -391,7 +391,7 @@
"movement_range_y": 6,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route104_EventScript_1ED376",
+ "script": "Route104_EventScript_Billy",
"flag": "0"
},
{
@@ -443,7 +443,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED057",
+ "script": "Route104_EventScript_Boy2",
"flag": "0"
},
{
@@ -456,7 +456,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ED5D5",
+ "script": "Route104_EventScript_Darian",
"flag": "0"
},
{
@@ -469,7 +469,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_EventScript_1ECC9E",
+ "script": "Route104_EventScript_Rival",
"flag": "FLAG_HIDE_ROUTE_104_RIVAL"
}
],
@@ -539,7 +539,7 @@
"elevation": 3,
"var": "VAR_ROUTE104_STATE",
"var_value": "1",
- "script": "Route104_EventScript_1ECCB3"
+ "script": "Route104_EventScript_RivalTrigger"
}
],
"bg_events": [
@@ -549,7 +549,7 @@
"y": 50,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route104_EventScript_1ED018"
+ "script": "Route104_EventScript_BrineysCottageSign"
},
{
"type": "sign",
@@ -557,7 +557,7 @@
"y": 66,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route104_EventScript_1ED021"
+ "script": "Route104_EventScript_RouteSignPetalburg"
},
{
"type": "sign",
@@ -565,7 +565,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route104_EventScript_1ED02A"
+ "script": "Route104_EventScript_RouteSignRustboro"
},
{
"type": "sign",
@@ -573,7 +573,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route104_EventScript_1ED033"
+ "script": "Route104_EventScript_FlowerShopSign"
},
{
"type": "sign",
@@ -581,7 +581,7 @@
"y": 23,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route104_EventScript_1ED03C"
+ "script": "Route104_EventScript_TrainerTipsDoubleBattles"
},
{
"type": "hidden_item",
diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc
index fd195b973..deb31d178 100644
--- a/data/maps/Route104/scripts.inc
+++ b/data/maps/Route104/scripts.inc
@@ -1,416 +1,417 @@
Route104_MapScripts:: @ 81ECC32
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route104_MapScript2_1ECC3D
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route104_OnFrame
map_script MAP_SCRIPT_ON_TRANSITION, Route104_OnTransition
.byte 0
-Route104_MapScript2_1ECC3D: @ 81ECC3D
- map_script_2 VAR_BOARD_BRINEY_BOAT_STATE, 1, Route104_EventScript_1ECC47
+Route104_OnFrame: @ 81ECC3D
+ map_script_2 VAR_BOARD_BRINEY_BOAT_STATE, 1, Route104_EventScript_StartSailToDewford
.2byte 0
-Route104_EventScript_1ECC47:: @ 81ECC47
+Route104_EventScript_StartSailToDewford:: @ 81ECC47
lockall
- goto Route104_EventScript_1ED099
+ goto Route104_EventScript_SailToDewford
end
Route104_OnTransition: @ 81ECC4E
- call Common_EventScript_SetupRivalGender
- call Route104_EventScript_1ECC78
- call Route104_EventScript_1ECC5E
+ call Common_EventScript_SetupRivalGfxId
+ call Route104_EventScript_TrySetRivalPos
+ call Route104_EventScript_ShowOrHideWhiteHerbFlorist
end
-Route104_EventScript_1ECC5E:: @ 81ECC5E
- goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_EventScript_1ECC74
- goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_1ECC74
+Route104_EventScript_ShowOrHideWhiteHerbFlorist:: @ 81ECC5E
+ goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_EventScript_HideWhiteHerbFlorist
+ goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_HideWhiteHerbFlorist
clearflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
return
-Route104_EventScript_1ECC74:: @ 81ECC74
+Route104_EventScript_HideWhiteHerbFlorist:: @ 81ECC74
setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
return
-Route104_EventScript_1ECC78:: @ 81ECC78
+Route104_EventScript_TrySetRivalPos:: @ 81ECC78
compare VAR_BOARD_BRINEY_BOAT_STATE, 1
- goto_if_ge Route104_EventScript_1ECC9D
- goto_if_set FLAG_MET_RIVAL_RUSTBORO, Route104_EventScript_1ECC9D
- goto_if_unset FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECC9D
+ goto_if_ge Route104_EventScript_DontSetRivalPos
+ goto_if_set FLAG_MET_RIVAL_RUSTBORO, Route104_EventScript_DontSetRivalPos
+ goto_if_unset FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_DontSetRivalPos
setobjectxyperm 34, 17, 52
return
-Route104_EventScript_1ECC9D:: @ 81ECC9D
+Route104_EventScript_DontSetRivalPos:: @ 81ECC9D
return
-Route104_EventScript_1ECC9E:: @ 81ECC9E
+Route104_EventScript_Rival:: @ 81ECC9E
lockall
setvar VAR_0x8008, 1
applymovement 34, Common_Movement_FacePlayer
waitmovement 0
- goto Route104_EventScript_1ECD33
+ goto Route104_EventScript_RivalEncounter
-Route104_EventScript_1ECCB3:: @ 81ECCB3
+Route104_EventScript_RivalTrigger:: @ 81ECCB3
lockall
- setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
+ setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL
setvar VAR_RUSTBORO_CITY_STATE, 8
setvar VAR_ROUTE104_STATE, 2
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 10
addobject 34
clearflag FLAG_HIDE_ROUTE_104_RIVAL
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECF86
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerBackUp
waitmovement 0
- applymovement 34, Route104_Movement_1ECF8A
+ applymovement 34, Route104_Movement_RivalExitBrineysCottage
waitmovement 0
delay 20
setvar VAR_0x8008, 0
- call Route104_EventScript_1E0DD1
+ call RustboroCity_EventScript_PlayRivalMusic
playse SE_PIN
applymovement 34, Common_Movement_ExclamationMark
waitmovement 0
applymovement 34, Common_Movement_Delay48
waitmovement 0
- goto Route104_EventScript_1ECD33
+ goto Route104_EventScript_RivalEncounter
-Route104_EventScript_1ECD11:: @ 81ECD11
+@ Unused, shares script with Rustboro encounter instead
+Route104_EventScript_PlayRivalMusic:: @ 81ECD11
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq Route104_EventScript_1ECD29
+ goto_if_eq Route104_EventScript_PlayMayMusic
compare VAR_RESULT, FEMALE
- goto_if_eq Route104_EventScript_1ECD2E
+ goto_if_eq Route104_EventScript_PlayBrendanMusic
return
-Route104_EventScript_1ECD29:: @ 81ECD29
+Route104_EventScript_PlayMayMusic:: @ 81ECD29
playbgm MUS_GIRL_SUP, 1
return
-Route104_EventScript_1ECD2E:: @ 81ECD2E
+Route104_EventScript_PlayBrendanMusic:: @ 81ECD2E
playbgm MUS_BOY_SUP, 1
return
-Route104_EventScript_1ECD33:: @ 81ECD33
+Route104_EventScript_RivalEncounter:: @ 81ECD33
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq Route104_EventScript_1ECD4B
+ goto_if_eq Route104_EventScript_MayEncounter
compare VAR_RESULT, FEMALE
- goto_if_eq Route104_EventScript_1ECE6F
+ goto_if_eq Route104_EventScript_BrendanEncounter
end
-Route104_EventScript_1ECD4B:: @ 81ECD4B
- goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_1ECE1C
- goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECDD0
+Route104_EventScript_MayEncounter:: @ 81ECD4B
+ goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_MayDefeated
+ goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_MayAskToBattle
setflag FLAG_REGISTER_RIVAL_POKENAV
- msgbox Route104_Text_1EDBFF, MSGBOX_DEFAULT
+ msgbox Route104_Text_MayWeShouldRegister, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route104_Text_1EDC8F, MSGBOX_DEFAULT
+ msgbox Route104_Text_RegisteredMay, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_RIVAL_MATCH_CALL
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD
- applymovement 34, Route104_Movement_1ECDC8
- msgbox Route104_Text_1EDCB1, MSGBOX_DEFAULT
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerFaceRival
+ applymovement 34, Route104_Movement_RivalWalkSlowLeft
+ msgbox Route104_Text_MayHowsYourPokedex, MSGBOX_DEFAULT
closemessage
waitmovement 0
- applymovement 34, Route104_Movement_1ECDCA
+ applymovement 34, Route104_Movement_RivalApproachPlayer
waitmovement 0
copyobjectxytoperm 34
- msgbox Route104_Text_1EDCED, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route104_EventScript_1ECDED
- msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT
- call Route104_EventScript_1ECE31
+ msgbox Route104_Text_MayMinesDecentLetsBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route104_EventScript_BattleMay
+ msgbox Route104_Text_MayHaventRaisedPokemon, MSGBOX_DEFAULT
+ call Route104_EventScript_RestoreMusic
releaseall
end
-Route104_Movement_1ECDC8: @ 81ECDC8
+Route104_Movement_RivalWalkSlowLeft: @ 81ECDC8
walk_slow_left
step_end
-Route104_Movement_1ECDCA: @ 81ECDCA
+Route104_Movement_RivalApproachPlayer: @ 81ECDCA
walk_down
face_right
step_end
-Route104_Movement_1ECDCD: @ 81ECDCD
+Route104_Movement_PlayerFaceRival: @ 81ECDCD
delay_4
walk_in_place_fastest_left
step_end
-Route104_EventScript_1ECDD0:: @ 81ECDD0
- msgbox Route104_Text_1EDD9F, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route104_EventScript_1ECDED
- msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT
+Route104_EventScript_MayAskToBattle:: @ 81ECDD0
+ msgbox Route104_Text_MayLetsBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route104_EventScript_BattleMay
+ msgbox Route104_Text_MayHaventRaisedPokemon, MSGBOX_DEFAULT
releaseall
end
-Route104_EventScript_1ECDED:: @ 81ECDED
- msgbox Route104_Text_1EDDDB, MSGBOX_DEFAULT
+Route104_EventScript_BattleMay:: @ 81ECDED
+ msgbox Route104_Text_MayIntro, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route104_EventScript_1ECE36
- case 1, Route104_EventScript_1ECE49
- case 2, Route104_EventScript_1ECE5C
+ case 0, Route104_EventScript_BattleMayTreecko
+ case 1, Route104_EventScript_BattleMayTorchic
+ case 2, Route104_EventScript_BattleMayMudkip
end
-Route104_EventScript_1ECE1C:: @ 81ECE1C
- msgbox Route104_Text_1EDE3E, MSGBOX_DEFAULT
+Route104_EventScript_MayDefeated:: @ 81ECE1C
+ msgbox Route104_Text_MayPostBattle, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if_eq Route104_EventScript_1ECE31
+ call_if_eq Route104_EventScript_RestoreMusic
releaseall
end
-Route104_EventScript_1ECE31:: @ 81ECE31
+Route104_EventScript_RestoreMusic:: @ 81ECE31
savebgm MUS_DUMMY
fadedefaultbgm
return
-Route104_EventScript_1ECE36:: @ 81ECE36
- trainerbattle_no_intro TRAINER_MAY_14, Route104_Text_1EDE18
+Route104_EventScript_BattleMayTreecko:: @ 81ECE36
+ trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TREECKO, Route104_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_ROUTE_104
- goto Route104_EventScript_1ECE1C
+ goto Route104_EventScript_MayDefeated
end
-Route104_EventScript_1ECE49:: @ 81ECE49
- trainerbattle_no_intro TRAINER_MAY_15, Route104_Text_1EDE18
+Route104_EventScript_BattleMayTorchic:: @ 81ECE49
+ trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TORCHIC, Route104_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_ROUTE_104
- goto Route104_EventScript_1ECE1C
+ goto Route104_EventScript_MayDefeated
end
-Route104_EventScript_1ECE5C:: @ 81ECE5C
- trainerbattle_no_intro TRAINER_MAY_10, Route104_Text_1EDE18
+Route104_EventScript_BattleMayMudkip:: @ 81ECE5C
+ trainerbattle_no_intro TRAINER_MAY_RUSTBORO_MUDKIP, Route104_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_ROUTE_104
- goto Route104_EventScript_1ECE1C
+ goto Route104_EventScript_MayDefeated
end
-Route104_EventScript_1ECE6F:: @ 81ECE6F
- goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_1ECF38
- goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECEEC
+Route104_EventScript_BrendanEncounter:: @ 81ECE6F
+ goto_if_set FLAG_DEFEATED_RIVAL_ROUTE_104, Route104_EventScript_BrendanDefeated
+ goto_if_set FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_BrendanAskToBattle
setflag FLAG_REGISTER_RIVAL_POKENAV
- msgbox Route104_Text_1EDF04, MSGBOX_DEFAULT
+ msgbox Route104_Text_BrendanWeShouldRegister, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route104_Text_1EDFA0, MSGBOX_DEFAULT
+ msgbox Route104_Text_RegisteredBrendan, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_RIVAL_MATCH_CALL
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD
- applymovement 34, Route104_Movement_1ECDC8
- msgbox Route104_Text_1EDFC6, MSGBOX_DEFAULT
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerFaceRival
+ applymovement 34, Route104_Movement_RivalWalkSlowLeft
+ msgbox Route104_Text_BrendanHowsYourPokedex, MSGBOX_DEFAULT
closemessage
waitmovement 0
- applymovement 34, Route104_Movement_1ECDCA
+ applymovement 34, Route104_Movement_RivalApproachPlayer
waitmovement 0
copyobjectxytoperm 34
- msgbox Route104_Text_1EE009, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route104_EventScript_1ECF09
- msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT
- call Route104_EventScript_1ECE31
+ msgbox Route104_Text_BrendanDoingGreatLetsBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route104_EventScript_BattleBrendan
+ msgbox Route104_Text_BrendanNoConfidence, MSGBOX_DEFAULT
+ call Route104_EventScript_RestoreMusic
releaseall
end
-Route104_EventScript_1ECEEC:: @ 81ECEEC
- msgbox Route104_Text_1EE094, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route104_EventScript_1ECF09
- msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT
+Route104_EventScript_BrendanAskToBattle:: @ 81ECEEC
+ msgbox Route104_Text_BrendanLetsBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route104_EventScript_BattleBrendan
+ msgbox Route104_Text_BrendanNoConfidence, MSGBOX_DEFAULT
releaseall
end
-Route104_EventScript_1ECF09:: @ 81ECF09
- msgbox Route104_Text_1EE0C7, MSGBOX_DEFAULT
+Route104_EventScript_BattleBrendan:: @ 81ECF09
+ msgbox Route104_Text_BrendanIntro, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route104_EventScript_1ECF4D
- case 1, Route104_EventScript_1ECF60
- case 2, Route104_EventScript_1ECF73
+ case 0, Route104_EventScript_BattleBrendanTreecko
+ case 1, Route104_EventScript_BattleBrendanTorchic
+ case 2, Route104_EventScript_BattleBrendanMudkip
end
-Route104_EventScript_1ECF38:: @ 81ECF38
- msgbox Route104_Text_1EE120, MSGBOX_DEFAULT
+Route104_EventScript_BrendanDefeated:: @ 81ECF38
+ msgbox Route104_Text_BrendanPostBattle, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if_eq Route104_EventScript_1ECE31
+ call_if_eq Route104_EventScript_RestoreMusic
releaseall
end
-Route104_EventScript_1ECF4D:: @ 81ECF4D
- trainerbattle_no_intro TRAINER_BRENDAN_10, Route104_Text_1EE107
+Route104_EventScript_BattleBrendanTreecko:: @ 81ECF4D
+ trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TREECKO, Route104_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_ROUTE_104
- goto Route104_EventScript_1ECF38
+ goto Route104_EventScript_BrendanDefeated
end
-Route104_EventScript_1ECF60:: @ 81ECF60
- trainerbattle_no_intro TRAINER_BRENDAN_12, Route104_Text_1EE107
+Route104_EventScript_BattleBrendanTorchic:: @ 81ECF60
+ trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TORCHIC, Route104_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_ROUTE_104
- goto Route104_EventScript_1ECF38
+ goto Route104_EventScript_BrendanDefeated
end
-Route104_EventScript_1ECF73:: @ 81ECF73
- trainerbattle_no_intro TRAINER_BRENDAN_11, Route104_Text_1EE107
+Route104_EventScript_BattleBrendanMudkip:: @ 81ECF73
+ trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_MUDKIP, Route104_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_ROUTE_104
- goto Route104_EventScript_1ECF38
+ goto Route104_EventScript_BrendanDefeated
end
-Route104_Movement_1ECF86: @ 81ECF86
+Route104_Movement_PlayerBackUp: @ 81ECF86
lock_facing_direction
walk_down
unlock_facing_direction
step_end
-Route104_Movement_1ECF8A: @ 81ECF8A
+Route104_Movement_RivalExitBrineysCottage: @ 81ECF8A
walk_down
step_end
-Route104_EventScript_1ECF8C:: @ 81ECF8C
+Route104_EventScript_ExpertF:: @ 81ECF8C
lock
faceplayer
- goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104, Route104_EventScript_1ECFC3
- msgbox Route104_Text_2A6D86, MSGBOX_DEFAULT
- giveitem_std ITEM_CHESTO_BERRY
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104, Route104_EventScript_ReceivedBerry
+ msgbox Route104_Text_PlantBerriesInSoilTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_CHESTO_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104
- msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT
+ msgbox Route104_Text_TrainersOftenMakeMonHoldBerries, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ECFC3:: @ 81ECFC3
- msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT
+Route104_EventScript_ReceivedBerry:: @ 81ECFC3
+ msgbox Route104_Text_TrainersOftenMakeMonHoldBerries, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ECFCD:: @ 81ECFCD
+Route104_EventScript_WhiteHerbFlorist:: @ 81ECFCD
lock
faceplayer
- goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_1ECFFC
- msgbox Route104_Text_1ED96A, MSGBOX_DEFAULT
- giveitem_std ITEM_WHITE_HERB
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_ReceivedWhiteHerb
+ msgbox Route104_Text_DontNeedThisTakeIt, MSGBOX_DEFAULT
+ giveitem ITEM_WHITE_HERB
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_WHITE_HERB
release
end
-Route104_EventScript_1ECFFC:: @ 81ECFFC
- msgbox Route104_Text_1EDA0F, MSGBOX_DEFAULT
+Route104_EventScript_ReceivedWhiteHerb:: @ 81ECFFC
+ msgbox Route104_Text_FlowerShopSellingSaplings, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED006:: @ 81ED006
- msgbox Route104_Text_1ED5EC, MSGBOX_NPC
+Route104_EventScript_Girl1:: @ 81ED006
+ msgbox Route104_Text_BrineyLivesInSeasideCottage, MSGBOX_NPC
end
-Route104_EventScript_1ED00F:: @ 81ED00F
- msgbox Route104_Text_1ED662, MSGBOX_SIGN
+Route104_EventScript_BugCatcher:: @ 81ED00F
+ msgbox Route104_Text_WhatsItLikeAtBottomOfSea, MSGBOX_SIGN
end
-Route104_EventScript_1ED018:: @ 81ED018
- msgbox Route104_Text_1EDA8C, MSGBOX_SIGN
+Route104_EventScript_BrineysCottageSign:: @ 81ED018
+ msgbox Route104_Text_MrBrineysCottage, MSGBOX_SIGN
end
-Route104_EventScript_1ED021:: @ 81ED021
- msgbox Route104_Text_1EDAA1, MSGBOX_SIGN
+Route104_EventScript_RouteSignPetalburg:: @ 81ED021
+ msgbox Route104_Text_RouteSignPetalburg, MSGBOX_SIGN
end
-Route104_EventScript_1ED02A:: @ 81ED02A
- msgbox Route104_Text_1EDABC, MSGBOX_SIGN
+Route104_EventScript_RouteSignRustboro:: @ 81ED02A
+ msgbox Route104_Text_RouteSignRustboro, MSGBOX_SIGN
end
-Route104_EventScript_1ED033:: @ 81ED033
- msgbox Route104_Text_1EDAD6, MSGBOX_SIGN
+Route104_EventScript_FlowerShopSign:: @ 81ED033
+ msgbox Route104_Text_PrettyPetalFlowShop, MSGBOX_SIGN
end
-Route104_EventScript_1ED03C:: @ 81ED03C
- msgbox Route104_Text_1EDAEF, MSGBOX_SIGN
+Route104_EventScript_TrainerTipsDoubleBattles:: @ 81ED03C
+ msgbox Route104_Text_TrainerTipsDoubleBattles, MSGBOX_SIGN
end
-Route104_EventScript_1ED045:: @ 81ED045
- msgbox Route104_Text_1ED6A2, MSGBOX_NPC
+Route104_EventScript_Boy1:: @ 81ED045
+ msgbox Route104_Text_ThrowBallAtWeakenedPokemon, MSGBOX_NPC
end
-Route104_EventScript_1ED04E:: @ 81ED04E
- msgbox Route104_Text_1ED735, MSGBOX_NPC
+Route104_EventScript_Woman:: @ 81ED04E
+ msgbox Route104_Text_OnlyThrowBallAtWildPokemon, MSGBOX_NPC
end
-Route104_EventScript_1ED057:: @ 81ED057
+Route104_EventScript_Boy2:: @ 81ED057
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_1ED086
- msgbox Route104_Text_1ED838, MSGBOX_DEFAULT
- giveitem_std ITEM_TM09
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_ReceivedBulletSeed
+ msgbox Route104_Text_LikeFillingMouthWithSeedsTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM09
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM09
release
end
-Route104_EventScript_1ED086:: @ 81ED086
- msgbox Route104_Text_1ED8E7, MSGBOX_DEFAULT
+Route104_EventScript_ReceivedBulletSeed:: @ 81ED086
+ msgbox Route104_Text_TMsAreOneTimeUse, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED090:: @ 81ED090
- msgbox Route104_Text_1ED7A2, MSGBOX_NPC
+Route104_EventScript_Girl2:: @ 81ED090
+ msgbox Route104_Text_ImNotATrainer, MSGBOX_NPC
end
-Route104_EventScript_1ED099:: @ 81ED099
+Route104_EventScript_SailToDewford:: @ 81ED099
setobjectpriority 8, MAP_ROUTE104, 0
setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104, 0
- applymovement 8, Route104_Movement_1ED359
+ applymovement 8, Route104_Movement_BrineyBoardBoat
waitmovement 0
removeobject 8
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED34F
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerBoardBoat
waitmovement 0
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
- call Route104_EventScript_2720A0
- goto_if_set FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_1ED0D9
- goto_if_unset FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_1ED0EF
+ call Common_EventScript_PlayBrineysBoatMusic
+ goto_if_set FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_SailToDewfordNoCall
+ goto_if_unset FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_SailToDewfordDadCalls
end
-Route104_EventScript_1ED0D9:: @ 81ED0D9
- applymovement 7, Route104_Movement_1ED28C
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED28C
+Route104_EventScript_SailToDewfordNoCall:: @ 81ED0D9
+ applymovement 7, Route104_Movement_SailToDewford
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_SailToDewford
waitmovement 0
- goto Route104_EventScript_1ED139
+ goto Route104_EventScript_ArriveInDewford
-Route104_EventScript_1ED0EF:: @ 81ED0EF
- applymovement 7, Route104_Movement_1ED1C8
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED1C8
+Route104_EventScript_SailToDewfordDadCalls:: @ 81ED0EF
+ applymovement 7, Route104_Movement_SailToDewfordBeforeDadCalls
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_SailToDewfordBeforeDadCalls
waitmovement 0
- pokenavcall Route104_Text_1EE336
+ pokenavcall Route104_Text_DadPokenavCall
waitmessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route104_Text_1EE463, MSGBOX_DEFAULT
+ msgbox Route104_Text_RegisteredDadInPokenav, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_NORMAN_MATCH_CALL
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED22A
- applymovement 7, Route104_Movement_1ED22A, MAP_ROUTE104
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_SailToDewfordAfterDadCalls
+ applymovement 7, Route104_Movement_SailToDewfordAfterDadCalls, MAP_ROUTE104
waitmovement 7, MAP_ROUTE104
waitmovement 0
- goto Route104_EventScript_1ED139
+ goto Route104_EventScript_ArriveInDewford
-Route104_EventScript_1ED139:: @ 81ED139
+Route104_EventScript_ArriveInDewford:: @ 81ED139
delay 50
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED353
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerExitBoat
waitmovement 0
- call Route104_EventScript_2720A8
+ call Common_EventScript_StopBrineysBoatMusic
showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
- applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED355
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_PlayerMoveForBriney
waitmovement 0
setobjectxyperm 2, 12, 8
addobject 2
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
- applymovement 2, Route104_Movement_1ED35C
+ applymovement 2, Route104_Movement_BrineyExitBoat
waitmovement 0
addobject 4
clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
- call Route104_EventScript_2720A8
+ call Common_EventScript_StopBrineysBoatMusic
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
hideobjectat 7, MAP_ROUTE104
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
@@ -418,21 +419,21 @@ Route104_EventScript_1ED139:: @ 81ED139
resetobjectpriority 2, MAP_DEWFORD_TOWN
copyobjectxytoperm 2
setvar VAR_BOARD_BRINEY_BOAT_STATE, 0
- goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1B4
- goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1BE
+ goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_DeliverLetterReminder
+ goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_LandedInDewford
end
-Route104_EventScript_1ED1B4:: @ 81ED1B4
- msgbox Route104_Text_1E9AAF, MSGBOX_DEFAULT
+Route104_EventScript_DeliverLetterReminder:: @ 81ED1B4
+ msgbox Route104_Text_LandedInDewfordDeliverLetter, MSGBOX_DEFAULT
releaseall
end
-Route104_EventScript_1ED1BE:: @ 81ED1BE
- msgbox Route104_Text_1E9C1D, MSGBOX_DEFAULT
+Route104_EventScript_LandedInDewford:: @ 81ED1BE
+ msgbox DewfordTown_Text_BrineyLandedInDewford, MSGBOX_DEFAULT
releaseall
end
-Route104_Movement_1ED1C8: @ 81ED1C8
+Route104_Movement_SailToDewfordBeforeDadCalls: @ 81ED1C8
walk_down
walk_down
walk_down
@@ -532,7 +533,7 @@ Route104_Movement_1ED1C8: @ 81ED1C8
walk_fastest_down
step_end
-Route104_Movement_1ED22A: @ 81ED22A
+Route104_Movement_SailToDewfordAfterDadCalls: @ 81ED22A
walk_fastest_down
walk_fastest_down
walk_fastest_down
@@ -632,7 +633,7 @@ Route104_Movement_1ED22A: @ 81ED22A
walk_down
step_end
-Route104_Movement_1ED28C: @ 81ED28C
+Route104_Movement_SailToDewford: @ 81ED28C
walk_down
walk_down
walk_down
@@ -829,235 +830,235 @@ Route104_Movement_1ED28C: @ 81ED28C
walk_down
step_end
-Route104_Movement_1ED34F: @ 81ED34F
+Route104_Movement_PlayerBoardBoat: @ 81ED34F
walk_left
walk_down
walk_down
step_end
-Route104_Movement_1ED353: @ 81ED353
+Route104_Movement_PlayerExitBoat: @ 81ED353
walk_down
step_end
-Route104_Movement_1ED355: @ 81ED355
+Route104_Movement_PlayerMoveForBriney: @ 81ED355
walk_down
walk_left
walk_in_place_fastest_right
step_end
-Route104_Movement_1ED359: @ 81ED359
+Route104_Movement_BrineyBoardBoat: @ 81ED359
walk_down
walk_down
step_end
-Route104_Movement_1ED35C: @ 81ED35C
+Route104_Movement_BrineyExitBoat: @ 81ED35C
walk_down
walk_in_place_fastest_left
step_end
-Route104_EventScript_1ED35F:: @ 81ED35F
- trainerbattle_single TRAINER_IVAN, Route104_Text_2954BD, Route104_Text_295509
- msgbox Route104_Text_29554E, MSGBOX_AUTOCLOSE
+Route104_EventScript_Ivan:: @ 81ED35F
+ trainerbattle_single TRAINER_IVAN, Route104_Text_IvanIntro, Route104_Text_IvanDefeat
+ msgbox Route104_Text_IvanPostBattle, MSGBOX_AUTOCLOSE
end
-Route104_EventScript_1ED376:: @ 81ED376
- trainerbattle_single TRAINER_BILLY, Route104_Text_29558A, Route104_Text_2955B4
- msgbox Route104_Text_2955E8, MSGBOX_AUTOCLOSE
+Route104_EventScript_Billy:: @ 81ED376
+ trainerbattle_single TRAINER_BILLY, Route104_Text_BillyIntro, Route104_Text_BillyDefeat
+ msgbox Route104_Text_BillyPostBattle, MSGBOX_AUTOCLOSE
end
-Route104_EventScript_1ED38D:: @ 81ED38D
- trainerbattle_single TRAINER_HALEY_1, Route104_Text_29563A, Route104_Text_29566F, Route104_EventScript_1ED3CE
+Route104_EventScript_Haley:: @ 81ED38D
+ trainerbattle_single TRAINER_HALEY_1, Route104_Text_HaleyIntro, Route104_Text_HaleyDefeat, Route104_EventScript_TryRegisterHaleyAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route104_EventScript_1ED424
- setvar VAR_0x8004, 604
- specialvar VAR_RESULT, sub_813B4E0
- compare VAR_RESULT, 0
- goto_if_eq Route104_EventScript_1ED3F8
- msgbox Route104_Text_295689, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route104_EventScript_RematchHaley
+ setvar VAR_0x8004, TRAINER_HALEY_1
+ specialvar VAR_RESULT, IsTrainerRegistered
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route104_EventScript_TryRegisterHaley
+ msgbox Route104_Text_HaleyPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED3CE:: @ 81ED3CE
- special sub_80B4808
+Route104_EventScript_TryRegisterHaleyAfterBattle:: @ 81ED3CE
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED3DF
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterHaleyAfterBattle
release
end
-Route104_EventScript_1ED3DF:: @ 81ED3DF
- msgbox Route104_Text_29576B, MSGBOX_DEFAULT
+Route104_EventScript_RegisterHaleyAfterBattle:: @ 81ED3DF
+ msgbox Route104_Text_HaleyRegister2, MSGBOX_DEFAULT
register_matchcall TRAINER_HALEY_1
release
end
-Route104_EventScript_1ED3F8:: @ 81ED3F8
- goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED40B
- msgbox Route104_Text_295689, MSGBOX_DEFAULT
+Route104_EventScript_TryRegisterHaley:: @ 81ED3F8
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterHaley
+ msgbox Route104_Text_HaleyPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED40B:: @ 81ED40B
- msgbox Route104_Text_2956FF, MSGBOX_DEFAULT
+Route104_EventScript_RegisterHaley:: @ 81ED40B
+ msgbox Route104_Text_HaleyRegister1, MSGBOX_DEFAULT
register_matchcall TRAINER_HALEY_1
release
end
-Route104_EventScript_1ED424:: @ 81ED424
- trainerbattle_rematch TRAINER_HALEY_1, Route104_Text_2957D7, Route104_Text_2957F0
- msgbox Route104_Text_29580C, MSGBOX_AUTOCLOSE
+Route104_EventScript_RematchHaley:: @ 81ED424
+ trainerbattle_rematch TRAINER_HALEY_1, Route104_Text_HaleyRematchIntro, Route104_Text_HaleyRematchDefeat
+ msgbox Route104_Text_HaleyPostRematch, MSGBOX_AUTOCLOSE
end
-Route104_EventScript_1ED43B:: @ 81ED43B
- trainerbattle_single TRAINER_WINSTON_1, Route104_Text_295870, Route104_Text_2958AD, Route104_EventScript_1ED47C
+Route104_EventScript_Winston:: @ 81ED43B
+ trainerbattle_single TRAINER_WINSTON_1, Route104_Text_WinstonIntro, Route104_Text_WinstonDefeat, Route104_EventScript_TryRegisterWinstonAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route104_EventScript_1ED4D2
- setvar VAR_0x8004, 136
- specialvar VAR_RESULT, sub_813B4E0
- compare VAR_RESULT, 0
- goto_if_eq Route104_EventScript_1ED4A6
- msgbox Route104_Text_2958C1, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route104_EventScript_RematchWinston
+ setvar VAR_0x8004, TRAINER_WINSTON_1
+ specialvar VAR_RESULT, IsTrainerRegistered
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route104_EventScript_TryRegisterWinston
+ msgbox Route104_Text_WinstonPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED47C:: @ 81ED47C
- special sub_80B4808
+Route104_EventScript_TryRegisterWinstonAfterBattle:: @ 81ED47C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED48D
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterWinstonAfterBattle
release
end
-Route104_EventScript_1ED48D:: @ 81ED48D
- msgbox Route104_Text_29595A, MSGBOX_DEFAULT
+Route104_EventScript_RegisterWinstonAfterBattle:: @ 81ED48D
+ msgbox Route104_Text_WinstonRegister2, MSGBOX_DEFAULT
register_matchcall TRAINER_WINSTON_1
release
end
-Route104_EventScript_1ED4A6:: @ 81ED4A6
- goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED4B9
- msgbox Route104_Text_2958C1, MSGBOX_DEFAULT
+Route104_EventScript_TryRegisterWinston:: @ 81ED4A6
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterWinston
+ msgbox Route104_Text_WinstonPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED4B9:: @ 81ED4B9
- msgbox Route104_Text_2958F8, MSGBOX_DEFAULT
+Route104_EventScript_RegisterWinston:: @ 81ED4B9
+ msgbox Route104_Text_WinstonRegister1, MSGBOX_DEFAULT
register_matchcall TRAINER_WINSTON_1
release
end
-Route104_EventScript_1ED4D2:: @ 81ED4D2
- trainerbattle_rematch TRAINER_WINSTON_1, Route104_Text_2959BC, Route104_Text_2959FC
- msgbox Route104_Text_295A1E, MSGBOX_AUTOCLOSE
+Route104_EventScript_RematchWinston:: @ 81ED4D2
+ trainerbattle_rematch TRAINER_WINSTON_1, Route104_Text_WinstonRematchIntro, Route104_Text_WinstonRematchDefeat
+ msgbox Route104_Text_WinstonPostRematch, MSGBOX_AUTOCLOSE
end
-Route104_EventScript_1ED4E9:: @ 81ED4E9
- trainerbattle_single TRAINER_CINDY_1, Route104_Text_295A7E, Route104_Text_295ABB, Route104_EventScript_1ED52A
+Route104_EventScript_Cindy:: @ 81ED4E9
+ trainerbattle_single TRAINER_CINDY_1, Route104_Text_CindyIntro, Route104_Text_CindyDefeat, Route104_EventScript_TryRegisterCindyAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route104_EventScript_1ED580
- setvar VAR_0x8004, 114
- specialvar VAR_RESULT, sub_813B4E0
- compare VAR_RESULT, 0
- goto_if_eq Route104_EventScript_1ED554
- msgbox Route104_Text_295AC3, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route104_EventScript_RematchCindy
+ setvar VAR_0x8004, TRAINER_CINDY_1
+ specialvar VAR_RESULT, IsTrainerRegistered
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route104_EventScript_TryRegisterCindy
+ msgbox Route104_Text_CindyPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED52A:: @ 81ED52A
- special sub_80B4808
+Route104_EventScript_TryRegisterCindyAfterBattle:: @ 81ED52A
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED53B
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterCindyAfterBattle
release
end
-Route104_EventScript_1ED53B:: @ 81ED53B
- msgbox Route104_Text_295B60, MSGBOX_DEFAULT
+Route104_EventScript_RegisterCindyAfterBattle:: @ 81ED53B
+ msgbox Route104_Text_CindyRegister2, MSGBOX_DEFAULT
register_matchcall TRAINER_CINDY_1
release
end
-Route104_EventScript_1ED554:: @ 81ED554
- goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED567
- msgbox Route104_Text_295AC3, MSGBOX_DEFAULT
+Route104_EventScript_TryRegisterCindy:: @ 81ED554
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_RegisterCindy
+ msgbox Route104_Text_CindyPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED567:: @ 81ED567
- msgbox Route104_Text_295B01, MSGBOX_DEFAULT
+Route104_EventScript_RegisterCindy:: @ 81ED567
+ msgbox Route104_Text_CindyRegister1, MSGBOX_DEFAULT
register_matchcall TRAINER_CINDY_1
release
end
-Route104_EventScript_1ED580:: @ 81ED580
- trainerbattle_rematch TRAINER_CINDY_1, Route104_Text_295BC8, Route104_Text_295BFA
- msgbox Route104_Text_295C1F, MSGBOX_AUTOCLOSE
+Route104_EventScript_RematchCindy:: @ 81ED580
+ trainerbattle_rematch TRAINER_CINDY_1, Route104_Text_CindyRematchIntro, Route104_Text_CindyRematchDefeat
+ msgbox Route104_Text_CindyPostRematch, MSGBOX_AUTOCLOSE
end
-Route104_EventScript_1ED597:: @ 81ED597
- trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_2952BB, Route104_Text_2952E6, Route104_Text_295330
+Route104_EventScript_Gina:: @ 81ED597
+ trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_GinaIntro, Route104_Text_GinaDefeat, Route104_Text_GinaNotEnoughMons
special GetPlayerBigGuyGirlString
- msgbox Route104_Text_2952FE, MSGBOX_DEFAULT
+ msgbox Route104_Text_GinaPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED5B6:: @ 81ED5B6
- trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_2953AF, Route104_Text_2953E1, Route104_Text_295449
+Route104_EventScript_Mia:: @ 81ED5B6
+ trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_MiaIntro, Route104_Text_MiaDefeat, Route104_Text_MiaNotEnoughMons
special GetPlayerBigGuyGirlString
- msgbox Route104_Text_29540D, MSGBOX_DEFAULT
+ msgbox Route104_Text_MiaPostBattle, MSGBOX_DEFAULT
release
end
-Route104_EventScript_1ED5D5:: @ 81ED5D5
- trainerbattle_single TRAINER_DARIAN, Route104_Text_295C5D, Route104_Text_295CC9
- msgbox Route104_Text_295CD3, MSGBOX_AUTOCLOSE
+Route104_EventScript_Darian:: @ 81ED5D5
+ trainerbattle_single TRAINER_DARIAN, Route104_Text_DarianIntro, Route104_Text_DarianDefeat
+ msgbox Route104_Text_DarianPostBattle, MSGBOX_AUTOCLOSE
end
-Route104_Text_1ED5EC: @ 81ED5EC
+Route104_Text_BrineyLivesInSeasideCottage: @ 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
+Route104_Text_WhatsItLikeAtBottomOfSea: @ 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
+Route104_Text_ThrowBallAtWeakenedPokemon: @ 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
+Route104_Text_OnlyThrowBallAtWildPokemon: @ 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
+Route104_Text_ImNotATrainer: @ 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
+Route104_Text_LikeFillingMouthWithSeedsTakeThis: @ 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
+Route104_Text_TMsAreOneTimeUse: @ 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
+Route104_Text_DontNeedThisTakeIt: @ 81ED96A
.string "This FLOWER SHOP started selling\n"
.string "saplings recently.\p"
.string "It made me so happy, I went overboard\n"
@@ -1065,27 +1066,27 @@ Route104_Text_1ED96A: @ 81ED96A
.string "I don't need this WHITE HERB anymore.\n"
.string "Would you take it, please?$"
-Route104_Text_1EDA0F: @ 81EDA0F
+Route104_Text_FlowerShopSellingSaplings: @ 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
+Route104_Text_MrBrineysCottage: @ 81EDA8C
.string "MR. BRINEY'S COTTAGE$"
-Route104_Text_1EDAA1: @ 81EDAA1
+Route104_Text_RouteSignPetalburg: @ 81EDAA1
.string "ROUTE 1O4\n"
.string "{RIGHT_ARROW} PETALBURG CITY$"
-Route104_Text_1EDABC: @ 81EDABC
+Route104_Text_RouteSignRustboro: @ 81EDABC
.string "ROUTE 1O4\n"
.string "{UP_ARROW} RUSTBORO CITY$"
-Route104_Text_1EDAD6: @ 81EDAD6
+Route104_Text_PrettyPetalFlowShop: @ 81EDAD6
.string "PRETTY PETAL FLOWER SHOP$"
-Route104_Text_1EDAEF: @ 81EDAEF
+Route104_Text_TrainerTipsDoubleBattles: @ 81EDAEF
.string "TRAINER TIPS\p"
.string "In the HOENN region there are pairs\n"
.string "of TRAINERS who challenge others\l"
@@ -1096,45 +1097,45 @@ Route104_Text_1EDAEF: @ 81EDAEF
.string "left of the list and the top one.\l"
.string "Watch how POKéMON are lined up.$"
-Route104_Text_1EDBFF: @ 81EDBFF
+Route104_Text_MayWeShouldRegister: @ 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
+Route104_Text_RegisteredMay: @ 81EDC8F
.string "{PLAYER} registered MAY\n"
.string "in the POKéNAV.$"
-Route104_Text_1EDCB1: @ 81EDCB1
+Route104_Text_MayHowsYourPokedex: @ 81EDCB1
.string "MAY: Oh, by the way, {PLAYER}{KUN},\n"
.string "how's your POKéDEX coming along?$"
-Route104_Text_1EDCED: @ 81EDCED
+Route104_Text_MayMinesDecentLetsBattle: @ 81EDCED
.string "Mine's looking pretty decent.\n"
.string "So…\l"
.string "How about a little battle?$"
-Route104_Text_1EDD2A: @ 81EDD2A
+Route104_Text_MayHaventRaisedPokemon: @ 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
+Route104_Text_MayLetsBattle: @ 81EDD9F
.string "MAY: So, what do you think?\n"
.string "How about a little battle here?$"
-Route104_Text_1EDDDB: @ 81EDDDB
+Route104_Text_MayIntro: @ 81EDDDB
.string "MAY: You just became a TRAINER,\n"
.string "{PLAYER}{KUN}. I'm not going to lose!$"
-Route104_Text_1EDE18: @ 81EDE18
+Route104_Text_MayDefeat: @ 81EDE18
.string "Yikes!\n"
.string "You're better than I expected!$"
-Route104_Text_1EDE3E: @ 81EDE3E
+Route104_Text_MayPostBattle: @ 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"
@@ -1142,43 +1143,43 @@ Route104_Text_1EDE3E: @ 81EDE3E
.string "It's important to become friends with\n"
.string "POKéMON, too.$"
-Route104_Text_1EDF04: @ 81EDF04
+Route104_Text_BrendanWeShouldRegister: @ 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
+Route104_Text_RegisteredBrendan: @ 81EDFA0
.string "{PLAYER} registered BRENDAN\n"
.string "in the POKéNAV.$"
-Route104_Text_1EDFC6: @ 81EDFC6
+Route104_Text_BrendanHowsYourPokedex: @ 81EDFC6
.string "BRENDAN: {PLAYER}, how's your POKéDEX?\n"
.string "Have you filled in any pages yet?$"
-Route104_Text_1EE009: @ 81EE009
+Route104_Text_BrendanDoingGreatLetsBattle: @ 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
+Route104_Text_BrendanNoConfidence: @ 81EE04D
.string "BRENDAN: What's the matter? Don't have\n"
.string "any confidence in your POKéMON?$"
-Route104_Text_1EE094: @ 81EE094
+Route104_Text_BrendanLetsBattle: @ 81EE094
.string "BRENDAN: What's up?\n"
.string "Want to have a battle with me?$"
-Route104_Text_1EE0C7: @ 81EE0C7
+Route104_Text_BrendanIntro: @ 81EE0C7
.string "BRENDAN: I know you just became\n"
.string "a TRAINER, but I won't go easy!$"
-Route104_Text_1EE107: @ 81EE107
+Route104_Text_BrendanDefeat: @ 81EE107
.string "Hmm…\n"
.string "You're pretty good.$"
-Route104_Text_1EE120: @ 81EE120
+Route104_Text_BrendanPostBattle: @ 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"
diff --git a/data/maps/Route104_MrBrineysHouse/map.json b/data/maps/Route104_MrBrineysHouse/map.json
index 438d56b30..dc6c0ab4d 100644
--- a/data/maps/Route104_MrBrineysHouse/map.json
+++ b/data/maps/Route104_MrBrineysHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_MrBrineysHouse_EventScript_229D67",
+ "script": "Route104_MrBrineysHouse_EventScript_Briney",
"flag": "FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_MrBrineysHouse_EventScript_229E5D",
+ "script": "Route104_MrBrineysHouse_EventScript_Peeko",
"flag": "FLAG_HIDE_BRINEYS_HOUSE_PEEKO"
}
],
diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc
index c2877f0d9..10fdddee3 100644
--- a/data/maps/Route104_MrBrineysHouse/scripts.inc
+++ b/data/maps/Route104_MrBrineysHouse/scripts.inc
@@ -5,104 +5,104 @@ Route104_MrBrineysHouse_MapScripts:: @ 8229D2E
Route104_MrBrineysHouse_OnTransition: @ 8229D34
setflag FLAG_LANDMARK_MR_BRINEY_HOUSE
compare VAR_BRINEY_HOUSE_STATE, 1
- call_if_eq Route104_MrBrineysHouse_EventScript_229D50
- call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_229D4C
+ call_if_eq Route104_MrBrineysHouse_EventScript_SetBrineyPeekoPos
+ call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_HideRustboroRival
end
-Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C
- setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
+Route104_MrBrineysHouse_EventScript_HideRustboroRival:: @ 8229D4C
+ setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL
return
-Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50
+Route104_MrBrineysHouse_EventScript_SetBrineyPeekoPos:: @ 8229D50
setobjectxyperm 1, 9, 3
setobjectmovementtype 1, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
setobjectxyperm 2, 9, 6
setobjectmovementtype 2, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
return
-Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67
+Route104_MrBrineysHouse_EventScript_Briney:: @ 8229D67
lock
faceplayer
- call_if_unset FLAG_MR_BRINEY_SAILING_INTRO, Route104_MrBrineysHouse_EventScript_229D8A
- goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_MrBrineysHouse_EventScript_229DE1
- goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route104_MrBrineysHouse_EventScript_229DFA
- goto Route104_MrBrineysHouse_EventScript_229DAE
+ call_if_unset FLAG_MR_BRINEY_SAILING_INTRO, Route104_MrBrineysHouse_EventScript_SailingIntro
+ goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_MrBrineysHouse_EventScript_SailBothDeliveries
+ goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route104_MrBrineysHouse_EventScript_SailDeliverPackage
+ goto Route104_MrBrineysHouse_EventScript_WhereAreWeBound
end
-Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A
+Route104_MrBrineysHouse_EventScript_SailingIntro:: @ 8229D8A
setflag FLAG_MR_BRINEY_SAILING_INTRO
- msgbox Route104_MrBrineysHouse_Text_229E70, MSGBOX_DEFAULT
- msgbox Route104_MrBrineysHouse_Text_229E9B, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route104_MrBrineysHouse_EventScript_229E13
- goto Route104_MrBrineysHouse_EventScript_229E27
+ msgbox Route104_MrBrineysHouse_Text_WaitUpPeeko, MSGBOX_DEFAULT
+ msgbox Route104_MrBrineysHouse_Text_ItsYouLetsSailToDewford, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
+ goto Route104_MrBrineysHouse_EventScript_SailToDewford
end
-Route104_MrBrineysHouse_EventScript_229DAE:: @ 8229DAE
- message Route104_MrBrineysHouse_Text_22A268
+Route104_MrBrineysHouse_EventScript_WhereAreWeBound:: @ 8229DAE
+ message Route104_MrBrineysHouse_Text_WhereAreWeBound
waitmessage
- multichoicedefault 20, 8, 14, 1, 0
+ multichoicedefault 20, 8, MULTI_BRINEY_OFF_DEWFORD, 1, 0
switch VAR_RESULT
- case 0, Route104_MrBrineysHouse_EventScript_229E27
- case 1, Route104_MrBrineysHouse_EventScript_229E1D
- case 127, Route104_MrBrineysHouse_EventScript_229E1D
+ case 0, Route104_MrBrineysHouse_EventScript_SailToDewford
+ case 1, Route104_MrBrineysHouse_EventScript_DeclineSailing
+ case MULTI_B_PRESSED, Route104_MrBrineysHouse_EventScript_DeclineSailing
end
-Route104_MrBrineysHouse_EventScript_229DE1:: @ 8229DE1
- msgbox Route104_MrBrineysHouse_Text_22A0AD, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route104_MrBrineysHouse_EventScript_229E13
- goto Route104_MrBrineysHouse_EventScript_229E27
+Route104_MrBrineysHouse_EventScript_SailBothDeliveries:: @ 8229DE1
+ msgbox Route104_MrBrineysHouse_Text_NeedToMakeDeliveriesSailToDewford, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
+ goto Route104_MrBrineysHouse_EventScript_SailToDewford
end
-Route104_MrBrineysHouse_EventScript_229DFA:: @ 8229DFA
- msgbox Route104_MrBrineysHouse_Text_22A18F, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route104_MrBrineysHouse_EventScript_229E13
- goto Route104_MrBrineysHouse_EventScript_229E27
+Route104_MrBrineysHouse_EventScript_SailDeliverPackage:: @ 8229DFA
+ msgbox Route104_MrBrineysHouse_Text_NeedToDeliverPackageSailToDewford, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
+ goto Route104_MrBrineysHouse_EventScript_SailToDewford
end
-Route104_MrBrineysHouse_EventScript_229E13:: @ 8229E13
- msgbox Route104_MrBrineysHouse_Text_22A041, MSGBOX_DEFAULT
+Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing:: @ 8229E13
+ msgbox Route104_MrBrineysHouse_Text_DeclineDeliverySail, MSGBOX_DEFAULT
release
end
-Route104_MrBrineysHouse_EventScript_229E1D:: @ 8229E1D
- msgbox Route104_MrBrineysHouse_Text_22A2C3, MSGBOX_DEFAULT
+Route104_MrBrineysHouse_EventScript_DeclineSailing:: @ 8229E1D
+ msgbox Route104_MrBrineysHouse_Text_TellMeWheneverYouWantToSail, MSGBOX_DEFAULT
release
end
-Route104_MrBrineysHouse_EventScript_229E27:: @ 8229E27
- msgbox Route104_MrBrineysHouse_Text_229FE9, MSGBOX_DEFAULT
- call Route104_MrBrineysHouse_EventScript_271E95
+Route104_MrBrineysHouse_EventScript_SailToDewford:: @ 8229E27
+ msgbox Route104_MrBrineysHouse_Text_SetSailForDewford, MSGBOX_DEFAULT
+ call EventScript_BackupMrBrineyLocation
setvar VAR_BOARD_BRINEY_BOAT_STATE, 1
clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY
setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
setvar VAR_RUSTBORO_CITY_STATE, 8
setvar VAR_ROUTE104_STATE, 2
- setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
+ setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL
setflag FLAG_HIDE_ROUTE_104_RIVAL
warp MAP_ROUTE104, 255, 13, 51
waitstate
releaseall
end
-Route104_MrBrineysHouse_EventScript_229E5D:: @ 8229E5D
+Route104_MrBrineysHouse_EventScript_Peeko:: @ 8229E5D
lock
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox Route104_MrBrineysHouse_Text_22A337, MSGBOX_DEFAULT
+ msgbox Route104_MrBrineysHouse_Text_Peeko, MSGBOX_DEFAULT
waitmoncry
release
end
-Route104_MrBrineysHouse_Text_229E70: @ 8229E70
+Route104_MrBrineysHouse_Text_WaitUpPeeko: @ 8229E70
.string "MR. BRINEY: Hold on, lass!\n"
.string "Wait up, PEEKO!$"
-Route104_MrBrineysHouse_Text_229E9B: @ 8229E9B
+Route104_MrBrineysHouse_Text_ItsYouLetsSailToDewford: @ 8229E9B
.string "Hm? You're {PLAYER}{KUN}!\n"
.string "You saved my darling PEEKO!\l"
.string "We owe so much to you!\p"
@@ -117,18 +117,18 @@ Route104_MrBrineysHouse_Text_229E9B: @ 8229E9B
.string "You've come to the right man!\n"
.string "We'll set sail for DEWFORD.$"
-Route104_MrBrineysHouse_Text_229FE9: @ 8229FE9
+Route104_MrBrineysHouse_Text_SetSailForDewford: @ 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
+Route104_MrBrineysHouse_Text_DeclineDeliverySail: @ 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
+Route104_MrBrineysHouse_Text_NeedToMakeDeliveriesSailToDewford: @ 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"
@@ -137,7 +137,7 @@ Route104_MrBrineysHouse_Text_22A0AD: @ 822A0AD
.string "at all--I'm the man for the job!\p"
.string "First, we'll set sail for DEWFORD.$"
-Route104_MrBrineysHouse_Text_22A18F: @ 822A18F
+Route104_MrBrineysHouse_Text_NeedToDeliverPackageSailToDewford: @ 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"
@@ -146,17 +146,17 @@ Route104_MrBrineysHouse_Text_22A18F: @ 822A18F
.string "at all--I'm the man for the job!\p"
.string "First, we'll set sail for DEWFORD.$"
-Route104_MrBrineysHouse_Text_22A268: @ 822A268
+Route104_MrBrineysHouse_Text_WhereAreWeBound: @ 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
+Route104_MrBrineysHouse_Text_TellMeWheneverYouWantToSail: @ 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
+Route104_MrBrineysHouse_Text_Peeko: @ 822A337
.string "PEEKO: Pii piihyoro!$"
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.json b/data/maps/Route104_PrettyPetalFlowerShop/map.json
index 9d3d30794..dcda9afeb 100644
--- a/data/maps/Route104_PrettyPetalFlowerShop/map.json
+++ b/data/maps/Route104_PrettyPetalFlowerShop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_PrettyPetalFlowerShop_EventScript_22A373",
+ "script": "Route104_PrettyPetalFlowerShop_EventScript_ShopOwner",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_PrettyPetalFlowerShop_EventScript_22A40C",
+ "script": "Route104_PrettyPetalFlowerShop_EventScript_WailmerPailGirl",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route104_PrettyPetalFlowerShop_EventScript_22A442",
+ "script": "Route104_PrettyPetalFlowerShop_EventScript_RandomBerryGirl",
"flag": "0"
}
],
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
index c70318fc9..253ae7192 100644
--- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
+++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
@@ -4,52 +4,52 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C
Route104_PrettyPetalFlowerShop_OnTransition: @ 822A352
setflag FLAG_LANDMARK_FLOWER_SHOP
- goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A36B
- goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_22A36B
+ goto_if_unset FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_MoveShopOwner
+ goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_MoveShopOwner
setflag FLAG_TEMP_1
end
-Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B
+Route104_PrettyPetalFlowerShop_EventScript_MoveShopOwner:: @ 822A36B
setobjectxyperm 1, 4, 6
end
-Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373
+Route104_PrettyPetalFlowerShop_EventScript_ShopOwner:: @ 822A373
lock
faceplayer
- goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_22A3E4
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, MSGBOX_DEFAULT
- goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_22A3B2
+ goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_SellDecorations
+ msgbox Route104_PrettyPetalFlowerShop_Text_ThisIsPrettyPetalFlowerShop, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_AlreadyMet
setflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2
- compare VAR_RESULT, 0
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB
+ msgbox Route104_PrettyPetalFlowerShop_Text_IntroLearnAboutBerries, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries
+ compare VAR_RESULT, NO
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries
release
end
-Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2
- msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2
- compare VAR_RESULT, 0
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB
+Route104_PrettyPetalFlowerShop_EventScript_AlreadyMet:: @ 822A3B2
+ msgbox Route104_PrettyPetalFlowerShop_Text_LearnAboutBerries, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries
+ compare VAR_RESULT, NO
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries
release
end
-Route104_PrettyPetalFlowerShop_EventScript_22A3D2:: @ 822A3D2
- msgbox Route104_PrettyPetalFlowerShop_Text_2A775B, MSGBOX_DEFAULT
+Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries:: @ 822A3D2
+ msgbox Route104_PrettyPetalFlowerShop_Text_BerriesExplanation, MSGBOX_DEFAULT
return
-Route104_PrettyPetalFlowerShop_EventScript_22A3DB:: @ 822A3DB
- msgbox Route104_PrettyPetalFlowerShop_Text_2A78DF, MSGBOX_DEFAULT
+Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries:: @ 822A3DB
+ msgbox Route104_PrettyPetalFlowerShop_Text_FlowersBringHappiness, MSGBOX_DEFAULT
return
-Route104_PrettyPetalFlowerShop_EventScript_22A3E4:: @ 822A3E4
- message gUnknown_08272A52
+Route104_PrettyPetalFlowerShop_EventScript_SellDecorations:: @ 822A3E4
+ message gText_PlayerWhatCanIDoForYou
waitmessage
pokemartdecoration2 Route104_PrettyPetalFlowerShop_Pokemart_Plants
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -65,39 +65,39 @@ Route104_PrettyPetalFlowerShop_Pokemart_Plants: @ 822A3FC
release
end
-Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C
+Route104_PrettyPetalFlowerShop_EventScript_WailmerPailGirl:: @ 822A40C
lock
faceplayer
- goto_if_unset FLAG_RECEIVED_WAILMER_PAIL, Route104_PrettyPetalFlowerShop_EventScript_22A421
- msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT
+ goto_if_unset FLAG_RECEIVED_WAILMER_PAIL, Route104_PrettyPetalFlowerShop_EventScript_GiveWailmerPail
+ msgbox Route104_PrettyPetalFlowerShop_Text_WailmerPailExplanation, MSGBOX_DEFAULT
release
end
-Route104_PrettyPetalFlowerShop_EventScript_22A421:: @ 822A421
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7916, MSGBOX_DEFAULT
- giveitem_std ITEM_WAILMER_PAIL
- msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT
+Route104_PrettyPetalFlowerShop_EventScript_GiveWailmerPail:: @ 822A421
+ msgbox Route104_PrettyPetalFlowerShop_Text_YouCanHaveThis, MSGBOX_DEFAULT
+ giveitem ITEM_WAILMER_PAIL
+ msgbox Route104_PrettyPetalFlowerShop_Text_WailmerPailExplanation, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_WAILMER_PAIL
release
end
-Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442
+Route104_PrettyPetalFlowerShop_EventScript_RandomBerryGirl:: @ 822A442
lock
faceplayer
dotimebasedevents
- goto_if_set FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY, Route104_PrettyPetalFlowerShop_EventScript_22A482
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, MSGBOX_DEFAULT
+ goto_if_set FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY, Route104_PrettyPetalFlowerShop_EventScript_AlreadyReceivedBerry
+ msgbox Route104_PrettyPetalFlowerShop_Text_ImGrowingFlowers, MSGBOX_DEFAULT
random 8
addvar VAR_RESULT, FIRST_BERRY_INDEX
- giveitem_std VAR_RESULT
+ giveitem VAR_RESULT
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT
+ msgbox Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries, MSGBOX_DEFAULT
release
end
-Route104_PrettyPetalFlowerShop_EventScript_22A482:: @ 822A482
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT
+Route104_PrettyPetalFlowerShop_EventScript_AlreadyReceivedBerry:: @ 822A482
+ msgbox Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route105/map.json b/data/maps/Route105/map.json
index 4d447d4f8..bb6aadd54 100644
--- a/data/maps/Route105/map.json
+++ b/data/maps/Route105/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route105_EventScript_1EE261",
+ "script": "Route105_EventScript_Luis",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route105_EventScript_1EE278",
+ "script": "Route105_EventScript_Dominik",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 7,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route105_EventScript_1EE28F",
+ "script": "Route105_EventScript_Beverly",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 5,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route105_EventScript_1EE2A6",
+ "script": "Route105_EventScript_Imani",
"flag": "0"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 7,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route105_EventScript_1EE24A",
+ "script": "Route105_EventScript_Foster",
"flag": "0"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route105_EventScript_1EE2BD",
+ "script": "Route105_EventScript_Josue",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route105_EventScript_1EE2D4",
+ "script": "Route105_EventScript_Andres",
"flag": "0"
}
],
diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc
index c95511397..a42446e72 100644
--- a/data/maps/Route105/scripts.inc
+++ b/data/maps/Route105/scripts.inc
@@ -1,88 +1,88 @@
Route105_MapScripts:: @ 81EE1DB
- map_script MAP_SCRIPT_ON_LOAD, Route105_MapScript1_1EE1EB
+ map_script MAP_SCRIPT_ON_LOAD, Route105_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, Route105_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route105_MapScript2_1EE240
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route105_OnFrame
.byte 0
-Route105_MapScript1_1EE1EB: @ 81EE1EB
- call_if_unset FLAG_REGI_DOORS_OPENED, Route105_EventScript_1EE20B
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute105North
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_SOUTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute105South
+Route105_OnLoad: @ 81EE1EB
+ call_if_unset FLAG_REGI_DOORS_OPENED, Route105_CloseRegiEntrance
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute105North
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute105South
end
-Route105_EventScript_1EE20B:: @ 81EE20B
+Route105_CloseRegiEntrance:: @ 81EE20B
setmetatile 9, 19, METATILE_General_RockWall_RockBase, 1
setmetatile 9, 20, METATILE_General_RockWall_SandBase, 1
return
Route105_OnTransition: @ 81EE21E
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route105_EventScript_273D13
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_NORTH
- call_if_eq UnusualWeather_StartKyogreWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_105_SOUTH
- call_if_eq UnusualWeather_StartKyogreWeather
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH
+ call_if_eq AbnormalWeather_StartKyogreWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH
+ call_if_eq AbnormalWeather_StartKyogreWeather
end
-Route105_MapScript2_1EE240: @ 81EE240
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route105_OnFrame: @ 81EE240
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route105_EventScript_1EE24A:: @ 81EE24A
- trainerbattle_single TRAINER_FOSTER, Route105_Text_295D0F, Route105_Text_295D62
- msgbox Route105_Text_295DAB, MSGBOX_AUTOCLOSE
+Route105_EventScript_Foster:: @ 81EE24A
+ trainerbattle_single TRAINER_FOSTER, Route105_Text_FosterIntro, Route105_Text_FosterDefeated
+ msgbox Route105_Text_FosterPostBattle, MSGBOX_AUTOCLOSE
end
-Route105_EventScript_1EE261:: @ 81EE261
- trainerbattle_single TRAINER_LUIS, Route105_Text_295DF5, Route105_Text_295E66
- msgbox Route105_Text_295E72, MSGBOX_AUTOCLOSE
+Route105_EventScript_Luis:: @ 81EE261
+ trainerbattle_single TRAINER_LUIS, Route105_Text_LuisIntro, Route105_Text_LuisDefeated
+ msgbox Route105_Text_LuisPostBattle, MSGBOX_AUTOCLOSE
end
-Route105_EventScript_1EE278:: @ 81EE278
- trainerbattle_single TRAINER_DOMINIK, Route105_Text_295EB7, Route105_Text_295EEA
- msgbox Route105_Text_295F08, MSGBOX_AUTOCLOSE
+Route105_EventScript_Dominik:: @ 81EE278
+ trainerbattle_single TRAINER_DOMINIK, Route105_Text_DominikIntro, Route105_Text_DominikDefeated
+ msgbox Route105_Text_DominikPostBattle, MSGBOX_AUTOCLOSE
end
-Route105_EventScript_1EE28F:: @ 81EE28F
- trainerbattle_single TRAINER_BEVERLY, Route105_Text_295F5C, Route105_Text_295FA0
- msgbox Route105_Text_295FAE, MSGBOX_AUTOCLOSE
+Route105_EventScript_Beverly:: @ 81EE28F
+ trainerbattle_single TRAINER_BEVERLY, Route105_Text_BeverlyIntro, Route105_Text_BeverlyDefeated
+ msgbox Route105_Text_PostBattle, MSGBOX_AUTOCLOSE
end
-Route105_EventScript_1EE2A6:: @ 81EE2A6
- trainerbattle_single TRAINER_IMANI, Route105_Text_296025, Route105_Text_296059
- msgbox Route105_Text_296076, MSGBOX_AUTOCLOSE
+Route105_EventScript_Imani:: @ 81EE2A6
+ trainerbattle_single TRAINER_IMANI, Route105_Text_ImaniIntro, Route105_Text_ImaniDefeated
+ msgbox Route105_Text_ImaniPostBattle, MSGBOX_AUTOCLOSE
end
-Route105_EventScript_1EE2BD:: @ 81EE2BD
- trainerbattle_single TRAINER_JOSUE, Route105_Text_29626F, Route105_Text_2962CB
- msgbox Route105_Text_2962EC, MSGBOX_AUTOCLOSE
+Route105_EventScript_Josue:: @ 81EE2BD
+ trainerbattle_single TRAINER_JOSUE, Route105_Text_JosueIntro, Route105_Text_JosueDefeated
+ msgbox Route105_Text_JosuePostBattle, MSGBOX_AUTOCLOSE
end
-Route105_EventScript_1EE2D4:: @ 81EE2D4
- trainerbattle_single TRAINER_ANDRES_1, Route105_Text_2960A9, Route105_Text_2960DB, Route105_EventScript_1EE300
+Route105_EventScript_Andres:: @ 81EE2D4
+ trainerbattle_single TRAINER_ANDRES_1, Route105_Text_AndresIntro, Route105_Text_AndresDefeated, Route105_EventScript_AndresRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route105_EventScript_1EE31F
- msgbox Route105_Text_2960FA, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route105_EventScript_AndresRematch
+ msgbox Route105_Text_AndresPostBattle, MSGBOX_DEFAULT
release
end
-Route105_EventScript_1EE300:: @ 81EE300
- special sub_80B4808
+Route105_EventScript_AndresRegisterMatchCallAfterBattle:: @ 81EE300
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route105_Text_296159, MSGBOX_DEFAULT
+ msgbox Route105_Text_AndresRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ANDRES_1
release
end
-Route105_EventScript_1EE31F:: @ 81EE31F
- trainerbattle_rematch TRAINER_ANDRES_1, Route105_Text_29619E, Route105_Text_2961DD
- msgbox Route105_Text_2961FE, MSGBOX_AUTOCLOSE
+Route105_EventScript_AndresRematch:: @ 81EE31F
+ trainerbattle_rematch TRAINER_ANDRES_1, Route105_Text_AndresRematchIntro, Route105_Text_AndresRematchDefeated
+ msgbox Route105_Text_AndresRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route104_Text_1EE336: @ 81EE336
+Route104_Text_DadPokenavCall: @ 81EE336
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "DAD: Oh, {PLAYER}?\p"
@@ -98,6 +98,6 @@ Route104_Text_1EE336: @ 81EE336
.string "… … … … … …\n"
.string "… … … … … Click!$"
-Route104_Text_1EE463: @ 81EE463
+Route104_Text_RegisteredDadInPokenav: @ 81EE463
.string "Registered DAD NORMAN\n"
.string "in the POKéNAV.$"
diff --git a/data/maps/Route106/map.json b/data/maps/Route106/map.json
index 70558d26e..273f59aa5 100644
--- a/data/maps/Route106/map.json
+++ b/data/maps/Route106/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route106_EventScript_1EE493",
+ "script": "Route106_EventScript_Douglas",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route106_EventScript_1EE4AA",
+ "script": "Route106_EventScript_Kyla",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route106_EventScript_1EE4C1",
+ "script": "Route106_EventScript_Elliot",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route106_EventScript_1EE523",
+ "script": "Route106_EventScript_Ned",
"flag": "0"
},
{
@@ -132,7 +132,7 @@
"y": 13,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route106_EventScript_1EE48A"
+ "script": "Route106_EventScript_TrainerTipsSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route106/scripts.inc b/data/maps/Route106/scripts.inc
index f27ce9647..f9d3fb3b9 100644
--- a/data/maps/Route106/scripts.inc
+++ b/data/maps/Route106/scripts.inc
@@ -1,48 +1,48 @@
Route106_MapScripts:: @ 81EE489
.byte 0
-Route106_EventScript_1EE48A:: @ 81EE48A
- msgbox Route106_Text_1EE53A, MSGBOX_SIGN
+Route106_EventScript_TrainerTipsSign:: @ 81EE48A
+ msgbox Route106_Text_TrainerTips, MSGBOX_SIGN
end
-Route106_EventScript_1EE493:: @ 81EE493
- trainerbattle_single TRAINER_DOUGLAS, Route106_Text_2965BB, Route106_Text_2965FD
- msgbox Route106_Text_296608, MSGBOX_AUTOCLOSE
+Route106_EventScript_Douglas:: @ 81EE493
+ trainerbattle_single TRAINER_DOUGLAS, Route106_Text_DouglasIntro, Route106_Text_DouglasDefeated
+ msgbox Route106_Text_DouglasPostBattle, MSGBOX_AUTOCLOSE
end
-Route106_EventScript_1EE4AA:: @ 81EE4AA
- trainerbattle_single TRAINER_KYLA, Route106_Text_296628, Route106_Text_296674
- msgbox Route106_Text_29669E, MSGBOX_AUTOCLOSE
+Route106_EventScript_Kyla:: @ 81EE4AA
+ trainerbattle_single TRAINER_KYLA, Route106_Text_KylaIntro, Route106_Text_KylaDefeated
+ msgbox Route106_Text_KylaPostBattle, MSGBOX_AUTOCLOSE
end
-Route106_EventScript_1EE4C1:: @ 81EE4C1
- trainerbattle_single TRAINER_ELLIOT_1, Route106_Text_296327, Route106_Text_29635C, Route106_EventScript_1EE4ED
+Route106_EventScript_Elliot:: @ 81EE4C1
+ trainerbattle_single TRAINER_ELLIOT_1, Route106_Text_ElliotIntro, Route106_Text_ElliotDefeated, Route106_EventScript_ElliotRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route106_EventScript_1EE50C
- msgbox Route106_Text_29638C, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route106_EventScript_ElliotRematch
+ msgbox Route106_Text_ElliotPostBattle, MSGBOX_DEFAULT
release
end
-Route106_EventScript_1EE4ED:: @ 81EE4ED
- special sub_80B4808
+Route106_EventScript_ElliotRegisterMatchCallAfterBattle:: @ 81EE4ED
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route106_Text_2963E3, MSGBOX_DEFAULT
+ msgbox Route106_Text_ElliotRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ELLIOT_1
release
end
-Route106_EventScript_1EE50C:: @ 81EE50C
- trainerbattle_rematch TRAINER_ELLIOT_1, Route106_Text_29642E, Route106_Text_296477
- msgbox Route106_Text_296493, MSGBOX_AUTOCLOSE
+Route106_EventScript_ElliotRematch:: @ 81EE50C
+ trainerbattle_rematch TRAINER_ELLIOT_1, Route106_Text_ElliotRematchIntro, Route106_Text_ElliotRematchDefeated
+ msgbox Route106_Text_ElliotRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route106_EventScript_1EE523:: @ 81EE523
- trainerbattle_single TRAINER_NED, Route106_Text_2964D4, Route106_Text_296553
- msgbox Route106_Text_296588, MSGBOX_AUTOCLOSE
+Route106_EventScript_Ned:: @ 81EE523
+ trainerbattle_single TRAINER_NED, Route106_Text_NedIntro, Route106_Text_NedDefeated
+ msgbox Route106_Text_NedPostBattle, MSGBOX_AUTOCLOSE
end
-Route106_Text_1EE53A: @ 81EE53A
+Route106_Text_TrainerTips: @ 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/maps/Route107/map.json b/data/maps/Route107/map.json
index 3813f4795..b0bb63a14 100644
--- a/data/maps/Route107/map.json
+++ b/data/maps/Route107/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route107_EventScript_1EE595",
+ "script": "Route107_EventScript_Darrin",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route107_EventScript_1EE5AC",
+ "script": "Route107_EventScript_Tony",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route107_EventScript_1EE60E",
+ "script": "Route107_EventScript_Denise",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route107_EventScript_1EE625",
+ "script": "Route107_EventScript_Beth",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route107_EventScript_1EE63C",
+ "script": "Route107_EventScript_Lisa",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route107_EventScript_1EE657",
+ "script": "Route107_EventScript_Ray",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route107_EventScript_1EE672",
+ "script": "Route107_EventScript_Camron",
"flag": "0"
}
],
diff --git a/data/maps/Route107/scripts.inc b/data/maps/Route107/scripts.inc
index 90f67a639..0642c457f 100644
--- a/data/maps/Route107/scripts.inc
+++ b/data/maps/Route107/scripts.inc
@@ -1,55 +1,55 @@
Route107_MapScripts:: @ 81EE594
.byte 0
-Route107_EventScript_1EE595:: @ 81EE595
- trainerbattle_single TRAINER_DARRIN, Route107_Text_2966E5, Route107_Text_29672F
- msgbox Route107_Text_29675B, MSGBOX_AUTOCLOSE
+Route107_EventScript_Darrin:: @ 81EE595
+ trainerbattle_single TRAINER_DARRIN, Route107_Text_DarrinIntro, Route107_Text_DarrinDefeated
+ msgbox Route107_Text_DarrinPostBattle, MSGBOX_AUTOCLOSE
end
-Route107_EventScript_1EE5AC:: @ 81EE5AC
- trainerbattle_single TRAINER_TONY_1, Route107_Text_2967AD, Route107_Text_2967D8, Route107_EventScript_1EE5D8
+Route107_EventScript_Tony:: @ 81EE5AC
+ trainerbattle_single TRAINER_TONY_1, Route107_Text_TonyIntro, Route107_Text_TonyDefeated, Route107_EventScript_TonyRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route107_EventScript_1EE5F7
- msgbox Route107_Text_2967FF, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route107_EventScript_TonyRematch
+ msgbox Route107_Text_TonyPostBattle, MSGBOX_DEFAULT
release
end
-Route107_EventScript_1EE5D8:: @ 81EE5D8
- special sub_80B4808
+Route107_EventScript_TonyRegisterMatchCallAfterBattle:: @ 81EE5D8
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route107_Text_29685A, MSGBOX_DEFAULT
+ msgbox Route107_Text_TonyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_TONY_1
release
end
-Route107_EventScript_1EE5F7:: @ 81EE5F7
- trainerbattle_rematch TRAINER_TONY_1, Route107_Text_296897, Route107_Text_2968D5
- msgbox Route107_Text_296923, MSGBOX_AUTOCLOSE
+Route107_EventScript_TonyRematch:: @ 81EE5F7
+ trainerbattle_rematch TRAINER_TONY_1, Route107_Text_TonyRematchIntro, Route107_Text_TonyRematchDefeated
+ msgbox Route107_Text_TonyRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route107_EventScript_1EE60E:: @ 81EE60E
- trainerbattle_single TRAINER_DENISE, Route107_Text_296974, Route107_Text_29699E
- msgbox Route107_Text_2969AB, MSGBOX_AUTOCLOSE
+Route107_EventScript_Denise:: @ 81EE60E
+ trainerbattle_single TRAINER_DENISE, Route107_Text_DeniseIntro, Route107_Text_DeniseDefeated
+ msgbox Route107_Text_DenisePostBattle, MSGBOX_AUTOCLOSE
end
-Route107_EventScript_1EE625:: @ 81EE625
- trainerbattle_single TRAINER_BETH, Route107_Text_2969E4, Route107_Text_296A17
- msgbox Route107_Text_296A35, MSGBOX_AUTOCLOSE
+Route107_EventScript_Beth:: @ 81EE625
+ trainerbattle_single TRAINER_BETH, Route107_Text_BethIntro, Route107_Text_BethDefeated
+ msgbox Route107_Text_BethPostBattle, MSGBOX_AUTOCLOSE
end
-Route107_EventScript_1EE63C:: @ 81EE63C
- trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_296A77, Route107_Text_296AA7, Route107_Text_296B1E
- msgbox Route107_Text_296ADC, MSGBOX_AUTOCLOSE
+Route107_EventScript_Lisa:: @ 81EE63C
+ trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_LisaIntro, Route107_Text_LisaDefeated, Route107_Text_LisaNotEnoughPokemon
+ msgbox Route107_Text_LisaPostBattle, MSGBOX_AUTOCLOSE
end
-Route107_EventScript_1EE657:: @ 81EE657
- trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_296B57, Route107_Text_296BB3, Route107_Text_296C34
- msgbox Route107_Text_296BE1, MSGBOX_AUTOCLOSE
+Route107_EventScript_Ray:: @ 81EE657
+ trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_RayIntro, Route107_Text_RayDefeated, Route107_Text_RayNotEnoughPokemon
+ msgbox Route107_Text_RayPostBattle, MSGBOX_AUTOCLOSE
end
-Route107_EventScript_1EE672:: @ 81EE672
- trainerbattle_single TRAINER_CAMRON, Route107_Text_296C6F, Route107_Text_296CAD
- msgbox Route107_Text_296CC0, MSGBOX_AUTOCLOSE
+Route107_EventScript_Camron:: @ 81EE672
+ trainerbattle_single TRAINER_CAMRON, Route107_Text_CamronIntro, Route107_Text_CamronDefeated
+ msgbox Route107_Text_CamronPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route108/map.json b/data/maps/Route108/map.json
index b8b188637..ecdb81f6f 100644
--- a/data/maps/Route108/map.json
+++ b/data/maps/Route108/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route108_EventScript_1EE68A",
+ "script": "Route108_EventScript_Jerome",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route108_EventScript_1EE6B8",
+ "script": "Route108_EventScript_Tara",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route108_EventScript_1EE6A1",
+ "script": "Route108_EventScript_Matthew",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route108_EventScript_1EE6CF",
+ "script": "Route108_EventScript_Missy",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route108_EventScript_1EE6E6",
+ "script": "Route108_EventScript_Carolina",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route108_EventScript_1EE6FD",
+ "script": "Route108_EventScript_Cory",
"flag": "0"
},
{
diff --git a/data/maps/Route108/scripts.inc b/data/maps/Route108/scripts.inc
index 15a657a20..57f353bd1 100644
--- a/data/maps/Route108/scripts.inc
+++ b/data/maps/Route108/scripts.inc
@@ -1,50 +1,50 @@
Route108_MapScripts:: @ 81EE689
.byte 0
-Route108_EventScript_1EE68A:: @ 81EE68A
- trainerbattle_single TRAINER_JEROME, Route108_Text_296D10, Route108_Text_296D3C
- msgbox Route108_Text_296D6E, MSGBOX_AUTOCLOSE
+Route108_EventScript_Jerome:: @ 81EE68A
+ trainerbattle_single TRAINER_JEROME, Route108_Text_JeromeIntro, Route108_Text_JeromeDefeated
+ msgbox Route108_Text_JeromePostBattle, MSGBOX_AUTOCLOSE
end
-Route108_EventScript_1EE6A1:: @ 81EE6A1
- trainerbattle_single TRAINER_MATTHEW, Route108_Text_296DAF, Route108_Text_296DEA
- msgbox Route108_Text_296E03, MSGBOX_AUTOCLOSE
+Route108_EventScript_Matthew:: @ 81EE6A1
+ trainerbattle_single TRAINER_MATTHEW, Route108_Text_MatthewIntro, Route108_Text_MatthewDefeated
+ msgbox Route108_Text_MatthewPostBattle, MSGBOX_AUTOCLOSE
end
-Route108_EventScript_1EE6B8:: @ 81EE6B8
- trainerbattle_single TRAINER_TARA, Route108_Text_296E33, Route108_Text_296E71
- msgbox Route108_Text_296E7A, MSGBOX_AUTOCLOSE
+Route108_EventScript_Tara:: @ 81EE6B8
+ trainerbattle_single TRAINER_TARA, Route108_Text_TaraIntro, Route108_Text_TaraDefeated
+ msgbox Route108_Text_TaraPostBattle, MSGBOX_AUTOCLOSE
end
-Route108_EventScript_1EE6CF:: @ 81EE6CF
- trainerbattle_single TRAINER_MISSY, Route108_Text_296EC7, Route108_Text_296EFC
- msgbox Route108_Text_296F2A, MSGBOX_AUTOCLOSE
+Route108_EventScript_Missy:: @ 81EE6CF
+ trainerbattle_single TRAINER_MISSY, Route108_Text_MissyIntro, Route108_Text_MissyDefeated
+ msgbox Route108_Text_MissyPostBattle, MSGBOX_AUTOCLOSE
end
-Route108_EventScript_1EE6E6:: @ 81EE6E6
- trainerbattle_single TRAINER_CAROLINA, Route108_Text_297094, Route108_Text_2970D7
- msgbox Route108_Text_2970F0, MSGBOX_AUTOCLOSE
+Route108_EventScript_Carolina:: @ 81EE6E6
+ trainerbattle_single TRAINER_CAROLINA, Route108_Text_CarolinaIntro, Route108_Text_CarolinaDefeated
+ msgbox Route108_Text_CarolinaPostBattle, MSGBOX_AUTOCLOSE
end
-Route108_EventScript_1EE6FD:: @ 81EE6FD
- trainerbattle_single TRAINER_CORY_1, Route108_Text_296F5D, Route108_Text_296F93, Route108_EventScript_1EE729
+Route108_EventScript_Cory:: @ 81EE6FD
+ trainerbattle_single TRAINER_CORY_1, Route108_Text_CoryIntro, Route108_Text_CoryDefeated, Route108_EventScript_CoryRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route108_EventScript_1EE748
- msgbox Route108_Text_296FB0, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route108_EventScript_CoryRematch
+ msgbox Route108_Text_CoryPostBattle, MSGBOX_DEFAULT
release
end
-Route108_EventScript_1EE729:: @ 81EE729
- special sub_80B4808
+Route108_EventScript_CoryRegisterMatchCallAfterBattle:: @ 81EE729
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route108_Text_296FD8, MSGBOX_DEFAULT
+ msgbox Route108_Text_CoryRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_CORY_1
release
end
-Route108_EventScript_1EE748:: @ 81EE748
- trainerbattle_rematch TRAINER_CORY_1, Route108_Text_297011, Route108_Text_297036
- msgbox Route108_Text_297059, MSGBOX_AUTOCLOSE
+Route108_EventScript_CoryRematch:: @ 81EE748
+ trainerbattle_rematch TRAINER_CORY_1, Route108_Text_CoryRematchIntro, Route108_Text_CoryRematchDefeated
+ msgbox Route108_Text_CoryRematchPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json
index 361467266..4ba9baf9f 100644
--- a/data/maps/Route109/map.json
+++ b/data/maps/Route109/map.json
@@ -48,8 +48,8 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_1EE910",
- "flag": "FLAG_HIDE_ROUTE_108_MR_BRINEY"
+ "script": "Route109_EventScript_MrBriney",
+ "flag": "FLAG_HIDE_ROUTE_109_MR_BRINEY"
},
{
"graphics_id": "EVENT_OBJ_GFX_SWIMMER_M",
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route109_EventScript_1EEA3D",
+ "script": "Route109_EventScript_David",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route109_EventScript_1EEA54",
+ "script": "Route109_EventScript_Alice",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route109_EventScript_1EEA6B",
+ "script": "Route109_EventScript_Huey",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route109_EventScript_1EEA82",
+ "script": "Route109_EventScript_Edmond",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route109_EventScript_1EEA99",
+ "script": "Route109_EventScript_Ricky",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route109_EventScript_1EEAFB",
+ "script": "Route109_EventScript_Lola",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_1EE995",
+ "script": "Route109_EventScript_SeashoreHouseGirl",
"flag": "0"
},
{
@@ -165,7 +165,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route109_EventScript_1EEB74",
+ "script": "Route109_EventScript_Gwen",
"flag": "0"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route109_EventScript_1EEB5D",
+ "script": "Route109_EventScript_Austina",
"flag": "0"
},
{
@@ -191,7 +191,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route109_EventScript_1EEB8B",
+ "script": "Route109_EventScript_Carter",
"flag": "0"
},
{
@@ -204,7 +204,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_1EE99E",
+ "script": "Route109_EventScript_SandCastleBoy",
"flag": "0"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_1EE9B5",
+ "script": "Route109_EventScript_SoftSandGirl",
"flag": "0"
},
{
@@ -230,7 +230,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_1EEA06",
+ "script": "Route109_EventScript_Woman",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route109_EventScript_1EEBBD",
+ "script": "Route109_EventScript_Mel",
"flag": "0"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route109_EventScript_1EEBA2",
+ "script": "Route109_EventScript_Paul",
"flag": "0"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_1EEA0F",
+ "script": "Route109_EventScript_OldMan",
"flag": "0"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_EventScript_1EEA18",
+ "script": "Route109_EventScript_Zigzagoon",
"flag": "0"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route109_EventScript_1EEBEF",
+ "script": "Route109_EventScript_Hailey",
"flag": "0"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route109_EventScript_1EEBD8",
+ "script": "Route109_EventScript_Chandler",
"flag": "0"
},
{
@@ -334,7 +334,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route109_EventScript_1EEC06",
+ "script": "Route109_EventScript_Elijah",
"flag": "0"
}
],
@@ -355,7 +355,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route109_EventScript_1EEA2B"
+ "script": "Route109_EventScript_SeashoreHouseSign"
},
{
"type": "sign",
@@ -363,7 +363,7 @@
"y": 10,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route109_EventScript_1EEA34"
+ "script": "Route109_EventScript_TrainerTipsSign"
},
{
"type": "hidden_item",
diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc
index 6447b49c5..7ec6701a8 100644
--- a/data/maps/Route109/scripts.inc
+++ b/data/maps/Route109/scripts.inc
@@ -1,59 +1,59 @@
Route109_MapScripts:: @ 81EE75F
.byte 0
-Route109_EventScript_1EE760:: @ 81EE760
- call Route109_EventScript_271E95
+Route109_EventScript_StartDepartForDewford:: @ 81EE760
+ call EventScript_BackupMrBrineyLocation
setobjectpriority 2, MAP_ROUTE109, 0
setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109, 0
- applymovement 2, Route109_Movement_1EE90B
+ applymovement 2, Route109_Movement_BrineyEnterBoat
waitmovement 0
removeobject 2
switch VAR_FACING
- case 1, Route109_EventScript_1EE7A5
- case 3, Route109_EventScript_1EE7C5
- case 4, Route109_EventScript_1EE7B5
+ case DIR_SOUTH, Route109_EventScript_EnterBoatSouth
+ case DIR_WEST, Route109_EventScript_EnterBoatWest
+ case DIR_EAST, Route109_EventScript_EnterBoatEast
end
-Route109_EventScript_1EE7A5:: @ 81EE7A5
- applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE8FD
+Route109_EventScript_EnterBoatSouth:: @ 81EE7A5
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerEnterBoatSouth
waitmovement 0
- goto Route109_EventScript_1EE7D5
+ goto Route109_EventScript_DoSailToDewford
end
-Route109_EventScript_1EE7B5:: @ 81EE7B5
- applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE905
+Route109_EventScript_EnterBoatEast:: @ 81EE7B5
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerEnterBoatEast
waitmovement 0
- goto Route109_EventScript_1EE7D5
+ goto Route109_EventScript_DoSailToDewford
end
-Route109_EventScript_1EE7C5:: @ 81EE7C5
- applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE908
+Route109_EventScript_EnterBoatWest:: @ 81EE7C5
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerEnterBoatWest
waitmovement 0
- goto Route109_EventScript_1EE7D5
+ goto Route109_EventScript_DoSailToDewford
end
-Route109_EventScript_1EE7D5:: @ 81EE7D5
+Route109_EventScript_DoSailToDewford:: @ 81EE7D5
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109
- call Route109_EventScript_2720A0
- applymovement 1, Route109_Movement_1EE84F
- applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE84F
+ call Common_EventScript_PlayBrineysBoatMusic
+ applymovement 1, Route109_Movement_SailToDewford
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_SailToDewford
waitmovement 0
delay 50
- call Route109_EventScript_2720A8
+ call Common_EventScript_StopBrineysBoatMusic
showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
- applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE900
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_PlayerExitBoat
waitmovement 0
addobject 4
clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
setobjectxyperm 2, 12, 8
addobject 2
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
- applymovement 2, Route109_Movement_1EE90D
+ applymovement 2, Route109_Movement_BrineyExitBoat
waitmovement 0
clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
hideobjectat 1, MAP_ROUTE109
- msgbox Route109_Text_1E9C1D, MSGBOX_DEFAULT
+ msgbox DewfordTown_Text_BrineyLandedInDewford, MSGBOX_DEFAULT
closemessage
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109
@@ -62,7 +62,7 @@ Route109_EventScript_1EE7D5:: @ 81EE7D5
release
end
-Route109_Movement_1EE84F: @ 81EE84F
+Route109_Movement_SailToDewford: @ 81EE84F
walk_in_place_fastest_down
walk_down
walk_down
@@ -238,99 +238,99 @@ Route109_Movement_1EE84F: @ 81EE84F
walk_in_place_fastest_down
step_end
-Route109_Movement_1EE8FD: @ 81EE8FD
+Route109_Movement_PlayerEnterBoatSouth: @ 81EE8FD
walk_down
walk_down
step_end
-Route109_Movement_1EE900: @ 81EE900
+Route109_Movement_PlayerExitBoat: @ 81EE900
walk_down
walk_down
walk_left
walk_in_place_fastest_right
step_end
-Route109_Movement_1EE905: @ 81EE905
+Route109_Movement_PlayerEnterBoatEast: @ 81EE905
walk_right
walk_down
step_end
-Route109_Movement_1EE908: @ 81EE908
+Route109_Movement_PlayerEnterBoatWest: @ 81EE908
walk_left
walk_down
step_end
-Route109_Movement_1EE90B: @ 81EE90B
+Route109_Movement_BrineyEnterBoat: @ 81EE90B
walk_down
step_end
-Route109_Movement_1EE90D: @ 81EE90D
+Route109_Movement_BrineyExitBoat: @ 81EE90D
walk_down
walk_in_place_fastest_left
step_end
-Route109_EventScript_1EE910:: @ 81EE910
+Route109_EventScript_MrBriney:: @ 81EE910
lock
faceplayer
- goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route109_EventScript_1EE921
- goto Route109_EventScript_1EE93F
+ goto_if_unset FLAG_DELIVERED_DEVON_GOODS, Route109_EventScript_HaveNotDeliveredDevonGood
+ goto Route109_EventScript_DeliveredDevonGoods
end
-Route109_EventScript_1EE921:: @ 81EE921
- message Route109_Text_1EEC96
- msgbox Route109_Text_1EEC96, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route109_EventScript_1EE981
- goto Route109_EventScript_1EE972
+Route109_EventScript_HaveNotDeliveredDevonGood:: @ 81EE921
+ message Route109_Text_BrineySailToDewfordQuestion
+ msgbox Route109_Text_BrineySailToDewfordQuestion, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route109_EventScript_StayHere
+ goto Route109_EventScript_SailToDewford
end
-Route109_EventScript_1EE93F:: @ 81EE93F
- message Route109_Text_1EEE17
+Route109_EventScript_DeliveredDevonGoods:: @ 81EE93F
+ message Route109_Text_BrineyWhereAreWeBound
waitmessage
- multichoicedefault 21, 8, 14, 1, 0
+ multichoicedefault 21, 8, MULTI_BRINEY_OFF_DEWFORD, 1, 0
switch VAR_RESULT
- case 0, Route109_EventScript_1EE972
- case 1, Route109_EventScript_1EE98B
- case 127, Route109_EventScript_1EE98B
+ case 0, Route109_EventScript_SailToDewford
+ case 1, Route109_EventScript_ChoseNotToSail
+ case MULTI_B_PRESSED, Route109_EventScript_ChoseNotToSail
end
-Route109_EventScript_1EE972:: @ 81EE972
- msgbox Route109_Text_1EED06, MSGBOX_DEFAULT
+Route109_EventScript_SailToDewford:: @ 81EE972
+ msgbox Route109_Text_BrineyDewfordItIs, MSGBOX_DEFAULT
closemessage
- goto Route109_EventScript_1EE760
+ goto Route109_EventScript_StartDepartForDewford
end
-Route109_EventScript_1EE981:: @ 81EE981
- msgbox Route109_Text_1EED5E, MSGBOX_DEFAULT
+Route109_EventScript_StayHere:: @ 81EE981
+ msgbox Route109_Text_BrineyDeliverDevonGoods, MSGBOX_DEFAULT
release
end
-Route109_EventScript_1EE98B:: @ 81EE98B
- msgbox Route109_Text_1EEE72, MSGBOX_DEFAULT
+Route109_EventScript_ChoseNotToSail:: @ 81EE98B
+ msgbox Route109_Text_BrineyTellMeWhenYouNeedToSail, MSGBOX_DEFAULT
release
end
-Route109_EventScript_1EE995:: @ 81EE995
- msgbox Route109_Text_1EEEB4, MSGBOX_NPC
+Route109_EventScript_SeashoreHouseGirl:: @ 81EE995
+ msgbox Route109_Text_ChillAtMyPapasSpot, MSGBOX_NPC
end
-Route109_EventScript_1EE99E:: @ 81EE99E
+Route109_EventScript_SandCastleBoy:: @ 81EE99E
lock
faceplayer
- msgbox Route109_Text_1EEFB0, MSGBOX_DEFAULT
+ msgbox Route109_Text_SandCastleTakingLongTime, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route109_EventScript_1EE9B5:: @ 81EE9B5
+Route109_EventScript_SoftSandGirl:: @ 81EE9B5
lock
faceplayer
special GetPlayerBigGuyGirlString
- goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_1EE9F2
- msgbox Route109_Text_1EEFDE, MSGBOX_DEFAULT
- giveitem_std ITEM_SOFT_SAND
+ goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_AlreadyReceivedSoftSand
+ msgbox Route109_Text_YouCanHaveThis, MSGBOX_DEFAULT
+ giveitem ITEM_SOFT_SAND
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
closemessage
@@ -340,207 +340,207 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5
release
end
-Route109_EventScript_1EE9F2:: @ 81EE9F2
- msgbox Route109_Text_1EEFF1, MSGBOX_DEFAULT
+Route109_EventScript_AlreadyReceivedSoftSand:: @ 81EE9F2
+ msgbox Route109_Text_WereGoingToMakeBigCastle, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route109_EventScript_1EEA06:: @ 81EEA06
- msgbox Route109_Text_1EEF08, MSGBOX_NPC
+Route109_EventScript_Woman:: @ 81EEA06
+ msgbox Route109_Text_LittleKidsDartAround, MSGBOX_NPC
end
-Route109_EventScript_1EEA0F:: @ 81EEA0F
- msgbox Route109_Text_1EF080, MSGBOX_NPC
+Route109_EventScript_OldMan:: @ 81EEA0F
+ msgbox Route109_Text_ZigzagoonPicksUpLitter, MSGBOX_NPC
end
-Route109_EventScript_1EEA18:: @ 81EEA18
+Route109_EventScript_Zigzagoon:: @ 81EEA18
lock
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox Route109_Text_1EF173, MSGBOX_DEFAULT
+ msgbox Route109_Text_ZigzagoonCry, MSGBOX_DEFAULT
waitmoncry
release
end
-Route109_EventScript_1EEA2B:: @ 81EEA2B
- msgbox Route109_Text_1EF185, MSGBOX_SIGN
+Route109_EventScript_SeashoreHouseSign:: @ 81EEA2B
+ msgbox Route109_Text_SeashoreHouseSign, MSGBOX_SIGN
end
-Route109_EventScript_1EEA34:: @ 81EEA34
- msgbox Route109_Text_1EF1D5, MSGBOX_SIGN
+Route109_EventScript_TrainerTipsSign:: @ 81EEA34
+ msgbox Route109_Text_TrainerTipsSign, MSGBOX_SIGN
end
-Route109_EventScript_1EEA3D:: @ 81EEA3D
- trainerbattle_single TRAINER_DAVID, Route109_Text_297140, Route109_Text_29717D
- msgbox Route109_Text_297191, MSGBOX_AUTOCLOSE
+Route109_EventScript_David:: @ 81EEA3D
+ trainerbattle_single TRAINER_DAVID, Route109_Text_DavidIntro, Route109_Text_DavidDefeated
+ msgbox Route109_Text_DavidPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEA54:: @ 81EEA54
- trainerbattle_single TRAINER_ALICE, Route109_Text_2971D1, Route109_Text_2971FD
- msgbox Route109_Text_29720F, MSGBOX_AUTOCLOSE
+Route109_EventScript_Alice:: @ 81EEA54
+ trainerbattle_single TRAINER_ALICE, Route109_Text_AliceIntro, Route109_Text_AliceDefeated
+ msgbox Route109_Text_AlicePostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEA6B:: @ 81EEA6B
- trainerbattle_single TRAINER_HUEY, Route109_Text_297235, Route109_Text_29727B
- msgbox Route109_Text_29728C, MSGBOX_AUTOCLOSE
+Route109_EventScript_Huey:: @ 81EEA6B
+ trainerbattle_single TRAINER_HUEY, Route109_Text_HueyIntro, Route109_Text_HueyDefeated
+ msgbox Route109_Text_HueyPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEA82:: @ 81EEA82
- trainerbattle_single TRAINER_EDMOND, Route109_Text_2972B3, Route109_Text_2972CE
- msgbox Route109_Text_2972ED, MSGBOX_AUTOCLOSE
+Route109_EventScript_Edmond:: @ 81EEA82
+ trainerbattle_single TRAINER_EDMOND, Route109_Text_EdmondIntro, Route109_Text_EdmondDefeated
+ msgbox Route109_Text_EdmondPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEA99:: @ 81EEA99
- trainerbattle_single TRAINER_RICKY_1, Route109_Text_29733B, Route109_Text_297379, Route109_EventScript_1EEAC5
+Route109_EventScript_Ricky:: @ 81EEA99
+ trainerbattle_single TRAINER_RICKY_1, Route109_Text_RickyIntro, Route109_Text_RickyDefeated, Route109_EventScript_RickyRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route109_EventScript_1EEAE4
- msgbox Route109_Text_297380, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route109_EventScript_RickyRematch
+ msgbox Route109_Text_RickyPostBattle, MSGBOX_DEFAULT
release
end
-Route109_EventScript_1EEAC5:: @ 81EEAC5
- special sub_80B4808
+Route109_EventScript_RickyRegisterMatchCallAfterBattle:: @ 81EEAC5
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route109_Text_2973C1, MSGBOX_DEFAULT
+ msgbox Route109_Text_RickyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_RICKY_1
release
end
-Route109_EventScript_1EEAE4:: @ 81EEAE4
- trainerbattle_rematch TRAINER_RICKY_1, Route109_Text_2973FF, Route109_Text_297437
- msgbox Route109_Text_297458, MSGBOX_AUTOCLOSE
+Route109_EventScript_RickyRematch:: @ 81EEAE4
+ trainerbattle_rematch TRAINER_RICKY_1, Route109_Text_RickyRematchIntro, Route109_Text_RickyRematchDefeated
+ msgbox Route109_Text_RickyRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEAFB:: @ 81EEAFB
- trainerbattle_single TRAINER_LOLA_1, Route109_Text_29749C, Route109_Text_2974CF, Route109_EventScript_1EEB27
+Route109_EventScript_Lola:: @ 81EEAFB
+ trainerbattle_single TRAINER_LOLA_1, Route109_Text_LolaIntro, Route109_Text_LolaDefeated, Route109_EventScript_LolaRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route109_EventScript_1EEB46
- msgbox Route109_Text_2974D6, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route109_EventScript_LolaRematch
+ msgbox Route109_Text_LolaPostBattle, MSGBOX_DEFAULT
release
end
-Route109_EventScript_1EEB27:: @ 81EEB27
- special sub_80B4808
+Route109_EventScript_LolaRegisterMatchCallAfterBattle:: @ 81EEB27
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route109_Text_297520, MSGBOX_DEFAULT
+ msgbox Route109_Text_LolaRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_LOLA_1
release
end
-Route109_EventScript_1EEB46:: @ 81EEB46
- trainerbattle_rematch TRAINER_LOLA_1, Route109_Text_297538, Route109_Text_297576
- msgbox Route109_Text_29757D, MSGBOX_AUTOCLOSE
+Route109_EventScript_LolaRematch:: @ 81EEB46
+ trainerbattle_rematch TRAINER_LOLA_1, Route109_Text_LolaRematchIntro, Route109_Text_LolaRematchDefeated
+ msgbox Route109_Text_LolaRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEB5D:: @ 81EEB5D
- trainerbattle_single TRAINER_AUSTINA, Route109_Text_2975C0, Route109_Text_297601
- msgbox Route109_Text_29762A, MSGBOX_AUTOCLOSE
+Route109_EventScript_Austina:: @ 81EEB5D
+ trainerbattle_single TRAINER_AUSTINA, Route109_Text_AustinaIntro, Route109_Text_AustinaDefeated
+ msgbox Route109_Text_AustinaPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEB74:: @ 81EEB74
- trainerbattle_single TRAINER_GWEN, Route109_Text_297667, Route109_Text_297691
- msgbox Route109_Text_2976A4, MSGBOX_AUTOCLOSE
+Route109_EventScript_Gwen:: @ 81EEB74
+ trainerbattle_single TRAINER_GWEN, Route109_Text_GwenIntro, Route109_Text_GwenDefeated
+ msgbox Route109_Text_GwenPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEB8B:: @ 81EEB8B
- trainerbattle_single TRAINER_CARTER, Route109_Text_2976C5, Route109_Text_2976FC
- msgbox Route109_Text_297715, MSGBOX_AUTOCLOSE
+Route109_EventScript_Carter:: @ 81EEB8B
+ trainerbattle_single TRAINER_CARTER, Route109_Text_CarterIntro, Route109_Text_CarterDefeated
+ msgbox Route109_Text_CarterPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEBA2:: @ 81EEBA2
- trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_297754, Route109_Text_2977B0, Route109_Text_29781D
- msgbox Route109_Text_2977C7, MSGBOX_AUTOCLOSE
+Route109_EventScript_Paul:: @ 81EEBA2
+ trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_PaulIntro, Route109_Text_PaulDefeated, Route109_Text_PaulNotEnoughPokemon
+ msgbox Route109_Text_PaulPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEBBD:: @ 81EEBBD
- trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_297872, Route109_Text_2978BD, Route109_Text_29792E
- msgbox Route109_Text_2978F1, MSGBOX_AUTOCLOSE
+Route109_EventScript_Mel:: @ 81EEBBD
+ trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_MelIntro, Route109_Text_MelDefeated, Route109_Text_MelNotEnoughPokemon
+ msgbox Route109_Text_MelPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEBD8:: @ 81EEBD8
- trainerbattle_single TRAINER_CHANDLER, Route109_Text_29798A, Route109_Text_2979AE
- msgbox Route109_Text_2979BF, MSGBOX_AUTOCLOSE
+Route109_EventScript_Chandler:: @ 81EEBD8
+ trainerbattle_single TRAINER_CHANDLER, Route109_Text_ChandlerIntro, Route109_Text_ChandlerDefeated
+ msgbox Route109_Text_ChandlerPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEBEF:: @ 81EEBEF
- trainerbattle_single TRAINER_HAILEY, Route109_Text_2979EC, Route109_Text_297A15
- msgbox Route109_Text_297A40, MSGBOX_AUTOCLOSE
+Route109_EventScript_Hailey:: @ 81EEBEF
+ trainerbattle_single TRAINER_HAILEY, Route109_Text_HaileyIntro, Route109_Text_HaileyDefeated
+ msgbox Route109_Text_HaileyPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_EventScript_1EEC06:: @ 81EEC06
- trainerbattle_single TRAINER_ELIJAH, Route109_Text_297A82, Route109_Text_297AC7
- msgbox Route109_Text_297AE5, MSGBOX_AUTOCLOSE
+Route109_EventScript_Elijah:: @ 81EEC06
+ trainerbattle_single TRAINER_ELIJAH, Route109_Text_ElijahIntro, Route109_Text_ElijahDefeated
+ msgbox Route109_Text_ElijahPostBattle, MSGBOX_AUTOCLOSE
end
-DewfordTown_Text_1EEC1D: @ 81EEC1D
+DewfordTown_Text_BrineyLandedInSlateportDeliverGoods: @ 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
+Route109_Text_BrineySailToDewfordQuestion: @ 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
+Route109_Text_BrineyDewfordItIs: @ 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
+Route109_Text_BrineyDeliverDevonGoods: @ 81EED5E
.string "MR. BRINEY: Then you go on and deliver\n"
.string "the DEVON GOODS. I'll be waiting.$"
-DewfordTown_Text_1EEDA7: @ 81EEDA7
+DewfordTown_Text_BrineyLandedInSlateport: @ 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
+Route109_Text_BrineyWhereAreWeBound: @ 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
+Route109_Text_BrineyTellMeWhenYouNeedToSail: @ 81EEE72
.string "MR. BRINEY: You just tell me whenever\n"
.string "you need to set sail again!$"
-Route109_Text_1EEEB4: @ 81EEEB4
+Route109_Text_ChillAtMyPapasSpot: @ 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
+Route109_Text_LittleKidsDartAround: @ 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
+Route109_Text_SandCastleTakingLongTime: @ 81EEFB0
.string "Our sand castle's taking a long time\n"
.string "to make.$"
-Route109_Text_1EEFDE: @ 81EEFDE
+Route109_Text_YouCanHaveThis: @ 81EEFDE
.string "You can have this!$"
-Route109_Text_1EEFF1: @ 81EEFF1
+Route109_Text_WereGoingToMakeBigCastle: @ 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
+Route109_Text_ZigzagoonPicksUpLitter: @ 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"
@@ -549,15 +549,15 @@ Route109_Text_1EF080: @ 81EF080
.string "If we pollute the sea, it all comes\n"
.string "back to haunt us eventually.$"
-Route109_Text_1EF173: @ 81EF173
+Route109_Text_ZigzagoonCry: @ 81EF173
.string "ZIGZAGOON: Guguu?$"
-Route109_Text_1EF185: @ 81EF185
+Route109_Text_SeashoreHouseSign: @ 81EF185
.string "SEASHORE HOUSE\p"
.string "“May hot battles rage on hot sands!\n"
.string "The place for hot TRAINERS!”$"
-Route109_Text_1EF1D5: @ 81EF1D5
+Route109_Text_TrainerTipsSign: @ 81EF1D5
.string "TRAINER TIPS\p"
.string "POKéMON at the same level may not\n"
.string "always have identical stats.\p"
diff --git a/data/maps/Route109_SeashoreHouse/map.json b/data/maps/Route109_SeashoreHouse/map.json
index 3f293b291..ebd5583c6 100644
--- a/data/maps/Route109_SeashoreHouse/map.json
+++ b/data/maps/Route109_SeashoreHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route109_SeashoreHouse_EventScript_2693FE",
+ "script": "Route109_SeashoreHouse_EventScript_Owner",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route109_SeashoreHouse_EventScript_2694E2",
+ "script": "Route109_SeashoreHouse_EventScript_Dwayne",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route109_SeashoreHouse_EventScript_269518",
+ "script": "Route109_SeashoreHouse_EventScript_Simon",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route109_SeashoreHouse_EventScript_2694FD",
+ "script": "Route109_SeashoreHouse_EventScript_Johanna",
"flag": "0"
}
],
diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc
index 79d021334..dd29e47c3 100644
--- a/data/maps/Route109_SeashoreHouse/scripts.inc
+++ b/data/maps/Route109_SeashoreHouse/scripts.inc
@@ -6,112 +6,101 @@ Route109_SeashoreHouse_OnTransition: @ 82693FA
setflag FLAG_LANDMARK_SEASHORE_HOUSE
end
-Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE
+Route109_SeashoreHouse_EventScript_Owner:: @ 82693FE
lock
faceplayer
- goto_if_set FLAG_RECEIVED_6_SODA_POP, Route109_SeashoreHouse_EventScript_269460
- goto_if_set FLAG_DEFEATED_SEASHORE_HOUSE, Route109_SeashoreHouse_EventScript_269432
- goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_269428
- msgbox Route109_SeashoreHouse_Text_269555, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_6_SODA_POP, Route109_SeashoreHouse_EventScript_AlreadyReceivedSodaPop
+ goto_if_set FLAG_DEFEATED_SEASHORE_HOUSE, Route109_SeashoreHouse_EventScript_DefeatedTrainers
+ goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_AlreadyGaveIntroduction
+ msgbox Route109_SeashoreHouse_Text_SeashoreHouseIntro, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
release
end
-Route109_SeashoreHouse_EventScript_269428:: @ 8269428
- msgbox Route109_SeashoreHouse_Text_269635, MSGBOX_DEFAULT
+Route109_SeashoreHouse_EventScript_AlreadyGaveIntroduction:: @ 8269428
+ msgbox Route109_SeashoreHouse_Text_ShowMeSomeHotMatches, MSGBOX_DEFAULT
release
end
-Route109_SeashoreHouse_EventScript_269432:: @ 8269432
- msgbox Route109_SeashoreHouse_Text_269685, MSGBOX_DEFAULT
- giveitem_std ITEM_SODA_POP, 6
+Route109_SeashoreHouse_EventScript_DefeatedTrainers:: @ 8269432
+ msgbox Route109_SeashoreHouse_Text_TakeTheseSodaPopBottles, MSGBOX_DEFAULT
+ giveitem ITEM_SODA_POP, 6
compare VAR_RESULT, 0
- goto_if_eq Route109_SeashoreHouse_EventScript_269456
+ goto_if_eq Route109_SeashoreHouse_EventScript_BagFull
setflag FLAG_RECEIVED_6_SODA_POP
release
end
-Route109_SeashoreHouse_EventScript_269456:: @ 8269456
- msgbox Route109_SeashoreHouse_Text_26973A, MSGBOX_DEFAULT
+Route109_SeashoreHouse_EventScript_BagFull:: @ 8269456
+ msgbox Route109_SeashoreHouse_Text_BagFull, MSGBOX_DEFAULT
release
end
-Route109_SeashoreHouse_EventScript_269460:: @ 8269460
+Route109_SeashoreHouse_EventScript_AlreadyReceivedSodaPop:: @ 8269460
showmoneybox 0, 0, 0
- msgbox Route109_SeashoreHouse_Text_26977E, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route109_SeashoreHouse_EventScript_269484
- msgbox Route109_SeashoreHouse_Text_2697EF, MSGBOX_DEFAULT
+ msgbox Route109_SeashoreHouse_Text_WantToBuySodaPop, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route109_SeashoreHouse_EventScript_BuySodaPop
+ msgbox Route109_SeashoreHouse_Text_ThatsTooBad, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
release
end
-Route109_SeashoreHouse_EventScript_269484:: @ 8269484
- checkmoney 0x12c, 0
- compare VAR_RESULT, 0
- goto_if_eq Route109_SeashoreHouse_EventScript_2694C8
+Route109_SeashoreHouse_EventScript_BuySodaPop:: @ 8269484
+ checkmoney 300, 0
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route109_SeashoreHouse_EventScript_NotEnoughMoney
checkitemspace ITEM_SODA_POP, 1
- compare VAR_RESULT, 0
- goto_if_eq Route109_SeashoreHouse_EventScript_2694D5
- msgbox Route109_SeashoreHouse_Text_2697C8, MSGBOX_DEFAULT
- takemoney 0x12c, 0
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route109_SeashoreHouse_EventScript_NotEnoughSpace
+ msgbox Route109_SeashoreHouse_Text_HereYouGo, MSGBOX_DEFAULT
+ removemoney 300, 0
updatemoneybox 0, 0
- giveitem_std ITEM_SODA_POP
+ giveitem ITEM_SODA_POP
hidemoneybox
- nop
- nop
release
end
-Route109_SeashoreHouse_EventScript_2694C8:: @ 82694C8
- msgbox Route109_SeashoreHouse_Text_2697D5, MSGBOX_DEFAULT
+Route109_SeashoreHouse_EventScript_NotEnoughMoney:: @ 82694C8
+ msgbox Route109_SeashoreHouse_Text_NotEnoughMoney, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
release
end
-Route109_SeashoreHouse_EventScript_2694D5:: @ 82694D5
+Route109_SeashoreHouse_EventScript_NotEnoughSpace:: @ 82694D5
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
hidemoneybox
- nop
- nop
release
end
-Route109_SeashoreHouse_EventScript_2694E2:: @ 82694E2
- trainerbattle_single TRAINER_DWAYNE, Route109_SeashoreHouse_Text_269803, Route109_SeashoreHouse_Text_269867, Route109_SeashoreHouse_EventScript_269533
- msgbox Route109_SeashoreHouse_Text_26989D, MSGBOX_AUTOCLOSE
+Route109_SeashoreHouse_EventScript_Dwayne:: @ 82694E2
+ trainerbattle_single TRAINER_DWAYNE, Route109_SeashoreHouse_Text_DwayneIntro, Route109_SeashoreHouse_Text_DwayneDefeated, Route109_SeashoreHouse_EventScript_CheckTrainersCompletion
+ msgbox Route109_SeashoreHouse_Text_DwaynePostBattle, MSGBOX_AUTOCLOSE
end
-Route109_SeashoreHouse_EventScript_2694FD:: @ 82694FD
- trainerbattle_single TRAINER_JOHANNA, Route109_SeashoreHouse_Text_2698E3, Route109_SeashoreHouse_Text_269947, Route109_SeashoreHouse_EventScript_269533
- msgbox Route109_SeashoreHouse_Text_269953, MSGBOX_AUTOCLOSE
+Route109_SeashoreHouse_EventScript_Johanna:: @ 82694FD
+ trainerbattle_single TRAINER_JOHANNA, Route109_SeashoreHouse_Text_JohannaIntro, Route109_SeashoreHouse_Text_JohannaDefeated, Route109_SeashoreHouse_EventScript_CheckTrainersCompletion
+ msgbox Route109_SeashoreHouse_Text_JohannaPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_SeashoreHouse_EventScript_269518:: @ 8269518
- trainerbattle_single TRAINER_SIMON, Route109_SeashoreHouse_Text_269986, Route109_SeashoreHouse_Text_2699C5, Route109_SeashoreHouse_EventScript_269533
- msgbox Route109_SeashoreHouse_Text_2699DF, MSGBOX_AUTOCLOSE
+Route109_SeashoreHouse_EventScript_Simon:: @ 8269518
+ trainerbattle_single TRAINER_SIMON, Route109_SeashoreHouse_Text_SimonIntro, Route109_SeashoreHouse_Text_SimonDefeated, Route109_SeashoreHouse_EventScript_CheckTrainersCompletion
+ msgbox Route109_SeashoreHouse_Text_SimonPostBattle, MSGBOX_AUTOCLOSE
end
-Route109_SeashoreHouse_EventScript_269533:: @ 8269533
- checktrainerflag TRAINER_DWAYNE
- goto_if_lt Route109_SeashoreHouse_EventScript_269553
- checktrainerflag TRAINER_JOHANNA
- goto_if_lt Route109_SeashoreHouse_EventScript_269553
- checktrainerflag TRAINER_SIMON
- goto_if_lt Route109_SeashoreHouse_EventScript_269553
+Route109_SeashoreHouse_EventScript_CheckTrainersCompletion:: @ 8269533
+ goto_if_not_defeated TRAINER_DWAYNE, Route109_SeashoreHouse_EventScript_TrainersNotCompleted
+ goto_if_not_defeated TRAINER_JOHANNA, Route109_SeashoreHouse_EventScript_TrainersNotCompleted
+ goto_if_not_defeated TRAINER_SIMON, Route109_SeashoreHouse_EventScript_TrainersNotCompleted
setflag FLAG_DEFEATED_SEASHORE_HOUSE
release
end
-Route109_SeashoreHouse_EventScript_269553:: @ 8269553
+Route109_SeashoreHouse_EventScript_TrainersNotCompleted:: @ 8269553
release
end
-Route109_SeashoreHouse_Text_269555: @ 8269555
+Route109_SeashoreHouse_Text_SeashoreHouseIntro: @ 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"
@@ -120,12 +109,12 @@ Route109_SeashoreHouse_Text_269555: @ 8269555
.string "If you can defeat all the TRAINERS\n"
.string "here, I'll reward your efforts.$"
-Route109_SeashoreHouse_Text_269635: @ 8269635
+Route109_SeashoreHouse_Text_ShowMeSomeHotMatches: @ 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
+Route109_SeashoreHouse_Text_TakeTheseSodaPopBottles: @ 8269685
.string "You're scorching hot!\n"
.string "Those battles blazed!\l"
.string "I'm more than just satisfied!\p"
@@ -133,59 +122,59 @@ Route109_SeashoreHouse_Text_269685: @ 8269685
.string "streak, I want you to take these.\p"
.string "It's half a dozen bottles of SODA POP!$"
-Route109_SeashoreHouse_Text_26973A: @ 826973A
+Route109_SeashoreHouse_Text_BagFull: @ 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
+Route109_SeashoreHouse_Text_WantToBuySodaPop: @ 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
+Route109_SeashoreHouse_Text_HereYouGo: @ 82697C8
.string "Here you go!$"
-Route109_SeashoreHouse_Text_2697D5: @ 82697D5
+Route109_SeashoreHouse_Text_NotEnoughMoney: @ 82697D5
.string "You don't have the money.$"
-Route109_SeashoreHouse_Text_2697EF: @ 82697EF
+Route109_SeashoreHouse_Text_ThatsTooBad: @ 82697EF
.string "No?\n"
.string "That's too bad.$"
-Route109_SeashoreHouse_Text_269803: @ 8269803
+Route109_SeashoreHouse_Text_DwayneIntro: @ 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
+Route109_SeashoreHouse_Text_DwayneDefeated: @ 8269867
.string "That was a hot battle!\n"
.string "I can accept that loss, matey!$"
-Route109_SeashoreHouse_Text_26989D: @ 826989D
+Route109_SeashoreHouse_Text_DwaynePostBattle: @ 826989D
.string "Whenever I'm in SLATEPORT, I enjoy\n"
.string "hot battles and ice-cold SODA POP!$"
-Route109_SeashoreHouse_Text_2698E3: @ 82698E3
+Route109_SeashoreHouse_Text_JohannaIntro: @ 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
+Route109_SeashoreHouse_Text_JohannaDefeated: @ 8269947
.string "That's hot!$"
-Route109_SeashoreHouse_Text_269953: @ 8269953
+Route109_SeashoreHouse_Text_JohannaPostBattle: @ 8269953
.string "Whew, I'm all thirsty.\n"
.string "Maybe I'll have a SODA POP.$"
-Route109_SeashoreHouse_Text_269986: @ 8269986
+Route109_SeashoreHouse_Text_SimonIntro: @ 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
+Route109_SeashoreHouse_Text_SimonDefeated: @ 82699C5
.string "…I lost, but I won't cry…$"
-Route109_SeashoreHouse_Text_2699DF: @ 82699DF
+Route109_SeashoreHouse_Text_SimonPostBattle: @ 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/maps/Route110/map.json b/data/maps/Route110/map.json
index 570c38dcc..660f24ccc 100644
--- a/data/maps/Route110/map.json
+++ b/data/maps/Route110/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF338",
+ "script": "Route110_EventScript_Boy2",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF32F",
+ "script": "Route110_EventScript_CyclingGuy2",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF326",
+ "script": "Route110_EventScript_OldWoman",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF314",
+ "script": "Route110_EventScript_CyclingGuy1",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF31D",
+ "script": "Route110_EventScript_OldMan",
"flag": "0"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF30B",
+ "script": "Route110_EventScript_CyclingGirl1",
"flag": "0"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF302",
+ "script": "Route110_EventScript_Boy1",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 14,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route110_EventScript_1EF529",
+ "script": "Route110_EventScript_Jasmine",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route110_EventScript_1EF4B0",
+ "script": "Route110_EventScript_Anthony",
"flag": "0"
},
{
@@ -157,7 +157,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route110_EventScript_1EF540",
+ "script": "Route110_EventScript_Abigail",
"flag": "0"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route110_EventScript_1EF4C7",
+ "script": "Route110_EventScript_Benjamin",
"flag": "0"
},
{
@@ -183,7 +183,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route110_EventScript_1EF3F2",
+ "script": "Route110_EventScript_Edward",
"flag": "0"
},
{
@@ -196,7 +196,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_EventScript_1EF409",
+ "script": "Route110_EventScript_Jaclyn",
"flag": "0"
},
{
@@ -209,7 +209,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route110_EventScript_1EF420",
+ "script": "Route110_EventScript_Edwin",
"flag": "0"
},
{
@@ -222,7 +222,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_EventScript_1EF482",
+ "script": "Route110_EventScript_Dale",
"flag": "0"
},
{
@@ -300,7 +300,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF3B7",
+ "script": "Route110_EventScript_ChallengeGuy",
"flag": "0"
},
{
@@ -313,7 +313,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF2AA",
+ "script": "Route110_EventScript_AquaGrunt1",
"flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA"
},
{
@@ -326,7 +326,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF2C0",
+ "script": "Route110_EventScript_AquaGrunt2",
"flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA"
},
{
@@ -339,7 +339,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF2D6",
+ "script": "Route110_EventScript_AquaGrunt3",
"flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA"
},
{
@@ -352,7 +352,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_EventScript_1EF2EC",
+ "script": "Route110_EventScript_AquaGrunt4",
"flag": "FLAG_HIDE_ROUTE_110_TEAM_AQUA"
},
{
@@ -378,7 +378,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_EventScript_1EF499",
+ "script": "Route110_EventScript_Jacob",
"flag": "0"
},
{
@@ -417,7 +417,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route110_EventScript_1EF604",
+ "script": "Route110_EventScript_Timmy",
"flag": "0"
},
{
@@ -430,7 +430,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_EventScript_1EF5A2",
+ "script": "Route110_EventScript_Isabel",
"flag": "0"
},
{
@@ -443,7 +443,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_EventScript_1EF61C",
+ "script": "Route110_EventScript_Kaleb",
"flag": "0"
},
{
@@ -456,7 +456,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route110_EventScript_1EF64A",
+ "script": "Route110_EventScript_Alyssa",
"flag": "0"
},
{
@@ -469,7 +469,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route110_EventScript_1EF633",
+ "script": "Route110_EventScript_Joseph",
"flag": "0"
},
{
@@ -551,7 +551,7 @@
"elevation": 3,
"var": "VAR_CYCLING_CHALLENGE_STATE",
"var_value": "2",
- "script": "Route110_EventScript_1EF661"
+ "script": "Route110_EventScript_CyclingChallengeEnd"
},
{
"type": "trigger",
@@ -560,7 +560,7 @@
"elevation": 3,
"var": "VAR_CYCLING_CHALLENGE_STATE",
"var_value": "2",
- "script": "Route110_EventScript_1EF661"
+ "script": "Route110_EventScript_CyclingChallengeEnd"
},
{
"type": "trigger",
@@ -569,7 +569,7 @@
"elevation": 3,
"var": "VAR_ROUTE110_STATE",
"var_value": "0",
- "script": "Route110_EventScript_1EF74D"
+ "script": "Route110_EventScript_RivalTrigger1"
},
{
"type": "trigger",
@@ -578,7 +578,7 @@
"elevation": 3,
"var": "VAR_ROUTE110_STATE",
"var_value": "0",
- "script": "Route110_EventScript_1EF758"
+ "script": "Route110_EventScript_RivalTrigger2"
},
{
"type": "trigger",
@@ -587,7 +587,7 @@
"elevation": 3,
"var": "VAR_ROUTE110_STATE",
"var_value": "0",
- "script": "Route110_EventScript_1EF763"
+ "script": "Route110_EventScript_RivalTrigger3"
},
{
"type": "trigger",
@@ -596,7 +596,7 @@
"elevation": 3,
"var": "VAR_REGISTER_BIRCH_STATE",
"var_value": "1",
- "script": "Route110_EventScript_1EF9CB"
+ "script": "Route110_EventScript_BirchScene1"
},
{
"type": "trigger",
@@ -605,7 +605,7 @@
"elevation": 3,
"var": "VAR_REGISTER_BIRCH_STATE",
"var_value": "1",
- "script": "Route110_EventScript_1EF9D6"
+ "script": "Route110_EventScript_BirchScene2"
},
{
"type": "trigger",
@@ -614,7 +614,7 @@
"elevation": 3,
"var": "VAR_REGISTER_BIRCH_STATE",
"var_value": "1",
- "script": "Route110_EventScript_1EF9E1"
+ "script": "Route110_EventScript_BirchScene3"
},
{
"type": "trigger",
@@ -623,7 +623,7 @@
"elevation": 3,
"var": "VAR_REGISTER_BIRCH_STATE",
"var_value": "1",
- "script": "Route110_EventScript_1EF9EC"
+ "script": "Route110_EventScript_BirchScene4"
}
],
"bg_events": [
@@ -633,7 +633,7 @@
"y": 25,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF353"
+ "script": "Route110_EventScript_VandalizedSign"
},
{
"type": "sign",
@@ -641,7 +641,7 @@
"y": 51,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF365"
+ "script": "Route110_EventScript_SeasideParkingSign"
},
{
"type": "sign",
@@ -649,7 +649,7 @@
"y": 88,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF34A"
+ "script": "Route110_EventScript_CyclingRoadSign"
},
{
"type": "sign",
@@ -657,7 +657,7 @@
"y": 94,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF341"
+ "script": "Route110_EventScript_SlateportCitySign"
},
{
"type": "sign",
@@ -665,7 +665,7 @@
"y": 79,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF35C"
+ "script": "Route110_EventScript_Route103Sign"
},
{
"type": "sign",
@@ -673,7 +673,7 @@
"y": 17,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF36E"
+ "script": "Route110_EventScript_MauvilleCitySign"
},
{
"type": "secret_base",
@@ -695,7 +695,7 @@
"y": 39,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF377"
+ "script": "Route110_EventScript_TrainerTipsPrlzSleep"
},
{
"type": "sign",
@@ -703,7 +703,7 @@
"y": 70,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF380"
+ "script": "Route110_EventScript_TrainerTipsRegisterItems"
},
{
"type": "sign",
@@ -711,7 +711,7 @@
"y": 67,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF389"
+ "script": "Route110_EventScript_TrickHouseSign"
},
{
"type": "sign",
@@ -719,7 +719,7 @@
"y": 93,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF392"
+ "script": "Route110_EventScript_CyclingRoadResultsSign"
},
{
"type": "hidden_item",
@@ -759,7 +759,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_EventScript_1EF34A"
+ "script": "Route110_EventScript_CyclingRoadSign"
}
]
}
diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc
index 67fbbd0a8..1cb4f4b88 100644
--- a/data/maps/Route110/scripts.inc
+++ b/data/maps/Route110/scripts.inc
@@ -1,389 +1,389 @@
Route110_MapScripts:: @ 81EF269
- map_script MAP_SCRIPT_ON_RESUME, Route110_MapScript1_1EF279
+ map_script MAP_SCRIPT_ON_RESUME, Route110_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route110_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_MapScript2_1EF297
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_OnFrame
.byte 0
-Route110_MapScript1_1EF279: @ 81EF279
+Route110_OnResume: @ 81EF279
special UpdateCyclingRoadState
end
Route110_OnTransition: @ 81EF27D
- call Common_EventScript_SetupRivalGender
- call Common_EventScript_SetupRivalOnBikeGender
+ call Common_EventScript_SetupRivalGfxId
+ call Common_EventScript_SetupRivalOnBikeGfxId
compare VAR_CYCLING_CHALLENGE_STATE, 1
- call_if_eq Route110_EventScript_1EF293
+ call_if_eq Route110_EventScript_SaveCyclingMusic
end
-Route110_EventScript_1EF293:: @ 81EF293
+Route110_EventScript_SaveCyclingMusic:: @ 81EF293
savebgm MUS_CYCLING
return
-Route110_MapScript2_1EF297: @ 81EF297
- map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_1EF2A1
+Route110_OnFrame: @ 81EF297
+ map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_BeginCylcingRoadChallenge
.2byte 0
-Route110_EventScript_1EF2A1:: @ 81EF2A1
+Route110_EventScript_BeginCylcingRoadChallenge:: @ 81EF2A1
special Special_BeginCyclingRoadChallenge
setvar VAR_CYCLING_CHALLENGE_STATE, 2
return
-Route110_EventScript_1EF2AA:: @ 81EF2AA
+Route110_EventScript_AquaGrunt1:: @ 81EF2AA
lock
faceplayer
- msgbox Route110_Text_1EFB5D, MSGBOX_DEFAULT
+ msgbox Route110_Text_WeCantTalkAboutAquaActivities, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route110_EventScript_1EF2C0:: @ 81EF2C0
+Route110_EventScript_AquaGrunt2:: @ 81EF2C0
lock
faceplayer
- msgbox Route110_Text_1EFB93, MSGBOX_DEFAULT
+ msgbox Route110_Text_KickUpARuckus, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route110_EventScript_1EF2D6:: @ 81EF2D6
+Route110_EventScript_AquaGrunt3:: @ 81EF2D6
lock
faceplayer
- msgbox Route110_Text_1EFBCA, MSGBOX_DEFAULT
+ msgbox Route110_Text_MyFirstJobInAqua, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route110_EventScript_1EF2EC:: @ 81EF2EC
+Route110_EventScript_AquaGrunt4:: @ 81EF2EC
lock
faceplayer
- msgbox Route110_Text_1EFC0D, MSGBOX_DEFAULT
+ msgbox Route110_Text_AquaActionsBringSmiles, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route110_EventScript_1EF302:: @ 81EF302
- msgbox Route110_Text_1EFFC3, MSGBOX_NPC
+Route110_EventScript_Boy1:: @ 81EF302
+ msgbox Route110_Text_RideBikeAtFullSpeed, MSGBOX_NPC
end
-Route110_EventScript_1EF30B:: @ 81EF30B
- msgbox Route110_Text_1F0006, MSGBOX_NPC
+Route110_EventScript_CyclingGirl1:: @ 81EF30B
+ msgbox Route110_Text_HairStreamsBehindMe, MSGBOX_NPC
end
-Route110_EventScript_1EF314:: @ 81EF314
- msgbox Route110_Text_1F006A, MSGBOX_NPC
+Route110_EventScript_CyclingGuy1:: @ 81EF314
+ msgbox Route110_Text_YouGotBikeFromRydel, MSGBOX_NPC
end
-Route110_EventScript_1EF31D:: @ 81EF31D
- msgbox Route110_Text_1F0261, MSGBOX_NPC
+Route110_EventScript_OldMan:: @ 81EF31D
+ msgbox Route110_Text_TwoRoads, MSGBOX_NPC
end
-Route110_EventScript_1EF326:: @ 81EF326
- msgbox Route110_Text_1F02CA, MSGBOX_NPC
+Route110_EventScript_OldWoman:: @ 81EF326
+ msgbox Route110_Text_WalkOnTheLowRoad, MSGBOX_NPC
end
-Route110_EventScript_1EF32F:: @ 81EF32F
- msgbox Route110_Text_1F030E, MSGBOX_NPC
+Route110_EventScript_CyclingGuy2:: @ 81EF32F
+ msgbox Route110_Text_BikeTechniques, MSGBOX_NPC
end
-Route110_EventScript_1EF338:: @ 81EF338
- msgbox Route110_Text_1F0390, MSGBOX_NPC
+Route110_EventScript_Boy2:: @ 81EF338
+ msgbox Route110_Text_WhichShouldIChoose, MSGBOX_NPC
end
-Route110_EventScript_1EF341:: @ 81EF341
- msgbox Route110_Text_1F0812, MSGBOX_SIGN
+Route110_EventScript_SlateportCitySign:: @ 81EF341
+ msgbox Route110_Text_SlateportCitySign, MSGBOX_SIGN
end
-Route110_EventScript_1EF34A:: @ 81EF34A
- msgbox Route110_Text_1F082D, MSGBOX_SIGN
+Route110_EventScript_CyclingRoadSign:: @ 81EF34A
+ msgbox Route110_Text_CyclingRoadSign, MSGBOX_SIGN
end
-Route110_EventScript_1EF353:: @ 81EF353
- msgbox Route110_Text_1F0842, MSGBOX_SIGN
+Route110_EventScript_VandalizedSign:: @ 81EF353
+ msgbox Route110_Text_AquaWasHere, MSGBOX_SIGN
end
-Route110_EventScript_1EF35C:: @ 81EF35C
- msgbox Route110_Text_1F08CD, MSGBOX_SIGN
+Route110_EventScript_Route103Sign:: @ 81EF35C
+ msgbox Route110_Text_Route103Sign, MSGBOX_SIGN
end
-Route110_EventScript_1EF365:: @ 81EF365
- msgbox Route110_Text_1F08E3, MSGBOX_SIGN
+Route110_EventScript_SeasideParkingSign:: @ 81EF365
+ msgbox Route110_Text_SeasideParkingSign, MSGBOX_SIGN
end
-Route110_EventScript_1EF36E:: @ 81EF36E
- msgbox Route110_Text_1F08F3, MSGBOX_SIGN
+Route110_EventScript_MauvilleCitySign:: @ 81EF36E
+ msgbox Route110_Text_MauvilleCitySign, MSGBOX_SIGN
end
-Route110_EventScript_1EF377:: @ 81EF377
- msgbox Route110_Text_1F090D, MSGBOX_SIGN
+Route110_EventScript_TrainerTipsPrlzSleep:: @ 81EF377
+ msgbox Route110_Text_TrainerTipsPrlzSleep, MSGBOX_SIGN
end
-Route110_EventScript_1EF380:: @ 81EF380
- msgbox Route110_Text_1F0992, MSGBOX_SIGN
+Route110_EventScript_TrainerTipsRegisterItems:: @ 81EF380
+ msgbox Route110_Text_TrainerTipsRegisterItems, MSGBOX_SIGN
end
-Route110_EventScript_1EF389:: @ 81EF389
- msgbox Route110_Text_1F09DB, MSGBOX_SIGN
+Route110_EventScript_TrickHouseSign:: @ 81EF389
+ msgbox Route110_Text_TrickHouseSign, MSGBOX_SIGN
end
-Route110_EventScript_1EF392:: @ 81EF392
+Route110_EventScript_CyclingRoadResultsSign:: @ 81EF392
lockall
specialvar VAR_RESULT, GetRecordedCyclingRoadResults
- compare VAR_RESULT, 0
- goto_if_eq Route110_EventScript_1EF3AD
- msgbox Route110_Text_1F0A1E, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route110_EventScript_NoRecordSet
+ msgbox Route110_Text_BestRecord, MSGBOX_DEFAULT
releaseall
end
-Route110_EventScript_1EF3AD:: @ 81EF3AD
- msgbox Route110_Text_1F0A5E, MSGBOX_DEFAULT
+Route110_EventScript_NoRecordSet:: @ 81EF3AD
+ msgbox Route110_Text_ThereIsNoRecord, MSGBOX_DEFAULT
releaseall
end
-Route110_EventScript_1EF3B7:: @ 81EF3B7
+Route110_EventScript_ChallengeGuy:: @ 81EF3B7
lock
faceplayer
specialvar VAR_RESULT, GetPlayerAvatarBike
compare VAR_RESULT, 1
- goto_if_eq Route110_EventScript_1EF3E8
+ goto_if_eq Route110_EventScript_PlayerRidingAcroBike
compare VAR_CYCLING_CHALLENGE_STATE, 0
- goto_if_eq Route110_EventScript_1EF3DE
- msgbox Route110_Text_1F06FB, MSGBOX_DEFAULT
+ goto_if_eq Route110_EventScript_PlayerNotRidingBike
+ msgbox Route110_Text_AlwaysAimHigher, MSGBOX_DEFAULT
release
end
-Route110_EventScript_1EF3DE:: @ 81EF3DE
- msgbox Route110_Text_1F0661, MSGBOX_DEFAULT
+Route110_EventScript_PlayerNotRidingBike:: @ 81EF3DE
+ msgbox Route110_Text_RatedForNumberOfCollisions, MSGBOX_DEFAULT
release
end
-Route110_EventScript_1EF3E8:: @ 81EF3E8
- msgbox Route110_Text_1F0755, MSGBOX_DEFAULT
+Route110_EventScript_PlayerRidingAcroBike:: @ 81EF3E8
+ msgbox Route110_Text_AcroBikesDoNotQualify, MSGBOX_DEFAULT
release
end
-Route110_EventScript_1EF3F2:: @ 81EF3F2
- trainerbattle_single TRAINER_EDWARD, Route110_Text_29802B, Route110_Text_298064
- msgbox Route110_Text_29808A, MSGBOX_AUTOCLOSE
+Route110_EventScript_Edward:: @ 81EF3F2
+ trainerbattle_single TRAINER_EDWARD, Route110_Text_EdwardIntro, Route110_Text_EdwardDefeated
+ msgbox Route110_Text_EdwardPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF409:: @ 81EF409
- trainerbattle_single TRAINER_JACLYN, Route110_Text_2980B9, Route110_Text_2980E5
- msgbox Route110_Text_2980F8, MSGBOX_AUTOCLOSE
+Route110_EventScript_Jaclyn:: @ 81EF409
+ trainerbattle_single TRAINER_JACLYN, Route110_Text_JaclynIntro, Route110_Text_JaclynDefeated
+ msgbox Route110_Text_JaclynPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF420:: @ 81EF420
- trainerbattle_single TRAINER_EDWIN_1, Route110_Text_29815E, Route110_Text_29818F, Route110_EventScript_1EF44C
+Route110_EventScript_Edwin:: @ 81EF420
+ trainerbattle_single TRAINER_EDWIN_1, Route110_Text_EdwinIntro, Route110_Text_EdwinDefeated, Route110_EventScript_EdwinRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route110_EventScript_1EF46B
- msgbox Route110_Text_2981B3, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_EventScript_EdwinRematch
+ msgbox Route110_Text_EdwinPostBattle, MSGBOX_DEFAULT
release
end
-Route110_EventScript_1EF44C:: @ 81EF44C
- special sub_80B4808
+Route110_EventScript_EdwinRegisterMatchCallAfterBattle:: @ 81EF44C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route110_Text_298201, MSGBOX_DEFAULT
+ msgbox Route110_Text_EdwinRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_EDWIN_1
release
end
-Route110_EventScript_1EF46B:: @ 81EF46B
- trainerbattle_rematch TRAINER_EDWIN_1, Route110_Text_298232, Route110_Text_298288
- msgbox Route110_Text_2982A2, MSGBOX_AUTOCLOSE
+Route110_EventScript_EdwinRematch:: @ 81EF46B
+ trainerbattle_rematch TRAINER_EDWIN_1, Route110_Text_EdwinRematchIntro, Route110_Text_EdwinRematchDefeated
+ msgbox Route110_Text_EdwinRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF482:: @ 81EF482
- trainerbattle_single TRAINER_DALE, Route110_Text_2982CC, Route110_Text_2982F5
- msgbox Route110_Text_298303, MSGBOX_AUTOCLOSE
+Route110_EventScript_Dale:: @ 81EF482
+ trainerbattle_single TRAINER_DALE, Route110_Text_DaleIntro, Route110_Text_DaleDefeated
+ msgbox Route110_Text_DalePostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF499:: @ 81EF499
- trainerbattle_single TRAINER_JACOB, Route110_Text_297B3F, Route110_Text_297B77
- msgbox Route110_Text_297B8F, MSGBOX_AUTOCLOSE
+Route110_EventScript_Jacob:: @ 81EF499
+ trainerbattle_single TRAINER_JACOB, Route110_Text_JacobIntro, Route110_Text_JacobDefeated
+ msgbox Route110_Text_JacobPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF4B0:: @ 81EF4B0
- trainerbattle_single TRAINER_ANTHONY, Route110_Text_297BE7, Route110_Text_297C0F
- msgbox Route110_Text_297C1F, MSGBOX_AUTOCLOSE
+Route110_EventScript_Anthony:: @ 81EF4B0
+ trainerbattle_single TRAINER_ANTHONY, Route110_Text_AnthonyIntro, Route110_Text_AnthonyDefeated
+ msgbox Route110_Text_AnthonyPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF4C7:: @ 81EF4C7
- trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_297C63, Route110_Text_297C8A, Route110_EventScript_1EF4F3
+Route110_EventScript_Benjamin:: @ 81EF4C7
+ trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_BenjaminIntro, Route110_Text_BenjaminDefeated, Route110_EventScript_BenjaminRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route110_EventScript_1EF512
- msgbox Route110_Text_297CB4, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_EventScript_BenjaminRematch
+ msgbox Route110_Text_BenjaminPostBattle, MSGBOX_DEFAULT
release
end
-Route110_EventScript_1EF4F3:: @ 81EF4F3
- special sub_80B4808
+Route110_EventScript_BenjaminRegisterMatchCallAfterBattle:: @ 81EF4F3
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route110_Text_297CFE, MSGBOX_DEFAULT
+ msgbox Route110_Text_BenjaminRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_BENJAMIN_1
release
end
-Route110_EventScript_1EF512:: @ 81EF512
- trainerbattle_rematch TRAINER_BENJAMIN_1, Route110_Text_297D4B, Route110_Text_297D8E
- msgbox Route110_Text_297DB0, MSGBOX_AUTOCLOSE
+Route110_EventScript_BenjaminRematch:: @ 81EF512
+ trainerbattle_rematch TRAINER_BENJAMIN_1, Route110_Text_BenjaminRematchIntro, Route110_Text_BenjaminRematchDefeated
+ msgbox Route110_Text_BenjaminRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF529:: @ 81EF529
- trainerbattle_single TRAINER_JASMINE, Route110_Text_297F93, Route110_Text_297FD0
- msgbox Route110_Text_297FF1, MSGBOX_AUTOCLOSE
+Route110_EventScript_Jasmine:: @ 81EF529
+ trainerbattle_single TRAINER_JASMINE, Route110_Text_JasmineIntro, Route110_Text_JasmineDefeated
+ msgbox Route110_Text_JasminePostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF540:: @ 81EF540
- trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_297DFA, Route110_Text_297E69, Route110_EventScript_1EF56C
+Route110_EventScript_Abigail:: @ 81EF540
+ trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_AbigailIntro, Route110_Text_AbigailDefeated, Route110_EventScript_AbigailRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route110_EventScript_1EF58B
- msgbox Route110_Text_297E88, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_EventScript_AbigailRematch
+ msgbox Route110_Text_AbigailPostBattle, MSGBOX_DEFAULT
release
end
-Route110_EventScript_1EF56C:: @ 81EF56C
- special sub_80B4808
+Route110_EventScript_AbigailRegisterMatchCallAfterBattle:: @ 81EF56C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route110_Text_297ECD, MSGBOX_DEFAULT
+ msgbox Route110_Text_AbigailRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ABIGAIL_1
release
end
-Route110_EventScript_1EF58B:: @ 81EF58B
- trainerbattle_rematch TRAINER_ABIGAIL_1, Route110_Text_297F09, Route110_Text_297F37
- msgbox Route110_Text_297F58, MSGBOX_AUTOCLOSE
+Route110_EventScript_AbigailRematch:: @ 81EF58B
+ trainerbattle_rematch TRAINER_ABIGAIL_1, Route110_Text_AbigailRematchIntro, Route110_Text_AbigailRematchDefeated
+ msgbox Route110_Text_AbigailRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF5A2:: @ 81EF5A2
- trainerbattle_single TRAINER_ISABEL_1, Route110_Text_298349, Route110_Text_298389, Route110_EventScript_1EF5CE
+Route110_EventScript_Isabel:: @ 81EF5A2
+ trainerbattle_single TRAINER_ISABEL_1, Route110_Text_IsabelIntro, Route110_Text_IsabelDefeated, Route110_EventScript_IsabelRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route110_EventScript_1EF5ED
- msgbox Route110_Text_2983A2, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_EventScript_IsabelRematch
+ msgbox Route110_Text_IsabelPostBattle, MSGBOX_DEFAULT
release
end
-Route110_EventScript_1EF5CE:: @ 81EF5CE
- special sub_80B4808
+Route110_EventScript_IsabelRegisterMatchCallAfterBattle:: @ 81EF5CE
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route110_Text_2983EE, MSGBOX_DEFAULT
+ msgbox Route110_Text_IsabelRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ISABEL_1
release
end
-Route110_EventScript_1EF5ED:: @ 81EF5ED
- trainerbattle_rematch TRAINER_ISABEL_1, Route110_Text_298466, Route110_Text_2984AF
- msgbox Route110_Text_2984C8, MSGBOX_AUTOCLOSE
+Route110_EventScript_IsabelRematch:: @ 81EF5ED
+ trainerbattle_rematch TRAINER_ISABEL_1, Route110_Text_IsabelRematchIntro, Route110_Text_IsabelRematchDefeated
+ msgbox Route110_Text_IsabelRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF604:: @ 81EF604
- trainerbattle_single TRAINER_TIMMY, Route110_Text_298525, Route110_Text_298559
- msgbox Route110_Text_298579, MSGBOX_AUTOCLOSE
+Route110_EventScript_Timmy:: @ 81EF604
+ trainerbattle_single TRAINER_TIMMY, Route110_Text_TimmyIntro, Route110_Text_TimmyDefeated
+ msgbox Route110_Text_TimmyPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF61B:: @ 81EF61B
+Route110_EventScript_Unused:: @ 81EF61B
end
-Route110_EventScript_1EF61C:: @ 81EF61C
- trainerbattle_single TRAINER_KALEB, Route110_Text_2986ED, Route110_Text_298735
- msgbox Route110_Text_298755, MSGBOX_AUTOCLOSE
+Route110_EventScript_Kaleb:: @ 81EF61C
+ trainerbattle_single TRAINER_KALEB, Route110_Text_KalebIntro, Route110_Text_KalebDefeated
+ msgbox Route110_Text_KalebPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF633:: @ 81EF633
- trainerbattle_single TRAINER_JOSEPH, Route110_Text_298642, Route110_Text_298686
- msgbox Route110_Text_2986A9, MSGBOX_AUTOCLOSE
+Route110_EventScript_Joseph:: @ 81EF633
+ trainerbattle_single TRAINER_JOSEPH, Route110_Text_JosephIntro, Route110_Text_JosephDefeated
+ msgbox Route110_Text_JosephPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF64A:: @ 81EF64A
- trainerbattle_single TRAINER_ALYSSA, Route110_Text_2985AB, Route110_Text_2985F9
- msgbox Route110_Text_298612, MSGBOX_AUTOCLOSE
+Route110_EventScript_Alyssa:: @ 81EF64A
+ trainerbattle_single TRAINER_ALYSSA, Route110_Text_AlyssaIntro, Route110_Text_AlyssaDefeated
+ msgbox Route110_Text_AlyssaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_EventScript_1EF661:: @ 81EF661
+Route110_EventScript_CyclingChallengeEnd:: @ 81EF661
lockall
- applymovement 21, Common_Movement_WalkInPlaceRight
+ applymovement 21, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- call Route110_EventScript_1EF673
+ call Route110_EventScript_CyclingChallengeResults
releaseall
end
-Route110_EventScript_1EF673:: @ 81EF673
+Route110_EventScript_CyclingChallengeResults:: @ 81EF673
special FinishCyclingRoadChallenge
- msgbox Route110_Text_1F03FF, MSGBOX_DEFAULT
+ msgbox Route110_Text_CyclingChallengeResultSummary, MSGBOX_DEFAULT
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
+ case 10, Route110_EventScript_ChallengeReactionBest
+ case 9, Route110_EventScript_ChallengeReactionGood
+ case 8, Route110_EventScript_ChallengeReactionGood
+ case 7, Route110_EventScript_ChallengeReactionGood
+ case 6, Route110_EventScript_ChallengeReactionOk
+ case 5, Route110_EventScript_ChallengeReactionOk
+ case 4, Route110_EventScript_ChallengeReactionOk
+ case 3, Route110_EventScript_ChallengeReactionBad
+ case 2, Route110_EventScript_ChallengeReactionBad
+ case 1, Route110_EventScript_ChallengeReactionBad
+ case 0, Route110_EventScript_ChallengeReactionWorst
end
-Route110_EventScript_1EF6FD:: @ 81EF6FD
- msgbox Route110_Text_1F0431, MSGBOX_DEFAULT
- goto Route110_EventScript_1EF743
+Route110_EventScript_ChallengeReactionBest:: @ 81EF6FD
+ msgbox Route110_Text_ChallengeReactionBest, MSGBOX_DEFAULT
+ goto Route110_EventScript_EndChallenge
end
-Route110_EventScript_1EF70B:: @ 81EF70B
- msgbox Route110_Text_1F04A4, MSGBOX_DEFAULT
- goto Route110_EventScript_1EF743
+Route110_EventScript_ChallengeReactionGood:: @ 81EF70B
+ msgbox Route110_Text_ChallengeReactionGood, MSGBOX_DEFAULT
+ goto Route110_EventScript_EndChallenge
end
-Route110_EventScript_1EF719:: @ 81EF719
- msgbox Route110_Text_1F0500, MSGBOX_DEFAULT
- goto Route110_EventScript_1EF743
+Route110_EventScript_ChallengeReactionOk:: @ 81EF719
+ msgbox Route110_Text_ChallengeReactionOk, MSGBOX_DEFAULT
+ goto Route110_EventScript_EndChallenge
end
-Route110_EventScript_1EF727:: @ 81EF727
- msgbox Route110_Text_1F0567, MSGBOX_DEFAULT
- goto Route110_EventScript_1EF743
+Route110_EventScript_ChallengeReactionBad:: @ 81EF727
+ msgbox Route110_Text_ChallengeReactionBad, MSGBOX_DEFAULT
+ goto Route110_EventScript_EndChallenge
end
-Route110_EventScript_1EF735:: @ 81EF735
- msgbox Route110_Text_1F05CE, MSGBOX_DEFAULT
- goto Route110_EventScript_1EF743
+Route110_EventScript_ChallengeReactionWorst:: @ 81EF735
+ msgbox Route110_Text_ChallengeReactionWorst, MSGBOX_DEFAULT
+ goto Route110_EventScript_EndChallenge
end
-Route110_EventScript_1EF743:: @ 81EF743
+Route110_EventScript_EndChallenge:: @ 81EF743
setvar VAR_CYCLING_CHALLENGE_STATE, 3
savebgm MUS_DUMMY
fadedefaultbgm
return
-Route110_EventScript_1EF74D:: @ 81EF74D
+Route110_EventScript_RivalTrigger1:: @ 81EF74D
setvar VAR_0x8008, 1
- goto Route110_EventScript_1EF76E
+ goto Route110_EventScript_RivalScene
end
-Route110_EventScript_1EF758:: @ 81EF758
+Route110_EventScript_RivalTrigger2:: @ 81EF758
setvar VAR_0x8008, 2
- goto Route110_EventScript_1EF76E
+ goto Route110_EventScript_RivalScene
end
-Route110_EventScript_1EF763:: @ 81EF763
+Route110_EventScript_RivalTrigger3:: @ 81EF763
setvar VAR_0x8008, 3
- goto Route110_EventScript_1EF76E
+ goto Route110_EventScript_RivalScene
end
-Route110_EventScript_1EF76E:: @ 81EF76E
+Route110_EventScript_RivalScene:: @ 81EF76E
lockall
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq Route110_EventScript_1EF7E1
+ call_if_eq Route110_EventScript_PlayMayMusic
compare VAR_RESULT, FEMALE
- call_if_eq Route110_EventScript_1EF7E6
- applymovement 28, Common_Movement_WalkInPlaceDown
+ call_if_eq Route110_EventScript_PlayBrendanMusic
+ applymovement 28, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
applymovement 28, Common_Movement_ExclamationMark
waitmovement 0
@@ -391,110 +391,110 @@ Route110_EventScript_1EF76E:: @ 81EF76E
waitmovement 0
delay 30
compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_1EF94E
+ call_if_eq Route110_EventScript_RivalApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_1EF959
+ call_if_eq Route110_EventScript_RivalApproachPlayer2
compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_1EF964
+ call_if_eq Route110_EventScript_RivalApproachPlayer3
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq Route110_EventScript_1EF7EB
+ goto_if_eq Route110_EventScript_MayBattle
compare VAR_RESULT, FEMALE
- goto_if_eq Route110_EventScript_1EF865
+ goto_if_eq Route110_EventScript_BrendanBattle
releaseall
end
-Route110_EventScript_1EF7E1:: @ 81EF7E1
+Route110_EventScript_PlayMayMusic:: @ 81EF7E1
playbgm MUS_GIRL_SUP, 1
return
-Route110_EventScript_1EF7E6:: @ 81EF7E6
+Route110_EventScript_PlayBrendanMusic:: @ 81EF7E6
playbgm MUS_BOY_SUP, 1
return
-Route110_EventScript_1EF7EB:: @ 81EF7EB
- msgbox Route110_Text_1EFC48, MSGBOX_DEFAULT
+Route110_EventScript_MayBattle:: @ 81EF7EB
+ msgbox Route110_Text_MayLetsBattle, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route110_EventScript_1EF81A
- case 1, Route110_EventScript_1EF82A
- case 2, Route110_EventScript_1EF83A
+ case 0, Route110_EventScript_MayBattleTreecko
+ case 1, Route110_EventScript_MayBattleTorchic
+ case 2, Route110_EventScript_MayBattleMudkip
end
-Route110_EventScript_1EF81A:: @ 81EF81A
- trainerbattle_no_intro TRAINER_MAY_5, Route110_Text_1EFCCB
- goto Route110_EventScript_1EF84A
+Route110_EventScript_MayBattleTreecko:: @ 81EF81A
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_110_TREECKO, Route110_Text_MayDefeated
+ goto Route110_EventScript_MayDefeated
end
-Route110_EventScript_1EF82A:: @ 81EF82A
- trainerbattle_no_intro TRAINER_MAY_8, Route110_Text_1EFCCB
- goto Route110_EventScript_1EF84A
+Route110_EventScript_MayBattleTorchic:: @ 81EF82A
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_110_TORCHIC, Route110_Text_MayDefeated
+ goto Route110_EventScript_MayDefeated
end
-Route110_EventScript_1EF83A:: @ 81EF83A
- trainerbattle_no_intro TRAINER_MAY_2, Route110_Text_1EFCCB
- goto Route110_EventScript_1EF84A
+Route110_EventScript_MayBattleMudkip:: @ 81EF83A
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_110_MUDKIP, Route110_Text_MayDefeated
+ goto Route110_EventScript_MayDefeated
end
-Route110_EventScript_1EF84A:: @ 81EF84A
- msgbox Route110_Text_1EFCF1, MSGBOX_DEFAULT
- call Route110_EventScript_1EF8DF
- msgbox Route110_Text_1EFD58, MSGBOX_DEFAULT
- goto Route110_EventScript_1EF8EC
+Route110_EventScript_MayDefeated:: @ 81EF84A
+ msgbox Route110_Text_MayTakeThis, MSGBOX_DEFAULT
+ call Route110_EventScript_GiveItemfinder
+ msgbox Route110_Text_MayExplainItemfinder, MSGBOX_DEFAULT
+ goto Route110_EventScript_RivalExit
end
-Route110_EventScript_1EF865:: @ 81EF865
- msgbox Route110_Text_1EFE3F, MSGBOX_DEFAULT
+Route110_EventScript_BrendanBattle:: @ 81EF865
+ msgbox Route110_Text_BrendayLetsBattle, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route110_EventScript_1EF894
- case 1, Route110_EventScript_1EF8A4
- case 2, Route110_EventScript_1EF8B4
+ case 0, Route110_EventScript_BrendanBattleTreecko
+ case 1, Route110_EventScript_BrendanBattleTorchic
+ case 2, Route110_EventScript_BrendanBattleMudkip
end
-Route110_EventScript_1EF894:: @ 81EF894
- trainerbattle_no_intro TRAINER_BRENDAN_5, Route110_Text_1EFEB4
- goto Route110_EventScript_1EF8C4
+Route110_EventScript_BrendanBattleTreecko:: @ 81EF894
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_TREECKO, Route110_Text_BrendanDefeated
+ goto Route110_EventScript_BrendanDefeated
end
-Route110_EventScript_1EF8A4:: @ 81EF8A4
- trainerbattle_no_intro TRAINER_BRENDAN_8, Route110_Text_1EFEB4
- goto Route110_EventScript_1EF8C4
+Route110_EventScript_BrendanBattleTorchic:: @ 81EF8A4
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_TORCHIC, Route110_Text_BrendanDefeated
+ goto Route110_EventScript_BrendanDefeated
end
-Route110_EventScript_1EF8B4:: @ 81EF8B4
- trainerbattle_no_intro TRAINER_BRENDAN_2, Route110_Text_1EFEB4
- goto Route110_EventScript_1EF8C4
+Route110_EventScript_BrendanBattleMudkip:: @ 81EF8B4
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_MUDKIP, Route110_Text_BrendanDefeated
+ goto Route110_EventScript_BrendanDefeated
end
-Route110_EventScript_1EF8C4:: @ 81EF8C4
- msgbox Route110_Text_1EFECD, MSGBOX_DEFAULT
- call Route110_EventScript_1EF8DF
- msgbox Route110_Text_1EFF1C, MSGBOX_DEFAULT
- goto Route110_EventScript_1EF8EC
+Route110_EventScript_BrendanDefeated:: @ 81EF8C4
+ msgbox Route110_Text_BrendanTakeThis, MSGBOX_DEFAULT
+ call Route110_EventScript_GiveItemfinder
+ msgbox Route110_Text_BrendanExplainItemfinder, MSGBOX_DEFAULT
+ goto Route110_EventScript_RivalExit
end
-Route110_EventScript_1EF8DF:: @ 81EF8DF
- giveitem_std ITEM_ITEMFINDER
+Route110_EventScript_GiveItemfinder:: @ 81EF8DF
+ giveitem ITEM_ITEMFINDER
return
-Route110_EventScript_1EF8EC:: @ 81EF8EC
+Route110_EventScript_RivalExit:: @ 81EF8EC
closemessage
compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_1EF990
+ call_if_eq Route110_EventScript_MoveRival1
compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_1EF998
+ call_if_eq Route110_EventScript_MoveRival2
compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_1EF9A0
+ call_if_eq Route110_EventScript_MoveRival3
setobjectmovementtype 28, MOVEMENT_TYPE_FACE_RIGHT
setobjectmovementtype 29, MOVEMENT_TYPE_FACE_RIGHT
removeobject 28
addobject 29
delay 45
compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_1EF96F
+ call_if_eq Route110_EventScript_RivalExit1
compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_1EF97A
+ call_if_eq Route110_EventScript_RivalExit2
compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_1EF985
+ call_if_eq Route110_EventScript_RivalExit3
removeobject 29
setvar VAR_ROUTE110_STATE, 1
savebgm MUS_DUMMY
@@ -502,65 +502,65 @@ Route110_EventScript_1EF8EC:: @ 81EF8EC
releaseall
end
-Route110_EventScript_1EF94E:: @ 81EF94E
- applymovement 28, Route110_Movement_1EF9A8
+Route110_EventScript_RivalApproachPlayer1:: @ 81EF94E
+ applymovement 28, Route110_Movement_RivalApproachPlayer1
waitmovement 0
return
-Route110_EventScript_1EF959:: @ 81EF959
- applymovement 28, Route110_Movement_1EF9AC
+Route110_EventScript_RivalApproachPlayer2:: @ 81EF959
+ applymovement 28, Route110_Movement_RivalApproachPlayer2
waitmovement 0
return
-Route110_EventScript_1EF964:: @ 81EF964
- applymovement 28, Route110_Movement_1EF9AE
+Route110_EventScript_RivalApproachPlayer3:: @ 81EF964
+ applymovement 28, Route110_Movement_RivalApproachPlayer3
waitmovement 0
return
-Route110_EventScript_1EF96F:: @ 81EF96F
- applymovement 29, Route110_Movement_1EF9B2
+Route110_EventScript_RivalExit1:: @ 81EF96F
+ applymovement 29, Route110_Movement_RivalExit1
waitmovement 0
return
-Route110_EventScript_1EF97A:: @ 81EF97A
- applymovement 29, Route110_Movement_1EF9BA
+Route110_EventScript_RivalExit2:: @ 81EF97A
+ applymovement 29, Route110_Movement_RivalExit2
waitmovement 0
return
-Route110_EventScript_1EF985:: @ 81EF985
- applymovement 29, Route110_Movement_1EF9C3
+Route110_EventScript_RivalExit3:: @ 81EF985
+ applymovement 29, Route110_Movement_RivalExit3
waitmovement 0
return
-Route110_EventScript_1EF990:: @ 81EF990
+Route110_EventScript_MoveRival1:: @ 81EF990
setobjectxyperm 29, 33, 55
return
-Route110_EventScript_1EF998:: @ 81EF998
+Route110_EventScript_MoveRival2:: @ 81EF998
setobjectxyperm 29, 34, 55
return
-Route110_EventScript_1EF9A0:: @ 81EF9A0
+Route110_EventScript_MoveRival3:: @ 81EF9A0
setobjectxyperm 29, 35, 55
return
-Route110_Movement_1EF9A8: @ 81EF9A8
+Route110_Movement_RivalApproachPlayer1: @ 81EF9A8
walk_down
walk_left
walk_in_place_fastest_down
step_end
-Route110_Movement_1EF9AC: @ 81EF9AC
+Route110_Movement_RivalApproachPlayer2: @ 81EF9AC
walk_down
step_end
-Route110_Movement_1EF9AE: @ 81EF9AE
+Route110_Movement_RivalApproachPlayer3: @ 81EF9AE
walk_down
walk_right
walk_in_place_fastest_down
step_end
-Route110_Movement_1EF9B2: @ 81EF9B2
+Route110_Movement_RivalExit1: @ 81EF9B2
walk_fast_up
walk_fast_up
walk_fast_up
@@ -570,7 +570,7 @@ Route110_Movement_1EF9B2: @ 81EF9B2
walk_fast_up
step_end
-Route110_Movement_1EF9BA: @ 81EF9BA
+Route110_Movement_RivalExit2: @ 81EF9BA
walk_fast_up
walk_fast_up
walk_fast_up
@@ -581,7 +581,7 @@ Route110_Movement_1EF9BA: @ 81EF9BA
walk_fast_down
step_end
-Route110_Movement_1EF9C3: @ 81EF9C3
+Route110_Movement_RivalExit3: @ 81EF9C3
walk_fast_up
walk_fast_up
walk_fast_up
@@ -591,29 +591,29 @@ Route110_Movement_1EF9C3: @ 81EF9C3
walk_fast_up
step_end
-Route110_EventScript_1EF9CB:: @ 81EF9CB
+Route110_EventScript_BirchScene1:: @ 81EF9CB
lockall
setvar VAR_0x8008, 1
- goto Route110_EventScript_1EF9F7
+ goto Route110_EventScript_BirchScene
-Route110_EventScript_1EF9D6:: @ 81EF9D6
+Route110_EventScript_BirchScene2:: @ 81EF9D6
lockall
setvar VAR_0x8008, 2
- goto Route110_EventScript_1EF9F7
+ goto Route110_EventScript_BirchScene
-Route110_EventScript_1EF9E1:: @ 81EF9E1
+Route110_EventScript_BirchScene3:: @ 81EF9E1
lockall
setvar VAR_0x8008, 3
- goto Route110_EventScript_1EF9F7
+ goto Route110_EventScript_BirchScene
-Route110_EventScript_1EF9EC:: @ 81EF9EC
+Route110_EventScript_BirchScene4:: @ 81EF9EC
lockall
setvar VAR_0x8008, 4
- goto Route110_EventScript_1EF9F7
+ goto Route110_EventScript_BirchScene
-Route110_EventScript_1EF9F7:: @ 81EF9F7
+Route110_EventScript_BirchScene:: @ 81EF9F7
addobject 36
- applymovement 36, Route110_Movement_1EFB30
+ applymovement 36, Route110_Movement_BirchEntrance
waitmovement 0
playse SE_PIN
applymovement 36, Common_Movement_ExclamationMark
@@ -621,120 +621,120 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7
applymovement 36, Common_Movement_Delay48
waitmovement 0
compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_1EFAD8
+ call_if_eq Route110_EventScript_BirchApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_1EFAE3
+ call_if_eq Route110_EventScript_BirchApproachPlayer2
compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_1EFAEE
+ call_if_eq Route110_EventScript_BirchApproachPlayer3
compare VAR_0x8008, 4
- call_if_eq Route110_EventScript_1EFAF9
- msgbox Route110_Text_1F0AB5, MSGBOX_DEFAULT
+ call_if_eq Route110_EventScript_BirchApproachPlayer4
+ msgbox Route110_Text_ImagineSeeingYouHere, MSGBOX_DEFAULT
closemessage
delay 20
- applymovement 36, Common_Movement_WalkInPlaceLeft
+ applymovement 36, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 10
- applymovement 36, Common_Movement_WalkInPlaceRight
+ applymovement 36, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 20
- applymovement 36, Common_Movement_WalkInPlaceDown
+ applymovement 36, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
- msgbox Route110_Text_1F0AFF, MSGBOX_DEFAULT
+ msgbox Route110_Text_HeardYouInstallMatchCall, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route110_Text_1F0C0C, MSGBOX_DEFAULT
+ msgbox Route110_Text_RegisteredBirchInPokenav, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_PROF_BIRCH_MATCH_CALL
- msgbox Route110_Text_1F0C33, MSGBOX_DEFAULT
+ msgbox Route110_Text_KeepAnEyeOutForRival, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_1EFB04
+ call_if_eq Route110_EventScript_BirchExit1
compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_1EFB0F
+ call_if_eq Route110_EventScript_BirchExit2
compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_1EFB1A
+ call_if_eq Route110_EventScript_BirchExit3
compare VAR_0x8008, 4
- call_if_eq Route110_EventScript_1EFB25
+ call_if_eq Route110_EventScript_BirchExit4
removeobject 36
setvar VAR_REGISTER_BIRCH_STATE, 2
releaseall
end
-Route110_EventScript_1EFAD8:: @ 81EFAD8
- applymovement 36, Route110_Movement_1EFB34
+Route110_EventScript_BirchApproachPlayer1:: @ 81EFAD8
+ applymovement 36, Route110_Movement_BirchApproachPlayer1
waitmovement 0
return
-Route110_EventScript_1EFAE3:: @ 81EFAE3
- applymovement 36, Route110_Movement_1EFB39
+Route110_EventScript_BirchApproachPlayer2:: @ 81EFAE3
+ applymovement 36, Route110_Movement_BirchApproachPlayer2
waitmovement 0
return
-Route110_EventScript_1EFAEE:: @ 81EFAEE
- applymovement 36, Route110_Movement_1EFB3D
+Route110_EventScript_BirchApproachPlayer3:: @ 81EFAEE
+ applymovement 36, Route110_Movement_BirchApproachPlayer3
waitmovement 0
return
-Route110_EventScript_1EFAF9:: @ 81EFAF9
- applymovement 36, Route110_Movement_1EFB40
+Route110_EventScript_BirchApproachPlayer4:: @ 81EFAF9
+ applymovement 36, Route110_Movement_BirchApproachPlayer4
waitmovement 0
return
-Route110_EventScript_1EFB04:: @ 81EFB04
- applymovement 36, Route110_Movement_1EFB44
+Route110_EventScript_BirchExit1:: @ 81EFB04
+ applymovement 36, Route110_Movement_BirchExit1
waitmovement 0
return
-Route110_EventScript_1EFB0F:: @ 81EFB0F
- applymovement 36, Route110_Movement_1EFB4B
+Route110_EventScript_BirchExit2:: @ 81EFB0F
+ applymovement 36, Route110_Movement_BirchExit2
waitmovement 0
return
-Route110_EventScript_1EFB1A:: @ 81EFB1A
- applymovement 36, Route110_Movement_1EFB51
+Route110_EventScript_BirchExit3:: @ 81EFB1A
+ applymovement 36, Route110_Movement_BirchExit3
waitmovement 0
return
-Route110_EventScript_1EFB25:: @ 81EFB25
- applymovement 36, Route110_Movement_1EFB57
+Route110_EventScript_BirchExit4:: @ 81EFB25
+ applymovement 36, Route110_Movement_BirchExit4
waitmovement 0
return
-Route110_Movement_1EFB30: @ 81EFB30
+Route110_Movement_BirchEntrance: @ 81EFB30
walk_down
walk_down
walk_down
step_end
-Route110_Movement_1EFB34: @ 81EFB34
+Route110_Movement_BirchApproachPlayer1: @ 81EFB34
walk_down
walk_left
walk_left
walk_down
step_end
-Route110_Movement_1EFB39: @ 81EFB39
+Route110_Movement_BirchApproachPlayer2: @ 81EFB39
walk_down
walk_left
walk_down
step_end
-Route110_Movement_1EFB3D: @ 81EFB3D
+Route110_Movement_BirchApproachPlayer3: @ 81EFB3D
walk_down
walk_down
step_end
-Route110_Movement_1EFB40: @ 81EFB40
+Route110_Movement_BirchApproachPlayer4: @ 81EFB40
walk_down
walk_right
walk_down
step_end
-Route110_Movement_1EFB44: @ 81EFB44
+Route110_Movement_BirchExit1: @ 81EFB44
walk_up
walk_up
walk_right
@@ -743,7 +743,7 @@ Route110_Movement_1EFB44: @ 81EFB44
walk_up
step_end
-Route110_Movement_1EFB4B: @ 81EFB4B
+Route110_Movement_BirchExit2: @ 81EFB4B
walk_up
walk_up
walk_up
@@ -751,7 +751,7 @@ Route110_Movement_1EFB4B: @ 81EFB4B
walk_up
step_end
-Route110_Movement_1EFB51: @ 81EFB51
+Route110_Movement_BirchExit3: @ 81EFB51
walk_up
walk_up
walk_up
@@ -759,7 +759,7 @@ Route110_Movement_1EFB51: @ 81EFB51
walk_up
step_end
-Route110_Movement_1EFB57: @ 81EFB57
+Route110_Movement_BirchExit4: @ 81EFB57
walk_up
walk_up
walk_up
@@ -767,40 +767,40 @@ Route110_Movement_1EFB57: @ 81EFB57
walk_up
step_end
-Route110_Text_1EFB5D: @ 81EFB5D
+Route110_Text_WeCantTalkAboutAquaActivities: @ 81EFB5D
.string "TEAM AQUA's activities…\n"
.string "We can't talk about them yet.$"
-Route110_Text_1EFB93: @ 81EFB93
+Route110_Text_KickUpARuckus: @ 81EFB93
.string "I want to get going to SLATEPORT and\n"
.string "kick up a ruckus!$"
-Route110_Text_1EFBCA: @ 81EFBCA
+Route110_Text_MyFirstJobInAqua: @ 81EFBCA
.string "This is my first job after joining\n"
.string "TEAM AQUA. It's a little scary.$"
-Route110_Text_1EFC0D: @ 81EFC0D
+Route110_Text_AquaActionsBringSmiles: @ 81EFC0D
.string "TEAM AQUA's actions should bring\n"
.string "smiles to people's faces!$"
-Route110_Text_1EFC48: @ 81EFC48
+Route110_Text_MayLetsBattle: @ 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
+Route110_Text_MayDefeated: @ 81EFCCB
.string "Yikes!\n"
.string "You're better than I expected!$"
-Route110_Text_1EFCF1: @ 81EFCF1
+Route110_Text_MayTakeThis: @ 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
+Route110_Text_MayExplainItemfinder: @ 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"
@@ -809,24 +809,24 @@ Route110_Text_1EFD58: @ 81EFD58
.string "me, but I think you should train a lot\l"
.string "harder for the next time.$"
-Route110_Text_1EFE3F: @ 81EFE3F
+Route110_Text_BrendayLetsBattle: @ 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
+Route110_Text_BrendanDefeated: @ 81EFEB4
.string "Hmm…\n"
.string "You're pretty good.$"
-Route110_Text_1EFECD: @ 81EFECD
+Route110_Text_BrendanTakeThis: @ 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
+Route110_Text_BrendanExplainItemfinder: @ 81EFF1C
.string "BRENDAN: That's an ITEMFINDER.\p"
.string "Use it to root around for items that\n"
.string "aren't visible.\p"
@@ -835,16 +835,16 @@ Route110_Text_1EFF1C: @ 81EFF1C
.string "Anyway, I'm off to look for new\n"
.string "POKéMON.$"
-Route110_Text_1EFFC3: @ 81EFFC3
+Route110_Text_RideBikeAtFullSpeed: @ 81EFFC3
.string "Wouldn't it be great to ride a BIKE\n"
.string "at full speed on CYCLING ROAD?$"
-Route110_Text_1F0006: @ 81F0006
+Route110_Text_HairStreamsBehindMe: @ 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
+Route110_Text_YouGotBikeFromRydel: @ 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"
@@ -861,139 +861,139 @@ Route110_Text_1F006A: @ 81F006A
.string "You should ride it around all over\n"
.string "the place--it's good advertising!$"
-Route110_Text_1F0261: @ 81F0261
+Route110_Text_TwoRoads: @ 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
+Route110_Text_WalkOnTheLowRoad: @ 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
+Route110_Text_BikeTechniques: @ 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
+Route110_Text_WhichShouldIChoose: @ 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
+Route110_Text_CyclingChallengeResultSummary: @ 81F03FF
.string "Number of collisions:\n"
.string "… … {STR_VAR_1}!\p"
.string "Total time:\n"
.string "… … {STR_VAR_2}!$"
-Route110_Text_1F0431: @ 81F0431
+Route110_Text_ChallengeReactionBest: @ 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
+Route110_Text_ChallengeReactionGood: @ 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
+Route110_Text_ChallengeReactionOk: @ 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
+Route110_Text_ChallengeReactionBad: @ 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
+Route110_Text_ChallengeReactionWorst: @ 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
+Route110_Text_RatedForNumberOfCollisions: @ 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
+Route110_Text_AlwaysAimHigher: @ 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
+Route110_Text_AcroBikesDoNotQualify: @ 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
+Route110_Text_SlateportCitySign: @ 81F0812
.string "ROUTE 110\n"
.string "{DOWN_ARROW} SLATEPORT CITY$"
-Route110_Text_1F082D: @ 81F082D
+Route110_Text_CyclingRoadSign: @ 81F082D
.string "SEASIDE CYCLING ROAD$"
-Route110_Text_1F0842: @ 81F0842
+Route110_Text_AquaWasHere: @ 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
+Route110_Text_Route103Sign: @ 81F08CD
.string "ROUTE 110\n"
.string "{LEFT_ARROW} ROUTE 103$"
-Route110_Text_1F08E3: @ 81F08E3
+Route110_Text_SeasideParkingSign: @ 81F08E3
.string "SEASIDE PARKING$"
-Route110_Text_1F08F3: @ 81F08F3
+Route110_Text_MauvilleCitySign: @ 81F08F3
.string "ROUTE 110\n"
.string "{UP_ARROW} MAUVILLE CITY$"
-Route110_Text_1F090D: @ 81F090D
+Route110_Text_TrainerTipsPrlzSleep: @ 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
+Route110_Text_TrainerTipsRegisterItems: @ 81F0992
.string "TRAINER TIPS\p"
.string "The items in the BAG can be reorganized\n"
.string "by pressing SELECT.$"
-Route110_Text_1F09DB: @ 81F09DB
+Route110_Text_TrickHouseSign: @ 81F09DB
.string "“Three steps {RIGHT_ARROW} and two steps {UP_ARROW}\n"
.string "to reach the wondrous TRICK HOUSE.”$"
-Route110_Text_1F0A1E: @ 81F0A1E
+Route110_Text_BestRecord: @ 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
+Route110_Text_ThereIsNoRecord: @ 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
+Route110_Text_ImagineSeeingYouHere: @ 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
+Route110_Text_HeardYouInstallMatchCall: @ 81F0AFF
.string "Oh, I see!\n"
.string "You two are running separately.\l"
.string "Well, that's fine.\p"
@@ -1005,11 +1005,11 @@ Route110_Text_1F0AFF: @ 81F0AFF
.string "I can rate your POKéDEX anytime.\p"
.string "… … … … … …$"
-Route110_Text_1F0C0C: @ 81F0C0C
+Route110_Text_RegisteredBirchInPokenav: @ 81F0C0C
.string "Registered PROF. BIRCH\n"
.string "in the POKéNAV.$"
-Route110_Text_1F0C33: @ 81F0C33
+Route110_Text_KeepAnEyeOutForRival: @ 81F0C33
.string "PROF. BIRCH: {PLAYER}{KUN}…\p"
.string "Please keep an eye out for my {RIVAL}.\n"
.string "… … … … … …\p"
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json
index b692426fd..f0aea1aec 100644
--- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json
+++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA78",
+ "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_Clerk",
"flag": "0"
}
],
@@ -66,7 +66,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84"
+ "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_BikeCheck"
},
{
"type": "trigger",
@@ -75,7 +75,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "1",
- "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EAB6"
+ "script": "Route110_SeasideCyclingRoadNorthEntrance_EventScript_ClearCyclingRoad"
}
],
"bg_events": []
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
index 687fff9a7..ba5dfd9f0 100644
--- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
@@ -1,49 +1,49 @@
Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: @ 826EA77
.byte 0
-Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA78:: @ 826EA78
+Route110_SeasideCyclingRoadNorthEntrance_EventScript_Clerk:: @ 826EA78
lock
faceplayer
- msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EAC1, MSGBOX_DEFAULT
+ msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_GoAllOutOnCyclingRoad, MSGBOX_DEFAULT
release
end
-Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84
+Route110_SeasideCyclingRoadNorthEntrance_EventScript_BikeCheck:: @ 826EA84
lockall
specialvar VAR_RESULT, GetPlayerAvatarBike
compare VAR_RESULT, 0
- goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F
+ goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike
setflag FLAG_SYS_CYCLING_ROAD
setvar VAR_TEMP_1, 1
releaseall
end
-Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F:: @ 826EA9F
- msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48, MSGBOX_DEFAULT
+Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike:: @ 826EA9F
+ msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_TooDangerousToWalk, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
-Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4: @ 826EAB4
+Route110_SeasideCyclingRoadNorthEntrance_Movement_PushPlayerBackFromCounter: @ 826EAB4
walk_left
step_end
-Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EAB6:: @ 826EAB6
+Route110_SeasideCyclingRoadNorthEntrance_EventScript_ClearCyclingRoad:: @ 826EAB6
lockall
clearflag FLAG_SYS_CYCLING_ROAD
setvar VAR_TEMP_1, 0
releaseall
end
-Route110_SeasideCyclingRoadNorthEntrance_Text_26EAC1: @ 826EAC1
+Route110_SeasideCyclingRoadNorthEntrance_Text_GoAllOutOnCyclingRoad: @ 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_SeasideCyclingRoadNorthEntrance_Text_26EB48: @ 826EB48
+Route110_SeasideCyclingRoadNorthEntrance_Text_TooDangerousToWalk: @ 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/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json
index dcc9029e5..6077876f7 100644
--- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json
+++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4",
+ "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_Clerk",
"flag": "0"
}
],
@@ -66,7 +66,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0"
+ "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_BikeCheck"
},
{
"type": "trigger",
@@ -75,7 +75,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "1",
- "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13"
+ "script": "Route110_SeasideCyclingRoadSouthEntrance_EventScript_ClearCyclingRoad"
}
],
"bg_events": []
diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
index 1d0ca55bb..4f839d72b 100644
--- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
@@ -4,51 +4,51 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1
Route110_SeasideCyclingRoadSouthEntrance_OnTransition: @ 826EBA7
compare VAR_CYCLING_CHALLENGE_STATE, 3
- call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE
+ call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge
compare VAR_CYCLING_CHALLENGE_STATE, 2
- call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE
+ call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge
end
-Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE
+Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge:: @ 826EBBE
setvar VAR_CYCLING_CHALLENGE_STATE, 1
return
-Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4:: @ 826EBC4
+Route110_SeasideCyclingRoadSouthEntrance_EventScript_Clerk:: @ 826EBC4
lock
faceplayer
- msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26EC23, MSGBOX_DEFAULT
+ msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_GoAllOutOnCyclingRoad, MSGBOX_DEFAULT
release
end
-Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0:: @ 826EBD0
+Route110_SeasideCyclingRoadSouthEntrance_EventScript_BikeCheck:: @ 826EBD0
lockall
specialvar VAR_RESULT, GetPlayerAvatarBike
compare VAR_RESULT, 2
- call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6
+ call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_OnMachBike
compare VAR_RESULT, 0
- goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC
+ goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_NoBike
setflag FLAG_SYS_CYCLING_ROAD
setvar VAR_TEMP_1, 1
releaseall
end
-Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6
+Route110_SeasideCyclingRoadSouthEntrance_EventScript_OnMachBike:: @ 826EBF6
setvar VAR_CYCLING_CHALLENGE_STATE, 1
return
-Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC
- msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA, MSGBOX_DEFAULT
+Route110_SeasideCyclingRoadSouthEntrance_EventScript_NoBike:: @ 826EBFC
+ msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_TooDangerousToWalk, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
-Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11: @ 826EC11
+Route110_SeasideCyclingRoadSouthEntrance_Movement_PushPlayerBackFromCounter: @ 826EC11
walk_left
step_end
-Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13:: @ 826EC13
+Route110_SeasideCyclingRoadSouthEntrance_EventScript_ClearCyclingRoad:: @ 826EC13
lockall
setvar VAR_CYCLING_CHALLENGE_STATE, 0
clearflag FLAG_SYS_CYCLING_ROAD
@@ -56,13 +56,13 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13:: @ 826EC13
releaseall
end
-Route110_SeasideCyclingRoadSouthEntrance_Text_26EC23: @ 826EC23
+Route110_SeasideCyclingRoadSouthEntrance_Text_GoAllOutOnCyclingRoad: @ 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_SeasideCyclingRoadSouthEntrance_Text_26ECAA: @ 826ECAA
+Route110_SeasideCyclingRoadSouthEntrance_Text_TooDangerousToWalk: @ 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/maps/Route110_TrickHouseCorridor/scripts.inc b/data/maps/Route110_TrickHouseCorridor/scripts.inc
index 80a6ac3dd..ad469bc48 100644
--- a/data/maps/Route110_TrickHouseCorridor/scripts.inc
+++ b/data/maps/Route110_TrickHouseCorridor/scripts.inc
@@ -3,6 +3,6 @@ Route110_TrickHouseCorridor_MapScripts:: @ 826B903
.byte 0
Route110_TrickHouseCorridor_OnTransition: @ 826B909
- setvar VAR_TRICK_HOUSE_STATE, 1
+ setvar VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 1
end
diff --git a/data/maps/Route110_TrickHouseEnd/map.json b/data/maps/Route110_TrickHouseEnd/map.json
index 62548fe8b..84233313b 100644
--- a/data/maps/Route110_TrickHouseEnd/map.json
+++ b/data/maps/Route110_TrickHouseEnd/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHouseEnd_EventScript_26AD17",
+ "script": "Route110_TrickHouseEnd_EventScript_TrickMaster",
"flag": "FLAG_HIDE_TRICK_HOUSE_END_MAN"
}
],
@@ -52,7 +52,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHouseEnd_EventScript_26B041"
+ "script": "Route110_TrickHouseEnd_EventScript_TrickMasterExitTrigger"
}
],
"bg_events": [
diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc
index 52a0f19f5..7fec5ffa7 100644
--- a/data/maps/Route110_TrickHouseEnd/scripts.inc
+++ b/data/maps/Route110_TrickHouseEnd/scripts.inc
@@ -1,321 +1,321 @@
Route110_TrickHouseEnd_MapScripts:: @ 826ACAF
- map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHouseEnd_MapScript1_26ACC4
+ map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHouseEnd_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEnd_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEnd_MapScript2_26ACF5
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEnd_MapScript2_26ACDE
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEnd_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEnd_OnWarp
.byte 0
-Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4
+Route110_TrickHouseEnd_OnResume: @ 826ACC4
compare VAR_TEMP_1, 1
- call_if_eq Route110_TrickHouseEnd_EventScript_26AD0D
+ call_if_eq Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile
end
Route110_TrickHouseEnd_OnTransition: @ 826ACD0
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
- special SetTrickHouseEndRoomFlag
+ special SetTrickHouseNuggetFlag
end
-Route110_TrickHouseEnd_MapScript2_26ACDE: @ 826ACDE
- map_script_2 VAR_TEMP_2, 0, Route110_TrickHouseEnd_EventScript_26ACE8
+Route110_TrickHouseEnd_OnWarp: @ 826ACDE
+ map_script_2 VAR_TEMP_2, 0, Route110_TrickHouseEnd_EventScript_SetTrickMasterPos
.2byte 0
-Route110_TrickHouseEnd_EventScript_26ACE8:: @ 826ACE8
+Route110_TrickHouseEnd_EventScript_SetTrickMasterPos:: @ 826ACE8
addobject 1
showobjectat 1, MAP_ROUTE110_TRICK_HOUSE_END
- turnobject 1, 4
+ turnobject 1, DIR_EAST
end
-Route110_TrickHouseEnd_MapScript2_26ACF5: @ 826ACF5
- map_script_2 VAR_TEMP_1, 0, Route110_TrickHouseEnd_EventScript_26ACFF
+Route110_TrickHouseEnd_OnFrame: @ 826ACF5
+ map_script_2 VAR_TEMP_1, 0, Route110_TrickHouseEnd_EventScript_CloseDoor
.2byte 0
-Route110_TrickHouseEnd_EventScript_26ACFF:: @ 826ACFF
+Route110_TrickHouseEnd_EventScript_CloseDoor:: @ 826ACFF
setvar VAR_TEMP_1, 1
- call Route110_TrickHouseEnd_EventScript_26AD0D
+ call Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile
special DrawWholeMapView
end
-Route110_TrickHouseEnd_EventScript_26AD0D:: @ 826AD0D
+Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile:: @ 826AD0D
setmetatile 10, 1, METATILE_GenericBuilding_TrickHouse_Door_Closed, 1
return
-Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17
+Route110_TrickHouseEnd_EventScript_TrickMaster:: @ 826AD17
lock
faceplayer
- msgbox Route110_TrickHouseEnd_Text_26B08D, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouveMadeItToMe, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
switch VAR_TRICK_HOUSE_LEVEL
- 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
+ case 0, Route110_TrickHouseEnd_EventScript_CompletedPuzzle1
+ case 1, Route110_TrickHouseEnd_EventScript_CompletedPuzzle2
+ case 2, Route110_TrickHouseEnd_EventScript_CompletedPuzzle3
+ case 3, Route110_TrickHouseEnd_EventScript_CompletedPuzzle4
+ case 4, Route110_TrickHouseEnd_EventScript_CompletedPuzzle5
+ case 5, Route110_TrickHouseEnd_EventScript_CompletedPuzzle6
+ case 6, Route110_TrickHouseEnd_EventScript_CompletedPuzzle7
+ case 7, Route110_TrickHouseEnd_EventScript_CompletedPuzzle8
end
-Route110_TrickHouseEnd_EventScript_26AD84:: @ 826AD84
- msgbox Route110_TrickHouseEnd_Text_26B0BC, MSGBOX_DEFAULT
- msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle1:: @ 826AD84
+ msgbox Route110_TrickHouseEnd_Text_AllNightToPlantTrees, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- giveitem_std ITEM_RARE_CANDY
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
+ giveitem ITEM_RARE_CANDY
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
- call Route110_TrickHouseEnd_EventScript_26AFCF
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
release
end
-Route110_TrickHouseEnd_EventScript_26ADC0:: @ 826ADC0
- msgbox Route110_TrickHouseEnd_Text_26B13B, MSGBOX_DEFAULT
- msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle2:: @ 826ADC0
+ msgbox Route110_TrickHouseEnd_Text_AllNightToMakeMaze, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- giveitem_std ITEM_TIMER_BALL
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
+ giveitem ITEM_TIMER_BALL
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
- call Route110_TrickHouseEnd_EventScript_26AFCF
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
release
end
-Route110_TrickHouseEnd_EventScript_26ADFC:: @ 826ADFC
- msgbox Route110_TrickHouseEnd_Text_26B1AD, MSGBOX_DEFAULT
- msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle3:: @ 826ADFC
+ msgbox Route110_TrickHouseEnd_Text_AllNightToPreparePanels, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- giveitem_std ITEM_HARD_STONE
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
+ giveitem ITEM_HARD_STONE
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
- call Route110_TrickHouseEnd_EventScript_26AFCF
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
release
end
-Route110_TrickHouseEnd_EventScript_26AE38:: @ 826AE38
- msgbox Route110_TrickHouseEnd_Text_26B223, MSGBOX_DEFAULT
- msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle4:: @ 826AE38
+ msgbox Route110_TrickHouseEnd_Text_AllNightToShoveBoulders, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- giveitem_std ITEM_SMOKE_BALL
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
+ giveitem ITEM_SMOKE_BALL
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
- call Route110_TrickHouseEnd_EventScript_26AFCF
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
release
end
-Route110_TrickHouseEnd_EventScript_26AE74:: @ 826AE74
- msgbox Route110_TrickHouseEnd_Text_26B293, MSGBOX_DEFAULT
- msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle5:: @ 826AE74
+ msgbox Route110_TrickHouseEnd_Text_AllNightToMakeMechadolls, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- giveitem_std ITEM_TM12
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
+ giveitem ITEM_TM12
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
- call Route110_TrickHouseEnd_EventScript_26AFCF
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
release
end
-Route110_TrickHouseEnd_EventScript_26AEB0:: @ 826AEB0
- msgbox Route110_TrickHouseEnd_Text_26B315, MSGBOX_DEFAULT
- msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle6:: @ 826AEB0
+ msgbox Route110_TrickHouseEnd_Text_AllNightToInstallDoors, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- giveitem_std ITEM_MAGNET
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
+ giveitem ITEM_MAGNET
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
- call Route110_TrickHouseEnd_EventScript_26AFCF
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
release
end
-Route110_TrickHouseEnd_EventScript_26AEEC:: @ 826AEEC
- msgbox Route110_TrickHouseEnd_Text_26B365, MSGBOX_DEFAULT
- msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle7:: @ 826AEEC
+ msgbox Route110_TrickHouseEnd_Text_AllNightSettingUpArrows, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- giveitem_std ITEM_PP_MAX
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
+ giveitem ITEM_PP_MAX
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
- call Route110_TrickHouseEnd_EventScript_26AFCF
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
release
end
-Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28
- msgbox Route110_TrickHouseEnd_Text_26B3AB, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_CompletedPuzzle8:: @ 826AF28
+ msgbox Route110_TrickHouseEnd_Text_AllNightPolishingFloors, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 1
- call_if_eq Route110_TrickHouseEnd_EventScript_26B015
- compare VAR_FACING, 2
- call_if_eq Route110_TrickHouseEnd_EventScript_26B020
- compare VAR_FACING, 3
- call_if_eq Route110_TrickHouseEnd_EventScript_26B02B
- compare VAR_FACING, 4
- call_if_eq Route110_TrickHouseEnd_EventScript_26B036
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwaySouth
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayNorth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayWest
+ compare VAR_FACING, DIR_EAST
+ call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayEast
delay 30
- msgbox Route110_TrickHouseEnd_Text_26B3FA, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_FountainOfIdeasRunDry, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
delay 30
- msgbox Route110_TrickHouseEnd_Text_26B485, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_DefeatedMePreferWhichTent, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- call Route110_TrickHouseEnd_EventScript_26AFA5
- compare VAR_RESULT, 0
- call_if_eq Route110_TrickHouseEnd_EventScript_26B002
- msgbox Route110_TrickHouseEnd_Text_26B69A, MSGBOX_DEFAULT
- call Route110_TrickHouseEnd_EventScript_26AFCF
- special ResetTrickHouseEndRoomFlag
+ call Route110_TrickHouseEnd_EventScript_ChooseTent
+ compare VAR_RESULT, FALSE
+ call_if_eq Route110_TrickHouseEnd_EventScript_NoRoomForTent
+ msgbox Route110_TrickHouseEnd_Text_LeavingOnJourney, MSGBOX_DEFAULT
+ call Route110_TrickHouseEnd_EventScript_TrickMasterExit
+ special ResetTrickHouseNuggetFlag
release
end
-Route110_TrickHouseEnd_EventScript_26AFA5:: @ 826AFA5
- multichoice 0, 0, 88, 1
+Route110_TrickHouseEnd_EventScript_ChooseTent:: @ 826AFA5
+ multichoice 0, 0, MULTI_TENT, 1
switch VAR_RESULT
- case 0, Route110_TrickHouseEnd_EventScript_26AFBF
- goto Route110_TrickHouseEnd_EventScript_26AFC7
+ case 0, Route110_TrickHouseEnd_EventScript_GiveRedTent
+ goto Route110_TrickHouseEnd_EventScript_GiveBlueTent
-Route110_TrickHouseEnd_EventScript_26AFBF:: @ 826AFBF
- givedecoration_std 31
+Route110_TrickHouseEnd_EventScript_GiveRedTent:: @ 826AFBF
+ givedecoration DECOR_RED_TENT
return
-Route110_TrickHouseEnd_EventScript_26AFC7:: @ 826AFC7
- givedecoration_std 32
+Route110_TrickHouseEnd_EventScript_GiveBlueTent:: @ 826AFC7
+ givedecoration DECOR_BLUE_TENT
return
-Route110_TrickHouseEnd_EventScript_26AFCF:: @ 826AFCF
- applymovement 1, Route110_TrickHouseEnd_Movement_269E36
+Route110_TrickHouseEnd_EventScript_TrickMasterExit:: @ 826AFCF
+ applymovement 1, Route110_TrickHouse_Movement_TrickMasterSpin
waitmovement 0
playse SE_W153
- applymovement 1, Route110_TrickHouseEnd_Movement_269E3F
+ applymovement 1, Route110_TrickHouse_Movement_TrickMasterJumpAway
waitmovement 0
removeobject 1
addvar VAR_TRICK_HOUSE_LEVEL, 1
return
-Route110_TrickHouseEnd_EventScript_26AFEF:: @ 826AFEF
+Route110_TrickHouseEnd_EventScript_BagFull:: @ 826AFEF
call Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEnd_Text_26B760, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_NoRoomForThis, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 1
return
-Route110_TrickHouseEnd_EventScript_26B002:: @ 826B002
- call Common_EventScript_NoRoomLeftForAnother
- msgbox Route110_TrickHouseEnd_Text_26B615, MSGBOX_DEFAULT
+Route110_TrickHouseEnd_EventScript_NoRoomForTent:: @ 826B002
+ call Common_EventScript_NoRoomForDecor
+ msgbox Route110_TrickHouseEnd_Text_NoRoomInPC, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 1
return
-Route110_TrickHouseEnd_EventScript_26B015:: @ 826B015
- applymovement 1, Common_Movement_WalkInPlaceDown
+Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwaySouth:: @ 826B015
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-Route110_TrickHouseEnd_EventScript_26B020:: @ 826B020
- applymovement 1, Common_Movement_WalkInPlaceUp
+Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayNorth:: @ 826B020
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-Route110_TrickHouseEnd_EventScript_26B02B:: @ 826B02B
- applymovement 1, Common_Movement_WalkInPlaceLeft
+Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayWest:: @ 826B02B
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-Route110_TrickHouseEnd_EventScript_26B036:: @ 826B036
- applymovement 1, Common_Movement_WalkInPlaceRight
+Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayEast:: @ 826B036
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041
+Route110_TrickHouseEnd_EventScript_TrickMasterExitTrigger:: @ 826B041
lockall
- turnobject 1, 3
+ turnobject 1, DIR_WEST
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
waitmovement 0
delay 20
- applymovement 1, Route110_TrickHouseEnd_Movement_26B08B
+ applymovement 1, Route110_TrickHouseEnd_Movement_TrickMasterSurprise
waitmovement 0
playse SE_W153
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox Route110_TrickHouseEnd_Text_26B8BD, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_YoureIgnoringMe, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_26B089
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_KeepPlayerInRoom
waitmovement 0
delay 4
- turnobject 1, 4
+ turnobject 1, DIR_EAST
releaseall
end
-Route110_TrickHouseEnd_Movement_26B089: @ 826B089
+Route110_TrickHouseEnd_Movement_KeepPlayerInRoom: @ 826B089
walk_down
step_end
-Route110_TrickHouseEnd_Movement_26B08B: @ 826B08B
+Route110_TrickHouseEnd_Movement_TrickMasterSurprise: @ 826B08B
jump_in_place_left
step_end
-Route110_TrickHouseEnd_Text_26B08D: @ 826B08D
+Route110_TrickHouseEnd_Text_YouveMadeItToMe: @ 826B08D
.string "Aak!\n"
.string "You've made it to me?\l"
.string "Hmmm… You're sharp!$"
-Route110_TrickHouseEnd_Text_26B0BC: @ 826B0BC
+Route110_TrickHouseEnd_Text_AllNightToPlantTrees: @ 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
+Route110_TrickHouseEnd_Text_AllNightToMakeMaze: @ 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
+Route110_TrickHouseEnd_Text_AllNightToPreparePanels: @ 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
+Route110_TrickHouseEnd_Text_AllNightToShoveBoulders: @ 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
+Route110_TrickHouseEnd_Text_AllNightToMakeMechadolls: @ 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
+Route110_TrickHouseEnd_Text_AllNightToInstallDoors: @ 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
+Route110_TrickHouseEnd_Text_AllNightSettingUpArrows: @ 826B365
.string "It took me all night setting up arrows…\p"
.string "You're my equal in greatness!$"
-Route110_TrickHouseEnd_Text_26B3AB: @ 826B3AB
+Route110_TrickHouseEnd_Text_AllNightPolishingFloors: @ 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
+Route110_TrickHouseEnd_Text_FountainOfIdeasRunDry: @ 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
+Route110_TrickHouseEnd_Text_DefeatedMePreferWhichTent: @ 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"
@@ -331,13 +331,13 @@ Route110_TrickHouseEnd_Text_26B485: @ 826B485
.string "a RED TENT and a BLUE TENT.\l"
.string "Which do you prefer?$"
-Route110_TrickHouseEnd_Text_26B615: @ 826B615
+Route110_TrickHouseEnd_Text_NoRoomInPC: @ 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
+Route110_TrickHouseEnd_Text_LeavingOnJourney: @ 826B69A
.string "… … … … … …\p"
.string "I am leaving on a journey of discovery.\n"
.string "A quest in search of new tricks.\p"
@@ -345,17 +345,17 @@ Route110_TrickHouseEnd_Text_26B69A: @ 826B69A
.string "entertain me again.\p"
.string "And now, farewell!$"
-Route110_TrickHouseEnd_Text_26B73D: @ 826B73D
+Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward: @ 826B73D
.string "Fine!\n"
.string "You have earned this reward!$"
-Route110_TrickHouseEnd_Text_26B760: @ 826B760
+Route110_TrickHouseEnd_Text_NoRoomForThis: @ 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
+Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou: @ 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"
@@ -363,7 +363,7 @@ Route110_TrickHouseEnd_Text_26B7EF: @ 826B7EF
.string "Come back for the next exciting\n"
.string "installment!$"
-Route110_TrickHouseEnd_Text_26B8BD: @ 826B8BD
+Route110_TrickHouseEnd_Text_YoureIgnoringMe: @ 826B8BD
.string "Now, now! You're ignoring me now?\n"
.string "Now that, I consider heartbreaking!$"
diff --git a/data/maps/Route110_TrickHouseEntrance/map.json b/data/maps/Route110_TrickHouseEntrance/map.json
index ce188feec..58ba81aea 100644
--- a/data/maps/Route110_TrickHouseEntrance/map.json
+++ b/data/maps/Route110_TrickHouseEntrance/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHouseEntrance_EventScript_269D3B",
+ "script": "Route110_TrickHouseEntrance_EventScript_TrickMaster",
"flag": "FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN"
}
],
@@ -57,36 +57,36 @@
"x": 4,
"y": 7,
"elevation": 3,
- "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1",
+ "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE",
"var_value": "0",
- "script": "Route110_TrickHouseEntrance_EventScript_26A3F8"
+ "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding"
},
{
"type": "trigger",
"x": 5,
"y": 6,
"elevation": 3,
- "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1",
+ "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE",
"var_value": "0",
- "script": "Route110_TrickHouseEntrance_EventScript_26A3F8"
+ "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding"
},
{
"type": "trigger",
"x": 6,
"y": 6,
"elevation": 3,
- "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1",
+ "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE",
"var_value": "0",
- "script": "Route110_TrickHouseEntrance_EventScript_26A3F8"
+ "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding"
},
{
"type": "trigger",
"x": 7,
"y": 7,
"elevation": 3,
- "var": "VAR_TRICK_HOUSE_ENTRANCE_STATE_1",
+ "var": "VAR_TRICK_HOUSE_BEING_WATCHED_STATE",
"var_value": "0",
- "script": "Route110_TrickHouseEntrance_EventScript_26A3F8"
+ "script": "Route110_TrickHouseEntrance_EventScript_TrickMasterHiding"
}
],
"bg_events": [
@@ -96,7 +96,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "Route110_TrickHouseEntrance_EventScript_26A0D3"
+ "script": "Route110_TrickHouseEntrance_EventScript_Door"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc
index 9c2fc3aec..06cd23651 100644
--- a/data/maps/Route110_TrickHouseEntrance/scripts.inc
+++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc
@@ -1,302 +1,310 @@
Route110_TrickHouseEntrance_MapScripts:: @ 8269A50
map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEntrance_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEntrance_MapScript2_269CEE
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEntrance_MapScript2_269BD3
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEntrance_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHouseEntrance_OnWarp
.byte 0
+ @ State descriptions for VAR_TRICK_HOUSE_ENTRANCE_STATE
+ @ 0: Trick Master is hiding
+ @ 1: Trick Master has left at start of challenge
+ @ 2: Trick Master ready to give normal reward from previous challenge (if bag was full)
+ @ 3: Trick Master still making next puzzle
+ @ 4: Finished final puzzle
+ @ 5: Completed previous challenge
+ @ 6: 'Trick Master' mechadoll ready to give Tent reward from final challenge (if bag was full)
+
Route110_TrickHouseEntrance_OnTransition: @ 8269A60
setflag FLAG_LANDMARK_TRICK_HOUSE
- compare VAR_TRICK_HOUSE_STATE, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269AF3
+ compare VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_EnterFromCorridor
compare VAR_TRICK_HOUSE_PRIZE_PICKUP, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269AD7
- compare VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269BB3
- compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B03
- compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B03
- compare VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B03
- switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3
- 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_TRICK_HOUSE_ENTRANCE_STATE_1, 1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_SetReadyToGiveReward
+ compare VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_MoveTrickMasterToDoor
+ compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 5
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
+ compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 3
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
+ compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 0
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
+ switch VAR_TRICK_HOUSE_ENTRANCE_STATE
+ case 0, Route110_TrickHouseEntrance_EventScript_ReadyBeingWatchedTrigger
+ case 1, Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched1
+ case 3, Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched2
+ case 4, Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched3
+ end
+
+Route110_TrickHouseEntrance_EventScript_SetReadyToGiveReward:: @ 8269AD7
+ setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
compare VAR_TRICK_HOUSE_LEVEL, 8
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269AED
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 2
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_ReadyToGiveTentReward
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 2
end
-Route110_TrickHouseEntrance_EventScript_269AED:: @ 8269AED
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 6
+Route110_TrickHouseEntrance_EventScript_ReadyToGiveTentReward:: @ 8269AED
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 6
end
-Route110_TrickHouseEntrance_EventScript_269AF3:: @ 8269AF3
- setvar VAR_TRICK_HOUSE_STATE, 0
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1
+Route110_TrickHouseEntrance_EventScript_EnterFromCorridor:: @ 8269AF3
+ setvar VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 0
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 5
+ setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
end
-Route110_TrickHouseEntrance_EventScript_269B03:: @ 8269B03
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0
+Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle:: @ 8269B03
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 0
compare VAR_TRICK_HOUSE_LEVEL, 1
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B61
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle2
compare VAR_TRICK_HOUSE_LEVEL, 2
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B6B
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle3
compare VAR_TRICK_HOUSE_LEVEL, 3
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B75
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle4
compare VAR_TRICK_HOUSE_LEVEL, 4
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B7F
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle5
compare VAR_TRICK_HOUSE_LEVEL, 5
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B89
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle6
compare VAR_TRICK_HOUSE_LEVEL, 6
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B93
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle7
compare VAR_TRICK_HOUSE_LEVEL, 7
- call_if_eq Route110_TrickHouseEntrance_EventScript_269B9D
+ call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle8
compare VAR_TRICK_HOUSE_LEVEL, 8
- call_if_eq Route110_TrickHouseEntrance_EventScript_269BA7
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FinishedPuzzles
return
-Route110_TrickHouseEntrance_EventScript_269B61:: @ 8269B61
- call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_269BAD
+Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle2:: @ 8269B61
+ call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle
return
-Route110_TrickHouseEntrance_EventScript_269B6B:: @ 8269B6B
- call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_269BAD
+Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle3:: @ 8269B6B
+ call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle
return
-Route110_TrickHouseEntrance_EventScript_269B75:: @ 8269B75
- call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_269BAD
+Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle4:: @ 8269B75
+ call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle
return
-Route110_TrickHouseEntrance_EventScript_269B7F:: @ 8269B7F
- call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_269BAD
+Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle5:: @ 8269B7F
+ call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle
return
-Route110_TrickHouseEntrance_EventScript_269B89:: @ 8269B89
- call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_269BAD
+Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle6:: @ 8269B89
+ call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle
return
-Route110_TrickHouseEntrance_EventScript_269B93:: @ 8269B93
- call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_269BAD
+Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle7:: @ 8269B93
+ call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle
return
-Route110_TrickHouseEntrance_EventScript_269B9D:: @ 8269B9D
- call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_269BAD
+Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle8:: @ 8269B9D
+ call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle
return
-Route110_TrickHouseEntrance_EventScript_269BA7:: @ 8269BA7
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 4
+Route110_TrickHouseEntrance_EventScript_FinishedPuzzles:: @ 8269BA7
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 4
return
-Route110_TrickHouseEntrance_EventScript_269BAD:: @ 8269BAD
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3
+Route110_TrickHouseEntrance_EventScript_NotReadyForPuzzle:: @ 8269BAD
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 3
return
-Route110_TrickHouseEntrance_EventScript_269BB3:: @ 8269BB3
+Route110_TrickHouseEntrance_EventScript_MoveTrickMasterToDoor:: @ 8269BB3
setobjectxyperm 1, 5, 2
end
-Route110_TrickHouseEntrance_EventScript_269BBB:: @ 8269BBB
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 0
+Route110_TrickHouseEntrance_EventScript_ReadyBeingWatchedTrigger:: @ 8269BBB
+ setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 0
end
-Route110_TrickHouseEntrance_EventScript_269BC1:: @ 8269BC1
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1
+Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched1:: @ 8269BC1
+ setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
end
-Route110_TrickHouseEntrance_EventScript_269BC7:: @ 8269BC7
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1
+Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched2:: @ 8269BC7
+ setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
end
-Route110_TrickHouseEntrance_EventScript_269BCD:: @ 8269BCD
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1
+Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched3:: @ 8269BCD
+ setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
end
-Route110_TrickHouseEntrance_MapScript2_269BD3: @ 8269BD3
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1, Route110_TrickHouseEntrance_EventScript_269C15
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 0, Route110_TrickHouseEntrance_EventScript_269C26
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 1, Route110_TrickHouseEntrance_EventScript_269CCC
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 2, Route110_TrickHouseEntrance_EventScript_269CD0
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3, Route110_TrickHouseEntrance_EventScript_269CD0
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 4, Route110_TrickHouseEntrance_EventScript_269CCC
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5, Route110_TrickHouseEntrance_EventScript_269CCC
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 6, Route110_TrickHouseEntrance_EventScript_269CDF
+Route110_TrickHouseEntrance_OnWarp: @ 8269BD3
+ map_script_2 VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1, Route110_TrickHouseEntrance_EventScript_TrickMasterFound
+ map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 0, Route110_TrickHouseEntrance_EventScript_SetTrickMasterHidingSpot
+ map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 1, Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster
+ map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 2, Route110_TrickHouseEntrance_EventScript_SetTrickMasterFacingDoor
+ map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 3, Route110_TrickHouseEntrance_EventScript_SetTrickMasterFacingDoor
+ map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 4, Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster
+ map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 5, Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster
+ map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE, 6, Route110_TrickHouseEntrance_EventScript_SetTrickMasterInFrontOfDoor
.2byte 0
-Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15
+Route110_TrickHouseEntrance_EventScript_TrickMasterFound:: @ 8269C15
addobject 1
showobjectat 1, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
- turnobject 1, 4
- turnobject EVENT_OBJ_ID_PLAYER, 3
+ turnobject 1, DIR_EAST
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_WEST
end
-Route110_TrickHouseEntrance_EventScript_269C26:: @ 8269C26
+Route110_TrickHouseEntrance_EventScript_SetTrickMasterHidingSpot:: @ 8269C26
addobject 1
hideobjectat 1, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
switch VAR_TRICK_HOUSE_LEVEL
- 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
+ case 0, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle1
+ case 1, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle2
+ case 2, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle3
+ case 3, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle4
+ case 4, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle5
+ case 5, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle6
+ case 6, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle7
+ case 7, Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle8
end
-Route110_TrickHouseEntrance_EventScript_269C8C:: @ 8269C8C
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle1:: @ 8269C8C
setobjectxy 1, 6, 3
end
-Route110_TrickHouseEntrance_EventScript_269C94:: @ 8269C94
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle2:: @ 8269C94
setobjectxy 1, 11, 5
end
-Route110_TrickHouseEntrance_EventScript_269C9C:: @ 8269C9C
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle3:: @ 8269C9C
setobjectxy 1, 9, 1
end
-Route110_TrickHouseEntrance_EventScript_269CA4:: @ 8269CA4
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle4:: @ 8269CA4
setobjectxy 1, 3, 1
end
-Route110_TrickHouseEntrance_EventScript_269CAC:: @ 8269CAC
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle5:: @ 8269CAC
setobjectxy 1, 0, 5
end
-Route110_TrickHouseEntrance_EventScript_269CB4:: @ 8269CB4
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle6:: @ 8269CB4
setobjectxy 1, 11, 1
end
-Route110_TrickHouseEntrance_EventScript_269CBC:: @ 8269CBC
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle7:: @ 8269CBC
setobjectxy 1, 8, 1
end
-Route110_TrickHouseEntrance_EventScript_269CC4:: @ 8269CC4
+Route110_TrickHouseEntrance_EventScript_SetHidingSpotPuzzle8:: @ 8269CC4
setobjectxy 1, 4, 4
end
-Route110_TrickHouseEntrance_EventScript_269CCC:: @ 8269CCC
+Route110_TrickHouseEntrance_EventScript_RemoveTrickMaster:: @ 8269CCC
removeobject 1
end
-Route110_TrickHouseEntrance_EventScript_269CD0:: @ 8269CD0
+Route110_TrickHouseEntrance_EventScript_SetTrickMasterFacingDoor:: @ 8269CD0
addobject 1
setobjectxy 1, 5, 2
- turnobject 1, 2
+ turnobject 1, DIR_NORTH
end
-Route110_TrickHouseEntrance_EventScript_269CDF:: @ 8269CDF
+Route110_TrickHouseEntrance_EventScript_SetTrickMasterInFrontOfDoor:: @ 8269CDF
addobject 1
setobjectxy 1, 5, 2
- turnobject 1, 1
+ turnobject 1, DIR_SOUTH
end
-Route110_TrickHouseEntrance_MapScript2_269CEE: @ 8269CEE
- map_script_2 VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1, Route110_TrickHouseEntrance_EventScript_269CF8
+Route110_TrickHouseEntrance_OnFrame: @ 8269CEE
+ map_script_2 VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1, Route110_TrickHouseEntrance_EventScript_BeginChallenge
.2byte 0
-Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8
+Route110_TrickHouseEntrance_EventScript_BeginChallenge:: @ 8269CF8
lockall
delay 20
compare VAR_TRICK_HOUSE_LEVEL, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_269E48
- msgbox Route110_TrickHouseEntrance_Text_26A78C, MSGBOX_DEFAULT
+ call_if_eq Route110_TrickHouseEntrance_EventScript_MeetTrickMaster
+ msgbox Route110_TrickHouseEntrance_Text_ComeToChallengeTrickHouse, MSGBOX_DEFAULT
closemessage
delay 20
- applymovement 1, Route110_TrickHouseEntrance_Movement_269E36
+ applymovement 1, Route110_TrickHouse_Movement_TrickMasterSpin
waitmovement 0
playse SE_W153
- applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F
+ applymovement 1, Route110_TrickHouse_Movement_TrickMasterJumpAway
waitmovement 0
removeobject 1
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 1
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 0
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 1
+ setvar VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 0
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269D39:: @ 8269D39
+Route110_TrickHouseEntrance_EventScript_UnusedRelease:: @ 8269D39
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269D3B:: @ 8269D3B
+Route110_TrickHouseEntrance_EventScript_TrickMaster:: @ 8269D3B
lockall
- switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3
- case 0, Route110_TrickHouseEntrance_EventScript_269D6E
- case 2, Route110_TrickHouseEntrance_EventScript_269E8F
- case 3, Route110_TrickHouseEntrance_EventScript_269E51
- case 6, Route110_TrickHouseEntrance_EventScript_26A039
+ switch VAR_TRICK_HOUSE_ENTRANCE_STATE
+ case 0, Route110_TrickHouseEntrance_EventScript_FoundTrickMaster
+ case 2, Route110_TrickHouseEntrance_EventScript_GiveReward
+ case 3, Route110_TrickHouseEntrance_EventScript_StillMakingPuzzle
+ case 6, Route110_TrickHouseEntrance_EventScript_MechadollReward
end
-Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E
+Route110_TrickHouseEntrance_EventScript_FoundTrickMaster:: @ 8269D6E
playse SE_PIN
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_ExclamationMark
waitmovement 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay48
waitmovement 0
compare VAR_TRICK_HOUSE_LEVEL, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_269DEE
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeneathDesk
compare VAR_TRICK_HOUSE_LEVEL, 1
- call_if_eq Route110_TrickHouseEntrance_EventScript_269DF7
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBehindTree
compare VAR_TRICK_HOUSE_LEVEL, 2
- call_if_eq Route110_TrickHouseEntrance_EventScript_269E00
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInDresser
compare VAR_TRICK_HOUSE_LEVEL, 3
- call_if_eq Route110_TrickHouseEntrance_EventScript_269E09
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeyondWindow
compare VAR_TRICK_HOUSE_LEVEL, 4
- call_if_eq Route110_TrickHouseEntrance_EventScript_269E12
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInPlanter
compare VAR_TRICK_HOUSE_LEVEL, 5
- call_if_eq Route110_TrickHouseEntrance_EventScript_269E1B
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInCupboard
compare VAR_TRICK_HOUSE_LEVEL, 6
- call_if_eq Route110_TrickHouseEntrance_EventScript_269E24
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBehindWindow
compare VAR_TRICK_HOUSE_LEVEL, 7
- call_if_eq Route110_TrickHouseEntrance_EventScript_269E2D
+ call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeneathCushion
closemessage
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_2, 1
+ setvar VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1
warpsilent MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 255, 6, 2
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269DEE:: @ 8269DEE
- msgbox Route110_TrickHouseEntrance_Text_26A48A, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundBeneathDesk:: @ 8269DEE
+ msgbox Route110_TrickHouseEntrance_Text_ConcealedBeneathDesk, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269DF7:: @ 8269DF7
- msgbox Route110_TrickHouseEntrance_Text_26A4DA, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundBehindTree:: @ 8269DF7
+ msgbox Route110_TrickHouseEntrance_Text_ConcealedBehindTree, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269E00:: @ 8269E00
- msgbox Route110_TrickHouseEntrance_Text_26A529, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundInDresser:: @ 8269E00
+ msgbox Route110_TrickHouseEntrance_Text_ConcealedInDresser, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269E09:: @ 8269E09
- msgbox Route110_TrickHouseEntrance_Text_26A577, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundBeyondWindow:: @ 8269E09
+ msgbox Route110_TrickHouseEntrance_Text_ConealedBeyondWindow, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269E12:: @ 8269E12
- msgbox Route110_TrickHouseEntrance_Text_26A5C8, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundInPlanter:: @ 8269E12
+ msgbox Route110_TrickHouseEntrance_Text_ConcealedInPlanter, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269E1B:: @ 8269E1B
- msgbox Route110_TrickHouseEntrance_Text_26A616, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundInCupboard:: @ 8269E1B
+ msgbox Route110_TrickHouseEntrance_Text_ConcealedInCupboard, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269E24:: @ 8269E24
- msgbox Route110_TrickHouseEntrance_Text_26A665, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundBehindWindow:: @ 8269E24
+ msgbox Route110_TrickHouseEntrance_Text_ConcealedBehindWindow, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269E2D:: @ 8269E2D
- msgbox Route110_TrickHouseEntrance_Text_26A6B6, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_FoundBeneathCushion:: @ 8269E2D
+ msgbox Route110_TrickHouseEntrance_Text_ConcealedBeneathCushion, MSGBOX_DEFAULT
return
-Route110_TrickHouseEnd_Movement_269E36: @ 8269E36
-Route110_TrickHouseEntrance_Movement_269E36: @ 8269E36
+Route110_TrickHouse_Movement_TrickMasterSpin: @ 8269E36
face_up
delay_4
face_left
@@ -307,8 +315,7 @@ Route110_TrickHouseEntrance_Movement_269E36: @ 8269E36
delay_4
step_end
-Route110_TrickHouseEnd_Movement_269E3F: @ 8269E3F
-Route110_TrickHouseEntrance_Movement_269E3F: @ 8269E3F
+Route110_TrickHouse_Movement_TrickMasterJumpAway: @ 8269E3F
face_up
disable_anim
slide_up
@@ -319,12 +326,12 @@ Route110_TrickHouseEntrance_Movement_269E3F: @ 8269E3F
slide_up
step_end
-Route110_TrickHouseEntrance_EventScript_269E48:: @ 8269E48
- msgbox Route110_TrickHouseEntrance_Text_26A709, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_MeetTrickMaster:: @ 8269E48
+ msgbox Route110_TrickHouseEntrance_Text_TheyCallMeTrickMaster, MSGBOX_DEFAULT
return
-Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51
- msgbox Route110_TrickHouseEntrance_Text_26A921, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_StillMakingPuzzle:: @ 8269E51
+ msgbox Route110_TrickHouseEntrance_Text_NextTimeUseThisTrick, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
@@ -333,280 +340,280 @@ Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51
waitmovement 0
applymovement 1, Common_Movement_Delay48
waitmovement 0
- msgbox Route110_TrickHouseEntrance_Text_26A9AF, MSGBOX_DEFAULT
- applymovement 1, Common_Movement_WalkInPlaceUp
+ msgbox Route110_TrickHouseEntrance_Text_InMidstOfDevisingNewChallenges, MSGBOX_DEFAULT
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F
+Route110_TrickHouseEntrance_EventScript_GiveReward:: @ 8269E8F
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox Route110_TrickHouseEntrance_Text_26AA82, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_YoureHereToAcceptReward, MSGBOX_DEFAULT
compare VAR_TRICK_HOUSE_LEVEL, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269EEF
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle1Reward
compare VAR_TRICK_HOUSE_LEVEL, 2
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269F1B
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle2Reward
compare VAR_TRICK_HOUSE_LEVEL, 3
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269F47
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle3Reward
compare VAR_TRICK_HOUSE_LEVEL, 4
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269F73
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward
compare VAR_TRICK_HOUSE_LEVEL, 5
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269F9F
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward
compare VAR_TRICK_HOUSE_LEVEL, 6
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269FCB
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle6Reward
compare VAR_TRICK_HOUSE_LEVEL, 7
- goto_if_eq Route110_TrickHouseEntrance_EventScript_269FF7
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle7Reward
end
-Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF
- giveitem_std ITEM_RARE_CANDY
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
- compare VAR_RESULT, 0
+Route110_TrickHouseEntrance_EventScript_GivePuzzle1Reward:: @ 8269EEF
+ giveitem ITEM_RARE_CANDY
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
+ compare VAR_RESULT, FALSE
call_if_eq Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B
- giveitem_std ITEM_TIMER_BALL
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
- compare VAR_RESULT, 0
+Route110_TrickHouseEntrance_EventScript_GivePuzzle2Reward:: @ 8269F1B
+ giveitem ITEM_TIMER_BALL
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
+ compare VAR_RESULT, FALSE
call_if_eq Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47
- giveitem_std ITEM_HARD_STONE
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
- compare VAR_RESULT, 0
+Route110_TrickHouseEntrance_EventScript_GivePuzzle3Reward:: @ 8269F47
+ giveitem ITEM_HARD_STONE
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
+ compare VAR_RESULT, FALSE
call_if_eq Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73
- giveitem_std ITEM_SMOKE_BALL
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
- compare VAR_RESULT, 0
+Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward:: @ 8269F73
+ giveitem ITEM_SMOKE_BALL
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
+ compare VAR_RESULT, FALSE
call_if_eq Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F
- giveitem_std ITEM_TM12
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
- compare VAR_RESULT, 0
+Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward:: @ 8269F9F
+ giveitem ITEM_TM12
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
+ compare VAR_RESULT, FALSE
call_if_eq Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB
- giveitem_std ITEM_MAGNET
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
- compare VAR_RESULT, 0
+Route110_TrickHouseEntrance_EventScript_GivePuzzle6Reward:: @ 8269FCB
+ giveitem ITEM_MAGNET
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
+ compare VAR_RESULT, FALSE
call_if_eq Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7
- giveitem_std ITEM_PP_MAX
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
- compare VAR_RESULT, 0
+Route110_TrickHouseEntrance_EventScript_GivePuzzle7Reward:: @ 8269FF7
+ giveitem ITEM_PP_MAX
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
+ compare VAR_RESULT, FALSE
call_if_eq Common_EventScript_BagIsFull
- msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A023:: @ 826A023
+Route110_TrickHouseEntrance_EventScript_GotReward:: @ 826A023
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 3
- applymovement 1, Common_Movement_WalkInPlaceUp
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 3
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A039:: @ 826A039
+Route110_TrickHouseEntrance_EventScript_MechadollReward:: @ 826A039
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox Route110_TrickHouseEntrance_Text_26AB2C, MSGBOX_DEFAULT
- call Route110_TrickHouseEntrance_EventScript_26A070
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A09A
- compare VAR_RESULT, 0
- call_if_eq Common_EventScript_NoRoomLeftForAnother
- msgbox Route110_TrickHouseEntrance_Text_26ABBD, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_MechadollWhichTent, MSGBOX_DEFAULT
+ call Route110_TrickHouseEntrance_EventScript_ChooseTent
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_ReceivedTent
+ compare VAR_RESULT, FALSE
+ call_if_eq Common_EventScript_NoRoomForDecor
+ msgbox Route110_TrickHouseEntrance_Text_PCFullAgain, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A070:: @ 826A070
- multichoice 0, 0, 88, 1
+Route110_TrickHouseEntrance_EventScript_ChooseTent:: @ 826A070
+ multichoice 0, 0, MULTI_TENT, 1
switch VAR_RESULT
- case 0, Route110_TrickHouseEntrance_EventScript_26A08A
- goto Route110_TrickHouseEntrance_EventScript_26A092
+ case 0, Route110_TrickHouseEntrance_EventScript_GiveRedTent
+ goto Route110_TrickHouseEntrance_EventScript_GiveBlueTent
-Route110_TrickHouseEntrance_EventScript_26A08A:: @ 826A08A
- givedecoration_std 31
+Route110_TrickHouseEntrance_EventScript_GiveRedTent:: @ 826A08A
+ givedecoration DECOR_RED_TENT
return
-Route110_TrickHouseEntrance_EventScript_26A092:: @ 826A092
- givedecoration_std 32
+Route110_TrickHouseEntrance_EventScript_GiveBlueTent:: @ 826A092
+ givedecoration DECOR_BLUE_TENT
return
-Route110_TrickHouseEntrance_EventScript_26A09A:: @ 826A09A
- msgbox Route110_TrickHouseEntrance_Text_26ABAE, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_ReceivedTent:: @ 826A09A
+ msgbox Route110_TrickHouseEntrance_Text_ThenFarewell, MSGBOX_DEFAULT
closemessage
- applymovement 1, Route110_TrickHouseEntrance_Movement_26D632
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_MechadollShake
waitmovement 0
- applymovement 1, Route110_TrickHouseEntrance_Movement_269E36
+ applymovement 1, Route110_TrickHouse_Movement_TrickMasterSpin
waitmovement 0
playse SE_W153
- applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F
+ applymovement 1, Route110_TrickHouse_Movement_TrickMasterJumpAway
waitmovement 0
removeobject 1
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_3, 5
+ setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 5
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A0D3:: @ 826A0D3
+Route110_TrickHouseEntrance_EventScript_Door:: @ 826A0D3
lockall
- switch VAR_TRICK_HOUSE_ENTRANCE_STATE_3
- case 0, Route110_TrickHouseEntrance_EventScript_26A106
- case 1, Route110_TrickHouseEntrance_EventScript_26A110
- case 4, Route110_TrickHouseEntrance_EventScript_26A201
- case 5, Route110_TrickHouseEntrance_EventScript_26A20B
+ switch VAR_TRICK_HOUSE_ENTRANCE_STATE
+ case 0, Route110_TrickHouseEntrance_EventScript_ItsAScroll
+ case 1, Route110_TrickHouseEntrance_EventScript_GoInHolePrompt
+ case 4, Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote
+ case 5, Route110_TrickHouseEntrance_EventScript_CheckLevelForMessage
end
-Route110_TrickHouseEntrance_EventScript_26A106:: @ 826A106
- msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_ItsAScroll:: @ 826A106
+ msgbox Route110_TrickHouseEntrance_Text_ItsAScroll, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A110:: @ 826A110
- msgbox Route110_TrickHouseEntrance_Text_26A887, MSGBOX_YESNO
+Route110_TrickHouseEntrance_EventScript_GoInHolePrompt:: @ 826A110
+ msgbox Route110_TrickHouseEntrance_Text_GoInHoleBehindScroll, MSGBOX_YESNO
closemessage
- compare VAR_RESULT, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A126
+ compare VAR_RESULT, YES
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom:: @ 826A126
setmetatile 5, 1, METATILE_GenericBuilding_TrickHouse_Stairs_Down, 0
special DrawWholeMapView
delay 20
- applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_2725C9
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_26A1A7
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_EnterRoom
waitmovement 0
switch VAR_TRICK_HOUSE_LEVEL
- 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
+ case 0, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom1
+ case 1, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom2
+ case 2, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom3
+ case 3, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom4
+ case 4, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom5
+ case 5, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom6
+ case 6, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom7
+ case 7, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom8
end
-Route110_TrickHouseEntrance_Movement_26A1A7: @ 826A1A7
+Route110_TrickHouseEntrance_Movement_EnterRoom: @ 826A1A7
set_invisible
step_end
-Route110_TrickHouseEntrance_EventScript_26A1A9:: @ 826A1A9
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom1:: @ 826A1A9
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE1, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A1B4:: @ 826A1B4
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom2:: @ 826A1B4
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE2, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A1BF:: @ 826A1BF
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom3:: @ 826A1BF
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE3, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A1CA:: @ 826A1CA
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom4:: @ 826A1CA
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE4, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A1D5:: @ 826A1D5
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom5:: @ 826A1D5
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A1E0:: @ 826A1E0
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom6:: @ 826A1E0
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE6, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A1EB:: @ 826A1EB
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom7:: @ 826A1EB
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A1F6:: @ 826A1F6
+Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom8:: @ 826A1F6
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE8, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201
- msgbox Route110_TrickHouseEntrance_Text_26A8BD, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote:: @ 826A201
+ msgbox Route110_TrickHouseEntrance_Text_LeavingOnJourneyNote, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B
+Route110_TrickHouseEntrance_EventScript_CheckLevelForMessage:: @ 826A20B
compare VAR_TRICK_HOUSE_LEVEL, 8
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A220
- msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote2
+ msgbox Route110_TrickHouseEntrance_Text_ItsAScroll, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A220:: @ 826A220
- msgbox Route110_TrickHouseEntrance_Text_26A8BD, MSGBOX_DEFAULT
+Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote2:: @ 826A220
+ msgbox Route110_TrickHouseEntrance_Text_LeavingOnJourneyNote, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A
+Route110_TrickHousePuzzle_EventScript_Door:: @ 826A22A
lockall
switch VAR_TRICK_HOUSE_LEVEL
- 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
+ case 0, Route110_TrickHousePuzzle1_EventScript_Door
+ case 1, Route110_TrickHousePuzzle2_EventScript_Door
+ case 2, Route110_TrickHousePuzzle3_EventScript_Door
+ case 3, Route110_TrickHousePuzzle4_EventScript_Door
+ case 4, Route110_TrickHousePuzzle5_EventScript_Door
+ case 5, Route110_TrickHousePuzzle6_EventScript_Door
+ case 6, Route110_TrickHousePuzzle7_EventScript_Door
+ case 7, Route110_TrickHousePuzzle8_EventScript_Door
end
-Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289
+Route110_TrickHousePuzzle1_EventScript_Door:: @ 826A289
compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle1_Text_26B98D, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle1_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_1_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -614,10 +621,10 @@ Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2
+Route110_TrickHousePuzzle2_EventScript_Door:: @ 826A2B2
compare VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle2_Text_26BCBA, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle2_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_2_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -625,10 +632,10 @@ Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB
+Route110_TrickHousePuzzle3_EventScript_Door:: @ 826A2DB
compare VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle3_Text_26C609, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle3_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_3_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -636,10 +643,10 @@ Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304
+Route110_TrickHousePuzzle4_EventScript_Door:: @ 826A304
compare VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle4_Text_26C8C3, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle4_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_4_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -647,10 +654,10 @@ Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D
+Route110_TrickHousePuzzle5_EventScript_Door:: @ 826A32D
compare VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle5_Text_26D660, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle5_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_5_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -658,10 +665,10 @@ Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356
+Route110_TrickHousePuzzle6_EventScript_Door:: @ 826A356
compare VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle6_Text_26DE26, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle6_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_6_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -669,10 +676,10 @@ Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F
+Route110_TrickHousePuzzle7_EventScript_Door:: @ 826A37F
compare VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle7_EventScript_26E413, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -680,10 +687,10 @@ Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8
+Route110_TrickHousePuzzle8_EventScript_Door:: @ 826A3A8
compare VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0
- goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle8_EventScript_26E864, MSGBOX_DEFAULT
+ goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ msgbox Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_8_STATE, 2
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
@@ -691,123 +698,106 @@ Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A3D1:: @ 826A3D1
- msgbox Route110_TrickHouseEntrance_Text_26AC4F, MSGBOX_DEFAULT
+Route110_TrickHousePuzzle_EventScript_DoorLocked:: @ 826A3D1
+ msgbox Route110_TrickHouseEntrance_Text_DoorLockedWriteSecretCodeHere, MSGBOX_DEFAULT
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, MSGBOX_DEFAULT
+Route110_TrickHousePuzzle_EventScript_ReadScrollAgain:: @ 826A3DB
+ msgbox Route110_TrickHousePuzzle_Text_SecretCodeWrittenOnIt, MSGBOX_DEFAULT
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
+Route110_TrickHousePuzzle_EventScript_FoundScroll:: @ 826A3E5
playfanfare MUS_FANFA4
- message Route110_TrickHousePuzzle1_Text_26ABE8
+ message Route110_TrickHousePuzzle_Text_FoundAScroll
waitfanfare
- msgbox Route110_TrickHousePuzzle1_Text_26ABFB, MSGBOX_DEFAULT
+ msgbox Route110_TrickHousePuzzle_Text_MemorizedSecretCode, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8
+Route110_TrickHouseEntrance_EventScript_TrickMasterHiding:: @ 826A3F8
lockall
- msgbox Route110_TrickHouseEntrance_Text_26A474, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEntrance_Text_YoureBeingWatched, MSGBOX_DEFAULT
releaseall
compare VAR_TRICK_HOUSE_LEVEL, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_26A429
+ call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle1
compare VAR_TRICK_HOUSE_LEVEL, 1
- call_if_eq Route110_TrickHouseEntrance_EventScript_26A439
+ call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle2
compare VAR_TRICK_HOUSE_LEVEL, 2
- call_if_eq Route110_TrickHouseEntrance_EventScript_26A449
- setvar VAR_TRICK_HOUSE_ENTRANCE_STATE_1, 1
+ call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle3
+ setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
end
-Route110_TrickHouseEntrance_EventScript_26A429:: @ 826A429
- setvar VAR_0x8004, 6
- setvar VAR_0x8005, 3
- call Route110_TrickHouseEntrance_EventScript_26A459
+Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle1:: @ 826A429
+ setvar VAR_0x8004, 6 @ x
+ setvar VAR_0x8005, 3 @ y
+ call Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle
return
-Route110_TrickHouseEntrance_EventScript_26A439:: @ 826A439
- setvar VAR_0x8004, 11
- setvar VAR_0x8005, 5
- call Route110_TrickHouseEntrance_EventScript_26A459
+Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle2:: @ 826A439
+ setvar VAR_0x8004, 11 @ x
+ setvar VAR_0x8005, 5 @ y
+ call Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle
return
-Route110_TrickHouseEntrance_EventScript_26A449:: @ 826A449
- setvar VAR_0x8004, 9
- setvar VAR_0x8005, 2
- call Route110_TrickHouseEntrance_EventScript_26A459
+Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle3:: @ 826A449
+ setvar VAR_0x8004, 9 @ x
+ setvar VAR_0x8005, 2 @ y
+ call Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle
return
-Route110_TrickHouseEntrance_EventScript_26A459:: @ 826A459
+Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle:: @ 826A459
setvar VAR_0x8006, 0
- setfieldeffectargument 0, VAR_0x8004
- setfieldeffectargument 1, VAR_0x8005
- setfieldeffectargument 2, VAR_0x8006
- dofieldeffect FLDEFF_SPARKLE
+ dofieldeffectsparkle VAR_0x8004, VAR_0x8005, VAR_0x8006
waitfieldeffect FLDEFF_SPARKLE
delay 10
return
-Route110_TrickHouseEntrance_Text_26A474: @ 826A474
+Route110_TrickHouseEntrance_Text_YoureBeingWatched: @ 826A474
.string "You're being watched…$"
-Route110_TrickHouseEntrance_Text_26A48A: @ 826A48A
+Route110_TrickHouseEntrance_Text_ConcealedBeneathDesk: @ 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
+Route110_TrickHouseEntrance_Text_ConcealedBehindTree: @ 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
+Route110_TrickHouseEntrance_Text_ConcealedInDresser: @ 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
+Route110_TrickHouseEntrance_Text_ConealedBeyondWindow: @ 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
+Route110_TrickHouseEntrance_Text_ConcealedInPlanter: @ 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
+Route110_TrickHouseEntrance_Text_ConcealedInCupboard: @ 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
+Route110_TrickHouseEntrance_Text_ConcealedBehindWindow: @ 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
+Route110_TrickHouseEntrance_Text_ConcealedBeneathCushion: @ 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
+Route110_TrickHouseEntrance_Text_TheyCallMeTrickMaster: @ 826A709
.string "Behold!\p"
.string "For I am the greatest living mystery\n"
.string "of a man in all of HOENN!\l"
@@ -815,7 +805,7 @@ Route110_TrickHouseEntrance_Text_26A709: @ 826A709
.string "The TRICK MASTER!\n"
.string "Wahahaha! Glad to meet you!$"
-Route110_TrickHouseEntrance_Text_26A78C: @ 826A78C
+Route110_TrickHouseEntrance_Text_ComeToChallengeTrickHouse: @ 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"
@@ -825,25 +815,25 @@ Route110_TrickHouseEntrance_Text_26A78C: @ 826A78C
.string "and let your challenge commence!\p"
.string "I shall be waiting in the back!$"
-Route110_TrickHouseEntrance_Text_26A878: @ 826A878
+Route110_TrickHouseEntrance_Text_ItsAScroll: @ 826A878
.string "It's a scroll.$"
-Route110_TrickHouseEntrance_Text_26A887: @ 826A887
+Route110_TrickHouseEntrance_Text_GoInHoleBehindScroll: @ 826A887
.string "There is a big hole behind the scroll!\p"
.string "Want to go in?$"
-Route110_TrickHouseEntrance_Text_26A8BD: @ 826A8BD
+Route110_TrickHouseEntrance_Text_LeavingOnJourneyNote: @ 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
+Route110_TrickHouseEntrance_Text_NextTimeUseThisTrick: @ 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
+Route110_TrickHouseEntrance_Text_InMidstOfDevisingNewChallenges: @ 826A9AF
.string "Hah? What?!\n"
.string "Oh, it's you!\p"
.string "I'm in the midst of devising new tricky\n"
@@ -853,42 +843,42 @@ Route110_TrickHouseEntrance_Text_26A9AF: @ 826A9AF
.string "You wouldn't begrudge me that?\l"
.string "Come back in a little while!$"
-Route110_TrickHouseEntrance_Text_26AA82: @ 826AA82
+Route110_TrickHouseEntrance_Text_YoureHereToAcceptReward: @ 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
+Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward: @ 826AB00
.string "Hah?\n"
.string "Did you not come to claim your reward?$"
-Route110_TrickHouseEntrance_Text_26AB2C: @ 826AB2C
+Route110_TrickHouseEntrance_Text_MechadollWhichTent: @ 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
+Route110_TrickHouseEntrance_Text_ThenFarewell: @ 826ABAE
.string "THEN FAREWELL.$"
-Route110_TrickHouseEntrance_Text_26ABBD: @ 826ABBD
+Route110_TrickHouseEntrance_Text_PCFullAgain: @ 826ABBD
.string "YOUR PC STATUS: FULL AGAIN.\n"
.string "MEAN, YOU ARE.$"
-Route110_TrickHousePuzzle1_Text_26ABE8: @ 826ABE8
+Route110_TrickHousePuzzle_Text_FoundAScroll: @ 826ABE8
.string "{PLAYER} found a scroll.$"
-Route110_TrickHousePuzzle1_Text_26ABFB: @ 826ABFB
+Route110_TrickHousePuzzle_Text_MemorizedSecretCode: @ 826ABFB
.string "{PLAYER} memorized the secret code\n"
.string "written on the scroll.$"
-Route110_TrickHousePuzzle1_Text_26AC2F: @ 826AC2F
+Route110_TrickHousePuzzle_Text_SecretCodeWrittenOnIt: @ 826AC2F
.string "A secret code is written on it.$"
-Route110_TrickHouseEntrance_Text_26AC4F: @ 826AC4F
+Route110_TrickHouseEntrance_Text_DoorLockedWriteSecretCodeHere: @ 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/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json
index 18dc10027..f656b0a48 100644
--- a/data/maps/Route110_TrickHousePuzzle1/map.json
+++ b/data/maps/Route110_TrickHousePuzzle1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route110_TrickHousePuzzle1_EventScript_26B948",
+ "script": "Route110_TrickHousePuzzle1_EventScript_Sally",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_TrickHousePuzzle1_EventScript_26B95F",
+ "script": "Route110_TrickHousePuzzle1_EventScript_Eddie",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_TrickHousePuzzle1_EventScript_26B976",
+ "script": "Route110_TrickHousePuzzle1_EventScript_Robin",
"flag": "0"
},
{
@@ -241,7 +241,7 @@
"y": 16,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle1_EventScript_26B92B"
+ "script": "Route110_TrickHousePuzzle1_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle1/scripts.inc b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
index ef81b03cf..3797ec29d 100644
--- a/data/maps/Route110_TrickHousePuzzle1/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
@@ -1,79 +1,79 @@
Route110_TrickHousePuzzle1_MapScripts:: @ 826B90F
- map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle1_MapScript1_26B915
+ map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle1_OnLoad
.byte 0
-Route110_TrickHousePuzzle1_MapScript1_26B915: @ 826B915
+Route110_TrickHousePuzzle1_OnLoad: @ 826B915
compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 2
- goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B921
+ goto_if_eq Route110_TrickHousePuzzle1_EventScript_OpenDoor
end
-Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921
+Route110_TrickHousePuzzle1_EventScript_OpenDoor:: @ 826B921
setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
end
-Route110_TrickHousePuzzle1_EventScript_26B92B:: @ 826B92B
+Route110_TrickHousePuzzle1_EventScript_Scroll:: @ 826B92B
lockall
compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B93D
- goto Route110_TrickHousePuzzle1_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle1_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle1_EventScript_26B93D:: @ 826B93D
+Route110_TrickHousePuzzle1_EventScript_FoundScroll:: @ 826B93D
setvar VAR_TRICK_HOUSE_PUZZLE_1_STATE, 1
- goto Route110_TrickHousePuzzle1_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle1_EventScript_26B948:: @ 826B948
- trainerbattle_single TRAINER_SALLY, Route110_TrickHousePuzzle1_Text_26B9FB, Route110_TrickHousePuzzle1_Text_26BA3F
- msgbox Route110_TrickHousePuzzle1_Text_26BA57, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle1_EventScript_Sally:: @ 826B948
+ trainerbattle_single TRAINER_SALLY, Route110_TrickHousePuzzle1_Text_SallyIntro, Route110_TrickHousePuzzle1_Text_SallyDefeat
+ msgbox Route110_TrickHousePuzzle1_Text_SallyPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle1_EventScript_26B95F:: @ 826B95F
- trainerbattle_single TRAINER_EDDIE, Route110_TrickHousePuzzle1_Text_26BA82, Route110_TrickHousePuzzle1_Text_26BAB0
- msgbox Route110_TrickHousePuzzle1_Text_26BAC3, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle1_EventScript_Eddie:: @ 826B95F
+ trainerbattle_single TRAINER_EDDIE, Route110_TrickHousePuzzle1_Text_EddieIntro, Route110_TrickHousePuzzle1_Text_EddieDefeat
+ msgbox Route110_TrickHousePuzzle1_Text_EddiePostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle1_EventScript_26B976:: @ 826B976
- trainerbattle_single TRAINER_ROBIN, Route110_TrickHousePuzzle1_Text_26BB10, Route110_TrickHousePuzzle1_Text_26BB2E
- msgbox Route110_TrickHousePuzzle1_Text_26BB52, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle1_EventScript_Robin:: @ 826B976
+ trainerbattle_single TRAINER_ROBIN, Route110_TrickHousePuzzle1_Text_RobinIntro, Route110_TrickHousePuzzle1_Text_RobinDefeat
+ msgbox Route110_TrickHousePuzzle1_Text_RobinPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle1_Text_26B98D:: @ 826B98D
+Route110_TrickHousePuzzle1_Text_WroteSecretCodeLockOpened:: @ 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
+Route110_TrickHousePuzzle1_Text_SallyIntro: @ 826B9FB
.string "I'll hack and slash my way to victory\n"
.string "with the CUT we just learned!$"
-Route110_TrickHousePuzzle1_Text_26BA3F: @ 826BA3F
+Route110_TrickHousePuzzle1_Text_SallyDefeat: @ 826BA3F
.string "Why are you so serious?$"
-Route110_TrickHousePuzzle1_Text_26BA57: @ 826BA57
+Route110_TrickHousePuzzle1_Text_SallyPostBattle: @ 826BA57
.string "I never get tired of hacking\n"
.string "and slashing!$"
-Route110_TrickHousePuzzle1_Text_26BA82: @ 826BA82
+Route110_TrickHousePuzzle1_Text_EddieIntro: @ 826BA82
.string "I wandered into this weird house\n"
.string "by accident…$"
-Route110_TrickHousePuzzle1_Text_26BAB0: @ 826BAB0
+Route110_TrickHousePuzzle1_Text_EddieDefeat: @ 826BAB0
.string "And now I've lost…$"
-Route110_TrickHousePuzzle1_Text_26BAC3: @ 826BAC3
+Route110_TrickHousePuzzle1_Text_EddiePostBattle: @ 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
+Route110_TrickHousePuzzle1_Text_RobinIntro: @ 826BB10
.string "Just who is the TRICK MASTER?$"
-Route110_TrickHousePuzzle1_Text_26BB2E: @ 826BB2E
+Route110_TrickHousePuzzle1_Text_RobinDefeat: @ 826BB2E
.string "I lost while I was lost in thought!$"
-Route110_TrickHousePuzzle1_Text_26BB52: @ 826BB52
+Route110_TrickHousePuzzle1_Text_RobinPostBattle: @ 826BB52
.string "You're strong!\n"
.string "Just who are you?$"
diff --git a/data/maps/Route110_TrickHousePuzzle2/map.json b/data/maps/Route110_TrickHousePuzzle2/map.json
index 3a9ed637d..71b3f8916 100644
--- a/data/maps/Route110_TrickHousePuzzle2/map.json
+++ b/data/maps/Route110_TrickHousePuzzle2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BC75",
+ "script": "Route110_TrickHousePuzzle2_EventScript_Ted",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BC8C",
+ "script": "Route110_TrickHousePuzzle2_EventScript_Paul",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BCA3",
+ "script": "Route110_TrickHousePuzzle2_EventScript_Georgia",
"flag": "0"
},
{
@@ -111,7 +111,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BBDD"
+ "script": "Route110_TrickHousePuzzle2_EventScript_Button1"
},
{
"type": "trigger",
@@ -120,7 +120,7 @@
"elevation": 0,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BBF0"
+ "script": "Route110_TrickHousePuzzle2_EventScript_Button2"
},
{
"type": "trigger",
@@ -129,7 +129,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BC03"
+ "script": "Route110_TrickHousePuzzle2_EventScript_Button3"
},
{
"type": "trigger",
@@ -138,7 +138,7 @@
"elevation": 3,
"var": "VAR_TEMP_4",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BC16"
+ "script": "Route110_TrickHousePuzzle2_EventScript_Button4"
}
],
"bg_events": [
@@ -148,7 +148,7 @@
"y": 14,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle2_EventScript_26BBC0"
+ "script": "Route110_TrickHousePuzzle2_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle2/scripts.inc b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
index 334637624..2b65ca95c 100644
--- a/data/maps/Route110_TrickHousePuzzle2/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
@@ -1,17 +1,17 @@
Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73
- map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle2_MapScript1_26BB7E
+ map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle2_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle2_OnTransition
.byte 0
-Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E
+Route110_TrickHousePuzzle2_OnResume: @ 826BB7E
compare VAR_TEMP_1, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC29
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton1
compare VAR_TEMP_2, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC3C
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton2
compare VAR_TEMP_3, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC4F
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton3
compare VAR_TEMP_4, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC62
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton4
end
Route110_TrickHousePuzzle2_OnTransition: @ 826BBAB
@@ -21,126 +21,126 @@ Route110_TrickHousePuzzle2_OnTransition: @ 826BBAB
setvar VAR_TEMP_4, 0
end
-Route110_TrickHousePuzzle2_EventScript_26BBC0:: @ 826BBC0
+Route110_TrickHousePuzzle2_EventScript_Scroll:: @ 826BBC0
lockall
compare VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle2_EventScript_26BBD2
- goto Route110_TrickHousePuzzle2_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle2_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle2_EventScript_26BBD2:: @ 826BBD2
+Route110_TrickHousePuzzle2_EventScript_FoundScroll:: @ 826BBD2
setvar VAR_TRICK_HOUSE_PUZZLE_2_STATE, 1
- goto Route110_TrickHousePuzzle2_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle2_EventScript_26BBDD:: @ 826BBDD
+Route110_TrickHousePuzzle2_EventScript_Button1:: @ 826BBDD
lockall
setvar VAR_TEMP_1, 1
playse SE_PIN
- call Route110_TrickHousePuzzle2_EventScript_26BC29
+ call Route110_TrickHousePuzzle2_EventScript_PressButton1
special DrawWholeMapView
releaseall
end
-Route110_TrickHousePuzzle2_EventScript_26BBF0:: @ 826BBF0
+Route110_TrickHousePuzzle2_EventScript_Button2:: @ 826BBF0
lockall
setvar VAR_TEMP_2, 1
playse SE_PIN
- call Route110_TrickHousePuzzle2_EventScript_26BC3C
+ call Route110_TrickHousePuzzle2_EventScript_PressButton2
special DrawWholeMapView
releaseall
end
-Route110_TrickHousePuzzle2_EventScript_26BC03:: @ 826BC03
+Route110_TrickHousePuzzle2_EventScript_Button3:: @ 826BC03
lockall
setvar VAR_TEMP_3, 1
playse SE_PIN
- call Route110_TrickHousePuzzle2_EventScript_26BC4F
+ call Route110_TrickHousePuzzle2_EventScript_PressButton3
special DrawWholeMapView
releaseall
end
-Route110_TrickHousePuzzle2_EventScript_26BC16:: @ 826BC16
+Route110_TrickHousePuzzle2_EventScript_Button4:: @ 826BC16
lockall
setvar VAR_TEMP_4, 1
playse SE_PIN
- call Route110_TrickHousePuzzle2_EventScript_26BC62
+ call Route110_TrickHousePuzzle2_EventScript_PressButton4
special DrawWholeMapView
releaseall
end
-Route110_TrickHousePuzzle2_EventScript_26BC29:: @ 826BC29
+Route110_TrickHousePuzzle2_EventScript_PressButton1:: @ 826BC29
setmetatile 11, 12, METATILE_TrickHousePuzzle_Button_Pressed, 0
setmetatile 1, 13, METATILE_TrickHousePuzzle_Door_Shuttered, 0
return
-Route110_TrickHousePuzzle2_EventScript_26BC3C:: @ 826BC3C
+Route110_TrickHousePuzzle2_EventScript_PressButton2:: @ 826BC3C
setmetatile 0, 4, METATILE_TrickHousePuzzle_Button_Pressed, 0
setmetatile 5, 6, METATILE_TrickHousePuzzle_Door_Shuttered, 0
return
-Route110_TrickHousePuzzle2_EventScript_26BC4F:: @ 826BC4F
+Route110_TrickHousePuzzle2_EventScript_PressButton3:: @ 826BC4F
setmetatile 14, 5, METATILE_TrickHousePuzzle_Button_Pressed, 0
setmetatile 7, 15, METATILE_TrickHousePuzzle_Door_Shuttered, 0
return
-Route110_TrickHousePuzzle2_EventScript_26BC62:: @ 826BC62
+Route110_TrickHousePuzzle2_EventScript_PressButton4:: @ 826BC62
setmetatile 7, 11, METATILE_TrickHousePuzzle_Button_Pressed, 0
setmetatile 14, 12, METATILE_TrickHousePuzzle_Door_Shuttered, 0
return
-Route110_TrickHousePuzzle2_EventScript_26BC75:: @ 826BC75
- trainerbattle_single TRAINER_TED, Route110_TrickHousePuzzle2_Text_26BD25, Route110_TrickHousePuzzle2_Text_26BD45
- msgbox Route110_TrickHousePuzzle2_Text_26BD70, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle2_EventScript_Ted:: @ 826BC75
+ trainerbattle_single TRAINER_TED, Route110_TrickHousePuzzle2_Text_TedIntro, Route110_TrickHousePuzzle2_Text_TedDefeat
+ msgbox Route110_TrickHousePuzzle2_Text_TedPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle2_EventScript_26BC8C:: @ 826BC8C
- trainerbattle_single TRAINER_PAUL, Route110_TrickHousePuzzle2_Text_26BD9E, Route110_TrickHousePuzzle2_Text_26BDCF
- msgbox Route110_TrickHousePuzzle2_Text_26BDEC, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle2_EventScript_Paul:: @ 826BC8C
+ trainerbattle_single TRAINER_PAUL, Route110_TrickHousePuzzle2_Text_PaulIntro, Route110_TrickHousePuzzle2_Text_PaulDefeat
+ msgbox Route110_TrickHousePuzzle2_Text_PaulPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle2_EventScript_26BCA3:: @ 826BCA3
- trainerbattle_single TRAINER_GEORGIA, Route110_TrickHousePuzzle2_Text_26BE31, Route110_TrickHousePuzzle2_Text_26BE77
- msgbox Route110_TrickHousePuzzle2_Text_26BE97, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle2_EventScript_Georgia:: @ 826BCA3
+ trainerbattle_single TRAINER_GEORGIA, Route110_TrickHousePuzzle2_Text_GeorgiaIntro, Route110_TrickHousePuzzle2_Text_GeorgiaDefeat
+ msgbox Route110_TrickHousePuzzle2_Text_GeorgiaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle2_Text_26BCBA: @ 826BCBA
+Route110_TrickHousePuzzle2_Text_WroteSecretCodeLockOpened: @ 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
+Route110_TrickHousePuzzle2_Text_TedIntro: @ 826BD25
.string "Which switch closes which hole?$"
-Route110_TrickHousePuzzle2_Text_26BD45: @ 826BD45
+Route110_TrickHousePuzzle2_Text_TedDefeat: @ 826BD45
.string "After that battle, I'm even more\n"
.string "confused!$"
-Route110_TrickHousePuzzle2_Text_26BD70: @ 826BD70
+Route110_TrickHousePuzzle2_Text_TedPostBattle: @ 826BD70
.string "Can I get you to push all the buttons\n"
.string "for me?$"
-Route110_TrickHousePuzzle2_Text_26BD9E: @ 826BD9E
+Route110_TrickHousePuzzle2_Text_PaulIntro: @ 826BD9E
.string "Oh! You're on your second TRICK HOUSE\n"
.string "challenge!$"
-Route110_TrickHousePuzzle2_Text_26BDCF: @ 826BDCF
+Route110_TrickHousePuzzle2_Text_PaulDefeat: @ 826BDCF
.string "You're good at battling too?$"
-Route110_TrickHousePuzzle2_Text_26BDEC: @ 826BDEC
+Route110_TrickHousePuzzle2_Text_PaulPostBattle: @ 826BDEC
.string "The TRICK MASTER rigged all the tricks\n"
.string "in this house all by himself.$"
-Route110_TrickHousePuzzle2_Text_26BE31: @ 826BE31
+Route110_TrickHousePuzzle2_Text_GeorgiaIntro: @ 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
+Route110_TrickHousePuzzle2_Text_GeorgiaDefeat: @ 826BE77
.string "I didn't study battling enough!$"
-Route110_TrickHousePuzzle2_Text_26BE97: @ 826BE97
+Route110_TrickHousePuzzle2_Text_GeorgiaPostBattle: @ 826BE97
.string "You're strong, aren't you?\n"
.string "Maybe even enough to be a GYM LEADER!$"
diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json
index a37498fd2..612edc6bf 100644
--- a/data/maps/Route110_TrickHousePuzzle3/map.json
+++ b/data/maps/Route110_TrickHousePuzzle3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C5C4",
+ "script": "Route110_TrickHousePuzzle3_EventScript_Justin",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C5DB",
+ "script": "Route110_TrickHousePuzzle3_EventScript_Martha",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C5F2",
+ "script": "Route110_TrickHousePuzzle3_EventScript_Alan",
"flag": "0"
},
{
@@ -137,7 +137,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C4CD"
+ "script": "Route110_TrickHousePuzzle3_EventScript_Button1"
},
{
"type": "trigger",
@@ -146,7 +146,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C4D9"
+ "script": "Route110_TrickHousePuzzle3_EventScript_Button2"
},
{
"type": "trigger",
@@ -155,7 +155,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C4E5"
+ "script": "Route110_TrickHousePuzzle3_EventScript_Button3"
},
{
"type": "trigger",
@@ -164,7 +164,7 @@
"elevation": 3,
"var": "VAR_TEMP_4",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C4F1"
+ "script": "Route110_TrickHousePuzzle3_EventScript_Button4"
}
],
"bg_events": [
@@ -174,7 +174,7 @@
"y": 14,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle3_EventScript_26C5A7"
+ "script": "Route110_TrickHousePuzzle3_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle3/scripts.inc b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
index dfae2d359..ddad0d549 100644
--- a/data/maps/Route110_TrickHousePuzzle3/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
@@ -1,14 +1,14 @@
Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8
- map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle3_MapScript1_26BEE3
+ map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle3_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle3_OnTransition
.byte 0
-Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3
- call Route110_TrickHousePuzzle3_EventScript_26BF1E
+Route110_TrickHousePuzzle3_OnResume: @ 826BEE3
+ call Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles
compare VAR_TEMP_9, 0
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState0
compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState1
end
Route110_TrickHousePuzzle3_OnTransition: @ 826BEFF
@@ -20,38 +20,38 @@ Route110_TrickHousePuzzle3_OnTransition: @ 826BEFF
setvar VAR_TEMP_9, 0
end
-Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E
+Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles:: @ 826BF1E
setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Up, 0
setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Up, 0
setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Up, 0
setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Up, 0
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF6F
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton1Metatile
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF79
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton2Metatile
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF83
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton3Metatile
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF8D
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton4Metatile
return
-Route110_TrickHousePuzzle3_EventScript_26BF6F:: @ 826BF6F
+Route110_TrickHousePuzzle3_EventScript_PressedButton1Metatile:: @ 826BF6F
setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Pressed, 0
return
-Route110_TrickHousePuzzle3_EventScript_26BF79:: @ 826BF79
+Route110_TrickHousePuzzle3_EventScript_PressedButton2Metatile:: @ 826BF79
setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Pressed, 0
return
-Route110_TrickHousePuzzle3_EventScript_26BF83:: @ 826BF83
+Route110_TrickHousePuzzle3_EventScript_PressedButton3Metatile:: @ 826BF83
setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Pressed, 0
return
-Route110_TrickHousePuzzle3_EventScript_26BF8D:: @ 826BF8D
+Route110_TrickHousePuzzle3_EventScript_PressedButton4Metatile:: @ 826BF8D
setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Pressed, 0
return
-Route110_TrickHousePuzzle3_EventScript_26BF97:: @ 826BF97
+Route110_TrickHousePuzzle3_EventScript_SetDoorsState0:: @ 826BF97
setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, 0
setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, 0
setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, 0
@@ -128,7 +128,7 @@ Route110_TrickHousePuzzle3_EventScript_26BF97:: @ 826BF97
setmetatile 9, 5, METATILE_TrickHousePuzzle_RedDoorV_Open1, 1
return
-Route110_TrickHousePuzzle3_EventScript_26C232:: @ 826C232
+Route110_TrickHousePuzzle3_EventScript_SetDoorsState1:: @ 826C232
setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, 0
setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, 0
setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, 1
@@ -205,155 +205,155 @@ Route110_TrickHousePuzzle3_EventScript_26C232:: @ 826C232
setmetatile 9, 5, METATILE_TrickHousePuzzle_Floor_ShadowTop_Alt, 0
return
-Route110_TrickHousePuzzle3_EventScript_26C4CD:: @ 826C4CD
+Route110_TrickHousePuzzle3_EventScript_Button1:: @ 826C4CD
lockall
setvar VAR_TEMP_8, 1
- goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ goto Route110_TrickHousePuzzle3_EventScript_PressButton
end
-Route110_TrickHousePuzzle3_EventScript_26C4D9:: @ 826C4D9
+Route110_TrickHousePuzzle3_EventScript_Button2:: @ 826C4D9
lockall
setvar VAR_TEMP_8, 2
- goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ goto Route110_TrickHousePuzzle3_EventScript_PressButton
end
-Route110_TrickHousePuzzle3_EventScript_26C4E5:: @ 826C4E5
+Route110_TrickHousePuzzle3_EventScript_Button3:: @ 826C4E5
lockall
setvar VAR_TEMP_8, 3
- goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ goto Route110_TrickHousePuzzle3_EventScript_PressButton
end
-Route110_TrickHousePuzzle3_EventScript_26C4F1:: @ 826C4F1
+Route110_TrickHousePuzzle3_EventScript_Button4:: @ 826C4F1
lockall
setvar VAR_TEMP_8, 4
- goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ goto Route110_TrickHousePuzzle3_EventScript_PressButton
end
-Route110_TrickHousePuzzle3_EventScript_26C4FD:: @ 826C4FD
- call Route110_TrickHousePuzzle3_EventScript_26C510
+Route110_TrickHousePuzzle3_EventScript_PressButton:: @ 826C4FD
+ call Route110_TrickHousePuzzle3_EventScript_SetButton
playse SE_PIN
- call Route110_TrickHousePuzzle3_EventScript_26BF1E
- goto Route110_TrickHousePuzzle3_EventScript_26C569
+ call Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles
+ goto Route110_TrickHousePuzzle3_EventScript_AlternateDoors
end
-Route110_TrickHousePuzzle3_EventScript_26C510:: @ 826C510
+Route110_TrickHousePuzzle3_EventScript_SetButton:: @ 826C510
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_4, 0
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26C551
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton1
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26C557
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton2
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26C55D
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton3
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26C563
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton4
return
-Route110_TrickHousePuzzle3_EventScript_26C551:: @ 826C551
+Route110_TrickHousePuzzle3_EventScript_SetButton1:: @ 826C551
setvar VAR_TEMP_1, 1
return
-Route110_TrickHousePuzzle3_EventScript_26C557:: @ 826C557
+Route110_TrickHousePuzzle3_EventScript_SetButton2:: @ 826C557
setvar VAR_TEMP_2, 1
return
-Route110_TrickHousePuzzle3_EventScript_26C55D:: @ 826C55D
+Route110_TrickHousePuzzle3_EventScript_SetButton3:: @ 826C55D
setvar VAR_TEMP_3, 1
return
-Route110_TrickHousePuzzle3_EventScript_26C563:: @ 826C563
+Route110_TrickHousePuzzle3_EventScript_SetButton4:: @ 826C563
setvar VAR_TEMP_4, 1
return
-Route110_TrickHousePuzzle3_EventScript_26C569:: @ 826C569
+Route110_TrickHousePuzzle3_EventScript_AlternateDoors:: @ 826C569
compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState0
compare VAR_TEMP_9, 0
- call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState1
special DrawWholeMapView
compare VAR_TEMP_9, 1
- goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C599
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_ClearAltDoorState
compare VAR_TEMP_9, 0
- goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5A0
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_SetAltDoorState
end
-Route110_TrickHousePuzzle3_EventScript_26C599:: @ 826C599
+Route110_TrickHousePuzzle3_EventScript_ClearAltDoorState:: @ 826C599
setvar VAR_TEMP_9, 0
releaseall
end
-Route110_TrickHousePuzzle3_EventScript_26C5A0:: @ 826C5A0
+Route110_TrickHousePuzzle3_EventScript_SetAltDoorState:: @ 826C5A0
setvar VAR_TEMP_9, 1
releaseall
end
-Route110_TrickHousePuzzle3_EventScript_26C5A7:: @ 826C5A7
+Route110_TrickHousePuzzle3_EventScript_Scroll:: @ 826C5A7
lockall
compare VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5B9
- goto Route110_TrickHousePuzzle3_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle3_EventScript_26C5B9:: @ 826C5B9
+Route110_TrickHousePuzzle3_EventScript_FoundScroll:: @ 826C5B9
setvar VAR_TRICK_HOUSE_PUZZLE_3_STATE, 1
- goto Route110_TrickHousePuzzle3_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle3_EventScript_26C5C4:: @ 826C5C4
- trainerbattle_single TRAINER_JUSTIN, Route110_TrickHousePuzzle3_Text_26C676, Route110_TrickHousePuzzle3_Text_26C69D
- msgbox Route110_TrickHousePuzzle3_Text_26C6E6, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle3_EventScript_Justin:: @ 826C5C4
+ trainerbattle_single TRAINER_JUSTIN, Route110_TrickHousePuzzle3_Text_JustinIntro, Route110_TrickHousePuzzle3_Text_JustinDefeat
+ msgbox Route110_TrickHousePuzzle3_Text_JustinPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle3_EventScript_26C5DB:: @ 826C5DB
- trainerbattle_single TRAINER_MARTHA, Route110_TrickHousePuzzle3_Text_26C726, Route110_TrickHousePuzzle3_Text_26C763
- msgbox Route110_TrickHousePuzzle3_Text_26C776, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle3_EventScript_Martha:: @ 826C5DB
+ trainerbattle_single TRAINER_MARTHA, Route110_TrickHousePuzzle3_Text_MarthaIntro, Route110_TrickHousePuzzle3_Text_MarthaDefeat
+ msgbox Route110_TrickHousePuzzle3_Text_MarthaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle3_EventScript_26C5F2:: @ 826C5F2
- trainerbattle_single TRAINER_ALAN, Route110_TrickHousePuzzle3_Text_26C7AA, Route110_TrickHousePuzzle3_Text_26C7EC
- msgbox Route110_TrickHousePuzzle3_Text_26C80C, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle3_EventScript_Alan:: @ 826C5F2
+ trainerbattle_single TRAINER_ALAN, Route110_TrickHousePuzzle3_Text_AlanIntro, Route110_TrickHousePuzzle3_Text_AlanDefeat
+ msgbox Route110_TrickHousePuzzle3_Text_AlanPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle3_Text_26C609: @ 826C609
+Route110_TrickHousePuzzle3_Text_WroteSecretCodeLockOpened: @ 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
+Route110_TrickHousePuzzle3_Text_JustinIntro: @ 826C676
.string "I keep coming back to this same place!$"
-Route110_TrickHousePuzzle3_Text_26C69D: @ 826C69D
+Route110_TrickHousePuzzle3_Text_JustinDefeat: @ 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
+Route110_TrickHousePuzzle3_Text_JustinPostBattle: @ 826C6E6
.string "It's full of doors here!\n"
.string "It's too small and dark in here! Help!$"
-Route110_TrickHousePuzzle3_Text_26C726: @ 826C726
+Route110_TrickHousePuzzle3_Text_MarthaIntro: @ 826C726
.string "I don't know what's going on here.\n"
.string "I'm starting to feel sad…$"
-Route110_TrickHousePuzzle3_Text_26C763: @ 826C763
+Route110_TrickHousePuzzle3_Text_MarthaDefeat: @ 826C763
.string "You… You're awful!$"
-Route110_TrickHousePuzzle3_Text_26C776: @ 826C776
+Route110_TrickHousePuzzle3_Text_MarthaPostBattle: @ 826C776
.string "I know I'm weak!\n"
.string "And, I have no sense of direction!$"
-Route110_TrickHousePuzzle3_Text_26C7AA: @ 826C7AA
+Route110_TrickHousePuzzle3_Text_AlanIntro: @ 826C7AA
.string "I don't get it. What would anyone want\n"
.string "with a house this bizarre?$"
-Route110_TrickHousePuzzle3_Text_26C7EC: @ 826C7EC
+Route110_TrickHousePuzzle3_Text_AlanDefeat: @ 826C7EC
.string "I don't get it.\n"
.string "How did I lose?$"
-Route110_TrickHousePuzzle3_Text_26C80C: @ 826C80C
+Route110_TrickHousePuzzle3_Text_AlanPostBattle: @ 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/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json
index f77fa9b22..26a58166f 100644
--- a/data/maps/Route110_TrickHousePuzzle4/map.json
+++ b/data/maps/Route110_TrickHousePuzzle4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle4_EventScript_26C87E",
+ "script": "Route110_TrickHousePuzzle4_EventScript_Cora",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_TrickHousePuzzle4_EventScript_26C8AC",
+ "script": "Route110_TrickHousePuzzle4_EventScript_Paula",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route110_TrickHousePuzzle4_EventScript_26C895",
+ "script": "Route110_TrickHousePuzzle4_EventScript_Yuji",
"flag": "0"
},
{
@@ -228,7 +228,7 @@
"y": 13,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle4_EventScript_26C861"
+ "script": "Route110_TrickHousePuzzle4_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle4/scripts.inc b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
index fcb10b3ab..44610a10f 100644
--- a/data/maps/Route110_TrickHousePuzzle4/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
@@ -1,71 +1,71 @@
Route110_TrickHousePuzzle4_MapScripts:: @ 826C860
.byte 0
-Route110_TrickHousePuzzle4_EventScript_26C861:: @ 826C861
+Route110_TrickHousePuzzle4_EventScript_Scroll:: @ 826C861
lockall
compare VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle4_EventScript_26C873
- goto Route110_TrickHousePuzzle4_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle4_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle4_EventScript_26C873:: @ 826C873
+Route110_TrickHousePuzzle4_EventScript_FoundScroll:: @ 826C873
setvar VAR_TRICK_HOUSE_PUZZLE_4_STATE, 1
- goto Route110_TrickHousePuzzle4_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle4_EventScript_26C87E:: @ 826C87E
- trainerbattle_single TRAINER_CORA, Route110_TrickHousePuzzle4_Text_26C92D, Route110_TrickHousePuzzle4_Text_26C96E
- msgbox Route110_TrickHousePuzzle4_Text_26C9A2, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle4_EventScript_Cora:: @ 826C87E
+ trainerbattle_single TRAINER_CORA, Route110_TrickHousePuzzle4_Text_CoraIntro, Route110_TrickHousePuzzle4_Text_CoraDefeat
+ msgbox Route110_TrickHousePuzzle4_Text_CoraPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle4_EventScript_26C895:: @ 826C895
- trainerbattle_single TRAINER_YUJI, Route110_TrickHousePuzzle4_Text_26C9E4, Route110_TrickHousePuzzle4_Text_26CA20
- msgbox Route110_TrickHousePuzzle4_Text_26CA53, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle4_EventScript_Yuji:: @ 826C895
+ trainerbattle_single TRAINER_YUJI, Route110_TrickHousePuzzle4_Text_YujiIntro, Route110_TrickHousePuzzle4_Text_YujiDefeat
+ msgbox Route110_TrickHousePuzzle4_Text_YujiPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle4_EventScript_26C8AC:: @ 826C8AC
- trainerbattle_single TRAINER_PAULA, Route110_TrickHousePuzzle4_Text_26CA9C, Route110_TrickHousePuzzle4_Text_26CACB
- msgbox Route110_TrickHousePuzzle4_Text_26CAD1, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle4_EventScript_Paula:: @ 826C8AC
+ trainerbattle_single TRAINER_PAULA, Route110_TrickHousePuzzle4_Text_PaulaIntro, Route110_TrickHousePuzzle4_Text_PaulaDefeat
+ msgbox Route110_TrickHousePuzzle4_Text_PaulaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle4_Text_26C8C3: @ 826C8C3
+Route110_TrickHousePuzzle4_Text_WroteSecretCodeLockOpened: @ 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
+Route110_TrickHousePuzzle4_Text_CoraIntro: @ 826C92D
.string "It's too much bother to think this out.\n"
.string "I only wanted to battle!$"
-Route110_TrickHousePuzzle4_Text_26C96E: @ 826C96E
+Route110_TrickHousePuzzle4_Text_CoraDefeat: @ 826C96E
.string "Even though I lost, I still like battling\n"
.string "the best!$"
-Route110_TrickHousePuzzle4_Text_26C9A2: @ 826C9A2
+Route110_TrickHousePuzzle4_Text_CoraPostBattle: @ 826C9A2
.string "Wouldn't you agree? You would go\n"
.string "anywhere if TRAINERS were there.$"
-Route110_TrickHousePuzzle4_Text_26C9E4: @ 826C9E4
+Route110_TrickHousePuzzle4_Text_YujiIntro: @ 826C9E4
.string "Heh! Boulders like this, I can brush\n"
.string "aside with one finger!$"
-Route110_TrickHousePuzzle4_Text_26CA20: @ 826CA20
+Route110_TrickHousePuzzle4_Text_YujiDefeat: @ 826CA20
.string "I can push boulders, but I can't solve\n"
.string "the puzzle…$"
-Route110_TrickHousePuzzle4_Text_26CA53: @ 826CA53
+Route110_TrickHousePuzzle4_Text_YujiPostBattle: @ 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
+Route110_TrickHousePuzzle4_Text_PaulaIntro: @ 826CA9C
.string "The TRICK HOUSE is getting trickier,\n"
.string "isn't it?$"
-Route110_TrickHousePuzzle4_Text_26CACB: @ 826CACB
+Route110_TrickHousePuzzle4_Text_PaulaDefeat: @ 826CACB
.string "Aaak!$"
-Route110_TrickHousePuzzle4_Text_26CAD1: @ 826CAD1
+Route110_TrickHousePuzzle4_Text_PaulaPostBattle: @ 826CAD1
.string "Has anyone made it to the end?$"
diff --git a/data/maps/Route110_TrickHousePuzzle5/map.json b/data/maps/Route110_TrickHousePuzzle5/map.json
index ae94ed240..30f4cfe47 100644
--- a/data/maps/Route110_TrickHousePuzzle5/map.json
+++ b/data/maps/Route110_TrickHousePuzzle5/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CB32",
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CB53",
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CB74",
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CB95",
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CBB6",
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll5",
"flag": "0"
}
],
@@ -111,7 +111,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CBD7"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger0"
},
{
"type": "trigger",
@@ -120,7 +120,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CBE3"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger1"
},
{
"type": "trigger",
@@ -129,7 +129,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CBEF"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger2"
},
{
"type": "trigger",
@@ -138,7 +138,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CBFB"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger3"
},
{
"type": "trigger",
@@ -147,7 +147,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC13"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger0"
},
{
"type": "trigger",
@@ -156,7 +156,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC1F"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger1"
},
{
"type": "trigger",
@@ -165,7 +165,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC5B"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger0"
},
{
"type": "trigger",
@@ -174,7 +174,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC67"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger1"
},
{
"type": "trigger",
@@ -183,7 +183,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC73"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger2"
},
{
"type": "trigger",
@@ -192,7 +192,7 @@
"elevation": 3,
"var": "VAR_TEMP_4",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC97"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger0"
},
{
"type": "trigger",
@@ -201,7 +201,7 @@
"elevation": 3,
"var": "VAR_TEMP_4",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CCA3"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger1"
},
{
"type": "trigger",
@@ -210,7 +210,7 @@
"elevation": 3,
"var": "VAR_TEMP_5",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CCDF"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll5Trigger0"
},
{
"type": "trigger",
@@ -219,7 +219,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC07"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger4"
},
{
"type": "trigger",
@@ -228,7 +228,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC2B"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger2"
},
{
"type": "trigger",
@@ -237,7 +237,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC37"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger3"
},
{
"type": "trigger",
@@ -246,7 +246,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC43"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger4"
},
{
"type": "trigger",
@@ -255,7 +255,7 @@
"elevation": 3,
"var": "VAR_TEMP_2",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC4F"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger5"
},
{
"type": "trigger",
@@ -264,7 +264,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC7F"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger3"
},
{
"type": "trigger",
@@ -273,7 +273,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CC8B"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger4"
},
{
"type": "trigger",
@@ -282,7 +282,7 @@
"elevation": 3,
"var": "VAR_TEMP_4",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CCAF"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger2"
},
{
"type": "trigger",
@@ -291,7 +291,7 @@
"elevation": 3,
"var": "VAR_TEMP_4",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CCBB"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger3"
},
{
"type": "trigger",
@@ -300,7 +300,7 @@
"elevation": 3,
"var": "VAR_TEMP_4",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CCC7"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger4"
}
],
"bg_events": [
@@ -310,7 +310,7 @@
"y": 21,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle5_EventScript_26CB15"
+ "script": "Route110_TrickHousePuzzle5_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
index 9ae8dc759..ac260981f 100644
--- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
@@ -11,207 +11,208 @@ Route110_TrickHousePuzzle5_OnTransition: @ 826CAF6
setvar VAR_TEMP_8, 0
end
-Route110_TrickHousePuzzle5_EventScript_26CB15:: @ 826CB15
+Route110_TrickHousePuzzle5_EventScript_Scroll:: @ 826CB15
lockall
compare VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_26CB27
- goto Route110_TrickHousePuzzle5_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle5_EventScript_26CB27:: @ 826CB27
+Route110_TrickHousePuzzle5_EventScript_FoundScroll:: @ 826CB27
setvar VAR_TRICK_HOUSE_PUZZLE_5_STATE, 1
- goto Route110_TrickHousePuzzle5_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle5_EventScript_26CB32:: @ 826CB32
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1:: @ 826CB32
lockall
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
compare VAR_TEMP_1, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CB53:: @ 826CB53
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2:: @ 826CB53
lockall
applymovement 2, Common_Movement_FacePlayer
waitmovement 0
compare VAR_TEMP_2, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CB74:: @ 826CB74
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3:: @ 826CB74
lockall
applymovement 3, Common_Movement_FacePlayer
waitmovement 0
compare VAR_TEMP_3, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CB95:: @ 826CB95
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4:: @ 826CB95
lockall
applymovement 4, Common_Movement_FacePlayer
waitmovement 0
compare VAR_TEMP_4, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CBB6:: @ 826CBB6
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5:: @ 826CBB6
lockall
applymovement 5, Common_Movement_FacePlayer
waitmovement 0
compare VAR_TEMP_5, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CEF2
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll5Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CBD7:: @ 826CBD7
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger0:: @ 826CBD7
lockall
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CBE3:: @ 826CBE3
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger1:: @ 826CBE3
lockall
setvar VAR_TEMP_9, 1
- goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CBEF:: @ 826CBEF
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger2:: @ 826CBEF
lockall
setvar VAR_TEMP_9, 2
- goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CBFB:: @ 826CBFB
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger3:: @ 826CBFB
lockall
setvar VAR_TEMP_9, 3
- goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC07:: @ 826CC07
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Trigger4:: @ 826CC07
lockall
setvar VAR_TEMP_9, 4
- goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC13:: @ 826CC13
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger0:: @ 826CC13
lockall
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC1F:: @ 826CC1F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger1:: @ 826CC1F
lockall
setvar VAR_TEMP_9, 1
- goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC2B:: @ 826CC2B
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger2:: @ 826CC2B
lockall
setvar VAR_TEMP_9, 2
- goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC37:: @ 826CC37
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger3:: @ 826CC37
lockall
setvar VAR_TEMP_9, 3
- goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC43:: @ 826CC43
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger4:: @ 826CC43
lockall
setvar VAR_TEMP_9, 4
- goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC4F:: @ 826CC4F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Trigger5:: @ 826CC4F
lockall
setvar VAR_TEMP_9, 5
- goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC5B:: @ 826CC5B
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger0:: @ 826CC5B
lockall
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC67:: @ 826CC67
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger1:: @ 826CC67
lockall
setvar VAR_TEMP_9, 1
- goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC73:: @ 826CC73
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger2:: @ 826CC73
lockall
setvar VAR_TEMP_9, 2
- goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC7F:: @ 826CC7F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger3:: @ 826CC7F
lockall
setvar VAR_TEMP_9, 3
- goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC8B:: @ 826CC8B
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Trigger4:: @ 826CC8B
lockall
setvar VAR_TEMP_9, 4
- goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CC97:: @ 826CC97
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger0:: @ 826CC97
lockall
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CCA3:: @ 826CCA3
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger1:: @ 826CCA3
lockall
setvar VAR_TEMP_9, 1
- goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CCAF:: @ 826CCAF
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger2:: @ 826CCAF
lockall
setvar VAR_TEMP_9, 2
- goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CCBB:: @ 826CCBB
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger3:: @ 826CCBB
lockall
setvar VAR_TEMP_9, 3
- goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CCC7:: @ 826CCC7
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger4:: @ 826CCC7
lockall
setvar VAR_TEMP_9, 4
- goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CCD3:: @ 826CCD3
+@ Unused
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Trigger5:: @ 826CCD3
lockall
setvar VAR_TEMP_9, 5
- goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CCDF:: @ 826CCDF
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5Trigger0:: @ 826CCDF
lockall
setvar VAR_TEMP_9, 0
- goto Route110_TrickHousePuzzle5_EventScript_26CEF2
+ goto Route110_TrickHousePuzzle5_EventScript_Mechadoll5Activate
end
-Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate:: @ 826CCEB
setvar VAR_TEMP_1, 1
setvar VAR_TEMP_8, 1
playse SE_PIN
@@ -220,22 +221,22 @@ Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB
applymovement 1, Common_Movement_Delay48
waitmovement 0
compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C
- msgbox Route110_TrickHousePuzzle5_Text_26D6CE, MSGBOX_DEFAULT
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26CF45
- case 1, Route110_TrickHousePuzzle5_EventScript_26CF68
- case 2, Route110_TrickHousePuzzle5_EventScript_26CF8B
+ case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz1
+ case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz2
+ case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz3
end
-Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate:: @ 826CD6A
setvar VAR_TEMP_2, 1
setvar VAR_TEMP_8, 2
playse SE_PIN
@@ -244,24 +245,24 @@ Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A
applymovement 2, Common_Movement_Delay48
waitmovement 0
compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D2CC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight1
compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D304
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight2
compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D33C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight3
compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D374
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight4
compare VAR_TEMP_9, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3AC
- msgbox Route110_TrickHousePuzzle5_Text_26D8EA, MSGBOX_DEFAULT
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight5
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26CFAE
- case 1, Route110_TrickHousePuzzle5_EventScript_26CFD1
- case 2, Route110_TrickHousePuzzle5_EventScript_26CFF4
+ case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz1
+ case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz2
+ case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz3
end
-Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate:: @ 826CDF4
setvar VAR_TEMP_3, 1
setvar VAR_TEMP_8, 3
playse SE_PIN
@@ -270,22 +271,22 @@ Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4
applymovement 3, Common_Movement_Delay48
waitmovement 0
compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C
- msgbox Route110_TrickHousePuzzle5_Text_26DA1E, MSGBOX_DEFAULT
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D017
- case 1, Route110_TrickHousePuzzle5_EventScript_26D03A
- case 2, Route110_TrickHousePuzzle5_EventScript_26D05D
+ case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz1
+ case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz2
+ case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz3
end
-Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate:: @ 826CE73
setvar VAR_TEMP_4, 1
setvar VAR_TEMP_8, 4
playse SE_PIN
@@ -294,22 +295,22 @@ Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73
applymovement 4, Common_Movement_Delay48
waitmovement 0
compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C
- msgbox Route110_TrickHousePuzzle5_Text_26DB4C, MSGBOX_DEFAULT
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D080
- case 1, Route110_TrickHousePuzzle5_EventScript_26D0A3
- case 2, Route110_TrickHousePuzzle5_EventScript_26D0C6
+ case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz1
+ case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz2
+ case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz3
end
-Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5Activate:: @ 826CEF2
setvar VAR_TEMP_5, 1
setvar VAR_TEMP_8, 5
playse SE_PIN
@@ -317,567 +318,571 @@ Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2
waitmovement 0
applymovement 5, Common_Movement_Delay48
waitmovement 0
- msgbox Route110_TrickHousePuzzle5_Text_26DC78, MSGBOX_DEFAULT
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D0E9
- case 1, Route110_TrickHousePuzzle5_EventScript_26D10C
- case 2, Route110_TrickHousePuzzle5_EventScript_26D12F
+ case 0, Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz1
+ case 1, Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz2
+ case 2, Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz3
end
-Route110_TrickHousePuzzle5_EventScript_26CF45:: @ 826CF45
- msgbox Route110_TrickHousePuzzle5_Text_26D757, MSGBOX_DEFAULT
- multichoice 0, 0, 25, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz1:: @ 826CF45
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz1, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL1_Q1, 1
switch VAR_RESULT
- case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26CF68:: @ 826CF68
- msgbox Route110_TrickHousePuzzle5_Text_26D7AA, MSGBOX_DEFAULT
- multichoice 0, 0, 26, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz2:: @ 826CF68
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz2, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL1_Q2, 1
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26CF8B:: @ 826CF8B
- msgbox Route110_TrickHousePuzzle5_Text_26D7FC, MSGBOX_DEFAULT
- multichoice 0, 0, 27, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1Quiz3:: @ 826CF8B
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz3, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL1_Q3, 1
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26CFAE:: @ 826CFAE
- msgbox Route110_TrickHousePuzzle5_Text_26D940, MSGBOX_DEFAULT
- multichoice 0, 0, 28, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz1:: @ 826CFAE
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz1, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL2_Q1, 1
switch VAR_RESULT
- case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26CFD1:: @ 826CFD1
- msgbox Route110_TrickHousePuzzle5_Text_26D98C, MSGBOX_DEFAULT
- multichoice 0, 0, 29, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz2:: @ 826CFD1
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz2, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL2_Q2, 1
switch VAR_RESULT
- case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26CFF4:: @ 826CFF4
- msgbox Route110_TrickHousePuzzle5_Text_26D9CE, MSGBOX_DEFAULT
- multichoice 0, 0, 30, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2Quiz3:: @ 826CFF4
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz3, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL2_Q3, 1
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D017:: @ 826D017
- msgbox Route110_TrickHousePuzzle5_Text_26DA64, MSGBOX_DEFAULT
- multichoice 0, 0, 31, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz1:: @ 826D017
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz1, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL3_Q1, 1
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D03A:: @ 826D03A
- msgbox Route110_TrickHousePuzzle5_Text_26DAAD, MSGBOX_DEFAULT
- multichoice 0, 0, 32, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz2:: @ 826D03A
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz2, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL3_Q2, 1
switch VAR_RESULT
- case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D05D:: @ 826D05D
- msgbox Route110_TrickHousePuzzle5_Text_26DAFF, MSGBOX_DEFAULT
- multichoice 0, 0, 33, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3Quiz3:: @ 826D05D
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz3, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL3_Q3, 1
switch VAR_RESULT
- case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D080:: @ 826D080
- msgbox Route110_TrickHousePuzzle5_Text_26DB94, MSGBOX_DEFAULT
- multichoice 0, 0, 34, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz1:: @ 826D080
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz1, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL4_Q1, 1
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D0A3:: @ 826D0A3
- msgbox Route110_TrickHousePuzzle5_Text_26DBD7, MSGBOX_DEFAULT
- multichoice 0, 0, 35, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz2:: @ 826D0A3
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz2, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL4_Q2, 1
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D0C6:: @ 826D0C6
- msgbox Route110_TrickHousePuzzle5_Text_26DC2A, MSGBOX_DEFAULT
- multichoice 0, 0, 36, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4Quiz3:: @ 826D0C6
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz3, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL4_Q3, 1
switch VAR_RESULT
- case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D0E9:: @ 826D0E9
- msgbox Route110_TrickHousePuzzle5_Text_26DCCB, MSGBOX_DEFAULT
- multichoice 0, 0, 37, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz1:: @ 826D0E9
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz1, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL5_Q1, 1
switch VAR_RESULT
- case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 1, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D10C:: @ 826D10C
- msgbox Route110_TrickHousePuzzle5_Text_26DD1B, MSGBOX_DEFAULT
- multichoice 0, 0, 38, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz2:: @ 826D10C
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz2, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL5_Q2, 1
switch VAR_RESULT
- case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 0, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D12F:: @ 826D12F
- msgbox Route110_TrickHousePuzzle5_Text_26DD5F, MSGBOX_DEFAULT
- multichoice 0, 0, 39, 1
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5Quiz3:: @ 826D12F
+ msgbox Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz3, MSGBOX_DEFAULT
+ multichoice 0, 0, MULTI_MECHADOLL5_Q3, 1
switch VAR_RESULT
- case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
- goto Route110_TrickHousePuzzle5_EventScript_26D152
+ case 2, Route110_TrickHousePuzzle5_EventScript_CorrectAnswer
+ goto Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer
end
-Route110_TrickHousePuzzle5_EventScript_26D152:: @ 826D152
+Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer:: @ 826D152
waitse
playse SE_HAZURE
- msgbox Route110_TrickHousePuzzle5_Text_26D883, MSGBOX_DEFAULT
- 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, MSGBOX_DEFAULT
- waitmovement 0
- msgbox Route110_TrickHousePuzzle5_Text_26D8C9, MSGBOX_DEFAULT
+ msgbox Route110_TrickHousePuzzle5_Text_DisappointmentError, MSGBOX_DEFAULT
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_MechadollShake
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_MechadollShake
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_MechadollShake
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_MechadollShake
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_MechadollShake
+ msgbox Route110_TrickHousePuzzle5_Text_Wahahahaha, MSGBOX_DEFAULT
+ waitmovement 0
+ msgbox Route110_TrickHousePuzzle5_Text_WaitForNextChallenge, MSGBOX_DEFAULT
closemessage
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 255, 0, 21
waitstate
releaseall
end
-Route110_TrickHousePuzzle5_EventScript_26D1A0:: @ 826D1A0
+Route110_TrickHousePuzzle5_EventScript_CorrectAnswer:: @ 826D1A0
waitse
playse SE_SEIKAI
- goto Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
end
-Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA
- msgbox Route110_TrickHousePuzzle5_Text_26D84D, MSGBOX_DEFAULT
+Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough:: @ 826D1AA
+ msgbox Route110_TrickHousePuzzle5_Text_CorrectGoThrough, MSGBOX_DEFAULT
releaseall
end
-Route110_TrickHousePuzzle5_EventScript_26D1B4:: @ 826D1B4
+@ Absurd redundancy in movement scripts that could be resolved by using VAR_TEMP_8 for applymovement instead
+@ Many of the below movement scripts arent even used, see below
+@ Mechadoll 2 is the only mechadoll to walk right, all the other WalkRight scripts are unused
+@ Mechadoll 5 never walks, all the Mechadoll5Walk scripts are unused
+@ No mechadoll walks left 5 paces, all the WalkLeft5 scripts are unused
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1:: @ 826D1B4
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3E4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft1
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3EF
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft1
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3FA
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft1
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D405
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft1
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D410
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft1
return
-Route110_TrickHousePuzzle5_EventScript_26D1EC:: @ 826D1EC
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2:: @ 826D1EC
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D41B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft2
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D426
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft2
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D431
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft2
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D43C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft2
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D447
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft2
return
-Route110_TrickHousePuzzle5_EventScript_26D224:: @ 826D224
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3:: @ 826D224
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D452
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft3
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D45D
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft3
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D468
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft3
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D473
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft3
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D47E
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft3
return
-Route110_TrickHousePuzzle5_EventScript_26D25C:: @ 826D25C
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4:: @ 826D25C
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D489
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft4
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D494
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft4
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D49F
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft4
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4AA
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft4
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4B5
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft4
return
-Route110_TrickHousePuzzle5_EventScript_26D294:: @ 826D294
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft5:: @ 826D294
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4C0
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft5
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4CB
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft5
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4D6
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft5
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4E1
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft5
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft5
return
-Route110_TrickHousePuzzle5_EventScript_26D2CC:: @ 826D2CC
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight1:: @ 826D2CC
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4F7
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight1
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D502
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight1
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D50D
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight1
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D518
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight1
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D523
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight1
return
-Route110_TrickHousePuzzle5_EventScript_26D304:: @ 826D304
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight2:: @ 826D304
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D52E
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight2
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D539
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight2
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D544
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight2
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D54F
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight2
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D55A
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight2
return
-Route110_TrickHousePuzzle5_EventScript_26D33C:: @ 826D33C
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight3:: @ 826D33C
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D565
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight3
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D570
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight3
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D57B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight3
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D586
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight3
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D591
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight3
return
-Route110_TrickHousePuzzle5_EventScript_26D374:: @ 826D374
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight4:: @ 826D374
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D59C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight4
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5A7
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight4
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5B2
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight4
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5BD
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight4
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5C8
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight4
return
-Route110_TrickHousePuzzle5_EventScript_26D3AC:: @ 826D3AC
+Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight5:: @ 826D3AC
compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5D3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight5
compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5DE
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight5
compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5E9
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight5
compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5F4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight5
compare VAR_TEMP_8, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5FF
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight5
return
-Route110_TrickHousePuzzle5_EventScript_26D3E4:: @ 826D3E4
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60A
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft1:: @ 826D3E4
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D3EF:: @ 826D3EF
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60A
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft1:: @ 826D3EF
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D3FA:: @ 826D3FA
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60A
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft1:: @ 826D3FA
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D405:: @ 826D405
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60A
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft1:: @ 826D405
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D410:: @ 826D410
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60A
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft1:: @ 826D410
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D41B:: @ 826D41B
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft2:: @ 826D41B
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D426:: @ 826D426
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft2:: @ 826D426
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D431:: @ 826D431
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft2:: @ 826D431
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D43C:: @ 826D43C
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft2:: @ 826D43C
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D447:: @ 826D447
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft2:: @ 826D447
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D452:: @ 826D452
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft3:: @ 826D452
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D45D:: @ 826D45D
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft3:: @ 826D45D
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D468:: @ 826D468
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft3:: @ 826D468
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D473:: @ 826D473
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft3:: @ 826D473
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D47E:: @ 826D47E
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60F
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft3:: @ 826D47E
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D489:: @ 826D489
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D613
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft4:: @ 826D489
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D494:: @ 826D494
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D613
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft4:: @ 826D494
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D49F:: @ 826D49F
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D613
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft4:: @ 826D49F
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4AA:: @ 826D4AA
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D613
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft4:: @ 826D4AA
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4B5:: @ 826D4B5
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D613
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft4:: @ 826D4B5
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4C0:: @ 826D4C0
- applymovement 1, Movement_26D618
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft5:: @ 826D4C0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkLeft5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4CB:: @ 826D4CB
- applymovement 2, Movement_26D618
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft5:: @ 826D4CB
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkLeft5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4D6:: @ 826D4D6
- applymovement 3, Movement_26D618
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft5:: @ 826D4D6
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkLeft5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4E1:: @ 826D4E1
- applymovement 4, Movement_26D618
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft5:: @ 826D4E1
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkLeft5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4EC:: @ 826D4EC
- applymovement 5, Movement_26D618
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft5:: @ 826D4EC
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkLeft5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D4F7:: @ 826D4F7
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D61E
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight1:: @ 826D4F7
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D502:: @ 826D502
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D61E
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight1:: @ 826D502
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D50D:: @ 826D50D
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D61E
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight1:: @ 826D50D
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D518:: @ 826D518
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D61E
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight1:: @ 826D518
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D523:: @ 826D523
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D61E
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight1:: @ 826D523
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight1
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D52E:: @ 826D52E
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D620
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight2:: @ 826D52E
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D539:: @ 826D539
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D620
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight2:: @ 826D539
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D544:: @ 826D544
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D620
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight2:: @ 826D544
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D54F:: @ 826D54F
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D620
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight2:: @ 826D54F
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D55A:: @ 826D55A
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D620
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight2:: @ 826D55A
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight2
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D565:: @ 826D565
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D623
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight3:: @ 826D565
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D570:: @ 826D570
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D623
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight3:: @ 826D570
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D57B:: @ 826D57B
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D623
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight3:: @ 826D57B
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D586:: @ 826D586
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D623
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight3:: @ 826D586
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D591:: @ 826D591
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D623
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight3:: @ 826D591
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight3
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D59C:: @ 826D59C
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D627
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight4:: @ 826D59C
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5A7:: @ 826D5A7
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D627
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight4:: @ 826D5A7
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5B2:: @ 826D5B2
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D627
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight4:: @ 826D5B2
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5BD:: @ 826D5BD
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D627
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight4:: @ 826D5BD
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5C8:: @ 826D5C8
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D627
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight4:: @ 826D5C8
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight4
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5D3:: @ 826D5D3
- applymovement 1, Route110_TrickHousePuzzle5_Movement_26D62C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight5:: @ 826D5D3
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_WalkRight5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5DE:: @ 826D5DE
- applymovement 2, Route110_TrickHousePuzzle5_Movement_26D62C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight5:: @ 826D5DE
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_WalkRight5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5E9:: @ 826D5E9
- applymovement 3, Route110_TrickHousePuzzle5_Movement_26D62C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight5:: @ 826D5E9
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_WalkRight5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5F4:: @ 826D5F4
- applymovement 4, Route110_TrickHousePuzzle5_Movement_26D62C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight5:: @ 826D5F4
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_WalkRight5
waitmovement 0
return
-Route110_TrickHousePuzzle5_EventScript_26D5FF:: @ 826D5FF
- applymovement 5, Route110_TrickHousePuzzle5_Movement_26D62C
+Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight5:: @ 826D5FF
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_WalkRight5
waitmovement 0
return
-Route110_TrickHousePuzzle5_Movement_26D60A: @ 826D60A
+Route110_TrickHousePuzzle5_Movement_WalkLeft1: @ 826D60A
walk_left
step_end
-Route110_TrickHousePuzzle5_Movement_26D60C: @ 826D60C
+Route110_TrickHousePuzzle5_Movement_WalkLeft2: @ 826D60C
walk_left
walk_left
step_end
-Route110_TrickHousePuzzle5_Movement_26D60F: @ 826D60F
+Route110_TrickHousePuzzle5_Movement_WalkLeft3: @ 826D60F
walk_left
walk_left
walk_left
step_end
-Route110_TrickHousePuzzle5_Movement_26D613: @ 826D613
+Route110_TrickHousePuzzle5_Movement_WalkLeft4: @ 826D613
walk_left
walk_left
walk_left
walk_left
step_end
-
-Movement_26D618: @ 826D618
+Route110_TrickHousePuzzle5_Movement_WalkLeft5: @ 826D618
walk_left
walk_left
walk_left
@@ -885,29 +890,29 @@ Movement_26D618: @ 826D618
walk_left
step_end
-Route110_TrickHousePuzzle5_Movement_26D61E: @ 826D61E
+Route110_TrickHousePuzzle5_Movement_WalkRight1: @ 826D61E
walk_right
step_end
-Route110_TrickHousePuzzle5_Movement_26D620: @ 826D620
+Route110_TrickHousePuzzle5_Movement_WalkRight2: @ 826D620
walk_right
walk_right
step_end
-Route110_TrickHousePuzzle5_Movement_26D623: @ 826D623
+Route110_TrickHousePuzzle5_Movement_WalkRight3: @ 826D623
walk_right
walk_right
walk_right
step_end
-Route110_TrickHousePuzzle5_Movement_26D627: @ 826D627
+Route110_TrickHousePuzzle5_Movement_WalkRight4: @ 826D627
walk_right
walk_right
walk_right
walk_right
step_end
-Route110_TrickHousePuzzle5_Movement_26D62C: @ 826D62C
+Route110_TrickHousePuzzle5_Movement_WalkRight5: @ 826D62C
walk_right
walk_right
walk_right
@@ -915,8 +920,7 @@ Route110_TrickHousePuzzle5_Movement_26D62C: @ 826D62C
walk_right
step_end
-Route110_TrickHouseEntrance_Movement_26D632: @ 826D632
-Route110_TrickHousePuzzle5_Movement_26D632: @ 826D632
+Route110_TrickHousePuzzle5_Movement_MechadollShake: @ 826D632
face_left
delay_2
face_right
@@ -964,128 +968,128 @@ Route110_TrickHousePuzzle5_Movement_26D632: @ 826D632
face_down
step_end
-Route110_TrickHousePuzzle5_Text_26D660: @ 826D660
+Route110_TrickHousePuzzle5_Text_WroteSecretCodeLockOpened: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll1Intro: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz1: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz2: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll1Quiz3: @ 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
+Route110_TrickHousePuzzle5_Text_CorrectGoThrough: @ 826D84D
.string "CONGRATULATIONS. CORRECT YOU ARE.\n"
.string "GO THROUGH. PLEASE.$"
-Route110_TrickHousePuzzle5_Text_26D883: @ 826D883
+Route110_TrickHousePuzzle5_Text_DisappointmentError: @ 826D883
.string "BZZZT. DISAPPOINTMENT.\n"
.string "ERROR.$"
-Route110_TrickHousePuzzle5_Text_26D8A1: @ 826D8A1
+Route110_TrickHousePuzzle5_Text_Wahahahaha: @ 826D8A1
.string "WAHAHAHAHA! WAHAHAHAHA!\n"
.string "CLICKETY-CLACK!$"
-Route110_TrickHousePuzzle5_Text_26D8C9: @ 826D8C9
+Route110_TrickHousePuzzle5_Text_WaitForNextChallenge: @ 826D8C9
.string "YOUR NEXT CHALLENGE WE WAIT FOR.$"
-Route110_TrickHousePuzzle5_Text_26D8EA: @ 826D8EA
+Route110_TrickHousePuzzle5_Text_Mechadoll2Intro: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz1: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz2: @ 826D98C
.string "MECHADOLL 2 QUIZ.\p"
.string "Which of these POKéMON was chasing\n"
.string "PROF. BIRCH?$"
-Route110_TrickHousePuzzle5_Text_26D9CE: @ 826D9CE
+Route110_TrickHousePuzzle5_Text_Mechadoll2Quiz3: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll3Intro: @ 826DA1E
.string "CLICKETY-CLACK…\n"
.string "MECHADOLL 3 AM I!\p"
.string "MATTERS OF MONEY ARE MY SOLE FOCUS.$"
-Route110_TrickHousePuzzle5_Text_26DA64: @ 826DA64
+Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz1: @ 826DA64
.string "MECHADOLL 3 QUIZ.\p"
.string "Which costs more?\n"
.string "Three HARBOR MAILS or one BURN HEAL?$"
-Route110_TrickHousePuzzle5_Text_26DAAD: @ 826DAAD
+Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz2: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll3Quiz3: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll4Intro: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz1: @ 826DB94
.string "MECHADOLL 4 QUIZ.\p"
.string "In SEASHORE HOUSE, were there more men\n"
.string "or women?$"
-Route110_TrickHousePuzzle5_Text_26DBD7: @ 826DBD7
+Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz2: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll4Quiz3: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll5Intro: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz1: @ 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
+Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz2: @ 826DD1B
.string "MECHADOLL 5 QUIZ.\p"
.string "In FORTREE CITY, how many\n"
.string "tree houses were there?$"
-Route110_TrickHousePuzzle5_Text_26DD5F: @ 826DD5F
+Route110_TrickHousePuzzle5_Text_Mechadoll5Quiz3: @ 826DD5F
.string "MECHADOLL 5 QUIZ.\p"
.string "On the CYCLING ROAD, how many\n"
.string "TRIATHLETES were there?$"
diff --git a/data/maps/Route110_TrickHousePuzzle6/map.json b/data/maps/Route110_TrickHousePuzzle6/map.json
index aef182fbb..797bb9f60 100644
--- a/data/maps/Route110_TrickHousePuzzle6/map.json
+++ b/data/maps/Route110_TrickHousePuzzle6/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle6_EventScript_26DDE1",
+ "script": "Route110_TrickHousePuzzle6_EventScript_Sophia",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route110_TrickHousePuzzle6_EventScript_26DDF8",
+ "script": "Route110_TrickHousePuzzle6_EventScript_Benny",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle6_EventScript_26DE0F",
+ "script": "Route110_TrickHousePuzzle6_EventScript_Sebastian",
"flag": "0"
},
{
@@ -98,7 +98,7 @@
"y": 10,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle6_EventScript_26DDC4"
+ "script": "Route110_TrickHousePuzzle6_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
index 685a0170b..142b89f42 100644
--- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
@@ -1,87 +1,87 @@
Route110_TrickHousePuzzle6_MapScripts:: @ 826DDA7
map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle6_OnTransition
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHousePuzzle6_MapScript2_26DDB6
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route110_TrickHousePuzzle6_OnWarp
.byte 0
Route110_TrickHousePuzzle6_OnTransition: @ 826DDB2
special RotatingGate_InitPuzzle
end
-Route110_TrickHousePuzzle6_MapScript2_26DDB6: @ 826DDB6
- map_script_2 VAR_TEMP_0, 16384, Route110_TrickHousePuzzle6_EventScript_26DDC0
+Route110_TrickHousePuzzle6_OnWarp: @ 826DDB6
+ map_script_2 VAR_TEMP_0, VAR_TEMP_0, Route110_TrickHousePuzzle6_EventScript_InitPuzzle
.2byte 0
-Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0
+Route110_TrickHousePuzzle6_EventScript_InitPuzzle:: @ 826DDC0
special RotatingGate_InitPuzzleAndGraphics
end
-Route110_TrickHousePuzzle6_EventScript_26DDC4:: @ 826DDC4
+Route110_TrickHousePuzzle6_EventScript_Scroll:: @ 826DDC4
lockall
compare VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle6_EventScript_26DDD6
- goto Route110_TrickHousePuzzle6_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle6_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle6_EventScript_26DDD6:: @ 826DDD6
+Route110_TrickHousePuzzle6_EventScript_FoundScroll:: @ 826DDD6
setvar VAR_TRICK_HOUSE_PUZZLE_6_STATE, 1
- goto Route110_TrickHousePuzzle6_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle6_EventScript_26DDE1:: @ 826DDE1
- trainerbattle_single TRAINER_SOPHIA, Route110_TrickHousePuzzle6_Text_26DE93, Route110_TrickHousePuzzle6_Text_26DED2
- msgbox Route110_TrickHousePuzzle6_Text_26DEF3, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle6_EventScript_Sophia:: @ 826DDE1
+ trainerbattle_single TRAINER_SOPHIA, Route110_TrickHousePuzzle6_Text_SophiaIntro, Route110_TrickHousePuzzle6_Text_SophiaDefeat
+ msgbox Route110_TrickHousePuzzle6_Text_SophiaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle6_EventScript_26DDF8:: @ 826DDF8
- trainerbattle_single TRAINER_BENNY, Route110_TrickHousePuzzle6_Text_26DF55, Route110_TrickHousePuzzle6_Text_26DF8D
- msgbox Route110_TrickHousePuzzle6_Text_26DFA0, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle6_EventScript_Benny:: @ 826DDF8
+ trainerbattle_single TRAINER_BENNY, Route110_TrickHousePuzzle6_Text_BennyIntro, Route110_TrickHousePuzzle6_Text_BennyDefeat
+ msgbox Route110_TrickHousePuzzle6_Text_BennyPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle6_EventScript_26DE0F:: @ 826DE0F
- trainerbattle_single TRAINER_SEBASTIAN, Route110_TrickHousePuzzle6_Text_26DFD7, Route110_TrickHousePuzzle6_Text_26E004
- msgbox Route110_TrickHousePuzzle6_Text_26E048, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle6_EventScript_Sebastian:: @ 826DE0F
+ trainerbattle_single TRAINER_SEBASTIAN, Route110_TrickHousePuzzle6_Text_SebastianIntro, Route110_TrickHousePuzzle6_Text_SebastianDefeat
+ msgbox Route110_TrickHousePuzzle6_Text_SebastianPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle6_Text_26DE26: @ 826DE26
+Route110_TrickHousePuzzle6_Text_WroteSecretCodeLockOpened: @ 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
+Route110_TrickHousePuzzle6_Text_SophiaIntro: @ 826DE93
.string "When I heard there was a strange\n"
.string "house, I had to check it out.$"
-Route110_TrickHousePuzzle6_Text_26DED2: @ 826DED2
+Route110_TrickHousePuzzle6_Text_SophiaDefeat: @ 826DED2
.string "I've discovered a tough TRAINER!$"
-Route110_TrickHousePuzzle6_Text_26DEF3: @ 826DEF3
+Route110_TrickHousePuzzle6_Text_SophiaPostBattle: @ 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
+Route110_TrickHousePuzzle6_Text_BennyIntro: @ 826DF55
.string "Maybe I could get my BIRD POKéMON\n"
.string "to fly over the wall…$"
-Route110_TrickHousePuzzle6_Text_26DF8D: @ 826DF8D
+Route110_TrickHousePuzzle6_Text_BennyDefeat: @ 826DF8D
.string "Gwaaah! I blew it!$"
-Route110_TrickHousePuzzle6_Text_26DFA0: @ 826DFA0
+Route110_TrickHousePuzzle6_Text_BennyPostBattle: @ 826DFA0
.string "Ehehehe… I guess I lost because\n"
.string "I was trying to cheat.$"
-Route110_TrickHousePuzzle6_Text_26DFD7: @ 826DFD7
+Route110_TrickHousePuzzle6_Text_SebastianIntro: @ 826DFD7
.string "I'm getting dizzy from these rotating\n"
.string "doors…$"
-Route110_TrickHousePuzzle6_Text_26E004: @ 826E004
+Route110_TrickHousePuzzle6_Text_SebastianDefeat: @ 826E004
.string "Everything's spinning around and\n"
.string "around. I can't take this anymore…$"
-Route110_TrickHousePuzzle6_Text_26E048: @ 826E048
+Route110_TrickHousePuzzle6_Text_SebastianPostBattle: @ 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/maps/Route110_TrickHousePuzzle7/map.json b/data/maps/Route110_TrickHousePuzzle7/map.json
index 09fdafbe2..1e31e2f74 100644
--- a/data/maps/Route110_TrickHousePuzzle7/map.json
+++ b/data/maps/Route110_TrickHousePuzzle7/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E389",
+ "script": "Route110_TrickHousePuzzle7_EventScript_Joshua",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E3B7",
+ "script": "Route110_TrickHousePuzzle7_EventScript_Alexis",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E3A0",
+ "script": "Route110_TrickHousePuzzle7_EventScript_Patricia",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E3E5",
+ "script": "Route110_TrickHousePuzzle7_EventScript_Alvaro",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E3CE",
+ "script": "Route110_TrickHousePuzzle7_EventScript_Mariela",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E3FC",
+ "script": "Route110_TrickHousePuzzle7_EventScript_Everett",
"flag": "0"
},
{
@@ -233,7 +233,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E31B"
+ "script": "Route110_TrickHousePuzzle7_EventScript_YellowButton"
},
{
"type": "trigger",
@@ -242,7 +242,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E331"
+ "script": "Route110_TrickHousePuzzle7_EventScript_BlueButton"
},
{
"type": "trigger",
@@ -251,7 +251,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E347"
+ "script": "Route110_TrickHousePuzzle7_EventScript_GreenButton"
},
{
"type": "trigger",
@@ -260,7 +260,7 @@
"elevation": 0,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E35D"
+ "script": "Route110_TrickHousePuzzle7_EventScript_PurpleButton"
}
],
"bg_events": [
@@ -270,7 +270,7 @@
"y": 17,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle7_EventScript_26E1D0"
+ "script": "Route110_TrickHousePuzzle7_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
index db651d8ce..6b7559389 100644
--- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
@@ -1,75 +1,79 @@
Route110_TrickHousePuzzle7_MapScripts:: @ 826E091
- map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle7_MapScript1_26E0A6
+ map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHousePuzzle7_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle7_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle7_MapScript1_26E1B4
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHousePuzzle7_MapScript2_26E1C0
+ map_script MAP_SCRIPT_ON_LOAD, Route110_TrickHousePuzzle7_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHousePuzzle7_OnFrame
.byte 0
-Route110_TrickHousePuzzle7_MapScript1_26E0A6: @ 826E0A6
- call Route110_TrickHousePuzzle7_EventScript_26E0AC
+@ Puzzle Room 7 in RSE uses whatever puzzle Mossdeep Gym uses
+@ Because Mossdeep Gym was redesigned for Emerald, theres a good deal of leftover script from the old R/S puzzle
+
+Route110_TrickHousePuzzle7_OnResume: @ 826E0A6
+ call Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles
end
-Route110_TrickHousePuzzle7_EventScript_26E0AC:: @ 826E0AC
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E0DA
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E0ED
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E100
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E113
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E126
+Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles:: @ 826E0AC
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn
return
-Route110_TrickHousePuzzle7_EventScript_26E0DA:: @ 826E0DA
+@ Leftover from R/S, none of the below metatile scripts are ever called
+Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn:: @ 826E0DA
setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0
setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_On, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E0ED:: @ 826E0ED
+Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn:: @ 826E0ED
setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0
setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_On, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E100:: @ 826E100
+Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn:: @ 826E100
setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0
setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_On, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E113:: @ 826E113
+Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn:: @ 826E113
setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt, 0
setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_On, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E126:: @ 826E126
+Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn:: @ 826E126
setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, 0
setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_On, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E139:: @ 826E139
+Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOff:: @ 826E139
setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, 0
setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_Off, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E14C:: @ 826E14C
+Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOff:: @ 826E14C
setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, 0
setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_Off, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E15F:: @ 826E15F
+Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOff:: @ 826E15F
setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, 0
setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_Off, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E172:: @ 826E172
+Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOff:: @ 826E172
setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt, 0
setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_Off, 1
return
-Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185
+Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOff:: @ 826E185
setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right, 0
setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_Off, 1
return
Route110_TrickHousePuzzle7_OnTransition: @ 826E198
compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1B3
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_TeleportedTransition
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
@@ -77,35 +81,36 @@ Route110_TrickHousePuzzle7_OnTransition: @ 826E198
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
end
-Route110_TrickHousePuzzle7_EventScript_26E1B3:: @ 826E1B3
+Route110_TrickHousePuzzle7_EventScript_TeleportedTransition:: @ 826E1B3
end
-Route110_TrickHousePuzzle7_MapScript1_26E1B4: @ 826E1B4
+Route110_TrickHousePuzzle7_OnLoad: @ 826E1B4
compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1
- call_if_eq Route110_TrickHousePuzzle7_EventScript_26E0AC
+ call_if_eq Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles
end
-Route110_TrickHousePuzzle7_MapScript2_26E1C0: @ 826E1C0
- map_script_2 VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1, Route110_TrickHousePuzzle7_EventScript_26E1CA
+Route110_TrickHousePuzzle7_OnFrame: @ 826E1C0
+ map_script_2 VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1, Route110_TrickHousePuzzle7_EventScript_ClearState2
.2byte 0
-Route110_TrickHousePuzzle7_EventScript_26E1CA:: @ 826E1CA
+Route110_TrickHousePuzzle7_EventScript_ClearState2:: @ 826E1CA
setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 0
end
-Route110_TrickHousePuzzle7_EventScript_26E1D0:: @ 826E1D0
+Route110_TrickHousePuzzle7_EventScript_Scroll:: @ 826E1D0
lockall
compare VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1E2
- goto Route110_TrickHousePuzzle7_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle7_EventScript_26E1E2:: @ 826E1E2
+Route110_TrickHousePuzzle7_EventScript_FoundScroll:: @ 826E1E2
setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE, 1
- goto Route110_TrickHousePuzzle7_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED
+@ Unused, leftover from R/S
+Route110_TrickHousePuzzle7_EventScript_TeleportPad:: @ 826E1ED
lockall
setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1
warpteleport MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 255, 3, 19
@@ -113,274 +118,278 @@ Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E1FE:: @ 826E1FE
+@ All the below switch scripts are unused leftover from R/S
+Route110_TrickHousePuzzle7_EventScript_Switch1:: @ 826E1FE
lockall
delay 32
- call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E0DA
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E139
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOff
special DrawWholeMapView
playse SE_TK_KASYA
- goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E2E9
- goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_26E2EE
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1On
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, Route110_TrickHousePuzzle7_EventScript_SetSwitch1Off
end
-Route110_TrickHousePuzzle7_EventScript_26E22D:: @ 826E22D
+Route110_TrickHousePuzzle7_EventScript_Switch2:: @ 826E22D
lockall
delay 32
- call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E0ED
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E14C
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOff
special DrawWholeMapView
playse SE_TK_KASYA
- goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E2F3
- goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_26E2F8
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2On
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, Route110_TrickHousePuzzle7_EventScript_SetSwitch2Off
end
-Route110_TrickHousePuzzle7_EventScript_26E25C:: @ 826E25C
+Route110_TrickHousePuzzle7_EventScript_Switch3:: @ 826E25C
lockall
delay 32
- call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E100
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E15F
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOff
special DrawWholeMapView
playse SE_TK_KASYA
- goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E2FD
- goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_26E302
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3On
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, Route110_TrickHousePuzzle7_EventScript_SetSwitch3Off
end
-Route110_TrickHousePuzzle7_EventScript_26E28B:: @ 826E28B
+Route110_TrickHousePuzzle7_EventScript_Switch4:: @ 826E28B
lockall
delay 32
- call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E113
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E172
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOff
special DrawWholeMapView
playse SE_TK_KASYA
- goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E307
- goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_26E30C
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4On
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, Route110_TrickHousePuzzle7_EventScript_SetSwitch4Off
end
-Route110_TrickHousePuzzle7_EventScript_26E2BA:: @ 826E2BA
+Route110_TrickHousePuzzle7_EventScript_Switch5:: @ 826E2BA
lockall
delay 32
- call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E126
- call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E185
+ call_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn
+ call_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOff
special DrawWholeMapView
playse SE_TK_KASYA
- goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E311
- goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_26E316
+ goto_if_unset FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5On
+ goto_if_set FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, Route110_TrickHousePuzzle7_EventScript_SetSwitch5Off
end
-Route110_TrickHousePuzzle7_EventScript_26E2E9:: @ 826E2E9
+@ All the below switch scripts are unused leftover from R/S
+Route110_TrickHousePuzzle7_EventScript_SetSwitch1On:: @ 826E2E9
setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E2EE:: @ 826E2EE
+Route110_TrickHousePuzzle7_EventScript_SetSwitch1Off:: @ 826E2EE
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E2F3:: @ 826E2F3
+Route110_TrickHousePuzzle7_EventScript_SetSwitch2On:: @ 826E2F3
setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E2F8:: @ 826E2F8
+Route110_TrickHousePuzzle7_EventScript_SetSwitch2Off:: @ 826E2F8
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E2FD:: @ 826E2FD
+Route110_TrickHousePuzzle7_EventScript_SetSwitch3On:: @ 826E2FD
setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E302:: @ 826E302
+Route110_TrickHousePuzzle7_EventScript_SetSwitch3Off:: @ 826E302
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E307:: @ 826E307
+Route110_TrickHousePuzzle7_EventScript_SetSwitch4On:: @ 826E307
setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E30C:: @ 826E30C
+Route110_TrickHousePuzzle7_EventScript_SetSwitch4Off:: @ 826E30C
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E311:: @ 826E311
+Route110_TrickHousePuzzle7_EventScript_SetSwitch5On:: @ 826E311
setflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E316:: @ 826E316
+Route110_TrickHousePuzzle7_EventScript_SetSwitch5Off:: @ 826E316
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5
releaseall
end
-Route110_TrickHousePuzzle7_EventScript_26E31B:: @ 826E31B
+@ From here is where the new, actually used puzzle scripts begin
+Route110_TrickHousePuzzle7_EventScript_YellowButton:: @ 826E31B
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 1
- mossdeepgym1 0
+ initrotatingtilepuzzle TRUE
+ moverotatingtileobjects 0
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-Route110_TrickHousePuzzle7_EventScript_26E331:: @ 826E331
+Route110_TrickHousePuzzle7_EventScript_BlueButton:: @ 826E331
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 1
- mossdeepgym1 1
+ initrotatingtilepuzzle TRUE
+ moverotatingtileobjects 1
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-Route110_TrickHousePuzzle7_EventScript_26E347:: @ 826E347
+Route110_TrickHousePuzzle7_EventScript_GreenButton:: @ 826E347
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 1
- mossdeepgym1 2
+ initrotatingtilepuzzle TRUE
+ moverotatingtileobjects 2
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-Route110_TrickHousePuzzle7_EventScript_26E35D:: @ 826E35D
+Route110_TrickHousePuzzle7_EventScript_PurpleButton:: @ 826E35D
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 1
- mossdeepgym1 3
+ initrotatingtilepuzzle TRUE
+ moverotatingtileobjects 3
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-Route110_TrickHousePuzzle7_EventScript_26E373:: @ 826E373
+@ Unused
+Route110_TrickHousePuzzle7_EventScript_RedButton:: @ 826E373
playse SE_MU_PACHI
waitse
playse SE_TU_SAA
- mossdeepgym3 1
- mossdeepgym1 4
+ initrotatingtilepuzzle TRUE
+ moverotatingtileobjects 4
waitmovement 0
- mossdeepgym2
+ turnrotatingtileobjects
waitmovement 0
- mossdeepgym4
+ freerotatingtilepuzzle
end
-Route110_TrickHousePuzzle7_EventScript_26E389:: @ 826E389
- trainerbattle_single TRAINER_JOSHUA, Route110_TrickHousePuzzle7_Text_26E481, Route110_TrickHousePuzzle7_Text_26E4C1
- msgbox Route110_TrickHousePuzzle7_Text_26E4F4, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle7_EventScript_Joshua:: @ 826E389
+ trainerbattle_single TRAINER_JOSHUA, Route110_TrickHousePuzzle7_Text_JoshuaIntro, Route110_TrickHousePuzzle7_Text_JoshuaDefeat
+ msgbox Route110_TrickHousePuzzle7_Text_JoshuaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle7_EventScript_26E3A0:: @ 826E3A0
- trainerbattle_single TRAINER_PATRICIA, Route110_TrickHousePuzzle7_Text_26E531, Route110_TrickHousePuzzle7_Text_26E564
- msgbox Route110_TrickHousePuzzle7_Text_26E57F, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle7_EventScript_Patricia:: @ 826E3A0
+ trainerbattle_single TRAINER_PATRICIA, Route110_TrickHousePuzzle7_Text_PatriciaIntro, Route110_TrickHousePuzzle7_Text_PatriciaDefeat
+ msgbox Route110_TrickHousePuzzle7_Text_PatriciaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle7_EventScript_26E3B7:: @ 826E3B7
- trainerbattle_single TRAINER_ALEXIS, Route110_TrickHousePuzzle7_Text_26E5C0, Route110_TrickHousePuzzle7_Text_26E604
- msgbox Route110_TrickHousePuzzle7_Text_26E61E, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle7_EventScript_Alexis:: @ 826E3B7
+ trainerbattle_single TRAINER_ALEXIS, Route110_TrickHousePuzzle7_Text_AlexisIntro, Route110_TrickHousePuzzle7_Text_AlexisDefeat
+ msgbox Route110_TrickHousePuzzle7_Text_AlexisPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle7_EventScript_26E3CE:: @ 826E3CE
- trainerbattle_single TRAINER_MARIELA, Route110_TrickHousePuzzle7_Text_26E66B, Route110_TrickHousePuzzle7_Text_26E69C
- msgbox Route110_TrickHousePuzzle7_Text_26E6BC, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle7_EventScript_Mariela:: @ 826E3CE
+ trainerbattle_single TRAINER_MARIELA, Route110_TrickHousePuzzle7_Text_MarielaIntro, Route110_TrickHousePuzzle7_Text_MarielaDefeat
+ msgbox Route110_TrickHousePuzzle7_Text_MarielaPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle7_EventScript_26E3E5:: @ 826E3E5
- trainerbattle_single TRAINER_ALVARO, Route110_TrickHousePuzzle7_Text_26E6DA, Route110_TrickHousePuzzle7_Text_26E700
- msgbox Route110_TrickHousePuzzle7_Text_26E722, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle7_EventScript_Alvaro:: @ 826E3E5
+ trainerbattle_single TRAINER_ALVARO, Route110_TrickHousePuzzle7_Text_AlvaroIntro, Route110_TrickHousePuzzle7_Text_AlvaroDefeat
+ msgbox Route110_TrickHousePuzzle7_Text_AlvaroPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle7_EventScript_26E3FC:: @ 826E3FC
- trainerbattle_single TRAINER_EVERETT, Route110_TrickHousePuzzle7_Text_26E78D, Route110_TrickHousePuzzle7_Text_26E7AB
- msgbox Route110_TrickHousePuzzle7_Text_26E7C4, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle7_EventScript_Everett:: @ 826E3FC
+ trainerbattle_single TRAINER_EVERETT, Route110_TrickHousePuzzle7_Text_EverettIntro, Route110_TrickHousePuzzle7_Text_EverettDefeat
+ msgbox Route110_TrickHousePuzzle7_Text_EverettPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle7_EventScript_26E413:: @ 826E413
+Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened:: @ 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
+Route110_TrickHousePuzzle7_Text_JoshuaIntro: @ 826E481
.string "The TRICK MASTER always vanishes\n"
.string "like smoke. How does he do it?$"
-Route110_TrickHousePuzzle7_Text_26E4C1: @ 826E4C1
+Route110_TrickHousePuzzle7_Text_JoshuaDefeat: @ 826E4C1
.string "Aiyeeeh! You're much too strong!\n"
.string "How do you do it?$"
-Route110_TrickHousePuzzle7_Text_26E4F4: @ 826E4F4
+Route110_TrickHousePuzzle7_Text_JoshuaPostBattle: @ 826E4F4
.string "I wish I could appear and disappear as\n"
.string "if I were smoke, too.$"
-Route110_TrickHousePuzzle7_Text_26E531: @ 826E531
+Route110_TrickHousePuzzle7_Text_PatriciaIntro: @ 826E531
.string "Going around the same spot…\n"
.string "It begets ill fortune…$"
-Route110_TrickHousePuzzle7_Text_26E564: @ 826E564
+Route110_TrickHousePuzzle7_Text_PatriciaDefeat: @ 826E564
.string "Defeated!\n"
.string "It's a bad sign…$"
-Route110_TrickHousePuzzle7_Text_26E57F: @ 826E57F
+Route110_TrickHousePuzzle7_Text_PatriciaPostBattle: @ 826E57F
.string "I've circled the same spot over ten\n"
.string "times now… It's ill fortune…$"
-Route110_TrickHousePuzzle7_Text_26E5C0: @ 826E5C0
+Route110_TrickHousePuzzle7_Text_AlexisIntro: @ 826E5C0
.string "Whoever wins will get through here\n"
.string "first. That's the feeling I get.$"
-Route110_TrickHousePuzzle7_Text_26E604: @ 826E604
+Route110_TrickHousePuzzle7_Text_AlexisDefeat: @ 826E604
.string "Oh!\n"
.string "Well, go ahead, then!$"
-Route110_TrickHousePuzzle7_Text_26E61E: @ 826E61E
+Route110_TrickHousePuzzle7_Text_AlexisPostBattle: @ 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
+Route110_TrickHousePuzzle7_Text_MarielaIntro: @ 826E66B
.string "Nufufufu, here at last!\n"
.string "Let's get right with it!$"
-Route110_TrickHousePuzzle7_Text_26E69C: @ 826E69C
+Route110_TrickHousePuzzle7_Text_MarielaDefeat: @ 826E69C
.string "You're so casual about winning!$"
-Route110_TrickHousePuzzle7_Text_26E6BC: @ 826E6BC
+Route110_TrickHousePuzzle7_Text_MarielaPostBattle: @ 826E6BC
.string "Humph! I'm not upset!\n"
.string "Not me!$"
-Route110_TrickHousePuzzle7_Text_26E6DA: @ 826E6DA
+Route110_TrickHousePuzzle7_Text_AlvaroIntro: @ 826E6DA
.string "I ever so closely watched you coming!$"
-Route110_TrickHousePuzzle7_Text_26E700: @ 826E700
+Route110_TrickHousePuzzle7_Text_AlvaroDefeat: @ 826E700
.string "This outcome I didn't see coming…$"
-Route110_TrickHousePuzzle7_Text_26E722: @ 826E722
+Route110_TrickHousePuzzle7_Text_AlvaroPostBattle: @ 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
+Route110_TrickHousePuzzle7_Text_EverettIntro: @ 826E78D
.string "It's awfully cramped in here…$"
-Route110_TrickHousePuzzle7_Text_26E7AB: @ 826E7AB
+Route110_TrickHousePuzzle7_Text_EverettDefeat: @ 826E7AB
.string "Oh, yes, strong you are.$"
-Route110_TrickHousePuzzle7_Text_26E7C4: @ 826E7C4
+Route110_TrickHousePuzzle7_Text_EverettPostBattle: @ 826E7C4
.string "I was hoping to switch places with you\n"
.string "when I beat you, but…$"
diff --git a/data/maps/Route110_TrickHousePuzzle8/map.json b/data/maps/Route110_TrickHousePuzzle8/map.json
index b7a06abce..9e4be0cfc 100644
--- a/data/maps/Route110_TrickHousePuzzle8/map.json
+++ b/data/maps/Route110_TrickHousePuzzle8/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle8_EventScript_26E81F",
+ "script": "Route110_TrickHousePuzzle8_EventScript_Vincent",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle8_EventScript_26E84D",
+ "script": "Route110_TrickHousePuzzle8_EventScript_Leroy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route110_TrickHousePuzzle8_EventScript_26E836",
+ "script": "Route110_TrickHousePuzzle8_EventScript_Keira",
"flag": "0"
},
{
@@ -98,7 +98,7 @@
"y": 21,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route110_TrickHousePuzzle8_EventScript_26E802"
+ "script": "Route110_TrickHousePuzzle8_EventScript_Scroll"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
index dcb12e366..9e4218234 100644
--- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
@@ -1,72 +1,72 @@
Route110_TrickHousePuzzle8_MapScripts:: @ 826E801
.byte 0
-Route110_TrickHousePuzzle8_EventScript_26E802:: @ 826E802
+Route110_TrickHousePuzzle8_EventScript_Scroll:: @ 826E802
lockall
compare VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle8_EventScript_26E814
- goto Route110_TrickHousePuzzle8_EventScript_26A3DB
+ goto_if_eq Route110_TrickHousePuzzle8_EventScript_FoundScroll
+ goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
-Route110_TrickHousePuzzle8_EventScript_26E814:: @ 826E814
+Route110_TrickHousePuzzle8_EventScript_FoundScroll:: @ 826E814
setvar VAR_TRICK_HOUSE_PUZZLE_8_STATE, 1
- goto Route110_TrickHousePuzzle8_EventScript_26A3E5
+ goto Route110_TrickHousePuzzle_EventScript_FoundScroll
end
-Route110_TrickHousePuzzle8_EventScript_26E81F:: @ 826E81F
- trainerbattle_single TRAINER_VINCENT, Route110_TrickHousePuzzle8_Text_26E8CD, Route110_TrickHousePuzzle8_Text_26E8F6
- msgbox Route110_TrickHousePuzzle8_Text_26E918, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle8_EventScript_Vincent:: @ 826E81F
+ trainerbattle_single TRAINER_VINCENT, Route110_TrickHousePuzzle8_Text_VincentIntro, Route110_TrickHousePuzzle8_Text_VincentDefeat
+ msgbox Route110_TrickHousePuzzle8_Text_VincentPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle8_EventScript_26E836:: @ 826E836
- trainerbattle_single TRAINER_KEIRA, Route110_TrickHousePuzzle8_Text_26E954, Route110_TrickHousePuzzle8_Text_26E97F
- msgbox Route110_TrickHousePuzzle8_Text_26E99F, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle8_EventScript_Keira:: @ 826E836
+ trainerbattle_single TRAINER_KEIRA, Route110_TrickHousePuzzle8_Text_KeiraIntro, Route110_TrickHousePuzzle8_Text_KeiraDefeat
+ msgbox Route110_TrickHousePuzzle8_Text_KeiraPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle8_EventScript_26E84D:: @ 826E84D
- trainerbattle_single TRAINER_LEROY, Route110_TrickHousePuzzle8_Text_26E9D7, Route110_TrickHousePuzzle8_Text_26EA14
- msgbox Route110_TrickHousePuzzle8_Text_26EA3F, MSGBOX_AUTOCLOSE
+Route110_TrickHousePuzzle8_EventScript_Leroy:: @ 826E84D
+ trainerbattle_single TRAINER_LEROY, Route110_TrickHousePuzzle8_Text_LeroyIntro, Route110_TrickHousePuzzle8_Text_LeroyDefeat
+ msgbox Route110_TrickHousePuzzle8_Text_LeroyPostBattle, MSGBOX_AUTOCLOSE
end
-Route110_TrickHousePuzzle8_EventScript_26E864:: @ 826E864
+Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened:: @ 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
+Route110_TrickHousePuzzle8_Text_VincentIntro: @ 826E8CD
.string "Not many TRAINERS have made it\n"
.string "this far.$"
-Route110_TrickHousePuzzle8_Text_26E8F6: @ 826E8F6
+Route110_TrickHousePuzzle8_Text_VincentDefeat: @ 826E8F6
.string "That must mean you're tough, too…$"
-Route110_TrickHousePuzzle8_Text_26E918: @ 826E918
+Route110_TrickHousePuzzle8_Text_VincentPostBattle: @ 826E918
.string "You've beaten the POKéMON LEAGUE\n"
.string "CHAMPION? That's too much!$"
-Route110_TrickHousePuzzle8_Text_26E954: @ 826E954
+Route110_TrickHousePuzzle8_Text_KeiraIntro: @ 826E954
.string "Consider yourself lucky to be\n"
.string "battling me!$"
-Route110_TrickHousePuzzle8_Text_26E97F: @ 826E97F
+Route110_TrickHousePuzzle8_Text_KeiraDefeat: @ 826E97F
.string "This isn't right!\n"
.string "I can't lose!$"
-Route110_TrickHousePuzzle8_Text_26E99F: @ 826E99F
+Route110_TrickHousePuzzle8_Text_KeiraPostBattle: @ 826E99F
.string "It's a miracle that you beat me.\n"
.string "You can brag about it.$"
-Route110_TrickHousePuzzle8_Text_26E9D7: @ 826E9D7
+Route110_TrickHousePuzzle8_Text_LeroyIntro: @ 826E9D7
.string "You've been slugging through the TRICK\n"
.string "HOUSE challenge, too.$"
-Route110_TrickHousePuzzle8_Text_26EA14: @ 826EA14
+Route110_TrickHousePuzzle8_Text_LeroyDefeat: @ 826EA14
.string "I see…\n"
.string "You possess an extraordinary style.$"
-Route110_TrickHousePuzzle8_Text_26EA3F: @ 826EA3F
+Route110_TrickHousePuzzle8_Text_LeroyPostBattle: @ 826EA3F
.string "Seeing someone like you should please\n"
.string "the TRICK MASTER.$"
diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json
index ef7e29999..5770ab0c0 100644
--- a/data/maps/Route111/map.json
+++ b/data/maps/Route111/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_1F0FC5",
+ "script": "Route111_EventScript_Victor",
"flag": "FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route111_EventScript_1F121B",
+ "script": "Route111_EventScript_Heidi",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_1F1189",
+ "script": "Route111_EventScript_Man1",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route111_EventScript_1F1204",
+ "script": "Route111_EventScript_Drew",
"flag": "0"
},
{
@@ -157,7 +157,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route111_EventScript_1F1260",
+ "script": "Route111_EventScript_Dusty",
"flag": "0"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route111_EventScript_1F1232",
+ "script": "Route111_EventScript_Beau",
"flag": "0"
},
{
@@ -183,7 +183,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route111_EventScript_1F1249",
+ "script": "Route111_EventScript_Becky",
"flag": "0"
},
{
@@ -196,7 +196,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_28CDF6",
+ "script": "GabbyAndTy_EventScript_TyBattle1",
"flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1"
},
{
@@ -209,7 +209,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_28CDD6",
+ "script": "GabbyAndTy_EventScript_GabbyBattle1",
"flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1"
},
{
@@ -248,7 +248,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_1F0EB9",
+ "script": "Route111_EventScript_Girl",
"flag": "0"
},
{
@@ -300,7 +300,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_28CE96",
+ "script": "GabbyAndTy_EventScript_GabbyBattle4",
"flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3"
},
{
@@ -313,7 +313,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_28CEB6",
+ "script": "GabbyAndTy_EventScript_TyBattle4",
"flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3"
},
{
@@ -326,7 +326,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_28CF16",
+ "script": "GabbyAndTy_EventScript_GabbyBattle6",
"flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2"
},
{
@@ -339,7 +339,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_28CF36",
+ "script": "GabbyAndTy_EventScript_TyBattle6",
"flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2"
},
{
@@ -391,7 +391,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route111_EventScript_1F12D9",
+ "script": "Route111_EventScript_Irene",
"flag": "0"
},
{
@@ -404,7 +404,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route111_EventScript_1F12C2",
+ "script": "Route111_EventScript_Travis",
"flag": "0"
},
{
@@ -417,7 +417,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route111_EventScript_1F12F0",
+ "script": "Route111_EventScript_Daisuke",
"flag": "0"
},
{
@@ -430,7 +430,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route111_EventScript_1F1369",
+ "script": "Route111_EventScript_Brooke",
"flag": "0"
},
{
@@ -443,7 +443,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route111_EventScript_1F1307",
+ "script": "Route111_EventScript_Wilton",
"flag": "0"
},
{
@@ -456,7 +456,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_2765FF",
+ "script": "Route111_EventScript_SecretPowerMan",
"flag": "FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN"
},
{
@@ -469,7 +469,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_1F1192",
+ "script": "Route111_EventScript_Man2",
"flag": "0"
},
{
@@ -482,7 +482,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route111_EventScript_1F13F9",
+ "script": "Route111_EventScript_Tyron",
"flag": "0"
},
{
@@ -495,7 +495,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route111_EventScript_1F1410",
+ "script": "Route111_EventScript_Celina",
"flag": "0"
},
{
@@ -508,7 +508,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route111_EventScript_1F13E2",
+ "script": "Route111_EventScript_Bianca",
"flag": "0"
},
{
@@ -521,7 +521,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route111_EventScript_1F13CB",
+ "script": "Route111_EventScript_Hayden",
"flag": "0"
},
{
@@ -534,7 +534,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route111_EventScript_1F143E",
+ "script": "Route111_EventScript_Bryan",
"flag": "0"
},
{
@@ -547,7 +547,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route111_EventScript_1F1427",
+ "script": "Route111_EventScript_Celia",
"flag": "0"
},
{
@@ -560,7 +560,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route111_EventScript_1F1455",
+ "script": "Route111_EventScript_Branden",
"flag": "0"
},
{
@@ -586,7 +586,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_1F119B",
+ "script": "Route111_EventScript_Hiker",
"flag": "0"
},
{
@@ -625,7 +625,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_EventScript_1F11E4",
+ "script": "Route111_EventScript_RockSmashTipFatMan",
"flag": "FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY"
}
],
@@ -674,7 +674,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -683,7 +683,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F0A"
+ "script": "Route111_EventScript_ViciousSandstormTriggerDown"
},
{
"type": "trigger",
@@ -692,7 +692,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F0A"
+ "script": "Route111_EventScript_ViciousSandstormTriggerDown"
},
{
"type": "trigger",
@@ -701,7 +701,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F0A"
+ "script": "Route111_EventScript_ViciousSandstormTriggerDown"
},
{
"type": "trigger",
@@ -710,7 +710,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -719,7 +719,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F16"
+ "script": "Route111_EventScript_ViciousSandstormTriggerLeft"
},
{
"type": "trigger",
@@ -728,7 +728,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F16"
+ "script": "Route111_EventScript_ViciousSandstormTriggerLeft"
},
{
"type": "trigger",
@@ -737,7 +737,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F16"
+ "script": "Route111_EventScript_ViciousSandstormTriggerLeft"
},
{
"type": "trigger",
@@ -746,7 +746,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F16"
+ "script": "Route111_EventScript_ViciousSandstormTriggerLeft"
},
{
"type": "trigger",
@@ -755,7 +755,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F0A"
+ "script": "Route111_EventScript_ViciousSandstormTriggerDown"
},
{
"type": "trigger",
@@ -764,7 +764,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -773,7 +773,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -782,7 +782,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -791,7 +791,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -800,7 +800,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F16"
+ "script": "Route111_EventScript_ViciousSandstormTriggerLeft"
},
{
"type": "trigger",
@@ -809,7 +809,7 @@
"elevation": 3,
"var": "VAR_TEMP_3",
"var_value": "0",
- "script": "Route111_EventScript_1F0F16"
+ "script": "Route111_EventScript_ViciousSandstormTriggerLeft"
},
{
"type": "trigger",
@@ -818,7 +818,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -827,7 +827,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -836,7 +836,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -845,7 +845,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -854,7 +854,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -863,7 +863,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -872,7 +872,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FB0"
+ "script": "Route111_EventScript_SunTrigger"
},
{
"type": "trigger",
@@ -881,7 +881,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -890,7 +890,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -899,7 +899,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -908,7 +908,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -917,7 +917,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -926,7 +926,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -935,7 +935,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -944,7 +944,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -953,7 +953,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -962,7 +962,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
},
{
"type": "trigger",
@@ -971,7 +971,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "Route111_EventScript_1F0FBD"
+ "script": "Route111_EventScript_SandstormTrigger"
}
],
"bg_events": [
@@ -981,7 +981,7 @@
"y": 114,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route111_EventScript_1F115C"
+ "script": "Route111_EventScript_WinstrateHouseSign"
},
{
"type": "sign",
@@ -989,7 +989,7 @@
"y": 126,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route111_EventScript_1F1153"
+ "script": "Route111_EventScript_RouteSignMauville"
},
{
"type": "sign",
@@ -997,7 +997,7 @@
"y": 66,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route111_EventScript_1F1165"
+ "script": "Route111_EventScript_RouteSign112"
},
{
"type": "sign",
@@ -1005,7 +1005,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route111_EventScript_1F116E"
+ "script": "Route111_EventScript_RouteSign113"
},
{
"type": "secret_base",
@@ -1034,7 +1034,7 @@
"y": 19,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route111_EventScript_1F1177"
+ "script": "Route111_EventScript_OldLadysRestStopSign"
},
{
"type": "secret_base",
@@ -1071,7 +1071,7 @@
"y": 84,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route111_EventScript_1F1180"
+ "script": "Route111_EventScript_TrainerTipsSpAtkSpDef"
},
{
"type": "secret_base",
@@ -1109,7 +1109,7 @@
"y": 116,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route111_EventScript_1F146C"
+ "script": "Route111_EventScript_TrainerHillSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc
index c913d7e6e..5971dc7f9 100644
--- a/data/maps/Route111/scripts.inc
+++ b/data/maps/Route111/scripts.inc
@@ -1,22 +1,23 @@
Route111_MapScripts:: @ 81F0CA7
- map_script MAP_SCRIPT_ON_LOAD, Route111_MapScript1_1F0CBC
+ map_script MAP_SCRIPT_ON_LOAD, Route111_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, Route111_OnTransition
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route111_MapScript2_1F0E46
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route111_MapScript2_1F0E56
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, Route111_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route111_OnFrame
.byte 0
-Route111_MapScript1_1F0CBC: @ 81F0CBC
- call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_1F0CD1
+Route111_OnLoad: @ 81F0CBC
+ call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_CloseDesertRuins
compare VAR_MIRAGE_TOWER_STATE, 1
- call_if_eq Route111_EventScript_1F0CE4
+ call_if_eq Route111_EventScript_ShowTemporaryMirageTower
end
-Route111_EventScript_1F0CD1:: @ 81F0CD1
+Route111_EventScript_CloseDesertRuins:: @ 81F0CD1
setmetatile 29, 86, METATILE_General_RockWall_RockBase, 1
setmetatile 29, 87, METATILE_General_RockWall_SandBase, 1
return
-Route111_EventScript_1F0CE4:: @ 81F0CE4
+@ Show Mirage Tower just prior to disintegration. Mirage Tower is otherwise handled by the map layout
+Route111_EventScript_ShowTemporaryMirageTower:: @ 81F0CE4
setmetatile 18, 53, METATILE_Mauville_MirageTower_Tile0, 0
setmetatile 19, 53, METATILE_Mauville_MirageTower_Tile1, 0
setmetatile 20, 53, METATILE_Mauville_MirageTower_Tile2, 0
@@ -40,53 +41,50 @@ Route111_EventScript_1F0CE4:: @ 81F0CE4
Route111_OnTransition: @ 81F0D87
setvar VAR_TRAINER_HILL_IS_ACTIVE, 0
special SetMirageTowerVisibility
- call_if_unset FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_1F0E3C
+ call_if_unset FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_SetLayoutNoMirageTower
compare VAR_MIRAGE_TOWER_STATE, 1
- call_if_eq Route111_EventScript_1F0DC2
+ call_if_eq Route111_EventScript_SetFallingPlayerGfx
compare VAR_MIRAGE_TOWER_STATE, 2
- call_if_eq Route111_EventScript_1F0E40
- call Route111_EventScript_1F0DE6
- call Route111_EventScript_28CCC7
- checktrainerflag TRAINER_VICKY
- goto_if_lt Route111_EventScript_1F0E26
+ call_if_eq Route111_EventScript_SetMirageTowerGone
+ call Route111_EventScript_CheckSetSandstorm
+ call GabbyAndTy_EventScript_UpdateLocation
+ goto_if_not_defeated TRAINER_VICKY, Route111_EventScript_SetWinstratesNotDefeated
end
-Route111_EventScript_1F0DC2:: @ 81F0DC2
+Route111_EventScript_SetFallingPlayerGfx:: @ 81F0DC2
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq Route111_EventScript_1F0DDA
+ goto_if_eq Route111_EventScript_SetFallingPlayerGfxMale
compare VAR_RESULT, FEMALE
- goto_if_eq Route111_EventScript_1F0DE0
+ goto_if_eq Route111_EventScript_SetFallingPlayerGfxFemale
return
-Route111_EventScript_1F0DDA:: @ 81F0DDA
+Route111_EventScript_SetFallingPlayerGfxMale:: @ 81F0DDA
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-Route111_EventScript_1F0DE0:: @ 81F0DE0
+Route111_EventScript_SetFallingPlayerGfxFemale:: @ 81F0DE0
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-Route111_EventScript_1F0DE6:: @ 81F0DE6
+Route111_EventScript_CheckSetSandstorm:: @ 81F0DE6
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 34
- goto_if_lt Route111_EventScript_1F0E25
+ goto_if_lt Route111_EventScript_EndCheckSetSandstorm
compare VAR_TEMP_1, 107
- goto_if_gt Route111_EventScript_1F0E25
+ goto_if_gt Route111_EventScript_EndCheckSetSandstorm
compare VAR_TEMP_1, 72
- goto_if_gt Route111_EventScript_1F0E22
+ goto_if_gt Route111_EventScript_SetSandstorm
compare VAR_TEMP_0, 2000
- goto_if_gt Route111_EventScript_1F0E25
+ goto_if_gt Route111_EventScript_EndCheckSetSandstorm
compare VAR_TEMP_0, 8
- goto_if_lt Route111_EventScript_1F0E25
-
-Route111_EventScript_1F0E22:: @ 81F0E22
+ goto_if_lt Route111_EventScript_EndCheckSetSandstorm
+Route111_EventScript_SetSandstorm:: @ 81F0E22
setweather WEATHER_SANDSTORM
-
-Route111_EventScript_1F0E25:: @ 81F0E25
+Route111_EventScript_EndCheckSetSandstorm:: @ 81F0E25
return
-Route111_EventScript_1F0E26:: @ 81F0E26
+Route111_EventScript_SetWinstratesNotDefeated:: @ 81F0E26
clearflag FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE
setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE
setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE
@@ -96,27 +94,27 @@ Route111_EventScript_1F0E26:: @ 81F0E26
cleartrainerflag TRAINER_VIVI
end
-Route111_EventScript_1F0E3C:: @ 81F0E3C
+Route111_EventScript_SetLayoutNoMirageTower:: @ 81F0E3C
setmaplayoutindex LAYOUT_ROUTE111_NO_MIRAGE_TOWER
return
-Route111_EventScript_1F0E40:: @ 81F0E40
+Route111_EventScript_SetMirageTowerGone:: @ 81F0E40
setvar VAR_MIRAGE_TOWER_STATE, 3
return
-Route111_MapScript2_1F0E46: @ 81F0E46
- map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_1F0E50
+Route111_OnWarp: @ 81F0E46
+ map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_HidePlayerForMirageTower
.2byte 0
-Route111_EventScript_1F0E50:: @ 81F0E50
+Route111_EventScript_HidePlayerForMirageTower:: @ 81F0E50
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
end
-Route111_MapScript2_1F0E56: @ 81F0E56
- map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_1F0E60
+Route111_OnFrame: @ 81F0E56
+ map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_MirageTowerDisappear
.2byte 0
-Route111_EventScript_1F0E60:: @ 81F0E60
+Route111_EventScript_MirageTowerDisappear:: @ 81F0E60
lockall
special StartMirageTowerShake
waitstate
@@ -128,7 +126,7 @@ Route111_EventScript_1F0E60:: @ 81F0E60
showobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
removeobject 45
delay 16
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
delay 16
special StartMirageTowerDisintegration
waitstate
@@ -136,17 +134,18 @@ Route111_EventScript_1F0E60:: @ 81F0E60
waitstate
setvar VAR_MIRAGE_TOWER_STATE, 2
clearflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
- goto_if_set FLAG_CHOSE_ROOT_FOSSIL, Route111_EventScript_1F0EA7
- msgbox Route111_Text_1F1C74, MSGBOX_DEFAULT
+ goto_if_set FLAG_CHOSE_CLAW_FOSSIL, Route111_EventScript_RootFossilDisappeared
+ msgbox Route111_Text_ClawFossilDisappeared, MSGBOX_DEFAULT
releaseall
end
-Route111_EventScript_1F0EA7:: @ 81F0EA7
- msgbox Route111_Text_1F1C9F, MSGBOX_DEFAULT
+Route111_EventScript_RootFossilDisappeared:: @ 81F0EA7
+ msgbox Route111_Text_RootFossilDisappeared, MSGBOX_DEFAULT
releaseall
end
-Route111_Movement_1F0EB1:: @ 81F0EB1
+@ Unused
+Route111_Movement_PlayerFall:: @ 81F0EB1
store_lock_anim
walk_fast_down
walk_fast_down
@@ -156,498 +155,500 @@ Route111_Movement_1F0EB1:: @ 81F0EB1
walk_fast_down
step_end
-Route111_EventScript_1F0EB9:: @ 81F0EB9
+Route111_EventScript_Girl:: @ 81F0EB9
lock
faceplayer
dotimebasedevents
- goto_if_set FLAG_DAILY_ROUTE_111_RECEIVED_BERRY, Route111_EventScript_1F0EF4
- msgbox Route111_Text_2A6EBD, MSGBOX_DEFAULT
- giveitem_std ITEM_RAZZ_BERRY
- compare VAR_RESULT, 0
+ goto_if_set FLAG_DAILY_ROUTE_111_RECEIVED_BERRY, Route111_EventScript_ReceivedBerry
+ msgbox Route111_Text_WateredPlantsEveryDayTakeBerry, MSGBOX_DEFAULT
+ giveitem ITEM_RAZZ_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_ROUTE_111_RECEIVED_BERRY
special GetPlayerBigGuyGirlString
- msgbox Route111_Text_2A6F3D, MSGBOX_DEFAULT
+ msgbox Route111_Text_GoingToTryToMakeDifferentColorBerries, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F0EF4:: @ 81F0EF4
- msgbox Route111_Text_2A6F9A, MSGBOX_DEFAULT
+Route111_EventScript_ReceivedBerry:: @ 81F0EF4
+ msgbox Route111_Text_WhatColorBerriesToLookForToday, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F0EFE:: @ 81F0EFE
+@ Unused
+Route111_EventScript_ViciousSandstormTriggerUp:: @ 81F0EFE
lockall
setvar VAR_0x8004, 0
- goto Route111_EventScript_1F0F2E
+ goto Route111_EventScript_ViciousSandstormTrigger
end
-Route111_EventScript_1F0F0A:: @ 81F0F0A
+Route111_EventScript_ViciousSandstormTriggerDown:: @ 81F0F0A
lockall
setvar VAR_0x8004, 1
- goto Route111_EventScript_1F0F2E
+ goto Route111_EventScript_ViciousSandstormTrigger
end
-Route111_EventScript_1F0F16:: @ 81F0F16
+Route111_EventScript_ViciousSandstormTriggerLeft:: @ 81F0F16
lockall
setvar VAR_0x8004, 2
- goto Route111_EventScript_1F0F2E
+ goto Route111_EventScript_ViciousSandstormTrigger
end
-Route111_EventScript_1F0F22:: @ 81F0F22
+@ Unused
+Route111_EventScript_ViciousSandstormTriggerRight:: @ 81F0F22
lockall
setvar VAR_0x8004, 3
- goto Route111_EventScript_1F0F2E
+ goto Route111_EventScript_ViciousSandstormTrigger
end
-Route111_EventScript_1F0F2E:: @ 81F0F2E
+Route111_EventScript_ViciousSandstormTrigger:: @ 81F0F2E
checkitem ITEM_GO_GOGGLES, 1
- compare VAR_RESULT, 0
- goto_if_eq Route111_EventScript_1F0F45
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route111_EventScript_PreventRouteAccess
setvar VAR_TEMP_3, 1
releaseall
end
-Route111_EventScript_1F0F45:: @ 81F0F45
- msgbox gUnknown_08272C5F, MSGBOX_DEFAULT
+Route111_EventScript_PreventRouteAccess:: @ 81F0F45
+ msgbox gText_SandstormIsVicious, MSGBOX_DEFAULT
closemessage
compare VAR_0x8004, 0
- call_if_eq Route111_EventScript_1F0F7C
+ call_if_eq Route111_EventScript_PushUpFromRoute
compare VAR_0x8004, 1
- call_if_eq Route111_EventScript_1F0F87
+ call_if_eq Route111_EventScript_PushDownFromRoute
compare VAR_0x8004, 2
- call_if_eq Route111_EventScript_1F0F92
+ call_if_eq Route111_EventScript_PushLeftFromRoute
compare VAR_0x8004, 3
- call_if_eq Route111_EventScript_1F0F9D
+ call_if_eq Route111_EventScript_PushRightFromRoute
releaseall
end
-Route111_EventScript_1F0F7C:: @ 81F0F7C
- applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FA8
+Route111_EventScript_PushUpFromRoute:: @ 81F0F7C
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushUpFromRoute
waitmovement 0
return
-Route111_EventScript_1F0F87:: @ 81F0F87
- applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAA
+Route111_EventScript_PushDownFromRoute:: @ 81F0F87
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushDownFromRoute
waitmovement 0
return
-Route111_EventScript_1F0F92:: @ 81F0F92
- applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAC
+Route111_EventScript_PushLeftFromRoute:: @ 81F0F92
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushLeftFromRoute
waitmovement 0
return
-Route111_EventScript_1F0F9D:: @ 81F0F9D
- applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAE
+Route111_EventScript_PushRightFromRoute:: @ 81F0F9D
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_PushRightFromRoute
waitmovement 0
return
-Route111_Movement_1F0FA8: @ 81F0FA8
+Route111_Movement_PushUpFromRoute: @ 81F0FA8
walk_up
step_end
-Route111_Movement_1F0FAA: @ 81F0FAA
+Route111_Movement_PushDownFromRoute: @ 81F0FAA
walk_down
step_end
-Route111_Movement_1F0FAC: @ 81F0FAC
+Route111_Movement_PushLeftFromRoute: @ 81F0FAC
walk_left
step_end
-Route111_Movement_1F0FAE: @ 81F0FAE
+Route111_Movement_PushRightFromRoute: @ 81F0FAE
walk_right
step_end
-Route111_EventScript_1F0FB0:: @ 81F0FB0
+Route111_EventScript_SunTrigger:: @ 81F0FB0
setweather WEATHER_SUNNY
fadenewbgm MUS_DOORO_X1
doweather
setvar VAR_TEMP_3, 0
end
-Route111_EventScript_1F0FBD:: @ 81F0FBD
+Route111_EventScript_SandstormTrigger:: @ 81F0FBD
setweather WEATHER_SANDSTORM
fadenewbgm MUS_ASHROAD
doweather
end
-Route111_EventScript_1F0FC5:: @ 81F0FC5
+Route111_EventScript_Victor:: @ 81F0FC5
lock
faceplayer
setflag FLAG_LANDMARK_WINSTRATE_FAMILY
- msgbox Route111_Text_1F1475, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route111_EventScript_1F0FE7
- msgbox Route111_Text_1F14F5, MSGBOX_DEFAULT
+ msgbox Route111_Text_BattleOurFamily, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route111_EventScript_BattleWinstrates
+ msgbox Route111_Text_IsThatSo, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F0FE7:: @ 81F0FE7
- msgbox Route111_Text_1F1523, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_VICTOR, Route111_Text_1F1542
- applymovement 1, Common_Movement_WalkInPlaceUp
+Route111_EventScript_BattleWinstrates:: @ 81F0FE7
+ msgbox Route111_Text_VictorIntro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VICTOR, Route111_Text_VictorDefeat
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- call Route111_EventScript_1F113C
- msgbox Route111_Text_1F156F, MSGBOX_DEFAULT
+ call Route111_EventScript_OpenWinstrateDoor
+ msgbox Route111_Text_VictorPostBattle, MSGBOX_DEFAULT
closemessage
- applymovement 1, Route111_Movement_1F114A
+ applymovement 1, Route111_Movement_WinstrateEnterHouse
waitmovement 0
removeobject 1
- call Route111_EventScript_1F1143
- applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F
+ call Route111_EventScript_CloseWinstrateDoor
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_WaitForNextWinstrate
waitmovement 0
- call Route111_EventScript_1F113C
+ call Route111_EventScript_OpenWinstrateDoor
addobject 2
- applymovement 2, Route111_Movement_1F114D
+ applymovement 2, Route111_Movement_WinstrateExitHouse
waitmovement 0
- call Route111_EventScript_1F1143
- msgbox Route111_Text_1F159D, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_VICTORIA, Route111_Text_1F1616
- applymovement 2, Common_Movement_WalkInPlaceUp
+ call Route111_EventScript_CloseWinstrateDoor
+ msgbox Route111_Text_VictoriaIntro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VICTORIA, Route111_Text_VictoriaDefeat
+ applymovement 2, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- call Route111_EventScript_1F113C
- msgbox Route111_Text_1F1645, MSGBOX_DEFAULT
+ call Route111_EventScript_OpenWinstrateDoor
+ msgbox Route111_Text_VictoriaPostBattle, MSGBOX_DEFAULT
closemessage
- applymovement 2, Route111_Movement_1F114A
+ applymovement 2, Route111_Movement_WinstrateEnterHouse
waitmovement 0
removeobject 2
- call Route111_EventScript_1F1143
- applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F
+ call Route111_EventScript_CloseWinstrateDoor
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_WaitForNextWinstrate
waitmovement 0
- call Route111_EventScript_1F113C
+ call Route111_EventScript_OpenWinstrateDoor
addobject 3
- applymovement 3, Route111_Movement_1F114D
+ applymovement 3, Route111_Movement_WinstrateExitHouse
waitmovement 0
- call Route111_EventScript_1F1143
- msgbox Route111_Text_1F167E, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_VIVI, Route111_Text_1F16C6
- applymovement 3, Common_Movement_WalkInPlaceUp
+ call Route111_EventScript_CloseWinstrateDoor
+ msgbox Route111_Text_ViviIntro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VIVI, Route111_Text_ViviDefeat
+ applymovement 3, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- call Route111_EventScript_1F113C
- msgbox Route111_Text_1F16DC, MSGBOX_DEFAULT
+ call Route111_EventScript_OpenWinstrateDoor
+ msgbox Route111_Text_ViviPostBattle, MSGBOX_DEFAULT
closemessage
- applymovement 3, Route111_Movement_1F114A
+ applymovement 3, Route111_Movement_WinstrateEnterHouse
waitmovement 0
removeobject 3
- call Route111_EventScript_1F1143
- applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F
+ call Route111_EventScript_CloseWinstrateDoor
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_WaitForNextWinstrate
waitmovement 0
- call Route111_EventScript_1F113C
+ call Route111_EventScript_OpenWinstrateDoor
addobject 4
- applymovement 4, Route111_Movement_1F114D
+ applymovement 4, Route111_Movement_WinstrateExitHouse
waitmovement 0
- call Route111_EventScript_1F1143
- msgbox Route111_Text_1F16FB, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_VICKY, Route111_Text_1F1756
- msgbox Route111_Text_1F1788, MSGBOX_DEFAULT
+ call Route111_EventScript_CloseWinstrateDoor
+ msgbox Route111_Text_VickyIntro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VICKY, Route111_Text_VickyDefeat
+ msgbox Route111_Text_VickyPostBattle, MSGBOX_DEFAULT
closemessage
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- call Route111_EventScript_1F113C
- applymovement 4, Route111_Movement_1F114A
+ call Route111_EventScript_OpenWinstrateDoor
+ applymovement 4, Route111_Movement_WinstrateEnterHouse
waitmovement 0
removeobject 4
- call Route111_EventScript_1F1143
+ call Route111_EventScript_CloseWinstrateDoor
release
end
-Route111_EventScript_1F113C:: @ 81F113C
+Route111_EventScript_OpenWinstrateDoor:: @ 81F113C
opendoor 13, 113
waitdooranim
return
-Route111_EventScript_1F1143:: @ 81F1143
+Route111_EventScript_CloseWinstrateDoor:: @ 81F1143
closedoor 13, 113
waitdooranim
return
-Route111_Movement_1F114A: @ 81F114A
+Route111_Movement_WinstrateEnterHouse: @ 81F114A
walk_in_place_fastest_up
walk_up
step_end
-Route111_Movement_1F114D: @ 81F114D
+Route111_Movement_WinstrateExitHouse: @ 81F114D
walk_down
step_end
-Route111_Movement_1F114F: @ 81F114F
+Route111_Movement_WaitForNextWinstrate: @ 81F114F
delay_16
delay_16
delay_16
step_end
-Route111_EventScript_1F1153:: @ 81F1153
- msgbox Route111_Text_1F18CE, MSGBOX_SIGN
+Route111_EventScript_RouteSignMauville:: @ 81F1153
+ msgbox Route111_Text_RouteSignMauville, MSGBOX_SIGN
end
-Route111_EventScript_1F115C:: @ 81F115C
- msgbox Route111_Text_1F18E8, MSGBOX_SIGN
+Route111_EventScript_WinstrateHouseSign:: @ 81F115C
+ msgbox Route111_Text_WinstrateHouseSign, MSGBOX_SIGN
end
-Route111_EventScript_1F1165:: @ 81F1165
- msgbox Route111_Text_1F1921, MSGBOX_SIGN
+Route111_EventScript_RouteSign112:: @ 81F1165
+ msgbox Route111_Text_RouteSign112, MSGBOX_SIGN
end
-Route111_EventScript_1F116E:: @ 81F116E
- msgbox Route111_Text_1F1937, MSGBOX_SIGN
+Route111_EventScript_RouteSign113:: @ 81F116E
+ msgbox Route111_Text_RouteSign113, MSGBOX_SIGN
end
-Route111_EventScript_1F1177:: @ 81F1177
- msgbox Route111_Text_1F194D, MSGBOX_SIGN
+Route111_EventScript_OldLadysRestStopSign:: @ 81F1177
+ msgbox Route111_Text_OldLadysRestStopSign, MSGBOX_SIGN
end
-Route111_EventScript_1F1180:: @ 81F1180
- msgbox Route111_Text_1F1987, MSGBOX_SIGN
+Route111_EventScript_TrainerTipsSpAtkSpDef:: @ 81F1180
+ msgbox Route111_Text_TrainerTipsSpAtkSpDef, MSGBOX_SIGN
end
-Route111_EventScript_1F1189:: @ 81F1189
- msgbox Route111_Text_1F17BA, MSGBOX_NPC
+Route111_EventScript_Man1:: @ 81F1189
+ msgbox Route111_Text_ToughToKeepWinningUpTheRanks, MSGBOX_NPC
end
-Route111_EventScript_1F1192:: @ 81F1192
- msgbox Route111_Text_1F186E, MSGBOX_NPC
+Route111_EventScript_Man2:: @ 81F1192
+ msgbox Route111_Text_WinstrateFamilyDestroyedMe, MSGBOX_NPC
end
-Route111_EventScript_1F119B:: @ 81F119B
+Route111_EventScript_Hiker:: @ 81F119B
lock
faceplayer
compare VAR_MIRAGE_TOWER_STATE, 3
- goto_if_eq Route111_EventScript_1F11C6
+ goto_if_eq Route111_EventScript_HikerMirageTowerGone
compare VAR_MIRAGE_TOWER_STATE, 2
- goto_if_eq Route111_EventScript_1F11D0
- goto_if_set FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_1F11DA
- msgbox Route111_Text_1F1A22, MSGBOX_DEFAULT
+ goto_if_eq Route111_EventScript_HikerMirageTowerDisintegrated
+ goto_if_set FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_HikerMirageTowerVisible
+ msgbox Route111_Text_ShouldBeMirageTowerAroundHere, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F11C6:: @ 81F11C6
- msgbox Route111_Text_1F1C12, MSGBOX_DEFAULT
+Route111_EventScript_HikerMirageTowerGone:: @ 81F11C6
+ msgbox Route111_Text_MirageTowerHasntBeenSeenSince, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F11D0:: @ 81F11D0
- msgbox Route111_Text_1F1B92, MSGBOX_DEFAULT
+Route111_EventScript_HikerMirageTowerDisintegrated:: @ 81F11D0
+ msgbox Route111_Text_ThatWasShockingSandRainedDown, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F11DA:: @ 81F11DA
- msgbox Route111_Text_1F1AC7, MSGBOX_DEFAULT
+Route111_EventScript_HikerMirageTowerVisible:: @ 81F11DA
+ msgbox Route111_Text_MirageTowerClearlyVisible, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F11E4:: @ 81F11E4
+Route111_EventScript_RockSmashTipFatMan:: @ 81F11E4
lockall
applymovement 46, Common_Movement_FacePlayer
waitmovement 0
- msgbox Route111_Text_1F1CCA, MSGBOX_DEFAULT
+ msgbox Route111_Text_MauvilleUncleToldMeToTakeRockSmash, MSGBOX_DEFAULT
closemessage
applymovement 46, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-Route111_EventScript_1F1204:: @ 81F1204
- trainerbattle_single TRAINER_DREW, Route111_Text_29878E, Route111_Text_29880A
- msgbox Route111_Text_298853, MSGBOX_AUTOCLOSE
+Route111_EventScript_Drew:: @ 81F1204
+ trainerbattle_single TRAINER_DREW, Route111_Text_DrewIntro, Route111_Text_DrewDefeat
+ msgbox Route111_Text_DrewPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F121B:: @ 81F121B
- trainerbattle_single TRAINER_HEIDI, Route111_Text_2988A3, Route111_Text_298908
- msgbox Route111_Text_29891B, MSGBOX_AUTOCLOSE
+Route111_EventScript_Heidi:: @ 81F121B
+ trainerbattle_single TRAINER_HEIDI, Route111_Text_HeidiIntro, Route111_Text_HeidiDefeat
+ msgbox Route111_Text_HeidiPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1232:: @ 81F1232
- trainerbattle_single TRAINER_BEAU, Route111_Text_29898E, Route111_Text_2989E6
- msgbox Route111_Text_298A03, MSGBOX_AUTOCLOSE
+Route111_EventScript_Beau:: @ 81F1232
+ trainerbattle_single TRAINER_BEAU, Route111_Text_BeauIntro, Route111_Text_BeauDefeat
+ msgbox Route111_Text_BeauPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1249:: @ 81F1249
- trainerbattle_single TRAINER_BECKY, Route111_Text_298A65, Route111_Text_298AAF
- msgbox Route111_Text_298AC0, MSGBOX_AUTOCLOSE
+Route111_EventScript_Becky:: @ 81F1249
+ trainerbattle_single TRAINER_BECKY, Route111_Text_BeckyIntro, Route111_Text_BeckyDefeat
+ msgbox Route111_Text_BeckyPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1260:: @ 81F1260
- trainerbattle_single TRAINER_DUSTY_1, Route111_Text_298B08, Route111_Text_298B53, Route111_EventScript_1F128C
+Route111_EventScript_Dusty:: @ 81F1260
+ trainerbattle_single TRAINER_DUSTY_1, Route111_Text_DustyIntro, Route111_Text_DustyDefeat, Route111_EventScript_RegisterDusty
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route111_EventScript_1F12AB
- msgbox Route111_Text_298B9A, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route111_EventScript_RematchDusty
+ msgbox Route111_Text_DustyPostBattle, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F128C:: @ 81F128C
- special sub_80B4808
+Route111_EventScript_RegisterDusty:: @ 81F128C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route111_Text_298C00, MSGBOX_DEFAULT
+ msgbox Route111_Text_DustyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_DUSTY_1
release
end
-Route111_EventScript_1F12AB:: @ 81F12AB
- trainerbattle_rematch TRAINER_DUSTY_1, Route111_Text_298C5F, Route111_Text_298CD2
- msgbox Route111_Text_298D0C, MSGBOX_AUTOCLOSE
+Route111_EventScript_RematchDusty:: @ 81F12AB
+ trainerbattle_rematch TRAINER_DUSTY_1, Route111_Text_DustyRematchIntro, Route111_Text_DustyRematchDefeat
+ msgbox Route111_Text_DustyPostRematch, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F12C2:: @ 81F12C2
- trainerbattle_single TRAINER_TRAVIS, Route111_Text_298DA9, Route111_Text_298DD8
- msgbox Route111_Text_298DF1, MSGBOX_AUTOCLOSE
+Route111_EventScript_Travis:: @ 81F12C2
+ trainerbattle_single TRAINER_TRAVIS, Route111_Text_TravisIntro, Route111_Text_TravisDefeat
+ msgbox Route111_Text_TravisPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F12D9:: @ 81F12D9
- trainerbattle_single TRAINER_IRENE, Route111_Text_298E2F, Route111_Text_298E6E
- msgbox Route111_Text_298E8C, MSGBOX_AUTOCLOSE
+Route111_EventScript_Irene:: @ 81F12D9
+ trainerbattle_single TRAINER_IRENE, Route111_Text_IreneIntro, Route111_Text_IreneDefeat
+ msgbox Route111_Text_IrenePostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F12F0:: @ 81F12F0
- trainerbattle_single TRAINER_DAISUKE, Route111_Text_298EE6, Route111_Text_298F14
- msgbox Route111_Text_298F26, MSGBOX_AUTOCLOSE
+Route111_EventScript_Daisuke:: @ 81F12F0
+ trainerbattle_single TRAINER_DAISUKE, Route111_Text_DaisukeIntro, Route111_Text_DaisukeDefeat
+ msgbox Route111_Text_DaisukePostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1307:: @ 81F1307
- trainerbattle_single TRAINER_WILTON_1, Route111_Text_298F79, Route111_Text_298FA9, Route111_EventScript_1F1333
+Route111_EventScript_Wilton:: @ 81F1307
+ trainerbattle_single TRAINER_WILTON_1, Route111_Text_WiltonIntro, Route111_Text_WiltonDefeat, Route111_EventScript_RegisterWilton
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route111_EventScript_1F1352
- msgbox Route111_Text_298FD4, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route111_EventScript_RematchWilton
+ msgbox Route111_Text_WiltonPostBattle, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F1333:: @ 81F1333
- special sub_80B4808
+Route111_EventScript_RegisterWilton:: @ 81F1333
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route111_Text_29903D, MSGBOX_DEFAULT
+ msgbox Route111_Text_WiltonRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_WILTON_1
release
end
-Route111_EventScript_1F1352:: @ 81F1352
- trainerbattle_rematch TRAINER_WILTON_1, Route111_Text_29909B, Route111_Text_2990EE
- msgbox Route111_Text_299102, MSGBOX_AUTOCLOSE
+Route111_EventScript_RematchWilton:: @ 81F1352
+ trainerbattle_rematch TRAINER_WILTON_1, Route111_Text_WiltonRematchIntro, Route111_Text_WiltonRematchDefeat
+ msgbox Route111_Text_WiltonPostRematch, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1369:: @ 81F1369
- trainerbattle_single TRAINER_BROOKE_1, Route111_Text_299143, Route111_Text_299193, Route111_EventScript_1F1395
+Route111_EventScript_Brooke:: @ 81F1369
+ trainerbattle_single TRAINER_BROOKE_1, Route111_Text_BrookeIntro, Route111_Text_BrookeDefeat, Route111_EventScript_RegisterBrooke
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route111_EventScript_1F13B4
- msgbox Route111_Text_2991C2, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route111_EventScript_RematchBrooke
+ msgbox Route111_Text_BrookePostBattle, MSGBOX_DEFAULT
release
end
-Route111_EventScript_1F1395:: @ 81F1395
- special sub_80B4808
+Route111_EventScript_RegisterBrooke:: @ 81F1395
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route111_Text_29921D, MSGBOX_DEFAULT
+ msgbox Route111_Text_BrookeRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_BROOKE_1
release
end
-Route111_EventScript_1F13B4:: @ 81F13B4
- trainerbattle_rematch TRAINER_BROOKE_1, Route111_Text_29925D, Route111_Text_2992D6
- msgbox Route111_Text_2992F5, MSGBOX_AUTOCLOSE
+Route111_EventScript_RematchBrooke:: @ 81F13B4
+ trainerbattle_rematch TRAINER_BROOKE_1, Route111_Text_BrookeRematchIntro, Route111_Text_BrookeRematchDefeat
+ msgbox Route111_Text_BrookePostRematch, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F13CB:: @ 81F13CB
- trainerbattle_single TRAINER_HAYDEN, Route111_Text_299682, Route111_Text_2996BE
- msgbox Route111_Text_2996C5, MSGBOX_AUTOCLOSE
+Route111_EventScript_Hayden:: @ 81F13CB
+ trainerbattle_single TRAINER_HAYDEN, Route111_Text_HaydenIntro, Route111_Text_HaydenDefeat
+ msgbox Route111_Text_HaydenPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F13E2:: @ 81F13E2
- trainerbattle_single TRAINER_BIANCA, Route111_Text_2996FE, Route111_Text_29973D
- msgbox Route111_Text_29975D, MSGBOX_AUTOCLOSE
+Route111_EventScript_Bianca:: @ 81F13E2
+ trainerbattle_single TRAINER_BIANCA, Route111_Text_BiancaIntro, Route111_Text_BiancaDefeat
+ msgbox Route111_Text_BiancaPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F13F9:: @ 81F13F9
- trainerbattle_single TRAINER_TYRON, Route111_Text_299524, Route111_Text_299549
- msgbox Route111_Text_299576, MSGBOX_AUTOCLOSE
+Route111_EventScript_Tyron:: @ 81F13F9
+ trainerbattle_single TRAINER_TYRON, Route111_Text_TyronIntro, Route111_Text_TyronDefeat
+ msgbox Route111_Text_TyronPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1410:: @ 81F1410
- trainerbattle_single TRAINER_CELINA, Route111_Text_2995F0, Route111_Text_299625
- msgbox Route111_Text_29964B, MSGBOX_AUTOCLOSE
+Route111_EventScript_Celina:: @ 81F1410
+ trainerbattle_single TRAINER_CELINA, Route111_Text_CelinaIntro, Route111_Text_CelinaDefeat
+ msgbox Route111_Text_CelinaPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1427:: @ 81F1427
- trainerbattle_single TRAINER_CELIA, Route111_Text_29934B, Route111_Text_299384
- msgbox Route111_Text_2993A7, MSGBOX_AUTOCLOSE
+Route111_EventScript_Celia:: @ 81F1427
+ trainerbattle_single TRAINER_CELIA, Route111_Text_CeliaIntro, Route111_Text_CeliaDefeat
+ msgbox Route111_Text_CeliaPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F143E:: @ 81F143E
- trainerbattle_single TRAINER_BRYAN, Route111_Text_299401, Route111_Text_299431
- msgbox Route111_Text_29945F, MSGBOX_AUTOCLOSE
+Route111_EventScript_Bryan:: @ 81F143E
+ trainerbattle_single TRAINER_BRYAN, Route111_Text_BryanIntro, Route111_Text_BryanDefeat
+ msgbox Route111_Text_BryanPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F1455:: @ 81F1455
- trainerbattle_single TRAINER_BRANDEN, Route111_Text_299493, Route111_Text_2994C5
- msgbox Route111_Text_2994FB, MSGBOX_AUTOCLOSE
+Route111_EventScript_Branden:: @ 81F1455
+ trainerbattle_single TRAINER_BRANDEN, Route111_Text_BrandenIntro, Route111_Text_BrandenDefeat
+ msgbox Route111_Text_BrandenPostBattle, MSGBOX_AUTOCLOSE
end
-Route111_EventScript_1F146C:: @ 81F146C
- msgbox Route111_Text_1F1D61, MSGBOX_SIGN
+Route111_EventScript_TrainerHillSign:: @ 81F146C
+ msgbox Route111_Text_TrainerHillSign, MSGBOX_SIGN
end
-Route111_Text_1F1475: @ 81F1475
+Route111_Text_BattleOurFamily: @ 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
+Route111_Text_IsThatSo: @ 81F14F5
.string "Is that so?\n"
.string "Drop in, if you change your mind!$"
-Route111_Text_1F1523: @ 81F1523
+Route111_Text_VictorIntro: @ 81F1523
.string "That's the spirit! I like you!$"
-Route111_Text_1F1542: @ 81F1542
+Route111_Text_VictorDefeat: @ 81F1542
.string "Aiyah!\n"
.string "You're a lot tougher than I expected!$"
-Route111_Text_1F156F: @ 81F156F
+Route111_Text_VictorPostBattle: @ 81F156F
.string "Hey, all!\n"
.string "I've found a pretty strong TRAINER!$"
-Route111_Text_1F159D: @ 81F159D
+Route111_Text_VictoriaIntro: @ 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
+Route111_Text_VictoriaDefeat: @ 81F1616
.string "Oh, gosh!\n"
.string "I can't get over how strong you are!$"
-Route111_Text_1F1645: @ 81F1645
+Route111_Text_VictoriaPostBattle: @ 81F1645
.string "There's a strong TRAINER here!\n"
.string "This one's really strong!$"
-Route111_Text_1F167E: @ 81F167E
+Route111_Text_ViviIntro: @ 81F167E
.string "You're stronger than Mommy? Wow!\p"
.string "But I'm strong, too!\n"
.string "Really! Honestly!$"
-Route111_Text_1F16C6: @ 81F16C6
+Route111_Text_ViviDefeat: @ 81F16C6
.string "Huh? Did I just lose?$"
-Route111_Text_1F16DC: @ 81F16DC
+Route111_Text_ViviPostBattle: @ 81F16DC
.string "This stinks…\p"
.string "…Snivel… Grandma!$"
-Route111_Text_1F16FB: @ 81F16FB
+Route111_Text_VickyIntro: @ 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
+Route111_Text_VickyDefeat: @ 81F1756
.string "Kwah! You are strong…\n"
.string "My granddaughter was right…$"
-Route111_Text_1F1788: @ 81F1788
+Route111_Text_VickyPostBattle: @ 81F1788
.string "If you're not in any hurry,\n"
.string "visit with us awhile.$"
-Route111_Text_1F17BA: @ 81F17BA
+Route111_Text_ToughToKeepWinningUpTheRanks: @ 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"
@@ -655,32 +656,32 @@ Route111_Text_1F17BA: @ 81F17BA
.string "ELITE FOUR are far stronger than\l"
.string "any GYM LEADER.$"
-Route111_Text_1F186E: @ 81F186E
+Route111_Text_WinstrateFamilyDestroyedMe: @ 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
+Route111_Text_RouteSignMauville: @ 81F18CE
.string "ROUTE 111\n"
.string "{DOWN_ARROW} MAUVILLE CITY$"
-Route111_Text_1F18E8: @ 81F18E8
+Route111_Text_WinstrateHouseSign: @ 81F18E8
.string "“Our family's hearts beat as one!”\n"
.string "THE WINSTRATE'S HOUSE$"
-Route111_Text_1F1921: @ 81F1921
+Route111_Text_RouteSign112: @ 81F1921
.string "ROUTE 111\n"
.string "{LEFT_ARROW} ROUTE 112$"
-Route111_Text_1F1937: @ 81F1937
+Route111_Text_RouteSign113: @ 81F1937
.string "ROUTE 111\n"
.string "{LEFT_ARROW} ROUTE 113$"
-Route111_Text_1F194D: @ 81F194D
+Route111_Text_OldLadysRestStopSign: @ 81F194D
.string "OLD LADY'S REST STOP\n"
.string "“Come in and rest your tired bones.”$"
-Route111_Text_1F1987: @ 81F1987
+Route111_Text_TrainerTipsSpAtkSpDef: @ 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"
@@ -688,14 +689,14 @@ Route111_Text_1F1987: @ 81F1987
.string "Likewise, SP. DEF stands for “SPECIAL\n"
.string "DEFENSE.”$"
-Route111_Text_1F1A22: @ 81F1A22
+Route111_Text_ShouldBeMirageTowerAroundHere: @ 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
+Route111_Text_MirageTowerClearlyVisible: @ 81F1AC7
.string "I see it!\n"
.string "The tower of sand!\p"
.string "The sand tower they called a mirage\n"
@@ -705,7 +706,7 @@ Route111_Text_1F1AC7: @ 81F1AC7
.string "I want to go inside it, but I can't\n"
.string "get my courage up for it…$"
-Route111_Text_1F1B92: @ 81F1B92
+Route111_Text_ThatWasShockingSandRainedDown: @ 81F1B92
.string "Whoa…\n"
.string "That was shocking.\p"
.string "Sand rained down in chunks all of\n"
@@ -713,21 +714,21 @@ Route111_Text_1F1B92: @ 81F1B92
.string "What was it like inside?\n"
.string "Were there sandy ghosts and such?$"
-Route111_Text_1F1C12: @ 81F1C12
+Route111_Text_MirageTowerHasntBeenSeenSince: @ 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
+Route111_Text_ClawFossilDisappeared: @ 81F1C74
.string "The CLAW FOSSIL disappeared into\n"
.string "the sand…$"
-Route111_Text_1F1C9F: @ 81F1C9F
+Route111_Text_RootFossilDisappeared: @ 81F1C9F
.string "The ROOT FOSSIL disappeared into\n"
.string "the sand…$"
-Route111_Text_1F1CCA: @ 81F1CCA
+Route111_Text_MauvilleUncleToldMeToTakeRockSmash: @ 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"
@@ -735,7 +736,7 @@ Route111_Text_1F1CCA: @ 81F1CCA
.string "My uncle? He lives across from\n"
.string "the bike shop in MAUVILLE.$"
-Route111_Text_1F1D61: @ 81F1D61
+Route111_Text_TrainerHillSign: @ 81F1D61
.string "{RIGHT_ARROW} TRAINER HILL ENTRANCE\p"
.string "“Scale the heights, you hot-blooded\n"
.string "TRAINERS!”$"
diff --git a/data/maps/Route111_OldLadysRestStop/map.json b/data/maps/Route111_OldLadysRestStop/map.json
index c915bfb95..71afc39f8 100644
--- a/data/maps/Route111_OldLadysRestStop/map.json
+++ b/data/maps/Route111_OldLadysRestStop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_OldLadysRestStop_EventScript_22A920",
+ "script": "Route111_OldLadysRestStop_EventScript_OldLady",
"flag": "0"
}
],
diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc
index 017043eae..0df1e6b6e 100644
--- a/data/maps/Route111_OldLadysRestStop/scripts.inc
+++ b/data/maps/Route111_OldLadysRestStop/scripts.inc
@@ -6,49 +6,49 @@ Route111_OldLadysRestStop_OnTransition: @ 822A91C
setflag FLAG_LANDMARK_OLD_LADY_REST_SHOP
end
-Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920
+Route111_OldLadysRestStop_EventScript_OldLady:: @ 822A920
lock
faceplayer
- msgbox Route111_OldLadysRestStop_Text_22A978, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route111_OldLadysRestStop_EventScript_22A941
- compare VAR_RESULT, 0
- goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E
+ msgbox Route111_OldLadysRestStop_Text_RestUpHere, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route111_OldLadysRestStop_EventScript_Rest
+ compare VAR_RESULT, NO
+ goto_if_eq Route111_OldLadysRestStop_EventScript_DeclineRest
end
-Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941
- msgbox Route111_OldLadysRestStop_Text_22A9EC, MSGBOX_DEFAULT
+Route111_OldLadysRestStop_EventScript_Rest:: @ 822A941
+ msgbox Route111_OldLadysRestStop_Text_TakeYourTimeRestUp, MSGBOX_DEFAULT
closemessage
call Common_EventScript_OutOfCenterPartyHeal
- msgbox Route111_OldLadysRestStop_Text_22AA16, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route111_OldLadysRestStop_EventScript_22A941
- compare VAR_RESULT, 0
- goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E
+ msgbox Route111_OldLadysRestStop_Text_StillTiredTakeAnotherRest, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route111_OldLadysRestStop_EventScript_Rest
+ compare VAR_RESULT, NO
+ goto_if_eq Route111_OldLadysRestStop_EventScript_DeclineRest
end
-Route111_OldLadysRestStop_EventScript_22A96E:: @ 822A96E
- msgbox Route111_OldLadysRestStop_Text_22AA8F, MSGBOX_DEFAULT
+Route111_OldLadysRestStop_EventScript_DeclineRest:: @ 822A96E
+ msgbox Route111_OldLadysRestStop_Text_DontNeedToBeShy, MSGBOX_DEFAULT
release
end
-Route111_OldLadysRestStop_Text_22A978: @ 822A978
+Route111_OldLadysRestStop_Text_RestUpHere: @ 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
+Route111_OldLadysRestStop_Text_TakeYourTimeRestUp: @ 822A9EC
.string "That's right.\n"
.string "Take your time and rest up!$"
-Route111_OldLadysRestStop_Text_22AA16: @ 822AA16
+Route111_OldLadysRestStop_Text_StillTiredTakeAnotherRest: @ 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
+Route111_OldLadysRestStop_Text_DontNeedToBeShy: @ 822AA8F
.string "Is that so?\n"
.string "You don't need to be shy about it.$"
diff --git a/data/maps/Route111_WinstrateFamilysHouse/map.json b/data/maps/Route111_WinstrateFamilysHouse/map.json
index fed3dab3f..640de23cb 100644
--- a/data/maps/Route111_WinstrateFamilysHouse/map.json
+++ b/data/maps/Route111_WinstrateFamilysHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_WinstrateFamilysHouse_EventScript_22A4E8",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_Vivi",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_WinstrateFamilysHouse_EventScript_22A48D",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_Victor",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_WinstrateFamilysHouse_EventScript_22A4A2",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_Victoria",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route111_WinstrateFamilysHouse_EventScript_22A4FD",
+ "script": "Route111_WinstrateFamilysHouse_EventScript_Vicky",
"flag": "0"
}
],
diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
index 312bf739f..499459c24 100644
--- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
+++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
@@ -1,63 +1,63 @@
Route111_WinstrateFamilysHouse_MapScripts:: @ 822A48C
.byte 0
-Route111_WinstrateFamilysHouse_EventScript_22A48D:: @ 822A48D
+Route111_WinstrateFamilysHouse_EventScript_Victor:: @ 822A48D
lock
faceplayer
setvar VAR_0x8008, 2
- msgbox Route111_WinstrateFamilysHouse_Text_22A539, MSGBOX_DEFAULT
- goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ msgbox Route111_WinstrateFamilysHouse_Text_MySonIsStrongerThanYou, MSGBOX_DEFAULT
+ goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection
end
-Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2
+Route111_WinstrateFamilysHouse_EventScript_Victoria:: @ 822A4A2
lock
faceplayer
setvar VAR_0x8008, 3
- goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_22A4DA
- msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, MSGBOX_DEFAULT
- giveitem_std ITEM_MACHO_BRACE
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_ReceivedMachoBrace
+ msgbox Route111_WinstrateFamilysHouse_Text_LikeYouToHaveMachoBrace, MSGBOX_DEFAULT
+ giveitem ITEM_MACHO_BRACE
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_MACHO_BRACE
- goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection
end
-Route111_WinstrateFamilysHouse_EventScript_22A4DA:: @ 822A4DA
- msgbox Route111_WinstrateFamilysHouse_Text_22A6B4, MSGBOX_DEFAULT
- goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+Route111_WinstrateFamilysHouse_EventScript_ReceivedMachoBrace:: @ 822A4DA
+ msgbox Route111_WinstrateFamilysHouse_Text_PassionateAboutBattles, MSGBOX_DEFAULT
+ goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection
end
-Route111_WinstrateFamilysHouse_EventScript_22A4E8:: @ 822A4E8
+Route111_WinstrateFamilysHouse_EventScript_Vivi:: @ 822A4E8
lock
faceplayer
setvar VAR_0x8008, 1
- msgbox Route111_WinstrateFamilysHouse_Text_22A6F7, MSGBOX_DEFAULT
- goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ msgbox Route111_WinstrateFamilysHouse_Text_StrongerFamilyMembers, MSGBOX_DEFAULT
+ goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection
end
-Route111_WinstrateFamilysHouse_EventScript_22A4FD:: @ 822A4FD
+Route111_WinstrateFamilysHouse_EventScript_Vicky:: @ 822A4FD
lock
faceplayer
setvar VAR_0x8008, 4
- goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_22A51E
- msgbox Route111_WinstrateFamilysHouse_Text_22A780, MSGBOX_DEFAULT
+ goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_AlreadySpokenTo
+ msgbox Route111_WinstrateFamilysHouse_Text_GrandsonStrong, MSGBOX_DEFAULT
setflag FLAG_TEMP_4
- goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection
end
-Route111_WinstrateFamilysHouse_EventScript_22A51E:: @ 822A51E
- msgbox Route111_WinstrateFamilysHouse_Text_22A89B, MSGBOX_DEFAULT
- goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+Route111_WinstrateFamilysHouse_EventScript_AlreadySpokenTo:: @ 822A51E
+ msgbox Route111_WinstrateFamilysHouse_Text_GrandsonStrongShort, MSGBOX_DEFAULT
+ goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection
end
-Route111_WinstrateFamilysHouse_EventScript_22A52C:: @ 822A52C
+Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection:: @ 822A52C
closemessage
applymovement VAR_0x8008, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route111_WinstrateFamilysHouse_Text_22A539: @ 822A539
+Route111_WinstrateFamilysHouse_Text_MySonIsStrongerThanYou: @ 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"
@@ -65,7 +65,7 @@ Route111_WinstrateFamilysHouse_Text_22A539: @ 822A539
.string "He even took the POKéMON LEAGUE\n"
.string "challenge, I'll have you know.$"
-Route111_WinstrateFamilysHouse_Text_22A5F4: @ 822A5F4
+Route111_WinstrateFamilysHouse_Text_LikeYouToHaveMachoBrace: @ 822A5F4
.string "We use this MACHO BRACE to more\n"
.string "effectively strengthen our POKéMON\l"
.string "in training.\p"
@@ -73,18 +73,18 @@ Route111_WinstrateFamilysHouse_Text_22A5F4: @ 822A5F4
.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
+Route111_WinstrateFamilysHouse_Text_PassionateAboutBattles: @ 822A6B4
.string "When it comes to POKéMON battles,\n"
.string "we tend to be pretty passionate.$"
-Route111_WinstrateFamilysHouse_Text_22A6F7: @ 822A6F7
+Route111_WinstrateFamilysHouse_Text_StrongerFamilyMembers: @ 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
+Route111_WinstrateFamilysHouse_Text_GrandsonStrong: @ 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"
@@ -95,7 +95,7 @@ Route111_WinstrateFamilysHouse_Text_22A780: @ 822A780
.string "Knowing my grandson, he could be the\n"
.string "CHAMPION already!$"
-Route111_WinstrateFamilysHouse_Text_22A89B: @ 822A89B
+Route111_WinstrateFamilysHouse_Text_GrandsonStrongShort: @ 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"
diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json
index b963c6c48..e52468f32 100644
--- a/data/maps/Route112/map.json
+++ b/data/maps/Route112/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route112_EventScript_1F1DB7",
+ "script": "Route112_EventScript_MagmaGrunts",
"flag": "FLAG_HIDE_ROUTE_112_TEAM_MAGMA"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route112_EventScript_1F1E6A",
+ "script": "Route112_EventScript_Brice",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route112_EventScript_1F1EE3",
+ "script": "Route112_EventScript_Larry",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route112_EventScript_1F1EFA",
+ "script": "Route112_EventScript_Carol",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route112_EventScript_1F1E81",
+ "script": "Route112_EventScript_Trent",
"flag": "0"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route112_EventScript_1F1DB7",
+ "script": "Route112_EventScript_MagmaGrunts",
"flag": "FLAG_HIDE_ROUTE_112_TEAM_MAGMA"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route112_EventScript_1F1E61",
+ "script": "Route112_EventScript_Hiker",
"flag": "0"
},
{
@@ -196,7 +196,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route112_EventScript_1F1F11",
+ "script": "Route112_EventScript_Bryant",
"flag": "0"
},
{
@@ -209,7 +209,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route112_EventScript_1F1F28",
+ "script": "Route112_EventScript_Shayla",
"flag": "0"
}
],
@@ -265,7 +265,7 @@
"y": 44,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route112_EventScript_1F1E4F"
+ "script": "Route112_EventScript_MtChimneySign"
},
{
"type": "sign",
@@ -273,7 +273,7 @@
"y": 37,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route112_EventScript_1F1E46"
+ "script": "Route112_EventScript_MtChimneyCableCarSign"
},
{
"type": "sign",
@@ -281,7 +281,7 @@
"y": 49,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route112_EventScript_1F1E58"
+ "script": "Route112_EventScript_RouteSignLavaridge"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc
index 58109bd40..4dd4fe112 100644
--- a/data/maps/Route112/scripts.inc
+++ b/data/maps/Route112/scripts.inc
@@ -7,137 +7,137 @@ Route112_OnTransition: @ 81F1DAE
setvar VAR_JAGGED_PASS_ASH_WEATHER, 0
end
-Route112_EventScript_1F1DB7:: @ 81F1DB7
+Route112_EventScript_MagmaGrunts:: @ 81F1DB7
lockall
delay 40
- applymovement 1, Common_Movement_WalkInPlaceRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 20
- msgbox Route112_Text_1F1F3F, MSGBOX_DEFAULT
+ msgbox Route112_Text_LeaderGoingToAwakenThing, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
delay 40
- applymovement 6, Common_Movement_WalkInPlaceLeft
+ applymovement 6, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 20
- msgbox Route112_Text_1F1F7A, MSGBOX_DEFAULT
+ msgbox Route112_Text_YeahWeNeedMeteorite, MSGBOX_DEFAULT
closemessage
applymovement 6, Common_Movement_FaceOriginalDirection
waitmovement 0
delay 40
- applymovement 1, Common_Movement_WalkInPlaceRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 20
- msgbox Route112_Text_1F1FBA, MSGBOX_DEFAULT
+ msgbox Route112_Text_OhThatsWhyCrewWentToFallarbor, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
delay 40
- applymovement 6, Common_Movement_WalkInPlaceLeft
+ applymovement 6, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 20
- msgbox Route112_Text_1F2003, MSGBOX_DEFAULT
+ msgbox Route112_Text_CantLetAnyonePassUntilTheyreBack, MSGBOX_DEFAULT
closemessage
applymovement 6, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-Route112_EventScript_1F1E46:: @ 81F1E46
- msgbox Route112_Text_1F20C1, MSGBOX_SIGN
+Route112_EventScript_MtChimneyCableCarSign:: @ 81F1E46
+ msgbox Route112_Text_MtChimneyCableCarSign, MSGBOX_SIGN
end
-Route112_EventScript_1F1E4F:: @ 81F1E4F
- msgbox Route112_Text_1F20ED, MSGBOX_SIGN
+Route112_EventScript_MtChimneySign:: @ 81F1E4F
+ msgbox Route112_Text_MtChimneySign, MSGBOX_SIGN
end
-Route112_EventScript_1F1E58:: @ 81F1E58
- msgbox Route112_Text_1F2138, MSGBOX_SIGN
+Route112_EventScript_RouteSignLavaridge:: @ 81F1E58
+ msgbox Route112_Text_RouteSignLavaridge, MSGBOX_SIGN
end
-Route112_EventScript_1F1E61:: @ 81F1E61
- msgbox Route112_Text_1F204E, MSGBOX_NPC
+Route112_EventScript_Hiker:: @ 81F1E61
+ msgbox Route112_Text_NotEasyToGetBackToLavaridge, MSGBOX_NPC
end
-Route112_EventScript_1F1E6A:: @ 81F1E6A
- trainerbattle_single TRAINER_BRICE, Route112_Text_29978E, Route112_Text_2997CA
- msgbox Route112_Text_2997DC, MSGBOX_AUTOCLOSE
+Route112_EventScript_Brice:: @ 81F1E6A
+ trainerbattle_single TRAINER_BRICE, Route112_Text_BriceIntro, Route112_Text_BriceDefeat
+ msgbox Route112_Text_BricePostBattle, MSGBOX_AUTOCLOSE
end
-Route112_EventScript_1F1E81:: @ 81F1E81
- trainerbattle_single TRAINER_TRENT_1, Route112_Text_299815, Route112_Text_29987C, Route112_EventScript_1F1EAD
+Route112_EventScript_Trent:: @ 81F1E81
+ trainerbattle_single TRAINER_TRENT_1, Route112_Text_TrentIntro, Route112_Text_TrentDefeat, Route112_EventScript_RegisterTrent
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route112_EventScript_1F1ECC
- msgbox Route112_Text_299896, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route112_EventScript_RematchTrent
+ msgbox Route112_Text_TrentPostBattle, MSGBOX_DEFAULT
release
end
-Route112_EventScript_1F1EAD:: @ 81F1EAD
- special sub_80B4808
+Route112_EventScript_RegisterTrent:: @ 81F1EAD
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route112_Text_29993C, MSGBOX_DEFAULT
+ msgbox Route112_Text_TrentRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_TRENT_1
release
end
-Route112_EventScript_1F1ECC:: @ 81F1ECC
- trainerbattle_rematch TRAINER_TRENT_1, Route112_Text_2999BD, Route112_Text_2999F7
- msgbox Route112_Text_299A0F, MSGBOX_AUTOCLOSE
+Route112_EventScript_RematchTrent:: @ 81F1ECC
+ trainerbattle_rematch TRAINER_TRENT_1, Route112_Text_TrentRematchIntro, Route112_Text_TrentRematchDefeat
+ msgbox Route112_Text_TrentRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route112_EventScript_1F1EE3:: @ 81F1EE3
- trainerbattle_single TRAINER_LARRY, Route112_Text_299A89, Route112_Text_299AAC
- msgbox Route112_Text_299AB4, MSGBOX_AUTOCLOSE
+Route112_EventScript_Larry:: @ 81F1EE3
+ trainerbattle_single TRAINER_LARRY, Route112_Text_LarryIntro, Route112_Text_LarryDefeat
+ msgbox Route112_Text_LarryPostBattle, MSGBOX_AUTOCLOSE
end
-Route112_EventScript_1F1EFA:: @ 81F1EFA
- trainerbattle_single TRAINER_CAROL, Route112_Text_299AE4, Route112_Text_299B36
- msgbox Route112_Text_299B4C, MSGBOX_AUTOCLOSE
+Route112_EventScript_Carol:: @ 81F1EFA
+ trainerbattle_single TRAINER_CAROL, Route112_Text_CarolIntro, Route112_Text_CarolDefeat
+ msgbox Route112_Text_CarolPostBattle, MSGBOX_AUTOCLOSE
end
-Route112_EventScript_1F1F11:: @ 81F1F11
- trainerbattle_single TRAINER_BRYANT, Route112_Text_299BAE, Route112_Text_299BDF
- msgbox Route112_Text_299BFB, MSGBOX_AUTOCLOSE
+Route112_EventScript_Bryant:: @ 81F1F11
+ trainerbattle_single TRAINER_BRYANT, Route112_Text_BryantIntro, Route112_Text_BryantDefeat
+ msgbox Route112_Text_BryantPostBattle, MSGBOX_AUTOCLOSE
end
-Route112_EventScript_1F1F28:: @ 81F1F28
- trainerbattle_single TRAINER_SHAYLA, Route112_Text_299C34, Route112_Text_299C8F
- msgbox Route112_Text_299CC6, MSGBOX_AUTOCLOSE
+Route112_EventScript_Shayla:: @ 81F1F28
+ trainerbattle_single TRAINER_SHAYLA, Route112_Text_ShaylaIntro, Route112_Text_ShaylaDefeat
+ msgbox Route112_Text_ShaylaPostBattle, MSGBOX_AUTOCLOSE
end
-Route112_Text_1F1F3F: @ 81F1F3F
+Route112_Text_LeaderGoingToAwakenThing: @ 81F1F3F
.string "Hey, man, is our leader really going\n"
.string "to awaken that thing?$"
-Route112_Text_1F1F7A: @ 81F1F7A
+Route112_Text_YeahWeNeedMeteorite: @ 81F1F7A
.string "Sounds like it, yeah. But I heard\n"
.string "we need a METEORITE to do it.$"
-Route112_Text_1F1FBA: @ 81F1FBA
+Route112_Text_OhThatsWhyCrewWentToFallarbor: @ 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
+Route112_Text_CantLetAnyonePassUntilTheyreBack: @ 81F2003
.string "You got it. And until they come back,\n"
.string "we're not to let anyone pass, right.$"
-Route112_Text_1F204E: @ 81F204E
+Route112_Text_NotEasyToGetBackToLavaridge: @ 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
+Route112_Text_MtChimneyCableCarSign: @ 81F20C1
.string "MT. CHIMNEY CABLE CAR\n"
.string "“A short walk {UP_ARROW} way!”$"
-Route112_Text_1F20ED: @ 81F20ED
+Route112_Text_MtChimneySign: @ 81F20ED
.string "MT. CHIMNEY\p"
.string "“For LAVARIDGE TOWN or the summit,\n"
.string "please take the CABLE CAR.”$"
-Route112_Text_1F2138: @ 81F2138
+Route112_Text_RouteSignLavaridge: @ 81F2138
.string "ROUTE 112\n"
.string "{LEFT_ARROW} LAVARIDGE TOWN$"
diff --git a/data/maps/Route112_CableCarStation/map.json b/data/maps/Route112_CableCarStation/map.json
index 52958a4ee..5ed7fc4a7 100644
--- a/data/maps/Route112_CableCarStation/map.json
+++ b/data/maps/Route112_CableCarStation/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route112_CableCarStation_EventScript_22AB17",
+ "script": "Route112_CableCarStation_EventScript_Attendant",
"flag": "0"
},
{
diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc
index d9eec8efd..0b0ad3dc9 100644
--- a/data/maps/Route112_CableCarStation/scripts.inc
+++ b/data/maps/Route112_CableCarStation/scripts.inc
@@ -1,27 +1,27 @@
Route112_CableCarStation_MapScripts:: @ 822AABE
map_script MAP_SCRIPT_ON_TRANSITION, Route112_CableCarStation_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route112_CableCarStation_MapScript2_22AAE9
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route112_CableCarStation_OnFrame
.byte 0
Route112_CableCarStation_OnTransition: @ 822AAC9
setescapewarp MAP_ROUTE112, 255, 28, 28
compare VAR_CABLE_CAR_STATION_STATE, 2
- call_if_eq Route112_CableCarStation_EventScript_22AADD
+ call_if_eq Route112_CableCarStation_EventScript_MoveAttendantAside
end
-Route112_CableCarStation_EventScript_22AADD:: @ 822AADD
+Route112_CableCarStation_EventScript_MoveAttendantAside:: @ 822AADD
setobjectxyperm 1, 7, 4
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_LEFT
return
-Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9
- map_script_2 VAR_CABLE_CAR_STATION_STATE, 2, Route112_CableCarStation_EventScript_22AAF3
+Route112_CableCarStation_OnFrame: @ 822AAE9
+ map_script_2 VAR_CABLE_CAR_STATION_STATE, 2, Route112_CableCarStation_EventScript_ExitCableCar
.2byte 0
-Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3
+Route112_CableCarStation_EventScript_ExitCableCar:: @ 822AAF3
lockall
- applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB80
- applymovement 1, Route112_CableCarStation_Movement_22AB76
+ applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_ExitCableCar
+ applymovement 1, Route112_CableCarStation_Movement_FollowPlayerOutFromCableCar
waitmovement 0
setvar VAR_CABLE_CAR_STATION_STATE, 0
setobjectxyperm 1, 6, 7
@@ -29,71 +29,71 @@ Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3
releaseall
end
-Route112_CableCarStation_EventScript_22AB17:: @ 822AB17
+Route112_CableCarStation_EventScript_Attendant:: @ 822AB17
lock
faceplayer
- msgbox Route112_CableCarStation_Text_22AB85, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route112_CableCarStation_EventScript_22AB38
- compare VAR_RESULT, 0
- goto_if_eq Route112_CableCarStation_EventScript_22AB67
+ msgbox Route112_CableCarStation_Text_CableCarReadyGetOn, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route112_CableCarStation_EventScript_RideCableCar
+ compare VAR_RESULT, NO
+ goto_if_eq Route112_CableCarStation_EventScript_DeclineRide
end
-Route112_CableCarStation_EventScript_22AB38:: @ 822AB38
- msgbox Route112_CableCarStation_Text_22ABC2, MSGBOX_DEFAULT
+Route112_CableCarStation_EventScript_RideCableCar:: @ 822AB38
+ msgbox Route112_CableCarStation_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
- applymovement 1, Route112_CableCarStation_Movement_22AB71
- applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB7B
+ applymovement 1, Route112_CableCarStation_Movement_LeadPlayerToCableCar
+ applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_BoardCableCar
waitmovement 0
setvar VAR_0x8004, 0
setvar VAR_CABLE_CAR_STATION_STATE, 1
- incrementgamestat 48
+ incrementgamestat GAME_STAT_RODE_CABLE_CAR
special CableCarWarp
special CableCar
waitstate
release
end
-Route112_CableCarStation_EventScript_22AB67:: @ 822AB67
- msgbox Route112_CableCarStation_Text_22ABD8, MSGBOX_DEFAULT
+Route112_CableCarStation_EventScript_DeclineRide:: @ 822AB67
+ msgbox Route112_CableCarStation_Text_RideAnotherTime, MSGBOX_DEFAULT
release
end
-Route112_CableCarStation_Movement_22AB71: @ 822AB71
+Route112_CableCarStation_Movement_LeadPlayerToCableCar: @ 822AB71
walk_up
walk_up
walk_right
walk_in_place_fastest_left
step_end
-Route112_CableCarStation_Movement_22AB76: @ 822AB76
+Route112_CableCarStation_Movement_FollowPlayerOutFromCableCar: @ 822AB76
delay_16
walk_left
walk_down
walk_down
step_end
-Route112_CableCarStation_Movement_22AB7B: @ 822AB7B
+Route112_CableCarStation_Movement_BoardCableCar: @ 822AB7B
walk_up
walk_up
walk_up
delay_16
step_end
-Route112_CableCarStation_Movement_22AB80: @ 822AB80
+Route112_CableCarStation_Movement_ExitCableCar: @ 822AB80
walk_down
walk_down
walk_down
delay_16
step_end
-Route112_CableCarStation_Text_22AB85: @ 822AB85
+Route112_CableCarStation_Text_CableCarReadyGetOn: @ 822AB85
.string "The CABLE CAR is ready to go up.\n"
.string "Would you like to be on it?$"
-Route112_CableCarStation_Text_22ABC2: @ 822ABC2
+Route112_CableCarStation_Text_StepThisWay: @ 822ABC2
.string "Please step this way.$"
-Route112_CableCarStation_Text_22ABD8: @ 822ABD8
+Route112_CableCarStation_Text_RideAnotherTime: @ 822ABD8
.string "Please ride with us another time.$"
diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json
index bcff99de4..12a7f63d9 100644
--- a/data/maps/Route113/map.json
+++ b/data/maps/Route113/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route113_EventScript_1F2193",
+ "script": "Route113_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route113_EventScript_1F218A",
+ "script": "Route113_EventScript_Gentleman",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route113_EventScript_1F21C0",
+ "script": "Route113_EventScript_Jaylen",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route113_EventScript_1F21D7",
+ "script": "Route113_EventScript_Dillon",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route113_EventScript_1F21EE",
+ "script": "Route113_EventScript_Madeline",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 0,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route113_EventScript_1F2250",
+ "script": "Route113_EventScript_Lao",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 0,
"trainer_type": "3",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route113_EventScript_1F22B2",
+ "script": "Route113_EventScript_Lung",
"flag": "0"
},
{
@@ -157,7 +157,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route113_EventScript_1F22C9",
+ "script": "Route113_EventScript_Tori",
"flag": "0"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route113_EventScript_1F22E4",
+ "script": "Route113_EventScript_Tia",
"flag": "0"
},
{
@@ -196,7 +196,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route113_EventScript_1F2344",
+ "script": "Route113_EventScript_Wyatt",
"flag": "0"
},
{
@@ -209,7 +209,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route113_EventScript_1F232D",
+ "script": "Route113_EventScript_Lawrence",
"flag": "0"
},
{
@@ -222,7 +222,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route113_EventScript_1F22FF",
+ "script": "Route113_EventScript_Sophie",
"flag": "0"
},
{
@@ -235,7 +235,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route113_EventScript_1F2316",
+ "script": "Route113_EventScript_Coby",
"flag": "0"
}
],
@@ -268,49 +268,49 @@
"x": 19,
"y": 11,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 19,
"y": 10,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 19,
"y": 12,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 19,
"y": 13,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 86,
"y": 9,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 85,
"y": 10,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 85,
"y": 11,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
@@ -373,28 +373,28 @@
"x": 19,
"y": 14,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 87,
"y": 8,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 87,
"y": 6,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
},
{
"type": "weather",
"x": 87,
"y": 7,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_ASH"
+ "weather": "COORD_EVENT_WEATHER_VOLCANIC_ASH"
}
],
"bg_events": [
@@ -404,7 +404,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route113_EventScript_1F219C"
+ "script": "Route113_EventScript_RouteSign111"
},
{
"type": "sign",
@@ -412,7 +412,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route113_EventScript_1F21A5"
+ "script": "Route113_EventScript_RouteSignFallarbor"
},
{
"type": "sign",
@@ -420,7 +420,7 @@
"y": 4,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route113_EventScript_1F21B7"
+ "script": "Route113_EventScript_TrainerTipsRegisterKeyItems"
},
{
"type": "sign",
@@ -428,7 +428,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route113_EventScript_1F21AE"
+ "script": "Route113_EventScript_GlassWorkshopSign"
},
{
"type": "secret_base",
diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc
index e8fb08ee4..24c57c29c 100644
--- a/data/maps/Route113/scripts.inc
+++ b/data/maps/Route113/scripts.inc
@@ -1,170 +1,170 @@
Route113_MapScripts:: @ 81F2153
- map_script MAP_SCRIPT_ON_RESUME, Route113_MapScript1_1F215E
+ map_script MAP_SCRIPT_ON_RESUME, Route113_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route113_OnTransition
.byte 0
-Route113_MapScript1_1F215E: @ 81F215E
- setstepcallback 1
+Route113_OnResume: @ 81F215E
+ setstepcallback STEP_CB_ASH
end
Route113_OnTransition: @ 81F2161
clearflag FLAG_FORCE_MIRAGE_TOWER_VISIBLE
- call Route113_EventScript_1F216A
+ call Route113_EventScript_CheckSetAshWeather
end
-Route113_EventScript_1F216A:: @ 81F216A
+Route113_EventScript_CheckSetAshWeather:: @ 81F216A
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_0, 19
- goto_if_lt Route113_EventScript_1F2189
+ goto_if_lt Route113_EventScript_DontSetAshWeather
compare VAR_TEMP_0, 84
- goto_if_gt Route113_EventScript_1F2189
- setweather WEATHER_ASH
+ goto_if_gt Route113_EventScript_DontSetAshWeather
+ setweather WEATHER_VOLCANIC_ASH
return
-Route113_EventScript_1F2189:: @ 81F2189
+Route113_EventScript_DontSetAshWeather:: @ 81F2189
return
-Route113_EventScript_1F218A:: @ 81F218A
- msgbox Route113_Text_1F235B, MSGBOX_NPC
+Route113_EventScript_Gentleman:: @ 81F218A
+ msgbox Route113_Text_AshCanBeFashionedIntoGlass, MSGBOX_NPC
end
-Route113_EventScript_1F2193:: @ 81F2193
- msgbox Route113_Text_1F23CA, MSGBOX_NPC
+Route113_EventScript_NinjaBoy:: @ 81F2193
+ msgbox Route113_Text_FunWalkingThroughAsh, MSGBOX_NPC
end
-Route113_EventScript_1F219C:: @ 81F219C
- msgbox Route113_Text_1F2440, MSGBOX_SIGN
+Route113_EventScript_RouteSign111:: @ 81F219C
+ msgbox Route113_Text_RouteSign111, MSGBOX_SIGN
end
-Route113_EventScript_1F21A5:: @ 81F21A5
- msgbox Route113_Text_1F2456, MSGBOX_SIGN
+Route113_EventScript_RouteSignFallarbor:: @ 81F21A5
+ msgbox Route113_Text_RouteSignFallarbor, MSGBOX_SIGN
end
-Route113_EventScript_1F21AE:: @ 81F21AE
- msgbox Route113_Text_1F24F8, MSGBOX_SIGN
+Route113_EventScript_GlassWorkshopSign:: @ 81F21AE
+ msgbox Route113_Text_GlassWorkshopSign, MSGBOX_SIGN
end
-Route113_EventScript_1F21B7:: @ 81F21B7
- msgbox Route113_Text_1F2471, MSGBOX_SIGN
+Route113_EventScript_TrainerTipsRegisterKeyItems:: @ 81F21B7
+ msgbox Route113_Text_TrainerTipsRegisterKeyItems, MSGBOX_SIGN
end
-Route113_EventScript_1F21C0:: @ 81F21C0
- trainerbattle_single TRAINER_JAYLEN, Route113_Text_299D3C, Route113_Text_299D68
- msgbox Route113_Text_299D7D, MSGBOX_AUTOCLOSE
+Route113_EventScript_Jaylen:: @ 81F21C0
+ trainerbattle_single TRAINER_JAYLEN, Route113_Text_JaylenIntro, Route113_Text_JaylenDefeat
+ msgbox Route113_Text_JaylenPostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F21D7:: @ 81F21D7
- trainerbattle_single TRAINER_DILLON, Route113_Text_299DE3, Route113_Text_299E1C
- msgbox Route113_Text_299E38, MSGBOX_AUTOCLOSE
+Route113_EventScript_Dillon:: @ 81F21D7
+ trainerbattle_single TRAINER_DILLON, Route113_Text_DillonIntro, Route113_Text_DillonDefeat
+ msgbox Route113_Text_DillonPostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F21EE:: @ 81F21EE
- trainerbattle_single TRAINER_MADELINE_1, Route113_Text_299EA6, Route113_Text_299EF9, Route113_EventScript_1F221A
+Route113_EventScript_Madeline:: @ 81F21EE
+ trainerbattle_single TRAINER_MADELINE_1, Route113_Text_MadelineIntro, Route113_Text_MadelineDefeat, Route113_EventScript_RegisterMadeline
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route113_EventScript_1F2239
- msgbox Route113_Text_299F15, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route113_EventScript_RematchMadeline
+ msgbox Route113_Text_MadelinePostBattle, MSGBOX_DEFAULT
release
end
-Route113_EventScript_1F221A:: @ 81F221A
- special sub_80B4808
+Route113_EventScript_RegisterMadeline:: @ 81F221A
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route113_Text_299F49, MSGBOX_DEFAULT
+ msgbox Route113_Text_MadelineRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_MADELINE_1
release
end
-Route113_EventScript_1F2239:: @ 81F2239
- trainerbattle_rematch TRAINER_MADELINE_1, Route113_Text_299F8A, Route113_Text_299FC9
- msgbox Route113_Text_299FD8, MSGBOX_AUTOCLOSE
+Route113_EventScript_RematchMadeline:: @ 81F2239
+ trainerbattle_rematch TRAINER_MADELINE_1, Route113_Text_MadelineRematchIntro, Route113_Text_MadelineRematchDefeat
+ msgbox Route113_Text_MadelinePostRematch, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F2250:: @ 81F2250
- trainerbattle_single TRAINER_LAO_1, Route113_Text_29A015, Route113_Text_29A04C, Route113_EventScript_1F227C
+Route113_EventScript_Lao:: @ 81F2250
+ trainerbattle_single TRAINER_LAO_1, Route113_Text_LaoIntro, Route113_Text_LaoDefeat, Route113_EventScript_RegisterLao
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route113_EventScript_1F229B
- msgbox Route113_Text_29A067, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route113_EventScript_RematchLao
+ msgbox Route113_Text_LaoPostBattle, MSGBOX_DEFAULT
release
end
-Route113_EventScript_1F227C:: @ 81F227C
- special sub_80B4808
+Route113_EventScript_RegisterLao:: @ 81F227C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route113_Text_29A0A2, MSGBOX_DEFAULT
+ msgbox Route113_Text_LaoRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_LAO_1
release
end
-Route113_EventScript_1F229B:: @ 81F229B
- trainerbattle_rematch TRAINER_LAO_1, Route113_Text_29A0E8, Route113_Text_29A11F
- msgbox Route113_Text_29A13A, MSGBOX_AUTOCLOSE
+Route113_EventScript_RematchLao:: @ 81F229B
+ trainerbattle_rematch TRAINER_LAO_1, Route113_Text_LaoRematchIntro, Route113_Text_LaoRematchDefeat
+ msgbox Route113_Text_LaoPostRematch, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F22B2:: @ 81F22B2
- trainerbattle_single TRAINER_LUNG, Route113_Text_29A192, Route113_Text_29A1C6
- msgbox Route113_Text_29A219, MSGBOX_AUTOCLOSE
+Route113_EventScript_Lung:: @ 81F22B2
+ trainerbattle_single TRAINER_LUNG, Route113_Text_LungIntro, Route113_Text_LungDefeat
+ msgbox Route113_Text_LungPostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F22C9:: @ 81F22C9
- trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_29A261, Route113_Text_29A29D, Route113_Text_29A31F
- msgbox Route113_Text_29A2DE, MSGBOX_AUTOCLOSE
+Route113_EventScript_Tori:: @ 81F22C9
+ trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_ToriIntro, Route113_Text_ToriDefeat, Route113_Text_ToriNotEnoughMons
+ msgbox Route113_Text_ToriPostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F22E4:: @ 81F22E4
- trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_29A35C, Route113_Text_29A397, Route113_Text_29A419
- msgbox Route113_Text_29A3DA, MSGBOX_AUTOCLOSE
+Route113_EventScript_Tia:: @ 81F22E4
+ trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_TiaIntro, Route113_Text_TiaDefeat, Route113_Text_TiaNotEnoughMons
+ msgbox Route113_Text_TiaPostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F22FF:: @ 81F22FF
- trainerbattle_single TRAINER_SOPHIE, Route113_Text_29A4BF, Route113_Text_29A508
- msgbox Route113_Text_29A529, MSGBOX_AUTOCLOSE
+Route113_EventScript_Sophie:: @ 81F22FF
+ trainerbattle_single TRAINER_SOPHIE, Route113_Text_SophieIntro, Route113_Text_SophieDefeat
+ msgbox Route113_Text_SophiePostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F2316:: @ 81F2316
- trainerbattle_single TRAINER_COBY, Route113_Text_29A453, Route113_Text_29A480
- msgbox Route113_Text_29A489, MSGBOX_AUTOCLOSE
+Route113_EventScript_Coby:: @ 81F2316
+ trainerbattle_single TRAINER_COBY, Route113_Text_CobyIntro, Route113_Text_CobyDefeat
+ msgbox Route113_Text_CobyPostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F232D:: @ 81F232D
- trainerbattle_single TRAINER_LAWRENCE, Route113_Text_29A566, Route113_Text_29A5A0
- msgbox Route113_Text_29A5BE, MSGBOX_AUTOCLOSE
+Route113_EventScript_Lawrence:: @ 81F232D
+ trainerbattle_single TRAINER_LAWRENCE, Route113_Text_LawrenceIntro, Route113_Text_LawrenceDefeat
+ msgbox Route113_Text_LawrencePostBattle, MSGBOX_AUTOCLOSE
end
-Route113_EventScript_1F2344:: @ 81F2344
- trainerbattle_single TRAINER_WYATT, Route113_Text_29A5E4, Route113_Text_29A628
- msgbox Route113_Text_29A65D, MSGBOX_AUTOCLOSE
+Route113_EventScript_Wyatt:: @ 81F2344
+ trainerbattle_single TRAINER_WYATT, Route113_Text_WyattIntro, Route113_Text_WyattDefeat
+ msgbox Route113_Text_WyattPostBattle, MSGBOX_AUTOCLOSE
end
-Route113_Text_1F235B: @ 81F235B
+Route113_Text_AshCanBeFashionedIntoGlass: @ 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
+Route113_Text_FunWalkingThroughAsh: @ 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
+Route113_Text_RouteSign111: @ 81F2440
.string "ROUTE 113\n"
.string "{RIGHT_ARROW} ROUTE 111$"
-Route113_Text_1F2456: @ 81F2456
+Route113_Text_RouteSignFallarbor: @ 81F2456
.string "ROUTE 113\n"
.string "{LEFT_ARROW} FALLARBOR TOWN$"
-Route113_Text_1F2471: @ 81F2471
+Route113_Text_TrainerTipsRegisterKeyItems: @ 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
+Route113_Text_GlassWorkshopSign: @ 81F24F8
.string "GLASS WORKSHOP\n"
.string "“Turning Volcanic Ash into Glass Items”$"
diff --git a/data/maps/Route113_GlassWorkshop/map.json b/data/maps/Route113_GlassWorkshop/map.json
index 70e342048..0f57ce2b8 100644
--- a/data/maps/Route113_GlassWorkshop/map.json
+++ b/data/maps/Route113_GlassWorkshop/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route113_GlassWorkshop_EventScript_26ED1E",
+ "script": "Route113_GlassWorkshop_EventScript_GlassWorker",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route113_GlassWorkshop_EventScript_26F194",
+ "script": "Route113_GlassWorkshop_EventScript_NinjaBoy",
"flag": "0"
}
],
diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc
index b685389d9..eed6d8eab 100644
--- a/data/maps/Route113_GlassWorkshop/scripts.inc
+++ b/data/maps/Route113_GlassWorkshop/scripts.inc
@@ -2,313 +2,322 @@ Route113_GlassWorkshop_MapScripts:: @ 826ED03
map_script MAP_SCRIPT_ON_TRANSITION, Route113_GlassWorkshop_OnTransition
.byte 0
+ .set BLUE_FLUTE_PRICE, 250
+ .set YELLOW_FLUTE_PRICE, 500
+ .set RED_FLUTE_PRICE, 500
+ .set WHITE_FLUTE_PRICE, 1000
+ .set BLACK_FLUTE_PRICE, 1000
+ .set PRETTY_CHAIR_PRICE, 6000
+ .set PRETTY_DESK_PRICE, 8000
+ .set LOWEST_ASH_PRICE, BLUE_FLUTE_PRICE
+
Route113_GlassWorkshop_OnTransition: @ 826ED09
setflag FLAG_LANDMARK_GLASS_WORKSHOP
compare VAR_GLASS_WORKSHOP_STATE, 1
- call_if_eq Route113_GlassWorkshop_EventScript_26ED18
+ call_if_eq Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack
end
-Route113_GlassWorkshop_EventScript_26ED18:: @ 826ED18
+Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack:: @ 826ED18
setvar VAR_GLASS_WORKSHOP_STATE, 2
return
-Route113_GlassWorkshop_EventScript_26ED1E:: @ 826ED1E
+Route113_GlassWorkshop_EventScript_GlassWorker:: @ 826ED1E
lock
faceplayer
compare VAR_GLASS_WORKSHOP_STATE, 10
- goto_if_ge Route113_GlassWorkshop_EventScript_26F090
+ goto_if_ge Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom
compare VAR_GLASS_WORKSHOP_STATE, 2
- goto_if_eq Route113_GlassWorkshop_EventScript_26ED6E
+ goto_if_eq Route113_GlassWorkshop_EventScript_CheckCollectedAsh
compare VAR_GLASS_WORKSHOP_STATE, 1
- goto_if_eq Route113_GlassWorkshop_EventScript_26ED64
- msgbox Route113_GlassWorkshop_Text_26F19D, MSGBOX_DEFAULT
- giveitem_std ITEM_SOOT_SACK
+ goto_if_eq Route113_GlassWorkshop_EventScript_ExplainSootSack
+ msgbox Route113_GlassWorkshop_Text_GoCollectAshWithThis, MSGBOX_DEFAULT
+ giveitem ITEM_SOOT_SACK
setvar VAR_GLASS_WORKSHOP_STATE, 1
- msgbox Route113_GlassWorkshop_Text_26F252, MSGBOX_DEFAULT
+ msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
-Route113_GlassWorkshop_EventScript_26ED64:: @ 826ED64
- msgbox Route113_GlassWorkshop_Text_26F252, MSGBOX_DEFAULT
+Route113_GlassWorkshop_EventScript_ExplainSootSack:: @ 826ED64
+ msgbox Route113_GlassWorkshop_Text_ExplainSootSack, MSGBOX_DEFAULT
release
end
-Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E
+Route113_GlassWorkshop_EventScript_CheckCollectedAsh:: @ 826ED6E
checkitem ITEM_SOOT_SACK, 1
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26ED9D
- msgbox Route113_GlassWorkshop_Text_26F312, MSGBOX_DEFAULT
- compare VAR_ASH_GATHER_COUNT, 250
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFD6
- message Route113_GlassWorkshop_Text_26F40A
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route113_GlassWorkshop_EventScript_SootSackNotInBag
+ msgbox Route113_GlassWorkshop_Text_LetsSeeCollectedAshes, MSGBOX_DEFAULT
+ compare VAR_ASH_GATHER_COUNT, LOWEST_ASH_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAsh
+ message Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike
waitmessage
- goto Route113_GlassWorkshop_EventScript_26EDA7
+ goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
-Route113_GlassWorkshop_EventScript_26ED9D:: @ 826ED9D
- msgbox Route113_GlassWorkshop_Text_26F772, MSGBOX_DEFAULT
+Route113_GlassWorkshop_EventScript_SootSackNotInBag:: @ 826ED9D
+ msgbox Route113_GlassWorkshop_Text_HaventGotYourSootSack, MSGBOX_DEFAULT
release
end
-Route113_GlassWorkshop_EventScript_26EDA7:: @ 826EDA7
+Route113_GlassWorkshop_EventScript_ChooseGlassItem:: @ 826EDA7
setvar VAR_0x8009, 0
- setvar VAR_0x8004, 1
- special sub_813A128
+ setvar VAR_0x8004, SCROLL_MULTI_GLASS_WORKSHOP_VENDOR
+ special ShowScrollableMultichoice
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
+ case 0, Route113_GlassWorkshop_EventScript_BlueFlute
+ case 1, Route113_GlassWorkshop_EventScript_YellowFlute
+ case 2, Route113_GlassWorkshop_EventScript_RedFlute
+ case 3, Route113_GlassWorkshop_EventScript_WhiteFlute
+ case 4, Route113_GlassWorkshop_EventScript_BlackFlute
+ case 5, Route113_GlassWorkshop_EventScript_PrettyChair
+ case 6, Route113_GlassWorkshop_EventScript_PrettyDesk
+ case 7, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect
+ case MULTI_B_PRESSED, Route113_GlassWorkshop_EventScript_CancelGlassItemSelect
end
-Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E
- setvar VAR_0x8008, 39
+Route113_GlassWorkshop_EventScript_BlueFlute:: @ 826EE1E
+ setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname 0, VAR_0x8008
- setvar VAR_0x800A, 250
- compare VAR_ASH_GATHER_COUNT, 250
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x800A, BLUE_FLUTE_PRICE
+ compare VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 10
- subvar VAR_ASH_GATHER_COUNT, 250
- goto Route113_GlassWorkshop_EventScript_26F00F
+ subvar VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE
+ goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
-Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A
- setvar VAR_0x8008, 40
+Route113_GlassWorkshop_EventScript_YellowFlute:: @ 826EE5A
+ setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname 0, VAR_0x8008
- setvar VAR_0x800A, 500
- compare VAR_ASH_GATHER_COUNT, 500
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x800A, YELLOW_FLUTE_PRICE
+ compare VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 11
- subvar VAR_ASH_GATHER_COUNT, 500
- goto Route113_GlassWorkshop_EventScript_26F00F
+ subvar VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE
+ goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
-Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96
- setvar VAR_0x8008, 41
+Route113_GlassWorkshop_EventScript_RedFlute:: @ 826EE96
+ setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname 0, VAR_0x8008
- setvar VAR_0x800A, 500
- compare VAR_ASH_GATHER_COUNT, 500
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x800A, RED_FLUTE_PRICE
+ compare VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 12
- subvar VAR_ASH_GATHER_COUNT, 500
- goto Route113_GlassWorkshop_EventScript_26F00F
+ subvar VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE
+ goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
-Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2
- setvar VAR_0x8008, 43
+Route113_GlassWorkshop_EventScript_WhiteFlute:: @ 826EED2
+ setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname 0, VAR_0x8008
- setvar VAR_0x800A, 1000
- compare VAR_ASH_GATHER_COUNT, 1000
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x800A, WHITE_FLUTE_PRICE
+ compare VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 13
- subvar VAR_ASH_GATHER_COUNT, 1000
- goto Route113_GlassWorkshop_EventScript_26F00F
+ subvar VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE
+ goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
-Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E
- setvar VAR_0x8008, 42
+Route113_GlassWorkshop_EventScript_BlackFlute:: @ 826EF0E
+ setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname 0, VAR_0x8008
- setvar VAR_0x800A, 1000
- compare VAR_ASH_GATHER_COUNT, 1000
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x800A, BLACK_FLUTE_PRICE
+ compare VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 14
- subvar VAR_ASH_GATHER_COUNT, 1000
- goto Route113_GlassWorkshop_EventScript_26F00F
+ subvar VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE
+ goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
-Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A
+Route113_GlassWorkshop_EventScript_PrettyChair:: @ 826EF4A
setvar VAR_0x8009, 1
- setvar VAR_0x8008, 13
+ setvar VAR_0x8008, DECOR_PRETTY_CHAIR
bufferdecorationname 0, VAR_0x8008
- setvar VAR_0x800A, 6000
- compare VAR_ASH_GATHER_COUNT, 6000
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x800A, PRETTY_CHAIR_PRICE
+ compare VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 15
- subvar VAR_ASH_GATHER_COUNT, 6000
- goto Route113_GlassWorkshop_EventScript_26F00F
+ subvar VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE
+ goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
-Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B
+Route113_GlassWorkshop_EventScript_PrettyDesk:: @ 826EF8B
setvar VAR_0x8009, 1
- setvar VAR_0x8008, 6
+ setvar VAR_0x8008, DECOR_PRETTY_DESK
bufferdecorationname 0, VAR_0x8008
- setvar VAR_0x800A, 8000
- compare VAR_ASH_GATHER_COUNT, 8000
- goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x800A, PRETTY_DESK_PRICE
+ compare VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE
+ goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 16
- subvar VAR_ASH_GATHER_COUNT, 8000
- goto Route113_GlassWorkshop_EventScript_26F00F
+ subvar VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE
+ goto Route113_GlassWorkshop_EventScript_MakeGlassItem
end
-Route113_GlassWorkshop_EventScript_26EFCC:: @ 826EFCC
- msgbox Route113_GlassWorkshop_Text_26F641, MSGBOX_DEFAULT
+Route113_GlassWorkshop_EventScript_CancelGlassItemSelect:: @ 826EFCC
+ msgbox Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything, MSGBOX_DEFAULT
release
end
-Route113_GlassWorkshop_EventScript_26EFD6:: @ 826EFD6
- setvar VAR_0x800A, 250
- subvar VAR_0x800A, 16456
+Route113_GlassWorkshop_EventScript_NotEnoughAsh:: @ 826EFD6
+ setvar VAR_0x800A, LOWEST_ASH_PRICE
+ subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring 0, VAR_0x800A
- msgbox Route113_GlassWorkshop_Text_26F34E, MSGBOX_DEFAULT
+ msgbox Route113_GlassWorkshop_Text_NotEnoughAshNeedX, MSGBOX_DEFAULT
release
end
-Route113_GlassWorkshop_EventScript_26EFEE:: @ 826EFEE
- subvar VAR_0x800A, 16456
+Route113_GlassWorkshop_EventScript_NotEnoughAshForItem:: @ 826EFEE
+ subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
buffernumberstring 1, VAR_0x800A
- message Route113_GlassWorkshop_Text_26F543
+ message Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem
waitmessage
- goto Route113_GlassWorkshop_EventScript_26EDA7
+ goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
-Route113_GlassWorkshop_EventScript_26F003:: @ 826F003
- message Route113_GlassWorkshop_Text_26F4B5
+Route113_GlassWorkshop_EventScript_ChooseDifferentItem:: @ 826F003
+ message Route113_GlassWorkshop_Text_WhichWouldYouLike
waitmessage
- goto Route113_GlassWorkshop_EventScript_26EDA7
+ goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
end
-Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F
- msgbox Route113_GlassWorkshop_Text_26F4DA, MSGBOX_DEFAULT
+Route113_GlassWorkshop_EventScript_MakeGlassItem:: @ 826F00F
+ msgbox Route113_GlassWorkshop_Text_IllMakeItemForYou, MSGBOX_DEFAULT
closemessage
- fadescreen 1
+ fadescreen FADE_TO_BLACK
playse SE_SELECT
delay 30
- fadescreen 0
- msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT
+ fadescreen FADE_FROM_BLACK
+ msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
compare VAR_0x8009, 0
- call_if_eq Route113_GlassWorkshop_EventScript_26F047
+ call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute
compare VAR_0x8009, 1
- call_if_eq Route113_GlassWorkshop_EventScript_26F05F
+ call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
-Route113_GlassWorkshop_EventScript_26F047:: @ 826F047
- giveitem_std VAR_0x8008
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F072
+Route113_GlassWorkshop_EventScript_GiveGlassFlute:: @ 826F047
+ giveitem VAR_0x8008
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForFlute
return
-Route113_GlassWorkshop_EventScript_26F05F:: @ 826F05F
- givedecoration_std VAR_0x8008
- compare VAR_RESULT, 0
- goto_if_eq Route113_GlassWorkshop_EventScript_26F081
+Route113_GlassWorkshop_EventScript_GiveGlassDecor:: @ 826F05F
+ givedecoration VAR_0x8008
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForDecor
return
-Route113_GlassWorkshop_EventScript_26F072:: @ 826F072
+Route113_GlassWorkshop_EventScript_NoRoomForFlute:: @ 826F072
call Common_EventScript_BagIsFull
- msgbox Route113_GlassWorkshop_Text_26F6B7, MSGBOX_DEFAULT
+ msgbox Route113_GlassWorkshop_Text_NoRoomInBag, MSGBOX_DEFAULT
release
end
-Route113_GlassWorkshop_EventScript_26F081:: @ 826F081
- call Common_EventScript_NoRoomLeftForAnother
- msgbox Route113_GlassWorkshop_Text_26F715, MSGBOX_DEFAULT
+Route113_GlassWorkshop_EventScript_NoRoomForDecor:: @ 826F081
+ call Common_EventScript_NoRoomForDecor
+ msgbox Route113_GlassWorkshop_Text_NoRoomInPC, MSGBOX_DEFAULT
release
end
-Route113_GlassWorkshop_EventScript_26F090:: @ 826F090
+Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom:: @ 826F090
switch VAR_GLASS_WORKSHOP_STATE
- 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
+ case 10, Route113_GlassWorkshop_EventScript_GiveBlueFlute
+ case 11, Route113_GlassWorkshop_EventScript_GiveYellowFlute
+ case 12, Route113_GlassWorkshop_EventScript_GiveRedFlute
+ case 13, Route113_GlassWorkshop_EventScript_GiveWhiteFlute
+ case 14, Route113_GlassWorkshop_EventScript_GiveBlackFlute
+ case 15, Route113_GlassWorkshop_EventScript_GivePrettyChair
+ case 16, Route113_GlassWorkshop_EventScript_GivePrettyDesk
end
-Route113_GlassWorkshop_EventScript_26F0E3:: @ 826F0E3
+Route113_GlassWorkshop_EventScript_GiveBlueFlute:: @ 826F0E3
setvar VAR_0x8009, 0
- setvar VAR_0x8008, 39
+ setvar VAR_0x8008, ITEM_BLUE_FLUTE
bufferitemname 0, VAR_0x8008
- goto Route113_GlassWorkshop_EventScript_26F16F
+ goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
-Route113_GlassWorkshop_EventScript_26F0F7:: @ 826F0F7
+Route113_GlassWorkshop_EventScript_GiveYellowFlute:: @ 826F0F7
setvar VAR_0x8009, 0
- setvar VAR_0x8008, 40
+ setvar VAR_0x8008, ITEM_YELLOW_FLUTE
bufferitemname 0, VAR_0x8008
- goto Route113_GlassWorkshop_EventScript_26F16F
+ goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
-Route113_GlassWorkshop_EventScript_26F10B:: @ 826F10B
+Route113_GlassWorkshop_EventScript_GiveRedFlute:: @ 826F10B
setvar VAR_0x8009, 0
- setvar VAR_0x8008, 41
+ setvar VAR_0x8008, ITEM_RED_FLUTE
bufferitemname 0, VAR_0x8008
- goto Route113_GlassWorkshop_EventScript_26F16F
+ goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
-Route113_GlassWorkshop_EventScript_26F11F:: @ 826F11F
+Route113_GlassWorkshop_EventScript_GiveWhiteFlute:: @ 826F11F
setvar VAR_0x8009, 0
- setvar VAR_0x8008, 43
+ setvar VAR_0x8008, ITEM_WHITE_FLUTE
bufferitemname 0, VAR_0x8008
- goto Route113_GlassWorkshop_EventScript_26F16F
+ goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
-Route113_GlassWorkshop_EventScript_26F133:: @ 826F133
+Route113_GlassWorkshop_EventScript_GiveBlackFlute:: @ 826F133
setvar VAR_0x8009, 0
- setvar VAR_0x8008, 42
+ setvar VAR_0x8008, ITEM_BLACK_FLUTE
bufferitemname 0, VAR_0x8008
- goto Route113_GlassWorkshop_EventScript_26F16F
+ goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
-Route113_GlassWorkshop_EventScript_26F147:: @ 826F147
+Route113_GlassWorkshop_EventScript_GivePrettyChair:: @ 826F147
setvar VAR_0x8009, 1
- setvar VAR_0x8008, 13
- bufferdecorationname 0, 13
- goto Route113_GlassWorkshop_EventScript_26F16F
+ setvar VAR_0x8008, DECOR_PRETTY_CHAIR
+ bufferdecorationname 0, DECOR_PRETTY_CHAIR
+ goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
-Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B
+Route113_GlassWorkshop_EventScript_GivePrettyDesk:: @ 826F15B
setvar VAR_0x8009, 1
- setvar VAR_0x8008, 6
- bufferdecorationname 0, 6
- goto Route113_GlassWorkshop_EventScript_26F16F
+ setvar VAR_0x8008, DECOR_PRETTY_DESK
+ bufferdecorationname 0, DECOR_PRETTY_DESK
+ goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
-Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F
- msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT
+Route113_GlassWorkshop_EventScript_TryGiveItemAgain:: @ 826F16F
+ msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
compare VAR_0x8009, 0
- call_if_eq Route113_GlassWorkshop_EventScript_26F047
+ call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute
compare VAR_0x8009, 1
- call_if_eq Route113_GlassWorkshop_EventScript_26F05F
+ call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
-Route113_GlassWorkshop_EventScript_26F194:: @ 826F194
- msgbox Route113_GlassWorkshop_Text_26F7EC, MSGBOX_NPC
+Route113_GlassWorkshop_EventScript_NinjaBoy:: @ 826F194
+ msgbox Route113_GlassWorkshop_Text_FunToBlowGlassFlute, MSGBOX_NPC
end
-Route113_GlassWorkshop_Text_26F19D: @ 826F19D
+Route113_GlassWorkshop_Text_GoCollectAshWithThis: @ 826F19D
.string "This area is covered in volcanic ash,\n"
.string "huff-puff!\p"
.string "I'm specially gifted, huff-puff.\p"
@@ -316,7 +325,7 @@ Route113_GlassWorkshop_Text_26F19D: @ 826F19D
.string "and make items, huff-puff.\p"
.string "Go collect ashes with this, huff-puff.$"
-Route113_GlassWorkshop_Text_26F252: @ 826F252
+Route113_GlassWorkshop_Text_ExplainSootSack: @ 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"
@@ -324,11 +333,11 @@ Route113_GlassWorkshop_Text_26F252: @ 826F252
.string "Once you think you've collected a good\n"
.string "amount, come see me, huff-puff.$"
-Route113_GlassWorkshop_Text_26F312: @ 826F312
+Route113_GlassWorkshop_Text_LetsSeeCollectedAshes: @ 826F312
.string "Have you collected ashes, huff-puff?\n"
.string "Let me see, huff-puff.$"
-Route113_GlassWorkshop_Text_26F34E: @ 826F34E
+Route113_GlassWorkshop_Text_NotEnoughAshNeedX: @ 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"
@@ -336,25 +345,25 @@ Route113_GlassWorkshop_Text_26F34E: @ 826F34E
.string "you'll need to walk for me to make you\l"
.string "a BLUE FLUTE, huff-puff.$"
-Route113_GlassWorkshop_Text_26F40A: @ 826F40A
+Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike: @ 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
+Route113_GlassWorkshop_Text_IsThatTheItemForYou: @ 826F480
.string "A {STR_VAR_1}, huff-puff?\n"
.string "Is that the one for you, huff-puff?$"
-Route113_GlassWorkshop_Text_26F4B5: @ 826F4B5
+Route113_GlassWorkshop_Text_WhichWouldYouLike: @ 826F4B5
.string "Which one would you like, huff-puff?$"
-Route113_GlassWorkshop_Text_26F4DA: @ 826F4DA
+Route113_GlassWorkshop_Text_IllMakeItemForYou: @ 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
+Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem: @ 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"
@@ -364,33 +373,33 @@ Route113_GlassWorkshop_Text_26F543: @ 826F543
.string "Which item would you rather have me\n"
.string "make instead, huff-puff?$"
-Route113_GlassWorkshop_Text_26F641: @ 826F641
+Route113_GlassWorkshop_Text_AllThatAshButDontWantAnything: @ 826F641
.string "You've collected all that ash, but you\n"
.string "don't want anything, huff-puff?$"
-Route113_GlassWorkshop_Text_26F688: @ 826F688
+Route113_GlassWorkshop_Text_IveFinishedGlassItem: @ 826F688
.string "Ah, I've finished your {STR_VAR_1}.\n"
.string "Take it, huff-puff.$"
-Route113_GlassWorkshop_Text_26F6B7: @ 826F6B7
+Route113_GlassWorkshop_Text_NoRoomInBag: @ 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
+Route113_GlassWorkshop_Text_NoRoomInPC: @ 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
+Route113_GlassWorkshop_Text_HaventGotYourSootSack: @ 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
+Route113_GlassWorkshop_Text_FunToBlowGlassFlute: @ 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/maps/Route114/map.json b/data/maps/Route114/map.json
index 1aee2d422..76a9083f4 100644
--- a/data/maps/Route114/map.json
+++ b/data/maps/Route114/map.json
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route114_EventScript_1F2640",
+ "script": "Route114_EventScript_Lenny",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route114_EventScript_1F2657",
+ "script": "Route114_EventScript_Lucas",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route114_EventScript_1F266E",
+ "script": "Route114_EventScript_Shane",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route114_EventScript_1F2685",
+ "script": "Route114_EventScript_Nancy",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route114_EventScript_1F269C",
+ "script": "Route114_EventScript_Steve",
"flag": "0"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_1F25D1",
+ "script": "Route114_EventScript_RoarGentleman",
"flag": "0"
},
{
@@ -191,7 +191,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_1F2612",
+ "script": "Route114_EventScript_Poochyena",
"flag": "0"
},
{
@@ -204,7 +204,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_1F2582",
+ "script": "Route114_EventScript_Man",
"flag": "0"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_1F2777",
+ "script": "Route114_EventScript_Nolan",
"flag": "0"
},
{
@@ -230,7 +230,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_EventScript_1F2760",
+ "script": "Route114_EventScript_Claude",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route114_EventScript_1F26FE",
+ "script": "Route114_EventScript_Bernie",
"flag": "0"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route114_EventScript_1F27A9",
+ "script": "Route114_EventScript_Ivy",
"flag": "0"
},
{
@@ -321,7 +321,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route114_EventScript_1F278E",
+ "script": "Route114_EventScript_Tyra",
"flag": "0"
},
{
@@ -334,7 +334,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route114_EventScript_1F27DB",
+ "script": "Route114_EventScript_Charlotte",
"flag": "0"
},
{
@@ -347,7 +347,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route114_EventScript_1F27C4",
+ "script": "Route114_EventScript_Angelina",
"flag": "0"
},
{
@@ -373,7 +373,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route114_EventScript_1F27F2",
+ "script": "Route114_EventScript_Kai",
"flag": "0"
}
],
@@ -422,7 +422,7 @@
"y": 64,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route114_EventScript_1F2625"
+ "script": "Route114_EventScript_MeteorFallsSign"
},
{
"type": "sign",
@@ -430,7 +430,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route114_EventScript_1F262E"
+ "script": "Route114_EventScript_FossilManiacsHouseSign"
},
{
"type": "secret_base",
@@ -480,7 +480,7 @@
"y": 38,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route114_EventScript_1F2637"
+ "script": "Route114_EventScript_LanettesHouseSign"
},
{
"type": "hidden_item",
diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc
index 925f693fa..dda7f270d 100644
--- a/data/maps/Route114/scripts.inc
+++ b/data/maps/Route114/scripts.inc
@@ -1,211 +1,211 @@
Route114_MapScripts:: @ 81F252F
map_script MAP_SCRIPT_ON_TRANSITION, Route114_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route114_MapScript1_1F2561
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route114_MapScript2_1F2578
+ map_script MAP_SCRIPT_ON_LOAD, Route114_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route114_OnFrame
.byte 0
Route114_OnTransition: @ 81F253F
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route114_EventScript_273D13
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH
- call_if_eq UnusualWeather_StartGroudonWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_SOUTH
- call_if_eq UnusualWeather_StartGroudonWeather
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH
+ call_if_eq AbnormalWeather_StartGroudonWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH
+ call_if_eq AbnormalWeather_StartGroudonWeather
end
-Route114_MapScript1_1F2561: @ 81F2561
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_NORTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute114North
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_114_SOUTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute114South
+Route114_OnLoad: @ 81F2561
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute114North
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute114South
end
-Route114_MapScript2_1F2578: @ 81F2578
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route114_OnFrame: @ 81F2578
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route114_EventScript_1F2582:: @ 81F2582
+Route114_EventScript_Man:: @ 81F2582
lock
faceplayer
dotimebasedevents
- goto_if_set FLAG_DAILY_ROUTE_114_RECEIVED_BERRY, Route114_EventScript_1F25C7
- msgbox Route114_Text_2A6FCB, MSGBOX_DEFAULT
- random 5
- addvar VAR_RESULT, 15
- addvar VAR_RESULT, 133
- giveitem_std VAR_RESULT
- compare VAR_RESULT, 0
+ goto_if_set FLAG_DAILY_ROUTE_114_RECEIVED_BERRY, Route114_EventScript_ReceivedBerry
+ msgbox Route114_Text_LoveUsingBerryCrushShareBerry, MSGBOX_DEFAULT
+ random NUM_ROUTE_114_MAN_BERRIES
+ addvar VAR_RESULT, NUM_ROUTE_114_MAN_BERRIES_SKIPPED
+ addvar VAR_RESULT, FIRST_BERRY_INDEX
+ giveitem VAR_RESULT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_ROUTE_114_RECEIVED_BERRY
- msgbox Route114_Text_2A7034, MSGBOX_DEFAULT
+ msgbox Route114_Text_TryBerryCrushWithFriends, MSGBOX_DEFAULT
release
end
-Route114_EventScript_1F25C7:: @ 81F25C7
- msgbox Route114_Text_2A706E, MSGBOX_DEFAULT
+Route114_EventScript_ReceivedBerry:: @ 81F25C7
+ msgbox Route114_Text_FunToThinkAboutBerries, MSGBOX_DEFAULT
release
end
-Route114_EventScript_1F25D1:: @ 81F25D1
+Route114_EventScript_RoarGentleman:: @ 81F25D1
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_1F2608
- msgbox Route114_Text_1F2809, MSGBOX_DEFAULT
- giveitem_std ITEM_TM05
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_ReceivedRoar
+ msgbox Route114_Text_AllMyMonDoesIsRoarTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM05
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM05
- msgbox Route114_Text_1F2872, MSGBOX_DEFAULT
+ msgbox Route114_Text_ExplainRoar, MSGBOX_DEFAULT
release
end
-Route114_EventScript_1F2608:: @ 81F2608
- msgbox Route114_Text_1F2872, MSGBOX_DEFAULT
+Route114_EventScript_ReceivedRoar:: @ 81F2608
+ msgbox Route114_Text_ExplainRoar, MSGBOX_DEFAULT
release
end
-Route114_EventScript_1F2612:: @ 81F2612
+Route114_EventScript_Poochyena:: @ 81F2612
lock
faceplayer
waitse
playmoncry SPECIES_POOCHYENA, 2
- msgbox Route114_Text_1F28A6, MSGBOX_DEFAULT
+ msgbox Route114_Text_Poochyena, MSGBOX_DEFAULT
waitmoncry
release
end
-Route114_EventScript_1F2625:: @ 81F2625
- msgbox Route114_Text_1F28B3, MSGBOX_SIGN
+Route114_EventScript_MeteorFallsSign:: @ 81F2625
+ msgbox Route114_Text_MeteorFallsSign, MSGBOX_SIGN
end
-Route114_EventScript_1F262E:: @ 81F262E
- msgbox Route114_Text_1F28DB, MSGBOX_SIGN
+Route114_EventScript_FossilManiacsHouseSign:: @ 81F262E
+ msgbox Route114_Text_FossilManiacsHouseSign, MSGBOX_SIGN
end
-Route114_EventScript_1F2637:: @ 81F2637
- msgbox Route114_Text_1F2910, MSGBOX_SIGN
+Route114_EventScript_LanettesHouseSign:: @ 81F2637
+ msgbox Route114_Text_LanettesHouse, MSGBOX_SIGN
end
-Route114_EventScript_1F2640:: @ 81F2640
- trainerbattle_single TRAINER_LENNY, Route114_Text_29A6B1, Route114_Text_29A707
- msgbox Route114_Text_29A715, MSGBOX_AUTOCLOSE
+Route114_EventScript_Lenny:: @ 81F2640
+ trainerbattle_single TRAINER_LENNY, Route114_Text_LennyIntro, Route114_Text_LennyDefeat
+ msgbox Route114_Text_LennyPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F2657:: @ 81F2657
- trainerbattle_single TRAINER_LUCAS_1, Route114_Text_29A777, Route114_Text_29A7B5
- msgbox Route114_Text_29A7D4, MSGBOX_AUTOCLOSE
+Route114_EventScript_Lucas:: @ 81F2657
+ trainerbattle_single TRAINER_LUCAS_1, Route114_Text_LucasIntro, Route114_Text_LucasDefeat
+ msgbox Route114_Text_LucasPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F266E:: @ 81F266E
- trainerbattle_single TRAINER_SHANE, Route114_Text_29A818, Route114_Text_29A88F
- msgbox Route114_Text_29A89F, MSGBOX_AUTOCLOSE
+Route114_EventScript_Shane:: @ 81F266E
+ trainerbattle_single TRAINER_SHANE, Route114_Text_ShaneIntro, Route114_Text_ShaneDefeat
+ msgbox Route114_Text_ShanePostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F2685:: @ 81F2685
- trainerbattle_single TRAINER_NANCY, Route114_Text_29A8D9, Route114_Text_29A90E
- msgbox Route114_Text_29A916, MSGBOX_AUTOCLOSE
+Route114_EventScript_Nancy:: @ 81F2685
+ trainerbattle_single TRAINER_NANCY, Route114_Text_NancyIntro, Route114_Text_NancyDefeat
+ msgbox Route114_Text_NancyPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F269C:: @ 81F269C
- trainerbattle_single TRAINER_STEVE_1, Route114_Text_29A943, Route114_Text_29A973, Route114_EventScript_1F26C8
+Route114_EventScript_Steve:: @ 81F269C
+ trainerbattle_single TRAINER_STEVE_1, Route114_Text_SteveIntro, Route114_Text_SteveDefeat, Route114_EventScript_RegisterSteve
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route114_EventScript_1F26E7
- msgbox Route114_Text_29A981, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route114_EventScript_RematchSteve
+ msgbox Route114_Text_StevePostBattle, MSGBOX_DEFAULT
release
end
-Route114_EventScript_1F26C8:: @ 81F26C8
- special sub_80B4808
+Route114_EventScript_RegisterSteve:: @ 81F26C8
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route114_Text_29A9F7, MSGBOX_DEFAULT
+ msgbox Route114_Text_SteveRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_STEVE_1
release
end
-Route114_EventScript_1F26E7:: @ 81F26E7
- trainerbattle_rematch TRAINER_STEVE_1, Route114_Text_29AA3E, Route114_Text_29AA67
- msgbox Route114_Text_29AA94, MSGBOX_AUTOCLOSE
+Route114_EventScript_RematchSteve:: @ 81F26E7
+ trainerbattle_rematch TRAINER_STEVE_1, Route114_Text_SteveRematchIntro, Route114_Text_SteveRematchDefeat
+ msgbox Route114_Text_StevePostRematch, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F26FE:: @ 81F26FE
- trainerbattle_single TRAINER_BERNIE_1, Route114_Text_29AADB, Route114_Text_29AB1A, Route114_EventScript_1F272A
+Route114_EventScript_Bernie:: @ 81F26FE
+ trainerbattle_single TRAINER_BERNIE_1, Route114_Text_BernieIntro, Route114_Text_BernieDefeat, Route114_EventScript_RegisterBernie
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route114_EventScript_1F2749
- msgbox Route114_Text_29AB36, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route114_EventScript_RematchBernie
+ msgbox Route114_Text_BerniePostBattle, MSGBOX_DEFAULT
release
end
-Route114_EventScript_1F272A:: @ 81F272A
- special sub_80B4808
+Route114_EventScript_RegisterBernie:: @ 81F272A
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route114_Text_29ABA6, MSGBOX_DEFAULT
+ msgbox Route114_Text_BernieRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_BERNIE_1
release
end
-Route114_EventScript_1F2749:: @ 81F2749
- trainerbattle_rematch TRAINER_BERNIE_1, Route114_Text_29ABDC, Route114_Text_29AC10
- msgbox Route114_Text_29AC43, MSGBOX_AUTOCLOSE
+Route114_EventScript_RematchBernie:: @ 81F2749
+ trainerbattle_rematch TRAINER_BERNIE_1, Route114_Text_BernieRematchIntro, Route114_Text_BernieRematchDefeat
+ msgbox Route114_Text_BerniePostRematch, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F2760:: @ 81F2760
- trainerbattle_single TRAINER_CLAUDE, Route114_Text_29ACB3, Route114_Text_29AD0A
- msgbox Route114_Text_29AD2E, MSGBOX_AUTOCLOSE
+Route114_EventScript_Claude:: @ 81F2760
+ trainerbattle_single TRAINER_CLAUDE, Route114_Text_ClaudeIntro, Route114_Text_ClaudeDefeat
+ msgbox Route114_Text_ClaudePostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F2777:: @ 81F2777
- trainerbattle_single TRAINER_NOLAN, Route114_Text_29ADA1, Route114_Text_29AE05
- msgbox Route114_Text_29AE3D, MSGBOX_AUTOCLOSE
+Route114_EventScript_Nolan:: @ 81F2777
+ trainerbattle_single TRAINER_NOLAN, Route114_Text_NolanIntro, Route114_Text_NolanDefeat
+ msgbox Route114_Text_NolanPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F278E:: @ 81F278E
- trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_29AE96, Route114_Text_29AEE7, Route114_Text_29AF3D
- msgbox Route114_Text_29AF0B, MSGBOX_AUTOCLOSE
+Route114_EventScript_Tyra:: @ 81F278E
+ trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_TyraIntro, Route114_Text_TyraDefeat, Route114_Text_TyraNotEnoughMons
+ msgbox Route114_Text_TyraPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F27A9:: @ 81F27A9
- trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_29AF89, Route114_Text_29AFAC, Route114_Text_29B01B
- msgbox Route114_Text_29AFCF, MSGBOX_AUTOCLOSE
+Route114_EventScript_Ivy:: @ 81F27A9
+ trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_IvyIntro, Route114_Text_IvyDefeat, Route114_Text_IvyNotEnoughMons
+ msgbox Route114_Text_IvyPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F27C4:: @ 81F27C4
- trainerbattle_single TRAINER_ANGELINA, Route114_Text_29B16F, Route114_Text_29B19C
- msgbox Route114_Text_29B1BC, MSGBOX_AUTOCLOSE
+Route114_EventScript_Angelina:: @ 81F27C4
+ trainerbattle_single TRAINER_ANGELINA, Route114_Text_AngelinaIntro, Route114_Text_AngelinaDefeat
+ msgbox Route114_Text_AngelinaPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F27DB:: @ 81F27DB
- trainerbattle_single TRAINER_CHARLOTTE, Route114_Text_29B0DB, Route114_Text_29B0FB
- msgbox Route114_Text_29B11A, MSGBOX_AUTOCLOSE
+Route114_EventScript_Charlotte:: @ 81F27DB
+ trainerbattle_single TRAINER_CHARLOTTE, Route114_Text_CharlotteIntro, Route114_Text_CharlotteDefeat
+ msgbox Route114_Text_CharlottePostBattle, MSGBOX_AUTOCLOSE
end
-Route114_EventScript_1F27F2:: @ 81F27F2
- trainerbattle_single TRAINER_KAI, Route114_Text_29B05D, Route114_Text_29B089
- msgbox Route114_Text_29B0B5, MSGBOX_AUTOCLOSE
+Route114_EventScript_Kai:: @ 81F27F2
+ trainerbattle_single TRAINER_KAI, Route114_Text_KaiIntro, Route114_Text_KaiDefeat
+ msgbox Route114_Text_KaiPostBattle, MSGBOX_AUTOCLOSE
end
-Route114_Text_1F2809: @ 81F2809
+Route114_Text_AllMyMonDoesIsRoarTakeThis: @ 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
+Route114_Text_ExplainRoar: @ 81F2872
.string "TM05 contains ROAR.\n"
.string "A ROAR sends POKéMON scurrying.$"
-Route114_Text_1F28A6: @ 81F28A6
+Route114_Text_Poochyena: @ 81F28A6
.string "Bow! Bowwow!$"
-Route114_Text_1F28B3: @ 81F28B3
+Route114_Text_MeteorFallsSign: @ 81F28B3
.string "METEOR FALLS\n"
.string "RUSTBORO CITY THROUGH HERE$"
-Route114_Text_1F28DB: @ 81F28DB
+Route114_Text_FossilManiacsHouseSign: @ 81F28DB
.string "FOSSIL MANIAC'S HOUSE\n"
.string "“Fossils gratefully accepted!”$"
-Route114_Text_1F2910: @ 81F2910
+Route114_Text_LanettesHouse: @ 81F2910
.string "LANETTE'S HOUSE$"
diff --git a/data/maps/Route114_FossilManiacsHouse/map.json b/data/maps/Route114_FossilManiacsHouse/map.json
index 0c5c5ea77..7a629f44a 100644
--- a/data/maps/Route114_FossilManiacsHouse/map.json
+++ b/data/maps/Route114_FossilManiacsHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_FossilManiacsHouse_EventScript_22AD3A",
+ "script": "Route114_FossilManiacsHouse_EventScript_FossilManiacsBrother",
"flag": "0"
}
],
@@ -59,7 +59,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "Route114_FossilManiacsHouse_EventScript_22AD73"
+ "script": "Route114_FossilManiacsHouse_EventScript_RockDisplay"
},
{
"type": "sign",
@@ -67,7 +67,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "Route114_FossilManiacsHouse_EventScript_22AD73"
+ "script": "Route114_FossilManiacsHouse_EventScript_RockDisplay"
},
{
"type": "sign",
@@ -75,7 +75,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "Route114_FossilManiacsHouse_EventScript_22AD7C"
+ "script": "Route114_FossilManiacsHouse_EventScript_Bookshelf"
},
{
"type": "sign",
@@ -83,7 +83,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "Route114_FossilManiacsHouse_EventScript_22AD7C"
+ "script": "Route114_FossilManiacsHouse_EventScript_Bookshelf"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc
index 83fade3e6..8db686d10 100644
--- a/data/maps/Route114_FossilManiacsHouse/scripts.inc
+++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc
@@ -6,32 +6,32 @@ Route114_FossilManiacsHouse_OnTransition: @ 822AD36
setflag FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE
end
-Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A
+Route114_FossilManiacsHouse_EventScript_FossilManiacsBrother:: @ 822AD3A
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_22AD69
- msgbox Route114_FossilManiacsHouse_Text_22AD85, MSGBOX_DEFAULT
- giveitem_std ITEM_TM28
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_ReceivedDig
+ msgbox Route114_FossilManiacsHouse_Text_HaveThisToDigLikeMyBrother, MSGBOX_DEFAULT
+ giveitem ITEM_TM28
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM28
release
end
-Route114_FossilManiacsHouse_EventScript_22AD69:: @ 822AD69
- msgbox Route114_FossilManiacsHouse_Text_22AE48, MSGBOX_DEFAULT
+Route114_FossilManiacsHouse_EventScript_ReceivedDig:: @ 822AD69
+ msgbox Route114_FossilManiacsHouse_Text_DigReturnsYouToEntrance, MSGBOX_DEFAULT
release
end
-Route114_FossilManiacsHouse_EventScript_22AD73:: @ 822AD73
- msgbox Route114_FossilManiacsHouse_Text_22AE92, MSGBOX_SIGN
+Route114_FossilManiacsHouse_EventScript_RockDisplay:: @ 822AD73
+ msgbox Route114_FossilManiacsHouse_Text_RocksFillDisplayCase, MSGBOX_SIGN
end
-Route114_FossilManiacsHouse_EventScript_22AD7C:: @ 822AD7C
- msgbox Route114_FossilManiacsHouse_Text_22AEC2, MSGBOX_SIGN
+Route114_FossilManiacsHouse_EventScript_Bookshelf:: @ 822AD7C
+ msgbox Route114_FossilManiacsHouse_Text_CrammedWithBooks, MSGBOX_SIGN
end
-Route114_FossilManiacsHouse_Text_22AD85: @ 822AD85
+Route114_FossilManiacsHouse_Text_HaveThisToDigLikeMyBrother: @ 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"
@@ -39,15 +39,15 @@ Route114_FossilManiacsHouse_Text_22AD85: @ 822AD85
.string "You can have this, so you can DIG\n"
.string "holes just like my big brother…$"
-Route114_FossilManiacsHouse_Text_22AE48: @ 822AE48
+Route114_FossilManiacsHouse_Text_DigReturnsYouToEntrance: @ 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
+Route114_FossilManiacsHouse_Text_RocksFillDisplayCase: @ 822AE92
.string "Rocks in peculiar shapes fill\n"
.string "the display case…$"
-Route114_FossilManiacsHouse_Text_22AEC2: @ 822AEC2
+Route114_FossilManiacsHouse_Text_CrammedWithBooks: @ 822AEC2
.string "THE COMPOSITION OF STRATA…\n"
.string "HOW RAIN SHAPES THE LAND…\l"
.string "STONES, SOIL, AND ROCK…\p"
diff --git a/data/maps/Route114_FossilManiacsTunnel/map.json b/data/maps/Route114_FossilManiacsTunnel/map.json
index d0992f8fa..da3241ed1 100644
--- a/data/maps/Route114_FossilManiacsTunnel/map.json
+++ b/data/maps/Route114_FossilManiacsTunnel/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_FossilManiacsTunnel_EventScript_22AF87",
+ "script": "Route114_FossilManiacsTunnel_EventScript_FossilManiac",
"flag": "0"
}
],
@@ -59,7 +59,7 @@
"elevation": 3,
"var": "VAR_FOSSIL_MANIAC_STATE",
"var_value": "1",
- "script": "Route114_FossilManiacsTunnel_EventScript_22AF66"
+ "script": "Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn"
},
{
"type": "trigger",
@@ -68,7 +68,7 @@
"elevation": 3,
"var": "VAR_FOSSIL_MANIAC_STATE",
"var_value": "1",
- "script": "Route114_FossilManiacsTunnel_EventScript_22AF66"
+ "script": "Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn"
}
],
"bg_events": []
diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
index 3de7350ac..3bea9a501 100644
--- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc
+++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
@@ -1,61 +1,61 @@
Route114_FossilManiacsTunnel_MapScripts:: @ 822AF28
map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsTunnel_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route114_FossilManiacsTunnel_MapScript1_22AF49
+ map_script MAP_SCRIPT_ON_LOAD, Route114_FossilManiacsTunnel_OnLoad
.byte 0
Route114_FossilManiacsTunnel_OnTransition: @ 822AF33
- call_if_set FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF3D
+ call_if_set FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_MoveFossilManiac
end
-Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D
+Route114_FossilManiacsTunnel_EventScript_MoveFossilManiac:: @ 822AF3D
setobjectxyperm 1, 6, 5
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
return
-Route114_FossilManiacsTunnel_MapScript1_22AF49: @ 822AF49
- call_if_unset FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF53
+Route114_FossilManiacsTunnel_OnLoad: @ 822AF49
+ call_if_unset FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_CloseDesertUnderpass
end
-Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53
+Route114_FossilManiacsTunnel_EventScript_CloseDesertUnderpass:: @ 822AF53
setmetatile 6, 1, METATILE_Fallarbor_RedRockWall, 1
setmetatile 6, 2, METATILE_Fallarbor_RedRockWall, 1
return
-Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66
+Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn:: @ 822AF66
lockall
- applymovement 1, Common_Movement_WalkInPlaceUp
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox Route114_FossilManiacsTunnel_Text_22B1F7, MSGBOX_DEFAULT
+ msgbox Route114_FossilManiacsTunnel_Text_NotSafeThatWay, MSGBOX_DEFAULT
setvar VAR_FOSSIL_MANIAC_STATE, 2
releaseall
end
-Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87
+Route114_FossilManiacsTunnel_EventScript_FossilManiac:: @ 822AF87
lock
faceplayer
- goto_if_set FLAG_RECEIVED_REVIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_22AFC6
+ goto_if_set FLAG_RECEIVED_REVIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_PlayerRevivedFossil
checkitem ITEM_ROOT_FOSSIL, 1
- compare VAR_RESULT, 1
- goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil
checkitem ITEM_CLAW_FOSSIL, 1
- compare VAR_RESULT, 1
- goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
- msgbox Route114_FossilManiacsTunnel_Text_22AFD0, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil
+ msgbox Route114_FossilManiacsTunnel_Text_LookInDesertForFossils, MSGBOX_DEFAULT
release
end
-Route114_FossilManiacsTunnel_EventScript_22AFBC:: @ 822AFBC
- msgbox Route114_FossilManiacsTunnel_Text_22B0D6, MSGBOX_DEFAULT
+Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil:: @ 822AFBC
+ msgbox Route114_FossilManiacsTunnel_Text_DevonCorpRevivingFossils, MSGBOX_DEFAULT
release
end
-Route114_FossilManiacsTunnel_EventScript_22AFC6:: @ 822AFC6
- msgbox Route114_FossilManiacsTunnel_Text_22B1CC, MSGBOX_DEFAULT
+Route114_FossilManiacsTunnel_EventScript_PlayerRevivedFossil:: @ 822AFC6
+ msgbox Route114_FossilManiacsTunnel_Text_FossilsAreWonderful, MSGBOX_DEFAULT
release
end
-Route114_FossilManiacsTunnel_Text_22AFD0: @ 822AFD0
+Route114_FossilManiacsTunnel_Text_LookInDesertForFossils: @ 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"
@@ -66,7 +66,7 @@ Route114_FossilManiacsTunnel_Text_22AFD0: @ 822AFD0
.string "are boulders and sand that may hide\l"
.string "FOSSILS…$"
-Route114_FossilManiacsTunnel_Text_22B0D6: @ 822B0D6
+Route114_FossilManiacsTunnel_Text_DevonCorpRevivingFossils: @ 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"
@@ -77,11 +77,11 @@ Route114_FossilManiacsTunnel_Text_22B0D6: @ 822B0D6
.string "I love my FOSSILS, so I would never\n"
.string "do anything like that…$"
-Route114_FossilManiacsTunnel_Text_22B1CC: @ 822B1CC
+Route114_FossilManiacsTunnel_Text_FossilsAreWonderful: @ 822B1CC
.string "FOSSILS are so… Wonderful…\n"
.string "It's so dreamy…$"
-Route114_FossilManiacsTunnel_Text_22B1F7: @ 822B1F7
+Route114_FossilManiacsTunnel_Text_NotSafeThatWay: @ 822B1F7
.string "Oh…\n"
.string "It's not safe that way…\p"
.string "I was digging away, you see…\n"
diff --git a/data/maps/Route114_LanettesHouse/map.json b/data/maps/Route114_LanettesHouse/map.json
index b4b1b412b..6709d055e 100644
--- a/data/maps/Route114_LanettesHouse/map.json
+++ b/data/maps/Route114_LanettesHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route114_LanettesHouse_EventScript_22B2D2",
+ "script": "Route114_LanettesHouse_EventScript_Lanette",
"flag": "FLAG_HIDE_LANETTES_HOUSE_LANETTE"
}
],
@@ -52,7 +52,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route114_LanettesHouse_EventScript_22B309"
+ "script": "Route114_LanettesHouse_EventScript_Notebook"
},
{
"type": "sign",
@@ -60,7 +60,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route114_LanettesHouse_EventScript_22B345"
+ "script": "Route114_LanettesHouse_EventScript_PC"
},
{
"type": "sign",
@@ -68,7 +68,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route114_LanettesHouse_EventScript_22B345"
+ "script": "Route114_LanettesHouse_EventScript_PC"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc
index e24f6ce65..cd2f808fc 100644
--- a/data/maps/Route114_LanettesHouse/scripts.inc
+++ b/data/maps/Route114_LanettesHouse/scripts.inc
@@ -6,49 +6,49 @@ Route114_LanettesHouse_OnTransition: @ 822B2CE
setflag FLAG_LANDMARK_LANETTES_HOUSE
end
-Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2
+Route114_LanettesHouse_EventScript_Lanette:: @ 822B2D2
lock
faceplayer
- goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_22B2FF
+ goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_OfferAdvice
setflag FLAG_SYS_PC_LANETTE
- msgbox Route114_LanettesHouse_Text_22B34E, MSGBOX_DEFAULT
- givedecoration_std 99
- compare VAR_RESULT, 0
- goto_if_eq Route114_LanettesHouse_EventScript_272067
+ msgbox Route114_LanettesHouse_Text_EverythingClutteredKeepThis, MSGBOX_DEFAULT
+ givedecoration DECOR_LOTAD_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq Common_EventScript_ShowNoRoomForDecor
setflag FLAG_RECEIVED_DOLL_LANETTE
release
end
-Route114_LanettesHouse_EventScript_22B2FF:: @ 822B2FF
- msgbox Route114_LanettesHouse_Text_22B407, MSGBOX_DEFAULT
+Route114_LanettesHouse_EventScript_OfferAdvice:: @ 822B2FF
+ msgbox Route114_LanettesHouse_Text_OrganizeYourBoxes, MSGBOX_DEFAULT
release
end
-Route114_LanettesHouse_EventScript_22B309:: @ 822B309
+Route114_LanettesHouse_EventScript_Notebook:: @ 822B309
lockall
- msgbox Route114_LanettesHouse_Text_22B485, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route114_LanettesHouse_EventScript_22B327
- msgbox Route114_LanettesHouse_Text_22B6E4, MSGBOX_DEFAULT
+ msgbox Route114_LanettesHouse_Text_ResearchNotesPage1, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route114_LanettesHouse_EventScript_NotebookPage2
+ msgbox Route114_LanettesHouse_Text_ClosedTheNotebook, MSGBOX_DEFAULT
releaseall
end
-Route114_LanettesHouse_EventScript_22B327:: @ 822B327
- msgbox Route114_LanettesHouse_Text_22B53C, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq Route114_LanettesHouse_EventScript_22B33C
+Route114_LanettesHouse_EventScript_NotebookPage2:: @ 822B327
+ msgbox Route114_LanettesHouse_Text_ResearchNotesPage2, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq Route114_LanettesHouse_EventScript_NotebookPage3
releaseall
end
-Route114_LanettesHouse_EventScript_22B33C:: @ 822B33C
- msgbox Route114_LanettesHouse_Text_22B5EF, MSGBOX_DEFAULT
+Route114_LanettesHouse_EventScript_NotebookPage3:: @ 822B33C
+ msgbox Route114_LanettesHouse_Text_ResearchNotesPage3, MSGBOX_DEFAULT
return
-Route114_LanettesHouse_EventScript_22B345:: @ 822B345
- msgbox Route114_LanettesHouse_Text_22B6FC, MSGBOX_SIGN
+Route114_LanettesHouse_EventScript_PC:: @ 822B345
+ msgbox Route114_LanettesHouse_Text_EmailFromBill, MSGBOX_SIGN
end
-Route114_LanettesHouse_Text_22B34E: @ 822B34E
+Route114_LanettesHouse_Text_EverythingClutteredKeepThis: @ 822B34E
.string "LANETTE: Oh! {PLAYER}{KUN}!\p"
.string "I'm sorry everything is so cluttered…\n"
.string "When I get engrossed in research,\l"
@@ -56,13 +56,13 @@ Route114_LanettesHouse_Text_22B34E: @ 822B34E
.string "This is embarrassing… Please keep\n"
.string "this a secret in exchange for this.$"
-Route114_LanettesHouse_Text_22B407: @ 822B407
+Route114_LanettesHouse_Text_OrganizeYourBoxes: @ 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
+Route114_LanettesHouse_Text_ResearchNotesPage1: @ 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"
@@ -70,7 +70,7 @@ Route114_LanettesHouse_Text_22B485: @ 822B485
.string "420 POKéMON on the PC system.\p"
.string "Keep reading?$"
-Route114_LanettesHouse_Text_22B53C: @ 822B53C
+Route114_LanettesHouse_Text_ResearchNotesPage2: @ 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"
@@ -78,7 +78,7 @@ Route114_LanettesHouse_Text_22B53C: @ 822B53C
.string "the stored POKéMON.\p"
.string "Keep reading?$"
-Route114_LanettesHouse_Text_22B5EF: @ 822B5EF
+Route114_LanettesHouse_Text_ResearchNotesPage3: @ 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"
@@ -87,10 +87,10 @@ Route114_LanettesHouse_Text_22B5EF: @ 822B5EF
.string "it is automatically selected as the BOX\l"
.string "to which POKéMON are sent.$"
-Route114_LanettesHouse_Text_22B6E4: @ 822B6E4
+Route114_LanettesHouse_Text_ClosedTheNotebook: @ 822B6E4
.string "{PLAYER} closed the notebook.$"
-Route114_LanettesHouse_Text_22B6FC: @ 822B6FC
+Route114_LanettesHouse_Text_EmailFromBill: @ 822B6FC
.string "There's an e-mail from someone on\n"
.string "the PC.\p"
.string "“… … … … … … …\p"
diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json
index 53ce80ce7..c9f1d8833 100644
--- a/data/maps/Route115/map.json
+++ b/data/maps/Route115/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route115_EventScript_1F2973",
+ "script": "Route115_EventScript_Woman",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route115_EventScript_1F298E",
+ "script": "Route115_EventScript_Timothy",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route115_EventScript_1F2A07",
+ "script": "Route115_EventScript_Nob",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route115_EventScript_1F2A69",
+ "script": "Route115_EventScript_Cyndy",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route115_EventScript_1F29F0",
+ "script": "Route115_EventScript_Koichi",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route115_EventScript_1F2ACB",
+ "script": "Route115_EventScript_Hector",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route115_EventScript_1F2AE2",
+ "script": "Route115_EventScript_Kyra",
"flag": "0"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route115_EventScript_1F2AF9",
+ "script": "Route115_EventScript_Jaiden",
"flag": "0"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route115_EventScript_1F2B27",
+ "script": "Route115_EventScript_Helene",
"flag": "0"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route115_EventScript_1F2B10",
+ "script": "Route115_EventScript_Alix",
"flag": "0"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route115_EventScript_1F2B3E",
+ "script": "Route115_EventScript_Marlene",
"flag": "0"
},
{
@@ -370,7 +370,7 @@
"y": 64,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route115_EventScript_1F297C"
+ "script": "Route115_EventScript_RouteSignRustboro"
},
{
"type": "sign",
@@ -378,7 +378,7 @@
"y": 38,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route115_EventScript_1F2985"
+ "script": "Route115_EventScript_MeteorFallsSign"
},
{
"type": "secret_base",
diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc
index 7c5b63bcd..a9d0d93c1 100644
--- a/data/maps/Route115/scripts.inc
+++ b/data/maps/Route115/scripts.inc
@@ -1,153 +1,153 @@
Route115_MapScripts:: @ 81F2920
- map_script MAP_SCRIPT_ON_LOAD, Route115_MapScript1_1F2930
+ map_script MAP_SCRIPT_ON_LOAD, Route115_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, Route115_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route115_MapScript2_1F2969
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route115_OnFrame
.byte 0
-Route115_MapScript1_1F2930: @ 81F2930
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute115West
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_EAST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute115East
+Route115_OnLoad: @ 81F2930
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute115West
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute115East
end
Route115_OnTransition: @ 81F2947
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route115_EventScript_273D13
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_WEST
- call_if_eq UnusualWeather_StartGroudonWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_115_EAST
- call_if_eq UnusualWeather_StartGroudonWeather
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST
+ call_if_eq AbnormalWeather_StartGroudonWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST
+ call_if_eq AbnormalWeather_StartGroudonWeather
end
-Route115_MapScript2_1F2969: @ 81F2969
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route115_OnFrame: @ 81F2969
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route115_EventScript_1F2973:: @ 81F2973
- msgbox Route115_Text_1F2B55, MSGBOX_NPC
+Route115_EventScript_Woman:: @ 81F2973
+ msgbox Route115_Text_NeverKnowWhenCavePokemonWillAppear, MSGBOX_NPC
end
-Route115_EventScript_1F297C:: @ 81F297C
- msgbox Route115_Text_1F2BC9, MSGBOX_SIGN
+Route115_EventScript_RouteSignRustboro:: @ 81F297C
+ msgbox Route115_Text_RouteSignRustboro, MSGBOX_SIGN
end
-Route115_EventScript_1F2985:: @ 81F2985
- msgbox Route115_Text_1F2BE3, MSGBOX_SIGN
+Route115_EventScript_MeteorFallsSign:: @ 81F2985
+ msgbox Route115_Text_MeteorFallsSign, MSGBOX_SIGN
end
-Route115_EventScript_1F298E:: @ 81F298E
- trainerbattle_single TRAINER_TIMOTHY_1, Route115_Text_29B1FA, Route115_Text_29B230, Route115_EventScript_1F29BA
+Route115_EventScript_Timothy:: @ 81F298E
+ trainerbattle_single TRAINER_TIMOTHY_1, Route115_Text_TimothyIntro, Route115_Text_TimothyDefeat, Route115_EventScript_RegisterTimothy
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route115_EventScript_1F29D9
- msgbox Route115_Text_29B258, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route115_EventScript_RematchTimothy
+ msgbox Route115_Text_TimothyPostBattle, MSGBOX_DEFAULT
release
end
-Route115_EventScript_1F29BA:: @ 81F29BA
- special sub_80B4808
+Route115_EventScript_RegisterTimothy:: @ 81F29BA
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route115_Text_29B2B3, MSGBOX_DEFAULT
+ msgbox Route115_Text_TimothyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_TIMOTHY_1
release
end
-Route115_EventScript_1F29D9:: @ 81F29D9
- trainerbattle_rematch TRAINER_TIMOTHY_1, Route115_Text_29B32C, Route115_Text_29B372
- msgbox Route115_Text_29B385, MSGBOX_AUTOCLOSE
+Route115_EventScript_RematchTimothy:: @ 81F29D9
+ trainerbattle_rematch TRAINER_TIMOTHY_1, Route115_Text_TimothyRematchIntro, Route115_Text_TimothyRematchDefeat
+ msgbox Route115_Text_TimothyPostRematch, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F29F0:: @ 81F29F0
- trainerbattle_single TRAINER_KOICHI, Route115_Text_29B3CC, Route115_Text_29B3ED
- msgbox Route115_Text_29B3FF, MSGBOX_AUTOCLOSE
+Route115_EventScript_Koichi:: @ 81F29F0
+ trainerbattle_single TRAINER_KOICHI, Route115_Text_KoichiIntro, Route115_Text_KoichiDefeat
+ msgbox Route115_Text_KoichiPostBattle, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2A07:: @ 81F2A07
- trainerbattle_single TRAINER_NOB_1, Route115_Text_29B449, Route115_Text_29B480, Route115_EventScript_1F2A33
+Route115_EventScript_Nob:: @ 81F2A07
+ trainerbattle_single TRAINER_NOB_1, Route115_Text_NobIntro, Route115_Text_NobDefeat, Route115_EventScript_RegisterNob
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route115_EventScript_1F2A52
- msgbox Route115_Text_29B49D, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route115_EventScript_RematchNob
+ msgbox Route115_Text_NobPostBattle, MSGBOX_DEFAULT
release
end
-Route115_EventScript_1F2A33:: @ 81F2A33
- special sub_80B4808
+Route115_EventScript_RegisterNob:: @ 81F2A33
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route115_Text_29B50B, MSGBOX_DEFAULT
+ msgbox Route115_Text_NobRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_NOB_1
release
end
-Route115_EventScript_1F2A52:: @ 81F2A52
- trainerbattle_rematch TRAINER_NOB_1, Route115_Text_29B547, Route115_Text_29B59D
- msgbox Route115_Text_29B5B5, MSGBOX_AUTOCLOSE
+Route115_EventScript_RematchNob:: @ 81F2A52
+ trainerbattle_rematch TRAINER_NOB_1, Route115_Text_NobRematchIntro, Route115_Text_NobRematchDefeat
+ msgbox Route115_Text_NobPostRematch, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2A69:: @ 81F2A69
- trainerbattle_single TRAINER_CYNDY_1, Route115_Text_29B5EF, Route115_Text_29B62D, Route115_EventScript_1F2A95
+Route115_EventScript_Cyndy:: @ 81F2A69
+ trainerbattle_single TRAINER_CYNDY_1, Route115_Text_CyndyIntro, Route115_Text_CyndyDefeat, Route115_EventScript_RegisterCyndy
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route115_EventScript_1F2AB4
- msgbox Route115_Text_29B647, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route115_EventScript_RematchCyndy
+ msgbox Route115_Text_CyndyPostBattle, MSGBOX_DEFAULT
release
end
-Route115_EventScript_1F2A95:: @ 81F2A95
- special sub_80B4808
+Route115_EventScript_RegisterCyndy:: @ 81F2A95
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route115_Text_29B6AB, MSGBOX_DEFAULT
+ msgbox Route115_Text_CyndyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_CYNDY_1
release
end
-Route115_EventScript_1F2AB4:: @ 81F2AB4
- trainerbattle_rematch TRAINER_CYNDY_1, Route115_Text_29B6FA, Route115_Text_29B71A
- msgbox Route115_Text_29B737, MSGBOX_AUTOCLOSE
+Route115_EventScript_RematchCyndy:: @ 81F2AB4
+ trainerbattle_rematch TRAINER_CYNDY_1, Route115_Text_CyndyRematchIntro, Route115_Text_CyndyRematchDefeat
+ msgbox Route115_Text_CyndyPostRematch, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2ACB:: @ 81F2ACB
- trainerbattle_single TRAINER_HECTOR, Route115_Text_29B78F, Route115_Text_29B7C5
- msgbox Route115_Text_29B7EA, MSGBOX_AUTOCLOSE
+Route115_EventScript_Hector:: @ 81F2ACB
+ trainerbattle_single TRAINER_HECTOR, Route115_Text_HectorIntro, Route115_Text_HectorDefeat
+ msgbox Route115_Text_HectorPostBattle, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2AE2:: @ 81F2AE2
- trainerbattle_single TRAINER_KYRA, Route115_Text_29B826, Route115_Text_29B85D
- msgbox Route115_Text_29B869, MSGBOX_AUTOCLOSE
+Route115_EventScript_Kyra:: @ 81F2AE2
+ trainerbattle_single TRAINER_KYRA, Route115_Text_KyraIntro, Route115_Text_KyraDefeat
+ msgbox Route115_Text_KyraPostBattle, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2AF9:: @ 81F2AF9
- trainerbattle_single TRAINER_JAIDEN, Route115_Text_29B8C1, Route115_Text_29B8E8
- msgbox Route115_Text_29B904, MSGBOX_AUTOCLOSE
+Route115_EventScript_Jaiden:: @ 81F2AF9
+ trainerbattle_single TRAINER_JAIDEN, Route115_Text_JaidenIntro, Route115_Text_JaidenDefeat
+ msgbox Route115_Text_JaidenPostBattle, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2B10:: @ 81F2B10
- trainerbattle_single TRAINER_ALIX, Route115_Text_29B9CB, Route115_Text_29B9F6
- msgbox Route115_Text_29BA04, MSGBOX_AUTOCLOSE
+Route115_EventScript_Alix:: @ 81F2B10
+ trainerbattle_single TRAINER_ALIX, Route115_Text_AlixIntro, Route115_Text_AlixDefeat
+ msgbox Route115_Text_AlixPostBattle, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2B27:: @ 81F2B27
- trainerbattle_single TRAINER_HELENE, Route115_Text_29B92D, Route115_Text_29B958
- msgbox Route115_Text_29B971, MSGBOX_AUTOCLOSE
+Route115_EventScript_Helene:: @ 81F2B27
+ trainerbattle_single TRAINER_HELENE, Route115_Text_HeleneIntro, Route115_Text_HeleneDefeat
+ msgbox Route115_Text_HelenePostBattle, MSGBOX_AUTOCLOSE
end
-Route115_EventScript_1F2B3E:: @ 81F2B3E
- trainerbattle_single TRAINER_MARLENE, Route115_Text_29BA2C, Route115_Text_29BA67
- msgbox Route115_Text_29BA87, MSGBOX_AUTOCLOSE
+Route115_EventScript_Marlene:: @ 81F2B3E
+ trainerbattle_single TRAINER_MARLENE, Route115_Text_MarleneIntro, Route115_Text_MarleneDefeat
+ msgbox Route115_Text_MarlenePostBattle, MSGBOX_AUTOCLOSE
end
-Route115_Text_1F2B55: @ 81F2B55
+Route115_Text_NeverKnowWhenCavePokemonWillAppear: @ 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
+Route115_Text_RouteSignRustboro: @ 81F2BC9
.string "ROUTE 115\n"
.string "{DOWN_ARROW} RUSTBORO CITY$"
-Route115_Text_1F2BE3: @ 81F2BE3
+Route115_Text_MeteorFallsSign: @ 81F2BE3
.string "METEOR FALLS\n"
.string "FALLARBOR TOWN THROUGH HERE$"
diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json
index 8a369e407..366fe1ed5 100644
--- a/data/maps/Route116/map.json
+++ b/data/maps/Route116/map.json
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route116_EventScript_1F2E89",
+ "script": "Route116_EventScript_Joey",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route116_EventScript_1F2EA0",
+ "script": "Route116_EventScript_Jose",
"flag": "0"
},
{
@@ -165,7 +165,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_1F2D84",
+ "script": "Route116_EventScript_Briney",
"flag": "FLAG_HIDE_ROUTE_116_MR_BRINEY"
},
{
@@ -191,7 +191,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route116_EventScript_1F2F65",
+ "script": "Route116_EventScript_Clark",
"flag": "0"
},
{
@@ -230,7 +230,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route116_EventScript_1F2F7C",
+ "script": "Route116_EventScript_Janice",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route116_EventScript_1F2F93",
+ "script": "Route116_EventScript_Karen",
"flag": "0"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route116_EventScript_1F2EB7",
+ "script": "Route116_EventScript_Jerry",
"flag": "0"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_1F2CA2",
+ "script": "Route116_EventScript_DevonEmployee",
"flag": "FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE"
},
{
@@ -295,8 +295,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_1F2C70",
- "flag": "FLAG_HIDE_ROUTE_116_TUNNELER"
+ "script": "Route116_EventScript_WandasBoyfriend",
+ "flag": "FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND"
},
{
"graphics_id": "EVENT_OBJ_GFX_MANIAC",
@@ -308,7 +308,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_EventScript_1F2DB6",
+ "script": "Route116_EventScript_GlassesMan",
"flag": "FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN"
},
{
@@ -321,7 +321,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route116_EventScript_1F3041",
+ "script": "Route116_EventScript_Sarah",
"flag": "0"
},
{
@@ -334,7 +334,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route116_EventScript_1F3058",
+ "script": "Route116_EventScript_Dawson",
"flag": "0"
},
{
@@ -373,7 +373,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route116_EventScript_1F3086",
+ "script": "Route116_EventScript_Johnson",
"flag": "0"
},
{
@@ -386,7 +386,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route116_EventScript_1F306F",
+ "script": "Route116_EventScript_Devan",
"flag": "0"
}
],
@@ -435,7 +435,7 @@
"elevation": 3,
"var": "VAR_ROUTE116_STATE",
"var_value": "1",
- "script": "Route116_EventScript_1F2D95"
+ "script": "Route116_EventScript_BrineyTrigger"
}
],
"bg_events": [
@@ -445,7 +445,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route116_EventScript_1F2D57"
+ "script": "Route116_EventScript_RouteSignRustboro"
},
{
"type": "sign",
@@ -453,7 +453,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route116_EventScript_1F2D60"
+ "script": "Route116_EventScript_RusturfTunnelSign"
},
{
"type": "sign",
@@ -461,7 +461,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route116_EventScript_1F2D69"
+ "script": "Route116_EventScript_TunnelersRestHouseSign"
},
{
"type": "secret_base",
@@ -483,7 +483,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route116_EventScript_1F2D72"
+ "script": "Route116_EventScript_TrainerTipsBToStopEvolution"
},
{
"type": "sign",
@@ -491,7 +491,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route116_EventScript_1F2D7B"
+ "script": "Route116_EventScript_TrainerTipsBagHasPockets"
},
{
"type": "secret_base",
diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc
index 161e9be51..eee823975 100644
--- a/data/maps/Route116/scripts.inc
+++ b/data/maps/Route116/scripts.inc
@@ -1,103 +1,103 @@
Route116_MapScripts:: @ 81F2C0C
map_script MAP_SCRIPT_ON_TRANSITION, Route116_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route116_MapScript1_1F2C4F
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route116_MapScript2_1F2C66
+ map_script MAP_SCRIPT_ON_LOAD, Route116_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route116_OnFrame
.byte 0
Route116_OnTransition: @ 81F2C1C
- call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C47
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route116_EventScript_273D13
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_NORTH
- call_if_eq UnusualWeather_StartGroudonWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_SOUTH
- call_if_eq UnusualWeather_StartGroudonWeather
+ call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_SetWandasBoyfriendPos
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH
+ call_if_eq AbnormalWeather_StartGroudonWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH
+ call_if_eq AbnormalWeather_StartGroudonWeather
end
-Route116_EventScript_1F2C47:: @ 81F2C47
+Route116_EventScript_SetWandasBoyfriendPos:: @ 81F2C47
setobjectxyperm 21, 38, 10
return
-Route116_MapScript1_1F2C4F: @ 81F2C4F
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_NORTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute116North
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_116_SOUTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute116South
+Route116_OnLoad: @ 81F2C4F
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute116North
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute116South
end
-Route116_MapScript2_1F2C66: @ 81F2C66
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route116_OnFrame: @ 81F2C66
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route116_EventScript_1F2C70:: @ 81F2C70
+Route116_EventScript_WandasBoyfriend:: @ 81F2C70
lock
faceplayer
- goto_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_1F2C8E
- goto_if_set FLAG_DEVON_GOODS_STOLEN, Route116_EventScript_1F2C98
- msgbox Route116_Text_1F3140, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_BoyfriendGruntLeftTunnel
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, Route116_EventScript_BoyfriendGruntInTunnel
+ msgbox Route116_Text_WantToDigTunnel, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2C8E:: @ 81F2C8E
- msgbox Route116_Text_1F32C1, MSGBOX_DEFAULT
+Route116_EventScript_BoyfriendGruntLeftTunnel:: @ 81F2C8E
+ msgbox Route116_Text_GoonHightailedItOutOfTunnel, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2C98:: @ 81F2C98
- msgbox Route116_Text_1F3166, MSGBOX_DEFAULT
+Route116_EventScript_BoyfriendGruntInTunnel:: @ 81F2C98
+ msgbox Route116_Text_DiggingTunnelWhenGoonOrderedMeOut, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2CA2:: @ 81F2CA2
+Route116_EventScript_DevonEmployee:: @ 81F2CA2
lock
faceplayer
- goto_if_set FLAG_MET_DEVON_EMPLOYEE, Route116_EventScript_1F2D2B
- msgbox Route116_Text_1F3317, MSGBOX_DEFAULT
- goto Route116_EventScript_1F2CBB
+ goto_if_set FLAG_MET_DEVON_EMPLOYEE, Route116_EventScript_TryGiveRepeatBallAgain
+ msgbox Route116_Text_ThankYouTokenOfAppreciation, MSGBOX_DEFAULT
+ goto Route116_EventScript_GiveRepeatBall
end
-Route116_EventScript_1F2CBB:: @ 81F2CBB
+Route116_EventScript_GiveRepeatBall:: @ 81F2CBB
setflag FLAG_MET_DEVON_EMPLOYEE
- giveitem_std ITEM_REPEAT_BALL
- compare VAR_RESULT, 0
- goto_if_eq Route116_EventScript_1F2D39
- msgbox Route116_Text_1F3521, MSGBOX_DEFAULT
+ giveitem ITEM_REPEAT_BALL
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route116_EventScript_NoRoomForRepeatBall
+ msgbox Route116_Text_NewBallAvailableAtMart, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq Route116_EventScript_1F2D15
- compare VAR_FACING, 1
- call_if_eq Route116_EventScript_1F2D15
- compare VAR_FACING, 3
- call_if_eq Route116_EventScript_1F2D15
- compare VAR_FACING, 4
- call_if_eq Route116_EventScript_1F2D20
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq Route116_EventScript_DevonEmployeeExit
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq Route116_EventScript_DevonEmployeeExit
+ compare VAR_FACING, DIR_WEST
+ call_if_eq Route116_EventScript_DevonEmployeeExit
+ compare VAR_FACING, DIR_EAST
+ call_if_eq Route116_EventScript_DevonEmployeeExitEast
removeobject VAR_LAST_TALKED
clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
setflag FLAG_RECEIVED_REPEAT_BALL
release
end
-Route116_EventScript_1F2D15:: @ 81F2D15
- applymovement VAR_LAST_TALKED, Route116_Movement_1F2D43
+Route116_EventScript_DevonEmployeeExit:: @ 81F2D15
+ applymovement VAR_LAST_TALKED, Route116_Movement_DevonEmployeeExit
waitmovement 0
return
-Route116_EventScript_1F2D20:: @ 81F2D20
- applymovement VAR_LAST_TALKED, Route116_Movement_1F2D4C
+Route116_EventScript_DevonEmployeeExitEast:: @ 81F2D20
+ applymovement VAR_LAST_TALKED, Route116_Movement_DevonEmployeeExitEast
waitmovement 0
return
-Route116_EventScript_1F2D2B:: @ 81F2D2B
- msgbox Route116_Text_1F35CE, MSGBOX_DEFAULT
- goto Route116_EventScript_1F2CBB
+Route116_EventScript_TryGiveRepeatBallAgain:: @ 81F2D2B
+ msgbox Route116_Text_TokenOfAppreciation, MSGBOX_DEFAULT
+ goto Route116_EventScript_GiveRepeatBall
end
-Route116_EventScript_1F2D39:: @ 81F2D39
- msgbox Route116_Text_1F3593, MSGBOX_DEFAULT
+Route116_EventScript_NoRoomForRepeatBall:: @ 81F2D39
+ msgbox Route116_Text_BagIsJamPacked, MSGBOX_DEFAULT
release
end
-Route116_Movement_1F2D43: @ 81F2D43
+Route116_Movement_DevonEmployeeExit: @ 81F2D43
walk_left
walk_left
walk_left
@@ -108,7 +108,7 @@ Route116_Movement_1F2D43: @ 81F2D43
walk_left
step_end
-Route116_Movement_1F2D4C: @ 81F2D4C
+Route116_Movement_DevonEmployeeExitEast: @ 81F2D4C
walk_down
walk_left
walk_left
@@ -121,104 +121,104 @@ Route116_Movement_1F2D4C: @ 81F2D4C
walk_left
step_end
-Route116_EventScript_1F2D57:: @ 81F2D57
- msgbox Route116_Text_1F379D, MSGBOX_SIGN
+Route116_EventScript_RouteSignRustboro:: @ 81F2D57
+ msgbox Route116_Text_RouteSignRustboro, MSGBOX_SIGN
end
-Route116_EventScript_1F2D60:: @ 81F2D60
- msgbox Route116_Text_1F37B7, MSGBOX_SIGN
+Route116_EventScript_RusturfTunnelSign:: @ 81F2D60
+ msgbox Route116_Text_RusturfTunnelSign, MSGBOX_SIGN
end
-Route116_EventScript_1F2D69:: @ 81F2D69
- msgbox Route116_Text_1F380F, MSGBOX_SIGN
+Route116_EventScript_TunnelersRestHouseSign:: @ 81F2D69
+ msgbox Route116_Text_TunnelersRestHouse, MSGBOX_SIGN
end
-Route116_EventScript_1F2D72:: @ 81F2D72
- msgbox Route116_Text_1F3825, MSGBOX_SIGN
+Route116_EventScript_TrainerTipsBToStopEvolution:: @ 81F2D72
+ msgbox Route116_Text_TrainerTipsBToStopEvolution, MSGBOX_SIGN
end
-Route116_EventScript_1F2D7B:: @ 81F2D7B
- msgbox Route116_Text_1F38D4, MSGBOX_SIGN
+Route116_EventScript_TrainerTipsBagHasPockets:: @ 81F2D7B
+ msgbox Route116_Text_TrainerTipsBagHasPockets, MSGBOX_SIGN
end
-Route116_EventScript_1F2D84:: @ 81F2D84
+Route116_EventScript_Briney:: @ 81F2D84
lock
faceplayer
- msgbox Route116_Text_1F309D, MSGBOX_DEFAULT
+ msgbox Route116_Text_ScoundrelMadeOffWithPeeko, MSGBOX_DEFAULT
setvar VAR_ROUTE116_STATE, 2
release
end
-Route116_EventScript_1F2D95:: @ 81F2D95
+Route116_EventScript_BrineyTrigger:: @ 81F2D95
lockall
- applymovement 11, Common_Movement_WalkInPlaceRight
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement 11, Common_Movement_WalkInPlaceFastestRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox Route116_Text_1F309D, MSGBOX_DEFAULT
+ msgbox Route116_Text_ScoundrelMadeOffWithPeeko, MSGBOX_DEFAULT
setvar VAR_ROUTE116_STATE, 2
releaseall
end
-Route116_EventScript_1F2DB6:: @ 81F2DB6
+Route116_EventScript_GlassesMan:: @ 81F2DB6
lock
faceplayer
checkitem ITEM_BLACK_GLASSES, 1
- compare VAR_RESULT, 1
- goto_if_eq Route116_EventScript_1F2DF1
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route116_EventScript_PlayerHasGlasses
specialvar VAR_RESULT, FoundBlackGlasses
- compare VAR_RESULT, 1
- goto_if_eq Route116_EventScript_1F2DE2
- msgbox Route116_Text_1F3657, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route116_EventScript_FoundGlassesNotOnPlayer
+ msgbox Route116_Text_CanYouHelpMeFindGlasses, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2DE2:: @ 81F2DE2
- msgbox Route116_Text_1F3718, MSGBOX_DEFAULT
+Route116_EventScript_FoundGlassesNotOnPlayer:: @ 81F2DE2
+ msgbox Route116_Text_CantFindGlassesNotHere, MSGBOX_DEFAULT
closemessage
- goto Route116_EventScript_1F2E2A
+ goto Route116_EventScript_GlassesManExit
end
-Route116_EventScript_1F2DF1:: @ 81F2DF1
- msgbox Route116_Text_1F3657, MSGBOX_DEFAULT
- msgbox Route116_Text_1F3688, MSGBOX_DEFAULT
+Route116_EventScript_PlayerHasGlasses:: @ 81F2DF1
+ msgbox Route116_Text_CanYouHelpMeFindGlasses, MSGBOX_DEFAULT
+ msgbox Route116_Text_MayISeeThoseGlasses, MSGBOX_DEFAULT
specialvar VAR_RESULT, FoundBlackGlasses
- compare VAR_RESULT, 1
- goto_if_eq Route116_EventScript_1F2E1B
- msgbox Route116_Text_1F375E, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route116_EventScript_FoundGlassesOnPlayer
+ msgbox Route116_Text_NotWhatImLookingFor, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2E1B:: @ 81F2E1B
- msgbox Route116_Text_1F36B4, MSGBOX_DEFAULT
+Route116_EventScript_FoundGlassesOnPlayer:: @ 81F2E1B
+ msgbox Route116_Text_NotWhatImLookingForMaybeTheyArentHere, MSGBOX_DEFAULT
closemessage
- goto Route116_EventScript_1F2E2A
+ goto Route116_EventScript_GlassesManExit
end
-Route116_EventScript_1F2E2A:: @ 81F2E2A
+Route116_EventScript_GlassesManExit:: @ 81F2E2A
delay 20
- compare VAR_FACING, 2
- call_if_eq Route116_EventScript_1F2E5E
- compare VAR_FACING, 1
- call_if_eq Route116_EventScript_1F2E5E
- compare VAR_FACING, 3
- call_if_eq Route116_EventScript_1F2E5E
- compare VAR_FACING, 4
- call_if_eq Route116_EventScript_1F2E69
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq Route116_EventScript_GlassesManExitNormal
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq Route116_EventScript_GlassesManExitNormal
+ compare VAR_FACING, DIR_WEST
+ call_if_eq Route116_EventScript_GlassesManExitNormal
+ compare VAR_FACING, DIR_EAST
+ call_if_eq Route116_EventScript_GlassesManExitEast
removeobject VAR_LAST_TALKED
release
end
-Route116_EventScript_1F2E5E:: @ 81F2E5E
- applymovement VAR_LAST_TALKED, Route116_Movement_1F2E74
+Route116_EventScript_GlassesManExitNormal:: @ 81F2E5E
+ applymovement VAR_LAST_TALKED, Route116_Movement_GlassesManExit
waitmovement 0
return
-Route116_EventScript_1F2E69:: @ 81F2E69
- applymovement VAR_LAST_TALKED, Route116_Movement_1F2E7E
+Route116_EventScript_GlassesManExitEast:: @ 81F2E69
+ applymovement VAR_LAST_TALKED, Route116_Movement_GlassesManExitEast
waitmovement 0
return
-Route116_Movement_1F2E74: @ 81F2E74
+Route116_Movement_GlassesManExit: @ 81F2E74
walk_left
walk_left
walk_left
@@ -230,7 +230,7 @@ Route116_Movement_1F2E74: @ 81F2E74
walk_left
step_end
-Route116_Movement_1F2E7E: @ 81F2E7E
+Route116_Movement_GlassesManExitEast: @ 81F2E7E
walk_up
walk_left
walk_left
@@ -243,133 +243,133 @@ Route116_Movement_1F2E7E: @ 81F2E7E
walk_left
step_end
-Route116_EventScript_1F2E89:: @ 81F2E89
- trainerbattle_single TRAINER_JOEY, Route116_Text_29BB79, Route116_Text_29BB9A
- msgbox Route116_Text_29BBC6, MSGBOX_AUTOCLOSE
+Route116_EventScript_Joey:: @ 81F2E89
+ trainerbattle_single TRAINER_JOEY, Route116_Text_JoeyIntro, Route116_Text_JoeyDefeat
+ msgbox Route116_Text_JoeyPostBattle, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F2EA0:: @ 81F2EA0
- trainerbattle_single TRAINER_JOSE, Route116_Text_29BBFD, Route116_Text_29BC25
- msgbox Route116_Text_29BC42, MSGBOX_AUTOCLOSE
+Route116_EventScript_Jose:: @ 81F2EA0
+ trainerbattle_single TRAINER_JOSE, Route116_Text_JoseIntro, Route116_Text_JoseDefeat
+ msgbox Route116_Text_JosePostBattle, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F2EB7:: @ 81F2EB7
- trainerbattle_single TRAINER_JERRY_1, Route116_Text_29BD0C, Route116_Text_29BD66, Route116_EventScript_1F2EF8
+Route116_EventScript_Jerry:: @ 81F2EB7
+ trainerbattle_single TRAINER_JERRY_1, Route116_Text_JerryIntro, Route116_Text_JerryDefeat, Route116_EventScript_TryRegisterJerryAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route116_EventScript_1F2F4E
- setvar VAR_0x8004, 273
- specialvar VAR_RESULT, sub_813B4E0
- compare VAR_RESULT, 0
- goto_if_eq Route116_EventScript_1F2F22
- msgbox Route116_Text_29BD92, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route116_EventScript_RematchJerry
+ setvar VAR_0x8004, TRAINER_JERRY_1
+ specialvar VAR_RESULT, IsTrainerRegistered
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route116_EventScript_TryRegisterJerry
+ msgbox Route116_Text_JerryPostBattle, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2EF8:: @ 81F2EF8
- goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F03
+Route116_EventScript_TryRegisterJerryAfterBattle:: @ 81F2EF8
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterJerryAfterBattle
release
end
-Route116_EventScript_1F2F03:: @ 81F2F03
- special sub_80B4808
+Route116_EventScript_RegisterJerryAfterBattle:: @ 81F2F03
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route116_Text_29BE71, MSGBOX_DEFAULT
+ msgbox Route116_Text_JerryRegister2, MSGBOX_DEFAULT
register_matchcall TRAINER_JERRY_1
release
end
-Route116_EventScript_1F2F22:: @ 81F2F22
- goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F35
- msgbox Route116_Text_29BD92, MSGBOX_DEFAULT
+Route116_EventScript_TryRegisterJerry:: @ 81F2F22
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterJerry
+ msgbox Route116_Text_JerryPostBattle, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2F35:: @ 81F2F35
- msgbox Route116_Text_29BDEF, MSGBOX_DEFAULT
+Route116_EventScript_RegisterJerry:: @ 81F2F35
+ msgbox Route116_Text_JerryRegister1, MSGBOX_DEFAULT
register_matchcall TRAINER_JERRY_1
release
end
-Route116_EventScript_1F2F4E:: @ 81F2F4E
- trainerbattle_rematch TRAINER_JERRY_1, Route116_Text_29BEF3, Route116_Text_29BF4C
- msgbox Route116_Text_29BF68, MSGBOX_AUTOCLOSE
+Route116_EventScript_RematchJerry:: @ 81F2F4E
+ trainerbattle_rematch TRAINER_JERRY_1, Route116_Text_JerryRematchIntro, Route116_Text_JerryRematchDefeat
+ msgbox Route116_Text_JerryPostRematch, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F2F65:: @ 81F2F65
- trainerbattle_single TRAINER_CLARK, Route116_Text_29BACD, Route116_Text_29BB0F
- msgbox Route116_Text_29BB31, MSGBOX_AUTOCLOSE
+Route116_EventScript_Clark:: @ 81F2F65
+ trainerbattle_single TRAINER_CLARK, Route116_Text_ClarkIntro, Route116_Text_ClarkDefeat
+ msgbox Route116_Text_ClarkPostBattle, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F2F7C:: @ 81F2F7C
- trainerbattle_single TRAINER_JANICE, Route116_Text_29BC7F, Route116_Text_29BCB3
- msgbox Route116_Text_29BCCC, MSGBOX_AUTOCLOSE
+Route116_EventScript_Janice:: @ 81F2F7C
+ trainerbattle_single TRAINER_JANICE, Route116_Text_JaniceIntro, Route116_Text_JaniceDefeat
+ msgbox Route116_Text_JanicePostBattle, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F2F93:: @ 81F2F93
- trainerbattle_single TRAINER_KAREN_1, Route116_Text_29BFC5, Route116_Text_29BFFA, Route116_EventScript_1F2FD4
+Route116_EventScript_Karen:: @ 81F2F93
+ trainerbattle_single TRAINER_KAREN_1, Route116_Text_KarenIntro, Route116_Text_KarenDefeat, Route116_EventScript_TryRegisterKarenAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route116_EventScript_1F302A
- setvar VAR_0x8004, 280
- specialvar VAR_RESULT, sub_813B4E0
- compare VAR_RESULT, 0
- goto_if_eq Route116_EventScript_1F2FFE
- msgbox Route116_Text_29C010, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route116_EventScript_RematchKaren
+ setvar VAR_0x8004, TRAINER_KAREN_1
+ specialvar VAR_RESULT, IsTrainerRegistered
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route116_EventScript_TryRegisterKaren
+ msgbox Route116_Text_KarenPostBattle, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F2FD4:: @ 81F2FD4
- goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2FDF
+Route116_EventScript_TryRegisterKarenAfterBattle:: @ 81F2FD4
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterKarenAfterBattle
release
end
-Route116_EventScript_1F2FDF:: @ 81F2FDF
- special sub_80B4808
+Route116_EventScript_RegisterKarenAfterBattle:: @ 81F2FDF
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route116_Text_29C096, MSGBOX_DEFAULT
+ msgbox Route116_Text_KarenRegister2, MSGBOX_DEFAULT
register_matchcall TRAINER_KAREN_1
release
end
-Route116_EventScript_1F2FFE:: @ 81F2FFE
- goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F3011
- msgbox Route116_Text_29C010, MSGBOX_DEFAULT
+Route116_EventScript_TryRegisterKaren:: @ 81F2FFE
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_RegisterKaren
+ msgbox Route116_Text_KarenPostBattle, MSGBOX_DEFAULT
release
end
-Route116_EventScript_1F3011:: @ 81F3011
- msgbox Route116_Text_29C052, MSGBOX_DEFAULT
+Route116_EventScript_RegisterKaren:: @ 81F3011
+ msgbox Route116_Text_KarenRegister1, MSGBOX_DEFAULT
register_matchcall TRAINER_KAREN_1
release
end
-Route116_EventScript_1F302A:: @ 81F302A
- trainerbattle_rematch TRAINER_KAREN_1, Route116_Text_29C0DA, Route116_Text_29C11F
- msgbox Route116_Text_29C13B, MSGBOX_AUTOCLOSE
+Route116_EventScript_RematchKaren:: @ 81F302A
+ trainerbattle_rematch TRAINER_KAREN_1, Route116_Text_KarenRematchIntro, Route116_Text_KarenRematchDefeat
+ msgbox Route116_Text_KarenPostRematch, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F3041:: @ 81F3041
- trainerbattle_single TRAINER_SARAH, Route116_Text_29C173, Route116_Text_29C1B8
- msgbox Route116_Text_29C1EA, MSGBOX_AUTOCLOSE
+Route116_EventScript_Sarah:: @ 81F3041
+ trainerbattle_single TRAINER_SARAH, Route116_Text_SarahIntro, Route116_Text_SarahDefeat
+ msgbox Route116_Text_SarahPostBattle, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F3058:: @ 81F3058
- trainerbattle_single TRAINER_DAWSON, Route116_Text_29C266, Route116_Text_29C2C2
- msgbox Route116_Text_29C2DD, MSGBOX_AUTOCLOSE
+Route116_EventScript_Dawson:: @ 81F3058
+ trainerbattle_single TRAINER_DAWSON, Route116_Text_DawsonIntro, Route116_Text_DawsonDefeat
+ msgbox Route116_Text_DawsonPostBattle, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F306F:: @ 81F306F
- trainerbattle_single TRAINER_DEVAN, Route116_Text_29C350, Route116_Text_29C365
- msgbox Route116_Text_29C380, MSGBOX_AUTOCLOSE
+Route116_EventScript_Devan:: @ 81F306F
+ trainerbattle_single TRAINER_DEVAN, Route116_Text_DevanIntro, Route116_Text_DevanDefeat
+ msgbox Route116_Text_DevanPostBattle, MSGBOX_AUTOCLOSE
end
-Route116_EventScript_1F3086:: @ 81F3086
- trainerbattle_single TRAINER_JOHNSON, Route116_Text_29C3C1, Route116_Text_29C3F7
- msgbox Route116_Text_29C418, MSGBOX_AUTOCLOSE
+Route116_EventScript_Johnson:: @ 81F3086
+ trainerbattle_single TRAINER_JOHNSON, Route116_Text_JohnsonIntro, Route116_Text_JohnsonDefeat
+ msgbox Route116_Text_JohnsonPostBattle, MSGBOX_AUTOCLOSE
end
-Route116_Text_1F309D: @ 81F309D
+Route116_Text_ScoundrelMadeOffWithPeeko: @ 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"
@@ -377,11 +377,11 @@ Route116_Text_1F309D: @ 81F309D
.string "darling PEEKO!\p"
.string "Wrrrooooooaaaar! PEEKO!$"
-Route116_Text_1F3140: @ 81F3140
+Route116_Text_WantToDigTunnel: @ 81F3140
.string "Nnn… Roar!\p"
.string "I want to dig that tunnel!$"
-Route116_Text_1F3166: @ 81F3166
+Route116_Text_DiggingTunnelWhenGoonOrderedMeOut: @ 81F3166
.string "Nnn… Roar!\n"
.string "What's going on?\p"
.string "I was digging the tunnel without any\n"
@@ -395,12 +395,12 @@ Route116_Text_1F3166: @ 81F3166
.string "something stupid and startle the\l"
.string "POKéMON into an uproar.$"
-Route116_Text_1F32C1: @ 81F32C1
+Route116_Text_GoonHightailedItOutOfTunnel: @ 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
+Route116_Text_ThankYouTokenOfAppreciation: @ 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"
@@ -419,61 +419,61 @@ Route116_Text_1F3317: @ 81F3317
.string "As a token of our appreciation, this\n"
.string "is our gift to our wonderful TRAINER!$"
-Route116_Text_1F3521: @ 81F3521
+Route116_Text_NewBallAvailableAtMart: @ 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
+Route116_Text_BagIsJamPacked: @ 81F3593
.string "Your BAG is jam-packed.\n"
.string "I can't give you this REPEAT BALL.$"
-Route116_Text_1F35CE: @ 81F35CE
+Route116_Text_TokenOfAppreciation: @ 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
+Route116_Text_CanYouHelpMeFindGlasses: @ 81F3657
.string "I dropped my glasses…\n"
.string "Can you help me find them?$"
-Route116_Text_1F3688: @ 81F3688
+Route116_Text_MayISeeThoseGlasses: @ 81F3688
.string "Those glasses!\n"
.string "May I see them for a second?$"
-Route116_Text_1F36B4: @ 81F36B4
+Route116_Text_NotWhatImLookingForMaybeTheyArentHere: @ 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
+Route116_Text_CantFindGlassesNotHere: @ 81F3718
.string "Hmm…\n"
.string "I can't find my glasses anywhere…\l"
.string "Maybe they're not around here…$"
-Route116_Text_1F375E: @ 81F375E
+Route116_Text_NotWhatImLookingFor: @ 81F375E
.string "Hmm…\n"
.string "These are BLACKGLASSES.\l"
.string "They're not what I'm looking for…$"
-Route116_Text_1F379D: @ 81F379D
+Route116_Text_RouteSignRustboro: @ 81F379D
.string "ROUTE 116\n"
.string "{LEFT_ARROW} RUSTBORO CITY$"
-Route116_Text_1F37B7: @ 81F37B7
+Route116_Text_RusturfTunnelSign: @ 81F37B7
.string "RUSTURF TUNNEL\n"
.string "“Linking RUSTBORO and VERDANTURF\p"
.string "“The tunnel project has been\n"
.string "canceled.”$"
-Route116_Text_1F380F: @ 81F380F
+Route116_Text_TunnelersRestHouse: @ 81F380F
.string "TUNNELER'S REST HOUSE$"
-Route116_Text_1F3825: @ 81F3825
+Route116_Text_TrainerTipsBToStopEvolution: @ 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"
@@ -481,7 +481,7 @@ Route116_Text_1F3825: @ 81F3825
.string "The startled POKéMON will stop.\p"
.string "This is called an evolution cancel.$"
-Route116_Text_1F38D4: @ 81F38D4
+Route116_Text_TrainerTipsBagHasPockets: @ 81F38D4
.string "TRAINER TIPS\p"
.string "Your BAG has several POCKETS.\p"
.string "Items you obtain are automatically\n"
diff --git a/data/maps/Route116_TunnelersRestHouse/map.json b/data/maps/Route116_TunnelersRestHouse/map.json
index f9dfb484c..470ccadfe 100644
--- a/data/maps/Route116_TunnelersRestHouse/map.json
+++ b/data/maps/Route116_TunnelersRestHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_TunnelersRestHouse_EventScript_22B85A",
+ "script": "Route116_TunnelersRestHouse_EventScript_Tunneler1",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_TunnelersRestHouse_EventScript_22B86C",
+ "script": "Route116_TunnelersRestHouse_EventScript_Tunneler3",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route116_TunnelersRestHouse_EventScript_22B863",
+ "script": "Route116_TunnelersRestHouse_EventScript_Tunneler2",
"flag": "0"
}
],
diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc
index e4e943e61..42a80fc78 100644
--- a/data/maps/Route116_TunnelersRestHouse/scripts.inc
+++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc
@@ -6,28 +6,28 @@ Route116_TunnelersRestHouse_OnTransition: @ 822B856
setflag FLAG_LANDMARK_TUNNELERS_REST_HOUSE
end
-Route116_TunnelersRestHouse_EventScript_22B85A:: @ 822B85A
- msgbox Route116_TunnelersRestHouse_Text_22B88B, MSGBOX_NPC
+Route116_TunnelersRestHouse_EventScript_Tunneler1:: @ 822B85A
+ msgbox Route116_TunnelersRestHouse_Text_WeHadToStopBoring, MSGBOX_NPC
end
-Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863
- msgbox Route116_TunnelersRestHouse_Text_22B99F, MSGBOX_NPC
+Route116_TunnelersRestHouse_EventScript_Tunneler2:: @ 822B863
+ msgbox Route116_TunnelersRestHouse_Text_ManDiggingHisWayToVerdanturf, MSGBOX_NPC
end
-Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C
+Route116_TunnelersRestHouse_EventScript_Tunneler3:: @ 822B86C
lock
faceplayer
- goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_22B881
- msgbox Route116_TunnelersRestHouse_Text_22BAAF, MSGBOX_DEFAULT
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_TunnelOpened
+ msgbox Route116_TunnelersRestHouse_Text_GetToVerdanturfWithoutTunnel, MSGBOX_DEFAULT
release
end
-Route116_TunnelersRestHouse_EventScript_22B881:: @ 822B881
- msgbox Route116_TunnelersRestHouse_Text_22BB3B, MSGBOX_DEFAULT
+Route116_TunnelersRestHouse_EventScript_TunnelOpened:: @ 822B881
+ msgbox Route116_TunnelersRestHouse_Text_TunnelHasGoneThrough, MSGBOX_DEFAULT
release
end
-Route116_TunnelersRestHouse_Text_22B88B: @ 822B88B
+Route116_TunnelersRestHouse_Text_WeHadToStopBoring: @ 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"
@@ -38,7 +38,7 @@ Route116_TunnelersRestHouse_Text_22B88B: @ 822B88B
.string "So, we've got nothing to do but loll\n"
.string "around here doing nothing.$"
-Route116_TunnelersRestHouse_Text_22B99F: @ 822B99F
+Route116_TunnelersRestHouse_Text_ManDiggingHisWayToVerdanturf: @ 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"
@@ -48,13 +48,13 @@ Route116_TunnelersRestHouse_Text_22B99F: @ 822B99F
.string "harming the natural environment.\p"
.string "I wonder if he made it through yet.$"
-Route116_TunnelersRestHouse_Text_22BAAF: @ 822BAAF
+Route116_TunnelersRestHouse_Text_GetToVerdanturfWithoutTunnel: @ 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
+Route116_TunnelersRestHouse_Text_TunnelHasGoneThrough: @ 822BB3B
.string "Did you hear? The TUNNEL to VERDANTURF\n"
.string "has gone through!\p"
.string "Sometimes, if you hope strongly enough,\n"
diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json
index b29b58639..4bb513cdf 100644
--- a/data/maps/Route117/map.json
+++ b/data/maps/Route117/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_EventScript_1F399A",
+ "script": "Route117_EventScript_Woman",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_EventScript_1F39A3",
+ "script": "Route117_EventScript_LittleBoy",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_EventScript_291C18",
+ "script": "Route117_EventScript_DaycareMan",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route117_EventScript_1F3A94",
+ "script": "Route117_EventScript_Dylan",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route117_EventScript_1F3A32",
+ "script": "Route117_EventScript_Lydia",
"flag": "0"
},
{
@@ -152,7 +152,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route117_EventScript_1F39D0",
+ "script": "Route117_EventScript_Isaac",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route117_EventScript_1F3AF6",
+ "script": "Route117_EventScript_Maria",
"flag": "0"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route117_EventScript_1F3B58",
+ "script": "Route117_EventScript_Derek",
"flag": "0"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route117_EventScript_1F3BD3",
+ "script": "Route117_EventScript_Meg",
"flag": "0"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route117_EventScript_1F3B6F",
+ "script": "Route117_EventScript_Anna",
"flag": "0"
},
{
@@ -295,7 +295,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_EventScript_1F39AC",
+ "script": "Route117_EventScript_Girl",
"flag": "0"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route117_EventScript_1F3C4E",
+ "script": "Route117_EventScript_Brandi",
"flag": "0"
},
{
@@ -321,7 +321,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route117_EventScript_1F3C65",
+ "script": "Route117_EventScript_Aisha",
"flag": "0"
},
{
@@ -334,7 +334,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route117_EventScript_1F3C37",
+ "script": "Route117_EventScript_Melina",
"flag": "0"
}
],
@@ -355,7 +355,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route117_EventScript_1F39B5"
+ "script": "Route117_EventScript_RouteSignVerdanturf"
},
{
"type": "sign",
@@ -363,7 +363,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route117_EventScript_1F39BE"
+ "script": "Route117_EventScript_RouteSignMauville"
},
{
"type": "sign",
@@ -371,7 +371,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route117_EventScript_1F39C7"
+ "script": "Route117_EventScript_DayCareSign"
},
{
"type": "hidden_item",
diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc
index 5435595ee..47d8eced9 100644
--- a/data/maps/Route117/scripts.inc
+++ b/data/maps/Route117/scripts.inc
@@ -3,211 +3,210 @@ Route117_MapScripts:: @ 81F397D
.byte 0
Route117_OnTransition: @ 81F3983
- call Route117_EventScript_1F3989
+ call Route117_EventScript_TryMoveDayCareMan
end
-Route117_EventScript_1F3989:: @ 81F3989
- goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_1F3999
+Route117_EventScript_TryMoveDayCareMan:: @ 81F3989
+ goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_StopMoveDayCareMan
setobjectxyperm 3, 47, 6
-
-Route117_EventScript_1F3999:: @ 81F3999
+Route117_EventScript_StopMoveDayCareMan:: @ 81F3999
return
-Route117_EventScript_1F399A:: @ 81F399A
- msgbox Route117_Text_1F3CFD, MSGBOX_NPC
+Route117_EventScript_Woman:: @ 81F399A
+ msgbox Route117_Text_ArentTheseFlowersPretty, MSGBOX_NPC
end
-Route117_EventScript_1F39A3:: @ 81F39A3
- msgbox Route117_Text_1F3D41, MSGBOX_NPC
+Route117_EventScript_LittleBoy:: @ 81F39A3
+ msgbox Route117_Text_AirIsTastyHere, MSGBOX_NPC
end
-Route117_EventScript_1F39AC:: @ 81F39AC
- msgbox Route117_Text_1F3C7C, MSGBOX_NPC
+Route117_EventScript_Girl:: @ 81F39AC
+ msgbox Route117_Text_DayCarePokemonHadNewMove, MSGBOX_NPC
end
-Route117_EventScript_1F39B5:: @ 81F39B5
- msgbox Route117_Text_1F3D58, MSGBOX_SIGN
+Route117_EventScript_RouteSignVerdanturf:: @ 81F39B5
+ msgbox Route117_Text_RouteSignVerdanturf, MSGBOX_SIGN
end
-Route117_EventScript_1F39BE:: @ 81F39BE
- msgbox Route117_Text_1F3D74, MSGBOX_SIGN
+Route117_EventScript_RouteSignMauville:: @ 81F39BE
+ msgbox Route117_Text_RouteSignMauville, MSGBOX_SIGN
end
-Route117_EventScript_1F39C7:: @ 81F39C7
- msgbox Route117_Text_1F3D8E, MSGBOX_SIGN
+Route117_EventScript_DayCareSign:: @ 81F39C7
+ msgbox Route117_Text_DayCareSign, MSGBOX_SIGN
end
-Route117_EventScript_1F39D0:: @ 81F39D0
- trainerbattle_single TRAINER_ISAAC_1, Route117_Text_29C43F, Route117_Text_29C47A, Route117_EventScript_1F39FC
+Route117_EventScript_Isaac:: @ 81F39D0
+ trainerbattle_single TRAINER_ISAAC_1, Route117_Text_IsaacIntro, Route117_Text_IsaacDefeat, Route117_EventScript_RegisterIsaac
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_1F3A1B
- msgbox Route117_Text_29C498, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route117_EventScript_RematchIsaac
+ msgbox Route117_Text_IsaacPostBattle, MSGBOX_DEFAULT
release
end
-Route117_EventScript_1F39FC:: @ 81F39FC
- special sub_80B4808
+Route117_EventScript_RegisterIsaac:: @ 81F39FC
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route117_Text_29C508, MSGBOX_DEFAULT
+ msgbox Route117_Text_IsaacRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ISAAC_1
release
end
-Route117_EventScript_1F3A1B:: @ 81F3A1B
- trainerbattle_rematch TRAINER_ISAAC_1, Route117_Text_29C549, Route117_Text_29C58B
- msgbox Route117_Text_29C5D0, MSGBOX_AUTOCLOSE
+Route117_EventScript_RematchIsaac:: @ 81F3A1B
+ trainerbattle_rematch TRAINER_ISAAC_1, Route117_Text_IsaacRematchIntro, Route117_Text_IsaacRematchDefeat
+ msgbox Route117_Text_IsaacPostRematch, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3A32:: @ 81F3A32
- trainerbattle_single TRAINER_LYDIA_1, Route117_Text_29C612, Route117_Text_29C659, Route117_EventScript_1F3A5E
+Route117_EventScript_Lydia:: @ 81F3A32
+ trainerbattle_single TRAINER_LYDIA_1, Route117_Text_LydiaIntro, Route117_Text_LydiaDefeat, Route117_EventScript_RegisterLydia
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_1F3A7D
- msgbox Route117_Text_29C679, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route117_EventScript_RematchLydia
+ msgbox Route117_Text_LydiaPostBattle, MSGBOX_DEFAULT
release
end
-Route117_EventScript_1F3A5E:: @ 81F3A5E
- special sub_80B4808
+Route117_EventScript_RegisterLydia:: @ 81F3A5E
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route117_Text_29C6BC, MSGBOX_DEFAULT
+ msgbox Route117_Text_LydiaRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_LYDIA_1
release
end
-Route117_EventScript_1F3A7D:: @ 81F3A7D
- trainerbattle_rematch TRAINER_LYDIA_1, Route117_Text_29C6FD, Route117_Text_29C73E
- msgbox Route117_Text_29C75A, MSGBOX_AUTOCLOSE
+Route117_EventScript_RematchLydia:: @ 81F3A7D
+ trainerbattle_rematch TRAINER_LYDIA_1, Route117_Text_LydiaRematchIntro, Route117_Text_LydiaRematchDefeat
+ msgbox Route117_Text_LydiaPostRematch, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3A94:: @ 81F3A94
- trainerbattle_single TRAINER_DYLAN_1, Route117_Text_29C7A5, Route117_Text_29C7EB, Route117_EventScript_1F3AC0
+Route117_EventScript_Dylan:: @ 81F3A94
+ trainerbattle_single TRAINER_DYLAN_1, Route117_Text_DylanIntro, Route117_Text_DylanDefeat, Route117_EventScript_RegisterDylan
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_1F3ADF
- msgbox Route117_Text_29C800, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route117_EventScript_RematchDylan
+ msgbox Route117_Text_DylanPostBattle, MSGBOX_DEFAULT
release
end
-Route117_EventScript_1F3AC0:: @ 81F3AC0
- special sub_80B4808
+Route117_EventScript_RegisterDylan:: @ 81F3AC0
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route117_Text_29C846, MSGBOX_DEFAULT
+ msgbox Route117_Text_DylanRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_DYLAN_1
release
end
-Route117_EventScript_1F3ADF:: @ 81F3ADF
- trainerbattle_rematch TRAINER_DYLAN_1, Route117_Text_29C880, Route117_Text_29C8E3
- msgbox Route117_Text_29C8FE, MSGBOX_AUTOCLOSE
+Route117_EventScript_RematchDylan:: @ 81F3ADF
+ trainerbattle_rematch TRAINER_DYLAN_1, Route117_Text_DylanRematchIntro, Route117_Text_DylanRematchDefeat
+ msgbox Route117_Text_DylanPostRematch, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3AF6:: @ 81F3AF6
- trainerbattle_single TRAINER_MARIA_1, Route117_Text_29C955, Route117_Text_29C9A6, Route117_EventScript_1F3B22
+Route117_EventScript_Maria:: @ 81F3AF6
+ trainerbattle_single TRAINER_MARIA_1, Route117_Text_MariaIntro, Route117_Text_MariaDefeat, Route117_EventScript_RegisterMaria
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_1F3B41
- msgbox Route117_Text_29C9D0, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route117_EventScript_RematchMaria
+ msgbox Route117_Text_MariaPostBattle, MSGBOX_DEFAULT
release
end
-Route117_EventScript_1F3B22:: @ 81F3B22
- special sub_80B4808
+Route117_EventScript_RegisterMaria:: @ 81F3B22
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route117_Text_29CA32, MSGBOX_DEFAULT
+ msgbox Route117_Text_MariaRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_MARIA_1
release
end
-Route117_EventScript_1F3B41:: @ 81F3B41
- trainerbattle_rematch TRAINER_MARIA_1, Route117_Text_29CA7C, Route117_Text_29CACC
- msgbox Route117_Text_29CAF6, MSGBOX_AUTOCLOSE
+Route117_EventScript_RematchMaria:: @ 81F3B41
+ trainerbattle_rematch TRAINER_MARIA_1, Route117_Text_MariaRematchIntro, Route117_Text_MariaRematchDefeat
+ msgbox Route117_Text_MariaPostRematch, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3B58:: @ 81F3B58
- trainerbattle_single TRAINER_DEREK, Route117_Text_29CB32, Route117_Text_29CB87
- msgbox Route117_Text_29CBAD, MSGBOX_AUTOCLOSE
+Route117_EventScript_Derek:: @ 81F3B58
+ trainerbattle_single TRAINER_DEREK, Route117_Text_DerekIntro, Route117_Text_DerekDefeat
+ msgbox Route117_Text_DerekPostBattle, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3B6F:: @ 81F3B6F
- trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CC4A, Route117_Text_29CC8E, Route117_Text_29CD61, Route117_EventScript_1F3B9F
+Route117_EventScript_Anna:: @ 81F3B6F
+ trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_AnnaIntro, Route117_Text_AnnaDefeat, Route117_Text_AnnaNotEnoughMons, Route117_EventScript_RegisterAnna
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_1F3BB8
- msgbox Route117_Text_29CCCB, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route117_EventScript_RematchAnna
+ msgbox Route117_Text_AnnaPostBattle, MSGBOX_DEFAULT
release
end
-Route117_EventScript_1F3B9F:: @ 81F3B9F
- msgbox Route117_Text_29CD1D, MSGBOX_DEFAULT
+Route117_EventScript_RegisterAnna:: @ 81F3B9F
+ msgbox Route117_Text_AnnaAndMegRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ANNA_AND_MEG_1
release
end
-Route117_EventScript_1F3BB8:: @ 81F3BB8
- trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CEB6, Route117_Text_29CEF6, Route117_Text_29CF6E
- msgbox Route117_Text_29CF1C, MSGBOX_AUTOCLOSE
+Route117_EventScript_RematchAnna:: @ 81F3BB8
+ trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_AnnaRematchIntro, Route117_Text_AnnaRematchDefeat, Route117_Text_AnnaRematchNotEnoughMons
+ msgbox Route117_Text_AnnaPostRematch, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3BD3:: @ 81F3BD3
- trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CD9D, Route117_Text_29CDE9, Route117_Text_29CE52, Route117_EventScript_1F3C03
+Route117_EventScript_Meg:: @ 81F3BD3
+ trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_MegIntro, Route117_Text_MegDefeat, Route117_Text_MegNotEnoughMons, Route117_EventScript_RegisterMeg
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_1F3C1C
- msgbox Route117_Text_29CE17, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route117_EventScript_RematchMeg
+ msgbox Route117_Text_MegPostBattle, MSGBOX_DEFAULT
release
end
-Route117_EventScript_1F3C03:: @ 81F3C03
- msgbox Route117_Text_29CD1D, MSGBOX_DEFAULT
+Route117_EventScript_RegisterMeg:: @ 81F3C03
+ msgbox Route117_Text_AnnaAndMegRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ANNA_AND_MEG_1
release
end
-Route117_EventScript_1F3C1C:: @ 81F3C1C
- trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CFAA, Route117_Text_29CFED, Route117_Text_29D053
- msgbox Route117_Text_29CFFE, MSGBOX_AUTOCLOSE
+Route117_EventScript_RematchMeg:: @ 81F3C1C
+ trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_MegRematchIntro, Route117_Text_MegRematchDefeat, Route117_Text_MegRematchNotEnoughMons
+ msgbox Route117_Text_MegPostRematch, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3C37:: @ 81F3C37
- trainerbattle_single TRAINER_MELINA, Route117_Text_29D0B7, Route117_Text_29D0F1
- msgbox Route117_Text_29D10E, MSGBOX_AUTOCLOSE
+Route117_EventScript_Melina:: @ 81F3C37
+ trainerbattle_single TRAINER_MELINA, Route117_Text_MelinaIntro, Route117_Text_MelinaDefeat
+ msgbox Route117_Text_MelinaPostBattle, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3C4E:: @ 81F3C4E
- trainerbattle_single TRAINER_BRANDI, Route117_Text_29D14B, Route117_Text_29D189
- msgbox Route117_Text_29D196, MSGBOX_AUTOCLOSE
+Route117_EventScript_Brandi:: @ 81F3C4E
+ trainerbattle_single TRAINER_BRANDI, Route117_Text_BrandiIntro, Route117_Text_BrandiDefeat
+ msgbox Route117_Text_BrandiPostBattle, MSGBOX_AUTOCLOSE
end
-Route117_EventScript_1F3C65:: @ 81F3C65
- trainerbattle_single TRAINER_AISHA, Route117_Text_29D1D1, Route117_Text_29D206
- msgbox Route117_Text_29D24C, MSGBOX_AUTOCLOSE
+Route117_EventScript_Aisha:: @ 81F3C65
+ trainerbattle_single TRAINER_AISHA, Route117_Text_AishaIntro, Route117_Text_AishaDefeat
+ msgbox Route117_Text_AishaPostBattle, MSGBOX_AUTOCLOSE
end
-Route117_Text_1F3C7C: @ 81F3C7C
+Route117_Text_DayCarePokemonHadNewMove: @ 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
+Route117_Text_ArentTheseFlowersPretty: @ 81F3CFD
.string "What do you think?\n"
.string "Aren't these flowers pretty?\p"
.string "I planted them all!$"
-Route117_Text_1F3D41: @ 81F3D41
+Route117_Text_AirIsTastyHere: @ 81F3D41
.string "The air is tasty here!$"
-Route117_Text_1F3D58: @ 81F3D58
+Route117_Text_RouteSignVerdanturf: @ 81F3D58
.string "ROUTE 117\n"
.string "{LEFT_ARROW} VERDANTURF TOWN$"
-Route117_Text_1F3D74: @ 81F3D74
+Route117_Text_RouteSignMauville: @ 81F3D74
.string "ROUTE 117\n"
.string "{RIGHT_ARROW} MAUVILLE CITY$"
-Route117_Text_1F3D8E: @ 81F3D8E
+Route117_Text_DayCareSign: @ 81F3D8E
.string "POKéMON DAY CARE\n"
.string "“Let us raise your POKéMON.”$"
diff --git a/data/maps/Route117_PokemonDayCare/map.json b/data/maps/Route117_PokemonDayCare/map.json
index c233701e5..9cb052633 100644
--- a/data/maps/Route117_PokemonDayCare/map.json
+++ b/data/maps/Route117_PokemonDayCare/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route117_PokemonDayCare_EventScript_291D11",
+ "script": "Route117_PokemonDayCare_EventScript_DaycareWoman",
"flag": "0"
}
],
diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json
index e7737bf1e..d64adbb86 100644
--- a/data/maps/Route118/map.json
+++ b/data/maps/Route118/map.json
@@ -79,7 +79,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route118_EventScript_1F4079",
+ "script": "Route118_EventScript_Perry",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_28CE16",
+ "script": "GabbyAndTy_EventScript_GabbyBattle2",
"flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_28CE36",
+ "script": "GabbyAndTy_EventScript_TyBattle2",
"flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_1F3E73",
+ "script": "Route118_EventScript_Girl",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_28CED6",
+ "script": "GabbyAndTy_EventScript_GabbyBattle5",
"flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_28CEF6",
+ "script": "GabbyAndTy_EventScript_TyBattle5",
"flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2"
},
{
@@ -157,7 +157,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_28CF16",
+ "script": "GabbyAndTy_EventScript_GabbyBattle6",
"flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_28CF36",
+ "script": "GabbyAndTy_EventScript_TyBattle6",
"flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3"
},
{
@@ -196,7 +196,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_1F3E14",
+ "script": "Route118_EventScript_GoodRodFisherman",
"flag": "0"
},
{
@@ -209,7 +209,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route118_EventScript_1F3F87",
+ "script": "Route118_EventScript_Rose",
"flag": "0"
},
{
@@ -222,7 +222,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route118_EventScript_1F4000",
+ "script": "Route118_EventScript_Wade",
"flag": "0"
},
{
@@ -235,7 +235,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route118_EventScript_1F4090",
+ "script": "Route118_EventScript_Chester",
"flag": "0"
},
{
@@ -248,7 +248,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route118_EventScript_1F3FE9",
+ "script": "Route118_EventScript_Barny",
"flag": "0"
},
{
@@ -261,7 +261,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route118_EventScript_1F4017",
+ "script": "Route118_EventScript_Dalton",
"flag": "0"
},
{
@@ -300,7 +300,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route118_EventScript_1F40A7",
+ "script": "Route118_EventScript_Deandre",
"flag": "0"
}
],
@@ -328,7 +328,7 @@
"elevation": 3,
"var": "VAR_ROUTE118_STATE",
"var_value": "0",
- "script": "Route118_EventScript_1F3E8E"
+ "script": "Route118_EventScript_StevenTrigger0"
},
{
"type": "trigger",
@@ -337,7 +337,7 @@
"elevation": 3,
"var": "VAR_ROUTE118_STATE",
"var_value": "0",
- "script": "Route118_EventScript_1F3EAE"
+ "script": "Route118_EventScript_StevenTrigger1"
},
{
"type": "trigger",
@@ -346,7 +346,7 @@
"elevation": 3,
"var": "VAR_ROUTE118_STATE",
"var_value": "0",
- "script": "Route118_EventScript_1F3EC4"
+ "script": "Route118_EventScript_StevenTrigger2"
}
],
"bg_events": [
@@ -363,7 +363,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route118_EventScript_1F3E7C"
+ "script": "Route118_EventScript_RouteSignMauville"
},
{
"type": "sign",
@@ -371,7 +371,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route118_EventScript_1F3E85"
+ "script": "Route118_EventScript_RouteSign119"
},
{
"type": "secret_base",
diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc
index 858f0d598..af77193ba 100644
--- a/data/maps/Route118/scripts.inc
+++ b/data/maps/Route118/scripts.inc
@@ -1,155 +1,155 @@
Route118_MapScripts:: @ 81F3DBC
map_script MAP_SCRIPT_ON_TRANSITION, Route118_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route118_MapScript1_1F3DF3
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route118_MapScript2_1F3E0A
+ map_script MAP_SCRIPT_ON_LOAD, Route118_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route118_OnFrame
.byte 0
Route118_OnTransition: @ 81F3DCC
- call Route118_EventScript_28CCC7
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route118_EventScript_273D13
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_EAST
- call_if_eq UnusualWeather_StartGroudonWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_WEST
- call_if_eq UnusualWeather_StartGroudonWeather
+ call GabbyAndTy_EventScript_UpdateLocation
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST
+ call_if_eq AbnormalWeather_StartGroudonWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST
+ call_if_eq AbnormalWeather_StartGroudonWeather
end
-Route118_MapScript1_1F3DF3: @ 81F3DF3
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_EAST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute118East
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_118_WEST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute118West
+Route118_OnLoad: @ 81F3DF3
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute118East
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute118West
end
-Route118_MapScript2_1F3E0A: @ 81F3E0A
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route118_OnFrame: @ 81F3E0A
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route118_EventScript_1F3E14:: @ 81F3E14
+Route118_EventScript_GoodRodFisherman:: @ 81F3E14
lock
faceplayer
- goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_1F3E69
- msgbox Route118_Text_1F427B, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route118_EventScript_1F3E3E
- compare VAR_RESULT, 0
- goto_if_eq Route118_EventScript_1F3E5F
+ goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_ReceivedGoodRod
+ msgbox Route118_Text_YouAgreeGoodRodIsGood, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route118_EventScript_ReceiveGoodRod
+ compare VAR_RESULT, NO
+ goto_if_eq Route118_EventScript_DeclineGoodRod
end
-Route118_EventScript_1F3E3E:: @ 81F3E3E
- msgbox Route118_Text_1F42AF, MSGBOX_DEFAULT
- giveitem_std ITEM_GOOD_ROD
+Route118_EventScript_ReceiveGoodRod:: @ 81F3E3E
+ msgbox Route118_Text_IdenticalMindsTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_GOOD_ROD
setflag FLAG_RECEIVED_GOOD_ROD
- msgbox Route118_Text_1F42E7, MSGBOX_DEFAULT
+ msgbox Route118_Text_TryYourLuckFishing, MSGBOX_DEFAULT
release
end
-Route118_EventScript_1F3E5F:: @ 81F3E5F
- msgbox Route118_Text_1F4319, MSGBOX_DEFAULT
+Route118_EventScript_DeclineGoodRod:: @ 81F3E5F
+ msgbox Route118_Text_DontYouLikeToFish, MSGBOX_DEFAULT
release
end
-Route118_EventScript_1F3E69:: @ 81F3E69
- msgbox Route118_Text_1F4331, MSGBOX_DEFAULT
+Route118_EventScript_ReceivedGoodRod:: @ 81F3E69
+ msgbox Route118_Text_TryCatchingMonWithGoodRod, MSGBOX_DEFAULT
release
end
-Route118_EventScript_1F3E73:: @ 81F3E73
- msgbox Route118_Text_1F4367, MSGBOX_NPC
+Route118_EventScript_Girl:: @ 81F3E73
+ msgbox Route118_Text_CanCrossRiversWithSurf, MSGBOX_NPC
end
-Route118_EventScript_1F3E7C:: @ 81F3E7C
- msgbox Route118_Text_1F43F4, MSGBOX_SIGN
+Route118_EventScript_RouteSignMauville:: @ 81F3E7C
+ msgbox Route118_Text_RouteSignMauville, MSGBOX_SIGN
end
-Route118_EventScript_1F3E85:: @ 81F3E85
- msgbox Route118_Text_1F440E, MSGBOX_SIGN
+Route118_EventScript_RouteSign119:: @ 81F3E85
+ msgbox Route118_Text_RouteSign119, MSGBOX_SIGN
end
-Route118_EventScript_1F3E8E:: @ 81F3E8E
+Route118_EventScript_StevenTrigger0:: @ 81F3E8E
lockall
setvar VAR_0x8008, 0
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
- applymovement 19, Route118_Movement_1F3F61
+ applymovement 19, Route118_Movement_StevenApproachLedge0
waitmovement 0
- goto Route118_EventScript_1F3EE4
+ goto Route118_EventScript_StevenTrigger
end
-Route118_EventScript_1F3EAE:: @ 81F3EAE
+Route118_EventScript_StevenTrigger1:: @ 81F3EAE
lockall
setvar VAR_0x8008, 1
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
- goto Route118_EventScript_1F3EE4
+ goto Route118_EventScript_StevenTrigger
end
-Route118_EventScript_1F3EC4:: @ 81F3EC4
+Route118_EventScript_StevenTrigger2:: @ 81F3EC4
lockall
setvar VAR_0x8008, 2
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
- applymovement 19, Route118_Movement_1F3F63
+ applymovement 19, Route118_Movement_StevenApproachLedge2
waitmovement 0
- goto Route118_EventScript_1F3EE4
+ goto Route118_EventScript_StevenTrigger
end
-Route118_EventScript_1F3EE4:: @ 81F3EE4
+Route118_EventScript_StevenTrigger:: @ 81F3EE4
playse SE_DANSA
- applymovement 19, Route118_Movement_1F3F65
+ applymovement 19, Route118_Movement_StevenJumpLedge
waitmovement 0
delay 30
- msgbox Route118_Text_1F40BE, MSGBOX_DEFAULT
+ msgbox Route118_Text_StevenQuestions, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if_eq Route118_EventScript_1F3F28
+ call_if_eq Route118_EventScript_StevenExit0
compare VAR_0x8008, 1
- call_if_eq Route118_EventScript_1F3F3A
+ call_if_eq Route118_EventScript_StevenExit1
compare VAR_0x8008, 2
- call_if_eq Route118_EventScript_1F3F4C
+ call_if_eq Route118_EventScript_StevenExit2
setvar VAR_ROUTE118_STATE, 1
removeobject 19
releaseall
end
-Route118_EventScript_1F3F28:: @ 81F3F28
- applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E
- applymovement 19, Route118_Movement_1F3F69
+Route118_EventScript_StevenExit0:: @ 81F3F28
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit
+ applymovement 19, Route118_Movement_StevenExit0
waitmovement 0
return
-Route118_EventScript_1F3F3A:: @ 81F3F3A
- applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E
- applymovement 19, Route118_Movement_1F3F74
+Route118_EventScript_StevenExit1:: @ 81F3F3A
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit
+ applymovement 19, Route118_Movement_StevenExit1
waitmovement 0
return
-Route118_EventScript_1F3F4C:: @ 81F3F4C
- applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E
- applymovement 19, Route118_Movement_1F3F7E
+Route118_EventScript_StevenExit2:: @ 81F3F4C
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit
+ applymovement 19, Route118_Movement_StevenExit2
waitmovement 0
return
-Route118_Movement_1F3F5E: @ 81F3F5E
+Route118_Movement_PlayerWatchStevenExit: @ 81F3F5E
delay_16
walk_in_place_fastest_right
step_end
-Route118_Movement_1F3F61: @ 81F3F61
+Route118_Movement_StevenApproachLedge0: @ 81F3F61
walk_left
step_end
-Route118_Movement_1F3F63: @ 81F3F63
+Route118_Movement_StevenApproachLedge2: @ 81F3F63
walk_right
step_end
-Route118_Movement_1F3F65: @ 81F3F65
+Route118_Movement_StevenJumpLedge: @ 81F3F65
jump_2_down
delay_16
walk_down
step_end
-Route118_Movement_1F3F69: @ 81F3F69
+Route118_Movement_StevenExit0: @ 81F3F69
walk_right
walk_right
walk_right
@@ -162,7 +162,7 @@ Route118_Movement_1F3F69: @ 81F3F69
walk_right
step_end
-Route118_Movement_1F3F74: @ 81F3F74
+Route118_Movement_StevenExit1: @ 81F3F74
walk_right
walk_right
walk_right
@@ -174,7 +174,7 @@ Route118_Movement_1F3F74: @ 81F3F74
walk_right
step_end
-Route118_Movement_1F3F7E: @ 81F3F7E
+Route118_Movement_StevenExit2: @ 81F3F7E
walk_right
walk_right
walk_right
@@ -185,76 +185,76 @@ Route118_Movement_1F3F7E: @ 81F3F7E
walk_right
step_end
-Route118_EventScript_1F3F87:: @ 81F3F87
- trainerbattle_single TRAINER_ROSE_1, Route118_Text_29D290, Route118_Text_29D2D8, Route118_EventScript_1F3FB3
+Route118_EventScript_Rose:: @ 81F3F87
+ trainerbattle_single TRAINER_ROSE_1, Route118_Text_RoseIntro, Route118_Text_RoseDefeat, Route118_EventScript_RegisterRose
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route118_EventScript_1F3FD2
- msgbox Route118_Text_29D2FA, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route118_EventScript_RematchRose
+ msgbox Route118_Text_RosePostBattle, MSGBOX_DEFAULT
release
end
-Route118_EventScript_1F3FB3:: @ 81F3FB3
- special sub_80B4808
+Route118_EventScript_RegisterRose:: @ 81F3FB3
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route118_Text_29D343, MSGBOX_DEFAULT
+ msgbox Route118_Text_RoseRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ROSE_1
release
end
-Route118_EventScript_1F3FD2:: @ 81F3FD2
- trainerbattle_rematch TRAINER_ROSE_1, Route118_Text_29D382, Route118_Text_29D3AA
- msgbox Route118_Text_29D3D9, MSGBOX_AUTOCLOSE
+Route118_EventScript_RematchRose:: @ 81F3FD2
+ trainerbattle_rematch TRAINER_ROSE_1, Route118_Text_RoseRematchIntro, Route118_Text_RoseRematchDefeat
+ msgbox Route118_Text_RosePostRematch, MSGBOX_AUTOCLOSE
end
-Route118_EventScript_1F3FE9:: @ 81F3FE9
- trainerbattle_single TRAINER_BARNY, Route118_Text_29D515, Route118_Text_29D55C
- msgbox Route118_Text_29D587, MSGBOX_AUTOCLOSE
+Route118_EventScript_Barny:: @ 81F3FE9
+ trainerbattle_single TRAINER_BARNY, Route118_Text_BarnyIntro, Route118_Text_BarnyDefeat
+ msgbox Route118_Text_BarnyPostBattle, MSGBOX_AUTOCLOSE
end
-Route118_EventScript_1F4000:: @ 81F4000
- trainerbattle_single TRAINER_WADE, Route118_Text_29D5DF, Route118_Text_29D64C
- msgbox Route118_Text_29D663, MSGBOX_AUTOCLOSE
+Route118_EventScript_Wade:: @ 81F4000
+ trainerbattle_single TRAINER_WADE, Route118_Text_WadeIntro, Route118_Text_WadeDefeat
+ msgbox Route118_Text_WadePostBattle, MSGBOX_AUTOCLOSE
end
-Route118_EventScript_1F4017:: @ 81F4017
- trainerbattle_single TRAINER_DALTON_1, Route118_Text_29D6AF, Route118_Text_29D6CD, Route118_EventScript_1F4043
+Route118_EventScript_Dalton:: @ 81F4017
+ trainerbattle_single TRAINER_DALTON_1, Route118_Text_DaltonIntro, Route118_Text_DaltonDefeat, Route118_EventScript_RegisterDalton
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route118_EventScript_1F4062
- msgbox Route118_Text_29D6D8, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route118_EventScript_RematchDalton
+ msgbox Route118_Text_DaltonPostBattle, MSGBOX_DEFAULT
release
end
-Route118_EventScript_1F4043:: @ 81F4043
- special sub_80B4808
+Route118_EventScript_RegisterDalton:: @ 81F4043
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route118_Text_29D74A, MSGBOX_DEFAULT
+ msgbox Route118_Text_DaltonRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_DALTON_1
release
end
-Route118_EventScript_1F4062:: @ 81F4062
- trainerbattle_rematch TRAINER_DALTON_1, Route118_Text_29D789, Route118_Text_29D7CA
- msgbox Route118_Text_29D7D5, MSGBOX_AUTOCLOSE
+Route118_EventScript_RematchDalton:: @ 81F4062
+ trainerbattle_rematch TRAINER_DALTON_1, Route118_Text_DaltonRematchIntro, Route118_Text_DaltonRematchDefeat
+ msgbox Route118_Text_DaltonPostRematch, MSGBOX_AUTOCLOSE
end
-Route118_EventScript_1F4079:: @ 81F4079
- trainerbattle_single TRAINER_PERRY, Route118_Text_29D41D, Route118_Text_29D45B
- msgbox Route118_Text_29D46C, MSGBOX_AUTOCLOSE
+Route118_EventScript_Perry:: @ 81F4079
+ trainerbattle_single TRAINER_PERRY, Route118_Text_PerryIntro, Route118_Text_PerryDefeat
+ msgbox Route118_Text_PerryPostBattle, MSGBOX_AUTOCLOSE
end
-Route118_EventScript_1F4090:: @ 81F4090
- trainerbattle_single TRAINER_CHESTER, Route118_Text_29D4A6, Route118_Text_29D4C4
- msgbox Route118_Text_29D4DA, MSGBOX_AUTOCLOSE
+Route118_EventScript_Chester:: @ 81F4090
+ trainerbattle_single TRAINER_CHESTER, Route118_Text_ChesterIntro, Route118_Text_ChesterDefeat
+ msgbox Route118_Text_ChesterPostBattle, MSGBOX_AUTOCLOSE
end
-Route118_EventScript_1F40A7:: @ 81F40A7
- trainerbattle_single TRAINER_DEANDRE, Route118_Text_29D81B, Route118_Text_29D83C
- msgbox Route118_Text_29D872, MSGBOX_AUTOCLOSE
+Route118_EventScript_Deandre:: @ 81F40A7
+ trainerbattle_single TRAINER_DEANDRE, Route118_Text_DeandreIntro, Route118_Text_DeandreDefeat
+ msgbox Route118_Text_DeandrePostBattle, MSGBOX_AUTOCLOSE
end
-Route118_Text_1F40BE: @ 81F40BE
+Route118_Text_StevenQuestions: @ 81F40BE
.string "STEVEN: Hi, {PLAYER}{KUN}!\p"
.string "It's me, STEVEN!\n"
.string "We met in the cave near DEWFORD.\p"
@@ -272,40 +272,40 @@ Route118_Text_1F40BE: @ 81F40BE
.string "It would be nice if we were to meet\n"
.string "again somewhere.$"
-Route118_Text_1F427B: @ 81F427B
+Route118_Text_YouAgreeGoodRodIsGood: @ 81F427B
.string "Hmm!\n"
.string "A GOOD ROD is really good!\p"
.string "Wouldn't you agree?$"
-Route118_Text_1F42AF: @ 81F42AF
+Route118_Text_IdenticalMindsTakeThis: @ 81F42AF
.string "Hmm!\n"
.string "We're of identical minds!\p"
.string "Hmm!\n"
.string "Take this GOOD ROD!$"
-Route118_Text_1F42E7: @ 81F42E7
+Route118_Text_TryYourLuckFishing: @ 81F42E7
.string "Wherever there's water, try your luck\n"
.string "at fishing.$"
-Route118_Text_1F4319: @ 81F4319
+Route118_Text_DontYouLikeToFish: @ 81F4319
.string "Don't you like to fish?$"
-Route118_Text_1F4331: @ 81F4331
+Route118_Text_TryCatchingMonWithGoodRod: @ 81F4331
.string "Try catching all sorts of POKéMON\n"
.string "with your GOOD ROD.$"
-Route118_Text_1F4367: @ 81F4367
+Route118_Text_CanCrossRiversWithSurf: @ 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
+Route118_Text_RouteSignMauville: @ 81F43F4
.string "ROUTE 118\n"
.string "{LEFT_ARROW} MAUVILLE CITY$"
-Route118_Text_1F440E: @ 81F440E
+Route118_Text_RouteSign119: @ 81F440E
.string "ROUTE 118\n"
.string "{UP_ARROW} ROUTE 119$"
diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json
index c84ff9db1..2d1be0635 100644
--- a/data/maps/Route119/map.json
+++ b/data/maps/Route119/map.json
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route119_EventScript_1F47E2",
+ "script": "Route119_EventScript_Greg",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route119_EventScript_1F47B4",
+ "script": "Route119_EventScript_Taylor",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route119_EventScript_1F479D",
+ "script": "Route119_EventScript_Donald",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route119_EventScript_1F4810",
+ "script": "Route119_EventScript_Jackson",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route119_EventScript_1F4786",
+ "script": "Route119_EventScript_Brent",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route119_EventScript_1F4872",
+ "script": "Route119_EventScript_Catherine",
"flag": "0"
},
{
@@ -152,7 +152,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route119_EventScript_1F47CB",
+ "script": "Route119_EventScript_Doug",
"flag": "0"
},
{
@@ -165,7 +165,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route119_EventScript_1F47F9",
+ "script": "Route119_EventScript_Kent",
"flag": "0"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route119_EventScript_1F4902",
+ "script": "Route119_EventScript_Yasu",
"flag": "0"
},
{
@@ -191,7 +191,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route119_EventScript_1F4919",
+ "script": "Route119_EventScript_Takashi",
"flag": "0"
},
{
@@ -204,7 +204,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route119_EventScript_1F48D4",
+ "script": "Route119_EventScript_Hugh",
"flag": "0"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route119_EventScript_1F48EB",
+ "script": "Route119_EventScript_Phil",
"flag": "0"
},
{
@@ -321,7 +321,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_1F49A3",
+ "script": "Route119_EventScript_BridgeAquaGrunt1",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
},
{
@@ -334,7 +334,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_1F49BA",
+ "script": "Route119_EventScript_BridgeAquaGrunt2",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
},
{
@@ -360,7 +360,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_1F49D1",
+ "script": "Route119_EventScript_Boy1",
"flag": "0"
},
{
@@ -425,7 +425,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_1F476B",
+ "script": "Route119_EventScript_CyclingTriathleteM",
"flag": "0"
},
{
@@ -451,7 +451,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_1F49DA",
+ "script": "Route119_EventScript_Boy2",
"flag": "0"
},
{
@@ -464,7 +464,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route119_EventScript_1F4930",
+ "script": "Route119_EventScript_Hideo",
"flag": "0"
},
{
@@ -477,7 +477,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_27231C",
+ "script": "Route119_EventScript_Kecleon1",
"flag": "FLAG_HIDE_ROUTE_119_KECLEON_1"
},
{
@@ -490,7 +490,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_272329",
+ "script": "Route119_EventScript_Kecleon2",
"flag": "FLAG_HIDE_ROUTE_119_KECLEON_2"
},
{
@@ -503,7 +503,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_EventScript_1F4947",
+ "script": "Route119_EventScript_Chris",
"flag": "0"
},
{
@@ -516,7 +516,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route119_EventScript_1F498C",
+ "script": "Route119_EventScript_Rachel",
"flag": "0"
},
{
@@ -529,7 +529,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route119_EventScript_1F4975",
+ "script": "Route119_EventScript_Dayton",
"flag": "0"
},
{
@@ -542,7 +542,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route119_EventScript_1F495E",
+ "script": "Route119_EventScript_Fabian",
"flag": "0"
},
{
@@ -609,7 +609,7 @@
"elevation": 0,
"var": "VAR_ROUTE119_STATE",
"var_value": "0",
- "script": "Route119_EventScript_1F4472"
+ "script": "Route119_EventScript_RivalTrigger1"
},
{
"type": "trigger",
@@ -618,7 +618,7 @@
"elevation": 0,
"var": "VAR_ROUTE119_STATE",
"var_value": "0",
- "script": "Route119_EventScript_1F447D"
+ "script": "Route119_EventScript_RivalTrigger2"
},
{
"type": "weather",
@@ -775,7 +775,7 @@
"y": 33,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route119_EventScript_1F477D"
+ "script": "Route119_EventScript_WeatherInstituteSign"
},
{
"type": "sign",
@@ -783,7 +783,7 @@
"y": 19,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route119_EventScript_1F4774"
+ "script": "Route119_EventScript_RouteSignFortree"
},
{
"type": "secret_base",
@@ -914,7 +914,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route119_EventScript_1F49E3"
+ "script": "Route119_EventScript_TrainerTipsDecoration"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc
index 1902333ed..ee07cc5cd 100644
--- a/data/maps/Route119/scripts.inc
+++ b/data/maps/Route119/scripts.inc
@@ -1,248 +1,248 @@
Route119_MapScripts:: @ 81F4424
- map_script MAP_SCRIPT_ON_RESUME, Route119_MapScript1_1F442F
+ map_script MAP_SCRIPT_ON_RESUME, Route119_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route119_OnTransition
.byte 0
-Route119_MapScript1_1F442F: @ 81F442F
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_1F4439
+Route119_OnResume: @ 81F442F
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_TryRemoveKecleon
end
-Route119_EventScript_1F4439:: @ 81F4439
+Route119_EventScript_TryRemoveKecleon:: @ 81F4439
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
Route119_OnTransition: @ 81F444D
- call Common_EventScript_SetupRivalGender
- call Common_EventScript_SetupRivalOnBikeGender
+ call Common_EventScript_SetupRivalGfxId
+ call Common_EventScript_SetupRivalOnBikeGfxId
compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if_eq Route119_EventScript_1F4466
+ call_if_eq Route119_EventScript_MoveInstituteWorkersDownstairs
special SetRoute119Weather
end
-Route119_EventScript_1F4466:: @ 81F4466
+Route119_EventScript_MoveInstituteWorkersDownstairs:: @ 81F4466
setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS
clearflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS
setvar VAR_WEATHER_INSTITUTE_STATE, 2
return
-Route119_EventScript_1F4472:: @ 81F4472
+Route119_EventScript_RivalTrigger1:: @ 81F4472
setvar VAR_TEMP_1, 1
- goto Route119_EventScript_1F4488
+ goto Route119_EventScript_RivalEncounter
end
-Route119_EventScript_1F447D:: @ 81F447D
+Route119_EventScript_RivalTrigger2:: @ 81F447D
setvar VAR_TEMP_1, 2
- goto Route119_EventScript_1F4488
+ goto Route119_EventScript_RivalEncounter
end
-Route119_EventScript_1F4488:: @ 81F4488
+Route119_EventScript_RivalEncounter:: @ 81F4488
lockall
- addobject 25
+ addobject 25 @ Rival on bike
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq Route119_EventScript_1F4501
+ call_if_eq Route119_EventScript_PlayMayMusic
compare VAR_RESULT, FEMALE
- call_if_eq Route119_EventScript_1F4506
+ call_if_eq Route119_EventScript_PlayBrendanMusic
delay 65
compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_1F46C6
+ call_if_eq Route119_EventScript_RivalEnter1
compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_1F46D1
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ call_if_eq Route119_EventScript_RivalEnter2
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_1F4700
+ call_if_eq Route119_EventScript_SetRivalPos1
compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_1F470F
+ call_if_eq Route119_EventScript_SetRivalPos2
removeobject 25
- addobject 16
+ addobject 16 @ Rival on foot
delay 30
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq Route119_EventScript_1F450B
+ goto_if_eq Route119_EventScript_BattleMay
compare VAR_RESULT, FEMALE
- goto_if_eq Route119_EventScript_1F4585
+ goto_if_eq Route119_EventScript_BattleBrendan
releaseall
end
-Route119_EventScript_1F4501:: @ 81F4501
+Route119_EventScript_PlayMayMusic:: @ 81F4501
playbgm MUS_GIRL_SUP, 1
return
-Route119_EventScript_1F4506:: @ 81F4506
+Route119_EventScript_PlayBrendanMusic:: @ 81F4506
playbgm MUS_BOY_SUP, 1
return
-Route119_EventScript_1F450B:: @ 81F450B
- msgbox Route119_Text_1F49FD, MSGBOX_DEFAULT
+Route119_EventScript_BattleMay:: @ 81F450B
+ msgbox Route119_Text_MayIntro, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route119_EventScript_1F453A
- case 1, Route119_EventScript_1F454A
- case 2, Route119_EventScript_1F455A
+ case 0, Route119_EventScript_BattleMayTreecko
+ case 1, Route119_EventScript_BattleMayTorchic
+ case 2, Route119_EventScript_BattleMayMudkip
end
-Route119_EventScript_1F453A:: @ 81F453A
- trainerbattle_no_intro TRAINER_MAY_6, Route119_Text_1F4A98
- goto Route119_EventScript_1F456A
+Route119_EventScript_BattleMayTreecko:: @ 81F453A
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_119_TREECKO, Route119_Text_MayDefeat
+ goto Route119_EventScript_DefeatedMay
end
-Route119_EventScript_1F454A:: @ 81F454A
- trainerbattle_no_intro TRAINER_MAY_9, Route119_Text_1F4A98
- goto Route119_EventScript_1F456A
+Route119_EventScript_BattleMayTorchic:: @ 81F454A
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_119_TORCHIC, Route119_Text_MayDefeat
+ goto Route119_EventScript_DefeatedMay
end
-Route119_EventScript_1F455A:: @ 81F455A
- trainerbattle_no_intro TRAINER_MAY_3, Route119_Text_1F4A98
- goto Route119_EventScript_1F456A
+Route119_EventScript_BattleMayMudkip:: @ 81F455A
+ trainerbattle_no_intro TRAINER_MAY_ROUTE_119_MUDKIP, Route119_Text_MayDefeat
+ goto Route119_EventScript_DefeatedMay
end
-Route119_EventScript_1F456A:: @ 81F456A
- msgbox Route119_Text_1F4AF3, MSGBOX_DEFAULT
- call Route119_EventScript_1F45FF
- msgbox Route119_Text_1F4B56, MSGBOX_DEFAULT
- goto Route119_EventScript_1F460F
+Route119_EventScript_DefeatedMay:: @ 81F456A
+ msgbox Route119_Text_MayPresentForYou, MSGBOX_DEFAULT
+ call Route119_EventScript_GiveFlyHM
+ msgbox Route119_Text_MayExplainFly, MSGBOX_DEFAULT
+ goto Route119_EventScript_RivalExitScottArrive
end
-Route119_EventScript_1F4585:: @ 81F4585
- msgbox Route119_Text_1F4C9A, MSGBOX_DEFAULT
+Route119_EventScript_BattleBrendan:: @ 81F4585
+ msgbox Route119_Text_BrendanIntro, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, Route119_EventScript_1F45B4
- case 1, Route119_EventScript_1F45C4
- case 2, Route119_EventScript_1F45D4
+ case 0, Route119_EventScript_BattleBrendanTreecko
+ case 1, Route119_EventScript_BattleBrendanTorchic
+ case 2, Route119_EventScript_BattleBrendanMudkip
end
-Route119_EventScript_1F45B4:: @ 81F45B4
- trainerbattle_no_intro TRAINER_BRENDAN_6, Route119_Text_1F4D24
- goto Route119_EventScript_1F45E4
+Route119_EventScript_BattleBrendanTreecko:: @ 81F45B4
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_119_TREECKO, Route119_Text_BrendanDefeat
+ goto Route119_EventScript_DefeatedBrendan
end
-Route119_EventScript_1F45C4:: @ 81F45C4
- trainerbattle_no_intro TRAINER_BRENDAN_9, Route119_Text_1F4D24
- goto Route119_EventScript_1F45E4
+Route119_EventScript_BattleBrendanTorchic:: @ 81F45C4
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_119_TORCHIC, Route119_Text_BrendanDefeat
+ goto Route119_EventScript_DefeatedBrendan
end
-Route119_EventScript_1F45D4:: @ 81F45D4
- trainerbattle_no_intro TRAINER_BRENDAN_3, Route119_Text_1F4D24
- goto Route119_EventScript_1F45E4
+Route119_EventScript_BattleBrendanMudkip:: @ 81F45D4
+ trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_119_MUDKIP, Route119_Text_BrendanDefeat
+ goto Route119_EventScript_DefeatedBrendan
end
-Route119_EventScript_1F45E4:: @ 81F45E4
- msgbox Route119_Text_1F4D4B, MSGBOX_DEFAULT
- call Route119_EventScript_1F45FF
- msgbox Route119_Text_1F4DB5, MSGBOX_DEFAULT
- goto Route119_EventScript_1F460F
+Route119_EventScript_DefeatedBrendan:: @ 81F45E4
+ msgbox Route119_Text_BrendanIllGiveYouThis, MSGBOX_DEFAULT
+ call Route119_EventScript_GiveFlyHM
+ msgbox Route119_Text_BrendanExplainFly, MSGBOX_DEFAULT
+ goto Route119_EventScript_RivalExitScottArrive
end
-Route119_EventScript_1F45FF:: @ 81F45FF
- giveitem_std ITEM_HM02
+Route119_EventScript_GiveFlyHM:: @ 81F45FF
+ giveitem ITEM_HM02
setflag FLAG_RECEIVED_HM02
return
-Route119_EventScript_1F460F:: @ 81F460F
+Route119_EventScript_RivalExitScottArrive:: @ 81F460F
closemessage
compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_1F4700
+ call_if_eq Route119_EventScript_SetRivalPos1
compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_1F470F
- removeobject 16
- addobject 25
+ call_if_eq Route119_EventScript_SetRivalPos2
+ removeobject 16 @ Rival on foot
+ addobject 25 @ Rival on bike
delay 30
compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_1F46DC
+ call_if_eq Route119_EventScript_RivalExit1
compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_1F46EE
+ call_if_eq Route119_EventScript_RivalExit2
removeobject 25
setvar VAR_ROUTE119_STATE, 1
savebgm MUS_DUMMY
fadedefaultbgm
delay 60
compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_1F46A0
+ call_if_eq Route119_EventScript_SetScottPos1
compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_1F46A8
- addobject 43
- applymovement 43, Route119_Movement_1F4752
+ call_if_eq Route119_EventScript_SetScottPos2
+ addobject 43 @ Scott
+ applymovement 43, Route119_Movement_ScottEnter
waitmovement 0
addvar VAR_SCOTT_STATE, 1
- msgbox Route119_Text_1F4E60, MSGBOX_DEFAULT
+ msgbox Route119_Text_ScottWayToGoBeSeeingYou, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_1F46B0
+ call_if_eq Route119_EventScript_ScottExit1
compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_1F46BB
+ call_if_eq Route119_EventScript_ScottExit2
removeobject 43
releaseall
end
-Route119_EventScript_1F46A0:: @ 81F46A0
+Route119_EventScript_SetScottPos1:: @ 81F46A0
setobjectxyperm 43, 27, 25
return
-Route119_EventScript_1F46A8:: @ 81F46A8
+Route119_EventScript_SetScottPos2:: @ 81F46A8
setobjectxyperm 43, 28, 25
return
-Route119_EventScript_1F46B0:: @ 81F46B0
- applymovement 43, Route119_Movement_1F475A
+Route119_EventScript_ScottExit1:: @ 81F46B0
+ applymovement 43, Route119_Movement_ScottExit1
waitmovement 0
return
-Route119_EventScript_1F46BB:: @ 81F46BB
- applymovement 43, Route119_Movement_1F4763
+Route119_EventScript_ScottExit2:: @ 81F46BB
+ applymovement 43, Route119_Movement_ScottExit2
waitmovement 0
return
-Route119_EventScript_1F46C6:: @ 81F46C6
- applymovement 25, Route119_Movement_1F4728
+Route119_EventScript_RivalEnter1:: @ 81F46C6
+ applymovement 25, Route119_Movement_RivalEnter1
waitmovement 0
return
-Route119_EventScript_1F46D1:: @ 81F46D1
- applymovement 25, Route119_Movement_1F4732
+Route119_EventScript_RivalEnter2:: @ 81F46D1
+ applymovement 25, Route119_Movement_RivalEnter2
waitmovement 0
return
-Route119_EventScript_1F46DC:: @ 81F46DC
- applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F471E
- applymovement 25, Route119_Movement_1F473D
+Route119_EventScript_RivalExit1:: @ 81F46DC
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_PlayerWatchRivalExit1
+ applymovement 25, Route119_Movement_RivalExit1
waitmovement 0
return
-Route119_EventScript_1F46EE:: @ 81F46EE
- applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F4723
- applymovement 25, Route119_Movement_1F4747
+Route119_EventScript_RivalExit2:: @ 81F46EE
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_PlayerWatchRivalExit2
+ applymovement 25, Route119_Movement_RivalExit2
waitmovement 0
return
-Route119_EventScript_1F4700:: @ 81F4700
+Route119_EventScript_SetRivalPos1:: @ 81F4700
setobjectxyperm 16, 25, 32
setobjectxyperm 25, 25, 32
return
-Route119_EventScript_1F470F:: @ 81F470F
+Route119_EventScript_SetRivalPos2:: @ 81F470F
setobjectxyperm 16, 26, 32
setobjectxyperm 25, 26, 32
return
-Route119_Movement_1F471E: @ 81F471E
+Route119_Movement_PlayerWatchRivalExit1: @ 81F471E
delay_16
walk_in_place_fastest_right
delay_8
walk_in_place_fastest_up
step_end
-Route119_Movement_1F4723: @ 81F4723
+Route119_Movement_PlayerWatchRivalExit2: @ 81F4723
delay_16
walk_in_place_fastest_left
delay_8
walk_in_place_fastest_up
step_end
-Route119_Movement_1F4728: @ 81F4728
+Route119_Movement_RivalEnter1: @ 81F4728
walk_fast_right
walk_fast_right
walk_fast_right
@@ -254,7 +254,7 @@ Route119_Movement_1F4728: @ 81F4728
walk_fast_up
step_end
-Route119_Movement_1F4732: @ 81F4732
+Route119_Movement_RivalEnter2: @ 81F4732
walk_fast_right
walk_fast_right
walk_fast_right
@@ -267,7 +267,7 @@ Route119_Movement_1F4732: @ 81F4732
walk_fast_up
step_end
-Route119_Movement_1F473D: @ 81F473D
+Route119_Movement_RivalExit1: @ 81F473D
walk_fast_right
walk_fast_up
walk_fast_up
@@ -279,7 +279,7 @@ Route119_Movement_1F473D: @ 81F473D
walk_fast_up
step_end
-Route119_Movement_1F4747: @ 81F4747
+Route119_Movement_RivalExit2: @ 81F4747
walk_fast_left
walk_fast_up
walk_fast_up
@@ -292,7 +292,7 @@ Route119_Movement_1F4747: @ 81F4747
walk_fast_up
step_end
-Route119_Movement_1F4752: @ 81F4752
+Route119_Movement_ScottEnter: @ 81F4752
walk_down
walk_down
walk_down
@@ -302,7 +302,7 @@ Route119_Movement_1F4752: @ 81F4752
walk_down
step_end
-Route119_Movement_1F475A: @ 81F475A
+Route119_Movement_ScottExit1: @ 81F475A
walk_up
walk_right
walk_right
@@ -313,7 +313,7 @@ Route119_Movement_1F475A: @ 81F475A
walk_up
step_end
-Route119_Movement_1F4763: @ 81F4763
+Route119_Movement_ScottExit2: @ 81F4763
walk_up
walk_right
walk_up
@@ -323,179 +323,179 @@ Route119_Movement_1F4763: @ 81F4763
walk_up
step_end
-Route119_EventScript_1F476B:: @ 81F476B
- msgbox Route119_Text_1F5261, MSGBOX_NPC
+Route119_EventScript_CyclingTriathleteM:: @ 81F476B
+ msgbox Route119_Text_TallGrassSnaresBikeTires, MSGBOX_NPC
end
-Route119_EventScript_1F4774:: @ 81F4774
- msgbox Route119_Text_1F530E, MSGBOX_SIGN
+Route119_EventScript_RouteSignFortree:: @ 81F4774
+ msgbox Route119_Text_RouteSignFortree, MSGBOX_SIGN
end
-Route119_EventScript_1F477D:: @ 81F477D
- msgbox Route119_Text_1F5327, MSGBOX_SIGN
+Route119_EventScript_WeatherInstituteSign:: @ 81F477D
+ msgbox Route119_Text_WeatherInstitute, MSGBOX_SIGN
end
-Route119_EventScript_1F4786:: @ 81F4786
- trainerbattle_single TRAINER_BRENT, Route119_Text_29D8C2, Route119_Text_29D8F0
- msgbox Route119_Text_29D902, MSGBOX_AUTOCLOSE
+Route119_EventScript_Brent:: @ 81F4786
+ trainerbattle_single TRAINER_BRENT, Route119_Text_BrentIntro, Route119_Text_BrentDefeat
+ msgbox Route119_Text_BrentPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F479D:: @ 81F479D
- trainerbattle_single TRAINER_DONALD, Route119_Text_29D941, Route119_Text_29D97C
- msgbox Route119_Text_29D993, MSGBOX_AUTOCLOSE
+Route119_EventScript_Donald:: @ 81F479D
+ trainerbattle_single TRAINER_DONALD, Route119_Text_DonaldIntro, Route119_Text_DonaldDefeat
+ msgbox Route119_Text_DonaldPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F47B4:: @ 81F47B4
- trainerbattle_single TRAINER_TAYLOR, Route119_Text_29D9CD, Route119_Text_29DA14
- msgbox Route119_Text_29DA2C, MSGBOX_AUTOCLOSE
+Route119_EventScript_Taylor:: @ 81F47B4
+ trainerbattle_single TRAINER_TAYLOR, Route119_Text_TaylorIntro, Route119_Text_TaylorDefeat
+ msgbox Route119_Text_TaylorPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F47CB:: @ 81F47CB
- trainerbattle_single TRAINER_DOUG, Route119_Text_29DA7D, Route119_Text_29DABC
- msgbox Route119_Text_29DADB, MSGBOX_AUTOCLOSE
+Route119_EventScript_Doug:: @ 81F47CB
+ trainerbattle_single TRAINER_DOUG, Route119_Text_DougIntro, Route119_Text_DougDefeat
+ msgbox Route119_Text_DougPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F47E2:: @ 81F47E2
- trainerbattle_single TRAINER_GREG, Route119_Text_29DB17, Route119_Text_29DB66
- msgbox Route119_Text_29DB7C, MSGBOX_AUTOCLOSE
+Route119_EventScript_Greg:: @ 81F47E2
+ trainerbattle_single TRAINER_GREG, Route119_Text_GregIntro, Route119_Text_GregDefeat
+ msgbox Route119_Text_GregPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F47F9:: @ 81F47F9
- trainerbattle_single TRAINER_KENT, Route119_Text_29DBC2, Route119_Text_29DC20
- msgbox Route119_Text_29DC2B, MSGBOX_AUTOCLOSE
+Route119_EventScript_Kent:: @ 81F47F9
+ trainerbattle_single TRAINER_KENT, Route119_Text_KentIntro, Route119_Text_KentDefeat
+ msgbox Route119_Text_KentPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F4810:: @ 81F4810
- trainerbattle_single TRAINER_JACKSON_1, Route119_Text_29DC4C, Route119_Text_29DC9F, Route119_EventScript_1F483C
+Route119_EventScript_Jackson:: @ 81F4810
+ trainerbattle_single TRAINER_JACKSON_1, Route119_Text_JacksonIntro, Route119_Text_JacksonDefeat, Route119_EventScript_RegisterJackson
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route119_EventScript_1F485B
- msgbox Route119_Text_29DCC6, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route119_EventScript_RematchJackson
+ msgbox Route119_Text_JacksonPostBattle, MSGBOX_DEFAULT
release
end
-Route119_EventScript_1F483C:: @ 81F483C
- special sub_80B4808
+Route119_EventScript_RegisterJackson:: @ 81F483C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route119_Text_29DD1C, MSGBOX_DEFAULT
+ msgbox Route119_Text_JacksonRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_JACKSON_1
release
end
-Route119_EventScript_1F485B:: @ 81F485B
- trainerbattle_rematch TRAINER_JACKSON_1, Route119_Text_29DD62, Route119_Text_29DDA5
- msgbox Route119_Text_29DDBD, MSGBOX_AUTOCLOSE
+Route119_EventScript_RematchJackson:: @ 81F485B
+ trainerbattle_rematch TRAINER_JACKSON_1, Route119_Text_JacksonRematchIntro, Route119_Text_JacksonRematchDefeat
+ msgbox Route119_Text_JacksonPostRematch, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F4872:: @ 81F4872
- trainerbattle_single TRAINER_CATHERINE_1, Route119_Text_29DE0F, Route119_Text_29DE5D, Route119_EventScript_1F489E
+Route119_EventScript_Catherine:: @ 81F4872
+ trainerbattle_single TRAINER_CATHERINE_1, Route119_Text_CatherineIntro, Route119_Text_CatherineDefeat, Route119_EventScript_RegisterCatherine
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route119_EventScript_1F48BD
- msgbox Route119_Text_29DE88, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route119_EventScript_RematchCatherine
+ msgbox Route119_Text_CatherinePostBattle, MSGBOX_DEFAULT
release
end
-Route119_EventScript_1F489E:: @ 81F489E
- special sub_80B4808
+Route119_EventScript_RegisterCatherine:: @ 81F489E
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route119_Text_29DEF7, MSGBOX_DEFAULT
+ msgbox Route119_Text_CatherineRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_CATHERINE_1
release
end
-Route119_EventScript_1F48BD:: @ 81F48BD
- trainerbattle_rematch TRAINER_CATHERINE_1, Route119_Text_29DF6B, Route119_Text_29DF92
- msgbox Route119_Text_29DFAF, MSGBOX_AUTOCLOSE
+Route119_EventScript_RematchCatherine:: @ 81F48BD
+ trainerbattle_rematch TRAINER_CATHERINE_1, Route119_Text_CatherineRematchIntro, Route119_Text_CatherineRematchDefeat
+ msgbox Route119_Text_CatherinePostRematch, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F48D4:: @ 81F48D4
- trainerbattle_single TRAINER_HUGH, Route119_Text_29E007, Route119_Text_29E063
- msgbox Route119_Text_29E071, MSGBOX_AUTOCLOSE
+Route119_EventScript_Hugh:: @ 81F48D4
+ trainerbattle_single TRAINER_HUGH, Route119_Text_HughIntro, Route119_Text_HughDefeat
+ msgbox Route119_Text_HughPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F48EB:: @ 81F48EB
- trainerbattle_single TRAINER_PHIL, Route119_Text_29E0A5, Route119_Text_29E0E1
- msgbox Route119_Text_29E0F6, MSGBOX_AUTOCLOSE
+Route119_EventScript_Phil:: @ 81F48EB
+ trainerbattle_single TRAINER_PHIL, Route119_Text_PhilIntro, Route119_Text_PhilDefeat
+ msgbox Route119_Text_PhilPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F4902:: @ 81F4902
- trainerbattle_single TRAINER_YASU, Route119_Text_29E134, Route119_Text_29E18D
- msgbox Route119_Text_29E19D, MSGBOX_AUTOCLOSE
+Route119_EventScript_Yasu:: @ 81F4902
+ trainerbattle_single TRAINER_YASU, Route119_Text_YasuIntro, Route119_Text_YasuDefeat
+ msgbox Route119_Text_YasuPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F4919:: @ 81F4919
- trainerbattle_single TRAINER_TAKASHI, Route119_Text_29E1F5, Route119_Text_29E22B
- msgbox Route119_Text_29E245, MSGBOX_AUTOCLOSE
+Route119_EventScript_Takashi:: @ 81F4919
+ trainerbattle_single TRAINER_TAKASHI, Route119_Text_TakashiIntro, Route119_Text_TakashiDefeat
+ msgbox Route119_Text_TakashiPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F4930:: @ 81F4930
- trainerbattle_single TRAINER_HIDEO, Route119_Text_29E26A, Route119_Text_29E288
- msgbox Route119_Text_29E2A3, MSGBOX_AUTOCLOSE
+Route119_EventScript_Hideo:: @ 81F4930
+ trainerbattle_single TRAINER_HIDEO, Route119_Text_HideoIntro, Route119_Text_HideoDefeat
+ msgbox Route119_Text_HideoPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F4947:: @ 81F4947
- trainerbattle_single TRAINER_CHRIS, Route119_Text_29E30D, Route119_Text_29E372
- msgbox Route119_Text_29E3A2, MSGBOX_AUTOCLOSE
+Route119_EventScript_Chris:: @ 81F4947
+ trainerbattle_single TRAINER_CHRIS, Route119_Text_ChrisIntro, Route119_Text_ChrisDefeat
+ msgbox Route119_Text_ChrisPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F495E:: @ 81F495E
- trainerbattle_single TRAINER_FABIAN, Route119_Text_29E3FF, Route119_Text_29E44F
- msgbox Route119_Text_29E492, MSGBOX_AUTOCLOSE
+Route119_EventScript_Fabian:: @ 81F495E
+ trainerbattle_single TRAINER_FABIAN, Route119_Text_FabianIntro, Route119_Text_FabianDefeat
+ msgbox Route119_Text_FabianPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F4975:: @ 81F4975
- trainerbattle_single TRAINER_DAYTON, Route119_Text_29E4DF, Route119_Text_29E513
- msgbox Route119_Text_29E532, MSGBOX_AUTOCLOSE
+Route119_EventScript_Dayton:: @ 81F4975
+ trainerbattle_single TRAINER_DAYTON, Route119_Text_DaytonIntro, Route119_Text_DaytonDefeat
+ msgbox Route119_Text_DaytonPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F498C:: @ 81F498C
- trainerbattle_single TRAINER_RACHEL, Route119_Text_29E56F, Route119_Text_29E5B1
- msgbox Route119_Text_29E5CB, MSGBOX_AUTOCLOSE
+Route119_EventScript_Rachel:: @ 81F498C
+ trainerbattle_single TRAINER_RACHEL, Route119_Text_RachelIntro, Route119_Text_RachelDefeat
+ msgbox Route119_Text_RachelPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_EventScript_1F49A3:: @ 81F49A3
+Route119_EventScript_BridgeAquaGrunt1:: @ 81F49A3
lock
faceplayer
- msgbox Route119_Text_1F50EB, MSGBOX_DEFAULT
+ msgbox Route119_Text_StayAwayFromWeatherInstitute, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route119_EventScript_1F49BA:: @ 81F49BA
+Route119_EventScript_BridgeAquaGrunt2:: @ 81F49BA
lock
faceplayer
- msgbox Route119_Text_1F5147, MSGBOX_DEFAULT
+ msgbox Route119_Text_DontGoNearWeatherInstitute, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-Route119_EventScript_1F49D1:: @ 81F49D1
- msgbox Route119_Text_1F51A2, MSGBOX_NPC
+Route119_EventScript_Boy1:: @ 81F49D1
+ msgbox Route119_Text_ThoughtFlyByCatchingBirdMons, MSGBOX_NPC
end
-Route119_EventScript_1F49DA:: @ 81F49DA
- msgbox Route119_Text_1F52B9, MSGBOX_NPC
+Route119_EventScript_Boy2:: @ 81F49DA
+ msgbox Route119_Text_CanYourMonMakeSecretBase, MSGBOX_NPC
end
-Route119_EventScript_1F49E3:: @ 81F49E3
- msgbox Route119_Text_1F5339, MSGBOX_SIGN
+Route119_EventScript_TrainerTipsDecoration:: @ 81F49E3
+ msgbox Route119_Text_TrainerTipsDecoration, MSGBOX_SIGN
end
-Route119_EventScript_1F49EC:: @ 81F49EC
+Route119_EventScript_ScottWonAtFortreeGymCall:: @ 81F49EC
lockall
- pokenavcall Route119_Text_1F4FBA
+ pokenavcall Route119_Text_ScottYouWonAtFortreeGym
waitmessage
- clearflag FLAG_REGISTER_WINONA_POKENAV
+ clearflag FLAG_SCOTT_CALL_FORTREE_GYM
addvar VAR_SCOTT_STATE, 1
releaseall
end
-Route119_Text_1F49FD: @ 81F49FD
+Route119_Text_MayIntro: @ 81F49FD
.string "MAY: {PLAYER}{KUN}!\n"
.string "Where were you? I was looking for you!\p"
.string "How much stronger have you gotten?\n"
@@ -503,18 +503,18 @@ Route119_Text_1F49FD: @ 81F49FD
.string "Ready with your POKéMON?\n"
.string "Of course you are! Go!$"
-Route119_Text_1F4A98: @ 81F4A98
+Route119_Text_MayDefeat: @ 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
+Route119_Text_MayPresentForYou: @ 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
+Route119_Text_MayExplainFly: @ 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"
@@ -527,7 +527,7 @@ Route119_Text_1F4B56: @ 81F4B56
.string "{PLAYER}{KUN}.\p"
.string "Well, let's meet again somewhere!$"
-Route119_Text_1F4C9A: @ 81F4C9A
+Route119_Text_BrendanIntro: @ 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"
@@ -535,17 +535,17 @@ Route119_Text_1F4C9A: @ 81F4C9A
.string "Now!\n"
.string "It's a battle, so battle!$"
-Route119_Text_1F4D24: @ 81F4D24
+Route119_Text_BrendanDefeat: @ 81F4D24
.string "Hmm…\n"
.string "You've gotten pretty darn decent.$"
-Route119_Text_1F4D4B: @ 81F4D4B
+Route119_Text_BrendanIllGiveYouThis: @ 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
+Route119_Text_BrendanExplainFly: @ 81F4DB5
.string "BRENDAN: Use FLY, and your POKéMON\n"
.string "instantly carries you to any town\l"
.string "you've already visited.\p"
@@ -553,7 +553,7 @@ Route119_Text_1F4DB5: @ 81F4DB5
.string "to do that.\p"
.string "Anyway, I have to move along.$"
-Route119_Text_1F4E60: @ 81F4E60
+Route119_Text_ScottWayToGoBeSeeingYou: @ 81F4E60
.string "SCOTT: Hahahah!\n"
.string "Way to go, {PLAYER}{KUN}!\p"
.string "I just passed by a TRAINER riding\n"
@@ -568,7 +568,7 @@ Route119_Text_1F4E60: @ 81F4E60
.string "Well, I'll be seeing you!$"
-Route119_Text_1F4FBA: @ 81F4FBA
+Route119_Text_ScottYouWonAtFortreeGym: @ 81F4FBA
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "SCOTT: Hiya, {PLAYER}{KUN}, it's me!\p"
@@ -583,17 +583,17 @@ Route119_Text_1F4FBA: @ 81F4FBA
.string "… … … … … …\n"
.string "… … … … … Click!$"
-Route119_Text_1F50EB: @ 81F50EB
+Route119_Text_StayAwayFromWeatherInstitute: @ 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
+Route119_Text_DontGoNearWeatherInstitute: @ 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
+Route119_Text_ThoughtFlyByCatchingBirdMons: @ 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"
@@ -602,25 +602,25 @@ Route119_Text_1F51A2: @ 81F51A2
.string "I wish I'd known about that a long\n"
.string "time ago…$"
-Route119_Text_1F5261: @ 81F5261
+Route119_Text_TallGrassSnaresBikeTires: @ 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
+Route119_Text_CanYourMonMakeSecretBase: @ 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
+Route119_Text_RouteSignFortree: @ 81F530E
.string "ROUTE 119\n"
.string "{RIGHT_ARROW} FORTREE CITY$"
-Route119_Text_1F5327: @ 81F5327
+Route119_Text_WeatherInstitute: @ 81F5327
.string "WEATHER INSTITUTE$"
-Route119_Text_1F5339: @ 81F5339
+Route119_Text_TrainerTipsDecoration: @ 81F5339
.string "TRAINER TIPS\p"
.string "Up to sixteen decorations and\n"
.string "furniture items can be placed in\l"
diff --git a/data/maps/Route119_House/map.json b/data/maps/Route119_House/map.json
index 31d84664f..f07156653 100644
--- a/data/maps/Route119_House/map.json
+++ b/data/maps/Route119_House/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_House_EventScript_270966",
+ "script": "Route119_House_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_House_EventScript_27096F",
+ "script": "Route119_House_EventScript_Wingull",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_House_EventScript_27096F",
+ "script": "Route119_House_EventScript_Wingull",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_House_EventScript_27096F",
+ "script": "Route119_House_EventScript_Wingull",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_House_EventScript_27096F",
+ "script": "Route119_House_EventScript_Wingull",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_House_EventScript_27096F",
+ "script": "Route119_House_EventScript_Wingull",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 3,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_House_EventScript_27096F",
+ "script": "Route119_House_EventScript_Wingull",
"flag": "0"
}
],
diff --git a/data/maps/Route119_House/scripts.inc b/data/maps/Route119_House/scripts.inc
index 4d4826bdf..b6915aaa3 100644
--- a/data/maps/Route119_House/scripts.inc
+++ b/data/maps/Route119_House/scripts.inc
@@ -1,27 +1,27 @@
Route119_House_MapScripts:: @ 8270965
.byte 0
-Route119_House_EventScript_270966:: @ 8270966
- msgbox Route119_House_Text_270982, MSGBOX_NPC
+Route119_House_EventScript_Woman:: @ 8270966
+ msgbox Route119_House_Text_RumorAboutCaveOfOrigin, MSGBOX_NPC
end
-Route119_House_EventScript_27096F:: @ 827096F
+Route119_House_EventScript_Wingull:: @ 827096F
lock
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox Route119_House_Text_270A17, MSGBOX_DEFAULT
+ msgbox Route119_House_Text_Wingull, MSGBOX_DEFAULT
waitmoncry
release
end
-Route119_House_Text_270982: @ 8270982
+Route119_House_Text_RumorAboutCaveOfOrigin: @ 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
+Route119_House_Text_Wingull: @ 8270A17
.string "WINGULL: Pihyoh!$"
diff --git a/data/maps/Route119_WeatherInstitute_1F/map.json b/data/maps/Route119_WeatherInstitute_1F/map.json
index 8200c20df..626d008fc 100644
--- a/data/maps/Route119_WeatherInstitute_1F/map.json
+++ b/data/maps/Route119_WeatherInstitute_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FB29",
+ "script": "Route119_WeatherInstitute_1F_EventScript_Grunt1",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FB40",
+ "script": "Route119_WeatherInstitute_1F_EventScript_Grunt4",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FB0F",
+ "script": "Route119_WeatherInstitute_1F_EventScript_InstituteWorker2",
"flag": "FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FAC8",
+ "script": "Route119_WeatherInstitute_1F_EventScript_InstituteWorker1",
"flag": "FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FAA4",
+ "script": "Route119_WeatherInstitute_1F_EventScript_LittleBoy",
"flag": "0"
}
],
@@ -111,7 +111,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FB18"
+ "script": "Route119_WeatherInstitute_1F_EventScript_Bed"
},
{
"type": "sign",
@@ -119,7 +119,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FB18"
+ "script": "Route119_WeatherInstitute_1F_EventScript_Bed"
},
{
"type": "sign",
@@ -127,7 +127,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FB18"
+ "script": "Route119_WeatherInstitute_1F_EventScript_Bed"
},
{
"type": "sign",
@@ -135,7 +135,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route119_WeatherInstitute_1F_EventScript_26FB18"
+ "script": "Route119_WeatherInstitute_1F_EventScript_Bed"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
index b4b309d80..c734ee3c4 100644
--- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
@@ -4,111 +4,111 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86
Route119_WeatherInstitute_1F_OnTransition: @ 826FA8C
compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if_eq Route119_WeatherInstitute_1F_EventScript_26FA98
+ call_if_eq Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos
end
-Route119_WeatherInstitute_1F_EventScript_26FA98:: @ 826FA98
+Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos:: @ 826FA98
setobjectxyperm 5, 0, 5
setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT
return
-Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4
+Route119_WeatherInstitute_1F_EventScript_LittleBoy:: @ 826FAA4
lock
faceplayer
special GetPlayerBigGuyGirlString
compare VAR_WEATHER_INSTITUTE_STATE, 0
- goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FABE
- msgbox Route119_WeatherInstitute_1F_Text_26FCE5, MSGBOX_DEFAULT
+ goto_if_eq Route119_WeatherInstitute_1F_EventScript_LittleBoyTeamAquaHere
+ msgbox Route119_WeatherInstitute_1F_Text_WowYoureStrong, MSGBOX_DEFAULT
release
end
-Route119_WeatherInstitute_1F_EventScript_26FABE:: @ 826FABE
- msgbox Route119_WeatherInstitute_1F_Text_26FCB7, MSGBOX_DEFAULT
+Route119_WeatherInstitute_1F_EventScript_LittleBoyTeamAquaHere:: @ 826FABE
+ msgbox Route119_WeatherInstitute_1F_Text_EveryoneWentUpstairs, MSGBOX_DEFAULT
release
end
-Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8
+Route119_WeatherInstitute_1F_EventScript_InstituteWorker1:: @ 826FAC8
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_1F_EventScript_26FB05
+ goto_if_unset FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_1F_EventScript_StudyingRain
setvar VAR_0x8004, 0
- call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_1F_EventScript_26FAFF
- call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_1F_EventScript_26FAFF
- compare VAR_0x8004, 2
- goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FB05
- msgbox Route119_WeatherInstitute_1F_Text_26FDE8, MSGBOX_DEFAULT
+ call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated
+ call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated
+ compare VAR_0x8004, 2 @ Both defeated
+ goto_if_eq Route119_WeatherInstitute_1F_EventScript_StudyingRain
+ msgbox Route119_WeatherInstitute_1F_Text_NoticingAbnormalWeather, MSGBOX_DEFAULT
release
end
-Route119_WeatherInstitute_1F_EventScript_26FAFF:: @ 826FAFF
+Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated:: @ 826FAFF
addvar VAR_0x8004, 1
return
-Route119_WeatherInstitute_1F_EventScript_26FB05:: @ 826FB05
- msgbox Route119_WeatherInstitute_1F_Text_26FD2E, MSGBOX_DEFAULT
+Route119_WeatherInstitute_1F_EventScript_StudyingRain:: @ 826FB05
+ msgbox Route119_WeatherInstitute_1F_Text_ProfStudyingRain, MSGBOX_DEFAULT
release
end
-Route119_WeatherInstitute_1F_EventScript_26FB0F:: @ 826FB0F
- msgbox Route119_WeatherInstitute_1F_Text_26FE94, MSGBOX_NPC
+Route119_WeatherInstitute_1F_EventScript_InstituteWorker2:: @ 826FB0F
+ msgbox Route119_WeatherInstitute_1F_Text_WhatWereAquasUpTo, MSGBOX_NPC
end
-Route119_WeatherInstitute_1F_EventScript_26FB18:: @ 826FB18
+Route119_WeatherInstitute_1F_EventScript_Bed:: @ 826FB18
lockall
- msgbox Route119_WeatherInstitute_1F_Text_26FEFC, MSGBOX_DEFAULT
+ msgbox Route119_WeatherInstitute_1F_Text_TakeRestInBed, MSGBOX_DEFAULT
closemessage
call Common_EventScript_OutOfCenterPartyHeal
releaseall
end
-Route119_WeatherInstitute_1F_EventScript_26FB29:: @ 826FB29
- trainerbattle_single TRAINER_GRUNT_11, Route119_WeatherInstitute_1F_Text_26FB57, Route119_WeatherInstitute_1F_Text_26FBBB
- msgbox Route119_WeatherInstitute_1F_Text_26FBD7, MSGBOX_AUTOCLOSE
+Route119_WeatherInstitute_1F_EventScript_Grunt1:: @ 826FB29
+ trainerbattle_single TRAINER_GRUNT_WEATHER_INST_1, Route119_WeatherInstitute_1F_Text_Grunt1Intro, Route119_WeatherInstitute_1F_Text_Grunt1Defeat
+ msgbox Route119_WeatherInstitute_1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
-Route119_WeatherInstitute_1F_EventScript_26FB40:: @ 826FB40
- trainerbattle_single TRAINER_GRUNT_20, Route119_WeatherInstitute_1F_Text_26FC34, Route119_WeatherInstitute_1F_Text_26FC52
- msgbox Route119_WeatherInstitute_1F_Text_26FC60, MSGBOX_AUTOCLOSE
+Route119_WeatherInstitute_1F_EventScript_Grunt4:: @ 826FB40
+ trainerbattle_single TRAINER_GRUNT_WEATHER_INST_4, Route119_WeatherInstitute_1F_Text_Grunt4Intro, Route119_WeatherInstitute_1F_Text_Grunt4Defeat
+ msgbox Route119_WeatherInstitute_1F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE
end
-Route119_WeatherInstitute_1F_Text_26FB57: @ 826FB57
+Route119_WeatherInstitute_1F_Text_Grunt1Intro: @ 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
+Route119_WeatherInstitute_1F_Text_Grunt1Defeat: @ 826FBBB
.string "Blast it…\n"
.string "Blasted by a kid…$"
-Route119_WeatherInstitute_1F_Text_26FBD7: @ 826FBD7
+Route119_WeatherInstitute_1F_Text_Grunt1PostBattle: @ 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
+Route119_WeatherInstitute_1F_Text_Grunt4Intro: @ 826FC34
.string "Huh?\n"
.string "What's a kid doing here?$"
-Route119_WeatherInstitute_1F_Text_26FC52: @ 826FC52
+Route119_WeatherInstitute_1F_Text_Grunt4Defeat: @ 826FC52
.string "Huh?\n"
.string "I lost?!$"
-Route119_WeatherInstitute_1F_Text_26FC60: @ 826FC60
+Route119_WeatherInstitute_1F_Text_Grunt4PostBattle: @ 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
+Route119_WeatherInstitute_1F_Text_EveryoneWentUpstairs: @ 826FCB7
.string "While I was sleeping, everyone went\n"
.string "upstairs!$"
-Route119_WeatherInstitute_1F_Text_26FCE5: @ 826FCE5
+Route119_WeatherInstitute_1F_Text_WowYoureStrong: @ 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
+Route119_WeatherInstitute_1F_Text_ProfStudyingRain: @ 826FD2E
.string "The PROFESSOR loves rain.\n"
.string "That's a fact.\p"
.string "But if it keeps raining, people will be in\n"
@@ -116,7 +116,7 @@ Route119_WeatherInstitute_1F_Text_26FD2E: @ 826FD2E
.string "And thus, the PROFESSOR is studying\n"
.string "if the rain can be put to good use.$"
-Route119_WeatherInstitute_1F_Text_26FDE8: @ 826FDE8
+Route119_WeatherInstitute_1F_Text_NoticingAbnormalWeather: @ 826FDE8
.string "On the 2nd floor of the INSTITUTE,\n"
.string "we study the weather patterns over\l"
.string "the HOENN region.\p"
@@ -124,13 +124,13 @@ Route119_WeatherInstitute_1F_Text_26FDE8: @ 826FDE8
.string "isolated cases of droughts and\l"
.string "heavy rain lately…$"
-Route119_WeatherInstitute_1F_Text_26FE94: @ 826FE94
+Route119_WeatherInstitute_1F_Text_WhatWereAquasUpTo: @ 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
+Route119_WeatherInstitute_1F_Text_TakeRestInBed: @ 826FEFC
.string "There's a bed…\n"
.string "Let's take a rest.$"
diff --git a/data/maps/Route119_WeatherInstitute_2F/map.json b/data/maps/Route119_WeatherInstitute_2F/map.json
index 4b4534a8e..c8048db6f 100644
--- a/data/maps/Route119_WeatherInstitute_2F/map.json
+++ b/data/maps/Route119_WeatherInstitute_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route119_WeatherInstitute_2F_EventScript_26FF7F",
+ "script": "Route119_WeatherInstitute_2F_EventScript_Grunt2",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route119_WeatherInstitute_2F_EventScript_26FF96",
+ "script": "Route119_WeatherInstitute_2F_EventScript_Grunt3",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_WeatherInstitute_2F_EventScript_26FFAD",
+ "script": "Route119_WeatherInstitute_2F_EventScript_Shelly",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route119_WeatherInstitute_2F_EventScript_27018B",
+ "script": "Route119_WeatherInstitute_2F_EventScript_WeatherScientist",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route119_WeatherInstitute_2F_EventScript_26FF68",
+ "script": "Route119_WeatherInstitute_2F_EventScript_Grunt5",
"flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA"
}
],
diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
index 9257b3a64..6ffc19de8 100644
--- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
@@ -4,67 +4,67 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E
Route119_WeatherInstitute_2F_OnTransition: @ 826FF24
compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF44
+ call_if_eq Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaHere
compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF50
- call_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_26FF5C
+ call_if_eq Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaGone
+ call_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_SetScientistPosGameClear
end
-Route119_WeatherInstitute_2F_EventScript_26FF44:: @ 826FF44
+Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaHere:: @ 826FF44
setobjectxyperm 5, 1, 6
setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT
return
-Route119_WeatherInstitute_2F_EventScript_26FF50:: @ 826FF50
+Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaGone:: @ 826FF50
setobjectxyperm 5, 4, 6
setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT
return
-Route119_WeatherInstitute_2F_EventScript_26FF5C:: @ 826FF5C
+Route119_WeatherInstitute_2F_EventScript_SetScientistPosGameClear:: @ 826FF5C
setobjectxyperm 5, 2, 2
setobjectmovementtype 5, MOVEMENT_TYPE_FACE_UP
return
-Route119_WeatherInstitute_2F_EventScript_26FF68:: @ 826FF68
- trainerbattle_single TRAINER_GRUNT_37, Route119_WeatherInstitute_2F_Text_270335, Route119_WeatherInstitute_2F_Text_27039F
- msgbox Route119_WeatherInstitute_2F_Text_2703C0, MSGBOX_AUTOCLOSE
+Route119_WeatherInstitute_2F_EventScript_Grunt5:: @ 826FF68
+ trainerbattle_single TRAINER_GRUNT_WEATHER_INST_5, Route119_WeatherInstitute_2F_Text_Grunt5Intro, Route119_WeatherInstitute_2F_Text_Grunt5Defeat
+ msgbox Route119_WeatherInstitute_2F_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE
end
-Route119_WeatherInstitute_2F_EventScript_26FF7F:: @ 826FF7F
- trainerbattle_single TRAINER_GRUNT_12, Route119_WeatherInstitute_2F_Text_27019C, Route119_WeatherInstitute_2F_Text_270208
- msgbox Route119_WeatherInstitute_2F_Text_27022B, MSGBOX_AUTOCLOSE
+Route119_WeatherInstitute_2F_EventScript_Grunt2:: @ 826FF7F
+ trainerbattle_single TRAINER_GRUNT_WEATHER_INST_2, Route119_WeatherInstitute_2F_Text_Grunt2Intro, Route119_WeatherInstitute_2F_Text_Grunt2Defeat
+ msgbox Route119_WeatherInstitute_2F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE
end
-Route119_WeatherInstitute_2F_EventScript_26FF96:: @ 826FF96
- trainerbattle_single TRAINER_GRUNT_13, Route119_WeatherInstitute_2F_Text_270292, Route119_WeatherInstitute_2F_Text_2702CE
- msgbox Route119_WeatherInstitute_2F_Text_2702DA, MSGBOX_AUTOCLOSE
+Route119_WeatherInstitute_2F_EventScript_Grunt3:: @ 826FF96
+ trainerbattle_single TRAINER_GRUNT_WEATHER_INST_3, Route119_WeatherInstitute_2F_Text_Grunt3Intro, Route119_WeatherInstitute_2F_Text_Grunt3Defeat
+ msgbox Route119_WeatherInstitute_2F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE
end
-Route119_WeatherInstitute_2F_EventScript_26FFAD:: @ 826FFAD
- trainerbattle_single TRAINER_SHELLY_1, Route119_WeatherInstitute_2F_Text_270409, Route119_WeatherInstitute_2F_Text_2704BD, Route119_WeatherInstitute_2F_EventScript_26FFC8
- msgbox Route119_WeatherInstitute_2F_Text_2704E4, MSGBOX_AUTOCLOSE
+Route119_WeatherInstitute_2F_EventScript_Shelly:: @ 826FFAD
+ trainerbattle_single TRAINER_SHELLY_WEATHER_INSTITUTE, Route119_WeatherInstitute_2F_Text_ShellyIntro, Route119_WeatherInstitute_2F_Text_ShellyDefeat, Route119_WeatherInstitute_2F_EventScript_ShellyDefeated
+ msgbox Route119_WeatherInstitute_2F_Text_ShellyPostBattle, MSGBOX_AUTOCLOSE
end
-Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
- msgbox Route119_WeatherInstitute_2F_Text_2704E4, MSGBOX_DEFAULT
+Route119_WeatherInstitute_2F_EventScript_ShellyDefeated:: @ 826FFC8
+ msgbox Route119_WeatherInstitute_2F_Text_ShellyPostBattle, MSGBOX_DEFAULT
closemessage
- addobject 7
- applymovement 7, Route119_WeatherInstitute_2F_Movement_270170
- applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_27017C
+ addobject 7 @ Aqua grunt
+ applymovement 7, Route119_WeatherInstitute_2F_Movement_GruntApproachShelly
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_ShovePlayerOutOfWay
waitmovement 0
- msgbox Route119_WeatherInstitute_2F_Text_270568, MSGBOX_DEFAULT
+ msgbox Route119_WeatherInstitute_2F_Text_TeamMagmaJustPassedBy, MSGBOX_DEFAULT
closemessage
playse SE_PIN
applymovement 3, Common_Movement_ExclamationMark
waitmovement 0
applymovement 3, Common_Movement_Delay48
waitmovement 0
- msgbox Route119_WeatherInstitute_2F_Text_2705DD, MSGBOX_DEFAULT
+ msgbox Route119_WeatherInstitute_2F_Text_WeHaveToHurryToMtPyre, MSGBOX_DEFAULT
closemessage
setvar VAR_WEATHER_INSTITUTE_STATE, 1
clearflag FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS
fadedefaultbgm
- fadescreen 1
+ fadescreen FADE_TO_BLACK
setflag FLAG_HIDE_ROUTE_119_TEAM_AQUA
setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M
removeobject 1
@@ -72,106 +72,104 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
removeobject 3
removeobject 8
removeobject 7
- applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_270184
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_PlayerReturnToPosition
waitmovement 0
- fadescreen 0
- applymovement 5, Route119_WeatherInstitute_2F_Movement_270187
+ fadescreen FADE_FROM_BLACK
+ applymovement 5, Route119_WeatherInstitute_2F_Movement_ScientistApproachPlayer
waitmovement 0
copyobjectxytoperm 5
- goto Route119_WeatherInstitute_2F_EventScript_27004D
+ goto Route119_WeatherInstitute_2F_EventScript_ReceiveCastform
end
-Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D
- msgbox Route119_WeatherInstitute_2F_Text_270650, MSGBOX_DEFAULT
+Route119_WeatherInstitute_2F_EventScript_ReceiveCastform:: @ 827004D
+ msgbox Route119_WeatherInstitute_2F_Text_ThanksPleaseTakePokemon, MSGBOX_DEFAULT
setvar VAR_TEMP_1, SPECIES_CASTFORM
- givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0
+ givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER
compare VAR_RESULT, 0
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_270085
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty
compare VAR_RESULT, 1
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700AD
- goto Route119_WeatherInstitute_2F_EventScript_273811
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC
+ goto Common_EventScript_NoMoreRoomForPokemon
end
-Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085
- call Route119_WeatherInstitute_2F_EventScript_2700DB
+Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty:: @ 8270085
+ call Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700EA
- call Route119_WeatherInstitute_2F_EventScript_27378B
- call Common_EventScript_NameReceivedPokemon
- goto Route119_WeatherInstitute_2F_EventScript_2700EA
+ compare VAR_RESULT, NO
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_ExplainCastform
+ call Common_EventScript_GetGiftMonPartySlot
+ call Common_EventScript_NameReceivedPartyMon
+ goto Route119_WeatherInstitute_2F_EventScript_ExplainCastform
end
-Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD
- call Route119_WeatherInstitute_2F_EventScript_2700DB
+Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC:: @ 82700AD
+ call Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700D0
- call Route119_WeatherInstitute_2F_EventScript_273797
- goto Route119_WeatherInstitute_2F_EventScript_2700D0
+ compare VAR_RESULT, NO
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_SendCastformToPC
+ call Common_EventScript_NameReceivedBoxMon
+ goto Route119_WeatherInstitute_2F_EventScript_SendCastformToPC
end
-Route119_WeatherInstitute_2F_EventScript_2700D0:: @ 82700D0
- call Route119_WeatherInstitute_2F_EventScript_2737A0
- goto Route119_WeatherInstitute_2F_EventScript_2700EA
+Route119_WeatherInstitute_2F_EventScript_SendCastformToPC:: @ 82700D0
+ call Common_EventScript_TransferredToPC
+ goto Route119_WeatherInstitute_2F_EventScript_ExplainCastform
end
-Route119_WeatherInstitute_2F_EventScript_2700DB:: @ 82700DB
+Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare:: @ 82700DB
playfanfare MUS_FANFA4
- message Route119_WeatherInstitute_2F_Text_2706E8
+ message Route119_WeatherInstitute_2F_Text_PlayerReceivedCastform
waitmessage
waitfanfare
bufferspeciesname 0, SPECIES_CASTFORM
return
-Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA
- msgbox Route119_WeatherInstitute_2F_Text_2706FE, MSGBOX_DEFAULT
+Route119_WeatherInstitute_2F_EventScript_ExplainCastform:: @ 82700EA
+ msgbox Route119_WeatherInstitute_2F_Text_PokemonChangesWithWeather, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_CASTFORM
release
end
-Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7
- goto_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_TryStartUnusualWeather
- msgbox Route119_WeatherInstitute_2F_Text_27077E, MSGBOX_DEFAULT
+Route119_WeatherInstitute_2F_EventScript_ScientistMentionWeather:: @ 82700F7
+ goto_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_TryStartAbnormalWeather
+ msgbox Route119_WeatherInstitute_2F_Text_ChangingWeatherRidiculous, MSGBOX_DEFAULT
release
end
-Route119_WeatherInstitute_2F_EventScript_TryStartUnusualWeather:: @ 827010A
- @ This code uses VAR_0x8004 to count the number of legendaries the player has defeated
- @ already.
+Route119_WeatherInstitute_2F_EventScript_TryStartAbnormalWeather:: @ 827010A
setvar VAR_0x8004, 0
- call_if_set FLAG_DEFEATED_KYOGRE, WeatherInstitute_UnusualWeather_EventScript_IncrementLegendCount
- call_if_set FLAG_DEFEATED_GROUDON, WeatherInstitute_UnusualWeather_EventScript_IncrementLegendCount
- compare VAR_0x8004, 2
- goto_if_eq WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeated
- call_if_unset FLAG_TEMP_2, WeatherInstitute_UnusualWeather_EventScript_DoCreateUnusualWeather
- specialvar VAR_RESULT, GetUnusualWeatherMapNameAndType
+ call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated
+ call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated
+ compare VAR_0x8004, 2 @ Both defeated
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_NoAbnormalWeather
+ call_if_unset FLAG_TEMP_2, Route119_WeatherInstitute_2F_EventScript_CreateAbnormalWeather
+ specialvar VAR_RESULT, GetAbnormalWeatherMapNameAndType
compare VAR_RESULT, 1
- goto_if_eq WeatherInstitute_UnusualWeather_EventScript_ShowKyogreWeatherMessage
- msgbox WeatherInstitute_UnusualWeather_GroudonWeatherText, MSGBOX_DEFAULT
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_KyogreWeather
+ msgbox Route119_WeatherInstitute_2F_Text_GroudonWeather, MSGBOX_DEFAULT
release
end
-WeatherInstitute_UnusualWeather_EventScript_ShowKyogreWeatherMessage:: @ 827014F
- msgbox WeatherInstitute_UnusualWeather_KyogreWeatherText, MSGBOX_DEFAULT
+Route119_WeatherInstitute_2F_EventScript_KyogreWeather:: @ 827014F
+ msgbox Route119_WeatherInstitute_2F_Text_KyogreWeather, MSGBOX_DEFAULT
release
end
-WeatherInstitute_UnusualWeather_EventScript_DoCreateUnusualWeather:: @ 8270159
- special CreateUnusualWeatherEvent
+Route119_WeatherInstitute_2F_EventScript_CreateAbnormalWeather:: @ 8270159
+ special CreateAbnormalWeatherEvent
setflag FLAG_TEMP_2
return
-WeatherInstitute_UnusualWeather_EventScript_IncrementLegendCount:: @ 8270160
+Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated:: @ 8270160
addvar VAR_0x8004, 1
return
-WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeated:: @ 8270166
- msgbox WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeatedText, MSGBOX_DEFAULT
+Route119_WeatherInstitute_2F_EventScript_NoAbnormalWeather:: @ 8270166
+ msgbox Route119_WeatherInstitute_2F_Text_NoAbnormalWeather, MSGBOX_DEFAULT
release
end
-Route119_WeatherInstitute_2F_Movement_270170: @ 8270170
+Route119_WeatherInstitute_2F_Movement_GruntApproachShelly: @ 8270170
walk_fast_left
walk_fast_left
walk_fast_left
@@ -185,7 +183,7 @@ Route119_WeatherInstitute_2F_Movement_270170: @ 8270170
walk_fast_left
step_end
-Route119_WeatherInstitute_2F_Movement_27017C: @ 827017C
+Route119_WeatherInstitute_2F_Movement_ShovePlayerOutOfWay: @ 827017C
delay_16
delay_16
delay_16
@@ -195,66 +193,66 @@ Route119_WeatherInstitute_2F_Movement_27017C: @ 827017C
walk_in_place_fastest_down
step_end
-Route119_WeatherInstitute_2F_Movement_270184: @ 8270184
+Route119_WeatherInstitute_2F_Movement_PlayerReturnToPosition: @ 8270184
slide_down
walk_in_place_fastest_left
step_end
-Route119_WeatherInstitute_2F_Movement_270187: @ 8270187
+Route119_WeatherInstitute_2F_Movement_ScientistApproachPlayer: @ 8270187
walk_right
walk_right
walk_right
step_end
-Route119_WeatherInstitute_2F_EventScript_27018B:: @ 827018B
+Route119_WeatherInstitute_2F_EventScript_WeatherScientist:: @ 827018B
lock
faceplayer
- goto_if_set FLAG_RECEIVED_CASTFORM, Route119_WeatherInstitute_2F_EventScript_2700F7
- goto Route119_WeatherInstitute_2F_EventScript_27004D
+ goto_if_set FLAG_RECEIVED_CASTFORM, Route119_WeatherInstitute_2F_EventScript_ScientistMentionWeather
+ goto Route119_WeatherInstitute_2F_EventScript_ReceiveCastform
end
-Route119_WeatherInstitute_2F_Text_27019C: @ 827019C
+Route119_WeatherInstitute_2F_Text_Grunt2Intro: @ 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
+Route119_WeatherInstitute_2F_Text_Grunt2Defeat: @ 8270208
.string "Our plan's being spoiled by a kid?$"
-Route119_WeatherInstitute_2F_Text_27022B: @ 827022B
+Route119_WeatherInstitute_2F_Text_Grunt2PostBattle: @ 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
+Route119_WeatherInstitute_2F_Text_Grunt3Intro: @ 8270292
.string "We're TEAM AQUA!\n"
.string "We appear wherever anything rare is\l"
.string "found!$"
-Route119_WeatherInstitute_2F_Text_2702CE: @ 82702CE
+Route119_WeatherInstitute_2F_Text_Grunt3Defeat: @ 82702CE
.string "You got me!$"
-Route119_WeatherInstitute_2F_Text_2702DA: @ 82702DA
+Route119_WeatherInstitute_2F_Text_Grunt3PostBattle: @ 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
+Route119_WeatherInstitute_2F_Text_Grunt5Intro: @ 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
+Route119_WeatherInstitute_2F_Text_Grunt5Defeat: @ 827039F
.string "Oh, will you look at my POKéMON?$"
-Route119_WeatherInstitute_2F_Text_2703C0: @ 82703C0
+Route119_WeatherInstitute_2F_Text_Grunt5PostBattle: @ 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
+Route119_WeatherInstitute_2F_Text_ShellyIntro: @ 8270409
.string "Ahahahaha!\p"
.string "You're going to meddle in TEAM AQUA's\n"
.string "affairs?\p"
@@ -263,55 +261,56 @@ Route119_WeatherInstitute_2F_Text_270409: @ 8270409
.string "You're so cute, you're disgusting!\n"
.string "I'll put you down, kiddy!$"
-Route119_WeatherInstitute_2F_Text_2704BD: @ 82704BD
+Route119_WeatherInstitute_2F_Text_ShellyDefeat: @ 82704BD
.string "Ahahahaha!\n"
.string "You're disgustingly strong!$"
-Route119_WeatherInstitute_2F_Text_2704E4: @ 82704E4
+Route119_WeatherInstitute_2F_Text_ShellyPostBattle: @ 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
+Route119_WeatherInstitute_2F_Text_TeamMagmaJustPassedBy: @ 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
+Route119_WeatherInstitute_2F_Text_WeHaveToHurryToMtPyre: @ 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
+Route119_WeatherInstitute_2F_Text_ThanksPleaseTakePokemon: @ 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
+@ Unused
+Route119_WeatherInstitute_2F_Text_NoRoomForPokemon: @ 82706B2
.string "Hm? You don't seem to have any room\n"
.string "for this POKéMON.$"
-Route119_WeatherInstitute_2F_Text_2706E8: @ 82706E8
+Route119_WeatherInstitute_2F_Text_PlayerReceivedCastform: @ 82706E8
.string "{PLAYER} received CASTFORM!$"
-Route119_WeatherInstitute_2F_Text_2706FE: @ 82706FE
+Route119_WeatherInstitute_2F_Text_PokemonChangesWithWeather: @ 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
+Route119_WeatherInstitute_2F_Text_ChangingWeatherRidiculous: @ 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.$"
-WeatherInstitute_UnusualWeather_GroudonWeatherText: @ 82707F1
+Route119_WeatherInstitute_2F_Text_GroudonWeather: @ 82707F1
.string "I track weather patterns over\n"
.string "the HOENN region.\p"
.string "Presently, a drought has been recorded\n"
@@ -319,7 +318,7 @@ WeatherInstitute_UnusualWeather_GroudonWeatherText: @ 82707F1
.string "Could that mean, somewhere near\n"
.string "{STR_VAR_1}…$"
-WeatherInstitute_UnusualWeather_KyogreWeatherText: @ 8270873
+Route119_WeatherInstitute_2F_Text_KyogreWeather: @ 8270873
.string "I track weather patterns over\n"
.string "the HOENN region.\p"
.string "Presently, heavy rainfall has been\n"
@@ -327,7 +326,7 @@ WeatherInstitute_UnusualWeather_KyogreWeatherText: @ 8270873
.string "Could that mean, somewhere near\n"
.string "{STR_VAR_1}…$"
-WeatherInstitute_UnusualWeather_EventScript_ShowLegendariesAlreadyDefeatedText: @ 82708FC
+Route119_WeatherInstitute_2F_Text_NoAbnormalWeather: @ 82708FC
.string "Abnormal weather conditions are\n"
.string "no longer being reported.\p"
.string "The occasional rainfall is a blessing,\n"
diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json
index fccf5c88e..01c267a94 100644
--- a/data/maps/Route120/map.json
+++ b/data/maps/Route120/map.json
@@ -165,7 +165,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F57D7",
+ "script": "Route120_EventScript_Colin",
"flag": "0"
},
{
@@ -178,7 +178,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F57EE",
+ "script": "Route120_EventScript_Robert",
"flag": "0"
},
{
@@ -191,7 +191,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route120_EventScript_1F5850",
+ "script": "Route120_EventScript_Lorenzo",
"flag": "0"
},
{
@@ -204,7 +204,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route120_EventScript_1F5867",
+ "script": "Route120_EventScript_Jenna",
"flag": "0"
},
{
@@ -217,7 +217,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F587E",
+ "script": "Route120_EventScript_Jeffrey",
"flag": "0"
},
{
@@ -243,7 +243,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_28CE76",
+ "script": "GabbyAndTy_EventScript_TyBattle3",
"flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1"
},
{
@@ -256,7 +256,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_28CE56",
+ "script": "GabbyAndTy_EventScript_GabbyBattle3",
"flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1"
},
{
@@ -269,7 +269,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_28CF16",
+ "script": "GabbyAndTy_EventScript_GabbyBattle6",
"flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2"
},
{
@@ -282,7 +282,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_28CF36",
+ "script": "GabbyAndTy_EventScript_TyBattle6",
"flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2"
},
{
@@ -321,7 +321,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_1F5527",
+ "script": "Route120_EventScript_BerryBeauty",
"flag": "0"
},
{
@@ -334,7 +334,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route120_EventScript_1F58E0",
+ "script": "Route120_EventScript_Jennifer",
"flag": "0"
},
{
@@ -347,7 +347,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route120_EventScript_1F58F7",
+ "script": "Route120_EventScript_Chip",
"flag": "0"
},
{
@@ -360,7 +360,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route120_EventScript_1F590E",
+ "script": "Route120_EventScript_Clarissa",
"flag": "0"
},
{
@@ -373,7 +373,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F5925",
+ "script": "Route120_EventScript_Angelica",
"flag": "0"
},
{
@@ -412,8 +412,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_1F57BC",
- "flag": "FLAG_HIDE_ROUTE_120_KECLEON_1"
+ "script": "Route120_EventScript_InvisibleBridgeKecleon",
+ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE"
},
{
"graphics_id": "EVENT_OBJ_GFX_STEVEN",
@@ -425,7 +425,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_1F5641",
+ "script": "Route120_EventScript_Steven",
"flag": "FLAG_HIDE_ROUTE_120_STEVEN"
},
{
@@ -464,7 +464,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F593C",
+ "script": "Route120_EventScript_Keigo",
"flag": "0"
},
{
@@ -477,7 +477,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F5953",
+ "script": "Route120_EventScript_Riley",
"flag": "0"
},
{
@@ -491,7 +491,7 @@
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
"script": "0x0",
- "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE"
+ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE"
},
{
"graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
@@ -503,8 +503,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_2722DB",
- "flag": "FLAG_HIDE_ROUTE_120_KECLEON_2"
+ "script": "Route120_EventScript_Kecleon1",
+ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_1"
},
{
"graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
@@ -516,8 +516,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_2722E8",
- "flag": "FLAG_HIDE_ROUTE_120_KECLEON_3"
+ "script": "Route120_EventScript_Kecleon2",
+ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_2"
},
{
"graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
@@ -529,8 +529,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_2722F5",
- "flag": "FLAG_HIDE_ROUTE_120_KECLEON_4"
+ "script": "Route120_EventScript_Kecleon3",
+ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_3"
},
{
"graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
@@ -542,8 +542,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_27230F",
- "flag": "FLAG_HIDE_ROUTE_120_KECLEON_6"
+ "script": "Route120_EventScript_Kecleon5",
+ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_5"
},
{
"graphics_id": "EVENT_OBJ_GFX_KECLEON_1",
@@ -555,8 +555,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route120_EventScript_272302",
- "flag": "FLAG_HIDE_ROUTE_120_KECLEON_5"
+ "script": "Route120_EventScript_Kecleon4",
+ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_4"
},
{
"graphics_id": "EVENT_OBJ_GFX_GIRL_3",
@@ -568,7 +568,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F5981",
+ "script": "Route120_EventScript_Callie",
"flag": "0"
},
{
@@ -581,7 +581,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route120_EventScript_1F596A",
+ "script": "Route120_EventScript_Leonel",
"flag": "0"
},
{
@@ -620,63 +620,63 @@
"x": 7,
"y": 15,
"elevation": 0,
- "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ "weather": "COORD_EVENT_WEATHER_RAIN"
},
{
"type": "weather",
"x": 7,
"y": 16,
"elevation": 0,
- "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ "weather": "COORD_EVENT_WEATHER_RAIN"
},
{
"type": "weather",
"x": 22,
"y": 61,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ "weather": "COORD_EVENT_WEATHER_RAIN"
},
{
"type": "weather",
"x": 12,
"y": 64,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_RAIN_LIGHT"
+ "weather": "COORD_EVENT_WEATHER_RAIN"
},
{
"type": "weather",
"x": 35,
"y": 63,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 36,
"y": 63,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 37,
"y": 63,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 38,
"y": 63,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 32,
"y": 88,
"elevation": 5,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
@@ -704,49 +704,49 @@
"x": 32,
"y": 89,
"elevation": 5,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 32,
"y": 90,
"elevation": 5,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 32,
"y": 91,
"elevation": 5,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 10,
"y": 75,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 11,
"y": 75,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 12,
"y": 75,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
},
{
"type": "weather",
"x": 13,
"y": 75,
"elevation": 3,
- "weather": "COORD_EVENT_WEATHER_CLOUDS"
+ "weather": "COORD_EVENT_WEATHER_SUNNY_CLOUDS"
}
],
"bg_events": [
@@ -756,7 +756,7 @@
"y": 3,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route120_EventScript_1F57C5"
+ "script": "Route120_EventScript_RouteSignFortree"
},
{
"type": "sign",
@@ -764,7 +764,7 @@
"y": 88,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route120_EventScript_1F57CE"
+ "script": "Route120_EventScript_RouteSign121"
},
{
"type": "secret_base",
diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc
index fdd302fdb..2c97da9e1 100644
--- a/data/maps/Route120/scripts.inc
+++ b/data/maps/Route120/scripts.inc
@@ -1,209 +1,209 @@
Route120_MapScripts:: @ 81F53EC
- map_script MAP_SCRIPT_ON_RESUME, Route120_MapScript1_1F53FC
+ map_script MAP_SCRIPT_ON_RESUME, Route120_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Route120_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route120_MapScript1_1F5474
+ map_script MAP_SCRIPT_ON_LOAD, Route120_OnLoad
.byte 0
-Route120_MapScript1_1F53FC: @ 81F53FC
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_1F5406
+Route120_OnResume: @ 81F53FC
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_RemoveKecleonObject
end
-Route120_EventScript_1F5406:: @ 81F5406
+Route120_EventScript_RemoveKecleonObject:: @ 81F5406
compare VAR_0x8009, 0
- call_if_eq Route120_EventScript_1F5449
+ call_if_eq Route120_EventScript_RemoveBridgeKecleon
compare VAR_0x8009, 1
- call_if_eq Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_RemoveKecleon
compare VAR_0x8009, 2
- call_if_eq Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_RemoveKecleon
compare VAR_0x8009, 3
- call_if_eq Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_RemoveKecleon
compare VAR_0x8009, 4
- call_if_eq Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_RemoveKecleon
compare VAR_0x8009, 5
- call_if_eq Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_RemoveKecleon
return
-Route120_EventScript_1F5449:: @ 81F5449
+Route120_EventScript_RemoveBridgeKecleon:: @ 81F5449
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
- removeobject 30
- removeobject 36
+ removeobject 30 @ Invisible Bridge Kecleon
+ removeobject 36 @ Visible Bridge Kecleon
return
-Route120_EventScript_1F5460:: @ 81F5460
+Route120_EventScript_RemoveKecleon:: @ 81F5460
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
-Route120_MapScript1_1F5474: @ 81F5474
- call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_1F5490
- call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54A3
- call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_1F54C8
+Route120_OnLoad: @ 81F5474
+ call_if_unset FLAG_REGI_DOORS_OPENED, Route120_EventScript_CloseAncientTomb
+ call_if_set FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_SetBridgeClearMetatiles
+ call_if_unset FLAG_RECEIVED_DEVON_SCOPE, Route120_EventScript_SetBridgeKecleonMovement
end
-Route120_EventScript_1F5490:: @ 81F5490
+Route120_EventScript_CloseAncientTomb:: @ 81F5490
setmetatile 7, 54, METATILE_General_RockWall_RockBase, 1
setmetatile 7, 55, METATILE_General_RockWall_SandBase, 1
return
-Route120_EventScript_1F54A3:: @ 81F54A3
- setmetatile 13, 15, METATILE_Fortree_WoodBridge_Kecleon0, 0
- setmetatile 12, 16, METATILE_Fortree_WoodBridge_Kecleon1, 0
+Route120_EventScript_SetBridgeClearMetatiles:: @ 81F54A3
+ setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, 0
+ setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, 0
setmetatile 12, 17, METATILE_General_ReflectiveWater, 0
setmetatile 13, 17, METATILE_General_ReflectiveWater, 0
return
-Route120_EventScript_1F54C8:: @ 81F54C8
+Route120_EventScript_SetBridgeKecleonMovement:: @ 81F54C8
setobjectmovementtype 36, MOVEMENT_TYPE_FACE_RIGHT
return
Route120_OnTransition: @ 81F54CD
- call Route120_EventScript_28CCC7
- call Route120_EventScript_1F54D8
+ call GabbyAndTy_EventScript_UpdateLocation
+ call Route120_EventScript_SetWeather
end
-Route120_EventScript_1F54D8:: @ 81F54D8
+Route120_EventScript_SetWeather:: @ 81F54D8
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 14
- goto_if_le Route120_EventScript_1F5503
+ goto_if_le Route120_EventScript_SetSunnyWeather
compare VAR_TEMP_1, 60
- goto_if_le Route120_EventScript_1F5507
+ goto_if_le Route120_EventScript_TrySetRainyWeather
compare VAR_TEMP_1, 61
- goto_if_ge Route120_EventScript_1F54FF
+ goto_if_ge Route120_EventScript_SetCloudyWeather
return
-Route120_EventScript_1F54FF:: @ 81F54FF
- setweather WEATHER_CLOUDS
+Route120_EventScript_SetCloudyWeather:: @ 81F54FF
+ setweather WEATHER_SUNNY_CLOUDS
return
-Route120_EventScript_1F5503:: @ 81F5503
+Route120_EventScript_SetSunnyWeather:: @ 81F5503
setweather WEATHER_SUNNY
return
-Route120_EventScript_1F5507:: @ 81F5507
+Route120_EventScript_TrySetRainyWeather:: @ 81F5507
compare VAR_TEMP_0, 7
- goto_if_le Route120_EventScript_1F5523
+ goto_if_le Route120_EventScript_SetRainyWeather
compare VAR_TEMP_0, 19
- goto_if_le Route120_EventScript_1F5503
- goto Route120_EventScript_1F5523
+ goto_if_le Route120_EventScript_SetSunnyWeather
+ goto Route120_EventScript_SetRainyWeather
end
-Route120_EventScript_1F5523:: @ 81F5523
- setweather WEATHER_RAIN_LIGHT
+Route120_EventScript_SetRainyWeather:: @ 81F5523
+ setweather WEATHER_RAIN
return
-Route120_EventScript_1F5527:: @ 81F5527
+Route120_EventScript_BerryBeauty:: @ 81F5527
lock
faceplayer
dotimebasedevents
- goto_if_set FLAG_DAILY_ROUTE_120_RECEIVED_BERRY, Route120_EventScript_1F5625
- msgbox Route120_Text_2A70C7, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq Route120_EventScript_1F562F
- compare VAR_RESULT, 0
- call_if_eq Route120_EventScript_1F5638
+ goto_if_set FLAG_DAILY_ROUTE_120_RECEIVED_BERRY, Route120_EventScript_ReceivedBerry
+ msgbox Route120_Text_BerriesExpressionOfLoveIsntIt, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq Route120_EventScript_BerryLove
+ compare VAR_RESULT, NO
+ call_if_eq Route120_EventScript_BerryNotLove
specialvar VAR_RESULT, GetPlayerTrainerIdOnesDigit
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
+ case 0, Route120_EventScript_GiveFigyBerry
+ case 5, Route120_EventScript_GiveFigyBerry
+ case 1, Route120_EventScript_GiveWikiBerry
+ case 6, Route120_EventScript_GiveWikiBerry
+ case 2, Route120_EventScript_GiveMagoBerry
+ case 7, Route120_EventScript_GiveMagoBerry
+ case 3, Route120_EventScript_GiveAguavBerry
+ case 8, Route120_EventScript_GiveAguavBerry
+ case 4, Route120_EventScript_GiveIapapaBerry
+ case 9, Route120_EventScript_GiveIapapaBerry
end
-Route120_EventScript_1F55CA:: @ 81F55CA
- setvar VAR_0x8004, 143
- goto Route120_EventScript_1F5601
+Route120_EventScript_GiveFigyBerry:: @ 81F55CA
+ setvar VAR_0x8004, ITEM_FIGY_BERRY
+ goto Route120_EventScript_GiveBerry
end
-Route120_EventScript_1F55D5:: @ 81F55D5
- setvar VAR_0x8004, 144
- goto Route120_EventScript_1F5601
+Route120_EventScript_GiveWikiBerry:: @ 81F55D5
+ setvar VAR_0x8004, ITEM_WIKI_BERRY
+ goto Route120_EventScript_GiveBerry
end
-Route120_EventScript_1F55E0:: @ 81F55E0
- setvar VAR_0x8004, 145
- goto Route120_EventScript_1F5601
+Route120_EventScript_GiveMagoBerry:: @ 81F55E0
+ setvar VAR_0x8004, ITEM_MAGO_BERRY
+ goto Route120_EventScript_GiveBerry
end
-Route120_EventScript_1F55EB:: @ 81F55EB
- setvar VAR_0x8004, 146
- goto Route120_EventScript_1F5601
+Route120_EventScript_GiveAguavBerry:: @ 81F55EB
+ setvar VAR_0x8004, ITEM_AGUAV_BERRY
+ goto Route120_EventScript_GiveBerry
end
-Route120_EventScript_1F55F6:: @ 81F55F6
- setvar VAR_0x8004, 147
- goto Route120_EventScript_1F5601
+Route120_EventScript_GiveIapapaBerry:: @ 81F55F6
+ setvar VAR_0x8004, ITEM_IAPAPA_BERRY
+ goto Route120_EventScript_GiveBerry
end
-Route120_EventScript_1F5601:: @ 81F5601
- giveitem_std VAR_0x8004
+Route120_EventScript_GiveBerry:: @ 81F5601
+ giveitem VAR_0x8004
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_ROUTE_120_RECEIVED_BERRY
- msgbox Route120_Text_2A71D5, MSGBOX_DEFAULT
+ msgbox Route120_Text_BerryIsRareRaiseItWithCare, MSGBOX_DEFAULT
release
end
-Route120_EventScript_1F5625:: @ 81F5625
- msgbox Route120_Text_2A7217, MSGBOX_DEFAULT
+Route120_EventScript_ReceivedBerry:: @ 81F5625
+ msgbox Route120_Text_IllGetMoreBerriesFromBerryMaster, MSGBOX_DEFAULT
release
end
-Route120_EventScript_1F562F:: @ 81F562F
- msgbox Route120_Text_2A7147, MSGBOX_DEFAULT
+Route120_EventScript_BerryLove:: @ 81F562F
+ msgbox Route120_Text_YesYouUnderstand, MSGBOX_DEFAULT
return
-Route120_EventScript_1F5638:: @ 81F5638
- msgbox Route120_Text_2A7183, MSGBOX_DEFAULT
+Route120_EventScript_BerryNotLove:: @ 81F5638
+ msgbox Route120_Text_MakeYourOwnImpressions, MSGBOX_DEFAULT
return
-Route120_EventScript_1F5641:: @ 81F5641
+Route120_EventScript_Steven:: @ 81F5641
lock
faceplayer
- goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE_120, Route120_EventScript_1F5672
- msgbox Route120_Text_1F5998, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route120_EventScript_1F5665
- goto Route120_EventScript_1F568B
+ goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE_120, Route120_EventScript_StevenAskReadyForBattle
+ msgbox Route120_Text_StevenGreeting, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route120_EventScript_StevenNotReady
+ goto Route120_EventScript_StevenBattleKecleon
end
-Route120_EventScript_1F5665:: @ 81F5665
- msgbox Route120_Text_1F5AAC, MSGBOX_DEFAULT
+Route120_EventScript_StevenNotReady:: @ 81F5665
+ msgbox Route120_Text_StevenIllWaitHere, MSGBOX_DEFAULT
setflag FLAG_NOT_READY_FOR_BATTLE_ROUTE_120
release
end
-Route120_EventScript_1F5672:: @ 81F5672
- msgbox Route120_Text_1F5ADE, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route120_EventScript_1F5665
- goto Route120_EventScript_1F568B
+Route120_EventScript_StevenAskReadyForBattle:: @ 81F5672
+ msgbox Route120_Text_StevenReadyForBattle, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route120_EventScript_StevenNotReady
+ goto Route120_EventScript_StevenBattleKecleon
end
-Route120_EventScript_1F568B:: @ 81F568B
- msgbox Route120_Text_1F5B0F, MSGBOX_DEFAULT
+Route120_EventScript_StevenBattleKecleon:: @ 81F568B
+ msgbox Route120_Text_StevenShowMeYourPower, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq Route120_EventScript_1F57A3
- compare VAR_FACING, 3
- call_if_eq Route120_EventScript_1F57AE
- applymovement 31, Common_Movement_WalkInPlaceLeft
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq Route120_EventScript_PlayerApproachKecleonNorth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq Route120_EventScript_PlayerApproachKecleonWest
+ applymovement 31, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 20
- msgbox Route120_Text_1F5B43, MSGBOX_DEFAULT
+ msgbox Route120_Text_StevenUsedDevonScope, MSGBOX_DEFAULT
closemessage
- applymovement 30, Common_Movement_WalkInPlaceRight
+ applymovement 30, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- applymovement 30, Route120_Movement_2723C7
+ applymovement 30, Movement_KecleonAppears
waitmovement 0
waitse
playmoncry SPECIES_KECLEON, 2
@@ -215,33 +215,33 @@ Route120_EventScript_1F568B:: @ 81F568B
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq Route120_EventScript_1F571C
- compare VAR_RESULT, 4
- goto_if_eq Route120_EventScript_1F571C
- compare VAR_RESULT, 5
- goto_if_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, Common_Movement_WalkInPlaceDown
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle
+ goto Route120_EventScript_StevenGiveDeconScope
+ end
+
+Route120_EventScript_RemoveBridgeKecleonPostBattle:: @ 81F571C
+ fadescreenswapbuffers FADE_TO_BLACK
+ removeobject 30 @ Invisible Bridge Kecleon
+ removeobject 36 @ Visible Bridge Kecleon
+ fadescreenswapbuffers FADE_FROM_BLACK
+ goto Route120_EventScript_StevenGiveDeconScope
+ end
+
+Route120_EventScript_StevenGiveDeconScope:: @ 81F572C
+ applymovement 31, Common_Movement_WalkInPlaceFastestDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT
- giveitem_std ITEM_DEVON_SCOPE
+ msgbox Route120_Text_StevenGiveDevonScope, MSGBOX_DEFAULT
+ giveitem ITEM_DEVON_SCOPE
setflag FLAG_RECEIVED_DEVON_SCOPE
- msgbox Route120_Text_1F5C7B, MSGBOX_DEFAULT
+ msgbox Route120_Text_StevenGoodbye, MSGBOX_DEFAULT
closemessage
- applymovement 31, Common_Movement_WalkInPlaceDown
+ applymovement 31, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 50
setfieldeffectargument 0, 1
@@ -249,141 +249,141 @@ Route120_EventScript_1F572C:: @ 81F572C
delay 15
removeobject 31
waitfieldeffect FLDEFF_NPCFLY_OUT
- setmetatile 13, 15, METATILE_Fortree_WoodBridge_Kecleon0, 0
- setmetatile 12, 16, METATILE_Fortree_WoodBridge_Kecleon1, 0
+ setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, 0
+ setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, 0
setmetatile 12, 17, METATILE_General_ReflectiveWater, 0
setmetatile 13, 17, METATILE_General_ReflectiveWater, 0
special DrawWholeMapView
release
end
-Route120_EventScript_1F57A3:: @ 81F57A3
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+Route120_EventScript_PlayerApproachKecleonNorth:: @ 81F57A3
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-Route120_EventScript_1F57AE:: @ 81F57AE
- applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_1F57B9
+Route120_EventScript_PlayerApproachKecleonWest:: @ 81F57AE
+ applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_ApproachKecleonWest
waitmovement 0
return
-Route120_Movement_1F57B9: @ 81F57B9
+Route120_Movement_ApproachKecleonWest: @ 81F57B9
walk_down
walk_left
step_end
-Route120_EventScript_1F57BC:: @ 81F57BC
- msgbox Route120_Text_1F5D00, MSGBOX_NPC
+Route120_EventScript_InvisibleBridgeKecleon:: @ 81F57BC
+ msgbox Kecleon_Text_SomethingUnseeable, MSGBOX_NPC
end
-Route120_EventScript_1F57C5:: @ 81F57C5
- msgbox Route120_Text_1F5DCB, MSGBOX_SIGN
+Route120_EventScript_RouteSignFortree:: @ 81F57C5
+ msgbox Route120_Text_RouteSignFortree, MSGBOX_SIGN
end
-Route120_EventScript_1F57CE:: @ 81F57CE
- msgbox Route120_Text_1F5DE4, MSGBOX_SIGN
+Route120_EventScript_RouteSign121:: @ 81F57CE
+ msgbox Route120_Text_RouteSign121, MSGBOX_SIGN
end
-Route120_EventScript_1F57D7:: @ 81F57D7
- trainerbattle_single TRAINER_COLIN, Route120_Text_29E62D, Route120_Text_29E665
- msgbox Route120_Text_29E67A, MSGBOX_AUTOCLOSE
+Route120_EventScript_Colin:: @ 81F57D7
+ trainerbattle_single TRAINER_COLIN, Route120_Text_ColinIntro, Route120_Text_ColinDefeat
+ msgbox Route120_Text_ColinPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F57EE:: @ 81F57EE
- trainerbattle_single TRAINER_ROBERT_1, Route120_Text_29E6E3, Route120_Text_29E70A, Route120_EventScript_1F581A
+Route120_EventScript_Robert:: @ 81F57EE
+ trainerbattle_single TRAINER_ROBERT_1, Route120_Text_RobertIntro, Route120_Text_RobertDefeat, Route120_EventScript_RegisterRobert
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route120_EventScript_1F5839
- msgbox Route120_Text_29E726, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route120_EventScript_RematchRobert
+ msgbox Route120_Text_RobertPostBattle, MSGBOX_DEFAULT
release
end
-Route120_EventScript_1F581A:: @ 81F581A
- special sub_80B4808
+Route120_EventScript_RegisterRobert:: @ 81F581A
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route120_Text_29E75D, MSGBOX_DEFAULT
+ msgbox Route120_Text_RobertRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ROBERT_1
release
end
-Route120_EventScript_1F5839:: @ 81F5839
- trainerbattle_rematch TRAINER_ROBERT_1, Route120_Text_29E7AA, Route120_Text_29E7E1
- msgbox Route120_Text_29E804, MSGBOX_AUTOCLOSE
+Route120_EventScript_RematchRobert:: @ 81F5839
+ trainerbattle_rematch TRAINER_ROBERT_1, Route120_Text_RobertRematchIntro, Route120_Text_RobertRematchDefeat
+ msgbox Route120_Text_RobertPostRematch, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F5850:: @ 81F5850
- trainerbattle_single TRAINER_LORENZO, Route120_Text_29E843, Route120_Text_29E884
- msgbox Route120_Text_29E8C5, MSGBOX_AUTOCLOSE
+Route120_EventScript_Lorenzo:: @ 81F5850
+ trainerbattle_single TRAINER_LORENZO, Route120_Text_LorenzoIntro, Route120_Text_LorenzoDefeat
+ msgbox Route120_Text_LorenzoPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F5867:: @ 81F5867
- trainerbattle_single TRAINER_JENNA, Route120_Text_29E91C, Route120_Text_29E980
- msgbox Route120_Text_29E996, MSGBOX_AUTOCLOSE
+Route120_EventScript_Jenna:: @ 81F5867
+ trainerbattle_single TRAINER_JENNA, Route120_Text_JennaIntro, Route120_Text_JennaDefeat
+ msgbox Route120_Text_JennaPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F587E:: @ 81F587E
- trainerbattle_single TRAINER_JEFFREY_1, Route120_Text_29E9D7, Route120_Text_29E9FF, Route120_EventScript_1F58AA
+Route120_EventScript_Jeffrey:: @ 81F587E
+ trainerbattle_single TRAINER_JEFFREY_1, Route120_Text_JeffreyIntro, Route120_Text_JeffreyDefeat, Route120_EventScript_RegisterJeffrey
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route120_EventScript_1F58C9
- msgbox Route120_Text_29EA08, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route120_EventScript_RematchJeffrey
+ msgbox Route120_Text_JeffreyPostBattle, MSGBOX_DEFAULT
release
end
-Route120_EventScript_1F58AA:: @ 81F58AA
- special sub_80B4808
+Route120_EventScript_RegisterJeffrey:: @ 81F58AA
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route120_Text_29EA31, MSGBOX_DEFAULT
+ msgbox Route120_Text_JeffreyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_JEFFREY_1
release
end
-Route120_EventScript_1F58C9:: @ 81F58C9
- trainerbattle_rematch TRAINER_JEFFREY_1, Route120_Text_29EA61, Route120_Text_29EA8F
- msgbox Route120_Text_29EAA9, MSGBOX_AUTOCLOSE
+Route120_EventScript_RematchJeffrey:: @ 81F58C9
+ trainerbattle_rematch TRAINER_JEFFREY_1, Route120_Text_JeffreyRematchIntro, Route120_Text_JeffreyRematchDefeat
+ msgbox Route120_Text_JeffreyPostRematch, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F58E0:: @ 81F58E0
- trainerbattle_single TRAINER_JENNIFER, Route120_Text_29EAEF, Route120_Text_29EB53
- msgbox Route120_Text_29EB6E, MSGBOX_AUTOCLOSE
+Route120_EventScript_Jennifer:: @ 81F58E0
+ trainerbattle_single TRAINER_JENNIFER, Route120_Text_JenniferIntro, Route120_Text_JenniferDefeat
+ msgbox Route120_Text_JenniferPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F58F7:: @ 81F58F7
- trainerbattle_single TRAINER_CHIP, Route120_Text_29EBAF, Route120_Text_29EC25
- msgbox Route120_Text_29EC41, MSGBOX_AUTOCLOSE
+Route120_EventScript_Chip:: @ 81F58F7
+ trainerbattle_single TRAINER_CHIP, Route120_Text_ChipIntro, Route120_Text_ChipDefeat
+ msgbox Route120_Text_ChipPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F590E:: @ 81F590E
- trainerbattle_single TRAINER_CLARISSA, Route120_Text_29ECA6, Route120_Text_29ECEF
- msgbox Route120_Text_29ED19, MSGBOX_AUTOCLOSE
+Route120_EventScript_Clarissa:: @ 81F590E
+ trainerbattle_single TRAINER_CLARISSA, Route120_Text_ClarissaIntro, Route120_Text_ClarissaDefeat
+ msgbox Route120_Text_ClarissaPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F5925:: @ 81F5925
- trainerbattle_single TRAINER_ANGELICA, Route120_Text_29ED71, Route120_Text_29EDD3
- msgbox Route120_Text_29EDF7, MSGBOX_AUTOCLOSE
+Route120_EventScript_Angelica:: @ 81F5925
+ trainerbattle_single TRAINER_ANGELICA, Route120_Text_AngelicaIntro, Route120_Text_AngelicaDefeat
+ msgbox Route120_Text_AngelicaPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F593C:: @ 81F593C
- trainerbattle_single TRAINER_KEIGO, Route120_Text_29EE50, Route120_Text_29EE97
- msgbox Route120_Text_29EED4, MSGBOX_AUTOCLOSE
+Route120_EventScript_Keigo:: @ 81F593C
+ trainerbattle_single TRAINER_KEIGO, Route120_Text_KeigoIntro, Route120_Text_KeigoDefeat
+ msgbox Route120_Text_KeigoPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F5953:: @ 81F5953
- trainerbattle_single TRAINER_RILEY, Route120_Text_29EF08, Route120_Text_29EF63
- msgbox Route120_Text_29EF89, MSGBOX_AUTOCLOSE
+Route120_EventScript_Riley:: @ 81F5953
+ trainerbattle_single TRAINER_RILEY, Route120_Text_RileyIntro, Route120_Text_RileyDefeat
+ msgbox Route120_Text_RileyPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F596A:: @ 81F596A
- trainerbattle_single TRAINER_LEONEL, Route120_Text_29F04F, Route120_Text_29F080
- msgbox Route120_Text_29F0A1, MSGBOX_AUTOCLOSE
+Route120_EventScript_Leonel:: @ 81F596A
+ trainerbattle_single TRAINER_LEONEL, Route120_Text_LeonelIntro, Route120_Text_LeonelDefeat
+ msgbox Route120_Text_LeonelPostBattle, MSGBOX_AUTOCLOSE
end
-Route120_EventScript_1F5981:: @ 81F5981
- trainerbattle_single TRAINER_CALLIE, Route120_Text_29EFB1, Route120_Text_29EFE1
- msgbox Route120_Text_29F002, MSGBOX_AUTOCLOSE
+Route120_EventScript_Callie:: @ 81F5981
+ trainerbattle_single TRAINER_CALLIE, Route120_Text_CallieIntro, Route120_Text_CallieDefeat
+ msgbox Route120_Text_CalliePostBattle, MSGBOX_AUTOCLOSE
end
-Route120_Text_1F5998: @ 81F5998
+Route120_Text_StevenGreeting: @ 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"
@@ -396,25 +396,25 @@ Route120_Text_1F5998: @ 81F5998
.string "{PLAYER}{KUN}, are your POKéMON ready for\n"
.string "battle?$"
-Route120_Text_1F5AAC: @ 81F5AAC
+Route120_Text_StevenIllWaitHere: @ 81F5AAC
.string "STEVEN: No?\p"
.string "I'll wait here, so you can get ready.$"
-Route120_Text_1F5ADE: @ 81F5ADE
+Route120_Text_StevenReadyForBattle: @ 81F5ADE
.string "STEVEN: {PLAYER}{KUN}, are your POKéMON\n"
.string "ready for battle?$"
-Route120_Text_1F5B0F: @ 81F5B0F
+Route120_Text_StevenShowMeYourPower: @ 81F5B0F
.string "STEVEN: {PLAYER}{KUN}, show me your true\n"
.string "power as a TRAINER!$"
-Route120_Text_1F5B43: @ 81F5B43
+Route120_Text_StevenUsedDevonScope: @ 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
+Route120_Text_StevenGiveDevonScope: @ 81F5BAF
.string "STEVEN: I see…\n"
.string "Your battle style is intriguing.\p"
.string "Your POKéMON have obviously grown\n"
@@ -424,31 +424,30 @@ Route120_Text_1F5BAF: @ 81F5BAF
.string "Who knows, there may be other\n"
.string "concealed POKéMON.$"
-Route120_Text_1F5C7B: @ 81F5C7B
+Route120_Text_StevenGoodbye: @ 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
+Kecleon_Text_SomethingUnseeable: @ 81F5D00
.string "Something unseeable is in the way.$"
-Route119_Text_1F5D23: @ 81F5D23
+Kecleon_Text_WantToUseDevonScope: @ 81F5D23
.string "Something unseeable is in the way.\p"
.string "Want to use the DEVON SCOPE?$"
-Route119_Text_1F5D63: @ 81F5D63
+Kecleon_Text_UseDevonScopeMonAttacked: @ 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
+Route120_Text_RouteSignFortree: @ 81F5DCB
.string "ROUTE 120\n"
.string "{LEFT_ARROW} FORTREE CITY$"
-Route120_Text_1F5DE4: @ 81F5DE4
+Route120_Text_RouteSign121: @ 81F5DE4
.string "{RIGHT_ARROW} ROUTE 121\n"
.string "{LEFT_ARROW} ROUTE 120$"
diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json
index 9382ab375..9d91c47d1 100644
--- a/data/maps/Route121/map.json
+++ b/data/maps/Route121/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_EventScript_1F5DFD",
+ "script": "Route121_EventScript_Woman",
"flag": "0"
},
{
@@ -157,7 +157,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route121_EventScript_1F5F04",
+ "script": "Route121_EventScript_Kate",
"flag": "0"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route121_EventScript_1F5F1F",
+ "script": "Route121_EventScript_Joy",
"flag": "0"
},
{
@@ -248,7 +248,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route121_EventScript_1F5E74",
+ "script": "Route121_EventScript_Vanessa",
"flag": "0"
},
{
@@ -261,7 +261,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route121_EventScript_1F5E8B",
+ "script": "Route121_EventScript_Walter",
"flag": "0"
},
{
@@ -274,7 +274,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route121_EventScript_1F5EED",
+ "script": "Route121_EventScript_Tammy",
"flag": "0"
},
{
@@ -287,7 +287,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route121_EventScript_1F5F3A",
+ "script": "Route121_EventScript_Jessica",
"flag": "0"
},
{
@@ -326,7 +326,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route121_EventScript_1F5F9C",
+ "script": "Route121_EventScript_Cale",
"flag": "0"
},
{
@@ -339,7 +339,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route121_EventScript_1F5FB3",
+ "script": "Route121_EventScript_Myles",
"flag": "0"
},
{
@@ -352,7 +352,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route121_EventScript_1F5FCA",
+ "script": "Route121_EventScript_Pat",
"flag": "0"
},
{
@@ -365,7 +365,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route121_EventScript_1F5FE1",
+ "script": "Route121_EventScript_Marcel",
"flag": "0"
},
{
@@ -378,7 +378,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route121_EventScript_1F5FF8",
+ "script": "Route121_EventScript_Cristin",
"flag": "0"
},
{
@@ -425,7 +425,7 @@
"elevation": 3,
"var": "VAR_ROUTE121_STATE",
"var_value": "0",
- "script": "Route121_EventScript_1F5E18"
+ "script": "Route121_EventScript_AquaGruntsMoveOut"
},
{
"type": "trigger",
@@ -434,7 +434,7 @@
"elevation": 3,
"var": "VAR_ROUTE121_STATE",
"var_value": "0",
- "script": "Route121_EventScript_1F5E18"
+ "script": "Route121_EventScript_AquaGruntsMoveOut"
},
{
"type": "trigger",
@@ -443,7 +443,7 @@
"elevation": 3,
"var": "VAR_ROUTE121_STATE",
"var_value": "0",
- "script": "Route121_EventScript_1F5E18"
+ "script": "Route121_EventScript_AquaGruntsMoveOut"
},
{
"type": "trigger",
@@ -452,7 +452,7 @@
"elevation": 3,
"var": "VAR_ROUTE121_STATE",
"var_value": "0",
- "script": "Route121_EventScript_1F5E18"
+ "script": "Route121_EventScript_AquaGruntsMoveOut"
}
],
"bg_events": [
@@ -462,7 +462,7 @@
"y": 14,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route121_EventScript_1F5E06"
+ "script": "Route121_EventScript_MtPyrePierSign"
},
{
"type": "secret_base",
@@ -498,7 +498,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route121_EventScript_1F5E0F"
+ "script": "Route121_EventScript_SafariZoneSign"
},
{
"type": "hidden_item",
diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc
index edca585c9..81330b6e8 100644
--- a/data/maps/Route121/scripts.inc
+++ b/data/maps/Route121/scripts.inc
@@ -1,28 +1,28 @@
Route121_MapScripts:: @ 81F5DFC
.byte 0
-Route121_EventScript_1F5DFD:: @ 81F5DFD
- msgbox Route121_Text_1F607F, MSGBOX_NPC
+Route121_EventScript_Woman:: @ 81F5DFD
+ msgbox Route121_Text_AheadLoomsMtPyre, MSGBOX_NPC
end
-Route121_EventScript_1F5E06:: @ 81F5E06
- msgbox Route121_Text_1F60D3, MSGBOX_SIGN
+Route121_EventScript_MtPyrePierSign:: @ 81F5E06
+ msgbox Route121_Text_MtPyrePierSign, MSGBOX_SIGN
end
-Route121_EventScript_1F5E0F:: @ 81F5E0F
- msgbox Route121_Text_1F611E, MSGBOX_SIGN
+Route121_EventScript_SafariZoneSign:: @ 81F5E0F
+ msgbox Route121_Text_SafariZoneSign, MSGBOX_SIGN
end
-Route121_EventScript_1F5E18:: @ 81F5E18
+Route121_EventScript_AquaGruntsMoveOut:: @ 81F5E18
lockall
playbgm MUS_AQA_0, 0
- applymovement 13, Route121_Movement_2725B8
+ applymovement 13, Common_Movement_WalkInPlaceRight
waitmovement 0
- msgbox Route121_Text_1F605A, MSGBOX_DEFAULT
+ msgbox Route121_Text_OkayMoveOutToMtPyre, MSGBOX_DEFAULT
closemessage
- applymovement 12, Route121_Movement_1F5E59
- applymovement 13, Route121_Movement_1F5E62
- applymovement 14, Route121_Movement_1F5E6B
+ applymovement 12, Route121_Movement_Grunt1Exit
+ applymovement 13, Route121_Movement_Grunt2Exit
+ applymovement 14, Route121_Movement_Grunt3Exit
waitmovement 0
fadedefaultbgm
removeobject 12
@@ -32,7 +32,7 @@ Route121_EventScript_1F5E18:: @ 81F5E18
releaseall
end
-Route121_Movement_1F5E59: @ 81F5E59
+Route121_Movement_Grunt1Exit: @ 81F5E59
walk_down
walk_down
walk_down
@@ -43,7 +43,7 @@ Route121_Movement_1F5E59: @ 81F5E59
walk_down
step_end
-Route121_Movement_1F5E62: @ 81F5E62
+Route121_Movement_Grunt2Exit: @ 81F5E62
walk_down
walk_down
walk_down
@@ -54,7 +54,7 @@ Route121_Movement_1F5E62: @ 81F5E62
walk_down
step_end
-Route121_Movement_1F5E6B: @ 81F5E6B
+Route121_Movement_Grunt3Exit: @ 81F5E6B
walk_down
walk_down
walk_down
@@ -65,127 +65,127 @@ Route121_Movement_1F5E6B: @ 81F5E6B
walk_down
step_end
-Route121_EventScript_1F5E74:: @ 81F5E74
- trainerbattle_single TRAINER_VANESSA, Route121_Text_29F0EC, Route121_Text_29F11F
- msgbox Route121_Text_29F138, MSGBOX_AUTOCLOSE
+Route121_EventScript_Vanessa:: @ 81F5E74
+ trainerbattle_single TRAINER_VANESSA, Route121_Text_VanessaIntro, Route121_Text_VanessaDefeat
+ msgbox Route121_Text_VanessaPostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5E8B:: @ 81F5E8B
- trainerbattle_single TRAINER_WALTER_1, Route121_Text_29F199, Route121_Text_29F20D, Route121_EventScript_1F5EB7
+Route121_EventScript_Walter:: @ 81F5E8B
+ trainerbattle_single TRAINER_WALTER_1, Route121_Text_WalterIntro, Route121_Text_WalterDefeat, Route121_EventScript_RegisterWalter
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route121_EventScript_1F5ED6
- msgbox Route121_Text_29F21E, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route121_EventScript_RematchWalter
+ msgbox Route121_Text_WalterPostBattle, MSGBOX_DEFAULT
release
end
-Route121_EventScript_1F5EB7:: @ 81F5EB7
- special sub_80B4808
+Route121_EventScript_RegisterWalter:: @ 81F5EB7
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route121_Text_29F25B, MSGBOX_DEFAULT
+ msgbox Route121_Text_WalterRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_WALTER_1
release
end
-Route121_EventScript_1F5ED6:: @ 81F5ED6
- trainerbattle_rematch TRAINER_WALTER_1, Route121_Text_29F2A6, Route121_Text_29F31A
- msgbox Route121_Text_29F32B, MSGBOX_AUTOCLOSE
+Route121_EventScript_RematchWalter:: @ 81F5ED6
+ trainerbattle_rematch TRAINER_WALTER_1, Route121_Text_WalterRematchIntro, Route121_Text_WalterRematchDefeat
+ msgbox Route121_Text_WalterPostRematch, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5EED:: @ 81F5EED
- trainerbattle_single TRAINER_TAMMY, Route121_Text_29F381, Route121_Text_29F3B9
- msgbox Route121_Text_29F3C6, MSGBOX_AUTOCLOSE
+Route121_EventScript_Tammy:: @ 81F5EED
+ trainerbattle_single TRAINER_TAMMY, Route121_Text_TammyIntro, Route121_Text_TammyDefeat
+ msgbox Route121_Text_TammyPostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5F04:: @ 81F5F04
- trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_29F3FB, Route121_Text_29F43F, Route121_Text_29F4C9
- msgbox Route121_Text_29F476, MSGBOX_AUTOCLOSE
+Route121_EventScript_Kate:: @ 81F5F04
+ trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_KateIntro, Route121_Text_KateDefeat, Route121_Text_KateNotEnoughMons
+ msgbox Route121_Text_KatePostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5F1F:: @ 81F5F1F
- trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_29F521, Route121_Text_29F564, Route121_Text_29F5CE
- msgbox Route121_Text_29F582, MSGBOX_AUTOCLOSE
+Route121_EventScript_Joy:: @ 81F5F1F
+ trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_JoyIntro, Route121_Text_JoyDefeat, Route121_Text_JoyNotEnoughMons
+ msgbox Route121_Text_JoyPostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5F3A:: @ 81F5F3A
- trainerbattle_single TRAINER_JESSICA_1, Route121_Text_29F612, Route121_Text_29F641, Route121_EventScript_1F5F66
+Route121_EventScript_Jessica:: @ 81F5F3A
+ trainerbattle_single TRAINER_JESSICA_1, Route121_Text_JessicaIntro, Route121_Text_JessicaDefeat, Route121_EventScript_RegisterJessica
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route121_EventScript_1F5F85
- msgbox Route121_Text_29F66F, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route121_EventScript_RematchJessica
+ msgbox Route121_Text_JessicaPostBattle, MSGBOX_DEFAULT
release
end
-Route121_EventScript_1F5F66:: @ 81F5F66
- special sub_80B4808
+Route121_EventScript_RegisterJessica:: @ 81F5F66
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route121_Text_29F69F, MSGBOX_DEFAULT
+ msgbox Route121_Text_JessicaRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_JESSICA_1
release
end
-Route121_EventScript_1F5F85:: @ 81F5F85
- trainerbattle_rematch TRAINER_JESSICA_1, Route121_Text_29F6E4, Route121_Text_29F710
- msgbox Route121_Text_29F740, MSGBOX_AUTOCLOSE
+Route121_EventScript_RematchJessica:: @ 81F5F85
+ trainerbattle_rematch TRAINER_JESSICA_1, Route121_Text_JessicaRematchIntro, Route121_Text_JessicaRematchDefeat
+ msgbox Route121_Text_JessicaPostRematch, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5F9C:: @ 81F5F9C
- trainerbattle_single TRAINER_CALE, Route121_Text_29F91A, Route121_Text_29F97B
- msgbox Route121_Text_29F9AE, MSGBOX_AUTOCLOSE
+Route121_EventScript_Cale:: @ 81F5F9C
+ trainerbattle_single TRAINER_CALE, Route121_Text_CaleIntro, Route121_Text_CaleDefeat
+ msgbox Route121_Text_CalePostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5FB3:: @ 81F5FB3
- trainerbattle_single TRAINER_MYLES, Route121_Text_29FA1E, Route121_Text_29FA64
- msgbox Route121_Text_29FA73, MSGBOX_AUTOCLOSE
+Route121_EventScript_Myles:: @ 81F5FB3
+ trainerbattle_single TRAINER_MYLES, Route121_Text_MylesIntro, Route121_Text_MylesDefeat
+ msgbox Route121_Text_MylesPostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5FCA:: @ 81F5FCA
- trainerbattle_single TRAINER_PAT, Route121_Text_29FAA7, Route121_Text_29FAD8
- msgbox Route121_Text_29FAEA, MSGBOX_AUTOCLOSE
+Route121_EventScript_Pat:: @ 81F5FCA
+ trainerbattle_single TRAINER_PAT, Route121_Text_PatIntro, Route121_Text_PatDefeat
+ msgbox Route121_Text_PatPostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5FE1:: @ 81F5FE1
- trainerbattle_single TRAINER_MARCEL, Route121_Text_29FB35, Route121_Text_29FB8C
- msgbox Route121_Text_29FBA8, MSGBOX_AUTOCLOSE
+Route121_EventScript_Marcel:: @ 81F5FE1
+ trainerbattle_single TRAINER_MARCEL, Route121_Text_MarcelIntro, Route121_Text_MarcelDefeat
+ msgbox Route121_Text_MarcelPostBattle, MSGBOX_AUTOCLOSE
end
-Route121_EventScript_1F5FF8:: @ 81F5FF8
- trainerbattle_single TRAINER_CRISTIN_1, Route121_Text_29F770, Route121_Text_29F7C1, Route121_EventScript_1F6024
+Route121_EventScript_Cristin:: @ 81F5FF8
+ trainerbattle_single TRAINER_CRISTIN_1, Route121_Text_CristinIntro, Route121_Text_CristinDefeat, Route121_EventScript_RegisterCristin
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route121_EventScript_1F6043
- msgbox Route121_Text_29F7D4, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route121_EventScript_RematchCristin
+ msgbox Route121_Text_CristinPostBattle, MSGBOX_DEFAULT
release
end
-Route121_EventScript_1F6024:: @ 81F6024
- special sub_80B4808
+Route121_EventScript_RegisterCristin:: @ 81F6024
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route121_Text_29F80D, MSGBOX_DEFAULT
+ msgbox Route121_Text_CristinRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_CRISTIN_1
release
end
-Route121_EventScript_1F6043:: @ 81F6043
- trainerbattle_rematch TRAINER_CRISTIN_1, Route121_Text_29F855, Route121_Text_29F8A8
- msgbox Route121_Text_29F8D0, MSGBOX_AUTOCLOSE
+Route121_EventScript_RematchCristin:: @ 81F6043
+ trainerbattle_rematch TRAINER_CRISTIN_1, Route121_Text_CristinRematchIntro, Route121_Text_CristinRematchDefeat
+ msgbox Route121_Text_CristinPostRematch, MSGBOX_AUTOCLOSE
end
-Route121_Text_1F605A: @ 81F605A
+Route121_Text_OkayMoveOutToMtPyre: @ 81F605A
.string "Okay!\n"
.string "We're to move out to MT. PYRE!$"
-Route121_Text_1F607F: @ 81F607F
+Route121_Text_AheadLoomsMtPyre: @ 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
+Route121_Text_MtPyrePierSign: @ 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
+Route121_Text_SafariZoneSign: @ 81F611E
.string "“Filled with rare POKéMON!”\n"
.string "SAFARI ZONE$"
diff --git a/data/maps/Route121_SafariZoneEntrance/map.json b/data/maps/Route121_SafariZoneEntrance/map.json
index 90eedd773..6cf7b5791 100644
--- a/data/maps/Route121_SafariZoneEntrance/map.json
+++ b/data/maps/Route121_SafariZoneEntrance/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_SafariZoneEntrance_EventScript_22BBE6",
+ "script": "Route121_SafariZoneEntrance_EventScript_WelcomeAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route121_SafariZoneEntrance_EventScript_22BBEF",
+ "script": "Route121_SafariZoneEntrance_EventScript_InfoAttendant",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "0",
- "script": "Route121_SafariZoneEntrance_EventScript_22BC18"
+ "script": "Route121_SafariZoneEntrance_EventScript_EntranceCounterTrigger"
}
],
"bg_events": [
@@ -102,7 +102,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route121_SafariZoneEntrance_EventScript_22BD21"
+ "script": "Route121_SafariZoneEntrance_EventScript_TrainerTipSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc
index 85b6c6c36..f29fe583e 100644
--- a/data/maps/Route121_SafariZoneEntrance/scripts.inc
+++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc
@@ -1,20 +1,20 @@
Route121_SafariZoneEntrance_MapScripts:: @ 822BBBB
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route121_SafariZoneEntrance_MapScript2_22BBC1
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route121_SafariZoneEntrance_OnFrame
.byte 0
-Route121_SafariZoneEntrance_MapScript2_22BBC1: @ 822BBC1
- map_script_2 VAR_SAFARI_ZONE_STATE, 1, Route121_SafariZoneEntrance_EventScript_22BBCB
+Route121_SafariZoneEntrance_OnFrame: @ 822BBC1
+ map_script_2 VAR_SAFARI_ZONE_STATE, 1, Route121_SafariZoneEntrance_EventScript_ExitSafariZone
.2byte 0
-Route121_SafariZoneEntrance_EventScript_22BBCB:: @ 822BBCB
+Route121_SafariZoneEntrance_EventScript_ExitSafariZone:: @ 822BBCB
lockall
- applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BBDD
+ applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_ExitSafariZone
waitmovement 0
setvar VAR_SAFARI_ZONE_STATE, 0
releaseall
end
-Route121_SafariZoneEntrance_Movement_22BBDD: @ 822BBDD
+Route121_SafariZoneEntrance_Movement_ExitSafariZone: @ 822BBDD
walk_up
walk_right
walk_right
@@ -25,59 +25,57 @@ Route121_SafariZoneEntrance_Movement_22BBDD: @ 822BBDD
walk_right
step_end
-Route121_SafariZoneEntrance_EventScript_22BBE6:: @ 822BBE6
- msgbox Route121_SafariZoneEntrance_Text_2A4D12, MSGBOX_NPC
+Route121_SafariZoneEntrance_EventScript_WelcomeAttendant:: @ 822BBE6
+ msgbox Route121_SafariZoneEntrance_Text_WelcomeToSafariZone, MSGBOX_NPC
end
-Route121_SafariZoneEntrance_EventScript_22BBEF:: @ 822BBEF
+Route121_SafariZoneEntrance_EventScript_InfoAttendant:: @ 822BBEF
lock
faceplayer
- msgbox Route121_SafariZoneEntrance_Text_2A4E46, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC0E
- msgbox Route121_SafariZoneEntrance_Text_2A4E7E, MSGBOX_DEFAULT
+ msgbox Route121_SafariZoneEntrance_Text_WelcomeFirstTime, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_FirstTimeInfo
+ msgbox Route121_SafariZoneEntrance_Text_ComeInAndEnjoy, MSGBOX_DEFAULT
release
end
-Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E
- msgbox Route121_SafariZoneEntrance_Text_2A4EA1, MSGBOX_DEFAULT
+Route121_SafariZoneEntrance_EventScript_FirstTimeInfo:: @ 822BC0E
+ msgbox Route121_SafariZoneEntrance_Text_FirstTimeInfo, MSGBOX_DEFAULT
release
end
-Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18
+Route121_SafariZoneEntrance_EventScript_EntranceCounterTrigger:: @ 822BC18
lockall
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
showmoneybox 0, 0, 0
- msgbox Route121_SafariZoneEntrance_Text_2A4F74, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC48
- msgbox Route121_SafariZoneEntrance_Text_2A4FD7, MSGBOX_DEFAULT
- goto Route121_SafariZoneEntrance_EventScript_22BD06
+ msgbox Route121_SafariZoneEntrance_Text_WouldYouLikeToPlay, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone
+ msgbox Route121_SafariZoneEntrance_Text_PlayAnotherTime, MSGBOX_DEFAULT
+ goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter
end
-Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
+Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone:: @ 822BC48
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCEA
- call Route121_SafariZoneEntrance_EventScript_22BCBF
- checkmoney 0x1f4, 0
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_NoPokeblockCase
+ call Route121_SafariZoneEntrance_EventScript_CheckHasRoomForPokemon
+ checkmoney 500, 0
compare VAR_RESULT, 0
- goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCF8
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_NotEnoughMoney
playse SE_REGI
- msgbox Route121_SafariZoneEntrance_Text_2A501B, MSGBOX_DEFAULT
- takemoney 0x1f4, 0
+ msgbox Route121_SafariZoneEntrance_Text_ThatWillBe500Please, MSGBOX_DEFAULT
+ removemoney 500, 0
updatemoneybox 0, 0
- msgbox Route121_SafariZoneEntrance_Text_2A5036, MSGBOX_DEFAULT
+ msgbox Route121_SafariZoneEntrance_Text_HereAreYourSafariBalls, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- message Route121_SafariZoneEntrance_Text_2A5052
+ message Route121_SafariZoneEntrance_Text_Received30SafariBalls
waitfanfare
- msgbox Route121_SafariZoneEntrance_Text_2A506F, MSGBOX_DEFAULT
+ msgbox Route121_SafariZoneEntrance_Text_PleaseEnjoyYourself, MSGBOX_DEFAULT
closemessage
hidemoneybox
- nop
- nop
- applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD18
+ applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_EnterSafariZone
waitmovement 0
special EnterSafariMode
setvar VAR_SAFARI_ZONE_STATE, 2
@@ -86,45 +84,43 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
waitstate
end
-Route121_SafariZoneEntrance_EventScript_22BCBF:: @ 822BCBF
+Route121_SafariZoneEntrance_EventScript_CheckHasRoomForPokemon:: @ 822BCBF
getpartysize
- compare VAR_RESULT, 6
- goto_if_ne Route121_SafariZoneEntrance_EventScript_22BCE9
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_ne Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon
specialvar VAR_RESULT, ScriptCheckFreePokemonStorageSpace
compare VAR_RESULT, 1
- goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCE9
- msgbox Route121_SafariZoneEntrance_Text_2A50E5, MSGBOX_DEFAULT
- goto Route121_SafariZoneEntrance_EventScript_22BD06
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon
+ msgbox Route121_SafariZoneEntrance_Text_PCIsFull, MSGBOX_DEFAULT
+ goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter
end
-Route121_SafariZoneEntrance_EventScript_22BCE9:: @ 822BCE9
+Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon:: @ 822BCE9
return
-Route121_SafariZoneEntrance_EventScript_22BCEA:: @ 822BCEA
- msgbox Route121_SafariZoneEntrance_Text_2A5105, MSGBOX_DEFAULT
- goto Route121_SafariZoneEntrance_EventScript_22BD06
+Route121_SafariZoneEntrance_EventScript_NoPokeblockCase:: @ 822BCEA
+ msgbox Route121_SafariZoneEntrance_Text_YouNeedPokeblockCase, MSGBOX_DEFAULT
+ goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter
end
-Route121_SafariZoneEntrance_EventScript_22BCF8:: @ 822BCF8
- msgbox Route121_SafariZoneEntrance_Text_2A4FF7, MSGBOX_DEFAULT
- goto Route121_SafariZoneEntrance_EventScript_22BD06
+Route121_SafariZoneEntrance_EventScript_NotEnoughMoney:: @ 822BCF8
+ msgbox Route121_SafariZoneEntrance_Text_NotEnoughMoney, MSGBOX_DEFAULT
+ goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter
end
-Route121_SafariZoneEntrance_EventScript_22BD06:: @ 822BD06
+Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter:: @ 822BD06
closemessage
hidemoneybox
- nop
- nop
- applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD16
+ applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_BackAwayFromCounter
waitmovement 0
releaseall
end
-Route121_SafariZoneEntrance_Movement_22BD16: @ 822BD16
+Route121_SafariZoneEntrance_Movement_BackAwayFromCounter: @ 822BD16
walk_right
step_end
-Route121_SafariZoneEntrance_Movement_22BD18: @ 822BD18
+Route121_SafariZoneEntrance_Movement_EnterSafariZone: @ 822BD18
walk_left
walk_left
walk_left
@@ -135,7 +131,7 @@ Route121_SafariZoneEntrance_Movement_22BD18: @ 822BD18
delay_16
step_end
-Route121_SafariZoneEntrance_EventScript_22BD21:: @ 822BD21
- msgbox Route121_SafariZoneEntrance_Text_2A55BB, MSGBOX_SIGN
+Route121_SafariZoneEntrance_EventScript_TrainerTipSign:: @ 822BD21
+ msgbox Route121_SafariZoneEntrance_Text_TrainerTip, MSGBOX_SIGN
end
diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json
index c13d17a0c..fc4af6b3c 100644
--- a/data/maps/Route123/map.json
+++ b/data/maps/Route123/map.json
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route123_EventScript_1F61C5",
+ "script": "Route123_EventScript_Wendy",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route123_EventScript_1F61DC",
+ "script": "Route123_EventScript_Braxton",
"flag": "0"
},
{
@@ -308,7 +308,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_EventScript_1F6151",
+ "script": "Route123_EventScript_GigaDrainGirl",
"flag": "0"
},
{
@@ -360,7 +360,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route123_EventScript_1F61F3",
+ "script": "Route123_EventScript_Violet",
"flag": "0"
},
{
@@ -373,7 +373,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route123_EventScript_1F62E9",
+ "script": "Route123_EventScript_Yuki",
"flag": "0"
},
{
@@ -386,7 +386,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route123_EventScript_1F62CE",
+ "script": "Route123_EventScript_Miu",
"flag": "0"
},
{
@@ -399,7 +399,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route123_EventScript_1F620A",
+ "script": "Route123_EventScript_Cameron",
"flag": "0"
},
{
@@ -412,7 +412,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route123_EventScript_1F626C",
+ "script": "Route123_EventScript_Jacki",
"flag": "0"
},
{
@@ -425,7 +425,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route123_EventScript_1F6304",
+ "script": "Route123_EventScript_Kindra",
"flag": "0"
},
{
@@ -464,7 +464,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route123_EventScript_1F6377",
+ "script": "Route123_EventScript_Jonas",
"flag": "0"
},
{
@@ -477,7 +477,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route123_EventScript_1F6360",
+ "script": "Route123_EventScript_Kayley",
"flag": "0"
},
{
@@ -490,7 +490,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route123_EventScript_1F6349",
+ "script": "Route123_EventScript_Ed",
"flag": "0"
},
{
@@ -503,7 +503,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route123_EventScript_1F63BC",
+ "script": "Route123_EventScript_Fernando",
"flag": "0"
},
{
@@ -516,7 +516,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route123_EventScript_1F6332",
+ "script": "Route123_EventScript_Alberto",
"flag": "0"
},
{
@@ -529,7 +529,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route123_EventScript_1F631B",
+ "script": "Route123_EventScript_Frederick",
"flag": "0"
},
{
@@ -555,7 +555,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route123_EventScript_1F638E",
+ "script": "Route123_EventScript_Jazmyn",
"flag": "0"
},
{
@@ -568,7 +568,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route123_EventScript_1F63A5",
+ "script": "Route123_EventScript_Davis",
"flag": "0"
},
{
@@ -757,7 +757,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route123_EventScript_1F61B3"
+ "script": "Route123_EventScript_RouteSignMtPyre"
},
{
"type": "secret_base",
@@ -779,7 +779,7 @@
"y": 12,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route123_EventScript_1F61AA"
+ "script": "Route123_EventScript_RouteSign"
},
{
"type": "hidden_item",
@@ -795,7 +795,7 @@
"y": 7,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route123_EventScript_1F61BC"
+ "script": "Route123_EventScript_BerryMastersHouseSign"
},
{
"type": "secret_base",
diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc
index ce74cbadc..0c57d209c 100644
--- a/data/maps/Route123/scripts.inc
+++ b/data/maps/Route123/scripts.inc
@@ -6,198 +6,198 @@ Route123_OnTransition: @ 81F614D
special SetRoute123Weather
end
-Route123_EventScript_1F6151:: @ 81F6151
+Route123_EventScript_GigaDrainGirl:: @ 81F6151
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_1F61A0
- msgbox Route123_Text_1F641E, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_ReceivedGigaDrain
+ msgbox Route123_Text_LoveGrassMonsHaveAny, MSGBOX_DEFAULT
special IsGrassTypeInParty
- compare VAR_RESULT, 0
- goto_if_eq Route123_EventScript_1F619E
- msgbox Route123_Text_1F645D, MSGBOX_DEFAULT
- giveitem_std ITEM_TM19
- compare VAR_RESULT, 0
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route123_EventScript_NoGrassMons
+ msgbox Route123_Text_YouLikeGrassMonsTooHaveThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM19
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM19
- msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT
+ msgbox Route123_Text_CheckTreesWithMyGrassMon, MSGBOX_DEFAULT
release
end
-Route123_EventScript_1F619E:: @ 81F619E
+Route123_EventScript_NoGrassMons:: @ 81F619E
release
end
-Route123_EventScript_1F61A0:: @ 81F61A0
- msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT
+Route123_EventScript_ReceivedGigaDrain:: @ 81F61A0
+ msgbox Route123_Text_CheckTreesWithMyGrassMon, MSGBOX_DEFAULT
release
end
-Route123_EventScript_1F61AA:: @ 81F61AA
- msgbox Route123_Text_1F6511, MSGBOX_SIGN
+Route123_EventScript_RouteSign:: @ 81F61AA
+ msgbox Route123_Text_RouteSign, MSGBOX_SIGN
end
-Route123_EventScript_1F61B3:: @ 81F61B3
- msgbox Route123_Text_1F6529, MSGBOX_SIGN
+Route123_EventScript_RouteSignMtPyre:: @ 81F61B3
+ msgbox Route123_Text_RouteSignMtPyre, MSGBOX_SIGN
end
-Route123_EventScript_1F61BC:: @ 81F61BC
- msgbox Route123_Text_1F6557, MSGBOX_SIGN
+Route123_EventScript_BerryMastersHouseSign:: @ 81F61BC
+ msgbox Route123_Text_BerryMastersHouse, MSGBOX_SIGN
end
-Route123_EventScript_1F61C5:: @ 81F61C5
- trainerbattle_single TRAINER_WENDY, Route123_Text_29FBEB, Route123_Text_29FC23
- msgbox Route123_Text_29FC42, MSGBOX_AUTOCLOSE
+Route123_EventScript_Wendy:: @ 81F61C5
+ trainerbattle_single TRAINER_WENDY, Route123_Text_WendyIntro, Route123_Text_WendyDefeat
+ msgbox Route123_Text_WendyPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F61DC:: @ 81F61DC
- trainerbattle_single TRAINER_BRAXTON, Route123_Text_29FC6F, Route123_Text_29FCD6
- msgbox Route123_Text_29FCF4, MSGBOX_AUTOCLOSE
+Route123_EventScript_Braxton:: @ 81F61DC
+ trainerbattle_single TRAINER_BRAXTON, Route123_Text_BraxtonIntro, Route123_Text_BraxtonDefeat
+ msgbox Route123_Text_BraxtonPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F61F3:: @ 81F61F3
- trainerbattle_single TRAINER_VIOLET, Route123_Text_29FD1D, Route123_Text_29FD53
- msgbox Route123_Text_29FD7B, MSGBOX_AUTOCLOSE
+Route123_EventScript_Violet:: @ 81F61F3
+ trainerbattle_single TRAINER_VIOLET, Route123_Text_VioletIntro, Route123_Text_VioletDefeat
+ msgbox Route123_Text_VioletPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F620A:: @ 81F620A
- trainerbattle_single TRAINER_CAMERON_1, Route123_Text_29FDBA, Route123_Text_29FE1E, Route123_EventScript_1F6236
+Route123_EventScript_Cameron:: @ 81F620A
+ trainerbattle_single TRAINER_CAMERON_1, Route123_Text_CameronIntro, Route123_Text_CameronDefeat, Route123_EventScript_RegisterCameron
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route123_EventScript_1F6255
- msgbox Route123_Text_29FE2A, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route123_EventScript_RematchCameron
+ msgbox Route123_Text_CameronPostBattle, MSGBOX_DEFAULT
release
end
-Route123_EventScript_1F6236:: @ 81F6236
- special sub_80B4808
+Route123_EventScript_RegisterCameron:: @ 81F6236
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route123_Text_29FE70, MSGBOX_DEFAULT
+ msgbox Route123_Text_CameronRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_CAMERON_1
release
end
-Route123_EventScript_1F6255:: @ 81F6255
- trainerbattle_rematch TRAINER_CAMERON_1, Route123_Text_29FED4, Route123_Text_29FF1B
- msgbox Route123_Text_29FF27, MSGBOX_AUTOCLOSE
+Route123_EventScript_RematchCameron:: @ 81F6255
+ trainerbattle_rematch TRAINER_CAMERON_1, Route123_Text_CameronRematchIntro, Route123_Text_CameronRematchDefeat
+ msgbox Route123_Text_CameronPostRematch, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F626C:: @ 81F626C
- trainerbattle_single TRAINER_JACKI_1, Route123_Text_29FF61, Route123_Text_29FFD8, Route123_EventScript_1F6298
+Route123_EventScript_Jacki:: @ 81F626C
+ trainerbattle_single TRAINER_JACKI_1, Route123_Text_JackiIntro, Route123_Text_JackiDefeat, Route123_EventScript_RegisterJacki
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route123_EventScript_1F62B7
- msgbox Route123_Text_29FFE5, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route123_EventScript_RematchJacki
+ msgbox Route123_Text_JackiPostBattle, MSGBOX_DEFAULT
release
end
-Route123_EventScript_1F6298:: @ 81F6298
- special sub_80B4808
+Route123_EventScript_RegisterJacki:: @ 81F6298
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route123_Text_2A0027, MSGBOX_DEFAULT
+ msgbox Route123_Text_JackiRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_JACKI_1
release
end
-Route123_EventScript_1F62B7:: @ 81F62B7
- trainerbattle_rematch TRAINER_JACKI_1, Route123_Text_2A005E, Route123_Text_2A008D
- msgbox Route123_Text_2A0099, MSGBOX_AUTOCLOSE
+Route123_EventScript_RematchJacki:: @ 81F62B7
+ trainerbattle_rematch TRAINER_JACKI_1, Route123_Text_JackiRematchIntro, Route123_Text_JackiRematchDefeat
+ msgbox Route123_Text_JackiPostRematch, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F62CE:: @ 81F62CE
- trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_2A00D6, Route123_Text_2A0119, Route123_Text_2A016D
- msgbox Route123_Text_2A012E, MSGBOX_AUTOCLOSE
+Route123_EventScript_Miu:: @ 81F62CE
+ trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_MiuIntro, Route123_Text_MiuDefeat, Route123_Text_MiuNotEnoughMons
+ msgbox Route123_Text_MiuPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F62E9:: @ 81F62E9
- trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_2A01A7, Route123_Text_2A01D8, Route123_Text_2A0224
- msgbox Route123_Text_2A01EE, MSGBOX_AUTOCLOSE
+Route123_EventScript_Yuki:: @ 81F62E9
+ trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_YukiIntro, Route123_Text_YukiDefeat, Route123_Text_YukiNotEnoughMons
+ msgbox Route123_Text_YukiPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F6304:: @ 81F6304
- trainerbattle_single TRAINER_KINDRA, Route123_Text_2A025F, Route123_Text_2A02A6
- msgbox Route123_Text_2A02C1, MSGBOX_AUTOCLOSE
+Route123_EventScript_Kindra:: @ 81F6304
+ trainerbattle_single TRAINER_KINDRA, Route123_Text_KindraIntro, Route123_Text_KindraDefeat
+ msgbox Route123_Text_KindraPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F631B:: @ 81F631B
- trainerbattle_single TRAINER_FREDRICK, Route123_Text_2A060A, Route123_Text_2A0631
- msgbox Route123_Text_2A0672, MSGBOX_AUTOCLOSE
+Route123_EventScript_Frederick:: @ 81F631B
+ trainerbattle_single TRAINER_FREDRICK, Route123_Text_FrederickIntro, Route123_Text_FrederickDefeat
+ msgbox Route123_Text_FrederickPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F6332:: @ 81F6332
- trainerbattle_single TRAINER_ALBERTO, Route123_Text_2A06AF, Route123_Text_2A0704
- msgbox Route123_Text_2A072B, MSGBOX_AUTOCLOSE
+Route123_EventScript_Alberto:: @ 81F6332
+ trainerbattle_single TRAINER_ALBERTO, Route123_Text_AlbertoIntro, Route123_Text_AlbertoDefeat
+ msgbox Route123_Text_AlbertoPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F6349:: @ 81F6349
- trainerbattle_single TRAINER_ED, Route123_Text_2A079B, Route123_Text_2A07F0
- msgbox Route123_Text_2A080D, MSGBOX_AUTOCLOSE
+Route123_EventScript_Ed:: @ 81F6349
+ trainerbattle_single TRAINER_ED, Route123_Text_EdIntro, Route123_Text_EdDefeat
+ msgbox Route123_Text_EdPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F6360:: @ 81F6360
- trainerbattle_single TRAINER_KAYLEY, Route123_Text_2A0902, Route123_Text_2A0943
- msgbox Route123_Text_2A096E, MSGBOX_AUTOCLOSE
+Route123_EventScript_Kayley:: @ 81F6360
+ trainerbattle_single TRAINER_KAYLEY, Route123_Text_KayleyIntro, Route123_Text_KayleyDefeat
+ msgbox Route123_Text_KayleyPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F6377:: @ 81F6377
- trainerbattle_single TRAINER_JONAS, Route123_Text_2A0854, Route123_Text_2A088A
- msgbox Route123_Text_2A08CA, MSGBOX_AUTOCLOSE
+Route123_EventScript_Jonas:: @ 81F6377
+ trainerbattle_single TRAINER_JONAS, Route123_Text_JonasIntro, Route123_Text_JonasDefeat
+ msgbox Route123_Text_JonasPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F638E:: @ 81F638E
- trainerbattle_single TRAINER_JAZMYN, Route123_Text_2A054E, Route123_Text_2A0592
- msgbox Route123_Text_2A05AC, MSGBOX_AUTOCLOSE
+Route123_EventScript_Jazmyn:: @ 81F638E
+ trainerbattle_single TRAINER_JAZMYN, Route123_Text_JazmynIntro, Route123_Text_JazmynDefeat
+ msgbox Route123_Text_JazmynPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F63A5:: @ 81F63A5
- trainerbattle_single TRAINER_DAVIS, Route123_Text_2A04C0, Route123_Text_2A04FE
- msgbox Route123_Text_2A0512, MSGBOX_AUTOCLOSE
+Route123_EventScript_Davis:: @ 81F63A5
+ trainerbattle_single TRAINER_DAVIS, Route123_Text_DavisIntro, Route123_Text_DavisDefeat
+ msgbox Route123_Text_DavisPostBattle, MSGBOX_AUTOCLOSE
end
-Route123_EventScript_1F63BC:: @ 81F63BC
- trainerbattle_single TRAINER_FERNANDO_1, Route123_Text_2A0323, Route123_Text_2A035C, Route123_EventScript_1F63E8
+Route123_EventScript_Fernando:: @ 81F63BC
+ trainerbattle_single TRAINER_FERNANDO_1, Route123_Text_FernandoIntro, Route123_Text_FernandoDefeat, Route123_EventScript_RegisterFernando
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route123_EventScript_1F6407
- msgbox Route123_Text_2A0389, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route123_EventScript_RematchFernando
+ msgbox Route123_Text_FernandoPostBattle, MSGBOX_DEFAULT
release
end
-Route123_EventScript_1F63E8:: @ 81F63E8
- special sub_80B4808
+Route123_EventScript_RegisterFernando:: @ 81F63E8
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route123_Text_2A03C1, MSGBOX_DEFAULT
+ msgbox Route123_Text_FernandoRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_FERNANDO_1
release
end
-Route123_EventScript_1F6407:: @ 81F6407
- trainerbattle_rematch TRAINER_FERNANDO_1, Route123_Text_2A03FB, Route123_Text_2A045A
- msgbox Route123_Text_2A0487, MSGBOX_AUTOCLOSE
+Route123_EventScript_RematchFernando:: @ 81F6407
+ trainerbattle_rematch TRAINER_FERNANDO_1, Route123_Text_FernandoRematchIntro, Route123_Text_FernandoRematchDefeat
+ msgbox Route123_Text_FernandoPostRematch, MSGBOX_AUTOCLOSE
end
-Route123_Text_1F641E: @ 81F641E
+Route123_Text_LoveGrassMonsHaveAny: @ 81F641E
.string "I love GRASS-type POKéMON!\p"
.string "Do you have any GRASS-type POKéMON?$"
-Route123_Text_1F645D: @ 81F645D
+Route123_Text_YouLikeGrassMonsTooHaveThis: @ 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
+Route123_Text_CheckTreesWithMyGrassMon: @ 81F64CF
.string "I check trees with my GRASS-type\n"
.string "POKéMON. I'm like a tree doctor.$"
-Route123_Text_1F6511: @ 81F6511
+Route123_Text_RouteSign: @ 81F6511
.string "{RIGHT_ARROW} ROUTE 123\n"
.string "{LEFT_ARROW} ROUTE 118$"
-Route123_Text_1F6529: @ 81F6529
+Route123_Text_RouteSignMtPyre: @ 81F6529
.string "{UP_ARROW} MT. PYRE\n"
.string "“Forbidden to the faint of heart.”$"
-Route123_Text_1F6557: @ 81F6557
+Route123_Text_BerryMastersHouse: @ 81F6557
.string "BERRY MASTER'S HOUSE$"
diff --git a/data/maps/Route123_BerryMastersHouse/map.json b/data/maps/Route123_BerryMastersHouse/map.json
index c87feb2bc..b7f2523af 100644
--- a/data/maps/Route123_BerryMastersHouse/map.json
+++ b/data/maps/Route123_BerryMastersHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_BerryMastersHouse_EventScript_26F845",
+ "script": "Route123_BerryMastersHouse_EventScript_BerryMaster",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route123_BerryMastersHouse_EventScript_26F8C0",
+ "script": "Route123_BerryMastersHouse_EventScript_BerryMastersWife",
"flag": "0"
}
],
diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc
index 939cfed80..8b2cc5919 100644
--- a/data/maps/Route123_BerryMastersHouse/scripts.inc
+++ b/data/maps/Route123_BerryMastersHouse/scripts.inc
@@ -6,141 +6,141 @@ Route123_BerryMastersHouse_OnTransition: @ 826F841
setflag FLAG_LANDMARK_BERRY_MASTERS_HOUSE
end
-Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845
+Route123_BerryMastersHouse_EventScript_BerryMaster:: @ 826F845
lock
faceplayer
dotimebasedevents
- goto_if_set FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY, Route123_BerryMastersHouse_EventScript_26F8B6
- msgbox Route123_BerryMastersHouse_Text_2A7386, MSGBOX_DEFAULT
- random 10
- addvar VAR_RESULT, 20
- addvar VAR_RESULT, 133
- giveitem_std VAR_RESULT
- compare VAR_RESULT, 0
+ goto_if_set FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY, Route123_BerryMastersHouse_EventScript_ReceivedBerryToday
+ msgbox Route123_BerryMastersHouse_Text_YoureDeservingOfBerry, MSGBOX_DEFAULT
+ random NUM_BERRY_MASTER_BERRIES
+ addvar VAR_RESULT, NUM_BERRY_MASTER_BERRIES_SKIPPED
+ addvar VAR_RESULT, FIRST_BERRY_INDEX
+ giveitem VAR_RESULT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY
- msgbox Route123_BerryMastersHouse_Text_2A7428, MSGBOX_DEFAULT
- random 10
- addvar VAR_RESULT, 20
- addvar VAR_RESULT, 133
- giveitem_std VAR_RESULT
- compare VAR_RESULT, 0
+ msgbox Route123_BerryMastersHouse_Text_WhyBeStingyTakeAnother, MSGBOX_DEFAULT
+ random NUM_BERRY_MASTER_BERRIES
+ addvar VAR_RESULT, NUM_BERRY_MASTER_BERRIES_SKIPPED
+ addvar VAR_RESULT, FIRST_BERRY_INDEX
+ giveitem VAR_RESULT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox Route123_BerryMastersHouse_Text_2A7445, MSGBOX_DEFAULT
+ msgbox Route123_BerryMastersHouse_Text_VisitPrettyPetalFlowerShop, MSGBOX_DEFAULT
release
end
-Route123_BerryMastersHouse_EventScript_26F8B6:: @ 826F8B6
- msgbox Route123_BerryMastersHouse_Text_2A749E, MSGBOX_DEFAULT
+Route123_BerryMastersHouse_EventScript_ReceivedBerryToday:: @ 826F8B6
+ msgbox Route123_BerryMastersHouse_Text_DoneForToday, MSGBOX_DEFAULT
release
end
-Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0
+Route123_BerryMastersHouse_EventScript_BerryMastersWife:: @ 826F8C0
lock
faceplayer
dotimebasedevents
- goto_if_set FLAG_DAILY_BERRY_MASTERS_WIFE, Route123_BerryMastersHouse_EventScript_26FA6F
- msgbox Route123_BerryMastersHouse_Text_2A74E6, MSGBOX_DEFAULT
+ goto_if_set FLAG_DAILY_BERRY_MASTERS_WIFE, Route123_BerryMastersHouse_EventScript_ReceivedWifeBerryToday
+ msgbox Route123_BerryMastersHouse_Text_HeardAGoodSayingLately, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_GOOD_SAYING
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 1
- goto_if_eq Route123_BerryMastersHouse_EventScript_26F909
- compare VAR_RESULT, 0
- goto_if_eq Route123_BerryMastersHouse_EventScript_26F8F7
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route123_BerryMastersHouse_EventScript_GavePhrase
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route123_BerryMastersHouse_EventScript_CancelPhrase
end
-Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7
- msgbox Route123_BerryMastersHouse_Text_2A7682, MSGBOX_DEFAULT
- msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT
+Route123_BerryMastersHouse_EventScript_CancelPhrase:: @ 826F8F7
+ msgbox Route123_BerryMastersHouse_Text_Ah, MSGBOX_DEFAULT
+ msgbox Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife, MSGBOX_DEFAULT
release
end
-Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909
- compare VAR_0x8004, 0
- goto_if_eq Route123_BerryMastersHouse_EventScript_26F94C
- compare VAR_0x8004, 1
- goto_if_eq Route123_BerryMastersHouse_EventScript_26F97A
- compare VAR_0x8004, 2
- goto_if_eq Route123_BerryMastersHouse_EventScript_26F9AB
- compare VAR_0x8004, 3
- goto_if_eq Route123_BerryMastersHouse_EventScript_26F9DC
- compare VAR_0x8004, 4
- goto_if_eq Route123_BerryMastersHouse_EventScript_26FA0D
- compare VAR_0x8004, 5
- goto_if_eq Route123_BerryMastersHouse_EventScript_26FA3E
+Route123_BerryMastersHouse_EventScript_GavePhrase:: @ 826F909
+ compare VAR_0x8004, NOT_SPECIAL_PHRASE
+ goto_if_eq Route123_BerryMastersHouse_EventScript_GiveNormalBerry
+ compare VAR_0x8004, PHRASE_GREAT_BATTLE
+ goto_if_eq Route123_BerryMastersHouse_EventScript_GiveSpelonBerry
+ compare VAR_0x8004, PHRASE_CHALLENGE_CONTEST
+ goto_if_eq Route123_BerryMastersHouse_EventScript_GivePamtreBerry
+ compare VAR_0x8004, PHRASE_OVERWHELMING_LATIAS
+ goto_if_eq Route123_BerryMastersHouse_EventScript_GiveWatmelBerry
+ compare VAR_0x8004, PHRASE_COOL_LATIOS
+ goto_if_eq Route123_BerryMastersHouse_EventScript_GiveDurinBerry
+ compare VAR_0x8004, PHRASE_SUPER_HUSTLE
+ goto_if_eq Route123_BerryMastersHouse_EventScript_GiveBelueBerry
end
-Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C
- msgbox Route123_BerryMastersHouse_Text_2A75D0, MSGBOX_DEFAULT
- random 10
- addvar VAR_RESULT, 133
- giveitem_std VAR_RESULT
- compare VAR_RESULT, 0
+Route123_BerryMastersHouse_EventScript_GiveNormalBerry:: @ 826F94C
+ msgbox Route123_BerryMastersHouse_Text_GoodSayingTakeThis, MSGBOX_DEFAULT
+ random NUM_BERRY_MASTER_WIFE_BERRIES
+ addvar VAR_RESULT, FIRST_BERRY_INDEX
+ giveitem VAR_RESULT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- goto Route123_BerryMastersHouse_EventScript_26FA79
+ goto Route123_BerryMastersHouse_EventScript_GaveBerry
release
end
-Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A
- goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
- giveitem_std ITEM_SPELON_BERRY
- compare VAR_RESULT, 0
+Route123_BerryMastersHouse_EventScript_GiveSpelonBerry:: @ 826F97A
+ goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
+ msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_SPELON_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SPELON_BERRY
- goto Route123_BerryMastersHouse_EventScript_26FA79
+ goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
-Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB
- goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
- giveitem_std ITEM_PAMTRE_BERRY
- compare VAR_RESULT, 0
+Route123_BerryMastersHouse_EventScript_GivePamtreBerry:: @ 826F9AB
+ goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
+ msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_PAMTRE_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_PAMTRE_BERRY
- goto Route123_BerryMastersHouse_EventScript_26FA79
+ goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
-Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC
- goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
- giveitem_std ITEM_WATMEL_BERRY
- compare VAR_RESULT, 0
+Route123_BerryMastersHouse_EventScript_GiveWatmelBerry:: @ 826F9DC
+ goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
+ msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_WATMEL_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_WATMEL_BERRY
- goto Route123_BerryMastersHouse_EventScript_26FA79
+ goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
-Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D
- goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
- giveitem_std ITEM_DURIN_BERRY
- compare VAR_RESULT, 0
+Route123_BerryMastersHouse_EventScript_GiveDurinBerry:: @ 826FA0D
+ goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
+ msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_DURIN_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_DURIN_BERRY
- goto Route123_BerryMastersHouse_EventScript_26FA79
+ goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
-Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E
- goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
- giveitem_std ITEM_BELUE_BERRY
- compare VAR_RESULT, 0
+Route123_BerryMastersHouse_EventScript_GiveBelueBerry:: @ 826FA3E
+ goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
+ msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_BELUE_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_BELUE_BERRY
- goto Route123_BerryMastersHouse_EventScript_26FA79
+ goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
-Route123_BerryMastersHouse_EventScript_26FA6F:: @ 826FA6F
- msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT
+Route123_BerryMastersHouse_EventScript_ReceivedWifeBerryToday:: @ 826FA6F
+ msgbox Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife, MSGBOX_DEFAULT
release
end
-Route123_BerryMastersHouse_EventScript_26FA79:: @ 826FA79
+Route123_BerryMastersHouse_EventScript_GaveBerry:: @ 826FA79
setflag FLAG_DAILY_BERRY_MASTERS_WIFE
- msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT
+ msgbox Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route124/map.json b/data/maps/Route124/map.json
index 913208954..01bc84377 100644
--- a/data/maps/Route124/map.json
+++ b/data/maps/Route124/map.json
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route124_EventScript_1F6585",
+ "script": "Route124_EventScript_Spencer",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route124_EventScript_1F659C",
+ "script": "Route124_EventScript_Roland",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route124_EventScript_1F65B3",
+ "script": "Route124_EventScript_Jenny",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 8,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route124_EventScript_1F6615",
+ "script": "Route124_EventScript_Grace",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route124_EventScript_1F662C",
+ "script": "Route124_EventScript_Chad",
"flag": "0"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route124_EventScript_1F6643",
+ "script": "Route124_EventScript_Lila",
"flag": "0"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route124_EventScript_1F66A7",
+ "script": "Route124_EventScript_Roy",
"flag": "0"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route124_EventScript_1F670B",
+ "script": "Route124_EventScript_Declan",
"flag": "0"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route124_EventScript_1F6722",
+ "script": "Route124_EventScript_Isabella",
"flag": "0"
}
],
@@ -214,7 +214,7 @@
"y": 48,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route124_EventScript_1F657C"
+ "script": "Route124_EventScript_HuntersHouseSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route124/scripts.inc b/data/maps/Route124/scripts.inc
index 9a11cec2c..92d43e6ad 100644
--- a/data/maps/Route124/scripts.inc
+++ b/data/maps/Route124/scripts.inc
@@ -3,105 +3,105 @@ Route124_MapScripts:: @ 81F656C
.byte 0
Route124_OnTransition: @ 81F6572
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
end
-Route124_EventScript_1F657C:: @ 81F657C
- msgbox Route124_Text_1F6739, MSGBOX_SIGN
+Route124_EventScript_HuntersHouseSign:: @ 81F657C
+ msgbox Route124_Text_HuntersHouse, MSGBOX_SIGN
end
-Route124_EventScript_1F6585:: @ 81F6585
- trainerbattle_single TRAINER_SPENCER, Route124_Text_2A09B1, Route124_Text_2A0A02
- msgbox Route124_Text_2A0A20, MSGBOX_AUTOCLOSE
+Route124_EventScript_Spencer:: @ 81F6585
+ trainerbattle_single TRAINER_SPENCER, Route124_Text_SpencerIntro, Route124_Text_SpencerDefeat
+ msgbox Route124_Text_SpencerPostBattle, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F659C:: @ 81F659C
- trainerbattle_single TRAINER_ROLAND, Route124_Text_2A0A84, Route124_Text_2A0ACC
- msgbox Route124_Text_2A0AD9, MSGBOX_AUTOCLOSE
+Route124_EventScript_Roland:: @ 81F659C
+ trainerbattle_single TRAINER_ROLAND, Route124_Text_RolandIntro, Route124_Text_RolandDefeat
+ msgbox Route124_Text_RolandPostBattle, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F65B3:: @ 81F65B3
- trainerbattle_single TRAINER_JENNY_1, Route124_Text_2A0B37, Route124_Text_2A0B7C, Route124_EventScript_1F65DF
+Route124_EventScript_Jenny:: @ 81F65B3
+ trainerbattle_single TRAINER_JENNY_1, Route124_Text_JennyIntro, Route124_Text_JennyDefeat, Route124_EventScript_RegisterJenny
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route124_EventScript_1F65FE
- msgbox Route124_Text_2A0B9A, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route124_EventScript_RematchJenny
+ msgbox Route124_Text_JennyPostBattle, MSGBOX_DEFAULT
release
end
-Route124_EventScript_1F65DF:: @ 81F65DF
- special sub_80B4808
+Route124_EventScript_RegisterJenny:: @ 81F65DF
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route124_Text_2A0C14, MSGBOX_DEFAULT
+ msgbox Route124_Text_JennyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_JENNY_1
release
end
-Route124_EventScript_1F65FE:: @ 81F65FE
- trainerbattle_rematch TRAINER_JENNY_1, Route124_Text_2A0C60, Route124_Text_2A0CA0
- msgbox Route124_Text_2A0CBE, MSGBOX_AUTOCLOSE
+Route124_EventScript_RematchJenny:: @ 81F65FE
+ trainerbattle_rematch TRAINER_JENNY_1, Route124_Text_JennyRematchIntro, Route124_Text_JennyRematchDefeat
+ msgbox Route124_Text_JennyPostRematch, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F6615:: @ 81F6615
- trainerbattle_single TRAINER_GRACE, Route124_Text_2A0D0A, Route124_Text_2A0D3D
- msgbox Route124_Text_2A0D66, MSGBOX_AUTOCLOSE
+Route124_EventScript_Grace:: @ 81F6615
+ trainerbattle_single TRAINER_GRACE, Route124_Text_GraceIntro, Route124_Text_GraceDefeat
+ msgbox Route124_Text_GracePostBattle, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F662C:: @ 81F662C
- trainerbattle_single TRAINER_CHAD, Route124_Text_2A0DA0, Route124_Text_2A0DFF
- msgbox Route124_Text_2A0E1E, MSGBOX_AUTOCLOSE
+Route124_EventScript_Chad:: @ 81F662C
+ trainerbattle_single TRAINER_CHAD, Route124_Text_ChadIntro, Route124_Text_ChadDefeat
+ msgbox Route124_Text_ChadPostBattle, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F6643:: @ 81F6643
- trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0E87, Route124_Text_2A0EFE, Route124_Text_2A0F8C, Route124_EventScript_1F6673
+Route124_EventScript_Lila:: @ 81F6643
+ trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_LilaIntro, Route124_Text_LilaDefeat, Route124_Text_LilaNotEnoughMons, Route124_EventScript_RegisterLila
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route124_EventScript_1F668C
- msgbox Route124_Text_2A0F3A, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route124_EventScript_RematchLila
+ msgbox Route124_Text_LilaPostBattle, MSGBOX_DEFAULT
release
end
-Route124_EventScript_1F6673:: @ 81F6673
- msgbox Route124_Text_2A109F, MSGBOX_DEFAULT
+Route124_EventScript_RegisterLila:: @ 81F6673
+ msgbox Route124_Text_LilaRoyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_LILA_AND_ROY_1
release
end
-Route124_EventScript_1F668C:: @ 81F668C
- trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A111E, Route124_Text_2A11B2, Route124_Text_2A1255
- msgbox Route124_Text_2A1203, MSGBOX_AUTOCLOSE
+Route124_EventScript_RematchLila:: @ 81F668C
+ trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_LilaRematchIntro, Route124_Text_LilaRematchDefeat, Route124_Text_LilaRematchNotEnoughMons
+ msgbox Route124_Text_LilaPostRematch, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F66A7:: @ 81F66A7
- trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0FD1, Route124_Text_2A1012, Route124_Text_2A10E5, Route124_EventScript_1F66D7
+Route124_EventScript_Roy:: @ 81F66A7
+ trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_RoyIntro, Route124_Text_RoyDefeat, Route124_Text_RoyNotEnoughMons, Route124_EventScript_RegisterRoy
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route124_EventScript_1F66F0
- msgbox Route124_Text_2A103E, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route124_EventScript_RematchRoy
+ msgbox Route124_Text_RoyPostBattle, MSGBOX_DEFAULT
release
end
-Route124_EventScript_1F66D7:: @ 81F66D7
- msgbox Route124_Text_2A109F, MSGBOX_DEFAULT
+Route124_EventScript_RegisterRoy:: @ 81F66D7
+ msgbox Route124_Text_LilaRoyRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_LILA_AND_ROY_1
release
end
-Route124_EventScript_1F66F0:: @ 81F66F0
- trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A129A, Route124_Text_2A12DD, Route124_Text_2A1384
- msgbox Route124_Text_2A130F, MSGBOX_AUTOCLOSE
+Route124_EventScript_RematchRoy:: @ 81F66F0
+ trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_RoyRematchIntro, Route124_Text_RoyRematchDefeat, Route124_Text_RoyRematchNotEnoughMons
+ msgbox Route124_Text_RoyPostRematch, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F670B:: @ 81F670B
- trainerbattle_single TRAINER_DECLAN, Route124_Text_2A13BD, Route124_Text_2A142C
- msgbox Route124_Text_2A144F, MSGBOX_AUTOCLOSE
+Route124_EventScript_Declan:: @ 81F670B
+ trainerbattle_single TRAINER_DECLAN, Route124_Text_DeclanIntro, Route124_Text_DeclanDefeat
+ msgbox Route124_Text_DeclanPostBattle, MSGBOX_AUTOCLOSE
end
-Route124_EventScript_1F6722:: @ 81F6722
- trainerbattle_single TRAINER_ISABELLA, Route124_Text_2A148E, Route124_Text_2A14BC
- msgbox Route124_Text_2A14ED, MSGBOX_AUTOCLOSE
+Route124_EventScript_Isabella:: @ 81F6722
+ trainerbattle_single TRAINER_ISABELLA, Route124_Text_IsabellaIntro, Route124_Text_IsabellaDefeat
+ msgbox Route124_Text_IsabellaPostBattle, MSGBOX_AUTOCLOSE
end
-Route124_Text_1F6739: @ 81F6739
+Route124_Text_HuntersHouse: @ 81F6739
.string "HUNTER'S HOUSE$"
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/map.json b/data/maps/Route124_DivingTreasureHuntersHouse/map.json
index 2b61cd6fa..c8ec142f2 100644
--- a/data/maps/Route124_DivingTreasureHuntersHouse/map.json
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route124_DivingTreasureHuntersHouse_EventScript_270A32",
+ "script": "Route124_DivingTreasureHuntersHouse_EventScript_TreasureHunter",
"flag": "0"
}
],
@@ -52,7 +52,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Route124_DivingTreasureHuntersHouse_EventScript_270F63"
+ "script": "Route124_DivingTreasureHuntersHouse_EventScript_ShardTradeBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
index e1fb3d6f8..c5d43799d 100644
--- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
@@ -6,338 +6,338 @@ Route124_DivingTreasureHuntersHouse_OnTransition: @ 8270A2E
setflag FLAG_LANDMARK_HUNTERS_HOUSE
end
-Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32
+Route124_DivingTreasureHuntersHouse_EventScript_TreasureHunter:: @ 8270A32
lock
faceplayer
- goto_if_set FLAG_MET_DIVING_TREASURE_HUNTER, Route124_DivingTreasureHuntersHouse_EventScript_270A4E
- msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_DIVING_TREASURE_HUNTER, Route124_DivingTreasureHuntersHouse_EventScript_SkipGreeting
+ msgbox Route124_DivingTreasureHuntersHouse_Text_Greeting, MSGBOX_DEFAULT
setflag FLAG_MET_DIVING_TREASURE_HUNTER
- goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C
+ goto Route124_DivingTreasureHuntersHouse_EventScript_CheckPlayerHasShard
end
-Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E
- msgbox Route124_DivingTreasureHuntersHouse_Text_270FE5, MSGBOX_DEFAULT
- goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C
+Route124_DivingTreasureHuntersHouse_EventScript_SkipGreeting:: @ 8270A4E
+ msgbox Route124_DivingTreasureHuntersHouse_Text_HaveYouSeenAnyShards, MSGBOX_DEFAULT
+ goto Route124_DivingTreasureHuntersHouse_EventScript_CheckPlayerHasShard
end
-Route124_DivingTreasureHuntersHouse_EventScript_270A5C:: @ 8270A5C
- call Route124_DivingTreasureHuntersHouse_EventScript_270A72
+Route124_DivingTreasureHuntersHouse_EventScript_CheckPlayerHasShard:: @ 8270A5C
+ call Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards
compare VAR_TEMP_1, 0
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57
- goto Route124_DivingTreasureHuntersHouse_EventScript_270AD0
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_NoShards
+ goto Route124_DivingTreasureHuntersHouse_EventScript_HasShard
end
-Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72
+Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards:: @ 8270A72
setvar VAR_TEMP_1, 0
checkitem ITEM_RED_SHARD, 1
- compare VAR_RESULT, 1
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AB8
+ compare VAR_RESULT, TRUE
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasRedShard
checkitem ITEM_YELLOW_SHARD, 1
- compare VAR_RESULT, 1
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ABE
+ compare VAR_RESULT, TRUE
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasYellowShard
checkitem ITEM_BLUE_SHARD, 1
- compare VAR_RESULT, 1
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AC4
+ compare VAR_RESULT, TRUE
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasBlueShard
checkitem ITEM_GREEN_SHARD, 1
- compare VAR_RESULT, 1
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ACA
+ compare VAR_RESULT, TRUE
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasGreenShard
return
-Route124_DivingTreasureHuntersHouse_EventScript_270AB8:: @ 8270AB8
+Route124_DivingTreasureHuntersHouse_EventScript_HasRedShard:: @ 8270AB8
addvar VAR_TEMP_1, 1
return
-Route124_DivingTreasureHuntersHouse_EventScript_270ABE:: @ 8270ABE
+Route124_DivingTreasureHuntersHouse_EventScript_HasYellowShard:: @ 8270ABE
addvar VAR_TEMP_1, 2
return
-Route124_DivingTreasureHuntersHouse_EventScript_270AC4:: @ 8270AC4
+Route124_DivingTreasureHuntersHouse_EventScript_HasBlueShard:: @ 8270AC4
addvar VAR_TEMP_1, 4
return
-Route124_DivingTreasureHuntersHouse_EventScript_270ACA:: @ 8270ACA
+Route124_DivingTreasureHuntersHouse_EventScript_HasGreenShard:: @ 8270ACA
addvar VAR_TEMP_1, 8
return
-Route124_DivingTreasureHuntersHouse_EventScript_270AD0:: @ 8270AD0
- msgbox Route124_DivingTreasureHuntersHouse_Text_271098, MSGBOX_DEFAULT
- goto Route124_DivingTreasureHuntersHouse_EventScript_270ADE
+Route124_DivingTreasureHuntersHouse_EventScript_HasShard:: @ 8270AD0
+ msgbox Route124_DivingTreasureHuntersHouse_Text_ThatsAShardIllTradeYou, MSGBOX_DEFAULT
+ goto Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions
end
-Route124_DivingTreasureHuntersHouse_EventScript_270ADE:: @ 8270ADE
- message Route124_DivingTreasureHuntersHouse_Text_271117
+Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions:: @ 8270ADE
+ message Route124_DivingTreasureHuntersHouse_Text_WhatDoYouWantToTrade
waitmessage
switch VAR_TEMP_1
- 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
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsR
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsY
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRY
+ case 4, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsB
+ case 5, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRB
+ case 6, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYB
+ case 7, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYB
+ case 8, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsG
+ case 9, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRG
+ case 10, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYG
+ case 11, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYG
+ case 12, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsBG
+ case 13, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRBG
+ case 14, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYBG
+ case 15, Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYBG
end
-Route124_DivingTreasureHuntersHouse_EventScript_270B8F:: @ 8270B8F
- multichoice 0, 0, 58, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsR:: @ 8270B8F
+ multichoice 0, 0, MULTI_SHARDS_R, 0
switch VAR_RESULT
- case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
- case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
- goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270BB5:: @ 8270BB5
- multichoice 0, 0, 59, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsY:: @ 8270BB5
+ multichoice 0, 0, MULTI_SHARDS_Y, 0
switch VAR_RESULT
- case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93
- case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
- goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270BDB:: @ 8270BDB
- multichoice 0, 0, 60, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRY:: @ 8270BDB
+ multichoice 0, 0, MULTI_SHARDS_RY, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270C0C:: @ 8270C0C
- multichoice 0, 0, 61, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsB:: @ 8270C0C
+ multichoice 0, 0, MULTI_SHARDS_B, 0
switch VAR_RESULT
- case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
- case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
- goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270C32:: @ 8270C32
- multichoice 0, 0, 62, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRB:: @ 8270C32
+ multichoice 0, 0, MULTI_SHARDS_RB, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270C63:: @ 8270C63
- multichoice 0, 0, 63, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYB:: @ 8270C63
+ multichoice 0, 0, MULTI_SHARDS_YB, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270C94:: @ 8270C94
- multichoice 0, 0, 64, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYB:: @ 8270C94
+ multichoice 0, 0, MULTI_SHARDS_RYB, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270CD0:: @ 8270CD0
- multichoice 0, 0, 65, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsG:: @ 8270CD0
+ multichoice 0, 0, MULTI_SHARDS_G, 0
switch VAR_RESULT
- case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
- case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
- goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270CF6:: @ 8270CF6
- multichoice 0, 0, 66, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRG:: @ 8270CF6
+ multichoice 0, 0, MULTI_SHARDS_RG, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270D27:: @ 8270D27
- multichoice 0, 0, 67, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYG:: @ 8270D27
+ multichoice 0, 0, MULTI_SHARDS_YG, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270D58:: @ 8270D58
- multichoice 0, 0, 68, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYG:: @ 8270D58
+ multichoice 0, 0, MULTI_SHARDS_RYG, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270D94:: @ 8270D94
- multichoice 0, 0, 69, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsBG:: @ 8270D94
+ multichoice 0, 0, MULTI_SHARDS_BG, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270DC5:: @ 8270DC5
- multichoice 0, 0, 70, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRBG:: @ 8270DC5
+ multichoice 0, 0, MULTI_SHARDS_RBG, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270E01:: @ 8270E01
- multichoice 0, 0, 71, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsYBG:: @ 8270E01
+ multichoice 0, 0, MULTI_SHARDS_YBG, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270E3D:: @ 8270E3D
- multichoice 0, 0, 72, 0
+Route124_DivingTreasureHuntersHouse_EventScript_ShardOptionsRYBG:: @ 8270E3D
+ multichoice 0, 0, MULTI_SHARDS_RYBG, 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
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard
+ case 4, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270E84:: @ 8270E84
- setvar VAR_0x8008, 48
- setvar VAR_0x8009, 95
- goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+Route124_DivingTreasureHuntersHouse_EventScript_TradeRedShard:: @ 8270E84
+ setvar VAR_0x8008, ITEM_RED_SHARD
+ setvar VAR_0x8009, ITEM_FIRE_STONE
+ goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard
-Route124_DivingTreasureHuntersHouse_EventScript_270E93:: @ 8270E93
- setvar VAR_0x8008, 50
- setvar VAR_0x8009, 96
- goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+Route124_DivingTreasureHuntersHouse_EventScript_TradeYellowShard:: @ 8270E93
+ setvar VAR_0x8008, ITEM_YELLOW_SHARD
+ setvar VAR_0x8009, ITEM_THUNDER_STONE
+ goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard
-Route124_DivingTreasureHuntersHouse_EventScript_270EA2:: @ 8270EA2
- setvar VAR_0x8008, 49
- setvar VAR_0x8009, 97
- goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+Route124_DivingTreasureHuntersHouse_EventScript_TradeBlueShard:: @ 8270EA2
+ setvar VAR_0x8008, ITEM_BLUE_SHARD
+ setvar VAR_0x8009, ITEM_WATER_STONE
+ goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard
-Route124_DivingTreasureHuntersHouse_EventScript_270EB1:: @ 8270EB1
- setvar VAR_0x8008, 51
- setvar VAR_0x8009, 98
- goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard:: @ 8270EB1
+ setvar VAR_0x8008, ITEM_GREEN_SHARD
+ setvar VAR_0x8009, ITEM_LEAF_STONE
+ goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard
-Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0
+Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard:: @ 8270EC0
bufferitemname 0, VAR_0x8008
bufferitemname 1, VAR_0x8009
- msgbox Route124_DivingTreasureHuntersHouse_Text_271132, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ msgbox Route124_DivingTreasureHuntersHouse_Text_YoullTradeShardForStone, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
checkitemspace VAR_0x8009, 1
- compare VAR_RESULT, 1
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_TradeShard
checkitem VAR_0x8008, 2
- compare VAR_RESULT, 0
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
- goto Route124_DivingTreasureHuntersHouse_EventScript_270F43
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_TradeShard
+ goto Route124_DivingTreasureHuntersHouse_EventScript_BagFull
end
-Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01
- takeitem VAR_0x8008, 1
- giveitem_std VAR_0x8009
- msgbox Route124_DivingTreasureHuntersHouse_Text_271158, MSGBOX_DEFAULT
- call Route124_DivingTreasureHuntersHouse_EventScript_270A72
+Route124_DivingTreasureHuntersHouse_EventScript_TradeShard:: @ 8270F01
+ removeitem VAR_0x8008
+ giveitem VAR_0x8009
+ msgbox Route124_DivingTreasureHuntersHouse_Text_ItsADeal, MSGBOX_DEFAULT
+ call Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards
compare VAR_TEMP_1, 0
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61
- msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE
- goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_EndTrade
+ msgbox Route124_DivingTreasureHuntersHouse_Text_TradeSomethingElse, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions
+ goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
-Route124_DivingTreasureHuntersHouse_EventScript_270F43:: @ 8270F43
- msgbox Route124_DivingTreasureHuntersHouse_Text_2711A0, MSGBOX_DEFAULT
+Route124_DivingTreasureHuntersHouse_EventScript_BagFull:: @ 8270F43
+ msgbox Route124_DivingTreasureHuntersHouse_Text_BagFull, MSGBOX_DEFAULT
release
end
-Route124_DivingTreasureHuntersHouse_EventScript_270F4D:: @ 8270F4D
- msgbox Route124_DivingTreasureHuntersHouse_Text_2711D8, MSGBOX_DEFAULT
+Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade:: @ 8270F4D
+ msgbox Route124_DivingTreasureHuntersHouse_Text_ComeBackIfYouChangeMind, MSGBOX_DEFAULT
release
end
-Route124_DivingTreasureHuntersHouse_EventScript_270F57:: @ 8270F57
- msgbox Route124_DivingTreasureHuntersHouse_Text_271027, MSGBOX_DEFAULT
+Route124_DivingTreasureHuntersHouse_EventScript_NoShards:: @ 8270F57
+ msgbox Route124_DivingTreasureHuntersHouse_Text_YouHaventGotAnyShards, MSGBOX_DEFAULT
release
end
-Route124_DivingTreasureHuntersHouse_EventScript_270F61:: @ 8270F61
+Route124_DivingTreasureHuntersHouse_EventScript_EndTrade:: @ 8270F61
release
end
-Route124_DivingTreasureHuntersHouse_EventScript_270F63:: @ 8270F63
- msgbox Route124_DivingTreasureHuntersHouse_Text_271217, MSGBOX_SIGN
+Route124_DivingTreasureHuntersHouse_EventScript_ShardTradeBoard:: @ 8270F63
+ msgbox Route124_DivingTreasureHuntersHouse_Text_ShardTradeBoard, MSGBOX_SIGN
end
-Route124_DivingTreasureHuntersHouse_Text_270F6C: @ 8270F6C
+Route124_DivingTreasureHuntersHouse_Text_Greeting: @ 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
+Route124_DivingTreasureHuntersHouse_Text_HaveYouSeenAnyShards: @ 8270FE5
.string "Tell me, have you seen any SHARDS of\n"
.string "tools made in ancient times?$"
-Route124_DivingTreasureHuntersHouse_Text_271027: @ 8271027
+Route124_DivingTreasureHuntersHouse_Text_YouHaventGotAnyShards: @ 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
+Route124_DivingTreasureHuntersHouse_Text_ThatsAShardIllTradeYou: @ 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
+Route124_DivingTreasureHuntersHouse_Text_WhatDoYouWantToTrade: @ 8271117
.string "What do you want to trade?$"
-Route124_DivingTreasureHuntersHouse_Text_271132: @ 8271132
+Route124_DivingTreasureHuntersHouse_Text_YoullTradeShardForStone: @ 8271132
.string "You'll trade your {STR_VAR_1} for\n"
.string "my {STR_VAR_2}, then?$"
-Route124_DivingTreasureHuntersHouse_Text_271158: @ 8271158
+Route124_DivingTreasureHuntersHouse_Text_ItsADeal: @ 8271158
.string "It's a done deal!\n"
.string "Use that wisely!$"
-Route124_DivingTreasureHuntersHouse_Text_27117B: @ 827117B
+Route124_DivingTreasureHuntersHouse_Text_TradeSomethingElse: @ 827117B
.string "Do you want to trade something else?$"
-Route124_DivingTreasureHuntersHouse_Text_2711A0: @ 82711A0
+Route124_DivingTreasureHuntersHouse_Text_BagFull: @ 82711A0
.string "Whoops, your BAG's full.\n"
.string "Get rid of some items, friend!$"
-Route124_DivingTreasureHuntersHouse_Text_2711D8: @ 82711D8
+Route124_DivingTreasureHuntersHouse_Text_ComeBackIfYouChangeMind: @ 82711D8
.string "No? That's a downer.\n"
.string "Well, if you change your mind, come back.$"
-Route124_DivingTreasureHuntersHouse_Text_271217: @ 8271217
+Route124_DivingTreasureHuntersHouse_Text_ShardTradeBoard: @ 8271217
.string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n"
.string "{CLEAR_TO 0x0f}RED SHARD{CLEAR_TO 0x59}{LEFT_ARROW}{RIGHT_ARROW}{CLEAR_TO 0x7b}FIRE STONE{CLEAR_TO 0xc8}\p"
.string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n"
diff --git a/data/maps/Route125/map.json b/data/maps/Route125/map.json
index 27615a521..402c42932 100644
--- a/data/maps/Route125/map.json
+++ b/data/maps/Route125/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route125_EventScript_1F67A4",
+ "script": "Route125_EventScript_Nolen",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 5,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route125_EventScript_1F67BB",
+ "script": "Route125_EventScript_Stan",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route125_EventScript_1F67D2",
+ "script": "Route125_EventScript_Tanya",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 9,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route125_EventScript_1F67E9",
+ "script": "Route125_EventScript_Sharon",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route125_EventScript_1F6800",
+ "script": "Route125_EventScript_Ernest",
"flag": "0"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route125_EventScript_1F6862",
+ "script": "Route125_EventScript_Kim",
"flag": "0"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route125_EventScript_1F687D",
+ "script": "Route125_EventScript_Iris",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route125_EventScript_1F6898",
+ "script": "Route125_EventScript_Presley",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route125_EventScript_1F68AF",
+ "script": "Route125_EventScript_Auron",
"flag": "0"
},
{
diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc
index 2c15eee3d..b771e75f9 100644
--- a/data/maps/Route125/scripts.inc
+++ b/data/maps/Route125/scripts.inc
@@ -1,89 +1,89 @@
Route125_MapScripts:: @ 81F6748
map_script MAP_SCRIPT_ON_TRANSITION, Route125_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route125_MapScript1_1F6783
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route125_MapScript2_1F679A
+ map_script MAP_SCRIPT_ON_LOAD, Route125_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route125_OnFrame
.byte 0
Route125_OnTransition: @ 81F6758
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route125_EventScript_273D13
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_WEST
- call_if_eq UnusualWeather_StartKyogreWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_EAST
- call_if_eq UnusualWeather_StartKyogreWeather
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST
+ call_if_eq AbnormalWeather_StartKyogreWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST
+ call_if_eq AbnormalWeather_StartKyogreWeather
end
-Route125_MapScript1_1F6783: @ 81F6783
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_WEST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute125West
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_125_EAST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute125East
+Route125_OnLoad: @ 81F6783
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute125West
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute125East
end
-Route125_MapScript2_1F679A: @ 81F679A
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route125_OnFrame: @ 81F679A
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route125_EventScript_1F67A4:: @ 81F67A4
- trainerbattle_single TRAINER_NOLEN, Route125_Text_2A1527, Route125_Text_2A155A
- msgbox Route125_Text_2A1567, MSGBOX_AUTOCLOSE
+Route125_EventScript_Nolen:: @ 81F67A4
+ trainerbattle_single TRAINER_NOLEN, Route125_Text_NolenIntro, Route125_Text_NolenDefeat
+ msgbox Route125_Text_NolenPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F67BB:: @ 81F67BB
- trainerbattle_single TRAINER_STAN, Route125_Text_2A159F, Route125_Text_2A15C7
- msgbox Route125_Text_2A15D5, MSGBOX_AUTOCLOSE
+Route125_EventScript_Stan:: @ 81F67BB
+ trainerbattle_single TRAINER_STAN, Route125_Text_StanIntro, Route125_Text_StanDefeat
+ msgbox Route125_Text_StanPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F67D2:: @ 81F67D2
- trainerbattle_single TRAINER_TANYA, Route125_Text_2A1615, Route125_Text_2A164D
- msgbox Route125_Text_2A165E, MSGBOX_AUTOCLOSE
+Route125_EventScript_Tanya:: @ 81F67D2
+ trainerbattle_single TRAINER_TANYA, Route125_Text_TanyaIntro, Route125_Text_TanyaDefeat
+ msgbox Route125_Text_TanyaPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F67E9:: @ 81F67E9
- trainerbattle_single TRAINER_SHARON, Route125_Text_2A1686, Route125_Text_2A16C5
- msgbox Route125_Text_2A16CE, MSGBOX_AUTOCLOSE
+Route125_EventScript_Sharon:: @ 81F67E9
+ trainerbattle_single TRAINER_SHARON, Route125_Text_SharonIntro, Route125_Text_SharonDefeat
+ msgbox Route125_Text_SharonPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F6800:: @ 81F6800
- trainerbattle_single TRAINER_ERNEST_1, Route125_Text_2A16FC, Route125_Text_2A173A, Route125_EventScript_1F682C
+Route125_EventScript_Ernest:: @ 81F6800
+ trainerbattle_single TRAINER_ERNEST_1, Route125_Text_ErnestIntro, Route125_Text_ErnestDefeat, Route125_EventScript_RegisterErnest
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route125_EventScript_1F684B
- msgbox Route125_Text_2A1755, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route125_EventScript_RematchErnest
+ msgbox Route125_Text_ErnestPostBattle, MSGBOX_DEFAULT
release
end
-Route125_EventScript_1F682C:: @ 81F682C
- special sub_80B4808
+Route125_EventScript_RegisterErnest:: @ 81F682C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route125_Text_2A17CF, MSGBOX_DEFAULT
+ msgbox Route125_Text_ErnestRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ERNEST_1
release
end
-Route125_EventScript_1F684B:: @ 81F684B
- trainerbattle_rematch TRAINER_ERNEST_1, Route125_Text_2A180E, Route125_Text_2A1851
- msgbox Route125_Text_2A187A, MSGBOX_AUTOCLOSE
+Route125_EventScript_RematchErnest:: @ 81F684B
+ trainerbattle_rematch TRAINER_ERNEST_1, Route125_Text_ErnestRematchIntro, Route125_Text_ErnestRematchDefeat
+ msgbox Route125_Text_ErnestRematchPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F6862:: @ 81F6862
- trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_2A192B, Route125_Text_2A1989, Route125_Text_2A19F8
- msgbox Route125_Text_2A19A6, MSGBOX_AUTOCLOSE
+Route125_EventScript_Kim:: @ 81F6862
+ trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_KimIntro, Route125_Text_KimDefeat, Route125_Text_KimNotEnoughMons
+ msgbox Route125_Text_KimPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F687D:: @ 81F687D
- trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_2A1A35, Route125_Text_2A1A71, Route125_Text_2A1AD9
- msgbox Route125_Text_2A1A92, MSGBOX_AUTOCLOSE
+Route125_EventScript_Iris:: @ 81F687D
+ trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_IrisIntro, Route125_Text_IrisDefeat, Route125_Text_IrisNotEnoughMons
+ msgbox Route125_Text_IrisPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F6898:: @ 81F6898
- trainerbattle_single TRAINER_PRESLEY, Route125_Text_2A1B1A, Route125_Text_2A1B4E
- msgbox Route125_Text_2A1B70, MSGBOX_AUTOCLOSE
+Route125_EventScript_Presley:: @ 81F6898
+ trainerbattle_single TRAINER_PRESLEY, Route125_Text_PresleyIntro, Route125_Text_PresleyDefeat
+ msgbox Route125_Text_PresleyPostBattle, MSGBOX_AUTOCLOSE
end
-Route125_EventScript_1F68AF:: @ 81F68AF
- trainerbattle_single TRAINER_AURON, Route125_Text_2A1BCE, Route125_Text_2A1BFD
- msgbox Route125_Text_2A1C2A, MSGBOX_AUTOCLOSE
+Route125_EventScript_Auron:: @ 81F68AF
+ trainerbattle_single TRAINER_AURON, Route125_Text_AuronIntro, Route125_Text_AuronDefeat
+ msgbox Route125_Text_AuronPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route126/map.json b/data/maps/Route126/map.json
index b8359bd84..db01091ac 100644
--- a/data/maps/Route126/map.json
+++ b/data/maps/Route126/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route126_EventScript_1F68D6",
+ "script": "Route126_EventScript_Barry",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route126_EventScript_1F68ED",
+ "script": "Route126_EventScript_Dean",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route126_EventScript_1F6904",
+ "script": "Route126_EventScript_Nikki",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route126_EventScript_1F691B",
+ "script": "Route126_EventScript_Brenda",
"flag": "0"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route126_EventScript_1F6960",
+ "script": "Route126_EventScript_Sienna",
"flag": "0"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route126_EventScript_1F6977",
+ "script": "Route126_EventScript_Pablo",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route126_EventScript_1F6949",
+ "script": "Route126_EventScript_Isobel",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route126_EventScript_1F6932",
+ "script": "Route126_EventScript_Leonardo",
"flag": "0"
}
],
diff --git a/data/maps/Route126/scripts.inc b/data/maps/Route126/scripts.inc
index 7a606e020..6fbc43592 100644
--- a/data/maps/Route126/scripts.inc
+++ b/data/maps/Route126/scripts.inc
@@ -3,63 +3,63 @@ Route126_MapScripts:: @ 81F68C6
.byte 0
Route126_OnTransition: @ 81F68CC
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
end
-Route126_EventScript_1F68D6:: @ 81F68D6
- trainerbattle_single TRAINER_BARRY, Route126_Text_2A1C95, Route126_Text_2A1CC8
- msgbox Route126_Text_2A1CDD, MSGBOX_AUTOCLOSE
+Route126_EventScript_Barry:: @ 81F68D6
+ trainerbattle_single TRAINER_BARRY, Route126_Text_BarryIntro, Route126_Text_BarryDefeat
+ msgbox Route126_Text_BarryPostBattle, MSGBOX_AUTOCLOSE
end
-Route126_EventScript_1F68ED:: @ 81F68ED
- trainerbattle_single TRAINER_DEAN, Route126_Text_2A1D2A, Route126_Text_2A1D63
- msgbox Route126_Text_2A1D72, MSGBOX_AUTOCLOSE
+Route126_EventScript_Dean:: @ 81F68ED
+ trainerbattle_single TRAINER_DEAN, Route126_Text_DeanIntro, Route126_Text_DeanDefeat
+ msgbox Route126_Text_DeanPostBattle, MSGBOX_AUTOCLOSE
end
-Route126_EventScript_1F6904:: @ 81F6904
- trainerbattle_single TRAINER_NIKKI, Route126_Text_2A1DAE, Route126_Text_2A1DC8
- msgbox Route126_Text_2A1E03, MSGBOX_AUTOCLOSE
+Route126_EventScript_Nikki:: @ 81F6904
+ trainerbattle_single TRAINER_NIKKI, Route126_Text_NikkiIntro, Route126_Text_NikkiDefeat
+ msgbox Route126_Text_NikkiPostBattle, MSGBOX_AUTOCLOSE
end
-Route126_EventScript_1F691B:: @ 81F691B
- trainerbattle_single TRAINER_BRENDA, Route126_Text_2A1E3E, Route126_Text_2A1E63
- msgbox Route126_Text_2A1E70, MSGBOX_AUTOCLOSE
+Route126_EventScript_Brenda:: @ 81F691B
+ trainerbattle_single TRAINER_BRENDA, Route126_Text_BrendaIntro, Route126_Text_BrendaDefeat
+ msgbox Route126_Text_BrendaPostBattle, MSGBOX_AUTOCLOSE
end
-Route126_EventScript_1F6932:: @ 81F6932
- trainerbattle_single TRAINER_LEONARDO, Route126_Text_2A2063, Route126_Text_2A20C6
- msgbox Route126_Text_2A20F7, MSGBOX_AUTOCLOSE
+Route126_EventScript_Leonardo:: @ 81F6932
+ trainerbattle_single TRAINER_LEONARDO, Route126_Text_LeonardoIntro, Route126_Text_LeonardoDefeat
+ msgbox Route126_Text_LeonardoPostBattle, MSGBOX_AUTOCLOSE
end
-Route126_EventScript_1F6949:: @ 81F6949
- trainerbattle_single TRAINER_ISOBEL, Route126_Text_2A216A, Route126_Text_2A21A3
- msgbox Route126_Text_2A21B8, MSGBOX_AUTOCLOSE
+Route126_EventScript_Isobel:: @ 81F6949
+ trainerbattle_single TRAINER_ISOBEL, Route126_Text_IsobelIntro, Route126_Text_IsobelDefeat
+ msgbox Route126_Text_IsobelPostBattle, MSGBOX_AUTOCLOSE
end
-Route126_EventScript_1F6960:: @ 81F6960
- trainerbattle_single TRAINER_SIENNA, Route126_Text_2A21EF, Route126_Text_2A2216
- msgbox Route126_Text_2A222A, MSGBOX_AUTOCLOSE
+Route126_EventScript_Sienna:: @ 81F6960
+ trainerbattle_single TRAINER_SIENNA, Route126_Text_SiennaIntro, Route126_Text_SiennaDefeat
+ msgbox Route126_Text_SiennaPostBattle, MSGBOX_AUTOCLOSE
end
-Route126_EventScript_1F6977:: @ 81F6977
- trainerbattle_single TRAINER_PABLO_1, Route126_Text_2A1EA5, Route126_Text_2A1EE3, Route126_EventScript_1F69A3
+Route126_EventScript_Pablo:: @ 81F6977
+ trainerbattle_single TRAINER_PABLO_1, Route126_Text_PabloIntro, Route126_Text_PabloDefeat, Route126_EventScript_RegisterPablo
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route126_EventScript_1F69C2
- msgbox Route126_Text_2A1F10, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route126_EventScript_RematchPablo
+ msgbox Route126_Text_PabloPostBattle, MSGBOX_DEFAULT
release
end
-Route126_EventScript_1F69A3:: @ 81F69A3
- special sub_80B4808
+Route126_EventScript_RegisterPablo:: @ 81F69A3
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route126_Text_2A1F5A, MSGBOX_DEFAULT
+ msgbox Route126_Text_PabloRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_PABLO_1
release
end
-Route126_EventScript_1F69C2:: @ 81F69C2
- trainerbattle_rematch TRAINER_PABLO_1, Route126_Text_2A1F98, Route126_Text_2A1FD8
- msgbox Route126_Text_2A200C, MSGBOX_AUTOCLOSE
+Route126_EventScript_RematchPablo:: @ 81F69C2
+ trainerbattle_rematch TRAINER_PABLO_1, Route126_Text_PabloRematchIntro, Route126_Text_PabloRematchDefeat
+ msgbox Route126_Text_PabloPostRematch, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route127/map.json b/data/maps/Route127/map.json
index 08d39d971..626982ca2 100644
--- a/data/maps/Route127/map.json
+++ b/data/maps/Route127/map.json
@@ -45,7 +45,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route127_EventScript_1F6A35",
+ "script": "Route127_EventScript_Camden",
"flag": "0"
},
{
@@ -58,7 +58,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route127_EventScript_1F6A4C",
+ "script": "Route127_EventScript_Donny",
"flag": "0"
},
{
@@ -97,7 +97,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route127_EventScript_1F6A63",
+ "script": "Route127_EventScript_Jonah",
"flag": "0"
},
{
@@ -110,7 +110,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route127_EventScript_1F6A91",
+ "script": "Route127_EventScript_Roger",
"flag": "0"
},
{
@@ -123,7 +123,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route127_EventScript_1F6A7A",
+ "script": "Route127_EventScript_Henry",
"flag": "0"
},
{
@@ -136,7 +136,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route127_EventScript_1F6AA8",
+ "script": "Route127_EventScript_Aidan",
"flag": "0"
},
{
@@ -149,7 +149,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route127_EventScript_1F6AD6",
+ "script": "Route127_EventScript_Koji",
"flag": "0"
},
{
@@ -162,7 +162,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route127_EventScript_1F6ABF",
+ "script": "Route127_EventScript_Athena",
"flag": "0"
},
{
diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc
index 1829dbcfd..323315b04 100644
--- a/data/maps/Route127/scripts.inc
+++ b/data/maps/Route127/scripts.inc
@@ -1,84 +1,84 @@
Route127_MapScripts:: @ 81F69D9
map_script MAP_SCRIPT_ON_TRANSITION, Route127_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route127_MapScript1_1F6A14
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route127_MapScript2_1F6A2B
+ map_script MAP_SCRIPT_ON_LOAD, Route127_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route127_OnFrame
.byte 0
Route127_OnTransition: @ 81F69E9
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route127_EventScript_273D13
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_NORTH
- call_if_eq UnusualWeather_StartKyogreWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_SOUTH
- call_if_eq UnusualWeather_StartKyogreWeather
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH
+ call_if_eq AbnormalWeather_StartKyogreWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH
+ call_if_eq AbnormalWeather_StartKyogreWeather
end
-Route127_MapScript1_1F6A14: @ 81F6A14
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_NORTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute127North
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_127_SOUTH
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute127South
+Route127_OnLoad: @ 81F6A14
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute127North
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute127South
end
-Route127_MapScript2_1F6A2B: @ 81F6A2B
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route127_OnFrame: @ 81F6A2B
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route127_EventScript_1F6A35:: @ 81F6A35
- trainerbattle_single TRAINER_CAMDEN, Route127_Text_2A225F, Route127_Text_2A2294
- msgbox Route127_Text_2A22A1, MSGBOX_AUTOCLOSE
+Route127_EventScript_Camden:: @ 81F6A35
+ trainerbattle_single TRAINER_CAMDEN, Route127_Text_CamdenIntro, Route127_Text_CamdenDefeat
+ msgbox Route127_Text_CamdenPostBattle, MSGBOX_AUTOCLOSE
end
-Route127_EventScript_1F6A4C:: @ 81F6A4C
- trainerbattle_single TRAINER_DONNY, Route127_Text_2A22DD, Route127_Text_2A2315
- msgbox Route127_Text_2A232C, MSGBOX_AUTOCLOSE
+Route127_EventScript_Donny:: @ 81F6A4C
+ trainerbattle_single TRAINER_DONNY, Route127_Text_DonnyIntro, Route127_Text_DonnyDefeat
+ msgbox Route127_Text_DonnyPostBattle, MSGBOX_AUTOCLOSE
end
-Route127_EventScript_1F6A63:: @ 81F6A63
- trainerbattle_single TRAINER_JONAH, Route127_Text_2A2381, Route127_Text_2A23E1
- msgbox Route127_Text_2A240C, MSGBOX_AUTOCLOSE
+Route127_EventScript_Jonah:: @ 81F6A63
+ trainerbattle_single TRAINER_JONAH, Route127_Text_JonahIntro, Route127_Text_JonahDefeat
+ msgbox Route127_Text_JonahPostBattle, MSGBOX_AUTOCLOSE
end
-Route127_EventScript_1F6A7A:: @ 81F6A7A
- trainerbattle_single TRAINER_HENRY, Route127_Text_2A2450, Route127_Text_2A2483
- msgbox Route127_Text_2A2494, MSGBOX_AUTOCLOSE
+Route127_EventScript_Henry:: @ 81F6A7A
+ trainerbattle_single TRAINER_HENRY, Route127_Text_HenryIntro, Route127_Text_HenryDefeat
+ msgbox Route127_Text_HenryPostBattle, MSGBOX_AUTOCLOSE
end
-Route127_EventScript_1F6A91:: @ 81F6A91
- trainerbattle_single TRAINER_ROGER, Route127_Text_2A24C6, Route127_Text_2A250B
- msgbox Route127_Text_2A2538, MSGBOX_AUTOCLOSE
+Route127_EventScript_Roger:: @ 81F6A91
+ trainerbattle_single TRAINER_ROGER, Route127_Text_RogerIntro, Route127_Text_RogerDefeat
+ msgbox Route127_Text_RogerPostBattle, MSGBOX_AUTOCLOSE
end
-Route127_EventScript_1F6AA8:: @ 81F6AA8
- trainerbattle_single TRAINER_AIDAN, Route127_Text_2A257A, Route127_Text_2A25C1
- msgbox Route127_Text_2A25D2, MSGBOX_AUTOCLOSE
+Route127_EventScript_Aidan:: @ 81F6AA8
+ trainerbattle_single TRAINER_AIDAN, Route127_Text_AidanIntro, Route127_Text_AidanDefeat
+ msgbox Route127_Text_AidanPostBattle, MSGBOX_AUTOCLOSE
end
-Route127_EventScript_1F6ABF:: @ 81F6ABF
- trainerbattle_single TRAINER_ATHENA, Route127_Text_2A27D0, Route127_Text_2A27FC
- msgbox Route127_Text_2A2832, MSGBOX_AUTOCLOSE
+Route127_EventScript_Athena:: @ 81F6ABF
+ trainerbattle_single TRAINER_ATHENA, Route127_Text_AthenaIntro, Route127_Text_AthenaDefeat
+ msgbox Route127_Text_AthenaPostBattle, MSGBOX_AUTOCLOSE
end
-Route127_EventScript_1F6AD6:: @ 81F6AD6
- trainerbattle_single TRAINER_KOJI_1, Route127_Text_2A264D, Route127_Text_2A2685, Route127_EventScript_1F6B02
+Route127_EventScript_Koji:: @ 81F6AD6
+ trainerbattle_single TRAINER_KOJI_1, Route127_Text_KojiIntro, Route127_Text_KojiDefeat, Route127_EventScript_RegisterKoji
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route127_EventScript_1F6B21
- msgbox Route127_Text_2A26AC, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route127_EventScript_RematchKoji
+ msgbox Route127_Text_KojiPostBattle, MSGBOX_DEFAULT
release
end
-Route127_EventScript_1F6B02:: @ 81F6B02
- special sub_80B4808
+Route127_EventScript_RegisterKoji:: @ 81F6B02
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route127_Text_2A26EE, MSGBOX_DEFAULT
+ msgbox Route127_Text_KojiRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_KOJI_1
release
end
-Route127_EventScript_1F6B21:: @ 81F6B21
- trainerbattle_rematch TRAINER_KOJI_1, Route127_Text_2A2734, Route127_Text_2A276B
- msgbox Route127_Text_2A278E, MSGBOX_AUTOCLOSE
+Route127_EventScript_RematchKoji:: @ 81F6B21
+ trainerbattle_rematch TRAINER_KOJI_1, Route127_Text_KojiRematchIntro, Route127_Text_KojiRematchDefeat
+ msgbox Route127_Text_KojiPostRematch, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route128/map.json b/data/maps/Route128/map.json
index 58246c247..a7de8ed19 100644
--- a/data/maps/Route128/map.json
+++ b/data/maps/Route128/map.json
@@ -45,7 +45,7 @@
"movement_range_y": 5,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route128_EventScript_1F6CBE",
+ "script": "Route128_EventScript_Isaiah",
"flag": "0"
},
{
@@ -58,7 +58,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "7",
- "script": "Route128_EventScript_1F6D20",
+ "script": "Route128_EventScript_Katelyn",
"flag": "0"
},
{
@@ -110,7 +110,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "Route128_EventScript_1F6DB0",
+ "script": "Route128_EventScript_Wayne",
"flag": "0"
},
{
@@ -123,7 +123,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route128_EventScript_1F6D99",
+ "script": "Route128_EventScript_Ruben",
"flag": "0"
},
{
@@ -136,7 +136,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route128_EventScript_1F6D82",
+ "script": "Route128_EventScript_Alexa",
"flag": "0"
},
{
@@ -149,7 +149,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route128_EventScript_1F6DDE",
+ "script": "Route128_EventScript_Carlee",
"flag": "0"
},
{
@@ -162,7 +162,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route128_EventScript_1F6DC7",
+ "script": "Route128_EventScript_Harrison",
"flag": "0"
}
],
diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc
index bad74f451..90abbddd5 100644
--- a/data/maps/Route128/scripts.inc
+++ b/data/maps/Route128/scripts.inc
@@ -1,48 +1,48 @@
Route128_MapScripts:: @ 81F6B38
map_script MAP_SCRIPT_ON_TRANSITION, Route128_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route128_MapScript2_1F6B4D
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route128_OnFrame
.byte 0
Route128_OnTransition: @ 81F6B43
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
end
-Route128_MapScript2_1F6B4D: @ 81F6B4D
- map_script_2 VAR_ROUTE128_STATE, 1, Route128_EventScript_1F6B57
+Route128_OnFrame: @ 81F6B4D
+ map_script_2 VAR_ROUTE128_STATE, 1, Route128_EventScript_KyogreAwakenedScene
.2byte 0
-Route128_EventScript_1F6B57:: @ 81F6B57
+Route128_EventScript_KyogreAwakenedScene:: @ 81F6B57
lockall
delay 20
- applymovement 4, Route128_Movement_1F6C89
+ applymovement 4, Route128_Movement_ArchieLookAround
waitmovement 0
- msgbox Route128_Text_1F6DF5, MSGBOX_DEFAULT
+ msgbox Route128_Text_ArchieWhatHappened, MSGBOX_DEFAULT
closemessage
- applymovement 4, Route128_Movement_1F6C91
+ applymovement 4, Route128_Movement_ArchieBackUp
waitmovement 0
- msgbox Route128_Text_1F6E48, MSGBOX_DEFAULT
+ msgbox Route128_Text_ArchieIOnlyWanted, MSGBOX_DEFAULT
closemessage
- applymovement 5, Route128_Movement_1F6CAD
+ applymovement 5, Route128_Movement_MaxieApproachArchie
waitmovement 0
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox Route128_Text_1F6E5A, MSGBOX_DEFAULT
+ msgbox Route128_Text_MaxieDoYouUnderstandNow, MSGBOX_DEFAULT
closemessage
- applymovement 5, Route128_Movement_1F6CBB
+ applymovement 5, Route128_Movement_MaxieApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox Route128_Text_1F6F1E, MSGBOX_DEFAULT
+ msgbox Route128_Text_MaxieResposibilityFallsToArchieAndMe, MSGBOX_DEFAULT
closemessage
- applymovement 4, Route128_Movement_1F6C96
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
- applymovement 5, Route128_Movement_1F6CA8
+ applymovement 4, Route128_Movement_ArchieRunLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 5, Route128_Movement_MaxieWalkLeft
waitmovement 0
- msgbox Route128_Text_1F704F, MSGBOX_DEFAULT
+ msgbox Route128_Text_MaxieThisDefiesBelief, MSGBOX_DEFAULT
closemessage
delay 40
- applymovement 5, Route128_Movement_1F6CB0
- applymovement 4, Route128_Movement_1F6C9B
+ applymovement 5, Route128_Movement_MaxieExit
+ applymovement 4, Route128_Movement_ArchieExit
waitmovement 0
removeobject 5
removeobject 4
@@ -51,21 +51,21 @@ Route128_EventScript_1F6B57:: @ 81F6B57
dofieldeffect FLDEFF_NPCFLY_OUT
waitfieldeffect FLDEFF_NPCFLY_OUT
addobject 3
- applymovement 3, Route128_Movement_1F6C87
+ applymovement 3, Route128_Movement_StevenApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox Route128_Text_1F70C9, MSGBOX_DEFAULT
+ msgbox Route128_Text_StevenWhatIsHappening, MSGBOX_DEFAULT
closemessage
- applymovement 3, Route128_Movement_1F6C85
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement 3, Route128_Movement_StevenWalkUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox Route128_Text_1F70EA, MSGBOX_DEFAULT
- applymovement 3, Common_Movement_WalkInPlaceDown
+ msgbox Route128_Text_StevenWholeWorldWillDrown, MSGBOX_DEFAULT
+ applymovement 3, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox Route128_Text_1F721B, MSGBOX_DEFAULT
+ msgbox Route128_Text_StevenImGoingToSootopolis, MSGBOX_DEFAULT
closemessage
- applymovement 3, Common_Movement_WalkInPlaceDown
+ applymovement 3, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 50
setfieldeffectargument 0, 1
@@ -78,11 +78,11 @@ Route128_EventScript_1F6B57:: @ 81F6B57
releaseall
end
-Route128_Movement_1F6C76: @ 81F6C76
+Route128_Movement_Unused1: @ 81F6C76
walk_fast_left
step_end
-Route128_Movement_1F6C78: @ 81F6C78
+Route128_Movement_Unused2: @ 81F6C78
walk_left
walk_left
walk_left
@@ -97,15 +97,15 @@ Route128_Movement_1F6C78: @ 81F6C78
walk_up
step_end
-Route128_Movement_1F6C85: @ 81F6C85
+Route128_Movement_StevenWalkUp: @ 81F6C85
walk_up
step_end
-Route128_Movement_1F6C87: @ 81F6C87
+Route128_Movement_StevenApproachPlayer: @ 81F6C87
walk_fast_left
step_end
-Route128_Movement_1F6C89: @ 81F6C89
+Route128_Movement_ArchieLookAround: @ 81F6C89
walk_fast_down
walk_in_place_fastest_left
delay_16
@@ -115,21 +115,21 @@ Route128_Movement_1F6C89: @ 81F6C89
walk_in_place_fastest_down
step_end
-Route128_Movement_1F6C91: @ 81F6C91
+Route128_Movement_ArchieBackUp: @ 81F6C91
lock_facing_direction
walk_slow_up
delay_16
unlock_facing_direction
step_end
-Route128_Movement_1F6C96: @ 81F6C96
+Route128_Movement_ArchieRunLeft: @ 81F6C96
walk_fast_left
walk_fast_left
walk_fast_left
walk_in_place_fastest_right
step_end
-Route128_Movement_1F6C9B: @ 81F6C9B
+Route128_Movement_ArchieExit: @ 81F6C9B
delay_16
delay_16
walk_fast_up
@@ -144,19 +144,19 @@ Route128_Movement_1F6C9B: @ 81F6C9B
walk_fast_up
step_end
-Route128_Movement_1F6CA8: @ 81F6CA8
+Route128_Movement_MaxieWalkLeft: @ 81F6CA8
walk_left
walk_left
delay_8
delay_4
step_end
-Route128_Movement_1F6CAD: @ 81F6CAD
+Route128_Movement_MaxieApproachArchie: @ 81F6CAD
walk_left
walk_in_place_fastest_down
step_end
-Route128_Movement_1F6CB0: @ 81F6CB0
+Route128_Movement_MaxieExit: @ 81F6CB0
walk_fast_left
walk_fast_left
walk_fast_left
@@ -169,90 +169,90 @@ Route128_Movement_1F6CB0: @ 81F6CB0
walk_fast_up
step_end
-Route128_Movement_1F6CBB: @ 81F6CBB
+Route128_Movement_MaxieApproachPlayer: @ 81F6CBB
walk_right
walk_in_place_fastest_down
step_end
-Route128_EventScript_1F6CBE:: @ 81F6CBE
- trainerbattle_single TRAINER_ISAIAH_1, Route128_Text_2A287F, Route128_Text_2A28AB, Route128_EventScript_1F6CEA
+Route128_EventScript_Isaiah:: @ 81F6CBE
+ trainerbattle_single TRAINER_ISAIAH_1, Route128_Text_IsaiahIntro, Route128_Text_IsaiahDefeat, Route128_EventScript_RegisterIsaiah
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route128_EventScript_1F6D09
- msgbox Route128_Text_2A28D7, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route128_EventScript_RematchIsaiah
+ msgbox Route128_Text_IsaiahPostBattle, MSGBOX_DEFAULT
release
end
-Route128_EventScript_1F6CEA:: @ 81F6CEA
- special sub_80B4808
+Route128_EventScript_RegisterIsaiah:: @ 81F6CEA
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route128_Text_2A2916, MSGBOX_DEFAULT
+ msgbox Route128_Text_IsaiahRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_ISAIAH_1
release
end
-Route128_EventScript_1F6D09:: @ 81F6D09
- trainerbattle_rematch TRAINER_ISAIAH_1, Route128_Text_2A2975, Route128_Text_2A29B8
- msgbox Route128_Text_2A29DC, MSGBOX_AUTOCLOSE
+Route128_EventScript_RematchIsaiah:: @ 81F6D09
+ trainerbattle_rematch TRAINER_ISAIAH_1, Route128_Text_IsaiahRematchIntro, Route128_Text_IsaiahRematchDefeat
+ msgbox Route128_Text_IsaiahPostRematch, MSGBOX_AUTOCLOSE
end
-Route128_EventScript_1F6D20:: @ 81F6D20
- trainerbattle_single TRAINER_KATELYN_1, Route128_Text_2A2A1F, Route128_Text_2A2A94, Route128_EventScript_1F6D4C
+Route128_EventScript_Katelyn:: @ 81F6D20
+ trainerbattle_single TRAINER_KATELYN_1, Route128_Text_KatelynIntro, Route128_Text_KatelynDefeat, Route128_EventScript_RegisterKatelyn
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq Route128_EventScript_1F6D6B
- msgbox Route128_Text_2A2AB7, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route128_EventScript_RematchKatelyn
+ msgbox Route128_Text_KatelynPostBattle, MSGBOX_DEFAULT
release
end
-Route128_EventScript_1F6D4C:: @ 81F6D4C
- special sub_80B4808
+Route128_EventScript_RegisterKatelyn:: @ 81F6D4C
+ special PlayerFaceTrainerAfterBattle
waitmovement 0
- msgbox Route128_Text_2A2AF9, MSGBOX_DEFAULT
+ msgbox Route128_Text_KatelynRegister, MSGBOX_DEFAULT
register_matchcall TRAINER_KATELYN_1
release
end
-Route128_EventScript_1F6D6B:: @ 81F6D6B
- trainerbattle_rematch TRAINER_KATELYN_1, Route128_Text_2A2B41, Route128_Text_2A2BAB
- msgbox Route128_Text_2A2BDD, MSGBOX_AUTOCLOSE
+Route128_EventScript_RematchKatelyn:: @ 81F6D6B
+ trainerbattle_rematch TRAINER_KATELYN_1, Route128_Text_KatelynRematchIntro, Route128_Text_KatelynRematchDefeat
+ msgbox Route128_Text_KatelynPostRematch, MSGBOX_AUTOCLOSE
end
-Route128_EventScript_1F6D82:: @ 81F6D82
- trainerbattle_single TRAINER_ALEXA, Route128_Text_2A2C1C, Route128_Text_2A2C79
- msgbox Route128_Text_2A2C95, MSGBOX_AUTOCLOSE
+Route128_EventScript_Alexa:: @ 81F6D82
+ trainerbattle_single TRAINER_ALEXA, Route128_Text_AlexaIntro, Route128_Text_AlexaDefeat
+ msgbox Route128_Text_AlexaPostBattle, MSGBOX_AUTOCLOSE
end
-Route128_EventScript_1F6D99:: @ 81F6D99
- trainerbattle_single TRAINER_RUBEN, Route128_Text_2A2CD9, Route128_Text_2A2CFE
- msgbox Route128_Text_2A2D0D, MSGBOX_AUTOCLOSE
+Route128_EventScript_Ruben:: @ 81F6D99
+ trainerbattle_single TRAINER_RUBEN, Route128_Text_RubenIntro, Route128_Text_RubenDefeat
+ msgbox Route128_Text_RubenPostBattle, MSGBOX_AUTOCLOSE
end
-Route128_EventScript_1F6DB0:: @ 81F6DB0
- trainerbattle_single TRAINER_WAYNE, Route128_Text_2A2D3D, Route128_Text_2A2DA9
- msgbox Route128_Text_2A2DBA, MSGBOX_AUTOCLOSE
+Route128_EventScript_Wayne:: @ 81F6DB0
+ trainerbattle_single TRAINER_WAYNE, Route128_Text_WayneIntro, Route128_Text_WayneDefeat
+ msgbox Route128_Text_WaynePostBattle, MSGBOX_AUTOCLOSE
end
-Route128_EventScript_1F6DC7:: @ 81F6DC7
- trainerbattle_single TRAINER_HARRISON, Route128_Text_2A2E0F, Route128_Text_2A2E44
- msgbox Route128_Text_2A2E6C, MSGBOX_AUTOCLOSE
+Route128_EventScript_Harrison:: @ 81F6DC7
+ trainerbattle_single TRAINER_HARRISON, Route128_Text_HarrisonIntro, Route128_Text_HarrisonDefeat
+ msgbox Route128_Text_HarrisonPostBattle, MSGBOX_AUTOCLOSE
end
-Route128_EventScript_1F6DDE:: @ 81F6DDE
- trainerbattle_single TRAINER_CARLEE, Route128_Text_2A2EC8, Route128_Text_2A2EFA
- msgbox Route128_Text_2A2F2F, MSGBOX_AUTOCLOSE
+Route128_EventScript_Carlee:: @ 81F6DDE
+ trainerbattle_single TRAINER_CARLEE, Route128_Text_CarleeIntro, Route128_Text_CarleeDefeat
+ msgbox Route128_Text_CarleePostBattle, MSGBOX_AUTOCLOSE
end
-Route128_Text_1F6DF5: @ 81F6DF5
+Route128_Text_ArchieWhatHappened: @ 81F6DF5
.string "ARCHIE: What happened…\n"
.string "What is this wretched scene…\p"
.string "Did I…make a horrible mistake?$"
-Route128_Text_1F6E48: @ 81F6E48
+Route128_Text_ArchieIOnlyWanted: @ 81F6E48
.string "I…\n"
.string "I only wanted…$"
-Route128_Text_1F6E5A: @ 81F6E5A
+Route128_Text_MaxieDoYouUnderstandNow: @ 81F6E5A
.string "MAXIE: Do you understand now,\n"
.string "ARCHIE?\p"
.string "Do you finally see how disastrous\n"
@@ -261,7 +261,7 @@ Route128_Text_1F6E5A: @ 81F6E5A
.string "something before the situation goes\l"
.string "completely out of control!$"
-Route128_Text_1F6F1E: @ 81F6F1E
+Route128_Text_MaxieResposibilityFallsToArchieAndMe: @ 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"
@@ -273,17 +273,17 @@ Route128_Text_1F6F1E: @ 81F6F1E
.string "The responsibility for putting an end\n"
.string "to this falls to ARCHIE and me…$"
-Route128_Text_1F704F: @ 81F704F
+Route128_Text_MaxieThisDefiesBelief: @ 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
+Route128_Text_StevenWhatIsHappening: @ 81F70C9
.string "STEVEN: {PLAYER}{KUN}!\n"
.string "What is happening?$"
-Route128_Text_1F70EA: @ 81F70EA
+Route128_Text_StevenWholeWorldWillDrown: @ 81F70EA
.string "This is terrible…\p"
.string "After the scorching heat wave ended,\n"
.string "this deluge began.\p"
@@ -295,7 +295,7 @@ Route128_Text_1F70EA: @ 81F70EA
.string "There's no point arguing here…\n"
.string "SOOTOPOLIS might provide answers…$"
-Route128_Text_1F721B: @ 81F721B
+Route128_Text_StevenImGoingToSootopolis: @ 81F721B
.string "{PLAYER}{KUN}…\n"
.string "I don't know what you intend to do,\l"
.string "but don't do anything reckless.\p"
diff --git a/data/maps/Route129/map.json b/data/maps/Route129/map.json
index 3183f9821..6b19cc320 100644
--- a/data/maps/Route129/map.json
+++ b/data/maps/Route129/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route129_EventScript_1F72EC",
+ "script": "Route129_EventScript_Chase",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route129_EventScript_1F7303",
+ "script": "Route129_EventScript_Allison",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route129_EventScript_1F7331",
+ "script": "Route129_EventScript_Tisha",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route129_EventScript_1F731A",
+ "script": "Route129_EventScript_Reed",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route129_EventScript_1F7348",
+ "script": "Route129_EventScript_Clarence",
"flag": "0"
}
],
diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc
index d57a27cf9..ea53c3bf2 100644
--- a/data/maps/Route129/scripts.inc
+++ b/data/maps/Route129/scripts.inc
@@ -1,57 +1,57 @@
Route129_MapScripts:: @ 81F7284
map_script MAP_SCRIPT_ON_TRANSITION, Route129_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Route129_MapScript1_1F7294
- map_script MAP_SCRIPT_ON_FRAME_TABLE, Route129_MapScript2_1F72E2
+ map_script MAP_SCRIPT_ON_LOAD, Route129_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, Route129_OnFrame
.byte 0
-Route129_MapScript1_1F7294: @ 81F7294
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute129West
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_EAST
- call_if_eq UnusualWeather_EventScript_PlaceTilesRoute129East
+Route129_OnLoad: @ 81F7294
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute129West
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST
+ call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute129East
end
Route129_OnTransition: @ 81F72AB
- compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
- call_if_eq Route129_EventScript_273D13
+ compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
+ call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge Route129_EventScript_1F72D8
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST
- call_if_eq UnusualWeather_StartKyogreWeather
- compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_EAST
- call_if_eq UnusualWeather_StartKyogreWeather
+ call_if_ge Route129_EventScript_CheckSetAbnormalWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST
+ call_if_eq AbnormalWeather_StartKyogreWeather
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST
+ call_if_eq AbnormalWeather_StartKyogreWeather
end
-Route129_EventScript_1F72D8:: @ 81F72D8
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+Route129_EventScript_CheckSetAbnormalWeather:: @ 81F72D8
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
return
-Route129_MapScript2_1F72E2: @ 81F72E2
- map_script_2 VAR_SHOULD_END_UNUSUAL_WEATHER, 1, UnusualWeather_EventScript_EndEventAndCleanup_1
+Route129_OnFrame: @ 81F72E2
+ map_script_2 VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_EndEventAndCleanup_1
.2byte 0
-Route129_EventScript_1F72EC:: @ 81F72EC
- trainerbattle_single TRAINER_CHASE, Route129_Text_2A2F66, Route129_Text_2A2F9D
- msgbox Route129_Text_2A2FB9, MSGBOX_AUTOCLOSE
+Route129_EventScript_Chase:: @ 81F72EC
+ trainerbattle_single TRAINER_CHASE, Route129_Text_ChaseIntro, Route129_Text_ChaseDefeat
+ msgbox Route129_Text_ChasePostBattle, MSGBOX_AUTOCLOSE
end
-Route129_EventScript_1F7303:: @ 81F7303
- trainerbattle_single TRAINER_ALLISON, Route129_Text_2A2FF2, Route129_Text_2A3034
- msgbox Route129_Text_2A3048, MSGBOX_AUTOCLOSE
+Route129_EventScript_Allison:: @ 81F7303
+ trainerbattle_single TRAINER_ALLISON, Route129_Text_AllisonIntro, Route129_Text_AllisonDefeat
+ msgbox Route129_Text_AllisonPostBattle, MSGBOX_AUTOCLOSE
end
-Route129_EventScript_1F731A:: @ 81F731A
- trainerbattle_single TRAINER_REED, Route129_Text_2A30CD, Route129_Text_2A30F1
- msgbox Route129_Text_2A3114, MSGBOX_AUTOCLOSE
+Route129_EventScript_Reed:: @ 81F731A
+ trainerbattle_single TRAINER_REED, Route129_Text_ReedIntro, Route129_Text_ReedDefeat
+ msgbox Route129_Text_ReedPostBattle, MSGBOX_AUTOCLOSE
end
-Route129_EventScript_1F7331:: @ 81F7331
- trainerbattle_single TRAINER_TISHA, Route129_Text_2A314E, Route129_Text_2A317D
- msgbox Route129_Text_2A31A6, MSGBOX_AUTOCLOSE
+Route129_EventScript_Tisha:: @ 81F7331
+ trainerbattle_single TRAINER_TISHA, Route129_Text_TishaIntro, Route129_Text_TishaDefeat
+ msgbox Route129_Text_TishaPostBattle, MSGBOX_AUTOCLOSE
end
-Route129_EventScript_1F7348:: @ 81F7348
- trainerbattle_single TRAINER_CLARENCE, Route129_Text_2A3204, Route129_Text_2A3239
- msgbox Route129_Text_2A3252, MSGBOX_AUTOCLOSE
+Route129_EventScript_Clarence:: @ 81F7348
+ trainerbattle_single TRAINER_CLARENCE, Route129_Text_ClarenceIntro, Route129_Text_ClarenceDefeat
+ msgbox Route129_Text_ClarencePostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route130/map.json b/data/maps/Route130/map.json
index 18d168b17..c0b92a1a5 100644
--- a/data/maps/Route130/map.json
+++ b/data/maps/Route130/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 6,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route130_EventScript_1F73BF",
+ "script": "Route130_EventScript_Rodney",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route130_EventScript_1F73D6",
+ "script": "Route130_EventScript_Katie",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route130_EventScript_1F73ED",
+ "script": "Route130_EventScript_Santiago",
"flag": "0"
}
],
diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc
index 18bccb185..141196a2d 100644
--- a/data/maps/Route130/scripts.inc
+++ b/data/maps/Route130/scripts.inc
@@ -4,10 +4,10 @@ Route130_MapScripts:: @ 81F735F
Route130_OnTransition: @ 81F7365
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge Route130_EventScript_1F73B5
+ call_if_ge Route130_EventScript_CheckSetAbnormalWeather
specialvar VAR_RESULT, IsMirageIslandPresent
- compare VAR_RESULT, 1
- goto_if_eq Route130_EventScript_1F73B1
+ compare VAR_RESULT, TRUE
+ goto_if_eq Route130_EventScript_SetMirageIslandLayout
setflag FLAG_TEMP_11
setflag FLAG_TEMP_12
setflag FLAG_TEMP_13
@@ -26,26 +26,26 @@ Route130_OnTransition: @ 81F7365
setmaplayoutindex LAYOUT_ROUTE130
end
-Route130_EventScript_1F73B1:: @ 81F73B1
+Route130_EventScript_SetMirageIslandLayout:: @ 81F73B1
setmaplayoutindex LAYOUT_ROUTE130_MIRAGE_ISLAND
end
-Route130_EventScript_1F73B5:: @ 81F73B5
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+Route130_EventScript_CheckSetAbnormalWeather:: @ 81F73B5
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
return
-Route130_EventScript_1F73BF:: @ 81F73BF
- trainerbattle_single TRAINER_RODNEY, Route130_Text_2A328A, Route130_Text_2A32E6
- msgbox Route130_Text_2A3300, MSGBOX_AUTOCLOSE
+Route130_EventScript_Rodney:: @ 81F73BF
+ trainerbattle_single TRAINER_RODNEY, Route130_Text_RodneyIntro, Route130_Text_RodneyDefeat
+ msgbox Route130_Text_RodneyPostBattle, MSGBOX_AUTOCLOSE
end
-Route130_EventScript_1F73D6:: @ 81F73D6
- trainerbattle_single TRAINER_KATIE, Route130_Text_2A3363, Route130_Text_2A33AC
- msgbox Route130_Text_2A33F5, MSGBOX_AUTOCLOSE
+Route130_EventScript_Katie:: @ 81F73D6
+ trainerbattle_single TRAINER_KATIE, Route130_Text_KatieIntro, Route130_Text_KatieDefeat
+ msgbox Route130_Text_KatiePostBattle, MSGBOX_AUTOCLOSE
end
-Route130_EventScript_1F73ED:: @ 81F73ED
- trainerbattle_single TRAINER_SANTIAGO, Route130_Text_2A343A, Route130_Text_2A346D
- msgbox Route130_Text_2A3494, MSGBOX_AUTOCLOSE
+Route130_EventScript_Santiago:: @ 81F73ED
+ trainerbattle_single TRAINER_SANTIAGO, Route130_Text_SantiagoIntro, Route130_Text_SantiagoDefeat
+ msgbox Route130_Text_SantiagoPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route131/map.json b/data/maps/Route131/map.json
index 379b15b3d..af73808b6 100644
--- a/data/maps/Route131/map.json
+++ b/data/maps/Route131/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 7,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route131_EventScript_1F7429",
+ "script": "Route131_EventScript_Richard",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 7,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route131_EventScript_1F7440",
+ "script": "Route131_EventScript_Herman",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route131_EventScript_1F7457",
+ "script": "Route131_EventScript_Susie",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 5,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route131_EventScript_1F746E",
+ "script": "Route131_EventScript_Kara",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route131_EventScript_1F7485",
+ "script": "Route131_EventScript_Reli",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route131_EventScript_1F74A0",
+ "script": "Route131_EventScript_Ian",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route131_EventScript_1F74D2",
+ "script": "Route131_EventScript_Kevin",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route131_EventScript_1F74BB",
+ "script": "Route131_EventScript_Talia",
"flag": "0"
}
],
diff --git a/data/maps/Route131/scripts.inc b/data/maps/Route131/scripts.inc
index c1c3e26dc..b419adcf6 100644
--- a/data/maps/Route131/scripts.inc
+++ b/data/maps/Route131/scripts.inc
@@ -4,55 +4,55 @@ Route131_MapScripts:: @ 81F7404
Route131_OnTransition: @ 81F740A
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge Route131_EventScript_1F741F
- call Route131_EventScript_1F741B
+ call_if_ge Route131_EventScript_CheckSetAbnormalWeather
+ call Route131_EventScript_SetLayout
end
-Route131_EventScript_1F741B:: @ 81F741B
+Route131_EventScript_SetLayout:: @ 81F741B
setmaplayoutindex LAYOUT_ROUTE131_SKY_PILLAR
return
-Route131_EventScript_1F741F:: @ 81F741F
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+Route131_EventScript_CheckSetAbnormalWeather:: @ 81F741F
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
return
-Route131_EventScript_1F7429:: @ 81F7429
- trainerbattle_single TRAINER_RICHARD, Route131_Text_2A34C8, Route131_Text_2A350D
- msgbox Route131_Text_2A353D, MSGBOX_AUTOCLOSE
+Route131_EventScript_Richard:: @ 81F7429
+ trainerbattle_single TRAINER_RICHARD, Route131_Text_RichardIntro, Route131_Text_RichardDefeat
+ msgbox Route131_Text_RichardPostBattle, MSGBOX_AUTOCLOSE
end
-Route131_EventScript_1F7440:: @ 81F7440
- trainerbattle_single TRAINER_HERMAN, Route131_Text_2A35C6, Route131_Text_2A3626
- msgbox Route131_Text_2A362D, MSGBOX_AUTOCLOSE
+Route131_EventScript_Herman:: @ 81F7440
+ trainerbattle_single TRAINER_HERMAN, Route131_Text_HermanIntro, Route131_Text_HermanDefeat
+ msgbox Route131_Text_HermanPostBattle, MSGBOX_AUTOCLOSE
end
-Route131_EventScript_1F7457:: @ 81F7457
- trainerbattle_single TRAINER_SUSIE, Route131_Text_2A367B, Route131_Text_2A36AB
- msgbox Route131_Text_2A36D6, MSGBOX_AUTOCLOSE
+Route131_EventScript_Susie:: @ 81F7457
+ trainerbattle_single TRAINER_SUSIE, Route131_Text_SusieIntro, Route131_Text_SusieDefeat
+ msgbox Route131_Text_SusiePostBattle, MSGBOX_AUTOCLOSE
end
-Route131_EventScript_1F746E:: @ 81F746E
- trainerbattle_single TRAINER_KARA, Route131_Text_2A3751, Route131_Text_2A378A
- msgbox Route131_Text_2A379F, MSGBOX_AUTOCLOSE
+Route131_EventScript_Kara:: @ 81F746E
+ trainerbattle_single TRAINER_KARA, Route131_Text_KaraIntro, Route131_Text_KaraDefeat
+ msgbox Route131_Text_KaraPostBattle, MSGBOX_AUTOCLOSE
end
-Route131_EventScript_1F7485:: @ 81F7485
- trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_2A37E9, Route131_Text_2A381F, Route131_Text_2A38B7
- msgbox Route131_Text_2A3855, MSGBOX_AUTOCLOSE
+Route131_EventScript_Reli:: @ 81F7485
+ trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_ReliIntro, Route131_Text_ReliDefeat, Route131_Text_ReliNotEnoughMons
+ msgbox Route131_Text_ReliPostBattle, MSGBOX_AUTOCLOSE
end
-Route131_EventScript_1F74A0:: @ 81F74A0
- trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_2A38F8, Route131_Text_2A3925, Route131_Text_2A39CD
- msgbox Route131_Text_2A3960, MSGBOX_AUTOCLOSE
+Route131_EventScript_Ian:: @ 81F74A0
+ trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_IanIntro, Route131_Text_IanDefeat, Route131_Text_IanNotEnoughMons
+ msgbox Route131_Text_IanPostBattle, MSGBOX_AUTOCLOSE
end
-Route131_EventScript_1F74BB:: @ 81F74BB
- trainerbattle_single TRAINER_TALIA, Route131_Text_2A39FE, Route131_Text_2A3A38
- msgbox Route131_Text_2A3A48, MSGBOX_AUTOCLOSE
+Route131_EventScript_Talia:: @ 81F74BB
+ trainerbattle_single TRAINER_TALIA, Route131_Text_TaliaIntro, Route131_Text_TaliaDefeat
+ msgbox Route131_Text_TaliaPostBattle, MSGBOX_AUTOCLOSE
end
-Route131_EventScript_1F74D2:: @ 81F74D2
- trainerbattle_single TRAINER_KEVIN, Route131_Text_2A3AA0, Route131_Text_2A3AFC
- msgbox Route131_Text_2A3B02, MSGBOX_AUTOCLOSE
+Route131_EventScript_Kevin:: @ 81F74D2
+ trainerbattle_single TRAINER_KEVIN, Route131_Text_KevinIntro, Route131_Text_KevinDefeat
+ msgbox Route131_Text_KevinPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route132/map.json b/data/maps/Route132/map.json
index 8a7597826..947f8d9cf 100644
--- a/data/maps/Route132/map.json
+++ b/data/maps/Route132/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route132_EventScript_1F74EA",
+ "script": "Route132_EventScript_Gilbert",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route132_EventScript_1F7501",
+ "script": "Route132_EventScript_Dana",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route132_EventScript_1F752F",
+ "script": "Route132_EventScript_Kiyo",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "Route132_EventScript_1F7518",
+ "script": "Route132_EventScript_Ronald",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route132_EventScript_1F7546",
+ "script": "Route132_EventScript_Paxton",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route132_EventScript_1F755D",
+ "script": "Route132_EventScript_Darcy",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route132_EventScript_1F758B",
+ "script": "Route132_EventScript_Makayla",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route132_EventScript_1F7574",
+ "script": "Route132_EventScript_Jonathan",
"flag": "0"
},
{
diff --git a/data/maps/Route132/scripts.inc b/data/maps/Route132/scripts.inc
index aed4d0673..6b82102be 100644
--- a/data/maps/Route132/scripts.inc
+++ b/data/maps/Route132/scripts.inc
@@ -1,43 +1,43 @@
Route132_MapScripts:: @ 81F74E9
.byte 0
-Route132_EventScript_1F74EA:: @ 81F74EA
- trainerbattle_single TRAINER_GILBERT, Route132_Text_2A3B4C, Route132_Text_2A3BAC
- msgbox Route132_Text_2A3BC0, MSGBOX_AUTOCLOSE
+Route132_EventScript_Gilbert:: @ 81F74EA
+ trainerbattle_single TRAINER_GILBERT, Route132_Text_GilbertIntro, Route132_Text_GilbertDefeat
+ msgbox Route132_Text_GilbertPostBattle, MSGBOX_AUTOCLOSE
end
-Route132_EventScript_1F7501:: @ 81F7501
- trainerbattle_single TRAINER_DANA, Route132_Text_2A3C04, Route132_Text_2A3C39
- msgbox Route132_Text_2A3C49, MSGBOX_AUTOCLOSE
+Route132_EventScript_Dana:: @ 81F7501
+ trainerbattle_single TRAINER_DANA, Route132_Text_DanaIntro, Route132_Text_DanaDefeat
+ msgbox Route132_Text_DanaPostBattle, MSGBOX_AUTOCLOSE
end
-Route132_EventScript_1F7518:: @ 81F7518
- trainerbattle_single TRAINER_RONALD, Route132_Text_2A3C7F, Route132_Text_2A3CAD
- msgbox Route132_Text_2A3CC5, MSGBOX_AUTOCLOSE
+Route132_EventScript_Ronald:: @ 81F7518
+ trainerbattle_single TRAINER_RONALD, Route132_Text_RonaldIntro, Route132_Text_RonaldDefeat
+ msgbox Route132_Text_RonaldPostBattle, MSGBOX_AUTOCLOSE
end
-Route132_EventScript_1F752F:: @ 81F752F
- trainerbattle_single TRAINER_KIYO, Route132_Text_2A3D26, Route132_Text_2A3D6C
- msgbox Route132_Text_2A3D8B, MSGBOX_AUTOCLOSE
+Route132_EventScript_Kiyo:: @ 81F752F
+ trainerbattle_single TRAINER_KIYO, Route132_Text_KiyoIntro, Route132_Text_KiyoDefeat
+ msgbox Route132_Text_KiyoPostBattle, MSGBOX_AUTOCLOSE
end
-Route132_EventScript_1F7546:: @ 81F7546
- trainerbattle_single TRAINER_PAXTON, Route132_Text_2A3F4F, Route132_Text_2A3FA8
- msgbox Route132_Text_2A3FE5, MSGBOX_AUTOCLOSE
+Route132_EventScript_Paxton:: @ 81F7546
+ trainerbattle_single TRAINER_PAXTON, Route132_Text_PaxtonIntro, Route132_Text_PaxtonDefeat
+ msgbox Route132_Text_PaxtonPostBattle, MSGBOX_AUTOCLOSE
end
-Route132_EventScript_1F755D:: @ 81F755D
- trainerbattle_single TRAINER_DARCY, Route132_Text_2A4026, Route132_Text_2A406E
- msgbox Route132_Text_2A40A4, MSGBOX_AUTOCLOSE
+Route132_EventScript_Darcy:: @ 81F755D
+ trainerbattle_single TRAINER_DARCY, Route132_Text_DarcyIntro, Route132_Text_DarcyDefeat
+ msgbox Route132_Text_DarcyPostBattle, MSGBOX_AUTOCLOSE
end
-Route132_EventScript_1F7574:: @ 81F7574
- trainerbattle_single TRAINER_JONATHAN, Route132_Text_2A3EAC, Route132_Text_2A3EDD
- msgbox Route132_Text_2A3F03, MSGBOX_AUTOCLOSE
+Route132_EventScript_Jonathan:: @ 81F7574
+ trainerbattle_single TRAINER_JONATHAN, Route132_Text_JonathanIntro, Route132_Text_JonathanDefeat
+ msgbox Route132_Text_JonathanPostBattle, MSGBOX_AUTOCLOSE
end
-Route132_EventScript_1F758B:: @ 81F758B
- trainerbattle_single TRAINER_MAKAYLA, Route132_Text_2A3DF0, Route132_Text_2A3E2C
- msgbox Route132_Text_2A3E4E, MSGBOX_AUTOCLOSE
+Route132_EventScript_Makayla:: @ 81F758B
+ trainerbattle_single TRAINER_MAKAYLA, Route132_Text_MakaylaIntro, Route132_Text_MakaylaDefeat
+ msgbox Route132_Text_MakaylaPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route133/map.json b/data/maps/Route133/map.json
index 8622515f0..fe492458a 100644
--- a/data/maps/Route133/map.json
+++ b/data/maps/Route133/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route133_EventScript_1F75A3",
+ "script": "Route133_EventScript_Franklin",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route133_EventScript_1F75D1",
+ "script": "Route133_EventScript_Linda",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 2,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route133_EventScript_1F75BA",
+ "script": "Route133_EventScript_Debra",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route133_EventScript_1F75FF",
+ "script": "Route133_EventScript_Beck",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "Route133_EventScript_1F75E8",
+ "script": "Route133_EventScript_Warren",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route133_EventScript_1F7616",
+ "script": "Route133_EventScript_Mollie",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route133_EventScript_1F762D",
+ "script": "Route133_EventScript_Conor",
"flag": "0"
},
{
diff --git a/data/maps/Route133/scripts.inc b/data/maps/Route133/scripts.inc
index a91eeead3..ebe28f5db 100644
--- a/data/maps/Route133/scripts.inc
+++ b/data/maps/Route133/scripts.inc
@@ -1,38 +1,38 @@
Route133_MapScripts:: @ 81F75A2
.byte 0
-Route133_EventScript_1F75A3:: @ 81F75A3
- trainerbattle_single TRAINER_FRANKLIN, Route133_Text_2A40F0, Route133_Text_2A413F
- msgbox Route133_Text_2A4154, MSGBOX_AUTOCLOSE
+Route133_EventScript_Franklin:: @ 81F75A3
+ trainerbattle_single TRAINER_FRANKLIN, Route133_Text_FranklinIntro, Route133_Text_FranklinDefeat
+ msgbox Route133_Text_FranklinPostBattle, MSGBOX_AUTOCLOSE
end
-Route133_EventScript_1F75BA:: @ 81F75BA
- trainerbattle_single TRAINER_DEBRA, Route133_Text_2A41A8, Route133_Text_2A4200
- msgbox Route133_Text_2A420E, MSGBOX_AUTOCLOSE
+Route133_EventScript_Debra:: @ 81F75BA
+ trainerbattle_single TRAINER_DEBRA, Route133_Text_DebraIntro, Route133_Text_DebraDefeat
+ msgbox Route133_Text_DebraPostBattle, MSGBOX_AUTOCLOSE
end
-Route133_EventScript_1F75D1:: @ 81F75D1
- trainerbattle_single TRAINER_LINDA, Route133_Text_2A4236, Route133_Text_2A4258
- msgbox Route133_Text_2A4264, MSGBOX_AUTOCLOSE
+Route133_EventScript_Linda:: @ 81F75D1
+ trainerbattle_single TRAINER_LINDA, Route133_Text_LindaIntro, Route133_Text_LindaDefeat
+ msgbox Route133_Text_LindaPostBattle, MSGBOX_AUTOCLOSE
end
-Route133_EventScript_1F75E8:: @ 81F75E8
- trainerbattle_single TRAINER_WARREN, Route133_Text_2A4290, Route133_Text_2A42E0
- msgbox Route133_Text_2A4304, MSGBOX_AUTOCLOSE
+Route133_EventScript_Warren:: @ 81F75E8
+ trainerbattle_single TRAINER_WARREN, Route133_Text_WarrenIntro, Route133_Text_WarrenDefeat
+ msgbox Route133_Text_WarrenPostBattle, MSGBOX_AUTOCLOSE
end
-Route133_EventScript_1F75FF:: @ 81F75FF
- trainerbattle_single TRAINER_BECK, Route133_Text_2A436A, Route133_Text_2A439C
- msgbox Route133_Text_2A43B9, MSGBOX_AUTOCLOSE
+Route133_EventScript_Beck:: @ 81F75FF
+ trainerbattle_single TRAINER_BECK, Route133_Text_BeckIntro, Route133_Text_BeckDefeat
+ msgbox Route133_Text_BeckPostBattle, MSGBOX_AUTOCLOSE
end
-Route133_EventScript_1F7616:: @ 81F7616
- trainerbattle_single TRAINER_MOLLIE, Route133_Text_2A4401, Route133_Text_2A443A
- msgbox Route133_Text_2A4477, MSGBOX_AUTOCLOSE
+Route133_EventScript_Mollie:: @ 81F7616
+ trainerbattle_single TRAINER_MOLLIE, Route133_Text_MollieIntro, Route133_Text_MollieDefeat
+ msgbox Route133_Text_MolliePostBattle, MSGBOX_AUTOCLOSE
end
-Route133_EventScript_1F762D:: @ 81F762D
- trainerbattle_single TRAINER_CONOR, Route133_Text_2A44BA, Route133_Text_2A4505
- msgbox Route133_Text_2A4527, MSGBOX_AUTOCLOSE
+Route133_EventScript_Conor:: @ 81F762D
+ trainerbattle_single TRAINER_CONOR, Route133_Text_ConorIntro, Route133_Text_ConorDefeat
+ msgbox Route133_Text_ConorPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route134/map.json b/data/maps/Route134/map.json
index e45920576..fb4da1f92 100644
--- a/data/maps/Route134/map.json
+++ b/data/maps/Route134/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 5,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route134_EventScript_1F7653",
+ "script": "Route134_EventScript_Jack",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route134_EventScript_1F766A",
+ "script": "Route134_EventScript_Laurel",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route134_EventScript_1F7698",
+ "script": "Route134_EventScript_Aaron",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route134_EventScript_1F7681",
+ "script": "Route134_EventScript_Alex",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route134_EventScript_1F76AF",
+ "script": "Route134_EventScript_Hitoshi",
"flag": "0"
},
{
@@ -100,7 +100,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "Route134_EventScript_1F76F4",
+ "script": "Route134_EventScript_Marley",
"flag": "0"
},
{
@@ -113,7 +113,7 @@
"movement_range_y": 3,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "Route134_EventScript_1F770B",
+ "script": "Route134_EventScript_Kelvin",
"flag": "0"
},
{
@@ -126,7 +126,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "Route134_EventScript_1F76DD",
+ "script": "Route134_EventScript_Reyna",
"flag": "0"
},
{
@@ -139,7 +139,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "Route134_EventScript_1F76C6",
+ "script": "Route134_EventScript_Hudson",
"flag": "0"
},
{
diff --git a/data/maps/Route134/scripts.inc b/data/maps/Route134/scripts.inc
index a941e19b5..3da2781b9 100644
--- a/data/maps/Route134/scripts.inc
+++ b/data/maps/Route134/scripts.inc
@@ -1,53 +1,53 @@
Route134_MapScripts:: @ 81F7644
- map_script MAP_SCRIPT_ON_RESUME, Route134_MapScript1_1F764A
+ map_script MAP_SCRIPT_ON_RESUME, Route134_OnResume
.byte 0
-Route134_MapScript1_1F764A: @ 81F764A
+Route134_OnResume: @ 81F764A
setdivewarp MAP_UNDERWATER_ROUTE134, 255, 8, 6
end
-Route134_EventScript_1F7653:: @ 81F7653
- trainerbattle_single TRAINER_JACK, Route134_Text_2A4571, Route134_Text_2A45BB
- msgbox Route134_Text_2A45C5, MSGBOX_AUTOCLOSE
+Route134_EventScript_Jack:: @ 81F7653
+ trainerbattle_single TRAINER_JACK, Route134_Text_JackIntro, Route134_Text_JackDefeat
+ msgbox Route134_Text_JackPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F766A:: @ 81F766A
- trainerbattle_single TRAINER_LAUREL, Route134_Text_2A4609, Route134_Text_2A4643
- msgbox Route134_Text_2A464B, MSGBOX_AUTOCLOSE
+Route134_EventScript_Laurel:: @ 81F766A
+ trainerbattle_single TRAINER_LAUREL, Route134_Text_LaurelIntro, Route134_Text_LaurelDefeat
+ msgbox Route134_Text_LaurelPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F7681:: @ 81F7681
- trainerbattle_single TRAINER_ALEX, Route134_Text_2A4682, Route134_Text_2A46BE
- msgbox Route134_Text_2A46D2, MSGBOX_AUTOCLOSE
+Route134_EventScript_Alex:: @ 81F7681
+ trainerbattle_single TRAINER_ALEX, Route134_Text_AlexIntro, Route134_Text_AlexDefeat
+ msgbox Route134_Text_AlexPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F7698:: @ 81F7698
- trainerbattle_single TRAINER_AARON, Route134_Text_2A479E, Route134_Text_2A47E1
- msgbox Route134_Text_2A47FD, MSGBOX_AUTOCLOSE
+Route134_EventScript_Aaron:: @ 81F7698
+ trainerbattle_single TRAINER_AARON, Route134_Text_AaronIntro, Route134_Text_AaronDefeat
+ msgbox Route134_Text_AaronPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F76AF:: @ 81F76AF
- trainerbattle_single TRAINER_HITOSHI, Route134_Text_2A4709, Route134_Text_2A4745
- msgbox Route134_Text_2A475D, MSGBOX_AUTOCLOSE
+Route134_EventScript_Hitoshi:: @ 81F76AF
+ trainerbattle_single TRAINER_HITOSHI, Route134_Text_HitoshiIntro, Route134_Text_HitoshiDefeat
+ msgbox Route134_Text_HitoshiPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F76C6:: @ 81F76C6
- trainerbattle_single TRAINER_HUDSON, Route134_Text_2A4A8F, Route134_Text_2A4AC1
- msgbox Route134_Text_2A4AD8, MSGBOX_AUTOCLOSE
+Route134_EventScript_Hudson:: @ 81F76C6
+ trainerbattle_single TRAINER_HUDSON, Route134_Text_HudsonIntro, Route134_Text_HudsonDefeat
+ msgbox Route134_Text_HudsonPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F76DD:: @ 81F76DD
- trainerbattle_single TRAINER_REYNA, Route134_Text_2A49E9, Route134_Text_2A4A10
- msgbox Route134_Text_2A4A34, MSGBOX_AUTOCLOSE
+Route134_EventScript_Reyna:: @ 81F76DD
+ trainerbattle_single TRAINER_REYNA, Route134_Text_ReynaIntro, Route134_Text_ReynaDefeat
+ msgbox Route134_Text_ReynaPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F76F4:: @ 81F76F4
- trainerbattle_single TRAINER_MARLEY, Route134_Text_2A4937, Route134_Text_2A496B
- msgbox Route134_Text_2A49B1, MSGBOX_AUTOCLOSE
+Route134_EventScript_Marley:: @ 81F76F4
+ trainerbattle_single TRAINER_MARLEY, Route134_Text_MarleyIntro, Route134_Text_MarleyDefeat
+ msgbox Route134_Text_MarleyPostBattle, MSGBOX_AUTOCLOSE
end
-Route134_EventScript_1F770B:: @ 81F770B
- trainerbattle_single TRAINER_KELVIN, Route134_Text_2A4875, Route134_Text_2A489B
- msgbox Route134_Text_2A48BD, MSGBOX_AUTOCLOSE
+Route134_EventScript_Kelvin:: @ 81F770B
+ trainerbattle_single TRAINER_KELVIN, Route134_Text_KelvinIntro, Route134_Text_KelvinDefeat
+ msgbox Route134_Text_KelvinPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json
index d9fd0d8cc..9c0d41709 100644
--- a/data/maps/RustboroCity/map.json
+++ b/data/maps/RustboroCity/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E088A",
+ "script": "RustboroCity_EventScript_Woman",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E085F",
+ "script": "RustboroCity_EventScript_FatMan",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E08DA",
+ "script": "RustboroCity_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E08D1",
+ "script": "RustboroCity_EventScript_Twin",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E08B2",
+ "script": "RustboroCity_EventScript_Boy2",
"flag": "0"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E0893",
+ "script": "RustboroCity_EventScript_Man1",
"flag": "0"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E0922",
+ "script": "RustboroCity_EventScript_LittleBoy",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E0938",
+ "script": "RustboroCity_EventScript_LittleGirl",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E0ADD",
+ "script": "RustboroCity_EventScript_DevonEmployee1",
"flag": "FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E087E",
+ "script": "RustboroCity_EventScript_DevonEmployee2",
"flag": "0"
},
{
@@ -196,7 +196,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E094E",
+ "script": "RustboroCity_EventScript_Man2",
"flag": "0"
},
{
@@ -209,8 +209,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E0DB8",
- "flag": "FLAG_HIDE_RUSBORO_CITY_RIVAL"
+ "script": "RustboroCity_EventScript_Rival",
+ "flag": "FLAG_HIDE_RUSTBORO_CITY_RIVAL"
},
{
"graphics_id": "EVENT_OBJ_GFX_SCIENTIST_1",
@@ -235,7 +235,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_EventScript_1E1236",
+ "script": "RustboroCity_EventScript_Boy1",
"flag": "0"
}
],
@@ -333,7 +333,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "1",
- "script": "RustboroCity_EventScript_1E095A"
+ "script": "RustboroCity_EventScript_StolenGoodsTrigger0"
},
{
"type": "trigger",
@@ -342,7 +342,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "1",
- "script": "RustboroCity_EventScript_1E0971"
+ "script": "RustboroCity_EventScript_StolenGoodsTrigger1"
},
{
"type": "trigger",
@@ -351,7 +351,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "1",
- "script": "RustboroCity_EventScript_1E0988"
+ "script": "RustboroCity_EventScript_StolenGoodsTrigger2"
},
{
"type": "trigger",
@@ -360,7 +360,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "1",
- "script": "RustboroCity_EventScript_1E099F"
+ "script": "RustboroCity_EventScript_StolenGoodsTrigger3"
},
{
"type": "trigger",
@@ -369,7 +369,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "1",
- "script": "RustboroCity_EventScript_1E09B6"
+ "script": "RustboroCity_EventScript_StolenGoodsTrigger4"
},
{
"type": "trigger",
@@ -378,7 +378,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "2",
- "script": "RustboroCity_EventScript_1E0AFE"
+ "script": "RustboroCity_EventScript_HelpGetGoodsTrigger0"
},
{
"type": "trigger",
@@ -387,7 +387,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "2",
- "script": "RustboroCity_EventScript_1E0B0A"
+ "script": "RustboroCity_EventScript_HelpGetGoodsTrigger1"
},
{
"type": "trigger",
@@ -396,7 +396,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "2",
- "script": "RustboroCity_EventScript_1E0B16"
+ "script": "RustboroCity_EventScript_HelpGetGoodsTrigger2"
},
{
"type": "trigger",
@@ -405,7 +405,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "2",
- "script": "RustboroCity_EventScript_1E0B22"
+ "script": "RustboroCity_EventScript_HelpGetGoodsTrigger3"
},
{
"type": "trigger",
@@ -414,7 +414,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "4",
- "script": "RustboroCity_EventScript_1E0C2B"
+ "script": "RustboroCity_EventScript_ReturnGoodsTrigger0"
},
{
"type": "trigger",
@@ -423,7 +423,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "4",
- "script": "RustboroCity_EventScript_1E0C37"
+ "script": "RustboroCity_EventScript_ReturnGoodsTrigger1"
},
{
"type": "trigger",
@@ -432,7 +432,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "4",
- "script": "RustboroCity_EventScript_1E0C43"
+ "script": "RustboroCity_EventScript_ReturnGoodsTrigger2"
},
{
"type": "trigger",
@@ -441,7 +441,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "4",
- "script": "RustboroCity_EventScript_1E0C4F"
+ "script": "RustboroCity_EventScript_ReturnGoodsTrigger3"
},
{
"type": "trigger",
@@ -450,7 +450,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0DF3"
+ "script": "RustboroCity_EventScript_RivalTrigger0"
},
{
"type": "trigger",
@@ -459,7 +459,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0E33"
+ "script": "RustboroCity_EventScript_RivalTrigger1"
},
{
"type": "trigger",
@@ -468,7 +468,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0E73"
+ "script": "RustboroCity_EventScript_RivalTrigger2"
},
{
"type": "trigger",
@@ -477,7 +477,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0EB3"
+ "script": "RustboroCity_EventScript_RivalTrigger3"
},
{
"type": "trigger",
@@ -486,7 +486,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0EF3"
+ "script": "RustboroCity_EventScript_RivalTrigger4"
},
{
"type": "trigger",
@@ -495,7 +495,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0F33"
+ "script": "RustboroCity_EventScript_RivalTrigger5"
},
{
"type": "trigger",
@@ -504,7 +504,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0F73"
+ "script": "RustboroCity_EventScript_RivalTrigger6"
},
{
"type": "trigger",
@@ -513,7 +513,7 @@
"elevation": 3,
"var": "VAR_RUSTBORO_CITY_STATE",
"var_value": "7",
- "script": "RustboroCity_EventScript_1E0FB3"
+ "script": "RustboroCity_EventScript_RivalTrigger7"
}
],
"bg_events": [
@@ -523,7 +523,7 @@
"y": 19,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_EventScript_1E08F5"
+ "script": "RustboroCity_EventScript_GymSign"
},
{
"type": "sign",
@@ -531,7 +531,7 @@
"y": 35,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_EventScript_1E0910"
+ "script": "RustboroCity_EventScript_TrainersSchoolSign"
},
{
"type": "sign",
@@ -555,7 +555,7 @@
"y": 49,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_EventScript_1E0907"
+ "script": "RustboroCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -579,7 +579,7 @@
"y": 20,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_EventScript_1E08EC"
+ "script": "RustboroCity_EventScript_DevonCorpSign"
},
{
"type": "sign",
@@ -587,7 +587,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_EventScript_1E08E3"
+ "script": "RustboroCity_EventScript_TunnelSign"
},
{
"type": "sign",
@@ -595,7 +595,7 @@
"y": 38,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_EventScript_1E0919"
+ "script": "RustboroCity_EventScript_CuttersHouseSign"
}
]
}
diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc
index 22177c783..2c710a075 100644
--- a/data/maps/RustboroCity/scripts.inc
+++ b/data/maps/RustboroCity/scripts.inc
@@ -1,59 +1,59 @@
RustboroCity_MapScripts:: @ 81E06BD
map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_MapScript2_1E070B
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_OnFrame
.byte 0
RustboroCity_OnTransition: @ 81E06C8
setflag FLAG_VISITED_RUSTBORO_CITY
- call Common_EventScript_SetupRivalGender
+ call Common_EventScript_SetupRivalGfxId
compare VAR_RUSTBORO_CITY_STATE, 6
- call_if_eq RustboroCity_EventScript_1E0707
+ call_if_eq RustboroCity_EventScript_HideMapNamePopup
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_RUSTBORO_CITY_STATE, 6
- goto_if_eq RustboroCity_EventScript_1E06EC
+ goto_if_eq RustboroCity_EventScript_PositionScientistForExit
end
-RustboroCity_EventScript_1E06EC:: @ 81E06EC
+RustboroCity_EventScript_PositionScientistForExit:: @ 81E06EC
compare VAR_TEMP_0, 11
- goto_if_eq RustboroCity_EventScript_1E06FF
+ goto_if_eq RustboroCity_EventScript_PositionScientistLeftExit
setobjectxyperm 15, 12, 15
end
-RustboroCity_EventScript_1E06FF:: @ 81E06FF
+RustboroCity_EventScript_PositionScientistLeftExit:: @ 81E06FF
setobjectxyperm 15, 11, 15
end
-RustboroCity_EventScript_1E0707:: @ 81E0707
+RustboroCity_EventScript_HideMapNamePopup:: @ 81E0707
setflag FLAG_HIDE_MAP_NAME_POPUP
return
-RustboroCity_MapScript2_1E070B: @ 81E070B
- map_script_2 VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_1E0715
+RustboroCity_OnFrame: @ 81E070B
+ map_script_2 VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_ScientistAddMatchCall
.2byte 0
-RustboroCity_EventScript_1E0715:: @ 81E0715
+RustboroCity_EventScript_ScientistAddMatchCall:: @ 81E0715
lockall
setvar VAR_ROUTE104_STATE, 1
- applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_1E0850
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_PlayerWalkDown
waitmovement 0
playse SE_KAIDAN
delay 10
addobject 15
- applymovement 15, RustboroCity_Movement_1E0852
+ applymovement 15, RustboroCity_Movement_ScientistApproachPlayer
waitmovement 0
playse SE_PIN
applymovement 15, Common_Movement_ExclamationMark
waitmovement 0
applymovement 15, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- applymovement 15, RustboroCity_Movement_1E084E
+ applymovement 15, RustboroCity_Movement_ScientistWalkInPlaceDown
waitmovement 0
- msgbox RustboroCity_Text_1E22A5, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_DevelopedNewPokenavFeature, MSGBOX_DEFAULT
closemessage
setflag FLAG_HAS_MATCH_CALL
- applymovement 15, Common_Movement_WalkInPlaceLeft
+ applymovement 15, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
playse SE_TK_KASYA
delay 10
@@ -63,38 +63,38 @@ RustboroCity_EventScript_1E0715:: @ 81E0715
delay 10
playse SE_TK_KASYA
delay 20
- applymovement 15, Common_Movement_WalkInPlaceDown
+ applymovement 15, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox RustboroCity_Text_1E2331, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_AddedMatchCallPleaseCallMrStone, MSGBOX_DEFAULT
closemessage
delay 20
- goto RustboroCity_EventScript_1E07BD
+ goto RustboroCity_EventScript_MatchCallTutorial
-RustboroCity_EventScript_1E07AC:: @ 81E07AC
- msgbox RustboroCity_Text_1E2449, MSGBOX_DEFAULT
+RustboroCity_EventScript_PleaseSelectPokenav:: @ 81E07AC
+ msgbox RustboroCity_Text_PleaseSelectPokenav, MSGBOX_DEFAULT
closemessage
delay 10
- goto RustboroCity_EventScript_1E07BD
+ goto RustboroCity_EventScript_MatchCallTutorial
-RustboroCity_EventScript_1E07BD:: @ 81E07BD
+RustboroCity_EventScript_MatchCallTutorial:: @ 81E07BD
setflag FLAG_ADDED_MATCH_CALL_TO_POKENAV
- special sp106_CreateStartMenu
+ special ScriptMenu_CreateStartMenuForPokenavTutorial
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
+ case 0, RustboroCity_EventScript_PleaseSelectPokenav
+ case 1, RustboroCity_EventScript_PleaseSelectPokenav
+ case 2, RustboroCity_EventScript_PleaseSelectPokenav
+ case 4, RustboroCity_EventScript_PleaseSelectPokenav
+ case 5, RustboroCity_EventScript_PleaseSelectPokenav
+ case 6, RustboroCity_EventScript_PleaseSelectPokenav
+ case 7, RustboroCity_EventScript_PleaseSelectPokenav
+ case MULTI_B_PRESSED, RustboroCity_EventScript_PleaseSelectPokenav
+ special OpenPokenavForTutorial
waitstate
delay 20
- msgbox RustboroCity_Text_1E2464, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_IdBetterGetBackToWork, MSGBOX_DEFAULT
closemessage
- applymovement 15, RustboroCity_Movement_1E085D
+ applymovement 15, RustboroCity_Movement_ScientistLeave
waitmovement 0
playse SE_KAIDAN
removeobject 15
@@ -104,20 +104,21 @@ RustboroCity_EventScript_1E07BD:: @ 81E07BD
releaseall
end
-RustboroCity_Movement_1E084E: @ 81E084E
+RustboroCity_Movement_ScientistWalkInPlaceDown: @ 81E084E
walk_in_place_down
step_end
-RustboroCity_Movement_1E0850: @ 81E0850
+RustboroCity_Movement_PlayerWalkDown: @ 81E0850
walk_down
step_end
-RustboroCity_Movement_1E0852: @ 81E0852
+RustboroCity_Movement_ScientistApproachPlayer: @ 81E0852
walk_down
delay_16
step_end
-RustboroCity_Movement_1E0855: @ 81E0855
+@ Unused
+RustboroCity_Movement_ScientistWalkAroundPlayer: @ 81E0855
delay_16
walk_left
walk_down
@@ -127,175 +128,176 @@ RustboroCity_Movement_1E0855: @ 81E0855
delay_16
step_end
-RustboroCity_Movement_1E085D: @ 81E085D
+RustboroCity_Movement_ScientistLeave: @ 81E085D
walk_up
step_end
-RustboroCity_EventScript_1E085F:: @ 81E085F
+RustboroCity_EventScript_FatMan:: @ 81E085F
lock
faceplayer
- goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_1E0874
- msgbox RustboroCity_Text_1E123F, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_FatManSawGrunt
+ msgbox RustboroCity_Text_WeShortenItToDevon, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E0874:: @ 81E0874
- msgbox RustboroCity_Text_1E12AC, MSGBOX_DEFAULT
+RustboroCity_EventScript_FatManSawGrunt:: @ 81E0874
+ msgbox RustboroCity_Text_SneakyLookingManWentAroundCorner, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E087E:: @ 81E087E
+RustboroCity_EventScript_DevonEmployee2:: @ 81E087E
lock
faceplayer
- msgbox RustboroCity_Text_1E1407, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_YoureNewAroundHere, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E088A:: @ 81E088A
- msgbox RustboroCity_Text_1E1480, MSGBOX_NPC
+RustboroCity_EventScript_Woman:: @ 81E088A
+ msgbox RustboroCity_Text_GymLeaderIsntEasyWithFire, MSGBOX_NPC
end
-RustboroCity_EventScript_1E0893:: @ 81E0893
+RustboroCity_EventScript_Man1:: @ 81E0893
lock
faceplayer
- goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_1E08A8
- msgbox RustboroCity_Text_1E130D, MSGBOX_DEFAULT
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_Man1HaveBadge
+ msgbox RustboroCity_Text_HaveYouChallengedGym, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E08A8:: @ 81E08A8
- msgbox RustboroCity_Text_1E139E, MSGBOX_DEFAULT
+RustboroCity_EventScript_Man1HaveBadge:: @ 81E08A8
+ msgbox RustboroCity_Text_HeyThatsRustborosGymBadge, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E08B2:: @ 81E08B2
+RustboroCity_EventScript_Boy2:: @ 81E08B2
lock
faceplayer
- goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_1E08C7
- msgbox RustboroCity_Text_1E1520, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_Boy2BrineyLeftTunnel
+ msgbox RustboroCity_Text_MrBrineyWalksInTheTunnel, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E08C7:: @ 81E08C7
- msgbox RustboroCity_Text_1E1589, MSGBOX_DEFAULT
+RustboroCity_EventScript_Boy2BrineyLeftTunnel:: @ 81E08C7
+ msgbox RustboroCity_Text_MrBrineyLovesPeeko, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E08D1:: @ 81E08D1
- msgbox RustboroCity_Text_1E1633, MSGBOX_NPC
+RustboroCity_EventScript_Twin:: @ 81E08D1
+ msgbox RustboroCity_Text_WowYouHavePokemon, MSGBOX_NPC
end
-RustboroCity_EventScript_1E08DA:: @ 81E08DA
- msgbox RustboroCity_Text_1E1695, MSGBOX_SIGN
+RustboroCity_EventScript_NinjaBoy:: @ 81E08DA
+ msgbox RustboroCity_Text_CatchRarePokemonIfIGoToSchool, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E08E3:: @ 81E08E3
- msgbox RustboroCity_Text_1E20A6, MSGBOX_SIGN
+RustboroCity_EventScript_TunnelSign:: @ 81E08E3
+ msgbox RustboroCity_Text_TunnelNearingCompletion, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E08EC:: @ 81E08EC
- msgbox RustboroCity_Text_1E2128, MSGBOX_SIGN
+RustboroCity_EventScript_DevonCorpSign:: @ 81E08EC
+ msgbox RustboroCity_Text_DevonCorpSign, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E08F5:: @ 81E08F5
- msgbox RustboroCity_Text_1E2167, MSGBOX_SIGN
+RustboroCity_EventScript_GymSign:: @ 81E08F5
+ msgbox RustboroCity_Text_GymSign, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E08FE:: @ 81E08FE
- msgbox RustboroCity_Text_1E21B3, MSGBOX_SIGN
+@ Unused
+RustboroCity_EventScript_DevonCorpBranchOfficeSign:: @ 81E08FE
+ msgbox RustboroCity_Text_DevonCorpBranchOfficeSign, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E0907:: @ 81E0907
- msgbox RustboroCity_Text_1E220B, MSGBOX_SIGN
+RustboroCity_EventScript_CitySign:: @ 81E0907
+ msgbox RustboroCity_Text_CitySign, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E0910:: @ 81E0910
- msgbox RustboroCity_Text_1E2253, MSGBOX_SIGN
+RustboroCity_EventScript_TrainersSchoolSign:: @ 81E0910
+ msgbox RustboroCity_Text_TrainersSchoolSign, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E0919:: @ 81E0919
- msgbox RustboroCity_Text_1E2296, MSGBOX_SIGN
+RustboroCity_EventScript_CuttersHouseSign:: @ 81E0919
+ msgbox RustboroCity_Text_CuttersHouse, MSGBOX_SIGN
end
-RustboroCity_EventScript_1E0922:: @ 81E0922
+RustboroCity_EventScript_LittleBoy:: @ 81E0922
lock
faceplayer
- msgbox RustboroCity_Text_1E16F4, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_PokemonCanChangeLookFromExp, MSGBOX_DEFAULT
applymovement 7, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RustboroCity_EventScript_1E0938:: @ 81E0938
+RustboroCity_EventScript_LittleGirl:: @ 81E0938
lock
faceplayer
- msgbox RustboroCity_Text_1E174B, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_PokemonChangeShape, MSGBOX_DEFAULT
applymovement 8, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RustboroCity_EventScript_1E094E:: @ 81E094E
+RustboroCity_EventScript_Man2:: @ 81E094E
lock
faceplayer
- msgbox RustboroCity_Text_1E1789, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_TradePokemonGrowFast, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E095A:: @ 81E095A
+RustboroCity_EventScript_StolenGoodsTrigger0:: @ 81E095A
lockall
setobjectxyperm 9, 14, 21
setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 0
- goto RustboroCity_EventScript_1E09CD
+ goto RustboroCity_EventScript_StolenGoodsScene
end
-RustboroCity_EventScript_1E0971:: @ 81E0971
+RustboroCity_EventScript_StolenGoodsTrigger1:: @ 81E0971
lockall
setobjectxyperm 9, 14, 21
setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 1
- goto RustboroCity_EventScript_1E09CD
+ goto RustboroCity_EventScript_StolenGoodsScene
end
-RustboroCity_EventScript_1E0988:: @ 81E0988
+RustboroCity_EventScript_StolenGoodsTrigger2:: @ 81E0988
lockall
setobjectxyperm 9, 14, 21
setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 2
- goto RustboroCity_EventScript_1E09CD
+ goto RustboroCity_EventScript_StolenGoodsScene
end
-RustboroCity_EventScript_1E099F:: @ 81E099F
+RustboroCity_EventScript_StolenGoodsTrigger3:: @ 81E099F
lockall
setobjectxyperm 9, 14, 21
setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 3
- goto RustboroCity_EventScript_1E09CD
+ goto RustboroCity_EventScript_StolenGoodsScene
end
-RustboroCity_EventScript_1E09B6:: @ 81E09B6
+RustboroCity_EventScript_StolenGoodsTrigger4:: @ 81E09B6
lockall
setobjectxyperm 9, 14, 21
setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 4
- goto RustboroCity_EventScript_1E09CD
+ goto RustboroCity_EventScript_StolenGoodsScene
end
-RustboroCity_EventScript_1E09CD:: @ 81E09CD
- msgbox RustboroCity_Text_1E17FE, MSGBOX_DEFAULT
+RustboroCity_EventScript_StolenGoodsScene:: @ 81E09CD
+ msgbox RustboroCity_Text_OutOfTheWay, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 0
addobject 10
addobject 9
- applymovement 10, RustboroCity_Movement_1E0AA0
+ applymovement 10, RustboroCity_Movement_GruntEscape
waitmovement 0
removeobject 10
- applymovement 9, RustboroCity_Movement_1E0AB1
+ applymovement 9, RustboroCity_Movement_EmployeeChaseGrunt1
waitmovement 0
- msgbox RustboroCity_Text_1E1817, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_WaitDontTakeMyGoods, MSGBOX_DEFAULT
closemessage
- applymovement 9, RustboroCity_Movement_1E0AB9
+ applymovement 9, RustboroCity_Movement_EmployeeChaseGrunt2
waitmovement 0
fadedefaultbgm
removeobject 9
@@ -313,42 +315,50 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD
releaseall
end
-RustboroCity_EventScript_1E0A3B:: @ 81E0A3B
- msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT
+@ Unused
+RustboroCity_EventScript_ShadyCharacterTookOff:: @ 81E0A3B
+ msgbox RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel, MSGBOX_DEFAULT
return
-RustboroCity_EventScript_1E0A44:: @ 81E0A44
- msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT
+@ Unused
+RustboroCity_EventScript_YouGotItThankYou:: @ 81E0A44
+ msgbox RustboroCity_Text_YouGotItThankYou, MSGBOX_DEFAULT
return
-RustboroCity_EventScript_1E0A4D:: @ 81E0A4D
- applymovement 9, RustboroCity_Movement_1E0AC1
+@ Unknown, unused employee movements. Based on the differences in movement theyre for approaching an object (probably the player) in different positions
+RustboroCity_EventScript_EmployeeApproachUp:: @ 81E0A4D
+ applymovement 9, RustboroCity_Movement_EmployeeApproachUp
waitmovement 0
return
-RustboroCity_EventScript_1E0A58:: @ 81E0A58
- applymovement 9, RustboroCity_Movement_1E0AC5
+@ Unused, see above
+RustboroCity_EventScript_EmployeeApproachLeft:: @ 81E0A58
+ applymovement 9, RustboroCity_Movement_EmployeeApproachLeft
waitmovement 0
return
-RustboroCity_EventScript_1E0A63:: @ 81E0A63
- applymovement 9, RustboroCity_Movement_1E0ACA
+@ Unused, see above
+RustboroCity_EventScript_EmployeeApproachRight:: @ 81E0A63
+ applymovement 9, RustboroCity_Movement_EmployeeApproachRight
waitmovement 0
return
-RustboroCity_EventScript_1E0A6E:: @ 81E0A6E
- applymovement 9, RustboroCity_Movement_1E0ACF
+@ Unused, see above
+RustboroCity_EventScript_EmployeeApproachDown:: @ 81E0A6E
+ applymovement 9, RustboroCity_Movement_EmployeeApproachDown
waitmovement 0
return
-RustboroCity_EventScript_1E0A79:: @ 81E0A79
- applymovement 9, RustboroCity_Movement_1E0AD5
+@ Unused, similar movement to the above scripts
+RustboroCity_EventScript_EmployeeApproachPlayerFar:: @ 81E0A79
+ applymovement 9, RustboroCity_Movement_EmployeeApproachPlayerFar
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-RustboroCity_Movement_1E0A8E: @ 81E0A8E
+@ Unused
+RustboroCity_Movement_GruntEscapeExtended: @ 81E0A8E
walk_fastest_right
walk_fastest_right
walk_fast_right
@@ -368,7 +378,7 @@ RustboroCity_Movement_1E0A8E: @ 81E0A8E
walk_fast_up
step_end
-RustboroCity_Movement_1E0AA0: @ 81E0AA0
+RustboroCity_Movement_GruntEscape: @ 81E0AA0
walk_fastest_right
walk_fastest_right
walk_fast_right
@@ -387,7 +397,7 @@ RustboroCity_Movement_1E0AA0: @ 81E0AA0
walk_fast_up
step_end
-RustboroCity_Movement_1E0AB1: @ 81E0AB1
+RustboroCity_Movement_EmployeeChaseGrunt1: @ 81E0AB1
walk_right
walk_right
walk_right
@@ -397,7 +407,7 @@ RustboroCity_Movement_1E0AB1: @ 81E0AB1
walk_in_place_fastest_up
step_end
-RustboroCity_Movement_1E0AB9: @ 81E0AB9
+RustboroCity_Movement_EmployeeChaseGrunt2: @ 81E0AB9
walk_up
walk_up
walk_up
@@ -407,27 +417,31 @@ RustboroCity_Movement_1E0AB9: @ 81E0AB9
walk_up
step_end
-RustboroCity_Movement_1E0AC1: @ 81E0AC1
+@ Functionally unused
+RustboroCity_Movement_EmployeeApproachUp: @ 81E0AC1
walk_down
walk_right
walk_right
step_end
-RustboroCity_Movement_1E0AC5: @ 81E0AC5
+@ Functionally unused
+RustboroCity_Movement_EmployeeApproachLeft: @ 81E0AC5
walk_down
walk_down
walk_right
walk_right
step_end
-RustboroCity_Movement_1E0ACA: @ 81E0ACA
+@ Functionally unused
+RustboroCity_Movement_EmployeeApproachRight: @ 81E0ACA
walk_down
walk_down
walk_right
walk_right
step_end
-RustboroCity_Movement_1E0ACF: @ 81E0ACF
+@ Functionally unused
+RustboroCity_Movement_EmployeeApproachDown: @ 81E0ACF
walk_down
walk_down
walk_down
@@ -435,7 +449,8 @@ RustboroCity_Movement_1E0ACF: @ 81E0ACF
walk_right
step_end
-RustboroCity_Movement_1E0AD5: @ 81E0AD5
+@ Functionally unused
+RustboroCity_Movement_EmployeeApproachPlayerFar: @ 81E0AD5
walk_down
walk_down
walk_down
@@ -445,154 +460,155 @@ RustboroCity_Movement_1E0AD5: @ 81E0AD5
walk_in_place_fastest_down
step_end
-RustboroCity_EventScript_1E0ADD:: @ 81E0ADD
+RustboroCity_EventScript_DevonEmployee1:: @ 81E0ADD
lock
faceplayer
- goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_1E0AF2
- msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_ReturnGoodsSpokeToEmployee
+ msgbox RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel, MSGBOX_DEFAULT
release
end
-RustboroCity_EventScript_1E0AF2:: @ 81E0AF2
+RustboroCity_EventScript_ReturnGoodsSpokeToEmployee:: @ 81E0AF2
waitse
setvar VAR_TEMP_1, 4
- goto RustboroCity_EventScript_1E0C5B
+ goto RustboroCity_EventScript_ReturnGoods
end
-RustboroCity_EventScript_1E0AFE:: @ 81E0AFE
+RustboroCity_EventScript_HelpGetGoodsTrigger0:: @ 81E0AFE
lockall
setvar VAR_TEMP_1, 0
- goto RustboroCity_EventScript_1E0B2E
+ goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
-RustboroCity_EventScript_1E0B0A:: @ 81E0B0A
+RustboroCity_EventScript_HelpGetGoodsTrigger1:: @ 81E0B0A
lockall
setvar VAR_TEMP_1, 1
- goto RustboroCity_EventScript_1E0B2E
+ goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
-RustboroCity_EventScript_1E0B16:: @ 81E0B16
+RustboroCity_EventScript_HelpGetGoodsTrigger2:: @ 81E0B16
lockall
setvar VAR_TEMP_1, 2
- goto RustboroCity_EventScript_1E0B2E
+ goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
-RustboroCity_EventScript_1E0B22:: @ 81E0B22
+RustboroCity_EventScript_HelpGetGoodsTrigger3:: @ 81E0B22
lockall
setvar VAR_TEMP_1, 3
- goto RustboroCity_EventScript_1E0B2E
+ goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
-RustboroCity_EventScript_1E0B2E:: @ 81E0B2E
+RustboroCity_EventScript_EmployeeAskToGetGoods:: @ 81E0B2E
compare VAR_TEMP_1, 0
- call_if_eq RustboroCity_EventScript_1E0B6F
+ call_if_eq RustboroCity_EventScript_EmployeeFacePlayerUp1
compare VAR_TEMP_1, 1
- call_if_eq RustboroCity_EventScript_1E0B9B
+ call_if_eq RustboroCity_EventScript_EmployeeFacePlayerLeft1
compare VAR_TEMP_1, 2
- call_if_eq RustboroCity_EventScript_1E0BC7
+ call_if_eq RustboroCity_EventScript_EmployeeFacePlayerDown1
compare VAR_TEMP_1, 3
- call_if_eq RustboroCity_EventScript_1E0BF3
+ call_if_eq RustboroCity_EventScript_EmployeeApproachPlayerDown1
setflag FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN
setvar VAR_RUSTBORO_CITY_STATE, 3
copyobjectxytoperm 9
- msgbox RustboroCity_Text_1E183E, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_HelpMeIWasRobbed, MSGBOX_DEFAULT
releaseall
end
-RustboroCity_EventScript_1E0B6F:: @ 81E0B6F
- applymovement 9, Common_Movement_WalkInPlaceUp
+@ The below movement scripts are either partially or fully duplicated by the movement scripts when the player returns the goods
+RustboroCity_EventScript_EmployeeFacePlayerUp1:: @ 81E0B6F
+ applymovement 9, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-RustboroCity_EventScript_1E0B9B:: @ 81E0B9B
- applymovement 9, Common_Movement_WalkInPlaceLeft
+RustboroCity_EventScript_EmployeeFacePlayerLeft1:: @ 81E0B9B
+ applymovement 9, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AC
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceRight
waitmovement 0
return
-RustboroCity_EventScript_1E0BC7:: @ 81E0BC7
- applymovement 9, Common_Movement_WalkInPlaceDown
+RustboroCity_EventScript_EmployeeFacePlayerDown1:: @ 81E0BC7
+ applymovement 9, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-RustboroCity_EventScript_1E0BF3:: @ 81E0BF3
- applymovement 9, Common_Movement_WalkInPlaceDown
+RustboroCity_EventScript_EmployeeApproachPlayerDown1:: @ 81E0BF3
+ applymovement 9, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement 9, RustboroCity_Movement_1E0C29
+ applymovement 9, RustboroCity_Movement_EmployeeApproachPlayerDown
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-RustboroCity_Movement_1E0C29: @ 81E0C29
+RustboroCity_Movement_EmployeeApproachPlayerDown: @ 81E0C29
walk_down
step_end
-RustboroCity_EventScript_1E0C2B:: @ 81E0C2B
+RustboroCity_EventScript_ReturnGoodsTrigger0:: @ 81E0C2B
lockall
setvar VAR_TEMP_1, 0
- goto RustboroCity_EventScript_1E0C5B
+ goto RustboroCity_EventScript_ReturnGoods
end
-RustboroCity_EventScript_1E0C37:: @ 81E0C37
+RustboroCity_EventScript_ReturnGoodsTrigger1:: @ 81E0C37
lockall
setvar VAR_TEMP_1, 1
- goto RustboroCity_EventScript_1E0C5B
+ goto RustboroCity_EventScript_ReturnGoods
end
-RustboroCity_EventScript_1E0C43:: @ 81E0C43
+RustboroCity_EventScript_ReturnGoodsTrigger2:: @ 81E0C43
lockall
setvar VAR_TEMP_1, 2
- goto RustboroCity_EventScript_1E0C5B
+ goto RustboroCity_EventScript_ReturnGoods
end
-RustboroCity_EventScript_1E0C4F:: @ 81E0C4F
+RustboroCity_EventScript_ReturnGoodsTrigger3:: @ 81E0C4F
lockall
setvar VAR_TEMP_1, 3
- goto RustboroCity_EventScript_1E0C5B
+ goto RustboroCity_EventScript_ReturnGoods
end
-RustboroCity_EventScript_1E0C5B:: @ 81E0C5B
+RustboroCity_EventScript_ReturnGoods:: @ 81E0C5B
compare VAR_TEMP_1, 0
- call_if_eq RustboroCity_EventScript_1E0CDC
+ call_if_eq RustboroCity_EventScript_EmployeeFacePlayerUp2
compare VAR_TEMP_1, 1
- call_if_eq RustboroCity_EventScript_1E0D08
+ call_if_eq RustboroCity_EventScript_EmployeeFacePlayerLeft2
compare VAR_TEMP_1, 2
- call_if_eq RustboroCity_EventScript_1E0D34
+ call_if_eq RustboroCity_EventScript_EmployeeFacePlayerDown2
compare VAR_TEMP_1, 3
- call_if_eq RustboroCity_EventScript_1E0D60
+ call_if_eq RustboroCity_EventScript_EmployeeApproachPlayerDown2
compare VAR_TEMP_1, 4
- call_if_eq RustboroCity_EventScript_1E0D96
- msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT
- giveitem_std ITEM_GREAT_BALL
- compare VAR_RESULT, 0
- call_if_eq RustboroCity_EventScript_1E0CD3
- msgbox RustboroCity_Text_1E1A21, MSGBOX_DEFAULT
+ call_if_eq RustboroCity_EventScript_EmployeeFacePlayerRight
+ msgbox RustboroCity_Text_YouGotItThankYou, MSGBOX_DEFAULT
+ giveitem ITEM_GREAT_BALL
+ compare VAR_RESULT, FALSE
+ call_if_eq RustboroCity_EventScript_BagFull
+ msgbox RustboroCity_Text_PleaseComeWithMe, MSGBOX_DEFAULT
closemessage
setflag FLAG_RETURNED_DEVON_GOODS
setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
@@ -603,62 +619,62 @@ RustboroCity_EventScript_1E0C5B:: @ 81E0C5B
releaseall
end
-RustboroCity_EventScript_1E0CD3:: @ 81E0CD3
- msgbox RustboroCity_Text_1E19E5, MSGBOX_DEFAULT
+RustboroCity_EventScript_BagFull:: @ 81E0CD3
+ msgbox RustboroCity_Text_YoureLoadedWithItems, MSGBOX_DEFAULT
return
-RustboroCity_EventScript_1E0CDC:: @ 81E0CDC
- applymovement 9, Common_Movement_WalkInPlaceUp
+RustboroCity_EventScript_EmployeeFacePlayerUp2:: @ 81E0CDC
+ applymovement 9, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-RustboroCity_EventScript_1E0D08:: @ 81E0D08
- applymovement 9, Common_Movement_WalkInPlaceRight
+RustboroCity_EventScript_EmployeeFacePlayerLeft2:: @ 81E0D08
+ applymovement 9, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AE
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceLeft
waitmovement 0
return
-RustboroCity_EventScript_1E0D34:: @ 81E0D34
- applymovement 9, Common_Movement_WalkInPlaceDown
+RustboroCity_EventScript_EmployeeFacePlayerDown2:: @ 81E0D34
+ applymovement 9, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-RustboroCity_EventScript_1E0D60:: @ 81E0D60
- applymovement 9, Common_Movement_WalkInPlaceDown
+RustboroCity_EventScript_EmployeeApproachPlayerDown2:: @ 81E0D60
+ applymovement 9, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
waitmovement 0
applymovement 9, Common_Movement_Delay48
waitmovement 0
- applymovement 9, RustboroCity_Movement_1E0C29
+ applymovement 9, RustboroCity_Movement_EmployeeApproachPlayerDown
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-RustboroCity_EventScript_1E0D96:: @ 81E0D96
- applymovement 9, Common_Movement_WalkInPlaceLeft
+RustboroCity_EventScript_EmployeeFacePlayerRight:: @ 81E0D96
+ applymovement 9, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
playse SE_PIN
applymovement 9, Common_Movement_ExclamationMark
@@ -667,175 +683,174 @@ RustboroCity_EventScript_1E0D96:: @ 81E0D96
waitmovement 0
return
-RustboroCity_EventScript_1E0DB8:: @ 81E0DB8
+RustboroCity_EventScript_Rival:: @ 81E0DB8
lockall
- call_if_unset FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E0DD1
+ call_if_unset FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_PlayRivalMusic
applymovement 14, Common_Movement_FacePlayer
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-Route104_EventScript_1E0DD1:: @ 81E0DD1
-RustboroCity_EventScript_1E0DD1:: @ 81E0DD1
+RustboroCity_EventScript_PlayRivalMusic:: @ 81E0DD1
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq RustboroCity_EventScript_1E0DE9
+ goto_if_eq RustboroCity_EventScript_PlayMayMusic
compare VAR_RESULT, FEMALE
- goto_if_eq RustboroCity_EventScript_1E0DEE
+ goto_if_eq RustboroCity_EventScript_PlayBrendanMusic
return
-RustboroCity_EventScript_1E0DE9:: @ 81E0DE9
+RustboroCity_EventScript_PlayMayMusic:: @ 81E0DE9
playbgm MUS_GIRL_SUP, 1
return
-RustboroCity_EventScript_1E0DEE:: @ 81E0DEE
+RustboroCity_EventScript_PlayBrendanMusic:: @ 81E0DEE
playbgm MUS_BOY_SUP, 1
return
-RustboroCity_EventScript_1E0DF3:: @ 81E0DF3
+RustboroCity_EventScript_RivalTrigger0:: @ 81E0DF3
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E120E
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer0
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0E33:: @ 81E0E33
+RustboroCity_EventScript_RivalTrigger1:: @ 81E0E33
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E1215
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer1
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0E73:: @ 81E0E73
+RustboroCity_EventScript_RivalTrigger2:: @ 81E0E73
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E121B
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer2
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0EB3:: @ 81E0EB3
+RustboroCity_EventScript_RivalTrigger3:: @ 81E0EB3
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E1220
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer3
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0EF3:: @ 81E0EF3
+RustboroCity_EventScript_RivalTrigger4:: @ 81E0EF3
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E1224
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer4
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0F33:: @ 81E0F33
+RustboroCity_EventScript_RivalTrigger5:: @ 81E0F33
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E1227
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer5
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0F73:: @ 81E0F73
+RustboroCity_EventScript_RivalTrigger6:: @ 81E0F73
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E122B
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer6
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0FB3:: @ 81E0FB3
+RustboroCity_EventScript_RivalTrigger7:: @ 81E0FB3
lockall
- call RustboroCity_EventScript_1E0DD1
- applymovement 14, Common_Movement_WalkInPlaceDown
+ call RustboroCity_EventScript_PlayRivalMusic
+ applymovement 14, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
playse SE_PIN
applymovement 14, Common_Movement_ExclamationMark
waitmovement 0
applymovement 14, Common_Movement_Delay48
waitmovement 0
- applymovement 14, RustboroCity_Movement_1E1230
+ applymovement 14, RustboroCity_Movement_RivalApproachPlayer7
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- goto RustboroCity_EventScript_1E0FF3
+ goto RustboroCity_EventScript_RivalEncounter
-RustboroCity_EventScript_1E0FF3:: @ 81E0FF3
+RustboroCity_EventScript_RivalEncounter:: @ 81E0FF3
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq RustboroCity_EventScript_1E100B
+ goto_if_eq RustboroCity_EventScript_MayEncounter
compare VAR_RESULT, FEMALE
- goto_if_eq RustboroCity_EventScript_1E1114
+ goto_if_eq RustboroCity_EventScript_BrendanEncounter
end
-RustboroCity_EventScript_1E100B:: @ 81E100B
- goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_1E10C1
- goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E1070
+RustboroCity_EventScript_MayEncounter:: @ 81E100B
+ goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_MayBrineyHint
+ goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_MayAskToBattle
setflag FLAG_MET_RIVAL_RUSTBORO
- msgbox RustboroCity_Text_1E1A49, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_MayHiLetsRegister, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox RustboroCity_Text_1E1ADB, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_RegisteredMay, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -843,126 +858,126 @@ RustboroCity_EventScript_1E100B:: @ 81E100B
setvar VAR_RUSTBORO_CITY_STATE, 8
setvar VAR_ROUTE104_STATE, 2
setvar VAR_0x8008, 0
- msgbox RustboroCity_Text_1E1AFA, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_EventScript_1E1092
- msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT
- call RustboroCity_EventScript_1E10D6
+ msgbox RustboroCity_Text_MayPassedBrineyWantToBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq RustboroCity_EventScript_BattleMay
+ msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT
+ call RustboroCity_EventScript_RestoreBgm
releaseall
end
-RustboroCity_EventScript_1E1070:: @ 81E1070
+RustboroCity_EventScript_MayAskToBattle:: @ 81E1070
setvar VAR_0x8008, 1
- msgbox RustboroCity_Text_1E1C48, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_EventScript_1E1092
- msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_MayWantToBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq RustboroCity_EventScript_BattleMay
+ msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT
releaseall
end
-RustboroCity_EventScript_1E1092:: @ 81E1092
- msgbox RustboroCity_Text_1E1C84, MSGBOX_DEFAULT
+RustboroCity_EventScript_BattleMay:: @ 81E1092
+ msgbox RustboroCity_Text_MayImNotGoingToLose, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, RustboroCity_EventScript_1E10DB
- case 1, RustboroCity_EventScript_1E10EE
- case 2, RustboroCity_EventScript_1E1101
+ case 0, RustboroCity_EventScript_BattleMayTreecko
+ case 1, RustboroCity_EventScript_BattleMayTorchic
+ case 2, RustboroCity_EventScript_BattleMayMudkip
end
-RustboroCity_EventScript_1E10C1:: @ 81E10C1
- msgbox RustboroCity_Text_1E1CE7, MSGBOX_DEFAULT
+RustboroCity_EventScript_MayBrineyHint:: @ 81E10C1
+ msgbox RustboroCity_Text_MayMrBrineyHint, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if_eq RustboroCity_EventScript_1E10D6
+ call_if_eq RustboroCity_EventScript_RestoreBgm
releaseall
end
-RustboroCity_EventScript_1E10D6:: @ 81E10D6
+RustboroCity_EventScript_RestoreBgm:: @ 81E10D6
savebgm MUS_DUMMY
fadedefaultbgm
return
-RustboroCity_EventScript_1E10DB:: @ 81E10DB
- trainerbattle_no_intro TRAINER_MAY_14, RustboroCity_Text_1E1CC1
+RustboroCity_EventScript_BattleMayTreecko:: @ 81E10DB
+ trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TREECKO, RustboroCity_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
- goto RustboroCity_EventScript_1E10C1
+ goto RustboroCity_EventScript_MayBrineyHint
end
-RustboroCity_EventScript_1E10EE:: @ 81E10EE
- trainerbattle_no_intro TRAINER_MAY_15, RustboroCity_Text_1E1CC1
+RustboroCity_EventScript_BattleMayTorchic:: @ 81E10EE
+ trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TORCHIC, RustboroCity_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
- goto RustboroCity_EventScript_1E10C1
+ goto RustboroCity_EventScript_MayBrineyHint
end
-RustboroCity_EventScript_1E1101:: @ 81E1101
- trainerbattle_no_intro TRAINER_MAY_10, RustboroCity_Text_1E1CC1
+RustboroCity_EventScript_BattleMayMudkip:: @ 81E1101
+ trainerbattle_no_intro TRAINER_MAY_RUSTBORO_MUDKIP, RustboroCity_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
- goto RustboroCity_EventScript_1E10C1
+ goto RustboroCity_EventScript_MayBrineyHint
end
-RustboroCity_EventScript_1E1114:: @ 81E1114
- goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_1E11C0
- goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_1E1174
+RustboroCity_EventScript_BrendanEncounter:: @ 81E1114
+ goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_BrendanBrineyHint
+ goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_BrendanAskToBattle
setflag FLAG_MET_RIVAL_RUSTBORO
- msgbox RustboroCity_Text_1E1D7D, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_BrendanHiLetsRegister, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox RustboroCity_Text_1E1E11, MSGBOX_DEFAULT
+ msgbox RustboroCity_Text_RegisteredBrendan, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_RIVAL_MATCH_CALL
setvar VAR_RUSTBORO_CITY_STATE, 8
setvar VAR_ROUTE104_STATE, 2
- msgbox RustboroCity_Text_1E1E34, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_EventScript_1E1191
- msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT
- call RustboroCity_EventScript_1E10D6
+ msgbox RustboroCity_Text_BrendanPassedBrineyWantToBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq RustboroCity_EventScript_BattleBrendan
+ msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT
+ call RustboroCity_EventScript_RestoreBgm
releaseall
end
-RustboroCity_EventScript_1E1174:: @ 81E1174
- msgbox RustboroCity_Text_1E1F76, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_EventScript_1E1191
- msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT
+RustboroCity_EventScript_BrendanAskToBattle:: @ 81E1174
+ msgbox RustboroCity_Text_BrendanWantToBattle, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq RustboroCity_EventScript_BattleBrendan
+ msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT
releaseall
end
-RustboroCity_EventScript_1E1191:: @ 81E1191
- msgbox RustboroCity_Text_1E1FA9, MSGBOX_DEFAULT
+RustboroCity_EventScript_BattleBrendan:: @ 81E1191
+ msgbox RustboroCity_Text_BrendanIWontGoEasy, MSGBOX_DEFAULT
switch VAR_STARTER_MON
- case 0, RustboroCity_EventScript_1E11D5
- case 1, RustboroCity_EventScript_1E11E8
- case 2, RustboroCity_EventScript_1E11FB
+ case 0, RustboroCity_EventScript_BattleBrendanTreecko
+ case 1, RustboroCity_EventScript_BattleBrendanTorchic
+ case 2, RustboroCity_EventScript_BattleBrendanMudkip
end
-RustboroCity_EventScript_1E11C0:: @ 81E11C0
- msgbox RustboroCity_Text_1E2002, MSGBOX_DEFAULT
+RustboroCity_EventScript_BrendanBrineyHint:: @ 81E11C0
+ msgbox RustboroCity_Text_BrendanMrBrineyHint, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if_eq RustboroCity_EventScript_1E10D6
+ call_if_eq RustboroCity_EventScript_RestoreBgm
releaseall
end
-RustboroCity_EventScript_1E11D5:: @ 81E11D5
- trainerbattle_no_intro TRAINER_BRENDAN_10, RustboroCity_Text_1E1FE9
+RustboroCity_EventScript_BattleBrendanTreecko:: @ 81E11D5
+ trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TREECKO, RustboroCity_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
- goto RustboroCity_EventScript_1E11C0
+ goto RustboroCity_EventScript_BrendanBrineyHint
end
-RustboroCity_EventScript_1E11E8:: @ 81E11E8
- trainerbattle_no_intro TRAINER_BRENDAN_12, RustboroCity_Text_1E1FE9
+RustboroCity_EventScript_BattleBrendanTorchic:: @ 81E11E8
+ trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TORCHIC, RustboroCity_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
- goto RustboroCity_EventScript_1E11C0
+ goto RustboroCity_EventScript_BrendanBrineyHint
end
-RustboroCity_EventScript_1E11FB:: @ 81E11FB
- trainerbattle_no_intro TRAINER_BRENDAN_11, RustboroCity_Text_1E1FE9
+RustboroCity_EventScript_BattleBrendanMudkip:: @ 81E11FB
+ trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_MUDKIP, RustboroCity_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
- goto RustboroCity_EventScript_1E11C0
+ goto RustboroCity_EventScript_BrendanBrineyHint
end
-RustboroCity_Movement_1E120E: @ 81E120E
+RustboroCity_Movement_RivalApproachPlayer0: @ 81E120E
walk_down
walk_left
walk_left
@@ -971,7 +986,7 @@ RustboroCity_Movement_1E120E: @ 81E120E
walk_down
step_end
-RustboroCity_Movement_1E1215: @ 81E1215
+RustboroCity_Movement_RivalApproachPlayer1: @ 81E1215
walk_down
walk_left
walk_left
@@ -979,38 +994,38 @@ RustboroCity_Movement_1E1215: @ 81E1215
walk_down
step_end
-RustboroCity_Movement_1E121B: @ 81E121B
+RustboroCity_Movement_RivalApproachPlayer2: @ 81E121B
walk_down
walk_left
walk_left
walk_down
step_end
-RustboroCity_Movement_1E1220: @ 81E1220
+RustboroCity_Movement_RivalApproachPlayer3: @ 81E1220
walk_down
walk_left
walk_down
step_end
-RustboroCity_Movement_1E1224: @ 81E1224
+RustboroCity_Movement_RivalApproachPlayer4: @ 81E1224
walk_down
walk_down
step_end
-RustboroCity_Movement_1E1227: @ 81E1227
+RustboroCity_Movement_RivalApproachPlayer5: @ 81E1227
walk_down
walk_right
walk_down
step_end
-RustboroCity_Movement_1E122B: @ 81E122B
+RustboroCity_Movement_RivalApproachPlayer6: @ 81E122B
walk_down
walk_right
walk_right
walk_down
step_end
-RustboroCity_Movement_1E1230: @ 81E1230
+RustboroCity_Movement_RivalApproachPlayer7: @ 81E1230
walk_down
walk_right
walk_right
@@ -1018,53 +1033,53 @@ RustboroCity_Movement_1E1230: @ 81E1230
walk_down
step_end
-RustboroCity_EventScript_1E1236:: @ 81E1236
- msgbox RustboroCity_Text_1E249D, MSGBOX_NPC
+RustboroCity_EventScript_Boy1:: @ 81E1236
+ msgbox RustboroCity_Text_YouCanHave2On2Battle, MSGBOX_NPC
end
-RustboroCity_Text_1E123F: @ 81E123F
+RustboroCity_Text_WeShortenItToDevon: @ 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
+RustboroCity_Text_SneakyLookingManWentAroundCorner: @ 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
+RustboroCity_Text_HaveYouChallengedGym: @ 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
+RustboroCity_Text_HeyThatsRustborosGymBadge: @ 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
+RustboroCity_Text_YoureNewAroundHere: @ 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
+RustboroCity_Text_GymLeaderIsntEasyWithFire: @ 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
+RustboroCity_Text_MrBrineyWalksInTheTunnel: @ 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
+RustboroCity_Text_MrBrineyLovesPeeko: @ 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"
@@ -1072,40 +1087,40 @@ RustboroCity_Text_1E1589: @ 81E1589
.string "That old sea dog, he must really love\n"
.string "that PEEKO.$"
-RustboroCity_Text_1E1633: @ 81E1633
+RustboroCity_Text_WowYouHavePokemon: @ 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
+RustboroCity_Text_CatchRarePokemonIfIGoToSchool: @ 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
+RustboroCity_Text_PokemonCanChangeLookFromExp: @ 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
+RustboroCity_Text_PokemonChangeShape: @ 81E174B
.string "A POKéMON changes shape?\n"
.string "If one did that, I would be shocked!$"
-RustboroCity_Text_1E1789: @ 81E1789
+RustboroCity_Text_TradePokemonGrowFast: @ 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
+RustboroCity_Text_OutOfTheWay: @ 81E17FE
.string "Get out!\n"
.string "Out of the way!$"
-RustboroCity_Text_1E1817: @ 81E1817
+RustboroCity_Text_WaitDontTakeMyGoods: @ 81E1817
.string "Wait! Pleeeaaase!\p"
.string "Don't take my GOODS!$"
-RustboroCity_Text_1E183E: @ 81E183E
+RustboroCity_Text_HelpMeIWasRobbed: @ 81E183E
.string "Oh, it's you!\p"
.string "You're that fantastic TRAINER who\n"
.string "helped me in PETALBURG WOODS!\p"
@@ -1114,11 +1129,11 @@ RustboroCity_Text_1E183E: @ 81E183E
.string "If I don't…\n"
.string "I'm going to be in serious trouble.$"
-RustboroCity_Text_1E1904: @ 81E1904
+RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel: @ 81E1904
.string "That shady character, I think he took\n"
.string "off towards the tunnel over there.$"
-RustboroCity_Text_1E194D: @ 81E194D
+RustboroCity_Text_YouGotItThankYou: @ 81E194D
.string "Oh! How did it go?\n"
.string "The DEVON GOODS?\p"
.string "You did!\n"
@@ -1127,15 +1142,15 @@ RustboroCity_Text_1E194D: @ 81E194D
.string "I know! As my thanks, I'll give you\n"
.string "another GREAT BALL!$"
-RustboroCity_Text_1E19E5: @ 81E19E5
+RustboroCity_Text_YoureLoadedWithItems: @ 81E19E5
.string "You're loaded with items.\n"
.string "I can't give you this GREAT BALL.$"
-RustboroCity_Text_1E1A21: @ 81E1A21
+RustboroCity_Text_PleaseComeWithMe: @ 81E1A21
.string "Excuse me, please!\n"
.string "Please come with me!$"
-RustboroCity_Text_1E1A49: @ 81E1A49
+RustboroCity_Text_MayHiLetsRegister: @ 81E1A49
.string "MAY: Oh, hi, {PLAYER}{KUN}!\p"
.string "You had a MATCH CALL feature put\n"
.string "on your POKéNAV!\p"
@@ -1143,11 +1158,11 @@ RustboroCity_Text_1E1A49: @ 81E1A49
.string "contact one another anytime!\p"
.string "… … … … … …$"
-RustboroCity_Text_1E1ADB: @ 81E1ADB
+RustboroCity_Text_RegisteredMay: @ 81E1ADB
.string "Registered MAY\n"
.string "in the POKéNAV.$"
-RustboroCity_Text_1E1AFA: @ 81E1AFA
+RustboroCity_Text_MayPassedBrineyWantToBattle: @ 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"
@@ -1157,32 +1172,32 @@ RustboroCity_Text_1E1AFA: @ 81E1AFA
.string "So…\n"
.string "How about a little battle?$"
-RustboroCity_Text_1E1BD3: @ 81E1BD3
+RustboroCity_Text_MayOhHaventRaisedPokemonEnough: @ 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
+RustboroCity_Text_MayWantToBattle: @ 81E1C48
.string "MAY: So, what do you think?\n"
.string "How about a little battle here?$"
-RustboroCity_Text_1E1C84: @ 81E1C84
+RustboroCity_Text_MayImNotGoingToLose: @ 81E1C84
.string "MAY: You just became a TRAINER,\n"
.string "{PLAYER}{KUN}. I'm not going to lose!$"
-RustboroCity_Text_1E1CC1: @ 81E1CC1
+RustboroCity_Text_MayDefeat: @ 81E1CC1
.string "Yikes!\n"
.string "You're better than I expected!$"
-RustboroCity_Text_1E1CE7: @ 81E1CE7
+RustboroCity_Text_MayMrBrineyHint: @ 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
+RustboroCity_Text_BrendanHiLetsRegister: @ 81E1D7D
.string "BRENDAN: Oh, hey, {PLAYER}!\p"
.string "You had a MATCH CALL feature put\n"
.string "on your POKéNAV! Cool!\p"
@@ -1190,11 +1205,11 @@ RustboroCity_Text_1E1D7D: @ 81E1D7D
.string "get in touch anytime!\p"
.string "… … … … … …$"
-RustboroCity_Text_1E1E11: @ 81E1E11
+RustboroCity_Text_RegisteredBrendan: @ 81E1E11
.string "Registered BRENDAN\n"
.string "in the POKéNAV.$"
-RustboroCity_Text_1E1E34: @ 81E1E34
+RustboroCity_Text_BrendanPassedBrineyWantToBattle: @ 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"
@@ -1205,72 +1220,72 @@ RustboroCity_Text_1E1E34: @ 81E1E34
.string "Want to have a battle to test how\n"
.string "far you've progressed?$"
-RustboroCity_Text_1E1F2F: @ 81E1F2F
+RustboroCity_Text_BrendanNoConfidenceInPokemon: @ 81E1F2F
.string "BRENDAN: What's the matter? Don't have\n"
.string "any confidence in your POKéMON?$"
-RustboroCity_Text_1E1F76: @ 81E1F76
+RustboroCity_Text_BrendanWantToBattle: @ 81E1F76
.string "BRENDAN: What's up?\n"
.string "Want to have a battle with me?$"
-RustboroCity_Text_1E1FA9: @ 81E1FA9
+RustboroCity_Text_BrendanIWontGoEasy: @ 81E1FA9
.string "BRENDAN: I know you just became\n"
.string "a TRAINER, but I won't go easy!$"
-RustboroCity_Text_1E1FE9: @ 81E1FE9
+RustboroCity_Text_BrendanDefeat: @ 81E1FE9
.string "Hmm…\n"
.string "You're pretty good.$"
-RustboroCity_Text_1E2002: @ 81E2002
+RustboroCity_Text_BrendanMrBrineyHint: @ 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
+RustboroCity_Text_TunnelNearingCompletion: @ 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
+RustboroCity_Text_DevonCorpSign: @ 81E2128
.string "DEVON CORPORATION\p"
.string "“For all your living needs, we make\n"
.string "it all.”$"
-RustboroCity_Text_1E2167: @ 81E2167
+RustboroCity_Text_GymSign: @ 81E2167
.string "RUSTBORO CITY POKéMON GYM\n"
.string "LEADER: ROXANNE\p"
.string "“The ROCK-loving honors student!”$"
-RustboroCity_Text_1E21B3: @ 81E21B3
+RustboroCity_Text_DevonCorpBranchOfficeSign: @ 81E21B3
.string "DEVON CORP. BRANCH OFFICE\p"
.string "“Access limited to DEVON employees\n"
.string "and authorized personnel.”$"
-RustboroCity_Text_1E220B: @ 81E220B
+RustboroCity_Text_CitySign: @ 81E220B
.string "RUSTBORO CITY\p"
.string "“The city probing the integration of\n"
.string "nature and science.”$"
-RustboroCity_Text_1E2253: @ 81E2253
+RustboroCity_Text_TrainersSchoolSign: @ 81E2253
.string "POKéMON TRAINER'S SCHOOL\p"
.string "“We'll teach you anything about\n"
.string "POKéMON!”$"
-RustboroCity_Text_1E2296: @ 81E2296
+RustboroCity_Text_CuttersHouse: @ 81E2296
.string "CUTTER'S HOUSE$"
-RustboroCity_Text_1E22A5: @ 81E22A5
+RustboroCity_Text_DevelopedNewPokenavFeature: @ 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
+RustboroCity_Text_AddedMatchCallPleaseCallMrStone: @ 81E2331
.string "There you go, {PLAYER}!\p"
.string "I added a new feature named\n"
.string "MATCH CALL to your POKéNAV.\p"
@@ -1282,14 +1297,14 @@ RustboroCity_Text_1E2331: @ 81E2331
.string "Test it out.\n"
.string "Please give our PRESIDENT a call.$"
-RustboroCity_Text_1E2449: @ 81E2449
+RustboroCity_Text_PleaseSelectPokenav: @ 81E2449
.string "Please select the POKéNAV.$"
-RustboroCity_Text_1E2464: @ 81E2464
+RustboroCity_Text_IdBetterGetBackToWork: @ 81E2464
.string "Okay, I'd better get back to work.\n"
.string "Please take care, {PLAYER}!$"
-RustboroCity_Text_1E249D: @ 81E249D
+RustboroCity_Text_YouCanHave2On2Battle: @ 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"
diff --git a/data/maps/RustboroCity_CuttersHouse/map.json b/data/maps/RustboroCity_CuttersHouse/map.json
index 134b9f726..a4bc47476 100644
--- a/data/maps/RustboroCity_CuttersHouse/map.json
+++ b/data/maps/RustboroCity_CuttersHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_CuttersHouse_EventScript_215BD4",
+ "script": "RustboroCity_CuttersHouse_EventScript_Cutter",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_CuttersHouse_EventScript_215C0A",
+ "script": "RustboroCity_CuttersHouse_EventScript_Lass",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_CuttersHouse/scripts.inc b/data/maps/RustboroCity_CuttersHouse/scripts.inc
index ab74d5340..9ee4fc575 100644
--- a/data/maps/RustboroCity_CuttersHouse/scripts.inc
+++ b/data/maps/RustboroCity_CuttersHouse/scripts.inc
@@ -1,27 +1,27 @@
RustboroCity_CuttersHouse_MapScripts:: @ 8215BD3
.byte 0
-RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4
+RustboroCity_CuttersHouse_EventScript_Cutter:: @ 8215BD4
lock
faceplayer
- goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_215C00
- msgbox RustboroCity_CuttersHouse_Text_215C13, MSGBOX_DEFAULT
- giveitem_std ITEM_HM01
+ goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_ExplainCut
+ msgbox RustboroCity_CuttersHouse_Text_YouCanPutThisHMToGoodUse, MSGBOX_DEFAULT
+ giveitem ITEM_HM01
setflag FLAG_RECEIVED_HM01
- msgbox RustboroCity_CuttersHouse_Text_215D33, MSGBOX_DEFAULT
+ msgbox RustboroCity_CuttersHouse_Text_ExplainCut, MSGBOX_DEFAULT
release
end
-RustboroCity_CuttersHouse_EventScript_215C00:: @ 8215C00
- msgbox RustboroCity_CuttersHouse_Text_215D33, MSGBOX_DEFAULT
+RustboroCity_CuttersHouse_EventScript_ExplainCut:: @ 8215C00
+ msgbox RustboroCity_CuttersHouse_Text_ExplainCut, MSGBOX_DEFAULT
release
end
-RustboroCity_CuttersHouse_EventScript_215C0A:: @ 8215C0A
- msgbox RustboroCity_CuttersHouse_Text_215E39, MSGBOX_NPC
+RustboroCity_CuttersHouse_EventScript_Lass:: @ 8215C0A
+ msgbox RustboroCity_CuttersHouse_Text_DadHelpedClearLandOfTrees, MSGBOX_NPC
end
-RustboroCity_CuttersHouse_Text_215C13: @ 8215C13
+RustboroCity_CuttersHouse_Text_YouCanPutThisHMToGoodUse: @ 8215C13
.string "That determined expression…\n"
.string "That limber way you move…\l"
.string "And your well-trained POKéMON…\p"
@@ -33,7 +33,7 @@ RustboroCity_CuttersHouse_Text_215C13: @ 8215C13
.string "No need to be modest or shy.\n"
.string "Go on, take it!$"
-RustboroCity_CuttersHouse_Text_215D33: @ 8215D33
+RustboroCity_CuttersHouse_Text_ExplainCut: @ 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"
@@ -44,7 +44,7 @@ RustboroCity_CuttersHouse_Text_215D33: @ 8215D33
.string "And, unlike a TM, an HM can be used\n"
.string "more than once.$"
-RustboroCity_CuttersHouse_Text_215E39: @ 8215E39
+RustboroCity_CuttersHouse_Text_DadHelpedClearLandOfTrees: @ 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"
diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.json b/data/maps/RustboroCity_DevonCorp_1F/map.json
index 7eee74211..9223872b9 100644
--- a/data/maps/RustboroCity_DevonCorp_1F/map.json
+++ b/data/maps/RustboroCity_DevonCorp_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_1F_EventScript_211261",
+ "script": "RustboroCity_DevonCorp_1F_EventScript_Employee",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_1F_EventScript_211293",
+ "script": "RustboroCity_DevonCorp_1F_EventScript_StairGuard",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_1F_EventScript_2112CE",
+ "script": "RustboroCity_DevonCorp_1F_EventScript_Greeter",
"flag": "0"
}
],
@@ -85,7 +85,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_DevonCorp_1F_EventScript_211312"
+ "script": "RustboroCity_DevonCorp_1F_EventScript_ProductsDisplay"
},
{
"type": "sign",
@@ -93,7 +93,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_DevonCorp_1F_EventScript_211309"
+ "script": "RustboroCity_DevonCorp_1F_EventScript_RocksMetalDisplay"
}
]
} \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
index 788a403f2..3ee7e7dc8 100644
--- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
@@ -3,121 +3,121 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245
.byte 0
RustboroCity_DevonCorp_1F_OnTransition: @ 821124B
- call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_211255
+ call_if_unset FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_BlockStairs
end
-RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255
+RustboroCity_DevonCorp_1F_EventScript_BlockStairs:: @ 8211255
setobjectxyperm 2, 14, 2
setobjectmovementtype 2, MOVEMENT_TYPE_FACE_DOWN
return
-RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261
+RustboroCity_DevonCorp_1F_EventScript_Employee:: @ 8211261
lock
faceplayer
- goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_211289
- goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_21127F
- msgbox RustboroCity_DevonCorp_1F_Text_2113D1, MSGBOX_DEFAULT
+ goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_GoodsRecovered
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_RobberWasntBright
+ msgbox RustboroCity_DevonCorp_1F_Text_ThoseShoesAreOurProduct, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_21127F:: @ 821127F
- msgbox RustboroCity_DevonCorp_1F_Text_211446, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_1F_EventScript_RobberWasntBright:: @ 821127F
+ msgbox RustboroCity_DevonCorp_1F_Text_RobberWasntVeryBright, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289
- msgbox RustboroCity_DevonCorp_1F_Text_2114DE, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_1F_EventScript_GoodsRecovered:: @ 8211289
+ msgbox RustboroCity_DevonCorp_1F_Text_SoundsLikeStolenGoodsRecovered, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293
+RustboroCity_DevonCorp_1F_EventScript_StairGuard:: @ 8211293
lock
faceplayer
- goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112BA
- goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112C4
- goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_2112C4
- msgbox RustboroCity_DevonCorp_1F_Text_21151B, MSGBOX_DEFAULT
+ goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_AlwaysWelcome
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_GotRobbed
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_GotRobbed
+ msgbox RustboroCity_DevonCorp_1F_Text_OnlyAuthorizedPeopleEnter, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_2112BA:: @ 82112BA
- msgbox RustboroCity_DevonCorp_1F_Text_211585, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_1F_EventScript_AlwaysWelcome:: @ 82112BA
+ msgbox RustboroCity_DevonCorp_1F_Text_YoureAlwaysWelcomeHere, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4
- msgbox RustboroCity_DevonCorp_1F_Text_211558, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_1F_EventScript_GotRobbed:: @ 82112C4
+ msgbox RustboroCity_DevonCorp_1F_Text_HowCouldWeGetRobbed, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE
+RustboroCity_DevonCorp_1F_EventScript_Greeter:: @ 82112CE
lock
faceplayer
- goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112F5
- goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_2112FF
- goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_2112FF
- msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT
+ goto_if_set FLAG_RETURNED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_WelcomeToDevonCorp
+ goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_DevonCorp_1F_EventScript_StaffGotRobbed
+ goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_DevonCorp_1F_EventScript_StaffGotRobbed
+ msgbox RustboroCity_DevonCorp_1F_Text_WelcomeToDevonCorp, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_2112F5:: @ 82112F5
- msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_1F_EventScript_WelcomeToDevonCorp:: @ 82112F5
+ msgbox RustboroCity_DevonCorp_1F_Text_WelcomeToDevonCorp, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_2112FF:: @ 82112FF
- msgbox RustboroCity_DevonCorp_1F_Text_21138B, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_1F_EventScript_StaffGotRobbed:: @ 82112FF
+ msgbox RustboroCity_DevonCorp_1F_Text_StaffGotRobbed, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_1F_EventScript_211309:: @ 8211309
- msgbox RustboroCity_DevonCorp_1F_Text_2115AC, MSGBOX_SIGN
+RustboroCity_DevonCorp_1F_EventScript_RocksMetalDisplay:: @ 8211309
+ msgbox RustboroCity_DevonCorp_1F_Text_RocksMetalDisplay, MSGBOX_SIGN
end
-RustboroCity_DevonCorp_1F_EventScript_211312:: @ 8211312
- msgbox RustboroCity_DevonCorp_1F_Text_211722, MSGBOX_SIGN
+RustboroCity_DevonCorp_1F_EventScript_ProductsDisplay:: @ 8211312
+ msgbox RustboroCity_DevonCorp_1F_Text_ProductDisplay, MSGBOX_SIGN
end
-RustboroCity_DevonCorp_1F_Text_21131B: @ 821131B
+RustboroCity_DevonCorp_1F_Text_WelcomeToDevonCorp: @ 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
+RustboroCity_DevonCorp_1F_Text_StaffGotRobbed: @ 821138B
.string "One of our research staff stupidly\n"
.string "got robbed of an important parcel.$"
-RustboroCity_DevonCorp_1F_Text_2113D1: @ 82113D1
+RustboroCity_DevonCorp_1F_Text_ThoseShoesAreOurProduct: @ 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
+RustboroCity_DevonCorp_1F_Text_RobberWasntVeryBright: @ 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
+RustboroCity_DevonCorp_1F_Text_SoundsLikeStolenGoodsRecovered: @ 82114DE
.string "It sounds like they've recovered\n"
.string "the ripped-off DEVON GOODS.$"
-RustboroCity_DevonCorp_1F_Text_21151B: @ 821151B
+RustboroCity_DevonCorp_1F_Text_OnlyAuthorizedPeopleEnter: @ 821151B
.string "I'm sorry, only authorized people\n"
.string "are allowed to enter here.$"
-RustboroCity_DevonCorp_1F_Text_211558: @ 8211558
+RustboroCity_DevonCorp_1F_Text_HowCouldWeGetRobbed: @ 8211558
.string "It's beyond stupid.\n"
.string "How could we get robbed?$"
-RustboroCity_DevonCorp_1F_Text_211585: @ 8211585
+RustboroCity_DevonCorp_1F_Text_YoureAlwaysWelcomeHere: @ 8211585
.string "Hi, there!\n"
.string "You're always welcome here!$"
-RustboroCity_DevonCorp_1F_Text_2115AC: @ 82115AC
+RustboroCity_DevonCorp_1F_Text_RocksMetalDisplay: @ 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"
@@ -131,7 +131,7 @@ RustboroCity_DevonCorp_1F_Text_2115AC: @ 82115AC
.string "“DEVON is now a manufacturer of a wide\n"
.string "range of industrial products.”$"
-RustboroCity_DevonCorp_1F_Text_211722: @ 8211722
+RustboroCity_DevonCorp_1F_Text_ProductDisplay: @ 8211722
.string "Prototypes and test products fill\n"
.string "the glass display case.\p"
.string "There's a panel with a description…\p"
diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.json b/data/maps/RustboroCity_DevonCorp_2F/map.json
index 9ab864774..b7dbdb3d5 100644
--- a/data/maps/RustboroCity_DevonCorp_2F/map.json
+++ b/data/maps/RustboroCity_DevonCorp_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_2F_EventScript_21186F",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_TalkToPokemonScientist",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_2F_EventScript_211886",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_BallScientist",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_2F_EventScript_2118B0",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_PokenavScientist",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 10,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_2F_EventScript_2118DA",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_PokemonDreamsScientist",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_2F_EventScript_2118F1",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_FossilScientist",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_2F_EventScript_211BCF",
+ "script": "RustboroCity_DevonCorp_2F_EventScript_MatchCallScientist",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
index e5ac226c5..9df6d7ab6 100644
--- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
@@ -4,305 +4,306 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 8211857
RustboroCity_DevonCorp_2F_OnTransition: @ 821185D
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
end
-RustboroCity_DevonCorp_2F_EventScript_211869:: @ 8211869
+RustboroCity_DevonCorp_2F_EventScript_SetFossilReady:: @ 8211869
setvar VAR_FOSSIL_RESURRECTION_STATE, 2
return
-RustboroCity_DevonCorp_2F_EventScript_21186F:: @ 821186F
+RustboroCity_DevonCorp_2F_EventScript_TalkToPokemonScientist:: @ 821186F
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
- msgbox RustboroCity_DevonCorp_2F_Text_211BFB, MSGBOX_DEFAULT
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ msgbox RustboroCity_DevonCorp_2F_Text_DeviceForTalkingToPokemon, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886
+RustboroCity_DevonCorp_2F_EventScript_BallScientist:: @ 8211886
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
- goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_2118A6
- msgbox RustboroCity_DevonCorp_2F_Text_211C50, MSGBOX_DEFAULT
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_DevelopedBalls
+ msgbox RustboroCity_DevonCorp_2F_Text_DevelopingNewBalls, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_2118A6:: @ 82118A6
- msgbox RustboroCity_DevonCorp_2F_Text_211C99, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_2F_EventScript_DevelopedBalls:: @ 82118A6
+ msgbox RustboroCity_DevonCorp_2F_Text_WeFinallyMadeNewBalls, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0
+RustboroCity_DevonCorp_2F_EventScript_PokenavScientist:: @ 82118B0
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
- goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_2118D0
- msgbox RustboroCity_DevonCorp_2F_Text_211D9F, MSGBOX_DEFAULT
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_HasPokenav
+ msgbox RustboroCity_DevonCorp_2F_Text_IMadePokenav, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_2118D0:: @ 82118D0
- msgbox RustboroCity_DevonCorp_2F_Text_211DF3, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_2F_EventScript_HasPokenav:: @ 82118D0
+ msgbox RustboroCity_DevonCorp_2F_Text_WowThatsAPokenav, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_2118DA:: @ 82118DA
+RustboroCity_DevonCorp_2F_EventScript_PokemonDreamsScientist:: @ 82118DA
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
- msgbox RustboroCity_DevonCorp_2F_Text_211EE0, MSGBOX_DEFAULT
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ msgbox RustboroCity_DevonCorp_2F_Text_DeviceToVisualizePokemonDreams, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_2118F1:: @ 82118F1
+RustboroCity_DevonCorp_2F_EventScript_FossilScientist:: @ 82118F1
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 2
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A03
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FossilMonReady
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119F9
- msgbox RustboroCity_DevonCorp_2F_Text_211F48, MSGBOX_DEFAULT
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_StillRegenerating
+ msgbox RustboroCity_DevonCorp_2F_Text_DevelopDeviceToResurrectFossils, MSGBOX_DEFAULT
checkitem ITEM_ROOT_FOSSIL, 1
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211933
+ compare VAR_RESULT, TRUE
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_NoticeRootFossil
checkitem ITEM_CLAW_FOSSIL, 1
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211991
+ compare VAR_RESULT, TRUE
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_NoticeClawFossil
release
end
-RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933
+@ This whole section has needless duplication and could be condensed considerably
+RustboroCity_DevonCorp_2F_EventScript_NoticeRootFossil:: @ 8211933
closemessage
playse SE_PIN
applymovement 5, Common_Movement_ExclamationMark
waitmovement 0
applymovement 5, Common_Movement_Delay48
waitmovement 0
- msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
+ msgbox RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil
checkitem ITEM_CLAW_FOSSIL, 1
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84
- goto RustboroCity_DevonCorp_2F_EventScript_211974
+ compare VAR_RESULT, TRUE
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ChooseFossil
+ goto RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil
end
-RustboroCity_DevonCorp_2F_EventScript_211974:: @ 8211974
+RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil:: @ 8211974
bufferitemname 0, ITEM_ROOT_FOSSIL
- msgbox RustboroCity_DevonCorp_2F_Text_212153, MSGBOX_DEFAULT
- takeitem ITEM_ROOT_FOSSIL, 1
+ msgbox RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher, MSGBOX_DEFAULT
+ removeitem ITEM_ROOT_FOSSIL
setvar VAR_FOSSIL_RESURRECTION_STATE, 1
setvar VAR_WHICH_FOSSIL_REVIVED, 1
release
end
-RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991
+RustboroCity_DevonCorp_2F_EventScript_NoticeClawFossil:: @ 8211991
closemessage
playse SE_PIN
applymovement 5, Common_Movement_ExclamationMark
waitmovement 0
applymovement 5, Common_Movement_Delay48
waitmovement 0
- msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
+ msgbox RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil
checkitem ITEM_ROOT_FOSSIL, 1
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84
- goto RustboroCity_DevonCorp_2F_EventScript_2119D2
+ compare VAR_RESULT, TRUE
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ChooseFossil
+ goto RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil
end
-RustboroCity_DevonCorp_2F_EventScript_2119D2:: @ 82119D2
+RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil:: @ 82119D2
bufferitemname 0, ITEM_CLAW_FOSSIL
- msgbox RustboroCity_DevonCorp_2F_Text_212153, MSGBOX_DEFAULT
- takeitem ITEM_CLAW_FOSSIL, 1
+ msgbox RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher, MSGBOX_DEFAULT
+ removeitem ITEM_CLAW_FOSSIL
setvar VAR_FOSSIL_RESURRECTION_STATE, 1
setvar VAR_WHICH_FOSSIL_REVIVED, 2
release
end
-RustboroCity_DevonCorp_2F_EventScript_2119EF:: @ 82119EF
- msgbox RustboroCity_DevonCorp_2F_Text_212046, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil:: @ 82119EF
+ msgbox RustboroCity_DevonCorp_2F_Text_OhIsThatSo, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_2119F9:: @ 82119F9
- msgbox RustboroCity_DevonCorp_2F_Text_2121A2, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_2F_EventScript_StillRegenerating:: @ 82119F9
+ msgbox RustboroCity_DevonCorp_2F_Text_FossilRegeneratorTakesTime, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_211A03:: @ 8211A03
+RustboroCity_DevonCorp_2F_EventScript_FossilMonReady:: @ 8211A03
compare VAR_WHICH_FOSSIL_REVIVED, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A1A
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_LileepReady
compare VAR_WHICH_FOSSIL_REVIVED, 2
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A2C
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_AnorithReady
end
-RustboroCity_DevonCorp_2F_EventScript_211A1A:: @ 8211A1A
+RustboroCity_DevonCorp_2F_EventScript_LileepReady:: @ 8211A1A
bufferspeciesname 1, SPECIES_LILEEP
- msgbox RustboroCity_DevonCorp_2F_Text_212251, MSGBOX_DEFAULT
- goto RustboroCity_DevonCorp_2F_EventScript_211A3E
+ msgbox RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife, MSGBOX_DEFAULT
+ goto RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep
end
-RustboroCity_DevonCorp_2F_EventScript_211A2C:: @ 8211A2C
+RustboroCity_DevonCorp_2F_EventScript_AnorithReady:: @ 8211A2C
bufferspeciesname 1, SPECIES_ANORITH
- msgbox RustboroCity_DevonCorp_2F_Text_212251, MSGBOX_DEFAULT
- goto RustboroCity_DevonCorp_2F_EventScript_211AE1
+ msgbox RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife, MSGBOX_DEFAULT
+ goto RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith
end
-RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E
+RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep:: @ 8211A3E
setvar VAR_TEMP_1, SPECIES_LILEEP
- givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0
+ givemon SPECIES_LILEEP, 20, ITEM_NONE
compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A6E
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty
compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A96
- goto RustboroCity_DevonCorp_2F_EventScript_273811
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC
+ goto Common_EventScript_NoMoreRoomForPokemon
end
-RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E
- call RustboroCity_DevonCorp_2F_EventScript_211AC4
+RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty:: @ 8211A6E
+ call RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AD7
- call RustboroCity_DevonCorp_2F_EventScript_27378B
- call Common_EventScript_NameReceivedPokemon
- goto RustboroCity_DevonCorp_2F_EventScript_211AD7
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep
+ call Common_EventScript_GetGiftMonPartySlot
+ call Common_EventScript_NameReceivedPartyMon
+ goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep
end
-RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96
- call RustboroCity_DevonCorp_2F_EventScript_211AC4
+RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC:: @ 8211A96
+ call RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AB9
- call RustboroCity_DevonCorp_2F_EventScript_273797
- goto RustboroCity_DevonCorp_2F_EventScript_211AB9
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC
+ call Common_EventScript_NameReceivedBoxMon
+ goto RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC
end
-RustboroCity_DevonCorp_2F_EventScript_211AB9:: @ 8211AB9
- call RustboroCity_DevonCorp_2F_EventScript_2737A0
- goto RustboroCity_DevonCorp_2F_EventScript_211AD7
+RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC:: @ 8211AB9
+ call Common_EventScript_TransferredToPC
+ goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep
end
-RustboroCity_DevonCorp_2F_EventScript_211AC4:: @ 8211AC4
+RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare:: @ 8211AC4
bufferspeciesname 1, SPECIES_LILEEP
playfanfare MUS_FANFA4
- message RustboroCity_DevonCorp_2F_Text_2122CB
+ message RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher
waitmessage
waitfanfare
bufferspeciesname 0, SPECIES_LILEEP
return
-RustboroCity_DevonCorp_2F_EventScript_211AD7:: @ 8211AD7
+RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep:: @ 8211AD7
setvar VAR_FOSSIL_RESURRECTION_STATE, 0
setflag FLAG_RECEIVED_REVIVED_FOSSIL_MON
release
end
-RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1
+RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith:: @ 8211AE1
setvar VAR_TEMP_1, SPECIES_ANORITH
- givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0
+ givemon SPECIES_ANORITH, 20, ITEM_NONE
compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B11
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty
compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B39
- goto RustboroCity_DevonCorp_2F_EventScript_273811
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC
+ goto Common_EventScript_NoMoreRoomForPokemon
end
-RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11
- call RustboroCity_DevonCorp_2F_EventScript_211B67
+RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty:: @ 8211B11
+ call RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B7A
- call RustboroCity_DevonCorp_2F_EventScript_27378B
- call Common_EventScript_NameReceivedPokemon
- goto RustboroCity_DevonCorp_2F_EventScript_211B7A
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith
+ call Common_EventScript_GetGiftMonPartySlot
+ call Common_EventScript_NameReceivedPartyMon
+ goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith
end
-RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39
- call RustboroCity_DevonCorp_2F_EventScript_211B67
+RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC:: @ 8211B39
+ call RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B5C
- call RustboroCity_DevonCorp_2F_EventScript_273797
- goto RustboroCity_DevonCorp_2F_EventScript_211B5C
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC
+ call Common_EventScript_NameReceivedBoxMon
+ goto RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC
end
-RustboroCity_DevonCorp_2F_EventScript_211B5C:: @ 8211B5C
- call RustboroCity_DevonCorp_2F_EventScript_2737A0
- goto RustboroCity_DevonCorp_2F_EventScript_211B7A
+RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC:: @ 8211B5C
+ call Common_EventScript_TransferredToPC
+ goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith
end
-RustboroCity_DevonCorp_2F_EventScript_211B67:: @ 8211B67
+RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare:: @ 8211B67
bufferspeciesname 1, SPECIES_ANORITH
playfanfare MUS_FANFA4
- message RustboroCity_DevonCorp_2F_Text_2122CB
+ message RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher
waitmessage
waitfanfare
bufferspeciesname 0, SPECIES_ANORITH
return
-RustboroCity_DevonCorp_2F_EventScript_211B7A:: @ 8211B7A
+RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith:: @ 8211B7A
setvar VAR_FOSSIL_RESURRECTION_STATE, 0
setflag FLAG_RECEIVED_REVIVED_FOSSIL_MON
release
end
-RustboroCity_DevonCorp_2F_EventScript_211B84:: @ 8211B84
- message RustboroCity_DevonCorp_2F_Text_212092
+RustboroCity_DevonCorp_2F_EventScript_ChooseFossil:: @ 8211B84
+ message RustboroCity_DevonCorp_2F_Text_TwoFossilsPickOne
waitmessage
- multichoice 17, 6, 93, 0
+ multichoice 17, 6, MULTI_FOSSIL, 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
+ case 0, RustboroCity_DevonCorp_2F_EventScript_ChooseClawFossil
+ case 1, RustboroCity_DevonCorp_2F_EventScript_ChooseRootFossil
+ case 2, RustboroCity_DevonCorp_2F_EventScript_CancelFossilSelect
+ case MULTI_B_PRESSED, RustboroCity_DevonCorp_2F_EventScript_CancelFossilSelect
end
-RustboroCity_DevonCorp_2F_EventScript_211BC1:: @ 8211BC1
- goto RustboroCity_DevonCorp_2F_EventScript_2119D2
+RustboroCity_DevonCorp_2F_EventScript_ChooseClawFossil:: @ 8211BC1
+ goto RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil
end
-RustboroCity_DevonCorp_2F_EventScript_211BC7:: @ 8211BC7
- goto RustboroCity_DevonCorp_2F_EventScript_211974
+RustboroCity_DevonCorp_2F_EventScript_ChooseRootFossil:: @ 8211BC7
+ goto RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil
end
-RustboroCity_DevonCorp_2F_EventScript_211BCD:: @ 8211BCD
+RustboroCity_DevonCorp_2F_EventScript_CancelFossilSelect:: @ 8211BCD
release
end
-RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF
+RustboroCity_DevonCorp_2F_EventScript_MatchCallScientist:: @ 8211BCF
lock
faceplayer
compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
compare VAR_RUSTBORO_CITY_STATE, 6
- goto_if_ge RustboroCity_DevonCorp_2F_EventScript_211BF1
- msgbox RustboroCity_DevonCorp_2F_Text_212338, MSGBOX_DEFAULT
+ goto_if_ge RustboroCity_DevonCorp_2F_EventScript_WorkOnNext
+ msgbox RustboroCity_DevonCorp_2F_Text_DevelopNewPokenavFeature, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_EventScript_211BF1:: @ 8211BF1
- msgbox RustboroCity_DevonCorp_2F_Text_212386, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_2F_EventScript_WorkOnNext:: @ 8211BF1
+ msgbox RustboroCity_DevonCorp_2F_Text_WhatToWorkOnNext, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_2F_Text_211BFB: @ 8211BFB
+RustboroCity_DevonCorp_2F_Text_DeviceForTalkingToPokemon: @ 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
+RustboroCity_DevonCorp_2F_Text_DevelopingNewBalls: @ 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
+RustboroCity_DevonCorp_2F_Text_WeFinallyMadeNewBalls: @ 8211C99
.string "We finally made new kinds of\n"
.string "POKé BALLS!\p"
.string "The REPEAT BALL makes it easier to\n"
@@ -313,12 +314,12 @@ RustboroCity_DevonCorp_2F_Text_211C99: @ 8211C99
.string "the DEVON CORPORATION.\p"
.string "Please give them a try!$"
-RustboroCity_DevonCorp_2F_Text_211D9F: @ 8211D9F
+RustboroCity_DevonCorp_2F_Text_IMadePokenav: @ 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
+RustboroCity_DevonCorp_2F_Text_WowThatsAPokenav: @ 8211DF3
.string "Oh, wow!\n"
.string "That's a POKéNAV!\p"
.string "It came about as a result of our\n"
@@ -329,18 +330,18 @@ RustboroCity_DevonCorp_2F_Text_211DF3: @ 8211DF3
.string "No, no. I think you'll find out just by\n"
.string "trying the POKéNAV out.$"
-RustboroCity_DevonCorp_2F_Text_211EE0: @ 8211EE0
+RustboroCity_DevonCorp_2F_Text_DeviceToVisualizePokemonDreams: @ 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
+RustboroCity_DevonCorp_2F_Text_DevelopDeviceToResurrectFossils: @ 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
+RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife: @ 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"
@@ -348,12 +349,12 @@ RustboroCity_DevonCorp_2F_Text_211FA6: @ 8211FA6
.string "I can with my newly developed\n"
.string "FOSSIL REGENERATOR.$"
-RustboroCity_DevonCorp_2F_Text_212046: @ 8212046
+RustboroCity_DevonCorp_2F_Text_OhIsThatSo: @ 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
+RustboroCity_DevonCorp_2F_Text_TwoFossilsPickOne: @ 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"
@@ -361,13 +362,13 @@ RustboroCity_DevonCorp_2F_Text_212092: @ 8212092
.string "Would you like to pick one of your\n"
.string "fossils for regeneration?$"
-RustboroCity_DevonCorp_2F_Text_212153: @ 8212153
+RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher: @ 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
+RustboroCity_DevonCorp_2F_Text_FossilRegeneratorTakesTime: @ 82121A2
.string "The FOSSIL REGENERATOR, which I made,\n"
.string "is incredible.\p"
.string "But it has one drawback--it takes\n"
@@ -375,27 +376,28 @@ RustboroCity_DevonCorp_2F_Text_2121A2: @ 82121A2
.string "So, uh… How about you go for a stroll\n"
.string "and look around for a while?$"
-RustboroCity_DevonCorp_2F_Text_212251: @ 8212251
+RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife: @ 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
+RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher: @ 82122CB
.string "{PLAYER} received {STR_VAR_2} from\n"
.string "the DEVON RESEARCHER.$"
-RustboroCity_DevonCorp_2F_Text_2122F5: @ 82122F5
+@ Unused
+RustboroCity_DevonCorp_2F_Text_TooManyPokemon: @ 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
+RustboroCity_DevonCorp_2F_Text_DevelopNewPokenavFeature: @ 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
+RustboroCity_DevonCorp_2F_Text_WhatToWorkOnNext: @ 8212386
.string "Well, now what shall I work on\n"
.string "developing next?\p"
.string "Our company allows us to make our\n"
diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.json b/data/maps/RustboroCity_DevonCorp_3F/map.json
index 0ed5d0b7e..8e0f6d2ae 100644
--- a/data/maps/RustboroCity_DevonCorp_3F/map.json
+++ b/data/maps/RustboroCity_DevonCorp_3F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_3F_EventScript_21256C",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_MrStone",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_3F_EventScript_2125E1",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_Employee",
"flag": "FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_DevonCorp_3F_EventScript_21256C",
+ "script": "RustboroCity_DevonCorp_3F_EventScript_MrStone",
"flag": "0"
}
],
@@ -71,7 +71,7 @@
"y": 5,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_DevonCorp_3F_EventScript_212600"
+ "script": "RustboroCity_DevonCorp_3F_EventScript_RareRocksDisplay"
},
{
"type": "sign",
@@ -79,7 +79,7 @@
"y": 7,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_DevonCorp_3F_EventScript_212600"
+ "script": "RustboroCity_DevonCorp_3F_EventScript_RareRocksDisplay"
}
]
} \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
index 6b83e195c..9e918ca63 100644
--- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
@@ -1,85 +1,85 @@
RustboroCity_DevonCorp_3F_MapScripts:: @ 821242D
map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_3F_OnTransition
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_DevonCorp_3F_MapScript2_212455
- map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_DevonCorp_3F_MapScript2_212464
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_DevonCorp_3F_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_DevonCorp_3F_OnFrame
.byte 0
RustboroCity_DevonCorp_3F_OnTransition: @ 821243D
compare VAR_DEVON_CORP_3F_STATE, 0
- call_if_eq RustboroCity_DevonCorp_3F_EventScript_212449
+ call_if_eq RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos
end
-RustboroCity_DevonCorp_3F_EventScript_212449:: @ 8212449
+RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos:: @ 8212449
setobjectxyperm 2, 3, 2
setobjectmovementtype 2, MOVEMENT_TYPE_FACE_LEFT
return
-RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455
- map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_21245F
+RustboroCity_DevonCorp_3F_OnWarp: @ 8212455
+ map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_PlayerFaceEast
.2byte 0
-RustboroCity_DevonCorp_3F_EventScript_21245F:: @ 821245F
- turnobject EVENT_OBJ_ID_PLAYER, 4
+RustboroCity_DevonCorp_3F_EventScript_PlayerFaceEast:: @ 821245F
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_EAST
end
-RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464
- map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_21246E
+RustboroCity_DevonCorp_3F_OnFrame: @ 8212464
+ map_script_2 VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_MeetPresident
.2byte 0
-RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E
+RustboroCity_DevonCorp_3F_EventScript_MeetPresident:: @ 821246E
lockall
- msgbox RustboroCity_DevonCorp_3F_Text_212C37, MSGBOX_DEFAULT
+ msgbox RustboroCity_DevonCorp_3F_Text_ThisIs3rdFloorWaitHere, MSGBOX_DEFAULT
closemessage
- applymovement 2, RustboroCity_DevonCorp_3F_Movement_212546
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_EmployeeWalkOffscreen
waitmovement 0
delay 80
- applymovement 2, RustboroCity_DevonCorp_3F_Movement_21254F
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_EmployeeReturnToPlayer
waitmovement 0
- msgbox RustboroCity_DevonCorp_3F_Text_212DE8, MSGBOX_DEFAULT
+ msgbox RustboroCity_DevonCorp_3F_Text_WordWithPresidentComeWithMe, MSGBOX_DEFAULT
closemessage
playbgm MUS_TSURETEK, 0
- applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534
- applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212558
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_LeadPlayerToPresident
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerFollowToPresident
waitmovement 0
- msgbox RustboroCity_DevonCorp_3F_Text_212E2F, MSGBOX_DEFAULT
+ msgbox RustboroCity_DevonCorp_3F_Text_PleaseGoAhead, MSGBOX_DEFAULT
closemessage
fadedefaultbgm
- applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543
- applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212566
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_EmployeeFaceDesk
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerApproachDesk
waitmovement 0
- msgbox RustboroCity_DevonCorp_3F_Text_212609, MSGBOX_DEFAULT
- giveitem_std ITEM_LETTER
- msgbox RustboroCity_DevonCorp_3F_Text_21277C, MSGBOX_DEFAULT
+ msgbox RustboroCity_DevonCorp_3F_Text_MrStoneIHaveFavor, MSGBOX_DEFAULT
+ giveitem ITEM_LETTER
+ msgbox RustboroCity_DevonCorp_3F_Text_MrStoneWantYouToHaveThis, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- message RustboroCity_DevonCorp_3F_Text_212820
+ message RustboroCity_DevonCorp_3F_Text_ReceivedPokenav
waitfanfare
setflag FLAG_SYS_POKENAV_GET
setflag FLAG_RECEIVED_POKENAV
setflag FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT
- msgbox RustboroCity_DevonCorp_3F_Text_212837, MSGBOX_DEFAULT
+ msgbox RustboroCity_DevonCorp_3F_Text_MrStoneExplainPokenavRestUp, MSGBOX_DEFAULT
closemessage
call Common_EventScript_OutOfCenterPartyHeal
- msgbox RustboroCity_DevonCorp_3F_Text_2129D2, MSGBOX_DEFAULT
- setflag FLAG_HIDE_ROUTE_116_TUNNELER
- clearflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN
- clearflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN
+ msgbox RustboroCity_DevonCorp_3F_Text_MrStoneGoWithCautionAndCare, MSGBOX_DEFAULT
+ setflag FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND
+ clearflag FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND
+ clearflag FLAG_HIDE_RUSTURF_TUNNEL_WANDA
clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
setvar VAR_BRINEY_LOCATION, 1
- clearflag FLAG_HIDE_RUSBORO_CITY_RIVAL
+ clearflag FLAG_HIDE_RUSTBORO_CITY_RIVAL
setvar VAR_DEVON_CORP_3F_STATE, 1
setvar VAR_RUSTBORO_CITY_STATE, 6
releaseall
end
-RustboroCity_DevonCorp_3F_Movement_21252F: @ 821252F
+RustboroCity_DevonCorp_3F_Movement_Unused: @ 821252F
walk_up
walk_up
walk_up
walk_in_place_fastest_left
step_end
-RustboroCity_DevonCorp_3F_Movement_212534: @ 8212534
+RustboroCity_DevonCorp_3F_Movement_LeadPlayerToPresident: @ 8212534
walk_right
walk_right
walk_right
@@ -96,12 +96,12 @@ RustboroCity_DevonCorp_3F_Movement_212534: @ 8212534
walk_in_place_fastest_left
step_end
-RustboroCity_DevonCorp_3F_Movement_212543: @ 8212543
+RustboroCity_DevonCorp_3F_Movement_EmployeeFaceDesk: @ 8212543
delay_16
walk_in_place_fastest_down
step_end
-RustboroCity_DevonCorp_3F_Movement_212546: @ 8212546
+RustboroCity_DevonCorp_3F_Movement_EmployeeWalkOffscreen: @ 8212546
walk_right
walk_right
walk_right
@@ -112,7 +112,7 @@ RustboroCity_DevonCorp_3F_Movement_212546: @ 8212546
walk_right
step_end
-RustboroCity_DevonCorp_3F_Movement_21254F: @ 821254F
+RustboroCity_DevonCorp_3F_Movement_EmployeeReturnToPlayer: @ 821254F
walk_left
walk_left
walk_left
@@ -123,7 +123,7 @@ RustboroCity_DevonCorp_3F_Movement_21254F: @ 821254F
walk_left
step_end
-RustboroCity_DevonCorp_3F_Movement_212558: @ 8212558
+RustboroCity_DevonCorp_3F_Movement_PlayerFollowToPresident: @ 8212558
walk_right
walk_right
walk_right
@@ -139,7 +139,7 @@ RustboroCity_DevonCorp_3F_Movement_212558: @ 8212558
walk_right
step_end
-RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566
+RustboroCity_DevonCorp_3F_Movement_PlayerApproachDesk: @ 8212566
delay_16
delay_16
walk_down
@@ -147,57 +147,57 @@ RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566
walk_in_place_fastest_right
step_end
-RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C
+RustboroCity_DevonCorp_3F_EventScript_MrStone:: @ 821256C
lock
faceplayer
- goto_if_set FLAG_RECEIVED_EXP_SHARE, RustboroCity_DevonCorp_3F_EventScript_2125CC
- goto_if_set FLAG_DELIVERED_STEVEN_LETTER, RustboroCity_DevonCorp_3F_EventScript_212595
- msgbox RustboroCity_DevonCorp_3F_Text_212A09, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_EXP_SHARE, RustboroCity_DevonCorp_3F_EventScript_MrStoneAfterFavor
+ goto_if_set FLAG_DELIVERED_STEVEN_LETTER, RustboroCity_DevonCorp_3F_EventScript_GiveExpShare
+ msgbox RustboroCity_DevonCorp_3F_Text_CountingOnYou, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595
- msgbox RustboroCity_DevonCorp_3F_Text_212A29, MSGBOX_DEFAULT
- giveitem_std ITEM_EXP_SHARE
+RustboroCity_DevonCorp_3F_EventScript_GiveExpShare:: @ 8212595
+ msgbox RustboroCity_DevonCorp_3F_Text_ThankYouForDeliveringLetter, MSGBOX_DEFAULT
+ giveitem ITEM_EXP_SHARE
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_EXP_SHARE
- msgbox RustboroCity_DevonCorp_3F_Text_212A9E, MSGBOX_DEFAULT
+ msgbox RustboroCity_DevonCorp_3F_Text_ExplainExpShare, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC
- msgbox RustboroCity_DevonCorp_3F_Text_212B78, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_3F_EventScript_MrStoneAfterFavor:: @ 82125CC
+ msgbox RustboroCity_DevonCorp_3F_Text_NotFamiliarWithTrends, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1
+RustboroCity_DevonCorp_3F_EventScript_Employee:: @ 82125E1
lock
faceplayer
- goto_if_set FLAG_RECEIVED_REPEAT_BALL, RustboroCity_DevonCorp_3F_EventScript_2125F6
- msgbox RustboroCity_DevonCorp_3F_Text_212E41, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_REPEAT_BALL, RustboroCity_DevonCorp_3F_EventScript_EmployeeBalls
+ msgbox RustboroCity_DevonCorp_3F_Text_VisitCaptSternShipyard, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_3F_EventScript_2125F6:: @ 82125F6
- msgbox RustboroCity_DevonCorp_3F_Text_212E88, MSGBOX_DEFAULT
+RustboroCity_DevonCorp_3F_EventScript_EmployeeBalls:: @ 82125F6
+ msgbox RustboroCity_DevonCorp_3F_Text_RepeatAndTimerHugelyPopular, MSGBOX_DEFAULT
release
end
-RustboroCity_DevonCorp_3F_EventScript_212600:: @ 8212600
- msgbox RustboroCity_DevonCorp_3F_Text_212EE9, MSGBOX_SIGN
+RustboroCity_DevonCorp_3F_EventScript_RareRocksDisplay:: @ 8212600
+ msgbox RustboroCity_DevonCorp_3F_Text_RareRocksDisplay, MSGBOX_SIGN
end
-RustboroCity_DevonCorp_3F_Text_212609: @ 8212609
+RustboroCity_DevonCorp_3F_Text_MrStoneIHaveFavor: @ 8212609
.string "I'm MR. STONE, the PRESIDENT of\n"
.string "the DEVON CORPORATION.\p"
.string "I'd just got word about you!\p"
@@ -212,17 +212,17 @@ RustboroCity_DevonCorp_3F_Text_212609: @ 8212609
.string "I was hoping that you'd deliver a\n"
.string "LETTER to STEVEN in DEWFORD.$"
-RustboroCity_DevonCorp_3F_Text_21277C: @ 821277C
+RustboroCity_DevonCorp_3F_Text_MrStoneWantYouToHaveThis: @ 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
+RustboroCity_DevonCorp_3F_Text_ReceivedPokenav: @ 8212820
.string "{PLAYER} received a POKéNAV.$"
-RustboroCity_DevonCorp_3F_Text_212837: @ 8212837
+RustboroCity_DevonCorp_3F_Text_MrStoneExplainPokenavRestUp: @ 8212837
.string "MR. STONE: That device…\p"
.string "It's a POKéMON NAVIGATOR, or POKéNAV\n"
.string "for short.\p"
@@ -237,20 +237,20 @@ RustboroCity_DevonCorp_3F_Text_212837: @ 8212837
.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
+RustboroCity_DevonCorp_3F_Text_MrStoneGoWithCautionAndCare: @ 82129D2
.string "MR. STONE: Well, then, {PLAYER}{KUN},\n"
.string "go with caution and care!$"
-RustboroCity_DevonCorp_3F_Text_212A09: @ 8212A09
+RustboroCity_DevonCorp_3F_Text_CountingOnYou: @ 8212A09
.string "MR. STONE: I'm counting on you!$"
-RustboroCity_DevonCorp_3F_Text_212A29: @ 8212A29
+RustboroCity_DevonCorp_3F_Text_ThankYouForDeliveringLetter: @ 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
+RustboroCity_DevonCorp_3F_Text_ExplainExpShare: @ 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"
@@ -259,7 +259,7 @@ RustboroCity_DevonCorp_3F_Text_212A9E: @ 8212A9E
.string "I would say EXP. SHARE is quite useful\n"
.string "for raising weak POKéMON.$"
-RustboroCity_DevonCorp_3F_Text_212B78: @ 8212B78
+RustboroCity_DevonCorp_3F_Text_NotFamiliarWithTrends: @ 8212B78
.string "MR. STONE: Since my youth, I've immersed\n"
.string "myself in work.\p"
.string "Consequently, I'm not familiar with\n"
@@ -267,7 +267,7 @@ RustboroCity_DevonCorp_3F_Text_212B78: @ 8212B78
.string "But do young people all want to be\n"
.string "TRAINERS in the POKéMON LEAGUE?$"
-RustboroCity_DevonCorp_3F_Text_212C37: @ 8212C37
+RustboroCity_DevonCorp_3F_Text_ThisIs3rdFloorWaitHere: @ 8212C37
.string "This is the DEVON CORPORATION's\n"
.string "third floor.\p"
.string "Our PRESIDENT's OFFICE is on\n"
@@ -285,24 +285,24 @@ RustboroCity_DevonCorp_3F_Text_212C37: @ 8212C37
.string "Oh, that's right.\n"
.string "Could you wait here a second?$"
-RustboroCity_DevonCorp_3F_Text_212DE8: @ 8212DE8
+RustboroCity_DevonCorp_3F_Text_WordWithPresidentComeWithMe: @ 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
+RustboroCity_DevonCorp_3F_Text_PleaseGoAhead: @ 8212E2F
.string "Please, go ahead.$"
-RustboroCity_DevonCorp_3F_Text_212E41: @ 8212E41
+RustboroCity_DevonCorp_3F_Text_VisitCaptSternShipyard: @ 8212E41
.string "If you visit the SHIPYARD in SLATEPORT,\n"
.string "you should go see CAPT. STERN.$"
-RustboroCity_DevonCorp_3F_Text_212E88: @ 8212E88
+RustboroCity_DevonCorp_3F_Text_RepeatAndTimerHugelyPopular: @ 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
+RustboroCity_DevonCorp_3F_Text_RareRocksDisplay: @ 8212EE9
.string "It's a collection of rare rocks and\n"
.string "stones assembled by the PRESIDENT.$"
diff --git a/data/maps/RustboroCity_Flat1_1F/map.json b/data/maps/RustboroCity_Flat1_1F/map.json
index bc016aa2c..a35fe32cf 100644
--- a/data/maps/RustboroCity_Flat1_1F/map.json
+++ b/data/maps/RustboroCity_Flat1_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_1F_EventScript_2150CE",
+ "script": "RustboroCity_Flat1_1F_EventScript_Man",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_1F_EventScript_2150D7",
+ "script": "RustboroCity_Flat1_1F_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_Flat1_1F/scripts.inc b/data/maps/RustboroCity_Flat1_1F/scripts.inc
index 9cff0b010..c52c7f069 100644
--- a/data/maps/RustboroCity_Flat1_1F/scripts.inc
+++ b/data/maps/RustboroCity_Flat1_1F/scripts.inc
@@ -1,18 +1,18 @@
RustboroCity_Flat1_1F_MapScripts:: @ 82150CD
.byte 0
-RustboroCity_Flat1_1F_EventScript_2150CE:: @ 82150CE
- msgbox RustboroCity_Flat1_1F_Text_2150E0, MSGBOX_NPC
+RustboroCity_Flat1_1F_EventScript_Man:: @ 82150CE
+ msgbox RustboroCity_Flat1_1F_Text_EveryPokemonHasAbility, MSGBOX_NPC
end
-RustboroCity_Flat1_1F_EventScript_2150D7:: @ 82150D7
- msgbox RustboroCity_Flat1_1F_Text_215115, MSGBOX_NPC
+RustboroCity_Flat1_1F_EventScript_Woman:: @ 82150D7
+ msgbox RustboroCity_Flat1_1F_Text_PokemonStrange, MSGBOX_NPC
end
-RustboroCity_Flat1_1F_Text_2150E0: @ 82150E0
+RustboroCity_Flat1_1F_Text_EveryPokemonHasAbility: @ 82150E0
.string "Every POKéMON has a special ability\n"
.string "that it can use.$"
-RustboroCity_Flat1_1F_Text_215115: @ 8215115
+RustboroCity_Flat1_1F_Text_PokemonStrange: @ 8215115
.string "POKéMON are such strange creatures.$"
diff --git a/data/maps/RustboroCity_Flat1_2F/map.json b/data/maps/RustboroCity_Flat1_2F/map.json
index 5c047888e..b937d323a 100644
--- a/data/maps/RustboroCity_Flat1_2F/map.json
+++ b/data/maps/RustboroCity_Flat1_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_2F_EventScript_21523D",
+ "script": "RustboroCity_Flat1_2F_EventScript_WaldasMom",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_2F_EventScript_215246",
+ "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_2F_EventScript_215246",
+ "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_2F_EventScript_215246",
+ "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_2F_EventScript_21513A",
+ "script": "RustboroCity_Flat1_2F_EventScript_WaldasDad",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_2F_EventScript_215246",
+ "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat1_2F_EventScript_215246",
+ "script": "RustboroCity_Flat1_2F_EventScript_PokeDoll",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc
index ec59115ef..4295f0447 100644
--- a/data/maps/RustboroCity_Flat1_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc
@@ -1,90 +1,90 @@
RustboroCity_Flat1_2F_MapScripts:: @ 8215139
.byte 0
-RustboroCity_Flat1_2F_EventScript_21513A:: @ 821513A
+RustboroCity_Flat1_2F_EventScript_WaldasDad:: @ 821513A
lock
faceplayer
specialvar VAR_RESULT, TryBufferWaldaPhrase
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_Flat1_2F_EventScript_21518D
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_Flat1_2F_EventScript_2151AD
+ compare VAR_RESULT, FALSE
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldasDadFirstPhrase
+ compare VAR_RESULT, TRUE
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldasDadNewPhrase
-RustboroCity_Flat1_2F_EventScript_215157:: @ 8215157
+RustboroCity_Flat1_2F_EventScript_GivePhrase:: @ 8215157
special DoWaldaNamingScreen
waitstate
compare VAR_0x8004, 1
- goto_if_eq RustboroCity_Flat1_2F_EventScript_2151D7
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_CancelGivePhrase
compare VAR_0x8004, 2
- goto_if_eq RustboroCity_Flat1_2F_EventScript_2151E1
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_CancelGiveFirstPhrase
specialvar VAR_RESULT, TryGetWallpaperWithWaldaPhrase
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_Flat1_2F_EventScript_2151F8
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_Flat1_2F_EventScript_215221
+ compare VAR_RESULT, TRUE
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldaLikesPhrase
+ compare VAR_RESULT, FALSE
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldaDoesntLikePhrase
end
-RustboroCity_Flat1_2F_EventScript_21518D:: @ 821518D
- msgbox RustboroCity_Flat1_2F_Text_2152FA, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_Flat1_2F_EventScript_2151CD
- msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT
- goto RustboroCity_Flat1_2F_EventScript_215157
-
-RustboroCity_Flat1_2F_EventScript_2151AD:: @ 82151AD
- msgbox RustboroCity_Flat1_2F_Text_215448, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_Flat1_2F_EventScript_2151CD
- msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT
- goto RustboroCity_Flat1_2F_EventScript_215157
-
-RustboroCity_Flat1_2F_EventScript_2151CD:: @ 82151CD
- msgbox RustboroCity_Flat1_2F_Text_2154E7, MSGBOX_DEFAULT
+RustboroCity_Flat1_2F_EventScript_WaldasDadFirstPhrase:: @ 821518D
+ msgbox RustboroCity_Flat1_2F_Text_HelloDoYouKnowFunnyPhrase, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase
+ msgbox RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion, MSGBOX_DEFAULT
+ goto RustboroCity_Flat1_2F_EventScript_GivePhrase
+
+RustboroCity_Flat1_2F_EventScript_WaldasDadNewPhrase:: @ 82151AD
+ msgbox RustboroCity_Flat1_2F_Text_BeenSayingXDoYouKnowBetterPhrase, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase
+ msgbox RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion, MSGBOX_DEFAULT
+ goto RustboroCity_Flat1_2F_EventScript_GivePhrase
+
+RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase:: @ 82151CD
+ msgbox RustboroCity_Flat1_2F_Text_OhIsThatRight, MSGBOX_DEFAULT
release
end
-RustboroCity_Flat1_2F_EventScript_2151D7:: @ 82151D7
- msgbox RustboroCity_Flat1_2F_Text_2156E3, MSGBOX_DEFAULT
+RustboroCity_Flat1_2F_EventScript_CancelGivePhrase:: @ 82151D7
+ msgbox RustboroCity_Flat1_2F_Text_OhYouDontKnowAny, MSGBOX_DEFAULT
release
end
-RustboroCity_Flat1_2F_EventScript_2151E1:: @ 82151E1
- msgbox RustboroCity_Flat1_2F_Text_21561E, MSGBOX_DEFAULT
- call RustboroCity_Flat1_2F_EventScript_215238
- msgbox RustboroCity_Flat1_2F_Text_215699, MSGBOX_DEFAULT
+RustboroCity_Flat1_2F_EventScript_CancelGiveFirstPhrase:: @ 82151E1
+ msgbox RustboroCity_Flat1_2F_Text_ThinkOfMyOwnPhrase, MSGBOX_DEFAULT
+ call RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda
+ msgbox RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll2, MSGBOX_DEFAULT
release
end
-RustboroCity_Flat1_2F_EventScript_2151F8:: @ 82151F8
- msgbox RustboroCity_Flat1_2F_Text_215535, MSGBOX_DEFAULT
- call RustboroCity_Flat1_2F_EventScript_215238
- msgbox RustboroCity_Flat1_2F_Text_215565, MSGBOX_DEFAULT
+RustboroCity_Flat1_2F_EventScript_WaldaLikesPhrase:: @ 82151F8
+ msgbox RustboroCity_Flat1_2F_Text_LetsGiveItATry2, MSGBOX_DEFAULT
+ call RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda
+ msgbox RustboroCity_Flat1_2F_Text_OhShesLaughing, MSGBOX_DEFAULT
applymovement 6, Common_Movement_FacePlayer
waitmovement 0
- msgbox RustboroCity_Flat1_2F_Text_215792, MSGBOX_DEFAULT
+ msgbox RustboroCity_Flat1_2F_Text_ThankYouIllGiveYouWallpaper, MSGBOX_DEFAULT
release
end
-RustboroCity_Flat1_2F_EventScript_215221:: @ 8215221
- msgbox RustboroCity_Flat1_2F_Text_2155A4, MSGBOX_DEFAULT
- call RustboroCity_Flat1_2F_EventScript_215238
- msgbox RustboroCity_Flat1_2F_Text_2155D4, MSGBOX_DEFAULT
+RustboroCity_Flat1_2F_EventScript_WaldaDoesntLikePhrase:: @ 8215221
+ msgbox RustboroCity_Flat1_2F_Text_LetsGiveItATry, MSGBOX_DEFAULT
+ call RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda
+ msgbox RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll, MSGBOX_DEFAULT
release
end
-RustboroCity_Flat1_2F_EventScript_215238:: @ 8215238
- turnobject 6, 4
+RustboroCity_Flat1_2F_EventScript_WaldasDadFaceWalda:: @ 8215238
+ turnobject 6, DIR_EAST
return
-RustboroCity_Flat1_2F_EventScript_21523D:: @ 821523D
- msgbox RustboroCity_Flat1_2F_Text_21524F, MSGBOX_NPC
+RustboroCity_Flat1_2F_EventScript_WaldasMom:: @ 821523D
+ msgbox RustboroCity_Flat1_2F_Text_ComingUpWithMealsIsHard, MSGBOX_NPC
end
-RustboroCity_Flat1_2F_EventScript_215246:: @ 8215246
- msgbox RustboroCity_Flat1_2F_Text_215923, MSGBOX_SIGN
+RustboroCity_Flat1_2F_EventScript_PokeDoll:: @ 8215246
+ msgbox RustboroCity_Flat1_2F_Text_ItsAPokemonPlushDoll, MSGBOX_SIGN
end
-RustboroCity_Flat1_2F_Text_21524F: @ 821524F
+RustboroCity_Flat1_2F_Text_ComingUpWithMealsIsHard: @ 821524F
.string "Oh, it's so hard every day…\p"
.string "What's hard?\n"
.string "You need to ask?\p"
@@ -93,7 +93,7 @@ RustboroCity_Flat1_2F_Text_21524F: @ 821524F
.string "It really isn't easy coming up with\n"
.string "meals every day.$"
-RustboroCity_Flat1_2F_Text_2152FA: @ 82152FA
+RustboroCity_Flat1_2F_Text_HelloDoYouKnowFunnyPhrase: @ 82152FA
.string "Oh, hello!\n"
.string "Welcome to the PEPPER household.\p"
.string "I have a question for you.\n"
@@ -107,62 +107,62 @@ RustboroCity_Flat1_2F_Text_2152FA: @ 82152FA
.string "Do you know of a funny word or\n"
.string "phrase you can tell me?$"
-RustboroCity_Flat1_2F_Text_215448: @ 8215448
+RustboroCity_Flat1_2F_Text_BeenSayingXDoYouKnowBetterPhrase: @ 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
+RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion: @ 82154AD
.string "Oh, that's wonderful.\n"
.string "So, let's hear it, your suggestion.$"
-RustboroCity_Flat1_2F_Text_2154E7: @ 82154E7
+RustboroCity_Flat1_2F_Text_OhIsThatRight: @ 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
+RustboroCity_Flat1_2F_Text_LetsGiveItATry2: @ 8215535
.string "Ah, I see.\n"
.string "Well, let's give it a try, shall we?$"
-RustboroCity_Flat1_2F_Text_215565: @ 8215565
+RustboroCity_Flat1_2F_Text_OhShesLaughing: @ 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
+RustboroCity_Flat1_2F_Text_LetsGiveItATry: @ 82155A4
.string "Ah, I see.\n"
.string "Well, let's give it a try, shall we?$"
-RustboroCity_Flat1_2F_Text_2155D4: @ 82155D4
+RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll: @ 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
+RustboroCity_Flat1_2F_Text_ThinkOfMyOwnPhrase: @ 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
+RustboroCity_Flat1_2F_Text_ShesNotSmilingAtAll2: @ 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
+RustboroCity_Flat1_2F_Text_OhYouDontKnowAny: @ 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
+RustboroCity_Flat1_2F_Text_ThankYouIllGiveYouWallpaper: @ 8215792
.string "Thank you!\p"
.string "Thanks to you, my darling WALDA\n"
.string "laughed for me!\p"
@@ -179,6 +179,6 @@ RustboroCity_Flat1_2F_Text_215792: @ 8215792
.string "That will give you access to the new\n"
.string "wallpaper patterns.$"
-RustboroCity_Flat1_2F_Text_215923: @ 8215923
+RustboroCity_Flat1_2F_Text_ItsAPokemonPlushDoll: @ 8215923
.string "It's a POKéMON plush DOLL!$"
diff --git a/data/maps/RustboroCity_Flat2_1F/map.json b/data/maps/RustboroCity_Flat2_1F/map.json
index 6d10fe9d8..6ca0fbd1b 100644
--- a/data/maps/RustboroCity_Flat2_1F/map.json
+++ b/data/maps/RustboroCity_Flat2_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat2_1F_EventScript_215F80",
+ "script": "RustboroCity_Flat2_1F_EventScript_Skitty",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat2_1F_EventScript_215F77",
+ "script": "RustboroCity_Flat2_1F_EventScript_OldWoman",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_Flat2_1F/scripts.inc b/data/maps/RustboroCity_Flat2_1F/scripts.inc
index 8fc7e4972..182060955 100644
--- a/data/maps/RustboroCity_Flat2_1F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_1F/scripts.inc
@@ -1,24 +1,24 @@
RustboroCity_Flat2_1F_MapScripts:: @ 8215F76
.byte 0
-RustboroCity_Flat2_1F_EventScript_215F77:: @ 8215F77
- msgbox RustboroCity_Flat2_1F_Text_215F93, MSGBOX_NPC
+RustboroCity_Flat2_1F_EventScript_OldWoman:: @ 8215F77
+ msgbox RustboroCity_Flat2_1F_Text_DevonWorkersLiveHere, MSGBOX_NPC
end
-RustboroCity_Flat2_1F_EventScript_215F80:: @ 8215F80
+RustboroCity_Flat2_1F_EventScript_Skitty:: @ 8215F80
lock
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox RustboroCity_Flat2_1F_Text_215FC6, MSGBOX_DEFAULT
+ msgbox RustboroCity_Flat2_1F_Text_Skitty, MSGBOX_DEFAULT
waitmoncry
release
end
-RustboroCity_Flat2_1F_Text_215F93: @ 8215F93
+RustboroCity_Flat2_1F_Text_DevonWorkersLiveHere: @ 8215F93
.string "DEVON CORPORATION's workers live in\n"
.string "this building.$"
-RustboroCity_Flat2_1F_Text_215FC6: @ 8215FC6
+RustboroCity_Flat2_1F_Text_Skitty: @ 8215FC6
.string "SKITTY: Gyaaaah!$"
diff --git a/data/maps/RustboroCity_Flat2_2F/map.json b/data/maps/RustboroCity_Flat2_2F/map.json
index a7d254e4d..9667ebf92 100644
--- a/data/maps/RustboroCity_Flat2_2F/map.json
+++ b/data/maps/RustboroCity_Flat2_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat2_2F_EventScript_215FD8",
+ "script": "RustboroCity_Flat2_2F_EventScript_OldMan",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat2_2F_EventScript_215FE1",
+ "script": "RustboroCity_Flat2_2F_EventScript_NinjaBoy",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_Flat2_2F/scripts.inc b/data/maps/RustboroCity_Flat2_2F/scripts.inc
index d4b940c9f..1caeda683 100644
--- a/data/maps/RustboroCity_Flat2_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_2F/scripts.inc
@@ -1,37 +1,37 @@
RustboroCity_Flat2_2F_MapScripts:: @ 8215FD7
.byte 0
-RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8
- msgbox RustboroCity_Flat2_2F_Text_21601A, MSGBOX_NPC
+RustboroCity_Flat2_2F_EventScript_OldMan:: @ 8215FD8
+ msgbox RustboroCity_Flat2_2F_Text_DevonWasTinyInOldDays, MSGBOX_NPC
end
-RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1
+RustboroCity_Flat2_2F_EventScript_NinjaBoy:: @ 8215FE1
lock
faceplayer
- goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_216010
- msgbox RustboroCity_Flat2_2F_Text_21605A, MSGBOX_DEFAULT
- giveitem_std ITEM_PREMIER_BALL
+ goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_GavePremierBall
+ msgbox RustboroCity_Flat2_2F_Text_MyDaddyMadeThisYouCanHaveIt, MSGBOX_DEFAULT
+ giveitem ITEM_PREMIER_BALL
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_PREMIER_BALL_RUSTBORO
release
end
-RustboroCity_Flat2_2F_EventScript_216010:: @ 8216010
- msgbox RustboroCity_Flat2_2F_Text_2160BD, MSGBOX_DEFAULT
+RustboroCity_Flat2_2F_EventScript_GavePremierBall:: @ 8216010
+ msgbox RustboroCity_Flat2_2F_Text_GoingToWorkAtDevonToo, MSGBOX_DEFAULT
release
end
-RustboroCity_Flat2_2F_Text_21601A: @ 821601A
+RustboroCity_Flat2_2F_Text_DevonWasTinyInOldDays: @ 821601A
.string "Way back in the old days, DEVON was just\n"
.string "a teeny, tiny company.$"
-RustboroCity_Flat2_2F_Text_21605A: @ 821605A
+RustboroCity_Flat2_2F_Text_MyDaddyMadeThisYouCanHaveIt: @ 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
+RustboroCity_Flat2_2F_Text_GoingToWorkAtDevonToo: @ 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/maps/RustboroCity_Flat2_3F/map.json b/data/maps/RustboroCity_Flat2_3F/map.json
index 2366b5392..a9c1e40cd 100644
--- a/data/maps/RustboroCity_Flat2_3F/map.json
+++ b/data/maps/RustboroCity_Flat2_3F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat2_3F_EventScript_216117",
+ "script": "RustboroCity_Flat2_3F_EventScript_DevonEmployee",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Flat2_3F_EventScript_216120",
+ "script": "RustboroCity_Flat2_3F_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_Flat2_3F/scripts.inc b/data/maps/RustboroCity_Flat2_3F/scripts.inc
index dd5a86dae..8af31531d 100644
--- a/data/maps/RustboroCity_Flat2_3F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_3F/scripts.inc
@@ -1,19 +1,19 @@
RustboroCity_Flat2_3F_MapScripts:: @ 8216116
.byte 0
-RustboroCity_Flat2_3F_EventScript_216117:: @ 8216117
- msgbox RustboroCity_Flat2_3F_Text_216129, MSGBOX_NPC
+RustboroCity_Flat2_3F_EventScript_DevonEmployee:: @ 8216117
+ msgbox RustboroCity_Flat2_3F_Text_PresidentCollectsRareStones, MSGBOX_NPC
end
-RustboroCity_Flat2_3F_EventScript_216120:: @ 8216120
- msgbox RustboroCity_Flat2_3F_Text_216159, MSGBOX_NPC
+RustboroCity_Flat2_3F_EventScript_Woman:: @ 8216120
+ msgbox RustboroCity_Flat2_3F_Text_PresidentsSonAlsoCollectsRareStones, MSGBOX_NPC
end
-RustboroCity_Flat2_3F_Text_216129: @ 8216129
+RustboroCity_Flat2_3F_Text_PresidentCollectsRareStones: @ 8216129
.string "DEVON's PRESIDENT likes to collect\n"
.string "rare stones.$"
-RustboroCity_Flat2_3F_Text_216159: @ 8216159
+RustboroCity_Flat2_3F_Text_PresidentsSonAlsoCollectsRareStones: @ 8216159
.string "I think the PRESIDENT's son also\n"
.string "collects rare stones.$"
diff --git a/data/maps/RustboroCity_Gym/map.json b/data/maps/RustboroCity_Gym/map.json
index 3da39df9d..99ae9ebd8 100644
--- a/data/maps/RustboroCity_Gym/map.json
+++ b/data/maps/RustboroCity_Gym/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Gym_EventScript_212F31",
+ "script": "RustboroCity_Gym_EventScript_Roxanne",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "RustboroCity_Gym_EventScript_212FE3",
+ "script": "RustboroCity_Gym_EventScript_Josh",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "RustboroCity_Gym_EventScript_212FFA",
+ "script": "RustboroCity_Gym_EventScript_Tommy",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Gym_EventScript_213028",
+ "script": "RustboroCity_Gym_EventScript_GymGuide",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "RustboroCity_Gym_EventScript_213011",
+ "script": "RustboroCity_Gym_EventScript_Marc",
"flag": "0"
}
],
@@ -104,7 +104,7 @@
"y": 18,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "RustboroCity_Gym_EventScript_213047"
+ "script": "RustboroCity_Gym_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -112,7 +112,7 @@
"y": 18,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "RustboroCity_Gym_EventScript_213057"
+ "script": "RustboroCity_Gym_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc
index 04027dfa7..94e032692 100644
--- a/data/maps/RustboroCity_Gym/scripts.inc
+++ b/data/maps/RustboroCity_Gym/scripts.inc
@@ -1,103 +1,103 @@
RustboroCity_Gym_MapScripts:: @ 8212F30
.byte 0
-RustboroCity_Gym_EventScript_212F31:: @ 8212F31
- trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66, NO_MUSIC
+RustboroCity_Gym_EventScript_Roxanne:: @ 8212F31
+ trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxanneIntro, RustboroCity_Gym_Text_RoxanneDefeat, RustboroCity_Gym_EventScript_RoxanneDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_Gym_EventScript_212FC8
- goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_212FA4
- msgbox RustboroCity_Gym_Text_2139A7, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq RustboroCity_Gym_EventScript_RoxanneRematch
+ goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_GiveRockTomb
+ msgbox RustboroCity_Gym_Text_RoxannePostBattle, MSGBOX_DEFAULT
release
end
-RustboroCity_Gym_EventScript_212F66:: @ 8212F66
- message RustboroCity_Gym_Text_2137EC
+RustboroCity_Gym_EventScript_RoxanneDefeated:: @ 8212F66
+ message RustboroCity_Gym_Text_ReceivedStoneBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox RustboroCity_Gym_Text_213816, MSGBOX_DEFAULT
+ msgbox RustboroCity_Gym_Text_StoneBadgeInfoTakeThis, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_RUSTBORO_GYM
setflag FLAG_BADGE01_GET
setvar VAR_RUSTBORO_CITY_STATE, 1
addvar VAR_PETALBURG_GYM_STATE, 1
setvar VAR_0x8008, 1
- call RustboroCity_Gym_EventScript_271F43
+ call Common_EventScript_SetGymTrainers
compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq RustboroCity_Gym_EventScript_271E84
- goto RustboroCity_Gym_EventScript_212FA4
+ call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
+ goto RustboroCity_Gym_EventScript_GiveRockTomb
end
-RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4
- giveitem_std ITEM_TM39
+RustboroCity_Gym_EventScript_GiveRockTomb:: @ 8212FA4
+ giveitem ITEM_TM39
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM39
- msgbox RustboroCity_Gym_Text_2138B1, MSGBOX_DEFAULT
+ msgbox RustboroCity_Gym_Text_ExplainRockTomb, MSGBOX_DEFAULT
release
end
-RustboroCity_Gym_EventScript_212FC8:: @ 8212FC8
- trainerbattle_rematch_double TRAINER_ROXANNE_1, RustboroCity_Gym_Text_213C2F, RustboroCity_Gym_Text_213CF9, RustboroCity_Gym_Text_213D93
- msgbox RustboroCity_Gym_Text_213D12, MSGBOX_AUTOCLOSE
+RustboroCity_Gym_EventScript_RoxanneRematch:: @ 8212FC8
+ trainerbattle_rematch_double TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxannePreRematch, RustboroCity_Gym_Text_RoxanneRematchDefeat, RustboroCity_Gym_Text_RoxanneRematchNeedTwoMons
+ msgbox RustboroCity_Gym_Text_RoxannePostRematch, MSGBOX_AUTOCLOSE
end
-RustboroCity_Gym_EventScript_212FE3:: @ 8212FE3
- trainerbattle_single TRAINER_JOSH, RustboroCity_Gym_Text_2133E9, RustboroCity_Gym_Text_21342D
- msgbox RustboroCity_Gym_Text_213447, MSGBOX_AUTOCLOSE
+RustboroCity_Gym_EventScript_Josh:: @ 8212FE3
+ trainerbattle_single TRAINER_JOSH, RustboroCity_Gym_Text_JoshIntro, RustboroCity_Gym_Text_JoshDefeat
+ msgbox RustboroCity_Gym_Text_JoshPostBattle, MSGBOX_AUTOCLOSE
end
-RustboroCity_Gym_EventScript_212FFA:: @ 8212FFA
- trainerbattle_single TRAINER_TOMMY, RustboroCity_Gym_Text_213486, RustboroCity_Gym_Text_2134C6
- msgbox RustboroCity_Gym_Text_2134E6, MSGBOX_AUTOCLOSE
+RustboroCity_Gym_EventScript_Tommy:: @ 8212FFA
+ trainerbattle_single TRAINER_TOMMY, RustboroCity_Gym_Text_TommyIntro, RustboroCity_Gym_Text_TommyDefeat
+ msgbox RustboroCity_Gym_Text_TommyPostBattle, MSGBOX_AUTOCLOSE
end
-RustboroCity_Gym_EventScript_213011:: @ 8213011
- trainerbattle_single TRAINER_MARC, RustboroCity_Gym_Text_213533, RustboroCity_Gym_Text_213589
- msgbox RustboroCity_Gym_Text_2135C0, MSGBOX_AUTOCLOSE
+RustboroCity_Gym_EventScript_Marc:: @ 8213011
+ trainerbattle_single TRAINER_MARC, RustboroCity_Gym_Text_MarcIntro, RustboroCity_Gym_Text_MarcDefeat
+ msgbox RustboroCity_Gym_Text_MarcPostBattle, MSGBOX_AUTOCLOSE
end
-RustboroCity_Gym_EventScript_213028:: @ 8213028
+RustboroCity_Gym_EventScript_GymGuide:: @ 8213028
lock
faceplayer
- goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_21303D
- msgbox RustboroCity_Gym_Text_21309D, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_RUSTBORO_GYM, RustboroCity_Gym_EventScript_GymGuidePostVictory
+ msgbox RustboroCity_Gym_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-RustboroCity_Gym_EventScript_21303D:: @ 821303D
- msgbox RustboroCity_Gym_Text_2132E2, MSGBOX_DEFAULT
+RustboroCity_Gym_EventScript_GymGuidePostVictory:: @ 821303D
+ msgbox RustboroCity_Gym_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-RustboroCity_Gym_EventScript_213047:: @ 8213047
+RustboroCity_Gym_EventScript_LeftGymStatue:: @ 8213047
lockall
- goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067
- goto RustboroCity_Gym_EventScript_213071
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_GymStatueCertified
+ goto RustboroCity_Gym_EventScript_GymStatue
end
-RustboroCity_Gym_EventScript_213057:: @ 8213057
+RustboroCity_Gym_EventScript_RightGymStatue:: @ 8213057
lockall
- goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067
- goto RustboroCity_Gym_EventScript_213071
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_GymStatueCertified
+ goto RustboroCity_Gym_EventScript_GymStatue
end
-RustboroCity_Gym_EventScript_213067:: @ 8213067
- msgbox RustboroCity_Gym_Text_213A3B, MSGBOX_DEFAULT
+RustboroCity_Gym_EventScript_GymStatueCertified:: @ 8213067
+ msgbox RustboroCity_Gym_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-RustboroCity_Gym_EventScript_213071:: @ 8213071
- msgbox RustboroCity_Gym_Text_213A21, MSGBOX_DEFAULT
+RustboroCity_Gym_EventScript_GymStatue:: @ 8213071
+ msgbox RustboroCity_Gym_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-RustboroCity_Gym_EventScript_21307B:: @ 821307B
+RustboroCity_Gym_EventScript_RegisterRoxanne:: @ 821307B
lockall
- pokenavcall RustboroCity_Gym_Text_213A76
+ pokenavcall RustboroCity_Gym_Text_RoxanneRegisterCall
waitmessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox RustboroCity_Gym_Text_213C01, MSGBOX_DEFAULT
+ msgbox RustboroCity_Gym_Text_RegisteredRoxanne, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -106,7 +106,7 @@ RustboroCity_Gym_EventScript_21307B:: @ 821307B
releaseall
end
-RustboroCity_Gym_Text_21309D: @ 821309D
+RustboroCity_Gym_Text_GymGuideAdvice: @ 821309D
.string "Yo, how's it going?\p"
.string "Listen, my friend!\n"
.string "Would you like to become the CHAMPION?\p"
@@ -128,7 +128,7 @@ RustboroCity_Gym_Text_21309D: @ 821309D
.string "the GYM LEADER.\p"
.string "Well, go for it!$"
-RustboroCity_Gym_Text_2132E2: @ 82132E2
+RustboroCity_Gym_Text_GymGuidePostVictory: @ 82132E2
.string "Whoa! What a breathtaking victory!\n"
.string "My cheering must've worked!\p"
.string "Great!\n"
@@ -140,45 +140,45 @@ RustboroCity_Gym_Text_2132E2: @ 82132E2
.string "the stairs to the CHAMPIONSHIP!\p"
.string "That's got to feel awesome!$"
-RustboroCity_Gym_Text_2133E9: @ 82133E9
+RustboroCity_Gym_Text_JoshIntro: @ 82133E9
.string "Don't take us GYM TRAINERS lightly!\n"
.string "I'll show you why we're better!$"
-RustboroCity_Gym_Text_21342D: @ 821342D
+RustboroCity_Gym_Text_JoshDefeat: @ 821342D
.string "You were too good for me…$"
-RustboroCity_Gym_Text_213447: @ 8213447
+RustboroCity_Gym_Text_JoshPostBattle: @ 8213447
.string "You haven't seen anything of the ROCK\n"
.string "type's terrifying power!$"
-RustboroCity_Gym_Text_213486: @ 8213486
+RustboroCity_Gym_Text_TommyIntro: @ 8213486
.string "If you can't beat me, you won't stand\n"
.string "a chance against ROXANNE!$"
-RustboroCity_Gym_Text_2134C6: @ 82134C6
+RustboroCity_Gym_Text_TommyDefeat: @ 82134C6
.string "Wow! You've got some potential!$"
-RustboroCity_Gym_Text_2134E6: @ 82134E6
+RustboroCity_Gym_Text_TommyPostBattle: @ 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
+RustboroCity_Gym_Text_MarcIntro: @ 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
+RustboroCity_Gym_Text_MarcDefeat: @ 8213589
.string "Oh, man oh man!\n"
.string "Our challenger is one feisty customer!$"
-RustboroCity_Gym_Text_2135C0: @ 82135C0
+RustboroCity_Gym_Text_MarcPostBattle: @ 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
+RustboroCity_Gym_Text_RoxanneIntro: @ 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"
@@ -187,7 +187,7 @@ RustboroCity_Gym_Text_21362A: @ 821362A
.string "Would you kindly demonstrate how you\n"
.string "battle, and with which POKéMON?$"
-RustboroCity_Gym_Text_21370B: @ 821370B
+RustboroCity_Gym_Text_RoxanneDefeat: @ 821370B
.string "So…\n"
.string "I lost…\p"
.string "It seems that I still have much more\n"
@@ -199,18 +199,18 @@ RustboroCity_Gym_Text_21370B: @ 821370B
.string "Please accept the official POKéMON\n"
.string "LEAGUE STONE BADGE.$"
-RustboroCity_Gym_Text_2137EC: @ 82137EC
+RustboroCity_Gym_Text_ReceivedStoneBadge: @ 82137EC
.string "{PLAYER} received the STONE BADGE\n"
.string "from ROXANNE.$"
-RustboroCity_Gym_Text_213816: @ 8213816
+RustboroCity_Gym_Text_StoneBadgeInfoTakeThis: @ 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
+RustboroCity_Gym_Text_ExplainRockTomb: @ 82138B1
.string "That TECHNICAL MACHINE, TM39,\n"
.string "contains ROCK TOMB.\p"
.string "It not only inflicts damage by dropping\n"
@@ -220,22 +220,21 @@ RustboroCity_Gym_Text_2138B1: @ 82138B1
.string "Remember, a TM can be used only once,\n"
.string "so think before you use it.$"
-RustboroCity_Gym_Text_2139A7: @ 82139A7
+RustboroCity_Gym_Text_RoxannePostBattle: @ 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
+RustboroCity_Gym_Text_GymStatue: @ 8213A21
.string "RUSTBORO CITY POKéMON GYM$"
-RustboroCity_Gym_Text_213A3B: @ 8213A3B
+RustboroCity_Gym_Text_GymStatueCertified: @ 8213A3B
.string "RUSTBORO CITY POKéMON GYM\p"
.string "ROXANNE'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-
-RustboroCity_Gym_Text_213A76: @ 8213A76
+RustboroCity_Gym_Text_RoxanneRegisterCall: @ 8213A76
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "ROXANNE: Oh, hello, {PLAYER}?\n"
@@ -252,11 +251,11 @@ RustboroCity_Gym_Text_213A76: @ 8213A76
.string "… … … … … …\n"
.string "… … … … … Click!$"
-RustboroCity_Gym_Text_213C01: @ 8213C01
+RustboroCity_Gym_Text_RegisteredRoxanne: @ 8213C01
.string "Registered GYM LEADER ROXANNE\n"
.string "in the POKéNAV.$"
-RustboroCity_Gym_Text_213C2F: @ 8213C2F
+RustboroCity_Gym_Text_RoxannePreRematch: @ 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"
@@ -264,17 +263,17 @@ RustboroCity_Gym_Text_213C2F: @ 8213C2F
.string "I would like to see how much better\n"
.string "we've become. Let us battle!$"
-RustboroCity_Gym_Text_213CF9: @ 8213CF9
+RustboroCity_Gym_Text_RoxanneRematchDefeat: @ 8213CF9
.string "Grr…\n"
.string "Again, I have lost…$"
-RustboroCity_Gym_Text_213D12: @ 8213D12
+RustboroCity_Gym_Text_RoxannePostRematch: @ 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
+RustboroCity_Gym_Text_RoxanneRematchNeedTwoMons: @ 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"
diff --git a/data/maps/RustboroCity_House1/map.json b/data/maps/RustboroCity_House1/map.json
index bc889d66b..5d3000846 100644
--- a/data/maps/RustboroCity_House1/map.json
+++ b/data/maps/RustboroCity_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_House1_EventScript_21593F",
+ "script": "RustboroCity_House1_EventScript_Trader",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_House1_EventScript_2159DF",
+ "script": "RustboroCity_House1_EventScript_Hiker",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc
index eb5655b1a..cf1cec610 100644
--- a/data/maps/RustboroCity_House1/scripts.inc
+++ b/data/maps/RustboroCity_House1/scripts.inc
@@ -1,58 +1,58 @@
RustboroCity_House1_MapScripts:: @ 821593E
.byte 0
-RustboroCity_House1_EventScript_21593F:: @ 821593F
+RustboroCity_House1_EventScript_Trader:: @ 821593F
lock
faceplayer
- goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_2159D5
- setvar VAR_0x8008, 0
+ goto_if_set FLAG_RUSTBORO_NPC_TRADE_COMPLETED, RustboroCity_House1_EventScript_TradeCompleted
+ setvar VAR_0x8008, INGAME_TRADE_SEEDOT
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
- msgbox RustboroCity_House1_Text_2159E8, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_House1_EventScript_2159BD
- special sub_81B94B0
+ msgbox RustboroCity_House1_Text_IllTradeIfYouWant, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq RustboroCity_House1_EventScript_DeclineTrade
+ special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_if_eq RustboroCity_House1_EventScript_2159BD
+ goto_if_eq RustboroCity_House1_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if_ne RustboroCity_House1_EventScript_2159C7
+ goto_if_ne RustboroCity_House1_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
special DoInGameTradeScene
waitstate
- msgbox RustboroCity_House1_Text_215A77, MSGBOX_DEFAULT
+ msgbox RustboroCity_House1_Text_PleaseBeGoodToMyPokemon, MSGBOX_DEFAULT
setflag FLAG_RUSTBORO_NPC_TRADE_COMPLETED
release
end
-RustboroCity_House1_EventScript_2159BD:: @ 82159BD
- msgbox RustboroCity_House1_Text_215ACE, MSGBOX_DEFAULT
+RustboroCity_House1_EventScript_DeclineTrade:: @ 82159BD
+ msgbox RustboroCity_House1_Text_YouDontWantToThatsOkay, MSGBOX_DEFAULT
release
end
-RustboroCity_House1_EventScript_2159C7:: @ 82159C7
+RustboroCity_House1_EventScript_NotRequestedMon:: @ 82159C7
bufferspeciesname 0, VAR_0x8009
- msgbox RustboroCity_House1_Text_215A9D, MSGBOX_DEFAULT
+ msgbox RustboroCity_House1_Text_DoesntLookLikeMonToMe, MSGBOX_DEFAULT
release
end
-RustboroCity_House1_EventScript_2159D5:: @ 82159D5
- msgbox RustboroCity_House1_Text_215B17, MSGBOX_DEFAULT
+RustboroCity_House1_EventScript_TradeCompleted:: @ 82159D5
+ msgbox RustboroCity_House1_Text_AnyPokemonCanBeCute, MSGBOX_DEFAULT
release
end
-RustboroCity_House1_EventScript_2159DF:: @ 82159DF
- msgbox RustboroCity_House1_Text_215B57, MSGBOX_NPC
+RustboroCity_House1_EventScript_Hiker:: @ 82159DF
+ msgbox RustboroCity_House1_Text_AllSortsOfPlaces, MSGBOX_NPC
end
-RustboroCity_House1_Text_2159E8: @ 82159E8
+RustboroCity_House1_Text_IllTradeIfYouWant: @ 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"
@@ -60,23 +60,23 @@ RustboroCity_House1_Text_2159E8: @ 82159E8
.string "I'll trade you my {STR_VAR_2} for\n"
.string "a {STR_VAR_1} if you want.$"
-RustboroCity_House1_Text_215A77: @ 8215A77
+RustboroCity_House1_Text_PleaseBeGoodToMyPokemon: @ 8215A77
.string "Eheheh…\n"
.string "Please be good to my POKéMON.$"
-RustboroCity_House1_Text_215A9D: @ 8215A9D
+RustboroCity_House1_Text_DoesntLookLikeMonToMe: @ 8215A9D
.string "Huh? That doesn't look anything like\n"
.string "a {STR_VAR_1} to me.$"
-RustboroCity_House1_Text_215ACE: @ 8215ACE
+RustboroCity_House1_Text_YouDontWantToThatsOkay: @ 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
+RustboroCity_House1_Text_AnyPokemonCanBeCute: @ 8215B17
.string "Any POKéMON can be cute if you raise\n"
.string "it with care and kindness.$"
-RustboroCity_House1_Text_215B57: @ 8215B57
+RustboroCity_House1_Text_AllSortsOfPlaces: @ 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"
diff --git a/data/maps/RustboroCity_House2/map.json b/data/maps/RustboroCity_House2/map.json
index b10b2c074..6dcd38ab4 100644
--- a/data/maps/RustboroCity_House2/map.json
+++ b/data/maps/RustboroCity_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_House2_EventScript_215EB4",
+ "script": "RustboroCity_House2_EventScript_PokefanF",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_House2_EventScript_215EBD",
+ "script": "RustboroCity_House2_EventScript_LittleGirl",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_House2/scripts.inc b/data/maps/RustboroCity_House2/scripts.inc
index 632eb6877..c8e80ee9f 100644
--- a/data/maps/RustboroCity_House2/scripts.inc
+++ b/data/maps/RustboroCity_House2/scripts.inc
@@ -1,20 +1,20 @@
RustboroCity_House2_MapScripts:: @ 8215EB3
.byte 0
-RustboroCity_House2_EventScript_215EB4:: @ 8215EB4
- msgbox RustboroCity_House2_Text_215EC6, MSGBOX_NPC
+RustboroCity_House2_EventScript_PokefanF:: @ 8215EB4
+ msgbox RustboroCity_House2_Text_TrainerSchoolExcellent, MSGBOX_NPC
end
-RustboroCity_House2_EventScript_215EBD:: @ 8215EBD
- msgbox RustboroCity_House2_Text_215F21, MSGBOX_NPC
+RustboroCity_House2_EventScript_LittleGirl:: @ 8215EBD
+ msgbox RustboroCity_House2_Text_RoxanneKnowsALot, MSGBOX_NPC
end
-RustboroCity_House2_Text_215EC6: @ 8215EC6
+RustboroCity_House2_Text_TrainerSchoolExcellent: @ 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
+RustboroCity_House2_Text_RoxanneKnowsALot: @ 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/maps/RustboroCity_House3/map.json b/data/maps/RustboroCity_House3/map.json
index 50b5f1295..66fa98833 100644
--- a/data/maps/RustboroCity_House3/map.json
+++ b/data/maps/RustboroCity_House3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_House3_EventScript_216191",
+ "script": "RustboroCity_House3_EventScript_OldMan",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_House3_EventScript_21619A",
+ "script": "RustboroCity_House3_EventScript_OldWoman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_House3_EventScript_2161A3",
+ "script": "RustboroCity_House3_EventScript_Pekachu",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_House3/scripts.inc b/data/maps/RustboroCity_House3/scripts.inc
index 04992fbba..d55166e67 100644
--- a/data/maps/RustboroCity_House3/scripts.inc
+++ b/data/maps/RustboroCity_House3/scripts.inc
@@ -1,36 +1,37 @@
RustboroCity_House3_MapScripts:: @ 8216190
.byte 0
-RustboroCity_House3_EventScript_216191:: @ 8216191
- msgbox RustboroCity_House3_Text_2161B6, MSGBOX_NPC
+RustboroCity_House3_EventScript_OldMan:: @ 8216191
+ msgbox RustboroCity_House3_Text_IGivePerfectlySuitedNicknames, MSGBOX_NPC
end
-RustboroCity_House3_EventScript_21619A:: @ 821619A
- msgbox RustboroCity_House3_Text_21622A, MSGBOX_NPC
+RustboroCity_House3_EventScript_OldWoman:: @ 821619A
+ msgbox RustboroCity_House3_Text_NamingPikachuPekachu, MSGBOX_NPC
end
-RustboroCity_House3_EventScript_2161A3:: @ 82161A3
+@ Misspelling on purpose, see nickname
+RustboroCity_House3_EventScript_Pekachu:: @ 82161A3
lock
faceplayer
waitse
playmoncry SPECIES_PIKACHU, 0
- msgbox RustboroCity_House3_Text_2162AB, MSGBOX_DEFAULT
+ msgbox RustboroCity_House3_Text_Pekachu, MSGBOX_DEFAULT
waitmoncry
release
end
-RustboroCity_House3_Text_2161B6: @ 82161B6
+RustboroCity_House3_Text_IGivePerfectlySuitedNicknames: @ 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
+RustboroCity_House3_Text_NamingPikachuPekachu: @ 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
+RustboroCity_House3_Text_Pekachu: @ 82162AB
.string "PEKACHU: Peka!$"
diff --git a/data/maps/RustboroCity_Mart/map.json b/data/maps/RustboroCity_Mart/map.json
index a2a5a846f..d56aa3095 100644
--- a/data/maps/RustboroCity_Mart/map.json
+++ b/data/maps/RustboroCity_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Mart_EventScript_214F06",
+ "script": "RustboroCity_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Mart_EventScript_214F7D",
+ "script": "RustboroCity_Mart_EventScript_Boy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Mart_EventScript_214F74",
+ "script": "RustboroCity_Mart_EventScript_PokefanF",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_Mart_EventScript_214F86",
+ "script": "RustboroCity_Mart_EventScript_BugCatcher",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_Mart/scripts.inc b/data/maps/RustboroCity_Mart/scripts.inc
index a5693847c..063c5b64f 100644
--- a/data/maps/RustboroCity_Mart/scripts.inc
+++ b/data/maps/RustboroCity_Mart/scripts.inc
@@ -1,22 +1,22 @@
RustboroCity_Mart_MapScripts:: @ 8214F05
.byte 0
-RustboroCity_Mart_EventScript_214F06:: @ 8214F06
+RustboroCity_Mart_EventScript_Clerk:: @ 8214F06
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- goto_if_unset FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_214F21
- goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_214F48
+ goto_if_unset FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_PokemartBasic
+ goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_Mart_EventScript_PokemartExpanded
end
-RustboroCity_Mart_EventScript_214F21:: @ 8214F21
- pokemart RustboroCity_Mart_Pokemart_214F30
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+RustboroCity_Mart_EventScript_PokemartBasic:: @ 8214F21
+ pokemart RustboroCity_Mart_Pokemart_Basic
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
-RustboroCity_Mart_Pokemart_214F30: @ 8214F30
+RustboroCity_Mart_Pokemart_Basic: @ 8214F30
.2byte ITEM_POKE_BALL
.2byte ITEM_POTION
.2byte ITEM_SUPER_POTION
@@ -31,14 +31,14 @@ RustboroCity_Mart_Pokemart_214F30: @ 8214F30
release
end
-RustboroCity_Mart_EventScript_214F48:: @ 8214F48
- pokemart RustboroCity_Mart_Pokemart_214F58
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+RustboroCity_Mart_EventScript_PokemartExpanded:: @ 8214F48
+ pokemart RustboroCity_Mart_Pokemart_Expanded
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-RustboroCity_Mart_Pokemart_214F58: @ 8214F58
+RustboroCity_Mart_Pokemart_Expanded: @ 8214F58
.2byte ITEM_POKE_BALL
.2byte ITEM_TIMER_BALL
.2byte ITEM_REPEAT_BALL
@@ -55,31 +55,31 @@ RustboroCity_Mart_Pokemart_214F58: @ 8214F58
release
end
-RustboroCity_Mart_EventScript_214F74:: @ 8214F74
- msgbox RustboroCity_Mart_Text_214F8F, MSGBOX_NPC
+RustboroCity_Mart_EventScript_PokefanF:: @ 8214F74
+ msgbox RustboroCity_Mart_Text_BuyingHealsInCaseOfShroomish, MSGBOX_NPC
end
-RustboroCity_Mart_EventScript_214F7D:: @ 8214F7D
- msgbox RustboroCity_Mart_Text_214FF1, MSGBOX_NPC
+RustboroCity_Mart_EventScript_Boy:: @ 8214F7D
+ msgbox RustboroCity_Mart_Text_ShouldBuySuperPotionsInstead, MSGBOX_NPC
end
-RustboroCity_Mart_EventScript_214F86:: @ 8214F86
- msgbox RustboroCity_Mart_Text_21505C, MSGBOX_NPC
+RustboroCity_Mart_EventScript_BugCatcher:: @ 8214F86
+ msgbox RustboroCity_Mart_Text_GettingEscapeRopeJustInCase, MSGBOX_NPC
end
-RustboroCity_Mart_Text_214F8F: @ 8214F8F
+RustboroCity_Mart_Text_BuyingHealsInCaseOfShroomish: @ 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
+RustboroCity_Mart_Text_ShouldBuySuperPotionsInstead: @ 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
+RustboroCity_Mart_Text_GettingEscapeRopeJustInCase: @ 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"
diff --git a/data/maps/RustboroCity_PokemonCenter_1F/map.json b/data/maps/RustboroCity_PokemonCenter_1F/map.json
index b91dd25ac..db28ddcf3 100644
--- a/data/maps/RustboroCity_PokemonCenter_1F/map.json
+++ b/data/maps/RustboroCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_1F_EventScript_214D76",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_1F_EventScript_214D84",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_Man",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_1F_EventScript_214D8D",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_Boy",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_1F_EventScript_214D96",
+ "script": "RustboroCity_PokemonCenter_1F_EventScript_Girl",
"flag": "0"
}
],
diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc
index 4d50ca89c..ca10592b0 100644
--- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc
@@ -1,46 +1,47 @@
RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62
map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, RustboroCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
RustboroCity_PokemonCenter_1F_OnTransition: @ 8214D6D
setrespawn HEAL_LOCATION_RUSTBORO_CITY
- call RustboroCity_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-RustboroCity_PokemonCenter_1F_EventScript_214D76:: @ 8214D76
+@ VAR_0x800B is the Nurse's object event id
+RustboroCity_PokemonCenter_1F_EventScript_Nurse:: @ 8214D76
setvar VAR_0x800B, 1
- call RustboroCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-RustboroCity_PokemonCenter_1F_EventScript_214D84:: @ 8214D84
- msgbox RustboroCity_PokemonCenter_1F_Text_214D9F, MSGBOX_NPC
+RustboroCity_PokemonCenter_1F_EventScript_Man:: @ 8214D84
+ msgbox RustboroCity_PokemonCenter_1F_Text_PokemonHavePersonalities, MSGBOX_NPC
end
-RustboroCity_PokemonCenter_1F_EventScript_214D8D:: @ 8214D8D
- msgbox RustboroCity_PokemonCenter_1F_Text_214E13, MSGBOX_NPC
+RustboroCity_PokemonCenter_1F_EventScript_Boy:: @ 8214D8D
+ msgbox RustboroCity_PokemonCenter_1F_Text_MaleAndFemalePokemon, MSGBOX_NPC
end
-RustboroCity_PokemonCenter_1F_EventScript_214D96:: @ 8214D96
- msgbox RustboroCity_PokemonCenter_1F_Text_214E81, MSGBOX_NPC
+RustboroCity_PokemonCenter_1F_EventScript_Girl:: @ 8214D96
+ msgbox RustboroCity_PokemonCenter_1F_Text_HMCutNextDoor, MSGBOX_NPC
end
-RustboroCity_PokemonCenter_1F_Text_214D9F: @ 8214D9F
+RustboroCity_PokemonCenter_1F_Text_PokemonHavePersonalities: @ 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
+RustboroCity_PokemonCenter_1F_Text_MaleAndFemalePokemon: @ 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
+RustboroCity_PokemonCenter_1F_Text_HMCutNextDoor: @ 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/maps/RustboroCity_PokemonCenter_2F/map.json b/data/maps/RustboroCity_PokemonCenter_2F/map.json
index db6388bba..812cb7c02 100644
--- a/data/maps/RustboroCity_PokemonCenter_2F/map.json
+++ b/data/maps/RustboroCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc
index 3c62abc4a..ba7b5b285 100644
--- a/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/RustboroCity_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
RustboroCity_PokemonCenter_2F_MapScripts:: @ 8214EDE
- map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, RustboroCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-RustboroCity_PokemonCenter_2F_EventScript_214EF3:: @ 8214EF3
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+RustboroCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8214EF3
+ call CableClub_EventScript_Colosseum
end
-RustboroCity_PokemonCenter_2F_EventScript_214EF9:: @ 8214EF9
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+RustboroCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8214EF9
+ call CableClub_EventScript_TradeCenter
end
-RustboroCity_PokemonCenter_2F_EventScript_214EFF:: @ 8214EFF
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+RustboroCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 8214EFF
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/RustboroCity_PokemonSchool/map.json b/data/maps/RustboroCity_PokemonSchool/map.json
index 614b123c4..a60add1ee 100644
--- a/data/maps/RustboroCity_PokemonSchool/map.json
+++ b/data/maps/RustboroCity_PokemonSchool/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonSchool_EventScript_213F5F",
+ "script": "RustboroCity_PokemonSchool_EventScript_GameboyKid1",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonSchool_EventScript_213F68",
+ "script": "RustboroCity_PokemonSchool_EventScript_GameboyKid2",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonSchool_EventScript_213F71",
+ "script": "RustboroCity_PokemonSchool_EventScript_RichBoy",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonSchool_EventScript_213F7A",
+ "script": "RustboroCity_PokemonSchool_EventScript_Lass",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonSchool_EventScript_213F83",
+ "script": "RustboroCity_PokemonSchool_EventScript_SchoolKidM",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonSchool_EventScript_213F95",
+ "script": "RustboroCity_PokemonSchool_EventScript_Teacher",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RustboroCity_PokemonSchool_EventScript_214040",
+ "script": "RustboroCity_PokemonSchool_EventScript_Scott",
"flag": "FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT"
}
],
@@ -130,7 +130,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_PokemonSchool_EventScript_213EA9"
+ "script": "RustboroCity_PokemonSchool_EventScript_Blackboard"
},
{
"type": "sign",
@@ -138,7 +138,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_PokemonSchool_EventScript_213EA9"
+ "script": "RustboroCity_PokemonSchool_EventScript_Blackboard"
},
{
"type": "sign",
@@ -146,7 +146,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_PokemonSchool_EventScript_213EA9"
+ "script": "RustboroCity_PokemonSchool_EventScript_Blackboard"
},
{
"type": "sign",
@@ -154,7 +154,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_PokemonSchool_EventScript_213EA9"
+ "script": "RustboroCity_PokemonSchool_EventScript_Blackboard"
},
{
"type": "sign",
@@ -162,7 +162,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "RustboroCity_PokemonSchool_EventScript_213F8C"
+ "script": "RustboroCity_PokemonSchool_EventScript_StudentNotebook"
}
]
} \ No newline at end of file
diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc
index ff52ee5ac..6e5bf0fce 100644
--- a/data/maps/RustboroCity_PokemonSchool/scripts.inc
+++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc
@@ -1,117 +1,117 @@
RustboroCity_PokemonSchool_MapScripts:: @ 8213EA8
.byte 0
-RustboroCity_PokemonSchool_EventScript_213EA9:: @ 8213EA9
+RustboroCity_PokemonSchool_EventScript_Blackboard:: @ 8213EA9
lockall
- msgbox RustboroCity_PokemonSchool_Text_2140B2, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_213EB8
+ msgbox RustboroCity_PokemonSchool_Text_BlackboardListsStatusChanges, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic
end
-RustboroCity_PokemonSchool_EventScript_213EB8:: @ 8213EB8
- message RustboroCity_PokemonSchool_Text_2140F9
+RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic:: @ 8213EB8
+ message RustboroCity_PokemonSchool_Text_ReadWhichTopic
waitmessage
- multichoicegrid 8, 1, 13, 3, 0
+ multichoicegrid 8, 1, MULTI_STATUS_INFO, 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
+ case 0, RustboroCity_PokemonSchool_EventScript_Poison
+ case 1, RustboroCity_PokemonSchool_EventScript_Paralysis
+ case 2, RustboroCity_PokemonSchool_EventScript_Sleep
+ case 3, RustboroCity_PokemonSchool_EventScript_Burn
+ case 4, RustboroCity_PokemonSchool_EventScript_Freeze
+ case 5, RustboroCity_PokemonSchool_EventScript_ExitTopicSelect
+ case MULTI_B_PRESSED, RustboroCity_PokemonSchool_EventScript_ExitTopicSelect
end
-RustboroCity_PokemonSchool_EventScript_213F17:: @ 8213F17
- msgbox RustboroCity_PokemonSchool_Text_21411A, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_213EB8
+RustboroCity_PokemonSchool_EventScript_Poison:: @ 8213F17
+ msgbox RustboroCity_PokemonSchool_Text_ExplainPoison, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic
end
-RustboroCity_PokemonSchool_EventScript_213F25:: @ 8213F25
- msgbox RustboroCity_PokemonSchool_Text_2141D8, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_213EB8
+RustboroCity_PokemonSchool_EventScript_Paralysis:: @ 8213F25
+ msgbox RustboroCity_PokemonSchool_Text_ExplainParalysis, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic
end
-RustboroCity_PokemonSchool_EventScript_213F33:: @ 8213F33
- msgbox RustboroCity_PokemonSchool_Text_21427D, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_213EB8
+RustboroCity_PokemonSchool_EventScript_Sleep:: @ 8213F33
+ msgbox RustboroCity_PokemonSchool_Text_ExplainSleep, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic
end
-RustboroCity_PokemonSchool_EventScript_213F41:: @ 8213F41
- msgbox RustboroCity_PokemonSchool_Text_214336, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_213EB8
+RustboroCity_PokemonSchool_EventScript_Burn:: @ 8213F41
+ msgbox RustboroCity_PokemonSchool_Text_ExplainBurn, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic
end
-RustboroCity_PokemonSchool_EventScript_213F4F:: @ 8213F4F
- msgbox RustboroCity_PokemonSchool_Text_2143B8, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_213EB8
+RustboroCity_PokemonSchool_EventScript_Freeze:: @ 8213F4F
+ msgbox RustboroCity_PokemonSchool_Text_ExplainFreeze, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_ChooseBlackboardTopic
end
-RustboroCity_PokemonSchool_EventScript_213F5D:: @ 8213F5D
+RustboroCity_PokemonSchool_EventScript_ExitTopicSelect:: @ 8213F5D
releaseall
end
-RustboroCity_PokemonSchool_EventScript_213F5F:: @ 8213F5F
- msgbox RustboroCity_PokemonSchool_Text_21459F, MSGBOX_NPC
+RustboroCity_PokemonSchool_EventScript_GameboyKid1:: @ 8213F5F
+ msgbox RustboroCity_PokemonSchool_Text_TradingRightNow, MSGBOX_NPC
end
-RustboroCity_PokemonSchool_EventScript_213F68:: @ 8213F68
- msgbox RustboroCity_PokemonSchool_Text_2145CD, MSGBOX_NPC
+RustboroCity_PokemonSchool_EventScript_GameboyKid2:: @ 8213F68
+ msgbox RustboroCity_PokemonSchool_Text_AlwaysWantedSeedot, MSGBOX_NPC
end
-RustboroCity_PokemonSchool_EventScript_213F71:: @ 8213F71
- msgbox RustboroCity_PokemonSchool_Text_214604, MSGBOX_NPC
+RustboroCity_PokemonSchool_EventScript_RichBoy:: @ 8213F71
+ msgbox RustboroCity_PokemonSchool_Text_PokemontCantUseManMadeItems, MSGBOX_NPC
end
-RustboroCity_PokemonSchool_EventScript_213F7A:: @ 8213F7A
- msgbox RustboroCity_PokemonSchool_Text_214669, MSGBOX_NPC
+RustboroCity_PokemonSchool_EventScript_Lass:: @ 8213F7A
+ msgbox RustboroCity_PokemonSchool_Text_ConfusedPokemonAttacksItself, MSGBOX_NPC
end
-RustboroCity_PokemonSchool_EventScript_213F83:: @ 8213F83
- msgbox RustboroCity_PokemonSchool_Text_214719, MSGBOX_NPC
+RustboroCity_PokemonSchool_EventScript_SchoolKidM:: @ 8213F83
+ msgbox RustboroCity_PokemonSchool_Text_PokemonHealItselfWithBerry, MSGBOX_NPC
end
-RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C
- msgbox RustboroCity_PokemonSchool_Text_2147A2, MSGBOX_SIGN
+RustboroCity_PokemonSchool_EventScript_StudentNotebook:: @ 8213F8C
+ msgbox RustboroCity_PokemonSchool_Text_StudentsNotes, MSGBOX_SIGN
end
-RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95
+RustboroCity_PokemonSchool_EventScript_Teacher:: @ 8213F95
lock
faceplayer
- goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_213FFB
- compare VAR_FACING, 4
- call_if_eq RustboroCity_PokemonSchool_EventScript_213FE5
- compare VAR_FACING, 3
- call_if_eq RustboroCity_PokemonSchool_EventScript_213FF0
- msgbox RustboroCity_PokemonSchool_Text_214433, MSGBOX_DEFAULT
- giveitem_std ITEM_QUICK_CLAW
+ goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_GaveQuickClaw
+ compare VAR_FACING, DIR_EAST
+ call_if_eq RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsEast
+ compare VAR_FACING, DIR_WEST
+ call_if_eq RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsWest
+ msgbox RustboroCity_PokemonSchool_Text_StudentsWhoDontStudyGetQuickClaw, MSGBOX_DEFAULT
+ giveitem ITEM_QUICK_CLAW
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
setflag FLAG_RECEIVED_QUICK_CLAW
release
end
-RustboroCity_PokemonSchool_EventScript_213FE5:: @ 8213FE5
- applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214027
+RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsEast:: @ 8213FE5
+ applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsEast
waitmovement 0
return
-RustboroCity_PokemonSchool_EventScript_213FF0:: @ 8213FF0
- applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214010
+RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsWest:: @ 8213FF0
+ applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsWest
waitmovement 0
return
-RustboroCity_PokemonSchool_EventScript_213FFB:: @ 8213FFB
- msgbox RustboroCity_PokemonSchool_Text_2144C8, MSGBOX_DEFAULT
+RustboroCity_PokemonSchool_EventScript_GaveQuickClaw:: @ 8213FFB
+ msgbox RustboroCity_PokemonSchool_Text_ExplainQuickClaw, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
release
end
-RustboroCity_PokemonSchool_Movement_214010: @ 8214010
+RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsWest: @ 8214010
walk_left
walk_down
walk_down
@@ -136,7 +136,7 @@ RustboroCity_PokemonSchool_Movement_214010: @ 8214010
walk_right
step_end
-RustboroCity_PokemonSchool_Movement_214027: @ 8214027
+RustboroCity_PokemonSchool_Movement_TeacherCheckOnStudentsEast: @ 8214027
walk_right
walk_right
walk_down
@@ -163,53 +163,53 @@ RustboroCity_PokemonSchool_Movement_214027: @ 8214027
walk_left
step_end
-RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040
+RustboroCity_PokemonSchool_EventScript_Scott:: @ 8214040
lock
faceplayer
- goto_if_set FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE, RustboroCity_PokemonSchool_EventScript_2140A8
- goto_if_set FLAG_MET_SCOTT_RUSTBORO, RustboroCity_PokemonSchool_EventScript_21406F
- goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214082
- msgbox RustboroCity_PokemonSchool_Text_2148C0, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE, RustboroCity_PokemonSchool_EventScript_ScottWatchStudents
+ goto_if_set FLAG_MET_SCOTT_RUSTBORO, RustboroCity_PokemonSchool_EventScript_ScottSpokeAlready
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_ScottGreetHasBadge
+ msgbox RustboroCity_PokemonSchool_Text_ScottMetAlreadyCut, MSGBOX_DEFAULT
addvar VAR_SCOTT_STATE, 1
setflag FLAG_MET_SCOTT_RUSTBORO
release
end
-RustboroCity_PokemonSchool_EventScript_21406F:: @ 821406F
- goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214090
- msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT
+RustboroCity_PokemonSchool_EventScript_ScottSpokeAlready:: @ 821406F
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_ScottNoticeBadge
+ msgbox RustboroCity_PokemonSchool_Text_StudentTalentLevelUnknown, MSGBOX_DEFAULT
release
end
-RustboroCity_PokemonSchool_EventScript_214082:: @ 8214082
- msgbox RustboroCity_PokemonSchool_Text_214B8A, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_21409E
+RustboroCity_PokemonSchool_EventScript_ScottGreetHasBadge:: @ 8214082
+ msgbox RustboroCity_PokemonSchool_Text_ScottMetAlreadyStoneBadge, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_MetScottAfterBadge
end
-RustboroCity_PokemonSchool_EventScript_214090:: @ 8214090
- msgbox RustboroCity_PokemonSchool_Text_214AB6, MSGBOX_DEFAULT
- goto RustboroCity_PokemonSchool_EventScript_21409E
+RustboroCity_PokemonSchool_EventScript_ScottNoticeBadge:: @ 8214090
+ msgbox RustboroCity_PokemonSchool_Text_ScottStoneBadge, MSGBOX_DEFAULT
+ goto RustboroCity_PokemonSchool_EventScript_MetScottAfterBadge
end
-RustboroCity_PokemonSchool_EventScript_21409E:: @ 821409E
+RustboroCity_PokemonSchool_EventScript_MetScottAfterBadge:: @ 821409E
addvar VAR_SCOTT_STATE, 1
setflag FLAG_MET_SCOTT_AFTER_OBTAINING_STONE_BADGE
release
end
-RustboroCity_PokemonSchool_EventScript_2140A8:: @ 82140A8
- msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT
+RustboroCity_PokemonSchool_EventScript_ScottWatchStudents:: @ 82140A8
+ msgbox RustboroCity_PokemonSchool_Text_StudentTalentLevelUnknown, MSGBOX_DEFAULT
release
end
-RustboroCity_PokemonSchool_Text_2140B2: @ 82140B2
+RustboroCity_PokemonSchool_Text_BlackboardListsStatusChanges: @ 82140B2
.string "The blackboard lists status changes\n"
.string "that may affect POKéMON in battle.$"
-RustboroCity_PokemonSchool_Text_2140F9: @ 82140F9
+RustboroCity_PokemonSchool_Text_ReadWhichTopic: @ 82140F9
.string "Which topic do you want to read?$"
-RustboroCity_PokemonSchool_Text_21411A: @ 821411A
+RustboroCity_PokemonSchool_Text_ExplainPoison: @ 821411A
.string "If a POKéMON is poisoned, it will\n"
.string "steadily lose HP.\p"
.string "The effects of poison remain after\n"
@@ -218,7 +218,7 @@ RustboroCity_PokemonSchool_Text_21411A: @ 821411A
.string "while it is traveling.\p"
.string "Heal a poisoning using an ANTIDOTE.$"
-RustboroCity_PokemonSchool_Text_2141D8: @ 82141D8
+RustboroCity_PokemonSchool_Text_ExplainParalysis: @ 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"
@@ -226,7 +226,7 @@ RustboroCity_PokemonSchool_Text_2141D8: @ 82141D8
.string "Paralysis remains after battle.\n"
.string "Cure it using a PARLYZ HEAL.$"
-RustboroCity_PokemonSchool_Text_21427D: @ 821427D
+RustboroCity_PokemonSchool_Text_ExplainSleep: @ 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"
@@ -234,26 +234,26 @@ RustboroCity_PokemonSchool_Text_21427D: @ 821427D
.string "sleeping, it will stay asleep.\p"
.string "Wake it up using an AWAKENING.$"
-RustboroCity_PokemonSchool_Text_214336: @ 8214336
+RustboroCity_PokemonSchool_Text_ExplainBurn: @ 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
+RustboroCity_PokemonSchool_Text_ExplainFreeze: @ 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
+RustboroCity_PokemonSchool_Text_StudentsWhoDontStudyGetQuickClaw: @ 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
+RustboroCity_PokemonSchool_Text_ExplainQuickClaw: @ 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"
@@ -262,20 +262,20 @@ RustboroCity_PokemonSchool_Text_2144C8: @ 82144C8
.string "Just those alone will give you many\n"
.string "topics to study!$"
-RustboroCity_PokemonSchool_Text_21459F: @ 821459F
+RustboroCity_PokemonSchool_Text_TradingRightNow: @ 821459F
.string "I'm trading POKéMON with my friend\n"
.string "right now.$"
-RustboroCity_PokemonSchool_Text_2145CD: @ 82145CD
+RustboroCity_PokemonSchool_Text_AlwaysWantedSeedot: @ 82145CD
.string "I always wanted a SEEDOT, and\n"
.string "I'm finally getting one!$"
-RustboroCity_PokemonSchool_Text_214604: @ 8214604
+RustboroCity_PokemonSchool_Text_PokemontCantUseManMadeItems: @ 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
+RustboroCity_PokemonSchool_Text_ConfusedPokemonAttacksItself: @ 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"
@@ -283,7 +283,7 @@ RustboroCity_PokemonSchool_Text_214669: @ 8214669
.string "But once it leaves battle, it will\n"
.string "return to normal.$"
-RustboroCity_PokemonSchool_Text_214719: @ 8214719
+RustboroCity_PokemonSchool_Text_PokemonHealItselfWithBerry: @ 8214719
.string "A POKéMON holding a BERRY will heal\n"
.string "itself…\p"
.string "There are many kinds of items that\n"
@@ -291,7 +291,7 @@ RustboroCity_PokemonSchool_Text_214719: @ 8214719
.string "Boy, it sure is hard taking notes\n"
.string "down…$"
-RustboroCity_PokemonSchool_Text_2147A2: @ 82147A2
+RustboroCity_PokemonSchool_Text_StudentsNotes: @ 82147A2
.string "It's this student's notebook…\p"
.string "POKéMON are to be caught using\n"
.string "POKé BALLS.\p"
@@ -304,7 +304,7 @@ RustboroCity_PokemonSchool_Text_2147A2: @ 82147A2
.string "the strong TRAINERS who await\l"
.string "challengers in POKéMON GYMS.$"
-RustboroCity_PokemonSchool_Text_2148C0: @ 82148C0
+RustboroCity_PokemonSchool_Text_ScottMetAlreadyCut: @ 82148C0
.string "Hello? Didn't we meet before?\n"
.string "I think back in PETALBURG CITY.\p"
.string "Let me introduce myself.\n"
@@ -320,12 +320,12 @@ RustboroCity_PokemonSchool_Text_2148C0: @ 82148C0
.string "If I remember correctly, someone in\n"
.string "this town has CUT.$"
-RustboroCity_PokemonSchool_Text_214A5F: @ 8214A5F
+RustboroCity_PokemonSchool_Text_StudentTalentLevelUnknown: @ 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
+RustboroCity_PokemonSchool_Text_ScottStoneBadge: @ 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"
@@ -334,7 +334,7 @@ RustboroCity_PokemonSchool_Text_214AB6: @ 8214AB6
.string "It's hard to tell what you're like as\n"
.string "a TRAINER from a LEAGUE BADGE.$"
-RustboroCity_PokemonSchool_Text_214B8A: @ 8214B8A
+RustboroCity_PokemonSchool_Text_ScottMetAlreadyStoneBadge: @ 8214B8A
.string "Hello? Didn't we meet before?\n"
.string "I think back in PETALBURG CITY.\p"
.string "Let me introduce myself.\n"
diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json
index bd5c8206d..159588113 100644
--- a/data/maps/RusturfTunnel/map.json
+++ b/data/maps/RusturfTunnel/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DAN01",
"region_map_section": "MAPSEC_RUSTURF_TUNNEL",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_UNDERGROUND",
"allow_bike": true,
"allow_escape_rope": true,
@@ -24,8 +24,8 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_22CE76",
- "flag": "FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN"
+ "script": "RusturfTunnel_EventScript_WandasBoyfriend",
+ "flag": "FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND"
},
{
"graphics_id": "EVENT_OBJ_GFX_BREAKABLE_ROCK",
@@ -77,7 +77,7 @@
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
"script": "0x0",
- "flag": "FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN"
+ "flag": "FLAG_HIDE_RUSTURF_TUNNEL_BRINEY"
},
{
"graphics_id": "EVENT_OBJ_GFX_AQUA_MEMBER_M",
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_22D0C2",
+ "script": "RusturfTunnel_EventScript_Grunt",
"flag": "FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_22D0AF",
+ "script": "RusturfTunnel_EventScript_Peeko",
"flag": "FLAG_HIDE_RUSTURF_TUNNEL_PEEKO"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "RusturfTunnel_EventScript_22D1B1",
+ "script": "RusturfTunnel_EventScript_Mike",
"flag": "0"
},
{
@@ -141,8 +141,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "RusturfTunnel_EventScript_22CE5F",
- "flag": "FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN"
+ "script": "RusturfTunnel_EventScript_Wanda",
+ "flag": "FLAG_HIDE_RUSTURF_TUNNEL_WANDA"
}
],
"warp_events": [
@@ -176,7 +176,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "RusturfTunnel_EventScript_22D071"
+ "script": "RusturfTunnel_EventScript_TunnelBlockagePos1"
},
{
"type": "trigger",
@@ -185,7 +185,7 @@
"elevation": 3,
"var": "VAR_RUSTURF_TUNNEL_STATE",
"var_value": "2",
- "script": "RusturfTunnel_EventScript_22D083"
+ "script": "RusturfTunnel_EventScript_AquaGruntBackUp"
},
{
"type": "trigger",
@@ -194,7 +194,7 @@
"elevation": 3,
"var": "VAR_RUSTURF_TUNNEL_STATE",
"var_value": "2",
- "script": "RusturfTunnel_EventScript_22D083"
+ "script": "RusturfTunnel_EventScript_AquaGruntBackUp"
},
{
"type": "trigger",
@@ -203,7 +203,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "RusturfTunnel_EventScript_22D077"
+ "script": "RusturfTunnel_EventScript_TunnelBlockagePos2"
},
{
"type": "trigger",
@@ -212,7 +212,7 @@
"elevation": 3,
"var": "0",
"var_value": "0",
- "script": "RusturfTunnel_EventScript_22D07D"
+ "script": "RusturfTunnel_EventScript_TunnelBlockagePos3"
}
],
"bg_events": []
diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc
index 8cb20e372..c3be000a6 100644
--- a/data/maps/RusturfTunnel/scripts.inc
+++ b/data/maps/RusturfTunnel/scripts.inc
@@ -1,146 +1,146 @@
RusturfTunnel_MapScripts:: @ 822CE27
map_script MAP_SCRIPT_ON_TRANSITION, RusturfTunnel_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, RusturfTunnel_MapScript2_22CE32
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, RusturfTunnel_OnFrame
.byte 0
-RusturfTunnel_MapScript2_22CE32: @ 822CE32
- map_script_2 VAR_RUSTURF_TUNNEL_STATE, 4, RusturfTunnel_EventScript_22CEAE
- map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_22CEAE
+RusturfTunnel_OnFrame: @ 822CE32
+ map_script_2 VAR_RUSTURF_TUNNEL_STATE, 4, RusturfTunnel_EventScript_ClearTunnelScene
+ map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_ClearTunnelScene
.2byte 0
RusturfTunnel_OnTransition: @ 822CE44
compare VAR_RUSTURF_TUNNEL_STATE, 2
- call_if_eq RusturfTunnel_EventScript_22CE50
+ call_if_eq RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos
end
-RusturfTunnel_EventScript_22CE50:: @ 822CE50
+RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos:: @ 822CE50
setobjectxyperm 7, 13, 4
setobjectxyperm 6, 13, 5
return
-RusturfTunnel_EventScript_22CE5F:: @ 822CE5F
+RusturfTunnel_EventScript_Wanda:: @ 822CE5F
lock
faceplayer
- msgbox RusturfTunnel_Text_22D7A3, MSGBOX_DEFAULT
+ msgbox RusturfTunnel_Text_BoyfriendOnOtherSideOfRock, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RusturfTunnel_EventScript_22CE76:: @ 822CE76
+RusturfTunnel_EventScript_WandasBoyfriend:: @ 822CE76
lock
faceplayer
- goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_22CE99
+ goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_AlreadySpokenTo
setflag FLAG_TEMP_1
- msgbox RusturfTunnel_Text_22D510, MSGBOX_DEFAULT
+ msgbox RusturfTunnel_Text_WhyCantTheyKeepDigging, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RusturfTunnel_EventScript_22CE99:: @ 822CE99
- msgbox RusturfTunnel_Text_22D5F3, MSGBOX_DEFAULT
+RusturfTunnel_EventScript_AlreadySpokenTo:: @ 822CE99
+ msgbox RusturfTunnel_Text_ToGetToVerdanturf, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-RusturfTunnel_EventScript_22CEAE:: @ 822CEAE
+RusturfTunnel_EventScript_ClearTunnelScene:: @ 822CEAE
lockall
compare VAR_TEMP_1, 1
- call_if_eq RusturfTunnel_EventScript_22CFA7
+ call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend1
compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_22CFBC
+ call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend2
compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_22CFC7
- call RusturfTunnel_EventScript_22CFFF
- msgbox RusturfTunnel_Text_22D65C, MSGBOX_DEFAULT
+ call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend3
+ call RusturfTunnel_EventScript_WandasBoyfriendNotice
+ msgbox RusturfTunnel_Text_YouShatteredBoulderTakeHM, MSGBOX_DEFAULT
compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_22CFC8
+ call_if_eq RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_22CFC8
- giveitem_std ITEM_HM04
+ call_if_eq RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
+ giveitem ITEM_HM04
setflag FLAG_RECEIVED_HM04
- msgbox RusturfTunnel_Text_22D6D2, MSGBOX_DEFAULT
+ msgbox RusturfTunnel_Text_ExplainStrength, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
- call_if_eq RusturfTunnel_EventScript_22CF5D
+ call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda1
compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_22CF6F
+ call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda2
compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_22CF8B
- msgbox RusturfTunnel_Text_22D745, MSGBOX_DEFAULT
+ call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda3
+ msgbox RusturfTunnel_Text_WandaReunion, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
- call_if_eq RusturfTunnel_EventScript_22CFD4
+ call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit1
compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_22CFE6
+ call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit
compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_22CFE6
- call RusturfTunnel_EventScript_272216
+ call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit
+ call RusturfTunnel_EventScript_SetRusturfTunnelOpen
releaseall
end
-RusturfTunnel_EventScript_22CF5D:: @ 822CF5D
- applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D042
- applymovement 1, RusturfTunnel_Movement_22D067
+RusturfTunnel_EventScript_BoyfriendApproachWanda1:: @ 822CF5D
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend1
+ applymovement 1, RusturfTunnel_Movement_BoyfriendApproachWanda1
waitmovement 0
return
-RusturfTunnel_EventScript_22CF6F:: @ 822CF6F
- applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045
- applymovement 1, RusturfTunnel_Movement_22D06C
+RusturfTunnel_EventScript_BoyfriendApproachWanda2:: @ 822CF6F
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend
+ applymovement 1, RusturfTunnel_Movement_BoyfriendApproachWanda
waitmovement 0
- applymovement 10, Common_Movement_WalkInPlaceDown
+ applymovement 10, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-RusturfTunnel_EventScript_22CF8B:: @ 822CF8B
- applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045
- applymovement 1, RusturfTunnel_Movement_22D06C
+RusturfTunnel_EventScript_BoyfriendApproachWanda3:: @ 822CF8B
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend
+ applymovement 1, RusturfTunnel_Movement_BoyfriendApproachWanda
waitmovement 0
- applymovement 10, Common_Movement_WalkInPlaceDown
+ applymovement 10, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-RusturfTunnel_EventScript_22CFA7:: @ 822CFA7
- applymovement 1, Common_Movement_WalkInPlaceUp
+RusturfTunnel_EventScript_FaceWandasBoyfriend1:: @ 822CFA7
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-RusturfTunnel_EventScript_22CFBC:: @ 822CFBC
- applymovement 1, RusturfTunnel_Movement_22D048
+RusturfTunnel_EventScript_FaceWandasBoyfriend2:: @ 822CFBC
+ applymovement 1, RusturfTunnel_Movement_BoyfriendFaceRight
waitmovement 0
return
-RusturfTunnel_EventScript_22CFC7:: @ 822CFC7
+RusturfTunnel_EventScript_FaceWandasBoyfriend3:: @ 822CFC7
return
-RusturfTunnel_EventScript_22CFC8:: @ 822CFC8
+RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer:: @ 822CFC8
closemessage
- applymovement 1, RusturfTunnel_Movement_22D065
+ applymovement 1, RusturfTunnel_Movement_WandasBoyfriendApproachPlayer
waitmovement 0
return
-RusturfTunnel_EventScript_22CFD4:: @ 822CFD4
- applymovement 10, RusturfTunnel_Movement_22D017
- applymovement 1, RusturfTunnel_Movement_22D04B
+RusturfTunnel_EventScript_WandaAndBoyfriendExit1:: @ 822CFD4
+ applymovement 10, RusturfTunnel_Movement_WandaExit1
+ applymovement 1, RusturfTunnel_Movement_WandasBoyfriendExit1
waitmovement 0
return
-RusturfTunnel_EventScript_22CFE6:: @ 822CFE6
- applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D02F
- applymovement 10, RusturfTunnel_Movement_22D023
- applymovement 1, RusturfTunnel_Movement_22D058
+RusturfTunnel_EventScript_WandaAndBoyfriendExit:: @ 822CFE6
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchWandaExit
+ applymovement 10, RusturfTunnel_Movement_WandaExit
+ applymovement 1, RusturfTunnel_Movement_WandasBoyfriendExit
waitmovement 0
return
-RusturfTunnel_EventScript_22CFFF:: @ 822CFFF
+RusturfTunnel_EventScript_WandasBoyfriendNotice:: @ 822CFFF
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
waitmovement 0
@@ -148,7 +148,7 @@ RusturfTunnel_EventScript_22CFFF:: @ 822CFFF
waitmovement 0
return
-RusturfTunnel_Movement_22D017: @ 822D017
+RusturfTunnel_Movement_WandaExit1: @ 822D017
walk_right
walk_right
walk_right
@@ -162,7 +162,7 @@ RusturfTunnel_Movement_22D017: @ 822D017
walk_down
step_end
-RusturfTunnel_Movement_22D023: @ 822D023
+RusturfTunnel_Movement_WandaExit: @ 822D023
walk_right
walk_right
walk_right
@@ -176,7 +176,7 @@ RusturfTunnel_Movement_22D023: @ 822D023
walk_down
step_end
-RusturfTunnel_Movement_22D02F: @ 822D02F
+RusturfTunnel_Movement_PlayerWatchWandaExit: @ 822D02F
delay_8
walk_in_place_fastest_up
delay_16
@@ -184,41 +184,41 @@ RusturfTunnel_Movement_22D02F: @ 822D02F
walk_in_place_fastest_right
step_end
-RusturfTunnel_Movement_22D035: @ 822D035
+RusturfTunnel_Movement_Unused1: @ 822D035
walk_left
walk_in_place_fastest_right
step_end
-RusturfTunnel_Movement_22D038: @ 822D038
+RusturfTunnel_Movement_Unused2: @ 822D038
walk_down
walk_in_place_fastest_up
delay_8
walk_in_place_fastest_right
step_end
-RusturfTunnel_Movement_22D03D: @ 822D03D
+RusturfTunnel_Movement_Unused3: @ 822D03D
walk_up
walk_in_place_fastest_down
delay_8
walk_in_place_fastest_right
step_end
-RusturfTunnel_Movement_22D042: @ 822D042
+RusturfTunnel_Movement_PlayerWatchBoyfriend1: @ 822D042
walk_left
walk_in_place_fastest_right
step_end
-RusturfTunnel_Movement_22D045: @ 822D045
+RusturfTunnel_Movement_PlayerWatchBoyfriend: @ 822D045
walk_right
walk_in_place_fastest_left
step_end
-RusturfTunnel_Movement_22D048: @ 822D048
+RusturfTunnel_Movement_BoyfriendFaceRight: @ 822D048
walk_up
walk_in_place_fastest_right
step_end
-RusturfTunnel_Movement_22D04B: @ 822D04B
+RusturfTunnel_Movement_WandasBoyfriendExit1: @ 822D04B
walk_right
walk_right
walk_right
@@ -233,7 +233,7 @@ RusturfTunnel_Movement_22D04B: @ 822D04B
walk_down
step_end
-RusturfTunnel_Movement_22D058: @ 822D058
+RusturfTunnel_Movement_WandasBoyfriendExit: @ 822D058
walk_up
walk_right
walk_right
@@ -248,42 +248,42 @@ RusturfTunnel_Movement_22D058: @ 822D058
walk_down
step_end
-RusturfTunnel_Movement_22D065: @ 822D065
+RusturfTunnel_Movement_WandasBoyfriendApproachPlayer: @ 822D065
walk_right
step_end
-RusturfTunnel_Movement_22D067: @ 822D067
+RusturfTunnel_Movement_BoyfriendApproachWanda1: @ 822D067
walk_in_place_fast_up
walk_in_place_fast_up
walk_fast_up
walk_fast_right
step_end
-RusturfTunnel_Movement_22D06C: @ 822D06C
+RusturfTunnel_Movement_BoyfriendApproachWanda: @ 822D06C
walk_in_place_fast_right
walk_in_place_fast_right
walk_fast_right
walk_in_place_fastest_up
step_end
-RusturfTunnel_EventScript_22D071:: @ 822D071
+RusturfTunnel_EventScript_TunnelBlockagePos1:: @ 822D071
setvar VAR_TEMP_1, 1
end
-RusturfTunnel_EventScript_22D077:: @ 822D077
+RusturfTunnel_EventScript_TunnelBlockagePos2:: @ 822D077
setvar VAR_TEMP_1, 2
end
-RusturfTunnel_EventScript_22D07D:: @ 822D07D
+RusturfTunnel_EventScript_TunnelBlockagePos3:: @ 822D07D
setvar VAR_TEMP_1, 3
end
-RusturfTunnel_EventScript_22D083:: @ 822D083
+RusturfTunnel_EventScript_AquaGruntBackUp:: @ 822D083
lockall
- msgbox RusturfTunnel_Text_22D1C8, MSGBOX_DEFAULT
+ msgbox RusturfTunnel_Text_ComeAndGetSome, MSGBOX_DEFAULT
closemessage
- applymovement 6, RusturfTunnel_Movement_22D0AB
- applymovement 7, RusturfTunnel_Movement_22D0AB
+ applymovement 6, RusturfTunnel_Movement_GruntAndPeekoBackUp
+ applymovement 7, RusturfTunnel_Movement_GruntAndPeekoBackUp
waitmovement 0
copyobjectxytoperm 6
copyobjectxytoperm 7
@@ -291,55 +291,55 @@ RusturfTunnel_EventScript_22D083:: @ 822D083
releaseall
end
-RusturfTunnel_Movement_22D0AB: @ 822D0AB
+RusturfTunnel_Movement_GruntAndPeekoBackUp: @ 822D0AB
lock_facing_direction
walk_right
unlock_facing_direction
step_end
-RusturfTunnel_EventScript_22D0AF:: @ 822D0AF
+RusturfTunnel_EventScript_Peeko:: @ 822D0AF
lock
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox RusturfTunnel_Text_22D1F7, MSGBOX_DEFAULT
+ msgbox RusturfTunnel_Text_Peeko, MSGBOX_DEFAULT
waitmoncry
release
end
-RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
+RusturfTunnel_EventScript_Grunt:: @ 822D0C2
lock
faceplayer
playbgm MUS_AQA_0, 0
- msgbox RusturfTunnel_Text_22D20A, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_10, RusturfTunnel_Text_22D2B0
- msgbox RusturfTunnel_Text_22D2E1, MSGBOX_DEFAULT
- giveitem_std ITEM_DEVON_GOODS
+ msgbox RusturfTunnel_Text_GruntIntro, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_RUSTURF_TUNNEL, RusturfTunnel_Text_GruntDefeat
+ msgbox RusturfTunnel_Text_GruntTakePackage, MSGBOX_DEFAULT
+ giveitem ITEM_DEVON_GOODS
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D178
- applymovement 6, RusturfTunnel_Movement_22D181
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PushPlayerAsideForGrunt
+ applymovement 6, RusturfTunnel_Movement_GruntEscape
waitmovement 0
removeobject 6
delay 50
addobject 5
- applymovement 5, RusturfTunnel_Movement_22D18B
+ applymovement 5, RusturfTunnel_Movement_BrineyApproachPeeko1
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D17E
- applymovement 5, RusturfTunnel_Movement_22D1A4
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerMoveAsideForBriney
+ applymovement 5, RusturfTunnel_Movement_BrineyApproachPeeko2
waitmovement 0
- msgbox RusturfTunnel_Text_22D395, MSGBOX_DEFAULT
+ msgbox RusturfTunnel_Text_PeekoGladToSeeYouSafe, MSGBOX_DEFAULT
applymovement 5, Common_Movement_FacePlayer
waitmovement 0
- message RusturfTunnel_Text_22D3BA
+ message RusturfTunnel_Text_ThankYouLetsGoHomePeeko
waitmessage
waitse
playmoncry SPECIES_WINGULL, 0
waitbuttonpress
waitmoncry
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D19F
- applymovement 5, RusturfTunnel_Movement_22D193
- applymovement 7, RusturfTunnel_Movement_22D1A7
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBrineyExit
+ applymovement 5, RusturfTunnel_Movement_BrineyExit
+ applymovement 7, RusturfTunnel_Movement_PeekoExit
waitmovement 0
removeobject 5
removeobject 7
@@ -351,7 +351,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
release
end
-RusturfTunnel_Movement_22D178: @ 822D178
+RusturfTunnel_Movement_PushPlayerAsideForGrunt: @ 822D178
face_down
lock_facing_direction
walk_up
@@ -359,12 +359,12 @@ RusturfTunnel_Movement_22D178: @ 822D178
walk_in_place_fastest_left
step_end
-RusturfTunnel_Movement_22D17E: @ 822D17E
+RusturfTunnel_Movement_PlayerMoveAsideForBriney: @ 822D17E
walk_down
walk_in_place_fastest_up
step_end
-RusturfTunnel_Movement_22D181: @ 822D181
+RusturfTunnel_Movement_GruntEscape: @ 822D181
walk_fast_left
walk_fast_left
walk_fast_left
@@ -376,7 +376,7 @@ RusturfTunnel_Movement_22D181: @ 822D181
walk_fast_left
step_end
-RusturfTunnel_Movement_22D18B: @ 822D18B
+RusturfTunnel_Movement_BrineyApproachPeeko1: @ 822D18B
walk_right
walk_right
walk_right
@@ -386,7 +386,7 @@ RusturfTunnel_Movement_22D18B: @ 822D18B
walk_right
step_end
-RusturfTunnel_Movement_22D193: @ 822D193
+RusturfTunnel_Movement_BrineyExit: @ 822D193
walk_left
walk_left
walk_left
@@ -400,19 +400,19 @@ RusturfTunnel_Movement_22D193: @ 822D193
walk_left
step_end
-RusturfTunnel_Movement_22D19F: @ 822D19F
+RusturfTunnel_Movement_PlayerWatchBrineyExit: @ 822D19F
delay_16
delay_8
delay_4
walk_in_place_fastest_left
step_end
-RusturfTunnel_Movement_22D1A4: @ 822D1A4
+RusturfTunnel_Movement_BrineyApproachPeeko2: @ 822D1A4
delay_16
walk_right
step_end
-RusturfTunnel_Movement_22D1A7: @ 822D1A7
+RusturfTunnel_Movement_PeekoExit: @ 822D1A7
walk_left
walk_left
walk_left
@@ -424,19 +424,19 @@ RusturfTunnel_Movement_22D1A7: @ 822D1A7
walk_left
step_end
-RusturfTunnel_EventScript_22D1B1:: @ 822D1B1
- trainerbattle_single TRAINER_MIKE_2, RusturfTunnel_Text_22D84D, RusturfTunnel_Text_22D8DB
- msgbox RusturfTunnel_Text_22D8F9, MSGBOX_AUTOCLOSE
+RusturfTunnel_EventScript_Mike:: @ 822D1B1
+ trainerbattle_single TRAINER_MIKE_2, RusturfTunnel_Text_MikeIntro, RusturfTunnel_Text_MikeDefeat
+ msgbox RusturfTunnel_Text_MikePostBattle, MSGBOX_AUTOCLOSE
end
-RusturfTunnel_Text_22D1C8: @ 822D1C8
+RusturfTunnel_Text_ComeAndGetSome: @ 822D1C8
.string "What, are you coming?\n"
.string "Come and get some, then!$"
-RusturfTunnel_Text_22D1F7: @ 822D1F7
+RusturfTunnel_Text_Peeko: @ 822D1F7
.string "PEEKO: Pii pihyoh!$"
-RusturfTunnel_Text_22D20A: @ 822D20A
+RusturfTunnel_Text_GruntIntro: @ 822D20A
.string "Grah, keelhaul it all!\p"
.string "That hostage POKéMON turned out to\n"
.string "be worthless!\p"
@@ -445,11 +445,11 @@ RusturfTunnel_Text_22D20A: @ 822D20A
.string "Hey! You!\n"
.string "So you want to battle me?$"
-RusturfTunnel_Text_22D2B0: @ 822D2B0
+RusturfTunnel_Text_GruntDefeat: @ 822D2B0
.string "Urrrggh! My career in crime comes to\n"
.string "a dead end!$"
-RusturfTunnel_Text_22D2E1: @ 822D2E1
+RusturfTunnel_Text_GruntTakePackage: @ 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"
@@ -458,11 +458,11 @@ RusturfTunnel_Text_22D2E1: @ 822D2E1
.string "Tch!\n"
.string "You want it back that badly, take it!$"
-RusturfTunnel_Text_22D395: @ 822D395
+RusturfTunnel_Text_PeekoGladToSeeYouSafe: @ 822D395
.string "PEEKO!\n"
.string "Am I glad to see you're safe!$"
-RusturfTunnel_Text_22D3BA: @ 822D3BA
+RusturfTunnel_Text_ThankYouLetsGoHomePeeko: @ 822D3BA
.string "PEEKO owes her life to you!\p"
.string "They call me MR. BRINEY.\n"
.string "And, you are?\p"
@@ -478,7 +478,7 @@ RusturfTunnel_Text_22D3BA: @ 822D3BA
.string "home.\p"
.string "PEEKO: Pihyoh!$"
-RusturfTunnel_Text_22D510: @ 822D510
+RusturfTunnel_Text_WhyCantTheyKeepDigging: @ 822D510
.string "… …\p"
.string "Why can't they keep digging?\n"
.string "Is the bedrock too hard?\p"
@@ -490,30 +490,30 @@ RusturfTunnel_Text_22D510: @ 822D510
.string "But this…\n"
.string "What am I to do?$"
-RusturfTunnel_Text_22D5F3: @ 822D5F3
+RusturfTunnel_Text_ToGetToVerdanturf: @ 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
+RusturfTunnel_Text_YouShatteredBoulderTakeHM: @ 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
+RusturfTunnel_Text_ExplainStrength: @ 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
+RusturfTunnel_Text_WandaReunion: @ 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
+RusturfTunnel_Text_BoyfriendOnOtherSideOfRock: @ 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"
@@ -521,17 +521,17 @@ RusturfTunnel_Text_22D7A3: @ 822D7A3
.string "He works his hands raw and rough\n"
.string "for the benefit of everyone.$"
-RusturfTunnel_Text_22D84D: @ 822D84D
+RusturfTunnel_Text_MikeIntro: @ 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
+RusturfTunnel_Text_MikeDefeat: @ 822D8DB
.string "My POKéMON…\n"
.string "Ran out of power…$"
-RusturfTunnel_Text_22D8F9: @ 822D8F9
+RusturfTunnel_Text_MikePostBattle: @ 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/maps/SSTidalCorridor/map.json b/data/maps/SSTidalCorridor/map.json
index ce6c3d2d0..3cf4b2cd0 100644
--- a/data/maps/SSTidalCorridor/map.json
+++ b/data/maps/SSTidalCorridor/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalCorridor_EventScript_23C119",
+ "script": "SSTidalCorridor_EventScript_ExitSailor",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalCorridor_EventScript_23C1A3",
+ "script": "SSTidalCorridor_EventScript_Sailor",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalCorridor_EventScript_23C0D9",
+ "script": "SSTidalCorridor_EventScript_Briney",
"flag": "FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalCorridor_EventScript_23C0E2",
+ "script": "SSTidalCorridor_EventScript_Peeko",
"flag": "FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY"
},
{
@@ -153,7 +153,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -161,7 +161,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -169,7 +169,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -177,7 +177,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -185,7 +185,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -193,7 +193,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -201,7 +201,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -209,7 +209,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalCorridor_EventScript_23C17D"
+ "script": "SSTidalCorridor_EventScript_Porthole"
},
{
"type": "sign",
@@ -217,7 +217,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "SSTidalCorridor_EventScript_23C0F5"
+ "script": "SSTidalCorridor_EventScript_Cabin1Sign"
},
{
"type": "sign",
@@ -225,7 +225,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "SSTidalCorridor_EventScript_23C0FE"
+ "script": "SSTidalCorridor_EventScript_Cabin2Sign"
},
{
"type": "sign",
@@ -233,7 +233,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "SSTidalCorridor_EventScript_23C107"
+ "script": "SSTidalCorridor_EventScript_Cabin3Sign"
},
{
"type": "sign",
@@ -241,7 +241,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "SSTidalCorridor_EventScript_23C110"
+ "script": "SSTidalCorridor_EventScript_Cabin4Sign"
}
]
} \ No newline at end of file
diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc
index ec231ccdd..a276be20f 100644
--- a/data/maps/SSTidalCorridor/scripts.inc
+++ b/data/maps/SSTidalCorridor/scripts.inc
@@ -1,218 +1,210 @@
SSTidalCorridor_MapScripts:: @ 823BFCF
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SSTidalCorridor_MapScript2_23BFD5
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SSTidalCorridor_OnFrame
.byte 0
-SSTidalCorridor_MapScript2_23BFD5: @ 823BFD5
- map_script_2 VAR_SS_TIDAL_SCOTT_STATE, 0, SSTidalCorridor_EventScript_23C219
- map_script_2 VAR_PORTHOLE_STATE, 1, SSTidalCorridor_EventScript_23BFFF
- map_script_2 VAR_PORTHOLE_STATE, 5, SSTidalCorridor_EventScript_23C015
- map_script_2 VAR_PORTHOLE_STATE, 9, SSTidalCorridor_EventScript_23C067
- map_script_2 VAR_PORTHOLE_STATE, 10, SSTidalCorridor_EventScript_23C07D
+SSTidalCorridor_OnFrame: @ 823BFD5
+ map_script_2 VAR_SS_TIDAL_SCOTT_STATE, 0, SSTidalCorridor_EventScript_ScottScene
+ map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_SLATEPORT, SSTidalCorridor_EventScript_DepartSlateportForLilycove
+ map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE, SSTidalCorridor_EventScript_DepartLilycoveForSlateport
+ map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_EXIT_CURRENTS_RIGHT, SSTidalCorridor_EventScript_HalfwayToLilycove
+ map_script_2 VAR_SS_TIDAL_STATE, SS_TIDAL_EXIT_CURRENTS_LEFT, SSTidalCorridor_EventScript_ArrivedInSlateport
.2byte 0
-SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF
+SSTidalCorridor_EventScript_DepartSlateportForLilycove:: @ 823BFFF
special SetSSTidalFlag
- setvar VAR_PORTHOLE_STATE, 2
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C462, MSGBOX_DEFAULT
+ msgbox SSTidal_Text_FastCurrentsHopeYouEnjoyVoyage, MSGBOX_DEFAULT
releaseall
end
-SSTidalCorridor_EventScript_23C015:: @ 823C015
- setvar VAR_PORTHOLE_STATE, 6
+SSTidalCorridor_EventScript_DepartLilycoveForSlateport:: @ 823C015
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_LILYCOVE
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C4E3, MSGBOX_DEFAULT
+ msgbox SSTidal_Text_HopeYouEnjoyVoyage, MSGBOX_DEFAULT
releaseall
end
-SSTidalRooms_EventScript_23C028:: @ 823C028
+SSTidalRooms_EventScript_HalfwayToSlateport:: @ 823C028
special SetSSTidalFlag
- setvar VAR_PORTHOLE_STATE, 7
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT
playse SE_PINPON
- msgbox SSTidalRooms_Text_23C462, MSGBOX_DEFAULT
+ msgbox SSTidal_Text_FastCurrentsHopeYouEnjoyVoyage, MSGBOX_DEFAULT
return
-SSTidalRooms_EventScript_23C03C:: @ 823C03C
+SSTidalRooms_EventScript_ArrivedInLilycove:: @ 823C03C
special ResetSSTidalFlag
- setvar VAR_PORTHOLE_STATE, 4
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_LILYCOVE
playse SE_PINPON
- msgbox SSTidalRooms_Text_23C553, MSGBOX_DEFAULT
+ msgbox SSTidal_Text_MadeLandInLilycove, MSGBOX_DEFAULT
return
-SSTidalCorridor_EventScript_23C050:: @ 823C050
- compare VAR_PORTHOLE_STATE, 2
- goto_if_eq SSTidalCorridor_EventScript_23C067
- compare VAR_PORTHOLE_STATE, 7
- goto_if_eq SSTidalCorridor_EventScript_23C07D
+SSTidalCorridor_EventScript_ReachedStepCount:: @ 823C050
+ compare VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT
+ goto_if_eq SSTidalCorridor_EventScript_HalfwayToLilycove
+ compare VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT
+ goto_if_eq SSTidalCorridor_EventScript_ArrivedInSlateport
end
-SSTidalCorridor_EventScript_23C067:: @ 823C067
+SSTidalCorridor_EventScript_HalfwayToLilycove:: @ 823C067
special ResetSSTidalFlag
- setvar VAR_PORTHOLE_STATE, 3
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_LILYCOVE
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C4E3, MSGBOX_DEFAULT
+ msgbox SSTidal_Text_HopeYouEnjoyVoyage, MSGBOX_DEFAULT
releaseall
end
-SSTidalCorridor_EventScript_23C07D:: @ 823C07D
+SSTidalCorridor_EventScript_ArrivedInSlateport:: @ 823C07D
special ResetSSTidalFlag
- setvar VAR_PORTHOLE_STATE, 8
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C50F, MSGBOX_DEFAULT
+ msgbox SSTidal_Text_MadeLandInSlateport, MSGBOX_DEFAULT
releaseall
end
-SSTidalRooms_EventScript_23C093:: @ 823C093
+SSTidalRooms_EventScript_ArrivedInSlateport:: @ 823C093
special ResetSSTidalFlag
- setvar VAR_PORTHOLE_STATE, 8
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT
playse SE_PINPON
- msgbox SSTidalRooms_Text_23C50F, MSGBOX_DEFAULT
+ msgbox SSTidal_Text_MadeLandInSlateport, MSGBOX_DEFAULT
return
-SSTidalRooms_EventScript_23C0A7:: @ 823C0A7
- switch VAR_PORTHOLE_STATE
- case 2, SSTidalRooms_EventScript_23C03C
- case 3, SSTidalRooms_EventScript_23C03C
- case 6, SSTidalRooms_EventScript_23C028
- case 7, SSTidalRooms_EventScript_23C093
+SSTidalRooms_EventScript_ProgessCruiseAfterBed:: @ 823C0A7
+ switch VAR_SS_TIDAL_STATE
+ case SS_TIDAL_DEPART_SLATEPORT, SSTidalRooms_EventScript_ArrivedInLilycove
+ case SS_TIDAL_HALFWAY_LILYCOVE, SSTidalRooms_EventScript_ArrivedInLilycove
+ case SS_TIDAL_DEPART_LILYCOVE, SSTidalRooms_EventScript_HalfwayToSlateport
+ case SS_TIDAL_HALFWAY_SLATEPORT, SSTidalRooms_EventScript_ArrivedInSlateport
return
-SSTidalCorridor_EventScript_23C0D9:: @ 823C0D9
- msgbox SSTidalCorridor_Text_23C6EC, MSGBOX_NPC
+SSTidalCorridor_EventScript_Briney:: @ 823C0D9
+ msgbox SSTidalCorridor_Text_BrineyWelcomeAboard, MSGBOX_NPC
end
-SSTidalCorridor_EventScript_23C0E2:: @ 823C0E2
+SSTidalCorridor_EventScript_Peeko:: @ 823C0E2
lock
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox SSTidalCorridor_Text_23C7E1, MSGBOX_DEFAULT
+ msgbox SSTidalCorridor_Text_Peeko, MSGBOX_DEFAULT
waitmoncry
release
end
-SSTidalCorridor_EventScript_23C0F5:: @ 823C0F5
- msgbox SSTidalCorridor_Text_23C7F8, MSGBOX_SIGN
+SSTidalCorridor_EventScript_Cabin1Sign:: @ 823C0F5
+ msgbox SSTidalCorridor_Text_Cabin1, MSGBOX_SIGN
end
-SSTidalCorridor_EventScript_23C0FE:: @ 823C0FE
- msgbox SSTidalCorridor_Text_23C800, MSGBOX_SIGN
+SSTidalCorridor_EventScript_Cabin2Sign:: @ 823C0FE
+ msgbox SSTidalCorridor_Text_Cabin2, MSGBOX_SIGN
end
-SSTidalCorridor_EventScript_23C107:: @ 823C107
- msgbox SSTidalCorridor_Text_23C808, MSGBOX_SIGN
+SSTidalCorridor_EventScript_Cabin3Sign:: @ 823C107
+ msgbox SSTidalCorridor_Text_Cabin3, MSGBOX_SIGN
end
-SSTidalCorridor_EventScript_23C110:: @ 823C110
- msgbox SSTidalCorridor_Text_23C810, MSGBOX_SIGN
+SSTidalCorridor_EventScript_Cabin4Sign:: @ 823C110
+ msgbox SSTidalCorridor_Text_Cabin4, MSGBOX_SIGN
end
-SSTidalCorridor_EventScript_23C119:: @ 823C119
+SSTidalCorridor_EventScript_ExitSailor:: @ 823C119
lock
faceplayer
- compare VAR_PORTHOLE_STATE, 4
- goto_if_eq SSTidalCorridor_EventScript_23C13B
- compare VAR_PORTHOLE_STATE, 8
- goto_if_eq SSTidalCorridor_EventScript_23C15A
- msgbox SSTidalCorridor_Text_23C596, MSGBOX_DEFAULT
+ compare VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_LILYCOVE
+ goto_if_eq SSTidalCorridor_EventScript_ExitLilycove
+ compare VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT
+ goto_if_eq SSTidalCorridor_EventScript_ExitSlateport
+ msgbox SSTidalCorridor_Text_CanRestInCabin2, MSGBOX_DEFAULT
release
end
-SSTidalCorridor_EventScript_23C13B:: @ 823C13B
+SSTidalCorridor_EventScript_ExitLilycove:: @ 823C13B
setrespawn HEAL_LOCATION_LILYCOVE_CITY
- msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT
- call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_23C179
+ msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT
+ call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-SSTidalCorridor_EventScript_23C15A:: @ 823C15A
+SSTidalCorridor_EventScript_ExitSlateport:: @ 823C15A
setrespawn HEAL_LOCATION_SLATEPORT_CITY
- msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT
- call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_23C179
+ msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT
+ call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver
warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-SSTidalCorridor_EventScript_23C179:: @ 823C179
+SSTidalCorridor_EventScript_HideSnatchGiver:: @ 823C179
setflag FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER
return
-SSTidalCorridor_EventScript_23C17D:: @ 823C17D
+SSTidalCorridor_EventScript_Porthole:: @ 823C17D
lockall
- compare VAR_PORTHOLE_STATE, 2
- goto_if_eq SSTidalCorridor_EventScript_23C19E
- compare VAR_PORTHOLE_STATE, 7
- goto_if_eq SSTidalCorridor_EventScript_23C19E
- msgbox SSTidalCorridor_Text_23C6C3, MSGBOX_DEFAULT
+ compare VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT
+ goto_if_eq SSTidalCorridor_EventScript_LookThroughPorthole
+ compare VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT
+ goto_if_eq SSTidalCorridor_EventScript_LookThroughPorthole
+ msgbox SSTidalCorridor_Text_HorizonSpreadsBeyondPorthole, MSGBOX_DEFAULT
releaseall
end
-SSTidalCorridor_EventScript_23C19E:: @ 823C19E
- special sub_80FB7A4
+SSTidalCorridor_EventScript_LookThroughPorthole:: @ 823C19E
+ special LookThroughPorthole
waitstate
end
-SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3
+SSTidalCorridor_EventScript_Sailor:: @ 823C1A3
lock
faceplayer
- goto_if_set FLAG_DEFEATED_SS_TIDAL_TRAINERS, SSTidalCorridor_EventScript_23C1BD
- call SSTidalCorridor_EventScript_23C1C7
- msgbox SSTidalCorridor_Text_23C65E, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_SS_TIDAL_TRAINERS, SSTidalCorridor_EventScript_EnjoyYourCruise
+ call SSTidalCorridor_EventScript_CheckIfTrainersDefeated
+ msgbox SSTidalCorridor_Text_VisitOtherCabins, MSGBOX_DEFAULT
release
end
-SSTidalCorridor_EventScript_23C1BD:: @ 823C1BD
- msgbox SSTidalCorridor_Text_23C6B0, MSGBOX_DEFAULT
+SSTidalCorridor_EventScript_EnjoyYourCruise:: @ 823C1BD
+ msgbox SSTidalCorridor_Text_EnjoyYourCruise, MSGBOX_DEFAULT
release
end
-SSTidalCorridor_EventScript_23C1C7:: @ 823C1C7
- checktrainerflag TRAINER_PHILLIP
- goto_if_lt SSTidalCorridor_EventScript_23C218
- checktrainerflag TRAINER_LEONARD
- goto_if_lt SSTidalCorridor_EventScript_23C218
- checktrainerflag TRAINER_COLTON
- goto_if_lt SSTidalCorridor_EventScript_23C218
- checktrainerflag TRAINER_MICAH
- goto_if_lt SSTidalCorridor_EventScript_23C218
- checktrainerflag TRAINER_THOMAS
- goto_if_lt SSTidalCorridor_EventScript_23C218
- checktrainerflag TRAINER_LEA_AND_JED
- goto_if_lt SSTidalCorridor_EventScript_23C218
- checktrainerflag TRAINER_GARRET
- goto_if_lt SSTidalCorridor_EventScript_23C218
- checktrainerflag TRAINER_NAOMI
- goto_if_lt SSTidalCorridor_EventScript_23C218
+SSTidalCorridor_EventScript_CheckIfTrainersDefeated:: @ 823C1C7
+ goto_if_not_defeated TRAINER_PHILLIP, SSTidalCorridor_EventScript_TrainerNotDefeated
+ goto_if_not_defeated TRAINER_LEONARD, SSTidalCorridor_EventScript_TrainerNotDefeated
+ goto_if_not_defeated TRAINER_COLTON, SSTidalCorridor_EventScript_TrainerNotDefeated
+ goto_if_not_defeated TRAINER_MICAH, SSTidalCorridor_EventScript_TrainerNotDefeated
+ goto_if_not_defeated TRAINER_THOMAS, SSTidalCorridor_EventScript_TrainerNotDefeated
+ goto_if_not_defeated TRAINER_LEA_AND_JED, SSTidalCorridor_EventScript_TrainerNotDefeated
+ goto_if_not_defeated TRAINER_GARRET, SSTidalCorridor_EventScript_TrainerNotDefeated
+ goto_if_not_defeated TRAINER_NAOMI, SSTidalCorridor_EventScript_TrainerNotDefeated
setflag FLAG_DEFEATED_SS_TIDAL_TRAINERS
- goto SSTidalCorridor_EventScript_23C1BD
+ goto SSTidalCorridor_EventScript_EnjoyYourCruise
return
-SSTidalCorridor_EventScript_23C218:: @ 823C218
+SSTidalCorridor_EventScript_TrainerNotDefeated:: @ 823C218
return
-SSTidalCorridor_EventScript_23C219:: @ 823C219
+SSTidalCorridor_EventScript_ScottScene:: @ 823C219
lockall
- applymovement 5, SSTidalCorridor_Movement_23C26D
+ applymovement 5, SSTidalCorridor_Movement_ScottApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox SSTidalCorridor_Text_23C28F, MSGBOX_DEFAULT
+ msgbox SSTidalCorridor_Text_ScottBattleFrontierInvite, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_23C27D
- applymovement 1, SSTidalCorridor_Movement_23C284
- applymovement 5, SSTidalCorridor_Movement_23C275
+ applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_PlayerWatchScottExit
+ applymovement 1, SSTidalCorridor_Movement_SailorMoveForScott
+ applymovement 5, SSTidalCorridor_Movement_ScottExit
waitmovement 0
playse SE_KAIDAN
waitse
removeobject 5
- applymovement 1, SSTidalCorridor_Movement_23C28B
+ applymovement 1, SSTidalCorridor_Movement_SailorReturn
waitmovement 0
delay 30
setflag FLAG_MET_SCOTT_ON_SS_TIDAL
@@ -220,7 +212,7 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219
releaseall
end
-SSTidalCorridor_Movement_23C26D: @ 823C26D
+SSTidalCorridor_Movement_ScottApproachPlayer: @ 823C26D
walk_left
walk_left
walk_left
@@ -230,7 +222,7 @@ SSTidalCorridor_Movement_23C26D: @ 823C26D
walk_left
step_end
-SSTidalCorridor_Movement_23C275: @ 823C275
+SSTidalCorridor_Movement_ScottExit: @ 823C275
walk_in_place_fastest_down
delay_16
delay_16
@@ -240,7 +232,7 @@ SSTidalCorridor_Movement_23C275: @ 823C275
walk_left
step_end
-SSTidalCorridor_Movement_23C27D: @ 823C27D
+SSTidalCorridor_Movement_PlayerWatchScottExit: @ 823C27D
delay_16
delay_16
delay_16
@@ -249,7 +241,7 @@ SSTidalCorridor_Movement_23C27D: @ 823C27D
walk_in_place_fastest_down
step_end
-SSTidalCorridor_Movement_23C284: @ 823C284
+SSTidalCorridor_Movement_SailorMoveForScott: @ 823C284
delay_16
walk_right
walk_right
@@ -258,13 +250,13 @@ SSTidalCorridor_Movement_23C284: @ 823C284
walk_in_place_fastest_left
step_end
-SSTidalCorridor_Movement_23C28B: @ 823C28B
+SSTidalCorridor_Movement_SailorReturn: @ 823C28B
walk_left
walk_left
walk_in_place_fastest_up
step_end
-SSTidalCorridor_Text_23C28F: @ 823C28F
+SSTidalCorridor_Text_ScottBattleFrontierInvite: @ 823C28F
.string "SCOTT: Well, hi, hi!\n"
.string "{PLAYER}{KUN}, {PLAYER}{KUN}!\p"
.string "Something's come up, so I have to\n"
@@ -284,27 +276,25 @@ SSTidalCorridor_Text_23C28F: @ 823C28F
.string "Okay, {PLAYER}{KUN}, I'll be waiting for you\n"
.string "at the BATTLE FRONTIER!$"
-SSTidalCorridor_Text_23C462: @ 823C462
-SSTidalRooms_Text_23C462: @ 823C462
+SSTidal_Text_FastCurrentsHopeYouEnjoyVoyage: @ 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
+SSTidal_Text_HopeYouEnjoyVoyage: @ 823C4E3
.string "We hope you enjoy your voyage on\n"
.string "our ferry.$"
-SSTidalCorridor_Text_23C50F: @ 823C50F
-SSTidalRooms_Text_23C50F: @ 823C50F
+SSTidal_Text_MadeLandInSlateport: @ 823C50F
.string "We have made land in SLATEPORT CITY.\n"
.string "Thank you for sailing with us.$"
-SSTidalRooms_Text_23C553: @ 823C553
+SSTidal_Text_MadeLandInLilycove: @ 823C553
.string "We have made land in LILYCOVE CITY.\n"
.string "Thank you for sailing with us.$"
-SSTidalCorridor_Text_23C596: @ 823C596
+SSTidalCorridor_Text_CanRestInCabin2: @ 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"
@@ -312,22 +302,22 @@ SSTidalCorridor_Text_23C596: @ 823C596
.string "The bed in there is soft and plushy.\n"
.string "I can attest to how comfy it is!$"
-SSTidalCorridor_Text_23C64F: @ 823C64F
+SSTidalCorridor_Text_WeveArrived: @ 823C64F
.string "We've arrived!$"
-SSTidalCorridor_Text_23C65E: @ 823C65E
+SSTidalCorridor_Text_VisitOtherCabins: @ 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
+SSTidalCorridor_Text_EnjoyYourCruise: @ 823C6B0
.string "Enjoy your cruise!$"
-SSTidalCorridor_Text_23C6C3: @ 823C6C3
+SSTidalCorridor_Text_HorizonSpreadsBeyondPorthole: @ 823C6C3
.string "The horizon spreads beyond\n"
.string "the porthole.$"
-SSTidalCorridor_Text_23C6EC: @ 823C6EC
+SSTidalCorridor_Text_BrineyWelcomeAboard: @ 823C6EC
.string "MR. BRINEY: Welcome aboard, {PLAYER}{KUN}!\p"
.string "They made me honorary captain of\n"
.string "the S.S. TIDAL!\p"
@@ -337,17 +327,17 @@ SSTidalCorridor_Text_23C6EC: @ 823C6EC
.string "Let me just say, it stirred my sleeping\n"
.string "soul as a sailor!$"
-SSTidalCorridor_Text_23C7E1: @ 823C7E1
+SSTidalCorridor_Text_Peeko: @ 823C7E1
.string "PEEKO: Pihyo pihyohyo…$"
-SSTidalCorridor_Text_23C7F8: @ 823C7F8
+SSTidalCorridor_Text_Cabin1: @ 823C7F8
.string "Cabin 1$"
-SSTidalCorridor_Text_23C800: @ 823C800
+SSTidalCorridor_Text_Cabin2: @ 823C800
.string "Cabin 2$"
-SSTidalCorridor_Text_23C808: @ 823C808
+SSTidalCorridor_Text_Cabin3: @ 823C808
.string "Cabin 3$"
-SSTidalCorridor_Text_23C810: @ 823C810
+SSTidalCorridor_Text_Cabin4: @ 823C810
.string "Cabin 4$"
diff --git a/data/maps/SSTidalLowerDeck/map.json b/data/maps/SSTidalLowerDeck/map.json
index 3e678ca8c..45610454a 100644
--- a/data/maps/SSTidalLowerDeck/map.json
+++ b/data/maps/SSTidalLowerDeck/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SSTidalLowerDeck_EventScript_23C819",
+ "script": "SSTidalLowerDeck_EventScript_Phillip",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 4,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SSTidalLowerDeck_EventScript_23C830",
+ "script": "SSTidalLowerDeck_EventScript_Leonard",
"flag": "0"
}
],
diff --git a/data/maps/SSTidalLowerDeck/scripts.inc b/data/maps/SSTidalLowerDeck/scripts.inc
index 68761376d..c90366c23 100644
--- a/data/maps/SSTidalLowerDeck/scripts.inc
+++ b/data/maps/SSTidalLowerDeck/scripts.inc
@@ -1,38 +1,38 @@
SSTidalLowerDeck_MapScripts:: @ 823C818
.byte 0
-SSTidalLowerDeck_EventScript_23C819:: @ 823C819
- trainerbattle_single TRAINER_PHILLIP, SSTidalLowerDeck_Text_23C847, SSTidalLowerDeck_Text_23C8A0
- msgbox SSTidalLowerDeck_Text_23C8B4, MSGBOX_AUTOCLOSE
+SSTidalLowerDeck_EventScript_Phillip:: @ 823C819
+ trainerbattle_single TRAINER_PHILLIP, SSTidalLowerDeck_Text_PhillipIntro, SSTidalLowerDeck_Text_PhillipDefeat
+ msgbox SSTidalLowerDeck_Text_PhillipPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalLowerDeck_EventScript_23C830:: @ 823C830
- trainerbattle_single TRAINER_LEONARD, SSTidalLowerDeck_Text_23C917, SSTidalLowerDeck_Text_23C97D
- msgbox SSTidalLowerDeck_Text_23C98E, MSGBOX_AUTOCLOSE
+SSTidalLowerDeck_EventScript_Leonard:: @ 823C830
+ trainerbattle_single TRAINER_LEONARD, SSTidalLowerDeck_Text_LeonardIntro, SSTidalLowerDeck_Text_LeonardDefeat
+ msgbox SSTidalLowerDeck_Text_LeonardPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalLowerDeck_Text_23C847: @ 823C847
+SSTidalLowerDeck_Text_PhillipIntro: @ 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
+SSTidalLowerDeck_Text_PhillipDefeat: @ 823C8A0
.string "Little bro, I lost!$"
-SSTidalLowerDeck_Text_23C8B4: @ 823C8B4
+SSTidalLowerDeck_Text_PhillipPostBattle: @ 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
+SSTidalLowerDeck_Text_LeonardIntro: @ 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
+SSTidalLowerDeck_Text_LeonardDefeat: @ 823C97D
.string "Big bro, I lost!$"
-SSTidalLowerDeck_Text_23C98E: @ 823C98E
+SSTidalLowerDeck_Text_LeonardPostBattle: @ 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/maps/SSTidalRooms/map.json b/data/maps/SSTidalRooms/map.json
index 8fb4bd05d..b2da534c3 100644
--- a/data/maps/SSTidalRooms/map.json
+++ b/data/maps/SSTidalRooms/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalRooms_EventScript_23CA49",
+ "script": "SSTidalRooms_EventScript_Colton",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SSTidalRooms_EventScript_23CA60",
+ "script": "SSTidalRooms_EventScript_Micah",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalRooms_EventScript_23CA77",
+ "script": "SSTidalRooms_EventScript_Thomas",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "SSTidalRooms_EventScript_23CA8E",
+ "script": "SSTidalRooms_EventScript_Jed",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "SSTidalRooms_EventScript_23CAA9",
+ "script": "SSTidalRooms_EventScript_Lea",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SSTidalRooms_EventScript_23CAC4",
+ "script": "SSTidalRooms_EventScript_Garret",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalRooms_EventScript_23CADB",
+ "script": "SSTidalRooms_EventScript_Naomi",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SSTidalRooms_EventScript_23C9F2",
+ "script": "SSTidalRooms_EventScript_SnatchGiver",
"flag": "FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER"
}
],
@@ -213,7 +213,7 @@
"y": 11,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalRooms_EventScript_23CA33"
+ "script": "SSTidalRooms_EventScript_Bed"
},
{
"type": "sign",
@@ -221,7 +221,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SSTidalRooms_EventScript_23CA33"
+ "script": "SSTidalRooms_EventScript_Bed"
}
]
} \ No newline at end of file
diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc
index 3b8df90a3..1cf464d0d 100644
--- a/data/maps/SSTidalRooms/scripts.inc
+++ b/data/maps/SSTidalRooms/scripts.inc
@@ -1,175 +1,175 @@
SSTidalRooms_MapScripts:: @ 823C9F1
.byte 0
-SSTidalRooms_EventScript_23C9F2:: @ 823C9F2
+SSTidalRooms_EventScript_SnatchGiver:: @ 823C9F2
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_23CA29
- msgbox SSTidalRooms_Text_23D098, MSGBOX_DEFAULT
- giveitem_std ITEM_TM49
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_ExplainSnatch
+ msgbox SSTidalRooms_Text_NotSuspiciousTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM49
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM49
- msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT
+ msgbox SSTidalRooms_Text_ExplainSnatch, MSGBOX_DEFAULT
release
end
-SSTidalRooms_EventScript_23CA29:: @ 823CA29
- msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT
+SSTidalRooms_EventScript_ExplainSnatch:: @ 823CA29
+ msgbox SSTidalRooms_Text_ExplainSnatch, MSGBOX_DEFAULT
release
end
-SSTidalRooms_EventScript_23CA33:: @ 823CA33
+SSTidalRooms_EventScript_Bed:: @ 823CA33
lockall
- msgbox SSTidalRooms_Text_23CAF2, MSGBOX_DEFAULT
+ msgbox SSTidalRooms_Text_TakeRestOnBed, MSGBOX_DEFAULT
closemessage
call Common_EventScript_OutOfCenterPartyHeal
- call SSTidalRooms_EventScript_23C0A7
+ call SSTidalRooms_EventScript_ProgessCruiseAfterBed
releaseall
end
-SSTidalRooms_EventScript_23CA49:: @ 823CA49
- trainerbattle_single TRAINER_COLTON, SSTidalRooms_Text_23CB14, SSTidalRooms_Text_23CB58
- msgbox SSTidalRooms_Text_23CB75, MSGBOX_AUTOCLOSE
+SSTidalRooms_EventScript_Colton:: @ 823CA49
+ trainerbattle_single TRAINER_COLTON, SSTidalRooms_Text_ColtonIntro, SSTidalRooms_Text_ColtonDefeat
+ msgbox SSTidalRooms_Text_ColtonPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalRooms_EventScript_23CA60:: @ 823CA60
- trainerbattle_single TRAINER_MICAH, SSTidalRooms_Text_23CBEB, SSTidalRooms_Text_23CC04
- msgbox SSTidalRooms_Text_23CC26, MSGBOX_AUTOCLOSE
+SSTidalRooms_EventScript_Micah:: @ 823CA60
+ trainerbattle_single TRAINER_MICAH, SSTidalRooms_Text_MicahIntro, SSTidalRooms_Text_MicahDefeat
+ msgbox SSTidalRooms_Text_MicahPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalRooms_EventScript_23CA77:: @ 823CA77
- trainerbattle_single TRAINER_THOMAS, SSTidalRooms_Text_23CC68, SSTidalRooms_Text_23CC8A
- msgbox SSTidalRooms_Text_23CCBB, MSGBOX_AUTOCLOSE
+SSTidalRooms_EventScript_Thomas:: @ 823CA77
+ trainerbattle_single TRAINER_THOMAS, SSTidalRooms_Text_ThomasIntro, SSTidalRooms_Text_ThomasDefeat
+ msgbox SSTidalRooms_Text_ThomasPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalRooms_EventScript_23CA8E:: @ 823CA8E
- trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_23CD04, SSTidalRooms_Text_23CD54, SSTidalRooms_Text_23CDC6
- msgbox SSTidalRooms_Text_23CD5F, MSGBOX_AUTOCLOSE
+SSTidalRooms_EventScript_Jed:: @ 823CA8E
+ trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_JedIntro, SSTidalRooms_Text_JedDefeat, SSTidalRooms_Text_JedNotEnoughMons
+ msgbox SSTidalRooms_Text_JedPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalRooms_EventScript_23CAA9:: @ 823CAA9
- trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_23CE04, SSTidalRooms_Text_23CE4B, SSTidalRooms_Text_23CEB0
- msgbox SSTidalRooms_Text_23CE59, MSGBOX_AUTOCLOSE
+SSTidalRooms_EventScript_Lea:: @ 823CAA9
+ trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_LeaIntro, SSTidalRooms_Text_LeaDefeat, SSTidalRooms_Text_LeaNotEnoughMons
+ msgbox SSTidalRooms_Text_LeaPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalRooms_EventScript_23CAC4:: @ 823CAC4
- trainerbattle_single TRAINER_GARRET, SSTidalRooms_Text_23CEEE, SSTidalRooms_Text_23CF36
- msgbox SSTidalRooms_Text_23CF45, MSGBOX_AUTOCLOSE
+SSTidalRooms_EventScript_Garret:: @ 823CAC4
+ trainerbattle_single TRAINER_GARRET, SSTidalRooms_Text_GarretIntro, SSTidalRooms_Text_GarretDefeat
+ msgbox SSTidalRooms_Text_GarretPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalRooms_EventScript_23CADB:: @ 823CADB
- trainerbattle_single TRAINER_NAOMI, SSTidalRooms_Text_23CF97, SSTidalRooms_Text_23CFF4
- msgbox SSTidalRooms_Text_23D013, MSGBOX_AUTOCLOSE
+SSTidalRooms_EventScript_Naomi:: @ 823CADB
+ trainerbattle_single TRAINER_NAOMI, SSTidalRooms_Text_NaomiIntro, SSTidalRooms_Text_NaomiDefeat
+ msgbox SSTidalRooms_Text_NaomiPostBattle, MSGBOX_AUTOCLOSE
end
-SSTidalRooms_Text_23CAF2: @ 823CAF2
+SSTidalRooms_Text_TakeRestOnBed: @ 823CAF2
.string "There's a bed…\n"
.string "Let's take a rest.$"
-SSTidalRooms_Text_23CB14: @ 823CB14
+SSTidalRooms_Text_ColtonIntro: @ 823CB14
.string "I often sail to LILYCOVE CITY.\p"
.string "I enjoy attending CONTESTS,\n"
.string "you see.$"
-SSTidalRooms_Text_23CB58: @ 823CB58
+SSTidalRooms_Text_ColtonDefeat: @ 823CB58
.string "That was an enjoyable match!$"
-SSTidalRooms_Text_23CB75: @ 823CB75
+SSTidalRooms_Text_ColtonPostBattle: @ 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
+SSTidalRooms_Text_MicahIntro: @ 823CBEB
.string "Are your friends strong?$"
-SSTidalRooms_Text_23CC04: @ 823CC04
+SSTidalRooms_Text_MicahDefeat: @ 823CC04
.string "Your friends are, indeed, strong.$"
-SSTidalRooms_Text_23CC26: @ 823CC26
+SSTidalRooms_Text_MicahPostBattle: @ 823CC26
.string "Friends need not be human.\n"
.string "For me, POKéMON are treasured friends!$"
-SSTidalRooms_Text_23CC68: @ 823CC68
+SSTidalRooms_Text_ThomasIntro: @ 823CC68
.string "Child…\n"
.string "Did you knock on the door?$"
-SSTidalRooms_Text_23CC8A: @ 823CC8A
+SSTidalRooms_Text_ThomasDefeat: @ 823CC8A
.string "A loss is to be accepted without haste\n"
.string "or panic.$"
-SSTidalRooms_Text_23CCBB: @ 823CCBB
+SSTidalRooms_Text_ThomasPostBattle: @ 823CCBB
.string "To be never ruffled in any situation is\n"
.string "the GENTLEMAN's code of conduct.$"
-SSTidalRooms_Text_23CD04: @ 823CD04
+SSTidalRooms_Text_JedIntro: @ 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
+SSTidalRooms_Text_JedDefeat: @ 823CD54
.string "JED: Sigh…$"
-SSTidalRooms_Text_23CD5F: @ 823CD5F
+SSTidalRooms_Text_JedPostBattle: @ 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
+SSTidalRooms_Text_JedNotEnoughMons: @ 823CDC6
.string "JED: You only have one POKéMON?\n"
.string "Isn't that just too lonesome?$"
-SSTidalRooms_Text_23CE04: @ 823CE04
+SSTidalRooms_Text_LeaIntro: @ 823CE04
.string "LEA: I feel a little silly, but…\n"
.string "We'll show you our lovey-dovey power!$"
-SSTidalRooms_Text_23CE4B: @ 823CE4B
+SSTidalRooms_Text_LeaDefeat: @ 823CE4B
.string "LEA: Oh, boo!$"
-SSTidalRooms_Text_23CE59: @ 823CE59
+SSTidalRooms_Text_LeaPostBattle: @ 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
+SSTidalRooms_Text_LeaNotEnoughMons: @ 823CEB0
.string "LEA: I wanted to battle…\n"
.string "But you don't even have two POKéMON…$"
-SSTidalRooms_Text_23CEEE: @ 823CEEE
+SSTidalRooms_Text_GarretIntro: @ 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
+SSTidalRooms_Text_GarretDefeat: @ 823CF36
.string "…That will do.$"
-SSTidalRooms_Text_23CF45: @ 823CF45
+SSTidalRooms_Text_GarretPostBattle: @ 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
+SSTidalRooms_Text_NaomiIntro: @ 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
+SSTidalRooms_Text_NaomiDefeat: @ 823CFF4
.string "I see.\n"
.string "You're the active sort.$"
-SSTidalRooms_Text_23D013: @ 823D013
+SSTidalRooms_Text_NaomiPostBattle: @ 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
+SSTidalRooms_Text_NotSuspiciousTakeThis: @ 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
+SSTidalRooms_Text_ExplainSnatch: @ 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/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json
index 0dafeb180..90ecec8c2 100644
--- a/data/maps/SafariZone_North/map.json
+++ b/data/maps/SafariZone_North/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_23D254",
+ "script": "SafariZone_North_EventScript_Fisherman",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_North_EventScript_23D25D",
+ "script": "SafariZone_North_EventScript_Man",
"flag": "0"
},
{
diff --git a/data/maps/SafariZone_North/scripts.inc b/data/maps/SafariZone_North/scripts.inc
index d98fdca88..365266b4b 100644
--- a/data/maps/SafariZone_North/scripts.inc
+++ b/data/maps/SafariZone_North/scripts.inc
@@ -1,11 +1,11 @@
SafariZone_North_MapScripts:: @ 823D253
.byte 0
-SafariZone_North_EventScript_23D254:: @ 823D254
- msgbox SafariZone_North_Text_2A5489, MSGBOX_NPC
+SafariZone_North_EventScript_Fisherman:: @ 823D254
+ msgbox SafariZone_North_Text_Fisherman, MSGBOX_NPC
end
-SafariZone_North_EventScript_23D25D:: @ 823D25D
- msgbox SafariZone_North_Text_2A54F0, MSGBOX_NPC
+SafariZone_North_EventScript_Man:: @ 823D25D
+ msgbox SafariZone_North_Text_Man, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json
index 798563263..d362f8de3 100644
--- a/data/maps/SafariZone_Northeast/map.json
+++ b/data/maps/SafariZone_Northeast/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_23D3C6",
+ "script": "SafariZone_Northeast_EventScript_Boy",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_23D3D8",
+ "script": "SafariZone_Northeast_EventScript_Girl",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northeast_EventScript_23D3CF",
+ "script": "SafariZone_Northeast_EventScript_Woman",
"flag": "0"
},
{
diff --git a/data/maps/SafariZone_Northeast/scripts.inc b/data/maps/SafariZone_Northeast/scripts.inc
index 207e2a584..a34d6ab95 100644
--- a/data/maps/SafariZone_Northeast/scripts.inc
+++ b/data/maps/SafariZone_Northeast/scripts.inc
@@ -1,3 +1,4 @@
SafariZone_Northeast_MapScripts:: @ 8242C02
.byte 0
+@ Event scripts for SafariZone_Northeast are in SafariZone_South/scripts.inc
diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json
index 6ead6d714..7805c872e 100644
--- a/data/maps/SafariZone_Northwest/map.json
+++ b/data/maps/SafariZone_Northwest/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Northwest_EventScript_23D24A",
+ "script": "SafariZone_Northwest_EventScript_Man",
"flag": "0"
},
{
diff --git a/data/maps/SafariZone_Northwest/scripts.inc b/data/maps/SafariZone_Northwest/scripts.inc
index a64c142fe..5e6261a2e 100644
--- a/data/maps/SafariZone_Northwest/scripts.inc
+++ b/data/maps/SafariZone_Northwest/scripts.inc
@@ -1,7 +1,7 @@
SafariZone_Northwest_MapScripts:: @ 823D249
.byte 0
-SafariZone_Northwest_EventScript_23D24A:: @ 823D24A
- msgbox SafariZone_Northwest_Text_2A542C, MSGBOX_NPC
+SafariZone_Northwest_EventScript_Man:: @ 823D24A
+ msgbox SafariZone_Northwest_Text_Man, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_RestHouse/map.json b/data/maps/SafariZone_RestHouse/map.json
index db0ba8048..fd9ae9dcb 100644
--- a/data/maps/SafariZone_RestHouse/map.json
+++ b/data/maps/SafariZone_RestHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_RestHouse_EventScript_242BE7",
+ "script": "SafariZone_RestHouse_EventScript_Youngster",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_RestHouse_EventScript_242BF0",
+ "script": "SafariZone_RestHouse_EventScript_PsychicM",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_RestHouse_EventScript_242BF9",
+ "script": "SafariZone_RestHouse_EventScript_FatMan",
"flag": "0"
}
],
diff --git a/data/maps/SafariZone_RestHouse/scripts.inc b/data/maps/SafariZone_RestHouse/scripts.inc
index e08cfe3da..bc5688f0f 100644
--- a/data/maps/SafariZone_RestHouse/scripts.inc
+++ b/data/maps/SafariZone_RestHouse/scripts.inc
@@ -1,15 +1,15 @@
SafariZone_RestHouse_MapScripts:: @ 8242BE6
.byte 0
-SafariZone_RestHouse_EventScript_242BE7:: @ 8242BE7
- msgbox SafariZone_RestHouse_Text_2A5639, MSGBOX_NPC
+SafariZone_RestHouse_EventScript_Youngster:: @ 8242BE7
+ msgbox SafariZone_RestHouse_Text_Youngster, MSGBOX_NPC
end
-SafariZone_RestHouse_EventScript_242BF0:: @ 8242BF0
- msgbox SafariZone_RestHouse_Text_2A56E1, MSGBOX_NPC
+SafariZone_RestHouse_EventScript_PsychicM:: @ 8242BF0
+ msgbox SafariZone_RestHouse_Text_PsychicM, MSGBOX_NPC
end
-SafariZone_RestHouse_EventScript_242BF9:: @ 8242BF9
- msgbox SafariZone_RestHouse_Text_2A5764, MSGBOX_NPC
+SafariZone_RestHouse_EventScript_FatMan:: @ 8242BF9
+ msgbox SafariZone_RestHouse_Text_FatMan, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_South/map.json b/data/maps/SafariZone_South/map.json
index 371be2119..b23420ba4 100644
--- a/data/maps/SafariZone_South/map.json
+++ b/data/maps/SafariZone_South/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_South_EventScript_23D2E5",
+ "script": "SafariZone_South_EventScript_ExitAttendant",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_South_EventScript_23D2CA",
+ "script": "SafariZone_South_EventScript_Boy",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_South_EventScript_23D2D3",
+ "script": "SafariZone_South_EventScript_Man",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_South_EventScript_23D2DC",
+ "script": "SafariZone_South_EventScript_Youngster",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_South_EventScript_23D390",
+ "script": "SafariZone_South_EventScript_ConstructionWorker1",
"flag": "FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_South_EventScript_23D3A2",
+ "script": "SafariZone_South_EventScript_ConstructionWorker2",
"flag": "FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS"
}
],
diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc
index 45273de12..ed3703449 100644
--- a/data/maps/SafariZone_South/scripts.inc
+++ b/data/maps/SafariZone_South/scripts.inc
@@ -1,17 +1,17 @@
SafariZone_South_MapScripts:: @ 823D279
map_script MAP_SCRIPT_ON_TRANSITION, SafariZone_South_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SafariZone_South_MapScript2_23D284
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SafariZone_South_OnFrame
.byte 0
-SafariZone_South_MapScript2_23D284: @ 823D284
- map_script_2 VAR_SAFARI_ZONE_STATE, 2, SafariZone_South_EventScript_23D28E
+SafariZone_South_OnFrame: @ 823D284
+ map_script_2 VAR_SAFARI_ZONE_STATE, 2, SafariZone_South_EventScript_EnterSafariZone
.2byte 0
-SafariZone_South_EventScript_23D28E:: @ 823D28E
+SafariZone_South_EventScript_EnterSafariZone:: @ 823D28E
lockall
- applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D2C5
+ applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_PlayerEnter
waitmovement 0
- applymovement 1, SafariZone_South_Movement_23D2C7
+ applymovement 1, SafariZone_South_Movement_ExitAttendantBlockDoor
waitmovement 0
setobjectxyperm 1, 32, 34
setvar VAR_SAFARI_ZONE_STATE, 0
@@ -20,133 +20,133 @@ SafariZone_South_EventScript_23D28E:: @ 823D28E
SafariZone_South_OnTransition: @ 823D2B1
compare VAR_SAFARI_ZONE_STATE, 2
- call_if_eq SafariZone_South_EventScript_23D2BD
+ call_if_eq SafariZone_South_EventScript_SetExitAttendantAside
end
-SafariZone_South_EventScript_23D2BD:: @ 823D2BD
+SafariZone_South_EventScript_SetExitAttendantAside:: @ 823D2BD
setobjectxyperm 1, 31, 34
return
-SafariZone_South_Movement_23D2C5: @ 823D2C5
+SafariZone_South_Movement_PlayerEnter: @ 823D2C5
walk_down
step_end
-SafariZone_South_Movement_23D2C7: @ 823D2C7
+SafariZone_South_Movement_ExitAttendantBlockDoor: @ 823D2C7
walk_right
walk_in_place_fastest_down
step_end
-SafariZone_South_EventScript_23D2CA:: @ 823D2CA
- msgbox SafariZone_South_Text_2A52EF, MSGBOX_NPC
+SafariZone_South_EventScript_Boy:: @ 823D2CA
+ msgbox SafariZone_South_Text_Boy, MSGBOX_NPC
end
-SafariZone_South_EventScript_23D2D3:: @ 823D2D3
- msgbox SafariZone_South_Text_2A533B, MSGBOX_NPC
+SafariZone_South_EventScript_Man:: @ 823D2D3
+ msgbox SafariZone_South_Text_Man, MSGBOX_NPC
end
-SafariZone_South_EventScript_23D2DC:: @ 823D2DC
- msgbox SafariZone_South_Text_2A553E, MSGBOX_NPC
+SafariZone_South_EventScript_Youngster:: @ 823D2DC
+ msgbox SafariZone_South_Text_Youngster, MSGBOX_NPC
end
-SafariZone_South_EventScript_23D2E5:: @ 823D2E5
+SafariZone_South_EventScript_ExitAttendant:: @ 823D2E5
lock
faceplayer
- goto_if_unset FLAG_GOOD_LUCK_SAFARI_ZONE, SafariZone_South_EventScript_23D30D
- msgbox SafariZone_South_Text_2A51D4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SafariZone_South_EventScript_23D31A
- msgbox SafariZone_South_Text_2A521A, MSGBOX_DEFAULT
+ goto_if_unset FLAG_GOOD_LUCK_SAFARI_ZONE, SafariZone_South_EventScript_GoodLuck
+ msgbox SafariZone_South_Text_StillHaveTimeExit, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SafariZone_South_EventScript_ExitEarly
+ msgbox SafariZone_South_Text_EnjoyTheRestOfYourAdventure, MSGBOX_DEFAULT
release
end
-SafariZone_South_EventScript_23D30D:: @ 823D30D
+SafariZone_South_EventScript_GoodLuck:: @ 823D30D
setflag FLAG_GOOD_LUCK_SAFARI_ZONE
- msgbox SafariZone_South_Text_2A52AB, MSGBOX_DEFAULT
+ msgbox SafariZone_South_Text_GoodLuck, MSGBOX_DEFAULT
release
end
-SafariZone_South_EventScript_23D31A:: @ 823D31A
- msgbox SafariZone_South_Text_2A5248, MSGBOX_DEFAULT
+SafariZone_South_EventScript_ExitEarly:: @ 823D31A
+ msgbox SafariZone_South_Text_ExitEarlyThankYouForPlaying, MSGBOX_DEFAULT
closemessage
switch VAR_FACING
- case 2, SafariZone_South_EventScript_23D33F
- case 4, SafariZone_South_EventScript_23D359
+ case DIR_NORTH, SafariZone_South_EventScript_ExitEarlyNorth
+ case DIR_EAST, SafariZone_South_EventScript_ExitEarlyEast
end
-SafariZone_South_EventScript_23D33F:: @ 823D33F
- applymovement 1, SafariZone_South_Movement_23D38A
+SafariZone_South_EventScript_ExitEarlyNorth:: @ 823D33F
+ applymovement 1, SafariZone_South_Movement_MoveExitAttendantNorth
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D385
+ applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_PlayerExitNorth
waitmovement 0
- goto SafariZone_South_EventScript_23D373
+ goto SafariZone_South_EventScript_Exit
end
-SafariZone_South_EventScript_23D359:: @ 823D359
- applymovement 1, SafariZone_South_Movement_23D38D
+SafariZone_South_EventScript_ExitEarlyEast:: @ 823D359
+ applymovement 1, SafariZone_South_Movement_MoveExitAttendantEast
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D387
+ applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_PlayerExitEast
waitmovement 0
- goto SafariZone_South_EventScript_23D373
+ goto SafariZone_South_EventScript_Exit
end
-SafariZone_South_EventScript_23D373:: @ 823D373
+SafariZone_South_EventScript_Exit:: @ 823D373
setvar VAR_SAFARI_ZONE_STATE, 1
special ExitSafariMode
warpdoor MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
waitstate
end
-SafariZone_South_Movement_23D385: @ 823D385
+SafariZone_South_Movement_PlayerExitNorth: @ 823D385
walk_up
step_end
-SafariZone_South_Movement_23D387: @ 823D387
+SafariZone_South_Movement_PlayerExitEast: @ 823D387
walk_right
walk_in_place_fastest_up
step_end
-SafariZone_South_Movement_23D38A: @ 823D38A
+SafariZone_South_Movement_MoveExitAttendantNorth: @ 823D38A
walk_left
walk_in_place_fastest_right
step_end
-SafariZone_South_Movement_23D38D: @ 823D38D
+SafariZone_South_Movement_MoveExitAttendantEast: @ 823D38D
walk_down
walk_in_place_fastest_up
step_end
-SafariZone_South_EventScript_23D390:: @ 823D390
- msgbox SafariZone_South_Text_2A57EE, MSGBOX_NPC
+SafariZone_South_EventScript_ConstructionWorker1:: @ 823D390
+ msgbox SafariZone_South_Text_AreaOffLimits1, MSGBOX_NPC
end
-SafariZone_Southeast_EventScript_23D399:: @ 823D399
- msgbox SafariZone_Southeast_Text_2A582D, MSGBOX_NPC
+SafariZone_Southeast_EventScript_ExpansionZoneAttendant:: @ 823D399
+ msgbox SafariZone_Southeast_Text_ExpansionIsFinished, MSGBOX_NPC
end
-SafariZone_South_EventScript_23D3A2:: @ 823D3A2
- msgbox SafariZone_South_Text_2A5887, MSGBOX_NPC
+SafariZone_South_EventScript_ConstructionWorker2:: @ 823D3A2
+ msgbox SafariZone_South_Text_AreaOffLimits2, MSGBOX_NPC
end
-SafariZone_Southeast_EventScript_23D3AB:: @ 823D3AB
- msgbox SafariZone_Southeast_Text_2A58C6, MSGBOX_NPC
+SafariZone_Southeast_EventScript_LittleGirl:: @ 823D3AB
+ msgbox SafariZone_Southeast_Text_LittleGirl, MSGBOX_NPC
end
-SafariZone_Southeast_EventScript_23D3B4:: @ 823D3B4
- msgbox SafariZone_Southeast_Text_2A58FD, MSGBOX_NPC
+SafariZone_Southeast_EventScript_FatMan:: @ 823D3B4
+ msgbox SafariZone_Southeast_Text_FatMan, MSGBOX_NPC
end
-SafariZone_Southeast_EventScript_23D3BD:: @ 823D3BD
- msgbox SafariZone_Southeast_Text_2A5960, MSGBOX_NPC
+SafariZone_Southeast_EventScript_RichBoy:: @ 823D3BD
+ msgbox SafariZone_Southeast_Text_RichBoy, MSGBOX_NPC
end
-SafariZone_Northeast_EventScript_23D3C6:: @ 823D3C6
- msgbox SafariZone_Northeast_Text_2A59A4, MSGBOX_NPC
+SafariZone_Northeast_EventScript_Boy:: @ 823D3C6
+ msgbox SafariZone_Northeast_Text_Boy, MSGBOX_NPC
end
-SafariZone_Northeast_EventScript_23D3CF:: @ 823D3CF
- msgbox SafariZone_Northeast_Text_2A5A09, MSGBOX_NPC
+SafariZone_Northeast_EventScript_Woman:: @ 823D3CF
+ msgbox SafariZone_Northeast_Text_Woman, MSGBOX_NPC
end
-SafariZone_Northeast_EventScript_23D3D8:: @ 823D3D8
- msgbox SafariZone_Northeast_Text_2A5A44, MSGBOX_NPC
+SafariZone_Northeast_EventScript_Girl:: @ 823D3D8
+ msgbox SafariZone_Northeast_Text_Girl, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_Southeast/map.json b/data/maps/SafariZone_Southeast/map.json
index cb293b149..f17a9acd3 100644
--- a/data/maps/SafariZone_Southeast/map.json
+++ b/data/maps/SafariZone_Southeast/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Southeast_EventScript_23D3BD",
+ "script": "SafariZone_Southeast_EventScript_RichBoy",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Southeast_EventScript_23D3B4",
+ "script": "SafariZone_Southeast_EventScript_FatMan",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Southeast_EventScript_23D3AB",
+ "script": "SafariZone_Southeast_EventScript_LittleGirl",
"flag": "0"
},
{
@@ -87,7 +87,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Southeast_EventScript_23D399",
+ "script": "SafariZone_Southeast_EventScript_ExpansionZoneAttendant",
"flag": "FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION"
}
],
diff --git a/data/maps/SafariZone_Southeast/scripts.inc b/data/maps/SafariZone_Southeast/scripts.inc
index f88cd22fb..658d88e56 100644
--- a/data/maps/SafariZone_Southeast/scripts.inc
+++ b/data/maps/SafariZone_Southeast/scripts.inc
@@ -1,3 +1,4 @@
SafariZone_Southeast_MapScripts:: @ 8242C03
.byte 0
+@ Event scripts for SafariZone_Southeast are in SafariZone_South/scripts.inc
diff --git a/data/maps/SafariZone_Southwest/map.json b/data/maps/SafariZone_Southwest/map.json
index 3784db801..261f7f49d 100644
--- a/data/maps/SafariZone_Southwest/map.json
+++ b/data/maps/SafariZone_Southwest/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SafariZone_Southwest_EventScript_23D267",
+ "script": "SafariZone_Southwest_EventScript_Woman",
"flag": "0"
},
{
@@ -69,7 +69,7 @@
"y": 7,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SafariZone_Southwest_EventScript_23D270"
+ "script": "SafariZone_Southwest_EventScript_RestHouseSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/SafariZone_Southwest/scripts.inc b/data/maps/SafariZone_Southwest/scripts.inc
index 069f22b49..c862f7906 100644
--- a/data/maps/SafariZone_Southwest/scripts.inc
+++ b/data/maps/SafariZone_Southwest/scripts.inc
@@ -1,11 +1,11 @@
SafariZone_Southwest_MapScripts:: @ 823D266
.byte 0
-SafariZone_Southwest_EventScript_23D267:: @ 823D267
- msgbox SafariZone_Southwest_Text_2A53B7, MSGBOX_NPC
+SafariZone_Southwest_EventScript_Woman:: @ 823D267
+ msgbox SafariZone_Southwest_Text_Woman, MSGBOX_NPC
end
-SafariZone_Southwest_EventScript_23D270:: @ 823D270
- msgbox SafariZone_Southwest_Text_2A5613, MSGBOX_SIGN
+SafariZone_Southwest_EventScript_RestHouseSign:: @ 823D270
+ msgbox SafariZone_Southwest_Text_RestHouseSign, MSGBOX_SIGN
end
diff --git a/data/maps/SeafloorCavern_Entrance/map.json b/data/maps/SeafloorCavern_Entrance/map.json
index 12000c699..c7336476c 100644
--- a/data/maps/SeafloorCavern_Entrance/map.json
+++ b/data/maps/SeafloorCavern_Entrance/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SeafloorCavern_Entrance_EventScript_234485",
+ "script": "SeafloorCavern_Entrance_EventScript_Grunt",
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT"
}
],
diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc
index bc4f04b7f..b9ff722e6 100644
--- a/data/maps/SeafloorCavern_Entrance/scripts.inc
+++ b/data/maps/SeafloorCavern_Entrance/scripts.inc
@@ -1,16 +1,16 @@
SeafloorCavern_Entrance_MapScripts:: @ 823446E
- map_script MAP_SCRIPT_ON_RESUME, SeafloorCavern_Entrance_MapScript1_234474
+ map_script MAP_SCRIPT_ON_RESUME, SeafloorCavern_Entrance_OnResume
.byte 0
-SeafloorCavern_Entrance_MapScript1_234474: @ 8234474
+SeafloorCavern_Entrance_OnResume: @ 8234474
setdivewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5
setescapewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5
end
-SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
+SeafloorCavern_Entrance_EventScript_Grunt:: @ 8234485
lockall
compare VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1
- goto_if_eq SeafloorCavern_Entrance_EventScript_2344ED
+ goto_if_eq SeafloorCavern_Entrance_EventScript_GruntSpeechShort
waitse
playse SE_PIN
applymovement 1, Common_Movement_ExclamationMark
@@ -18,52 +18,52 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
applymovement 1, Common_Movement_Delay48
waitmovement 0
delay 20
- compare VAR_FACING, 3
- call_if_eq SeafloorCavern_Entrance_EventScript_23452E
- compare VAR_FACING, 4
- call_if_eq SeafloorCavern_Entrance_EventScript_234523
- compare VAR_FACING, 2
- call_if_eq SeafloorCavern_Entrance_EventScript_234539
+ compare VAR_FACING, DIR_WEST
+ call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest
+ compare VAR_FACING, DIR_EAST
+ call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth
delay 30
setvar VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1
copyobjectxytoperm 1
- msgbox SeafloorCavern_Entrance_Text_234544, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Entrance_Text_HearMagmaNearMossdeep, MSGBOX_DEFAULT
closemessage
- applymovement 1, Common_Movement_WalkInPlaceUp
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
releaseall
end
-SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED
- compare VAR_FACING, 3
- call_if_eq SeafloorCavern_Entrance_EventScript_23452E
- compare VAR_FACING, 4
- call_if_eq SeafloorCavern_Entrance_EventScript_234523
- compare VAR_FACING, 2
- call_if_eq SeafloorCavern_Entrance_EventScript_234539
- msgbox SeafloorCavern_Entrance_Text_2346C8, MSGBOX_DEFAULT
+SeafloorCavern_Entrance_EventScript_GruntSpeechShort:: @ 82344ED
+ compare VAR_FACING, DIR_WEST
+ call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest
+ compare VAR_FACING, DIR_EAST
+ call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth
+ msgbox SeafloorCavern_Entrance_Text_HearMagmaNearMossdeepShort, MSGBOX_DEFAULT
closemessage
- applymovement 1, Common_Movement_WalkInPlaceUp
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
releaseall
end
-SeafloorCavern_Entrance_EventScript_234523:: @ 8234523
- applymovement 1, Common_Movement_WalkInPlaceLeft
+SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast:: @ 8234523
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-SeafloorCavern_Entrance_EventScript_23452E:: @ 823452E
- applymovement 1, Common_Movement_WalkInPlaceRight
+SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest:: @ 823452E
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-SeafloorCavern_Entrance_EventScript_234539:: @ 8234539
- applymovement 1, Common_Movement_WalkInPlaceDown
+SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth:: @ 8234539
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-SeafloorCavern_Entrance_Text_234544: @ 8234544
+SeafloorCavern_Entrance_Text_HearMagmaNearMossdeep: @ 8234544
.string "Hey!\n"
.string "I remember your face!\p"
.string "If you're here, it must mean that\n"
@@ -79,7 +79,7 @@ SeafloorCavern_Entrance_Text_234544: @ 8234544
.string "That bunch of goons, they sure don't\n"
.string "look good near the sea!$"
-SeafloorCavern_Entrance_Text_2346C8: @ 82346C8
+SeafloorCavern_Entrance_Text_HearMagmaNearMossdeepShort: @ 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"
diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json
index 88db72b4a..68cbba71d 100644
--- a/data/maps/SeafloorCavern_Room1/map.json
+++ b/data/maps/SeafloorCavern_Room1/map.json
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "SeafloorCavern_Room1_EventScript_2347EC",
+ "script": "SeafloorCavern_Room1_EventScript_Grunt1",
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SeafloorCavern_Room1_EventScript_234803",
+ "script": "SeafloorCavern_Room1_EventScript_Grunt2",
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS"
}
],
diff --git a/data/maps/SeafloorCavern_Room1/scripts.inc b/data/maps/SeafloorCavern_Room1/scripts.inc
index 92049e8ef..6baa9ca4e 100644
--- a/data/maps/SeafloorCavern_Room1/scripts.inc
+++ b/data/maps/SeafloorCavern_Room1/scripts.inc
@@ -1,35 +1,35 @@
SeafloorCavern_Room1_MapScripts:: @ 82347EB
.byte 0
-SeafloorCavern_Room1_EventScript_2347EC:: @ 82347EC
- trainerbattle_single TRAINER_GRUNT_5, SeafloorCavern_Room1_Text_23481A, SeafloorCavern_Room1_Text_23484A
- msgbox SeafloorCavern_Room1_Text_23485D, MSGBOX_AUTOCLOSE
+SeafloorCavern_Room1_EventScript_Grunt1:: @ 82347EC
+ trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_1, SeafloorCavern_Room1_Text_Grunt1Intro, SeafloorCavern_Room1_Text_Grunt1Defeat
+ msgbox SeafloorCavern_Room1_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE
end
-SeafloorCavern_Room1_EventScript_234803:: @ 8234803
- trainerbattle_single TRAINER_GRUNT_6, SeafloorCavern_Room1_Text_234898, SeafloorCavern_Room1_Text_2348CD
- msgbox SeafloorCavern_Room1_Text_2348E3, MSGBOX_AUTOCLOSE
+SeafloorCavern_Room1_EventScript_Grunt2:: @ 8234803
+ trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_2, SeafloorCavern_Room1_Text_Grunt2Intro, SeafloorCavern_Room1_Text_Grunt2Defeat
+ msgbox SeafloorCavern_Room1_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE
end
-SeafloorCavern_Room1_Text_23481A: @ 823481A
+SeafloorCavern_Room1_Text_Grunt1Intro: @ 823481A
.string "We don't need a kid around!\n"
.string "Go on home already!$"
-SeafloorCavern_Room1_Text_23484A: @ 823484A
+SeafloorCavern_Room1_Text_Grunt1Defeat: @ 823484A
.string "I want to go home…$"
-SeafloorCavern_Room1_Text_23485D: @ 823485D
+SeafloorCavern_Room1_Text_Grunt1PostBattle: @ 823485D
.string "I want to get a promotion so I can\n"
.string "boss around the GRUNTS…$"
-SeafloorCavern_Room1_Text_234898: @ 8234898
+SeafloorCavern_Room1_Text_Grunt2Intro: @ 8234898
.string "That submarine… It's tiny inside.\n"
.string "I'm sore all over!$"
-SeafloorCavern_Room1_Text_2348CD: @ 82348CD
+SeafloorCavern_Room1_Text_Grunt2Defeat: @ 82348CD
.string "Losing makes me sore!$"
-SeafloorCavern_Room1_Text_2348E3: @ 82348E3
+SeafloorCavern_Room1_Text_Grunt2PostBattle: @ 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/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json
index 2a33c44cf..428070faf 100644
--- a/data/maps/SeafloorCavern_Room3/map.json
+++ b/data/maps/SeafloorCavern_Room3/map.json
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "6",
- "script": "SeafloorCavern_Room3_EventScript_234938",
+ "script": "SeafloorCavern_Room3_EventScript_Shelly",
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "SeafloorCavern_Room3_EventScript_23494F",
+ "script": "SeafloorCavern_Room3_EventScript_Grunt5",
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS"
}
],
diff --git a/data/maps/SeafloorCavern_Room3/scripts.inc b/data/maps/SeafloorCavern_Room3/scripts.inc
index 40913f407..1cfb702c8 100644
--- a/data/maps/SeafloorCavern_Room3/scripts.inc
+++ b/data/maps/SeafloorCavern_Room3/scripts.inc
@@ -1,17 +1,17 @@
SeafloorCavern_Room3_MapScripts:: @ 8234937
.byte 0
-SeafloorCavern_Room3_EventScript_234938:: @ 8234938
- trainerbattle_single TRAINER_SHELLY_2, SeafloorCavern_Room3_Text_234966, SeafloorCavern_Room3_Text_234A79
- msgbox SeafloorCavern_Room3_Text_234A8A, MSGBOX_AUTOCLOSE
+SeafloorCavern_Room3_EventScript_Shelly:: @ 8234938
+ trainerbattle_single TRAINER_SHELLY_SEAFLOOR_CAVERN, SeafloorCavern_Room3_Text_ShellyIntro, SeafloorCavern_Room3_Text_ShellyDefeat
+ msgbox SeafloorCavern_Room3_Text_ShellyPostBattle, MSGBOX_AUTOCLOSE
end
-SeafloorCavern_Room3_EventScript_23494F:: @ 823494F
- trainerbattle_single TRAINER_GRUNT_27, SeafloorCavern_Room3_Text_234B3A, SeafloorCavern_Room3_Text_234BFE
- msgbox SeafloorCavern_Room3_Text_234C04, MSGBOX_AUTOCLOSE
+SeafloorCavern_Room3_EventScript_Grunt5:: @ 823494F
+ trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_5, SeafloorCavern_Room3_Text_Grunt5Intro, SeafloorCavern_Room3_Text_Grunt5Defeat
+ msgbox SeafloorCavern_Room3_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE
end
-SeafloorCavern_Room3_Text_234966: @ 8234966
+SeafloorCavern_Room3_Text_ShellyIntro: @ 8234966
.string "Ahahahaha!\p"
.string "How did you manage to get here without\n"
.string "a submarine?\l"
@@ -23,11 +23,11 @@ SeafloorCavern_Room3_Text_234966: @ 8234966
.string "I'm going to give you a little taste\n"
.string "of pain! Resign yourself to it!$"
-SeafloorCavern_Room3_Text_234A79: @ 8234A79
+SeafloorCavern_Room3_Text_ShellyDefeat: @ 8234A79
.string "Ahahahaha!\p"
.string "Ouch!$"
-SeafloorCavern_Room3_Text_234A8A: @ 8234A8A
+SeafloorCavern_Room3_Text_ShellyPostBattle: @ 8234A8A
.string "Ahahahaha!\n"
.string "You're so darn strong.\p"
.string "It's terribly disappointing that you're\n"
@@ -36,7 +36,7 @@ SeafloorCavern_Room3_Text_234A8A: @ 8234A8A
.string "world our BOSS has promised as\l"
.string "one of us…$"
-SeafloorCavern_Room3_Text_234B3A: @ 8234B3A
+SeafloorCavern_Room3_Text_Grunt5Intro: @ 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"
@@ -45,10 +45,10 @@ SeafloorCavern_Room3_Text_234B3A: @ 8234B3A
.string "Life just doesn't work the way we\n"
.string "need it to!$"
-SeafloorCavern_Room3_Text_234BFE: @ 8234BFE
+SeafloorCavern_Room3_Text_Grunt5Defeat: @ 8234BFE
.string "Gwah!$"
-SeafloorCavern_Room3_Text_234C04: @ 8234C04
+SeafloorCavern_Room3_Text_Grunt5PostBattle: @ 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"
diff --git a/data/maps/SeafloorCavern_Room4/map.json b/data/maps/SeafloorCavern_Room4/map.json
index 0638ab4ed..c04e22e39 100644
--- a/data/maps/SeafloorCavern_Room4/map.json
+++ b/data/maps/SeafloorCavern_Room4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SeafloorCavern_Room4_EventScript_234C9C",
+ "script": "SeafloorCavern_Room4_EventScript_Grunt3",
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SeafloorCavern_Room4_EventScript_234CB3",
+ "script": "SeafloorCavern_Room4_EventScript_Grunt4",
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS"
}
],
diff --git a/data/maps/SeafloorCavern_Room4/scripts.inc b/data/maps/SeafloorCavern_Room4/scripts.inc
index 132d24a32..e2f32287a 100644
--- a/data/maps/SeafloorCavern_Room4/scripts.inc
+++ b/data/maps/SeafloorCavern_Room4/scripts.inc
@@ -1,35 +1,35 @@
SeafloorCavern_Room4_MapScripts:: @ 8234C9B
.byte 0
-SeafloorCavern_Room4_EventScript_234C9C:: @ 8234C9C
- trainerbattle_single TRAINER_GRUNT_7, SeafloorCavern_Room4_Text_234CCA, SeafloorCavern_Room4_Text_234CF3
- msgbox SeafloorCavern_Room4_Text_234CFC, MSGBOX_AUTOCLOSE
+SeafloorCavern_Room4_EventScript_Grunt3:: @ 8234C9C
+ trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_3, SeafloorCavern_Room4_Text_Grunt3Intro, SeafloorCavern_Room4_Text_Grunt3Defeat
+ msgbox SeafloorCavern_Room4_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE
end
-SeafloorCavern_Room4_EventScript_234CB3:: @ 8234CB3
- trainerbattle_single TRAINER_GRUNT_9, SeafloorCavern_Room4_Text_234D3A, SeafloorCavern_Room4_Text_234D68
- msgbox SeafloorCavern_Room4_Text_234D79, MSGBOX_AUTOCLOSE
+SeafloorCavern_Room4_EventScript_Grunt4:: @ 8234CB3
+ trainerbattle_single TRAINER_GRUNT_SEAFLOOR_CAVERN_4, SeafloorCavern_Room4_Text_Grunt4Intro, SeafloorCavern_Room4_Text_Grunt4Defeat
+ msgbox SeafloorCavern_Room4_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE
end
-SeafloorCavern_Room4_Text_234CCA: @ 8234CCA
+SeafloorCavern_Room4_Text_Grunt3Intro: @ 8234CCA
.string "Who are you?\n"
.string "Where did you come in from?$"
-SeafloorCavern_Room4_Text_234CF3: @ 8234CF3
+SeafloorCavern_Room4_Text_Grunt3Defeat: @ 8234CF3
.string "Lost it…$"
-SeafloorCavern_Room4_Text_234CFC: @ 8234CFC
+SeafloorCavern_Room4_Text_Grunt3PostBattle: @ 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
+SeafloorCavern_Room4_Text_Grunt4Intro: @ 8234D3A
.string "Who are you?\n"
.string "Where do you think you're going?$"
-SeafloorCavern_Room4_Text_234D68: @ 8234D68
+SeafloorCavern_Room4_Text_Grunt4Defeat: @ 8234D68
.string "I failed to win!$"
-SeafloorCavern_Room4_Text_234D79: @ 8234D79
+SeafloorCavern_Room4_Text_Grunt4PostBattle: @ 8234D79
.string "My partner forgot the map in that\n"
.string "submarine!\p"
.string "How's that for being useless?$"
diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json
index 77dcdc169..e9ce6c9a0 100644
--- a/data/maps/SeafloorCavern_Room9/map.json
+++ b/data/maps/SeafloorCavern_Room9/map.json
@@ -5,7 +5,7 @@
"music": "MUS_TOZAN",
"region_map_section": "MAPSEC_SEAFLOOR_CAVERN",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_UNDERGROUND",
"allow_bike": false,
"allow_escape_rope": true,
@@ -123,7 +123,7 @@
"elevation": 3,
"var": "VAR_SEAFLOOR_CAVERN_STATE",
"var_value": "0",
- "script": "SeafloorCavern_Room9_EventScript_234DC9"
+ "script": "SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre"
}
],
"bg_events": []
diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc
index 17b1515c0..46d1a1f36 100644
--- a/data/maps/SeafloorCavern_Room9/scripts.inc
+++ b/data/maps/SeafloorCavern_Room9/scripts.inc
@@ -1,123 +1,120 @@
SeafloorCavern_Room9_MapScripts:: @ 8234DC8
.byte 0
-SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
+SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre:: @ 8234DC9
lockall
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 4
- setvar VAR_0x8007, 5
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ setvar VAR_0x8004, 2 @ Archie
+ setvar VAR_0x8005, 3 @ Maxie
+ setvar VAR_0x8006, 4 @ Magma grunt 1
+ setvar VAR_0x8007, 5 @ Magma grunt 2
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_23505C
+ applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_Delay32
waitmovement 0
playbgm MUS_AQA_0, 0
- msgbox SeafloorCavern_Room9_Text_23505F, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieHoldItRightThere, MSGBOX_DEFAULT
closemessage
addobject VAR_0x8004
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_ArchieApproachPlayer
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23507C, MSGBOX_DEFAULT
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp
+ msgbox SeafloorCavern_Room9_Text_ArchieSoItWasYou, MSGBOX_DEFAULT
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2350A6, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieBeholdKyogre, MSGBOX_DEFAULT
applymovement VAR_0x8004, Common_Movement_FacePlayer
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23512C, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_ARCHIE, SeafloorCavern_Room9_Text_2351BC
- msgbox SeafloorCavern_Room9_Text_2351E5, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieYouMustDisappear, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_ARCHIE, SeafloorCavern_Room9_Text_ArchieDefeat
+ msgbox SeafloorCavern_Room9_Text_ArchieWithThisRedOrb, MSGBOX_DEFAULT
setweather WEATHER_NONE
doweather
- special sub_80B05B4
+ special Script_FadeOutMapMusic
waitstate
- msgbox SeafloorCavern_Room9_Text_235279, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_RedOrbShinesByItself, MSGBOX_DEFAULT
special WaitWeather
waitstate
setvar VAR_RESULT, 1
playse SE_W197
- setfieldeffectargument 0, 16
- setfieldeffectargument 1, 42
- setfieldeffectargument 2, 0
- dofieldeffect FLDEFF_SPARKLE
+ dofieldeffectsparkle 16, 42, 0
waitfieldeffect FLDEFF_SPARKLE
closemessage
setvar VAR_RESULT, 0
playfanfare MUS_ME_TAMA
playse SE_TAMA
- special sub_80B0534
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ special DoOrbEffect
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 150
- removeobject 7
- addobject 1
+ removeobject 7 @ sleeping Kyogre
+ addobject 1 @ awakened Kyogre
waitstate
delay 60
- applymovement 1, SeafloorCavern_Room9_Movement_235040
+ applymovement 1, SeafloorCavern_Room9_Movement_KyogreApproach
waitmovement 0
- special sub_80B058C
+ special FadeOutOrbEffect
waitstate
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 1, SeafloorCavern_Room9_Movement_23504B
+ applymovement 1, SeafloorCavern_Room9_Movement_KyogreExit
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
+ setvar VAR_0x8004, 2 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
delay 30
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 4
setvar VAR_0x8007, 5
- msgbox SeafloorCavern_Room9_Text_2352A7, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieWhereDidKyogreGo, MSGBOX_DEFAULT
playse SE_PC_LOGIN
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2352F6, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieAMessageFromOutside, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_235035
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_ArchieListenMessage
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23532B, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieWhatRainingTooHard, MSGBOX_DEFAULT
closemessage
playse SE_PC_OFF
delay 20
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceDown
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23546F, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieWhyDidKyogreDisappear, MSGBOX_DEFAULT
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
+ applymovement VAR_0x8007, SeafloorCavern_Room9_Movement_MagmaGruntArrive
+ applymovement VAR_0x8006, SeafloorCavern_Room9_Movement_MagmaGruntArrive
+ applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_MaxieArrive
waitmovement 0
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceLeft
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2354F0, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_MaxieWhatHaveYouWrought, MSGBOX_DEFAULT
playse SE_PIN
applymovement VAR_0x8004, Common_Movement_ExclamationMark
waitmovement 0
applymovement VAR_0x8004, Common_Movement_Delay48
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2355C2, MSGBOX_DEFAULT
- msgbox SeafloorCavern_Room9_Text_235692, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_ArchieDontGetAllHighAndMighty, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_MaxieWeDontHaveTimeToArgue, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_235054
- applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23503A
+ applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_MaxieExit
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_ArchieExit
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_235723, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_MaxieComeOnPlayer, MSGBOX_DEFAULT
setvar VAR_ROUTE128_STATE, 1
setvar VAR_SOOTOPOLIS_CITY_STATE, 1
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
@@ -146,7 +143,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
releaseall
end
-SeafloorCavern_Room9_Movement_23502A: @ 823502A
+SeafloorCavern_Room9_Movement_ArchieApproachPlayer: @ 823502A
walk_right
walk_right
walk_right
@@ -156,21 +153,21 @@ SeafloorCavern_Room9_Movement_23502A: @ 823502A
walk_right
step_end
-SeafloorCavern_Room9_Movement_235032: @ 8235032
+SeafloorCavern_Room9_Movement_Unused1: @ 8235032
walk_left
walk_left
step_end
-SeafloorCavern_Room9_Movement_235035: @ 8235035
+SeafloorCavern_Room9_Movement_ArchieListenMessage: @ 8235035
walk_left
delay_16
step_end
-SeafloorCavern_Room9_Movement_235038: @ 8235038
+SeafloorCavern_Room9_Movement_Unused2: @ 8235038
walk_right
step_end
-SeafloorCavern_Room9_Movement_23503A: @ 823503A
+SeafloorCavern_Room9_Movement_ArchieExit: @ 823503A
face_up
lock_facing_direction
walk_down
@@ -178,7 +175,7 @@ SeafloorCavern_Room9_Movement_23503A: @ 823503A
walk_in_place_fastest_right
step_end
-SeafloorCavern_Room9_Movement_235040: @ 8235040
+SeafloorCavern_Room9_Movement_KyogreApproach: @ 8235040
delay_16
delay_16
walk_slow_down
@@ -191,12 +188,12 @@ SeafloorCavern_Room9_Movement_235040: @ 8235040
delay_16
step_end
-SeafloorCavern_Room9_Movement_23504B: @ 823504B
+SeafloorCavern_Room9_Movement_KyogreExit: @ 823504B
slide_up
slide_up
step_end
-SeafloorCavern_Room9_Movement_23504E: @ 823504E
+SeafloorCavern_Room9_Movement_MaxieArrive: @ 823504E
walk_fast_right
walk_fast_right
walk_fast_right
@@ -204,49 +201,49 @@ SeafloorCavern_Room9_Movement_23504E: @ 823504E
walk_fast_right
step_end
-SeafloorCavern_Room9_Movement_235054: @ 8235054
+SeafloorCavern_Room9_Movement_MaxieExit: @ 8235054
walk_right
walk_right
step_end
-SeafloorCavern_Room9_Movement_235057: @ 8235057
+SeafloorCavern_Room9_Movement_MagmaGruntArrive: @ 8235057
walk_fast_right
walk_fast_right
walk_fast_right
walk_fast_right
step_end
-SeafloorCavern_Room9_Movement_23505C: @ 823505C
+SeafloorCavern_Room9_Movement_Delay32: @ 823505C
delay_16
delay_16
step_end
-SeafloorCavern_Room9_Text_23505F: @ 823505F
+SeafloorCavern_Room9_Text_ArchieHoldItRightThere: @ 823505F
.string "ARCHIE: Hold it right there.$"
-SeafloorCavern_Room9_Text_23507C: @ 823507C
+SeafloorCavern_Room9_Text_ArchieSoItWasYou: @ 823507C
.string "ARCHIE: Fufufu…\n"
.string "So it was you, after all.$"
-SeafloorCavern_Room9_Text_2350A6: @ 82350A6
+SeafloorCavern_Room9_Text_ArchieBeholdKyogre: @ 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
+SeafloorCavern_Room9_Text_ArchieYouMustDisappear: @ 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
+SeafloorCavern_Room9_Text_ArchieDefeat: @ 82351BC
.string "What?!\n"
.string "I lost to a mere child like you?!$"
-SeafloorCavern_Room9_Text_2351E5: @ 82351E5
+SeafloorCavern_Room9_Text_ArchieWithThisRedOrb: @ 82351E5
.string "ARCHIE: Fufufu…\p"
.string "I commend you. I must recognize that\n"
.string "you are truly gifted.\p"
@@ -254,21 +251,21 @@ SeafloorCavern_Room9_Text_2351E5: @ 82351E5
.string "I have this in my possession!\p"
.string "With this RED ORB, I can make KYOGRE…$"
-SeafloorCavern_Room9_Text_235279: @ 8235279
+SeafloorCavern_Room9_Text_RedOrbShinesByItself: @ 8235279
.string "The RED ORB suddenly began shining\n"
.string "by itself!$"
-SeafloorCavern_Room9_Text_2352A7: @ 82352A7
+SeafloorCavern_Room9_Text_ArchieWhereDidKyogreGo: @ 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
+SeafloorCavern_Room9_Text_ArchieAMessageFromOutside: @ 82352F6
.string "ARCHIE: Hm? It's a message from our\n"
.string "members outside…$"
-SeafloorCavern_Room9_Text_23532B: @ 823532B
+SeafloorCavern_Room9_Text_ArchieWhatRainingTooHard: @ 823532B
.string "ARCHIE: Yes, what is it?\p"
.string "Hm…\n"
.string "It's raining heavily?\p"
@@ -284,7 +281,7 @@ SeafloorCavern_Room9_Text_23532B: @ 823532B
.string "Hold your position and monitor\n"
.string "the situation!$"
-SeafloorCavern_Room9_Text_23546F: @ 823546F
+SeafloorCavern_Room9_Text_ArchieWhyDidKyogreDisappear: @ 823546F
.string "ARCHIE: There's something wrong…\p"
.string "The RED ORB is supposed to awaken\n"
.string "and control KYOGRE…\p"
@@ -292,7 +289,7 @@ SeafloorCavern_Room9_Text_23546F: @ 823546F
.string "Why did KYOGRE disappear?\p"
.string "Why?!$"
-SeafloorCavern_Room9_Text_2354F0: @ 82354F0
+SeafloorCavern_Room9_Text_MaxieWhatHaveYouWrought: @ 82354F0
.string "MAXIE: What have you wrought?\p"
.string "ARCHIE… You've finally awoken KYOGRE,\n"
.string "haven't you?\p"
@@ -301,7 +298,7 @@ SeafloorCavern_Room9_Text_2354F0: @ 82354F0
.string "The world's landmass will drown in\n"
.string "the deepening sea…$"
-SeafloorCavern_Room9_Text_2355C2: @ 82355C2
+SeafloorCavern_Room9_Text_ArchieDontGetAllHighAndMighty: @ 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"
@@ -310,13 +307,13 @@ SeafloorCavern_Room9_Text_2355C2: @ 82355C2
.string "I should be able to control KYOGRE…\p"
.string "I should be able to control it…$"
-SeafloorCavern_Room9_Text_235692: @ 8235692
+SeafloorCavern_Room9_Text_MaxieWeDontHaveTimeToArgue: @ 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
+SeafloorCavern_Room9_Text_MaxieComeOnPlayer: @ 8235723
.string "MAXIE: {PLAYER}, come on, you have\n"
.string "to get out of here, too!$"
diff --git a/data/maps/SealedChamber_InnerRoom/map.json b/data/maps/SealedChamber_InnerRoom/map.json
index e0e6097ec..4549a1bbd 100644
--- a/data/maps/SealedChamber_InnerRoom/map.json
+++ b/data/maps/SealedChamber_InnerRoom/map.json
@@ -31,7 +31,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_2391F8"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleBackWall"
},
{
"type": "sign",
@@ -39,7 +39,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_239255"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart1"
},
{
"type": "sign",
@@ -47,7 +47,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_23925F"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart2"
},
{
"type": "sign",
@@ -55,7 +55,7 @@
"y": 13,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_239269"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart3"
},
{
"type": "sign",
@@ -63,7 +63,7 @@
"y": 13,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_239273"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart4"
},
{
"type": "sign",
@@ -71,7 +71,7 @@
"y": 18,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_23927D"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart5"
},
{
"type": "sign",
@@ -79,7 +79,7 @@
"y": 18,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_239287"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleStoryPart6"
},
{
"type": "sign",
@@ -87,7 +87,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_2391F8"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleBackWall"
},
{
"type": "sign",
@@ -95,7 +95,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_InnerRoom_EventScript_2391F8"
+ "script": "SealedChamber_InnerRoom_EventScript_BrailleBackWall"
}
]
} \ No newline at end of file
diff --git a/data/maps/SealedChamber_InnerRoom/scripts.inc b/data/maps/SealedChamber_InnerRoom/scripts.inc
index 5c4cb2199..15c98e57e 100644
--- a/data/maps/SealedChamber_InnerRoom/scripts.inc
+++ b/data/maps/SealedChamber_InnerRoom/scripts.inc
@@ -1,15 +1,15 @@
SealedChamber_InnerRoom_MapScripts:: @ 82391F7
.byte 0
-SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8
+SealedChamber_InnerRoom_EventScript_BrailleBackWall:: @ 82391F8
lockall
- braillemessage SealedChamber_InnerRoom_Braille_2A6B99
+ braillemessage SealedChamber_InnerRoom_Braille_FirstWailordLastRelicanth
waitbuttonpress
- hidebox2
- goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_239253
+ closebraillemessage
+ goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_NoEffect
specialvar VAR_RESULT, CheckRelicanthWailord
- compare VAR_RESULT, 0
- goto_if_eq SealedChamber_InnerRoom_EventScript_239253
+ compare VAR_RESULT, FALSE
+ goto_if_eq SealedChamber_InnerRoom_EventScript_NoEffect
fadeoutbgm 0
playse SE_TRACK_MOVE
special DoSealedChamberShakingEffect1
@@ -27,62 +27,62 @@ SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8
waitstate
playse SE_DOOR
delay 40
- msgbox gUnknown_0827301B, MSGBOX_DEFAULT
+ msgbox gText_DoorOpenedFarAway, MSGBOX_DEFAULT
closemessage
fadeinbgm 0
setflag FLAG_REGI_DOORS_OPENED
releaseall
end
-SealedChamber_InnerRoom_EventScript_239253:: @ 8239253
+SealedChamber_InnerRoom_EventScript_NoEffect:: @ 8239253
releaseall
end
-SealedChamber_InnerRoom_EventScript_239255:: @ 8239255
+SealedChamber_InnerRoom_EventScript_BrailleStoryPart1:: @ 8239255
lockall
- braillemessage SealedChamber_InnerRoom_Braille_2A6BCA
+ braillemessage SealedChamber_InnerRoom_Braille_InThisCaveWeHaveLived
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_InnerRoom_EventScript_23925F:: @ 823925F
+SealedChamber_InnerRoom_EventScript_BrailleStoryPart2:: @ 823925F
lockall
- braillemessage SealedChamber_InnerRoom_Braille_2A6BEC
+ braillemessage SealedChamber_InnerRoom_Braille_WeOweAllToThePokemon
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_InnerRoom_EventScript_239269:: @ 8239269
+SealedChamber_InnerRoom_EventScript_BrailleStoryPart3:: @ 8239269
lockall
- braillemessage SealedChamber_InnerRoom_Braille_2A6C0D
+ braillemessage SealedChamber_InnerRoom_Braille_ButWeSealedThePokemonAway
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_InnerRoom_EventScript_239273:: @ 8239273
+SealedChamber_InnerRoom_EventScript_BrailleStoryPart4:: @ 8239273
lockall
- braillemessage SealedChamber_InnerRoom_Braille_2A6C34
+ braillemessage SealedChamber_InnerRoom_Braille_WeFearedIt
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_InnerRoom_EventScript_23927D:: @ 823927D
+SealedChamber_InnerRoom_EventScript_BrailleStoryPart5:: @ 823927D
lockall
- braillemessage SealedChamber_InnerRoom_Braille_2A6C48
+ braillemessage SealedChamber_InnerRoom_Braille_ThoseWithCourageHope
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_InnerRoom_EventScript_239287:: @ 8239287
+SealedChamber_InnerRoom_EventScript_BrailleStoryPart6:: @ 8239287
lockall
- braillemessage SealedChamber_InnerRoom_Braille_2A6C73
+ braillemessage SealedChamber_InnerRoom_Braille_OpenDoorEternalPokemonWaits
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
diff --git a/data/maps/SealedChamber_OuterRoom/map.json b/data/maps/SealedChamber_OuterRoom/map.json
index cc9c32272..54a10ee70 100644
--- a/data/maps/SealedChamber_OuterRoom/map.json
+++ b/data/maps/SealedChamber_OuterRoom/map.json
@@ -31,7 +31,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23916C"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleABC"
},
{
"type": "sign",
@@ -39,7 +39,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239176"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleGHI"
},
{
"type": "sign",
@@ -47,7 +47,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239180"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleMNO"
},
{
"type": "sign",
@@ -55,7 +55,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23918A"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleTUV"
},
{
"type": "sign",
@@ -63,7 +63,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239194"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleDEF"
},
{
"type": "sign",
@@ -71,7 +71,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23919E"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleJKL"
},
{
"type": "sign",
@@ -79,7 +79,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391A8"
+ "script": "SealedChamber_OuterRoom_EventScript_BraillePQRS"
},
{
"type": "sign",
@@ -87,7 +87,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391BC"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleWXYZ"
},
{
"type": "sign",
@@ -95,7 +95,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391B2"
+ "script": "SealedChamber_OuterRoom_EventScript_BraillePeriod"
},
{
"type": "sign",
@@ -103,7 +103,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391C6"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleComma"
},
{
"type": "sign",
@@ -111,7 +111,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391D0"
+ "script": "SealedChamber_OuterRoom_EventScript_InnerRoomEntranceWall"
},
{
"type": "sign",
@@ -119,7 +119,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23916C"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleABC"
},
{
"type": "sign",
@@ -127,7 +127,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23916C"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleABC"
},
{
"type": "sign",
@@ -135,7 +135,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239176"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleGHI"
},
{
"type": "sign",
@@ -143,7 +143,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239176"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleGHI"
},
{
"type": "sign",
@@ -151,7 +151,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239180"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleMNO"
},
{
"type": "sign",
@@ -159,7 +159,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239180"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleMNO"
},
{
"type": "sign",
@@ -167,7 +167,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23918A"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleTUV"
},
{
"type": "sign",
@@ -175,7 +175,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23918A"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleTUV"
},
{
"type": "sign",
@@ -183,7 +183,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239194"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleDEF"
},
{
"type": "sign",
@@ -191,7 +191,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_239194"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleDEF"
},
{
"type": "sign",
@@ -199,7 +199,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23919E"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleJKL"
},
{
"type": "sign",
@@ -207,7 +207,7 @@
"y": 9,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_23919E"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleJKL"
},
{
"type": "sign",
@@ -215,7 +215,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391A8"
+ "script": "SealedChamber_OuterRoom_EventScript_BraillePQRS"
},
{
"type": "sign",
@@ -223,7 +223,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391A8"
+ "script": "SealedChamber_OuterRoom_EventScript_BraillePQRS"
},
{
"type": "sign",
@@ -231,7 +231,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391BC"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleWXYZ"
},
{
"type": "sign",
@@ -239,7 +239,7 @@
"y": 15,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391BC"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleWXYZ"
},
{
"type": "sign",
@@ -247,7 +247,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391ED"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleDigHere"
},
{
"type": "sign",
@@ -255,7 +255,7 @@
"y": 2,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SealedChamber_OuterRoom_EventScript_2391ED"
+ "script": "SealedChamber_OuterRoom_EventScript_BrailleDigHere"
}
]
} \ No newline at end of file
diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc
index 865be8963..f3cd05a86 100644
--- a/data/maps/SealedChamber_OuterRoom/scripts.inc
+++ b/data/maps/SealedChamber_OuterRoom/scripts.inc
@@ -1,10 +1,10 @@
SealedChamber_OuterRoom_MapScripts:: @ 8239106
- map_script MAP_SCRIPT_ON_RESUME, SealedChamber_OuterRoom_MapScript1_239116
+ map_script MAP_SCRIPT_ON_RESUME, SealedChamber_OuterRoom_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, SealedChamber_OuterRoom_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, SealedChamber_OuterRoom_MapScript1_23912B
+ map_script MAP_SCRIPT_ON_LOAD, SealedChamber_OuterRoom_OnLoad
.byte 0
-SealedChamber_OuterRoom_MapScript1_239116: @ 8239116
+SealedChamber_OuterRoom_OnResume: @ 8239116
setdivewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44
setescapewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44
end
@@ -13,11 +13,11 @@ SealedChamber_OuterRoom_OnTransition: @ 8239127
setflag FLAG_LANDMARK_SEALED_CHAMBER
end
-SealedChamber_OuterRoom_MapScript1_23912B: @ 823912B
- call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_239135
+SealedChamber_OuterRoom_OnLoad: @ 823912B
+ call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_CloseInnerRoomEntrance
end
-SealedChamber_OuterRoom_EventScript_239135:: @ 8239135
+SealedChamber_OuterRoom_EventScript_CloseInnerRoomEntrance:: @ 8239135
setmetatile 9, 1, METATILE_Cave_EntranceCover, 1
setmetatile 10, 1, METATILE_Cave_EntranceCover, 1
setmetatile 11, 1, METATILE_Cave_EntranceCover, 1
@@ -26,105 +26,105 @@ SealedChamber_OuterRoom_EventScript_239135:: @ 8239135
setmetatile 11, 2, METATILE_Cave_SealedChamberBraille_Mid, 1
return
-SealedChamber_OuterRoom_EventScript_23916C:: @ 823916C
+SealedChamber_OuterRoom_EventScript_BrailleABC:: @ 823916C
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B27
+ braillemessage SealedChamber_OuterRoom_Braille_ABC
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_239176:: @ 8239176
+SealedChamber_OuterRoom_EventScript_BrailleGHI:: @ 8239176
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B31
+ braillemessage SealedChamber_OuterRoom_Braille_GHI
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_239180:: @ 8239180
+SealedChamber_OuterRoom_EventScript_BrailleMNO:: @ 8239180
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B3B
+ braillemessage SealedChamber_OuterRoom_Braille_MNO
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_23918A:: @ 823918A
+SealedChamber_OuterRoom_EventScript_BrailleTUV:: @ 823918A
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B45
+ braillemessage SealedChamber_OuterRoom_Braille_TUV
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_239194:: @ 8239194
+SealedChamber_OuterRoom_EventScript_BrailleDEF:: @ 8239194
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B4F
+ braillemessage SealedChamber_OuterRoom_Braille_DEF
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_23919E:: @ 823919E
+SealedChamber_OuterRoom_EventScript_BrailleJKL:: @ 823919E
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B59
+ braillemessage SealedChamber_OuterRoom_Braille_JKL
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_2391A8:: @ 82391A8
+SealedChamber_OuterRoom_EventScript_BraillePQRS:: @ 82391A8
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B63
+ braillemessage SealedChamber_OuterRoom_Braille_PQRS
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_2391B2:: @ 82391B2
+SealedChamber_OuterRoom_EventScript_BraillePeriod:: @ 82391B2
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B6E
+ braillemessage SealedChamber_OuterRoom_Braille_Period
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_2391BC:: @ 82391BC
+SealedChamber_OuterRoom_EventScript_BrailleWXYZ:: @ 82391BC
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B76
+ braillemessage SealedChamber_OuterRoom_Braille_WXYZ
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_2391C6:: @ 82391C6
+SealedChamber_OuterRoom_EventScript_BrailleComma:: @ 82391C6
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B81
+ braillemessage SealedChamber_OuterRoom_Braille_Comma
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_2391D0:: @ 82391D0
+SealedChamber_OuterRoom_EventScript_InnerRoomEntranceWall:: @ 82391D0
lockall
- goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_2391E3
- braillemessage SealedChamber_OuterRoom_Braille_2A6B89
+ goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_HoleInWall
+ braillemessage SealedChamber_OuterRoom_Braille_DigHere
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
-SealedChamber_OuterRoom_EventScript_2391E3:: @ 82391E3
- msgbox gUnknown_0827304E, MSGBOX_DEFAULT
+SealedChamber_OuterRoom_EventScript_HoleInWall:: @ 82391E3
+ msgbox gText_BigHoleInTheWall, MSGBOX_DEFAULT
releaseall
end
-SealedChamber_OuterRoom_EventScript_2391ED:: @ 82391ED
+SealedChamber_OuterRoom_EventScript_BrailleDigHere:: @ 82391ED
lockall
- braillemessage SealedChamber_OuterRoom_Braille_2A6B89
+ braillemessage SealedChamber_OuterRoom_Braille_DigHere
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
diff --git a/data/maps/SecretBase_BlueCave1/map.json b/data/maps/SecretBase_BlueCave1/map.json
index 8f255972f..8ac45a147 100644
--- a/data/maps/SecretBase_BlueCave1/map.json
+++ b/data/maps/SecretBase_BlueCave1/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BLUE_CAVE1",
"name": "SecretBase_BlueCave1",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BLUE_CAVE1",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BlueCave1_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BlueCave1/scripts.inc b/data/maps/SecretBase_BlueCave1/scripts.inc
deleted file mode 100644
index a7f979bde..000000000
--- a/data/maps/SecretBase_BlueCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BlueCave2/map.json b/data/maps/SecretBase_BlueCave2/map.json
index ec5d74d2f..1e8cf98fd 100644
--- a/data/maps/SecretBase_BlueCave2/map.json
+++ b/data/maps/SecretBase_BlueCave2/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BLUE_CAVE2",
"name": "SecretBase_BlueCave2",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BLUE_CAVE2",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BlueCave2_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BlueCave2/scripts.inc b/data/maps/SecretBase_BlueCave2/scripts.inc
deleted file mode 100644
index cb4ad3565..000000000
--- a/data/maps/SecretBase_BlueCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BlueCave3/map.json b/data/maps/SecretBase_BlueCave3/map.json
index 07be1610a..d057ade30 100644
--- a/data/maps/SecretBase_BlueCave3/map.json
+++ b/data/maps/SecretBase_BlueCave3/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BLUE_CAVE3",
"name": "SecretBase_BlueCave3",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BLUE_CAVE3",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BlueCave3_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BlueCave3/scripts.inc b/data/maps/SecretBase_BlueCave3/scripts.inc
deleted file mode 100644
index f49ff6dc1..000000000
--- a/data/maps/SecretBase_BlueCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BlueCave4/map.json b/data/maps/SecretBase_BlueCave4/map.json
index 45762d619..4cdb8de60 100644
--- a/data/maps/SecretBase_BlueCave4/map.json
+++ b/data/maps/SecretBase_BlueCave4/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BLUE_CAVE4",
"name": "SecretBase_BlueCave4",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BLUE_CAVE4",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BlueCave4_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BlueCave4/scripts.inc b/data/maps/SecretBase_BlueCave4/scripts.inc
deleted file mode 100644
index faa808545..000000000
--- a/data/maps/SecretBase_BlueCave4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BlueCave4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave1/map.json b/data/maps/SecretBase_BrownCave1/map.json
index 679564ba7..39d7d3d92 100644
--- a/data/maps/SecretBase_BrownCave1/map.json
+++ b/data/maps/SecretBase_BrownCave1/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BROWN_CAVE1",
"name": "SecretBase_BrownCave1",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BROWN_CAVE1",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BrownCave1_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BrownCave1/scripts.inc b/data/maps/SecretBase_BrownCave1/scripts.inc
deleted file mode 100644
index 9d2925611..000000000
--- a/data/maps/SecretBase_BrownCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave2/map.json b/data/maps/SecretBase_BrownCave2/map.json
index 35d5be558..d268e604a 100644
--- a/data/maps/SecretBase_BrownCave2/map.json
+++ b/data/maps/SecretBase_BrownCave2/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BROWN_CAVE2",
"name": "SecretBase_BrownCave2",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BROWN_CAVE2",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BrownCave2_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BrownCave2/scripts.inc b/data/maps/SecretBase_BrownCave2/scripts.inc
deleted file mode 100644
index e9c497fac..000000000
--- a/data/maps/SecretBase_BrownCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave3/map.json b/data/maps/SecretBase_BrownCave3/map.json
index 5424ee85e..f1a4f656c 100644
--- a/data/maps/SecretBase_BrownCave3/map.json
+++ b/data/maps/SecretBase_BrownCave3/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BROWN_CAVE3",
"name": "SecretBase_BrownCave3",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BROWN_CAVE3",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BrownCave3_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BrownCave3/scripts.inc b/data/maps/SecretBase_BrownCave3/scripts.inc
deleted file mode 100644
index 284262d91..000000000
--- a/data/maps/SecretBase_BrownCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_BrownCave4/map.json b/data/maps/SecretBase_BrownCave4/map.json
index de3b4709e..80199de73 100644
--- a/data/maps/SecretBase_BrownCave4/map.json
+++ b/data/maps/SecretBase_BrownCave4/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_BROWN_CAVE4",
"name": "SecretBase_BrownCave4",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_BROWN_CAVE4",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_BrownCave4_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_BrownCave4/scripts.inc b/data/maps/SecretBase_BrownCave4/scripts.inc
deleted file mode 100644
index 84f685508..000000000
--- a/data/maps/SecretBase_BrownCave4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_BrownCave4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave1/map.json b/data/maps/SecretBase_RedCave1/map.json
index eac0366c1..b485575b3 100644
--- a/data/maps/SecretBase_RedCave1/map.json
+++ b/data/maps/SecretBase_RedCave1/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_RED_CAVE1",
"name": "SecretBase_RedCave1",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_RED_CAVE1",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_RedCave1_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_RedCave1/scripts.inc b/data/maps/SecretBase_RedCave1/scripts.inc
deleted file mode 100644
index f9c55a2b5..000000000
--- a/data/maps/SecretBase_RedCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave2/map.json b/data/maps/SecretBase_RedCave2/map.json
index bcbfbd0f2..fb2dd3da3 100644
--- a/data/maps/SecretBase_RedCave2/map.json
+++ b/data/maps/SecretBase_RedCave2/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_RED_CAVE2",
"name": "SecretBase_RedCave2",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_RED_CAVE2",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_RedCave2_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_RedCave2/scripts.inc b/data/maps/SecretBase_RedCave2/scripts.inc
deleted file mode 100644
index e7e0c7ba5..000000000
--- a/data/maps/SecretBase_RedCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave3/map.json b/data/maps/SecretBase_RedCave3/map.json
index 00c14d3f3..ac1b8c103 100644
--- a/data/maps/SecretBase_RedCave3/map.json
+++ b/data/maps/SecretBase_RedCave3/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_RED_CAVE3",
"name": "SecretBase_RedCave3",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_RED_CAVE3",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_RedCave3_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_RedCave3/scripts.inc b/data/maps/SecretBase_RedCave3/scripts.inc
deleted file mode 100644
index 512f7f92a..000000000
--- a/data/maps/SecretBase_RedCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_RedCave4/map.json b/data/maps/SecretBase_RedCave4/map.json
index b54974c4c..b3f5998f2 100644
--- a/data/maps/SecretBase_RedCave4/map.json
+++ b/data/maps/SecretBase_RedCave4/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_RED_CAVE4",
"name": "SecretBase_RedCave4",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_RED_CAVE4",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_RedCave4_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_RedCave4/scripts.inc b/data/maps/SecretBase_RedCave4/scripts.inc
deleted file mode 100644
index 98e79f89f..000000000
--- a/data/maps/SecretBase_RedCave4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_RedCave4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub1/map.json b/data/maps/SecretBase_Shrub1/map.json
index 38cb8997f..b43accd3c 100644
--- a/data/maps/SecretBase_Shrub1/map.json
+++ b/data/maps/SecretBase_Shrub1/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_SHRUB1",
"name": "SecretBase_Shrub1",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_SHRUB1",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Shrub1_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Shrub1/scripts.inc b/data/maps/SecretBase_Shrub1/scripts.inc
deleted file mode 100644
index 24b8685a0..000000000
--- a/data/maps/SecretBase_Shrub1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub2/map.json b/data/maps/SecretBase_Shrub2/map.json
index 728226fdc..86590e0c3 100644
--- a/data/maps/SecretBase_Shrub2/map.json
+++ b/data/maps/SecretBase_Shrub2/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_SHRUB2",
"name": "SecretBase_Shrub2",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_SHRUB2",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Shrub2_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Shrub2/scripts.inc b/data/maps/SecretBase_Shrub2/scripts.inc
deleted file mode 100644
index dad94f46d..000000000
--- a/data/maps/SecretBase_Shrub2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub3/map.json b/data/maps/SecretBase_Shrub3/map.json
index a3c5cdf05..ac14a8e45 100644
--- a/data/maps/SecretBase_Shrub3/map.json
+++ b/data/maps/SecretBase_Shrub3/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_SHRUB3",
"name": "SecretBase_Shrub3",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_SHRUB3",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Shrub3_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Shrub3/scripts.inc b/data/maps/SecretBase_Shrub3/scripts.inc
deleted file mode 100644
index 22c67c939..000000000
--- a/data/maps/SecretBase_Shrub3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Shrub4/map.json b/data/maps/SecretBase_Shrub4/map.json
index 9977f6eeb..c8b86decb 100644
--- a/data/maps/SecretBase_Shrub4/map.json
+++ b/data/maps/SecretBase_Shrub4/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_SHRUB4",
"name": "SecretBase_Shrub4",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_SHRUB4",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Shrub4_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Shrub4/scripts.inc b/data/maps/SecretBase_Shrub4/scripts.inc
deleted file mode 100644
index 1a9952232..000000000
--- a/data/maps/SecretBase_Shrub4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Shrub4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree1/map.json b/data/maps/SecretBase_Tree1/map.json
index 5d3309cc7..93f119a92 100644
--- a/data/maps/SecretBase_Tree1/map.json
+++ b/data/maps/SecretBase_Tree1/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_TREE1",
"name": "SecretBase_Tree1",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_TREE1",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Tree1_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Tree1/scripts.inc b/data/maps/SecretBase_Tree1/scripts.inc
deleted file mode 100644
index 7e7704d6a..000000000
--- a/data/maps/SecretBase_Tree1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree2/map.json b/data/maps/SecretBase_Tree2/map.json
index 67deb9a10..96a4fc7f7 100644
--- a/data/maps/SecretBase_Tree2/map.json
+++ b/data/maps/SecretBase_Tree2/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_TREE2",
"name": "SecretBase_Tree2",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_TREE2",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Tree2_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Tree2/scripts.inc b/data/maps/SecretBase_Tree2/scripts.inc
deleted file mode 100644
index b30a6ec74..000000000
--- a/data/maps/SecretBase_Tree2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree3/map.json b/data/maps/SecretBase_Tree3/map.json
index 6e4494836..89fd3cf49 100644
--- a/data/maps/SecretBase_Tree3/map.json
+++ b/data/maps/SecretBase_Tree3/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_TREE3",
"name": "SecretBase_Tree3",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_TREE3",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Tree3_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Tree3/scripts.inc b/data/maps/SecretBase_Tree3/scripts.inc
deleted file mode 100644
index 9512bbb80..000000000
--- a/data/maps/SecretBase_Tree3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_Tree4/map.json b/data/maps/SecretBase_Tree4/map.json
index 465b1d50b..da6c9e727 100644
--- a/data/maps/SecretBase_Tree4/map.json
+++ b/data/maps/SecretBase_Tree4/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_TREE4",
"name": "SecretBase_Tree4",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_TREE4",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_Tree4_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_Tree4/scripts.inc b/data/maps/SecretBase_Tree4/scripts.inc
deleted file mode 100644
index 62f41627f..000000000
--- a/data/maps/SecretBase_Tree4/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_Tree4_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave1/map.json b/data/maps/SecretBase_YellowCave1/map.json
index a14826a3a..e8ebdd91a 100644
--- a/data/maps/SecretBase_YellowCave1/map.json
+++ b/data/maps/SecretBase_YellowCave1/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_YELLOW_CAVE1",
"name": "SecretBase_YellowCave1",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE1",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_YellowCave1_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_YellowCave1/scripts.inc b/data/maps/SecretBase_YellowCave1/scripts.inc
deleted file mode 100644
index fa56be0eb..000000000
--- a/data/maps/SecretBase_YellowCave1/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_YellowCave1_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave2/map.json b/data/maps/SecretBase_YellowCave2/map.json
index 97b6baa22..9eb60caab 100644
--- a/data/maps/SecretBase_YellowCave2/map.json
+++ b/data/maps/SecretBase_YellowCave2/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_YELLOW_CAVE2",
"name": "SecretBase_YellowCave2",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE2",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_YellowCave2_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_YellowCave2/scripts.inc b/data/maps/SecretBase_YellowCave2/scripts.inc
deleted file mode 100644
index 86c3c876f..000000000
--- a/data/maps/SecretBase_YellowCave2/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_YellowCave2_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave3/map.json b/data/maps/SecretBase_YellowCave3/map.json
index 581a3479f..567255385 100644
--- a/data/maps/SecretBase_YellowCave3/map.json
+++ b/data/maps/SecretBase_YellowCave3/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_YELLOW_CAVE3",
"name": "SecretBase_YellowCave3",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE3",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_YellowCave3_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_YellowCave3/scripts.inc b/data/maps/SecretBase_YellowCave3/scripts.inc
deleted file mode 100644
index 26311e6c5..000000000
--- a/data/maps/SecretBase_YellowCave3/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-SecretBase_YellowCave3_MapScripts:: @ 823B483
diff --git a/data/maps/SecretBase_YellowCave4/map.json b/data/maps/SecretBase_YellowCave4/map.json
index 3dfa7cc08..26a3873fc 100644
--- a/data/maps/SecretBase_YellowCave4/map.json
+++ b/data/maps/SecretBase_YellowCave4/map.json
@@ -1,6 +1,7 @@
{
"id": "MAP_SECRET_BASE_YELLOW_CAVE4",
"name": "SecretBase_YellowCave4",
+ "shared_scripts_map": "SecretBase",
"layout": "LAYOUT_SECRET_BASE_YELLOW_CAVE4",
"music": "MUS_MACHI_S3",
"region_map_section": "MAPSEC_SECRET_BASE",
@@ -24,7 +25,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SecretBase_YellowCave4_EventScript_275D64",
+ "script": "SecretBase_EventScript_RecordMixTrainer",
"flag": "FLAG_DECORATION_0"
},
{
diff --git a/data/maps/SecretBase_YellowCave4/scripts.inc b/data/maps/SecretBase_YellowCave4/scripts.inc
deleted file mode 100644
index c05ea13c0..000000000
--- a/data/maps/SecretBase_YellowCave4/scripts.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-SecretBase_YellowCave4_MapScripts:: @ 823B483
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_RedCave1_MapScript2_23B498
- map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_RedCave1_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_RedCave1_MapScript2_23B4AE
- map_script MAP_SCRIPT_ON_RESUME, SecretBase_RedCave1_MapScript1_23B4B8
- .byte 0
-
-SecretBase_RedCave1_MapScript2_23B498: @ 823B498
- map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, EventScript_275D0C
- .2byte 0
-
-SecretBase_RedCave1_OnTransition: @ 823B4A2
- call SecretBase_RedCave1_EventScript_275CE1
- special SetSecretBaseOwnerGfxId
- special sub_80EB1AC
- end
-
-SecretBase_RedCave1_MapScript2_23B4AE: @ 823B4AE
- map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_RedCave1_EventScript_275B81
- .2byte 0
-
-SecretBase_RedCave1_MapScript1_23B4B8: @ 823B4B8
- setstepcallback 6
- end
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.json b/data/maps/ShoalCave_LowTideEntranceRoom/map.json
index 4b5d23110..984537594 100644
--- a/data/maps/ShoalCave_LowTideEntranceRoom/map.json
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideEntranceRoom_EventScript_236DD9",
+ "script": "ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert",
"flag": "0"
}
],
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
index 13d8f92d9..89cadd56d 100644
--- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
@@ -4,90 +4,91 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 8236DBA
ShoalCave_LowTideEntranceRoom_OnTransition: @ 8236DC0
special UpdateShoalTideFlag
- goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_236DD1
- goto ShoalCave_LowTideEntranceRoom_EventScript_236DD5
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_SetHighTide
+ goto ShoalCave_LowTideEntranceRoom_EventScript_SetLowTide
-ShoalCave_LowTideEntranceRoom_EventScript_236DD1:: @ 8236DD1
+ShoalCave_LowTideEntranceRoom_EventScript_SetHighTide:: @ 8236DD1
setmaplayoutindex LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM
end
-ShoalCave_LowTideEntranceRoom_EventScript_236DD5:: @ 8236DD5
+ShoalCave_LowTideEntranceRoom_EventScript_SetLowTide:: @ 8236DD5
setmaplayoutindex LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
end
-ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9
+ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert:: @ 8236DD9
lock
faceplayer
dotimebasedevents
- call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_236ED9
+ call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_ResetShoalItems
checkitem ITEM_SHOAL_SALT, 4
- compare VAR_RESULT, 0
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
+ compare VAR_RESULT, FALSE
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
checkitem ITEM_SHOAL_SHELL, 4
- compare VAR_RESULT, 0
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF
+ compare VAR_RESULT, FALSE
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
+ msgbox ShoalCave_LowTideEntranceRoom_Text_WouldYouLikeShellBell, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell
checkitemspace ITEM_SHELL_BELL, 1
- compare VAR_RESULT, 0
- call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E69
+ compare VAR_RESULT, FALSE
+ call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed
compare VAR_RESULT, 2
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7FAC, MSGBOX_DEFAULT
- takeitem ITEM_SHOAL_SALT, 4
- takeitem ITEM_SHOAL_SHELL, 4
- giveitem_std ITEM_SHELL_BELL
- compare VAR_RESULT, 0
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell
+ msgbox ShoalCave_LowTideEntranceRoom_Text_MakeShellBellRightAway, MSGBOX_DEFAULT
+ removeitem ITEM_SHOAL_SALT, 4
+ removeitem ITEM_SHOAL_SHELL, 4
+ giveitem ITEM_SHELL_BELL
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, MSGBOX_DEFAULT
+ msgbox ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
release
end
-ShoalCave_LowTideEntranceRoom_EventScript_236E69:: @ 8236E69
+@ If the bag is full, check if a slot will be freed when 4 Shoal Salt or Shells are given
+ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed:: @ 8236E69
checkitem ITEM_SHOAL_SALT, 5
- compare VAR_RESULT, 1
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A
+ compare VAR_RESULT, TRUE
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells
return
-ShoalCave_LowTideEntranceRoom_EventScript_236E7A:: @ 8236E7A
+ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells:: @ 8236E7A
checkitem ITEM_SHOAL_SHELL, 5
- compare VAR_RESULT, 1
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B
+ compare VAR_RESULT, TRUE
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed
return
-ShoalCave_LowTideEntranceRoom_EventScript_236E8B:: @ 8236E8B
+ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed:: @ 8236E8B
setvar VAR_RESULT, 2
return
-ShoalCave_LowTideEntranceRoom_EventScript_236E91:: @ 8236E91
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A80F5, MSGBOX_DEFAULT
+ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell:: @ 8236E91
+ msgbox ShoalCave_LowTideEntranceRoom_Text_NoSpaceInYourBag, MSGBOX_DEFAULT
release
end
-ShoalCave_LowTideEntranceRoom_EventScript_236E9B:: @ 8236E9B
+ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells:: @ 8236E9B
checkitem ITEM_SHOAL_SALT, 1
- compare VAR_RESULT, 1
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
+ compare VAR_RESULT, TRUE
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
checkitem ITEM_SHOAL_SHELL, 1
- compare VAR_RESULT, 1
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
+ msgbox ShoalCave_LowTideEntranceRoom_Text_AreYouPlanningOnGoingInThere, MSGBOX_DEFAULT
release
end
-ShoalCave_LowTideEntranceRoom_EventScript_236EC5:: @ 8236EC5
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7EB3, MSGBOX_DEFAULT
+ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell:: @ 8236EC5
+ msgbox ShoalCave_LowTideEntranceRoom_Text_BringMe4ShoalSaltAndShells, MSGBOX_DEFAULT
release
end
-ShoalCave_LowTideEntranceRoom_EventScript_236ECF:: @ 8236ECF
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A80C6, MSGBOX_DEFAULT
+ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell:: @ 8236ECF
+ msgbox ShoalCave_LowTideEntranceRoom_Text_WantedToMakeShellBell, MSGBOX_DEFAULT
release
end
-ShoalCave_LowTideEntranceRoom_EventScript_236ED9:: @ 8236ED9
+ShoalCave_LowTideEntranceRoom_EventScript_ResetShoalItems:: @ 8236ED9
clearflag FLAG_RECEIVED_SHOAL_SALT_1
clearflag FLAG_RECEIVED_SHOAL_SALT_2
clearflag FLAG_RECEIVED_SHOAL_SALT_3
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.json b/data/maps/ShoalCave_LowTideInnerRoom/map.json
index f9eec06c4..5bc7ef756 100644
--- a/data/maps/ShoalCave_LowTideInnerRoom/map.json
+++ b/data/maps/ShoalCave_LowTideInnerRoom/map.json
@@ -94,7 +94,7 @@
"y": 8,
"elevation": 5,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideInnerRoom_EventScript_23708C"
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt1"
},
{
"type": "sign",
@@ -102,7 +102,7 @@
"y": 26,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideInnerRoom_EventScript_2370C8"
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt2"
},
{
"type": "sign",
@@ -110,7 +110,7 @@
"y": 20,
"elevation": 5,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideInnerRoom_EventScript_236FBA"
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell1"
},
{
"type": "sign",
@@ -118,7 +118,7 @@
"y": 10,
"elevation": 5,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideInnerRoom_EventScript_236FF6"
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell2"
},
{
"type": "sign",
@@ -126,7 +126,7 @@
"y": 9,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideInnerRoom_EventScript_237028"
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell3"
},
{
"type": "sign",
@@ -134,7 +134,7 @@
"y": 13,
"elevation": 5,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideInnerRoom_EventScript_23705A"
+ "script": "ShoalCave_LowTideInnerRoom_EventScript_ShoalShell4"
}
]
} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
index c7f296319..69ef1e75f 100644
--- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
@@ -1,69 +1,69 @@
ShoalCave_LowTideInnerRoom_MapScripts:: @ 8236EF5
- map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideInnerRoom_MapScript1_236F16
+ map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideInnerRoom_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, ShoalCave_LowTideInnerRoom_OnTransition
.byte 0
ShoalCave_LowTideInnerRoom_OnTransition: @ 8236F00
- goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F0E
- goto ShoalCave_LowTideInnerRoom_EventScript_236F12
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetHighTide
+ goto ShoalCave_LowTideInnerRoom_EventScript_SetLowTide
-ShoalCave_LowTideInnerRoom_EventScript_236F0E:: @ 8236F0E
+ShoalCave_LowTideInnerRoom_EventScript_SetHighTide:: @ 8236F0E
setmaplayoutindex LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM
end
-ShoalCave_LowTideInnerRoom_EventScript_236F12:: @ 8236F12
+ShoalCave_LowTideInnerRoom_EventScript_SetLowTide:: @ 8236F12
setmaplayoutindex LAYOUT_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
end
-ShoalCave_LowTideInnerRoom_MapScript1_236F16: @ 8236F16
- call ShoalCave_LowTideInnerRoom_EventScript_236F1C
+ShoalCave_LowTideInnerRoom_OnLoad: @ 8236F16
+ call ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles
end
-ShoalCave_LowTideInnerRoom_EventScript_236F1C:: @ 8236F1C
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_236F3D
- goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F3D
+ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles:: @ 8236F1C
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2
setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Large, 1
- goto ShoalCave_LowTideInnerRoom_EventScript_236F3D
+ goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2
end
-ShoalCave_LowTideInnerRoom_EventScript_236F3D:: @ 8236F3D
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_236F5E
- goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F5E
+ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2:: @ 8236F3D
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3
setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Large, 1
- goto ShoalCave_LowTideInnerRoom_EventScript_236F5E
+ goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3
end
-ShoalCave_LowTideInnerRoom_EventScript_236F5E:: @ 8236F5E
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_236F76
+ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3:: @ 8236F5E
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4
setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Large, 1
- goto ShoalCave_LowTideInnerRoom_EventScript_236F76
+ goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4
end
-ShoalCave_LowTideInnerRoom_EventScript_236F76:: @ 8236F76
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_236F8E
+ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4:: @ 8236F76
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5
setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Large, 1
- goto ShoalCave_LowTideInnerRoom_EventScript_236F8E
+ goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5
end
-ShoalCave_LowTideInnerRoom_EventScript_236F8E:: @ 8236F8E
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_236FA6
+ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5:: @ 8236F8E
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6
setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Large, 1
- goto ShoalCave_LowTideInnerRoom_EventScript_236FA6
+ goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6
end
-ShoalCave_LowTideInnerRoom_EventScript_236FA6:: @ 8236FA6
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_236FB9
+ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6:: @ 8236FA6
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatilesEnd
setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Large, 1
return
-ShoalCave_LowTideInnerRoom_EventScript_236FB9:: @ 8236FB9
+ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatilesEnd:: @ 8236FB9
return
-ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA
+ShoalCave_LowTideInnerRoom_EventScript_ShoalShell1:: @ 8236FBA
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_236FEC
- giveitem_std ITEM_SHOAL_SHELL
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
+ giveitem ITEM_SHOAL_SHELL
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Small, 0
special DrawWholeMapView
@@ -71,16 +71,16 @@ ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA
releaseall
end
-ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC
- msgbox ShoalCave_LowTideInnerRoom_Text_2A81A8, MSGBOX_DEFAULT
+ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell:: @ 8236FEC
+ msgbox ShoalCave_Text_WasShoallShellNowNothing, MSGBOX_DEFAULT
releaseall
end
-ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6
+ShoalCave_LowTideInnerRoom_EventScript_ShoalShell2:: @ 8236FF6
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_236FEC
- giveitem_std ITEM_SHOAL_SHELL
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
+ giveitem ITEM_SHOAL_SHELL
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Small, 0
special DrawWholeMapView
@@ -88,11 +88,11 @@ ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6
releaseall
end
-ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028
+ShoalCave_LowTideInnerRoom_EventScript_ShoalShell3:: @ 8237028
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_236FEC
- giveitem_std ITEM_SHOAL_SHELL
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
+ giveitem ITEM_SHOAL_SHELL
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Small, 0
special DrawWholeMapView
@@ -100,11 +100,11 @@ ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028
releaseall
end
-ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A
+ShoalCave_LowTideInnerRoom_EventScript_ShoalShell4:: @ 823705A
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_236FEC
- giveitem_std ITEM_SHOAL_SHELL
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
+ giveitem ITEM_SHOAL_SHELL
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Small, 0
special DrawWholeMapView
@@ -112,11 +112,11 @@ ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A
releaseall
end
-ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C
+ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt1:: @ 823708C
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_2370BE
- giveitem_std ITEM_SHOAL_SALT
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt
+ giveitem ITEM_SHOAL_SALT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Small, 0
special DrawWholeMapView
@@ -124,16 +124,16 @@ ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C
releaseall
end
-ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE
- msgbox ShoalCave_LowTideInnerRoom_Text_2A8169, MSGBOX_DEFAULT
+ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt:: @ 82370BE
+ msgbox ShoalCave_Text_WasShoalSaltNowNothing, MSGBOX_DEFAULT
releaseall
end
-ShoalCave_LowTideInnerRoom_EventScript_2370C8:: @ 82370C8
+ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt2:: @ 82370C8
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_2370BE
- giveitem_std ITEM_SHOAL_SALT
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt
+ giveitem ITEM_SHOAL_SALT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Small, 0
special DrawWholeMapView
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json
index fad5ddc00..6e8cbe8c9 100644
--- a/data/maps/ShoalCave_LowTideLowerRoom/map.json
+++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "ShoalCave_LowTideLowerRoom_EventScript_2371B2",
+ "script": "ShoalCave_LowTideLowerRoom_EventScript_BlackBelt",
"flag": "0"
}
],
@@ -79,7 +79,7 @@
"y": 2,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideLowerRoom_EventScript_237176"
+ "script": "ShoalCave_LowTideLowerRoom_EventScript_ShoalSalt4"
}
]
} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
index 8492afe5b..0c259ff23 100644
--- a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
@@ -1,60 +1,60 @@
ShoalCave_LowTideLowerRoom_MapScripts:: @ 8237156
- map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideLowerRoom_MapScript1_23715C
+ map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideLowerRoom_OnLoad
.byte 0
-ShoalCave_LowTideLowerRoom_MapScript1_23715C: @ 823715C
- call ShoalCave_LowTideLowerRoom_EventScript_237162
+ShoalCave_LowTideLowerRoom_OnLoad: @ 823715C
+ call ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatiles
end
-ShoalCave_LowTideLowerRoom_EventScript_237162:: @ 8237162
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_237175
- setmetatile 18, 2, 856, 1
+ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatiles:: @ 8237162
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatilesEnd
+ setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Large, 1
return
-ShoalCave_LowTideLowerRoom_EventScript_237175:: @ 8237175
+ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatilesEnd:: @ 8237175
return
-ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176
+ShoalCave_LowTideLowerRoom_EventScript_ShoalSalt4:: @ 8237176
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_2371A8
- giveitem_std ITEM_SHOAL_SALT
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_ReceivedShoalSalt
+ giveitem ITEM_SHOAL_SALT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 18, 2, 858, 0
+ setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Small, 0
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SALT_4
releaseall
end
-ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8
- msgbox ShoalCave_LowTideLowerRoom_Text_2A8169, MSGBOX_DEFAULT
+ShoalCave_LowTideLowerRoom_EventScript_ReceivedShoalSalt:: @ 82371A8
+ msgbox ShoalCave_Text_WasShoalSaltNowNothing, MSGBOX_DEFAULT
releaseall
end
-ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2
+ShoalCave_LowTideLowerRoom_EventScript_BlackBelt:: @ 82371B2
lock
faceplayer
- goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_2371E1
- msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, MSGBOX_DEFAULT
- giveitem_std ITEM_FOCUS_BAND
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_ReceivedFocusBand
+ msgbox ShoalCave_LowTideLowerRoom_Text_CanOvercomeColdWithFocus, MSGBOX_DEFAULT
+ giveitem ITEM_FOCUS_BAND
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_FOCUS_BAND
release
end
-ShoalCave_LowTideLowerRoom_EventScript_2371E1:: @ 82371E1
- msgbox ShoalCave_LowTideLowerRoom_Text_23728D, MSGBOX_DEFAULT
+ShoalCave_LowTideLowerRoom_EventScript_ReceivedFocusBand:: @ 82371E1
+ msgbox ShoalCave_LowTideLowerRoom_Text_EverythingStartsWithFocus, MSGBOX_DEFAULT
release
end
-ShoalCave_LowTideLowerRoom_Text_2371EB: @ 82371EB
+ShoalCave_LowTideLowerRoom_Text_CanOvercomeColdWithFocus: @ 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
+ShoalCave_LowTideLowerRoom_Text_EverythingStartsWithFocus: @ 823728D
.string "Everything starts with focus!$"
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.json b/data/maps/ShoalCave_LowTideStairsRoom/map.json
index 4da33c163..7280cf140 100644
--- a/data/maps/ShoalCave_LowTideStairsRoom/map.json
+++ b/data/maps/ShoalCave_LowTideStairsRoom/map.json
@@ -52,7 +52,7 @@
"y": 11,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "ShoalCave_LowTideStairsRoom_EventScript_23711A"
+ "script": "ShoalCave_LowTideStairsRoom_EventScript_ShoalSalt3"
}
]
} \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
index 74b653a5f..6bbdf0345 100644
--- a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
@@ -1,33 +1,33 @@
ShoalCave_LowTideStairsRoom_MapScripts:: @ 82370FA
- map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideStairsRoom_MapScript1_237100
+ map_script MAP_SCRIPT_ON_LOAD, ShoalCave_LowTideStairsRoom_OnLoad
.byte 0
-ShoalCave_LowTideStairsRoom_MapScript1_237100: @ 8237100
- call ShoalCave_LowTideStairsRoom_EventScript_237106
+ShoalCave_LowTideStairsRoom_OnLoad: @ 8237100
+ call ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatiles
end
-ShoalCave_LowTideStairsRoom_EventScript_237106:: @ 8237106
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_237119
- setmetatile 11, 11, 856, 1
+ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatiles:: @ 8237106
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatilesEnd
+ setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Large, 1
return
-ShoalCave_LowTideStairsRoom_EventScript_237119:: @ 8237119
+ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatilesEnd:: @ 8237119
return
-ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A
+ShoalCave_LowTideStairsRoom_EventScript_ShoalSalt3:: @ 823711A
lockall
- goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_23714C
- giveitem_std ITEM_SHOAL_SALT
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_ReceivedShoalSalt
+ giveitem ITEM_SHOAL_SALT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 11, 11, 858, 0
+ setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Small, 0
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SALT_3
releaseall
end
-ShoalCave_LowTideStairsRoom_EventScript_23714C:: @ 823714C
- msgbox ShoalCave_LowTideStairsRoom_Text_2A8169, MSGBOX_DEFAULT
+ShoalCave_LowTideStairsRoom_EventScript_ReceivedShoalSalt:: @ 823714C
+ msgbox ShoalCave_Text_WasShoalSaltNowNothing, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SingleBattleColosseum/scripts.inc b/data/maps/SingleBattleColosseum/scripts.inc
deleted file mode 100644
index 06ed3ef16..000000000
--- a/data/maps/SingleBattleColosseum/scripts.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-SingleBattleColosseum_MapScripts:: @ 823B77D
- .byte 0
-
diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc
index dcbff3642..8a02974ea 100644
--- a/data/maps/SkyPillar_2F/scripts.inc
+++ b/data/maps/SkyPillar_2F/scripts.inc
@@ -1,21 +1,21 @@
SkyPillar_2F_MapScripts:: @ 823962B
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_2F_MapScript2_2A8327
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole
map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_2F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, SkyPillar_2F_MapScript1_239650
+ map_script MAP_SCRIPT_ON_RESUME, SkyPillar_2F_SetHoleWarp
.byte 0
SkyPillar_2F_OnTransition: @ 823963B
compare VAR_SKY_PILLAR_STATE, 2
call_if_lt SkyPillar_2F_EventScript_CleanFloor
- copyvar VAR_ICE_STEP_COUNT, 0x1
+ copyvar VAR_ICE_STEP_COUNT, 1
end
SkyPillar_2F_EventScript_CleanFloor:: @ 823964C
setmaplayoutindex LAYOUT_SKY_PILLAR_2F_CLEAN
return
-SkyPillar_2F_MapScript1_239650: @ 8239650
- setstepcallback 7
+SkyPillar_2F_SetHoleWarp: @ 8239650
+ setstepcallback STEP_CB_CRACKED_FLOOR
setholewarp MAP_SKY_PILLAR_1F, 255, 0, 0
end
diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc
index 413f56521..af54deaff 100644
--- a/data/maps/SkyPillar_4F/scripts.inc
+++ b/data/maps/SkyPillar_4F/scripts.inc
@@ -1,21 +1,21 @@
SkyPillar_4F_MapScripts:: @ 8239671
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_4F_MapScript2_2A8327
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CaveHole_CheckFallDownHole
map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_4F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, SkyPillar_4F_MapScript1_239696
+ map_script MAP_SCRIPT_ON_RESUME, SkyPillar_4F_SetHoleWarp
.byte 0
SkyPillar_4F_OnTransition: @ 8239681
compare VAR_SKY_PILLAR_STATE, 2
call_if_lt SkyPillar_4F_EventScript_CleanFloor
- copyvar VAR_ICE_STEP_COUNT, 0x1
+ copyvar VAR_ICE_STEP_COUNT, 1
end
SkyPillar_4F_EventScript_CleanFloor:: @ 8239692
setmaplayoutindex LAYOUT_SKY_PILLAR_4F_CLEAN
return
-SkyPillar_4F_MapScript1_239696: @ 8239696
- setstepcallback 7
+SkyPillar_4F_SetHoleWarp: @ 8239696
+ setstepcallback STEP_CB_CRACKED_FLOOR
setholewarp MAP_SKY_PILLAR_3F, 255, 0, 0
end
diff --git a/data/maps/SkyPillar_Outside/map.json b/data/maps/SkyPillar_Outside/map.json
index 6a3764aa9..4c401ccf9 100644
--- a/data/maps/SkyPillar_Outside/map.json
+++ b/data/maps/SkyPillar_Outside/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SkyPillar_Outside_EventScript_2393F8",
+ "script": "SkyPillar_Outside_EventScript_Wallace",
"flag": "FLAG_HIDE_SKY_PILLAR_WALLACE"
}
],
diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc
index 95f50ec02..84d034237 100644
--- a/data/maps/SkyPillar_Outside/scripts.inc
+++ b/data/maps/SkyPillar_Outside/scripts.inc
@@ -1,95 +1,95 @@
SkyPillar_Outside_MapScripts:: @ 82392A8
map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Outside_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, SkyPillar_Outside_MapScript1_2392DD
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_Outside_MapScript2_2392FA
+ map_script MAP_SCRIPT_ON_LOAD, SkyPillar_Outside_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SkyPillar_Outside_OnFrame
.byte 0
SkyPillar_Outside_OnTransition: @ 82392B8
compare VAR_SOOTOPOLIS_CITY_STATE, 3
- call_if_eq SkyPillar_Outside_EventScript_2392CF
+ call_if_eq SkyPillar_Outside_EventScript_HideMapNamePopup
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge SkyPillar_Outside_EventScript_2392D3
+ call_if_ge SkyPillar_Outside_EventScript_CheckSetAbnormalWeather
end
-SkyPillar_Outside_EventScript_2392CF:: @ 82392CF
+SkyPillar_Outside_EventScript_HideMapNamePopup:: @ 82392CF
setflag FLAG_HIDE_MAP_NAME_POPUP
return
-SkyPillar_Outside_EventScript_2392D3:: @ 82392D3
- call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetWeather15
+SkyPillar_Outside_EventScript_CheckSetAbnormalWeather:: @ 82392D3
+ call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
return
-SkyPillar_Outside_MapScript1_2392DD: @ 82392DD
- call_if_set FLAG_WALLACE_GOES_TO_SKY_PILLAR, SkyPillar_Outside_EventScript_2392E7
+SkyPillar_Outside_OnLoad: @ 82392DD
+ call_if_set FLAG_WALLACE_GOES_TO_SKY_PILLAR, SkyPillar_Outside_EventScript_OpenDoor
end
-SkyPillar_Outside_EventScript_2392E7:: @ 82392E7
+SkyPillar_Outside_EventScript_OpenDoor:: @ 82392E7
setmetatile 14, 4, METATILE_Pacifidlog_SkyPillar_DoorOpen_Top, 0
setmetatile 14, 5, METATILE_Pacifidlog_SkyPillar_DoorOpen_Bottom, 0
return
-SkyPillar_Outside_MapScript2_2392FA: @ 82392FA
- map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, SkyPillar_Outside_EventScript_239304
+SkyPillar_Outside_OnFrame: @ 82392FA
+ map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, SkyPillar_Outside_EventScript_WallaceScene
.2byte 0
-SkyPillar_Outside_EventScript_239304:: @ 8239304
+SkyPillar_Outside_EventScript_WallaceScene:: @ 8239304
lockall
- applymovement 1, SkyPillar_Outside_Movement_2393D3
+ applymovement 1, SkyPillar_Outside_Movement_WallaceApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT
+ msgbox SkyPillar_Outside_Text_OpenedDoorToSkyPillar, MSGBOX_DEFAULT
closemessage
delay 30
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 3
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
waitstate
delay 40
- msgbox SkyPillar_Outside_Text_2394BC, MSGBOX_DEFAULT
+ msgbox SkyPillar_Outside_Text_EarthquakeNotMomentToWaste, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2393EB
- applymovement 1, SkyPillar_Outside_Movement_2393DE
+ applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_PlayerClimbSkyPillar
+ applymovement 1, SkyPillar_Outside_Movement_WallaceClimbSkyPillar
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 20
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 3 @ horizontal pan
+ setvar VAR_0x8006, 20 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
delay 20
- applymovement 1, Common_Movement_WalkInPlaceLeft
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 10
- applymovement 1, Common_Movement_WalkInPlaceRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 20
- applymovement 1, Common_Movement_WalkInPlaceDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
- msgbox SkyPillar_Outside_Text_23950C, MSGBOX_DEFAULT
+ msgbox SkyPillar_Outside_Text_SituationGettingWorse, MSGBOX_DEFAULT
closemessage
setflag FLAG_SYS_WEATHER_CTRL
- setweather WEATHER_ALTERNATING
+ setweather WEATHER_ABNORMAL
doweather
special WaitWeather
waitstate
delay 30
- msgbox SkyPillar_Outside_Text_23953A, MSGBOX_DEFAULT
+ msgbox SkyPillar_Outside_Text_GotToGoBackForSootopolis, MSGBOX_DEFAULT
closemessage
playse SE_KAIDAN
- fadescreenswapbuffers 1
+ fadescreenswapbuffers FADE_TO_BLACK
clearflag FLAG_HIDE_MAP_NAME_POPUP
setvar VAR_SOOTOPOLIS_CITY_STATE, 4
removeobject 1
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
- fadescreenswapbuffers 0
+ fadescreenswapbuffers FADE_FROM_BLACK
releaseall
end
-SkyPillar_Outside_Movement_2393D3: @ 82393D3
+SkyPillar_Outside_Movement_WallaceApproachPlayer: @ 82393D3
walk_down
walk_down
walk_down
@@ -102,7 +102,7 @@ SkyPillar_Outside_Movement_2393D3: @ 82393D3
walk_right
step_end
-SkyPillar_Outside_Movement_2393DE: @ 82393DE
+SkyPillar_Outside_Movement_WallaceClimbSkyPillar: @ 82393DE
walk_left
walk_left
walk_left
@@ -117,7 +117,7 @@ SkyPillar_Outside_Movement_2393DE: @ 82393DE
walk_up
step_end
-SkyPillar_Outside_Movement_2393EB: @ 82393EB
+SkyPillar_Outside_Movement_PlayerClimbSkyPillar: @ 82393EB
walk_left
walk_left
walk_left
@@ -132,17 +132,17 @@ SkyPillar_Outside_Movement_2393EB: @ 82393EB
walk_up
step_end
-SkyPillar_Outside_EventScript_2393F8:: @ 82393F8
+SkyPillar_Outside_EventScript_Wallace:: @ 82393F8
end
-SkyPillar_Outside_EventScript_2393F9:: @ 82393F9
- msgbox SkyPillar_Outside_Text_239402, MSGBOX_SIGN
+SkyPillar_Outside_EventScript_ClosedDoor:: @ 82393F9
+ msgbox SkyPillar_Outside_Text_DoorIsClosed, MSGBOX_SIGN
end
-SkyPillar_Outside_Text_239402: @ 8239402
+SkyPillar_Outside_Text_DoorIsClosed: @ 8239402
.string "The door is closed.$"
-SkyPillar_Outside_Text_239416: @ 8239416
+SkyPillar_Outside_Text_OpenedDoorToSkyPillar: @ 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"
@@ -150,16 +150,16 @@ SkyPillar_Outside_Text_239416: @ 8239416
.string "the SKY PILLAR.\p"
.string "{PLAYER}{KUN}, let's be on our way!$"
-SkyPillar_Outside_Text_2394BC: @ 82394BC
+SkyPillar_Outside_Text_EarthquakeNotMomentToWaste: @ 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
+SkyPillar_Outside_Text_SituationGettingWorse: @ 823950C
.string "WALLACE: Hmm…\n"
.string "The situation is getting worse…$"
-SkyPillar_Outside_Text_23953A: @ 823953A
+SkyPillar_Outside_Text_GotToGoBackForSootopolis: @ 823953A
.string "WALLACE: This isn't good…\p"
.string "The weather distortion is spreading\n"
.string "even here…\p"
diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json
index 2d1a6fa1a..eba1eff39 100644
--- a/data/maps/SkyPillar_Top/map.json
+++ b/data/maps/SkyPillar_Top/map.json
@@ -37,8 +37,8 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SkyPillar_Top_EventScript_239722",
- "flag": "FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT"
+ "script": "SkyPillar_Top_EventScript_Rayquaza",
+ "flag": "FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT"
}
],
"warp_events": [
@@ -58,7 +58,7 @@
"elevation": 3,
"var": "VAR_SKY_PILLAR_RAQUAZA_CRY_DONE",
"var_value": "0",
- "script": "SkyPillar_Top_EventScript_23979A"
+ "script": "SkyPillar_Top_EventScript_AwakenRayquaza"
}
],
"bg_events": []
diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc
index 0e9b4c3a1..b67675d93 100644
--- a/data/maps/SkyPillar_Top/scripts.inc
+++ b/data/maps/SkyPillar_Top/scripts.inc
@@ -1,49 +1,49 @@
SkyPillar_Top_MapScripts:: @ 82396B8
- map_script MAP_SCRIPT_ON_RESUME, SkyPillar_Top_MapScript1_2396C8
+ map_script MAP_SCRIPT_ON_RESUME, SkyPillar_Top_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Top_OnTransition
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SkyPillar_Top_MapScript2_239713
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SkyPillar_Top_OnWarp
.byte 0
-SkyPillar_Top_MapScript1_2396C8: @ 82396C8
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_2396D2
+SkyPillar_Top_OnResume: @ 82396C8
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_TryRemoveRayquaza
end
-SkyPillar_Top_EventScript_2396D2:: @ 82396D2
+SkyPillar_Top_EventScript_TryRemoveRayquaza:: @ 82396D2
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
SkyPillar_Top_OnTransition: @ 82396E6
compare VAR_SKY_PILLAR_STATE, 2
- call_if_lt SkyPillar_Top_EventScript_2396FD
+ call_if_lt SkyPillar_Top_EventScript_SetCleanLayout
compare VAR_SKY_PILLAR_STATE, 2
- call_if_ge SkyPillar_Top_EventScript_239705
+ call_if_ge SkyPillar_Top_EventScript_TryShowRayquaza
end
-SkyPillar_Top_EventScript_2396FD:: @ 82396FD
+SkyPillar_Top_EventScript_SetCleanLayout:: @ 82396FD
setmaplayoutindex LAYOUT_SKY_PILLAR_TOP_CLEAN
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
return
-SkyPillar_Top_EventScript_239705:: @ 8239705
- call_if_unset FLAG_DEFEATED_RAYQUAZA, SkyPillar_Top_EventScript_23970F
+SkyPillar_Top_EventScript_TryShowRayquaza:: @ 8239705
+ call_if_unset FLAG_DEFEATED_RAYQUAZA, SkyPillar_Top_EventScript_ShowRayquaza
return
-SkyPillar_Top_EventScript_23970F:: @ 823970F
- clearflag FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT
+SkyPillar_Top_EventScript_ShowRayquaza:: @ 823970F
+ clearflag FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT
return
-SkyPillar_Top_MapScript2_239713: @ 8239713
- map_script_2 VAR_SKY_PILLAR_STATE, 0, SkyPillar_Top_EventScript_23971D
+SkyPillar_Top_OnWarp: @ 8239713
+ map_script_2 VAR_SKY_PILLAR_STATE, 0, SkyPillar_Top_EventScript_RayquazaFaceDown
.2byte 0
-SkyPillar_Top_EventScript_23971D:: @ 823971D
- turnobject 1, 1
+SkyPillar_Top_EventScript_RayquazaFaceDown:: @ 823971D
+ turnobject 1, DIR_SOUTH
end
-SkyPillar_Top_EventScript_239722:: @ 8239722
+SkyPillar_Top_EventScript_Rayquaza:: @ 8239722
lockall
waitse
playmoncry SPECIES_RAYQUAZA, 2
@@ -55,79 +55,79 @@ SkyPillar_Top_EventScript_239722:: @ 8239722
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq SkyPillar_Top_EventScript_239768
- compare VAR_RESULT, 4
- goto_if_eq SkyPillar_Top_EventScript_239771
- compare VAR_RESULT, 5
- goto_if_eq SkyPillar_Top_EventScript_239771
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq SkyPillar_Top_EventScript_DefeatedRayquaza
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq SkyPillar_Top_EventScript_RanFromRayquaza
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq SkyPillar_Top_EventScript_RanFromRayquaza
setflag FLAG_DEFEATED_RAYQUAZA
releaseall
end
-SkyPillar_Top_EventScript_239768:: @ 8239768
+SkyPillar_Top_EventScript_DefeatedRayquaza:: @ 8239768
setflag FLAG_DEFEATED_RAYQUAZA
- goto SkyPillar_Top_EventScript_23977C
+ goto SkyPillar_Top_EventScript_DefeatedRayquaza2
end
-SkyPillar_Top_EventScript_239771:: @ 8239771
- setvar VAR_0x8004, 406
- goto SkyPillar_Top_EventScript_239785
+SkyPillar_Top_EventScript_RanFromRayquaza:: @ 8239771
+ setvar VAR_0x8004, SPECIES_RAYQUAZA
+ goto SkyPillar_Top_EventScript_RanFromRayquaza2
end
-SkyPillar_Top_EventScript_23977C:: @ 823977C
- fadescreenswapbuffers 1
+SkyPillar_Top_EventScript_DefeatedRayquaza2:: @ 823977C
+ fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
- fadescreenswapbuffers 0
+ fadescreenswapbuffers FADE_FROM_BLACK
releaseall
end
-SkyPillar_Top_EventScript_239785:: @ 8239785
- fadescreenswapbuffers 1
+SkyPillar_Top_EventScript_RanFromRayquaza2:: @ 8239785
+ fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
- fadescreenswapbuffers 0
+ fadescreenswapbuffers FADE_FROM_BLACK
bufferspeciesname 0, VAR_0x8004
msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT
releaseall
end
-SkyPillar_Top_EventScript_23979A:: @ 823979A
+SkyPillar_Top_EventScript_AwakenRayquaza:: @ 823979A
lockall
fadeoutbgm 1
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_239858
+ applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_CameraPanUp
waitmovement 0
special RemoveCameraObject
- applymovement 1, SkyPillar_Top_Movement_23983A
+ applymovement 1, SkyPillar_Top_Movement_RayquazaStir
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
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
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
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
waitmoncry
- applymovement 1, SkyPillar_Top_Movement_23984B
+ applymovement 1, SkyPillar_Top_Movement_RayquazaFlyOff
waitmovement 0
removeobject 1
- msgbox SkyPillar_Top_Text_239860, MSGBOX_DEFAULT
+ msgbox SkyPillar_Top_Text_RayquazaFlewOff, MSGBOX_DEFAULT
closemessage
delay 20
fadeinbgm 1
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_23985C
+ applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_CameraPanDown
waitmovement 0
special RemoveCameraObject
setvar VAR_SOOTOPOLIS_CITY_STATE, 5
@@ -136,7 +136,7 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A
releaseall
end
-SkyPillar_Top_Movement_23983A: @ 823983A
+SkyPillar_Top_Movement_RayquazaStir: @ 823983A
delay_16
walk_in_place_fast_left
delay_16
@@ -155,7 +155,7 @@ SkyPillar_Top_Movement_23983A: @ 823983A
delay_16
step_end
-SkyPillar_Top_Movement_23984B: @ 823984B
+SkyPillar_Top_Movement_RayquazaFlyOff: @ 823984B
delay_16
walk_in_place_down
delay_8
@@ -170,18 +170,18 @@ SkyPillar_Top_Movement_23984B: @ 823984B
slide_up
step_end
-SkyPillar_Top_Movement_239858: @ 8239858
+SkyPillar_Top_Movement_CameraPanUp: @ 8239858
walk_slow_up
walk_slow_up
walk_slow_up
step_end
-SkyPillar_Top_Movement_23985C: @ 823985C
+SkyPillar_Top_Movement_CameraPanDown: @ 823985C
walk_slow_down
walk_slow_down
walk_slow_down
step_end
-SkyPillar_Top_Text_239860: @ 8239860
+SkyPillar_Top_Text_RayquazaFlewOff: @ 8239860
.string "The awakened RAYQUAZA flew off…$"
diff --git a/data/maps/SlateportCity/map.json b/data/maps/SlateportCity/map.json
index f548b7349..53c482597 100644
--- a/data/maps/SlateportCity/map.json
+++ b/data/maps/SlateportCity/map.json
@@ -40,7 +40,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCED9",
+ "script": "SlateportCity_EventScript_FatMan",
"flag": "0"
},
{
@@ -53,7 +53,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCEF6",
+ "script": "SlateportCity_EventScript_Man1",
"flag": "0"
},
{
@@ -66,7 +66,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCEB8",
+ "script": "SlateportCity_EventScript_RichBoy",
"flag": "0"
},
{
@@ -79,7 +79,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCF17",
+ "script": "SlateportCity_EventScript_Woman1",
"flag": "0"
},
{
@@ -92,7 +92,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD009",
+ "script": "SlateportCity_EventScript_AquaGrunt1",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -105,7 +105,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCE42",
+ "script": "SlateportCity_EventScript_Cook",
"flag": "0"
},
{
@@ -118,7 +118,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCE63",
+ "script": "SlateportCity_EventScript_OldWoman",
"flag": "0"
},
{
@@ -131,7 +131,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCE84",
+ "script": "SlateportCity_EventScript_Girl",
"flag": "0"
},
{
@@ -144,7 +144,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD353",
+ "script": "SlateportCity_EventScript_Ty",
"flag": "FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY"
},
{
@@ -157,7 +157,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD35C",
+ "script": "SlateportCity_EventScript_Gabby",
"flag": "FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY"
},
{
@@ -170,7 +170,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD1F8",
+ "script": "SlateportCity_EventScript_CaptStern",
"flag": "FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN"
},
{
@@ -183,7 +183,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCFE5",
+ "script": "SlateportCity_EventScript_Sailor1",
"flag": "0"
},
{
@@ -196,7 +196,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCFEE",
+ "script": "SlateportCity_EventScript_Sailor2",
"flag": "0"
},
{
@@ -209,7 +209,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCFF7",
+ "script": "SlateportCity_EventScript_PokefanF",
"flag": "0"
},
{
@@ -222,7 +222,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD000",
+ "script": "SlateportCity_EventScript_Man2",
"flag": "0"
},
{
@@ -235,7 +235,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCFBB",
+ "script": "SlateportCity_EventScript_Maniac",
"flag": "0"
},
{
@@ -248,7 +248,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCFDC",
+ "script": "SlateportCity_EventScript_Woman2",
"flag": "0"
},
{
@@ -261,7 +261,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD020",
+ "script": "SlateportCity_EventScript_AquaGrunt2",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -274,7 +274,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD037",
+ "script": "SlateportCity_EventScript_AquaGrunt3",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -287,7 +287,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD198",
+ "script": "SlateportCity_EventScript_DecorClerk",
"flag": "0"
},
{
@@ -300,7 +300,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD16A",
+ "script": "SlateportCity_EventScript_DollClerk",
"flag": "0"
},
{
@@ -313,7 +313,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD365",
+ "script": "SlateportCity_EventScript_Man3",
"flag": "0"
},
{
@@ -326,7 +326,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCDE4",
+ "script": "SlateportCity_EventScript_EffortRibbonWoman",
"flag": "0"
},
{
@@ -339,7 +339,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD1D8",
+ "script": "SlateportCity_EventScript_PowerTMClerk",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN"
},
{
@@ -352,7 +352,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DCDBD",
+ "script": "SlateportCity_EventScript_EnergyGuru",
"flag": "0"
},
{
@@ -365,7 +365,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD04E",
+ "script": "SlateportCity_EventScript_AquaGrunt4",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -378,7 +378,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD065",
+ "script": "SlateportCity_EventScript_AquaGrunt5",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -391,7 +391,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD07C",
+ "script": "SlateportCity_EventScript_AquaGrunt6",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -404,7 +404,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD093",
+ "script": "SlateportCity_EventScript_AquaGrunt7",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -417,7 +417,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD0AA",
+ "script": "SlateportCity_EventScript_AquaGrunt8",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -430,7 +430,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD0C1",
+ "script": "SlateportCity_EventScript_AquaGrunt9",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -443,7 +443,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD14A",
+ "script": "SlateportCity_EventScript_AquaGrunt10",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -456,7 +456,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD153",
+ "script": "SlateportCity_EventScript_AquaGrunt11",
"flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA"
},
{
@@ -469,7 +469,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_EventScript_1DD36E",
+ "script": "SlateportCity_EventScript_BerryPowderClerk",
"flag": "0"
},
{
@@ -533,7 +533,7 @@
"x": 5,
"y": 19,
"elevation": 0,
- "dest_map": "MAP_SLATEPORT_CITY_HOUSE1",
+ "dest_map": "MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE",
"dest_warp_id": 0
},
{
@@ -561,7 +561,7 @@
"x": 21,
"y": 44,
"elevation": 0,
- "dest_map": "MAP_SLATEPORT_CITY_HOUSE2",
+ "dest_map": "MAP_SLATEPORT_CITY_HOUSE",
"dest_warp_id": 0
}
],
@@ -573,7 +573,7 @@
"elevation": 3,
"var": "VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE",
"var_value": "2",
- "script": "SlateportCity_EventScript_1DD5DC"
+ "script": "SlateportCity_EventScript_ScottBattleTentScene"
}
],
"bg_events": [
@@ -583,7 +583,7 @@
"y": 19,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCFB2"
+ "script": "SlateportCity_EventScript_NameRatersHouseSign"
},
{
"type": "sign",
@@ -615,7 +615,7 @@
"y": 12,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCF94"
+ "script": "SlateportCity_EventScript_HarborSign"
},
{
"type": "sign",
@@ -631,7 +631,7 @@
"y": 51,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCF8B"
+ "script": "SlateportCity_EventScript_MarketSign"
},
{
"type": "sign",
@@ -639,7 +639,7 @@
"y": 26,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCF79"
+ "script": "SlateportCity_EventScript_OceanicMuseumSign"
},
{
"type": "sign",
@@ -647,7 +647,7 @@
"y": 22,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCF82"
+ "script": "SlateportCity_EventScript_CitySign"
},
{
"type": "sign",
@@ -655,7 +655,7 @@
"y": 26,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCF70"
+ "script": "SlateportCity_EventScript_PokemonFanClubSign"
},
{
"type": "sign",
@@ -663,7 +663,7 @@
"y": 13,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCF36"
+ "script": "SlateportCity_EventScript_BattleTentSign"
},
{
"type": "sign",
@@ -671,7 +671,7 @@
"y": 38,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_EventScript_1DCF3F"
+ "script": "SlateportCity_EventScript_SternsShipyardSign"
},
{
"type": "sign",
@@ -679,7 +679,7 @@
"y": 36,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "SlateportCity_EventScript_1DD643"
+ "script": "SlateportCity_EventScript_BerryCrushRankingsSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc
index a1ddb122d..11045361f 100644
--- a/data/maps/SlateportCity/scripts.inc
+++ b/data/maps/SlateportCity/scripts.inc
@@ -1,24 +1,24 @@
SlateportCity_MapScripts:: @ 81DCC61
map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_MapScript2_1DCD12
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_OnFrame
.byte 0
SlateportCity_OnTransition: @ 81DCC6C
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 0
- call SlateportCity_EventScript_1DCC8D
+ call SlateportCity_EventScript_EnterSlateport
compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCC99
+ call_if_eq SlateportCity_EventScript_MovePeopleForSternInterview
compare VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCCE7
+ call_if_eq SlateportCity_EventScript_SetReadyForScottScene
end
-SlateportCity_EventScript_1DCC8D:: @ 81DCC8D
+SlateportCity_EventScript_EnterSlateport:: @ 81DCC8D
setflag FLAG_VISITED_SLATEPORT_CITY
- setvar VAR_LINK_CONTEST_ROOM_STATE, 0
+ setvar VAR_CONTEST_HALL_STATE, 0
setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER
return
-SlateportCity_EventScript_1DCC99:: @ 81DCC99
+SlateportCity_EventScript_MovePeopleForSternInterview:: @ 81DCC99
setobjectxyperm 11, 28, 13
setobjectxyperm 7, 25, 13
setobjectxyperm 3, 25, 14
@@ -35,50 +35,50 @@ SlateportCity_EventScript_1DCC99:: @ 81DCC99
setobjectmovementtype 2, MOVEMENT_TYPE_FACE_LEFT
return
-SlateportCity_EventScript_1DCCE7:: @ 81DCCE7
+SlateportCity_EventScript_SetReadyForScottScene:: @ 81DCCE7
setflag FLAG_HIDE_MAP_NAME_POPUP
getplayerxy VAR_0x8004, VAR_0x8005
compare VAR_0x8004, 30
- goto_if_eq SlateportCity_EventScript_1DCD06
+ goto_if_eq SlateportCity_EventScript_MoveScottLeft
setobjectxyperm 35, 23, 27
setobjectmovementtype 35, MOVEMENT_TYPE_FACE_RIGHT
return
-SlateportCity_EventScript_1DCD06:: @ 81DCD06
+SlateportCity_EventScript_MoveScottLeft:: @ 81DCD06
setobjectxyperm 35, 22, 27
setobjectmovementtype 35, MOVEMENT_TYPE_FACE_RIGHT
return
-SlateportCity_MapScript2_1DCD12: @ 81DCD12
- map_script_2 VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1, SlateportCity_EventScript_1DCD1C
+SlateportCity_OnFrame: @ 81DCD12
+ map_script_2 VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1, SlateportCity_EventScript_ScottScene
.2byte 0
-SlateportCity_EventScript_1DCD1C:: @ 81DCD1C
+SlateportCity_EventScript_ScottScene:: @ 81DCD1C
lockall
addobject 35
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DCDA8
- applymovement 35, SlateportCity_Movement_1DCDAC
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerFaceScott
+ applymovement 35, SlateportCity_Movement_ScottApproachPlayer
waitmovement 0
- msgbox SlateportCity_Text_1DF032, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_YouDroveTeamAquaAway, MSGBOX_DEFAULT
closemessage
- applymovement 35, Common_Movement_WalkInPlaceLeft
+ applymovement 35, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
delay 60
- msgbox SlateportCity_Text_1DF0FE, MSGBOX_DEFAULT
- applymovement 35, Common_Movement_WalkInPlaceRight
+ msgbox SlateportCity_Text_MaybeThisTrainer, MSGBOX_DEFAULT
+ applymovement 35, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox SlateportCity_Text_1DF12B, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_LetsRegisterEachOther, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox SlateportCity_Text_1DF1A6, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_RegisteredScott, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_SCOTT_MATCH_CALL
- msgbox SlateportCity_Text_1DF1D3, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_KeepEyeOnTrainersBeSeeingYou, MSGBOX_DEFAULT
closemessage
- applymovement 35, SlateportCity_Movement_1DCDB4
+ applymovement 35, SlateportCity_Movement_ScottExit
waitmovement 0
removeobject 35
setobjectxyperm 35, 10, 12
@@ -89,13 +89,13 @@ SlateportCity_EventScript_1DCD1C:: @ 81DCD1C
releaseall
end
-SlateportCity_Movement_1DCDA8: @ 81DCDA8
+SlateportCity_Movement_PlayerFaceScott: @ 81DCDA8
delay_16
delay_8
walk_in_place_fastest_left
step_end
-SlateportCity_Movement_1DCDAC: @ 81DCDAC
+SlateportCity_Movement_ScottApproachPlayer: @ 81DCDAC
walk_right
walk_right
walk_right
@@ -105,7 +105,7 @@ SlateportCity_Movement_1DCDAC: @ 81DCDAC
walk_right
step_end
-SlateportCity_Movement_1DCDB4: @ 81DCDB4
+SlateportCity_Movement_ScottExit: @ 81DCDB4
walk_left
walk_left
walk_left
@@ -116,17 +116,17 @@ SlateportCity_Movement_1DCDB4: @ 81DCDB4
walk_left
step_end
-SlateportCity_EventScript_1DCDBD:: @ 81DCDBD
+SlateportCity_EventScript_EnergyGuru:: @ 81DCDBD
lock
faceplayer
- message SlateportCity_Text_1DD64A
+ message SlateportCity_Text_EnergyGuruSellWhatYouNeed
waitmessage
- pokemart SlateportCity_Pokemart_1DCDD4
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart SlateportCity_Pokemart_EnergyGuru
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
-SlateportCity_Pokemart_1DCDD4: @ 81DCDD4
+SlateportCity_Pokemart_EnergyGuru: @ 81DCDD4
.2byte ITEM_PROTEIN
.2byte ITEM_IRON
.2byte ITEM_CARBOS
@@ -137,304 +137,305 @@ SlateportCity_Pokemart_1DCDD4: @ 81DCDD4
release
end
-SlateportCity_EventScript_1DCDE4:: @ 81DCDE4
+SlateportCity_EventScript_EffortRibbonWoman:: @ 81DCDE4
lock
faceplayer
bufferleadmonspeciesname 0
- msgbox SlateportCity_Text_1DD68A, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_OhYourPokemon, MSGBOX_DEFAULT
specialvar VAR_RESULT, LeadMonHasEffortRibbon
- compare VAR_RESULT, 1
- call_if_eq SlateportCity_EventScript_1DCE38
+ compare VAR_RESULT, TRUE
+ call_if_eq SlateportCity_EventScript_MonHasEffortRibbon
specialvar VAR_RESULT, Special_AreLeadMonEVsMaxedOut
- compare VAR_RESULT, 0
- call_if_eq SlateportCity_EventScript_1DCE2E
- msgbox SlateportCity_Text_1DD697, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ call_if_eq SlateportCity_EventScript_MonEVsNotMaxed
+ msgbox SlateportCity_Text_PleaseGiveItThisEffortRibbon, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- message SlateportCity_Text_1DD6E3
+ message SlateportCity_Text_ReceivedEffortRibbon
waitfanfare
- msgbox SlateportCity_Text_1DD702, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_PutEffortRibbonOnMon, MSGBOX_DEFAULT
special GiveLeadMonEffortRibbon
release
end
-SlateportCity_EventScript_1DCE2E:: @ 81DCE2E
- msgbox SlateportCity_Text_1DD722, MSGBOX_DEFAULT
+SlateportCity_EventScript_MonEVsNotMaxed:: @ 81DCE2E
+ msgbox SlateportCity_Text_GoForItLittleHarder, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCE38:: @ 81DCE38
- msgbox SlateportCity_Text_1DD77B, MSGBOX_DEFAULT
+SlateportCity_EventScript_MonHasEffortRibbon:: @ 81DCE38
+ msgbox SlateportCity_Text_EffortRibbonLooksGoodOnIt, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCE42:: @ 81DCE42
+SlateportCity_EventScript_Cook:: @ 81DCE42
lock
faceplayer
compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCE59
- msgbox SlateportCity_Text_1DD81A, MSGBOX_DEFAULT
+ call_if_eq SlateportCity_EventScript_CookSternInterview
+ msgbox SlateportCity_Text_SeaweedFullOfLife, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCE59:: @ 81DCE59
- msgbox SlateportCity_Text_1DE3E2, MSGBOX_DEFAULT
+SlateportCity_EventScript_CookSternInterview:: @ 81DCE59
+ msgbox SlateportCity_Text_CaptainComeBackWithBigFish, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCE63:: @ 81DCE63
+SlateportCity_EventScript_OldWoman:: @ 81DCE63
lock
faceplayer
compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCE7A
- msgbox SlateportCity_Text_1DD8A6, MSGBOX_DEFAULT
+ call_if_eq SlateportCity_EventScript_OldWomanSternInterview
+ msgbox SlateportCity_Text_HowTownIsBornAndGrows, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCE7A:: @ 81DCE7A
- msgbox SlateportCity_Text_1DE28E, MSGBOX_DEFAULT
+SlateportCity_EventScript_OldWomanSternInterview:: @ 81DCE7A
+ msgbox SlateportCity_Text_CaptSternBeingInterviewed, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCE84:: @ 81DCE84
+SlateportCity_EventScript_Girl:: @ 81DCE84
lock
faceplayer
compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCEA4
- goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_1DCEAE
- msgbox SlateportCity_Text_1DD93D, MSGBOX_DEFAULT
+ call_if_eq SlateportCity_EventScript_GirlSternInterview
+ goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_GirlSecretBase
+ msgbox SlateportCity_Text_SlateportWonderfulPlace, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCEA4:: @ 81DCEA4
- msgbox SlateportCity_Text_1DE30C, MSGBOX_DEFAULT
+SlateportCity_EventScript_GirlSternInterview:: @ 81DCEA4
+ msgbox SlateportCity_Text_InterviewerSoCool, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCEAE:: @ 81DCEAE
- msgbox SlateportCity_Text_1DD999, MSGBOX_DEFAULT
+SlateportCity_EventScript_GirlSecretBase:: @ 81DCEAE
+ msgbox SlateportCity_Text_BuyBricksSoDecorWontGetDirty, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCEB8:: @ 81DCEB8
+SlateportCity_EventScript_RichBoy:: @ 81DCEB8
lock
faceplayer
compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCECF
- msgbox SlateportCity_Text_1DDA34, MSGBOX_DEFAULT
+ call_if_eq SlateportCity_EventScript_RichBoySternInterview
+ msgbox SlateportCity_Text_GoingToCompeteInBattleTent, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCECF:: @ 81DCECF
- msgbox SlateportCity_Text_1DE376, MSGBOX_DEFAULT
+SlateportCity_EventScript_RichBoySternInterview:: @ 81DCECF
+ msgbox SlateportCity_Text_SternSaysDiscoveredSomething, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCED9:: @ 81DCED9
+SlateportCity_EventScript_FatMan:: @ 81DCED9
compare VAR_SLATEPORT_CITY_STATE, 1
- goto_if_eq SlateportCity_EventScript_1DCEED
- msgbox SlateportCity_Text_1DDA9A, MSGBOX_NPC
+ goto_if_eq SlateportCity_EventScript_FatManSternInterview
+ msgbox SlateportCity_Text_BushedHikingFromMauville, MSGBOX_NPC
end
-SlateportCity_EventScript_1DCEED:: @ 81DCEED
- msgbox SlateportCity_Text_1DE43D, MSGBOX_SIGN
+SlateportCity_EventScript_FatManSternInterview:: @ 81DCEED
+ msgbox SlateportCity_Text_AmIOnTV, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DCEF6:: @ 81DCEF6
+SlateportCity_EventScript_Man1:: @ 81DCEF6
lock
faceplayer
compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCF0D
- msgbox SlateportCity_Text_1DDB21, MSGBOX_DEFAULT
+ call_if_eq SlateportCity_EventScript_Man1SternInterview
+ msgbox SlateportCity_Text_EveryoneCallsHimCaptStern, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCF0D:: @ 81DCF0D
- msgbox SlateportCity_Text_1DE460, MSGBOX_DEFAULT
+SlateportCity_EventScript_Man1SternInterview:: @ 81DCF0D
+ msgbox SlateportCity_Text_CaptainsACelebrity, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCF17:: @ 81DCF17
+SlateportCity_EventScript_Woman1:: @ 81DCF17
lock
faceplayer
- goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_EventScript_1DCF2C
- msgbox SlateportCity_Text_1DDBAC, MSGBOX_DEFAULT
+ goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_EventScript_Woman1AquaGone
+ msgbox SlateportCity_Text_WhatsLongLineOverThere, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCF2C:: @ 81DCF2C
- msgbox SlateportCity_Text_1DDBD5, MSGBOX_DEFAULT
+SlateportCity_EventScript_Woman1AquaGone:: @ 81DCF2C
+ msgbox SlateportCity_Text_VisitedMuseumOften, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCF36:: @ 81DCF36
- msgbox SlateportCity_Text_1DE8BC, MSGBOX_SIGN
+SlateportCity_EventScript_BattleTentSign:: @ 81DCF36
+ msgbox SlateportCity_Text_BattleTentSign, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DCF3F:: @ 81DCF3F
+SlateportCity_EventScript_SternsShipyardSign:: @ 81DCF3F
lockall
- goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_1DCF66
- goto_if_set FLAG_BADGE07_GET, SlateportCity_EventScript_1DCF5C
- msgbox SlateportCity_Text_1DE8F8, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_SternsShipyardFerryComplete
+ goto_if_set FLAG_BADGE07_GET, SlateportCity_EventScript_SternsShipyardNearsCompletion
+ msgbox SlateportCity_Text_SternsShipyardWantedSign, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_EventScript_1DCF5C:: @ 81DCF5C
- msgbox SlateportCity_Text_1DE940, MSGBOX_DEFAULT
+SlateportCity_EventScript_SternsShipyardNearsCompletion:: @ 81DCF5C
+ msgbox SlateportCity_Text_SternsShipyardNearsCompletion, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_EventScript_1DCF66:: @ 81DCF66
- msgbox SlateportCity_Text_1DE9AA, MSGBOX_DEFAULT
+SlateportCity_EventScript_SternsShipyardFerryComplete:: @ 81DCF66
+ msgbox SlateportCity_Text_SternsShipyardFerryComplete, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_EventScript_1DCF70:: @ 81DCF70
- msgbox SlateportCity_Text_1DEA0B, MSGBOX_SIGN
+SlateportCity_EventScript_PokemonFanClubSign:: @ 81DCF70
+ msgbox SlateportCity_Text_PokemonFanClubSign, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DCF79:: @ 81DCF79
- msgbox SlateportCity_Text_1DEA3B, MSGBOX_SIGN
+SlateportCity_EventScript_OceanicMuseumSign:: @ 81DCF79
+ msgbox SlateportCity_Text_OceanicMuseumSign, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DCF82:: @ 81DCF82
- msgbox SlateportCity_Text_1DEA6F, MSGBOX_SIGN
+SlateportCity_EventScript_CitySign:: @ 81DCF82
+ msgbox SlateportCity_Text_CitySign, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DCF8B:: @ 81DCF8B
- msgbox SlateportCity_Text_1DEAAF, MSGBOX_SIGN
+SlateportCity_EventScript_MarketSign:: @ 81DCF8B
+ msgbox SlateportCity_Text_MarketSign, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DCF94:: @ 81DCF94
+SlateportCity_EventScript_HarborSign:: @ 81DCF94
lockall
- goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_1DCFA8
- msgbox SlateportCity_Text_1DEAE3, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_HarborSignFerryComplete
+ msgbox SlateportCity_Text_HarborFerryUnderConstruction, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_EventScript_1DCFA8:: @ 81DCFA8
- msgbox SlateportCity_Text_1DEB5A, MSGBOX_DEFAULT
+SlateportCity_EventScript_HarborSignFerryComplete:: @ 81DCFA8
+ msgbox SlateportCity_Text_HarborSign, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_EventScript_1DCFB2:: @ 81DCFB2
- msgbox SlateportCity_Text_1DEBA0, MSGBOX_SIGN
+SlateportCity_EventScript_NameRatersHouseSign:: @ 81DCFB2
+ msgbox SlateportCity_Text_NameRatersHouseSign, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DCFBB:: @ 81DCFBB
+SlateportCity_EventScript_Maniac:: @ 81DCFBB
lock
faceplayer
compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_1DCFD2
- msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT
+ call_if_eq SlateportCity_EventScript_ManiacSternInterview
+ msgbox SlateportCity_Text_GetNameRaterToHelpYou, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCFD2:: @ 81DCFD2
- msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT
+@ Unclear if the text here was meant to be different, but its not
+SlateportCity_EventScript_ManiacSternInterview:: @ 81DCFD2
+ msgbox SlateportCity_Text_GetNameRaterToHelpYou, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DCFDC:: @ 81DCFDC
- msgbox SlateportCity_Text_1DE16C, MSGBOX_NPC
+SlateportCity_EventScript_Woman2:: @ 81DCFDC
+ msgbox SlateportCity_Text_CantChangeTradeMonName, MSGBOX_NPC
end
-SlateportCity_EventScript_1DCFE5:: @ 81DCFE5
- msgbox SlateportCity_Text_1DDFF7, MSGBOX_NPC
+SlateportCity_EventScript_Sailor1:: @ 81DCFE5
+ msgbox SlateportCity_Text_SeaIsSoWet, MSGBOX_NPC
end
-SlateportCity_EventScript_1DCFEE:: @ 81DCFEE
- msgbox SlateportCity_Text_1DE04B, MSGBOX_NPC
+SlateportCity_EventScript_Sailor2:: @ 81DCFEE
+ msgbox SlateportCity_Text_SinkOldBoats, MSGBOX_NPC
end
-SlateportCity_EventScript_1DCFF7:: @ 81DCFF7
- msgbox SlateportCity_Text_1DE0D2, MSGBOX_NPC
+SlateportCity_EventScript_PokefanF:: @ 81DCFF7
+ msgbox SlateportCity_Text_BuyTooMuch, MSGBOX_NPC
end
-SlateportCity_EventScript_1DD000:: @ 81DD000
- msgbox SlateportCity_Text_1DE1EC, MSGBOX_NPC
+SlateportCity_EventScript_Man2:: @ 81DD000
+ msgbox SlateportCity_Text_BattleTentBuiltRecently, MSGBOX_NPC
end
-SlateportCity_EventScript_1DD009:: @ 81DD009
+SlateportCity_EventScript_AquaGrunt1:: @ 81DD009
lock
faceplayer
- msgbox SlateportCity_Text_1DDC4F, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_QuitPushing, MSGBOX_DEFAULT
closemessage
applymovement 5, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD020:: @ 81DD020
+SlateportCity_EventScript_AquaGrunt2:: @ 81DD020
lock
faceplayer
- msgbox SlateportCity_Text_1DDC8A, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_AquaHasPolicy, MSGBOX_DEFAULT
closemessage
applymovement 18, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD037:: @ 81DD037
+SlateportCity_EventScript_AquaGrunt3:: @ 81DD037
lock
faceplayer
- msgbox SlateportCity_Text_1DDCD5, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_BossIsBrilliant, MSGBOX_DEFAULT
closemessage
applymovement 19, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD04E:: @ 81DD04E
+SlateportCity_EventScript_AquaGrunt4:: @ 81DD04E
lock
faceplayer
- msgbox SlateportCity_Text_1DDD18, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_WhatsNewSchemeIWonder, MSGBOX_DEFAULT
closemessage
applymovement 26, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD065:: @ 81DD065
+SlateportCity_EventScript_AquaGrunt5:: @ 81DD065
lock
faceplayer
- msgbox SlateportCity_Text_1DDD7D, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_ShouldTakeItAll, MSGBOX_DEFAULT
closemessage
applymovement 27, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD07C:: @ 81DD07C
+SlateportCity_EventScript_AquaGrunt6:: @ 81DD07C
lock
faceplayer
- msgbox SlateportCity_Text_1DDDC0, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_DontButtIn, MSGBOX_DEFAULT
closemessage
applymovement 28, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD093:: @ 81DD093
+SlateportCity_EventScript_AquaGrunt7:: @ 81DD093
lock
faceplayer
- msgbox SlateportCity_Text_1DDDDF, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_RemindsMeOfLongLineForGames, MSGBOX_DEFAULT
closemessage
applymovement 29, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD0AA:: @ 81DD0AA
+SlateportCity_EventScript_AquaGrunt8:: @ 81DD0AA
lock
faceplayer
- msgbox SlateportCity_Text_1DDE2F, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_WhyAreWeLiningUp, MSGBOX_DEFAULT
closemessage
applymovement 30, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD0C1:: @ 81DD0C1
+SlateportCity_EventScript_AquaGrunt9:: @ 81DD0C1
lock
faceplayer
playse SE_PIN
@@ -442,57 +443,57 @@ SlateportCity_EventScript_1DD0C1:: @ 81DD0C1
waitmovement 0
applymovement 31, Common_Movement_Delay48
waitmovement 0
- msgbox SlateportCity_Text_1DDE6E, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_WhatDoYouWant, MSGBOX_DEFAULT
closemessage
applymovement 31, Common_Movement_FaceOriginalDirection
waitmovement 0
- applymovement 31, SlateportCity_Movement_1DD147
+ applymovement 31, SlateportCity_Movement_DelayAquaGrunt
waitmovement 0
applymovement 31, Common_Movement_FacePlayer
waitmovement 0
- msgbox SlateportCity_Text_1DDE86, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_IllReadSignForYou, MSGBOX_DEFAULT
closemessage
applymovement 31, Common_Movement_FaceOriginalDirection
waitmovement 0
- applymovement 31, SlateportCity_Movement_1DD147
+ applymovement 31, SlateportCity_Movement_DelayAquaGrunt
waitmovement 0
- msgbox SlateportCity_Text_1DDEB8, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_SaysSomethingLikeSeaIsEndless, MSGBOX_DEFAULT
closemessage
applymovement 31, Common_Movement_FacePlayer
waitmovement 0
- applymovement 31, SlateportCity_Movement_1DD147
+ applymovement 31, SlateportCity_Movement_DelayAquaGrunt
waitmovement 0
applymovement 31, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_Movement_1DD147: @ 81DD147
+SlateportCity_Movement_DelayAquaGrunt: @ 81DD147
delay_16
delay_16
step_end
-SlateportCity_EventScript_1DD14A:: @ 81DD14A
- msgbox SlateportCity_Text_1DDF32, MSGBOX_SIGN
+SlateportCity_EventScript_AquaGrunt10:: @ 81DD14A
+ msgbox SlateportCity_Text_ShouldveBroughtMyGameBoy, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DD153:: @ 81DD153
+SlateportCity_EventScript_AquaGrunt11:: @ 81DD153
lock
faceplayer
- msgbox SlateportCity_Text_1DDF8D, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_HotSpringsAfterOperation, MSGBOX_DEFAULT
closemessage
applymovement 33, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_EventScript_1DD16A:: @ 81DD16A
+SlateportCity_EventScript_DollClerk:: @ 81DD16A
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
pokemartdecoration SlateportCity_PokemartDecor_Dolls
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
@@ -505,23 +506,23 @@ SlateportCity_PokemartDecor_Dolls: @ 81DD184
release
end
-SlateportCity_EventScript_1DD18E:: @ 81DD18E
- msgbox gUnknown_08272E30, MSGBOX_DEFAULT
+SlateportCity_EventScript_ComeBackWithSecretPower:: @ 81DD18E
+ msgbox gText_ComeBackWithSecretPower, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DD198:: @ 81DD198
+SlateportCity_EventScript_DecorClerk:: @ 81DD198
lock
faceplayer
- goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_1DD18E
- message gUnknown_08272A21
+ goto_if_unset FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_ComeBackWithSecretPower
+ message gText_HowMayIServeYou
waitmessage
- pokemartdecoration SlateportCity_PokemartDecor_1DD1B8
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemartdecoration SlateportCity_PokemartDecor
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemartDecor_1DD1B8: @ 81DD1B8
+SlateportCity_PokemartDecor: @ 81DD1B8
.2byte DECOR_RED_BRICK
.2byte DECOR_BLUE_BRICK
.2byte DECOR_YELLOW_BRICK
@@ -540,69 +541,70 @@ SlateportCity_PokemartDecor_1DD1B8: @ 81DD1B8
release
end
-SlateportCity_EventScript_1DD1D8:: @ 81DD1D8
+SlateportCity_EventScript_PowerTMClerk:: @ 81DD1D8
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart SlateportCity_Pokemart_1DD1F0
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart SlateportCity_Pokemart_PowerTMs
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-SlateportCity_Pokemart_1DD1F0: @ 81DD1F0
- .2byte ITEM_TM10
- .2byte ITEM_TM43
+SlateportCity_Pokemart_PowerTMs: @ 81DD1F0
+ .2byte ITEM_TM10 @ Hidden Power
+ .2byte ITEM_TM43 @ Secret Power
.2byte ITEM_NONE
release
end
-SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
+@ Scene with Capt Sterns interview and Team Aqua announcing plans to steal Submarine
+SlateportCity_EventScript_CaptStern:: @ 81DD1F8
lockall
- msgbox SlateportCity_Text_1DE502, MSGBOX_DEFAULT
- msgbox SlateportCity_Text_1DE54A, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_SternMoveAheadWithExploration, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_GabbyWonderfulThanksForInterview, MSGBOX_DEFAULT
closemessage
- applymovement 10, Common_Movement_WalkInPlaceRight
+ applymovement 10, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 10
- applymovement 9, Common_Movement_WalkInPlaceDown
+ applymovement 9, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 25
- applymovement 11, SlateportCity_Movement_1DD33C
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD34A
- applymovement 10, SlateportCity_Movement_1DD319
- applymovement 9, SlateportCity_Movement_1DD326
+ applymovement 11, SlateportCity_Movement_SternWatchGabbyAndTyExit
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerFaceStern
+ applymovement 10, SlateportCity_Movement_GabbyExit
+ applymovement 9, SlateportCity_Movement_TyExit
waitmovement 0
removeobject 10
removeobject 9
- msgbox SlateportCity_Text_1DE5F7, MSGBOX_DEFAULT
- applymovement 11, Common_Movement_WalkInPlaceUp
+ msgbox SlateportCity_Text_SternWhewFirstInterview, MSGBOX_DEFAULT
+ applymovement 11, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox SlateportCity_Text_1DE64F, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_OhPlayerWeMadeDiscovery, MSGBOX_DEFAULT
playbgm MUS_AQA_0, 0
- msgbox SlateportCity_Text_1DE724, MSGBOX_DEFAULT
- applymovement 6, Common_Movement_WalkInPlaceLeft
- applymovement 1, Common_Movement_WalkInPlaceLeft
- applymovement 7, SlateportCity_Movement_1DD309
- applymovement 3, SlateportCity_Movement_272596
- applymovement 2, SlateportCity_Movement_1DD311
+ msgbox SlateportCity_Text_AquaWillAssumeControlOfSubmarine, MSGBOX_DEFAULT
+ applymovement 6, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 7, SlateportCity_Movement_OldWomanConcern
+ applymovement 3, Common_Movement_QuestionMark
+ applymovement 2, SlateportCity_Movement_ManConcern
waitmovement 0
- applymovement 11, Common_Movement_WalkInPlaceDown
+ applymovement 11, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox SlateportCity_Text_1DE7F7, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_SternWhatWasAllThat, MSGBOX_DEFAULT
playse SE_PIN
applymovement 11, Common_Movement_ExclamationMark
waitmovement 0
applymovement 11, Common_Movement_Delay48
waitmovement 0
- applymovement 11, Common_Movement_WalkInPlaceUp
+ applymovement 11, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox SlateportCity_Text_1DE860, MSGBOX_DEFAULT
- msgbox SlateportCity_Text_1DE8A0, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_FromHarborTryingToTakeSub, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_PleaseComeWithMe, MSGBOX_DEFAULT
closemessage
- applymovement 11, SlateportCity_Movement_1DD337
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD344
+ applymovement 11, SlateportCity_Movement_SternEnterHarbor
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerEnterHarbor
waitmovement 0
removeobject 11
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
@@ -615,7 +617,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
releaseall
end
-SlateportCity_Movement_1DD309: @ 81DD309
+SlateportCity_Movement_OldWomanConcern: @ 81DD309
delay_16
delay_16
emote_question_mark
@@ -625,7 +627,7 @@ SlateportCity_Movement_1DD309: @ 81DD309
walk_in_place_fastest_left
step_end
-SlateportCity_Movement_1DD311: @ 81DD311
+SlateportCity_Movement_ManConcern: @ 81DD311
emote_question_mark
walk_in_place_fastest_up
delay_16
@@ -635,7 +637,7 @@ SlateportCity_Movement_1DD311: @ 81DD311
walk_in_place_fastest_left
step_end
-SlateportCity_Movement_1DD319: @ 81DD319
+SlateportCity_Movement_GabbyExit: @ 81DD319
delay_16
walk_left
walk_left
@@ -650,7 +652,7 @@ SlateportCity_Movement_1DD319: @ 81DD319
walk_left
step_end
-SlateportCity_Movement_1DD326: @ 81DD326
+SlateportCity_Movement_TyExit: @ 81DD326
walk_down
walk_left
walk_left
@@ -666,19 +668,19 @@ SlateportCity_Movement_1DD326: @ 81DD326
walk_left
step_end
-SlateportCity_Movement_1DD334: @ 81DD334
+SlateportCity_Movement_Unused: @ 81DD334
walk_down
walk_in_place_fastest_up
step_end
-SlateportCity_Movement_1DD337: @ 81DD337
+SlateportCity_Movement_SternEnterHarbor: @ 81DD337
walk_right
walk_up
walk_up
set_invisible
step_end
-SlateportCity_Movement_1DD33C: @ 81DD33C
+SlateportCity_Movement_SternWatchGabbyAndTyExit: @ 81DD33C
delay_16
delay_16
delay_16
@@ -688,7 +690,7 @@ SlateportCity_Movement_1DD33C: @ 81DD33C
walk_left
step_end
-SlateportCity_Movement_1DD344: @ 81DD344
+SlateportCity_Movement_PlayerEnterHarbor: @ 81DD344
walk_in_place_fastest_right
delay_16
delay_16
@@ -696,7 +698,7 @@ SlateportCity_Movement_1DD344: @ 81DD344
walk_up
step_end
-SlateportCity_Movement_1DD34A: @ 81DD34A
+SlateportCity_Movement_PlayerFaceStern: @ 81DD34A
delay_16
delay_16
delay_16
@@ -707,198 +709,198 @@ SlateportCity_Movement_1DD34A: @ 81DD34A
walk_in_place_fastest_down
step_end
-SlateportCity_EventScript_1DD353:: @ 81DD353
- msgbox SlateportCity_Text_1DE491, MSGBOX_SIGN
+SlateportCity_EventScript_Ty:: @ 81DD353
+ msgbox SlateportCity_Text_BigSmileForCamera, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DD35C:: @ 81DD35C
- msgbox SlateportCity_Text_1DE4C4, MSGBOX_SIGN
+SlateportCity_EventScript_Gabby:: @ 81DD35C
+ msgbox SlateportCity_Text_MostInvaluableExperience, MSGBOX_SIGN
end
-SlateportCity_EventScript_1DD365:: @ 81DD365
- msgbox SlateportCity_Text_1DD7AD, MSGBOX_NPC
+SlateportCity_EventScript_Man3:: @ 81DD365
+ msgbox SlateportCity_Text_WonderIfLighthouseStartlesPokemon, MSGBOX_NPC
end
-SlateportCity_EventScript_1DD36E:: @ 81DD36E
+SlateportCity_EventScript_BerryPowderClerk:: @ 81DD36E
lock
faceplayer
- goto_if_set FLAG_RECEIVED_POWDER_JAR, SlateportCity_EventScript_1DD39A
- msgbox SlateportCity_Text_1DEBCE, MSGBOX_DEFAULT
- giveitem_std ITEM_POWDER_JAR
+ goto_if_set FLAG_RECEIVED_POWDER_JAR, SlateportCity_EventScript_ReceivedPowderJar
+ msgbox SlateportCity_Text_ExplainBerries, MSGBOX_DEFAULT
+ giveitem ITEM_POWDER_JAR
setflag FLAG_RECEIVED_POWDER_JAR
- msgbox SlateportCity_Text_1DED27, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_ExplainBerryPowder, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DD39A:: @ 81DD39A
+SlateportCity_EventScript_ReceivedPowderJar:: @ 81DD39A
setvar VAR_0x8004, 1
specialvar VAR_RESULT, HasEnoughBerryPowder
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_EventScript_1DD3C0
- msgbox SlateportCity_Text_1DEE40, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_EventScript_ExplainBerryPowder
+ msgbox SlateportCity_Text_BroughtMeSomeBerryPowder, MSGBOX_DEFAULT
special DisplayBerryPowderVendorMenu
- goto SlateportCity_EventScript_1DD3CA
+ goto SlateportCity_EventScript_ChooseBerryPowderItem
end
-SlateportCity_EventScript_1DD3C0:: @ 81DD3C0
- msgbox SlateportCity_Text_1DED27, MSGBOX_DEFAULT
+SlateportCity_EventScript_ExplainBerryPowder:: @ 81DD3C0
+ msgbox SlateportCity_Text_ExplainBerryPowder, MSGBOX_DEFAULT
release
end
-SlateportCity_EventScript_1DD3CA:: @ 81DD3CA
- message SlateportCity_Text_1DEE67
+SlateportCity_EventScript_ChooseBerryPowderItem:: @ 81DD3CA
+ message SlateportCity_Text_ExchangeWhatWithIt
waitmessage
- setvar VAR_0x8004, 7
- special sub_813A128
+ setvar VAR_0x8004, SCROLL_MULTI_BERRY_POWDER_VENDOR
+ special ShowScrollableMultichoice
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
+ case 0, SlateportCity_EventScript_EnergyPowder
+ case 1, SlateportCity_EventScript_EnergyRoot
+ case 2, SlateportCity_EventScript_HealPowder
+ case 3, SlateportCity_EventScript_RevivalHerb
+ case 4, SlateportCity_EventScript_Protein
+ case 5, SlateportCity_EventScript_Iron
+ case 6, SlateportCity_EventScript_Carbos
+ case 7, SlateportCity_EventScript_Calcium
+ case 8, SlateportCity_EventScript_Zinc
+ case 9, SlateportCity_EventScript_HPUp
+ case 10, SlateportCity_EventScript_PPUp
+ case 11, SlateportCity_EventScript_CancelPowderItemSelect
+ case MULTI_B_PRESSED, SlateportCity_EventScript_CancelPowderItemSelect
+ end
+
+SlateportCity_EventScript_EnergyPowder:: @ 81DD46E
bufferitemname 0, ITEM_ENERGY_POWDER
- setvar VAR_0x8008, 30
+ setvar VAR_0x8008, ITEM_ENERGY_POWDER
setvar VAR_0x8009, 50
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD482:: @ 81DD482
+SlateportCity_EventScript_EnergyRoot:: @ 81DD482
bufferitemname 0, ITEM_ENERGY_ROOT
- setvar VAR_0x8008, 31
+ setvar VAR_0x8008, ITEM_ENERGY_ROOT
setvar VAR_0x8009, 80
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD496:: @ 81DD496
+SlateportCity_EventScript_HealPowder:: @ 81DD496
bufferitemname 0, ITEM_HEAL_POWDER
- setvar VAR_0x8008, 32
+ setvar VAR_0x8008, ITEM_HEAL_POWDER
setvar VAR_0x8009, 50
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD4AA:: @ 81DD4AA
+SlateportCity_EventScript_RevivalHerb:: @ 81DD4AA
bufferitemname 0, ITEM_REVIVAL_HERB
- setvar VAR_0x8008, 33
+ setvar VAR_0x8008, ITEM_REVIVAL_HERB
setvar VAR_0x8009, 300
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD4BE:: @ 81DD4BE
+SlateportCity_EventScript_Protein:: @ 81DD4BE
bufferitemname 0, ITEM_PROTEIN
- setvar VAR_0x8008, 64
+ setvar VAR_0x8008, ITEM_PROTEIN
setvar VAR_0x8009, 1000
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD4D2:: @ 81DD4D2
+SlateportCity_EventScript_Iron:: @ 81DD4D2
bufferitemname 0, ITEM_IRON
- setvar VAR_0x8008, 65
+ setvar VAR_0x8008, ITEM_IRON
setvar VAR_0x8009, 1000
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD4E6:: @ 81DD4E6
+SlateportCity_EventScript_Carbos:: @ 81DD4E6
bufferitemname 0, ITEM_CARBOS
- setvar VAR_0x8008, 66
+ setvar VAR_0x8008, ITEM_CARBOS
setvar VAR_0x8009, 1000
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD4FA:: @ 81DD4FA
+SlateportCity_EventScript_Calcium:: @ 81DD4FA
bufferitemname 0, ITEM_CALCIUM
- setvar VAR_0x8008, 67
+ setvar VAR_0x8008, ITEM_CALCIUM
setvar VAR_0x8009, 1000
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD50E:: @ 81DD50E
+SlateportCity_EventScript_Zinc:: @ 81DD50E
bufferitemname 0, ITEM_ZINC
- setvar VAR_0x8008, 70
+ setvar VAR_0x8008, ITEM_ZINC
setvar VAR_0x8009, 1000
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD522:: @ 81DD522
+SlateportCity_EventScript_HPUp:: @ 81DD522
bufferitemname 0, ITEM_HP_UP
- setvar VAR_0x8008, 63
+ setvar VAR_0x8008, ITEM_HP_UP
setvar VAR_0x8009, 1000
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD536:: @ 81DD536
+SlateportCity_EventScript_PPUp:: @ 81DD536
bufferitemname 0, ITEM_PP_UP
- setvar VAR_0x8008, 69
+ setvar VAR_0x8008, ITEM_PP_UP
setvar VAR_0x8009, 3000
- goto SlateportCity_EventScript_1DD557
+ goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
-SlateportCity_EventScript_1DD54A:: @ 81DD54A
- msgbox SlateportCity_Text_1DEFBC, MSGBOX_DEFAULT
+SlateportCity_EventScript_CancelPowderItemSelect:: @ 81DD54A
+ msgbox SlateportCity_Text_ComeBackToTradeBerryPowder, MSGBOX_DEFAULT
special RemoveBerryPowderVendorMenu
release
end
-SlateportCity_EventScript_1DD557:: @ 81DD557
- msgbox SlateportCity_Text_1DEE90, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_EventScript_1DD3CA
+SlateportCity_EventScript_TryBuyBerryPowderItem:: @ 81DD557
+ msgbox SlateportCity_Text_ExchangeBerryPowderForItem, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_EventScript_ChooseBerryPowderItem
copyvar VAR_0x8004, VAR_0x8009
specialvar VAR_RESULT, HasEnoughBerryPowder
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_EventScript_1DD5CE
- giveitem_std VAR_0x8008
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_EventScript_1DD5C1
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_EventScript_NotEnoughBerryPowder
+ giveitem VAR_0x8008
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_EventScript_NoRoomForBerryPowderItem
copyvar VAR_0x8004, VAR_0x8009
special TakeBerryPowder
special PrintPlayerBerryPowderAmount
- msgbox SlateportCity_Text_1DEEF7, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_EventScript_1DD3CA
- msgbox SlateportCity_Text_1DEF79, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_FineBerryPowderTradeSomethingElse, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_EventScript_ChooseBerryPowderItem
+ msgbox SlateportCity_Text_WhenYouGetMoreBringItToMe, MSGBOX_DEFAULT
special RemoveBerryPowderVendorMenu
release
end
-SlateportCity_EventScript_1DD5C1:: @ 81DD5C1
- msgbox gUnknown_08272A89, MSGBOX_DEFAULT
+SlateportCity_EventScript_NoRoomForBerryPowderItem:: @ 81DD5C1
+ msgbox gText_TheBagIsFull, MSGBOX_DEFAULT
special RemoveBerryPowderVendorMenu
release
end
-SlateportCity_EventScript_1DD5CE:: @ 81DD5CE
- msgbox SlateportCity_Text_1DEEC9, MSGBOX_DEFAULT
- goto SlateportCity_EventScript_1DD3CA
+SlateportCity_EventScript_NotEnoughBerryPowder:: @ 81DD5CE
+ msgbox SlateportCity_Text_DontHaveEnoughBerryPowder, MSGBOX_DEFAULT
+ goto SlateportCity_EventScript_ChooseBerryPowderItem
end
-SlateportCity_EventScript_1DD5DC:: @ 81DD5DC
+SlateportCity_EventScript_ScottBattleTentScene:: @ 81DD5DC
lockall
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
opendoor 10, 12
waitdooranim
addobject 35
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD630
- applymovement 35, SlateportCity_Movement_1DD637
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PushPlayerDown
+ applymovement 35, SlateportCity_Movement_ScottExitBattleTent
waitmovement 0
closedoor 10, 12
waitdooranim
- msgbox SlateportCity_Text_1DF28C, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_TakingBattleTentChallenge, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD634
- applymovement 35, SlateportCity_Movement_1DD63A
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_PlayerWatchScottExit
+ applymovement 35, SlateportCity_Movement_ScottExitAfterBattleTent
waitmovement 0
removeobject 35
addvar VAR_SCOTT_STATE, 1
@@ -906,23 +908,23 @@ SlateportCity_EventScript_1DD5DC:: @ 81DD5DC
releaseall
end
-SlateportCity_Movement_1DD630: @ 81DD630
+SlateportCity_Movement_PushPlayerDown: @ 81DD630
lock_facing_direction
walk_down
unlock_facing_direction
step_end
-SlateportCity_Movement_1DD634: @ 81DD634
+SlateportCity_Movement_PlayerWatchScottExit: @ 81DD634
delay_16
walk_in_place_fastest_right
step_end
-SlateportCity_Movement_1DD637: @ 81DD637
+SlateportCity_Movement_ScottExitBattleTent: @ 81DD637
delay_8
walk_down
step_end
-SlateportCity_Movement_1DD63A: @ 81DD63A
+SlateportCity_Movement_ScottExitAfterBattleTent: @ 81DD63A
walk_right
walk_right
walk_right
@@ -933,193 +935,193 @@ SlateportCity_Movement_1DD63A: @ 81DD63A
walk_right
step_end
-SlateportCity_EventScript_1DD643:: @ 81DD643
+SlateportCity_EventScript_BerryCrushRankingsSign:: @ 81DD643
lockall
- special sub_80224D0
+ special ShowBerryCrushRankings
waitstate
releaseall
end
-SlateportCity_Text_1DD64A: @ 81DD64A
+SlateportCity_Text_EnergyGuruSellWhatYouNeed: @ 81DD64A
.string "I'm the ENERGY GURU! I'll go for it and\n"
.string "sell you what you need!$"
-SlateportCity_Text_1DD68A: @ 81DD68A
+SlateportCity_Text_OhYourPokemon: @ 81DD68A
.string "Oh?\n"
.string "Your {STR_VAR_1}…$"
-SlateportCity_Text_1DD697: @ 81DD697
+SlateportCity_Text_PleaseGiveItThisEffortRibbon: @ 81DD697
.string "Went for it stupendously!\p"
.string "As its reward, please give it this\n"
.string "EFFORT RIBBON.$"
-SlateportCity_Text_1DD6E3: @ 81DD6E3
+SlateportCity_Text_ReceivedEffortRibbon: @ 81DD6E3
.string "{PLAYER} received the EFFORT RIBBON.$"
-SlateportCity_Text_1DD702: @ 81DD702
+SlateportCity_Text_PutEffortRibbonOnMon: @ 81DD702
.string "{PLAYER} put the EFFORT RIBBON\n"
.string "on {STR_VAR_1}.$"
-SlateportCity_Text_1DD722: @ 81DD722
+SlateportCity_Text_GoForItLittleHarder: @ 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
+SlateportCity_Text_EffortRibbonLooksGoodOnIt: @ 81DD77B
.string "Oh! Your {STR_VAR_1}, that EFFORT\n"
.string "RIBBON looks good on it!$"
-SlateportCity_Text_1DD7AD: @ 81DD7AD
+SlateportCity_Text_WonderIfLighthouseStartlesPokemon: @ 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
+SlateportCity_Text_SeaweedFullOfLife: @ 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
+SlateportCity_Text_HowTownIsBornAndGrows: @ 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
+SlateportCity_Text_SlateportWonderfulPlace: @ 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
+SlateportCity_Text_BuyBricksSoDecorWontGetDirty: @ 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
+SlateportCity_Text_GoingToCompeteInBattleTent: @ 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
+SlateportCity_Text_BushedHikingFromMauville: @ 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
+SlateportCity_Text_EveryoneCallsHimCaptStern: @ 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
+SlateportCity_Text_WhatsLongLineOverThere: @ 81DDBAC
.string "What is that over there?\n"
.string "That long line…$"
-SlateportCity_Text_1DDBD5: @ 81DDBD5
+SlateportCity_Text_VisitedMuseumOften: @ 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
+SlateportCity_Text_QuitPushing: @ 81DDC4F
.string "Hey, there! Quit pushing!\n"
.string "This is the line, can't you see?$"
-SlateportCity_Text_1DDC8A: @ 81DDC8A
+SlateportCity_Text_AquaHasPolicy: @ 81DDC8A
.string "TEAM AQUA has a policy of\n"
.string "assembling and dispersing at\l"
.string "the operation site.$"
-SlateportCity_Text_1DDCD5: @ 81DDCD5
+SlateportCity_Text_BossIsBrilliant: @ 81DDCD5
.string "Our BOSS is brilliant.\p"
.string "What would he want to do with\n"
.string "a MUSEUM now?$"
-SlateportCity_Text_1DDD18: @ 81DDD18
+SlateportCity_Text_WhatsNewSchemeIWonder: @ 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
+SlateportCity_Text_ShouldTakeItAll: @ 81DDD7D
.string "If there's something we need in\n"
.string "the MUSEUM, we should take it all!$"
-SlateportCity_Text_1DDDC0: @ 81DDDC0
+SlateportCity_Text_DontButtIn: @ 81DDDC0
.string "Hey, you there!\n"
.string "Don't butt in!$"
-SlateportCity_Text_1DDDDF: @ 81DDDDF
+SlateportCity_Text_RemindsMeOfLongLineForGames: @ 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
+SlateportCity_Text_WhyAreWeLiningUp: @ 81DDE2F
.string "Why are we even lining up and paying?\n"
.string "We should just march in!$"
-SlateportCity_Text_1DDE6E: @ 81DDE6E
+SlateportCity_Text_WhatDoYouWant: @ 81DDE6E
.string "What?\n"
.string "What do you want?$"
-SlateportCity_Text_1DDE86: @ 81DDE86
+SlateportCity_Text_IllReadSignForYou: @ 81DDE86
.string "You want to read this sign?\n"
.string "I'll read it for you!$"
-SlateportCity_Text_1DDEB8: @ 81DDEB8
+SlateportCity_Text_SaysSomethingLikeSeaIsEndless: @ 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
+SlateportCity_Text_ShouldveBroughtMyGameBoy: @ 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
+SlateportCity_Text_HotSpringsAfterOperation: @ 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
+SlateportCity_Text_SeaIsSoWet: @ 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
+SlateportCity_Text_SinkOldBoats: @ 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
+SlateportCity_Text_BuyTooMuch: @ 81DE0D2
.string "Whenever I visit here, I get carried\n"
.string "away and buy too much.$"
-SlateportCity_Text_1DE10E: @ 81DE10E
+SlateportCity_Text_GetNameRaterToHelpYou: @ 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
+SlateportCity_Text_CantChangeTradeMonName: @ 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
+SlateportCity_Text_BattleTentBuiltRecently: @ 81DE1EC
.string "Recently, a BATTLE TENT was built\n"
.string "in SLATEPORT.\p"
.string "GYMS are fun, but the BATTLE TENT's\n"
@@ -1127,62 +1129,62 @@ SlateportCity_Text_1DE1EC: @ 81DE1EC
.string "You should go find tough POKéMON\n"
.string "for the BATTLE TENT!$"
-SlateportCity_Text_1DE28E: @ 81DE28E
+SlateportCity_Text_CaptSternBeingInterviewed: @ 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
+SlateportCity_Text_InterviewerSoCool: @ 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
+SlateportCity_Text_SternSaysDiscoveredSomething: @ 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
+SlateportCity_Text_CaptainComeBackWithBigFish: @ 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
+SlateportCity_Text_AmIOnTV: @ 81DE43D
.string "Hey! Are you watching?\n"
.string "Am I on TV?$"
-SlateportCity_Text_1DE460: @ 81DE460
+SlateportCity_Text_CaptainsACelebrity: @ 81DE460
.string "A TV interview! Here!\n"
.string "The CAPTAIN's a celebrity!$"
-SlateportCity_Text_1DE491: @ 81DE491
+SlateportCity_Text_BigSmileForCamera: @ 81DE491
.string "TY: Okay, CAPT. STERN, a big smile\n"
.string "for the camera!$"
-SlateportCity_Text_1DE4C4: @ 81DE4C4
+SlateportCity_Text_MostInvaluableExperience: @ 81DE4C4
.string "GABBY: I see, I see. You've had a most\n"
.string "invaluable experience…$"
-SlateportCity_Text_1DE502: @ 81DE502
+SlateportCity_Text_SternMoveAheadWithExploration: @ 81DE502
.string "CAPT. STERN: Yes, indeed. We intend to\n"
.string "move ahead with our exploration.$"
-SlateportCity_Text_1DE54A: @ 81DE54A
+SlateportCity_Text_GabbyWonderfulThanksForInterview: @ 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
+SlateportCity_Text_SternWhewFirstInterview: @ 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
+SlateportCity_Text_OhPlayerWeMadeDiscovery: @ 81DE64F
.string "Oh! {PLAYER}{KUN}!\n"
.string "You're looking great!\p"
.string "We made a huge discovery on our last\n"
@@ -1192,7 +1194,7 @@ SlateportCity_Text_1DE64F: @ 81DE64F
.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
+SlateportCity_Text_AquaWillAssumeControlOfSubmarine: @ 81DE724
.string "Fufufu…\n"
.string "CAPT. STERN, I presume.\p"
.string "We of TEAM AQUA will assume\n"
@@ -1203,77 +1205,77 @@ SlateportCity_Text_1DE724: @ 81DE724
.string "Just watch and learn what TEAM\l"
.string "AQUA has planned!$"
-SlateportCity_Text_1DE7F7: @ 81DE7F7
+SlateportCity_Text_SternWhatWasAllThat: @ 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
+SlateportCity_Text_FromHarborTryingToTakeSub: @ 81DE860
.string "It's from the HARBOR!\p"
.string "The submarine!\n"
.string "They're trying to take it!$"
-SlateportCity_Text_1DE8A0: @ 81DE8A0
+SlateportCity_Text_PleaseComeWithMe: @ 81DE8A0
.string "{PLAYER}{KUN}!\n"
.string "Please, come with me!$"
-SlateportCity_Text_1DE8BC: @ 81DE8BC
+SlateportCity_Text_BattleTentSign: @ 81DE8BC
.string "BATTLE TENT SLATEPORT SITE\n"
.string "“Find it! The ultimate POKéMON!”$"
-SlateportCity_Text_1DE8F8: @ 81DE8F8
+SlateportCity_Text_SternsShipyardWantedSign: @ 81DE8F8
.string "STERN'S SHIPYARD\p"
.string "“Wanted: A sailor capable of sailing\n"
.string "in all currents.”$"
-SlateportCity_Text_1DE940: @ 81DE940
+SlateportCity_Text_SternsShipyardNearsCompletion: @ 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
+SlateportCity_Text_SternsShipyardFerryComplete: @ 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
+SlateportCity_Text_PokemonFanClubSign: @ 81DEA0B
.string "POKéMON FAN CLUB\n"
.string "“Calling all fans of POKéMON!”$"
-SlateportCity_Text_1DEA3B: @ 81DEA3B
+SlateportCity_Text_OceanicMuseumSign: @ 81DEA3B
.string "“The endless sea sustains\n"
.string "all life.”\p"
.string "OCEANIC MUSEUM$"
-SlateportCity_Text_1DEA6F: @ 81DEA6F
+SlateportCity_Text_CitySign: @ 81DEA6F
.string "SLATEPORT CITY\p"
.string "“The port where people and POKéMON\n"
.string "cross paths.”$"
-SlateportCity_Text_1DEAAF: @ 81DEAAF
+SlateportCity_Text_MarketSign: @ 81DEAAF
.string "SLATEPORT MARKET\n"
.string "“Unique items found nowhere else!”$"
-SlateportCity_Text_1DEAE3: @ 81DEAE3
+SlateportCity_Text_HarborFerryUnderConstruction: @ 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
+SlateportCity_Text_HarborSign: @ 81DEB5A
.string "SLATEPORT HARBOR\p"
.string "“Enjoy a delightful cruise on\n"
.string "the ferry S.S. TIDAL.”$"
-SlateportCity_Text_1DEBA0: @ 81DEBA0
+SlateportCity_Text_NameRatersHouseSign: @ 81DEBA0
.string "NAME RATER'S HOUSE\n"
.string "“POKéMON nicknames rated.”$"
-SlateportCity_Text_1DEBCE: @ 81DEBCE
+SlateportCity_Text_ExplainBerries: @ 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"
@@ -1288,7 +1290,7 @@ SlateportCity_Text_1DEBCE: @ 81DEBCE
.string "I've got something good for someone\n"
.string "like you.$"
-SlateportCity_Text_1DED27: @ 81DED27
+SlateportCity_Text_ExplainBerryPowder: @ 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"
@@ -1299,39 +1301,39 @@ SlateportCity_Text_1DED27: @ 81DED27
.string "I can make you all sorts of medicine\n"
.string "if you bring me lots of BERRY POWDER.$"
-SlateportCity_Text_1DEE40: @ 81DEE40
+SlateportCity_Text_BroughtMeSomeBerryPowder: @ 81DEE40
.string "Have you brought me some\n"
.string "BERRY POWDER?$"
-SlateportCity_Text_1DEE67: @ 81DEE67
+SlateportCity_Text_ExchangeWhatWithIt: @ 81DEE67
.string "What would you like to exchange\n"
.string "it with?$"
-SlateportCity_Text_1DEE90: @ 81DEE90
+SlateportCity_Text_ExchangeBerryPowderForItem: @ 81DEE90
.string "Okay, you want to exchange your\n"
.string "BERRY POWDER for one {STR_VAR_1}?$"
-SlateportCity_Text_1DEEC9: @ 81DEEC9
+SlateportCity_Text_DontHaveEnoughBerryPowder: @ 81DEEC9
.string "Oh, dear. You don't have enough\n"
.string "BERRY POWDER.$"
-SlateportCity_Text_1DEEF7: @ 81DEEF7
+SlateportCity_Text_FineBerryPowderTradeSomethingElse: @ 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
+SlateportCity_Text_WhenYouGetMoreBringItToMe: @ 81DEF79
.string "Okay! When you get some more\n"
.string "BERRY POWDER, bring it to me, please!$"
-SlateportCity_Text_1DEFBC: @ 81DEFBC
+SlateportCity_Text_ComeBackToTradeBerryPowder: @ 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
+SlateportCity_Text_YouDroveTeamAquaAway: @ 81DF032
.string "SCOTT: Huh?\n"
.string "I'm sure I met you somewhere before.\p"
.string "Have I introduced myself to you?\n"
@@ -1340,22 +1342,22 @@ SlateportCity_Text_1DF032: @ 81DF032
.string "here like they were stung.\p"
.string "Let me guess--you drove them away?$"
-SlateportCity_Text_1DF0FE: @ 81DF0FE
+SlateportCity_Text_MaybeThisTrainer: @ 81DF0FE
.string "SCOTT: Hmm…\n"
.string "Maybe, just maybe, this TRAINER…$"
-SlateportCity_Text_1DF12B: @ 81DF12B
+SlateportCity_Text_LetsRegisterEachOther: @ 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
+SlateportCity_Text_RegisteredScott: @ 81DF1A6
.string "Registered this SCOTT person\n"
.string "in the POKéNAV.$"
-SlateportCity_Text_1DF1D3: @ 81DF1D3
+SlateportCity_Text_KeepEyeOnTrainersBeSeeingYou: @ 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"
@@ -1363,7 +1365,7 @@ SlateportCity_Text_1DF1D3: @ 81DF1D3
.string "a bit more.\p"
.string "Be seeing you, {PLAYER}{KUN}!$"
-SlateportCity_Text_1DF28C: @ 81DF28C
+SlateportCity_Text_TakingBattleTentChallenge: @ 81DF28C
.string "SCOTT: Oh, hey!\n"
.string "If it isn't {PLAYER}{KUN}!\p"
.string "{PLAYER}{KUN}, let me guess--you're going\n"
diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
index e178155a9..00c093c49 100644
--- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
@@ -1,55 +1,56 @@
SlateportCity_BattleTentBattleRoom_MapScripts:: @ 8209960
map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_BattleTentBattleRoom_OnTransition
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentBattleRoom_MapScript2_20999A
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentBattleRoom_MapScript2_2099B4
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentBattleRoom_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentBattleRoom_OnFrame
.byte 0
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 3, which has the gfx id VAR_OBJ_GFX_ID_1
+
SlateportCity_BattleTentBattleRoom_OnTransition: @ 8209970
- call SlateportCity_BattleTentBattleRoom_EventScript_209976
+ call SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfx
end
-SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976
+SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfx:: @ 8209976
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E
+ goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
compare VAR_RESULT, FEMALE
- goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_209994
+ goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
return
-SlateportCity_BattleTentBattleRoom_EventScript_20998E:: @ 820998E
+SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxMale:: @ 820998E
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-SlateportCity_BattleTentBattleRoom_EventScript_209994:: @ 8209994
+SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale:: @ 8209994
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-SlateportCity_BattleTentBattleRoom_MapScript2_20999A: @ 820999A
- map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099A4
+SlateportCity_BattleTentBattleRoom_OnWarp: @ 820999A
+ map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentBattleRoom_EventScript_SetUpObjects
.2byte 0
-SlateportCity_BattleTentBattleRoom_EventScript_2099A4:: @ 82099A4
+SlateportCity_BattleTentBattleRoom_EventScript_SetUpObjects:: @ 82099A4
setvar VAR_TEMP_1, 1
hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
hideobjectat 2, MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM
end
-SlateportCity_BattleTentBattleRoom_MapScript2_2099B4: @ 82099B4
- map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099BE
+SlateportCity_BattleTentBattleRoom_OnFrame: @ 82099B4
+ map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentBattleRoom_EventScript_EnterRoom
.2byte 0
-SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
- applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_209A99
+SlateportCity_BattleTentBattleRoom_EventScript_EnterRoom:: @ 82099BE
+ applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_PlayerEnter
waitmovement 0
- setvar VAR_0x8004, 11
- special CallBattleFactoryFunction
+ factory_setopponentgfx
setobjectxyperm 2, 5, 1
removeobject 2
addobject 2
- applymovement 2, SlateportCity_BattleTentBattleRoom_Movement_209A9E
+ applymovement 2, SlateportCity_BattleTentBattleRoom_Movement_OpponentEnter
waitmovement 0
- setvar VAR_0x8004, 4
- special sub_81B99B4
+ battletent_getopponentintro
lockall
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
@@ -60,52 +61,40 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
special DoSpecialTrainerBattle
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 CallFrontierUtilFunc
+ case 1, SlateportCity_BattleTentBattleRoom_EventScript_DefeatedOpponent
+SlateportCity_BattleTent_EventScript_WarpToLobbyLost:: @ 8209A1B
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
+@ forced stop
-SlateportCity_BattleTentBattleRoom_EventScript_209A39:: @ 8209A39
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+SlateportCity_BattleTentBattleRoom_EventScript_DefeatedOpponent:: @ 8209A39
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
- case 3, SlateportCity_BattleTentBattleRoom_EventScript_209A7B
-@ case 3, SlateportCity_BattleTentCorridor_EventScript_209A7B
+ case 3, SlateportCity_BattleTentBattleRoom_EventScript_WarpToLobbyWon
setvar VAR_0x8006, 1
warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 3
waitstate
+@ forced stop
-SlateportCity_BattleTentBattleRoom_EventScript_209A7B:: @ 8209A7B
-SlateportCity_BattleTentCorridor_EventScript_209A7B:: @ 8209A7B
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
+SlateportCity_BattleTentBattleRoom_EventScript_WarpToLobbyWon:: @ 8209A7B
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@ forced stop
-SlateportCity_BattleTentBattleRoom_Movement_209A99: @ 8209A99
+SlateportCity_BattleTentBattleRoom_Movement_PlayerEnter: @ 8209A99
walk_up
walk_up
walk_up
walk_in_place_fastest_right
step_end
-SlateportCity_BattleTentBattleRoom_Movement_209A9E: @ 8209A9E
+SlateportCity_BattleTentBattleRoom_Movement_OpponentEnter: @ 8209A9E
walk_down
walk_down
walk_down
diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
index 27f7fa3b9..718376c4f 100644
--- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
@@ -1,55 +1,52 @@
SlateportCity_BattleTentCorridor_MapScripts:: @ 8208E26
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentCorridor_MapScript2_208E5B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentCorridor_MapScript2_208E31
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentCorridor_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentCorridor_OnWarp
.byte 0
-SlateportCity_BattleTentCorridor_MapScript2_208E31: @ 8208E31
- map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentCorridor_EventScript_208E3B
+ @ This is Slateport Tent's version of the Battle Factory Pre-Battle Room
+
+SlateportCity_BattleTentCorridor_OnWarp: @ 8208E31
+ map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentCorridor_EventScript_SetUpObjects
.2byte 0
-SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B
+SlateportCity_BattleTentCorridor_EventScript_SetUpObjects:: @ 8208E3B
setvar VAR_TEMP_1, 1
compare VAR_0x8006, 1
- goto_if_ne SlateportCity_BattleTentCorridor_EventScript_208E56
+ goto_if_ne SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth
setobjectxy 1, 2, 2
- turnobject 1, 1
-
-SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject 1, DIR_SOUTH
+SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth:: @ 8208E56
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B
- map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentCorridor_EventScript_208E65
+SlateportCity_BattleTentCorridor_OnFrame: @ 8208E5B
+ map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentCorridor_EventScript_EnterCorridor
.2byte 0
-SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65
+SlateportCity_BattleTentCorridor_EventScript_EnterCorridor:: @ 8208E65
compare VAR_0x8006, 1
- goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EEE
+ goto_if_eq SlateportCity_BattleTentCorridor_EventScript_ReturnToRoomFromBattle
setvar VAR_TEMP_0, 1
- applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_209059
+ applymovement 1, SlateportCity_BattleTentCorridor_Movement_AttendantEnter
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerEnter
waitmovement 0
compare VAR_0x8006, 2
- goto_if_eq SlateportCity_BattleTentCorridor_EventScript_209044
- setvar VAR_0x8004, 9
- special sub_81B9D08
- setvar VAR_0x8004, 8
- special sub_81B9D08
- msgbox SlateportCity_BattleTentCorridor_Text_25A1C8, MSGBOX_DEFAULT
- fadescreen 1
- setvar VAR_0x8004, 6
- special sub_81B9D08
+ goto_if_eq SlateportCity_BattleTentCorridor_EventScript_ResumeChallenge
+ slateporttent_generaterentalmons
+ slateporttent_generateopponentmons
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_HoldMonsChooseFromSelection, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ slateporttent_rentmons
waitstate
-
-SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
- msgbox SlateportCity_BattleTentCorridor_Text_25AB96, MSGBOX_DEFAULT
+SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom:: @ 8208EB4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT
closemessage
- applymovement 1, Common_Movement_WalkInPlaceUp
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
opendoor 2, 1
waitdooranim
- applymovement 1, SlateportCity_BattleTentCorridor_Movement_209068
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_20905E
+ applymovement 1, SlateportCity_BattleTentCorridor_Movement_AttendantExit
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerExit
waitmovement 0
closedoor 2, 1
waitdooranim
@@ -57,109 +54,97 @@ SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
waitstate
end
-SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE
- setvar VAR_0x8004, 9
- special CallBattleFactoryFunction
- setvar VAR_0x8004, 16
- special CallBattleFactoryFunction
- msgbox SlateportCity_BattleTentCorridor_Text_25A22D, MSGBOX_DEFAULT
+SlateportCity_BattleTentCorridor_EventScript_ReturnToRoomFromBattle:: @ 8208EEE
+ factory_setopponentmons
+ factory_resethelditems
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LetUsRestoreMons, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
-
-SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent:: @ 8208F0D
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
- call_if_eq SlateportCity_BattleTentCorridor_EventScript_209014
+ call_if_eq SlateportCity_BattleTentCorridor_EventScript_ReadyFor2ndOpponent
compare VAR_RESULT, 2
- call_if_eq SlateportCity_BattleTentCorridor_EventScript_20901B
- multichoice 20, 6, 104, 1
+ call_if_eq SlateportCity_BattleTentCorridor_EventScript_ReadyFor3rdOpponent
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1
switch VAR_RESULT
- case 0, SlateportCity_BattleTentCorridor_EventScript_208FBB
- case 1, SlateportCity_BattleTentCorridor_EventScript_208F5B
- case 2, SlateportCity_BattleTentCorridor_EventScript_208F89
+ case 0, SlateportCity_BattleTentCorridor_EventScript_AskSwapMon
+ case 1, SlateportCity_BattleTentCorridor_EventScript_AskPauseChallenge
+ case 2, SlateportCity_BattleTentCorridor_EventScript_AskRetireChallenge
-SlateportCity_BattleTentCorridor_EventScript_208F5B:: @ 8208F5B
- msgbox SlateportCity_BattleTentCorridor_Text_25A350, MSGBOX_YESNO
+SlateportCity_BattleTentCorridor_EventScript_AskPauseChallenge:: @ 8208F5B
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
switch VAR_RESULT
- case 0, SlateportCity_BattleTentCorridor_EventScript_208F0D
- case 1, SlateportCity_BattleTentCorridor_EventScript_209022
- case 127, SlateportCity_BattleTentCorridor_EventScript_208F0D
+ case NO, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent
+ case YES, SlateportCity_BattleTentCorridor_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent
-SlateportCity_BattleTentCorridor_EventScript_208F89:: @ 8208F89
- message SlateportCity_BattleTentCorridor_Text_25A37A
+SlateportCity_BattleTentCorridor_EventScript_AskRetireChallenge:: @ 8208F89
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_RetireFromChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 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, MSGBOX_YESNO
+ case 1, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent
+ case 0, SlateportCity_BattleTent_EventScript_WarpToLobbyLost
+ case MULTI_B_PRESSED, SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent
+
+SlateportCity_BattleTentCorridor_EventScript_AskSwapMon:: @ 8208FBB
+ slateporttent_generateopponentmons
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_LikeToSwapMon, MSGBOX_YESNO
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
+ case NO, SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom
+ case YES, SlateportCity_BattleTentCorridor_EventScript_SwapMons
+ case MULTI_B_PRESSED, SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom
+
+SlateportCity_BattleTentCorridor_EventScript_SwapMons:: @ 8208FF1
+ fadescreen FADE_TO_BLACK
+ slateporttent_swapmons
waitstate
compare VAR_RESULT, 1
- goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EB4
- msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentCorridor_EventScript_208EB4
+ goto_if_eq SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom
-SlateportCity_BattleTentCorridor_EventScript_209014:: @ 8209014
- message SlateportCity_BattleTentCorridor_Text_25A263
+SlateportCity_BattleTentCorridor_EventScript_ReadyFor2ndOpponent:: @ 8209014
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor2ndOpponent
waitmessage
return
-SlateportCity_BattleTentCorridor_EventScript_20901B:: @ 820901B
- message SlateportCity_BattleTentCorridor_Text_25A289
+SlateportCity_BattleTentCorridor_EventScript_ReadyFor3rdOpponent:: @ 820901B
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_ReadyFor3rdOpponent
waitmessage
return
-SlateportCity_BattleTentCorridor_EventScript_209022:: @ 8209022
- message SlateportCity_BattleTentCorridor_Text_25ABAE
+SlateportCity_BattleTentCorridor_EventScript_PauseChallenge:: @ 8209022
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_SavingDataPleaseWait
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 2
- special sub_81B9D08
+ slateporttent_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044
+SlateportCity_BattleTentCorridor_EventScript_ResumeChallenge:: @ 8209044
special SavePlayerParty
- setvar VAR_0x8004, 10
- setvar VAR_0x8005, 0
- special CallBattleFactoryFunction
- goto SlateportCity_BattleTentCorridor_EventScript_208F0D
+ factory_setparties 0
+ goto SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent
-SlateportCity_BattleTentCorridor_Movement_209059: @ 8209059
+SlateportCity_BattleTentCorridor_Movement_PlayerEnter: @ 8209059
walk_up
walk_up
walk_up
walk_up
step_end
-SlateportCity_BattleTentCorridor_Movement_20905E: @ 820905E
+SlateportCity_BattleTentCorridor_Movement_PlayerExit: @ 820905E
walk_up
walk_up
set_invisible
step_end
-SlateportCity_BattleTentCorridor_Movement_209062: @ 8209062
+SlateportCity_BattleTentCorridor_Movement_AttendantEnter: @ 8209062
walk_up
walk_up
walk_up
@@ -167,12 +152,14 @@ SlateportCity_BattleTentCorridor_Movement_209062: @ 8209062
walk_in_place_fastest_down
step_end
-SlateportCity_BattleTentCorridor_Movement_209068: @ 8209068
+SlateportCity_BattleTentCorridor_Movement_AttendantExit: @ 8209068
walk_up
set_invisible
step_end
-SlateportCity_BattleTentCorridor_Text_20906B: @ 820906B
+@ Leftover text from when this was a Contest Hall in R/S
+@ Unused
+SlateportCity_ContestHall_Text_AdviceForContests: @ 820906B
.string "Want a tasty little bit of advice\n"
.string "for CONTESTS?\p"
.string "Using a certain move after another\n"
@@ -183,12 +170,14 @@ SlateportCity_BattleTentCorridor_Text_20906B: @ 820906B
.string "Of course, your opponents might try\n"
.string "disrupting your POKéMON's showing.$"
-SlateportCity_BattleTentCorridor_Text_20917A: @ 820917A
+@ Unused
+SlateportCity_ContestHall_Text_MyPapaIsContestJudge: @ 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
+@ Unused
+SlateportCity_ContestHall_Text_ImLikeMajorlyCheesed: @ 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"
@@ -200,7 +189,8 @@ SlateportCity_BattleTentCorridor_Text_2091DC: @ 82091DC
.string "Hey, like, you! Zip it, you know?\n"
.string "Just, you know, take this!$"
-SlateportCity_BattleTentCorridor_Text_209322: @ 8209322
+@ Unused
+SlateportCity_ContestHall_Text_ExplainTorment: @ 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"
@@ -208,7 +198,8 @@ SlateportCity_BattleTentCorridor_Text_209322: @ 8209322
.string "Hey, now, you listen here, like,\n"
.string "I'm not laying a torment on you!$"
-SlateportCity_BattleTentCorridor_Text_2093ED: @ 82093ED
+@ Unused
+SlateportCity_ContestHall_Text_MCStepUpTakePartInContest: @ 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"
@@ -216,7 +207,8 @@ SlateportCity_BattleTentCorridor_Text_2093ED: @ 82093ED
.string "You'll do well! I'm sure of it!\n"
.string "My eyes have never failed me!$"
-SlateportCity_BattleTentCorridor_Text_2094A1: @ 82094A1
+@ Unused
+SlateportCity_ContestHall_Text_JudgeWouldntDoToMissContest: @ 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"
@@ -224,17 +216,20 @@ SlateportCity_BattleTentCorridor_Text_2094A1: @ 82094A1
.string "Get a CONTEST PASS in VERDANTURF\n"
.string "CITY and enter anytime!$"
-SlateportCity_BattleTentCorridor_Text_20954E: @ 820954E
+@ Unused
+SlateportCity_ContestHall_Text_ItsAppealTime: @ 820954E
.string "It's appeal time!\n"
.string "What should I lead with?$"
-SlateportCity_BattleTentCorridor_Text_209579: @ 8209579
+@ Unused
+SlateportCity_ContestHall_Text_DidntPayAttentionToAppeal: @ 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
+@ Unused
+SlateportCity_ContestHall_Text_RewardWithSageAdvice: @ 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"
@@ -246,35 +241,41 @@ SlateportCity_BattleTentCorridor_Text_2095F1: @ 82095F1
.string "Well, you'd think something good has\n"
.string "to happen!$"
-SlateportCity_BattleTentCorridor_Text_209718: @ 8209718
+@ Unused
+SlateportCity_ContestHall_Text_MoreFreakedOutThanMon: @ 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
+@ Unused
+SlateportCity_ContestHall_Text_BattleAndContestAlike: @ 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
+@ Unused
+SlateportCity_ContestHall_Text_MonLooksOnTopOfGame: @ 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
+@ Unused
+SlateportCity_ContestHall_Text_MyMonBetterThanThatLot: @ 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
+@ Unused
+SlateportCity_ContestHall_Text_GetUrgeToMoveWithMon: @ 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
+@ Unused
+SlateportCity_ContestHall_Text_HyperRankStage: @ 820993D
.string "POKéMON CONTESTS\n"
.string "HYPER RANK STAGE!$"
diff --git a/data/maps/SlateportCity_BattleTentLobby/map.json b/data/maps/SlateportCity_BattleTentLobby/map.json
index 45783e2c9..b1d06a144 100644
--- a/data/maps/SlateportCity_BattleTentLobby/map.json
+++ b/data/maps/SlateportCity_BattleTentLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_BattleTentLobby_EventScript_2088AA",
+ "script": "SlateportCity_BattleTentLobby_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_BattleTentLobby_EventScript_208A3D",
+ "script": "SlateportCity_BattleTentLobby_EventScript_TormentGiver",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_BattleTentLobby_EventScript_208A7E",
+ "script": "SlateportCity_BattleTentLobby_EventScript_Man",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_BattleTentLobby_EventScript_208A87",
+ "script": "SlateportCity_BattleTentLobby_EventScript_Girl",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_BattleTentLobby_EventScript_208A90",
+ "script": "SlateportCity_BattleTentLobby_EventScript_Woman",
"flag": "0"
}
],
@@ -104,7 +104,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_BattleTentLobby_EventScript_208A99"
+ "script": "SlateportCity_BattleTentLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
index 19416c91b..e0969a591 100644
--- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
@@ -1,327 +1,281 @@
SlateportCity_BattleTentLobby_MapScripts:: @ 8208730
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentLobby_MapScript2_20874F
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentLobby_MapScript2_20873B
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentLobby_OnWarp
.byte 0
-SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B
- map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentLobby_EventScript_208745
+SlateportCity_BattleTentLobby_OnWarp: @ 820873B
+ map_script_2 VAR_TEMP_1, 0, SlateportCity_BattleTentLobby_EventScript_TurnPlayerNorth
.2byte 0
-SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745
+SlateportCity_BattleTentLobby_EventScript_TurnPlayerNorth:: @ 8208745
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F
- map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_208779
- map_script_2 VAR_TEMP_0, 1, SlateportCity_BattleTentLobby_EventScript_208782
- map_script_2 VAR_TEMP_0, 2, SlateportCity_BattleTentLobby_EventScript_208871
- map_script_2 VAR_TEMP_0, 3, SlateportCity_BattleTentLobby_EventScript_2087B7
- map_script_2 VAR_TEMP_0, 4, SlateportCity_BattleTentLobby_EventScript_208837
+SlateportCity_BattleTentLobby_OnFrame: @ 820874F
+ map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, SlateportCity_BattleTentLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, SlateportCity_BattleTentLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, SlateportCity_BattleTentLobby_EventScript_LostChallenge
.2byte 0
-SlateportCity_BattleTentLobby_EventScript_208779:: @ 8208779
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus:: @ 8208779
+ frontier_getstatus
end
-SlateportCity_BattleTentLobby_EventScript_208782:: @ 8208782
+SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving:: @ 8208782
lockall
- msgbox SlateportCity_BattleTentLobby_Text_2C5DFA, MSGBOX_DEFAULT
+ msgbox SlateportCity_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
releaseall
end
-SlateportCity_BattleTentLobby_EventScript_2087B7:: @ 82087B7
+SlateportCity_BattleTentLobby_EventScript_WonChallenge:: @ 82087B7
lockall
- message SlateportCity_BattleTentLobby_Text_2C5C6F
+ message SlateportCity_BattleTentLobby_Text_WonThreeMatchesReturnMons
waitmessage
- setvar VAR_0x8004, 4
- special sub_81B9D08
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special sub_81B9D08
+ slateporttent_setrandomprize
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ slateporttent_save 0
playse SE_SAVE
waitse
-
-SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9
- msgbox SlateportCity_BattleTentLobby_Text_2C5D14, MSGBOX_DEFAULT
- setvar VAR_0x8004, 5
- special sub_81B9D08
+SlateportCity_BattleTentLobby_EventScript_GivePrize:: @ 82087E9
+ msgbox SlateportCity_BattleTentLobby_Text_AwardYouThisPrize, MSGBOX_DEFAULT
+ slateporttent_giveprize
switch VAR_RESULT
- case 0, SlateportCity_BattleTentLobby_EventScript_20882A
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- message SlateportCity_BattleTentLobby_Text_23F68C
+ case FALSE, SlateportCity_BattleTentLobby_EventScript_NoRoomForPrize
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ message BattleFrontier_BattleTowerLobby_Text_ReceivedPrize @ Odd that it uses Tower's instead of Factory's or its own
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- goto SlateportCity_BattleTentLobby_EventScript_208861
+ goto SlateportCity_BattleTentLobby_EventScript_EndGivePrize
-SlateportCity_BattleTentLobby_EventScript_20882A:: @ 820882A
- msgbox SlateportCity_BattleTentLobby_Text_2C5D52, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_208861
+SlateportCity_BattleTentLobby_EventScript_NoRoomForPrize:: @ 820882A
+ msgbox SlateportCity_BattleTentLobby_Text_NoRoomInBagMakeRoom, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_EndGivePrize
-SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837
+SlateportCity_BattleTentLobby_EventScript_LostChallenge:: @ 8208837
lockall
- message SlateportCity_BattleTentLobby_Text_2C5BA2
+ message SlateportCity_BattleTentLobby_Text_ReturnRentalMonsSaveResults
waitmessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 0
- special sub_81B9D08
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ slateporttent_save 0
playse SE_SAVE
waitse
-SlateportCity_BattleTentLobby_EventScript_208861:: @ 8208861
- msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, MSGBOX_DEFAULT
+SlateportCity_BattleTentLobby_EventScript_EndGivePrize:: @ 8208861
+ msgbox SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-SlateportCity_BattleTentLobby_EventScript_208871:: @ 8208871
+SlateportCity_BattleTentLobby_EventScript_ResumeChallenge:: @ 8208871
lockall
- message SlateportCity_BattleTentLobby_Text_2C5DA7
+ message SlateportCity_BattleTentLobby_Text_BeenWaitingForYou
waitmessage
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 1
- special sub_81B9D08
+ slateporttent_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
setvar VAR_0x8006, 2
- goto SlateportCity_BattleTentLobby_EventScript_2089AC
+ goto SlateportCity_BattleTentLobby_EventScript_EnterChallenge
-SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA
+SlateportCity_BattleTentLobby_EventScript_Attendant:: @ 82088AA
lock
faceplayer
- setvar VAR_0x8004, 1
- special sub_81B9D08
- compare VAR_RESULT, 0
- goto_if_ne SlateportCity_BattleTentLobby_EventScript_2087E9
+ slateporttent_getprize
+ compare VAR_RESULT, ITEM_NONE
+ goto_if_ne SlateportCity_BattleTentLobby_EventScript_GivePrize
special SavePlayerParty
- msgbox SlateportCity_BattleTentLobby_Text_2C5810, MSGBOX_DEFAULT
-
-SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA
- message SlateportCity_BattleTentLobby_Text_2C586A
+ msgbox SlateportCity_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT
+SlateportCity_BattleTentLobby_EventScript_AskEnterChallenge:: @ 82088CA
+ message SlateportCity_BattleTentLobby_Text_TakeChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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_FRONTIER_BATTLE_MODE, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 2
- special CallFrontierUtilFunc
- msgbox SlateportCity_BattleTentLobby_Text_2C5B06, MSGBOX_YESNO
+ case 0, SlateportCity_BattleTentLobby_EventScript_TryEnterChallenge
+ case 1, SlateportCity_BattleTentLobby_EventScript_ExplainChallenge
+ case 2, SlateportCity_BattleTentLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_CancelChallenge
+
+SlateportCity_BattleTentLobby_EventScript_TryEnterChallenge:: @ 8208906
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
+ msgbox SlateportCity_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, SlateportCity_BattleTentLobby_EventScript_208A2B
- case 1, SlateportCity_BattleTentLobby_EventScript_208950
- case 127, SlateportCity_BattleTentLobby_EventScript_208A2B
+ case NO, SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge
+ case YES, SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge
-SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950
+SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge:: @ 8208950
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special sub_81B9D08
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ slateporttent_init
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq SlateportCity_BattleTentLobby_EventScript_208A14
+ goto_if_eq SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed
setvar VAR_0x8006, 0
-
-SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC
- msgbox SlateportCity_BattleTentLobby_Text_2C5B8C, MSGBOX_DEFAULT
+SlateportCity_BattleTentLobby_EventScript_EnterChallenge:: @ 82089AC
+ msgbox SlateportCity_BattleTentLobby_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
- call SlateportCity_BattleTentLobby_EventScript_2089C9
+ call SlateportCity_BattleTentLobby_EventScript_WalkToDoor
warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 7
setvar VAR_TEMP_0, 0
waitstate
end
-SlateportCity_BattleTentLobby_EventScript_2089C9:: @ 82089C9
- applymovement 1, SlateportCity_BattleTentLobby_Movement_2089F8
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_2089FF
+SlateportCity_BattleTentLobby_EventScript_WalkToDoor:: @ 82089C9
+ applymovement 1, SlateportCity_BattleTentLobby_Movement_AttendantWalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerWalkToDoor
waitmovement 0
opendoor 6, 1
waitdooranim
- applymovement 1, SlateportCity_BattleTentLobby_Movement_2089FC
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_208A03
+ applymovement 1, SlateportCity_BattleTentLobby_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 6, 1
waitdooranim
return
-SlateportCity_BattleTentLobby_Movement_2089F8: @ 82089F8
+SlateportCity_BattleTentLobby_Movement_AttendantWalkToDoor: @ 82089F8
walk_up
walk_up
walk_up
step_end
-SlateportCity_BattleTentLobby_Movement_2089FC: @ 82089FC
+SlateportCity_BattleTentLobby_Movement_AttendantEnterDoor: @ 82089FC
walk_up
set_invisible
step_end
-SlateportCity_BattleTentLobby_Movement_2089FF: @ 82089FF
+SlateportCity_BattleTentLobby_Movement_PlayerWalkToDoor: @ 82089FF
walk_up
walk_up
walk_up
step_end
-SlateportCity_BattleTentLobby_Movement_208A03: @ 8208A03
+SlateportCity_BattleTentLobby_Movement_PlayerEnterDoor: @ 8208A03
walk_up
walk_up
set_invisible
step_end
-SlateportCity_BattleTentLobby_EventScript_208A07:: @ 8208A07
- msgbox SlateportCity_BattleTentLobby_Text_2C589C, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_2088CA
+SlateportCity_BattleTentLobby_EventScript_ExplainChallenge:: @ 8208A07
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainSlateportTent, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_AskEnterChallenge
-SlateportCity_BattleTentLobby_EventScript_208A14:: @ 8208A14
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto SlateportCity_BattleTentLobby_EventScript_208A2E
+SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed:: @ 8208A14
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto SlateportCity_BattleTentLobby_EventScript_CancelChallenge
-SlateportCity_BattleTentLobby_EventScript_208A2B:: @ 8208A2B
+SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge:: @ 8208A2B
special LoadPlayerParty
-
-SlateportCity_BattleTentLobby_EventScript_208A2E:: @ 8208A2E
- msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, MSGBOX_DEFAULT
+SlateportCity_BattleTentLobby_EventScript_CancelChallenge:: @ 8208A2E
+ msgbox SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
release
end
-SlateportCity_BattleTentLobby_Movement_208A38:: @ 8208A38
+@ Unused
+SlateportCity_BattleTentLobby_Movement_UnusedEnterDoor:: @ 8208A38
walk_up
walk_up
walk_up
set_invisible
step_end
-SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D
+SlateportCity_BattleTentLobby_EventScript_TormentGiver:: @ 8208A3D
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_208A74
- msgbox SlateportCity_BattleTentLobby_Text_208B4E, MSGBOX_DEFAULT
- giveitem_std ITEM_TM41
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_ReceivedTorment
+ msgbox SlateportCity_BattleTentLobby_Text_CouldntFindMonForMe, MSGBOX_DEFAULT
+ giveitem ITEM_TM41
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM41
- msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainTorment, MSGBOX_DEFAULT
release
end
-SlateportCity_BattleTentLobby_EventScript_208A74:: @ 8208A74
- msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT
+SlateportCity_BattleTentLobby_EventScript_ReceivedTorment:: @ 8208A74
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainTorment, MSGBOX_DEFAULT
release
end
-SlateportCity_BattleTentLobby_EventScript_208A7E:: @ 8208A7E
- msgbox SlateportCity_BattleTentLobby_Text_208D27, MSGBOX_NPC
+SlateportCity_BattleTentLobby_EventScript_Man:: @ 8208A7E
+ msgbox SlateportCity_BattleTentLobby_Text_IllTryUsingBugMons, MSGBOX_NPC
end
-SlateportCity_BattleTentLobby_EventScript_208A87:: @ 8208A87
- msgbox SlateportCity_BattleTentLobby_Text_208DA6, MSGBOX_NPC
+SlateportCity_BattleTentLobby_EventScript_Girl:: @ 8208A87
+ msgbox SlateportCity_BattleTentLobby_Text_BattleEvenWithoutToughMons, MSGBOX_NPC
end
-SlateportCity_BattleTentLobby_EventScript_208A90:: @ 8208A90
- msgbox SlateportCity_BattleTentLobby_Text_208DF1, MSGBOX_NPC
+SlateportCity_BattleTentLobby_EventScript_Woman:: @ 8208A90
+ msgbox SlateportCity_BattleTentLobby_Text_NiceIfMoreSelection, MSGBOX_NPC
end
-SlateportCity_BattleTentLobby_EventScript_208A99:: @ 8208A99
+SlateportCity_BattleTentLobby_EventScript_RulesBoard:: @ 8208A99
lockall
- msgbox SlateportCity_BattleTentLobby_Text_259721, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_208AA8
+ msgbox BattleFrontier_BattleFactoryLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard
end
-SlateportCity_BattleTentLobby_EventScript_208AA8:: @ 8208AA8
- message SlateportCity_BattleTentLobby_Text_259743
+SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard:: @ 8208AA8
+ message BattleFrontier_BattleFactoryLobby_Text_ReadWhichHeading
waitmessage
- multichoice 17, 0, 111, 0
+ multichoice 17, 0, MULTI_SLATEPORT_TENT_RULES, 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
+ case 0, SlateportCity_BattleTentLobby_EventScript_RulesBasics
+ case 1, SlateportCity_BattleTentLobby_EventScript_RulesSwapPartner
+ case 2, SlateportCity_BattleTentLobby_EventScript_RulesSwapNumber
+ case 3, SlateportCity_BattleTentLobby_EventScript_RulesSwapNotes
+ case 4, SlateportCity_BattleTentLobby_EventScript_RulesMons
+ case 5, SlateportCity_BattleTentLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_ExitRules
end
-SlateportCity_BattleTentLobby_EventScript_208B06:: @ 8208B06
- msgbox SlateportCity_BattleTentLobby_Text_2C5F08, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_208AA8
+SlateportCity_BattleTentLobby_EventScript_RulesBasics:: @ 8208B06
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainBasicRules, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard
end
-SlateportCity_BattleTentLobby_EventScript_208B14:: @ 8208B14
- msgbox SlateportCity_BattleTentLobby_Text_2C5F9D, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_208AA8
+SlateportCity_BattleTentLobby_EventScript_RulesSwapPartner:: @ 8208B14
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainSwapPartnerRules, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard
end
-SlateportCity_BattleTentLobby_EventScript_208B22:: @ 8208B22
- msgbox SlateportCity_BattleTentLobby_Text_2C6020, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_208AA8
+SlateportCity_BattleTentLobby_EventScript_RulesSwapNumber:: @ 8208B22
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainSwapNumberRules, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard
end
-SlateportCity_BattleTentLobby_EventScript_208B30:: @ 8208B30
- msgbox SlateportCity_BattleTentLobby_Text_2C60C0, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_208AA8
+SlateportCity_BattleTentLobby_EventScript_RulesSwapNotes:: @ 8208B30
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainSwapNotes, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard
end
-SlateportCity_BattleTentLobby_EventScript_208B3E:: @ 8208B3E
- msgbox SlateportCity_BattleTentLobby_Text_2C61FE, MSGBOX_DEFAULT
- goto SlateportCity_BattleTentLobby_EventScript_208AA8
+SlateportCity_BattleTentLobby_EventScript_RulesMons:: @ 8208B3E
+ msgbox SlateportCity_BattleTentLobby_Text_ExplainMonRules, MSGBOX_DEFAULT
+ goto SlateportCity_BattleTentLobby_EventScript_ReadRulesBoard
end
-SlateportCity_BattleTentLobby_EventScript_208B4C:: @ 8208B4C
+SlateportCity_BattleTentLobby_EventScript_ExitRules:: @ 8208B4C
releaseall
end
-SlateportCity_BattleTentLobby_Text_208B4E: @ 8208B4E
+SlateportCity_BattleTentLobby_Text_CouldntFindMonForMe: @ 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"
@@ -331,7 +285,7 @@ SlateportCity_BattleTentLobby_Text_208B4E: @ 8208B4E
.string "Hey, like, you! Zip it, you know?\n"
.string "Just, you know, take this!$"
-SlateportCity_BattleTentLobby_Text_208C5C: @ 8208C5C
+SlateportCity_BattleTentLobby_Text_ExplainTorment: @ 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"
@@ -339,18 +293,18 @@ SlateportCity_BattleTentLobby_Text_208C5C: @ 8208C5C
.string "Hey, now, you listen here, like,\n"
.string "I'm not laying a torment on you!$"
-SlateportCity_BattleTentLobby_Text_208D27: @ 8208D27
+SlateportCity_BattleTentLobby_Text_IllTryUsingBugMons: @ 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
+SlateportCity_BattleTentLobby_Text_BattleEvenWithoutToughMons: @ 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
+SlateportCity_BattleTentLobby_Text_NiceIfMoreSelection: @ 8208DF1
.string "Wouldn't it be nice if they had more of\n"
.string "a selection?$"
diff --git a/data/maps/SlateportCity_Harbor/map.json b/data/maps/SlateportCity_Harbor/map.json
index c61c5a5e6..c9aaf1d7a 100644
--- a/data/maps/SlateportCity_Harbor/map.json
+++ b/data/maps/SlateportCity_Harbor/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_Harbor_EventScript_20CAF1",
+ "script": "SlateportCity_Harbor_EventScript_FerryAttendant",
"flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_Harbor_EventScript_20CC52",
+ "script": "SlateportCity_Harbor_EventScript_Sailor",
"flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_Harbor_EventScript_20CC99",
+ "script": "SlateportCity_Harbor_EventScript_FatMan",
"flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_Harbor_EventScript_20CCA2",
+ "script": "SlateportCity_Harbor_EventScript_CaptStern",
"flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN"
},
{
@@ -157,7 +157,7 @@
"elevation": 3,
"var": "VAR_SLATEPORT_HARBOR_STATE",
"var_value": "1",
- "script": "SlateportCity_Harbor_EventScript_20C9BB"
+ "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger0"
},
{
"type": "trigger",
@@ -166,7 +166,7 @@
"elevation": 3,
"var": "VAR_SLATEPORT_HARBOR_STATE",
"var_value": "1",
- "script": "SlateportCity_Harbor_EventScript_20C9C7"
+ "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger1"
},
{
"type": "trigger",
@@ -175,7 +175,7 @@
"elevation": 3,
"var": "VAR_SLATEPORT_HARBOR_STATE",
"var_value": "1",
- "script": "SlateportCity_Harbor_EventScript_20C9D3"
+ "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger2"
},
{
"type": "trigger",
@@ -184,7 +184,7 @@
"elevation": 3,
"var": "VAR_SLATEPORT_HARBOR_STATE",
"var_value": "1",
- "script": "SlateportCity_Harbor_EventScript_20C9DF"
+ "script": "SlateportCity_Harbor_EventScript_AquaEscapeTrigger3"
}
],
"bg_events": []
diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc
index c46923bb0..39025033e 100644
--- a/data/maps/SlateportCity_Harbor/scripts.inc
+++ b/data/maps/SlateportCity_Harbor/scripts.inc
@@ -6,58 +6,58 @@ SlateportCity_Harbor_OnTransition: @ 820C983
setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13
setvar VAR_TEMP_1, 0
compare VAR_SLATEPORT_HARBOR_STATE, 1
- call_if_eq SlateportCity_Harbor_EventScript_20C9A9
- call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20C9A5
+ call_if_eq SlateportCity_Harbor_EventScript_ReadyAquaEscapeScene
+ call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_ShowSSTidal
end
-SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5
+SlateportCity_Harbor_EventScript_ShowSSTidal:: @ 820C9A5
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
return
-SlateportCity_Harbor_EventScript_20C9A9:: @ 820C9A9
+SlateportCity_Harbor_EventScript_ReadyAquaEscapeScene:: @ 820C9A9
savebgm MUS_AQA_0
setobjectxyperm 4, 12, 13
setobjectmovementtype 4, MOVEMENT_TYPE_FACE_LEFT
setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
return
-SlateportCity_Harbor_EventScript_20C9BB:: @ 820C9BB
+SlateportCity_Harbor_EventScript_AquaEscapeTrigger0:: @ 820C9BB
lockall
setvar VAR_0x8008, 0
- goto SlateportCity_Harbor_EventScript_20C9F5
+ goto SlateportCity_Harbor_EventScript_AquaEscapeScene
end
-SlateportCity_Harbor_EventScript_20C9C7:: @ 820C9C7
+SlateportCity_Harbor_EventScript_AquaEscapeTrigger1:: @ 820C9C7
lockall
setvar VAR_0x8008, 1
- goto SlateportCity_Harbor_EventScript_20C9F5
+ goto SlateportCity_Harbor_EventScript_AquaEscapeScene
end
-SlateportCity_Harbor_EventScript_20C9D3:: @ 820C9D3
+SlateportCity_Harbor_EventScript_AquaEscapeTrigger2:: @ 820C9D3
lockall
setvar VAR_0x8008, 2
- goto SlateportCity_Harbor_EventScript_20C9F5
+ goto SlateportCity_Harbor_EventScript_AquaEscapeScene
end
-SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF
+SlateportCity_Harbor_EventScript_AquaEscapeTrigger3:: @ 820C9DF
lockall
setvar VAR_0x8008, 3
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CAEF
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_PlayerWalkUp
waitmovement 0
- goto SlateportCity_Harbor_EventScript_20C9F5
+ goto SlateportCity_Harbor_EventScript_AquaEscapeScene
end
-SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
- applymovement 7, Common_Movement_WalkInPlaceDown
+SlateportCity_Harbor_EventScript_AquaEscapeScene:: @ 820C9F5
+ applymovement 7, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- applymovement 6, Common_Movement_WalkInPlaceDown
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement 6, Common_Movement_WalkInPlaceFastestDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox SlateportCity_Harbor_Text_20D291, MSGBOX_DEFAULT
+ msgbox SlateportCity_Harbor_Text_ArchieYouAgainHideoutInLilycove, MSGBOX_DEFAULT
closemessage
- applymovement 6, SlateportCity_Harbor_Movement_20CAC8
- applymovement 7, SlateportCity_Harbor_Movement_20CAC8
- applymovement 8, SlateportCity_Harbor_Movement_20CAD2
+ applymovement 6, SlateportCity_Harbor_Movement_AquaBoardSub
+ applymovement 7, SlateportCity_Harbor_Movement_AquaBoardSub
+ applymovement 8, SlateportCity_Harbor_Movement_SubmarineExit
waitmovement 0
removeobject 6
removeobject 7
@@ -66,14 +66,14 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
setflag FLAG_MET_TEAM_AQUA_HARBOR
setflag FLAG_HIDE_LILCOVE_MOTEL_SCOTT
compare VAR_0x8008, 0
- call_if_eq SlateportCity_Harbor_EventScript_20CA89
+ call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer0
compare VAR_0x8008, 1
- call_if_eq SlateportCity_Harbor_EventScript_20CA9E
+ call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer1
compare VAR_0x8008, 2
- call_if_eq SlateportCity_Harbor_EventScript_20CAB3
+ call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer
compare VAR_0x8008, 3
- call_if_eq SlateportCity_Harbor_EventScript_20CAB3
- msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT
+ call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer
+ msgbox SlateportCity_Harbor_Text_CaptSternWhyStealMySubmarine, MSGBOX_DEFAULT
closemessage
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE
@@ -82,42 +82,43 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
releaseall
end
-SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89
- applymovement 4, SlateportCity_Harbor_Movement_20CAE0
+SlateportCity_Harbor_EventScript_SternApproachPlayer0:: @ 820CA89
+ applymovement 4, SlateportCity_Harbor_Movement_SternApproachPlayer0
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
return
-SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E
- applymovement 4, SlateportCity_Harbor_Movement_20CAE6
+SlateportCity_Harbor_EventScript_SternApproachPlayer1:: @ 820CA9E
+ applymovement 4, SlateportCity_Harbor_Movement_SternApproachPlayer1
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3
- applymovement 4, SlateportCity_Harbor_Movement_20CAEB
+SlateportCity_Harbor_EventScript_SternApproachPlayer:: @ 820CAB3
+ applymovement 4, SlateportCity_Harbor_Movement_SternApproachPlayer
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-SlateportCity_Harbor_Movement_20CAC8: @ 820CAC8
+SlateportCity_Harbor_Movement_AquaBoardSub: @ 820CAC8
delay_16
delay_16
jump_up
set_invisible
step_end
-SlateportCity_Harbor_Movement_20CACD: @ 820CACD
+@ Unused, Archie instead shares above identical movement script with Grunt
+SlateportCity_Harbor_Movement_ArchieBoardSub: @ 820CACD
delay_16
delay_16
jump_up
set_invisible
step_end
-SlateportCity_Harbor_Movement_20CAD2: @ 820CAD2
+SlateportCity_Harbor_Movement_SubmarineExit: @ 820CAD2
delay_16
delay_16
delay_16
@@ -133,7 +134,7 @@ SlateportCity_Harbor_Movement_20CAD2: @ 820CAD2
walk_fast_right
step_end
-SlateportCity_Harbor_Movement_20CAE0: @ 820CAE0
+SlateportCity_Harbor_Movement_SternApproachPlayer0: @ 820CAE0
walk_left
walk_left
walk_left
@@ -141,305 +142,305 @@ SlateportCity_Harbor_Movement_20CAE0: @ 820CAE0
walk_up
step_end
-SlateportCity_Harbor_Movement_20CAE6: @ 820CAE6
+SlateportCity_Harbor_Movement_SternApproachPlayer1: @ 820CAE6
walk_left
walk_left
walk_up
walk_left
step_end
-SlateportCity_Harbor_Movement_20CAEB: @ 820CAEB
+SlateportCity_Harbor_Movement_SternApproachPlayer: @ 820CAEB
walk_left
walk_left
walk_left
step_end
-SlateportCity_Harbor_Movement_20CAEF: @ 820CAEF
+SlateportCity_Harbor_Movement_PlayerWalkUp: @ 820CAEF
walk_up
step_end
-SlateportCity_Harbor_EventScript_20CAF1:: @ 820CAF1
+SlateportCity_Harbor_EventScript_FerryAttendant:: @ 820CAF1
lock
faceplayer
- goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CB06
- msgbox SlateportCity_Harbor_Text_20CE20, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_AskForTicket
+ msgbox SlateportCity_Harbor_Text_FerryServiceUnavailable, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06
- msgbox SlateportCity_Harbor_Text_20CE87, MSGBOX_DEFAULT
- message SlateportCity_Harbor_Text_20CF1C
+SlateportCity_Harbor_EventScript_AskForTicket:: @ 820CB06
+ msgbox SlateportCity_Harbor_Text_MayISeeYourTicket, MSGBOX_DEFAULT
+ message SlateportCity_Harbor_Text_FlashedTicketWhereTo
waitmessage
- goto SlateportCity_Harbor_EventScript_20CB1A
+ goto SlateportCity_Harbor_EventScript_ChooseDestination
end
-SlateportCity_Harbor_EventScript_20CB1A:: @ 820CB1A
- goto_if_set FLAG_MET_SCOTT_ON_SS_TIDAL, SlateportCity_Harbor_EventScript_20CB50
- multichoicedefault 18, 8, 56, 2, 0
+SlateportCity_Harbor_EventScript_ChooseDestination:: @ 820CB1A
+ goto_if_set FLAG_MET_SCOTT_ON_SS_TIDAL, SlateportCity_Harbor_EventScript_ChooseDestinationWithBattleFrontier
+ multichoicedefault 18, 8, MULTI_SSTIDAL_SLATEPORT_NO_BF, 2, 0
switch VAR_RESULT
- case 0, SlateportCity_Harbor_EventScript_20CB92
- case 1, SlateportCity_Harbor_EventScript_20CC2D
- case 127, SlateportCity_Harbor_EventScript_20CC2D
+ case 0, SlateportCity_Harbor_EventScript_Lilycove
+ case 1, SlateportCity_Harbor_EventScript_CancelDestinationSelect
+ case MULTI_B_PRESSED, SlateportCity_Harbor_EventScript_CancelDestinationSelect
end
-SlateportCity_Harbor_EventScript_20CB50:: @ 820CB50
- multichoicedefault 17, 6, 52, 2, 0
+SlateportCity_Harbor_EventScript_ChooseDestinationWithBattleFrontier:: @ 820CB50
+ multichoicedefault 17, 6, MULTI_SSTIDAL_SLATEPORT_WITH_BF, 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
+ case 0, SlateportCity_Harbor_EventScript_Lilycove
+ case 1, SlateportCity_Harbor_EventScript_BattleFrontier
+ case 2, SlateportCity_Harbor_EventScript_CancelDestinationSelect
+ case MULTI_B_PRESSED, SlateportCity_Harbor_EventScript_CancelDestinationSelect
end
-SlateportCity_Harbor_EventScript_20CB88:: @ 820CB88
- msgbox SlateportCity_Harbor_Text_20CEC1, MSGBOX_DEFAULT
+@ Unused. Should be impossible for player to reach Ferry without having received SS Tidal ticket
+SlateportCity_Harbor_EventScript_NoTicket:: @ 820CB88
+ msgbox SlateportCity_Harbor_Text_YouMustHaveTicket, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92
- msgbox SlateportCity_Harbor_Text_20CF93, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_Harbor_EventScript_20CBDD
- setvar VAR_PORTHOLE_STATE, 1
- call SlateportCity_Harbor_EventScript_20CBE9
+SlateportCity_Harbor_EventScript_Lilycove:: @ 820CB92
+ msgbox SlateportCity_Harbor_Text_LilycoveItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_Harbor_EventScript_ChooseNewDestination
+ setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_SLATEPORT
+ call SlateportCity_Harbor_EventScript_BoardFerry
warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
waitstate
release
end
-SlateportCity_Harbor_EventScript_20CBBA:: @ 820CBBA
- msgbox SlateportCity_Harbor_Text_20CFAE, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_Harbor_EventScript_20CBDD
- call SlateportCity_Harbor_EventScript_20CBE9
+SlateportCity_Harbor_EventScript_BattleFrontier:: @ 820CBBA
+ msgbox SlateportCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_Harbor_EventScript_ChooseNewDestination
+ call SlateportCity_Harbor_EventScript_BoardFerry
warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
waitstate
release
end
-SlateportCity_Harbor_EventScript_20CBDD:: @ 820CBDD
- message SlateportCity_Harbor_Text_20CFFA
+SlateportCity_Harbor_EventScript_ChooseNewDestination:: @ 820CBDD
+ message SlateportCity_Harbor_Text_WhereWouldYouLikeToGo
waitmessage
- goto SlateportCity_Harbor_EventScript_20CB1A
+ goto SlateportCity_Harbor_EventScript_ChooseDestination
end
-SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9
- msgbox SlateportCity_Harbor_Text_20CFCB, MSGBOX_DEFAULT
+SlateportCity_Harbor_EventScript_BoardFerry:: @ 820CBE9
+ msgbox SlateportCity_Harbor_Text_PleaseBoardFerry, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceUp
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
delay 30
hideobjectat VAR_LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR
- compare VAR_FACING, 2
- call_if_eq SlateportCity_Harbor_EventScript_20CC42
- compare VAR_FACING, 4
- call_if_eq SlateportCity_Harbor_EventScript_20CC37
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq SlateportCity_Harbor_EventScript_BoardFerryNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq SlateportCity_Harbor_EventScript_BoardFerryEast
delay 30
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
setvar VAR_0x8004, 5
- call SlateportCity_Harbor_EventScript_2721E2
+ call Common_EventScript_FerryDepart
return
-SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D
- msgbox SlateportCity_Harbor_Text_20CF71, MSGBOX_DEFAULT
+SlateportCity_Harbor_EventScript_CancelDestinationSelect:: @ 820CC2D
+ msgbox SlateportCity_Harbor_Text_SailAnotherTime, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CC37:: @ 820CC37
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC4D
+SlateportCity_Harbor_EventScript_BoardFerryEast:: @ 820CC37
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryEast
waitmovement 0
return
-SlateportCity_Harbor_EventScript_20CC42:: @ 820CC42
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC50
+SlateportCity_Harbor_EventScript_BoardFerryNorth:: @ 820CC42
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryNorth
waitmovement 0
return
-SlateportCity_Harbor_Movement_20CC4D: @ 820CC4D
+SlateportCity_Harbor_Movement_BoardFerryEast: @ 820CC4D
walk_right
walk_in_place_fastest_up
step_end
-SlateportCity_Harbor_Movement_20CC50: @ 820CC50
+SlateportCity_Harbor_Movement_BoardFerryNorth: @ 820CC50
walk_up
step_end
-SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52
+SlateportCity_Harbor_EventScript_Sailor:: @ 820CC52
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CC89
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather
setvar VAR_0x8004, 0
- call_if_set FLAG_DEFEATED_KYOGRE, SlateportCity_Harbor_EventScript_20CC93
- call_if_set FLAG_DEFEATED_GROUDON, SlateportCity_Harbor_EventScript_20CC93
- compare VAR_0x8004, 2
- goto_if_eq SlateportCity_Harbor_EventScript_20CC89
- msgbox SlateportCity_Harbor_Text_20D08E, MSGBOX_DEFAULT
+ call_if_set FLAG_DEFEATED_KYOGRE, SlateportCity_Harbor_EventScript_CountDefeatedLegendary
+ call_if_set FLAG_DEFEATED_GROUDON, SlateportCity_Harbor_EventScript_CountDefeatedLegendary
+ compare VAR_0x8004, 2 @ Defeated both
+ goto_if_eq SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather
+ msgbox SlateportCity_Harbor_Text_AbnormalWeather, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CC89:: @ 820CC89
- msgbox SlateportCity_Harbor_Text_20D01C, MSGBOX_DEFAULT
+SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather:: @ 820CC89
+ msgbox SlateportCity_Harbor_Text_LoveToGoDeepUnderwaterSomeday, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CC93:: @ 820CC93
+SlateportCity_Harbor_EventScript_CountDefeatedLegendary:: @ 820CC93
addvar VAR_0x8004, 1
return
-SlateportCity_Harbor_EventScript_20CC99:: @ 820CC99
- msgbox SlateportCity_Harbor_Text_20D194, MSGBOX_NPC
+SlateportCity_Harbor_EventScript_FatMan:: @ 820CC99
+ msgbox SlateportCity_Harbor_Text_SubTooSmallForMe, MSGBOX_NPC
end
-SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2
+SlateportCity_Harbor_EventScript_CaptStern:: @ 820CCA2
lock
faceplayer
- goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_20CD00
- goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_20CCF6
- goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_20CCE9
+ goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_CaptSternFerryOrScannerComment
+ goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_NeedDive
+ goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_TeamAquaLeftNeedDive
compare VAR_SLATEPORT_HARBOR_STATE, 2
- goto_if_eq SlateportCity_Harbor_EventScript_20CCDF
- msgbox SlateportCity_Harbor_Text_20D232, MSGBOX_DEFAULT
+ goto_if_eq SlateportCity_Harbor_EventScript_WhyStealSubmarine
+ msgbox SlateportCity_Harbor_Text_SameThugsTriedToRobAtMuseum, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_Harbor_EventScript_20CCDF:: @ 820CCDF
- msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT
+SlateportCity_Harbor_EventScript_WhyStealSubmarine:: @ 820CCDF
+ msgbox SlateportCity_Harbor_Text_CaptSternWhyStealMySubmarine, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CCE9:: @ 820CCE9
+SlateportCity_Harbor_EventScript_TeamAquaLeftNeedDive:: @ 820CCE9
setflag FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE
- msgbox SlateportCity_Harbor_Text_20D42B, MSGBOX_DEFAULT
+ msgbox SlateportCity_Harbor_Text_TeamAquaLeftNeedDive, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6
- msgbox SlateportCity_Harbor_Text_20D58A, MSGBOX_DEFAULT
+SlateportCity_Harbor_EventScript_NeedDive:: @ 820CCF6
+ msgbox SlateportCity_Harbor_Text_NeedDiveToCatchSub, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00
+SlateportCity_Harbor_EventScript_CaptSternFerryOrScannerComment:: @ 820CD00
compare VAR_TEMP_1, 1
- goto_if_eq SlateportCity_Harbor_EventScript_20CE11
+ goto_if_eq SlateportCity_Harbor_EventScript_TradedScanner
checkitem ITEM_SCANNER, 1
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_Harbor_EventScript_20CD38
- goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CD2E
- msgbox SlateportCity_Harbor_Text_20D65C, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq SlateportCity_Harbor_EventScript_AskToTradeScanner
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_FerryFinished
+ msgbox SlateportCity_Harbor_Text_WontBeLongBeforeWeFinishFerry, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CD2E:: @ 820CD2E
- msgbox SlateportCity_Harbor_Text_20D6CB, MSGBOX_DEFAULT
+SlateportCity_Harbor_EventScript_FerryFinished:: @ 820CD2E
+ msgbox SlateportCity_Harbor_Text_FinishedMakingFerry, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CD38:: @ 820CD38
- message SlateportCity_Harbor_Text_20D76C
+SlateportCity_Harbor_EventScript_AskToTradeScanner:: @ 820CD38
+ message SlateportCity_Harbor_Text_WouldYouTradeScanner
waitmessage
- goto SlateportCity_Harbor_EventScript_20CD44
+ goto SlateportCity_Harbor_EventScript_ChooseScannerTrade
end
-SlateportCity_Harbor_EventScript_20CD44:: @ 820CD44
- multichoice 0, 0, 46, 0
+SlateportCity_Harbor_EventScript_ChooseScannerTrade:: @ 820CD44
+ multichoice 0, 0, MULTI_STERN_DEEPSEA, 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
+ case 0, SlateportCity_Harbor_EventScript_DeepSeaTooth
+ case 1, SlateportCity_Harbor_EventScript_DeepSeaScale
+ case 2, SlateportCity_Harbor_EventScript_DeclineTrade
+ case MULTI_B_PRESSED, SlateportCity_Harbor_EventScript_DeclineTrade
end
-SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B
- msgbox SlateportCity_Harbor_Text_20D8BC, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_Harbor_EventScript_20CE05
- giveitem_std ITEM_DEEP_SEA_TOOTH
- compare VAR_RESULT, 0
+SlateportCity_Harbor_EventScript_DeepSeaTooth:: @ 820CD7B
+ msgbox SlateportCity_Harbor_Text_TradeForDeepSeaTooth, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_Harbor_EventScript_ChooseDifferentTrade
+ giveitem ITEM_DEEP_SEA_TOOTH
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- takeitem ITEM_SCANNER, 1
- msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT
+ removeitem ITEM_SCANNER
+ msgbox SlateportCity_Harbor_Text_HandedScannerToStern, MSGBOX_DEFAULT
setflag FLAG_EXCHANGED_SCANNER
- goto SlateportCity_Harbor_EventScript_20CE11
+ goto SlateportCity_Harbor_EventScript_TradedScanner
end
-SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB
- msgbox SlateportCity_Harbor_Text_20D8F1, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_Harbor_EventScript_20CE05
- giveitem_std ITEM_DEEP_SEA_SCALE
- compare VAR_RESULT, 0
+SlateportCity_Harbor_EventScript_DeepSeaScale:: @ 820CDBB
+ msgbox SlateportCity_Harbor_Text_TradeForDeepSeaScale, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_Harbor_EventScript_ChooseDifferentTrade
+ giveitem ITEM_DEEP_SEA_SCALE
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- takeitem ITEM_SCANNER, 1
- msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT
+ removeitem ITEM_SCANNER
+ msgbox SlateportCity_Harbor_Text_HandedScannerToStern, MSGBOX_DEFAULT
setflag FLAG_EXCHANGED_SCANNER
- goto SlateportCity_Harbor_EventScript_20CE11
+ goto SlateportCity_Harbor_EventScript_TradedScanner
end
-SlateportCity_Harbor_EventScript_20CDFB:: @ 820CDFB
- msgbox SlateportCity_Harbor_Text_20D841, MSGBOX_DEFAULT
+SlateportCity_Harbor_EventScript_DeclineTrade:: @ 820CDFB
+ msgbox SlateportCity_Harbor_Text_IfYouWantToTradeLetMeKnow, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_EventScript_20CE05:: @ 820CE05
- message SlateportCity_Harbor_Text_20D926
+SlateportCity_Harbor_EventScript_ChooseDifferentTrade:: @ 820CE05
+ message SlateportCity_Harbor_Text_WhichOneDoYouWant
waitmessage
- goto SlateportCity_Harbor_EventScript_20CD44
+ goto SlateportCity_Harbor_EventScript_ChooseScannerTrade
end
-SlateportCity_Harbor_EventScript_20CE11:: @ 820CE11
+SlateportCity_Harbor_EventScript_TradedScanner:: @ 820CE11
setvar VAR_TEMP_1, 1
- msgbox SlateportCity_Harbor_Text_20D970, MSGBOX_DEFAULT
+ msgbox SlateportCity_Harbor_Text_ThisWillHelpResearch, MSGBOX_DEFAULT
release
end
-SlateportCity_Harbor_Text_20CE20: @ 820CE20
+SlateportCity_Harbor_Text_FerryServiceUnavailable: @ 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
+SlateportCity_Harbor_Text_MayISeeYourTicket: @ 820CE87
.string "Hello, are you here for the ferry?\n"
.string "May I see your TICKET?$"
-
-SlateportCity_Harbor_Text_20CEC1: @ 820CEC1
+SlateportCity_Harbor_Text_YouMustHaveTicket: @ 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
+SlateportCity_Harbor_Text_FlashedTicketWhereTo: @ 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
+SlateportCity_Harbor_Text_SailAnotherTime: @ 820CF71
.string "Please sail with us another time!$"
-SlateportCity_Harbor_Text_20CF93: @ 820CF93
+SlateportCity_Harbor_Text_LilycoveItIs: @ 820CF93
.string "LILYCOVE CITY it is, then!$"
-SlateportCity_Harbor_Text_20CFAE: @ 820CFAE
+SlateportCity_Harbor_Text_BattleFrontierItIs: @ 820CFAE
.string "BATTLE FRONTIER it is, then!$"
-SlateportCity_Harbor_Text_20CFCB: @ 820CFCB
+SlateportCity_Harbor_Text_PleaseBoardFerry: @ 820CFCB
.string "Please board the ferry and wait for\n"
.string "departure.$"
-SlateportCity_Harbor_Text_20CFFA: @ 820CFFA
+SlateportCity_Harbor_Text_WhereWouldYouLikeToGo: @ 820CFFA
.string "Then, where would you like to go?$"
-SlateportCity_Harbor_Text_20D01C: @ 820D01C
+SlateportCity_Harbor_Text_LoveToGoDeepUnderwaterSomeday: @ 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
+SlateportCity_Harbor_Text_AbnormalWeather: @ 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"
@@ -449,19 +450,19 @@ SlateportCity_Harbor_Text_20D08E: @ 820D08E
.string "You should visit the WEATHER INSTITUTE\n"
.string "and ask around!$"
-SlateportCity_Harbor_Text_20D194: @ 820D194
+SlateportCity_Harbor_Text_SubTooSmallForMe: @ 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
+SlateportCity_Harbor_Text_SameThugsTriedToRobAtMuseum: @ 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
+SlateportCity_Harbor_Text_ArchieYouAgainHideoutInLilycove: @ 820D291
.string "ARCHIE: Oh?\n"
.string "Not you again…\p"
.string "You are tenacious to track us here,\n"
@@ -472,7 +473,7 @@ SlateportCity_Harbor_Text_20D291: @ 820D291
.string "HIDEOUT in LILYCOVE CITY?\p"
.string "Fwahahahaha…$"
-SlateportCity_Harbor_Text_20D35A: @ 820D35A
+SlateportCity_Harbor_Text_CaptSternWhyStealMySubmarine: @ 820D35A
.string "CAPT. STERN: Why…\p"
.string "Why would TEAM AQUA steal my\n"
.string "SUBMARINE EXPLORER 1?\p"
@@ -481,7 +482,7 @@ SlateportCity_Harbor_Text_20D35A: @ 820D35A
.string "But even if I were to chase them,\n"
.string "I don't stand a chance against them…$"
-SlateportCity_Harbor_Text_20D42B: @ 820D42B
+SlateportCity_Harbor_Text_TeamAquaLeftNeedDive: @ 820D42B
.string "CAPT. STERN: Oh, {PLAYER}{KUN}…\p"
.string "Okay… So TEAM AQUA left before you\n"
.string "could stop them…\p"
@@ -496,7 +497,7 @@ SlateportCity_Harbor_Text_20D42B: @ 820D42B
.string "A lot of divers live out there, so\n"
.string "someone might teach you…$"
-SlateportCity_Harbor_Text_20D58A: @ 820D58A
+SlateportCity_Harbor_Text_NeedDiveToCatchSub: @ 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"
@@ -506,13 +507,13 @@ SlateportCity_Harbor_Text_20D58A: @ 820D58A
.string "A lot of divers live out there, so\n"
.string "someone might teach you…$"
-SlateportCity_Harbor_Text_20D65C: @ 820D65C
+SlateportCity_Harbor_Text_WontBeLongBeforeWeFinishFerry: @ 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
+SlateportCity_Harbor_Text_FinishedMakingFerry: @ 820D6CB
.string "CAPT. STERN: {PLAYER}{KUN}!\p"
.string "We finally finished making the ferry\n"
.string "S.S. TIDAL!\p"
@@ -520,7 +521,7 @@ SlateportCity_Harbor_Text_20D6CB: @ 820D6CB
.string "your friend MR. BRINEY.\p"
.string "Please go for a short cruise on it!$"
-SlateportCity_Harbor_Text_20D76C: @ 820D76C
+SlateportCity_Harbor_Text_WouldYouTradeScanner: @ 820D76C
.string "CAPT. STERN: Oh?\n"
.string "{PLAYER}{KUN}, that item you have…\p"
.string "That's a SCANNER! That would sure\n"
@@ -530,27 +531,27 @@ SlateportCity_Harbor_Text_20D76C: @ 820D76C
.string "Like, say, a DEEPSEATOOTH or\n"
.string "a DEEPSEASCALE that I have?$"
-SlateportCity_Harbor_Text_20D841: @ 820D841
+SlateportCity_Harbor_Text_IfYouWantToTradeLetMeKnow: @ 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
+SlateportCity_Harbor_Text_TradeForDeepSeaTooth: @ 820D8BC
.string "CAPT. STERN: So you'll trade it for\n"
.string "my DEEPSEATOOTH?$"
-SlateportCity_Harbor_Text_20D8F1: @ 820D8F1
+SlateportCity_Harbor_Text_TradeForDeepSeaScale: @ 820D8F1
.string "CAPT. STERN: So you'll trade it for\n"
.string "my DEEPSEASCALE?$"
-SlateportCity_Harbor_Text_20D926: @ 820D926
+SlateportCity_Harbor_Text_WhichOneDoYouWant: @ 820D926
.string "CAPT. STERN: Which one do you want?$"
-SlateportCity_Harbor_Text_20D94A: @ 820D94A
+SlateportCity_Harbor_Text_HandedScannerToStern: @ 820D94A
.string "{PLAYER} handed the SCANNER to\n"
.string "CAPT. STERN.$"
-SlateportCity_Harbor_Text_20D970: @ 820D970
+SlateportCity_Harbor_Text_ThisWillHelpResearch: @ 820D970
.string "CAPT. STERN: Thanks, {PLAYER}{KUN}!\n"
.string "This will help our research a lot!$"
diff --git a/data/maps/SlateportCity_House2/map.json b/data/maps/SlateportCity_House/map.json
index a6a686cf7..9052e19b1 100644
--- a/data/maps/SlateportCity_House2/map.json
+++ b/data/maps/SlateportCity_House/map.json
@@ -1,6 +1,6 @@
{
- "id": "MAP_SLATEPORT_CITY_HOUSE2",
- "name": "SlateportCity_House2",
+ "id": "MAP_SLATEPORT_CITY_HOUSE",
+ "name": "SlateportCity_House",
"layout": "LAYOUT_HOUSE2",
"music": "MUS_FINECITY",
"region_map_section": "MAPSEC_SLATEPORT_CITY",
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_House2_EventScript_20D9AF",
+ "script": "SlateportCity_House_EventScript_PokefanM",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_House2_EventScript_20D9B8",
+ "script": "SlateportCity_House_EventScript_Girl",
"flag": "0"
}
],
diff --git a/data/maps/SlateportCity_House/scripts.inc b/data/maps/SlateportCity_House/scripts.inc
new file mode 100644
index 000000000..13b0caf91
--- /dev/null
+++ b/data/maps/SlateportCity_House/scripts.inc
@@ -0,0 +1,23 @@
+SlateportCity_House_MapScripts:: @ 820D9AE
+ .byte 0
+
+SlateportCity_House_EventScript_PokefanM:: @ 820D9AF
+ msgbox SlateportCity_House_Text_NatureToDoWithStatGains, MSGBOX_NPC
+ end
+
+SlateportCity_House_EventScript_Girl:: @ 820D9B8
+ msgbox SlateportCity_House_Text_MustBeGoingToBattleTent, MSGBOX_NPC
+ end
+
+SlateportCity_House_Text_NatureToDoWithStatGains: @ 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_House_Text_MustBeGoingToBattleTent: @ 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/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc
deleted file mode 100644
index 0a5808820..000000000
--- a/data/maps/SlateportCity_House1/scripts.inc
+++ /dev/null
@@ -1,121 +0,0 @@
-SlateportCity_House1_MapScripts:: @ 8209AA4
- .byte 0
-
-SlateportCity_House1_EventScript_209AA5:: @ 8209AA5
- lock
- faceplayer
- msgbox SlateportCity_House1_Text_209B8E, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_House1_EventScript_209AC6
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_House1_EventScript_209AE9
- end
-
-SlateportCity_House1_EventScript_209AC6:: @ 8209AC6
- msgbox SlateportCity_House1_Text_209BFF, MSGBOX_DEFAULT
- special sub_81B94B0
- waitstate
- compare VAR_0x8004, 255
- goto_if_ne SlateportCity_House1_EventScript_209AF3
- compare VAR_0x8004, 255
- goto_if_eq SlateportCity_House1_EventScript_209AE9
- end
-
-SlateportCity_House1_EventScript_209AE9:: @ 8209AE9
- msgbox SlateportCity_House1_Text_209D42, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_House1_EventScript_209AF3:: @ 8209AF3
- specialvar VAR_RESULT, ScriptGetPartyMonSpecies
- compare VAR_RESULT, 412
- goto_if_eq SlateportCity_House1_EventScript_209B46
- special TV_CopyNicknameToStringVar1AndEnsureTerminated
- special TV_CheckMonOTIDEqualsPlayerID
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_House1_EventScript_209B50
- specialvar VAR_RESULT, MonOTNameMatchesPlayer
- special TV_CopyNicknameToStringVar1AndEnsureTerminated
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_House1_EventScript_209B50
- msgbox SlateportCity_House1_Text_209C2B, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_House1_EventScript_209B5A
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_House1_EventScript_209AE9
- end
-
-SlateportCity_House1_EventScript_209B46:: @ 8209B46
- msgbox SlateportCity_House1_Text_209E74, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_House1_EventScript_209B50:: @ 8209B50
- msgbox SlateportCity_House1_Text_209DF0, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_House1_EventScript_209B5A:: @ 8209B5A
- msgbox SlateportCity_House1_Text_209CA4, MSGBOX_DEFAULT
- call Common_EventScript_NameReceivedPokemon
- specialvar VAR_RESULT, TV_PutNameRaterShowOnTheAirIfNicknameChanged
- special TV_CopyNicknameToStringVar1AndEnsureTerminated
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_House1_EventScript_209B84
- msgbox SlateportCity_House1_Text_209D5E, MSGBOX_DEFAULT
- release
- end
-
-SlateportCity_House1_EventScript_209B84:: @ 8209B84
- msgbox SlateportCity_House1_Text_209CD4, MSGBOX_DEFAULT
- 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/maps/SlateportCity_House2/scripts.inc b/data/maps/SlateportCity_House2/scripts.inc
deleted file mode 100644
index 1661d8fc5..000000000
--- a/data/maps/SlateportCity_House2/scripts.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SlateportCity_House2_MapScripts:: @ 820D9AE
- .byte 0
-
-SlateportCity_House2_EventScript_20D9AF:: @ 820D9AF
- msgbox SlateportCity_House2_Text_20D9C1, MSGBOX_NPC
- end
-
-SlateportCity_House2_EventScript_20D9B8:: @ 820D9B8
- msgbox SlateportCity_House2_Text_20DA59, MSGBOX_NPC
- 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/maps/SlateportCity_Mart/map.json b/data/maps/SlateportCity_Mart/map.json
index 597abbf06..ca1c23717 100644
--- a/data/maps/SlateportCity_Mart/map.json
+++ b/data/maps/SlateportCity_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_Mart_EventScript_20DC49",
+ "script": "SlateportCity_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_Mart_EventScript_20DC76",
+ "script": "SlateportCity_Mart_EventScript_BlackBelt",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_Mart_EventScript_20DC7F",
+ "script": "SlateportCity_Mart_EventScript_Man",
"flag": "0"
}
],
diff --git a/data/maps/SlateportCity_Mart/scripts.inc b/data/maps/SlateportCity_Mart/scripts.inc
index cc1eff7f6..a1c557ad2 100644
--- a/data/maps/SlateportCity_Mart/scripts.inc
+++ b/data/maps/SlateportCity_Mart/scripts.inc
@@ -1,17 +1,17 @@
SlateportCity_Mart_MapScripts:: @ 820DC48
.byte 0
-SlateportCity_Mart_EventScript_20DC49:: @ 820DC49
+SlateportCity_Mart_EventScript_Clerk:: @ 820DC49
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart SlateportCity_Mart_Pokemart_20DC60
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart SlateportCity_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
-SlateportCity_Mart_Pokemart_20DC60: @ 820DC60
+SlateportCity_Mart_Pokemart: @ 820DC60
.2byte ITEM_POKE_BALL
.2byte ITEM_GREAT_BALL
.2byte ITEM_POTION
@@ -25,21 +25,21 @@ SlateportCity_Mart_Pokemart_20DC60: @ 820DC60
release
end
-SlateportCity_Mart_EventScript_20DC76:: @ 820DC76
- msgbox SlateportCity_Mart_Text_20DC88, MSGBOX_NPC
+SlateportCity_Mart_EventScript_BlackBelt:: @ 820DC76
+ msgbox SlateportCity_Mart_Text_SomeItemsOnlyAtMart, MSGBOX_NPC
end
-SlateportCity_Mart_EventScript_20DC7F:: @ 820DC7F
- msgbox SlateportCity_Mart_Text_20DCF8, MSGBOX_NPC
+SlateportCity_Mart_EventScript_Man:: @ 820DC7F
+ msgbox SlateportCity_Mart_Text_GreatBallIsBetter, MSGBOX_NPC
end
-SlateportCity_Mart_Text_20DC88: @ 820DC88
+SlateportCity_Mart_Text_SomeItemsOnlyAtMart: @ 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
+SlateportCity_Mart_Text_GreatBallIsBetter: @ 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"
diff --git a/data/maps/SlateportCity_House1/map.json b/data/maps/SlateportCity_NameRatersHouse/map.json
index 47943e517..1e464b9fd 100644
--- a/data/maps/SlateportCity_House1/map.json
+++ b/data/maps/SlateportCity_NameRatersHouse/map.json
@@ -1,6 +1,6 @@
{
- "id": "MAP_SLATEPORT_CITY_HOUSE1",
- "name": "SlateportCity_House1",
+ "id": "MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE",
+ "name": "SlateportCity_NameRatersHouse",
"layout": "LAYOUT_HOUSE_WITH_BED",
"music": "MUS_FINECITY",
"region_map_section": "MAPSEC_SLATEPORT_CITY",
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_House1_EventScript_209AA5",
+ "script": "SlateportCity_NameRatersHouse_EventScript_NameRater",
"flag": "0"
}
],
diff --git a/data/maps/SlateportCity_NameRatersHouse/scripts.inc b/data/maps/SlateportCity_NameRatersHouse/scripts.inc
new file mode 100644
index 000000000..92c6b7a02
--- /dev/null
+++ b/data/maps/SlateportCity_NameRatersHouse/scripts.inc
@@ -0,0 +1,121 @@
+SlateportCity_NameRatersHouse_MapScripts:: @ 8209AA4
+ .byte 0
+
+SlateportCity_NameRatersHouse_EventScript_NameRater:: @ 8209AA5
+ lock
+ faceplayer
+ msgbox SlateportCity_NameRatersHouse_Text_PleasedToRateMonNickname, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_ChooseMonToRate
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
+ end
+
+SlateportCity_NameRatersHouse_EventScript_ChooseMonToRate:: @ 8209AC6
+ msgbox SlateportCity_NameRatersHouse_Text_CritiqueWhichMonNickname, MSGBOX_DEFAULT
+ special ChoosePartyMon
+ waitstate
+ compare VAR_0x8004, 255
+ goto_if_ne SlateportCity_NameRatersHouse_EventScript_RateMonNickname
+ compare VAR_0x8004, 255
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
+ end
+
+SlateportCity_NameRatersHouse_EventScript_DeclineNameRate:: @ 8209AE9
+ msgbox SlateportCity_NameRatersHouse_Text_DoVisitAgain, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_NameRatersHouse_EventScript_RateMonNickname:: @ 8209AF3
+ specialvar VAR_RESULT, ScriptGetPartyMonSpecies
+ compare VAR_RESULT, SPECIES_EGG
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_CantRateEgg
+ special BufferMonNickname
+ special IsMonOTIDNotPlayers
+ compare VAR_RESULT, TRUE
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT
+ specialvar VAR_RESULT, MonOTNameNotPlayer
+ special BufferMonNickname
+ compare VAR_RESULT, TRUE
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT
+ msgbox SlateportCity_NameRatersHouse_Text_FineNameSuggestBetterOne, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_ChangeNickname
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
+ end
+
+SlateportCity_NameRatersHouse_EventScript_CantRateEgg:: @ 8209B46
+ msgbox SlateportCity_NameRatersHouse_Text_ThatIsMerelyAnEgg, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT:: @ 8209B50
+ msgbox SlateportCity_NameRatersHouse_Text_MagnificentName, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_NameRatersHouse_EventScript_ChangeNickname:: @ 8209B5A
+ msgbox SlateportCity_NameRatersHouse_Text_WhatShallNewNameBe, MSGBOX_DEFAULT
+ call Common_EventScript_NameReceivedPartyMon
+ specialvar VAR_RESULT, TryPutNameRaterShowOnTheAir
+ special BufferMonNickname
+ compare VAR_RESULT, TRUE
+ goto_if_eq SlateportCity_NameRatersHouse_EventScript_NewNameDifferent
+ msgbox SlateportCity_NameRatersHouse_Text_NameNoDifferentYetSuperior, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_NameRatersHouse_EventScript_NewNameDifferent:: @ 8209B84
+ msgbox SlateportCity_NameRatersHouse_Text_MonShallBeKnownAsName, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_NameRatersHouse_Text_PleasedToRateMonNickname: @ 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_NameRatersHouse_Text_CritiqueWhichMonNickname: @ 8209BFF
+ .string "Which POKéMON's nickname should\n"
+ .string "I critique?$"
+
+SlateportCity_NameRatersHouse_Text_FineNameSuggestBetterOne: @ 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_NameRatersHouse_Text_WhatShallNewNameBe: @ 8209CA4
+ .string "Ah, good. Then, what shall the new\n"
+ .string "nickname be?$"
+
+SlateportCity_NameRatersHouse_Text_MonShallBeKnownAsName: @ 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_NameRatersHouse_Text_DoVisitAgain: @ 8209D42
+ .string "I see.\n"
+ .string "Do come visit again.$"
+
+SlateportCity_NameRatersHouse_Text_NameNoDifferentYetSuperior: @ 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_NameRatersHouse_Text_MagnificentName: @ 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_NameRatersHouse_Text_ThatIsMerelyAnEgg: @ 8209E74
+ .string "Now, now.\n"
+ .string "That is merely an EGG!$"
+
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/map.json b/data/maps/SlateportCity_OceanicMuseum_1F/map.json
index eefb843f4..87fc0f6ee 100644
--- a/data/maps/SlateportCity_OceanicMuseum_1F/map.json
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AD96",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_EntranceAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE5F",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt3",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE68",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt4",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE56",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt2",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE4D",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt1",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE71",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt5",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AD96",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_EntranceAttendant",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE7A",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt6",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AED4",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron1",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEDD",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron2",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
},
{
@@ -154,7 +154,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEE6",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron3",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEEF",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron4",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEF8",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_28C883",
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_Reporter",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
}
],
@@ -228,7 +228,7 @@
"elevation": 3,
"var": "VAR_SLATEPORT_MUSEUM_1F_STATE",
"var_value": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AD9F"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeLeft"
},
{
"type": "trigger",
@@ -237,7 +237,7 @@
"elevation": 3,
"var": "VAR_SLATEPORT_MUSEUM_1F_STATE",
"var_value": "0",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20ADB0"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeRight"
}
],
"bg_events": [
@@ -247,7 +247,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE83"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_WhirlpoolExperiment"
},
{
"type": "sign",
@@ -255,7 +255,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE8C"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_WaterfallExperiment"
},
{
"type": "sign",
@@ -263,7 +263,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE95"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanSoilDisplay"
},
{
"type": "sign",
@@ -271,7 +271,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE9E"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_BeachSandDisplay"
},
{
"type": "sign",
@@ -279,7 +279,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE95"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanSoilDisplay"
},
{
"type": "sign",
@@ -287,7 +287,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AE9E"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_BeachSandDisplay"
},
{
"type": "sign",
@@ -295,7 +295,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEA7"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact1"
},
{
"type": "sign",
@@ -303,7 +303,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEB0"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact2"
},
{
"type": "sign",
@@ -311,7 +311,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEB9"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact3"
},
{
"type": "sign",
@@ -319,7 +319,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEC2"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_FossilDisplay"
},
{
"type": "sign",
@@ -327,7 +327,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AEC2"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_FossilDisplay"
},
{
"type": "sign",
@@ -335,7 +335,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AECB"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_DepthMeasuringMachine"
},
{
"type": "sign",
@@ -343,7 +343,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_1F_EventScript_20AECB"
+ "script": "SlateportCity_OceanicMuseum_1F_EventScript_DepthMeasuringMachine"
}
]
} \ No newline at end of file
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
index 90d42ccae..aeb9f3ac9 100644
--- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
@@ -1,155 +1,147 @@
SlateportCity_OceanicMuseum_1F_MapScripts:: @ 820AD95
.byte 0
-SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_EntranceAttendant:: @ 820AD96
+ msgbox SlateportCity_OceanicMuseum_1F_Text_PleaseEnjoyYourself, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F
+SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeLeft:: @ 820AD9F
lockall
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1
+ goto SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee
end
-SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0
+SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeRight:: @ 820ADB0
lockall
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1
+ goto SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee
end
-SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1
+SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee:: @ 820ADC1
showmoneybox 0, 0, 0
- msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8
+ msgbox SlateportCity_OceanicMuseum_1F_Text_WouldYouLikeToEnter, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee
closemessage
hidemoneybox
- nop
- nop
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
-SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8
- checkmoney 0x32, 0
+SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee:: @ 820ADE8
+ checkmoney 50, 0
compare VAR_RESULT, 0
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_NotEnoughMoney
playse SE_REGI
- takemoney 0x32, 0
+ removemoney 50, 0
updatemoneybox 0, 0
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_1F_Text_PleaseEnjoyYourself, MSGBOX_DEFAULT
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 1
hidemoneybox
- nop
- nop
releaseall
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18
- goto_if_unset FLAG_DELIVERED_DEVON_GOODS, SlateportCity_OceanicMuseum_1F_EventScript_20AE39
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, MSGBOX_DEFAULT
+SlateportCity_OceanicMuseum_1F_EventScript_NotEnoughMoney:: @ 820AE18
+ goto_if_unset FLAG_DELIVERED_DEVON_GOODS, SlateportCity_OceanicMuseum_1F_EventScript_AllowEntranceAnyway
+ msgbox SlateportCity_OceanicMuseum_1F_Text_NotEnoughMoney, MSGBOX_DEFAULT
closemessage
hidemoneybox
- nop
- nop
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE39:: @ 820AE39
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B075, MSGBOX_DEFAULT
+SlateportCity_OceanicMuseum_1F_EventScript_AllowEntranceAnyway:: @ 820AE39
+ msgbox SlateportCity_OceanicMuseum_1F_Text_CatchUpWithYourGroup, MSGBOX_DEFAULT
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 1
hidemoneybox
- nop
- nop
releaseall
end
-SlateportCity_OceanicMuseum_1F_Movement_20AE4B: @ 820AE4B
+SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter: @ 820AE4B
walk_down
step_end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE4D:: @ 820AE4D
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B0E8, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt1:: @ 820AE4D
+ msgbox SlateportCity_OceanicMuseum_1F_Text_AquaExistForGoodOfAll, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE56:: @ 820AE56
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B112, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt2:: @ 820AE56
+ msgbox SlateportCity_OceanicMuseum_1F_Text_OurBossIsntHere, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE5F:: @ 820AE5F
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B165, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt3:: @ 820AE5F
+ msgbox SlateportCity_OceanicMuseum_1F_Text_WouldStuffHereMakeMeRich, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE68:: @ 820AE68
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B19C, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt4:: @ 820AE68
+ msgbox SlateportCity_OceanicMuseum_1F_Text_CanLearnForNefariousDeeds, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE71:: @ 820AE71
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B1D4, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt5:: @ 820AE71
+ msgbox SlateportCity_OceanicMuseum_1F_Text_RustboroBungled, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE7A:: @ 820AE7A
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B218, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumGrunt6:: @ 820AE7A
+ msgbox SlateportCity_OceanicMuseum_1F_Text_DidntHaveMoney, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE83:: @ 820AE83
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B4CF, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_WhirlpoolExperiment:: @ 820AE83
+ msgbox SlateportCity_OceanicMuseum_1F_Text_WhirlpoolExperiment, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE8C:: @ 820AE8C
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B547, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_WaterfallExperiment:: @ 820AE8C
+ msgbox SlateportCity_OceanicMuseum_1F_Text_WaterfallExperiment, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE95:: @ 820AE95
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B5CA, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_OceanSoilDisplay:: @ 820AE95
+ msgbox SlateportCity_OceanicMuseum_1F_Text_OceanSoilDisplay, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AE9E:: @ 820AE9E
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B699, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_BeachSandDisplay:: @ 820AE9E
+ msgbox SlateportCity_OceanicMuseum_1F_Text_BeachSandDisplay, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEA7:: @ 820AEA7
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B74B, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact1:: @ 820AEA7
+ msgbox SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact1, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEB0:: @ 820AEB0
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B81F, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact2:: @ 820AEB0
+ msgbox SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact2, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEB9:: @ 820AEB9
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B912, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_OceanicMinifact3:: @ 820AEB9
+ msgbox SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact3, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEC2:: @ 820AEC2
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B9C0, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_FossilDisplay:: @ 820AEC2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_FossilDisplay, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AECB:: @ 820AECB
- msgbox SlateportCity_OceanicMuseum_1F_Text_20BA9C, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_1F_EventScript_DepthMeasuringMachine:: @ 820AECB
+ msgbox SlateportCity_OceanicMuseum_1F_Text_DepthMeasuringMachine, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AED4:: @ 820AED4
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B25F, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron1:: @ 820AED4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_LearnAboutSeaForBattling, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEDD:: @ 820AEDD
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B2A2, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron2:: @ 820AEDD
+ msgbox SlateportCity_OceanicMuseum_1F_Text_SternIsRoleModel, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEE6:: @ 820AEE6
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B302, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron3:: @ 820AEE6
+ msgbox SlateportCity_OceanicMuseum_1F_Text_MustBePokemonWeDontKnow, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEEF:: @ 820AEEF
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B369, MSGBOX_NPC
+SlateportCity_OceanicMuseum_1F_EventScript_MuseumPatron4:: @ 820AEEF
+ msgbox SlateportCity_OceanicMuseum_1F_Text_WantSeaPokemon, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8
+SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt:: @ 820AEF8
lock
faceplayer
delay 8
@@ -158,68 +150,68 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8
waitmovement 0
applymovement 13, Common_Movement_Delay48
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, MSGBOX_DEFAULT
- giveitem_std ITEM_TM46
+ msgbox SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis, MSGBOX_DEFAULT
+ giveitem ITEM_TM46
compare VAR_RESULT, 0
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief
setflag FLAG_RECEIVED_TM46
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_1F_Text_HopeINeverSeeYouAgain, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C
- compare VAR_FACING, 1
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83
- compare VAR_FACING, 3
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
- compare VAR_FACING, 4
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
- end
-
-SlateportCity_OceanicMuseum_1F_EventScript_20AF6C:: @ 820AF6C
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFBF
- applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFCE
+ compare VAR_FACING, DIR_NORTH
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth
+ compare VAR_FACING, DIR_SOUTH
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitSouth
+ compare VAR_FACING, DIR_WEST
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast
+ compare VAR_FACING, DIR_EAST
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth:: @ 820AF6C
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitNorth
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExitNorth
waitmovement 0
- goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
+ goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AF83:: @ 820AF83
- applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7
+SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitSouth:: @ 820AF83
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit
waitmovement 0
- goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
+ goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFC4
- applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7
+SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast:: @ 820AF93
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitWestEast
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit
waitmovement 0
- goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
+ goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AFAA:: @ 820AFAA
+SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited:: @ 820AFAA
setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT
playse SE_KAIDAN
removeobject 13
release
end
-SlateportCity_OceanicMuseum_1F_EventScript_20AFB5:: @ 820AFB5
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B49B, MSGBOX_DEFAULT
+SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief:: @ 820AFB5
+ msgbox SlateportCity_OceanicMuseum_1F_Text_YouHaveToTakeThis, MSGBOX_DEFAULT
release
end
-SlateportCity_OceanicMuseum_1F_Movement_20AFBF: @ 820AFBF
+SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitNorth: @ 820AFBF
delay_16
delay_8
delay_4
walk_in_place_fastest_down
step_end
-SlateportCity_OceanicMuseum_1F_Movement_20AFC4: @ 820AFC4
+SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitWestEast: @ 820AFC4
delay_16
walk_in_place_fastest_down
step_end
-SlateportCity_OceanicMuseum_1F_Movement_20AFC7: @ 820AFC7
+SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit: @ 820AFC7
face_down
walk_fast_down
walk_fast_down
@@ -228,7 +220,7 @@ SlateportCity_OceanicMuseum_1F_Movement_20AFC7: @ 820AFC7
delay_8
step_end
-SlateportCity_OceanicMuseum_1F_Movement_20AFCE: @ 820AFCE
+SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExitNorth: @ 820AFCE
walk_fast_right
walk_fast_down
walk_fast_down
@@ -237,71 +229,71 @@ SlateportCity_OceanicMuseum_1F_Movement_20AFCE: @ 820AFCE
delay_8
step_end
-SlateportCity_OceanicMuseum_1F_Text_20AFD5: @ 820AFD5
+SlateportCity_OceanicMuseum_1F_Text_WouldYouLikeToEnter: @ 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
+SlateportCity_OceanicMuseum_1F_Text_PleaseEnjoyYourself: @ 820B026
.string "Please enjoy yourself.$"
-SlateportCity_OceanicMuseum_1F_Text_20B03D: @ 820B03D
+SlateportCity_OceanicMuseum_1F_Text_NotEnoughMoney: @ 820B03D
.string "Oh? I'm sorry, but you don't seem to\n"
.string "have enough money.$"
-SlateportCity_OceanicMuseum_1F_Text_20B075: @ 820B075
+SlateportCity_OceanicMuseum_1F_Text_CatchUpWithYourGroup: @ 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
+SlateportCity_OceanicMuseum_1F_Text_AquaExistForGoodOfAll: @ 820B0E8
.string "We, TEAM AQUA, exist for the good\n"
.string "of all!$"
-SlateportCity_OceanicMuseum_1F_Text_20B112: @ 820B112
+SlateportCity_OceanicMuseum_1F_Text_OurBossIsntHere: @ 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
+SlateportCity_OceanicMuseum_1F_Text_WouldStuffHereMakeMeRich: @ 820B165
.string "If I ripped off the stuff here,\n"
.string "would it make me rich?$"
-SlateportCity_OceanicMuseum_1F_Text_20B19C: @ 820B19C
+SlateportCity_OceanicMuseum_1F_Text_CanLearnForNefariousDeeds: @ 820B19C
.string "What I learn here, I can put to use on\n"
.string "nefarious deeds…$"
-SlateportCity_OceanicMuseum_1F_Text_20B1D4: @ 820B1D4
+SlateportCity_OceanicMuseum_1F_Text_RustboroBungled: @ 820B1D4
.string "If our goons didn't bungle things\n"
.string "in RUSTBORO, we wouldn't be here!$"
-SlateportCity_OceanicMuseum_1F_Text_20B218: @ 820B218
+SlateportCity_OceanicMuseum_1F_Text_DidntHaveMoney: @ 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
+SlateportCity_OceanicMuseum_1F_Text_LearnAboutSeaForBattling: @ 820B25F
.string "I want to learn about the sea and\n"
.string "use that knowledge for battling.$"
-SlateportCity_OceanicMuseum_1F_Text_20B2A2: @ 820B2A2
+SlateportCity_OceanicMuseum_1F_Text_SternIsRoleModel: @ 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
+SlateportCity_OceanicMuseum_1F_Text_MustBePokemonWeDontKnow: @ 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
+SlateportCity_OceanicMuseum_1F_Text_WantSeaPokemon: @ 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
+SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis: @ 820B3AB
.string "Aiyeeeh!\n"
.string "What are you doing here?\p"
.string "Me? I'm the TEAM AQUA member\n"
@@ -310,29 +302,29 @@ SlateportCity_OceanicMuseum_1F_Text_20B3AB: @ 820B3AB
.string "Here, take this!\n"
.string "You have to forgive me!$"
-SlateportCity_OceanicMuseum_1F_Text_20B449: @ 820B449
+SlateportCity_OceanicMuseum_1F_Text_HopeINeverSeeYouAgain: @ 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
+SlateportCity_OceanicMuseum_1F_Text_YouHaveToTakeThis: @ 820B49B
.string "Awww, come on!\n"
.string "You have to take this and let me go!$"
-SlateportCity_OceanicMuseum_1F_Text_20B4CF: @ 820B4CF
+SlateportCity_OceanicMuseum_1F_Text_WhirlpoolExperiment: @ 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
+SlateportCity_OceanicMuseum_1F_Text_WaterfallExperiment: @ 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
+SlateportCity_OceanicMuseum_1F_Text_OceanSoilDisplay: @ 820B5CA
.string "It's a sample of soil from the ocean\n"
.string "floor.\p"
.string "“Over many years, the remains of\n"
@@ -341,7 +333,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B5CA: @ 820B5CA
.string "“By analyzing these layers, the\n"
.string "ancient past is revealed.”$"
-SlateportCity_OceanicMuseum_1F_Text_20B699: @ 820B699
+SlateportCity_OceanicMuseum_1F_Text_BeachSandDisplay: @ 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"
@@ -349,7 +341,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B699: @ 820B699
.string "“They are reduced to grains and end\n"
.string "up as sand on beaches.”$"
-SlateportCity_OceanicMuseum_1F_Text_20B74B: @ 820B74B
+SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact1: @ 820B74B
.string "“OCEANIC MINIFACT 1\n"
.string "Why is seawater blue?\p"
.string "“Light is composed of many colors.\p"
@@ -358,7 +350,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B74B: @ 820B74B
.string "“However, blue light retains its\n"
.string "color, making the sea appear blue.”$"
-SlateportCity_OceanicMuseum_1F_Text_20B81F: @ 820B81F
+SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact2: @ 820B81F
.string "“OCEANIC MINIFACT 2\n"
.string "Why is the sea salty?\p"
.string "“Seawater contains dissolved salt in\n"
@@ -368,7 +360,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B81F: @ 820B81F
.string "“The concentration of dissolved salt\n"
.string "makes the sea salty.”$"
-SlateportCity_OceanicMuseum_1F_Text_20B912: @ 820B912
+SlateportCity_OceanicMuseum_1F_Text_OceanicMinifact3: @ 820B912
.string "“OCEANIC MINIFACT 3\n"
.string "Which is bigger? The sea or land?\p"
.string "“The sea covers about 70% of\n"
@@ -376,7 +368,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B912: @ 820B912
.string "“The sea is therefore more than twice\n"
.string "the size of land.”$"
-SlateportCity_OceanicMuseum_1F_Text_20B9C0: @ 820B9C0
+SlateportCity_OceanicMuseum_1F_Text_FossilDisplay: @ 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"
@@ -385,7 +377,7 @@ SlateportCity_OceanicMuseum_1F_Text_20B9C0: @ 820B9C0
.string "“If this soil becomes fossilized, it is\n"
.string "called a ripple mark.”$"
-SlateportCity_OceanicMuseum_1F_Text_20BA9C: @ 820BA9C
+SlateportCity_OceanicMuseum_1F_Text_DepthMeasuringMachine: @ 820BA9C
.string "A strange machine is rotating under\n"
.string "a glass dome.\p"
.string "Maybe it's for measuring the depth\n"
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.json b/data/maps/SlateportCity_OceanicMuseum_2F/map.json
index 6eaecba97..0c45541e4 100644
--- a/data/maps/SlateportCity_OceanicMuseum_2F/map.json
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BB00",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_CaptStern",
"flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD64",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron1",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD6D",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron2",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD76",
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron3",
"flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION"
}
],
@@ -123,7 +123,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD0A"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample1"
},
{
"type": "sign",
@@ -131,7 +131,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD13"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample2"
},
{
"type": "sign",
@@ -139,7 +139,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD52"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmersibleReplica"
},
{
"type": "sign",
@@ -147,7 +147,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD52"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmersibleReplica"
},
{
"type": "sign",
@@ -155,7 +155,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD49"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica"
},
{
"type": "sign",
@@ -163,7 +163,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD49"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica"
},
{
"type": "sign",
@@ -171,7 +171,7 @@
"y": 4,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD49"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica"
},
{
"type": "sign",
@@ -179,7 +179,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica"
},
{
"type": "sign",
@@ -187,7 +187,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica"
},
{
"type": "sign",
@@ -195,7 +195,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD5B"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSAnneReplica"
},
{
"type": "sign",
@@ -203,7 +203,7 @@
"y": 7,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD5B"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSAnneReplica"
},
{
"type": "sign",
@@ -211,7 +211,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD37"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SurfaceSeawaterDisplay"
},
{
"type": "sign",
@@ -219,7 +219,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD37"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SurfaceSeawaterDisplay"
},
{
"type": "sign",
@@ -227,7 +227,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD2E"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_DeepSeawaterDisplay"
},
{
"type": "sign",
@@ -235,7 +235,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD2E"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_DeepSeawaterDisplay"
},
{
"type": "sign",
@@ -243,7 +243,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD25"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_HoennModel"
},
{
"type": "sign",
@@ -251,7 +251,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD25"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_HoennModel"
},
{
"type": "sign",
@@ -259,7 +259,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD1C"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_PressureExperiment"
},
{
"type": "sign",
@@ -267,7 +267,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD1C"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_PressureExperiment"
},
{
"type": "sign",
@@ -275,7 +275,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica"
},
{
"type": "sign",
@@ -283,7 +283,7 @@
"y": 7,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SlateportCity_OceanicMuseum_2F_EventScript_20BD40"
+ "script": "SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica"
}
]
} \ No newline at end of file
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
index d15a23558..7593b7824 100644
--- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
@@ -1,127 +1,127 @@
SlateportCity_OceanicMuseum_2F_MapScripts:: @ 820BAFF
.byte 0
-SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
+SlateportCity_OceanicMuseum_2F_EventScript_CaptStern:: @ 820BB00
lock
faceplayer
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BD8D, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_2F_Text_ThankYouForTheParts, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 1
addobject 3
- applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE4
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntEnter
waitmovement 0
addobject 4
- applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF3
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntEnter
waitmovement 0
- applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE8
- applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF5
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntApproach
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntApproach
waitmovement 0
- compare VAR_FACING, 1
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92
- compare VAR_FACING, 4
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, MSGBOX_DEFAULT
- compare VAR_FACING, 4
- call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_20BC9D
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BE69, MSGBOX_DEFAULT
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BE93, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts
+ compare VAR_FACING, DIR_EAST
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts
+ msgbox SlateportCity_OceanicMuseum_2F_Text_WellTakeThoseParts, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_EAST
+ call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_SternFaceGrunts
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SternWhoAreYou, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_2F_Text_WereTeamAqua, MSGBOX_DEFAULT
closemessage
- applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCE2
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle
waitmovement 0
- compare VAR_FACING, 1
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BCA8
- compare VAR_FACING, 3
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BCB3
- trainerbattle_no_intro TRAINER_GRUNT_14, SlateportCity_OceanicMuseum_2F_Text_20BEE2
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BEFA, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntSouth
+ compare VAR_FACING, DIR_WEST
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntWest
+ trainerbattle_no_intro TRAINER_GRUNT_MUSEUM_1, SlateportCity_OceanicMuseum_2F_Text_Grunt1Defeat
+ msgbox SlateportCity_OceanicMuseum_2F_Text_BossGoingToBeFurious, MSGBOX_DEFAULT
closemessage
- applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCEF
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated
waitmovement 0
- applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE2
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BF35, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_GRUNT_15, SlateportCity_OceanicMuseum_2F_Text_20BF66
- applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCEF
+ msgbox SlateportCity_OceanicMuseum_2F_Text_LetMeTakeCareOfThis, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_MUSEUM_2, SlateportCity_OceanicMuseum_2F_Text_Grunt2Defeat
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated
waitmovement 0
- applymovement 3, Common_Movement_WalkInPlaceDown
- applymovement 4, Common_Movement_WalkInPlaceUp
+ applymovement 3, Common_Movement_WalkInPlaceFastestDown
+ applymovement 4, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BF7A, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_2F_Text_MeddlingKid, MSGBOX_DEFAULT
closemessage
delay 35
addobject 2
- applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD8
- applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCFE
+ applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_ArchieEnter
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_GruntMoveForArchie
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BFF2, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_2F_Text_CameToSeeWhatsTakingSoLong, MSGBOX_DEFAULT
closemessage
- applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD6
+ applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_ArchieApproachPlayer
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C059, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_2F_Text_ArchieWarning, MSGBOX_DEFAULT
closemessage
savebgm MUS_DUMMY
fadedefaultbgm
- fadescreen 1
+ fadescreen FADE_TO_BLACK
removeobject 2
removeobject 3
removeobject 4
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
delay 30
setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, MSGBOX_DEFAULT
- setvar VAR_0x8004, 269
- call SlateportCity_OceanicMuseum_2F_EventScript_2723E4
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C36C, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SternThankYouForSavingUs, MSGBOX_DEFAULT
+ setvar VAR_0x8004, ITEM_DEVON_GOODS
+ call Common_EventScript_PlayerHandedOverTheItem
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SternIveGotToGo, MSGBOX_DEFAULT
closemessage
- fadescreen 1
+ fadescreen FADE_TO_BLACK
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
removeobject 1
setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA
compare VAR_REGISTER_BIRCH_STATE, 0
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC8C
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch
setflag FLAG_DELIVERED_DEVON_GOODS
clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1
- fadescreen 0
+ fadescreen FADE_FROM_BLACK
release
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C
+SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch:: @ 820BC8C
setvar VAR_REGISTER_BIRCH_STATE, 1
return
-SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts:: @ 820BC92
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D
- applymovement 1, Common_Movement_WalkInPlaceLeft
+SlateportCity_OceanicMuseum_2F_EventScript_SternFaceGrunts:: @ 820BC9D
+ applymovement 1, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-SlateportCity_OceanicMuseum_2F_EventScript_20BCA8:: @ 820BCA8
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCBE
+SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntSouth:: @ 820BCA8
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntSouth
waitmovement 0
return
-SlateportCity_OceanicMuseum_2F_EventScript_20BCB3:: @ 820BCB3
- applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCC2
+SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntWest:: @ 820BCB3
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntWest
waitmovement 0
return
-SlateportCity_OceanicMuseum_2F_Movement_20BCBE: @ 820BCBE
+SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntSouth: @ 820BCBE
walk_left
walk_down
walk_in_place_fastest_left
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCC2: @ 820BCC2
+SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntWest: @ 820BCC2
walk_up
walk_left
walk_left
@@ -129,7 +129,7 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCC2: @ 820BCC2
walk_in_place_fastest_left
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCC8: @ 820BCC8
+SlateportCity_OceanicMuseum_2F_Movement_Unused: @ 820BCC8
walk_up
walk_left
walk_left
@@ -145,11 +145,11 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCC8: @ 820BCC8
delay_8
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCD6: @ 820BCD6
+SlateportCity_OceanicMuseum_2F_Movement_ArchieApproachPlayer: @ 820BCD6
walk_right
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCD8: @ 820BCD8
+SlateportCity_OceanicMuseum_2F_Movement_ArchieEnter: @ 820BCD8
walk_down
walk_down
walk_down
@@ -161,17 +161,17 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCD8: @ 820BCD8
walk_right
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCE2: @ 820BCE2
+SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle: @ 820BCE2
walk_right
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCE4: @ 820BCE4
+SlateportCity_OceanicMuseum_2F_Movement_FirstGruntEnter: @ 820BCE4
walk_down
walk_right
walk_in_place_fastest_down
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCE8: @ 820BCE8
+SlateportCity_OceanicMuseum_2F_Movement_FirstGruntApproach: @ 820BCE8
walk_down
walk_down
walk_down
@@ -180,17 +180,17 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCE8: @ 820BCE8
walk_right
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCEF: @ 820BCEF
+SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated: @ 820BCEF
lock_facing_direction
walk_left
unlock_facing_direction
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCF3: @ 820BCF3
+SlateportCity_OceanicMuseum_2F_Movement_SecondGruntEnter: @ 820BCF3
walk_down
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCF5: @ 820BCF5
+SlateportCity_OceanicMuseum_2F_Movement_SecondGruntApproach: @ 820BCF5
walk_down
walk_down
walk_down
@@ -201,7 +201,7 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCF5: @ 820BCF5
walk_right
step_end
-SlateportCity_OceanicMuseum_2F_Movement_20BCFE: @ 820BCFE
+SlateportCity_OceanicMuseum_2F_Movement_GruntMoveForArchie: @ 820BCFE
delay_16
delay_16
delay_16
@@ -215,65 +215,65 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCFE: @ 820BCFE
walk_in_place_fastest_up
step_end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD0A:: @ 820BD0A
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C4F9, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample1:: @ 820BD0A
+ msgbox SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample1, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD13:: @ 820BD13
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C566, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_WaterQualitySample2:: @ 820BD13
+ msgbox SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample2, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD1C:: @ 820BD1C
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C5C6, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_PressureExperiment:: @ 820BD1C
+ msgbox SlateportCity_OceanicMuseum_2F_Text_PressureExperiment, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD25:: @ 820BD25
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C6C7, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_HoennModel:: @ 820BD25
+ msgbox SlateportCity_OceanicMuseum_2F_Text_HoennModel, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD2E:: @ 820BD2E
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C72F, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_DeepSeawaterDisplay:: @ 820BD2E
+ msgbox SlateportCity_OceanicMuseum_2F_Text_DeepSeawaterDisplay, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD37:: @ 820BD37
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C7C1, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_SurfaceSeawaterDisplay:: @ 820BD37
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SurfaceSeawaterDisplay, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD40:: @ 820BD40
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C82F, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_SSTidalReplica:: @ 820BD40
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SSTidalReplica, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD49:: @ 820BD49
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C88B, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_SubmarineReplica:: @ 820BD49
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SubmarineReplica, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD52:: @ 820BD52
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C8E8, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_SubmersibleReplica:: @ 820BD52
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SumbersibleReplica, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD5B:: @ 820BD5B
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C93A, MSGBOX_SIGN
+SlateportCity_OceanicMuseum_2F_EventScript_SSAnneReplica:: @ 820BD5B
+ msgbox SlateportCity_OceanicMuseum_2F_Text_SSAnneReplica, MSGBOX_SIGN
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD64:: @ 820BD64
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C43F, MSGBOX_NPC
+SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron1:: @ 820BD64
+ msgbox SlateportCity_OceanicMuseum_2F_Text_RemindsMeOfAbandonedShip, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD6D:: @ 820BD6D
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C495, MSGBOX_NPC
+SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron2:: @ 820BD6D
+ msgbox SlateportCity_OceanicMuseum_2F_Text_DontRunInMuseum, MSGBOX_NPC
end
-SlateportCity_OceanicMuseum_2F_EventScript_20BD76:: @ 820BD76
+SlateportCity_OceanicMuseum_2F_EventScript_MuseumPatron3:: @ 820BD76
lock
faceplayer
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C4C2, MSGBOX_DEFAULT
+ msgbox SlateportCity_OceanicMuseum_2F_Text_WantToRideSubmarine, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SlateportCity_OceanicMuseum_2F_Text_20BD8D: @ 820BD8D
+SlateportCity_OceanicMuseum_2F_Text_ThankYouForTheParts: @ 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"
@@ -281,47 +281,47 @@ SlateportCity_OceanicMuseum_2F_Text_20BD8D: @ 820BD8D
.string "Thank you! That's great!\n"
.string "We can prepare for our expedition now.$"
-SlateportCity_OceanicMuseum_2F_Text_20BE40: @ 820BE40
+SlateportCity_OceanicMuseum_2F_Text_WellTakeThoseParts: @ 820BE40
.string "Hehehe, hold it!\n"
.string "We'll take those parts!$"
-SlateportCity_OceanicMuseum_2F_Text_20BE69: @ 820BE69
+SlateportCity_OceanicMuseum_2F_Text_SternWhoAreYou: @ 820BE69
.string "CAPT. STERN: Wh-what?\n"
.string "Who are you people?$"
-SlateportCity_OceanicMuseum_2F_Text_20BE93: @ 820BE93
+SlateportCity_OceanicMuseum_2F_Text_WereTeamAqua: @ 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
+SlateportCity_OceanicMuseum_2F_Text_Grunt1Defeat: @ 820BEE2
.string "Awaaaah!\n"
.string "A kid beat me!$"
-SlateportCity_OceanicMuseum_2F_Text_20BEFA: @ 820BEFA
+SlateportCity_OceanicMuseum_2F_Text_BossGoingToBeFurious: @ 820BEFA
.string "Oh, man, what a disaster…\n"
.string "The BOSS is going to be furious…$"
-SlateportCity_OceanicMuseum_2F_Text_20BF35: @ 820BF35
+SlateportCity_OceanicMuseum_2F_Text_LetMeTakeCareOfThis: @ 820BF35
.string "Humph, sniveling wimp!\n"
.string "Let me take care of this!$"
-SlateportCity_OceanicMuseum_2F_Text_20BF66: @ 820BF66
+SlateportCity_OceanicMuseum_2F_Text_Grunt2Defeat: @ 820BF66
.string "What?!\n"
.string "I lost, too!$"
-SlateportCity_OceanicMuseum_2F_Text_20BF7A: @ 820BF7A
+SlateportCity_OceanicMuseum_2F_Text_MeddlingKid: @ 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
+SlateportCity_OceanicMuseum_2F_Text_CameToSeeWhatsTakingSoLong: @ 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
+SlateportCity_OceanicMuseum_2F_Text_ArchieWarning: @ 820C059
.string "We are TEAM AQUA,\n"
.string "and we love the sea!\p"
.string "And I am TEAM AQUA's leader,\n"
@@ -348,7 +348,7 @@ SlateportCity_OceanicMuseum_2F_Text_20C059: @ 820C059
.string "dearly!\p"
.string "And don't you forget it!$"
-SlateportCity_OceanicMuseum_2F_Text_20C2BE: @ 820C2BE
+SlateportCity_OceanicMuseum_2F_Text_SternThankYouForSavingUs: @ 820C2BE
.string "CAPT. STERN: You're…\n"
.string "Ah, okay, you're {PLAYER}{KUN}…\p"
.string "Anyway, that was a tense situation!\n"
@@ -356,7 +356,7 @@ SlateportCity_OceanicMuseum_2F_Text_20C2BE: @ 820C2BE
.string "Oh, yes, I almost forgot that you\n"
.string "even brought the parts from DEVON!$"
-SlateportCity_OceanicMuseum_2F_Text_20C36C: @ 820C36C
+SlateportCity_OceanicMuseum_2F_Text_SternIveGotToGo: @ 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"
@@ -366,32 +366,32 @@ SlateportCity_OceanicMuseum_2F_Text_20C36C: @ 820C36C
.string "Feel free to wander around and check\n"
.string "out our facilities, though.$"
-SlateportCity_OceanicMuseum_2F_Text_20C43F: @ 820C43F
+SlateportCity_OceanicMuseum_2F_Text_RemindsMeOfAbandonedShip: @ 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
+SlateportCity_OceanicMuseum_2F_Text_DontRunInMuseum: @ 820C495
.string "Don't you dare run around inside\n"
.string "the MUSEUM!$"
-SlateportCity_OceanicMuseum_2F_Text_20C4C2: @ 820C4C2
+SlateportCity_OceanicMuseum_2F_Text_WantToRideSubmarine: @ 820C4C2
.string "Wow, the submarine's awesome!\n"
.string "I want to go for a ride!$"
-SlateportCity_OceanicMuseum_2F_Text_20C4F9: @ 820C4F9
+SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample1: @ 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
+SlateportCity_OceanicMuseum_2F_Text_WaterQualitySample2: @ 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
+SlateportCity_OceanicMuseum_2F_Text_PressureExperiment: @ 820C5C6
.string "A rubber ball is expanding and\n"
.string "shrinking.\p"
.string "“In the sea, the weight of water itself\n"
@@ -402,39 +402,39 @@ SlateportCity_OceanicMuseum_2F_Text_20C5C6: @ 820C5C6
.string "the pressure can reach even tens of\l"
.string "thousands of tons on a small area.”$"
-SlateportCity_OceanicMuseum_2F_Text_20C6C7: @ 820C6C7
+SlateportCity_OceanicMuseum_2F_Text_HoennModel: @ 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
+SlateportCity_OceanicMuseum_2F_Text_DeepSeawaterDisplay: @ 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
+SlateportCity_OceanicMuseum_2F_Text_SurfaceSeawaterDisplay: @ 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
+SlateportCity_OceanicMuseum_2F_Text_SSTidalReplica: @ 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
+SlateportCity_OceanicMuseum_2F_Text_SubmarineReplica: @ 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
+SlateportCity_OceanicMuseum_2F_Text_SumbersibleReplica: @ 820C8E8
.string "“SUBMERSIBLE POD\p"
.string "“A replica of a compact, unmanned\n"
.string "pod for seafloor exploration.”$"
-SlateportCity_OceanicMuseum_2F_Text_20C93A: @ 820C93A
+SlateportCity_OceanicMuseum_2F_Text_SSAnneReplica: @ 820C93A
.string "“S.S. ANNE\p"
.string "“A replica of the luxury liner that\n"
.string "circles the globe.”$"
diff --git a/data/maps/SlateportCity_PokemonCenter_1F/map.json b/data/maps/SlateportCity_PokemonCenter_1F/map.json
index 3e87ae256..4f8cefda9 100644
--- a/data/maps/SlateportCity_PokemonCenter_1F/map.json
+++ b/data/maps/SlateportCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonCenter_1F_EventScript_20DAD3",
+ "script": "SlateportCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonCenter_1F_EventScript_20DAE1",
+ "script": "SlateportCity_PokemonCenter_1F_EventScript_Sailor",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonCenter_1F_EventScript_20DAEA",
+ "script": "SlateportCity_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc
index 4c6b3ec7f..ba4319cba 100644
--- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc
@@ -1,30 +1,31 @@
SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF
map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, SlateportCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
SlateportCity_PokemonCenter_1F_OnTransition: @ 820DACA
setrespawn HEAL_LOCATION_SLATEPORT_CITY
- call SlateportCity_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-SlateportCity_PokemonCenter_1F_EventScript_20DAD3:: @ 820DAD3
+@ VAR_0x800B is the Nurse's object event id
+SlateportCity_PokemonCenter_1F_EventScript_Nurse:: @ 820DAD3
setvar VAR_0x800B, 1
- call SlateportCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-SlateportCity_PokemonCenter_1F_EventScript_20DAE1:: @ 820DAE1
- msgbox SlateportCity_PokemonCenter_1F_Text_20DAF3, MSGBOX_NPC
+SlateportCity_PokemonCenter_1F_EventScript_Sailor:: @ 820DAE1
+ msgbox SlateportCity_PokemonCenter_1F_Text_RaiseDifferentTypesOfPokemon, MSGBOX_NPC
end
-SlateportCity_PokemonCenter_1F_EventScript_20DAEA:: @ 820DAEA
- msgbox SlateportCity_PokemonCenter_1F_Text_20DBBC, MSGBOX_NPC
+SlateportCity_PokemonCenter_1F_EventScript_Woman:: @ 820DAEA
+ msgbox SlateportCity_PokemonCenter_1F_Text_TradedMonWithFriend, MSGBOX_NPC
end
-SlateportCity_PokemonCenter_1F_Text_20DAF3: @ 820DAF3
+SlateportCity_PokemonCenter_1F_Text_RaiseDifferentTypesOfPokemon: @ 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"
@@ -33,7 +34,7 @@ SlateportCity_PokemonCenter_1F_Text_20DAF3: @ 820DAF3
.string "If it has a type disadvantage,\n"
.string "it might not stand a chance.$"
-SlateportCity_PokemonCenter_1F_Text_20DBBC: @ 820DBBC
+SlateportCity_PokemonCenter_1F_Text_TradedMonWithFriend: @ 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/maps/SlateportCity_PokemonCenter_2F/map.json b/data/maps/SlateportCity_PokemonCenter_2F/map.json
index e6ad0518b..74cccebf0 100644
--- a/data/maps/SlateportCity_PokemonCenter_2F/map.json
+++ b/data/maps/SlateportCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc
index a9d48f43d..6406df27d 100644
--- a/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/SlateportCity_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
SlateportCity_PokemonCenter_2F_MapScripts:: @ 820DC21
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, SlateportCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-SlateportCity_PokemonCenter_2F_EventScript_20DC36:: @ 820DC36
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+SlateportCity_PokemonCenter_2F_EventScript_Colosseum:: @ 820DC36
+ call CableClub_EventScript_Colosseum
end
-SlateportCity_PokemonCenter_2F_EventScript_20DC3C:: @ 820DC3C
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+SlateportCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 820DC3C
+ call CableClub_EventScript_TradeCenter
end
-SlateportCity_PokemonCenter_2F_EventScript_20DC42:: @ 820DC42
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+SlateportCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 820DC42
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/SlateportCity_PokemonFanClub/map.json b/data/maps/SlateportCity_PokemonFanClub/map.json
index 045a0c315..5e0e0616c 100644
--- a/data/maps/SlateportCity_PokemonFanClub/map.json
+++ b/data/maps/SlateportCity_PokemonFanClub/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_20A1E8",
+ "script": "SlateportCity_PokemonFanClub_EventScript_Man",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_20A1F1",
+ "script": "SlateportCity_PokemonFanClub_EventScript_Twin",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_28C943",
+ "script": "SlateportCity_PokemonFanClub_EventScript_Reporter",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_20A17E",
+ "script": "SlateportCity_PokemonFanClub_EventScript_SootheBellWoman",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_209E96",
+ "script": "SlateportCity_PokemonFanClub_EventScript_Chairman",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_20A20D",
+ "script": "SlateportCity_PokemonFanClub_EventScript_Zigzagoon",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_20A1FA",
+ "script": "SlateportCity_PokemonFanClub_EventScript_Skitty",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_20A220",
+ "script": "SlateportCity_PokemonFanClub_EventScript_Azumarill",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_PokemonFanClub_EventScript_2C7F16",
+ "script": "SlateportCity_PokemonFanClub_EventScript_SwaggerTutor",
"flag": "0"
}
],
diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
index 866bf2963..e4086fa19 100644
--- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc
+++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
@@ -1,272 +1,272 @@
SlateportCity_PokemonFanClub_MapScripts:: @ 8209E95
.byte 0
-SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96
+SlateportCity_PokemonFanClub_EventScript_Chairman:: @ 8209E96
lock
faceplayer
- goto_if_unset FLAG_ENTERED_LINK_CONTEST, SlateportCity_PokemonFanClub_EventScript_20A152
- call_if_unset FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_20A172
+ goto_if_unset FLAG_ENTERED_CONTEST, SlateportCity_PokemonFanClub_EventScript_ChairmanNotEnteredContest
+ call_if_unset FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_MeetChairman
switch VAR_SLATEPORT_FAN_CLUB_STATE
- case 0, SlateportCity_PokemonFanClub_EventScript_209ED2
- case 1, SlateportCity_PokemonFanClub_EventScript_209EE5
- case 2, SlateportCity_PokemonFanClub_EventScript_209F3B
+ case 0, SlateportCity_PokemonFanClub_EventScript_ChairmanFirstAssessment
+ case 1, SlateportCity_PokemonFanClub_EventScript_ChairmanTryAssessPokemon
+ case 2, SlateportCity_PokemonFanClub_EventScript_NoMoreScarves
release
end
-SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2
+SlateportCity_PokemonFanClub_EventScript_ChairmanFirstAssessment:: @ 8209ED2
setvar VAR_SLATEPORT_FAN_CLUB_STATE, 1
- msgbox SlateportCity_PokemonFanClub_Text_20A445, MSGBOX_DEFAULT
- goto SlateportCity_PokemonFanClub_EventScript_209F45
+ msgbox SlateportCity_PokemonFanClub_Text_AllowMeToExamineYourPokemon, MSGBOX_DEFAULT
+ goto SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon
end
-SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5
+SlateportCity_PokemonFanClub_EventScript_ChairmanTryAssessPokemon:: @ 8209EE5
setvar VAR_TEMP_2, 0
- call_if_set FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0
- call_if_set FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0
- call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0
- call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0
- call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_209FD0
- compare VAR_TEMP_2, 5
- call_if_eq SlateportCity_PokemonFanClub_EventScript_209FCA
+ call_if_set FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
+ call_if_set FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
+ call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
+ call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
+ call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
+ compare VAR_TEMP_2, CONTEST_CATEGORIES_COUNT
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_ReceivedAllScarves
compare VAR_SLATEPORT_FAN_CLUB_STATE, 2
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_209F3B
- msgbox SlateportCity_PokemonFanClub_Text_20A62A, MSGBOX_DEFAULT
- goto SlateportCity_PokemonFanClub_EventScript_209F45
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoMoreScarves
+ msgbox SlateportCity_PokemonFanClub_Text_HowIsYourPokemonGrowing, MSGBOX_DEFAULT
+ goto SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon
end
-SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B
- msgbox SlateportCity_PokemonFanClub_Text_20A9E1, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_NoMoreScarves:: @ 8209F3B
+ msgbox SlateportCity_PokemonFanClub_Text_NothingElseToGiveYou, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45
- msgbox SlateportCity_PokemonFanClub_Text_20A65F, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon:: @ 8209F45
+ msgbox SlateportCity_PokemonFanClub_Text_HmHmISee, MSGBOX_DEFAULT
setvar VAR_TEMP_1, 0
- call_if_unset FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_20A13B
- call_if_unset FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_20A124
- call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_20A10D
- call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_20A0F6
- call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_20A0DF
+ call_if_unset FLAG_RECEIVED_YELLOW_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonTough
+ call_if_unset FLAG_RECEIVED_GREEN_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonSmart
+ call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonCute
+ call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonBeauty
+ call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonCool
bufferleadmonspeciesname 0
switch VAR_TEMP_1
- 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
+ case 0, SlateportCity_PokemonFanClub_EventScript_NoHighConditions
+ case 1, SlateportCity_PokemonFanClub_EventScript_GiveRedScarf
+ case 2, SlateportCity_PokemonFanClub_EventScript_GiveBlueScarf
+ case 3, SlateportCity_PokemonFanClub_EventScript_GivePinkScarf
+ case 4, SlateportCity_PokemonFanClub_EventScript_GiveGreenScarf
+ case 5, SlateportCity_PokemonFanClub_EventScript_GiveYellowScarf
release
end
-SlateportCity_PokemonFanClub_EventScript_209FCA:: @ 8209FCA
+SlateportCity_PokemonFanClub_EventScript_ReceivedAllScarves:: @ 8209FCA
setvar VAR_SLATEPORT_FAN_CLUB_STATE, 2
return
-SlateportCity_PokemonFanClub_EventScript_209FD0:: @ 8209FD0
+SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf:: @ 8209FD0
addvar VAR_TEMP_2, 1
return
-SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6
- msgbox SlateportCity_PokemonFanClub_Text_20A66E, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_NoHighConditions:: @ 8209FD6
+ msgbox SlateportCity_PokemonFanClub_Text_GiveMonMorePokeblocks, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0
+SlateportCity_PokemonFanClub_EventScript_GiveRedScarf:: @ 8209FE0
checkitemspace ITEM_RED_SCARF, 1
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_RED_SCARF
- giveitem_std ITEM_RED_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A827, MSGBOX_DEFAULT
+ giveitem ITEM_RED_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_ExplainRedScarf, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011
+SlateportCity_PokemonFanClub_EventScript_GiveBlueScarf:: @ 820A011
checkitemspace ITEM_BLUE_SCARF, 1
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_BLUE_SCARF
- giveitem_std ITEM_BLUE_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A880, MSGBOX_DEFAULT
+ giveitem ITEM_BLUE_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_ExplainBlueScarf, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042
+SlateportCity_PokemonFanClub_EventScript_GivePinkScarf:: @ 820A042
checkitemspace ITEM_PINK_SCARF, 1
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_PINK_SCARF
- giveitem_std ITEM_PINK_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A8D7, MSGBOX_DEFAULT
+ giveitem ITEM_PINK_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_ExplainPinkScarf, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073
+SlateportCity_PokemonFanClub_EventScript_GiveGreenScarf:: @ 820A073
checkitemspace ITEM_GREEN_SCARF, 1
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_GREEN_SCARF
- giveitem_std ITEM_GREEN_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A933, MSGBOX_DEFAULT
+ giveitem ITEM_GREEN_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_ExplainGreenScarf, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4
+SlateportCity_PokemonFanClub_EventScript_GiveYellowScarf:: @ 820A0A4
checkitemspace ITEM_YELLOW_SCARF, 1
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_YELLOW_SCARF
- giveitem_std ITEM_YELLOW_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A984, MSGBOX_DEFAULT
+ giveitem ITEM_YELLOW_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_ExplainYellowScarf, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A0D5:: @ 820A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A719, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf:: @ 820A0D5
+ msgbox SlateportCity_PokemonFanClub_Text_NoSpaceForReward, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A0DF:: @ 820A0DF
+SlateportCity_PokemonFanClub_EventScript_CheckMonCool:: @ 820A0DF
specialvar VAR_RESULT, CheckLeadMonCool
- compare VAR_RESULT, 1
- call_if_eq SlateportCity_PokemonFanClub_EventScript_20A0F0
+ compare VAR_RESULT, TRUE
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonCool
return
-SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0
+SlateportCity_PokemonFanClub_EventScript_SetMonCool:: @ 820A0F0
setvar VAR_TEMP_1, 1
return
-SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6
+SlateportCity_PokemonFanClub_EventScript_CheckMonBeauty:: @ 820A0F6
specialvar VAR_RESULT, CheckLeadMonBeauty
- compare VAR_RESULT, 1
- call_if_eq SlateportCity_PokemonFanClub_EventScript_20A107
+ compare VAR_RESULT, TRUE
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonBeauty
return
-SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107
+SlateportCity_PokemonFanClub_EventScript_SetMonBeauty:: @ 820A107
setvar VAR_TEMP_1, 2
return
-SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D
+SlateportCity_PokemonFanClub_EventScript_CheckMonCute:: @ 820A10D
specialvar VAR_RESULT, CheckLeadMonCute
- compare VAR_RESULT, 1
- call_if_eq SlateportCity_PokemonFanClub_EventScript_20A11E
+ compare VAR_RESULT, TRUE
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonCute
return
-SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E
+SlateportCity_PokemonFanClub_EventScript_SetMonCute:: @ 820A11E
setvar VAR_TEMP_1, 3
return
-SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124
+SlateportCity_PokemonFanClub_EventScript_CheckMonSmart:: @ 820A124
specialvar VAR_RESULT, CheckLeadMonSmart
- compare VAR_RESULT, 1
- call_if_eq SlateportCity_PokemonFanClub_EventScript_20A135
+ compare VAR_RESULT, TRUE
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonSmart
return
-SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135
+SlateportCity_PokemonFanClub_EventScript_SetMonSmart:: @ 820A135
setvar VAR_TEMP_1, 4
return
-SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B
+SlateportCity_PokemonFanClub_EventScript_CheckMonTough:: @ 820A13B
specialvar VAR_RESULT, CheckLeadMonTough
- compare VAR_RESULT, 1
- call_if_eq SlateportCity_PokemonFanClub_EventScript_20A14C
+ compare VAR_RESULT, TRUE
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonTough
return
-SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C
+SlateportCity_PokemonFanClub_EventScript_SetMonTough:: @ 820A14C
setvar VAR_TEMP_1, 5
return
-SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152
- goto_if_set FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_20A168
- msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_ChairmanNotEnteredContest:: @ 820A152
+ goto_if_set FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN, SlateportCity_PokemonFanClub_EventScript_ChairmanEnterContest
+ msgbox SlateportCity_PokemonFanClub_Text_MeetChairman, MSGBOX_DEFAULT
setflag FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN
release
end
-SlateportCity_PokemonFanClub_EventScript_20A168:: @ 820A168
- msgbox SlateportCity_PokemonFanClub_Text_20A3EE, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_ChairmanEnterContest:: @ 820A168
+ msgbox SlateportCity_PokemonFanClub_Text_LikeToSeeEnteredContestPokemon, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172
- msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_MeetChairman:: @ 820A172
+ msgbox SlateportCity_PokemonFanClub_Text_MeetChairman, MSGBOX_DEFAULT
setflag FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN
return
-SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E
+SlateportCity_PokemonFanClub_EventScript_SootheBellWoman:: @ 820A17E
lock
faceplayer
- goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_20A1DE
- msgbox SlateportCity_PokemonFanClub_Text_20AA77, MSGBOX_DEFAULT
+ goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_ReceivedSootheBell
+ msgbox SlateportCity_PokemonFanClub_Text_ShowMePokemonThatLoveYou, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetLeadMonFriendshipScore
compare VAR_RESULT, 4
- goto_if_ge SlateportCity_PokemonFanClub_EventScript_20A1A3
+ goto_if_ge SlateportCity_PokemonFanClub_EventScript_GiveSootheBell
release
end
-SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3
+SlateportCity_PokemonFanClub_EventScript_GiveSootheBell:: @ 820A1A3
playse SE_PIN
applymovement VAR_LAST_TALKED, Common_Movement_ExclamationMark
waitmovement 0
applymovement VAR_LAST_TALKED, Common_Movement_Delay48
waitmovement 0
- msgbox SlateportCity_PokemonFanClub_Text_20AB63, MSGBOX_DEFAULT
- giveitem_std ITEM_SOOTHE_BELL
- compare VAR_RESULT, 0
+ msgbox SlateportCity_PokemonFanClub_Text_PokemonAdoresYou, MSGBOX_DEFAULT
+ giveitem ITEM_SOOTHE_BELL
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SOOTHE_BELL
release
end
-SlateportCity_PokemonFanClub_EventScript_20A1DE:: @ 820A1DE
- msgbox SlateportCity_PokemonFanClub_Text_20ABC4, MSGBOX_DEFAULT
+SlateportCity_PokemonFanClub_EventScript_ReceivedSootheBell:: @ 820A1DE
+ msgbox SlateportCity_PokemonFanClub_Text_TreatPokemonWithLove, MSGBOX_DEFAULT
release
end
-SlateportCity_PokemonFanClub_EventScript_20A1E8:: @ 820A1E8
- msgbox SlateportCity_PokemonFanClub_Text_20AC47, MSGBOX_NPC
+SlateportCity_PokemonFanClub_EventScript_Man:: @ 820A1E8
+ msgbox SlateportCity_PokemonFanClub_Text_PokemonDontLikeFainting, MSGBOX_NPC
end
-SlateportCity_PokemonFanClub_EventScript_20A1F1:: @ 820A1F1
- msgbox SlateportCity_PokemonFanClub_Text_20ACF9, MSGBOX_NPC
+SlateportCity_PokemonFanClub_EventScript_Twin:: @ 820A1F1
+ msgbox SlateportCity_PokemonFanClub_Text_MonEnjoyedProtein, MSGBOX_NPC
end
-SlateportCity_PokemonFanClub_EventScript_20A1FA:: @ 820A1FA
+SlateportCity_PokemonFanClub_EventScript_Skitty:: @ 820A1FA
lock
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox SlateportCity_PokemonFanClub_Text_20AD5A, MSGBOX_DEFAULT
+ msgbox SlateportCity_PokemonFanClub_Text_Skitty, MSGBOX_DEFAULT
waitmoncry
release
end
-SlateportCity_PokemonFanClub_EventScript_20A20D:: @ 820A20D
+SlateportCity_PokemonFanClub_EventScript_Zigzagoon:: @ 820A20D
lock
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox SlateportCity_PokemonFanClub_Text_20AD6E, MSGBOX_DEFAULT
+ msgbox SlateportCity_PokemonFanClub_Text_Zigzagoon, MSGBOX_DEFAULT
waitmoncry
release
end
-SlateportCity_PokemonFanClub_EventScript_20A220:: @ 820A220
+SlateportCity_PokemonFanClub_EventScript_Azumarill:: @ 820A220
lock
faceplayer
waitse
playmoncry SPECIES_AZUMARILL, 0
- msgbox SlateportCity_PokemonFanClub_Text_20AD80, MSGBOX_DEFAULT
+ msgbox SlateportCity_PokemonFanClub_Text_Azumarill, MSGBOX_DEFAULT
waitmoncry
release
end
-SlateportCity_PokemonFanClub_Text_20A233: @ 820A233
+SlateportCity_PokemonFanClub_Text_MeetChairman: @ 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"
@@ -283,12 +283,12 @@ SlateportCity_PokemonFanClub_Text_20A233: @ 820A233
.string "off our POKéMON, and have others\l"
.string "show us theirs.$"
-SlateportCity_PokemonFanClub_Text_20A3EE: @ 820A3EE
+SlateportCity_PokemonFanClub_Text_LikeToSeeEnteredContestPokemon: @ 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
+SlateportCity_PokemonFanClub_Text_AllowMeToExamineYourPokemon: @ 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"
@@ -306,15 +306,15 @@ SlateportCity_PokemonFanClub_Text_20A445: @ 820A445
.string "Please! Allow me to examine how much\n"
.string "your POKéMON has grown!$"
-SlateportCity_PokemonFanClub_Text_20A62A: @ 820A62A
+SlateportCity_PokemonFanClub_Text_HowIsYourPokemonGrowing: @ 820A62A
.string "How is your POKéMON growing?\n"
.string "Allow me to examine it.$"
-SlateportCity_PokemonFanClub_Text_20A65F: @ 820A65F
+SlateportCity_PokemonFanClub_Text_HmHmISee: @ 820A65F
.string "Hm, hm…\n"
.string "I see…$"
-SlateportCity_PokemonFanClub_Text_20A66E: @ 820A66E
+SlateportCity_PokemonFanClub_Text_GiveMonMorePokeblocks: @ 820A66E
.string "Hmmm… It's not bad, but it's not\n"
.string "good, either…\p"
.string "You, the TRAINER, must put more\n"
@@ -322,53 +322,53 @@ SlateportCity_PokemonFanClub_Text_20A66E: @ 820A66E
.string "For instance, may I suggest that\n"
.string "you give it more {POKEBLOCK}S?$"
-SlateportCity_PokemonFanClub_Text_20A719: @ 820A719
+SlateportCity_PokemonFanClub_Text_NoSpaceForReward: @ 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
+SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis: @ 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
+SlateportCity_PokemonFanClub_Text_ExplainRedScarf: @ 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
+SlateportCity_PokemonFanClub_Text_ExplainBlueScarf: @ 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
+SlateportCity_PokemonFanClub_Text_ExplainPinkScarf: @ 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
+SlateportCity_PokemonFanClub_Text_ExplainGreenScarf: @ 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
+SlateportCity_PokemonFanClub_Text_ExplainYellowScarf: @ 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
+SlateportCity_PokemonFanClub_Text_NothingElseToGiveYou: @ 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
+SlateportCity_PokemonFanClub_Text_ShowMePokemonThatLoveYou: @ 820AA77
.string "I love seeing POKéMON that love\n"
.string "their TRAINERS.\p"
.string "POKéMON are very sensitive to\n"
@@ -378,18 +378,18 @@ SlateportCity_PokemonFanClub_Text_20AA77: @ 820AA77
.string "When your POKéMON grow to love you,\n"
.string "please come show me.$"
-SlateportCity_PokemonFanClub_Text_20AB63: @ 820AB63
+SlateportCity_PokemonFanClub_Text_PokemonAdoresYou: @ 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
+SlateportCity_PokemonFanClub_Text_TreatPokemonWithLove: @ 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
+SlateportCity_PokemonFanClub_Text_PokemonDontLikeFainting: @ 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"
@@ -397,18 +397,18 @@ SlateportCity_PokemonFanClub_Text_20AC47: @ 820AC47
.string "In other words, it certainly won't\n"
.string "like you very much.$"
-SlateportCity_PokemonFanClub_Text_20ACF9: @ 820ACF9
+SlateportCity_PokemonFanClub_Text_MonEnjoyedProtein: @ 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
+SlateportCity_PokemonFanClub_Text_Skitty: @ 820AD5A
.string "SKITTY: Fffnyaaaah…$"
-SlateportCity_PokemonFanClub_Text_20AD6E: @ 820AD6E
+SlateportCity_PokemonFanClub_Text_Zigzagoon: @ 820AD6E
.string "ZIGZAGOON: Kyuuu…$"
-SlateportCity_PokemonFanClub_Text_20AD80: @ 820AD80
+SlateportCity_PokemonFanClub_Text_Azumarill: @ 820AD80
.string "AZUMARILL: Marimari?$"
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.json b/data/maps/SlateportCity_SternsShipyard_1F/map.json
index 351431280..d5d8fce4e 100644
--- a/data/maps/SlateportCity_SternsShipyard_1F/map.json
+++ b/data/maps/SlateportCity_SternsShipyard_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_SternsShipyard_1F_EventScript_207F40",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_Dock",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_SternsShipyard_1F_EventScript_207FED",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_Scientist1",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_SternsShipyard_1F_EventScript_207FF6",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_Scientist2",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_SternsShipyard_1F_EventScript_207FFF",
+ "script": "SlateportCity_SternsShipyard_1F_EventScript_Briney",
"flag": "FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY"
}
],
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
index 6c554387a..4939f5407 100644
--- a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
+++ b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
@@ -1,16 +1,16 @@
SlateportCity_SternsShipyard_1F_MapScripts:: @ 8207F3F
.byte 0
-SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40
+SlateportCity_SternsShipyard_1F_EventScript_Dock:: @ 8207F40
lockall
- goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_207F92
- goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_207FA6
- goto_if_set FLAG_DELIVERED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_207FD9
- goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_207FBA
- msgbox SlateportCity_SternsShipyard_1F_Text_208008, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_SternsShipyard_1F_EventScript_FerryReady
+ goto_if_set FLAG_BADGE07_GET, SlateportCity_SternsShipyard_1F_EventScript_BrineyJoined
+ goto_if_set FLAG_DELIVERED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_NeedVeteran
+ goto_if_set FLAG_DOCK_REJECTED_DEVON_GOODS, SlateportCity_SternsShipyard_1F_EventScript_GoFindStern
+ msgbox SlateportCity_SternsShipyard_1F_Text_CantMakeHeadsOrTails, MSGBOX_DEFAULT
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_2080A5, MSGBOX_DEFAULT
+ msgbox SlateportCity_SternsShipyard_1F_Text_MeetDockDeliverToStern, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
@@ -19,50 +19,50 @@ SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40
releaseall
end
-SlateportCity_SternsShipyard_1F_EventScript_207F92:: @ 8207F92
+SlateportCity_SternsShipyard_1F_EventScript_FerryReady:: @ 8207F92
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_208323, MSGBOX_DEFAULT
+ msgbox SlateportCity_SternsShipyard_1F_Text_FerryIsReady, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_SternsShipyard_1F_EventScript_207FA6:: @ 8207FA6
+SlateportCity_SternsShipyard_1F_EventScript_BrineyJoined:: @ 8207FA6
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_2082A8, MSGBOX_DEFAULT
+ msgbox SlateportCity_SternsShipyard_1F_Text_BrineyJoinedUs, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_SternsShipyard_1F_EventScript_207FBA:: @ 8207FBA
+SlateportCity_SternsShipyard_1F_EventScript_GoFindStern:: @ 8207FBA
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_2081A5, MSGBOX_DEFAULT
+ msgbox SlateportCity_SternsShipyard_1F_Text_CouldYouFindStern, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-SlateportCity_SternsShipyard_1F_EventScript_207FD9:: @ 8207FD9
+SlateportCity_SternsShipyard_1F_EventScript_NeedVeteran:: @ 8207FD9
applymovement 1, Common_Movement_FacePlayer
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_208213, MSGBOX_DEFAULT
+ msgbox SlateportCity_SternsShipyard_1F_Text_CouldUseAdviceFromVeteran, MSGBOX_DEFAULT
releaseall
end
-SlateportCity_SternsShipyard_1F_EventScript_207FED:: @ 8207FED
- msgbox SlateportCity_SternsShipyard_1F_Text_208558, MSGBOX_NPC
+SlateportCity_SternsShipyard_1F_EventScript_Scientist1:: @ 8207FED
+ msgbox SlateportCity_SternsShipyard_1F_Text_SeaIsLikeLivingThing, MSGBOX_NPC
end
-SlateportCity_SternsShipyard_1F_EventScript_207FF6:: @ 8207FF6
- msgbox SlateportCity_SternsShipyard_1F_Text_2085FF, MSGBOX_NPC
+SlateportCity_SternsShipyard_1F_EventScript_Scientist2:: @ 8207FF6
+ msgbox SlateportCity_SternsShipyard_1F_Text_GetSeasickEasily, MSGBOX_NPC
end
-SlateportCity_SternsShipyard_1F_EventScript_207FFF:: @ 8207FFF
- msgbox SlateportCity_SternsShipyard_1F_Text_2083EE, MSGBOX_NPC
+SlateportCity_SternsShipyard_1F_EventScript_Briney:: @ 8207FFF
+ msgbox SlateportCity_SternsShipyard_1F_Text_DecidedToHelpDock, MSGBOX_NPC
end
-SlateportCity_SternsShipyard_1F_Text_208008: @ 8208008
+SlateportCity_SternsShipyard_1F_Text_CantMakeHeadsOrTails: @ 8208008
.string "Umm… If this goes here, and that\n"
.string "goes over there…\p"
.string "Then where does this thing go?\n"
@@ -70,7 +70,7 @@ SlateportCity_SternsShipyard_1F_Text_208008: @ 8208008
.string "Aaargh! I can't make heads or tails\n"
.string "of this!$"
-SlateportCity_SternsShipyard_1F_Text_2080A5: @ 82080A5
+SlateportCity_SternsShipyard_1F_Text_MeetDockDeliverToStern: @ 82080A5
.string "Hm?\n"
.string "Hi, I'm DOCK.\p"
.string "CAPT. STERN commissioned me to\n"
@@ -84,26 +84,26 @@ SlateportCity_SternsShipyard_1F_Text_2080A5: @ 82080A5
.string "Could I get you to go find CAPT.\n"
.string "STERN and deliver that to him?$"
-SlateportCity_SternsShipyard_1F_Text_2081A5: @ 82081A5
+SlateportCity_SternsShipyard_1F_Text_CouldYouFindStern: @ 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
+SlateportCity_SternsShipyard_1F_Text_CouldUseAdviceFromVeteran: @ 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
+SlateportCity_SternsShipyard_1F_Text_BrineyJoinedUs: @ 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
+SlateportCity_SternsShipyard_1F_Text_FerryIsReady: @ 8208323
.string "DOCK: The ferry is finally ready!\p"
.string "The new S.S. TIDAL is truly a marvel\n"
.string "of technology!\p"
@@ -112,7 +112,7 @@ SlateportCity_SternsShipyard_1F_Text_208323: @ 8208323
.string "You know, there's never an end to\n"
.string "technology's march.$"
-SlateportCity_SternsShipyard_1F_Text_2083EE: @ 82083EE
+SlateportCity_SternsShipyard_1F_Text_DecidedToHelpDock: @ 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"
@@ -127,7 +127,7 @@ SlateportCity_SternsShipyard_1F_Text_2083EE: @ 82083EE
.string "my experience, I'm sure that we can\l"
.string "build one great ship, aye!$"
-SlateportCity_SternsShipyard_1F_Text_208558: @ 8208558
+SlateportCity_SternsShipyard_1F_Text_SeaIsLikeLivingThing: @ 8208558
.string "The seasons, the weather, where\n"
.string "the moon sits in the sky…\p"
.string "These and other conditions make\n"
@@ -135,7 +135,7 @@ SlateportCity_SternsShipyard_1F_Text_208558: @ 8208558
.string "That's right!\n"
.string "The sea is like a living thing!$"
-SlateportCity_SternsShipyard_1F_Text_2085FF: @ 82085FF
+SlateportCity_SternsShipyard_1F_Text_GetSeasickEasily: @ 82085FF
.string "I get seasick real easily.\n"
.string "So I get to help out here instead.$"
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/map.json b/data/maps/SlateportCity_SternsShipyard_2F/map.json
index 2e57c63fd..78b39989f 100644
--- a/data/maps/SlateportCity_SternsShipyard_2F/map.json
+++ b/data/maps/SlateportCity_SternsShipyard_2F/map.json
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_SternsShipyard_2F_EventScript_20863E",
+ "script": "SlateportCity_SternsShipyard_2F_EventScript_Scientist1",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SlateportCity_SternsShipyard_2F_EventScript_208647",
+ "script": "SlateportCity_SternsShipyard_2F_EventScript_Scientist2",
"flag": "0"
}
],
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc
index 6fa410dfe..fff96bc65 100644
--- a/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc
+++ b/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc
@@ -1,20 +1,20 @@
SlateportCity_SternsShipyard_2F_MapScripts:: @ 820863D
.byte 0
-SlateportCity_SternsShipyard_2F_EventScript_20863E:: @ 820863E
- msgbox SlateportCity_SternsShipyard_2F_Text_208650, MSGBOX_NPC
+SlateportCity_SternsShipyard_2F_EventScript_Scientist1:: @ 820863E
+ msgbox SlateportCity_SternsShipyard_2F_Text_ShipDesignMoreLikeBuilding, MSGBOX_NPC
end
-SlateportCity_SternsShipyard_2F_EventScript_208647:: @ 8208647
- msgbox SlateportCity_SternsShipyard_2F_Text_2086BA, MSGBOX_NPC
+SlateportCity_SternsShipyard_2F_EventScript_Scientist2:: @ 8208647
+ msgbox SlateportCity_SternsShipyard_2F_Text_FloatsBecauseBuoyancy, MSGBOX_NPC
end
-SlateportCity_SternsShipyard_2F_Text_208650: @ 8208650
+SlateportCity_SternsShipyard_2F_Text_ShipDesignMoreLikeBuilding: @ 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
+SlateportCity_SternsShipyard_2F_Text_FloatsBecauseBuoyancy: @ 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"
diff --git a/data/maps/SootopolisCity/map.json b/data/maps/SootopolisCity/map.json
index 183c3ce46..946206347 100644
--- a/data/maps/SootopolisCity/map.json
+++ b/data/maps/SootopolisCity/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E5E8D",
+ "script": "SootopolisCity_EventScript_CaveOfOriginExpert",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E5FE2",
+ "script": "SootopolisCity_EventScript_Woman2",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E5ED8",
+ "script": "SootopolisCity_EventScript_Kiri",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E608E",
+ "script": "SootopolisCity_EventScript_NinjaBoy",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E60E3",
+ "script": "SootopolisCity_EventScript_Boy1",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E6017",
+ "script": "SootopolisCity_EventScript_Man",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E6166",
+ "script": "SootopolisCity_EventScript_Steven",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E6038",
+ "script": "SootopolisCity_EventScript_Woman1",
"flag": "0"
},
{
@@ -167,7 +167,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E6411",
+ "script": "SootopolisCity_EventScript_Maniac",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS"
},
{
@@ -180,7 +180,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E63DB",
+ "script": "SootopolisCity_EventScript_Girl",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS"
},
{
@@ -193,7 +193,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E6393",
+ "script": "SootopolisCity_EventScript_BlackBelt",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS"
},
{
@@ -206,7 +206,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E635D",
+ "script": "SootopolisCity_EventScript_Boy2",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS"
},
{
@@ -219,7 +219,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E64F2",
+ "script": "SootopolisCity_EventScript_Maxie",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE"
},
{
@@ -232,7 +232,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E651F",
+ "script": "SootopolisCity_EventScript_Archie",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE"
},
{
@@ -245,7 +245,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_EventScript_1E6446",
+ "script": "SootopolisCity_EventScript_Wallace",
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE"
}
],
@@ -350,7 +350,7 @@
"y": 34,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SootopolisCity_EventScript_1E614B"
+ "script": "SootopolisCity_EventScript_GymSign"
},
{
"type": "sign",
@@ -390,7 +390,7 @@
"y": 37,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SootopolisCity_EventScript_1E6154"
+ "script": "SootopolisCity_EventScript_CitySign"
}
]
} \ No newline at end of file
diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc
index 2f3ef0434..35cbcc425 100644
--- a/data/maps/SootopolisCity/scripts.inc
+++ b/data/maps/SootopolisCity/scripts.inc
@@ -1,21 +1,21 @@
SootopolisCity_MapScripts:: @ 81E565C
- map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_MapScript1_1E5676
+ map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_MapScript1_1E590B
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MapScript2_1E5914
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_MapScript2_1E58DB
+ map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_OnWarp
.byte 0
-SootopolisCity_MapScript1_1E5676: @ 81E5676
- call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E56E5
- goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_1E5692
- call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E5693
+SootopolisCity_OnLoad: @ 81E5676
+ call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_LockGymDoor
+ goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_EventScript_LegendariesNotArrived
+ call_if_unset FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_LockHouseDoors
end
-SootopolisCity_EventScript_1E5692:: @ 81E5692
+SootopolisCity_EventScript_LegendariesNotArrived:: @ 81E5692
end
-SootopolisCity_EventScript_1E5693:: @ 81E5693
+SootopolisCity_EventScript_LockHouseDoors:: @ 81E5693
setmetatile 9, 6, METATILE_Sootopolis_Door_Closed, 1
setmetatile 9, 17, METATILE_Sootopolis_Door_Closed, 1
setmetatile 9, 26, METATILE_Sootopolis_Door_Closed, 1
@@ -27,45 +27,45 @@ SootopolisCity_EventScript_1E5693:: @ 81E5693
setmetatile 51, 36, METATILE_Sootopolis_Door_Closed, 1
return
-SootopolisCity_EventScript_1E56E5:: @ 81E56E5
+SootopolisCity_EventScript_LockGymDoor:: @ 81E56E5
setmetatile 31, 32, METATILE_Sootopolis_GymDoor_Closed, 1
return
SootopolisCity_OnTransition: @ 81E56EF
setflag FLAG_VISITED_SOOTOPOLIS_CITY
compare VAR_SOOTOPOLIS_CITY_STATE, 1
- call_if_eq SootopolisCity_EventScript_1E5781
+ call_if_eq SootopolisCity_EventScript_HideMapNamePopup
compare VAR_SKY_PILLAR_STATE, 1
- call_if_eq SootopolisCity_EventScript_1E5781
- call SootopolisCity_EventScript_1E5805
- call SootopolisCity_EventScript_1E57B2
+ call_if_eq SootopolisCity_EventScript_HideMapNamePopup
+ call SootopolisCity_EventScript_SetWeather
+ call SootopolisCity_EventScript_SetLayout
compare VAR_SOOTOPOLIS_CITY_STATE, 1
- call_if_eq SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_SetBattleSpectators
compare VAR_SOOTOPOLIS_CITY_STATE, 2
- call_if_eq SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_SetBattleSpectators
compare VAR_SOOTOPOLIS_CITY_STATE, 3
- call_if_eq SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_SetBattleSpectators
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_eq SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_SetBattleSpectators
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- call_if_eq SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_SetBattleSpectators
compare VAR_SOOTOPOLIS_CITY_STATE, 2
- call_if_eq SootopolisCity_EventScript_1E5842
+ call_if_eq SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos
compare VAR_SOOTOPOLIS_CITY_STATE, 3
- call_if_eq SootopolisCity_EventScript_1E5842
+ call_if_eq SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_eq SootopolisCity_EventScript_1E585B
+ call_if_eq SootopolisCity_EventScript_SetExitCaveOfOriginObjPos
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- call_if_eq SootopolisCity_EventScript_1E5871
+ call_if_eq SootopolisCity_EventScript_SetOutsideGymObjPos
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- call_if_eq SootopolisCity_EventScript_1E58D3
+ call_if_eq SootopolisCity_EventScript_SetExpertBlockCaveEntrance
end
-SootopolisCity_EventScript_1E5781:: @ 81E5781
+SootopolisCity_EventScript_HideMapNamePopup:: @ 81E5781
setflag FLAG_HIDE_MAP_NAME_POPUP
return
-SootopolisCity_EventScript_1E5785:: @ 81E5785
+SootopolisCity_EventScript_SetBattleSpectators:: @ 81E5785
setobjectxyperm 3, 13, 48
setobjectxyperm 5, 46, 32
setobjectxyperm 4, 48, 41
@@ -76,199 +76,200 @@ SootopolisCity_EventScript_1E5785:: @ 81E5785
setobjectmovementtype 8, MOVEMENT_TYPE_FACE_LEFT
return
-SootopolisCity_EventScript_1E57B2:: @ 81E57B2
+SootopolisCity_EventScript_SetLayout:: @ 81E57B2
compare VAR_SOOTOPOLIS_CITY_STATE, 0
- goto_if_eq SootopolisCity_EventScript_1E5800
+ goto_if_eq SootopolisCity_EventScript_SetNormalLayout
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E5800
+ goto_if_ge SootopolisCity_EventScript_SetNormalLayout
compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
compare VAR_SOOTOPOLIS_CITY_STATE, 3
- goto_if_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
compare VAR_SKY_PILLAR_STATE, 1
- goto_if_le SootopolisCity_EventScript_1E5801
+ goto_if_le SootopolisCity_EventScript_SetLegendariesLayout
return
-SootopolisCity_EventScript_1E5800:: @ 81E5800
+SootopolisCity_EventScript_SetNormalLayout:: @ 81E5800
return
-SootopolisCity_EventScript_1E5801:: @ 81E5801
+SootopolisCity_EventScript_SetLegendariesLayout:: @ 81E5801
setmaplayoutindex LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE
return
-SootopolisCity_EventScript_1E5805:: @ 81E5805
+SootopolisCity_EventScript_SetWeather:: @ 81E5805
compare VAR_SOOTOPOLIS_CITY_STATE, 0
- goto_if_eq SootopolisCity_EventScript_1E583D
+ goto_if_eq SootopolisCity_EventScript_SetNormalWeather
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E583D
+ goto_if_ge SootopolisCity_EventScript_SetNormalWeather
compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_eq SootopolisCity_EventScript_1E583E
+ goto_if_eq SootopolisCity_EventScript_SetDownpour
compare VAR_SKY_PILLAR_STATE, 1
- goto_if_eq SootopolisCity_EventScript_1E583E
+ goto_if_eq SootopolisCity_EventScript_SetDownpour
compare VAR_SKY_PILLAR_STATE, 1
- goto_if_le Common_EventScript_SetWeather15
+ goto_if_le Common_EventScript_SetAbnormalWeather
return
-SootopolisCity_EventScript_1E583D:: @ 81E583D
+SootopolisCity_EventScript_SetNormalWeather:: @ 81E583D
return
-SootopolisCity_EventScript_1E583E:: @ 81E583E
- setweather WEATHER_RAIN_HEAVY
+SootopolisCity_EventScript_SetDownpour:: @ 81E583E
+ setweather WEATHER_DOWNPOUR
return
-SootopolisCity_EventScript_1E5842:: @ 81E5842
- goto_if_set FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_1E584C
+SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos:: @ 81E5842
+ goto_if_set FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_SetEnterCaveOfOriginObjPos
return
-SootopolisCity_EventScript_1E584C:: @ 81E584C
- setobjectxyperm 1, 30, 18
- setobjectxyperm 7, 32, 18
+SootopolisCity_EventScript_SetEnterCaveOfOriginObjPos:: @ 81E584C
+ setobjectxyperm 1, 30, 18 @ Expert
+ setobjectxyperm 7, 32, 18 @ Steven
return
-SootopolisCity_EventScript_1E585B:: @ 81E585B
- setobjectxyperm 1, 30, 18
- setobjectxyperm 18, 31, 18
- setobjectxyperm 7, 32, 18
+SootopolisCity_EventScript_SetExitCaveOfOriginObjPos:: @ 81E585B
+ setobjectxyperm 1, 30, 18 @ Expert
+ setobjectxyperm 18, 31, 18 @ Wallace
+ setobjectxyperm 7, 32, 18 @ Steven
end
-SootopolisCity_EventScript_1E5871:: @ 81E5871
- setobjectxyperm 1, 31, 18
- setobjectxyperm 7, 29, 33
- setobjectxyperm 16, 33, 35
- setobjectxyperm 17, 34, 35
+SootopolisCity_EventScript_SetOutsideGymObjPos:: @ 81E5871
+ setobjectxyperm 1, 31, 18 @ Expert
+ setobjectxyperm 7, 29, 33 @ Steven
+ setobjectxyperm 16, 33, 35 @ Maxie
+ setobjectxyperm 17, 34, 35 @ Archie
compare VAR_SOOTOPOLIS_WALLACE_STATE, 0
- call_if_eq SootopolisCity_EventScript_1E58AF
+ call_if_eq SootopolisCity_EventScript_SetWallaceMiddle
compare VAR_SOOTOPOLIS_WALLACE_STATE, 1
- call_if_eq SootopolisCity_EventScript_1E58BB
+ call_if_eq SootopolisCity_EventScript_SetWallaceRight
compare VAR_SOOTOPOLIS_WALLACE_STATE, 2
- call_if_eq SootopolisCity_EventScript_1E58C7
+ call_if_eq SootopolisCity_EventScript_SetWallaceLeft
return
-SootopolisCity_EventScript_1E58AF:: @ 81E58AF
+SootopolisCity_EventScript_SetWallaceMiddle:: @ 81E58AF
setobjectxyperm 18, 31, 33
setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN
return
-SootopolisCity_EventScript_1E58BB:: @ 81E58BB
+SootopolisCity_EventScript_SetWallaceRight:: @ 81E58BB
setobjectxyperm 18, 32, 33
setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN
return
-SootopolisCity_EventScript_1E58C7:: @ 81E58C7
+SootopolisCity_EventScript_SetWallaceLeft:: @ 81E58C7
setobjectxyperm 18, 30, 33
setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN
return
-SootopolisCity_EventScript_1E58D3:: @ 81E58D3
- setobjectxyperm 1, 31, 18
+SootopolisCity_EventScript_SetExpertBlockCaveEntrance:: @ 81E58D3
+ setobjectxyperm 1, 31, 18 @ Expert
return
-SootopolisCity_MapScript2_1E58DB: @ 81E58DB
- map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_1E58E5
+SootopolisCity_OnWarp: @ 81E58DB
+ map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_PlayerFaceLegendaries
.2byte 0
-SootopolisCity_EventScript_1E58E5:: @ 81E58E5
+SootopolisCity_EventScript_PlayerFaceLegendaries:: @ 81E58E5
compare VAR_SKY_PILLAR_STATE, 1
- call_if_eq SootopolisCity_EventScript_1E58FC
+ call_if_eq SootopolisCity_EventScript_PlayerFaceLegendaries1
compare VAR_SKY_PILLAR_STATE, 2
- call_if_eq SootopolisCity_EventScript_1E5901
+ call_if_eq SootopolisCity_EventScript_PlayerFaceLegendaries2
end
-SootopolisCity_EventScript_1E58FC:: @ 81E58FC
- turnobject EVENT_OBJ_ID_PLAYER, 2
+SootopolisCity_EventScript_PlayerFaceLegendaries1:: @ 81E58FC
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
return
-SootopolisCity_EventScript_1E5901:: @ 81E5901
- turnobject EVENT_OBJ_ID_PLAYER, 2
+SootopolisCity_EventScript_PlayerFaceLegendaries2:: @ 81E5901
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
setvar VAR_SKY_PILLAR_STATE, 3
return
-SootopolisCity_MapScript1_1E590B: @ 81E590B
+SootopolisCity_OnResume: @ 81E590B
setdivewarp MAP_UNDERWATER_SOOTOPOLIS_CITY, 255, 9, 6
end
-SootopolisCity_MapScript2_1E5914: @ 81E5914
- map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_1E5926
- map_script_2 VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_1E5BFE
+SootopolisCity_OnFrame: @ 81E5914
+ map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_StartLegendariesScene
+ map_script_2 VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_StartRayquazaScene
.2byte 0
-SootopolisCity_EventScript_1E5926:: @ 81E5926
+@ If not at PokeCenter, assumed to have arrived via Dive
+SootopolisCity_EventScript_StartLegendariesScene:: @ 81E5926
lockall
special StorePlayerCoordsInVars
compare VAR_0x8004, 43
- goto_if_ne SootopolisCity_EventScript_1E5A82
+ goto_if_ne SootopolisCity_EventScript_LegendariesSceneFromDive
compare VAR_0x8005, 32
- goto_if_ne SootopolisCity_EventScript_1E5A82
- goto SootopolisCity_EventScript_1E5946
+ goto_if_ne SootopolisCity_EventScript_LegendariesSceneFromDive
+ goto SootopolisCity_EventScript_LegendariesSceneFromPokeCenter
end
-SootopolisCity_EventScript_1E5946:: @ 81E5946
+SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: @ 81E5946
delay 60
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter
waitmovement 0
special RemoveCameraObject
delay 60
- fadescreenspeed 1, 8
- setweather WEATHER_ALTERNATING
+ fadescreenspeed FADE_TO_BLACK, 8
+ setweather WEATHER_ABNORMAL
doweather
setvar VAR_0x8004, 0
- special sub_813B7D8
+ special Script_DoRayquazaScene
waitstate
- applymovement 10, Common_Movement_WalkInPlaceLeft
- applymovement 9, Common_Movement_WalkInPlaceRight
+ applymovement 10, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 9, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 60
waitse
playmoncry SPECIES_KYOGRE, 2
- applymovement 10, SootopolisCity_Movement_1E5BB8
- applymovement 9, SootopolisCity_Movement_1E5BE5
+ applymovement 10, SootopolisCity_Movement_KyogreAttack
+ applymovement 9, SootopolisCity_Movement_GroudonDefend
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 10, SootopolisCity_Movement_1E5BCF
- applymovement 9, SootopolisCity_Movement_1E5BF0
+ applymovement 10, SootopolisCity_Movement_KyogreMoveBack
+ applymovement 9, SootopolisCity_Movement_GroudonMoveBack
waitmovement 0
waitse
playmoncry SPECIES_GROUDON, 2
- applymovement 10, SootopolisCity_Movement_1E5BC2
- applymovement 9, SootopolisCity_Movement_1E5BDD
+ applymovement 10, SootopolisCity_Movement_GroudonAttack
+ applymovement 9, SootopolisCity_Movement_KyogreDefend
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 10, SootopolisCity_Movement_1E5BCF
- applymovement 9, SootopolisCity_Movement_1E5BF0
+ applymovement 10, SootopolisCity_Movement_KyogreMoveBack
+ applymovement 9, SootopolisCity_Movement_GroudonMoveBack
waitmovement 0
waitse
playmoncry SPECIES_KYOGRE, 2
- applymovement 10, SootopolisCity_Movement_1E5BB8
- applymovement 9, SootopolisCity_Movement_1E5BE5
+ applymovement 10, SootopolisCity_Movement_KyogreAttack
+ applymovement 9, SootopolisCity_Movement_GroudonDefend
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 10, SootopolisCity_Movement_1E5BCF
- applymovement 9, SootopolisCity_Movement_1E5BF0
+ applymovement 10, SootopolisCity_Movement_KyogreMoveBack
+ applymovement 9, SootopolisCity_Movement_GroudonMoveBack
waitmovement 0
special SpawnCameraObject
- applymovement 10, SootopolisCity_Movement_1E5BD6
- applymovement 9, SootopolisCity_Movement_1E5BF7
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A75
+ applymovement 10, SootopolisCity_Movement_KyogreIdle
+ applymovement 9, SootopolisCity_Movement_GroudonIdle
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanBackToPokeCenter
waitmovement 0
special RemoveCameraObject
setvar VAR_SOOTOPOLIS_CITY_STATE, 2
@@ -276,7 +277,7 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946
releaseall
end
-SootopolisCity_Movement_1E5A68: @ 81E5A68
+SootopolisCity_Movement_PanToActionFromPokeCenter: @ 81E5A68
walk_slow_diag_southwest
walk_slow_diag_southwest
walk_slow_diag_southwest
@@ -291,7 +292,7 @@ SootopolisCity_Movement_1E5A68: @ 81E5A68
walk_slow_diag_southwest
step_end
-SootopolisCity_Movement_1E5A75: @ 81E5A75
+SootopolisCity_Movement_PanBackToPokeCenter: @ 81E5A75
walk_slow_diag_northeast
walk_slow_diag_northeast
walk_slow_diag_northeast
@@ -306,69 +307,69 @@ SootopolisCity_Movement_1E5A75: @ 81E5A75
walk_slow_diag_northeast
step_end
-SootopolisCity_EventScript_1E5A82:: @ 81E5A82
+SootopolisCity_EventScript_LegendariesSceneFromDive:: @ 81E5A82
delay 60
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromDive
waitmovement 0
special RemoveCameraObject
delay 60
- fadescreenspeed 1, 8
- setweather WEATHER_ALTERNATING
+ fadescreenspeed FADE_TO_BLACK, 8
+ setweather WEATHER_ABNORMAL
doweather
setvar VAR_0x8004, 0
- special sub_813B7D8
+ special Script_DoRayquazaScene
waitstate
- applymovement 10, Common_Movement_WalkInPlaceLeft
- applymovement 9, Common_Movement_WalkInPlaceRight
+ applymovement 10, Common_Movement_WalkInPlaceFastestLeft
+ applymovement 9, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
delay 60
waitse
playmoncry SPECIES_KYOGRE, 2
- applymovement 10, SootopolisCity_Movement_1E5BB8
- applymovement 9, SootopolisCity_Movement_1E5BE5
+ applymovement 10, SootopolisCity_Movement_KyogreAttack
+ applymovement 9, SootopolisCity_Movement_GroudonDefend
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 10, SootopolisCity_Movement_1E5BCF
- applymovement 9, SootopolisCity_Movement_1E5BF0
+ applymovement 10, SootopolisCity_Movement_KyogreMoveBack
+ applymovement 9, SootopolisCity_Movement_GroudonMoveBack
waitmovement 0
waitse
playmoncry SPECIES_GROUDON, 2
- applymovement 10, SootopolisCity_Movement_1E5BC2
- applymovement 9, SootopolisCity_Movement_1E5BDD
+ applymovement 10, SootopolisCity_Movement_GroudonAttack
+ applymovement 9, SootopolisCity_Movement_KyogreDefend
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 10, SootopolisCity_Movement_1E5BCF
- applymovement 9, SootopolisCity_Movement_1E5BF0
+ applymovement 10, SootopolisCity_Movement_KyogreMoveBack
+ applymovement 9, SootopolisCity_Movement_GroudonMoveBack
waitmovement 0
waitse
playmoncry SPECIES_KYOGRE, 2
- applymovement 10, SootopolisCity_Movement_1E5BB8
- applymovement 9, SootopolisCity_Movement_1E5BE5
+ applymovement 10, SootopolisCity_Movement_KyogreAttack
+ applymovement 9, SootopolisCity_Movement_GroudonDefend
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 8
- setvar VAR_0x8007, 5
- special sub_8139560
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
- applymovement 10, SootopolisCity_Movement_1E5BCF
- applymovement 9, SootopolisCity_Movement_1E5BF0
+ applymovement 10, SootopolisCity_Movement_KyogreMoveBack
+ applymovement 9, SootopolisCity_Movement_GroudonMoveBack
waitmovement 0
special SpawnCameraObject
- applymovement 10, SootopolisCity_Movement_1E5BD6
- applymovement 9, SootopolisCity_Movement_1E5BF7
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BAE
+ applymovement 10, SootopolisCity_Movement_KyogreIdle
+ applymovement 9, SootopolisCity_Movement_GroudonIdle
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanBackToDive
waitmovement 0
special RemoveCameraObject
setvar VAR_SOOTOPOLIS_CITY_STATE, 2
@@ -376,7 +377,7 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82
releaseall
end
-SootopolisCity_Movement_1E5BA4: @ 81E5BA4
+SootopolisCity_Movement_PanToActionFromDive: @ 81E5BA4
walk_slow_diag_northeast
walk_slow_diag_northeast
walk_up
@@ -388,7 +389,7 @@ SootopolisCity_Movement_1E5BA4: @ 81E5BA4
walk_up
step_end
-SootopolisCity_Movement_1E5BAE: @ 81E5BAE
+SootopolisCity_Movement_PanBackToDive: @ 81E5BAE
walk_down
walk_down
walk_down
@@ -400,7 +401,7 @@ SootopolisCity_Movement_1E5BAE: @ 81E5BAE
walk_slow_diag_southwest
step_end
-SootopolisCity_Movement_1E5BB8: @ 81E5BB8
+SootopolisCity_Movement_KyogreAttack: @ 81E5BB8
walk_in_place_slow_left
walk_in_place_slow_left
walk_in_place_slow_left
@@ -412,7 +413,7 @@ SootopolisCity_Movement_1E5BB8: @ 81E5BB8
clear_affine_anim
step_end
-SootopolisCity_Movement_1E5BC2: @ 81E5BC2
+SootopolisCity_Movement_GroudonAttack: @ 81E5BC2
delay_16
delay_16
delay_16
@@ -427,7 +428,7 @@ SootopolisCity_Movement_1E5BC2: @ 81E5BC2
clear_affine_anim
step_end
-SootopolisCity_Movement_1E5BCF: @ 81E5BCF
+SootopolisCity_Movement_KyogreMoveBack: @ 81E5BCF
lock_facing_direction
walk_right
delay_16
@@ -436,7 +437,7 @@ SootopolisCity_Movement_1E5BCF: @ 81E5BCF
unlock_facing_direction
step_end
-SootopolisCity_Movement_1E5BD6: @ 81E5BD6
+SootopolisCity_Movement_KyogreIdle: @ 81E5BD6
walk_in_place_slow_left
walk_in_place_slow_left
walk_in_place_slow_left
@@ -445,7 +446,7 @@ SootopolisCity_Movement_1E5BD6: @ 81E5BD6
walk_in_place_slow_left
step_end
-SootopolisCity_Movement_1E5BDD: @ 81E5BDD
+SootopolisCity_Movement_KyogreDefend: @ 81E5BDD
walk_in_place_slow_right
walk_in_place_slow_right
walk_in_place_slow_right
@@ -455,7 +456,7 @@ SootopolisCity_Movement_1E5BDD: @ 81E5BDD
walk_fast_right
step_end
-SootopolisCity_Movement_1E5BE5: @ 81E5BE5
+SootopolisCity_Movement_GroudonDefend: @ 81E5BE5
delay_16
delay_16
delay_16
@@ -468,7 +469,7 @@ SootopolisCity_Movement_1E5BE5: @ 81E5BE5
walk_fast_right
step_end
-SootopolisCity_Movement_1E5BF0: @ 81E5BF0
+SootopolisCity_Movement_GroudonMoveBack: @ 81E5BF0
lock_facing_direction
walk_left
delay_16
@@ -477,7 +478,7 @@ SootopolisCity_Movement_1E5BF0: @ 81E5BF0
unlock_facing_direction
step_end
-SootopolisCity_Movement_1E5BF7: @ 81E5BF7
+SootopolisCity_Movement_GroudonIdle: @ 81E5BF7
walk_in_place_slow_right
walk_in_place_slow_right
walk_in_place_slow_right
@@ -486,55 +487,56 @@ SootopolisCity_Movement_1E5BF7: @ 81E5BF7
walk_in_place_slow_right
step_end
-SootopolisCity_EventScript_1E5BFE:: @ 81E5BFE
+@ If not at PokeCenter, assumed to have arrived via Dive
+SootopolisCity_EventScript_StartRayquazaScene:: @ 81E5BFE
lockall
special StorePlayerCoordsInVars
compare VAR_0x8004, 43
- goto_if_ne SootopolisCity_EventScript_1E5CCE
+ goto_if_ne SootopolisCity_EventScript_RayquazaSceneFromDive
compare VAR_0x8005, 32
- goto_if_ne SootopolisCity_EventScript_1E5CCE
- goto SootopolisCity_EventScript_1E5C1E
+ goto_if_ne SootopolisCity_EventScript_RayquazaSceneFromDive
+ goto SootopolisCity_EventScript_RayquazaSceneFromPokeCenter
end
-SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
+SootopolisCity_EventScript_RayquazaSceneFromPokeCenter:: @ 81E5C1E
delay 60
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter
waitmovement 0
special RemoveCameraObject
delay 60
- fadescreenspeed 1, 8
- call SootopolisCity_EventScript_1E5D82
+ fadescreenspeed FADE_TO_BLACK, 8
+ call SootopolisCity_EventScript_SetRoughWater
removeobject 9
removeobject 10
addobject 11
setvar VAR_0x8004, 1
- special sub_813B7D8
+ special Script_DoRayquazaScene
waitstate
playse SE_T_KAMI
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanUp
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
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
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
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
waitmoncry
setweather WEATHER_NONE
doweather
- applymovement 11, SootopolisCity_Movement_1E5E5B
+ applymovement 11, SootopolisCity_Movement_RayquazaFlyOff
waitmovement 0
removeobject 11
special WaitWeather
@@ -545,49 +547,49 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
fadenewbgm MUS_RUNECITY
delay 120
clearflag FLAG_HIDE_MAP_NAME_POPUP
- warp8 MAP_SOOTOPOLIS_CITY, 255, 43, 32
+ warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 43, 32
waitstate
end
-SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
+SootopolisCity_EventScript_RayquazaSceneFromDive:: @ 81E5CCE
delay 60
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanToActionFromDive
waitmovement 0
special RemoveCameraObject
delay 60
- fadescreenspeed 1, 8
- call SootopolisCity_EventScript_1E5D82
+ fadescreenspeed FADE_TO_BLACK, 8
+ call SootopolisCity_EventScript_SetRoughWater
removeobject 9
removeobject 10
addobject 11
setvar VAR_0x8004, 1
- special sub_813B7D8
+ special Script_DoRayquazaScene
waitstate
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E5E68
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_PanUp
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerApproachLegendaries
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
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 3 @ shake delay
+ special ShakeCamera
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
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 2 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
waitstate
waitmoncry
setweather WEATHER_NONE
doweather
- applymovement 11, SootopolisCity_Movement_1E5E5B
+ applymovement 11, SootopolisCity_Movement_RayquazaFlyOff
waitmovement 0
removeobject 11
special WaitWeather
@@ -598,11 +600,11 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
fadenewbgm MUS_NAMINORI
delay 120
clearflag FLAG_HIDE_MAP_NAME_POPUP
- warp8 MAP_SOOTOPOLIS_CITY, 255, 29, 53
+ warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 29, 53
waitstate
end
-SootopolisCity_EventScript_1E5D82:: @ 81E5D82
+SootopolisCity_EventScript_SetRoughWater:: @ 81E5D82
setmetatile 27, 43, METATILE_Sootopolis_RoughWater, 0
setmetatile 28, 43, METATILE_Sootopolis_RoughWater, 0
setmetatile 29, 43, METATILE_Sootopolis_RoughWater, 0
@@ -629,7 +631,7 @@ SootopolisCity_EventScript_1E5D82:: @ 81E5D82
setmetatile 35, 45, METATILE_Sootopolis_RoughWater, 0
return
-SootopolisCity_Movement_1E5E5B: @ 81E5E5B
+SootopolisCity_Movement_RayquazaFlyOff: @ 81E5E5B
walk_fast_up
walk_fastest_up
walk_fastest_up
@@ -639,28 +641,30 @@ SootopolisCity_Movement_1E5E5B: @ 81E5E5B
walk_fastest_up
step_end
-SootopolisCity_Movement_1E5E63: @ 81E5E63
+SootopolisCity_Movement_PanUp: @ 81E5E63
walk_up
walk_up
walk_up
walk_up
step_end
-SootopolisCity_Movement_1E5E68: @ 81E5E68
+SootopolisCity_Movement_PlayerApproachLegendaries: @ 81E5E68
walk_up
walk_up
walk_up
walk_up
step_end
-SootopolisCity_Movement_1E5E6D: @ 81E5E6D
+@ Unused
+SootopolisCity_Movement_PlayerApproachLegendariesDown: @ 81E5E6D
walk_down
walk_down
walk_down
walk_down
step_end
-SootopolisCity_Movement_1E5E72: @ 81E5E72
+@ Unused
+SootopolisCity_Movement_UnusedPanUp: @ 81E5E72
walk_slow_diag_northeast
walk_slow_diag_northeast
walk_slow_diag_northeast
@@ -675,7 +679,8 @@ SootopolisCity_Movement_1E5E72: @ 81E5E72
walk_right
step_end
-SootopolisCity_Movement_1E5E7F: @ 81E5E7F
+@ Unused
+SootopolisCity_Movement_UnusedPanBack: @ 81E5E7F
walk_down
walk_down
walk_down
@@ -691,311 +696,312 @@ SootopolisCity_Movement_1E5E7F: @ 81E5E7F
walk_slow_diag_southwest
step_end
-SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D
+SootopolisCity_EventScript_CaveOfOriginExpert:: @ 81E5E8D
lock
faceplayer
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E5EC4
+ goto_if_ge SootopolisCity_EventScript_ExpertPostLegendaries
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E5ECE
+ goto_if_eq SootopolisCity_EventScript_ExpertLegendaries
compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_ge SootopolisCity_EventScript_1E5EBA
- msgbox SootopolisCity_Text_1E6D77, MSGBOX_DEFAULT
+ goto_if_ge SootopolisCity_EventScript_ExpertLeadToCave
+ msgbox SootopolisCity_Text_CaveOfOriginPleaseLeave, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5EBA:: @ 81E5EBA
- msgbox SootopolisCity_Text_1E6DFE, MSGBOX_DEFAULT
+SootopolisCity_EventScript_ExpertLeadToCave:: @ 81E5EBA
+ msgbox SootopolisCity_Text_LeadSuperiorTrainerToCave, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5EC4:: @ 81E5EC4
- msgbox SootopolisCity_Text_1E6F38, MSGBOX_DEFAULT
+SootopolisCity_EventScript_ExpertPostLegendaries:: @ 81E5EC4
+ msgbox SootopolisCity_Text_CaveOfOriginSleepsToo, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5ECE:: @ 81E5ECE
- msgbox SootopolisCity_Text_1E6ED4, MSGBOX_DEFAULT
+SootopolisCity_EventScript_ExpertLegendaries:: @ 81E5ECE
+ msgbox SootopolisCity_Text_AwakenedPokemonClash, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8
+SootopolisCity_EventScript_Kiri:: @ 81E5ED8
lock
faceplayer
compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_le SootopolisCity_EventScript_1E5F1B
+ goto_if_le SootopolisCity_EventScript_KiriGiveBerry
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E5F1B
+ goto_if_ge SootopolisCity_EventScript_KiriGiveBerry
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E5F10
- msgbox SootopolisCity_Text_1E6BFF, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_KiriRayquaza
+ msgbox SootopolisCity_Text_BigPokemonFighting, MSGBOX_DEFAULT
closemessage
applymovement 3, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SootopolisCity_EventScript_1E5F10:: @ 81E5F10
- msgbox SootopolisCity_Text_1E6C53, MSGBOX_DEFAULT
+SootopolisCity_EventScript_KiriRayquaza:: @ 81E5F10
+ msgbox SootopolisCity_Text_PrettyMonCameFromSky, MSGBOX_DEFAULT
closemessage
release
end
-SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B
+@ Gives 2 berries daily. First ranges from FIRST_KIRI_BERRY to LAST_KIRI_BERRY, second is always Figy or Iapapa
+SootopolisCity_EventScript_KiriGiveBerry:: @ 81E5F1B
dotimebasedevents
special GetPlayerBigGuyGirlString
- goto_if_set FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY, SootopolisCity_EventScript_1E5FBB
- msgbox SootopolisCity_Text_2A7BB0, MSGBOX_DEFAULT
- random 10
- addvar VAR_RESULT, 20
- addvar VAR_RESULT, 133
- giveitem_std VAR_RESULT
- compare VAR_RESULT, 0
+ goto_if_set FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY, SootopolisCity_EventScript_KiriReceivedBerry
+ msgbox SootopolisCity_Text_NameIsKiriHaveOneOfThese, MSGBOX_DEFAULT
+ random NUM_KIRI_BERRIES
+ addvar VAR_RESULT, NUM_KIRI_BERRIES_SKIPPED
+ addvar VAR_RESULT, FIRST_BERRY_INDEX
+ giveitem VAR_RESULT
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY
- msgbox SootopolisCity_Text_2A7C7C, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Text_GiveYouThisBerryToo, MSGBOX_DEFAULT
random 2
compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_EventScript_1E5F79
+ goto_if_eq SootopolisCity_EventScript_GiveFigyBerry
compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_EventScript_1E5F9A
+ goto_if_eq SootopolisCity_EventScript_GiveIapapaBerry
end
-SootopolisCity_EventScript_1E5F79:: @ 81E5F79
- giveitem_std ITEM_FIGY_BERRY
- compare VAR_RESULT, 0
+SootopolisCity_EventScript_GiveFigyBerry:: @ 81E5F79
+ giveitem ITEM_FIGY_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Text_WhatKindOfWishInYourName, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A
- giveitem_std ITEM_IAPAPA_BERRY
- compare VAR_RESULT, 0
+SootopolisCity_EventScript_GiveIapapaBerry:: @ 81E5F9A
+ giveitem ITEM_IAPAPA_BERRY
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Text_WhatKindOfWishInYourName, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5FBB:: @ 81E5FBB
- msgbox SootopolisCity_Text_2A7CEC, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_EventScript_1E5FD8
- msgbox SootopolisCity_Text_2A7DD2, MSGBOX_DEFAULT
+SootopolisCity_EventScript_KiriReceivedBerry:: @ 81E5FBB
+ msgbox SootopolisCity_Text_LikeSeasonBornIn, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SootopolisCity_EventScript_KiriLikeSeasonBornIn
+ msgbox SootopolisCity_Text_OhDoesntMatter, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5FD8:: @ 81E5FD8
- msgbox SootopolisCity_Text_2A7D80, MSGBOX_DEFAULT
+SootopolisCity_EventScript_KiriLikeSeasonBornIn:: @ 81E5FD8
+ msgbox SootopolisCity_Text_ThenILoveAutumn, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2
+SootopolisCity_EventScript_Woman2:: @ 81E5FE2
lockall
applymovement 2, Common_Movement_FacePlayer
waitmovement 0
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E600D
- msgbox SootopolisCity_Text_1E71A1, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_Woman2Rayquaza
+ msgbox SootopolisCity_Text_WeatherWentWild, MSGBOX_DEFAULT
closemessage
applymovement 2, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-SootopolisCity_EventScript_1E600D:: @ 81E600D
- msgbox SootopolisCity_Text_1E728C, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Woman2Rayquaza:: @ 81E600D
+ msgbox SootopolisCity_Text_YouBroughtFlyingMon, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_EventScript_1E6017:: @ 81E6017
+SootopolisCity_EventScript_Man:: @ 81E6017
lock
faceplayer
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E602E
- msgbox SootopolisCity_Text_1E6CCA, MSGBOX_DEFAULT
+ goto_if_ge SootopolisCity_EventScript_ManPostLegendaries
+ msgbox SootopolisCity_Text_NoOrdinaryTourist, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E602E:: @ 81E602E
- msgbox SootopolisCity_Text_1E6D57, MSGBOX_DEFAULT
+SootopolisCity_EventScript_ManPostLegendaries:: @ 81E602E
+ msgbox SootopolisCity_Text_CityRegainedCalm, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E6038:: @ 81E6038
+SootopolisCity_EventScript_Woman1:: @ 81E6038
lock
faceplayer
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E607A
+ goto_if_ge SootopolisCity_EventScript_Woman1PostLegendaries
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E6084
+ goto_if_eq SootopolisCity_EventScript_Woman1Rayquaza
compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_ge SootopolisCity_EventScript_1E6065
- msgbox SootopolisCity_Text_1E6F90, MSGBOX_DEFAULT
+ goto_if_ge SootopolisCity_EventScript_Woman1Legendaries
+ msgbox SootopolisCity_Text_SootopolisSkyBeautiful, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E6065:: @ 81E6065
- msgbox SootopolisCity_Text_1E7078, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Woman1Legendaries:: @ 81E6065
+ msgbox SootopolisCity_Text_GiganticPokemonFight, MSGBOX_DEFAULT
closemessage
applymovement 8, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SootopolisCity_EventScript_1E607A:: @ 81E607A
- msgbox SootopolisCity_Text_1E710B, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Woman1PostLegendaries:: @ 81E607A
+ msgbox SootopolisCity_Text_NightSkyFavoriteScenery, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E6084:: @ 81E6084
- msgbox SootopolisCity_Text_1E70D4, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Woman1Rayquaza:: @ 81E6084
+ msgbox SootopolisCity_Text_FearedWorstWhenPokemonFlewDown, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E608E:: @ 81E608E
+SootopolisCity_EventScript_NinjaBoy:: @ 81E608E
lockall
applymovement 4, Common_Movement_FacePlayer
waitmovement 0
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E60D9
+ goto_if_eq SootopolisCity_EventScript_NinjaBoyRayquaza
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E60CF
+ goto_if_ge SootopolisCity_EventScript_NinjaBoyNormal
compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_le SootopolisCity_EventScript_1E60CF
- msgbox SootopolisCity_Text_1E690B, MSGBOX_DEFAULT
+ goto_if_le SootopolisCity_EventScript_NinjaBoyNormal
+ msgbox SootopolisCity_Text_ThisIsWicked, MSGBOX_DEFAULT
closemessage
applymovement 4, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SootopolisCity_EventScript_1E60CF:: @ 81E60CF
- msgbox SootopolisCity_Text_1E68A1, MSGBOX_DEFAULT
+SootopolisCity_EventScript_NinjaBoyNormal:: @ 81E60CF
+ msgbox SootopolisCity_Text_WonderWhatWorldIsLike, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E60D9:: @ 81E60D9
- msgbox SootopolisCity_Text_1E6920, MSGBOX_DEFAULT
+SootopolisCity_EventScript_NinjaBoyRayquaza:: @ 81E60D9
+ msgbox SootopolisCity_Text_ThatWasWicked, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E60E3:: @ 81E60E3
+SootopolisCity_EventScript_Boy1:: @ 81E60E3
lockall
applymovement 5, Common_Movement_FacePlayer
waitmovement 0
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E612D
- goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_1E6137
+ goto_if_eq SootopolisCity_EventScript_Boy1Rayquaza
+ goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_Boy1GameClear
compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_1E6141
+ goto_if_ge SootopolisCity_EventScript_Boy1Normal
compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_le SootopolisCity_EventScript_1E6141
- msgbox SootopolisCity_Text_1E6692, MSGBOX_DEFAULT
+ goto_if_le SootopolisCity_EventScript_Boy1Normal
+ msgbox SootopolisCity_Text_GiantPokemonSuddenlyAppeared, MSGBOX_DEFAULT
closemessage
applymovement 5, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-SootopolisCity_EventScript_1E612D:: @ 81E612D
- msgbox SootopolisCity_Text_1E6750, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Boy1Rayquaza:: @ 81E612D
+ msgbox SootopolisCity_Text_WhatIsThatGreenPokemon, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E6137:: @ 81E6137
- msgbox SootopolisCity_Text_1E677F, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Boy1GameClear:: @ 81E6137
+ msgbox SootopolisCity_Text_WhereDidLegendariesGo, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E6141:: @ 81E6141
- msgbox SootopolisCity_Text_1E6618, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Boy1Normal:: @ 81E6141
+ msgbox SootopolisCity_Text_PhysicallyFitLivingHere, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E614B:: @ 81E614B
- msgbox SootopolisCity_Text_1E656F, MSGBOX_SIGN
+SootopolisCity_EventScript_GymSign:: @ 81E614B
+ msgbox SootopolisCity_Text_GymSign, MSGBOX_SIGN
end
-SootopolisCity_EventScript_1E6154:: @ 81E6154
- msgbox SootopolisCity_Text_1E65C8, MSGBOX_SIGN
+SootopolisCity_EventScript_CitySign:: @ 81E6154
+ msgbox SootopolisCity_Text_CitySign, MSGBOX_SIGN
end
EventScript_ClosedSootopolisDoor:: @ 81E615D
- msgbox SootopolisCity_Text_1E6604, MSGBOX_SIGN
+ msgbox SootopolisCity_Text_DoorIsClosed, MSGBOX_SIGN
end
-SootopolisCity_EventScript_1E6166:: @ 81E6166
+SootopolisCity_EventScript_Steven:: @ 81E6166
lockall
applymovement 7, Common_Movement_FacePlayer
waitmovement 0
- call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_1E61CC
+ call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin
compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_eq SootopolisCity_EventScript_1E61AE
+ goto_if_eq SootopolisCity_EventScript_StevenHelpWallace
compare VAR_SOOTOPOLIS_CITY_STATE, 3
- goto_if_eq SootopolisCity_EventScript_1E61C2
+ goto_if_eq SootopolisCity_EventScript_StevenHelpedWallace
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_eq SootopolisCity_EventScript_1E61C2
- goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E61B8
- msgbox SootopolisCity_Text_1E78E5, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_StevenHelpedWallace
+ goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_StevenMaxieArchieLeft
+ msgbox SootopolisCity_Text_SoThatsRayquaza, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_EventScript_1E61AE:: @ 81E61AE
- msgbox SootopolisCity_Text_1E7866, MSGBOX_DEFAULT
+SootopolisCity_EventScript_StevenHelpWallace:: @ 81E61AE
+ msgbox SootopolisCity_Text_KnowWhatsNeededToHelpHim, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_EventScript_1E61B8:: @ 81E61B8
- msgbox SootopolisCity_Text_1E794B, MSGBOX_DEFAULT
+SootopolisCity_EventScript_StevenMaxieArchieLeft:: @ 81E61B8
+ msgbox SootopolisCity_Text_MaxieArchieLeft, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_EventScript_1E61C2:: @ 81E61C2
- msgbox SootopolisCity_Text_1E789A, MSGBOX_DEFAULT
+SootopolisCity_EventScript_StevenHelpedWallace:: @ 81E61C2
+ msgbox SootopolisCity_Text_NeverBeenToSkyPillar, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_EventScript_1E61CC:: @ 81E61CC
- msgbox SootopolisCity_Text_1E75CB, MSGBOX_DEFAULT
+SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin:: @ 81E61CC
+ msgbox SootopolisCity_Text_InvolvedWithCrisisComeWithMe, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 3
- call_if_eq SootopolisCity_EventScript_1E6243
- compare VAR_FACING, 2
- call_if_eq SootopolisCity_EventScript_1E6255
- msgbox SootopolisCity_Text_1E7737, MSGBOX_DEFAULT
+ compare VAR_FACING, DIR_WEST
+ call_if_eq SootopolisCity_EventScript_StartWalkToCaveOfOriginWest
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth
+ msgbox SootopolisCity_Text_DoesThisMakeYourFearPokemon, MSGBOX_DEFAULT
closemessage
- applymovement 7, SootopolisCity_Movement_1E62D4
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E630E
+ applymovement 7, SootopolisCity_Movement_StevenWalkToCaveOfOrigin
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerWalkToCaveOfOrigin
waitmovement 0
delay 120
- applymovement 1, SootopolisCity_Movement_1E6341
+ applymovement 1, SootopolisCity_Movement_ExpertMoveAside
waitmovement 0
- applymovement 7, SootopolisCity_Movement_1E6344
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E634F
+ applymovement 7, SootopolisCity_Movement_StevenArriveCaveEntrance
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerArriveCaveEntrance
waitmovement 0
- msgbox SootopolisCity_Text_1E77F0, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Text_HereWereAreHelpWallace, MSGBOX_DEFAULT
closemessage
setflag FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E635A
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerEnterCaveOfOrigin
waitmovement 0
warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20
waitstate
end
-SootopolisCity_EventScript_1E6243:: @ 81E6243
- applymovement 7, SootopolisCity_Movement_1E6267
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E628C
+SootopolisCity_EventScript_StartWalkToCaveOfOriginWest:: @ 81E6243
+ applymovement 7, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginWest
waitmovement 0
return
-SootopolisCity_EventScript_1E6255:: @ 81E6255
- applymovement 7, SootopolisCity_Movement_1E6267
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E62B0
+SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth:: @ 81E6255
+ applymovement 7, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginNorth
waitmovement 0
return
-SootopolisCity_Movement_1E6267: @ 81E6267
+SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin: @ 81E6267
walk_up
walk_up
walk_up
@@ -1034,7 +1040,7 @@ SootopolisCity_Movement_1E6267: @ 81E6267
walk_in_place_fastest_down
step_end
-SootopolisCity_Movement_1E628C: @ 81E628C
+SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginWest: @ 81E628C
walk_left
walk_up
walk_up
@@ -1072,7 +1078,7 @@ SootopolisCity_Movement_1E628C: @ 81E628C
walk_up
step_end
-SootopolisCity_Movement_1E62B0: @ 81E62B0
+SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginNorth: @ 81E62B0
walk_up
walk_up
walk_up
@@ -1110,7 +1116,7 @@ SootopolisCity_Movement_1E62B0: @ 81E62B0
walk_up
step_end
-SootopolisCity_Movement_1E62D4: @ 81E62D4
+SootopolisCity_Movement_StevenWalkToCaveOfOrigin: @ 81E62D4
walk_up
walk_up
walk_right
@@ -1170,7 +1176,7 @@ SootopolisCity_Movement_1E62D4: @ 81E62D4
walk_up
step_end
-SootopolisCity_Movement_1E630E: @ 81E630E
+SootopolisCity_Movement_PlayerWalkToCaveOfOrigin: @ 81E630E
walk_up
walk_up
walk_up
@@ -1223,12 +1229,12 @@ SootopolisCity_Movement_1E630E: @ 81E630E
walk_right
step_end
-SootopolisCity_Movement_1E6341: @ 81E6341
+SootopolisCity_Movement_ExpertMoveAside: @ 81E6341
walk_slow_left
walk_in_place_fastest_right
step_end
-SootopolisCity_Movement_1E6344: @ 81E6344
+SootopolisCity_Movement_StevenArriveCaveEntrance: @ 81E6344
walk_down
walk_down
walk_left
@@ -1241,7 +1247,7 @@ SootopolisCity_Movement_1E6344: @ 81E6344
walk_in_place_fastest_left
step_end
-SootopolisCity_Movement_1E634F: @ 81E634F
+SootopolisCity_Movement_PlayerArriveCaveEntrance: @ 81E634F
delay_16
delay_16
delay_16
@@ -1254,182 +1260,182 @@ SootopolisCity_Movement_1E634F: @ 81E634F
walk_in_place_fastest_right
step_end
-SootopolisCity_Movement_1E635A: @ 81E635A
+SootopolisCity_Movement_PlayerEnterCaveOfOrigin: @ 81E635A
walk_up
walk_up
step_end
-SootopolisCity_EventScript_1E635D:: @ 81E635D
+SootopolisCity_EventScript_Boy2:: @ 81E635D
lockall
applymovement 15, Common_Movement_FacePlayer
waitmovement 0
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E6388
- msgbox SootopolisCity_Text_1E67DC, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_Boy2Rayquaza
+ msgbox SootopolisCity_Text_TwoPokemonArentAngry, MSGBOX_DEFAULT
closemessage
applymovement 15, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-SootopolisCity_EventScript_1E6388:: @ 81E6388
- msgbox SootopolisCity_Text_1E6853, MSGBOX_DEFAULT
+SootopolisCity_EventScript_Boy2Rayquaza:: @ 81E6388
+ msgbox SootopolisCity_Text_FlyingMonStoppedRampage, MSGBOX_DEFAULT
closemessage
releaseall
end
-SootopolisCity_EventScript_1E6393:: @ 81E6393
+SootopolisCity_EventScript_BlackBelt:: @ 81E6393
lockall
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E63C7
- msgbox SootopolisCity_Text_1E6936, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_BlackBeltRayquaza
+ msgbox SootopolisCity_Text_GoRedAndBlueMon, MSGBOX_DEFAULT
closemessage
applymovement 14, Common_Movement_FacePlayer
waitmovement 0
- msgbox SootopolisCity_Text_1E696C, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Text_DoYouKnowMonNames, MSGBOX_DEFAULT
closemessage
applymovement 14, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-SootopolisCity_EventScript_1E63C7:: @ 81E63C7
+SootopolisCity_EventScript_BlackBeltRayquaza:: @ 81E63C7
applymovement 14, Common_Movement_FacePlayer
waitmovement 0
- msgbox SootopolisCity_Text_1E69B8, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Text_GreenOneSettlesThings, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_EventScript_1E63DB:: @ 81E63DB
+SootopolisCity_EventScript_Girl:: @ 81E63DB
lockall
applymovement 13, Common_Movement_FacePlayer
waitmovement 0
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E6406
- msgbox SootopolisCity_Text_1E6C7C, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_GirlRayquaza
+ msgbox SootopolisCity_Text_SootopolisWillBeWrecked, MSGBOX_DEFAULT
closemessage
applymovement 13, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-SootopolisCity_EventScript_1E6406:: @ 81E6406
- msgbox SootopolisCity_Text_1E6CA6, MSGBOX_DEFAULT
+SootopolisCity_EventScript_GirlRayquaza:: @ 81E6406
+ msgbox SootopolisCity_Text_SootopolisDidntGetWrecked, MSGBOX_DEFAULT
closemessage
releaseall
end
-SootopolisCity_EventScript_1E6411:: @ 81E6411
+SootopolisCity_EventScript_Maniac:: @ 81E6411
lockall
applymovement 12, Common_Movement_FacePlayer
waitmovement 0
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E643C
- msgbox SootopolisCity_Text_1E6A50, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_ManiacRayquaza
+ msgbox SootopolisCity_Text_SeeingLegendWithOwnEyes, MSGBOX_DEFAULT
closemessage
applymovement 12, Common_Movement_FaceOriginalDirection
waitmovement 0
releaseall
end
-SootopolisCity_EventScript_1E643C:: @ 81E643C
- msgbox SootopolisCity_Text_1E6B2A, MSGBOX_DEFAULT
+SootopolisCity_EventScript_ManiacRayquaza:: @ 81E643C
+ msgbox SootopolisCity_Text_SawLegendWithOwnEyes, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_EventScript_1E6446:: @ 81E6446
+SootopolisCity_EventScript_Wallace:: @ 81E6446
lock
faceplayer
compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_eq SootopolisCity_EventScript_1E64D8
- goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_1E64E2
- goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E646F
- msgbox SootopolisCity_Text_1E7A3E, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_GoToSkyPillar
+ goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_GoToGym
+ goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_GiveWaterfall
+ msgbox SootopolisCity_Text_AquaMagmaDidntMeanHarm, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E646F:: @ 81E646F
- msgbox SootopolisCity_Text_1E7ACF, MSGBOX_DEFAULT
- giveitem_std ITEM_HM07
+SootopolisCity_EventScript_GiveWaterfall:: @ 81E646F
+ msgbox SootopolisCity_Text_ThankYouForHelpAcceptThis, MSGBOX_DEFAULT
+ giveitem ITEM_HM07
setflag FLAG_RECEIVED_HM07
- msgbox SootopolisCity_Text_1E7B86, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Text_ExplainWaterfallGoToGym, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq SootopolisCity_EventScript_1E64B2
- compare VAR_FACING, 4
- call_if_eq SootopolisCity_EventScript_1E64B2
- compare VAR_FACING, 3
- call_if_eq SootopolisCity_EventScript_1E64C5
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq SootopolisCity_EventScript_WallaceMoveFromGym
+ compare VAR_FACING, DIR_EAST
+ call_if_eq SootopolisCity_EventScript_WallaceMoveFromGym
+ compare VAR_FACING, DIR_WEST
+ call_if_eq SootopolisCity_EventScript_WallaceMoveFromGymWest
release
end
-SootopolisCity_EventScript_1E64B2:: @ 81E64B2
- applymovement 18, SootopolisCity_Movement_1E64EC
+SootopolisCity_EventScript_WallaceMoveFromGym:: @ 81E64B2
+ applymovement 18, SootopolisCity_Movement_WallaceMoveFromGym
waitmovement 0
copyobjectxytoperm 18
setvar VAR_SOOTOPOLIS_WALLACE_STATE, 1
return
-SootopolisCity_EventScript_1E64C5:: @ 81E64C5
- applymovement 18, SootopolisCity_Movement_1E64EF
+SootopolisCity_EventScript_WallaceMoveFromGymWest:: @ 81E64C5
+ applymovement 18, SootopolisCity_Movement_WallaceMoveFromGymWest
waitmovement 0
copyobjectxytoperm 18
setvar VAR_SOOTOPOLIS_WALLACE_STATE, 2
return
-SootopolisCity_EventScript_1E64D8:: @ 81E64D8
- msgbox SootopolisCity_Text_1E79C8, MSGBOX_DEFAULT
+SootopolisCity_EventScript_GoToSkyPillar:: @ 81E64D8
+ msgbox SootopolisCity_Text_HaventYouScaledSkyPillar, MSGBOX_DEFAULT
release
end
-SootopolisCity_EventScript_1E64E2:: @ 81E64E2
- msgbox SootopolisCity_Text_1E7CBC, MSGBOX_DEFAULT
+SootopolisCity_EventScript_GoToGym:: @ 81E64E2
+ msgbox SootopolisCity_Text_DazzledByMentor, MSGBOX_DEFAULT
release
end
-SootopolisCity_Movement_1E64EC: @ 81E64EC
+SootopolisCity_Movement_WallaceMoveFromGym: @ 81E64EC
walk_right
walk_in_place_fastest_down
step_end
-SootopolisCity_Movement_1E64EF: @ 81E64EF
+SootopolisCity_Movement_WallaceMoveFromGymWest: @ 81E64EF
walk_left
walk_in_place_fastest_down
step_end
-SootopolisCity_EventScript_1E64F2:: @ 81E64F2
+SootopolisCity_EventScript_Maxie:: @ 81E64F2
lockall
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E6509
- msgbox SootopolisCity_Text_1E72DB, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_MaxieRayquaza
+ msgbox SootopolisCity_Text_GroudonPleaseStop, MSGBOX_DEFAULT
closemessage
releaseall
end
-SootopolisCity_EventScript_1E6509:: @ 81E6509
- msgbox SootopolisCity_Text_1E737E, MSGBOX_DEFAULT
+SootopolisCity_EventScript_MaxieRayquaza:: @ 81E6509
+ msgbox SootopolisCity_Text_AfterAllOurScheming, MSGBOX_DEFAULT
setflag FLAG_MET_MAXIE_SOOTOPOLIS
- goto_if_set FLAG_MET_ARCHIE_SOOTOPOLIS, SootopolisCity_EventScript_1E654C
+ goto_if_set FLAG_MET_ARCHIE_SOOTOPOLIS, SootopolisCity_EventScript_MaxieArchieLeave
releaseall
end
-SootopolisCity_EventScript_1E651F:: @ 81E651F
+SootopolisCity_EventScript_Archie:: @ 81E651F
lockall
compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_1E6536
- msgbox SootopolisCity_Text_1E7460, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_EventScript_ArchieRayquaza
+ msgbox SootopolisCity_Text_KyogreCalmDown, MSGBOX_DEFAULT
closemessage
releaseall
end
-SootopolisCity_EventScript_1E6536:: @ 81E6536
- msgbox SootopolisCity_Text_1E74F6, MSGBOX_DEFAULT
+SootopolisCity_EventScript_ArchieRayquaza:: @ 81E6536
+ msgbox SootopolisCity_Text_TryingMeaninglessToPokemon, MSGBOX_DEFAULT
setflag FLAG_MET_ARCHIE_SOOTOPOLIS
- goto_if_set FLAG_MET_MAXIE_SOOTOPOLIS, SootopolisCity_EventScript_1E654C
+ goto_if_set FLAG_MET_MAXIE_SOOTOPOLIS, SootopolisCity_EventScript_MaxieArchieLeave
releaseall
end
-SootopolisCity_EventScript_1E654C:: @ 81E654C
+SootopolisCity_EventScript_MaxieArchieLeave:: @ 81E654C
setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
setflag FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE
@@ -1441,36 +1447,37 @@ SootopolisCity_EventScript_1E654C:: @ 81E654C
releaseall
end
-SootopolisCity_Movement_1E656B:: @ 81E656B
+@ Unused
+SootopolisCity_Movement_Levitate:: @ 81E656B
levitate
step_end
-SootopolisCity_Movement_1E656D:: @ 81E656D
+@ Unused
+SootopolisCity_Movement_DestroyTask:: @ 81E656D
destroy_extra_task
step_end
-SootopolisCity_Text_1E656F: @ 81E656F
+SootopolisCity_Text_GymSign: @ 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
+SootopolisCity_Text_CitySign: @ 81E65C8
.string "SOOTOPOLIS CITY\p"
.string "“The mystical city where history\n"
.string "slumbers.”$"
-
-SootopolisCity_Text_1E6604: @ 81E6604
+SootopolisCity_Text_DoorIsClosed: @ 81E6604
.string "The door is closed.$"
-SootopolisCity_Text_1E6618: @ 81E6618
+SootopolisCity_Text_PhysicallyFitLivingHere: @ 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
+SootopolisCity_Text_GiantPokemonSuddenlyAppeared: @ 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"
@@ -1479,56 +1486,56 @@ SootopolisCity_Text_1E6692: @ 81E6692
.string "Why can't they be friends, those\n"
.string "POKéMON?$"
-SootopolisCity_Text_1E6750: @ 81E6750
+SootopolisCity_Text_WhatIsThatGreenPokemon: @ 81E6750
.string "What? What? What?\n"
.string "What is that green POKéMON?!$"
-SootopolisCity_Text_1E677F: @ 81E677F
+SootopolisCity_Text_WhereDidLegendariesGo: @ 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
+SootopolisCity_Text_TwoPokemonArentAngry: @ 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
+SootopolisCity_Text_FlyingMonStoppedRampage: @ 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
+SootopolisCity_Text_WonderWhatWorldIsLike: @ 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
+SootopolisCity_Text_ThisIsWicked: @ 81E690B
.string "Wow!\n"
.string "This is wicked!$"
-SootopolisCity_Text_1E6920: @ 81E6920
+SootopolisCity_Text_ThatWasWicked: @ 81E6920
.string "Wow!\n"
.string "That was wicked!$"
-SootopolisCity_Text_1E6936: @ 81E6936
+SootopolisCity_Text_GoRedAndBlueMon: @ 81E6936
.string "Go for it, red POKéMON!\n"
.string "Don't back off, blue POKéMON!$"
-SootopolisCity_Text_1E696C: @ 81E696C
+SootopolisCity_Text_DoYouKnowMonNames: @ 81E696C
.string "… … … … … …\p"
.string "Hi, do you know the names of those\n"
.string "POKéMON fighting over there?$"
-SootopolisCity_Text_1E69B8: @ 81E69B8
+SootopolisCity_Text_GreenOneSettlesThings: @ 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
+SootopolisCity_Text_SeeingLegendWithOwnEyes: @ 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"
@@ -1537,7 +1544,7 @@ SootopolisCity_Text_1E6A50: @ 81E6A50
.string "Whoa! I never expected to be\n"
.string "witness to something this huge!$"
-SootopolisCity_Text_1E6B2A: @ 81E6B2A
+SootopolisCity_Text_SawLegendWithOwnEyes: @ 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"
@@ -1546,40 +1553,40 @@ SootopolisCity_Text_1E6B2A: @ 81E6B2A
.string "Whoa! I never expected to be\n"
.string "witness to something this huge!$"
-SootopolisCity_Text_1E6BFF: @ 81E6BFF
+SootopolisCity_Text_BigPokemonFighting: @ 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
+SootopolisCity_Text_PrettyMonCameFromSky: @ 81E6C53
.string "A pretty POKéMON came down from\n"
.string "the sky…$"
-SootopolisCity_Text_1E6C7C: @ 81E6C7C
+SootopolisCity_Text_SootopolisWillBeWrecked: @ 81E6C7C
.string "Oh, no!\n"
.string "SOOTOPOLIS CITY will get wrecked!$"
-SootopolisCity_Text_1E6CA6: @ 81E6CA6
+SootopolisCity_Text_SootopolisDidntGetWrecked: @ 81E6CA6
.string "SOOTOPOLIS CITY didn't get wrecked!$"
-SootopolisCity_Text_1E6CCA: @ 81E6CCA
+SootopolisCity_Text_NoOrdinaryTourist: @ 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
+SootopolisCity_Text_CityRegainedCalm: @ 81E6D57
.string "The city has regained its calm…$"
-SootopolisCity_Text_1E6D77: @ 81E6D77
+SootopolisCity_Text_CaveOfOriginPleaseLeave: @ 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
+SootopolisCity_Text_LeadSuperiorTrainerToCave: @ 81E6DFE
.string "A person with a strong will and\n"
.string "superior talent…\p"
.string "A TRAINER who has knowledge and\n"
@@ -1588,18 +1595,18 @@ SootopolisCity_Text_1E6DFE: @ 81E6DFE
.string "instructed by WALLACE to lead that\l"
.string "TRAINER to this CAVE.$"
-SootopolisCity_Text_1E6ED4: @ 81E6ED4
+SootopolisCity_Text_AwakenedPokemonClash: @ 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
+SootopolisCity_Text_CaveOfOriginSleepsToo: @ 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
+SootopolisCity_Text_SootopolisSkyBeautiful: @ 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"
@@ -1608,23 +1615,23 @@ SootopolisCity_Text_1E6F90: @ 81E6F90
.string "But that's what makes the sky above\n"
.string "SOOTOPOLIS the most beautiful.$"
-SootopolisCity_Text_1E7078: @ 81E7078
+SootopolisCity_Text_GiganticPokemonFight: @ 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
+SootopolisCity_Text_FearedWorstWhenPokemonFlewDown: @ 81E70D4
.string "When that third POKéMON flew down,\n"
.string "I feared the worst.$"
-SootopolisCity_Text_1E710B: @ 81E710B
+SootopolisCity_Text_NightSkyFavoriteScenery: @ 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
+SootopolisCity_Text_WeatherWentWild: @ 81E71A1
.string "The weather was clear this morning,\n"
.string "but…\p"
.string "All of a sudden, dark clouds brewed up,\n"
@@ -1635,20 +1642,20 @@ SootopolisCity_Text_1E71A1: @ 81E71A1
.string "Is all of this because of those\n"
.string "POKéMON?$"
-SootopolisCity_Text_1E728C: @ 81E728C
+SootopolisCity_Text_YouBroughtFlyingMon: @ 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
+SootopolisCity_Text_GroudonPleaseStop: @ 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
+SootopolisCity_Text_AfterAllOurScheming: @ 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"
@@ -1658,7 +1665,7 @@ SootopolisCity_Text_1E737E: @ 81E737E
.string "Fu…\n"
.string "Fuhahaha…$"
-SootopolisCity_Text_1E7460: @ 81E7460
+SootopolisCity_Text_KyogreCalmDown: @ 81E7460
.string "ARCHIE: KYOGRE! What's wrong?!\n"
.string "Look over here! It's the RED ORB!\l"
.string "Calm down! KYOGRE!\p"
@@ -1667,7 +1674,7 @@ SootopolisCity_Text_1E7460: @ 81E7460
.string "It's no good!\n"
.string "It's not responding at all!$"
-SootopolisCity_Text_1E74F6: @ 81E74F6
+SootopolisCity_Text_TryingMeaninglessToPokemon: @ 81E74F6
.string "ARCHIE: KYOGRE and GROUDON both\n"
.string "flew off to who knows where.\p"
.string "The weather in HOENN has returned\n"
@@ -1678,7 +1685,7 @@ SootopolisCity_Text_1E74F6: @ 81E74F6
.string "something small, even meaningless,\l"
.string "to POKéMON…$"
-SootopolisCity_Text_1E75CB: @ 81E75CB
+SootopolisCity_Text_InvolvedWithCrisisComeWithMe: @ 81E75CB
.string "STEVEN: Those POKéMON fighting…\n"
.string "GROUDON… And KYOGRE…\p"
.string "The two super-ancient POKéMON\n"
@@ -1693,7 +1700,7 @@ SootopolisCity_Text_1E75CB: @ 81E75CB
.string "I'd like you to meet.\p"
.string "Come with me, please.$"
-SootopolisCity_Text_1E7737: @ 81E7737
+SootopolisCity_Text_DoesThisMakeYourFearPokemon: @ 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"
@@ -1702,34 +1709,34 @@ SootopolisCity_Text_1E7737: @ 81E7737
.string "…Why am I asking you this?\n"
.string "You already know.$"
-SootopolisCity_Text_1E77F0: @ 81E77F0
+SootopolisCity_Text_HereWereAreHelpWallace: @ 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
+SootopolisCity_Text_KnowWhatsNeededToHelpHim: @ 81E7866
.string "STEVEN: I think you have what's\n"
.string "needed to help him…$"
-SootopolisCity_Text_1E789A: @ 81E789A
+SootopolisCity_Text_NeverBeenToSkyPillar: @ 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
+SootopolisCity_Text_SoThatsRayquaza: @ 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
+SootopolisCity_Text_MaxieArchieLeft: @ 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
+SootopolisCity_Text_HaventYouScaledSkyPillar: @ 81E79C8
.string "WALLACE: Oh?\n"
.string "{PLAYER}{KUN}?\p"
.string "Haven't you scaled the SKY PILLAR\n"
@@ -1737,14 +1744,14 @@ SootopolisCity_Text_1E79C8: @ 81E79C8
.string "I'm sure that you can make it to\n"
.string "the top of the SKY PILLAR…$"
-SootopolisCity_Text_1E7A3E: @ 81E7A3E
+SootopolisCity_Text_AquaMagmaDidntMeanHarm: @ 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
+SootopolisCity_Text_ThankYouForHelpAcceptThis: @ 81E7ACF
.string "WALLACE: {PLAYER}{KUN}…\n"
.string "My eyes didn't deceive me.\p"
.string "Thanks to your help, SOOTOPOLIS…\n"
@@ -1753,7 +1760,7 @@ SootopolisCity_Text_1E7ACF: @ 81E7ACF
.string "This is a gift from me.\n"
.string "Please accept it.$"
-SootopolisCity_Text_1E7B86: @ 81E7B86
+SootopolisCity_Text_ExplainWaterfallGoToGym: @ 81E7B86
.string "That HIDDEN MACHINE contains\n"
.string "WATERFALL.\p"
.string "If you have the RAIN BADGE, a POKéMON\n"
@@ -1766,7 +1773,7 @@ SootopolisCity_Text_1E7B86: @ 81E7B86
.string "When you're all set to go, step through\n"
.string "that door.$"
-SootopolisCity_Text_1E7CBC: @ 81E7CBC
+SootopolisCity_Text_DazzledByMentor: @ 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/maps/SootopolisCity_Gym_1F/map.json b/data/maps/SootopolisCity_Gym_1F/map.json
index 6b8cab149..9726e98aa 100644
--- a/data/maps/SootopolisCity_Gym_1F/map.json
+++ b/data/maps/SootopolisCity_Gym_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_Gym_1F_EventScript_224F44",
+ "script": "SootopolisCity_Gym_1F_EventScript_Juan",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_Gym_1F_EventScript_225040",
+ "script": "SootopolisCity_Gym_1F_EventScript_GymGuide",
"flag": "0"
}
],
@@ -72,7 +72,7 @@
"y": 24,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SootopolisCity_Gym_1F_EventScript_22505F"
+ "script": "SootopolisCity_Gym_1F_EventScript_LeftGymStatue"
},
{
"type": "sign",
@@ -80,7 +80,7 @@
"y": 24,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "SootopolisCity_Gym_1F_EventScript_22506F"
+ "script": "SootopolisCity_Gym_1F_EventScript_RightGymStatue"
}
]
} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc
index 8db708e9c..2d4e43671 100644
--- a/data/maps/SootopolisCity_Gym_1F/scripts.inc
+++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc
@@ -1,7 +1,7 @@
SootopolisCity_Gym_1F_MapScripts:: @ 8224E4C
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_MapScript2_224ECB
- map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_MapScript1_224E67
- map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_MapScript1_224E6A
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_Gym_1F_OnFrame
+ map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_Gym_1F_OnResume
+ map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_Gym_1F_OnLoad
map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_Gym_1F_OnTransition
.byte 0
@@ -9,71 +9,68 @@ SootopolisCity_Gym_1F_OnTransition: @ 8224E61
setvar VAR_ICE_STEP_COUNT, 1
end
-SootopolisCity_Gym_1F_MapScript1_224E67: @ 8224E67
- setstepcallback 4
+SootopolisCity_Gym_1F_OnResume: @ 8224E67
+ setstepcallback STEP_CB_SOOTOPOLIS_ICE
end
-SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A
- call SootopolisCity_Gym_1F_EventScript_224E73
+SootopolisCity_Gym_1F_OnLoad: @ 8224E6A
+ call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
special SetSootopolisGymCrackedIceMetatiles
end
-SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73
+SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles:: @ 8224E73
compare VAR_ICE_STEP_COUNT, 8
- goto_if_lt SootopolisCity_Gym_1F_EventScript_224ECA
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_StopCheckingStairs @ All stairs ice
compare VAR_ICE_STEP_COUNT, 28
- goto_if_lt SootopolisCity_Gym_1F_EventScript_224EB8
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstStairs
compare VAR_ICE_STEP_COUNT, 67
- goto_if_lt SootopolisCity_Gym_1F_EventScript_224EA6
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs
setmetatile 8, 4, METATILE_SootopolisGym_Stairs, 0
setmetatile 8, 5, METATILE_SootopolisGym_Stairs, 0
-
-SootopolisCity_Gym_1F_EventScript_224EA6:: @ 8224EA6
+SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs:: @ 8224EA6
setmetatile 8, 10, METATILE_SootopolisGym_Stairs, 0
setmetatile 8, 11, METATILE_SootopolisGym_Stairs, 0
-
-SootopolisCity_Gym_1F_EventScript_224EB8:: @ 8224EB8
+SootopolisCity_Gym_1F_EventScript_OpenFirstStairs:: @ 8224EB8
setmetatile 8, 15, METATILE_SootopolisGym_Stairs, 0
setmetatile 8, 16, METATILE_SootopolisGym_Stairs, 0
-
-SootopolisCity_Gym_1F_EventScript_224ECA:: @ 8224ECA
+SootopolisCity_Gym_1F_EventScript_StopCheckingStairs:: @ 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
+SootopolisCity_Gym_1F_OnFrame: @ 8224ECB
+ map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs
+ map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs
+ map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs
+ map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_FallThroughIce
.2byte 0
-SootopolisCity_Gym_1F_EventScript_224EED:: @ 8224EED
+SootopolisCity_Gym_1F_EventScript_UnlockFirstStairs:: @ 8224EED
addvar VAR_ICE_STEP_COUNT, 1
delay 40
playse SE_RU_GASHIN
- call SootopolisCity_Gym_1F_EventScript_224E73
+ call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
special DrawWholeMapView
end
-SootopolisCity_Gym_1F_EventScript_224F01:: @ 8224F01
+SootopolisCity_Gym_1F_EventScript_UnlockSecondStairs:: @ 8224F01
addvar VAR_ICE_STEP_COUNT, 1
delay 40
playse SE_RU_GASHIN
- call SootopolisCity_Gym_1F_EventScript_224E73
+ call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
special DrawWholeMapView
end
-SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15
+SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs:: @ 8224F15
addvar VAR_ICE_STEP_COUNT, 1
delay 40
playse SE_RU_GASHIN
- call SootopolisCity_Gym_1F_EventScript_224E73
+ call SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles
special DrawWholeMapView
end
-SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29
+SootopolisCity_Gym_1F_EventScript_FallThroughIce:: @ 8224F29
lockall
delay 20
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_224F42
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_FallThroughIce
waitmovement 0
playse SE_RU_HYUU
delay 60
@@ -81,26 +78,26 @@ SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29
waitstate
end
-SootopolisCity_Gym_1F_Movement_224F42: @ 8224F42
+SootopolisCity_Gym_1F_Movement_FallThroughIce: @ 8224F42
set_invisible
step_end
-SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44
- trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225268, SootopolisCity_Gym_1F_Text_225432, SootopolisCity_Gym_1F_EventScript_224F82, NO_MUSIC
+SootopolisCity_Gym_1F_EventScript_Juan:: @ 8224F44
+ trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanIntro, SootopolisCity_Gym_1F_Text_JuanDefeat, SootopolisCity_Gym_1F_EventScript_JuanDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_Gym_1F_EventScript_225025
- goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_224FF7
- goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_22501B
- msgbox SootopolisCity_Gym_1F_Text_225778, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_JuanRematch
+ goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2
+ goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge
+ msgbox SootopolisCity_Gym_1F_Text_JuanPostBattle, MSGBOX_DEFAULT
release
end
-SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82
- message SootopolisCity_Gym_1F_Text_225598
+SootopolisCity_Gym_1F_EventScript_JuanDefeated:: @ 8224F82
+ message SootopolisCity_Gym_1F_Text_ReceivedRainBadge
waitmessage
call Common_EventScript_PlayGymBadgeFanfare
- msgbox SootopolisCity_Gym_1F_Text_2255BE, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis, MSGBOX_DEFAULT
setflag FLAG_DEFEATED_SOOTOPOLIS_GYM
setflag FLAG_BADGE08_GET
setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
@@ -109,12 +106,12 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82
setvar VAR_SOOTOPOLIS_CITY_STATE, 6
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1
setvar VAR_0x8008, 8
- call SootopolisCity_Gym_1F_EventScript_271F43
- call SootopolisCity_Gym_1F_EventScript_224FD4
+ call Common_EventScript_SetGymTrainers
+ call SootopolisCity_Gym_1F_EventScript_GiveWaterPulse
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox SootopolisCity_Gym_1F_Text_22574D, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Gym_1F_Text_RegisteredJuan, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -122,69 +119,69 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82
release
end
-SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4
- giveitem_std ITEM_TM03
+SootopolisCity_Gym_1F_EventScript_GiveWaterPulse:: @ 8224FD4
+ giveitem ITEM_TM03
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_BagIsFull
- msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM03
return
-SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7
- giveitem_std ITEM_TM03
+SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2:: @ 8224FF7
+ giveitem ITEM_TM03
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT
+ msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM03
release
end
-SootopolisCity_Gym_1F_EventScript_22501B:: @ 822501B
- msgbox SootopolisCity_Gym_1F_Text_225865, MSGBOX_DEFAULT
+SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge:: @ 822501B
+ msgbox SootopolisCity_Gym_1F_Text_GoGetFortreeBadge, MSGBOX_DEFAULT
release
end
-SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025
- trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225950, SootopolisCity_Gym_1F_Text_225A2E, SootopolisCity_Gym_1F_Text_225B48
- msgbox SootopolisCity_Gym_1F_Text_225A67, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_1F_EventScript_JuanRematch:: @ 8225025
+ trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanPreRematch, SootopolisCity_Gym_1F_Text_JuanRematchDefeat, SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons
+ msgbox SootopolisCity_Gym_1F_Text_JuanPostRematch, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040
+SootopolisCity_Gym_1F_EventScript_GymGuide:: @ 8225040
lock
faceplayer
- goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_225055
- msgbox SootopolisCity_Gym_1F_Text_225093, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_SOOTOPOLIS_GYM, SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory
+ msgbox SootopolisCity_Gym_1F_Text_GymGuideAdvice, MSGBOX_DEFAULT
release
end
-SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055
- msgbox SootopolisCity_Gym_1F_Text_2251AF, MSGBOX_DEFAULT
+SootopolisCity_Gym_1F_EventScript_GymGuidePostVictory:: @ 8225055
+ msgbox SootopolisCity_Gym_1F_Text_GymGuidePostVictory, MSGBOX_DEFAULT
release
end
-SootopolisCity_Gym_1F_EventScript_22505F:: @ 822505F
+SootopolisCity_Gym_1F_EventScript_LeftGymStatue:: @ 822505F
lockall
- goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F
- goto SootopolisCity_Gym_1F_EventScript_225089
+ goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified
+ goto SootopolisCity_Gym_1F_EventScript_GymStatue
end
-SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F
+SootopolisCity_Gym_1F_EventScript_RightGymStatue:: @ 822506F
lockall
- goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F
- goto SootopolisCity_Gym_1F_EventScript_225089
+ goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_GymStatueCertified
+ goto SootopolisCity_Gym_1F_EventScript_GymStatue
end
-SootopolisCity_Gym_1F_EventScript_22507F:: @ 822507F
- msgbox SootopolisCity_Gym_1F_Text_225916, MSGBOX_DEFAULT
+SootopolisCity_Gym_1F_EventScript_GymStatueCertified:: @ 822507F
+ msgbox SootopolisCity_Gym_1F_Text_GymStatueCertified, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_Gym_1F_EventScript_225089:: @ 8225089
- msgbox SootopolisCity_Gym_1F_Text_2258FA, MSGBOX_DEFAULT
+SootopolisCity_Gym_1F_EventScript_GymStatue:: @ 8225089
+ msgbox SootopolisCity_Gym_1F_Text_GymStatue, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_Gym_1F_Text_225093: @ 8225093
+SootopolisCity_Gym_1F_Text_GymGuideAdvice: @ 8225093
.string "Yo! How's it going, CHAMPION-\n"
.string "bound {PLAYER}?\p"
.string "SOOTOPOLIS's GYM LEADER JUAN is\n"
@@ -196,14 +193,14 @@ SootopolisCity_Gym_1F_Text_225093: @ 8225093
.string "The rest of the way, you have to\n"
.string "go for it yourself!$"
-SootopolisCity_Gym_1F_Text_2251AF: @ 82251AF
+SootopolisCity_Gym_1F_Text_GymGuidePostVictory: @ 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
+SootopolisCity_Gym_1F_Text_JuanIntro: @ 8225268
.string "Let me ask you.\n"
.string "Did you know?\l"
.string "Ah, I should not be so coy.\p"
@@ -226,7 +223,7 @@ SootopolisCity_Gym_1F_Text_225268: @ 8225268
@ the gDisplayedStringBattle buffer that it's put into, and it stomps all over the gBattleTextBuffs
@ after, as well as the otherwise unused array after that. One wonders if that's the reason for
@ the existence of that unused array of ints.
-SootopolisCity_Gym_1F_Text_225432: @ 8225432
+SootopolisCity_Gym_1F_Text_JuanDefeat: @ 8225432
.string "Ahahaha, excellent!\n"
.string "Very well, you are the winner.\p"
.string "From you, I sense the brilliant shine\n"
@@ -241,11 +238,11 @@ SootopolisCity_Gym_1F_Text_225432: @ 8225432
.string "Rather than my clothes, I shall reward\n"
.string "you with this, the RAIN BADGE!$"
-SootopolisCity_Gym_1F_Text_225598: @ 8225598
+SootopolisCity_Gym_1F_Text_ReceivedRainBadge: @ 8225598
.string "{PLAYER} received the RAIN BADGE\n"
.string "from JUAN.$"
-SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE
+SootopolisCity_Gym_1F_Text_ExplainRainBadgeTakeThis: @ 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"
@@ -255,18 +252,18 @@ SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE
.string "And, so that you never forget the\n"
.string "battle we shared, take this…$"
-SootopolisCity_Gym_1F_Text_2256C1: @ 82256C1
+SootopolisCity_Gym_1F_Text_ExplainWaterPulse: @ 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
+SootopolisCity_Gym_1F_Text_RegisteredJuan: @ 822574D
.string "Registered GYM LEADER JUAN\n"
.string "in the POKéNAV.$"
-SootopolisCity_Gym_1F_Text_225778: @ 8225778
+SootopolisCity_Gym_1F_Text_JuanPostBattle: @ 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"
@@ -276,22 +273,22 @@ SootopolisCity_Gym_1F_Text_225778: @ 8225778
.string "There, you shall find the POKéMON\n"
.string "LEAGUE.$"
-SootopolisCity_Gym_1F_Text_225865: @ 8225865
+SootopolisCity_Gym_1F_Text_GoGetFortreeBadge: @ 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
+SootopolisCity_Gym_1F_Text_GymStatue: @ 82258FA
.string "SOOTOPOLIS CITY POKéMON GYM$"
-SootopolisCity_Gym_1F_Text_225916: @ 8225916
+SootopolisCity_Gym_1F_Text_GymStatueCertified: @ 8225916
.string "SOOTOPOLIS CITY POKéMON GYM\p"
.string "JUAN'S CERTIFIED TRAINERS:\n"
.string "{PLAYER}$"
-SootopolisCity_Gym_1F_Text_225950: @ 8225950
+SootopolisCity_Gym_1F_Text_JuanPreRematch: @ 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"
@@ -300,11 +297,11 @@ SootopolisCity_Gym_1F_Text_225950: @ 8225950
.string "I shall be delighted to dance with you\n"
.string "as often as you wish!$"
-SootopolisCity_Gym_1F_Text_225A2E: @ 8225A2E
+SootopolisCity_Gym_1F_Text_JuanRematchDefeat: @ 8225A2E
.string "Ahahaha, you are the winner!\n"
.string "You have defeated me again!$"
-SootopolisCity_Gym_1F_Text_225A67: @ 8225A67
+SootopolisCity_Gym_1F_Text_JuanPostRematch: @ 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"
@@ -314,7 +311,7 @@ SootopolisCity_Gym_1F_Text_225A67: @ 8225A67
.string "And that, my friend, is a certain sign\n"
.string "of nobility!$"
-SootopolisCity_Gym_1F_Text_225B48: @ 8225B48
+SootopolisCity_Gym_1F_Text_JuanRematchNeedTwoMons: @ 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"
diff --git a/data/maps/SootopolisCity_Gym_B1F/map.json b/data/maps/SootopolisCity_Gym_B1F/map.json
index d378f84e2..0af53d062 100644
--- a/data/maps/SootopolisCity_Gym_B1F/map.json
+++ b/data/maps/SootopolisCity_Gym_B1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "SootopolisCity_Gym_B1F_EventScript_225C8B",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Andrea",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "SootopolisCity_Gym_B1F_EventScript_225CD0",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Connie",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "1",
- "script": "SootopolisCity_Gym_B1F_EventScript_225CB9",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Brianna",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "5",
- "script": "SootopolisCity_Gym_B1F_EventScript_225CE7",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Bridget",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "SootopolisCity_Gym_B1F_EventScript_225D15",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Tiffany",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "SootopolisCity_Gym_B1F_EventScript_225D2C",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Bethany",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "SootopolisCity_Gym_B1F_EventScript_225CA2",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Crissy",
"flag": "0"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SootopolisCity_Gym_B1F_EventScript_225CFE",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Olivia",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SootopolisCity_Gym_B1F_EventScript_225D5A",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Daphne",
"flag": "0"
},
{
@@ -141,7 +141,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "SootopolisCity_Gym_B1F_EventScript_225D43",
+ "script": "SootopolisCity_Gym_B1F_EventScript_Annika",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_Gym_B1F/scripts.inc b/data/maps/SootopolisCity_Gym_B1F/scripts.inc
index 0f402b930..735722db5 100644
--- a/data/maps/SootopolisCity_Gym_B1F/scripts.inc
+++ b/data/maps/SootopolisCity_Gym_B1F/scripts.inc
@@ -1,183 +1,183 @@
SootopolisCity_Gym_B1F_MapScripts:: @ 8225C8A
.byte 0
-SootopolisCity_Gym_B1F_EventScript_225C8B:: @ 8225C8B
- trainerbattle_single TRAINER_ANDREA, SootopolisCity_Gym_B1F_Text_225D71, SootopolisCity_Gym_B1F_Text_225DB6
- msgbox SootopolisCity_Gym_B1F_Text_225DCF, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Andrea:: @ 8225C8B
+ trainerbattle_single TRAINER_ANDREA, SootopolisCity_Gym_B1F_Text_AndreaIntro, SootopolisCity_Gym_B1F_Text_AndreaDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_AndreaPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225CA2:: @ 8225CA2
- trainerbattle_single TRAINER_CRISSY, SootopolisCity_Gym_B1F_Text_225E04, SootopolisCity_Gym_B1F_Text_225E60
- msgbox SootopolisCity_Gym_B1F_Text_225E90, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Crissy:: @ 8225CA2
+ trainerbattle_single TRAINER_CRISSY, SootopolisCity_Gym_B1F_Text_CrissyIntro, SootopolisCity_Gym_B1F_Text_CrissyDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_CrissyPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225CB9:: @ 8225CB9
- trainerbattle_single TRAINER_BRIANNA, SootopolisCity_Gym_B1F_Text_22646E, SootopolisCity_Gym_B1F_Text_226495
- msgbox SootopolisCity_Gym_B1F_Text_2264BC, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Brianna:: @ 8225CB9
+ trainerbattle_single TRAINER_BRIANNA, SootopolisCity_Gym_B1F_Text_BriannaIntro, SootopolisCity_Gym_B1F_Text_BriannaDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_BriannaPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225CD0:: @ 8225CD0
- trainerbattle_single TRAINER_CONNIE, SootopolisCity_Gym_B1F_Text_225FBE, SootopolisCity_Gym_B1F_Text_225FEB
- msgbox SootopolisCity_Gym_B1F_Text_225FFE, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Connie:: @ 8225CD0
+ trainerbattle_single TRAINER_CONNIE, SootopolisCity_Gym_B1F_Text_ConnieIntro, SootopolisCity_Gym_B1F_Text_ConnieDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_ConniePostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225CE7:: @ 8225CE7
- trainerbattle_single TRAINER_BRIDGET, SootopolisCity_Gym_B1F_Text_226061, SootopolisCity_Gym_B1F_Text_2260B6
- msgbox SootopolisCity_Gym_B1F_Text_2260D1, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Bridget:: @ 8225CE7
+ trainerbattle_single TRAINER_BRIDGET, SootopolisCity_Gym_B1F_Text_BridgetIntro, SootopolisCity_Gym_B1F_Text_BridgetDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_BridgetPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225CFE:: @ 8225CFE
- trainerbattle_single TRAINER_OLIVIA, SootopolisCity_Gym_B1F_Text_226164, SootopolisCity_Gym_B1F_Text_2261A7
- msgbox SootopolisCity_Gym_B1F_Text_2261B5, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Olivia:: @ 8225CFE
+ trainerbattle_single TRAINER_OLIVIA, SootopolisCity_Gym_B1F_Text_OliviaIntro, SootopolisCity_Gym_B1F_Text_OliviaDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_OliviaPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225D15:: @ 8225D15
- trainerbattle_single TRAINER_TIFFANY, SootopolisCity_Gym_B1F_Text_2261F7, SootopolisCity_Gym_B1F_Text_226274
- msgbox SootopolisCity_Gym_B1F_Text_226286, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Tiffany:: @ 8225D15
+ trainerbattle_single TRAINER_TIFFANY, SootopolisCity_Gym_B1F_Text_TiffanyIntro, SootopolisCity_Gym_B1F_Text_TiffanyDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_TiffanyPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225D2C:: @ 8225D2C
- trainerbattle_single TRAINER_BETHANY, SootopolisCity_Gym_B1F_Text_2262F3, SootopolisCity_Gym_B1F_Text_22633B
- msgbox SootopolisCity_Gym_B1F_Text_226341, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Bethany:: @ 8225D2C
+ trainerbattle_single TRAINER_BETHANY, SootopolisCity_Gym_B1F_Text_BethanyIntro, SootopolisCity_Gym_B1F_Text_BethanyDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_BethanyPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225D43:: @ 8225D43
- trainerbattle_single TRAINER_ANNIKA, SootopolisCity_Gym_B1F_Text_226388, SootopolisCity_Gym_B1F_Text_2263BD
- msgbox SootopolisCity_Gym_B1F_Text_2263F4, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Annika:: @ 8225D43
+ trainerbattle_single TRAINER_ANNIKA, SootopolisCity_Gym_B1F_Text_AnnikaIntro, SootopolisCity_Gym_B1F_Text_AnnikaDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_AnnikaPostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_EventScript_225D5A:: @ 8225D5A
- trainerbattle_single TRAINER_DAPHNE, SootopolisCity_Gym_B1F_Text_225ED6, SootopolisCity_Gym_B1F_Text_225F35
- msgbox SootopolisCity_Gym_B1F_Text_225F67, MSGBOX_AUTOCLOSE
+SootopolisCity_Gym_B1F_EventScript_Daphne:: @ 8225D5A
+ trainerbattle_single TRAINER_DAPHNE, SootopolisCity_Gym_B1F_Text_DaphneIntro, SootopolisCity_Gym_B1F_Text_DaphneDefeat
+ msgbox SootopolisCity_Gym_B1F_Text_DaphnePostBattle, MSGBOX_AUTOCLOSE
end
-SootopolisCity_Gym_B1F_Text_225D71: @ 8225D71
+SootopolisCity_Gym_B1F_Text_AndreaIntro: @ 8225D71
.string "I'll show you the sublime techniques\n"
.string "I learned from our LEADER JUAN!$"
-SootopolisCity_Gym_B1F_Text_225DB6: @ 8225DB6
+SootopolisCity_Gym_B1F_Text_AndreaDefeat: @ 8225DB6
.string "Please forgive me, JUAN…$"
-SootopolisCity_Gym_B1F_Text_225DCF: @ 8225DCF
+SootopolisCity_Gym_B1F_Text_AndreaPostBattle: @ 8225DCF
.string "Watch what happens if you crack all\n"
.string "the floor tiles.$"
-SootopolisCity_Gym_B1F_Text_225E04: @ 8225E04
+SootopolisCity_Gym_B1F_Text_CrissyIntro: @ 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
+SootopolisCity_Gym_B1F_Text_CrissyDefeat: @ 8225E60
.string "You're strong!\n"
.string "I was fooled by your cute looks!$"
-SootopolisCity_Gym_B1F_Text_225E90: @ 8225E90
+SootopolisCity_Gym_B1F_Text_CrissyPostBattle: @ 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
+SootopolisCity_Gym_B1F_Text_DaphneIntro: @ 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
+SootopolisCity_Gym_B1F_Text_DaphneDefeat: @ 8225F35
.string "You battled with more beauty than\n"
.string "I could muster…$"
-SootopolisCity_Gym_B1F_Text_225F67: @ 8225F67
+SootopolisCity_Gym_B1F_Text_DaphnePostBattle: @ 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
+SootopolisCity_Gym_B1F_Text_ConnieIntro: @ 8225FBE
.string "I should teach you how harsh battles\n"
.string "can be.$"
-SootopolisCity_Gym_B1F_Text_225FEB: @ 8225FEB
+SootopolisCity_Gym_B1F_Text_ConnieDefeat: @ 8225FEB
.string "Oh.\n"
.string "You're strong.$"
-SootopolisCity_Gym_B1F_Text_225FFE: @ 8225FFE
+SootopolisCity_Gym_B1F_Text_ConniePostBattle: @ 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
+SootopolisCity_Gym_B1F_Text_BridgetIntro: @ 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
+SootopolisCity_Gym_B1F_Text_BridgetDefeat: @ 82260B6
.string "What a high level you are!$"
-SootopolisCity_Gym_B1F_Text_2260D1: @ 82260D1
+SootopolisCity_Gym_B1F_Text_BridgetPostBattle: @ 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
+SootopolisCity_Gym_B1F_Text_OliviaIntro: @ 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
+SootopolisCity_Gym_B1F_Text_OliviaDefeat: @ 82261A7
.string "I was beaten…$"
-SootopolisCity_Gym_B1F_Text_2261B5: @ 82261B5
+SootopolisCity_Gym_B1F_Text_OliviaPostBattle: @ 82261B5
.string "I think you have potential.\n"
.string "Why don't you stay and train with us?$"
-SootopolisCity_Gym_B1F_Text_2261F7: @ 82261F7
+SootopolisCity_Gym_B1F_Text_TiffanyIntro: @ 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
+SootopolisCity_Gym_B1F_Text_TiffanyDefeat: @ 8226274
.string "Well, excuse me?!$"
-SootopolisCity_Gym_B1F_Text_226286: @ 8226286
+SootopolisCity_Gym_B1F_Text_TiffanyPostBattle: @ 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
+SootopolisCity_Gym_B1F_Text_BethanyIntro: @ 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
+SootopolisCity_Gym_B1F_Text_BethanyDefeat: @ 822633B
.string "Oops!$"
-SootopolisCity_Gym_B1F_Text_226341: @ 8226341
+SootopolisCity_Gym_B1F_Text_BethanyPostBattle: @ 8226341
.string "I wish I could forget about lost causes\n"
.string "before I can manage an “Oops!”$"
-SootopolisCity_Gym_B1F_Text_226388: @ 8226388
+SootopolisCity_Gym_B1F_Text_AnnikaIntro: @ 8226388
.string "I can battle with really rare POKéMON\n"
.string "if you'd like.$"
-SootopolisCity_Gym_B1F_Text_2263BD: @ 82263BD
+SootopolisCity_Gym_B1F_Text_AnnikaDefeat: @ 82263BD
.string "Oh, there now! Did you have a good look\n"
.string "at my POKéMON?$"
-SootopolisCity_Gym_B1F_Text_2263F4: @ 82263F4
+SootopolisCity_Gym_B1F_Text_AnnikaPostBattle: @ 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
+SootopolisCity_Gym_B1F_Text_BriannaIntro: @ 822646E
.string "Giggle…\n"
.string "Your grim look is so charming.$"
-SootopolisCity_Gym_B1F_Text_226495: @ 8226495
+SootopolisCity_Gym_B1F_Text_BriannaDefeat: @ 8226495
.string "Oh, dear.\n"
.string "I went much too easy on you.$"
-SootopolisCity_Gym_B1F_Text_2264BC: @ 82264BC
+SootopolisCity_Gym_B1F_Text_BriannaPostBattle: @ 82264BC
.string "You couldn't lay a finger on JUAN,\n"
.string "I'm sure. Giggle…$"
diff --git a/data/maps/SootopolisCity_House1/map.json b/data/maps/SootopolisCity_House1/map.json
index 2be2adebe..bd1488d14 100644
--- a/data/maps/SootopolisCity_House1/map.json
+++ b/data/maps/SootopolisCity_House1/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House1_EventScript_22694D",
+ "script": "SootopolisCity_House1_EventScript_BrickBreakBlackBelt",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House1_EventScript_22698E",
+ "script": "SootopolisCity_House1_EventScript_Kecleon",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc
index 13b581c71..90a429c2c 100644
--- a/data/maps/SootopolisCity_House1/scripts.inc
+++ b/data/maps/SootopolisCity_House1/scripts.inc
@@ -1,44 +1,44 @@
SootopolisCity_House1_MapScripts:: @ 822694C
.byte 0
-SootopolisCity_House1_EventScript_22694D:: @ 822694D
+SootopolisCity_House1_EventScript_BrickBreakBlackBelt:: @ 822694D
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_226984
- msgbox SootopolisCity_House1_Text_2269A1, MSGBOX_DEFAULT
- giveitem_std ITEM_TM31
- compare VAR_RESULT, 0
+ goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_ReceivedBrickBreak
+ msgbox SootopolisCity_House1_Text_DevelopedThisTM, MSGBOX_DEFAULT
+ giveitem ITEM_TM31
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM31
- msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT
+ msgbox SootopolisCity_House1_Text_ExplainBrickBreak, MSGBOX_DEFAULT
release
end
-SootopolisCity_House1_EventScript_226984:: @ 8226984
- msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT
+SootopolisCity_House1_EventScript_ReceivedBrickBreak:: @ 8226984
+ msgbox SootopolisCity_House1_Text_ExplainBrickBreak, MSGBOX_DEFAULT
release
end
-SootopolisCity_House1_EventScript_22698E:: @ 822698E
+SootopolisCity_House1_EventScript_Kecleon:: @ 822698E
lock
faceplayer
waitse
playmoncry SPECIES_KECLEON, 0
- msgbox SootopolisCity_House1_Text_226A60, MSGBOX_DEFAULT
+ msgbox SootopolisCity_House1_Text_Kecleon, MSGBOX_DEFAULT
waitmoncry
release
end
-SootopolisCity_House1_Text_2269A1: @ 82269A1
+SootopolisCity_House1_Text_DevelopedThisTM: @ 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
+SootopolisCity_House1_Text_ExplainBrickBreak: @ 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
+SootopolisCity_House1_Text_Kecleon: @ 8226A60
.string "KECLEON: Puu puhyaah.$"
diff --git a/data/maps/SootopolisCity_House2/map.json b/data/maps/SootopolisCity_House2/map.json
index af03fdff5..ae30df6c6 100644
--- a/data/maps/SootopolisCity_House2/map.json
+++ b/data/maps/SootopolisCity_House2/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House2_EventScript_226A77",
+ "script": "SootopolisCity_House2_EventScript_ExpertF",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_House2/scripts.inc b/data/maps/SootopolisCity_House2/scripts.inc
index 9e45a09bf..31388cbb4 100644
--- a/data/maps/SootopolisCity_House2/scripts.inc
+++ b/data/maps/SootopolisCity_House2/scripts.inc
@@ -1,36 +1,36 @@
SootopolisCity_House2_MapScripts:: @ 8226A76
.byte 0
-SootopolisCity_House2_EventScript_226A77:: @ 8226A77
+SootopolisCity_House2_EventScript_ExpertF:: @ 8226A77
lock
faceplayer
- msgbox SootopolisCity_House2_Text_226AAB, MSGBOX_YESNO
- compare VAR_RESULT, 1
- call_if_eq SootopolisCity_House2_EventScript_226A99
- compare VAR_RESULT, 0
- call_if_eq SootopolisCity_House2_EventScript_226AA2
+ msgbox SootopolisCity_House2_Text_DidYouKnowAboutMtPyreOrbs, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ call_if_eq SootopolisCity_House2_EventScript_KnowAboutOrbs
+ compare VAR_RESULT, NO
+ call_if_eq SootopolisCity_House2_EventScript_DontKnowAboutOrbs
release
end
-SootopolisCity_House2_EventScript_226A99:: @ 8226A99
- msgbox SootopolisCity_House2_Text_226AF1, MSGBOX_DEFAULT
+SootopolisCity_House2_EventScript_KnowAboutOrbs:: @ 8226A99
+ msgbox SootopolisCity_House2_Text_YesTwoOrbsSideBySide, MSGBOX_DEFAULT
return
-SootopolisCity_House2_EventScript_226AA2:: @ 8226AA2
- msgbox SootopolisCity_House2_Text_226B41, MSGBOX_DEFAULT
+SootopolisCity_House2_EventScript_DontKnowAboutOrbs:: @ 8226AA2
+ msgbox SootopolisCity_House2_Text_OughtToVisitAndSee, MSGBOX_DEFAULT
return
-SootopolisCity_House2_Text_226AAB: @ 8226AAB
+SootopolisCity_House2_Text_DidYouKnowAboutMtPyreOrbs: @ 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
+SootopolisCity_House2_Text_YesTwoOrbsSideBySide: @ 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
+SootopolisCity_House2_Text_OughtToVisitAndSee: @ 8226B41
.string "Is that so?\n"
.string "Perhaps you ought to visit and see…$"
diff --git a/data/maps/SootopolisCity_House3/map.json b/data/maps/SootopolisCity_House3/map.json
index af925c4c9..b87274eee 100644
--- a/data/maps/SootopolisCity_House3/map.json
+++ b/data/maps/SootopolisCity_House3/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House3_EventScript_226B72",
+ "script": "SootopolisCity_House3_EventScript_Woman",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House3_EventScript_226B9B",
+ "script": "SootopolisCity_House3_EventScript_Girl",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_House3/scripts.inc b/data/maps/SootopolisCity_House3/scripts.inc
index d7439f18d..c22a29a94 100644
--- a/data/maps/SootopolisCity_House3/scripts.inc
+++ b/data/maps/SootopolisCity_House3/scripts.inc
@@ -1,41 +1,41 @@
SootopolisCity_House3_MapScripts:: @ 8226B71
.byte 0
-SootopolisCity_House3_EventScript_226B72:: @ 8226B72
+SootopolisCity_House3_EventScript_Woman:: @ 8226B72
lock
faceplayer
- msgbox SootopolisCity_House3_Text_226BA4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_House3_EventScript_226B91
- msgbox SootopolisCity_House3_Text_226C44, MSGBOX_DEFAULT
+ msgbox SootopolisCity_House3_Text_JuanHasManyFansDoYou, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SootopolisCity_House3_EventScript_HaveFans
+ msgbox SootopolisCity_House3_Text_LonesomeTryWorkingHarder, MSGBOX_DEFAULT
release
end
-SootopolisCity_House3_EventScript_226B91:: @ 8226B91
- msgbox SootopolisCity_House3_Text_226C20, MSGBOX_DEFAULT
+SootopolisCity_House3_EventScript_HaveFans:: @ 8226B91
+ msgbox SootopolisCity_House3_Text_YouMustBePrettyStrong, MSGBOX_DEFAULT
release
end
-SootopolisCity_House3_EventScript_226B9B:: @ 8226B9B
- msgbox SootopolisCity_House3_Text_226C9C, MSGBOX_NPC
+SootopolisCity_House3_EventScript_Girl:: @ 8226B9B
+ msgbox SootopolisCity_House3_Text_TrainerFanClubWasWild, MSGBOX_NPC
end
-SootopolisCity_House3_Text_226BA4: @ 8226BA4
+SootopolisCity_House3_Text_JuanHasManyFansDoYou: @ 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
+SootopolisCity_House3_Text_YouMustBePrettyStrong: @ 8226C20
.string "Oh, then you must be pretty strong.$"
-SootopolisCity_House3_Text_226C44: @ 8226C44
+SootopolisCity_House3_Text_LonesomeTryWorkingHarder: @ 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
+SootopolisCity_House3_Text_TrainerFanClubWasWild: @ 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"
diff --git a/data/maps/SootopolisCity_House4/map.json b/data/maps/SootopolisCity_House4/map.json
index db7ffd5d4..586c88e90 100644
--- a/data/maps/SootopolisCity_House4/map.json
+++ b/data/maps/SootopolisCity_House4/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House4_EventScript_226D16",
+ "script": "SootopolisCity_House4_EventScript_Man",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 2,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House4_EventScript_226D1F",
+ "script": "SootopolisCity_House4_EventScript_Woman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House4_EventScript_226D28",
+ "script": "SootopolisCity_House4_EventScript_Azumarill",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_House4/scripts.inc b/data/maps/SootopolisCity_House4/scripts.inc
index a8aa58548..861da06d2 100644
--- a/data/maps/SootopolisCity_House4/scripts.inc
+++ b/data/maps/SootopolisCity_House4/scripts.inc
@@ -1,25 +1,25 @@
SootopolisCity_House4_MapScripts:: @ 8226D15
.byte 0
-SootopolisCity_House4_EventScript_226D16:: @ 8226D16
- msgbox SootopolisCity_House4_Text_226D3B, MSGBOX_NPC
+SootopolisCity_House4_EventScript_Man:: @ 8226D16
+ msgbox SootopolisCity_House4_Text_AncientTreasuresWaitingInSea, MSGBOX_NPC
end
-SootopolisCity_House4_EventScript_226D1F:: @ 8226D1F
- msgbox SootopolisCity_House4_Text_226DEA, MSGBOX_NPC
+SootopolisCity_House4_EventScript_Woman:: @ 8226D1F
+ msgbox SootopolisCity_House4_Text_StrollUnderwaterWithPokemon, MSGBOX_NPC
end
-SootopolisCity_House4_EventScript_226D28:: @ 8226D28
+SootopolisCity_House4_EventScript_Azumarill:: @ 8226D28
lock
faceplayer
waitse
playmoncry SPECIES_AZUMARILL, 0
- msgbox SootopolisCity_House4_Text_226E7F, MSGBOX_DEFAULT
+ msgbox SootopolisCity_House4_Text_Azumarill, MSGBOX_DEFAULT
waitmoncry
release
end
-SootopolisCity_House4_Text_226D3B: @ 8226D3B
+SootopolisCity_House4_Text_AncientTreasuresWaitingInSea: @ 8226D3B
.string "Listen up, and I'll tell you something\n"
.string "good.\p"
.string "There's supposed to be an ancient\n"
@@ -27,13 +27,13 @@ SootopolisCity_House4_Text_226D3B: @ 8226D3B
.string "There could be treasures just waiting\n"
.string "to be discovered down there.$"
-SootopolisCity_House4_Text_226DEA: @ 8226DEA
+SootopolisCity_House4_Text_StrollUnderwaterWithPokemon: @ 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
+SootopolisCity_House4_Text_Azumarill: @ 8226E7F
.string "AZUMARILL: Marurii.$"
diff --git a/data/maps/SootopolisCity_House5/map.json b/data/maps/SootopolisCity_House5/map.json
index 5e20e33df..fcfce0abb 100644
--- a/data/maps/SootopolisCity_House5/map.json
+++ b/data/maps/SootopolisCity_House5/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House5_EventScript_226E94",
+ "script": "SootopolisCity_House5_EventScript_Maniac",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House5_EventScript_226E9D",
+ "script": "SootopolisCity_House5_EventScript_Girl",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_House5/scripts.inc b/data/maps/SootopolisCity_House5/scripts.inc
index 04b9feca2..027a35bcf 100644
--- a/data/maps/SootopolisCity_House5/scripts.inc
+++ b/data/maps/SootopolisCity_House5/scripts.inc
@@ -1,20 +1,20 @@
SootopolisCity_House5_MapScripts:: @ 8226E93
.byte 0
-SootopolisCity_House5_EventScript_226E94:: @ 8226E94
- msgbox SootopolisCity_House5_Text_226EA6, MSGBOX_NPC
+SootopolisCity_House5_EventScript_Maniac:: @ 8226E94
+ msgbox SootopolisCity_House5_Text_SootopolisMtPyreConnection, MSGBOX_NPC
end
-SootopolisCity_House5_EventScript_226E9D:: @ 8226E9D
- msgbox SootopolisCity_House5_Text_226F35, MSGBOX_NPC
+SootopolisCity_House5_EventScript_Girl:: @ 8226E9D
+ msgbox SootopolisCity_House5_Text_BrotherUsedToStudySea, MSGBOX_NPC
end
-SootopolisCity_House5_Text_226EA6: @ 8226EA6
+SootopolisCity_House5_Text_SootopolisMtPyreConnection: @ 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
+SootopolisCity_House5_Text_BrotherUsedToStudySea: @ 8226F35
.string "My big brother used to study the sea.$"
diff --git a/data/maps/SootopolisCity_House6/map.json b/data/maps/SootopolisCity_House6/map.json
index 717590318..bd7e23882 100644
--- a/data/maps/SootopolisCity_House6/map.json
+++ b/data/maps/SootopolisCity_House6/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House6_EventScript_226F5C",
+ "script": "SootopolisCity_House6_EventScript_Woman",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc
index 0f175478a..d62273864 100644
--- a/data/maps/SootopolisCity_House6/scripts.inc
+++ b/data/maps/SootopolisCity_House6/scripts.inc
@@ -1,55 +1,55 @@
SootopolisCity_House6_MapScripts:: @ 8226F5B
.byte 0
-SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C
+SootopolisCity_House6_EventScript_Woman:: @ 8226F5C
lock
faceplayer
- goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_226FA3
- msgbox SootopolisCity_House6_Text_226FC3, MSGBOX_YESNO
- compare VAR_RESULT, 0
- call_if_eq SootopolisCity_House6_EventScript_226F99
- msgbox SootopolisCity_House6_Text_227034, MSGBOX_DEFAULT
- givedecoration_std 117
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_House6_EventScript_226FAD
+ goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_ReceivedWailmerDoll
+ msgbox SootopolisCity_House6_Text_FirstGuestInWhileTakeDoll, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ call_if_eq SootopolisCity_House6_EventScript_DeclineWailmerDoll
+ msgbox SootopolisCity_House6_Text_TakeGoodCareOfIt, MSGBOX_DEFAULT
+ givedecoration DECOR_WAILMER_DOLL
+ compare VAR_RESULT, FALSE
+ goto_if_eq SootopolisCity_House6_EventScript_NoRoomForWailmerDoll
setflag FLAG_RECEIVED_WAILMER_DOLL
release
end
-SootopolisCity_House6_EventScript_226F99:: @ 8226F99
- msgbox SootopolisCity_House6_Text_22708F, MSGBOX_DEFAULT
+SootopolisCity_House6_EventScript_DeclineWailmerDoll:: @ 8226F99
+ msgbox SootopolisCity_House6_Text_DontWantThisDoll, MSGBOX_DEFAULT
release
end
-SootopolisCity_House6_EventScript_226FA3:: @ 8226FA3
- msgbox SootopolisCity_House6_Text_2270B7, MSGBOX_DEFAULT
+SootopolisCity_House6_EventScript_ReceivedWailmerDoll:: @ 8226FA3
+ msgbox SootopolisCity_House6_Text_LovePlushDolls, MSGBOX_DEFAULT
release
end
-SootopolisCity_House6_EventScript_226FAD:: @ 8226FAD
- bufferdecorationname 1, 117
+SootopolisCity_House6_EventScript_NoRoomForWailmerDoll:: @ 8226FAD
+ bufferdecorationname 1, DECOR_WAILMER_DOLL
msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT
- msgbox SootopolisCity_House6_Text_22704A, MSGBOX_DEFAULT
+ msgbox SootopolisCity_House6_Text_IllHoldItForYou, MSGBOX_DEFAULT
release
end
-SootopolisCity_House6_Text_226FC3: @ 8226FC3
+SootopolisCity_House6_Text_FirstGuestInWhileTakeDoll: @ 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
+SootopolisCity_House6_Text_TakeGoodCareOfIt: @ 8227034
.string "Take good care of it!$"
-SootopolisCity_House6_Text_22704A: @ 822704A
+SootopolisCity_House6_Text_IllHoldItForYou: @ 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
+SootopolisCity_House6_Text_DontWantThisDoll: @ 822708F
.string "Are you sure?\n"
.string "You don't want this DOLL?$"
-SootopolisCity_House6_Text_2270B7: @ 82270B7
+SootopolisCity_House6_Text_LovePlushDolls: @ 82270B7
.string "I love plush DOLLS!$"
diff --git a/data/maps/SootopolisCity_House7/map.json b/data/maps/SootopolisCity_House7/map.json
index 4d500fcb0..497b36bba 100644
--- a/data/maps/SootopolisCity_House7/map.json
+++ b/data/maps/SootopolisCity_House7/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House7_EventScript_2270CC",
+ "script": "SootopolisCity_House7_EventScript_OldMan",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_House7_EventScript_2270D5",
+ "script": "SootopolisCity_House7_EventScript_PokefanF",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_House7/scripts.inc b/data/maps/SootopolisCity_House7/scripts.inc
index eac8ef346..b7b11208e 100644
--- a/data/maps/SootopolisCity_House7/scripts.inc
+++ b/data/maps/SootopolisCity_House7/scripts.inc
@@ -1,15 +1,15 @@
SootopolisCity_House7_MapScripts:: @ 82270CB
.byte 0
-SootopolisCity_House7_EventScript_2270CC:: @ 82270CC
- msgbox SootopolisCity_House7_Text_2270DE, MSGBOX_NPC
+SootopolisCity_House7_EventScript_OldMan:: @ 82270CC
+ msgbox SootopolisCity_House7_Text_CityFromEruptedVolcano, MSGBOX_NPC
end
-SootopolisCity_House7_EventScript_2270D5:: @ 82270D5
- msgbox SootopolisCity_House7_Text_227190, MSGBOX_NPC
+SootopolisCity_House7_EventScript_PokefanF:: @ 82270D5
+ msgbox SootopolisCity_House7_Text_CaveMadeToKeepSomething, MSGBOX_NPC
end
-SootopolisCity_House7_Text_2270DE: @ 82270DE
+SootopolisCity_House7_Text_CityFromEruptedVolcano: @ 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"
@@ -17,7 +17,7 @@ SootopolisCity_House7_Text_2270DE: @ 82270DE
.string "That's how SOOTOPOLIS CITY came into\n"
.string "being.$"
-SootopolisCity_House7_Text_227190: @ 8227190
+SootopolisCity_House7_Text_CaveMadeToKeepSomething: @ 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"
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json
index d7ed8b980..bf19b4e03 100644
--- a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC",
+ "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_LotadBrother",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_22722B",
+ "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotBrother",
"flag": "0"
}
],
@@ -65,7 +65,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_22734D"
+ "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotSizeRecord"
},
{
"type": "sign",
@@ -73,7 +73,7 @@
"y": 1,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_22735B"
+ "script": "SootopolisCity_LotadAndSeedotHouse_EventScript_LotadSizeRecord"
}
]
} \ No newline at end of file
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
index 17debe321..1951a33d5 100644
--- a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
@@ -1,119 +1,119 @@
SootopolisCity_LotadAndSeedotHouse_MapScripts:: @ 822722A
.byte 0
-SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B
+SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotBrother:: @ 822722B
special GetSeedotSizeRecordInfo
lock
faceplayer
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227369, MSGBOX_DEFAULT
- special sub_81B94B0
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigSeedot, MSGBOX_DEFAULT
+ special ChoosePartyMon
waitstate
copyvar VAR_RESULT, VAR_0x8004
compare VAR_RESULT, 255
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowSeedot
special CompareSeedotSize
compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NotSeedot
compare VAR_RESULT, 2
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_SmallSeedot
compare VAR_RESULT, 3
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_BigSeedot
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_227272:: @ 8227272
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_2275BC, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowSeedot:: @ 8227272
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigSeedot, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_22727C:: @ 822727C
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227584, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_NotSeedot:: @ 822727C
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotSeedot, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_227286:: @ 8227286
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227544, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_SmallSeedot:: @ 8227286
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerSeedot, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, MSGBOX_DEFAULT
- giveitem_std ITEM_ELIXIR
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2
+SootopolisCity_LotadAndSeedotHouse_EventScript_BigSeedot:: @ 8227290
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_GoshMightBeBiggerThanLotad, MSGBOX_DEFAULT
+ giveitem ITEM_ELIXIR
+ compare VAR_RESULT, FALSE
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir1
closemessage
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2:: @ 82272B2
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227524, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir1:: @ 82272B2
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull1, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC
+SootopolisCity_LotadAndSeedotHouse_EventScript_LotadBrother:: @ 82272BC
special GetLotadSizeRecordInfo
lock
faceplayer
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227676, MSGBOX_DEFAULT
- special sub_81B94B0
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigLotad, MSGBOX_DEFAULT
+ special ChoosePartyMon
waitstate
copyvar VAR_RESULT, VAR_0x8004
compare VAR_RESULT, 255
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowLotad
special CompareLotadSize
compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NotLotad
compare VAR_RESULT, 2
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_SmallLotad
compare VAR_RESULT, 3
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_BigLotad
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_227303:: @ 8227303
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227896, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowLotad:: @ 8227303
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigLotad, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_22730D:: @ 822730D
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227867, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_NotLotad:: @ 822730D
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotLotad, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_227317:: @ 8227317
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_22782A, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_SmallLotad:: @ 8227317
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerLotad, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, MSGBOX_DEFAULT
- giveitem_std ITEM_ELIXIR
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343
+SootopolisCity_LotadAndSeedotHouse_EventScript_BigLotad:: @ 8227321
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_WowMightBeBiggerThanSeedot, MSGBOX_DEFAULT
+ giveitem ITEM_ELIXIR
+ compare VAR_RESULT, FALSE
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir2
closemessage
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_227343:: @ 8227343
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_22780A, MSGBOX_DEFAULT
+SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir2:: @ 8227343
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull2, MSGBOX_DEFAULT
release
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_22734D:: @ 822734D
+SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotSizeRecord:: @ 822734D
special GetSeedotSizeRecordInfo
lockall
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227617, MSGBOX_DEFAULT
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_BiggestSeedotInHistory, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_LotadAndSeedotHouse_EventScript_22735B:: @ 822735B
+SootopolisCity_LotadAndSeedotHouse_EventScript_LotadSizeRecord:: @ 822735B
special GetLotadSizeRecordInfo
lockall
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_2278F2, MSGBOX_DEFAULT
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_BiggestLotadInHistory, MSGBOX_DEFAULT
releaseall
end
-SootopolisCity_LotadAndSeedotHouse_Text_227369: @ 8227369
+SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigSeedot: @ 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"
@@ -125,7 +125,7 @@ SootopolisCity_LotadAndSeedotHouse_Text_227369: @ 8227369
.string "Huh? Do you have a SEEDOT with you?\n"
.string "P-p-please, show me!$"
-SootopolisCity_LotadAndSeedotHouse_Text_227480: @ 8227480
+SootopolisCity_LotadAndSeedotHouse_Text_GoshMightBeBiggerThanLotad: @ 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"
@@ -133,35 +133,36 @@ SootopolisCity_LotadAndSeedotHouse_Text_227480: @ 8227480
.string "Thanks for showing me.\n"
.string "This is my thanks!$"
-SootopolisCity_LotadAndSeedotHouse_Text_22750E: @ 822750E
+@ Unused
+SootopolisCity_LotadAndSeedotHouse_Text_ReceivedPotion1: @ 822750E
.string "{PLAYER} received a POTION.$"
-SootopolisCity_LotadAndSeedotHouse_Text_227524: @ 8227524
+SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull1: @ 8227524
.string "Hunh?\n"
.string "Your BAG is crammed full.$"
-SootopolisCity_LotadAndSeedotHouse_Text_227544: @ 8227544
+SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerSeedot: @ 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
+SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotSeedot: @ 8227584
.string "Oh, now this is quite something…\n"
.string "But it's not a SEEDOT!$"
-SootopolisCity_LotadAndSeedotHouse_Text_2275BC: @ 82275BC
+SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigSeedot: @ 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
+SootopolisCity_LotadAndSeedotHouse_Text_BiggestSeedotInHistory: @ 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
+SootopolisCity_LotadAndSeedotHouse_Text_PleaseShowMeBigLotad: @ 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"
@@ -172,7 +173,7 @@ SootopolisCity_LotadAndSeedotHouse_Text_227676: @ 8227676
.string "Hunh? Do you have a LOTAD?\n"
.string "P-p-please show me!$"
-SootopolisCity_LotadAndSeedotHouse_Text_22776C: @ 822776C
+SootopolisCity_LotadAndSeedotHouse_Text_WowMightBeBiggerThanSeedot: @ 822776C
.string "{STR_VAR_2} inches!\n"
.string "Wow, that is big!\p"
.string "It might be even bigger than the huge\n"
@@ -180,29 +181,30 @@ SootopolisCity_LotadAndSeedotHouse_Text_22776C: @ 822776C
.string "Thanks for showing me!\n"
.string "This is my thanks!$"
-SootopolisCity_LotadAndSeedotHouse_Text_2277F4: @ 82277F4
+@ Unused
+SootopolisCity_LotadAndSeedotHouse_Text_ReceivedPotion2: @ 82277F4
.string "{PLAYER} received a POTION.$"
-SootopolisCity_LotadAndSeedotHouse_Text_22780A: @ 822780A
+SootopolisCity_LotadAndSeedotHouse_Text_BagCrammedFull2: @ 822780A
.string "Hunh?\n"
.string "Your BAG is crammed full.$"
-SootopolisCity_LotadAndSeedotHouse_Text_22782A: @ 822782A
+SootopolisCity_LotadAndSeedotHouse_Text_SeenBiggerLotad: @ 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
+SootopolisCity_LotadAndSeedotHouse_Text_ThatsNotLotad: @ 8227867
.string "Well, isn't this something!\n"
.string "But it's no LOTAD!$"
-SootopolisCity_LotadAndSeedotHouse_Text_227896: @ 8227896
+SootopolisCity_LotadAndSeedotHouse_Text_DontHaveBigLotad: @ 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
+SootopolisCity_LotadAndSeedotHouse_Text_BiggestLotadInHistory: @ 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"
diff --git a/data/maps/SootopolisCity_Mart/map.json b/data/maps/SootopolisCity_Mart/map.json
index e9b978013..9d8ef277d 100644
--- a/data/maps/SootopolisCity_Mart/map.json
+++ b/data/maps/SootopolisCity_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_Mart_EventScript_226795",
+ "script": "SootopolisCity_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_Mart_EventScript_2267C2",
+ "script": "SootopolisCity_Mart_EventScript_FatMan",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_Mart_EventScript_2267EC",
+ "script": "SootopolisCity_Mart_EventScript_Gentleman",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc
index fe0270d62..f7856916c 100644
--- a/data/maps/SootopolisCity_Mart/scripts.inc
+++ b/data/maps/SootopolisCity_Mart/scripts.inc
@@ -1,17 +1,17 @@
SootopolisCity_Mart_MapScripts:: @ 8226794
.byte 0
-SootopolisCity_Mart_EventScript_226795:: @ 8226795
+SootopolisCity_Mart_EventScript_Clerk:: @ 8226795
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart SootopolisCity_Mart_Pokemart_2267AC
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart SootopolisCity_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
-SootopolisCity_Mart_Pokemart_2267AC: @ 82267AC
+SootopolisCity_Mart_Pokemart: @ 82267AC
.2byte ITEM_ULTRA_BALL
.2byte ITEM_HYPER_POTION
.2byte ITEM_MAX_POTION
@@ -25,54 +25,54 @@ SootopolisCity_Mart_Pokemart_2267AC: @ 82267AC
release
end
-SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2
+SootopolisCity_Mart_EventScript_FatMan:: @ 82267C2
lock
faceplayer
compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_Mart_EventScript_2267E2
- goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_2267E2
- msgbox SootopolisCity_Mart_Text_22685D, MSGBOX_DEFAULT
+ goto_if_ge SootopolisCity_Mart_EventScript_FatManNoLegendaries
+ goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_FatManNoLegendaries
+ msgbox SootopolisCity_Mart_Text_TooScaryOutside, MSGBOX_DEFAULT
release
end
-SootopolisCity_Mart_EventScript_2267E2:: @ 82267E2
- msgbox SootopolisCity_Mart_Text_226816, MSGBOX_DEFAULT
+SootopolisCity_Mart_EventScript_FatManNoLegendaries:: @ 82267E2
+ msgbox SootopolisCity_Mart_Text_PPUpIsGreat, MSGBOX_DEFAULT
release
end
-SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC
+SootopolisCity_Mart_EventScript_Gentleman:: @ 82267EC
lock
faceplayer
compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_Mart_EventScript_22680C
- goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_22680C
- msgbox SootopolisCity_Mart_Text_226928, MSGBOX_DEFAULT
+ goto_if_ge SootopolisCity_Mart_EventScript_GentlemanNoLegendaries
+ goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_GentlemanNoLegendaries
+ msgbox SootopolisCity_Mart_Text_DidSomethingAwaken, MSGBOX_DEFAULT
release
end
-SootopolisCity_Mart_EventScript_22680C:: @ 822680C
- msgbox SootopolisCity_Mart_Text_2268AF, MSGBOX_DEFAULT
+SootopolisCity_Mart_EventScript_GentlemanNoLegendaries:: @ 822680C
+ msgbox SootopolisCity_Mart_Text_FullRestoreItemOfDreams, MSGBOX_DEFAULT
release
end
-SootopolisCity_Mart_Text_226816: @ 8226816
+SootopolisCity_Mart_Text_PPUpIsGreat: @ 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
+SootopolisCity_Mart_Text_TooScaryOutside: @ 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
+SootopolisCity_Mart_Text_FullRestoreItemOfDreams: @ 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
+SootopolisCity_Mart_Text_DidSomethingAwaken: @ 8226928
.string "This weather…\n"
.string "Did something awaken?$"
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json
index 791b9fdaa..014a07dde 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24",
+ "script": "SootopolisCity_MysteryEventsHouse_1F_EventScript_OldMan",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
index 78938b7d8..949d199d5 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
@@ -1,240 +1,241 @@
SootopolisCity_MysteryEventsHouse_1F_MapScripts:: @ 8227953
map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_1F_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_1F_OnFrame
.byte 0
SootopolisCity_MysteryEventsHouse_1F_OnTransition: @ 822795E
- setvar VAR_0x8004, 16
- special CallFrontierUtilFunc
+ frontier_checkvisittrainer
compare VAR_RESULT, 0
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout
compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0
- call_if_ne SootopolisCity_MysteryEventsHouse_1F_EventScript_227991
+ call_if_ne SootopolisCity_MysteryEventsHouse_1F_EventScript_MoveOldManToDoor
end
-SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D
+SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout:: @ 822797D
setvar VAR_TEMP_1, 1
setobjectxyperm 1, 3, 2
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
setmaplayoutindex LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F_STAIRS_UNBLOCKED
return
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227991:: @ 8227991
+SootopolisCity_MysteryEventsHouse_1F_EventScript_MoveOldManToDoor:: @ 8227991
setobjectxyperm 1, 2, 2
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT
return
-SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D
- map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7
- map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7
- map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7
+SootopolisCity_MysteryEventsHouse_1F_OnFrame: @ 822799D
+ map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle
+ map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2, SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle
+ map_script_2 VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3, SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle
.2byte 0
-SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7
+SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle:: @ 82279B7
lockall
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerExitStairs
waitmovement 0
- applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21
+ applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManWalkBehindPlayer
waitmovement 0
copyobjectxytoperm 1
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleWonComment
compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleLostComment
compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleTiedComment
special LoadPlayerParty
setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0
releaseall
end
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04:: @ 8227A04
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227DB8, MSGBOX_DEFAULT
+SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleWonComment:: @ 8227A04
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_ThatWasSuperlative, MSGBOX_DEFAULT
return
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D:: @ 8227A0D
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227E03, MSGBOX_DEFAULT
+SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleLostComment:: @ 8227A0D
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_TooBadForYou, MSGBOX_DEFAULT
return
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16:: @ 8227A16
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D5B, MSGBOX_DEFAULT
+SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleTiedComment:: @ 8227A16
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_BrilliantStandoff, MSGBOX_DEFAULT
return
-SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F: @ 8227A1F
+SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerExitStairs: @ 8227A1F
walk_down
step_end
-SootopolisCity_MysteryEventsHouse_1F_Movement_227A21: @ 8227A21
+SootopolisCity_MysteryEventsHouse_1F_Movement_OldManWalkBehindPlayer: @ 8227A21
walk_right
walk_in_place_fastest_down
step_end
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24
+SootopolisCity_MysteryEventsHouse_1F_EventScript_OldMan:: @ 8227A24
lock
faceplayer
- setvar VAR_0x8004, 16
- special CallFrontierUtilFunc
+ frontier_checkvisittrainer
compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_InvalidVisitingTrainer
compare VAR_TEMP_1, 1
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_TrainerVisiting
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_OnlyAmusementWatchingBattles, MSGBOX_DEFAULT
release
end
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT
+SootopolisCity_MysteryEventsHouse_1F_EventScript_InvalidVisitingTrainer:: @ 8227A4E
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_OnlyAmusementWatchingBattles, MSGBOX_DEFAULT
release
end
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
+SootopolisCity_MysteryEventsHouse_1F_EventScript_TrainerVisiting:: @ 8227A58
special SavePlayerParty
special BufferEReaderTrainerName
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, MSGBOX_YESNO
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_ChallengeVisitingTrainer, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
+ call SootopolisCity_MysteryEventsHouse_1F_EventScript_ChooseParty
compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
- call SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_SaveProgressBeforeBattle, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
special LoadPlayerParty
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ compare VAR_RESULT, FALSE
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
special SavePlayerParty
special ReducePlayerPartyToSelectedMons
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, MSGBOX_DEFAULT
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_HopeToSeeGoodMatch, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, 2
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE
- compare VAR_FACING, 4
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10
- compare VAR_FACING, 3
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementNorth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementEast
+ compare VAR_FACING, DIR_WEST
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementWest
warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 255, 3, 1
waitstate
release
end
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2:: @ 8227AE2
+SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle:: @ 8227AE2
special LoadPlayerParty
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C44, MSGBOX_DEFAULT
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_YouWontBattle, MSGBOX_DEFAULT
release
end
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C84, MSGBOX_DEFAULT
- fadescreen 1
+SootopolisCity_MysteryEventsHouse_1F_EventScript_ChooseParty:: @ 8227AEF
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_KeepItTo3On3, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
return
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE:: @ 8227AFE
- applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34
+SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementNorth:: @ 8227AFE
+ applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementNorth
waitmovement 0
return
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10:: @ 8227B10
- applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B43
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38
+SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementEast:: @ 8227B10
+ applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideRight
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementEast
waitmovement 0
return
-SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22:: @ 8227B22
- applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C
+SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementWest:: @ 8227B22
+ applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementWest
waitmovement 0
return
-SootopolisCity_MysteryEventsHouse_1F_Movement_227B34: @ 8227B34
+SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementNorth: @ 8227B34
delay_16
walk_up
walk_up
step_end
-SootopolisCity_MysteryEventsHouse_1F_Movement_227B38: @ 8227B38
+SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementEast: @ 8227B38
delay_16
walk_right
walk_up
step_end
-SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C: @ 8227B3C
+SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementWest: @ 8227B3C
delay_16
walk_left
walk_up
step_end
-SootopolisCity_MysteryEventsHouse_1F_Movement_227B40: @ 8227B40
+SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft: @ 8227B40
walk_left
walk_in_place_fastest_right
step_end
-SootopolisCity_MysteryEventsHouse_1F_Movement_227B43: @ 8227B43
+SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideRight: @ 8227B43
walk_right
walk_in_place_fastest_left
step_end
-SootopolisCity_MysteryEventsHouse_1F_Text_227B46: @ 8227B46
+SootopolisCity_MysteryEventsHouse_1F_Text_OnlyAmusementWatchingBattles: @ 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
+SootopolisCity_MysteryEventsHouse_1F_Text_DoorAppearsToBeLocked: @ 8227BDD
.string "The door appears to be locked.$"
-SootopolisCity_MysteryEventsHouse_1F_Text_227BFC: @ 8227BFC
+SootopolisCity_MysteryEventsHouse_1F_Text_ChallengeVisitingTrainer: @ 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
+SootopolisCity_MysteryEventsHouse_1F_Text_YouWontBattle: @ 8227C44
.string "You won't battle? I'm disappointed\n"
.string "that I can't see you battle…$"
-SootopolisCity_MysteryEventsHouse_1F_Text_227C84: @ 8227C84
+SootopolisCity_MysteryEventsHouse_1F_Text_KeepItTo3On3: @ 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
+SootopolisCity_MysteryEventsHouse_1F_Text_SaveProgressBeforeBattle: @ 8227CEB
.string "Before you two battle, you should\n"
.string "save your progress.$"
-SootopolisCity_MysteryEventsHouse_1F_Text_227D21: @ 8227D21
+SootopolisCity_MysteryEventsHouse_1F_Text_HopeToSeeGoodMatch: @ 8227D21
.string "I hope to see a good match!$"
-SootopolisCity_MysteryEventsHouse_1F_Text_227D3D: @ 8227D3D
+@ Unused
+SootopolisCity_MysteryEventsHouse_1F_Text_StrVar1Tie: @ 8227D3D
.string "{STR_VAR_1}$"
-SootopolisCity_MysteryEventsHouse_B1F_Text_227D40: @ 8227D40
+SootopolisCity_MysteryEventsHouse_B1F_Text_MatchEndedUpDraw: @ 8227D40
.string "The match ended up a draw.$"
-SootopolisCity_MysteryEventsHouse_1F_Text_227D5B: @ 8227D5B
+SootopolisCity_MysteryEventsHouse_1F_Text_BrilliantStandoff: @ 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
+@ Unused
+SootopolisCity_MysteryEventsHouse_1F_Text_StrVar1Won: @ 8227DB5
.string "{STR_VAR_1}$"
-SootopolisCity_MysteryEventsHouse_1F_Text_227DB8: @ 8227DB8
+SootopolisCity_MysteryEventsHouse_1F_Text_ThatWasSuperlative: @ 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
+@ Unused
+SootopolisCity_MysteryEventsHouse_1F_Text_StrVar1Lost: @ 8227E00
.string "{STR_VAR_1}$"
-SootopolisCity_MysteryEventsHouse_1F_Text_227E03: @ 8227E03
+SootopolisCity_MysteryEventsHouse_1F_Text_TooBadForYou: @ 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/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
index 16533649c..9699eb5e8 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
@@ -1,19 +1,19 @@
SootopolisCity_MysteryEventsHouse_B1F_MapScripts:: @ 8227E4F
map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_B1F_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_B1F_OnFrame
.byte 0
SootopolisCity_MysteryEventsHouse_B1F_OnTransition: @ 8227E5A
special SetEReaderTrainerGfxId
end
-SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E
- map_script_2 VAR_TEMP_1, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68
+SootopolisCity_MysteryEventsHouse_B1F_OnFrame: @ 8227E5E
+ map_script_2 VAR_TEMP_1, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleVisitingTrainer
.2byte 0
-SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleVisitingTrainer:: @ 8227E68
lockall
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerEnterBasement
waitmovement 0
special CopyEReaderTrainerGreeting
msgbox gStringVar4, MSGBOX_DEFAULT
@@ -23,14 +23,14 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
special DoSpecialTrainerBattle
waitstate
compare VAR_RESULT, 3
- call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF
+ call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleTie
compare VAR_RESULT, 1
- call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD
+ call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleWon
compare VAR_RESULT, 2
- call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8
+ call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleLost
closemessage
special HealPlayerParty
- applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerExitBasement
waitmovement 0
special LoadPlayerParty
setvar VAR_TEMP_1, 1
@@ -39,26 +39,26 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
releaseall
end
-SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF:: @ 8227ECF
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleTie:: @ 8227ECF
setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3
- msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_227D40, MSGBOX_DEFAULT
+ msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_MatchEndedUpDraw, MSGBOX_DEFAULT
return
-SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD:: @ 8227EDD
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleWon:: @ 8227EDD
setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1
special ShowFieldMessageStringVar4
waitmessage
waitbuttonpress
return
-SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8:: @ 8227EE8
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleLost:: @ 8227EE8
setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2
special ShowFieldMessageStringVar4
waitmessage
waitbuttonpress
return
-SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3: @ 8227EF3
+SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerEnterBasement: @ 8227EF3
walk_down
walk_down
walk_down
@@ -66,7 +66,7 @@ SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3: @ 8227EF3
walk_right
step_end
-SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9: @ 8227EF9
+SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerExitBasement: @ 8227EF9
walk_left
walk_left
walk_up
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/map.json b/data/maps/SootopolisCity_PokemonCenter_1F/map.json
index 90a8dcdad..4a5eec747 100644
--- a/data/maps/SootopolisCity_PokemonCenter_1F/map.json
+++ b/data/maps/SootopolisCity_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_1F_EventScript_226500",
+ "script": "SootopolisCity_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_1F_EventScript_22650E",
+ "script": "SootopolisCity_PokemonCenter_1F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_1F_EventScript_226538",
+ "script": "SootopolisCity_PokemonCenter_1F_EventScript_Woman",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_1F_EventScript_2C8256",
+ "script": "SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor",
"flag": "0"
}
],
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
index d3dfb91b0..d8ff4e7f6 100644
--- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
@@ -1,51 +1,52 @@
SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1
map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, SootopolisCity_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
SootopolisCity_PokemonCenter_1F_OnTransition: @ 82264FC
setrespawn HEAL_LOCATION_SOOTOPOLIS_CITY
end
-SootopolisCity_PokemonCenter_1F_EventScript_226500:: @ 8226500
+@ VAR_0x800B is the Nurse's object event id
+SootopolisCity_PokemonCenter_1F_EventScript_Nurse:: @ 8226500
setvar VAR_0x800B, 1
- call SootopolisCity_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E
+SootopolisCity_PokemonCenter_1F_EventScript_Gentleman:: @ 822650E
lock
faceplayer
compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_22652E
- goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_22652E
- msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, MSGBOX_DEFAULT
+ goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries
+ goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries
+ msgbox SootopolisCity_PokemonCenter_1F_Text_EveryoneTakenRefuge, MSGBOX_DEFAULT
release
end
-SootopolisCity_PokemonCenter_1F_EventScript_22652E:: @ 822652E
- msgbox SootopolisCity_PokemonCenter_1F_Text_226562, MSGBOX_DEFAULT
+SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries:: @ 822652E
+ msgbox SootopolisCity_PokemonCenter_1F_Text_WallaceToughestInHoenn, MSGBOX_DEFAULT
release
end
-SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538
+SootopolisCity_PokemonCenter_1F_EventScript_Woman:: @ 8226538
lock
faceplayer
compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_226558
- goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_226558
- msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, MSGBOX_DEFAULT
+ goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries
+ goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries
+ msgbox SootopolisCity_PokemonCenter_1F_Text_ArentPokemonOurFriends, MSGBOX_DEFAULT
release
end
-SootopolisCity_PokemonCenter_1F_EventScript_226558:: @ 8226558
- msgbox SootopolisCity_PokemonCenter_1F_Text_2266B9, MSGBOX_DEFAULT
+SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries:: @ 8226558
+ msgbox SootopolisCity_PokemonCenter_1F_Text_AlwaysBeFriendsWithPokemon, MSGBOX_DEFAULT
release
end
-SootopolisCity_PokemonCenter_1F_Text_226562: @ 8226562
+SootopolisCity_PokemonCenter_1F_Text_WallaceToughestInHoenn: @ 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"
@@ -54,19 +55,19 @@ SootopolisCity_PokemonCenter_1F_Text_226562: @ 8226562
.string "even stronger than WALLACE's mentor.\p"
.string "How strong could they be?$"
-SootopolisCity_PokemonCenter_1F_Text_22664B: @ 822664B
+SootopolisCity_PokemonCenter_1F_Text_EveryoneTakenRefuge: @ 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
+SootopolisCity_PokemonCenter_1F_Text_AlwaysBeFriendsWithPokemon: @ 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
+SootopolisCity_PokemonCenter_1F_Text_ArentPokemonOurFriends: @ 822672F
.string "Aren't POKéMON our friends?\p"
.string "Why are they going wild this way?$"
diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/map.json b/data/maps/SootopolisCity_PokemonCenter_2F/map.json
index 33308de7b..6c00e8e21 100644
--- a/data/maps/SootopolisCity_PokemonCenter_2F/map.json
+++ b/data/maps/SootopolisCity_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SootopolisCity_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc
index 4c9fce912..57d21cbb5 100644
--- a/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/SootopolisCity_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
SootopolisCity_PokemonCenter_2F_MapScripts:: @ 822676D
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SootopolisCity_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-SootopolisCity_PokemonCenter_2F_EventScript_226782:: @ 8226782
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+SootopolisCity_PokemonCenter_2F_EventScript_Colosseum:: @ 8226782
+ call CableClub_EventScript_Colosseum
end
-SootopolisCity_PokemonCenter_2F_EventScript_226788:: @ 8226788
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+SootopolisCity_PokemonCenter_2F_EventScript_TradeCenter:: @ 8226788
+ call CableClub_EventScript_TradeCenter
end
-SootopolisCity_PokemonCenter_2F_EventScript_22678E:: @ 822678E
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+SootopolisCity_PokemonCenter_2F_EventScript_RecordCorner:: @ 822678E
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/SouthernIsland_Exterior/map.json b/data/maps/SouthernIsland_Exterior/map.json
index 26447c163..cf8be2227 100644
--- a/data/maps/SouthernIsland_Exterior/map.json
+++ b/data/maps/SouthernIsland_Exterior/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "SouthernIsland_Exterior_EventScript_2429D2",
+ "script": "SouthernIsland_Exterior_EventScript_Sailor",
"flag": "0"
},
{
@@ -65,7 +65,7 @@
"y": 7,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "SouthernIsland_Exterior_EventScript_242A3C"
+ "script": "SouthernIsland_Exterior_EventScript_Sign"
}
]
} \ No newline at end of file
diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc
index e3ecfa3db..17ff25fdb 100644
--- a/data/maps/SouthernIsland_Exterior/scripts.inc
+++ b/data/maps/SouthernIsland_Exterior/scripts.inc
@@ -6,50 +6,50 @@ SouthernIsland_Exterior_OnTransition: @ 82429CE
setflag FLAG_LANDMARK_SOUTHERN_ISLAND
end
-SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2
+SouthernIsland_Exterior_EventScript_Sailor:: @ 82429D2
lock
faceplayer
- msgbox SouthernIsland_Exterior_Text_2A69F1, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SouthernIsland_Exterior_EventScript_242A17
- msgbox SouthernIsland_Exterior_Text_2A6A5D, MSGBOX_DEFAULT
+ msgbox EventTicket_Text_SouthernIslandSailBack, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SouthernIsland_Exterior_EventScript_AsYouLike
+ msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
- applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceDown
+ applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
delay 30
hideobjectat 1, MAP_SOUTHERN_ISLAND_EXTERIOR
setvar VAR_0x8004, 2
- call SouthernIsland_Exterior_EventScript_272250
+ call Common_EventScript_FerryDepartIsland
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
end
-SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17
- msgbox SouthernIsland_Exterior_Text_2A6A82, MSGBOX_DEFAULT
+SouthernIsland_Exterior_EventScript_AsYouLike:: @ 8242A17
+ msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT
release
end
-BattleFrontier_OutsideWest_EventScript_242A21:: @ 8242A21
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A37
+Ferry_EventScript_DepartIslandSouth:: @ 8242A21
+ applymovement EVENT_OBJ_ID_PLAYER, Ferry_EventScript_DepartIslandBoardSouth
waitmovement 0
return
-BattleFrontier_OutsideWest_EventScript_242A2C:: @ 8242A2C
- applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A39
+Ferry_EventScript_DepartIslandWest:: @ 8242A2C
+ applymovement EVENT_OBJ_ID_PLAYER, Ferry_EventScript_DepartIslandBoardWest
waitmovement 0
return
-BattleFrontier_OutsideWest_Movement_242A37: @ 8242A37
+Ferry_EventScript_DepartIslandBoardSouth: @ 8242A37
walk_down
step_end
-BattleFrontier_OutsideWest_Movement_242A39: @ 8242A39
+Ferry_EventScript_DepartIslandBoardWest: @ 8242A39
walk_left
walk_in_place_fastest_down
step_end
-SouthernIsland_Exterior_EventScript_242A3C:: @ 8242A3C
- msgbox SouthernIsland_Exterior_Text_2A6AD5, MSGBOX_SIGN
+SouthernIsland_Exterior_EventScript_Sign:: @ 8242A3C
+ msgbox SouthernIsland_Exterior_Text_Sign, MSGBOX_SIGN
end
diff --git a/data/maps/SouthernIsland_Interior/map.json b/data/maps/SouthernIsland_Interior/map.json
index 5fd8354f6..a647076ba 100644
--- a/data/maps/SouthernIsland_Interior/map.json
+++ b/data/maps/SouthernIsland_Interior/map.json
@@ -65,7 +65,7 @@
"y": 11,
"elevation": 3,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "SouthernIsland_Interior_EventScript_242AC4"
+ "script": "SouthernIsland_Interior_EventScript_TryLatiEncounter"
}
]
} \ No newline at end of file
diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc
index a87b59079..7a2a04771 100644
--- a/data/maps/SouthernIsland_Interior/scripts.inc
+++ b/data/maps/SouthernIsland_Interior/scripts.inc
@@ -1,68 +1,68 @@
SouthernIsland_Interior_MapScripts:: @ 8242A45
- map_script MAP_SCRIPT_ON_RESUME, SouthernIsland_Interior_MapScript1_242A50
+ map_script MAP_SCRIPT_ON_RESUME, SouthernIsland_Interior_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Interior_OnTransition
.byte 0
-SouthernIsland_Interior_MapScript1_242A50: @ 8242A50
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_242A5A
+SouthernIsland_Interior_OnResume: @ 8242A50
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_TryRemoveLati
end
-SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A
+SouthernIsland_Interior_EventScript_TryRemoveLati:: @ 8242A5A
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject 2
return
SouthernIsland_Interior_OnTransition: @ 8242A6E
compare VAR_ROAMER_POKEMON, 0
- call_if_eq SouthernIsland_Interior_EventScript_242A8A
+ call_if_eq SouthernIsland_Interior_EventScript_SetUpLatios
compare VAR_ROAMER_POKEMON, 0
- call_if_ne SouthernIsland_Interior_EventScript_242A95
- call SouthernIsland_Interior_EventScript_242AA0
+ call_if_ne SouthernIsland_Interior_EventScript_SetUpLatias
+ call SouthernIsland_Interior_EventScript_SetUpPlayerGfx
end
-SouthernIsland_Interior_EventScript_242A8A:: @ 8242A8A
+SouthernIsland_Interior_EventScript_SetUpLatios:: @ 8242A8A
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LATIOS
- setvar VAR_TEMP_4, 408
+ setvar VAR_TEMP_4, SPECIES_LATIOS
return
-SouthernIsland_Interior_EventScript_242A95:: @ 8242A95
+SouthernIsland_Interior_EventScript_SetUpLatias:: @ 8242A95
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LATIAS
- setvar VAR_TEMP_4, 407
+ setvar VAR_TEMP_4, SPECIES_LATIAS
return
-SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0
+SouthernIsland_Interior_EventScript_SetUpPlayerGfx:: @ 8242AA0
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq SouthernIsland_Interior_EventScript_242AB8
+ goto_if_eq SouthernIsland_Interior_EventScript_SetBrendanGfx
compare VAR_RESULT, FEMALE
- goto_if_eq SouthernIsland_Interior_EventScript_242ABE
+ goto_if_eq SouthernIsland_Interior_EventScript_SetMayGfx
end
-SouthernIsland_Interior_EventScript_242AB8:: @ 8242AB8
+SouthernIsland_Interior_EventScript_SetBrendanGfx:: @ 8242AB8
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-SouthernIsland_Interior_EventScript_242ABE:: @ 8242ABE
+SouthernIsland_Interior_EventScript_SetMayGfx:: @ 8242ABE
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4
+SouthernIsland_Interior_EventScript_TryLatiEncounter:: @ 8242AC4
lockall
setvar VAR_0x8008, 12
- goto SouthernIsland_Interior_EventScript_242AD0
+ goto SouthernIsland_Interior_EventScript_Lati
end
-SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0
- goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_242B9A
- goto_if_set FLAG_DEFEATED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_242B9A
- goto_if_set FLAG_CAUGHT_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_242B9A
- goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_242B9A
+SouthernIsland_Interior_EventScript_Lati:: @ 8242AD0
+ goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_Sign
+ goto_if_set FLAG_DEFEATED_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign
+ goto_if_set FLAG_CAUGHT_LATIAS_OR_LATIOS, SouthernIsland_Interior_EventScript_Sign
+ goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_Sign
setflag FLAG_ENCOUNTERED_LATIAS_OR_LATIOS
setflag FLAG_TEMP_2
special SpawnCameraObject
- applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCA
+ applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_CameraPanUp
waitmovement 0
delay 50
waitse
@@ -71,68 +71,68 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0
waitmoncry
addobject 2
delay 30
- applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCE
- applymovement 2, SouthernIsland_Interior_Movement_242BDA
+ applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_CameraPanDown
+ applymovement 2, SouthernIsland_Interior_Movement_LatiApproach
waitmovement 0
delay 50
special RemoveCameraObject
setvar VAR_LAST_TALKED, 2
compare VAR_ROAMER_POKEMON, 0
- call_if_eq SouthernIsland_Interior_EventScript_242BA4
+ call_if_eq SouthernIsland_Interior_EventScript_SetLatiosBattleVars
compare VAR_ROAMER_POKEMON, 0
- call_if_ne SouthernIsland_Interior_EventScript_242BB7
+ call_if_ne SouthernIsland_Interior_EventScript_SetLatiasBattleVars
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLatiBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq SouthernIsland_Interior_EventScript_242B81
- compare VAR_RESULT, 4
- goto_if_eq SouthernIsland_Interior_EventScript_242B8F
- compare VAR_RESULT, 5
- goto_if_eq SouthernIsland_Interior_EventScript_242B8F
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq SouthernIsland_Interior_EventScript_LatiDefeated
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq SouthernIsland_Interior_EventScript_RanFromLati
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq SouthernIsland_Interior_EventScript_RanFromLati
setflag FLAG_CAUGHT_LATIAS_OR_LATIOS
releaseall
end
-SouthernIsland_Interior_EventScript_242B81:: @ 8242B81
+SouthernIsland_Interior_EventScript_LatiDefeated:: @ 8242B81
setflag FLAG_DEFEATED_LATIAS_OR_LATIOS
copyvar VAR_0x8004, VAR_TEMP_4
- goto SouthernIsland_Interior_EventScript_273776
+ goto Common_EventScript_LegendaryFlewAway
end
-SouthernIsland_Interior_EventScript_242B8F:: @ 8242B8F
+SouthernIsland_Interior_EventScript_RanFromLati:: @ 8242B8F
copyvar VAR_0x8004, VAR_TEMP_4
- goto SouthernIsland_Interior_EventScript_273776
+ goto Common_EventScript_LegendaryFlewAway
end
-SouthernIsland_Interior_EventScript_242B9A:: @ 8242B9A
- msgbox SouthernIsland_Interior_Text_2A6AA1, MSGBOX_DEFAULT
+SouthernIsland_Interior_EventScript_Sign:: @ 8242B9A
+ msgbox SouthernIsland_Interior_Text_Sign, MSGBOX_DEFAULT
releaseall
end
-SouthernIsland_Interior_EventScript_242BA4:: @ 8242BA4
- setvar VAR_0x8004, 408
- setvar VAR_0x8005, 50
- setvar VAR_0x8006, 191
+SouthernIsland_Interior_EventScript_SetLatiosBattleVars:: @ 8242BA4
+ setvar VAR_0x8004, SPECIES_LATIOS
+ setvar VAR_0x8005, 50 @ level
+ setvar VAR_0x8006, ITEM_SOUL_DEW
special CreateObedientEnemyMon
return
-SouthernIsland_Interior_EventScript_242BB7:: @ 8242BB7
- setvar VAR_0x8004, 407
- setvar VAR_0x8005, 50
- setvar VAR_0x8006, 191
+SouthernIsland_Interior_EventScript_SetLatiasBattleVars:: @ 8242BB7
+ setvar VAR_0x8004, SPECIES_LATIAS
+ setvar VAR_0x8005, 50 @ level
+ setvar VAR_0x8006, ITEM_SOUL_DEW
special CreateObedientEnemyMon
return
-SouthernIsland_Interior_Movement_242BCA: @ 8242BCA
+SouthernIsland_Interior_Movement_CameraPanUp: @ 8242BCA
walk_up
walk_up
walk_up
step_end
-SouthernIsland_Interior_Movement_242BCE: @ 8242BCE
+SouthernIsland_Interior_Movement_CameraPanDown: @ 8242BCE
delay_16
delay_16
delay_16
@@ -146,7 +146,7 @@ SouthernIsland_Interior_Movement_242BCE: @ 8242BCE
walk_in_place_fastest_up
step_end
-SouthernIsland_Interior_Movement_242BDA: @ 8242BDA
+SouthernIsland_Interior_Movement_LatiApproach: @ 8242BDA
walk_down
walk_down
walk_down
diff --git a/data/maps/TerraCave_End/map.json b/data/maps/TerraCave_End/map.json
index 991743d63..56ede87aa 100644
--- a/data/maps/TerraCave_End/map.json
+++ b/data/maps/TerraCave_End/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DAN01",
"region_map_section": "MAPSEC_TERRA_CAVE",
"requires_flash": false,
- "weather": "WEATHER_FOG_1",
+ "weather": "WEATHER_FOG_HORIZONTAL",
"map_type": "MAP_TYPE_UNDERGROUND",
"allow_bike": false,
"allow_escape_rope": true,
@@ -45,7 +45,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": "1",
- "script": "TerraCave_End_EventScript_23B0EC"
+ "script": "TerraCave_End_EventScript_Groudon"
}
],
"bg_events": []
diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc
index 79b209e8a..5f7f7a7f5 100644
--- a/data/maps/TerraCave_End/scripts.inc
+++ b/data/maps/TerraCave_End/scripts.inc
@@ -1,33 +1,33 @@
TerraCave_End_MapScripts:: @ 823B0B0
- map_script MAP_SCRIPT_ON_RESUME, TerraCave_End_MapScript1_23B0BB
+ map_script MAP_SCRIPT_ON_RESUME, TerraCave_End_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_End_OnTransition
.byte 0
-TerraCave_End_MapScript1_23B0BB: @ 823B0BB
- call_if_set FLAG_SYS_CTRL_OBJ_DELETE, TerraCave_End_EventScript_23B0C5
+TerraCave_End_OnResume: @ 823B0BB
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, TerraCave_End_EventScript_TryRemoveGroudon
end
-TerraCave_End_EventScript_23B0C5:: @ 823B0C5
+TerraCave_End_EventScript_TryRemoveGroudon:: @ 823B0C5
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 7
+ compare VAR_RESULT, B_OUTCOME_CAUGHT
goto_if_ne Common_EventScript_NopReturn
removeobject 1
return
TerraCave_End_OnTransition: @ 823B0D9
- call_if_unset FLAG_DEFEATED_GROUDON, TerraCave_End_EventScript_23B0E3
+ call_if_unset FLAG_DEFEATED_GROUDON, TerraCave_End_EventScript_ShowGroudon
end
-TerraCave_End_EventScript_23B0E3:: @ 823B0E3
+TerraCave_End_EventScript_ShowGroudon:: @ 823B0E3
clearflag FLAG_HIDE_TERRA_CAVE_GROUDON
setvar VAR_TEMP_1, 1
return
-TerraCave_End_EventScript_23B0EC:: @ 823B0EC
+TerraCave_End_EventScript_Groudon:: @ 823B0EC
lockall
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
- applymovement 1, TerraCave_End_Movement_23B16E
+ applymovement 1, TerraCave_End_Movement_GroudonApproach
waitmovement 0
waitse
playmoncry SPECIES_GROUDON, 2
@@ -41,29 +41,29 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC
clearflag FLAG_SYS_CTRL_OBJ_DELETE
setvar VAR_TEMP_1, 0
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, 1
- goto_if_eq TerraCave_End_EventScript_23B155
- compare VAR_RESULT, 4
- goto_if_eq TerraCave_End_EventScript_23B163
- compare VAR_RESULT, 5
- goto_if_eq TerraCave_End_EventScript_23B163
- setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq TerraCave_End_EventScript_DefeatedGroudon
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq TerraCave_End_EventScript_RanFromGroudon
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq TerraCave_End_EventScript_RanFromGroudon
+ setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_GROUDON
releaseall
end
-TerraCave_End_EventScript_23B155:: @ 823B155
- setvar VAR_SHOULD_END_UNUSUAL_WEATHER, 1
+TerraCave_End_EventScript_DefeatedGroudon:: @ 823B155
+ setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_GROUDON
- goto TerraCave_End_EventScript_27376D
+ goto Common_EventScript_RemoveStaticPokemon
end
-TerraCave_End_EventScript_23B163:: @ 823B163
- setvar VAR_0x8004, 405
- goto TerraCave_End_EventScript_273776
+TerraCave_End_EventScript_RanFromGroudon:: @ 823B163
+ setvar VAR_0x8004, SPECIES_GROUDON
+ goto Common_EventScript_LegendaryFlewAway
end
-TerraCave_End_Movement_23B16E: @ 823B16E
+TerraCave_End_Movement_GroudonApproach: @ 823B16E
init_affine_anim
walk_down_start_affine
delay_16
diff --git a/data/maps/TradeCenter/map.json b/data/maps/TradeCenter/map.json
index 1c409132d..98e7d46c1 100644
--- a/data/maps/TradeCenter/map.json
+++ b/data/maps/TradeCenter/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TradeCenter_EventScript_2774B6",
+ "script": "TradeCenter_EventScript_Attendant",
"flag": "0"
}
],
diff --git a/data/maps/TrainerHill_1F/scripts.inc b/data/maps/TrainerHill_1F/scripts.inc
index e726f8566..59f90b8bd 100644
--- a/data/maps/TrainerHill_1F/scripts.inc
+++ b/data/maps/TrainerHill_1F/scripts.inc
@@ -1,6 +1,6 @@
TrainerHill_1F_MapScripts:: @ 8268F71
- map_script MAP_SCRIPT_ON_RESUME, TrainerHill_1F_MapScript1_2C8336
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_1F_MapScript2_2C8372
- map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_1F_MapScript2_2C8381
+ map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame
.byte 0
diff --git a/data/maps/TrainerHill_2F/scripts.inc b/data/maps/TrainerHill_2F/scripts.inc
index dd1f356de..0e8775cd5 100644
--- a/data/maps/TrainerHill_2F/scripts.inc
+++ b/data/maps/TrainerHill_2F/scripts.inc
@@ -1,6 +1,6 @@
TrainerHill_2F_MapScripts:: @ 8268F81
- map_script MAP_SCRIPT_ON_RESUME, TrainerHill_2F_MapScript1_2C8336
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_2F_MapScript2_2C8372
- map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_2F_MapScript2_2C8381
+ map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TrainerHill_OnWarp
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame
.byte 0
diff --git a/data/maps/TrainerHill_3F/scripts.inc b/data/maps/TrainerHill_3F/scripts.inc
index b4793f457..eee6bd99d 100644
--- a/data/maps/TrainerHill_3F/scripts.inc
+++ b/data/maps/TrainerHill_3F/scripts.inc
@@ -1,5 +1,5 @@
TrainerHill_3F_MapScripts:: @ 8268F91
- map_script MAP_SCRIPT_ON_RESUME, TrainerHill_3F_MapScript1_2C8336
- map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_3F_MapScript2_2C8381
+ map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame
.byte 0
diff --git a/data/maps/TrainerHill_4F/scripts.inc b/data/maps/TrainerHill_4F/scripts.inc
index 66b8ed3bb..74ce0bf08 100644
--- a/data/maps/TrainerHill_4F/scripts.inc
+++ b/data/maps/TrainerHill_4F/scripts.inc
@@ -1,5 +1,5 @@
TrainerHill_4F_MapScripts:: @ 8268F9C
- map_script MAP_SCRIPT_ON_RESUME, TrainerHill_4F_MapScript1_2C8336
- map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_4F_MapScript2_2C8381
+ map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame
.byte 0
diff --git a/data/maps/TrainerHill_Elevator/map.json b/data/maps/TrainerHill_Elevator/map.json
index 03354b0da..07cdaa80d 100644
--- a/data/maps/TrainerHill_Elevator/map.json
+++ b/data/maps/TrainerHill_Elevator/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TrainerHill_Elevator_EventScript_26935F",
+ "script": "TrainerHill_Elevator_EventScript_Attendant",
"flag": "0"
}
],
diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc
index ecc48a9e9..498f7a3c0 100644
--- a/data/maps/TrainerHill_Elevator/scripts.inc
+++ b/data/maps/TrainerHill_Elevator/scripts.inc
@@ -1,87 +1,89 @@
TrainerHill_Elevator_MapScripts:: @ 826934F
- map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Elevator_MapScript2_269355
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Elevator_OnFrame
.byte 0
-TrainerHill_Elevator_MapScript2_269355: @ 8269355
- map_script_2 VAR_TEMP_4, 0, TrainerHill_Elevator_EventScript_269375
+TrainerHill_Elevator_OnFrame: @ 8269355
+ map_script_2 VAR_TEMP_4, 0, TrainerHill_Elevator_EventScript_EnterElevator
.2byte 0
-TrainerHill_Elevator_EventScript_26935F:: @ 826935F
+TrainerHill_Elevator_EventScript_Attendant:: @ 826935F
end
-TrainerHill_Elevator_EventScript_269360:: @ 8269360
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693EB
+TrainerHill_Elevator_EventScript_ExitToRoof:: @ 8269360
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevatorToRoof
waitmovement 0
releaseall
warp MAP_TRAINER_HILL_ROOF, 255, 15, 5
waitstate
end
-TrainerHill_Elevator_EventScript_269375:: @ 8269375
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E4
+TrainerHill_Elevator_EventScript_EnterElevator:: @ 8269375
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerApproachAttendant
waitmovement 0
- applymovement 1, TrainerHill_Elevator_Movement_2693EE
+ applymovement 1, TrainerHill_Elevator_Movement_AttendantFacePlayer
waitmovement 0
lockall
- msgbox TrainerHill_Elevator_Text_268F3E, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq TrainerHill_Elevator_EventScript_269360
+ msgbox TrainerHill_Elevator_Text_ReturnToReception, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq TrainerHill_Elevator_EventScript_ExitToRoof
releaseall
- applymovement 1, TrainerHill_Elevator_Movement_2693F0
+ applymovement 1, TrainerHill_Elevator_Movement_AttendantFaceDown
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693DF
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerMoveToCenterOfElevator
waitmovement 0
- call TrainerHill_Elevator_EventScript_2693D9
+ call TrainerHill_Elevator_EventScript_MoveElevator
delay 25
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E7
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevator
waitmovement 0
warp MAP_TRAINER_HILL_ENTRANCE, 255, 17, 8
waitstate
end
-TrainerHill_Elevator_EventScript_2693CE:: @ 82693CE
- goto TrainerHill_Elevator_EventScript_2693D4
+@ Unused
+TrainerHill_Elevator_EventScript_ExitFloorSelect:: @ 82693CE
+ goto TrainerHill_Elevator_EventScript_CloseFloorSelect
end
-TrainerHill_Elevator_EventScript_2693D4:: @ 82693D4
- special sub_8139C10
+@ Functionally unused
+TrainerHill_Elevator_EventScript_CloseFloorSelect:: @ 82693D4
+ special CloseDeptStoreElevatorWindow
releaseall
end
-TrainerHill_Elevator_EventScript_2693D9:: @ 82693D9
+TrainerHill_Elevator_EventScript_MoveElevator:: @ 82693D9
waitse
- special ShakeScreenInElevator
+ special MoveElevator
waitstate
return
-TrainerHill_Elevator_Movement_2693DF: @ 82693DF
+TrainerHill_Elevator_Movement_PlayerMoveToCenterOfElevator: @ 82693DF
walk_up
walk_up
walk_right
face_down
step_end
-TrainerHill_Elevator_Movement_2693E4: @ 82693E4
+TrainerHill_Elevator_Movement_PlayerApproachAttendant: @ 82693E4
delay_16
walk_left
step_end
-TrainerHill_Elevator_Movement_2693E7: @ 82693E7
+TrainerHill_Elevator_Movement_PlayerExitElevator: @ 82693E7
delay_16
walk_down
walk_down
step_end
-TrainerHill_Elevator_Movement_2693EB: @ 82693EB
+TrainerHill_Elevator_Movement_PlayerExitElevatorToRoof: @ 82693EB
face_down
delay_16
step_end
-TrainerHill_Elevator_Movement_2693EE: @ 82693EE
+TrainerHill_Elevator_Movement_AttendantFacePlayer: @ 82693EE
face_right
step_end
-TrainerHill_Elevator_Movement_2693F0: @ 82693F0
+TrainerHill_Elevator_Movement_AttendantFaceDown: @ 82693F0
face_down
step_end
diff --git a/data/maps/TrainerHill_Entrance/map.json b/data/maps/TrainerHill_Entrance/map.json
index 42f1daa9d..f581988b6 100644
--- a/data/maps/TrainerHill_Entrance/map.json
+++ b/data/maps/TrainerHill_Entrance/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TrainerHill_Entrance_EventScript_2681FD",
+ "script": "TrainerHill_Entrance_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TrainerHill_Entrance_EventScript_2681EF",
+ "script": "TrainerHill_Entrance_EventScript_Nurse",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TrainerHill_Entrance_EventScript_2683C7",
+ "script": "TrainerHill_Entrance_EventScript_Clerk",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TrainerHill_Entrance_EventScript_2683AC",
+ "script": "TrainerHill_Entrance_EventScript_Girl",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TrainerHill_Entrance_EventScript_268391",
+ "script": "TrainerHill_Entrance_EventScript_Man",
"flag": "0"
}
],
@@ -111,7 +111,7 @@
"elevation": 3,
"var": "VAR_TRAINER_HILL_IS_ACTIVE",
"var_value": "0",
- "script": "TrainerHill_Entrance_EventScript_268229"
+ "script": "TrainerHill_Entrance_EventScript_EntryTrigger"
}
],
"bg_events": [
@@ -121,7 +121,7 @@
"y": 10,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH",
- "script": "TrainerHill_Entrance_EventScript_268388"
+ "script": "TrainerHill_Entrance_EventScript_Records"
}
]
} \ No newline at end of file
diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc
index 5be00aa9d..cde7aae2f 100644
--- a/data/maps/TrainerHill_Entrance/scripts.inc
+++ b/data/maps/TrainerHill_Entrance/scripts.inc
@@ -1,9 +1,9 @@
TrainerHill_Entrance_MapScripts:: @ 82680AC
- map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_MapScript1_2680D0
- map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_MapScript1_26811B
+ map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_OnResume
+ map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_OnReturn
map_script MAP_SCRIPT_ON_TRANSITION, TrainerHill_Entrance_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_MapScript1_268128
- map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_MapScript2_26813E
+ map_script MAP_SCRIPT_ON_LOAD, TrainerHill_Entrance_OnLoad
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Entrance_OnFrame
.byte 0
TrainerHill_Entrance_OnTransition: @ 82680C6
@@ -11,58 +11,56 @@ TrainerHill_Entrance_OnTransition: @ 82680C6
getplayerxy VAR_TEMP_D, VAR_RESULT
end
-TrainerHill_Entrance_MapScript1_2680CF: @ 82680CF
+@ Unused
+TrainerHill_Entrance_OnWarp: @ 82680CF
end
-TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0
- setvar VAR_0x8004, TRAINER_HILL_FUNC_RESUME_TIMER
- special CallTrainerHillFunction
+TrainerHill_Entrance_OnResume: @ 82680D0
+ trainerhill_resumetimer
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, TRAINER_HILL_FUNC_9
- special CallTrainerHillFunction
- compare VAR_RESULT, 0
- goto_if_eq TrainerHill_Entrance_EventScript_2680FF
+ trainerhill_clearresult
+ compare VAR_RESULT, 0 @ VAR_RESULT always 0 here
+ goto_if_eq TrainerHill_Entrance_EventScript_TryFaceAttendant
setobjectxy EVENT_OBJ_ID_PLAYER, 9, 6
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
end
-TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF
- setvar VAR_0x8004, TRAINER_HILL_FUNC_16
- special CallTrainerHillFunction
- compare VAR_RESULT, 1
- goto_if_eq TrainerHill_Entrance_EventScript_26811A
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
+TrainerHill_Entrance_EventScript_TryFaceAttendant:: @ 82680FF
+ trainerhill_getwon
+ compare VAR_RESULT, TRUE
+ goto_if_eq TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
end
-TrainerHill_Entrance_EventScript_26811A:: @ 826811A
+TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant:: @ 826811A
end
-TrainerHill_Entrance_MapScript1_26811B: @ 826811B
+TrainerHill_Entrance_OnReturn: @ 826811B
addobject 2
addobject 1
addobject 5
addobject 4
end
-TrainerHill_Entrance_MapScript1_268128: @ 8268128
+TrainerHill_Entrance_OnLoad: @ 8268128
compare VAR_TEMP_D, 17
- call_if_eq TrainerHill_Entrance_EventScript_268134
+ call_if_eq TrainerHill_Entrance_EventScript_OpenCounterDoor
end
-TrainerHill_Entrance_EventScript_268134:: @ 8268134
+TrainerHill_Entrance_EventScript_OpenCounterDoor:: @ 8268134
setmetatile 17, 10, METATILE_TrainerHill_GreenFloorTile, 0
return
-TrainerHill_Entrance_MapScript2_26813E: @ 826813E
- map_script_2 VAR_TEMP_0, 0, TrainerHill_Entrance_EventScript_268182
- map_script_2 VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_268160
- map_script_2 VAR_TEMP_5, 1, TrainerHill_Entrance_EventScript_268229
- map_script_2 VAR_TEMP_1, 1, TrainerHill_Entrance_EventScript_2C83DF
+TrainerHill_Entrance_OnFrame: @ 826813E
+ map_script_2 VAR_TEMP_0, 0, TrainerHill_Entrance_EventScript_ExitChallenge
+ map_script_2 VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_ExitElevator
+ map_script_2 VAR_TEMP_5, 1, TrainerHill_Entrance_EventScript_EntryTrigger
+ map_script_2 VAR_TEMP_1, 1, TrainerHill_EventScript_WarpToEntranceCounter
.2byte 0
-TrainerHill_Entrance_EventScript_268160:: @ 8268160
+TrainerHill_Entrance_EventScript_ExitElevator:: @ 8268160
lockall
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268385
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerExitElevator
waitmovement 0
setmetatile 17, 10, METATILE_TrainerHill_CounterDoor, 1
special DrawWholeMapView
@@ -72,205 +70,192 @@ TrainerHill_Entrance_EventScript_268160:: @ 8268160
releaseall
end
-TrainerHill_Entrance_EventScript_268182:: @ 8268182
+TrainerHill_Entrance_EventScript_ExitChallenge:: @ 8268182
setvar VAR_TEMP_0, 1
- setvar VAR_0x8004, TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS
- special CallTrainerHillFunction
+ trainerhill_getstatus
switch VAR_RESULT
- case TRAINER_HILL_PLAYER_STATUS_LOST, TrainerHill_Entrance_EventScript_2681B5
- case TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED, TrainerHill_Entrance_EventScript_2681CA
- case TRAINER_HILL_PLAYER_STATUS_NORMAL, TrainerHill_Entrance_EventScript_2681EE
+ case TRAINER_HILL_PLAYER_STATUS_LOST, TrainerHill_Entrance_EventScript_ExitChallengeLost
+ case TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED, TrainerHill_Entrance_EventScript_ExitChallengeECard
+ case TRAINER_HILL_PLAYER_STATUS_NORMAL, TrainerHill_Entrance_EventScript_EndExitChallenge
-TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5
+TrainerHill_Entrance_EventScript_ExitChallengeLost:: @ 82681B5
lockall
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
- msgbox TrainerHill_Entrance_Text_268689, MSGBOX_DEFAULT
- goto TrainerHill_Entrance_EventScript_2681DA
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
+ msgbox TrainerHill_Entrance_Text_TooBadTremendousEffort, MSGBOX_DEFAULT
+ goto TrainerHill_Entrance_EventScript_PlayerExitChallenge
-TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA
+TrainerHill_Entrance_EventScript_ExitChallengeECard:: @ 82681CA
lockall
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
- msgbox TrainerHill_Entrance_Text_268712, MSGBOX_DEFAULT
-
-TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
+ msgbox TrainerHill_Entrance_Text_MovedReceptionHereForSwitch, MSGBOX_DEFAULT
+TrainerHill_Entrance_EventScript_PlayerExitChallenge:: @ 82681DA
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
waitmovement 0
setvar VAR_TRAINER_HILL_IS_ACTIVE, 0
special HealPlayerParty
releaseall
-
-TrainerHill_Entrance_EventScript_2681EE:: @ 82681EE
+TrainerHill_Entrance_EventScript_EndExitChallenge:: @ 82681EE
end
-TrainerHill_Entrance_EventScript_2681EF:: @ 82681EF
+TrainerHill_Entrance_EventScript_Nurse:: @ 82681EF
setvar VAR_0x800B, 2
- call TrainerHill_Entrance_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD
+TrainerHill_Entrance_EventScript_Attendant:: @ 82681FD
lock
faceplayer
- setvar VAR_0x8004, TRAINER_HILL_FUNC_10
- special CallTrainerHillFunction
- compare VAR_RESULT, 0
- goto_if_eq TrainerHill_Entrance_EventScript_26821F
- msgbox TrainerHill_Entrance_Text_2686F4, MSGBOX_DEFAULT
- goto TrainerHill_Entrance_EventScript_268227
-
-TrainerHill_Entrance_EventScript_26821F:: @ 826821F
- msgbox TrainerHill_Entrance_Text_2687AC, MSGBOX_DEFAULT
-
-TrainerHill_Entrance_EventScript_268227:: @ 8268227
+ trainerhill_inchallenge
+ compare VAR_RESULT, FALSE
+ goto_if_eq TrainerHill_Entrance_EventScript_ThanksForPlaying
+ msgbox TrainerHill_Entrance_Text_HopeYouGiveItYourBest, MSGBOX_DEFAULT
+ goto TrainerHill_Entrance_EventScript_AttendantEnd
+
+TrainerHill_Entrance_EventScript_ThanksForPlaying:: @ 826821F
+ msgbox TrainerHill_Entrance_Text_ThankYouForPlaying, MSGBOX_DEFAULT
+TrainerHill_Entrance_EventScript_AttendantEnd:: @ 8268227
release
end
-TrainerHill_Entrance_EventScript_268229:: @ 8268229
+TrainerHill_Entrance_EventScript_EntryTrigger:: @ 8268229
lockall
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
- goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_26836A
- msgbox TrainerHill_Entrance_Text_2684C6, MSGBOX_DEFAULT
- setvar VAR_0x8004, TRAINER_HILL_FUNC_13
- special CallTrainerHillFunction
- compare VAR_RESULT, 0
- call_if_eq TrainerHill_Entrance_EventScript_26832E
- setvar VAR_0x8004, TRAINER_HILL_FUNC_8
- special CallTrainerHillFunction
- compare VAR_RESULT, 1
- goto_if_eq TrainerHill_Entrance_EventScript_268275
- msgbox TrainerHill_Entrance_Text_268564, MSGBOX_DEFAULT
- goto TrainerHill_Entrance_EventScript_26827D
-
-TrainerHill_Entrance_EventScript_268275:: @ 8268275
- msgbox TrainerHill_Entrance_Text_26859E, MSGBOX_DEFAULT
-
-TrainerHill_Entrance_EventScript_26827D:: @ 826827D
- message TrainerHill_Entrance_Text_2685F8
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
+ goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_Closed
+ msgbox TrainerHill_Entrance_Text_WelcomeToTrainerHill, MSGBOX_DEFAULT
+ trainerhill_getsaved
+ compare VAR_RESULT, FALSE
+ call_if_eq TrainerHill_Entrance_EventScript_SaveGame
+ trainerhill_allfloorsused
+ compare VAR_RESULT, TRUE
+ goto_if_eq TrainerHill_Entrance_EventScript_AllFloorsUsed
+ msgbox TrainerHill_Entrance_Text_TrainersUpToFloorX, MSGBOX_DEFAULT
+ goto TrainerHill_Entrance_EventScript_AskChallengeTrainers
+
+TrainerHill_Entrance_EventScript_AllFloorsUsed:: @ 8268275
+ msgbox TrainerHill_Entrance_Text_TrainersInEveryRoom, MSGBOX_DEFAULT
+TrainerHill_Entrance_EventScript_AskChallengeTrainers:: @ 826827D
+ message TrainerHill_Entrance_Text_LikeToChallengeTrainers
waitmessage
- multichoice 15, 6, 17, 0
+ multichoice 15, 6, MULTI_YESNOINFO, 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
+ case 0, TrainerHill_Entrance_EventScript_ChooseChallenge
+ case 1, TrainerHill_Entrance_EventScript_CancelEntry
+ case 2, TrainerHill_Entrance_EventScript_Info
+ case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry
end
-TrainerHill_Entrance_EventScript_2682BA:: @ 82682BA
- msgbox TrainerHill_Entrance_Text_2687C3, MSGBOX_DEFAULT
- goto TrainerHill_Entrance_EventScript_26827D
+TrainerHill_Entrance_EventScript_Info:: @ 82682BA
+ msgbox TrainerHill_Entrance_Text_ExplainTrainerHill, MSGBOX_DEFAULT
+ goto TrainerHill_Entrance_EventScript_AskChallengeTrainers
end
-TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8
- multichoice 13, 2, 113, 0
+TrainerHill_Entrance_EventScript_ChooseChallenge:: @ 82682C8
+ multichoice 13, 2, MULTI_TAG_MATCH_TYPE, 0
switch VAR_RESULT
- case 4, TrainerHill_Entrance_EventScript_268314
- case 127, TrainerHill_Entrance_EventScript_268314
- setvar VAR_0x8004, TRAINER_HILL_FUNC_SET_TAG
- copyvar VAR_0x8005, VAR_RESULT
- special CallTrainerHillFunction
+ case 4, TrainerHill_Entrance_EventScript_CancelEntry
+ case MULTI_B_PRESSED, TrainerHill_Entrance_EventScript_CancelEntry
+ trainerhill_settag VAR_RESULT
setvar VAR_TRAINER_HILL_IS_ACTIVE, 1
setvar VAR_TEMP_5, 0
special HealPlayerParty
- msgbox TrainerHill_Entrance_Text_26862A, MSGBOX_DEFAULT
- setvar VAR_0x8004, TRAINER_HILL_FUNC_START
- special CallTrainerHillFunction
+ msgbox TrainerHill_Entrance_Text_TimeProgessGetSetGo, MSGBOX_DEFAULT
+ trainerhill_start
releaseall
end
-TrainerHill_Entrance_EventScript_268314:: @ 8268314
+TrainerHill_Entrance_EventScript_CancelEntry:: @ 8268314
setvar VAR_TEMP_5, 0
- msgbox TrainerHill_Entrance_Text_26866F, MSGBOX_DEFAULT
+ msgbox TrainerHill_Entrance_Text_PleaseVisitUsAgain, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
-TrainerHill_Entrance_EventScript_26832E:: @ 826832E
- msgbox TrainerHill_Entrance_Text_26851C, MSGBOX_DEFAULT
- setvar VAR_0x8004, TRAINER_HILL_FUNC_14
- special CallTrainerHillFunction
+TrainerHill_Entrance_EventScript_SaveGame:: @ 826832E
+ msgbox TrainerHill_Entrance_Text_SaveGameBeforeEnter, MSGBOX_DEFAULT
+ trainerhill_setsaved
setvar VAR_TEMP_5, 1
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq TrainerHill_Entrance_EventScript_26835C
- setvar VAR_0x8004, TRAINER_HILL_FUNC_14
- special CallTrainerHillFunction
+ compare VAR_RESULT, FALSE
+ goto_if_eq TrainerHill_Entrance_EventScript_SaveFailed
+ trainerhill_setsaved
return
-TrainerHill_Entrance_EventScript_26835C:: @ 826835C
- setvar VAR_0x8004, TRAINER_HILL_FUNC_15
- special CallTrainerHillFunction
- goto TrainerHill_Entrance_EventScript_268314
+TrainerHill_Entrance_EventScript_SaveFailed:: @ 826835C
+ trainerhill_clearsaved
+ goto TrainerHill_Entrance_EventScript_CancelEntry
end
-TrainerHill_Entrance_EventScript_26836A:: @ 826836A
- msgbox TrainerHill_Entrance_Text_268430, MSGBOX_DEFAULT
+TrainerHill_Entrance_EventScript_Closed:: @ 826836A
+ msgbox TrainerHill_Entrance_Text_StillGettingReady, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter
waitmovement 0
releaseall
end
-TrainerHill_Entrance_Movement_26837F: @ 826837F
+TrainerHill_Entrance_Movement_PlayerFaceAttendant: @ 826837F
face_right
step_end
-TrainerHill_Entrance_Movement_268381: @ 8268381
+TrainerHill_Entrance_Movement_PushPlayerBackFromCounter: @ 8268381
walk_down
step_end
-TrainerHill_Entrance_Movement_268383: @ 8268383
+@ Unused
+TrainerHill_Entrance_Movement_FaceUp: @ 8268383
face_up
step_end
-TrainerHill_Entrance_Movement_268385: @ 8268385
+TrainerHill_Entrance_Movement_PlayerExitElevator: @ 8268385
walk_down
walk_down
step_end
-TrainerHill_Entrance_EventScript_268388:: @ 8268388
+TrainerHill_Entrance_EventScript_Records:: @ 8268388
lockall
- fadescreen 1
+ fadescreen FADE_TO_BLACK
special ShowTrainerHillRecords
waitstate
releaseall
end
-TrainerHill_Entrance_EventScript_268391:: @ 8268391
- goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683A3
- msgbox TrainerHill_Entrance_Text_268D5A, MSGBOX_NPC
+TrainerHill_Entrance_EventScript_Man:: @ 8268391
+ goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ManTrainerHillClosed
+ msgbox TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead, MSGBOX_NPC
end
-TrainerHill_Entrance_EventScript_2683A3:: @ 82683A3
- msgbox TrainerHill_Entrance_Text_268DDA, MSGBOX_NPC
+TrainerHill_Entrance_EventScript_ManTrainerHillClosed:: @ 82683A3
+ msgbox TrainerHill_Entrance_Text_CantWaitToTestTheWaters, MSGBOX_NPC
end
-TrainerHill_Entrance_EventScript_2683AC:: @ 82683AC
- goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683BE
- msgbox TrainerHill_Entrance_Text_268E6A, MSGBOX_NPC
+TrainerHill_Entrance_EventScript_Girl:: @ 82683AC
+ goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_GirlTrainerHillClosed
+ msgbox TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop, MSGBOX_NPC
end
-TrainerHill_Entrance_EventScript_2683BE:: @ 82683BE
- msgbox TrainerHill_Entrance_Text_268EDC, MSGBOX_NPC
+TrainerHill_Entrance_EventScript_GirlTrainerHillClosed:: @ 82683BE
+ msgbox TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen, MSGBOX_NPC
end
-TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7
+TrainerHill_Entrance_EventScript_Clerk:: @ 82683C7
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_268402
- pokemart TrainerHill_Entrance_Pokemart_2683E8
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_ExpandedPokemart
+ pokemart TrainerHill_Entrance_Pokemart_Basic
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-TrainerHill_Entrance_Pokemart_2683E8: @ 82683E8
+TrainerHill_Entrance_Pokemart_Basic: @ 82683E8
.2byte ITEM_SUPER_POTION
.2byte ITEM_ANTIDOTE
.2byte ITEM_PARALYZE_HEAL
@@ -286,14 +271,14 @@ TrainerHill_Entrance_Pokemart_2683E8: @ 82683E8
release
end
-TrainerHill_Entrance_EventScript_268402:: @ 8268402
- pokemart TrainerHill_Entrance_Pokemart_268414
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+TrainerHill_Entrance_EventScript_ExpandedPokemart:: @ 8268402
+ pokemart TrainerHill_Entrance_Pokemart_Expanded
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-TrainerHill_Entrance_Pokemart_268414: @ 8268414
+TrainerHill_Entrance_Pokemart_Expanded: @ 8268414
.2byte ITEM_HYPER_POTION
.2byte ITEM_MAX_POTION
.2byte ITEM_FULL_RESTORE
@@ -310,69 +295,69 @@ TrainerHill_Entrance_Pokemart_268414: @ 8268414
release
end
-TrainerHill_Entrance_Text_268430: @ 8268430
+TrainerHill_Entrance_Text_StillGettingReady: @ 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
+TrainerHill_Entrance_Text_WelcomeToTrainerHill: @ 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
+TrainerHill_Entrance_Text_SaveGameBeforeEnter: @ 826851C
.string "Is this your first visit here?\p"
.string "Before you enter, please save\n"
.string "your game.$"
-TrainerHill_Entrance_Text_268564: @ 8268564
+TrainerHill_Entrance_Text_TrainersUpToFloorX: @ 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
+TrainerHill_Entrance_Text_TrainersInEveryRoom: @ 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
+TrainerHill_Entrance_Text_LikeToChallengeTrainers: @ 82685F8
.string "Would you like to challenge the\n"
.string "waiting TRAINERS?$"
-TrainerHill_Entrance_Text_26862A: @ 826862A
+TrainerHill_Entrance_Text_TimeProgessGetSetGo: @ 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
+TrainerHill_Entrance_Text_PleaseVisitUsAgain: @ 826866F
.string "Please do visit us again!$"
-TrainerHill_Entrance_Text_268689: @ 8268689
+TrainerHill_Entrance_Text_TooBadTremendousEffort: @ 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
+TrainerHill_Entrance_Text_HopeYouGiveItYourBest: @ 82686F4
.string "I hope you give it your best.$"
-TrainerHill_Entrance_Text_268712: @ 8268712
+TrainerHill_Entrance_Text_MovedReceptionHereForSwitch: @ 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
+TrainerHill_Entrance_Text_ThankYouForPlaying: @ 82687AC
.string "Thank you for playing!$"
-TrainerHill_Entrance_Text_2687C3: @ 82687C3
+TrainerHill_Entrance_Text_ExplainTrainerHill: @ 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"
@@ -385,13 +370,14 @@ TrainerHill_Entrance_Text_2687C3: @ 82687C3
.string "neither Exp. Points nor money will\l"
.string "be awarded.$"
-TrainerHill_Entrance_Text_26890D: @ 826890D
+@ Unused
+TrainerHill_Entrance_Text_NeedAtLeastTwoPokemon: @ 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
+TrainerHill_Roof_Text_YouFinallyCameBravo: @ 8268986
.string "Hm! Hm!\p"
.string "You finally came!\n"
.string "Yes, you have arrived!\p"
@@ -407,15 +393,15 @@ TrainerHill_Roof_Text_268986: @ 8268986
.string "Anyway, I watched you on your way up.\n"
.string "Marvelous battling! Bravo, indeed!$"
-TrainerHill_Roof_Text_268AC5: @ 8268AC5
+TrainerHill_Roof_Text_HaveTheMostMarvelousGift: @ 8268AC5
.string "For a marvelous someone like you,\n"
.string "I have the most marvelous gift!$"
-TrainerHill_Roof_Text_268B07: @ 8268B07
+TrainerHill_Roof_Text_FullUpBeBackLaterForThis: @ 8268B07
.string "Oh, no, full up with things!\n"
.string "You'll be back later for this!$"
-TrainerHill_Roof_Text_268B43: @ 8268B43
+TrainerHill_Roof_Text_GotHereMarvelouslyQuickly: @ 8268B43
.string "Oh, hold on here! Did you possibly get\n"
.string "here marvelously quickly?\p"
.string "How splendid! You needn't have\n"
@@ -423,50 +409,51 @@ TrainerHill_Roof_Text_268B43: @ 8268B43
.string "That is so delightful. I'll have the Time\n"
.string "Board at the reception updated!$"
-TrainerHill_Roof_Text_268C03: @ 8268C03
+TrainerHill_Roof_Text_YouWerentVeryQuick: @ 8268C03
.string "But, oh…\n"
.string "You weren't very quick getting here.$"
-TrainerHill_Roof_Text_268C31: @ 8268C31
+TrainerHill_Roof_Text_ArriveZippierNextTime: @ 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
+@ Unused
+TrainerHill_Roof_Text_BuiltTrainerHillToFindPartner: @ 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
+TrainerHill_Entrance_Text_ChallengeTime: @ 8268D47
.string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$"
-TrainerHill_Entrance_Text_268D5A: @ 8268D5A
+TrainerHill_Entrance_Text_WhatSortOfTrainersAreAhead: @ 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
+TrainerHill_Entrance_Text_CantWaitToTestTheWaters: @ 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
+TrainerHill_Entrance_Text_FriendsTryingToReachTimeBoardTop: @ 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
+TrainerHill_Entrance_Text_DoYouKnowWhenTheyOpen: @ 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
+TrainerHill_Elevator_Text_ReturnToReception: @ 8268F3E
.string "Would you like to return to\n"
.string "the reception counter?$"
diff --git a/data/maps/TrainerHill_Roof/map.json b/data/maps/TrainerHill_Roof/map.json
index 8a623028e..280494788 100644
--- a/data/maps/TrainerHill_Roof/map.json
+++ b/data/maps/TrainerHill_Roof/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "TrainerHill_Roof_EventScript_268FB2",
+ "script": "TrainerHill_Roof_EventScript_Owner",
"flag": "0"
}
],
diff --git a/data/maps/TrainerHill_Roof/scripts.inc b/data/maps/TrainerHill_Roof/scripts.inc
index bf467e100..e4e2cbb49 100644
--- a/data/maps/TrainerHill_Roof/scripts.inc
+++ b/data/maps/TrainerHill_Roof/scripts.inc
@@ -1,70 +1,62 @@
TrainerHill_Roof_MapScripts:: @ 8268FA7
- map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Roof_MapScript1_2C8336
- map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Roof_MapScript2_2C8381
+ map_script MAP_SCRIPT_ON_RESUME, TrainerHill_OnResume
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_OnFrame
.byte 0
-TrainerHill_Roof_EventScript_268FB2:: @ 8268FB2
- setvar VAR_0x8004, TRAINER_HILL_FUNC_12
- special CallTrainerHillFunction
+TrainerHill_Roof_EventScript_Owner:: @ 8268FB2
+ trainerhill_settrainerflags
lock
faceplayer
- setvar VAR_0x8004, TRAINER_HILL_FUNC_1
- special CallTrainerHillFunction
+ trainerhill_getownerstate
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, MSGBOX_DEFAULT
-
-TrainerHill_Roof_EventScript_268FF2:: @ 8268FF2
- setvar VAR_0x8004, TRAINER_HILL_FUNC_2
- special CallTrainerHillFunction
+ case 0, TrainerHill_Roof_EventScript_Arrived
+ case 1, TrainerHill_Roof_EventScript_GivePrize
+ case 2, TrainerHill_Roof_EventScript_AlreadyReceivedPrize
+TrainerHill_Roof_EventScript_Arrived:: @ 8268FEA
+ msgbox TrainerHill_Roof_Text_YouFinallyCameBravo, MSGBOX_DEFAULT
+TrainerHill_Roof_EventScript_GivePrize:: @ 8268FF2
+ trainerhill_giveprize
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, MSGBOX_DEFAULT
+ case 0, TrainerHill_Roof_EventScript_ReceivePrize
+ case 1, TrainerHill_Roof_EventScript_NoRoomForPrize
+ case 2, TrainerHill_Roof_EventScript_CheckFinalTime
+TrainerHill_Roof_EventScript_ReceivePrize:: @ 8269020
+ msgbox TrainerHill_Roof_Text_HaveTheMostMarvelousGift, MSGBOX_DEFAULT
playfanfare MUS_FANFA1
- message gUnknown_08272A78
+ message gText_ObtainedTheItem
waitfanfare
waitmessage
- goto TrainerHill_Roof_EventScript_269054
+ goto TrainerHill_Roof_EventScript_CheckFinalTime
-TrainerHill_Roof_EventScript_269037:: @ 8269037
- msgbox TrainerHill_Roof_Text_268AC5, MSGBOX_DEFAULT
- msgbox gUnknown_08272A89, MSGBOX_DEFAULT
- msgbox TrainerHill_Roof_Text_268B07, MSGBOX_DEFAULT
- goto TrainerHill_Roof_EventScript_269054
+TrainerHill_Roof_EventScript_NoRoomForPrize:: @ 8269037
+ msgbox TrainerHill_Roof_Text_HaveTheMostMarvelousGift, MSGBOX_DEFAULT
+ msgbox gText_TheBagIsFull, MSGBOX_DEFAULT
+ msgbox TrainerHill_Roof_Text_FullUpBeBackLaterForThis, MSGBOX_DEFAULT
+ goto TrainerHill_Roof_EventScript_CheckFinalTime
-TrainerHill_Roof_EventScript_269054:: @ 8269054
- setvar VAR_0x8004, TRAINER_HILL_FUNC_3
- special CallTrainerHillFunction
+TrainerHill_Roof_EventScript_CheckFinalTime:: @ 8269054
+ trainerhill_finaltime
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, MSGBOX_DEFAULT
- goto TrainerHill_Roof_EventScript_26909E
+ case 0, TrainerHill_Roof_EventScript_NewRecord
+ case 1, TrainerHill_Roof_EventScript_NoNewRecord
+ case 2, TrainerHill_Roof_EventScript_EndSpeakToOwner
+TrainerHill_Roof_EventScript_NewRecord:: @ 8269082
+ msgbox TrainerHill_Roof_Text_GotHereMarvelouslyQuickly, MSGBOX_DEFAULT
+ goto TrainerHill_Roof_EventScript_EndSpeakToOwner
end
-TrainerHill_Roof_EventScript_269090:: @ 8269090
- msgbox TrainerHill_Roof_Text_268C03, MSGBOX_DEFAULT
- goto TrainerHill_Roof_EventScript_26909E
+TrainerHill_Roof_EventScript_NoNewRecord:: @ 8269090
+ msgbox TrainerHill_Roof_Text_YouWerentVeryQuick, MSGBOX_DEFAULT
+ goto TrainerHill_Roof_EventScript_EndSpeakToOwner
end
-TrainerHill_Roof_EventScript_26909E:: @ 826909E
- msgbox TrainerHill_Roof_Text_268C31, MSGBOX_DEFAULT
+TrainerHill_Roof_EventScript_EndSpeakToOwner:: @ 826909E
+ msgbox TrainerHill_Roof_Text_ArriveZippierNextTime, MSGBOX_DEFAULT
release
end
-TrainerHill_Roof_EventScript_2690A8:: @ 82690A8
- msgbox TrainerHill_Roof_Text_268C31, MSGBOX_DEFAULT
+TrainerHill_Roof_EventScript_AlreadyReceivedPrize:: @ 82690A8
+ msgbox TrainerHill_Roof_Text_ArriveZippierNextTime, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Underwater1/map.json b/data/maps/Underwater1/map.json
index 7fd45b45f..d7a111ad7 100644
--- a/data/maps/Underwater1/map.json
+++ b/data/maps/Underwater1/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_124",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater2/map.json b/data/maps/Underwater2/map.json
index 7977faa4f..e8a9778ec 100644
--- a/data/maps/Underwater2/map.json
+++ b/data/maps/Underwater2/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_125",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater3/map.json b/data/maps/Underwater3/map.json
index ea87b5235..7e007534c 100644
--- a/data/maps/Underwater3/map.json
+++ b/data/maps/Underwater3/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_126",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater3/scripts.inc b/data/maps/Underwater3/scripts.inc
index 53b80053f..e75acd635 100644
--- a/data/maps/Underwater3/scripts.inc
+++ b/data/maps/Underwater3/scripts.inc
@@ -1,8 +1,8 @@
Underwater3_MapScripts:: @ 81F7724
- map_script MAP_SCRIPT_ON_RESUME, Underwater3_MapScript1_1F772A
+ map_script MAP_SCRIPT_ON_RESUME, Underwater3_OnResume
.byte 0
-Underwater3_MapScript1_1F772A: @ 81F772A
- call UnusualWeather_Underwater_SetupEscapeWarp
+Underwater3_OnResume: @ 81F772A
+ call AbnormalWeather_Underwater_SetupEscapeWarp
end
diff --git a/data/maps/Underwater4/map.json b/data/maps/Underwater4/map.json
index 9226717c3..2fbc47a17 100644
--- a/data/maps/Underwater4/map.json
+++ b/data/maps/Underwater4/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_127",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater5/map.json b/data/maps/Underwater5/map.json
index abd13a187..01f1b531a 100644
--- a/data/maps/Underwater5/map.json
+++ b/data/maps/Underwater5/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_129",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater5/scripts.inc b/data/maps/Underwater5/scripts.inc
index fe068207e..235d25aba 100644
--- a/data/maps/Underwater5/scripts.inc
+++ b/data/maps/Underwater5/scripts.inc
@@ -1,8 +1,8 @@
Underwater5_MapScripts:: @ 81F7731
- map_script MAP_SCRIPT_ON_RESUME, Underwater5_MapScript1_1F7737
+ map_script MAP_SCRIPT_ON_RESUME, Underwater5_OnResume
.byte 0
-Underwater5_MapScript1_1F7737: @ 81F7737
- call UnusualWeather_Underwater_SetupEscapeWarp
+Underwater5_OnResume: @ 81F7737
+ call AbnormalWeather_Underwater_SetupEscapeWarp
end
diff --git a/data/maps/Underwater6/map.json b/data/maps/Underwater6/map.json
index 9b19a1fe7..75be81192 100644
--- a/data/maps/Underwater6/map.json
+++ b/data/maps/Underwater6/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_TERRA_CAVE",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater6/scripts.inc b/data/maps/Underwater6/scripts.inc
index d5a11c1bf..21b639cd8 100644
--- a/data/maps/Underwater6/scripts.inc
+++ b/data/maps/Underwater6/scripts.inc
@@ -1,8 +1,8 @@
Underwater6_MapScripts:: @ 81F773D
- map_script MAP_SCRIPT_ON_RESUME, Underwater6_MapScript1_1F7743
+ map_script MAP_SCRIPT_ON_RESUME, Underwater6_OnResume
.byte 0
-Underwater6_MapScript1_1F7743: @ 81F7743
- call UnusualWeather_Underwater_SetupEscapeWarp
+Underwater6_OnResume: @ 81F7743
+ call AbnormalWeather_Underwater_SetupEscapeWarp
end
diff --git a/data/maps/Underwater7/map.json b/data/maps/Underwater7/map.json
index afabfeeec..cd8dc4fde 100644
--- a/data/maps/Underwater7/map.json
+++ b/data/maps/Underwater7/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_UNK1",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater7/scripts.inc b/data/maps/Underwater7/scripts.inc
index c3bee154e..4215dced9 100644
--- a/data/maps/Underwater7/scripts.inc
+++ b/data/maps/Underwater7/scripts.inc
@@ -1,8 +1,8 @@
Underwater7_MapScripts:: @ 81F7749
- map_script MAP_SCRIPT_ON_RESUME, Underwater7_MapScript1_1F774F
+ map_script MAP_SCRIPT_ON_RESUME, Underwater7_OnResume
.byte 0
-Underwater7_MapScript1_1F774F: @ 81F774F
- call UnusualWeather_Underwater_SetupEscapeWarp
+Underwater7_OnResume: @ 81F774F
+ call AbnormalWeather_Underwater_SetupEscapeWarp
end
diff --git a/data/maps/Underwater_MarineCave/map.json b/data/maps/Underwater_MarineCave/map.json
index c969239c5..6b491e98c 100644
--- a/data/maps/Underwater_MarineCave/map.json
+++ b/data/maps/Underwater_MarineCave/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DAN01",
"region_map_section": "MAPSEC_UNDERWATER_MARINE_CAVE",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater_MarineCave/scripts.inc b/data/maps/Underwater_MarineCave/scripts.inc
index 248854dd7..b1cc353f0 100644
--- a/data/maps/Underwater_MarineCave/scripts.inc
+++ b/data/maps/Underwater_MarineCave/scripts.inc
@@ -1,5 +1,5 @@
Underwater_MarineCave_MapScripts:: @ 823AFB8
- map_script MAP_SCRIPT_ON_RESUME, Underwater_MarineCave_MapScript1_OnResume
+ map_script MAP_SCRIPT_ON_RESUME, Underwater_MarineCave_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Underwater_MarineCave_OnTransition
.byte 0
@@ -7,7 +7,7 @@ Underwater_MarineCave_OnTransition: @ 823AFC3
setflag FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT
end
-Underwater_MarineCave_MapScript1_OnResume: @ 823AFC7
+Underwater_MarineCave_OnResume: @ 823AFC7
setdivewarp MAP_MARINE_CAVE_ENTRANCE, 255, 10, 17
end
diff --git a/data/maps/Underwater_Route134/map.json b/data/maps/Underwater_Route134/map.json
index f94f110e1..208dffaae 100644
--- a/data/maps/Underwater_Route134/map.json
+++ b/data/maps/Underwater_Route134/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater_Route134/scripts.inc b/data/maps/Underwater_Route134/scripts.inc
index acffa23a2..ef62997de 100644
--- a/data/maps/Underwater_Route134/scripts.inc
+++ b/data/maps/Underwater_Route134/scripts.inc
@@ -1,8 +1,8 @@
Underwater_Route134_MapScripts:: @ 82390B5
- map_script MAP_SCRIPT_ON_RESUME, Underwater_Route134_MapScript1_2390BB
+ map_script MAP_SCRIPT_ON_RESUME, Underwater_Route134_OnResume
.byte 0
-Underwater_Route134_MapScript1_2390BB: @ 82390BB
+Underwater_Route134_OnResume: @ 82390BB
setdivewarp MAP_ROUTE134, 255, 60, 31
end
diff --git a/data/maps/Underwater_SeafloorCavern/map.json b/data/maps/Underwater_SeafloorCavern/map.json
index eedec4500..34bd71325 100644
--- a/data/maps/Underwater_SeafloorCavern/map.json
+++ b/data/maps/Underwater_SeafloorCavern/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_128",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc
index ca94964cf..118632461 100644
--- a/data/maps/Underwater_SeafloorCavern/scripts.inc
+++ b/data/maps/Underwater_SeafloorCavern/scripts.inc
@@ -1,23 +1,23 @@
Underwater_SeafloorCavern_MapScripts:: @ 823433B
- map_script MAP_SCRIPT_ON_RESUME, Underwater_SeafloorCavern_MapScript1_2343D3
+ map_script MAP_SCRIPT_ON_RESUME, Underwater_SeafloorCavern_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, Underwater_SeafloorCavern_OnTransition
- map_script MAP_SCRIPT_ON_LOAD, Underwater_SeafloorCavern_MapScript1_23435C
+ map_script MAP_SCRIPT_ON_LOAD, Underwater_SeafloorCavern_OnLoad
.byte 0
Underwater_SeafloorCavern_OnTransition: @ 823434B
setflag FLAG_LANDMARK_SEAFLOOR_CAVERN
- goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234358
+ goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_HideSubmarine
end
-Underwater_SeafloorCavern_EventScript_234358:: @ 8234358
+Underwater_SeafloorCavern_EventScript_HideSubmarine:: @ 8234358
setflag FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE
end
-Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C
- call_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_234366
+Underwater_SeafloorCavern_OnLoad: @ 823435C
+ call_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, Underwater_SeafloorCavern_EventScript_SetSubmarineGoneMetatiles
end
-Underwater_SeafloorCavern_EventScript_234366:: @ 8234366
+Underwater_SeafloorCavern_EventScript_SetSubmarineGoneMetatiles:: @ 8234366
setmetatile 5, 3, METATILE_Underwater_RockWall, 1
setmetatile 6, 3, METATILE_Underwater_RockWall, 1
setmetatile 7, 3, METATILE_Underwater_RockWall, 1
@@ -32,7 +32,7 @@ Underwater_SeafloorCavern_EventScript_234366:: @ 8234366
setmetatile 8, 5, METATILE_Underwater_FloorShadow, 0
return
-Underwater_SeafloorCavern_MapScript1_2343D3: @ 82343D3
+Underwater_SeafloorCavern_OnResume: @ 82343D3
setdivewarp MAP_SEAFLOOR_CAVERN_ENTRANCE, 255, 10, 17
end
diff --git a/data/maps/Underwater_SealedChamber/map.json b/data/maps/Underwater_SealedChamber/map.json
index 2256ee670..e71a7bc5c 100644
--- a/data/maps/Underwater_SealedChamber/map.json
+++ b/data/maps/Underwater_SealedChamber/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
@@ -31,7 +31,7 @@
"y": 43,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "Underwater_SealedChamber_EventScript_2390FC"
+ "script": "Underwater_SealedChamber_EventScript_Braille"
}
]
} \ No newline at end of file
diff --git a/data/maps/Underwater_SealedChamber/scripts.inc b/data/maps/Underwater_SealedChamber/scripts.inc
index 9ec884781..b1fb5e71a 100644
--- a/data/maps/Underwater_SealedChamber/scripts.inc
+++ b/data/maps/Underwater_SealedChamber/scripts.inc
@@ -1,28 +1,28 @@
Underwater_SealedChamber_MapScripts:: @ 82390C4
- map_script MAP_SCRIPT_ON_DIVE_WARP, Underwater_SealedChamber_MapScript1_2390CA
+ map_script MAP_SCRIPT_ON_DIVE_WARP, Underwater_SealedChamber_OnDive
.byte 0
-Underwater_SealedChamber_MapScript1_2390CA: @ 82390CA
+Underwater_SealedChamber_OnDive: @ 82390CA
getplayerxy VAR_0x8004, VAR_0x8005
compare VAR_0x8004, 12
- goto_if_ne Underwater_SealedChamber_EventScript_2390EA
+ goto_if_ne Underwater_SealedChamber_EventScript_SurfaceRoute134
compare VAR_0x8005, 44
- goto_if_ne Underwater_SealedChamber_EventScript_2390EA
- goto Underwater_SealedChamber_EventScript_2390F3
+ goto_if_ne Underwater_SealedChamber_EventScript_SurfaceRoute134
+ goto Underwater_SealedChamber_EventScript_SurfaceSealedChamber
-Underwater_SealedChamber_EventScript_2390EA:: @ 82390EA
+Underwater_SealedChamber_EventScript_SurfaceRoute134:: @ 82390EA
setdivewarp MAP_ROUTE134, 255, 60, 31
end
-Underwater_SealedChamber_EventScript_2390F3:: @ 82390F3
+Underwater_SealedChamber_EventScript_SurfaceSealedChamber:: @ 82390F3
setdivewarp MAP_SEALED_CHAMBER_OUTER_ROOM, 255, 10, 19
end
-Underwater_SealedChamber_EventScript_2390FC:: @ 82390FC
+Underwater_SealedChamber_EventScript_Braille:: @ 82390FC
lockall
- braillemessage Underwater_SealedChamber_Braille_2A6B15
+ braillemessage Underwater_SealedChamber_Braille_GoUpHere
waitbuttonpress
- hidebox2
+ closebraillemessage
releaseall
end
diff --git a/data/maps/Underwater_SootopolisCity/map.json b/data/maps/Underwater_SootopolisCity/map.json
index a3b0a1290..e8e75e024 100644
--- a/data/maps/Underwater_SootopolisCity/map.json
+++ b/data/maps/Underwater_SootopolisCity/map.json
@@ -5,7 +5,7 @@
"music": "MUS_DEEPDEEP",
"region_map_section": "MAPSEC_UNDERWATER_SOOTOPOLIS",
"requires_flash": false,
- "weather": "WEATHER_BUBBLES",
+ "weather": "WEATHER_UNDERWATER_BUBBLES",
"map_type": "MAP_TYPE_UNDERWATER",
"allow_bike": true,
"allow_escape_rope": false,
diff --git a/data/maps/Underwater_SootopolisCity/scripts.inc b/data/maps/Underwater_SootopolisCity/scripts.inc
index d5040dba0..ec639604b 100644
--- a/data/maps/Underwater_SootopolisCity/scripts.inc
+++ b/data/maps/Underwater_SootopolisCity/scripts.inc
@@ -1,8 +1,8 @@
Underwater_SootopolisCity_MapScripts:: @ 822D94C
- map_script MAP_SCRIPT_ON_RESUME, Underwater_SootopolisCity_MapScript1_22D952
+ map_script MAP_SCRIPT_ON_RESUME, Underwater_SootopolisCity_OnResume
.byte 0
-Underwater_SootopolisCity_MapScript1_22D952: @ 822D952
+Underwater_SootopolisCity_OnResume: @ 822D952
setdivewarp MAP_SOOTOPOLIS_CITY, 255, 29, 53
end
diff --git a/data/maps/UnionRoom/map.json b/data/maps/UnionRoom/map.json
index c42cd362c..4c7b487fb 100644
--- a/data/maps/UnionRoom/map.json
+++ b/data/maps/UnionRoom/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D236",
+ "script": "UnionRoom_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D204",
+ "script": "UnionRoom_EventScript_Player4",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_4"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D22C",
+ "script": "UnionRoom_EventScript_Player8",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_8"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D222",
+ "script": "UnionRoom_EventScript_Player7",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_7"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D218",
+ "script": "UnionRoom_EventScript_Player6",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_6"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D20E",
+ "script": "UnionRoom_EventScript_Player5",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_5"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D1FA",
+ "script": "UnionRoom_EventScript_Player3",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_3"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D1F0",
+ "script": "UnionRoom_EventScript_Player2",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_2"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "UnionRoom_EventScript_23D1E6",
+ "script": "UnionRoom_EventScript_Player1",
"flag": "FLAG_HIDE_UNION_ROOM_PLAYER_1"
}
],
diff --git a/data/maps/UnionRoom/scripts.inc b/data/maps/UnionRoom/scripts.inc
index c2f375e0f..eac27fb5c 100644
--- a/data/maps/UnionRoom/scripts.inc
+++ b/data/maps/UnionRoom/scripts.inc
@@ -1,9 +1,9 @@
UnionRoom_MapScripts:: @ 823D1A6
- map_script MAP_SCRIPT_ON_RESUME, UnionRoom_MapScript1_23D1B1
+ map_script MAP_SCRIPT_ON_RESUME, UnionRoom_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, UnionRoom_OnTransition
.byte 0
-UnionRoom_MapScript1_23D1B1: @ 823D1B1
+UnionRoom_OnResume: @ 823D1B1
setflag FLAG_HIDE_UNION_ROOM_PLAYER_1
setflag FLAG_HIDE_UNION_ROOM_PLAYER_2
setflag FLAG_HIDE_UNION_ROOM_PLAYER_3
@@ -26,7 +26,7 @@ UnionRoom_MapScript1_23D1B1: @ 823D1B1
UnionRoom_OnTransition: @ 823D1E5
end
-UnionRoom_EventScript_23D1E6:: @ 823D1E6
+UnionRoom_EventScript_Player1:: @ 823D1E6
lock
faceplayer
setvar VAR_RESULT, 1
@@ -34,7 +34,7 @@ UnionRoom_EventScript_23D1E6:: @ 823D1E6
release
end
-UnionRoom_EventScript_23D1F0:: @ 823D1F0
+UnionRoom_EventScript_Player2:: @ 823D1F0
lock
faceplayer
setvar VAR_RESULT, 2
@@ -42,7 +42,7 @@ UnionRoom_EventScript_23D1F0:: @ 823D1F0
release
end
-UnionRoom_EventScript_23D1FA:: @ 823D1FA
+UnionRoom_EventScript_Player3:: @ 823D1FA
lock
faceplayer
setvar VAR_RESULT, 3
@@ -50,7 +50,7 @@ UnionRoom_EventScript_23D1FA:: @ 823D1FA
release
end
-UnionRoom_EventScript_23D204:: @ 823D204
+UnionRoom_EventScript_Player4:: @ 823D204
lock
faceplayer
setvar VAR_RESULT, 4
@@ -58,7 +58,7 @@ UnionRoom_EventScript_23D204:: @ 823D204
release
end
-UnionRoom_EventScript_23D20E:: @ 823D20E
+UnionRoom_EventScript_Player5:: @ 823D20E
lock
faceplayer
setvar VAR_RESULT, 5
@@ -66,7 +66,7 @@ UnionRoom_EventScript_23D20E:: @ 823D20E
release
end
-UnionRoom_EventScript_23D218:: @ 823D218
+UnionRoom_EventScript_Player6:: @ 823D218
lock
faceplayer
setvar VAR_RESULT, 6
@@ -74,7 +74,7 @@ UnionRoom_EventScript_23D218:: @ 823D218
release
end
-UnionRoom_EventScript_23D222:: @ 823D222
+UnionRoom_EventScript_Player7:: @ 823D222
lock
faceplayer
setvar VAR_RESULT, 7
@@ -82,7 +82,7 @@ UnionRoom_EventScript_23D222:: @ 823D222
release
end
-UnionRoom_EventScript_23D22C:: @ 823D22C
+UnionRoom_EventScript_Player8:: @ 823D22C
lock
faceplayer
setvar VAR_RESULT, 8
@@ -90,7 +90,7 @@ UnionRoom_EventScript_23D22C:: @ 823D22C
release
end
-UnionRoom_EventScript_23D236:: @ 823D236
+UnionRoom_EventScript_Attendant:: @ 823D236
lock
faceplayer
setvar VAR_RESULT, 9
@@ -98,7 +98,7 @@ UnionRoom_EventScript_23D236:: @ 823D236
release
end
-UnionRoom_EventScript_23D240:: @ 823D240
+UnionRoom_EventScript_Unused:: @ 823D240
lockall
setvar VAR_RESULT, 10
waitstate
diff --git a/data/maps/UnknownLinkContestRoom_25_29/map.json b/data/maps/UnknownLinkContestRoom_25_29/map.json
index 3e4387b6a..bcad9e1d7 100644
--- a/data/maps/UnknownLinkContestRoom_25_29/map.json
+++ b/data/maps/UnknownLinkContestRoom_25_29/map.json
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/UnknownLinkContestRoom_25_29/scripts.inc b/data/maps/UnknownLinkContestRoom_25_29/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/UnknownLinkContestRoom_25_29/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/UnknownLinkContestRoom_25_30/map.json b/data/maps/UnknownLinkContestRoom_25_30/map.json
index 42a719c17..4a6708006 100644
--- a/data/maps/UnknownLinkContestRoom_25_30/map.json
+++ b/data/maps/UnknownLinkContestRoom_25_30/map.json
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/UnknownLinkContestRoom_25_30/scripts.inc b/data/maps/UnknownLinkContestRoom_25_30/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/UnknownLinkContestRoom_25_30/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/UnknownLinkContestRoom_25_31/map.json b/data/maps/UnknownLinkContestRoom_25_31/map.json
index ad18b00af..da7f875b3 100644
--- a/data/maps/UnknownLinkContestRoom_25_31/map.json
+++ b/data/maps/UnknownLinkContestRoom_25_31/map.json
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/UnknownLinkContestRoom_25_31/scripts.inc b/data/maps/UnknownLinkContestRoom_25_31/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/UnknownLinkContestRoom_25_31/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/UnknownLinkContestRoom_25_32/map.json b/data/maps/UnknownLinkContestRoom_25_32/map.json
index 0e1528e59..8d5b033db 100644
--- a/data/maps/UnknownLinkContestRoom_25_32/map.json
+++ b/data/maps/UnknownLinkContestRoom_25_32/map.json
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/UnknownLinkContestRoom_25_32/scripts.inc b/data/maps/UnknownLinkContestRoom_25_32/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/UnknownLinkContestRoom_25_32/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/UnknownLinkContestRoom_25_33/map.json b/data/maps/UnknownLinkContestRoom_25_33/map.json
index 8765e9771..89c95c51b 100644
--- a/data/maps/UnknownLinkContestRoom_25_33/map.json
+++ b/data/maps/UnknownLinkContestRoom_25_33/map.json
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/UnknownLinkContestRoom_25_33/scripts.inc b/data/maps/UnknownLinkContestRoom_25_33/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/UnknownLinkContestRoom_25_33/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/UnknownLinkContestRoom_25_34/map.json b/data/maps/UnknownLinkContestRoom_25_34/map.json
index c7220897b..3e2878962 100644
--- a/data/maps/UnknownLinkContestRoom_25_34/map.json
+++ b/data/maps/UnknownLinkContestRoom_25_34/map.json
@@ -13,6 +13,6 @@
"show_map_name": false,
"battle_scene": "MAP_BATTLE_SCENE_NORMAL",
"connections": null,
- "shared_events_map": "LinkContestRoom1",
- "shared_scripts_map": "LinkContestRoom1"
+ "shared_events_map": "ContestHall",
+ "shared_scripts_map": "ContestHall"
} \ No newline at end of file
diff --git a/data/maps/UnknownLinkContestRoom_25_34/scripts.inc b/data/maps/UnknownLinkContestRoom_25_34/scripts.inc
deleted file mode 100644
index 8b1378917..000000000
--- a/data/maps/UnknownLinkContestRoom_25_34/scripts.inc
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/data/maps/VerdanturfTown/map.json b/data/maps/VerdanturfTown/map.json
index 7aef48724..e3fa08b03 100644
--- a/data/maps/VerdanturfTown/map.json
+++ b/data/maps/VerdanturfTown/map.json
@@ -35,7 +35,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_EventScript_1EB5A8",
+ "script": "VerdanturfTown_EventScript_Man",
"flag": "0"
},
{
@@ -48,7 +48,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_EventScript_1EB575",
+ "script": "VerdanturfTown_EventScript_Twin",
"flag": "0"
},
{
@@ -61,7 +61,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_EventScript_1EB5BA",
+ "script": "VerdanturfTown_EventScript_Boy",
"flag": "0"
},
{
@@ -74,7 +74,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_EventScript_1EB5B1",
+ "script": "VerdanturfTown_EventScript_Camper",
"flag": "0"
}
],
@@ -145,7 +145,7 @@
"y": 6,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "VerdanturfTown_EventScript_1EB5D9"
+ "script": "VerdanturfTown_EventScript_TownSign"
},
{
"type": "sign",
@@ -161,7 +161,7 @@
"y": 14,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "VerdanturfTown_EventScript_1EB5E2"
+ "script": "VerdanturfTown_EventScript_WandasHouseSign"
},
{
"type": "sign",
@@ -185,7 +185,7 @@
"y": 8,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "VerdanturfTown_EventScript_1EB5EB"
+ "script": "VerdanturfTown_EventScript_BattleTentSign"
},
{
"type": "sign",
@@ -193,7 +193,7 @@
"y": 3,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "VerdanturfTown_EventScript_1EB5F4"
+ "script": "VerdanturfTown_EventScript_RusturfTunnelSign"
}
]
} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc
index bd8328db8..2f075346c 100644
--- a/data/maps/VerdanturfTown/scripts.inc
+++ b/data/maps/VerdanturfTown/scripts.inc
@@ -4,64 +4,64 @@ VerdanturfTown_MapScripts:: @ 81EB566
VerdanturfTown_OnTransition: @ 81EB56C
setflag FLAG_VISITED_VERDANTURF_TOWN
- setvar VAR_LINK_CONTEST_ROOM_STATE, 0
+ setvar VAR_CONTEST_HALL_STATE, 0
end
-VerdanturfTown_EventScript_1EB575:: @ 81EB575
+VerdanturfTown_EventScript_Twin:: @ 81EB575
lock
faceplayer
- goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB594
- msgbox VerdanturfTown_Text_1EB5FD, MSGBOX_DEFAULT
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_TwinTunnelOpen
+ msgbox VerdanturfTown_Text_ManTryingToDigTunnel, MSGBOX_DEFAULT
applymovement 2, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-VerdanturfTown_EventScript_1EB594:: @ 81EB594
- msgbox VerdanturfTown_Text_1EB6E0, MSGBOX_DEFAULT
+VerdanturfTown_EventScript_TwinTunnelOpen:: @ 81EB594
+ msgbox VerdanturfTown_Text_ManDugTunnelForLove, MSGBOX_DEFAULT
applymovement 2, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
-VerdanturfTown_EventScript_1EB5A8:: @ 81EB5A8
- msgbox VerdanturfTown_Text_1EB736, MSGBOX_NPC
+VerdanturfTown_EventScript_Man:: @ 81EB5A8
+ msgbox VerdanturfTown_Text_AirCleanHere, MSGBOX_NPC
end
-VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1
- msgbox VerdanturfTown_Text_1EB7E2, MSGBOX_NPC
+VerdanturfTown_EventScript_Camper:: @ 81EB5B1
+ msgbox VerdanturfTown_Text_MakeBattleTentDebut, MSGBOX_NPC
end
-VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA
+VerdanturfTown_EventScript_Boy:: @ 81EB5BA
lock
faceplayer
- goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB5CF
- msgbox VerdanturfTown_Text_1EB854, MSGBOX_DEFAULT
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_BoyTunnelOpen
+ msgbox VerdanturfTown_Text_GuyTryingToBustThroughCave, MSGBOX_DEFAULT
release
end
-VerdanturfTown_EventScript_1EB5CF:: @ 81EB5CF
- msgbox VerdanturfTown_Text_1EB935, MSGBOX_DEFAULT
+VerdanturfTown_EventScript_BoyTunnelOpen:: @ 81EB5CF
+ msgbox VerdanturfTown_Text_EasyToGetToRustboroNow, MSGBOX_DEFAULT
release
end
-VerdanturfTown_EventScript_1EB5D9:: @ 81EB5D9
- msgbox VerdanturfTown_Text_1EB9C4, MSGBOX_SIGN
+VerdanturfTown_EventScript_TownSign:: @ 81EB5D9
+ msgbox VerdanturfTown_Text_TownSign, MSGBOX_SIGN
end
-VerdanturfTown_EventScript_1EB5E2:: @ 81EB5E2
- msgbox VerdanturfTown_Text_1EBA11, MSGBOX_SIGN
+VerdanturfTown_EventScript_WandasHouseSign:: @ 81EB5E2
+ msgbox VerdanturfTown_Text_WandasHouse, MSGBOX_SIGN
end
-VerdanturfTown_EventScript_1EB5EB:: @ 81EB5EB
- msgbox VerdanturfTown_Text_1EBA1F, MSGBOX_SIGN
+VerdanturfTown_EventScript_BattleTentSign:: @ 81EB5EB
+ msgbox VerdanturfTown_Text_BattleTentSign, MSGBOX_SIGN
end
-VerdanturfTown_EventScript_1EB5F4:: @ 81EB5F4
- msgbox VerdanturfTown_Text_1EBA59, MSGBOX_SIGN
+VerdanturfTown_EventScript_RusturfTunnelSign:: @ 81EB5F4
+ msgbox VerdanturfTown_Text_RusturfTunnelSign, MSGBOX_SIGN
end
-VerdanturfTown_Text_1EB5FD: @ 81EB5FD
+VerdanturfTown_Text_ManTryingToDigTunnel: @ 81EB5FD
.string "My papa told me.\p"
.string "He says this tunnel is full of\n"
.string "timid POKéMON.\p"
@@ -72,25 +72,25 @@ VerdanturfTown_Text_1EB5FD: @ 81EB5FD
.string "But there's one man. He's trying to dig\n"
.string "the tunnel by himself!$"
-VerdanturfTown_Text_1EB6E0: @ 81EB6E0
+VerdanturfTown_Text_ManDugTunnelForLove: @ 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
+VerdanturfTown_Text_AirCleanHere: @ 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
+VerdanturfTown_Text_MakeBattleTentDebut: @ 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
+VerdanturfTown_Text_GuyTryingToBustThroughCave: @ 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"
@@ -99,25 +99,25 @@ VerdanturfTown_Text_1EB854: @ 81EB854
.string "It'd be great if we could go through…\n"
.string "It'll make it easy to visit RUSTBORO.$"
-VerdanturfTown_Text_1EB935: @ 81EB935
+VerdanturfTown_Text_EasyToGetToRustboroNow: @ 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
+VerdanturfTown_Text_TownSign: @ 81EB9C4
.string "VERDANTURF TOWN\p"
.string "“The windswept highlands with the\n"
.string "sweet fragrance of grass.”$"
-VerdanturfTown_Text_1EBA11: @ 81EBA11
+VerdanturfTown_Text_WandasHouse: @ 81EBA11
.string "WANDA'S HOUSE$"
-VerdanturfTown_Text_1EBA1F: @ 81EBA1F
+VerdanturfTown_Text_BattleTentSign: @ 81EBA1F
.string "BATTLE TENT VERDANTURF SITE\n"
.string "“Feast Your Eyes on Battles!”$"
-VerdanturfTown_Text_1EBA59: @ 81EBA59
+VerdanturfTown_Text_RusturfTunnelSign: @ 81EBA59
.string "RUSTURF TUNNEL\n"
.string "“Linking RUSTBORO and VERDANTURF\p"
.string "“The tunnel project has been\n"
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
index b43bc6077..9f2b99090 100644
--- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
@@ -1,181 +1,161 @@
VerdanturfTown_BattleTentBattleRoom_MapScripts:: @ 82022FA
map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_BattleTentBattleRoom_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentBattleRoom_MapScript2_202541
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentBattleRoom_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentBattleRoom_OnWarp
.byte 0
+ @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden
+ @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_1
+ @ The opponent is represented by object event 2, which has the gfx id VAR_OBJ_GFX_ID_0
+
VerdanturfTown_BattleTentBattleRoom_OnTransition: @ 820230A
- call VerdanturfTown_BattleTentBattleRoom_EventScript_202310
+ call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx
end
-VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310
+VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx:: @ 8202310
checkplayergender
compare VAR_RESULT, MALE
- goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328
+ goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
compare VAR_RESULT, FEMALE
- goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333
+ goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
return
-VerdanturfTown_BattleTentBattleRoom_EventScript_202328:: @ 8202328
+VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale:: @ 8202328
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
return
-VerdanturfTown_BattleTentBattleRoom_EventScript_202333:: @ 8202333
+VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale:: @ 8202333
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
return
-VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E: @ 820233E
- map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_202348
+VerdanturfTown_BattleTentBattleRoom_OnFrame: @ 820233E
+ map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom
.2byte 0
-VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348
+VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom:: @ 8202348
showobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
- applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_202575
+ applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter
waitmovement 0
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 0
- goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
-
-VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F
- setvar VAR_0x8004, 3
- special sub_8161F74
+ goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
+VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter:: @ 820236F
+ tower_setopponent
addobject 2
- applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_20257B
+ applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter
waitmovement 0
- setvar VAR_0x8004, 4
- special sub_81B99B4
+ battletent_getopponentintro
msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
- call VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle
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 CallFrontierUtilFunc
+ case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent
+VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost:: @ 82023AA
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
-VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent:: @ 82023C8
+ frontier_get FRONTIER_DATA_BATTLE_NUM
addvar VAR_RESULT, 1
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 2
- copyvar VAR_0x8006, VAR_RESULT
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
switch VAR_RESULT
- case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_202501
- applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_202581
+ case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon
+ applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit
waitmovement 0
removeobject 2
- applymovement 3, Common_Movement_WalkInPlaceDown
- applymovement 1, Common_Movement_WalkInPlaceUp
+ applymovement 3, Common_Movement_WalkInPlaceFastestDown
+ applymovement 1, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
-VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
- setvar VAR_0x8004, 1
- setvar VAR_0x8005, 2
- special CallFrontierUtilFunc
+VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge:: @ 820243C
+ frontier_get FRONTIER_DATA_BATTLE_NUM
compare VAR_RESULT, 1
- call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202565
+ call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent
compare VAR_RESULT, 2
- call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_20256C
- multichoice 20, 6, 104, 1
+ call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent
+ multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, 1
switch VAR_RESULT
- case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA
- case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20248A
- case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8
+ case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge
+ case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_AskPauseChallenge
+ case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_AskRetireChallenge
-VerdanturfTown_BattleTentBattleRoom_EventScript_20248A:: @ 820248A
- msgbox VerdanturfTown_BattleTentBattleRoom_Text_250030, MSGBOX_YESNO
+VerdanturfTown_BattleTentBattleRoom_EventScript_AskPauseChallenge:: @ 820248A
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SaveAndQuitGame, MSGBOX_YESNO
switch VAR_RESULT
- case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
- case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20251F
- case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+ case NO, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
+ case YES, VerdanturfTown_BattleTentBattleRoom_EventScript_PauseChallenge
+ case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
-VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8:: @ 82024B8
- message VerdanturfTown_BattleTentBattleRoom_Text_25005A
+VerdanturfTown_BattleTentBattleRoom_EventScript_AskRetireChallenge:: @ 82024B8
+ message BattleFrontier_BattlePalaceBattleRoom_Text_WishToQuitChallenge
waitmessage
- multichoicedefault 20, 8, 94, 1, 0
+ multichoicedefault 20, 8, MULTI_YESNO, 1, 0
switch VAR_RESULT
- case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
- case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA
- case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+ case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
+ case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost
+ case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
-VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA:: @ 82024EA
- applymovement 3, Common_Movement_WalkInPlaceRight
- applymovement 1, Common_Movement_WalkInPlaceRight
+VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge:: @ 82024EA
+ applymovement 3, Common_Movement_WalkInPlaceFastestRight
+ applymovement 1, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
closemessage
- goto VerdanturfTown_BattleTentBattleRoom_EventScript_20236F
+ goto VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter
-VerdanturfTown_BattleTentBattleRoom_EventScript_202501:: @ 8202501
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 3
- special CallFrontierUtilFunc
+VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon:: @ 8202501
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
-VerdanturfTown_BattleTentBattleRoom_EventScript_20251F:: @ 820251F
- message VerdanturfTown_BattleTentBattleRoom_Text_25007E
+VerdanturfTown_BattleTentBattleRoom_EventScript_PauseChallenge:: @ 820251F
+ message BattleFrontier_BattlePalaceBattleRoom_Text_SavingData
waitmessage
- setvar VAR_0x8004, 5
- setvar VAR_0x8005, 2
- special sub_81B99B4
+ verdanturftent_save CHALLENGE_STATUS_PAUSED
playse SE_SAVE
waitse
- fadescreen 1
- setvar VAR_0x8004, 4
- special CallFrontierUtilFunc
+ fadescreen FADE_TO_BLACK
+ frontier_reset
end
-VerdanturfTown_BattleTentBattleRoom_MapScript2_202541: @ 8202541
- map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20254B
+VerdanturfTown_BattleTentBattleRoom_OnWarp: @ 8202541
+ map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_SetUpObjects
.2byte 0
-VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B
+VerdanturfTown_BattleTentBattleRoom_EventScript_SetUpObjects:: @ 820254B
hideobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
- call VerdanturfTown_BattleTentBattleRoom_EventScript_202310
+ call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx
setvar VAR_TEMP_1, 1
- applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_202573
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible
removeobject 2
end
-VerdanturfTown_BattleTentBattleRoom_EventScript_202565:: @ 8202565
- message VerdanturfTown_BattleTentBattleRoom_Text_24FF28
+VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent:: @ 8202565
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor2ndOpponent
waitmessage
return
-VerdanturfTown_BattleTentBattleRoom_EventScript_20256C:: @ 820256C
- message VerdanturfTown_BattleTentBattleRoom_Text_24FF54
+VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent:: @ 820256C
+ message BattleFrontier_BattlePalaceBattleRoom_Text_PreparedFor3rdOpponent
waitmessage
return
-VerdanturfTown_BattleTentBattleRoom_Movement_202573: @ 8202573
+VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible: @ 8202573
set_invisible
step_end
-VerdanturfTown_BattleTentBattleRoom_Movement_202575: @ 8202575
+VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter: @ 8202575
set_visible
walk_up
walk_up
@@ -183,7 +163,7 @@ VerdanturfTown_BattleTentBattleRoom_Movement_202575: @ 8202575
face_right
step_end
-VerdanturfTown_BattleTentBattleRoom_Movement_20257B: @ 820257B
+VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter: @ 820257B
walk_down
walk_down
walk_down
@@ -191,7 +171,7 @@ VerdanturfTown_BattleTentBattleRoom_Movement_20257B: @ 820257B
face_left
step_end
-VerdanturfTown_BattleTentBattleRoom_Movement_202581: @ 8202581
+VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit: @ 8202581
walk_up
walk_up
walk_up
diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
index 907ef3fd6..05991bef0 100644
--- a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
@@ -1,21 +1,21 @@
VerdanturfTown_BattleTentCorridor_MapScripts:: @ 820208A
- map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentCorridor_MapScript2_202090
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentCorridor_OnFrame
.byte 0
-VerdanturfTown_BattleTentCorridor_MapScript2_202090: @ 8202090
- map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentCorridor_EventScript_20209A
+VerdanturfTown_BattleTentCorridor_OnFrame: @ 8202090
+ map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentCorridor_EventScript_EnterCorridor
.2byte 0
-VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A
+VerdanturfTown_BattleTentCorridor_EventScript_EnterCorridor:: @ 820209A
lockall
setvar VAR_TEMP_0, 1
- applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE
- applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020DE
+ applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor
waitmovement 0
opendoor 2, 1
waitdooranim
- applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020E4
- applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020E3
+ applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_PlayerEnterDoor
waitmovement 0
closedoor 2, 1
waitdooranim
@@ -25,22 +25,24 @@ VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A
releaseall
end
-VerdanturfTown_BattleTentCorridor_Movement_2020DE: @ 82020DE
+VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor: @ 82020DE
walk_up
walk_up
walk_up
walk_up
step_end
-VerdanturfTown_BattleTentCorridor_Movement_2020E3: @ 82020E3
+VerdanturfTown_BattleTentCorridor_Movement_PlayerEnterDoor: @ 82020E3
walk_up
-
-VerdanturfTown_BattleTentCorridor_Movement_2020E4: @ 82020E4
+VerdanturfTown_BattleTentCorridor_Movement_AttendantEnterDoor: @ 82020E4
walk_up
set_invisible
step_end
-VerdanturfTown_BattleTentCorridor_Text_2020E7: @ 82020E7
+
+@ Leftover text from when this was a Contest Hall in R/S
+@ Unused
+VerdanturfTown_ContestHall_Text_WhichContestYouEntering: @ 82020E7
.string "Which CONTEST are you entering?\n"
.string "Want a piece of advice?\p"
.string "In any CONTEST, for example, a CUTE\n"
@@ -49,21 +51,24 @@ VerdanturfTown_BattleTentCorridor_Text_2020E7: @ 82020E7
.string "You need to work out ways for raising\n"
.string "POKéMON better.$"
-VerdanturfTown_BattleTentCorridor_Text_2021C4: @ 82021C4
+@ Unused
+VerdanturfTown_ContestHall_Text_RaisedMonToBeCute: @ 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
+@ Unused
+VerdanturfTown_ContestHall_Text_MyMonRules: @ 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
+@ Unused
+VerdanturfTown_ContestHall_Text_NormalRankStage: @ 82022D6
.string "POKéMON CONTESTS\n"
.string "NORMAL RANK STAGE!$"
diff --git a/data/maps/VerdanturfTown_BattleTentLobby/map.json b/data/maps/VerdanturfTown_BattleTentLobby/map.json
index 2a5660271..adc0be316 100644
--- a/data/maps/VerdanturfTown_BattleTentLobby/map.json
+++ b/data/maps/VerdanturfTown_BattleTentLobby/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_BattleTentLobby_EventScript_201873",
+ "script": "VerdanturfTown_BattleTentLobby_EventScript_Attendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_BattleTentLobby_EventScript_201A7B",
+ "script": "VerdanturfTown_BattleTentLobby_EventScript_AttractGiver",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_BattleTentLobby_EventScript_201ABC",
+ "script": "VerdanturfTown_BattleTentLobby_EventScript_Boy1",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_BattleTentLobby_EventScript_201AC5",
+ "script": "VerdanturfTown_BattleTentLobby_EventScript_Boy2",
"flag": "0"
},
{
@@ -76,7 +76,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_BattleTentLobby_EventScript_201AD0",
+ "script": "VerdanturfTown_BattleTentLobby_EventScript_Scott",
"flag": "FLAG_HIDE_VERDANTURF_TOWN_SCOTT"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_BattleTentLobby_EventScript_201AF7",
+ "script": "VerdanturfTown_BattleTentLobby_EventScript_LittleBoy",
"flag": "0"
}
],
@@ -117,7 +117,7 @@
"y": 5,
"elevation": 0,
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
- "script": "VerdanturfTown_BattleTentLobby_EventScript_201B02"
+ "script": "VerdanturfTown_BattleTentLobby_EventScript_RulesBoard"
}
]
} \ No newline at end of file
diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
index daaaaea1b..8a0de33f5 100644
--- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
@@ -1,386 +1,336 @@
VerdanturfTown_BattleTentLobby_MapScripts:: @ 82016D0
- map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentLobby_MapScript2_2016EF
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentLobby_MapScript2_2016DB
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentLobby_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentLobby_OnWarp
.byte 0
-VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB
- map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentLobby_EventScript_2016E5
+VerdanturfTown_BattleTentLobby_OnWarp: @ 82016DB
+ map_script_2 VAR_TEMP_1, 0, VerdanturfTown_BattleTentLobby_EventScript_TurnPlayerNorth
.2byte 0
-VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5
+VerdanturfTown_BattleTentLobby_EventScript_TurnPlayerNorth:: @ 82016E5
setvar VAR_TEMP_1, 1
- turnobject EVENT_OBJ_ID_PLAYER, 2
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
end
-VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF
- map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_201719
- map_script_2 VAR_TEMP_0, 1, VerdanturfTown_BattleTentLobby_EventScript_201722
- map_script_2 VAR_TEMP_0, 2, VerdanturfTown_BattleTentLobby_EventScript_201837
- map_script_2 VAR_TEMP_0, 3, VerdanturfTown_BattleTentLobby_EventScript_201757
- map_script_2 VAR_TEMP_0, 4, VerdanturfTown_BattleTentLobby_EventScript_2017FD
+VerdanturfTown_BattleTentLobby_OnFrame: @ 82016EF
+ map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, VerdanturfTown_BattleTentLobby_EventScript_WonChallenge
+ map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, VerdanturfTown_BattleTentLobby_EventScript_LostChallenge
.2byte 0
-VerdanturfTown_BattleTentLobby_EventScript_201719:: @ 8201719
- setvar VAR_0x8004, 0
- special CallFrontierUtilFunc
+VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus:: @ 8201719
+ frontier_getstatus
end
-VerdanturfTown_BattleTentLobby_EventScript_201722:: @ 8201722
+VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving:: @ 8201722
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_24E636, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
releaseall
end
-VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757
+VerdanturfTown_BattleTentLobby_EventScript_WonChallenge:: @ 8201757
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, MSGBOX_DEFAULT
- message VerdanturfTown_BattleTentLobby_Text_2C5791
+ msgbox VerdanturfTown_BattleTentLobby_Text_AchievedThreeWinStreak, MSGBOX_DEFAULT
+ message VerdanturfTown_BattleTentLobby_Text_FeatWillBeRecorded
waitmessage
- setvar VAR_0x8004, 6
- special sub_81B99B4
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 5
- setvar VAR_0x8005, 0
- special sub_81B99B4
+ verdanturftent_setrandomprize
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ verdanturftent_save 0
playse SE_SAVE
waitse
-VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791
- msgbox VerdanturfTown_BattleTentLobby_Text_2C57CD, MSGBOX_DEFAULT
- setvar VAR_0x8004, 7
- special sub_81B99B4
+VerdanturfTown_BattleTentLobby_EventScript_GivePrize:: @ 8201791
+ msgbox VerdanturfTown_BattleTentLobby_Text_PresentYouWithPrize, MSGBOX_DEFAULT
+ verdanturftent_giveprize
switch VAR_RESULT
- case 0, VerdanturfTown_BattleTentLobby_EventScript_2017DD
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- message VerdanturfTown_BattleTentLobby_Text_24A554
+ case FALSE, VerdanturfTown_BattleTentLobby_EventScript_NoRoomForPrize
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ message BattleFrontier_BattleDomeLobby_Text_ReceivedPrize @ Odd that it used Dome's copy instead of Palace's
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
+ msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-VerdanturfTown_BattleTentLobby_EventScript_2017DD:: @ 82017DD
- msgbox VerdanturfTown_BattleTentLobby_Text_24E57B, MSGBOX_DEFAULT
+VerdanturfTown_BattleTentLobby_EventScript_NoRoomForPrize:: @ 82017DD
+ msgbox BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize, MSGBOX_DEFAULT
waitmessage
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-VerdanturfTown_BattleTentLobby_EventScript_2017EE:: @ 82017EE
+VerdanturfTown_BattleTentLobby_EventScript_PrizeWaiting:: @ 82017EE
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201791
+ msgbox VerdanturfTown_BattleTentLobby_Text_AchievedThreeWinStreak, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_GivePrize
end
-VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD
+VerdanturfTown_BattleTentLobby_EventScript_LostChallenge:: @ 82017FD
lockall
- message VerdanturfTown_BattleTentLobby_Text_2C56B8
+ message VerdanturfTown_BattleTentLobby_Text_ResultsWillBeRecorded
waitmessage
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 5
- setvar VAR_0x8005, 0
- special sub_81B99B4
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
+ verdanturftent_save 0
playse SE_SAVE
waitse
- msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
+ msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
-VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837
+VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge:: @ 8201837
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_24E5D8, MSGBOX_DEFAULT
- message VerdanturfTown_BattleTentLobby_Text_24E5F6
+ msgbox BattleFrontier_BattlePalaceLobby_Text_WeHaveBeenWaiting, MSGBOX_DEFAULT
+ message BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge
waitmessage
- setvar VAR_0x8004, 5
- setvar VAR_0x8005, 1
- special sub_81B99B4
+ verdanturftent_save CHALLENGE_STATUS_SAVING
playse SE_SAVE
waitse
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
setvar VAR_TEMP_0, 255
- goto VerdanturfTown_BattleTentLobby_EventScript_2019AE
+ goto VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge
-VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873
+VerdanturfTown_BattleTentLobby_EventScript_Attendant:: @ 8201873
lock
faceplayer
- setvar VAR_0x8004, 1
- special sub_81B99B4
- compare VAR_RESULT, 0
- goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_2017EE
+ verdanturftent_getprize
+ compare VAR_RESULT, ITEM_NONE
+ goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_PrizeWaiting
special SavePlayerParty
- msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, MSGBOX_DEFAULT
-
-VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893
- message VerdanturfTown_BattleTentLobby_Text_2C5129
+ msgbox VerdanturfTown_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT
+VerdanturfTown_BattleTentLobby_EventScript_AskEnterChallenge:: @ 8201893
+ message VerdanturfTown_BattleTentLobby_Text_TakeChallenge
waitmessage
- multichoice 17, 6, 23, 0
+ multichoice 17, 6, MULTI_CHALLENGEINFO, 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_FRONTIER_BATTLE_MODE, 0
+ case 0, VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge
+ case 1, VerdanturfTown_BattleTentLobby_EventScript_ExplainChallenge
+ case 2, VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge
+ case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge
+
+VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge:: @ 82018CF
+ setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PALACE
+ setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
setvar VAR_RESULT, 2
- setvar VAR_0x8004, 15
- special CallFrontierUtilFunc
- compare VAR_0x8004, 1
- goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 2
- special CallFrontierUtilFunc
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5633, MSGBOX_DEFAULT
- fadescreen 1
+ frontier_checkineligible
+ compare VAR_0x8004, TRUE
+ goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMons
+ frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
+ msgbox VerdanturfTown_BattleTentLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
setvar VAR_0x8004, 1
- setvar VAR_0x8005, 3
- special sub_80F9490
+ setvar VAR_0x8005, FRONTIER_PARTY_SIZE
+ special ChoosePartyForBattleFrontier
waitstate
compare VAR_RESULT, 0
- goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A34
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, MSGBOX_YESNO
+ goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
+ msgbox VerdanturfTown_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
- case 0, VerdanturfTown_BattleTentLobby_EventScript_201A34
- case 1, VerdanturfTown_BattleTentLobby_EventScript_201954
- case 127, VerdanturfTown_BattleTentLobby_EventScript_201A34
+ case NO, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
+ case YES, VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge
+ case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
-VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
+VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: @ 8201954
setvar VAR_TEMP_0, 0
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 4
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 0
- special sub_81B99B4
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special CallFrontierUtilFunc
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 3
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
+ frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
+ verdanturftent_init
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
+ frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D
-
-VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE
+ goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
+VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge:: @ 82019AE
special SavePlayerParty
- setvar VAR_0x8004, 3
- setvar VAR_0x8005, 3
- special CallFrontierUtilFunc
- msgbox VerdanturfTown_BattleTentLobby_Text_2C56A2, MSGBOX_DEFAULT
+ frontier_setpartyorder FRONTIER_PARTY_SIZE
+ msgbox VerdanturfTown_BattleTentLobby_Text_NowFollowMe, MSGBOX_DEFAULT
closemessage
- call VerdanturfTown_BattleTentLobby_EventScript_201A41
+ call VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
setvar VAR_TEMP_0, 0
waitstate
end
-VerdanturfTown_BattleTentLobby_EventScript_2019DB:: @ 82019DB
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5163, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201893
+VerdanturfTown_BattleTentLobby_EventScript_ExplainChallenge:: @ 82019DB
+ msgbox VerdanturfTown_BattleTentLobby_Text_ExplainVerdanturfTent, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_AskEnterChallenge
-VerdanturfTown_BattleTentLobby_EventScript_2019E8:: @ 82019E8
+VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMons:: @ 82019E8
switch VAR_RESULT
- case 0, VerdanturfTown_BattleTentLobby_EventScript_201A03
- case 1, VerdanturfTown_BattleTentLobby_EventScript_201A10
+ case FRONTIER_LVL_50, VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50
+ case FRONTIER_LVL_OPEN, VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen
-VerdanturfTown_BattleTentLobby_EventScript_201A03:: @ 8201A03
- msgbox VerdanturfTown_BattleTentLobby_Text_2C543D, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201A3F
+VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50:: @ 8201A03
+ msgbox VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_EndCancelChallenge
-VerdanturfTown_BattleTentLobby_EventScript_201A10:: @ 8201A10
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5538, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201A3F
+VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen:: @ 8201A10
+ msgbox VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_EndCancelChallenge
-VerdanturfTown_BattleTentLobby_EventScript_201A1D:: @ 8201A1D
- setvar VAR_0x8004, 2
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special CallFrontierUtilFunc
- goto VerdanturfTown_BattleTentLobby_EventScript_201A37
+VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed:: @ 8201A1D
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
+ goto VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge
-VerdanturfTown_BattleTentLobby_EventScript_201A34:: @ 8201A34
+VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge:: @ 8201A34
special LoadPlayerParty
-
-VerdanturfTown_BattleTentLobby_EventScript_201A37:: @ 8201A37
- msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
-
-VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F
+VerdanturfTown_BattleTentLobby_EventScript_CancelChallenge:: @ 8201A37
+ msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT
+VerdanturfTown_BattleTentLobby_EventScript_EndCancelChallenge:: @ 8201A3F
release
end
-VerdanturfTown_BattleTentLobby_EventScript_201A41:: @ 8201A41
- applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A70
- applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A70
+VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor:: @ 8201A41
+ applymovement 1, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor
waitmovement 0
opendoor 6, 1
waitdooranim
- applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A74
- applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A77
+ applymovement 1, VerdanturfTown_BattleTentLobby_Movement_AttendantEnterDoor
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor
waitmovement 0
closedoor 6, 1
waitdooranim
return
-VerdanturfTown_BattleTentLobby_Movement_201A70: @ 8201A70
+VerdanturfTown_BattleTentLobby_Movement_WalkToDoor: @ 8201A70
walk_up
walk_up
walk_up
step_end
-VerdanturfTown_BattleTentLobby_Movement_201A74: @ 8201A74
+VerdanturfTown_BattleTentLobby_Movement_AttendantEnterDoor: @ 8201A74
walk_up
set_invisible
step_end
-VerdanturfTown_BattleTentLobby_Movement_201A77: @ 8201A77
+VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor: @ 8201A77
walk_up
walk_up
set_invisible
step_end
-VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B
+VerdanturfTown_BattleTentLobby_EventScript_AttractGiver:: @ 8201A7B
lock
faceplayer
- goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_201AB2
- msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, MSGBOX_DEFAULT
- giveitem_std ITEM_TM45
+ goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract
+ msgbox VerdanturfTown_BattleTentLobby_Text_AttractionRunsDeep, MSGBOX_DEFAULT
+ giveitem ITEM_TM45
compare VAR_RESULT, 0
goto_if_eq Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM45
- msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT
+ msgbox VerdanturfTown_BattleTentLobby_Text_AttractionMutual, MSGBOX_DEFAULT
release
end
-VerdanturfTown_BattleTentLobby_EventScript_201AB2:: @ 8201AB2
- msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT
+VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract:: @ 8201AB2
+ msgbox VerdanturfTown_BattleTentLobby_Text_AttractionMutual, MSGBOX_DEFAULT
release
end
-VerdanturfTown_BattleTentLobby_EventScript_201ABC:: @ 8201ABC
- msgbox VerdanturfTown_BattleTentLobby_Text_201EB1, MSGBOX_NPC
+VerdanturfTown_BattleTentLobby_EventScript_Boy1:: @ 8201ABC
+ msgbox VerdanturfTown_BattleTentLobby_Text_TaughtWhatKindsOfMoves, MSGBOX_NPC
end
-VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5
+VerdanturfTown_BattleTentLobby_EventScript_Boy2:: @ 8201AC5
lock
- msgbox VerdanturfTown_BattleTentLobby_Text_201BD4, MSGBOX_DEFAULT
+ msgbox VerdanturfTown_BattleTentLobby_Text_MonsReluctantToUseDislikedMoves, MSGBOX_DEFAULT
release
end
-VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0
+VerdanturfTown_BattleTentLobby_EventScript_Scott:: @ 8201AD0
lock
faceplayer
- goto_if_set FLAG_MET_SCOTT_IN_VERDANTURF, VerdanturfTown_BattleTentLobby_EventScript_201AED
- msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, MSGBOX_DEFAULT
+ goto_if_set FLAG_MET_SCOTT_IN_VERDANTURF, VerdanturfTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo
+ msgbox VerdanturfTown_BattleTentLobby_Text_ScottCanMeetToughTrainers, MSGBOX_DEFAULT
addvar VAR_SCOTT_STATE, 1
setflag FLAG_MET_SCOTT_IN_VERDANTURF
release
end
-VerdanturfTown_BattleTentLobby_EventScript_201AED:: @ 8201AED
- msgbox VerdanturfTown_BattleTentLobby_Text_202025, MSGBOX_DEFAULT
+VerdanturfTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo:: @ 8201AED
+ msgbox VerdanturfTown_BattleTentLobby_Text_ScottVisitRegularly, MSGBOX_DEFAULT
release
end
-VerdanturfTown_BattleTentLobby_EventScript_201AF7:: @ 8201AF7
+VerdanturfTown_BattleTentLobby_EventScript_LittleBoy:: @ 8201AF7
lock
- msgbox VerdanturfTown_BattleTentLobby_Text_201D11, MSGBOX_DEFAULT
+ msgbox VerdanturfTown_BattleTentLobby_Text_GentleMonsScaryIfAngry, MSGBOX_DEFAULT
release
end
-VerdanturfTown_BattleTentLobby_EventScript_201B02:: @ 8201B02
+VerdanturfTown_BattleTentLobby_EventScript_RulesBoard:: @ 8201B02
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_2C6878, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ msgbox VerdanturfTown_BattleTentLobby_Text_RulesAreListed, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-VerdanturfTown_BattleTentLobby_EventScript_201B11:: @ 8201B11
- message VerdanturfTown_BattleTentLobby_Text_24EF88
+VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard:: @ 8201B11
+ message BattleFrontier_BattlePalaceLobby_Text_ReadWhichHeading
waitmessage
- setvar VAR_0x8004, 12
- special sub_813A128
+ setvar VAR_0x8004, SCROLL_MULTI_BATTLE_TENT_RULES
+ special ShowScrollableMultichoice
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
+ case 0, VerdanturfTown_BattleTentLobby_EventScript_RulesLevel
+ case 1, VerdanturfTown_BattleTentLobby_EventScript_RulesBasics
+ case 2, VerdanturfTown_BattleTentLobby_EventScript_RulesNature
+ case 3, VerdanturfTown_BattleTentLobby_EventScript_RulesMoves
+ case 4, VerdanturfTown_BattleTentLobby_EventScript_RulesUnderpowered
+ case 5, VerdanturfTown_BattleTentLobby_EventScript_RulesWhenInDanger
+ case 6, VerdanturfTown_BattleTentLobby_EventScript_ExitRules
+ case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_ExitRules
end
-VerdanturfTown_BattleTentLobby_EventScript_201B7E:: @ 8201B7E
- msgbox VerdanturfTown_BattleTentLobby_Text_2C67CD, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+VerdanturfTown_BattleTentLobby_EventScript_RulesLevel:: @ 8201B7E
+ msgbox BattleTentLobby_Text_ExplainLevelRules, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-VerdanturfTown_BattleTentLobby_EventScript_201B8C:: @ 8201B8C
- msgbox VerdanturfTown_BattleTentLobby_Text_24EFAB, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+VerdanturfTown_BattleTentLobby_EventScript_RulesBasics:: @ 8201B8C
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesBasics, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-VerdanturfTown_BattleTentLobby_EventScript_201B9A:: @ 8201B9A
- msgbox VerdanturfTown_BattleTentLobby_Text_24F049, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+VerdanturfTown_BattleTentLobby_EventScript_RulesNature:: @ 8201B9A
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesNature, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-VerdanturfTown_BattleTentLobby_EventScript_201BA8:: @ 8201BA8
- msgbox VerdanturfTown_BattleTentLobby_Text_24F190, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+VerdanturfTown_BattleTentLobby_EventScript_RulesMoves:: @ 8201BA8
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesMoves, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-VerdanturfTown_BattleTentLobby_EventScript_201BB6:: @ 8201BB6
- msgbox VerdanturfTown_BattleTentLobby_Text_24F2E8, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+VerdanturfTown_BattleTentLobby_EventScript_RulesUnderpowered:: @ 8201BB6
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesUnderpowered, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-VerdanturfTown_BattleTentLobby_EventScript_201BC4:: @ 8201BC4
- msgbox VerdanturfTown_BattleTentLobby_Text_24F3F4, MSGBOX_DEFAULT
- goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+VerdanturfTown_BattleTentLobby_EventScript_RulesWhenInDanger:: @ 8201BC4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainRulesWhenInDanger, MSGBOX_DEFAULT
+ goto VerdanturfTown_BattleTentLobby_EventScript_ReadRulesBoard
end
-VerdanturfTown_BattleTentLobby_EventScript_201BD2:: @ 8201BD2
+VerdanturfTown_BattleTentLobby_EventScript_ExitRules:: @ 8201BD2
releaseall
end
-VerdanturfTown_BattleTentLobby_Text_201BD4: @ 8201BD4
+VerdanturfTown_BattleTentLobby_Text_MonsReluctantToUseDislikedMoves: @ 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"
@@ -392,14 +342,14 @@ VerdanturfTown_BattleTentLobby_Text_201BD4: @ 8201BD4
.string "potential, it's probably failing at\l"
.string "using a disliked move against its will.$"
-VerdanturfTown_BattleTentLobby_Text_201D11: @ 8201D11
+VerdanturfTown_BattleTentLobby_Text_GentleMonsScaryIfAngry: @ 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
+VerdanturfTown_BattleTentLobby_Text_AttractionRunsDeep: @ 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"
@@ -407,20 +357,20 @@ VerdanturfTown_BattleTentLobby_Text_201D9E: @ 8201D9E
.string "How would you like this TM for\n"
.string "your POKéMON?$"
-VerdanturfTown_BattleTentLobby_Text_201E43: @ 8201E43
+VerdanturfTown_BattleTentLobby_Text_AttractionMutual: @ 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
+VerdanturfTown_BattleTentLobby_Text_TaughtWhatKindsOfMoves: @ 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
+VerdanturfTown_BattleTentLobby_Text_ScottCanMeetToughTrainers: @ 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"
@@ -430,7 +380,7 @@ VerdanturfTown_BattleTentLobby_Text_201F3F: @ 8201F3F
.string "{PLAYER}{KUN}, I expect you to do\n"
.string "the best you can!$"
-VerdanturfTown_BattleTentLobby_Text_202025: @ 8202025
+VerdanturfTown_BattleTentLobby_Text_ScottVisitRegularly: @ 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/maps/VerdanturfTown_FriendshipRatersHouse/map.json b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json
index 955e00a83..fa620e682 100644
--- a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json
+++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_203031",
+ "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_FriendshipRater",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA",
+ "script": "VerdanturfTown_FriendshipRatersHouse_EventScript_Pikachu",
"flag": "0"
}
],
diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc
index 01b1e5030..993188cb2 100644
--- a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc
+++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc
@@ -1,104 +1,104 @@
VerdanturfTown_FriendshipRatersHouse_MapScripts:: @ 8203030
.byte 0
-VerdanturfTown_FriendshipRatersHouse_EventScript_203031:: @ 8203031
+VerdanturfTown_FriendshipRatersHouse_EventScript_FriendshipRater:: @ 8203031
lock
faceplayer
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_2030ED, MSGBOX_DEFAULT
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_SeeHowMuchPokemonLikesYou, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetLeadMonFriendshipScore
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
+ case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou
+ case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary
+ case 2, VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou
+ case 3, VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou
+ case 4, VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot
+ case 5, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy
+ case 6, VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_203094:: @ 8203094
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_2032DF, MSGBOX_DEFAULT
+VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou:: @ 8203094
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_DetestsYou, MSGBOX_DEFAULT
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_20309E:: @ 820309E
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203288, MSGBOX_DEFAULT
+VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary:: @ 820309E
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_VeryWary, MSGBOX_DEFAULT
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8:: @ 82030A8
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203249, MSGBOX_DEFAULT
+VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou:: @ 82030A8
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_NotUsedToYou, MSGBOX_DEFAULT
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2:: @ 82030B2
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203213, MSGBOX_DEFAULT
+VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou:: @ 82030B2
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_GettingUsedToYou, MSGBOX_DEFAULT
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC:: @ 82030BC
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_2031D1, MSGBOX_DEFAULT
+VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot:: @ 82030BC
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_LikesYouQuiteALot, MSGBOX_DEFAULT
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6:: @ 82030C6
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203192, MSGBOX_DEFAULT
+VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy:: @ 82030C6
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_VeryHappy, MSGBOX_DEFAULT
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0:: @ 82030D0
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203141, MSGBOX_DEFAULT
+VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou:: @ 82030D0
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_AdoresYou, MSGBOX_DEFAULT
release
end
-VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA:: @ 82030DA
+VerdanturfTown_FriendshipRatersHouse_EventScript_Pikachu:: @ 82030DA
lock
faceplayer
waitse
playmoncry SPECIES_PIKACHU, 0
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_20334A, MSGBOX_DEFAULT
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_Pikachu, MSGBOX_DEFAULT
waitmoncry
release
end
-VerdanturfTown_FriendshipRatersHouse_Text_2030ED: @ 82030ED
+VerdanturfTown_FriendshipRatersHouse_Text_SeeHowMuchPokemonLikesYou: @ 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
+VerdanturfTown_FriendshipRatersHouse_Text_AdoresYou: @ 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
+VerdanturfTown_FriendshipRatersHouse_Text_VeryHappy: @ 8203192
.string "It seems to be very happy.\n"
.string "It obviously likes you a whole lot.$"
-VerdanturfTown_FriendshipRatersHouse_Text_2031D1: @ 82031D1
+VerdanturfTown_FriendshipRatersHouse_Text_LikesYouQuiteALot: @ 82031D1
.string "It likes you quite a lot.\n"
.string "It seems to want to be babied a little.$"
-VerdanturfTown_FriendshipRatersHouse_Text_203213: @ 8203213
+VerdanturfTown_FriendshipRatersHouse_Text_GettingUsedToYou: @ 8203213
.string "It's getting used to you.\n"
.string "It seems to believe in you.$"
-VerdanturfTown_FriendshipRatersHouse_Text_203249: @ 8203249
+VerdanturfTown_FriendshipRatersHouse_Text_NotUsedToYou: @ 8203249
.string "It's not very used to you yet.\n"
.string "It neither loves nor hates you.$"
-VerdanturfTown_FriendshipRatersHouse_Text_203288: @ 8203288
+VerdanturfTown_FriendshipRatersHouse_Text_VeryWary: @ 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
+VerdanturfTown_FriendshipRatersHouse_Text_DetestsYou: @ 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
+VerdanturfTown_FriendshipRatersHouse_Text_Pikachu: @ 820334A
.string "PIKACHU: Pika pika!$"
diff --git a/data/maps/VerdanturfTown_House/map.json b/data/maps/VerdanturfTown_House/map.json
index 9a357b495..f50e62a4e 100644
--- a/data/maps/VerdanturfTown_House/map.json
+++ b/data/maps/VerdanturfTown_House/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_House_EventScript_20335F",
+ "script": "VerdanturfTown_House_EventScript_Woman1",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_House_EventScript_203368",
+ "script": "VerdanturfTown_House_EventScript_Woman2",
"flag": "0"
}
],
diff --git a/data/maps/VerdanturfTown_House/scripts.inc b/data/maps/VerdanturfTown_House/scripts.inc
index c6028c784..5f47e52fa 100644
--- a/data/maps/VerdanturfTown_House/scripts.inc
+++ b/data/maps/VerdanturfTown_House/scripts.inc
@@ -1,21 +1,21 @@
VerdanturfTown_House_MapScripts:: @ 820335E
.byte 0
-VerdanturfTown_House_EventScript_20335F:: @ 820335F
- msgbox VerdanturfTown_House_Text_203371, MSGBOX_NPC
+VerdanturfTown_House_EventScript_Woman1:: @ 820335F
+ msgbox VerdanturfTown_House_Text_TrainersGatherAtPokemonLeague, MSGBOX_NPC
end
-VerdanturfTown_House_EventScript_203368:: @ 8203368
- msgbox VerdanturfTown_House_Text_2033EE, MSGBOX_NPC
+VerdanturfTown_House_EventScript_Woman2:: @ 8203368
+ msgbox VerdanturfTown_House_Text_DefeatEliteFourInARow, MSGBOX_NPC
end
-VerdanturfTown_House_Text_203371: @ 8203371
+VerdanturfTown_House_Text_TrainersGatherAtPokemonLeague: @ 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
+VerdanturfTown_House_Text_DefeatEliteFourInARow: @ 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"
diff --git a/data/maps/VerdanturfTown_Mart/map.json b/data/maps/VerdanturfTown_Mart/map.json
index 4f9b8296e..702a70f3d 100644
--- a/data/maps/VerdanturfTown_Mart/map.json
+++ b/data/maps/VerdanturfTown_Mart/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_Mart_EventScript_202587",
+ "script": "VerdanturfTown_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_Mart_EventScript_2025BA",
+ "script": "VerdanturfTown_Mart_EventScript_Boy",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_Mart_EventScript_2025C3",
+ "script": "VerdanturfTown_Mart_EventScript_ExpertF",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_Mart_EventScript_2025CC",
+ "script": "VerdanturfTown_Mart_EventScript_Lass",
"flag": "0"
}
],
diff --git a/data/maps/VerdanturfTown_Mart/scripts.inc b/data/maps/VerdanturfTown_Mart/scripts.inc
index 6457aa626..cc4694fe1 100644
--- a/data/maps/VerdanturfTown_Mart/scripts.inc
+++ b/data/maps/VerdanturfTown_Mart/scripts.inc
@@ -1,18 +1,18 @@
VerdanturfTown_Mart_MapScripts:: @ 8202586
.byte 0
-VerdanturfTown_Mart_EventScript_202587:: @ 8202587
+VerdanturfTown_Mart_EventScript_Clerk:: @ 8202587
lock
faceplayer
- message gUnknown_08272A21
+ message gText_HowMayIServeYou
waitmessage
- pokemart VerdanturfTown_Mart_Pokemart_2025A0
- msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
+ pokemart VerdanturfTown_Mart_Pokemart
+ msgbox gText_PleaseComeAgain, MSGBOX_DEFAULT
release
end
.align 2
-VerdanturfTown_Mart_Pokemart_2025A0: @ 82025A0
+VerdanturfTown_Mart_Pokemart: @ 82025A0
.2byte ITEM_GREAT_BALL
.2byte ITEM_NEST_BALL
.2byte ITEM_SUPER_POTION
@@ -28,31 +28,31 @@ VerdanturfTown_Mart_Pokemart_2025A0: @ 82025A0
release
end
-VerdanturfTown_Mart_EventScript_2025BA:: @ 82025BA
- msgbox VerdanturfTown_Mart_Text_2025D5, MSGBOX_NPC
+VerdanturfTown_Mart_EventScript_Boy:: @ 82025BA
+ msgbox VerdanturfTown_Mart_Text_XSpecialIsCrucial, MSGBOX_NPC
end
-VerdanturfTown_Mart_EventScript_2025C3:: @ 82025C3
- msgbox VerdanturfTown_Mart_Text_20264C, MSGBOX_NPC
+VerdanturfTown_Mart_EventScript_ExpertF:: @ 82025C3
+ msgbox VerdanturfTown_Mart_Text_NoStrategyGuidesForBattleTent, MSGBOX_NPC
end
-VerdanturfTown_Mart_EventScript_2025CC:: @ 82025CC
- msgbox VerdanturfTown_Mart_Text_2026C9, MSGBOX_NPC
+VerdanturfTown_Mart_EventScript_Lass:: @ 82025CC
+ msgbox VerdanturfTown_Mart_Text_NestBallOnWeakenedPokemon, MSGBOX_NPC
end
-VerdanturfTown_Mart_Text_2025D5: @ 82025D5
+VerdanturfTown_Mart_Text_XSpecialIsCrucial: @ 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
+VerdanturfTown_Mart_Text_NoStrategyGuidesForBattleTent: @ 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
+VerdanturfTown_Mart_Text_NestBallOnWeakenedPokemon: @ 82026C9
.string "The NEST BALL works better on\n"
.string "weakened POKéMON.\p"
.string "VERDANTURF is the only place you can\n"
diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json
index f9df06d33..056e82ed1 100644
--- a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json
+++ b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_1F_EventScript_20273A",
+ "script": "VerdanturfTown_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_1F_EventScript_202748",
+ "script": "VerdanturfTown_PokemonCenter_1F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_1F_EventScript_202751",
+ "script": "VerdanturfTown_PokemonCenter_1F_EventScript_ExpertM",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6",
+ "script": "VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor",
"flag": "0"
}
],
diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc
index 5eb738e73..040e69a16 100644
--- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc
@@ -1,30 +1,31 @@
VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726
map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_PokemonCenter_1F_OnTransition
- map_script MAP_SCRIPT_ON_RESUME, VerdanturfTown_PokemonCenter_1F_MapScript1_277C30
+ map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume
.byte 0
VerdanturfTown_PokemonCenter_1F_OnTransition: @ 8202731
setrespawn HEAL_LOCATION_VERDANTURF_TOWN
- call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE
+ call Common_EventScript_UpdateBrineyLocation
end
-VerdanturfTown_PokemonCenter_1F_EventScript_20273A:: @ 820273A
+@ VAR_0x800B is the Nurse's object event id
+VerdanturfTown_PokemonCenter_1F_EventScript_Nurse:: @ 820273A
setvar VAR_0x800B, 1
- call VerdanturfTown_PokemonCenter_1F_EventScript_27191E
+ call Common_EventScript_PkmnCenterNurse
waitmessage
waitbuttonpress
release
end
-VerdanturfTown_PokemonCenter_1F_EventScript_202748:: @ 8202748
- msgbox VerdanturfTown_PokemonCenter_1F_Text_20275A, MSGBOX_NPC
+VerdanturfTown_PokemonCenter_1F_EventScript_Gentleman:: @ 8202748
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_FaithInYourPokemon, MSGBOX_NPC
end
-VerdanturfTown_PokemonCenter_1F_EventScript_202751:: @ 8202751
- msgbox VerdanturfTown_PokemonCenter_1F_Text_20280B, MSGBOX_NPC
+VerdanturfTown_PokemonCenter_1F_EventScript_ExpertM:: @ 8202751
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_VisitForBattleTent, MSGBOX_NPC
end
-VerdanturfTown_PokemonCenter_1F_Text_20275A: @ 820275A
+VerdanturfTown_PokemonCenter_1F_Text_FaithInYourPokemon: @ 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"
@@ -32,7 +33,7 @@ VerdanturfTown_PokemonCenter_1F_Text_20275A: @ 820275A
.string "in their battling POKéMON can win\l"
.string "through to the very end.$"
-VerdanturfTown_PokemonCenter_1F_Text_20280B: @ 820280B
+VerdanturfTown_PokemonCenter_1F_Text_VisitForBattleTent: @ 820280B
.string "The reason why anyone would visit\n"
.string "VERDANTURF…\p"
.string "It's the BATTLE TENT. It goes without\n"
diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json
index bfa6db09e..26f0d3aaa 100644
--- a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json
+++ b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_2F_EventScript_27375B",
+ "script": "Common_EventScript_UnionRoomAttendant",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_2F_EventScript_273761",
+ "script": "Common_EventScript_WirelessClubAttendant",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_2F_EventScript_273767",
+ "script": "Common_EventScript_DirectCornerAttendant",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_PokemonCenter_2F_EventScript_276B03",
+ "script": "CableClub_EventScript_MysteryGiftMan",
"flag": "FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN"
}
],
diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc
index 0964fa96f..7802f5b03 100644
--- a/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc
+++ b/data/maps/VerdanturfTown_PokemonCenter_2F/scripts.inc
@@ -1,19 +1,20 @@
VerdanturfTown_PokemonCenter_2F_MapScripts:: @ 8202897
- map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C
- map_script MAP_SCRIPT_ON_LOAD, VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE
- map_script MAP_SCRIPT_ON_TRANSITION, PokemonCenter_2F_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, CableClub_OnFrame
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, CableClub_OnWarp
+ map_script MAP_SCRIPT_ON_LOAD, CableClub_OnLoad
+ map_script MAP_SCRIPT_ON_TRANSITION, CableClub_OnTransition
.byte 0
-VerdanturfTown_PokemonCenter_2F_EventScript_2028AC:: @ 82028AC
- call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+@ The below 3 are unused and leftover from RS
+VerdanturfTown_PokemonCenter_2F_EventScript_Colosseum:: @ 82028AC
+ call CableClub_EventScript_Colosseum
end
-VerdanturfTown_PokemonCenter_2F_EventScript_2028B2:: @ 82028B2
- call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+VerdanturfTown_PokemonCenter_2F_EventScript_TradeCenter:: @ 82028B2
+ call CableClub_EventScript_TradeCenter
end
-VerdanturfTown_PokemonCenter_2F_EventScript_2028B8:: @ 82028B8
- call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+VerdanturfTown_PokemonCenter_2F_EventScript_RecordCorner:: @ 82028B8
+ call CableClub_EventScript_RecordCorner
end
diff --git a/data/maps/VerdanturfTown_WandasHouse/map.json b/data/maps/VerdanturfTown_WandasHouse/map.json
index 514b2581e..c09a61274 100644
--- a/data/maps/VerdanturfTown_WandasHouse/map.json
+++ b/data/maps/VerdanturfTown_WandasHouse/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_WandasHouse_EventScript_2028BF",
+ "script": "VerdanturfTown_WandasHouse_EventScript_Wally",
"flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY"
},
{
@@ -37,8 +37,8 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_WandasHouse_EventScript_202913",
- "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN"
+ "script": "VerdanturfTown_WandasHouse_EventScript_WandasBoyfriend",
+ "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND"
},
{
"graphics_id": "EVENT_OBJ_GFX_POKEFAN_M",
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_WandasHouse_EventScript_2028E1",
+ "script": "VerdanturfTown_WandasHouse_EventScript_WallysUncle",
"flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_WandasHouse_EventScript_20294E",
+ "script": "VerdanturfTown_WandasHouse_EventScript_WallysAunt",
"flag": "0"
},
{
@@ -76,8 +76,8 @@
"movement_range_y": 0,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VerdanturfTown_WandasHouse_EventScript_20291C",
- "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN"
+ "script": "VerdanturfTown_WandasHouse_EventScript_Wanda",
+ "flag": "FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA"
}
],
"warp_events": [
diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc
index c63aa3fa1..25d37a762 100644
--- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc
+++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc
@@ -1,88 +1,88 @@
VerdanturfTown_WandasHouse_MapScripts:: @ 82028BE
.byte 0
-VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF
+VerdanturfTown_WandasHouse_EventScript_Wally:: @ 82028BF
lock
faceplayer
- goto_if_set FLAG_WALLY_SPEECH, VerdanturfTown_WandasHouse_EventScript_2028D7
- msgbox VerdanturfTown_WandasHouse_Text_202993, MSGBOX_DEFAULT
+ goto_if_set FLAG_WALLY_SPEECH, VerdanturfTown_WandasHouse_EventScript_WallyShortSpeech
+ msgbox VerdanturfTown_WandasHouse_Text_StrongerSpeech, MSGBOX_DEFAULT
setflag FLAG_WALLY_SPEECH
release
end
-VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7
- msgbox VerdanturfTown_WandasHouse_Text_202ABE, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_WallyShortSpeech:: @ 82028D7
+ msgbox VerdanturfTown_WandasHouse_Text_StrongerSpeechShort, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1
+VerdanturfTown_WandasHouse_EventScript_WallysUncle:: @ 82028E1
lock
faceplayer
- goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_202909
- goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_2028FF
- msgbox VerdanturfTown_WandasHouse_Text_202B37, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_WallysUncleEverGrande
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_WallysUncleSlippedOff
+ msgbox VerdanturfTown_WandasHouse_Text_WallysNextDoor, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_2028FF:: @ 82028FF
- msgbox VerdanturfTown_WandasHouse_Text_202C20, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_WallysUncleSlippedOff:: @ 82028FF
+ msgbox VerdanturfTown_WandasHouse_Text_WallySlippedOff, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_202909:: @ 8202909
- msgbox VerdanturfTown_WandasHouse_Text_202C4E, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_WallysUncleEverGrande:: @ 8202909
+ msgbox VerdanturfTown_WandasHouse_Text_WallyGoneThatFar, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913
- msgbox VerdanturfTown_WandasHouse_Text_202E00, MSGBOX_NPC
+VerdanturfTown_WandasHouse_EventScript_WandasBoyfriend:: @ 8202913
+ msgbox VerdanturfTown_WandasHouse_Text_CanSeeGirlfriendEveryDay, MSGBOX_NPC
end
-VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C
+VerdanturfTown_WandasHouse_EventScript_Wanda:: @ 820291C
lock
faceplayer
- goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_202944
- goto_if_set FLAG_DEFEATED_WALLY_MAUVILLE, VerdanturfTown_WandasHouse_EventScript_20293A
- msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_WandaDontWorry
+ goto_if_set FLAG_DEFEATED_WALLY_MAUVILLE, VerdanturfTown_WandasHouse_EventScript_MeetWanda
+ msgbox VerdanturfTown_WandasHouse_Text_DontWorryAboutWally, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_20293A:: @ 820293A
- msgbox VerdanturfTown_WandasHouse_Text_202CCF, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_MeetWanda:: @ 820293A
+ msgbox VerdanturfTown_WandasHouse_Text_MeetWanda, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944
- msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_WandaDontWorry:: @ 8202944
+ msgbox VerdanturfTown_WandasHouse_Text_DontWorryAboutWally, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E
+VerdanturfTown_WandasHouse_EventScript_WallysAunt:: @ 820294E
lock
faceplayer
- goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_202989
- goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_20297F
- goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_202975
- msgbox VerdanturfTown_WandasHouse_Text_202E47, MSGBOX_DEFAULT
+ goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, VerdanturfTown_WandasHouse_EventScript_WallysAuntEverGrande
+ goto_if_set FLAG_DEFEATED_LAVARIDGE_GYM, VerdanturfTown_WandasHouse_EventScript_WallysAuntAnythingHappened
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_WallysAuntTunnelOpen
+ msgbox VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendDriven, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_202975:: @ 8202975
- msgbox VerdanturfTown_WandasHouse_Text_202F19, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_WallysAuntTunnelOpen:: @ 8202975
+ msgbox VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendWasDigging, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_20297F:: @ 820297F
- msgbox VerdanturfTown_WandasHouse_Text_202F73, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_WallysAuntAnythingHappened:: @ 820297F
+ msgbox VerdanturfTown_WandasHouse_Text_IfAnythingHappenedToWally, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_EventScript_202989:: @ 8202989
- msgbox VerdanturfTown_WandasHouse_Text_202FDB, MSGBOX_DEFAULT
+VerdanturfTown_WandasHouse_EventScript_WallysAuntEverGrande:: @ 8202989
+ msgbox VerdanturfTown_WandasHouse_Text_WallyWasInEverGrande, MSGBOX_DEFAULT
release
end
-VerdanturfTown_WandasHouse_Text_202993: @ 8202993
+VerdanturfTown_WandasHouse_Text_StrongerSpeech: @ 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"
@@ -94,13 +94,13 @@ VerdanturfTown_WandasHouse_Text_202993: @ 8202993
.string "When I do, I'm going to challenge you\n"
.string "to another battle.$"
-VerdanturfTown_WandasHouse_Text_202ABE: @ 8202ABE
+VerdanturfTown_WandasHouse_Text_StrongerSpeechShort: @ 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
+VerdanturfTown_WandasHouse_Text_WallysNextDoor: @ 8202B37
.string "UNCLE: Oh! {PLAYER}{KUN}!\n"
.string "WALLY's next door.\p"
.string "But, boy, there's something I have to\n"
@@ -111,18 +111,18 @@ VerdanturfTown_WandasHouse_Text_202B37: @ 8202B37
.string "It could be POKéMON that are giving\l"
.string "the boy hope.$"
-VerdanturfTown_WandasHouse_Text_202C20: @ 8202C20
+VerdanturfTown_WandasHouse_Text_WallySlippedOff: @ 8202C20
.string "WALLY's gone away…\n"
.string "He slipped off on his own…$"
-VerdanturfTown_WandasHouse_Text_202C4E: @ 8202C4E
+VerdanturfTown_WandasHouse_Text_WallyGoneThatFar: @ 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
+VerdanturfTown_WandasHouse_Text_MeetWanda: @ 8202CCF
.string "WANDA: You are?\n"
.string "Oh, right, I get it!\p"
.string "You're the {PLAYER} who WALLY was\n"
@@ -132,18 +132,18 @@ VerdanturfTown_WandasHouse_Text_202CCF: @ 8202CCF
.string "I think WALLY's become a lot more lively\n"
.string "and healthy since he came here.$"
-VerdanturfTown_WandasHouse_Text_202D91: @ 8202D91
+VerdanturfTown_WandasHouse_Text_DontWorryAboutWally: @ 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
+VerdanturfTown_WandasHouse_Text_CanSeeGirlfriendEveryDay: @ 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
+VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendDriven: @ 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"
@@ -151,17 +151,17 @@ VerdanturfTown_WandasHouse_Text_202E47: @ 8202E47
.string "My daughter's a little concerned,\n"
.string "so she goes out to the tunnel a lot.$"
-VerdanturfTown_WandasHouse_Text_202F19: @ 8202F19
+VerdanturfTown_WandasHouse_Text_DaughtersBoyfriendWasDigging: @ 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
+VerdanturfTown_WandasHouse_Text_IfAnythingHappenedToWally: @ 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
+VerdanturfTown_WandasHouse_Text_WallyWasInEverGrande: @ 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/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json
index 8685f3341..d76915648 100644
--- a/data/maps/VictoryRoad_1F/map.json
+++ b/data/maps/VictoryRoad_1F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "VictoryRoad_1F_EventScript_235E73",
+ "script": "VictoryRoad_1F_EventScript_Edgar",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "VictoryRoad_1F_EventScript_235EA1",
+ "script": "VictoryRoad_1F_EventScript_Hope",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "VictoryRoad_1F_EventScript_235E8A",
+ "script": "VictoryRoad_1F_EventScript_Albert",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_1F_EventScript_235E2C",
+ "script": "VictoryRoad_1F_EventScript_EntranceWally",
"flag": "FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "0",
"trainer_sight_or_berry_tree_id": "0",
- "script": "VictoryRoad_1F_EventScript_235E35",
+ "script": "VictoryRoad_1F_EventScript_ExitWally",
"flag": "FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY"
},
{
@@ -115,7 +115,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_1F_EventScript_235ECF",
+ "script": "VictoryRoad_1F_EventScript_Katelynn",
"flag": "0"
},
{
@@ -128,7 +128,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_1F_EventScript_235EB8",
+ "script": "VictoryRoad_1F_EventScript_Quincy",
"flag": "0"
}
],
@@ -177,7 +177,7 @@
"elevation": 4,
"var": "VAR_VICTORY_ROAD_1F_STATE",
"var_value": "0",
- "script": "VictoryRoad_1F_EventScript_235DAF"
+ "script": "VictoryRoad_1F_EventScript_WallyBattleTrigger1"
},
{
"type": "trigger",
@@ -186,7 +186,7 @@
"elevation": 4,
"var": "VAR_VICTORY_ROAD_1F_STATE",
"var_value": "0",
- "script": "VictoryRoad_1F_EventScript_235DC8"
+ "script": "VictoryRoad_1F_EventScript_WallyBattleTrigger2"
}
],
"bg_events": [
diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc
index b6983eac0..b400df12d 100644
--- a/data/maps/VictoryRoad_1F/scripts.inc
+++ b/data/maps/VictoryRoad_1F/scripts.inc
@@ -4,45 +4,45 @@ VictoryRoad_1F_MapScripts:: @ 8235D7A
VictoryRoad_1F_OnTransition: @ 8235D80
compare VAR_VICTORY_ROAD_1F_STATE, 1
- call_if_eq VictoryRoad_1F_EventScript_235D97
+ call_if_eq VictoryRoad_1F_EventScript_SetEntranceWallyPos1
compare VAR_VICTORY_ROAD_1F_STATE, 2
- call_if_eq VictoryRoad_1F_EventScript_235DA3
+ call_if_eq VictoryRoad_1F_EventScript_SetEntranceWallyPos2
end
-VictoryRoad_1F_EventScript_235D97:: @ 8235D97
+VictoryRoad_1F_EventScript_SetEntranceWallyPos1:: @ 8235D97
setobjectxyperm 4, 2, 24
setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN
return
-VictoryRoad_1F_EventScript_235DA3:: @ 8235DA3
+VictoryRoad_1F_EventScript_SetEntranceWallyPos2:: @ 8235DA3
setobjectxyperm 4, 3, 24
setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN
return
-VictoryRoad_1F_EventScript_235DAF:: @ 8235DAF
+VictoryRoad_1F_EventScript_WallyBattleTrigger1:: @ 8235DAF
lockall
setvar VAR_0x8008, 1
addobject 4
- applymovement 4, VictoryRoad_1F_Movement_235E15
+ applymovement 4, VictoryRoad_1F_Movement_WallyApproachPlayer1
waitmovement 0
- goto VictoryRoad_1F_EventScript_235DE1
+ goto VictoryRoad_1F_EventScript_WallyEntranceBattle
end
-VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8
+VictoryRoad_1F_EventScript_WallyBattleTrigger2:: @ 8235DC8
lockall
setvar VAR_0x8008, 2
addobject 4
- applymovement 4, VictoryRoad_1F_Movement_235E21
+ applymovement 4, VictoryRoad_1F_Movement_WallyApproachPlayer2
waitmovement 0
- goto VictoryRoad_1F_EventScript_235DE1
+ goto VictoryRoad_1F_EventScript_WallyEntranceBattle
end
-VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceDown
+VictoryRoad_1F_EventScript_WallyEntranceBattle:: @ 8235DE1
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestDown
waitmovement 0
- msgbox VictoryRoad_1F_Text_235EE6, MSGBOX_DEFAULT
- trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC
- msgbox VictoryRoad_1F_Text_236020, MSGBOX_DEFAULT
+ msgbox VictoryRoad_1F_Text_WallyNotGoingToLoseAnymore, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_WALLY_VR_1, VictoryRoad_1F_Text_WallyEntranceDefeat
+ msgbox VictoryRoad_1F_Text_WallyPostEntranceBattle, MSGBOX_DEFAULT
clearflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
copyobjectxytoperm 4
setflag FLAG_DEFEATED_WALLY_VICTORY_ROAD
@@ -50,7 +50,7 @@ VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1
releaseall
end
-VictoryRoad_1F_Movement_235E15: @ 8235E15
+VictoryRoad_1F_Movement_WallyApproachPlayer1: @ 8235E15
walk_left
walk_left
walk_left
@@ -64,7 +64,7 @@ VictoryRoad_1F_Movement_235E15: @ 8235E15
walk_up
step_end
-VictoryRoad_1F_Movement_235E21: @ 8235E21
+VictoryRoad_1F_Movement_WallyApproachPlayer2: @ 8235E21
walk_left
walk_left
walk_left
@@ -77,49 +77,51 @@ VictoryRoad_1F_Movement_235E21: @ 8235E21
walk_up
step_end
-VictoryRoad_1F_EventScript_235E2C:: @ 8235E2C
- msgbox VictoryRoad_1F_Text_236020, MSGBOX_NPC
+@ This Wally appears near the entrance once his battle is triggered and remains there until the Hall of Fame is entered
+VictoryRoad_1F_EventScript_EntranceWally:: @ 8235E2C
+ msgbox VictoryRoad_1F_Text_WallyPostEntranceBattle, MSGBOX_NPC
end
-VictoryRoad_1F_EventScript_235E35:: @ 8235E35
- trainerbattle_single TRAINER_WALLY_3, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
+@ This Wally appears and remains at the exit after the Hall of Fame is entered
+VictoryRoad_1F_EventScript_ExitWally:: @ 8235E35
+ trainerbattle_single TRAINER_WALLY_VR_2, VictoryRoad_1F_Text_WallyIntro, VictoryRoad_1F_Text_WallyDefeat
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, 1
- goto_if_eq VictoryRoad_1F_EventScript_235E5C
- msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE
+ compare VAR_RESULT, TRUE
+ goto_if_eq VictoryRoad_1F_EventScript_RematchWally
+ msgbox VictoryRoad_1F_Text_WallyPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_1F_EventScript_235E5C:: @ 8235E5C
- trainerbattle_rematch TRAINER_WALLY_3, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
- msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE
+VictoryRoad_1F_EventScript_RematchWally:: @ 8235E5C
+ trainerbattle_rematch TRAINER_WALLY_VR_2, VictoryRoad_1F_Text_WallyIntro, VictoryRoad_1F_Text_WallyDefeat
+ msgbox VictoryRoad_1F_Text_WallyPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_1F_EventScript_235E73:: @ 8235E73
- trainerbattle_single TRAINER_EDGAR, VictoryRoad_1F_Text_236184, VictoryRoad_1F_Text_2361CB
- msgbox VictoryRoad_1F_Text_2361E5, MSGBOX_AUTOCLOSE
+VictoryRoad_1F_EventScript_Edgar:: @ 8235E73
+ trainerbattle_single TRAINER_EDGAR, VictoryRoad_1F_Text_EdgarIntro, VictoryRoad_1F_Text_EdgarDefeat
+ msgbox VictoryRoad_1F_Text_EdgarPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_1F_EventScript_235E8A:: @ 8235E8A
- trainerbattle_single TRAINER_ALBERT, VictoryRoad_1F_Text_236248, VictoryRoad_1F_Text_236290
- msgbox VictoryRoad_1F_Text_2362A4, MSGBOX_AUTOCLOSE
+VictoryRoad_1F_EventScript_Albert:: @ 8235E8A
+ trainerbattle_single TRAINER_ALBERT, VictoryRoad_1F_Text_AlbertIntro, VictoryRoad_1F_Text_AlbertDefeat
+ msgbox VictoryRoad_1F_Text_AlbertPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_1F_EventScript_235EA1:: @ 8235EA1
- trainerbattle_single TRAINER_HOPE, VictoryRoad_1F_Text_2362EE, VictoryRoad_1F_Text_236336
- msgbox VictoryRoad_1F_Text_236356, MSGBOX_AUTOCLOSE
+VictoryRoad_1F_EventScript_Hope:: @ 8235EA1
+ trainerbattle_single TRAINER_HOPE, VictoryRoad_1F_Text_HopeIntro, VictoryRoad_1F_Text_HopeDefeat
+ msgbox VictoryRoad_1F_Text_HopePostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_1F_EventScript_235EB8:: @ 8235EB8
- trainerbattle_single TRAINER_QUINCY, VictoryRoad_1F_Text_236390, VictoryRoad_1F_Text_2363C4
- msgbox VictoryRoad_1F_Text_2363D5, MSGBOX_AUTOCLOSE
+VictoryRoad_1F_EventScript_Quincy:: @ 8235EB8
+ trainerbattle_single TRAINER_QUINCY, VictoryRoad_1F_Text_QuincyIntro, VictoryRoad_1F_Text_QuincyDefeat
+ msgbox VictoryRoad_1F_Text_QuincyPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_1F_EventScript_235ECF:: @ 8235ECF
- trainerbattle_single TRAINER_KATELYNN, VictoryRoad_1F_Text_236468, VictoryRoad_1F_Text_2364A7
- msgbox VictoryRoad_1F_Text_2364BB, MSGBOX_AUTOCLOSE
+VictoryRoad_1F_EventScript_Katelynn:: @ 8235ECF
+ trainerbattle_single TRAINER_KATELYNN, VictoryRoad_1F_Text_KatelynnIntro, VictoryRoad_1F_Text_KatelynnDefeat
+ msgbox VictoryRoad_1F_Text_KatelynnPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_1F_Text_235EE6: @ 8235EE6
+VictoryRoad_1F_Text_WallyNotGoingToLoseAnymore: @ 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"
@@ -131,89 +133,89 @@ VictoryRoad_1F_Text_235EE6: @ 8235EE6
.string "gave me courage and strength!\p"
.string "Okay… Here I come!$"
-VictoryRoad_1F_Text_235FFC: @ 8235FFC
+VictoryRoad_1F_Text_WallyEntranceDefeat: @ 8235FFC
.string "Wow!\n"
.string "{PLAYER}, you are strong, after all!$"
-VictoryRoad_1F_Text_236020: @ 8236020
+VictoryRoad_1F_Text_WallyPostEntranceBattle: @ 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
+VictoryRoad_1F_Text_WallyIntro: @ 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
+VictoryRoad_1F_Text_WallyDefeat: @ 82360DA
.string "Wow!\n"
.string "{PLAYER}, you are strong, after all!$"
-VictoryRoad_1F_Text_2360FE: @ 82360FE
+VictoryRoad_1F_Text_WallyPostBattle: @ 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
+VictoryRoad_1F_Text_EdgarIntro: @ 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
+VictoryRoad_1F_Text_EdgarDefeat: @ 82361CB
.string "My dream ends here again…$"
-VictoryRoad_1F_Text_2361E5: @ 82361E5
+VictoryRoad_1F_Text_EdgarPostBattle: @ 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
+VictoryRoad_1F_Text_AlbertIntro: @ 8236248
.string "I didn't come all this way to lose now.\n"
.string "That possibility doesn't exist!$"
-VictoryRoad_1F_Text_236290: @ 8236290
+VictoryRoad_1F_Text_AlbertDefeat: @ 8236290
.string "Impossible…\n"
.string "I lost?$"
-VictoryRoad_1F_Text_2362A4: @ 82362A4
+VictoryRoad_1F_Text_AlbertPostBattle: @ 82362A4
.string "I lost here…\p"
.string "That means I lack the qualifications\n"
.string "to become the CHAMPION…$"
-VictoryRoad_1F_Text_2362EE: @ 82362EE
+VictoryRoad_1F_Text_HopeIntro: @ 82362EE
.string "This seemingly infinite and harsh road\n"
.string "lives up to its name of VICTORY.$"
-VictoryRoad_1F_Text_236336: @ 8236336
+VictoryRoad_1F_Text_HopeDefeat: @ 8236336
.string "Your battle style is fantastic…$"
-VictoryRoad_1F_Text_236356: @ 8236356
+VictoryRoad_1F_Text_HopePostBattle: @ 8236356
.string "You seem to have the potential for\n"
.string "becoming the CHAMPION.$"
-VictoryRoad_1F_Text_236390: @ 8236390
+VictoryRoad_1F_Text_QuincyIntro: @ 8236390
.string "What is the VICTORY ROAD?\n"
.string "I'll tell you if you win!$"
-VictoryRoad_1F_Text_2363C4: @ 82363C4
+VictoryRoad_1F_Text_QuincyDefeat: @ 82363C4
.string "Okay!\n"
.string "Well done!$"
-VictoryRoad_1F_Text_2363D5: @ 82363D5
+VictoryRoad_1F_Text_QuincyPostBattle: @ 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
+VictoryRoad_1F_Text_KatelynnIntro: @ 8236468
.string "I have nothing to say to anyone\n"
.string "that's come this far. Come on!$"
-VictoryRoad_1F_Text_2364A7: @ 82364A7
+VictoryRoad_1F_Text_KatelynnDefeat: @ 82364A7
.string "This is a disgrace…$"
-VictoryRoad_1F_Text_2364BB: @ 82364BB
+VictoryRoad_1F_Text_KatelynnPostBattle: @ 82364BB
.string "Humph, go right on ahead.\n"
.string "See if I care.$"
diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json
index b8f00f4fb..3241c1364 100644
--- a/data/maps/VictoryRoad_B1F/map.json
+++ b/data/maps/VictoryRoad_B1F/map.json
@@ -193,7 +193,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "VictoryRoad_B1F_EventScript_2364E5",
+ "script": "VictoryRoad_B1F_EventScript_Samuel",
"flag": "0"
},
{
@@ -206,7 +206,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "VictoryRoad_B1F_EventScript_2364FC",
+ "script": "VictoryRoad_B1F_EventScript_Shannon",
"flag": "0"
},
{
@@ -219,7 +219,7 @@
"movement_range_y": 0,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_B1F_EventScript_236513",
+ "script": "VictoryRoad_B1F_EventScript_Michelle",
"flag": "0"
},
{
@@ -271,7 +271,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "VictoryRoad_B1F_EventScript_23652A",
+ "script": "VictoryRoad_B1F_EventScript_Mitchell",
"flag": "0"
},
{
@@ -284,7 +284,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "3",
- "script": "VictoryRoad_B1F_EventScript_236541",
+ "script": "VictoryRoad_B1F_EventScript_Halle",
"flag": "0"
}
],
diff --git a/data/maps/VictoryRoad_B1F/scripts.inc b/data/maps/VictoryRoad_B1F/scripts.inc
index c2fb918cc..fd175599c 100644
--- a/data/maps/VictoryRoad_B1F/scripts.inc
+++ b/data/maps/VictoryRoad_B1F/scripts.inc
@@ -1,88 +1,88 @@
VictoryRoad_B1F_MapScripts:: @ 82364E4
.byte 0
-VictoryRoad_B1F_EventScript_2364E5:: @ 82364E5
- trainerbattle_single TRAINER_SAMUEL, VictoryRoad_B1F_Text_236558, VictoryRoad_B1F_Text_2365AD
- msgbox VictoryRoad_B1F_Text_2365C4, MSGBOX_AUTOCLOSE
+VictoryRoad_B1F_EventScript_Samuel:: @ 82364E5
+ trainerbattle_single TRAINER_SAMUEL, VictoryRoad_B1F_Text_SamuelIntro, VictoryRoad_B1F_Text_SamuelDefeat
+ msgbox VictoryRoad_B1F_Text_SamuelPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B1F_EventScript_2364FC:: @ 82364FC
- trainerbattle_single TRAINER_SHANNON, VictoryRoad_B1F_Text_2365FD, VictoryRoad_B1F_Text_23664D
- msgbox VictoryRoad_B1F_Text_236678, MSGBOX_AUTOCLOSE
+VictoryRoad_B1F_EventScript_Shannon:: @ 82364FC
+ trainerbattle_single TRAINER_SHANNON, VictoryRoad_B1F_Text_ShannonIntro, VictoryRoad_B1F_Text_ShannonDefeat
+ msgbox VictoryRoad_B1F_Text_ShannonPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B1F_EventScript_236513:: @ 8236513
- trainerbattle_single TRAINER_MICHELLE, VictoryRoad_B1F_Text_2366C2, VictoryRoad_B1F_Text_23670B
- msgbox VictoryRoad_B1F_Text_23671B, MSGBOX_AUTOCLOSE
+VictoryRoad_B1F_EventScript_Michelle:: @ 8236513
+ trainerbattle_single TRAINER_MICHELLE, VictoryRoad_B1F_Text_MichelleIntro, VictoryRoad_B1F_Text_MichelleDefeat
+ msgbox VictoryRoad_B1F_Text_MichellePostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B1F_EventScript_23652A:: @ 823652A
- trainerbattle_single TRAINER_MITCHELL, VictoryRoad_B1F_Text_236757, VictoryRoad_B1F_Text_236780
- msgbox VictoryRoad_B1F_Text_2367A7, MSGBOX_AUTOCLOSE
+VictoryRoad_B1F_EventScript_Mitchell:: @ 823652A
+ trainerbattle_single TRAINER_MITCHELL, VictoryRoad_B1F_Text_MitchellIntro, VictoryRoad_B1F_Text_MitchellDefeat
+ msgbox VictoryRoad_B1F_Text_MitchellPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B1F_EventScript_236541:: @ 8236541
- trainerbattle_single TRAINER_HALLE, VictoryRoad_B1F_Text_2367FD, VictoryRoad_B1F_Text_23683B
- msgbox VictoryRoad_B1F_Text_23684C, MSGBOX_AUTOCLOSE
+VictoryRoad_B1F_EventScript_Halle:: @ 8236541
+ trainerbattle_single TRAINER_HALLE, VictoryRoad_B1F_Text_HalleIntro, VictoryRoad_B1F_Text_HalleDefeat
+ msgbox VictoryRoad_B1F_Text_HallePostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B1F_Text_236558: @ 8236558
+VictoryRoad_B1F_Text_SamuelIntro: @ 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
+VictoryRoad_B1F_Text_SamuelDefeat: @ 82365AD
.string "I couldn't do a thing…$"
-VictoryRoad_B1F_Text_2365C4: @ 82365C4
+VictoryRoad_B1F_Text_SamuelPostBattle: @ 82365C4
.string "The POKéMON LEAGUE became distant\n"
.string "again… What a letdown…$"
-VictoryRoad_B1F_Text_2365FD: @ 82365FD
+VictoryRoad_B1F_Text_ShannonIntro: @ 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
+VictoryRoad_B1F_Text_ShannonDefeat: @ 823664D
.string "Your relationship is based on\n"
.string "solid trust.$"
-VictoryRoad_B1F_Text_236678: @ 8236678
+VictoryRoad_B1F_Text_ShannonPostBattle: @ 8236678
.string "By being together all the time, trust\n"
.string "grows between POKéMON and TRAINERS.$"
-VictoryRoad_B1F_Text_2366C2: @ 82366C2
+VictoryRoad_B1F_Text_MichelleIntro: @ 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
+VictoryRoad_B1F_Text_MichelleDefeat: @ 823670B
.string "That's the way!$"
-VictoryRoad_B1F_Text_23671B: @ 823671B
+VictoryRoad_B1F_Text_MichellePostBattle: @ 823671B
.string "You'll do fine, for sure!\n"
.string "Your POKéMON are all eager to go!$"
-VictoryRoad_B1F_Text_236757: @ 8236757
+VictoryRoad_B1F_Text_MitchellIntro: @ 8236757
.string "My POKéMON are cosmically\n"
.string "awe inspiring!$"
-VictoryRoad_B1F_Text_236780: @ 8236780
+VictoryRoad_B1F_Text_MitchellDefeat: @ 8236780
.string "I've never met anyone like you before.$"
-VictoryRoad_B1F_Text_2367A7: @ 82367A7
+VictoryRoad_B1F_Text_MitchellPostBattle: @ 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
+VictoryRoad_B1F_Text_HalleIntro: @ 82367FD
.string "Okay, no need to get your back up!\n"
.string "Relax, let's take it easy!$"
-VictoryRoad_B1F_Text_23683B: @ 823683B
+VictoryRoad_B1F_Text_HalleDefeat: @ 823683B
.string "Whoa!\n"
.string "Wonderful!$"
-VictoryRoad_B1F_Text_23684C: @ 823684C
+VictoryRoad_B1F_Text_HallePostBattle: @ 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"
diff --git a/data/maps/VictoryRoad_B2F/map.json b/data/maps/VictoryRoad_B2F/map.json
index de10ef891..d78339b52 100644
--- a/data/maps/VictoryRoad_B2F/map.json
+++ b/data/maps/VictoryRoad_B2F/map.json
@@ -24,7 +24,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_B2F_EventScript_2368D5",
+ "script": "VictoryRoad_B2F_EventScript_Vito",
"flag": "0"
},
{
@@ -37,7 +37,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "4",
- "script": "VictoryRoad_B2F_EventScript_2368EC",
+ "script": "VictoryRoad_B2F_EventScript_Owen",
"flag": "0"
},
{
@@ -50,7 +50,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_B2F_EventScript_236903",
+ "script": "VictoryRoad_B2F_EventScript_Caroline",
"flag": "0"
},
{
@@ -63,7 +63,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_B2F_EventScript_23691A",
+ "script": "VictoryRoad_B2F_EventScript_Julie",
"flag": "0"
},
{
@@ -89,7 +89,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_B2F_EventScript_236948",
+ "script": "VictoryRoad_B2F_EventScript_Dianne",
"flag": "0"
},
{
@@ -102,7 +102,7 @@
"movement_range_y": 1,
"trainer_type": "1",
"trainer_sight_or_berry_tree_id": "2",
- "script": "VictoryRoad_B2F_EventScript_236931",
+ "script": "VictoryRoad_B2F_EventScript_Felix",
"flag": "0"
}
],
diff --git a/data/maps/VictoryRoad_B2F/scripts.inc b/data/maps/VictoryRoad_B2F/scripts.inc
index 732878de3..9db635a85 100644
--- a/data/maps/VictoryRoad_B2F/scripts.inc
+++ b/data/maps/VictoryRoad_B2F/scripts.inc
@@ -1,108 +1,108 @@
VictoryRoad_B2F_MapScripts:: @ 82368D4
.byte 0
-VictoryRoad_B2F_EventScript_2368D5:: @ 82368D5
- trainerbattle_single TRAINER_VITO, VictoryRoad_B2F_Text_23695F, VictoryRoad_B2F_Text_2369B3
- msgbox VictoryRoad_B2F_Text_2369DE, MSGBOX_AUTOCLOSE
+VictoryRoad_B2F_EventScript_Vito:: @ 82368D5
+ trainerbattle_single TRAINER_VITO, VictoryRoad_B2F_Text_VitoIntro, VictoryRoad_B2F_Text_VitoDefeat
+ msgbox VictoryRoad_B2F_Text_VitoPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B2F_EventScript_2368EC:: @ 82368EC
- trainerbattle_single TRAINER_OWEN, VictoryRoad_B2F_Text_236A4C, VictoryRoad_B2F_Text_236A92
- msgbox VictoryRoad_B2F_Text_236AAE, MSGBOX_AUTOCLOSE
+VictoryRoad_B2F_EventScript_Owen:: @ 82368EC
+ trainerbattle_single TRAINER_OWEN, VictoryRoad_B2F_Text_OwenIntro, VictoryRoad_B2F_Text_OwenDefeat
+ msgbox VictoryRoad_B2F_Text_OwenPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B2F_EventScript_236903:: @ 8236903
- trainerbattle_single TRAINER_CAROLINE, VictoryRoad_B2F_Text_236AF0, VictoryRoad_B2F_Text_236B14
- msgbox VictoryRoad_B2F_Text_236B2F, MSGBOX_AUTOCLOSE
+VictoryRoad_B2F_EventScript_Caroline:: @ 8236903
+ trainerbattle_single TRAINER_CAROLINE, VictoryRoad_B2F_Text_CarolineIntro, VictoryRoad_B2F_Text_CarolineDefeat
+ msgbox VictoryRoad_B2F_Text_CarolinePostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B2F_EventScript_23691A:: @ 823691A
- trainerbattle_single TRAINER_JULIE, VictoryRoad_B2F_Text_236B88, VictoryRoad_B2F_Text_236C0A
- msgbox VictoryRoad_B2F_Text_236C21, MSGBOX_AUTOCLOSE
+VictoryRoad_B2F_EventScript_Julie:: @ 823691A
+ trainerbattle_single TRAINER_JULIE, VictoryRoad_B2F_Text_JulieIntro, VictoryRoad_B2F_Text_JulieDefeat
+ msgbox VictoryRoad_B2F_Text_JuliePostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B2F_EventScript_236931:: @ 8236931
- trainerbattle_single TRAINER_FELIX, VictoryRoad_B2F_Text_236C67, VictoryRoad_B2F_Text_236CAB
- msgbox VictoryRoad_B2F_Text_236CBA, MSGBOX_AUTOCLOSE
+VictoryRoad_B2F_EventScript_Felix:: @ 8236931
+ trainerbattle_single TRAINER_FELIX, VictoryRoad_B2F_Text_FelixIntro, VictoryRoad_B2F_Text_FelixDefeat
+ msgbox VictoryRoad_B2F_Text_FelixPostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B2F_EventScript_236948:: @ 8236948
- trainerbattle_single TRAINER_DIANNE, VictoryRoad_B2F_Text_236D27, VictoryRoad_B2F_Text_236D6E
- msgbox VictoryRoad_B2F_Text_236D8C, MSGBOX_AUTOCLOSE
+VictoryRoad_B2F_EventScript_Dianne:: @ 8236948
+ trainerbattle_single TRAINER_DIANNE, VictoryRoad_B2F_Text_DianneIntro, VictoryRoad_B2F_Text_DianneDefeat
+ msgbox VictoryRoad_B2F_Text_DiannePostBattle, MSGBOX_AUTOCLOSE
end
-VictoryRoad_B2F_Text_23695F: @ 823695F
+VictoryRoad_B2F_Text_VitoIntro: @ 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
+VictoryRoad_B2F_Text_VitoDefeat: @ 82369B3
.string "Better than my family?!\n"
.string "Is that possible?!$"
-VictoryRoad_B2F_Text_2369DE: @ 82369DE
+VictoryRoad_B2F_Text_VitoPostBattle: @ 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
+VictoryRoad_B2F_Text_OwenIntro: @ 8236A4C
.string "I'd heard that there was a tough\n"
.string "little kid around. Do they mean you?$"
-VictoryRoad_B2F_Text_236A92: @ 8236A92
+VictoryRoad_B2F_Text_OwenDefeat: @ 8236A92
.string "The little shrimp is tough!$"
-VictoryRoad_B2F_Text_236AAE: @ 8236AAE
+VictoryRoad_B2F_Text_OwenPostBattle: @ 8236AAE
.string "The rumors I heard, that tough little\n"
.string "kid is from PETALBURG CITY.$"
-VictoryRoad_B2F_Text_236AF0: @ 8236AF0
+VictoryRoad_B2F_Text_CarolineIntro: @ 8236AF0
.string "You must be getting a little tired.$"
-VictoryRoad_B2F_Text_236B14: @ 8236B14
+VictoryRoad_B2F_Text_CarolineDefeat: @ 8236B14
.string "No signs of tiring at all!$"
-VictoryRoad_B2F_Text_236B2F: @ 8236B2F
+VictoryRoad_B2F_Text_CarolinePostBattle: @ 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
+VictoryRoad_B2F_Text_JulieIntro: @ 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
+VictoryRoad_B2F_Text_JulieDefeat: @ 8236C0A
.string "You're better than me!$"
-VictoryRoad_B2F_Text_236C21: @ 8236C21
+VictoryRoad_B2F_Text_JuliePostBattle: @ 8236C21
.string "Gaze on your collected BADGES and\n"
.string "remember the TRAINERS you've faced.$"
-VictoryRoad_B2F_Text_236C67: @ 8236C67
+VictoryRoad_B2F_Text_FelixIntro: @ 8236C67
.string "I've come this far, but the tension's\n"
.string "giving me awful stomach pain…$"
-VictoryRoad_B2F_Text_236CAB: @ 8236CAB
+VictoryRoad_B2F_Text_FelixDefeat: @ 8236CAB
.string "Ooh…\n"
.string "It hurts…$"
-VictoryRoad_B2F_Text_236CBA: @ 8236CBA
+VictoryRoad_B2F_Text_FelixPostBattle: @ 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
+VictoryRoad_B2F_Text_DianneIntro: @ 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
+VictoryRoad_B2F_Text_DianneDefeat: @ 8236D6E
.string "Not rattled in the least bit!$"
-VictoryRoad_B2F_Text_236D8C: @ 8236D8C
+VictoryRoad_B2F_Text_DiannePostBattle: @ 8236D8C
.string "You do have guts! I like that!\n"
.string "Keep it going!$"
diff --git a/data/maps/map_groups.json b/data/maps/map_groups.json
index 4088ddbb5..0a5ee32cf 100644
--- a/data/maps/map_groups.json
+++ b/data/maps/map_groups.json
@@ -132,8 +132,8 @@
"FallarborTown_BattleTentBattleRoom",
"FallarborTown_PokemonCenter_1F",
"FallarborTown_PokemonCenter_2F",
- "FallarborTown_House1",
- "FallarborTown_House2"
+ "FallarborTown_CozmosHouse",
+ "FallarborTown_MoveRelearnersHouse"
],
"gMapGroup6": [
"VerdanturfTown_BattleTentLobby",
@@ -170,12 +170,12 @@
"SlateportCity_BattleTentLobby",
"SlateportCity_BattleTentCorridor",
"SlateportCity_BattleTentBattleRoom",
- "SlateportCity_House1",
+ "SlateportCity_NameRatersHouse",
"SlateportCity_PokemonFanClub",
"SlateportCity_OceanicMuseum_1F",
"SlateportCity_OceanicMuseum_2F",
"SlateportCity_Harbor",
- "SlateportCity_House2",
+ "SlateportCity_House",
"SlateportCity_PokemonCenter_1F",
"SlateportCity_PokemonCenter_2F",
"SlateportCity_Mart"
@@ -456,22 +456,22 @@
"SecretBase_YellowCave4",
"SecretBase_Tree4",
"SecretBase_Shrub4",
- "SingleBattleColosseum",
+ "BattleColosseum_2P",
"TradeCenter",
"RecordCorner",
- "DoubleBattleColosseum",
- "LinkContestRoom1",
+ "BattleColosseum_4P",
+ "ContestHall",
"UnknownLinkContestRoom_25_29",
"UnknownLinkContestRoom_25_30",
"UnknownLinkContestRoom_25_31",
"UnknownLinkContestRoom_25_32",
"UnknownLinkContestRoom_25_33",
"UnknownLinkContestRoom_25_34",
- "LinkContestRoom2",
- "LinkContestRoom3",
- "LinkContestRoom4",
- "LinkContestRoom5",
- "LinkContestRoom6",
+ "ContestHallBeauty",
+ "ContestHallTough",
+ "ContestHallCool",
+ "ContestHallSmart",
+ "ContestHallCute",
"InsideOfTruck",
"SSTidalCorridor",
"SSTidalLowerDeck",
@@ -510,9 +510,9 @@
"SafariZone_Northeast",
"SafariZone_Southeast",
"BattleFrontier_OutsideEast",
+ "BattleFrontier_BattleTowerMultiPartnerRoom",
+ "BattleFrontier_BattleTowerMultiCorridor",
"BattleFrontier_BattleTowerMultiBattleRoom",
- "BattleFrontier_BattleTowerCorridor2",
- "BattleFrontier_BattleTowerBattleRoom2",
"BattleFrontier_BattleDomeLobby",
"BattleFrontier_BattleDomeCorridor",
"BattleFrontier_BattleDomePreBattleRoom",
@@ -521,7 +521,7 @@
"BattleFrontier_BattlePalaceCorridor",
"BattleFrontier_BattlePalaceBattleRoom",
"BattleFrontier_BattlePyramidLobby",
- "BattleFrontier_BattlePyramidEmptySquare",
+ "BattleFrontier_BattlePyramidFloor",
"BattleFrontier_BattlePyramidTop",
"BattleFrontier_BattleArenaLobby",
"BattleFrontier_BattleArenaCorridor",
@@ -532,12 +532,12 @@
"BattleFrontier_BattlePikeLobby",
"BattleFrontier_BattlePikeCorridor",
"BattleFrontier_BattlePikeThreePathRoom",
- "BattleFrontier_BattlePikeRandomRoom1",
- "BattleFrontier_BattlePikeRandomRoom2",
- "BattleFrontier_BattlePikeRandomRoom3",
+ "BattleFrontier_BattlePikeRoomNormal",
+ "BattleFrontier_BattlePikeRoomFinal",
+ "BattleFrontier_BattlePikeRoomWildMons",
"BattleFrontier_RankingHall",
"BattleFrontier_Lounge1",
- "BattleFrontier_BattlePointExchangeServiceCorner",
+ "BattleFrontier_ExchangeServiceCorner",
"BattleFrontier_Lounge2",
"BattleFrontier_Lounge3",
"BattleFrontier_Lounge4",
diff --git a/data/mystery_event.s b/data/mystery_event.s
new file mode 100644
index 000000000..d707731b6
--- /dev/null
+++ b/data/mystery_event.s
@@ -0,0 +1,25 @@
+#include "constants/global.h"
+#include "constants/flags.h"
+#include "constants/items.h"
+#include "constants/map_scripts.h"
+#include "constants/mevent.h"
+#include "constants/moves.h"
+#include "constants/region_map_sections.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/vars.h"
+ .include "asm/macros.inc"
+ .include "asm/macros/event.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+ .include "data/scripts/mevent_stamp_card.inc"
+ .include "data/scripts/mevent_pichu.inc"
+ .include "data/scripts/mevent_trainer.inc"
+ .include "data/scripts/mevent_battle_card.inc"
+ .include "data/scripts/mevent_aurora_ticket.inc"
+ .include "data/scripts/mevent_mystic_ticket.inc"
+ .include "data/scripts/mevent_altering_cave.inc"
+ .include "data/scripts/mevent_old_sea_map.inc"
diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s
deleted file mode 100644
index dd1f8e681..000000000
--- a/data/mystery_event_msg.s
+++ /dev/null
@@ -1,343 +0,0 @@
-#include "constants/flags.h"
-#include "constants/items.h"
-#include "constants/map_scripts.h"
-#include "constants/moves.h"
-#include "constants/songs.h"
-#include "constants/species.h"
-#include "constants/vars.h"
- .include "asm/macros.inc"
- .include "asm/macros/event.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-
-MysteryEventScript_StampCard:: @ 8674CB0
- setvaddress MysteryEventScript_StampCard
- setorcopyvar VAR_RESULT, 1
- specialvar VAR_0x8008, sub_813986C
- setorcopyvar VAR_RESULT, 0
- specialvar VAR_0x8009, sub_813986C
- subvar VAR_0x8008, 32777
- buffernumberstring 0, VAR_0x8008
- lock
- faceplayer
- vmessage sText_MysteryGiftStampCard
- waitmessage
- waitbuttonpress
- release
- end
-
-sText_MysteryGiftStampCard:
- .string "Thank you for using the STAMP CARD\nSystem.\pYou have {STR_VAR_1} more to collect to\nfill your STAMP CARD.$"
-
-MysteryEventScript_SurfPichu:: @ 8674D3D
- setvaddress MysteryEventScript_SurfPichu
- checkflag FLAG_MYSTERY_EVENT_DONE
- vgoto_if 0, SurfPichu_GiveIfPossible
- returnram
-
-SurfPichu_GiveIfPossible: @ 8674D4C
- specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 6
- vgoto_if 1, SurfPichu_FullParty
- setflag FLAG_MYSTERY_EVENT_DONE
- vcall SurfPichu_GiveEgg
- lock
- faceplayer
- vmessage sText_MysteryGiftEgg
- waitmessage
- waitbuttonpress
- playfanfare MUS_FANFA4
- waitfanfare
- release
- end
-
-SurfPichu_FullParty: @ 8674D73
- lock
- faceplayer
- vmessage sText_FullParty
- waitmessage
- waitbuttonpress
- release
- end
-
-SurfPichu_GiveEgg: @ 8674D7E
- giveegg SPECIES_PICHU
- setmonobedient VAR_EVENT_PICHU_SLOT
- setmonmetlocation VAR_EVENT_PICHU_SLOT, 255
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 1
- vgoto_if 1, SurfPichu_Slot1
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 2
- vgoto_if 1, SurfPichu_Slot2
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 3
- vgoto_if 1, SurfPichu_Slot3
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 4
- vgoto_if 1, SurfPichu_Slot4
- compare_var_to_value VAR_EVENT_PICHU_SLOT, 5
- vgoto_if 1, SurfPichu_Slot5
- return
-
-SurfPichu_Slot1: @ 8674DC0
- setmonmove 1, 2, MOVE_SURF
- return
-
-SurfPichu_Slot2:: @ 8674DC6
- setmonmove 2, 2, MOVE_SURF
- return
-
-SurfPichu_Slot3: @ 8674DCC
- setmonmove 3, 2, MOVE_SURF
- return
-
-SurfPichu_Slot4: @ 8674DD2
- setmonmove 4, 2, MOVE_SURF
- return
-
-SurfPichu_Slot5: @ 8674DD8
- setmonmove 5, 2, MOVE_SURF
- return
-
-sText_MysteryGiftEgg:
- .string "Thank you for using the MYSTERY\nGIFT System.\pFrom the POKéMON CENTER we\nhave a gift--a POKéMON EGG!\pPlease raise it with love and\nkindness.$"
-
-sText_FullParty:
- .string "Oh, your party appears to be full.\pPlease come see me after storing\na POKéMON on a PC.$"
-
-MysteryEventScript_VisitingTrainer:: @ 8674EC1
- setvaddress MysteryEventScript_VisitingTrainer
- special ValidateEReaderTrainer
- compare_var_to_value VAR_RESULT, 0
- vgoto_if 1, MysteryEventScript_VisitingTrainerArrived
- lock
- faceplayer
- vmessage sText_MysteryGiftVisitingTrainer
- waitmessage
- waitbuttonpress
- release
- end
-
-MysteryEventScript_VisitingTrainerArrived: @ 8674EDF
- lock
- faceplayer
- vmessage sText_MysteryGiftVisitingTrainer_2
- waitmessage
- waitbuttonpress
- release
- end
-
-sText_MysteryGiftVisitingTrainer:
- .string "Thank you for using the MYSTERY\nGIFT System.\pBy holding this WONDER CARD, you\nmay take part in a survey at a\lPOKéMON MART.\pUse these surveys to invite\nTRAINERS to SOOTOPOLIS CITY.\p…Let me give you a secret\npassword for a survey:\p“GIVE ME\nAWESOME TRAINER”\pWrite that in on a survey and send\nit to the WIRELESS\lCOMMUNICATION SYSTEM.$"
-
-sText_MysteryGiftVisitingTrainer_2:
- .string "Thank you for using the MYSTERY\nGIFT System.\pA TRAINER has arrived in\nSOOTOPOLIS CITY looking for you.\pWe hope you will enjoy\nbattling the visiting TRAINER.\pYou may invite other TRAINERS by\nentering other passwords.\pTry looking for other passwords\nthat may work.$"
-
-MysteryEventScript_BattleCard:: @ 867513C
- setvaddress MysteryEventScript_BattleCard
- checkflag FLAG_MYSTERY_EVENT_DONE
- vgoto_if 1, MysteryEventScript_BattleCardInfo
- setorcopyvar VAR_RESULT, 2
- specialvar VAR_0x8008, sub_813986C
- compare_var_to_value VAR_0x8008, 3
- vgoto_if 0, MysteryEventScript_BattleCardInfo
- lock
- faceplayer
- vmessage sText_MysteryGiftBattleCountCard_2
- waitmessage
- waitbuttonpress
- giveitem_std ITEM_POTION
- release
- setflag FLAG_MYSTERY_EVENT_DONE
- end
-
-MysteryEventScript_BattleCardInfo: @ 8675179
- lock
- faceplayer
- vmessage sText_MysteryGiftBattleCountCard
- waitmessage
- waitbuttonpress
- release
- end
-
-sText_MysteryGiftBattleCountCard:
- .string "Thank you for using the MYSTERY\nGIFT System.\pYour BATTLE COUNT CARD keeps\ntrack of your battle record against\lTRAINERS with the same CARD.\pLook for and battle TRAINERS who\nhave the same CARD as you.\pYou may check the overall rankings\nby reading the NEWS.\pPlease do give it a try!$"
-
-sText_MysteryGiftBattleCountCard_2:
- .string "Thank you for using the MYSTERY\nGIFT System.\pCongratulations!\pYou have won a prize for winning\nthree battles!\pWe hope you will be inspired to\nbattle some more.$"
-
-MysteryEventScript_AuroraTicket:: @ 867533C
- setvaddress MysteryEventScript_AuroraTicket
- lock
- faceplayer
- checkflag FLAG_RECEIVED_AURORA_TICKET
- vgoto_if 1, AuroraTicket_Obtained
- checkflag FLAG_BATTLED_DEOXYS
- vgoto_if 1, AuroraTicket_Obtained
- checkitem ITEM_AURORA_TICKET, 1
- compare_var_to_value VAR_RESULT, 1
- vgoto_if 1, AuroraTicket_Obtained
- vmessage sText_AuroraTicket1
- waitmessage
- waitbuttonpress
- checkitemspace ITEM_AURORA_TICKET, 1
- compare_var_to_value VAR_RESULT, 0
- vgoto_if 1, AuroraTicket_NoBagSpace
- giveitem_std ITEM_AURORA_TICKET
- setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND
- setflag FLAG_RECEIVED_AURORA_TICKET
- vmessage sText_AuroraTicket2
- waitmessage
- waitbuttonpress
- release
- end
-
-AuroraTicket_NoBagSpace: @ 8675397
- vmessage sText_AuroraTicketNoPlace
- waitmessage
- waitbuttonpress
- release
- end
-
-AuroraTicket_Obtained: @ 86753A0
- vmessage sText_AuroraTicketGot
- waitmessage
- waitbuttonpress
- release
- end
-
-sText_AuroraTicket1:
- .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$"
-
-sText_AuroraTicket2:
- .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
-
-sText_AuroraTicketGot:
- .string "Thank you for using the MYSTERY\nGIFT System.$"
-
-sText_AuroraTicketNoPlace:
- .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$"
-
-MysteryEventScript_MysticTicket:: @ 867550B
- setvaddress MysteryEventScript_MysticTicket
- lock
- faceplayer
- checkflag FLAG_RECEIVED_MYSTIC_TICKET
- vgoto_if 1, MysticTicket_Obtained
- checkflag FLAG_CAUGHT_LUGIA
- vgoto_if 1, MysticTicket_Obtained
- checkflag FLAG_CAUGHT_HO_OH
- vgoto_if 1, MysticTicket_Obtained
- checkitem ITEM_MYSTIC_TICKET, 1
- compare_var_to_value VAR_RESULT, 1
- vgoto_if 1, MysticTicket_Obtained
- vmessage sText_MysticTicket2
- waitmessage
- waitbuttonpress
- checkitemspace ITEM_MYSTIC_TICKET, 1
- compare_var_to_value VAR_RESULT, 0
- vgoto_if 1, MysticTicket_NoBagSpace
- giveitem_std ITEM_MYSTIC_TICKET
- setflag FLAG_ENABLE_SHIP_NAVEL_ROCK
- setflag FLAG_RECEIVED_MYSTIC_TICKET
- vmessage sText_MysticTicket1
- waitmessage
- waitbuttonpress
- release
- end
-
-MysticTicket_NoBagSpace: @ 867556F
- vmessage sText_MysticTicketNoPlace
- waitmessage
- waitbuttonpress
- release
- end
-
-MysticTicket_Obtained: @ 8675578
- vmessage sText_MysticTicketGot
- waitmessage
- waitbuttonpress
- release
- end
-
-sText_MysticTicket2:
- .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$"
-
-sText_MysticTicket1:
- .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
-
-sText_MysticTicketGot:
- .string "Thank you for using the MYSTERY\nGIFT System.$"
-
-sText_MysticTicketNoPlace:
- .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$"
-
-MysteryEventScript_AlteringCave:: @ 86756E3
- setvaddress MysteryEventScript_AlteringCave
- addvar VAR_ALTERING_CAVE_WILD_SET, 1
- compare_var_to_value VAR_ALTERING_CAVE_WILD_SET, 10
- vgoto_if 0, MysteryEventScript_AlteringCave_
- setvar VAR_ALTERING_CAVE_WILD_SET, 0
-MysteryEventScript_AlteringCave_: @ 86756FD
- lock
- faceplayer
- vmessage sText_MysteryGiftAlteringCave
- waitmessage
- waitbuttonpress
- release
- end
-
-sText_MysteryGiftAlteringCave::
- .string "Thank you for using the MYSTERY\nGIFT System.\pThere appears to be a rumor about\nrare POKéMON sightings.\pThe sightings reportedly came from\nthe ALTERING CAVE on ROUTE 103.\pPerhaps it would be worthwhile for\nyou to investigate this rumor.$"
-
-MysteryEventScript_OldSeaMap:: @ 86757F4
- setvaddress MysteryEventScript_OldSeaMap
- lock
- faceplayer
- checkflag FLAG_RECEIVED_OLD_SEA_MAP
- vgoto_if 1, OldSeaMap_Obtained
- checkflag FLAG_CAUGHT_MEW
- vgoto_if 1, OldSeaMap_Obtained
- checkitem ITEM_OLD_SEA_MAP, 1
- compare_var_to_value VAR_RESULT, 1
- vgoto_if 1, OldSeaMap_Obtained
- vmessage sText_MysteryGiftOldSeaMap
- waitmessage
- waitbuttonpress
- checkitemspace ITEM_OLD_SEA_MAP, 1
- compare_var_to_value VAR_RESULT, 0
- vgoto_if 1, OldSeaMap_NoBagSpace
- giveitem_std ITEM_OLD_SEA_MAP
- setflag FLAG_ENABLE_SHIP_FARAWAY_ISLAND
- setflag FLAG_RECEIVED_OLD_SEA_MAP
- vmessage sText_MysteryGiftOldSeaMap_1
- waitmessage
- waitbuttonpress
- release
- end
-
-OldSeaMap_NoBagSpace: @ 867584F
- vmessage sText_MysteryGiftOldSeaMap_3
- waitmessage
- waitbuttonpress
- release
- end
-
-OldSeaMap_Obtained: @ 8675858
- vmessage sText_MysteryGiftOldSeaMap_2
- waitmessage
- waitbuttonpress
- release
- end
-
-sText_MysteryGiftOldSeaMap:
- .string "Thank you for using the MYSTERY\nGIFT System.\pLet me confirm--you are {PLAYER}?\pWe received this OLD SEA MAP\naddressed to you.$"
-
-sText_MysteryGiftOldSeaMap_1:
- .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
-
-sText_MysteryGiftOldSeaMap_2:
- .string "Thank you for using the MYSTERY\nGIFT System.$"
-
-sText_MysteryGiftOldSeaMap_3:
- .string "Oh, I'm sorry, {PLAYER}.\nYour BAG's KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$"
diff --git a/data/mossdeep_gym.s b/data/rotating_tile_puzzle.s
index 01eb792b7..f9cf208db 100644
--- a/data/mossdeep_gym.s
+++ b/data/rotating_tile_puzzle.s
@@ -2,42 +2,42 @@
.section .rodata
-gUnknown_08612698:: @ 8612698
+RotatingTilePuzzle_Movement_ShiftRight:: @ 8612698
store_lock_anim
walk_right
free_unlock_anim
step_end
-gUnknown_0861269C:: @ 861269C
+RotatingTilePuzzle_Movement_ShiftDown:: @ 861269C
store_lock_anim
walk_down
free_unlock_anim
step_end
-gUnknown_086126A0:: @ 86126A0
+RotatingTilePuzzle_Movement_ShiftLeft:: @ 86126A0
store_lock_anim
walk_left
free_unlock_anim
step_end
-gUnknown_086126A4:: @ 86126A4
+RotatingTilePuzzle_Movement_ShiftUp:: @ 86126A4
store_lock_anim
walk_up
free_unlock_anim
step_end
-gUnknown_086126A8:: @ 86126A8
+RotatingTilePuzzle_Movement_FaceRight:: @ 86126A8
face_right
step_end
-gUnknown_086126AA:: @ 86126AA
+RotatingTilePuzzle_Movement_FaceDown:: @ 86126AA
face_down
step_end
-gUnknown_086126AC:: @ 86126AC
+RotatingTilePuzzle_Movement_FaceLeft:: @ 86126AC
face_left
step_end
-gUnknown_086126AE:: @ 86126AE
+RotatingTilePuzzle_Movement_FaceUp:: @ 86126AE
face_up
step_end
diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc
index 910227a92..2cde7190f 100644
--- a/data/script_cmd_table.inc
+++ b/data/script_cmd_table.inc
@@ -68,15 +68,15 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_setholewarp
.4byte ScrCmd_getplayerxy
.4byte ScrCmd_getpartysize
- .4byte ScrCmd_giveitem
- .4byte ScrCmd_takeitem
+ .4byte ScrCmd_additem
+ .4byte ScrCmd_removeitem
.4byte ScrCmd_checkitemspace
.4byte ScrCmd_checkitem
.4byte ScrCmd_checkitemtype
- .4byte ScrCmd_givepcitem
+ .4byte ScrCmd_addpcitem
.4byte ScrCmd_checkpcitem
- .4byte ScrCmd_givedecoration
- .4byte ScrCmd_takedecoration
+ .4byte ScrCmd_adddecoration
+ .4byte ScrCmd_removedecoration
.4byte ScrCmd_checkdecor
.4byte ScrCmd_checkdecorspace
.4byte ScrCmd_applymovement
@@ -144,8 +144,8 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_showcontestresults
.4byte ScrCmd_contestlinktransfer
.4byte ScrCmd_random
- .4byte ScrCmd_givemoney
- .4byte ScrCmd_takemoney
+ .4byte ScrCmd_addmoney
+ .4byte ScrCmd_removemoney
.4byte ScrCmd_checkmoney
.4byte ScrCmd_showmoneybox
.4byte ScrCmd_hidemoneybox
@@ -180,8 +180,8 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_addelevmenuitem
.4byte ScrCmd_showelevmenu
.4byte ScrCmd_checkcoins
- .4byte ScrCmd_givecoins
- .4byte ScrCmd_takecoins
+ .4byte ScrCmd_addcoins
+ .4byte ScrCmd_removecoins
.4byte ScrCmd_setwildbattle
.4byte ScrCmd_dowildbattle
.4byte ScrCmd_setvaddress
@@ -211,20 +211,20 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_nop1
.4byte ScrCmd_warpD1
.4byte ScrCmd_setmonmetlocation
- .4byte ScrCmd_mossdeepgym1
- .4byte ScrCmd_mossdeepgym2
- .4byte ScrCmd_mossdeepgym3
- .4byte ScrCmd_mossdeepgym4
- .4byte ScrCmd_warpD7
+ .4byte ScrCmd_moverotatingtileobjects
+ .4byte ScrCmd_turnrotatingtileobjects
+ .4byte ScrCmd_initrotatingtilepuzzle
+ .4byte ScrCmd_freerotatingtilepuzzle
+ .4byte ScrCmd_warpmossdeepgym
.4byte ScrCmd_cmdD8
.4byte ScrCmd_cmdD9
- .4byte ScrCmd_cmdDA
+ .4byte ScrCmd_closebraillemessage
.4byte ScrCmd_cmdDB
.4byte ScrCmd_fadescreenswapbuffers
.4byte ScrCmd_buffertrainerclassname
.4byte ScrCmd_buffertrainername
.4byte ScrCmd_pokenavcall
- .4byte ScrCmd_warpE0
+ .4byte ScrCmd_warpsootopolislegend
.4byte ScrCmd_buffercontesttype
.4byte ScrCmd_bufferitemnameplural
diff --git a/data/scripts/abnormal_weather.inc b/data/scripts/abnormal_weather.inc
new file mode 100644
index 000000000..88da0405f
--- /dev/null
+++ b/data/scripts/abnormal_weather.inc
@@ -0,0 +1,426 @@
+AbnormalWeather_EventScript_PlaceTilesRoute114North:: @ 8273913
+ setmetatile 7, 3, METATILE_Fallarbor_RedCaveEntrance_Top, 1
+ setmetatile 7, 4, METATILE_Fallarbor_RedCaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute114South:: @ 8273926
+ setmetatile 6, 45, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
+ setmetatile 6, 46, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute115West:: @ 8273939
+ setmetatile 21, 5, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
+ setmetatile 21, 6, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute115East:: @ 827394C
+ setmetatile 36, 9, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
+ setmetatile 36, 10, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute116North:: @ 827395F
+ setmetatile 59, 12, METATILE_General_CaveEntrance_Top, 1
+ setmetatile 59, 13, METATILE_General_CaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute116South:: @ 8273972
+ setmetatile 79, 5, METATILE_General_CaveEntrance_Top, 1
+ setmetatile 79, 6, METATILE_General_CaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute118East:: @ 8273985
+ setmetatile 42, 5, METATILE_General_CaveEntrance_Top, 1
+ setmetatile 42, 6, METATILE_General_CaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute118West:: @ 8273998
+ setmetatile 9, 5, METATILE_General_CaveEntrance_Top, 1
+ setmetatile 9, 6, METATILE_General_CaveEntrance_Bottom, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute105North:: @ 82739AB
+ setmetatile 10, 28, METATILE_General_RoughWater, 0
+ setmetatile 11, 28, METATILE_General_RoughWater, 0
+ setmetatile 9, 29, METATILE_General_RoughWater, 0
+ setmetatile 10, 29, METATILE_General_RoughDeepWater, 0
+ setmetatile 11, 29, METATILE_General_RoughDeepWater, 0
+ setmetatile 12, 29, METATILE_General_RoughWater, 0
+ setmetatile 9, 30, METATILE_General_RoughWater, 0
+ setmetatile 10, 30, METATILE_General_RoughDeepWater, 0
+ setmetatile 11, 30, METATILE_General_RoughDeepWater, 0
+ setmetatile 12, 30, METATILE_General_RoughWater, 0
+ setmetatile 10, 31, METATILE_General_RoughWater, 0
+ setmetatile 11, 31, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute105South:: @ 8273A18
+ setmetatile 20, 53, METATILE_General_RoughWater, 0
+ setmetatile 21, 53, METATILE_General_RoughWater, 0
+ setmetatile 19, 54, METATILE_General_RoughWater, 0
+ setmetatile 20, 54, METATILE_General_RoughDeepWater, 0
+ setmetatile 21, 54, METATILE_General_RoughDeepWater, 0
+ setmetatile 22, 54, METATILE_General_RoughWater, 0
+ setmetatile 19, 55, METATILE_General_RoughWater, 0
+ setmetatile 20, 55, METATILE_General_RoughDeepWater, 0
+ setmetatile 21, 55, METATILE_General_RoughDeepWater, 0
+ setmetatile 22, 55, METATILE_General_RoughWater, 0
+ setmetatile 20, 56, METATILE_General_RoughWater, 0
+ setmetatile 21, 56, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute125West:: @ 8273A85
+ setmetatile 8, 16, METATILE_General_RoughWater, 0
+ setmetatile 9, 16, METATILE_General_RoughWater, 0
+ setmetatile 7, 17, METATILE_General_RoughWater, 0
+ setmetatile 8, 17, METATILE_General_RoughDeepWater, 0
+ setmetatile 9, 17, METATILE_General_RoughDeepWater, 0
+ setmetatile 10, 17, METATILE_General_RoughWater, 0
+ setmetatile 7, 18, METATILE_General_RoughWater, 0
+ setmetatile 8, 18, METATILE_General_RoughDeepWater, 0
+ setmetatile 9, 18, METATILE_General_RoughDeepWater, 0
+ setmetatile 10, 18, METATILE_General_RoughWater, 0
+ setmetatile 8, 19, METATILE_General_RoughWater, 0
+ setmetatile 9, 19, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute125East:: @ 8273AF2
+ setmetatile 53, 18, METATILE_General_RoughWater, 0
+ setmetatile 54, 18, METATILE_General_RoughWater, 0
+ setmetatile 52, 19, METATILE_General_RoughWater, 0
+ setmetatile 53, 19, METATILE_General_RoughDeepWater, 0
+ setmetatile 54, 19, METATILE_General_RoughDeepWater, 0
+ setmetatile 55, 19, METATILE_General_RoughWater, 0
+ setmetatile 52, 20, METATILE_General_RoughWater, 0
+ setmetatile 53, 20, METATILE_General_RoughDeepWater, 0
+ setmetatile 54, 20, METATILE_General_RoughDeepWater, 0
+ setmetatile 55, 20, METATILE_General_RoughWater, 0
+ setmetatile 53, 21, METATILE_General_RoughWater, 0
+ setmetatile 54, 21, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute127North:: @ 8273B5F
+ setmetatile 57, 9, METATILE_General_RoughWater, 0
+ setmetatile 58, 9, METATILE_General_RoughWater, 0
+ setmetatile 56, 10, METATILE_General_RoughWater, 0
+ setmetatile 57, 10, METATILE_General_RoughDeepWater, 0
+ setmetatile 58, 10, METATILE_General_RoughDeepWater, 0
+ setmetatile 59, 10, METATILE_General_RoughWater, 0
+ setmetatile 56, 11, METATILE_General_RoughWater, 0
+ setmetatile 57, 11, METATILE_General_RoughDeepWater, 0
+ setmetatile 58, 11, METATILE_General_RoughDeepWater, 0
+ setmetatile 59, 11, METATILE_General_RoughWater, 0
+ setmetatile 57, 12, METATILE_General_RoughWater, 0
+ setmetatile 58, 12, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute127South:: @ 8273BCC
+ setmetatile 61, 30, METATILE_General_RoughWater, 0
+ setmetatile 62, 30, METATILE_General_RoughWater, 0
+ setmetatile 60, 31, METATILE_General_RoughWater, 0
+ setmetatile 61, 31, METATILE_General_RoughDeepWater, 0
+ setmetatile 62, 31, METATILE_General_RoughDeepWater, 0
+ setmetatile 63, 31, METATILE_General_RoughWater, 0
+ setmetatile 60, 32, METATILE_General_RoughWater, 0
+ setmetatile 61, 32, METATILE_General_RoughDeepWater, 0
+ setmetatile 62, 32, METATILE_General_RoughDeepWater, 0
+ setmetatile 63, 32, METATILE_General_RoughWater, 0
+ setmetatile 61, 33, METATILE_General_RoughWater, 0
+ setmetatile 62, 33, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute129West:: @ 8273C39
+ setmetatile 16, 14, METATILE_General_RoughWater, 0
+ setmetatile 17, 14, METATILE_General_RoughWater, 0
+ setmetatile 15, 15, METATILE_General_RoughWater, 0
+ setmetatile 16, 15, METATILE_General_RoughDeepWater, 0
+ setmetatile 17, 15, METATILE_General_RoughDeepWater, 0
+ setmetatile 18, 15, METATILE_General_RoughWater, 0
+ setmetatile 15, 16, METATILE_General_RoughWater, 0
+ setmetatile 16, 16, METATILE_General_RoughDeepWater, 0
+ setmetatile 17, 16, METATILE_General_RoughDeepWater, 0
+ setmetatile 18, 16, METATILE_General_RoughWater, 0
+ setmetatile 16, 17, METATILE_General_RoughWater, 0
+ setmetatile 17, 17, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_PlaceTilesRoute129East:: @ 8273CA6
+ setmetatile 42, 19, METATILE_General_RoughWater, 0
+ setmetatile 43, 19, METATILE_General_RoughWater, 0
+ setmetatile 41, 20, METATILE_General_RoughWater, 0
+ setmetatile 42, 20, METATILE_General_RoughDeepWater, 0
+ setmetatile 43, 20, METATILE_General_RoughDeepWater, 0
+ setmetatile 44, 20, METATILE_General_RoughWater, 0
+ setmetatile 41, 21, METATILE_General_RoughWater, 0
+ setmetatile 42, 21, METATILE_General_RoughDeepWater, 0
+ setmetatile 43, 21, METATILE_General_RoughDeepWater, 0
+ setmetatile 44, 21, METATILE_General_RoughWater, 0
+ setmetatile 42, 22, METATILE_General_RoughWater, 0
+ setmetatile 43, 22, METATILE_General_RoughWater, 0
+ return
+
+AbnormalWeather_EventScript_HideMapNamePopup:: @ 8273D13
+ setflag FLAG_HIDE_MAP_NAME_POPUP
+ return
+
+AbnormalWeather_StartKyogreWeather:: @ 8273D17
+ setweather WEATHER_DOWNPOUR
+ return
+
+AbnormalWeather_StartGroudonWeather:: @ 8273D1B
+ setweather WEATHER_DROUGHT
+ return
+
+AbnormalWeather_EventScript_EndEventAndCleanup_1:: @ 8273D1F
+ lockall
+ compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START
+ goto_if_ge AbnormalWeather_EventScript_ShowRainEndedMessage
+ goto AbnormalWeather_EventScript_ShowSunEndedMessage
+ end
+
+AbnormalWeather_EventScript_EndEventAndCleanup_2:: @ 8273D31
+ closemessage
+ fadescreenswapbuffers FADE_TO_BLACK
+ setweather WEATHER_SUNNY
+ doweather
+ call AbnormalWeather_EventScript_CleanupMapTiles
+ special DrawWholeMapView
+ setvar VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE
+ setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 0
+ clearflag FLAG_HIDE_MAP_NAME_POPUP
+ fadescreenswapbuffers FADE_FROM_BLACK
+ releaseall
+ end
+
+AbnormalWeather_EventScript_ShowRainEndedMessage:: @ 8273D51
+ msgbox gText_AbnormalWeatherEnded_Rain, MSGBOX_DEFAULT
+ goto AbnormalWeather_EventScript_EndEventAndCleanup_2
+ end
+
+AbnormalWeather_EventScript_ShowSunEndedMessage:: @ 8273D5F
+ msgbox gText_AbnormalWeatherEnded_Sun, MSGBOX_DEFAULT
+ goto AbnormalWeather_EventScript_EndEventAndCleanup_2
+ end
+
+AbnormalWeather_EventScript_CleanupMapTiles:: @ 8273D6D
+ switch VAR_ABNORMAL_WEATHER_LOCATION
+ case ABNORMAL_WEATHER_ROUTE_114_NORTH, AbnormalWeather_EventScript_CleanupRoute114North
+ case ABNORMAL_WEATHER_ROUTE_114_SOUTH, AbnormalWeather_EventScript_CleanupRoute114South
+ case ABNORMAL_WEATHER_ROUTE_115_WEST, AbnormalWeather_EventScript_CleanupRoute115West
+ case ABNORMAL_WEATHER_ROUTE_115_EAST, AbnormalWeather_EventScript_CleanupRoute115East
+ case ABNORMAL_WEATHER_ROUTE_116_NORTH, AbnormalWeather_EventScript_CleanupRoute116North
+ case ABNORMAL_WEATHER_ROUTE_116_SOUTH, AbnormalWeather_EventScript_CleanupRoute116South
+ case ABNORMAL_WEATHER_ROUTE_118_EAST, AbnormalWeather_EventScript_CleanupRoute118East
+ case ABNORMAL_WEATHER_ROUTE_118_WEST, AbnormalWeather_EventScript_CleanupRoute118West
+ case ABNORMAL_WEATHER_ROUTE_105_NORTH, AbnormalWeather_EventScript_CleanupRoute105North
+ case ABNORMAL_WEATHER_ROUTE_105_SOUTH, AbnormalWeather_EventScript_CleanupRoute105South
+ case ABNORMAL_WEATHER_ROUTE_125_WEST, AbnormalWeather_EventScript_CleanupRoute125West
+ case ABNORMAL_WEATHER_ROUTE_125_EAST, AbnormalWeather_EventScript_CleanupRoute125East
+ case ABNORMAL_WEATHER_ROUTE_127_NORTH, AbnormalWeather_EventScript_CleanupRoute127North
+ case ABNORMAL_WEATHER_ROUTE_127_SOUTH, AbnormalWeather_EventScript_CleanupRoute127South
+ case ABNORMAL_WEATHER_ROUTE_129_WEST, AbnormalWeather_EventScript_CleanupRoute129West
+ case ABNORMAL_WEATHER_ROUTE_129_EAST, AbnormalWeather_EventScript_CleanupRoute129East
+ return
+
+AbnormalWeather_EventScript_CleanupRoute114North:: @ 8273E23
+ setmetatile 7, 3, METATILE_Fallarbor_RedRockWall, 1
+ setmetatile 7, 4, METATILE_Fallarbor_RedRockWall, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute114South:: @ 8273E36
+ setmetatile 6, 45, METATILE_Fallarbor_BrownRockWall, 1
+ setmetatile 6, 46, METATILE_Fallarbor_BrownRockWall, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute115West:: @ 8273E49
+ setmetatile 21, 5, METATILE_Fallarbor_BrownRockWall, 1
+ setmetatile 21, 6, METATILE_Fallarbor_BrownRockWall, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute115East:: @ 8273E5C
+ setmetatile 36, 9, METATILE_Fallarbor_BrownRockWall, 1
+ setmetatile 36, 10, METATILE_Fallarbor_BrownRockWall, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute116North:: @ 8273E6F
+ setmetatile 59, 12, METATILE_General_RockWall_RockBase, 1
+ setmetatile 59, 13, METATILE_General_RockWall_RockBase, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute116South:: @ 8273E82
+ setmetatile 79, 5, METATILE_General_RockWall_RockBase, 1
+ setmetatile 79, 6, METATILE_General_RockWall_RockBase, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute118East:: @ 8273E95
+ setmetatile 42, 5, METATILE_General_RockWall_RockBase, 1
+ setmetatile 42, 6, METATILE_General_RockWall_GrassBase, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute118West:: @ 8273EA8
+ setmetatile 9, 5, METATILE_General_RockWall_RockBase, 1
+ setmetatile 9, 6, METATILE_General_RockWall_GrassBase, 1
+ return
+
+AbnormalWeather_EventScript_CleanupRoute105North:: @ 8273EBB
+ setmetatile 10, 28, METATILE_General_CalmWater, 0
+ setmetatile 11, 28, METATILE_General_CalmWater, 0
+ setmetatile 9, 29, METATILE_General_CalmWater, 0
+ setmetatile 10, 29, METATILE_General_CalmWater, 0
+ setmetatile 11, 29, METATILE_General_CalmWater, 0
+ setmetatile 12, 29, METATILE_General_CalmWater, 0
+ setmetatile 9, 30, METATILE_General_CalmWater, 0
+ setmetatile 10, 30, METATILE_General_CalmWater, 0
+ setmetatile 11, 30, METATILE_General_CalmWater, 0
+ setmetatile 12, 30, METATILE_General_CalmWater, 0
+ setmetatile 10, 31, METATILE_General_CalmWater, 0
+ setmetatile 11, 31, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_EventScript_CleanupRoute105South:: @ 8273F28
+ setmetatile 20, 53, METATILE_General_CalmWater, 0
+ setmetatile 21, 53, METATILE_General_CalmWater, 0
+ setmetatile 19, 54, METATILE_General_CalmWater, 0
+ setmetatile 20, 54, METATILE_General_CalmWater, 0
+ setmetatile 21, 54, METATILE_General_CalmWater, 0
+ setmetatile 22, 54, METATILE_General_CalmWater, 0
+ setmetatile 19, 55, METATILE_General_CalmWater, 0
+ setmetatile 20, 55, METATILE_General_CalmWater, 0
+ setmetatile 21, 55, METATILE_General_CalmWater, 0
+ setmetatile 22, 55, METATILE_General_CalmWater, 0
+ setmetatile 20, 56, METATILE_General_CalmWater, 0
+ setmetatile 21, 56, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_EventScript_CleanupRoute125West:: @ 8273F95
+ setmetatile 8, 16, METATILE_General_CalmWater, 0
+ setmetatile 9, 16, METATILE_General_CalmWater, 0
+ setmetatile 7, 17, METATILE_General_CalmWater, 0
+ setmetatile 8, 17, METATILE_General_CalmWater, 0
+ setmetatile 9, 17, METATILE_General_CalmWater, 0
+ setmetatile 10, 17, METATILE_General_CalmWater, 0
+ setmetatile 7, 18, METATILE_General_CalmWater, 0
+ setmetatile 8, 18, METATILE_General_CalmWater, 0
+ setmetatile 9, 18, METATILE_General_CalmWater, 0
+ setmetatile 10, 18, METATILE_General_CalmWater, 0
+ setmetatile 8, 19, METATILE_General_CalmWater, 0
+ setmetatile 9, 19, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_EventScript_CleanupRoute125East:: @ 8274002
+ setmetatile 53, 18, METATILE_General_CalmWater, 0
+ setmetatile 54, 18, METATILE_General_CalmWater, 0
+ setmetatile 52, 19, METATILE_General_CalmWater, 0
+ setmetatile 53, 19, METATILE_General_CalmWater, 0
+ setmetatile 54, 19, METATILE_General_CalmWater, 0
+ setmetatile 55, 19, METATILE_General_CalmWater, 0
+ setmetatile 52, 20, METATILE_General_CalmWater, 0
+ setmetatile 53, 20, METATILE_General_CalmWater, 0
+ setmetatile 54, 20, METATILE_General_CalmWater, 0
+ setmetatile 55, 20, METATILE_General_CalmWater, 0
+ setmetatile 53, 21, METATILE_General_CalmWater, 0
+ setmetatile 54, 21, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_EventScript_CleanupRoute127North:: @ 827406F
+ setmetatile 57, 9, METATILE_General_CalmWater, 0
+ setmetatile 58, 9, METATILE_General_CalmWater, 0
+ setmetatile 56, 10, METATILE_General_CalmWater, 0
+ setmetatile 57, 10, METATILE_General_CalmWater, 0
+ setmetatile 58, 10, METATILE_General_CalmWater, 0
+ setmetatile 59, 10, METATILE_General_CalmWater, 0
+ setmetatile 56, 11, METATILE_General_CalmWater, 0
+ setmetatile 57, 11, METATILE_General_CalmWater, 0
+ setmetatile 58, 11, METATILE_General_CalmWater, 0
+ setmetatile 59, 11, METATILE_General_CalmWater, 0
+ setmetatile 57, 12, METATILE_General_CalmWater, 0
+ setmetatile 58, 12, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_EventScript_CleanupRoute127South:: @ 82740DC
+ setmetatile 61, 30, METATILE_General_CalmWater, 0
+ setmetatile 62, 30, METATILE_General_CalmWater, 0
+ setmetatile 60, 31, METATILE_General_CalmWater, 0
+ setmetatile 61, 31, METATILE_General_CalmWater, 0
+ setmetatile 62, 31, METATILE_General_CalmWater, 0
+ setmetatile 63, 31, METATILE_General_CalmWater, 0
+ setmetatile 60, 32, METATILE_General_CalmWater, 0
+ setmetatile 61, 32, METATILE_General_CalmWater, 0
+ setmetatile 62, 32, METATILE_General_CalmWater, 0
+ setmetatile 63, 32, METATILE_General_CalmWater, 0
+ setmetatile 61, 33, METATILE_General_CalmWater, 0
+ setmetatile 62, 33, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_EventScript_CleanupRoute129West:: @ 8274149
+ setmetatile 16, 14, METATILE_General_CalmWater, 0
+ setmetatile 17, 14, METATILE_General_CalmWater, 0
+ setmetatile 15, 15, METATILE_General_CalmWater, 0
+ setmetatile 16, 15, METATILE_General_CalmWater, 0
+ setmetatile 17, 15, METATILE_General_CalmWater, 0
+ setmetatile 18, 15, METATILE_General_CalmWater, 0
+ setmetatile 15, 16, METATILE_General_CalmWater, 0
+ setmetatile 16, 16, METATILE_General_CalmWater, 0
+ setmetatile 17, 16, METATILE_General_CalmWater, 0
+ setmetatile 18, 16, METATILE_General_CalmWater, 0
+ setmetatile 16, 17, METATILE_General_CalmWater, 0
+ setmetatile 17, 17, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_EventScript_CleanupRoute129East:: @ 82741B6
+ setmetatile 42, 19, METATILE_General_CalmWater, 0
+ setmetatile 43, 19, METATILE_General_CalmWater, 0
+ setmetatile 41, 20, METATILE_General_CalmWater, 0
+ setmetatile 42, 20, METATILE_General_CalmWater, 0
+ setmetatile 43, 20, METATILE_General_CalmWater, 0
+ setmetatile 44, 20, METATILE_General_CalmWater, 0
+ setmetatile 41, 21, METATILE_General_CalmWater, 0
+ setmetatile 42, 21, METATILE_General_CalmWater, 0
+ setmetatile 43, 21, METATILE_General_CalmWater, 0
+ setmetatile 44, 21, METATILE_General_CalmWater, 0
+ setmetatile 42, 22, METATILE_General_CalmWater, 0
+ setmetatile 43, 22, METATILE_General_CalmWater, 0
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarp:: @ 8274223
+ switch VAR_ABNORMAL_WEATHER_LOCATION
+ case ABNORMAL_WEATHER_ROUTE_105_NORTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute105North
+ case ABNORMAL_WEATHER_ROUTE_105_SOUTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute105South
+ case ABNORMAL_WEATHER_ROUTE_125_WEST, AbnormalWeather_Underwater_SetupEscapeWarpRoute125West
+ case ABNORMAL_WEATHER_ROUTE_125_EAST, AbnormalWeather_Underwater_SetupEscapeWarpRoute125East
+ case ABNORMAL_WEATHER_ROUTE_127_NORTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute127North
+ case ABNORMAL_WEATHER_ROUTE_127_SOUTH, AbnormalWeather_Underwater_SetupEscapeWarpRoute127South
+ case ABNORMAL_WEATHER_ROUTE_129_WEST, AbnormalWeather_Underwater_SetupEscapeWarpRoute129West
+ case ABNORMAL_WEATHER_ROUTE_129_EAST, AbnormalWeather_Underwater_SetupEscapeWarpRoute129East
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute105North:: @ 8274281
+ setescapewarp MAP_ROUTE105, 255, 11, 29
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute105South:: @ 827428A
+ setescapewarp MAP_ROUTE105, 255, 21, 54
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute125West:: @ 8274293
+ setescapewarp MAP_ROUTE125, 255, 9, 17
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute125East:: @ 827429C
+ setescapewarp MAP_ROUTE125, 255, 54, 19
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute127North:: @ 82742A5
+ setescapewarp MAP_ROUTE127, 255, 58, 10
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute127South:: @ 82742AE
+ setescapewarp MAP_ROUTE127, 255, 62, 31
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute129West:: @ 82742B7
+ setescapewarp MAP_ROUTE129, 255, 17, 15
+ return
+
+AbnormalWeather_Underwater_SetupEscapeWarpRoute129East:: @ 82742C0
+ setescapewarp MAP_ROUTE129, 255, 43, 20
+ return
diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc
index b75a3c579..b3ae904a0 100644
--- a/data/scripts/apprentice.inc
+++ b/data/scripts/apprentice.inc
@@ -1,327 +1,253 @@
-#include "constants/apprentice.h"
-
-.macro apprentice_msg waitbuttonpress which
-setvar VAR_0x8004, 8
-setvar VAR_0x8005, \waitbuttonpress
-setvar VAR_0x8006, \which
-special CallApprenticeFunction
-waitstate
-.endm
-
-.macro apprentice_buff whichstringvar tobuff
-setvar VAR_0x8004, 16
-setvar VAR_0x8005, \whichstringvar
-setvar VAR_0x8006, \tobuff
-special CallApprenticeFunction
-.endm
-
-.macro apprentice_menu which
-setvar VAR_0x8004, 7
-setvar VAR_0x8005, \which
-special CallApprenticeFunction
-waitstate
-.endm
-
-EventScript_Apprentice:: @ 82B688D
+BattleFrontier_BattleTowerLobby_EventScript_Apprentice:: @ 82B688D
lock
faceplayer
- setvar VAR_0x8004, 0
- special CallApprenticeFunction
- compare VAR_RESULT, 0
- goto_if_eq Script_Apprentice_FirstMeeting
- setvar VAR_0x8004, 10
- special CallApprenticeFunction
- compare VAR_0x8004, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE
- goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Script_Apprentice_ReleaseAndEnd
-
-BattleFrontier_BattleTowerLobby_EventScript_2B68BE:
- setvar VAR_0x8004, 11
- special CallApprenticeFunction
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3
- compare VAR_RESULT, 4
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF
- compare VAR_RESULT, 3
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C
- compare VAR_RESULT, 5
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4
+ apprentice_gavelvlmode
+ compare VAR_RESULT, FALSE
+ goto_if_eq Apprentice_EventScript_FirstMeeting
+ apprentice_shouldcheckgone
+ compare VAR_0x8004, FALSE @ Always TRUE here
+ goto_if_eq Apprentice_EventScript_AskQuestion
+ goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Apprentice_EventScript_Gone
+Apprentice_EventScript_AskQuestion: @ 82B68BE
+ apprentice_getquestion
+ compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MON
+ goto_if_eq Apprentice_EventScript_UseWhichMon
+ compare VAR_RESULT, APPRENTICE_QUESTION_WHAT_ITEM
+ goto_if_eq Apprentice_EventScript_UseWhatHeldItem
+ compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MOVE
+ goto_if_eq Apprentice_EventScript_UseWhichMove
+ compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_FIRST
+ goto_if_eq Apprentice_EventScript_PutWhichMonFirst
+ compare VAR_RESULT, APPRENTICE_QUESTION_WIN_SPEECH
+ goto_if_eq Apprentice_EventScript_PickWinSpeech
release
releaseall
end
-Script_Apprentice_FirstMeeting:
+Apprentice_EventScript_FirstMeeting: @ 82B6900
apprentice_buff 0, APPRENTICE_BUFF_NAME
- apprentice_msg FALSE, 0
-
-Script_Apprentice_FirstMeetingNag:
+ apprentice_msg FALSE, APPRENTICE_MSG_PLEASE_TEACH
+Apprentice_EventScript_WhichLvlMode: @ 82B6925
apprentice_menu APPRENTICE_ASK_YES_NO
compare VAR_RESULT, 1
- goto_if_eq Script_Apprentice_FirstMeetingAskAgain
- apprentice_msg FALSE, 2
+ goto_if_eq Apprentice_EventScript_RejectTeach
+ apprentice_msg FALSE, APPRENTICE_MSG_WHICH_LVL_MODE
apprentice_menu APPRENTICE_ASK_WHICH_LEVEL
- setvar VAR_0x8004, 1
- setorcopyvar VAR_0x8005, VAR_RESULT
- addvar VAR_0x8005, 1
- special CallApprenticeFunction
- setvar VAR_0x8004, 3
- special CallApprenticeFunction
+ apprentice_setlvlmode VAR_RESULT
+ apprentice_shufflespecies
apprentice_buff 0, APPRENTICE_BUFF_LEVEL
- apprentice_msg TRUE, 3
- call Script_Apprentice_SetLeavingFlags
+ apprentice_msg TRUE, APPRENTICE_MSG_THANKS_LVL_MODE
+ call Apprentice_EventScript_SetHideFlags
release
releaseall
switch VAR_FACING
- case 2, Script_Apprentice_LeaveGoRight
- goto Script_Apprentice_Leave
+ case DIR_NORTH, Apprentice_EventScript_LeaveNorth
+ goto Apprentice_EventScript_Leave
end
-Script_Apprentice_FirstMeetingAskAgain:
- apprentice_msg FALSE, 1
- goto Script_Apprentice_FirstMeetingNag
+@ Its impossible to fully reject an Apprentice, they just keep asking for you to teach them
+Apprentice_EventScript_RejectTeach: @ 82B69BB
+ apprentice_msg FALSE, APPRENTICE_MSG_REJECT
+ goto Apprentice_EventScript_WhichLvlMode
-BattleFrontier_BattleTowerLobby_EventScript_2B69D3:
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 2
- special CallApprenticeFunction
+Apprentice_EventScript_UseWhichMon: @ 82B69D3
+ apprentice_initquestion APPRENTICE_QUESTION_WHICH_MON
apprentice_buff 0, APPRENTICE_BUFF_SPECIES1
apprentice_buff 1, APPRENTICE_BUFF_SPECIES2
- apprentice_msg FALSE, 6
+ apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON
apprentice_menu APPRENTICE_ASK_2SPECIES
copyvar VAR_0x8005, VAR_RESULT
compare VAR_0x8005, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ABA
+ call_if_eq Apprentice_EventScript_ChoseFirstMon
compare VAR_0x8005, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC0
- setvar VAR_0x8004, 12
- special CallApprenticeFunction
- copyvar VAR_0x8006, VAR_RESULT
- setvar VAR_0x8004, 13
- special CallApprenticeFunction
- setvar VAR_0x8004, 5
- special CallApprenticeFunction
- setvar VAR_0x8004, 12
- special CallApprenticeFunction
- compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC6
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- copyvar VAR_0x8006, VAR_0x8007
- special CallApprenticeFunction
- setvar VAR_0x8004, 15
- special CallApprenticeFunction
- apprentice_msg TRUE, 7
- call Script_Apprentice_SetLeavingFlags
+ call_if_eq Apprentice_EventScript_ChoseSecondMon
+ apprentice_getnumpartymons
+ apprentice_setpartymon VAR_RESULT
+ apprentice_answeredquestion
+ apprentice_getnumpartymons
+ compare VAR_RESULT, MULTI_PARTY_SIZE
+ call_if_eq Apprentice_EventScript_LastMonSelected
+ apprentice_buff 0, VAR_0x8007
+ apprentice_freequestion
+ apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON
+ call Apprentice_EventScript_SetHideFlags
release
releaseall
switch VAR_FACING
- case 2, Script_Apprentice_LeaveGoRight
- goto Script_Apprentice_Leave
+ case DIR_NORTH, Apprentice_EventScript_LeaveNorth
+ goto Apprentice_EventScript_Leave
end
-BattleFrontier_BattleTowerLobby_EventScript_2B6ABA:
- setvar VAR_0x8007, 0
+Apprentice_EventScript_ChoseFirstMon: @ 82B6ABA
+ setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES1
return
-BattleFrontier_BattleTowerLobby_EventScript_2B6AC0:
- setvar VAR_0x8007, 1
+Apprentice_EventScript_ChoseSecondMon: @ 82B6AC0
+ setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES2
return
-BattleFrontier_BattleTowerLobby_EventScript_2B6AC6:
- setvar VAR_0x8004, 4
- special CallApprenticeFunction
+Apprentice_EventScript_LastMonSelected: @ 82B6AC6
+ apprentice_randomizequestions
return
-BattleFrontier_BattleTowerLobby_EventScript_2B6ACF:
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 4
- special CallApprenticeFunction
+Apprentice_EventScript_UseWhatHeldItem: @ 82B6ACF
+ apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
- apprentice_msg TRUE, 10
- setvar VAR_0x8004, 15
- special CallApprenticeFunction
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6B09:
- fadescreen 1
+ apprentice_msg TRUE, APPRENTICE_MSG_WHAT_HELD_ITEM
+ apprentice_freequestion
+Apprentice_EventScript_ChooseHoldItem: @ 82B6B09
+ fadescreen FADE_TO_BLACK
setvar VAR_RESULT, 0
- setvar VAR_0x8004, 19
- special CallApprenticeFunction
- waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81
- setvar VAR_0x8004, 20
- special CallApprenticeFunction
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C
+ apprentice_openbag
+ compare VAR_RESULT, FALSE
+ goto_if_eq Apprentice_EventScript_ConfirmHoldNothing
+ apprentice_trysetitem
+ compare VAR_RESULT, FALSE
+ goto_if_eq Apprentice_EventScript_AlreadySuggestedItem
apprentice_buff 0, APPRENTICE_BUFF_ITEM
- apprentice_msg TRUE, 12
- setvar VAR_0x8004, 5
- special CallApprenticeFunction
- call Script_Apprentice_SetLeavingFlags
+ apprentice_msg TRUE, APPRENTICE_MSG_THANKS_HELD_ITEM
+ apprentice_answeredquestion
+ call Apprentice_EventScript_SetHideFlags
release
releaseall
switch VAR_FACING
- case 2, Script_Apprentice_LeaveGoRight
- goto Script_Apprentice_Leave
+ case DIR_NORTH, Apprentice_EventScript_LeaveNorth
+ goto Apprentice_EventScript_Leave
end
-BattleFrontier_BattleTowerLobby_EventScript_2B6B81:
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 4
- special CallApprenticeFunction
+Apprentice_EventScript_ConfirmHoldNothing: @ 82B6B81
+ apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
- apprentice_msg FALSE, 13
+ apprentice_msg FALSE, APPRENTICE_MSG_HOLD_NOTHING
apprentice_menu APPRENTICE_ASK_GIVE
- setvar VAR_0x8004, 15
- special CallApprenticeFunction
+ apprentice_freequestion
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6BD4:
- apprentice_msg TRUE, 14
- setvar VAR_0x8004, 5
- special CallApprenticeFunction
- call Script_Apprentice_SetLeavingFlags
+ goto_if_eq Apprentice_EventScript_ChooseHoldItem
+Apprentice_EventScript_HoldNothing: @ 82B6BD4
+ apprentice_msg TRUE, APPRENTICE_MSG_THANKS_NO_HELD_ITEM
+ apprentice_answeredquestion
+ call Apprentice_EventScript_SetHideFlags
release
releaseall
switch VAR_FACING
- case 2, Script_Apprentice_LeaveGoRight
- goto Script_Apprentice_Leave
+ case DIR_NORTH, Apprentice_EventScript_LeaveNorth
+ goto Apprentice_EventScript_Leave
end
-BattleFrontier_BattleTowerLobby_EventScript_2B6C0C:
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 4
- special CallApprenticeFunction
+@ Because Battle Tower mons may not hold the same item, the player must suggest a
+@ different item if theyve already told the Apprentice to use it for another mon
+Apprentice_EventScript_AlreadySuggestedItem: @ 82B6C0C
+ apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
apprentice_buff 0, APPRENTICE_BUFF_ITEM
apprentice_buff 1, APPRENTICE_BUFF_SPECIES3
- apprentice_msg FALSE, 16
+ apprentice_msg FALSE, APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED
apprentice_menu APPRENTICE_ASK_GIVE
- setvar VAR_0x8004, 15
- special CallApprenticeFunction
+ apprentice_freequestion
compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4
+ goto_if_eq Apprentice_EventScript_ChooseHoldItem
+ goto Apprentice_EventScript_HoldNothing
end
-BattleFrontier_BattleTowerLobby_EventScript_2B6C77:
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 3
- special CallApprenticeFunction
+Apprentice_EventScript_UseWhichMove: @ 82B6C77
+ apprentice_initquestion APPRENTICE_QUESTION_WHICH_MOVE
apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
apprentice_buff 1, APPRENTICE_BUFF_MOVE1
apprentice_buff 2, APPRENTICE_BUFF_MOVE2
- apprentice_msg FALSE, 8
+ apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MOVE
apprentice_menu APPRENTICE_ASK_MOVES
copyvar VAR_0x8005, VAR_RESULT
compare VAR_0x8005, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D50
+ call_if_eq Apprentice_EventScript_ChoseMove1
compare VAR_0x8005, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D56
- setvar VAR_0x8004, 17
- special CallApprenticeFunction
- setvar VAR_0x8004, 5
- special CallApprenticeFunction
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- copyvar VAR_0x8006, VAR_0x8007
- special CallApprenticeFunction
- setvar VAR_0x8004, 15
- special CallApprenticeFunction
- apprentice_msg TRUE, 9
- call Script_Apprentice_SetLeavingFlags
+ call_if_eq Apprentice_EventScript_ChoseMove2
+ apprentice_setmove
+ apprentice_answeredquestion
+ apprentice_buff 0, VAR_0x8007
+ apprentice_freequestion
+ apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MOVE
+ call Apprentice_EventScript_SetHideFlags
release
releaseall
switch VAR_FACING
- case 2, Script_Apprentice_LeaveGoRight
- goto Script_Apprentice_Leave
+ case DIR_NORTH, Apprentice_EventScript_LeaveNorth
+ goto Apprentice_EventScript_Leave
end
-BattleFrontier_BattleTowerLobby_EventScript_2B6D50:
- setvar VAR_0x8007, 3
+Apprentice_EventScript_ChoseMove1: @ 82B6D50
+ setvar VAR_0x8007, APPRENTICE_BUFF_MOVE1
return
-BattleFrontier_BattleTowerLobby_EventScript_2B6D56:
- setvar VAR_0x8007, 4
+Apprentice_EventScript_ChoseMove2: @ 82B6D56
+ setvar VAR_0x8007, APPRENTICE_BUFF_MOVE2
return
-BattleFrontier_BattleTowerLobby_EventScript_2B6D5C:
- apprentice_msg FALSE, 4
+Apprentice_EventScript_PutWhichMonFirst: @ 82B6D5C
+ apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON_FIRST
apprentice_menu APPRENTICE_ASK_3SPECIES
- copyvar VAR_0x8005, VAR_RESULT
- setvar VAR_0x8004, 18
- special CallApprenticeFunction
- setvar VAR_0x8004, 5
- special CallApprenticeFunction
- apprentice_buff 0, APPRENTICE_BUFF_SPECIES4
- apprentice_msg TRUE, 5
- call Script_Apprentice_SetLeavingFlags
+ apprentice_setleadmon VAR_RESULT
+ apprentice_answeredquestion
+ apprentice_buff 0, APPRENTICE_BUFF_LEAD_MON_SPECIES
+ apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON_FIRST
+ call Apprentice_EventScript_SetHideFlags
release
releaseall
switch VAR_FACING
- case 2, Script_Apprentice_LeaveGoRight
- goto Script_Apprentice_Leave
+ case DIR_NORTH, Apprentice_EventScript_LeaveNorth
+ goto Apprentice_EventScript_Leave
end
-BattleFrontier_BattleTowerLobby_EventScript_2B6DD4:
- apprentice_msg TRUE, 11
- setvar VAR_0x8004, 25
- special CallApprenticeFunction
+@ Last question, after which the Apprentice leaves (and is saved) to be replaced by another
+Apprentice_EventScript_PickWinSpeech: @ 82B6DD4
+ apprentice_msg TRUE, APPRENTICE_MSG_PICK_WIN_SPEECH
+ apprentice_shiftsaved
setvar VAR_0x8004, EASY_CHAT_TYPE_APPRENTICE
call Common_ShowEasyChatScreen
lock
faceplayer
- setvar VAR_0x8004, 21
- special CallApprenticeFunction
- apprentice_buff 0, APPRENTICE_BUFF_EASY_CHAT
- apprentice_msg TRUE, 15
- setvar VAR_0x8004, 9
- special CallApprenticeFunction
- call Script_Apprentice_SetLeavingFlags
+ apprentice_save
+ apprentice_buff 0, APPRENTICE_BUFF_WIN_SPEECH
+ apprentice_msg TRUE, APPRENTICE_MSG_THANKS_WIN_SPEECH
+ apprentice_reset
+ call Apprentice_EventScript_SetHideFlags
release
releaseall
switch VAR_FACING
- case 2, Script_Apprentice_LeaveGoRight
- goto Script_Apprentice_Leave
+ case DIR_NORTH, Apprentice_EventScript_LeaveNorth
+ goto Apprentice_EventScript_Leave
end
-Script_Apprentice_SetLeavingFlags:
+Apprentice_EventScript_SetHideFlags: @ 82B6E4D
setflag FLAG_HIDE_APPRENTICE
setflag FLAG_DAILY_APPRENTICE_LEAVES
return
-Script_Apprentice_LeaveGoRight:
- setvar VAR_0x8004, 24
- special CallApprenticeFunction
- compare VAR_0x8004, 0
- goto_if_eq Script_Apprentice_End
- applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94
+Apprentice_EventScript_LeaveNorth: @ 82B6E54
+ apprentice_shouldleave
+ compare VAR_0x8004, FALSE @ Always TRUE here
+ goto_if_eq Apprentice_EventScript_DontMove
+ applymovement 6, Apprentice_Movement_LeaveNorth
waitmovement 0
end
-Script_Apprentice_Leave:
- setvar VAR_0x8004, 24
- special CallApprenticeFunction
- compare VAR_0x8004, 0
- goto_if_eq Script_Apprentice_End
- applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95
+Apprentice_EventScript_Leave: @ 82B6E72
+ apprentice_shouldleave
+ compare VAR_0x8004, FALSE @ Always TRUE here
+ goto_if_eq Apprentice_EventScript_DontMove
+ applymovement 6, Apprentice_Movement_Leave
waitmovement 0
end
-Script_Apprentice_ReleaseAndEnd:
+Apprentice_EventScript_Gone: @ 82B6E90
release
releaseall
end
-Script_Apprentice_End:
+Apprentice_EventScript_DontMove: @ 82B6E93
end
-BattleFrontier_BattleTowerLobby_Movement_2B6E94: @ 82B6E94
+Apprentice_Movement_LeaveNorth: @ 82B6E94
walk_fast_right
-
-BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95
+Apprentice_Movement_Leave: @ 82B6E95
walk_fast_down
walk_fast_down
walk_fast_right
@@ -338,2531 +264,3 @@ BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95
slide_down
slide_down
step_end
-
-gText_082B6EA5:: @ 82B6EA5
- .string "Um, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
- .string "Snivel… This tension is getting to me…$"
-
-gText_082B6EEC:: @ 82B6EEC
- .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
- .string "Here we come!$"
-
-gText_082B6F16:: @ 82B6F16
- .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n"
- .string "Accept my challenge!$"
-
-gText_082B6F4C:: @ 82B6F4C
- .string "Um… I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice…\n"
- .string "Do you think someone like me can win?$"
-
-gText_082B6F92:: @ 82B6F92
- .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
- .string "I'll let you challenge me!$"
-
-gText_082B6FC9:: @ 82B6FC9
- .string "I'm horribly busy, but I also happen\n"
- .string "to be {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$"
-
-gText_082B700C:: @ 82B700C
- .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
- .string "Glad to meet you!$"
-
-gText_082B703A:: @ 82B703A
- .string "I serve as {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
- .string "May I begin?$"
-
-gText_082B706A:: @ 82B706A
- .string "Eek! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
- .string "I'll do my best!$"
-
-gText_082B709C:: @ 82B709C
- .string "Yeehaw! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
- .string "Put 'em up!$"
-
-gText_082B70CC:: @ 82B70CC
- .string "I'm {STR_VAR_1}'s 1,000th apprentice!\n"
- .string "Actually, I'm no. {STR_VAR_2}! Here goes!$"
-
-gText_082B710A:: @ 82B710A
- .string "Yeah, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
- .string "Let's get rockin' and a-rollin'!$"
-
-gText_082B714D:: @ 82B714D
- .string "Yippee-yahoo! I'm what you call\n"
- .string "{STR_VAR_1}'s no. {STR_VAR_2} apprentice!$"
-
-gText_082B7185:: @ 82B7185
- .string "Cough! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
- .string "Good to meet you! Cough!$"
-
-gText_082B71C1:: @ 82B71C1
- .string "This is nerve-racking…\n"
- .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$"
-
-gText_082B71F9:: @ 82B71F9
- .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice,\n"
- .string "and that's no lie.$"
-
-gText_082B7229:: @ 82B7229
- .string "Are you… {PLAYER}?\n"
- .string "Oh! Sniff…sob…\p"
- .string "Oh! S-sorry…\n"
- .string "I'm so nervous, I can't help crying…\p"
- .string "I'm {STR_VAR_1}, and I really look up\n"
- .string "to you, {PLAYER}.\p"
- .string "I… I had this dream of one day meeting\n"
- .string "you and asking you about POKéMON.\p"
- .string "Please, please, {PLAYER}!\n"
- .string "Please teach me about POKéMON!$"
-
-gText_082B731C:: @ 82B731C
- .string "Oh… B-but…\n"
- .string "Snivel… Waaaaaaah!\p"
- .string "Please!\n"
- .string "I'm begging you, please!$"
-
-gText_082B735B:: @ 82B735B
- .string "Oh, really? You will?\n"
- .string "Awesome! Wicked! Awoooh!\p"
- .string "Oh… I'm sorry…\n"
- .string "I'm so happy, I'm crying…\p"
- .string "Um… Then please tell me!\n"
- .string "It's about the BATTLE TOWER.\p"
- .string "Which would be better for me: Level 50\n"
- .string "or the Open Level?$"
-
-gText_082B7423:: @ 82B7423
- .string "{STR_VAR_1}?\n"
- .string "Waaaaah!\p"
- .string "Oh! I'm so sorry!\n"
- .string "You've made me happy by choosing\l"
- .string "the level for me, and it's made me cry…\p"
- .string "Snivel…\n"
- .string "Thank you so much!\l"
- .string "Please talk with me again!$"
-
-gText_082B74C1:: @ 82B74C1
- .string "Wowee! You're {PLAYER}, aren't you?\n"
- .string "You're awesomely strong, aren't you?\p"
- .string "I'm {STR_VAR_1}!\n"
- .string "I just became a TRAINER!\p"
- .string "Please, {PLAYER}!\n"
- .string "Can you be my teacher and tell me\l"
- .string "lots about being a TRAINER?$"
-
-gText_082B756F:: @ 82B756F
- .string "Aww, why?\n"
- .string "Oh, please? Pretty please?\l"
- .string "Please be my teacher, please!$"
-
-gText_082B75B2:: @ 82B75B2
- .string "Yay! Great!\p"
- .string "The first thing I wanted to ask you is\n"
- .string "about the BATTLE TOWER!\p"
- .string "The Level 50 and Open Level Rooms…\n"
- .string "Which would be perfect for me?$"
-
-gText_082B763F:: @ 82B763F
- .string "{STR_VAR_1}, huh? That's true!\n"
- .string "I'll do my best there!\p"
- .string "If we meet here again, please teach\n"
- .string "me something else, teacher!$"
-
-gText_082B76AC:: @ 82B76AC
- .string "Um… Are you {PLAYER}?\n"
- .string "My name is {STR_VAR_1}.\p"
- .string "I want to become a POKéMON TRAINER,\n"
- .string "but I don't know what to do…\p"
- .string "So I thought maybe I could ask you for\n"
- .string "advice because you're so famous.\p"
- .string "{PLAYER}, could you give me advice?$"
-
-gText_082B7772:: @ 82B7772
- .string "Oh, but…\p"
- .string "I sincerely want to become a POKéMON\n"
- .string "TRAINER!\p"
- .string "Please, can you answer my questions?$"
-
-gText_082B77CE:: @ 82B77CE
- .string "Thank you!\n"
- .string "Here's my first question right away!\p"
- .string "The BATTLE TOWER has two levels,\n"
- .string "Level 50 and Open Level, right?\p"
- .string "Which level do you think is more\n"
- .string "suitable for me?$"
-
-gText_082B7871:: @ 82B7871
- .string "Oh, the {STR_VAR_1} challenge?\n"
- .string "Understood!\p"
- .string "If I have another question, I'll come\n"
- .string "back here for your advice!$"
-
-gText_082B78D4:: @ 82B78D4
- .string "Oh? Huh? You're…\n"
- .string "No, that can't be true.\p"
- .string "There isn't any way that someone\n"
- .string "like me could meet {PLAYER}.\p"
- .string "…You really are {PLAYER}?\n"
- .string "I can't believe I'm talking to you!\p"
- .string "When something this good happens,\n"
- .string "only terrible things will happen to me\l"
- .string "now, I just know it…\p"
- .string "…I'm sorry…\n"
- .string "I'm… {STR_VAR_1}…\p"
- .string "There isn't anything special about\n"
- .string "me that I can be proud of…\p"
- .string "I shouldn't even say anything about\n"
- .string "myself because you'll forget…\p"
- .string "I had this dream that if I ever met\n"
- .string "you, {PLAYER}, that maybe I could ask\l"
- .string "you for advice as a TRAINER.\p"
- .string "But I don't think you would agree\n"
- .string "to that.\p"
- .string "…Or will you be so kind as to give\n"
- .string "me advice?$"
-
-gText_082B7B1A:: @ 82B7B1A
- .string "I knew it…\p"
- .string "It had to happen because I'm such\n"
- .string "a really boring nobody…\p"
- .string "But I thought just maybe…\n"
- .string "You won't reconsider, will you?\p"
- .string "But I can't give up just like that.\n"
- .string "I'll ask you while I'm still lucky!\p"
- .string "Please, will you be so kind as to give\n"
- .string "me advice?$"
-
-gText_082B7C13:: @ 82B7C13
- .string "Really? I can't believe it!\n"
- .string "I can't believe you'll advise me!\l"
- .string "I… I'm so happy…\p"
- .string "What I want to ask you is really\n"
- .string "trivial, but I can't decide…\p"
- .string "At the BATTLE TOWER, they let you\n"
- .string "choose Level 50 or Open Level.\p"
- .string "Which course do you think even I may\n"
- .string "have a chance at?$"
-
-gText_082B7D18:: @ 82B7D18
- .string "{STR_VAR_1}? Okay!\n"
- .string "But do you really think someone like\l"
- .string "me would have a chance?\p"
- .string "I'll do my best, even though I don't\n"
- .string "think it will work.\p"
- .string "Thank you very much for spending\n"
- .string "time with someone like me.$"
-
-gText_082B7DD4:: @ 82B7DD4
- .string "Oh! You're {PLAYER}{KUN}, aren't you?\p"
- .string "I've heard that you're tough at\n"
- .string "POKéMON!\p"
- .string "I'm {STR_VAR_1}!\n"
- .string "I'll be your friend!\p"
- .string "Did you know?\p"
- .string "You can't win at the BATTLE FRONTIER\n"
- .string "if all you know is what they teach at\l"
- .string "the TRAINER'S SCHOOL.\p"
- .string "I'm willing to listen to your advice.\n"
- .string "You'll agree, of course?$"
-
-gText_082B7EE5:: @ 82B7EE5
- .string "Huh? Why are you refusing me?\n"
- .string "It's me who's asking you!\l"
- .string "You have to reconsider!$"
-
-gText_082B7F35:: @ 82B7F35
- .string "Okay, so there is this something.\n"
- .string "I want you to decide it for me.\p"
- .string "You know that the BATTLE TOWER has\n"
- .string "Level 50 and Open Level Rooms?\p"
- .string "Which do you think would be good\n"
- .string "for me, {PLAYER}{KUN}?$"
-
-gText_082B7FE8:: @ 82B7FE8
- .string "Okay, {STR_VAR_1} is suitable for me?\n"
- .string "Thank you!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{KUN}, I won't be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I'll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082B8087:: @ 82B8087
- .string "Oh, hi, there! {PLAYER}{KUN}!\n"
- .string "I know you because you're famous!\l"
- .string "Call me {STR_VAR_1}! Glad to meet you!\p"
- .string "I'm a TRIATHLETE, so I keep myself\n"
- .string "fit even while I raise POKéMON.\p"
- .string "I'm also involved with other things\n"
- .string "like work, napping, ballroom dancing…\p"
- .string "Being this busy, it's not so easy for\n"
- .string "me to become a decent TRAINER.\p"
- .string "So, I have a proposition!\p"
- .string "There must be a reason why we met.\n"
- .string "So, {PLAYER}{KUN}, how about sharing your\l"
- .string "wisdom with me every so often?$"
-
-gText_082B822B:: @ 82B822B
- .string "Oh, but, please?\n"
- .string "A guy like me needs someone like\l"
- .string "you, {PLAYER}{KUN}!\p"
- .string "Honestly, I need your advice!$"
-
-gText_082B8286:: @ 82B8286
- .string "Thank you! That's more like it!\n"
- .string "So, let's start with an easy one!\p"
- .string "You know about the BATTLE TOWER's\n"
- .string "two courses, right?\l"
- .string "You know, Level 50 and Open Level.\p"
- .string "Me being a busy guy, which one should\n"
- .string "I gear up for?$"
-
-gText_082B8356:: @ 82B8356
- .string "{STR_VAR_1}, huh? Okay, gotcha.\n"
- .string "I'll find time somehow and give it a go!\p"
- .string "…Whoops, I'd better go to work!\n"
- .string "Thanks! See you around!$"
-
-gText_082B83CE:: @ 82B83CE
- .string "No way! Uh-uh!\n"
- .string "Are you maybe the real {PLAYER}?\p"
- .string "A-hah! Awesome! I'm {STR_VAR_1},\n"
- .string "so pleased to meet you!\p"
- .string "{PLAYER}, you're very strong,\n"
- .string "aren't you?\p"
- .string "Everyone's talking about you!\p"
- .string "Oh! I just had this great idea!\n"
- .string "I'll get advice off you, {PLAYER}!\l"
- .string "I'm sure it will make me tougher!\p"
- .string "Isn't it a great idea?\n"
- .string "Please, I want your advice!$"
-
-gText_082B84FC:: @ 82B84FC
- .string "Ahahaha, you can pretend to be mean,\n"
- .string "but you can't fool me!\l"
- .string "You really mean okay, don't you?$"
-
-gText_082B8559:: @ 82B8559
- .string "Yay! I knew you'd have a big heart,\n"
- .string "{PLAYER}!\p"
- .string "What should I ask you first?\n"
- .string "…Oh, I thought of something!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "If I were to take a BATTLE TOWER\n"
- .string "challenge, which way should I go?\p"
- .string "Level 50 or Open Level?\n"
- .string "Which suits me more?$"
-
-gText_082B8656:: @ 82B8656
- .string "Oh-oh-oh!\n"
- .string "{STR_VAR_1}, you say!\l"
- .string "Thank you for a totally cool reply!\p"
- .string "I guess that's about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let's meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082B86EA:: @ 82B86EA
- .string "I beg your pardon, but…\n"
- .string "Are you {PLAYER}?\p"
- .string "I'm {STR_VAR_1}, and I am delighted to\n"
- .string "make your acquaintance.\p"
- .string "I have long been an admirer\n"
- .string "of yours…\p"
- .string "… … … … … …\p"
- .string "Um… I hope you don't find this\n"
- .string "request too much of a burden, but…\p"
- .string "May I become your apprentice,\n"
- .string "{PLAYER}?$"
-
-gText_082B87DA:: @ 82B87DA
- .string "Oh…!\p"
- .string "… … … … … …\n"
- .string "… … … … … …\p"
- .string "…I must have fainted from shock.\n"
- .string "I'm sorry, I must have misheard you.\p"
- .string "Please! Please say that you will\n"
- .string "accept me as your apprentice!$"
-
-gText_082B887C:: @ 82B887C
- .string "Oh… I'm delighted!\p"
- .string "I don't wish to waste your time,\n"
- .string "so please advise me on this.\p"
- .string "I plan to take a BATTLE TOWER\n"
- .string "challenge soon.\p"
- .string "However, there are two levels…\p"
- .string "Which would be most suitable for me?\n"
- .string "Level 50 or Open Level?$"
-
-gText_082B8957:: @ 82B8957
- .string "{STR_VAR_1} is your choice!\n"
- .string "I see. I will do my best!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082B89C6:: @ 82B89C6
- .string "Eek! Eek! {PLAYER}!\n"
- .string "You spoke to me!\l"
- .string "I… I'm overjoyed!\p"
- .string "Me! My name is {STR_VAR_1}!\n"
- .string "I just became a TRAINER!\p"
- .string "I'm delighted I met you, {PLAYER},\n"
- .string "the big name in POKéMON circles!\p"
- .string "Oh-oh-oh, I know!\n"
- .string "May I ask a huge favor, {PLAYER}?\p"
- .string "Please take me in as your apprentice!\n"
- .string "I want to learn from you!$"
-
-gText_082B8ACF:: @ 82B8ACF
- .string "Waaaah!\n"
- .string "{PLAYER} turned me down…\l"
- .string "It… It's an invaluable experience!\p"
- .string "{PLAYER}, please! I want to hear\n"
- .string "an affirmative answer this time!\p"
- .string "I beg you for your guidance!$"
-
-gText_082B8B66:: @ 82B8B66
- .string "Hieeeeh! {PLAYER} said yes!\n"
- .string "{PLAYER} said yes!\p"
- .string "I won't be able to sleep tonight…\n"
- .string "Thank you ever so much!\p"
- .string "Then, here's my question!\p"
- .string "At the BATTLE TOWER, what is right\n"
- .string "for me, Level 50 or Open Level?$"
-
-gText_082B8C20:: @ 82B8C20
- .string "{STR_VAR_1}! Perfectly understood!\n"
- .string "I understand perfectly!\l"
- .string "I'm deliriously delighted!\p"
- .string "I hope you'll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082B8CAA:: @ 82B8CAA
- .string "Whoa! Could you be…\n"
- .string "Might you be… {PLAYER}{KUN}?!\l"
- .string "That strong and famous TRAINER?\l"
- .string "Well, hello, aren't I just the luckiest!\p"
- .string "Hello, the name's {STR_VAR_1}!\p"
- .string "I've been on the lookout for\n"
- .string "a POKéMON teacher.\p"
- .string "And with impeccably good timing,\n"
- .string "along came you, {PLAYER}{KUN}!\p"
- .string "So, there you have it, {PLAYER}{KUN}!\n"
- .string "Let me apprentice under you!$"
-
-gText_082B8DD3:: @ 82B8DD3
- .string "Gwaaaah!\n"
- .string "You're quite cool and tough…\p"
- .string "Don't be that way, please.\n"
- .string "I'm asking you!$"
-
-gText_082B8E24:: @ 82B8E24
- .string "Oh, yeah! That's a solid reply!\n"
- .string "Excellent, I might add!\p"
- .string "So how about a first piece of advice\n"
- .string "on the BATTLE TOWER?\p"
- .string "If I were to go, what would be better?\n"
- .string "Level 50 or Open Level?$"
-
-gText_082B8ED5:: @ 82B8ED5
- .string "Uh-huh, {STR_VAR_1} it is!\n"
- .string "OK, A-OK!\l"
- .string "I'll go show my mettle, like, jam!\p"
- .string "All right, I'll look to you as my mentor!\n"
- .string "Adios!$"
-
-gText_082B8F45:: @ 82B8F45
- .string "Oh, hey, {PLAYER}{KUN}, right?\n"
- .string "The police were looking for you!\p"
- .string "… … …\n"
- .string "Of course I'm lying!\p"
- .string "Me, I'm {STR_VAR_1}. Despite the way\n"
- .string "I look, I'm the POKéMON CHAMPION!\l"
- .string "…That's a lie, too!\p"
- .string "This is no lie, though.\n"
- .string "I'm not very good at battling.\p"
- .string "So, how about you becoming my master\n"
- .string "about all things POKéMON?$"
-
-gText_082B905F:: @ 82B905F
- .string "If you're going to act cold like that,\n"
- .string "I'll show you what I'll do!\p"
- .string "Waaah! Waaah! Waaah!\n"
- .string "Hiccup!\p"
- .string "Hahaha, that was my FAKE TEARS!\p"
- .string "Come on, will you please be\n"
- .string "my POKéMON master?$"
-
-gText_082B910E:: @ 82B910E
- .string "Yippee!\n"
- .string "I'll buy you a boat for that!\p"
- .string "Of course I'm lying again!\n"
- .string "But… Thank you, master!\p"
- .string "You know how there's Level 50 and\n"
- .string "Open Level at the BATTLE TOWER?\p"
- .string "I'm having trouble deciding which\n"
- .string "level I should challenge…\p"
- .string "Can you decide for me, master?$"
-
-gText_082B9204:: @ 82B9204
- .string "Okay, so {STR_VAR_1} is better!\n"
- .string "I'll go to the other level, then!\p"
- .string "Just kidding!\n"
- .string "I'll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you'll keep teaching me!$"
-
-gText_082B929C:: @ 82B929C
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy, and it means hi!\p"
- .string "I'm {STR_VAR_1}, the rappin' SAILOR\n"
- .string "am I!\p"
- .string "Your turn now, tell me a little about\n"
- .string "yourself, give it a try!\p"
- .string "Uh-huh, uh-huh!\n"
- .string "{PLAYER}{KUN}'s your name,\l"
- .string "and POKéMON's your game!\p"
- .string "And you're at a delicate age\n"
- .string "when all the world's your stage!\p"
- .string "Anyway, I just want to say,\n"
- .string "that you're the tenth TRAINER\l"
- .string "I've spoken to today.\p"
- .string "Let's make that a celebration!\n"
- .string "Become my mentor for commemoration!$"
-
-gText_082B9438:: @ 82B9438
- .string "But!\n"
- .string "You have to work with me!\p"
- .string "Don't be such a tease!\n"
- .string "Become my mentor, please!$"
-
-gText_082B9488:: @ 82B9488
- .string "That's it!\n"
- .string "{PLAYER}, you've got the spirit!\p"
- .string "So here's my first question\n"
- .string "that begs your suggestion!\p"
- .string "It's about the BATTLE TOWER,\n"
- .string "and it hinges on my power!\p"
- .string "Level 50 and Open Level there be,\n"
- .string "which is the one that's good for me?$"
-
-gText_082B9564:: @ 82B9564
- .string "Okay, {STR_VAR_1} it is, you say!\n"
- .string "I'll go and take it on my way!\p"
- .string "If it's advice I ever need,\n"
- .string "{PLAYER}, your word I'll always heed!$"
-
-gText_082B95D8:: @ 82B95D8
- .string "Say, hey, aren't you {PLAYER}?\n"
- .string "What should I do? Talk to you?\l"
- .string "Why not? I'm already talking to you!\p"
- .string "{PLAYER}, are you surprised at me?\n"
- .string "I'd better tell you who I happen to be!\p"
- .string "{STR_VAR_1} is what you can call me.\n"
- .string "The brightest star in guitardom,\l"
- .string "that's me!\p"
- .string "Are you receiving me?\n"
- .string "You are receiving me!\p"
- .string "My luck's at its best,\n"
- .string "I'll hit you with a request!\p"
- .string "{PLAYER}, let me be your underling!\n"
- .string "I want you to teach me everything!$"
-
-gText_082B9763:: @ 82B9763
- .string "You're turning me down, then?\n"
- .string "I'll just have to ask you again!\p"
- .string "{PLAYER}, I beg to be your underling!\n"
- .string "I need you to teach me everything!$"
-
-gText_082B97E5:: @ 82B97E5
- .string "Lucky, yeah, woohoo!\n"
- .string "Should I pop a question to you?\p"
- .string "Since we're near the BATTLE TOWER,\n"
- .string "how about a question about its power?\p"
- .string "Of the choices you see,\n"
- .string "which is the right one for me?$"
-
-gText_082B989A:: @ 82B989A
- .string "If {STR_VAR_1} is what you suggest,\n"
- .string "it must be the very best!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don't you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082B992D:: @ 82B992D
- .string "Oh, hi! You there!\n"
- .string "Can I get you to massage my shoulder?\p"
- .string "…Yes, there! That's it!\n"
- .string "Ouch, ouch! Oooh, that feels great!\p"
- .string "My name's {STR_VAR_1}.\n"
- .string "I take karate training, but my body's\l"
- .string "not built to take the abuse…\p"
- .string "I decided I'll battle POKéMON and\n"
- .string "toughen myself up.\p"
- .string "You're {PLAYER}{KUN}, aren't you?\n"
- .string "The POKéMON LEAGUE CHAMP?\p"
- .string "Listen, can I get you to give me\n"
- .string "advice?$"
-
-gText_082B9A84:: @ 82B9A84
- .string "Oh, why?\p"
- .string "I won't be a big bother, I promise!\n"
- .string "Please?$"
-
-gText_082B9AB9:: @ 82B9AB9
- .string "Thank you. Mighty good of you!\n"
- .string "…Cough! Cough!\p"
- .string "Oogh, I have to toughen up quick…\p"
- .string "I'll be heading off to the BATTLE TOWER\n"
- .string "right away, but what would be better\l"
- .string "for me? Level 50 or Open Level?$"
-
-gText_082B9B76:: @ 82B9B76
- .string "Hm, all right. That's {STR_VAR_1}.\n"
- .string "I'll go there right away.\p"
- .string "I hope I can keep hitting you up for\n"
- .string "help--after all, you're my mentor!$"
-
-gText_082B9BF2:: @ 82B9BF2
- .string "Er… Um…\n"
- .string "{PLAYER}{KUN}…?\p"
- .string "Please, don't look at me that way.\n"
- .string "You're making me all self-conscious.\p"
- .string "I… I'm {STR_VAR_1}.\p"
- .string "I'm really embarrassed to say this,\n"
- .string "but I explore ancient ruins and such.\p"
- .string "I'm even more embarrassed to admit\n"
- .string "I'm interested in the BATTLE FRONTIER.\p"
- .string "{PLAYER}{KUN}, you have a reputation as\n"
- .string "a tough TRAINER…\p"
- .string "It's hard for me to say this,\n"
- .string "but I want to ask something.\p"
- .string "Could you become my teacher and\n"
- .string "give me advice?$"
-
-gText_082B9D83:: @ 82B9D83
- .string "Please don't brush me off like this!\n"
- .string "I can't live with the humiliation.\p"
- .string "Please become my teacher!\n"
- .string "I need your advice!$"
-
-gText_082B9DF9:: @ 82B9DF9
- .string "Th-thank you…\p"
- .string "But please don't look at me like that.\n"
- .string "It makes me all flustered.\p"
- .string "Please, answer me without looking\n"
- .string "at my eyes.\p"
- .string "At the BATTLE TOWER…\n"
- .string "Which level should I attempt?$"
-
-gText_082B9EAA:: @ 82B9EAA
- .string "Oh… Okay!\n"
- .string "I'll try my hand at that.\p"
- .string "I hope I can make a valiant challenge\n"
- .string "without getting all flustered…\p"
- .string "Thank you, {PLAYER}{KUN}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082B9F55:: @ 82B9F55
- .string "Hm? You appear to be {PLAYER}{KUN}…\n"
- .string "But are you really real?\p"
- .string "You may call me {STR_VAR_1}.\p"
- .string "I have been toying with the idea of\n"
- .string "apprenticing under a strong TRAINER.\p"
- .string "So, I must say I'm lucky you came along!\n"
- .string "…You really are {PLAYER}{KUN}, yes?\p"
- .string "No, no, if you are real, it's fine.\n"
- .string "I merely want you to recognize me\l"
- .string "as your apprentice.$"
-
-gText_082BA084:: @ 82BA084
- .string "Oh?\n"
- .string "But what would compel you to refuse?\p"
- .string "I apologize for being skeptical about\n"
- .string "your identity.\p"
- .string "Please accept my apology and\n"
- .string "accept me as your apprentice.$"
-
-gText_082BA11D:: @ 82BA11D
- .string "You really are accepting me?\n"
- .string "I don't wish to celebrate prematurely.\p"
- .string "If it is true, I apologize.\n"
- .string "But now, I need your advice.\p"
- .string "If I were to enter the BATTLE TOWER,\n"
- .string "what would be worthy of me?\l"
- .string "Level 50 or Open Level?$"
-
-gText_082BA1F3:: @ 82BA1F3
- .string "{STR_VAR_1}?\n"
- .string "Are you certain?\p"
- .string "I see. If that's the case, that's fine.\n"
- .string "I thank you for your time.\p"
- .string "I realize I can annoy, but it delights\n"
- .string "me that you have accepted me.\p"
- .string "Let us meet again!$"
-
-gText_082BA2A3:: @ 82BA2A3
- .string "Sigh… Sob…\n"
- .string "Oh, {PLAYER}!\p"
- .string "I'm all tangled up in a dilemma\n"
- .string "that I can't decide.\p"
- .string "I can't decide what I should make\n"
- .string "my {STR_VAR_1} hold.\p"
- .string "Please tell me, {PLAYER}.\n"
- .string "What item should I make it hold?$"
-
-gText_082BA34E:: @ 82BA34E
- .string "Oh, really? I shouldn't make\n"
- .string "my {STR_VAR_1} hold anything?$"
-
-gText_082BA380:: @ 82BA380
- .string "Oh, okay! I'm delighted it's settled!\n"
- .string "Awesome! Wicked! Awoooh!\p"
- .string "Thank you so much!$"
-
-gText_082BA3D2:: @ 82BA3D2
- .string "Oh, I'm so glad…\n"
- .string "I think I have that {STR_VAR_1}, too.\p"
- .string "I'm delighted it's settled!\n"
- .string "Awesome! Wicked! Awoooh!\p"
- .string "Thank you so much!$"
-
-gText_082BA448:: @ 82BA448
- .string "Waaaah! Please don't be mean!\p"
- .string "That item {STR_VAR_1} was already\n"
- .string "recommended to me before, sob…\p"
- .string "Or do you mean I shouldn't make\n"
- .string "my {STR_VAR_2} hold anything?$"
-
-gText_082BA4D3:: @ 82BA4D3
- .string "Yay! It's {PLAYER}!\n"
- .string "Great! I wanted to ask you something!\p"
- .string "Do you make your POKéMON hold items?\n"
- .string "I want to make mine hold items, but…\p"
- .string "What item would be good for\n"
- .string "{STR_VAR_1} to hold?\p"
- .string "What do you think?$"
-
-gText_082BA58C:: @ 82BA58C
- .string "Huh? You mean my {STR_VAR_1} doesn't\n"
- .string "have to hold anything?$"
-
-gText_082BA5BF:: @ 82BA5BF
- .string "Oh, I get it! I'll do that!\n"
- .string "Thanks for teaching me!$"
-
-gText_082BA5F3:: @ 82BA5F3
- .string "Oh, wow! One {STR_VAR_1}, huh?\n"
- .string "Okay, I'll do that!\p"
- .string "Thanks for teaching me!$"
-
-gText_082BA635:: @ 82BA635
- .string "Oh, uh, no, that's not what I meant.\n"
- .string "I want to know about a different item\l"
- .string "than the ones I already know.\p"
- .string "Or do you mean that my POKéMON doesn't\n"
- .string "have to hold anything this time?$"
-
-gText_082BA6E6:: @ 82BA6E6
- .string "{PLAYER}, hello!\n"
- .string "It's about my {STR_VAR_1}…\p"
- .string "I want to make it hold a good item.\n"
- .string "What would be good for it?$"
-
-gText_082BA742:: @ 82BA742
- .string "Oh, then my {STR_VAR_1} doesn't have\n"
- .string "to hold anything?$"
-
-gText_082BA770:: @ 82BA770
- .string "Okay, I got it!\n"
- .string "See you again!$"
-
-gText_082BA78F:: @ 82BA78F
- .string "Oh, the item {STR_VAR_1}?\n"
- .string "Understood!\p"
- .string "I'll do my best to find one!\n"
- .string "See you again!$"
-
-gText_082BA7D8:: @ 82BA7D8
- .string "Somebody taught me about\n"
- .string "the {STR_VAR_1} already.\p"
- .string "I want my POKéMON to hold a different\n"
- .string "kind of item.\p"
- .string "Or do you think {STR_VAR_2} doesn't\n"
- .string "have to hold anything?$"
-
-gText_082BA867:: @ 82BA867
- .string "Hello, {PLAYER}…\n"
- .string "I'm sorry to disturb you, but I have\l"
- .string "something else I wanted to ask you.\p"
- .string "I don't think I'm good enough to win\n"
- .string "matches on my own, so I'm thinking of\l"
- .string "making my {STR_VAR_1} hold an item.\p"
- .string "But I don't know what would be good.\p"
- .string "{PLAYER}, please, could you decide\n"
- .string "for me?$"
-
-gText_082BA96B:: @ 82BA96B
- .string "A POKéMON belonging to someone like me\n"
- .string "would be better off without an item?$"
-
-gText_082BA9B7:: @ 82BA9B7
- .string "I understand…\n"
- .string "You're saying I shouldn't rely on items.\l"
- .string "I'll do my best not to!\p"
- .string "Thank you very much!$"
-
-gText_082BAA1B:: @ 82BAA1B
- .string "The item {STR_VAR_1}, okay.\n"
- .string "I'm not sure if I can get one…\l"
- .string "No! I'll do my best to get it.\p"
- .string "Thank you very much!$"
-
-gText_082BAA81:: @ 82BAA81
- .string "Oh, but…\n"
- .string "I think I've heard about that before…\p"
- .string "Is it maybe because I haven't handled\n"
- .string "the item {STR_VAR_1} very well?\p"
- .string "Or do you mean I shouldn't make\n"
- .string "my {STR_VAR_2} hold anything?$"
-
-gText_082BAB22:: @ 82BAB22
- .string "Oh, {PLAYER}{KUN}.\n"
- .string "There's something I wanted to ask you.\p"
- .string "You know how you decided which\n"
- .string "POKéMON I should have for me?\p"
- .string "But I never asked you what item\n"
- .string "it should be holding.\p"
- .string "Since you already gave me advice,\n"
- .string "how about seeing this to the end?\p"
- .string "What would be good? I want to make\n"
- .string "my {STR_VAR_1} hold something.$"
-
-gText_082BAC43:: @ 82BAC43
- .string "Oh! So my {STR_VAR_1} should do\n"
- .string "the best it can empty-handed?$"
-
-gText_082BAC78:: @ 82BAC78
- .string "If you think that's best, I'll do that.\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{KUN}, I won't be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I'll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BAD17:: @ 82BAD17
- .string "The item {STR_VAR_1}, huh?\n"
- .string "Not bad. I'll use it!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{KUN}, I won't be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I'll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BADB6:: @ 82BADB6
- .string "Huh? What are you saying?\n"
- .string "You told me about the {STR_VAR_1}\l"
- .string "already before.\p"
- .string "Or do you mean my {STR_VAR_2} should\n"
- .string "do the best it can empty-handed?$"
-
-gText_082BAE36:: @ 82BAE36
- .string "Yo, {PLAYER}{KUN}!\p"
- .string "We're both busy, but we seem to run\n"
- .string "into each other often anyway!\p"
- .string "Today I have to do some walking,\n"
- .string "cleaning, and brushing.\p"
- .string "I haven't even had the time to buy\n"
- .string "my precious {STR_VAR_1} anything.\p"
- .string "I don't have any time, so how about\n"
- .string "giving me advice on what I should make\l"
- .string "my {STR_VAR_1} hold?$"
-
-gText_082BAF4E:: @ 82BAF4E
- .string "Oh, so me being a busy guy, you say\n"
- .string "my {STR_VAR_1} doesn't need anything?$"
-
-gText_082BAF8F:: @ 82BAF8F
- .string "Okay, gotcha.\n"
- .string "I won't need any time for that.\p"
- .string "Thanks today!\n"
- .string "See you around!$"
-
-gText_082BAFDB:: @ 82BAFDB
- .string "Okay, gotcha.\n"
- .string "I'll find time somehow and find\l"
- .string "that {STR_VAR_1} you recommended.\p"
- .string "I'm glad I met a good mentor in you.\n"
- .string "Thanks! See you around!$"
-
-gText_082BB05F:: @ 82BB05F
- .string "Huh? I already know about\n"
- .string "that {STR_VAR_1}.\p"
- .string "Oh, right, I get it.\n"
- .string "So me being a busy guy, you say\l"
- .string "my {STR_VAR_2} doesn't need anything?$"
-
-gText_082BB0D4:: @ 82BB0D4
- .string "Hiya, {PLAYER}! It's me!\n"
- .string "I need to tap your mind again today.\l"
- .string "Please, I need your advice!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "If I want to make my {STR_VAR_1} hold\n"
- .string "an item, what should it be?$"
-
-gText_082BB18C:: @ 82BB18C
- .string "Is that right? My {STR_VAR_1} doesn't\n"
- .string "need to hold an item, you're saying.$"
-
-gText_082BB1CE:: @ 82BB1CE
- .string "Okay, that's what I'll do!\p"
- .string "I guess that's about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let's meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BB242:: @ 82BB242
- .string "Uh-huh! One {STR_VAR_1}.\n"
- .string "What a cool choice!\l"
- .string "I'll definitely try that!\p"
- .string "I guess that's about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let's meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BB2D9:: @ 82BB2D9
- .string "Ahahah! That's silly!\n"
- .string "You already told me about that\l"
- .string "{STR_VAR_1} before!\p"
- .string "Are you feeling okay, {PLAYER}?\p"
- .string "Oh, wait! My {STR_VAR_2} doesn't\n"
- .string "need to hold an item, you're saying.$"
-
-gText_082BB370:: @ 82BB370
- .string "Hello, {PLAYER}. I hope you've been\n"
- .string "keeping well.\p"
- .string "May I approach you for advice?\p"
- .string "In a recent battle, my opponent\n"
- .string "seemed to have given his POKéMON\l"
- .string "an item to hold.\p"
- .string "As a result, I was defeated…\p"
- .string "I don't wish to be left behind.\n"
- .string "I would like to make my {STR_VAR_1}\l"
- .string "hold an item, too.\p"
- .string "It would please me if you could decide\n"
- .string "what would be right for my POKéMON…$"
-
-gText_082BB4C3:: @ 82BB4C3
- .string "In other words… My POKéMON has\n"
- .string "no need to hold an item?$"
-
-gText_082BB4FB:: @ 82BB4FB
- .string "I understand clearly now!\n"
- .string "I will keep trying like this.\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BB575:: @ 82BB575
- .string "One {STR_VAR_1} it is!\n"
- .string "I will order it right away.\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BB5E1:: @ 82BB5E1
- .string "You've already told me about that,\n"
- .string "and I already have it.\p"
- .string "Or are you saying… My POKéMON has\n"
- .string "no need to hold an item?$"
-
-gText_082BB656:: @ 82BB656
- .string "Eek! {PLAYER}!\n"
- .string "I… I'm overjoyed to see you again!\p"
- .string "Oh-oh-oh! There's something I just\n"
- .string "had to ask you, {PLAYER}!\p"
- .string "Please decide what my {STR_VAR_1}\n"
- .string "should be holding!$"
-
-gText_082BB6E5:: @ 82BB6E5
- .string "Oh, wow! I didn't expect that answer!\n"
- .string "So, a hold item isn't necessary?$"
-
-gText_082BB72C:: @ 82BB72C
- .string "Perfectly understood!\n"
- .string "I'll keep at this without an item!\p"
- .string "I hope you'll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082BB7A2:: @ 82BB7A2
- .string "{STR_VAR_1}! I'll use that!\p"
- .string "Um… Could it be, {PLAYER}, you also\n"
- .string "make your POKéMON hold that item?\p"
- .string "I'll be sure to get it!\n"
- .string "I hope you'll be willing to teach me\l"
- .string "some more another time.$"
-
-gText_082BB84A:: @ 82BB84A
- .string "Oh? You recommended that\n"
- .string "{STR_VAR_1} before, too.\p"
- .string "Or is it the best thing to hold?\n"
- .string "Or do you mean that my {STR_VAR_2}\l"
- .string "doesn't need anything to hold?$"
-
-gText_082BB8CD:: @ 82BB8CD
- .string "Hola!\n"
- .string "My maestro, {PLAYER}{KUN}!\p"
- .string "I want to hit you up for advice on\n"
- .string "POKéMON tools.\p"
- .string "What do you think would be good for\n"
- .string "my {STR_VAR_1} to hold?\p"
- .string "Don't be shy now.\n"
- .string "Let's blurt it out!$"
-
-gText_082BB970:: @ 82BB970
- .string "Oh? So, you're saying my {STR_VAR_1}\n"
- .string "can win without holding any item?$"
-
-gText_082BB9AE:: @ 82BB9AE
- .string "Si, bueno!\n"
- .string "I'll give it my best shot, like, slam!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BBA05:: @ 82BBA05
- .string "Uh-huh, that's one {STR_VAR_1}?\n"
- .string "Si, bueno!\l"
- .string "I'll go find me one, like, bam!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BBA6C:: @ 82BBA6C
- .string "No, no! You already told me about\n"
- .string "that {STR_VAR_1} thing before.\p"
- .string "Oh, now wait just one minute here…\n"
- .string "So, you're saying my {STR_VAR_2}\l"
- .string "can win without holding any item?$"
-
-gText_082BBB01:: @ 82BBB01
- .string "{PLAYER}{KUN}, something unbelievable\n"
- .string "has happened!\p"
- .string "I woke up this morning, and my POKéMON\n"
- .string "had 10 NUGGETS!\p"
- .string "Of course I'm lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I'm not very good at thinking about\l"
- .string "what items POKéMON should hold.\p"
- .string "So, how about deciding for me what\n"
- .string "my {STR_VAR_1} should hold, master?$"
-
-gText_082BBC1C:: @ 82BBC1C
- .string "What's that mean?\n"
- .string "Don't make it hold anything?$"
-
-gText_082BBC4B:: @ 82BBC4B
- .string "Okay, so it shouldn't hold anything.\n"
- .string "Then, I'd better get something for it!\p"
- .string "Just kidding!\n"
- .string "I'll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you'll keep teaching me!$"
-
-gText_082BBCF6:: @ 82BBCF6
- .string "Okay, so it's one {STR_VAR_1}!\n"
- .string "I'll make it hold anything but that!\p"
- .string "Just kidding!\n"
- .string "I'll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you'll keep teaching me!$"
-
-gText_082BBD90:: @ 82BBD90
- .string "Um, you told me about that before,\n"
- .string "didn't you?\p"
- .string "Isn't there something else?\p"
- .string "Or do you mean, don't make\n"
- .string "my {STR_VAR_2} hold anything?$"
-
-gText_082BBE0B:: @ 82BBE0B
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin' SAILOR am I!\n"
- .string "I present to you a question\l"
- .string "that's pretty fly!\p"
- .string "It's an item question\n"
- .string "that begs your suggestion!\p"
- .string "My {STR_VAR_1} needs an item to hold,\n"
- .string "What should it be, if I may be bold?$"
-
-gText_082BBEE5:: @ 82BBEE5
- .string "Is that right?\n"
- .string "My {STR_VAR_1} doesn't need to be\l"
- .string "holding anything tight?$"
-
-gText_082BBF25:: @ 82BBF25
- .string "Okay, I hear you, sure I do!\n"
- .string "My POKéMON will go empty-handed, too!\p"
- .string "If it's advice I ever need,\n"
- .string "{PLAYER}, your word I'll always heed!$"
-
-gText_082BBFA4:: @ 82BBFA4
- .string "Okay, one {STR_VAR_1},\n"
- .string "that's what I'll use.\l"
- .string "I was right to make you choose!\p"
- .string "If it's advice I ever need,\n"
- .string "{PLAYER}, your word I'll always heed!$"
-
-gText_082BC024:: @ 82BC024
- .string "Okay, one {STR_VAR_1}, you say?\n"
- .string "You told me that the other day.\l"
- .string "I need a new idea, a brand new way.\p"
- .string "Or, what, is that right?\n"
- .string "My POKéMON doesn't need to hold\l"
- .string "anything tight?$"
-
-gText_082BC0C8:: @ 82BC0C8
- .string "Say, hey, {PLAYER}!\n"
- .string "I found you again today!\p"
- .string "What should I do? Get your advice?\n"
- .string "Why not? I'm already talking to you!\p"
- .string "{PLAYER}, are you getting sick of me?\n"
- .string "Nah, no way, that can't be.\p"
- .string "Will you hear me out?\n"
- .string "I'm looking for advice--that's what\l"
- .string "I'm talking about.\p"
- .string "It's about a hold item for\n"
- .string "my {STR_VAR_1} that'd be good.\l"
- .string "My indecision is making me brood.$"
-
-gText_082BC213:: @ 82BC213
- .string "My {STR_VAR_1} needs nothing?\n"
- .string "Doesn't need to hold anything?$"
-
-gText_082BC247:: @ 82BC247
- .string "If holding nothing is the best,\n"
- .string "I'll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don't you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BC2DD:: @ 82BC2DD
- .string "If holding that {STR_VAR_1} is\n"
- .string "the best, I'll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don't you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BC373:: @ 82BC373
- .string "Haven't I heard about that\n"
- .string "{STR_VAR_1} before?\l"
- .string "I'm certain I have, that's for sure!\p"
- .string "I need a new something!\n"
- .string "Or, my {STR_VAR_2} needs nothing?\l"
- .string "Doesn't need to hold anything?$"
-
-gText_082BC40E:: @ 82BC40E
- .string "Gwah! Ouch! {PLAYER}{KUN}, my arm's broken!\n"
- .string "Don't touch it, please!\p"
- .string "I must've broken it while I was trying\n"
- .string "out different hold items with my posse\l"
- .string "of POKéMON.\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{KUN}, what do you think would be\n"
- .string "good for my {STR_VAR_1} to hold?$"
-
-gText_082BC514:: @ 82BC514
- .string "Ouch…\p"
- .string "So your suggestion is my {STR_VAR_1}\n"
- .string "doesn't have to hold anything?$"
-
-gText_082BC555:: @ 82BC555
- .string "Hm, all right. That would be easier\n"
- .string "for me, the way things are now.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BC5CE:: @ 82BC5CE
- .string "Hm, all right. That's one {STR_VAR_1}.\n"
- .string "My POKéMON's arm is fine, so I'll make\l"
- .string "it hold that item right away.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BC666:: @ 82BC666
- .string "No, no, you told me about that\n"
- .string "{STR_VAR_1} before, remember?\p"
- .string "How about telling me something\n"
- .string "even better?\p"
- .string "Oh, wait a second.\n"
- .string "So your suggestion is my {STR_VAR_2}\l"
- .string "doesn't have to hold anything?$"
-
-gText_082BC714:: @ 82BC714
- .string "Er… Um…\n"
- .string "{PLAYER}{KUN}…\p"
- .string "Please, don't look at me that way.\n"
- .string "My POKéMON don't have anything.\p"
- .string "I… I'm really embarrassed about this,\n"
- .string "but I really need your advice.\p"
- .string "I can't decide what hold item would\n"
- .string "make my {STR_VAR_1} strong.\p"
- .string "{PLAYER}{KUN}, what do you think would\n"
- .string "be good?$"
-
-gText_082BC808:: @ 82BC808
- .string "Oh… Then, you think it would be better\n"
- .string "if my {STR_VAR_1} didn't have an item?$"
-
-gText_082BC84D:: @ 82BC84D
- .string "Oh… Okay!\n"
- .string "I'll go without an item.\p"
- .string "This is nerve-racking, though.\n"
- .string "Wouldn't it be too cool?\p"
- .string "Thank you, {PLAYER}{KUN}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BC8EA:: @ 82BC8EA
- .string "Oh… Okay!\n"
- .string "I'll go with that {STR_VAR_1}.\p"
- .string "This is nerve-racking, though.\n"
- .string "Wouldn't it be too cool?\p"
- .string "Thank you, {PLAYER}{KUN}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BC984:: @ 82BC984
- .string "B-but I already heard about that.\p"
- .string "Please don't brush me off like this!\n"
- .string "I can't live with the humiliation.\p"
- .string "Oh… Am I jumping to conclusions?\n"
- .string "Do you think it would be better if\l"
- .string "my {STR_VAR_2} didn't have an item?$"
-
-gText_082BCA4D:: @ 82BCA4D
- .string "Hm? You appear to be {PLAYER}{KUN}…\n"
- .string "But are you really?\l"
- .string "Perhaps you're a twin?\p"
- .string "Oh, no, no, no, don't worry!\n"
- .string "If you really are {PLAYER}, please\l"
- .string "forget about my rudeness.\p"
- .string "What I would like is some more of\n"
- .string "your fine advice.\p"
- .string "I have here my {STR_VAR_1} that I wish\n"
- .string "to make hold a convenient item.\p"
- .string "What would be worthy of it?$"
-
-gText_082BCB75:: @ 82BCB75
- .string "It's better if it held nothing?\n"
- .string "Are you certain?$"
-
-gText_082BCBA6:: @ 82BCBA6
- .string "I see. If that's the case, that's fine.\n"
- .string "I thank you for your time.\p"
- .string "Let us meet again!$"
-
-gText_082BCBFC:: @ 82BCBFC
- .string "One {STR_VAR_1}?\n"
- .string "Are you certain?\p"
- .string "I see. If that's the case, that's fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope my POKéMON will be able to\n"
- .string "put it to good use.\p"
- .string "Let us meet again!$"
-
-gText_082BCCA4:: @ 82BCCA4
- .string "No, no, wait a minute.\n"
- .string "I believe you taught me that before.\p"
- .string "I would like you to recommend\n"
- .string "something different this time.\p"
- .string "Perhaps you're suggesting that\n"
- .string "my {STR_VAR_2} should hold nothing?\l"
- .string "Are you certain?$"
-
-gText_082BCD68:: @ 82BCD68
- .string "Waah, {PLAYER}!\n"
- .string "I have a dilemma, sob…\p"
- .string "I want to begin battling other people,\n"
- .string "but I don't know what to do.\p"
- .string "How should I line up my POKéMON\n"
- .string "so they'll be at their strongest?\p"
- .string "Please tell me, {PLAYER}.\n"
- .string "If you were me, which of these POKéMON\l"
- .string "would you send out first?$"
-
-gText_082BCE64:: @ 82BCE64
- .string "My {STR_VAR_1} should go first?\n"
- .string "Waaaaah!\p"
- .string "Oh! I'm so sorry!\n"
- .string "You've made me happy by choosing\l"
- .string "my first POKéMON, and it's made me cry…\p"
- .string "Thank you so much!$"
-
-gText_082BCEF2:: @ 82BCEF2
- .string "Yay! It's {PLAYER}!\n"
- .string "Great! I wanted to ask you something!\p"
- .string "Um, of my POKéMON, which do you\n"
- .string "think should go out first?$"
-
-gText_082BCF61:: @ 82BCF61
- .string "My {STR_VAR_1}? That's true.\n"
- .string "Okay, I'll do that!\p"
- .string "Thanks for teaching me!$"
-
-gText_082BCFA1:: @ 82BCFA1
- .string "{PLAYER}, hello!\p"
- .string "I think, in a battle, it's very important\n"
- .string "which POKéMON comes out first.\p"
- .string "Out of the POKéMON that I have,\n"
- .string "which would be good to send out first?$"
-
-gText_082BD03C:: @ 82BD03C
- .string "My {STR_VAR_1} goes first?\n"
- .string "Okay, I got it!\p"
- .string "See you again!$"
-
-gText_082BD06D:: @ 82BD06D
- .string "Hello, {PLAYER}…\n"
- .string "I'm sorry to disturb you again with\l"
- .string "another question.\p"
- .string "I have so little confidence, I don't\n"
- .string "know what I'd do without you, {PLAYER}.\p"
- .string "It may be a waste of time for me to\n"
- .string "even worry about it, but I just can't\l"
- .string "decide something…\p"
- .string "Which of my POKéMON should I send\n"
- .string "out first in a battle?$"
-
-gText_082BD18A:: @ 82BD18A
- .string "My {STR_VAR_1}?\n"
- .string "Understood!\p"
- .string "I can't believe that you would bother\n"
- .string "to answer my questions so often!\p"
- .string "I'm so grateful that you would even\n"
- .string "speak with me… Thank you!$"
-
-gText_082BD222:: @ 82BD222
- .string "Oh, {PLAYER}{KUN}! It's me!\n"
- .string "I'm so glad to see you because I have\l"
- .string "this little problem.\p"
- .string "I can't decide how my POKéMON should\n"
- .string "be lined up. Could you decide for me?\p"
- .string "Oh, you don't need to decide the whole\n"
- .string "party right now.\p"
- .string "How about deciding just the first\n"
- .string "POKéMON for me?$"
-
-gText_082BD325:: @ 82BD325
- .string "My {STR_VAR_1}? That's great!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{KUN}, I won't be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I'll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BD3B1:: @ 82BD3B1
- .string "Hi, my teacher {PLAYER}{KUN}!\n"
- .string "I'm busy again today!\p"
- .string "I have to do some cycling, shopping,\n"
- .string "and humming.\p"
- .string "I haven't even had the time to decide\n"
- .string "how to line up my POKéMON team.\p"
- .string "So, how about checking out my team?\n"
- .string "Which one should go first?$"
-
-gText_082BD493:: @ 82BD493
- .string "Okay, gotcha.\n"
- .string "I have enough time at least to put\l"
- .string "my {STR_VAR_1} at the head of the line!\p"
- .string "Whoops, my girlfriend's waiting!\n"
- .string "Thanks! See you around!$"
-
-gText_082BD51C:: @ 82BD51C
- .string "Yoohoo! Hiya, {PLAYER}!\n"
- .string "You always walk around looking tough!\p"
- .string "Listen, I need something from you\n"
- .string "again! It's the usual thing!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is about my team.\p"
- .string "Which POKéMON of mine should be first\n"
- .string "to go out in a battle?$"
-
-gText_082BD609:: @ 82BD609
- .string "Hmhm!\n"
- .string "My {STR_VAR_1}, you say!\l"
- .string "Thanks for a most cool answer!\p"
- .string "I guess that's about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let's meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BD697:: @ 82BD697
- .string "Thank you so much for stopping to\n"
- .string "chat with me, {PLAYER}.\p"
- .string "I know I'm taking advantage of your\n"
- .string "kindness, but may I ask for advice?\p"
- .string "I would like you to decide on the order\n"
- .string "of my POKéMON team.\p"
- .string "It would please me if you could decide\n"
- .string "which POKéMON should come first.$"
-
-gText_082BD797:: @ 82BD797
- .string "My {STR_VAR_1} it is!\n"
- .string "I will put it first right away!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BD806:: @ 82BD806
- .string "Eek! {PLAYER}!\n"
- .string "I… I'm overjoyed to see you again!\p"
- .string "My POKéMON have become much\n"
- .string "stronger!\p"
- .string "But I don't always win. It seems to\n"
- .string "depend on which POKéMON goes first.\p"
- .string "{PLAYER}, please, I need your help!\p"
- .string "Please decide which of my POKéMON\n"
- .string "should go out first!$"
-
-gText_082BD8F5:: @ 82BD8F5
- .string "Sigh… I'm overwhelmed with happiness…\p"
- .string "It's like a dream having you decide\n"
- .string "for me, {PLAYER}.\p"
- .string "But perfectly understood!\n"
- .string "I will go with my {STR_VAR_1} first!\p"
- .string "I hope you'll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082BD9BE:: @ 82BD9BE
- .string "Hello, hello!\n"
- .string "My mentor, {PLAYER}{KUN}!\l"
- .string "Hit me with your sage advice today!\p"
- .string "You see, I pulled together a team of\n"
- .string "three POKéMON. So far so good.\p"
- .string "But the team's battling order's not\n"
- .string "settled yet.\p"
- .string "This is where you come in, {PLAYER}{KUN}!\n"
- .string "You decide which POKéMON leads off!\p"
- .string "Don't be shy now.\n"
- .string "Let's blurt it out!$"
-
-gText_082BDAE1:: @ 82BDAE1
- .string "Uh-huh, my {STR_VAR_1} leads off!\n"
- .string "OK, A-OK!\l"
- .string "I'll reorder the lineup, like, wham!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BDB4E:: @ 82BDB4E
- .string "{PLAYER}{KUN}, listen!\n"
- .string "It's a crisis!\p"
- .string "My POKéMON, all three of them, go into\n"
- .string "battle at once!\p"
- .string "Of course that's impossible!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I'm not very good at thinking about\l"
- .string "how I should line up my POKéMON.\p"
- .string "So, how about deciding for me which\n"
- .string "POKéMON should go first, master?$"
-
-gText_082BDC6B:: @ 82BDC6B
- .string "Okay, so it's my {STR_VAR_1} you chose?\n"
- .string "I'll let any but that one go first!\p"
- .string "Just kidding!\n"
- .string "I'll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you'll keep teaching me!$"
-
-gText_082BDD0D:: @ 82BDD0D
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin' SAILOR am I!\n"
- .string "I present to you a question\l"
- .string "that's pretty fly!\p"
- .string "It's a team lineup question\n"
- .string "that begs your suggestion!\p"
- .string "Out of this lot, which should go first\n"
- .string "as the first on the spot?$"
-
-gText_082BDDEC:: @ 82BDDEC
- .string "Okay, I hear you, sure I do!\n"
- .string "I'll switch them up, that I'll do!\p"
- .string "If it's advice I ever need,\n"
- .string "{PLAYER}, your word I'll always heed!$"
-
-gText_082BDE68:: @ 82BDE68
- .string "Yahoo, {PLAYER}!\n"
- .string "How do you do?\p"
- .string "What should I do? Go ahead and ask?\n"
- .string "Uh-huh, I have something to ask!\l"
- .string "Are you receiving me?\l"
- .string "You are receiving me!\p"
- .string "You have to decide, which of my\n"
- .string "POKéMON is the first to ride!\l"
- .string "Into battle, I mean to say.$"
-
-gText_082BDF4D:: @ 82BDF4D
- .string "My {STR_VAR_1}? Yes!\n"
- .string "That'll do, there's no distress!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don't you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BDFD8:: @ 82BDFD8
- .string "…Oof…ooch… {PLAYER}{KUN}…\n"
- .string "My stomach's hurting all of a sudden…\p"
- .string "…It's getting better now…\p"
- .string "I must've worried myself sick racking\n"
- .string "my brains on how I should line up\l"
- .string "my posse of POKéMON.\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{KUN}, which of my POKéMON should\n"
- .string "go first? So I'd win, I mean.$"
-
-gText_082BE0FD:: @ 82BE0FD
- .string "Hm, all right.\n"
- .string "My {STR_VAR_1} goes first.\p"
- .string "I'll fix the lineup like that after\n"
- .string "I have my supper.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BE189:: @ 82BE189
- .string "Er… Um…\n"
- .string "{PLAYER}{KUN}?\p"
- .string "Please, don't look at me that way.\n"
- .string "You're making me feel all flustered.\p"
- .string "Um…\n"
- .string "I really need your advice.\p"
- .string "It makes me bashful to say this,\n"
- .string "but I chose my 3-POKéMON team.\l"
- .string "I can't decide on the order, though.\p"
- .string "Which POKéMON should I send out first\n"
- .string "so I at least look capable?$"
-
-gText_082BE2A5:: @ 82BE2A5
- .string "Oh… Okay!\n"
- .string "I'll lead with my {STR_VAR_1}.\p"
- .string "I hope I can do my best without\n"
- .string "getting all flustered.\p"
- .string "Thank you, {PLAYER}{KUN}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BE33E:: @ 82BE33E
- .string "Hm? You appear to be {PLAYER}{KUN}…\n"
- .string "But are you really?\l"
- .string "Perhaps you're a clever look-alike?\p"
- .string "Oh, no, no, no, don't worry!\n"
- .string "If you really are {PLAYER}, please\l"
- .string "forget about my rudeness.\p"
- .string "What I would like is your fine advice.\p"
- .string "I have here my POKéMON team.\n"
- .string "I would like you to tell me which one\l"
- .string "should go first in a battle.$"
-
-gText_082BE46C:: @ 82BE46C
- .string "My {STR_VAR_1}…\n"
- .string "You aren't pulling my leg?\p"
- .string "I see. If that's the case, that's fine.\n"
- .string "I thank you for your time.\p"
- .string "I am as you see, but I shall do\n"
- .string "my best.\p"
- .string "Let us meet again!$"
-
-gText_082BE50D:: @ 82BE50D
- .string "Snivel…\n"
- .string "Oh, {PLAYER}!\p"
- .string "What perfect timing!\n"
- .string "There's something I just can't decide…\p"
- .string "I can't decide which POKéMON I should\n"
- .string "be using.\p"
- .string "I can't decide between the POKéMON\n"
- .string "{STR_VAR_1} and {STR_VAR_2}…\p"
- .string "{PLAYER}, which do you think will give\n"
- .string "even me a chance at winning?$"
-
-gText_082BE5F5:: @ 82BE5F5
- .string "Snivel… I… I understand!\n"
- .string "Oh! I'm so sorry!\l"
- .string "You've made me so happy, I'm crying…\p"
- .string "I'll do my best to catch one\n"
- .string "{STR_VAR_1}!\p"
- .string "Thank you so much!$"
-
-gText_082BE679:: @ 82BE679
- .string "Yay! It's {PLAYER}!\n"
- .string "Yay, you came at the right time, too!\l"
- .string "I need your advice again!\p"
- .string "Um, I'm all mixed up--should I use\n"
- .string "my {STR_VAR_1} or {STR_VAR_2}…\p"
- .string "Which do you think I should raise,\n"
- .string "{PLAYER}?$"
-
-gText_082BE71E:: @ 82BE71E
- .string "Oh, so my {STR_VAR_1} is better!\n"
- .string "Okay, I'll do that!\p"
- .string "Thanks for teaching me!$"
-
-gText_082BE762:: @ 82BE762
- .string "{PLAYER}, hello!\n"
- .string "I have a question I wanted to ask.\p"
- .string "I'm in a dilemma over whether I should\n"
- .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p"
- .string "Which POKéMON do you think will\n"
- .string "be stronger?$"
-
-gText_082BE7F8:: @ 82BE7F8
- .string "{STR_VAR_1} is your choice?\n"
- .string "Okay, I got it!\p"
- .string "I'll go catch a strong {STR_VAR_1}\n"
- .string "right away!\p"
- .string "See you again!$"
-
-gText_082BE850:: @ 82BE850
- .string "Hello, {PLAYER}…\p"
- .string "Um, you've probably already forgotten\n"
- .string "about someone like me…\p"
- .string "…But that doesn't matter if you\n"
- .string "could give me advice…\p"
- .string "I can't decide on the one kind of\n"
- .string "POKéMON I should raise…\p"
- .string "I've narrowed the field to the POKéMON\n"
- .string "{STR_VAR_1} and {STR_VAR_2}, but that's\l"
- .string "where I became stuck…\p"
- .string "{PLAYER}, you probably don't want to\n"
- .string "bother, but please decide for me.$"
-
-gText_082BE99C:: @ 82BE99C
- .string "But will a wild {STR_VAR_1} even pay\n"
- .string "attention to me?\p"
- .string "I will try!\p"
- .string "But will I even be able to catch one…\n"
- .string "No! I'll do my best!\p"
- .string "Thank you!$"
-
-gText_082BEA1B:: @ 82BEA1B
- .string "Oh, {PLAYER}{KUN}! I'm so glad to see you!\n"
- .string "I was about to go looking for you!\p"
- .string "Can you decide what kind of POKéMON\n"
- .string "I should use?\p"
- .string "For instance…\n"
- .string "How about the POKéMON {STR_VAR_1}\l"
- .string "and {STR_VAR_2}?\p"
- .string "Which one do you think would be\n"
- .string "better?$"
-
-gText_082BEAE9:: @ 82BEAE9
- .string "{STR_VAR_1}? That's great!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{KUN}, I won't be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I'll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BEB72:: @ 82BEB72
- .string "If it isn't {PLAYER}{KUN}! How's it going?\n"
- .string "I'm busy again as always!\p"
- .string "I want to do good with POKéMON, too,\n"
- .string "but I haven't been able to decide\l"
- .string "which POKéMON I should use.\p"
- .string "You know how {STR_VAR_1} look strong?\n"
- .string "But {STR_VAR_2} are tough to ignore.\p"
- .string "{PLAYER}{KUN}, give me some of your good\n"
- .string "advice! Which one'd be good for me?$"
-
-gText_082BEC8E:: @ 82BEC8E
- .string "Okay, gotcha.\n"
- .string "I'll find time somehow and catch me\l"
- .string "that {STR_VAR_1} you recommended.\p"
- .string "I'm glad I met a good mentor in you.\n"
- .string "Thanks! See you around!$"
-
-gText_082BED16:: @ 82BED16
- .string "Oh!\n"
- .string "Yay, it's {PLAYER}!\p"
- .string "I didn't waste any time boasting to\n"
- .string "my friends about meeting you!\p"
- .string "I need to tap your mind again today.\n"
- .string "It's an easy one for you!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "If I were to raise a POKéMON,\n"
- .string "and the choices were one {STR_VAR_1}\l"
- .string "or {STR_VAR_2}, which should it be?$"
-
-gText_082BEE29:: @ 82BEE29
- .string "Ahhh!\n"
- .string "{STR_VAR_1}, you say!\l"
- .string "Thanks for a most cool answer!\p"
- .string "I guess that's about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let's meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BEEB4:: @ 82BEEB4
- .string "Oh, is it you, {PLAYER}?\n"
- .string "I'm delighted to see you again!\p"
- .string "Ever since I became your apprentice,\n"
- .string "my confidence has been blooming.\p"
- .string "I think I'm ready to raise a POKéMON\n"
- .string "of my own!\p"
- .string "{PLAYER}, may I impose on you to choose\n"
- .string "which POKéMON I should raise?\p"
- .string "The choices are the POKéMON\n"
- .string "{STR_VAR_1} or {STR_VAR_2}…\l"
- .string "Which POKéMON is right for me?$"
-
-gText_082BEFE2:: @ 82BEFE2
- .string "One {STR_VAR_1} it is!\n"
- .string "I will find one right away!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BF04E:: @ 82BF04E
- .string "Eek! {PLAYER}! I met you again!\n"
- .string "I… I'm overjoyed!\p"
- .string "Oh-oh-oh, I know!\n"
- .string "I shouldn't pass up this opportunity!\p"
- .string "May I ask a huge favor, {PLAYER}?\n"
- .string "Please choose a POKéMON for me!\p"
- .string "Please decide which would be better,\n"
- .string "{STR_VAR_1} or {STR_VAR_2}!$"
-
-gText_082BF11D:: @ 82BF11D
- .string "Wow! You decided for me!\n"
- .string "One {STR_VAR_1} is what I'll raise to\l"
- .string "the best of my ability.\p"
- .string "I hope you'll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082BF1A8:: @ 82BF1A8
- .string "Hey, hey!\n"
- .string "My mentor, {PLAYER}{KUN}!\p"
- .string "Hello, I've been looking for you\n"
- .string "for some more of your sage advice!\p"
- .string "Which kind of POKéMON would be right\n"
- .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p"
- .string "Don't be shy now.\n"
- .string "Let's blurt it out!$"
-
-gText_082BF268:: @ 82BF268
- .string "Uh-huh, one {STR_VAR_1} it is!\n"
- .string "OK, A-OK!\l"
- .string "I'll get one in a BALL, like, cram!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BF2D1:: @ 82BF2D1
- .string "{PLAYER}{KUN}, listen! Big news!\n"
- .string "I caught a mirage POKéMON!\p"
- .string "Of course I'm lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I'm not very good at catching\l"
- .string "POKéMON.\p"
- .string "So, how about deciding for me which\n"
- .string "kind of POKéMON I should catch,\l"
- .string "master?\p"
- .string "Which would be better?\n"
- .string "{STR_VAR_1} or {STR_VAR_2}?$"
-
-gText_082BF3CF:: @ 82BF3CF
- .string "Okay, so it's {STR_VAR_1} you chose?\n"
- .string "I'll grab the other kind, then!\p"
- .string "Just kidding!\n"
- .string "I'll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you'll keep teaching me!$"
-
-gText_082BF46A:: @ 82BF46A
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin' SAILOR am I!\n"
- .string "Surely you remember who am I?\p"
- .string "Today, I have a POKéMON question\n"
- .string "that begs your suggestion!\p"
- .string "I have the choice between this\n"
- .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l"
- .string "Which is the one to catch for me?$"
-
-gText_082BF551:: @ 82BF551
- .string "{STR_VAR_1}, you say, hey, hey!\n"
- .string "I'll go get me one right away!\p"
- .string "If it's advice I ever need,\n"
- .string "{PLAYER}, your word I'll always heed!$"
-
-gText_082BF5C3:: @ 82BF5C3
- .string "Oh, wow, if it isn't {PLAYER}!\p"
- .string "What should I do? Get your advice?\n"
- .string "Why not? I'm already talking to you!\p"
- .string "It's been a long time. Let me break\n"
- .string "the ice. I'm also looking for advice!\l"
- .string "Are you receiving me?\l"
- .string "You are receiving me!\p"
- .string "My POKéMON--which should I use?\n"
- .string "It's either {STR_VAR_1} or {STR_VAR_2}.\l"
- .string "Which do you choose?$"
-
-gText_082BF6E5:: @ 82BF6E5
- .string "If that {STR_VAR_1} is the best,\n"
- .string "I'll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don't you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BF773:: @ 82BF773
- .string "Oh, hi, {PLAYER}{KUN}…\n"
- .string "I have this horrible headache…\p"
- .string "I must've worried too much about\n"
- .string "the kind of POKéMON I should raise.\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{KUN}, if I had to choose between\n"
- .string "the POKéMON {STR_VAR_1} and\l"
- .string "{STR_VAR_2}, which should it be?$"
-
-gText_082BF869:: @ 82BF869
- .string "Hm, one {STR_VAR_1}, all right.\n"
- .string "I'll go look for one when I get better.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BF8DD:: @ 82BF8DD
- .string "Er… Um…\n"
- .string "{PLAYER}{KUN}…?\p"
- .string "Please, don't look at me that way.\n"
- .string "I'm getting all flustered…\l"
- .string "I… I need your advice.\p"
- .string "I… I'm really embarrassed, but I can't\n"
- .string "decide which POKéMON to use.\p"
- .string "If the choices were {STR_VAR_1} or\n"
- .string "{STR_VAR_2}, which would be better?$"
-
-gText_082BF9BA:: @ 82BF9BA
- .string "Oh… Okay!\n"
- .string "I'll do my best with one {STR_VAR_1}.\p"
- .string "I hope I can do my best without\n"
- .string "getting all flustered.\p"
- .string "Thank you, {PLAYER}{KUN}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BFA5A:: @ 82BFA5A
- .string "Hm? You appear to be {PLAYER}{KUN}…\n"
- .string "But are you really real?\p"
- .string "No, no, if you are real, it's fine.\n"
- .string "Incidentally, I would like to obtain\l"
- .string "your advice.\p"
- .string "It's about the POKéMON I am to use.\p"
- .string "If the choices are the POKéMON\n"
- .string "{STR_VAR_1} and {STR_VAR_2}, which is\l"
- .string "more worthy of me?$"
-
-gText_082BFB4E:: @ 82BFB4E
- .string "{STR_VAR_1}?\n"
- .string "Are you certain?\p"
- .string "I see. If that's the case, that's fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope it is something even I can\n"
- .string "handle with aplomb.\p"
- .string "Let us meet again!$"
-
-gText_082BFBF2:: @ 82BFBF2
- .string "Waaah! Oh, {PLAYER}!\n"
- .string "Snivel… Hiccup…\p"
- .string "I have a dilemma!\n"
- .string "I can't decide on a move for\l"
- .string "my {STR_VAR_1}…\p"
- .string "Please, please, {PLAYER}.\n"
- .string "Can you decide for me?\p"
- .string "For my {STR_VAR_1}, which move would\n"
- .string "be the better choice: {STR_VAR_2}\l"
- .string "or {STR_VAR_3}?$"
-
-gText_082BFCAE:: @ 82BFCAE
- .string "{STR_VAR_1}?\n"
- .string "Waaaaah!\p"
- .string "Oh! I'm so sorry, {PLAYER}!\n"
- .string "You've made me so happy by deciding\l"
- .string "the move, I'm crying…\p"
- .string "Snivel…\n"
- .string "Thank you so much!$"
-
-gText_082BFD26:: @ 82BFD26
- .string "Yay! Hi, {PLAYER}!\n"
- .string "I need your advice again!\p"
- .string "I want to teach my {STR_VAR_1}\n"
- .string "a cool move.\p"
- .string "I like either of the moves\n"
- .string "{STR_VAR_2} or {STR_VAR_3}.\l"
- .string "What's your recommendation?$"
-
-gText_082BFDB1:: @ 82BFDB1
- .string "{STR_VAR_1} is better? I guess so!\n"
- .string "Okay, I'll go with that!\p"
- .string "If we meet here again, please teach\n"
- .string "me something else, teacher!$"
-
-gText_082BFE24:: @ 82BFE24
- .string "{PLAYER}, hello!\n"
- .string "It's about my {STR_VAR_1}, but I'm\l"
- .string "worried about its moves.\p"
- .string "You see, it's the moves {STR_VAR_2}\n"
- .string "and {STR_VAR_3}.\p"
- .string "Which is stronger and better for\n"
- .string "my {STR_VAR_1}?$"
-
-gText_082BFEAD:: @ 82BFEAD
- .string "{STR_VAR_1} is your choice?\n"
- .string "Okay, I got it!\p"
- .string "I'll go teach {STR_VAR_1} to\n"
- .string "my POKéMON right away!\p"
- .string "See you again!$"
-
-gText_082BFF0A:: @ 82BFF0A
- .string "Ohhh, {PLAYER}…\n"
- .string "I'm hopeless, no, really!\p"
- .string "I've decided to raise a POKéMON,\n"
- .string "but now I can't even decide what\l"
- .string "move I should let it learn…\p"
- .string "I know that it doesn't mean anything\n"
- .string "to you, {PLAYER}.\p"
- .string "But it means a lot to me…\p"
- .string "Please, {PLAYER}, could you choose\n"
- .string "a move for my {STR_VAR_1}?\p"
- .string "If you could even choose between\n"
- .string "{STR_VAR_2} and {STR_VAR_3}…$"
-
-gText_082C0032:: @ 82C0032
- .string "I understand!\p"
- .string "But will it even be willing to learn\n"
- .string "{STR_VAR_1} for me…\l"
- .string "No! I'll do my best!\p"
- .string "Thank you!$"
-
-gText_082C0090:: @ 82C0090
- .string "Oh, {PLAYER}{KUN}!\n"
- .string "I was just hoping to see you, too!\p"
- .string "I was wondering what move would\n"
- .string "be suitable for my {STR_VAR_1}.\p"
- .string "I can't decide, so can you decide\n"
- .string "for me instead?\p"
- .string "For instance… How about the moves\n"
- .string "{STR_VAR_2} and {STR_VAR_3}?\l"
- .string "Which one would be better?$"
-
-gText_082C016E:: @ 82C016E
- .string "{STR_VAR_1}? That's great!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{KUN}, I won't be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I'll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082C01F7:: @ 82C01F7
- .string "How could things be this busy?\n"
- .string "Hey, if it isn't {PLAYER}{KUN}!\l"
- .string "How's it going?\p"
- .string "Since I got up this morning, I've done\n"
- .string "my jogging, swimming, and cooking!\p"
- .string "You wouldn't believe how busy I am!\p"
- .string "I can't even decide what move\n"
- .string "my {STR_VAR_1} should learn!\p"
- .string "{STR_VAR_2} looks good, huh?\n"
- .string "But {STR_VAR_3}'s also decent.\p"
- .string "{PLAYER}{KUN}, give me some of your good\n"
- .string "advice! Which move'd be good for me?$"
-
-gText_082C034C:: @ 82C034C
- .string "Okay, gotcha.\n"
- .string "I'll make room in my schedule and\l"
- .string "teach that move.\p"
- .string "I'm glad I met a good mentor in you.\n"
- .string "Thanks! See you around!$"
-
-gText_082C03CA:: @ 82C03CA
- .string "Oh! Lucky!\n"
- .string "I met you again, {PLAYER}!\l"
- .string "I need to tap your mind again today.\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "For my {STR_VAR_1}, which is the move\n"
- .string "best suited, {STR_VAR_2} or\l"
- .string "{STR_VAR_3}?$"
-
-gText_082C046E:: @ 82C046E
- .string "Ahhh!\n"
- .string "{STR_VAR_1}, you say!\l"
- .string "Thanks for a most cool answer!\p"
- .string "I guess that's about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let's meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082C04F9:: @ 82C04F9
- .string "Oh, hello, {PLAYER}.\n"
- .string "I trust you've been well?\p"
- .string "I have to seek your advice again.\n"
- .string "It's about my dearest {STR_VAR_1}.\p"
- .string "What would be the ideal move for\n"
- .string "my lovable {STR_VAR_1}?\l"
- .string "{STR_VAR_2} or {STR_VAR_3}?$"
-
-gText_082C0598:: @ 82C0598
- .string "{STR_VAR_1} it is!\n"
- .string "I will teach that right away!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082C0602:: @ 82C0602
- .string "Eek! {PLAYER}! I met you again!\n"
- .string "I… I'm overjoyed!\p"
- .string "Whenever I'm in need, you're always\n"
- .string "there for me, {PLAYER}!\p"
- .string "Today, I want you to recommend\n"
- .string "a move for me!\p"
- .string "Please choose a move for\n"
- .string "my {STR_VAR_1}!\p"
- .string "Which move would be better,\n"
- .string "{STR_VAR_2} or {STR_VAR_3}?$"
-
-gText_082C06D8:: @ 82C06D8
- .string "Oh-oh-oh! Thank you!\n"
- .string "{STR_VAR_1} is it!\l"
- .string "Perfectly understood!\p"
- .string "I hope you'll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082C074A:: @ 82C074A
- .string "Hola, {PLAYER}{KUN}, bueno!\n"
- .string "I'm hoping for some more of\l"
- .string "your sage advice today!\p"
- .string "What would be the best move for\n"
- .string "my {STR_VAR_1}?\p"
- .string "It should be something that'll\n"
- .string "let me win just like that!\p"
- .string "Would it be {STR_VAR_2}?\n"
- .string "Or {STR_VAR_3}?$"
-
-gText_082C0809:: @ 82C0809
- .string "Uh-huh, {STR_VAR_1} it is!\n"
- .string "Si, bueno!\l"
- .string "I'll get it taught, like, ka-blam!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082C086E:: @ 82C086E
- .string "{PLAYER}{KUN}, it's completely wild!\p"
- .string "My POKéMON!\n"
- .string "It learned six moves!\p"
- .string "Of course I'm lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I'm not very good at choosing moves\l"
- .string "for my POKéMON.\p"
- .string "So, how about deciding for me which\n"
- .string "kind of move I should teach?\p"
- .string "{STR_VAR_2} or {STR_VAR_3}--which\n"
- .string "would go with my {STR_VAR_1} best?$"
-
-gText_082C0982:: @ 82C0982
- .string "Okay, so it's {STR_VAR_1} you chose?\n"
- .string "I'll choose another move, then!\p"
- .string "Just kidding!\n"
- .string "I'll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you'll keep teaching me!$"
-
-gText_082C0A1D:: @ 82C0A1D
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin' SAILOR am I!\n"
- .string "I'm always with it, don't ask me why.\p"
- .string "Today, I have a move question\n"
- .string "that begs your suggestion!\p"
- .string "{STR_VAR_2} and {STR_VAR_3} are\n"
- .string "the moves. What would be the best\l"
- .string "for my {STR_VAR_1} so it grooves?$"
-
-gText_082C0AFD:: @ 82C0AFD
- .string "{STR_VAR_1}, you say, hey, hey!\n"
- .string "I'll go teach that right away!\p"
- .string "If it's advice I ever need,\n"
- .string "{PLAYER}, your word I'll always heed!$"
-
-gText_082C0B6F:: @ 82C0B6F
- .string "Oh, yeahah, if it isn't {PLAYER}!\p"
- .string "What should I do? Get your advice?\n"
- .string "Why not? I'm already talking to you!\p"
- .string "{PLAYER}, are you surprised by me?\n"
- .string "I want your advice, can't you see?\p"
- .string "Are you receiving me?\n"
- .string "You are receiving me!\p"
- .string "My {STR_VAR_1}--what should it use?\n"
- .string "It's {STR_VAR_2} or {STR_VAR_3},\l"
- .string "what do you choose?$"
-
-gText_082C0C7D:: @ 82C0C7D
- .string "If that {STR_VAR_1} is the best,\n"
- .string "I'll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don't you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082C0D0B:: @ 82C0D0B
- .string "Gahack! Gaah! Oh, {PLAYER}{KUN}…\n"
- .string "I have this lousy cold, I do…\p"
- .string "I want to pick a move for my POKéMON,\n"
- .string "but I'm not up to it…\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{KUN}, if I had to choose between\n"
- .string "{STR_VAR_2} and {STR_VAR_3} for\l"
- .string "my {STR_VAR_1}, which would it be?$"
-
-gText_082C0DFE:: @ 82C0DFE
- .string "Hm, {STR_VAR_1}, all right. Cough!\n"
- .string "I'll go teach it when I get better.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082C0E71:: @ 82C0E71
- .string "Er… Um…\n"
- .string "{PLAYER}{KUN}…?\p"
- .string "Please, don't look at me that way.\n"
- .string "I'm getting all flustered…\l"
- .string "I… I need your advice.\p"
- .string "I… I'm really embarrassed, but I can't\n"
- .string "decide what move I should teach\l"
- .string "my POKéMON.\p"
- .string "It's for my {STR_VAR_1}.\n"
- .string "If the choices were {STR_VAR_2} or\l"
- .string "{STR_VAR_3}, which would be better?$"
-
-gText_082C0F6D:: @ 82C0F6D
- .string "Oh… Okay!\n"
- .string "I'll try that {STR_VAR_1}.\p"
- .string "I hope I can teach that move…\n"
- .string "This is so nerve-racking…\p"
- .string "Thank you, {PLAYER}{KUN}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082C1003:: @ 82C1003
- .string "Hm? You appear to be {PLAYER}{KUN}…\n"
- .string "But are you really real?\p"
- .string "Perhaps you're one of those popular\n"
- .string "mimics?\p"
- .string "No, no, if you are real, it's fine.\n"
- .string "No need to be upset, I assure you!\p"
- .string "Incidentally, I would like to obtain\n"
- .string "your advice.\p"
- .string "It's about my {STR_VAR_1}.\p"
- .string "Which move would be better for it to\n"
- .string "use, {STR_VAR_2} or {STR_VAR_3}?$"
-
-gText_082C1122:: @ 82C1122
- .string "{STR_VAR_1}?\n"
- .string "There's no question about that?\p"
- .string "I see. If that's the case, that's fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope it is something even\n"
- .string "my POKéMON can learn.\p"
- .string "Let us meet again!$"
-
-gText_082C11D1:: @ 82C11D1
- .string "Oh… {PLAYER}?\n"
- .string "It is {PLAYER}!\l"
- .string "Oh! Sniff…sob… Please, listen!\p"
- .string "I… When I battle, I get so nervous,\n"
- .string "I can't help crying even if I win…\p"
- .string "I wish I could say something cool\n"
- .string "when I win…\p"
- .string "Please, please, {PLAYER}!\n"
- .string "Could you maybe teach me something\l"
- .string "cool to say when I win so I don't cry?$"
-
-gText_082C12D5:: @ 82C12D5
- .string "{STR_VAR_1}\p"
- .string "Awesome! Wicked! Awoooh!\n"
- .string "It's really cool!\p"
- .string "Oh… I'm sorry…\n"
- .string "I'm so happy, I'm crying…\p"
- .string "Snivel… {PLAYER}!\n"
- .string "Thank you so much for everything!\p"
- .string "I will battle the best I can for\n"
- .string "your sake, {PLAYER}!\p"
- .string "{PLAYER}…\n"
- .string "Next time… We should battle!$"
-
-gText_082C13AB:: @ 82C13AB
- .string "Yay! It's {PLAYER}! Hello!\n"
- .string "I wanted to ask you something!\p"
- .string "I want to say something cool when\n"
- .string "I win a match.\p"
- .string "Do you have a cool saying that\n"
- .string "you could recommend?$"
-
-gText_082C1444:: @ 82C1444
- .string "{STR_VAR_1}\p"
- .string "Oh, wow! That is so cool!\n"
- .string "Okay, I'll say that!\p"
- .string "Thanks for teaching me all this time!\n"
- .string "I'm going to do the best I can\l"
- .string "wherever I go from now on!\p"
- .string "When we meet again, it'll be for\n"
- .string "a battle!$"
-
-gText_082C1501:: @ 82C1501
- .string "{PLAYER}, hello!\p"
- .string "My POKéMON and I are ready for\n"
- .string "anything, except for one thing.\p"
- .string "I think it would be good if I had\n"
- .string "something to shout when I win.\p"
- .string "Could you think up something good\n"
- .string "to say?$"
-
-gText_082C15B6:: @ 82C15B6
- .string "{STR_VAR_1}\p"
- .string "…Cool!\n"
- .string "I will use that!\p"
- .string "I'm going out to battle all over\n"
- .string "the place.\p"
- .string "Who knows, I may even get to battle\n"
- .string "you one day, {PLAYER}.\p"
- .string "Next time, let's meet at a place\n"
- .string "of battle!$"
-
-gText_082C165E:: @ 82C165E
- .string "Hello, {PLAYER}…\n"
- .string "I'm sorry to bug you, but I'm hopeless…\p"
- .string "Even when…\n"
- .string "Even when I win, I don't have anything\l"
- .string "special to say…\p"
- .string "I know that it doesn't mean anything\n"
- .string "to you, {PLAYER}.\p"
- .string "But it means a lot to me…\p"
- .string "Please, {PLAYER}, what should I say\n"
- .string "if I win a battle?$"
-
-gText_082C174F:: @ 82C174F
- .string "{STR_VAR_1}\p"
- .string "That's inspired…\p"
- .string "Uh… Is it okay for someone like me\n"
- .string "to even say that?\p"
- .string "No! I'll do my best!\p"
- .string "{PLAYER}, thank you so much for\n"
- .string "putting up with me for so long…\p"
- .string "I promise to do my best from now on.\p"
- .string "I'm sure you'll quickly forget about\n"
- .string "someone like me, but let's meet\l"
- .string "somewhere again!$"
-
-gText_082C1862:: @ 82C1862
- .string "Oh, {PLAYER}{KUN}.\n"
- .string "There's something I want you to hear.\p"
- .string "I know that I don't always sound\n"
- .string "nice or polite…\p"
- .string "When I win a battle, I think I come\n"
- .string "across as being arrogant.\p"
- .string "I don't want people to dislike me,\n"
- .string "so I want to say something nice to\l"
- .string "someone I beat.\p"
- .string "But I can't think of anything good!\n"
- .string "Could you think something up for me?$"
-
-gText_082C19A0:: @ 82C19A0
- .string "{STR_VAR_1}\p"
- .string "Not bad!\n"
- .string "Yup, that's what I'll go with!\p"
- .string "I'm going to hit the road and do what\n"
- .string "I can with what you taught me in\l"
- .string "my head and heart.\p"
- .string "I'm sorry that I've been so pushy\n"
- .string "with you!\p"
- .string "Next time, we battle, okay?\n"
- .string "See you!$"
-
-gText_082C1A76:: @ 82C1A76
- .string "Oh, I can't get over how busy I am!\n"
- .string "Oh, hey, I was looking for you, {PLAYER}{KUN}.\p"
- .string "Are you well as usual?\n"
- .string "Things haven't changed for me at all.\p"
- .string "I've got running, fighting, and mapping\n"
- .string "to do. Why am I so busy?\p"
- .string "But even though I'm busy, it'd be rude\n"
- .string "to just turn on my heels and walk away\l"
- .string "from a win without saying a word.\p"
- .string "So, what would be a cool saying to\n"
- .string "underline my coolness when I'm done\l"
- .string "and walking away? {PLAYER}{KUN}, help me!$"
-
-gText_082C1C16:: @ 82C1C16
- .string "{STR_VAR_1}\p"
- .string "Okay, gotcha.\n"
- .string "I can find time to say that!\p"
- .string "Honestly, I'm glad I met a good mentor\n"
- .string "like you.\p"
- .string "I'm going to make time somehow so\n"
- .string "I can get into battling.\p"
- .string "Thanks for everything, {PLAYER}{KUN}!\n"
- .string "We have to battle, you and me, one day!$"
-
-gText_082C1CF5:: @ 82C1CF5
- .string "I lucked out again!\n"
- .string "{PLAYER}! Am I glad to see you!\l"
- .string "Like usual, I need your advice!\p"
- .string "Drum roll, please!\n"
- .string "The last question I have is…\p"
- .string "If I win a battle and want to end\n"
- .string "it with a cool flourish, what\l"
- .string "should I say?$"
-
-gText_082C1DC1:: @ 82C1DC1
- .string "{STR_VAR_1}\p"
- .string "That… That's fabulous!\n"
- .string "It's dignified and cool! I claim it!\p"
- .string "…Listen, I think I'm getting decent\n"
- .string "at this, huh?\p"
- .string "So, I'm thinking of challenging other\n"
- .string "TRAINERS from now on.\p"
- .string "{PLAYER}, your advice really helped me.\p"
- .string "Maybe one day, there'll be a time when\n"
- .string "we battle!\p"
- .string "Thank you for everything!$"
-
-gText_082C1EDC:: @ 82C1EDC
- .string "Oh, {PLAYER}.\n"
- .string "I'm so glad I met you!\p"
- .string "I no longer have any concerns with\n"
- .string "regard to my POKéMON.\p"
- .string "It's myself that worries me…\p"
- .string "Do you know how a TRAINER says\n"
- .string "a few things upon winning a battle?\p"
- .string "Definitely, I wish I could do that,\n"
- .string "too!\p"
- .string "Please, what should I say when\n"
- .string "I win a battle?$"
-
-gText_082C1FEC:: @ 82C1FEC
- .string "{STR_VAR_1}\p"
- .string "Ah! That saying! It refreshes me\n"
- .string "and makes me feel reborn!\p"
- .string "I must use that right away!\p"
- .string "And now, I must take my leave,\n"
- .string "{PLAYER}…\p"
- .string "I will go out to battle many others,\n"
- .string "but never will I forget your teachings.\p"
- .string "Perhaps one day…\n"
- .string "Farewell!$"
-
-gText_082C20D1:: @ 82C20D1
- .string "Eek! I spotted {PLAYER}!\n"
- .string "I… I'm overjoyed to see you!\p"
- .string "Oh-oh-oh! There's something I just\n"
- .string "had to ask you!\p"
- .string "A little while ago, I won a battle.\n"
- .string "That part was giddying!\p"
- .string "But it made me so overjoyed that\n"
- .string "I choked up and couldn't say a thing!\p"
- .string "So now, {PLAYER}, please, I want you to\n"
- .string "think up an exit line for when I win!$"
-
-gText_082C21FF:: @ 82C21FF
- .string "{STR_VAR_1}\p"
- .string "Waaaaah!\n"
- .string "I'm going to say that?!\l"
- .string "I… I'm delirious with joy!\p"
- .string "Th-th-thank you!\n"
- .string "I have nothing left to regret now!\p"
- .string "I'm going to travel now and battle\n"
- .string "all sorts of people.\p"
- .string "Everything, I owe it to you, {PLAYER}.\n"
- .string "Really, really, thank you!\p"
- .string "I've got to go now, but let's meet\n"
- .string "in battle one day!$"
-
-gText_082C231C:: @ 82C231C
- .string "Hola, bueno!\n"
- .string "{PLAYER}{KUN}!\p"
- .string "You know, I'm getting the itch to roam\n"
- .string "and battle where I may.\p"
- .string "But before I do, I want your advice\n"
- .string "once again, please!\p"
- .string "If I were to win a battle, what would\n"
- .string "be a good boast I could say to my\l"
- .string "fallen TRAINER opponent?$"
-
-gText_082C2407:: @ 82C2407
- .string "{STR_VAR_1}\p"
- .string "Uh-huh, that's sweet!\n"
- .string "Si, bueno!\l"
- .string "I'll try saying that, like, ham!\p"
- .string "And now, it's time to say good-bye!\n"
- .string "Thanks for all sorts of things!\p"
- .string "Give me a battle one day, OK?\n"
- .string "Adios!$"
-
-gText_082C24B5:: @ 82C24B5
- .string "{PLAYER}{KUN}, there's big trouble!\p"
- .string "When I win a battle, I brag about it\n"
- .string "for an hour at least!\p"
- .string "Of course I'm lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I'm not very good at chatting.\p"
- .string "So, how about deciding for me what\n"
- .string "I should say after winning a battle,\l"
- .string "master?$"
-
-gText_082C25B1:: @ 82C25B1
- .string "{STR_VAR_1}\p"
- .string "That's what I should say, huh?\n"
- .string "Then, I'll stay away from that!\p"
- .string "Just kidding!\n"
- .string "I'll obey your teaching, master!\p"
- .string "Thanks for teaching me all this time,\n"
- .string "master!\p"
- .string "I'm finally understanding what being\n"
- .string "a TRAINER is about.\p"
- .string "I'm going to go out and win battles\n"
- .string "against any TRAINER.\p"
- .string "Maybe it'll be you one day, master!\p"
- .string "That's all!\n"
- .string "Farewell, my master!$"
-
-gText_082C2707:: @ 82C2707
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin' SAILOR am I!\n"
- .string "This will be my last question,\l"
- .string "don't you cry!\p"
- .string "It's a saying question\n"
- .string "that begs your suggestion!\p"
- .string "If I win a match, what can I say\n"
- .string "in a real cool way?$"
-
-gText_082C27D4:: @ 82C27D4
- .string "{STR_VAR_1}\p"
- .string "Perfect! That's what I'll use.\n"
- .string "I was right to make you choose!\p"
- .string "And now, I think it'd be best,\n"
- .string "if I were to fly the nest!\p"
- .string "Thanks for all you taught me.\n"
- .string "I'll be off on a battle spree!\p"
- .string "B-O-N-V-O-Y-A-G-E!\n"
- .string "And that spells bon voyage,\l"
- .string "to you this is my homage!$"
-
-gText_082C28D6:: @ 82C28D6
- .string "Oh, yeah, {PLAYER}!\n"
- .string "I found you again today!\p"
- .string "What should I do? Ask you again?\n"
- .string "Why not? I'm already asking you!\p"
- .string "Anyways, {PLAYER}…\n"
- .string "Are you receiving me?\l"
- .string "You are receiving me!\l"
- .string "I need some more advice for me!\p"
- .string "It's about what I should yell.\n"
- .string "Something cool to holler when\l"
- .string "a battle ends well.\p"
- .string "Come on, I wanna hear you say it!$"
-
-gText_082C2A0B:: @ 82C2A0B
- .string "{STR_VAR_1}\p"
- .string "All right, all right!\n"
- .string "I'll use that because it's so tight!\p"
- .string "I'm out of things to ask you.\n"
- .string "Waving bye is all that's left to do.\p"
- .string "But maybe one day we'll meet, with one\n"
- .string "destined to go down in defeat.\p"
- .string "But, it really is time to say farewell.\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don't you forget about me!\p"
- .string "Take care, {PLAYER}!\n"
- .string "Love ya!$"
-
-gText_082C2B50:: @ 82C2B50
- .string "{PLAYER}{KUN}, I'm finished…\n"
- .string "My nose won't stop dripping…\p"
- .string "I was trying to think up something\n"
- .string "cool to say when I win a battle.\p"
- .string "It inspired me so much, it made me cry,\n"
- .string "and now my nose won't stop running…\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me, {PLAYER}{KUN}.\p"
- .string "When I win a battle,\n"
- .string "what should I say?$"
-
-gText_082C2C77:: @ 82C2C77
- .string "{STR_VAR_1}\p"
- .string "… … …That's good.\n"
- .string "No, it's awe inspiring!\l"
- .string "It's bringing fresh tears to my eyes!\p"
- .string "But in spite of my tears and runny\n"
- .string "nose, I will use that saying!\p"
- .string "I'm plumb out of things to ask you,\n"
- .string "{PLAYER}{KUN}.\p"
- .string "From now on, we're rivals!\n"
- .string "Thanks for everything!$"
-
-gText_082C2D67:: @ 82C2D67
- .string "Er… Um…\n"
- .string "{PLAYER}{KUN}…\p"
- .string "Please, don't look at me that way.\n"
- .string "You're making me all nervous.\p"
- .string "I… I need your advice again.\n"
- .string "I'll make it my last, though…\p"
- .string "It's really embarrassing to ask,\n"
- .string "but what if I win a battle?\l"
- .string "What should I say?$"
-
-gText_082C2E41:: @ 82C2E41
- .string "{STR_VAR_1}\p"
- .string "Oh… Okay!\n"
- .string "I'll try to say that!\l"
- .string "I might be too nervous to say it…\p"
- .string "Thank you, {PLAYER}{KUN}.\n"
- .string "I have to say good-bye now.\p"
- .string "I'll obey all that you've taught me,\n"
- .string "{PLAYER}{KUN}, and do the best I can.$"
-
-gText_082C2EF5:: @ 82C2EF5
- .string "Hm? You appear to be {PLAYER}{KUN}…\n"
- .string "But are you really?\l"
- .string "Perhaps a clever {PLAYER} DOLL?\p"
- .string "Oh, no, no, no, don't worry!\n"
- .string "If you really are real, please\l"
- .string "forget about my rudeness.\p"
- .string "No need to be so angry. All I wish for\n"
- .string "is more of your fine advice.\p"
- .string "It concerns a saying.\p"
- .string "More precisely, what should I say\n"
- .string "if I win a battle?$"
-
-gText_082C3023:: @ 82C3023
- .string "{STR_VAR_1}\p"
- .string "… … … … … …\n"
- .string "When I win a match…\p"
- .string "{STR_VAR_1}\p"
- .string "…Are you serious?\p"
- .string "I see. If you are serious, that's fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope even I will be able to\n"
- .string "put that saying to good use.\p"
- .string "I seem to have run dry on what advice\n"
- .string "I need.\p"
- .string "I do believe it's high time I bid you\n"
- .string "farewell and strike out on my own.\p"
- .string "Thank you, my mentor!\n"
- .string "I apologize for my skepticism!$"
diff --git a/data/scripts/battle_pike.inc b/data/scripts/battle_pike.inc
new file mode 100644
index 000000000..dd730a644
--- /dev/null
+++ b/data/scripts/battle_pike.inc
@@ -0,0 +1,254 @@
+BattleFrontier_BattlePikeRoomNormal_MapScripts_2C3E1B: @ 82C3E1B
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp
+
+BattleFrontier_BattlePikeRoom_OnTransition: @ 82C3E25
+ pike_setroomobjects
+ pike_getroomtype
+ switch VAR_RESULT
+ case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos
+ case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos
+ case PIKE_ROOM_NPC, BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos
+ case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos
+ case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos
+ case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos
+ case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos
+ case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos:: @ 82C3E93
+ setobjectxyperm 1, 2, 5
+ setobjectxyperm 2, 6, 5
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos:: @ 82C3EA2
+ setobjectxyperm 1, 4, 4
+ setobjectxyperm 2, 3, 4
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos:: @ 82C3EB1
+ setobjectxyperm 1, 4, 4
+ setobjectxyperm 2, 0, 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos:: @ 82C3EC0
+ setobjectxyperm 1, 5, 5
+ setobjectxyperm 2, 0, 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos:: @ 82C3ECF
+ setobjectxyperm 1, 4, 3
+ setobjectxyperm 2, 4, 4
+ end
+
+BattleFrontier_BattlePikeRoom_OnWarp: @ 82C3EDE
+ map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects
+ .2byte 0
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects:: @ 82C3EE8
+ setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LINK_RECEPTIONIST
+ setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST
+ pike_getroomtype
+ compare VAR_RESULT, PIKE_ROOM_STATUS
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
+ compare VAR_RESULT, PIKE_ROOM_HARD_BATTLE
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
+ compare VAR_RESULT, PIKE_ROOM_DOUBLE_BATTLE
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
+ compare VAR_RESULT, PIKE_ROOM_BRAIN
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects
+ hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom:: @ 82C3F35
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects:: @ 82C3F3F
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL @ Pike Queen hidden initially
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_LeftRoomWarp:: @ 82C3F4E
+ setvar VAR_0x8007, PIKE_ROOM_LEFT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_CenterRoomWarp:: @ 82C3F59
+ setvar VAR_0x8007, PIKE_ROOM_CENTER
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_RightRoomWarp:: @ 82C3F64
+ setvar VAR_0x8007, PIKE_ROOM_RIGHT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp:: @ 82C3F6F
+ pike_get PIKE_DATA_WIN_STREAK
+ addvar VAR_RESULT, 1
+ pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ addvar VAR_RESULT, 1
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
+ pike_setnextroom
+ pike_getroomtype
+ switch VAR_RESULT
+ case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ case PIKE_ROOM_NPC, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ case PIKE_ROOM_WILD_MONS, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom
+ case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom:: @ 82C4030
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL, 255, 4, 7
+ waitstate
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom:: @ 82C4049
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS, 255, 4, 19
+ waitstate
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom:: @ 82C4062
+ setvar VAR_TEMP_3, 1
+ setvar VAR_TEMP_2, 1
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack:: @ 82C406D
+ setvar VAR_TEMP_3, 0
+ setvar VAR_TEMP_2, 0
+ lockall
+ msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
+ closemessage
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom:: @ 82C4082
+ setvar VAR_TEMP_3, 1
+ setvar VAR_TEMP_2, 1
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack:: @ 82C408D
+ setvar VAR_TEMP_3, 0
+ setvar VAR_TEMP_2, 0
+ lockall
+ msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
+ closemessage
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_Exit:: @ 82C40A2
+ pike_ispartyfullhealth
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
+ compare VAR_RESULT, TRUE
+ call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
+ pike_get PIKE_DATA_WIN_STREAK
+ addvar VAR_RESULT, 1
+ pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ addvar VAR_RESULT, 1
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
+ pike_isfinalroom
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
+ compare VAR_RESULT, FALSE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoom_EventScript_DisableHealing:: @ 82C4128
+ pike_nohealing TRUE
+ return
+
+BattleFrontier_BattlePikeRoom_EventScript_EnableHealing:: @ 82C4136
+ pike_nohealing FALSE
+ return
+
+BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom:: @ 82C4144
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL, 255, 2, 7
+ return
+
+BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom:: @ 82C415C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
+ return
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit:: @ 82C4174
+ pike_exitwildmonroom
+ pike_ispartyfullhealth
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
+ compare VAR_RESULT, TRUE
+ call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
+ pike_get PIKE_DATA_WIN_STREAK
+ addvar VAR_RESULT, 1
+ pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ addvar VAR_RESULT, 1
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
+ pike_isfinalroom
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
+ compare VAR_RESULT, FALSE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom:: @ 82C4202
+ setvar VAR_TEMP_3, 1
+ setvar VAR_TEMP_2, 1
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack:: @ 82C420D
+ setvar VAR_TEMP_3, 0
+ setvar VAR_TEMP_2, 0
+ lockall
+ msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
+ closemessage
+ end
+
+BattleFrontier_BattlePike_EventScript_Retire:: @ 82C4222
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS CHALLENGE_STATUS_LOST
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoom_OnResume: @ 82C423E
+ setorcopyvar VAR_0x8006, VAR_RESULT @ Save VAR_RESULT from being overwritten
+ frontier_get FRONTIER_DATA_CHALLENGE_STATUS
+ compare VAR_RESULT, CHALLENGE_STATUS_PAUSED
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
+ compare VAR_RESULT, CHALLENGE_STATUS_SAVING
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
+ call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
+BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume:: @ 82C426B
+ setorcopyvar VAR_RESULT, VAR_0x8006
+ end
+
+BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves:: @ 82C4271
+ frontier_resetsketch
+ return
+
+BattleFrontier_BattlePikeRoom_Movement_HidePlayer: @ 82C427A
+ set_invisible
+ step_end
diff --git a/data/scripts/berry_blender.inc b/data/scripts/berry_blender.inc
new file mode 100644
index 000000000..a3dc2a8e2
--- /dev/null
+++ b/data/scripts/berry_blender.inc
@@ -0,0 +1,747 @@
+BerryBlender_Text_WantToMakePokeblocks: @ 8292DEE
+ .string "Oh? Did you want to make some {POKEBLOCK}S\n"
+ .string "with this old-timer?$"
+
+BerryBlender_Text_Excellent: @ 8292E28
+ .string "Excellent!$"
+
+BerryBlender_Text_MadeOldTimerSad: @ 8292E33
+ .string "Oh…\n"
+ .string "You've made this old-timer sad…$"
+
+BerryBlender_Text_KnowHowToMakePokeblocks: @ 8292E57
+ .string "Do you know how to make a {POKEBLOCK}?$"
+
+BerryBlender_Text_LetsBerryBlender: @ 8292E78
+ .string "Let's get started, then!\p"
+ .string "Let's BERRY BLENDER!$"
+
+BerryBlender_Text_ExplainBerryBlending: @ 8292EA6
+ .string "Okay, a little explanation, then.\p"
+ .string "Oh, don't worry, it's quite simple.\p"
+ .string "When the BLENDER's arrow comes to\n"
+ .string "your marker, just press the A Button.\p"
+ .string "That's all you have to do.\n"
+ .string "You'll see how easy it is when you try.$"
+
+BerryBlender_Text_DontHaveAnyBerries: @ 8292F77
+ .string "Oh?\n"
+ .string "You don't have any BERRIES?\p"
+ .string "If you don't have any BERRIES,\n"
+ .string "you can't make any {POKEBLOCK}S.$"
+
+BerryBlender_Text_CanHaveOneOfMyBerries: @ 8292FD1
+ .string "Well, that won't do at all now, will it?\p"
+ .string "If you don't mind leftovers, you can\n"
+ .string "have one of my BERRIES.\p"
+ .string "That way, we could make some {POKEBLOCK}S\n"
+ .string "together using the BERRY BLENDER.$"
+
+BerryBlender_Text_DontHaveAnyBerriesToSpare: @ 829307D
+ .string "If I had some BERRIES left over,\n"
+ .string "I'd gladly give you one…\p"
+ .string "But, I don't have any to spare today.\n"
+ .string "We'll have to do this another time.$"
+
+BerryBlender_Text_PokeblockCaseIsFull: @ 8293101
+ .string "But your {POKEBLOCK} CASE is full.\p"
+ .string "You should use some {POKEBLOCK}S before\n"
+ .string "you come see me again.$"
+
+BerryBlender_Text_DontHavePokeblockCase: @ 8293157
+ .string "But you don't have a {POKEBLOCK} CASE.\p"
+ .string "You should get a {POKEBLOCK} CASE and then\n"
+ .string "come see me.$"
+
+BerryBlender_Text_LetsGetBlendingAlready: @ 82931AA
+ .string "Let's get blending already!$"
+
+BerryBlender_Text_WhatKindOfPokeblockWillIGet: @ 82931C6
+ .string "I wonder what kind of {POKEBLOCK} I'll get?\n"
+ .string "This is so exciting!$"
+
+BerryBlender_Text_WantToBlendPokeblocksWithUs: @ 8293201
+ .string "Hi, there! Did you want to blend some\n"
+ .string "{POKEBLOCK}S with us?$"
+
+BerryBlender_Text_Okay: @ 8293237
+ .string "Okay!$"
+
+BerryBlender_Text_ThatsTooBad: @ 829323D
+ .string "That's too bad…\p"
+ .string "But we'll always be around whenever\n"
+ .string "you get the urge to blend!$"
+
+BerryBlender_Text_KnowHowToMakePokeblocks2: @ 829328C
+ .string "Of course, you do know how to\n"
+ .string "blend {POKEBLOCK}S, don't you?$"
+
+BerryBlender_Text_LetsBerryBlender2: @ 82932C3
+ .string "Let's get started, then!\p"
+ .string "Let's BERRY BLENDER!$"
+
+BerryBlender_Text_ExplainBerryBlending2: @ 82932F1
+ .string "Okay!\n"
+ .string "Let me explain it to you!\p"
+ .string "When the spinning BLENDER's arrow\n"
+ .string "reaches your marker, just press\l"
+ .string "the A Button.\p"
+ .string "That's all it takes.\n"
+ .string "Pretty easy, don't you think?$"
+
+BerryBlender_Text_DontHaveAnyBerries2: @ 8293394
+ .string "Oh, but wait a second here…\n"
+ .string "You don't have any BERRIES.\p"
+ .string "You can't make any {POKEBLOCK}S without\n"
+ .string "BERRIES…\p"
+ .string "We'll always be around whenever you\n"
+ .string "get hold of some BERRIES to blend.$"
+
+BerryBlender_Text_PokeblockCaseIsFull2: @ 829343E
+ .string "Oh, but wait a second here…\n"
+ .string "Your {POKEBLOCK} CASE is full.\p"
+ .string "You should use some {POKEBLOCK}S and\n"
+ .string "then come back.$"
+
+BerryBlender_Text_DontHavePokeblockCase2: @ 82934A2
+ .string "Oh, but wait a second here…\n"
+ .string "You don't have a {POKEBLOCK} CASE.\p"
+ .string "You should get a {POKEBLOCK} CASE and\n"
+ .string "then come back.$"
+
+@ Unused
+BerryBlender_Text_MakePokeblocksWithOurGroup: @ 829350B
+ .string "Oh, hello! Did you want to make some\n"
+ .string "{POKEBLOCK}S with our little group?$"
+
+BerryBlender_Text_OhDear: @ 829354E
+ .string "Oh, dear!$"
+
+BerryBlender_Text_LeftUsInShock: @ 8293558
+ .string "Oh, dear me…\p"
+ .string "You've left us in shock!$"
+
+BerryBlender_Text_KnowHowToMakePokeblocks3: @ 829357E
+ .string "Naturally, you know how to make\n"
+ .string "{POKEBLOCK}S, don't you?$"
+
+BerryBlender_Text_LetsBerryBlender3: @ 82935B1
+ .string "Okay, dear!\n"
+ .string "Let's get started!\p"
+ .string "Let's BERRY BLENDER!$"
+
+BerryBlender_Text_ExplainBerryBlending3: @ 82935E5
+ .string "Oh, dear!\p"
+ .string "Then, I'll explain it to you nicely.\p"
+ .string "When the BLENDER's arrow spins to\n"
+ .string "your marker, press the A Button.\p"
+ .string "That's all it takes.\n"
+ .string "Isn't it simple?$"
+
+BerryBlender_Text_DontHaveAnyBerries3: @ 829367D
+ .string "You don't have any BERRIES,\n"
+ .string "do you?\p"
+ .string "If you don't have any BERRIES,\n"
+ .string "you can't make any {POKEBLOCK}S.\p"
+ .string "We'll always be making {POKEBLOCK}S here,\n"
+ .string "so let's make some together when\l"
+ .string "you get a BERRY or two.$"
+
+BerryBlender_Text_PokeblockCaseIsFull3: @ 8293738
+ .string "Your {POKEBLOCK} CASE is full,\n"
+ .string "it looks like.\p"
+ .string "You should use some {POKEBLOCK}S up\n"
+ .string "and then come back.$"
+
+BerryBlender_Text_DontHavePokeblockCase3: @ 8293792
+ .string "You haven't gotten a {POKEBLOCK} CASE\n"
+ .string "yet, it looks like.\p"
+ .string "You need to get a {POKEBLOCK} CASE before\n"
+ .string "you come back.$"
+
+BerryBlender_Text_SetNewBlenderRecord: @ 82937F9
+ .string "Okay! Today's going to be the day that\n"
+ .string "I set a new BLENDER speed record!$"
+
+BerryBlender_Text_LookGoodAtBlendingJoinUs: @ 8293842
+ .string "Oh, dear!\n"
+ .string "You look as if you're good at blending.\l"
+ .string "Would you like to join us?$"
+
+BerryBlender_Text_MakeDeliciousPokeblocks: @ 829388F
+ .string "I'm going to make delicious {POKEBLOCK}S\n"
+ .string "and make my POKéMON cuter.$"
+
+BerryBlender_Text_SaveGameBeforeBerryBlenderLink: @ 82938CD
+ .string "{POKEBLOCK}S will be made with your friends \n"
+ .string "from BERRIES in the BERRY BLENDER.\p"
+ .string "Is it okay to save the game before\n"
+ .string "linking with your friends?$"
+
+BerryBlender_Text_SearchingForFriends: @ 8293955
+ .string "Searching for your friends…\n"
+ .string "… … B Button: Cancel$"
+
+BerryBlender_Text_Player1Arrived: @ 8293986
+ .string "{STR_VAR_1} arrived.$"
+
+BerryBlender_Text_Player1And2Arrived: @ 8293992
+ .string "{STR_VAR_1} and {STR_VAR_2} arrived.$"
+
+BerryBlender_Text_AllPlayersArrived: @ 82939A5
+ .string "{STR_VAR_1}, {STR_VAR_2}, and\n"
+ .string "{STR_VAR_3} arrived.$"
+
+BerryBlender_Text_NoBerriesLink: @ 82939BD
+ .string "You have no BERRIES.\n"
+ .string "The BERRY BLENDER can't be used.$"
+
+BerryBlender_Text_PokeblockCaseIsFullLink: @ 82939F3
+ .string "Your {POKEBLOCK} CASE is full.\n"
+ .string "The BERRY BLENDER can't be used.$"
+
+BerryBlender_Text_DontHavePokeblockCaseLink: @ 8293A2D
+ .string "You don't have a {POKEBLOCK} CASE.\n"
+ .string "The BERRY BLENDER can't be used.$"
+
+BerryBlender_Text_LoveMakingPokeblocks: @ 8293A6B
+ .string "I love making {POKEBLOCK}S.\p"
+ .string "I always have some BERRIES with me.$"
+
+BerryBlender_Text_MakePokeblocksUsingBerryBlender: @ 8293AA5
+ .string "If you'd like, we could make some\n"
+ .string "{POKEBLOCK}S together using the\l"
+ .string "BERRY BLENDER.$"
+
+BerryBlender_Text_DontHaveAnyBerriesHaveOne: @ 8293AF0
+ .string "Oh?\n"
+ .string "You don't have any BERRIES?\p"
+ .string "Well, that won't do at all now, will it?\p"
+ .string "If you don't mind leftovers, you can\n"
+ .string "have one of my BERRIES.$"
+
+BerryBlender_Text_UseItToMakePokeblocksTogether: @ 8293B76
+ .string "We'll use it to make {POKEBLOCK}S together\n"
+ .string "using the BERRY BLENDER.$"
+
+BerryBlender_Text_DontHaveAnyBerriesNoneToSpare: @ 8293BB4
+ .string "Oh?\n"
+ .string "You don't have any BERRIES?\p"
+ .string "If I had some left over, I'd gladly\n"
+ .string "give you one…\p"
+ .string "But, I don't have any to spare today.\n"
+ .string "Sorry about that.$"
+
+BerryBlender_EventScript_BerryBlender1:: @ 8293C3E
+ lockall
+ goto_if_unset FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER, BerryBlender_EventScript_BlendMasterPresent
+ setvar VAR_0x8009, 1
+ applymovement 16, BerryBlender_Movement_BlendLeaderWalkInPlace
+ waitmovement 0
+ msgbox BerryBlender_Text_WantToMakePokeblocks, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_TryUseBerryBlender1
+ goto BerryBlender_EventScript_DeclineBlender1
+ end
+
+BerryBlender_EventScript_DeclineBlender1: @ 8293C70
+ msgbox BerryBlender_Text_MadeOldTimerSad, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender1NoBerries: @ 8293C7A
+ msgbox BerryBlender_Text_DontHaveAnyBerries, MSGBOX_DEFAULT
+ dotimebasedevents
+ goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, BerryBlender_EventScript_Blender1NoSpareBerries
+ goto BerryBlender_EventScript_Blender1GiveSpareBerry
+ end
+
+BerryBlender_EventScript_Blender1NoSpareBerries: @ 8293C92
+ msgbox BerryBlender_Text_DontHaveAnyBerriesToSpare, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender1GiveSpareBerry: @ 8293C9C
+ msgbox BerryBlender_Text_CanHaveOneOfMyBerries, MSGBOX_DEFAULT
+ giveitem ITEM_PECHA_BERRY
+ setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY
+ goto BerryBlender_EventScript_UseBerryBlender1
+ end
+
+BerryBlender_EventScript_UseBerryBlender1: @ 8293CB9
+ msgbox BerryBlender_Text_KnowHowToMakePokeblocks, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_StartBlender1
+ goto BerryBlender_EventScript_ExplainBlending1
+ end
+
+BerryBlender_EventScript_StartBlender1: @ 8293CD2
+ msgbox BerryBlender_Text_LetsBerryBlender, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_DoBerryBlending
+ end
+
+BerryBlender_EventScript_ExplainBlending1: @ 8293CE0
+ msgbox BerryBlender_Text_ExplainBerryBlending, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_StartBlender1
+ end
+
+BerryBlender_EventScript_TryUseBerryBlender1: @ 8293CEE
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_Blender1NoCase
+ specialvar VAR_RESULT, GetFirstFreePokeblockSlot
+ compare VAR_RESULT, 65535
+ goto_if_eq BerryBlender_EventScript_Blender1CaseFull
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_Blender1NoBerries
+ msgbox BerryBlender_Text_Excellent, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_UseBerryBlender1
+ end
+
+@ VAR_0x8009 here is the Blender number. 1 is top right, 2 is bottom right, 3 is bottom left
+BerryBlender_EventScript_DoBerryBlending: @ 8293D2C
+ copyvar VAR_0x8004, VAR_0x8009
+ fadescreen FADE_TO_BLACK
+ special DoBerryBlending
+ waitstate
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender1CaseFull: @ 8293D39
+ msgbox BerryBlender_Text_PokeblockCaseIsFull, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender1NoCase: @ 8293D43
+ msgbox BerryBlender_Text_DontHavePokeblockCase, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_BerryBlender2:: @ 8293D4D
+ lockall
+ setvar VAR_0x8009, 2
+ applymovement 10, Common_Movement_FaceOriginalDirection
+ applymovement 3, BerryBlender_Movement_BlendLeaderWalkInPlace
+ waitmovement 0
+ msgbox BerryBlender_Text_WantToBlendPokeblocksWithUs, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_TryUseBerryBlender2
+ goto BerryBlender_EventScript_DeclineBlender2
+ end
+
+BerryBlender_EventScript_DeclineBlender2: @ 8293D7D
+ msgbox BerryBlender_Text_ThatsTooBad, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender2NoBerries: @ 8293D87
+ msgbox BerryBlender_Text_DontHaveAnyBerries2, MSGBOX_DEFAULT
+ release
+ end
+
+BerryBlender_EventScript_UseBerryBlender2: @ 8293D91
+ msgbox BerryBlender_Text_KnowHowToMakePokeblocks2, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_StartBlender2
+ goto BerryBlender_EventScript_ExplainBlending2
+ end
+
+BerryBlender_EventScript_StartBlender2: @ 8293DAA
+ msgbox BerryBlender_Text_LetsBerryBlender2, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_DoBerryBlending
+ end
+
+BerryBlender_EventScript_ExplainBlending2: @ 8293DB8
+ msgbox BerryBlender_Text_ExplainBerryBlending2, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_StartBlender2
+ end
+
+BerryBlender_EventScript_TryUseBerryBlender2: @ 8293DC6
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_Blender2NoBerries
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_Blender2NoCase
+ msgbox BerryBlender_Text_Okay, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, GetFirstFreePokeblockSlot
+ compare VAR_RESULT, 65535
+ goto_if_ne BerryBlender_EventScript_UseBerryBlender2
+ compare VAR_RESULT, 65535
+ goto_if_eq BerryBlender_EventScript_Blender2CaseFull
+ end
+
+BerryBlender_EventScript_Blender2CaseFull: @ 8293E0A
+ msgbox BerryBlender_Text_PokeblockCaseIsFull2, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender2NoCase: @ 8293E14
+ msgbox BerryBlender_Text_DontHavePokeblockCase2, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_BerryBlender3:: @ 8293E1E
+ lockall
+ setvar VAR_0x8008, 15
+ setvar VAR_0x8009, 3
+ applymovement 9, Common_Movement_FaceOriginalDirection
+ applymovement 17, Common_Movement_FaceOriginalDirection
+ applymovement VAR_0x8008, BerryBlender_Movement_BlendLeaderWalkInPlace
+ waitmovement 0
+ msgbox BerryBlender_Text_LookGoodAtBlendingJoinUs, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_TryUseBlender3
+ goto BerryBlender_EventScript_DeclineBlender3
+ end
+
+BerryBlender_EventScript_DeclineBlender3: @ 8293E5A
+ msgbox BerryBlender_Text_LeftUsInShock, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender3NoBerries: @ 8293E64
+ msgbox BerryBlender_Text_DontHaveAnyBerries3, MSGBOX_DEFAULT
+ release
+ end
+
+BerryBlender_EventScript_UseBerryBlender3: @ 8293E6E
+ msgbox BerryBlender_Text_KnowHowToMakePokeblocks3, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_StartBlender3
+ goto BerryBlender_EventScript_ExplainBlending3
+ end
+
+BerryBlender_EventScript_StartBlender3: @ 8293E87
+ msgbox BerryBlender_Text_LetsBerryBlender3, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_DoBerryBlending
+ end
+
+BerryBlender_EventScript_ExplainBlending3: @ 8293E95
+ msgbox BerryBlender_Text_ExplainBerryBlending3, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_StartBlender3
+ end
+
+BerryBlender_EventScript_TryUseBlender3: @ 8293EA3
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_Blender3NoBerries
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_Blender3NoCase
+ msgbox BerryBlender_Text_OhDear, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, GetFirstFreePokeblockSlot
+ compare VAR_RESULT, 65535
+ goto_if_ne BerryBlender_EventScript_UseBerryBlender3
+ compare VAR_RESULT, 65535
+ goto_if_eq BerryBlender_EventScript_Blender3CaseFull
+ end
+
+BerryBlender_EventScript_Blender3CaseFull: @ 8293EE7
+ msgbox BerryBlender_Text_PokeblockCaseIsFull3, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender3NoCase: @ 8293EF1
+ msgbox BerryBlender_Text_DontHavePokeblockCase3, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_BlendMasterPresent: @ 8293EFB
+ lockall
+ setvar VAR_0x8009, 1
+ msgbox BerryBlender_Text_SeeMyMasteryInAction, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_TryBlendWithBlendMaster
+ msgbox BerryBlender_Text_TooBusyNowIsee, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_BlendMasterNoBerries: @ 8293F1E
+ msgbox BerryBlender_Text_BlendMasterNoBerries, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_TryBlendWithBlendMaster: @ 8293F28
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_BlendMasterNoCase
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_BlendMasterNoBerries
+ specialvar VAR_RESULT, GetFirstFreePokeblockSlot
+ compare VAR_RESULT, 65535
+ goto_if_ne BerryBlender_EventScript_BlendWithBlendMaster
+ compare VAR_RESULT, 65535
+ goto_if_eq BerryBlender_EventScript_BlendMasterCaseFull
+ end
+
+BerryBlender_EventScript_BlendWithBlendMaster: @ 8293F64
+ msgbox BerryBlender_Text_BlendMasterKnowHowToMakePokeblocks, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ call_if_eq BerryBlender_EventScript_BlendMasterExplainBlending
+ msgbox BerryBlender_Text_BlendMasterLetsBerryBlender, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_DoBerryBlending
+ end
+
+BerryBlender_EventScript_BlendMasterExplainBlending: @ 8293F85
+ msgbox BerryBlender_Text_BlendMasterExplainBerryBlending, MSGBOX_DEFAULT
+ return
+
+BerryBlender_EventScript_BlendMasterNoCase: @ 8293F8E
+ msgbox BerryBlender_Text_BlendMasterNoPokeblockCase, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_BlendMasterCaseFull: @ 8293F98
+ msgbox BerryBlender_Text_BlendMasterPokeblockCaseFull, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_Blender2Man:: @ 8293FA2
+ msgbox BerryBlender_Text_SetNewBlenderRecord, MSGBOX_NPC
+ end
+
+BerryBlender_EventScript_Blender3PokefanF:: @ 8293FAB
+ msgbox BerryBlender_Text_LookGoodAtBlendingJoinUs, MSGBOX_NPC
+ end
+
+BerryBlender_EventScript_Blender2Twin:: @ 8293FB4
+ msgbox BerryBlender_Text_MakeDeliciousPokeblocks, MSGBOX_NPC
+ end
+
+BerryBlender_EventScript_Blender1ExpertM:: @ 8293FBD
+ setvar VAR_0x8008, 15
+ goto BerryBlender_EventScript_ExpertMCheckGiveBerry
+ end
+
+BerryBlender_EventScript_ExpertMCheckGiveBerry: @ 8293FC8
+ lock
+ faceplayer
+ msgbox BerryBlender_Text_LoveMakingPokeblocks, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare VAR_RESULT, TRUE
+ goto_if_eq BerryBlender_EventScript_ExpertMPlayerHasBerries
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_ExpertMNoBerries
+ end
+
+BerryBlender_EventScript_ExpertMPlayerHasBerries: @ 8293FEE
+ msgbox BerryBlender_Text_MakePokeblocksUsingBerryBlender, MSGBOX_DEFAULT
+ release
+ end
+
+BerryBlender_EventScript_ExpertMNoBerries: @ 8293FF8
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_ExpertMNoSpareBerries
+ specialvar VAR_RESULT, GetFirstFreePokeblockSlot
+ compare VAR_RESULT, 65535
+ goto_if_eq BerryBlender_EventScript_ExpertMNoSpareBerries
+ dotimebasedevents
+ goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, BerryBlender_EventScript_ExpertMNoSpareBerries
+ goto BerryBlender_EventScript_ExpertMGiveBerry
+ end
+
+BerryBlender_EventScript_ExpertMNoSpareBerries: @ 8294028
+ msgbox BerryBlender_Text_DontHaveAnyBerriesNoneToSpare, MSGBOX_DEFAULT
+ release
+ end
+
+BerryBlender_EventScript_ExpertMGiveBerry: @ 8294032
+ msgbox BerryBlender_Text_DontHaveAnyBerriesHaveOne, MSGBOX_DEFAULT
+ giveitem ITEM_PECHA_BERRY
+ setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY
+ msgbox BerryBlender_Text_UseItToMakePokeblocksTogether, MSGBOX_DEFAULT
+ release
+ end
+
+BerryBlender_Movement_BlendLeaderWalkInPlace: @ 8294053
+ walk_in_place_fastest_right
+ step_end
+
+BerryBlender_EventScript_BerryBlenderLink:: @ 8294055
+ lockall
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_LinkBlenderNoBerries
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_LinkBlenderNoCase
+ specialvar VAR_RESULT, GetFirstFreePokeblockSlot
+ compare VAR_RESULT, 65535
+ goto_if_ne BerryBlender_EventScript_LinkBlenderSaveGame
+ compare VAR_RESULT, 65535
+ goto_if_eq BerryBlender_EventScript_LinkBlenderCaseFull
+ end
+
+BerryBlender_EventScript_LinkBlenderSaveGame: @ 8294092
+ msgbox BerryBlender_Text_SaveGameBeforeBerryBlenderLink, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BerryBlender_EventScript_TryDoLinkBlender
+ compare VAR_RESULT, NO
+ goto_if_eq BerryBlender_EventScript_CancelLinkBlender
+ end
+
+BerryBlender_EventScript_LinkBlenderNoBerries: @ 82940B1
+ msgbox BerryBlender_Text_NoBerriesLink, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_TryDoLinkBlender: @ 82940BB
+ call Common_EventScript_SaveGame
+ compare VAR_RESULT, FALSE
+ goto_if_eq BerryBlender_EventScript_CancelLinkBlender
+ specialvar VAR_RESULT, IsWirelessAdapterConnected
+ compare VAR_RESULT, TRUE
+ goto_if_eq BerryBlender_EventScript_StartDecideLinkLeader
+ message BerryBlender_Text_SearchingForFriends
+ waitmessage
+ special TryBerryBlenderLinkup
+ waitstate
+ compare VAR_RESULT, 1
+ goto_if_eq BerryBlender_EventScript_SpawnLinkPartners
+ compare VAR_RESULT, 2
+ goto_if_eq BerryBlender_EventScript_CloseLinkNotReady
+ compare VAR_RESULT, 3
+ goto_if_eq BerryBlender_EventScript_CloseLinkDifferentSelections
+ compare VAR_RESULT, 5
+ goto_if_eq BerryBlender_EventScript_CloseLink
+ compare VAR_RESULT, 6
+ goto_if_eq BerryBlender_EventScript_LinkError
+ end
+
+BerryBlender_EventScript_TwoPlayerLink: @ 829411D
+ msgbox BerryBlender_Text_Player1Arrived, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_DoLinkBerryBlending
+ end
+
+BerryBlender_EventScript_ThreePlayerLink: @ 829412B
+ msgbox BerryBlender_Text_Player1And2Arrived, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_DoLinkBerryBlending
+ end
+
+BerryBlender_EventScript_FourPlayerLink: @ 8294139
+ msgbox BerryBlender_Text_AllPlayersArrived, MSGBOX_DEFAULT
+ goto BerryBlender_EventScript_DoLinkBerryBlending
+ end
+
+BerryBlender_EventScript_DoLinkBerryBlending: @ 8294147
+ setvar VAR_0x8004, 0
+ fadescreen FADE_TO_BLACK
+ removeobject 240
+ removeobject 239
+ removeobject 238
+ removeobject 237
+ special DoBerryBlending
+ waitstate
+ releaseall
+ end
+
+BerryBlender_EventScript_CancelLinkBlender: @ 8294160
+ releaseall
+ end
+
+BerryBlender_EventScript_LinkBlenderCaseFull: @ 8294162
+ msgbox BerryBlender_Text_PokeblockCaseIsFullLink, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_LinkBlenderNoCase: @ 829416C
+ msgbox BerryBlender_Text_DontHavePokeblockCaseLink, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_CloseLinkNotReady: @ 8294176
+ special CloseLink
+ msgbox Text_SomeoneIsNotReadyToLink, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_CloseLinkDifferentSelections: @ 8294183
+ special CloseLink
+ msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_CloseLink: @ 8294190
+ special CloseLink
+ msgbox gText_PokeblockLinkCanceled, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_LinkError: @ 829419D
+ special CloseLink
+ msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT
+ releaseall
+ end
+
+BerryBlender_EventScript_SpawnLinkPartners: @ 82941AA
+ fadescreen FADE_TO_BLACK
+ specialvar VAR_RESULT, GetLinkPartnerNames
+ copyvar VAR_0x8008, VAR_RESULT
+ copyvar VAR_0x8004, VAR_0x8008
+ special SpawnLinkPartnerEventObject
+ goto BerryBlender_EventScript_LinkPlayersArrived
+ end
+
+BerryBlender_EventScript_LinkPlayersArrived: @ 82941C4
+ fadescreen FADE_FROM_BLACK
+ switch VAR_0x8008
+ case 2, BerryBlender_EventScript_TwoPlayerLink
+ case 3, BerryBlender_EventScript_ThreePlayerLink
+ case 4, BerryBlender_EventScript_FourPlayerLink
+ end
+
+BerryBlender_EventScript_StartDecideLinkLeader: @ 82941ED
+ setvar VAR_0x8004, LINK_GROUP_BERRY_BLENDER
+ goto BerryBlender_EventScript_DecideLinkLeader
+ end
+
+BerryBlender_EventScript_DecideLinkLeader: @ 82941F8
+ message LilycoveCity_ContestLobby_Text_PleaseDecideLinkLeader
+ waitmessage
+ multichoice 16, 6, MULTI_LINK_LEADER, 0
+ switch VAR_RESULT
+ case 0, BerryBlender_EventScript_TryJoinGroup
+ case 1, BerryBlender_EventScript_TryLeadGroup
+ case 2, BerryBlender_EventScript_CloseLink
+ case MULTI_B_PRESSED, BerryBlender_EventScript_CloseLink
+ end
+
+BerryBlender_EventScript_TryLeadGroup: @ 8294235
+ call BerryBlender_EventScript_TryBecomeLinkLeader
+ compare VAR_RESULT, 1
+ goto_if_eq BerryBlender_EventScript_LinkLeaderDecided
+ compare VAR_RESULT, 5
+ goto_if_eq BerryBlender_EventScript_DecideLinkLeader
+ compare VAR_RESULT, 8
+ goto_if_eq BerryBlender_EventScript_TryLeadGroup
+ release
+ end
+
+BerryBlender_EventScript_TryJoinGroup: @ 829425D
+ call BerryBlender_EventScript_TryJoinLinkGroup
+ compare VAR_RESULT, 1
+ goto_if_eq BerryBlender_EventScript_LinkLeaderDecided
+ compare VAR_RESULT, 5
+ goto_if_eq BerryBlender_EventScript_DecideLinkLeader
+ compare VAR_RESULT, 8
+ goto_if_eq BerryBlender_EventScript_TryJoinGroup
+ release
+ end
+
+BerryBlender_EventScript_TryBecomeLinkLeader: @ 8294285
+ special TryBecomeLinkLeader
+ waitstate
+ return
+
+BerryBlender_EventScript_TryJoinLinkGroup: @ 829428A
+ special TryJoinLinkGroup
+ waitstate
+ return
+
+BerryBlender_EventScript_LinkLeaderDecided: @ 829428F
+ goto BerryBlender_EventScript_SpawnLinkPartners
+ end
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
index 2dc016a52..18378077c 100644
--- a/data/scripts/berry_tree.inc
+++ b/data/scripts/berry_tree.inc
@@ -1,16 +1,16 @@
BerryTreeScript:: @ 82742F9
special EventObjectInteractionGetBerryTreeData
switch VAR_0x8004
- case 255, BerryTree_EventScript_27434F
- case 0, BerryTree_EventScript_CheckSoil
- case 1, BerryTree_EventScript_CheckBerryStage1
- case 2, BerryTree_EventScript_CheckBerryStage2
- case 3, BerryTree_EventScript_CheckBerryStage3
- case 4, BerryTree_EventScript_CheckBerryStage4
- case 5, BerryTree_EventScript_CheckBerryFullyGrown
+ case BERRY_STAGE_SPARKLING, BerryTree_EventScript_Sparkling
+ case BERRY_STAGE_NO_BERRY, BerryTree_EventScript_CheckSoil
+ case BERRY_STAGE_PLANTED, BerryTree_EventScript_CheckBerryStage1
+ case BERRY_STAGE_SPROUTED, BerryTree_EventScript_CheckBerryStage2
+ case BERRY_STAGE_TALLER, BerryTree_EventScript_CheckBerryStage3
+ case BERRY_STAGE_FLOWERING, BerryTree_EventScript_CheckBerryStage4
+ case BERRY_STAGE_BERRIES, BerryTree_EventScript_CheckBerryFullyGrown
end
-BerryTree_EventScript_27434F:: @ 827434F
+BerryTree_EventScript_Sparkling:: @ 827434F
lockall
message BerryTree_Text_ExclamationPoint
waitmessage
@@ -22,7 +22,7 @@ BerryTree_EventScript_CheckSoil:: @ 8274359
lock
faceplayer
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, 1
+ compare VAR_RESULT, TRUE
goto_if_eq BerryTree_EventScript_WantToPlant
message BerryTree_Text_ItsSoftLoamySoil
waitmessage
@@ -32,20 +32,20 @@ BerryTree_EventScript_CheckSoil:: @ 8274359
BerryTree_EventScript_WantToPlant:: @ 8274374
msgbox BerryTree_Text_WantToPlant, MSGBOX_YESNO
- compare VAR_RESULT, 1
+ compare VAR_RESULT, YES
goto_if_eq BerryTree_EventScript_ChooseBerryToPlant
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq BerryTree_EventScript_CancelPlanting
end
BerryTree_EventScript_ChooseBerryToPlant:: @ 8274393
- fadescreen 1
+ fadescreen FADE_TO_BLACK
closemessage
special Bag_ChooseBerry
waitstate
compare VAR_ITEM_ID, 0
goto_if_eq BerryTree_EventScript_CancelPlanting
- takeitem VAR_ITEM_ID, 1
+ removeitem VAR_ITEM_ID
call BerryTree_EventScript_PlantBerry
BerryTree_EventScript_CancelPlanting:: @ 82743AF
@@ -85,6 +85,8 @@ BerryTree_EventScript_CheckBerryStage4:: @ 82743E1
waitbuttonpress
goto BerryTree_EventScript_WantToWater
+@ VAR_0x8005 here is the number of times watered
+@ Buffered by EventObjectInteractionGetBerryTreeData
BerryTree_EventScript_GetCareAdverb:: @ 82743F6
compare VAR_0x8005, 0
goto_if_eq BerryTree_EventScript_SetAdverbPoor
@@ -101,22 +103,23 @@ BerryTree_EventScript_SetAdverbPoor:: @ 827441A
bufferstring 1, BerryTree_Text_CareAdverbPoor
return
+@ VAR_0x8006 here is the number of berries
BerryTree_EventScript_CheckBerryFullyGrown:: @ 8274421
buffernumberstring 1, VAR_0x8006
lock
faceplayer
special EventObjectInteractionGetBerryCountString
msgbox BerryTree_Text_WantToPick, MSGBOX_YESNO
- compare VAR_RESULT, 1
+ compare VAR_RESULT, YES
goto_if_eq BerryTree_EventScript_PickBerry
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq BerryTree_EventScript_CancelPickingBerry
BerryTree_EventScript_PickBerry:: @ 8274448
special EventObjectInteractionPickBerryTree
compare VAR_0x8004, 0
goto_if_eq BerryTree_EventScript_BerryPocketFull
- special sub_80EED34
+ special IncrementDailyPickedBerries
special EventObjectInteractionRemoveBerryTree
message BerryTree_Text_PickedTheBerry
playfanfare MUS_ME_KINOMI
@@ -143,7 +146,7 @@ BerryTree_EventScript_CancelPickingBerry:: @ 8274479
release
end
-BerryTree_EventScript_274482:: @ 8274482
+BerryTree_EventScript_ItemUsePlantBerry:: @ 8274482
lockall
special EventObjectInteractionGetBerryTreeData
call BerryTree_EventScript_PlantBerry
@@ -156,19 +159,18 @@ BerryTree_EventScript_WantToWater:: @ 827448D
goto_if_eq BerryTree_EventScript_DontWater
special EventObjectInteractionGetBerryName
msgbox BerryTree_Text_WantToWater, MSGBOX_YESNO
- compare VAR_RESULT, 1
+ compare VAR_RESULT, YES
goto_if_eq BerryTree_EventScript_WaterBerry
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq BerryTree_EventScript_DontWater
BerryTree_EventScript_DontWater:: @ 82744BE
releaseall
end
-BerryTree_EventScript_2744C0:: @ 82744C0
+BerryTree_EventScript_ItemUseWailmerPail:: @ 82744C0
special EventObjectInteractionGetBerryTreeData
lockall
-
BerryTree_EventScript_WaterBerry:: @ 82744C4
special EventObjectInteractionGetBerryName
message BerryTree_Text_WateredTheBerry
@@ -184,8 +186,8 @@ BerryTree_EventScript_WaterBerry:: @ 82744C4
BerryTree_EventScript_PlantBerry:: @ 82744DD
special EventObjectInteractionPlantBerryTree
- incrementgamestat 3
- special sub_80EED10
+ incrementgamestat GAME_STAT_PLANTED_BERRIES
+ special IncrementDailyPlantedBerries
special EventObjectInteractionGetBerryCountString
message BerryTree_Text_PlantedOneBerry
waitmessage
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index eeecf2d75..4cf046c02 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -1,765 +1,700 @@
-PokemonCenter_2F_OnTransition: @ 8276ACF
- call OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift
+CableClub_OnTransition: @ 8276ACF
+ call CableClub_EventScript_HideOrShowMysteryGiftMan
end
-OldaleTown_PokemonCenter_2F_EventScript_OnTransitionCheckMysteryGift:: @ 8276AD5
- specialvar VAR_RESULT, sub_813B514
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB
+CableClub_EventScript_HideOrShowMysteryGiftMan:: @ 8276AD5
+ specialvar VAR_RESULT, ShouldDistributeEonTicket
+ compare VAR_RESULT, TRUE
+ goto_if_eq CableClub_EventScript_ShowMysteryGiftMan
specialvar VAR_RESULT, ValidateReceivedWonderCard
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF
- goto OldaleTown_PokemonCenter_2F_EventScript_276AFB
+ compare VAR_RESULT, FALSE
+ goto_if_eq CableClub_EventScript_HideMysteryGiftMan
+ goto CableClub_EventScript_ShowMysteryGiftMan
end
-OldaleTown_PokemonCenter_2F_EventScript_276AFB:: @ 8276AFB
+CableClub_EventScript_ShowMysteryGiftMan:: @ 8276AFB
clearflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
return
-OldaleTown_PokemonCenter_2F_EventScript_276AFF:: @ 8276AFF
+CableClub_EventScript_HideMysteryGiftMan:: @ 8276AFF
setflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
return
-BattleFrontier_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-DewfordTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-EverGrandeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-EverGrandeCity_PokemonLeague_2F_EventScript_276B03:: @ 8276B03
-FallarborTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-FortreeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-LavaridgeTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-LilycoveCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-MauvilleCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-MossdeepCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-OldaleTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-PacifidlogTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-PetalburgCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-RustboroCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-SlateportCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-SootopolisCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
-VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
- specialvar VAR_RESULT, sub_813B514
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B23
- goto OldaleTown_PokemonCenter_2F_EventScript_276B19
+CableClub_EventScript_MysteryGiftMan:: @ 8276B03
+ specialvar VAR_RESULT, ShouldDistributeEonTicket
+ compare VAR_RESULT, TRUE
+ goto_if_eq CableClub_EventScript_DistributeEonTicket
+ goto CableClub_EventScript_AlreadyGotEonTicket
end
-OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19
+CableClub_EventScript_AlreadyGotEonTicket:: @ 8276B19
gotoram
-OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A
- msgbox gUnknown_08273178, MSGBOX_NPC
+@ Unused?
+CableClub_EventScript_MysteryGiftThankYou:: @ 8276B1A
+ msgbox gText_ThankYouForAccessingMysteryGift, MSGBOX_NPC
end
-OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23
+CableClub_EventScript_DistributeEonTicket:: @ 8276B23
checkitem ITEM_EON_TICKET, 1
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B19
- goto_if_set FLAG_SYS_HAS_EON_TICKET, OldaleTown_PokemonCenter_2F_EventScript_276B19
- msgbox gUnknown_08273594, MSGBOX_DEFAULT
- giveitem_std ITEM_EON_TICKET
+ compare VAR_RESULT, TRUE
+ goto_if_eq CableClub_EventScript_AlreadyGotEonTicket
+ goto_if_set FLAG_SYS_HAS_EON_TICKET, CableClub_EventScript_AlreadyGotEonTicket
+ msgbox Mevent_Text_TheresATicketForYou, MSGBOX_DEFAULT
+ giveitem ITEM_EON_TICKET
setflag FLAG_SYS_HAS_EON_TICKET
- setvar VAR_ALWAYS_ZERO_0x403F, 0
- msgbox gUnknown_082735F2, MSGBOX_DEFAULT
+ setvar VAR_DISTRIBUTE_EON_TICKET, 0
+ msgbox Mevent_Text_TryUsingItAtLilycovePort, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_276B62:: @ 8276B62
- msgbox gUnknown_08273178, MSGBOX_DEFAULT
+@ Unused?
+CableClub_EventScript_MysteryGiftThankYou2:: @ 8276B62
+ msgbox gText_ThankYouForAccessingMysteryGift, MSGBOX_DEFAULT
release
end
-BattleFrontier_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-DewfordTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C: @ 8276B6C
-FallarborTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-FortreeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-LilycoveCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-MauvilleCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-MossdeepCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-OldaleTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-PetalburgCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-RustboroCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-SlateportCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-SootopolisCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
-VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
- map_script_2 VAR_CABLE_CLUB_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276BAE
- map_script_2 VAR_CABLE_CLUB_STATE, 2, OldaleTown_PokemonCenter_2F_EventScript_276BAE
- map_script_2 VAR_CABLE_CLUB_STATE, 5, OldaleTown_PokemonCenter_2F_EventScript_276BAE
- map_script_2 VAR_CABLE_CLUB_STATE, 3, OldaleTown_PokemonCenter_2F_EventScript_276BAE
- map_script_2 VAR_CABLE_CLUB_STATE, 4, OldaleTown_PokemonCenter_2F_EventScript_276BAE
- map_script_2 VAR_CABLE_CLUB_STATE, 6, OldaleTown_PokemonCenter_2F_EventScript_276BAE
- map_script_2 VAR_CABLE_CLUB_STATE, 7, OldaleTown_PokemonCenter_2F_EventScript_276BAE
- map_script_2 VAR_CABLE_CLUB_STATE, 8, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+CableClub_OnWarp: @ 8276B6C
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE, CableClub_EventScript_CheckTurnAttendant
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE, CableClub_EventScript_CheckTurnAttendant
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE, CableClub_EventScript_CheckTurnAttendant
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER, CableClub_EventScript_CheckTurnAttendant
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER, CableClub_EventScript_CheckTurnAttendant
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_UNION_ROOM, CableClub_EventScript_CheckTurnAttendant
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH, CableClub_EventScript_CheckTurnAttendant
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_CheckTurnAttendant
.2byte 0
-MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE
-OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE
+CableClub_EventScript_CheckTurnAttendant:: @ 8276BAE
compare VAR_0x8007, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD
- turnobject VAR_0x8007, 3
-
-OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD
- end
-
-BattleFrontier_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-DewfordTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE: @ 8276BBE
-FallarborTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-FortreeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-LilycoveCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-MauvilleCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-MossdeepCity_GameCorner_1F_MapScript1_276BBE: @ 8276BBE
-MossdeepCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-OldaleTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-PetalburgCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-RustboroCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-SlateportCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-SootopolisCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
-VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
- compare VAR_CABLE_CLUB_STATE, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
- compare VAR_CABLE_CLUB_STATE, 2
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
- compare VAR_CABLE_CLUB_STATE, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
- compare VAR_CABLE_CLUB_STATE, 3
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D
- compare VAR_CABLE_CLUB_STATE, 4
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C23
- compare VAR_CABLE_CLUB_STATE, 6
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C29
- compare VAR_CABLE_CLUB_STATE, 7
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F
- compare VAR_CABLE_CLUB_STATE, 8
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C35
- end
-
-OldaleTown_PokemonCenter_2F_EventScript_276C17:: @ 8276C17
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
- end
-
-OldaleTown_PokemonCenter_2F_EventScript_276C1D:: @ 8276C1D
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
- end
-
-OldaleTown_PokemonCenter_2F_EventScript_276C23:: @ 8276C23
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
- end
-
-OldaleTown_PokemonCenter_2F_EventScript_276C29:: @ 8276C29
- call OldaleTown_PokemonCenter_2F_EventScript_277BBE
- end
-
-OldaleTown_PokemonCenter_2F_EventScript_276C2F:: @ 8276C2F
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
- end
-
-OldaleTown_PokemonCenter_2F_EventScript_276C35:: @ 8276C35
- call OldaleTown_PokemonCenter_2F_EventScript_277C0A
- end
-
-BattleFrontier_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-DewfordTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B: @ 8276C3B
-FallarborTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-FortreeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-LilycoveCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-MauvilleCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-MossdeepCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-OldaleTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-PetalburgCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-RustboroCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-SlateportCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-SootopolisCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
-VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
- map_script_2 VAR_CABLE_CLUB_TUTORIAL_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276DE0
- map_script_2 VAR_CABLE_CLUB_STATE, 1, OldaleTown_PokemonCenter_2F_EventScript_276C85
- map_script_2 VAR_CABLE_CLUB_STATE, 2, OldaleTown_PokemonCenter_2F_EventScript_276C85
- map_script_2 VAR_CABLE_CLUB_STATE, 5, OldaleTown_PokemonCenter_2F_EventScript_276C85
- map_script_2 VAR_CABLE_CLUB_STATE, 3, OldaleTown_PokemonCenter_2F_EventScript_276CE7
- map_script_2 VAR_CABLE_CLUB_STATE, 4, OldaleTown_PokemonCenter_2F_EventScript_276D2C
- map_script_2 VAR_CABLE_CLUB_STATE, 6, OldaleTown_PokemonCenter_2F_EventScript_276D6C
- map_script_2 VAR_CABLE_CLUB_STATE, 7, OldaleTown_PokemonCenter_2F_EventScript_276C85
- map_script_2 VAR_CABLE_CLUB_STATE, 8, OldaleTown_PokemonCenter_2F_EventScript_276C9D
+ goto_if_eq CableClub_EventScript_DontTurnAttendant
+ turnobject VAR_0x8007, DIR_WEST
+CableClub_EventScript_DontTurnAttendant:: @ 8276BBD
+ end
+
+CableClub_OnLoad: @ 8276BBE
+ compare VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE
+ goto_if_eq CableClub_EventScript_OnLoadFromColosseum
+ compare VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE
+ goto_if_eq CableClub_EventScript_OnLoadFromColosseum
+ compare VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE
+ goto_if_eq CableClub_EventScript_OnLoadFromColosseum
+ compare VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER
+ goto_if_eq CableClub_EventScript_OnLoadFromTradeCenter
+ compare VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER
+ goto_if_eq CableClub_EventScript_OnLoadFromRecordCorner
+ compare VAR_CABLE_CLUB_STATE, USING_UNION_ROOM
+ goto_if_eq CableClub_EventScript_OnLoadFromUnionRoom
+ compare VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH
+ goto_if_eq CableClub_EventScript_OnLoadFromBerryCrush
+ compare VAR_CABLE_CLUB_STATE, USING_MINIGAME
+ goto_if_eq CableClub_EventScript_OnLoadFromGameCorner
+ end
+
+CableClub_EventScript_OnLoadFromColosseum:: @ 8276C17
+ call CableClub_EventScript_OpenDirectCornerBarrier
+ end
+
+CableClub_EventScript_OnLoadFromTradeCenter:: @ 8276C1D
+ call CableClub_EventScript_OpenDirectCornerBarrier
+ end
+
+CableClub_EventScript_OnLoadFromRecordCorner:: @ 8276C23
+ call CableClub_EventScript_OpenDirectCornerBarrier
+ end
+
+CableClub_EventScript_OnLoadFromUnionRoom:: @ 8276C29
+ call CableClub_EventScript_OpenUnionRoomBarrier
+ end
+
+CableClub_EventScript_OnLoadFromBerryCrush:: @ 8276C2F
+ call CableClub_EventScript_OpenDirectCornerBarrier
+ end
+
+CableClub_EventScript_OnLoadFromGameCorner:: @ 8276C35
+ call EventScript_OpenMossdeepGameCornerBarrier
+ end
+
+CableClub_OnFrame: @ 8276C3B
+ map_script_2 VAR_CABLE_CLUB_TUTORIAL_STATE, 1, CableClub_EventScript_Tutorial
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE, CableClub_EventScript_ExitLinkRoom
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE, CableClub_EventScript_ExitLinkRoom
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE, CableClub_EventScript_ExitLinkRoom
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER, CableClub_EventScript_ExitTradeCenter
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER, CableClub_EventScript_ExitRecordCorner
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_UNION_ROOM, CableClub_EventScript_ExitUnionRoom
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH, CableClub_EventScript_ExitLinkRoom
+ map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_ExitMinigameRoom
.2byte 0
-OldaleTown_PokemonCenter_2F_EventScript_276C85:: @ 8276C85
+CableClub_EventScript_ExitLinkRoom:: @ 8276C85
lockall
- call OldaleTown_PokemonCenter_2F_EventScript_276CB5
- call OldaleTown_PokemonCenter_2F_EventScript_277BF7
+ call CableClub_EventScript_CloseLinkAndExitLinkRoom
+ call CableClub_EventScript_CloseDirectCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
erasebox 0, 0, 29, 19
releaseall
end
-MossdeepCity_GameCorner_1F_EventScript_276C9D:: @ 8276C9D
-OldaleTown_PokemonCenter_2F_EventScript_276C9D:: @ 8276C9D
+CableClub_EventScript_ExitMinigameRoom:: @ 8276C9D
lockall
- call OldaleTown_PokemonCenter_2F_EventScript_276CB5
- call OldaleTown_PokemonCenter_2F_EventScript_277C1D
+ call CableClub_EventScript_CloseLinkAndExitLinkRoom
+ call EventScript_CloseMossdeepGameCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
erasebox 0, 0, 29, 19
releaseall
end
-OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5
+CableClub_EventScript_CloseLinkAndExitLinkRoom:: @ 8276CB5
special CloseLink
setvar VAR_CABLE_CLUB_STATE, 0
compare VAR_0x8007, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
- applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
+ goto_if_eq CableClub_EventScript_PlayerExitLinkRoom
+ applymovement VAR_0x8007, Movement_AttendantFaceLeft
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom
waitmovement 0
- applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
+ applymovement VAR_0x8007, Movement_AttendantFaceDown
waitmovement 0
return
-OldaleTown_PokemonCenter_2F_EventScript_276CE7:: @ 8276CE7
+CableClub_EventScript_ExitTradeCenter:: @ 8276CE7
lockall
- call OldaleTown_PokemonCenter_2F_EventScript_276CFF
- call OldaleTown_PokemonCenter_2F_EventScript_277BF7
+ call CableClub_EventScript_PlayerExitTradeCenter
+ call CableClub_EventScript_CloseDirectCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
erasebox 0, 0, 29, 19
releaseall
end
-OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF
+CableClub_EventScript_PlayerExitTradeCenter:: @ 8276CFF
special CloseLink
setvar VAR_CABLE_CLUB_STATE, 0
compare VAR_0x8007, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E
+ goto_if_eq CableClub_EventScript_PlayerExitLinkRoom
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerFaceAttendantRight
waitmovement 0
- applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
+ applymovement VAR_0x8007, Movement_AttendantFaceLeft
waitmovement 0
- call OldaleTown_PokemonCenter_2F_EventScript_276DAE
+ call CableClub_EventScript_TrainerCardDataOverwritten
return
-OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C
+CableClub_EventScript_ExitRecordCorner:: @ 8276D2C
lockall
- call OldaleTown_PokemonCenter_2F_EventScript_276D44
- call OldaleTown_PokemonCenter_2F_EventScript_277BF7
+ call CableClub_EventScript_PlayerExitRecordCorner
+ call CableClub_EventScript_CloseDirectCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
erasebox 0, 0, 29, 19
releaseall
end
-OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44
+CableClub_EventScript_PlayerExitRecordCorner:: @ 8276D44
special CloseLink
setvar VAR_CABLE_CLUB_STATE, 0
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom
waitmovement 0
compare VAR_0x8007, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B
- applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
+ goto_if_eq CableClub_EventScript_ExitRecordCornerRet
+ applymovement VAR_0x8007, Movement_AttendantFaceDown
waitmovement 0
-
-OldaleTown_PokemonCenter_2F_EventScript_276D6B:: @ 8276D6B
+CableClub_EventScript_ExitRecordCornerRet:: @ 8276D6B
return
-OldaleTown_PokemonCenter_2F_EventScript_276D6C:: @ 8276D6C
+CableClub_EventScript_ExitUnionRoom:: @ 8276D6C
lockall
- call OldaleTown_PokemonCenter_2F_EventScript_276D84
- call OldaleTown_PokemonCenter_2F_EventScript_277BD1
+ call CableClub_EventScript_PlayerExitUnionRoom
+ call CableClub_EventScript_CloseUnionRoomBarrier
special DrawWholeMapView
playse SE_TK_KASYA
erasebox 0, 0, 29, 19
releaseall
end
-OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84
+CableClub_EventScript_PlayerExitUnionRoom:: @ 8276D84
setvar VAR_CABLE_CLUB_STATE, 0
compare VAR_0x8007, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E
+ goto_if_eq CableClub_EventScript_PlayerExitLinkRoom
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerFaceAttendantRight
waitmovement 0
- applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
+ applymovement VAR_0x8007, Movement_AttendantFaceLeft
waitmovement 0
- call OldaleTown_PokemonCenter_2F_EventScript_276DAE
+ call CableClub_EventScript_TrainerCardDataOverwritten
return
-OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE
- message OldaleTown_PokemonCenter_2F_Text_278521
+CableClub_EventScript_TrainerCardDataOverwritten:: @ 8276DAE
+ message CableClub_Text_TrainerCardDataOverwritten
waitmessage
playse SE_PIN
delay 60
- message OldaleTown_PokemonCenter_2F_Text_27854C
+ message CableClub_Text_HopeToSeeYouAgain
waitmessage
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom
waitmovement 0
- applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
+ applymovement VAR_0x8007, Movement_AttendantFaceDown
waitmovement 0
return
-OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
+CableClub_EventScript_PlayerExitLinkRoom:: @ 8276DD5
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerExitLinkRoom
waitmovement 0
return
-OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0
+CableClub_EventScript_Tutorial:: @ 8276DE0
lockall
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox OldaleTown_PokemonCenter_2F_Text_27964A, MSGBOX_DEFAULT
+ msgbox CableClub_Text_FirstTimeRightThisWay, MSGBOX_DEFAULT
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_276E10
+ applymovement EVENT_OBJ_ID_PLAYER, CableClub_Movement_PlayerApproachCounter
waitmovement 0
delay 30
- msgbox OldaleTown_PokemonCenter_2F_Text_279718, MSGBOX_DEFAULT
+ msgbox CableClub_Text_ExplainWirelessClubFirstTime, MSGBOX_DEFAULT
setvar VAR_CABLE_CLUB_TUTORIAL_STATE, 2
releaseall
end
-OldaleTown_PokemonCenter_2F_Movement_276E10: @ 8276E10
+CableClub_Movement_PlayerApproachCounter: @ 8276E10
walk_up
walk_up
step_end
-OldaleTown_PokemonCenter_2F_EventScript_276E13:: @ 8276E13
- message OldaleTown_PokemonCenter_2F_Text_277EA4
+CableClub_EventScript_WelcomeToCableClub:: @ 8276E13
+ message CableClub_Text_WelcomeWhichCableClubService
waitmessage
delay 28
- goto OldaleTown_PokemonCenter_2F_EventScript_276E30
+ goto CableClub_EventScript_SelectCableClubRoom
end
-OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22
- msgbox OldaleTown_PokemonCenter_2F_Text_277EF1, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_276E30
+CableClub_EventScript_UnusedWelcomeToCableClub:: @ 8276E22
+ msgbox CableClub_Text_WhichService, MSGBOX_DEFAULT
+ goto CableClub_EventScript_SelectCableClubRoom
end
-OldaleTown_PokemonCenter_2F_EventScript_276E30:: @ 8276E30
+CableClub_EventScript_SelectCableClubRoom:: @ 8276E30
setvar VAR_0x8004, 0
- goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_276E75
- multichoice 0, 0, 74, 0
+ goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_CableClubUnlockedRecordCorner
+ multichoice 0, 0, MULTI_CABLE_CLUB_NO_RECORD_MIX, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2
- case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_TradeCenter
+ case 1, CableClub_EventScript_Colosseum
+ case 2, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_276E75:: @ 8276E75
- multichoice 0, 0, 76, 0
+CableClub_EventScript_CableClubUnlockedRecordCorner:: @ 8276E75
+ multichoice 0, 0, MULTI_CABLE_CLUB_WITH_RECORD_MIX, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2
- case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2771DB
- case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_TradeCenter
+ case 1, CableClub_EventScript_Colosseum
+ case 2, CableClub_EventScript_RecordCorner
+ case 3, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_276EB7:: @ 8276EB7
+CableClub_EventScript_Colosseum:: @ 8276EB7
copyvar VAR_0x8007, VAR_LAST_TALKED
- goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
+ goto CableClub_EventScript_SelectBattleMode
end
-OldaleTown_PokemonCenter_2F_EventScript_276EC2:: @ 8276EC2
- message OldaleTown_PokemonCenter_2F_Text_2790BE
+CableClub_EventScript_SelectBattleMode:: @ 8276EC2
+ message CableClub_Text_PlayWhichBattleMode
waitmessage
- multichoice 0, 0, 18, 0
+ multichoice 0, 0, MULTI_BATTLE_MODE, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_276F23
- case 1, OldaleTown_PokemonCenter_2F_EventScript_276F2E
- case 2, OldaleTown_PokemonCenter_2F_EventScript_276F55
- case 3, OldaleTown_PokemonCenter_2F_EventScript_276F15
- case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_SingleBattleMode
+ case 1, CableClub_EventScript_DoubleBattleMode
+ case 2, CableClub_EventScript_MultiBattleMode
+ case 3, CableClub_EventScript_BattleModeInfo
+ case 4, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_276F15:: @ 8276F15
- msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
+CableClub_EventScript_BattleModeInfo:: @ 8276F15
+ msgbox CableClub_Text_ExplainBattleModes, MSGBOX_DEFAULT
+ goto CableClub_EventScript_SelectBattleMode
end
-OldaleTown_PokemonCenter_2F_EventScript_276F23:: @ 8276F23
- setvar VAR_0x8004, 1
- goto OldaleTown_PokemonCenter_2F_EventScript_276F60
+CableClub_EventScript_SingleBattleMode:: @ 8276F23
+ setvar VAR_0x8004, USING_SINGLE_BATTLE
+ goto CableClub_EventScript_TryEnterColosseum
end
-OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E
+CableClub_EventScript_DoubleBattleMode:: @ 8276F2E
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, 0
- goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_276F47
- setvar VAR_0x8004, 2
- goto OldaleTown_PokemonCenter_2F_EventScript_276F60
+ compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
+ goto_if_ne CableClub_EventScript_NeedTwoMonsForDoubleBattle
+ setvar VAR_0x8004, USING_DOUBLE_BATTLE
+ goto CableClub_EventScript_TryEnterColosseum
end
-OldaleTown_PokemonCenter_2F_EventScript_276F47:: @ 8276F47
- msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
+CableClub_EventScript_NeedTwoMonsForDoubleBattle:: @ 8276F47
+ msgbox CableClub_Text_NeedTwoMonsForDoubleBattle, MSGBOX_DEFAULT
+ goto CableClub_EventScript_SelectBattleMode
end
-OldaleTown_PokemonCenter_2F_EventScript_276F55:: @ 8276F55
- setvar VAR_0x8004, 5
- goto OldaleTown_PokemonCenter_2F_EventScript_276F60
+CableClub_EventScript_MultiBattleMode:: @ 8276F55
+ setvar VAR_0x8004, USING_MULTI_BATTLE
+ goto CableClub_EventScript_TryEnterColosseum
end
-OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60
+CableClub_EventScript_TryEnterColosseum:: @ 8276F60
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
message gText_PleaseWaitForLink
waitmessage
- special sub_80B2DA4
+ special TryBattleLinkup
waitstate
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD
+ goto_if_eq CableClub_EventScript_EnterColosseum
compare VAR_RESULT, 2
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
compare VAR_RESULT, 3
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
compare VAR_RESULT, 4
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277046
+ goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
compare VAR_RESULT, 6
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ goto_if_eq CableClub_EventScript_AbortLinkConnectionError
end
-OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
+CableClub_EventScript_EnterColosseum:: @ 8276FBD
special HealPlayerParty
special SavePlayerParty
special LoadPlayerBag
copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004
- messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197
+ messageautoscroll CableClub_Text_PleaseEnter
waitmessage
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ call CableClub_EventScript_OpenDirectCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
delay 60
- applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft
waitmovement 0
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
closedoor 9, 1
waitdooranim
release
- compare VAR_0x8004, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277036
+ compare VAR_0x8004, USING_MULTI_BATTLE
+ goto_if_eq CableClub_EventScript_WarpTo4PColosseum
special SetCableClubWarp
- warp MAP_SINGLE_BATTLE_COLOSSEUM, 255, 6, 8
- special sub_80AF948
+ warp MAP_BATTLE_COLOSSEUM_2P, 255, 6, 8
+ special DoCableClubWarp
waitstate
end
-OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B
- applymovement EVENT_OBJ_ID_PLAYER, Movement_277352
+@ Unused
+CableClub_EventScript_PlayerApproachLinkRoomRight:: @ 827702B
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomRight
waitmovement 0
return
-OldaleTown_PokemonCenter_2F_EventScript_277036:: @ 8277036
+CableClub_EventScript_WarpTo4PColosseum:: @ 8277036
special SetCableClubWarp
- warp MAP_DOUBLE_BATTLE_COLOSSEUM, 255, 5, 8
- special sub_80AF948
+ warp MAP_BATTLE_COLOSSEUM_4P, 255, 5, 8
+ special DoCableClubWarp
waitstate
end
-OldaleTown_PokemonCenter_2F_EventScript_277046:: @ 8277046
+CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers:: @ 8277046
switch VAR_0x8004
- case 1, OldaleTown_PokemonCenter_2F_EventScript_277094
- case 2, OldaleTown_PokemonCenter_2F_EventScript_277083
- case 5, OldaleTown_PokemonCenter_2F_EventScript_277072
- goto OldaleTown_PokemonCenter_2F_EventScript_27730E
+ case USING_SINGLE_BATTLE, CableClub_EventScript_AbortLinkWrongNumberForSingleBattle
+ case USING_DOUBLE_BATTLE, CableClub_EventScript_AbortLinkWrongNumberForDoubleBattle
+ case USING_MULTI_BATTLE, CableClub_EventScript_AbortLinkNeedFourPlayers
+ goto CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
end
-OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072
+CableClub_EventScript_AbortLinkNeedFourPlayers:: @ 8277072
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_27833D, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
+ msgbox CableClub_Text_NeedFourPlayers, MSGBOX_DEFAULT
+ goto CableClub_EventScript_ConfirmNumberAndRestart
end
-OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083
+CableClub_EventScript_AbortLinkWrongNumberForDoubleBattle:: @ 8277083
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278307, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
+ msgbox CableClub_Text_CantDoubleBattleWithXPlayers, MSGBOX_DEFAULT
+ goto CableClub_EventScript_ConfirmNumberAndRestart
end
-OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094
+CableClub_EventScript_AbortLinkWrongNumberForSingleBattle:: @ 8277094
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
+ msgbox CableClub_Text_CantSingleBattleWithXPlayers, MSGBOX_DEFAULT
+ goto CableClub_EventScript_ConfirmNumberAndRestart
end
-OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5
- special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278372, MSGBOX_DEFAULT
+CableClub_EventScript_ConfirmNumberAndRestart:: @ 82770A5
+ special CloseLink @ Redundant
+ msgbox CableClub_Text_PleaseConfirmNumberAndRestart, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2
+CableClub_EventScript_TradeCenter:: @ 82770B2
copyvar VAR_0x8007, VAR_LAST_TALKED
- call OldaleTown_PokemonCenter_2F_EventScript_277199
+ call CableClub_EventScript_CheckPartyTradeRequirements
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
message gText_PleaseWaitForLink
waitmessage
- special sub_80B2E4C
+ special TryTradeLinkup
waitstate
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27713A
+ goto_if_eq CableClub_EventScript_EnterTradeCenter
compare VAR_RESULT, 2
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
compare VAR_RESULT, 3
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
compare VAR_RESULT, 4
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
+ goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
compare VAR_RESULT, 6
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ goto_if_eq CableClub_EventScript_AbortLinkConnectionError
compare VAR_RESULT, 7
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB
+ goto_if_eq CableClub_EventScript_AbortLinkPlayerNotReady
compare VAR_RESULT, 9
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8
+ goto_if_eq CableClub_EventScript_AbortLinkOtherTrainerNotReady
end
-OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A
- setvar VAR_0x8004, 3
+CableClub_EventScript_EnterTradeCenter:: @ 827713A
+ setvar VAR_0x8004, USING_TRADE_CENTER
copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004
- messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197
+ messageautoscroll CableClub_Text_PleaseEnter
waitmessage
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ call CableClub_EventScript_OpenDirectCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
delay 60
- applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft
waitmovement 0
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
closedoor 9, 1
waitdooranim
release
special SetCableClubWarp
setwarp MAP_TRADE_CENTER, 255, 5, 8
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
-OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199
+CableClub_EventScript_CheckPartyTradeRequirements:: @ 8277199
specialvar VAR_RESULT, CalculatePlayerPartyCount
compare VAR_RESULT, 2
- goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_2771BF
- specialvar VAR_RESULT, sub_80F9370
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD
+ goto_if_lt CableClub_EventScript_NeedTwoMonsToTrade
+ specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry
+ compare VAR_RESULT, TRUE
+ goto_if_eq CableClub_EventScript_CantTradeEnigmaBerry
setvar VAR_RESULT, 1
return
-OldaleTown_PokemonCenter_2F_EventScript_2771BF:: @ 82771BF
- msgbox OldaleTown_PokemonCenter_2F_Text_278027, MSGBOX_DEFAULT
+CableClub_EventScript_NeedTwoMonsToTrade:: @ 82771BF
+ msgbox CableClub_Text_NeedTwoMonsToTrade, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
-OldaleTown_PokemonCenter_2F_EventScript_2771CD:: @ 82771CD
- msgbox OldaleTown_PokemonCenter_2F_Text_278061, MSGBOX_DEFAULT
+CableClub_EventScript_CantTradeEnigmaBerry:: @ 82771CD
+ msgbox CableClub_Text_CantTradeEnigmaBerry, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
-OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB
+CableClub_EventScript_RecordCorner:: @ 82771DB
copyvar VAR_0x8007, VAR_LAST_TALKED
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
message gText_PleaseWaitForLink
waitmessage
- special sub_80B2E74
+ special TryRecordMixLinkup
waitstate
special sub_80B2EA8
waitstate
compare VAR_RESULT, 12
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277328
+ goto_if_eq CableClub_EventScript_AbortLinkForeignGame
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27724C
+ goto_if_eq CableClub_EventScript_EnterRecordCorner
compare VAR_RESULT, 2
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
compare VAR_RESULT, 3
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
compare VAR_RESULT, 4
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
+ goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
compare VAR_RESULT, 6
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ goto_if_eq CableClub_EventScript_AbortLinkConnectionError
end
-OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C
- setvar VAR_0x8004, 4
+CableClub_EventScript_EnterRecordCorner:: @ 827724C
+ setvar VAR_0x8004, USING_RECORD_CORNER
copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004
- messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197
+ messageautoscroll CableClub_Text_PleaseEnter
waitmessage
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ call CableClub_EventScript_OpenDirectCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
delay 60
- applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft
waitmovement 0
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
closedoor 9, 1
waitdooranim
release
special SetCableClubWarp
setwarp MAP_RECORD_CORNER, 255, 8, 9
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
-OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB
+CableClub_EventScript_AbortLinkPlayerNotReady:: @ 82772AB
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278565, MSGBOX_DEFAULT
+ msgbox CableClub_Text_NotSetUpForFarAwayRegion, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8
+CableClub_EventScript_AbortLinkOtherTrainerNotReady:: @ 82772B8
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, MSGBOX_DEFAULT
+ msgbox CableClub_Text_OtherTrainerNotReady, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5
-OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5
+CableClub_EventScript_AbortLinkConnectionError:: @ 82772C5
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_27821C, MSGBOX_DEFAULT
+ msgbox Text_LinkErrorPleaseReset, MSGBOX_DEFAULT
release
end
-BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2
-OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2
+CableClub_EventScript_AbortLinkSomeoneNotReady:: @ 82772D2
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, MSGBOX_DEFAULT
+ msgbox Text_SomeoneIsNotReadyToLink, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF
+CableClub_EventScript_AbortLinkDifferentSelections:: @ 82772DF
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278255, MSGBOX_DEFAULT
+ msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC
+CableClub_EventScript_AbortLink:: @ 82772EC
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278291, MSGBOX_DEFAULT
+ msgbox CableClub_Text_PleaseVisitAgain, MSGBOX_DEFAULT
release
end
-MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9
+MossdeepCity_GameCorner_1F_EventScript_AbortMinigame:: @ 82772F9
special CloseLink
- msgbox MossdeepCity_GameCorner_1F_Text_278D51, MSGBOX_DEFAULT
+ msgbox MossdeepCity_GameCorner_1F_Text_ComeAgain, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306
+@ Unused
+CableClub_EventScript_CableClubWarp:: @ 8277306
special SetCableClubWarp
- special sub_80AF948
+ special DoCableClubWarp
waitstate
end
-OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E
+CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants:: @ 827730E
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, MSGBOX_DEFAULT
+ msgbox CableClub_Text_IncorrectNumberOfParticipants, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B
+CableClub_EventScript_AbortLinkPlayerHasBadEgg:: @ 827731B
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, MSGBOX_DEFAULT
+ msgbox CableClub_Text_YouHaveAMonThatCantBeTaken, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328
+CableClub_EventScript_AbortLinkForeignGame:: @ 8277328
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278651, MSGBOX_DEFAULT
+ msgbox CableClub_Text_CantMixWithJapaneseGame, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_277335:: @ 8277335
- msgbox gUnknown_0827306F, MSGBOX_DEFAULT
+CableClub_EventScript_WirelessClubAdjustements:: @ 8277335
+ msgbox gText_SorryWirelessClubAdjustments, MSGBOX_DEFAULT
release
end
-OldaleTown_PokemonCenter_2F_EventScript_27733F:: @ 827733F
- msgbox gUnknown_082730BC, MSGBOX_DEFAULT
+CableClub_EventScript_NotReadyYet:: @ 827733F
+ msgbox gText_UndergoingAdjustments, MSGBOX_DEFAULT
releaseall
end
-OldaleTown_PokemonCenter_2F_Movement_277349: @ 8277349
+Movement_AttendantFaceDown: @ 8277349
face_down
step_end
-OldaleTown_PokemonCenter_2F_Movement_27734B: @ 827734B
+@ Unused
+Movement_AttendantFaceRight: @ 827734B
face_right
step_end
-MossdeepCity_GameCorner_1F_Movement_27734D: @ 827734D
-OldaleTown_PokemonCenter_2F_Movement_27734D: @ 827734D
+Movement_AttendantFaceLeft: @ 827734D
face_left
step_end
-OldaleTown_PokemonCenter_2F_Movement_27734F: @ 827734F
+Movement_PlayerExitLinkRoom: @ 827734F
walk_down
walk_down
step_end
-Movement_277352: @ 8277352
+@ Functionally unused
+Movement_PlayerApproachLinkRoomRight: @ 8277352
walk_right
walk_up
walk_up
step_end
-OldaleTown_PokemonCenter_2F_Movement_277356: @ 8277356
+Movement_PlayerApproachLinkRoomLeft: @ 8277356
walk_left
walk_up
walk_up
step_end
-OldaleTown_PokemonCenter_2F_Movement_27735A: @ 827735A
+Movement_PlayerEnterLinkRoom: @ 827735A
walk_up
step_end
-OldaleTown_PokemonCenter_2F_Movement_27735C: @ 827735C
+@ Unused
+Movement_PlayerFaceAttendantLeft: @ 827735C
face_left
step_end
-OldaleTown_PokemonCenter_2F_Movement_27735E: @ 827735E
+Movement_PlayerFaceAttendantRight: @ 827735E
face_right
step_end
-MossdeepCity_GameCorner_1F_Movement_277360: @ 8277360
+Movement_PlayerEnterMinigameRoom: @ 8277360
walk_left
walk_up
walk_up
@@ -775,63 +710,63 @@ EventScript_CableBoxResults:: @ 8277365
releaseall
end
-EventScript_SingleBattleColosseum_PlayerSpot0:: @ 8277374
+EventScript_BattleColosseum_2P_PlayerSpot0:: @ 8277374
setvar VAR_0x8005, 0
special ColosseumPlayerSpotTriggered
waitstate
end
-EventScript_SingleBattleColosseum_PlayerSpot1:: @ 827737E
+EventScript_BattleColosseum_2P_PlayerSpot1:: @ 827737E
setvar VAR_0x8005, 1
special ColosseumPlayerSpotTriggered
waitstate
end
-EventScript_DoubleBattleColosseum_PlayerSpot0:: @ 8277388
- fadescreen 1
+EventScript_BattleColosseum_4P_PlayerSpot0:: @ 8277388
+ fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
compare VAR_RESULT, 0
- goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger
+ goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 0
special ColosseumPlayerSpotTriggered
waitstate
end
-EventScript_DoubleBattleColosseum_PlayerSpot1:: @ 82773A3
- fadescreen 1
+EventScript_BattleColosseum_4P_PlayerSpot1:: @ 82773A3
+ fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
compare VAR_RESULT, 0
- goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger
+ goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 1
special ColosseumPlayerSpotTriggered
waitstate
end
-EventScript_DoubleBattleColosseum_PlayerSpot2:: @ 82773BE
- fadescreen 1
+EventScript_BattleColosseum_4P_PlayerSpot2:: @ 82773BE
+ fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
compare VAR_RESULT, 0
- goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger
+ goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 2
special ColosseumPlayerSpotTriggered
waitstate
end
-EventScript_DoubleBattleColosseum_PlayerSpot3:: @ 82773D9
- fadescreen 1
+EventScript_BattleColosseum_4P_PlayerSpot3:: @ 82773D9
+ fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
compare VAR_RESULT, 0
- goto_if_eq EventScript_DoubleBattleColosseum_CancelSpotTrigger
+ goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 3
special ColosseumPlayerSpotTriggered
waitstate
end
-EventScript_DoubleBattleColosseum_CancelSpotTrigger:: @ 82773F4
+EventScript_BattleColosseum_4P_CancelSpotTrigger:: @ 82773F4
end
EventScript_TradeCenter_Chair0:: @ 82773F5
@@ -860,102 +795,103 @@ EventScript_TradeCenter_Chair3:: @ 8277413
waitstate
end
+@ VAR_TEMP_1 for below scripts set by ReceiveGiftItem
EventScript_RecordCenter_Spot0:: @ 827741D
setvar VAR_0x8005, 0
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, 0
- goto_if_ne RecordCorner_EventScript_277471
+ compare VAR_TEMP_1, ITEM_NONE
+ goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
end
EventScript_RecordCenter_Spot1:: @ 8277432
setvar VAR_0x8005, 1
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, 0
- goto_if_ne RecordCorner_EventScript_277471
+ compare VAR_TEMP_1, ITEM_NONE
+ goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
end
EventScript_RecordCenter_Spot2:: @ 8277447
setvar VAR_0x8005, 2
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, 0
- goto_if_ne RecordCorner_EventScript_277471
+ compare VAR_TEMP_1, ITEM_NONE
+ goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
end
EventScript_RecordCenter_Spot3:: @ 827745C
setvar VAR_0x8005, 3
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, 0
- goto_if_ne RecordCorner_EventScript_277471
+ compare VAR_TEMP_1, ITEM_NONE
+ goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
end
-RecordCorner_EventScript_277471:: @ 8277471
+RecordCorner_EventScript_ReceivedGiftItem:: @ 8277471
bufferitemname 1, VAR_TEMP_1
- message RecordCorner_Text_27863C
+ message RecordCorner_Text_PlayerSentOverOneX
waitmessage
waitbuttonpress
releaseall
end
-gEventScript_TradeRoom_ReadTrainerCard_NoColor:: @ 827747E
- msgbox Text_278452, MSGBOX_DEFAULT
- fadescreen 1
- special sp02A_crash_sound
+CableClub_EventScript_ReadTrainerCard:: @ 827747E
+ msgbox CableClub_Text_GotToLookAtTrainerCard, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ special Script_ShowLinkTrainerCard
waitstate
end
-gEventScript_TradeRoom_ReadTrainerCard_Normal:: @ 827748D
- msgbox Text_27847B, MSGBOX_DEFAULT
- fadescreen 1
- special sp02A_crash_sound
+CableClub_EventScript_ReadTrainerCardColored:: @ 827748D
+ msgbox CableClub_Text_GotToLookAtColoredTrainerCard, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
+ special Script_ShowLinkTrainerCard
waitstate
end
-gEventScript_TradeRoom_TooBusyToNotice:: @ 827749C
- msgbox Text_27842E, MSGBOX_DEFAULT
+CableClub_EventScript_TooBusyToNotice:: @ 827749C
+ msgbox CableClub_Text_TooBusyToNotice, MSGBOX_DEFAULT
closemessage
end
-SingleBattleColosseum_EventScript_2774A6:: @ 82774A6
- special sub_8098574
- msgbox SingleBattleColosseum_Text_2784B4, MSGBOX_DEFAULT
- special sub_809859C
+BattleColosseum_2P_EventScript_Attendant:: @ 82774A6
+ special Script_FacePlayer
+ msgbox BattleColosseum_2P_Text_TakePlaceStartBattle, MSGBOX_DEFAULT
+ special Script_ClearHeldMovement
closemessage
end
-TradeCenter_EventScript_2774B6:: @ 82774B6
- special sub_8098574
- msgbox TradeCenter_Text_2784E2, MSGBOX_DEFAULT
- special sub_809859C
+TradeCenter_EventScript_Attendant:: @ 82774B6
+ special Script_FacePlayer
+ msgbox TradeCenter_Text_TakeSeatStartTrade, MSGBOX_DEFAULT
+ special Script_ClearHeldMovement
closemessage
end
-RecordCorner_EventScript_2774C6:: @ 82774C6
+RecordCorner_EventScript_Attendant:: @ 82774C6
compare VAR_TEMP_0, 0
- goto_if_ne RecordCorner_EventScript_2774E0
- special sub_8098574
- message RecordCorner_Text_27861C
+ goto_if_ne RecordCorner_EventScript_AlreadyMixed
+ special Script_FacePlayer
+ message RecordCorner_Text_TakeSeatAndWait
waitmessage
waitbuttonpress
- special sub_809859C
+ special Script_ClearHeldMovement
closemessage
end
-RecordCorner_EventScript_2774E0:: @ 82774E0
- special sub_8098574
- message RecordCorner_Text_27850E
+RecordCorner_EventScript_AlreadyMixed:: @ 82774E0
+ special Script_FacePlayer
+ message RecordCorner_Text_ThanksForComing
waitmessage
waitbuttonpress
- special sub_809859C
+ special Script_ClearHeldMovement
closemessage
end
EventScript_ConfirmLeaveTradeRoom:: @ 82774EF
msgbox Text_TerminateLinkConfirmation, MSGBOX_YESNO
- compare VAR_RESULT, 1
+ compare VAR_RESULT, YES
goto_if_eq EventScript_TerminateLink
erasebox 0, 0, 29, 19
releaseall
@@ -969,70 +905,70 @@ EventScript_TerminateLink:: @ 8277509
EventScript_DoLinkRoomExit:: @ 8277513
special CleanupLinkRoomState
- special sub_80AF9F8
+ special ReturnFromLinkRoom
waitstate
end
-OldaleTown_PokemonCenter_2F_EventScript_27751B:: @ 827751B
+CableClub_EventScript_UnionRoomAttendant:: @ 827751B
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 8
- goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335
- specialvar VAR_RESULT, sub_813990C
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
+ setvar VAR_FRONTIER_FACILITY, FACILITY_UNION_ROOM
+ goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements
+ specialvar VAR_RESULT, IsBadEggInParty
+ compare VAR_RESULT, TRUE
+ goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg
copyvar VAR_0x8007, VAR_LAST_TALKED
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277668
- message OldaleTown_PokemonCenter_2F_Text_27940D
+ compare VAR_RESULT, FALSE
+ goto_if_eq CableClub_EventScript_UnionRoomAdapterNotConnected
+ message CableClub_Text_WelcomeUnionRoomEnter
waitmessage
- goto OldaleTown_PokemonCenter_2F_EventScript_27755C
+ goto CableClub_EventScript_UnionRoomSelect
end
-OldaleTown_PokemonCenter_2F_EventScript_27755C:: @ 827755C
- multichoice 17, 6, 17, 0
+CableClub_EventScript_UnionRoomSelect:: @ 827755C
+ multichoice 17, 6, MULTI_YESNOINFO, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_27759F
- case 1, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 2, OldaleTown_PokemonCenter_2F_EventScript_277593
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_EnterUnionRoom
+ case 1, CableClub_EventScript_AbortLink
+ case 2, CableClub_EventScript_UnionRoomInfo
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_277593:: @ 8277593
- message OldaleTown_PokemonCenter_2F_Text_2794B8
+CableClub_EventScript_UnionRoomInfo:: @ 8277593
+ message CableClub_Text_UnionRoomInfo
waitmessage
- goto OldaleTown_PokemonCenter_2F_EventScript_27755C
+ goto CableClub_EventScript_UnionRoomSelect
end
-OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
- call OldaleTown_PokemonCenter_2F_EventScript_277626
+CableClub_EventScript_EnterUnionRoom:: @ 827759F
+ call CableClub_EventScript_CheckPartyUnionRoomRequirements
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- msgbox OldaleTown_PokemonCenter_2F_Text_27961C, MSGBOX_DEFAULT
+ goto_if_eq CableClub_EventScript_AbortLink
+ msgbox CableClub_Text_EnjoyUnionRoom, MSGBOX_DEFAULT
closemessage
special HealPlayerParty
- setvar VAR_0x8004, 6
+ setvar VAR_0x8004, USING_UNION_ROOM
copyvar VAR_CABLE_CLUB_STATE, VAR_0x8004
- call OldaleTown_PokemonCenter_2F_EventScript_277BBE
+ call CableClub_EventScript_OpenUnionRoomBarrier
special DrawWholeMapView
playse SE_TK_KASYA
delay 60
- applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft
waitmovement 0
opendoor 5, 1
waitdooranim
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
closedoor 5, 1
waitdooranim
- special sub_8018090
+ special Script_ResetUnionRoomTrade
special SetCableClubWarp
warpteleport2 MAP_UNION_ROOM, 255, 7, 11
waitstate
@@ -1040,331 +976,327 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
waitstate
end
-OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626
+CableClub_EventScript_CheckPartyUnionRoomRequirements:: @ 8277626
specialvar VAR_RESULT, CountPartyNonEggMons
compare VAR_RESULT, 2
- goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_27764C
- specialvar VAR_RESULT, sub_80F9370
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27765A
+ goto_if_lt CableClub_EventScript_NeedTwoMonsForUnionRoom
+ specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry
+ compare VAR_RESULT, TRUE
+ goto_if_eq CableClub_EventScript_NoEnigmaBerryInUnionRoom
setvar VAR_RESULT, 1
return
-OldaleTown_PokemonCenter_2F_EventScript_27764C:: @ 827764C
- msgbox OldaleTown_PokemonCenter_2F_Text_27893E, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_273755
+CableClub_EventScript_NeedTwoMonsForUnionRoom:: @ 827764C
+ msgbox CableClub_Text_NeedTwoMonsForUnionRoom, MSGBOX_DEFAULT
+ goto EventScript_CableClub_SetVarResult0
end
-OldaleTown_PokemonCenter_2F_EventScript_27765A:: @ 827765A
- msgbox OldaleTown_PokemonCenter_2F_Text_27897B, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_273755
+CableClub_EventScript_NoEnigmaBerryInUnionRoom:: @ 827765A
+ msgbox CableClub_Text_NoEnigmaBerryInUnionRoom, MSGBOX_DEFAULT
+ goto EventScript_CableClub_SetVarResult0
end
-OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668
- msgbox OldaleTown_PokemonCenter_2F_Text_2789B5, MSGBOX_DEFAULT
+CableClub_EventScript_UnionRoomAdapterNotConnected:: @ 8277668
+ msgbox CableClub_Text_UnionRoomAdapterNotConnected, MSGBOX_DEFAULT
release
return
-OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672
+CableClub_EventScript_WirelessClubAttendant:: @ 8277672
lock
faceplayer
- goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335
- msgbox OldaleTown_PokemonCenter_2F_Text_279937, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27769A
- msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, MSGBOX_DEFAULT
+ goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements
+ msgbox CableClub_Text_AskAboutLinking, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq CableClub_EventScript_DontAskAboutLinking
+ msgbox CableClub_Text_ExplainWirelessClub, MSGBOX_DEFAULT
release
return
-OldaleTown_PokemonCenter_2F_EventScript_27769A:: @ 827769A
- msgbox OldaleTown_PokemonCenter_2F_Text_279C91, MSGBOX_DEFAULT
+CableClub_EventScript_DontAskAboutLinking:: @ 827769A
+ msgbox CableClub_Text_HopeYouEnjoyWirelessSystem, MSGBOX_DEFAULT
release
return
-OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4
+CableClub_EventScript_DirectCornerAttendant:: @ 82776A4
lock
faceplayer
- setvar VAR_FRONTIER_FACILITY, 9
- goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335
- specialvar VAR_RESULT, sub_813990C
- compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
+ setvar VAR_FRONTIER_FACILITY, FACILITY_MULTI_OR_EREADER @ Set preemptively for multi battles, ignored otherwise
+ goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements
+ specialvar VAR_RESULT, IsBadEggInParty
+ compare VAR_RESULT, TRUE
+ goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276E13
- message OldaleTown_PokemonCenter_2F_Text_279013
+ compare VAR_RESULT, FALSE
+ goto_if_eq CableClub_EventScript_WelcomeToCableClub
+ message CableClub_Text_WelcomeWhichDirectCornerRoom
waitmessage
delay 28
- goto OldaleTown_PokemonCenter_2F_EventScript_2776E3
+ goto CableClub_EventScript_DirectCornerSelectService
end
-OldaleTown_PokemonCenter_2F_EventScript_2776E3:: @ 82776E3
+CableClub_EventScript_DirectCornerSelectService:: @ 82776E3
checkitem ITEM_POWDER_JAR, 1
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27778B
- goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_27773E
- multichoice 0, 0, 78, 0
+ compare VAR_RESULT, FALSE
+ goto_if_eq CableClub_EventScript_DirectCornerNoBerry
+ goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_DirectCornerSelectAllServices
+ multichoice 0, 0, MULTI_WIRELESS_NO_RECORD, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
- case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2778F7
- case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_WirelessTrade
+ case 1, CableClub_EventScript_WirelessBattleSelect
+ case 2, CableClub_EventScript_WirelessBerryCrush
+ case 3, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_27773E:: @ 827773E
- multichoice 0, 0, 79, 0
+CableClub_EventScript_DirectCornerSelectAllServices:: @ 827773E
+ multichoice 0, 0, MULTI_WIRELESS_ALL_SERVICES, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
- case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9
- case 3, OldaleTown_PokemonCenter_2F_EventScript_2778F7
- case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_WirelessTrade
+ case 1, CableClub_EventScript_WirelessBattleSelect
+ case 2, CableClub_EventScript_WirelessRecordMix
+ case 3, CableClub_EventScript_WirelessBerryCrush
+ case 4, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_27778B:: @ 827778B
- goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_2777CB
- multichoice 0, 0, 75, 0
+CableClub_EventScript_DirectCornerNoBerry:: @ 827778B
+ goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_DirectCornerHasRecordMix
+ multichoice 0, 0, MULTI_WIRELESS_NO_RECORD_BERRY, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
- case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_WirelessTrade
+ case 1, CableClub_EventScript_WirelessBattleSelect
+ case 2, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB
- multichoice 0, 0, 77, 0
+CableClub_EventScript_DirectCornerHasRecordMix:: @ 82777CB
+ multichoice 0, 0, MULTI_WIRELESS_NO_BERRY, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
- case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9
- case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- end
-
-OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D
- msgbox OldaleTown_PokemonCenter_2F_Text_27909D, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- call OldaleTown_PokemonCenter_2F_EventScript_277199
+ case 0, CableClub_EventScript_WirelessTrade
+ case 1, CableClub_EventScript_WirelessBattleSelect
+ case 2, CableClub_EventScript_WirelessRecordMix
+ case 3, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
+ end
+
+CableClub_EventScript_WirelessTrade:: @ 827780D
+ msgbox CableClub_Text_TradePokemon, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq CableClub_EventScript_AbortLink
+ call CableClub_EventScript_CheckPartyTradeRequirements
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- setvar VAR_0x8004, 3
- goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ goto_if_eq CableClub_EventScript_AbortLink
+ setvar VAR_0x8004, LINK_GROUP_TRADE
+ goto CableClub_EventScript_SaveAndChooseLinkLeader
end
-OldaleTown_PokemonCenter_2F_EventScript_27783B:: @ 827783B
- message OldaleTown_PokemonCenter_2F_Text_2790BE
+CableClub_EventScript_WirelessBattleSelect:: @ 827783B
+ message CableClub_Text_PlayWhichBattleMode
waitmessage
- multichoice 0, 0, 18, 0
+ multichoice 0, 0, MULTI_BATTLE_MODE, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_27788E
- case 1, OldaleTown_PokemonCenter_2F_EventScript_277899
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2778C0
- case 3, OldaleTown_PokemonCenter_2F_EventScript_2778CB
- case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_WirelessSingleBattle
+ case 1, CableClub_EventScript_WirelessDoubleBattle
+ case 2, CableClub_EventScript_WirelessMultiBattle
+ case 3, CableClub_EventScript_WirelessBattleInfo
+ case 4, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_27788E:: @ 827788E
- setvar VAR_0x8004, 0
- goto OldaleTown_PokemonCenter_2F_EventScript_277931
+CableClub_EventScript_WirelessSingleBattle:: @ 827788E
+ setvar VAR_0x8004, LINK_GROUP_SINGLE_BATTLE
+ goto CableClub_EventScript_SaveAndChooseLinkLeader
end
-OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899
+CableClub_EventScript_WirelessDoubleBattle:: @ 8277899
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, 0
- goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_2778B2
- setvar VAR_0x8004, 1
- goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
+ goto_if_ne CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle
+ setvar VAR_0x8004, LINK_GROUP_DOUBLE_BATTLE
+ goto CableClub_EventScript_SaveAndChooseLinkLeader
end
-OldaleTown_PokemonCenter_2F_EventScript_2778B2:: @ 82778B2
- msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_27783B
+CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle:: @ 82778B2
+ msgbox CableClub_Text_NeedTwoMonsForDoubleBattle, MSGBOX_DEFAULT
+ goto CableClub_EventScript_WirelessBattleSelect
end
-OldaleTown_PokemonCenter_2F_EventScript_2778C0:: @ 82778C0
- setvar VAR_0x8004, 2
- goto OldaleTown_PokemonCenter_2F_EventScript_277931
+CableClub_EventScript_WirelessMultiBattle:: @ 82778C0
+ setvar VAR_0x8004, LINK_GROUP_MULTI_BATTLE
+ goto CableClub_EventScript_SaveAndChooseLinkLeader
end
-OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB
- msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_27783B
+CableClub_EventScript_WirelessBattleInfo:: @ 82778CB
+ msgbox CableClub_Text_ExplainBattleModes, MSGBOX_DEFAULT
+ goto CableClub_EventScript_WirelessBattleSelect
end
-OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9
- msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- setvar VAR_0x8004, 12
- goto OldaleTown_PokemonCenter_2F_EventScript_277931
+CableClub_EventScript_WirelessRecordMix:: @ 82778D9
+ msgbox CableClub_Text_AccessRecordCorner, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq CableClub_EventScript_AbortLink
+ setvar VAR_0x8004, LINK_GROUP_RECORD_CORNER
+ goto CableClub_EventScript_SaveAndChooseLinkLeader
end
-OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7
- msgbox OldaleTown_PokemonCenter_2F_Text_279114, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+CableClub_EventScript_WirelessBerryCrush:: @ 82778F7
+ msgbox CableClub_Text_UseBerryCrush, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq CableClub_EventScript_AbortLink
special HasAtLeastOneBerry
- compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277923
- setvar VAR_0x8004, 5
- goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ compare VAR_RESULT, FALSE
+ goto_if_eq CableClub_EventScript_NeedBerryForBerryCrush
+ setvar VAR_0x8004, LINK_GROUP_BERRY_CRUSH
+ goto CableClub_EventScript_SaveAndChooseLinkLeader
end
-OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923
- msgbox OldaleTown_PokemonCenter_2F_Text_2788FC, MSGBOX_DEFAULT
- goto OldaleTown_PokemonCenter_2F_EventScript_2776E3
+CableClub_EventScript_NeedBerryForBerryCrush:: @ 8277923
+ msgbox CableClub_Text_NeedBerryForBerryCrush, MSGBOX_DEFAULT
+ goto CableClub_EventScript_DirectCornerSelectService
end
-OldaleTown_PokemonCenter_2F_EventScript_277931:: @ 8277931
+CableClub_EventScript_SaveAndChooseLinkLeader:: @ 8277931
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq CableClub_EventScript_AbortLink
switch VAR_0x8004
- case 3, OldaleTown_PokemonCenter_2F_EventScript_277989
- case 0, OldaleTown_PokemonCenter_2F_EventScript_277989
- case 1, OldaleTown_PokemonCenter_2F_EventScript_277989
- case 2, OldaleTown_PokemonCenter_2F_EventScript_277A16
- case 5, OldaleTown_PokemonCenter_2F_EventScript_277AA3
- case 12, OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ case LINK_GROUP_TRADE, CableClub_EventScript_ChooseLinkLeaderFrom2
+ case LINK_GROUP_SINGLE_BATTLE, CableClub_EventScript_ChooseLinkLeaderFrom2
+ case LINK_GROUP_DOUBLE_BATTLE, CableClub_EventScript_ChooseLinkLeaderFrom2
+ case LINK_GROUP_MULTI_BATTLE, CableClub_EventScript_ChooseLinkLeaderFrom4
+ case LINK_GROUP_BERRY_CRUSH, CableClub_EventScript_ChooseLinkLeader
+ case LINK_GROUP_RECORD_CORNER, CableClub_EventScript_ChooseLinkLeader
end
-OldaleTown_PokemonCenter_2F_EventScript_277989:: @ 8277989
- message OldaleTown_PokemonCenter_2F_Text_2792CD
+CableClub_EventScript_ChooseLinkLeaderFrom2:: @ 8277989
+ message CableClub_Text_ChooseGroupLeaderOfTwo
waitmessage
- multichoice 16, 6, 81, 0
+ multichoice 16, 6, MULTI_LINK_LEADER, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_2779EE
- case 1, OldaleTown_PokemonCenter_2F_EventScript_2779C6
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_TryJoinGroup2Players
+ case 1, CableClub_EventScript_TryLeadGroup2Players
+ case 2, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_2779C6:: @ 82779C6
- call OldaleTown_PokemonCenter_2F_EventScript_277B30
+CableClub_EventScript_TryLeadGroup2Players:: @ 82779C6
+ call CableClub_EventScript_TryBecomeLinkLeader
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989
+ goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2
compare VAR_RESULT, 8
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6
+ goto_if_eq CableClub_EventScript_TryLeadGroup2Players
release
return
-OldaleTown_PokemonCenter_2F_EventScript_2779EE:: @ 82779EE
- call OldaleTown_PokemonCenter_2F_EventScript_277B35
+CableClub_EventScript_TryJoinGroup2Players:: @ 82779EE
+ call CableClub_EventScript_TryJoinLinkGroup
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989
+ goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2
compare VAR_RESULT, 8
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE
+ goto_if_eq CableClub_EventScript_TryJoinGroup2Players
release
return
-OldaleTown_PokemonCenter_2F_EventScript_277A16:: @ 8277A16
- message OldaleTown_PokemonCenter_2F_Text_279334
+CableClub_EventScript_ChooseLinkLeaderFrom4:: @ 8277A16
+ message CableClub_Text_ChooseGroupLeaderOfFour
waitmessage
- multichoice 16, 6, 81, 0
+ multichoice 16, 6, MULTI_LINK_LEADER, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_277A7B
- case 1, OldaleTown_PokemonCenter_2F_EventScript_277A53
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_TryJoinGroup4Players
+ case 1, CableClub_EventScript_TryLeadGroup4Players
+ case 2, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_277A53:: @ 8277A53
- call OldaleTown_PokemonCenter_2F_EventScript_277B30
+CableClub_EventScript_TryLeadGroup4Players:: @ 8277A53
+ call CableClub_EventScript_TryBecomeLinkLeader
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
+ goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4
compare VAR_RESULT, 8
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A53
+ goto_if_eq CableClub_EventScript_TryLeadGroup4Players
release
return
-OldaleTown_PokemonCenter_2F_EventScript_277A7B:: @ 8277A7B
- call OldaleTown_PokemonCenter_2F_EventScript_277B35
+CableClub_EventScript_TryJoinGroup4Players:: @ 8277A7B
+ call CableClub_EventScript_TryJoinLinkGroup
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
+ goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4
compare VAR_RESULT, 8
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B
+ goto_if_eq CableClub_EventScript_TryJoinGroup4Players
release
return
-OldaleTown_PokemonCenter_2F_EventScript_277AA3:: @ 8277AA3
- message OldaleTown_PokemonCenter_2F_Text_2793A3
+CableClub_EventScript_ChooseLinkLeader:: @ 8277AA3
+ message CableClub_Text_ChooseGroupLeader
waitmessage
- multichoice 16, 6, 81, 0
+ multichoice 16, 6, MULTI_LINK_LEADER, 0
switch VAR_RESULT
- case 0, OldaleTown_PokemonCenter_2F_EventScript_277B08
- case 1, OldaleTown_PokemonCenter_2F_EventScript_277AE0
- case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
- case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 0, CableClub_EventScript_TryJoinGroupXPlayers
+ case 1, CableClub_EventScript_TryLeadGroupXPlayers
+ case 2, CableClub_EventScript_AbortLink
+ case MULTI_B_PRESSED, CableClub_EventScript_AbortLink
end
-OldaleTown_PokemonCenter_2F_EventScript_277AE0:: @ 8277AE0
- call OldaleTown_PokemonCenter_2F_EventScript_277B30
+CableClub_EventScript_TryLeadGroupXPlayers:: @ 8277AE0
+ call CableClub_EventScript_TryBecomeLinkLeader
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ goto_if_eq CableClub_EventScript_ChooseLinkLeader
compare VAR_RESULT, 8
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0
+ goto_if_eq CableClub_EventScript_TryLeadGroupXPlayers
release
return
-OldaleTown_PokemonCenter_2F_EventScript_277B08:: @ 8277B08
- call OldaleTown_PokemonCenter_2F_EventScript_277B35
+CableClub_EventScript_TryJoinGroupXPlayers:: @ 8277B08
+ call CableClub_EventScript_TryJoinLinkGroup
compare VAR_RESULT, 1
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
compare VAR_RESULT, 5
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ goto_if_eq CableClub_EventScript_ChooseLinkLeader
compare VAR_RESULT, 8
- goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B08
+ goto_if_eq CableClub_EventScript_TryJoinGroupXPlayers
release
return
-BattleFrontier_BattleTowerLobby_EventScript_277B30:: @ 8277B30
-MossdeepCity_GameCorner_1F_EventScript_277B30:: @ 8277B30
-OldaleTown_PokemonCenter_2F_EventScript_277B30:: @ 8277B30
- special BerryBlenderLinkBecomeLeader
+CableClub_EventScript_TryBecomeLinkLeader:: @ 8277B30
+ special TryBecomeLinkLeader
waitstate
return
-BattleFrontier_BattleTowerLobby_EventScript_277B35:: @ 8277B35
-MossdeepCity_GameCorner_1F_EventScript_277B35:: @ 8277B35
-OldaleTown_PokemonCenter_2F_EventScript_277B35:: @ 8277B35
- special BerryBlenderLinkJoinGroup
+CableClub_EventScript_TryJoinLinkGroup:: @ 8277B35
+ special TryJoinLinkGroup
waitstate
return
-OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A
- messageautoscroll OldaleTown_PokemonCenter_2F_Text_2781A5
+CableClub_EventScript_EnterWirelessLinkRoom:: @ 8277B3A
+ messageautoscroll CableClub_Text_DirectYouToYourRoom
waitmessage
delay 60
closemessage
copyvar VAR_0x8007, VAR_LAST_TALKED
- call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ call CableClub_EventScript_OpenDirectCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
delay 60
- applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft
waitmovement 0
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterLinkRoom
waitmovement 0
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
closedoor 9, 1
waitdooranim
release
@@ -1373,730 +1305,229 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A
EventScript_WirelessBoxResults:: @ 8277B8A
lockall
- goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_27733F
+ goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_NotReadyYet
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, 0
- goto_if_eq EventScript_277BB4
- fadescreen 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq CableClub_EventScript_AdapterNotConnected
+ fadescreen FADE_TO_BLACK
special sub_801A42C
waitstate
- msgbox OldaleTown_PokemonCenter_2F_Text_27874F, MSGBOX_DEFAULT
+ msgbox CableClub_Text_ParticipantsStepUpToCounter, MSGBOX_DEFAULT
releaseall
end
-EventScript_277BB4:: @ 8277BB4
- msgbox OldaleTown_PokemonCenter_2F_Text_27871F, MSGBOX_DEFAULT
+CableClub_EventScript_AdapterNotConnected:: @ 8277BB4
+ msgbox CableClub_Text_AdapterNotConnected, MSGBOX_DEFAULT
releaseall
end
-OldaleTown_PokemonCenter_2F_EventScript_277BBE:: @ 8277BBE
+CableClub_EventScript_OpenUnionRoomBarrier:: @ 8277BBE
setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0
setmetatile 5, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0
return
-OldaleTown_PokemonCenter_2F_EventScript_277BD1:: @ 8277BD1
+CableClub_EventScript_CloseUnionRoomBarrier:: @ 8277BD1
setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1
setmetatile 5, 3, METATILE_PokemonCenter_CounterBarrier, 1
return
-OldaleTown_PokemonCenter_2F_EventScript_277BE4:: @ 8277BE4
+CableClub_EventScript_OpenDirectCornerBarrier:: @ 8277BE4
setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0
setmetatile 9, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0
return
-OldaleTown_PokemonCenter_2F_EventScript_277BF7:: @ 8277BF7
+CableClub_EventScript_CloseDirectCornerBarrier:: @ 8277BF7
setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1
setmetatile 9, 3, METATILE_PokemonCenter_CounterBarrier, 1
return
-MossdeepCity_GameCorner_1F_EventScript_277C0A:: @ 8277C0A
-OldaleTown_PokemonCenter_2F_EventScript_277C0A:: @ 8277C0A
+EventScript_OpenMossdeepGameCornerBarrier:: @ 8277C0A
setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterOpen_Top, 0
setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterOpen_Bottom, 0
return
-OldaleTown_PokemonCenter_2F_EventScript_277C1D:: @ 8277C1D
+EventScript_CloseMossdeepGameCornerBarrier:: @ 8277C1D
setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterClosed_Top, 1
setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterClosed_Bottom, 1
return
-BattleFrontier_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-DewfordTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-EverGrandeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-EverGrandeCity_PokemonLeague_1F_MapScript1_277C30: @ 8277C30
-FallarborTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-FortreeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-LavaridgeTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-LilycoveCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-MauvilleCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-MossdeepCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-OldaleTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-PacifidlogTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-PetalburgCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-RustboroCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-SlateportCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-SootopolisCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
-VerdanturfTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
- special sub_8016934
- end
-
-MossdeepCity_GameCorner_1F_EventScript_277C34:: @ 8277C34
+CableClub_OnResume: @ 8277C30
+ special InitUnionRoom
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_InfoMan2:: @ 8277C34
lock
faceplayer
- message MossdeepCity_GameCorner_1F_Text_278A7D
+ message MossdeepCity_GameCorner_1F_Text_DescribeWhichGame
waitmessage
- multichoice 0, 0, 80, 0
+ multichoice 0, 0, MULTI_WIRELESS_MINIGAME, 0
switch VAR_RESULT
- case 0, MossdeepCity_GameCorner_1F_EventScript_277C73
- case 1, MossdeepCity_GameCorner_1F_EventScript_277C7D
- case 2, MossdeepCity_GameCorner_1F_EventScript_277C87
- case 127, MossdeepCity_GameCorner_1F_EventScript_277C87
+ case 0, MossdeepCity_GameCorner_1F_EventScript_PokemonJumpInfo
+ case 1, MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingInfo
+ case 2, MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit
+ case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit
end
-MossdeepCity_GameCorner_1F_EventScript_277C73:: @ 8277C73
- msgbox MossdeepCity_GameCorner_1F_Text_278ACB, MSGBOX_DEFAULT
+MossdeepCity_GameCorner_1F_EventScript_PokemonJumpInfo:: @ 8277C73
+ msgbox MossdeepCity_GameCorner_1F_Text_PokemonJumpInfo, MSGBOX_DEFAULT
release
end
-MossdeepCity_GameCorner_1F_EventScript_277C7D:: @ 8277C7D
- msgbox MossdeepCity_GameCorner_1F_Text_278BF1, MSGBOX_DEFAULT
+MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingInfo:: @ 8277C7D
+ msgbox MossdeepCity_GameCorner_1F_Text_DodrioBerryPickingInfo, MSGBOX_DEFAULT
release
end
-MossdeepCity_GameCorner_1F_EventScript_277C87:: @ 8277C87
- msgbox MossdeepCity_GameCorner_1F_Text_278CAC, MSGBOX_DEFAULT
+MossdeepCity_GameCorner_1F_EventScript_MinigameInfoExit:: @ 8277C87
+ msgbox MossdeepCity_GameCorner_1F_Text_TalkToOldManToPlay, MSGBOX_DEFAULT
release
end
-MossdeepCity_GameCorner_1F_EventScript_277C91:: @ 8277C91
+MossdeepCity_GameCorner_1F_EventScript_OldMan2:: @ 8277C91
lock
faceplayer
- message MossdeepCity_GameCorner_1F_Text_278CEB
+ message MossdeepCity_GameCorner_1F_Text_WelcomeCanYouWait
waitmessage
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E48
+ compare VAR_RESULT, FALSE
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected
delay 60
- message MossdeepCity_GameCorner_1F_Text_278DAD
+ message MossdeepCity_GameCorner_1F_Text_PlayWhichGame
waitmessage
- multichoice 0, 0, 80, 0
+ multichoice 0, 0, MULTI_WIRELESS_MINIGAME, 0
switch VAR_RESULT
- case 0, MossdeepCity_GameCorner_1F_EventScript_277CE9
- case 1, MossdeepCity_GameCorner_1F_EventScript_277D35
- case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9
- case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ case 0, MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump
+ case 1, MossdeepCity_GameCorner_1F_EventScript_PlayDodrioBerryPicking
+ case 2, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
end
-MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9
+MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump:: @ 8277CE9
setvar VAR_0x8005, 0
- special sub_802C920
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55
- msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT
- fadescreen 1
+ special IsPokemonJumpSpeciesInParty
+ compare VAR_RESULT, FALSE
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon
+ msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
setvar VAR_0x8005, 0
- special sub_81B8958
+ special ChooseMonForWirelessMinigame
waitstate
- compare VAR_0x8004, 6
- goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9
+ compare VAR_0x8004, PARTY_SIZE
+ goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
- setvar VAR_0x8004, 4
- goto MossdeepCity_GameCorner_1F_EventScript_277D81
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ setvar VAR_0x8004, LINK_GROUP_POKEMON_JUMP
+ goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
end
-MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35
+MossdeepCity_GameCorner_1F_EventScript_PlayDodrioBerryPicking:: @ 8277D35
setvar VAR_0x8005, 1
- special sub_8027A5C
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55
- msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT
- fadescreen 1
+ special IsDodrioInParty
+ compare VAR_RESULT, FALSE
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon
+ msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
setvar VAR_0x8005, 1
- special sub_81B8958
+ special ChooseMonForWirelessMinigame
waitstate
- compare VAR_0x8004, 6
- goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9
+ compare VAR_0x8004, PARTY_SIZE
+ goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
- setvar VAR_0x8004, 6
- goto MossdeepCity_GameCorner_1F_EventScript_277D81
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ setvar VAR_0x8004, LINK_GROUP_BERRY_PICKING
+ goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
end
-MossdeepCity_GameCorner_1F_EventScript_277D81:: @ 8277D81
- message MossdeepCity_GameCorner_1F_Text_2793A3
+MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader:: @ 8277D81
+ message CableClub_Text_ChooseGroupLeader
waitmessage
- multichoice 16, 6, 81, 0
+ multichoice 16, 6, MULTI_LINK_LEADER, 0
switch VAR_RESULT
- case 0, MossdeepCity_GameCorner_1F_EventScript_277DE6
- case 1, MossdeepCity_GameCorner_1F_EventScript_277DBE
- case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9
- case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ case 0, MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup
+ case 1, MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader
+ case 2, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ case MULTI_B_PRESSED, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
end
-MossdeepCity_GameCorner_1F_EventScript_277DBE:: @ 8277DBE
- call MossdeepCity_GameCorner_1F_EventScript_277B30
+MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader:: @ 8277DBE
+ call CableClub_EventScript_TryBecomeLinkLeader
compare VAR_RESULT, 1
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
compare VAR_RESULT, 5
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
compare VAR_RESULT, 8
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DBE
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader
release
return
-MossdeepCity_GameCorner_1F_EventScript_277DE6:: @ 8277DE6
- call MossdeepCity_GameCorner_1F_EventScript_277B35
+MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup:: @ 8277DE6
+ call CableClub_EventScript_TryJoinLinkGroup
compare VAR_RESULT, 1
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
compare VAR_RESULT, 5
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
compare VAR_RESULT, 8
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DE6
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup
release
return
-MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E
- messageautoscroll MossdeepCity_GameCorner_1F_Text_278E00
+MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom:: @ 8277E0E
+ messageautoscroll MossdeepCity_GameCorner_1F_Text_AllGoodToGo
waitmessage
delay 60
closemessage
copyvar VAR_0x8007, VAR_LAST_TALKED
- call MossdeepCity_GameCorner_1F_EventScript_277C0A
+ call EventScript_OpenMossdeepGameCornerBarrier
special DrawWholeMapView
playse SE_TK_KASYA
delay 60
- applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D
+ applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft
waitmovement 0
closemessage
- applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_GameCorner_1F_Movement_277360
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_PlayerEnterMinigameRoom
waitmovement 0
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, 0
release
waitstate
end
-MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48
+MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected:: @ 8277E48
delay 60
- msgbox MossdeepCity_GameCorner_1F_Text_278D68, MSGBOX_DEFAULT
+ msgbox MossdeepCity_GameCorner_1F_Text_AdapterNotConnected, MSGBOX_DEFAULT
release
end
-MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55
- msgbox MossdeepCity_GameCorner_1F_Text_278E60, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
+MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon:: @ 8277E55
+ msgbox MossdeepCity_GameCorner_1F_Text_ExplainRequiredMon, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
compare VAR_0x8005, 0
- call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E84
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements
compare VAR_0x8005, 1
- call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E8D
- goto MossdeepCity_GameCorner_1F_EventScript_2772F9
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements
+ goto MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
end
-MossdeepCity_GameCorner_1F_EventScript_277E84:: @ 8277E84
- msgbox MossdeepCity_GameCorner_1F_Text_278EDC, MSGBOX_DEFAULT
+MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements:: @ 8277E84
+ msgbox MossdeepCity_GameCorner_1F_Text_ShortJumpingPokemonAllowed, MSGBOX_DEFAULT
return
-MossdeepCity_GameCorner_1F_EventScript_277E8D:: @ 8277E8D
- msgbox MossdeepCity_GameCorner_1F_Text_278FA4, MSGBOX_DEFAULT
+MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements:: @ 8277E8D
+ msgbox MossdeepCity_GameCorner_1F_Text_OnlyDodrioAllowed, MSGBOX_DEFAULT
return
-MossdeepCity_GameCorner_1F_EventScript_277E96:: @ 8277E96
+MossdeepCity_GameCorner_1F_EventScript_PokemonJumpRecords:: @ 8277E96
lockall
- special sub_802E3C4
+ special ShowPokemonJumpRecords
waitstate
releaseall
end
-MossdeepCity_GameCorner_1F_EventScript_277E9D:: @ 8277E9D
+MossdeepCity_GameCorner_1F_EventScript_DodrioBerryPickingRecords:: @ 8277E9D
lockall
- special sub_8027AAC
+ special ShowDodrioBerryPickingRecords
waitstate
releaseall
end
-OldaleTown_PokemonCenter_2F_Text_277EA4: @ 8277EA4
- .string "Welcome to the POKéMON CABLE\n"
- .string "CLUB.\p"
- .string "Which of our services do you wish\n"
- .string "to use?$"
-
-OldaleTown_PokemonCenter_2F_Text_277EF1: @ 8277EF1
- .string "Which of our services do you wish\n"
- .string "to use?$"
-
-OldaleTown_PokemonCenter_2F_Text_277F1B:: @ 8277F1B
- .string "Trade POKéMON with another player\n"
- .string "using a GBA Game Link cable.$"
-
-OldaleTown_PokemonCenter_2F_Text_277F5A:: @ 8277F5A
- .string "You may battle another TRAINER\n"
- .string "using a GBA Game Link cable.$"
-
-OldaleTown_PokemonCenter_2F_Text_277F96:: @ 8277F96
- .string "You can use the RECORD CORNER with\n"
- .string "others using a GBA Game Link cable.$"
-
-OldaleTown_PokemonCenter_2F_Text_277FDD: @ 8277FDD
- .string "Close this menu.$"
-
-OldaleTown_PokemonCenter_2F_Text_277FEE: @ 8277FEE
- .string "For a DOUBLE BATTLE, you must\n"
- .string "have at least two POKéMON.$"
-
-OldaleTown_PokemonCenter_2F_Text_278027: @ 8278027
- .string "For trading, you must have at\n"
- .string "least two POKéMON with you.$"
-
-OldaleTown_PokemonCenter_2F_Text_278061: @ 8278061
- .string "A POKéMON holding the {STR_VAR_1}\n"
- .string "BERRY can't be traded.$"
-
-gText_PleaseWaitForLink:: @ 8278091
- .string "Please wait.\n"
- .string "… … B Button: Cancel$"
-
-gText_ConfirmLinkWhenPlayersReady:: @ 82780B3
- .string "When all players are ready…\n"
- .string "A Button: Confirm\l"
- .string "B Button: Cancel$"
-
-gText_ConfirmStartLinkWithXPlayers:: @ 82780F2
- .string "Start link with {STR_VAR_1} players.\n"
- .string "A Button: Confirm\l"
- .string "B Button: Cancel$"
-
-gText_AwaitingLinkup:: @ 8278131
- .string "Awaiting linkup…\n"
- .string "… … B Button: Cancel$"
-
-OldaleTown_PokemonCenter_2F_Text_278157:: @ 8278157
- .string "Your progress must be saved before\n"
- .string "linking. Is it okay to save?$"
-
-OldaleTown_PokemonCenter_2F_Text_278197: @ 8278197
- .string "Please enter.$"
-
-OldaleTown_PokemonCenter_2F_Text_2781A5: @ 82781A5
- .string "I'll direct you to your room now.$"
-
-LilycoveCity_ContestLobby_Text_2781C7: @ 82781C7
-OldaleTown_PokemonCenter_2F_Text_2781C7: @ 82781C7
- .string "Someone is not ready to link.\p"
- .string "Please come back after everyone\n"
- .string "has made preparations.$"
-
-LilycoveCity_ContestLobby_Text_27821C: @ 827821C
-OldaleTown_PokemonCenter_2F_Text_27821C: @ 827821C
- .string "Sorry, we have a link error…\n"
- .string "Please reset and try again.$"
-
-BattleFrontier_BattleTowerLobby_Text_278255: @ 8278255
-LilycoveCity_ContestLobby_Text_278255: @ 8278255
-OldaleTown_PokemonCenter_2F_Text_278255: @ 8278255
- .string "The link partners appear to have\n"
- .string "made different selections.$"
-
-OldaleTown_PokemonCenter_2F_Text_278291: @ 8278291
- .string "Please do visit again.$"
-
-BattleFrontier_BattleTowerLobby_Text_2782A8: @ 82782A8
-OldaleTown_PokemonCenter_2F_Text_2782A8: @ 82782A8
- .string "The number of participants is\n"
- .string "incorrect.$"
-
-OldaleTown_PokemonCenter_2F_Text_2782D1: @ 82782D1
- .string "The SINGLE BATTLE Mode can't be\n"
- .string "played by {STR_VAR_1} players.$"
-
-OldaleTown_PokemonCenter_2F_Text_278307: @ 8278307
- .string "The DOUBLE BATTLE Mode can't be\n"
- .string "played by {STR_VAR_1} players.$"
-
-OldaleTown_PokemonCenter_2F_Text_27833D: @ 827833D
- .string "There must be four players to play\n"
- .string "this Battle Mode.$"
-
-OldaleTown_PokemonCenter_2F_Text_278372: @ 8278372
- .string "Please confirm the number of\n"
- .string "players and start again.$"
-
-Text_TerminateLinkConfirmation: @ 82783A8
- .string "The link will be terminated if you\n"
- .string "leave the room. Is that okay?$"
-
-Text_TerminateLinkPleaseWait: @ 82783E9
- .string "Terminating link…\n"
- .string "You will be escorted out of\l"
- .string "the room. Please wait.$"
-
-Text_27842E: @ 827842E
- .string "This TRAINER is too busy to\n"
- .string "notice…$"
-
-Text_278452: @ 8278452
- .string "Score! Got to look at {STR_VAR_1}'s\n"
- .string "TRAINER CARD!$"
-
-Text_27847B: @ 827847B
- .string "Score! Got to look at {STR_VAR_1}'s\n"
- .string "TRAINER CARD!\p"
- .string "It's a {STR_VAR_2} card!$"
-
-SingleBattleColosseum_Text_2784B4: @ 82784B4
- .string "Please take your place and start\n"
- .string "your battle.$"
-
-TradeCenter_Text_2784E2: @ 82784E2
- .string "Please take your seat and start\n"
- .string "your trade.$"
-
-RecordCorner_Text_27850E: @ 827850E
- .string "Thanks for coming.$"
-
-OldaleTown_PokemonCenter_2F_Text_278521: @ 8278521
- .string "The TRAINER CARD data will\n"
- .string "be overwritten.$"
-
-OldaleTown_PokemonCenter_2F_Text_27854C: @ 827854C
- .string "I hope to see you again!$"
-
-OldaleTown_PokemonCenter_2F_Text_278565: @ 8278565
- .string "I'm awfully sorry.\p"
- .string "We're not set up to conduct trades\n"
- .string "with TRAINERS far away in another\l"
- .string "region yet…$"
-
-OldaleTown_PokemonCenter_2F_Text_2785C9: @ 82785C9
- .string "The other TRAINER is not ready.$"
-
-OldaleTown_PokemonCenter_2F_Text_2785E9: @ 82785E9
- .string "You have at least one POKéMON\n"
- .string "that can't be taken.$"
-
-RecordCorner_Text_27861C: @ 827861C
- .string "Please take your seat and wait.$"
-
-RecordCorner_Text_27863C: @ 827863C
- .string "{STR_VAR_1} sent over one\n"
- .string "{STR_VAR_2}.$"
-
-OldaleTown_PokemonCenter_2F_Text_278651: @ 8278651
- .string "Sorry, there is a transmission error.\p"
- .string "You may not mix records with \n"
- .string "Japanese Ruby or Sapphire games.\p"
- .string "Also, you can't mix records with\n"
- .string "Japanese Emerald and overseas Ruby\l"
- .string "or Sapphire games at the same time.$"
-
-OldaleTown_PokemonCenter_2F_Text_27871F: @ 827871F
- .string "The Wireless Adapter is not\n"
- .string "connected properly.$"
-
-OldaleTown_PokemonCenter_2F_Text_27874F: @ 827874F
- .string "Participants are asked to step up\n"
- .string "to the reception counter.$"
-
-OldaleTown_PokemonCenter_2F_Text_27878B: @ 827878B
- .string "Hello!$"
-
-OldaleTown_PokemonCenter_2F_Text_278792: @ 8278792
- .string "Please wait.$"
-
-OldaleTown_PokemonCenter_2F_Text_27879F:: @ 827879F
- .string "You may trade your POKéMON here\n"
- .string "with another TRAINER.$"
-
-OldaleTown_PokemonCenter_2F_Text_2787D5:: @ 82787D5
- .string "You may battle with your friends\n"
- .string "here.$"
-
-OldaleTown_PokemonCenter_2F_Text_2787FC:: @ 82787FC
- .string "Two to five TRAINERS can make\n"
- .string "BERRY POWDER together.$"
-
-OldaleTown_PokemonCenter_2F_Text_278831:: @ 8278831
- .string "The records of two to four players\n"
- .string "can be mixed together.$"
-
-OldaleTown_PokemonCenter_2F_Text_27886B: @ 827886B
- .string "A guide to the WIRELESS CLUB's\n"
- .string "various services.$"
-
-OldaleTown_PokemonCenter_2F_Text_27889C:: @ 827889C
- .string "Cancels the selected MENU item.$"
-
-OldaleTown_PokemonCenter_2F_Text_2788BC: @ 82788BC
- .string "Which battle mode would you like?$"
-
-OldaleTown_PokemonCenter_2F_Text_2788DE: @ 82788DE
- .string "Returns to the previous step.$"
-
-OldaleTown_PokemonCenter_2F_Text_2788FC: @ 82788FC
- .string "To use the BERRY CRUSH service,\n"
- .string "you must have at least one BERRY.$"
-
-OldaleTown_PokemonCenter_2F_Text_27893E: @ 827893E
- .string "To enter the UNION ROOM, you must\n"
- .string "have at least two POKéMON.$"
-
-OldaleTown_PokemonCenter_2F_Text_27897B: @ 827897B
- .string "No POKéMON holding the {STR_VAR_1}\n"
- .string "BERRY may enter the UNION ROOM.$"
-
-OldaleTown_PokemonCenter_2F_Text_2789B5: @ 82789B5
- .string "This is the POKéMON WIRELESS CLUB\n"
- .string "UNION ROOM.\p"
- .string "Unfortunately, your Wireless\n"
- .string "Adapter is not connected properly.\p"
- .string "Please do come again.$"
-
-OldaleTown_PokemonCenter_2F_Text_278A39: @ 8278A39
- .string "Oh…\n"
- .string "Excuse me!$"
-
-OldaleTown_PokemonCenter_1F_Text_278A48: @ 8278A48
- .string "It appears as if {STR_VAR_1} is playing\n"
- .string "right now.\l"
- .string "Go for it!$"
-
-MossdeepCity_GameCorner_1F_Text_278A7D: @ 8278A7D
- .string "I can explain game rules to you,\n"
- .string "if you'd like.\p"
- .string "Which game should I describe?$"
-
-MossdeepCity_GameCorner_1F_Text_278ACB: @ 8278ACB
- .string "“POKéMON JUMP”\p"
- .string "Make your POKéMON skip the VINE WHIP\n"
- .string "rope with the A Button.\p"
- .string "Only mini POKéMON around 28 inches\n"
- .string "or less may participate.\p"
- .string "POKéMON that only swim, burrow,\n"
- .string "or fly are not good at jumping.\p"
- .string "As a result, those POKéMON may not\n"
- .string "participate.\p"
- .string "Good things happen if everyone\n"
- .string "jumps in time.$"
-
-MossdeepCity_GameCorner_1F_Text_278BF1: @ 8278BF1
- .string "“DODRIO BERRY-PICKING”\p"
- .string "Command DODRIO's three heads to\n"
- .string "catch falling BERRIES.\p"
- .string "Press right, up, or left on the\n"
- .string "{PLUS} Control Pad to move the heads.\p"
- .string "To play this game, you must have\n"
- .string "a DODRIO.$"
-
-MossdeepCity_GameCorner_1F_Text_278CAC: @ 8278CAC
- .string "If you want to play a game,\n"
- .string "please tell the old man beside me.$"
-
-MossdeepCity_GameCorner_1F_Text_278CEB: @ 8278CEB
- .string "Hi, welcome!\n"
- .string "Are you here to play games using\l"
- .string "Wireless Communication?\p"
- .string "Can you wait just a little bit?$"
-
-MossdeepCity_GameCorner_1F_Text_278D51: @ 8278D51
- .string "All right, come again!$"
-
-MossdeepCity_GameCorner_1F_Text_278D68: @ 8278D68
- .string "The Wireless Adapter isn't connected.\n"
- .string "Come back when it's hooked up!$"
-
-MossdeepCity_GameCorner_1F_Text_278DAD: @ 8278DAD
- .string "All right, which game did you want\n"
- .string "to play?$"
-
-MossdeepCity_GameCorner_1F_Text_278DD9: @ 8278DD9
- .string "Which POKéMON would you like to\n"
- .string "enter?$"
-
-MossdeepCity_GameCorner_1F_Text_278E00: @ 8278E00
- .string "Okay, you're all good to go.\n"
- .string "Don't let the others beat you!$"
-
-MossdeepCity_GameCorner_1F_Text_278E3C: @ 8278E3C
- .string "Are you leaving now?\n"
- .string "Do come again!$"
-
-MossdeepCity_GameCorner_1F_Text_278E60: @ 8278E60
- .string "It doesn't look like you have any\n"
- .string "POKéMON that you can enter…\p"
- .string "Would you like me to explain what\n"
- .string "kinds of POKéMON can enter?$"
-
-MossdeepCity_GameCorner_1F_Text_278EDC: @ 8278EDC
- .string "“POKéMON JUMP” is open to POKéMON\n"
- .string "around 28 inches or less.\p"
- .string "What you can't enter are those\n"
- .string "POKéMON that can't jump.\p"
- .string "You know, like POKéMON that only\n"
- .string "swim, burrow, or fly.\p"
- .string "That's all you need to know.$"
-
-MossdeepCity_GameCorner_1F_Text_278FA4: @ 8278FA4
- .string "DODRIO BERRY-PICKING is a game that \n"
- .string "only DODRIO may enter.$"
-
-MossdeepCity_GameCorner_1F_Text_278FE0: @ 8278FE0
- .string "Could you retry this from the start\n"
- .string "again, please?$"
-
-OldaleTown_PokemonCenter_2F_Text_279013: @ 8279013
- .string "Welcome to the POKéMON WIRELESS\n"
- .string "CLUB DIRECT CORNER.\p"
- .string "You may interact directly with\n"
- .string "your friends here.\p"
- .string "Which room would you like to\n"
- .string "enter?$"
-
-OldaleTown_PokemonCenter_2F_Text_27909D: @ 827909D
- .string "Would you like to trade POKéMON?$"
-
-OldaleTown_PokemonCenter_2F_Text_2790BE: @ 82790BE
- .string "Which Battle Mode would you like\n"
- .string "to play?$"
-
-OldaleTown_PokemonCenter_2F_Text_2790E8: @ 82790E8
- .string "Would you like to access\n"
- .string "the RECORD CORNER?$"
-
-OldaleTown_PokemonCenter_2F_Text_279114: @ 8279114
- .string "Would you like to use the\n"
- .string "BERRY CRUSH System?$"
-
-OldaleTown_PokemonCenter_2F_Text_279142: @ 8279142
- .string "There are three Battle Modes.\p"
- .string "SINGLE BATTLE is for two TRAINERS\n"
- .string "with one or more POKéMON each.\p"
- .string "Each TRAINER can have one POKéMON\n"
- .string "in battle at a time.\p"
- .string "DOUBLE BATTLE is for two TRAINERS\n"
- .string "with two or more POKéMON each.\p"
- .string "Each TRAINER will send out two\n"
- .string "POKéMON in battle at a time.\p"
- .string "MULTI BATTLE is for four TRAINERS\n"
- .string "with one or more POKéMON each.\p"
- .string "Each TRAINER can have one POKéMON\n"
- .string "in battle at a time.$"
-
-BattleFrontier_BattleTowerLobby_Text_2792CD: @ 82792CD
-OldaleTown_PokemonCenter_2F_Text_2792CD: @ 82792CD
- .string "Please decide which of you two\n"
- .string "will become the LEADER.\p"
- .string "The other player must then choose\n"
- .string "“JOIN GROUP.”$"
-
-OldaleTown_PokemonCenter_2F_Text_279334: @ 8279334
- .string "Please decide which of you four\n"
- .string "will become the GROUP LEADER.\p"
- .string "The other players must then choose\n"
- .string "“JOIN GROUP.”$"
-
-MossdeepCity_GameCorner_1F_Text_2793A3: @ 82793A3
-OldaleTown_PokemonCenter_2F_Text_2793A3: @ 82793A3
- .string "Please decide which of you will\n"
- .string "become the GROUP LEADER.\p"
- .string "The other players must then choose\n"
- .string "“JOIN GROUP.”$"
-
-OldaleTown_PokemonCenter_2F_Text_27940D: @ 827940D
- .string "Welcome to the POKéMON WIRELESS\n"
- .string "CLUB UNION ROOM.\p"
- .string "You may interact directly with\n"
- .string "other TRAINERS here, some of\l"
- .string "whom you may not even know.\p"
- .string "Would you like to enter the ROOM?$"
-
-OldaleTown_PokemonCenter_2F_Text_2794B8: @ 82794B8
- .string "The TRAINERS in the UNION ROOM\n"
- .string "will be those players around you\l"
- .string "who have also entered the ROOM.\p"
- .string "You may do all sorts of things\n"
- .string "here, such as exchanging greetings.\p"
- .string "You may enter two POKéMON up to\n"
- .string "Lv. 30 for a one-on-one battle.\p"
- .string "You may take part in a chat with\n"
- .string "two to five people.\p"
- .string "Or, you may register a POKéMON for\n"
- .string "trade.\p"
- .string "Would you like to enter the ROOM?$"
-
-OldaleTown_PokemonCenter_2F_Text_27961C: @ 827961C
- .string "I hope you enjoy your time in\n"
- .string "the UNION ROOM.$"
-
-OldaleTown_PokemonCenter_2F_Text_27964A: @ 827964A
- .string "Hello!\n"
- .string "My name is TEALA.\p"
- .string "This must be your first time\n"
- .string "up here.\p"
- .string "I'll show you how the Wireless\n"
- .string "Communication System works.\p"
- .string "First, I need to show you this\n"
- .string "floor of our POKéMON CENTER.\p"
- .string "Right this way, please.$"
-
-OldaleTown_PokemonCenter_2F_Text_279718: @ 8279718
- .string "On the top floor, there are two\n"
- .string "rooms.\p"
- .string "First, the room on the left.\n"
- .string "It's the UNION ROOM.\p"
- .string "You may link up with TRAINERS\n"
- .string "around you who have also entered\l"
- .string "the UNION ROOM.\p"
- .string "With them, you may do things like\n"
- .string "chat, battle, and trade.\p"
- .string "Second, the room on the right is\n"
- .string "the DIRECT CORNER.\p"
- .string "You may trade or battle POKéMON\n"
- .string "with your friends in this room.\p"
- .string "If the Wireless Adapter isn't\n"
- .string "connected, you may still link up\l"
- .string "using a GBA Game Link cable.\p"
- .string "If that is the case, you must go\n"
- .string "to the DIRECT CORNER.\p"
- .string "I hope you enjoy the Wireless \n"
- .string "Communication System.$"
-
-OldaleTown_PokemonCenter_2F_Text_279937: @ 8279937
- .string "Hello, {PLAYER}!\p"
- .string "It's me, TEALA, the POKéMON\n"
- .string "CENTER 2F attendant.\p"
- .string "Is there something you needed to\n"
- .string "ask me about linking?$"
-
-OldaleTown_PokemonCenter_2F_Text_2799AA: @ 82799AA
- .string "Let me explain how the POKéMON\n"
- .string "WIRELESS CLUB works.\p"
- .string "On this, the top floor, there are\n"
- .string "two rooms.\p"
- .string "First, the room on the left.\n"
- .string "It's the UNION ROOM.\p"
- .string "You may link up with TRAINERS\n"
- .string "around you who have also entered\l"
- .string "the UNION ROOM.\p"
- .string "With them, you may do things like\n"
- .string "chat, battle, and trade.\p"
- .string "Second, the room on the right is\n"
- .string "the DIRECT CORNER.\p"
- .string "You may trade or battle POKéMON\n"
- .string "with your friends in this room.\p"
- .string "Sometimes, you may not be able to\n"
- .string "find your friends in the UNION ROOM\l"
- .string "or the DIRECT CORNER.\p"
- .string "In that case, please move closer\n"
- .string "to your friends.\p"
- .string "If the Wireless Adapter isn't\n"
- .string "connected, you may still link up\l"
- .string "using a GBA Game Link cable.\p"
- .string "If that is the case, you must go\n"
- .string "to the DIRECT CORNER.\p"
- .string "I hope you enjoy the Wireless \n"
- .string "Communication System.$"
-
-OldaleTown_PokemonCenter_2F_Text_279C91: @ 8279C91
- .string "I hope you enjoy the Wireless\n"
- .string "Communication System.$"
diff --git a/data/scripts/cave_hole.inc b/data/scripts/cave_hole.inc
new file mode 100644
index 000000000..7f0dd5534
--- /dev/null
+++ b/data/scripts/cave_hole.inc
@@ -0,0 +1,33 @@
+CaveHole_CheckFallDownHole: @ 82A8327
+ map_script_2 VAR_ICE_STEP_COUNT, 0, EventScript_FallDownHole
+ .2byte 0
+
+CaveHole_FixCrackedGround: @ 82A8331
+ copyvar VAR_ICE_STEP_COUNT, 1
+ end
+
+EventScript_FallDownHole:: @ 82A8337
+ lockall
+ delay 20
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_SetInvisible
+ waitmovement 0
+ playse SE_RU_HYUU
+ delay 60
+ warphole MAP_UNDEFINED
+ waitstate
+ end
+
+EventScript_FallDownHoleMtPyre:: @ 82A8350
+ lockall
+ delay 20
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_SetInvisible
+ waitmovement 0
+ playse SE_RU_HYUU
+ delay 60
+ special DoFallWarp
+ waitstate
+ end
+
+Movement_SetInvisible: @ 82A8369
+ set_invisible
+ step_end
diff --git a/data/scripts/cave_of_origin.inc b/data/scripts/cave_of_origin.inc
new file mode 100644
index 000000000..52a1da84f
--- /dev/null
+++ b/data/scripts/cave_of_origin.inc
@@ -0,0 +1,45 @@
+@ All unused / leftover scripts from RS
+CaveOfOrigin_EventScript_LegendaryCry:: @ 8272274
+ lockall
+ waitse
+ playmoncry SPECIES_KYOGRE, 2 @ SPECIES_GROUDON in Ruby
+ waitmoncry
+ setvar VAR_TEMP_5, 1
+ releaseall
+ end
+
+CaveOfOrigin_EventScript_Shake1:: @ 8272283
+ lockall
+ setvar VAR_TEMP_1, 1
+ goto CaveOfOrigin_EventScript_Shake
+ end
+
+CaveOfOrigin_EventScript_Shake2:: @ 827228F
+ lockall
+ setvar VAR_TEMP_2, 1
+ goto CaveOfOrigin_EventScript_Shake
+ end
+
+CaveOfOrigin_EventScript_Shake3:: @ 827229B
+ lockall
+ setvar VAR_TEMP_3, 1
+ goto CaveOfOrigin_EventScript_Shake
+ end
+
+CaveOfOrigin_EventScript_Shake:: @ 82722A7
+ setvar VAR_0x8004, 1 @ vertical pan
+ setvar VAR_0x8005, 1 @ horizontal pan
+ setvar VAR_0x8006, 8 @ num shakes
+ setvar VAR_0x8007, 5 @ shake delay
+ special ShakeCamera
+ waitstate
+ releaseall
+ end
+
+CaveOfOrigin_EventScript_SetTempVars:: @ 82722C1
+ setvar VAR_TEMP_1, 1
+ setvar VAR_TEMP_2, 1
+ setvar VAR_TEMP_3, 1
+ setvar VAR_TEMP_4, 1
+ setvar VAR_TEMP_5, 1
+ return
diff --git a/data/scripts/check_furniture.inc b/data/scripts/check_furniture.inc
new file mode 100644
index 000000000..0a952f3c3
--- /dev/null
+++ b/data/scripts/check_furniture.inc
@@ -0,0 +1,27 @@
+EventScript_PictureBookShelf:: @ 82725CE
+ msgbox Text_PictureBookShelf, MSGBOX_SIGN
+ end
+
+EventScript_BookShelf:: @ 82725D7
+ msgbox Text_BookShelf, MSGBOX_SIGN
+ end
+
+EventScript_PokemonCenterBookShelf:: @ 82725E0
+ msgbox Text_PokemonCenterBookShelf, MSGBOX_SIGN
+ end
+
+EventScript_Vase:: @ 82725E9
+ msgbox Text_Vase, MSGBOX_SIGN
+ end
+
+EventScript_EmptyTrashCan:: @ 82725F2
+ msgbox Text_EmptyTrashCan, MSGBOX_SIGN
+ end
+
+EventScript_ShopShelf:: @ 82725FB
+ msgbox Text_ShopShelf, MSGBOX_SIGN
+ end
+
+EventScript_Blueprint:: @ 8272604
+ msgbox Text_Blueprint, MSGBOX_SIGN
+ end
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index 6c19cdc0c..9775c40dc 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -1,498 +1,509 @@
-LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5
+@ Either ends or returns to EventScript_ContestReceptionist after submitting a contest entry
+LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist:: @ 8279CC5
lock
faceplayer
compare VAR_CONTEST_PRIZE_PICKUP, 0
- goto_if_ne LilycoveCity_ContestLobby_EventScript_279D13
- call_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_279CEA
- call_if_unset FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_279CF3
- goto LilycoveCity_ContestLobby_EventScript_279D5A
+ goto_if_ne LilycoveCity_ContestLobby_EventScript_PickUpPrize
+ call_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_ReceptionWelcome
+ call_if_unset FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_GivePokeblockCase
+ goto LilycoveCity_ContestLobby_EventScript_AskEnterContest
end
-LilycoveCity_ContestLobby_EventScript_279CEA:: @ 8279CEA
- msgbox LilycoveCity_ContestLobby_Text_27AEA8, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_ReceptionWelcome:: @ 8279CEA
+ msgbox LilycoveCity_ContestLobby_Text_ContestReception, MSGBOX_DEFAULT
return
-LilycoveCity_ContestLobby_EventScript_279CF3:: @ 8279CF3
- msgbox LilycoveCity_ContestLobby_Text_27ADA7, MSGBOX_DEFAULT
- giveitem_std ITEM_POKEBLOCK_CASE
+LilycoveCity_ContestLobby_EventScript_GivePokeblockCase:: @ 8279CF3
+ msgbox LilycoveCity_ContestLobby_Text_ReceptionDontHavePokeblockCase, MSGBOX_DEFAULT
+ giveitem ITEM_POKEBLOCK_CASE
setflag FLAG_RECEIVED_POKEBLOCK_CASE
- msgbox LilycoveCity_ContestLobby_Text_27AE47, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_NowThatWeveClearedThatUp, MSGBOX_DEFAULT
return
-LilycoveCity_ContestLobby_EventScript_279D13:: @ 8279D13
- msgbox LilycoveCity_ContestLobby_Text_27B67B, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_PickUpPrize:: @ 8279D13
+ msgbox LilycoveCity_ContestLobby_Text_PokemonWonWeHavePrize, MSGBOX_DEFAULT
switch VAR_CONTEST_PRIZE_PICKUP
- case 4, LilycoveCity_ContestLobby_EventScript_279D2C
+ case 4, LilycoveCity_ContestLobby_EventScript_GiveLuxuryBallAtCounter
end
-LilycoveCity_ContestLobby_EventScript_279D2C:: @ 8279D2C
- giveitem_std ITEM_LUXURY_BALL
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_279D4B
+LilycoveCity_ContestLobby_EventScript_GiveLuxuryBallAtCounter:: @ 8279D2C
+ giveitem ITEM_LUXURY_BALL
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter
setvar VAR_CONTEST_PRIZE_PICKUP, 0
closemessage
release
end
-LilycoveCity_ContestLobby_EventScript_279D4B:: @ 8279D4B
+LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter:: @ 8279D4B
call Common_EventScript_BagIsFull
- msgbox LilycoveCity_ContestLobby_Text_27B6E7, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_ComeBackForPrizeLater, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_279D5A:: @ 8279D5A
- message LilycoveCity_ContestLobby_Text_27AF28
+LilycoveCity_ContestLobby_EventScript_AskEnterContest:: @ 8279D5A
+ message LilycoveCity_ContestLobby_Text_EnterContest1
waitmessage
- multichoice 0, 0, 2, 0
+ multichoice 0, 0, MULTI_ENTERINFO, 0
switch VAR_RESULT
- case 0, LilycoveCity_ContestLobby_EventScript_279E62
- case 1, LilycoveCity_ContestLobby_EventScript_279D97
- case 2, LilycoveCity_ContestLobby_EventScript_279E09
- case 127, LilycoveCity_ContestLobby_EventScript_279E09
+ case 0, LilycoveCity_ContestLobby_EventScript_ChooseContestRank
+ case 1, LilycoveCity_ContestLobby_EventScript_ContestInfo
+ case 2, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
end
-LilycoveCity_ContestLobby_EventScript_279D97:: @ 8279D97
- message LilycoveCity_ContestLobby_Text_27AF5E
+LilycoveCity_ContestLobby_EventScript_ContestInfo:: @ 8279D97
+ message LilycoveCity_ContestLobby_Text_WhichTopic1
waitmessage
- multichoice 0, 0, 3, 0
+ multichoice 0, 0, MULTI_CONTEST_INFO, 0
switch VAR_RESULT
- case 0, LilycoveCity_ContestLobby_EventScript_279DDF
- case 1, LilycoveCity_ContestLobby_EventScript_279DED
- case 2, LilycoveCity_ContestLobby_EventScript_279DFB
- case 3, LilycoveCity_ContestLobby_EventScript_279D5A
- case 127, LilycoveCity_ContestLobby_EventScript_279D5A
+ case 0, LilycoveCity_ContestLobby_EventScript_ExplainContests
+ case 1, LilycoveCity_ContestLobby_EventScript_ExplainContestTypes
+ case 2, LilycoveCity_ContestLobby_EventScript_ExplainContestRanks
+ case 3, LilycoveCity_ContestLobby_EventScript_AskEnterContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_AskEnterContest
end
-LilycoveCity_ContestLobby_EventScript_279DDF:: @ 8279DDF
- msgbox LilycoveCity_ContestLobby_Text_27AF7A, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_279D97
+LilycoveCity_ContestLobby_EventScript_ExplainContests:: @ 8279DDF
+ msgbox LilycoveCity_ContestLobby_Text_ExplainContests, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ContestInfo
end
-LilycoveCity_ContestLobby_EventScript_279DED:: @ 8279DED
- msgbox LilycoveCity_ContestLobby_Text_27B17D, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_279D97
+LilycoveCity_ContestLobby_EventScript_ExplainContestTypes:: @ 8279DED
+ msgbox LilycoveCity_ContestLobby_Text_ExplainContestTypes, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ContestInfo
end
-LilycoveCity_ContestLobby_EventScript_279DFB:: @ 8279DFB
- msgbox LilycoveCity_ContestLobby_Text_27B221, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_279D97
+LilycoveCity_ContestLobby_EventScript_ExplainContestRanks:: @ 8279DFB
+ msgbox LilycoveCity_ContestLobby_Text_ExplainContestRanks, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ContestInfo
end
-LilycoveCity_ContestLobby_EventScript_279E09:: @ 8279E09
- msgbox LilycoveCity_ContestLobby_Text_27BD4F, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_CancelEnterContest:: @ 8279E09
+ msgbox LilycoveCity_ContestLobby_Text_ParticipateAnotherTime, MSGBOX_DEFAULT
release
end
-LilycoveCity_ContestLobby_EventScript_279E13:: @ 8279E13
- msgbox LilycoveCity_ContestLobby_Text_27B44A, MSGBOX_DEFAULT
+LilycoveCity_ContestLobby_EventScript_ChooseContestMon:: @ 8279E13
+ msgbox LilycoveCity_ContestLobby_Text_EnterWhichPokemon1, MSGBOX_DEFAULT
choosecontestmon
compare VAR_0x8004, 255
- goto_if_eq LilycoveCity_ContestLobby_EventScript_279E09
- special sub_80F7F30
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_279F12
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_279F87
- compare VAR_RESULT, 2
- goto_if_eq LilycoveCity_ContestLobby_EventScript_279F45
- compare VAR_RESULT, 3
- goto_if_eq LilycoveCity_ContestLobby_EventScript_279F69
- compare VAR_RESULT, 4
- goto_if_eq LilycoveCity_ContestLobby_EventScript_279F78
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelEnterContest
+ special TryEnterContestMon
+ compare VAR_RESULT, CANT_ENTER_CONTEST
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterLowRank
+ compare VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMon
+ compare VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon
+ compare VAR_RESULT, CANT_ENTER_CONTEST_EGG
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterEgg
+ compare VAR_RESULT, CANT_ENTER_CONTEST_FAINTED
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterFainted
end
-LilycoveCity_ContestLobby_EventScript_279E62:: @ 8279E62
- message LilycoveCity_ContestLobby_Text_27B3FF
+LilycoveCity_ContestLobby_EventScript_ChooseContestRank:: @ 8279E62
+ message LilycoveCity_ContestLobby_Text_EnterWhichRank
waitmessage
- multichoice 0, 0, 82, 0
+ multichoice 0, 0, MULTI_CONTEST_RANK, 0
switch VAR_RESULT
- case 0, LilycoveCity_ContestLobby_EventScript_279EB5
- case 1, LilycoveCity_ContestLobby_EventScript_279EC0
- case 2, LilycoveCity_ContestLobby_EventScript_279ECB
- case 3, LilycoveCity_ContestLobby_EventScript_279ED6
- case 4, LilycoveCity_ContestLobby_EventScript_279E09
- case 127, LilycoveCity_ContestLobby_EventScript_279E09
+ case 0, LilycoveCity_ContestLobby_EventScript_EnterNormalRank
+ case 1, LilycoveCity_ContestLobby_EventScript_EnterSuperRank
+ case 2, LilycoveCity_ContestLobby_EventScript_EnterHyperRank
+ case 3, LilycoveCity_ContestLobby_EventScript_EnterMasterRank
+ case 4, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
end
-LilycoveCity_ContestLobby_EventScript_279EB5:: @ 8279EB5
- setvar VAR_CONTEST_RANK, 0
- goto LilycoveCity_ContestLobby_EventScript_279EE1
+LilycoveCity_ContestLobby_EventScript_EnterNormalRank:: @ 8279EB5
+ setvar VAR_CONTEST_RANK, CONTEST_RANK_NORMAL
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
-LilycoveCity_ContestLobby_EventScript_279EC0:: @ 8279EC0
- setvar VAR_CONTEST_RANK, 1
- goto LilycoveCity_ContestLobby_EventScript_279EE1
+LilycoveCity_ContestLobby_EventScript_EnterSuperRank:: @ 8279EC0
+ setvar VAR_CONTEST_RANK, CONTEST_RANK_SUPER
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
-LilycoveCity_ContestLobby_EventScript_279ECB:: @ 8279ECB
- setvar VAR_CONTEST_RANK, 2
- goto LilycoveCity_ContestLobby_EventScript_279EE1
+LilycoveCity_ContestLobby_EventScript_EnterHyperRank:: @ 8279ECB
+ setvar VAR_CONTEST_RANK, CONTEST_RANK_HYPER
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
-LilycoveCity_ContestLobby_EventScript_279ED6:: @ 8279ED6
- setvar VAR_CONTEST_RANK, 3
- goto LilycoveCity_ContestLobby_EventScript_279EE1
+LilycoveCity_ContestLobby_EventScript_EnterMasterRank:: @ 8279ED6
+ setvar VAR_CONTEST_RANK, CONTEST_RANK_MASTER
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestType
end
-LilycoveCity_ContestLobby_EventScript_279EE1:: @ 8279EE1
- message LilycoveCity_ContestLobby_Text_27B423
+@ The multichoice selection IDs are equal to the CATEGORY values
+@ So rather than list the cases they just copy VAR_RESULT for a valid selection into VAR_CONTEST_CATEGORY
+LilycoveCity_ContestLobby_EventScript_ChooseContestType:: @ 8279EE1
+ message LilycoveCity_ContestLobby_Text_EnterWhichContest1
waitmessage
- multichoice 0, 0, 4, 0
+ multichoice 0, 0, MULTI_CONTEST_TYPE, 0
switch VAR_RESULT
- case 5, LilycoveCity_ContestLobby_EventScript_279E09
- case 127, LilycoveCity_ContestLobby_EventScript_279E09
+ case 5, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
+ case MULTI_B_PRESSED, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
copyvar VAR_CONTEST_CATEGORY, VAR_RESULT
- goto LilycoveCity_ContestLobby_EventScript_279E13
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
end
-LilycoveCity_ContestLobby_EventScript_279F12:: @ 8279F12
- msgbox LilycoveCity_ContestLobby_Text_27B471, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_279E13
+LilycoveCity_ContestLobby_EventScript_CantEnterLowRank:: @ 8279F12
+ msgbox LilycoveCity_ContestLobby_Text_MonNotQualifiedForRank, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
release
end
-LilycoveCity_ContestLobby_EventScript_279F21:: @ 8279F21
- msgbox LilycoveCity_ContestLobby_Text_27B5C4, MSGBOX_YESNO
+@ Unused
+LilycoveCity_ContestLobby_EventScript_ConfirmEntry:: @ 8279F21
+ msgbox LilycoveCity_ContestLobby_Text_ConfirmContestMon, MSGBOX_YESNO
switch VAR_RESULT
- case 0, LilycoveCity_ContestLobby_EventScript_279E13
- case 1, LilycoveCity_ContestLobby_EventScript_279F87
+ case NO, LilycoveCity_ContestLobby_EventScript_ChooseContestMon
+ case YES, LilycoveCity_ContestLobby_EventScript_EnterMon
end
-LilycoveCity_ContestLobby_EventScript_279F45:: @ 8279F45
- msgbox LilycoveCity_ContestLobby_Text_27B547, MSGBOX_YESNO
+LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon:: @ 8279F45
+ msgbox LilycoveCity_ContestLobby_Text_AlreadyWonEnterAnyway, MSGBOX_YESNO
switch VAR_RESULT
- case 0, LilycoveCity_ContestLobby_EventScript_279E13
- case 1, LilycoveCity_ContestLobby_EventScript_279F87
+ case NO, LilycoveCity_ContestLobby_EventScript_ChooseContestMon
+ case YES, LilycoveCity_ContestLobby_EventScript_EnterMon
end
-LilycoveCity_ContestLobby_EventScript_279F69:: @ 8279F69
- msgbox LilycoveCity_ContestLobby_Text_27B4C4, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_279E13
+LilycoveCity_ContestLobby_EventScript_CantEnterEgg:: @ 8279F69
+ msgbox LilycoveCity_ContestLobby_Text_EggCannotTakePart, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
release
end
-LilycoveCity_ContestLobby_EventScript_279F78:: @ 8279F78
- msgbox LilycoveCity_ContestLobby_Text_27B501, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_279E13
+LilycoveCity_ContestLobby_EventScript_CantEnterFainted:: @ 8279F78
+ msgbox LilycoveCity_ContestLobby_Text_MonInNoConditionForContest, MSGBOX_DEFAULT
+ goto LilycoveCity_ContestLobby_EventScript_ChooseContestMon
release
end
-LilycoveCity_ContestLobby_EventScript_279F87:: @ 8279F87
- msgbox LilycoveCity_ContestLobby_Text_27B5E2, MSGBOX_DEFAULT
+@ The return here is back to LilycoveCity_ContestLobby_EventScript_ContestReceptionist
+LilycoveCity_ContestLobby_EventScript_EnterMon:: @ 8279F87
+ msgbox LilycoveCity_ContestLobby_Text_YourMonIsEntryNum4, MSGBOX_DEFAULT
closemessage
releaseall
- setvar VAR_LINK_CONTEST_ROOM_STATE, 1
+ setvar VAR_CONTEST_HALL_STATE, 1
return
-LinkContestRoom1_EventScript_279F97:: @ 8279F97
- special sub_80F90DC
+ContestHall_EventScript_DoContest:: @ 8279F97
+ special LinkContestTryShowWirelessIndicator
setvar VAR_0x8006, 0
lockall
- applymovement 14, LinkContestRoom1_Movement_27AD43
+ applymovement 14, ContestHall_Movement_Player4FaceUp
waitmovement 0
- applymovement 1, LinkContestRoom1_Movement_27AD09
+ applymovement 1, ContestHall_Movement_MCWalkDown
waitmovement 0
releaseall
- call LinkContestRoom1_EventScript_27A133
- call LinkContestRoom1_EventScript_279FF2
- call LinkContestRoom1_EventScript_27A03C
- call LinkContestRoom1_EventScript_27A097
- call LinkContestRoom1_EventScript_27A0F5
- call LinkContestRoom1_EventScript_27A801
- call LinkContestRoom1_EventScript_27A8A5
- call LinkContestRoom1_EventScript_27A987
- call LinkContestRoom1_EventScript_27A9D4
- call LinkContestRoom1_EventScript_27AA1B
- call LinkContestRoom1_EventScript_27AB36
- setvar VAR_LINK_CONTEST_ROOM_STATE, 2
- return
-
-LinkContestRoom1_EventScript_279FF2:: @ 8279FF2
+ call ContestHall_EventScript_TryWaitForLink
+ call ContestHall_EventScript_GetContestRankStringId
+ call ContestHall_EventScript_GetContestCategory
+ call ContestHall_EventScript_ContestGettingStarted
+ call ContestHall_EventScript_ShowContestMons
+ call ContestHall_EventScript_DoContestAppeals
+ call ContestHall_EventScript_ContestResults
+ call ContestHall_EventScript_GetWinnerObjEventId
+ call ContestHall_EventScript_CongratulateWinner
+ call ContestHall_EventScript_AudienceLookAround
+ call ContestHall_EventScript_GiveWinnerPrize
+ setvar VAR_CONTEST_HALL_STATE, 2
+ return
+
+ContestHall_EventScript_GetContestRankStringId:: @ 8279FF2
switch VAR_CONTEST_RANK
- case 0, LinkContestRoom1_EventScript_27A024
- case 1, LinkContestRoom1_EventScript_27A02A
- case 2, LinkContestRoom1_EventScript_27A030
- case 3, LinkContestRoom1_EventScript_27A036
+ case CONTEST_RANK_NORMAL, ContestHall_EventScript_GetNormalStringId
+ case CONTEST_RANK_SUPER, ContestHall_EventScript_GetSuperStringId
+ case CONTEST_RANK_HYPER, ContestHall_EventScript_GetHyperStringId
+ case CONTEST_RANK_MASTER, ContestHall_EventScript_GetMasterStringId
return
-LinkContestRoom1_EventScript_27A024:: @ 827A024
- setvar VAR_0x8009, 5
+ContestHall_EventScript_GetNormalStringId:: @ 827A024
+ setvar VAR_0x8009, STDSTRING_NORMAL
return
-LinkContestRoom1_EventScript_27A02A:: @ 827A02A
- setvar VAR_0x8009, 6
+ContestHall_EventScript_GetSuperStringId:: @ 827A02A
+ setvar VAR_0x8009, STDSTRING_SUPER
return
-LinkContestRoom1_EventScript_27A030:: @ 827A030
- setvar VAR_0x8009, 7
+ContestHall_EventScript_GetHyperStringId:: @ 827A030
+ setvar VAR_0x8009, STDSTRING_HYPER
return
-LinkContestRoom1_EventScript_27A036:: @ 827A036
- setvar VAR_0x8009, 8
+ContestHall_EventScript_GetMasterStringId:: @ 827A036
+ setvar VAR_0x8009, STDSTRING_MASTER
return
-LinkContestRoom1_EventScript_27A03C:: @ 827A03C
+@ This whole switch is equivalent to copyvar VAR_0x8008, VAR_CONTEST_CATEGORY
+ContestHall_EventScript_GetContestCategory:: @ 827A03C
switch VAR_CONTEST_CATEGORY
- case 0, LinkContestRoom1_EventScript_27A079
- case 1, LinkContestRoom1_EventScript_27A07F
- case 2, LinkContestRoom1_EventScript_27A085
- case 3, LinkContestRoom1_EventScript_27A08B
- case 4, LinkContestRoom1_EventScript_27A091
+ case CONTEST_CATEGORY_COOL, ContestHall_EventScript_GetCategoryCool
+ case CONTEST_CATEGORY_BEAUTY, ContestHall_EventScript_GetCategoryBeauty
+ case CONTEST_CATEGORY_CUTE, ContestHall_EventScript_GetCategoryCute
+ case CONTEST_CATEGORY_SMART, ContestHall_EventScript_GetCategorySmart
+ case CONTEST_CATEGORY_TOUGH, ContestHall_EventScript_GetCategoryTough
return
-LinkContestRoom1_EventScript_27A079:: @ 827A079
- setvar VAR_0x8008, 0
+ContestHall_EventScript_GetCategoryCool:: @ 827A079
+ setvar VAR_0x8008, CONTEST_CATEGORY_COOL
return
-LinkContestRoom1_EventScript_27A07F:: @ 827A07F
- setvar VAR_0x8008, 1
+ContestHall_EventScript_GetCategoryBeauty:: @ 827A07F
+ setvar VAR_0x8008, CONTEST_CATEGORY_BEAUTY
return
-LinkContestRoom1_EventScript_27A085:: @ 827A085
- setvar VAR_0x8008, 2
+ContestHall_EventScript_GetCategoryCute:: @ 827A085
+ setvar VAR_0x8008, CONTEST_CATEGORY_CUTE
return
-LinkContestRoom1_EventScript_27A08B:: @ 827A08B
- setvar VAR_0x8008, 3
+ContestHall_EventScript_GetCategorySmart:: @ 827A08B
+ setvar VAR_0x8008, CONTEST_CATEGORY_SMART
return
-LinkContestRoom1_EventScript_27A091:: @ 827A091
- setvar VAR_0x8008, 4
+ContestHall_EventScript_GetCategoryTough:: @ 827A091
+ setvar VAR_0x8008, CONTEST_CATEGORY_TOUGH
return
-LinkContestRoom1_EventScript_27A097:: @ 827A097
- buffercontesttypestring 1, 32776
+ContestHall_EventScript_ContestGettingStarted:: @ 827A097
+ buffercontesttypestring 1, VAR_0x8008
bufferstdstring 2, VAR_0x8009
- call LinkContestRoom1_EventScript_27A0B1
+ call ContestHall_EventScript_GettingStarted
lockall
- applymovement 1, LinkContestRoom1_Movement_27AD0B
+ applymovement 1, ContestHall_Movement_MCBackUp
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A0C7
+ContestHall_EventScript_GettingStarted:: @ 827A0B1
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_GettingStartedLink
lockall
- msgbox LinkContestRoom1_Text_27B711, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_GettingStartedParticipantsAsFollows, MSGBOX_DEFAULT
releaseall
return
-LinkContestRoom1_EventScript_27A0C7:: @ 827A0C7
- specialvar VAR_RESULT, sub_80F9160
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_27A0DE
- messageautoscroll LinkContestRoom1_Text_27B78F
+ContestHall_EventScript_GettingStartedLink:: @ 827A0C7
+ specialvar VAR_RESULT, IsWirelessContest
+ compare VAR_RESULT, TRUE
+ goto_if_eq ContestHall_EventScript_GettingStartedWireless
+ messageautoscroll ContestHall_Text_GettingStartedParticipantsAsFollowsLink
waitmessage
return
-LinkContestRoom1_EventScript_27A0DE:: @ 827A0DE
- messageautoscroll LinkContestRoom1_Text_27C929
+ContestHall_EventScript_GettingStartedWireless:: @ 827A0DE
+ messageautoscroll ContestHall_Text_GettingStartedWireless
waitmessage
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27C972
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_ParticipantsAsFollows
waitmessage
- call LinkContestRoom1_EventScript_27A133
+ call ContestHall_EventScript_TryWaitForLink
return
-LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5
- call LinkContestRoom1_EventScript_27A149
- call LinkContestRoom1_EventScript_27A1D2
- call LinkContestRoom1_EventScript_27A34F
- call LinkContestRoom1_EventScript_27A2D5
- call LinkContestRoom1_EventScript_27A77A
- call LinkContestRoom1_EventScript_27A133
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_ShowContestMons:: @ 827A0F5
+ call ContestHall_EventScript_ContestantWalkToCenter
+ call ContestHall_EventScript_ShowContestMonPic
+ call ContestHall_EventScript_AudienceHeartEmotes
+ call ContestHall_EventScript_AudienceReactToContestant
+ call ContestHall_EventScript_ContestantReturn
+ call ContestHall_EventScript_TryWaitForLink
+ call ContestHall_EventScript_TryWaitForLink
addvar VAR_0x8006, 1
- compare VAR_0x8006, 4
- goto_if_ne LinkContestRoom1_EventScript_27A0F5
- call LinkContestRoom1_EventScript_27A230
+ compare VAR_0x8006, CONTESTANT_COUNT
+ goto_if_ne ContestHall_EventScript_ShowContestMons
+ call ContestHall_EventScript_AudienceVote
setvar VAR_TEMP_1, 6
return
-LinkContestRoom1_EventScript_27A133:: @ 827A133
- specialvar VAR_RESULT, sub_80F9160
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_27A144
+ContestHall_EventScript_TryWaitForLink:: @ 827A133
+ specialvar VAR_RESULT, IsWirelessContest
+ compare VAR_RESULT, TRUE
+ goto_if_eq ContestHall_EventScript_WaitForLink
return
-LinkContestRoom1_EventScript_27A144:: @ 827A144
- special sub_80F905C
+ContestHall_EventScript_WaitForLink:: @ 827A144
+ special LinkContestWaitForConnection
waitstate
return
-LinkContestRoom1_EventScript_27A149:: @ 827A149
+ContestHall_EventScript_ContestantWalkToCenter:: @ 827A149
compare VAR_0x8006, 0
- goto_if_eq LinkContestRoom1_EventScript_27A176
+ goto_if_eq ContestHall_EventScript_Player1WalkToCenter
compare VAR_0x8006, 1
- goto_if_eq LinkContestRoom1_EventScript_27A18D
+ goto_if_eq ContestHall_EventScript_Player2WalkToCenter
compare VAR_0x8006, 2
- goto_if_eq LinkContestRoom1_EventScript_27A1A4
+ goto_if_eq ContestHall_EventScript_Player3WalkToCenter
compare VAR_0x8006, 3
- goto_if_eq LinkContestRoom1_EventScript_27A1BB
+ goto_if_eq ContestHall_EventScript_Player4WalkToCenter
return
-LinkContestRoom1_EventScript_27A176:: @ 827A176
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player1WalkToCenter:: @ 827A176
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement 3, LinkContestRoom1_Movement_27AD52
+ applymovement 3, ContestHall_Movement_Player1WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, 3
return
-LinkContestRoom1_EventScript_27A18D:: @ 827A18D
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player2WalkToCenter:: @ 827A18D
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement 4, LinkContestRoom1_Movement_27AD5E
+ applymovement 4, ContestHall_Movement_Player2WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, 4
return
-LinkContestRoom1_EventScript_27A1A4:: @ 827A1A4
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player3WalkToCenter:: @ 827A1A4
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement 5, LinkContestRoom1_Movement_27AD66
+ applymovement 5, ContestHall_Movement_Player3WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, 5
return
-LinkContestRoom1_EventScript_27A1BB:: @ 827A1BB
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player4WalkToCenter:: @ 827A1BB
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement 14, LinkContestRoom1_Movement_27AD6E
+ applymovement 14, ContestHall_Movement_Player4WalkToCenter
waitmovement 0
releaseall
setvar VAR_0x800B, 14
return
-LinkContestRoom1_EventScript_27A1D2:: @ 827A1D2
- special sub_80F8850
+ContestHall_EventScript_ShowContestMonPic:: @ 827A1D2
+ special BufferContestTrainerAndMonNames
addvar VAR_0x8006, 1
buffernumberstring 1, VAR_0x8006
lockall
- applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20
+ applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32
waitmovement 0
releaseall
- call LinkContestRoom1_EventScript_27A133
- call LinkContestRoom1_EventScript_27AD80
- addobject 13
+ call ContestHall_EventScript_TryWaitForLink
+ call ContestHall_EventScript_CheckIfContestWithRSPlayer
+ addobject 13 @ Place Poke Ball down
playse SE_DANSA
lockall
- applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20
+ applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32
waitmovement 0
releaseall
- addvar VAR_0x8006, 65535
+ addvar VAR_0x8006, -1
playse SE_BOWA2
special ShowContestEntryMonPic
- call LinkContestRoom1_EventScript_27A217
+ call ContestHall_EventScript_EntryXTrainersMon
return
-LinkContestRoom1_EventScript_27A217:: @ 827A217
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A229
- message LinkContestRoom1_Text_27B815
+ContestHall_EventScript_EntryXTrainersMon:: @ 827A217
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_EntryXTrainersMonLink
+ message ContestHall_Text_EntryXTrainersMon
waitmessage
return
-LinkContestRoom1_EventScript_27A229:: @ 827A229
- messageautoscroll LinkContestRoom1_Text_27B815
+ContestHall_EventScript_EntryXTrainersMonLink:: @ 827A229
+ messageautoscroll ContestHall_Text_EntryXTrainersMon
waitmessage
return
-LinkContestRoom1_EventScript_27A230:: @ 827A230
- call LinkContestRoom1_EventScript_27A26C
- call LinkContestRoom1_EventScript_27A2B9
+ContestHall_EventScript_AudienceVote:: @ 827A230
+ call ContestHall_EventScript_AudienceWillVote
+ call ContestHall_EventScript_VotingUnderWay
playse SE_W227B
waitmessage
- call LinkContestRoom1_EventScript_27AA1B
- applymovement 1, LinkContestRoom1_Movement_27AD23
+ call ContestHall_EventScript_AudienceLookAround
+ applymovement 1, ContestHall_Movement_MCFaceJudge2
waitmovement 0
- applymovement 2, LinkContestRoom1_Movement_27AD25
+ applymovement 2, ContestHall_Movement_JudgeFaceMC
waitmovement 0
delay 20
- applymovement 1, LinkContestRoom1_Movement_27AD13
- applymovement 2, LinkContestRoom1_Movement_27AD13
+ applymovement 1, ContestHall_Movement_FaceContestants
+ applymovement 2, ContestHall_Movement_FaceContestants
waitmovement 0
return
-LinkContestRoom1_EventScript_27A26C:: @ 827A26C
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A280
- msgbox LinkContestRoom1_Text_27B830, MSGBOX_DEFAULT
+ContestHall_EventScript_AudienceWillVote:: @ 827A26C
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_AudienceWillVoteLink
+ msgbox ContestHall_Text_SeenContestantsAudienceWillVote, MSGBOX_DEFAULT
return
-LinkContestRoom1_EventScript_27A280:: @ 827A280
- specialvar VAR_RESULT, sub_80F9160
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_27A297
- messageautoscroll LinkContestRoom1_Text_27B830
+ContestHall_EventScript_AudienceWillVoteLink:: @ 827A280
+ specialvar VAR_RESULT, IsWirelessContest
+ compare VAR_RESULT, TRUE
+ goto_if_eq ContestHall_EventScript_AudienceWillVoteWireless
+ messageautoscroll ContestHall_Text_SeenContestantsAudienceWillVote
waitmessage
return
-LinkContestRoom1_EventScript_27A297:: @ 827A297
- messageautoscroll LinkContestRoom1_Text_27C9AF
+ContestHall_EventScript_AudienceWillVoteWireless:: @ 827A297
+ messageautoscroll ContestHall_Text_WeveSeenContestants
waitmessage
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27CA04
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_AudienceWillVote
waitmessage
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27CA42
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_LetVotingBegin
waitmessage
- call LinkContestRoom1_EventScript_27A133
+ call ContestHall_EventScript_TryWaitForLink
return
-LinkContestRoom1_EventScript_27A2B9:: @ 827A2B9
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A2CA
- message LinkContestRoom1_Text_27B8F2
+ContestHall_EventScript_VotingUnderWay:: @ 827A2B9
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_VotingUnderWayLink
+ message ContestHall_Text_VotingUnderWay
return
-LinkContestRoom1_EventScript_27A2CA:: @ 827A2CA
- messageautoscroll LinkContestRoom1_Text_27B8F2
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_VotingUnderWayLink:: @ 827A2CA
+ messageautoscroll ContestHall_Text_VotingUnderWay
+ call ContestHall_EventScript_TryWaitForLink
return
-LinkContestRoom1_EventScript_27A2D5:: @ 827A2D5
- call LinkContestRoom1_EventScript_27A133
- applymovement 1, LinkContestRoom1_Movement_27AD33
+ContestHall_EventScript_AudienceReactToContestant:: @ 827A2D5
+ call ContestHall_EventScript_TryWaitForLink
+ applymovement 1, ContestHall_Movement_AudienceMemberLookLeft
waitmovement 0
playse SE_W227B
- call LinkContestRoom1_EventScript_27AA6F
- applymovement 9, LinkContestRoom1_Movement_27AD3B
- applymovement 12, LinkContestRoom1_Movement_27AD3F
- applymovement 7, LinkContestRoom1_Movement_27AD3B
+ call ContestHall_EventScript_VObjectAudienceLookAround
+ applymovement 9, ContestHall_Movement_AudienceMemberLookRight
+ applymovement 12, ContestHall_Movement_AudienceMemberLookDown
+ applymovement 7, ContestHall_Movement_AudienceMemberLookRight
waitmovement 0
- applymovement 1, LinkContestRoom1_Movement_27AD3B
+ applymovement 1, ContestHall_Movement_AudienceMemberLookRight
waitmovement 0
- applymovement 10, LinkContestRoom1_Movement_27AD33
- applymovement 11, LinkContestRoom1_Movement_27AD3F
- applymovement 6, LinkContestRoom1_Movement_27AD37
- applymovement 8, LinkContestRoom1_Movement_27AD33
+ applymovement 10, ContestHall_Movement_AudienceMemberLookLeft
+ applymovement 11, ContestHall_Movement_AudienceMemberLookDown
+ applymovement 6, ContestHall_Movement_AudienceMemberLookUp
+ applymovement 8, ContestHall_Movement_AudienceMemberLookLeft
waitmovement 0
- applymovement 1, LinkContestRoom1_Movement_27AD45
+ applymovement 1, ContestHall_Movement_MCLookAtJudge
waitmovement 0
- applymovement 1, LinkContestRoom1_Movement_27AD4E
- applymovement 2, LinkContestRoom1_Movement_27AD49
+ applymovement 1, ContestHall_Movement_MCWalkInPlaceDown
+ applymovement 2, ContestHall_Movement_JudgeLookAtMC
waitmovement 0
releaseall
- call LinkContestRoom1_EventScript_27A133
- return
-
-LinkContestRoom1_EventScript_27A34F:: @ 827A34F
- special sub_80F82FC
- compare VAR_CONTEST_LOCATION, 1
- call_if_eq LinkContestRoom1_EventScript_27A454
- compare VAR_CONTEST_LOCATION, 2
- call_if_eq LinkContestRoom1_EventScript_27A4B2
- compare VAR_CONTEST_LOCATION, 3
- call_if_eq LinkContestRoom1_EventScript_27A510
- compare VAR_CONTEST_LOCATION, 4
- call_if_eq LinkContestRoom1_EventScript_27A56E
- compare VAR_CONTEST_LOCATION, 5
- call_if_eq LinkContestRoom1_EventScript_27A5CC
+ call ContestHall_EventScript_TryWaitForLink
+ return
+
+@ For below VAR_TEMP_0 is the number of heart emotes to try to display in the audience
+@ The number of hearts to try to display is based on the condition of the presented pokemon and the rank
+@ For each heart to display a random audience member is chosen, and a new one chosen if they already displayed a heart
+@ VAR_TEMP_1 through VAR_TEMP_8 represent each of the 8 audience members that are actual event objects
+@ and are set to 9 if they havent displayed a heart yet, and 1 if they have
+ContestHall_EventScript_AudienceHeartEmotes:: @ 827A34F
+ special GetContestMonCondition
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL
+ call_if_eq ContestHall_EventScript_GetNumberOfHeartsNormal
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER
+ call_if_eq ContestHall_EventScript_GetNumberOfHeartsSuper
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_HYPER
+ call_if_eq ContestHall_EventScript_GetNumberOfHeartsHyper
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_MASTER
+ call_if_eq ContestHall_EventScript_GetNumberOfHeartsMaster
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ call_if_eq ContestHall_EventScript_GetNumberOfHeartsLink
setvar VAR_TEMP_1, 9
setvar VAR_TEMP_2, 9
setvar VAR_TEMP_3, 9
@@ -502,7 +513,7 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F
setvar VAR_TEMP_7, 9
setvar VAR_TEMP_8, 9
compare VAR_TEMP_0, 0
- call_if_gt LinkContestRoom1_EventScript_27A3E5
+ call_if_gt ContestHall_EventScript_DisplayHearts
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
setvar VAR_TEMP_3, 0
@@ -513,800 +524,803 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F
setvar VAR_TEMP_8, 0
return
-LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5
+ContestHall_EventScript_DisplayHearts:: @ 827A3E5
setvar VAR_RESULT, 8
special ScriptRandom
compare VAR_RESULT, 0
- call_if_eq LinkContestRoom1_EventScript_27A65A
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember1
compare VAR_RESULT, 1
- call_if_eq LinkContestRoom1_EventScript_27A67E
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember2
compare VAR_RESULT, 2
- call_if_eq LinkContestRoom1_EventScript_27A6A2
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember3
compare VAR_RESULT, 3
- call_if_eq LinkContestRoom1_EventScript_27A6C6
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember4
compare VAR_RESULT, 4
- call_if_eq LinkContestRoom1_EventScript_27A6EA
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember5
compare VAR_RESULT, 5
- call_if_eq LinkContestRoom1_EventScript_27A70E
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember6
compare VAR_RESULT, 6
- call_if_eq LinkContestRoom1_EventScript_27A732
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember7
compare VAR_RESULT, 7
- call_if_eq LinkContestRoom1_EventScript_27A756
- compare VAR_TEMP_0, 0
- goto_if_gt LinkContestRoom1_EventScript_27A3E5
+ call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember8
+ compare VAR_TEMP_0, 0 @ Still more hearts to display
+ goto_if_gt ContestHall_EventScript_DisplayHearts
waitmovement 0
return
-LinkContestRoom1_EventScript_27A454:: @ 827A454
+ContestHall_EventScript_GetNumberOfHeartsNormal:: @ 827A454
compare VAR_0x8004, 80
- goto_if_gt LinkContestRoom1_EventScript_27A654
+ goto_if_gt ContestHall_EventScript_Set8Hearts
compare VAR_0x8004, 70
- goto_if_gt LinkContestRoom1_EventScript_27A64E
+ goto_if_gt ContestHall_EventScript_Set7Hearts
compare VAR_0x8004, 60
- goto_if_gt LinkContestRoom1_EventScript_27A648
+ goto_if_gt ContestHall_EventScript_Set6Hearts
compare VAR_0x8004, 50
- goto_if_gt LinkContestRoom1_EventScript_27A642
+ goto_if_gt ContestHall_EventScript_Set5Hearts
compare VAR_0x8004, 40
- goto_if_gt LinkContestRoom1_EventScript_27A63C
+ goto_if_gt ContestHall_EventScript_Set4Hearts
compare VAR_0x8004, 30
- goto_if_gt LinkContestRoom1_EventScript_27A636
+ goto_if_gt ContestHall_EventScript_Set3Hearts
compare VAR_0x8004, 20
- goto_if_gt LinkContestRoom1_EventScript_27A630
+ goto_if_gt ContestHall_EventScript_Set2Hearts
compare VAR_0x8004, 10
- goto_if_gt LinkContestRoom1_EventScript_27A62A
+ goto_if_gt ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
-LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2
+ContestHall_EventScript_GetNumberOfHeartsSuper:: @ 827A4B2
compare VAR_0x8004, 230
- goto_if_gt LinkContestRoom1_EventScript_27A654
+ goto_if_gt ContestHall_EventScript_Set8Hearts
compare VAR_0x8004, 210
- goto_if_gt LinkContestRoom1_EventScript_27A64E
+ goto_if_gt ContestHall_EventScript_Set7Hearts
compare VAR_0x8004, 190
- goto_if_gt LinkContestRoom1_EventScript_27A648
+ goto_if_gt ContestHall_EventScript_Set6Hearts
compare VAR_0x8004, 170
- goto_if_gt LinkContestRoom1_EventScript_27A642
+ goto_if_gt ContestHall_EventScript_Set5Hearts
compare VAR_0x8004, 150
- goto_if_gt LinkContestRoom1_EventScript_27A63C
+ goto_if_gt ContestHall_EventScript_Set4Hearts
compare VAR_0x8004, 130
- goto_if_gt LinkContestRoom1_EventScript_27A636
+ goto_if_gt ContestHall_EventScript_Set3Hearts
compare VAR_0x8004, 110
- goto_if_gt LinkContestRoom1_EventScript_27A630
+ goto_if_gt ContestHall_EventScript_Set2Hearts
compare VAR_0x8004, 90
- goto_if_gt LinkContestRoom1_EventScript_27A62A
+ goto_if_gt ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
-LinkContestRoom1_EventScript_27A510:: @ 827A510
+ContestHall_EventScript_GetNumberOfHeartsHyper:: @ 827A510
compare VAR_0x8004, 380
- goto_if_gt LinkContestRoom1_EventScript_27A654
+ goto_if_gt ContestHall_EventScript_Set8Hearts
compare VAR_0x8004, 350
- goto_if_gt LinkContestRoom1_EventScript_27A64E
+ goto_if_gt ContestHall_EventScript_Set7Hearts
compare VAR_0x8004, 320
- goto_if_gt LinkContestRoom1_EventScript_27A648
+ goto_if_gt ContestHall_EventScript_Set6Hearts
compare VAR_0x8004, 290
- goto_if_gt LinkContestRoom1_EventScript_27A642
+ goto_if_gt ContestHall_EventScript_Set5Hearts
compare VAR_0x8004, 260
- goto_if_gt LinkContestRoom1_EventScript_27A63C
+ goto_if_gt ContestHall_EventScript_Set4Hearts
compare VAR_0x8004, 230
- goto_if_gt LinkContestRoom1_EventScript_27A636
+ goto_if_gt ContestHall_EventScript_Set3Hearts
compare VAR_0x8004, 200
- goto_if_gt LinkContestRoom1_EventScript_27A630
+ goto_if_gt ContestHall_EventScript_Set2Hearts
compare VAR_0x8004, 170
- goto_if_gt LinkContestRoom1_EventScript_27A62A
+ goto_if_gt ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
-LinkContestRoom1_EventScript_27A56E:: @ 827A56E
+ContestHall_EventScript_GetNumberOfHeartsMaster:: @ 827A56E
compare VAR_0x8004, 600
- goto_if_gt LinkContestRoom1_EventScript_27A654
+ goto_if_gt ContestHall_EventScript_Set8Hearts
compare VAR_0x8004, 560
- goto_if_gt LinkContestRoom1_EventScript_27A64E
+ goto_if_gt ContestHall_EventScript_Set7Hearts
compare VAR_0x8004, 520
- goto_if_gt LinkContestRoom1_EventScript_27A648
+ goto_if_gt ContestHall_EventScript_Set6Hearts
compare VAR_0x8004, 480
- goto_if_gt LinkContestRoom1_EventScript_27A642
+ goto_if_gt ContestHall_EventScript_Set5Hearts
compare VAR_0x8004, 440
- goto_if_gt LinkContestRoom1_EventScript_27A63C
+ goto_if_gt ContestHall_EventScript_Set4Hearts
compare VAR_0x8004, 400
- goto_if_gt LinkContestRoom1_EventScript_27A636
+ goto_if_gt ContestHall_EventScript_Set3Hearts
compare VAR_0x8004, 360
- goto_if_gt LinkContestRoom1_EventScript_27A630
+ goto_if_gt ContestHall_EventScript_Set2Hearts
compare VAR_0x8004, 320
- goto_if_gt LinkContestRoom1_EventScript_27A62A
+ goto_if_gt ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
-LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC
+ContestHall_EventScript_GetNumberOfHeartsLink:: @ 827A5CC
compare VAR_0x8004, 600
- goto_if_gt LinkContestRoom1_EventScript_27A654
+ goto_if_gt ContestHall_EventScript_Set8Hearts
compare VAR_0x8004, 550
- goto_if_gt LinkContestRoom1_EventScript_27A64E
+ goto_if_gt ContestHall_EventScript_Set7Hearts
compare VAR_0x8004, 500
- goto_if_gt LinkContestRoom1_EventScript_27A648
+ goto_if_gt ContestHall_EventScript_Set6Hearts
compare VAR_0x8004, 450
- goto_if_gt LinkContestRoom1_EventScript_27A642
+ goto_if_gt ContestHall_EventScript_Set5Hearts
compare VAR_0x8004, 400
- goto_if_gt LinkContestRoom1_EventScript_27A63C
+ goto_if_gt ContestHall_EventScript_Set4Hearts
compare VAR_0x8004, 300
- goto_if_gt LinkContestRoom1_EventScript_27A636
+ goto_if_gt ContestHall_EventScript_Set3Hearts
compare VAR_0x8004, 200
- goto_if_gt LinkContestRoom1_EventScript_27A630
+ goto_if_gt ContestHall_EventScript_Set2Hearts
compare VAR_0x8004, 100
- goto_if_gt LinkContestRoom1_EventScript_27A62A
+ goto_if_gt ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
-LinkContestRoom1_EventScript_27A62A:: @ 827A62A
+ContestHall_EventScript_Set1Heart:: @ 827A62A
setvar VAR_TEMP_0, 1
return
-LinkContestRoom1_EventScript_27A630:: @ 827A630
+ContestHall_EventScript_Set2Hearts:: @ 827A630
setvar VAR_TEMP_0, 2
return
-LinkContestRoom1_EventScript_27A636:: @ 827A636
+ContestHall_EventScript_Set3Hearts:: @ 827A636
setvar VAR_TEMP_0, 3
return
-LinkContestRoom1_EventScript_27A63C:: @ 827A63C
+ContestHall_EventScript_Set4Hearts:: @ 827A63C
setvar VAR_TEMP_0, 4
return
-LinkContestRoom1_EventScript_27A642:: @ 827A642
+ContestHall_EventScript_Set5Hearts:: @ 827A642
setvar VAR_TEMP_0, 5
return
-LinkContestRoom1_EventScript_27A648:: @ 827A648
+ContestHall_EventScript_Set6Hearts:: @ 827A648
setvar VAR_TEMP_0, 6
return
-LinkContestRoom1_EventScript_27A64E:: @ 827A64E
+ContestHall_EventScript_Set7Hearts:: @ 827A64E
setvar VAR_TEMP_0, 7
return
-LinkContestRoom1_EventScript_27A654:: @ 827A654
+ContestHall_EventScript_Set8Hearts:: @ 827A654
setvar VAR_TEMP_0, 8
return
-LinkContestRoom1_EventScript_27A65A:: @ 827A65A
+ContestHall_EventScript_TryDisplayHeartAudienceMember1:: @ 827A65A
compare VAR_TEMP_1, 1
- goto_if_eq LinkContestRoom1_EventScript_27A67D
- applymovement 6, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_AudienceMember1AlreadyEmoted
+ applymovement 6, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_1, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A67D:: @ 827A67D
+ContestHall_EventScript_AudienceMember1AlreadyEmoted:: @ 827A67D
return
-LinkContestRoom1_EventScript_27A67E:: @ 827A67E
+ContestHall_EventScript_TryDisplayHeartAudienceMember2:: @ 827A67E
compare VAR_TEMP_2, 1
- goto_if_eq LinkContestRoom1_EventScript_27A6A1
- applymovement 12, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_AudienceMember2AlreadyEmoted
+ applymovement 12, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_2, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A6A1:: @ 827A6A1
+ContestHall_EventScript_AudienceMember2AlreadyEmoted:: @ 827A6A1
return
-LinkContestRoom1_EventScript_27A6A2:: @ 827A6A2
+ContestHall_EventScript_TryDisplayHeartAudienceMember3:: @ 827A6A2
compare VAR_TEMP_3, 1
- goto_if_eq LinkContestRoom1_EventScript_27A6C5
- applymovement 7, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_AudienceMember3AlreadyEmoted
+ applymovement 7, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_3, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A6C5:: @ 827A6C5
+ContestHall_EventScript_AudienceMember3AlreadyEmoted:: @ 827A6C5
return
-LinkContestRoom1_EventScript_27A6C6:: @ 827A6C6
+ContestHall_EventScript_TryDisplayHeartAudienceMember4:: @ 827A6C6
compare VAR_TEMP_4, 1
- goto_if_eq LinkContestRoom1_EventScript_27A6E9
- applymovement 8, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_Audience4MemberAlreadyEmoted
+ applymovement 8, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_4, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A6E9:: @ 827A6E9
+ContestHall_EventScript_Audience4MemberAlreadyEmoted:: @ 827A6E9
return
-LinkContestRoom1_EventScript_27A6EA:: @ 827A6EA
+ContestHall_EventScript_TryDisplayHeartAudienceMember5:: @ 827A6EA
compare VAR_TEMP_5, 1
- goto_if_eq LinkContestRoom1_EventScript_27A70D
- applymovement 9, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_AudienceMember5AlreadyEmoted
+ applymovement 9, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_5, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A70D:: @ 827A70D
+ContestHall_EventScript_AudienceMember5AlreadyEmoted:: @ 827A70D
return
-LinkContestRoom1_EventScript_27A70E:: @ 827A70E
+ContestHall_EventScript_TryDisplayHeartAudienceMember6:: @ 827A70E
compare VAR_TEMP_6, 1
- goto_if_eq LinkContestRoom1_EventScript_27A731
- applymovement 10, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_AudienceMember6AlreadyEmoted
+ applymovement 10, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_6, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A731:: @ 827A731
+ContestHall_EventScript_AudienceMember6AlreadyEmoted:: @ 827A731
return
-LinkContestRoom1_EventScript_27A732:: @ 827A732
+ContestHall_EventScript_TryDisplayHeartAudienceMember7:: @ 827A732
compare VAR_TEMP_7, 1
- goto_if_eq LinkContestRoom1_EventScript_27A755
- applymovement 11, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_AudienceMember7AlreadyEmoted
+ applymovement 11, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_7, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A755:: @ 827A755
+ContestHall_EventScript_AudienceMember7AlreadyEmoted:: @ 827A755
return
-LinkContestRoom1_EventScript_27A756:: @ 827A756
+ContestHall_EventScript_TryDisplayHeartAudienceMember8:: @ 827A756
compare VAR_TEMP_8, 1
- goto_if_eq LinkContestRoom1_EventScript_27A779
- applymovement 15, LinkContestRoom1_Movement_27AD11
+ goto_if_eq ContestHall_EventScript_AudienceMember8AlreadyEmoted
+ applymovement 15, ContestHall_Movement_Heart
playse SE_PIN
delay 14
setvar VAR_TEMP_8, 1
- addvar VAR_TEMP_0, 65535
+ addvar VAR_TEMP_0, -1
return
-LinkContestRoom1_EventScript_27A779:: @ 827A779
+ContestHall_EventScript_AudienceMember8AlreadyEmoted:: @ 827A779
return
-LinkContestRoom1_EventScript_27A77A:: @ 827A77A
+ContestHall_EventScript_ContestantReturn:: @ 827A77A
closemessage
release
- removeobject 13
- special sub_80F8EB8
- call LinkContestRoom1_EventScript_27A133
+ removeobject 13 @ Poke Ball
+ special HideContestEntryMonPic
+ call ContestHall_EventScript_TryWaitForLink
switch VAR_0x8006
- case 0, LinkContestRoom1_EventScript_27A7B9
- case 1, LinkContestRoom1_EventScript_27A7CB
- case 2, LinkContestRoom1_EventScript_27A7DD
- case 3, LinkContestRoom1_EventScript_27A7EF
+ case 0, ContestHall_EventScript_Player1WalkBack
+ case 1, ContestHall_EventScript_Player2WalkBack
+ case 2, ContestHall_EventScript_Player3WalkBack
+ case 3, ContestHall_EventScript_Player4WalkBack
return
-LinkContestRoom1_EventScript_27A7B9:: @ 827A7B9
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player1WalkBack:: @ 827A7B9
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD58
+ applymovement VAR_0x800B, ContestHall_Movement_Player1WalkBack
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27A7CB:: @ 827A7CB
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player2WalkBack:: @ 827A7CB
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD62
+ applymovement VAR_0x800B, ContestHall_Movement_Player2WalkBack
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27A7DD:: @ 827A7DD
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player3WalkBack:: @ 827A7DD
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD6A
+ applymovement VAR_0x800B, ContestHall_Movement_Player3WalkBack
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27A7EF:: @ 827A7EF
- call LinkContestRoom1_EventScript_27A133
+ContestHall_EventScript_Player4WalkBack:: @ 827A7EF
+ call ContestHall_EventScript_TryWaitForLink
lockall
- applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD74
+ applymovement VAR_0x800B, ContestHall_Movement_Player4WalkBack
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27A801:: @ 827A801
+ContestHall_EventScript_DoContestAppeals:: @ 827A801
lockall
- applymovement 1, LinkContestRoom1_Movement_27AD27
+ applymovement 1, ContestHall_Movement_FaceContestants2
waitmovement 0
- call LinkContestRoom1_EventScript_27A133
- call LinkContestRoom1_EventScript_27A853
+ call ContestHall_EventScript_TryWaitForLink
+ call ContestHall_EventScript_LetsAppeal
waitmessage
- applymovement 1, LinkContestRoom1_Movement_27AD15
- applymovement 2, LinkContestRoom1_Movement_27AD19
+ applymovement 1, ContestHall_Movement_WalkStageLeft
+ applymovement 2, ContestHall_Movement_WalkStageRight
waitmovement 0
releaseall
- call LinkContestRoom1_EventScript_27A133
+ call ContestHall_EventScript_TryWaitForLink
setvar VAR_TEMP_9, 1
- special sub_80F910C
+ special LinkContestTryHideWirelessIndicator
startcontest
- special sub_80F90DC
+ special LinkContestTryShowWirelessIndicator
setvar VAR_TEMP_9, 0
lockall
- applymovement 1, LinkContestRoom1_Movement_27AD19
- applymovement 2, LinkContestRoom1_Movement_27AD15
+ applymovement 1, ContestHall_Movement_WalkStageRight
+ applymovement 2, ContestHall_Movement_WalkStageLeft
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27A853:: @ 827A853
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A867
- msgbox LinkContestRoom1_Text_27B904, MSGBOX_DEFAULT
+ContestHall_EventScript_LetsAppeal:: @ 827A853
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_LetsAppealLink
+ msgbox ContestHall_Text_VotingCompleteLetsAppeal, MSGBOX_DEFAULT
return
-LinkContestRoom1_EventScript_27A867:: @ 827A867
- specialvar VAR_RESULT, sub_80F9160
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_27A87E
- messageautoscroll LinkContestRoom1_Text_27B904
+ContestHall_EventScript_LetsAppealLink:: @ 827A867
+ specialvar VAR_RESULT, IsWirelessContest
+ compare VAR_RESULT, TRUE
+ goto_if_eq ContestHall_EventScript_LetsAppealWireless
+ messageautoscroll ContestHall_Text_VotingCompleteLetsAppeal
waitmessage
return
-LinkContestRoom1_EventScript_27A87E:: @ 827A87E
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27CA71
+ContestHall_EventScript_LetsAppealWireless:: @ 827A87E
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_VotingComplete
waitmessage
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27CAD0
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_SecondStageOfJudging
waitmessage
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27CB55
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_LetsAppeal
waitmessage
- call LinkContestRoom1_EventScript_27A133
+ call ContestHall_EventScript_TryWaitForLink
return
-LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5
- call LinkContestRoom1_EventScript_27A133
- call LinkContestRoom1_EventScript_27A8FB
- call LinkContestRoom1_EventScript_27A133
- call LinkContestRoom1_EventScript_27A91E
- call LinkContestRoom1_EventScript_27A133
- applymovement 1, LinkContestRoom1_Movement_27AD0F
+ContestHall_EventScript_ContestResults:: @ 827A8A5
+ call ContestHall_EventScript_TryWaitForLink
+ call ContestHall_EventScript_ThatsItForJudging
+ call ContestHall_EventScript_TryWaitForLink
+ call ContestHall_EventScript_ThankYouForAppeals
+ call ContestHall_EventScript_TryWaitForLink
+ applymovement 1, ContestHall_Movement_MCFaceJudge
waitmovement 0
- call LinkContestRoom1_EventScript_27A941
- call LinkContestRoom1_EventScript_27A133
- call LinkContestRoom1_EventScript_27A964
- call LinkContestRoom1_EventScript_27A133
- applymovement 1, LinkContestRoom1_Movement_27AD13
+ call ContestHall_EventScript_JudgeLooksReady
+ call ContestHall_EventScript_TryWaitForLink
+ call ContestHall_EventScript_WeWillDeclareWinner
+ call ContestHall_EventScript_TryWaitForLink
+ applymovement 1, ContestHall_Movement_FaceContestants
waitmovement 0
closemessage
releaseall
- special sub_80F910C
+ special LinkContestTryHideWirelessIndicator
setvar VAR_TEMP_9, 1
showcontestresults
setvar VAR_TEMP_9, 0
playbgm MUS_CON_FAN, 0
return
-LinkContestRoom1_EventScript_27A8FB:: @ 827A8FB
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A90F
- msgbox LinkContestRoom1_Text_27BA15, MSGBOX_DEFAULT
+ContestHall_EventScript_ThatsItForJudging:: @ 827A8FB
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_ThatsItForJudgingLink
+ msgbox ContestHall_Text_ThatsItForJudging, MSGBOX_DEFAULT
return
-LinkContestRoom1_EventScript_27A90F:: @ 827A90F
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27BA15
+ContestHall_EventScript_ThatsItForJudgingLink:: @ 827A90F
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_ThatsItForJudging
waitmessage
delay 30
return
-LinkContestRoom1_EventScript_27A91E:: @ 827A91E
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A932
- msgbox LinkContestRoom1_Text_27BA30, MSGBOX_DEFAULT
+ContestHall_EventScript_ThankYouForAppeals:: @ 827A91E
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_ThankYouForAppealsLink
+ msgbox ContestHall_Text_ThankYouForAppeals, MSGBOX_DEFAULT
return
-LinkContestRoom1_EventScript_27A932:: @ 827A932
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27BA30
+ContestHall_EventScript_ThankYouForAppealsLink:: @ 827A932
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_ThankYouForAppeals
waitmessage
delay 30
return
-LinkContestRoom1_EventScript_27A941:: @ 827A941
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A955
- msgbox LinkContestRoom1_Text_27BAAC, MSGBOX_DEFAULT
+ContestHall_EventScript_JudgeLooksReady:: @ 827A941
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_JudgeLooksReadyLink
+ msgbox ContestHall_Text_JudgeLooksReady, MSGBOX_DEFAULT
return
-LinkContestRoom1_EventScript_27A955:: @ 827A955
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27BAAC
+ContestHall_EventScript_JudgeLooksReadyLink:: @ 827A955
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_JudgeLooksReady
waitmessage
delay 30
return
-LinkContestRoom1_EventScript_27A964:: @ 827A964
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27A978
- msgbox LinkContestRoom1_Text_27BB25, MSGBOX_DEFAULT
+ContestHall_EventScript_WeWillDeclareWinner:: @ 827A964
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_WeWillDeclareWinnerLink
+ msgbox ContestHall_Text_WeWillNowDeclareWinner, MSGBOX_DEFAULT
return
-LinkContestRoom1_EventScript_27A978:: @ 827A978
- call LinkContestRoom1_EventScript_27A133
- messageautoscroll LinkContestRoom1_Text_27BB25
+ContestHall_EventScript_WeWillDeclareWinnerLink:: @ 827A978
+ call ContestHall_EventScript_TryWaitForLink
+ messageautoscroll ContestHall_Text_WeWillNowDeclareWinner
waitmessage
delay 30
return
-LinkContestRoom1_EventScript_27A987:: @ 827A987
- special sub_80F831C
+ContestHall_EventScript_GetWinnerObjEventId:: @ 827A987
+ special GetContestWinnerId
switch VAR_0x8005
- case 0, LinkContestRoom1_EventScript_27A9BC
- case 1, LinkContestRoom1_EventScript_27A9C2
- case 2, LinkContestRoom1_EventScript_27A9C8
- case 3, LinkContestRoom1_EventScript_27A9CE
+ case 0, ContestHall_EventScript_GetPlayer1ObjEventId
+ case 1, ContestHall_EventScript_GetPlayer2ObjEventId
+ case 2, ContestHall_EventScript_GetPlayer3ObjEventId
+ case 3, ContestHall_EventScript_GetPlayer4ObjEventId
return
-LinkContestRoom1_EventScript_27A9BC:: @ 827A9BC
+ContestHall_EventScript_GetPlayer1ObjEventId:: @ 827A9BC
setvar VAR_TEMP_3, 3
return
-LinkContestRoom1_EventScript_27A9C2:: @ 827A9C2
+ContestHall_EventScript_GetPlayer2ObjEventId:: @ 827A9C2
setvar VAR_TEMP_3, 4
return
-LinkContestRoom1_EventScript_27A9C8:: @ 827A9C8
+ContestHall_EventScript_GetPlayer3ObjEventId:: @ 827A9C8
setvar VAR_TEMP_3, 5
return
-LinkContestRoom1_EventScript_27A9CE:: @ 827A9CE
+ContestHall_EventScript_GetPlayer4ObjEventId:: @ 827A9CE
setvar VAR_TEMP_3, 14
return
-LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4
- special sub_80F834C
- special sub_80F8390
+ContestHall_EventScript_CongratulateWinner:: @ 827A9D4
+ special BufferContestWinnerTrainerName
+ special BufferContestWinnerMonName
addvar VAR_0x8005, 1
buffernumberstring 1, VAR_0x8005
- addvar VAR_0x8005, 65535
- call LinkContestRoom1_EventScript_27AA00
- applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD1D
+ addvar VAR_0x8005, -1
+ call ContestHall_EventScript_CongratsWinner
+ applymovement VAR_TEMP_3, ContestHall_Movement_WinningPlayerWalkUp
waitmovement 0
playse SE_W227B
setvar VAR_TEMP_1, 0
return
-LinkContestRoom1_EventScript_27AA00:: @ 827AA00
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27AA14
- msgbox LinkContestRoom1_Text_27BB4C, MSGBOX_DEFAULT
+ContestHall_EventScript_CongratsWinner:: @ 827AA00
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_CongratsWinnerLink
+ msgbox ContestHall_Text_CongratsTrainerXandMon, MSGBOX_DEFAULT
return
-LinkContestRoom1_EventScript_27AA14:: @ 827AA14
- messageautoscroll LinkContestRoom1_Text_27BB4C
+ContestHall_EventScript_CongratsWinnerLink:: @ 827AA14
+ messageautoscroll ContestHall_Text_CongratsTrainerXandMon
waitmessage
return
-LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B
+ContestHall_EventScript_AudienceLookAround:: @ 827AA1B
addvar VAR_TEMP_1, 1
lockall
- compare VAR_CONTEST_LOCATION, 1
- call_if_gt LinkContestRoom1_EventScript_27AA6F
- applymovement 9, LinkContestRoom1_Movement_27AD3B
- applymovement 12, LinkContestRoom1_Movement_27AD3F
- applymovement 7, LinkContestRoom1_Movement_27AD3B
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL
+ call_if_gt ContestHall_EventScript_VObjectAudienceLookAround
+ applymovement 9, ContestHall_Movement_AudienceMemberLookRight
+ applymovement 12, ContestHall_Movement_AudienceMemberLookDown
+ applymovement 7, ContestHall_Movement_AudienceMemberLookRight
delay 30
- applymovement 10, LinkContestRoom1_Movement_27AD33
- applymovement 11, LinkContestRoom1_Movement_27AD3F
- applymovement 6, LinkContestRoom1_Movement_27AD37
- applymovement 8, LinkContestRoom1_Movement_27AD33
+ applymovement 10, ContestHall_Movement_AudienceMemberLookLeft
+ applymovement 11, ContestHall_Movement_AudienceMemberLookDown
+ applymovement 6, ContestHall_Movement_AudienceMemberLookUp
+ applymovement 8, ContestHall_Movement_AudienceMemberLookLeft
compare VAR_TEMP_1, 4
- goto_if_ne LinkContestRoom1_EventScript_27AA1B
+ goto_if_ne ContestHall_EventScript_AudienceLookAround
delay 30
return
-LinkContestRoom1_EventScript_27AA6F:: @ 827AA6F
- turnvobject 0, 1
- turnvobject 2, 1
- turnvobject 4, 4
- turnvobject 6, 1
- turnvobject 8, 1
- turnvobject 10, 1
- turnvobject 12, 1
- turnvobject 14, 1
- turnvobject 16, 1
- turnvobject 18, 1
- turnvobject 20, 4
- turnvobject 22, 4
- turnvobject 25, 4
- turnvobject 27, 3
- turnvobject 28, 4
+ContestHall_EventScript_VObjectAudienceLookAround:: @ 827AA6F
+ turnvobject 0, DIR_SOUTH
+ turnvobject 2, DIR_SOUTH
+ turnvobject 4, DIR_EAST
+ turnvobject 6, DIR_SOUTH
+ turnvobject 8, DIR_SOUTH
+ turnvobject 10, DIR_SOUTH
+ turnvobject 12, DIR_SOUTH
+ turnvobject 14, DIR_SOUTH
+ turnvobject 16, DIR_SOUTH
+ turnvobject 18, DIR_SOUTH
+ turnvobject 20, DIR_EAST
+ turnvobject 22, DIR_EAST
+ turnvobject 25, DIR_EAST
+ turnvobject 27, DIR_WEST
+ turnvobject 28, DIR_EAST
delay 10
- turnvobject 0, 4
- turnvobject 2, 4
- turnvobject 4, 4
- turnvobject 6, 4
- turnvobject 8, 4
- turnvobject 10, 3
- turnvobject 12, 3
- turnvobject 14, 3
- turnvobject 16, 3
- turnvobject 18, 3
- turnvobject 20, 1
- turnvobject 22, 1
- turnvobject 25, 2
- turnvobject 27, 2
- turnvobject 28, 2
+ turnvobject 0, DIR_EAST
+ turnvobject 2, DIR_EAST
+ turnvobject 4, DIR_EAST
+ turnvobject 6, DIR_EAST
+ turnvobject 8, DIR_EAST
+ turnvobject 10, DIR_WEST
+ turnvobject 12, DIR_WEST
+ turnvobject 14, DIR_WEST
+ turnvobject 16, DIR_WEST
+ turnvobject 18, DIR_WEST
+ turnvobject 20, DIR_SOUTH
+ turnvobject 22, DIR_SOUTH
+ turnvobject 25, DIR_NORTH
+ turnvobject 27, DIR_NORTH
+ turnvobject 28, DIR_NORTH
delay 10
- turnvobject 1, 2
- turnvobject 3, 2
- turnvobject 5, 2
- turnvobject 7, 2
- turnvobject 9, 4
- turnvobject 11, 2
- turnvobject 15, 2
- turnvobject 13, 2
- turnvobject 17, 2
- turnvobject 19, 2
- turnvobject 21, 3
- turnvobject 23, 3
- turnvobject 24, 3
- turnvobject 26, 4
- turnvobject 29, 3
- turnvobject 30, 3
+ turnvobject 1, DIR_NORTH
+ turnvobject 3, DIR_NORTH
+ turnvobject 5, DIR_NORTH
+ turnvobject 7, DIR_NORTH
+ turnvobject 9, DIR_EAST
+ turnvobject 11, DIR_NORTH
+ turnvobject 15, DIR_NORTH
+ turnvobject 13, DIR_NORTH
+ turnvobject 17, DIR_NORTH
+ turnvobject 19, DIR_NORTH
+ turnvobject 21, DIR_WEST
+ turnvobject 23, DIR_WEST
+ turnvobject 24, DIR_WEST
+ turnvobject 26, DIR_EAST
+ turnvobject 29, DIR_WEST
+ turnvobject 30, DIR_WEST
delay 10
- turnvobject 1, 4
- turnvobject 3, 4
- turnvobject 5, 4
- turnvobject 7, 4
- turnvobject 9, 4
- turnvobject 11, 3
- turnvobject 15, 3
- turnvobject 13, 3
- turnvobject 17, 3
- turnvobject 19, 3
- turnvobject 21, 1
- turnvobject 23, 1
- turnvobject 24, 1
- turnvobject 26, 2
- turnvobject 29, 2
- turnvobject 30, 2
+ turnvobject 1, DIR_EAST
+ turnvobject 3, DIR_EAST
+ turnvobject 5, DIR_EAST
+ turnvobject 7, DIR_EAST
+ turnvobject 9, DIR_EAST
+ turnvobject 11, DIR_WEST
+ turnvobject 15, DIR_WEST
+ turnvobject 13, DIR_WEST
+ turnvobject 17, DIR_WEST
+ turnvobject 19, DIR_WEST
+ turnvobject 21, DIR_SOUTH
+ turnvobject 23, DIR_SOUTH
+ turnvobject 24, DIR_SOUTH
+ turnvobject 26, DIR_NORTH
+ turnvobject 29, DIR_NORTH
+ turnvobject 30, DIR_NORTH
delay 10
return
-LinkContestRoom1_EventScript_27AB36:: @ 827AB36
- compare VAR_CONTEST_LOCATION, 5
- goto_if_eq LinkContestRoom1_EventScript_27ABD8
- call LinkContestRoom1_EventScript_27AB9E
- goto_if_set FLAG_TEMP_2, LinkContestRoom1_EventScript_27AB82
+ContestHall_EventScript_GiveWinnerPrize:: @ 827AB36
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
+ goto_if_eq ContestHall_EventScript_EndLinkContest
+ call ContestHall_EventScript_CheckShouldSkipPrize
+ goto_if_set FLAG_TEMP_2, ContestHall_EventScript_SkipPrize
lockall
- msgbox LinkContestRoom1_Text_27BBA8, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_AcceptYourPrize, MSGBOX_DEFAULT
releaseall
- call LinkContestRoom1_EventScript_27ABF8
- call LinkContestRoom1_EventScript_27AC5E
+ call ContestHall_EventScript_WinnerApproachForPrize
+ call ContestHall_EventScript_GivePrizeIfWinner
playse SE_W227B
setvar VAR_TEMP_1, 0
- call LinkContestRoom1_EventScript_27AA1B
+ call ContestHall_EventScript_AudienceLookAround
delay 30
- special sub_80F88E8
- compare VAR_0x8004, 1
- goto_if_eq LinkContestRoom1_EventScript_27ABD2
+ special ShouldReadyContestArtist
+ compare VAR_0x8004, TRUE
+ goto_if_eq ContestHall_EventScript_SetReadyForContestArtist
return
-LinkContestRoom1_EventScript_27AB82:: @ 827AB82
+ContestHall_EventScript_SkipPrize:: @ 827AB82
lockall
- msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT
releaseall
delay 90
- special sub_80F88E8
- compare VAR_0x8004, 1
- goto_if_eq LinkContestRoom1_EventScript_27ABD2
+ special ShouldReadyContestArtist
+ compare VAR_0x8004, TRUE
+ goto_if_eq ContestHall_EventScript_SetReadyForContestArtist
return
-LinkContestRoom1_EventScript_27AB9E:: @ 827AB9E
- specialvar VAR_RESULT, sub_80F7F7C
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_27ABAF
+ContestHall_EventScript_CheckShouldSkipPrize:: @ 827AB9E
+ specialvar VAR_RESULT, HasMonWonThisContestBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq ContestHall_EventScript_CheckPlayerWon
return
-LinkContestRoom1_EventScript_27ABAF:: @ 827ABAF
- special sub_80F831C
+ContestHall_EventScript_CheckPlayerWon:: @ 827ABAF
+ special GetContestWinnerId
compare VAR_0x8005, 3
- goto_if_eq LinkContestRoom1_EventScript_27ABBE
+ goto_if_eq ContestHall_EventScript_CheckRankIsMaster
return
-LinkContestRoom1_EventScript_27ABBE:: @ 827ABBE
- compare VAR_CONTEST_RANK, 3
- goto_if_eq LinkContestRoom1_EventScript_27ABCD
+ContestHall_EventScript_CheckRankIsMaster:: @ 827ABBE
+ compare VAR_CONTEST_RANK, CONTEST_RANK_MASTER
+ goto_if_eq ContestHall_EventScript_DontSkipPrize
setflag FLAG_TEMP_2
return
-LinkContestRoom1_EventScript_27ABCD:: @ 827ABCD
+ContestHall_EventScript_DontSkipPrize:: @ 827ABCD
return
-LinkContestRoom1_EventScript_27ABCE:: @ 827ABCE
+@ This flag is never read
+ContestHall_EventScript_SetSketchFlag:: @ 827ABCE
setflag FLAG_CONTEST_SKETCH_CREATED
return
-LinkContestRoom1_EventScript_27ABD2:: @ 827ABD2
+ContestHall_EventScript_SetReadyForContestArtist:: @ 827ABD2
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 1
return
-LinkContestRoom1_EventScript_27ABD8:: @ 827ABD8
+ContestHall_EventScript_EndLinkContest:: @ 827ABD8
delay 60
- special sub_80F84B0
- special sub_80F831C
- special sub_80F88E8
- compare VAR_0x8004, 1
- goto_if_eq LinkContestRoom1_EventScript_27ABF1
+ special GetContestPlayerId
+ special GetContestWinnerId
+ special ShouldReadyContestArtist
+ compare VAR_0x8004, TRUE
+ goto_if_eq ContestHall_EventScript_SetReadyForLinkContestArtist
closemessage
return
-LinkContestRoom1_EventScript_27ABF1:: @ 827ABF1
+ContestHall_EventScript_SetReadyForLinkContestArtist:: @ 827ABF1
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 2
return
-LinkContestRoom1_EventScript_27ABF7:: @ 827ABF7
+@ Unused
+ContestHall_EventScript_Ret:: @ 827ABF7
return
-LinkContestRoom1_EventScript_27ABF8:: @ 827ABF8
+ContestHall_EventScript_WinnerApproachForPrize:: @ 827ABF8
switch VAR_0x8005
- case 0, LinkContestRoom1_EventScript_27AC2A
- case 1, LinkContestRoom1_EventScript_27AC37
- case 2, LinkContestRoom1_EventScript_27AC44
- case 3, LinkContestRoom1_EventScript_27AC51
+ case 0, ContestHall_EventScript_Player1ApproachForPrize
+ case 1, ContestHall_EventScript_Player2ApproachForPrize
+ case 2, ContestHall_EventScript_Player3ApproachForPrize
+ case 3, ContestHall_EventScript_Player4ApproachForPrize
return
-LinkContestRoom1_EventScript_27AC2A:: @ 827AC2A
+ContestHall_EventScript_Player1ApproachForPrize:: @ 827AC2A
lockall
- applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD7A
+ applymovement VAR_TEMP_3, ContestHall_Movement_Player1ApproachForPrize
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27AC37:: @ 827AC37
+ContestHall_EventScript_Player2ApproachForPrize:: @ 827AC37
lockall
- applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD7E
+ applymovement VAR_TEMP_3, ContestHall_Movement_Player2ApproachForPrize
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27AC44:: @ 827AC44
+ContestHall_EventScript_Player3ApproachForPrize:: @ 827AC44
lockall
- applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD29
+ applymovement VAR_TEMP_3, ContestHall_Movement_Player3ApproachForPrize
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27AC51:: @ 827AC51
+ContestHall_EventScript_Player4ApproachForPrize:: @ 827AC51
lockall
- applymovement VAR_TEMP_3, LinkContestRoom1_Movement_27AD2D
+ applymovement VAR_TEMP_3, ContestHall_Movement_Player4ApproachForPrize
waitmovement 0
releaseall
return
-LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E
- special sub_80F831C
+@ In NPC Contests, the player is always entry 4 (id number 3)
+ContestHall_EventScript_GivePrizeIfWinner:: @ 827AC5E
+ special GetContestWinnerId
compare VAR_0x8005, 3
- goto_if_eq LinkContestRoom1_EventScript_27AC77
+ goto_if_eq ContestHall_EventScript_GiveContestPrizes
lockall
- msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT
releaseall
return
-LinkContestRoom1_EventScript_27AC77:: @ 827AC77
- compare VAR_CONTEST_LOCATION, 2
- call_if_eq LinkContestRoom1_EventScript_27ABCE
- specialvar VAR_RESULT, sub_80F7F7C
- compare VAR_RESULT, 0
- goto_if_eq LinkContestRoom1_EventScript_27ACDF
- compare VAR_CONTEST_RANK, 3
- goto_if_eq LinkContestRoom1_EventScript_27ACBD
+ContestHall_EventScript_GiveContestPrizes:: @ 827AC77
+ compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER
+ call_if_eq ContestHall_EventScript_SetSketchFlag
+ specialvar VAR_RESULT, HasMonWonThisContestBefore
+ compare VAR_RESULT, FALSE
+ goto_if_eq ContestHall_EventScript_ReceiveContestRibbon
+ compare VAR_CONTEST_RANK, CONTEST_RANK_MASTER
+ goto_if_eq ContestHall_EventScript_GiveLuxuryBall
lockall
- msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT
releaseall
return
-LinkContestRoom1_EventScript_27ACA8:: @ 827ACA8
+ContestHall_EventScript_NoRoomForLuxuryBall:: @ 827ACA8
lockall
call Common_EventScript_BagIsFull
- msgbox LinkContestRoom1_Text_27BC2F, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_PickUpPrizeAtCounterLater, MSGBOX_DEFAULT
releaseall
setvar VAR_CONTEST_PRIZE_PICKUP, 4
return
-LinkContestRoom1_EventScript_27ACBD:: @ 827ACBD
- giveitem_std ITEM_LUXURY_BALL
- compare VAR_RESULT, 0
- goto_if_eq LinkContestRoom1_EventScript_27ACA8
+ContestHall_EventScript_GiveLuxuryBall:: @ 827ACBD
+ giveitem ITEM_LUXURY_BALL
+ compare VAR_RESULT, FALSE
+ goto_if_eq ContestHall_EventScript_NoRoomForLuxuryBall
lockall
- msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT
releaseall
return
-LinkContestRoom1_EventScript_27ACDF:: @ 827ACDF
- special sub_80F7FFC
- incrementgamestat 42
+ContestHall_EventScript_ReceiveContestRibbon:: @ 827ACDF
+ special GiveMonContestRibbon
+ incrementgamestat GAME_STAT_RECEIVED_RIBBONS
setflag FLAG_SYS_RIBBON_GET
lockall
- msgbox LinkContestRoom1_Text_27BBD4, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_ConferRibbonAsPrize, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- msgbox LinkContestRoom1_Text_27BC00, MSGBOX_DEFAULT
+ msgbox ContestHall_Text_ReceivedRibbon, MSGBOX_DEFAULT
waitfanfare
- special sub_80F8390
- msgbox LinkContestRoom1_Text_27BC16, MSGBOX_DEFAULT
+ special BufferContestWinnerMonName
+ msgbox ContestHall_Text_PutRibbonOnMon, MSGBOX_DEFAULT
releaseall
return
-LinkContestRoom1_Movement_27AD09: @ 827AD09
+ContestHall_Movement_MCWalkDown: @ 827AD09
walk_down
step_end
-LinkContestRoom1_Movement_27AD0B: @ 827AD0B
+ContestHall_Movement_MCBackUp: @ 827AD0B
lock_facing_direction
walk_up
unlock_facing_direction
step_end
-LinkContestRoom1_Movement_27AD0F: @ 827AD0F
+ContestHall_Movement_MCFaceJudge: @ 827AD0F
walk_in_place_fastest_right
step_end
-LinkContestRoom1_Movement_27AD11: @ 827AD11
+ContestHall_Movement_Heart: @ 827AD11
emote_heart
step_end
-LinkContestRoom1_Movement_27AD13: @ 827AD13
+ContestHall_Movement_FaceContestants: @ 827AD13
walk_in_place_fastest_down
step_end
-LinkContestRoom1_Movement_27AD15: @ 827AD15
+ContestHall_Movement_WalkStageLeft: @ 827AD15
walk_left
walk_left
walk_in_place_fastest_down
step_end
-LinkContestRoom1_Movement_27AD19: @ 827AD19
+ContestHall_Movement_WalkStageRight: @ 827AD19
walk_right
walk_right
walk_in_place_fastest_down
step_end
-LinkContestRoom1_Movement_27AD1D: @ 827AD1D
+ContestHall_Movement_WinningPlayerWalkUp: @ 827AD1D
walk_up
walk_in_place_fastest_down
step_end
-LinkContestRoom1_Movement_27AD20: @ 827AD20
+ContestHall_Movement_ContestantDelay32: @ 827AD20
delay_16
delay_16
step_end
-LinkContestRoom1_Movement_27AD23: @ 827AD23
+ContestHall_Movement_MCFaceJudge2: @ 827AD23
walk_in_place_fastest_right
step_end
-LinkContestRoom1_Movement_27AD25: @ 827AD25
+ContestHall_Movement_JudgeFaceMC: @ 827AD25
walk_in_place_fastest_left
step_end
-LinkContestRoom1_Movement_27AD27: @ 827AD27
+ContestHall_Movement_FaceContestants2: @ 827AD27
walk_in_place_fastest_down
step_end
-LinkContestRoom1_Movement_27AD29: @ 827AD29
+ContestHall_Movement_Player3ApproachForPrize: @ 827AD29
walk_left
walk_left
walk_up
step_end
-LinkContestRoom1_Movement_27AD2D: @ 827AD2D
+ContestHall_Movement_Player4ApproachForPrize: @ 827AD2D
walk_left
walk_left
walk_left
@@ -1314,54 +1328,54 @@ LinkContestRoom1_Movement_27AD2D: @ 827AD2D
walk_up
step_end
-LinkContestRoom1_Movement_27AD33: @ 827AD33
+ContestHall_Movement_AudienceMemberLookLeft: @ 827AD33
face_left
delay_16
face_original_direction
step_end
-LinkContestRoom1_Movement_27AD37: @ 827AD37
+ContestHall_Movement_AudienceMemberLookUp: @ 827AD37
face_up
delay_16
face_original_direction
step_end
-LinkContestRoom1_Movement_27AD3B: @ 827AD3B
+ContestHall_Movement_AudienceMemberLookRight: @ 827AD3B
face_right
delay_16
face_original_direction
step_end
-LinkContestRoom1_Movement_27AD3F: @ 827AD3F
+ContestHall_Movement_AudienceMemberLookDown: @ 827AD3F
face_down
delay_16
face_original_direction
step_end
-LinkContestRoom1_Movement_27AD43: @ 827AD43
+ContestHall_Movement_Player4FaceUp: @ 827AD43
face_up
step_end
-LinkContestRoom1_Movement_27AD45: @ 827AD45
+ContestHall_Movement_MCLookAtJudge: @ 827AD45
face_up
delay_16
walk_in_place_fastest_right
step_end
-LinkContestRoom1_Movement_27AD49: @ 827AD49
+ContestHall_Movement_JudgeLookAtMC: @ 827AD49
walk_in_place_fastest_left
delay_16
delay_16
walk_in_place_fastest_down
step_end
-LinkContestRoom1_Movement_27AD4E: @ 827AD4E
+ContestHall_Movement_MCWalkInPlaceDown: @ 827AD4E
delay_16
delay_16
walk_in_place_fastest_down
step_end
-LinkContestRoom1_Movement_27AD52: @ 827AD52
+ContestHall_Movement_Player1WalkToCenter: @ 827AD52
walk_up
walk_right
walk_right
@@ -1369,7 +1383,7 @@ LinkContestRoom1_Movement_27AD52: @ 827AD52
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD58: @ 827AD58
+ContestHall_Movement_Player1WalkBack: @ 827AD58
walk_fast_left
walk_fast_left
walk_fast_left
@@ -1377,31 +1391,31 @@ LinkContestRoom1_Movement_27AD58: @ 827AD58
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD5E: @ 827AD5E
+ContestHall_Movement_Player2WalkToCenter: @ 827AD5E
walk_up
walk_right
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD62: @ 827AD62
+ContestHall_Movement_Player2WalkBack: @ 827AD62
walk_fast_left
walk_fast_down
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD66: @ 827AD66
+ContestHall_Movement_Player3WalkToCenter: @ 827AD66
walk_up
walk_left
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD6A: @ 827AD6A
+ContestHall_Movement_Player3WalkBack: @ 827AD6A
walk_fast_right
walk_fast_down
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD6E: @ 827AD6E
+ContestHall_Movement_Player4WalkToCenter: @ 827AD6E
walk_up
walk_left
walk_left
@@ -1409,7 +1423,7 @@ LinkContestRoom1_Movement_27AD6E: @ 827AD6E
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD74: @ 827AD74
+ContestHall_Movement_Player4WalkBack: @ 827AD74
walk_fast_right
walk_fast_right
walk_fast_right
@@ -1417,36 +1431,37 @@ LinkContestRoom1_Movement_27AD74: @ 827AD74
walk_in_place_fastest_up
step_end
-LinkContestRoom1_Movement_27AD7A: @ 827AD7A
+ContestHall_Movement_Player1ApproachForPrize: @ 827AD7A
walk_right
walk_right
walk_up
step_end
-LinkContestRoom1_Movement_27AD7E: @ 827AD7E
+ContestHall_Movement_Player2ApproachForPrize: @ 827AD7E
walk_up
step_end
-LinkContestRoom1_EventScript_27AD80:: @ 827AD80
- specialvar VAR_RESULT, sub_80F9134
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_27AD91
+@ IsContestWithRSPlayer has no side effect, so this is nop
+ContestHall_EventScript_CheckIfContestWithRSPlayer:: @ 827AD80
+ specialvar VAR_RESULT, IsContestWithRSPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq ContestHall_EventScript_RetRSPlayer
return
-LinkContestRoom1_EventScript_27AD91:: @ 827AD91
+ContestHall_EventScript_RetRSPlayer:: @ 827AD91
return
-LilycoveCity_ContestLobby_EventScript_27AD92:: @ 827AD92
- specialvar VAR_RESULT, sub_80F9134
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_27ADA3
+LilycoveCity_ContestLobby_EventScript_DelayIfContestWithRSPlayer:: @ 827AD92
+ specialvar VAR_RESULT, IsContestWithRSPlayer
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_DelayForRSPlayer
return
-LilycoveCity_ContestLobby_EventScript_27ADA3:: @ 827ADA3
+LilycoveCity_ContestLobby_EventScript_DelayForRSPlayer:: @ 827ADA3
delay 9
return
-LilycoveCity_ContestLobby_Text_27ADA7: @ 827ADA7
+LilycoveCity_ContestLobby_Text_ReceptionDontHavePokeblockCase: @ 827ADA7
.string "Hello!\p"
.string "This is the reception counter for\n"
.string "POKéMON CONTESTS.\p"
@@ -1455,31 +1470,32 @@ LilycoveCity_ContestLobby_Text_27ADA7: @ 827ADA7
.string "In that case, we need to provide you\n"
.string "with this!$"
-LilycoveCity_ContestLobby_Text_27AE47: @ 827AE47
+LilycoveCity_ContestLobby_Text_NowThatWeveClearedThatUp: @ 827AE47
.string "Okay, now that we've cleared that\n"
.string "up…\p"
.string "Hello!\p"
.string "This is the reception counter for\n"
.string "POKéMON CONTESTS.$"
-LilycoveCity_ContestLobby_Text_27AEA8: @ 827AEA8
+LilycoveCity_ContestLobby_Text_ContestReception: @ 827AEA8
.string "Hello!\p"
.string "This is the reception counter for\n"
.string "POKéMON CONTESTS.$"
-LilycoveCity_ContestLobby_Text_27AEE3: @ 827AEE3
+@ Unused
+LilycoveCity_ContestLobby_Text_CounterOnlyFor4PlayerContests: @ 827AEE3
.string "Hello!\p"
.string "This reception counter is only\n"
.string "for 4-player POKéMON CONTESTS.$"
-LilycoveCity_ContestLobby_Text_27AF28: @ 827AF28
+LilycoveCity_ContestLobby_Text_EnterContest1: @ 827AF28
.string "Would you like to enter your POKéMON\n"
.string "in our CONTESTS?$"
-LilycoveCity_ContestLobby_Text_27AF5E: @ 827AF5E
+LilycoveCity_ContestLobby_Text_WhichTopic1: @ 827AF5E
.string "Which topic would you like?$"
-LilycoveCity_ContestLobby_Text_27AF7A: @ 827AF7A
+LilycoveCity_ContestLobby_Text_ExplainContests: @ 827AF7A
.string "A POKéMON CONTEST involves four\n"
.string "TRAINERS entering one POKéMON each\l"
.string "in competitive judging.\p"
@@ -1498,14 +1514,14 @@ LilycoveCity_ContestLobby_Text_27AF7A: @ 827AF7A
.string "The POKéMON garnering the highest\n"
.string "score is declared the winner.$"
-LilycoveCity_ContestLobby_Text_27B17D: @ 827B17D
+LilycoveCity_ContestLobby_Text_ExplainContestTypes: @ 827B17D
.string "There are five kinds of CONTESTS.\p"
.string "COOL, BEAUTY, CUTE, SMART, and\n"
.string "TOUGH are the five categories.\p"
.string "Choose the CONTEST that is right for\n"
.string "the POKéMON you plan to enter.$"
-LilycoveCity_ContestLobby_Text_27B221: @ 827B221
+LilycoveCity_ContestLobby_Text_ExplainContestRanks: @ 827B221
.string "There are four ranks of POKéMON\n"
.string "CONTESTS.\p"
.string "NORMAL, SUPER, HYPER, and MASTER\n"
@@ -1523,77 +1539,77 @@ LilycoveCity_ContestLobby_Text_27B221: @ 827B221
.string "may compete in the MASTER Rank as\l"
.string "often as its TRAINER wants.$"
-LilycoveCity_ContestLobby_Text_27B3FF: @ 827B3FF
+LilycoveCity_ContestLobby_Text_EnterWhichRank: @ 827B3FF
.string "Which Rank would you like to enter?$"
-LilycoveCity_ContestLobby_Text_27B423: @ 827B423
+LilycoveCity_ContestLobby_Text_EnterWhichContest1: @ 827B423
.string "Which CONTEST would you like to enter?$"
-LilycoveCity_ContestLobby_Text_27B44A: @ 827B44A
+LilycoveCity_ContestLobby_Text_EnterWhichPokemon1: @ 827B44A
.string "Which POKéMON would you like to enter?$"
-LilycoveCity_ContestLobby_Text_27B471: @ 827B471
+LilycoveCity_ContestLobby_Text_MonNotQualifiedForRank: @ 827B471
.string "I'm terribly sorry, but your POKéMON\n"
.string "is not qualified to compete at this\l"
.string "Rank yet…$"
-LilycoveCity_ContestLobby_Text_27B4C4: @ 827B4C4
+LilycoveCity_ContestLobby_Text_EggCannotTakePart: @ 827B4C4
.string "I'm sorry, but an EGG cannot take part\n"
.string "in a POKéMON CONTEST.$"
-LilycoveCity_ContestLobby_Text_27B501: @ 827B501
+LilycoveCity_ContestLobby_Text_MonInNoConditionForContest: @ 827B501
.string "Your POKéMON appears to be in no\n"
.string "condition to take part in a CONTEST…$"
-LilycoveCity_ContestLobby_Text_27B547: @ 827B547
+LilycoveCity_ContestLobby_Text_AlreadyWonEnterAnyway: @ 827B547
.string "Oh, but that RIBBON…\p"
.string "Your POKéMON has won this CONTEST\n"
.string "before, hasn't it?\p"
.string "Would you like to enter it in this\n"
.string "CONTEST anyway?$"
-LilycoveCity_ContestLobby_Text_27B5C4: @ 827B5C4
+LilycoveCity_ContestLobby_Text_ConfirmContestMon: @ 827B5C4
.string "Is that your CONTEST POKéMON?$"
-LilycoveCity_ContestLobby_Text_27B5E2: @ 827B5E2
+LilycoveCity_ContestLobby_Text_YourMonIsEntryNum4: @ 827B5E2
.string "Okay, your POKéMON will be entered\n"
.string "in this CONTEST.\p"
.string "Your POKéMON is Entry No. 4.\n"
.string "The CONTEST will begin shortly.$"
-LilycoveCity_ContestLobby_Text_27B653: @ 827B653
+LilycoveCity_ContestLobby_Text_ComeThroughHere: @ 827B653
.string "Please come in through here.\n"
.string "Good luck!$"
-LilycoveCity_ContestLobby_Text_27B67B: @ 827B67B
+LilycoveCity_ContestLobby_Text_PokemonWonWeHavePrize: @ 827B67B
.string "Congratulations! Your POKéMON is the\n"
.string "CONTEST winner!\p"
.string "We have your prize right here.\n"
.string "Please, right this way!$"
-LilycoveCity_ContestLobby_Text_27B6E7: @ 827B6E7
+LilycoveCity_ContestLobby_Text_ComeBackForPrizeLater: @ 827B6E7
.string "Please come back for your prize\n"
.string "later on.$"
-LinkContestRoom1_Text_27B711: @ 827B711
+ContestHall_Text_GettingStartedParticipantsAsFollows: @ 827B711
.string "MC: Hello! We're just getting started\n"
.string "with a {STR_VAR_3} Rank POKéMON\l"
.string "{STR_VAR_2}!\p"
.string "The participating TRAINERS and their\n"
.string "POKéMON are as follows:$"
-LinkContestRoom1_Text_27B78F: @ 827B78F
+ContestHall_Text_GettingStartedParticipantsAsFollowsLink: @ 827B78F
.string "MC: Hello! We're just getting started\n"
.string "with a 4-player linked POKéMON\l"
.string "{STR_VAR_2}!\p"
.string "The participating TRAINERS and their\n"
.string "POKéMON are as follows:$"
-LinkContestRoom1_Text_27B815: @ 827B815
+ContestHall_Text_EntryXTrainersMon: @ 827B815
.string "MC: Entry No. {STR_VAR_2}!\n"
.string "{STR_VAR_1}'s {STR_VAR_3}!$"
-LinkContestRoom1_Text_27B830: @ 827B830
+ContestHall_Text_SeenContestantsAudienceWillVote: @ 827B830
.string "MC: We've just seen the four POKéMON\n"
.string "contestants.\p"
.string "Now it's time for primary judging!\p"
@@ -1602,10 +1618,10 @@ LinkContestRoom1_Text_27B830: @ 827B830
.string "Without any further ado, let the\n"
.string "voting begin!$"
-LinkContestRoom1_Text_27B8F2: @ 827B8F2
+ContestHall_Text_VotingUnderWay: @ 827B8F2
.string "Voting under way…$"
-LinkContestRoom1_Text_27B904: @ 827B904
+ContestHall_Text_VotingCompleteLetsAppeal: @ 827B904
.string "Voting is now complete!\p"
.string "While the votes are being tallied,\n"
.string "let's move on to secondary judging!\p"
@@ -1616,72 +1632,75 @@ LinkContestRoom1_Text_27B904: @ 827B904
.string "Let's see a little enthusiasm!\n"
.string "Let's appeal!$"
-LinkContestRoom1_Text_27BA15: @ 827BA15
+ContestHall_Text_ThatsItForJudging: @ 827BA15
.string "MC: That's it for judging!$"
-LinkContestRoom1_Text_27BA30: @ 827BA30
+ContestHall_Text_ThankYouForAppeals: @ 827BA30
.string "Thank you all for a most wonderful\n"
.string "display of quality appeals!\p"
.string "This concludes all judging!\n"
.string "Thank you for your fine efforts!$"
-LinkContestRoom1_Text_27BAAC: @ 827BAAC
+ContestHall_Text_JudgeLooksReady: @ 827BAAC
.string "Now, all that remains is the pulse-\n"
.string "pounding proclamation of the winner.\p"
.string "The JUDGE looks ready to make\n"
.string "the announcement!$"
-LinkContestRoom1_Text_27BB25: @ 827BB25
+ContestHall_Text_WeWillNowDeclareWinner: @ 827BB25
.string "JUDGE: We will now declare the winner!$"
-LinkContestRoom1_Text_27BB4C: @ 827BB4C
+ContestHall_Text_CongratsTrainerXandMon: @ 827BB4C
.string "MC: Entry No. {STR_VAR_2}!\p"
.string "{STR_VAR_3} and {STR_VAR_1},\n"
.string "congratulations!$"
-LinkContestRoom1_Text_27BB7A: @ 827BB7A
+ContestHall_Text_CongratsPleaseCompeteAgain: @ 827BB7A
.string "MC: Congratulations!\n"
.string "Please do compete again!$"
-LinkContestRoom1_Text_27BBA8: @ 827BBA8
+ContestHall_Text_AcceptYourPrize: @ 827BBA8
.string "MC: Here you are!\n"
.string "Please accept your prize!$"
-LinkContestRoom1_Text_27BBD4: @ 827BBD4
+ContestHall_Text_ConferRibbonAsPrize: @ 827BBD4
.string "We confer on you this RIBBON\n"
.string "as your prize!$"
-LinkContestRoom1_Text_27BC00: @ 827BC00
+ContestHall_Text_ReceivedRibbon: @ 827BC00
.string "{PLAYER} received a RIBBON.$"
-LinkContestRoom1_Text_27BC16: @ 827BC16
+ContestHall_Text_PutRibbonOnMon: @ 827BC16
.string "{PLAYER} put the RIBBON on\n"
.string "{STR_VAR_1}.$"
-LinkContestRoom1_Text_27BC2F: @ 827BC2F
+ContestHall_Text_PickUpPrizeAtCounterLater: @ 827BC2F
.string "Please pick up your prize at\n"
.string "the reception counter later.\l"
.string "Please do compete again!$"
-LinkContestRoom1_Text_27BC82: @ 827BC82
+@ Unused
+ContestHall_Text_OnlyRegister4Players: @ 827BC82
.string "I only register four players for\n"
.string "POKéMON CONTESTS.\p"
.string "If three other players link up, all\n"
.string "four may enter the same CONTEST.\p"
.string "Would you like to take part?$"
-LilycoveCity_ContestLobby_Text_27BD17: @ 827BD17
+LilycoveCity_ContestLobby_Text_ProgressWillBeSaved: @ 827BD17
.string "Before entering a CONTEST, your\n"
.string "progress will be saved.$"
-LilycoveCity_ContestLobby_Text_27BD4F: @ 827BD4F
+LilycoveCity_ContestLobby_Text_ParticipateAnotherTime: @ 827BD4F
.string "We hope you will participate another\n"
.string "time.$"
-LilycoveCity_ContestLobby_Text_27BD7A: @ 827BD7A
+@ Unused
+LilycoveCity_ContestLobby_Text_EnterContest2: @ 827BD7A
.string "Would you like to enter a CONTEST?$"
-LilycoveCity_ContestLobby_Text_27BD9D: @ 827BD9D
+@ Unused
+LilycoveCity_ContestLobby_Text_Explain4PlayerContest: @ 827BD9D
.string "When four players are ready, connect\n"
.string "over a Game Link cable, and register\l"
.string "with me, please.\p"
@@ -1692,79 +1711,83 @@ LilycoveCity_ContestLobby_Text_27BD9D: @ 827BD9D
.string "After that, the usual CONTEST rules\n"
.string "apply.$"
-LilycoveCity_ContestLobby_Text_27BE9E: @ 827BE9E
+@ Unused
+LilycoveCity_ContestLobby_Text_EnterWhichContest2: @ 827BE9E
.string "Which CONTEST would you like to enter?$"
-LilycoveCity_ContestLobby_Text_27BEC5: @ 827BEC5
+@ Unused
+LilycoveCity_ContestLobby_Text_EnterWhichPokemon2: @ 827BEC5
.string "Which POKéMON would you like to enter?$"
-LilycoveCity_ContestLobby_Text_27BEEC: @ 827BEEC
+LilycoveCity_ContestLobby_Text_Transmitting: @ 827BEEC
.string "Transmitting…$"
-LilycoveCity_ContestLobby_Text_27BEFA: @ 827BEFA
+LilycoveCity_ContestLobby_Text_TransmissionError: @ 827BEFA
.string "Transmission error…$"
-LilycoveCity_ContestLobby_Text_27BF0E: @ 827BF0E
+LilycoveCity_ContestLobby_Text_PlayersChoseDifferentContest: @ 827BF0E
.string "You may have chosen a different\n"
.string "CONTEST than another player.$"
-LilycoveCity_ContestLobby_Text_27BF4B: @ 827BF4B
+LilycoveCity_ContestLobby_Text_PlayersMadeDifferentChoice: @ 827BF4B
.string "You may have made a different\n"
.string "choice than another player.$"
-LilycoveCity_ContestLobby_Text_27BF85: @ 827BF85
+LilycoveCity_ContestLobby_Text_PleaseWaitBButtonCancel: @ 827BF85
.string "Please wait.\n"
.string "… … B Button: Cancel$"
-LilycoveCity_ContestLobby_Text_27BFA7: @ 827BFA7
+@ Unused
+LilycoveCity_ContestLobby_Text_ParticipateAnotherTime2: @ 827BFA7
.string "We hope you will participate another\n"
.string "time.$"
-LilycoveCity_ContestLobby_Text_27BFD2: @ 827BFD2
+@ Unused
+LilycoveCity_ContestLobby_Text_TransmissionErrorTryAgain: @ 827BFD2
.string "Transmission error.\n"
.string "Please try again.$"
-LilycoveCity_ContestLobby_Text_27BFF8: @ 827BFF8
+LilycoveCity_ContestLobby_Text_YourMonIsEntryNumX: @ 827BFF8
.string "Your POKéMON will be entered in\n"
.string "the CONTEST.\p"
.string "Your POKéMON is Entry No. {STR_VAR_2}.$"
-LilycoveCity_ContestLobby_Text_27C043: @ 827C043
+LilycoveCity_ContestLobby_Text_ContestBeginShortly: @ 827C043
.string "The CONTEST will begin shortly.$"
-LilycoveCity_ContestLobby_Text_27C063: @ 827C063
+LilycoveCity_ContestLobby_Text_LinkContestReception: @ 827C063
.string "Welcome! This is the POKéMON CONTEST\n"
.string "link reception counter.\p"
.string "You may enter CONTESTS together with\n"
.string "one or more friends.$"
-LilycoveCity_ContestLobby_Text_27C0DA: @ 827C0DA
+LilycoveCity_ContestLobby_Text_WhichTopic2: @ 827C0DA
.string "Which topic would you like?$"
-LilycoveCity_ContestLobby_Text_27C0F6: @ 827C0F6
+LilycoveCity_ContestLobby_Text_EnterContest3: @ 827C0F6
.string "Would you like to enter a CONTEST?$"
-LilycoveCity_ContestLobby_Text_27C119: @ 827C119
+LilycoveCity_ContestLobby_Text_EnterWhichContest3: @ 827C119
.string "Which CONTEST would you like to enter?$"
-LilycoveCity_ContestLobby_Text_27C140: @ 827C140
+LilycoveCity_ContestLobby_Text_MonInNoCondition2: @ 827C140
.string "Your POKéMON appears to be in no\n"
.string "condition to take part in a CONTEST…$"
-LilycoveCity_ContestLobby_Text_27C186: @ 827C186
+LilycoveCity_ContestLobby_Text_EggCannotTakePart2: @ 827C186
.string "I'm sorry, but an EGG cannot take part\n"
.string "in a POKéMON CONTEST.$"
-LilycoveCity_ContestLobby_Text_27C1C3: @ 827C1C3
+LilycoveCity_ContestLobby_Text_EnterWhichPokemon3: @ 827C1C3
.string "Which POKéMON would you like to enter?$"
-Text_DecideLinkLeader: @ 827C1EA
+LilycoveCity_ContestLobby_Text_PleaseDecideLinkLeader: @ 827C1EA
.string "Please decide which of you will\n"
.string "become the GROUP LEADER.\p"
.string "The other players must then choose\n"
.string "“JOIN GROUP.”$"
-LilycoveCity_ContestLobby_Text_27C254: @ 827C254
+LilycoveCity_ContestLobby_Text_PlayerAt4PCounterUseGMode: @ 827C254
.string "At least one player has entered using\n"
.string "the 4-player reception counter.\p"
.string "There must be four players connected\n"
@@ -1773,7 +1796,7 @@ LilycoveCity_ContestLobby_Text_27C254: @ 827C254
.string "select G-MODE (GLOBAL MODE),\l"
.string "then register to enter again, please.$"
-LilycoveCity_ContestLobby_Text_27C340: @ 827C340
+LilycoveCity_ContestLobby_Text_ExplainLinkContest: @ 827C340
.string "This is a CONTEST for two to four\n"
.string "players linked using a Wireless\l"
.string "Adapter or a GBA Game Link cable.\p"
@@ -1794,7 +1817,7 @@ LilycoveCity_ContestLobby_Text_27C340: @ 827C340
.string "After that, a CONTEST will start in\n"
.string "the usual manner.$"
-LilycoveCity_ContestLobby_Text_27C5B1: @ 827C5B1
+LilycoveCity_ContestLobby_Text_ExplainEMode: @ 827C5B1
.string "In E-MODE (EMERALD MODE),\n"
.string "a LINK CONTEST can be held with\l"
.string "two to four players. Each player must\l"
@@ -1808,7 +1831,7 @@ LilycoveCity_ContestLobby_Text_27C5B1: @ 827C5B1
.string "Please be aware that E-MODE is not\n"
.string "available in POKéMON Ruby or Sapphire.$"
-LilycoveCity_ContestLobby_Text_27C742: @ 827C742
+LilycoveCity_ContestLobby_Text_ExplainGMode: @ 827C742
.string "G-MODE (GLOBAL MODE) is specifically\n"
.string "for four players who are linked using\l"
.string "GBA Game Link cables.\p"
@@ -1819,50 +1842,50 @@ LilycoveCity_ContestLobby_Text_27C742: @ 827C742
.string "enter through the 4-player reception\l"
.string "counter (POKéMON Ruby or Sapphire).$"
-LilycoveCity_ContestLobby_Text_27C879: @ 827C879
+LilycoveCity_ContestLobby_Text_NoWirelessAdapterInGMode: @ 827C879
.string "I'm terribly sorry.\p"
.string "G-MODE does not function\n"
.string "with Wireless Adapters.\p"
.string "Please select E-MODE or try\n"
.string "again using a GBA Game Link cable.$"
-LilycoveCity_ContestLobby_Text_27C8FD: @ 827C8FD
+LilycoveCity_ContestLobby_Text_WhichContestMode: @ 827C8FD
.string "Which CONTEST MODE would you like\n"
.string "to enter?$"
-LinkContestRoom1_Text_27C929: @ 827C929
+ContestHall_Text_GettingStartedWireless: @ 827C929
.string "MC: Hello! We're just getting started\n"
.string "with a 4-player linked POKéMON\l"
.string "{STR_VAR_2}!$"
-LinkContestRoom1_Text_27C972: @ 827C972
+ContestHall_Text_ParticipantsAsFollows: @ 827C972
.string "The participating TRAINERS and their\n"
.string "POKéMON are as follows:$"
-LinkContestRoom1_Text_27C9AF: @ 827C9AF
+ContestHall_Text_WeveSeenContestants: @ 827C9AF
.string "MC: We've just seen the four POKéMON\n"
.string "contestants.\p"
.string "Now it's time for primary judging!$"
-LinkContestRoom1_Text_27CA04: @ 827CA04
+ContestHall_Text_AudienceWillVote: @ 827CA04
.string "The audience will vote on their\n"
.string "favorite POKéMON contestants.$"
-LinkContestRoom1_Text_27CA42: @ 827CA42
+ContestHall_Text_LetVotingBegin: @ 827CA42
.string "Without any further ado,\n"
.string "let the voting begin!$"
-LinkContestRoom1_Text_27CA71: @ 827CA71
+ContestHall_Text_VotingComplete: @ 827CA71
.string "Voting is now complete!\p"
.string "While the votes are being tallied,\n"
.string "let's move on to secondary judging!$"
-LinkContestRoom1_Text_27CAD0: @ 827CAD0
+ContestHall_Text_SecondStageOfJudging: @ 827CAD0
.string "The second stage of judging is\n"
.string "the much-anticipated appeal time!\p"
.string "May the contestants amaze us with\n"
.string "superb appeals of dazzling moves!$"
-LinkContestRoom1_Text_27CB55: @ 827CB55
+ContestHall_Text_LetsAppeal: @ 827CB55
.string "Let's see a little enthusiasm!\n"
.string "Let's appeal!$"
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
index 057a2fa07..6506897ee 100644
--- a/data/scripts/day_care.inc
+++ b/data/scripts/day_care.inc
@@ -1,245 +1,245 @@
-Route117_EventScript_291C18:: @ 8291C18
+Route117_EventScript_DaycareMan:: @ 8291C18
lock
faceplayer
special GetDaycareMonNicknames
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_291C4D
- compare VAR_RESULT, 2
- goto_if_eq Route117_EventScript_291CD1
- compare VAR_RESULT, 3
- goto_if_eq Route117_EventScript_291CE8
- msgbox Route117_Text_291FCF, MSGBOX_DEFAULT
+ compare VAR_RESULT, DAYCARE_EGG_WAITING
+ goto_if_eq Route117_EventScript_DaycareEggWaiting
+ compare VAR_RESULT, DAYCARE_ONE_MON
+ goto_if_eq Route117_EventScript_CheckOnOneMon
+ compare VAR_RESULT, DAYCARE_TWO_MONS
+ goto_if_eq Route117_EventScript_CheckOnTwoMons
+ msgbox Route117_Text_SeeWifeIfYoudLikeMeToRaiseMon, MSGBOX_DEFAULT
release
end
-Route117_EventScript_291C4D:: @ 8291C4D
- msgbox Route117_Text_29205D, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_291C83
- msgbox Route117_Text_2922C6, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_EventScript_291C83
- msgbox Route117_Text_292149, MSGBOX_DEFAULT
+Route117_EventScript_DaycareEggWaiting:: @ 8291C4D
+ msgbox Route117_Text_DoYouWantEgg, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_EventScript_DaycareAcceptEgg
+ msgbox Route117_Text_IWillKeepDoYouWantIt, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_EventScript_DaycareAcceptEgg
+ msgbox Route117_Text_IllKeepIt, MSGBOX_DEFAULT
clearflag FLAG_PENDING_DAYCARE_EGG
special RejectEggFromDayCare
release
end
-Route117_EventScript_291C83:: @ 8291C83
+Route117_EventScript_DaycareAcceptEgg:: @ 8291C83
specialvar VAR_RESULT, CalculatePlayerPartyCount
- compare VAR_RESULT, 6
- goto_if_ne Route117_EventScript_291C9D
- msgbox Route117_Text_29216A, MSGBOX_DEFAULT
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_ne Route117_EventScript_DaycareReceiveEgg
+ msgbox Route117_Text_YouHaveNoRoomForIt, MSGBOX_DEFAULT
release
end
-Route117_EventScript_291C9D:: @ 8291C9D
- message Route117_Text_2921A4
+Route117_EventScript_DaycareReceiveEgg:: @ 8291C9D
+ message Route117_Text_ReceivedEgg
playfanfare MUS_FANFA1
waitfanfare
waitbuttonpress
- msgbox Route117_Text_2921CF, MSGBOX_DEFAULT
+ msgbox Route117_Text_TakeGoodCareOfIt, MSGBOX_DEFAULT
special GiveEggFromDaycare
clearflag FLAG_PENDING_DAYCARE_EGG
release
end
-Route117_EventScript_291CB7:: @ 8291CB7
- specialvar VAR_RESULT, sub_8071614
+Route117_EventScript_CheckMonReceivedMail:: @ 8291CB7
+ specialvar VAR_RESULT, CheckDaycareMonReceivedMail
compare VAR_RESULT, 1
- call_if_eq Route117_EventScript_291CC8
+ call_if_eq Route117_EventScript_MonReceivedMail
return
-Route117_EventScript_291CC8:: @ 8291CC8
- msgbox Route117_Text_2921E5, MSGBOX_DEFAULT
+Route117_EventScript_MonReceivedMail:: @ 8291CC8
+ msgbox Route117_Text_FriendlyWithOtherTrainersMon, MSGBOX_DEFAULT
return
-Route117_EventScript_291CD1:: @ 8291CD1
+Route117_EventScript_CheckOnOneMon:: @ 8291CD1
special GetDaycareMonNicknames
- msgbox Route117_Text_292114, MSGBOX_DEFAULT
+ msgbox Route117_Text_YourMonIsDoingFine, MSGBOX_DEFAULT
setvar VAR_0x8004, 0
- call Route117_EventScript_291CB7
+ call Route117_EventScript_CheckMonReceivedMail
release
end
-Route117_EventScript_291CE8:: @ 8291CE8
+Route117_EventScript_CheckOnTwoMons:: @ 8291CE8
special GetDaycareMonNicknames
- msgbox Route117_Text_292299, MSGBOX_DEFAULT
+ msgbox Route117_Text_YourMonsAreDoingFine, MSGBOX_DEFAULT
special SetDaycareCompatibilityString
special ShowFieldMessageStringVar4
waitmessage
waitbuttonpress
setvar VAR_0x8004, 0
- call Route117_EventScript_291CB7
+ call Route117_EventScript_CheckMonReceivedMail
setvar VAR_0x8004, 1
- call Route117_EventScript_291CB7
+ call Route117_EventScript_CheckMonReceivedMail
release
end
-Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11
+Route117_PokemonDayCare_EventScript_DaycareWoman:: @ 8291D11
lock
faceplayer
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291E0B
- compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_291E2F
- compare VAR_RESULT, 3
- goto_if_eq Route117_PokemonDayCare_EventScript_291F5C
- msgbox Route117_PokemonDayCare_Text_2922F4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291D56
- msgbox Route117_PokemonDayCare_Text_292416, MSGBOX_DEFAULT
+ compare VAR_RESULT, DAYCARE_EGG_WAITING
+ goto_if_eq Route117_PokemonDayCare_EventScript_EggWaiting
+ compare VAR_RESULT, DAYCARE_ONE_MON
+ goto_if_eq Route117_PokemonDayCare_EventScript_OneMonInDaycare
+ compare VAR_RESULT, DAYCARE_TWO_MONS
+ goto_if_eq Route117_PokemonDayCare_EventScript_TwoMonsInDaycare
+ msgbox Route117_PokemonDayCare_Text_WouldYouLikeUsToRaiseAMon, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise
+ msgbox Route117_PokemonDayCare_Text_FineThenComeAgain, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
+Route117_PokemonDayCare_EventScript_GiveMonToRaise:: @ 8291D56
specialvar VAR_RESULT, CountPartyNonEggMons
compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291DED
- specialvar VAR_RESULT, sub_80722E0
+ goto_if_eq Route117_PokemonDayCare_EventScript_OnlyOneMon
+ specialvar VAR_RESULT, CountPartyAliveNonEggMons
compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_291E01
- msgbox Route117_PokemonDayCare_Text_292349, MSGBOX_DEFAULT
- fadescreen 1
+ goto_if_eq Route117_PokemonDayCare_EventScript_OnlyTwoAliveMons
+ msgbox Route117_PokemonDayCare_Text_WhichMonShouldWeRaise, MSGBOX_DEFAULT
+ fadescreen FADE_TO_BLACK
special ChooseSendDaycareMon
waitstate
compare VAR_0x8004, 255
- goto_if_eq Route117_PokemonDayCare_EventScript_291DCA
+ goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain
specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
compare VAR_RESULT, 0
- goto_if_eq Route117_PokemonDayCare_EventScript_291DF7
- specialvar VAR_0x8005, GetSelectedMonNickAndSpecies
+ goto_if_eq Route117_PokemonDayCare_EventScript_OnlyOneAliveMon
+ specialvar VAR_0x8005, GetSelectedMonNicknameAndSpecies
waitse
playmoncry VAR_0x8005, 0
- msgbox Route117_PokemonDayCare_Text_292370, MSGBOX_DEFAULT
+ msgbox Route117_PokemonDayCare_Text_WellRaiseYourMon, MSGBOX_DEFAULT
waitmoncry
special StoreSelectedPokemonInDaycare
- incrementgamestat 47
+ incrementgamestat GAME_STAT_USED_DAYCARE
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_291DD4
+ compare VAR_RESULT, DAYCARE_ONE_MON
+ goto_if_eq Route117_PokemonDayCare_EventScript_CanRaiseOneMore
release
end
-Route117_PokemonDayCare_EventScript_291DCA:: @ 8291DCA
- msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_ComeAgain:: @ 8291DCA
+ msgbox Route117_PokemonDayCare_Text_ComeAgain, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291DD4:: @ 8291DD4
- msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291D56
- goto Route117_PokemonDayCare_EventScript_291DCA
+Route117_PokemonDayCare_EventScript_CanRaiseOneMore:: @ 8291DD4
+ msgbox Route117_PokemonDayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise
+ goto Route117_PokemonDayCare_EventScript_ComeAgain
end
-Route117_PokemonDayCare_EventScript_291DED:: @ 8291DED
- msgbox Route117_PokemonDayCare_Text_2925BB, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_OnlyOneMon:: @ 8291DED
+ msgbox Route117_PokemonDayCare_Text_YouHaveJustOneMon, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291DF7:: @ 8291DF7
- msgbox Route117_PokemonDayCare_Text_292617, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_OnlyOneAliveMon:: @ 8291DF7
+ msgbox Route117_PokemonDayCare_Text_WhatWillYouBattleWith, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291E01:: @ 8291E01
- msgbox Route117_PokemonDayCare_Text_29266D, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_OnlyTwoAliveMons:: @ 8291E01
+ msgbox Route117_PokemonDayCare_Text_YoullBeLeftWithJustOne, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291E0B:: @ 8291E0B
- msgbox Route117_PokemonDayCare_Text_2923F6, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_EggWaiting:: @ 8291E0B
+ msgbox Route117_PokemonDayCare_Text_HusbandWasLookingForYou, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15
- msgbox Route117_PokemonDayCare_Text_2924CC, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_YourMonHasGrownXLevels:: @ 8291E15
+ msgbox Route117_PokemonDayCare_Text_YourMonHasGrownXLevels, MSGBOX_DEFAULT
return
-Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E
+Route117_PokemonDayCare_EventScript_DisplayLevelsGained:: @ 8291E1E
specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare
compare VAR_RESULT, 0
- call_if_ne Route117_PokemonDayCare_EventScript_291E15
+ call_if_ne Route117_PokemonDayCare_EventScript_YourMonHasGrownXLevels
return
-Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F
- msgbox Route117_PokemonDayCare_Text_292488, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_OneMonInDaycare:: @ 8291E2F
+ msgbox Route117_PokemonDayCare_Text_GoodToSeeYou, MSGBOX_DEFAULT
setvar VAR_0x8004, 0
- call Route117_PokemonDayCare_EventScript_291E1E
- msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291D56
- msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291E6D
- goto Route117_PokemonDayCare_EventScript_291DCA
+ call Route117_PokemonDayCare_EventScript_DisplayLevelsGained
+ msgbox Route117_PokemonDayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise
+ msgbox Route117_PokemonDayCare_Text_TakeYourMonBack, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon
+ goto Route117_PokemonDayCare_EventScript_ComeAgain
end
-Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D
+Route117_PokemonDayCare_EventScript_TryRetrieveMon:: @ 8291E6D
specialvar VAR_RESULT, CalculatePlayerPartyCount
- compare VAR_RESULT, 6
- goto_if_eq Route117_PokemonDayCare_EventScript_291F3D
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq Route117_PokemonDayCare_EventScript_NoRoom
specialvar VAR_RESULT, GetDaycareState
setvar VAR_0x8004, 0
- compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_291EAC
+ compare VAR_RESULT, DAYCARE_ONE_MON
+ goto_if_eq Route117_PokemonDayCare_EventScript_CostPrompt
special ShowDaycareLevelMenu
waitstate
copyvar VAR_0x8004, VAR_RESULT
- compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_291DCA
- goto Route117_PokemonDayCare_EventScript_291EAC
+ compare VAR_RESULT, DAYCARE_EXITED_LEVEL_MENU
+ goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain
+ goto Route117_PokemonDayCare_EventScript_CostPrompt
end
-Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC
+Route117_PokemonDayCare_EventScript_CostPrompt:: @ 8291EAC
special GetDaycareCost
- msgbox Route117_PokemonDayCare_Text_292549, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291EC8
- goto Route117_PokemonDayCare_EventScript_291DCA
+ msgbox Route117_PokemonDayCare_Text_ItWillCostX, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_PokemonDayCare_EventScript_CheckEnoughMoney
+ goto Route117_PokemonDayCare_EventScript_ComeAgain
end
-Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8
+Route117_PokemonDayCare_EventScript_CheckEnoughMoney:: @ 8291EC8
specialvar VAR_RESULT, IsEnoughForCostInVar0x8005
compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291EE2
- msgbox Route117_PokemonDayCare_Text_292432, MSGBOX_DEFAULT
+ goto_if_eq Route117_PokemonDayCare_EventScript_RetrieveMon
+ msgbox Route117_PokemonDayCare_Text_NotEnoughMoney, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2
- applymovement 1, Route117_PokemonDayCare_Movement_291F47
+Route117_PokemonDayCare_EventScript_RetrieveMon:: @ 8291EE2
+ applymovement 1, Route117_PokemonDayCare_Movement_RetrieveDaycareMon
waitmovement 0
specialvar VAR_RESULT, TakePokemonFromDaycare
special SubtractMoneyFromVar0x8005
playse SE_REGI
- msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT
+ msgbox Route117_PokemonDayCare_Text_HeresYourMon, MSGBOX_DEFAULT
waitse
playmoncry VAR_RESULT, 0
- msgbox Route117_PokemonDayCare_Text_292593, MSGBOX_DEFAULT
+ msgbox Route117_PokemonDayCare_Text_TookBackMon, MSGBOX_DEFAULT
waitmoncry
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_291F24
- goto Route117_PokemonDayCare_EventScript_291DCA
+ compare VAR_RESULT, DAYCARE_ONE_MON
+ goto_if_eq Route117_PokemonDayCare_EventScript_AskRetrieveOtherMon
+ goto Route117_PokemonDayCare_EventScript_ComeAgain
end
-Route117_PokemonDayCare_EventScript_291F24:: @ 8291F24
- msgbox Route117_PokemonDayCare_Text_29244F, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291E6D
- goto Route117_PokemonDayCare_EventScript_291DCA
+Route117_PokemonDayCare_EventScript_AskRetrieveOtherMon:: @ 8291F24
+ msgbox Route117_PokemonDayCare_Text_TakeOtherOneBackToo, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon
+ goto Route117_PokemonDayCare_EventScript_ComeAgain
end
-Route117_PokemonDayCare_EventScript_291F3D:: @ 8291F3D
- msgbox Route117_PokemonDayCare_Text_2924EF, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_NoRoom:: @ 8291F3D
+ msgbox Route117_PokemonDayCare_Text_YourTeamIsFull, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_Movement_291F47: @ 8291F47
+Route117_PokemonDayCare_Movement_RetrieveDaycareMon: @ 8291F47
delay_16
delay_16
face_left
@@ -261,50 +261,52 @@ Route117_PokemonDayCare_Movement_291F47: @ 8291F47
walk_slow_down
step_end
-Route117_PokemonDayCare_EventScript_291F5B:: @ 8291F5B
+@ Unused. Possibly a commented script, or a typo end added to the above Movement script
+Route117_PokemonDayCare_EventScript_UnusedEnd:: @ 8291F5B
end
-Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C
- msgbox Route117_PokemonDayCare_Text_292488, MSGBOX_DEFAULT
+Route117_PokemonDayCare_EventScript_TwoMonsInDaycare:: @ 8291F5C
+ msgbox Route117_PokemonDayCare_Text_GoodToSeeYou, MSGBOX_DEFAULT
setvar VAR_0x8004, 0
- call Route117_PokemonDayCare_EventScript_291E1E
+ call Route117_PokemonDayCare_EventScript_DisplayLevelsGained
setvar VAR_0x8004, 1
- call Route117_PokemonDayCare_EventScript_291E1E
- msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_291E6D
- msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT
+ call Route117_PokemonDayCare_EventScript_DisplayLevelsGained
+ msgbox Route117_PokemonDayCare_Text_TakeYourMonBack, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon
+ msgbox Route117_PokemonDayCare_Text_ComeAgain, MSGBOX_DEFAULT
release
end
-Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95
+@ Unused
+Route117_PokemonDayCare_EventScript_UnusedRetrieveMon:: @ 8291F95
special ShowDaycareLevelMenu
waitstate
compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_291DCA
+ goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain
copyvar VAR_0x8004, VAR_RESULT
specialvar VAR_RESULT, TakePokemonFromDaycare
- msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT
- msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT
+ msgbox Route117_PokemonDayCare_Text_HeresYourMon, MSGBOX_DEFAULT
+ msgbox Route117_PokemonDayCare_Text_ComeAgain, MSGBOX_DEFAULT
release
end
EventScript_EggHatch:: @ 8291FC0
lockall
- msgbox Text_292668, MSGBOX_DEFAULT
+ msgbox Text_EggHatchHuh, MSGBOX_DEFAULT
special EggHatch
waitstate
releaseall
end
-Route117_Text_291FCF: @ 8291FCF
+Route117_Text_SeeWifeIfYoudLikeMeToRaiseMon: @ 8291FCF
.string "I'm the DAY-CARE MAN.\p"
.string "I help take care of the precious\n"
.string "POKéMON of TRAINERS.\p"
.string "If you'd like me to raise your POKéMON,\n"
.string "have a word with my wife.$"
-Route117_Text_29205D: @ 829205D
+Route117_Text_DoYouWantEgg: @ 829205D
.string "Ah, it's you!\p"
.string "We were raising your POKéMON,\n"
.string "and my goodness, were we surprised!\p"
@@ -313,124 +315,126 @@ Route117_Text_29205D: @ 829205D
.string "but your POKéMON had it.\p"
.string "You do want it, yes?$"
-Route117_Text_292114: @ 8292114
+Route117_Text_YourMonIsDoingFine: @ 8292114
.string "Ah, it's you! Good to see you.\n"
.string "Your {STR_VAR_1}'s doing fine.$"
-Route117_Text_292149: @ 8292149
+Route117_Text_IllKeepIt: @ 8292149
.string "Well then, I'll keep it.\n"
.string "Thanks!$"
-Route117_Text_29216A: @ 829216A
+Route117_Text_YouHaveNoRoomForIt: @ 829216A
.string "You have no room for it…\n"
.string "Come back when you've made room.$"
-Route117_Text_2921A4: @ 82921A4
+Route117_Text_ReceivedEgg: @ 82921A4
.string "{PLAYER} received the EGG from\n"
.string "the DAY-CARE MAN.$"
-Route117_Text_2921CF: @ 82921CF
+Route117_Text_TakeGoodCareOfIt: @ 82921CF
.string "Take good care of it.$"
-Route117_Text_2921E5: @ 82921E5
+Route117_Text_FriendlyWithOtherTrainersMon: @ 82921E5
.string "By the way, about your {STR_VAR_1},\n"
.string "it seemed to be friendly with\l"
.string "{STR_VAR_2}'s {STR_VAR_3}.\p"
.string "I may even have seen it receiving\n"
.string "a piece of MAIL.$"
-Route117_Text_29225A: @ 829225A
+@ Unused
+Route117_Text_SeeWifeIfYouWantToPickUpMon: @ 829225A
.string "If you want to pick up your POKéMON,\n"
.string "have a word with my wife.$"
-Route117_Text_292299: @ 8292299
+Route117_Text_YourMonsAreDoingFine: @ 8292299
.string "Ah, it's you! Your {STR_VAR_1} and\n"
.string "{STR_VAR_2} are doing fine.$"
-Route117_Text_2922C6: @ 82922C6
+Route117_Text_IWillKeepDoYouWantIt: @ 82922C6
.string "I really will keep it.\n"
.string "You do want this, yes?$"
-Route117_PokemonDayCare_Text_2922F4: @ 82922F4
+Route117_PokemonDayCare_Text_WouldYouLikeUsToRaiseAMon: @ 82922F4
.string "I'm the DAY-CARE LADY.\p"
.string "We can raise POKéMON for you.\p"
.string "Would you like us to raise one?$"
-Route117_PokemonDayCare_Text_292349: @ 8292349
+Route117_PokemonDayCare_Text_WhichMonShouldWeRaise: @ 8292349
.string "Which POKéMON should we raise for\n"
.string "you?$"
-Route117_PokemonDayCare_Text_292370: @ 8292370
+Route117_PokemonDayCare_Text_WellRaiseYourMon: @ 8292370
.string "Fine, we'll raise your {STR_VAR_1}\n"
.string "for a while.\p"
.string "Come back for it later.$"
-Route117_PokemonDayCare_Text_2923AF: @ 82923AF
+Route117_PokemonDayCare_Text_WeCanRaiseOneMore: @ 82923AF
.string "We can raise two of your POKéMON.\n"
.string "Would you like us to raise one more?$"
-Route117_PokemonDayCare_Text_2923F6: @ 82923F6
+Route117_PokemonDayCare_Text_HusbandWasLookingForYou: @ 82923F6
.string "My husband was looking for you.$"
-Route117_PokemonDayCare_Text_292416: @ 8292416
+Route117_PokemonDayCare_Text_FineThenComeAgain: @ 8292416
.string "Oh, fine, then.\n"
.string "Come again.$"
-Route117_PokemonDayCare_Text_292432: @ 8292432
+Route117_PokemonDayCare_Text_NotEnoughMoney: @ 8292432
.string "You don't have enough money…$"
-Route117_PokemonDayCare_Text_29244F: @ 829244F
+Route117_PokemonDayCare_Text_TakeOtherOneBackToo: @ 829244F
.string "Will you take back the other one,\n"
.string "too?$"
-Route117_PokemonDayCare_Text_292476: @ 8292476
+Route117_PokemonDayCare_Text_ComeAgain: @ 8292476
.string "Fine.\n"
.string "Come again.$"
-Route117_PokemonDayCare_Text_292488: @ 8292488
+Route117_PokemonDayCare_Text_GoodToSeeYou: @ 8292488
.string "Ah, it's you! Good to see you.\n"
.string "Your POKéMON can only be doing good!$"
-Route117_PokemonDayCare_Text_2924CC: @ 82924CC
+Route117_PokemonDayCare_Text_YourMonHasGrownXLevels: @ 82924CC
.string "By level, your {STR_VAR_1} has\n"
.string "grown by {STR_VAR_2}.$"
-Route117_PokemonDayCare_Text_2924EF: @ 82924EF
+Route117_PokemonDayCare_Text_YourTeamIsFull: @ 82924EF
.string "Your POKéMON team is full.\n"
.string "Make room, then come see me.$"
-Route117_PokemonDayCare_Text_292527: @ 8292527
+@ Unused
+Route117_PokemonDayCare_Text_TakeBackWhichMon: @ 8292527
.string "Which POKéMON will you take back?$"
-Route117_PokemonDayCare_Text_292549: @ 8292549
+Route117_PokemonDayCare_Text_ItWillCostX: @ 8292549
.string "If you want your {STR_VAR_1} back,\n"
.string "it will cost ¥{STR_VAR_2}.$"
-Route117_PokemonDayCare_Text_292575: @ 8292575
+Route117_PokemonDayCare_Text_HeresYourMon: @ 8292575
.string "Perfect!\n"
.string "Here's your POKéMON.$"
-Route117_PokemonDayCare_Text_292593: @ 8292593
+Route117_PokemonDayCare_Text_TookBackMon: @ 8292593
.string "{PLAYER} took back {STR_VAR_1} from\n"
.string "the DAY-CARE LADY.$"
-Route117_PokemonDayCare_Text_2925BB: @ 82925BB
+Route117_PokemonDayCare_Text_YouHaveJustOneMon: @ 82925BB
.string "Oh? But you have just one\n"
.string "POKéMON.\p"
.string "Come back another time.$"
-Route117_PokemonDayCare_Text_2925F6: @ 82925F6
+Route117_PokemonDayCare_Text_TakeYourMonBack: @ 82925F6
.string "Will you take your POKéMON back?$"
-Route117_PokemonDayCare_Text_292617: @ 8292617
+Route117_PokemonDayCare_Text_WhatWillYouBattleWith: @ 8292617
.string "If you leave me that POKéMON,\n"
.string "what will you battle with?\p"
.string "Come back another time.$"
-Text_292668: @ 8292668
+Text_EggHatchHuh: @ 8292668
.string "Huh?$"
-Route117_PokemonDayCare_Text_29266D: @ 829266D
+Route117_PokemonDayCare_Text_YoullBeLeftWithJustOne: @ 829266D
.string "Huh?\n"
.string "Now, now.\p"
.string "If you leave that POKéMON with\n"
diff --git a/data/scripts/elite_four.inc b/data/scripts/elite_four.inc
new file mode 100644
index 000000000..e7aada698
--- /dev/null
+++ b/data/scripts/elite_four.inc
@@ -0,0 +1,62 @@
+PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: @ 82723F8
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_Delay32
+ waitmovement 0
+ playse SE_DOOR
+ setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0
+ setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0
+ setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ special DrawWholeMapView
+ return
+
+PokemonLeague_EliteFour_EventScript_WalkInCloseDoor:: @ 8272475
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkUp6
+ waitmovement 0
+ playse SE_TRACK_DOOR
+ setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ special DrawWholeMapView
+ return
+
+@ Essentially unused, only necessary when re-entering an Elite Four room after defeating the member, which isnt normally possible
+PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom:: @ 82724BC
+ setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0
+ setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0
+ setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1
+ setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ return
+
+PokemonLeague_EliteFour_EventScript_CloseDoor:: @ 827255F
+ setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
+ setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ return
diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc
index 6eae55294..56e3297b6 100644
--- a/data/scripts/field_move_scripts.inc
+++ b/data/scripts/field_move_scripts.inc
@@ -3,15 +3,15 @@ EventScript_CutTree:: @ 82906BB
lockall
goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
checkpartymove MOVE_CUT
- compare VAR_RESULT, 6
+ compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CheckTreeCantCut
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_CUT
msgbox Text_WantToCut, MSGBOX_YESNO
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq EventScript_CancelCut
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
@@ -51,7 +51,7 @@ Text_WantToCut: @ 829072E
.string "CUT down!\p"
.string "Would you like to CUT it?$"
-Text_MonUsedHM: @ 8290771
+Text_MonUsedFieldMove: @ 8290771
.string "{STR_VAR_1} used {STR_VAR_2}!$"
Text_CantCut: @ 829077D
@@ -62,15 +62,15 @@ EventScript_RockSmash:: @ 82907A6
lockall
goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
checkpartymove MOVE_ROCK_SMASH
- compare VAR_RESULT, 6
+ compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantSmashRock
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_ROCK_SMASH
msgbox Text_WantToSmash, MSGBOX_YESNO
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq EventScript_CancelSmash
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
@@ -129,11 +129,11 @@ EventScript_StrengthBoulder:: @ 82908BA
goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder
checkpartymove MOVE_STRENGTH
- compare VAR_RESULT, 6
+ compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantStrength
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToStrength, MSGBOX_YESNO
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq EventScript_CancelStrength
closemessage
dofieldeffect FLDEFF_USE_STRENGTH
@@ -190,12 +190,12 @@ Text_StrengthActivated: @ 8290A16
EventScript_UseWaterfall:: @ 8290A49
lockall
checkpartymove MOVE_WATERFALL
- compare VAR_RESULT, 6
+ compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantWaterfall
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToWaterfall, MSGBOX_YESNO
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq EventScript_EndWaterfall
msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_WATERFALL
@@ -225,13 +225,13 @@ Text_MonUsedWaterfall: @ 8290AFC
EventScript_UseDive:: @ 8290B0F
lockall
checkpartymove MOVE_DIVE
- compare VAR_RESULT, 6
+ compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantDive
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToDive, MSGBOX_YESNO
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq EventScript_EndDive
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
@@ -250,13 +250,13 @@ EventScript_EndDive:: @ 8290B58
EventScript_UseDiveUnderwater:: @ 8290B5A
lockall
checkpartymove MOVE_DIVE
- compare VAR_RESULT, 6
+ compare VAR_RESULT, PARTY_SIZE
goto_if_eq EventScript_CantSurface
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToSurface, MSGBOX_YESNO
- compare VAR_RESULT, 0
+ compare VAR_RESULT, NO
goto_if_eq EventScript_EndSurface
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
diff --git a/data/scripts/field_poison.inc b/data/scripts/field_poison.inc
new file mode 100644
index 000000000..3ce36b384
--- /dev/null
+++ b/data/scripts/field_poison.inc
@@ -0,0 +1,48 @@
+EventScript_FieldPoison:: @ 82736BC
+ lockall
+ special TryFieldPoisonWhiteOut
+ waitstate
+ compare VAR_RESULT, FLDPSN_WHITEOUT
+ goto_if_eq EventScript_FieldWhiteOut
+ compare VAR_RESULT, FLDPSN_FRONTIER_WHITEOUT
+ goto_if_eq EventScript_FrontierFieldWhiteOut
+ releaseall
+ end
+
+EventScript_FieldWhiteOut:: @ 82736D9
+ message gText_PlayerWhitedOut
+ waitmessage
+ waitbuttonpress
+ special Script_FadeOutMapMusic
+ waitstate
+ fadescreen FADE_TO_BLACK
+ call_if_set FLAG_WHITEOUT_TO_LAVARIDGE, EventScript_SetRespawnLavaridgePkmnCenter
+ special SetCB2WhiteOut
+ waitstate
+ end
+
+EventScript_SetRespawnLavaridgePkmnCenter:: @ 82736F4
+ setrespawn HEAL_LOCATION_LAVARIDGE_TOWN
+ return
+
+EventScript_FrontierFieldWhiteOut:: @ 82736F8
+ message gText_PlayerWhitedOut
+ waitmessage
+ waitbuttonpress
+ pike_inchallenge
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattlePike_EventScript_Retire
+ pyramid_inchallenge
+ compare VAR_RESULT, 1 @ On Pyramid floor
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ compare VAR_RESULT, 2 @ On Pyramid peak
+ goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ trainerhill_inchallenge
+ compare VAR_RESULT, TRUE
+ goto_if_eq TrainerHill_1F_EventScript_Lost
+ special Script_FadeOutMapMusic
+ waitstate
+ fadescreen FADE_TO_BLACK
+ special SetCB2WhiteOut
+ waitstate
+ end
diff --git a/data/scripts/flash.inc b/data/scripts/flash.inc
new file mode 100644
index 000000000..916b50719
--- /dev/null
+++ b/data/scripts/flash.inc
@@ -0,0 +1,4 @@
+EventScript_FldEffFlash:: @ 82926F8
+ animateflash 1
+ setflashradius 1
+ end
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
index 31000539c..90b3b3088 100644
--- a/data/scripts/gabby_and_ty.inc
+++ b/data/scripts/gabby_and_ty.inc
@@ -1,337 +1,332 @@
+@ Unused
EventScript_28CCAA:: @ 828CCAA
setvar VAR_0x8005, 8
special InterviewBefore
compare VAR_RESULT, 1
- goto_if_eq EventScript_28CCC6
+ goto_if_eq EventScript_UnusedRet
setvar VAR_0x8005, 8
special InterviewAfter
return
-EventScript_28CCC6:: @ 828CCC6
+EventScript_UnusedRet:: @ 828CCC6
return
-Route111_EventScript_28CCC7:: @ 828CCC7
-Route118_EventScript_28CCC7:: @ 828CCC7
-Route120_EventScript_28CCC7:: @ 828CCC7
+@ Gabby and Ty always move to the same spots for the first 5 battles
+@ From the 6th battle onwards, they move randomly between locations 6-8
+GabbyAndTy_EventScript_UpdateLocation:: @ 828CCC7
cleartrainerflag TRAINER_GABBY_AND_TY_6
specialvar VAR_RESULT, GabbyAndTyGetBattleNum
switch VAR_RESULT
- case 0, Route111_EventScript_28CD38
- case 1, Route111_EventScript_28CD3E
- case 2, Route111_EventScript_28CD49
- case 3, Route111_EventScript_28CD54
- case 4, Route111_EventScript_28CD5F
- case 5, Route111_EventScript_28CD6A
- case 6, Route111_EventScript_28CD75
- case 7, Route111_EventScript_28CD80
- case 8, Route111_EventScript_28CD8B
+ case 0, GabbyAndTy_EventScript_MoveForBattle1
+ case 1, GabbyAndTy_EventScript_MoveForBattle2
+ case 2, GabbyAndTy_EventScript_MoveForBattle3
+ case 3, GabbyAndTy_EventScript_MoveForBattle4
+ case 4, GabbyAndTy_EventScript_MoveForBattle5
+ case 5, GabbyAndTy_EventScript_MoveForBattle6
+ case 6, GabbyAndTy_EventScript_MoveForBattle7
+ case 7, GabbyAndTy_EventScript_MoveForBattle8
+ case 8, GabbyAndTy_EventScript_MoveForBattle9
end
-Route111_EventScript_28CD38:: @ 828CD38
- call Route111_EventScript_28CD9A
+GabbyAndTy_EventScript_MoveForBattle1:: @ 828CD38
+ call GabbyAndTy_EventScript_ShowAtRoute111_1
return
-Route111_EventScript_28CD3E:: @ 828CD3E
- call Route111_EventScript_28CDA2
- call Route111_EventScript_28CD96
+GabbyAndTy_EventScript_MoveForBattle2:: @ 828CD3E
+ call GabbyAndTy_EventScript_ShowAtRoute118_1
+ call GabbyAndTy_EventScript_HideAtRoute111_1
return
-Route111_EventScript_28CD49:: @ 828CD49
- call Route111_EventScript_28CDAA
- call Route111_EventScript_28CD9E
+GabbyAndTy_EventScript_MoveForBattle3:: @ 828CD49
+ call GabbyAndTy_EventScript_ShowAtRoute120_1
+ call GabbyAndTy_EventScript_HideAtRoute118_1
return
-Route111_EventScript_28CD54:: @ 828CD54
- call Route111_EventScript_28CDB2
- call Route111_EventScript_28CDA6
+GabbyAndTy_EventScript_MoveForBattle4:: @ 828CD54
+ call GabbyAndTy_EventScript_ShowAtRoute111_3
+ call GabbyAndTy_EventScript_HideAtRoute120_1
return
-Route111_EventScript_28CD5F:: @ 828CD5F
- call Route111_EventScript_28CDBA
- call Route111_EventScript_28CDAE
+GabbyAndTy_EventScript_MoveForBattle5:: @ 828CD5F
+ call GabbyAndTy_EventScript_ShowAtRoute118_2
+ call GabbyAndTy_EventScript_HideAtRoute111_3
return
-Route111_EventScript_28CD6A:: @ 828CD6A
- call Route111_EventScript_28CDC2
- call Route111_EventScript_28CDB6
+GabbyAndTy_EventScript_MoveForBattle6:: @ 828CD6A
+ call GabbyAndTy_EventScript_ShowAtRoute120_2
+ call GabbyAndTy_EventScript_HideAtRoute118_2
return
-Route111_EventScript_28CD75:: @ 828CD75
- call Route111_EventScript_28CDCA
- call Route111_EventScript_28CDBE
+GabbyAndTy_EventScript_MoveForBattle7:: @ 828CD75
+ call GabbyAndTy_EventScript_ShowAtRoute111_2
+ call GabbyAndTy_EventScript_HideAtRoute120_2
return
-Route111_EventScript_28CD80:: @ 828CD80
- call Route111_EventScript_28CDD2
- call Route111_EventScript_28CDC6
+GabbyAndTy_EventScript_MoveForBattle8:: @ 828CD80
+ call GabbyAndTy_EventScript_ShowAtRoute118_3
+ call GabbyAndTy_EventScript_HideAtRoute111_2
return
-Route111_EventScript_28CD8B:: @ 828CD8B
- call Route111_EventScript_28CDC2
- call Route111_EventScript_28CDCE
+GabbyAndTy_EventScript_MoveForBattle9:: @ 828CD8B
+ call GabbyAndTy_EventScript_ShowAtRoute120_2
+ call GabbyAndTy_EventScript_HideAtRoute118_3
return
-Route111_EventScript_28CD96:: @ 828CD96
+GabbyAndTy_EventScript_HideAtRoute111_1:: @ 828CD96
setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
return
-Route111_EventScript_28CD9A:: @ 828CD9A
+GabbyAndTy_EventScript_ShowAtRoute111_1:: @ 828CD9A
clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
return
-Route111_EventScript_28CD9E:: @ 828CD9E
+GabbyAndTy_EventScript_HideAtRoute118_1:: @ 828CD9E
setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
return
-Route111_EventScript_28CDA2:: @ 828CDA2
+GabbyAndTy_EventScript_ShowAtRoute118_1:: @ 828CDA2
clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
return
-Route111_EventScript_28CDA6:: @ 828CDA6
+GabbyAndTy_EventScript_HideAtRoute120_1:: @ 828CDA6
setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
return
-Route111_EventScript_28CDAA:: @ 828CDAA
+GabbyAndTy_EventScript_ShowAtRoute120_1:: @ 828CDAA
clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
return
-Route111_EventScript_28CDAE:: @ 828CDAE
+GabbyAndTy_EventScript_HideAtRoute111_3:: @ 828CDAE
setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
return
-Route111_EventScript_28CDB2:: @ 828CDB2
+GabbyAndTy_EventScript_ShowAtRoute111_3:: @ 828CDB2
clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
return
-Route111_EventScript_28CDB6:: @ 828CDB6
+GabbyAndTy_EventScript_HideAtRoute118_2:: @ 828CDB6
setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
return
-Route111_EventScript_28CDBA:: @ 828CDBA
+GabbyAndTy_EventScript_ShowAtRoute118_2:: @ 828CDBA
clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
return
-Route111_EventScript_28CDBE:: @ 828CDBE
+GabbyAndTy_EventScript_HideAtRoute120_2:: @ 828CDBE
setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
return
-Route111_EventScript_28CDC2:: @ 828CDC2
+GabbyAndTy_EventScript_ShowAtRoute120_2:: @ 828CDC2
clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
return
-Route111_EventScript_28CDC6:: @ 828CDC6
+GabbyAndTy_EventScript_HideAtRoute111_2:: @ 828CDC6
setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
return
-Route111_EventScript_28CDCA:: @ 828CDCA
+GabbyAndTy_EventScript_ShowAtRoute111_2:: @ 828CDCA
clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
return
-Route111_EventScript_28CDCE:: @ 828CDCE
+GabbyAndTy_EventScript_HideAtRoute118_3:: @ 828CDCE
setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
return
-Route111_EventScript_28CDD2:: @ 828CDD2
+GabbyAndTy_EventScript_ShowAtRoute118_3:: @ 828CDD2
clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
return
-Route111_EventScript_28CDD6:: @ 828CDD6
- trainerbattle_double TRAINER_GABBY_AND_TY_1, Route111_Text_28AF05, Route111_Text_28B000, Route111_Text_28B5EC, Route111_EventScript_28CF56
- msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_GabbyBattle1:: @ 828CDD6
+ trainerbattle_double TRAINER_GABBY_AND_TY_1, GabbyAndTy_Text_GabbyPreFirstBattle, GabbyAndTy_Text_GabbyDefeatFirstTime, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_FirstInterview
+ msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
release
end
-Route111_EventScript_28CDF6:: @ 828CDF6
- trainerbattle_double TRAINER_GABBY_AND_TY_1, Route111_Text_28B75C, Route111_Text_28B8B1, Route111_Text_28B841, Route111_EventScript_28CF56
- msgbox Route111_Text_28B805, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_TyBattle1:: @ 828CDF6
+ trainerbattle_double TRAINER_GABBY_AND_TY_1, GabbyAndTy_Text_TyPreFirstBattle, GabbyAndTy_Text_TyDefeatFirstTime, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_FirstInterview
+ msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
release
end
-Route118_EventScript_28CE16:: @ 828CE16
- trainerbattle_double TRAINER_GABBY_AND_TY_2, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B5C0, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_GabbyBattle2:: @ 828CE16
+ trainerbattle_double TRAINER_GABBY_AND_TY_2, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
release
end
-Route118_EventScript_28CE36:: @ 828CE36
- trainerbattle_double TRAINER_GABBY_AND_TY_2, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B805, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_TyBattle2:: @ 828CE36
+ trainerbattle_double TRAINER_GABBY_AND_TY_2, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
release
end
-Route120_EventScript_28CE56:: @ 828CE56
- trainerbattle_double TRAINER_GABBY_AND_TY_3, Route120_Text_28AF7D, Route120_Text_28B719, Route120_Text_28B5EC, Route120_EventScript_28CFC3
- msgbox Route120_Text_28B5C0, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_GabbyBattle3:: @ 828CE56
+ trainerbattle_double TRAINER_GABBY_AND_TY_3, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
release
end
-Route120_EventScript_28CE76:: @ 828CE76
- trainerbattle_double TRAINER_GABBY_AND_TY_3, Route120_Text_28B7B1, Route120_Text_28B8F6, Route120_Text_28B841, Route120_EventScript_28CFC3
- msgbox Route120_Text_28B805, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_TyBattle3:: @ 828CE76
+ trainerbattle_double TRAINER_GABBY_AND_TY_3, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
release
end
-Route111_EventScript_28CE96:: @ 828CE96
- trainerbattle_double TRAINER_GABBY_AND_TY_4, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_GabbyBattle4:: @ 828CE96
+ trainerbattle_double TRAINER_GABBY_AND_TY_4, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
release
end
-Route111_EventScript_28CEB6:: @ 828CEB6
- trainerbattle_double TRAINER_GABBY_AND_TY_4, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B805, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_TyBattle4:: @ 828CEB6
+ trainerbattle_double TRAINER_GABBY_AND_TY_4, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
release
end
-Route118_EventScript_28CED6:: @ 828CED6
- trainerbattle_double TRAINER_GABBY_AND_TY_5, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B5C0, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_GabbyBattle5:: @ 828CED6
+ trainerbattle_double TRAINER_GABBY_AND_TY_5, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
release
end
-Route118_EventScript_28CEF6:: @ 828CEF6
- trainerbattle_double TRAINER_GABBY_AND_TY_5, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B805, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_TyBattle5:: @ 828CEF6
+ trainerbattle_double TRAINER_GABBY_AND_TY_5, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
release
end
-Route111_EventScript_28CF16:: @ 828CF16
-Route118_EventScript_28CF16:: @ 828CF16
-Route120_EventScript_28CF16:: @ 828CF16
- trainerbattle_double TRAINER_GABBY_AND_TY_6, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_GabbyBattle6:: @ 828CF16
+ trainerbattle_double TRAINER_GABBY_AND_TY_6, GabbyAndTy_Text_GabbyIntro, GabbyAndTy_Text_GabbyDefeat, GabbyAndTy_Text_GabbyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
release
end
-Route111_EventScript_28CF36:: @ 828CF36
-Route118_EventScript_28CF36:: @ 828CF36
-Route120_EventScript_28CF36:: @ 828CF36
- trainerbattle_double TRAINER_GABBY_AND_TY_6, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B805, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_TyBattle6:: @ 828CF36
+ trainerbattle_double TRAINER_GABBY_AND_TY_6, GabbyAndTy_Text_TyIntro, GabbyAndTy_Text_TyDefeat, GabbyAndTy_Text_TyNotEnoughMons, GabbyAndTy_EventScript_RequestInterview
+ msgbox GabbyAndTy_Text_TyPostBattle, MSGBOX_DEFAULT
release
end
-Route111_EventScript_28CF56:: @ 828CF56
+GabbyAndTy_EventScript_FirstInterview:: @ 828CF56
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToEventObjectLocalIds
- compare VAR_FACING, 2
- call_if_eq Route111_EventScript_28CF94
- compare VAR_FACING, 1
- call_if_eq Route111_EventScript_28CF9F
- compare VAR_FACING, 4
- call_if_eq Route111_EventScript_28CFB1
- goto_if_set FLAG_TEMP_1, Route111_EventScript_28D0EE
- msgbox Route111_Text_28B042, MSGBOX_YESNO
- goto Route111_EventScript_28D0A7
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq GabbyAndTy_EventScript_FacePlayerNorth
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq GabbyAndTy_EventScript_FacePlayerSouth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq GabbyAndTy_EventScript_FacePlayerEast
+ goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
+ msgbox GabbyAndTy_Text_WhoAreYouInterview, MSGBOX_YESNO
+ goto GabbyAndTy_EventScript_Interview
end
-Route111_EventScript_28CF94:: @ 828CF94
- applymovement VAR_0x8004, Route111_Movement_28D04D
+GabbyAndTy_EventScript_FacePlayerNorth:: @ 828CF94
+ applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceDown
waitmovement 0
return
-Route111_EventScript_28CF9F:: @ 828CF9F
- applymovement VAR_0x8004, Route111_Movement_28D04F
- applymovement VAR_0x8005, Common_Movement_WalkInPlaceUp
+GabbyAndTy_EventScript_FacePlayerSouth:: @ 828CF9F
+ applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceUp
+ applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
return
-Route111_EventScript_28CFB1:: @ 828CFB1
- applymovement VAR_0x8004, Route111_Movement_28D051
- applymovement VAR_0x8005, Common_Movement_WalkInPlaceLeft
+GabbyAndTy_EventScript_FacePlayerEast:: @ 828CFB1
+ applymovement VAR_0x8004, GabbyAndTy_Movement_WalkInPlaceLeft
+ applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-Route111_EventScript_28CFC3:: @ 828CFC3
-Route118_EventScript_28CFC3:: @ 828CFC3
-Route120_EventScript_28CFC3:: @ 828CFC3
+GabbyAndTy_EventScript_RequestInterview:: @ 828CFC3
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToEventObjectLocalIds
- compare VAR_FACING, 2
- call_if_eq Route111_EventScript_28CF94
- compare VAR_FACING, 1
- call_if_eq Route111_EventScript_28CF9F
- compare VAR_FACING, 4
- call_if_eq Route111_EventScript_28CFB1
- goto_if_set FLAG_TEMP_1, Route111_EventScript_28D0EE
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq GabbyAndTy_EventScript_FacePlayerNorth
+ compare VAR_FACING, DIR_SOUTH
+ call_if_eq GabbyAndTy_EventScript_FacePlayerSouth
+ compare VAR_FACING, DIR_EAST
+ call_if_eq GabbyAndTy_EventScript_FacePlayerEast
+ goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
specialvar VAR_RESULT, GabbyAndTyGetLastQuote
compare VAR_RESULT, 0
- goto_if_eq Route111_EventScript_28D053
- msgbox Route111_Text_28B137, MSGBOX_DEFAULT
+ goto_if_eq GabbyAndTy_EventScript_DidntInterviewLastTime
+ msgbox GabbyAndTy_Text_QuoteFromLastInterview, MSGBOX_DEFAULT
specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia
switch VAR_RESULT
- case 0, Route111_EventScript_28D061
- case 1, Route111_EventScript_28D06F
- case 2, Route111_EventScript_28D07D
- case 3, Route111_EventScript_28D08B
- case 4, Route111_EventScript_28D099
+ case 0, GabbyAndTy_EventScript_RequestInterviewNoTrivia
+ case 1, GabbyAndTy_EventScript_RequestInterviewShortBattle
+ case 2, GabbyAndTy_EventScript_RequestInterviewThrewBall
+ case 3, GabbyAndTy_EventScript_RequestInterviewUsedItems
+ case 4, GabbyAndTy_EventScript_RequestInterviewLostAMon
end
-Route111_Movement_28D04D: @ 828D04D
+GabbyAndTy_Movement_WalkInPlaceDown: @ 828D04D
walk_in_place_down
step_end
-Route111_Movement_28D04F: @ 828D04F
+GabbyAndTy_Movement_WalkInPlaceUp: @ 828D04F
walk_in_place_up
step_end
-Route111_Movement_28D051: @ 828D051
+GabbyAndTy_Movement_WalkInPlaceLeft: @ 828D051
walk_in_place_left
step_end
-Route111_EventScript_28D053:: @ 828D053
- msgbox Route111_Text_28B62D, MSGBOX_YESNO
- goto Route111_EventScript_28D0A7
+GabbyAndTy_EventScript_DidntInterviewLastTime:: @ 828D053
+ msgbox GabbyAndTy_Text_GiveUsAnInterviewThisTime, MSGBOX_YESNO
+ goto GabbyAndTy_EventScript_Interview
end
-Route111_EventScript_28D061:: @ 828D061
- msgbox Route111_Text_28B3F3, MSGBOX_YESNO
- goto Route111_EventScript_28D0A7
+GabbyAndTy_EventScript_RequestInterviewNoTrivia:: @ 828D061
+ msgbox GabbyAndTy_Text_InterviewAgain, MSGBOX_YESNO
+ goto GabbyAndTy_EventScript_Interview
end
-Route111_EventScript_28D06F:: @ 828D06F
- msgbox Route111_Text_28B1B3, MSGBOX_YESNO
- goto Route111_EventScript_28D0A7
+GabbyAndTy_EventScript_RequestInterviewShortBattle:: @ 828D06F
+ msgbox GabbyAndTy_Text_YouStompedUsInterviewAgain, MSGBOX_YESNO
+ goto GabbyAndTy_EventScript_Interview
end
-Route111_EventScript_28D07D:: @ 828D07D
- msgbox Route111_Text_28B23D, MSGBOX_YESNO
- goto Route111_EventScript_28D0A7
+GabbyAndTy_EventScript_RequestInterviewThrewBall:: @ 828D07D
+ msgbox GabbyAndTy_Text_YouThrewABallAtUsInterviewAgain, MSGBOX_YESNO
+ goto GabbyAndTy_EventScript_Interview
end
-Route111_EventScript_28D08B:: @ 828D08B
- msgbox Route111_Text_28B2FA, MSGBOX_YESNO
- goto Route111_EventScript_28D0A7
+GabbyAndTy_EventScript_RequestInterviewUsedItems:: @ 828D08B
+ msgbox GabbyAndTy_Text_CleverItemSkillsInterviewAgain, MSGBOX_YESNO
+ goto GabbyAndTy_EventScript_Interview
end
-Route111_EventScript_28D099:: @ 828D099
- msgbox Route111_Text_28B379, MSGBOX_YESNO
- goto Route111_EventScript_28D0A7
+GabbyAndTy_EventScript_RequestInterviewLostAMon:: @ 828D099
+ msgbox GabbyAndTy_Text_WeLookedRespectableInterviewAgain, MSGBOX_YESNO
+ goto GabbyAndTy_EventScript_Interview
end
-Route111_EventScript_28D0A7:: @ 828D0A7
- compare VAR_RESULT, 0
- goto_if_eq Route111_EventScript_28D0E1
- msgbox Route111_Text_28B433, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_Interview:: @ 828D0A7
+ compare VAR_RESULT, NO
+ goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
+ msgbox GabbyAndTy_Text_DescribeYourFeelings, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_GABBY_AND_TY
call Common_ShowEasyChatScreen
lock
faceplayer
compare VAR_RESULT, 0
- goto_if_eq Route111_EventScript_28D0E1
- msgbox Route111_Text_28B4AB, MSGBOX_DEFAULT
+ goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
+ msgbox GabbyAndTy_Text_PerfectWellBeSeeingYou, MSGBOX_DEFAULT
special GabbyAndTyAfterInterview
setflag FLAG_TEMP_1
release
end
-Route111_EventScript_28D0E1:: @ 828D0E1
- msgbox Route111_Text_28B577, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut:: @ 828D0E1
+ msgbox GabbyAndTy_Text_DontGiveUpKeepingEyeOut, MSGBOX_DEFAULT
setflag FLAG_TEMP_1
release
end
-Route111_EventScript_28D0EE:: @ 828D0EE
- msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
+GabbyAndTy_EventScript_KeepingAnEyeOutForYou:: @ 828D0EE
+ msgbox GabbyAndTy_Text_KeepingAnEyeOutForYou, MSGBOX_DEFAULT
release
end
diff --git a/data/scripts/hall_of_fame.inc b/data/scripts/hall_of_fame.inc
new file mode 100644
index 000000000..91a88f348
--- /dev/null
+++ b/data/scripts/hall_of_fame.inc
@@ -0,0 +1,53 @@
+EverGrandeCity_HallOfFame_EventScript_SetGameClearFlags:: @ 82717C1
+ special SetChampionSaveWarp
+ setflag FLAG_IS_CHAMPION
+ call EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries
+ compare VAR_FOSSIL_MANIAC_STATE, 0
+ call_if_eq EverGrandeCity_HallOfFame_EventScript_SetDesertUnderpassCommentReady
+ clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour
+ setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
+ clearflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
+ setvar VAR_STEVENS_HOUSE_STATE, 2
+ setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
+ clearflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
+ clearflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL
+ setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS
+ clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
+ setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL
+ special UpdateTrainerFanClubGameClear
+ call_if_unset FLAG_RECEIVED_SS_TICKET, EverGrandeCity_HallOfFame_EventScript_ReadyReceiveSSTicketEvent
+ call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_ShowStevensHouseBeldum
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
+ compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 0
+ call_if_eq EverGrandeCity_HallOfFame_EventScript_ReadyDexUpgradeEvent
+ return
+
+EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries:: @ 8271829
+ clearflag FLAG_DEFEATED_MEW
+ clearflag FLAG_DEFEATED_LATIAS_OR_LATIOS
+ clearflag FLAG_DEFEATED_DEOXYS
+ clearflag FLAG_DEFEATED_LUGIA
+ clearflag FLAG_DEFEATED_HO_OH
+ return
+
+EverGrandeCity_HallOfFame_EventScript_SetDesertUnderpassCommentReady:: @ 8271839
+ setvar VAR_FOSSIL_MANIAC_STATE, 1
+ return
+
+EverGrandeCity_HallOfFame_EventScript_ShowStevensHouseBeldum:: @ 827183F
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
+ return
+
+EverGrandeCity_HallOfFame_EventScript_ReadyReceiveSSTicketEvent:: @ 8271843
+ setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 3
+ setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 3
+ clearflag FLAG_HIDE_PLAYERS_HOUSE_DAD
+ return
+
+EverGrandeCity_HallOfFame_EventScript_ReadyDexUpgradeEvent:: @ 8271851
+ setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1
+ return
diff --git a/data/scripts/interview.inc b/data/scripts/interview.inc
new file mode 100644
index 000000000..f968577f3
--- /dev/null
+++ b/data/scripts/interview.inc
@@ -0,0 +1,344 @@
+Interview_EventScript_EndInterview:: @ 828C7E9
+ special InterviewAfter
+ incrementgamestat GAME_STAT_GOT_INTERVIEWED
+ release
+ end
+
+@ Shares reporter object with TVSHOW_PKMN_FAN_CLUB_OPINIONS
+SlateportCity_PokemonFanClub_EventScript_ReporterNoNickname:: @ 828C7F0
+ setvar VAR_0x8005, TVSHOW_FAN_CLUB_LETTER
+ special InterviewBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed2
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox SlateportCity_PokemonFanClub_Text_InterviewRequest, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_AcceptInterview2
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview2
+ end
+
+SlateportCity_PokemonFanClub_EventScript_AcceptInterview2:: @ 828C827
+ msgbox SlateportCity_PokemonFanClub_Text_TellMeAnythingAboutYourMon, MSGBOX_DEFAULT
+ setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_FEMALE
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 1
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_SubmitResponse2
+ compare VAR_RESULT, 0
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview2
+ end
+
+SlateportCity_PokemonFanClub_EventScript_DeclineInterview2:: @ 828C85C
+ msgbox SlateportCity_PokemonFanClub_Text_HereIfYouGetUrgeToTellMe, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_SubmitResponse2:: @ 828C866
+ msgbox SlateportCity_PokemonFanClub_Text_ThatsAllForInterview2, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TVSHOW_FAN_CLUB_LETTER
+ goto Interview_EventScript_EndInterview
+ end
+
+SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed2:: @ 828C879
+ msgbox SlateportCity_PokemonFanClub_Text_EnjoyDoingInterviews, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_Reporter:: @ 828C883
+ lock
+ faceplayer
+ setvar VAR_0x8005, TVSHOW_RECENT_HAPPENINGS
+ special InterviewBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AlreadyInterviewed
+ copyvar VAR_0x8009, VAR_0x8006
+ goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_RequestInterviewShort
+ setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER
+ msgbox SlateportCity_OceanicMuseum_1F_Text_InterviewRequest, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_RequestInterviewShort:: @ 828C8C8
+ msgbox SlateportCity_OceanicMuseum_1F_Text_InterviewRequestShort, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview:: @ 828C8E7
+ msgbox SlateportCity_OceanicMuseum_1F_Text_TellMeExperienceInvolvingPokemon, MSGBOX_DEFAULT
+ setvar VAR_0x8004, EASY_CHAT_TYPE_INTERVIEW
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, EASY_CHAT_PERSON_REPORTER_MALE
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 1
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_SubmitResponse
+ compare VAR_RESULT, 0
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview:: @ 828C91C
+ msgbox SlateportCity_OceanicMuseum_1F_Text_LetMeKnowIfYouHaveStory, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_SubmitResponse:: @ 828C926
+ msgbox SlateportCity_OceanicMuseum_1F_Text_ThatsAllForInterview, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TVSHOW_RECENT_HAPPENINGS
+ goto Interview_EventScript_EndInterview
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_AlreadyInterviewed:: @ 828C939
+ msgbox SlateportCity_OceanicMuseum_1F_Text_BetterWriteUpStory, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_Reporter:: @ 828C943
+ lock
+ faceplayer
+ specialvar VAR_RESULT, IsLeadMonNicknamedOrNotEnglish
+ compare VAR_RESULT, FALSE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_ReporterNoNickname
+ setvar VAR_0x8005, TVSHOW_PKMN_FAN_CLUB_OPINIONS
+ special InterviewBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox SlateportCity_PokemonFanClub_Text_InterviewRequestHasName, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_AcceptInterview
+ compare VAR_RESULT, NO
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview
+ end
+
+SlateportCity_PokemonFanClub_EventScript_AcceptInterview:: @ 828C98C
+ msgbox SlateportCity_PokemonFanClub_Text_HereGoesQuickAnswers, MSGBOX_DEFAULT
+ random 3
+ copyvar VAR_0x800A, VAR_RESULT
+ switch VAR_RESULT
+ case 0, SlateportCity_PokemonFanClub_EventScript_RandomQuestion1
+ case 1, SlateportCity_PokemonFanClub_EventScript_RandomQuestion2
+ case 2, SlateportCity_PokemonFanClub_EventScript_RandomQuestion3
+ end
+
+SlateportCity_PokemonFanClub_EventScript_RandomQuestion1:: @ 828C9C3
+ msgbox SlateportCity_PokemonFanClub_Text_DescribeFeelingsFirstMetMon, MSGBOX_DEFAULT
+ goto SlateportCity_PokemonFanClub_EventScript_ContinueInterview
+ end
+
+SlateportCity_PokemonFanClub_EventScript_RandomQuestion2:: @ 828C9D1
+ msgbox SlateportCity_PokemonFanClub_Text_LikenMonToSomethingYouLike, MSGBOX_DEFAULT
+ goto SlateportCity_PokemonFanClub_EventScript_ContinueInterview
+ end
+
+SlateportCity_PokemonFanClub_EventScript_RandomQuestion3:: @ 828C9DF
+ msgbox SlateportCity_PokemonFanClub_Text_WhatAttractedYouAboutMon, MSGBOX_DEFAULT
+ goto SlateportCity_PokemonFanClub_EventScript_ContinueInterview
+ end
+
+SlateportCity_PokemonFanClub_EventScript_ContinueInterview:: @ 828C9ED
+ setvar VAR_0x8004, EASY_CHAT_TYPE_FAN_CLUB
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 0
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 0
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview
+ msgbox SlateportCity_PokemonFanClub_Text_WhatDoPokemonMeanToYou, MSGBOX_DEFAULT
+ setvar VAR_0x8006, 1
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 0
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview
+ msgbox SlateportCity_PokemonFanClub_Text_ThatsAllForInterview, MSGBOX_DEFAULT
+ copyvar VAR_0x8007, VAR_0x800A
+ setvar VAR_0x8005, TVSHOW_PKMN_FAN_CLUB_OPINIONS
+ goto Interview_EventScript_EndInterview
+ end
+
+SlateportCity_PokemonFanClub_EventScript_DeclineInterview:: @ 828CA45
+ msgbox SlateportCity_PokemonFanClub_Text_HereIfYouGetUrgeToTellMe, MSGBOX_DEFAULT
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed:: @ 828CA4F
+ msgbox SlateportCity_PokemonFanClub_Text_EnjoyDoingInterviews, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_Reporter:: @ 828CA59
+ lock
+ faceplayer
+ goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed
+ setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE
+ special InterviewBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox LilycoveCity_ContestLobby_Text_InterviewRequest, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_AcceptInterview
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview
+ end
+
+LilycoveCity_ContestLobby_EventScript_AcceptInterview:: @ 828CA9B
+ msgbox LilycoveCity_ContestLobby_Text_DescribeContest, MSGBOX_DEFAULT
+ setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 0
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 1
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_SubmitResponse
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview
+ end
+
+LilycoveCity_ContestLobby_EventScript_DeclineInterview:: @ 828CAD0
+ msgbox LilycoveCity_ContestLobby_Text_PleaseDoShareStoryWithMe, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_SubmitResponse:: @ 828CADA
+ setvar VAR_0x8004, 24
+ special SetContestCategoryStringVarForInterview
+ msgbox LilycoveCity_ContestLobby_Text_WhatImageWhenYouHearX, MSGBOX_DEFAULT
+ setvar VAR_0x8004, EASY_CHAT_TYPE_CONTEST_INTERVIEW
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 1
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview
+ msgbox LilycoveCity_ContestLobby_Text_ThatsAllForInterview, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_2
+ setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE
+ goto Interview_EventScript_EndInterview
+ end
+
+LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed:: @ 828CB21
+ msgbox LilycoveCity_ContestLobby_Text_LookingForwardToNextContest, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_TryShowContestReporter:: @ 828CB2B
+ compare VAR_CONTEST_HALL_STATE, 2
+ goto_if_ne LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
+ setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE
+ special InterviewBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
+ switch VAR_CONTEST_TYPE
+ case 0, LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
+ case 2, LilycoveCity_ContestLobby_EventScript_ShowContestReporter
+ case 1, LilycoveCity_ContestLobby_EventScript_ShowContestReporter
+ case 3, LilycoveCity_ContestLobby_EventScript_ShowContestReporter
+ case 4, LilycoveCity_ContestLobby_EventScript_ShowContestReporter
+ case 5, LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
+ end
+
+LilycoveCity_ContestLobby_EventScript_ShowContestReporter:: @ 828CB91
+ clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
+ return
+
+LilycoveCity_ContestLobby_EventScript_DontShowContestReporter:: @ 828CB95
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_Reporter:: @ 828CB96
+ lock
+ faceplayer
+ goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed
+ setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE
+ special InterviewBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox BattleFrontier_BattleTowerLobby_Text_InterviewRequest, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview
+ compare VAR_RESULT, NO
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_DeclineInterview
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview:: @ 828CBD8
+ message BattleFrontier_BattleTowerLobby_Text_HowDidBattleTowerTurnOut
+ waitmessage
+ multichoice 20, 8, MULTI_SATISFACTION, 1
+ copyvar VAR_0x8008, VAR_RESULT
+ compare VAR_RESULT, 0
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_Satisfied
+ compare VAR_RESULT, 1
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_Dissatisfied
+ msgbox BattleFrontier_BattleTowerLobby_Text_DescribeYourBattle, MSGBOX_DEFAULT
+ setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW
+ copyvar VAR_0x8005, VAR_0x8009
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ compare VAR_RESULT, 1
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_SubmitResponse
+ compare VAR_RESULT, 0
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelInterview
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_DeclineInterview:: @ 828CC2E
+ msgbox BattleFrontier_BattleTowerLobby_Text_SorryWeDisturbedYou, MSGBOX_DEFAULT
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_Satisfied:: @ 828CC38
+ msgbox BattleFrontier_BattleTowerLobby_Text_ObviousYouHadGreatBattle, MSGBOX_DEFAULT
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_Dissatisfied:: @ 828CC41
+ msgbox BattleFrontier_BattleTowerLobby_Text_DifficultToMakeBattleTurnOutAsPlanned, MSGBOX_DEFAULT
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_SubmitResponse:: @ 828CC4A
+ compare VAR_RESULT, 0
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelInterview
+ msgbox BattleFrontier_BattleTowerLobby_Text_ThatsGreatLine, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_2
+ copyvar VAR_0x8004, VAR_0x8008
+ setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE
+ goto Interview_EventScript_EndInterview
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_CancelInterview:: @ 828CC70
+ msgbox BattleFrontier_BattleTowerLobby_Text_SilentType, MSGBOX_DEFAULT
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed:: @ 828CC7A
+ msgbox BattleFrontier_BattleTowerLobby_Text_LookingForwardToNextBattle, MSGBOX_DEFAULT
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_ShowOrHideReporter:: @ 828CC84
+ compare VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_HideReporter
+ setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE
+ special InterviewBefore
+ compare VAR_RESULT, TRUE
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_HideReporter
+ clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_HideReporter:: @ 828CCA6
+ setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
+ return
diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc
index 045fbb5a7..2876e9e8c 100644
--- a/data/scripts/item_ball_scripts.inc
+++ b/data/scripts/item_ball_scripts.inc
@@ -1,659 +1,659 @@
Route102_EventScript_ItemPotion:: @ 8290CD8
- giveitem_std ITEM_POTION, 1, 1
+ finditem ITEM_POTION
end
Route103_EventScript_ItemGuardSpec:: @ 8290CE5
- giveitem_std ITEM_GUARD_SPEC, 1, 1
+ finditem ITEM_GUARD_SPEC
end
Route103_EventScript_ItemPPUp:: @ 8290CF2
- giveitem_std ITEM_PP_UP, 1, 1
+ finditem ITEM_PP_UP
end
Route104_EventScript_ItemPPUp:: @ 8290CFF
- giveitem_std ITEM_PP_UP, 1, 1
+ finditem ITEM_PP_UP
end
Route104_EventScript_ItemPokeBall:: @ 8290D0C
- giveitem_std ITEM_POKE_BALL, 1, 1
+ finditem ITEM_POKE_BALL
end
Route104_EventScript_ItemXAccuracy:: @ 8290D19
- giveitem_std ITEM_X_ACCURACY, 1, 1
+ finditem ITEM_X_ACCURACY
end
Route104_EventScript_ItemPotion:: @ 8290D26
- giveitem_std ITEM_POTION, 1, 1
+ finditem ITEM_POTION
end
Route105_EventScript_ItemIron:: @ 8290D33
- giveitem_std ITEM_IRON, 1, 1
+ finditem ITEM_IRON
end
Route106_EventScript_ItemProtein:: @ 8290D40
- giveitem_std ITEM_PROTEIN, 1, 1
+ finditem ITEM_PROTEIN
end
Route108_EventScript_ItemStarPiece:: @ 8290D4D
- giveitem_std ITEM_STAR_PIECE, 1, 1
+ finditem ITEM_STAR_PIECE
end
Route109_EventScript_ItemPPUp:: @ 8290D5A
- giveitem_std ITEM_PP_UP, 1, 1
+ finditem ITEM_PP_UP
end
Route109_EventScript_ItemPotion:: @ 8290D67
- giveitem_std ITEM_POTION, 1, 1
+ finditem ITEM_POTION
end
Route110_EventScript_ItemRareCandy:: @ 8290D74
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
Route110_EventScript_ItemDireHit:: @ 8290D81
- giveitem_std ITEM_DIRE_HIT, 1, 1
+ finditem ITEM_DIRE_HIT
end
Route110_EventScript_ItemElixir:: @ 8290D8E
- giveitem_std ITEM_ELIXIR, 1, 1
+ finditem ITEM_ELIXIR
end
Route111_EventScript_ItemTM37:: @ 8290D9B
- giveitem_std ITEM_TM37, 1, 1
+ finditem ITEM_TM37
end
Route111_EventScript_ItemStardust:: @ 8290DA8
- giveitem_std ITEM_STARDUST, 1, 1
+ finditem ITEM_STARDUST
end
Route111_EventScript_ItemHPUp:: @ 8290DB5
- giveitem_std ITEM_HP_UP, 1, 1
+ finditem ITEM_HP_UP
end
Route111_EventScript_ItemElixir:: @ 8290DC2
- giveitem_std ITEM_ELIXIR, 1, 1
+ finditem ITEM_ELIXIR
end
Route112_EventScript_ItemNugget:: @ 8290DCF
- giveitem_std ITEM_NUGGET, 1, 1
+ finditem ITEM_NUGGET
end
Route113_EventScript_ItemMaxEther:: @ 8290DDC
- giveitem_std ITEM_MAX_ETHER, 1, 1
+ finditem ITEM_MAX_ETHER
end
Route113_EventScript_ItemSuperRepel:: @ 8290DE9
- giveitem_std ITEM_SUPER_REPEL, 1, 1
+ finditem ITEM_SUPER_REPEL
end
Route113_EventScript_ItemHyperPotion:: @ 8290DF6
- giveitem_std ITEM_HYPER_POTION, 1, 1
+ finditem ITEM_HYPER_POTION
end
Route114_EventScript_ItemRareCandy:: @ 8290E03
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
Route114_EventScript_ItemProtein:: @ 8290E10
- giveitem_std ITEM_PROTEIN, 1, 1
+ finditem ITEM_PROTEIN
end
Route114_EventScript_ItemEnergyPowder:: @ 8290E1D
- giveitem_std ITEM_ENERGY_POWDER, 1, 1
+ finditem ITEM_ENERGY_POWDER
end
Route115_EventScript_ItemSuperPotion:: @ 8290E2A
- giveitem_std ITEM_SUPER_POTION, 1, 1
+ finditem ITEM_SUPER_POTION
end
Route115_EventScript_ItemTM01:: @ 8290E37
- giveitem_std ITEM_TM01, 1, 1
+ finditem ITEM_TM01
end
Route115_EventScript_ItemIron:: @ 8290E44
- giveitem_std ITEM_IRON, 1, 1
+ finditem ITEM_IRON
end
Route115_EventScript_ItemGreatBall:: @ 8290E51
- giveitem_std ITEM_GREAT_BALL, 1, 1
+ finditem ITEM_GREAT_BALL
end
Route115_EventScript_ItemHealPowder:: @ 8290E5E
- giveitem_std ITEM_HEAL_POWDER, 1, 1
+ finditem ITEM_HEAL_POWDER
end
Route115_EventScript_ItemPPUp:: @ 8290E6B
- giveitem_std ITEM_PP_UP, 1, 1
+ finditem ITEM_PP_UP
end
Route116_EventScript_ItemXSpecial:: @ 8290E78
- giveitem_std ITEM_X_SPECIAL, 1, 1
+ finditem ITEM_X_SPECIAL
end
Route116_EventScript_ItemEther:: @ 8290E85
- giveitem_std ITEM_ETHER, 1, 1
+ finditem ITEM_ETHER
end
Route116_EventScript_ItemRepel:: @ 8290E92
- giveitem_std ITEM_REPEL, 1, 1
+ finditem ITEM_REPEL
end
Route116_EventScript_ItemHPUp:: @ 8290E9F
- giveitem_std ITEM_HP_UP, 1, 1
+ finditem ITEM_HP_UP
end
Route116_EventScript_ItemPotion:: @ 8290EAC
- giveitem_std ITEM_POTION, 1, 1
+ finditem ITEM_POTION
end
Route117_EventScript_ItemGreatBall:: @ 8290EB9
- giveitem_std ITEM_GREAT_BALL, 1, 1
+ finditem ITEM_GREAT_BALL
end
Route117_EventScript_ItemRevive:: @ 8290EC6
- giveitem_std ITEM_REVIVE, 1, 1
+ finditem ITEM_REVIVE
end
Route118_EventScript_ItemHyperPotion:: @ 8290ED3
- giveitem_std ITEM_HYPER_POTION, 1, 1
+ finditem ITEM_HYPER_POTION
end
Route119_EventScript_ItemSuperRepel:: @ 8290EE0
- giveitem_std ITEM_SUPER_REPEL, 1, 1
+ finditem ITEM_SUPER_REPEL
end
Route119_EventScript_ItemZinc:: @ 8290EED
- giveitem_std ITEM_ZINC, 1, 1
+ finditem ITEM_ZINC
end
Route119_EventScript_ItemElixir:: @ 8290EFA
- giveitem_std ITEM_ELIXIR, 1, 1
+ finditem ITEM_ELIXIR
end
Route119_EventScript_ItemLeafStone:: @ 8290F07
- giveitem_std ITEM_LEAF_STONE, 1, 1
+ finditem ITEM_LEAF_STONE
end
Route119_EventScript_ItemRareCandy:: @ 8290F14
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
Route119_EventScript_ItemHyperPotion:: @ 8290F21
- giveitem_std ITEM_HYPER_POTION, 1, 1
+ finditem ITEM_HYPER_POTION
end
Route119_EventScript_ItemHyperPotion2:: @ 8290F2E
- giveitem_std ITEM_HYPER_POTION, 1, 1
+ finditem ITEM_HYPER_POTION
end
Route119_EventScript_ItemElixir2:: @ 8290F3B
- giveitem_std ITEM_ELIXIR, 1, 1
+ finditem ITEM_ELIXIR
end
Route120_EventScript_ItemNugget:: @ 8290F48
- giveitem_std ITEM_NUGGET, 1, 1
+ finditem ITEM_NUGGET
end
Route120_EventScript_ItemFullHeal:: @ 8290F55
- giveitem_std ITEM_FULL_HEAL, 1, 1
+ finditem ITEM_FULL_HEAL
end
Route120_EventScript_ItemHyperPotion:: @ 8290F62
- giveitem_std ITEM_HYPER_POTION, 1, 1
+ finditem ITEM_HYPER_POTION
end
Route120_EventScript_ItemNestBall:: @ 8290F6F
- giveitem_std ITEM_NEST_BALL, 1, 1
+ finditem ITEM_NEST_BALL
end
Route120_EventScript_ItemRevive:: @ 8290F7C
- giveitem_std ITEM_REVIVE, 1, 1
+ finditem ITEM_REVIVE
end
Route121_EventScript_ItemCarbos:: @ 8290F89
- giveitem_std ITEM_CARBOS, 1, 1
+ finditem ITEM_CARBOS
end
Route121_EventScript_ItemRevive:: @ 8290F96
- giveitem_std ITEM_REVIVE, 1, 1
+ finditem ITEM_REVIVE
end
Route121_EventScript_ItemZinc:: @ 8290FA3
- giveitem_std ITEM_ZINC, 1, 1
+ finditem ITEM_ZINC
end
Route123_EventScript_ItemCalcium:: @ 8290FB0
- giveitem_std ITEM_CALCIUM, 1, 1
+ finditem ITEM_CALCIUM
end
Route123_EventScript_ItemUltraBall:: @ 8290FBD
- giveitem_std ITEM_ULTRA_BALL, 1, 1
+ finditem ITEM_ULTRA_BALL
end
Route123_EventScript_ItemElixir:: @ 8290FCA
- giveitem_std ITEM_ELIXIR, 1, 1
+ finditem ITEM_ELIXIR
end
Route123_EventScript_ItemPPUp:: @ 8290FD7
- giveitem_std ITEM_PP_UP, 1, 1
+ finditem ITEM_PP_UP
end
Route123_EventScript_ItemRevivalHerb:: @ 8290FE4
- giveitem_std ITEM_REVIVAL_HERB, 1, 1
+ finditem ITEM_REVIVAL_HERB
end
Route124_EventScript_ItemRedShard:: @ 8290FF1
- giveitem_std ITEM_RED_SHARD, 1, 1
+ finditem ITEM_RED_SHARD
end
Route124_EventScript_ItemBlueShard:: @ 8290FFE
- giveitem_std ITEM_BLUE_SHARD, 1, 1
+ finditem ITEM_BLUE_SHARD
end
Route124_EventScript_ItemYellowShard:: @ 829100B
- giveitem_std ITEM_YELLOW_SHARD, 1, 1
+ finditem ITEM_YELLOW_SHARD
end
Route125_EventScript_ItemBigPearl:: @ 8291018
- giveitem_std ITEM_BIG_PEARL, 1, 1
+ finditem ITEM_BIG_PEARL
end
Route126_EventScript_ItemGreenShard:: @ 8291025
- giveitem_std ITEM_GREEN_SHARD, 1, 1
+ finditem ITEM_GREEN_SHARD
end
Route127_EventScript_ItemZinc:: @ 8291032
- giveitem_std ITEM_ZINC, 1, 1
+ finditem ITEM_ZINC
end
Route127_EventScript_ItemCarbos:: @ 829103F
- giveitem_std ITEM_CARBOS, 1, 1
+ finditem ITEM_CARBOS
end
Route127_EventScript_ItemRareCandy:: @ 829104C
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
Route132_EventScript_ItemRareCandy:: @ 8291059
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
Route132_EventScript_ItemProtein:: @ 8291066
- giveitem_std ITEM_PROTEIN, 1, 1
+ finditem ITEM_PROTEIN
end
Route133_EventScript_ItemBigPearl:: @ 8291073
- giveitem_std ITEM_BIG_PEARL, 1, 1
+ finditem ITEM_BIG_PEARL
end
Route133_EventScript_ItemStarPiece:: @ 8291080
- giveitem_std ITEM_STAR_PIECE, 1, 1
+ finditem ITEM_STAR_PIECE
end
Route133_EventScript_ItemMaxRevive:: @ 829108D
- giveitem_std ITEM_MAX_REVIVE, 1, 1
+ finditem ITEM_MAX_REVIVE
end
Route134_EventScript_ItemCarbos:: @ 829109A
- giveitem_std ITEM_CARBOS, 1, 1
+ finditem ITEM_CARBOS
end
Route134_EventScript_ItemStarPiece:: @ 82910A7
- giveitem_std ITEM_STAR_PIECE, 1, 1
+ finditem ITEM_STAR_PIECE
end
PetalburgCity_EventScript_ItemMaxRevive:: @ 82910B4
- giveitem_std ITEM_MAX_REVIVE, 1, 1
+ finditem ITEM_MAX_REVIVE
end
PetalburgCity_EventScript_ItemEther:: @ 82910C1
- giveitem_std ITEM_ETHER, 1, 1
+ finditem ITEM_ETHER
end
MauvilleCity_EventScript_ItemXSpeed:: @ 82910CE
- giveitem_std ITEM_X_SPEED, 1, 1
+ finditem ITEM_X_SPEED
end
RustboroCity_EventScript_ItemXDefend:: @ 82910DB
- giveitem_std ITEM_X_DEFEND, 1, 1
+ finditem ITEM_X_DEFEND
end
LilycoveCity_EventScript_ItemMaxRepel:: @ 82910E8
- giveitem_std ITEM_MAX_REPEL, 1, 1
+ finditem ITEM_MAX_REPEL
end
MossdeepCity_EventScript_ItemNetBall:: @ 82910F5
- giveitem_std ITEM_NET_BALL, 1, 1
+ finditem ITEM_NET_BALL
end
PetalburgWoods_EventScript_ItemXAttack:: @ 8291102
- giveitem_std ITEM_X_ATTACK, 1, 1
+ finditem ITEM_X_ATTACK
end
PetalburgWoods_EventScript_ItemGreatBall:: @ 829110F
- giveitem_std ITEM_GREAT_BALL, 1, 1
+ finditem ITEM_GREAT_BALL
end
PetalburgWoods_EventScript_ItemEther:: @ 829111C
- giveitem_std ITEM_ETHER, 1, 1
+ finditem ITEM_ETHER
end
PetalburgWoods_EventScript_ItemParalyzeHeal:: @ 8291129
- giveitem_std ITEM_PARALYZE_HEAL, 1, 1
+ finditem ITEM_PARALYZE_HEAL
end
RusturfTunnel_EventScript_ItemPokeBall:: @ 8291136
- giveitem_std ITEM_POKE_BALL, 1, 1
+ finditem ITEM_POKE_BALL
end
RusturfTunnel_EventScript_ItemMaxEther:: @ 8291143
- giveitem_std ITEM_MAX_ETHER, 1, 1
+ finditem ITEM_MAX_ETHER
end
GraniteCave_1F_EventScript_ItemEscapeRope:: @ 8291150
- giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ finditem ITEM_ESCAPE_ROPE
end
GraniteCave_B1F_EventScript_ItemPokeBall:: @ 829115D
- giveitem_std ITEM_POKE_BALL, 1, 1
+ finditem ITEM_POKE_BALL
end
GraniteCave_B2F_EventScript_ItemRepel:: @ 829116A
- giveitem_std ITEM_REPEL, 1, 1
+ finditem ITEM_REPEL
end
GraniteCave_B2F_EventScript_ItemRareCandy:: @ 8291177
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
JaggedPass_EventScript_ItemBurnHeal:: @ 8291184
- giveitem_std ITEM_BURN_HEAL, 1, 1
+ finditem ITEM_BURN_HEAL
end
FieryPath_EventScript_ItemFireStone:: @ 8291191
- giveitem_std ITEM_FIRE_STONE, 1, 1
+ finditem ITEM_FIRE_STONE
end
FieryPath_EventScript_ItemTM06:: @ 829119E
- giveitem_std ITEM_TM06, 1, 1
+ finditem ITEM_TM06
end
MeteorFalls_1F_1R_EventScript_ItemTM23:: @ 82911AB
- giveitem_std ITEM_TM23, 1, 1
+ finditem ITEM_TM23
end
MeteorFalls_1F_1R_EventScript_ItemFullHeal:: @ 82911B8
- giveitem_std ITEM_FULL_HEAL, 1, 1
+ finditem ITEM_FULL_HEAL
end
MeteorFalls_1F_1R_EventScript_ItemMoonStone:: @ 82911C5
- giveitem_std ITEM_MOON_STONE, 1, 1
+ finditem ITEM_MOON_STONE
end
MeteorFalls_1F_1R_EventScript_ItemPPUP:: @ 82911D2
- giveitem_std ITEM_PP_UP, 1, 1
+ finditem ITEM_PP_UP
end
MeteorFalls_B1F_2R_EventScript_ItemTM02:: @ 82911DF
- giveitem_std ITEM_TM02, 1, 1
+ finditem ITEM_TM02
end
NewMauville_Inside_EventScript_ItemUltraRope:: @ 82911EC
- giveitem_std ITEM_ULTRA_BALL, 1, 1
+ finditem ITEM_ULTRA_BALL
end
NewMauville_Inside_EventScript_ItemEscapeRope:: @ 82911F9
- giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ finditem ITEM_ESCAPE_ROPE
end
NewMauville_Inside_EventScript_ItemThunderStone:: @ 8291206
- giveitem_std ITEM_THUNDER_STONE, 1, 1
+ finditem ITEM_THUNDER_STONE
end
NewMauville_Inside_EventScript_ItemFullHeal:: @ 8291213
- giveitem_std ITEM_FULL_HEAL, 1, 1
+ finditem ITEM_FULL_HEAL
end
NewMauville_Inside_EventScript_ItemParalyzeHeal:: @ 8291220
- giveitem_std ITEM_PARALYZE_HEAL, 1, 1
+ finditem ITEM_PARALYZE_HEAL
end
AbandonedShip_Rooms_1F_EventScript_ItemHarborMail:: @ 829122D
- giveitem_std ITEM_HARBOR_MAIL, 1, 1
+ finditem ITEM_HARBOR_MAIL
end
AbandonedShip_Rooms_B1F_EventScript_ItemEscapeRope:: @ 829123A
- giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ finditem ITEM_ESCAPE_ROPE
end
AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall:: @ 8291247
- giveitem_std ITEM_DIVE_BALL, 1, 1
+ finditem ITEM_DIVE_BALL
end
AbandonedShip_Room_B1F_EventScript_ItemTM13:: @ 8291254
- giveitem_std ITEM_TM13, 1, 1
+ finditem ITEM_TM13
end
AbandonedShip_Rooms2_1F_EventScript_ItemRevive:: @ 8291261
- giveitem_std ITEM_REVIVE, 1, 1
+ finditem ITEM_REVIVE
end
AbandonedShip_CaptainsOffice_EventScript_ItemStorageKey:: @ 829126E
- giveitem_std ITEM_STORAGE_KEY, 1, 1
+ finditem ITEM_STORAGE_KEY
end
AbandonedShip_HiddenFloorRooms_EventScript_ItemLuxuryBall:: @ 829127B
- giveitem_std ITEM_LUXURY_BALL, 1, 1
+ finditem ITEM_LUXURY_BALL
end
AbandonedShip_HiddenFloorRooms_EventScript_ItemScanner:: @ 8291288
- giveitem_std ITEM_SCANNER, 1, 1
+ finditem ITEM_SCANNER
end
AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone:: @ 8291295
- giveitem_std ITEM_WATER_STONE, 1, 1
+ finditem ITEM_WATER_STONE
end
AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18:: @ 82912A2
- giveitem_std ITEM_TM18, 1, 1
+ finditem ITEM_TM18
end
ScorchedSlab_EventScript_ItemTM11:: @ 82912AF
- giveitem_std ITEM_TM11, 1, 1
+ finditem ITEM_TM11
end
SafariZone_Northwest_EventScript_ItemTM22:: @ 82912BC
- giveitem_std ITEM_TM22, 1, 1
+ finditem ITEM_TM22
end
SafariZone_North_EventScript_ItemCalcium:: @ 82912C9
- giveitem_std ITEM_CALCIUM, 1, 1
+ finditem ITEM_CALCIUM
end
SafariZone_Southwest_EventScript_ItemMaxRevive:: @ 82912D6
- giveitem_std ITEM_MAX_REVIVE, 1, 1
+ finditem ITEM_MAX_REVIVE
end
SafariZone_Northeast_EventScript_ItemNugget:: @ 82912E3
- giveitem_std ITEM_NUGGET, 1, 1
+ finditem ITEM_NUGGET
end
SafariZone_Southeast_EventScript_ItemBigPearl:: @ 82912F0
- giveitem_std ITEM_BIG_PEARL, 1, 1
+ finditem ITEM_BIG_PEARL
end
MtPyre_2F_EventScript_ItemUltraBall:: @ 82912FD
- giveitem_std ITEM_ULTRA_BALL, 1, 1
+ finditem ITEM_ULTRA_BALL
end
MtPyre_3F_EventScript_ItemSuperRepel:: @ 829130A
- giveitem_std ITEM_SUPER_REPEL, 1, 1
+ finditem ITEM_SUPER_REPEL
end
MtPyre_4F_EventScript_ItemSeaIncense:: @ 8291317
- giveitem_std ITEM_SEA_INCENSE, 1, 1
+ finditem ITEM_SEA_INCENSE
end
MtPyre_5F_EventScript_ItemLaxIncense:: @ 8291324
- giveitem_std ITEM_LAX_INCENSE, 1, 1
+ finditem ITEM_LAX_INCENSE
end
MtPyre_6F_EventScript_ItemTM30:: @ 8291331
- giveitem_std ITEM_TM30, 1, 1
+ finditem ITEM_TM30
end
MtPyre_Exterior_EventScript_ItemMaxPotion:: @ 829133E
- giveitem_std ITEM_MAX_POTION, 1, 1
+ finditem ITEM_MAX_POTION
end
MtPyre_Exterior_EventScript_ItemTM48:: @ 829134B
- giveitem_std ITEM_TM48, 1, 1
+ finditem ITEM_TM48
end
AquaHideout_B1F_EventScript_ItemMasterBall:: @ 8291358
- giveitem_std ITEM_MASTER_BALL, 1, 1
+ finditem ITEM_MASTER_BALL
end
AquaHideout_B1F_EventScript_ItemNugget:: @ 8291365
- giveitem_std ITEM_NUGGET, 1, 1
+ finditem ITEM_NUGGET
end
AquaHideout_B1F_EventScript_ItemMaxElixir:: @ 8291372
- giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ finditem ITEM_MAX_ELIXIR
end
AquaHideout_B2F_EventScript_ItemNestBall:: @ 829137F
- giveitem_std ITEM_NEST_BALL, 1, 1
+ finditem ITEM_NEST_BALL
end
AquaHideout_B2F_EventScript_ItemMasterBall:: @ 829138C
- giveitem_std ITEM_MASTER_BALL, 1, 1 // Unused
+ finditem ITEM_MASTER_BALL // Unused
end
Route119_EventScript_ItemNugget:: @ 8291399
- giveitem_std ITEM_NUGGET, 1, 1
+ finditem ITEM_NUGGET
end
Route119_EventScript_ItemMaxElixir:: @ 82913A6
- giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ finditem ITEM_MAX_ELIXIR
end
Route119_EventScript_ItemNestBall:: @ 82913B3
- giveitem_std ITEM_NEST_BALL, 1, 1
+ finditem ITEM_NEST_BALL
end
ShoalCave_LowTideEntranceRoom_EventScript_ItemBigPearl:: @ 82913C0
- giveitem_std ITEM_BIG_PEARL, 1, 1
+ finditem ITEM_BIG_PEARL
end
ShoalCave_LowTideInnerRoom_EventScript_ItemRareCandy:: @ 82913CD
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal:: @ 82913DA
- giveitem_std ITEM_ICE_HEAL, 1, 1
+ finditem ITEM_ICE_HEAL
end
ShoalCave_LowTideIceRoom_EventScript_ItemTM07:: @ 82913E7
- giveitem_std ITEM_TM07, 1, 1
+ finditem ITEM_TM07
end
ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce:: @ 82913F4
- giveitem_std ITEM_NEVER_MELT_ICE, 1, 1
+ finditem ITEM_NEVER_MELT_ICE
end
SeafloorCavern_Room9_EventScript_ItemTM26:: @ 8291401
- giveitem_std ITEM_TM26, 1, 1
+ finditem ITEM_TM26
end
Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail:: @ 829140E
- giveitem_std ITEM_ORANGE_MAIL, 1, 1
+ finditem ITEM_ORANGE_MAIL
end
Route110_TrickHousePuzzle2_EventScript_ItemHarborMail:: @ 829141B
- giveitem_std ITEM_HARBOR_MAIL, 1, 1
+ finditem ITEM_HARBOR_MAIL
end
Route110_TrickHousePuzzle2_EventScript_ItemWaveMail:: @ 8291428
- giveitem_std ITEM_WAVE_MAIL, 1, 1
+ finditem ITEM_WAVE_MAIL
end
Route110_TrickHousePuzzle3_EventScript_ItemShadowMail:: @ 8291435
- giveitem_std ITEM_SHADOW_MAIL, 1, 1
+ finditem ITEM_SHADOW_MAIL
end
Route110_TrickHousePuzzle3_EventScript_ItemWoodMail:: @ 8291442
- giveitem_std ITEM_WOOD_MAIL, 1, 1
+ finditem ITEM_WOOD_MAIL
end
Route110_TrickHousePuzzle4_EventScript_ItemMechMail:: @ 829144F
- giveitem_std ITEM_MECH_MAIL, 1, 1
+ finditem ITEM_MECH_MAIL
end
Route110_TrickHousePuzzle6_EventScript_ItemGlitterMail:: @ 829145C
- giveitem_std ITEM_GLITTER_MAIL, 1, 1
+ finditem ITEM_GLITTER_MAIL
end
Route110_TrickHousePuzzle7_EventScript_ItemTropicMail:: @ 8291469
- giveitem_std ITEM_TROPIC_MAIL, 1, 1
+ finditem ITEM_TROPIC_MAIL
end
Route110_TrickHousePuzzle8_EventScript_ItemBeadMail:: @ 8291476
- giveitem_std ITEM_BEAD_MAIL, 1, 1
+ finditem ITEM_BEAD_MAIL
end
VictoryRoad_1F_EventScript_ItemMaxElixir:: @ 8291483
- giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ finditem ITEM_MAX_ELIXIR
end
VictoryRoad_1F_EventScript_ItemPPUp:: @ 8291490
- giveitem_std ITEM_PP_UP, 1, 1
+ finditem ITEM_PP_UP
end
VictoryRoad_B1F_EventScript_ItemTM29:: @ 829149D
- giveitem_std ITEM_TM29, 1, 1
+ finditem ITEM_TM29
end
VictoryRoad_B1F_EventScript_ItemFullRestore:: @ 82914AA
- giveitem_std ITEM_FULL_RESTORE, 1, 1
+ finditem ITEM_FULL_RESTORE
end
VictoryRoad_B2F_EventScript_ItemFullHeal:: @ 82914B7
- giveitem_std ITEM_FULL_HEAL, 1, 1
+ finditem ITEM_FULL_HEAL
end
ArtisanCave_B1F_EventScript_ItemHPUp:: @ 82914C4
- giveitem_std ITEM_HP_UP, 1, 1
+ finditem ITEM_HP_UP
end
ArtisanCave_1F_EventScript_ItemCarbos:: @ 82914D1
- giveitem_std ITEM_CARBOS, 1, 1
+ finditem ITEM_CARBOS
end
MagmaHideout_1F_EventScript_ItemRareCandy:: @ 82914DE
- giveitem_std ITEM_RARE_CANDY, 1, 1
+ finditem ITEM_RARE_CANDY
end
MagmaHideout_2F_2R_EventScript_MaxElixir:: @ 82914EB
- giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ finditem ITEM_MAX_ELIXIR
end
MagmaHideout_2F_2R_EventScript_ItemFullRestore:: @ 82914F8
- giveitem_std ITEM_FULL_RESTORE, 1, 1
+ finditem ITEM_FULL_RESTORE
end
MagmaHideout_3F_1R_EventScript_ItemNugget:: @ 8291505
- giveitem_std ITEM_NUGGET, 1, 1
+ finditem ITEM_NUGGET
end
MagmaHideout_3F_2R_EventScript_ItemPPMax:: @ 8291512
- giveitem_std ITEM_PP_MAX, 1, 1
+ finditem ITEM_PP_MAX
end
MagmaHideout_4F_EventScript_MaxRevive:: @ 829151F
- giveitem_std ITEM_MAX_REVIVE, 1, 1
+ finditem ITEM_MAX_REVIVE
end
MagmaHideout_3F_3R_EventScript_ItemEscapeRope:: @ 829152C
- giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ finditem ITEM_ESCAPE_ROPE
end
diff --git a/data/scripts/kecleon.inc b/data/scripts/kecleon.inc
new file mode 100644
index 000000000..659cd027b
--- /dev/null
+++ b/data/scripts/kecleon.inc
@@ -0,0 +1,116 @@
+Route120_EventScript_Kecleon1:: @ 82722DB
+ lock
+ faceplayer
+ setvar VAR_0x8009, 1
+ goto EventScript_Kecleon
+ end
+
+Route120_EventScript_Kecleon2:: @ 82722E8
+ lock
+ faceplayer
+ setvar VAR_0x8009, 2
+ goto EventScript_Kecleon
+ end
+
+Route120_EventScript_Kecleon3:: @ 82722F5
+ lock
+ faceplayer
+ setvar VAR_0x8009, 3
+ goto EventScript_Kecleon
+ end
+
+Route120_EventScript_Kecleon4:: @ 8272302
+ lock
+ faceplayer
+ setvar VAR_0x8009, 4
+ goto EventScript_Kecleon
+ end
+
+Route120_EventScript_Kecleon5:: @ 827230F
+ lock
+ faceplayer
+ setvar VAR_0x8009, 5
+ goto EventScript_Kecleon
+ end
+
+Route119_EventScript_Kecleon1:: @ 827231C
+ lock
+ faceplayer
+ setvar VAR_0x8009, 6
+ goto EventScript_Kecleon
+ end
+
+Route119_EventScript_Kecleon2:: @ 8272329
+ lock
+ faceplayer
+ setvar VAR_0x8009, 7
+ goto EventScript_Kecleon
+ end
+
+EventScript_Kecleon:: @ 8272336
+ checkitem ITEM_DEVON_SCOPE, 1
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_AskUseDevonScope
+ msgbox Kecleon_Text_SomethingUnseeable, MSGBOX_DEFAULT
+ release
+ end
+
+EventScript_AskUseDevonScope:: @ 8272350
+ msgbox Kecleon_Text_WantToUseDevonScope, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq EventScript_BattleKecleon
+ release
+ end
+
+EventScript_BattleKecleon:: @ 8272365
+ msgbox Kecleon_Text_UseDevonScopeMonAttacked, MSGBOX_DEFAULT
+ closemessage
+ applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
+ waitmovement 0
+ applymovement VAR_LAST_TALKED, Movement_KecleonAppears
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KECLEON, 2
+ delay 40
+ waitmoncry
+ setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, GetBattleOutcome
+ compare VAR_RESULT, B_OUTCOME_WON
+ goto_if_eq EventScript_RemoveKecleon
+ compare VAR_RESULT, B_OUTCOME_RAN
+ goto_if_eq EventScript_RemoveKecleon
+ compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
+ goto_if_eq EventScript_RemoveKecleon
+ release
+ end
+
+EventScript_RemoveKecleon:: @ 82723C1
+ goto Common_EventScript_RemoveStaticPokemon
+ end
+
+Movement_KecleonAppears: @ 82723C7
+ set_visible
+ delay_4
+ set_invisible
+ delay_4
+ set_visible
+ delay_4
+ set_invisible
+ delay_4
+ set_visible
+ delay_8
+ set_invisible
+ delay_8
+ set_visible
+ delay_8
+ set_invisible
+ delay_8
+ set_visible
+ delay_16
+ set_invisible
+ delay_16
+ set_visible
+ step_end
diff --git a/data/scripts/lilycove_lady.inc b/data/scripts/lilycove_lady.inc
new file mode 100644
index 000000000..bdd670031
--- /dev/null
+++ b/data/scripts/lilycove_lady.inc
@@ -0,0 +1,856 @@
+LilycoveCity_PokemonCenter_1F_EventScript_LilycoveLady:: @ 82A836B
+ special Script_GetLilycoveLadyId
+ switch VAR_RESULT
+ case LILYCOVE_LADY_QUIZ, LilycoveCity_PokemonCenter_1F_EventScript_QuizLady
+ case LILYCOVE_LADY_FAVOR, LilycoveCity_PokemonCenter_1F_EventScript_FavorLady
+ case LILYCOVE_LADY_CONTEST, LilycoveCity_PokemonCenter_1F_EventScript_ContestLady
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_FavorLady:: @ 82A8395
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheFavorLady, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, GetFavorLadyState
+ compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyReady
+ compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyCompleted
+ compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyCompleted:: @ 82A83C6
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ThankYouForLastTime, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyReady:: @ 82A83D0
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ObsessedWithThing, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, HasAnotherPlayerGivenFavorLadyItem
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TellAboutPlayersItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_TellAboutPlayersItem:: @ 82A83F7
+ special BufferFavorLadyItemName
+ special BufferFavorLadyPlayerName
+ specialvar VAR_RESULT, DidFavorLadyLikeItem
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveBadThing
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveGreatThing
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveBadThing:: @ 82A8419
+ msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeBadThing, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveGreatThing:: @ 82A8427
+ msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeGreatThing, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_RequestItem:: @ 82A8435
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WillYouShareThing, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AcceptFavor
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor:: @ 82A8454
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IsThatSoGoodbye, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AcceptFavor:: @ 82A845E
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WhatWillYouGiveMe, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem:: @ 82A846C
+ fadescreen FADE_TO_BLACK
+ setvar VAR_RESULT, 0
+ special Script_FavorLadyOpenBagMenu
+ waitstate
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChooseFavorItem
+ compare VAR_RESULT, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GiveFavorItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChooseFavorItem:: @ 82A848E
+ msgbox LilycoveCity_PokemonCenter_1F_Text_NotWillingToShare, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_GiveFavorItem:: @ 82A84AD
+ specialvar VAR_RESULT, Script_DoesFavorLadyLikeItem
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DidntLikeFavorItem
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CheckLovedItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_DidntLikeFavorItem:: @ 82A84C9
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllTryToCherishIt, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_CheckLovedItem:: @ 82A84D6
+ specialvar VAR_RESULT, IsFavorLadyThresholdMet
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LikedFavorItem
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LovedFavorItem
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_LikedFavorItem:: @ 82A84F2
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IWillCherishThis, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_LovedFavorItem:: @ 82A84FF
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IWillTreasureThis, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize:: @ 82A8510
+ setvar VAR_0x8004, 0
+ specialvar VAR_0x8004, FavorLadyGetPrize
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllGiveYouThisInReturn, MSGBOX_DEFAULT
+ giveitem VAR_0x8004
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoRoomForFavorPrize
+ compare VAR_RESULT, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ReceivedFavorPrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_NoRoomForFavorPrize:: @ 82A8545
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouDontHaveSpaceForIt, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_ReceivedFavorPrize:: @ 82A854F
+ special SetFavorLadyState_Complete
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_QuizLady:: @ 82A8554
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheQuizLady, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, GetQuizLadyState
+ compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_HasQuiz
+ compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CheckMadeQuiz
+ compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_HasQuiz:: @ 82A8585
+ specialvar VAR_RESULT, GetQuizAuthor
+ compare VAR_RESULT, QUIZ_AUTHOR_PLAYER
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz
+ compare VAR_RESULT, QUIZ_AUTHOR_OTHER_PLAYER
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerQuizReady
+ compare VAR_RESULT, QUIZ_AUTHOR_LADY
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LadyQuizReady
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_CheckMadeQuiz:: @ 82A85AC
+ specialvar VAR_RESULT, IsQuizLadyWaitingForChallenger
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz:: @ 82A85C8
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingToTakeYourQuiz, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_PlayerQuizReady:: @ 82A85D2
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_LadyQuizReady:: @ 82A85E0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz:: @ 82A85EE
+ setvar VAR_0x8004, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_TakeQuizChallenge, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_DeclineQuiz:: @ 82A8612
+ msgbox LilycoveCity_PokemonCenter_1F_Text_HowBoringBye, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz:: @ 82A861C
+ special ClearQuizLadyPlayerAnswer
+ compare VAR_0x8004, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ShowQuestion
+ compare VAR_0x8004, EASY_CHAT_TYPE_QUIZ_ANSWER
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GetAnswer
+
+LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState:: @ 82A8635
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitQuiz
+ compare VAR_RESULT, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_SubmitQuizResponse
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_ShowQuestion:: @ 82A864C
+ special QuizLadyShowQuizQuestion
+ waitstate
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_GetAnswer:: @ 82A8656
+ special QuizLadyGetPlayerAnswer
+ waitstate
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskQuitQuiz:: @ 82A8660
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YoureGoingToQuit, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_QuitTakingQuiz
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_QuitTakingQuiz:: @ 82A867F
+ msgbox LilycoveCity_PokemonCenter_1F_Text_TakeTheQuizAnotherTime, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_SubmitQuizResponse:: @ 82A8689
+ special SetQuizLadyState_Complete
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitForAnswer, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, IsQuizAnswerCorrect
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_IncorrectResponse
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CorrectResponse
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_CorrectResponse:: @ 82A86B0
+ playse SE_SEIKAI
+ delay 10
+ playse SE_SEIKAI
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRight, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_IncorrectResponse:: @ 82A86C7
+ special BufferQuizCorrectAnswer
+ special BufferQuizPrizeName
+ playse SE_HAZURE
+ delay 10
+ playse SE_HAZURE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WrongTheCorrectAnswerIs, MSGBOX_DEFAULT
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IGetToKeepPrize, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
+ end
+
+@ VAR_RESULT is essentially ignored, both jumps are identical
+LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize:: @ 82A86EC
+ specialvar VAR_RESULT, BufferQuizAuthorNameAndCheckIfLady
+ compare VAR_RESULT, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivePrize1
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivePrize0
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_GivePrize1:: @ 82A8708
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_GivePrize0:: @ 82A8716
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_GivePrize:: @ 82A8724
+ setvar VAR_0x8005, 0
+ special BufferQuizPrizeItem
+ special SetQuizLadyState_Complete
+ giveitem VAR_0x8005
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoSpaceForQuizPrize
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_NoSpaceForQuizPrize:: @ 82A874C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YourBagIsFilledUp, MSGBOX_DEFAULT
+ special SetQuizLadyState_GivePrize
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz:: @ 82A8759
+ msgbox LilycoveCity_PokemonCenter_1F_Text_MakeYourOwnQuiz, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MakeQuiz
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz:: @ 82A8778
+ special QuizLadyPickNewQuestion
+ msgbox LilycoveCity_PokemonCenter_1F_Text_MaybeNextTime, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_MakeQuiz:: @ 82A8785
+ msgbox LilycoveCity_PokemonCenter_1F_Text_PickYourPrize, MSGBOX_DEFAULT
+LilycoveCity_PokemonCenter_1F_EventScript_PickPrize:: @ 82A878D
+ fadescreen FADE_TO_BLACK
+ setvar VAR_RESULT, 0
+ special Script_QuizLadyOpenBagMenu
+ waitstate
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChoosingPrize
+ compare VAR_RESULT, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WriteQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChoosingPrize:: @ 82A87AF
+ msgbox LilycoveCity_PokemonCenter_1F_Text_QuitChoosingPrize, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PickPrize
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_WriteQuiz:: @ 82A87CE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WriteYourQuiz, MSGBOX_DEFAULT
+ special ClearQuizLadyQuestionAndAnswer
+ special ClearQuizLadyPlayerAnswer
+ setvar VAR_0x8004, EASY_CHAT_TYPE_QUIZ_QUESTION
+LilycoveCity_PokemonCenter_1F_EventScript_WriteQuizQuestion:: @ 82A87E1
+ fadescreen FADE_TO_BLACK
+ special QuizLadySetCustomQuestion
+ waitstate
+ compare VAR_RESULT, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitWritingQuizQuestion
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FinishMakingQuiz
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskQuitWritingQuizQuestion:: @ 82A87F8
+ msgbox LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizQuestion, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WriteQuizQuestion
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_FinishMakingQuiz:: @ 82A8817
+ special QuizLadyTakePrizeForCustomQuiz
+ special QuizLadyRecordCustomQuizData
+ special QuizLadySetWaitingForChallenger
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllLookForAChallenger, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_ContestLady:: @ 82A882A
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheContestLady, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, HasPlayerGivenContestLadyPokeblock
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NotGivenPokeblock
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock
+ end
+
+@ Redundant with above script, VAR_RESULT will always be FALSE here
+LilycoveCity_PokemonCenter_1F_EventScript_NotGivenPokeblock:: @ 82A8850
+ specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskForPokeblock
+ compare VAR_RESULT, TRUE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock:: @ 82A886C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ThankForPokeblock, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskForPokeblock:: @ 82A8876
+ special Script_BufferContestLadyCategoryAndMonName
+ msgbox LilycoveCity_PokemonCenter_1F_Text_MyFriendDisplaysQuality, MSGBOX_DEFAULT
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoPokeblockCase
+ msgbox LilycoveCity_PokemonCenter_1F_Text_AskingForOnePokeblock, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock:: @ 82A88B0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WhatACheapskate, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock:: @ 82A88BA
+ fadescreen FADE_TO_BLACK
+ special OpenPokeblockCaseForContestLady
+ waitstate
+ compare VAR_RESULT, 0xFFFF
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitGivingPokeblock
+ compare VAR_RESULT, 0xFFFF
+ goto_if_ne LilycoveCity_PokemonCenter_1F_EventScript_GivePokeblock
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AskQuitGivingPokeblock:: @ 82A88D7
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ICantHaveOnePokeblock, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock
+ compare VAR_RESULT, NO
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_GivePokeblock:: @ 82A88F6
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllUseYourPokeblock, MSGBOX_DEFAULT
+ special SetContestLadyGivenPokeblock
+ special GetContestLadyMonSpecies
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock
+ end
+
+@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
+LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock:: @ 82A890A
+ applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_LadyFaceMon
+ waitmovement 0
+ delay 60
+ applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady
+ waitmovement 0
+ delay 60
+ waitse
+ playmoncry VAR_0x8005, 0
+ delay 120
+ waitmoncry
+ compare VAR_0x8004, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock
+ end
+
+@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
+LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock:: @ 82A893F
+ applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_MonJump
+ waitmovement 0
+ delay 60
+LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock:: @ 82A894C
+ applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_LadyFacePlayer
+ waitmovement 0
+ delay 60
+ compare VAR_0x8004, 0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonDislikedPokeblock
+ compare VAR_0x8004, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonLikedPokeblock
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_MonDislikedPokeblock:: @ 82A8970
+ msgbox LilycoveCity_PokemonCenter_1F_Text_NoChangeThanks, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_MonLikedPokeblock:: @ 82A897E
+ special Script_BufferContestLadyCategoryAndMonName
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ReallyImprovedThanks, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow:: @ 82A898F
+ specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
+ compare VAR_RESULT, 1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AirContestLadyShow
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_AirContestLadyShow:: @ 82A89A1
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ReadyToEnterContests, MSGBOX_DEFAULT
+ special PutLilycoveContestLadyShowOnTheAir
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_NoPokeblockCase:: @ 82A89AE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_DontHaveAPokeblockCase, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_Movement_LadyFaceMon: @ 82A89B8
+ face_right
+ delay_8
+ step_end
+
+LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady: @ 82A89BB
+ face_left
+ delay_8
+ step_end
+
+@ Unused
+LilycoveCity_PokemonCenter_1F_Movement_MonFaceDown: @ 82A89BE
+ face_down
+ step_end
+
+LilycoveCity_PokemonCenter_1F_Movement_LadyFacePlayer: @ 82A89C0
+ face_player
+ step_end
+
+LilycoveCity_PokemonCenter_1F_Movement_MonJump: @ 82A89C2
+ disable_jump_landing_ground_effect
+ jump_in_place_left
+ disable_jump_landing_ground_effect
+ jump_in_place_left
+ step_end
+
+LilycoveCity_PokemonCenter_1F_EventScript_ContestLadyMon:: @ 82A89C7
+ specialvar VAR_RESULT, GetContestLadyCategory
+ special Script_BufferContestLadyCategoryAndMonName
+ special GetContestLadyMonSpecies
+ compare VAR_RESULT, CONTEST_CATEGORY_COOL
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon
+ compare VAR_RESULT, CONTEST_CATEGORY_BEAUTY
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Skitty
+ compare VAR_RESULT, CONTEST_CATEGORY_CUTE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Poochyena
+ compare VAR_RESULT, CONTEST_CATEGORY_SMART
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Kecleon
+ compare VAR_RESULT, CONTEST_CATEGORY_TOUGH
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Pikachu
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon:: @ 82A8A0A
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Zigzagoon, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_Skitty:: @ 82A8A1D
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_Poochyena:: @ 82A8A30
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Poochyena, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_Kecleon:: @ 82A8A43
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Kecleon, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_Pikachu:: @ 82A8A56
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Pikachu, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_Text_ImTheFavorLady: @ 82A8A69
+ .string "I'm the FAVOR LADY…$"
+
+LilycoveCity_PokemonCenter_1F_Text_ObsessedWithThing: @ 82A8A7D
+ .string "I've recently developed an obsession\n"
+ .string "for {STR_VAR_1} things…$"
+
+LilycoveCity_PokemonCenter_1F_Text_ThankYouForLastTime: @ 82A8AB1
+ .string "Oh…\n"
+ .string "Thank you for last time…$"
+
+LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeBadThing: @ 82A8ACE
+ .string "Before, I think it was {STR_VAR_3}…\p"
+ .string "{STR_VAR_3} gave me one {STR_VAR_2},\n"
+ .string "saying it was {STR_VAR_1}.\p"
+ .string "But it wasn't {STR_VAR_1}.\n"
+ .string "Not in the least bit.$"
+
+LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeGreatThing: @ 82A8B36
+ .string "Before, {STR_VAR_3} gave me a very\n"
+ .string "{STR_VAR_1} {STR_VAR_2}.\p"
+ .string "I cherish it now.$"
+
+LilycoveCity_PokemonCenter_1F_Text_WillYouShareThing: @ 82A8B69
+ .string "Listen, if you have anything that\n"
+ .string "is {STR_VAR_1}, will you share it\l"
+ .string "with me?$"
+
+LilycoveCity_PokemonCenter_1F_Text_WhatWillYouGiveMe: @ 82A8BAD
+ .string "…Really?\n"
+ .string "What will you give me?$"
+
+LilycoveCity_PokemonCenter_1F_Text_IsThatSoGoodbye: @ 82A8BCD
+ .string "Is that so?\n"
+ .string "Then, it's good-bye…$"
+
+LilycoveCity_PokemonCenter_1F_Text_NotWillingToShare: @ 82A8BEE
+ .string "Oh…\n"
+ .string "You're not willing to share?$"
+
+LilycoveCity_PokemonCenter_1F_Text_IllTryToCherishIt: @ 82A8C0F
+ .string "Oh?\n"
+ .string "That {STR_VAR_2} is {STR_VAR_1}?\p"
+ .string "…Oh, is that right?\p"
+ .string "Well, I owe you a thanks anyway.\n"
+ .string "I'll try to cherish it…$"
+
+LilycoveCity_PokemonCenter_1F_Text_IWillCherishThis: @ 82A8C6F
+ .string "Oh…\p"
+ .string "That's a quite {STR_VAR_1}\n"
+ .string "{STR_VAR_2}…\p"
+ .string "Isn't it nice?\n"
+ .string "It's so dreamy…\p"
+ .string "Thank you…\n"
+ .string "I will cherish this…$"
+
+LilycoveCity_PokemonCenter_1F_Text_IWillTreasureThis: @ 82A8CC8
+ .string "…Oh, oh, oh…\p"
+ .string "This is amazing!\n"
+ .string "This really is {STR_VAR_1}!\p"
+ .string "I never knew that one {STR_VAR_2}\n"
+ .string "could be this {STR_VAR_1}!\p"
+ .string "Thank you!\p"
+ .string "I will treasure this for the rest\n"
+ .string "of my life!$"
+
+LilycoveCity_PokemonCenter_1F_Text_IllGiveYouThisInReturn: @ 82A8D5D
+ .string "I'll give you this wonderful item in\n"
+ .string "return for your fabulous gift.\p"
+ .string "I hope you will cherish it…$"
+
+LilycoveCity_PokemonCenter_1F_Text_YouDontHaveSpaceForIt: @ 82A8DBD
+ .string "Oh, you can't have it if you don't have\n"
+ .string "the space for it.\p"
+ .string "Please come see me when you get\n"
+ .string "your BAG organized…$"
+
+LilycoveCity_PokemonCenter_1F_Text_ImTheQuizLady: @ 82A8E2B
+ .string "I'm the QUIZ LADY!\n"
+ .string "I love quizzes!$"
+
+LilycoveCity_PokemonCenter_1F_Text_WaitingToTakeYourQuiz: @ 82A8E4E
+ .string "Oh?\p"
+ .string "I'm waiting for a challenger to answer\n"
+ .string "the quiz you made.\p"
+ .string "We can chat another time, okay?$"
+
+LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger: @ 82A8EAC
+ .string "I'm waiting for someone to challenge\n"
+ .string "a quiz this {STR_VAR_1} thought up!$"
+
+LilycoveCity_PokemonCenter_1F_Text_TakeQuizChallenge: @ 82A8EEC
+ .string "If you answer correctly, you can win\n"
+ .string "fabulous prizes!\p"
+ .string "Would you like to take the quiz\n"
+ .string "challenge?$"
+
+LilycoveCity_PokemonCenter_1F_Text_WaitForAnswer: @ 82A8F4D
+ .string "… … … … … …\n"
+ .string "… … … … … …$"
+
+LilycoveCity_PokemonCenter_1F_Text_HowBoringBye: @ 82A8F65
+ .string "Oh, how boring!\n"
+ .string "Bye-bye!$"
+
+LilycoveCity_PokemonCenter_1F_Text_YoureGoingToQuit: @ 82A8F7E
+ .string "Awww!\n"
+ .string "You're going to quit?$"
+
+LilycoveCity_PokemonCenter_1F_Text_TakeTheQuizAnotherTime: @ 82A8F9A
+ .string "Please take the quiz challenge\n"
+ .string "another time!$"
+
+LilycoveCity_PokemonCenter_1F_Text_YouGotItRight: @ 82A8FC7
+ .string "You're amazing! You've got it right!\n"
+ .string "You're one sharp customer!$"
+
+LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize: @ 82A9007
+ .string "Congratulations!\n"
+ .string "You've got the quiz right!\p"
+ .string "You've won a prize provided by\n"
+ .string "{STR_VAR_1}!$"
+
+@ Unused
+LilycoveCity_PokemonCenter_1F_Text_XReceivedOneY: @ 82A9056
+ .string "{STR_VAR_1} received\n"
+ .string "one {STR_VAR_2}!$"
+
+LilycoveCity_PokemonCenter_1F_Text_YourBagIsFilledUp: @ 82A906A
+ .string "Oh? Your BAG is filled up!\n"
+ .string "Come see me when you have room.$"
+
+LilycoveCity_PokemonCenter_1F_Text_WrongTheCorrectAnswerIs: @ 82A90A5
+ .string "Hmm… Wrong!\n"
+ .string "The correct answer is “{STR_VAR_3}”!$"
+
+LilycoveCity_PokemonCenter_1F_Text_IGetToKeepPrize: @ 82A90CD
+ .string "Too bad!\p"
+ .string "I get to keep the quiz prize\n"
+ .string "{STR_VAR_1} now!$"
+
+LilycoveCity_PokemonCenter_1F_Text_MakeYourOwnQuiz: @ 82A90FB
+ .string "Listen, listen!\n"
+ .string "Would you like to make your own quiz?$"
+
+LilycoveCity_PokemonCenter_1F_Text_MaybeNextTime: @ 82A9131
+ .string "Oh, I see…\n"
+ .string "Well, maybe next time!$"
+
+LilycoveCity_PokemonCenter_1F_Text_PickYourPrize: @ 82A9153
+ .string "Okay, the first thing you have to do\n"
+ .string "is pick the prize for the person that\l"
+ .string "answers your quiz correctly.\p"
+ .string "But beware, if the person taking\n"
+ .string "the quiz can't get it right, I get to\l"
+ .string "keep the prize!$"
+
+LilycoveCity_PokemonCenter_1F_Text_QuitChoosingPrize: @ 82A9212
+ .string "If you don't choose a prize,\n"
+ .string "your quiz can't be made.\p"
+ .string "Are you going to quit making\n"
+ .string "your quiz?$"
+
+LilycoveCity_PokemonCenter_1F_Text_WriteYourQuiz: @ 82A9270
+ .string "Oh, how nice!\n"
+ .string "That's a wonderful prize!\p"
+ .string "Next, you need to write your quiz\n"
+ .string "question and its answer.$"
+
+LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizQuestion: @ 82A92D3
+ .string "Are you going to quit writing\n"
+ .string "your quiz question?$"
+
+@ Unused
+LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizAnswer: @ 82A9305
+ .string "Are you going to quit choosing\n"
+ .string "your quiz answer?$"
+
+LilycoveCity_PokemonCenter_1F_Text_IllLookForAChallenger: @ 82A9336
+ .string "Thank you!\n"
+ .string "You've put together a nice quiz.\p"
+ .string "I'll go look for someone who'll take\n"
+ .string "your quiz challenge right away.$"
+
+LilycoveCity_PokemonCenter_1F_Text_ImTheContestLady: @ 82A93A7
+ .string "I'm the CONTEST LADY!\n"
+ .string "I sure do love CONTESTS!$"
+
+LilycoveCity_PokemonCenter_1F_Text_ThankForPokeblock: @ 82A93D6
+ .string "Thanks for your {POKEBLOCK} before!$"
+
+LilycoveCity_PokemonCenter_1F_Text_MyFriendDisplaysQuality: @ 82A93F4
+ .string "This is my friend {STR_VAR_1}!\n"
+ .string "It's the epitome of {STR_VAR_2}!\p"
+ .string "But I think that it will display\n"
+ .string "even more {STR_VAR_2}!$"
+
+LilycoveCity_PokemonCenter_1F_Text_DontHaveAPokeblockCase: @ 82A9451
+ .string "So, I need your help!\p"
+ .string "Please, may I have one {POKEBLOCK}?\n"
+ .string "All I'm asking for is one!\p"
+ .string "…Oh, but…\n"
+ .string "Don't you have a {POKEBLOCK} CASE?\l"
+ .string "That's no good. Next time, then!$"
+
+LilycoveCity_PokemonCenter_1F_Text_AskingForOnePokeblock: @ 82A94E8
+ .string "So, I need your help!\p"
+ .string "Please, may I have one {POKEBLOCK}?\n"
+ .string "All I'm asking for is one!$"
+
+LilycoveCity_PokemonCenter_1F_Text_ICantHaveOnePokeblock: @ 82A9537
+ .string "Awww!\n"
+ .string "I can't have one {POKEBLOCK}?!$"
+
+LilycoveCity_PokemonCenter_1F_Text_WhatACheapskate: @ 82A9556
+ .string "Sheesh!\n"
+ .string "What a cheapskate!$"
+
+LilycoveCity_PokemonCenter_1F_Text_IllUseYourPokeblock: @ 82A9571
+ .string "Yay!\n"
+ .string "Thank you!\p"
+ .string "I'll feed my POKéMON your {POKEBLOCK}\n"
+ .string "right away.$"
+
+LilycoveCity_PokemonCenter_1F_Text_NoChangeThanks: @ 82A95AD
+ .string "…It doesn't seem to have changed\n"
+ .string "in any way at all…\p"
+ .string "Hmm…\p"
+ .string "Oh, well!\n"
+ .string "Thank you very much!$"
+
+LilycoveCity_PokemonCenter_1F_Text_ReallyImprovedThanks: @ 82A9605
+ .string "Oh, yay!\n"
+ .string "It's really delighted!\p"
+ .string "I think it really improved {STR_VAR_1}'s\n"
+ .string "{STR_VAR_2} quality, too.\p"
+ .string "Thank you so much!$"
+
+LilycoveCity_PokemonCenter_1F_Text_ReadyToEnterContests: @ 82A9669
+ .string "Hmm…\p"
+ .string "I think we may be ready to enter\n"
+ .string "some CONTESTS.\p"
+ .string "If you see us in one somewhere,\n"
+ .string "I hope you'll cheer for us.$"
+
+LilycoveCity_PokemonCenter_1F_Text_Zigzagoon: @ 82A96DA
+ .string "{STR_VAR_1}: Guguuh!$"
+
+LilycoveCity_PokemonCenter_1F_Text_Kecleon: @ 82A96E6
+ .string "{STR_VAR_1}: Igigigiiih!$"
+
+LilycoveCity_PokemonCenter_1F_Text_Poochyena: @ 82A96F6
+ .string "{STR_VAR_1}: Baaarun…$"
+
+LilycoveCity_PokemonCenter_1F_Text_Pikachu: @ 82A9703
+ .string "{STR_VAR_1}: Pikka!$"
+
+LilycoveCity_PokemonCenter_1F_Text_Skitty: @ 82A970E
+ .string "{STR_VAR_1}: Umyaaaan!$"
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc
index 0ab47ea80..a6585ca4d 100644
--- a/data/scripts/mauville_man.inc
+++ b/data/scripts/mauville_man.inc
@@ -1,273 +1,277 @@
-MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066
+MauvilleCity_PokemonCenter_1F_EventScript_MauvilleOldMan:: @ 828E066
special ScrSpecial_GetCurrentMauvilleMan
switch VAR_RESULT
- case 0, MauvilleCity_PokemonCenter_1F_EventScript_28E0A6
- case 1, MauvilleCity_PokemonCenter_1F_EventScript_28E167
- case 2, MauvilleCity_PokemonCenter_1F_EventScript_28E4D4
- case 3, MauvilleCity_PokemonCenter_1F_EventScript_29014A
- case 4, MauvilleCity_PokemonCenter_1F_EventScript_2902F6
+ case MAUVILLE_MAN_BARD, MauvilleCity_PokemonCenter_1F_EventScript_Bard
+ case MAUVILLE_MAN_HIPSTER, MauvilleCity_PokemonCenter_1F_EventScript_Hipster
+ case MAUVILLE_MAN_TRADER, MauvilleCity_PokemonCenter_1F_EventScript_Trader
+ case MAUVILLE_MAN_STORYTELLER, MauvilleCity_PokemonCenter_1F_EventScript_Storyteller
+ case MAUVILLE_MAN_GIDDY, MauvilleCity_PokemonCenter_1F_EventScript_Giddy
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6
+@ Bard
+MauvilleCity_PokemonCenter_1F_EventScript_Bard:: @ 828E0A6
lock
faceplayer
- msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA
+ msgbox MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToHearMySong, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PlaySong
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineSong
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7
+MauvilleCity_PokemonCenter_1F_EventScript_PlaySong:: @ 828E0C7
setvar VAR_0x8004, 0
special ScrSpecial_PlayBardSong
delay 60
special ScrSpecial_HasBardSongBeenChanged
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4
- msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AskToWriteLyrics
+ msgbox MauvilleCity_PokemonCenter_1F_Text_WishICouldPlaySongForOthers, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E0EA:: @ 828E0EA
- msgbox MauvilleCity_PokemonCenter_1F_Text_2903C0, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_DeclineSong:: @ 828E0EA
+ msgbox MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues1, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E0F4:: @ 828E0F4
- msgbox MauvilleCity_PokemonCenter_1F_Text_290421, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
+MauvilleCity_PokemonCenter_1F_EventScript_AskToWriteLyrics:: @ 828E0F4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToWriteSomeLyrics, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113
+MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics:: @ 828E113
setvar VAR_0x8004, EASY_CHAT_TYPE_BARD_SONG
call Common_ShowEasyChatScreen
lock
faceplayer
compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
- msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, MSGBOX_DEFAULT
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics
+ msgbox MauvilleCity_PokemonCenter_1F_Text_LetMeSingItForYou, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
special ScrSpecial_PlayBardSong
delay 60
- msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
+ msgbox MauvilleCity_PokemonCenter_1F_Text_ThatHowYouWantedSongToGo, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics
special ScrSpecial_SaveBardSongLyrics
- msgbox MauvilleCity_PokemonCenter_1F_Text_290514, MSGBOX_DEFAULT
+ msgbox MauvilleCity_PokemonCenter_1F_Text_IllSingThisSongForAWhile, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E15D:: @ 828E15D
- msgbox MauvilleCity_PokemonCenter_1F_Text_29049B, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics:: @ 828E15D
+ msgbox MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues2, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167
+@ Hipster
+MauvilleCity_PokemonCenter_1F_EventScript_Hipster:: @ 828E167
lock
faceplayer
setflag FLAG_SYS_HIPSTER_MEET
- msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, MSGBOX_DEFAULT
+ msgbox MauvilleCity_PokemonCenter_1F_Text_TeachWhatsHipAndHappening, MSGBOX_DEFAULT
special ScrSpecial_GetHipsterSpokenFlag
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C
- msgbox MauvilleCity_PokemonCenter_1F_Text_290598, MSGBOX_DEFAULT
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord
+ msgbox MauvilleCity_PokemonCenter_1F_Text_IAlreadyTaughtYou, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C
+MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord:: @ 828E18C
special ScrSpecial_HipsterTeachWord
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4
- msgbox MauvilleCity_PokemonCenter_1F_Text_290602, MSGBOX_DEFAULT
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TeachWord
+ msgbox MauvilleCity_PokemonCenter_1F_Text_IveGotNothingNewToTeach, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4
- msgbox MauvilleCity_PokemonCenter_1F_Text_290666, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_TeachWord:: @ 828E1A4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfPhrase, MSGBOX_DEFAULT
special ScrSpecial_SetHipsterSpokenFlag
release
end
-MauvilleCity_PokemonCenter_1F_Text_28E1B1: @ 828E1B1
+@ Trader
+MauvilleCity_PokemonCenter_1F_Text_WantToTradeDecor: @ 828E1B1
.string "Hi, I'm the TRADER.\n"
.string "Want to trade decorations with me?$"
-MauvilleCity_PokemonCenter_1F_Text_28E1E8: @ 828E1E8
+MauvilleCity_PokemonCenter_1F_Text_TraderFeelingTheBlues: @ 828E1E8
.string "Oh…\n"
.string "You've left me feeling the blues…$"
-MauvilleCity_PokemonCenter_1F_Text_28E20E: @ 828E20E
+MauvilleCity_PokemonCenter_1F_Text_WeveAlreadyTraded: @ 828E20E
.string "But we've traded decorations already,\n"
.string "you and I.$"
-MauvilleCity_PokemonCenter_1F_Text_28E23F: @ 828E23F
+MauvilleCity_PokemonCenter_1F_Text_PickADecorItem: @ 828E23F
.string "If you see any decorative item that\n"
.string "you want of mine, speak up.$"
-MauvilleCity_PokemonCenter_1F_Text_28E27F: @ 828E27F
+MauvilleCity_PokemonCenter_1F_Text_YouDontWantAnything: @ 828E27F
.string "You don't want anything?\n"
.string "I feel unwanted…$"
-MauvilleCity_PokemonCenter_1F_Text_28E2A9: @ 828E2A9
+MauvilleCity_PokemonCenter_1F_Text_OnceBelongedToPlayerDoYouWantIt: @ 828E2A9
.string "That decorative item once belonged\n"
.string "to {STR_VAR_1}.\p"
.string "Do you want it?$"
-MauvilleCity_PokemonCenter_1F_Text_28E2E3: @ 828E2E3
+MauvilleCity_PokemonCenter_1F_Text_YouDontHaveAnyDecor: @ 828E2E3
.string "Uh… Wait a second. You don't have a\n"
.string "single piece of decoration!$"
-MauvilleCity_PokemonCenter_1F_Text_28E323: @ 828E323
+MauvilleCity_PokemonCenter_1F_Text_PickTheDecorToTrade: @ 828E323
.string "Okay, pick the decoration that you'll\n"
.string "trade to me.$"
-MauvilleCity_PokemonCenter_1F_Text_28E356: @ 828E356
+MauvilleCity_PokemonCenter_1F_Text_YouDontWantToTrade: @ 828E356
.string "You won't trade with me?\n"
.string "I feel unwanted…$"
-MauvilleCity_PokemonCenter_1F_Text_28E380: @ 828E380
+MauvilleCity_PokemonCenter_1F_Text_YouveNoRoomForThis: @ 828E380
.string "You've got all the {STR_VAR_2}S that can\n"
.string "be stored. You've no room for this.$"
-MauvilleCity_PokemonCenter_1F_Text_28E3C4: @ 828E3C4
+MauvilleCity_PokemonCenter_1F_Text_SoWellTradeTheseDecor: @ 828E3C4
.string "Okay, so we'll trade my {STR_VAR_3}\n"
.string "for your {STR_VAR_2}?$"
-MauvilleCity_PokemonCenter_1F_Text_28E3EC: @ 828E3EC
+MauvilleCity_PokemonCenter_1F_Text_ThatDecorIsInUse: @ 828E3EC
.string "That piece of decoration is in use.\n"
.string "You can't trade it.$"
-MauvilleCity_PokemonCenter_1F_Text_28E424: @ 828E424
+MauvilleCity_PokemonCenter_1F_Text_SendDecorToYourPC: @ 828E424
.string "Then we'll trade!\n"
.string "I'll send my decoration to your PC.$"
-MauvilleCity_PokemonCenter_1F_Text_28E45A: @ 828E45A
+MauvilleCity_PokemonCenter_1F_Text_CantTradeThatOne: @ 828E45A
.string "Oops! Sorry! That's a really rare\n"
.string "piece of decoration.\l"
.string "I can't trade that one away!\p"
.string "Can I interest you in something else?$"
-MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4
+MauvilleCity_PokemonCenter_1F_EventScript_Trader:: @ 828E4D4
lock
faceplayer
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503
+ msgbox MauvilleCity_PokemonCenter_1F_Text_WantToTradeDecor, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineTrade
special ScrSpecial_GetTraderTradedFlag
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D
- message MauvilleCity_PokemonCenter_1F_Text_28E23F
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AlreadyTraded
+ message MauvilleCity_PokemonCenter_1F_Text_PickADecorItem
waitmessage
- goto MauvilleCity_PokemonCenter_1F_EventScript_28E517
+ goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E503:: @ 828E503
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E1E8, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_DeclineTrade:: @ 828E503
+ msgbox MauvilleCity_PokemonCenter_1F_Text_TraderFeelingTheBlues, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E20E, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_AlreadyTraded:: @ 828E50D
+ msgbox MauvilleCity_PokemonCenter_1F_Text_WeveAlreadyTraded, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517
+MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive:: @ 828E517
special ScrSpecial_TraderMenuGetDecoration
waitstate
compare VAR_0x8004, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558
- compare VAR_0x8004, 65535
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelPickDecor
+ compare VAR_0x8004, 0xFFFF
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_InvalidDecor
+ msgbox MauvilleCity_PokemonCenter_1F_Text_OnceBelongedToPlayerDoYouWantIt, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PickDifferentDecor
special ScrSpecial_DoesPlayerHaveNoDecorations
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A
- goto MauvilleCity_PokemonCenter_1F_EventScript_28E584
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DontHaveAnyDecor
+ goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E558:: @ 828E558
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E27F, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_CancelPickDecor:: @ 828E558
+ msgbox MauvilleCity_PokemonCenter_1F_Text_YouDontWantAnything, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E562:: @ 828E562
- message MauvilleCity_PokemonCenter_1F_Text_28E45A
+MauvilleCity_PokemonCenter_1F_EventScript_InvalidDecor:: @ 828E562
+ message MauvilleCity_PokemonCenter_1F_Text_CantTradeThatOne
waitmessage
- goto MauvilleCity_PokemonCenter_1F_EventScript_28E517
+ goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E56E:: @ 828E56E
- message MauvilleCity_PokemonCenter_1F_Text_28E23F
+MauvilleCity_PokemonCenter_1F_EventScript_PickDifferentDecor:: @ 828E56E
+ message MauvilleCity_PokemonCenter_1F_Text_PickADecorItem
waitmessage
- goto MauvilleCity_PokemonCenter_1F_EventScript_28E517
+ goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E2E3, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_DontHaveAnyDecor:: @ 828E57A
+ msgbox MauvilleCity_PokemonCenter_1F_Text_YouDontHaveAnyDecor, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive:: @ 828E584
+ msgbox MauvilleCity_PokemonCenter_1F_Text_PickTheDecorToTrade, MSGBOX_DEFAULT
special ScrSpecial_TraderMenuGiveDecoration
waitstate
compare VAR_0x8006, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4
- compare VAR_0x8006, 65535
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelGiveDecor
+ compare VAR_0x8006, 0xFFFF
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DecorInUse
special ScrSpecial_IsDecorationFull
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_NoRoomForDecor
+ msgbox MauvilleCity_PokemonCenter_1F_Text_SoWellTradeTheseDecor, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive
special ScrSpecial_TraderDoDecorationTrade
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, MSGBOX_DEFAULT
+ msgbox MauvilleCity_PokemonCenter_1F_Text_SendDecorToYourPC, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E5D4:: @ 828E5D4
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E356, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_CancelGiveDecor:: @ 828E5D4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_YouDontWantToTrade, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E5DE:: @ 828E5DE
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E3EC, MSGBOX_DEFAULT
- goto MauvilleCity_PokemonCenter_1F_EventScript_28E584
+MauvilleCity_PokemonCenter_1F_EventScript_DecorInUse:: @ 828E5DE
+ msgbox MauvilleCity_PokemonCenter_1F_Text_ThatDecorIsInUse, MSGBOX_DEFAULT
+ goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive
end
-MauvilleCity_PokemonCenter_1F_EventScript_28E5EC:: @ 828E5EC
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E380, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_NoRoomForDecor:: @ 828E5EC
+ msgbox MauvilleCity_PokemonCenter_1F_Text_YouveNoRoomForThis, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_Text_28E5F6: @ 828E5F6
+@ Storyteller
+MauvilleCity_PokemonCenter_1F_Text_WillYouHearMyTale: @ 828E5F6
.string "I'm the STORYTELLER.\n"
.string "I'll tell you tales of legendary\l"
.string "TRAINERS.\p"
.string "Will you hear my tale?$"
-MauvilleCity_PokemonCenter_1F_Text_28E64D: @ 828E64D
+MauvilleCity_PokemonCenter_1F_Text_StorytellerFeelingTheBlues: @ 828E64D
.string "Oh…\n"
.string "You've left me feeling the blues…$"
-MauvilleCity_PokemonCenter_1F_Text_28E673: @ 828E673
+MauvilleCity_PokemonCenter_1F_Text_WhichTaleToTell: @ 828E673
.string "I know of these legends.\n"
.string "Which tale will you have me tell?$"
-MauvilleCity_PokemonCenter_1F_Text_28E6AE: @ 828E6AE
+MauvilleCity_PokemonCenter_1F_Text_IKnowNoTales: @ 828E6AE
.string "But, I know of no legendary TRAINERS.\n"
.string "Hence, I know no tales.\p"
.string "Where does one find a TRAINER worthy\n"
.string "of a legendary tale?$"
-MauvilleCity_PokemonCenter_1F_Text_28E726: @ 828E726
+MauvilleCity_PokemonCenter_1F_Text_YouDidStatXTimes: @ 828E726
.string "What's that?!\n"
.string "You… You…\p"
.string "{STR_VAR_2}\n"
@@ -275,38 +279,39 @@ MauvilleCity_PokemonCenter_1F_Text_28E726: @ 828E726
.string "That is indeed magnificent!\n"
.string "It's the birth of a new legend!$"
-MauvilleCity_PokemonCenter_1F_Text_28E78A: @ 828E78A
+MauvilleCity_PokemonCenter_1F_Text_CouldThereBeOtherLegends: @ 828E78A
.string "It gets me thinking, could there be\n"
.string "other TRAINERS with more impressive\l"
.string "legends awaiting discovery?$"
-MauvilleCity_PokemonCenter_1F_Text_28E7EE: @ 828E7EE
+MauvilleCity_PokemonCenter_1F_Text_HaveYouAnyLegendaryTales: @ 828E7EE
.string "Are you a TRAINER?\p"
.string "Then tell me, have you any tales that\n"
.string "are even remotely legendary?$"
-MauvilleCity_PokemonCenter_1F_Text_28E844: @ 828E844
+@ Unused
+MauvilleCity_PokemonCenter_1F_Text_HearAnotherLegendaryTale: @ 828E844
.string "Incidentally… Would you care to hear\n"
.string "another legendary tale?$"
-MauvilleCity_PokemonCenter_1F_Text_28E881: @ 828E881
+MauvilleCity_PokemonCenter_1F_Text_NotWorthyOfLegend: @ 828E881
.string "Hmm…\n"
.string "I'm not satisfied…\p"
.string "I wish you would bring me news worthy\n"
.string "of being called a legend.$"
-MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
+MauvilleCity_PokemonCenter_1F_Text_IWishMorePeopleWereInterested: @ 828E8D9
.string "I wish more people would be interested\n"
.string "in hearing my epic tales of legendary\l"
.string "TRAINERS.$"
-MauvilleCity_PokemonCenter_1F_Text_28E930:: @ 828E930
+MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle:: @ 828E930
.string "The Save-Happy TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28E947:: @ 828E947
+MauvilleCity_PokemonCenter_1F_Text_SavedGameAction:: @ 828E947
.string "Saved the game$"
-MauvilleCity_PokemonCenter_1F_Text_28E956:: @ 828E956
+MauvilleCity_PokemonCenter_1F_Text_SavedGameStory:: @ 828E956
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER saved the game\n"
@@ -314,13 +319,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E956:: @ 828E956
.string "A more cautious TRAINER than\n"
.string "{STR_VAR_3} one will never find!$"
-MauvilleCity_PokemonCenter_1F_Text_28E9D7:: @ 828E9D7
+MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle:: @ 828E9D7
.string "The Trendsetter TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28E9EF:: @ 828E9EF
+MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction:: @ 828E9EF
.string "Started trends$"
-MauvilleCity_PokemonCenter_1F_Text_28E9FE:: @ 828E9FE
+MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory:: @ 828E9FE
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER started new trends\n"
@@ -328,13 +333,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E9FE:: @ 828E9FE
.string "{STR_VAR_3} is setting trends for all\n"
.string "the HOENN region!$"
-MauvilleCity_PokemonCenter_1F_Text_28EA7D:: @ 828EA7D
+MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle:: @ 828EA7D
.string "The BERRY-Planting TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EA98:: @ 828EA98
+MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction:: @ 828EA98
.string "Planted BERRIES$"
-MauvilleCity_PokemonCenter_1F_Text_28EAA8:: @ 828EAA8
+MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory:: @ 828EAA8
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER planted BERRIES\n"
@@ -342,13 +347,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EAA8:: @ 828EAA8
.string "{STR_VAR_3} is a legendary lover of\n"
.string "BERRIES!$"
-MauvilleCity_PokemonCenter_1F_Text_28EB19:: @ 828EB19
+MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle:: @ 828EB19
.string "The BIKE-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EB31:: @ 828EB31
+MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction:: @ 828EB31
.string "Traded BIKES$"
-MauvilleCity_PokemonCenter_1F_Text_28EB3E:: @ 828EB3E
+MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory:: @ 828EB3E
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER swapped BIKES\n"
@@ -356,13 +361,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EB3E:: @ 828EB3E
.string "{STR_VAR_3} must love BIKES deeply\n"
.string "and passionately!$"
-MauvilleCity_PokemonCenter_1F_Text_28EBB5:: @ 828EBB5
+MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle:: @ 828EBB5
.string "The Interviewed TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EBCD:: @ 828EBCD
+MauvilleCity_PokemonCenter_1F_Text_InterviewsAction:: @ 828EBCD
.string "Got interviewed$"
-MauvilleCity_PokemonCenter_1F_Text_28EBDD:: @ 828EBDD
+MauvilleCity_PokemonCenter_1F_Text_InterviewsStory:: @ 828EBDD
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER got interviewed\n"
@@ -370,26 +375,26 @@ MauvilleCity_PokemonCenter_1F_Text_28EBDD:: @ 828EBDD
.string "{STR_VAR_3} must be a TRAINER who's\n"
.string "attracting much attention!$"
-MauvilleCity_PokemonCenter_1F_Text_28EC60:: @ 828EC60
+MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle:: @ 828EC60
.string "The Battle-Happy TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EC79:: @ 828EC79
+MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction:: @ 828EC79
.string "Battled$"
-MauvilleCity_PokemonCenter_1F_Text_28EC81:: @ 828EC81
+MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory:: @ 828EC81
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER battled {STR_VAR_1} times!\p"
.string "{STR_VAR_3} must be a TRAINER who can\n"
.string "never refuse a chance to battle!$"
-MauvilleCity_PokemonCenter_1F_Text_28ED04:: @ 828ED04
+MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle:: @ 828ED04
.string "The POKéMON-Catching TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28ED21:: @ 828ED21
+MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction:: @ 828ED21
.string "Caught POKéMON$"
-MauvilleCity_PokemonCenter_1F_Text_28ED30:: @ 828ED30
+MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory:: @ 828ED30
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER caught\n"
@@ -397,13 +402,13 @@ MauvilleCity_PokemonCenter_1F_Text_28ED30:: @ 828ED30
.string "{STR_VAR_3} is a legendary catcher of\n"
.string "wild POKéMON!$"
-MauvilleCity_PokemonCenter_1F_Text_28EDA1:: @ 828EDA1
+MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle:: @ 828EDA1
.string "The Fishing TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EDB5:: @ 828EDB5
+MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction:: @ 828EDB5
.string "Caught POKéMON with a ROD$"
-MauvilleCity_PokemonCenter_1F_Text_28EDCF:: @ 828EDCF
+MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory:: @ 828EDCF
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER caught\n"
@@ -411,13 +416,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EDCF:: @ 828EDCF
.string "{STR_VAR_3} is a legendary fishing\n"
.string "expert!$"
-MauvilleCity_PokemonCenter_1F_Text_28EE45:: @ 828EE45
+MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle:: @ 828EE45
.string "The EGG-Warming TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EE5D:: @ 828EE5D
+MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction:: @ 828EE5D
.string "Hatched EGGS$"
-MauvilleCity_PokemonCenter_1F_Text_28EE6A:: @ 828EE6A
+MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory:: @ 828EE6A
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER hatched {STR_VAR_1} POKéMON\n"
@@ -425,13 +430,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EE6A:: @ 828EE6A
.string "{STR_VAR_3} is a legendary warmer\n"
.string "of EGGS!$"
-MauvilleCity_PokemonCenter_1F_Text_28EEDD:: @ 828EEDD
+MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle:: @ 828EEDD
.string "The Evolver TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EEF1:: @ 828EEF1
+MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction:: @ 828EEF1
.string "Evolved POKéMON$"
-MauvilleCity_PokemonCenter_1F_Text_28EF01:: @ 828EF01
+MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory:: @ 828EF01
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER made {STR_VAR_1} POKéMON\n"
@@ -439,13 +444,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EF01:: @ 828EF01
.string "{STR_VAR_3} is the ultimate evolver\n"
.string "of POKéMON!$"
-MauvilleCity_PokemonCenter_1F_Text_28EF73:: @ 828EF73
+MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle:: @ 828EF73
.string "The POKéMON CENTER-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28EF95:: @ 828EF95
+MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction:: @ 828EF95
.string "Used POKéMON CENTERS$"
-MauvilleCity_PokemonCenter_1F_Text_28EFAA:: @ 828EFAA
+MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory:: @ 828EFAA
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER healed POKéMON\n"
@@ -453,13 +458,13 @@ MauvilleCity_PokemonCenter_1F_Text_28EFAA:: @ 828EFAA
.string "There could be no greater lover of\n"
.string "POKéMON CENTERS than {STR_VAR_3}!$"
-MauvilleCity_PokemonCenter_1F_Text_28F045:: @ 828F045
+MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle:: @ 828F045
.string "The Homebody TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F05A:: @ 828F05A
+MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction:: @ 828F05A
.string "Rested POKéMON at home$"
-MauvilleCity_PokemonCenter_1F_Text_28F071:: @ 828F071
+MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory:: @ 828F071
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER healed POKéMON\n"
@@ -467,13 +472,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F071:: @ 828F071
.string "There could be no more of a homebody\n"
.string "than {STR_VAR_3}!$"
-MauvilleCity_PokemonCenter_1F_Text_28F0F3:: @ 828F0F3
+MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle:: @ 828F0F3
.string "The SAFARI-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F10D:: @ 828F10D
+MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction:: @ 828F10D
.string "Entered the SAFARI ZONE$"
-MauvilleCity_PokemonCenter_1F_Text_28F125:: @ 828F125
+MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory:: @ 828F125
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER went into the SAFARI ZONE\n"
@@ -481,13 +486,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F125:: @ 828F125
.string "{STR_VAR_3} is a TRAINER whose wild side\n"
.string "must come out in the SAFARI ZONE!$"
-MauvilleCity_PokemonCenter_1F_Text_28F1BE:: @ 828F1BE
+MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle:: @ 828F1BE
.string "The CUT-Frenzy TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F1D5:: @ 828F1D5
+MauvilleCity_PokemonCenter_1F_Text_UsedCutAction:: @ 828F1D5
.string "Used CUT$"
-MauvilleCity_PokemonCenter_1F_Text_28F1DE:: @ 828F1DE
+MauvilleCity_PokemonCenter_1F_Text_UsedCutStory:: @ 828F1DE
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used CUT\n"
@@ -495,13 +500,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F1DE:: @ 828F1DE
.string "{STR_VAR_3} is a TRAINER who just must\n"
.string "love to CUT!$"
-MauvilleCity_PokemonCenter_1F_Text_28F24F:: @ 828F24F
+MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle:: @ 828F24F
.string "The ROCK-SMASHING TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F269:: @ 828F269
+MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction:: @ 828F269
.string "Smashed rocks$"
-MauvilleCity_PokemonCenter_1F_Text_28F277:: @ 828F277
+MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory:: @ 828F277
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used ROCK SMASH\n"
@@ -509,13 +514,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F277:: @ 828F277
.string "{STR_VAR_3} must be a TRAINER who\n"
.string "can't leave a stone unsmashed!$"
-MauvilleCity_PokemonCenter_1F_Text_28F2FC:: @ 828F2FC
+MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle:: @ 828F2FC
.string "The Move-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F314:: @ 828F314
+MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction:: @ 828F314
.string "Moved the SECRET BASE$"
-MauvilleCity_PokemonCenter_1F_Text_28F32A:: @ 828F32A
+MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory:: @ 828F32A
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER moved the SECRET BASE\n"
@@ -523,13 +528,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F32A:: @ 828F32A
.string "{STR_VAR_3} is a TRAINER who loves\n"
.string "to move houses often!$"
-MauvilleCity_PokemonCenter_1F_Text_28F3AD:: @ 828F3AD
+MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle:: @ 828F3AD
.string "The SPLASH-Happy TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F3C6:: @ 828F3C6
+MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction:: @ 828F3C6
.string "Used SPLASH$"
-MauvilleCity_PokemonCenter_1F_Text_28F3D2:: @ 828F3D2
+MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory:: @ 828F3D2
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used SPLASH\n"
@@ -537,13 +542,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F3D2:: @ 828F3D2
.string "{STR_VAR_3} is a TRAINER who must love\n"
.string "SPLASHING around!$"
-MauvilleCity_PokemonCenter_1F_Text_28F44B:: @ 828F44B
+MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle:: @ 828F44B
.string "The Tenacious TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F461:: @ 828F461
+MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction:: @ 828F461
.string "Resorted to using STRUGGLE$"
-MauvilleCity_PokemonCenter_1F_Text_28F47C:: @ 828F47C
+MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory:: @ 828F47C
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER had to rely on STRUGGLE\n"
@@ -551,13 +556,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F47C:: @ 828F47C
.string "{STR_VAR_3} is a tenacious TRAINER\n"
.string "who never gives in to adversity!$"
-MauvilleCity_PokemonCenter_1F_Text_28F50C:: @ 828F50C
+MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle:: @ 828F50C
.string "The SLOT Champ$"
-MauvilleCity_PokemonCenter_1F_Text_28F51B:: @ 828F51B
+MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction:: @ 828F51B
.string "Won the jackpot on the SLOTS$"
-MauvilleCity_PokemonCenter_1F_Text_28F538:: @ 828F538
+MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory:: @ 828F538
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won the jackpot on\n"
@@ -565,13 +570,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F538:: @ 828F538
.string "{STR_VAR_3} is a TRAINER who was lucky\n"
.string "on the SLOTS!$"
-MauvilleCity_PokemonCenter_1F_Text_28F5BE:: @ 828F5BE
+MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle:: @ 828F5BE
.string "The ROULETTE Champ$"
-MauvilleCity_PokemonCenter_1F_Text_28F5D1:: @ 828F5D1
+MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction:: @ 828F5D1
.string "Had consecutive ROULETTE wins of$"
-MauvilleCity_PokemonCenter_1F_Text_28F5F2:: @ 828F5F2
+MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory:: @ 828F5F2
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won in ROULETTE\n"
@@ -579,13 +584,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F5F2:: @ 828F5F2
.string "{STR_VAR_3} was lucky when the ball\n"
.string "bounced in ROULETTE!$"
-MauvilleCity_PokemonCenter_1F_Text_28F678:: @ 828F678
+MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle:: @ 828F678
.string "The BATTLE TOWER Challenger$"
-MauvilleCity_PokemonCenter_1F_Text_28F694:: @ 828F694
+MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction:: @ 828F694
.string "Took the BATTLE TOWER challenge$"
-MauvilleCity_PokemonCenter_1F_Text_28F6B4:: @ 828F6B4
+MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory:: @ 828F6B4
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER took the BATTLE TOWER\n"
@@ -593,13 +598,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F6B4:: @ 828F6B4
.string "{STR_VAR_3} is a TRAINER who aspires\n"
.string "for excellence in the BATTLE TOWER!$"
-MauvilleCity_PokemonCenter_1F_Text_28F751:: @ 828F751
+MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle:: @ 828F751
.string "The Blend-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F76A:: @ 828F76A
+MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction:: @ 828F76A
.string "Made {POKEBLOCK}S$"
-MauvilleCity_PokemonCenter_1F_Text_28F776:: @ 828F776
+MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory:: @ 828F776
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER made {POKEBLOCK}S\n"
@@ -607,13 +612,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F776:: @ 828F776
.string "There is none better at using a BERRY\n"
.string "BLENDER than {STR_VAR_3}!$"
-MauvilleCity_PokemonCenter_1F_Text_28F7F6:: @ 828F7F6
+MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle:: @ 828F7F6
.string "The CONTEST-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F811:: @ 828F811
+MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction:: @ 828F811
.string "Entered CONTESTS$"
-MauvilleCity_PokemonCenter_1F_Text_28F822:: @ 828F822
+MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory:: @ 828F822
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER entered CONTESTS\n"
@@ -621,13 +626,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F822:: @ 828F822
.string "{STR_VAR_3} must love showing off\n"
.string "POKéMON to others!$"
-MauvilleCity_PokemonCenter_1F_Text_28F89C:: @ 828F89C
+MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle:: @ 828F89C
.string "The CONTEST Master$"
-MauvilleCity_PokemonCenter_1F_Text_28F8AF:: @ 828F8AF
+MauvilleCity_PokemonCenter_1F_Text_WonContestsAction:: @ 828F8AF
.string "Won CONTESTS$"
-MauvilleCity_PokemonCenter_1F_Text_28F8BC:: @ 828F8BC
+MauvilleCity_PokemonCenter_1F_Text_WonContestsStory:: @ 828F8BC
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won CONTESTS\n"
@@ -635,13 +640,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F8BC:: @ 828F8BC
.string "{STR_VAR_3} must be an incredible\n"
.string "CONTEST master!$"
-MauvilleCity_PokemonCenter_1F_Text_28F92F:: @ 828F92F
+MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle:: @ 828F92F
.string "The Happy Shopper$"
-MauvilleCity_PokemonCenter_1F_Text_28F941:: @ 828F941
+MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction:: @ 828F941
.string "Shopped$"
-MauvilleCity_PokemonCenter_1F_Text_28F949:: @ 828F949
+MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory:: @ 828F949
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER bought items in shops\n"
@@ -649,13 +654,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F949:: @ 828F949
.string "{STR_VAR_3} must be one of those\n"
.string "people who are born to shop.$"
-MauvilleCity_PokemonCenter_1F_Text_28F9D1:: @ 828F9D1
+MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle:: @ 828F9D1
.string "The Item-Finding TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28F9EA:: @ 828F9EA
+MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction:: @ 828F9EA
.string "Used an ITEMFINDER$"
-MauvilleCity_PokemonCenter_1F_Text_28F9FD:: @ 828F9FD
+MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory:: @ 828F9FD
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used an ITEMFINDER\n"
@@ -663,13 +668,13 @@ MauvilleCity_PokemonCenter_1F_Text_28F9FD:: @ 828F9FD
.string "{STR_VAR_3} must enjoy scouring the\n"
.string "ground for hidden items!$"
-MauvilleCity_PokemonCenter_1F_Text_28FA81:: @ 828FA81
+MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle:: @ 828FA81
.string "The Rain-Soaked TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28FA99:: @ 828FA99
+MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction:: @ 828FA99
.string "Got rained on$"
-MauvilleCity_PokemonCenter_1F_Text_28FAA7:: @ 828FAA7
+MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory:: @ 828FAA7
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER got soaked by rain\n"
@@ -677,13 +682,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FAA7:: @ 828FAA7
.string "{STR_VAR_3}'s charisma must even\n"
.string "attract rain!$"
-MauvilleCity_PokemonCenter_1F_Text_28FB1D:: @ 828FB1D
+MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle:: @ 828FB1D
.string "The Avid POKéDEX Reader$"
-MauvilleCity_PokemonCenter_1F_Text_28FB35:: @ 828FB35
+MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction:: @ 828FB35
.string "Checked a POKéDEX$"
-MauvilleCity_PokemonCenter_1F_Text_28FB47:: @ 828FB47
+MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory:: @ 828FB47
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER checked a POKéDEX\n"
@@ -691,13 +696,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FB47:: @ 828FB47
.string "{STR_VAR_3} must love inspecting\n"
.string "POKéMON in a POKéDEX!$"
-MauvilleCity_PokemonCenter_1F_Text_28FBC4:: @ 828FBC4
+MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle:: @ 828FBC4
.string "The RIBBON Collector$"
-MauvilleCity_PokemonCenter_1F_Text_28FBD9:: @ 828FBD9
+MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction:: @ 828FBD9
.string "Received RIBBONS$"
-MauvilleCity_PokemonCenter_1F_Text_28FBEA:: @ 828FBEA
+MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory:: @ 828FBEA
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER received RIBBONS\n"
@@ -705,13 +710,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FBEA:: @ 828FBEA
.string "{STR_VAR_3} must be a TRAINER who\n"
.string "loves to collect RIBBONS!$"
-MauvilleCity_PokemonCenter_1F_Text_28FC6B:: @ 828FC6B
+MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle:: @ 828FC6B
.string "The Ledge-Jumping TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28FC85:: @ 828FC85
+MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction:: @ 828FC85
.string "Jumped down ledges$"
-MauvilleCity_PokemonCenter_1F_Text_28FC98:: @ 828FC98
+MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory:: @ 828FC98
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER jumped down ledges\n"
@@ -719,26 +724,26 @@ MauvilleCity_PokemonCenter_1F_Text_28FC98:: @ 828FC98
.string "If there's a ledge to be jumped,\n"
.string "{STR_VAR_3} can't ignore it!$"
-MauvilleCity_PokemonCenter_1F_Text_28FD1D:: @ 828FD1D
+MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle:: @ 828FD1D
.string "The Legendary TV Viewer$"
-MauvilleCity_PokemonCenter_1F_Text_28FD35:: @ 828FD35
+MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction:: @ 828FD35
.string "Watched TV$"
-MauvilleCity_PokemonCenter_1F_Text_28FD40:: @ 828FD40
+MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory:: @ 828FD40
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER watched TV\n"
.string "{STR_VAR_1} times!\p"
.string "{STR_VAR_3} must love watching TV!$"
-MauvilleCity_PokemonCenter_1F_Text_28FDA2:: @ 828FDA2
+MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle:: @ 828FDA2
.string "The Time-Conscious TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28FDBD:: @ 828FDBD
+MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction:: @ 828FDBD
.string "Checked the time$"
-MauvilleCity_PokemonCenter_1F_Text_28FDCE:: @ 828FDCE
+MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory:: @ 828FDCE
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER checked the time\n"
@@ -746,13 +751,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FDCE:: @ 828FDCE
.string "{STR_VAR_3} must be a punctual TRAINER\n"
.string "who's conscious of the time.$"
-MauvilleCity_PokemonCenter_1F_Text_28FE57:: @ 828FE57
+MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle:: @ 828FE57
.string "The POKéMON LOTTERY Wizard$"
-MauvilleCity_PokemonCenter_1F_Text_28FE72:: @ 828FE72
+MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction:: @ 828FE72
.string "Won POKéMON LOTTERIES$"
-MauvilleCity_PokemonCenter_1F_Text_28FE88:: @ 828FE88
+MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory:: @ 828FE88
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won POKéMON LOTTERIES\n"
@@ -760,13 +765,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FE88:: @ 828FE88
.string "{STR_VAR_3} must have many friends\n"
.string "to trade POKéMON with!$"
-MauvilleCity_PokemonCenter_1F_Text_28FF0C:: @ 828FF0C
+MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle:: @ 828FF0C
.string "The DAY CARE-Using Trainer$"
-MauvilleCity_PokemonCenter_1F_Text_28FF27:: @ 828FF27
+MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction:: @ 828FF27
.string "Left POKéMON at the DAY CARE$"
-MauvilleCity_PokemonCenter_1F_Text_28FF44:: @ 828FF44
+MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory:: @ 828FF44
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER left POKéMON with the\n"
@@ -774,13 +779,13 @@ MauvilleCity_PokemonCenter_1F_Text_28FF44:: @ 828FF44
.string "{STR_VAR_3} must be a real go-getter\n"
.string "who raises POKéMON aggressively!$"
-MauvilleCity_PokemonCenter_1F_Text_28FFDD:: @ 828FFDD
+MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle:: @ 828FFDD
.string "The CABLE CAR-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_28FFFA:: @ 828FFFA
+MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction:: @ 828FFFA
.string "Rode the CABLE CAR$"
-MauvilleCity_PokemonCenter_1F_Text_29000D:: @ 829000D
+MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory:: @ 829000D
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER rode the CABLE CAR\n"
@@ -788,13 +793,13 @@ MauvilleCity_PokemonCenter_1F_Text_29000D:: @ 829000D
.string "{STR_VAR_3} must be a busy TRAINER\n"
.string "who's up and down all the time!$"
-MauvilleCity_PokemonCenter_1F_Text_290097:: @ 8290097
+MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle:: @ 8290097
.string "The Hot Spring-Loving TRAINER$"
-MauvilleCity_PokemonCenter_1F_Text_2900B5:: @ 82900B5
+MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction:: @ 82900B5
.string "Bathed in hot springs$"
-MauvilleCity_PokemonCenter_1F_Text_2900CB:: @ 82900CB
+MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory:: @ 82900CB
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER bathed in hot springs\n"
@@ -803,160 +808,162 @@ MauvilleCity_PokemonCenter_1F_Text_2900CB:: @ 82900CB
.string "baby-smooth skin!$"
-MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A
+MauvilleCity_PokemonCenter_1F_EventScript_Storyteller:: @ 829014A
lock
faceplayer
setvar VAR_0x8008, 0
setvar VAR_0x8009, 0
setvar VAR_0x800A, 0
setvar VAR_0x800B, 0
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
+ msgbox MauvilleCity_PokemonCenter_1F_Text_WillYouHearMyTale, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller
specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot
compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA
- message MauvilleCity_PokemonCenter_1F_Text_28E673
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_KnowNoTales
+ message MauvilleCity_PokemonCenter_1F_Text_WhichTaleToTell
waitmessage
special ScrSpecial_StorytellerStoryListMenu
waitstate
compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection
setvar VAR_0x8008, 1
special ScrSpecial_StorytellerDisplayStory
waitmessage
waitbuttonpress
specialvar VAR_RESULT, ScrSpecial_StorytellerUpdateStat
compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD
- goto MauvilleCity_PokemonCenter_1F_EventScript_29020F
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AreThereOtherTales
+ goto MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale
-MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7
- goto MauvilleCity_PokemonCenter_1F_EventScript_290219
+MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection:: @ 82901B7
+ goto MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller
end
-MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_AreThereOtherTales:: @ 82901BD
+ msgbox MauvilleCity_PokemonCenter_1F_Text_CouldThereBeOtherLegends, MSGBOX_DEFAULT
specialvar VAR_RESULT, ScrSpecial_HasStorytellerAlreadyRecorded
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D
- goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2
-
-MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E6AE, MSGBOX_DEFAULT
-
-MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_StorytellerEnd
+ goto MauvilleCity_PokemonCenter_1F_EventScript_DoYouHaveAnyTales
+
+MauvilleCity_PokemonCenter_1F_EventScript_KnowNoTales:: @ 82901DA
+ msgbox MauvilleCity_PokemonCenter_1F_Text_IKnowNoTales, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_DoYouHaveAnyTales:: @ 82901E2
+ msgbox MauvilleCity_PokemonCenter_1F_Text_HaveYouAnyLegendaryTales, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller
specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat
compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, MSGBOX_DEFAULT
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale
+ msgbox MauvilleCity_PokemonCenter_1F_Text_NotWorthyOfLegend, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_29020F:: @ 829020F
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E726, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale:: @ 829020F
+ msgbox MauvilleCity_PokemonCenter_1F_Text_YouDidStatXTimes, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_290219:: @ 8290219
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E64D, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller:: @ 8290219
+ msgbox MauvilleCity_PokemonCenter_1F_Text_StorytellerFeelingTheBlues, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_290223:: @ 8290223
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E8D9, MSGBOX_DEFAULT
+@ Unused
+MauvilleCity_PokemonCenter_1F_EventScript_WaitingForRecordMix:: @ 8290223
+ msgbox MauvilleCity_PokemonCenter_1F_Text_IWishMorePeopleWereInterested, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_29022D:: @ 829022D
+MauvilleCity_PokemonCenter_1F_EventScript_StorytellerEnd:: @ 829022D
release
end
-MauvilleCity_PokemonCenter_1F_Text_29022F: @ 829022F
+@ Giddy
+MauvilleCity_PokemonCenter_1F_Text_HearMyStory: @ 829022F
.string "I'm GIDDY!\n"
.string "I have a scintillating story for you!\p"
.string "Would you like to hear my story?$"
-MauvilleCity_PokemonCenter_1F_Text_290281: @ 8290281
+MauvilleCity_PokemonCenter_1F_Text_GiddyFeelingTheBlues: @ 8290281
.string "Oh…\n"
.string "You've left me feeling the blues…$"
-MauvilleCity_PokemonCenter_1F_Text_2902A7: @ 82902A7
+MauvilleCity_PokemonCenter_1F_Text_AlsoIWasThinking: @ 82902A7
.string "Also, I was thinking…$"
-MauvilleCity_PokemonCenter_1F_Text_2902BD: @ 82902BD
+MauvilleCity_PokemonCenter_1F_Text_WeShouldChatAgain: @ 82902BD
.string "That's about it, I think…\p"
.string "We should chat again!\n"
.string "Bye-bye!$"
-MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6
+MauvilleCity_PokemonCenter_1F_EventScript_Giddy:: @ 82902F6
lock
faceplayer
- msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290317
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A
+ msgbox MauvilleCity_PokemonCenter_1F_Text_HearMyStory, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellTale
+ compare VAR_RESULT, NO
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineGiddy
end
-MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317
+MauvilleCity_PokemonCenter_1F_EventScript_TryTellTale:: @ 8290317
special ScrSpecial_GiddyShouldTellAnotherTale
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290359
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales
end
-MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331
+MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale:: @ 8290331
special ScrSpecial_GiddyShouldTellAnotherTale
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
+ compare VAR_RESULT, TRUE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_GiddyStartNewTale
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales
end
-MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B
- msgbox MauvilleCity_PokemonCenter_1F_Text_2902A7, MSGBOX_DEFAULT
- goto MauvilleCity_PokemonCenter_1F_EventScript_290359
+MauvilleCity_PokemonCenter_1F_EventScript_GiddyStartNewTale:: @ 829034B
+ msgbox MauvilleCity_PokemonCenter_1F_Text_AlsoIWasThinking, MSGBOX_DEFAULT
+ goto MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale
end
-MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359
+@ Regardless of whether yes or no is selected below, Giddy will continue to tell stories until he's told 10
+MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale:: @ 8290359
special ScrSpecial_GenerateGiddyLine
special ShowFieldMessageStringVar4
waitmessage
yesnobox 20, 8
compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale
compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale
end
-MauvilleCity_PokemonCenter_1F_EventScript_29037A:: @ 829037A
- msgbox MauvilleCity_PokemonCenter_1F_Text_290281, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_DeclineGiddy:: @ 829037A
+ msgbox MauvilleCity_PokemonCenter_1F_Text_GiddyFeelingTheBlues, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_EventScript_290384:: @ 8290384
- msgbox MauvilleCity_PokemonCenter_1F_Text_2902BD, MSGBOX_DEFAULT
+MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales:: @ 8290384
+ msgbox MauvilleCity_PokemonCenter_1F_Text_WeShouldChatAgain, MSGBOX_DEFAULT
release
end
-MauvilleCity_PokemonCenter_1F_Text_29038E: @ 829038E
+MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToHearMySong: @ 829038E
.string "Hi, I'm the BARD.\n"
.string "Would you like to hear my song?$"
-MauvilleCity_PokemonCenter_1F_Text_2903C0: @ 82903C0
+MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues1: @ 82903C0
.string "Oh…\n"
.string "You've left me feeling the blues…$"
-MauvilleCity_PokemonCenter_1F_Text_2903E6: @ 82903E6
+MauvilleCity_PokemonCenter_1F_Text_WishICouldPlaySongForOthers: @ 82903E6
.string "Oh, what a moving song…\n"
.string "I wish I could play it for others…$"
-MauvilleCity_PokemonCenter_1F_Text_290421: @ 8290421
+MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToWriteSomeLyrics: @ 8290421
.string "So?\n"
.string "How do you like my song?\p"
.string "But I'm none too happy about\n"
@@ -964,38 +971,38 @@ MauvilleCity_PokemonCenter_1F_Text_290421: @ 8290421
.string "How would you like to write some\n"
.string "new lyrics for me?$"
-MauvilleCity_PokemonCenter_1F_Text_29049B: @ 829049B
+MauvilleCity_PokemonCenter_1F_Text_BardFeelingTheBlues2: @ 829049B
.string "Oh…\n"
.string "You've left me feeling the blues…$"
-MauvilleCity_PokemonCenter_1F_Text_2904C1: @ 82904C1
+MauvilleCity_PokemonCenter_1F_Text_LetMeSingItForYou: @ 82904C1
.string "Thank you kindly!\n"
.string "Let me sing it for you.$"
-MauvilleCity_PokemonCenter_1F_Text_2904EB: @ 82904EB
+MauvilleCity_PokemonCenter_1F_Text_ThatHowYouWantedSongToGo: @ 82904EB
.string "Was that how you wanted your song\n"
.string "to go?$"
-MauvilleCity_PokemonCenter_1F_Text_290514: @ 8290514
+MauvilleCity_PokemonCenter_1F_Text_IllSingThisSongForAWhile: @ 8290514
.string "Okay! That's it, then.\n"
.string "I'll sing this song for a while.$"
-MauvilleCity_PokemonCenter_1F_Text_29054C: @ 829054C
+MauvilleCity_PokemonCenter_1F_Text_TeachWhatsHipAndHappening: @ 829054C
.string "Hey, yo! They call me the HIPSTER.\n"
.string "I'll teach you what's hip and happening.$"
-MauvilleCity_PokemonCenter_1F_Text_290598: @ 8290598
+MauvilleCity_PokemonCenter_1F_Text_IAlreadyTaughtYou: @ 8290598
.string "But, hey, I taught you what's hip and\n"
.string "happening already.\p"
.string "I'd like to spread the good word to\n"
.string "other folks.$"
-MauvilleCity_PokemonCenter_1F_Text_290602: @ 8290602
+MauvilleCity_PokemonCenter_1F_Text_IveGotNothingNewToTeach: @ 8290602
.string "But, hey, you already know a lot about\n"
.string "what's hip and happening.\p"
.string "I've got nothing new to teach you!$"
-MauvilleCity_PokemonCenter_1F_Text_290666: @ 8290666
+MauvilleCity_PokemonCenter_1F_Text_HaveYouHeardOfPhrase: @ 8290666
.string "Hey, have you heard about\n"
.string "“{STR_VAR_1}”?\p"
.string "What's it mean? Well…\n"
diff --git a/data/scripts/mevent.inc b/data/scripts/mevent.inc
new file mode 100644
index 000000000..731154315
--- /dev/null
+++ b/data/scripts/mevent.inc
@@ -0,0 +1,62 @@
+EventScript_Questionnaire:: @ 827381B
+ lockall
+ msgbox Mevent_Text_FillOutQuestionnaire, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq Mevent_EventScript_Release
+ setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE
+ call Common_ShowEasyChatScreen
+ lock
+ faceplayer
+ specialvar VAR_0x8008, GetMartEmployeeObjectEventId
+ compare VAR_0x8004, 1
+ goto_if_eq Mevent_EventScript_PlayerInputMysteryEventPhrase
+ compare VAR_0x8004, 2
+ goto_if_eq Mevent_EventScript_PlayerInputMysteryGiftPhrase
+ compare VAR_RESULT, 0
+ goto_if_eq Mevent_EventScript_Release
+ compare VAR_RESULT, 1
+ goto_if_eq Mevent_EventScript_QuestionnaireThankYou
+ end
+
+Mevent_EventScript_PlayerInputMysteryEventPhrase:: @ 827386D
+ goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou
+ goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, Mevent_EventScript_QuestionnaireThankYou
+ applymovement VAR_0x8008, Common_Movement_FaceDown
+ waitmovement 0
+ playse SE_PIN
+ applymovement VAR_0x8008, Common_Movement_ExclamationMark
+ waitmovement 0
+ applymovement VAR_0x8008, Common_Movement_Delay48
+ waitmovement 0
+ msgbox Mevent_Text_YouKnowThoseWordsEvent, MSGBOX_DEFAULT
+ setflag FLAG_SYS_MYSTERY_EVENT_ENABLE
+ msgbox Mevent_Text_YouCanAccessMysteryEvent, MSGBOX_DEFAULT
+ releaseall
+ end
+
+Mevent_EventScript_PlayerInputMysteryGiftPhrase:: @ 82738B5
+ goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou
+ goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, Mevent_EventScript_QuestionnaireThankYou
+ applymovement VAR_0x8008, Common_Movement_FaceDown
+ waitmovement 0
+ playse SE_PIN
+ applymovement VAR_0x8008, Common_Movement_ExclamationMark
+ waitmovement 0
+ applymovement VAR_0x8008, Common_Movement_Delay48
+ waitmovement 0
+ msgbox Mevent_Text_YouKnowThoseWordsGift, MSGBOX_DEFAULT
+ setflag FLAG_SYS_MYSTERY_GIFT_ENABLE
+ msgbox Mevent_Text_YouCanAccessMysteryGift, MSGBOX_DEFAULT
+ releaseall
+ end
+
+Mevent_EventScript_Release:: @ 82738FD
+ releaseall
+ end
+
+Mevent_EventScript_QuestionnaireThankYou:: @ 82738FF
+ applymovement VAR_0x8008, Common_Movement_FaceDown
+ waitmovement 0
+ msgbox Mevent_Text_QuestionnaireThankYou, MSGBOX_DEFAULT
+ releaseall
+ end
diff --git a/data/scripts/mevent_altering_cave.inc b/data/scripts/mevent_altering_cave.inc
new file mode 100644
index 000000000..499907edd
--- /dev/null
+++ b/data/scripts/mevent_altering_cave.inc
@@ -0,0 +1,24 @@
+MysteryEventScript_AlteringCave:: @ 86756E3
+ setvaddress MysteryEventScript_AlteringCave
+ addvar VAR_ALTERING_CAVE_WILD_SET, 1
+ compare VAR_ALTERING_CAVE_WILD_SET, 10
+ vgoto_if_ne MysteryEventScript_AlteringCave_
+ setvar VAR_ALTERING_CAVE_WILD_SET, 0
+MysteryEventScript_AlteringCave_: @ 86756FD
+ lock
+ faceplayer
+ vmessage sText_MysteryGiftAlteringCave
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+sText_MysteryGiftAlteringCave::
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "There appears to be a rumor about\n"
+ .string "rare POKéMON sightings.\p"
+ .string "The sightings reportedly came from\n"
+ .string "the ALTERING CAVE on ROUTE 103.\p"
+ .string "Perhaps it would be worthwhile for\n"
+ .string "you to investigate this rumor.$"
diff --git a/data/scripts/mevent_aurora_ticket.inc b/data/scripts/mevent_aurora_ticket.inc
new file mode 100644
index 000000000..f26be068f
--- /dev/null
+++ b/data/scripts/mevent_aurora_ticket.inc
@@ -0,0 +1,59 @@
+MysteryEventScript_AuroraTicket:: @ 867533C
+ setvaddress MysteryEventScript_AuroraTicket
+ lock
+ faceplayer
+ vgoto_if_set FLAG_RECEIVED_AURORA_TICKET, AuroraTicket_Obtained
+ vgoto_if_set FLAG_BATTLED_DEOXYS, AuroraTicket_Obtained
+ checkitem ITEM_AURORA_TICKET, 1
+ compare VAR_RESULT, TRUE
+ vgoto_if_eq AuroraTicket_Obtained
+ vmessage sText_AuroraTicketForYou
+ waitmessage
+ waitbuttonpress
+ checkitemspace ITEM_AURORA_TICKET, 1
+ compare VAR_RESULT, FALSE
+ vgoto_if_eq AuroraTicket_NoBagSpace
+ giveitem ITEM_AURORA_TICKET
+ setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND
+ setflag FLAG_RECEIVED_AURORA_TICKET
+ vmessage sText_AuroraTicketUseAtPort
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+AuroraTicket_NoBagSpace: @ 8675397
+ vmessage sText_AuroraTicketBagFull
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+AuroraTicket_Obtained: @ 86753A0
+ vmessage sText_AuroraTicketThankYou
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+sText_AuroraTicketForYou:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "You must be {PLAYER}.\n"
+ .string "There is a ticket here for you.$"
+
+sText_AuroraTicketUseAtPort:
+ .string "It appears to be for use at the\n"
+ .string "LILYCOVE CITY port.\p"
+ .string "Why not give it a try and see what\n"
+ .string "it is about?$"
+
+sText_AuroraTicketThankYou:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.$"
+
+sText_AuroraTicketBagFull:
+ .string "Oh, I'm sorry, {PLAYER}.\n"
+ .string "Your BAG's KEY ITEMS POCKET is full.\p"
+ .string "Please store something on your PC,\n"
+ .string "then come back for this.$"
diff --git a/data/scripts/mevent_battle_card.inc b/data/scripts/mevent_battle_card.inc
new file mode 100644
index 000000000..70462bdd9
--- /dev/null
+++ b/data/scripts/mevent_battle_card.inc
@@ -0,0 +1,46 @@
+MysteryEventScript_BattleCard:: @ 867513C
+ setvaddress MysteryEventScript_BattleCard
+ vgoto_if_set FLAG_MYSTERY_EVENT_DONE, MysteryEventScript_BattleCardInfo
+ setorcopyvar VAR_RESULT, GET_CARD_BATTLES_WON
+ specialvar VAR_0x8008, GetMysteryEventCardVal
+ compare VAR_0x8008, REQUIRED_CARD_BATTLES
+ vgoto_if_ne MysteryEventScript_BattleCardInfo
+ lock
+ faceplayer
+ vmessage sText_MysteryGiftBattleCountCard_WonPrize
+ waitmessage
+ waitbuttonpress
+ giveitem ITEM_POTION
+ release
+ setflag FLAG_MYSTERY_EVENT_DONE
+ end
+
+MysteryEventScript_BattleCardInfo: @ 8675179
+ lock
+ faceplayer
+ vmessage sText_MysteryGiftBattleCountCard
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+sText_MysteryGiftBattleCountCard:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "Your BATTLE COUNT CARD keeps\n"
+ .string "track of your battle record against\l"
+ .string "TRAINERS with the same CARD.\p"
+ .string "Look for and battle TRAINERS who\n"
+ .string "have the same CARD as you.\p"
+ .string "You may check the overall rankings\n"
+ .string "by reading the NEWS.\p"
+ .string "Please do give it a try!$"
+
+sText_MysteryGiftBattleCountCard_WonPrize:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "Congratulations!\p"
+ .string "You have won a prize for winning\n"
+ .string "three battles!\p"
+ .string "We hope you will be inspired to\n"
+ .string "battle some more.$"
diff --git a/data/scripts/mevent_mystic_ticket.inc b/data/scripts/mevent_mystic_ticket.inc
new file mode 100644
index 000000000..8f938dc33
--- /dev/null
+++ b/data/scripts/mevent_mystic_ticket.inc
@@ -0,0 +1,60 @@
+MysteryEventScript_MysticTicket:: @ 867550B
+ setvaddress MysteryEventScript_MysticTicket
+ lock
+ faceplayer
+ vgoto_if_set FLAG_RECEIVED_MYSTIC_TICKET, MysticTicket_Obtained
+ vgoto_if_set FLAG_CAUGHT_LUGIA, MysticTicket_Obtained
+ vgoto_if_set FLAG_CAUGHT_HO_OH, MysticTicket_Obtained
+ checkitem ITEM_MYSTIC_TICKET, 1
+ compare VAR_RESULT, TRUE
+ vgoto_if_eq MysticTicket_Obtained
+ vmessage sText_MysticTicketForYou
+ waitmessage
+ waitbuttonpress
+ checkitemspace ITEM_MYSTIC_TICKET, 1
+ compare VAR_RESULT, FALSE
+ vgoto_if_eq MysticTicket_NoBagSpace
+ giveitem ITEM_MYSTIC_TICKET
+ setflag FLAG_ENABLE_SHIP_NAVEL_ROCK
+ setflag FLAG_RECEIVED_MYSTIC_TICKET
+ vmessage sText_MysticTicketUseAtPort
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+MysticTicket_NoBagSpace: @ 867556F
+ vmessage sText_MysticTicketBagFull
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+MysticTicket_Obtained: @ 8675578
+ vmessage sText_MysticTicketThankYou
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+sText_MysticTicketForYou:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "You must be {PLAYER}.\n"
+ .string "There is a ticket here for you.$"
+
+sText_MysticTicketUseAtPort:
+ .string "It appears to be for use at the\n"
+ .string "LILYCOVE CITY port.\p"
+ .string "Why not give it a try and see what\n"
+ .string "it is about?$"
+
+sText_MysticTicketThankYou:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.$"
+
+sText_MysticTicketBagFull:
+ .string "Oh, I'm sorry, {PLAYER}.\n"
+ .string "Your BAG's KEY ITEMS POCKET is full.\p"
+ .string "Please store something on your PC,\n"
+ .string "then come back for this.$"
diff --git a/data/scripts/mevent_old_sea_map.inc b/data/scripts/mevent_old_sea_map.inc
new file mode 100644
index 000000000..0fb3c1002
--- /dev/null
+++ b/data/scripts/mevent_old_sea_map.inc
@@ -0,0 +1,60 @@
+MysteryEventScript_OldSeaMap:: @ 86757F4
+ setvaddress MysteryEventScript_OldSeaMap
+ lock
+ faceplayer
+ vgoto_if_set FLAG_RECEIVED_OLD_SEA_MAP, OldSeaMap_Obtained
+ vgoto_if_set FLAG_CAUGHT_MEW, OldSeaMap_Obtained
+ checkitem ITEM_OLD_SEA_MAP, 1
+ compare VAR_RESULT, TRUE
+ vgoto_if_eq OldSeaMap_Obtained
+ vmessage sText_MysteryGiftOldSeaMapForYou
+ waitmessage
+ waitbuttonpress
+ checkitemspace ITEM_OLD_SEA_MAP, 1
+ compare VAR_RESULT, FALSE
+ vgoto_if_eq OldSeaMap_NoBagSpace
+ giveitem ITEM_OLD_SEA_MAP
+ setflag FLAG_ENABLE_SHIP_FARAWAY_ISLAND
+ setflag FLAG_RECEIVED_OLD_SEA_MAP
+ vmessage sText_MysteryGiftOldSeaMapUseAtPort
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+OldSeaMap_NoBagSpace: @ 867584F
+ vmessage sText_MysteryGiftOldSeaMapBagFull
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+OldSeaMap_Obtained: @ 8675858
+ vmessage sText_MysteryGiftOldSeaMapThankYou
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+sText_MysteryGiftOldSeaMapForYou:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "Let me confirm--you are {PLAYER}?\p"
+ .string "We received this OLD SEA MAP\n"
+ .string "addressed to you.$"
+
+sText_MysteryGiftOldSeaMapUseAtPort:
+ .string "It appears to be for use at the\n"
+ .string "LILYCOVE CITY port.\p"
+ .string "Why not give it a try and see what\n"
+ .string "it is about?$"
+
+sText_MysteryGiftOldSeaMapThankYou:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.$"
+
+sText_MysteryGiftOldSeaMapBagFull:
+ .string "Oh, I'm sorry, {PLAYER}.\n"
+ .string "Your BAG's KEY ITEMS POCKET is full.\p"
+ .string "Please store something on your PC,\n"
+ .string "then come back for this.$"
diff --git a/data/scripts/mevent_pichu.inc b/data/scripts/mevent_pichu.inc
new file mode 100644
index 000000000..cc947e396
--- /dev/null
+++ b/data/scripts/mevent_pichu.inc
@@ -0,0 +1,78 @@
+MysteryEventScript_SurfPichu:: @ 8674D3D
+ setvaddress MysteryEventScript_SurfPichu
+ vgoto_if_unset FLAG_MYSTERY_EVENT_DONE, SurfPichu_GiveIfPossible
+ returnram
+
+SurfPichu_GiveIfPossible: @ 8674D4C
+ specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount
+ compare VAR_EVENT_PICHU_SLOT, PARTY_SIZE
+ vgoto_if_eq SurfPichu_FullParty
+ setflag FLAG_MYSTERY_EVENT_DONE
+ vcall SurfPichu_GiveEgg
+ lock
+ faceplayer
+ vmessage sText_MysteryGiftEgg
+ waitmessage
+ waitbuttonpress
+ playfanfare MUS_FANFA4
+ waitfanfare
+ release
+ end
+
+SurfPichu_FullParty: @ 8674D73
+ lock
+ faceplayer
+ vmessage sText_FullParty
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+SurfPichu_GiveEgg: @ 8674D7E
+ giveegg SPECIES_PICHU
+ setmonobedient VAR_EVENT_PICHU_SLOT
+ setmonmetlocation VAR_EVENT_PICHU_SLOT, METLOC_FATEFUL_ENCOUNTER
+ compare VAR_EVENT_PICHU_SLOT, 1
+ vgoto_if_eq SurfPichu_Slot1
+ compare VAR_EVENT_PICHU_SLOT, 2
+ vgoto_if_eq SurfPichu_Slot2
+ compare VAR_EVENT_PICHU_SLOT, 3
+ vgoto_if_eq SurfPichu_Slot3
+ compare VAR_EVENT_PICHU_SLOT, 4
+ vgoto_if_eq SurfPichu_Slot4
+ compare VAR_EVENT_PICHU_SLOT, 5
+ vgoto_if_eq SurfPichu_Slot5
+ return
+
+SurfPichu_Slot1: @ 8674DC0
+ setmonmove 1, 2, MOVE_SURF
+ return
+
+SurfPichu_Slot2:: @ 8674DC6
+ setmonmove 2, 2, MOVE_SURF
+ return
+
+SurfPichu_Slot3: @ 8674DCC
+ setmonmove 3, 2, MOVE_SURF
+ return
+
+SurfPichu_Slot4: @ 8674DD2
+ setmonmove 4, 2, MOVE_SURF
+ return
+
+SurfPichu_Slot5: @ 8674DD8
+ setmonmove 5, 2, MOVE_SURF
+ return
+
+sText_MysteryGiftEgg:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "From the POKéMON CENTER we\n"
+ .string "have a gift--a POKéMON EGG!\p"
+ .string "Please raise it with love and\n"
+ .string "kindness.$"
+
+sText_FullParty:
+ .string "Oh, your party appears to be full.\p"
+ .string "Please come see me after storing\n"
+ .string "a POKéMON on a PC.$"
diff --git a/data/scripts/mevent_stamp_card.inc b/data/scripts/mevent_stamp_card.inc
new file mode 100644
index 000000000..dcef80a50
--- /dev/null
+++ b/data/scripts/mevent_stamp_card.inc
@@ -0,0 +1,21 @@
+MysteryEventScript_StampCard:: @ 8674CB0
+ setvaddress MysteryEventScript_StampCard
+ setorcopyvar VAR_RESULT, GET_MAX_STAMPS
+ specialvar VAR_0x8008, GetMysteryEventCardVal
+ setorcopyvar VAR_RESULT, GET_NUM_STAMPS
+ specialvar VAR_0x8009, GetMysteryEventCardVal
+ subvar VAR_0x8008, VAR_0x8009
+ buffernumberstring 0, VAR_0x8008
+ lock
+ faceplayer
+ vmessage sText_MysteryGiftStampCard
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+sText_MysteryGiftStampCard:
+ .string "Thank you for using the STAMP CARD\n"
+ .string "System.\p"
+ .string "You have {STR_VAR_1} more to collect to\n"
+ .string "fill your STAMP CARD.$"
diff --git a/data/scripts/mevent_trainer.inc b/data/scripts/mevent_trainer.inc
new file mode 100644
index 000000000..4114750d8
--- /dev/null
+++ b/data/scripts/mevent_trainer.inc
@@ -0,0 +1,49 @@
+MysteryEventScript_VisitingTrainer:: @ 8674EC1
+ setvaddress MysteryEventScript_VisitingTrainer
+ special ValidateEReaderTrainer
+ compare VAR_RESULT, 0
+ vgoto_if_eq MysteryEventScript_VisitingTrainerArrived
+ lock
+ faceplayer
+ vmessage sText_MysteryGiftVisitingTrainerInstructions
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+MysteryEventScript_VisitingTrainerArrived: @ 8674EDF
+ lock
+ faceplayer
+ vmessage sText_MysteryGiftVisitingTrainerArrived
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+sText_MysteryGiftVisitingTrainerInstructions:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "By holding this WONDER CARD, you\n"
+ .string "may take part in a survey at a\l"
+ .string "POKéMON MART.\p"
+ .string "Use these surveys to invite\n"
+ .string "TRAINERS to SOOTOPOLIS CITY.\p"
+ .string "…Let me give you a secret\n"
+ .string "password for a survey:\p"
+ .string "“GIVE ME\n"
+ .string "AWESOME TRAINER”\p"
+ .string "Write that in on a survey and send\n"
+ .string "it to the WIRELESS\l"
+ .string "COMMUNICATION SYSTEM.$"
+
+sText_MysteryGiftVisitingTrainerArrived:
+ .string "Thank you for using the MYSTERY\n"
+ .string "GIFT System.\p"
+ .string "A TRAINER has arrived in\n"
+ .string "SOOTOPOLIS CITY looking for you.\p"
+ .string "We hope you will enjoy\n"
+ .string "battling the visiting TRAINER.\p"
+ .string "You may invite other TRAINERS by\n"
+ .string "entering other passwords.\p"
+ .string "Try looking for other passwords\n"
+ .string "that may work.$"
diff --git a/data/scripts/move_tutors.inc b/data/scripts/move_tutors.inc
new file mode 100644
index 000000000..a7807ce51
--- /dev/null
+++ b/data/scripts/move_tutors.inc
@@ -0,0 +1,300 @@
+SlateportCity_PokemonFanClub_EventScript_SwaggerTutor:: @ 82C7F16
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, MoveTutor_EventScript_SwaggerTaught
+ msgbox MoveTutor_Text_SwaggerTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_SwaggerDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_SwaggerDeclined
+ msgbox MoveTutor_Text_SwaggerWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_SWAGGER
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_SwaggerDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER
+ goto MoveTutor_EventScript_SwaggerTaught
+ end
+
+MoveTutor_EventScript_SwaggerDeclined:: @ 82C7F6A
+ msgbox MoveTutor_Text_SwaggerDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_SwaggerTaught:: @ 82C7F74
+ msgbox MoveTutor_Text_SwaggerTaught, MSGBOX_DEFAULT
+ release
+ end
+
+MauvilleCity_EventScript_RolloutTutor:: @ 82C7F7E
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MoveTutor_EventScript_RolloutTaught
+ msgbox MoveTutor_Text_RolloutTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_RolloutDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_RolloutDeclined
+ msgbox MoveTutor_Text_RolloutWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_ROLLOUT
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_RolloutDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT
+ goto MoveTutor_EventScript_RolloutTaught
+ end
+
+MoveTutor_EventScript_RolloutDeclined:: @ 82C7FD2
+ msgbox MoveTutor_Text_RolloutDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_RolloutTaught:: @ 82C7FDC
+ msgbox MoveTutor_Text_RolloutTaught, MSGBOX_DEFAULT
+ release
+ end
+
+VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor:: @ 82C7FE6
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, MoveTutor_EventScript_FuryCutterTaught
+ msgbox MoveTutor_Text_FuryCutterTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_FuryCutterDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_FuryCutterDeclined
+ msgbox MoveTutor_Text_FuryCutterWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_FURY_CUTTER
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_FuryCutterDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER
+ goto MoveTutor_EventScript_FuryCutterTaught
+ end
+
+MoveTutor_EventScript_FuryCutterDeclined:: @ 82C803A
+ msgbox MoveTutor_Text_FuryCutterDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_FuryCutterTaught:: @ 82C8044
+ msgbox MoveTutor_Text_FuryCutterTaught, MSGBOX_DEFAULT
+ release
+ end
+
+LavaridgeTown_House_EventScript_MimicTutor:: @ 82C804E
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, MoveTutor_EventScript_MimicTaught
+ msgbox MoveTutor_MimicTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_MimicDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_MimicDeclined
+ msgbox MoveTutor_Text_MimicWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_MIMIC
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_MimicDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC
+ goto MoveTutor_EventScript_MimicTaught
+ end
+
+MoveTutor_EventScript_MimicDeclined:: @ 82C80A2
+ msgbox MoveTutor_MimicDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_MimicTaught:: @ 82C80AC
+ msgbox MoveTutor_Text_MimicTaught, MSGBOX_DEFAULT
+ release
+ end
+
+FallarborTown_Mart_EventScript_MetronomeTutor:: @ 82C80B6
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, MoveTutor_EventScript_MetronomeTaught
+ msgbox MoveTutor_Text_MetronomeTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_MetronomeDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_MetronomeDeclined
+ msgbox MoveTutor_Text_MetronomeWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_METRONOME
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_MetronomeDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME
+ goto MoveTutor_EventScript_MetronomeTaught
+ end
+
+MoveTutor_EventScript_MetronomeDeclined:: @ 82C810A
+ msgbox MoveTutor_Text_MetronomeDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_MetronomeTaught:: @ 82C8114
+ msgbox MoveTutor_Text_MetronomeTaught, MSGBOX_DEFAULT
+ release
+ end
+
+FortreeCity_House2_EventScript_SleepTalkTutor:: @ 82C811E
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, MoveTutor_EventScript_SleepTalkTaught
+ msgbox MoveTutor_Text_SleepTalkTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_SleepTalkDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_SleepTalkDeclined
+ msgbox MoveTutor_Text_SleepTalkWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_SLEEP_TALK
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_SleepTalkDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK
+ goto MoveTutor_EventScript_SleepTalkTaught
+ end
+
+MoveTutor_EventScript_SleepTalkDeclined:: @ 82C8172
+ msgbox MoveTutor_Text_SleepTalkDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_SleepTalkTaught:: @ 82C817C
+ msgbox MoveTutor_Text_SleepTalkTaught, MSGBOX_DEFAULT
+ release
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor:: @ 82C8186
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, MoveTutor_EventScript_SubstituteTaught
+ msgbox MoveTutor_Text_SubstituteTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_SubstituteDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_SubstituteDeclined
+ msgbox MoveTutor_Text_SubstituteWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_SUBSTITUTE
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_SubstituteDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE
+ goto MoveTutor_EventScript_SubstituteTaught
+ end
+
+MoveTutor_EventScript_SubstituteDeclined:: @ 82C81DA
+ msgbox MoveTutor_Text_SubstituteDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_SubstituteTaught:: @ 82C81E4
+ msgbox MoveTutor_Text_SubstituteTaught, MSGBOX_DEFAULT
+ release
+ end
+
+MossdeepCity_EventScript_DynamicPunchTutor:: @ 82C81EE
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MoveTutor_EventScript_DynamicPunchTaught
+ msgbox MoveTutor_Text_DynamicPunchTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined
+ msgbox MoveTutor_Text_DynamicPunchWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_DYNAMIC_PUNCH
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH
+ goto MoveTutor_EventScript_DynamicPunchTaught
+ end
+
+MoveTutor_EventScript_DynamicPunchDeclined:: @ 82C8242
+ msgbox MoveTutor_Text_DynamicPunchDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_DynamicPunchTaught:: @ 82C824C
+ msgbox MoveTutor_Text_DynamicPunchTaught, MSGBOX_DEFAULT
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor:: @ 82C8256
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, MoveTutor_EventScript_DoubleEdgeTaught
+ msgbox MoveTutor_Text_DoubleEdgeTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined
+ msgbox MoveTutor_Text_DoubleEdgeWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_DOUBLE_EDGE
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE
+ goto MoveTutor_EventScript_DoubleEdgeTaught
+ end
+
+MoveTutor_EventScript_DoubleEdgeDeclined:: @ 82C82AA
+ msgbox MoveTutor_Text_DoubleEdgeDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_DoubleEdgeTaught:: @ 82C82B4
+ msgbox MoveTutor_Text_DoubleEdgeTaught, MSGBOX_DEFAULT
+ release
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor:: @ 82C82BE
+ lock
+ faceplayer
+ goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, MoveTutor_EventScript_ExplosionTaught
+ msgbox MoveTutor_Text_ExplosionTeach, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_ExplosionDeclined
+ call MoveTutor_EventScript_CanOnlyBeLearnedOnce
+ compare VAR_RESULT, NO
+ goto_if_eq MoveTutor_EventScript_ExplosionDeclined
+ msgbox MoveTutor_Text_ExplosionWhichMon, MSGBOX_DEFAULT
+ setvar VAR_0x8005, TUTOR_MOVE_EXPLOSION
+ call MoveTutor_EventScript_OpenPartyMenu
+ compare VAR_RESULT, 0
+ goto_if_eq MoveTutor_EventScript_ExplosionDeclined
+ setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION
+ goto MoveTutor_EventScript_ExplosionTaught
+ end
+
+MoveTutor_EventScript_ExplosionDeclined:: @ 82C8312
+ msgbox MoveTutor_Text_ExplosionDeclined, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_ExplosionTaught:: @ 82C831C
+ msgbox MoveTutor_Text_ExplosionTaught, MSGBOX_DEFAULT
+ release
+ end
+
+MoveTutor_EventScript_OpenPartyMenu:: @ 82C8326
+ special ChooseMonForMoveTutor
+ waitstate
+ lock
+ faceplayer
+ return
+
+MoveTutor_EventScript_CanOnlyBeLearnedOnce:: @ 82C832D
+ msgbox MoveTutor_Text_ThisMoveCanOnlyBeLearnedOnce, MSGBOX_YESNO
+ return
diff --git a/data/scripts/movement.inc b/data/scripts/movement.inc
new file mode 100644
index 000000000..3dd1a8144
--- /dev/null
+++ b/data/scripts/movement.inc
@@ -0,0 +1,100 @@
+Common_Movement_QuestionMark: @ 8272596
+ emote_question_mark
+ step_end
+
+Common_Movement_ExclamationMark: @ 8272598
+ emote_exclamation_mark
+ step_end
+
+Common_Movement_Delay48: @ 827259A
+ delay_16
+ delay_16
+ delay_16
+ step_end
+
+Common_Movement_FacePlayer: @ 827259E
+ face_player
+ step_end
+
+Common_Movement_FaceAwayPlayer: @ 82725A0
+ face_away_player
+ step_end
+
+Common_Movement_FaceOriginalDirection: @ 82725A2
+ face_original_direction
+ step_end
+
+Common_Movement_WalkInPlaceFastestLeft: @ 82725A4
+ walk_in_place_fastest_left
+ step_end
+
+Common_Movement_WalkInPlaceFastestUp: @ 82725A6
+ walk_in_place_fastest_up
+ step_end
+
+Common_Movement_WalkInPlaceFastestRight: @ 82725A8
+ walk_in_place_fastest_right
+ step_end
+
+Common_Movement_WalkInPlaceFastestDown: @ 82725AA
+ walk_in_place_fastest_down
+ step_end
+
+Common_Movement_FaceRight: @ 82725AC
+ face_right
+ step_end
+
+Common_Movement_FaceLeft: @ 82725AE
+ face_left
+ step_end
+
+Common_Movement_FaceDown: @ 82725B0
+ face_down
+ step_end
+
+Common_Movement_FaceUp: @ 82725B2
+ face_up
+ step_end
+
+Common_Movement_WalkInPlaceDown: @ 82725B4
+ walk_in_place_down
+ step_end
+
+Common_Movement_WalkInPlaceLeft: @ 82725B6
+ walk_in_place_left
+ step_end
+
+Common_Movement_WalkInPlaceRight: @ 82725B8
+ walk_in_place_right
+ step_end
+
+Common_Movement_WalkUp6: @ 82725BA
+ walk_up
+ walk_up
+ walk_up
+ walk_up
+ walk_up
+ walk_up
+ step_end
+
+Common_Movement_WalkUp4: @ 82725C1
+ walk_up
+ walk_up
+ walk_up
+ walk_up
+ step_end
+
+Common_Movement_Delay32: @ 82725C6
+ delay_16
+ delay_16
+ step_end
+
+Common_Movement_WalkUp: @ 82725C9
+ walk_up
+ step_end
+
+@ Unused
+Common_Movement_WalkUp2:: @ 82725CB
+ walk_up
+ walk_up
+ step_end
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
index cc189a96b..16e9a657f 100644
--- a/data/scripts/mystery_event_club.inc
+++ b/data/scripts/mystery_event_club.inc
@@ -1,110 +1,111 @@
-PetalburgCity_PokemonCenter_1F_EventScript_291539:: @ 8291539
+MysteryEventClub_EventScript_Man:: @ 8291539
lock
faceplayer
- goto_if_set FLAG_SYS_CHAT_USED, PetalburgCity_PokemonCenter_1F_EventScript_2915F5
- msgbox PetalburgCity_PokemonCenter_1F_Text_291687, MSGBOX_DEFAULT
- goto PetalburgCity_PokemonCenter_1F_EventScript_291552
+ goto_if_set FLAG_SYS_CHAT_USED, MysteryEventClub_EventScript_GivenProfileBefore
+ msgbox MysteryEventClub_Text_CollectTrainerProfiles, MSGBOX_DEFAULT
+ goto MysteryEventClub_EventScript_AskToSeeProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_291552:: @ 8291552
- msgbox PetalburgCity_PokemonCenter_1F_Text_2916FF, MSGBOX_DEFAULT
- multichoice 17, 6, 20, 0
+MysteryEventClub_EventScript_AskToSeeProfile:: @ 8291552
+ msgbox MysteryEventClub_Text_MayISeeYourProfile, MSGBOX_DEFAULT
+ multichoice 17, 6, MULTI_YESNOINFO_2, 0
switch VAR_RESULT
- case 0, PetalburgCity_PokemonCenter_1F_EventScript_29159F
- case 1, PetalburgCity_PokemonCenter_1F_EventScript_2915EB
- case 2, PetalburgCity_PokemonCenter_1F_EventScript_291591
- case 127, PetalburgCity_PokemonCenter_1F_EventScript_2915EB
+ case 0, MysteryEventClub_EventScript_CreateProfile
+ case 1, MysteryEventClub_EventScript_DeclineShowProfile
+ case 2, MysteryEventClub_EventScript_Info
+ case MULTI_B_PRESSED, MysteryEventClub_EventScript_DeclineShowProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_291591:: @ 8291591
- msgbox PetalburgCity_PokemonCenter_1F_Text_291729, MSGBOX_DEFAULT
- goto PetalburgCity_PokemonCenter_1F_EventScript_291552
+MysteryEventClub_EventScript_Info:: @ 8291591
+ msgbox MysteryEventClub_Text_EasyChatExplanation, MSGBOX_DEFAULT
+ goto MysteryEventClub_EventScript_AskToSeeProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F
- msgbox PetalburgCity_PokemonCenter_1F_Text_291969, MSGBOX_DEFAULT
+MysteryEventClub_EventScript_CreateProfile:: @ 829159F
+ msgbox MysteryEventClub_Text_LetsSeeItThen, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE
call Common_ShowEasyChatScreen
lock
faceplayer
compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
+ goto_if_eq MysteryEventClub_EventScript_CancelShowProfile
compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
+ goto_if_eq MysteryEventClub_EventScript_ShowProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_2915CB:: @ 82915CB
- msgbox PetalburgCity_PokemonCenter_1F_Text_2919DC, MSGBOX_DEFAULT
+MysteryEventClub_EventScript_CancelShowProfile:: @ 82915CB
+ msgbox MysteryEventClub_Text_NotIntoItRightNow, MSGBOX_DEFAULT
release
end
-PetalburgCity_PokemonCenter_1F_EventScript_2915D5:: @ 82915D5
+MysteryEventClub_EventScript_ShowProfile:: @ 82915D5
setvar VAR_0x8004, 0
- special sub_811EECC
+ special ShowEasyChatProfile
waitmessage
delay 80
- msgbox PetalburgCity_PokemonCenter_1F_Text_291B22, MSGBOX_DEFAULT
+ msgbox MysteryEventClub_Text_FantasticProfile, MSGBOX_DEFAULT
release
end
-PetalburgCity_PokemonCenter_1F_EventScript_2915EB:: @ 82915EB
- msgbox PetalburgCity_PokemonCenter_1F_Text_291991, MSGBOX_DEFAULT
+MysteryEventClub_EventScript_DeclineShowProfile:: @ 82915EB
+ msgbox MysteryEventClub_Text_ImagineYouWouldHaveWonderfulProfile, MSGBOX_DEFAULT
release
end
-PetalburgCity_PokemonCenter_1F_EventScript_2915F5:: @ 82915F5
- msgbox PetalburgCity_PokemonCenter_1F_Text_291A1B, MSGBOX_DEFAULT
- goto PetalburgCity_PokemonCenter_1F_EventScript_291603
+MysteryEventClub_EventScript_GivenProfileBefore:: @ 82915F5
+ msgbox MysteryEventClub_Text_YouHaveWonderfulSmile, MSGBOX_DEFAULT
+ goto MysteryEventClub_EventScript_AskToSeeNewProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_291603:: @ 8291603
- msgbox PetalburgCity_PokemonCenter_1F_Text_291A4F, MSGBOX_DEFAULT
- multichoice 17, 6, 20, 0
+MysteryEventClub_EventScript_AskToSeeNewProfile:: @ 8291603
+ msgbox MysteryEventClub_Text_MayISeeYourNewProfile, MSGBOX_DEFAULT
+ multichoice 17, 6, MULTI_YESNOINFO_2, 0
switch VAR_RESULT
- case 0, PetalburgCity_PokemonCenter_1F_EventScript_291650
- case 1, PetalburgCity_PokemonCenter_1F_EventScript_29167C
- case 2, PetalburgCity_PokemonCenter_1F_EventScript_291642
- case 127, PetalburgCity_PokemonCenter_1F_EventScript_29167C
+ case 0, MysteryEventClub_EventScript_CreateNewProfile
+ case 1, MysteryEventClub_EventScript_DeclineNewProfile
+ case 2, MysteryEventClub_EventScript_InfoNewProfile
+ case MULTI_B_PRESSED, MysteryEventClub_EventScript_DeclineNewProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_291642:: @ 8291642
- msgbox PetalburgCity_PokemonCenter_1F_Text_291729, MSGBOX_DEFAULT
- goto PetalburgCity_PokemonCenter_1F_EventScript_291603
+MysteryEventClub_EventScript_InfoNewProfile:: @ 8291642
+ msgbox MysteryEventClub_Text_EasyChatExplanation, MSGBOX_DEFAULT
+ goto MysteryEventClub_EventScript_AskToSeeNewProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650
- msgbox PetalburgCity_PokemonCenter_1F_Text_291A6B, MSGBOX_DEFAULT
+MysteryEventClub_EventScript_CreateNewProfile:: @ 8291650
+ msgbox MysteryEventClub_Text_EvenBetterThanLastProfile, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE
call Common_ShowEasyChatScreen
lock
faceplayer
compare VAR_RESULT, 0
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
+ goto_if_eq MysteryEventClub_EventScript_CancelShowProfile
compare VAR_RESULT, 1
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
+ goto_if_eq MysteryEventClub_EventScript_ShowProfile
end
-PetalburgCity_PokemonCenter_1F_EventScript_29167C:: @ 829167C
- msgbox PetalburgCity_PokemonCenter_1F_Text_291ABA, MSGBOX_DEFAULT
+MysteryEventClub_EventScript_DeclineNewProfile:: @ 829167C
+ msgbox MysteryEventClub_Text_LikeProfileWayItIs, MSGBOX_DEFAULT
release
end
-PetalburgCity_PokemonCenter_1F_EventScript_291686:: @ 8291686
+@ Unused
+MysteryEventClub_EventScript_Ret:: @ 8291686
return
-PetalburgCity_PokemonCenter_1F_Text_291687: @ 8291687
+MysteryEventClub_Text_CollectTrainerProfiles: @ 8291687
.string "Hello there, TRAINER!\n"
.string "You've got a wonderful smile, there.\p"
.string "I have a hobby--collecting the profiles\n"
.string "of POKéMON TRAINERS.$"
-PetalburgCity_PokemonCenter_1F_Text_2916FF: @ 82916FF
+MysteryEventClub_Text_MayISeeYourProfile: @ 82916FF
.string "So, how about it?\n"
.string "May I see your profile?$"
-PetalburgCity_PokemonCenter_1F_Text_291729: @ 8291729
+MysteryEventClub_Text_EasyChatExplanation: @ 8291729
.string "You make your own profile by putting\n"
.string "together four words or phrases.\p"
.string "Here, I'll show you an example of a\n"
@@ -123,37 +124,37 @@ PetalburgCity_PokemonCenter_1F_Text_291729: @ 8291729
.string "Repeat for the remaining text choices,\n"
.string "and you'll have your very own profile.$"
-PetalburgCity_PokemonCenter_1F_Text_291969: @ 8291969
+MysteryEventClub_Text_LetsSeeItThen: @ 8291969
.string "Yes! Thank you!\n"
.string "So, let's see it, then.$"
-PetalburgCity_PokemonCenter_1F_Text_291991: @ 8291991
+MysteryEventClub_Text_ImagineYouWouldHaveWonderfulProfile: @ 8291991
.string "Oh, no, really?\p"
.string "I imagine someone like you would have\n"
.string "a wonderful profile…$"
-PetalburgCity_PokemonCenter_1F_Text_2919DC: @ 82919DC
+MysteryEventClub_Text_NotIntoItRightNow: @ 82919DC
.string "Oh? You're not into it right now?\p"
.string "Well, anytime is good by me!$"
-PetalburgCity_PokemonCenter_1F_Text_291A1B: @ 8291A1B
+MysteryEventClub_Text_YouHaveWonderfulSmile: @ 8291A1B
.string "Hello there, TRAINER!\n"
.string "You've got a wonderful smile.$"
-PetalburgCity_PokemonCenter_1F_Text_291A4F: @ 8291A4F
+MysteryEventClub_Text_MayISeeYourNewProfile: @ 8291A4F
.string "May I see your new profile?$"
-PetalburgCity_PokemonCenter_1F_Text_291A6B: @ 8291A6B
+MysteryEventClub_Text_EvenBetterThanLastProfile: @ 8291A6B
.string "Yes! Thank you!\p"
.string "I hope it's even better than the profile\n"
.string "you showed me before.$"
-PetalburgCity_PokemonCenter_1F_Text_291ABA: @ 8291ABA
+MysteryEventClub_Text_LikeProfileWayItIs: @ 8291ABA
.string "Oh, you like your profile the way it is.\p"
.string "I don't blame you--it's a wonderful\n"
.string "profile the way it is now.$"
-PetalburgCity_PokemonCenter_1F_Text_291B22: @ 8291B22
+MysteryEventClub_Text_FantasticProfile: @ 8291B22
.string "F-fantastic!\p"
.string "Your profile, it's wonderful!\n"
.string "It really says what you're about.\p"
@@ -161,7 +162,8 @@ PetalburgCity_PokemonCenter_1F_Text_291B22: @ 8291B22
.string "be captivated by you!\p"
.string "Thank you!$"
-PetalburgCity_PokemonCenter_1F_Text_291BB7: @ 8291BB7
+@ Unused
+MysteryEventClub_Text_YouKnowSecretSaying: @ 8291BB7
.string "Oh?\n"
.string "You know the secret saying!\p"
.string "That means you're now a fellow member\n"
diff --git a/data/scripts/new_game.inc b/data/scripts/new_game.inc
new file mode 100644
index 000000000..74fff4aea
--- /dev/null
+++ b/data/scripts/new_game.inc
@@ -0,0 +1,245 @@
+EventScript_ResetAllBerries:: @ 827149D
+ setberrytree 2, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 11, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 13, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 4, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 76, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 8, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 10, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 25, ITEM_TO_BERRY(ITEM_PINAP_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 26, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 66, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 67, ITEM_TO_BERRY(ITEM_PINAP_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 69, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 70, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 71, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 55, ITEM_TO_BERRY(ITEM_BLUK_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 56, ITEM_TO_BERRY(ITEM_BLUK_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 5, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 6, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 7, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 16, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 17, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 18, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 29, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 28, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 27, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 24, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 23, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 22, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 21, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 19, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 20, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 80, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 81, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 77, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 78, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 68, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 31, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 33, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 34, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 35, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 36, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 83, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 84, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 85, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 86, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 37, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 38, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 39, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 40, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 41, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 42, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 46, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 45, ITEM_TO_BERRY(ITEM_PINAP_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 44, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 43, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 47, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 48, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 49, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 50, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 52, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 53, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 62, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 64, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 58, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 59, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 60, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 61, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 79, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 14, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 15, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 30, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 65, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 72, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 73, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 74, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 87, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 88, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 89, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES
+ setberrytree 82, ITEM_TO_BERRY(ITEM_LIECHI_BERRY), BERRY_STAGE_BERRIES
+ return
+
+EventScript_ResetAllMapFlags:: @ 82715DE
+ setflag FLAG_HIDE_CONTEST_POKE_BALL
+ setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE
+ setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE
+ setflag FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA
+ setflag FLAG_HIDE_PETALBURG_CITY_WALLY
+ setflag FLAG_UNKNOWN_0x363
+ setflag FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT
+ setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
+ setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL
+ setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN
+ setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
+ setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY
+ setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
+ setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
+ setflag FLAG_HIDE_ROUTE_110_BIRCH
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
+ setflag FLAG_HIDE_PETALBURG_GYM_GREETER
+ setflag FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
+ setflag FLAG_HIDE_PLAYERS_HOUSE_DAD
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
+ setflag FLAG_HIDE_FANCLUB_OLD_LADY
+ setflag FLAG_HIDE_FANCLUB_BOY
+ setflag FLAG_HIDE_FANCLUB_LITTLE_BOY
+ setflag FLAG_HIDE_FANCLUB_LADY
+ setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
+ setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
+ setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
+ setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
+ setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
+ setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA
+ setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT
+ setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
+ setflag FLAG_HIDE_PETALBURG_GYM_WALLY
+ setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1
+ setflag FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
+ setflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL
+ setflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
+ setflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW
+ setflag FLAG_HIDE_ROUTE_119_RIVAL
+ setflag FLAG_HIDE_ROUTE_119_SCOTT
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
+ setflag FLAG_HIDE_LANETTES_HOUSE_LANETTE
+ setflag FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN
+ setflag FLAG_HIDE_MT_CHIMNEY_TRAINERS
+ setflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_BRINEY
+ setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_PEEKO
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_WANDA
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2
+ setflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ setflag FLAG_HIDE_BATTLE_TOWER_OPPONENT
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
+ setflag FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
+ setflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
+ setflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_ROUTE_103_BIRCH
+ setflag FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR
+ setflag FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER
+ setflag FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE
+ setflag FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON
+ setflag FLAG_UNKNOWN_0x393
+ setflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE
+ setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON
+ setflag FLAG_HIDE_MAUVILLE_CITY_SCOTT
+ setflag FLAG_HIDE_CHAMPIONS_ROOM_RIVAL
+ setflag FLAG_HIDE_CHAMPIONS_ROOM_BIRCH
+ setflag FLAG_HIDE_ROUTE_110_RIVAL_2
+ setflag FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE
+ setflag FLAG_HIDE_ROUTE_104_RIVAL
+ setflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL
+ setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE
+ setflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL
+ setflag FLAG_HIDE_METEOR_FALLS_TEAM_AQUA
+ setflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN
+ setflag FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO
+ setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M
+ setflag FLAG_HIDE_ROUTE_128_STEVEN
+ setflag FLAG_HIDE_ROUTE_128_ARCHIE
+ setflag FLAG_HIDE_ROUTE_128_MAXIE
+ setflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
+ setflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
+ setflag FLAG_HIDE_SLATEPORT_CITY_SCOTT
+ setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
+ setflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY
+ setflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
+ setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
+ setflag FLAG_HIDE_ROUTE_101_BOY
+ setflag FLAG_HIDE_PETALBURG_CITY_SCOTT
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
+ setflag FLAG_HIDE_ROUTE_111_DESERT_FOSSIL
+ setflag FLAG_HIDE_ROUTE_111_PLAYER_DESCENT
+ setflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
+ setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER
+ setflag FLAG_HIDE_DEOXYS
+ setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
+ setflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT
+ setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
+ setflag FLAG_HIDE_SKY_PILLAR_WALLACE
+ setflag FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT
+ call EventScript_ResetAllBerries
+ end
diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc
new file mode 100644
index 000000000..3afd92588
--- /dev/null
+++ b/data/scripts/obtain_item.inc
@@ -0,0 +1,207 @@
+Std_ObtainItem:: @ 8271AD3
+ additem VAR_0x8000, VAR_0x8001
+ copyvar VAR_0x8007, VAR_RESULT
+ call EventScript_ObtainItemMessage
+ return
+
+EventScript_ObtainItemMessage:: @ 8271AE3
+ bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
+ checkitemtype VAR_0x8000
+ call EventScript_BufferPocketNameAndTryFanfare
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_ObtainedItem
+ compare VAR_0x8007, 0
+ call_if_eq EventScript_NoRoomForItem
+ return
+
+EventScript_BufferPocketNameAndTryFanfare:: @ 8271B08
+ switch VAR_RESULT
+ case POCKET_ITEMS, EventScript_BufferItemsPocket
+ case POCKET_KEY_ITEMS, EventScript_BufferKeyItemsPocket
+ case POCKET_POKE_BALLS, EventScript_BufferPokeballsPocket
+ case POCKET_TM_HM, EventScript_BufferTMHMsPocket
+ case POCKET_BERRIES, EventScript_BufferBerriesPocket
+ end
+
+EventScript_BufferItemsPocket:: @ 8271B45
+ bufferstdstring 2, STDSTRING_ITEMS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_BufferKeyItemsPocket:: @ 8271B55
+ bufferstdstring 2, STDSTRING_KEYITEMS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_BufferPokeballsPocket:: @ 8271B65
+ bufferstdstring 2, STDSTRING_POKEBALLS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_BufferTMHMsPocket:: @ 8271B75
+ bufferstdstring 2, STDSTRING_TMHMS
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedTMHM
+ return
+
+EventScript_BufferBerriesPocket:: @ 8271B85
+ bufferstdstring 2, STDSTRING_BERRIES
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PlayFanfareObtainedItem
+ return
+
+EventScript_ObtainedItem:: @ 8271B95
+ message gText_ObtainedTheItem
+ waitfanfare
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 1
+ return
+
+EventScript_NoRoomForItem:: @ 8271BA9
+ setvar VAR_RESULT, 0
+ return
+
+EventScript_PlayFanfareObtainedItem:: @ 8271BAF
+ playfanfare MUS_FANFA4
+ return
+
+EventScript_PlayFanfareObtainedTMHM:: @ 8271BB3
+ playfanfare MUS_ME_WAZA
+ return
+
+Std_ObtainDecoration:: @ 8271BB7
+ adddecoration VAR_0x8000
+ copyvar VAR_0x8007, VAR_RESULT
+ call EventScript_ObtainDecorationMessage
+ return
+
+EventScript_ObtainDecorationMessage:: @ 8271BC5
+ bufferdecorationname 1, VAR_0x8000
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_ObtainedDecor
+ compare VAR_0x8007, 0
+ call_if_eq EventScript_NoRoomForDecor
+ return
+
+EventScript_ObtainedDecor:: @ 8271BE0
+ playfanfare MUS_FANFA4
+ message gText_ObtainedTheDecor
+ waitfanfare
+ msgbox gText_TheDecorWasTransferredToThePC, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 1
+ return
+
+EventScript_NoRoomForDecor:: @ 8271BF7
+ setvar VAR_RESULT, 0
+ return
+
+Std_FindItem:: @ 8271BFD
+ lock
+ faceplayer
+ waitse
+ copyvar VAR_0x8004, VAR_0x8000
+ copyvar VAR_0x8005, VAR_0x8001
+ checkitemspace VAR_0x8000, VAR_0x8001
+ copyvar VAR_0x8007, VAR_RESULT
+ bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
+ checkitemtype VAR_0x8000
+ call EventScript_BufferPocketNameAndTryFanfare
+ compare VAR_0x8007, 1
+ call_if_eq EventScript_PickUpItem
+ compare VAR_0x8007, 0
+ call_if_eq EventScript_NoRoomToPickUpItem
+ release
+ return
+
+EventScript_PickUpItem:: @ 8271C3A
+ removeobject VAR_LAST_TALKED
+ additem VAR_0x8004, VAR_0x8005
+ specialvar VAR_RESULT, BufferTMHMMoveName
+ copyvar VAR_0x8008, VAR_RESULT
+ compare VAR_0x8008, 1
+ call_if_eq EventScript_FoundTMHM
+ compare VAR_0x8008, 0
+ call_if_eq EventScript_FoundItem
+ waitfanfare
+ waitmessage
+ bufferitemnameplural 1, VAR_0x8004, VAR_0x8005
+ pyramid_inchallenge
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_PutBattlePyramidItemInBag
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
+ return
+
+EventScript_PutBattlePyramidItemInBag:: @ 8271C86
+ msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT
+ return
+
+EventScript_FoundTMHM:: @ 8271C8F
+ bufferitemnameplural 0, VAR_0x8004, VAR_0x8005
+ message gText_PlayerFoundOneTMHM
+ return
+
+EventScript_FoundItem:: @ 8271C9B
+ message gText_PlayerFoundOneItem
+ return
+
+EventScript_NoRoomToPickUpItem:: @ 8271CA1
+ msgbox gText_ObtainedTheItem, MSGBOX_DEFAULT
+ msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 0
+ return
+
+EventScript_HiddenItemScript:: @ 8271CB7
+ lockall
+ waitse
+ additem VAR_0x8005
+ copyvar VAR_0x8007, VAR_RESULT
+ bufferitemnameplural 1, VAR_0x8005, 1
+ checkitemtype VAR_0x8005
+ call EventScript_BufferPocketNameAndTryFanfare
+ compare VAR_0x8007, 1
+ goto_if_eq EventScript_PickUpHiddenItem
+ compare VAR_0x8007, 0
+ goto_if_eq EventScript_NoRoomForHiddenItem
+ end
+
+EventScript_PickUpHiddenItem:: @ 8271CE8
+ copyvar VAR_0x8008, VAR_0x8004
+ copyvar VAR_0x8004, VAR_0x8005
+ specialvar VAR_RESULT, BufferTMHMMoveName
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_FoundHiddenTMHM
+ compare VAR_RESULT, 0
+ goto_if_eq EventScript_FoundHiddenItem
+ end
+
+EventScript_FoundHiddenTMHM:: @ 8271D0E
+ bufferitemnameplural 0, VAR_0x8004, 1
+ message gText_PlayerFoundOneTMHM
+ goto EventScript_PutHiddenItemInPocket
+ end
+
+EventScript_FoundHiddenItem:: @ 8271D1F
+ message gText_PlayerFoundOneItem
+ goto EventScript_PutHiddenItemInPocket
+ end
+
+EventScript_PutHiddenItemInPocket:: @ 8271D2A
+ waitmessage
+ waitfanfare
+ bufferitemnameplural 1, VAR_0x8004, 1
+ copyvar VAR_0x8004, VAR_0x8008
+ msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
+ special TryPutTreasureInvestigatorsOnAir
+ special SetHiddenItemFlag
+ releaseall
+ end
+
+EventScript_NoRoomForHiddenItem:: @ 8271D47
+ msgbox gText_PlayerFoundOneItem, MSGBOX_DEFAULT
+ msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
+ setvar VAR_RESULT, 0
+ releaseall
+ end
diff --git a/data/scripts/pc.inc b/data/scripts/pc.inc
new file mode 100644
index 000000000..b3602ee6f
--- /dev/null
+++ b/data/scripts/pc.inc
@@ -0,0 +1,66 @@
+EventScript_PC:: @ 8271D92
+ lockall
+ setvar VAR_0x8004, 0
+ special DoPCTurnOnEffect
+ playse SE_PC_ON
+ msgbox Text_BootUpPC, MSGBOX_DEFAULT
+ goto EventScript_PCMainMenu
+ end
+
+EventScript_PCMainMenu:: @ 8271DAC
+ message gText_WhichPCShouldBeAccessed
+ waitmessage
+ special ScriptMenu_CreatePCMultichoice
+ waitstate
+ goto EventScript_AccessPC
+ end
+
+EventScript_AccessPC:: @ 8271DBC
+ switch VAR_RESULT
+ case 0, EventScript_AccessPokemonStorage
+ case 1, EventScript_AccessPlayersPC
+ case 2, EventScript_AccessHallOfFame
+ case 3, EventScript_TurnOffPC
+ case MULTI_B_PRESSED, EventScript_TurnOffPC
+ end
+
+EventScript_AccessPlayersPC:: @ 8271DF9
+ playse SE_PC_LOGIN
+ msgbox gText_AccessedPlayersPC, MSGBOX_DEFAULT
+ special PlayerPC
+ waitstate
+ goto EventScript_PCMainMenu
+ end
+
+EventScript_AccessPokemonStorage:: @ 8271E0E
+ playse SE_PC_LOGIN
+ call_if_unset FLAG_SYS_PC_LANETTE, EventScript_AccessSomeonesPC
+ call_if_set FLAG_SYS_PC_LANETTE, EventScript_AccessLanettesPC
+ msgbox gText_StorageSystemOpened, MSGBOX_DEFAULT
+ special ShowPokemonStorageSystemPC
+ waitstate
+ goto EventScript_PCMainMenu
+ end
+
+EventScript_AccessSomeonesPC:: @ 8271E35
+ msgbox gText_AccessedSomeonesPC, MSGBOX_DEFAULT
+ return
+
+EventScript_AccessLanettesPC:: @ 8271E3E
+ msgbox gText_AccessedLanettesPC, MSGBOX_DEFAULT
+ return
+
+EventScript_TurnOffPC:: @ 8271E47
+ setvar VAR_0x8004, 0
+ playse SE_PC_OFF
+ special DoPCTurnOffEffect
+ releaseall
+ end
+
+EventScript_AccessHallOfFame:: @ 8271E54
+ goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_TurnOffPC
+ playse SE_PC_LOGIN
+ special AccessHallOfFamePC
+ waitstate
+ goto EventScript_AccessPC
+ end
diff --git a/data/scripts/pc_transfer.inc b/data/scripts/pc_transfer.inc
new file mode 100644
index 000000000..ec58b26f1
--- /dev/null
+++ b/data/scripts/pc_transfer.inc
@@ -0,0 +1,52 @@
+@ VAR_0x8004 here is used by ChangePokemonNickname
+Common_EventScript_GetGiftMonPartySlot:: @ 827378B
+ getpartysize
+ subvar VAR_RESULT, 1
+ copyvar VAR_0x8004, VAR_RESULT
+ return
+
+Common_EventScript_NameReceivedBoxMon:: @ 8273797
+ fadescreen FADE_TO_BLACK
+ special ChangeBoxPokemonNickname
+ waitstate
+ lock
+ faceplayer
+ return
+
+Common_EventScript_TransferredToPC:: @ 82737A0
+ bufferboxname 0, VAR_PC_BOX_TO_SEND_MON
+ bufferspeciesname 1, VAR_TEMP_1
+ call_if_unset FLAG_SYS_PC_LANETTE, EventScript_TransferredSomeonesPC
+ call_if_set FLAG_SYS_PC_LANETTE, EventScript_TransferredLanettesPC
+ return
+
+EventScript_TransferredSomeonesPC:: @ 82737BB
+ specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_SomeonesPCBoxFull
+ msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT
+ return
+
+EventScript_SomeonesPCBoxFull:: @ 82737D4
+ specialvar VAR_RESULT, GetPCBoxToSendMon
+ bufferboxname 2, VAR_RESULT
+ msgbox gText_PkmnTransferredSomeonesPCBoxFull, MSGBOX_DEFAULT
+ return
+
+EventScript_TransferredLanettesPC:: @ 82737E6
+ specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
+ compare VAR_RESULT, TRUE
+ goto_if_eq EventScript_LanettesPCBoxFull
+ msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT
+ return
+
+EventScript_LanettesPCBoxFull:: @ 82737FF
+ specialvar VAR_RESULT, GetPCBoxToSendMon
+ bufferboxname 2, VAR_RESULT
+ msgbox gText_PkmnTransferredLanettesPCBoxFull, MSGBOX_DEFAULT
+ return
+
+Common_EventScript_NoMoreRoomForPokemon:: @ 8273811
+ msgbox gText_NoMoreRoomForPokemon, MSGBOX_DEFAULT
+ release
+ end
diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc
new file mode 100644
index 000000000..a26e9e22a
--- /dev/null
+++ b/data/scripts/pkmn_center_nurse.inc
@@ -0,0 +1,135 @@
+Common_EventScript_PkmnCenterNurse:: @ 827191E
+ lock
+ faceplayer
+ setvar VAR_0x8004, 0
+ specialvar VAR_RESULT, CountPlayerTrainerStars
+ compare VAR_RESULT, 4
+ goto_if_eq EventScript_PkmnCenterNurse_GoldCard
+ msgbox gText_WouldYouLikeToRestYourPkmn, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq EventScript_PkmnCenterNurse_HealPkmn
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_PkmnCenterNurse_Goodbye
+ end
+
+EventScript_PkmnCenterNurse_Goodbye:: @ 8271954
+ message gText_WeHopeToSeeYouAgain
+ return
+
+@ VAR_0x8004 is 1 when player has Gold Card; jumps are identical
+EventScript_PkmnCenterNurse_HealPkmn:: @ 827195A
+ incrementgamestat GAME_STAT_USED_POKECENTER
+ compare VAR_0x8004, 0
+ call_if_eq EventScript_PkmnCenterNurse_IllTakeYourPkmn
+ compare VAR_0x8004, 1
+ call_if_eq EventScript_PkmnCenterNurse_IllTakeYourPkmn2
+ waitmessage
+ call EventScript_PkmnCenterNurse_TakeAndHealPkmn
+ goto_if_unset FLAG_POKERUS_EXPLAINED, EventScript_PkmnCenterNurse_CheckPokerus
+ goto EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
+ end
+
+EventScript_PkmnCenterNurse_IllTakeYourPkmn:: @ 8271987
+ message gText_IllTakeYourPkmn
+ return
+
+EventScript_PkmnCenterNurse_IllTakeYourPkmn2:: @ 827198D
+ message gText_IllTakeYourPkmn2
+ return
+
+EventScript_PkmnCenterNurse_TakeAndHealPkmn:: @ 8271993
+ applymovement VAR_0x800B, Common_Movement_WalkInPlaceFastestLeft
+ waitmovement 0
+ dofieldeffect FLDEFF_POKECENTER_HEAL
+ waitfieldeffect FLDEFF_POKECENTER_HEAL
+ applymovement VAR_0x800B, Common_Movement_WalkInPlaceFastestDown
+ waitmovement 0
+ special HealPlayerParty
+ return
+
+EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom:: @ 82719B1
+ specialvar VAR_RESULT, PlayerNotAtTrainerHillEntrance
+ compare VAR_RESULT, 0
+ goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn
+ specialvar VAR_RESULT, BufferUnionRoomPlayerName
+ copyvar VAR_0x8008, VAR_RESULT
+ compare VAR_0x8008, 0
+ goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn
+ compare VAR_0x8008, 1
+ goto_if_eq EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom
+ end
+
+@ VAR_0x8004 is 1 when player has Gold Card
+EventScript_PkmnCenterNurse_ReturnPkmn:: @ 82719E2
+ compare VAR_0x8004, 1
+ goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn2
+ message gText_RestoredPkmnToFullHealth
+ waitmessage
+ applymovement VAR_0x800B, EventScript_PkmnCenterNurse_Bow
+ waitmovement 0
+ message gText_WeHopeToSeeYouAgain
+ return
+
+EventScript_PkmnCenterNurse_ReturnPkmn2:: @ 8271A03
+ message gText_ThankYouForWaiting
+ waitmessage
+ applymovement VAR_0x800B, EventScript_PkmnCenterNurse_Bow
+ waitmovement 0
+ message gText_WeHopeToSeeYouAgain2
+ return
+
+EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom:: @ 8271A19
+ goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, EventScript_PkmnCenterNurse_ReturnPkmn
+ msgbox gText_RestoredPkmnToFullHealth, MSGBOX_DEFAULT
+ setflag FLAG_NURSE_UNION_ROOM_REMINDER
+ message CableClub_Text_PlayerIsWaiting
+ waitmessage
+ applymovement VAR_0x800B, EventScript_PkmnCenterNurse_Bow
+ waitmovement 0
+ message gText_WeHopeToSeeYouAgain
+ return
+
+EventScript_PkmnCenterNurse_CheckPokerus:: @ 8271A43
+ specialvar VAR_RESULT, IsPokerusInParty
+ compare VAR_RESULT, TRUE
+ goto_if_eq EventScript_PkmnCenterNurse_ExplainPokerus
+ compare VAR_RESULT, FALSE
+ goto_if_eq EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
+ end
+
+EventScript_PkmnCenterNurse_ExplainPokerus:: @ 8271A5F
+ message gText_PokerusExplanation
+ setflag FLAG_POKERUS_EXPLAINED
+ return
+
+EventScript_PkmnCenterNurse_GoldCard:: @ 8271A68
+ goto_if_set FLAG_NURSE_MENTIONS_GOLD_CARD, EventScript_PkmnCenterNurse_AskForUsual
+ setflag FLAG_NURSE_MENTIONS_GOLD_CARD
+ msgbox gText_WelcomeCutShort, MSGBOX_DEFAULT
+ playse SE_PIN
+ applymovement VAR_0x800B, Common_Movement_ExclamationMark
+ waitmovement 0
+ applymovement VAR_0x800B, Common_Movement_Delay48
+ waitmovement 0
+ msgbox gText_NoticesGoldCard, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq EventScript_PkmnCenterNurse_GoldCardHealPkmn
+ message gText_WeHopeToSeeYouAgain2
+ return
+
+EventScript_PkmnCenterNurse_AskForUsual:: @ 8271AAC
+ msgbox gText_YouWantTheUsual, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq EventScript_PkmnCenterNurse_GoldCardHealPkmn
+ message gText_WeHopeToSeeYouAgain2
+ return
+
+EventScript_PkmnCenterNurse_GoldCardHealPkmn:: @ 8271AC5
+ setvar VAR_0x8004, 1
+ goto EventScript_PkmnCenterNurse_HealPkmn
+ end
+
+EventScript_PkmnCenterNurse_Bow: @ 8271AD0
+ nurse_joy_bow
+ delay_4
+ step_end
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index c4a5ffe86..8f15fcd58 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -1,67 +1,63 @@
-LittlerootTown_BrendansHouse_2F_EventScript_2926FE:: @ 82926FE
-LittlerootTown_MaysHouse_2F_EventScript_2926FE:: @ 82926FE
+PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet:: @ 82926FE
setvar VAR_LITTLEROOT_INTRO_STATE, 5
return
-LittlerootTown_BrendansHouse_1F_EventScript_292704:: @ 8292704
-LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT
+PlayersHouse_1F_EventScript_EnterHouseMovingIn:: @ 8292704
+ msgbox PlayersHouse_1F_Text_IsntItNiceInHere, MSGBOX_DEFAULT
applymovement VAR_0x8004, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_0x8005, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_29274D
- compare VAR_0x8005, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292758
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, MSGBOX_DEFAULT
+ compare VAR_0x8005, MALE
+ call_if_eq PlayersHouse_1F_EventScript_MomFacePlayerMovingInMale
+ compare VAR_0x8005, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_MomFacePlayerMovingInFemale
+ msgbox PlayersHouse_1F_Text_MoversPokemonGoSetClock, MSGBOX_DEFAULT
closemessage
setvar VAR_LITTLEROOT_INTRO_STATE, 4
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292763
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerWalkIn
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
releaseall
end
-LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+PlayersHouse_1F_EventScript_MomFacePlayerMovingInMale:: @ 829274D
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+PlayersHouse_1F_EventScript_MomFacePlayerMovingInFemale:: @ 8292758
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_Movement_292763: @ 8292763
+PlayersHouse_1F_Movement_PlayerWalkIn: @ 8292763
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_292765:: @ 8292765
-LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, MSGBOX_DEFAULT
+PlayersHouse_1F_EventScript_MomGoSeeRoom:: @ 8292765
+ msgbox PlayersHouse_1F_Text_ArentYouInterestedInRoom, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8004, Common_Movement_WalkInPlaceUp
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AF0
+ applymovement VAR_0x8004, Common_Movement_WalkInPlaceFastestUp
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_MovePlayerAwayFromDoor
waitmovement 0
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_292781:: @ 8292781
+LittlerootTown_BrendansHouse_2F_EventScript_WallClock:: @ 8292781
lockall
- setvar VAR_0x8004, 0
- goto LittlerootTown_BrendansHouse_2F_EventScript_292799
+ setvar VAR_0x8004, MALE
+ goto PlayersHouse_2F_EventScript_WallClock
end
-LittlerootTown_MaysHouse_2F_EventScript_29278D:: @ 829278D
+LittlerootTown_MaysHouse_2F_EventScript_WallClock:: @ 829278D
lockall
- setvar VAR_0x8004, 1
- goto LittlerootTown_MaysHouse_2F_EventScript_292799
+ setvar VAR_0x8004, FEMALE
+ goto PlayersHouse_2F_EventScript_WallClock
end
-LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799
-LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799
- goto_if_set FLAG_SET_WALL_CLOCK, LittlerootTown_BrendansHouse_2F_EventScript_29283F
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, MSGBOX_DEFAULT
- call LittlerootTown_BrendansHouse_2F_EventScript_292849
+PlayersHouse_2F_EventScript_WallClock:: @ 8292799
+ goto_if_set FLAG_SET_WALL_CLOCK, PlayersHouse_2F_EventScript_CheckWallClock
+ msgbox PlayersHouse_2F_Text_ClockIsStopped, MSGBOX_DEFAULT
+ call PlayersHouse_2F_EventScript_SetWallClock
delay 30
setvar VAR_LITTLEROOT_INTRO_STATE, 6
setflag FLAG_SET_WALL_CLOCK
@@ -69,55 +65,55 @@ LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799
setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2927DF
+ call_if_eq PlayersHouse_2F_EventScript_MomComesUpstairsMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_29280F
+ call_if_eq PlayersHouse_2F_EventScript_MomComesUpstairsFemale
playse SE_KAIDAN
removeobject VAR_0x8008
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF
+PlayersHouse_2F_EventScript_MomComesUpstairsMale:: @ 82927DF
setvar VAR_0x8008, 14
addobject VAR_0x8008
- applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850
+ applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomEntersMale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT
+ msgbox PlayersHouse_2F_Text_HowDoYouLikeYourRoom, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292857
+ applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomExitsMale
waitmovement 0
return
-LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F
+PlayersHouse_2F_EventScript_MomComesUpstairsFemale:: @ 829280F
setvar VAR_0x8008, 14
addobject VAR_0x8008
- applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B
+ applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomEntersFemale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT
+ msgbox PlayersHouse_2F_Text_HowDoYouLikeYourRoom, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292862
+ applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomExitsFemale
waitmovement 0
return
-LittlerootTown_BrendansHouse_2F_EventScript_29283F:: @ 829283F
- incrementgamestat 45
- fadescreen 1
+PlayersHouse_2F_EventScript_CheckWallClock:: @ 829283F
+ incrementgamestat GAME_STAT_CHECKED_CLOCK
+ fadescreen FADE_TO_BLACK
special Special_ViewWallClock
waitstate
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_292849:: @ 8292849
- fadescreen 1
+PlayersHouse_2F_EventScript_SetWallClock:: @ 8292849
+ fadescreen FADE_TO_BLACK
special StartWallClock
waitstate
return
-LittlerootTown_BrendansHouse_2F_Movement_292850: @ 8292850
+PlayersHouse_2F_Movement_MomEntersMale: @ 8292850
delay_8
walk_down
walk_in_place_fastest_left
@@ -126,13 +122,13 @@ LittlerootTown_BrendansHouse_2F_Movement_292850: @ 8292850
walk_left
step_end
-LittlerootTown_BrendansHouse_2F_Movement_292857: @ 8292857
+PlayersHouse_2F_Movement_MomExitsMale: @ 8292857
walk_right
walk_up
delay_8
step_end
-LittlerootTown_BrendansHouse_2F_Movement_29285B: @ 829285B
+PlayersHouse_2F_Movement_MomEntersFemale: @ 829285B
delay_8
walk_down
walk_in_place_fastest_right
@@ -141,91 +137,88 @@ LittlerootTown_BrendansHouse_2F_Movement_29285B: @ 829285B
walk_right
step_end
-LittlerootTown_BrendansHouse_2F_Movement_292862: @ 8292862
+PlayersHouse_2F_Movement_MomExitsFemale: @ 8292862
walk_left
walk_up
delay_8
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_292866:: @ 8292866
-LittlerootTown_MaysHouse_1F_EventScript_292866:: @ 8292866
+PlayersHouse_1F_EventScript_SetWatchedBroadcast:: @ 8292866
setvar VAR_LITTLEROOT_INTRO_STATE, 7
releaseall
end
-LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D
- applymovement VAR_0x8005, Common_Movement_WalkInPlaceRight
+PlayersHouse_1F_EventScript_PetalburgGymReportMale:: @ 829286D
+ applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- call LittlerootTown_BrendansHouse_1F_EventScript_29294B
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE0
+ call PlayersHouse_1F_EventScript_MomNoticeGymBroadcast
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymMale
waitmovement 0
playbgm MUS_INTER_V, 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_MaybeDadWillBeOn, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7
+ applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomMakeRoomToSeeTVMale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE6
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVMale
waitmovement 0
- call LittlerootTown_BrendansHouse_1F_EventScript_29296C
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ call PlayersHouse_1F_EventScript_WatchGymBroadcast
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_ItsOverWeMissedHim, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_1, 1
- applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929BD
+ applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomReturnToSeatMale
waitmovement 0
- goto LittlerootTown_BrendansHouse_1F_EventScript_292866
+ goto PlayersHouse_1F_EventScript_SetWatchedBroadcast
end
-LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC
- applymovement VAR_0x8005, Common_Movement_WalkInPlaceLeft
+PlayersHouse_1F_EventScript_PetalburgGymReportFemale:: @ 82928DC
+ applymovement VAR_0x8005, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
- call LittlerootTown_MaysHouse_1F_EventScript_29294B
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AE8
+ call PlayersHouse_1F_EventScript_MomNoticeGymBroadcast
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymFemale
waitmovement 0
playbgm MUS_INTER_V, 0
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_MaybeDadWillBeOn, MSGBOX_DEFAULT
closemessage
- applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA
+ applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomMakeRoomToSeeTVFemale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AEE
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVFemale
waitmovement 0
- call LittlerootTown_MaysHouse_1F_EventScript_29296C
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ call PlayersHouse_1F_EventScript_WatchGymBroadcast
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_ItsOverWeMissedHim, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_1, 1
- applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929C1
+ applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomReturnToSeatFemale
waitmovement 0
- goto LittlerootTown_MaysHouse_1F_EventScript_292866
+ goto PlayersHouse_1F_EventScript_SetWatchedBroadcast
end
-LittlerootTown_BrendansHouse_1F_EventScript_29294B:: @ 829294B
-LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B
+PlayersHouse_1F_EventScript_MomNoticeGymBroadcast:: @ 829294B
playse SE_PIN
applymovement VAR_0x8005, Common_Movement_ExclamationMark
waitmovement 0
applymovement VAR_0x8005, Common_Movement_Delay48
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B96, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_OhComeQuickly, MSGBOX_DEFAULT
closemessage
return
-LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C
-LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
+PlayersHouse_1F_EventScript_WatchGymBroadcast:: @ 829296C
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_ReportFromPetalburgGym, MSGBOX_DEFAULT
fadedefaultbgm
special TurnOffTVScreen
setflag FLAG_SYS_TV_HOME
delay 35
return
-LittlerootTown_BrendansHouse_1F_Movement_292989: @ 8292989
+PlayersHouse_1F_Movement_MomApproachDadMale: @ 8292989
walk_up
walk_right
walk_right
@@ -235,7 +228,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292989: @ 8292989
walk_in_place_fastest_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292991: @ 8292991
+PlayersHouse_1F_Movement_MomApproachDadFemale: @ 8292991
walk_up
walk_left
walk_left
@@ -245,15 +238,15 @@ LittlerootTown_BrendansHouse_1F_Movement_292991: @ 8292991
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292999: @ 8292999
+PlayersHouse_1F_Movement_MomApproachPlayerMale: @ 8292999
walk_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_29299B: @ 829299B
+PlayersHouse_1F_Movement_MomApproachPlayerFemale: @ 829299B
walk_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_29299D: @ 829299D
+PlayersHouse_1F_Movement_MomNoticesLatiBroadcastMale: @ 829299D
walk_in_place_fastest_left
delay_16
delay_16
@@ -264,7 +257,7 @@ LittlerootTown_BrendansHouse_1F_Movement_29299D: @ 829299D
delay_16
step_end
-LittlerootTown_BrendansHouse_1F_Movement_2929A6: @ 82929A6
+PlayersHouse_1F_Movement_MomNoticesLatiBroadcastFemale: @ 82929A6
walk_in_place_fastest_right
delay_16
delay_16
@@ -275,70 +268,69 @@ LittlerootTown_BrendansHouse_1F_Movement_2929A6: @ 82929A6
delay_16
step_end
-LittlerootTown_BrendansHouse_1F_Movement_2929AF: @ 82929AF
+PlayersHouse_1F_Movement_MomApproachPlayerAfterTVMale: @ 82929AF
walk_up
walk_left
walk_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_2929B3: @ 82929B3
+PlayersHouse_1F_Movement_MomApproachPlayerAfterTVFemale: @ 82929B3
walk_up
walk_right
walk_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_2929B7: @ 82929B7
+PlayersHouse_1F_Movement_MomMakeRoomToSeeTVMale: @ 82929B7
walk_left
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_1F_Movement_2929BA: @ 82929BA
+PlayersHouse_1F_Movement_MomMakeRoomToSeeTVFemale: @ 82929BA
walk_right
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_2929BD: @ 82929BD
+PlayersHouse_1F_Movement_MomReturnToSeatMale: @ 82929BD
walk_left
walk_down
walk_in_place_fastest_right
step_end
-LittlerootTown_MaysHouse_1F_Movement_2929C1: @ 82929C1
+PlayersHouse_1F_Movement_MomReturnToSeatFemale: @ 82929C1
walk_right
walk_down
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_2929C5:: @ 82929C5
-LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5
+PlayersHouse_1F_EventScript_Mom:: @ 82929C5
lock
faceplayer
- compare VAR_LITTLEROOT_HOUSES_STATE, 4
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
- compare VAR_LITTLEROOT_HOUSES_STATE_2, 4
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
- goto_if_set FLAG_HAS_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A19
- goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_BrendansHouse_1F_EventScript_292A86
+ compare VAR_LITTLEROOT_HOUSES_STATE_MAY, 4
+ goto_if_eq PlayersHouse_1F_EventScript_DontPushYourselfTooHard
+ compare VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4
+ goto_if_eq PlayersHouse_1F_EventScript_DontPushYourselfTooHard
+ goto_if_set FLAG_HAS_MATCH_CALL, PlayersHouse_1F_EventScript_TryRegisterMom
+ goto_if_set FLAG_RESCUED_BIRCH, PlayersHouse_1F_EventScript_MomHealsParty
compare VAR_TEMP_1, 1
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94
+ goto_if_eq PlayersHouse_1F_EventScript_SeeYouHoney
compare VAR_LITTLEROOT_INTRO_STATE, 7
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT
+ goto_if_eq PlayersHouse_1F_EventScript_DidYouMeetProfBirch
+ msgbox PlayersHouse_1F_Text_IsntItNiceInHere, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT
+PlayersHouse_1F_EventScript_DontPushYourselfTooHard:: @ 8292A0F
+ msgbox PlayersHouse_1F_Text_DontPushYourselfTooHard, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19
- goto_if_set FLAG_ENABLE_MOM_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A43
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, MSGBOX_DEFAULT
+PlayersHouse_1F_EventScript_TryRegisterMom:: @ 8292A19
+ goto_if_set FLAG_ENABLE_MOM_MATCH_CALL, PlayersHouse_1F_EventScript_CheckGiveAmuletCoin
+ msgbox PlayersHouse_1F_Text_IsThatAPokenav, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E89, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_RegisteredMom, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -346,67 +338,65 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43
- goto_if_set FLAG_BADGE05_GET, LittlerootTown_BrendansHouse_1F_EventScript_292A51
- goto LittlerootTown_BrendansHouse_1F_EventScript_292A86
+PlayersHouse_1F_EventScript_CheckGiveAmuletCoin:: @ 8292A43
+ goto_if_set FLAG_BADGE05_GET, PlayersHouse_1F_EventScript_TryGiveAmuletCoin
+ goto PlayersHouse_1F_EventScript_MomHealsParty
-LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51
- goto_if_set FLAG_MOM_SAYS_GOODBYE, LittlerootTown_BrendansHouse_1F_EventScript_292A86
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, MSGBOX_DEFAULT
- giveitem_std ITEM_AMULET_COIN
- compare VAR_RESULT, 0
+PlayersHouse_1F_EventScript_TryGiveAmuletCoin:: @ 8292A51
+ goto_if_set FLAG_RECEIVED_AMULET_COIN, PlayersHouse_1F_EventScript_MomHealsParty
+ msgbox PlayersHouse_1F_Text_GotDadsBadgeHeresSomethingFromMom, MSGBOX_DEFAULT
+ giveitem ITEM_AMULET_COIN
+ compare VAR_RESULT, FALSE
goto_if_eq Common_EventScript_ShowBagIsFull
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT
- setflag FLAG_MOM_SAYS_GOODBYE
+ msgbox PlayersHouse_1F_Text_DontPushYourselfTooHard, MSGBOX_DEFAULT
+ setflag FLAG_RECEIVED_AMULET_COIN
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292A86:: @ 8292A86
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D08, MSGBOX_DEFAULT
- goto LittlerootTown_BrendansHouse_1F_EventScript_292A9E
+PlayersHouse_1F_EventScript_MomHealsParty:: @ 8292A86
+ msgbox PlayersHouse_1F_Text_YouShouldRestABit, MSGBOX_DEFAULT
+ goto PlayersHouse_1F_EventScript_HealParty
end
-LittlerootTown_BrendansHouse_1F_EventScript_292A94:: @ 8292A94
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CC3, MSGBOX_DEFAULT
+PlayersHouse_1F_EventScript_SeeYouHoney:: @ 8292A94
+ msgbox PlayersHouse_1F_Text_SeeYouHoney, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292A9E:: @ 8292A9E
+PlayersHouse_1F_EventScript_HealParty:: @ 8292A9E
closemessage
call Common_EventScript_OutOfCenterPartyHeal
- incrementgamestat 16
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D5C, MSGBOX_DEFAULT
+ incrementgamestat GAME_STAT_RESTED_AT_HOME
+ msgbox PlayersHouse_1F_Text_TakeCareHoney, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292AB0:: @ 8292AB0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CD8, MSGBOX_DEFAULT
+PlayersHouse_1F_EventScript_DidYouMeetProfBirch:: @ 8292AB0
+ msgbox PlayersHouse_1F_Text_DidYouMeetProfBirch, MSGBOX_DEFAULT
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292ABA:: @ 8292ABA
-LittlerootTown_MaysHouse_1F_EventScript_292ABA:: @ 8292ABA
+PlayersHouse_1F_EventScript_Vigoroth1:: @ 8292ABA
lock
faceplayer
waitse
playmoncry SPECIES_VIGOROTH, 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EA8, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_Vigoroth1, MSGBOX_DEFAULT
waitmoncry
release
end
-LittlerootTown_BrendansHouse_1F_EventScript_292ACD:: @ 8292ACD
-LittlerootTown_MaysHouse_1F_EventScript_292ACD:: @ 8292ACD
+PlayersHouse_1F_EventScript_Vigoroth2:: @ 8292ACD
lock
faceplayer
waitse
playmoncry SPECIES_VIGOROTH, 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EB3, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_Vigoroth2, MSGBOX_DEFAULT
waitmoncry
release
end
-LittlerootTown_BrendansHouse_1F_Movement_292AE0: @ 8292AE0
+PlayersHouse_1F_Movement_PlayerApproachTVForGymMale: @ 8292AE0
walk_down
walk_down
walk_left
@@ -414,11 +404,11 @@ LittlerootTown_BrendansHouse_1F_Movement_292AE0: @ 8292AE0
walk_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292AE6: @ 8292AE6
+PlayersHouse_1F_Movement_PlayerMoveToTVMale: @ 8292AE6
walk_left
step_end
-LittlerootTown_MaysHouse_1F_Movement_292AE8: @ 8292AE8
+PlayersHouse_1F_Movement_PlayerApproachTVForGymFemale: @ 8292AE8
walk_down
walk_down
walk_right
@@ -426,26 +416,25 @@ LittlerootTown_MaysHouse_1F_Movement_292AE8: @ 8292AE8
walk_right
step_end
-LittlerootTown_MaysHouse_1F_Movement_292AEE: @ 8292AEE
+PlayersHouse_1F_Movement_PlayerMoveToTVFemale: @ 8292AEE
walk_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292AF0: @ 8292AF0
+PlayersHouse_1F_Movement_MovePlayerAwayFromDoor: @ 8292AF0
walk_up
step_end
-LittlerootTown_BrendansHouse_1F_EventScript_292AF2:: @ 8292AF2
-LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
+PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV:: @ 8292AF2
lockall
checkplayergender
compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C76
+ call_if_eq PlayersHouse_1F_EventScript_SetUpObjectEventVarsMale
compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C86
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D08
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D13
+ call_if_eq PlayersHouse_1F_EventScript_SetUpObjectEventVarsFemale
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_PlayerEnterRoomMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_PlayerEnterRoomFemale
applymovement VAR_0x8009, Common_Movement_FacePlayer
waitmovement 0
playse SE_PIN
@@ -454,220 +443,220 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
applymovement VAR_0x8009, Common_Movement_Delay48
waitmovement 0
delay 20
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C96
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CA1
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F800E, MSGBOX_DEFAULT
- giveitem_std ITEM_SS_TICKET
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F80FE, MSGBOX_DEFAULT
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_DadApproachPlayerMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_DadApproachPlayerFemale
+ msgbox PlayersHouse_1F_Text_TicketFromBrineyCameForYou, MSGBOX_DEFAULT
+ giveitem ITEM_SS_TICKET
+ msgbox PlayersHouse_1F_Text_PortsInSlateportLilycove, MSGBOX_DEFAULT
closemessage
delay 20
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CAC
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CC1
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, MSGBOX_DEFAULT
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_MomApproachDadMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_MomApproachDadFemale
+ msgbox PlayersHouse_1F_Text_BetterGetBackToGym, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CD6
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CEF
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_DadExitsMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_DadExitsFemale
playse SE_DOOR
removeobject VAR_0x8009
setflag FLAG_RECEIVED_SS_TICKET
delay 30
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D48
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D5D
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerFemale
delay 20
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_DadShouldStayLonger, MSGBOX_DEFAULT
closemessage
setflag FLAG_SYS_TV_LATIAS_LATIOS
special TurnOnTVScreen
delay 60
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D72
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D7D
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, MSGBOX_DEFAULT
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastFemale
+ msgbox PlayersHouse_1F_Text_IsThatABreakingStory, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D1E
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D33
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_PlayerApproachTVForLatiMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale
+ msgbox PlayersHouse_1F_Text_LatiEmergencyNewsFlash, MSGBOX_DEFAULT
closemessage
clearflag FLAG_SYS_TV_LATIAS_LATIOS
setflag FLAG_LATIOS_OR_LATIAS_ROAMING
special TurnOffTVScreen
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D88
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D9D
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, MSGBOX_DEFAULT
- multichoice 22, 8, 108, 1
+ compare VAR_0x8008, MALE
+ call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVMale
+ compare VAR_0x8008, FEMALE
+ call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVFemale
+ msgbox PlayersHouse_1F_Text_WhatColorDidTheySay, MSGBOX_DEFAULT
+ multichoice 22, 8, MULTI_TV_LATI, 1
copyvar VAR_0x8004, VAR_RESULT
special InitRoamer
copyvar VAR_ROAMER_POKEMON, VAR_RESULT
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F83A1, MSGBOX_DEFAULT
+ msgbox PlayersHouse_1F_Text_StillUnknownPokemon, MSGBOX_DEFAULT
closemessage
- setvar VAR_LITTLEROOT_HOUSES_STATE, 4
- setvar VAR_LITTLEROOT_HOUSES_STATE_2, 4
+ setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 4
+ setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4
releaseall
end
@ Never called.
-LittlerootTown_BrendansHouse_1F_EventScript_292C72:: @ 8292C72
+PlayersHouse_1F_EventScript_AirLatiBroadcast:: @ 8292C72
setflag FLAG_SYS_TV_LATIAS_LATIOS
return
-LittlerootTown_BrendansHouse_1F_EventScript_292C76:: @ 8292C76
- setvar VAR_0x8008, 0
- setvar VAR_0x8009, 5
- setvar VAR_0x800A, 1
+PlayersHouse_1F_EventScript_SetUpObjectEventVarsMale:: @ 8292C76
+ setvar VAR_0x8008, MALE
+ setvar VAR_0x8009, 5 @ Dad object event ID
+ setvar VAR_0x800A, 1 @ Mom object event ID
return
-LittlerootTown_BrendansHouse_1F_EventScript_292C86:: @ 8292C86
- setvar VAR_0x8008, 1
- setvar VAR_0x8009, 5
- setvar VAR_0x800A, 1
+PlayersHouse_1F_EventScript_SetUpObjectEventVarsFemale:: @ 8292C86
+ setvar VAR_0x8008, FEMALE
+ setvar VAR_0x8009, 5 @ Dad object event ID
+ setvar VAR_0x800A, 1 @ Mom object event ID
return
-LittlerootTown_BrendansHouse_1F_EventScript_292C96:: @ 8292C96
- applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB2
+PlayersHouse_1F_EventScript_DadApproachPlayerMale:: @ 8292C96
+ applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadApproachPlayerMale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292CA1:: @ 8292CA1
- applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB5
+PlayersHouse_1F_EventScript_DadApproachPlayerFemale:: @ 8292CA1
+ applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadApproachPlayerFemale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292CAC:: @ 8292CAC
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292989
+PlayersHouse_1F_EventScript_MomApproachDadMale:: @ 8292CAC
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachDadMale
waitmovement 0
- applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB8
+ applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadFaceMomMale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292CC1:: @ 8292CC1
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292991
+PlayersHouse_1F_EventScript_MomApproachDadFemale:: @ 8292CC1
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachDadFemale
waitmovement 0
- applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBA
+ applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadFaceMomFemale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292CD6:: @ 8292CD6
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC
- applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBC
+PlayersHouse_1F_EventScript_DadExitsMale:: @ 8292CD6
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit
+ applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadExitsMale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292CEF:: @ 8292CEF
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DCC
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC
- applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DC1
+PlayersHouse_1F_EventScript_DadExitsFemale:: @ 8292CEF
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit
+ applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadExitsFemale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D08:: @ 8292D08
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DC6
+PlayersHouse_1F_EventScript_PlayerEnterRoomMale:: @ 8292D08
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomMale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD1
+PlayersHouse_1F_EventScript_PlayerEnterRoomFemale:: @ 8292D13
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomFemale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD7
+PlayersHouse_1F_EventScript_PlayerApproachTVForLatiMale:: @ 8292D1E
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiMale
waitmovement 0
- applymovement VAR_0x800A, Common_Movement_WalkInPlaceLeft
+ applymovement VAR_0x800A, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33
- applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DDE
+PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale:: @ 8292D33
+ applymovement EVENT_OBJ_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiFemale
waitmovement 0
- applymovement VAR_0x800A, Common_Movement_WalkInPlaceRight
+ applymovement VAR_0x800A, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999
+PlayersHouse_1F_EventScript_MomApproachPlayerMale:: @ 8292D48
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerMale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B
+PlayersHouse_1F_EventScript_MomApproachPlayerFemale:: @ 8292D5D
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerFemale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D72:: @ 8292D72
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299D
+PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastMale:: @ 8292D72
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomNoticesLatiBroadcastMale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929A6
+PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastFemale:: @ 8292D7D
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomNoticesLatiBroadcastFemale
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF
+PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVMale:: @ 8292D88
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerAfterTVMale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceRight
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestRight
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D
- applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3
+PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVFemale:: @ 8292D9D
+ applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerAfterTVFemale
waitmovement 0
- applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceLeft
+ applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-LittlerootTown_BrendansHouse_1F_Movement_292DB2: @ 8292DB2
+PlayersHouse_1F_Movement_DadApproachPlayerMale: @ 8292DB2
walk_right
walk_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DB5: @ 8292DB5
+PlayersHouse_1F_Movement_DadApproachPlayerFemale: @ 8292DB5
walk_left
walk_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DB8: @ 8292DB8
+PlayersHouse_1F_Movement_DadFaceMomMale: @ 8292DB8
face_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DBA: @ 8292DBA
+PlayersHouse_1F_Movement_DadFaceMomFemale: @ 8292DBA
face_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DBC: @ 8292DBC
+PlayersHouse_1F_Movement_DadExitsMale: @ 8292DBC
walk_down
walk_right
walk_down
delay_8
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DC1: @ 8292DC1
+PlayersHouse_1F_Movement_DadExitsFemale: @ 8292DC1
walk_down
walk_left
walk_down
delay_8
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DC6: @ 8292DC6
+PlayersHouse_1F_Movement_PlayerEnterRoomMale: @ 8292DC6
delay_16
walk_down
walk_down
@@ -675,14 +664,14 @@ LittlerootTown_BrendansHouse_1F_Movement_292DC6: @ 8292DC6
walk_in_place_fastest_left
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DCC: @ 8292DCC
+PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit: @ 8292DCC
delay_8
delay_16
delay_16
walk_in_place_fastest_down
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DD1: @ 8292DD1
+PlayersHouse_1F_Movement_PlayerEnterRoomFemale: @ 8292DD1
delay_16
walk_down
walk_down
@@ -690,7 +679,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292DD1: @ 8292DD1
walk_in_place_fastest_right
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DD7: @ 8292DD7
+PlayersHouse_1F_Movement_PlayerApproachTVForLatiMale: @ 8292DD7
walk_up
walk_left
walk_left
@@ -699,7 +688,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292DD7: @ 8292DD7
walk_in_place_fastest_up
step_end
-LittlerootTown_BrendansHouse_1F_Movement_292DDE: @ 8292DDE
+PlayersHouse_1F_Movement_PlayerApproachTVForLatiFemale: @ 8292DDE
walk_up
walk_right
walk_right
@@ -707,3 +696,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292DDE: @ 8292DDE
walk_right
walk_in_place_fastest_up
step_end
+
+EventScript_RunningShoesManual:: @ 8292DE5
+ msgbox PlayersHouse_1F_Text_RunningShoesManual, MSGBOX_SIGN
+ end
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
deleted file mode 100644
index a26ecb4c9..000000000
--- a/data/scripts/pokeblocks.inc
+++ /dev/null
@@ -1,759 +0,0 @@
-@ The scripts there concern pokeblock events in LilyCove City's Contest Lobby
-
-@ 'PblockX' number of offline opponents
-@ 'Ask' talking with a blender machine
-@ 'Yes' agreeing to blend
-@ 'No' refusing to blend
-@ 'KnowHow' asking if the player knows the blending process
-@ 'Explain' explaining the blender process
-@ 'Start' start blending
-@ 'TalkX' talking with a person next to a blender machine
-@ 'NoBerries' can't blend cause they have no berries
-@ 'FullPokeblock' can't blend cause full pokeblock case
-@ 'NoPokeblock' can't blend cause they have no pokeblock case
-
-Text_Pblock1_Ask: @ 8292DEE
- .string "Oh? Did you want to make some {POKEBLOCK}S\n"
- .string "with this old-timer?$"
-
-Text_Pblock1_Yes: @ 8292E28
- .string "Excellent!$"
-
-Text_Pblock1_No: @ 8292E33
- .string "Oh…\n"
- .string "You've made this old-timer sad…$"
-
-Text_Pblock1_KnowHow: @ 8292E57
- .string "Do you know how to make a {POKEBLOCK}?$"
-
-Text_Pblock1_Start: @ 8292E78
- .string "Let's get started, then!\p"
- .string "Let's BERRY BLENDER!$"
-
-Text_Pblock1_Explain: @ 8292EA6
- .string "Okay, a little explanation, then.\p"
- .string "Oh, don't worry, it's quite simple.\p"
- .string "When the BLENDER's arrow comes to\n"
- .string "your marker, just press the A Button.\p"
- .string "That's all you have to do.\n"
- .string "You'll see how easy it is when you try.$"
-
-Text_Pblock1_NoBerries: @ 8292F77
- .string "Oh?\n"
- .string "You don't have any BERRIES?\p"
- .string "If you don't have any BERRIES,\n"
- .string "you can't make any {POKEBLOCK}S.$"
-
-LilycoveCity_ContestLobby_Text_292FD1: @ 8292FD1
- .string "Well, that won't do at all now, will it?\p"
- .string "If you don't mind leftovers, you can\n"
- .string "have one of my BERRIES.\p"
- .string "That way, we could make some {POKEBLOCK}S\n"
- .string "together using the BERRY BLENDER.$"
-
-LilycoveCity_ContestLobby_Text_29307D: @ 829307D
- .string "If I had some BERRIES left over,\n"
- .string "I'd gladly give you one…\p"
- .string "But, I don't have any to spare today.\n"
- .string "We'll have to do this another time.$"
-
-Text_Pblock1_FullPokeblock: @ 8293101
- .string "But your {POKEBLOCK} CASE is full.\p"
- .string "You should use some {POKEBLOCK}S before\n"
- .string "you come see me again.$"
-
-Text_Pblock1_NoPokeblock: @ 8293157
- .string "But you don't have a {POKEBLOCK} CASE.\p"
- .string "You should get a {POKEBLOCK} CASE and then\n"
- .string "come see me.$"
-
-LilycoveCity_ContestLobby_Text_2931AA: @ 82931AA
- .string "Let's get blending already!$"
-
-LilycoveCity_ContestLobby_Text_2931C6: @ 82931C6
- .string "I wonder what kind of {POKEBLOCK} I'll get?\n"
- .string "This is so exciting!$"
-
-LilycoveCity_ContestLobby_Text_293201: @ 8293201
- .string "Hi, there! Did you want to blend some\n"
- .string "{POKEBLOCK}S with us?$"
-
-LilycoveCity_ContestLobby_Text_293237: @ 8293237
- .string "Okay!$"
-
-LilycoveCity_ContestLobby_Text_29323D: @ 829323D
- .string "That's too bad…\p"
- .string "But we'll always be around whenever\n"
- .string "you get the urge to blend!$"
-
-LilycoveCity_ContestLobby_Text_29328C: @ 829328C
- .string "Of course, you do know how to\n"
- .string "blend {POKEBLOCK}S, don't you?$"
-
-LilycoveCity_ContestLobby_Text_2932C3: @ 82932C3
- .string "Let's get started, then!\p"
- .string "Let's BERRY BLENDER!$"
-
-LilycoveCity_ContestLobby_Text_2932F1: @ 82932F1
- .string "Okay!\n"
- .string "Let me explain it to you!\p"
- .string "When the spinning BLENDER's arrow\n"
- .string "reaches your marker, just press\l"
- .string "the A Button.\p"
- .string "That's all it takes.\n"
- .string "Pretty easy, don't you think?$"
-
-LilycoveCity_ContestLobby_Text_293394: @ 8293394
- .string "Oh, but wait a second here…\n"
- .string "You don't have any BERRIES.\p"
- .string "You can't make any {POKEBLOCK}S without\n"
- .string "BERRIES…\p"
- .string "We'll always be around whenever you\n"
- .string "get hold of some BERRIES to blend.$"
-
-LilycoveCity_ContestLobby_Text_29343E: @ 829343E
- .string "Oh, but wait a second here…\n"
- .string "Your {POKEBLOCK} CASE is full.\p"
- .string "You should use some {POKEBLOCK}S and\n"
- .string "then come back.$"
-
-LilycoveCity_ContestLobby_Text_2934A2: @ 82934A2
- .string "Oh, but wait a second here…\n"
- .string "You don't have a {POKEBLOCK} CASE.\p"
- .string "You should get a {POKEBLOCK} CASE and\n"
- .string "then come back.$"
-
-LilycoveCity_ContestLobby_Text_29350B: @ 829350B
- .string "Oh, hello! Did you want to make some\n"
- .string "{POKEBLOCK}S with our little group?$"
-
-LilycoveCity_ContestLobby_Text_29354E: @ 829354E
- .string "Oh, dear!$"
-
-LilycoveCity_ContestLobby_Text_293558: @ 8293558
- .string "Oh, dear me…\p"
- .string "You've left us in shock!$"
-
-LilycoveCity_ContestLobby_Text_29357E: @ 829357E
- .string "Naturally, you know how to make\n"
- .string "{POKEBLOCK}S, don't you?$"
-
-LilycoveCity_ContestLobby_Text_2935B1: @ 82935B1
- .string "Okay, dear!\n"
- .string "Let's get started!\p"
- .string "Let's BERRY BLENDER!$"
-
-LilycoveCity_ContestLobby_Text_2935E5: @ 82935E5
- .string "Oh, dear!\p"
- .string "Then, I'll explain it to you nicely.\p"
- .string "When the BLENDER's arrow spins to\n"
- .string "your marker, press the A Button.\p"
- .string "That's all it takes.\n"
- .string "Isn't it simple?$"
-
-LilycoveCity_ContestLobby_Text_29367D: @ 829367D
- .string "You don't have any BERRIES,\n"
- .string "do you?\p"
- .string "If you don't have any BERRIES,\n"
- .string "you can't make any {POKEBLOCK}S.\p"
- .string "We'll always be making {POKEBLOCK}S here,\n"
- .string "so let's make some together when\l"
- .string "you get a BERRY or two.$"
-
-LilycoveCity_ContestLobby_Text_293738: @ 8293738
- .string "Your {POKEBLOCK} CASE is full,\n"
- .string "it looks like.\p"
- .string "You should use some {POKEBLOCK}S up\n"
- .string "and then come back.$"
-
-LilycoveCity_ContestLobby_Text_293792: @ 8293792
- .string "You haven't gotten a {POKEBLOCK} CASE\n"
- .string "yet, it looks like.\p"
- .string "You need to get a {POKEBLOCK} CASE before\n"
- .string "you come back.$"
-
-LilycoveCity_ContestLobby_Text_2937F9: @ 82937F9
- .string "Okay! Today's going to be the day that\n"
- .string "I set a new BLENDER speed record!$"
-
-LilycoveCity_ContestLobby_Text_293842: @ 8293842
- .string "Oh, dear!\n"
- .string "You look as if you're good at blending.\l"
- .string "Would you like to join us?$"
-
-LilycoveCity_ContestLobby_Text_29388F: @ 829388F
- .string "I'm going to make delicious {POKEBLOCK}S\n"
- .string "and make my POKéMON cuter.$"
-
-Text_PblockLink_Ask: @ 82938CD
- .string "{POKEBLOCK}S will be made with your friends \n"
- .string "from BERRIES in the BERRY BLENDER.\p"
- .string "Is it okay to save the game before\n"
- .string "linking with your friends?$"
-
-Text_PblockLink_Searching: @ 8293955
- .string "Searching for your friends…\n"
- .string "… … B Button: Cancel$"
-
-Text_PblockLink_1Arrived: @ 8293986
- .string "{STR_VAR_1} arrived.$"
-
-Text_PblockLink_2Arrived: @ 8293992
- .string "{STR_VAR_1} and {STR_VAR_2} arrived.$"
-
-Text_PblockLink_3Arrived: @ 82939A5
- .string "{STR_VAR_1}, {STR_VAR_2}, and\n"
- .string "{STR_VAR_3} arrived.$"
-
-Text_PblockLink_NoBerries: @ 82939BD
- .string "You have no BERRIES.\n"
- .string "The BERRY BLENDER can't be used.$"
-
-Text_PblockLink_FullPokeblock: @ 82939F3
- .string "Your {POKEBLOCK} CASE is full.\n"
- .string "The BERRY BLENDER can't be used.$"
-
-Text_PblockLink_NoPokeblock: @ 8293A2D
- .string "You don't have a {POKEBLOCK} CASE.\n"
- .string "The BERRY BLENDER can't be used.$"
-
-Text_Pblock1_Talk_0: @ 8293A6B
- .string "I love making {POKEBLOCK}S.\p"
- .string "I always have some BERRIES with me.$"
-
-Text_Pblock1_Talk_1: @ 8293AA5
- .string "If you'd like, we could make some\n"
- .string "{POKEBLOCK}S together using the\l"
- .string "BERRY BLENDER.$"
-
-LilycoveCity_ContestLobby_Text_293AF0: @ 8293AF0
- .string "Oh?\n"
- .string "You don't have any BERRIES?\p"
- .string "Well, that won't do at all now, will it?\p"
- .string "If you don't mind leftovers, you can\n"
- .string "have one of my BERRIES.$"
-
-LilycoveCity_ContestLobby_Text_293B76: @ 8293B76
- .string "We'll use it to make {POKEBLOCK}S together\n"
- .string "using the BERRY BLENDER.$"
-
-LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4
- .string "Oh?\n"
- .string "You don't have any BERRIES?\p"
- .string "If I had some left over, I'd gladly\n"
- .string "give you one…\p"
- .string "But, I don't have any to spare today.\n"
- .string "Sorry about that.$"
-
-EventScript_Pblock1_Ask:: @ 8293C3E
- lockall
- goto_if_unset FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS, LilycoveCity_ContestLobby_EventScript_293EFB
- setvar VAR_0x8009, 1
- applymovement 16, LilycoveCity_ContestLobby_Movement_294053
- waitmovement 0
- msgbox Text_Pblock1_Ask, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq EventScript_Pblock1_Yes
- goto EventScript_Pblock1_No
- end
-
-EventScript_Pblock1_No: @ 8293C70
- msgbox Text_Pblock1_No, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_Pblock1_NoBerries: @ 8293C7A
- msgbox Text_Pblock1_NoBerries, MSGBOX_DEFAULT
- dotimebasedevents
- goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, LilycoveCity_ContestLobby_EventScript_293C92
- goto LilycoveCity_ContestLobby_EventScript_293C9C
- end
-
-LilycoveCity_ContestLobby_EventScript_293C92: @ 8293C92
- msgbox LilycoveCity_ContestLobby_Text_29307D, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C
- msgbox LilycoveCity_ContestLobby_Text_292FD1, MSGBOX_DEFAULT
- giveitem_std ITEM_PECHA_BERRY
- setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY
- goto EventScript_Pblock1_KnowHow
- end
-
-EventScript_Pblock1_KnowHow: @ 8293CB9
- msgbox Text_Pblock1_KnowHow, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq EventScript_Pblock1_Start
- goto EventScript_Pblock1_Explain
- end
-
-EventScript_Pblock1_Start: @ 8293CD2
- msgbox Text_Pblock1_Start, MSGBOX_DEFAULT
- goto EventScript_StartBlending
- end
-
-EventScript_Pblock1_Explain: @ 8293CE0
- msgbox Text_Pblock1_Explain, MSGBOX_DEFAULT
- goto EventScript_Pblock1_Start
- end
-
-EventScript_Pblock1_Yes: @ 8293CEE
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq EventScript_Pblock1_NoPokeblock
- specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_eq EventScript_Pblock1_FullPokeblock
- specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, 0
- goto_if_eq EventScript_Pblock1_NoBerries
- msgbox Text_Pblock1_Yes, MSGBOX_DEFAULT
- goto EventScript_Pblock1_KnowHow
- end
-
-EventScript_StartBlending: @ 8293D2C
- copyvar VAR_0x8004, VAR_0x8009
- fadescreen 1
- special DoBerryBlending
- waitstate
- releaseall
- end
-
-EventScript_Pblock1_FullPokeblock: @ 8293D39
- msgbox Text_Pblock1_FullPokeblock, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_Pblock1_NoPokeblock: @ 8293D43
- msgbox Text_Pblock1_NoPokeblock, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D
- lockall
- setvar VAR_0x8009, 2
- applymovement 10, Common_Movement_FaceOriginalDirection
- applymovement 3, LilycoveCity_ContestLobby_Movement_294053
- waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_293201, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293DC6
- goto LilycoveCity_ContestLobby_EventScript_293D7D
- end
-
-LilycoveCity_ContestLobby_EventScript_293D7D: @ 8293D7D
- msgbox LilycoveCity_ContestLobby_Text_29323D, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293D87: @ 8293D87
- msgbox LilycoveCity_ContestLobby_Text_293394, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_EventScript_293D91: @ 8293D91
- msgbox LilycoveCity_ContestLobby_Text_29328C, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293DAA
- goto LilycoveCity_ContestLobby_EventScript_293DB8
- end
-
-LilycoveCity_ContestLobby_EventScript_293DAA: @ 8293DAA
- msgbox LilycoveCity_ContestLobby_Text_2932C3, MSGBOX_DEFAULT
- goto EventScript_StartBlending
- end
-
-LilycoveCity_ContestLobby_EventScript_293DB8: @ 8293DB8
- msgbox LilycoveCity_ContestLobby_Text_2932F1, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_293DAA
- end
-
-LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6
- specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293D87
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293E14
- msgbox LilycoveCity_ContestLobby_Text_293237, MSGBOX_DEFAULT
- specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne LilycoveCity_ContestLobby_EventScript_293D91
- compare VAR_RESULT, 65535
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293E0A
- end
-
-LilycoveCity_ContestLobby_EventScript_293E0A: @ 8293E0A
- msgbox LilycoveCity_ContestLobby_Text_29343E, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293E14: @ 8293E14
- msgbox LilycoveCity_ContestLobby_Text_2934A2, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E
- lockall
- setvar VAR_0x8008, 15
- setvar VAR_0x8009, 3
- applymovement 9, Common_Movement_FaceOriginalDirection
- applymovement 17, Common_Movement_FaceOriginalDirection
- applymovement VAR_0x8008, LilycoveCity_ContestLobby_Movement_294053
- waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293EA3
- goto LilycoveCity_ContestLobby_EventScript_293E5A
- end
-
-LilycoveCity_ContestLobby_EventScript_293E5A: @ 8293E5A
- msgbox LilycoveCity_ContestLobby_Text_293558, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293E64: @ 8293E64
- msgbox LilycoveCity_ContestLobby_Text_29367D, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_EventScript_293E6E: @ 8293E6E
- msgbox LilycoveCity_ContestLobby_Text_29357E, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293E87
- goto LilycoveCity_ContestLobby_EventScript_293E95
- end
-
-LilycoveCity_ContestLobby_EventScript_293E87: @ 8293E87
- msgbox LilycoveCity_ContestLobby_Text_2935B1, MSGBOX_DEFAULT
- goto EventScript_StartBlending
- end
-
-LilycoveCity_ContestLobby_EventScript_293E95: @ 8293E95
- msgbox LilycoveCity_ContestLobby_Text_2935E5, MSGBOX_DEFAULT
- goto LilycoveCity_ContestLobby_EventScript_293E87
- end
-
-LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3
- specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293E64
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293EF1
- msgbox LilycoveCity_ContestLobby_Text_29354E, MSGBOX_DEFAULT
- specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne LilycoveCity_ContestLobby_EventScript_293E6E
- compare VAR_RESULT, 65535
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293EE7
- end
-
-LilycoveCity_ContestLobby_EventScript_293EE7: @ 8293EE7
- msgbox LilycoveCity_ContestLobby_Text_293738, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293EF1: @ 8293EF1
- msgbox LilycoveCity_ContestLobby_Text_293792, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293EFB: @ 8293EFB
- lockall
- setvar VAR_0x8009, 1
- msgbox LilycoveCity_ContestLobby_Text_2C42F4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293F28
- msgbox LilycoveCity_ContestLobby_Text_2C4332, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293F1E: @ 8293F1E
- msgbox LilycoveCity_ContestLobby_Text_2C439D, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293F28: @ 8293F28
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293F8E
- specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293F1E
- specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne LilycoveCity_ContestLobby_EventScript_293F64
- compare VAR_RESULT, 65535
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293F98
- end
-
-LilycoveCity_ContestLobby_EventScript_293F64: @ 8293F64
- msgbox LilycoveCity_ContestLobby_Text_2C43FA, MSGBOX_YESNO
- compare VAR_RESULT, 0
- call_if_eq LilycoveCity_ContestLobby_EventScript_293F85
- msgbox LilycoveCity_ContestLobby_Text_2C451B, MSGBOX_DEFAULT
- goto EventScript_StartBlending
- end
-
-LilycoveCity_ContestLobby_EventScript_293F85: @ 8293F85
- msgbox LilycoveCity_ContestLobby_Text_2C444C, MSGBOX_DEFAULT
- return
-
-LilycoveCity_ContestLobby_EventScript_293F8E: @ 8293F8E
- msgbox LilycoveCity_ContestLobby_Text_2C4573, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293F98: @ 8293F98
- msgbox LilycoveCity_ContestLobby_Text_2C45E8, MSGBOX_DEFAULT
- releaseall
- end
-
-LilycoveCity_ContestLobby_EventScript_293FA2:: @ 8293FA2
- msgbox LilycoveCity_ContestLobby_Text_2937F9, MSGBOX_NPC
- end
-
-LilycoveCity_ContestLobby_EventScript_293FAB:: @ 8293FAB
- msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_NPC
- end
-
-LilycoveCity_ContestLobby_EventScript_293FB4:: @ 8293FB4
- msgbox LilycoveCity_ContestLobby_Text_29388F, MSGBOX_NPC
- end
-
-LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD
- setvar VAR_0x8008, 15
- goto LilycoveCity_ContestLobby_EventScript_293FC8
- end
-
-LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8
- lock
- faceplayer
- msgbox Text_Pblock1_Talk_0, MSGBOX_DEFAULT
- specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293FEE
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_293FF8
- end
-
-LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE
- msgbox Text_Pblock1_Talk_1, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_294028
- specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_eq LilycoveCity_ContestLobby_EventScript_294028
- dotimebasedevents
- goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, LilycoveCity_ContestLobby_EventScript_294028
- goto LilycoveCity_ContestLobby_EventScript_294032
- end
-
-LilycoveCity_ContestLobby_EventScript_294028: @ 8294028
- msgbox LilycoveCity_ContestLobby_Text_293BB4, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_EventScript_294032: @ 8294032
- msgbox LilycoveCity_ContestLobby_Text_293AF0, MSGBOX_DEFAULT
- giveitem_std ITEM_PECHA_BERRY
- setflag FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY
- msgbox LilycoveCity_ContestLobby_Text_293B76, MSGBOX_DEFAULT
- release
- end
-
-LilycoveCity_ContestLobby_Movement_294053: @ 8294053
- walk_in_place_fastest_right
- step_end
-
-EventScript_PblockLink:: @ 8294055
- lockall
- specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, 0
- goto_if_eq EventScript_PblocLink_NoBerries
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq EventScript_PblocLink_NoPokeblock
- specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne EventScript_PblocLink_Ask
- compare VAR_RESULT, 65535
- goto_if_eq EventScript_PblocLink_FullPokeblock
- end
-
-EventScript_PblocLink_Ask: @ 8294092
- msgbox Text_PblockLink_Ask, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq EventScript_PblocLink_TryConnect
- compare VAR_RESULT, 0
- goto_if_eq EventScript_PblocLink_End
- end
-
-EventScript_PblocLink_NoBerries: @ 82940B1
- msgbox Text_PblockLink_NoBerries, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_PblocLink_TryConnect: @ 82940BB
- call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq EventScript_PblocLink_End
- specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_2941ED
- message Text_PblockLink_Searching
- waitmessage
- special sub_80B2FD8
- waitstate
- compare VAR_RESULT, 1
- goto_if_eq EventScript_PblocLink_SpawnPartners
- compare VAR_RESULT, 2
- goto_if_eq EventScript_PblocLink_SomeoneNotReady
- compare VAR_RESULT, 3
- goto_if_eq EventScript_PblocLink_DifferentSelections
- compare VAR_RESULT, 5
- goto_if_eq EventScript_PblocLink_CloseLink
- compare VAR_RESULT, 6
- goto_if_eq EventScript_PblocLink_LinkError
- end
-
-EventScript_PblocLink_1Arrived: @ 829411D
- msgbox Text_PblockLink_1Arrived, MSGBOX_DEFAULT
- goto EventScript_PblocLink_StartLinkBlending
- end
-
-EventScript_PblocLink_2Arrived: @ 829412B
- msgbox Text_PblockLink_2Arrived, MSGBOX_DEFAULT
- goto EventScript_PblocLink_StartLinkBlending
- end
-
-EventScript_PblocLink_3Arrived: @ 8294139
- msgbox Text_PblockLink_3Arrived, MSGBOX_DEFAULT
- goto EventScript_PblocLink_StartLinkBlending
- end
-
-EventScript_PblocLink_StartLinkBlending: @ 8294147
- setvar VAR_0x8004, 0
- fadescreen 1
- removeobject 240
- removeobject 239
- removeobject 238
- removeobject 237
- special DoBerryBlending
- waitstate
- releaseall
- end
-
-EventScript_PblocLink_End: @ 8294160
- releaseall
- end
-
-EventScript_PblocLink_FullPokeblock: @ 8294162
- msgbox Text_PblockLink_FullPokeblock, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_PblocLink_NoPokeblock: @ 829416C
- msgbox Text_PblockLink_NoPokeblock, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_PblocLink_SomeoneNotReady: @ 8294176
- special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_2781C7, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_PblocLink_DifferentSelections: @ 8294183
- special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_278255, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_PblocLink_CloseLink: @ 8294190
- special CloseLink
- msgbox gUnknown_08272D9C, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_PblocLink_LinkError: @ 829419D
- special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT
- releaseall
- end
-
-EventScript_PblocLink_SpawnPartners: @ 82941AA
- fadescreen 1
- specialvar VAR_RESULT, GetLinkPartnerNames
- copyvar VAR_0x8008, VAR_RESULT
- copyvar VAR_0x8004, VAR_0x8008
- special SpawnLinkPartnerEventObject
- goto EventScript_PblocLink_Arrived
- end
-
-EventScript_PblocLink_Arrived: @ 82941C4
- fadescreen 0
- switch VAR_0x8008
- case 2, EventScript_PblocLink_1Arrived
- case 3, EventScript_PblocLink_2Arrived
- case 4, EventScript_PblocLink_3Arrived
- end
-
-LilycoveCity_ContestLobby_EventScript_2941ED: @ 82941ED
- setvar VAR_0x8004, 13
- goto EventScript_PblocLink_DecideLeader
- end
-
-EventScript_PblocLink_DecideLeader: @ 82941F8
- message Text_DecideLinkLeader
- waitmessage
- multichoice 16, 6, 81, 0
- switch VAR_RESULT
- case 0, EventScript_PblocLink_TryJoinGroup
- case 1, EventScript_PblocLink_TryBecomeLeader
- case 2, EventScript_PblocLink_CloseLink
- case 127, EventScript_PblocLink_CloseLink
- end
-
-EventScript_PblocLink_TryBecomeLeader: @ 8294235
- call EventScript_PblocLink_BecomeLeader
- compare VAR_RESULT, 1
- goto_if_eq EventScript_PblocLink_SpawnPartners_
- compare VAR_RESULT, 5
- goto_if_eq EventScript_PblocLink_DecideLeader
- compare VAR_RESULT, 8
- goto_if_eq EventScript_PblocLink_TryBecomeLeader
- release
- end
-
-EventScript_PblocLink_TryJoinGroup: @ 829425D
- call EventScript_PblocLink_JoinGroup
- compare VAR_RESULT, 1
- goto_if_eq EventScript_PblocLink_SpawnPartners_
- compare VAR_RESULT, 5
- goto_if_eq EventScript_PblocLink_DecideLeader
- compare VAR_RESULT, 8
- goto_if_eq EventScript_PblocLink_TryJoinGroup
- release
- end
-
-EventScript_PblocLink_BecomeLeader: @ 8294285
- special BerryBlenderLinkBecomeLeader
- waitstate
- return
-
-EventScript_PblocLink_JoinGroup: @ 829428A
- special BerryBlenderLinkJoinGroup
- waitstate
- return
-
-EventScript_PblocLink_SpawnPartners_: @ 829428F
- goto EventScript_PblocLink_SpawnPartners
- end
diff --git a/data/scripts/prof_birch.inc b/data/scripts/prof_birch.inc
new file mode 100644
index 000000000..b89d2fbd0
--- /dev/null
+++ b/data/scripts/prof_birch.inc
@@ -0,0 +1,89 @@
+ProfBirch_EventScript_UpdateLocation:: @ 82720AD
+ compare VAR_PETALBURG_GYM_STATE, 0
+ goto_if_eq Common_EventScript_NopReturn
+ goto_if_set FLAG_SYS_GAME_CLEAR, ProfBirch_EventScript_MoveToLab
+ compare VAR_BIRCH_STATE, 0
+ call_if_eq ProfBirch_EventScript_MoveToLab
+ compare VAR_BIRCH_STATE, 1
+ call_if_eq ProfBirch_EventScript_MoveToLab
+ compare VAR_BIRCH_STATE, 2
+ call_if_eq ProfBirch_EventScript_MoveToRoute101
+ compare VAR_BIRCH_STATE, 3
+ call_if_eq ProfBirch_EventScript_MoveToRoute101
+ compare VAR_BIRCH_STATE, 4
+ call_if_eq ProfBirch_EventScript_MoveToRoute103
+ compare VAR_BIRCH_STATE, 5
+ call_if_eq ProfBirch_EventScript_MoveToRoute103
+ compare VAR_BIRCH_STATE, 6
+ call_if_eq ProfBirch_EventScript_MoveToLab
+ compare VAR_BIRCH_STATE, 7
+ call_if_eq ProfBirch_EventScript_MoveToLab
+ return
+
+ProfBirch_EventScript_MoveToLab:: @ 827211A
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
+ setflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_ROUTE_103_BIRCH
+ return
+
+ProfBirch_EventScript_MoveToRoute101:: @ 8272127
+ clearflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
+ setflag FLAG_HIDE_ROUTE_103_BIRCH
+ return
+
+ProfBirch_EventScript_MoveToRoute103:: @ 8272134
+ clearflag FLAG_HIDE_ROUTE_103_BIRCH
+ setflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
+ return
+
+ProfBirch_EventScript_RatePokedexOrRegister:: @ 8272141
+ lock
+ faceplayer
+ goto_if_unset FLAG_HAS_MATCH_CALL, ProfBirch_EventScript_AskRatePokedex
+ goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, EventScript_RegisterProfBirch
+
+ProfBirch_EventScript_AskRatePokedex:: @ 8272155
+ msgbox gBirchDexRatingText_AreYouCurious, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq ProfBirch_EventScript_DeclineRating
+ call ProfBirch_EventScript_RatePokedex
+ release
+ end
+
+ProfBirch_EventScript_DeclineRating:: @ 827216F
+ msgbox gBirchDexRatingText_Cancel, MSGBOX_DEFAULT
+ release
+ end
+
+ProfBirch_EventScript_ShowRatingMessage:: @ 8272179
+ copyvar VAR_0x8004, VAR_0x8009
+ special ShowPokedexRatingMessage
+ waitmessage
+ waitbuttonpress
+ return
+
+ProfBirch_EventScript_RatePokedex:: @ 8272184
+ setvar VAR_0x8004, 0
+ specialvar VAR_RESULT, ScriptGetPokedexInfo
+ copyvar VAR_0x8008, VAR_0x8005
+ copyvar VAR_0x8009, VAR_0x8006
+ copyvar VAR_0x800A, VAR_RESULT
+ buffernumberstring 0, VAR_0x8008 @ Num Hoenn seen
+ buffernumberstring 1, VAR_0x8009 @ Num Hoenn caught
+ msgbox gBirchDexRatingText_SoYouveSeenAndCaught, MSGBOX_DEFAULT
+ call ProfBirch_EventScript_ShowRatingMessage
+ compare VAR_0x800A, 0
+ goto_if_eq Common_EventScript_NopReturn @ National dex not enabled
+ setvar VAR_0x8004, 1
+ specialvar VAR_RESULT, ScriptGetPokedexInfo
+ copyvar VAR_0x8008, VAR_0x8005
+ copyvar VAR_0x8009, VAR_0x8006
+ buffernumberstring 0, VAR_0x8008 @ Num National seen
+ buffernumberstring 1, VAR_0x8009 @ Num National caught
+ msgbox gBirchDexRatingText_OnANationwideBasis, MSGBOX_DEFAULT
+ return
diff --git a/data/scripts/record_mix.inc b/data/scripts/record_mix.inc
new file mode 100644
index 000000000..23f224ae4
--- /dev/null
+++ b/data/scripts/record_mix.inc
@@ -0,0 +1,23 @@
+@ Seems this was superseded by the Record Center, and the below scripts are now unused
+EventScript_MixRecordsPrompt:: @ 8271D5E
+ lock
+ faceplayer
+ msgbox Text_WouldYouLikeToMixRecords, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq EventScript_MixRecords
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_DeclineMixRecords
+ goto EventScript_DeclineMixRecords
+
+EventScript_MixRecords:: @ 8271D83
+ special RecordMixingPlayerSpotTriggered
+ waitstate
+ lock
+ faceplayer
+
+EventScript_DeclineMixRecords:: @ 8271D89
+ message Text_WeHopeToSeeYouAgain
+ waitmessage
+ waitbuttonpress
+ release
+ end
diff --git a/data/scripts/repel.inc b/data/scripts/repel.inc
new file mode 100644
index 000000000..5deda5762
--- /dev/null
+++ b/data/scripts/repel.inc
@@ -0,0 +1,6 @@
+EventScript_RepelWoreOff:: @ 82A4B2A
+ msgbox Text_RepelWoreOff, MSGBOX_SIGN
+ end
+
+Text_RepelWoreOff: @ 82A4B33
+ .string "REPEL's effect wore off…$"
diff --git a/data/scripts/rival_graphics.inc b/data/scripts/rival_graphics.inc
new file mode 100644
index 000000000..60bd1a337
--- /dev/null
+++ b/data/scripts/rival_graphics.inc
@@ -0,0 +1,48 @@
+Common_EventScript_SetupRivalGfxId:: @ 8271ED7
+ checkplayergender
+ compare VAR_RESULT, MALE
+ goto_if_eq EventScript_SetupRivalGfxIdFemale
+ compare VAR_RESULT, FEMALE
+ goto_if_eq EventScript_SetupRivalGfxIdMale
+ end
+
+EventScript_SetupRivalGfxIdFemale:: @ 8271EEF
+ setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
+ return
+
+EventScript_SetupRivalGfxIdMale:: @ 8271EF5
+ setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
+ return
+
+Common_EventScript_SetupRivalOnBikeGfxId:: @ 8271EFB
+ checkplayergender
+ compare VAR_RESULT, MALE
+ goto_if_eq EventScript_SetupRivalOnBikeGfxIdFemale
+ compare VAR_RESULT, FEMALE
+ goto_if_eq EventScript_SetupRivalOnBikeGfxIdMale
+ end
+
+EventScript_SetupRivalOnBikeGfxIdFemale:: @ 8271F13
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE
+ return
+
+EventScript_SetupRivalOnBikeGfxIdMale:: @ 8271F19
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE
+ return
+
+@ Unused
+Common_EventScript_SetupRivalGfxIdSameGender:: @ 8271F1F
+ checkplayergender
+ compare VAR_RESULT, MALE
+ goto_if_eq EventScript_SetupRivalGfxIdMale2
+ compare VAR_RESULT, FEMALE
+ goto_if_eq EventScript_SetupRivalGfxIdFemale2
+ end
+
+EventScript_SetupRivalGfxIdMale2:: @ 8271F37
+ setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
+ return
+
+EventScript_SetupRivalGfxIdFemale2:: @ 8271F3D
+ setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
+ return
diff --git a/data/scripts/roulette.inc b/data/scripts/roulette.inc
new file mode 100644
index 000000000..9aea65054
--- /dev/null
+++ b/data/scripts/roulette.inc
@@ -0,0 +1,71 @@
+Roulette_EventScript_Table1:: @ 82A5AB1
+ checkitem ITEM_COIN_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ setvar VAR_0x8004, 0
+ getpricereduction POKENEWS_GAME_CORNER
+ compare VAR_RESULT, FALSE
+ goto_if_eq Roulette_EventScript_Play
+ addvar VAR_0x8004, 128
+ goto Roulette_EventScript_Play
+ end
+
+Roulette_EventScript_Table2:: @ 82A5ADF
+ checkitem ITEM_COIN_CASE, 1
+ compare VAR_RESULT, FALSE
+ goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ setvar VAR_0x8004, 1
+ getpricereduction POKENEWS_GAME_CORNER
+ compare VAR_RESULT, FALSE
+ goto_if_eq Roulette_EventScript_Play
+ addvar VAR_0x8004, 128
+ goto Roulette_EventScript_Play
+ end
+
+Roulette_EventScript_Play:: @ 82A5B0D
+ special PlayRoulette
+ waitstate
+ end
+
+Roulette_Text_PlayMinimumWagerIsX:: @ 82A5B12
+ .string "The minimum wager at this table\n"
+ .string "is {STR_VAR_1}. Do you want to play?$"
+
+Roulette_Text_NotEnoughCoins:: @ 82A5B4E
+ .string "You don't have enough COINS.$"
+
+Roulette_Text_SpecialRateTable:: @ 82A5B6B
+ .string "Special rate table right now!$"
+
+Roulette_Text_ControlsInstruction:: @ 82A5B89
+ .string "Place your wager with the + Control\n"
+ .string "Pad, then press the A Button.$"
+
+Roulette_Text_ItsAHit:: @ 82A5BCB
+ .string "It's a hit!$"
+
+Roulette_Text_Jackpot:: @ 82A5BD7
+ .string "Jackpot!$"
+
+Roulette_Text_NothingDoing:: @ 82A5BE0
+ .string "Nothing doing!$"
+
+Roulette_Text_YouveWonXCoins:: @ 82A5BEF
+ .string "You've won {STR_VAR_1} COINS!$"
+
+Roulette_Text_NoCoinsLeft:: @ 82A5C04
+ .string "No COINS left…$"
+
+Roulette_Text_KeepPlaying:: @ 82A5C13
+ .string "Keep playing?$"
+
+Roulette_Text_BoardWillBeCleared:: @ 82A5C21
+ .string "The ROULETTE board will be cleared.$"
+
+@ Unused
+Roulette_Text_YouDontHaveACoinCase:: @ 82A5C45
+ .string "You don't have a COIN CASE.$"
+
+Roulette_Text_CoinCaseIsFull:: @ 82A5C61
+ .string "Your COIN CASE is full!\n"
+ .string "Coins can be exchanged for prizes.$"
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index 3539e0970..6a811d935 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -1,103 +1,103 @@
-EventScript_2A4B4C:: @ 82A4B4C
+SafariZone_EventScript_OutOfBallsMidBattle:: @ 82A4B4C
setvar VAR_SAFARI_ZONE_STATE, 1
special ExitSafariMode
setwarp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
end
-EventScript_2A4B5D:: @ 82A4B5D
+SafariZone_EventScript_Exit:: @ 82A4B5D
setvar VAR_SAFARI_ZONE_STATE, 1
special ExitSafariMode
warp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
waitstate
end
-EventScript_2A4B6F:: @ 82A4B6F
+SafariZone_EventScript_RetirePrompt:: @ 82A4B6F
lockall
- msgbox Text_2A4BF4, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq EventScript_2A4B85
+ msgbox SafariZone_Text_WouldYouLikeToExit, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SafariZone_EventScript_Retire
releaseall
end
-EventScript_2A4B85:: @ 82A4B85
- goto EventScript_2A4B5D
+SafariZone_EventScript_Retire:: @ 82A4B85
+ goto SafariZone_EventScript_Exit
-EventScript_2A4B8A:: @ 82A4B8A
+SafariZone_EventScript_TimesUp:: @ 82A4B8A
lockall
playse SE_PINPON
- message Text_2A4C26
+ message SafariZone_Text_TimesUp
waitmessage
waitbuttonpress
releaseall
- goto EventScript_2A4B5D
+ goto SafariZone_EventScript_Exit
-EventScript_2A4B9B:: @ 82A4B9B
+SafariZone_EventScript_OutOfBalls:: @ 82A4B9B
lockall
playse SE_PINPON
- message Text_2A4C56
+ message SafariZone_Text_OutOfBalls
waitmessage
waitbuttonpress
releaseall
- goto EventScript_2A4B5D
+ goto SafariZone_EventScript_Exit
EventScript_PokeBlockFeeder:: @ 82A4BAC
lockall
special GetPokeblockFeederInFront
- compare VAR_RESULT, 65535
- goto_if_ne EventScript_2A4BEB
- msgbox Text_2A4C90, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq EventScript_2A4BD0
+ compare VAR_RESULT, 0xFFFF
+ goto_if_ne SafariZone_EventScript_PokeblockPresent
+ msgbox SafariZone_Text_PlacePokeblockOnFeeder, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SafariZone_EventScript_ChoosePokeblock
releaseall
end
-EventScript_2A4BD0:: @ 82A4BD0
- fadescreen 1
+SafariZone_EventScript_ChoosePokeblock:: @ 82A4BD0
+ fadescreen FADE_TO_BLACK
special OpenPokeblockCaseOnFeeder
waitstate
- compare VAR_RESULT, 65535
- goto_if_ne EventScript_2A4BE2
+ compare VAR_RESULT, 0xFFFF
+ goto_if_ne SafariZone_EventScript_PokeblockPlaced
end
-EventScript_2A4BE2:: @ 82A4BE2
- message Text_2A4CEB
+SafariZone_EventScript_PokeblockPlaced:: @ 82A4BE2
+ message SafariZone_Text_PokeblockWasPlaced
waitmessage
waitbuttonpress
releaseall
end
-EventScript_2A4BEB:: @ 82A4BEB
- message Text_2A4CC5
+SafariZone_EventScript_PokeblockPresent:: @ 82A4BEB
+ message SafariZone_Text_PokeblockStillHere
waitmessage
waitbuttonpress
releaseall
end
-Text_2A4BF4: @ 82A4BF4
+SafariZone_Text_WouldYouLikeToExit: @ 82A4BF4
.string "Would you like to exit the SAFARI\n"
.string "ZONE right now?$"
-Text_2A4C26: @ 82A4C26
+SafariZone_Text_TimesUp: @ 82A4C26
.string "Ding-dong! Time's up!\n"
.string "Your SAFARI Game is over.$"
-Text_2A4C56: @ 82A4C56
+SafariZone_Text_OutOfBalls: @ 82A4C56
.string "You've run out of SAFARI BALLS.\n"
.string "Your SAFARI Game is over.$"
-Text_2A4C90: @ 82A4C90
+SafariZone_Text_PlacePokeblockOnFeeder: @ 82A4C90
.string "Would you like to place a {POKEBLOCK}\n"
.string "on the {POKEBLOCK} FEEDER?$"
-Text_2A4CC5: @ 82A4CC5
+SafariZone_Text_PokeblockStillHere: @ 82A4CC5
.string "The {STR_VAR_1} you left\n"
.string "before is still here.$"
-Text_2A4CEB: @ 82A4CEB
+SafariZone_Text_PokeblockWasPlaced: @ 82A4CEB
.string "The {STR_VAR_1} was placed\n"
.string "on the {POKEBLOCK} FEEDER.$"
-Route121_SafariZoneEntrance_Text_2A4D12: @ 82A4D12
+Route121_SafariZoneEntrance_Text_WelcomeToSafariZone: @ 82A4D12
.string "Welcome to the SAFARI ZONE!\p"
.string "Here, you may witness many kinds of\n"
.string "POKéMON rarely seen in HOENN.\p"
@@ -109,14 +109,14 @@ Route121_SafariZoneEntrance_Text_2A4D12: @ 82A4D12
.string "for keeps!\p"
.string "Come in and enjoy the SAFARI ZONE!$"
-Route121_SafariZoneEntrance_Text_2A4E46: @ 82A4E46
+Route121_SafariZoneEntrance_Text_WelcomeFirstTime: @ 82A4E46
.string "Welcome to the SAFARI ZONE!\n"
.string "Is it your first time here?$"
-Route121_SafariZoneEntrance_Text_2A4E7E: @ 82A4E7E
+Route121_SafariZoneEntrance_Text_ComeInAndEnjoy: @ 82A4E7E
.string "Come in and enjoy the SAFARI ZONE!$"
-Route121_SafariZoneEntrance_Text_2A4EA1: @ 82A4EA1
+Route121_SafariZoneEntrance_Text_FirstTimeInfo: @ 82A4EA1
.string "When you enter the SAFARI ZONE, you\n"
.string "start with 30 SAFARI BALLS for\l"
.string "catching POKéMON.\p"
@@ -125,39 +125,39 @@ Route121_SafariZoneEntrance_Text_2A4EA1: @ 82A4EA1
.string "walked 500 steps.\p"
.string "Come in and enjoy the SAFARI ZONE!$"
-Route121_SafariZoneEntrance_Text_2A4F74: @ 82A4F74
+Route121_SafariZoneEntrance_Text_WouldYouLikeToPlay: @ 82A4F74
.string "Welcome to the SAFARI ZONE!\p"
.string "All you can catch for just ¥500!\n"
.string "Would you like to play a SAFARI Game?$"
-Route121_SafariZoneEntrance_Text_2A4FD7: @ 82A4FD7
+Route121_SafariZoneEntrance_Text_PlayAnotherTime: @ 82A4FD7
.string "Okay.\n"
.string "Please play another time!$"
-Route121_SafariZoneEntrance_Text_2A4FF7: @ 82A4FF7
+Route121_SafariZoneEntrance_Text_NotEnoughMoney: @ 82A4FF7
.string "You don't have enough money.\n"
.string "Sorry.$"
-Route121_SafariZoneEntrance_Text_2A501B: @ 82A501B
+Route121_SafariZoneEntrance_Text_ThatWillBe500Please: @ 82A501B
.string "That will be ¥500, please.$"
-Route121_SafariZoneEntrance_Text_2A5036: @ 82A5036
+Route121_SafariZoneEntrance_Text_HereAreYourSafariBalls: @ 82A5036
.string "Here are your SAFARI BALLS.$"
-Route121_SafariZoneEntrance_Text_2A5052: @ 82A5052
+Route121_SafariZoneEntrance_Text_Received30SafariBalls: @ 82A5052
.string "{PLAYER} received 30 SAFARI BALLS.$"
-Route121_SafariZoneEntrance_Text_2A506F: @ 82A506F
+Route121_SafariZoneEntrance_Text_PleaseEnjoyYourself: @ 82A506F
.string "We'll let you know when your game\n"
.string "is over.\p"
.string "So, until then, enjoy yourself, please!\n"
.string "Off you go on your wild excursion!$"
-Route121_SafariZoneEntrance_Text_2A50E5: @ 82A50E5
+Route121_SafariZoneEntrance_Text_PCIsFull: @ 82A50E5
.string "Excuse me!\n"
.string "Your PC BOX is full.$"
-Route121_SafariZoneEntrance_Text_2A5105: @ 82A5105
+Route121_SafariZoneEntrance_Text_YouNeedPokeblockCase: @ 82A5105
.string "Excuse me!\n"
.string "You seem to be without a {POKEBLOCK} CASE.\p"
.string "Your SAFARI Game will be much more\n"
@@ -166,129 +166,129 @@ Route121_SafariZoneEntrance_Text_2A5105: @ 82A5105
.string "You may obtain a {POKEBLOCK} CASE from\n"
.string "the LILYCOVE CONTEST HALL.$"
-SafariZone_South_Text_2A51D4: @ 82A51D4
+SafariZone_South_Text_StillHaveTimeExit: @ 82A51D4
.string "You still have time left. Would you like\n"
.string "to exit the SAFARI ZONE now?$"
-SafariZone_South_Text_2A521A: @ 82A521A
+SafariZone_South_Text_EnjoyTheRestOfYourAdventure: @ 82A521A
.string "Please enjoy the rest of your wild\n"
.string "adventure!$"
-SafariZone_South_Text_2A5248: @ 82A5248
+SafariZone_South_Text_ExitEarlyThankYouForPlaying: @ 82A5248
.string "Okay.\p"
.string "I'll take back your remaining SAFARI\n"
.string "BALLS.\p"
.string "Thank you for playing.\n"
.string "We hope to see you again.$"
-SafariZone_South_Text_2A52AB: @ 82A52AB
+SafariZone_South_Text_GoodLuck: @ 82A52AB
.string "Good luck!\p"
.string "If you need anything, don't hesitate\n"
.string "to tell me, please!$"
-SafariZone_South_Text_2A52EF: @ 82A52EF
+SafariZone_South_Text_Boy: @ 82A52EF
.string "Did you know?\p"
.string "If you put a {POKEBLOCK} in that square box,\n"
.string "POKéMON gather around.$"
-SafariZone_South_Text_2A533B: @ 82A533B
+SafariZone_South_Text_Man: @ 82A533B
.string "I want to keep going deeper, but I\n"
.string "forgot to bring a BIKE.\p"
.string "Something tells me that rare POKéMON\n"
.string "live in the outlying areas.$"
-SafariZone_Southwest_Text_2A53B7: @ 82A53B7
+SafariZone_Southwest_Text_Woman: @ 82A53B7
.string "Sometimes, when I toss a {POKEBLOCK} at \n"
.string "POKéMON, it gets ignored.\p"
.string "Do POKéMON have likes and dislikes\n"
.string "about what they eat?$"
-SafariZone_Northwest_Text_2A542C: @ 82A542C
+SafariZone_Northwest_Text_Man: @ 82A542C
.string "Gasp… Gasp…\n"
.string "I…made it out here…but…\p"
.string "I'm exhausted… I don't have the\n"
.string "energy to catch POKéMON…$"
-SafariZone_North_Text_2A5489: @ 82A5489
+SafariZone_North_Text_Fisherman: @ 82A5489
.string "I'm on a mission to find WATER POKéMON\n"
.string "you don't see in HOENN.\p"
.string "Do you have any idea where the lake is?$"
-SafariZone_North_Text_2A54F0: @ 82A54F0
+SafariZone_North_Text_Man: @ 82A54F0
.string "I'm going to catch a lot of rare POKéMON\n"
.string "here and trade them with my friends!$"
-SafariZone_South_Text_2A553E: @ 82A553E
+SafariZone_South_Text_Youngster: @ 82A553E
.string "I put a {POKEBLOCK} on the {POKEBLOCK} FEEDER.\n"
.string "But it seems to have disappeared.\p"
.string "I guess POKéMON must have eaten it\n"
.string "without me noticing.$"
-Route121_SafariZoneEntrance_Text_2A55BB: @ 82A55BB
+Route121_SafariZoneEntrance_Text_TrainerTip: @ 82A55BB
.string "SAFARI ZONE TRAINER TIP!\p"
.string "Throw {POKEBLOCK}S at wild POKéMON to make\n"
.string "them less likely to flee.$"
-SafariZone_Southwest_Text_2A5613: @ 82A5613
+SafariZone_Southwest_Text_RestHouseSign: @ 82A5613
.string "“Relieve your tired feet.”\n"
.string "REST HOUSE$"
-SafariZone_RestHouse_Text_2A5639: @ 82A5639
+SafariZone_RestHouse_Text_Youngster: @ 82A5639
.string "I don't have any {POKEBLOCK}S, but I caught\n"
.string "a good number of POKéMON.\p"
.string "You can improve your chances of making\n"
.string "a catch by getting closer to them\l"
.string "before throwing a SAFARI BALL.$"
-SafariZone_RestHouse_Text_2A56E1: @ 82A56E1
+SafariZone_RestHouse_Text_PsychicM: @ 82A56E1
.string "If you use {POKEBLOCK}S, wild POKéMON won't\n"
.string "be so quick to run away.\p"
.string "It's not much use to give {POKEBLOCK}S to\n"
.string "POKéMON that don't flee easily.$"
-SafariZone_RestHouse_Text_2A5764: @ 82A5764
+SafariZone_RestHouse_Text_FatMan: @ 82A5764
.string "If you put a {POKEBLOCK} on the FEEDER,\n"
.string "POKéMON are attracted to it.\p"
.string "I think POKéMON with the same sort of\n"
.string "nature are drawn by a certain {POKEBLOCK}.$"
-SafariZone_South_Text_2A57EE: @ 82A57EE
+SafariZone_South_Text_AreaOffLimits1: @ 82A57EE
.string "This area is still under construction.\n"
.string "It's off-limits, sorry!$"
-SafariZone_Southeast_Text_2A582D: @ 82A582D
+SafariZone_Southeast_Text_ExpansionIsFinished: @ 82A582D
.string "The SAFARI ZONE's expansion project\n"
.string "is finished now.\p"
.string "We hope you will enjoy the new area.$"
-SafariZone_South_Text_2A5887: @ 82A5887
+SafariZone_South_Text_AreaOffLimits2: @ 82A5887
.string "This area is still under construction.\n"
.string "It's off-limits, sorry!$"
-SafariZone_Southeast_Text_2A58C6: @ 82A58C6
+SafariZone_Southeast_Text_LittleGirl: @ 82A58C6
.string "Wow! Whee! I haven't seen any of\n"
.string "these POKéMON before!$"
-SafariZone_Southeast_Text_2A58FD: @ 82A58FD
+SafariZone_Southeast_Text_FatMan: @ 82A58FD
.string "The POKéMON in this area are all\n"
.string "new to me.\p"
.string "And I'm allowed to catch these rare\n"
.string "POKéMON! Too cool!$"
-SafariZone_Southeast_Text_2A5960: @ 82A5960
+SafariZone_Southeast_Text_RichBoy: @ 82A5960
.string "The POKéMON around here seem to be\n"
.string "from somewhere other than HOENN.$"
-SafariZone_Northeast_Text_2A59A4: @ 82A59A4
+SafariZone_Northeast_Text_Boy: @ 82A59A4
.string "I only have a couple SAFARI BALLS left.\p"
.string "I'm having a hard time trying to\n"
.string "decide what I should catch.$"
-SafariZone_Northeast_Text_2A5A09: @ 82A5A09
+SafariZone_Northeast_Text_Woman: @ 82A5A09
.string "I heard that you can see PIKACHU here.\n"
.string "Where might one be?$"
-SafariZone_Northeast_Text_2A5A44: @ 82A5A44
+SafariZone_Northeast_Text_Girl: @ 82A5A44
.string "Oh, boo!\n"
.string "I can't seem to catch anything!\p"
.string "I'll end up wasting the admission\n"
diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc
index 81bd388f8..7bb20e378 100644
--- a/data/scripts/secret_base.inc
+++ b/data/scripts/secret_base.inc
@@ -1,433 +1,148 @@
-Text_274746: @ 8274746
+SecretBase_Text_TreeCanBeClimbed: @ 8274746
.string "If some vines drop down, this tree can\n"
.string "be climbed.$"
-Text_274779: @ 8274779
+SecretBase_Text_TreeUseSecretPower: @ 8274779
.string "If some vines drop down, this tree can\n"
.string "be climbed.\p"
.string "Use the SECRET POWER?$"
-Text_2747C2: @ 82747C2
+SecretBase_Text_VineDroppedDown: @ 82747C2
.string "A thick vine dropped down!$"
-Text_2747DD: @ 82747DD
+SecretBase_Text_ClumpOfGrass: @ 82747DD
.string "If this clump of grass can be moved,\n"
.string "it might be possible to go inside.$"
-Text_274825: @ 8274825
+SecretBase_Text_ClumpUseSecretPower: @ 8274825
.string "If this clump of grass can be moved,\n"
.string "it might be possible to go inside.\p"
.string "Use the SECRET POWER?$"
-Text_274883: @ 8274883
+SecretBase_Text_DiscoveredSmallEntrance: @ 8274883
.string "Discovered a small entrance!$"
-SecretBase_RedCave1_Text_2748A0: @ 82748A0
- .string "Have you made a SECRET BASE already?\p"
- .string "I went here, there, everywhere before\n"
- .string "choosing this place.\p"
- .string "Since you're already here, how would\n"
- .string "you like to battle?$"
-
-SecretBase_RedCave1_Text_274939: @ 8274939
- .string "Okay!\n"
- .string "Here we come!$"
-
-SecretBase_RedCave1_Text_27494D: @ 827494D
- .string "Hunh?\n"
- .string "Oh, you can't now…$"
-
-SecretBase_RedCave1_Text_274966:: @ 8274966
- .string "Waaargh! You're too strong!\n"
- .string "About me losing… Please keep it secret!$"
-
-SecretBase_RedCave1_Text_2749AA: @ 82749AA
- .string "What do you think of my SECRET BASE?\n"
- .string "Come visit me again tomorrow.$"
-
-SecretBase_RedCave1_Text_2749ED: @ 82749ED
- .string "Have you made a SECRET BASE already?\p"
- .string "I went here, there, everywhere before\n"
- .string "choosing this place.\p"
- .string "Feel free to hang out!$"
-
-SecretBase_RedCave1_Text_274A64: @ 8274A64
- .string "There're a lot of places where\n"
- .string "you can make a SECRET BASE.\p"
- .string "But I like this spot best.\n"
- .string "Don't you think it's nice?\p"
- .string "Oh, would you like to have a battle?$"
-
-SecretBase_RedCave1_Text_274AFA: @ 8274AFA
- .string "Okay, here goes!$"
-
-SecretBase_RedCave1_Text_274B0B: @ 8274B0B
- .string "Oh…\n"
- .string "You can't now, okay.$"
-
-SecretBase_RedCave1_Text_274B24:: @ 8274B24
- .string "Hmmm… It's our loss…\n"
- .string "But don't tell anyone!\l"
- .string "It's a confidential secret!$"
-
-SecretBase_RedCave1_Text_274B6C: @ 8274B6C
- .string "If you're in this area again,\n"
- .string "I hope you'll visit me.$"
-
-SecretBase_RedCave1_Text_274BA2: @ 8274BA2
- .string "There're a lot of places where you can\n"
- .string "make a SECRET BASE.\p"
- .string "But I like this spot best.\n"
- .string "Don't you think it's nice?$"
-
-SecretBase_RedCave1_Text_274C13: @ 8274C13
- .string "This is a popular spot.\n"
- .string "It's always taken.\p"
- .string "Oh! Were you thinking about\n"
- .string "taking this spot, too?\p"
- .string "I'll tell you what, you can have this\n"
- .string "spot if you can beat me.$"
-
-SecretBase_RedCave1_Text_274CB0: @ 8274CB0
- .string "Okay!\n"
- .string "I'm going to defend my SECRET BASE!$"
-
-SecretBase_RedCave1_Text_274CDA: @ 8274CDA
- .string "Hunh? Is that right?\n"
- .string "You're not interested in this spot?$"
-
-SecretBase_RedCave1_Text_274D13:: @ 8274D13
- .string "I can't keep going!\n"
- .string "I surrender!$"
-
-SecretBase_RedCave1_Text_274D34: @ 8274D34
- .string "Okay, when I move one day,\n"
- .string "this place will be yours!$"
-
-SecretBase_RedCave1_Text_274D69: @ 8274D69
- .string "This is a popular spot.\n"
- .string "It's always taken.\p"
- .string "I waited a long time for it to open.\n"
- .string "I finally got to use it!$"
-
-SecretBase_RedCave1_Text_274DD2: @ 8274DD2
- .string "Welcome to my POKéMON LAB.\p"
- .string "I carry out research on battling in\n"
- .string "secrecy.\p"
- .string "Would you like to see how strong I am?$"
-
-SecretBase_RedCave1_Text_274E41: @ 8274E41
- .string "I'm going to go all out!$"
-
-SecretBase_RedCave1_Text_274E5A: @ 8274E5A
- .string "Oh.\n"
- .string "Some other time, then!$"
-
-SecretBase_RedCave1_Text_274E75:: @ 8274E75
- .string "Hmm… I've still got lots to learn.\n"
- .string "I have to study some more.$"
-
-SecretBase_RedCave1_Text_274EB3: @ 8274EB3
- .string "Thanks for battling with me.\n"
- .string "Please come back again tomorrow.$"
-
-SecretBase_RedCave1_Text_274EF1: @ 8274EF1
- .string "Welcome to my POKéMON LAB.\p"
- .string "I carry out research on battling in\n"
- .string "secrecy.$"
-
-SecretBase_RedCave1_Text_274F39: @ 8274F39
- .string "A big mansion is nice, but I like this\n"
- .string "sort of place more.\p"
- .string "I like it because all kinds of people\n"
- .string "come visit me.\p"
- .string "So, how would you like a battle?$"
-
-SecretBase_RedCave1_Text_274FCA: @ 8274FCA
- .string "That's the way!$"
-
-SecretBase_RedCave1_Text_274FDA: @ 8274FDA
- .string "When you're ready, give me a shout!$"
-
-SecretBase_RedCave1_Text_274FFE:: @ 8274FFE
- .string "Aww! Done in!\n"
- .string "But it's still fun to battle!$"
-
-SecretBase_RedCave1_Text_27502A: @ 827502A
- .string "Well, anyway, I should go buy some\n"
- .string "decorations and furniture.\p"
- .string "I want my SECRET BASE to be a place\n"
- .string "other people can enjoy.$"
-
-SecretBase_RedCave1_Text_2750A4: @ 82750A4
- .string "A big mansion is nice, but I like this\n"
- .string "sort of place more.\p"
- .string "I like it because all kinds of people\n"
- .string "come visit me.$"
-
-SecretBase_RedCave1_Text_275114: @ 8275114
- .string "I simply adore shopping for decorations\n"
- .string "and furniture.\p"
- .string "I also love raising POKéMON just\n"
- .string "as much.\p"
- .string "If you would be so kind, will you battle\n"
- .string "with my POKéMON?$"
-
-SecretBase_RedCave1_Text_2751AF: @ 82751AF
- .string "Thank you.\n"
- .string "Shall we begin?$"
-
-SecretBase_RedCave1_Text_2751CA: @ 82751CA
- .string "Oh.\n"
- .string "How disappointing…$"
-
-SecretBase_RedCave1_Text_2751E1:: @ 82751E1
- .string "I concede…$"
-
-SecretBase_RedCave1_Text_2751EC: @ 82751EC
- .string "That was all in good fun!\n"
- .string "I should go enjoy shopping now.$"
-
-SecretBase_RedCave1_Text_275226: @ 8275226
- .string "I simply adore shopping for decorations\n"
- .string "and furniture.\p"
- .string "I also love raising POKéMON just\n"
- .string "as much.$"
-
-SecretBase_RedCave1_Text_275287: @ 8275287
- .string "Some people make their SECRET BASES in\n"
- .string "hard-to-find places.\l"
- .string "Do they want to just lie low?\p"
- .string "But since you found me, how about we\n"
- .string "have a battle?$"
-
-SecretBase_RedCave1_Text_275315: @ 8275315
- .string "I'm not going down easily!$"
-
-SecretBase_RedCave1_Text_275330: @ 8275330
- .string "Oh… Are you maybe tired from searching\n"
- .string "for this place?$"
-
-SecretBase_RedCave1_Text_275367:: @ 8275367
- .string "I went down…$"
-
-SecretBase_RedCave1_Text_275374: @ 8275374
- .string "Where's your SECRET BASE?\n"
- .string "I should go visit you there.$"
-
-SecretBase_RedCave1_Text_2753AB: @ 82753AB
- .string "Some people make their SECRET BASES in\n"
- .string "hard-to-find places.\l"
- .string "Do they want to just lie low?$"
-
-SecretBase_RedCave1_Text_275405: @ 8275405
- .string "People have told me that you can get\n"
- .string "decorations in several ways.\p"
- .string "We should have a race to see who can\n"
- .string "get nicer decorations and furniture!\p"
- .string "In the meantime, want to battle?$"
-
-SecretBase_RedCave1_Text_2754B2: @ 82754B2
- .string "This is my SECRET BASE.\n"
- .string "I can't lose!$"
-
-SecretBase_RedCave1_Text_2754D8: @ 82754D8
- .string "I'll battle with you anytime.$"
-
-SecretBase_RedCave1_Text_2754F6:: @ 82754F6
- .string "Huh?\n"
- .string "Did I just lose?$"
-
-SecretBase_RedCave1_Text_27550C: @ 827550C
- .string "I won't lose at collecting decorations.\n"
- .string "Come visit again!$"
-
-SecretBase_RedCave1_Text_275546: @ 8275546
- .string "People have told me that you can get\n"
- .string "decorations in several ways.\p"
- .string "We should have a race to see who can\n"
- .string "get nicer decorations and furniture!$"
-
-SecretBase_RedCave1_Text_2755D2: @ 82755D2
- .string "I found a spot I liked, and I did it up\n"
- .string "with my favorite decorations.\p"
- .string "I raise my favorite POKéMON and grow\n"
- .string "stronger with it.\p"
- .string "That's what I do.\n"
- .string "Want to battle with me?$"
-
-SecretBase_RedCave1_Text_275679: @ 8275679
- .string "Show me what you're made of!$"
-
-SecretBase_RedCave1_Text_275696: @ 8275696
- .string "I guess there are times when you're not\n"
- .string "into it.$"
-
-SecretBase_RedCave1_Text_2756C7:: @ 82756C7
- .string "I know exactly what you're made of now.$"
-
-SecretBase_RedCave1_Text_2756EF: @ 82756EF
- .string "We can both become stronger.\n"
- .string "Let's keep at it!$"
-
-SecretBase_RedCave1_Text_27571E: @ 827571E
- .string "I found a spot I liked, and I did it up\n"
- .string "with my favorite decorations.\p"
- .string "I raise my favorite POKéMON and grow\n"
- .string "stronger with it.\p"
- .string "Every day is a great day.$"
-
-SecretBase_RedCave1_Text_2757B5: @ 82757B5
- .string "You can learn a lot about the taste\n"
- .string "and sense of people by the kinds of\l"
- .string "decorations they have, and how they\l"
- .string "display them.\p"
- .string "What do you think of my taste?\n"
- .string "Are you speechless?\p"
- .string "Want to see my taste in battling?$"
-
-SecretBase_RedCave1_Text_275884: @ 8275884
- .string "There's no holding back!$"
-
-SecretBase_RedCave1_Text_27589D: @ 827589D
- .string "I'll be happy to demonstrate my style\n"
- .string "anytime.$"
-
-SecretBase_RedCave1_Text_2758CC:: @ 82758CC
- .string "You're supremely talented!\n"
- .string "Your power seems to be limitless…$"
-
-SecretBase_RedCave1_Text_275909: @ 8275909
- .string "What did you think of my style?\n"
- .string "I'll keep on polishing it!$"
-
-SecretBase_RedCave1_Text_275944: @ 8275944
- .string "You can learn a lot about the taste\n"
- .string "and sense of people by the kinds of\l"
- .string "decorations they have, and how they\l"
- .string "display them.\p"
- .string "What do you think of my taste?\n"
- .string "Are you speechless?$"
-
-EventScript_2759F1:: @ 82759F1
+ .include "data/text/secret_base_trainers.inc"
+
+SecretBase_EventScript_CheckEntrance:: @ 82759F1
special GetSecretBaseTypeInFrontOfPlayer
special CheckPlayerHasSecretBase
- compare VAR_RESULT, 1
- goto_if_eq EventScript_275BE8
+ compare VAR_RESULT, TRUE
+ goto_if_eq SecretBase_EventScript_AlreadyHasSecretBase
checkpartymove MOVE_SECRET_POWER
setfieldeffectargument 0, VAR_RESULT
buffermovename 1, MOVE_SECRET_POWER
- compare VAR_0x8007, 1
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 2
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 3
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 4
- goto_if_eq EventScript_275A50
- compare VAR_0x8007, 5
- goto_if_eq EventScript_275AA9
- compare VAR_0x8007, 6
- goto_if_eq EventScript_275B02
- end
-
-EventScript_275A50:: @ 8275A50
+ compare VAR_0x8007, SECRET_BASE_RED_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
+ goto_if_eq SecretBase_EventScript_Cave
+ compare VAR_0x8007, SECRET_BASE_TREE
+ goto_if_eq SecretBase_EventScript_Tree
+ compare VAR_0x8007, SECRET_BASE_SHRUB
+ goto_if_eq SecretBase_EventScript_Shrub
+ end
+
+SecretBase_EventScript_Cave:: @ 8275A50
lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275A91
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
bufferpartymonnick 0, VAR_RESULT
- msgbox gText_23B704, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox SecretBase_Text_IndentUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
waitstate
- goto EventScript_275A9B
+ goto SecretBase_EventScript_CaveEnter
end
-EventScript_275A86:: @ 8275A86
+SecretBase_EventScript_CaveUseSecretPower:: @ 8275A86
lockall
dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
waitstate
- goto EventScript_275A9B
+ goto SecretBase_EventScript_CaveEnter
end
-EventScript_275A91:: @ 8275A91
- msgbox gText_23B6E0, MSGBOX_DEFAULT
+SecretBase_EventScript_CaveNoSecretPower:: @ 8275A91
+ msgbox SecretBase_Text_SmallIndentInWall, MSGBOX_DEFAULT
releaseall
end
-EventScript_275A9B:: @ 8275A9B
- msgbox gText_23B73E, MSGBOX_DEFAULT
- goto EventScript_275B5B
+SecretBase_EventScript_CaveEnter:: @ 8275A9B
+ msgbox SecretBase_Text_DiscoveredSmallCavern, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_InitSecretBase
end
-EventScript_275AA9:: @ 8275AA9
+SecretBase_EventScript_Tree:: @ 8275AA9
lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275AEA
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_TreeNoSecretPower
bufferpartymonnick 0, VAR_RESULT
- msgbox Text_274779, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox SecretBase_Text_TreeUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
waitstate
- goto EventScript_275AF4
+ goto SecretBase_EventScript_TreeEnter
end
-EventScript_275ADF:: @ 8275ADF
+SecretBase_EventScript_TreeUseSecretPower:: @ 8275ADF
lockall
dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
waitstate
- goto EventScript_275AF4
+ goto SecretBase_EventScript_TreeEnter
end
-EventScript_275AEA:: @ 8275AEA
- msgbox Text_274746, MSGBOX_DEFAULT
+SecretBase_EventScript_TreeNoSecretPower:: @ 8275AEA
+ msgbox SecretBase_Text_TreeCanBeClimbed, MSGBOX_DEFAULT
releaseall
end
-EventScript_275AF4:: @ 8275AF4
- msgbox Text_2747C2, MSGBOX_DEFAULT
- goto EventScript_275B5B
+SecretBase_EventScript_TreeEnter:: @ 8275AF4
+ msgbox SecretBase_Text_VineDroppedDown, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_InitSecretBase
end
-EventScript_275B02:: @ 8275B02
+SecretBase_EventScript_Shrub:: @ 8275B02
lockall
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275B43
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_ShrubNoSecretPower
bufferpartymonnick 0, VAR_RESULT
- msgbox Text_274825, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox SecretBase_Text_ClumpUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
waitstate
- goto EventScript_275B4D
+ goto SecretBase_EventScript_ShrubEnter
end
-EventScript_275B38:: @ 8275B38
+SecretBase_EventScript_ShrubUseSecretPower:: @ 8275B38
lockall
dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
waitstate
- goto EventScript_275B4D
+ goto SecretBase_EventScript_ShrubEnter
end
-EventScript_275B43:: @ 8275B43
- msgbox Text_2747DD, MSGBOX_DEFAULT
+SecretBase_EventScript_ShrubNoSecretPower:: @ 8275B43
+ msgbox SecretBase_Text_ClumpOfGrass, MSGBOX_DEFAULT
releaseall
end
-EventScript_275B4D:: @ 8275B4D
- msgbox Text_274883, MSGBOX_DEFAULT
- goto EventScript_275B5B
+SecretBase_EventScript_ShrubEnter:: @ 8275B4D
+ msgbox SecretBase_Text_DiscoveredSmallEntrance, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_InitSecretBase
end
-EventScript_275B5B:: @ 8275B5B
+SecretBase_EventScript_InitSecretBase:: @ 8275B5B
closemessage
playse SE_KAIDAN
setvar VAR_INIT_SECRET_BASE, 0
@@ -441,115 +156,113 @@ EventScript_275B5B:: @ 8275B5B
waitstate
end
-SecretBase_RedCave1_EventScript_275B81:: @ 8275B81
- applymovement EVENT_OBJ_ID_PLAYER, SecretBase_RedCave1_Movement_275BB4
+SecretBase_EventScript_FirstEntrance:: @ 8275B81
+ applymovement EVENT_OBJ_ID_PLAYER, SecretBase_Movement_275BB4
waitmovement 0
setvar VAR_INIT_SECRET_BASE, 1
- msgbox SecretBase_RedCave1_Text_23B759, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275BAB
+ msgbox SecretBase_Text_WantToMakeYourSecretBaseHere, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq SecretBase_EventScript_SetAsBase
closemessage
playse SE_KAIDAN
special ClearAndLeaveSecretBase
end
-SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB
+SecretBase_EventScript_SetAsBase:: @ 8275BAB
closemessage
setflag FLAG_RECEIVED_SECRET_POWER
special EnterNewlyCreatedSecretBase
waitstate
end
-SecretBase_RedCave1_Movement_275BB4: @ 8275BB4
+SecretBase_Movement_275BB4: @ 8275BB4
walk_up
walk_up
step_end
-EventScript_275BB7:: @ 8275BB7
+SecretBase_EventScript_Enter:: @ 8275BB7
lockall
setvar VAR_INIT_SECRET_BASE, 1
playse SE_KAIDAN
special IsCurSecretBaseOwnedByAnotherPlayer
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275BDB
+ compare VAR_RESULT, FALSE
+ goto_if_eq SecretBase_EventScript_EnterPlayersBase
clearflag FLAG_DECORATION_0
special EnterSecretBase
setvar VAR_SECRET_BASE_INITIALIZED, 0
waitstate
end
-EventScript_275BDB:: @ 8275BDB
+SecretBase_EventScript_EnterPlayersBase:: @ 8275BDB
setflag FLAG_DECORATION_0
special EnterSecretBase
setvar VAR_SECRET_BASE_INITIALIZED, 0
waitstate
end
-EventScript_275BE8:: @ 8275BE8
+SecretBase_EventScript_AlreadyHasSecretBase:: @ 8275BE8
checkpartymove MOVE_SECRET_POWER
- compare VAR_RESULT, 6
- goto_if_eq EventScript_275C9A
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq SecretBase_EventScript_NoSecretPower
setfieldeffectargument 0, VAR_RESULT
setorcopyvar VAR_0x8004, VAR_RESULT
lockall
special GetSecretBaseNearbyMapName
- msgbox Text_276A3D, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- msgbox Text_2766AA, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
- fadescreenswapbuffers 1
+ msgbox SecretBase_Text_WouldYouLikeToMoveBases, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ fadescreenswapbuffers FADE_TO_BLACK
special MoveOutOfSecretBaseFromOutside
closemessage
- fadescreenswapbuffers 0
- msgbox Text_276A95, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq EventScript_275CDE
+ fadescreenswapbuffers FADE_FROM_BLACK
+ msgbox SecretBase_Text_MovingCompletedUseSecretPower, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_CancelOnEntrance
bufferpartymonnick 0, VAR_0x8004
buffermovename 1, MOVE_SECRET_POWER
- msgbox Text_MonUsedHM, MSGBOX_DEFAULT
+ msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
closemessage
- compare VAR_0x8007, 1
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 2
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 3
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 4
- goto_if_eq EventScript_275A86
- compare VAR_0x8007, 5
- goto_if_eq EventScript_275ADF
- compare VAR_0x8007, 6
- goto_if_eq EventScript_275B38
+ compare VAR_0x8007, SECRET_BASE_RED_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
+ goto_if_eq SecretBase_EventScript_CaveUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_TREE
+ goto_if_eq SecretBase_EventScript_TreeUseSecretPower
+ compare VAR_0x8007, SECRET_BASE_SHRUB
+ goto_if_eq SecretBase_EventScript_ShrubUseSecretPower
releaseall
end
-EventScript_275C9A:: @ 8275C9A
+SecretBase_EventScript_NoSecretPower:: @ 8275C9A
lockall
- compare VAR_0x8007, 1
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 2
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 3
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 4
- goto_if_eq EventScript_275A91
- compare VAR_0x8007, 5
- goto_if_eq EventScript_275AEA
- compare VAR_0x8007, 6
- goto_if_eq EventScript_275B43
- end
-
-EventScript_275CDE:: @ 8275CDE
+ compare VAR_0x8007, SECRET_BASE_RED_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
+ goto_if_eq SecretBase_EventScript_CaveNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_TREE
+ goto_if_eq SecretBase_EventScript_TreeNoSecretPower
+ compare VAR_0x8007, SECRET_BASE_SHRUB
+ goto_if_eq SecretBase_EventScript_ShrubNoSecretPower
+ end
+
+SecretBase_EventScript_CancelOnEntrance:: @ 8275CDE
closemessage
releaseall
end
-LittlerootTown_BrendansHouse_2F_EventScript_275CE1:: @ 8275CE1
-LittlerootTown_MaysHouse_2F_EventScript_275CE1:: @ 8275CE1
-SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1
+SecretBase_EventScript_SetDecorationFlags:: @ 8275CE1
setflag FLAG_DECORATION_1
setflag FLAG_DECORATION_2
setflag FLAG_DECORATION_3
@@ -566,518 +279,505 @@ SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1
setflag FLAG_DECORATION_14
return
-EventScript_275D0C:: @ 8275D0C
+SecretBase_EventScript_InitDecorations:: @ 8275D0C
setvar VAR_0x8004, 0
setvar VAR_0x8005, 0
special InitSecretBaseDecorationSprites
setvar VAR_SECRET_BASE_INITIALIZED, 1
end
-EventScript_275D1F:: @ 8275D1F
+SecretBase_EventScript_SetDecoration:: @ 8275D1F
setvar VAR_0x8005, 0
- goto EventScript_275D2A
+ goto SecretBase_EventScript_SetDecoration2
end
-EventScript_275D2A:: @ 8275D2A
- special sub_8127E18
+SecretBase_EventScript_SetDecoration2:: @ 8275D2A
+ special SetDecoration
end
-EventScript_275D2E:: @ 8275D2E
+SecretBase_EventScript_PutAwayDecoration:: @ 8275D2E
setvar VAR_0x8004, 0
- goto EventScript_275D39
+ goto SecretBase_EventScript_PutAwayDecorationLoop
end
-EventScript_275D39:: @ 8275D39
+SecretBase_EventScript_PutAwayDecorationLoop:: @ 8275D39
special sub_8129708
compare VAR_RESULT, 1
- goto_if_eq EventScript_275D63
+ goto_if_eq SecretBase_EventScript_PutAwayDecorationEnd
addvar VAR_0x8004, 1
compare VAR_0x8005, 0
- goto_if_eq EventScript_275D39
+ goto_if_eq SecretBase_EventScript_PutAwayDecorationLoop
removeobject VAR_0x8006
- setflag 0x8005
- goto EventScript_275D39
- end
-
-EventScript_275D63:: @ 8275D63
- end
-
-SecretBase_BlueCave1_EventScript_275D64:: @ 8275D64
-SecretBase_BlueCave2_EventScript_275D64:: @ 8275D64
-SecretBase_BlueCave3_EventScript_275D64:: @ 8275D64
-SecretBase_BlueCave4_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave1_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave2_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave3_EventScript_275D64:: @ 8275D64
-SecretBase_BrownCave4_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave1_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave2_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave3_EventScript_275D64:: @ 8275D64
-SecretBase_RedCave4_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub1_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub2_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub3_EventScript_275D64:: @ 8275D64
-SecretBase_Shrub4_EventScript_275D64:: @ 8275D64
-SecretBase_Tree1_EventScript_275D64:: @ 8275D64
-SecretBase_Tree2_EventScript_275D64:: @ 8275D64
-SecretBase_Tree3_EventScript_275D64:: @ 8275D64
-SecretBase_Tree4_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64
-SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64
- special GetSecretBaseOwnerInteractionState
+ setflag 0x8005 @ UB: GF likely meant setvar here; setflag 0x8005 is out of bounds
+ goto SecretBase_EventScript_PutAwayDecorationLoop
+ end
+
+SecretBase_EventScript_PutAwayDecorationEnd:: @ 8275D63
+ end
+
+SecretBase_EventScript_RecordMixTrainer:: @ 8275D64
+ special GetSecretBaseOwnerAndState
compare VAR_0x8004, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275DD6
+ goto_if_eq SecretBase_EventScript_Trainer0
compare VAR_0x8004, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275E4E
+ goto_if_eq SecretBase_EventScript_Trainer1
compare VAR_0x8004, 2
- goto_if_eq SecretBase_RedCave1_EventScript_275EC6
+ goto_if_eq SecretBase_EventScript_Trainer2
compare VAR_0x8004, 3
- goto_if_eq SecretBase_RedCave1_EventScript_275F3E
+ goto_if_eq SecretBase_EventScript_Trainer3
compare VAR_0x8004, 4
- goto_if_eq SecretBase_RedCave1_EventScript_275FB6
+ goto_if_eq SecretBase_EventScript_Trainer4
compare VAR_0x8004, 5
- goto_if_eq SecretBase_RedCave1_EventScript_27602E
+ goto_if_eq SecretBase_EventScript_Trainer5
compare VAR_0x8004, 6
- goto_if_eq SecretBase_RedCave1_EventScript_2760A6
+ goto_if_eq SecretBase_EventScript_Trainer6
compare VAR_0x8004, 7
- goto_if_eq SecretBase_RedCave1_EventScript_27611E
+ goto_if_eq SecretBase_EventScript_Trainer7
compare VAR_0x8004, 8
- goto_if_eq SecretBase_RedCave1_EventScript_276196
+ goto_if_eq SecretBase_EventScript_Trainer8
compare VAR_0x8004, 9
- goto_if_eq SecretBase_RedCave1_EventScript_27620E
+ goto_if_eq SecretBase_EventScript_Trainer9
end
-SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer0:: @ 8275DD6
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E25
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer0PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275E44
- msgbox SecretBase_RedCave1_Text_2748A0, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275E2F
+ goto_if_eq SecretBase_EventScript_Trainer0PostBattle
+ msgbox SecretBase_Text_Trainer0Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275E2F
- msgbox SecretBase_RedCave1_Text_274939, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle
+ msgbox SecretBase_Text_Trainer0AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_275E25:: @ 8275E25
- msgbox SecretBase_RedCave1_Text_2749ED, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer0PreChampion:: @ 8275E25
+ msgbox SecretBase_Text_Trainer0PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275E2F:: @ 8275E2F
- special sub_80EB300
+SecretBase_EventScript_Trainer0DeclineBattle:: @ 8275E2F
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_27494D, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer0DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275E44:: @ 8275E44
- msgbox SecretBase_RedCave1_Text_2749AA, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer0PostBattle:: @ 8275E44
+ msgbox SecretBase_Text_Trainer0PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer1:: @ 8275E4E
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E9D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer1PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275EBC
- msgbox SecretBase_RedCave1_Text_274C13, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275EA7
+ goto_if_eq SecretBase_EventScript_Trainer1PostBattle
+ msgbox SecretBase_Text_Trainer1Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275EA7
- msgbox SecretBase_RedCave1_Text_274CB0, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle
+ msgbox SecretBase_Text_Trainer1AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_275E9D:: @ 8275E9D
- msgbox SecretBase_RedCave1_Text_274D69, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer1PreChampion:: @ 8275E9D
+ msgbox SecretBase_Text_Trainer1PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275EA7:: @ 8275EA7
- special sub_80EB300
+SecretBase_EventScript_Trainer1DeclineBattle:: @ 8275EA7
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274CDA, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer1DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC
- msgbox SecretBase_RedCave1_Text_274D34, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer1PostBattle:: @ 8275EBC
+ msgbox SecretBase_Text_Trainer1PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer2:: @ 8275EC6
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F15
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer2PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275F34
- msgbox SecretBase_RedCave1_Text_274F39, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F1F
+ goto_if_eq SecretBase_EventScript_Trainer2PostBattle
+ msgbox SecretBase_Text_Trainer2Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F1F
- msgbox SecretBase_RedCave1_Text_274FCA, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle
+ msgbox SecretBase_Text_Trainer2AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_275F15:: @ 8275F15
- msgbox SecretBase_RedCave1_Text_2750A4, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer2PreChampion:: @ 8275F15
+ msgbox SecretBase_Text_Trainer2PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275F1F:: @ 8275F1F
- special sub_80EB300
+SecretBase_EventScript_Trainer2DeclineBattle:: @ 8275F1F
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274FDA, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer2DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275F34:: @ 8275F34
- msgbox SecretBase_RedCave1_Text_27502A, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer2PostBattle:: @ 8275F34
+ msgbox SecretBase_Text_Trainer2PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer3:: @ 8275F3E
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F8D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer3PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_275FAC
- msgbox SecretBase_RedCave1_Text_275287, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F97
+ goto_if_eq SecretBase_EventScript_Trainer3PostBattle
+ msgbox SecretBase_Text_Trainer3Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_275F97
- msgbox SecretBase_RedCave1_Text_275315, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle
+ msgbox SecretBase_Text_Trainer3AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_275F8D:: @ 8275F8D
- msgbox SecretBase_RedCave1_Text_2753AB, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer3PreChampion:: @ 8275F8D
+ msgbox SecretBase_Text_Trainer3PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275F97:: @ 8275F97
- special sub_80EB300
+SecretBase_EventScript_Trainer3DeclineBattle:: @ 8275F97
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_275330, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer3DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC
- msgbox SecretBase_RedCave1_Text_275374, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer3PostBattle:: @ 8275FAC
+ msgbox SecretBase_Text_Trainer3PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer4:: @ 8275FB6
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_276005
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer4PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_276024
- msgbox SecretBase_RedCave1_Text_2755D2, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_27600F
+ goto_if_eq SecretBase_EventScript_Trainer4PostBattle
+ msgbox SecretBase_Text_Trainer4Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_27600F
- msgbox SecretBase_RedCave1_Text_275679, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle
+ msgbox SecretBase_Text_Trainer4AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_276005:: @ 8276005
- msgbox SecretBase_RedCave1_Text_27571E, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer4PreChampion:: @ 8276005
+ msgbox SecretBase_Text_Trainer4PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_27600F:: @ 827600F
- special sub_80EB300
+SecretBase_EventScript_Trainer4DeclineBattle:: @ 827600F
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_275696, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer4DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276024:: @ 8276024
- msgbox SecretBase_RedCave1_Text_2756EF, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer4PostBattle:: @ 8276024
+ msgbox SecretBase_Text_Trainer4PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_27602E:: @ 827602E
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer5:: @ 827602E
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27607D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer5PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_27609C
- msgbox SecretBase_RedCave1_Text_274A64, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276087
+ goto_if_eq SecretBase_EventScript_Trainer5PostBattle
+ msgbox SecretBase_Text_Trainer5Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276087
- msgbox SecretBase_RedCave1_Text_274AFA, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle
+ msgbox SecretBase_Text_Trainer5AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_27607D:: @ 827607D
- msgbox SecretBase_RedCave1_Text_274BA2, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer5PreChampion:: @ 827607D
+ msgbox SecretBase_Text_Trainer5PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276087:: @ 8276087
- special sub_80EB300
+SecretBase_EventScript_Trainer5DeclineBattle:: @ 8276087
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274B0B, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer5DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_27609C:: @ 827609C
- msgbox SecretBase_RedCave1_Text_274B6C, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer5PostBattle:: @ 827609C
+ msgbox SecretBase_Text_Trainer5PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer6:: @ 82760A6
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2760F5
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer6PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_276114
- msgbox SecretBase_RedCave1_Text_274DD2, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2760FF
+ goto_if_eq SecretBase_EventScript_Trainer6PostBattle
+ msgbox SecretBase_Text_Trainer6Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2760FF
- msgbox SecretBase_RedCave1_Text_274E41, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle
+ msgbox SecretBase_Text_Trainer6AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_2760F5:: @ 82760F5
- msgbox SecretBase_RedCave1_Text_274EF1, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer6PreChampion:: @ 82760F5
+ msgbox SecretBase_Text_Trainer6PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_2760FF:: @ 82760FF
- special sub_80EB300
+SecretBase_EventScript_Trainer6DeclineBattle:: @ 82760FF
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274E5A, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer6DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276114:: @ 8276114
- msgbox SecretBase_RedCave1_Text_274EB3, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer6PostBattle:: @ 8276114
+ msgbox SecretBase_Text_Trainer6PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_27611E:: @ 827611E
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer7:: @ 827611E
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27616D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer7PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_27618C
- msgbox SecretBase_RedCave1_Text_275114, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276177
+ goto_if_eq SecretBase_EventScript_Trainer7PostBattle
+ msgbox SecretBase_Text_Trainer7Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276177
- msgbox SecretBase_RedCave1_Text_2751AF, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle
+ msgbox SecretBase_Text_Trainer7AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_27616D:: @ 827616D
- msgbox SecretBase_RedCave1_Text_275226, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer7PreChampion:: @ 827616D
+ msgbox SecretBase_Text_Trainer7PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276177:: @ 8276177
- special sub_80EB300
+SecretBase_EventScript_Trainer7DeclineBattle:: @ 8276177
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_2751CA, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer7DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_27618C:: @ 827618C
- msgbox SecretBase_RedCave1_Text_2751EC, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer7PostBattle:: @ 827618C
+ msgbox SecretBase_Text_Trainer7PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276196:: @ 8276196
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer8:: @ 8276196
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2761E5
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer8PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_276204
- msgbox SecretBase_RedCave1_Text_275405, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2761EF
+ goto_if_eq SecretBase_EventScript_Trainer8PostBattle
+ msgbox SecretBase_Text_Trainer8Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_2761EF
- msgbox SecretBase_RedCave1_Text_2754B2, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle
+ msgbox SecretBase_Text_Trainer8AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_2761E5:: @ 82761E5
- msgbox SecretBase_RedCave1_Text_275546, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer8PreChampion:: @ 82761E5
+ msgbox SecretBase_Text_Trainer8PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_2761EF:: @ 82761EF
- special sub_80EB300
+SecretBase_EventScript_Trainer8DeclineBattle:: @ 82761EF
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_2754D8, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer8DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276204:: @ 8276204
- msgbox SecretBase_RedCave1_Text_27550C, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer8PostBattle:: @ 8276204
+ msgbox SecretBase_Text_Trainer8PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_27620E:: @ 827620E
+@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
+SecretBase_EventScript_Trainer9:: @ 827620E
lock
faceplayer
- goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27625D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer9PreChampion
compare VAR_RESULT, 1
- goto_if_eq SecretBase_RedCave1_EventScript_27627C
- msgbox SecretBase_RedCave1_Text_2757B5, MSGBOX_YESNO
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276267
+ goto_if_eq SecretBase_EventScript_Trainer9PostBattle
+ msgbox SecretBase_Text_Trainer9Intro, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle
setvar VAR_RESULT, 1
- special sub_80EA30C
+ special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
compare VAR_RESULT, 0
- goto_if_eq SecretBase_RedCave1_EventScript_276267
- msgbox SecretBase_RedCave1_Text_275884, MSGBOX_DEFAULT
- goto SecretBase_RedCave1_EventScript_276286
+ goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle
+ msgbox SecretBase_Text_Trainer9AcceptBattle, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_BattleTrainer
end
-SecretBase_RedCave1_EventScript_27625D:: @ 827625D
- msgbox SecretBase_RedCave1_Text_275944, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer9PreChampion:: @ 827625D
+ msgbox SecretBase_Text_Trainer9PreChampion, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276267:: @ 8276267
- special sub_80EB300
+SecretBase_EventScript_Trainer9DeclineBattle:: @ 8276267
+ special DeclinedSecretBaseBattle
setvar VAR_RESULT, 0
- special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_27589D, MSGBOX_DEFAULT
+ special SetBattledOwnerFromResult
+ msgbox SecretBase_Text_Trainer9DeclineBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_27627C:: @ 827627C
- msgbox SecretBase_RedCave1_Text_275909, MSGBOX_DEFAULT
+SecretBase_EventScript_Trainer9PostBattle:: @ 827627C
+ msgbox SecretBase_Text_Trainer9PostBattle, MSGBOX_DEFAULT
release
end
-SecretBase_RedCave1_EventScript_276286:: @ 8276286
+SecretBase_EventScript_BattleTrainer:: @ 8276286
special PrepSecretBaseBattleFlags
setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
- compare VAR_RESULT, 3
- call_if_eq SecretBase_RedCave1_EventScript_2762BD
- compare VAR_RESULT, 1
- call_if_eq SecretBase_RedCave1_EventScript_2762C1
- compare VAR_RESULT, 2
- call_if_eq SecretBase_RedCave1_EventScript_2762C5
+ compare VAR_RESULT, B_OUTCOME_DREW
+ call_if_eq SecretBase_EventScript_DrewSecretBaseBattle
+ compare VAR_RESULT, B_OUTCOME_WON
+ call_if_eq SecretBase_EventScript_WonSecretBaseBattle
+ compare VAR_RESULT, B_OUTCOME_LOST
+ call_if_eq SecretBase_EventScript_LostSecretBaseBattle
special HealPlayerParty
release
end
-SecretBase_RedCave1_EventScript_2762BD:: @ 82762BD
- special sub_80EB438
+SecretBase_EventScript_DrewSecretBaseBattle:: @ 82762BD
+ special DrewSecretBaseBattle
return
-SecretBase_RedCave1_EventScript_2762C1:: @ 82762C1
- special sub_80EB368
+SecretBase_EventScript_WonSecretBaseBattle:: @ 82762C1
+ special WonSecretBaseBattle
return
-SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5
- special sub_80EB3D0
+SecretBase_EventScript_LostSecretBaseBattle:: @ 82762C5
+ special LostSecretBaseBattle
return
.include "data/scripts/secret_power_tm.inc"
SecretBase_EventScript_DollInteract:: @ 82766A2
- special sub_80EB290
+ special CheckInteractedWithFriendsDollDecor
end
SecretBase_EventScript_CushionInteract:: @ 82766A6
- special sub_80EB2C8
+ special CheckInteractedWithFriendsCushionDecor
end
-Text_2766AA: @ 82766AA
+SecretBase_Text_AllDecorationsWillBeReturned: @ 82766AA
.string "All decorations and furniture in your\n"
.string "SECRET BASE will be returned to your PC.\p"
.string "Is that okay?$"
-Text_WantToRegisterSecretBase: @ 8276707
+SecretBase_Text_WantToRegisterSecretBase: @ 8276707
.string "Do you want to register\n"
.string "{STR_VAR_1}'s SECRET BASE?$"
-Text_276731: @ 8276731
+SecretBase_Text_AlreadyRegisteredDelete: @ 8276731
.string "This data is already registered.\n"
.string "Would you like to delete it?$"
-Text_TooManyBasesDeleteSome: @ 827676F
+SecretBase_Text_TooManyBasesDeleteSome: @ 827676F
.string "Up to 10 locations can be registered.\p"
.string "Delete a location if you want to\n"
.string "register another location.$"
-Text_2767D1: @ 82767D1
+SecretBase_Text_RegistrationCompleted: @ 82767D1
.string "Registration completed.$"
-Text_2767E9: @ 82767E9
+SecretBase_Text_DataUnregistered: @ 82767E9
.string "Data has been unregistered.$"
-Text_SecretBaseBootUpPC: @ 8276805
+SecretBase_Text_BootUpPC: @ 8276805
.string "{PLAYER} booted up the PC.$"
-Text_SecretBasePCStartMenu: @ 827681A
+SecretBase_Text_WhatWouldYouLikeToDo: @ 827681A
.string "What would you like to do?$"
-Text_276835: @ 8276835
+SecretBase_Text_RegistryInfo: @ 8276835
.string "Once registered, a SECRET BASE will not\n"
.string "disappear unless the other TRAINER\l"
.string "moves it to a different location.\p"
@@ -1087,27 +787,27 @@ Text_276835: @ 8276835
.string "Up to ten SECRET BASE locations\n"
.string "may be registered.$"
-Text_27692B: @ 827692B
+SecretBase_Text_BattleTowerShield: @ 827692B
.string "A shield of {STR_VAR_2} that marks winning\n"
.string "{STR_VAR_1} times in a row at the BATTLE TOWER.$"
-Text_276974: @ 8276974
+SecretBase_Text_ToyTV: @ 8276974
.string "A realistic toy TV. It could be easily\n"
.string "mistaken for the real thing.$"
-Text_2769B8: @ 82769B8
+SecretBase_Text_SeedotTV: @ 82769B8
.string "A toy TV shaped like a SEEDOT.\n"
.string "It looks ready to roll away on its own…$"
-Text_2769FF: @ 82769FF
+SecretBase_Text_SkittyTV: @ 82769FF
.string "A toy TV shaped like a SKITTY.\n"
.string "It looks ready to stroll away…$"
-Text_276A3D: @ 8276A3D
+SecretBase_Text_WouldYouLikeToMoveBases: @ 8276A3D
.string "You may only make one SECRET BASE.\p"
.string "Would you like to move from the SECRET\n"
.string "BASE near {STR_VAR_1}?$"
-Text_276A95: @ 8276A95
+SecretBase_Text_MovingCompletedUseSecretPower: @ 8276A95
.string "Moving completed.\p"
.string "Would you like to use the SECRET POWER?$"
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
index 647064829..6684ec98b 100644
--- a/data/scripts/secret_power_tm.inc
+++ b/data/scripts/secret_power_tm.inc
@@ -1,4 +1,4 @@
-Route111_Text_2762C9: @ 82762C9
+Route111_Text_MakingRoomUseTMToMakeYourOwn: @ 82762C9
.string "What's that?\n"
.string "What am I doing?\p"
.string "I'm thinking about making my own room\n"
@@ -6,7 +6,7 @@ Route111_Text_2762C9: @ 82762C9
.string "I know! I'll give you this TM.\n"
.string "Will you use it to make your own room?$"
-Route111_Text_27636E: @ 827636E
+Route111_Text_ExplainSecretPower: @ 827636E
.string "Find a big tree that looks like it might\n"
.string "drop some vines.\p"
.string "Use SECRET POWER in front of the tree.\n"
@@ -24,59 +24,59 @@ Route111_Text_27636E: @ 827636E
.string "I'm going to look for other places, too.\n"
.string "Okay, bye!$"
-Route111_Text_27655C: @ 827655C
+Route111_Text_DontWantThis: @ 827655C
.string "Oh, you don't want this?\n"
.string "If you change your mind, tell me, okay?$"
-Route111_Text_27659D: @ 827659D
+Route111_Text_DontHaveAnyRoom: @ 827659D
.string "Oh, you don't have any room for this.\p"
.string "I'll hold on to it, so come back for it\n"
.string "another time, okay?$"
-Route111_EventScript_2765FF:: @ 82765FF
+Route111_EventScript_SecretPowerMan:: @ 82765FF
lock
faceplayer
- msgbox Route111_Text_2762C9, MSGBOX_YESNO
- compare VAR_RESULT, 1
- goto_if_eq Route111_EventScript_27661E
- msgbox Route111_Text_27655C, MSGBOX_DEFAULT
+ msgbox Route111_Text_MakingRoomUseTMToMakeYourOwn, MSGBOX_YESNO
+ compare VAR_RESULT, YES
+ goto_if_eq Route111_EventScript_GiveSecretPower
+ msgbox Route111_Text_DontWantThis, MSGBOX_DEFAULT
release
end
-Route111_EventScript_27661E:: @ 827661E
- giveitem_std ITEM_TM43
- compare VAR_RESULT, 0
- goto_if_eq Route111_EventScript_276680
- msgbox Route111_Text_27636E, MSGBOX_DEFAULT
+Route111_EventScript_GiveSecretPower:: @ 827661E
+ giveitem ITEM_TM43
+ compare VAR_RESULT, FALSE
+ goto_if_eq Route111_EventScript_NoRoomForSecretPower
+ msgbox Route111_Text_ExplainSecretPower, MSGBOX_DEFAULT
closemessage
setflag FLAG_RECEIVED_SECRET_POWER
clearflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
- compare VAR_FACING, 3
- call_if_eq Route111_EventScript_27666A
- compare VAR_FACING, 4
- call_if_eq Route111_EventScript_27666A
- compare VAR_FACING, 2
- call_if_eq Route111_EventScript_276675
+ compare VAR_FACING, DIR_WEST
+ call_if_eq Route111_EventScript_SecretPowerManExit
+ compare VAR_FACING, DIR_EAST
+ call_if_eq Route111_EventScript_SecretPowerManExit
+ compare VAR_FACING, DIR_NORTH
+ call_if_eq Route111_EventScript_SecretPowerManExitNorth
removeobject VAR_LAST_TALKED
release
end
-Route111_EventScript_27666A:: @ 827666A
- applymovement VAR_LAST_TALKED, Route111_Movement_27668A
+Route111_EventScript_SecretPowerManExit:: @ 827666A
+ applymovement VAR_LAST_TALKED, Route111_Movement_SecretPowerManExit
waitmovement 0
return
-Route111_EventScript_276675:: @ 8276675
- applymovement VAR_LAST_TALKED, Route111_Movement_276696
+Route111_EventScript_SecretPowerManExitNorth:: @ 8276675
+ applymovement VAR_LAST_TALKED, Route111_Movement_SecretPowerManExitNorth
waitmovement 0
return
-Route111_EventScript_276680:: @ 8276680
- msgbox Route111_Text_27659D, MSGBOX_DEFAULT
+Route111_EventScript_NoRoomForSecretPower:: @ 8276680
+ msgbox Route111_Text_DontHaveAnyRoom, MSGBOX_DEFAULT
release
end
-Route111_Movement_27668A: @ 827668A
+Route111_Movement_SecretPowerManExit: @ 827668A
walk_down
walk_down
walk_down
@@ -90,7 +90,7 @@ Route111_Movement_27668A: @ 827668A
walk_down
step_end
-Route111_Movement_276696: @ 8276696
+Route111_Movement_SecretPowerManExitNorth: @ 8276696
walk_left
walk_down
walk_down
diff --git a/data/scripts/set_gym_trainers.inc b/data/scripts/set_gym_trainers.inc
new file mode 100644
index 000000000..1f5535805
--- /dev/null
+++ b/data/scripts/set_gym_trainers.inc
@@ -0,0 +1,92 @@
+Common_EventScript_SetGymTrainers:: @ 8271F43
+ switch VAR_0x8008
+ case 1, RusboroCity_Gym_SetGymTrainers
+ case 2, DewfordTown_Gym_SetGymTrainers
+ case 3, MauvilleCity_Gym_SetGymTrainers
+ case 4, LavaridgeTown_Gym_SetGymTrainers
+ case 5, PetalburgCity_Gym_SetGymTrainers
+ case 6, FortreeCity_Gym_SetGymTrainers
+ case 7, MossdeepCity_Gym_SetGymTrainers
+ case 8, SootopolisCity_Gym_SetGymTrainers
+ end
+
+RusboroCity_Gym_SetGymTrainers:: @ 8271FA1
+ settrainerflag TRAINER_JOSH
+ settrainerflag TRAINER_TOMMY
+ settrainerflag TRAINER_MARC
+ return
+
+DewfordTown_Gym_SetGymTrainers:: @ 8271FAB
+ settrainerflag TRAINER_TAKAO
+ settrainerflag TRAINER_JOCELYN
+ settrainerflag TRAINER_LAURA
+ settrainerflag TRAINER_BRENDEN
+ settrainerflag TRAINER_CRISTIAN
+ settrainerflag TRAINER_LILITH
+ return
+
+MauvilleCity_Gym_SetGymTrainers:: @ 8271FBE
+ settrainerflag TRAINER_KIRK
+ settrainerflag TRAINER_SHAWN
+ settrainerflag TRAINER_BEN
+ settrainerflag TRAINER_VIVIAN
+ settrainerflag TRAINER_ANGELO
+ return
+
+LavaridgeTown_Gym_SetGymTrainers:: @ 8271FCE
+ settrainerflag TRAINER_COLE
+ settrainerflag TRAINER_AXLE
+ settrainerflag TRAINER_KEEGAN
+ settrainerflag TRAINER_GERALD
+ settrainerflag TRAINER_DANIELLE
+ settrainerflag TRAINER_JACE
+ settrainerflag TRAINER_JEFF
+ settrainerflag TRAINER_ELI
+ return
+
+PetalburgCity_Gym_SetGymTrainers:: @ 8271FE7
+ settrainerflag TRAINER_RANDALL
+ settrainerflag TRAINER_PARKER
+ settrainerflag TRAINER_GEORGE
+ settrainerflag TRAINER_BERKE
+ settrainerflag TRAINER_MARY
+ settrainerflag TRAINER_ALEXIA
+ settrainerflag TRAINER_JODY
+ return
+
+FortreeCity_Gym_SetGymTrainers:: @ 8271FFD
+ settrainerflag TRAINER_JARED
+ settrainerflag TRAINER_FLINT
+ settrainerflag TRAINER_ASHLEY
+ settrainerflag TRAINER_EDWARDO
+ settrainerflag TRAINER_HUMBERTO
+ settrainerflag TRAINER_DARIUS
+ return
+
+MossdeepCity_Gym_SetGymTrainers:: @ 8272010
+ settrainerflag TRAINER_PRESTON
+ settrainerflag TRAINER_VIRGIL
+ settrainerflag TRAINER_BLAKE
+ settrainerflag TRAINER_HANNAH
+ settrainerflag TRAINER_SAMANTHA
+ settrainerflag TRAINER_MAURA
+ settrainerflag TRAINER_SYLVIA
+ settrainerflag TRAINER_NATE
+ settrainerflag TRAINER_KATHLEEN
+ settrainerflag TRAINER_CLIFFORD
+ settrainerflag TRAINER_MACEY
+ settrainerflag TRAINER_NICHOLAS
+ return
+
+SootopolisCity_Gym_SetGymTrainers:: @ 8272035
+ settrainerflag TRAINER_ANDREA
+ settrainerflag TRAINER_CRISSY
+ settrainerflag TRAINER_BRIANNA
+ settrainerflag TRAINER_CONNIE
+ settrainerflag TRAINER_BRIDGET
+ settrainerflag TRAINER_OLIVIA
+ settrainerflag TRAINER_TIFFANY
+ settrainerflag TRAINER_BETHANY
+ settrainerflag TRAINER_ANNIKA
+ settrainerflag TRAINER_DAPHNE
+ return
diff --git a/data/scripts/shared_secret_base.inc b/data/scripts/shared_secret_base.inc
new file mode 100644
index 000000000..0fa61a214
--- /dev/null
+++ b/data/scripts/shared_secret_base.inc
@@ -0,0 +1,224 @@
+SecretBase_MapScripts::
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_OnWarp
+ map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_OnFrame
+ map_script MAP_SCRIPT_ON_RESUME, SecretBase_OnResume
+ .byte 0
+
+SecretBase_OnWarp: @ 823B498
+ map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, SecretBase_EventScript_InitDecorations
+ .2byte 0
+
+SecretBase_OnTransition: @ 823B4A2
+ call SecretBase_EventScript_SetDecorationFlags
+ special SetSecretBaseOwnerGfxId
+ special InitSecretBaseVars
+ end
+
+SecretBase_OnFrame: @ 823B4AE
+ map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_EventScript_FirstEntrance
+ .2byte 0
+
+SecretBase_OnResume: @ 823B4B8
+ setstepcallback STEP_CB_SECRET_BASE
+ end
+
+SecretBase_EventScript_PC:: @ 823B4BB
+ lockall
+ playse SE_PC_LOGIN
+ message SecretBase_Text_BootUpPC
+ dofieldeffect FLDEFF_PCTURN_ON
+ waitstate
+ waitmessage
+ waitbuttonpress
+ playse SE_SELECT
+ goto SecretBase_EventScript_PCShowMainMenu
+ end
+
+SecretBase_EventScript_PCShowMainMenu:: @ 823B4D3
+ message SecretBase_Text_WhatWouldYouLikeToDo
+ waitmessage
+ goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, SecretBase_EventScript_PCMainMenuWithRegister
+ goto SecretBase_EventScript_PCMainMenuWithoutRegister
+ end
+
+SecretBase_EventScript_PCCancel:: @ 823B4E8
+ lockall
+ goto SecretBase_EventScript_PCShowMainMenu
+ end
+
+SecretBase_EventScript_PCMainMenuWithRegister:: @ 823B4EF
+ multichoice 0, 0, MULTI_BASE_PC_WITH_REGISTRY, 0
+ switch VAR_RESULT
+ case 0, SecretBase_EventScript_PCDecorationMenu
+ case 1, SecretBase_EventScript_PCPackUp
+ case 2, SecretBase_EventScript_PCRegistryMenu
+ case 3, SecretBase_EventScript_PCTurnOff
+ case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
+ end
+
+SecretBase_EventScript_PCMainMenuWithoutRegister:: @ 823B531
+ multichoice 0, 0, MULTI_BASE_PC_NO_REGISTRY, 0
+ switch VAR_RESULT
+ case 0, SecretBase_EventScript_PCDecorationMenu
+ case 1, SecretBase_EventScript_PCPackUp
+ case 2, SecretBase_EventScript_PCTurnOff
+ case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
+ end
+
+SecretBase_EventScript_PCPackUp:: @ 823B568
+ msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_PCShowMainMenu
+ closemessage
+ special MoveOutOfSecretBase
+ releaseall
+ end
+
+SecretBase_EventScript_PCDecorationMenu:: @ 823B581
+ special ShowSecretBaseDecorationMenu
+ end
+
+SecretBase_EventScript_PCRegistryMenu:: @ 823B585
+ special ShowSecretBaseRegistryMenu
+ end
+
+SecretBase_EventScript_RecordMixingPC:: @ 823B589
+ lockall
+ message SecretBase_Text_BootUpPC
+ playse SE_PC_LOGIN
+ dofieldeffect FLDEFF_PCTURN_ON
+ waitstate
+ waitmessage
+ waitbuttonpress
+ playse SE_SELECT
+ goto SecretBase_EventScript_PCRegisterMenu
+ end
+
+SecretBase_EventScript_PCRegisterMenu:: @ 823B5A1
+ message SecretBase_Text_WhatWouldYouLikeToDo
+ waitmessage
+ multichoice 0, 0, MULTI_REGISTER_MENU, 0
+ switch VAR_RESULT
+ case 0, SecretBase_EventScript_PCRegister
+ case 1, SecretBase_EventScript_PCRegistryMenu
+ case 2, SecretBase_EventScript_PCRegistryInfo
+ case 3, SecretBase_EventScript_PCTurnOff
+ case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
+ end
+
+SecretBase_EventScript_ShowRegisterMenu:: @ 823B5E9
+ lockall
+ goto SecretBase_EventScript_PCRegisterMenu
+ end
+
+SecretBase_EventScript_PCRegister:: @ 823B5F0
+ special GetCurSecretBaseRegistrationValidity
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_AlreadyRegistered
+ compare VAR_RESULT, 2
+ goto_if_eq SecretBase_EventScript_CantRegisterTooManyBases
+ special CopyCurSecretBaseOwnerName_StrVar1
+ msgbox SecretBase_Text_WantToRegisterSecretBase, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_PCRegisterMenu
+ msgbox SecretBase_Text_RegistrationCompleted, MSGBOX_SIGN
+ special ToggleCurSecretBaseRegistry
+ special DoSecretBasePCTurnOffEffect
+ releaseall
+ end
+
+SecretBase_EventScript_AlreadyRegistered:: @ 823B62F
+ msgbox SecretBase_Text_AlreadyRegisteredDelete, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq SecretBase_EventScript_PCRegisterMenu
+ msgbox SecretBase_Text_DataUnregistered, MSGBOX_SIGN
+ special ToggleCurSecretBaseRegistry
+ special DoSecretBasePCTurnOffEffect
+ releaseall
+ end
+
+SecretBase_EventScript_CantRegisterTooManyBases:: @ 823B652
+ msgbox SecretBase_Text_TooManyBasesDeleteSome, MSGBOX_SIGN
+ special DoSecretBasePCTurnOffEffect
+ closemessage
+ releaseall
+ end
+
+SecretBase_EventScript_PCRegistryInfo:: @ 823B660
+ msgbox SecretBase_Text_RegistryInfo, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_PCRegisterMenu
+ end
+
+SecretBase_EventScript_PCTurnOff:: @ 823B66E
+ special DoSecretBasePCTurnOffEffect
+ closemessage
+ releaseall
+ end
+
+@ Unused
+SecretBase_EventScript_Poster:: @ 823B674
+ special CheckInteractedWithFriendsPosterDecor
+ end
+
+@ Unused
+SecretBase_EventScript_FurnitureBottom:: @ 823B678
+ special CheckInteractedWithFriendsFurnitureBottom
+ end
+
+@ Unused
+SecretBase_EventScript_FurnitureMiddle:: @ 823B67C
+ special CheckInteractedWithFriendsFurnitureMiddle
+ end
+
+@ Unused
+SecretBase_EventScript_FurnitureTop:: @ 823B680
+ special CheckInteractedWithFriendsFurnitureTop
+ end
+
+SecretBase_EventScript_SandOrnament:: @ 823B684
+ special CheckInteractedWithFriendsSandOrnament
+ dofieldeffect FLDEFF_SAND_PILLAR
+ waitstate
+ end
+
+SecretBase_EventScript_ShieldOrToyTV:: @ 823B68C
+ special InteractWithShieldOrTVDecoration
+ compare VAR_RESULT, 0
+ goto_if_eq SecretBase_EventScript_BattleTowerShield
+ compare VAR_RESULT, 1
+ goto_if_eq SecretBase_EventScript_ToyTV
+ compare VAR_RESULT, 2
+ goto_if_eq SecretBase_EventScript_SeedotTV
+ compare VAR_RESULT, 3
+ goto_if_eq SecretBase_EventScript_SkittyTV
+ end
+
+SecretBase_EventScript_BattleTowerShield:: @ 823B6BC
+ msgbox SecretBase_Text_BattleTowerShield, MSGBOX_SIGN
+ end
+
+SecretBase_EventScript_ToyTV:: @ 823B6C5
+ msgbox SecretBase_Text_ToyTV, MSGBOX_SIGN
+ end
+
+SecretBase_EventScript_SeedotTV:: @ 823B6CE
+ msgbox SecretBase_Text_SeedotTV, MSGBOX_SIGN
+ end
+
+SecretBase_EventScript_SkittyTV:: @ 823B6D7
+ msgbox SecretBase_Text_SkittyTV, MSGBOX_SIGN
+ end
+
+SecretBase_Text_SmallIndentInWall:: @ 823B6E0
+ .string "There's a small indent in the wall.$"
+
+SecretBase_Text_IndentUseSecretPower:: @ 823B704
+ .string "There's a small indent in the wall.\p"
+ .string "Use the SECRET POWER?$"
+
+SecretBase_Text_DiscoveredSmallCavern:: @ 823B73E
+ .string "Discovered a small cavern!$"
+
+SecretBase_Text_WantToMakeYourSecretBaseHere: @ 823B759
+ .string "Want to make your SECRET BASE here?$"
diff --git a/data/scripts/std_msgbox.inc b/data/scripts/std_msgbox.inc
new file mode 100644
index 000000000..1d82bb381
--- /dev/null
+++ b/data/scripts/std_msgbox.inc
@@ -0,0 +1,48 @@
+Std_MsgboxNPC: @ 8271315
+ lock
+ faceplayer
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ release
+ return
+
+Std_MsgboxSign: @ 8271320
+ lockall
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ releaseall
+ return
+
+Std_MsgboxDefault: @ 827132A
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ return
+
+Std_MsgboxYesNo: @ 8271332
+ message 0x0
+ waitmessage
+ yesnobox 20, 8
+ return
+
+Std_MsgboxGetPoints: @ 827133C
+ message 0x0
+ playfanfare MUS_ME_POINTGET
+ waitfanfare
+ waitmessage
+ return
+
+Std_10: @ 8271347
+ pokenavcall 0x0
+ waitmessage
+ return
+
+EventScript_UnusedReturn: @ 827134E
+ return
+
+Common_EventScript_SaveGame:: @ 827134F
+ special SaveGame
+ waitstate
+ return
diff --git a/data/scripts/surf.inc b/data/scripts/surf.inc
new file mode 100644
index 000000000..af6cac1da
--- /dev/null
+++ b/data/scripts/surf.inc
@@ -0,0 +1,16 @@
+EventScript_UseSurf:: @ 8271EA0
+ checkpartymove MOVE_SURF
+ compare VAR_RESULT, PARTY_SIZE
+ goto_if_eq EventScript_EndUseSurf
+ bufferpartymonnick 0, VAR_RESULT
+ setfieldeffectargument 0, VAR_RESULT
+ lockall
+ msgbox gText_WantToUseSurf, MSGBOX_YESNO
+ compare VAR_RESULT, NO
+ goto_if_eq EventScript_ReleaseUseSurf
+ msgbox gText_PlayerUsedSurf, MSGBOX_DEFAULT
+ dofieldeffect FLDEFF_USE_SURF
+EventScript_ReleaseUseSurf:: @ 8271ED5
+ releaseall
+EventScript_EndUseSurf:: @ 8271ED6
+ end
diff --git a/data/scripts/test_signpost.inc b/data/scripts/test_signpost.inc
new file mode 100644
index 000000000..482fe18f2
--- /dev/null
+++ b/data/scripts/test_signpost.inc
@@ -0,0 +1,7 @@
+Text_ThisIsATestSignpostMsg:: @ 82C840A
+ .string "This is a test message.\n"
+ .string "This is a signpost.$"
+
+EventScript_TestSignpostMsg:: @ 82C8436
+ msgbox Text_ThisIsATestSignpostMsg, MSGBOX_SIGN
+ end
diff --git a/data/scripts/trainer_battle.inc b/data/scripts/trainer_battle.inc
index c205a9d22..d609fcc93 100644
--- a/data/scripts/trainer_battle.inc
+++ b/data/scripts/trainer_battle.inc
@@ -1,3 +1,7 @@
+EventScript_271354:: @ 8271354
+ cmdD8
+ cmdD9
+
EventScript_ShowSecondTrainerIntro:: @ 8271356
special SetUpTrainerEncounterMusic
special EndTrainerApproach
@@ -26,7 +30,7 @@ EventScript_TryDoDoubleTrainerBattle:: @ 827138A
compare VAR_RESULT, 0
goto_if_ne EventScript_NoDoubleTrainerBattle
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, 0
+ compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
goto_if_ne EventScript_NotEnoughMonsForDoubleBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
@@ -69,7 +73,7 @@ EventScript_TryDoDoubleRematchBattle:: @ 82713F8
compare VAR_RESULT, 0
goto_if_eq EventScript_NoDoubleRematchTrainerBattle
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, 0
+ compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
goto_if_ne EventScript_NotEnoughMonsForDoubleRematchBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
@@ -126,3 +130,10 @@ EventScript_EndTrainerBattle:: @ 8271491
gotobeatenscript
releaseall
end
+
+Std_MsgboxAutoclose:: @ 8271494
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ release
+ return
diff --git a/data/scripts/trainer_hill.inc b/data/scripts/trainer_hill.inc
new file mode 100644
index 000000000..ca692e1ef
--- /dev/null
+++ b/data/scripts/trainer_hill.inc
@@ -0,0 +1,70 @@
+TrainerHill_OnResume: @ 82C8336
+ setvar VAR_TEMP_2, 0
+ trainerhill_resumetimer
+ frontier_get FRONTIER_DATA_BATTLE_OUTCOME
+ compare VAR_RESULT, B_OUTCOME_LOST
+ goto_if_eq TrainerHill_1F_EventScript_Lost
+ compare VAR_RESULT, B_OUTCOME_DREW
+ goto_if_eq TrainerHill_1F_EventScript_Lost
+ compare VAR_RESULT, B_OUTCOME_FORFEITED
+ goto_if_eq TrainerHill_1F_EventScript_Lost
+ end
+
+TrainerHill_OnWarp: @ 82C8372
+ map_script_2 VAR_TEMP_3, 0, TrainerHill_1F_EventScript_DummyOnWarp
+ .2byte 0
+
+TrainerHill_1F_EventScript_DummyOnWarp:: @ 82C837C
+ setvar VAR_TEMP_3, 1
+@ forced stop
+
+TrainerHill_OnFrame: @ 82C8381
+ map_script_2 VAR_TEMP_2, 0, TrainerHill_1F_EventScript_DummyWarpToEntranceCounter
+ map_script_2 VAR_TEMP_1, 1, TrainerHill_EventScript_WarpToEntranceCounter
+ .2byte 0
+
+EventScript_TrainerHillTimer:: @ 82C8393
+ lockall
+ trainerhill_gettime
+ msgbox TrainerHill_Entrance_Text_ChallengeTime, MSGBOX_DEFAULT
+ releaseall
+ end
+
+TrainerHill_1F_EventScript_DummyWarpToEntranceCounter:: @ 82C83A6
+ setvar VAR_TEMP_2, 1
+ trainerhill_clearresult
+ compare VAR_RESULT, 1 @ VAR_RESULT always 0 here
+ goto_if_eq TrainerHill_1F_EventScript_WarpSilentToEntranceCounter
+ end
+
+@ Never reached
+TrainerHill_1F_EventScript_WarpSilentToEntranceCounter:: @ 82C83BF
+ warpsilent MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6
+ waitstate
+ end
+
+TrainerHill_1F_EventScript_Lost:: @ 82C83C9
+ trainerhill_settrainerflags
+ trainerhill_lost
+ setvar VAR_TEMP_1, 1
+ end
+
+TrainerHill_EventScript_WarpToEntranceCounter:: @ 82C83DF
+ setvar VAR_TEMP_1, 0
+ warp MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6
+ waitstate
+ end
+
+@ Unused
+TrainerHill_1F_Movement_SetInvisible:: @ 82C83EE
+ set_invisible
+ step_end
+
+@ TRAINER_PHILLIP is an actual Trainer on the SS Tidal, but is used as a placeholder here
+TrainerHill_EventScript_TrainerBattle:: @ 82C83F0
+ trainerbattle TRAINER_BATTLE_HILL, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText
+ trainerhill_postbattletext
+ waitmessage
+ waitbuttonpress
+ closemessage
+ end
diff --git a/data/scripts/trainer_script.inc b/data/scripts/trainer_script.inc
new file mode 100644
index 000000000..59577e8a8
--- /dev/null
+++ b/data/scripts/trainer_script.inc
@@ -0,0 +1,23 @@
+Std_RegisteredInMatchCall:: @ 82742C9
+ buffertrainerclassname 0, VAR_0x8000
+ buffertrainername 1, VAR_0x8000
+ closemessage
+ delay 30
+ playfanfare MUS_ME_TORE_EYE
+ msgbox gText_RegisteredTrainerinPokeNav, MSGBOX_DEFAULT
+ waitfanfare
+ closemessage
+ delay 30
+ return
+
+EventScript_TryGetTrainerScript:: @ 82742E6
+ special ShouldTryGetTrainerScript
+ compare VAR_RESULT, 1
+ goto_if_eq EventScript_GotoTrainerScript
+ releaseall
+ end
+
+EventScript_GotoTrainerScript:: @ 82742F6
+ gotobeatenscript
+ releaseall
+ end
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
index 4a276ffc0..a2d5473b1 100644
--- a/data/scripts/tv.inc
+++ b/data/scripts/tv.inc
@@ -1,50 +1,50 @@
EventScript_TV:: @ 827EE0B
lockall
- incrementgamestat 44
+ incrementgamestat GAME_STAT_WATCHED_TV
special ResetTVShowState
specialvar VAR_RESULT, CheckForBigMovieOrEmergencyNewsOnTV
compare VAR_RESULT, 2
- goto_if_eq EventScript_27EE9A
+ goto_if_eq EventScript_PlayersHouseMovie
compare VAR_RESULT, 1
- goto_if_eq EventScript_27EEA4
- goto_if_unset FLAG_SYS_TV_START, EventScript_27EE8A
- goto_if_set FLAG_SYS_TV_WATCH, EventScript_27EE8A
+ goto_if_eq EventScript_PlayersHouseLatiNewsFlash
+ goto_if_unset FLAG_SYS_TV_START, EventScript_MomDadMightLikeThis1
+ goto_if_set FLAG_SYS_TV_WATCH, EventScript_MomDadMightLikeThis1
specialvar VAR_RESULT, IsTVShowInSearchOfTrainersAiring
- compare VAR_RESULT, 1
- goto_if_eq EventScript_27EEFF
- goto EventScript_27EEE9
+ compare VAR_RESULT, TRUE
+ goto_if_eq EventScript_DoInSearchOfTrainers
+ goto EventScript_TryDoPokeNews
end
-EventScript_27EE54:: @ 827EE54
- specialvar VAR_0x8004, special_0x44
+EventScript_TryDoTVShow:: @ 827EE54
+ specialvar VAR_0x8004, GetRandomActiveShowIdx
compare VAR_0x8004, 255
- goto_if_eq EventScript_27EED8
- specialvar VAR_RESULT, special_0x4a
+ goto_if_eq EventScript_MomDadMightLikeThis2
+ specialvar VAR_RESULT, GetNextActiveShowIfMassOutbreak
compare VAR_RESULT, 255
- goto_if_eq EventScript_27EED8
+ goto_if_eq EventScript_MomDadMightLikeThis2
copyvar VAR_0x8004, VAR_RESULT
- specialvar VAR_RESULT, special_0x45
+ specialvar VAR_RESULT, GetSelectedTVShow
compare VAR_RESULT, 0
- goto_if_ne EventScript_27EEBA
+ goto_if_ne EventScript_DoTVShow
end
-EventScript_27EE8A:: @ 827EE8A
+EventScript_MomDadMightLikeThis1:: @ 827EE8A
special GetMomOrDadStringForTVMessage
- msgbox gUnknown_08272BCF, MSGBOX_DEFAULT
+ msgbox gText_MomOrDadMightLikeThisProgram, MSGBOX_DEFAULT
special TurnOffTVScreen
releaseall
end
-EventScript_27EE9A:: @ 827EE9A
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F0F, MSGBOX_DEFAULT
+EventScript_PlayersHouseMovie:: @ 827EE9A
+ msgbox PlayersHouse_1F_Text_TheresAMovieOnTV, MSGBOX_DEFAULT
releaseall
end
-EventScript_27EEA4:: @ 827EEA4
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT
- @ This is a junk call. Its input var (VAR_0x8004) hasn't been set, and
- @ It's called again when Mom actually asks for the color, overwriting
- @ whatever it does here.
+@ special InitRoamer is a junk call. Its input var (VAR_0x8004) hasn't been set, and
+@ It's called again when Mom actually asks for the color, overwriting
+@ whatever it does here.
+EventScript_PlayersHouseLatiNewsFlash:: @ 827EEA4
+ msgbox PlayersHouse_1F_Text_LatiEmergencyNewsFlash, MSGBOX_DEFAULT
special InitRoamer
clearflag FLAG_SYS_TV_LATIAS_LATIOS
setflag FLAG_LATIOS_OR_LATIAS_ROAMING
@@ -52,41 +52,41 @@ EventScript_27EEA4:: @ 827EEA4
releaseall
end
-EventScript_27EEBA:: @ 827EEBA
+EventScript_DoTVShow:: @ 827EEBA
special DoTVShow
waitmessage
waitbuttonpress
compare VAR_RESULT, 1
- goto_if_ne EventScript_27EEBA
- goto EventScript_27EED0
+ goto_if_ne EventScript_DoTVShow
+ goto EventScript_TurnOffTV
end
-EventScript_27EED0:: @ 827EED0
+EventScript_TurnOffTV:: @ 827EED0
special TurnOffTVScreen
setflag FLAG_SYS_TV_WATCH
releaseall
end
-EventScript_27EED8:: @ 827EED8
+EventScript_MomDadMightLikeThis2:: @ 827EED8
special GetMomOrDadStringForTVMessage
- msgbox gUnknown_08272BCF, MSGBOX_DEFAULT
- goto EventScript_27EED0
+ msgbox gText_MomOrDadMightLikeThisProgram, MSGBOX_DEFAULT
+ goto EventScript_TurnOffTV
end
-EventScript_27EEE9:: @ 827EEE9
+EventScript_TryDoPokeNews:: @ 827EEE9
special DoPokeNews
- compare VAR_RESULT, 0
- goto_if_eq EventScript_27EE54
+ compare VAR_RESULT, FALSE
+ goto_if_eq EventScript_TryDoTVShow
waitmessage
waitbuttonpress
- goto EventScript_27EED0
+ goto EventScript_TurnOffTV
end
-EventScript_27EEFF:: @ 827EEFF
+EventScript_DoInSearchOfTrainers:: @ 827EEFF
special DoTVShowInSearchOfTrainers
waitmessage
waitbuttonpress
compare VAR_RESULT, 0
- goto_if_eq EventScript_27EEFF
- goto EventScript_27EED0
+ goto_if_eq EventScript_DoInSearchOfTrainers
+ goto EventScript_TurnOffTV
end
diff --git a/data/smokescreen.s b/data/smokescreen.s
index aeb8e685b..3cd16ee13 100644
--- a/data/smokescreen.s
+++ b/data/smokescreen.s
@@ -13,11 +13,11 @@ gUnknown_0831C604:: @ 831C604
.byte 0x00, 0x00, 0x00, 0x00
.align 2
-gUnknown_0831C620:: @ 831C620
+gSmokescreenImpactSpriteSheet:: @ 831C620
obj_tiles gSmokescreenImpactTiles, 0x0180, 0xd6eb
.align 2
-gUnknown_0831C628:: @ 831C628
+gSmokescreenlImpactSpritePalette:: @ 831C628
obj_pal gSmokescreenImpactPalette, 0xd6eb
.align 2
@@ -48,8 +48,8 @@ gUnknown_0831C678:: @ 831C678
.4byte gUnknown_0831C668
.align 2
-gUnknown_0831C688:: @ 831C688
- spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, sub_80753B4
+gSmokescreenImpactSpriteTemplate:: @ 831C688
+ spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, SpriteCB_DestroySprite
.align 2
gSpriteSheet_EnemyShadow:: @ 831C6A0
diff --git a/data/specials.inc b/data/specials.inc
index ba93b098d..15d948211 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -10,8 +10,8 @@
gSpecials:: @ 81DBA64
def_special HealPlayerParty
def_special SetCableClubWarp
- def_special sub_80AF948
- def_special sub_80AF9F8
+ def_special DoCableClubWarp
+ def_special ReturnFromLinkRoom
def_special CleanupLinkRoomState
def_special ExitLinkRoom
def_special SetPlayerSecretBase
@@ -25,33 +25,33 @@ gSpecials:: @ 81DBA64
def_special ShowSecretBaseDecorationMenu
def_special ShowSecretBaseRegistryMenu
def_special PrepSecretBaseBattleFlags
- def_special GetSecretBaseOwnerInteractionState
+ def_special GetSecretBaseOwnerAndState
def_special InitSecretBaseDecorationSprites
- def_special sub_8127E18
- def_special sub_81297AC
+ def_special SetDecoration
+ def_special GetEventObjectLocalIdByFlag
def_special GetSecretBaseTypeInFrontOfPlayer
def_special SetSecretBaseOwnerGfxId
def_special sub_8129708
def_special EnterNewlyCreatedSecretBase
- def_special sub_80EA30C
+ def_special SetBattledOwnerFromResult
def_special DoSecretBasePCTurnOffEffect
def_special RecordMixingPlayerSpotTriggered
- def_special sub_80B2DA4
- def_special sub_80B2E4C
- def_special sub_80B2E74
+ def_special TryBattleLinkup
+ def_special TryTradeLinkup
+ def_special TryRecordMixLinkup
def_special sub_80B2EA8
def_special CloseLink
def_special ColosseumPlayerSpotTriggered
def_special PlayerEnteredTradeSeat
def_special nullsub_37
- def_special sub_80B3254
- def_special sub_80B2FD8
+ def_special CableClubSaveGame
+ def_special TryBerryBlenderLinkup
def_special GetLinkPartnerNames
def_special SpawnLinkPartnerEventObject
def_special SavePlayerParty
def_special LoadPlayerParty
def_special ChooseHalfPartyForBattle
- def_special sp02A_crash_sound
+ def_special Script_ShowLinkTrainerCard
def_special EventObjectInteractionGetBerryTreeData
def_special EventObjectInteractionGetBerryName
def_special EventObjectInteractionGetBerryCountString
@@ -76,38 +76,38 @@ gSpecials:: @ 81DBA64
def_special TurnOffTVScreen
def_special DoTVShow
def_special DoPokeNews
- def_special special_0x44
- def_special special_0x45
+ def_special GetRandomActiveShowIdx
+ def_special GetSelectedTVShow
def_special InterviewBefore
def_special InterviewAfter
- def_special sub_80EF8F8
+ def_special IsLeadMonNicknamedOrNotEnglish
def_special SetContestCategoryStringVarForInterview
- def_special special_0x4a
+ def_special GetNextActiveShowIfMassOutbreak
def_special TV_IsScriptShowKindAlreadyInQueue
def_special CheckForBigMovieOrEmergencyNewsOnTV
def_special GetMomOrDadStringForTVMessage
def_special ResetTVShowState
- def_special sub_80F831C
- def_special sub_80F84B0
+ def_special GetContestWinnerId
+ def_special GetContestPlayerId
def_special sub_80F8814
- def_special sub_80F834C
- def_special sub_80F8390
- def_special sub_80F8850
- def_special sub_80F82B4
+ def_special BufferContestWinnerTrainerName
+ def_special BufferContestWinnerMonName
+ def_special BufferContestTrainerAndMonNames
+ def_special GetContestMonConditionRanking
def_special SetContestTrainerGfxIds
- def_special sub_80F7F30
+ def_special TryEnterContestMon
def_special sub_80F8970
- def_special sub_80F8AFC
- def_special sub_80F82FC
- def_special sub_80F7F7C
- def_special sub_80F7FFC
- def_special sub_80F8D24
+ def_special SetLinkContestPlayerGfx
+ def_special GetContestMonCondition
+ def_special HasMonWonThisContestBefore
+ def_special GiveMonContestRibbon
+ def_special IsContestDebugActive
def_special GiveMonArtistRibbon
- def_special sub_80B3000
+ def_special TryContestGModeLinkup
def_special SaveGame
def_special DoWateringBerryTreeAnim
def_special ShowEasyChatScreen
- def_special sub_811EECC
+ def_special ShowEasyChatProfile
def_special ScrSpecial_GetCurrentMauvilleMan
def_special ScrSpecial_HasBardSongBeenChanged
def_special ScrSpecial_SaveBardSongLyrics
@@ -134,34 +134,34 @@ gSpecials:: @ 81DBA64
def_special CompareSeedotSize
def_special GetLotadSizeRecordInfo
def_special CompareLotadSize
- def_special TV_PutNameRaterShowOnTheAirIfNicknameChanged
- def_special TV_CopyNicknameToStringVar1AndEnsureTerminated
- def_special TV_CheckMonOTIDEqualsPlayerID
+ def_special TryPutNameRaterShowOnTheAir
+ def_special BufferMonNickname
+ def_special IsMonOTIDNotPlayers
def_special BufferTrendyPhraseString
def_special TrendyPhraseIsOld
- def_special sub_811EF6C
+ def_special BufferDeepLinkPhrase
def_special GetDewfordHallPaintingNameIndex
def_special SwapRegisteredBike
def_special CalculatePlayerPartyCount
def_special CountPartyNonEggMons
def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
- def_special sub_80F88E8
- def_special sub_80F88DC
- def_special sub_80F8864
+ def_special ShouldReadyContestArtist
+ def_special SaveMuseumContestPainting
+ def_special DoesContestCategoryHaveWinner
def_special CountPlayerContestPaintings
def_special ShowContestWinner
- def_special MauvilleGymSpecial2
- def_special MauvilleGymSpecial1
+ def_special MauvilleGymSetDefaultBarriers
+ def_special MauvilleGymPressSwitch
def_special ShowFieldMessageStringVar4
def_special DrawWholeMapView
def_special StorePlayerCoordsInVars
- def_special MauvilleGymSpecial3
- def_special PetalburgGymSpecial1
- def_special PetalburgGymSpecial2
+ def_special MauvilleGymDeactivatePuzzle
+ def_special PetalburgGymSlideOpenRoomDoors
+ def_special PetalburgGymUnlockRoomDoors
def_special GetPlayerTrainerIdOnesDigit
def_special GetPlayerBigGuyGirlString
def_special GetRivalSonDaughterString
- def_special SetFlagInVar
+ def_special SetHiddenItemFlag
def_special CableCarWarp
def_special CableCar
def_special Overworld_PlaySpecialMapMusic
@@ -170,18 +170,18 @@ gSpecials:: @ 81DBA64
def_special ChooseStarter
def_special StartWallyTutorialBattle
def_special ChangePokemonNickname
- def_special sub_81B94B0
+ def_special ChoosePartyMon
def_special GetFirstFreePokeblockSlot
def_special DoBerryBlending
def_special PlayRoulette
- def_special ShouldMoveLilycoveFanClubMember
- def_special GetNumMovedLilycoveFanClubMembers
- def_special BufferStreakTrainerText
- def_special sub_813BA30
- def_special UpdateMovedLilycoveFanClubMembers
- def_special sub_813BF60
- def_special sub_813BA60
- def_special sub_813BF7C
+ def_special IsFanClubMemberFanOfPlayer
+ def_special GetNumFansOfPlayerInTrainerFanClub
+ def_special BufferFanClubTrainerName
+ def_special TryLoseFansFromPlayTimeAfterLinkBattle
+ def_special TryLoseFansFromPlayTime
+ def_special SetPlayerGotFirstFans
+ def_special UpdateTrainerFanClubGameClear
+ def_special Script_TryGainNewFanFromCounter
def_special RockSmashWildEncounter
def_special GabbyAndTyGetBattleNum
def_special GabbyAndTyAfterInterview
@@ -197,7 +197,7 @@ gSpecials:: @ 81DBA64
def_special RejectEggFromDayCare
def_special GiveEggFromDaycare
def_special SetDaycareCompatibilityString
- def_special GetSelectedMonNickAndSpecies
+ def_special GetSelectedMonNicknameAndSpecies
def_special StoreSelectedPokemonInDaycare
def_special ChooseSendDaycareMon
def_special ShowDaycareLevelMenu
@@ -206,12 +206,12 @@ gSpecials:: @ 81DBA64
def_special TakePokemonFromDaycare
def_special ScriptHatchMon
def_special EggHatch
- def_special sub_8071614
+ def_special CheckDaycareMonReceivedMail
def_special ShowLinkBattleRecords
def_special IsEnoughForCostInVar0x8005
def_special SubtractMoneyFromVar0x8005
- def_special ExecuteWhiteOut
- def_special sp0C8_whiteout_maybe
+ def_special TryFieldPoisonWhiteOut
+ def_special SetCB2WhiteOut
def_special RotatingGate_InitPuzzle
def_special RotatingGate_InitPuzzleAndGraphics
def_special SetSSTidalFlag
@@ -227,14 +227,14 @@ gSpecials:: @ 81DBA64
def_special ShowPokedexRatingMessage
def_special DoPCTurnOnEffect
def_special DoPCTurnOffEffect
- def_special SetDepartmentStoreFloorVar
+ def_special SetDeptStoreFloor
def_special DoLotteryCornerComputerEffect
def_special EndLotteryCornerComputerEffect
- def_special sub_81B951C
- def_special sub_81B968C
- def_special sub_81B9770
- def_special sub_81B9718
- def_special sub_81B96D0
+ def_special ChooseMonForMoveRelearner
+ def_special MoveDeleterChooseMoveToForget
+ def_special MoveDeleterForgetMove
+ def_special BufferMoveDeleterNicknameAndMove
+ def_special GetNumMovesSelectedMonHas
def_special TeachMoveRelearnerMove
def_special GetRecordedCyclingRoadResults
def_special Special_BeginCyclingRoadChallenge
@@ -243,7 +243,7 @@ gSpecials:: @ 81DBA64
def_special UpdateCyclingRoadState
def_special GetLeadMonFriendshipScore
def_special CallFrontierUtilFunc
- def_special sub_8161F74
+ def_special CallBattleTowerFunc
def_special CallBattleDomeFunction
def_special CallBattlePalaceFunction
def_special CopyEReaderTrainerGreeting
@@ -253,10 +253,10 @@ gSpecials:: @ 81DBA64
def_special CallBattlePikeFunction
def_special CallBattlePyramidFunction
def_special StopMapMusic
- def_special sub_81B99B4
- def_special sub_81B9B80
- def_special sub_81B9D08
- def_special sub_80F9490
+ def_special CallVerdanturfTentFunction
+ def_special CallFallarborTentFunction
+ def_special CallSlateportTentFunction
+ def_special ChoosePartyForBattleFrontier
def_special ValidateEReaderTrainer
def_special GetBestBattleTowerStreak
def_special ReducePlayerPartyToSelectedMons
@@ -271,9 +271,9 @@ gSpecials:: @ 81DBA64
def_special RetrieveLotteryNumber
def_special PickLotteryCornerTicket
def_special ShowBerryBlenderRecordWindow
- def_special ResetTrickHouseEndRoomFlag
- def_special SetTrickHouseEndRoomFlag
- def_special ScrSpecial_CreatePCMenu
+ def_special ResetTrickHouseNuggetFlag
+ def_special SetTrickHouseNuggetFlag
+ def_special ScriptMenu_CreatePCMultichoice
def_special AccessHallOfFamePC
def_special Special_ShowDiploma
def_special CheckLeadMonCool
@@ -281,19 +281,19 @@ gSpecials:: @ 81DBA64
def_special CheckLeadMonCute
def_special CheckLeadMonSmart
def_special CheckLeadMonTough
- def_special sub_80FB7A4
+ def_special LookThroughPorthole
def_special DoSoftReset
def_special GameClear
- def_special ShakeScreenInElevator
- def_special nullsub_55
+ def_special MoveElevator
+ def_special ShowGlassWorkshopMenu
def_special SpawnCameraObject
def_special RemoveCameraObject
def_special GetPokeblockNameByMonNature
def_special GetSecretBaseNearbyMapName
def_special CheckRelicanthWailord
def_special ShouldDoBrailleRegirockEffectOld
- def_special sub_80B0534
- def_special sub_80B058C
+ def_special DoOrbEffect
+ def_special FadeOutOrbEffect
def_special WaitWeather
def_special BufferEReaderTrainerName
def_special GetSlotMachineId
@@ -305,22 +305,22 @@ gSpecials:: @ 81DBA64
def_special LeadMonHasEffortRibbon
def_special GiveLeadMonEffortRibbon
def_special Special_AreLeadMonEVsMaxedOut
- def_special sub_8098574
- def_special sub_809859C
+ def_special Script_FacePlayer
+ def_special Script_ClearHeldMovement
def_special InitRoamer
def_special TryUpdateRusturfTunnelState
def_special IsGrassTypeInParty
- def_special sub_80AFC60
+ def_special DoContestHallWarp
def_special PutZigzagoonInPlayerParty
def_special IsStarterInParty
def_special CopyCurSecretBaseOwnerName_StrVar1
def_special ScriptCheckFreePokemonStorageSpace
def_special DoSealedChamberShakingEffect1
- def_special sub_8139B60
- def_special GetShieldToyTVDecorationInfo
+ def_special ShowDeptStoreElevatorFloorSelect
+ def_special InteractWithShieldOrTVDecoration
def_special IsPokerusInParty
def_special SetSootopolisGymCrackedIceMetatiles
- def_special sub_8139560
+ def_special ShakeCamera
def_special StartGroudonKyogreBattle
def_special BattleSetup_StartLegendaryBattle
def_special StartRegiBattle
@@ -331,47 +331,47 @@ gSpecials:: @ 81DBA64
def_special DoDiveWarp
def_special DoFallWarp
def_special ShowContestEntryMonPic
- def_special sub_80F8EB8
+ def_special HideContestEntryMonPic
def_special SetEReaderTrainerGfxId
def_special BattleSetup_StartLatiBattle
def_special SetRoute119Weather
def_special SetRoute123Weather
def_special ScriptGetMultiplayerId
def_special ScriptGetPartyMonSpecies
- def_special sub_81B98DC
- def_special nullsub_54
+ def_special IsSelectedMonEgg
+ def_special TryInitBattleTowerAwardManEventObject
def_special MoveOutOfSecretBaseFromOutside
def_special LoadPlayerBag
- def_special sub_80B05B4
+ def_special Script_FadeOutMapMusic
def_special SetPacifidlogTMReceivedDay
def_special GetDaysUntilPacifidlogTMAvailable
def_special HasAllHoennMons
- def_special MonOTNameMatchesPlayer
+ def_special MonOTNameNotPlayer
def_special BufferLottoTicketNumber
- def_special sub_81653CC
- def_special sub_80F9370
+ def_special TryHideBattleTowerReporter
+ def_special DoesPartyHaveEnigmaBerry
def_special ScriptRandom
- def_special sub_81AFDD0
- def_special sub_80EDCE8
- def_special sub_80EE2CC
- def_special sub_80EE72C
- def_special sub_80EE7C0
- def_special nullsub_55
+ def_special SetChampionSaveWarp
+ def_special TryPutTreasureInvestigatorsOnAir
+ def_special TryPutLotteryWinnerReportOnAir
+ def_special TrySetUpTrainerFanClubSpecial
+ def_special ShouldHideFanClubInterviewer
+ def_special ShowGlassWorkshopMenu
def_special PutFanClubSpecialOnTheAir
- def_special sub_80EED10
- def_special sub_80EED34
- def_special sub_80EB1AC
- def_special SetSecretBaseSecretsTvFlags_SandOrnament
- def_special sub_80EB300
- def_special sub_80EB438
- def_special sub_80EB368
- def_special sub_80EB3D0
- def_special sub_80EB290
- def_special sub_80EB2C8
- def_special SetSecretBaseSecretsTvFlags_MiscFurnature
- def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot
- def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot
- def_special SetSecretBaseSecretsTvFlags_Poster
+ def_special IncrementDailyPlantedBerries
+ def_special IncrementDailyPickedBerries
+ def_special InitSecretBaseVars
+ def_special CheckInteractedWithFriendsSandOrnament
+ def_special DeclinedSecretBaseBattle
+ def_special DrewSecretBaseBattle
+ def_special WonSecretBaseBattle
+ def_special LostSecretBaseBattle
+ def_special CheckInteractedWithFriendsDollDecor
+ def_special CheckInteractedWithFriendsCushionDecor
+ def_special CheckInteractedWithFriendsFurnitureBottom
+ def_special CheckInteractedWithFriendsFurnitureMiddle
+ def_special CheckInteractedWithFriendsFurnitureTop
+ def_special CheckInteractedWithFriendsPosterDecor
def_special SetLilycoveLadyGfx
def_special Script_GetLilycoveLadyId
def_special GetFavorLadyState
@@ -400,7 +400,7 @@ gSpecials:: @ 81DBA64
def_special ClearQuizLadyQuestionAndAnswer
def_special QuizLadySetCustomQuestion
def_special QuizLadyTakePrizeForCustomQuiz
- def_special sub_813986C
+ def_special GetMysteryEventCardVal
def_special QuizLadyRecordCustomQuizData
def_special QuizLadySetWaitingForChallenger
def_special BufferQuizCorrectAnswer
@@ -414,7 +414,7 @@ gSpecials:: @ 81DBA64
def_special GetContestLadyMonSpecies
def_special GetContestLadyCategory
def_special PutLilycoveContestLadyShowOnTheAir
- def_special sub_813B880
+ def_special CloseBattlePikeCurtain
def_special CallApprenticeFunction
def_special ShouldTryGetTrainerScript
def_special ShowMapNamePopup
@@ -422,116 +422,116 @@ gSpecials:: @ 81DBA64
def_special DoMirageTowerCeilingCrumble
def_special SetMirageTowerVisibility
def_special StartPlayerDescendMirageTower
- def_special sub_81398C0
+ def_special BufferTMHMMoveName
def_special IsWirelessAdapterConnected
- def_special BerryBlenderLinkBecomeLeader
- def_special BerryBlenderLinkJoinGroup
+ def_special TryBecomeLinkLeader
+ def_special TryJoinLinkGroup
def_special UnionRoomSpecial
def_special sub_801A42C
- def_special sub_8016934
- def_special sp182_move_string
+ def_special InitUnionRoom
+ def_special BufferUnionRoomPlayerName
def_special sub_801DC20
- def_special sub_81B8958
- def_special sub_8018090
- def_special sub_813990C
+ def_special ChooseMonForWirelessMinigame
+ def_special Script_ResetUnionRoomTrade
+ def_special IsBadEggInParty
def_special ValidateReceivedWonderCard
def_special HasAtLeastOneBerry
- def_special sub_802C920
- def_special sub_802E3C4
- def_special sub_8027A5C
- def_special sub_8027AAC
- def_special sub_8139980
- def_special sub_81399F4
- def_special sub_8139D98
- def_special sub_80F905C
- def_special sub_800B518
- def_special sub_80F90DC
- def_special sub_80F910C
- def_special sub_80F9160
+ def_special IsPokemonJumpSpeciesInParty
+ def_special ShowPokemonJumpRecords
+ def_special IsDodrioInParty
+ def_special ShowDodrioBerryPickingRecords
+ def_special OffsetCameraForBattle
+ def_special GetDeptStoreDefaultFloorChoice
+ def_special BufferVarsForIVRater
+ def_special LinkContestWaitForConnection
+ def_special GetWirelessCommType
+ def_special LinkContestTryShowWirelessIndicator
+ def_special LinkContestTryHideWirelessIndicator
+ def_special IsWirelessContest
def_special ShowRankingHallRecordsWindow
def_special ScrollRankingHallRecordsWindow
- def_special sub_8139F20
- def_special sub_80F9134
- def_special sub_80F9154
- def_special sub_80B3028
- def_special sub_813A128
+ def_special ShowFrontierManiacMessage
+ def_special IsContestWithRSPlayer
+ def_special ClearLinkContestFlags
+ def_special TryContestEModeLinkup
+ def_special ShowScrollableMultichoice
def_special sub_813A630
- def_special sub_813A080
- def_special sub_81C6A94
- def_special sub_81C4F24
- def_special sub_81B95E0
- def_special sub_81B9620
- def_special sub_813A76C
- def_special sub_813A7B8
- def_special sub_813A958
- def_special sub_813A8FC
- def_special sub_813A988
- def_special sub_813A9D0
- def_special sub_813A9A4
- def_special sub_813AA04
- def_special sub_813AA18
- def_special sub_813AA44
+ def_special BufferBattleTowerElevatorFloors
+ def_special TryStoreHeldItemsInPyramidBag
+ def_special ChooseItemsToTossFromPyramidBag
+ def_special DoBattlePyramidMonsHaveHeldItem
+ def_special BattlePyramidChooseMonHeldItems
+ def_special SetBattleTowerLinkPlayerGfx
+ def_special ShowNatureGirlMessage
+ def_special ShowBattlePointsWindow
+ def_special UpdateBattlePointsWindow
+ def_special CloseBattlePointsWindow
+ def_special GiveFrontierBattlePoints
+ def_special TakeFrontierBattlePoints
+ def_special GetFrontierBattlePoints
+ def_special ShowFrontierExchangeCornerItemIconWindow
+ def_special CloseFrontierExchangeCornerItemIconWindow
def_special DisplayBerryPowderVendorMenu
def_special RemoveBerryPowderVendorMenu
def_special HasEnoughBerryPowder
def_special TakeBerryPowder
def_special PrintPlayerBerryPowderAmount
- def_special sub_813A820
- def_special sub_813A854
- def_special sub_813B7D8
- def_special sub_81C72A4
- def_special sp106_CreateStartMenu
+ def_special ShowFrontierGamblerLookingMessage
+ def_special ShowFrontierGamblerGoMessage
+ def_special Script_DoRayquazaScene
+ def_special OpenPokenavForTutorial
+ def_special ScriptMenu_CreateStartMenuForPokenavTutorial
def_special CountPlayerTrainerStars
- def_special sub_813AC7C
- def_special sub_813ADB8
+ def_special BufferBattleFrontierTutorMoveName
+ def_special CloseBattleFrontierTutorWindow
def_special sub_813ADD4
- def_special sub_81B892C
- def_special sub_813AEB4
+ def_special ChooseMonForMoveTutor
+ def_special GetBattleFrontierTutorMoveIndex
def_special sub_813AF48
def_special DoDeoxysRockInteraction
- def_special sub_813B1D0
+ def_special SetDeoxysRockPalette
def_special CreateObedientEnemyMon
def_special StartMirageTowerDisintegration
def_special StartMirageTowerShake
def_special StartMirageTowerFossilFallAndSink
def_special ChangeBoxPokemonNickname
- def_special get_unknown_box_id
- def_special sub_813B21C
+ def_special GetPCBoxToSendMon
+ def_special ShouldShowBoxWasFullMessage
def_special SetMatchCallRegisteredFlag
- def_special sub_8175280
- def_special CreateUnusualWeatherEvent
- def_special GetUnusualWeatherMapNameAndType
- def_special sub_813B490
+ def_special DoConfettiEffect
+ def_special CreateAbnormalWeatherEvent
+ def_special GetAbnormalWeatherMapNameAndType
+ def_special GetMartEmployeeObjectEventId
def_special sub_80A08CC
def_special Unused_SetWeatherSunny
def_special sub_81AFDA0
- def_special sub_813B4E0
+ def_special IsTrainerRegistered
def_special ShouldDoBrailleRegicePuzzle
def_special EnableNationalPokedex
- def_special sub_80E2548
- def_special sub_80E2878
+ def_special ScriptMenu_CreateLilycoveSSTidalMultichoice
+ def_special GetLilycoveSSTidalSelection
def_special TurnOnTVScreen
def_special sub_81D4A90
- def_special sub_813B514
- def_special sub_813B568
+ def_special ShouldDistributeEonTicket
+ def_special LinkRetireStatusWithBattleTowerPartner
def_special sub_813B534
def_special CallTrainerHillFunction
- def_special sub_813B7D8
- def_special sub_813B80C
+ def_special Script_DoRayquazaScene @ Listed twice
+ def_special LoopWingFlapSE
def_special sub_81D4BEC
- def_special sub_80224D0
+ def_special ShowBerryCrushRankings
def_special TryBufferWaldaPhrase
def_special DoWaldaNamingScreen
def_special TryGetWallpaperWithWaldaPhrase
- def_special sub_8139ED0
- def_special sub_813B968
- def_special sub_80F8B94
+ def_special PlayerNotAtTrainerHillEntrance
+ def_special GetBattlePyramidHint
+ def_special LoadLinkContestPlayerPalettes
def_special ShowTrainerHillRecords
- def_special sub_80B4808
- def_special sub_813B9A0
- def_special sub_81B9918
- def_special sub_80722E0
+ def_special PlayerFaceTrainerAfterBattle
+ def_special ResetHealLocationFromDewford
+ def_special IsLastMonThatKnowsSurf
+ def_special CountPartyAliveNonEggMons
def_special TryPrepareSecondApproachingTrainer
def_special RemoveRecordsWindow
- def_special sub_8139C10
- def_special sub_80B3BC4
+ def_special CloseDeptStoreElevatorWindow
+ def_special TrySetBattleTowerLinkType
diff --git a/data/text/abnormal_weather.inc b/data/text/abnormal_weather.inc
new file mode 100644
index 000000000..42e61e68d
--- /dev/null
+++ b/data/text/abnormal_weather.inc
@@ -0,0 +1,7 @@
+gText_AbnormalWeatherEnded_Rain:: @ 8273656
+ .string "The massive downpour appears to\n"
+ .string "have stopped…$"
+
+gText_AbnormalWeatherEnded_Sun:: @ 8273684
+ .string "The intense sunshine appears to\n"
+ .string "have subsided…$"
diff --git a/data/text/apprentice.inc b/data/text/apprentice.inc
new file mode 100644
index 000000000..7d5bab198
--- /dev/null
+++ b/data/text/apprentice.inc
@@ -0,0 +1,2527 @@
+gText_ApprenticeChallenge0:: @ 82B6EA5
+ .string "Um, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
+ .string "Snivel… This tension is getting to me…$"
+
+gText_ApprenticeChallenge1:: @ 82B6EEC
+ .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
+ .string "Here we come!$"
+
+gText_ApprenticeChallenge2:: @ 82B6F16
+ .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n"
+ .string "Accept my challenge!$"
+
+gText_ApprenticeChallenge3:: @ 82B6F4C
+ .string "Um… I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice…\n"
+ .string "Do you think someone like me can win?$"
+
+gText_ApprenticeChallenge4:: @ 82B6F92
+ .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
+ .string "I'll let you challenge me!$"
+
+gText_ApprenticeChallenge5:: @ 82B6FC9
+ .string "I'm horribly busy, but I also happen\n"
+ .string "to be {STR_VAR_1}'s no. {STR_VAR_2} apprentice.$"
+
+gText_ApprenticeChallenge6:: @ 82B700C
+ .string "I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
+ .string "Glad to meet you!$"
+
+gText_ApprenticeChallenge7:: @ 82B703A
+ .string "I serve as {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
+ .string "May I begin?$"
+
+gText_ApprenticeChallenge8:: @ 82B706A
+ .string "Eek! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
+ .string "I'll do my best!$"
+
+gText_ApprenticeChallenge9:: @ 82B709C
+ .string "Yeehaw! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
+ .string "Put 'em up!$"
+
+gText_ApprenticeChallenge10:: @ 82B70CC
+ .string "I'm {STR_VAR_1}'s 1,000th apprentice!\n"
+ .string "Actually, I'm no. {STR_VAR_2}! Here goes!$"
+
+gText_ApprenticeChallenge11:: @ 82B710A
+ .string "Yeah, I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice!\n"
+ .string "Let's get rockin' and a-rollin'!$"
+
+gText_ApprenticeChallenge12:: @ 82B714D
+ .string "Yippee-yahoo! I'm what you call\n"
+ .string "{STR_VAR_1}'s no. {STR_VAR_2} apprentice!$"
+
+gText_ApprenticeChallenge13:: @ 82B7185
+ .string "Cough! I'm {STR_VAR_1}'s no. {STR_VAR_2} apprentice.\n"
+ .string "Good to meet you! Cough!$"
+
+gText_ApprenticeChallenge14:: @ 82B71C1
+ .string "This is nerve-racking…\n"
+ .string "I'm the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$"
+
+gText_ApprenticeChallenge15:: @ 82B71F9
+ .string "I am {STR_VAR_1}'s no. {STR_VAR_2} apprentice,\n"
+ .string "and that's no lie.$"
+
+gText_ApprenticePleaseTeach0:: @ 82B7229
+ .string "Are you… {PLAYER}?\n"
+ .string "Oh! Sniff…sob…\p"
+ .string "Oh! S-sorry…\n"
+ .string "I'm so nervous, I can't help crying…\p"
+ .string "I'm {STR_VAR_1}, and I really look up\n"
+ .string "to you, {PLAYER}.\p"
+ .string "I… I had this dream of one day meeting\n"
+ .string "you and asking you about POKéMON.\p"
+ .string "Please, please, {PLAYER}!\n"
+ .string "Please teach me about POKéMON!$"
+
+gText_ApprenticeRejectTeaching0:: @ 82B731C
+ .string "Oh… B-but…\n"
+ .string "Snivel… Waaaaaaah!\p"
+ .string "Please!\n"
+ .string "I'm begging you, please!$"
+
+gText_ApprenticeWhichLevelMode0:: @ 82B735B
+ .string "Oh, really? You will?\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Oh… I'm sorry…\n"
+ .string "I'm so happy, I'm crying…\p"
+ .string "Um… Then please tell me!\n"
+ .string "It's about the BATTLE TOWER.\p"
+ .string "Which would be better for me: Level 50\n"
+ .string "or the Open Level?$"
+
+gText_ApprenticeLevelModeThanks0:: @ 82B7423
+ .string "{STR_VAR_1}?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I'm so sorry!\n"
+ .string "You've made me happy by choosing\l"
+ .string "the level for me, and it's made me cry…\p"
+ .string "Snivel…\n"
+ .string "Thank you so much!\l"
+ .string "Please talk with me again!$"
+
+gText_ApprenticePleaseTeach1:: @ 82B74C1
+ .string "Wowee! You're {PLAYER}, aren't you?\n"
+ .string "You're awesomely strong, aren't you?\p"
+ .string "I'm {STR_VAR_1}!\n"
+ .string "I just became a TRAINER!\p"
+ .string "Please, {PLAYER}!\n"
+ .string "Can you be my teacher and tell me\l"
+ .string "lots about being a TRAINER?$"
+
+gText_ApprenticeRejectTeaching1:: @ 82B756F
+ .string "Aww, why?\n"
+ .string "Oh, please? Pretty please?\l"
+ .string "Please be my teacher, please!$"
+
+gText_ApprenticeWhichLevelMode1:: @ 82B75B2
+ .string "Yay! Great!\p"
+ .string "The first thing I wanted to ask you is\n"
+ .string "about the BATTLE TOWER!\p"
+ .string "The Level 50 and Open Level Rooms…\n"
+ .string "Which would be perfect for me?$"
+
+gText_ApprenticeLevelModeThanks1:: @ 82B763F
+ .string "{STR_VAR_1}, huh? That's true!\n"
+ .string "I'll do my best there!\p"
+ .string "If we meet here again, please teach\n"
+ .string "me something else, teacher!$"
+
+gText_ApprenticePleaseTeach2:: @ 82B76AC
+ .string "Um… Are you {PLAYER}?\n"
+ .string "My name is {STR_VAR_1}.\p"
+ .string "I want to become a POKéMON TRAINER,\n"
+ .string "but I don't know what to do…\p"
+ .string "So I thought maybe I could ask you for\n"
+ .string "advice because you're so famous.\p"
+ .string "{PLAYER}, could you give me advice?$"
+
+gText_ApprenticeRejectTeaching2:: @ 82B7772
+ .string "Oh, but…\p"
+ .string "I sincerely want to become a POKéMON\n"
+ .string "TRAINER!\p"
+ .string "Please, can you answer my questions?$"
+
+gText_ApprenticeWhichLevelMode2:: @ 82B77CE
+ .string "Thank you!\n"
+ .string "Here's my first question right away!\p"
+ .string "The BATTLE TOWER has two levels,\n"
+ .string "Level 50 and Open Level, right?\p"
+ .string "Which level do you think is more\n"
+ .string "suitable for me?$"
+
+gText_ApprenticeLevelModeThanks2:: @ 82B7871
+ .string "Oh, the {STR_VAR_1} challenge?\n"
+ .string "Understood!\p"
+ .string "If I have another question, I'll come\n"
+ .string "back here for your advice!$"
+
+gText_ApprenticePleaseTeach3:: @ 82B78D4
+ .string "Oh? Huh? You're…\n"
+ .string "No, that can't be true.\p"
+ .string "There isn't any way that someone\n"
+ .string "like me could meet {PLAYER}.\p"
+ .string "…You really are {PLAYER}?\n"
+ .string "I can't believe I'm talking to you!\p"
+ .string "When something this good happens,\n"
+ .string "only terrible things will happen to me\l"
+ .string "now, I just know it…\p"
+ .string "…I'm sorry…\n"
+ .string "I'm… {STR_VAR_1}…\p"
+ .string "There isn't anything special about\n"
+ .string "me that I can be proud of…\p"
+ .string "I shouldn't even say anything about\n"
+ .string "myself because you'll forget…\p"
+ .string "I had this dream that if I ever met\n"
+ .string "you, {PLAYER}, that maybe I could ask\l"
+ .string "you for advice as a TRAINER.\p"
+ .string "But I don't think you would agree\n"
+ .string "to that.\p"
+ .string "…Or will you be so kind as to give\n"
+ .string "me advice?$"
+
+gText_ApprenticeRejectTeaching3:: @ 82B7B1A
+ .string "I knew it…\p"
+ .string "It had to happen because I'm such\n"
+ .string "a really boring nobody…\p"
+ .string "But I thought just maybe…\n"
+ .string "You won't reconsider, will you?\p"
+ .string "But I can't give up just like that.\n"
+ .string "I'll ask you while I'm still lucky!\p"
+ .string "Please, will you be so kind as to give\n"
+ .string "me advice?$"
+
+gText_ApprenticeWhichLevelMode3:: @ 82B7C13
+ .string "Really? I can't believe it!\n"
+ .string "I can't believe you'll advise me!\l"
+ .string "I… I'm so happy…\p"
+ .string "What I want to ask you is really\n"
+ .string "trivial, but I can't decide…\p"
+ .string "At the BATTLE TOWER, they let you\n"
+ .string "choose Level 50 or Open Level.\p"
+ .string "Which course do you think even I may\n"
+ .string "have a chance at?$"
+
+gText_ApprenticeLevelModeThanks3:: @ 82B7D18
+ .string "{STR_VAR_1}? Okay!\n"
+ .string "But do you really think someone like\l"
+ .string "me would have a chance?\p"
+ .string "I'll do my best, even though I don't\n"
+ .string "think it will work.\p"
+ .string "Thank you very much for spending\n"
+ .string "time with someone like me.$"
+
+gText_ApprenticePleaseTeach4:: @ 82B7DD4
+ .string "Oh! You're {PLAYER}{KUN}, aren't you?\p"
+ .string "I've heard that you're tough at\n"
+ .string "POKéMON!\p"
+ .string "I'm {STR_VAR_1}!\n"
+ .string "I'll be your friend!\p"
+ .string "Did you know?\p"
+ .string "You can't win at the BATTLE FRONTIER\n"
+ .string "if all you know is what they teach at\l"
+ .string "the TRAINER'S SCHOOL.\p"
+ .string "I'm willing to listen to your advice.\n"
+ .string "You'll agree, of course?$"
+
+gText_ApprenticeRejectTeaching4:: @ 82B7EE5
+ .string "Huh? Why are you refusing me?\n"
+ .string "It's me who's asking you!\l"
+ .string "You have to reconsider!$"
+
+gText_ApprenticeWhichLevelMode4:: @ 82B7F35
+ .string "Okay, so there is this something.\n"
+ .string "I want you to decide it for me.\p"
+ .string "You know that the BATTLE TOWER has\n"
+ .string "Level 50 and Open Level Rooms?\p"
+ .string "Which do you think would be good\n"
+ .string "for me, {PLAYER}{KUN}?$"
+
+gText_ApprenticeLevelModeThanks4:: @ 82B7FE8
+ .string "Okay, {STR_VAR_1} is suitable for me?\n"
+ .string "Thank you!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{KUN}, I won't be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I'll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_ApprenticePleaseTeach5:: @ 82B8087
+ .string "Oh, hi, there! {PLAYER}{KUN}!\n"
+ .string "I know you because you're famous!\l"
+ .string "Call me {STR_VAR_1}! Glad to meet you!\p"
+ .string "I'm a TRIATHLETE, so I keep myself\n"
+ .string "fit even while I raise POKéMON.\p"
+ .string "I'm also involved with other things\n"
+ .string "like work, napping, ballroom dancing…\p"
+ .string "Being this busy, it's not so easy for\n"
+ .string "me to become a decent TRAINER.\p"
+ .string "So, I have a proposition!\p"
+ .string "There must be a reason why we met.\n"
+ .string "So, {PLAYER}{KUN}, how about sharing your\l"
+ .string "wisdom with me every so often?$"
+
+gText_ApprenticeRejectTeaching5:: @ 82B822B
+ .string "Oh, but, please?\n"
+ .string "A guy like me needs someone like\l"
+ .string "you, {PLAYER}{KUN}!\p"
+ .string "Honestly, I need your advice!$"
+
+gText_ApprenticeWhichLevelMode5:: @ 82B8286
+ .string "Thank you! That's more like it!\n"
+ .string "So, let's start with an easy one!\p"
+ .string "You know about the BATTLE TOWER's\n"
+ .string "two courses, right?\l"
+ .string "You know, Level 50 and Open Level.\p"
+ .string "Me being a busy guy, which one should\n"
+ .string "I gear up for?$"
+
+gText_ApprenticeLevelModeThanks5:: @ 82B8356
+ .string "{STR_VAR_1}, huh? Okay, gotcha.\n"
+ .string "I'll find time somehow and give it a go!\p"
+ .string "…Whoops, I'd better go to work!\n"
+ .string "Thanks! See you around!$"
+
+gText_ApprenticePleaseTeach6:: @ 82B83CE
+ .string "No way! Uh-uh!\n"
+ .string "Are you maybe the real {PLAYER}?\p"
+ .string "A-hah! Awesome! I'm {STR_VAR_1},\n"
+ .string "so pleased to meet you!\p"
+ .string "{PLAYER}, you're very strong,\n"
+ .string "aren't you?\p"
+ .string "Everyone's talking about you!\p"
+ .string "Oh! I just had this great idea!\n"
+ .string "I'll get advice off you, {PLAYER}!\l"
+ .string "I'm sure it will make me tougher!\p"
+ .string "Isn't it a great idea?\n"
+ .string "Please, I want your advice!$"
+
+gText_ApprenticeRejectTeaching6:: @ 82B84FC
+ .string "Ahahaha, you can pretend to be mean,\n"
+ .string "but you can't fool me!\l"
+ .string "You really mean okay, don't you?$"
+
+gText_ApprenticeWhichLevelMode6:: @ 82B8559
+ .string "Yay! I knew you'd have a big heart,\n"
+ .string "{PLAYER}!\p"
+ .string "What should I ask you first?\n"
+ .string "…Oh, I thought of something!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I were to take a BATTLE TOWER\n"
+ .string "challenge, which way should I go?\p"
+ .string "Level 50 or Open Level?\n"
+ .string "Which suits me more?$"
+
+gText_ApprenticeLevelModeThanks6:: @ 82B8656
+ .string "Oh-oh-oh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thank you for a totally cool reply!\p"
+ .string "I guess that's about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let's meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_ApprenticePleaseTeach7:: @ 82B86EA
+ .string "I beg your pardon, but…\n"
+ .string "Are you {PLAYER}?\p"
+ .string "I'm {STR_VAR_1}, and I am delighted to\n"
+ .string "make your acquaintance.\p"
+ .string "I have long been an admirer\n"
+ .string "of yours…\p"
+ .string "… … … … … …\p"
+ .string "Um… I hope you don't find this\n"
+ .string "request too much of a burden, but…\p"
+ .string "May I become your apprentice,\n"
+ .string "{PLAYER}?$"
+
+gText_ApprenticeRejectTeaching7:: @ 82B87DA
+ .string "Oh…!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "…I must have fainted from shock.\n"
+ .string "I'm sorry, I must have misheard you.\p"
+ .string "Please! Please say that you will\n"
+ .string "accept me as your apprentice!$"
+
+gText_ApprenticeWhichLevelMode7:: @ 82B887C
+ .string "Oh… I'm delighted!\p"
+ .string "I don't wish to waste your time,\n"
+ .string "so please advise me on this.\p"
+ .string "I plan to take a BATTLE TOWER\n"
+ .string "challenge soon.\p"
+ .string "However, there are two levels…\p"
+ .string "Which would be most suitable for me?\n"
+ .string "Level 50 or Open Level?$"
+
+gText_ApprenticeLevelModeThanks7:: @ 82B8957
+ .string "{STR_VAR_1} is your choice!\n"
+ .string "I see. I will do my best!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_ApprenticePleaseTeach8:: @ 82B89C6
+ .string "Eek! Eek! {PLAYER}!\n"
+ .string "You spoke to me!\l"
+ .string "I… I'm overjoyed!\p"
+ .string "Me! My name is {STR_VAR_1}!\n"
+ .string "I just became a TRAINER!\p"
+ .string "I'm delighted I met you, {PLAYER},\n"
+ .string "the big name in POKéMON circles!\p"
+ .string "Oh-oh-oh, I know!\n"
+ .string "May I ask a huge favor, {PLAYER}?\p"
+ .string "Please take me in as your apprentice!\n"
+ .string "I want to learn from you!$"
+
+gText_ApprenticeRejectTeaching8:: @ 82B8ACF
+ .string "Waaaah!\n"
+ .string "{PLAYER} turned me down…\l"
+ .string "It… It's an invaluable experience!\p"
+ .string "{PLAYER}, please! I want to hear\n"
+ .string "an affirmative answer this time!\p"
+ .string "I beg you for your guidance!$"
+
+gText_ApprenticeWhichLevelMode8:: @ 82B8B66
+ .string "Hieeeeh! {PLAYER} said yes!\n"
+ .string "{PLAYER} said yes!\p"
+ .string "I won't be able to sleep tonight…\n"
+ .string "Thank you ever so much!\p"
+ .string "Then, here's my question!\p"
+ .string "At the BATTLE TOWER, what is right\n"
+ .string "for me, Level 50 or Open Level?$"
+
+gText_ApprenticeLevelModeThanks8:: @ 82B8C20
+ .string "{STR_VAR_1}! Perfectly understood!\n"
+ .string "I understand perfectly!\l"
+ .string "I'm deliriously delighted!\p"
+ .string "I hope you'll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_ApprenticePleaseTeach9:: @ 82B8CAA
+ .string "Whoa! Could you be…\n"
+ .string "Might you be… {PLAYER}{KUN}?!\l"
+ .string "That strong and famous TRAINER?\l"
+ .string "Well, hello, aren't I just the luckiest!\p"
+ .string "Hello, the name's {STR_VAR_1}!\p"
+ .string "I've been on the lookout for\n"
+ .string "a POKéMON teacher.\p"
+ .string "And with impeccably good timing,\n"
+ .string "along came you, {PLAYER}{KUN}!\p"
+ .string "So, there you have it, {PLAYER}{KUN}!\n"
+ .string "Let me apprentice under you!$"
+
+gText_ApprenticeRejectTeaching9:: @ 82B8DD3
+ .string "Gwaaaah!\n"
+ .string "You're quite cool and tough…\p"
+ .string "Don't be that way, please.\n"
+ .string "I'm asking you!$"
+
+gText_ApprenticeWhichLevelMode9:: @ 82B8E24
+ .string "Oh, yeah! That's a solid reply!\n"
+ .string "Excellent, I might add!\p"
+ .string "So how about a first piece of advice\n"
+ .string "on the BATTLE TOWER?\p"
+ .string "If I were to go, what would be better?\n"
+ .string "Level 50 or Open Level?$"
+
+gText_ApprenticeLevelModeThanks9:: @ 82B8ED5
+ .string "Uh-huh, {STR_VAR_1} it is!\n"
+ .string "OK, A-OK!\l"
+ .string "I'll go show my mettle, like, jam!\p"
+ .string "All right, I'll look to you as my mentor!\n"
+ .string "Adios!$"
+
+gText_ApprenticePleaseTeach10:: @ 82B8F45
+ .string "Oh, hey, {PLAYER}{KUN}, right?\n"
+ .string "The police were looking for you!\p"
+ .string "… … …\n"
+ .string "Of course I'm lying!\p"
+ .string "Me, I'm {STR_VAR_1}. Despite the way\n"
+ .string "I look, I'm the POKéMON CHAMPION!\l"
+ .string "…That's a lie, too!\p"
+ .string "This is no lie, though.\n"
+ .string "I'm not very good at battling.\p"
+ .string "So, how about you becoming my master\n"
+ .string "about all things POKéMON?$"
+
+gText_ApprenticeRejectTeaching10:: @ 82B905F
+ .string "If you're going to act cold like that,\n"
+ .string "I'll show you what I'll do!\p"
+ .string "Waaah! Waaah! Waaah!\n"
+ .string "Hiccup!\p"
+ .string "Hahaha, that was my FAKE TEARS!\p"
+ .string "Come on, will you please be\n"
+ .string "my POKéMON master?$"
+
+gText_ApprenticeWhichLevelMode10:: @ 82B910E
+ .string "Yippee!\n"
+ .string "I'll buy you a boat for that!\p"
+ .string "Of course I'm lying again!\n"
+ .string "But… Thank you, master!\p"
+ .string "You know how there's Level 50 and\n"
+ .string "Open Level at the BATTLE TOWER?\p"
+ .string "I'm having trouble deciding which\n"
+ .string "level I should challenge…\p"
+ .string "Can you decide for me, master?$"
+
+gText_ApprenticeLevelModeThanks10:: @ 82B9204
+ .string "Okay, so {STR_VAR_1} is better!\n"
+ .string "I'll go to the other level, then!\p"
+ .string "Just kidding!\n"
+ .string "I'll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you'll keep teaching me!$"
+
+gText_ApprenticePleaseTeach11:: @ 82B929C
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy, and it means hi!\p"
+ .string "I'm {STR_VAR_1}, the rappin' SAILOR\n"
+ .string "am I!\p"
+ .string "Your turn now, tell me a little about\n"
+ .string "yourself, give it a try!\p"
+ .string "Uh-huh, uh-huh!\n"
+ .string "{PLAYER}{KUN}'s your name,\l"
+ .string "and POKéMON's your game!\p"
+ .string "And you're at a delicate age\n"
+ .string "when all the world's your stage!\p"
+ .string "Anyway, I just want to say,\n"
+ .string "that you're the tenth TRAINER\l"
+ .string "I've spoken to today.\p"
+ .string "Let's make that a celebration!\n"
+ .string "Become my mentor for commemoration!$"
+
+gText_ApprenticeRejectTeaching11:: @ 82B9438
+ .string "But!\n"
+ .string "You have to work with me!\p"
+ .string "Don't be such a tease!\n"
+ .string "Become my mentor, please!$"
+
+gText_ApprenticeWhichLevelMode11:: @ 82B9488
+ .string "That's it!\n"
+ .string "{PLAYER}, you've got the spirit!\p"
+ .string "So here's my first question\n"
+ .string "that begs your suggestion!\p"
+ .string "It's about the BATTLE TOWER,\n"
+ .string "and it hinges on my power!\p"
+ .string "Level 50 and Open Level there be,\n"
+ .string "which is the one that's good for me?$"
+
+gText_ApprenticeLevelModeThanks11:: @ 82B9564
+ .string "Okay, {STR_VAR_1} it is, you say!\n"
+ .string "I'll go and take it on my way!\p"
+ .string "If it's advice I ever need,\n"
+ .string "{PLAYER}, your word I'll always heed!$"
+
+gText_ApprenticePleaseTeach12:: @ 82B95D8
+ .string "Say, hey, aren't you {PLAYER}?\n"
+ .string "What should I do? Talk to you?\l"
+ .string "Why not? I'm already talking to you!\p"
+ .string "{PLAYER}, are you surprised at me?\n"
+ .string "I'd better tell you who I happen to be!\p"
+ .string "{STR_VAR_1} is what you can call me.\n"
+ .string "The brightest star in guitardom,\l"
+ .string "that's me!\p"
+ .string "Are you receiving me?\n"
+ .string "You are receiving me!\p"
+ .string "My luck's at its best,\n"
+ .string "I'll hit you with a request!\p"
+ .string "{PLAYER}, let me be your underling!\n"
+ .string "I want you to teach me everything!$"
+
+gText_ApprenticeRejectTeaching12:: @ 82B9763
+ .string "You're turning me down, then?\n"
+ .string "I'll just have to ask you again!\p"
+ .string "{PLAYER}, I beg to be your underling!\n"
+ .string "I need you to teach me everything!$"
+
+gText_ApprenticeWhichLevelMode12:: @ 82B97E5
+ .string "Lucky, yeah, woohoo!\n"
+ .string "Should I pop a question to you?\p"
+ .string "Since we're near the BATTLE TOWER,\n"
+ .string "how about a question about its power?\p"
+ .string "Of the choices you see,\n"
+ .string "which is the right one for me?$"
+
+gText_ApprenticeLevelModeThanks12:: @ 82B989A
+ .string "If {STR_VAR_1} is what you suggest,\n"
+ .string "it must be the very best!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don't you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_ApprenticePleaseTeach13:: @ 82B992D
+ .string "Oh, hi! You there!\n"
+ .string "Can I get you to massage my shoulder?\p"
+ .string "…Yes, there! That's it!\n"
+ .string "Ouch, ouch! Oooh, that feels great!\p"
+ .string "My name's {STR_VAR_1}.\n"
+ .string "I take karate training, but my body's\l"
+ .string "not built to take the abuse…\p"
+ .string "I decided I'll battle POKéMON and\n"
+ .string "toughen myself up.\p"
+ .string "You're {PLAYER}{KUN}, aren't you?\n"
+ .string "The POKéMON LEAGUE CHAMP?\p"
+ .string "Listen, can I get you to give me\n"
+ .string "advice?$"
+
+gText_ApprenticeRejectTeaching13:: @ 82B9A84
+ .string "Oh, why?\p"
+ .string "I won't be a big bother, I promise!\n"
+ .string "Please?$"
+
+gText_ApprenticeWhichLevelMode13:: @ 82B9AB9
+ .string "Thank you. Mighty good of you!\n"
+ .string "…Cough! Cough!\p"
+ .string "Oogh, I have to toughen up quick…\p"
+ .string "I'll be heading off to the BATTLE TOWER\n"
+ .string "right away, but what would be better\l"
+ .string "for me? Level 50 or Open Level?$"
+
+gText_ApprenticeLevelModeThanks13:: @ 82B9B76
+ .string "Hm, all right. That's {STR_VAR_1}.\n"
+ .string "I'll go there right away.\p"
+ .string "I hope I can keep hitting you up for\n"
+ .string "help--after all, you're my mentor!$"
+
+gText_ApprenticePleaseTeach14:: @ 82B9BF2
+ .string "Er… Um…\n"
+ .string "{PLAYER}{KUN}…?\p"
+ .string "Please, don't look at me that way.\n"
+ .string "You're making me all self-conscious.\p"
+ .string "I… I'm {STR_VAR_1}.\p"
+ .string "I'm really embarrassed to say this,\n"
+ .string "but I explore ancient ruins and such.\p"
+ .string "I'm even more embarrassed to admit\n"
+ .string "I'm interested in the BATTLE FRONTIER.\p"
+ .string "{PLAYER}{KUN}, you have a reputation as\n"
+ .string "a tough TRAINER…\p"
+ .string "It's hard for me to say this,\n"
+ .string "but I want to ask something.\p"
+ .string "Could you become my teacher and\n"
+ .string "give me advice?$"
+
+gText_ApprenticeRejectTeaching14:: @ 82B9D83
+ .string "Please don't brush me off like this!\n"
+ .string "I can't live with the humiliation.\p"
+ .string "Please become my teacher!\n"
+ .string "I need your advice!$"
+
+gText_ApprenticeWhichLevelMode14:: @ 82B9DF9
+ .string "Th-thank you…\p"
+ .string "But please don't look at me like that.\n"
+ .string "It makes me all flustered.\p"
+ .string "Please, answer me without looking\n"
+ .string "at my eyes.\p"
+ .string "At the BATTLE TOWER…\n"
+ .string "Which level should I attempt?$"
+
+gText_ApprenticeLevelModeThanks14:: @ 82B9EAA
+ .string "Oh… Okay!\n"
+ .string "I'll try my hand at that.\p"
+ .string "I hope I can make a valiant challenge\n"
+ .string "without getting all flustered…\p"
+ .string "Thank you, {PLAYER}{KUN}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_ApprenticePleaseTeach15:: @ 82B9F55
+ .string "Hm? You appear to be {PLAYER}{KUN}…\n"
+ .string "But are you really real?\p"
+ .string "You may call me {STR_VAR_1}.\p"
+ .string "I have been toying with the idea of\n"
+ .string "apprenticing under a strong TRAINER.\p"
+ .string "So, I must say I'm lucky you came along!\n"
+ .string "…You really are {PLAYER}{KUN}, yes?\p"
+ .string "No, no, if you are real, it's fine.\n"
+ .string "I merely want you to recognize me\l"
+ .string "as your apprentice.$"
+
+gText_ApprenticeRejectTeaching15:: @ 82BA084
+ .string "Oh?\n"
+ .string "But what would compel you to refuse?\p"
+ .string "I apologize for being skeptical about\n"
+ .string "your identity.\p"
+ .string "Please accept my apology and\n"
+ .string "accept me as your apprentice.$"
+
+gText_ApprenticeWhichLevelMode15:: @ 82BA11D
+ .string "You really are accepting me?\n"
+ .string "I don't wish to celebrate prematurely.\p"
+ .string "If it is true, I apologize.\n"
+ .string "But now, I need your advice.\p"
+ .string "If I were to enter the BATTLE TOWER,\n"
+ .string "what would be worthy of me?\l"
+ .string "Level 50 or Open Level?$"
+
+gText_ApprenticeLevelModeThanks15:: @ 82BA1F3
+ .string "{STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that's the case, that's fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I realize I can annoy, but it delights\n"
+ .string "me that you have accepted me.\p"
+ .string "Let us meet again!$"
+
+gText_ApprenticeWhatHeldItem0:: @ 82BA2A3
+ .string "Sigh… Sob…\n"
+ .string "Oh, {PLAYER}!\p"
+ .string "I'm all tangled up in a dilemma\n"
+ .string "that I can't decide.\p"
+ .string "I can't decide what I should make\n"
+ .string "my {STR_VAR_1} hold.\p"
+ .string "Please tell me, {PLAYER}.\n"
+ .string "What item should I make it hold?$"
+
+gText_ApprenticeHoldNothing0:: @ 82BA34E
+ .string "Oh, really? I shouldn't make\n"
+ .string "my {STR_VAR_1} hold anything?$"
+
+gText_ApprenticeThanksNoHeldItem0:: @ 82BA380
+ .string "Oh, okay! I'm delighted it's settled!\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Thank you so much!$"
+
+gText_ApprenticeThanksHeldItem0:: @ 82BA3D2
+ .string "Oh, I'm so glad…\n"
+ .string "I think I have that {STR_VAR_1}, too.\p"
+ .string "I'm delighted it's settled!\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Thank you so much!$"
+
+gText_ApprenticeItemAlreadyRecommended0:: @ 82BA448
+ .string "Waaaah! Please don't be mean!\p"
+ .string "That item {STR_VAR_1} was already\n"
+ .string "recommended to me before, sob…\p"
+ .string "Or do you mean I shouldn't make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+gText_ApprenticeWhatHeldItem1:: @ 82BA4D3
+ .string "Yay! It's {PLAYER}!\n"
+ .string "Great! I wanted to ask you something!\p"
+ .string "Do you make your POKéMON hold items?\n"
+ .string "I want to make mine hold items, but…\p"
+ .string "What item would be good for\n"
+ .string "{STR_VAR_1} to hold?\p"
+ .string "What do you think?$"
+
+gText_ApprenticeHoldNothing1:: @ 82BA58C
+ .string "Huh? You mean my {STR_VAR_1} doesn't\n"
+ .string "have to hold anything?$"
+
+gText_ApprenticeThanksNoHeldItem1:: @ 82BA5BF
+ .string "Oh, I get it! I'll do that!\n"
+ .string "Thanks for teaching me!$"
+
+gText_ApprenticeThanksHeldItem1:: @ 82BA5F3
+ .string "Oh, wow! One {STR_VAR_1}, huh?\n"
+ .string "Okay, I'll do that!\p"
+ .string "Thanks for teaching me!$"
+
+gText_ApprenticeItemAlreadyRecommended1:: @ 82BA635
+ .string "Oh, uh, no, that's not what I meant.\n"
+ .string "I want to know about a different item\l"
+ .string "than the ones I already know.\p"
+ .string "Or do you mean that my POKéMON doesn't\n"
+ .string "have to hold anything this time?$"
+
+gText_ApprenticeWhatHeldItem2:: @ 82BA6E6
+ .string "{PLAYER}, hello!\n"
+ .string "It's about my {STR_VAR_1}…\p"
+ .string "I want to make it hold a good item.\n"
+ .string "What would be good for it?$"
+
+gText_ApprenticeHoldNothing2:: @ 82BA742
+ .string "Oh, then my {STR_VAR_1} doesn't have\n"
+ .string "to hold anything?$"
+
+gText_ApprenticeThanksNoHeldItem2:: @ 82BA770
+ .string "Okay, I got it!\n"
+ .string "See you again!$"
+
+gText_ApprenticeThanksHeldItem2:: @ 82BA78F
+ .string "Oh, the item {STR_VAR_1}?\n"
+ .string "Understood!\p"
+ .string "I'll do my best to find one!\n"
+ .string "See you again!$"
+
+gText_ApprenticeItemAlreadyRecommended2:: @ 82BA7D8
+ .string "Somebody taught me about\n"
+ .string "the {STR_VAR_1} already.\p"
+ .string "I want my POKéMON to hold a different\n"
+ .string "kind of item.\p"
+ .string "Or do you think {STR_VAR_2} doesn't\n"
+ .string "have to hold anything?$"
+
+gText_ApprenticeWhatHeldItem3:: @ 82BA867
+ .string "Hello, {PLAYER}…\n"
+ .string "I'm sorry to disturb you, but I have\l"
+ .string "something else I wanted to ask you.\p"
+ .string "I don't think I'm good enough to win\n"
+ .string "matches on my own, so I'm thinking of\l"
+ .string "making my {STR_VAR_1} hold an item.\p"
+ .string "But I don't know what would be good.\p"
+ .string "{PLAYER}, please, could you decide\n"
+ .string "for me?$"
+
+gText_ApprenticeHoldNothing3:: @ 82BA96B
+ .string "A POKéMON belonging to someone like me\n"
+ .string "would be better off without an item?$"
+
+gText_ApprenticeThanksNoHeldItem3:: @ 82BA9B7
+ .string "I understand…\n"
+ .string "You're saying I shouldn't rely on items.\l"
+ .string "I'll do my best not to!\p"
+ .string "Thank you very much!$"
+
+gText_ApprenticeThanksHeldItem3:: @ 82BAA1B
+ .string "The item {STR_VAR_1}, okay.\n"
+ .string "I'm not sure if I can get one…\l"
+ .string "No! I'll do my best to get it.\p"
+ .string "Thank you very much!$"
+
+gText_ApprenticeItemAlreadyRecommended3:: @ 82BAA81
+ .string "Oh, but…\n"
+ .string "I think I've heard about that before…\p"
+ .string "Is it maybe because I haven't handled\n"
+ .string "the item {STR_VAR_1} very well?\p"
+ .string "Or do you mean I shouldn't make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+gText_ApprenticeWhatHeldItem4:: @ 82BAB22
+ .string "Oh, {PLAYER}{KUN}.\n"
+ .string "There's something I wanted to ask you.\p"
+ .string "You know how you decided which\n"
+ .string "POKéMON I should have for me?\p"
+ .string "But I never asked you what item\n"
+ .string "it should be holding.\p"
+ .string "Since you already gave me advice,\n"
+ .string "how about seeing this to the end?\p"
+ .string "What would be good? I want to make\n"
+ .string "my {STR_VAR_1} hold something.$"
+
+gText_ApprenticeHoldNothing4:: @ 82BAC43
+ .string "Oh! So my {STR_VAR_1} should do\n"
+ .string "the best it can empty-handed?$"
+
+gText_ApprenticeThanksNoHeldItem4:: @ 82BAC78
+ .string "If you think that's best, I'll do that.\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{KUN}, I won't be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I'll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_ApprenticeThanksHeldItem4:: @ 82BAD17
+ .string "The item {STR_VAR_1}, huh?\n"
+ .string "Not bad. I'll use it!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{KUN}, I won't be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I'll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_ApprenticeItemAlreadyRecommended4:: @ 82BADB6
+ .string "Huh? What are you saying?\n"
+ .string "You told me about the {STR_VAR_1}\l"
+ .string "already before.\p"
+ .string "Or do you mean my {STR_VAR_2} should\n"
+ .string "do the best it can empty-handed?$"
+
+gText_ApprenticeWhatHeldItem5:: @ 82BAE36
+ .string "Yo, {PLAYER}{KUN}!\p"
+ .string "We're both busy, but we seem to run\n"
+ .string "into each other often anyway!\p"
+ .string "Today I have to do some walking,\n"
+ .string "cleaning, and brushing.\p"
+ .string "I haven't even had the time to buy\n"
+ .string "my precious {STR_VAR_1} anything.\p"
+ .string "I don't have any time, so how about\n"
+ .string "giving me advice on what I should make\l"
+ .string "my {STR_VAR_1} hold?$"
+
+gText_ApprenticeHoldNothing5:: @ 82BAF4E
+ .string "Oh, so me being a busy guy, you say\n"
+ .string "my {STR_VAR_1} doesn't need anything?$"
+
+gText_ApprenticeThanksNoHeldItem5:: @ 82BAF8F
+ .string "Okay, gotcha.\n"
+ .string "I won't need any time for that.\p"
+ .string "Thanks today!\n"
+ .string "See you around!$"
+
+gText_ApprenticeThanksHeldItem5:: @ 82BAFDB
+ .string "Okay, gotcha.\n"
+ .string "I'll find time somehow and find\l"
+ .string "that {STR_VAR_1} you recommended.\p"
+ .string "I'm glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+gText_ApprenticeItemAlreadyRecommended5:: @ 82BB05F
+ .string "Huh? I already know about\n"
+ .string "that {STR_VAR_1}.\p"
+ .string "Oh, right, I get it.\n"
+ .string "So me being a busy guy, you say\l"
+ .string "my {STR_VAR_2} doesn't need anything?$"
+
+gText_ApprenticeWhatHeldItem6:: @ 82BB0D4
+ .string "Hiya, {PLAYER}! It's me!\n"
+ .string "I need to tap your mind again today.\l"
+ .string "Please, I need your advice!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I want to make my {STR_VAR_1} hold\n"
+ .string "an item, what should it be?$"
+
+gText_ApprenticeHoldNothing6:: @ 82BB18C
+ .string "Is that right? My {STR_VAR_1} doesn't\n"
+ .string "need to hold an item, you're saying.$"
+
+gText_ApprenticeThanksNoHeldItem6:: @ 82BB1CE
+ .string "Okay, that's what I'll do!\p"
+ .string "I guess that's about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let's meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_ApprenticeThanksHeldItem6:: @ 82BB242
+ .string "Uh-huh! One {STR_VAR_1}.\n"
+ .string "What a cool choice!\l"
+ .string "I'll definitely try that!\p"
+ .string "I guess that's about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let's meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_ApprenticeItemAlreadyRecommended6:: @ 82BB2D9
+ .string "Ahahah! That's silly!\n"
+ .string "You already told me about that\l"
+ .string "{STR_VAR_1} before!\p"
+ .string "Are you feeling okay, {PLAYER}?\p"
+ .string "Oh, wait! My {STR_VAR_2} doesn't\n"
+ .string "need to hold an item, you're saying.$"
+
+gText_ApprenticeWhatHeldItem7:: @ 82BB370
+ .string "Hello, {PLAYER}. I hope you've been\n"
+ .string "keeping well.\p"
+ .string "May I approach you for advice?\p"
+ .string "In a recent battle, my opponent\n"
+ .string "seemed to have given his POKéMON\l"
+ .string "an item to hold.\p"
+ .string "As a result, I was defeated…\p"
+ .string "I don't wish to be left behind.\n"
+ .string "I would like to make my {STR_VAR_1}\l"
+ .string "hold an item, too.\p"
+ .string "It would please me if you could decide\n"
+ .string "what would be right for my POKéMON…$"
+
+gText_ApprenticeHoldNothing7:: @ 82BB4C3
+ .string "In other words… My POKéMON has\n"
+ .string "no need to hold an item?$"
+
+gText_ApprenticeThanksNoHeldItem7:: @ 82BB4FB
+ .string "I understand clearly now!\n"
+ .string "I will keep trying like this.\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_ApprenticeThanksHeldItem7:: @ 82BB575
+ .string "One {STR_VAR_1} it is!\n"
+ .string "I will order it right away.\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_ApprenticeItemAlreadyRecommended7:: @ 82BB5E1
+ .string "You've already told me about that,\n"
+ .string "and I already have it.\p"
+ .string "Or are you saying… My POKéMON has\n"
+ .string "no need to hold an item?$"
+
+gText_ApprenticeWhatHeldItem8:: @ 82BB656
+ .string "Eek! {PLAYER}!\n"
+ .string "I… I'm overjoyed to see you again!\p"
+ .string "Oh-oh-oh! There's something I just\n"
+ .string "had to ask you, {PLAYER}!\p"
+ .string "Please decide what my {STR_VAR_1}\n"
+ .string "should be holding!$"
+
+gText_ApprenticeHoldNothing8:: @ 82BB6E5
+ .string "Oh, wow! I didn't expect that answer!\n"
+ .string "So, a hold item isn't necessary?$"
+
+gText_ApprenticeThanksNoHeldItem8:: @ 82BB72C
+ .string "Perfectly understood!\n"
+ .string "I'll keep at this without an item!\p"
+ .string "I hope you'll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_ApprenticeThanksHeldItem8:: @ 82BB7A2
+ .string "{STR_VAR_1}! I'll use that!\p"
+ .string "Um… Could it be, {PLAYER}, you also\n"
+ .string "make your POKéMON hold that item?\p"
+ .string "I'll be sure to get it!\n"
+ .string "I hope you'll be willing to teach me\l"
+ .string "some more another time.$"
+
+gText_ApprenticeItemAlreadyRecommended8:: @ 82BB84A
+ .string "Oh? You recommended that\n"
+ .string "{STR_VAR_1} before, too.\p"
+ .string "Or is it the best thing to hold?\n"
+ .string "Or do you mean that my {STR_VAR_2}\l"
+ .string "doesn't need anything to hold?$"
+
+gText_ApprenticeWhatHeldItem9:: @ 82BB8CD
+ .string "Hola!\n"
+ .string "My maestro, {PLAYER}{KUN}!\p"
+ .string "I want to hit you up for advice on\n"
+ .string "POKéMON tools.\p"
+ .string "What do you think would be good for\n"
+ .string "my {STR_VAR_1} to hold?\p"
+ .string "Don't be shy now.\n"
+ .string "Let's blurt it out!$"
+
+gText_ApprenticeHoldNothing9:: @ 82BB970
+ .string "Oh? So, you're saying my {STR_VAR_1}\n"
+ .string "can win without holding any item?$"
+
+gText_ApprenticeThanksNoHeldItem9:: @ 82BB9AE
+ .string "Si, bueno!\n"
+ .string "I'll give it my best shot, like, slam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_ApprenticeThanksHeldItem9:: @ 82BBA05
+ .string "Uh-huh, that's one {STR_VAR_1}?\n"
+ .string "Si, bueno!\l"
+ .string "I'll go find me one, like, bam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_ApprenticeItemAlreadyRecommended9:: @ 82BBA6C
+ .string "No, no! You already told me about\n"
+ .string "that {STR_VAR_1} thing before.\p"
+ .string "Oh, now wait just one minute here…\n"
+ .string "So, you're saying my {STR_VAR_2}\l"
+ .string "can win without holding any item?$"
+
+gText_ApprenticeWhatHeldItem10:: @ 82BBB01
+ .string "{PLAYER}{KUN}, something unbelievable\n"
+ .string "has happened!\p"
+ .string "I woke up this morning, and my POKéMON\n"
+ .string "had 10 NUGGETS!\p"
+ .string "Of course I'm lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I'm not very good at thinking about\l"
+ .string "what items POKéMON should hold.\p"
+ .string "So, how about deciding for me what\n"
+ .string "my {STR_VAR_1} should hold, master?$"
+
+gText_ApprenticeHoldNothing10:: @ 82BBC1C
+ .string "What's that mean?\n"
+ .string "Don't make it hold anything?$"
+
+gText_ApprenticeThanksNoHeldItem10:: @ 82BBC4B
+ .string "Okay, so it shouldn't hold anything.\n"
+ .string "Then, I'd better get something for it!\p"
+ .string "Just kidding!\n"
+ .string "I'll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you'll keep teaching me!$"
+
+gText_ApprenticeThanksHeldItem10:: @ 82BBCF6
+ .string "Okay, so it's one {STR_VAR_1}!\n"
+ .string "I'll make it hold anything but that!\p"
+ .string "Just kidding!\n"
+ .string "I'll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you'll keep teaching me!$"
+
+gText_ApprenticeItemAlreadyRecommended10:: @ 82BBD90
+ .string "Um, you told me about that before,\n"
+ .string "didn't you?\p"
+ .string "Isn't there something else?\p"
+ .string "Or do you mean, don't make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+gText_ApprenticeWhatHeldItem11:: @ 82BBE0B
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin' SAILOR am I!\n"
+ .string "I present to you a question\l"
+ .string "that's pretty fly!\p"
+ .string "It's an item question\n"
+ .string "that begs your suggestion!\p"
+ .string "My {STR_VAR_1} needs an item to hold,\n"
+ .string "What should it be, if I may be bold?$"
+
+gText_ApprenticeHoldNothing11:: @ 82BBEE5
+ .string "Is that right?\n"
+ .string "My {STR_VAR_1} doesn't need to be\l"
+ .string "holding anything tight?$"
+
+gText_ApprenticeThanksNoHeldItem11:: @ 82BBF25
+ .string "Okay, I hear you, sure I do!\n"
+ .string "My POKéMON will go empty-handed, too!\p"
+ .string "If it's advice I ever need,\n"
+ .string "{PLAYER}, your word I'll always heed!$"
+
+gText_ApprenticeThanksHeldItem11:: @ 82BBFA4
+ .string "Okay, one {STR_VAR_1},\n"
+ .string "that's what I'll use.\l"
+ .string "I was right to make you choose!\p"
+ .string "If it's advice I ever need,\n"
+ .string "{PLAYER}, your word I'll always heed!$"
+
+gText_ApprenticeItemAlreadyRecommended11:: @ 82BC024
+ .string "Okay, one {STR_VAR_1}, you say?\n"
+ .string "You told me that the other day.\l"
+ .string "I need a new idea, a brand new way.\p"
+ .string "Or, what, is that right?\n"
+ .string "My POKéMON doesn't need to hold\l"
+ .string "anything tight?$"
+
+gText_ApprenticeWhatHeldItem12:: @ 82BC0C8
+ .string "Say, hey, {PLAYER}!\n"
+ .string "I found you again today!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I'm already talking to you!\p"
+ .string "{PLAYER}, are you getting sick of me?\n"
+ .string "Nah, no way, that can't be.\p"
+ .string "Will you hear me out?\n"
+ .string "I'm looking for advice--that's what\l"
+ .string "I'm talking about.\p"
+ .string "It's about a hold item for\n"
+ .string "my {STR_VAR_1} that'd be good.\l"
+ .string "My indecision is making me brood.$"
+
+gText_ApprenticeHoldNothing12:: @ 82BC213
+ .string "My {STR_VAR_1} needs nothing?\n"
+ .string "Doesn't need to hold anything?$"
+
+gText_ApprenticeThanksNoHeldItem12:: @ 82BC247
+ .string "If holding nothing is the best,\n"
+ .string "I'll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don't you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_ApprenticeThanksHeldItem12:: @ 82BC2DD
+ .string "If holding that {STR_VAR_1} is\n"
+ .string "the best, I'll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don't you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_ApprenticeItemAlreadyRecommended12:: @ 82BC373
+ .string "Haven't I heard about that\n"
+ .string "{STR_VAR_1} before?\l"
+ .string "I'm certain I have, that's for sure!\p"
+ .string "I need a new something!\n"
+ .string "Or, my {STR_VAR_2} needs nothing?\l"
+ .string "Doesn't need to hold anything?$"
+
+gText_ApprenticeWhatHeldItem13:: @ 82BC40E
+ .string "Gwah! Ouch! {PLAYER}{KUN}, my arm's broken!\n"
+ .string "Don't touch it, please!\p"
+ .string "I must've broken it while I was trying\n"
+ .string "out different hold items with my posse\l"
+ .string "of POKéMON.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{KUN}, what do you think would be\n"
+ .string "good for my {STR_VAR_1} to hold?$"
+
+gText_ApprenticeHoldNothing13:: @ 82BC514
+ .string "Ouch…\p"
+ .string "So your suggestion is my {STR_VAR_1}\n"
+ .string "doesn't have to hold anything?$"
+
+gText_ApprenticeThanksNoHeldItem13:: @ 82BC555
+ .string "Hm, all right. That would be easier\n"
+ .string "for me, the way things are now.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_ApprenticeThanksHeldItem13:: @ 82BC5CE
+ .string "Hm, all right. That's one {STR_VAR_1}.\n"
+ .string "My POKéMON's arm is fine, so I'll make\l"
+ .string "it hold that item right away.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_ApprenticeItemAlreadyRecommended13:: @ 82BC666
+ .string "No, no, you told me about that\n"
+ .string "{STR_VAR_1} before, remember?\p"
+ .string "How about telling me something\n"
+ .string "even better?\p"
+ .string "Oh, wait a second.\n"
+ .string "So your suggestion is my {STR_VAR_2}\l"
+ .string "doesn't have to hold anything?$"
+
+gText_ApprenticeWhatHeldItem14:: @ 82BC714
+ .string "Er… Um…\n"
+ .string "{PLAYER}{KUN}…\p"
+ .string "Please, don't look at me that way.\n"
+ .string "My POKéMON don't have anything.\p"
+ .string "I… I'm really embarrassed about this,\n"
+ .string "but I really need your advice.\p"
+ .string "I can't decide what hold item would\n"
+ .string "make my {STR_VAR_1} strong.\p"
+ .string "{PLAYER}{KUN}, what do you think would\n"
+ .string "be good?$"
+
+gText_ApprenticeHoldNothing14:: @ 82BC808
+ .string "Oh… Then, you think it would be better\n"
+ .string "if my {STR_VAR_1} didn't have an item?$"
+
+gText_ApprenticeThanksNoHeldItem14:: @ 82BC84D
+ .string "Oh… Okay!\n"
+ .string "I'll go without an item.\p"
+ .string "This is nerve-racking, though.\n"
+ .string "Wouldn't it be too cool?\p"
+ .string "Thank you, {PLAYER}{KUN}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_ApprenticeThanksHeldItem14:: @ 82BC8EA
+ .string "Oh… Okay!\n"
+ .string "I'll go with that {STR_VAR_1}.\p"
+ .string "This is nerve-racking, though.\n"
+ .string "Wouldn't it be too cool?\p"
+ .string "Thank you, {PLAYER}{KUN}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_ApprenticeItemAlreadyRecommended14:: @ 82BC984
+ .string "B-but I already heard about that.\p"
+ .string "Please don't brush me off like this!\n"
+ .string "I can't live with the humiliation.\p"
+ .string "Oh… Am I jumping to conclusions?\n"
+ .string "Do you think it would be better if\l"
+ .string "my {STR_VAR_2} didn't have an item?$"
+
+gText_ApprenticeWhatHeldItem15:: @ 82BCA4D
+ .string "Hm? You appear to be {PLAYER}{KUN}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps you're a twin?\p"
+ .string "Oh, no, no, no, don't worry!\n"
+ .string "If you really are {PLAYER}, please\l"
+ .string "forget about my rudeness.\p"
+ .string "What I would like is some more of\n"
+ .string "your fine advice.\p"
+ .string "I have here my {STR_VAR_1} that I wish\n"
+ .string "to make hold a convenient item.\p"
+ .string "What would be worthy of it?$"
+
+gText_ApprenticeHoldNothing15:: @ 82BCB75
+ .string "It's better if it held nothing?\n"
+ .string "Are you certain?$"
+
+gText_ApprenticeThanksNoHeldItem15:: @ 82BCBA6
+ .string "I see. If that's the case, that's fine.\n"
+ .string "I thank you for your time.\p"
+ .string "Let us meet again!$"
+
+gText_ApprenticeThanksHeldItem15:: @ 82BCBFC
+ .string "One {STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that's the case, that's fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope my POKéMON will be able to\n"
+ .string "put it to good use.\p"
+ .string "Let us meet again!$"
+
+gText_ApprenticeItemAlreadyRecommended15:: @ 82BCCA4
+ .string "No, no, wait a minute.\n"
+ .string "I believe you taught me that before.\p"
+ .string "I would like you to recommend\n"
+ .string "something different this time.\p"
+ .string "Perhaps you're suggesting that\n"
+ .string "my {STR_VAR_2} should hold nothing?\l"
+ .string "Are you certain?$"
+
+gText_ApprenticeWhichMonFirst0:: @ 82BCD68
+ .string "Waah, {PLAYER}!\n"
+ .string "I have a dilemma, sob…\p"
+ .string "I want to begin battling other people,\n"
+ .string "but I don't know what to do.\p"
+ .string "How should I line up my POKéMON\n"
+ .string "so they'll be at their strongest?\p"
+ .string "Please tell me, {PLAYER}.\n"
+ .string "If you were me, which of these POKéMON\l"
+ .string "would you send out first?$"
+
+gText_ApprenticeMonFirstThanks0:: @ 82BCE64
+ .string "My {STR_VAR_1} should go first?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I'm so sorry!\n"
+ .string "You've made me happy by choosing\l"
+ .string "my first POKéMON, and it's made me cry…\p"
+ .string "Thank you so much!$"
+
+gText_ApprenticeWhichMonFirst1:: @ 82BCEF2
+ .string "Yay! It's {PLAYER}!\n"
+ .string "Great! I wanted to ask you something!\p"
+ .string "Um, of my POKéMON, which do you\n"
+ .string "think should go out first?$"
+
+gText_ApprenticeMonFirstThanks1:: @ 82BCF61
+ .string "My {STR_VAR_1}? That's true.\n"
+ .string "Okay, I'll do that!\p"
+ .string "Thanks for teaching me!$"
+
+gText_ApprenticeWhichMonFirst2:: @ 82BCFA1
+ .string "{PLAYER}, hello!\p"
+ .string "I think, in a battle, it's very important\n"
+ .string "which POKéMON comes out first.\p"
+ .string "Out of the POKéMON that I have,\n"
+ .string "which would be good to send out first?$"
+
+gText_ApprenticeMonFirstThanks2:: @ 82BD03C
+ .string "My {STR_VAR_1} goes first?\n"
+ .string "Okay, I got it!\p"
+ .string "See you again!$"
+
+gText_ApprenticeWhichMonFirst3:: @ 82BD06D
+ .string "Hello, {PLAYER}…\n"
+ .string "I'm sorry to disturb you again with\l"
+ .string "another question.\p"
+ .string "I have so little confidence, I don't\n"
+ .string "know what I'd do without you, {PLAYER}.\p"
+ .string "It may be a waste of time for me to\n"
+ .string "even worry about it, but I just can't\l"
+ .string "decide something…\p"
+ .string "Which of my POKéMON should I send\n"
+ .string "out first in a battle?$"
+
+gText_ApprenticeMonFirstThanks3:: @ 82BD18A
+ .string "My {STR_VAR_1}?\n"
+ .string "Understood!\p"
+ .string "I can't believe that you would bother\n"
+ .string "to answer my questions so often!\p"
+ .string "I'm so grateful that you would even\n"
+ .string "speak with me… Thank you!$"
+
+gText_ApprenticeWhichMonFirst4:: @ 82BD222
+ .string "Oh, {PLAYER}{KUN}! It's me!\n"
+ .string "I'm so glad to see you because I have\l"
+ .string "this little problem.\p"
+ .string "I can't decide how my POKéMON should\n"
+ .string "be lined up. Could you decide for me?\p"
+ .string "Oh, you don't need to decide the whole\n"
+ .string "party right now.\p"
+ .string "How about deciding just the first\n"
+ .string "POKéMON for me?$"
+
+gText_ApprenticeMonFirstThanks4:: @ 82BD325
+ .string "My {STR_VAR_1}? That's great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{KUN}, I won't be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I'll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_ApprenticeWhichMonFirst5:: @ 82BD3B1
+ .string "Hi, my teacher {PLAYER}{KUN}!\n"
+ .string "I'm busy again today!\p"
+ .string "I have to do some cycling, shopping,\n"
+ .string "and humming.\p"
+ .string "I haven't even had the time to decide\n"
+ .string "how to line up my POKéMON team.\p"
+ .string "So, how about checking out my team?\n"
+ .string "Which one should go first?$"
+
+gText_ApprenticeMonFirstThanks5:: @ 82BD493
+ .string "Okay, gotcha.\n"
+ .string "I have enough time at least to put\l"
+ .string "my {STR_VAR_1} at the head of the line!\p"
+ .string "Whoops, my girlfriend's waiting!\n"
+ .string "Thanks! See you around!$"
+
+gText_ApprenticeWhichMonFirst6:: @ 82BD51C
+ .string "Yoohoo! Hiya, {PLAYER}!\n"
+ .string "You always walk around looking tough!\p"
+ .string "Listen, I need something from you\n"
+ .string "again! It's the usual thing!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is about my team.\p"
+ .string "Which POKéMON of mine should be first\n"
+ .string "to go out in a battle?$"
+
+gText_ApprenticeMonFirstThanks6:: @ 82BD609
+ .string "Hmhm!\n"
+ .string "My {STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that's about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let's meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_ApprenticeWhichMonFirst7:: @ 82BD697
+ .string "Thank you so much for stopping to\n"
+ .string "chat with me, {PLAYER}.\p"
+ .string "I know I'm taking advantage of your\n"
+ .string "kindness, but may I ask for advice?\p"
+ .string "I would like you to decide on the order\n"
+ .string "of my POKéMON team.\p"
+ .string "It would please me if you could decide\n"
+ .string "which POKéMON should come first.$"
+
+gText_ApprenticeMonFirstThanks7:: @ 82BD797
+ .string "My {STR_VAR_1} it is!\n"
+ .string "I will put it first right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_ApprenticeWhichMonFirst8:: @ 82BD806
+ .string "Eek! {PLAYER}!\n"
+ .string "I… I'm overjoyed to see you again!\p"
+ .string "My POKéMON have become much\n"
+ .string "stronger!\p"
+ .string "But I don't always win. It seems to\n"
+ .string "depend on which POKéMON goes first.\p"
+ .string "{PLAYER}, please, I need your help!\p"
+ .string "Please decide which of my POKéMON\n"
+ .string "should go out first!$"
+
+gText_ApprenticeMonFirstThanks8:: @ 82BD8F5
+ .string "Sigh… I'm overwhelmed with happiness…\p"
+ .string "It's like a dream having you decide\n"
+ .string "for me, {PLAYER}.\p"
+ .string "But perfectly understood!\n"
+ .string "I will go with my {STR_VAR_1} first!\p"
+ .string "I hope you'll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_ApprenticeWhichMonFirst9:: @ 82BD9BE
+ .string "Hello, hello!\n"
+ .string "My mentor, {PLAYER}{KUN}!\l"
+ .string "Hit me with your sage advice today!\p"
+ .string "You see, I pulled together a team of\n"
+ .string "three POKéMON. So far so good.\p"
+ .string "But the team's battling order's not\n"
+ .string "settled yet.\p"
+ .string "This is where you come in, {PLAYER}{KUN}!\n"
+ .string "You decide which POKéMON leads off!\p"
+ .string "Don't be shy now.\n"
+ .string "Let's blurt it out!$"
+
+gText_ApprenticeMonFirstThanks9:: @ 82BDAE1
+ .string "Uh-huh, my {STR_VAR_1} leads off!\n"
+ .string "OK, A-OK!\l"
+ .string "I'll reorder the lineup, like, wham!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_ApprenticeWhichMonFirst10:: @ 82BDB4E
+ .string "{PLAYER}{KUN}, listen!\n"
+ .string "It's a crisis!\p"
+ .string "My POKéMON, all three of them, go into\n"
+ .string "battle at once!\p"
+ .string "Of course that's impossible!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I'm not very good at thinking about\l"
+ .string "how I should line up my POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "POKéMON should go first, master?$"
+
+gText_ApprenticeMonFirstThanks10:: @ 82BDC6B
+ .string "Okay, so it's my {STR_VAR_1} you chose?\n"
+ .string "I'll let any but that one go first!\p"
+ .string "Just kidding!\n"
+ .string "I'll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you'll keep teaching me!$"
+
+gText_ApprenticeWhichMonFirst11:: @ 82BDD0D
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin' SAILOR am I!\n"
+ .string "I present to you a question\l"
+ .string "that's pretty fly!\p"
+ .string "It's a team lineup question\n"
+ .string "that begs your suggestion!\p"
+ .string "Out of this lot, which should go first\n"
+ .string "as the first on the spot?$"
+
+gText_ApprenticeMonFirstThanks11:: @ 82BDDEC
+ .string "Okay, I hear you, sure I do!\n"
+ .string "I'll switch them up, that I'll do!\p"
+ .string "If it's advice I ever need,\n"
+ .string "{PLAYER}, your word I'll always heed!$"
+
+gText_ApprenticeWhichMonFirst12:: @ 82BDE68
+ .string "Yahoo, {PLAYER}!\n"
+ .string "How do you do?\p"
+ .string "What should I do? Go ahead and ask?\n"
+ .string "Uh-huh, I have something to ask!\l"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\p"
+ .string "You have to decide, which of my\n"
+ .string "POKéMON is the first to ride!\l"
+ .string "Into battle, I mean to say.$"
+
+gText_ApprenticeMonFirstThanks12:: @ 82BDF4D
+ .string "My {STR_VAR_1}? Yes!\n"
+ .string "That'll do, there's no distress!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don't you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_ApprenticeWhichMonFirst13:: @ 82BDFD8
+ .string "…Oof…ooch… {PLAYER}{KUN}…\n"
+ .string "My stomach's hurting all of a sudden…\p"
+ .string "…It's getting better now…\p"
+ .string "I must've worried myself sick racking\n"
+ .string "my brains on how I should line up\l"
+ .string "my posse of POKéMON.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{KUN}, which of my POKéMON should\n"
+ .string "go first? So I'd win, I mean.$"
+
+gText_ApprenticeMonFirstThanks13:: @ 82BE0FD
+ .string "Hm, all right.\n"
+ .string "My {STR_VAR_1} goes first.\p"
+ .string "I'll fix the lineup like that after\n"
+ .string "I have my supper.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_ApprenticeWhichMonFirst14:: @ 82BE189
+ .string "Er… Um…\n"
+ .string "{PLAYER}{KUN}?\p"
+ .string "Please, don't look at me that way.\n"
+ .string "You're making me feel all flustered.\p"
+ .string "Um…\n"
+ .string "I really need your advice.\p"
+ .string "It makes me bashful to say this,\n"
+ .string "but I chose my 3-POKéMON team.\l"
+ .string "I can't decide on the order, though.\p"
+ .string "Which POKéMON should I send out first\n"
+ .string "so I at least look capable?$"
+
+gText_ApprenticeMonFirstThanks14:: @ 82BE2A5
+ .string "Oh… Okay!\n"
+ .string "I'll lead with my {STR_VAR_1}.\p"
+ .string "I hope I can do my best without\n"
+ .string "getting all flustered.\p"
+ .string "Thank you, {PLAYER}{KUN}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_ApprenticeWhichMonFirst15:: @ 82BE33E
+ .string "Hm? You appear to be {PLAYER}{KUN}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps you're a clever look-alike?\p"
+ .string "Oh, no, no, no, don't worry!\n"
+ .string "If you really are {PLAYER}, please\l"
+ .string "forget about my rudeness.\p"
+ .string "What I would like is your fine advice.\p"
+ .string "I have here my POKéMON team.\n"
+ .string "I would like you to tell me which one\l"
+ .string "should go first in a battle.$"
+
+gText_ApprenticeMonFirstThanks15:: @ 82BE46C
+ .string "My {STR_VAR_1}…\n"
+ .string "You aren't pulling my leg?\p"
+ .string "I see. If that's the case, that's fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I am as you see, but I shall do\n"
+ .string "my best.\p"
+ .string "Let us meet again!$"
+
+gText_ApprenticeWhichMon0:: @ 82BE50D
+ .string "Snivel…\n"
+ .string "Oh, {PLAYER}!\p"
+ .string "What perfect timing!\n"
+ .string "There's something I just can't decide…\p"
+ .string "I can't decide which POKéMON I should\n"
+ .string "be using.\p"
+ .string "I can't decide between the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}…\p"
+ .string "{PLAYER}, which do you think will give\n"
+ .string "even me a chance at winning?$"
+
+gText_ApprenticeMonThanks0:: @ 82BE5F5
+ .string "Snivel… I… I understand!\n"
+ .string "Oh! I'm so sorry!\l"
+ .string "You've made me so happy, I'm crying…\p"
+ .string "I'll do my best to catch one\n"
+ .string "{STR_VAR_1}!\p"
+ .string "Thank you so much!$"
+
+gText_ApprenticeWhichMon1:: @ 82BE679
+ .string "Yay! It's {PLAYER}!\n"
+ .string "Yay, you came at the right time, too!\l"
+ .string "I need your advice again!\p"
+ .string "Um, I'm all mixed up--should I use\n"
+ .string "my {STR_VAR_1} or {STR_VAR_2}…\p"
+ .string "Which do you think I should raise,\n"
+ .string "{PLAYER}?$"
+
+gText_ApprenticeMonThanks1:: @ 82BE71E
+ .string "Oh, so my {STR_VAR_1} is better!\n"
+ .string "Okay, I'll do that!\p"
+ .string "Thanks for teaching me!$"
+
+gText_ApprenticeWhichMon2:: @ 82BE762
+ .string "{PLAYER}, hello!\n"
+ .string "I have a question I wanted to ask.\p"
+ .string "I'm in a dilemma over whether I should\n"
+ .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p"
+ .string "Which POKéMON do you think will\n"
+ .string "be stronger?$"
+
+gText_ApprenticeMonThanks2:: @ 82BE7F8
+ .string "{STR_VAR_1} is your choice?\n"
+ .string "Okay, I got it!\p"
+ .string "I'll go catch a strong {STR_VAR_1}\n"
+ .string "right away!\p"
+ .string "See you again!$"
+
+gText_ApprenticeWhichMon3:: @ 82BE850
+ .string "Hello, {PLAYER}…\p"
+ .string "Um, you've probably already forgotten\n"
+ .string "about someone like me…\p"
+ .string "…But that doesn't matter if you\n"
+ .string "could give me advice…\p"
+ .string "I can't decide on the one kind of\n"
+ .string "POKéMON I should raise…\p"
+ .string "I've narrowed the field to the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, but that's\l"
+ .string "where I became stuck…\p"
+ .string "{PLAYER}, you probably don't want to\n"
+ .string "bother, but please decide for me.$"
+
+gText_ApprenticeMonThanks3:: @ 82BE99C
+ .string "But will a wild {STR_VAR_1} even pay\n"
+ .string "attention to me?\p"
+ .string "I will try!\p"
+ .string "But will I even be able to catch one…\n"
+ .string "No! I'll do my best!\p"
+ .string "Thank you!$"
+
+gText_ApprenticeWhichMon4:: @ 82BEA1B
+ .string "Oh, {PLAYER}{KUN}! I'm so glad to see you!\n"
+ .string "I was about to go looking for you!\p"
+ .string "Can you decide what kind of POKéMON\n"
+ .string "I should use?\p"
+ .string "For instance…\n"
+ .string "How about the POKéMON {STR_VAR_1}\l"
+ .string "and {STR_VAR_2}?\p"
+ .string "Which one do you think would be\n"
+ .string "better?$"
+
+gText_ApprenticeMonThanks4:: @ 82BEAE9
+ .string "{STR_VAR_1}? That's great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{KUN}, I won't be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I'll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_ApprenticeWhichMon5:: @ 82BEB72
+ .string "If it isn't {PLAYER}{KUN}! How's it going?\n"
+ .string "I'm busy again as always!\p"
+ .string "I want to do good with POKéMON, too,\n"
+ .string "but I haven't been able to decide\l"
+ .string "which POKéMON I should use.\p"
+ .string "You know how {STR_VAR_1} look strong?\n"
+ .string "But {STR_VAR_2} are tough to ignore.\p"
+ .string "{PLAYER}{KUN}, give me some of your good\n"
+ .string "advice! Which one'd be good for me?$"
+
+gText_ApprenticeMonThanks5:: @ 82BEC8E
+ .string "Okay, gotcha.\n"
+ .string "I'll find time somehow and catch me\l"
+ .string "that {STR_VAR_1} you recommended.\p"
+ .string "I'm glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+gText_ApprenticeWhichMon6:: @ 82BED16
+ .string "Oh!\n"
+ .string "Yay, it's {PLAYER}!\p"
+ .string "I didn't waste any time boasting to\n"
+ .string "my friends about meeting you!\p"
+ .string "I need to tap your mind again today.\n"
+ .string "It's an easy one for you!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I were to raise a POKéMON,\n"
+ .string "and the choices were one {STR_VAR_1}\l"
+ .string "or {STR_VAR_2}, which should it be?$"
+
+gText_ApprenticeMonThanks6:: @ 82BEE29
+ .string "Ahhh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that's about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let's meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_ApprenticeWhichMon7:: @ 82BEEB4
+ .string "Oh, is it you, {PLAYER}?\n"
+ .string "I'm delighted to see you again!\p"
+ .string "Ever since I became your apprentice,\n"
+ .string "my confidence has been blooming.\p"
+ .string "I think I'm ready to raise a POKéMON\n"
+ .string "of my own!\p"
+ .string "{PLAYER}, may I impose on you to choose\n"
+ .string "which POKéMON I should raise?\p"
+ .string "The choices are the POKéMON\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}…\l"
+ .string "Which POKéMON is right for me?$"
+
+gText_ApprenticeMonThanks7:: @ 82BEFE2
+ .string "One {STR_VAR_1} it is!\n"
+ .string "I will find one right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_ApprenticeWhichMon8:: @ 82BF04E
+ .string "Eek! {PLAYER}! I met you again!\n"
+ .string "I… I'm overjoyed!\p"
+ .string "Oh-oh-oh, I know!\n"
+ .string "I shouldn't pass up this opportunity!\p"
+ .string "May I ask a huge favor, {PLAYER}?\n"
+ .string "Please choose a POKéMON for me!\p"
+ .string "Please decide which would be better,\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}!$"
+
+gText_ApprenticeMonThanks8:: @ 82BF11D
+ .string "Wow! You decided for me!\n"
+ .string "One {STR_VAR_1} is what I'll raise to\l"
+ .string "the best of my ability.\p"
+ .string "I hope you'll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_ApprenticeWhichMon9:: @ 82BF1A8
+ .string "Hey, hey!\n"
+ .string "My mentor, {PLAYER}{KUN}!\p"
+ .string "Hello, I've been looking for you\n"
+ .string "for some more of your sage advice!\p"
+ .string "Which kind of POKéMON would be right\n"
+ .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p"
+ .string "Don't be shy now.\n"
+ .string "Let's blurt it out!$"
+
+gText_ApprenticeMonThanks9:: @ 82BF268
+ .string "Uh-huh, one {STR_VAR_1} it is!\n"
+ .string "OK, A-OK!\l"
+ .string "I'll get one in a BALL, like, cram!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_ApprenticeWhichMon10:: @ 82BF2D1
+ .string "{PLAYER}{KUN}, listen! Big news!\n"
+ .string "I caught a mirage POKéMON!\p"
+ .string "Of course I'm lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I'm not very good at catching\l"
+ .string "POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "kind of POKéMON I should catch,\l"
+ .string "master?\p"
+ .string "Which would be better?\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}?$"
+
+gText_ApprenticeMonThanks10:: @ 82BF3CF
+ .string "Okay, so it's {STR_VAR_1} you chose?\n"
+ .string "I'll grab the other kind, then!\p"
+ .string "Just kidding!\n"
+ .string "I'll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you'll keep teaching me!$"
+
+gText_ApprenticeWhichMon11:: @ 82BF46A
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin' SAILOR am I!\n"
+ .string "Surely you remember who am I?\p"
+ .string "Today, I have a POKéMON question\n"
+ .string "that begs your suggestion!\p"
+ .string "I have the choice between this\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l"
+ .string "Which is the one to catch for me?$"
+
+gText_ApprenticeMonThanks11:: @ 82BF551
+ .string "{STR_VAR_1}, you say, hey, hey!\n"
+ .string "I'll go get me one right away!\p"
+ .string "If it's advice I ever need,\n"
+ .string "{PLAYER}, your word I'll always heed!$"
+
+gText_ApprenticeWhichMon12:: @ 82BF5C3
+ .string "Oh, wow, if it isn't {PLAYER}!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I'm already talking to you!\p"
+ .string "It's been a long time. Let me break\n"
+ .string "the ice. I'm also looking for advice!\l"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\p"
+ .string "My POKéMON--which should I use?\n"
+ .string "It's either {STR_VAR_1} or {STR_VAR_2}.\l"
+ .string "Which do you choose?$"
+
+gText_ApprenticeMonThanks12:: @ 82BF6E5
+ .string "If that {STR_VAR_1} is the best,\n"
+ .string "I'll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don't you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_ApprenticeWhichMon13:: @ 82BF773
+ .string "Oh, hi, {PLAYER}{KUN}…\n"
+ .string "I have this horrible headache…\p"
+ .string "I must've worried too much about\n"
+ .string "the kind of POKéMON I should raise.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{KUN}, if I had to choose between\n"
+ .string "the POKéMON {STR_VAR_1} and\l"
+ .string "{STR_VAR_2}, which should it be?$"
+
+gText_ApprenticeMonThanks13:: @ 82BF869
+ .string "Hm, one {STR_VAR_1}, all right.\n"
+ .string "I'll go look for one when I get better.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_ApprenticeWhichMon14:: @ 82BF8DD
+ .string "Er… Um…\n"
+ .string "{PLAYER}{KUN}…?\p"
+ .string "Please, don't look at me that way.\n"
+ .string "I'm getting all flustered…\l"
+ .string "I… I need your advice.\p"
+ .string "I… I'm really embarrassed, but I can't\n"
+ .string "decide which POKéMON to use.\p"
+ .string "If the choices were {STR_VAR_1} or\n"
+ .string "{STR_VAR_2}, which would be better?$"
+
+gText_ApprenticeMonThanks14:: @ 82BF9BA
+ .string "Oh… Okay!\n"
+ .string "I'll do my best with one {STR_VAR_1}.\p"
+ .string "I hope I can do my best without\n"
+ .string "getting all flustered.\p"
+ .string "Thank you, {PLAYER}{KUN}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_ApprenticeWhichMon15:: @ 82BFA5A
+ .string "Hm? You appear to be {PLAYER}{KUN}…\n"
+ .string "But are you really real?\p"
+ .string "No, no, if you are real, it's fine.\n"
+ .string "Incidentally, I would like to obtain\l"
+ .string "your advice.\p"
+ .string "It's about the POKéMON I am to use.\p"
+ .string "If the choices are the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, which is\l"
+ .string "more worthy of me?$"
+
+gText_ApprenticeMonThanks15:: @ 82BFB4E
+ .string "{STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that's the case, that's fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope it is something even I can\n"
+ .string "handle with aplomb.\p"
+ .string "Let us meet again!$"
+
+gText_ApprenticeWhichMove0:: @ 82BFBF2
+ .string "Waaah! Oh, {PLAYER}!\n"
+ .string "Snivel… Hiccup…\p"
+ .string "I have a dilemma!\n"
+ .string "I can't decide on a move for\l"
+ .string "my {STR_VAR_1}…\p"
+ .string "Please, please, {PLAYER}.\n"
+ .string "Can you decide for me?\p"
+ .string "For my {STR_VAR_1}, which move would\n"
+ .string "be the better choice: {STR_VAR_2}\l"
+ .string "or {STR_VAR_3}?$"
+
+gText_ApprenticeMoveThanks0:: @ 82BFCAE
+ .string "{STR_VAR_1}?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I'm so sorry, {PLAYER}!\n"
+ .string "You've made me so happy by deciding\l"
+ .string "the move, I'm crying…\p"
+ .string "Snivel…\n"
+ .string "Thank you so much!$"
+
+gText_ApprenticeWhichMove1:: @ 82BFD26
+ .string "Yay! Hi, {PLAYER}!\n"
+ .string "I need your advice again!\p"
+ .string "I want to teach my {STR_VAR_1}\n"
+ .string "a cool move.\p"
+ .string "I like either of the moves\n"
+ .string "{STR_VAR_2} or {STR_VAR_3}.\l"
+ .string "What's your recommendation?$"
+
+gText_ApprenticeMoveThanks1:: @ 82BFDB1
+ .string "{STR_VAR_1} is better? I guess so!\n"
+ .string "Okay, I'll go with that!\p"
+ .string "If we meet here again, please teach\n"
+ .string "me something else, teacher!$"
+
+gText_ApprenticeWhichMove2:: @ 82BFE24
+ .string "{PLAYER}, hello!\n"
+ .string "It's about my {STR_VAR_1}, but I'm\l"
+ .string "worried about its moves.\p"
+ .string "You see, it's the moves {STR_VAR_2}\n"
+ .string "and {STR_VAR_3}.\p"
+ .string "Which is stronger and better for\n"
+ .string "my {STR_VAR_1}?$"
+
+gText_ApprenticeMoveThanks2:: @ 82BFEAD
+ .string "{STR_VAR_1} is your choice?\n"
+ .string "Okay, I got it!\p"
+ .string "I'll go teach {STR_VAR_1} to\n"
+ .string "my POKéMON right away!\p"
+ .string "See you again!$"
+
+gText_ApprenticeWhichMove3:: @ 82BFF0A
+ .string "Ohhh, {PLAYER}…\n"
+ .string "I'm hopeless, no, really!\p"
+ .string "I've decided to raise a POKéMON,\n"
+ .string "but now I can't even decide what\l"
+ .string "move I should let it learn…\p"
+ .string "I know that it doesn't mean anything\n"
+ .string "to you, {PLAYER}.\p"
+ .string "But it means a lot to me…\p"
+ .string "Please, {PLAYER}, could you choose\n"
+ .string "a move for my {STR_VAR_1}?\p"
+ .string "If you could even choose between\n"
+ .string "{STR_VAR_2} and {STR_VAR_3}…$"
+
+gText_ApprenticeMoveThanks3:: @ 82C0032
+ .string "I understand!\p"
+ .string "But will it even be willing to learn\n"
+ .string "{STR_VAR_1} for me…\l"
+ .string "No! I'll do my best!\p"
+ .string "Thank you!$"
+
+gText_ApprenticeWhichMove4:: @ 82C0090
+ .string "Oh, {PLAYER}{KUN}!\n"
+ .string "I was just hoping to see you, too!\p"
+ .string "I was wondering what move would\n"
+ .string "be suitable for my {STR_VAR_1}.\p"
+ .string "I can't decide, so can you decide\n"
+ .string "for me instead?\p"
+ .string "For instance… How about the moves\n"
+ .string "{STR_VAR_2} and {STR_VAR_3}?\l"
+ .string "Which one would be better?$"
+
+gText_ApprenticeMoveThanks4:: @ 82C016E
+ .string "{STR_VAR_1}? That's great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{KUN}, I won't be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I'll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_ApprenticeWhichMove5:: @ 82C01F7
+ .string "How could things be this busy?\n"
+ .string "Hey, if it isn't {PLAYER}{KUN}!\l"
+ .string "How's it going?\p"
+ .string "Since I got up this morning, I've done\n"
+ .string "my jogging, swimming, and cooking!\p"
+ .string "You wouldn't believe how busy I am!\p"
+ .string "I can't even decide what move\n"
+ .string "my {STR_VAR_1} should learn!\p"
+ .string "{STR_VAR_2} looks good, huh?\n"
+ .string "But {STR_VAR_3}'s also decent.\p"
+ .string "{PLAYER}{KUN}, give me some of your good\n"
+ .string "advice! Which move'd be good for me?$"
+
+gText_ApprenticeMoveThanks5:: @ 82C034C
+ .string "Okay, gotcha.\n"
+ .string "I'll make room in my schedule and\l"
+ .string "teach that move.\p"
+ .string "I'm glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+gText_ApprenticeWhichMove6:: @ 82C03CA
+ .string "Oh! Lucky!\n"
+ .string "I met you again, {PLAYER}!\l"
+ .string "I need to tap your mind again today.\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "For my {STR_VAR_1}, which is the move\n"
+ .string "best suited, {STR_VAR_2} or\l"
+ .string "{STR_VAR_3}?$"
+
+gText_ApprenticeMoveThanks6:: @ 82C046E
+ .string "Ahhh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that's about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let's meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_ApprenticeWhichMove7:: @ 82C04F9
+ .string "Oh, hello, {PLAYER}.\n"
+ .string "I trust you've been well?\p"
+ .string "I have to seek your advice again.\n"
+ .string "It's about my dearest {STR_VAR_1}.\p"
+ .string "What would be the ideal move for\n"
+ .string "my lovable {STR_VAR_1}?\l"
+ .string "{STR_VAR_2} or {STR_VAR_3}?$"
+
+gText_ApprenticeMoveThanks7:: @ 82C0598
+ .string "{STR_VAR_1} it is!\n"
+ .string "I will teach that right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_ApprenticeWhichMove8:: @ 82C0602
+ .string "Eek! {PLAYER}! I met you again!\n"
+ .string "I… I'm overjoyed!\p"
+ .string "Whenever I'm in need, you're always\n"
+ .string "there for me, {PLAYER}!\p"
+ .string "Today, I want you to recommend\n"
+ .string "a move for me!\p"
+ .string "Please choose a move for\n"
+ .string "my {STR_VAR_1}!\p"
+ .string "Which move would be better,\n"
+ .string "{STR_VAR_2} or {STR_VAR_3}?$"
+
+gText_ApprenticeMoveThanks8:: @ 82C06D8
+ .string "Oh-oh-oh! Thank you!\n"
+ .string "{STR_VAR_1} is it!\l"
+ .string "Perfectly understood!\p"
+ .string "I hope you'll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_ApprenticeWhichMove9:: @ 82C074A
+ .string "Hola, {PLAYER}{KUN}, bueno!\n"
+ .string "I'm hoping for some more of\l"
+ .string "your sage advice today!\p"
+ .string "What would be the best move for\n"
+ .string "my {STR_VAR_1}?\p"
+ .string "It should be something that'll\n"
+ .string "let me win just like that!\p"
+ .string "Would it be {STR_VAR_2}?\n"
+ .string "Or {STR_VAR_3}?$"
+
+gText_ApprenticeMoveThanks9:: @ 82C0809
+ .string "Uh-huh, {STR_VAR_1} it is!\n"
+ .string "Si, bueno!\l"
+ .string "I'll get it taught, like, ka-blam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_ApprenticeWhichMove10:: @ 82C086E
+ .string "{PLAYER}{KUN}, it's completely wild!\p"
+ .string "My POKéMON!\n"
+ .string "It learned six moves!\p"
+ .string "Of course I'm lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I'm not very good at choosing moves\l"
+ .string "for my POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "kind of move I should teach?\p"
+ .string "{STR_VAR_2} or {STR_VAR_3}--which\n"
+ .string "would go with my {STR_VAR_1} best?$"
+
+gText_ApprenticeMoveThanks10:: @ 82C0982
+ .string "Okay, so it's {STR_VAR_1} you chose?\n"
+ .string "I'll choose another move, then!\p"
+ .string "Just kidding!\n"
+ .string "I'll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you'll keep teaching me!$"
+
+gText_ApprenticeWhichMove11:: @ 82C0A1D
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin' SAILOR am I!\n"
+ .string "I'm always with it, don't ask me why.\p"
+ .string "Today, I have a move question\n"
+ .string "that begs your suggestion!\p"
+ .string "{STR_VAR_2} and {STR_VAR_3} are\n"
+ .string "the moves. What would be the best\l"
+ .string "for my {STR_VAR_1} so it grooves?$"
+
+gText_ApprenticeMoveThanks11:: @ 82C0AFD
+ .string "{STR_VAR_1}, you say, hey, hey!\n"
+ .string "I'll go teach that right away!\p"
+ .string "If it's advice I ever need,\n"
+ .string "{PLAYER}, your word I'll always heed!$"
+
+gText_ApprenticeWhichMove12:: @ 82C0B6F
+ .string "Oh, yeahah, if it isn't {PLAYER}!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I'm already talking to you!\p"
+ .string "{PLAYER}, are you surprised by me?\n"
+ .string "I want your advice, can't you see?\p"
+ .string "Are you receiving me?\n"
+ .string "You are receiving me!\p"
+ .string "My {STR_VAR_1}--what should it use?\n"
+ .string "It's {STR_VAR_2} or {STR_VAR_3},\l"
+ .string "what do you choose?$"
+
+gText_ApprenticeMoveThanks12:: @ 82C0C7D
+ .string "If that {STR_VAR_1} is the best,\n"
+ .string "I'll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don't you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_ApprenticeWhichMove13:: @ 82C0D0B
+ .string "Gahack! Gaah! Oh, {PLAYER}{KUN}…\n"
+ .string "I have this lousy cold, I do…\p"
+ .string "I want to pick a move for my POKéMON,\n"
+ .string "but I'm not up to it…\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{KUN}, if I had to choose between\n"
+ .string "{STR_VAR_2} and {STR_VAR_3} for\l"
+ .string "my {STR_VAR_1}, which would it be?$"
+
+gText_ApprenticeMoveThanks13:: @ 82C0DFE
+ .string "Hm, {STR_VAR_1}, all right. Cough!\n"
+ .string "I'll go teach it when I get better.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_ApprenticeWhichMove14:: @ 82C0E71
+ .string "Er… Um…\n"
+ .string "{PLAYER}{KUN}…?\p"
+ .string "Please, don't look at me that way.\n"
+ .string "I'm getting all flustered…\l"
+ .string "I… I need your advice.\p"
+ .string "I… I'm really embarrassed, but I can't\n"
+ .string "decide what move I should teach\l"
+ .string "my POKéMON.\p"
+ .string "It's for my {STR_VAR_1}.\n"
+ .string "If the choices were {STR_VAR_2} or\l"
+ .string "{STR_VAR_3}, which would be better?$"
+
+gText_ApprenticeMoveThanks14:: @ 82C0F6D
+ .string "Oh… Okay!\n"
+ .string "I'll try that {STR_VAR_1}.\p"
+ .string "I hope I can teach that move…\n"
+ .string "This is so nerve-racking…\p"
+ .string "Thank you, {PLAYER}{KUN}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_ApprenticeWhichMove15:: @ 82C1003
+ .string "Hm? You appear to be {PLAYER}{KUN}…\n"
+ .string "But are you really real?\p"
+ .string "Perhaps you're one of those popular\n"
+ .string "mimics?\p"
+ .string "No, no, if you are real, it's fine.\n"
+ .string "No need to be upset, I assure you!\p"
+ .string "Incidentally, I would like to obtain\n"
+ .string "your advice.\p"
+ .string "It's about my {STR_VAR_1}.\p"
+ .string "Which move would be better for it to\n"
+ .string "use, {STR_VAR_2} or {STR_VAR_3}?$"
+
+gText_ApprenticeMoveThanks15:: @ 82C1122
+ .string "{STR_VAR_1}?\n"
+ .string "There's no question about that?\p"
+ .string "I see. If that's the case, that's fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope it is something even\n"
+ .string "my POKéMON can learn.\p"
+ .string "Let us meet again!$"
+
+gText_ApprenticePickWinSpeech0:: @ 82C11D1
+ .string "Oh… {PLAYER}?\n"
+ .string "It is {PLAYER}!\l"
+ .string "Oh! Sniff…sob… Please, listen!\p"
+ .string "I… When I battle, I get so nervous,\n"
+ .string "I can't help crying even if I win…\p"
+ .string "I wish I could say something cool\n"
+ .string "when I win…\p"
+ .string "Please, please, {PLAYER}!\n"
+ .string "Could you maybe teach me something\l"
+ .string "cool to say when I win so I don't cry?$"
+
+gText_ApprenticeWinSpeechThanks0:: @ 82C12D5
+ .string "{STR_VAR_1}\p"
+ .string "Awesome! Wicked! Awoooh!\n"
+ .string "It's really cool!\p"
+ .string "Oh… I'm sorry…\n"
+ .string "I'm so happy, I'm crying…\p"
+ .string "Snivel… {PLAYER}!\n"
+ .string "Thank you so much for everything!\p"
+ .string "I will battle the best I can for\n"
+ .string "your sake, {PLAYER}!\p"
+ .string "{PLAYER}…\n"
+ .string "Next time… We should battle!$"
+
+gText_ApprenticePickWinSpeech1:: @ 82C13AB
+ .string "Yay! It's {PLAYER}! Hello!\n"
+ .string "I wanted to ask you something!\p"
+ .string "I want to say something cool when\n"
+ .string "I win a match.\p"
+ .string "Do you have a cool saying that\n"
+ .string "you could recommend?$"
+
+gText_ApprenticeWinSpeechThanks1:: @ 82C1444
+ .string "{STR_VAR_1}\p"
+ .string "Oh, wow! That is so cool!\n"
+ .string "Okay, I'll say that!\p"
+ .string "Thanks for teaching me all this time!\n"
+ .string "I'm going to do the best I can\l"
+ .string "wherever I go from now on!\p"
+ .string "When we meet again, it'll be for\n"
+ .string "a battle!$"
+
+gText_ApprenticePickWinSpeech2:: @ 82C1501
+ .string "{PLAYER}, hello!\p"
+ .string "My POKéMON and I are ready for\n"
+ .string "anything, except for one thing.\p"
+ .string "I think it would be good if I had\n"
+ .string "something to shout when I win.\p"
+ .string "Could you think up something good\n"
+ .string "to say?$"
+
+gText_ApprenticeWinSpeechThanks2:: @ 82C15B6
+ .string "{STR_VAR_1}\p"
+ .string "…Cool!\n"
+ .string "I will use that!\p"
+ .string "I'm going out to battle all over\n"
+ .string "the place.\p"
+ .string "Who knows, I may even get to battle\n"
+ .string "you one day, {PLAYER}.\p"
+ .string "Next time, let's meet at a place\n"
+ .string "of battle!$"
+
+gText_ApprenticePickWinSpeech3:: @ 82C165E
+ .string "Hello, {PLAYER}…\n"
+ .string "I'm sorry to bug you, but I'm hopeless…\p"
+ .string "Even when…\n"
+ .string "Even when I win, I don't have anything\l"
+ .string "special to say…\p"
+ .string "I know that it doesn't mean anything\n"
+ .string "to you, {PLAYER}.\p"
+ .string "But it means a lot to me…\p"
+ .string "Please, {PLAYER}, what should I say\n"
+ .string "if I win a battle?$"
+
+gText_ApprenticeWinSpeechThanks3:: @ 82C174F
+ .string "{STR_VAR_1}\p"
+ .string "That's inspired…\p"
+ .string "Uh… Is it okay for someone like me\n"
+ .string "to even say that?\p"
+ .string "No! I'll do my best!\p"
+ .string "{PLAYER}, thank you so much for\n"
+ .string "putting up with me for so long…\p"
+ .string "I promise to do my best from now on.\p"
+ .string "I'm sure you'll quickly forget about\n"
+ .string "someone like me, but let's meet\l"
+ .string "somewhere again!$"
+
+gText_ApprenticePickWinSpeech4:: @ 82C1862
+ .string "Oh, {PLAYER}{KUN}.\n"
+ .string "There's something I want you to hear.\p"
+ .string "I know that I don't always sound\n"
+ .string "nice or polite…\p"
+ .string "When I win a battle, I think I come\n"
+ .string "across as being arrogant.\p"
+ .string "I don't want people to dislike me,\n"
+ .string "so I want to say something nice to\l"
+ .string "someone I beat.\p"
+ .string "But I can't think of anything good!\n"
+ .string "Could you think something up for me?$"
+
+gText_ApprenticeWinSpeechThanks4:: @ 82C19A0
+ .string "{STR_VAR_1}\p"
+ .string "Not bad!\n"
+ .string "Yup, that's what I'll go with!\p"
+ .string "I'm going to hit the road and do what\n"
+ .string "I can with what you taught me in\l"
+ .string "my head and heart.\p"
+ .string "I'm sorry that I've been so pushy\n"
+ .string "with you!\p"
+ .string "Next time, we battle, okay?\n"
+ .string "See you!$"
+
+gText_ApprenticePickWinSpeech5:: @ 82C1A76
+ .string "Oh, I can't get over how busy I am!\n"
+ .string "Oh, hey, I was looking for you, {PLAYER}{KUN}.\p"
+ .string "Are you well as usual?\n"
+ .string "Things haven't changed for me at all.\p"
+ .string "I've got running, fighting, and mapping\n"
+ .string "to do. Why am I so busy?\p"
+ .string "But even though I'm busy, it'd be rude\n"
+ .string "to just turn on my heels and walk away\l"
+ .string "from a win without saying a word.\p"
+ .string "So, what would be a cool saying to\n"
+ .string "underline my coolness when I'm done\l"
+ .string "and walking away? {PLAYER}{KUN}, help me!$"
+
+gText_ApprenticeWinSpeechThanks5:: @ 82C1C16
+ .string "{STR_VAR_1}\p"
+ .string "Okay, gotcha.\n"
+ .string "I can find time to say that!\p"
+ .string "Honestly, I'm glad I met a good mentor\n"
+ .string "like you.\p"
+ .string "I'm going to make time somehow so\n"
+ .string "I can get into battling.\p"
+ .string "Thanks for everything, {PLAYER}{KUN}!\n"
+ .string "We have to battle, you and me, one day!$"
+
+gText_ApprenticePickWinSpeech6:: @ 82C1CF5
+ .string "I lucked out again!\n"
+ .string "{PLAYER}! Am I glad to see you!\l"
+ .string "Like usual, I need your advice!\p"
+ .string "Drum roll, please!\n"
+ .string "The last question I have is…\p"
+ .string "If I win a battle and want to end\n"
+ .string "it with a cool flourish, what\l"
+ .string "should I say?$"
+
+gText_ApprenticeWinSpeechThanks6:: @ 82C1DC1
+ .string "{STR_VAR_1}\p"
+ .string "That… That's fabulous!\n"
+ .string "It's dignified and cool! I claim it!\p"
+ .string "…Listen, I think I'm getting decent\n"
+ .string "at this, huh?\p"
+ .string "So, I'm thinking of challenging other\n"
+ .string "TRAINERS from now on.\p"
+ .string "{PLAYER}, your advice really helped me.\p"
+ .string "Maybe one day, there'll be a time when\n"
+ .string "we battle!\p"
+ .string "Thank you for everything!$"
+
+gText_ApprenticePickWinSpeech7:: @ 82C1EDC
+ .string "Oh, {PLAYER}.\n"
+ .string "I'm so glad I met you!\p"
+ .string "I no longer have any concerns with\n"
+ .string "regard to my POKéMON.\p"
+ .string "It's myself that worries me…\p"
+ .string "Do you know how a TRAINER says\n"
+ .string "a few things upon winning a battle?\p"
+ .string "Definitely, I wish I could do that,\n"
+ .string "too!\p"
+ .string "Please, what should I say when\n"
+ .string "I win a battle?$"
+
+gText_ApprenticeWinSpeechThanks7:: @ 82C1FEC
+ .string "{STR_VAR_1}\p"
+ .string "Ah! That saying! It refreshes me\n"
+ .string "and makes me feel reborn!\p"
+ .string "I must use that right away!\p"
+ .string "And now, I must take my leave,\n"
+ .string "{PLAYER}…\p"
+ .string "I will go out to battle many others,\n"
+ .string "but never will I forget your teachings.\p"
+ .string "Perhaps one day…\n"
+ .string "Farewell!$"
+
+gText_ApprenticePickWinSpeech8:: @ 82C20D1
+ .string "Eek! I spotted {PLAYER}!\n"
+ .string "I… I'm overjoyed to see you!\p"
+ .string "Oh-oh-oh! There's something I just\n"
+ .string "had to ask you!\p"
+ .string "A little while ago, I won a battle.\n"
+ .string "That part was giddying!\p"
+ .string "But it made me so overjoyed that\n"
+ .string "I choked up and couldn't say a thing!\p"
+ .string "So now, {PLAYER}, please, I want you to\n"
+ .string "think up an exit line for when I win!$"
+
+gText_ApprenticeWinSpeechThanks8:: @ 82C21FF
+ .string "{STR_VAR_1}\p"
+ .string "Waaaaah!\n"
+ .string "I'm going to say that?!\l"
+ .string "I… I'm delirious with joy!\p"
+ .string "Th-th-thank you!\n"
+ .string "I have nothing left to regret now!\p"
+ .string "I'm going to travel now and battle\n"
+ .string "all sorts of people.\p"
+ .string "Everything, I owe it to you, {PLAYER}.\n"
+ .string "Really, really, thank you!\p"
+ .string "I've got to go now, but let's meet\n"
+ .string "in battle one day!$"
+
+gText_ApprenticePickWinSpeech9:: @ 82C231C
+ .string "Hola, bueno!\n"
+ .string "{PLAYER}{KUN}!\p"
+ .string "You know, I'm getting the itch to roam\n"
+ .string "and battle where I may.\p"
+ .string "But before I do, I want your advice\n"
+ .string "once again, please!\p"
+ .string "If I were to win a battle, what would\n"
+ .string "be a good boast I could say to my\l"
+ .string "fallen TRAINER opponent?$"
+
+gText_ApprenticeWinSpeechThanks9:: @ 82C2407
+ .string "{STR_VAR_1}\p"
+ .string "Uh-huh, that's sweet!\n"
+ .string "Si, bueno!\l"
+ .string "I'll try saying that, like, ham!\p"
+ .string "And now, it's time to say good-bye!\n"
+ .string "Thanks for all sorts of things!\p"
+ .string "Give me a battle one day, OK?\n"
+ .string "Adios!$"
+
+gText_ApprenticePickWinSpeech10:: @ 82C24B5
+ .string "{PLAYER}{KUN}, there's big trouble!\p"
+ .string "When I win a battle, I brag about it\n"
+ .string "for an hour at least!\p"
+ .string "Of course I'm lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I'm not very good at chatting.\p"
+ .string "So, how about deciding for me what\n"
+ .string "I should say after winning a battle,\l"
+ .string "master?$"
+
+gText_ApprenticeWinSpeechThanks10:: @ 82C25B1
+ .string "{STR_VAR_1}\p"
+ .string "That's what I should say, huh?\n"
+ .string "Then, I'll stay away from that!\p"
+ .string "Just kidding!\n"
+ .string "I'll obey your teaching, master!\p"
+ .string "Thanks for teaching me all this time,\n"
+ .string "master!\p"
+ .string "I'm finally understanding what being\n"
+ .string "a TRAINER is about.\p"
+ .string "I'm going to go out and win battles\n"
+ .string "against any TRAINER.\p"
+ .string "Maybe it'll be you one day, master!\p"
+ .string "That's all!\n"
+ .string "Farewell, my master!$"
+
+gText_ApprenticePickWinSpeech11:: @ 82C2707
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin' SAILOR am I!\n"
+ .string "This will be my last question,\l"
+ .string "don't you cry!\p"
+ .string "It's a saying question\n"
+ .string "that begs your suggestion!\p"
+ .string "If I win a match, what can I say\n"
+ .string "in a real cool way?$"
+
+gText_ApprenticeWinSpeechThanks11:: @ 82C27D4
+ .string "{STR_VAR_1}\p"
+ .string "Perfect! That's what I'll use.\n"
+ .string "I was right to make you choose!\p"
+ .string "And now, I think it'd be best,\n"
+ .string "if I were to fly the nest!\p"
+ .string "Thanks for all you taught me.\n"
+ .string "I'll be off on a battle spree!\p"
+ .string "B-O-N-V-O-Y-A-G-E!\n"
+ .string "And that spells bon voyage,\l"
+ .string "to you this is my homage!$"
+
+gText_ApprenticePickWinSpeech12:: @ 82C28D6
+ .string "Oh, yeah, {PLAYER}!\n"
+ .string "I found you again today!\p"
+ .string "What should I do? Ask you again?\n"
+ .string "Why not? I'm already asking you!\p"
+ .string "Anyways, {PLAYER}…\n"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\l"
+ .string "I need some more advice for me!\p"
+ .string "It's about what I should yell.\n"
+ .string "Something cool to holler when\l"
+ .string "a battle ends well.\p"
+ .string "Come on, I wanna hear you say it!$"
+
+gText_ApprenticeWinSpeechThanks12:: @ 82C2A0B
+ .string "{STR_VAR_1}\p"
+ .string "All right, all right!\n"
+ .string "I'll use that because it's so tight!\p"
+ .string "I'm out of things to ask you.\n"
+ .string "Waving bye is all that's left to do.\p"
+ .string "But maybe one day we'll meet, with one\n"
+ .string "destined to go down in defeat.\p"
+ .string "But, it really is time to say farewell.\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don't you forget about me!\p"
+ .string "Take care, {PLAYER}!\n"
+ .string "Love ya!$"
+
+gText_ApprenticePickWinSpeech13:: @ 82C2B50
+ .string "{PLAYER}{KUN}, I'm finished…\n"
+ .string "My nose won't stop dripping…\p"
+ .string "I was trying to think up something\n"
+ .string "cool to say when I win a battle.\p"
+ .string "It inspired me so much, it made me cry,\n"
+ .string "and now my nose won't stop running…\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me, {PLAYER}{KUN}.\p"
+ .string "When I win a battle,\n"
+ .string "what should I say?$"
+
+gText_ApprenticeWinSpeechThanks13:: @ 82C2C77
+ .string "{STR_VAR_1}\p"
+ .string "… … …That's good.\n"
+ .string "No, it's awe inspiring!\l"
+ .string "It's bringing fresh tears to my eyes!\p"
+ .string "But in spite of my tears and runny\n"
+ .string "nose, I will use that saying!\p"
+ .string "I'm plumb out of things to ask you,\n"
+ .string "{PLAYER}{KUN}.\p"
+ .string "From now on, we're rivals!\n"
+ .string "Thanks for everything!$"
+
+gText_ApprenticePickWinSpeech14:: @ 82C2D67
+ .string "Er… Um…\n"
+ .string "{PLAYER}{KUN}…\p"
+ .string "Please, don't look at me that way.\n"
+ .string "You're making me all nervous.\p"
+ .string "I… I need your advice again.\n"
+ .string "I'll make it my last, though…\p"
+ .string "It's really embarrassing to ask,\n"
+ .string "but what if I win a battle?\l"
+ .string "What should I say?$"
+
+gText_ApprenticeWinSpeechThanks14:: @ 82C2E41
+ .string "{STR_VAR_1}\p"
+ .string "Oh… Okay!\n"
+ .string "I'll try to say that!\l"
+ .string "I might be too nervous to say it…\p"
+ .string "Thank you, {PLAYER}{KUN}.\n"
+ .string "I have to say good-bye now.\p"
+ .string "I'll obey all that you've taught me,\n"
+ .string "{PLAYER}{KUN}, and do the best I can.$"
+
+gText_ApprenticePickWinSpeech15:: @ 82C2EF5
+ .string "Hm? You appear to be {PLAYER}{KUN}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps a clever {PLAYER} DOLL?\p"
+ .string "Oh, no, no, no, don't worry!\n"
+ .string "If you really are real, please\l"
+ .string "forget about my rudeness.\p"
+ .string "No need to be so angry. All I wish for\n"
+ .string "is more of your fine advice.\p"
+ .string "It concerns a saying.\p"
+ .string "More precisely, what should I say\n"
+ .string "if I win a battle?$"
+
+gText_ApprenticeWinSpeechThanks15:: @ 82C3023
+ .string "{STR_VAR_1}\p"
+ .string "… … … … … …\n"
+ .string "When I win a match…\p"
+ .string "{STR_VAR_1}\p"
+ .string "…Are you serious?\p"
+ .string "I see. If you are serious, that's fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope even I will be able to\n"
+ .string "put that saying to good use.\p"
+ .string "I seem to have run dry on what advice\n"
+ .string "I need.\p"
+ .string "I do believe it's high time I bid you\n"
+ .string "farewell and strike out on my own.\p"
+ .string "Thank you, my mentor!\n"
+ .string "I apologize for my skepticism!$"
diff --git a/data/text/battle_dome.inc b/data/text/battle_dome.inc
new file mode 100644
index 000000000..8a26ff5ff
--- /dev/null
+++ b/data/text/battle_dome.inc
@@ -0,0 +1,341 @@
+BattleDome_Text_Potential1::
+ .string "The best candidate to be a champ!$"
+
+BattleDome_Text_Potential2::
+ .string "A sure-finalist team.$"
+
+BattleDome_Text_Potential3::
+ .string "A likely top-three finisher.$"
+
+BattleDome_Text_Potential4::
+ .string "A candidate to finish first.$"
+
+BattleDome_Text_Potential5::
+ .string "A team with top-class potential.$"
+
+BattleDome_Text_Potential6::
+ .string "The dark horse team this tournament.$"
+
+BattleDome_Text_Potential7::
+ .string "A better-than-average team.$"
+
+BattleDome_Text_Potential8::
+ .string "This tournament's average team.$"
+
+BattleDome_Text_Potential9::
+ .string "A team with average potential.$"
+
+BattleDome_Text_Potential10::
+ .string "A weaker-than-average team.$"
+
+BattleDome_Text_Potential11::
+ .string "A team looking for its first win.$"
+
+BattleDome_Text_Potential12::
+ .string "One win will make this team proud.$"
+
+BattleDome_Text_Potential13::
+ .string "Overall, a weak team.$"
+
+BattleDome_Text_Potential14::
+ .string "A team with very low potential.$"
+
+BattleDome_Text_Potential15::
+ .string "A team unlikely to win the tournament.$"
+
+BattleDome_Text_Potential16::
+ .string "The team most unlikely to win.$"
+
+BattleDome_Text_PotentialDomeAceTucker::
+ .string "The perfect, invincible superstar!$"
+
+BattleDome_Text_StyleRiskDisaster::
+ .string "Willing to risk total disaster at times.$"
+
+BattleDome_Text_StyleEndureLongBattles::
+ .string "Skilled at enduring long battles.$"
+
+BattleDome_Text_StyleVariesTactics::
+ .string "Varies tactics to suit the opponent.$"
+
+BattleDome_Text_StyleToughWinningPattern::
+ .string "Has a tough winning pattern.$"
+
+BattleDome_Text_StyleUsesVeryRareMove::
+ .string "Occasionally uses a very rare move.$"
+
+BattleDome_Text_StyleUsesStartlingMoves::
+ .string "Uses startling and disruptive moves.$"
+
+BattleDome_Text_StyleConstantlyWatchesHP::
+ .string "Constantly watches HP in battle.$"
+
+BattleDome_Text_StyleStoresAndLoosesPower::
+ .string "Good at storing then loosing power.$"
+
+BattleDome_Text_StyleEnfeeblesFoes::
+ .string "Skilled at enfeebling foes.$"
+
+BattleDome_Text_StylePrefersLuckTactics::
+ .string "Prefers tactics that rely on luck.$"
+
+BattleDome_Text_StyleRegalAtmosphere::
+ .string "Attacks with a regal atmosphere.$"
+
+BattleDome_Text_StylePowerfulLowPPMoves::
+ .string "Attacks with powerful, low-PP moves.$"
+
+BattleDome_Text_StyleEnfeebleThenAttack::
+ .string "Skilled at enfeebling, then attacking.$"
+
+BattleDome_Text_StyleBattlesWhileEnduring::
+ .string "Battles while enduring all attacks.$"
+
+BattleDome_Text_StyleUpsetsFoesEmotionally::
+ .string "Skilled at upsetting foes emotionally.$"
+
+BattleDome_Text_StyleStrongAndStraightforward::
+ .string "Uses strong and straightforward moves.$"
+
+BattleDome_Text_StyleAggressivelyStrongMoves::
+ .string "Aggressively uses strong moves.$"
+
+BattleDome_Text_StyleCleverlyDodgesAttacks::
+ .string "Battles while cleverly dodging attacks.$"
+
+BattleDome_Text_StyleUsesUpsettingMoves::
+ .string "Skilled at using upsetting attacks.$"
+
+BattleDome_Text_StyleUsesPopularMoves::
+ .string "Uses many popular moves.$"
+
+BattleDome_Text_StyleHasPowerfulComboMoves::
+ .string "Has moves for powerful combinations.$"
+
+BattleDome_Text_StyleUsesHighProbabilityMoves::
+ .string "Uses high-probability attacks.$"
+
+BattleDome_Text_StyleAggressivelySpectacularMoves::
+ .string "Aggressively uses spectacular moves.$"
+
+BattleDome_Text_StyleEmphasizesOffenseOverDefense::
+ .string "Emphasizes offense over defense.$"
+
+BattleDome_Text_StyleEmphasizesDefenseOverOffense::
+ .string "Emphasizes defense over offense.$"
+
+BattleDome_Text_StyleAttacksQuicklyStrongMoves::
+ .string "Attacks quickly with strong moves.$"
+
+BattleDome_Text_StyleUsesAddedEffectMoves::
+ .string "Often uses moves with added effects.$"
+
+BattleDome_Text_StyleUsesBalancedMixOfMoves::
+ .string "Uses a well-balanced mix of moves.$"
+
+BattleDome_Text_StyleSampleMessage1::
+ .string "This is sample message 1.$"
+
+BattleDome_Text_StyleSampleMessage2::
+ .string "This is sample message 2.$"
+
+BattleDome_Text_StyleSampleMessage3::
+ .string "This is sample message 3.$"
+
+BattleDome_Text_StyleSampleMessage4::
+ .string "This is sample message 4.$"
+
+BattleDome_Text_EmphasizesHPAndAtk::
+ .string "Emphasizes HP and ATTACK.$"
+
+BattleDome_Text_EmphasizesHPAndDef::
+ .string "Emphasizes HP and DEFENSE.$"
+
+BattleDome_Text_EmphasizesHPAndSpeed::
+ .string "Emphasizes HP and SPEED.$"
+
+BattleDome_Text_EmphasizesHPAndSpAtk::
+ .string "Emphasizes HP and SP. ATTACK.$"
+
+BattleDome_Text_EmphasizesHPAndSpDef::
+ .string "Emphasizes HP and SP. DEFENSE.$"
+
+BattleDome_Text_EmphasizesAtkAndDef::
+ .string "Emphasizes ATTACK and DEFENSE.$"
+
+BattleDome_Text_EmphasizesAtkAndSpeed::
+ .string "Emphasizes ATTACK and SPEED.$"
+
+BattleDome_Text_EmphasizesAtkAndSpAtk::
+ .string "Emphasizes ATTACK and SP. ATTACK.$"
+
+BattleDome_Text_EmphasizesAtkAndSpDef::
+ .string "Emphasizes ATTACK and SP. DEFENSE.$"
+
+BattleDome_Text_EmphasizesDefAndSpeed::
+ .string "Emphasizes DEFENSE and SPEED.$"
+
+BattleDome_Text_EmphasizesDefAndSpAtk::
+ .string "Emphasizes DEFENSE and SP. ATTACK.$"
+
+BattleDome_Text_EmphasizesDefAndSpDef::
+ .string "Emphasizes DEFENSE and SP. DEFENSE.$"
+
+BattleDome_Text_EmphasizesSpeedAndSpAtk::
+ .string "Emphasizes SPEED and SP. ATTACK.$"
+
+BattleDome_Text_EmphasizesSpeedAndSpDef::
+ .string "Emphasizes SPEED and SP. DEFENSE.$"
+
+BattleDome_Text_EmphasizesSpAtkAndSpDef::
+ .string "Emphasizes SP. ATTACK and SP. DEFENSE.$"
+
+BattleDome_Text_EmphasizesHP::
+ .string "Emphasizes HP.$"
+
+BattleDome_Text_EmphasizesAtk::
+ .string "Emphasizes ATTACK.$"
+
+BattleDome_Text_EmphasizesDef::
+ .string "Emphasizes DEFENSE.$"
+
+BattleDome_Text_EmphasizesSpeed::
+ .string "Emphasizes SPEED.$"
+
+BattleDome_Text_EmphasizesSpAtk::
+ .string "Emphasizes SP. ATTACK.$"
+
+BattleDome_Text_EmphasizesSpDef::
+ .string "Emphasizes SP. DEFENSE.$"
+
+BattleDome_Text_NeglectsHPAndAtk::
+ .string "Neglects HP and ATTACK.$"
+
+BattleDome_Text_NeglectsHPAndDef::
+ .string "Neglects HP and DEFENSE.$"
+
+BattleDome_Text_NeglectsHPAndSpeed::
+ .string "Neglects HP and SPEED.$"
+
+BattleDome_Text_NeglectsHPAndSpAtk::
+ .string "Neglects HP and SP. ATTACK.$"
+
+BattleDome_Text_NeglectsHPAndSpDef::
+ .string "Neglects HP and SP. DEFENSE.$"
+
+BattleDome_Text_NeglectsAtkAndDef::
+ .string "Neglects ATTACK and DEFENSE.$"
+
+BattleDome_Text_NeglectsAtkAndSpeed::
+ .string "Neglects ATTACK and SPEED.$"
+
+BattleDome_Text_NeglectsAtkAndSpAtk::
+ .string "Neglects ATTACK and SP. ATTACK.$"
+
+BattleDome_Text_NeglectsAtkAndSpDef::
+ .string "Neglects ATTACK and SP. DEFENSE.$"
+
+BattleDome_Text_NeglectsDefAndSpeed::
+ .string "Neglects DEFENSE and SPEED.$"
+
+BattleDome_Text_NeglectsDefAndSpAtk::
+ .string "Neglects DEFENSE and SP. ATTACK.$"
+
+BattleDome_Text_NeglectsDefAndSpDef::
+ .string "Neglects DEFENSE and SP. DEFENSE.$"
+
+BattleDome_Text_NeglectsSpeedAndSpAtk::
+ .string "Neglects SPEED and SP. ATTACK.$"
+
+BattleDome_Text_NeglectsSpeedAndSpDef::
+ .string "Neglects SPEED and SP. DEFENSE.$"
+
+BattleDome_Text_NeglectsSpAtkAndSpDef::
+ .string "Neglects SP. ATTACK and SP. DEFENSE.$"
+
+BattleDome_Text_NeglectsHP::
+ .string "Neglects HP.$"
+
+BattleDome_Text_NeglectsAtk::
+ .string "Neglects ATTACK.$"
+
+BattleDome_Text_NeglectsDef::
+ .string "Neglects DEFENSE.$"
+
+BattleDome_Text_NeglectsSpeed::
+ .string "Neglects SPEED.$"
+
+BattleDome_Text_NeglectsSpAtk::
+ .string "Neglects SP. ATTACK.$"
+
+BattleDome_Text_NeglectsSpDef::
+ .string "Neglects SP. DEFENSE.$"
+
+BattleDome_Text_RaisesMonsWellBalanced::
+ .string "Raises POKéMON in a well-balanced way.$"
+
+BattleDome_Text_LetTheBattleBegin::
+ .string "Let the battle begin!$"
+
+BattleDome_Text_TrainerWonUsingMove::
+ .string "{STR_VAR_1} won using {STR_VAR_2}!$"
+
+BattleDome_Text_TrainerBecameChamp::
+ .string "{STR_VAR_1} became the champ!$"
+
+BattleDome_Text_TrainerWonByDefault::
+ .string "{STR_VAR_1} won by default!$"
+
+BattleDome_Text_TrainerWonOutrightByDefault::
+ .string "{STR_VAR_1} won outright by default!$"
+
+BattleDome_Text_TrainerWonNoMoves::
+ .string "{STR_VAR_1} won without using a move!$"
+
+BattleDome_Text_TrainerWonOutrightNoMoves::
+ .string "{STR_VAR_1} won outright with no moves!$"
+
+BattleDome_Text_Round1Match1::
+ .string "Round 1, Match 1$"
+
+BattleDome_Text_Round1Match2::
+ .string "Round 1, Match 2$"
+
+BattleDome_Text_Round1Match3::
+ .string "Round 1, Match 3$"
+
+BattleDome_Text_Round1Match4::
+ .string "Round 1, Match 4$"
+
+BattleDome_Text_Round1Match5::
+ .string "Round 1, Match 5$"
+
+BattleDome_Text_Round1Match6::
+ .string "Round 1, Match 6$"
+
+BattleDome_Text_Round1Match7::
+ .string "Round 1, Match 7$"
+
+BattleDome_Text_Round1Match8::
+ .string "Round 1, Match 8$"
+
+BattleDome_Text_Round2Match1::
+ .string "Round 2, Match 1$"
+
+BattleDome_Text_Round2Match2::
+ .string "Round 2, Match 2$"
+
+BattleDome_Text_Round2Match3::
+ .string "Round 2, Match 3$"
+
+BattleDome_Text_Round2Match4::
+ .string "Round 2, Match 4$"
+
+BattleDome_Text_SemifinalMatch1::
+ .string "Semifinal Match 1$"
+
+BattleDome_Text_SemifinalMatch2::
+ .string "Semifinal Match 2$"
+
+BattleDome_Text_FinalMatch::
+ .string "Final Match$"
diff --git a/data/text/battle_tent.inc b/data/text/battle_tent.inc
new file mode 100644
index 000000000..98aa689ce
--- /dev/null
+++ b/data/text/battle_tent.inc
@@ -0,0 +1,433 @@
+FallarborTown_BattleTentLobby_Text_WelcomeToBattleTent: @ 82C47EB
+ .string "I welcome you to the BATTLE TENT\n"
+ .string "FALLARBOR SITE!\p"
+ .string "I am your guide to the Set KO Tourney!$"
+
+FallarborTown_BattleTentLobby_Text_TakeChallenge: @ 82C4843
+ .string "Now, do you wish to take the challenge\n"
+ .string "of a Set KO Tourney?$"
+
+FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge: @ 82C487F
+ .string "We await your challenge on\n"
+ .string "another occasion!$"
+
+FallarborTown_BattleTentLobby_Text_ExplainFallarborTent: @ 82C48AC
+ .string "In the FALLARBOR BATTLE TENT,\n"
+ .string "we undertake the Set KO Tourney.\p"
+ .string "All participants enter with a team of\n"
+ .string "three POKéMON.\p"
+ .string "The three POKéMON must be lined up\n"
+ .string "in the order that they are to appear in.\p"
+ .string "During battle, the POKéMON will appear\n"
+ .string "one at a time in the preset order.\p"
+ .string "Once a POKéMON enters battle, it must\n"
+ .string "remain out until the match is decided.\p"
+ .string "If a match remains undecided in\n"
+ .string "three turns, it goes to judging.\p"
+ .string "If you wish to interrupt your challenge,\n"
+ .string "please save the game.\p"
+ .string "If you don't save, you will not be able\n"
+ .string "to continue with your challenge.\p"
+ .string "If you pull off the feat of beating\n"
+ .string "three TRAINERS in succession,\l"
+ .string "we will present you with a fine prize.$"
+
+FallarborTown_BattleTentLobby_Text_SaveBeforeChallenge: @ 82C4B35
+ .string "Before showing you to the BATTLE\n"
+ .string "TENT, I must save. Is that okay?$"
+
+@ Unused
+FallarborTown_BattleTentLobby_Text_WhichLevelMode: @ 82C4B77
+ .string "We offer two levels of challenge,\n"
+ .string "Level 50 and Open Level.\l"
+ .string "Which is your choice?$"
+
+FallarborTown_BattleTentLobby_Text_SelectThreeMons: @ 82C4BC8
+ .string "Very well, now select your\n"
+ .string "three POKéMON, please.$"
+
+FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLv50: @ 82C4BFA
+ .string "My dear challenger!\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for entry.\p"
+ .string "They also must not hold the same\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you have made your preparations,\n"
+ .string "please do return.$"
+
+FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen: @ 82C4CC0
+ .string "My dear challenger!\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for entry.\p"
+ .string "To qualify, you must bring three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not hold the same\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you have made your preparations,\n"
+ .string "please do return.$"
+
+FallarborTown_BattleTentLobby_Text_GuideYouToBattleTent: @ 82C4DC3
+ .string "I shall now guide you to\n"
+ .string "the BATTLE TENT.$"
+
+FallarborTown_BattleTentLobby_Text_DidntSaveBeforeQuitting: @ 82C4DED
+ .string "My dear challenger!\p"
+ .string "You did not save the game before\n"
+ .string "shutting down, did you?\p"
+ .string "It is unfortunate, but that has\n"
+ .string "resulted in your disqualification\l"
+ .string "from your challenge.\p"
+ .string "You may, of course, start with a fresh\n"
+ .string "challenge.$"
+
+FallarborTown_BattleTentLobby_Text_BeatThreeTrainers: @ 82C4EC3
+ .string "How splendid! You have beaten\n"
+ .string "three TRAINERS in succession!$"
+
+FallarborTown_BattleTentLobby_Text_WaitWhileSaveGame: @ 82C4EFF
+ .string "Please wait while I save the game.$"
+
+FallarborTown_BattleTentLobby_Text_PresentYouWithPrize: @ 82C4F22
+ .string "In commemoration of your 3-win streak,\n"
+ .string "we present you with this prize.$"
+
+FallarborTown_BattleTentLobby_Text_ReceivedPrize: @ 82C4F69
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+FallarborTown_BattleTentLobby_Text_BagFullReturnForPrize: @ 82C4F83
+ .string "Oh?\n"
+ .string "Your BAG seems to be full.\p"
+ .string "I urge you to clear space and\n"
+ .string "return for your prize.$"
+
+FallarborTown_BattleTentLobby_Text_ThankYouWaitWhileSaving: @ 82C4FD7
+ .string "Thank you so much for participating!\p"
+ .string "Please wait while I save the game.$"
+
+FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2: @ 82C501F
+ .string "We await your challenge on\n"
+ .string "another occasion!$"
+
+FallarborTown_BattleTentLobby_Text_LookingForwardToArrival: @ 82C504C
+ .string "We have been looking forward to\n"
+ .string "your arrival.\p"
+ .string "Before I show you to the BATTLE TENT,\n"
+ .string "I must save the game. Please wait.$"
+
+VerdanturfTown_BattleTentLobby_Text_WelcomeToBattleTent: @ 82C50C3
+ .string "I welcome you to the BATTLE TENT\n"
+ .string "VERDANTURF SITE!\p"
+ .string "Here, the TRAINER's trust toward\n"
+ .string "POKéMON is tested.$"
+
+VerdanturfTown_BattleTentLobby_Text_TakeChallenge: @ 82C5129
+ .string "Do you wish to take the VERDANTURF\n"
+ .string "BATTLE TENT challenge?$"
+
+VerdanturfTown_BattleTentLobby_Text_ExplainVerdanturfTent: @ 82C5163
+ .string "In the VERDANTURF BATTLE TENT,\n"
+ .string "there is one crucial rule that must\l"
+ .string "be obeyed.\p"
+ .string "TRAINERS are permitted only to switch\n"
+ .string "their POKéMON in and out.\p"
+ .string "TRAINERS are otherwise forbidden to\n"
+ .string "command their POKéMON.\p"
+ .string "The POKéMON are to behave according\n"
+ .string "to their nature and battle on their own.\p"
+ .string "You must put your trust in your\n"
+ .string "POKéMON and watch over them.\p"
+ .string "If you achieve the honor of beating\n"
+ .string "three TRAINERS in succession,\l"
+ .string "we will present you with a prize.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don't save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+VerdanturfTown_BattleTentLobby_Text_ReturnFortified: @ 82C539A
+ .string "When you have fortified your heart\n"
+ .string "and POKéMON, you must return.$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_WhichLevelMode: @ 82C53DB
+ .string "There are two levels of difficulty,\n"
+ .string "Level 50 and Open Level.\l"
+ .string "Which is your choice of a challenge?$"
+
+VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLv50: @ 82C543D
+ .string "Sigh…\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for the challenge.\p"
+ .string "To enter, you must provide three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not be holding\n"
+ .string "the same kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Come back when you have made\n"
+ .string "your preparations.$"
+
+VerdanturfTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen: @ 82C5538
+ .string "Sigh…\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for the challenge.\p"
+ .string "To enter, you must provide three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not be holding\n"
+ .string "the same kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Come back when you have made\n"
+ .string "your preparations.$"
+
+VerdanturfTown_BattleTentLobby_Text_SelectThreeMons: @ 82C5633
+ .string "Good. Now, you must select your\n"
+ .string "three POKéMON.$"
+
+VerdanturfTown_BattleTentLobby_Text_SaveBeforeChallenge: @ 82C5662
+ .string "I must save before I show you to\n"
+ .string "the BATTLE TENT. Is that okay?$"
+
+VerdanturfTown_BattleTentLobby_Text_NowFollowMe: @ 82C56A2
+ .string "Good.\n"
+ .string "Now, follow me.$"
+
+VerdanturfTown_BattleTentLobby_Text_ResultsWillBeRecorded: @ 82C56B8
+ .string "I feel privileged for having seen\n"
+ .string "your POKéMON's exploits.\p"
+ .string "The results will be recorded.\n"
+ .string "I must ask you to briefly wait.$"
+
+VerdanturfTown_BattleTentLobby_Text_AchievedThreeWinStreak: @ 82C5731
+ .string "To achieve a 3-win streak…\p"
+ .string "The bonds that bind your heart with\n"
+ .string "your POKéMON seem firm and true.$"
+
+VerdanturfTown_BattleTentLobby_Text_FeatWillBeRecorded: @ 82C5791
+ .string "Your feat will be recorded.\n"
+ .string "I must ask you to briefly wait.$"
+
+VerdanturfTown_BattleTentLobby_Text_PresentYouWithPrize: @ 82C57CD
+ .string "For the feat of your 3-win streak,\n"
+ .string "we present you with this prize.$"
+
+SlateportCity_BattleTentLobby_Text_WelcomeToBattleTent: @ 82C5810
+ .string "Welcome to the BATTLE TENT\n"
+ .string "SLATEPORT SITE!\p"
+ .string "I am your guide to the Battle Swap\n"
+ .string "Tournament.$"
+
+SlateportCity_BattleTentLobby_Text_TakeChallenge: @ 82C586A
+ .string "Would you like to take the Battle\n"
+ .string "Swap challenge?$"
+
+SlateportCity_BattleTentLobby_Text_ExplainSlateportTent: @ 82C589C
+ .string "Here at the SLATEPORT BATTLE TENT,\n"
+ .string "we hold Battle Swap events\l"
+ .string "using rental POKéMON.\p"
+ .string "First, you will be loaned three\n"
+ .string "POKéMON specifically for this event.\p"
+ .string "Using the supplied rental POKéMON,\n"
+ .string "you must conduct a SINGLE BATTLE.\p"
+ .string "If you win, you are permitted to trade\n"
+ .string "one of your rental POKéMON.\p"
+ .string "Repeat this cycle of battling and\n"
+ .string "trading--if you win three times in\l"
+ .string "a row, you will earn a fine prize.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don't save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit: @ 82C5AA5
+ .string "We look forward to your next visit.$"
+
+@ Unused
+SlateportCity_BattleTentLobby_Text_WhichLevelMode: @ 82C5AC9
+ .string "Which level do you wish to challenge?\n"
+ .string "Level 50 or Level 100?$"
+
+SlateportCity_BattleTentLobby_Text_SaveBeforeChallenge: @ 82C5B06
+ .string "Before you begin your challenge,\n"
+ .string "I need to save data. Is that okay?$"
+
+@ Unused
+SlateportCity_BattleTentLobby_Text_HoldMonsForSafekeeping: @ 82C5B4A
+ .string "Okay, I will hold your POKéMON for\n"
+ .string "safekeeping while you compete.$"
+
+SlateportCity_BattleTentLobby_Text_StepThisWay: @ 82C5B8C
+ .string "Please step this way.$"
+
+SlateportCity_BattleTentLobby_Text_ReturnRentalMonsSaveResults: @ 82C5BA2
+ .string "Thank you for participating!\p"
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.\p"
+ .string "I must also save your event results.\n"
+ .string "Please wait.$"
+
+@ Unused
+SlateportCity_BattleTentLobby_Text_ReturnMonsExchangeRentals: @ 82C5C30
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.$"
+
+SlateportCity_BattleTentLobby_Text_WonThreeMatchesReturnMons: @ 82C5C6F
+ .string "Congratulations!\n"
+ .string "You've won three straight matches!\p"
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.\p"
+ .string "I must also save your event results.\n"
+ .string "Please wait.$"
+
+SlateportCity_BattleTentLobby_Text_AwardYouThisPrize: @ 82C5D14
+ .string "In recognition of your 3-win streak,\n"
+ .string "we award you this prize.$"
+
+SlateportCity_BattleTentLobby_Text_NoRoomInBagMakeRoom: @ 82C5D52
+ .string "Oh?\n"
+ .string "You seem to have no room for this.\p"
+ .string "Please make room in your BAG and\n"
+ .string "let me know.$"
+
+SlateportCity_BattleTentLobby_Text_BeenWaitingForYou: @ 82C5DA7
+ .string "We've been waiting for you!\p"
+ .string "Before we resume your challenge,\n"
+ .string "I must save the game.$"
+
+SlateportCity_BattleTentLobby_Text_DidntSaveBeforeQuitting: @ 82C5DFA
+ .string "I'm sorry to say this, but you didn't\n"
+ .string "save before you quit playing last time.\p"
+ .string "As a result, you have been disqualified\n"
+ .string "from your challenge.$"
+
+@ Unused
+SlateportCity_BattleTentLobby_Text_ReturnPersonalMons: @ 82C5E85
+ .string "We'll return your personal POKéMON.$"
+
+@ Unused
+SlateportCity_BattleTentLobby_Text_ReceivedPrize: @ 82C5EA9
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+@ Unused
+SlateportCity_BattleTentLobby_Text_RulesAreListed: @ 82C5EC3
+ .string "The Battle Swap rules are listed.$"
+
+@ Unused
+SlateportCity_BattleTentLobby_Text_ReadWhichHeading: @ 82C5EE5
+ .string "Which heading do you want to read?$"
+
+SlateportCity_BattleTentLobby_Text_ExplainBasicRules: @ 82C5F08
+ .string "In a Battle Swap event, you may use\n"
+ .string "only three POKéMON.\p"
+ .string "Whether you are renting or swapping,\n"
+ .string "your team may not have two or more\l"
+ .string "of the same POKéMON.$"
+
+SlateportCity_BattleTentLobby_Text_ExplainSwapPartnerRules: @ 82C5F9D
+ .string "You may swap POKéMON only with\n"
+ .string "the TRAINER you have just defeated.\p"
+ .string "You may swap for only those POKéMON\n"
+ .string "used by the beaten TRAINER.$"
+
+SlateportCity_BattleTentLobby_Text_ExplainSwapNumberRules: @ 82C6020
+ .string "After every battle you win, you may\n"
+ .string "swap for one of your defeated\l"
+ .string "opponent's POKéMON.\p"
+ .string "You will not be able to swap POKéMON\n"
+ .string "with the third TRAINER in the event.$"
+
+SlateportCity_BattleTentLobby_Text_ExplainSwapNotes: @ 82C60C0
+ .string "There are two key points to be aware\n"
+ .string "of when swapping POKéMON.\p"
+ .string "First, when swapping, you can't check\n"
+ .string "the stats of the POKéMON you are\l"
+ .string "about to receive.\p"
+ .string "Second, the POKéMON on your team\n"
+ .string "are lined up in sequence, depending on\l"
+ .string "the order in which you rented them.\p"
+ .string "This sequence remains unchanged\n"
+ .string "even when swaps are made.$"
+
+SlateportCity_BattleTentLobby_Text_ExplainMonRules: @ 82C61FE
+ .string "The POKéMON of the SLATEPORT\n"
+ .string "BATTLE TENT are all rentals.\p"
+ .string "All rental POKéMON are kept at\n"
+ .string "Level 30.$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_RulesAreListed2: @ 82C6261
+ .string "The VERDANTURF BATTLE TENT\n"
+ .string "rules are listed.$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_ReadWhichHeading: @ 82C628E
+ .string "Which heading do you want to read?$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_ExplainBasicRules: @ 82C62B1
+ .string "Here at the VERDANTURF BATTLE TENT,\n"
+ .string "POKéMON are required to think and\l"
+ .string "battle by themselves.\p"
+ .string "Unlike in the wild, POKéMON that live\n"
+ .string "with people behave differently\l"
+ .string "depending on their nature.$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_ExplainNatureRules: @ 82C636D
+ .string "Depending on its nature, a POKéMON\n"
+ .string "may prefer to attack no matter what.\p"
+ .string "Another POKéMON may prefer to protect\n"
+ .string "itself from any harm.\p"
+ .string "Yet another may enjoy vexing or\n"
+ .string "confounding its foes.\p"
+ .string "Depending on its nature, a POKéMON\n"
+ .string "will have favorite moves that it is good\l"
+ .string "at using.\p"
+ .string "It may also dislike certain moves that\n"
+ .string "it has trouble using.$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_ExplainMoveRules: @ 82C64BA
+ .string "There are offensive moves that inflict\n"
+ .string "direct damage on the foe.\p"
+ .string "There are defensive moves that are\n"
+ .string "used to prepare for enemy attacks or\l"
+ .string "used to heal HP and so on.\p"
+ .string "There are also other somewhat-odd\n"
+ .string "moves that may enfeeble the foes with\l"
+ .string "stat problems including poison and \l"
+ .string "paralysis.\p"
+ .string "POKéMON will consider using moves in\n"
+ .string "these three categories.$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_ExplainUnderpoweredRules: @ 82C6612
+ .string "When not under command by its TRAINER,\n"
+ .string "a POKéMON may be unable to effectively\l"
+ .string "use certain moves.\p"
+ .string "A POKéMON is not good at using any\n"
+ .string "move that it dislikes.\p"
+ .string "If a POKéMON only knows moves that\n"
+ .string "do not match its nature, it will often\l"
+ .string "be unable to live up to its potential.$"
+
+@ Unused
+VerdanturfTown_BattleTentLobby_Text_ExplainWhenInDangerRules: @ 82C671E
+ .string "Depending on its nature, a POKéMON may\n"
+ .string "start using moves that don't match its\l"
+ .string "nature when it is in trouble.\p"
+ .string "If a POKéMON begins behaving oddly\n"
+ .string "in a pinch, watch it carefully.$"
+
+BattleTentLobby_Text_ExplainLevelRules: @ 82C67CD
+ .string "At this BATTLE TENT, the levels of\n"
+ .string "your opponents will be adjusted to\l"
+ .string "match the levels of your POKéMON.\p"
+ .string "However, no TRAINER you face will\n"
+ .string "have any POKéMON below Level 30.$"
+
+VerdanturfTown_BattleTentLobby_Text_RulesAreListed: @ 82C6878
+ .string "The VERDANTURF BATTLE TENT\n"
+ .string "rules are listed.$"
diff --git a/data/text/berries.inc b/data/text/berries.inc
index 489acd4b6..152690e20 100644
--- a/data/text/berries.inc
+++ b/data/text/berries.inc
@@ -1,16 +1,16 @@
-PetalburgCity_Gym_Text_2A6D3D: @ 82A6D3D
+PetalburgCity_Gym_Text_GiveEnigmaBerry: @ 82A6D3D
.string "DAD: Hi, {PLAYER}!\p"
.string "I just received a very rare BERRY.\n"
.string "I'd like you to have it.$"
-Route104_Text_2A6D86: @ 82A6D86
+Route104_Text_PlantBerriesInSoilTakeThis: @ 82A6D86
.string "If you see BERRIES growing in loamy\n"
.string "soil, feel free to take them.\p"
.string "But make sure you plant a BERRY in the\n"
.string "same spot. That's common courtesy.\p"
.string "Here, I'll share this with you.$"
-Route104_Text_2A6E32: @ 82A6E32
+Route104_Text_TrainersOftenMakeMonHoldBerries: @ 82A6E32
.string "The way you look, you must be a\n"
.string "TRAINER, no?\p"
.string "TRAINERS often make POKéMON hold\n"
@@ -18,139 +18,139 @@ Route104_Text_2A6E32: @ 82A6E32
.string "It's up to you whether to grow BERRIES\n"
.string "or use them.$"
-Route111_Text_2A6EBD: @ 82A6EBD
+Route111_Text_WateredPlantsEveryDayTakeBerry: @ 82A6EBD
.string "I watered the plants every day.\n"
.string "They grew lots of flowers.\p"
.string "And they gave me lots of BERRIES, too.\p"
.string "Here you go!\n"
.string "You can have it!$"
-Route111_Text_2A6F3D: @ 82A6F3D
+Route111_Text_GoingToTryToMakeDifferentColorBerries: @ 82A6F3D
.string "I'm going to try really hard and make\n"
.string "BERRIES in different colors.\p"
.string "I hope you try hard, too!$"
-Route111_Text_2A6F9A: @ 82A6F9A
+Route111_Text_WhatColorBerriesToLookForToday: @ 82A6F9A
.string "I wonder what color BERRIES I'll look\n"
.string "for today?$"
-Route114_Text_2A6FCB: @ 82A6FCB
+Route114_Text_LoveUsingBerryCrushShareBerry: @ 82A6FCB
.string "I love using the BERRY CRUSH machine,\n"
.string "so I'm collecting BERRIES.\p"
.string "I'll share one with you, if you'd like.$"
-Route114_Text_2A7034: @ 82A7034
+Route114_Text_TryBerryCrushWithFriends: @ 82A7034
.string "You should try the BERRY CRUSH\n"
.string "machine with your friends.$"
-Route114_Text_2A706E: @ 82A706E
+Route114_Text_FunToThinkAboutBerries: @ 82A706E
.string "Which BERRY should be planted?\n"
.string "Should you use or hoard BERRIES?\p"
.string "It's fun to think about.$"
-Route120_Text_2A70C7: @ 82A70C7
+Route120_Text_BerriesExpressionOfLoveIsntIt: @ 82A70C7
.string "BERRIES grow by soaking up sunlight.\p"
.string "We help the BERRIES grow by watering\n"
.string "them regularly.\p"
.string "It's an expression of love, isn't it?$"
-Route120_Text_2A7147: @ 82A7147
+Route120_Text_YesYouUnderstand: @ 82A7147
.string "Yes, yes.\n"
.string "You understand what I mean.\p"
.string "You should take this.$"
-Route120_Text_2A7183: @ 82A7183
+Route120_Text_MakeYourOwnImpressions: @ 82A7183
.string "Oh… But it is important to make your\n"
.string "own impressions, I guess…\p"
.string "You can have this.$"
-Route120_Text_2A71D5: @ 82A71D5
+Route120_Text_BerryIsRareRaiseItWithCare: @ 82A71D5
.string "I think that BERRY is rare.\n"
.string "I hope you raise it with loving care.$"
-Route120_Text_2A7217: @ 82A7217
+Route120_Text_IllGetMoreBerriesFromBerryMaster: @ 82A7217
.string "I'll get more BERRIES from\n"
.string "the BERRY MASTER.$"
-LilycoveCity_Text_2A7244: @ 82A7244
+LilycoveCity_Text_BerrySuitsYou: @ 82A7244
.string "When it gets right down to it…\p"
.string "The same way suits suit me perfectly,\n"
.string "a crisp breeze suits the sea.\p"
.string "And you, a BERRY suits you to a “T”…\p"
.string "Why should that be so?$"
-LilycoveCity_Text_2A72E3: @ 82A72E3
+LilycoveCity_Text_BecauseYoureTrainer: @ 82A72E3
.string "When it gets right down to it…\p"
.string "It's because you're a TRAINER!$"
-LilycoveCity_Text_2A7321: @ 82A7321
+LilycoveCity_Text_PokeblocksSuitPokemon: @ 82A7321
.string "When it gets right down to it…\p"
.string "The way dignified simplicity suits me,\n"
.string "{POKEBLOCK}S perfectly suit POKéMON.$"
-Route123_BerryMastersHouse_Text_2A7386: @ 82A7386
+Route123_BerryMastersHouse_Text_YoureDeservingOfBerry: @ 82A7386
.string "You may call me the BERRY MASTER.\p"
.string "I dream of filling the world with\n"
.string "beautiful flowers, so I raise BERRIES\l"
.string "and hand them out to everyone.\p"
.string "You're deserving of one!$"
-Route123_BerryMastersHouse_Text_2A7428: @ 82A7428
+Route123_BerryMastersHouse_Text_WhyBeStingyTakeAnother: @ 82A7428
.string "Why be stingy?\n"
.string "Take another!$"
-Route123_BerryMastersHouse_Text_2A7445: @ 82A7445
+Route123_BerryMastersHouse_Text_VisitPrettyPetalFlowerShop: @ 82A7445
.string "Be sure to visit the PRETTY PETAL\n"
.string "flower shop near RUSTBORO.\p"
.string "Let flowers fill the world!$"
-Route123_BerryMastersHouse_Text_2A749E: @ 82A749E
+Route123_BerryMastersHouse_Text_DoneForToday: @ 82A749E
.string "I'm done for today.\n"
.string "Come again another day.\p"
.string "Let flowers fill the world!$"
-Route123_BerryMastersHouse_Text_2A74E6: @ 82A74E6
+Route123_BerryMastersHouse_Text_HeardAGoodSayingLately: @ 82A74E6
.string "The way my husband grows BERRIES,\n"
.string "oh, he's the best in the world.\p"
.string "He makes me proud, that he does.\p"
.string "Incidentally, child, have you heard\n"
.string "a good saying lately?$"
-Route123_BerryMastersHouse_Text_2A7583: @ 82A7583
+Route123_BerryMastersHouse_Text_InspirationalTakeThis: @ 82A7583
.string "Ah! What a remarkable saying!\n"
.string "Inspirational, it is!\p"
.string "I want you to have this.$"
-Route123_BerryMastersHouse_Text_2A75D0: @ 82A75D0
+Route123_BerryMastersHouse_Text_GoodSayingTakeThis: @ 82A75D0
.string "Oh! A good saying it is.\n"
.string "You're quite remarkable.\p"
.string "I want you to have this.$"
-Route123_BerryMastersHouse_Text_2A761B: @ 82A761B
+Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife: @ 82A761B
.string "Our four grandchildren should become\n"
.string "more accomplished than my husband.\p"
.string "Joy never goes out of my life!$"
-Route123_BerryMastersHouse_Text_2A7682: @ 82A7682
+Route123_BerryMastersHouse_Text_Ah: @ 82A7682
.string "Ah…$"
-Route104_PrettyPetalFlowerShop_Text_2A7686: @ 82A7686
+Route104_PrettyPetalFlowerShop_Text_ThisIsPrettyPetalFlowerShop: @ 82A7686
.string "Hello!\p"
.string "This is the PRETTY PETAL flower shop.\n"
.string "Spreading flowers all over the world!$"
-Route104_PrettyPetalFlowerShop_Text_2A76D9: @ 82A76D9
+Route104_PrettyPetalFlowerShop_Text_LearnAboutBerries: @ 82A76D9
.string "{PLAYER}{KUN}, would you like to learn about\n"
.string "BERRIES?$"
-Route104_PrettyPetalFlowerShop_Text_2A7706: @ 82A7706
+Route104_PrettyPetalFlowerShop_Text_IntroLearnAboutBerries: @ 82A7706
.string "Your name is?\p"
.string "{PLAYER}{KUN}.\n"
.string "That's a nice name.\p"
.string "{PLAYER}{KUN}, would you like to learn about\n"
.string "BERRIES?$"
-Route104_PrettyPetalFlowerShop_Text_2A775B: @ 82A775B
+Route104_PrettyPetalFlowerShop_Text_BerriesExplanation: @ 82A775B
.string "BERRIES grow on trees that thrive\n"
.string "only in soft, loamy soil.\p"
.string "If you take some BERRIES, be sure to\n"
@@ -164,18 +164,18 @@ Route104_PrettyPetalFlowerShop_Text_2A775B: @ 82A775B
.string "Please help me, {PLAYER}{KUN}. Plant BERRIES\n"
.string "and bring more flowers into the world.$"
-Route104_PrettyPetalFlowerShop_Text_2A78DF: @ 82A78DF
+Route104_PrettyPetalFlowerShop_Text_FlowersBringHappiness: @ 82A78DF
.string "Flowers bring so much happiness to\n"
.string "people, don't they?$"
-Route104_PrettyPetalFlowerShop_Text_2A7916: @ 82A7916
+Route104_PrettyPetalFlowerShop_Text_YouCanHaveThis: @ 82A7916
.string "Hello!\p"
.string "The more attention you give to flowers,\n"
.string "the more beautifully they bloom.\p"
.string "You'll like tending flowers. I'm sure\n"
.string "of it. You can have this.$"
-Route104_PrettyPetalFlowerShop_Text_2A79A6: @ 82A79A6
+Route104_PrettyPetalFlowerShop_Text_WailmerPailExplanation: @ 82A79A6
.string "While BERRY plants are growing,\n"
.string "water them with the WAILMER PAIL.\p"
.string "Oh, another thing.\p"
@@ -185,13 +185,13 @@ Route104_PrettyPetalFlowerShop_Text_2A79A6: @ 82A79A6
.string "Isn't that awesome?\n"
.string "It's like they have the will to live.$"
-Route104_PrettyPetalFlowerShop_Text_2A7A98: @ 82A7A98
+Route104_PrettyPetalFlowerShop_Text_ImGrowingFlowers: @ 82A7A98
.string "I'm trying to be like my big sisters.\n"
.string "I'm growing flowers, too!\p"
.string "Here you go!\n"
.string "It's for you!$"
-Route104_PrettyPetalFlowerShop_Text_2A7AF3: @ 82A7AF3
+Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries: @ 82A7AF3
.string "You can plant a BERRY and grow it big,\n"
.string "or you can make a POKéMON hold it.\p"
.string "But now they have a machine that mixes\n"
@@ -199,7 +199,7 @@ Route104_PrettyPetalFlowerShop_Text_2A7AF3: @ 82A7AF3
.string "for POKéMON.\p"
.string "I want some candy, too.$"
-SootopolisCity_Text_2A7BB0: @ 82A7BB0
+SootopolisCity_Text_NameIsKiriHaveOneOfThese: @ 82A7BB0
.string "Hi, what's your name?\p"
.string "… … … … … … … … …\n"
.string "Okay. That's nice!\p"
@@ -209,26 +209,26 @@ SootopolisCity_Text_2A7BB0: @ 82A7BB0
.string "That's what they wished.\p"
.string "You can have one of these.$"
-SootopolisCity_Text_2A7C7C: @ 82A7C7C
+SootopolisCity_Text_GiveYouThisBerryToo: @ 82A7C7C
.string "KIRI will give you this BERRY, too!\n"
.string "I really like it lots!$"
-SootopolisCity_Text_2A7CB7: @ 82A7CB7
+SootopolisCity_Text_WhatKindOfWishInYourName: @ 82A7CB7
.string "I wonder what kind of wish is included\n"
.string "in your name.$"
-SootopolisCity_Text_2A7CEC: @ 82A7CEC
+SootopolisCity_Text_LikeSeasonBornIn: @ 82A7CEC
.string "Spring, summer, autumn, and winter.\p"
.string "If you're born in springtime, do you like\n"
.string "the spring, and if you're born in the\l"
.string "summer, do you like the summer?$"
-SootopolisCity_Text_2A7D80: @ 82A7D80
+SootopolisCity_Text_ThenILoveAutumn: @ 82A7D80
.string "Then KIRI was born in the autumn,\n"
.string "so I love the autumn!\p"
.string "Which season do you like?$"
-SootopolisCity_Text_2A7DD2: @ 82A7DD2
+SootopolisCity_Text_OhDoesntMatter: @ 82A7DD2
.string "Oh…\n"
.string "It doesn't matter…\p"
.string "There's so much that I want to know…$"
diff --git a/data/text/blend_master.inc b/data/text/blend_master.inc
new file mode 100644
index 000000000..31315bbd5
--- /dev/null
+++ b/data/text/blend_master.inc
@@ -0,0 +1,85 @@
+BerryBlender_Text_BlendWithTheBlendMaster: @ 82C427C
+ .string "BLEND MASTER: Indeed I am!\n"
+ .string "The BLEND MASTER am I!\p"
+ .string "Blend with me, and you shall witness\n"
+ .string "the mastery I bring to blending!$"
+
+BerryBlender_Text_SeeMyMasteryInAction: @ 82C42F4
+ .string "BLEND MASTER: Hmmm! So, you wish to\n"
+ .string "see my mastery in action?$"
+
+BerryBlender_Text_TooBusyNowIsee: @ 82C4332
+ .string "Hmmm!\p"
+ .string "So, you are too busy now, I see!\p"
+ .string "But fear not!\n"
+ .string "I shall be here all day!\l"
+ .string "Hurry back from your errand!$"
+
+BerryBlender_Text_BlendMasterNoBerries: @ 82C439D
+ .string "Hmmm!\p"
+ .string "You haven't got a single BERRY!\p"
+ .string "I shall be here all day!\n"
+ .string "Hurry back with some BERRIES!$"
+
+BerryBlender_Text_BlendMasterKnowHowToMakePokeblocks: @ 82C43FA
+ .string "Of course!\n"
+ .string "Of course!\p"
+ .string "Incidentally…\n"
+ .string "You do know how to blend {POKEBLOCK}S\l"
+ .string "from BERRIES?$"
+
+BerryBlender_Text_BlendMasterExplainBerryBlending: @ 82C444C
+ .string "Hmmm!\p"
+ .string "Ah, but it is a simple process!\p"
+ .string "When the BLENDER's arrow comes to\n"
+ .string "your marker, just press the A Button.\p"
+ .string "That's all you have to do.\p"
+ .string "When you see how precisely I press\n"
+ .string "the A Button, you will understand.$"
+
+BerryBlender_Text_BlendMasterLetsBerryBlender: @ 82C451B
+ .string "Fine!\p"
+ .string "Let's get started, then!\p"
+ .string "All together with the BLEND MASTER,\n"
+ .string "let's BERRY BLENDER!$"
+
+BerryBlender_Text_BlendMasterNoPokeblockCase: @ 82C4573
+ .string "Hmmm!\p"
+ .string "You don't appear to have gotten\n"
+ .string "the {POKEBLOCK} CASE!\p"
+ .string "I shall be here all day!\n"
+ .string "Obtain the {POKEBLOCK} CASE and hurry back!$"
+
+BerryBlender_Text_BlendMasterPokeblockCaseFull: @ 82C45E8
+ .string "Hmmm!\p"
+ .string "Your {POKEBLOCK} CASE appears to be full!\p"
+ .string "I shall be here all day!\n"
+ .string "Use some {POKEBLOCK}S and hurry back!$"
+
+BerryBlender_Text_WhoaAwesome: @ 82C464B
+ .string "Whoa!\n"
+ .string "Awesome!$"
+
+BerryBlender_Text_WickedlyFast: @ 82C465A
+ .string "Wickedly fast!$"
+
+BerryBlender_Text_WhatAnExpert: @ 82C4669
+ .string "What an expert!$"
+
+BerryBlender_Text_MadeAmazingPokeblocksWithMaster: @ 82C4679
+ .string "When I blended with the MASTER,\n"
+ .string "we made amazing {POKEBLOCK}S!$"
+
+BerryBlender_Text_QualitiesOfBlendMaster: @ 82C46B1
+ .string "Eyes that track the arrow with\n"
+ .string "machinelike intensity…\p"
+ .string "A hand that taps the A Button\n"
+ .string "with clockwork-like precision…\p"
+ .string "Possessing these qualities makes\n"
+ .string "the BLEND MASTER truly great.$"
+
+BerryBlender_Text_MasterWorksOnSkillsInMountains: @ 82C4763
+ .string "The BLEND MASTER's supposed to work\n"
+ .string "on his skills deep in the mountains.\p"
+ .string "Sometimes, he comes to LILYCOVE\n"
+ .string "to blend BERRIES all day long.$"
diff --git a/data/text/braille.inc b/data/text/braille.inc
index 3d4b8e116..30f9b44d4 100644
--- a/data/text/braille.inc
+++ b/data/text/braille.inc
@@ -1,4 +1,4 @@
-Underwater_SealedChamber_Braille_2A6B15: @ 82A6B15
+Underwater_SealedChamber_Braille_GoUpHere: @ 82A6B15
.byte 4
.byte 6
.byte 26
@@ -7,7 +7,7 @@ Underwater_SealedChamber_Braille_2A6B15: @ 82A6B15
.byte 9
.braille "GO UP HERE.$"
-SealedChamber_OuterRoom_Braille_2A6B27: @ 82A6B27
+SealedChamber_OuterRoom_Braille_ABC: @ 82A6B27
.byte 7
.byte 6
.byte 21
@@ -16,7 +16,7 @@ SealedChamber_OuterRoom_Braille_2A6B27: @ 82A6B27
.byte 9
.braille "ABC$"
-SealedChamber_OuterRoom_Braille_2A6B31: @ 82A6B31
+SealedChamber_OuterRoom_Braille_GHI: @ 82A6B31
.byte 7
.byte 6
.byte 21
@@ -25,7 +25,7 @@ SealedChamber_OuterRoom_Braille_2A6B31: @ 82A6B31
.byte 9
.braille "GHI$"
-SealedChamber_OuterRoom_Braille_2A6B3B: @ 82A6B3B
+SealedChamber_OuterRoom_Braille_MNO: @ 82A6B3B
.byte 7
.byte 6
.byte 21
@@ -34,7 +34,7 @@ SealedChamber_OuterRoom_Braille_2A6B3B: @ 82A6B3B
.byte 9
.braille "MNO$"
-SealedChamber_OuterRoom_Braille_2A6B45: @ 82A6B45
+SealedChamber_OuterRoom_Braille_TUV: @ 82A6B45
.byte 7
.byte 6
.byte 21
@@ -43,7 +43,7 @@ SealedChamber_OuterRoom_Braille_2A6B45: @ 82A6B45
.byte 9
.braille "TUV$"
-SealedChamber_OuterRoom_Braille_2A6B4F: @ 82A6B4F
+SealedChamber_OuterRoom_Braille_DEF: @ 82A6B4F
.byte 7
.byte 6
.byte 21
@@ -52,7 +52,7 @@ SealedChamber_OuterRoom_Braille_2A6B4F: @ 82A6B4F
.byte 9
.braille "DEF$"
-SealedChamber_OuterRoom_Braille_2A6B59: @ 82A6B59
+SealedChamber_OuterRoom_Braille_JKL: @ 82A6B59
.byte 7
.byte 6
.byte 21
@@ -61,7 +61,7 @@ SealedChamber_OuterRoom_Braille_2A6B59: @ 82A6B59
.byte 9
.braille "JKL$"
-SealedChamber_OuterRoom_Braille_2A6B63: @ 82A6B63
+SealedChamber_OuterRoom_Braille_PQRS: @ 82A6B63
.byte 7
.byte 6
.byte 21
@@ -70,7 +70,7 @@ SealedChamber_OuterRoom_Braille_2A6B63: @ 82A6B63
.byte 9
.braille "PQRS$"
-SealedChamber_OuterRoom_Braille_2A6B6E: @ 82A6B6E
+SealedChamber_OuterRoom_Braille_Period: @ 82A6B6E
.byte 9
.byte 6
.byte 19
@@ -79,7 +79,7 @@ SealedChamber_OuterRoom_Braille_2A6B6E: @ 82A6B6E
.byte 9
.braille ".$"
-SealedChamber_OuterRoom_Braille_2A6B76: @ 82A6B76
+SealedChamber_OuterRoom_Braille_WXYZ: @ 82A6B76
.byte 7
.byte 6
.byte 21
@@ -88,7 +88,7 @@ SealedChamber_OuterRoom_Braille_2A6B76: @ 82A6B76
.byte 9
.braille "WXYZ$"
-SealedChamber_OuterRoom_Braille_2A6B81: @ 82A6B81
+SealedChamber_OuterRoom_Braille_Comma: @ 82A6B81
.byte 9
.byte 6
.byte 19
@@ -97,7 +97,7 @@ SealedChamber_OuterRoom_Braille_2A6B81: @ 82A6B81
.byte 9
.braille ",$"
-SealedChamber_OuterRoom_Braille_2A6B89: @ 82A6B89
+SealedChamber_OuterRoom_Braille_DigHere: @ 82A6B89
.byte 7
.byte 4
.byte 23
@@ -106,7 +106,7 @@ SealedChamber_OuterRoom_Braille_2A6B89: @ 82A6B89
.byte 7
.braille "DIG HERE.$"
-SealedChamber_InnerRoom_Braille_2A6B99: @ 82A6B99
+SealedChamber_InnerRoom_Braille_FirstWailordLastRelicanth: @ 82A6B99
.byte 0
.byte 0
.byte 29
@@ -118,7 +118,7 @@ SealedChamber_InnerRoom_Braille_2A6B99: @ 82A6B99
.braille "LAST COMES\n"
.braille "RELICANTH.$"
-SealedChamber_InnerRoom_Braille_2A6BCA: @ 82A6BCA
+SealedChamber_InnerRoom_Braille_InThisCaveWeHaveLived: @ 82A6BCA
.byte 2
.byte 0
.byte 26
@@ -130,7 +130,7 @@ SealedChamber_InnerRoom_Braille_2A6BCA: @ 82A6BCA
.braille "HAVE\n"
.braille "LIVED.$"
-SealedChamber_InnerRoom_Braille_2A6BEC: @ 82A6BEC
+SealedChamber_InnerRoom_Braille_WeOweAllToThePokemon: @ 82A6BEC
.byte 7
.byte 2
.byte 23
@@ -141,7 +141,7 @@ SealedChamber_InnerRoom_Braille_2A6BEC: @ 82A6BEC
.braille "TO THE\n"
.braille "POKEMON.$"
-SealedChamber_InnerRoom_Braille_2A6C0D: @ 82A6C0D
+SealedChamber_InnerRoom_Braille_ButWeSealedThePokemonAway: @ 82A6C0D
.byte 3
.byte 0
.byte 25
@@ -153,7 +153,7 @@ SealedChamber_InnerRoom_Braille_2A6C0D: @ 82A6C0D
.braille "POKEMON\n"
.braille "AWAY.$"
-SealedChamber_InnerRoom_Braille_2A6C34: @ 82A6C34
+SealedChamber_InnerRoom_Braille_WeFearedIt: @ 82A6C34
.byte 5
.byte 6
.byte 25
@@ -162,7 +162,7 @@ SealedChamber_InnerRoom_Braille_2A6C34: @ 82A6C34
.byte 9
.braille "WE FEARED IT.$"
-SealedChamber_InnerRoom_Braille_2A6C48: @ 82A6C48
+SealedChamber_InnerRoom_Braille_ThoseWithCourageHope: @ 82A6C48
.byte 6
.byte 0
.byte 24
@@ -174,7 +174,7 @@ SealedChamber_InnerRoom_Braille_2A6C48: @ 82A6C48
.braille "THOSE WITH\n"
.braille "HOPE.$"
-SealedChamber_InnerRoom_Braille_2A6C73: @ 82A6C73
+SealedChamber_InnerRoom_Braille_OpenDoorEternalPokemonWaits: @ 82A6C73
.byte 3
.byte 2
.byte 27
@@ -186,7 +186,7 @@ SealedChamber_InnerRoom_Braille_2A6C73: @ 82A6C73
.braille "POKEMON\n"
.braille "WAITS.$"
-DesertRuins_Braille_2A6CA0: @ 82A6CA0
+DesertRuins_Braille_UseRockSmash: @ 82A6CA0
.byte 1
.byte 0
.byte 27
@@ -198,7 +198,7 @@ DesertRuins_Braille_2A6CA0: @ 82A6CA0
.braille "THEN, USE\n"
.braille "ROCK SMASH.$"
-IslandCave_Braille_2A6CD4: @ 82A6CD4
+IslandCave_Braille_RunLapAroundWall: @ 82A6CD4
.byte 5
.byte 0
.byte 25
@@ -210,7 +210,7 @@ IslandCave_Braille_2A6CD4: @ 82A6CD4
.braille "RUN AROUND\n"
.braille "ONE LAP.$"
-AncientTomb_Braille_2A6D06: @ 82A6D06
+AncientTomb_Braille_ShineInTheMiddle: @ 82A6D06
.byte 3
.byte 0
.byte 25
diff --git a/data/text/cable_club.inc b/data/text/cable_club.inc
index e69de29bb..b4f656a00 100644
--- a/data/text/cable_club.inc
+++ b/data/text/cable_club.inc
@@ -0,0 +1,487 @@
+CableClub_Text_WelcomeWhichCableClubService: @ 8277EA4
+ .string "Welcome to the POKéMON CABLE\n"
+ .string "CLUB.\p"
+ .string "Which of our services do you wish\n"
+ .string "to use?$"
+
+CableClub_Text_WhichService: @ 8277EF1
+ .string "Which of our services do you wish\n"
+ .string "to use?$"
+
+CableClub_Text_TradeUsingLinkCable:: @ 8277F1B
+ .string "Trade POKéMON with another player\n"
+ .string "using a GBA Game Link cable.$"
+
+CableClub_Text_BattleUsingLinkCable:: @ 8277F5A
+ .string "You may battle another TRAINER\n"
+ .string "using a GBA Game Link cable.$"
+
+CableClub_Text_RecordCornerUsingLinkCable:: @ 8277F96
+ .string "You can use the RECORD CORNER with\n"
+ .string "others using a GBA Game Link cable.$"
+
+@ Unused
+CableClub_Text_CloseThisMenu: @ 8277FDD
+ .string "Close this menu.$"
+
+CableClub_Text_NeedTwoMonsForDoubleBattle: @ 8277FEE
+ .string "For a DOUBLE BATTLE, you must\n"
+ .string "have at least two POKéMON.$"
+
+CableClub_Text_NeedTwoMonsToTrade: @ 8278027
+ .string "For trading, you must have at\n"
+ .string "least two POKéMON with you.$"
+
+CableClub_Text_CantTradeEnigmaBerry: @ 8278061
+ .string "A POKéMON holding the {STR_VAR_1}\n"
+ .string "BERRY can't be traded.$"
+
+gText_PleaseWaitForLink:: @ 8278091
+ .string "Please wait.\n"
+ .string "… … B Button: Cancel$"
+
+gText_ConfirmLinkWhenPlayersReady:: @ 82780B3
+ .string "When all players are ready…\n"
+ .string "A Button: Confirm\l"
+ .string "B Button: Cancel$"
+
+gText_ConfirmStartLinkWithXPlayers:: @ 82780F2
+ .string "Start link with {STR_VAR_1} players.\n"
+ .string "A Button: Confirm\l"
+ .string "B Button: Cancel$"
+
+gText_AwaitingLinkup:: @ 8278131
+ .string "Awaiting linkup…\n"
+ .string "… … B Button: Cancel$"
+
+@ Unused
+CableClub_Text_OkayToSaveProgress:: @ 8278157
+ .string "Your progress must be saved before\n"
+ .string "linking. Is it okay to save?$"
+
+CableClub_Text_PleaseEnter: @ 8278197
+ .string "Please enter.$"
+
+CableClub_Text_DirectYouToYourRoom: @ 82781A5
+ .string "I'll direct you to your room now.$"
+
+Text_SomeoneIsNotReadyToLink: @ 82781C7
+ .string "Someone is not ready to link.\p"
+ .string "Please come back after everyone\n"
+ .string "has made preparations.$"
+
+Text_LinkErrorPleaseReset: @ 827821C
+ .string "Sorry, we have a link error…\n"
+ .string "Please reset and try again.$"
+
+Text_PlayersMadeDifferentSelections: @ 8278255
+ .string "The link partners appear to have\n"
+ .string "made different selections.$"
+
+CableClub_Text_PleaseVisitAgain: @ 8278291
+ .string "Please do visit again.$"
+
+CableClub_Text_IncorrectNumberOfParticipants: @ 82782A8
+ .string "The number of participants is\n"
+ .string "incorrect.$"
+
+CableClub_Text_CantSingleBattleWithXPlayers: @ 82782D1
+ .string "The SINGLE BATTLE Mode can't be\n"
+ .string "played by {STR_VAR_1} players.$"
+
+CableClub_Text_CantDoubleBattleWithXPlayers: @ 8278307
+ .string "The DOUBLE BATTLE Mode can't be\n"
+ .string "played by {STR_VAR_1} players.$"
+
+CableClub_Text_NeedFourPlayers: @ 827833D
+ .string "There must be four players to play\n"
+ .string "this Battle Mode.$"
+
+CableClub_Text_PleaseConfirmNumberAndRestart: @ 8278372
+ .string "Please confirm the number of\n"
+ .string "players and start again.$"
+
+Text_TerminateLinkConfirmation: @ 82783A8
+ .string "The link will be terminated if you\n"
+ .string "leave the room. Is that okay?$"
+
+Text_TerminateLinkPleaseWait: @ 82783E9
+ .string "Terminating link…\n"
+ .string "You will be escorted out of\l"
+ .string "the room. Please wait.$"
+
+CableClub_Text_TooBusyToNotice: @ 827842E
+ .string "This TRAINER is too busy to\n"
+ .string "notice…$"
+
+CableClub_Text_GotToLookAtTrainerCard: @ 8278452
+ .string "Score! Got to look at {STR_VAR_1}'s\n"
+ .string "TRAINER CARD!$"
+
+CableClub_Text_GotToLookAtColoredTrainerCard: @ 827847B
+ .string "Score! Got to look at {STR_VAR_1}'s\n"
+ .string "TRAINER CARD!\p"
+ .string "It's a {STR_VAR_2} card!$"
+
+BattleColosseum_2P_Text_TakePlaceStartBattle: @ 82784B4
+ .string "Please take your place and start\n"
+ .string "your battle.$"
+
+TradeCenter_Text_TakeSeatStartTrade: @ 82784E2
+ .string "Please take your seat and start\n"
+ .string "your trade.$"
+
+RecordCorner_Text_ThanksForComing: @ 827850E
+ .string "Thanks for coming.$"
+
+CableClub_Text_TrainerCardDataOverwritten: @ 8278521
+ .string "The TRAINER CARD data will\n"
+ .string "be overwritten.$"
+
+CableClub_Text_HopeToSeeYouAgain: @ 827854C
+ .string "I hope to see you again!$"
+
+CableClub_Text_NotSetUpForFarAwayRegion: @ 8278565
+ .string "I'm awfully sorry.\p"
+ .string "We're not set up to conduct trades\n"
+ .string "with TRAINERS far away in another\l"
+ .string "region yet…$"
+
+CableClub_Text_OtherTrainerNotReady: @ 82785C9
+ .string "The other TRAINER is not ready.$"
+
+CableClub_Text_YouHaveAMonThatCantBeTaken: @ 82785E9
+ .string "You have at least one POKéMON\n"
+ .string "that can't be taken.$"
+
+RecordCorner_Text_TakeSeatAndWait: @ 827861C
+ .string "Please take your seat and wait.$"
+
+RecordCorner_Text_PlayerSentOverOneX: @ 827863C
+ .string "{STR_VAR_1} sent over one\n"
+ .string "{STR_VAR_2}.$"
+
+CableClub_Text_CantMixWithJapaneseGame: @ 8278651
+ .string "Sorry, there is a transmission error.\p"
+ .string "You may not mix records with \n"
+ .string "Japanese Ruby or Sapphire games.\p"
+ .string "Also, you can't mix records with\n"
+ .string "Japanese Emerald and overseas Ruby\l"
+ .string "or Sapphire games at the same time.$"
+
+CableClub_Text_AdapterNotConnected: @ 827871F
+ .string "The Wireless Adapter is not\n"
+ .string "connected properly.$"
+
+CableClub_Text_ParticipantsStepUpToCounter: @ 827874F
+ .string "Participants are asked to step up\n"
+ .string "to the reception counter.$"
+
+@ Unused
+CableClub_Text_Hello: @ 827878B
+ .string "Hello!$"
+
+@ Unused
+CableClub_Text_PleaseWait: @ 8278792
+ .string "Please wait.$"
+
+CableClub_Text_YouMayTradeHere:: @ 827879F
+ .string "You may trade your POKéMON here\n"
+ .string "with another TRAINER.$"
+
+CableClub_Text_YouMayBattleHere:: @ 82787D5
+ .string "You may battle with your friends\n"
+ .string "here.$"
+
+CableClub_Text_CanMakeBerryPowder:: @ 82787FC
+ .string "Two to five TRAINERS can make\n"
+ .string "BERRY POWDER together.$"
+
+CableClub_Text_CanMixRecords:: @ 8278831
+ .string "The records of two to four players\n"
+ .string "can be mixed together.$"
+
+@ Unused
+CableClub_Text_GuideToVariousServices: @ 827886B
+ .string "A guide to the WIRELESS CLUB's\n"
+ .string "various services.$"
+
+CableClub_Text_CancelSelectedItem:: @ 827889C
+ .string "Cancels the selected MENU item.$"
+
+@ Unused
+CableClub_Text_WhichBattleMode: @ 82788BC
+ .string "Which battle mode would you like?$"
+
+@ Unused
+CableClub_Text_ReturnsToPreviousStep: @ 82788DE
+ .string "Returns to the previous step.$"
+
+CableClub_Text_NeedBerryForBerryCrush: @ 82788FC
+ .string "To use the BERRY CRUSH service,\n"
+ .string "you must have at least one BERRY.$"
+
+CableClub_Text_NeedTwoMonsForUnionRoom: @ 827893E
+ .string "To enter the UNION ROOM, you must\n"
+ .string "have at least two POKéMON.$"
+
+CableClub_Text_NoEnigmaBerryInUnionRoom: @ 827897B
+ .string "No POKéMON holding the {STR_VAR_1}\n"
+ .string "BERRY may enter the UNION ROOM.$"
+
+CableClub_Text_UnionRoomAdapterNotConnected: @ 82789B5
+ .string "This is the POKéMON WIRELESS CLUB\n"
+ .string "UNION ROOM.\p"
+ .string "Unfortunately, your Wireless\n"
+ .string "Adapter is not connected properly.\p"
+ .string "Please do come again.$"
+
+@ Unused
+CableClub_Text_OhExcuseMe: @ 8278A39
+ .string "Oh…\n"
+ .string "Excuse me!$"
+
+CableClub_Text_PlayerIsWaiting: @ 8278A48
+ .string "It appears as if {STR_VAR_1} is playing\n"
+ .string "right now.\l"
+ .string "Go for it!$"
+
+MossdeepCity_GameCorner_1F_Text_DescribeWhichGame: @ 8278A7D
+ .string "I can explain game rules to you,\n"
+ .string "if you'd like.\p"
+ .string "Which game should I describe?$"
+
+MossdeepCity_GameCorner_1F_Text_PokemonJumpInfo: @ 8278ACB
+ .string "“POKéMON JUMP”\p"
+ .string "Make your POKéMON skip the VINE WHIP\n"
+ .string "rope with the A Button.\p"
+ .string "Only mini POKéMON around 28 inches\n"
+ .string "or less may participate.\p"
+ .string "POKéMON that only swim, burrow,\n"
+ .string "or fly are not good at jumping.\p"
+ .string "As a result, those POKéMON may not\n"
+ .string "participate.\p"
+ .string "Good things happen if everyone\n"
+ .string "jumps in time.$"
+
+MossdeepCity_GameCorner_1F_Text_DodrioBerryPickingInfo: @ 8278BF1
+ .string "“DODRIO BERRY-PICKING”\p"
+ .string "Command DODRIO's three heads to\n"
+ .string "catch falling BERRIES.\p"
+ .string "Press right, up, or left on the\n"
+ .string "{PLUS} Control Pad to move the heads.\p"
+ .string "To play this game, you must have\n"
+ .string "a DODRIO.$"
+
+MossdeepCity_GameCorner_1F_Text_TalkToOldManToPlay: @ 8278CAC
+ .string "If you want to play a game,\n"
+ .string "please tell the old man beside me.$"
+
+MossdeepCity_GameCorner_1F_Text_WelcomeCanYouWait: @ 8278CEB
+ .string "Hi, welcome!\n"
+ .string "Are you here to play games using\l"
+ .string "Wireless Communication?\p"
+ .string "Can you wait just a little bit?$"
+
+MossdeepCity_GameCorner_1F_Text_ComeAgain: @ 8278D51
+ .string "All right, come again!$"
+
+MossdeepCity_GameCorner_1F_Text_AdapterNotConnected: @ 8278D68
+ .string "The Wireless Adapter isn't connected.\n"
+ .string "Come back when it's hooked up!$"
+
+MossdeepCity_GameCorner_1F_Text_PlayWhichGame: @ 8278DAD
+ .string "All right, which game did you want\n"
+ .string "to play?$"
+
+MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon: @ 8278DD9
+ .string "Which POKéMON would you like to\n"
+ .string "enter?$"
+
+MossdeepCity_GameCorner_1F_Text_AllGoodToGo: @ 8278E00
+ .string "Okay, you're all good to go.\n"
+ .string "Don't let the others beat you!$"
+
+@ Unused
+MossdeepCity_GameCorner_1F_Text_LeavingDoComeAgain: @ 8278E3C
+ .string "Are you leaving now?\n"
+ .string "Do come again!$"
+
+MossdeepCity_GameCorner_1F_Text_ExplainRequiredMon: @ 8278E60
+ .string "It doesn't look like you have any\n"
+ .string "POKéMON that you can enter…\p"
+ .string "Would you like me to explain what\n"
+ .string "kinds of POKéMON can enter?$"
+
+MossdeepCity_GameCorner_1F_Text_ShortJumpingPokemonAllowed: @ 8278EDC
+ .string "“POKéMON JUMP” is open to POKéMON\n"
+ .string "around 28 inches or less.\p"
+ .string "What you can't enter are those\n"
+ .string "POKéMON that can't jump.\p"
+ .string "You know, like POKéMON that only\n"
+ .string "swim, burrow, or fly.\p"
+ .string "That's all you need to know.$"
+
+MossdeepCity_GameCorner_1F_Text_OnlyDodrioAllowed: @ 8278FA4
+ .string "DODRIO BERRY-PICKING is a game that \n"
+ .string "only DODRIO may enter.$"
+
+@ Unused
+MossdeepCity_GameCorner_1F_Text_RetryPlease: @ 8278FE0
+ .string "Could you retry this from the start\n"
+ .string "again, please?$"
+
+CableClub_Text_WelcomeWhichDirectCornerRoom: @ 8279013
+ .string "Welcome to the POKéMON WIRELESS\n"
+ .string "CLUB DIRECT CORNER.\p"
+ .string "You may interact directly with\n"
+ .string "your friends here.\p"
+ .string "Which room would you like to\n"
+ .string "enter?$"
+
+CableClub_Text_TradePokemon: @ 827909D
+ .string "Would you like to trade POKéMON?$"
+
+CableClub_Text_PlayWhichBattleMode: @ 82790BE
+ .string "Which Battle Mode would you like\n"
+ .string "to play?$"
+
+CableClub_Text_AccessRecordCorner: @ 82790E8
+ .string "Would you like to access\n"
+ .string "the RECORD CORNER?$"
+
+CableClub_Text_UseBerryCrush: @ 8279114
+ .string "Would you like to use the\n"
+ .string "BERRY CRUSH System?$"
+
+CableClub_Text_ExplainBattleModes: @ 8279142
+ .string "There are three Battle Modes.\p"
+ .string "SINGLE BATTLE is for two TRAINERS\n"
+ .string "with one or more POKéMON each.\p"
+ .string "Each TRAINER can have one POKéMON\n"
+ .string "in battle at a time.\p"
+ .string "DOUBLE BATTLE is for two TRAINERS\n"
+ .string "with two or more POKéMON each.\p"
+ .string "Each TRAINER will send out two\n"
+ .string "POKéMON in battle at a time.\p"
+ .string "MULTI BATTLE is for four TRAINERS\n"
+ .string "with one or more POKéMON each.\p"
+ .string "Each TRAINER can have one POKéMON\n"
+ .string "in battle at a time.$"
+
+CableClub_Text_ChooseGroupLeaderOfTwo: @ 82792CD
+ .string "Please decide which of you two\n"
+ .string "will become the LEADER.\p"
+ .string "The other player must then choose\n"
+ .string "“JOIN GROUP.”$"
+
+CableClub_Text_ChooseGroupLeaderOfFour: @ 8279334
+ .string "Please decide which of you four\n"
+ .string "will become the GROUP LEADER.\p"
+ .string "The other players must then choose\n"
+ .string "“JOIN GROUP.”$"
+
+CableClub_Text_ChooseGroupLeader: @ 82793A3
+ .string "Please decide which of you will\n"
+ .string "become the GROUP LEADER.\p"
+ .string "The other players must then choose\n"
+ .string "“JOIN GROUP.”$"
+
+CableClub_Text_WelcomeUnionRoomEnter: @ 827940D
+ .string "Welcome to the POKéMON WIRELESS\n"
+ .string "CLUB UNION ROOM.\p"
+ .string "You may interact directly with\n"
+ .string "other TRAINERS here, some of\l"
+ .string "whom you may not even know.\p"
+ .string "Would you like to enter the ROOM?$"
+
+CableClub_Text_UnionRoomInfo: @ 82794B8
+ .string "The TRAINERS in the UNION ROOM\n"
+ .string "will be those players around you\l"
+ .string "who have also entered the ROOM.\p"
+ .string "You may do all sorts of things\n"
+ .string "here, such as exchanging greetings.\p"
+ .string "You may enter two POKéMON up to\n"
+ .string "Lv. 30 for a one-on-one battle.\p"
+ .string "You may take part in a chat with\n"
+ .string "two to five people.\p"
+ .string "Or, you may register a POKéMON for\n"
+ .string "trade.\p"
+ .string "Would you like to enter the ROOM?$"
+
+CableClub_Text_EnjoyUnionRoom: @ 827961C
+ .string "I hope you enjoy your time in\n"
+ .string "the UNION ROOM.$"
+
+CableClub_Text_FirstTimeRightThisWay: @ 827964A
+ .string "Hello!\n"
+ .string "My name is TEALA.\p"
+ .string "This must be your first time\n"
+ .string "up here.\p"
+ .string "I'll show you how the Wireless\n"
+ .string "Communication System works.\p"
+ .string "First, I need to show you this\n"
+ .string "floor of our POKéMON CENTER.\p"
+ .string "Right this way, please.$"
+
+CableClub_Text_ExplainWirelessClubFirstTime: @ 8279718
+ .string "On the top floor, there are two\n"
+ .string "rooms.\p"
+ .string "First, the room on the left.\n"
+ .string "It's the UNION ROOM.\p"
+ .string "You may link up with TRAINERS\n"
+ .string "around you who have also entered\l"
+ .string "the UNION ROOM.\p"
+ .string "With them, you may do things like\n"
+ .string "chat, battle, and trade.\p"
+ .string "Second, the room on the right is\n"
+ .string "the DIRECT CORNER.\p"
+ .string "You may trade or battle POKéMON\n"
+ .string "with your friends in this room.\p"
+ .string "If the Wireless Adapter isn't\n"
+ .string "connected, you may still link up\l"
+ .string "using a GBA Game Link cable.\p"
+ .string "If that is the case, you must go\n"
+ .string "to the DIRECT CORNER.\p"
+ .string "I hope you enjoy the Wireless \n"
+ .string "Communication System.$"
+
+CableClub_Text_AskAboutLinking: @ 8279937
+ .string "Hello, {PLAYER}!\p"
+ .string "It's me, TEALA, the POKéMON\n"
+ .string "CENTER 2F attendant.\p"
+ .string "Is there something you needed to\n"
+ .string "ask me about linking?$"
+
+CableClub_Text_ExplainWirelessClub: @ 82799AA
+ .string "Let me explain how the POKéMON\n"
+ .string "WIRELESS CLUB works.\p"
+ .string "On this, the top floor, there are\n"
+ .string "two rooms.\p"
+ .string "First, the room on the left.\n"
+ .string "It's the UNION ROOM.\p"
+ .string "You may link up with TRAINERS\n"
+ .string "around you who have also entered\l"
+ .string "the UNION ROOM.\p"
+ .string "With them, you may do things like\n"
+ .string "chat, battle, and trade.\p"
+ .string "Second, the room on the right is\n"
+ .string "the DIRECT CORNER.\p"
+ .string "You may trade or battle POKéMON\n"
+ .string "with your friends in this room.\p"
+ .string "Sometimes, you may not be able to\n"
+ .string "find your friends in the UNION ROOM\l"
+ .string "or the DIRECT CORNER.\p"
+ .string "In that case, please move closer\n"
+ .string "to your friends.\p"
+ .string "If the Wireless Adapter isn't\n"
+ .string "connected, you may still link up\l"
+ .string "using a GBA Game Link cable.\p"
+ .string "If that is the case, you must go\n"
+ .string "to the DIRECT CORNER.\p"
+ .string "I hope you enjoy the Wireless \n"
+ .string "Communication System.$"
+
+CableClub_Text_HopeYouEnjoyWirelessSystem: @ 8279C91
+ .string "I hope you enjoy the Wireless\n"
+ .string "Communication System.$"
diff --git a/data/text/check_furniture.inc b/data/text/check_furniture.inc
new file mode 100644
index 000000000..23f966bbd
--- /dev/null
+++ b/data/text/check_furniture.inc
@@ -0,0 +1,27 @@
+Text_PictureBookShelf: @ 82A81E5
+ .string "There's a set of POKéMON picture books.$"
+
+Text_BookShelf: @ 82A820D
+ .string "It's filled with all sorts of books.$"
+
+Text_PokemonCenterBookShelf: @ 82A8232
+ .string "POKéMON magazines!\n"
+ .string "POKéMON PAL…\p"
+ .string "POKéMON HANDBOOK…\n"
+ .string "ADORABLE POKéMON…$"
+
+Text_Vase: @ 82A8276
+ .string "This vase looks expensive…\n"
+ .string "Peered inside…\p"
+ .string "But, it was empty.$"
+
+Text_EmptyTrashCan: @ 82A82B3
+ .string "It's empty.$"
+
+Text_ShopShelf: @ 82A82BF
+ .string "The shelves brim with all sorts of\n"
+ .string "POKéMON merchandise.$"
+
+Text_Blueprint: @ 82A82F7
+ .string "A blueprint of some sort?\n"
+ .string "It's too complicated!$"
diff --git a/data/text/contest_link.inc b/data/text/contest_link.inc
new file mode 100644
index 000000000..d9873904f
--- /dev/null
+++ b/data/text/contest_link.inc
@@ -0,0 +1,38 @@
+@ With the exception of Link standby, none of the below texts are used
+
+gTest_MissedTurn:: @ 827E8CE
+ .string "Missed turn$"
+
+gText_LinkStandby4:: @ 827E8DA
+ .string "Link standby!$"
+
+gText_WinnerIsPlayersMonCongrats:: @ 827E8E8
+ .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!\n"
+ .string "Congratulations!$"
+
+gText_WinnerIsPlayersMon:: @ 827E910
+ .string "The winner is {STR_VAR_1}'s {STR_VAR_2}!{PAUSE_UNTIL_PRESS}$"
+
+gText_PrimaryJudgingNumX:: @ 827E929
+ .string "Primary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
+
+gText_SecondaryJudgingNumX:: @ 827E943
+ .string "Secondary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
+
+gText_SetEventNumX:: @ 827E95F
+ .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
+
+gText_MoveUsedMostOften:: @ 827E973
+ .string "The move used most often:\n"
+ .string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
+
+gText_MostImpressiveMon:: @ 827E992
+ .string "The most impressive POKéMON:\n"
+ .string "{STR_VAR_1}'s {STR_VAR_2}{PAUSE_UNTIL_PRESS}$"
+
+gText_SetEventNumX2:: @ 827E9B9
+ .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
+
+gText_LinkTVProgramWillNotBeMadeTrainerLost:: @ 827E9CD
+ .string "A link TV program will not be made\n"
+ .string "because the TRAINER lost.{PAUSE_UNTIL_PRESS}$"
diff --git a/data/text/contest_painting.inc b/data/text/contest_painting.inc
new file mode 100644
index 000000000..2aa8c6a93
--- /dev/null
+++ b/data/text/contest_painting.inc
@@ -0,0 +1,95 @@
+gUnknown_0827EA0C:: @ 827EA0C
+ .string "{STR_VAR_1}\n"
+ .string "{STR_VAR_2}'s {STR_VAR_3}$"
+
+gUnknown_0827EA17:: @ 827EA17
+ .string "CONTEST$"
+
+gContestRankNormal::
+ .string "NORMAL RANK$"
+
+gContestRankSuper::
+ .string "SUPER RANK$"
+
+gContestRankHyper::
+ .string "HYPER RANK$"
+
+gContestRankMaster::
+ .string "MASTER RANK$"
+
+gContestLink::
+ .string "LINK$"
+
+gContestCoolness::
+ .string "COOLNESS$"
+
+gContestBeauty::
+ .string "BEAUTY$"
+
+gContestCuteness::
+ .string "CUTENESS$"
+
+gContestSmartness::
+ .string "SMARTNESS$"
+
+gContestToughness::
+ .string "TOUGHNESS$"
+
+gContestPaintingCool1::
+ .string "Nonstop supercool--\n"
+ .string "the inestimable {STR_VAR_1}$"
+
+gContestPaintingCool2::
+ .string "Hey, there!\n"
+ .string "The good-looking POKéMON {STR_VAR_1}$"
+
+gContestPaintingCool3::
+ .string "The marvelous, wonderful, and\n"
+ .string "very great {STR_VAR_1}$"
+
+gContestPaintingBeauty1::
+ .string "This century's last Venus--\n"
+ .string "the beautiful {STR_VAR_1}$"
+
+gContestPaintingBeauty2::
+ .string "{STR_VAR_1}'s dazzling,\n"
+ .string "glittering smile$"
+
+gContestPaintingBeauty3::
+ .string "POKéMON CENTER's super idol--\n"
+ .string "the incomparable {STR_VAR_1}$"
+
+gContestPaintingCute1::
+ .string "The lovely and sweet {STR_VAR_1}$"
+
+gContestPaintingCute2::
+ .string "The pretty {STR_VAR_1}'s\n"
+ .string "winning portrait$"
+
+gContestPaintingCute3::
+ .string "Give us a wink!\n"
+ .string "The cutie POKéMON {STR_VAR_1}$"
+
+gContestPaintingSmart1::
+ .string "The smartness maestro--\n"
+ .string "the wise POKéMON {STR_VAR_1}$"
+
+gContestPaintingSmart2::
+ .string "{STR_VAR_1}--the one chosen\n"
+ .string "above all POKéMON$"
+
+gContestPaintingSmart3::
+ .string "The excellent {STR_VAR_1}'s\n"
+ .string "moment of elegance$"
+
+gContestPaintingTough1::
+ .string "The powerfully muscular\n"
+ .string "speedster {STR_VAR_1}$"
+
+gContestPaintingTough2::
+ .string "The strong, stronger, and\n"
+ .string "strongest {STR_VAR_1}$"
+
+gContestPaintingTough3::
+ .string "The mighty tough\n"
+ .string "hyper POKéMON {STR_VAR_1}$"
diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc
index e332e16bb..3cebef526 100644
--- a/data/text/contest_strings.inc
+++ b/data/text/contest_strings.inc
@@ -1,191 +1,191 @@
-@ contest move effect descriptions
+@ Contest move effect descriptions
-gContestEffect00hDescription:: @ 827CB82
+gText_HighlyAppealingMove:: @ 827CB82
.string "A highly appealing move.$"
-gContestEffect01hDescription:: @ 827CB9B
+gText_UserMoreEasilyStartled:: @ 827CB9B
.string "After this move, the user is\nmore easily startled.$"
-gContestEffect02hDescription:: @ 827CBCE
+gText_GreatAppealButNoMoreToEnd:: @ 827CBCE
.string "Makes a great appeal, but\nallows no more to the end.$"
-gContestEffect03hDescription:: @ 827CC03
+gText_UsedRepeatedlyWithoutBoringJudge:: @ 827CC03
.string "Can be repeatedly used\nwithout boring the JUDGE.$"
-gContestEffect04hDescription:: @ 827CC34
+gText_AvoidStartledByOthersOnce:: @ 827CC34
.string "Can avoid being startled\nby others once.$"
-gContestEffect05hDescription:: @ 827CC5D
+gText_AvoidStartledByOthers:: @ 827CC5D
.string "Can avoid being startled\nby others.$"
-gContestEffect06hDescription:: @ 827CC81
+gText_AvoidStartledByOthersLittle:: @ 827CC81
.string "Can avoid being startled\nby others a little.$"
-gContestEffect07hDescription:: @ 827CCAE
+gText_UserLessLikelyStartled:: @ 827CCAE
.string "After this move, the user is\nless likely to be startled.$"
-gContestEffect08hDescription:: @ 827CCE7
+gText_SlightlyStartleFrontMon:: @ 827CCE7
.string "Slightly startles the\nPOKéMON in front.$"
-gContestEffect09hDescription:: @ 827CD0F
+gText_SlightlyStartleAppealed:: @ 827CD0F
.string "Slightly startles those\nthat have made appeals.$"
-gContestEffect0AhDescription:: @ 827CD3F
+gText_StartleAppealedBeforeUser:: @ 827CD3F
.string "Startles the POKéMON that\nappealed before the user.$"
-gContestEffect0BhDescription:: @ 827CD73
+gText_StartleAllAppealed:: @ 827CD73
.string "Startles all POKéMON that\nhave done their appeals.$"
-gContestEffect0ChDescription:: @ 827CDA6
+gText_BadlyStartleFrontMon:: @ 827CDA6
.string "Badly startles the\nPOKéMON in front.$"
-gContestEffect0DhDescription:: @ 827CDCB
+gText_BadlyStartleAppealed:: @ 827CDCB
.string "Badly startles those that\nhave made appeals.$"
-gContestEffect0EhDescription:: @ 827CDF8
+gText_StartleAppealedBeforeUser2:: @ 827CDF8
.string "Startles the POKéMON that\nappealed before the user.$"
-gContestEffect0FhDescription:: @ 827CE2C
+gText_StartleAllAppealed2:: @ 827CE2C
.string "Startles all POKéMON that\nhave done their appeals.$"
-gContestEffect10hDescription:: @ 827CE5F
+gText_ShiftJudgesAttentionFromOthers:: @ 827CE5F
.string "Shifts the JUDGE's\nattention from others.$"
-gContestEffect11hDescription:: @ 827CE89
+gText_StartleMonHasJudgesAttention:: @ 827CE89
.string "Startles the POKéMON that\nhas the JUDGE's attention.$"
-gContestEffect12hDescription:: @ 827CEBE
+gText_JamOthersMissesTurn:: @ 827CEBE
.string "Jams the others, and misses\none turn of appeals.$"
-gContestEffect13hDescription:: @ 827CEEF
+gText_StartleMonsMadeSameTypeAppeal:: @ 827CEEF
.string "Startles POKéMON that\nmade a same-type appeal.$"
-gContestEffect14hDescription:: @ 827CF1E
+gText_BadlyStartleCoolAppeals:: @ 827CF1E
.string "Badly startles POKéMON\nthat made COOL appeals.$"
-gContestEffect15hDescription:: @ 827CF4D
+gText_BadlyStartleBeautyAppeals:: @ 827CF4D
.string "Badly startles POKéMON\nthat made BEAUTY appeals.$"
-gContestEffect16hDescription:: @ 827CF7E
+gText_BadlyStartleCuteAppeals:: @ 827CF7E
.string "Badly startles POKéMON\nthat made CUTE appeals.$"
-gContestEffect17hDescription:: @ 827CFAD
+gText_BadlyStartleSmartAppeals:: @ 827CFAD
.string "Badly startles POKéMON\nthat made SMART appeals.$"
-gContestEffect18hDescription:: @ 827CFDD
+gText_BadlyStartleToughAppeals:: @ 827CFDD
.string "Badly startles POKéMON\nthat made TOUGH appeals.$"
-gContestEffect19hDescription:: @ 827D00D
+gText_MakeMonAfterUserNervous:: @ 827D00D
.string "Makes one POKéMON after\nthe user nervous.$"
-gContestEffect1AhDescription:: @ 827D037
+gText_MakeAllMonsAfterUserNervous:: @ 827D037
.string "Makes all POKéMON after\nthe user nervous.$"
-gContestEffect1BhDescription:: @ 827D061
+gText_WorsenConditionOfThoseMadeAppeals:: @ 827D061
.string "Worsens the condition of\nthose that made appeals.$"
-gContestEffect1ChDescription:: @ 827D093
+gText_BadlyStartleMonsGoodCondition:: @ 827D093
.string "Badly startles POKéMON in\ngood condition.$"
-gContestEffect1DhDescription:: @ 827D0BD
+gText_AppealGreatIfPerformedFirst:: @ 827D0BD
.string "The appeal works great if\nperformed first.$"
-gContestEffect1EhDescription:: @ 827D0E8
+gText_AppealGreatIfPerformedLast:: @ 827D0E8
.string "The appeal works great if\nperformed last.$"
-gContestEffect1FhDescription:: @ 827D112
+gText_AppealAsGoodAsThoseBeforeIt:: @ 827D112
.string "Makes the appeal as good\nas those before it.$"
-gContestEffect20hDescription:: @ 827D13F
+gText_AppealAsGoodAsOneBeforeIt:: @ 827D13F
.string "Makes the appeal as good\nas the one before it.$"
-gContestEffect21hDescription:: @ 827D16E
+gText_AppealBetterLaterItsPerformed:: @ 827D16E
.string "The appeal works better\nthe later it is performed.$"
-gContestEffect22hDescription:: @ 827D1A1
+gText_AppealVariesDependingOnTiming:: @ 827D1A1
.string "The appeal's quality varies\ndepending on its timing.$"
-gContestEffect23hDescription:: @ 827D1D6
+gText_WorksWellIfSameTypeAsBefore:: @ 827D1D6
.string "Works well if it's the same\ntype as the one before.$"
-gContestEffect24hDescription:: @ 827D20A
+gText_WorksWellIfDifferentTypeAsBefore:: @ 827D20A
.string "Works well if different in\ntype than the one before.$"
-gContestEffect25hDescription:: @ 827D23F
+gText_AffectedByAppealInFront:: @ 827D23F
.string "Affected by how well the\nappeal in front goes.$"
-gContestEffect26hDescription:: @ 827D26E
+gText_UpsConditionHelpsPreventNervousness:: @ 827D26E
.string "Ups the user's condition.\nHelps prevent nervousness.$"
-gContestEffect27hDescription:: @ 827D2A3
+gText_AppealWorksWellIfConditionGood:: @ 827D2A3
.string "The appeal works well if the\nuser's condition is good.$"
-gContestEffect28hDescription:: @ 827D2DA
+gText_NextAppealMadeEarlier:: @ 827D2DA
.string "The next appeal can be\nmade earlier next turn.$"
-gContestEffect29hDescription:: @ 827D309
+gText_NextAppealMadeLater:: @ 827D309
.string "The next appeal can be\nmade later next turn.$"
-gContestEffect2AhDescription:: @ 827D336
+gText_TurnOrderMoreEasilyScrambled:: @ 827D336
.string "Makes the next turn's order\nmore easily scrambled.$"
-gContestEffect2BhDescription:: @ 827D369
+gText_ScrambleOrderOfNextAppeals:: @ 827D369
.string "Scrambles the order of\nappeals on the next turn.$"
-gContestEffect2ChDescription:: @ 827D39A
+gText_AppealExcitesAudienceInAnyContest:: @ 827D39A
.string "An appeal that excites the\naudience in any CONTEST.$"
-gContestEffect2DhDescription:: @ 827D3CE
+gText_BadlyStartlesMonsGoodAppeals:: @ 827D3CE
.string "Badly startles all POKéMON\nthat made good appeals.$"
-gContestEffect2EhDescription:: @ 827D401
+gText_AppealBestMoreCrowdExcited:: @ 827D401
.string "The appeal works best the\nmore the crowd is excited.$"
-gContestEffect2FhDescription:: @ 827D436
+gText_TemporarilyStopCrowdExcited:: @ 827D436
.string "Temporarily stops the\ncrowd from growing excited.$"
-@ unused move names
+@ Unused move names
-gUnusedContestMoveName0:: @ 827D468
+gText_RainDance:: @ 827D468
.string "RAIN DANCE$"
-gUnusedContestMoveName1:: @ 827D473
+gText_Rage:: @ 827D473
.string "RAGE$"
-gUnusedContestMoveName2:: @ 827D478
+gText_FocusEnergy:: @ 827D478
.string "FOCUS ENERGY$"
-gUnusedContestMoveName3:: @ 827D485
+gText_Hypnosis:: @ 827D485
.string "HYPNOSIS$"
-gUnusedContestMoveName4:: @ 827D48E
+gText_Softboiled:: @ 827D48E
.string "SOFTBOILED$"
-gUnusedContestMoveName5:: @ 827D499
+gText_HornAttack:: @ 827D499
.string "HORN ATTACK$"
-gUnusedContestMoveName6:: @ 827D4A5
+gText_SwordsDance:: @ 827D4A5
.string "SWORDS DANCE$"
-gUnusedContestMoveName7:: @ 827D4B2
+gText_Conversion:: @ 827D4B2
.string "CONVERSION$"
-gUnusedContestMoveName8:: @ 827D4BD
+gText_SunnyDay:: @ 827D4BD
.string "SUNNY DAY$"
-gUnusedContestMoveName9:: @ 827D4C7
+gText_Rest2:: @ 827D4C7
.string "REST$"
-gUnusedContestMoveName10:: @ 827D4CC
+gText_Vicegrip:: @ 827D4CC
.string "VICEGRIP$"
-gUnusedContestMoveName11:: @ 827D4D5
+gText_DefenseCurl:: @ 827D4D5
.string "DEFENSE CURL$"
-gUnusedContestMoveName12:: @ 827D4E2
+gText_LockOn:: @ 827D4E2
.string "LOCK-ON$"
-@ contest type names
+@ Contest type names
gContestMoveTypeCoolText:: @ 827D4EA
.string "COOL$"
@@ -202,434 +202,441 @@ gContestMoveTypeSmartText:: @ 827D4FB
gContestMoveTypeToughText:: @ 827D501
.string "TOUGH$"
-gText_0827D507:: @ 827D507
+gText_AppealNumWhichMoveWillBePlayed:: @ 827D507
.string "Appeal no. {STR_VAR_1}!\n"
.string "Which move will be played?$"
-gText_0827D531:: @ 827D531
+gText_AppealNumButItCantParticipate:: @ 827D531
.string "Appeal no. {STR_VAR_1}!\n"
.string "But it can't participate!$"
-gText_0827D55A:: @ 827D55A
+gText_MonAppealedWithMove:: @ 827D55A
.string "{STR_VAR_1} appealed with\n"
.string "{STR_VAR_2}!$"
-gText_0827D56F:: @ 827D56F
+gText_MonWasWatchingOthers:: @ 827D56F
.string "{STR_VAR_1} was watching\n"
.string "the others.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827D597:: @ 827D597
+gText_AllOutOfAppealTime:: @ 827D597
.string "We're all out of\n"
.string "Appeal Time!{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827D5C1:: @ 827D5C1
+@ Unused appeal result texts
+
+gText_ButAppealWasJammed:: @ 827D5C1
.string "But the appeal was\n"
.string "jammed.$"
-gText_0827D5DC:: @ 827D5DC
+gText_FollowedAnotherMonsLead:: @ 827D5DC
.string "It followed another\n"
.string "POKéMON's lead.$"
-gText_0827D600:: @ 827D600
+gText_ButItMessedUp:: @ 827D600
.string "But it messed up.$"
-gText_0827D612:: @ 827D612
+gText_WentBetterThanUsual:: @ 827D612
.string "It went better than\n"
.string "usual.$"
-gText_0827D62D:: @ 827D62D
+gText_JudgeLookedAwayForSomeReason:: @ 827D62D
.string "The JUDGE looked away\n"
.string "for some reason.$"
-gText_0827D654:: @ 827D654
+gText_WorkedHardToBuildOnPastMistakes:: @ 827D654
.string "It worked hard to build on\n"
.string "past mistakes.$"
-gText_0827D67E:: @ 827D67E
+gText_CantMakeAnyMoreMoves:: @ 827D67E
.string "It can't make any more\n"
.string "moves.$"
-gText_0827D69C:: @ 827D69C
+gText_WorkedFrighteninglyWell:: @ 827D69C
.string "It worked frighteningly\n"
.string "well.$"
-gText_0827D6BA:: @ 827D6BA
+gText_WorkedHardAsStandoutMon:: @ 827D6BA
.string "It worked as hard as the\n"
.string "standout POKéMON.$"
-gText_0827D6E5:: @ 827D6E5
+gText_JudgedLookedOnExpectantly:: @ 827D6E5
.string "The JUDGE looked on\n"
.string "expectantly.$"
-gText_0827D706:: @ 827D706
+gText_WorkedRatherWell:: @ 827D706
.string "It worked rather well.$"
-gText_0827D71D:: @ 827D71D
+gText_WorkedLittleBetterThanUsual:: @ 827D71D
.string "It worked a little better\n"
.string "than usual.$"
-gText_0827D743:: @ 827D743
+@ Round result texts
+
+gText_MonFailedToStandOutAtAll:: @ 827D743
.string "{STR_VAR_1} failed to\n"
.string "stand out at all…{PAUSE_UNTIL_PRESS}$"
-gText_0827D764:: @ 827D764
+gText_MonDidntStandOutVeryMuch:: @ 827D764
.string "{STR_VAR_1} didn't stand\n"
.string "out very much…{PAUSE_UNTIL_PRESS}$"
-gText_0827D785:: @ 827D785
+gText_MonCaughtALittleAttention:: @ 827D785
.string "{STR_VAR_1} caught a\n"
.string "little attention.{PAUSE_UNTIL_PRESS}$"
-gText_0827D7A5:: @ 827D7A5
+gText_MonAttractedALotOfAttention:: @ 827D7A5
.string "{STR_VAR_1} attracted a\n"
.string "lot of attention.{PAUSE_UNTIL_PRESS}$"
-gText_0827D7C8:: @ 827D7C8
+gText_MonCommandedTotalAttention:: @ 827D7C8
.string "{STR_VAR_1} commanded\n"
.string "total attention.{PAUSE_UNTIL_PRESS}$"
-gText_0827D7E8:: @ 827D7E8
+gText_MonHasntMadeItsAppeal:: @ 827D7E8
.string "{STR_VAR_1} hasn't made\n"
.string "its appeal.{PAUSE_UNTIL_PRESS}$"
-gText_0827D805:: @ 827D805
+@ Unused
+gText_AnticipationSwelledForMonsAppealNext2:: @ 827D805
.string "Anticipation swelled for\n"
.string "{STR_VAR_1}'s appeal next.$"
-gText_0827D830:: @ 827D830
+gText_EmptyContestString:: @ 827D830
.string "$"
-gText_0827D831:: @ 827D831
+gText_JudgesViewsOnMonHeldFirm:: @ 827D831
.string "The JUDGE 's views on\n"
.string "{STR_VAR_1} held firm.$"
-gText_0827D855:: @ 827D855
+gText_MonsXChangedPerceptions:: @ 827D855
.string "{STR_VAR_1}'s {STR_VAR_3}\n"
.string "changed perceptions.$"
-gText_0827D872:: @ 827D872
+gText_MonsAppealEffectWoreOff:: @ 827D872
.string "{STR_VAR_1}'s appeal\n"
.string "effect wore off.$"
-gText_0827D88F:: @ 827D88F
+gText_SpecialAppealsEffectWoreOff:: @ 827D88F
.string "The special appeal's\n"
.string "effect wore off.$"
-gText_0827D8B5:: @ 827D8B5
+gText_EveryonesAppealsMadeToLookSame:: @ 827D8B5
.string "Everyone's appeals were\n"
.string "made to look the same.$"
-gText_0827D8E4:: @ 827D8E4
+gText_CheapenedMonsAppeal:: @ 827D8E4
.string "It cheapened\n"
.string "{STR_VAR_2}'s appeal.$"
-gText_0827D8FE:: @ 827D8FE
+gText_CheapenedAppealOfThoseAhead:: @ 827D8FE
.string "It cheapened the appeal\n"
.string "of those ahead.$"
-gText_0827D926:: @ 827D926
+gText_StoleAttentionAwayFromMon:: @ 827D926
.string "It stole attention away\n"
.string "from {STR_VAR_2}.$"
-gText_0827D947:: @ 827D947
+gText_CheapenedMonsAppeal2:: @ 827D947
.string "It cheapened\n"
.string "{STR_VAR_2}'s appeal.$"
-gText_0827D961:: @ 827D961
+gText_SeverelyCheapenedOtherAppeals:: @ 827D961
.string "It severely cheapened\n"
.string "other appeals.$"
-gText_0827D986:: @ 827D986
+gText_AnticipationSwelledForMonsAppealNext:: @ 827D986
.string "Anticipation swelled for\n"
.string "{STR_VAR_1}'s appeal next.$"
-gText_0827D9B1:: @ 827D9B1
+gText_CheapenedAppealOfThoseAhead2:: @ 827D9B1
.string "It cheapened the appeal\n"
.string "of those ahead.$"
-gText_0827D9D9:: @ 827D9D9
+gText_CheapenedJudgesFavoriteAppeal:: @ 827D9D9
.string "It cheapened the JUDGE's\n"
.string "favorite appeal.$"
-gText_0827DA03:: @ 827DA03
+gText_AppealsOfOthersCheapenedByHalf:: @ 827DA03
.string "The appeals of others\n"
.string "were cheapened by half.$"
-gText_0827DA31:: @ 827DA31
+gText_StoodOutToMakeUpForBeingJammed:: @ 827DA31
.string "It stood out to make up\n"
.string "for being jammed.$"
-gText_0827DA5B:: @ 827DA5B
+gText_CantParticipateInAppealsAnyMore:: @ 827DA5B
.string "It can't participate in\n"
.string "appeals any more.$"
-gText_0827DA85:: @ 827DA85
+gText_TouchedJudgeForFantasticAppeal:: @ 827DA85
.string "It touched the JUDGE for\n"
.string "a fantastic appeal.$"
-gText_0827DAB2:: @ 827DAB2
+gText_AnticipationRoseForUpcomingAppeals:: @ 827DAB2
.string "Anticipation rose for\n"
.string "upcoming appeals.$"
-gText_0827DADA:: @ 827DADA
+gText_StoodOutAsMuchAsSpecialAppeals:: @ 827DADA
.string "It stood out as much as\n"
.string "special appeals.$"
-gText_0827DB03:: @ 827DB03
+gText_StoodOutAsMuchAsMon:: @ 827DB03
.string "It stood out as much as\n"
.string "{STR_VAR_1}.$"
-gText_0827DB1F:: @ 827DB1F
+gText_JammedAppealsMadeEvenLessNoticeable:: @ 827DB1F
.string "Jammed appeals were made\n"
.string "even less noticeable.$"
-gText_0827DB4E:: @ 827DB4E
+gText_EveryonesAppealsMadeSame:: @ 827DB4E
.string "Everyone's appeals were\n"
.string "made the same.$"
-gText_827DB75:: @ 827DB75
+@ Appeal result texts
+
+gText_BecameMoreConsciousOfOtherMons:: @ 827DB75
.string "It became more conscious\n"
.string "of the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DBB0:: @ 827DBB0
+gText_MonCantMakeAnAppealAfterThis:: @ 827DBB0
.string "{STR_VAR_1} can't make an\n"
.string "appeal after this.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DBE0:: @ 827DBE0
+gText_SettledDownJustLittleBit:: @ 827DBE0
.string "It settled down just a\n"
.string "little bit.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DC0F:: @ 827DC0F
+gText_BecameObliviousToOtherMons:: @ 827DC0F
.string "It became oblivious to\n"
.string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DC45:: @ 827DC45
+gText_BecameLessAwareOfOtherMons:: @ 827DC45
.string "It became less aware of\n"
.string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DC7C:: @ 827DC7C
+gText_StoppedCaringAboutOtherMons:: @ 827DC7C
.string "It stopped caring about\n"
.string "other POKéMON much.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DCB4:: @ 827DCB4
+gText_TriedToStartleOtherMons:: @ 827DCB4
.string "It tried to startle the\n"
.string "other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DCE7:: @ 827DCE7
+gText_TriedToDazzleOthers:: @ 827DCE7
.string "It tried to dazzle the\n"
.string "others.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DD12:: @ 827DD12
+gText_JudgeLookedAwayFromMon:: @ 827DD12
.string "The JUDGE looked away\n"
.string "from {STR_VAR_1}.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DD3D:: @ 827DD3D
+gText_TriedToUnnerveNextMon:: @ 827DD3D
.string "It tried to unnerve the\n"
.string "next POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DD6F:: @ 827DD6F
+gText_MonBecameNervous:: @ 827DD6F
.string "{STR_VAR_1} became\n"
.string "nervous.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DD8E:: @ 827DD8E
+gText_AppealTriedToUnnerveWaitingMons:: @ 827DD8E
.string "The appeal tried to\n"
.string "unnerve waiting POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DDC7:: @ 827DDC7
+gText_TauntedMonsDoingWell:: @ 827DDC7
.string "It taunted POKéMON\n"
.string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DDF2:: @ 827DDF2
+gText_MonRegainedItsForm:: @ 827DDF2
.string "{STR_VAR_1} regained its\n"
.string "form.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DE14:: @ 827DE14
+gText_TriedToJamMonDoingWell:: @ 827DE14
.string "It tried to jam POKéMON\n"
.string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DE44:: @ 827DE44
+gText_StandoutMonHustledEvenMore:: @ 827DE44
.string "The standout {STR_VAR_1}\n"
.string "hustled even more.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DE73:: @ 827DE73
+gText_LargelyUnnoticedMonWorkedHard:: @ 827DE73
.string "The largely unnoticed\n"
.string "{STR_VAR_1} worked hard.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DEA5:: @ 827DEA5
+gText_WorkedAsMuchAsMonBefore:: @ 827DEA5
.string "It worked as much as\n"
.string "POKéMON before it.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DED9:: @ 827DED9
+gText_MonsAppealDidNotGoWell:: @ 827DED9
.string "{STR_VAR_1}'s appeal did\n"
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DF02:: @ 827DF02
+gText_WorkedAsMuchAsPrecedingMon:: @ 827DF02
.string "It worked as much as the\n"
.string "preceding POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DF3A:: @ 827DF3A
+gText_MonsAppealDidNotGoWell2:: @ 827DF3A
.string "{STR_VAR_1}'s appeal did\n"
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DF63:: @ 827DF63
+gText_MonsAppealDidNotGoWell3:: @ 827DF63
.string "{STR_VAR_1}'s appeal did\n"
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DF8C:: @ 827DF8C
+gText_MonsAppealWentSlightlyWell:: @ 827DF8C
.string "{STR_VAR_1}'s appeal\n"
.string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DFB8:: @ 827DFB8
+gText_MonsAppealWentPrettyWell:: @ 827DFB8
.string "{STR_VAR_1}'s appeal\n"
.string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827DFE2:: @ 827DFE2
+gText_MonsAppealWentExcellently:: @ 827DFE2
.string "{STR_VAR_1}'s appeal\n"
.string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E00C:: @ 827E00C
+gText_MonsAppealWasDud:: @ 827E00C
.string "{STR_VAR_1}'s appeal was\n"
.string "a dud.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E02F:: @ 827E02F
+gText_MonsAppealDidNotWorkVeryWell:: @ 827E02F
.string "{STR_VAR_1}'s appeal did\n"
.string "not work very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E05F:: @ 827E05F
+gText_MonsAppealWentSlightlyWell2:: @ 827E05F
.string "{STR_VAR_1}'s appeal\n"
.string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E08B:: @ 827E08B
+gText_MonsAppealWentPrettyWell2:: @ 827E08B
.string "{STR_VAR_1}'s appeal\n"
.string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E0B5:: @ 827E0B5
+gText_MonsAppealWentVeryWell:: @ 827E0B5
.string "{STR_VAR_1}'s appeal\n"
.string "went very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E0DD:: @ 827E0DD
+gText_MonsAppealWentExcellently2:: @ 827E0DD
.string "{STR_VAR_1}'s appeal\n"
.string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E107:: @ 827E107
+gText_SameTypeAsOneBeforeGood:: @ 827E107
.string "It's the same type as the\n"
.string "POKéMON before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E143:: @ 827E143
+gText_NotSameTypeAsOneBeforeGood:: @ 827E143
.string "It's not the same type as\n"
.string "the one before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E17F:: @ 827E17F
+gText_StoodOutMuchMoreThanMonBefore:: @ 827E17F
.string "It stood out much more\n"
.string "than the POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E1BB:: @ 827E1BB
+gText_DidntDoAsWellAsMonBefore:: @ 827E1BB
.string "It didn't do as well as the\n"
.string "POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E1F3:: @ 827E1F3
+gText_MonsConditionRoseAboveUsual:: @ 827E1F3
.string "{STR_VAR_1}'s condition\n"
.string "rose above usual.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E220:: @ 827E220
+gText_MonsHotStatusMadeGreatAppeal:: @ 827E220
.string "{STR_VAR_1}'s hot status\n"
.string "made it a great appeal!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E254:: @ 827E254
+gText_MovedUpInLineForNextAppeal:: @ 827E254
.string "It moved up in line for\n"
.string "the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E289:: @ 827E289
+gText_MovedBackInLineForNextAppeal:: @ 827E289
.string "It moved back in line once\n"
.string "for the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_827E2C5:: @ 827E2C5
+gText_ScrambledUpOrderForNextTurn:: @ 827E2C5
.string "It scrambled up the\n"
.string "order for the next turn.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gText_0827E2FE:: @ 827E2FE
+gText_JudgeLookedAtMonExpectantly:: @ 827E2FE
.string "The JUDGE looked at\n"
.string "{STR_VAR_1} expectantly.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E32E:: @ 827E32E
+gText_AppealComboWentOverWell:: @ 827E32E
.string "The appeal combo went\n"
.string "over well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E35B:: @ 827E35B
+gText_AppealComboWentOverVeryWell:: @ 827E35B
.string "The appeal combo went\n"
.string "over very well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E38D:: @ 827E38D
+gText_AppealComboWentOverExcellently:: @ 827E38D
.string "The appeal combo went\n"
.string "over excellently.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E3C1:: @ 827E3C1
+gText_MonManagedToAvertGaze:: @ 827E3C1
.string "{STR_VAR_1} managed to\n"
.string "avert its gaze.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E3EB:: @ 827E3EB
+gText_MonManagedToAvoidSeeingIt:: @ 827E3EB
.string "{STR_VAR_1} managed to\n"
.string "avoid seeing it.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E416:: @ 827E416
+gText_MonIsntFazedByThatSortOfThing:: @ 827E416
.string "{STR_VAR_1} isn't fazed\n"
.string "by that sort of thing.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E448:: @ 827E448
+gText_MonBecameALittleDistracted:: @ 827E448
.string "{STR_VAR_1} became a\n"
.string "little distracted.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E473:: @ 827E473
+gText_TriedToStartleOtherPokemon:: @ 827E473
.string "It tried to startle the\n"
.string "other POKéMON.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E4A6:: @ 827E4A6
+gText_MonLookedDownOutOfDistraction:: @ 827E4A6
.string "{STR_VAR_1} looked down\n"
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E4D5:: @ 827E4D5
+gText_MonTurnedBackOutOfDistraction:: @ 827E4D5
.string "{STR_VAR_1} turned back\n"
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E504:: @ 827E504
+gText_MonCouldntHelpUtteringCry:: @ 827E504
.string "{STR_VAR_1} couldn't help\n"
.string "uttering a cry.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E531:: @ 827E531
+gText_MonCouldntHelpLeapingUp:: @ 827E531
.string "{STR_VAR_1} couldn't help\n"
.string "leaping up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E55A:: @ 827E55A
+gText_MonTrippedOutOfDistraction:: @ 827E55A
.string "{STR_VAR_1} tripped over\n"
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E58A:: @ 827E58A
+gText_MonWasTooNervousToMove:: @ 827E58A
.string "{STR_VAR_1} was too\n"
.string "nervous to move.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E5B2:: @ 827E5B2
+gText_ButItMessedUp2:: @ 827E5B2
.string "But it messed up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E5D0:: @ 827E5D0
+gText_ButItFailedToMakeTargetNervous:: @ 827E5D0
.string "But it failed to make\n"
.string "the target nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E606:: @ 827E606
+gText_ButItFailedToMakeAnyoneNervous:: @ 827E606
.string "But it failed to make\n"
.string "anyone nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E638:: @ 827E638
+gText_ButItWasIgnored:: @ 827E638
.string "But it was ignored…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E658:: @ 827E658
+gText_CouldntImproveItsCondition:: @ 827E658
.string "But it couldn't improve\n"
.string "its condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E68B:: @ 827E68B
+gText_BadConditionResultedInWeakAppeal:: @ 827E68B
.string "Its bad condition\n"
.string "resulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E6C4:: @ 827E6C4
+gText_MonWasUnaffected:: @ 827E6C4
.string "{STR_VAR_1} was\n"
.string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
@@ -637,31 +644,31 @@ gText_RepeatedAppeal:: @ 827E6E3
.string "{STR_VAR_1} disappointed\n"
.string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E717:: @ 827E717
+gText_MonsXWentOverGreat:: @ 827E717
.string "{STR_VAR_1}'s {STR_VAR_3}\n"
.string "went over great.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E73C:: @ 827E73C
+gText_MonsXDidntGoOverWell:: @ 827E73C
.string "{STR_VAR_1}'s {STR_VAR_3}\n"
.string "didn't go over well here…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E76A:: @ 827E76A
+gText_MonsXGotTheCrowdGoing:: @ 827E76A
.string "{STR_VAR_1}'s {STR_VAR_3}\n"
.string "got the crowd going.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E793:: @ 827E793
+gText_MonCantAppealNextTurn:: @ 827E793
.string "{STR_VAR_1} can't appeal\n"
.string "next turn…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E7BA:: @ 827E7BA
+gText_AttractedCrowdsAttention:: @ 827E7BA
.string "It attracted the crowd's\n"
.string "attention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E7EA:: @ 827E7EA
+gText_CrowdContinuesToWatchMon:: @ 827E7EA
.string "The crowd continues to\n"
.string "watch {STR_VAR_3}.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E817:: @ 827E817
+gText_MonsMoveIsIgnored:: @ 827E817
.string "{STR_VAR_1}'s\n"
.string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
@@ -680,38 +687,39 @@ gText_Contest_Hesitancy:: @ 827E850
gText_Contest_Fear:: @ 827E85A
.string "fear$"
-gText_0827E85F:: @ 827E85F
+gText_Contest_Coolness:: @ 827E85F
.string "coolness$"
-gText_0827E868:: @ 827E868
+gText_Contest_Beauty:: @ 827E868
.string "beauty$"
-gText_0827E86F:: @ 827E86F
+gText_Contest_Cuteness:: @ 827E86F
.string "cuteness$"
-gText_0827E878:: @ 827E878
+gText_Contest_Smartness:: @ 827E878
.string "smartness$"
-gText_0827E882:: @ 827E882
+gText_Contest_Toughness:: @ 827E882
.string "toughness$"
-gText_0827E88C:: @ 827E88C
+@ Unused
+gText_Tension:: @ 827E88C
.string "TENSION$"
-gText_0827E894:: @ 827E894
+gText_CoolMove:: @ 827E894
.string "COOL Move$"
-gText_0827E89E:: @ 827E89E
+gText_BeautyMove:: @ 827E89E
.string "BEAUTY Move$"
-gText_0827E8AA:: @ 827E8AA
+gText_CuteMove:: @ 827E8AA
.string "CUTE Move$"
-gText_0827E8B4:: @ 827E8B4
+gText_SmartMove:: @ 827E8B4
.string "SMART Move$"
-gText_0827E8BF:: @ 827E8BF
+gText_ToughMove:: @ 827E8BF
.string "TOUGH Move$"
-gText_0827E8CA:: @ 827E8CA
+gText_3QuestionMarks:: @ 827E8CA
.string "???$"
diff --git a/data/text/eon_ticket.inc b/data/text/event_ticket_1.inc
index d436f2df1..da4d525f6 100644
--- a/data/text/eon_ticket.inc
+++ b/data/text/event_ticket_1.inc
@@ -1,16 +1,16 @@
-LilycoveCity_Harbor_Text_2A6848: @ 82A6848
+EventTicket_Text_ShowOldSeaMap: @ 82A6848
.string "The ferry to SLATEPORT is…\p"
.string "I beg your pardon?\n"
.string "Can we sail to this place on the map?\p"
.string "I know someone who will help you better.\n"
.string "Please wait.$"
-LilycoveCity_Harbor_Text_2A68D2: @ 82A68D2
+EventTicket_Text_ThatPass: @ 82A68D2
.string "The ferry to SLATEPORT is…\p"
.string "Oh?\n"
.string "That PASS…$"
-LilycoveCity_Harbor_Text_2A68FC: @ 82A68FC
+EventTicket_Text_ShowEonTicket: @ 82A68FC
.string "Aye, mate, are you the one who brought\n"
.string "that mighty odd PASS?\p"
.string "I'll tell you, you're trying to reach a\n"
@@ -20,29 +20,22 @@ LilycoveCity_Harbor_Text_2A68FC: @ 82A68FC
.string "That shivers my timbers!\p"
.string "All aboard!$"
-SouthernIsland_Exterior_Text_2A69F1: @ 82A69F1
+EventTicket_Text_SouthernIslandSailBack: @ 82A69F1
.string "Aye, mate, there's nothing here to\n"
.string "see or do on this forgettable island.\p"
.string "What say we sail back to LILYCOVE?$"
-BirthIsland_Harbor_Text_2A6A5D: @ 82A6A5D
-FarawayIsland_Entrance_Text_2A6A5D: @ 82A6A5D
-NavelRock_Harbor_Text_2A6A5D: @ 82A6A5D
-SouthernIsland_Exterior_Text_2A6A5D: @ 82A6A5D
+EventTicket_Text_SailHome: @ 82A6A5D
.string "Aye, right, then!\n"
.string "Sail home we will!$"
-BirthIsland_Harbor_Text_2A6A82: @ 82A6A82
-FarawayIsland_Entrance_Text_2A6A82: @ 82A6A82
-LilycoveCity_Harbor_Text_2A6A82: @ 82A6A82
-NavelRock_Harbor_Text_2A6A82: @ 82A6A82
-SouthernIsland_Exterior_Text_2A6A82: @ 82A6A82
+EventTicket_Text_AsYouLike: @ 82A6A82
.string "Aye, right, as you like, then.$"
-SouthernIsland_Interior_Text_2A6AA1: @ 82A6AA1
+SouthernIsland_Interior_Text_Sign: @ 82A6AA1
.string "“All dreams are but another reality.\n"
.string "Never forget…”$"
-SouthernIsland_Exterior_Text_2A6AD5: @ 82A6AD5
+SouthernIsland_Exterior_Text_Sign: @ 82A6AD5
.string "“Those whose memories fade seek to\n"
.string "carve them in their hearts…”$"
diff --git a/data/text/event_ticket_2.inc b/data/text/event_ticket_2.inc
new file mode 100644
index 000000000..e081edbd9
--- /dev/null
+++ b/data/text/event_ticket_2.inc
@@ -0,0 +1,71 @@
+EventTicket_Text_OldSeaMapTooFar: @ 82C68A5
+ .string "What's up, youngster?\p"
+ .string "What, it's you who's supposed to have\n"
+ .string "a tattered old map?\p"
+ .string "Let's have a look.\n"
+ .string "… … … … … …\p"
+ .string "Boy, this is quite a ways away.\n"
+ .string "I'm afraid I can't help you…$"
+
+EventTicket_Text_BrineyHoldOnASecond: @ 82C6951
+ .string "BRINEY: Hold on a second!\p"
+ .string "What's the idea of turning down\n"
+ .string "someone that I owe so much to?$"
+
+EventTicket_Text_BrineyLetsSail: @ 82C69AA
+ .string "{PLAYER}{KUN}, I'm terribly sorry.\p"
+ .string "You came to me seeking my help,\n"
+ .string "and we almost turned you away.\p"
+ .string "Well, let me make things right.\p"
+ .string "We'll sail right away, of course!\p"
+ .string "Let's find this island on\n"
+ .string "this OLD SEA MAP!$"
+
+EventTicket_Text_OddTicketGetOnBoard: @ 82C6A71
+ .string "Is it you who brought that odd\n"
+ .string "ticket?\p"
+ .string "Where you're trying to go is an island\n"
+ .string "that's far, far away.\p"
+ .string "No one knows what awaits there…\p"
+ .string "The very thought excites my blood\n"
+ .string "as a sailing man!\p"
+ .string "Get on board, youngster!$"
+
+FarawayIsland_Entrance_Text_SailorReturn: @ 82C6B42
+ .string "CAPT. BRINEY can be so maddeningly\n"
+ .string "fickle…\p"
+ .string "Do you want to return to LILYCOVE?$"
+
+BirthIsland_Harbor_Text_SailorReturn: @ 82C6B90
+ .string "What an oddly shaped island, eh?\n"
+ .string "Do you want to return to LILYCOVE?$"
+
+EventTicket_Text_OddTicketsWhereTo: @ 82C6BD4
+ .string "Is it you who brought those\n"
+ .string "odd tickets?\p"
+ .string "… … …Hm.\p"
+ .string "These tickets will get you to islands\n"
+ .string "that are far, far away.\p"
+ .string "No one knows what awaits there,\n"
+ .string "or what may happen there.\p"
+ .string "The very thought excites my blood\n"
+ .string "as a sailing man!\p"
+ .string "Get on board, youngster!\n"
+ .string "Where shall we sail first?$"
+
+NavelRock_Harbor_Text_SailorReturn: @ 82C6CE6
+ .string "Did… Did you hear that?\n"
+ .string "That low growling from deep in there.\p"
+ .string "Are you sure it's safe?\n"
+ .string "Do you think we should leave?$"
+
+FarawayIsland_Entrance_Text_Sign: @ 82C6D5A
+ .string "The writing is fading as if it was\n"
+ .string "written a long time ago…\p"
+ .string "“…ber, 6th day\n"
+ .string "If any human…sets foot here…\l"
+ .string "again…et it be a kindhearted pers…\l"
+ .string "…ith that hope, I depar…”$"
+
+FarawayIsland_Interior_Text_Mew: @ 82C6DFF
+ .string "Myuu…$"
diff --git a/data/text/frontier_brain.inc b/data/text/frontier_brain.inc
new file mode 100644
index 000000000..3bce8076e
--- /dev/null
+++ b/data/text/frontier_brain.inc
@@ -0,0 +1,108 @@
+@ Battle Tower
+gText_AnabelWonSilver:: @ 82C843F
+ .string "It's very disappointing…$"
+
+gText_AnabelDefeatSilver:: @ 82C8458
+ .string "Okay, I understand…$"
+
+gText_AnabelWonGold:: @ 82C846C
+ .string "I'm terribly sorry…$"
+
+gText_AnabelDefeatGold:: @ 82C8480
+ .string "Thank you…$"
+
+@ Battle Dome
+gText_TuckerWonSilver:: @ 82C848B
+ .string "Ahahaha! Aren't you embarrassed?\n"
+ .string "Everyone's watching!$"
+
+gText_TuckerDefeatSilver:: @ 82C84C1
+ .string "Grr…\n"
+ .string "What the…$"
+
+gText_TuckerWonGold:: @ 82C84D0
+ .string "My DOME ACE title isn't just for show!$"
+
+gText_TuckerDefeatGold:: @ 82C84F7
+ .string "Ahahaha!\n"
+ .string "You're inspiring!$"
+
+@ Battle Factory
+gText_NolandWonSilver:: @ 82C8512
+ .string "Way to work!\n"
+ .string "That was a good lesson, eh?$"
+
+gText_NolandDefeatSilver:: @ 82C853B
+ .string "Good job!\n"
+ .string "You know what you're doing!$"
+
+gText_NolandWonGold:: @ 82C8561
+ .string "Hey, hey, hey!\n"
+ .string "You're finished already?$"
+
+gText_NolandDefeatGold:: @ 82C8589
+ .string "What happened here?$"
+
+@ Battle Pike
+gText_LucyWonSilver:: @ 82C859D
+ .string "Humph…$"
+
+gText_LucyDefeatSilver:: @ 82C85A4
+ .string "Urk…$"
+
+gText_LucyWonGold:: @ 82C85A9
+ .string "Hah!$"
+
+gText_LucyDefeatGold:: @ 82C85AE
+ .string "Darn!$"
+
+@ Battle Arena
+gText_GretaWonSilver:: @ 82C85B4
+ .string "Oh, come on!\n"
+ .string "You have to try harder than that!$"
+
+gText_GretaDefeatSilver:: @ 82C85E3
+ .string "No way!\n"
+ .string "Good job!$"
+
+gText_GretaWonGold:: @ 82C85F5
+ .string "Heheh!\n"
+ .string "What did you expect?$"
+
+gText_GretaDefeatGold:: @ 82C8611
+ .string "Huh?\n"
+ .string "Are you serious?!$"
+
+@ Battle Palace
+gText_SpenserWonSilver:: @ 82C8628
+ .string "Your POKéMON are wimpy because\n"
+ .string "you're wimpy as a TRAINER!$"
+
+gText_SpenserDefeatSilver:: @ 82C8662
+ .string "Ah…\n"
+ .string "Now this is something else…$"
+
+gText_SpenserWonGold:: @ 82C8682
+ .string "Gwahahaha!\n"
+ .string "My brethren, we have nothing to fear!$"
+
+gText_SpenserDefeatGold:: @ 82C86B3
+ .string "Gwah!\n"
+ .string "Hahahaha!$"
+
+@ Battle Pyramid
+gText_BrandonWonSilver:: @ 82C86C3
+ .string "Hey! What's wrong with you!\n"
+ .string "Let's see some effort! Get up!$"
+
+gText_BrandonDefeatSilver:: @ 82C86FE
+ .string "That's it! You've done great!\n"
+ .string "You've worked hard for this!$"
+
+gText_BrandonWonGold:: @ 82C8739
+ .string "Hey! Don't you give up now!\n"
+ .string "Get up! Don't lose faith in yourself!$"
+
+gText_BrandonDefeatGold:: @ 82C877B
+ .string "That's it! You've done it!\n"
+ .string "You kept working for this!$"
diff --git a/data/text/lottery_corner.inc b/data/text/lottery_corner.inc
index 674fed52e..102e6b4a2 100644
--- a/data/text/lottery_corner.inc
+++ b/data/text/lottery_corner.inc
@@ -1,4 +1,4 @@
-LilycoveCity_DepartmentStore_1F_Text_2A6390: @ 82A6390
+LilycoveCity_DepartmentStore_1F_Text_LotteryCornerDrawTicket: @ 82A6390
.string "This is the POKéMON LOTTERY CORNER.\p"
.string "All shoppers at our DEPARTMENT STORE\n"
.string "get to draw a POKéMON LOTO TICKET.\p"
@@ -8,70 +8,70 @@ LilycoveCity_DepartmentStore_1F_Text_2A6390: @ 82A6390
.string "Would you like to draw a POKéMON\n"
.string "LOTO TICKET?$"
-LilycoveCity_DepartmentStore_1F_Text_2A6496: @ 82A6496
+LilycoveCity_DepartmentStore_1F_Text_ComeBackTomorrow: @ 82A6496
.string "Please come back tomorrow.$"
-LilycoveCity_DepartmentStore_1F_Text_2A64B1: @ 82A64B1
+LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain: @ 82A64B1
.string "Please do visit again.$"
-LilycoveCity_DepartmentStore_1F_Text_2A64C8: @ 82A64C8
+LilycoveCity_DepartmentStore_1F_Text_PleasePickTicket: @ 82A64C8
.string "Please pick a LOTO TICKET.\n"
.string "…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-LilycoveCity_DepartmentStore_1F_Text_2A650B: @ 82A650B
+LilycoveCity_DepartmentStore_1F_Text_TicketNumberIsXPleaseWait: @ 82A650B
.string "The LOTO TICKET number is {STR_VAR_1}.\p"
.string "I need to run a check on this number\n"
.string "to see if it matches any of your\l"
.string "POKéMON's ID numbers. Please wait.$"
-LilycoveCity_DepartmentStore_1F_Text_2A6592: @ 82A6592
+LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPartyMon: @ 82A6592
.string "Congratulations!\p"
.string "The ID number of your team's\n"
.string "{STR_VAR_1} matches your\l"
.string "LOTO TICKET's number!$"
-LilycoveCity_DepartmentStore_1F_Text_2A65E6: @ 82A65E6
+LilycoveCity_DepartmentStore_1F_Text_TicketMatchesPCMon: @ 82A65E6
.string "Congratulations!\p"
.string "The ID number of your PC-boxed\n"
.string "{STR_VAR_1} matches your\l"
.string "LOTO TICKET's number!$"
-LilycoveCity_DepartmentStore_1F_Text_2A663C: @ 82A663C
+LilycoveCity_DepartmentStore_1F_Text_NoNumbersMatched: @ 82A663C
.string "I'm sorry.\n"
.string "None of the numbers matched.$"
-LilycoveCity_DepartmentStore_1F_Text_2A6664: @ 82A6664
+LilycoveCity_DepartmentStore_1F_Text_TwoDigitsMatched: @ 82A6664
.string "Two digits matched, so you win the\n"
.string "third prize!\l"
.string "You've won the {STR_VAR_1}!$"
-LilycoveCity_DepartmentStore_1F_Text_2A66A7: @ 82A66A7
+LilycoveCity_DepartmentStore_1F_Text_ThreeDigitsMatched: @ 82A66A7
.string "Three digits matched, so you win the\n"
.string "second prize!\l"
.string "You've won the {STR_VAR_1}!$"
-LilycoveCity_DepartmentStore_1F_Text_2A66ED: @ 82A66ED
+LilycoveCity_DepartmentStore_1F_Text_FourDigitsMatched: @ 82A66ED
.string "Four digits matched, so you win the\n"
.string "first prize!\l"
.string "You've won the {STR_VAR_1}!$"
-LilycoveCity_DepartmentStore_1F_Text_2A6731: @ 82A6731
+LilycoveCity_DepartmentStore_1F_Text_AllFiveDigitsMatched: @ 82A6731
.string "Oh, my goodness, all five digits\n"
.string "matched!\p"
.string "You've won the jackpot prize!\n"
.string "You've won the {STR_VAR_1}!$"
-LilycoveCity_DepartmentStore_1F_Text_2A678C: @ 82A678C
+LilycoveCity_DepartmentStore_1F_Text_NoRoomForThis: @ 82A678C
.string "Oh?\n"
.string "You seem to have no room for this.\p"
.string "Please make room in your BAG and\n"
.string "let me know.$"
-LilycoveCity_DepartmentStore_1F_Text_2A67E1: @ 82A67E1
+LilycoveCity_DepartmentStore_1F_Text_PrizeWeveBeenHolding: @ 82A67E1
.string "{PLAYER}?\n"
.string "Yes, I've been expecting you.\p"
.string "This is the prize we've been holding\n"
.string "for you.$"
-LilycoveCity_DepartmentStore_1F_Text_2A6831: @ 82A6831
+LilycoveCity_DepartmentStore_1F_Text_PleaseVisitAgain2: @ 82A6831
.string "Please do visit again.$"
diff --git a/data/text/mart_clerk.inc b/data/text/mart_clerk.inc
new file mode 100644
index 000000000..2357963be
--- /dev/null
+++ b/data/text/mart_clerk.inc
@@ -0,0 +1,10 @@
+gText_HowMayIServeYou:: @ 8272A21
+ .string "Welcome!\p"
+ .string "How may I serve you?$"
+
+gText_PleaseComeAgain:: @ 8272A3F
+ .string "Please come again!$"
+
+gText_PlayerWhatCanIDoForYou:: @ 8272A52
+ .string "{PLAYER}{STRING 5}, welcome!\p"
+ .string "What can I do for you?$"
diff --git a/data/text/match_call.inc b/data/text/match_call.inc
index 376f36750..568ed2a86 100644
--- a/data/text/match_call.inc
+++ b/data/text/match_call.inc
@@ -2014,7 +2014,7 @@ MatchCall_BattlePyramidText14:: @ 82B21FC
.string "You're an inspiration!\n"
.string "See you again!$"
-gText_Mom_Pokenav_2B227B:: @ 82B227B
+MatchCall_Text_Mom1:: @ 82B227B
.string "MOM: Your father and you…\n"
.string "Everyone is captivated by POKéMON.\p"
.string "What is the charm of POKéMON?\p"
@@ -2022,7 +2022,7 @@ gText_Mom_Pokenav_2B227B:: @ 82B227B
.string "I adore POKéMON that help me with\l"
.string "my everyday chores.$"
-gText_Mom_Pokenav_2B2310:: @ 82B2310
+MatchCall_Text_Mom2:: @ 82B2310
.string "MOM: Hi, {PLAYER}!\n"
.string "Your father keeps himself locked\l"
.string "away in the PETALBURG GYM.\p"
@@ -2032,13 +2032,13 @@ gText_Mom_Pokenav_2B2310:: @ 82B2310
.string "I'm guessing that losing to you\n"
.string "was a big blow to his pride!$"
-gText_Mom_Pokenav_2B23F3:: @ 82B23F3
+MatchCall_Text_Mom3:: @ 82B23F3
.string "MOM: {PLAYER}…\n"
.string "Don't worry about me or the house.\p"
.string "Wear those RUNNING SHOES until\n"
.string "they fall apart, honey!$"
-gText_Roxanne_Pokenav_2B2456:: @ 82B2456
+MatchCall_Text_Roxanne1:: @ 82B2456
.string "ROXANNE: Oh, hello, {PLAYER}!\p"
.string "I've been hard at work retraining\n"
.string "since we met.\p"
@@ -2047,7 +2047,7 @@ gText_Roxanne_Pokenav_2B2456:: @ 82B2456
.string "But when I do, please visit my GYM\n"
.string "for a rematch!$"
-gText_Roxanne_Pokenav_2B250E:: @ 82B250E
+MatchCall_Text_Roxanne2:: @ 82B250E
.string "ROXANNE: Is this {PLAYER}?\n"
.string "Congratulations!\l"
.string "I've been hearing about you!\p"
@@ -2056,18 +2056,18 @@ gText_Roxanne_Pokenav_2B250E:: @ 82B250E
.string "But when I do, please visit my GYM\n"
.string "for a rematch!$"
-gText_Roxanne_Pokenav_2B25C1:: @ 82B25C1
+MatchCall_Text_Roxanne3:: @ 82B25C1
.string "ROXANNE: {PLAYER}!\n"
.string "My GYM is ready!\p"
.string "Please visit RUSTBORO whenever\n"
.string "you can!$"
-gText_Roxanne_Pokenav_2B2607:: @ 82B2607
+MatchCall_Text_Roxanne4:: @ 82B2607
.string "ROXANNE: At the RUSTBORO GYM,\n"
.string "the fact that we battled, {PLAYER},\l"
.string "is a matter of pride.$"
-gText_Brawly_Pokenav_2B2659:: @ 82B2659
+MatchCall_Text_Brawly1:: @ 82B2659
.string "BRAWLY: Hey, there, {PLAYER}{KUN}!\p"
.string "I learned a lot from the battle we\n"
.string "had together.\p"
@@ -2078,7 +2078,7 @@ gText_Brawly_Pokenav_2B2659:: @ 82B2659
.string "But if I can reopen the GYM,\n"
.string "I want you to challenge us again.$"
-gText_Brawly_Pokenav_2B275D:: @ 82B275D
+MatchCall_Text_Brawly2:: @ 82B275D
.string "BRAWLY: Hey, {PLAYER}{KUN}!\n"
.string "Congratulations!\p"
.string "Word about your exploits arrived\n"
@@ -2090,17 +2090,17 @@ gText_Brawly_Pokenav_2B275D:: @ 82B275D
.string "But if I can reopen the GYM,\n"
.string "I want you to challenge us again.$"
-gText_Brawly_Pokenav_2B286F:: @ 82B286F
+MatchCall_Text_Brawly3:: @ 82B286F
.string "BRAWLY: Hey, {PLAYER}{KUN}!\n"
.string "My GYM's ready for action!\p"
.string "Come back to DEWFORD anytime\n"
.string "for another challenge!$"
-gText_Brawly_Pokenav_2B28D1:: @ 82B28D1
+MatchCall_Text_Brawly4:: @ 82B28D1
.string "BRAWLY: {PLAYER}{KUN}, I don't think\n"
.string "I'll ever get bored of battling you!$"
-gText_Wattson_Pokenav_2B2912:: @ 82B2912
+MatchCall_Text_Wattson1:: @ 82B2912
.string "WATTSON: Oh, it's you!\p"
.string "After you left, I've been redoing\n"
.string "my training from scratch.\p"
@@ -2109,7 +2109,7 @@ gText_Wattson_Pokenav_2B2912:: @ 82B2912
.string "You'll have to wait till then!\n"
.string "Wahahahaha!$"
-gText_Wattson_Pokenav_2B29CA:: @ 82B29CA
+MatchCall_Text_Wattson2:: @ 82B29CA
.string "WATTSON: Wahahahaha!\p"
.string "You've really done it, haven't you?\n"
.string "I've been getting word about you!\p"
@@ -2120,18 +2120,18 @@ gText_Wattson_Pokenav_2B29CA:: @ 82B29CA
.string "You'll have to wait till then!\n"
.string "Wahahahaha!$"
-gText_Wattson_Pokenav_2B2AB6:: @ 82B2AB6
+MatchCall_Text_Wattson3:: @ 82B2AB6
.string "WATTSON: Oh, it's you!\n"
.string "My GYM's ready!\p"
.string "Visit MAUVILLE anytime!\n"
.string "Wahahahaha!$"
-gText_Wattson_Pokenav_2B2B01:: @ 82B2B01
+MatchCall_Text_Wattson4:: @ 82B2B01
.string "WATTSON: Wahahaha!\p"
.string "A battle with you is always charged\n"
.string "with shocking power!$"
-gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D
+MatchCall_Text_Flannery1:: @ 82B2B4D
.string "FLANNERY: {PLAYER}…\p"
.string "When we battled, I learned exactly\n"
.string "how immature I was.\p"
@@ -2141,7 +2141,7 @@ gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D
.string "When the time comes, {PLAYER},\n"
.string "please challenge us again.$"
-gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E
+MatchCall_Text_Flannery2:: @ 82B2C0E
.string "FLANNERY: Hello, {PLAYER}?\n"
.string "Congratulations!\p"
.string "Word of your success has reached\n"
@@ -2152,44 +2152,44 @@ gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E
.string "appear beside my name in the\l"
.string "MATCH CALL list.$"
-gText_Flannery_Pokenav_2B2CF1:: @ 82B2CF1
+MatchCall_Text_Flannery3:: @ 82B2CF1
.string "FLANNERY: Oh, {PLAYER}?\n"
.string "Our GYM's ready!\p"
.string "Come to LAVARIDGE for a soak\n"
.string "in the hot spring and a challenge!$"
-gText_Flannery_Pokenav_2B2D54:: @ 82B2D54
+MatchCall_Text_Flannery4:: @ 82B2D54
.string "FLANNERY: {PLAYER}…\n"
.string "I'm positive that you keep getting\l"
.string "better at training every time.$"
-gText_Winona_Pokenav_2B2DA4:: @ 82B2DA4
+MatchCall_Text_Winona1:: @ 82B2DA4
.string "WINONA: Hello, {PLAYER}!\p"
.string "Thanks to our battle, I've come\n"
.string "to understand my weak points!\p"
.string "When I reopen the GYM, I won't go\n"
.string "down in defeat again!$"
-gText_Winona_Pokenav_2B2E2B:: @ 82B2E2B
+MatchCall_Text_Winona2:: @ 82B2E2B
.string "WINONA: You've done it, {PLAYER}!\p"
.string "News about the new CHAMPION\n"
.string "has reached us in FORTREE!\p"
.string "But… The next time we battle,\n"
.string "it's not going to end the same way.$"
-gText_Winona_Pokenav_2B2EC2:: @ 82B2EC2
+MatchCall_Text_Winona3:: @ 82B2EC2
.string "WINONA: Is this {PLAYER}?\n"
.string "Our GYM is back in operation!\p"
.string "We're waiting for you in FORTREE!$"
-gText_Winona_Pokenav_2B2F16:: @ 82B2F16
+MatchCall_Text_Winona4:: @ 82B2F16
.string "WINONA: {PLAYER}…\n"
.string "Though I have lost, my wings will\l"
.string "never break.\p"
.string "Yes, in exactly the same way that\n"
.string "you never lost sight of your dream.$"
-gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97
+MatchCall_Text_TateLiza1:: @ 82B2F97
.string "TATE: Oh! You're…\n"
.string "LIZA: {PLAYER}!\p"
.string "TATE: We're in training again…\n"
@@ -2199,7 +2199,7 @@ gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97
.string "TATE: A mark'll appear by our name…\n"
.string "LIZA: On the MATCH CALL list.$"
-gText_TateLiza_Pokenav_2B306E:: @ 82B306E
+MatchCall_Text_TateLiza2:: @ 82B306E
.string "TATE: {PLAYER}, congratulations!\n"
.string "LIZA: {PLAYER}, congratulations!\p"
.string "TATE: The two of us are…\n"
@@ -2209,7 +2209,7 @@ gText_TateLiza_Pokenav_2B306E:: @ 82B306E
.string "TATE: A mark'll appear by our name…\n"
.string "LIZA: On the MATCH CALL list.$"
-gText_TateLiza_Pokenav_2B3158:: @ 82B3158
+MatchCall_Text_TateLiza3:: @ 82B3158
.string "TATE: {PLAYER}!\n"
.string "LIZA: {PLAYER}!\p"
.string "TATE: Our GYM is ready!\n"
@@ -2217,13 +2217,13 @@ gText_TateLiza_Pokenav_2B3158:: @ 82B3158
.string "TATE: Please come visit…\n"
.string "LIZA: MOSSDEEP anytime!$"
-gText_TateLiza_Pokenav_2B31CD:: @ 82B31CD
+MatchCall_Text_TateLiza4:: @ 82B31CD
.string "TATE: {PLAYER}, the battle we had…\n"
.string "LIZA: Is an invaluable experience.\p"
.string "TATE: It would be nice if…\n"
.string "LIZA: We could all battle again!$"
-gText_Juan_Pokenav_2B3249:: @ 82B3249
+MatchCall_Text_Juan1:: @ 82B3249
.string "JUAN: Hmm…\n"
.string "{PLAYER}{KUN}… Was it?\p"
.string "Our battle together--it brought\n"
@@ -2232,7 +2232,7 @@ gText_Juan_Pokenav_2B3249:: @ 82B3249
.string "Perhaps you are a genius who may\n"
.string "yet surpass WALLACE!$"
-gText_Juan_Pokenav_2B32EC:: @ 82B32EC
+MatchCall_Text_Juan2:: @ 82B32EC
.string "JUAN: Fufu… {PLAYER}{KUN}…\n"
.string "You've finally achieved your goal.\p"
.string "My eye for appraising talent wasn't\n"
@@ -2241,14 +2241,14 @@ gText_Juan_Pokenav_2B32EC:: @ 82B32EC
.string "you, for you have scaled the peak\l"
.string "of power and prestige.$"
-gText_Juan_Pokenav_2B33AA:: @ 82B33AA
+MatchCall_Text_Juan3:: @ 82B33AA
.string "JUAN: Hoho… {PLAYER}{KUN}…\p"
.string "Our SOOTOPOLIS GYM has finally\n"
.string "reopened.\p"
.string "If you wish to see me, you are\n"
.string "welcome to visit anytime.$"
-gText_Juan_Pokenav_2B341E:: @ 82B341E
+MatchCall_Text_Juan4:: @ 82B341E
.string "JUAN: {PLAYER}{KUN}…\p"
.string "Like the finest music, the battles\n"
.string "we wage together strike chords\l"
@@ -2256,7 +2256,7 @@ gText_Juan_Pokenav_2B341E:: @ 82B341E
.string "When I close my eyes, I see visions\n"
.string "of you soaring with the melody…$"
-gText_Sidney_Pokenav_2B34CC:: @ 82B34CC
+MatchCall_Text_Sidney:: @ 82B34CC
.string "SIDNEY: Yo, {PLAYER}!\p"
.string "If you want to battle with me\n"
.string "again, you come on back whenever\l"
@@ -2264,7 +2264,7 @@ gText_Sidney_Pokenav_2B34CC:: @ 82B34CC
.string "I'll always be here!\n"
.string "I'll be waiting!$"
-gText_Phoebe_Pokenav_2B3561:: @ 82B3561
+MatchCall_Text_Phoebe:: @ 82B3561
.string "PHOEBE: Hi, {PLAYER}!\p"
.string "How about coming back here again\n"
.string "sometime?\p"
@@ -2272,7 +2272,7 @@ gText_Phoebe_Pokenav_2B3561:: @ 82B3561
.string "your bond has grown with your\l"
.string "POKéMON.$"
-gText_Glacia_Pokenav_2B35E4:: @ 82B35E4
+MatchCall_Text_Glacia:: @ 82B35E4
.string "GLACIA: Hello, {PLAYER}.\p"
.string "I trust you haven't become\n"
.string "complacent with your power?\p"
@@ -2280,7 +2280,7 @@ gText_Glacia_Pokenav_2B35E4:: @ 82B35E4
.string "hot emotions just a little, do come\l"
.string "to the POKéMON LEAGUE…$"
-gText_Drake_Pokenav_2B368B:: @ 82B368B
+MatchCall_Text_Drake:: @ 82B368B
.string "DRAKE: That voice… {PLAYER}, is it?\n"
.string "You sound well…\p"
.string "I understand that there is now\n"
@@ -2292,7 +2292,7 @@ gText_Drake_Pokenav_2B368B:: @ 82B368B
.string "the POKéMON LEAGUE!\p"
.string "Don't you agree, {PLAYER}?$"
-gText_Wallace_Pokenav_2B3790:: @ 82B3790
+MatchCall_Text_Wallace:: @ 82B3790
.string "WALLACE: Hello, {PLAYER}{KUN}.\n"
.string "Have you met STEVEN?\p"
.string "He is…\n"
@@ -2306,7 +2306,7 @@ gText_Wallace_Pokenav_2B3790:: @ 82B3790
.string "But what is a rare stone exactly?\n"
.string "All I can think of is a METEORITE…$"
-MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1
+MatchCall_Text_MayRayquazaCall: @ 82B38C1
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "MAY: Hi, {PLAYER}{KUN}!\p"
@@ -2321,7 +2321,7 @@ MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1
.string "… … … … … …\n"
.string "… … … … … Click!$"
-MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6
+MatchCall_Text_BrendanRayquazaCall: @ 82B39C6
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "BRENDAN: Hey, {PLAYER}!\n"
@@ -2335,14 +2335,14 @@ MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6
.string "… … … … … …\n"
.string "… … … … … Click!$"
-gText_May_Pokenav_2B3AB3:: @ 2B3AB3
+MatchCall_Text_May1:: @ 2B3AB3
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "MR. BRINEY retired as a SAILOR,\n"
.string "but I still see him out on the sea\l"
.string "with his pet PEEKO sometimes.\p"
.string "He must love the sea still.$"
-gText_May_Pokenav_2B3B3F:: @ 2B3B3F
+MatchCall_Text_May2:: @ 2B3B3F
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "You know how little towns like\n"
.string "PETALBURG and DEWFORD have GYMS?\p"
@@ -2351,7 +2351,7 @@ gText_May_Pokenav_2B3B3F:: @ 2B3B3F
.string "When they finally build a GYM there,\n"
.string "I should apply to be the LEADER.$"
-gText_May_Pokenav_2B3C13:: @ 2B3C13
+MatchCall_Text_May3:: @ 2B3C13
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "Do you remember a man named\n"
.string "the CUTTER in RUSTBORO?\l"
@@ -2363,13 +2363,13 @@ gText_May_Pokenav_2B3C13:: @ 2B3C13
.string "… … … … … …\p"
.string "The ROCK SMASH GUY!$"
-gText_May_Pokenav_2B3CF3:: @ 2B3CF3
+MatchCall_Text_May4:: @ 2B3CF3
.string "MAY: {PLAYER}{KUN}?\p"
.string "RUSTURF TUNNEL…\n"
.string "They named it that because it\l"
.string "joins RUSTBORO and VERDANTURF.$"
-gText_May_Pokenav_2B3D4B:: @ 2B3D4B
+MatchCall_Text_May5:: @ 2B3D4B
.string "MAY: {PLAYER}{KUN}, how are you?\p"
.string "I'm out on ROUTE 111 now.\p"
.string "I'm going to get a rest at an old\n"
@@ -2377,7 +2377,7 @@ gText_May_Pokenav_2B3D4B:: @ 2B3D4B
.string "She lives just north of\n"
.string "the desert.$"
-gText_May_Pokenav_2B3DD1:: @ 2B3DD1
+MatchCall_Text_May6:: @ 2B3DD1
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "Did you know about the MIRAGE\n"
.string "TOWER in the desert?\p"
@@ -2385,21 +2385,21 @@ gText_May_Pokenav_2B3DD1:: @ 2B3DD1
.string "to mysteriously come and go.\p"
.string "I wish I could see it.$"
-gText_May_Pokenav_2B3E69:: @ 2B3E69
+MatchCall_Text_May7:: @ 2B3E69
.string "MAY: {PLAYER}{KUN}, yahoo!\n"
.string "I'm on ROUTE 119 now.\p"
.string "There's a big river here, and\n"
.string "it often rains.\p"
.string "I got soaked!$"
-gText_May_Pokenav_2B3ECD:: @ 2B3ECD
+MatchCall_Text_May8:: @ 2B3ECD
.string "MAY: {PLAYER}{KUN}, hi.\p"
.string "MT. PYRE is a memorial to POKéMON\n"
.string "whose lives have ended.\p"
.string "Maybe as a result, it's infested\n"
.string "with many GHOST-type POKéMON!$"
-gText_May_Pokenav_2B3F2B:: @ 2B3F2B
+MatchCall_Text_May9:: @ 2B3F2B
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "I was thinking of going to the hot\n"
.string "spring in LAVARIDGE.\p"
@@ -2407,14 +2407,14 @@ gText_May_Pokenav_2B3F2B:: @ 2B3F2B
.string "PASS, I ran into some bad-looking\l"
.string "characters. The mood was ugly!$"
-gText_May_Pokenav_2B3FFB:: @ 2B3FFB
+MatchCall_Text_May10:: @ 2B3FFB
.string "MAY: Hi, {PLAYER}{KUN}!\n"
.string "Did you see the news?\p"
.string "They say CAPT. STERN discovered\n"
.string "the SEAFLOOR CAVERN while on his\l"
.string "submarine expedition.$"
-gText_May_Pokenav_2B402B:: @ 2B402B
+MatchCall_Text_May11:: @ 2B402B
.string "MAY: Hi, {PLAYER}{KUN}!\n"
.string "Don't you think it's neat?\p"
.string "Even if you don't have a boat,\n"
@@ -2424,7 +2424,7 @@ gText_May_Pokenav_2B402B:: @ 2B402B
.string "There's a POKéMON move that lets\n"
.string "you go to the bottom of the sea.$"
-gText_May_Pokenav_2B414B:: @ 2B414B
+MatchCall_Text_May12:: @ 2B414B
.string "MAY: Hi, {PLAYER}{KUN}!\n"
.string "Hope things are okay!\p"
.string "Have you been on the sea and\n"
@@ -2435,7 +2435,7 @@ gText_May_Pokenav_2B414B:: @ 2B414B
.string "When you get to the other side,\n"
.string "come up to the surface. Easy!$"
-gText_May_Pokenav_2B4228:: @ 2B4228
+MatchCall_Text_May13:: @ 2B4228
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "How's it going?\n"
.string "Are you filling your POKéDEX?\p"
@@ -2444,7 +2444,7 @@ gText_May_Pokenav_2B4228:: @ 2B4228
.string "And there are three of them!\p"
.string "I would love to see even one…$"
-gText_May_Pokenav_2B42E0:: @ 2B42E0
+MatchCall_Text_May14:: @ 2B42E0
.string "MAY: {PLAYER}{KUN}!\n"
.string "I heard the rumors!\p"
.string "You beat the SOOTOPOLIS GYM\n"
@@ -2452,7 +2452,7 @@ gText_May_Pokenav_2B42E0:: @ 2B42E0
.string "That means you don't have far\n"
.string "to go, do you?$"
-gText_May_Pokenav_2B4350:: @ 2B4350
+MatchCall_Text_May15:: @ 2B4350
.string "MAY: There isn't a single TRAINER\n"
.string "left in HOENN who doesn't know who\l"
.string "you are, {PLAYER}{KUN}!\p"
@@ -2460,7 +2460,7 @@ gText_May_Pokenav_2B4350:: @ 2B4350
.string "with you, {PLAYER}{KUN}, they're all\l"
.string "surprised!$"
-gText_Brendan_Pokenav_2B43EF:: @ 2B43EF
+MatchCall_Text_Brendan1:: @ 2B43EF
.string "BRENDAN: Hey, {PLAYER}!\p"
.string "MR. BRINEY retired as a SAILOR,\n"
.string "but I still see him out on the sea\l"
@@ -2468,7 +2468,7 @@ gText_Brendan_Pokenav_2B43EF:: @ 2B43EF
.string "I guess he must love\n"
.string "the sea still.$"
-gText_Brendan_Pokenav_2B4486:: @ 2B4486
+MatchCall_Text_Brendan2:: @ 2B4486
.string "BRENDAN: Hey, {PLAYER}!\p"
.string "I don't get how little towns like\n"
.string "PETALBURG and DEWFORD have GYMS.\p"
@@ -2477,7 +2477,7 @@ gText_Brendan_Pokenav_2B4486:: @ 2B4486
.string "When they finally build a GYM there,\n"
.string "I should apply to be the LEADER.$"
-gText_Brendan_Pokenav_2B4560:: @ 2B4560
+MatchCall_Text_Brendan3:: @ 2B4560
.string "BRENDAN: Yo, {PLAYER}!\p"
.string "Do you remember a guy named\n"
.string "the CUTTER in RUSTBORO?\l"
@@ -2489,14 +2489,14 @@ gText_Brendan_Pokenav_2B4560:: @ 2B4560
.string "… … … … … …\p"
.string "The ROCK SMASH GUY!$"
-gText_Brendan_Pokenav_2B463F:: @ 2B463F
+MatchCall_Text_Brendan4:: @ 2B463F
.string "BRENDAN: This voice… {PLAYER}?\p"
.string "They gave RUSTURF TUNNEL its name\n"
.string "because it joins RUSTBORO and\l"
.string "VERDANTURF.\p"
.string "Did you know that?$"
-gText_Brendan_Pokenav_2B46B7:: @ 2B46B7
+MatchCall_Text_Brendan5:: @ 2B46B7
.string "BRENDAN: {PLAYER}, what's up?\p"
.string "Hey, I'm out on ROUTE 111 now.\p"
.string "I'm going to rest up at an old\n"
@@ -2504,7 +2504,7 @@ gText_Brendan_Pokenav_2B46B7:: @ 2B46B7
.string "If you're in the area, you should\n"
.string "visit her, too.$"
-gText_Brendan_Pokenav_2B4761:: @ 2B4761
+MatchCall_Text_Brendan6:: @ 2B4761
.string "BRENDAN: Hey, {PLAYER}!\p"
.string "Did you know about the MIRAGE\n"
.string "TOWER in the desert?\p"
@@ -2512,21 +2512,21 @@ gText_Brendan_Pokenav_2B4761:: @ 2B4761
.string "seen only sometimes.\p"
.string "I'd like to see that!$"
-gText_Brendan_Pokenav_2B47F4:: @ 2B47F4
+MatchCall_Text_Brendan7:: @ 2B47F4
.string "BRENDAN: Who's this? Oh, {PLAYER}?\n"
.string "Guess what? I'm on ROUTE 119 now.\p"
.string "There's a big river here, and\n"
.string "it rains all the time.\p"
.string "I got soaked to the bone!$"
-gText_Brendan_Pokenav_2B4882:: @ 2B4882
+MatchCall_Text_Brendan8:: @ 2B4882
.string "BRENDAN: {PLAYER}!\p"
.string "MT. PYRE is a memorial to POKéMON\n"
.string "whose lives have ended.\p"
.string "That's probably why it's infested\n"
.string "with many GHOST-type POKéMON!$"
-gText_Brendan_Pokenav_2B4909:: @ 2B4909
+MatchCall_Text_Brendan9:: @ 2B4909
.string "BRENDAN: Hey there, {PLAYER}.\p"
.string "I was on my way back to the hot\n"
.string "spring in LAVARIDGE.\p"
@@ -2535,14 +2535,14 @@ gText_Brendan_Pokenav_2B4909:: @ 2B4909
.string "Those creeps…\n"
.string "I think they were TEAM MAGMA.$"
-gText_Brendan_Pokenav_2B49C4:: @ 2B49C4
+MatchCall_Text_Brendan10:: @ 2B49C4
.string "BRENDAN: Hi, {PLAYER}!\n"
.string "Did you catch the news?\p"
.string "They say CAPT. STERN discovered\n"
.string "the SEAFLOOR CAVERN while on his\l"
.string "submarine expedition.$"
-gText_Brendan_Pokenav_2B4A44:: @ 2B4A44
+MatchCall_Text_Brendan11:: @ 2B4A44
.string "BRENDAN: Hey there, {PLAYER}!\n"
.string "Don't you think it's awesome?\p"
.string "Even if you don't have a boat,\n"
@@ -2552,7 +2552,7 @@ gText_Brendan_Pokenav_2B4A44:: @ 2B4A44
.string "travel to the bottom of the sea.\p"
.string "Man, POKéMON can do anything!$"
-gText_Brendan_Pokenav_2B4B28:: @ 2B4B28
+MatchCall_Text_Brendan12:: @ 2B4B28
.string "BRENDAN: Howdy, {PLAYER}!\n"
.string "How are you holding up?\p"
.string "Ever found your way to the other\n"
@@ -2562,7 +2562,7 @@ gText_Brendan_Pokenav_2B4B28:: @ 2B4B28
.string "When you get to the other side,\n"
.string "come up to the surface. Simple!$"
-gText_Brendan_Pokenav_2B4C15:: @ 2B4C15
+MatchCall_Text_Brendan13:: @ 2B4C15
.string "BRENDAN: Hey there, {PLAYER}!\p"
.string "How's it going? Filling up your\n"
.string "POKéDEX successfully?\p"
@@ -2571,14 +2571,14 @@ gText_Brendan_Pokenav_2B4C15:: @ 2B4C15
.string "And not just one--three!\p"
.string "I'd love to catch even one…$"
-gText_Brendan_Pokenav_2B4CD8:: @ 2B4CD8
+MatchCall_Text_Brendan14:: @ 2B4CD8
.string "BRENDAN: {PLAYER}!\n"
.string "I heard the rumors!\p"
.string "You beat the SOOTOPOLIS GYM\n"
.string "LEADER? Awesome!\p"
.string "You're getting awful close now!$"
-gText_Brendan_Pokenav_2B4D46:: @ 2B4D46
+MatchCall_Text_Brendan15:: @ 2B4D46
.string "BRENDAN: There isn't a TRAINER in\n"
.string "all of HOENN who doesn't know who\l"
.string "you are, {PLAYER}!\p"
@@ -2586,19 +2586,19 @@ gText_Brendan_Pokenav_2B4D46:: @ 2B4D46
.string "with you, {PLAYER}, they get pretty\l"
.string "envious!$"
-gText_Wally_Pokenav_2B4DE2:: @ 2B4DE2
+MatchCall_Text_Wally1:: @ 2B4DE2
.string "WALLY: Oh, {PLAYER}!\p"
.string "I've been getting healthier and\n"
.string "more physically fit.\p"
.string "I hope I can become a TRAINER like\n"
.string "you soon, {PLAYER}!$"
-gText_Wally_Pokenav_2B4E57:: @ 2B4E57
+MatchCall_Text_Wally2:: @ 2B4E57
.string "WALLY: {PLAYER}, hello!\p"
.string "After RUSTURF TUNNEL went\n"
.string "through, WANDA's been very happy!$"
-gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5
+MatchCall_Text_Wally3:: @ 2B4EA5
.string "WALLY: Oh, {PLAYER}!\p"
.string "I… I left my uncle's place in\n"
.string "VERDANTURF without telling anyone.\p"
@@ -2606,7 +2606,7 @@ gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5
.string "{PLAYER}, you understand how\n"
.string "I feel, don't you?$"
-gText_Wally_Pokenav_2B4F41:: @ 2B4F41
+MatchCall_Text_Wally4:: @ 2B4F41
.string "WALLY: {PLAYER}?\n"
.string "It's me, WALLY!\p"
.string "The world of TRAINERS is amazing!\p"
@@ -2615,7 +2615,7 @@ gText_Wally_Pokenav_2B4F41:: @ 2B4F41
.string "It's as if everyone's getting\n"
.string "connected through POKéMON!$"
-gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3
+MatchCall_Text_Wally5:: @ 2B4FF3
.string "WALLY: {PLAYER}? It's awesome!\n"
.string "That RALTS we caught together?\l"
.string "It evolved, {PLAYER}!\p"
@@ -2625,13 +2625,13 @@ gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3
.string "After all, it's the POKéMON that\n"
.string "should be praised!$"
-gText_Wally_Pokenav_2B50B1:: @ 2B50B1
+MatchCall_Text_Wally6:: @ 2B50B1
.string "… … … … … …\n"
.string "… … … … … …\p"
.string "WALLY appears to be out of\n"
.string "the POKéNAV's service area…$"
-gText_Wally_Pokenav_2B5100:: @ 2B5100
+MatchCall_Text_Wally7:: @ 2B5100
.string "WALLY: Oh, {PLAYER}!\p"
.string "Before I met you, I hardly ever\n"
.string "left my house…\p"
@@ -2640,7 +2640,7 @@ gText_Wally_Pokenav_2B5100:: @ 2B5100
.string "{PLAYER}…\n"
.string "Thank you…$"
-gText_Scott_Pokenav_2B5184:: @ 2B5184
+MatchCall_Text_Scott1:: @ 2B5184
.string "SCOTT: Howdy, {PLAYER}{KUN}!\p"
.string "You know how POKéMON can be found\n"
.string "everywhere?\p"
@@ -2651,7 +2651,7 @@ gText_Scott_Pokenav_2B5184:: @ 2B5184
.string "As a result, I have to hurry\n"
.string "everywhere, too. Busy, busy!$"
-gText_Scott_Pokenav_2B5275:: @ 2B5275
+MatchCall_Text_Scott2:: @ 2B5275
.string "SCOTT: I'm on ROUTE 119 right now.\n"
.string "It's teeming with TRAINERS!\p"
.string "It's also overgrown with tall grass\n"
@@ -2659,7 +2659,7 @@ gText_Scott_Pokenav_2B5275:: @ 2B5275
.string "Walking around in shorts here\n"
.string "makes me all ticklish!$"
-gText_Scott_Pokenav_2B5323:: @ 2B5323
+MatchCall_Text_Scott3:: @ 2B5323
.string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p"
.string "Have you had the chance to climb\n"
.string "MT. PYRE?\p"
@@ -2668,7 +2668,7 @@ gText_Scott_Pokenav_2B5323:: @ 2B5323
.string "It's somewhere every TRAINER\n"
.string "should climb to the top of once.$"
-gText_Scott_Pokenav_2B53DB:: @ 2B53DB
+MatchCall_Text_Scott4:: @ 2B53DB
.string "SCOTT: Hi, {PLAYER}{KUN}!\p"
.string "I've been hearing about these odd\n"
.string "gangs being a nuisance.\p"
@@ -2678,7 +2678,7 @@ gText_Scott_Pokenav_2B53DB:: @ 2B53DB
.string "skilled TRAINERS among them.\p"
.string "…But if they're thugs…$"
-gText_Scott_Pokenav_2B54A5:: @ 2B54A5
+MatchCall_Text_Scott5:: @ 2B54A5
.string "SCOTT: Oh, hi, {PLAYER}{KUN}.\p"
.string "Might there be tough TRAINERS\n"
.string "at the bottom of the sea?\p"
@@ -2686,7 +2686,7 @@ gText_Scott_Pokenav_2B54A5:: @ 2B54A5
.string "I can't swim, for one.\l"
.string "And I don't raise POKéMON…$"
-gText_Scott_Pokenav_2B5541:: @ 2B5541
+MatchCall_Text_Scott6:: @ 2B5541
.string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p"
.string "You know that you can challenge\n"
.string "the POKéMON LEAGUE when you've\l"
@@ -2703,20 +2703,20 @@ gText_Scott_Pokenav_2B5541:: @ 2B5541
.string "the POKéMON LEAGUE into the HALL\l"
.string "OF FAME!$"
-gText_Scott_Pokenav_2B56CA:: @ 2B56CA
+MatchCall_Text_Scott7:: @ 2B56CA
.string "… … … … … …\n"
.string "… … … … … …\p"
.string "SCOTT appears to be out of\n"
.string "the POKéNAV's service area…$"
-gText_Norman_Pokenav_2B5719:: @ 82B5719
+MatchCall_Text_Norman1:: @ 82B5719
.string "DAD: In RUSTBORO, there's a man\n"
.string "that goes by the odd name of\l"
.string "the CUTTER.\p"
.string "If you're in the area, you should\n"
.string "pay him a visit.$"
-gText_Norman_Pokenav_2B5795:: @ 82B5795
+MatchCall_Text_Norman2:: @ 82B5795
.string "DAD: Hm… Little by little, but also\n"
.string "very surely, you're getting\l"
.string "tougher, {PLAYER}.\p"
@@ -2725,7 +2725,7 @@ gText_Norman_Pokenav_2B5795:: @ 82B5795
.string "and me…\p"
.string "This feeling is hard to explain.$"
-gText_Norman_Pokenav_2B584D:: @ 82B584D
+MatchCall_Text_Norman3:: @ 82B584D
.string "DAD: I see…\n"
.string "You've collected four GYM BADGES…\p"
.string "There's no avoiding it now.\n"
@@ -2733,7 +2733,7 @@ gText_Norman_Pokenav_2B584D:: @ 82B584D
.string "Come anytime.\n"
.string "We'll all be waiting for you!$"
-gText_Norman_Pokenav_2B58E3:: @ 82B58E3
+MatchCall_Text_Norman4:: @ 82B58E3
.string "DAD: {PLAYER}! You'd better go visit\n"
.string "Mother every so often.\p"
.string "I'm going to remain here and\n"
@@ -2741,27 +2741,27 @@ gText_Norman_Pokenav_2B58E3:: @ 82B58E3
.string "The way of battling is deep\n"
.string "and unforgiving!$"
-gText_Norman_Pokenav_2B5979:: @ 82B5979
+MatchCall_Text_Norman5:: @ 82B5979
.string "DAD: Oh, hi, {PLAYER}!\p"
.string "What's that? MAGMA EMBLEM?\n"
.string "I don't know what that's about.\p"
.string "But with a name like that, it may\n"
.string "be somehow linked to a volcano!$"
-gText_Norman_Pokenav_2B5A07:: @ 82B5A07
+MatchCall_Text_Norman6:: @ 82B5A07
.string "DAD: Hiyah! Haah! Dwah!\p"
.string "…Oh? {PLAYER}!\p"
.string "You caught me right in the middle\n"
.string "of a POKéMON training session!$"
-gText_Norman_Pokenav_2B5A69:: @ 82B5A69
+MatchCall_Text_Norman7:: @ 82B5A69
.string "DAD: {PLAYER}!\p"
.string "Who would've thought you'd become\n"
.string "the POKéMON LEAGUE CHAMPION…\p"
.string "Okay!\n"
.string "I won't be left behind!$"
-gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF
+MatchCall_Text_Norman8:: @ 82B5ACF
.string "DAD: Hm? {PLAYER}?\n"
.string "What good timing!\p"
.string "This time, I'm going to challenge\n"
@@ -2769,11 +2769,11 @@ gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF
.string "I'm waiting in the PETALBURG GYM.\n"
.string "Accept my challenge anytime!$"
-gText_Norman_Pokenav_2B5B5E:: @ 82B5B5E
+MatchCall_Text_Norman9:: @ 82B5B5E
.string "DAD: …You amaze me, {PLAYER}.\n"
.string "How much higher will you soar?$"
-gText_Steven_Pokenav_2B5B95:: @ 82B5B95
+MatchCall_Text_Steven1:: @ 82B5B95
.string "STEVEN: Hi, {PLAYER}{KUN}!\p"
.string "Have you been to MAUVILLE\n"
.string "already?\p"
@@ -2784,14 +2784,14 @@ gText_Steven_Pokenav_2B5B95:: @ 82B5B95
.string "You may make a new discovery\n"
.string "there.$"
-gText_Steven_Pokenav_2B5C53:: @ 82B5C53
+MatchCall_Text_Steven2:: @ 82B5C53
.string "STEVEN: Hi, {PLAYER}{KUN}!\p"
.string "I've met a lot of different\n"
.string "TRAINERS so far.\p"
.string "But you're one of a kind.\n"
.string "You're not like anyone else.$"
-gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9
+MatchCall_Text_Steven3:: @ 82B5CC9
.string "STEVEN: Hi, {PLAYER}{KUN}!\p"
.string "When you're on an adventure with\n"
.string "your POKéMON, what do you think?\p"
@@ -2802,7 +2802,7 @@ gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9
.string "Depending on how you think, your\n"
.string "adventure's significance changes.$"
-gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4
+MatchCall_Text_Steven4:: @ 82B5DB4
.string "STEVEN: Hello?\n"
.string "{PLAYER}{KUN}?\p"
.string "I'm involved in a spot of trouble\n"
@@ -2810,7 +2810,7 @@ gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4
.string "I'm sorry, but I can't talk now.\n"
.string "Bye!$"
-gText_Steven_Pokenav_2B5E26:: @ 82B5E26
+MatchCall_Text_Steven5:: @ 82B5E26
.string "STEVEN: Oh!\n"
.string "{PLAYER}{KUN}!\p"
.string "There's no need to talk.\n"
@@ -2818,12 +2818,12 @@ gText_Steven_Pokenav_2B5E26:: @ 82B5E26
.string "You have to believe in yourself\n"
.string "and do what's right.$"
-gText_Steven_Pokenav_2B5EA2:: @ 82B5EA2
+MatchCall_Text_Steven6:: @ 82B5EA2
.string "… … … … … …\p"
.string "STEVEN appears not to be getting\n"
.string "the call…$"
-gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9
+MatchCall_Text_Steven7:: @ 82B5ED9
.string "STEVEN: {PLAYER}{KUN}… Congratulations\n"
.string "for entering the HALL OF FAME.\p"
.string "… … … … … …\n"
@@ -2831,7 +2831,7 @@ gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9
.string "I hope we can meet again\n"
.string "somewhere!$"
-Route101_Text_2B5F52: @ 82B5F52
+MatchCall_Text_BirchRegisterCall: @ 82B5F52
.string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n"
.string "I've already heard about you!\p"
.string "It seems your POKéNAV's been\n"
@@ -2842,15 +2842,16 @@ Route101_Text_2B5F52: @ 82B5F52
.string "out in the field.\p"
.string "… … … … … …$"
-Route101_Text_2B603A: @ 82B603A
+MatchCall_Text_RegisteredBirch: @ 82B603A
.string "Registered PROF. BIRCH\n"
.string "in the POKéNAV.$"
+MatchCall_Text_UnusedProfBirch:
.string "PROF. BIRCH: When one has both\n"
.string "the POKéDEX and POKéNAV, studying\l"
.string "POKéMON becomes more fun, eh?$"
-gText_MrStone_Pokenav_2B60C0:: @ 82B60C0
+MatchCall_Text_MrStone1:: @ 82B60C0
.string "MR. STONE: Oh? {PLAYER}{KUN}!\p"
.string "Since you called me, the POKéNAV\n"
.string "must be working properly!\p"
@@ -2865,7 +2866,7 @@ gText_MrStone_Pokenav_2B60C0:: @ 82B60C0
.string "Wahahaha!\n"
.string "See you again!$"
-gText_MrStone_Pokenav_2B61E6:: @ 82B61E6
+MatchCall_Text_MrStone2:: @ 82B61E6
.string "MR. STONE: Oh? {PLAYER}{KUN}!\p"
.string "What's wrong? Have you forgotten\n"
.string "about that little errand of mine?\p"
@@ -2877,7 +2878,7 @@ gText_MrStone_Pokenav_2B61E6:: @ 82B61E6
.string "Now, since I am a busy PRESIDENT,\n"
.string "I have to go! Bye-bye!$"
-gText_MrStone_Pokenav_2B6302:: @ 82B6302
+MatchCall_Text_MrStone3:: @ 82B6302
.string "MR. STONE: Oh! {PLAYER}{KUN}!\p"
.string "Ah, so you've met STEVEN!\n"
.string "I'd better reward you, then!\p"
@@ -2885,7 +2886,7 @@ gText_MrStone_Pokenav_2B6302:: @ 82B6302
.string "come see me at my office.\p"
.string "I'll be waiting for you!$"
-gText_MrStone_Pokenav_2B63A0:: @ 82B63A0
+MatchCall_Text_MrStone4:: @ 82B63A0
.string "MR. STONE: Oh! {PLAYER}{KUN}!\p"
.string "Did you know that DEVON was\n"
.string "digging the RUSTURF TUNNEL?\p"
@@ -2896,14 +2897,14 @@ gText_MrStone_Pokenav_2B63A0:: @ 82B63A0
.string "live in peace than worry about our\l"
.string "own convenience.$"
-gText_MrStone_Pokenav_2B64A2:: @ 82B64A2
+MatchCall_Text_MrStone5:: @ 82B64A2
.string "MR. STONE: Hello, hello, {PLAYER}{KUN}!\p"
.string "I heard from someone in PETALBURG\n"
.string "that you're NORMAN's child!\p"
.string "No wonder you're such a capable\n"
.string "being!$"
-gText_MrStone_Pokenav_2B6526:: @ 82B6526
+MatchCall_Text_MrStone6:: @ 82B6526
.string "MR. STONE: What's that?\p"
.string "You battled your own father and\n"
.string "defeated him?\p"
@@ -2911,7 +2912,7 @@ gText_MrStone_Pokenav_2B6526:: @ 82B6526
.string "I had no idea that I befriended\n"
.string "someone so special! Wahaha!$"
-gText_MrStone_Pokenav_2B65BB:: @ 82B65BB
+MatchCall_Text_MrStone7:: @ 82B65BB
.string "Hello!\n"
.string "This is DEVON CORPORATI…\l"
.string "Oh, hello, {PLAYER}!\p"
@@ -2920,21 +2921,21 @@ gText_MrStone_Pokenav_2B65BB:: @ 82B65BB
.string "Our PRESIDENT is busy, but you\n"
.string "seem to be just as busy, {PLAYER}.$"
-gText_MrStone_Pokenav_2B6664:: @ 82B6664
+MatchCall_Text_MrStone8:: @ 82B6664
.string "…Huh? …What's that?\p"
.string "GROU… Yes? …DON?\p"
.string "You're breaking up…\n"
.string "…can't hear…\p"
.string "BZZZZ…$"
-gText_MrStone_Pokenav_2B66B1:: @ 82B66B1
+MatchCall_Text_MrStone9:: @ 82B66B1
.string "…Huh? …What's that?\p"
.string "Seaflo… Yes? …Caver…?\p"
.string "You're breaking up…\n"
.string "…can't hear…\p"
.string "BZZZZ…$"
-gText_MrStone_Pokenav_2B6703:: @ 82B6703
+MatchCall_Text_MrStone10:: @ 82B6703
.string "MR. STONE: {PLAYER}{KUN}! It's me!\p"
.string "You were apparently involved in all\n"
.string "sorts of things, but I, being busy,\l"
@@ -2944,7 +2945,7 @@ gText_MrStone_Pokenav_2B6703:: @ 82B6703
.string "I'll always be in your corner!\n"
.string "Take care!$"
-gText_MrStone_Pokenav_2B67ED:: @ 82B67ED
+MatchCall_Text_MrStone11:: @ 82B67ED
.string "MR. STONE: … … … … … …\n"
.string "Is this maybe {PLAYER}{KUN}?\p"
.string "Your voice is so full of confidence,\n"
diff --git a/data/text/mauville_man.inc b/data/text/mauville_man.inc
new file mode 100644
index 000000000..6326f5d8c
--- /dev/null
+++ b/data/text/mauville_man.inc
@@ -0,0 +1,63 @@
+@ Only contains a portion of the mauville_man text. The rest is in scripts/mauville_man.inc
+gText_SoPretty:: @ 8294295
+ .string " so pretty!$"
+
+gText_SoDarling:: @ 82942A1
+ .string " so darling!$"
+
+gText_SoRelaxed:: @ 82942AE
+ .string " so relaxed!$"
+
+gText_SoSunny:: @ 82942BB
+ .string " so sunny!$"
+
+gText_SoDesirable:: @ 82942C6
+ .string " so desirable!$"
+
+gText_SoExciting:: @ 82942D5
+ .string " so exciting!$"
+
+gText_SoAmusing:: @ 82942E3
+ .string " so amusing!$"
+
+gText_SoMagical:: @ 82942F0
+ .string " so magical!$"
+
+gOtherText_Is:: @ 82942FD
+ .string " is$"
+
+gOtherText_DontYouAgree:: @ 8294301
+ .string "\n"
+ .string "Don't you agree?$"
+
+gMauvilleManText_ISoWantToGoOnAVacation:: @ 8294313
+ .string "I so want to go on a vacation.\n"
+ .string "Would you happen to know a nice place?$"
+
+gMauvilleManText_IBoughtCrayonsWith120Colors:: @ 8294359
+ .string "I bought crayons with 120 colors!\n"
+ .string "Don't you think that's nice?$"
+
+gMauvilleManText_WouldntItBeNiceIfWeCouldFloat:: @ 8294398
+ .string "Wouldn't it be nice if we could float\n"
+ .string "away on a cloud of bubbles?$"
+
+gMauvilleManText_WhenYouWriteOnASandyBeach:: @ 82943DA
+ .string "When you write on a sandy beach,\n"
+ .string "they wash away. It makes me sad.$"
+
+gMauvilleManText_WhatsTheBottomOfTheSeaLike:: @ 829441C
+ .string "What's the bottom of the sea like?\n"
+ .string "Just once I would so love to go!$"
+
+gMauvilleManText_WhenYouSeeTheSettingSunDoesIt:: @ 8294460
+ .string "When you see the setting sun, does it\n"
+ .string "make you want to go home?$"
+
+gMauvilleManText_LyingBackInTheGreenGrass:: @ 82944A0
+ .string "Lying back in the green grass…\n"
+ .string "Oh, it's so, so nice!$"
+
+gMauvilleManText_SecretBasesAreSoWonderful:: @ 82944D5
+ .string "SECRET BASES are so wonderful!\n"
+ .string "Can't you feel the excitement?$"
diff --git a/data/text/mevent.inc b/data/text/mevent.inc
new file mode 100644
index 000000000..ae4032eb4
--- /dev/null
+++ b/data/text/mevent.inc
@@ -0,0 +1,43 @@
+Mevent_Text_FillOutQuestionnaire:: @ 827339F
+ .string "There is a questionnaire.\n"
+ .string "Would you like to fill it out?$"
+
+Mevent_Text_QuestionnaireThankYou:: @ 82733D8
+ .string "Thank you for taking the time to\n"
+ .string "fill out our questionnaire.\p"
+ .string "Your feedback will be used for\n"
+ .string "future reference.$"
+
+Mevent_Text_YouKnowThoseWordsGift:: @ 8273446
+ .string "Oh, hello!\n"
+ .string "You know those words?\p"
+ .string "That means you must know about\n"
+ .string "the MYSTERY GIFT.\p"
+ .string "From now on, you should be\n"
+ .string "receiving MYSTERY GIFTS!$"
+
+Mevent_Text_YouCanAccessMysteryGift:: @ 82734CC
+ .string "Once you save your game, you can\n"
+ .string "access the MYSTERY GIFT.$"
+
+Mevent_Text_YouKnowThoseWordsEvent:: @ 8273506
+ .string "Oh, hello!\n"
+ .string "You know those words?\p"
+ .string "That means you must know about\n"
+ .string "the MYSTERY EVENT.$"
+
+Mevent_Text_YouCanAccessMysteryEvent:: @ 8273559
+ .string "Once you save your game, you can\n"
+ .string "access the MYSTERY EVENT.$"
+
+Mevent_Text_TheresATicketForYou:: @ 8273594
+ .string "Thank you for using the MYSTERY\n"
+ .string "EVENT System.\p"
+ .string "You must be {PLAYER}.\n"
+ .string "There is a ticket here for you.$"
+
+Mevent_Text_TryUsingItAtLilycovePort:: @ 82735F2
+ .string "It appears to be for use at\n"
+ .string "the LILYCOVE CITY port.\p"
+ .string "Why not give it a try and see what\n"
+ .string "it is about?$"
diff --git a/data/text/move_tutors.inc b/data/text/move_tutors.inc
new file mode 100644
index 000000000..baadad73d
--- /dev/null
+++ b/data/text/move_tutors.inc
@@ -0,0 +1,237 @@
+MoveTutor_Text_ThisMoveCanOnlyBeLearnedOnce: @ 82C6E05
+ .string "This move can be learned only\n"
+ .string "once. Is that okay?$"
+
+MoveTutor_Text_SwaggerTeach: @ 82C6E37
+ .string "Heh! My POKéMON totally rules!\n"
+ .string "It's cooler than any POKéMON!\p"
+ .string "I was lipping off with a swagger in\n"
+ .string "my step like that when the CHAIRMAN\l"
+ .string "chewed me out.\p"
+ .string "That took the swagger out of my step.\p"
+ .string "If you'd like, I'll teach the move\n"
+ .string "SWAGGER to a POKéMON of yours.$"
+
+MoveTutor_Text_SwaggerDeclined: @ 82C6F33
+ .string "What, no? Can't you get into\n"
+ .string "the spirit of things?$"
+
+MoveTutor_Text_SwaggerWhichMon: @ 82C6F66
+ .string "All right, which POKéMON wants to\n"
+ .string "learn how to SWAGGER?$"
+
+MoveTutor_Text_SwaggerTaught: @ 82C6F9E
+ .string "I'll just praise my POKéMON from now\n"
+ .string "on without the swagger.$"
+
+MoveTutor_Text_RolloutTeach: @ 82C6FDB
+ .string "Did you know that you can go from\n"
+ .string "here a long way in that direction\l"
+ .string "without changing direction?\p"
+ .string "I might even be able to roll\n"
+ .string "that way.\p"
+ .string "Do you think your POKéMON will\n"
+ .string "want to roll, too?\p"
+ .string "I can teach one the move ROLLOUT\n"
+ .string "if you'd like.$"
+
+MoveTutor_Text_RolloutDeclined: @ 82C70C4
+ .string "You don't need to be shy about it.\n"
+ .string "Let's roll!$"
+
+MoveTutor_Text_RolloutWhichMon: @ 82C70F3
+ .string "Ehehe, sure thing! It'd be great if\n"
+ .string "the POKéMON looked like me.$"
+
+MoveTutor_Text_RolloutTaught: @ 82C7133
+ .string "Rolling around in the grass makes me\n"
+ .string "happy. Come on, let's roll!$"
+
+MoveTutor_Text_FuryCutterTeach: @ 82C7174
+ .string "There's a move that gets stronger\n"
+ .string "when you keep using it in a row.\p"
+ .string "It's a BUG-type move, and it is\n"
+ .string "wickedly cool.\p"
+ .string "It's called FURY CUTTER.\n"
+ .string "Want me to teach it to a POKéMON?$"
+
+MoveTutor_Text_FuryCutterDeclined: @ 82C7221
+ .string "We're not on the same wavelength.$"
+
+MoveTutor_Text_FuryCutterWhichMon: @ 82C7243
+ .string "Yay!\n"
+ .string "Show me which POKéMON I should teach.$"
+
+MoveTutor_Text_FuryCutterTaught: @ 82C726E
+ .string "I get a thrill watching to see if\n"
+ .string "the move keeps hitting in succession!$"
+
+MoveTutor_MimicTeach: @ 82C72B6
+ .string "Ah, young one!\p"
+ .string "I am also a young one, but I mimic\n"
+ .string "the styles and speech of the elderly\l"
+ .string "folks of this town.\p"
+ .string "What do you say, young one?\n"
+ .string "Would you agree to it if I were to\l"
+ .string "offer to teach the move MIMIC?$"
+
+MoveTutor_MimicDeclined: @ 82C737F
+ .string "Oh, boo! I wanted to teach MIMIC\n"
+ .string "to your POKéMON!$"
+
+MoveTutor_Text_MimicWhichMon: @ 82C73B1
+ .string "Fwofwo! And so I shall!\n"
+ .string "Let me see the POKéMON\l"
+ .string "you wish me to teach.$"
+
+MoveTutor_Text_MimicTaught: @ 82C73F6
+ .string "MIMIC is a move of great depth.\p"
+ .string "Could you execute it to perfection\n"
+ .string "as well as me…?$"
+
+MoveTutor_Text_MetronomeTeach: @ 82C7449
+ .string "I want all sorts of things!\n"
+ .string "But I used up my allowance…\p"
+ .string "Wouldn't it be nice if there were\n"
+ .string "a spell that made money appear when\l"
+ .string "you waggle a finger?\p"
+ .string "If you want, I can teach your POKéMON\n"
+ .string "the move METRONOME.\p"
+ .string "Money won't appear, but your POKéMON\n"
+ .string "will waggle a finger. Yes?$"
+
+MoveTutor_Text_MetronomeDeclined: @ 82C7556
+ .string "Okay. I'll be here if you change\n"
+ .string "your mind.$"
+
+MoveTutor_Text_MetronomeWhichMon: @ 82C7582
+ .string "Okay! I'll teach it!\n"
+ .string "Which POKéMON should I teach?$"
+
+MoveTutor_Text_MetronomeTaught: @ 82C75B5
+ .string "When a POKéMON waggles its finger\n"
+ .string "like a METRONOME, all sorts of nice\l"
+ .string "things happen.\p"
+ .string "Wouldn't it be nice if we could\n"
+ .string "use it, too?$"
+
+MoveTutor_Text_SleepTalkTeach: @ 82C7637
+ .string "Humph! My wife relies on HIDDEN\n"
+ .string "POWER to stay awake.\p"
+ .string "She should just take a nap like I do,\n"
+ .string "and SLEEP TALK.\p"
+ .string "I can teach your POKéMON how to\n"
+ .string "SLEEP TALK instead. Interested?$"
+
+MoveTutor_Text_SleepTalkDeclined: @ 82C76E2
+ .string "Oh, fine, fine. You want to stay awake\n"
+ .string "with HIDDEN POWER, too…$"
+
+MoveTutor_Text_SleepTalkWhichMon: @ 82C7721
+ .string "Ah, an appreciative child!\n"
+ .string "Which POKéMON should I teach?$"
+
+MoveTutor_Text_SleepTalkTaught: @ 82C775A
+ .string "I've never once gotten my wife's\n"
+ .string "coin trick right.\p"
+ .string "I would be happy if I got it right\n"
+ .string "even as I SLEEP TALK…$"
+
+MoveTutor_Text_SubstituteTeach: @ 82C77C6
+ .string "When I see the wide world from up\n"
+ .string "here on the roof…\p"
+ .string "I think about how nice it would be\n"
+ .string "if there were more than just one me\l"
+ .string "so I could enjoy all sorts of lives.\p"
+ .string "Of course it's not possible.\n"
+ .string "Giggle…\p"
+ .string "I know! Would you be interested in\n"
+ .string "having a POKéMON learn SUBSTITUTE?$"
+
+MoveTutor_Text_SubstituteDeclined: @ 82C78D1
+ .string "Oh, no?\p"
+ .string "A POKéMON can make a copy of\n"
+ .string "itself using it, you know.$"
+
+MoveTutor_Text_SubstituteWhichMon: @ 82C7911
+ .string "Giggle…\n"
+ .string "Which POKéMON do you want me to\l"
+ .string "teach SUBSTITUTE?$"
+
+MoveTutor_Text_SubstituteTaught: @ 82C794B
+ .string "We human beings should enjoy our\n"
+ .string "own lives to the utmost!\p"
+ .string "I hope you'll get that way, too!$"
+
+MoveTutor_Text_DynamicPunchTeach: @ 82C79A6
+ .string "I can't do this anymore!\p"
+ .string "It's utterly hopeless!\p"
+ .string "I'm a FIGHTING-type TRAINER,\n"
+ .string "so I can't win at the MOSSDEEP GYM\l"
+ .string "no matter how hard I try!\p"
+ .string "Argh! Punch! Punch! Punch!\n"
+ .string "Punch! Punch! Punch!\p"
+ .string "What, don't look at me that way!\n"
+ .string "I'm only hitting the ground!\p"
+ .string "Or do you want me to teach your\n"
+ .string "POKéMON DYNAMICPUNCH?$"
+
+MoveTutor_Text_DynamicPunchDeclined: @ 82C7AD4
+ .string "Darn! You're even making fun of me?\n"
+ .string "Punch! Punch! Punch!$"
+
+MoveTutor_Text_DynamicPunchWhichMon: @ 82C7B0D
+ .string "What? You do? You're a good person!\n"
+ .string "Which POKéMON should I teach?$"
+
+MoveTutor_Text_DynamicPunchTaught: @ 82C7B4F
+ .string "I want you to win at the MOSSDEEP GYM\n"
+ .string "using that DYNAMICPUNCH!$"
+
+MoveTutor_Text_DoubleEdgeTeach: @ 82C7B8E
+ .string "Sigh…\p"
+ .string "SOOTOPOLIS's GYM LEADER is really\n"
+ .string "lovably admirable.\p"
+ .string "But that also means I have many\n"
+ .string "rivals for his attention.\p"
+ .string "He's got appeal with a DOUBLE-EDGE.\n"
+ .string "I couldn't even catch his eye.\p"
+ .string "Please, let me teach your POKéMON\n"
+ .string "the move DOUBLE-EDGE!$"
+
+MoveTutor_Text_DoubleEdgeDeclined: @ 82C7C7E
+ .string "Oh…\n"
+ .string "Even you rejected me…$"
+
+MoveTutor_Text_DoubleEdgeWhichMon: @ 82C7C98
+ .string "Okay, which POKéMON should I teach\n"
+ .string "DOUBLE-EDGE?$"
+
+MoveTutor_Text_DoubleEdgeTaught: @ 82C7CC8
+ .string "I won't live for love anymore!\n"
+ .string "I'll become tough!$"
+
+MoveTutor_Text_ExplosionTeach: @ 82C7CFA
+ .string "I don't intend to be going nowhere\n"
+ .string "fast in the sticks like this forever.\p"
+ .string "You watch me, I'll get out to the city\n"
+ .string "and become a huge hit.\p"
+ .string "Seriously, I'm going to cause\n"
+ .string "a huge EXPLOSION of popularity!\p"
+ .string "If you overheard that, I'll happily\n"
+ .string "teach EXPLOSION to your POKéMON!$"
+
+MoveTutor_Text_ExplosionDeclined: @ 82C7E04
+ .string "Gaah! You're turning me down because\n"
+ .string "I live in the country?$"
+
+MoveTutor_Text_ExplosionWhichMon: @ 82C7E40
+ .string "Fine! An EXPLOSION it is!\n"
+ .string "Which POKéMON wants to blow up?$"
+
+MoveTutor_Text_ExplosionTaught: @ 82C7E7A
+ .string "For a long time, I've taught POKéMON\n"
+ .string "how to use EXPLOSION, but I've yet\l"
+ .string "to ignite my own EXPLOSION…\p"
+ .string "Maybe it's because deep down,\n"
+ .string "I would rather stay here…$"
diff --git a/data/text/obtain_item.inc b/data/text/obtain_item.inc
new file mode 100644
index 000000000..d263388f5
--- /dev/null
+++ b/data/text/obtain_item.inc
@@ -0,0 +1,31 @@
+gText_ObtainedTheItem:: @ 8272A78
+ .string "Obtained the {STR_VAR_2}!$"
+
+gText_TheBagIsFull:: @ 8272A89
+ .string "The BAG is full…$"
+
+gText_PutItemInPocket:: @ 8272A9A
+ .string "{PLAYER} put away the {STR_VAR_2}\n"
+ .string "in the {STR_VAR_3} POCKET.$"
+
+gText_PlayerFoundOneItem:: @ 8272ABF
+ .string "{PLAYER} found one {STR_VAR_2}!$"
+
+gText_TooBadBagIsFull:: @ 8272AD0
+ .string "Too bad!\n"
+ .string "The BAG is full…$"
+
+gText_PlayerPutItemInBag:: @ 8272AEA
+ .string "{PLAYER} put away the {STR_VAR_2}\n"
+ .string "in the BAG.$"
+
+gText_ObtainedTheDecor:: @ 8272B09
+ .string "Obtained the {STR_VAR_2}!$"
+
+gText_NoRoomLeftForAnother:: @ 8272B1A
+ .string "Too bad! There's no room left for\n"
+ .string "another {STR_VAR_2}…$"
+
+gText_TheDecorWasTransferredToThePC:: @ 8272B48
+ .string "The {STR_VAR_2} was transferred\n"
+ .string "to the PC.$"
diff --git a/data/text/pc.inc b/data/text/pc.inc
new file mode 100644
index 000000000..5367632b5
--- /dev/null
+++ b/data/text/pc.inc
@@ -0,0 +1,17 @@
+Text_BootUpPC: @ 827265A
+ .string "{PLAYER} booted up the PC.$"
+
+gText_WhichPCShouldBeAccessed:: @ 827266F
+ .string "Which PC should be accessed?$"
+
+gText_AccessedSomeonesPC:: @ 827268C
+ .string "Accessed SOMEONE'S PC.$"
+
+gText_StorageSystemOpened:: @ 82726A3
+ .string "POKéMON Storage System opened.$"
+
+gText_AccessedPlayersPC:: @ 82726C2
+ .string "Accessed {PLAYER}'s PC.$"
+
+gText_AccessedLanettesPC:: @ 82726D4
+ .string "Accessed LANETTE's PC.$"
diff --git a/data/text/pc_transfer.inc b/data/text/pc_transfer.inc
new file mode 100644
index 000000000..216e0b570
--- /dev/null
+++ b/data/text/pc_transfer.inc
@@ -0,0 +1,31 @@
+gText_PkmnTransferredSomeonesPC:: @ 8273216
+ .string "{STR_VAR_2} was transferred to\n"
+ .string "SOMEONE'S PC.\p"
+ .string "It was placed in \n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+gText_PkmnTransferredLanettesPC:: @ 8273256
+ .string "{STR_VAR_2} was transferred to\nLANETTE'S PC.\p"
+ .string "It was placed in \n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+gText_PkmnTransferredSomeonesPCBoxFull:: @ 8273296
+ .string "BOX “{STR_VAR_3}” on\n"
+ .string "SOMEONE'S PC was full.\p"
+ .string "{STR_VAR_2} was transferred to\n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+gText_PkmnTransferredLanettesPCBoxFull:: @ 82732D9
+ .string "BOX “{STR_VAR_3}” on\n"
+ .string "LANETTE'S PC was full.\p"
+ .string "{STR_VAR_2} was transferred to\n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+gText_NoMoreRoomForPokemon:: @ 827331C
+ .string "There's no more room for POKéMON!\p"
+ .string "The POKéMON BOXES are full and\n"
+ .string "can't accept any more!$"
+
+gText_NicknameThisPokemon:: @ 8273374
+ .string "Do you want to give a nickname to\n"
+ .string "this {STR_VAR_1}?$"
diff --git a/data/text/pkmn_center_nurse.inc b/data/text/pkmn_center_nurse.inc
new file mode 100644
index 000000000..1c2837203
--- /dev/null
+++ b/data/text/pkmn_center_nurse.inc
@@ -0,0 +1,51 @@
+gText_WouldYouLikeToRestYourPkmn:: @ 82726EB
+ .string "Hello, and welcome to\n"
+ .string "the POKéMON CENTER.\p"
+ .string "We restore your tired POKéMON\n"
+ .string "to full health.\p"
+ .string "Would you like to rest your POKéMON?$"
+
+gText_IllTakeYourPkmn:: @ 8272768
+ .string "Okay, I'll take your POKéMON\n"
+ .string "for a few seconds.$"
+
+gText_RestoredPkmnToFullHealth:: @ 8272798
+ .string "Thank you for waiting.\p"
+ .string "We've restored your POKéMON\n"
+ .string "to full health.$"
+
+gText_WeHopeToSeeYouAgain:: @ 82727DB
+ .string "We hope to see you again!$"
+
+gText_WelcomeCutShort:: @ 82727F5
+ .string "Hello, and welcome to\n"
+ .string "the POKéMON CENTER.\p"
+ .string "We restore your tired POKéMON\n"
+ .string "to full health.\p"
+ .string "Would you like to…$"
+
+gText_NoticesGoldCard:: @ 8272860
+ .string "Th-that card…\n"
+ .string "Could it be… The GOLD CARD?!\p"
+ .string "Oh, the gold color is brilliant!\n"
+ .string "The four stars seem to sparkle!\p"
+ .string "I've seen several TRAINERS with\n"
+ .string "a SILVER CARD before, but, {PLAYER},\l"
+ .string "you're the first TRAINER I've ever\l"
+ .string "seen with a GOLD CARD!\p"
+ .string "Okay, {PLAYER}, please allow me\n"
+ .string "the honor of resting your POKéMON!$"
+
+gText_YouWantTheUsual:: @ 8272982
+ .string "I'm delighted to see you, {PLAYER}!\n"
+ .string "You want the usual, am I right?$"
+
+gText_IllTakeYourPkmn2:: @ 82729C0
+ .string "Okay, I'll take your POKéMON\n"
+ .string "for a few seconds.$"
+
+gText_ThankYouForWaiting:: @ 82729F0
+ .string "Thank you for waiting.$"
+
+gText_WeHopeToSeeYouAgain2:: @ 8272A07
+ .string "We hope to see you again!$"
diff --git a/data/text/pokedex_rating.inc b/data/text/pokedex_rating.inc
index d61f364e9..4c6c3f2b6 100644
--- a/data/text/pokedex_rating.inc
+++ b/data/text/pokedex_rating.inc
@@ -1,13 +1,13 @@
-gUnknown_082A5C9C:: @ 82A5C9C
+gBirchDexRatingText_AreYouCurious:: @ 82A5C9C
.string "PROF. BIRCH: Ah, {PLAYER}{KUN}!\p"
.string "Are you curious about how your\n"
.string "POKéDEX is coming along?$"
-Route101_Text_2A5CEB: @ 82A5CEB
+gBirchDexRatingText_Cancel: @ 82A5CEB
.string "Hm? Oh, you haven't caught enough\n"
.string "POKéMON to make it worthwhile.$"
-gUnknown_082A5D2C:: @ 82A5D2C
+gBirchDexRatingText_SoYouveSeenAndCaught:: @ 82A5D2C
.string "Hmhm…\p"
.string "So, you've seen {STR_VAR_1} POKéMON,\n"
.string "and you've caught {STR_VAR_2} POKéMON…$"
@@ -108,7 +108,7 @@ gBirchDexRatingText_DexCompleted:: @ 82A6312
.string "Congratulations!\n"
.string "Your POKéDEX is complete!$"
-gUnknown_082A633D:: @ 82A633D
+gBirchDexRatingText_OnANationwideBasis:: @ 82A633D
.string "Hmhm…\n"
.string "On a nationwide basis…\p"
.string "You've seen {STR_VAR_1} POKéMON,\n"
diff --git a/data/text/record_mix.inc b/data/text/record_mix.inc
new file mode 100644
index 000000000..1270c0c0a
--- /dev/null
+++ b/data/text/record_mix.inc
@@ -0,0 +1,6 @@
+Text_WouldYouLikeToMixRecords: @ 827260D
+ .string "Would you like to mix records with\n"
+ .string "other TRAINERS?$"
+
+Text_WeHopeToSeeYouAgain: @ 8272640
+ .string "We hope to see you again!$"
diff --git a/data/text/roulette.inc b/data/text/roulette.inc
deleted file mode 100644
index 7f1ab1cec..000000000
--- a/data/text/roulette.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-gUnknown_082A5B12:: @ 82A5B12
- .string "The minimum wager at this table\n"
- .string "is {STR_VAR_1}. Do you want to play?$"
-
-gUnknown_082A5B4E:: @ 82A5B4E
- .string "You don't have enough COINS.$"
-
-gUnknown_082A5B6B:: @ 82A5B6B
- .string "Special rate table right now!$"
-
-gUnknown_082A5B89:: @ 82A5B89
- .string "Place your wager with the + Control\n"
- .string "Pad, then press the A Button.$"
-
-gUnknown_082A5BCB:: @ 82A5BCB
- .string "It's a hit!$"
-
-gUnknown_082A5BD7:: @ 82A5BD7
- .string "Jackpot!$"
-
-gUnknown_082A5BE0:: @ 82A5BE0
- .string "Nothing doing!$"
-
-gUnknown_082A5BEF:: @ 82A5BEF
- .string "You've won {STR_VAR_1} COINS!$"
-
-gUnknown_082A5C04:: @ 82A5C04
- .string "No COINS left…$"
-
-gUnknown_082A5C13:: @ 82A5C13
- .string "Keep playing?$"
-
-gUnknown_082A5C21:: @ 82A5C21
- .string "The ROULETTE board will be cleared.$"
-
-gUnknown_082A5C45:: @ 82A5C45
- .string "You don't have a COIN CASE.$"
-
-gUnknown_082A5C61:: @ 82A5C61
- .string "Your COIN CASE is full!\n"
- .string "Coins can be exchanged for prizes.$"
diff --git a/data/text/save.inc b/data/text/save.inc
index bef7f3d6b..4719f34d3 100644
--- a/data/text/save.inc
+++ b/data/text/save.inc
@@ -1,3 +1,4 @@
+ .align 2
gText_ConfirmSave:: @ 82C87B4
.string "Would you like to save the game?$"
diff --git a/data/text/secret_base_trainers.inc b/data/text/secret_base_trainers.inc
new file mode 100644
index 000000000..979aa4ff3
--- /dev/null
+++ b/data/text/secret_base_trainers.inc
@@ -0,0 +1,286 @@
+SecretBase_Text_Trainer0Intro: @ 82748A0
+ .string "Have you made a SECRET BASE already?\p"
+ .string "I went here, there, everywhere before\n"
+ .string "choosing this place.\p"
+ .string "Since you're already here, how would\n"
+ .string "you like to battle?$"
+
+SecretBase_Text_Trainer0AcceptBattle: @ 8274939
+ .string "Okay!\n"
+ .string "Here we come!$"
+
+SecretBase_Text_Trainer0DeclineBattle: @ 827494D
+ .string "Hunh?\n"
+ .string "Oh, you can't now…$"
+
+SecretBase_Text_Trainer0Defeated:: @ 8274966
+ .string "Waaargh! You're too strong!\n"
+ .string "About me losing… Please keep it secret!$"
+
+SecretBase_Text_Trainer0PostBattle: @ 82749AA
+ .string "What do you think of my SECRET BASE?\n"
+ .string "Come visit me again tomorrow.$"
+
+SecretBase_Text_Trainer0PreChampion: @ 82749ED
+ .string "Have you made a SECRET BASE already?\p"
+ .string "I went here, there, everywhere before\n"
+ .string "choosing this place.\p"
+ .string "Feel free to hang out!$"
+
+SecretBase_Text_Trainer5Intro: @ 8274A64
+ .string "There're a lot of places where\n"
+ .string "you can make a SECRET BASE.\p"
+ .string "But I like this spot best.\n"
+ .string "Don't you think it's nice?\p"
+ .string "Oh, would you like to have a battle?$"
+
+SecretBase_Text_Trainer5AcceptBattle: @ 8274AFA
+ .string "Okay, here goes!$"
+
+SecretBase_Text_Trainer5DeclineBattle: @ 8274B0B
+ .string "Oh…\n"
+ .string "You can't now, okay.$"
+
+SecretBase_Text_Trainer5Defeated:: @ 8274B24
+ .string "Hmmm… It's our loss…\n"
+ .string "But don't tell anyone!\l"
+ .string "It's a confidential secret!$"
+
+SecretBase_Text_Trainer5PostBattle: @ 8274B6C
+ .string "If you're in this area again,\n"
+ .string "I hope you'll visit me.$"
+
+SecretBase_Text_Trainer5PreChampion: @ 8274BA2
+ .string "There're a lot of places where you can\n"
+ .string "make a SECRET BASE.\p"
+ .string "But I like this spot best.\n"
+ .string "Don't you think it's nice?$"
+
+SecretBase_Text_Trainer1Intro: @ 8274C13
+ .string "This is a popular spot.\n"
+ .string "It's always taken.\p"
+ .string "Oh! Were you thinking about\n"
+ .string "taking this spot, too?\p"
+ .string "I'll tell you what, you can have this\n"
+ .string "spot if you can beat me.$"
+
+SecretBase_Text_Trainer1AcceptBattle: @ 8274CB0
+ .string "Okay!\n"
+ .string "I'm going to defend my SECRET BASE!$"
+
+SecretBase_Text_Trainer1DeclineBattle: @ 8274CDA
+ .string "Hunh? Is that right?\n"
+ .string "You're not interested in this spot?$"
+
+SecretBase_Text_Trainer1Defeated:: @ 8274D13
+ .string "I can't keep going!\n"
+ .string "I surrender!$"
+
+SecretBase_Text_Trainer1PostBattle: @ 8274D34
+ .string "Okay, when I move one day,\n"
+ .string "this place will be yours!$"
+
+SecretBase_Text_Trainer1PreChampion: @ 8274D69
+ .string "This is a popular spot.\n"
+ .string "It's always taken.\p"
+ .string "I waited a long time for it to open.\n"
+ .string "I finally got to use it!$"
+
+SecretBase_Text_Trainer6Intro: @ 8274DD2
+ .string "Welcome to my POKéMON LAB.\p"
+ .string "I carry out research on battling in\n"
+ .string "secrecy.\p"
+ .string "Would you like to see how strong I am?$"
+
+SecretBase_Text_Trainer6AcceptBattle: @ 8274E41
+ .string "I'm going to go all out!$"
+
+SecretBase_Text_Trainer6DeclineBattle: @ 8274E5A
+ .string "Oh.\n"
+ .string "Some other time, then!$"
+
+SecretBase_Text_Trainer6Defeated:: @ 8274E75
+ .string "Hmm… I've still got lots to learn.\n"
+ .string "I have to study some more.$"
+
+SecretBase_Text_Trainer6PostBattle: @ 8274EB3
+ .string "Thanks for battling with me.\n"
+ .string "Please come back again tomorrow.$"
+
+SecretBase_Text_Trainer6PreChampion: @ 8274EF1
+ .string "Welcome to my POKéMON LAB.\p"
+ .string "I carry out research on battling in\n"
+ .string "secrecy.$"
+
+SecretBase_Text_Trainer2Intro: @ 8274F39
+ .string "A big mansion is nice, but I like this\n"
+ .string "sort of place more.\p"
+ .string "I like it because all kinds of people\n"
+ .string "come visit me.\p"
+ .string "So, how would you like a battle?$"
+
+SecretBase_Text_Trainer2AcceptBattle: @ 8274FCA
+ .string "That's the way!$"
+
+SecretBase_Text_Trainer2DeclineBattle: @ 8274FDA
+ .string "When you're ready, give me a shout!$"
+
+SecretBase_Text_Trainer2Defeated:: @ 8274FFE
+ .string "Aww! Done in!\n"
+ .string "But it's still fun to battle!$"
+
+SecretBase_Text_Trainer2PostBattle: @ 827502A
+ .string "Well, anyway, I should go buy some\n"
+ .string "decorations and furniture.\p"
+ .string "I want my SECRET BASE to be a place\n"
+ .string "other people can enjoy.$"
+
+SecretBase_Text_Trainer2PreChampion: @ 82750A4
+ .string "A big mansion is nice, but I like this\n"
+ .string "sort of place more.\p"
+ .string "I like it because all kinds of people\n"
+ .string "come visit me.$"
+
+SecretBase_Text_Trainer7Intro: @ 8275114
+ .string "I simply adore shopping for decorations\n"
+ .string "and furniture.\p"
+ .string "I also love raising POKéMON just\n"
+ .string "as much.\p"
+ .string "If you would be so kind, will you battle\n"
+ .string "with my POKéMON?$"
+
+SecretBase_Text_Trainer7AcceptBattle: @ 82751AF
+ .string "Thank you.\n"
+ .string "Shall we begin?$"
+
+SecretBase_Text_Trainer7DeclineBattle: @ 82751CA
+ .string "Oh.\n"
+ .string "How disappointing…$"
+
+SecretBase_Text_Trainer7Defeated:: @ 82751E1
+ .string "I concede…$"
+
+SecretBase_Text_Trainer7PostBattle: @ 82751EC
+ .string "That was all in good fun!\n"
+ .string "I should go enjoy shopping now.$"
+
+SecretBase_Text_Trainer7PreChampion: @ 8275226
+ .string "I simply adore shopping for decorations\n"
+ .string "and furniture.\p"
+ .string "I also love raising POKéMON just\n"
+ .string "as much.$"
+
+SecretBase_Text_Trainer3Intro: @ 8275287
+ .string "Some people make their SECRET BASES in\n"
+ .string "hard-to-find places.\l"
+ .string "Do they want to just lie low?\p"
+ .string "But since you found me, how about we\n"
+ .string "have a battle?$"
+
+SecretBase_Text_Trainer3AcceptBattle: @ 8275315
+ .string "I'm not going down easily!$"
+
+SecretBase_Text_Trainer3DeclineBattle: @ 8275330
+ .string "Oh… Are you maybe tired from searching\n"
+ .string "for this place?$"
+
+SecretBase_Text_Trainer3Defeated:: @ 8275367
+ .string "I went down…$"
+
+SecretBase_Text_Trainer3PostBattle: @ 8275374
+ .string "Where's your SECRET BASE?\n"
+ .string "I should go visit you there.$"
+
+SecretBase_Text_Trainer3PreChampion: @ 82753AB
+ .string "Some people make their SECRET BASES in\n"
+ .string "hard-to-find places.\l"
+ .string "Do they want to just lie low?$"
+
+SecretBase_Text_Trainer8Intro: @ 8275405
+ .string "People have told me that you can get\n"
+ .string "decorations in several ways.\p"
+ .string "We should have a race to see who can\n"
+ .string "get nicer decorations and furniture!\p"
+ .string "In the meantime, want to battle?$"
+
+SecretBase_Text_Trainer8AcceptBattle: @ 82754B2
+ .string "This is my SECRET BASE.\n"
+ .string "I can't lose!$"
+
+SecretBase_Text_Trainer8DeclineBattle: @ 82754D8
+ .string "I'll battle with you anytime.$"
+
+SecretBase_Text_Trainer8Defeated:: @ 82754F6
+ .string "Huh?\n"
+ .string "Did I just lose?$"
+
+SecretBase_Text_Trainer8PostBattle: @ 827550C
+ .string "I won't lose at collecting decorations.\n"
+ .string "Come visit again!$"
+
+SecretBase_Text_Trainer8PreChampion: @ 8275546
+ .string "People have told me that you can get\n"
+ .string "decorations in several ways.\p"
+ .string "We should have a race to see who can\n"
+ .string "get nicer decorations and furniture!$"
+
+SecretBase_Text_Trainer4Intro: @ 82755D2
+ .string "I found a spot I liked, and I did it up\n"
+ .string "with my favorite decorations.\p"
+ .string "I raise my favorite POKéMON and grow\n"
+ .string "stronger with it.\p"
+ .string "That's what I do.\n"
+ .string "Want to battle with me?$"
+
+SecretBase_Text_Trainer4AcceptBattle: @ 8275679
+ .string "Show me what you're made of!$"
+
+SecretBase_Text_Trainer4DeclineBattle: @ 8275696
+ .string "I guess there are times when you're not\n"
+ .string "into it.$"
+
+SecretBase_Text_Trainer4Defeated:: @ 82756C7
+ .string "I know exactly what you're made of now.$"
+
+SecretBase_Text_Trainer4PostBattle: @ 82756EF
+ .string "We can both become stronger.\n"
+ .string "Let's keep at it!$"
+
+SecretBase_Text_Trainer4PreChampion: @ 827571E
+ .string "I found a spot I liked, and I did it up\n"
+ .string "with my favorite decorations.\p"
+ .string "I raise my favorite POKéMON and grow\n"
+ .string "stronger with it.\p"
+ .string "Every day is a great day.$"
+
+SecretBase_Text_Trainer9Intro: @ 82757B5
+ .string "You can learn a lot about the taste\n"
+ .string "and sense of people by the kinds of\l"
+ .string "decorations they have, and how they\l"
+ .string "display them.\p"
+ .string "What do you think of my taste?\n"
+ .string "Are you speechless?\p"
+ .string "Want to see my taste in battling?$"
+
+SecretBase_Text_Trainer9AcceptBattle: @ 8275884
+ .string "There's no holding back!$"
+
+SecretBase_Text_Trainer9DeclineBattle: @ 827589D
+ .string "I'll be happy to demonstrate my style\n"
+ .string "anytime.$"
+
+SecretBase_Text_Trainer9Defeated:: @ 82758CC
+ .string "You're supremely talented!\n"
+ .string "Your power seems to be limitless…$"
+
+SecretBase_Text_Trainer9PostBattle: @ 8275909
+ .string "What did you think of my style?\n"
+ .string "I'll keep on polishing it!$"
+
+SecretBase_Text_Trainer9PreChampion: @ 8275944
+ .string "You can learn a lot about the taste\n"
+ .string "and sense of people by the kinds of\l"
+ .string "decorations they have, and how they\l"
+ .string "display them.\p"
+ .string "What do you think of my taste?\n"
+ .string "Are you speechless?$"
diff --git a/data/text/shoal_cave.inc b/data/text/shoal_cave.inc
index 52ab9fc48..4a15e7498 100644
--- a/data/text/shoal_cave.inc
+++ b/data/text/shoal_cave.inc
@@ -1,4 +1,4 @@
-ShoalCave_LowTideEntranceRoom_Text_2A7E0E: @ 82A7E0E
+ShoalCave_LowTideEntranceRoom_Text_AreYouPlanningOnGoingInThere: @ 82A7E0E
.string "Are you planning on going deep\n"
.string "in there?\p"
.string "How about bringing me back some\n"
@@ -6,27 +6,27 @@ ShoalCave_LowTideEntranceRoom_Text_2A7E0E: @ 82A7E0E
.string "I can make you something good if\n"
.string "you bring me the ingredients.$"
-ShoalCave_LowTideEntranceRoom_Text_2A7EB3: @ 82A7EB3
+ShoalCave_LowTideEntranceRoom_Text_BringMe4ShoalSaltAndShells: @ 82A7EB3
.string "If you bring me four each of the\n"
.string "SHOAL SALT and SHOAL SHELLS,\l"
.string "I can make you a SHELL BELL…\p"
.string "You can get those ingredients\n"
.string "every day.$"
-ShoalCave_LowTideEntranceRoom_Text_2A7F37: @ 82A7F37
+ShoalCave_LowTideEntranceRoom_Text_WouldYouLikeShellBell: @ 82A7F37
.string "Oh, hey! SHOAL SALT and SHOAL SHELLS!\n"
.string "And enough of them, too!\p"
.string "Would you like me to make you\n"
.string "a SHELL BELL with them?$"
-ShoalCave_LowTideEntranceRoom_Text_2A7FAC: @ 82A7FAC
+ShoalCave_LowTideEntranceRoom_Text_MakeShellBellRightAway: @ 82A7FAC
.string "All righty, then! I'll make you\n"
.string "a SHELL BELL right away.\p"
.string "… … … … … … … …\n"
.string "… … … … … … … …\p"
.string "There! Done!$"
-ShoalCave_LowTideEntranceRoom_Text_2A8012: @ 82A8012
+ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell: @ 82A8012
.string "Have a POKéMON hold on to that.\n"
.string "It'll love it, that's for certain.\p"
.string "Why, the SHELL BELL's chime…\n"
@@ -34,22 +34,20 @@ ShoalCave_LowTideEntranceRoom_Text_2A8012: @ 82A8012
.string "You can get its ingredients every day,\n"
.string "so I can make you more.$"
-ShoalCave_LowTideEntranceRoom_Text_2A80C6: @ 82A80C6
+ShoalCave_LowTideEntranceRoom_Text_WantedToMakeShellBell: @ 82A80C6
.string "Oh… Is that so…\n"
.string "I wanted to make a SHELL BELL…$"
-ShoalCave_LowTideEntranceRoom_Text_2A80F5: @ 82A80F5
+ShoalCave_LowTideEntranceRoom_Text_NoSpaceInYourBag: @ 82A80F5
.string "You don't have space in your BAG\n"
.string "if I were to make it for you.\p"
.string "You should make room and come back\n"
.string "for a SHELL BELL.$"
-ShoalCave_LowTideInnerRoom_Text_2A8169: @ 82A8169
-ShoalCave_LowTideLowerRoom_Text_2A8169: @ 82A8169
-ShoalCave_LowTideStairsRoom_Text_2A8169: @ 82A8169
+ShoalCave_Text_WasShoalSaltNowNothing: @ 82A8169
.string "There was some SHOAL SALT here.\n"
.string "But, there's nothing here now.$"
-ShoalCave_LowTideInnerRoom_Text_2A81A8: @ 82A81A8
+ShoalCave_Text_WasShoallShellNowNothing: @ 82A81A8
.string "There was a SHOAL SHELL here.\n"
.string "But, there's nothing here now.$"
diff --git a/data/text/trainers.inc b/data/text/trainers.inc
index a6432006c..9e971b223 100644
--- a/data/text/trainers.inc
+++ b/data/text/trainers.inc
@@ -1,1322 +1,1322 @@
-Route102_Text_294513: @ 8294513
+Route102_Text_CalvinIntro: @ 8294513
.string "If you have POKéMON with you, then\n"
.string "you're an official POKéMON TRAINER!\l"
.string "You can't say no to my challenge!$"
-Route102_Text_29457C: @ 829457C
+Route102_Text_CalvinDefeated: @ 829457C
.string "Arrgh, I lost…\n"
.string "I should have trained mine more…$"
-Route102_Text_2945AC: @ 82945AC
+Route102_Text_CalvinPostBattle: @ 82945AC
.string "Listen, you. If you're strong,\n"
.string "you should have told me before!$"
-Route102_Text_2945EB: @ 82945EB
+Route102_Text_CalvinRegister: @ 82945EB
.string "I've been working hard at this since\n"
.string "I saw you before.\p"
.string "I'd like to battle you again, so can\n"
.string "you register me in your POKéNAV?$"
-Route102_Text_294668: @ 8294668
+Route102_Text_CalvinRegisterShort: @ 8294668
.string "I'd like to battle you again, so can\n"
.string "you register me in your POKéNAV?$"
-Route102_Text_2946AE: @ 82946AE
+Route102_Text_CalvinRematchIntro: @ 82946AE
.string "Ever since I lost to you, I desperately\n"
.string "trained my POKéMON.\l"
.string "You can't say no to my challenge!$"
-Route102_Text_29470C: @ 829470C
+Route102_Text_CalvinRematchDefeated: @ 829470C
.string "Arrgh, I lost…\n"
.string "Is my training method not right?$"
-Route102_Text_29473C: @ 829473C
+Route102_Text_CalvinRematchPostBattle: @ 829473C
.string "If you're going to get stronger,\n"
.string "I'll get stronger, too.$"
-Route102_Text_294775: @ 8294775
+Route102_Text_AllenIntro: @ 8294775
.string "Did you just become a TRAINER?\n"
.string "We're both beginners!$"
-Route102_Text_2947AA: @ 82947AA
+Route102_Text_AllenDefeated: @ 82947AA
.string "I called you because I thought\n"
.string "I could beat you…$"
-Route102_Text_2947DB: @ 82947DB
+Route102_Text_AllenPostBattle: @ 82947DB
.string "I haven't won once yet…\n"
.string "I wish I would win soon…$"
-Route102_Text_29480C: @ 829480C
+Route102_Text_RickIntro: @ 829480C
.string "Hahah! Our eyes met!\n"
.string "I'll take you on with my BUG POKéMON!$"
-Route102_Text_294847: @ 8294847
+Route102_Text_RickDefeated: @ 8294847
.string "Ow! Down and out!$"
-Route102_Text_294859: @ 8294859
+Route102_Text_RickPostBattle: @ 8294859
.string "If you lock eyes with a TRAINER,\n"
.string "you have to challenge! It's a rule!$"
-Route102_Text_29489E: @ 829489E
+Route102_Text_TianaIntro: @ 829489E
.string "I'm going to keep winning and aim\n"
.string "to be the best TRAINER.\p"
.string "Help me further my career!$"
-Route102_Text_2948F3: @ 82948F3
+Route102_Text_TianaDefeated: @ 82948F3
.string "I ended up furthering your career…$"
-Route102_Text_294916: @ 8294916
+Route102_Text_TianaPostBattle: @ 8294916
.string "To keep winning my way up, I see that\n"
.string "I have to catch more POKéMON.$"
-Route103_Text_29495A: @ 829495A
+Route103_Text_DaisyIntro: @ 829495A
.string "Did you feel the tug of our\n"
.string "soul-soothing fragrance?$"
-Route103_Text_29498F: @ 829498F
+Route103_Text_DaisyDefeated: @ 829498F
.string "You weren't led astray by our aroma…$"
-Route103_Text_2949B4: @ 82949B4
+Route103_Text_DaisyPostBattle: @ 82949B4
.string "Aromatherapy is a form of mental\n"
.string "healing that works with fragrances.$"
-Route103_Text_2949F9: @ 82949F9
+Route103_Text_AmyIntro: @ 82949F9
.string "AMY: I'm AMY.\n"
.string "And this is my little sister LIV.\l"
.string "We battle together!$"
-Route103_Text_294A3D: @ 8294A3D
+Route103_Text_AmyDefeated: @ 8294A3D
.string "AMY: Uh-oh, we lost.$"
-Route103_Text_294A52: @ 8294A52
+Route103_Text_AmyPostBattle: @ 8294A52
.string "AMY: You have to think about all\n"
.string "kinds of things when you're battling\l"
.string "against two TRAINERS.$"
-Route103_Text_294AAE: @ 8294AAE
+Route103_Text_AmyNotEnoughPokemon: @ 8294AAE
.string "AMY: Uh-oh, you have only one\n"
.string "POKéMON with you.\l"
.string "You can't battle us like that.$"
-Route103_Text_294AFD: @ 8294AFD
+Route103_Text_LivIntro: @ 8294AFD
.string "LIV: We battle together as one\n"
.string "team.$"
-Route103_Text_294B22: @ 8294B22
+Route103_Text_LivDefeated: @ 8294B22
.string "LIV: Oh, we lost, big sister…$"
-Route103_Text_294B40: @ 8294B40
+Route103_Text_LivPostBattle: @ 8294B40
.string "LIV: We work perfectly together,\n"
.string "me and my big sister…\p"
.string "But we still lost…$"
-Route103_Text_294B8A: @ 8294B8A
+Route103_Text_AmyLivRegister: @ 8294B8A
.string "LIV: Really, we're a lot better…\n"
.string "It's true! We'll show you next time!$"
-Route103_Text_294BD0: @ 8294BD0
+Route103_Text_LivNotEnoughPokemon: @ 8294BD0
.string "LIV: If you want to battle us,\n"
.string "you have to have two POKéMON!\l"
.string "It's not fair if you don't!$"
-Route103_Text_294C29: @ 8294C29
+Route103_Text_AmyRematchIntro: @ 8294C29
.string "AMY: I'm AMY.\n"
.string "And this is my little sister LIV.\l"
.string "We battle together!$"
-Route103_Text_294C6D: @ 8294C6D
+Route103_Text_AmyRematchDefeated: @ 8294C6D
.string "AMY: Aww, boo!\n"
.string "We couldn't win again…$"
-Route103_Text_294C93: @ 8294C93
+Route103_Text_AmyRematchPostBattle: @ 8294C93
.string "AMY: You have to think about all\n"
.string "kinds of things when you're battling\l"
.string "against two TRAINERS.$"
-Route103_Text_294CEF: @ 8294CEF
+Route103_Text_AmyRematchNotEnoughPokemon: @ 8294CEF
.string "AMY: Uh-oh, you have only one\n"
.string "POKéMON with you.\l"
.string "You can't battle us like that.$"
-Route103_Text_294D3E: @ 8294D3E
+Route103_Text_LivRematchIntro: @ 8294D3E
.string "LIV: We battle together as one\n"
.string "team.$"
-Route103_Text_294D63: @ 8294D63
+Route103_Text_LivRematchDefeated: @ 8294D63
.string "LIV: Awww, we lost again…\n"
.string "Big sister…$"
-Route103_Text_294D89: @ 8294D89
+Route103_Text_LivRematchPostBattle: @ 8294D89
.string "LIV: We work perfectly together,\n"
.string "me and my big sister…\p"
.string "But why did we lose again?$"
-Route103_Text_294DDB: @ 8294DDB
+Route103_Text_LivRematchNotEnoughPokemon: @ 8294DDB
.string "LIV: If you want to battle us, you\n"
.string "have to have two POKéMON!\l"
.string "It's not fair if you don't!$"
-Route103_Text_294E34: @ 8294E34
+Route103_Text_AndrewIntro: @ 8294E34
.string "Gah! My fishing line's all snarled up!\n"
.string "I'm getting frustrated and mean!\l"
.string "That's it! Battle me!$"
-Route103_Text_294E92: @ 8294E92
+Route103_Text_AndrewDefeated: @ 8294E92
.string "Gah! Lost it!\n"
.string "I'm even more annoyed now!$"
-Route103_Text_294EBB: @ 8294EBB
+Route103_Text_AndrewPostBattle: @ 8294EBB
.string "Gah, I'm still boiling mad…\n"
.string "Grrrrr…$"
-Route103_Text_294EDF: @ 8294EDF
+Route103_Text_MiguelIntro: @ 8294EDF
.string "My POKéMON is delightfully adorable!\n"
.string "Don't be shy--I'll show you!$"
-Route103_Text_294F21: @ 8294F21
+Route103_Text_MiguelDefeated: @ 8294F21
.string "Oh, my gosh!\n"
.string "My darling POKéMON!$"
-Route103_Text_294F42: @ 8294F42
+Route103_Text_MiguelPostBattle: @ 8294F42
.string "My delightful POKéMON looks darling\n"
.string "even when it's fainted!$"
-Route103_Text_294F7E: @ 8294F7E
+Route103_Text_MiguelRegister: @ 8294F7E
.string "I'll get you to come out and look in\n"
.string "on my delightful POKéMON again!$"
-Route103_Text_294FC3: @ 8294FC3
+Route103_Text_MiguelRematchIntro: @ 8294FC3
.string "Hi, you! My delightfully adorable\n"
.string "POKéMON has become more darling!$"
-Route103_Text_295006: @ 8295006
+Route103_Text_MiguelRematchDefeated: @ 8295006
.string "Oh!\n"
.string "My darling POKéMON!$"
-Route103_Text_29501E: @ 829501E
+Route103_Text_MiguelRematchPostBattle: @ 829501E
.string "The more I spend time with it,\n"
.string "the more adorable my POKéMON becomes.$"
-Route103_Text_295063: @ 8295063
+Route103_Text_PeteIntro: @ 8295063
.string "This sort of distance…\n"
.string "You should just swim it!$"
-Route103_Text_295093: @ 8295093
+Route103_Text_PeteDefeated: @ 8295093
.string "Oh, that's good going!$"
-Route103_Text_2950AA: @ 82950AA
+Route103_Text_PetePostBattle: @ 82950AA
.string "Oh, I understand where you're coming\n"
.string "from now.\p"
.string "If I had a POKéMON that trusty,\n"
.string "I'd want to SURF on it, too!$"
-Route103_Text_295116: @ 8295116
+Route103_Text_IsabelleIntro: @ 8295116
.string "Watch where you're going!\n"
.string "We're going to crash!$"
-Route103_Text_295146: @ 8295146
+Route103_Text_IsabelleDefeated: @ 8295146
.string "Groan…$"
-Route103_Text_29514D: @ 829514D
+Route103_Text_IsabellePostBattle: @ 829514D
.string "I'm a poor swimmer so I was practicing…\n"
.string "Sorry for almost crashing into you.$"
-Route103_Text_295199: @ 8295199
+Route103_Text_RhettIntro: @ 8295199
.string "Whoa!\n"
.string "How'd you get into a space this small?$"
-Route103_Text_2951C6: @ 82951C6
+Route103_Text_RhettDefeated: @ 82951C6
.string "Whoa!\n"
.string "The kid can rock!$"
-Route103_Text_2951DE: @ 82951DE
+Route103_Text_RhettPostBattle: @ 82951DE
.string "Do you like cramped quarters\n"
.string "like this?$"
-Route103_Text_295206: @ 8295206
+Route103_Text_MarcosIntro: @ 8295206
.string "Did my guitar's wailing draw you in?$"
-Route103_Text_29522B: @ 829522B
+Route103_Text_MarcosDefeated: @ 829522B
.string "My one-man show is ruined…$"
-Route103_Text_295246: @ 8295246
+Route103_Text_MarcosPostBattle: @ 8295246
.string "I was playing my guitar where few\n"
.string "people were around, but a lot of fans\l"
.string "have gathered.\p"
.string "Heh, maybe I should turn pro.$"
-Route104_Text_2952BB: @ 82952BB
+Route104_Text_GinaIntro: @ 82952BB
.string "GINA: Okay, let's battle with our\n"
.string "POKéMON!$"
-Route104_Text_2952E6: @ 82952E6
+Route104_Text_GinaDefeat: @ 82952E6
.string "GINA: Losing upsets me!$"
-Route104_Text_2952FE: @ 82952FE
+Route104_Text_GinaPostBattle: @ 82952FE
.string "GINA: You are strong!\n"
.string "We have to train lots more!$"
-Route104_Text_295330: @ 8295330
+Route104_Text_GinaNotEnoughMons: @ 8295330
.string "GINA: Oh? Only one POKéMON?\n"
.string "Then, we don't battle with you.\p"
.string "If there's only one POKéMON, it will\n"
.string "be lonesome. That's not nice.$"
-Route104_Text_2953AF: @ 82953AF
+Route104_Text_MiaIntro: @ 82953AF
.string "MIA: We are twins, so we battle\n"
.string "POKéMON together.$"
-Route104_Text_2953E1: @ 82953E1
+Route104_Text_MiaDefeat: @ 82953E1
.string "MIA: We battled together, but we\n"
.string "both lost…$"
-Route104_Text_29540D: @ 829540D
+Route104_Text_MiaPostBattle: @ 829540D
.string "MIA: We will train our POKéMON more\n"
.string "and be strong like you.$"
-Route104_Text_295449: @ 8295449
+Route104_Text_MiaNotEnoughMons: @ 8295449
.string "MIA: You want to battle with us?\p"
.string "It's a big no-no if you don't have two\n"
.string "POKéMON with you.\l"
.string "We're too strong for you!$"
-Route104_Text_2954BD: @ 82954BD
+Route104_Text_IvanIntro: @ 82954BD
.string "Why keep it a secret?\n"
.string "I'm the WATER POKéMON expert!\p"
.string "Huh?\n"
.string "You don't know me?$"
-Route104_Text_295509: @ 8295509
+Route104_Text_IvanDefeat: @ 8295509
.string "I thought I wasn't too bad, if I may\n"
.string "say so, but I guess not… Bleah…$"
-Route104_Text_29554E: @ 829554E
+Route104_Text_IvanPostBattle: @ 829554E
.string "I got too into fishing.\n"
.string "I forgot I had to raise my POKéMON…$"
-Route104_Text_29558A: @ 829558A
+Route104_Text_BillyIntro: @ 829558A
.string "Leaving footprints in the sand is\n"
.string "so fun!$"
-Route104_Text_2955B4: @ 82955B4
+Route104_Text_BillyDefeat: @ 82955B4
.string "Waah! I got sand in my runners!\n"
.string "They're all gritty!$"
-Route104_Text_2955E8: @ 82955E8
+Route104_Text_BillyPostBattle: @ 82955E8
.string "I want to leave my footprints in\n"
.string "the sand everywhere, but they\l"
.string "disappear quickly…$"
-Route104_Text_29563A: @ 829563A
+Route104_Text_HaleyIntro: @ 829563A
.string "Should I…\n"
.string "Or shouldn't I?\p"
.string "Okay, sure, I will battle!$"
-Route104_Text_29566F: @ 829566F
+Route104_Text_HaleyDefeat: @ 829566F
.string "I shouldn't have battled…$"
-Route104_Text_295689: @ 8295689
+Route104_Text_HaleyPostBattle: @ 8295689
.string "If you're faced with a decision and\n"
.string "you let someone else choose for you,\l"
.string "you will regret it, however things\l"
.string "turn out.$"
-Route104_Text_2956FF: @ 82956FF
+Route104_Text_HaleyRegister1: @ 82956FF
.string "You're strong, but should I register\n"
.string "you in my POKéNAV?\l"
.string "Maybe I shouldn't…\p"
.string "Okay, sure, I will register you!$"
-Route104_Text_29576B: @ 829576B
+Route104_Text_HaleyRegister2: @ 829576B
.string "You're strong, but should I register\n"
.string "you in my POKéNAV?\l"
.string "Maybe I shouldn't…\p"
.string "Okay, sure, I will register you!$"
-Route104_Text_2957D7: @ 82957D7
+Route104_Text_HaleyRematchIntro: @ 82957D7
.string "Come on, battle with me!$"
-Route104_Text_2957F0: @ 82957F0
+Route104_Text_HaleyRematchDefeat: @ 82957F0
.string "Ohh…\n"
.string "I thought I could win…$"
-Route104_Text_29580C: @ 829580C
+Route104_Text_HaleyPostRematch: @ 829580C
.string "I made the decision to battle, so\n"
.string "I can accept this loss with grace.\p"
.string "I am still upset about losing!$"
-Route104_Text_295870: @ 8295870
+Route104_Text_WinstonIntro: @ 8295870
.string "Oh, sure, I'll accept your challenge.\n"
.string "I have a lot of money.$"
-Route104_Text_2958AD: @ 82958AD
+Route104_Text_WinstonDefeat: @ 82958AD
.string "Why couldn't I win?$"
-Route104_Text_2958C1: @ 82958C1
+Route104_Text_WinstonPostBattle: @ 82958C1
.string "There are some things money can't buy.\n"
.string "That's POKéMON…$"
-Route104_Text_2958F8: @ 82958F8
+Route104_Text_WinstonRegister1: @ 82958F8
.string "Hm?\n"
.string "Ah, you've obtained a POKéNAV.\p"
.string "I will gladly register you.\n"
.string "After all, I have plenty of money.$"
-Route104_Text_29595A: @ 829595A
+Route104_Text_WinstonRegister2: @ 829595A
.string "Hm?\n"
.string "Ah, you've obtained a POKéNAV.\p"
.string "I will gladly register you.\n"
.string "After all, I have plenty of money.$"
-Route104_Text_2959BC: @ 82959BC
+Route104_Text_WinstonRematchIntro: @ 82959BC
.string "After I lost to you, I learned a bunch\n"
.string "of things about POKéMON.$"
-Route104_Text_2959FC: @ 82959FC
+Route104_Text_WinstonRematchDefeat: @ 82959FC
.string "I lost again?\n"
.string "Why couldn't I win?$"
-Route104_Text_295A1E: @ 8295A1E
+Route104_Text_WinstonPostRematch: @ 8295A1E
.string "I'm fabulously wealthy, but I can't\n"
.string "seem to win at POKéMON…\p"
.string "It's so deep, the world of POKéMON…$"
-Route104_Text_295A7E: @ 8295A7E
+Route104_Text_CindyIntro: @ 8295A7E
.string "We must have been fated to meet.\n"
.string "May I ask you for a battle?$"
-Route104_Text_295ABB: @ 8295ABB
+Route104_Text_CindyDefeat: @ 8295ABB
.string "Oh, my!$"
-Route104_Text_295AC3: @ 8295AC3
+Route104_Text_CindyPostBattle: @ 8295AC3
.string "“Hello” is the beginning of “good-bye.”\n"
.string "I hope we meet again.$"
-Route104_Text_295B01: @ 8295B01
+Route104_Text_CindyRegister1: @ 8295B01
.string "Hello, we meet again.\p"
.string "We seem to be drawn together. Let's\n"
.string "register each other in our POKéNAVS.$"
-Route104_Text_295B60: @ 8295B60
+Route104_Text_CindyRegister2: @ 8295B60
.string "We should commemorate how we seem\n"
.string "to be drawn to each other.\p"
.string "Let's register each other in our\n"
.string "POKéNAVS.$"
-Route104_Text_295BC8: @ 8295BC8
+Route104_Text_CindyRematchIntro: @ 8295BC8
.string "Hello, we meet again.\n"
.string "May I ask you for a battle?$"
-Route104_Text_295BFA: @ 8295BFA
+Route104_Text_CindyRematchDefeat: @ 8295BFA
.string "Oh, my…\n"
.string "I did the best that I could…$"
-Route104_Text_295C1F: @ 8295C1F
+Route104_Text_CindyPostRematch: @ 8295C1F
.string "“Hello” is the beginning of “good-bye.”\n"
.string "I hope we meet again.$"
-Route104_Text_295C5D: @ 8295C5D
+Route104_Text_DarianIntro: @ 8295C5D
.string "I fished up a tough-looking POKéMON!\p"
.string "It has this magical quality to it!\n"
.string "It surely looks tough, yes it does!$"
-Route104_Text_295CC9: @ 8295CC9
+Route104_Text_DarianDefeat: @ 8295CC9
.string "What the…$"
-Route104_Text_295CD3: @ 8295CD3
+Route104_Text_DarianPostBattle: @ 8295CD3
.string "Hey, MAGIKARP, you sure don't live up\n"
.string "to your name, do you?$"
-Route105_Text_295D0F: @ 8295D0F
+Route105_Text_FosterIntro: @ 8295D0F
.string "There's supposed to be a mystical\n"
.string "rock around here.\l"
.string "Do you know anything about it?$"
-Route105_Text_295D62: @ 8295D62
+Route105_Text_FosterDefeated: @ 8295D62
.string "I was thinking too much about that\n"
.string "rock, while my POKéMON remained weak…$"
-Route105_Text_295DAB: @ 8295DAB
+Route105_Text_FosterPostBattle: @ 8295DAB
.string "I can spend hours and hours staring\n"
.string "at a nice rock without growing bored.$"
-Route105_Text_295DF5: @ 8295DF5
+Route105_Text_LuisIntro: @ 8295DF5
.string "Whew! I was worried that a kid was\n"
.string "drowning when I saw you.\p"
.string "You seem to be okay, so what do you\n"
.string "say to a battle?$"
-Route105_Text_295E66: @ 8295E66
+Route105_Text_LuisDefeated: @ 8295E66
.string "Glub… Glub…$"
-Route105_Text_295E72: @ 8295E72
+Route105_Text_LuisPostBattle: @ 8295E72
.string "If you are drowning, the signal is to\n"
.string "wave one arm toward the beach.$"
-Route105_Text_295EB7: @ 8295EB7
+Route105_Text_DominikIntro: @ 8295EB7
.string "Swimming the deep blue sea…\n"
.string "It feels the greatest!$"
-Route105_Text_295EEA: @ 8295EEA
+Route105_Text_DominikDefeated: @ 8295EEA
.string "I lost…\n"
.string "Now I'm feeling blue…$"
-Route105_Text_295F08: @ 8295F08
+Route105_Text_DominikPostBattle: @ 8295F08
.string "Why is the sea blue?\p"
.string "I learned about that at the MUSEUM in\n"
.string "SLATEPORT, but I forgot.$"
-Route105_Text_295F5C: @ 8295F5C
+Route105_Text_BeverlyIntro: @ 8295F5C
.string "My body feels lighter in the water.\n"
.string "It's as if I've gotten slimmer!$"
-Route105_Text_295FA0: @ 8295FA0
+Route105_Text_BeverlyDefeated: @ 8295FA0
.string "I'm floating…$"
-Route105_Text_295FAE: @ 8295FAE
+Route105_Text_PostBattle: @ 8295FAE
.string "Your body weight is reduced to just\n"
.string "one tenth in the water.\p"
.string "That would make me…\n"
.string "Whoops! I'm not telling you my weight!$"
-Route105_Text_296025: @ 8296025
+Route105_Text_ImaniIntro: @ 8296025
.string "The blue, blue sky…\n"
.string "The vast sea…\l"
.string "It's so peaceful…$"
-Route105_Text_296059: @ 8296059
+Route105_Text_ImaniDefeated: @ 8296059
.string "I lost while I was lounging!$"
-Route105_Text_296076: @ 8296076
+Route105_Text_ImaniPostBattle: @ 8296076
.string "I want to be told I'm relaxing to be\n"
.string "with. Giggle.$"
-Route105_Text_2960A9: @ 82960A9
+Route105_Text_AndresIntro: @ 82960A9
.string "I'm convinced that the sea keeps\n"
.string "secrets from us.$"
-Route105_Text_2960DB: @ 82960DB
+Route105_Text_AndresDefeated: @ 82960DB
.string "Yes…\n"
.string "I am no good at battling…$"
-Route105_Text_2960FA: @ 82960FA
+Route105_Text_AndresPostBattle: @ 82960FA
.string "I'm sure there are many secrets to be\n"
.string "discovered in the world's seas.\p"
.string "I mean to find them all!$"
-Route105_Text_296159: @ 8296159
+Route105_Text_AndresRegister: @ 8296159
.string "Huh? I'm so weak, but you're willing\n"
.string "to register me in your POKéNAV?$"
-Route105_Text_29619E: @ 829619E
+Route105_Text_AndresRematchIntro: @ 829619E
.string "I've told you that I'm weak…\n"
.string "Are you sure you want to do this?$"
-Route105_Text_2961DD: @ 82961DD
+Route105_Text_AndresRematchDefeated: @ 82961DD
.string "Yes…\n"
.string "I didn't think I could win.$"
-Route105_Text_2961FE: @ 82961FE
+Route105_Text_AndresRematchPostBattle: @ 82961FE
.string "I may be weak at battling, but my\n"
.string "drive to explore can't be bested.\p"
.string "I will travel the seas all around\n"
.string "the world!$"
-Route105_Text_29626F: @ 829626F
+Route105_Text_JosueIntro: @ 829626F
.string "I'm exhausted from swimming.\n"
.string "I'm just not used to it.\p"
.string "I need a battle for a change of pace!$"
-Route105_Text_2962CB: @ 82962CB
+Route105_Text_JosueDefeated: @ 82962CB
.string "I lost because I battled at sea.$"
-Route105_Text_2962EC: @ 82962EC
+Route105_Text_JosuePostBattle: @ 82962EC
.string "Yeah, for me, the sky is a much better\n"
.string "match than the sea.$"
-Route106_Text_296327: @ 8296327
+Route106_Text_ElliotIntro: @ 8296327
.string "Which do you prefer, fishing in the\n"
.string "sea or a stream?$"
-Route106_Text_29635C: @ 829635C
+Route106_Text_ElliotDefeated: @ 829635C
.string "Like in deep-sea fishing, I lost\n"
.string "spectacularly!$"
-Route106_Text_29638C: @ 829638C
+Route106_Text_ElliotPostBattle: @ 829638C
.string "Fishing is the greatest whether it's\n"
.string "in the sea or a stream.\l"
.string "You agree with me, right?$"
-Route106_Text_2963E3: @ 82963E3
+Route106_Text_ElliotRegister: @ 82963E3
.string "Fishing's great, but so is battling.\n"
.string "If you don't mind, can we meet again?$"
-Route106_Text_29642E: @ 829642E
+Route106_Text_ElliotRematchIntro: @ 829642E
.string "I caught a bunch of POKéMON fishing.\n"
.string "I'll show you an impressive battle!$"
-Route106_Text_296477: @ 8296477
+Route106_Text_ElliotRematchDefeated: @ 8296477
.string "I lost again spectacularly!$"
-Route106_Text_296493: @ 8296493
+Route106_Text_ElliotRematchPostBattle: @ 8296493
.string "Win or lose, POKéMON are the greatest!\n"
.string "You agree with me, right?$"
-Route106_Text_2964D4: @ 82964D4
+Route106_Text_NedIntro: @ 82964D4
.string "What do people do if they need to go\n"
.string "to a washroom?\p"
.string "What if my ROD hooks a big one while\n"
.string "I'm in the washroom? I just can't go…$"
-Route106_Text_296553: @ 8296553
+Route106_Text_NedDefeated: @ 8296553
.string "I lost because I'm trying to not go\n"
.string "to the washroom…$"
-Route106_Text_296588: @ 8296588
+Route106_Text_NedPostBattle: @ 8296588
.string "Oh, no! I've got this feeling I'll hook\n"
.string "a big one!$"
-Route106_Text_2965BB: @ 82965BB
+Route106_Text_DouglasIntro: @ 82965BB
.string "Hahahah! I'm a lousy runner, but in\n"
.string "the water you can't catch me!$"
-Route106_Text_2965FD: @ 82965FD
+Route106_Text_DouglasDefeated: @ 82965FD
.string "I give up!$"
-Route106_Text_296608: @ 8296608
+Route106_Text_DouglasPostBattle: @ 8296608
.string "I wouldn't lose in a swim race…$"
-Route106_Text_296628: @ 8296628
+Route106_Text_KylaIntro: @ 8296628
.string "The sea is my backyard. I'm not going\n"
.string "to take it easy because you're a kid!$"
-Route106_Text_296674: @ 8296674
+Route106_Text_KylaDefeated: @ 8296674
.string "Did you take it easy on me by any\n"
.string "chance?$"
-Route106_Text_29669E: @ 829669E
+Route106_Text_KylaPostBattle: @ 829669E
.string "Drifting along with the waves…\n"
.string "I love it! Why don't you give it a try?$"
-Route107_Text_2966E5: @ 82966E5
+Route107_Text_DarrinIntro: @ 82966E5
.string "Yawn…\p"
.string "I must have drifted off to sleep while\n"
.string "I was drifting in the waves.$"
-Route107_Text_29672F: @ 829672F
+Route107_Text_DarrinDefeated: @ 829672F
.string "Ahaha, I lost…\n"
.string "I'll take a snooze, I think…$"
-Route107_Text_29675B: @ 829675B
+Route107_Text_DarrinPostBattle: @ 829675B
.string "Floating and being rocked by\n"
.string "the waves--it's like sleeping in\l"
.string "a plush, comfy bed.$"
-Route107_Text_2967AD: @ 82967AD
+Route107_Text_TonyIntro: @ 82967AD
.string "The sea is like my backyard.\n"
.string "Let's battle!$"
-Route107_Text_2967D8: @ 82967D8
+Route107_Text_TonyDefeated: @ 82967D8
.string "I lost on my home field…\n"
.string "I'm in shock!$"
-Route107_Text_2967FF: @ 82967FF
+Route107_Text_TonyPostBattle: @ 82967FF
.string "I swim the seas with a heart full of\n"
.string "dreams…\p"
.string "It's a song!\n"
.string "Anyways, I'm swimming some more.$"
-Route107_Text_29685A: @ 829685A
+Route107_Text_TonyRegister: @ 829685A
.string "You've shocked me to the bone!\n"
.string "Well, so you won't forget me…$"
-Route107_Text_296897: @ 8296897
+Route107_Text_TonyRematchIntro: @ 8296897
.string "Swimming in the big, wide sea,\n"
.string "my POKéMON has grown stronger!$"
-Route107_Text_2968D5: @ 82968D5
+Route107_Text_TonyRematchDefeated: @ 82968D5
.string "What a shock!\p"
.string "My POKéMON has gotten stronger, but\n"
.string "I stayed weak as a TRAINER!$"
-Route107_Text_296923: @ 8296923
+Route107_Text_TonyRematchPostBattle: @ 8296923
.string "What you learn in battle makes you\n"
.string "a stronger TRAINER.\l"
.string "The waves taught me that.$"
-Route107_Text_296974: @ 8296974
+Route107_Text_DeniseIntro: @ 8296974
.string "Do you know a little town called\n"
.string "DEWFORD?$"
-Route107_Text_29699E: @ 829699E
+Route107_Text_DeniseDefeated: @ 829699E
.string "I hate this!$"
-Route107_Text_2969AB: @ 82969AB
+Route107_Text_DenisePostBattle: @ 82969AB
.string "A weird saying is getting really\n"
.string "trendy at DEWFORD HALL.$"
-Route107_Text_2969E4: @ 82969E4
+Route107_Text_BethIntro: @ 82969E4
.string "Did you want to battle me?\n"
.string "Sure, I'll go with you!$"
-Route107_Text_296A17: @ 8296A17
+Route107_Text_BethDefeated: @ 8296A17
.string "I wasn't good enough for you.$"
-Route107_Text_296A35: @ 8296A35
+Route107_Text_BethPostBattle: @ 8296A35
.string "I think you're going to keep getting\n"
.string "better. I'll go for it, too!$"
-Route107_Text_296A77: @ 8296A77
+Route107_Text_LisaIntro: @ 8296A77
.string "LISA: We challenge you as a sister\n"
.string "and brother!$"
-Route107_Text_296AA7: @ 8296AA7
+Route107_Text_LisaDefeated: @ 8296AA7
.string "LISA: Awesome.\n"
.string "You're in a different class of tough.$"
-Route107_Text_296ADC: @ 8296ADC
+Route107_Text_LisaPostBattle: @ 8296ADC
.string "LISA: Do you have any friends who\n"
.string "would go to the beach with you?$"
-Route107_Text_296B1E: @ 8296B1E
+Route107_Text_LisaNotEnoughPokemon: @ 8296B1E
.string "LISA: If you want to battle with us,\n"
.string "bring more POKéMON.$"
-Route107_Text_296B57: @ 8296B57
+Route107_Text_RayIntro: @ 8296B57
.string "RAY: We always battle POKéMON,\n"
.string "me and my sister.\p"
.string "I always lose, but we can beat you\n"
.string "2-on-2!$"
-Route107_Text_296BB3: @ 8296BB3
+Route107_Text_RayDefeated: @ 8296BB3
.string "RAY: Wowee, you're at a higher level\n"
.string "than us!$"
-Route107_Text_296BE1: @ 8296BE1
+Route107_Text_RayPostBattle: @ 8296BE1
.string "RAY: My sister gave me my POKéMON.\n"
.string "I raised it, and now it's my important\l"
.string "partner!$"
-Route107_Text_296C34: @ 8296C34
+Route107_Text_RayNotEnoughPokemon: @ 8296C34
.string "RAY: If you want to battle us,\n"
.string "go bring some more POKéMON!$"
-Route107_Text_296C6F: @ 8296C6F
+Route107_Text_CamronIntro: @ 8296C6F
.string "I'm in the middle of a triathlon,\n"
.string "but I'm nowhere near tired!$"
-Route107_Text_296CAD: @ 8296CAD
+Route107_Text_CamronDefeated: @ 8296CAD
.string "That exhausted me…$"
-Route107_Text_296CC0: @ 8296CC0
+Route107_Text_CamronPostBattle: @ 8296CC0
.string "I still have swimming and running left\n"
.string "to do after this.\p"
.string "Am I going to be okay?$"
-Route108_Text_296D10: @ 8296D10
+Route108_Text_JeromeIntro: @ 8296D10
.string "My dream is to swim the world's seven\n"
.string "seas!$"
-Route108_Text_296D3C: @ 8296D3C
+Route108_Text_JeromeDefeated: @ 8296D3C
.string "I won't be able to swim the seven seas\n"
.string "like this…$"
-Route108_Text_296D6E: @ 8296D6E
+Route108_Text_JeromePostBattle: @ 8296D6E
.string "Playing with marine POKéMON is one of\n"
.string "the pleasures of swimming!$"
-Route108_Text_296DAF: @ 8296DAF
+Route108_Text_MatthewIntro: @ 8296DAF
.string "Ahoy, there! Are you going out to\n"
.string "the ABANDONED SHIP, too?$"
-Route108_Text_296DEA: @ 8296DEA
+Route108_Text_MatthewDefeated: @ 8296DEA
.string "I'm sinking!\n"
.string "Glub… Glub…$"
-Route108_Text_296E03: @ 8296E03
+Route108_Text_MatthewPostBattle: @ 8296E03
.string "Some people even go inside that\n"
.string "ABANDONED SHIP.$"
-Route108_Text_296E33: @ 8296E33
+Route108_Text_TaraIntro: @ 8296E33
.string "My liar of a boyfriend told me that\n"
.string "I look great in a bikini…$"
-Route108_Text_296E71: @ 8296E71
+Route108_Text_TaraDefeated: @ 8296E71
.string "Oh, boo!$"
-Route108_Text_296E7A: @ 8296E7A
+Route108_Text_TaraPostBattle: @ 8296E7A
.string "Even if it's a lie, I love being told\n"
.string "I look great…\l"
.string "We girls are so complex…$"
-Route108_Text_296EC7: @ 8296EC7
+Route108_Text_MissyIntro: @ 8296EC7
.string "I love the sea!\n"
.string "I forget all my worries when I swim!$"
-Route108_Text_296EFC: @ 8296EFC
+Route108_Text_MissyDefeated: @ 8296EFC
.string "When I lose a battle, I get all\n"
.string "stressed out!$"
-Route108_Text_296F2A: @ 8296F2A
+Route108_Text_MissyPostBattle: @ 8296F2A
.string "Work off your stress by swimming!\n"
.string "It's so healthy!$"
-Route108_Text_296F5D: @ 8296F5D
+Route108_Text_CoryIntro: @ 8296F5D
.string "I love WATER-type POKéMON.\n"
.string "I love other POKéMON, too!$"
-Route108_Text_296F93: @ 8296F93
+Route108_Text_CoryDefeated: @ 8296F93
.string "Waaah! I lost!\n"
.string "Waaah! Waaah!$"
-Route108_Text_296FB0: @ 8296FB0
+Route108_Text_CoryPostBattle: @ 8296FB0
.string "Shouting is good for me!\n"
.string "It uplifts me!$"
-Route108_Text_296FD8: @ 8296FD8
+Route108_Text_CoryRegister: @ 8296FD8
.string "I love tough TRAINERS, too!\n"
.string "Register me in your POKéNAV!$"
-Route108_Text_297011: @ 8297011
+Route108_Text_CoryRematchIntro: @ 8297011
.string "Win or lose, I love battling at sea!$"
-Route108_Text_297036: @ 8297036
+Route108_Text_CoryRematchDefeated: @ 8297036
.string "Waaah! I lost again!\n"
.string "Waaah! Waaah!$"
-Route108_Text_297059: @ 8297059
+Route108_Text_CoryRematchPostBattle: @ 8297059
.string "If you're faced with a challenge,\n"
.string "try shouting at the sea!$"
-Route108_Text_297094: @ 8297094
+Route108_Text_CarolinaIntro: @ 8297094
.string "I take huge pride in my POKéMON.\n"
.string "We'll show you one speedy battle!$"
-Route108_Text_2970D7: @ 82970D7
+Route108_Text_CarolinaDefeated: @ 82970D7
.string "That wasn't cute at all.$"
-Route108_Text_2970F0: @ 82970F0
+Route108_Text_CarolinaPostBattle: @ 82970F0
.string "Since I'm at sea like this, I wouldn't\n"
.string "mind putting on a pink, frilly swimsuit…$"
-Route109_Text_297140: @ 8297140
+Route109_Text_DavidIntro: @ 8297140
.string "Hiyah! Look at my chiseled abs!\n"
.string "This is what you call “cut”!$"
-Route109_Text_29717D: @ 829717D
+Route109_Text_DavidDefeated: @ 829717D
.string "Aiyah!\n"
.string "Flubbed out!$"
-Route109_Text_297191: @ 8297191
+Route109_Text_DavidPostBattle: @ 8297191
.string "Hiyah!\p"
.string "My sculpted abs have nothing to do\n"
.string "with POKéMON battles!$"
-Route109_Text_2971D1: @ 82971D1
+Route109_Text_AliceIntro: @ 82971D1
.string "Are you properly protected against\n"
.string "the sun?$"
-Route109_Text_2971FD: @ 82971FD
+Route109_Text_AliceDefeated: @ 82971FD
.string "Ouch, ouch, ouch!$"
-Route109_Text_29720F: @ 829720F
+Route109_Text_AlicePostBattle: @ 829720F
.string "Cheeks are the most prone to burning!$"
-Route109_Text_297235: @ 8297235
+Route109_Text_HueyIntro: @ 8297235
.string "I've laid anchor in ports around\n"
.string "the world, but SLATEPORT's the best.$"
-Route109_Text_29727B: @ 829727B
+Route109_Text_HueyDefeated: @ 829727B
.string "You're the best!$"
-Route109_Text_29728C: @ 829728C
+Route109_Text_HueyPostBattle: @ 829728C
.string "In the best port was the best\n"
.string "TRAINER…$"
-Route109_Text_2972B3: @ 82972B3
+Route109_Text_EdmondIntro: @ 82972B3
.string "Urrrrppp…\n"
.string "Battle? With me?$"
-Route109_Text_2972CE: @ 82972CE
+Route109_Text_EdmondDefeated: @ 82972CE
.string "Urp… Ooooooohhhhhh…\n"
.string "Urrrrpppp…$"
-Route109_Text_2972ED: @ 82972ED
+Route109_Text_EdmondPostBattle: @ 82972ED
.string "I'm usually stronger than this!\n"
.string "I'm just seasick as a dog!\p"
.string "I'm a SAILOR, but…$"
-Route109_Text_29733B: @ 829733B
+Route109_Text_RickyIntro: @ 829733B
.string "I'm thirsty… I could go for a SODA POP\n"
.string "at the SEASHORE HOUSE…$"
-Route109_Text_297379: @ 8297379
+Route109_Text_RickyDefeated: @ 8297379
.string "Groan…$"
-Route109_Text_297380: @ 8297380
+Route109_Text_RickyPostBattle: @ 8297380
.string "I'm getting famished… My inner tube\n"
.string "looks like a giant doughnut…$"
-Route109_Text_2973C1: @ 82973C1
+Route109_Text_RickyRegister: @ 82973C1
.string "Will you have another match with me\n"
.string "when I'm not all thirsty?$"
-Route109_Text_2973FF: @ 82973FF
+Route109_Text_RickyRematchIntro: @ 82973FF
.string "I'm hungry, but I've got enough pep in\n"
.string "me for a battle!$"
-Route109_Text_297437: @ 8297437
+Route109_Text_RickyRematchDefeated: @ 8297437
.string "I lost…\n"
.string "It's because I'm hungry…$"
-Route109_Text_297458: @ 8297458
+Route109_Text_RickyRematchPostBattle: @ 8297458
.string "When you eat on a beach, everything\n"
.string "seems to taste a little better.$"
-Route109_Text_29749C: @ 829749C
+Route109_Text_LolaIntro: @ 829749C
.string "Doesn't a beach umbrella look like\n"
.string "a giant flower?$"
-Route109_Text_2974CF: @ 82974CF
+Route109_Text_LolaDefeated: @ 82974CF
.string "Mommy!$"
-Route109_Text_2974D6: @ 82974D6
+Route109_Text_LolaPostBattle: @ 82974D6
.string "If you look at the beach from the sky,\n"
.string "it looks like a big flower garden!$"
-Route109_Text_297520: @ 8297520
+Route109_Text_LolaRegister: @ 8297520
.string "Me?\n"
.string "I'm here every day!$"
-Route109_Text_297538: @ 8297538
+Route109_Text_LolaRematchIntro: @ 8297538
.string "I'm not losing to you again!\n"
.string "That's why I have my inner tube!$"
-Route109_Text_297576: @ 8297576
+Route109_Text_LolaRematchDefeated: @ 8297576
.string "Mommy!$"
-Route109_Text_29757D: @ 829757D
+Route109_Text_LolaRematchPostBattle: @ 829757D
.string "If I have an inner tube, me and my\n"
.string "POKéMON's cuteness goes way up!$"
-Route109_Text_2975C0: @ 82975C0
+Route109_Text_AustinaIntro: @ 82975C0
.string "I can't swim without my inner tube,\n"
.string "but I won't lose at POKéMON!$"
-Route109_Text_297601: @ 8297601
+Route109_Text_AustinaDefeated: @ 8297601
.string "Did I lose because I have an inner\n"
.string "tube?$"
-Route109_Text_29762A: @ 829762A
+Route109_Text_AustinaPostBattle: @ 829762A
.string "My inner tube is a fashion item.\n"
.string "I can't be seen without it.$"
-Route109_Text_297667: @ 8297667
+Route109_Text_GwenIntro: @ 8297667
.string "Hi, big TRAINER.\n"
.string "Will you battle with me?$"
-Route109_Text_297691: @ 8297691
+Route109_Text_GwenDefeated: @ 8297691
.string "Oh, you're strong.$"
-Route109_Text_2976A4: @ 82976A4
+Route109_Text_GwenPostBattle: @ 82976A4
.string "How did you get to be so strong?$"
-Route109_Text_2976C5: @ 82976C5
+Route109_Text_CarterIntro: @ 82976C5
.string "Wahahah! This dude's going to catch\n"
.string "himself a big one!$"
-Route109_Text_2976FC: @ 82976FC
+Route109_Text_CarterDefeated: @ 82976FC
.string "This dude just lost one…$"
-Route109_Text_297715: @ 8297715
+Route109_Text_CarterPostBattle: @ 8297715
.string "This dude thinks you're a big one.\n"
.string "No, you're a big-one-to-be!$"
-Route109_Text_297754: @ 8297754
+Route109_Text_PaulIntro: @ 8297754
.string "PAUL: Well, this is a mood-breaker.\p"
.string "I wish you wouldn't disturb our\n"
.string "precious time together.$"
-Route109_Text_2977B0: @ 82977B0
+Route109_Text_PaulDefeated: @ 82977B0
.string "PAUL: Well, I give up.$"
-Route109_Text_2977C7: @ 82977C7
+Route109_Text_PaulPostBattle: @ 82977C7
.string "PAUL: Well, don't tell anyone that\n"
.string "we're here.\l"
.string "This is just our private world of two!$"
-Route109_Text_29781D: @ 829781D
+Route109_Text_PaulNotEnoughPokemon: @ 829781D
.string "PAUL: We're totally, deeply in love.\n"
.string "That's why we make our POKéMON battle\l"
.string "together.$"
-Route109_Text_297872: @ 8297872
+Route109_Text_MelIntro: @ 8297872
.string "MEL: We're, like, totally in love.\n"
.string "Our romance is heating up all of HOENN!$"
-Route109_Text_2978BD: @ 82978BD
+Route109_Text_MelDefeated: @ 82978BD
.string "MEL: We lost, and it's my fault!\n"
.string "PAUL will hate me!$"
-Route109_Text_2978F1: @ 82978F1
+Route109_Text_MelPostBattle: @ 82978F1
.string "MEL: Um, PAUL, are you angry with me?\n"
.string "Please don't be angry.$"
-Route109_Text_29792E: @ 829792E
+Route109_Text_MelNotEnoughPokemon: @ 829792E
.string "MEL: We're, like, deeply and truly in love.\n"
.string "That's why we make our POKéMON\l"
.string "battle together.$"
-Route109_Text_29798A: @ 829798A
+Route109_Text_ChandlerIntro: @ 829798A
.string "Tadaah! See?\n"
.string "My inner tube's round!$"
-Route109_Text_2979AE: @ 82979AE
+Route109_Text_ChandlerDefeated: @ 82979AE
.string "Oh, oh!\n"
.string "Too bad!$"
-Route109_Text_2979BF: @ 82979BF
+Route109_Text_ChandlerPostBattle: @ 82979BF
.string "After I showed you my round inner\n"
.string "tube, too…$"
-Route109_Text_2979EC: @ 82979EC
+Route109_Text_HaileyIntro: @ 82979EC
.string "I can't swim, so I'm pretending\n"
.string "to swim.$"
-Route109_Text_297A15: @ 8297A15
+Route109_Text_HaileyDefeated: @ 8297A15
.string "I thought so!\n"
.string "I didn't think we could win.$"
-Route109_Text_297A40: @ 8297A40
+Route109_Text_HaileyPostBattle: @ 8297A40
.string "When I learn how to swim, I think\n"
.string "my POKéMON will become tougher.$"
-Route109_Text_297A82: @ 8297A82
+Route109_Text_ElijahIntro: @ 8297A82
.string "For a guy as macho as me, this kind\n"
.string "of POKéMON is the perfect match!$"
-Route109_Text_297AC7: @ 8297AC7
+Route109_Text_ElijahDefeated: @ 8297AC7
.string "I'm cool even in defeat, hey?$"
-Route109_Text_297AE5: @ 8297AE5
+Route109_Text_ElijahPostBattle: @ 8297AE5
.string "For a guy as macho as me, a port\n"
.string "is the perfect setting!\p"
.string "I guess I'll head for SLATEPORT.$"
-Route110_Text_297B3F: @ 8297B3F
+Route110_Text_JacobIntro: @ 8297B3F
.string "Whoa! Watch it!\n"
.string "I guess you're not used to BIKE racing.$"
-Route110_Text_297B77: @ 8297B77
+Route110_Text_JacobDefeated: @ 8297B77
.string "Whoa!\n"
.string "My brakes failed!$"
-Route110_Text_297B8F: @ 8297B8F
+Route110_Text_JacobPostBattle: @ 8297B8F
.string "Flat tires and brake problems can\n"
.string "cause serious injury!\l"
.string "Inspect your BIKE for problems!$"
-Route110_Text_297BE7: @ 8297BE7
+Route110_Text_AnthonyIntro: @ 8297BE7
.string "Yo, you!\n"
.string "Can you keep up with my speed?$"
-Route110_Text_297C0F: @ 8297C0F
+Route110_Text_AnthonyDefeated: @ 8297C0F
.string "Crash and burn!$"
-Route110_Text_297C1F: @ 8297C1F
+Route110_Text_AnthonyPostBattle: @ 8297C1F
.string "Speed alone won't let me win at POKéMON.\n"
.string "I need to reconsider this…$"
-Route110_Text_297C63: @ 8297C63
+Route110_Text_BenjaminIntro: @ 8297C63
.string "Don't panic if your BIKE's going fast!$"
-Route110_Text_297C8A: @ 8297C8A
+Route110_Text_BenjaminDefeated: @ 8297C8A
.string "I shouldn't panic during POKéMON\n"
.string "battles…$"
-Route110_Text_297CB4: @ 8297CB4
+Route110_Text_BenjaminPostBattle: @ 8297CB4
.string "There's no need to panic or stress.\n"
.string "Take it easy. There's plenty of time.$"
-Route110_Text_297CFE: @ 8297CFE
+Route110_Text_BenjaminRegister: @ 8297CFE
.string "I'll keep chugging on without stressing.\n"
.string "Give me a shout if you're up to it.$"
-Route110_Text_297D4B: @ 8297D4B
+Route110_Text_BenjaminRematchIntro: @ 8297D4B
.string "Aren't you going a little too fast?\n"
.string "Take it easy and let's battle.$"
-Route110_Text_297D8E: @ 8297D8E
+Route110_Text_BenjaminRematchDefeated: @ 8297D8E
.string "I didn't panic, but I still lost…$"
-Route110_Text_297DB0: @ 8297DB0
+Route110_Text_BenjaminRematchPostBattle: @ 8297DB0
.string "There's no need to panic or stress.\n"
.string "Take it easy. There's plenty of time.$"
-Route110_Text_297DFA: @ 8297DFA
+Route110_Text_AbigailIntro: @ 8297DFA
.string "The triathlon is hard in the extreme.\p"
.string "You have to complete the three events\n"
.string "of swimming, cycling, and running.$"
-Route110_Text_297E69: @ 8297E69
+Route110_Text_AbigailDefeated: @ 8297E69
.string "POKéMON battles are hard, too!$"
-Route110_Text_297E88: @ 8297E88
+Route110_Text_AbigailPostBattle: @ 8297E88
.string "I'm exhausted, so I need a break.\n"
.string "It's important to get proper rest.$"
-Route110_Text_297ECD: @ 8297ECD
+Route110_Text_AbigailRegister: @ 8297ECD
.string "You know, I like you!\n"
.string "Let's have a rematch on CYCLING ROAD.$"
-Route110_Text_297F09: @ 8297F09
+Route110_Text_AbigailRematchIntro: @ 8297F09
.string "Isn't it neat to hold a battle while\n"
.string "cycling?$"
-Route110_Text_297F37: @ 8297F37
+Route110_Text_AbigailRematchDefeated: @ 8297F37
.string "Wow…\n"
.string "How could you be so strong?$"
-Route110_Text_297F58: @ 8297F58
+Route110_Text_AbigailRematchPostBattle: @ 8297F58
.string "Were you going after a record?\p"
.string "I'm sorry if I held you up!$"
-Route110_Text_297F93: @ 8297F93
+Route110_Text_JasmineIntro: @ 8297F93
.string "I've been riding without stopping.\n"
.string "My thighs are like rocks!$"
-Route110_Text_297FD0: @ 8297FD0
+Route110_Text_JasmineDefeated: @ 8297FD0
.string "I'm worried about muscle cramps…$"
-Route110_Text_297FF1: @ 8297FF1
+Route110_Text_JasminePostBattle: @ 8297FF1
.string "Oh, you have some GYM BADGES?\n"
.string "No wonder you're so strong!$"
-Route110_Text_29802B: @ 829802B
+Route110_Text_EdwardIntro: @ 829802B
.string "I have foreseen your intentions!\n"
.string "I cannot possibly lose!$"
-Route110_Text_298064: @ 8298064
+Route110_Text_EdwardDefeated: @ 8298064
.string "I failed to prophesize my own demise!$"
-Route110_Text_29808A: @ 829808A
+Route110_Text_EdwardPostBattle: @ 829808A
.string "I see your future…\p"
.string "Hmm…\n"
.string "I see a shining light…$"
-Route110_Text_2980B9: @ 82980B9
+Route110_Text_JaclynIntro: @ 82980B9
.string "Ahahahaha!\n"
.string "I'll dazzle you with my wonders!$"
-Route110_Text_2980E5: @ 82980E5
+Route110_Text_JaclynDefeated: @ 82980E5
.string "I wondrously lost!$"
-Route110_Text_2980F8: @ 82980F8
+Route110_Text_JaclynPostBattle: @ 82980F8
.string "You managed to win only because it was\n"
.string "a wonder! Yes, a wonder!\l"
.string "Don't think you can win all the time!$"
-Route110_Text_29815E: @ 829815E
+Route110_Text_EdwinIntro: @ 829815E
.string "Could I see your POKéMON?\n"
.string "Just one look, please?$"
-Route110_Text_29818F: @ 829818F
+Route110_Text_EdwinDefeated: @ 829818F
.string "I wanted to complete\n"
.string "my collection…$"
-Route110_Text_2981B3: @ 82981B3
+Route110_Text_EdwinPostBattle: @ 82981B3
.string "When I see a POKéMON that I don't know,\n"
.string "my passion as a collector is ignited!$"
-Route110_Text_298201: @ 8298201
+Route110_Text_EdwinRegister: @ 8298201
.string "I like collecting MATCH CALL\n"
.string "registrations, too…$"
-Route110_Text_298232: @ 8298232
+Route110_Text_EdwinRematchIntro: @ 8298232
.string "Hi, have you caught any new POKéMON?\p"
.string "Could I see your POKéMON?\n"
.string "Just one look, please?$"
-Route110_Text_298288: @ 8298288
+Route110_Text_EdwinRematchDefeated: @ 8298288
.string "Your POKéMON…\n"
.string "I envy you.$"
-Route110_Text_2982A2: @ 82982A2
+Route110_Text_EdwinRematchPostBattle: @ 82982A2
.string "Oh, I long to make all rare POKéMON\n"
.string "mine!$"
-Route110_Text_2982CC: @ 82982CC
+Route110_Text_DaleIntro: @ 82982CC
.string "Hey!\n"
.string "Don't sneak up behind me like that!$"
-Route110_Text_2982F5: @ 82982F5
+Route110_Text_DaleDefeated: @ 82982F5
.string "I lost!\n"
.string "Drat!$"
-Route110_Text_298303: @ 8298303
+Route110_Text_DalePostBattle: @ 8298303
.string "Fishing is all about concentration.\n"
.string "You have to focus on the floater.$"
-Route110_Text_298349: @ 8298349
+Route110_Text_IsabelIntro: @ 8298349
.string "Ahahaha! I would go anywhere to show\n"
.string "off my delightful POKéMON.$"
-Route110_Text_298389: @ 8298389
+Route110_Text_IsabelDefeated: @ 8298389
.string "Oh, dear, this won't do.$"
-Route110_Text_2983A2: @ 82983A2
+Route110_Text_IsabelPostBattle: @ 82983A2
.string "Rather than battling, perhaps I should\n"
.string "show off my POKéMON at the FAN CLUB.$"
-Route110_Text_2983EE: @ 82983EE
+Route110_Text_IsabelRegister: @ 82983EE
.string "That wasn't close to what I could\n"
.string "do to show off my POKéMON.\p"
.string "I'll have you as my captive audience\n"
.string "as often as possible!$"
-Route110_Text_298466: @ 8298466
+Route110_Text_IsabelRematchIntro: @ 8298466
.string "Ahahahaha! I would be happy to show\n"
.string "off my POKéMON as often as you like!$"
-Route110_Text_2984AF: @ 82984AF
+Route110_Text_IsabelRematchDefeated: @ 82984AF
.string "Oh, dear, this won't do.$"
-Route110_Text_2984C8: @ 82984C8
+Route110_Text_IsabelRematchPostBattle: @ 82984C8
.string "I don't think that I could ever stop\n"
.string "from showing off my POKéMON.\p"
.string "But I like to battle, too!$"
-Route110_Text_298525: @ 8298525
+Route110_Text_TimmyIntro: @ 8298525
.string "I found some cool POKéMON in the grass\n"
.string "around here!$"
-Route110_Text_298559: @ 8298559
+Route110_Text_TimmyDefeated: @ 8298559
.string "Being cool isn't enough to win…$"
-Route110_Text_298579: @ 8298579
+Route110_Text_TimmyPostBattle: @ 8298579
.string "It's hard to battle with POKéMON you\n"
.string "just caught.$"
-Route110_Text_2985AB: @ 82985AB
+Route110_Text_AlyssaIntro: @ 82985AB
.string "I fell off CYCLING ROAD…\p"
.string "I'll get over my embarrassment by\n"
.string "battling with you!$"
-Route110_Text_2985F9: @ 82985F9
+Route110_Text_AlyssaDefeated: @ 82985F9
.string "Oops!\n"
.string "I ended up losing!$"
-Route110_Text_298612: @ 8298612
+Route110_Text_AlyssaPostBattle: @ 8298612
.string "Falling… Losing…\n"
.string "This is so humiliating for me!$"
-Route110_Text_298642: @ 8298642
+Route110_Text_JosephIntro: @ 8298642
.string "Okay! Full-throttle time! If you can't\n"
.string "groove, you get left behind!$"
-Route110_Text_298686: @ 8298686
+Route110_Text_JosephDefeated: @ 8298686
.string "You got into the groove all right…$"
-Route110_Text_2986A9: @ 82986A9
+Route110_Text_JosephPostBattle: @ 82986A9
.string "This isn't going to bring me down!\n"
.string "Losing has made me a better man!$"
-Route110_Text_2986ED: @ 82986ED
+Route110_Text_KalebIntro: @ 82986ED
.string "When cute POKéMON help each other…\n"
.string "You won't see a more adorable sight!$"
-Route110_Text_298735: @ 8298735
+Route110_Text_KalebDefeated: @ 8298735
.string "Have you no compassion or pity?$"
-Route110_Text_298755: @ 8298755
+Route110_Text_KalebPostBattle: @ 8298755
.string "Okay, okay, you've done the best you\n"
.string "could, my pretties.$"
-Route111_Text_29878E: @ 829878E
+Route111_Text_DrewIntro: @ 829878E
.string "Oh, hey! Those GO-GOGGLES suit you.\n"
.string "But I think they look better on me.\p"
.string "Let's decide who they look better on\n"
.string "with a battle!$"
-Route111_Text_29880A: @ 829880A
+Route111_Text_DrewDefeat: @ 829880A
.string "I couldn't see what was happening at\n"
.string "my sides because of the GO-GOGGLES.$"
-Route111_Text_298853: @ 8298853
+Route111_Text_DrewPostBattle: @ 8298853
.string "The GO-GOGGLES make it possible to\n"
.string "get through sandstorms.\l"
.string "That makes me happy!$"
-Route111_Text_2988A3: @ 82988A3
+Route111_Text_HeidiIntro: @ 82988A3
.string "I'm having a picnic in the desert.\p"
.string "You can always find a TRAINER,\n"
.string "so I can enjoy a battle here, too!$"
-Route111_Text_298908: @ 8298908
+Route111_Text_HeidiDefeat: @ 8298908
.string "Ohhh! You're mean!$"
-Route111_Text_29891B: @ 829891B
+Route111_Text_HeidiPostBattle: @ 829891B
.string "When you're battling in a sandstorm,\n"
.string "watch out for your POKéMON's HP.\p"
.string "It can faint if you don't keep\n"
.string "an eye on it!$"
-Route111_Text_29898E: @ 829898E
+Route111_Text_BeauIntro: @ 829898E
.string "Wearing these GO-GOGGLES makes me\n"
.string "feel like a superhero.\l"
.string "Right now, nobody can beat me!$"
-Route111_Text_2989E6: @ 82989E6
+Route111_Text_BeauDefeat: @ 82989E6
.string "I can't win on spirit alone…$"
-Route111_Text_298A03: @ 8298A03
+Route111_Text_BeauPostBattle: @ 8298A03
.string "I'm going to be a real hero one day.\n"
.string "I'm going to work harder to make me\l"
.string "and my POKéMON stronger.$"
-Route111_Text_298A65: @ 8298A65
+Route111_Text_BeckyIntro: @ 8298A65
.string "I heard there are fossils to be found\n"
.string "in the desert. Where could they be?$"
-Route111_Text_298AAF: @ 8298AAF
+Route111_Text_BeckyDefeat: @ 8298AAF
.string "I came up short…$"
-Route111_Text_298AC0: @ 8298AC0
+Route111_Text_BeckyPostBattle: @ 8298AC0
.string "If they can find fossils in the desert,\n"
.string "it must have been a sea before.$"
-Route111_Text_298B08: @ 8298B08
+Route111_Text_DustyIntro: @ 8298B08
.string "For thirty years I have searched for\n"
.string "ancient ruins!\l"
.string "I am to be challenged?$"
-Route111_Text_298B53: @ 8298B53
+Route111_Text_DustyDefeat: @ 8298B53
.string "While I have searched for ruins,\n"
.string "I've not searched for strong POKéMON.$"
-Route111_Text_298B9A: @ 8298B9A
+Route111_Text_DustyPostBattle: @ 8298B9A
.string "For thirty years I have searched for\n"
.string "ancient ruins!\p"
.string "No, wait, was that forty years?\n"
.string "Which was it now?$"
-Route111_Text_298C00: @ 8298C00
+Route111_Text_DustyRegister: @ 8298C00
.string "I haven't been searching for any\n"
.string "tough POKéMON.\p"
.string "But, for some reason, I sure do like\n"
.string "POKéNAVS.$"
-Route111_Text_298C5F: @ 8298C5F
+Route111_Text_DustyRematchIntro: @ 8298C5F
.string "For thirty years I have searched for\n"
.string "ancient ruins!\p"
.string "No, wait, was that forty years?\n"
.string "Anyway, am I to be challenged?$"
-Route111_Text_298CD2: @ 8298CD2
+Route111_Text_DustyRematchDefeat: @ 8298CD2
.string "I've found no ruins, nor have I found\n"
.string "any strong POKéMON…$"
-Route111_Text_298D0C: @ 8298D0C
+Route111_Text_DustyPostRematch: @ 8298D0C
.string "For thirty years I have searched for\n"
.string "ancient ruins!\p"
.string "No, wait, was that forty years\n"
@@ -1324,215 +1324,215 @@ Route111_Text_298D0C: @ 8298D0C
.string "Hmm… It could even be fifty…\n"
.string "How long have I been at this?$"
-Route111_Text_298DA9: @ 8298DA9
+Route111_Text_TravisIntro: @ 8298DA9
.string "I'm full of pep!\n"
.string "And my POKéMON is peppy, too!$"
-Route111_Text_298DD8: @ 8298DD8
+Route111_Text_TravisDefeat: @ 8298DD8
.string "My POKéMON lost its pep…$"
-Route111_Text_298DF1: @ 8298DF1
+Route111_Text_TravisPostBattle: @ 8298DF1
.string "When I see a TRAINER with a lot of pep,\n"
.string "I can't help looking.$"
-Route111_Text_298E2F: @ 8298E2F
+Route111_Text_IreneIntro: @ 8298E2F
.string "I don't know where you're going,\n"
.string "but would you like to battle?$"
-Route111_Text_298E6E: @ 8298E6E
+Route111_Text_IreneDefeat: @ 8298E6E
.string "Oh, you're disgustingly good!$"
-Route111_Text_298E8C: @ 8298E8C
+Route111_Text_IrenePostBattle: @ 8298E8C
.string "I'm thinking that I should go to\n"
.string "MT. CHIMNEY, but the view around\l"
.string "here is very nice, too.$"
-Route111_Text_298EE6: @ 8298EE6
+Route111_Text_DaisukeIntro: @ 8298EE6
.string "To train myself, I challenge all\n"
.string "whom I meet!$"
-Route111_Text_298F14: @ 8298F14
+Route111_Text_DaisukeDefeat: @ 8298F14
.string "Uncle! I give up!$"
-Route111_Text_298F26: @ 8298F26
+Route111_Text_DaisukePostBattle: @ 8298F26
.string "All I can do is keep training until\n"
.string "I can defeat strong TRAINERS such\l"
.string "as yourself.$"
-Route111_Text_298F79: @ 8298F79
+Route111_Text_WiltonIntro: @ 8298F79
.string "Show me how much you've toughened\n"
.string "your POKéMON.$"
-Route111_Text_298FA9: @ 8298FA9
+Route111_Text_WiltonDefeat: @ 8298FA9
.string "I see, you've toughened them\n"
.string "considerably.$"
-Route111_Text_298FD4: @ 8298FD4
+Route111_Text_WiltonPostBattle: @ 8298FD4
.string "POKéMON and TRAINERS learn much\n"
.string "through battling.\p"
.string "What's important is to never give up\n"
.string "even if you lose.$"
-Route111_Text_29903D: @ 829903D
+Route111_Text_WiltonRegister: @ 829903D
.string "There is much to be learned from\n"
.string "your training style.\p"
.string "I request a rematch if it\n"
.string "behooves you.$"
-Route111_Text_29909B: @ 829909B
+Route111_Text_WiltonRematchIntro: @ 829909B
.string "We're training here to elevate our\n"
.string "game to the next level.\l"
.string "Stay and train with us!$"
-Route111_Text_2990EE: @ 82990EE
+Route111_Text_WiltonRematchDefeat: @ 82990EE
.string "Ooh, you're decent!$"
-Route111_Text_299102: @ 8299102
+Route111_Text_WiltonPostRematch: @ 8299102
.string "Since you're that strong, you should\n"
.string "aim for the POKéMON LEAGUE.$"
-Route111_Text_299143: @ 8299143
+Route111_Text_BrookeIntro: @ 8299143
.string "Oh, your POKéMON look like serious\n"
.string "actors.\l"
.string "I have to ask you for an engagement.$"
-Route111_Text_299193: @ 8299193
+Route111_Text_BrookeDefeat: @ 8299193
.string "They didn't just look strong,\n"
.string "they are strong!$"
-Route111_Text_2991C2: @ 82991C2
+Route111_Text_BrookePostBattle: @ 82991C2
.string "I thought I was raising my POKéMON\n"
.string "diligently, but, oh no, there is still\l"
.string "much to be done.$"
-Route111_Text_29921D: @ 829921D
+Route111_Text_BrookeRegister: @ 829921D
.string "I wish I could become friends with\n"
.string "more strong people like you!$"
-Route111_Text_29925D: @ 829925D
+Route111_Text_BrookeRematchIntro: @ 829925D
.string "You can make POKéMON stronger or\n"
.string "weaker depending on the moves you\l"
.string "teach them.\p"
.string "What kinds of moves do your POKéMON\n"
.string "know?$"
-Route111_Text_2992D6: @ 82992D6
+Route111_Text_BrookeRematchDefeat: @ 82992D6
.string "You've taught them good moves!$"
-Route111_Text_2992F5: @ 82992F5
+Route111_Text_BrookePostRematch: @ 82992F5
.string "Maybe I should have stopped my\n"
.string "POKéMON from evolving until they\l"
.string "learned better moves…$"
-Route111_Text_29934B: @ 829934B
+Route111_Text_CeliaIntro: @ 829934B
.string "I shouldn't have come to a place like\n"
.string "this for a picnic!$"
-Route111_Text_299384: @ 8299384
+Route111_Text_CeliaDefeat: @ 8299384
.string "Aww!\n"
.string "I really shouldn't have come!$"
-Route111_Text_2993A7: @ 82993A7
+Route111_Text_CeliaPostBattle: @ 82993A7
.string "In a sandstorm like this, I can't set\n"
.string "the places for a picnic even with my\l"
.string "GO-GOGGLES on…$"
-Route111_Text_299401: @ 8299401
+Route111_Text_BryanIntro: @ 8299401
.string "How tough are you?\n"
.string "We shall expose that secret!$"
-Route111_Text_299431: @ 8299431
+Route111_Text_BryanDefeat: @ 8299431
.string "Oh! Your strength!\n"
.string "It is shrouded in mystery!$"
-Route111_Text_29945F: @ 829945F
+Route111_Text_BryanPostBattle: @ 829945F
.string "This desert hoards mysteries in\n"
.string "its shifting sands!$"
-Route111_Text_299493: @ 8299493
+Route111_Text_BrandenIntro: @ 8299493
.string "I'll give you some of my sandwich\n"
.string "if you'll lose.$"
-Route111_Text_2994C5: @ 82994C5
+Route111_Text_BrandenDefeat: @ 82994C5
.string "Tch! I thought a sandwich would be\n"
.string "enough of a bribe…$"
-Route111_Text_2994FB: @ 82994FB
+Route111_Text_BrandenPostBattle: @ 82994FB
.string "My SANDSHREW loves eating\n"
.string "my sandwiches.$"
-Route111_Text_299524: @ 8299524
+Route111_Text_TyronIntro: @ 8299524
.string "This is my favorite kind of POKéMON!$"
-Route111_Text_299549: @ 8299549
+Route111_Text_TyronDefeat: @ 8299549
.string "Wait!\n"
.string "Did you get a good look at my POKéMON?$"
-Route111_Text_299576: @ 8299576
+Route111_Text_TyronPostBattle: @ 8299576
.string "When having a battle, I get a kick out\n"
.string "of showing off my POKéMON.\p"
.string "I bet everyone feels that way when\n"
.string "they enter a battle!$"
-Route111_Text_2995F0: @ 82995F0
+Route111_Text_CelinaIntro: @ 82995F0
.string "Show me how to put a little excitement\n"
.string "into my life.$"
-Route111_Text_299625: @ 8299625
+Route111_Text_CelinaDefeat: @ 8299625
.string "Oh… My…\n"
.string "That was too much excitement.$"
-Route111_Text_29964B: @ 829964B
+Route111_Text_CelinaPostBattle: @ 829964B
.string "My pulse is still racing.\n"
.string "You're one fabulous TRAINER.$"
-Route111_Text_299682: @ 8299682
+Route111_Text_HaydenIntro: @ 8299682
.string "When you're as famished as I am,\n"
.string "there is no room for pity!$"
-Route111_Text_2996BE: @ 82996BE
+Route111_Text_HaydenDefeat: @ 82996BE
.string "Groan…$"
-Route111_Text_2996C5: @ 82996C5
+Route111_Text_HaydenPostBattle: @ 82996C5
.string "My stomach is grumbling!\n"
.string "Maybe I can grill some BERRIES…$"
-Route111_Text_2996FE: @ 82996FE
+Route111_Text_BiancaIntro: @ 82996FE
.string "Did you come from MAUVILLE?\n"
.string "Then you should be full of energy!$"
-Route111_Text_29973D: @ 829973D
+Route111_Text_BiancaDefeat: @ 829973D
.string "Ooh lala!\n"
.string "That's a lot to take!$"
-Route111_Text_29975D: @ 829975D
+Route111_Text_BiancaPostBattle: @ 829975D
.string "This road here…\n"
.string "You have quite a ways to travel.$"
-Route112_Text_29978E: @ 829978E
+Route112_Text_BriceIntro: @ 829978E
.string "Hahahaha!\n"
.string "How about we have a battle?\l"
.string "You and me!\l"
.string "Hahahaha!$"
-Route112_Text_2997CA: @ 82997CA
+Route112_Text_BriceDefeat: @ 82997CA
.string "I lost!\n"
.string "Hahahaha!$"
-Route112_Text_2997DC: @ 82997DC
+Route112_Text_BricePostBattle: @ 82997DC
.string "Hahahahaha! Something flew up my nose!\n"
.string "Hahahaha-hatchoo!$"
-Route112_Text_299815: @ 8299815
+Route112_Text_TrentIntro: @ 8299815
.string "My legs are solid from pounding up\n"
.string "and down the mountains.\p"
.string "They're not going to buckle easily,\n"
.string "friend!$"
-Route112_Text_29987C: @ 829987C
+Route112_Text_TrentDefeat: @ 829987C
.string "Ouch! My legs cramped up!$"
-Route112_Text_299896: @ 8299896
+Route112_Text_TrentPostBattle: @ 8299896
.string "Try hiking, and I mean really\n"
.string "pounding, on these mountain trails\l"
.string "with a heavy pack weighing dozens of\l"
@@ -1540,2318 +1540,2318 @@ Route112_Text_299896: @ 8299896
.string "That, my friend, will get your body\n"
.string "into serious shape.$"
-Route112_Text_29993C: @ 829993C
+Route112_Text_TrentRegister: @ 829993C
.string "Ow, my legs have cramped up.\n"
.string "Can you grab me some bandages from\l"
.string "my backpack?\p"
.string "No, that's my POKéNAV!\n"
.string "Oh, fine, I'll register you.$"
-Route112_Text_2999BD: @ 82999BD
+Route112_Text_TrentRematchIntro: @ 82999BD
.string "I've been keeping fit by hiking.\n"
.string "Power, I have in spades!$"
-Route112_Text_2999F7: @ 82999F7
+Route112_Text_TrentRematchDefeat: @ 82999F7
.string "I got trumped in power?$"
-Route112_Text_299A0F: @ 8299A0F
+Route112_Text_TrentRematchPostBattle: @ 8299A0F
.string "I hear there are some seriously tough\n"
.string "TRAINERS on top of MT. CHIMNEY.\p"
.string "I intend to get up there and give them\n"
.string "a challenge!$"
-Route112_Text_299A89: @ 8299A89
+Route112_Text_LarryIntro: @ 8299A89
.string "I'm strong.\n"
.string "I won't cry if I lose.$"
-Route112_Text_299AAC: @ 8299AAC
+Route112_Text_LarryDefeat: @ 8299AAC
.string "Waaaah!$"
-Route112_Text_299AB4: @ 8299AB4
+Route112_Text_LarryPostBattle: @ 8299AB4
.string "I'm not crying because I miss my mommy!\n"
.string "Snivel…$"
-Route112_Text_299AE4: @ 8299AE4
+Route112_Text_CarolIntro: @ 8299AE4
.string "When you're out on a picnic, why,\n"
.string "you simply have to sing!\l"
.string "Come on, sing with me!$"
-Route112_Text_299B36: @ 8299B36
+Route112_Text_CarolDefeat: @ 8299B36
.string "Oh, you're so strong!$"
-Route112_Text_299B4C: @ 8299B4C
+Route112_Text_CarolPostBattle: @ 8299B4C
.string "It doesn't matter if you're good or bad\n"
.string "at singing or POKéMON.\p"
.string "If you have the most fun, you win!$"
-Route112_Text_299BAE: @ 8299BAE
+Route112_Text_BryantIntro: @ 8299BAE
.string "I caught hot POKéMON in FIERY PATH!\n"
.string "Take a look!$"
-Route112_Text_299BDF: @ 8299BDF
+Route112_Text_BryantDefeat: @ 8299BDF
.string "What a bumpy ride that was!$"
-Route112_Text_299BFB: @ 8299BFB
+Route112_Text_BryantPostBattle: @ 8299BFB
.string "I like the way you battle.\n"
.string "It has a certain flair to it.$"
-Route112_Text_299C34: @ 8299C34
+Route112_Text_ShaylaIntro: @ 8299C34
.string "Oh, aren't you an adorable TRAINER!\n"
.string "Please, I need a romantic battle!\l"
.string "I'm somewhat decent!$"
-Route112_Text_299C8F: @ 8299C8F
+Route112_Text_ShaylaDefeat: @ 8299C8F
.string "Oh, how strong you are!\n"
.string "You've given me quite a shock!$"
-Route112_Text_299CC6: @ 8299CC6
+Route112_Text_ShaylaPostBattle: @ 8299CC6
.string "Are you busy right now?\n"
.string "I was thinking that maybe we can have\l"
.string "a rematch right now…\l"
.string "But it's all right if you're busy.$"
-Route113_Text_299D3C: @ 8299D3C
+Route113_Text_JaylenIntro: @ 8299D3C
.string "Can you guess why it's so cool\n"
.string "around here?$"
-Route113_Text_299D68: @ 8299D68
+Route113_Text_JaylenDefeat: @ 8299D68
.string "Peeuuw!\n"
.string "That stinks!$"
-Route113_Text_299D7D: @ 8299D7D
+Route113_Text_JaylenPostBattle: @ 8299D7D
.string "The volcanic ash blocks the sun,\n"
.string "so it doesn't get very warm.\p"
.string "That's good for me--I can't stand heat!$"
-Route113_Text_299DE3: @ 8299DE3
+Route113_Text_DillonIntro: @ 8299DE3
.string "The volcano's eruption is proof that\n"
.string "the earth is alive.$"
-Route113_Text_299E1C: @ 8299E1C
+Route113_Text_DillonDefeat: @ 8299E1C
.string "You're some kind of strong!$"
-Route113_Text_299E38: @ 8299E38
+Route113_Text_DillonPostBattle: @ 8299E38
.string "Ouch! Owww! I can't see!\n"
.string "I got ashes in my eyelashes!\p"
.string "Get it? Ashes and eyelashes?\p"
.string "Okay, that was bad, sorry…$"
-Route113_Text_299EA6: @ 8299EA6
+Route113_Text_MadelineIntro: @ 8299EA6
.string "I use this parasol to ward off this\n"
.string "filthy, yucky volcanic ash from\l"
.string "my dear NUMEL.$"
-Route113_Text_299EF9: @ 8299EF9
+Route113_Text_MadelineDefeat: @ 8299EF9
.string "Huff, huff…\n"
.string "I am exhausted…$"
-Route113_Text_299F15: @ 8299F15
+Route113_Text_MadelinePostBattle: @ 8299F15
.string "You're very good at this.\n"
.string "I must say I'm impressed!$"
-Route113_Text_299F49: @ 8299F49
+Route113_Text_MadelineRegister: @ 8299F49
.string "Here, slide under my parasol.\n"
.string "Let me register you in my POKéNAV.$"
-Route113_Text_299F8A: @ 8299F8A
+Route113_Text_MadelineRematchIntro: @ 8299F8A
.string "Oh, hello, hasn't it been a while?\n"
.string "May I invite you to battle?$"
-Route113_Text_299FC9: @ 8299FC9
+Route113_Text_MadelineRematchDefeat: @ 8299FC9
.string "Oh, how super!$"
-Route113_Text_299FD8: @ 8299FD8
+Route113_Text_MadelinePostRematch: @ 8299FD8
.string "You've remained very good at this.\n"
.string "I must say I'm impressed!$"
-Route113_Text_29A015: @ 829A015
+Route113_Text_LaoIntro: @ 829A015
.string "From out of the ashes I leap! Hiyah!\n"
.string "I challenge thee!$"
-Route113_Text_29A04C: @ 829A04C
+Route113_Text_LaoDefeat: @ 829A04C
.string "With honor I admit defeat!$"
-Route113_Text_29A067: @ 829A067
+Route113_Text_LaoPostBattle: @ 829A067
.string "I must refine the art of concealment.\n"
.string "I bid thee farewell.$"
-Route113_Text_29A0A2: @ 829A0A2
+Route113_Text_LaoRegister: @ 829A0A2
.string "Yiiyaah! Witness the ancient ninja\n"
.string "technique of POKéNAV registration!$"
-Route113_Text_29A0E8: @ 829A0E8
+Route113_Text_LaoRematchIntro: @ 829A0E8
.string "From out of the ashes I leap! Hiyah!\n"
.string "I challenge thee!$"
-Route113_Text_29A11F: @ 829A11F
+Route113_Text_LaoRematchDefeat: @ 829A11F
.string "With honor I admit defeat!$"
-Route113_Text_29A13A: @ 829A13A
+Route113_Text_LaoPostRematch: @ 829A13A
.string "My flawless concealment was let down\n"
.string "by my immature battle skills…\p"
.string "I bid thee farewell.$"
-Route113_Text_29A192: @ 829A192
+Route113_Text_LungIntro: @ 829A192
.string "Thanks for finding me!\n"
.string "But we still have to battle!$"
-Route113_Text_29A1C6: @ 829A1C6
+Route113_Text_LungDefeat: @ 829A1C6
.string "I'll use my ninjutsu on you…\n"
.string "“VOLCANIC ASH SWIRL CLOAK”!\p"
.string "…What?\n"
.string "It's already over?$"
-Route113_Text_29A219: @ 829A219
+Route113_Text_LungPostBattle: @ 829A219
.string "You know what's crummy about hiding?\n"
.string "It's lonely if no one comes along.$"
-Route113_Text_29A261: @ 829A261
+Route113_Text_ToriIntro: @ 829A261
.string "TORI: Both of us, we collect ashes.\n"
.string "We battle POKéMON, too.$"
-Route113_Text_29A29D: @ 829A29D
+Route113_Text_ToriDefeat: @ 829A29D
.string "TORI: We lost… It's boring, so I'm going\n"
.string "to get some more ashes.$"
-Route113_Text_29A2DE: @ 829A2DE
+Route113_Text_ToriPostBattle: @ 829A2DE
.string "TORI: How much ash do we have?\n"
.string "Enough for a WHITE FLUTE, I hope.$"
-Route113_Text_29A31F: @ 829A31F
+Route113_Text_ToriNotEnoughMons: @ 829A31F
.string "TORI: We want to battle 2-on-2.\n"
.string "If we didn't, we would lose!$"
-Route113_Text_29A35C: @ 829A35C
+Route113_Text_TiaIntro: @ 829A35C
.string "TIA: Both of us, we collect ashes.\n"
.string "We battle POKéMON, too.$"
-Route113_Text_29A397: @ 829A397
+Route113_Text_TiaDefeat: @ 829A397
.string "TIA: We couldn't win… It's boring,\n"
.string "so I'm getting some more ashes.$"
-Route113_Text_29A3DA: @ 829A3DA
+Route113_Text_TiaPostBattle: @ 829A3DA
.string "TIA: We have a lot of ashes!\n"
.string "I think enough for a WHITE FLUTE!$"
-Route113_Text_29A419: @ 829A419
+Route113_Text_TiaNotEnoughMons: @ 829A419
.string "TIA: We want to battle 2-on-2.\n"
.string "If we don't, we won't win!$"
-Route113_Text_29A453: @ 829A453
+Route113_Text_CobyIntro: @ 829A453
.string "Pfft, with these wings I can\n"
.string "flick you away!$"
-Route113_Text_29A480: @ 829A480
+Route113_Text_CobyDefeat: @ 829A480
.string "A… What?$"
-Route113_Text_29A489: @ 829A489
+Route113_Text_CobyPostBattle: @ 829A489
.string "I don't know what to say when I get\n"
.string "beaten so easily…$"
-Route113_Text_29A4BF: @ 829A4BF
+Route113_Text_SophieIntro: @ 829A4BF
.string "The warmth here is making me drowsy.\n"
.string "Battle with me so I can stay awake.$"
-Route113_Text_29A508: @ 829A508
+Route113_Text_SophieDefeat: @ 829A508
.string "This is a dream.\n"
.string "I'm sure of it…$"
-Route113_Text_29A529: @ 829A529
+Route113_Text_SophiePostBattle: @ 829A529
.string "Losing burns me up…\n"
.string "I'm just going to sleep right here!\l"
.string "Zzz!$"
-Route113_Text_29A566: @ 829A566
+Route113_Text_LawrenceIntro: @ 829A566
.string "Were you maybe in the middle\n"
.string "of gathering volcanic ashes?$"
-Route113_Text_29A5A0: @ 829A5A0
+Route113_Text_LawrenceDefeat: @ 829A5A0
.string "Ehehe.\n"
.string "We got beaten cleanly.$"
-Route113_Text_29A5BE: @ 829A5BE
+Route113_Text_LawrencePostBattle: @ 829A5BE
.string "I ought to hide under the ashes, too.$"
-Route113_Text_29A5E4: @ 829A5E4
+Route113_Text_WyattIntro: @ 829A5E4
.string "Y-you want to battle with me?\n"
.string "Even though I just caught my POKéMON?$"
-Route113_Text_29A628: @ 829A628
+Route113_Text_WyattDefeat: @ 829A628
.string "Y-you're all happy to win?\n"
.string "Even though it's only me?$"
-Route113_Text_29A65D: @ 829A65D
+Route113_Text_WyattPostBattle: @ 829A65D
.string "Oh, so now you want to say a word to\n"
.string "the loser?\p"
.string "Aren't you just the coolest?\n"
.string "Humph!$"
-Route114_Text_29A6B1: @ 829A6B1
+Route114_Text_LennyIntro: @ 829A6B1
.string "Yodelayhihoo!\p"
.string "… …\p"
.string "You're supposed to shout\n"
.string "“yodelayhihoo” since it doesn't\l"
.string "echo here!$"
-Route114_Text_29A707: @ 829A707
+Route114_Text_LennyDefeat: @ 829A707
.string "Yodelayhihoo!$"
-Route114_Text_29A715: @ 829A715
+Route114_Text_LennyPostBattle: @ 829A715
.string "When I was a wee tyke, I believed there\n"
.string "was someone copying me and shouting\l"
.string "back, “Yodelayhihoo.”$"
-Route114_Text_29A777: @ 829A777
+Route114_Text_LucasIntro: @ 829A777
.string "If you're not prepared, you shouldn't\n"
.string "be up in the mountains!$"
-Route114_Text_29A7B5: @ 829A7B5
+Route114_Text_LucasDefeat: @ 829A7B5
.string "The mountains are unforgiving…$"
-Route114_Text_29A7D4: @ 829A7D4
+Route114_Text_LucasPostBattle: @ 829A7D4
.string "In the winter, mountains turn deadly\n"
.string "with blizzards and avalanches.$"
-Route114_Text_29A818: @ 829A818
+Route114_Text_ShaneIntro: @ 829A818
.string "Camping's fun! You can fish, roast\n"
.string "marshmallows, and tell spooky stories!\p"
.string "But the best of all are the POKéMON\n"
.string "battles!$"
-Route114_Text_29A88F: @ 829A88F
+Route114_Text_ShaneDefeat: @ 829A88F
.string "Way too strong!$"
-Route114_Text_29A89F: @ 829A89F
+Route114_Text_ShanePostBattle: @ 829A89F
.string "I think it's great that I can go\n"
.string "camping with my POKéMON.$"
-Route114_Text_29A8D9: @ 829A8D9
+Route114_Text_NancyIntro: @ 829A8D9
.string "I need to exercise after a meal.\n"
.string "Let's have a match!$"
-Route114_Text_29A90E: @ 829A90E
+Route114_Text_NancyDefeat: @ 829A90E
.string "Oh, no!$"
-Route114_Text_29A916: @ 829A916
+Route114_Text_NancyPostBattle: @ 829A916
.string "I just had a tasty meal.\n"
.string "I'm getting drowsy…$"
-Route114_Text_29A943: @ 829A943
+Route114_Text_SteveIntro: @ 829A943
.string "Ufufufufufu…\n"
.string "Want to battle against my POKéMON?$"
-Route114_Text_29A973: @ 829A973
+Route114_Text_SteveDefeat: @ 829A973
.string "M-My POKéMON…$"
-Route114_Text_29A981: @ 829A981
+Route114_Text_StevePostBattle: @ 829A981
.string "A big body that's all lumpy and hard,\n"
.string "enormous horns, and vicious fangs…\p"
.string "Ufufufufu…\n"
.string "I wish I had a POKéMON like that…$"
-Route114_Text_29A9F7: @ 829A9F7
+Route114_Text_SteveRegister: @ 829A9F7
.string "Don't forget what you've done to me!\n"
.string "I'll make it so you can't forget!$"
-Route114_Text_29AA3E: @ 829AA3E
+Route114_Text_SteveRematchIntro: @ 829AA3E
.string "Ufufufufufu…\n"
.string "Come on, battle my POKéMON…$"
-Route114_Text_29AA67: @ 829AA67
+Route114_Text_SteveRematchDefeat: @ 829AA67
.string "I feel so lucky getting to see your\n"
.string "POKéMON…$"
-Route114_Text_29AA94: @ 829AA94
+Route114_Text_StevePostRematch: @ 829AA94
.string "Ufufufufufu…\p"
.string "When I see POKéMON battling, I get all\n"
.string "shivery and shaky…$"
-Route114_Text_29AADB: @ 829AADB
+Route114_Text_BernieIntro: @ 829AADB
.string "If you're lighting a campfire,\n"
.string "make sure you have water handy.$"
-Route114_Text_29AB1A: @ 829AB1A
+Route114_Text_BernieDefeat: @ 829AB1A
.string "Thanks for dousing my fire!$"
-Route114_Text_29AB36: @ 829AB36
+Route114_Text_BerniePostBattle: @ 829AB36
.string "You really do have to be careful with\n"
.string "any sort of fire in a forest.\p"
.string "Don't ever underestimate the power\n"
.string "of fire.$"
-Route114_Text_29ABA6: @ 829ABA6
+Route114_Text_BernieRegister: @ 829ABA6
.string "You set my spirit on fire.\n"
.string "Let's register each other!$"
-Route114_Text_29ABDC: @ 829ABDC
+Route114_Text_BernieRematchIntro: @ 829ABDC
.string "Have you learned to keep water handy\n"
.string "for campfires?$"
-Route114_Text_29AC10: @ 829AC10
+Route114_Text_BernieRematchDefeat: @ 829AC10
.string "I got hosed down before I could\n"
.string "flare up, I guess.$"
-Route114_Text_29AC43: @ 829AC43
+Route114_Text_BerniePostRematch: @ 829AC43
.string "You really do have to be careful with\n"
.string "any sort of fire in a forest.\p"
.string "Don't ever underestimate the power\n"
.string "of fire.$"
-Route114_Text_29ACB3: @ 829ACB3
+Route114_Text_ClaudeIntro: @ 829ACB3
.string "If we were fishing, you wouldn't stand\n"
.string "a chance against me.\l"
.string "So, bring on your POKéMON!$"
-Route114_Text_29AD0A: @ 829AD0A
+Route114_Text_ClaudeDefeat: @ 829AD0A
.string "If we were fishing, I would've won…$"
-Route114_Text_29AD2E: @ 829AD2E
+Route114_Text_ClaudePostBattle: @ 829AD2E
.string "I think I'll try my luck at landing\n"
.string "a big one at METEOR FALLS.\p"
.string "There has to be something in there.\n"
.string "I just know it.$"
-Route114_Text_29ADA1: @ 829ADA1
+Route114_Text_NolanIntro: @ 829ADA1
.string "I like to fish. But I also like to\n"
.string "battle!\p"
.string "If anyone challenges me, I'm there,\n"
.string "even if I'm fishing.$"
-Route114_Text_29AE05: @ 829AE05
+Route114_Text_NolanDefeat: @ 829AE05
.string "I like to battle, but that doesn't\n"
.string "mean I'm good at it…$"
-Route114_Text_29AE3D: @ 829AE3D
+Route114_Text_NolanPostBattle: @ 829AE3D
.string "This time I'll do it!\p"
.string "I always think that, so I can't walk\n"
.string "away from fishing or POKéMON.$"
-Route114_Text_29AE96: @ 829AE96
+Route114_Text_TyraIntro: @ 829AE96
.string "TYRA: Well, sure.\n"
.string "I'm in the mood for it.\l"
.string "I'll teach you a little about POKéMON.$"
-Route114_Text_29AEE7: @ 829AEE7
+Route114_Text_TyraDefeat: @ 829AEE7
.string "TYRA: What an amazing battle style!$"
-Route114_Text_29AF0B: @ 829AF0B
+Route114_Text_TyraPostBattle: @ 829AF0B
.string "TYRA: I was teaching my junior IVY\n"
.string "about POKéMON.$"
-Route114_Text_29AF3D: @ 829AF3D
+Route114_Text_TyraNotEnoughMons: @ 829AF3D
.string "TYRA: Giggle…\n"
.string "If you want to battle with us, just one\l"
.string "POKéMON isn't enough!$"
-Route114_Text_29AF89: @ 829AF89
+Route114_Text_IvyIntro: @ 829AF89
.string "IVY: Who taught you about POKéMON?$"
-Route114_Text_29AFAC: @ 829AFAC
+Route114_Text_IvyDefeat: @ 829AFAC
.string "IVY: What an amazing battle style!$"
-Route114_Text_29AFCF: @ 829AFCF
+Route114_Text_IvyPostBattle: @ 829AFCF
.string "IVY: I started training POKéMON\n"
.string "because TYRA, my student mentor,\l"
.string "taught me!$"
-Route114_Text_29B01B: @ 829B01B
+Route114_Text_IvyNotEnoughMons: @ 829B01B
.string "IVY: Do you only have one POKéMON?\n"
.string "I think it must feel lonesome.$"
-Route114_Text_29B05D: @ 829B05D
+Route114_Text_KaiIntro: @ 829B05D
.string "I landed a big one!\n"
.string "A huge one, I tell you!$"
-Route114_Text_29B089: @ 829B089
+Route114_Text_KaiDefeat: @ 829B089
.string "What was that about?\n"
.string "Did mine lose in size?$"
-Route114_Text_29B0B5: @ 829B0B5
+Route114_Text_KaiPostBattle: @ 829B0B5
.string "Okay!\n"
.string "I'll just fish me a bigger one!$"
-Route114_Text_29B0DB: @ 829B0DB
+Route114_Text_CharlotteIntro: @ 829B0DB
.string "Me!\n"
.string "I'm not just a pretty face!$"
-Route114_Text_29B0FB: @ 829B0FB
+Route114_Text_CharlotteDefeat: @ 829B0FB
.string "That wasn't cute in the least!$"
-Route114_Text_29B11A: @ 829B11A
+Route114_Text_CharlottePostBattle: @ 829B11A
.string "I don't want a POKéMON that's\n"
.string "just cute.\p"
.string "I adore cute ones that have a quirk\n"
.string "or two!$"
-Route114_Text_29B16F: @ 829B16F
+Route114_Text_AngelinaIntro: @ 829B16F
.string "Have you made your POKéMON evolve\n"
.string "very much?$"
-Route114_Text_29B19C: @ 829B19C
+Route114_Text_AngelinaDefeat: @ 829B19C
.string "Oh, I see.\n"
.string "That's good to know.$"
-Route114_Text_29B1BC: @ 829B1BC
+Route114_Text_AngelinaPostBattle: @ 829B1BC
.string "Some POKéMON change so much when\n"
.string "they evolve, it's startling!$"
-Route115_Text_29B1FA: @ 829B1FA
+Route115_Text_TimothyIntro: @ 829B1FA
.string "Hm…\n"
.string "You seem rather capable…\l"
.string "Let me keep you company!$"
-Route115_Text_29B230: @ 829B230
+Route115_Text_TimothyDefeat: @ 829B230
.string "You're much stronger than\n"
.string "I'd imagined!$"
-Route115_Text_29B258: @ 829B258
+Route115_Text_TimothyPostBattle: @ 829B258
.string "There is no such thing as a born genius.\n"
.string "It all depends on effort!\l"
.string "That is what I believe…$"
-Route115_Text_29B2B3: @ 829B2B3
+Route115_Text_TimothyRegister: @ 829B2B3
.string "Hmm… A loss this thorough has been\n"
.string "a distant memory.\p"
.string "If you would allow it, I wish for\n"
.string "another opportunity to do battle.$"
-Route115_Text_29B32C: @ 829B32C
+Route115_Text_TimothyRematchIntro: @ 829B32C
.string "Hm… As always, your agility speaks\n"
.string "for itself.\l"
.string "Come, keep me company!$"
-Route115_Text_29B372: @ 829B372
+Route115_Text_TimothyRematchDefeat: @ 829B372
.string "As strong as ever!$"
-Route115_Text_29B385: @ 829B385
+Route115_Text_TimothyPostRematch: @ 829B385
.string "All it takes is effort!\p"
.string "I lost because I haven't put in enough\n"
.string "effort!$"
-Route115_Text_29B3CC: @ 829B3CC
+Route115_Text_KoichiIntro: @ 829B3CC
.string "You!\p"
.string "My MACHOP!\p"
.string "Demand a battle!$"
-Route115_Text_29B3ED: @ 829B3ED
+Route115_Text_KoichiDefeat: @ 829B3ED
.string "Ouch, ouch, ouch!$"
-Route115_Text_29B3FF: @ 829B3FF
+Route115_Text_KoichiPostBattle: @ 829B3FF
.string "My MACHOP crew!\p"
.string "So long as they seek power, I will\n"
.string "grow strong with them!$"
-Route115_Text_29B449: @ 829B449
+Route115_Text_NobIntro: @ 829B449
.string "My strongest skill is busting bricks\n"
.string "with my forehead!$"
-Route115_Text_29B480: @ 829B480
+Route115_Text_NobDefeat: @ 829B480
.string "Ugwaaaah!\n"
.string "My head is busted!$"
-Route115_Text_29B49D: @ 829B49D
+Route115_Text_NobPostBattle: @ 829B49D
.string "I've been teaching my POKéMON karate.\p"
.string "It looks like they'll get a lot better\n"
.string "than me. I'm excited about that.$"
-Route115_Text_29B50B: @ 829B50B
+Route115_Text_NobRegister: @ 829B50B
.string "You impress me! Give me a rematch\n"
.string "after I redo my training!$"
-Route115_Text_29B547: @ 829B547
+Route115_Text_NobRematchIntro: @ 829B547
.string "After you beat me, we trained hard to\n"
.string "improve our skills.\l"
.string "Come on, give us a rematch!$"
-Route115_Text_29B59D: @ 829B59D
+Route115_Text_NobRematchDefeat: @ 829B59D
.string "Ugwaaah!\n"
.string "We lost again!$"
-Route115_Text_29B5B5: @ 829B5B5
+Route115_Text_NobPostRematch: @ 829B5B5
.string "My POKéMON will grow stronger!\n"
.string "I'll redouble my training!$"
-Route115_Text_29B5EF: @ 829B5EF
+Route115_Text_CyndyIntro: @ 829B5EF
.string "This beach is my secret training spot!\n"
.string "Don't come butting in!$"
-Route115_Text_29B62D: @ 829B62D
+Route115_Text_CyndyDefeat: @ 829B62D
.string "I haven't trained enough!$"
-Route115_Text_29B647: @ 829B647
+Route115_Text_CyndyPostBattle: @ 829B647
.string "The sand acts as a cushion to reduce\n"
.string "impact and prevent injury.\l"
.string "This is the perfect place to train.$"
-Route115_Text_29B6AB: @ 829B6AB
+Route115_Text_CyndyRegister: @ 829B6AB
.string "Okay, fine, you're free to come here.\n"
.string "In return, I'd like to battle you again.$"
-Route115_Text_29B6FA: @ 829B6FA
+Route115_Text_CyndyRematchIntro: @ 829B6FA
.string "Okay, let's get this battle on!$"
-Route115_Text_29B71A: @ 829B71A
+Route115_Text_CyndyRematchDefeat: @ 829B71A
.string "I can battle but my POKéMON…$"
-Route115_Text_29B737: @ 829B737
+Route115_Text_CyndyPostRematch: @ 829B737
.string "Even when I lose, I still get some\n"
.string "enjoyment out of it.\l"
.string "It must be that I love POKéMON.$"
-Route115_Text_29B78F: @ 829B78F
+Route115_Text_HectorIntro: @ 829B78F
.string "I have a rare POKéMON!\n"
.string "Would you like me to show you?$"
-Route115_Text_29B7C5: @ 829B7C5
+Route115_Text_HectorDefeat: @ 829B7C5
.string "You…\n"
.string "You want my POKéMON, don't you?$"
-Route115_Text_29B7EA: @ 829B7EA
+Route115_Text_HectorPostBattle: @ 829B7EA
.string "I have this rare POKéMON.\n"
.string "It's enough to keep me satisfied.$"
-Route115_Text_29B826: @ 829B826
+Route115_Text_KyraIntro: @ 829B826
.string "I'll battle while I'm running!\n"
.string "Try to keep up with me!$"
-Route115_Text_29B85D: @ 829B85D
+Route115_Text_KyraDefeat: @ 829B85D
.string "Gasp, gasp…$"
-Route115_Text_29B869: @ 829B869
+Route115_Text_KyraPostBattle: @ 829B869
.string "I made the mistake of trying to battle\n"
.string "while running!\p"
.string "I should take a run to calm down…$"
-Route115_Text_29B8C1: @ 829B8C1
+Route115_Text_JaidenIntro: @ 829B8C1
.string "Take that!\n"
.string "Ultra POKéMON ninja attack!$"
-Route115_Text_29B8E8: @ 829B8E8
+Route115_Text_JaidenDefeat: @ 829B8E8
.string "Waaah!\n"
.string "Our strategy failed!$"
-Route115_Text_29B904: @ 829B904
+Route115_Text_JaidenPostBattle: @ 829B904
.string "But my POKéMON were ultra,\n"
.string "weren't they?$"
-Route115_Text_29B92D: @ 829B92D
+Route115_Text_HeleneIntro: @ 829B92D
.string "My POKéMON have black belt-level\n"
.string "strength!$"
-Route115_Text_29B958: @ 829B958
+Route115_Text_HeleneDefeat: @ 829B958
.string "This is too humiliating!$"
-Route115_Text_29B971: @ 829B971
+Route115_Text_HelenePostBattle: @ 829B971
.string "I rarely meet anyone who's better\n"
.string "than me…\p"
.string "I get it now!\n"
.string "You're a GYM LEADER, aren't you?$"
-Route115_Text_29B9CB: @ 829B9CB
+Route115_Text_AlixIntro: @ 829B9CB
.string "Our eyes met!\n"
.string "There's no getting away now!$"
-Route115_Text_29B9F6: @ 829B9F6
+Route115_Text_AlixDefeat: @ 829B9F6
.string "Gah!\n"
.string "Not bad!$"
-Route115_Text_29BA04: @ 829BA04
+Route115_Text_AlixPostBattle: @ 829BA04
.string "Oh, well.\n"
.string "I think I will TELEPORT home.$"
-Route115_Text_29BA2C: @ 829BA2C
+Route115_Text_MarleneIntro: @ 829BA2C
.string "You've disturbed my meditation…\n"
.string "You'll be punished for it.$"
-Route115_Text_29BA67: @ 829BA67
+Route115_Text_MarleneDefeat: @ 829BA67
.string "You've broken my concentration!$"
-Route115_Text_29BA87: @ 829BA87
+Route115_Text_MarlenePostBattle: @ 829BA87
.string "I was meditating with my POKéMON.\n"
.string "But this place isn't very peaceful…$"
-Route116_Text_29BACD: @ 829BACD
+Route116_Text_ClarkIntro: @ 829BACD
.string "If the tunnel doesn't go through, then\n"
.string "I'll just go over the top.$"
-Route116_Text_29BB0F: @ 829BB0F
+Route116_Text_ClarkDefeat: @ 829BB0F
.string "Gasp… Gasp…\n"
.string "Losing made me tired…$"
-Route116_Text_29BB31: @ 829BB31
+Route116_Text_ClarkPostBattle: @ 829BB31
.string "It's no big deal if there's no tunnel.\n"
.string "To a HIKER, mountains are roads!$"
-Route116_Text_29BB79: @ 829BB79
+Route116_Text_JoeyIntro: @ 829BB79
.string "My POKéMON rule!\n"
.string "Check them out!$"
-Route116_Text_29BB9A: @ 829BB9A
+Route116_Text_JoeyDefeat: @ 829BB9A
.string "Ouch! A scrape!\n"
.string "I have to put on a bandage!$"
-Route116_Text_29BBC6: @ 829BBC6
+Route116_Text_JoeyPostBattle: @ 829BBC6
.string "Bandages are signs of toughness!\n"
.string "I've got another one!$"
-Route116_Text_29BBFD: @ 829BBFD
+Route116_Text_JoseIntro: @ 829BBFD
.string "My BUG POKéMON are tough!\n"
.string "Let's battle!$"
-Route116_Text_29BC25: @ 829BC25
+Route116_Text_JoseDefeat: @ 829BC25
.string "I lost!\n"
.string "I thought I had you!$"
-Route116_Text_29BC42: @ 829BC42
+Route116_Text_JosePostBattle: @ 829BC42
.string "BUG POKéMON evolve quickly.\n"
.string "So they get strong quickly, too.$"
-Route116_Text_29BC7F: @ 829BC7F
+Route116_Text_JaniceIntro: @ 829BC7F
.string "Let me teach you how strong my\n"
.string "adorable POKéMON is!$"
-Route116_Text_29BCB3: @ 829BCB3
+Route116_Text_JaniceDefeat: @ 829BCB3
.string "You're a notch above me…$"
-Route116_Text_29BCCC: @ 829BCCC
+Route116_Text_JanicePostBattle: @ 829BCCC
.string "POKéMON that possess cuteness and\n"
.string "power, that's ideal, I think.$"
-Route116_Text_29BD0C: @ 829BD0C
+Route116_Text_JerryIntro: @ 829BD0C
.string "We learn all sorts of things at the\n"
.string "TRAINER'S SCHOOL.\p"
.string "I want to test things out for real!$"
-Route116_Text_29BD66: @ 829BD66
+Route116_Text_JerryDefeat: @ 829BD66
.string "I slacked off in school…\n"
.string "That's why I lost.$"
-Route116_Text_29BD92: @ 829BD92
+Route116_Text_JerryPostBattle: @ 829BD92
.string "I'll have to redo some courses at\n"
.string "the TRAINER'S SCHOOL.\l"
.string "If I don't, ROXANNE will be steamed.$"
-Route116_Text_29BDEF: @ 829BDEF
+Route116_Text_JerryRegister1: @ 829BDEF
.string "I learned at the TRAINER'S SCHOOL\n"
.string "that a POKéNAV can register TRAINERS.\p"
.string "I don't really get what that means,\n"
.string "so can I just try it?$"
-Route116_Text_29BE71: @ 829BE71
+Route116_Text_JerryRegister2: @ 829BE71
.string "I learned at the TRAINER'S SCHOOL\n"
.string "that a POKéNAV can register TRAINERS.\p"
.string "I don't really get what that means,\n"
.string "so can I just try it?$"
-Route116_Text_29BEF3: @ 829BEF3
+Route116_Text_JerryRematchIntro: @ 829BEF3
.string "I've been studying seriously at the\n"
.string "TRAINER'S SCHOOL.\l"
.string "I won't lose like I did last time.$"
-Route116_Text_29BF4C: @ 829BF4C
+Route116_Text_JerryRematchDefeat: @ 829BF4C
.string "Hunh?\n"
.string "I studied diligently.$"
-Route116_Text_29BF68: @ 829BF68
+Route116_Text_JerryPostRematch: @ 829BF68
.string "I'll have to redo some courses at\n"
.string "the TRAINER'S SCHOOL.\l"
.string "If I don't, ROXANNE will be steamed.$"
-Route116_Text_29BFC5: @ 829BFC5
+Route116_Text_KarenIntro: @ 829BFC5
.string "I study at school, and I study on\n"
.string "the way home, too!$"
-Route116_Text_29BFFA: @ 829BFFA
+Route116_Text_KarenDefeat: @ 829BFFA
.string "I'm in shock--I lost?$"
-Route116_Text_29C010: @ 829C010
+Route116_Text_KarenPostBattle: @ 829C010
.string "Awww, I'll never become an elegant\n"
.string "TRAINER like ROXANNE this way!$"
-Route116_Text_29C052: @ 829C052
+Route116_Text_KarenRegister1: @ 829C052
.string "Oh, wow! Isn't that a POKéNAV?\n"
.string "I have one, too! Please register me!$"
-Route116_Text_29C096: @ 829C096
+Route116_Text_KarenRegister2: @ 829C096
.string "Oh, wow! Isn't that a POKéNAV?\n"
.string "I have one, too! Please register me!$"
-Route116_Text_29C0DA: @ 829C0DA
+Route116_Text_KarenRematchIntro: @ 829C0DA
.string "I studied a whole lot since I saw you.\n"
.string "You must see my achievements!$"
-Route116_Text_29C11F: @ 829C11F
+Route116_Text_KarenRematchDefeat: @ 829C11F
.string "I'm in shock.\n"
.string "I lost again?$"
-Route116_Text_29C13B: @ 829C13B
+Route116_Text_KarenPostRematch: @ 829C13B
.string "You've beaten ROXANNE?\n"
.string "I can't beat you, then. Not yet.$"
-Route116_Text_29C173: @ 829C173
+Route116_Text_SarahIntro: @ 829C173
.string "Just so you know, I've never once been\n"
.string "bested by anyone at anything.$"
-Route116_Text_29C1B8: @ 829C1B8
+Route116_Text_SarahDefeat: @ 829C1B8
.string "Oh, my goodness.\n"
.string "This is a new experience for me.$"
-Route116_Text_29C1EA: @ 829C1EA
+Route116_Text_SarahPostBattle: @ 829C1EA
.string "My life of luxury affords me all that\n"
.string "I could possibly desire.\p"
.string "However, when it comes to POKéMON,\n"
.string "my wealth has no meaning.$"
-Route116_Text_29C266: @ 829C266
+Route116_Text_DawsonIntro: @ 829C266
.string "When you lay your eyes on my POKéMON's\n"
.string "gorgeous fur, their beauty will render\l"
.string "you helpless!$"
-Route116_Text_29C2C2: @ 829C2C2
+Route116_Text_DawsonDefeat: @ 829C2C2
.string "Oh, baby, say it isn't so!$"
-Route116_Text_29C2DD: @ 829C2DD
+Route116_Text_DawsonPostBattle: @ 829C2DD
.string "Oh, no, no, no!\n"
.string "You've mussed up my POKéMON's fur!\l"
.string "You've ruined my hairdo, too!\l"
.string "I'll have to call my stylist now!$"
-Route116_Text_29C350: @ 829C350
+Route116_Text_DevanIntro: @ 829C350
.string "We'll rock you hard!$"
-Route116_Text_29C365: @ 829C365
+Route116_Text_DevanDefeat: @ 829C365
.string "Aiyiyi!\n"
.string "No contest at all!$"
-Route116_Text_29C380: @ 829C380
+Route116_Text_DevanPostBattle: @ 829C380
.string "I should try different POKéMON\n"
.string "types, that's what I ought to do.$"
-Route116_Text_29C3C1: @ 829C3C1
+Route116_Text_JohnsonIntro: @ 829C3C1
.string "It's a dead end up here.\n"
.string "I'm bored, so can we battle?$"
-Route116_Text_29C3F7: @ 829C3F7
+Route116_Text_JohnsonDefeat: @ 829C3F7
.string "That was fun even though I lost.$"
-Route116_Text_29C418: @ 829C418
+Route116_Text_JohnsonPostBattle: @ 829C418
.string "Want to stay here and keep\n"
.string "me company?$"
-Route117_Text_29C43F: @ 829C43F
+Route117_Text_IsaacIntro: @ 829C43F
.string "Listen, could I get you to battle\n"
.string "the POKéMON I'm raising?$"
-Route117_Text_29C47A: @ 829C47A
+Route117_Text_IsaacDefeat: @ 829C47A
.string "You've raised yours superbly…$"
-Route117_Text_29C498: @ 829C498
+Route117_Text_IsaacPostBattle: @ 829C498
.string "POKéMON isn't all about power.\p"
.string "Polishing a unique aspect of one's\n"
.string "character is another way of enjoying\l"
.string "POKéMON.$"
-Route117_Text_29C508: @ 829C508
+Route117_Text_IsaacRegister: @ 829C508
.string "I'm going to redouble my training.\n"
.string "Would you come look in on us?$"
-Route117_Text_29C549: @ 829C549
+Route117_Text_IsaacRematchIntro: @ 829C549
.string "The POKéMON I've been raising are\n"
.string "looking good, just like before.$"
-Route117_Text_29C58B: @ 829C58B
+Route117_Text_IsaacRematchDefeat: @ 829C58B
.string "You know how to raise them properly.\n"
.string "You might have DAY CARE skills…$"
-Route117_Text_29C5D0: @ 829C5D0
+Route117_Text_IsaacPostRematch: @ 829C5D0
.string "Your POKéMON are growing good!\n"
.string "You should enter them in CONTESTS.$"
-Route117_Text_29C612: @ 829C612
+Route117_Text_LydiaIntro: @ 829C612
.string "Please, allow me to evaluate if you\n"
.string "have raised your POKéMON properly.$"
-Route117_Text_29C659: @ 829C659
+Route117_Text_LydiaDefeat: @ 829C659
.string "Yes, they are growing properly.$"
-Route117_Text_29C679: @ 829C679
+Route117_Text_LydiaPostBattle: @ 829C679
.string "Try raising POKéMON with more\n"
.string "attention to their character traits.$"
-Route117_Text_29C6BC: @ 829C6BC
+Route117_Text_LydiaRegister: @ 829C6BC
.string "I'm glad I met a superb TRAINER in you.\n"
.string "I hope to see you again.$"
-Route117_Text_29C6FD: @ 829C6FD
+Route117_Text_LydiaRematchIntro: @ 829C6FD
.string "Allow me to reevaluate if you have\n"
.string "raised your POKéMON properly.$"
-Route117_Text_29C73E: @ 829C73E
+Route117_Text_LydiaRematchDefeat: @ 829C73E
.string "They are growing admirably.$"
-Route117_Text_29C75A: @ 829C75A
+Route117_Text_LydiaPostRematch: @ 829C75A
.string "POKéMON seem to like different kinds\n"
.string "of {POKEBLOCK}S, depending on their nature.$"
-Route117_Text_29C7A5: @ 829C7A5
+Route117_Text_DylanIntro: @ 829C7A5
.string "I'm in the middle of a triathlon, but,\n"
.string "whatever, let's have a battle!$"
-Route117_Text_29C7EB: @ 829C7EB
+Route117_Text_DylanDefeat: @ 829C7EB
.string "I ran out of energy!$"
-Route117_Text_29C800: @ 829C800
+Route117_Text_DylanPostBattle: @ 829C800
.string "I may have blown it…\p"
.string "I might have dropped to last during\n"
.string "that battle…$"
-Route117_Text_29C846: @ 829C846
+Route117_Text_DylanRegister: @ 829C846
.string "POKéMON have to be strong, too?\n"
.string "I'd like you to train me!$"
-Route117_Text_29C880: @ 829C880
+Route117_Text_DylanRematchIntro: @ 829C880
.string "I'm smack in the middle of a triathlon,\n"
.string "but I'm comfortably ahead.\l"
.string "Let's make this a quick battle!$"
-Route117_Text_29C8E3: @ 829C8E3
+Route117_Text_DylanRematchDefeat: @ 829C8E3
.string "I ran out of energy again!$"
-Route117_Text_29C8FE: @ 829C8FE
+Route117_Text_DylanPostRematch: @ 829C8FE
.string "I was tops in swimming and cycling,\n"
.string "but I'm not quite that confident with\l"
.string "POKéMON yet.$"
-Route117_Text_29C955: @ 829C955
+Route117_Text_MariaIntro: @ 829C955
.string "I do my triathlon training with POKéMON,\n"
.string "so I'm pretty confident about my speed.$"
-Route117_Text_29C9A6: @ 829C9A6
+Route117_Text_MariaDefeat: @ 829C9A6
.string "I need to get more practices in,\n"
.string "I guess.$"
-Route117_Text_29C9D0: @ 829C9D0
+Route117_Text_MariaPostBattle: @ 829C9D0
.string "Training is meaningful only if you\n"
.string "keep it up regularly.\p"
.string "Okay! I'll resume my training!\n"
.string "Tomorrow!$"
-Route117_Text_29CA32: @ 829CA32
+Route117_Text_MariaRegister: @ 829CA32
.string "You appear to be training properly…\n"
.string "If you'd like, I'll battle you later!$"
-Route117_Text_29CA7C: @ 829CA7C
+Route117_Text_MariaRematchIntro: @ 829CA7C
.string "Are you keeping up with your training?\n"
.string "I sure am!\l"
.string "Let me show you the evidence!$"
-Route117_Text_29CACC: @ 829CACC
+Route117_Text_MariaRematchDefeat: @ 829CACC
.string "I need to get more practices in,\n"
.string "I guess.$"
-Route117_Text_29CAF6: @ 829CAF6
+Route117_Text_MariaPostRematch: @ 829CAF6
.string "I'll resume training tomorrow.\n"
.string "Let's battle again sometime!$"
-Route117_Text_29CB32: @ 829CB32
+Route117_Text_DerekIntro: @ 829CB32
.string "Once a BUG CATCHER!\n"
.string "And now a BUG MANIAC!\p"
.string "But my love for POKéMON remains\n"
.string "unchanged!$"
-Route117_Text_29CB87: @ 829CB87
+Route117_Text_DerekDefeat: @ 829CB87
.string "My ineptitude also remains\n"
.string "unchanged…$"
-Route117_Text_29CBAD: @ 829CBAD
+Route117_Text_DerekPostBattle: @ 829CBAD
.string "All I did was follow my heart, and now\n"
.string "they call me a BUG MANIAC…\p"
.string "Still, I am an expert on BUG POKéMON,\n"
.string "so it's only natural that they call me\l"
.string "a BUG MANIAC.$"
-Route117_Text_29CC4A: @ 829CC4A
+Route117_Text_AnnaIntro: @ 829CC4A
.string "ANNA: I'm with my pretty junior student\n"
.string "partner. I have to do good!$"
-Route117_Text_29CC8E: @ 829CC8E
+Route117_Text_AnnaDefeat: @ 829CC8E
.string "ANNA: I'm with my pretty junior student\n"
.string "partner! Let me win!$"
-Route117_Text_29CCCB: @ 829CCCB
+Route117_Text_AnnaPostBattle: @ 829CCCB
.string "ANNA: Your POKéMON have some good\n"
.string "combinations.\p"
.string "I'd say you're second only to us!$"
-Route117_Text_29CD1D: @ 829CD1D
+Route117_Text_AnnaAndMegRegister: @ 829CD1D
.string "ANNA: We can't take this lying down!\n"
.string "You will come back, won't you?$"
-Route117_Text_29CD61: @ 829CD61
+Route117_Text_AnnaNotEnoughMons: @ 829CD61
.string "ANNA: If you want to battle us,\n"
.string "bring two POKéMON with you.$"
-Route117_Text_29CD9D: @ 829CD9D
+Route117_Text_MegIntro: @ 829CD9D
.string "MEG: I'm going to tag up with my super\n"
.string "senior student partner and beat you!$"
-Route117_Text_29CDE9: @ 829CDE9
+Route117_Text_MegDefeat: @ 829CDE9
.string "MEG: Oh, no!\n"
.string "I'm sorry, ANNA! I let you down…$"
-Route117_Text_29CE17: @ 829CE17
+Route117_Text_MegPostBattle: @ 829CE17
.string "MEG: I dragged ANNA down…\n"
.string "If I didn't, she would have won!$"
-Route117_Text_29CE52: @ 829CE52
+Route117_Text_MegNotEnoughMons: @ 829CE52
.string "MEG: Do you only have one POKéMON?\n"
.string "We can't battle with you, then.\p"
.string "We want to have a 2-on-2 battle.$"
-Route117_Text_29CEB6: @ 829CEB6
+Route117_Text_AnnaRematchIntro: @ 829CEB6
.string "ANNA: I can't keep losing in front of\n"
.string "my junior partner, right?$"
-Route117_Text_29CEF6: @ 829CEF6
+Route117_Text_AnnaRematchDefeat: @ 829CEF6
.string "ANNA: I couldn't get into the groove.$"
-Route117_Text_29CF1C: @ 829CF1C
+Route117_Text_AnnaPostRematch: @ 829CF1C
.string "ANNA: Your POKéMON have some good\n"
.string "combinations.\p"
.string "I'd say you're second only to us!$"
-Route117_Text_29CF6E: @ 829CF6E
+Route117_Text_AnnaRematchNotEnoughMons: @ 829CF6E
.string "ANNA: If you want to battle us,\n"
.string "bring two POKéMON with you.$"
-Route117_Text_29CFAA: @ 829CFAA
+Route117_Text_MegRematchIntro: @ 829CFAA
.string "MEG: I'm going to tag up with my\n"
.string "senior partner and win this time!$"
-Route117_Text_29CFED: @ 829CFED
+Route117_Text_MegRematchDefeat: @ 829CFED
.string "MEG: Too strong!$"
-Route117_Text_29CFFE: @ 829CFFE
+Route117_Text_MegPostRematch: @ 829CFFE
.string "MEG: I battled together with my\n"
.string "senior partner, but we lost…\p"
.string "That's so discouraging…$"
-Route117_Text_29D053: @ 829D053
+Route117_Text_MegRematchNotEnoughMons: @ 829D053
.string "MEG: Do you only have one POKéMON?\n"
.string "We can't battle with you, then.\p"
.string "We want to have a 2-on-2 battle.$"
-Route117_Text_29D0B7: @ 829D0B7
+Route117_Text_MelinaIntro: @ 829D0B7
.string "Isn't it nice? To battle while looking\n"
.string "at pretty flowers?$"
-Route117_Text_29D0F1: @ 829D0F1
+Route117_Text_MelinaDefeat: @ 829D0F1
.string "Oh, that's quite impressive!$"
-Route117_Text_29D10E: @ 829D10E
+Route117_Text_MelinaPostBattle: @ 829D10E
.string "It feels wonderful to go for a jog\n"
.string "while looking at flowers.$"
-Route117_Text_29D14B: @ 829D14B
+Route117_Text_BrandiIntro: @ 829D14B
.string "Let me demonstrate the power\n"
.string "hidden within a PSYCHIC POKéMON!$"
-Route117_Text_29D189: @ 829D189
+Route117_Text_BrandiDefeat: @ 829D189
.string "Astonishing!$"
-Route117_Text_29D196: @ 829D196
+Route117_Text_BrandiPostBattle: @ 829D196
.string "PSYCHIC POKéMON are complex.\n"
.string "You should try catching some.$"
-Route117_Text_29D1D1: @ 829D1D1
+Route117_Text_AishaIntro: @ 829D1D1
.string "Concentrate on getting the win.\n"
.string "That's how I battle!$"
-Route117_Text_29D206: @ 829D206
+Route117_Text_AishaDefeat: @ 829D206
.string "I don't waste any time being angry\n"
.string "over a loss--I would rather train.$"
-Route117_Text_29D24C: @ 829D24C
+Route117_Text_AishaPostBattle: @ 829D24C
.string "I think that if you worry about losing,\n"
.string "you're more likely to lose.$"
-Route118_Text_29D290: @ 829D290
+Route118_Text_RoseIntro: @ 829D290
.string "The aroma of flowers has a magical\n"
.string "power. It cleanses us body and soul.$"
-Route118_Text_29D2D8: @ 829D2D8
+Route118_Text_RoseDefeat: @ 829D2D8
.string "Oh, dear me.\n"
.string "I seem to have lost.$"
-Route118_Text_29D2FA: @ 829D2FA
+Route118_Text_RosePostBattle: @ 829D2FA
.string "Flowers, POKéMON…\n"
.string "I love whatever smells nice.\p"
.string "Stinky things…\n"
.string "I'll pass.$"
-Route118_Text_29D343: @ 829D343
+Route118_Text_RoseRegister: @ 829D343
.string "Sniff… That odor--it's a POKéNAV!\n"
.string "We must register each other!$"
-Route118_Text_29D382: @ 829D382
+Route118_Text_RoseRematchIntro: @ 829D382
.string "Were you drawn here by the sweet\n"
.string "aroma?$"
-Route118_Text_29D3AA: @ 829D3AA
+Route118_Text_RoseRematchDefeat: @ 829D3AA
.string "The power of aroma…\n"
.string "It didn't seem to do much.$"
-Route118_Text_29D3D9: @ 829D3D9
+Route118_Text_RosePostRematch: @ 829D3D9
.string "If you use a sweet aroma properly,\n"
.string "POKéMON will be attracted by it.$"
-Route118_Text_29D41D: @ 829D41D
+Route118_Text_PerryIntro: @ 829D41D
.string "BIRD POKéMON that FLY elegantly in\n"
.string "the sky… They're the best!$"
-Route118_Text_29D45B: @ 829D45B
+Route118_Text_PerryDefeat: @ 829D45B
.string "Urgh…\n"
.string "I crashed…$"
-Route118_Text_29D46C: @ 829D46C
+Route118_Text_PerryPostBattle: @ 829D46C
.string "You've got great POKéMON.\n"
.string "I'll have to train mine better.$"
-Route118_Text_29D4A6: @ 829D4A6
+Route118_Text_ChesterIntro: @ 829D4A6
.string "Take flight!\n"
.string "My BIRD POKéMON!$"
-Route118_Text_29D4C4: @ 829D4C4
+Route118_Text_ChesterDefeat: @ 829D4C4
.string "They did take flight…$"
-Route118_Text_29D4DA: @ 829D4DA
+Route118_Text_ChesterPostBattle: @ 829D4DA
.string "If they'd get stronger, they'd be able\n"
.string "to fly more freely…$"
-Route118_Text_29D515: @ 829D515
+Route118_Text_BarnyIntro: @ 829D515
.string "I'm a FISHERMAN, but also a TRAINER.\n"
.string "I'm raising the POKéMON I caught.$"
-Route118_Text_29D55C: @ 829D55C
+Route118_Text_BarnyDefeat: @ 829D55C
.string "I thought I was doing okay in my\n"
.string "training…$"
-Route118_Text_29D587: @ 829D587
+Route118_Text_BarnyPostBattle: @ 829D587
.string "I couldn't win by training POKéMON\n"
.string "while I fished…\p"
.string "Was I doing things in half measures?$"
-Route118_Text_29D5DF: @ 829D5DF
+Route118_Text_WadeIntro: @ 829D5DF
.string "For FISHERMEN, equipment is the key.\p"
.string "But for TRAINERS, the key ingredients\n"
.string "are POKéMON and heart, of course!$"
-Route118_Text_29D64C: @ 829D64C
+Route118_Text_WadeDefeat: @ 829D64C
.string "I was beaten in heart?$"
-Route118_Text_29D663: @ 829D663
+Route118_Text_WadePostBattle: @ 829D663
.string "Come to think of it, fishing is a battle\n"
.string "between a FISHERMAN and a POKéMON.$"
-Route118_Text_29D6AF: @ 829D6AF
+Route118_Text_DaltonIntro: @ 829D6AF
.string "Let my melody rock your soul!$"
-Route118_Text_29D6CD: @ 829D6CD
+Route118_Text_DaltonDefeat: @ 829D6CD
.string "La-lalala…$"
-Route118_Text_29D6D8: @ 829D6D8
+Route118_Text_DaltonPostBattle: @ 829D6D8
.string "An electric guitar doesn't always\n"
.string "have to be noisy…\p"
.string "It can be strummed to squeeze out\n"
.string "this heart-stirring melody…$"
-Route118_Text_29D74A: @ 829D74A
+Route118_Text_DaltonRegister: @ 829D74A
.string "When I compose better melodies,\n"
.string "you have to come listen, okay?$"
-Route118_Text_29D789: @ 829D789
+Route118_Text_DaltonRematchIntro: @ 829D789
.string "A melody from my POKéMON and me…\n"
.string "Let us deliver it to your soul.$"
-Route118_Text_29D7CA: @ 829D7CA
+Route118_Text_DaltonRematchDefeat: @ 829D7CA
.string "La-lalala…$"
-Route118_Text_29D7D5: @ 829D7D5
+Route118_Text_DaltonPostRematch: @ 829D7D5
.string "When I play, my emotions should reach\n"
.string "you through my electric guitar…$"
-Route118_Text_29D81B: @ 829D81B
+Route118_Text_DeandreIntro: @ 829D81B
.string "Go, go, go!\n"
.string "POKéMON 1, 2, and 3!$"
-Route118_Text_29D83C: @ 829D83C
+Route118_Text_DeandreDefeat: @ 829D83C
.string "Come in, POKéMON! Are you okay?\n"
.string "POKéMON 1, 2, and 3?!$"
-Route118_Text_29D872: @ 829D872
+Route118_Text_DeandrePostBattle: @ 829D872
.string "Isn't it cool that I have a POKéMON\n"
.string "battle team?\p"
.string "You can copy me--I don't mind!$"
-Route119_Text_29D8C2: @ 829D8C2
+Route119_Text_BrentIntro: @ 829D8C2
.string "We're the MIMIC CIRCLE!\n"
.string "We MIMIC what you do!$"
-Route119_Text_29D8F0: @ 829D8F0
+Route119_Text_BrentDefeat: @ 829D8F0
.string "Whoopsie!\n"
.string "I lost!$"
-Route119_Text_29D902: @ 829D902
+Route119_Text_BrentPostBattle: @ 829D902
.string "What's so good about mimicry?\p"
.string "Fufufu…\n"
.string "You'll never understand…$"
-Route119_Text_29D941: @ 829D941
+Route119_Text_DonaldIntro: @ 829D941
.string "So, we finally meet!\n"
.string "My BUG POKéMON will keep you company!$"
-Route119_Text_29D97C: @ 829D97C
+Route119_Text_DonaldDefeat: @ 829D97C
.string "I wish we'd never met…$"
-Route119_Text_29D993: @ 829D993
+Route119_Text_DonaldPostBattle: @ 829D993
.string "I want to MIMIC you some more.\n"
.string "Can you hurry up and move?$"
-Route119_Text_29D9CD: @ 829D9CD
+Route119_Text_TaylorIntro: @ 829D9CD
.string "If you step forward, we step forward.\p"
.string "If you turn right, we turn, too…$"
-Route119_Text_29DA14: @ 829DA14
+Route119_Text_TaylorDefeat: @ 829DA14
.string "But if you win, I lose…$"
-Route119_Text_29DA2C: @ 829DA2C
+Route119_Text_TaylorPostBattle: @ 829DA2C
.string "I can't MIMIC you winning the match.\n"
.string "That's just impossible…\l"
.string "It's burning me up…$"
-Route119_Text_29DA7D: @ 829DA7D
+Route119_Text_DougIntro: @ 829DA7D
.string "Yep, you've finally caught me!\n"
.string "Or were you trying to avoid me?$"
-Route119_Text_29DABC: @ 829DABC
+Route119_Text_DougDefeat: @ 829DABC
.string "Whoop, that was a great match!$"
-Route119_Text_29DADB: @ 829DADB
+Route119_Text_DougPostBattle: @ 829DADB
.string "We're the MIMIC CIRCLE!\n"
.string "I hope you enjoyed our performance.$"
-Route119_Text_29DB17: @ 829DB17
+Route119_Text_GregIntro: @ 829DB17
.string "You don't know who I am, do you?\p"
.string "But, I also don't know you.\n"
.string "So, we'll battle!$"
-Route119_Text_29DB66: @ 829DB66
+Route119_Text_GregDefeat: @ 829DB66
.string "You're pretty strong!$"
-Route119_Text_29DB7C: @ 829DB7C
+Route119_Text_GregPostBattle: @ 829DB7C
.string "Until you go away somewhere, we'll\n"
.string "keep on mimicking your every move.$"
-Route119_Text_29DBC2: @ 829DBC2
+Route119_Text_KentIntro: @ 829DBC2
.string "The MIMIC CIRCLE was formed by people\n"
.string "who like to MIMIC.\p"
.string "A battle starts the instant we meet!$"
-Route119_Text_29DC20: @ 829DC20
+Route119_Text_KentDefeat: @ 829DC20
.string "I give up!$"
-Route119_Text_29DC2B: @ 829DC2B
+Route119_Text_KentPostBattle: @ 829DC2B
.string "Won't you join our MIMIC CIRCLE?$"
-Route119_Text_29DC4C: @ 829DC4C
+Route119_Text_JacksonIntro: @ 829DC4C
.string "Who has the knowledge and\n"
.string "the technique for survival?\p"
.string "POKéMON RANGERS, that's who!$"
-Route119_Text_29DC9F: @ 829DC9F
+Route119_Text_JacksonDefeat: @ 829DC9F
.string "I didn't have enough POKéMON\n"
.string "know-how…$"
-Route119_Text_29DCC6: @ 829DCC6
+Route119_Text_JacksonPostBattle: @ 829DCC6
.string "To break away from civilization and\n"
.string "awaken the wild spirit within!\p"
.string "That's our vision.$"
-Route119_Text_29DD1C: @ 829DD1C
+Route119_Text_JacksonRegister: @ 829DD1C
.string "I hope you'll give me a rematch without\n"
.string "mocking my lack of knowledge.$"
-Route119_Text_29DD62: @ 829DD62
+Route119_Text_JacksonRematchIntro: @ 829DD62
.string "I'm going to regain my wild spirit by\n"
.string "being together with POKéMON.$"
-Route119_Text_29DDA5: @ 829DDA5
+Route119_Text_JacksonRematchDefeat: @ 829DDA5
.string "You've remained strong!$"
-Route119_Text_29DDBD: @ 829DDBD
+Route119_Text_JacksonPostRematch: @ 829DDBD
.string "Believe in your POKéMON.\n"
.string "Believe in yourself.\p"
.string "The road will reveal itself to you.$"
-Route119_Text_29DE0F: @ 829DE0F
+Route119_Text_CatherineIntro: @ 829DE0F
.string "Oh? Look at you.\p"
.string "For someone on an adventure,\n"
.string "you're traveling awfully light.$"
-Route119_Text_29DE5D: @ 829DE5D
+Route119_Text_CatherineDefeat: @ 829DE5D
.string "Accidents happen when you're not\n"
.string "prepared!$"
-Route119_Text_29DE88: @ 829DE88
+Route119_Text_CatherinePostBattle: @ 829DE88
.string "You're traveling light but you have\n"
.string "everything you need.\p"
.string "You're on top of things mentally and\n"
.string "physically, too.$"
-Route119_Text_29DEF7: @ 829DEF7
+Route119_Text_CatherineRegister: @ 829DEF7
.string "Do you have a POKéNAV?\n"
.string "It's a must-have tool for any TRAINER.\p"
.string "Oh, you do have one!\n"
.string "Let's register each other, then!$"
-Route119_Text_29DF6B: @ 829DF6B
+Route119_Text_CatherineRematchIntro: @ 829DF6B
.string "How's your journey with POKéMON\n"
.string "going?$"
-Route119_Text_29DF92: @ 829DF92
+Route119_Text_CatherineRematchDefeat: @ 829DF92
.string "I'm still missing something…$"
-Route119_Text_29DFAF: @ 829DFAF
+Route119_Text_CatherinePostRematch: @ 829DFAF
.string "In the same way that you, as a TRAINER,\n"
.string "rely on your POKéMON, your POKéMON\l"
.string "rely on you.$"
-Route119_Text_29E007: @ 829E007
+Route119_Text_HughIntro: @ 829E007
.string "The vast sky holds untold promise!\p"
.string "Nothing can compare to the sheer\n"
.string "exhilaration of flight!$"
-Route119_Text_29E063: @ 829E063
+Route119_Text_HughDefeat: @ 829E063
.string "Down and out!$"
-Route119_Text_29E071: @ 829E071
+Route119_Text_HughPostBattle: @ 829E071
.string "My BIRD POKéMON made my dreams of\n"
.string "flying come true!$"
-Route119_Text_29E0A5: @ 829E0A5
+Route119_Text_PhilIntro: @ 829E0A5
.string "I'll show you the true potential of me\n"
.string "and my BIRD POKéMON!$"
-Route119_Text_29E0E1: @ 829E0E1
+Route119_Text_PhilDefeat: @ 829E0E1
.string "We lacked potential…$"
-Route119_Text_29E0F6: @ 829E0F6
+Route119_Text_PhilPostBattle: @ 829E0F6
.string "Ever since I was a little kid, I always\n"
.string "admired BIRD POKéMON…$"
-Route119_Text_29E134: @ 829E134
+Route119_Text_YasuIntro: @ 829E134
.string "To lurk in shadows, and live in\n"
.string "darkness… That is my destiny.\p"
.string "I emerge to challenge you!$"
-Route119_Text_29E18D: @ 829E18D
+Route119_Text_YasuDefeat: @ 829E18D
.string "I admit defeat!$"
-Route119_Text_29E19D: @ 829E19D
+Route119_Text_YasuPostBattle: @ 829E19D
.string "Those defeated in battle withdraw\n"
.string "quietly back into the shadows.\l"
.string "That, too, is destiny…$"
-Route119_Text_29E1F5: @ 829E1F5
+Route119_Text_TakashiIntro: @ 829E1F5
.string "If you're not on your guard,\n"
.string "you're in for some pain!$"
-Route119_Text_29E22B: @ 829E22B
+Route119_Text_TakashiDefeat: @ 829E22B
.string "You're surprisingly good!$"
-Route119_Text_29E245: @ 829E245
+Route119_Text_TakashiPostBattle: @ 829E245
.string "My surprise attack ended in\n"
.string "failure…$"
-Route119_Text_29E26A: @ 829E26A
+Route119_Text_HideoIntro: @ 829E26A
.string "To hide a tree, use a forest!$"
-Route119_Text_29E288: @ 829E288
+Route119_Text_HideoDefeat: @ 829E288
.string "I bow to your superiority.$"
-Route119_Text_29E2A3: @ 829E2A3
+Route119_Text_HideoPostBattle: @ 829E2A3
.string "To hide a tree, use a forest!\n"
.string "To hide a POKéMON, use a POKéMON!\p"
.string "There is no deep, hidden meaning\n"
.string "to that.$"
-Route119_Text_29E30D: @ 829E30D
+Route119_Text_ChrisIntro: @ 829E30D
.string "You spoke to me…\n"
.string "So you want to challenge me!\p"
.string "Sure! I'll try out the POKéMON I caught\n"
.string "while SURFING!$"
-Route119_Text_29E372: @ 829E372
+Route119_Text_ChrisDefeat: @ 829E372
.string "I don't have a clue about what it\n"
.string "takes to win.$"
-Route119_Text_29E3A2: @ 829E3A2
+Route119_Text_ChrisPostBattle: @ 829E3A2
.string "Go for a SURF on my POKéMON…\p"
.string "Then fish off its back…\p"
.string "It's an indescribably luxuriant moment!$"
-Route119_Text_29E3FF: @ 829E3FF
+Route119_Text_FabianIntro: @ 829E3FF
.string "Hit me with a power chord!\n"
.string "Victory is mine!\l"
.string "It's our time to shine, whoa, yeah!$"
-Route119_Text_29E44F: @ 829E44F
+Route119_Text_FabianDefeat: @ 829E44F
.string "You showed me who's the boss!\n"
.string "We'll have to take the loss, oh, no!$"
-Route119_Text_29E492: @ 829E492
+Route119_Text_FabianPostBattle: @ 829E492
.string "Hit me with another power chord!\n"
.string "Leave me alone!\l"
.string "Your win you have to atone!$"
-Route119_Text_29E4DF: @ 829E4DF
+Route119_Text_DaytonIntro: @ 829E4DF
.string "Hohoho!\n"
.string "I like kid TRAINERS!\l"
.string "Let's have a good one!$"
-Route119_Text_29E513: @ 829E513
+Route119_Text_DaytonDefeat: @ 829E513
.string "You're pretty amazing!\n"
.string "Hohoho!$"
-Route119_Text_29E532: @ 829E532
+Route119_Text_DaytonPostBattle: @ 829E532
.string "Hohoho!\n"
.string "I'll try emulating the pep of kid\l"
.string "TRAINERS like you!$"
-Route119_Text_29E56F: @ 829E56F
+Route119_Text_RachelIntro: @ 829E56F
.string "Wherever and whenever I may be,\n"
.string "I always have my parasol in hand.$"
-Route119_Text_29E5B1: @ 829E5B1
+Route119_Text_RachelDefeat: @ 829E5B1
.string "Oh, but…\n"
.string "That's not fair.$"
-Route119_Text_29E5CB: @ 829E5CB
+Route119_Text_RachelPostBattle: @ 829E5CB
.string "You're asking if my parasol is heavy?\n"
.string "Your BAG is filled with more junk than\l"
.string "I ever carry around.$"
-Route120_Text_29E62D: @ 829E62D
+Route120_Text_ColinIntro: @ 829E62D
.string "Do you have any moves that can strike\n"
.string "a flying POKéMON?$"
-Route120_Text_29E665: @ 829E665
+Route120_Text_ColinDefeat: @ 829E665
.string "You soared above me!$"
-Route120_Text_29E67A: @ 829E67A
+Route120_Text_ColinPostBattle: @ 829E67A
.string "The move FLY is convenient,\n"
.string "don't you think?\p"
.string "While the POKéMON is flying,\n"
.string "almost no moves can strike it.$"
-Route120_Text_29E6E3: @ 829E6E3
+Route120_Text_RobertIntro: @ 829E6E3
.string "My POKéMON is strong!\n"
.string "How about yours?$"
-Route120_Text_29E70A: @ 829E70A
+Route120_Text_RobertDefeat: @ 829E70A
.string "Your POKéMON were stronger…$"
-Route120_Text_29E726: @ 829E726
+Route120_Text_RobertPostBattle: @ 829E726
.string "A POKéMON that grows steadily is one\n"
.string "you can count on.$"
-Route120_Text_29E75D: @ 829E75D
+Route120_Text_RobertRegister: @ 829E75D
.string "You can be counted on to get better.\n"
.string "I'd like to register you in my POKéNAV!$"
-Route120_Text_29E7AA: @ 829E7AA
+Route120_Text_RobertRematchIntro: @ 829E7AA
.string "A POKéMON that grows steadily is one\n"
.string "you can count on.$"
-Route120_Text_29E7E1: @ 829E7E1
+Route120_Text_RobertRematchDefeat: @ 829E7E1
.string "Your POKéMON are seriously strong.$"
-Route120_Text_29E804: @ 829E804
+Route120_Text_RobertPostRematch: @ 829E804
.string "My POKéMON are growing stronger.\n"
.string "I have to grow stronger, too.$"
-Route120_Text_29E843: @ 829E843
+Route120_Text_LorenzoIntro: @ 829E843
.string "I'll check your POKéMON and see if\n"
.string "they're fit for the outdoors.$"
-Route120_Text_29E884: @ 829E884
+Route120_Text_LorenzoDefeat: @ 829E884
.string "With POKéMON that strong, you're in\n"
.string "no danger of needing rescue!$"
-Route120_Text_29E8C5: @ 829E8C5
+Route120_Text_LorenzoPostBattle: @ 829E8C5
.string "To travel wherever your heart desires\n"
.string "with POKéMON…\l"
.string "That's the joy of being a TRAINER.$"
-Route120_Text_29E91C: @ 829E91C
+Route120_Text_JennaIntro: @ 829E91C
.string "How's your physical fitness?\n"
.string "If you're not fit, you could have a\l"
.string "rough time in critical situations.$"
-Route120_Text_29E980: @ 829E980
+Route120_Text_JennaDefeat: @ 829E980
.string "I'm totally fit, but…$"
-Route120_Text_29E996: @ 829E996
+Route120_Text_JennaPostBattle: @ 829E996
.string "Fitness training is in my routine.\n"
.string "I always run with my POKéMON.$"
-Route120_Text_29E9D7: @ 829E9D7
+Route120_Text_JeffreyIntro: @ 829E9D7
.string "… … … … … …\n"
.string "… … … … … …\l"
.string "Want to battle?$"
-Route120_Text_29E9FF: @ 829E9FF
+Route120_Text_JeffreyDefeat: @ 829E9FF
.string "Lost it…$"
-Route120_Text_29EA08: @ 829EA08
+Route120_Text_JeffreyPostBattle: @ 829EA08
.string "… … … … … …\n"
.string "… … … … … …\l"
.string "I'll try harder…$"
-Route120_Text_29EA31: @ 829EA31
+Route120_Text_JeffreyRegister: @ 829EA31
.string "… … … … … …\n"
.string "… … … … … …\l"
.string "Do you have a POKéNAV…?$"
-Route120_Text_29EA61: @ 829EA61
+Route120_Text_JeffreyRematchIntro: @ 829EA61
.string "… … … … … …\n"
.string "… … … … … …\l"
.string "Want to battle again?$"
-Route120_Text_29EA8F: @ 829EA8F
+Route120_Text_JeffreyRematchDefeat: @ 829EA8F
.string "… … … … … …\n"
.string "I lost again…$"
-Route120_Text_29EAA9: @ 829EAA9
+Route120_Text_JeffreyPostRematch: @ 829EAA9
.string "… … … … … …\n"
.string "… … … … … …\l"
.string "I'll try harder…\l"
.string "For my precious BUG POKéMON…$"
-Route120_Text_29EAEF: @ 829EAEF
+Route120_Text_JenniferIntro: @ 829EAEF
.string "POKéMON have many special abilities.\n"
.string "If you want to become a first-class\l"
.string "TRAINER, learn about them.$"
-Route120_Text_29EB53: @ 829EB53
+Route120_Text_JenniferDefeat: @ 829EB53
.string "You're obviously thinking.$"
-Route120_Text_29EB6E: @ 829EB6E
+Route120_Text_JenniferPostBattle: @ 829EB6E
.string "The special abilities of POKéMON\n"
.string "will make battle styles change.$"
-Route120_Text_29EBAF: @ 829EBAF
+Route120_Text_ChipIntro: @ 829EBAF
.string "Who might you be?\p"
.string "Are you perhaps searching for ancient\n"
.string "ruins that are rumored to possibly\l"
.string "exist according to legend?$"
-Route120_Text_29EC25: @ 829EC25
+Route120_Text_ChipDefeat: @ 829EC25
.string "What a disgraceful setback…$"
-Route120_Text_29EC41: @ 829EC41
+Route120_Text_ChipPostBattle: @ 829EC41
.string "That giant rock… I would like to\n"
.string "believe it may indeed contain ancient\l"
.string "ruins. But I see no entrance.$"
-Route120_Text_29ECA6: @ 829ECA6
+Route120_Text_ClarissaIntro: @ 829ECA6
.string "Why am I carrying this parasol?\p"
.string "I'll tell you if you can win against me.$"
-Route120_Text_29ECEF: @ 829ECEF
+Route120_Text_ClarissaDefeat: @ 829ECEF
.string "A parasol can't ward off POKéMON\n"
.string "attacks…$"
-Route120_Text_29ED19: @ 829ED19
+Route120_Text_ClarissaPostBattle: @ 829ED19
.string "I don't think strong sunlight is good\n"
.string "for my POKéMON.\l"
.string "So I shield them with my parasol.$"
-Route120_Text_29ED71: @ 829ED71
+Route120_Text_AngelicaIntro: @ 829ED71
.string "Me, POKéMON, and my parasol…\p"
.string "If any one of them is missing,\n"
.string "the picture of beauty will be ruined.$"
-Route120_Text_29EDD3: @ 829EDD3
+Route120_Text_AngelicaDefeat: @ 829EDD3
.string "You've completely ruined my beauty…$"
-Route120_Text_29EDF7: @ 829EDF7
+Route120_Text_AngelicaPostBattle: @ 829EDF7
.string "A parasol wouldn't suit you at all.\p"
.string "Why, something like this would only\n"
.string "get in your way.$"
-Route120_Text_29EE50: @ 829EE50
+Route120_Text_KeigoIntro: @ 829EE50
.string "I will adopt the movements of POKéMON\n"
.string "and create new ninja techniques.$"
-Route120_Text_29EE97: @ 829EE97
+Route120_Text_KeigoDefeat: @ 829EE97
.string "The creation of new ninja techniques\n"
.string "is but a distant dream…$"
-Route120_Text_29EED4: @ 829EED4
+Route120_Text_KeigoPostBattle: @ 829EED4
.string "Perhaps I ought to apprentice under\n"
.string "a ninja sensei.$"
-Route120_Text_29EF08: @ 829EF08
+Route120_Text_RileyIntro: @ 829EF08
.string "We ninja conceal ourselves under our\n"
.string "camouflage cloaks.\l"
.string "I bet you didn't know where I was!$"
-Route120_Text_29EF63: @ 829EF63
+Route120_Text_RileyDefeat: @ 829EF63
.string "I lost!\n"
.string "I should camouflage my shame!$"
-Route120_Text_29EF89: @ 829EF89
+Route120_Text_RileyPostBattle: @ 829EF89
.string "Our camouflage cloaks are all\n"
.string "handmade.$"
-Route120_Text_29EFB1: @ 829EFB1
+Route120_Text_CallieIntro: @ 829EFB1
.string "If you don't pay attention,\n"
.string "you could get hurt!$"
-Route120_Text_29EFE1: @ 829EFE1
+Route120_Text_CallieDefeat: @ 829EFE1
.string "Ouch!\n"
.string "I was the one to get hurt.$"
-Route120_Text_29F002: @ 829F002
+Route120_Text_CalliePostBattle: @ 829F002
.string "I wonder… Should I evolve my POKéMON?\n"
.string "They're cute the way they are, though.$"
-Route120_Text_29F04F: @ 829F04F
+Route120_Text_LeonelIntro: @ 829F04F
.string "Your party POKéMON…\n"
.string "Do you have different types?$"
-Route120_Text_29F080: @ 829F080
+Route120_Text_LeonelDefeat: @ 829F080
.string "I've seen your policy in action!$"
-Route120_Text_29F0A1: @ 829F0A1
+Route120_Text_LeonelPostBattle: @ 829F0A1
.string "I think it's awesome you're so strong\n"
.string "battling with your favorite POKéMON.$"
-Route121_Text_29F0EC: @ 829F0EC
+Route121_Text_VanessaIntro: @ 829F0EC
.string "Will you play with my delightfully\n"
.string "pretty POKéMON?$"
-Route121_Text_29F11F: @ 829F11F
+Route121_Text_VanessaDefeat: @ 829F11F
.string "This isn't what I meant!$"
-Route121_Text_29F138: @ 829F138
+Route121_Text_VanessaPostBattle: @ 829F138
.string "I'm going to a CONTEST in LILYCOVE.\p"
.string "My POKéMON should have no problem\n"
.string "sweeping the MASTER CLASS.$"
-Route121_Text_29F199: @ 829F199
+Route121_Text_WalterIntro: @ 829F199
.string "With my POKéMON, I have traveled\n"
.string "to the world's four corners.\p"
.string "You might say I have some confidence\n"
.string "in my abilities.$"
-Route121_Text_29F20D: @ 829F20D
+Route121_Text_WalterDefeat: @ 829F20D
.string "Ah, well played.$"
-Route121_Text_29F21E: @ 829F21E
+Route121_Text_WalterPostBattle: @ 829F21E
.string "I would like to circle the globe once\n"
.string "again with my POKéMON.$"
-Route121_Text_29F25B: @ 829F25B
+Route121_Text_WalterRegister: @ 829F25B
.string "Your POKéMON prowess is remarkable.\n"
.string "Allow me to register you as a memento.$"
-Route121_Text_29F2A6: @ 829F2A6
+Route121_Text_WalterRematchIntro: @ 829F2A6
.string "With my POKéMON, I have traveled\n"
.string "to the world's four corners.\p"
.string "You might say I have some confidence\n"
.string "in my abilities.$"
-Route121_Text_29F31A: @ 829F31A
+Route121_Text_WalterRematchDefeat: @ 829F31A
.string "Ah, well played.$"
-Route121_Text_29F32B: @ 829F32B
+Route121_Text_WalterPostRematch: @ 829F32B
.string "Your POKéMON and you…\p"
.string "Your prowess together will be\n"
.string "considered strong, even overseas.$"
-Route121_Text_29F381: @ 829F381
+Route121_Text_TammyIntro: @ 829F381
.string "There are powers beyond our\n"
.string "understanding in the world…$"
-Route121_Text_29F3B9: @ 829F3B9
+Route121_Text_TammyDefeat: @ 829F3B9
.string "I have lost…$"
-Route121_Text_29F3C6: @ 829F3C6
+Route121_Text_TammyPostBattle: @ 829F3C6
.string "MT. PYRE…\n"
.string "There is a mysterious power\l"
.string "at work there…$"
-Route121_Text_29F3FB: @ 829F3FB
+Route121_Text_KateIntro: @ 829F3FB
.string "KATE: Together, we're fearless!\n"
.string "We'll demonstrate how tough we are!$"
-Route121_Text_29F43F: @ 829F43F
+Route121_Text_KateDefeat: @ 829F43F
.string "KATE: I blew it in front of my junior\n"
.string "student partner…$"
-Route121_Text_29F476: @ 829F476
+Route121_Text_KatePostBattle: @ 829F476
.string "KATE: When someone's relying on me,\n"
.string "I get this urge to look cool in front\l"
.string "of them…$"
-Route121_Text_29F4C9: @ 829F4C9
+Route121_Text_KateNotEnoughMons: @ 829F4C9
.string "KATE: If you've only got one POKéMON,\n"
.string "we can't battle with you.\p"
.string "That would be bullying.$"
-Route121_Text_29F521: @ 829F521
+Route121_Text_JoyIntro: @ 829F521
.string "JOY: Together, we're fearless!\n"
.string "We'll demonstrate how tough we are!$"
-Route121_Text_29F564: @ 829F564
+Route121_Text_JoyDefeat: @ 829F564
.string "JOY: Please forgive me, KATE!$"
-Route121_Text_29F582: @ 829F582
+Route121_Text_JoyPostBattle: @ 829F582
.string "JOY: Ehehe, I'll have to train with KATE,\n"
.string "my senior student partner, again.$"
-Route121_Text_29F5CE: @ 829F5CE
+Route121_Text_JoyNotEnoughMons: @ 829F5CE
.string "JOY: You need at least two POKéMON\n"
.string "if you're going to challenge us!$"
-Route121_Text_29F612: @ 829F612
+Route121_Text_JessicaIntro: @ 829F612
.string "Stop! Have a good look at my precious\n"
.string "POKéMON!$"
-Route121_Text_29F641: @ 829F641
+Route121_Text_JessicaDefeat: @ 829F641
.string "Oh, how dare you!\n"
.string "Don't take it so seriously!$"
-Route121_Text_29F66F: @ 829F66F
+Route121_Text_JessicaPostBattle: @ 829F66F
.string "Maybe I'll go catch more POKéMON at\n"
.string "the SAFARI.$"
-Route121_Text_29F69F: @ 829F69F
+Route121_Text_JessicaRegister: @ 829F69F
.string "I took it easy on you this time!\n"
.string "It won't be that way the next time!$"
-Route121_Text_29F6E4: @ 829F6E4
+Route121_Text_JessicaRematchIntro: @ 829F6E4
.string "My precious POKéMON grew!\n"
.string "Have a good look!$"
-Route121_Text_29F710: @ 829F710
+Route121_Text_JessicaRematchDefeat: @ 829F710
.string "Oh, how dare you!\n"
.string "You still won't take it easy!$"
-Route121_Text_29F740: @ 829F740
+Route121_Text_JessicaPostRematch: @ 829F740
.string "Maybe I'll go catch more POKéMON at\n"
.string "the SAFARI.$"
-Route121_Text_29F770: @ 829F770
+Route121_Text_CristinIntro: @ 829F770
.string "I have this routine.\n"
.string "Defeat five TRAINERS a day.\l"
.string "Guess what? You're number five!$"
-Route121_Text_29F7C1: @ 829F7C1
+Route121_Text_CristinDefeat: @ 829F7C1
.string "No!\n"
.string "You're horrid!$"
-Route121_Text_29F7D4: @ 829F7D4
+Route121_Text_CristinPostBattle: @ 829F7D4
.string "I didn't expect to lose this easily…\n"
.string "I'll win next time!$"
-Route121_Text_29F80D: @ 829F80D
+Route121_Text_CristinRegister: @ 829F80D
.string "That was total humiliation!\n"
.string "I won't forget you…\l"
.string "Hand over your POKéNAV!$"
-Route121_Text_29F855: @ 829F855
+Route121_Text_CristinRematchIntro: @ 829F855
.string "I have this new routine.\n"
.string "Defeat ten TRAINERS a day.\l"
.string "Guess what? You're number ten!$"
-Route121_Text_29F8A8: @ 829F8A8
+Route121_Text_CristinRematchDefeat: @ 829F8A8
.string "Wait! That's nasty!\n"
.string "I demand a rematch!$"
-Route121_Text_29F8D0: @ 829F8D0
+Route121_Text_CristinPostRematch: @ 829F8D0
.string "An opponent I just can't beat…\n"
.string "Snivel…\l"
.string "I can't believe this is happening…$"
-Route121_Text_29F91A: @ 829F91A
+Route121_Text_CaleIntro: @ 829F91A
.string "Can't you see that I have all this\n"
.string "stuff with me?\p"
.string "Despite that, you still insist that\n"
.string "we battle?$"
-Route121_Text_29F97B: @ 829F97B
+Route121_Text_CaleDefeat: @ 829F97B
.string "Of course I lost!\n"
.string "I'm holding stuff in both hands!$"
-Route121_Text_29F9AE: @ 829F9AE
+Route121_Text_CalePostBattle: @ 829F9AE
.string "I bought too much stuff at\n"
.string "the LILYCOVE DEPT. STORE.\p"
.string "It's up the road from here.\n"
.string "I wish I had a BAG like yours.$"
-Route121_Text_29FA1E: @ 829FA1E
+Route121_Text_MylesIntro: @ 829FA1E
.string "There's nothing I love more than\n"
.string "checking out other people's POKéMON!$"
-Route121_Text_29FA64: @ 829FA64
+Route121_Text_MylesDefeat: @ 829FA64
.string "Super awesome!$"
-Route121_Text_29FA73: @ 829FA73
+Route121_Text_MylesPostBattle: @ 829FA73
.string "They're great, your POKéMON!\n"
.string "How do you raise them?$"
-Route121_Text_29FAA7: @ 829FAA7
+Route121_Text_PatIntro: @ 829FAA7
.string "I want everybody to see the POKéMON\n"
.string "I've raised!$"
-Route121_Text_29FAD8: @ 829FAD8
+Route121_Text_PatDefeat: @ 829FAD8
.string "Wow!\n"
.string "Spectacular!$"
-Route121_Text_29FAEA: @ 829FAEA
+Route121_Text_PatPostBattle: @ 829FAEA
.string "I raise every POKéMON with the same\n"
.string "love and care--I don't pick favorites.$"
-Route121_Text_29FB35: @ 829FB35
+Route121_Text_MarcelIntro: @ 829FB35
.string "My POKéMON have never tasted defeat!\n"
.string "On their next win, I'm entering them\l"
.string "in CONTESTS.$"
-Route121_Text_29FB8C: @ 829FB8C
+Route121_Text_MarcelDefeat: @ 829FB8C
.string "Oh, now what happened here?$"
-Route121_Text_29FBA8: @ 829FBA8
+Route121_Text_MarcelPostBattle: @ 829FBA8
.string "I may have to train my gang some more\n"
.string "before entering any CONTEST.$"
-Route123_Text_29FBEB: @ 829FBEB
+Route123_Text_WendyIntro: @ 829FBEB
.string "Want to determine how strong you are?\n"
.string "I'll be the test!$"
-Route123_Text_29FC23: @ 829FC23
+Route123_Text_WendyDefeat: @ 829FC23
.string "You passed with flying colors!$"
-Route123_Text_29FC42: @ 829FC42
+Route123_Text_WendyPostBattle: @ 829FC42
.string "To best even me…\n"
.string "Your strength is marvelous!$"
-Route123_Text_29FC6F: @ 829FC6F
+Route123_Text_BraxtonIntro: @ 829FC6F
.string "You seem to have a big collection\n"
.string "of GYM BADGES.\p"
.string "Let me see if you're actually worthy of\n"
.string "those BADGES!$"
-Route123_Text_29FCD6: @ 829FCD6
+Route123_Text_BraxtonDefeat: @ 829FCD6
.string "Oh, you're worthy, all right!$"
-Route123_Text_29FCF4: @ 829FCF4
+Route123_Text_BraxtonPostBattle: @ 829FCF4
.string "You did your BADGES proud in that\n"
.string "match!$"
-Route123_Text_29FD1D: @ 829FD1D
+Route123_Text_VioletIntro: @ 829FD1D
.string "They say that good times are filled\n"
.string "with good aromas.$"
-Route123_Text_29FD53: @ 829FD53
+Route123_Text_VioletDefeat: @ 829FD53
.string "Oh…\n"
.string "I smell the bitter scent of misery…$"
-Route123_Text_29FD7B: @ 829FD7B
+Route123_Text_VioletPostBattle: @ 829FD7B
.string "The BERRY MASTER's garden is filled\n"
.string "with uplifting fragrances.$"
-Route123_Text_29FDBA: @ 829FDBA
+Route123_Text_CameronIntro: @ 829FDBA
.string "Being a psychic is about willpower.\p"
.string "I've willed myself not to lose to\n"
.string "anyone. That makes me strong!$"
-Route123_Text_29FE1E: @ 829FE1E
+Route123_Text_CameronDefeat: @ 829FE1E
.string "I feel sad…$"
-Route123_Text_29FE2A: @ 829FE2A
+Route123_Text_CameronPostBattle: @ 829FE2A
.string "Being a psychic is about willpower.\n"
.string "I thought I wouldn't lose to you…$"
-Route123_Text_29FE70: @ 829FE70
+Route123_Text_CameronRegister: @ 829FE70
.string "I sense it!\n"
.string "You and I shall battle again!\l"
.string "I can't tell if I'll win, though…\p"
.string "Let's see your POKéNAV.$"
-Route123_Text_29FED4: @ 829FED4
+Route123_Text_CameronRematchIntro: @ 829FED4
.string "I've convinced myself that I won't\n"
.string "lose anymore. That makes me strong!$"
-Route123_Text_29FF1B: @ 829FF1B
+Route123_Text_CameronRematchDefeat: @ 829FF1B
.string "I feel sad…$"
-Route123_Text_29FF27: @ 829FF27
+Route123_Text_CameronPostRematch: @ 829FF27
.string "I should train at MT. PYRE…\n"
.string "I'll never beat you this way…$"
-Route123_Text_29FF61: @ 829FF61
+Route123_Text_JackiIntro: @ 829FF61
.string "Don't be too happy if your POKéMON\n"
.string "develop psychic powers.\p"
.string "You need to refine those powers to\n"
.string "make them really useful.$"
-Route123_Text_29FFD8: @ 829FFD8
+Route123_Text_JackiDefeat: @ 829FFD8
.string "Overwhelmed!$"
-Route123_Text_29FFE5: @ 829FFE5
+Route123_Text_JackiPostBattle: @ 829FFE5
.string "We all have psychic powers.\n"
.string "We've just forgotten how to use them.$"
-Route123_Text_2A0027: @ 82A0027
+Route123_Text_JackiRegister: @ 82A0027
.string "I would like to face you again.\n"
.string "Is that okay with you?$"
-Route123_Text_2A005E: @ 82A005E
+Route123_Text_JackiRematchIntro: @ 82A005E
.string "Have you awoken the psychic powers\n"
.string "within you?$"
-Route123_Text_2A008D: @ 82A008D
+Route123_Text_JackiRematchDefeat: @ 82A008D
.string "Astounding!$"
-Route123_Text_2A0099: @ 82A0099
+Route123_Text_JackiPostRematch: @ 82A0099
.string "Your power with POKéMON…\n"
.string "That could be a psychic power, too.$"
-Route123_Text_2A00D6: @ 82A00D6
+Route123_Text_MiuIntro: @ 82A00D6
.string "MIU: Hello, TRAINER. I hope your\n"
.string "POKéMON won't cry when they lose.$"
-Route123_Text_2A0119: @ 82A0119
+Route123_Text_MiuDefeat: @ 82A0119
.string "MIU: Uh-oh, we lost.$"
-Route123_Text_2A012E: @ 82A012E
+Route123_Text_MiuPostBattle: @ 82A012E
.string "MIU: TRAINER, your POKéMON are\n"
.string "strong because you are friends.$"
-Route123_Text_2A016D: @ 82A016D
+Route123_Text_MiuNotEnoughMons: @ 82A016D
.string "MIU: It's no fun to battle if you\n"
.string "don't have two POKéMON.$"
-Route123_Text_2A01A7: @ 82A01A7
+Route123_Text_YukiIntro: @ 82A01A7
.string "YUKI: Okay!\n"
.string "We're beating the TRAINER's POKéMON!$"
-Route123_Text_2A01D8: @ 82A01D8
+Route123_Text_YukiDefeat: @ 82A01D8
.string "YUKI: Uh-oh, we lost.$"
-Route123_Text_2A01EE: @ 82A01EE
+Route123_Text_YukiPostBattle: @ 82A01EE
.string "YUKI: Why are you so strong?\n"
.string "We've never lost before.$"
-Route123_Text_2A0224: @ 82A0224
+Route123_Text_YukiNotEnoughMons: @ 82A0224
.string "YUKI: It's no fun to battle if you\n"
.string "don't have two POKéMON.$"
-Route123_Text_2A025F: @ 82A025F
+Route123_Text_KindraIntro: @ 82A025F
.string "MT. PYRE…\n"
.string "Where the spirits of POKéMON sleep…\l"
.string "Will your POKéMON sleep?$"
-Route123_Text_2A02A6: @ 82A02A6
+Route123_Text_KindraDefeat: @ 82A02A6
.string "Overflowing with vitality…$"
-Route123_Text_2A02C1: @ 82A02C1
+Route123_Text_KindraPostBattle: @ 82A02C1
.string "MT. PYRE…\n"
.string "Where the spirits of POKéMON sleep…\p"
.string "It must overflow with a power that\n"
.string "soothes spirits…$"
-Route123_Text_2A0323: @ 82A0323
+Route123_Text_FernandoIntro: @ 82A0323
.string "I'll turn your lights out while\n"
.string "I rip through this tune!$"
-Route123_Text_2A035C: @ 82A035C
+Route123_Text_FernandoDefeat: @ 82A035C
.string "Hey, hold it!\n"
.string "I was still playing the intro!$"
-Route123_Text_2A0389: @ 82A0389
+Route123_Text_FernandoPostBattle: @ 82A0389
.string "You're rock steady.\n"
.string "I'd like to write a tune about you.$"
-Route123_Text_2A03C1: @ 82A03C1
+Route123_Text_FernandoRegister: @ 82A03C1
.string "The next time, lend your ears to\n"
.string "the full tune, will you?$"
-Route123_Text_2A03FB: @ 82A03FB
+Route123_Text_FernandoRematchIntro: @ 82A03FB
.string "Today's the day I'm going to do it!\n"
.string "I'll turn out your lights before\l"
.string "I finish singing my song!$"
-Route123_Text_2A045A: @ 82A045A
+Route123_Text_FernandoRematchDefeat: @ 82A045A
.string "Hey, hold it!\n"
.string "I haven't even hit the chorus!$"
-Route123_Text_2A0487: @ 82A0487
+Route123_Text_FernandoPostRematch: @ 82A0487
.string "I thought you'd be so enthralled\n"
.string "by my tune, you'd lose.$"
-Route123_Text_2A04C0: @ 82A04C0
+Route123_Text_DavisIntro: @ 82A04C0
.string "This is my awesome BUG POKéMON!\n"
.string "My big brother got it for me.$"
-Route123_Text_2A04FE: @ 82A04FE
+Route123_Text_DavisDefeat: @ 82A04FE
.string "Waaaah!\n"
.string "You meanie!$"
-Route123_Text_2A0512: @ 82A0512
+Route123_Text_DavisPostBattle: @ 82A0512
.string "Don't tell my brother I lost.\n"
.string "You have to keep it a secret!$"
-Route123_Text_2A054E: @ 82A054E
+Route123_Text_JazmynIntro: @ 82A054E
.string "My confidence will get a boost by\n"
.string "beating someone obviously strong!$"
-Route123_Text_2A0592: @ 82A0592
+Route123_Text_JazmynDefeat: @ 82A0592
.string "There goes my confidence…$"
-Route123_Text_2A05AC: @ 82A05AC
+Route123_Text_JazmynPostBattle: @ 82A05AC
.string "They say that you can't judge a person\n"
.string "by their appearance.\p"
.string "But often, their looks don't lie…$"
-Route123_Text_2A060A: @ 82A060A
+Route123_Text_FrederickIntro: @ 82A060A
.string "Hello, child!\n"
.string "Can you spare some time?$"
-Route123_Text_2A0631: @ 82A0631
+Route123_Text_FrederickDefeat: @ 82A0631
.string "Ah, a mighty capable child!\n"
.string "Let me contribute to your allowance.$"
-Route123_Text_2A0672: @ 82A0672
+Route123_Text_FrederickPostBattle: @ 82A0672
.string "Contribute to your allowance?\n"
.string "Wasn't the prize money enough?$"
-Route123_Text_2A06AF: @ 82A06AF
+Route123_Text_AlbertoIntro: @ 82A06AF
.string "I have to tell you, BIRD POKéMON\n"
.string "are my obsession!\p"
.string "Birds are cool!\n"
.string "They're the best!$"
-Route123_Text_2A0704: @ 82A0704
+Route123_Text_AlbertoDefeat: @ 82A0704
.string "Even in defeat, BIRD POKéMON are cool!$"
-Route123_Text_2A072B: @ 82A072B
+Route123_Text_AlbertoPostBattle: @ 82A072B
.string "I gather BIRD POKéMON feathers that\n"
.string "scatter during battles.\p"
.string "I'm going to make a hat with\n"
.string "BIRD POKéMON feathers.$"
-Route123_Text_2A079B: @ 82A079B
+Route123_Text_EdIntro: @ 82A079B
.string "When there are no TRAINERS around,\n"
.string "I let my POKéMON battle each other.\l"
.string "I watch them.$"
-Route123_Text_2A07F0: @ 82A07F0
+Route123_Text_EdDefeat: @ 82A07F0
.string "I kind of like your POKéMON.$"
-Route123_Text_2A080D: @ 82A080D
+Route123_Text_EdPostBattle: @ 82A080D
.string "Hehe, I'm swiping your battling ideas!\n"
.string "I think they'll make me better.$"
-Route123_Text_2A0854: @ 82A0854
+Route123_Text_JonasIntro: @ 82A0854
.string "I lay in ambush, and a TRAINER has\n"
.string "landed in my trap!$"
-Route123_Text_2A088A: @ 82A088A
+Route123_Text_JonasDefeat: @ 82A088A
.string "If you don't lose, how am I supposed\n"
.string "to have fun playing ninja?$"
-Route123_Text_2A08CA: @ 82A08CA
+Route123_Text_JonasPostBattle: @ 82A08CA
.string "I'm going to ambush a weaker-looking\n"
.string "TRAINER next time.$"
-Route123_Text_2A0902: @ 82A0902
+Route123_Text_KayleyIntro: @ 82A0902
.string "I just bought this parasol.\n"
.string "My cuteness should be up by a third!$"
-Route123_Text_2A0943: @ 82A0943
+Route123_Text_KayleyDefeat: @ 82A0943
.string "You're better than me by about\n"
.string "five times!$"
-Route123_Text_2A096E: @ 82A096E
+Route123_Text_KayleyPostBattle: @ 82A096E
.string "Using accessories effectively is\n"
.string "the secret behind fashion appeal.$"
-Route124_Text_2A09B1: @ 82A09B1
+Route124_Text_SpencerIntro: @ 82A09B1
.string "Hey, are you lost at sea?\p"
.string "If you can beat my POKéMON,\n"
.string "I can serve as your pilot.$"
-Route124_Text_2A0A02: @ 82A0A02
+Route124_Text_SpencerDefeat: @ 82A0A02
.string "I lost my bearings in battle!$"
-Route124_Text_2A0A20: @ 82A0A20
+Route124_Text_SpencerPostBattle: @ 82A0A20
.string "Many people lose their bearings at sea.\p"
.string "If you're that sort, you should refer\n"
.string "to the POKéNAV's MAP.$"
-Route124_Text_2A0A84: @ 82A0A84
+Route124_Text_RolandIntro: @ 82A0A84
.string "Hm! You're riding a POKéMON instead\n"
.string "of swimming yourself…\p"
.string "I am envious!$"
-Route124_Text_2A0ACC: @ 82A0ACC
+Route124_Text_RolandDefeat: @ 82A0ACC
.string "Oh!\n"
.string "I can't…$"
-Route124_Text_2A0AD9: @ 82A0AD9
+Route124_Text_RolandPostBattle: @ 82A0AD9
.string "I'm getting chilled…\n"
.string "I've been in the water too long…\p"
.string "I wish I could ride a POKéMON like you…$"
-Route124_Text_2A0B37: @ 82A0B37
+Route124_Text_JennyIntro: @ 82A0B37
.string "If you just float in the sea like\n"
.string "this, POKéMON come around to play.$"
-Route124_Text_2A0B7C: @ 82A0B7C
+Route124_Text_JennyDefeat: @ 82A0B7C
.string "Oh, darn.\n"
.string "I've gone and lost.$"
-Route124_Text_2A0B9A: @ 82A0B9A
+Route124_Text_JennyPostBattle: @ 82A0B9A
.string "While swimming, I noticed that some\n"
.string "POKéMON attack, and some just watch.\p"
.string "I guess POKéMON have personalities\n"
.string "of their own.$"
-Route124_Text_2A0C14: @ 82A0C14
+Route124_Text_JennyRegister: @ 82A0C14
.string "It's only on a whim, but maybe I'll get\n"
.string "you to register me in your POKéNAV.$"
-Route124_Text_2A0C60: @ 82A0C60
+Route124_Text_JennyRematchIntro: @ 82A0C60
.string "If you just float in the sea like this,\n"
.string "TRAINERS challenge you!$"
-Route124_Text_2A0CA0: @ 82A0CA0
+Route124_Text_JennyRematchDefeat: @ 82A0CA0
.string "That's strange…\n"
.string "I lost again…$"
-Route124_Text_2A0CBE: @ 82A0CBE
+Route124_Text_JennyPostRematch: @ 82A0CBE
.string "This has nothing to do with anything,\n"
.string "but maybe I'll visit the TRICK HOUSE.$"
-Route124_Text_2A0D0A: @ 82A0D0A
+Route124_Text_GraceIntro: @ 82A0D0A
.string "I'm growing bored of swimming…\n"
.string "How about a battle?$"
-Route124_Text_2A0D3D: @ 82A0D3D
+Route124_Text_GraceDefeat: @ 82A0D3D
.string "I had no idea that you were\n"
.string "this strong!$"
-Route124_Text_2A0D66: @ 82A0D66
+Route124_Text_GracePostBattle: @ 82A0D66
.string "All the effort you put in must have\n"
.string "made you this strong.$"
-Route124_Text_2A0DA0: @ 82A0DA0
+Route124_Text_ChadIntro: @ 82A0DA0
.string "Fufufufu… I dive deep underwater\n"
.string "to go deep under cover.\l"
.string "Plumbing the depths is where I excel!$"
-Route124_Text_2A0DFF: @ 82A0DFF
+Route124_Text_ChadDefeat: @ 82A0DFF
.string "Glub, glub, glub…\n"
.string "I'm sinking…$"
-Route124_Text_2A0E1E: @ 82A0E1E
+Route124_Text_ChadPostBattle: @ 82A0E1E
.string "I have it on good authority that\n"
.string "there's a DIVE spot around here.\p"
.string "It gives me the urge to go deep\n"
.string "again…$"
-Route124_Text_2A0E87: @ 82A0E87
+Route124_Text_LilaIntro: @ 82A0E87
.string "LILA: Sigh…\p"
.string "Here I am in the sea, but who's with me?\n"
.string "My little brother!\p"
.string "Let's battle so I won't have to dwell\n"
.string "on that!$"
-Route124_Text_2A0EFE: @ 82A0EFE
+Route124_Text_LilaDefeat: @ 82A0EFE
.string "LILA: ROY! It's your fault we lost!\n"
.string "You're in for it later!$"
-Route124_Text_2A0F3A: @ 82A0F3A
+Route124_Text_LilaPostBattle: @ 82A0F3A
.string "LILA: Sigh…\p"
.string "If only it wasn't my little brother\n"
.string "next to me, but a nice boyfriend…$"
-Route124_Text_2A0F8C: @ 82A0F8C
+Route124_Text_LilaNotEnoughMons: @ 82A0F8C
.string "LILA: You're planning to battle us?\n"
.string "Not unless you have two POKéMON.$"
-Route124_Text_2A0FD1: @ 82A0FD1
+Route124_Text_RoyIntro: @ 82A0FD1
.string "ROY: My big sister is tough at POKéMON!\p"
.string "Don't cry when you lose!$"
-Route124_Text_2A1012: @ 82A1012
+Route124_Text_RoyDefeat: @ 82A1012
.string "ROY: Uh-oh…\n"
.string "My big sister will chew me out…$"
-Route124_Text_2A103E: @ 82A103E
+Route124_Text_RoyPostBattle: @ 82A103E
.string "ROY: My big sister is really scary\n"
.string "when she gets angry.\p"
.string "That's why she doesn't have a\n"
.string "boyfriend.$"
-Route124_Text_2A109F: @ 82A109F
+Route124_Text_LilaRoyRegister: @ 82A109F
.string "ROY: Will you battle with us again?\n"
.string "But take it easy next time, okay?$"
-Route124_Text_2A10E5: @ 82A10E5
+Route124_Text_RoyNotEnoughMons: @ 82A10E5
.string "ROY: Did you want to battle us?\n"
.string "Bring two POKéMON, then.$"
-Route124_Text_2A111E: @ 82A111E
+Route124_Text_LilaRematchIntro: @ 82A111E
.string "LILA: Sigh…\p"
.string "Here I am in the sea, but who's with me?\n"
.string "My little brother!\p"
.string "Oh, hi, it's been a while. Let's battle\n"
.string "so I won't have to dwell on things!$"
-Route124_Text_2A11B2: @ 82A11B2
+Route124_Text_LilaRematchDefeat: @ 82A11B2
.string "LILA: ROY!\n"
.string "It's your fault we lost again!\p"
.string "We're having a training session later!$"
-Route124_Text_2A1203: @ 82A1203
+Route124_Text_LilaPostRematch: @ 82A1203
.string "LILA: Sigh…\p"
.string "If I had a nice boyfriend, we'd beat\n"
.string "anyone with lovely combinations…$"
-Route124_Text_2A1255: @ 82A1255
+Route124_Text_LilaRematchNotEnoughMons: @ 82A1255
.string "LILA: You're planning to battle us?\n"
.string "Not unless you have two POKéMON.$"
-Route124_Text_2A129A: @ 82A129A
+Route124_Text_RoyRematchIntro: @ 82A129A
.string "ROY: If we lose, I'll catch heck.\n"
.string "I'm going to go totally all out!$"
-Route124_Text_2A12DD: @ 82A12DD
+Route124_Text_RoyRematchDefeat: @ 82A12DD
.string "ROY: Uh-oh…\n"
.string "My big sister will chew me out again.$"
-Route124_Text_2A130F: @ 82A130F
+Route124_Text_RoyPostRematch: @ 82A130F
.string "ROY: My big sister is really scary\n"
.string "when she gets angry.\p"
.string "She's going to make me train really\n"
.string "hard with POKéMON later…$"
-Route124_Text_2A1384: @ 82A1384
+Route124_Text_RoyRematchNotEnoughMons: @ 82A1384
.string "ROY: Did you want to battle us?\n"
.string "Bring two POKéMON, then.$"
-Route124_Text_2A13BD: @ 82A13BD
+Route124_Text_DeclanIntro: @ 82A13BD
.string "Here I am swimming by my lonesome\n"
.string "on this wide, beautiful sea.\p"
.string "There's no other word for it.\n"
.string "This is pathetic!$"
-Route124_Text_2A142C: @ 82A142C
+Route124_Text_DeclanDefeat: @ 82A142C
.string "I'm feeling blue.\n"
.string "Blue as the sky…$"
-Route124_Text_2A144F: @ 82A144F
+Route124_Text_DeclanPostBattle: @ 82A144F
.string "I should chat up lady SWIMMERS\n"
.string "and invite them on a long swim.$"
-Route124_Text_2A148E: @ 82A148E
+Route124_Text_IsabellaIntro: @ 82A148E
.string "I'm not going to lose to some\n"
.string "surfer TRAINER.$"
-Route124_Text_2A14BC: @ 82A14BC
+Route124_Text_IsabellaDefeat: @ 82A14BC
.string "I've only got sweat in my eyes!\n"
.string "I am not crying!$"
-Route124_Text_2A14ED: @ 82A14ED
+Route124_Text_IsabellaPostBattle: @ 82A14ED
.string "You can find pretty colored shards\n"
.string "of things around here.$"
-Route125_Text_2A1527: @ 82A1527
+Route125_Text_NolenIntro: @ 82A1527
.string "I heard you approaching, so I hung\n"
.string "around for you!$"
-Route125_Text_2A155A: @ 82A155A
+Route125_Text_NolenDefeat: @ 82A155A
.string "I surrender!$"
-Route125_Text_2A1567: @ 82A1567
+Route125_Text_NolenPostBattle: @ 82A1567
.string "Sound travels faster in water than\n"
.string "it does through air.$"
-Route125_Text_2A159F: @ 82A159F
+Route125_Text_StanIntro: @ 82A159F
.string "Hey, there!\n"
.string "Check out my sweet POKéMON!$"
-Route125_Text_2A15C7: @ 82A15C7
+Route125_Text_StanDefeat: @ 82A15C7
.string "I floundered…$"
-Route125_Text_2A15D5: @ 82A15D5
+Route125_Text_StanPostBattle: @ 82A15D5
.string "I was blown away by HORSEA's charm,\n"
.string "so I started swimming, too.$"
-Route125_Text_2A1615: @ 82A1615
+Route125_Text_TanyaIntro: @ 82A1615
.string "I'm tired of swimming.\n"
.string "Are you up for a battle with me?$"
-Route125_Text_2A164D: @ 82A164D
+Route125_Text_TanyaDefeat: @ 82A164D
.string "You're too much!$"
-Route125_Text_2A165E: @ 82A165E
+Route125_Text_TanyaPostBattle: @ 82A165E
.string "Whew…\n"
.string "Which way is it to MOSSDEEP CITY?$"
-Route125_Text_2A1686: @ 82A1686
+Route125_Text_SharonIntro: @ 82A1686
.string "How would you like to take on the\n"
.string "WATER-type POKéMON I raised?$"
-Route125_Text_2A16C5: @ 82A16C5
+Route125_Text_SharonDefeat: @ 82A16C5
.string "Lost it…$"
-Route125_Text_2A16CE: @ 82A16CE
+Route125_Text_SharonPostBattle: @ 82A16CE
.string "Your power… You're the real deal.\n"
.string "I'm amazed!$"
-Route125_Text_2A16FC: @ 82A16FC
+Route125_Text_ErnestIntro: @ 82A16FC
.string "Ahoy! I'm a buff, tough SAILOR!\n"
.string "I've braved the world's seas!$"
-Route125_Text_2A173A: @ 82A173A
+Route125_Text_ErnestDefeat: @ 82A173A
.string "Gwrroooar!\n"
.string "I couldn't win!$"
-Route125_Text_2A1755: @ 82A1755
+Route125_Text_ErnestPostBattle: @ 82A1755
.string "The tide ebbs and flows inside the\n"
.string "SHOAL CAVE.\p"
.string "By the way, it's about six hours from\n"
.string "high tide to low tide. Did you know?$"
-Route125_Text_2A17CF: @ 82A17CF
+Route125_Text_ErnestRegister: @ 82A17CF
.string "Register me in your POKéNAV,\n"
.string "and I'll tell you something good.$"
-Route125_Text_2A180E: @ 82A180E
+Route125_Text_ErnestRematchIntro: @ 82A180E
.string "It's high time I get my payback\n"
.string "from you! Come on, we're battling!$"
-Route125_Text_2A1851: @ 82A1851
+Route125_Text_ErnestRematchDefeat: @ 82A1851
.string "I couldn't win!\n"
.string "I flat out couldn't win!$"
-Route125_Text_2A187A: @ 82A187A
+Route125_Text_ErnestRematchPostBattle: @ 82A187A
.string "The SHOAL CAVE…\p"
.string "There are places you can and can't\n"
.string "get to depending on the rise and fall\l"
@@ -3859,524 +3859,524 @@ Route125_Text_2A187A: @ 82A187A
.string "By the way, it's about six hours from\n"
.string "high tide to low tide. Don't forget!$"
-Route125_Text_2A192B: @ 82A192B
+Route125_Text_KimIntro: @ 82A192B
.string "KIM: A funny old man lives in the\n"
.string "SHOAL CAVE. Someone told me.\l"
.string "Are you going to see him, too?$"
-Route125_Text_2A1989: @ 82A1989
+Route125_Text_KimDefeat: @ 82A1989
.string "KIM: I thought we would win.$"
-Route125_Text_2A19A6: @ 82A19A6
+Route125_Text_KimPostBattle: @ 82A19A6
.string "KIM: A funny old man lives in the\n"
.string "SHOAL CAVE, doesn't he?\p"
.string "Let's go see him, IRIS!$"
-Route125_Text_2A19F8: @ 82A19F8
+Route125_Text_KimNotEnoughMons: @ 82A19F8
.string "KIM: No, no, no! You need two POKéMON,\n"
.string "or it's just no good!$"
-Route125_Text_2A1A35: @ 82A1A35
+Route125_Text_IrisIntro: @ 82A1A35
.string "IRIS: KIM, can you tell me what we're\n"
.string "looking for out here?$"
-Route125_Text_2A1A71: @ 82A1A71
+Route125_Text_IrisDefeat: @ 82A1A71
.string "IRIS: Oh, we came sort of close.$"
-Route125_Text_2A1A92: @ 82A1A92
+Route125_Text_IrisPostBattle: @ 82A1A92
.string "IRIS: KIM, are we really going into\n"
.string "the SHOAL CAVE?\l"
.string "We'll get all wet.$"
-Route125_Text_2A1AD9: @ 82A1AD9
+Route125_Text_IrisNotEnoughMons: @ 82A1AD9
.string "IRIS: Oh, we could never, ever do\n"
.string "anything like a 2-on-1 battle.$"
-Route125_Text_2A1B1A: @ 82A1B1A
+Route125_Text_PresleyIntro: @ 82A1B1A
.string "Why would a BIRDKEEPER like me\n"
.string "come out to the sea?$"
-Route125_Text_2A1B4E: @ 82A1B4E
+Route125_Text_PresleyDefeat: @ 82A1B4E
.string "Okay.\n"
.string "I'll tell you why I'm here.$"
-Route125_Text_2A1B70: @ 82A1B70
+Route125_Text_PresleyPostBattle: @ 82A1B70
.string "I put a message in a bottle and put\n"
.string "it out to sea.\p"
.string "I'm sure that a girl SWIMMER will\n"
.string "find it!$"
-Route125_Text_2A1BCE: @ 82A1BCE
+Route125_Text_AuronIntro: @ 82A1BCE
.string "Hey! Was it you throwing garbage\n"
.string "into the sea?$"
-Route125_Text_2A1BFD: @ 82A1BFD
+Route125_Text_AuronDefeat: @ 82A1BFD
.string "Oh, you weren't throwing trash into\n"
.string "the sea.$"
-Route125_Text_2A1C2A: @ 82A1C2A
+Route125_Text_AuronPostBattle: @ 82A1C2A
.string "I found an unsightly bottle bobbing\n"
.string "in the waves earlier.\p"
.string "It angers me that someone would\n"
.string "pollute the sea!$"
-Route126_Text_2A1C95: @ 82A1C95
+Route126_Text_BarryIntro: @ 82A1C95
.string "Swimming is a full-body workout!\n"
.string "You will get fit!$"
-Route126_Text_2A1CC8: @ 82A1CC8
+Route126_Text_BarryDefeat: @ 82A1CC8
.string "I admit it!\n"
.string "You win!$"
-Route126_Text_2A1CDD: @ 82A1CDD
+Route126_Text_BarryPostBattle: @ 82A1CDD
.string "Thanks to my daily swimming routine…\n"
.string "Look! Feast your eyes on this physique!$"
-Route126_Text_2A1D2A: @ 82A1D2A
+Route126_Text_DeanIntro: @ 82A1D2A
.string "This towering white mountain of rock\n"
.string "is SOOTOPOLIS CITY.$"
-Route126_Text_2A1D63: @ 82A1D63
+Route126_Text_DeanDefeat: @ 82A1D63
.string "I was done in?$"
-Route126_Text_2A1D72: @ 82A1D72
+Route126_Text_DeanPostBattle: @ 82A1D72
.string "I can't find the entrance to\n"
.string "SOOTOPOLIS. Where could it be?$"
-Route126_Text_2A1DAE: @ 82A1DAE
+Route126_Text_NikkiIntro: @ 82A1DAE
.string "Ufufufufu!\n"
.string "I'm a mermaid!$"
-Route126_Text_2A1DC8: @ 82A1DC8
+Route126_Text_NikkiDefeat: @ 82A1DC8
.string "My fantasy burst as if it were a bubble!\n"
.string "Blub, blub, blub…$"
-Route126_Text_2A1E03: @ 82A1E03
+Route126_Text_NikkiPostBattle: @ 82A1E03
.string "You thrashed me… I want to\n"
.string "disappear in a wave of despair…$"
-Route126_Text_2A1E3E: @ 82A1E3E
+Route126_Text_BrendaIntro: @ 82A1E3E
.string "Hello, kiddo!\n"
.string "Want a battle with me?$"
-Route126_Text_2A1E63: @ 82A1E63
+Route126_Text_BrendaDefeat: @ 82A1E63
.string "Oh, noooooh!$"
-Route126_Text_2A1E70: @ 82A1E70
+Route126_Text_BrendaPostBattle: @ 82A1E70
.string "I love frolicking with POKéMON in\n"
.string "the sea like this!$"
-Route126_Text_2A1EA5: @ 82A1EA5
+Route126_Text_PabloIntro: @ 82A1EA5
.string "Check out this sculpted body!\n"
.string "I'm more cut than a BLACK BELT!$"
-Route126_Text_2A1EE3: @ 82A1EE3
+Route126_Text_PabloDefeat: @ 82A1EE3
.string "Whoops! Too strong!\n"
.string "Not bad! Not bad at all!$"
-Route126_Text_2A1F10: @ 82A1F10
+Route126_Text_PabloPostBattle: @ 82A1F10
.string "Losing to you stimulated my senses!\n"
.string "I'll train myself and POKéMON harder!$"
-Route126_Text_2A1F5A: @ 82A1F5A
+Route126_Text_PabloRegister: @ 82A1F5A
.string "Yep, you're not bad at all!\n"
.string "I'd like to get to know you more!$"
-Route126_Text_2A1F98: @ 82A1F98
+Route126_Text_PabloRematchIntro: @ 82A1F98
.string "Check out this beautiful body!\n"
.string "I'm more shapely than a SWIMMER!$"
-Route126_Text_2A1FD8: @ 82A1FD8
+Route126_Text_PabloRematchDefeat: @ 82A1FD8
.string "Whoops! Really too strong!\n"
.string "Not bad! Not bad at all!$"
-Route126_Text_2A200C: @ 82A200C
+Route126_Text_PabloPostRematch: @ 82A200C
.string "I'm going to train even harder!\n"
.string "You're a great motivator!\l"
.string "You have to come back again!$"
-Route126_Text_2A2063: @ 82A2063
+Route126_Text_LeonardoIntro: @ 82A2063
.string "I couldn't even swim last year,\n"
.string "but now I'm a decent SWIMMER.\p"
.string "I think I'm capable of anything now.$"
-Route126_Text_2A20C6: @ 82A20C6
+Route126_Text_LeonardoDefeat: @ 82A20C6
.string "Sheesh, getting greedy didn't do\n"
.string "a thing for me.$"
-Route126_Text_2A20F7: @ 82A20F7
+Route126_Text_LeonardoPostBattle: @ 82A20F7
.string "If you practice at something,\n"
.string "you will get better at it.\p"
.string "You're young--don't be afraid to\n"
.string "try all sorts of things!$"
-Route126_Text_2A216A: @ 82A216A
+Route126_Text_IsobelIntro: @ 82A216A
.string "If seawater gets up your nose,\n"
.string "doesn't it feel terrible?$"
-Route126_Text_2A21A3: @ 82A21A3
+Route126_Text_IsobelDefeat: @ 82A21A3
.string "Ack! Why, you…\n"
.string "Glub!$"
-Route126_Text_2A21B8: @ 82A21B8
+Route126_Text_IsobelPostBattle: @ 82A21B8
.string "Ooh, I choked on some water!\n"
.string "It's bitter! It's salty!!$"
-Route126_Text_2A21EF: @ 82A21EF
+Route126_Text_SiennaIntro: @ 82A21EF
.string "I'm throwing my whole heart\n"
.string "into this!$"
-Route126_Text_2A2216: @ 82A2216
+Route126_Text_SiennaDefeat: @ 82A2216
.string "You had more heart!$"
-Route126_Text_2A222A: @ 82A222A
+Route126_Text_SiennaPostBattle: @ 82A222A
.string "I need to cool down now…\n"
.string "I think I'll go for a dive.$"
-Route127_Text_2A225F: @ 82A225F
+Route127_Text_CamdenIntro: @ 82A225F
.string "I can see it in your face.\n"
.string "You want to challenge me.$"
-Route127_Text_2A2294: @ 82A2294
+Route127_Text_CamdenDefeat: @ 82A2294
.string "Awawawawawa…$"
-Route127_Text_2A22A1: @ 82A22A1
+Route127_Text_CamdenPostBattle: @ 82A22A1
.string "A well-played match leaves me feeling\n"
.string "refreshed and serene.$"
-Route127_Text_2A22DD: @ 82A22DD
+Route127_Text_DonnyIntro: @ 82A22DD
.string "Do you have a rival whom you just\n"
.string "hate to lose against?$"
-Route127_Text_2A2315: @ 82A2315
+Route127_Text_DonnyDefeat: @ 82A2315
.string "Arrrgh!\n"
.string "I hate losing!$"
-Route127_Text_2A232C: @ 82A232C
+Route127_Text_DonnyPostBattle: @ 82A232C
.string "If you have a rival, don't you get the\n"
.string "feeling that you have to keep getting\l"
.string "better?$"
-Route127_Text_2A2381: @ 82A2381
+Route127_Text_JonahIntro: @ 82A2381
.string "Through fishing, I have attained a\n"
.string "state of becalmed serenity…\p"
.string "Please, allow me to demonstrate…$"
-Route127_Text_2A23E1: @ 82A23E1
+Route127_Text_JonahDefeat: @ 82A23E1
.string "Though I have lost, my heart remains\n"
.string "calm…$"
-Route127_Text_2A240C: @ 82A240C
+Route127_Text_JonahPostBattle: @ 82A240C
.string "It matters not that I catch nothing.\n"
.string "The line remains in the water…$"
-Route127_Text_2A2450: @ 82A2450
+Route127_Text_HenryIntro: @ 82A2450
.string "Whoops! Don't tell me I snagged\n"
.string "a SURFING POKéMON?$"
-Route127_Text_2A2483: @ 82A2483
+Route127_Text_HenryDefeat: @ 82A2483
.string "I can't keep up!$"
-Route127_Text_2A2494: @ 82A2494
+Route127_Text_HenryPostBattle: @ 82A2494
.string "It'd be a handful if I hooked\n"
.string "your tough POKéMON!$"
-Route127_Text_2A24C6: @ 82A24C6
+Route127_Text_RogerIntro: @ 82A24C6
.string "Well, hey! This is a match between\n"
.string "a POKéMON fan and a fishing buff!$"
-Route127_Text_2A250B: @ 82A250B
+Route127_Text_RogerDefeat: @ 82A250B
.string "No! My line's all tangled!\n"
.string "The party's over!$"
-Route127_Text_2A2538: @ 82A2538
+Route127_Text_RogerPostBattle: @ 82A2538
.string "My fishing line's doing a dance!\n"
.string "The tangle tango! Hahaha, snarl!$"
-Route127_Text_2A257A: @ 82A257A
+Route127_Text_AidanIntro: @ 82A257A
.string "BIRD POKéMON have excellent vision.\n"
.string "They spot prey from great heights.$"
-Route127_Text_2A25C1: @ 82A25C1
+Route127_Text_AidanDefeat: @ 82A25C1
.string "Whew… I give up.$"
-Route127_Text_2A25D2: @ 82A25D2
+Route127_Text_AidanPostBattle: @ 82A25D2
.string "There're lots of diving spots in\n"
.string "the sea around here.\p"
.string "You can spot them easily from the sky\n"
.string "because of their darker color.$"
-Route127_Text_2A264D: @ 82A264D
+Route127_Text_KojiIntro: @ 82A264D
.string "Run in your bare feet.\n"
.string "That will toughen up your soles!$"
-Route127_Text_2A2685: @ 82A2685
+Route127_Text_KojiDefeat: @ 82A2685
.string "Yowch!\n"
.string "I got a pebble under a toenail!$"
-Route127_Text_2A26AC: @ 82A26AC
+Route127_Text_KojiPostBattle: @ 82A26AC
.string "Going barefoot feels great.\n"
.string "But your RUNNING SHOES are cool, too.$"
-Route127_Text_2A26EE: @ 82A26EE
+Route127_Text_KojiRegister: @ 82A26EE
.string "This is what I do to people who beat me!\n"
.string "I hope we can do this again.$"
-Route127_Text_2A2734: @ 82A2734
+Route127_Text_KojiRematchIntro: @ 82A2734
.string "I still run in my bare feet daily.\n"
.string "My soles are tough!$"
-Route127_Text_2A276B: @ 82A276B
+Route127_Text_KojiRematchDefeat: @ 82A276B
.string "Yowch!\n"
.string "Pebbles dug into my arches!$"
-Route127_Text_2A278E: @ 82A278E
+Route127_Text_KojiPostRematch: @ 82A278E
.string "Want to go barefoot for a while?\n"
.string "So I can try your RUNNING SHOES?$"
-Route127_Text_2A27D0: @ 82A27D0
+Route127_Text_AthenaIntro: @ 82A27D0
.string "We should have a slow and methodical\n"
.string "match.$"
-Route127_Text_2A27FC: @ 82A27FC
+Route127_Text_AthenaDefeat: @ 82A27FC
.string "You didn't give me the chance to\n"
.string "do any strategizing.$"
-Route127_Text_2A2832: @ 82A2832
+Route127_Text_AthenaPostBattle: @ 82A2832
.string "When I'm surrounded by the blue sea\n"
.string "and sky, it feels as if time slows down.$"
-Route128_Text_2A287F: @ 82A287F
+Route128_Text_IsaiahIntro: @ 82A287F
.string "EVER GRANDE CITY is still a long ways\n"
.string "away…$"
-Route128_Text_2A28AB: @ 82A28AB
+Route128_Text_IsaiahDefeat: @ 82A28AB
.string "My first victory seems to be far\n"
.string "away, too…$"
-Route128_Text_2A28D7: @ 82A28D7
+Route128_Text_IsaiahPostBattle: @ 82A28D7
.string "My whole life has been about losing,\n"
.string "but I will never give up!$"
-Route128_Text_2A2916: @ 82A2916
+Route128_Text_IsaiahRegister: @ 82A2916
.string "I know I'm not good now, but I think\n"
.string "I can win eventually.\p"
.string "Please register me in your POKéNAV.$"
-Route128_Text_2A2975: @ 82A2975
+Route128_Text_IsaiahRematchIntro: @ 82A2975
.string "I'm still feeling good. I'll keep on\n"
.string "swimming to EVER GRANDE CITY.$"
-Route128_Text_2A29B8: @ 82A29B8
+Route128_Text_IsaiahRematchDefeat: @ 82A29B8
.string "I've yet to taste my first victory…$"
-Route128_Text_2A29DC: @ 82A29DC
+Route128_Text_IsaiahPostRematch: @ 82A29DC
.string "I'll eventually reach EVER GRANDE CITY\n"
.string "where I can eventually win…$"
-Route128_Text_2A2A1F: @ 82A2A1F
+Route128_Text_KatelynIntro: @ 82A2A1F
.string "You have to swim, cycle, and then run\n"
.string "a marathon in a triathlon.\p"
.string "It's a grueling race that consists\n"
.string "of three events.$"
-Route128_Text_2A2A94: @ 82A2A94
+Route128_Text_KatelynDefeat: @ 82A2A94
.string "A POKéMON battle is grueling, too…$"
-Route128_Text_2A2AB7: @ 82A2AB7
+Route128_Text_KatelynPostBattle: @ 82A2AB7
.string "I have to ride a BIKE next, but…\n"
.string "I'm about to throw in the towel…$"
-Route128_Text_2A2AF9: @ 82A2AF9
+Route128_Text_KatelynRegister: @ 82A2AF9
.string "Well, I may as well make the best\n"
.string "of this. I'd like a rematch sometime.$"
-Route128_Text_2A2B41: @ 82A2B41
+Route128_Text_KatelynRematchIntro: @ 82A2B41
.string "A triathlon is long. But I guess the\n"
.string "road to become the POKéMON CHAMPION\l"
.string "is also a long and grueling one.$"
-Route128_Text_2A2BAB: @ 82A2BAB
+Route128_Text_KatelynRematchDefeat: @ 82A2BAB
.string "A POKéMON battle really is harsh\n"
.string "and unforgiving…$"
-Route128_Text_2A2BDD: @ 82A2BDD
+Route128_Text_KatelynPostRematch: @ 82A2BDD
.string "You should give serious thought to\n"
.string "challenges on VICTORY ROAD.$"
-Route128_Text_2A2C1C: @ 82A2C1C
+Route128_Text_AlexaIntro: @ 82A2C1C
.string "We've been working so hard to mount\n"
.string "a POKéMON LEAGUE challenge…\p"
.string "We can't afford to lose now!$"
-Route128_Text_2A2C79: @ 82A2C79
+Route128_Text_AlexaDefeat: @ 82A2C79
.string "Oh!\n"
.string "How could this happen?!$"
-Route128_Text_2A2C95: @ 82A2C95
+Route128_Text_AlexaPostBattle: @ 82A2C95
.string "After all I've done to get here,\n"
.string "I won't give up after one setback.$"
-Route128_Text_2A2CD9: @ 82A2CD9
+Route128_Text_RubenIntro: @ 82A2CD9
.string "There is no stronger TRAINER than I!$"
-Route128_Text_2A2CFE: @ 82A2CFE
+Route128_Text_RubenDefeat: @ 82A2CFE
.string "This can't be!$"
-Route128_Text_2A2D0D: @ 82A2D0D
+Route128_Text_RubenPostBattle: @ 82A2D0D
.string "There probably is no stronger TRAINER\n"
.string "than you!$"
-Route128_Text_2A2D3D: @ 82A2D3D
+Route128_Text_WayneIntro: @ 82A2D3D
.string "I want to visit EVER GRANDE, so I\n"
.string "caught myself a POKéMON that knows\l"
.string "the move WATERFALL to crest the falls.$"
-Route128_Text_2A2DA9: @ 82A2DA9
+Route128_Text_WayneDefeat: @ 82A2DA9
.string "I'm crestfallen!$"
-Route128_Text_2A2DBA: @ 82A2DBA
+Route128_Text_WaynePostBattle: @ 82A2DBA
.string "Awww, phooey!\p"
.string "My POKéMON knows WATERFALL, but\n"
.string "I don't have the SOOTOPOLIS GYM BADGE!$"
-Route128_Text_2A2E0F: @ 82A2E0F
+Route128_Text_HarrisonIntro: @ 82A2E0F
.string "You're looking awfully tough.\n"
.string "I wonder if I can win?$"
-Route128_Text_2A2E44: @ 82A2E44
+Route128_Text_HarrisonDefeat: @ 82A2E44
.string "Ouch!\n"
.string "I guess it was impossible to win.$"
-Route128_Text_2A2E6C: @ 82A2E6C
+Route128_Text_HarrisonPostBattle: @ 82A2E6C
.string "There are tough TRAINERS galore\n"
.string "around EVER GRANDE.\p"
.string "Do you think I may be out\n"
.string "of my league?$"
-Route128_Text_2A2EC8: @ 82A2EC8
+Route128_Text_CarleeIntro: @ 82A2EC8
.string "The sunlight seems to be more harsh\n"
.string "in this area.$"
-Route128_Text_2A2EFA: @ 82A2EFA
+Route128_Text_CarleeDefeat: @ 82A2EFA
.string "I couldn't see very well because of\n"
.string "the sun's glare.$"
-Route128_Text_2A2F2F: @ 82A2F2F
+Route128_Text_CarleePostBattle: @ 82A2F2F
.string "I should go back soon.\n"
.string "I need to reapply my sunscreen.$"
-Route129_Text_2A2F66: @ 82A2F66
+Route129_Text_ChaseIntro: @ 82A2F66
.string "This is my first triathlon.\n"
.string "I'm all tense and nervous!$"
-Route129_Text_2A2F9D: @ 82A2F9D
+Route129_Text_ChaseDefeat: @ 82A2F9D
.string "Wroooaaar!\n"
.string "I failed to win!$"
-Route129_Text_2A2FB9: @ 82A2FB9
+Route129_Text_ChasePostBattle: @ 82A2FB9
.string "If I'm all tensed up, I won't be able to\n"
.string "give it my all.$"
-Route129_Text_2A2FF2: @ 82A2FF2
+Route129_Text_AllisonIntro: @ 82A2FF2
.string "I'm in the middle of a triathlon,\n"
.string "but, sure, why don't we battle?$"
-Route129_Text_2A3034: @ 82A3034
+Route129_Text_AllisonDefeat: @ 82A3034
.string "I was sure I'd win!$"
-Route129_Text_2A3048: @ 82A3048
+Route129_Text_AllisonPostBattle: @ 82A3048
.string "Do you know what's the greatest thing\n"
.string "about triathlons?\p"
.string "Testing the limits of your own\n"
.string "strength and endurance against\l"
.string "Mother Nature!$"
-Route129_Text_2A30CD: @ 82A30CD
+Route129_Text_ReedIntro: @ 82A30CD
.string "Say hey, hey!\n"
.string "Let's get on with it!$"
-Route129_Text_2A30F1: @ 82A30F1
+Route129_Text_ReedDefeat: @ 82A30F1
.string "Beat, I'm beaten.\n"
.string "That's it, done!$"
-Route129_Text_2A3114: @ 82A3114
+Route129_Text_ReedPostBattle: @ 82A3114
.string "There's nothing for a loser.\n"
.string "Time for me to beat it home.$"
-Route129_Text_2A314E: @ 82A314E
+Route129_Text_TishaIntro: @ 82A314E
.string "What's the hurry?\n"
.string "Let's take it slow and easy.$"
-Route129_Text_2A317D: @ 82A317D
+Route129_Text_TishaDefeat: @ 82A317D
.string "Oh, my.\n"
.string "I wanted to relax a little more…$"
-Route129_Text_2A31A6: @ 82A31A6
+Route129_Text_TishaPostBattle: @ 82A31A6
.string "Don't you hate making mistakes when\n"
.string "you're in a rush?\p"
.string "That's why I try to take things\n"
.string "slowly.$"
-Route129_Text_2A3204: @ 82A3204
+Route129_Text_ClarenceIntro: @ 82A3204
.string "Surfing isn't as easy as it seems,\n"
.string "isn't that right?$"
-Route129_Text_2A3239: @ 82A3239
+Route129_Text_ClarenceDefeat: @ 82A3239
.string "Winning sure isn't easy.$"
-Route129_Text_2A3252: @ 82A3252
+Route129_Text_ClarencePostBattle: @ 82A3252
.string "You have your sights on the POKéMON\n"
.string "LEAGUE? Keep at it!$"
-Route130_Text_2A328A: @ 82A328A
+Route130_Text_RodneyIntro: @ 82A328A
.string "What a surprise! I didn't expect to\n"
.string "see a TRAINER out in the sea.\p"
.string "I think we should battle!$"
-Route130_Text_2A32E6: @ 82A32E6
+Route130_Text_RodneyDefeat: @ 82A32E6
.string "This kid's awfully tough…$"
-Route130_Text_2A3300: @ 82A3300
+Route130_Text_RodneyPostBattle: @ 82A3300
.string "Your eyes have that look of someone\n"
.string "who's experienced harsh challenges\l"
.string "and won. It suits you well!$"
-Route130_Text_2A3363: @ 82A3363
+Route130_Text_KatieIntro: @ 82A3363
.string "In the deep blue sea,\n"
.string "my shattered blue heart finds\l"
.string "comfort among waves.$"
-Route130_Text_2A33AC: @ 82A33AC
+Route130_Text_KatieDefeat: @ 82A33AC
.string "Like the vast blue sea,\n"
.string "the world of POKéMON spans\l"
.string "depths beyond belief.$"
-Route130_Text_2A33F5: @ 82A33F5
+Route130_Text_KatiePostBattle: @ 82A33F5
.string "The world's children dream\n"
.string "of one day becoming\l"
.string "the POKéMON CHAMPION.$"
-Route130_Text_2A343A: @ 82A343A
+Route130_Text_SantiagoIntro: @ 82A343A
.string "Floating on the open sea like this…\n"
.string "It's peaceful.$"
-Route130_Text_2A346D: @ 82A346D
+Route130_Text_SantiagoDefeat: @ 82A346D
.string "I needed to be a little less peaceful!$"
-Route130_Text_2A3494: @ 82A3494
+Route130_Text_SantiagoPostBattle: @ 82A3494
.string "Swimming and battling like this…\n"
.string "I'm one happy guy…$"
-Route131_Text_2A34C8: @ 82A34C8
+Route131_Text_RichardIntro: @ 82A34C8
.string "The sea is teeming with POKéMON.\n"
.string "It's not easy swimming, I tell you.$"
-Route131_Text_2A350D: @ 82A350D
+Route131_Text_RichardDefeat: @ 82A350D
.string "POKéMON raised by TRAINERS are\n"
.string "seriously tough…$"
-Route131_Text_2A353D: @ 82A353D
+Route131_Text_RichardPostBattle: @ 82A353D
.string "Gasp… Gasp…\n"
.string "I'm wiped out…\p"
.string "The going's easy. It's the leaving\n"
@@ -4384,398 +4384,398 @@ Route131_Text_2A353D: @ 82A353D
.string "Will I have any energy left to make\n"
.string "the return trip?$"
-Route131_Text_2A35C6: @ 82A35C6
+Route131_Text_HermanIntro: @ 82A35C6
.string "The sea… The sea… The sea…\n"
.string "The sea as far as these eyes can see!\l"
.string "I'm sick and tired of the sea!$"
-Route131_Text_2A3626: @ 82A3626
+Route131_Text_HermanDefeat: @ 82A3626
.string "Bleah!$"
-Route131_Text_2A362D: @ 82A362D
+Route131_Text_HermanPostBattle: @ 82A362D
.string "Bored I am by the sea, but swim I must.\p"
.string "I'm a born swimmer!\n"
.string "That's what I am.$"
-Route131_Text_2A367B: @ 82A367B
+Route131_Text_SusieIntro: @ 82A367B
.string "Hi, sweetie, wait!\n"
.string "We should battle, you and I!$"
-Route131_Text_2A36AB: @ 82A36AB
+Route131_Text_SusieDefeat: @ 82A36AB
.string "You're tough in spite of the way\n"
.string "you look!$"
-Route131_Text_2A36D6: @ 82A36D6
+Route131_Text_SusiePostBattle: @ 82A36D6
.string "Did you see a guy over there who whines\n"
.string "that he's bored of the sea?\p"
.string "That's all talk.\n"
.string "He's hopelessly in love with the sea!$"
-Route131_Text_2A3751: @ 82A3751
+Route131_Text_KaraIntro: @ 82A3751
.string "Why do men love bathing suits so much?\p"
.string "They all ogle me!$"
-Route131_Text_2A378A: @ 82A378A
+Route131_Text_KaraDefeat: @ 82A378A
.string "I'm out of my depth!$"
-Route131_Text_2A379F: @ 82A379F
+Route131_Text_KaraPostBattle: @ 82A379F
.string "Maybe it's not my bathing suit that\n"
.string "makes men look. It must be my beauty!$"
-Route131_Text_2A37E9: @ 82A37E9
+Route131_Text_ReliIntro: @ 82A37E9
.string "RELI: We'll work together as siblings\n"
.string "to take you on!$"
-Route131_Text_2A381F: @ 82A381F
+Route131_Text_ReliDefeat: @ 82A381F
.string "RELI: We couldn't win even though we\n"
.string "worked together…$"
-Route131_Text_2A3855: @ 82A3855
+Route131_Text_ReliPostBattle: @ 82A3855
.string "RELI: The people of PACIFIDLOG are\n"
.string "together with the sea and POKéMON from\l"
.string "the time they are born.$"
-Route131_Text_2A38B7: @ 82A38B7
+Route131_Text_ReliNotEnoughMons: @ 82A38B7
.string "RELI: You don't have two POKéMON?\n"
.string "We can't enjoy a battle, then.$"
-Route131_Text_2A38F8: @ 82A38F8
+Route131_Text_IanIntro: @ 82A38F8
.string "IAN: I'm doing my best together with\n"
.string "my sis!$"
-Route131_Text_2A3925: @ 82A3925
+Route131_Text_IanDefeat: @ 82A3925
.string "IAN: I did my best with my sis,\n"
.string "but we still couldn't win…$"
-Route131_Text_2A3960: @ 82A3960
+Route131_Text_IanPostBattle: @ 82A3960
.string "IAN: You know how PACIFIDLOG is\n"
.string "a floating town?\p"
.string "So, wherever there is the sea,\n"
.string "that's a part of PACIFIDLOG!$"
-Route131_Text_2A39CD: @ 82A39CD
+Route131_Text_IanNotEnoughMons: @ 82A39CD
.string "IAN: If you have two POKéMON,\n"
.string "we'll take you on!$"
-Route131_Text_2A39FE: @ 82A39FE
+Route131_Text_TaliaIntro: @ 82A39FE
.string "If you can beat me, I'll give you some\n"
.string "great information!$"
-Route131_Text_2A3A38: @ 82A3A38
+Route131_Text_TaliaDefeat: @ 82A3A38
.string "Oh?\n"
.string "Did I lose?$"
-Route131_Text_2A3A48: @ 82A3A48
+Route131_Text_TaliaPostBattle: @ 82A3A48
.string "There is an odd place nearby.\n"
.string "There's a huge tower there.\l"
.string "Why don't you go take a look?$"
-Route131_Text_2A3AA0: @ 82A3AA0
+Route131_Text_KevinIntro: @ 82A3AA0
.string "The people of PACIFIDLOG are\n"
.string "a peaceful bunch.\p"
.string "They never get angry.\n"
.string "That goes for me, too.$"
-Route131_Text_2A3AFC: @ 82A3AFC
+Route131_Text_KevinDefeat: @ 82A3AFC
.string "Oops!$"
-Route131_Text_2A3B02: @ 82A3B02
+Route131_Text_KevinPostBattle: @ 82A3B02
.string "Tch! …Oh, wait.\n"
.string "I'm not angry. Honestly!\p"
.string "But, boy, you're strong!\n"
.string "Hahaha!$"
-Route132_Text_2A3B4C: @ 82A3B4C
+Route132_Text_GilbertIntro: @ 82A3B4C
.string "I used to catch colds all the time as\n"
.string "a kid, but I became totally fit after\l"
.string "I started swimming.$"
-Route132_Text_2A3BAC: @ 82A3BAC
+Route132_Text_GilbertDefeat: @ 82A3BAC
.string "I crave more power…$"
-Route132_Text_2A3BC0: @ 82A3BC0
+Route132_Text_GilbertPostBattle: @ 82A3BC0
.string "TRAINERS travel the fields and\n"
.string "mountains, so they must be fit, too.$"
-Route132_Text_2A3C04: @ 82A3C04
+Route132_Text_DanaIntro: @ 82A3C04
.string "I try not to swim where the currents\n"
.string "are too strong.$"
-Route132_Text_2A3C39: @ 82A3C39
+Route132_Text_DanaDefeat: @ 82A3C39
.string "Oh, please, no!$"
-Route132_Text_2A3C49: @ 82A3C49
+Route132_Text_DanaPostBattle: @ 82A3C49
.string "If I get swept away, I'll lose all my\n"
.string "sense of place…$"
-Route132_Text_2A3C7F: @ 82A3C7F
+Route132_Text_RonaldIntro: @ 82A3C7F
.string "Win or lose, you'll never know until\n"
.string "you try!$"
-Route132_Text_2A3CAD: @ 82A3CAD
+Route132_Text_RonaldDefeat: @ 82A3CAD
.string "Waah!\n"
.string "I sank in defeat!$"
-Route132_Text_2A3CC5: @ 82A3CC5
+Route132_Text_RonaldPostBattle: @ 82A3CC5
.string "I never battle when I know I'll win.\n"
.string "I like to battle at the razor's edge of\l"
.string "victory and defeat!$"
-Route132_Text_2A3D26: @ 82A3D26
+Route132_Text_KiyoIntro: @ 82A3D26
.string "I contemplate POKéMON 24 hours a day.\n"
.string "How could you possibly beat me?$"
-Route132_Text_2A3D6C: @ 82A3D6C
+Route132_Text_KiyoDefeat: @ 82A3D6C
.string "I lose.\n"
.string "I will concede defeat.$"
-Route132_Text_2A3D8B: @ 82A3D8B
+Route132_Text_KiyoPostBattle: @ 82A3D8B
.string "Urggh…\n"
.string "You're a POKéMON fanatic, aren't you?\p"
.string "You must contemplate POKéMON 24 hours\n"
.string "a day, don't you?$"
-Route132_Text_2A3DF0: @ 82A3DF0
+Route132_Text_MakaylaIntro: @ 82A3DF0
.string "I'm always with my husband,\n"
.string "but I can win even without him.$"
-Route132_Text_2A3E2C: @ 82A3E2C
+Route132_Text_MakaylaDefeat: @ 82A3E2C
.string "Oh, I guess I wasn't good enough.$"
-Route132_Text_2A3E4E: @ 82A3E4E
+Route132_Text_MakaylaPostBattle: @ 82A3E4E
.string "That young man over there looks just\n"
.string "like my husband when he was young.\p"
.string "He's making me blush!$"
-Route132_Text_2A3EAC: @ 82A3EAC
+Route132_Text_JonathanIntro: @ 82A3EAC
.string "Someone's been watching me intently.\n"
.string "Was it you?$"
-Route132_Text_2A3EDD: @ 82A3EDD
+Route132_Text_JonathanDefeat: @ 82A3EDD
.string "Wow!\n"
.string "That's pretty strong, all right!$"
-Route132_Text_2A3F03: @ 82A3F03
+Route132_Text_JonathanPostBattle: @ 82A3F03
.string "I can't shake this feeling that\n"
.string "someone's watching me.\p"
.string "I can't concentrate!$"
-Route132_Text_2A3F4F: @ 82A3F4F
+Route132_Text_PaxtonIntro: @ 82A3F4F
.string "Now where could my wife have gone?\n"
.string "I'm always with her.\l"
.string "I wonder if I can win on my own.$"
-Route132_Text_2A3FA8: @ 82A3FA8
+Route132_Text_PaxtonDefeat: @ 82A3FA8
.string "Ah, I see that I couldn't manage\n"
.string "to win on my own after all.$"
-Route132_Text_2A3FE5: @ 82A3FE5
+Route132_Text_PaxtonPostBattle: @ 82A3FE5
.string "My wife must be looking for me.\n"
.string "I'd best go find her right away.$"
-Route132_Text_2A4026: @ 82A4026
+Route132_Text_DarcyIntro: @ 82A4026
.string "I liked training here by myself.\n"
.string "It's awful that all these people came!$"
-Route132_Text_2A406E: @ 82A406E
+Route132_Text_DarcyDefeat: @ 82A406E
.string "Okay! I won't complain about other\n"
.string "people being here.$"
-Route132_Text_2A40A4: @ 82A40A4
+Route132_Text_DarcyPostBattle: @ 82A40A4
.string "I suppose I can partner up with that\n"
.string "old man and challenge that other team.$"
-Route133_Text_2A40F0: @ 82A40F0
+Route133_Text_FranklinIntro: @ 82A40F0
.string "Did the currents carry you here, too?\n"
.string "This must have been fated.\l"
.string "Let's battle!$"
-Route133_Text_2A413F: @ 82A413F
+Route133_Text_FranklinDefeat: @ 82A413F
.string "Strong!\n"
.string "Too much so!$"
-Route133_Text_2A4154: @ 82A4154
+Route133_Text_FranklinPostBattle: @ 82A4154
.string "It's just my luck that a tough TRAINER\n"
.string "like you would drift here…\l"
.string "I must be cursed…$"
-Route133_Text_2A41A8: @ 82A41A8
+Route133_Text_DebraIntro: @ 82A41A8
.string "I've led a life of woe and misery…\n"
.string "I've been cast away, and this is where\l"
.string "I've drifted…$"
-Route133_Text_2A4200: @ 82A4200
+Route133_Text_DebraDefeat: @ 82A4200
.string "Another loss…$"
-Route133_Text_2A420E: @ 82A420E
+Route133_Text_DebraPostBattle: @ 82A420E
.string "A life adrift…\n"
.string "I don't want it anymore!$"
-Route133_Text_2A4236: @ 82A4236
+Route133_Text_LindaIntro: @ 82A4236
.string "Welcome!\n"
.string "I've been expecting you!$"
-Route133_Text_2A4258: @ 82A4258
+Route133_Text_LindaDefeat: @ 82A4258
.string "No! Please!$"
-Route133_Text_2A4264: @ 82A4264
+Route133_Text_LindaPostBattle: @ 82A4264
.string "A strong child TRAINER…\n"
.string "That's so annoying!$"
-Route133_Text_2A4290: @ 82A4290
+Route133_Text_WarrenIntro: @ 82A4290
.string "I want to win like everyone else, but I\n"
.string "won't raise POKéMON like everyone else.$"
-Route133_Text_2A42E0: @ 82A42E0
+Route133_Text_WarrenDefeat: @ 82A42E0
.string "Darn it!\n"
.string "My way is still too slack!$"
-Route133_Text_2A4304: @ 82A4304
+Route133_Text_WarrenPostBattle: @ 82A4304
.string "It's way more fun to do things the way\n"
.string "I want than to be like everybody else.\l"
.string "I mean, that's obvious!$"
-Route133_Text_2A436A: @ 82A436A
+Route133_Text_BeckIntro: @ 82A436A
.string "I came all the way out here with my\n"
.string "BIRD POKéMON.$"
-Route133_Text_2A439C: @ 82A439C
+Route133_Text_BeckDefeat: @ 82A439C
.string "You…\n"
.string "You're stunningly cool!$"
-Route133_Text_2A43B9: @ 82A43B9
+Route133_Text_BeckPostBattle: @ 82A43B9
.string "I'd like to go back to FORTREE,\n"
.string "but I've grown to like this place, too.$"
-Route133_Text_2A4401: @ 82A4401
+Route133_Text_MollieIntro: @ 82A4401
.string "I must have battled thousands\n"
.string "of times. I've lost count.$"
-Route133_Text_2A443A: @ 82A443A
+Route133_Text_MollieDefeat: @ 82A443A
.string "I may have lost thousands of times,\n"
.string "but a loss still stings.$"
-Route133_Text_2A4477: @ 82A4477
+Route133_Text_MolliePostBattle: @ 82A4477
.string "Keep at this, youngster. So you can\n"
.string "become like my husband and me.$"
-Route133_Text_2A44BA: @ 82A44BA
+Route133_Text_ConorIntro: @ 82A44BA
.string "Young people are too happy to go with\n"
.string "the flow. They're without direction.$"
-Route133_Text_2A4505: @ 82A4505
+Route133_Text_ConorDefeat: @ 82A4505
.string "You have a firm sense of purpose.$"
-Route133_Text_2A4527: @ 82A4527
+Route133_Text_ConorPostBattle: @ 82A4527
.string "Don't let others lead you astray.\n"
.string "Don't lose direction as you grow older.$"
-Route134_Text_2A4571: @ 82A4571
+Route134_Text_JackIntro: @ 82A4571
.string "Even those POKéMON that can swim are\n"
.string "carried along by the rapid currents.$"
-Route134_Text_2A45BB: @ 82A45BB
+Route134_Text_JackDefeat: @ 82A45BB
.string "Aiyeeeeh!$"
-Route134_Text_2A45C5: @ 82A45C5
+Route134_Text_JackPostBattle: @ 82A45C5
.string "I think POKéMON enjoy the fast-running\n"
.string "currents around these parts.$"
-Route134_Text_2A4609: @ 82A4609
+Route134_Text_LaurelIntro: @ 82A4609
.string "My LUVDISC are looking for a fun\n"
.string "match. Will you join us?$"
-Route134_Text_2A4643: @ 82A4643
+Route134_Text_LaurelDefeat: @ 82A4643
.string "Oopsie!$"
-Route134_Text_2A464B: @ 82A464B
+Route134_Text_LaurelPostBattle: @ 82A464B
.string "There's a collector who's after\n"
.string "the SCALES of LUVDISC.$"
-Route134_Text_2A4682: @ 82A4682
+Route134_Text_AlexIntro: @ 82A4682
.string "Okeydokey! That's enough rest, gang!\n"
.string "It's time for a match!$"
-Route134_Text_2A46BE: @ 82A46BE
+Route134_Text_AlexDefeat: @ 82A46BE
.string "Tuckered out again…$"
-Route134_Text_2A46D2: @ 82A46D2
+Route134_Text_AlexPostBattle: @ 82A46D2
.string "My BIRD POKéMON get tired quickly after\n"
.string "a long flight…$"
-Route134_Text_2A4709: @ 82A4709
+Route134_Text_HitoshiIntro: @ 82A4709
.string "You're a POKéMON TRAINER.\n"
.string "No need for words. We battle now.$"
-Route134_Text_2A4745: @ 82A4745
+Route134_Text_HitoshiDefeat: @ 82A4745
.string "… … … … … …\n"
.string "… … … … … …$"
-Route134_Text_2A475D: @ 82A475D
+Route134_Text_HitoshiPostBattle: @ 82A475D
.string "It was I who challenged you, and yet\n"
.string "I lost. I am deeply shamed…$"
-Route134_Text_2A479E: @ 82A479E
+Route134_Text_AaronIntro: @ 82A479E
.string "The savage tide in this area serves to\n"
.string "make us stronger than ever.$"
-Route134_Text_2A47E1: @ 82A47E1
+Route134_Text_AaronDefeat: @ 82A47E1
.string "I willingly concede defeat.$"
-Route134_Text_2A47FD: @ 82A47FD
+Route134_Text_AaronPostBattle: @ 82A47FD
.string "We will return for more training at\n"
.string "METEOR FALLS.\p"
.string "If you'd like, you should go, too.\n"
.string "It will definitely toughen you up!$"
-Route134_Text_2A4875: @ 82A4875
+Route134_Text_KelvinIntro: @ 82A4875
.string "O-our boat!\n"
.string "The tide carried it away!$"
-Route134_Text_2A489B: @ 82A489B
+Route134_Text_KelvinDefeat: @ 82A489B
.string "Awawawawah!\n"
.string "Please, stop! Please!$"
-Route134_Text_2A48BD: @ 82A48BD
+Route134_Text_KelvinPostBattle: @ 82A48BD
.string "If we can't SURF, how are we supposed\n"
.string "to get home?\p"
.string "Actually, I know a fainted POKéMON\n"
.string "can still SURF, but it feels wrong.$"
-Route134_Text_2A4937: @ 82A4937
+Route134_Text_MarleyIntro: @ 82A4937
.string "Can your POKéMON dodge our\n"
.string "lightning-quick attacks?$"
-Route134_Text_2A496B: @ 82A496B
+Route134_Text_MarleyDefeat: @ 82A496B
.string "I never knew such a technique existed!\n"
.string "You've defeated us thoroughly.$"
-Route134_Text_2A49B1: @ 82A49B1
+Route134_Text_MarleyPostBattle: @ 82A49B1
.string "I haven't lost my passion for speed.\n"
.string "I will try harder.$"
-Route134_Text_2A49E9: @ 82A49E9
+Route134_Text_ReynaIntro: @ 82A49E9
.string "My POKéMON can't be taken down\n"
.string "easily!$"
-Route134_Text_2A4A10: @ 82A4A10
+Route134_Text_ReynaDefeat: @ 82A4A10
.string "You're kidding!\n"
.string "Explain how I lost!$"
-Route134_Text_2A4A34: @ 82A4A34
+Route134_Text_ReynaPostBattle: @ 82A4A34
.string "Haha!\n"
.string "You won, all right!\p"
.string "I'll work my way back up by taking on\n"
.string "TRAINERS I happen to meet!$"
-Route134_Text_2A4A8F: @ 82A4A8F
+Route134_Text_HudsonIntro: @ 82A4A8F
.string "Listen, have you seen another SAILOR\n"
.string "around here?$"
-Route134_Text_2A4AC1: @ 82A4AC1
+Route134_Text_HudsonDefeat: @ 82A4AC1
.string "Now, that's something!$"
-Route134_Text_2A4AD8: @ 82A4AD8
+Route134_Text_HudsonPostBattle: @ 82A4AD8
.string "Our boat drifted out to sea.\p"
.string "My buddy's a timid fellow, so I'm\n"
.string "worried about him.$"
diff --git a/data/text/trick_house_mechadolls.inc b/data/text/trick_house_mechadolls.inc
new file mode 100644
index 000000000..69d0118bd
--- /dev/null
+++ b/data/text/trick_house_mechadolls.inc
@@ -0,0 +1,134 @@
+gTrickHouse_Mechadoll_Oddish:: @ 27ECBC
+ .string "ODDISH$"
+
+gTrickHouse_Mechadoll_Poochyena:: @ 27ECC3
+ .string "POOCHYENA$"
+
+gTrickHouse_Mechadoll_Taillow:: @ 27ECCD
+ .string "TAILLOW$"
+
+gTrickHouse_Mechadoll_Azurill:: @ 27ECD5
+ .string "AZURILL$"
+
+gTrickHouse_Mechadoll_Lotad:: @ 27ECDD
+ .string "LOTAD$"
+
+gTrickHouse_Mechadoll_Wingull:: @ 27ECE3
+ .string "WINGULL$"
+
+gTrickHouse_Mechadoll_Dustox:: @ 27ECEB
+ .string "DUSTOX$"
+
+gTrickHouse_Mechadoll_Zubat:: @ 27ECF2
+ .string "ZUBAT$"
+
+gTrickHouse_Mechadoll_Nincada:: @ 27ECF8
+ .string "NINCADA$"
+
+gTrickHouse_Mechadoll_Ralts:: @ 27ED00
+ .string "RALTS$"
+
+gTrickHouse_Mechadoll_Zigzagoon:: @ 27ED06
+ .string "ZIGZAGOON$"
+
+gTrickHouse_Mechadoll_Slakoth:: @ 27ED10
+ .string "SLAKOTH$"
+
+gTrickHouse_Mechadoll_Poochyena2:: @ 27ED18
+ .string "POOCHYENA$"
+
+gTrickHouse_Mechadoll_Shroomish:: @ 27ED22
+ .string "SHROOMISH$"
+
+gTrickHouse_Mechadoll_Zigzagoon2:: @ 27ED2C
+ .string "ZIGZAGOON$"
+
+gTrickHouse_Mechadoll_Poochyena3:: @ 27ED36
+ .string "POOCHYENA$"
+
+gTrickHouse_Mechadoll_Zubat2:: @ 27ED40
+ .string "ZUBAT$"
+
+gTrickHouse_Mechadoll_Carvanha:: @ 27ED46
+ .string "CARVANHA$"
+
+gTrickHouse_Mechadoll_BurnHeal:: @ 27ED4F
+ .string "BURN HEAL$"
+
+gTrickHouse_Mechadoll_HarborMail:: @ 27ED59
+ .string "HARBOR MAIL$"
+
+gTrickHouse_Mechadoll_SamePrice:: @ 27ED65
+ .string "Same price$"
+
+gTrickHouse_Mechadoll_60Yen:: @ 27ED70
+ .string "¥60$"
+
+gTrickHouse_Mechadoll_55Yen:: @ 27ED74
+ .string "¥55$"
+
+gTrickHouse_Mechadoll_Nothing:: @ 27ED78
+ .string "Nothing$"
+
+gTrickHouse_Mechadoll_CostMore:: @ 27ED80
+ .string "They will cost more.$"
+
+gTrickHouse_Mechadoll_CostLess:: @ 27ED95
+ .string "They will cost less.$"
+
+gTrickHouse_Mechadoll_SamePrice2:: @ 27EDAA
+ .string "Same price$"
+
+gTrickHouse_Mechadoll_Male:: @ 27EDB5
+ .string "Male$"
+
+gTrickHouse_Mechadoll_Female:: @ 27EDBA
+ .string "Female$"
+
+gTrickHouse_Mechadoll_Neither:: @ 27EDC1
+ .string "Neither$"
+
+gTrickHouse_Mechadoll_ElderlyMen:: @ 27EDC9
+ .string "Elderly men$"
+
+gTrickHouse_Mechadoll_ElderlyLadies:: @ 27EDD5
+ .string "Elderly ladies$"
+
+gTrickHouse_Mechadoll_SameNumber:: @ 27EDE4
+ .string "Same number$"
+
+gTrickHouse_Mechadoll_None:: @ 27EDF0
+ .string "None$"
+
+gTrickHouse_Mechadoll_One:: @ 27EDF5
+ .string "1$"
+
+gTrickHouse_Mechadoll_Two:: @ 27EDF7
+ .string "2$"
+
+gTrickHouse_Mechadoll_Two2:: @ 27EDF9
+ .string "2$"
+
+gTrickHouse_Mechadoll_Three:: @ 27EDFB
+ .string "3$"
+
+gTrickHouse_Mechadoll_Four:: @ 27EDFD
+ .string "4$"
+
+gTrickHouse_Mechadoll_Six:: @ 27EDFF
+ .string "6$"
+
+gTrickHouse_Mechadoll_Seven:: @ 27EE01
+ .string "7$"
+
+gTrickHouse_Mechadoll_Eight:: @ 27EE03
+ .string "8$"
+
+gTrickHouse_Mechadoll_Six2:: @ 27EE05
+ .string "6$"
+
+gTrickHouse_Mechadoll_Seven2:: @ 27EE07
+ .string "7$"
+
+gTrickHouse_Mechadoll_Eight2:: @ 27EE09
+ .string "8$"
diff --git a/data/text/tv.inc b/data/text/tv.inc
index f084ac055..63a1eff65 100644
--- a/data/text/tv.inc
+++ b/data/text/tv.inc
@@ -1,4 +1,4 @@
-LilycoveCity_ContestLobby_Text_27EF15: @ 827EF15
+LilycoveCity_ContestLobby_Text_InterviewRequest: @ 827EF15
.string "Oh, hello! You were in a POKéMON\n"
.string "CONTEST, weren't you?\l"
.string "It's easy to tell from your POKéMON.\p"
@@ -7,13 +7,13 @@ LilycoveCity_ContestLobby_Text_27EF15: @ 827EF15
.string "If I may, would you be willing to answer\n"
.string "a few questions?$"
-LilycoveCity_ContestLobby_Text_27EFE7: @ 827EFE7
+LilycoveCity_ContestLobby_Text_DescribeContest: @ 827EFE7
.string "Oh, you will?\n"
.string "Thank you.\p"
.string "Briefly, how would you describe the\n"
.string "CONTEST you just entered?$"
-LilycoveCity_ContestLobby_Text_27F03E: @ 827F03E
+LilycoveCity_ContestLobby_Text_WhatImageWhenYouHearX: @ 827F03E
.string "Ah, I see.\n"
.string "That's a very edifying comment.\p"
.string "You get a good feel for what\n"
@@ -22,7 +22,7 @@ LilycoveCity_ContestLobby_Text_27F03E: @ 827F03E
.string "When you hear the word “{STR_VAR_2},”\n"
.string "what image do you get?$"
-LilycoveCity_ContestLobby_Text_27F0EC: @ 827F0EC
+LilycoveCity_ContestLobby_Text_ThatsAllForInterview: @ 827F0EC
.string "I see!\p"
.string "So that's how you imagine the concept\n"
.string "of “{STR_VAR_2}” to be.\p"
@@ -34,12 +34,12 @@ LilycoveCity_ContestLobby_Text_27F0EC: @ 827F0EC
.string "make it to television.\l"
.string "I hope you'll look forward to it!$"
-LilycoveCity_ContestLobby_Text_27F1EF: @ 827F1EF
+LilycoveCity_ContestLobby_Text_PleaseDoShareStoryWithMe: @ 827F1EF
.string "Oh, too bad…\p"
.string "Well, if you come across a good story,\n"
.string "please do share it with me.$"
-LilycoveCity_ContestLobby_Text_27F23F: @ 827F23F
+LilycoveCity_ContestLobby_Text_LookingForwardToNextContest: @ 827F23F
.string "I'll be looking forward to your next\n"
.string "POKéMON CONTEST.$"
@@ -108,7 +108,7 @@ gTVBravoTrainerText07:: @ 0827F65C
gTVBravoTrainerText08:: @ 0827F6E6
.string "Introducing the TRAINER's {STR_VAR_1}!$"
-BattleFrontier_BattleTowerLobby_Text_27F704:: @ 0827F704
+BattleFrontier_BattleTowerLobby_Text_InterviewRequest:: @ 0827F704
.string "Hello! You're the TRAINER who just had\n"
.string "a battle, right?\p"
.string "I'm gathering interviews with TRAINERS\n"
@@ -116,7 +116,7 @@ BattleFrontier_BattleTowerLobby_Text_27F704:: @ 0827F704
.string "May I get a few words from you about\n"
.string "your impressions on battling?$"
-BattleFrontier_BattleTowerLobby_Text_27F7BA:: @ 0827F7BA
+BattleFrontier_BattleTowerLobby_Text_HowDidBattleTowerTurnOut:: @ 0827F7BA
.string "You will? Really?\n"
.string "Thank you!\l"
.string "Then, uh…\p"
@@ -125,44 +125,44 @@ BattleFrontier_BattleTowerLobby_Text_27F7BA:: @ 0827F7BA
.string "Were you satisfied with the battle?\n"
.string "Or are you unhappy?$"
-BattleFrontier_BattleTowerLobby_Text_27F84C:: @ 0827F84C
+BattleFrontier_BattleTowerLobby_Text_SorryWeDisturbedYou:: @ 0827F84C
.string "Oh…\n"
.string "Sorry we disturbed you.\p"
.string "Please give us an interview the next\n"
.string "time you visit the BATTLE TOWER.$"
-BattleFrontier_BattleTowerLobby_Text_27F8AE:: @ 0827F8AE
+BattleFrontier_BattleTowerLobby_Text_ObviousYouHadGreatBattle:: @ 0827F8AE
.string "Well, of course!\p"
.string "That unmistakable look of satisfaction\n"
.string "on your face…\p"
.string "It's obvious that you've had a great\n"
.string "battle.$"
-BattleFrontier_BattleTowerLobby_Text_27F921:: @ 0827F921
+BattleFrontier_BattleTowerLobby_Text_DifficultToMakeBattleTurnOutAsPlanned:: @ 0827F921
.string "Oh, I see…\p"
.string "Well, it certainly is difficult to make a\n"
.string "battle turn out exactly as planned.$"
-BattleFrontier_BattleTowerLobby_Text_27F97A:: @ 0827F97A
+BattleFrontier_BattleTowerLobby_Text_DescribeYourBattle:: @ 0827F97A
.string "Oh, oh, may I ask one more question?\p"
.string "If you were to describe your\n"
.string "impressions about this battle with\l"
.string "one saying, what would it be?$"
-BattleFrontier_BattleTowerLobby_Text_27F9FD:: @ 0827F9FD
+BattleFrontier_BattleTowerLobby_Text_ThatsGreatLine:: @ 0827F9FD
.string "Oh, that is stunningly cool!\p"
.string "That's a great line!\n"
.string "I hope you'll do great next time, too.\p"
.string "I hope to see you again!$"
-BattleFrontier_BattleTowerLobby_Text_27FA6F:: @ 0827FA6F
+BattleFrontier_BattleTowerLobby_Text_SilentType:: @ 0827FA6F
.string "Oh, I see…\p"
.string "Still, being the silent type is also\n"
.string "cool, isn't it?\p"
.string "I hope you'll give me the opportunity\n"
.string "to share your thoughts again!$"
-BattleFrontier_BattleTowerLobby_Text_27FAF3:: @ 0827FAF3
+BattleFrontier_BattleTowerLobby_Text_LookingForwardToNextBattle:: @ 0827FAF3
.string "I'll be looking forward to your\n"
.string "next battle!$"
@@ -269,7 +269,7 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6
.string "That's all the time we have!\n"
.string "Until next time, see you!$"
-SlateportCity_PokemonFanClub_Text_280270: @ 08280270
+SlateportCity_PokemonFanClub_Text_InterviewRequestHasName: @ 08280270
.string "Wow!\p"
.string "It's plain to see that you lavish your\n"
.string "love on your {STR_VAR_1}.\p"
@@ -280,36 +280,36 @@ SlateportCity_PokemonFanClub_Text_280270: @ 08280270
.string "Would you be willing to answer a few\n"
.string "simple questions for me?$"
-SlateportCity_PokemonFanClub_Text_28034F: @ 0828034F
+SlateportCity_PokemonFanClub_Text_HereGoesQuickAnswers: @ 0828034F
.string "Great! Thank you!\p"
.string "Okay, here goes.\n"
.string "I just need quick answers, okay?$"
-SlateportCity_PokemonFanClub_Text_280393: @ 08280393
+SlateportCity_PokemonFanClub_Text_DescribeFeelingsFirstMetMon: @ 08280393
.string "When you first met {STR_VAR_1},\n"
.string "what did you feel?\p"
.string "How would you describe your feelings\n"
.string "at the time?$"
-SlateportCity_PokemonFanClub_Text_2803EF: @ 082803EF
+SlateportCity_PokemonFanClub_Text_LikenMonToSomethingYouLike: @ 082803EF
.string "Your {STR_VAR_1} is cared for lovingly.\p"
.string "If you were to liken it to something\n"
.string "that you like, what would it be?$"
-SlateportCity_PokemonFanClub_Text_280454: @ 08280454
+SlateportCity_PokemonFanClub_Text_WhatAttractedYouAboutMon: @ 08280454
.string "This question also relates to your\n"
.string "beloved {STR_VAR_1}.\p"
.string "What was it about {STR_VAR_1} that\n"
.string "attracted you?$"
-SlateportCity_PokemonFanClub_Text_2804AC: @ 082804AC
+SlateportCity_PokemonFanClub_Text_WhatDoPokemonMeanToYou: @ 082804AC
.string "Okay, that makes sense.\p"
.string "The next question might be a little\n"
.string "on the tough side.\p"
.string "Here goes…\p"
.string "What do POKéMON mean to you?$"
-SlateportCity_PokemonFanClub_Text_280523: @ 08280523
+SlateportCity_PokemonFanClub_Text_ThatsAllForInterview: @ 08280523
.string "I see!\p"
.string "Hmhm…\p"
.string "Okay!\n"
@@ -321,16 +321,16 @@ SlateportCity_PokemonFanClub_Text_280523: @ 08280523
.string "Okay, that's all.\n"
.string "Bye-bye!$"
-SlateportCity_PokemonFanClub_Text_2805E2: @ 082805E2
+SlateportCity_PokemonFanClub_Text_HereIfYouGetUrgeToTellMe: @ 082805E2
.string "Oh, okay…\p"
.string "Well, if you get the urge to tell me\n"
.string "about POKéMON, I'll be here!$"
-SlateportCity_PokemonFanClub_Text_28062E: @ 0828062E
+SlateportCity_PokemonFanClub_Text_EnjoyDoingInterviews: @ 0828062E
.string "I enjoy this job--you get to learn\n"
.string "about POKéMON by doing interviews.$"
-SlateportCity_PokemonFanClub_Text_280674: @ 08280674
+SlateportCity_PokemonFanClub_Text_InterviewRequest: @ 08280674
.string "Hi, you seem to be very close to your\n"
.string "{STR_VAR_1}.\p"
.string "Do you know what?\n"
@@ -340,12 +340,12 @@ SlateportCity_PokemonFanClub_Text_280674: @ 08280674
.string "I'm wondering if you'd be willing to tell\n"
.string "me a little about your {STR_VAR_1}?$"
-SlateportCity_PokemonFanClub_Text_28073B: @ 0828073B
+SlateportCity_PokemonFanClub_Text_TellMeAnythingAboutYourMon: @ 0828073B
.string "Wow, thank you!\p"
.string "Okay, then, please tell me anything\n"
.string "you'd like about your {STR_VAR_1}.$"
-SlateportCity_PokemonFanClub_Text_280789: @ 08280789
+SlateportCity_PokemonFanClub_Text_ThatsAllForInterview2: @ 08280789
.string "Wow…\n"
.string "That's an interesting account.\p"
.string "You really are tight with {STR_VAR_1},\n"
@@ -479,7 +479,7 @@ gTVFanClubText07:: @ 082810E7
.string "A-whoops, will you look at the time?\n"
.string "Time to say good-bye until next time!$"
-SlateportCity_OceanicMuseum_1F_Text_2811A0: @ 082811A0
+SlateportCity_OceanicMuseum_1F_Text_InterviewRequest: @ 082811A0
.string "Oh?\n"
.string "Do you perhaps like POKéMON?\p"
.string "I'm on assignment with the TV network.\p"
@@ -488,32 +488,32 @@ SlateportCity_OceanicMuseum_1F_Text_2811A0: @ 082811A0
.string "If you don't mind, could you tell me\n"
.string "something about yourself?$"
-SlateportCity_OceanicMuseum_1F_Text_28126D: @ 0828126D
+SlateportCity_OceanicMuseum_1F_Text_InterviewRequestShort: @ 0828126D
.string "I'm gathering stories on POKéMON and\n"
.string "TRAINERS that occurred recently.\p"
.string "If you don't mind, could you tell me\n"
.string "something about yourself?$"
-SlateportCity_OceanicMuseum_1F_Text_2812F2: @ 082812F2
+SlateportCity_OceanicMuseum_1F_Text_TellMeExperienceInvolvingPokemon: @ 082812F2
.string "Oh, you will?\n"
.string "Thank you!\p"
.string "Then, please, tell me anything of\n"
.string "interest that you experienced recently\l"
.string "involving POKéMON.$"
-SlateportCity_OceanicMuseum_1F_Text_281367: @ 08281367
+SlateportCity_OceanicMuseum_1F_Text_LetMeKnowIfYouHaveStory: @ 08281367
.string "Oh, I see…\p"
.string "Well, if you do have an interesting\n"
.string "story to tell, please let me know.$"
-SlateportCity_OceanicMuseum_1F_Text_2813B9: @ 082813B9
+SlateportCity_OceanicMuseum_1F_Text_ThatsAllForInterview: @ 082813B9
.string "Oh, what an uplifting story!\p"
.string "I'll be sure to get your story told\n"
.string "on television.\p"
.string "It should be aired sometime, I think,\n"
.string "so please look forward to it.$"
-SlateportCity_OceanicMuseum_1F_Text_28144D: @ 0828144D
+SlateportCity_OceanicMuseum_1F_Text_BetterWriteUpStory: @ 0828144D
.string "Hmmm…\n"
.string "I've got a good story for a TV program.\p"
.string "I'd better write it up in a hurry!$"
@@ -612,44 +612,44 @@ gTV3CheersForPokeblocksText05:: @ 08281B93
.string "Tune in next time!\n"
.string "Our slogan is “3 CHEERS FOR {POKEBLOCK}S!”$"
-LilycoveCity_PokemonTrainerFanClub_Text_281BCB:: @ 8281BCB
+LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer:: @ 8281BCB
.string "Hi, there!\p"
.string "I'm a big fan of {STR_VAR_1}.\n"
.string "What's your opinion of {STR_VAR_1}?$"
-LilycoveCity_PokemonTrainerFanClub_Text_281C06:: @ 8281C06
+LilycoveCity_PokemonTrainerFanClub_Text_ThatsWhatYouThink:: @ 8281C06
.string "I see, I see. That's what you think\n"
.string "about the TRAINER.$"
-LilycoveCity_PokemonTrainerFanClub_Text_281C3D:: @ 8281C3D
+LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer:: @ 8281C3D
.string "Have you completely forgotten\n"
.string "about {STR_VAR_1}?$"
-LilycoveCity_PokemonTrainerFanClub_Text_281C65:: @ 8281C65
+LilycoveCity_PokemonTrainerFanClub_Text_WhatsYourOpinionOfTrainer2:: @ 8281C65
.string "I'm a big fan of {STR_VAR_1}.\n"
.string "What's your opinion of {STR_VAR_1}?$"
-LilycoveCity_PokemonTrainerFanClub_Text_281C95:: @ 8281C95
+LilycoveCity_PokemonTrainerFanClub_Text_HowStrongRateTrainer:: @ 8281C95
.string "How strong would you rate {STR_VAR_1}\n"
.string "on a scale of one hundred?$"
-LilycoveCity_PokemonTrainerFanClub_Text_281CCD:: @ 8281CCD
+LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer2:: @ 8281CCD
.string "Have you completely forgotten\n"
.string "about {STR_VAR_1}?$"
-LilycoveCity_PokemonTrainerFanClub_Text_281CF5:: @ 8281CF5
+LilycoveCity_PokemonTrainerFanClub_Text_YouShouldMeetTrainer:: @ 8281CF5
.string "Oh, I see!\n"
.string "You should meet {STR_VAR_1} sometime.\l"
.string "I'm sure you'll become a fan, too!$"
-LilycoveCity_PokemonTrainerFanClub_Text_281D40:: @ 8281D40
+LilycoveCity_PokemonTrainerFanClub_Text_ThankYouIllShareThisInfo:: @ 8281D40
.string "I see, I see.\p"
.string "Thank you!\n"
.string "That's very useful to know.\p"
.string "I'll share this information with other\n"
.string "{STR_VAR_1} fans and discuss it.$"
-LilycoveCity_PokemonTrainerFanClub_Text_281DB4:: @ 8281DB4
+LilycoveCity_PokemonTrainerFanClub_HopeYouCatchTVSpecial:: @ 8281DB4
.string "There's going to be a TV special on\n"
.string "{STR_VAR_1} very soon.\p"
.string "I hope you catch it!$"
@@ -2079,7 +2079,7 @@ gTVWhatsNo1InHoennTodayText08:: @ 0828858B
.string "Viewers, take heart from {STR_VAR_1}!\n"
.string "You, too, can be no. 1 every day!$"
-gTVSecretBaseSecretsText00:: @ 08288608
+TVSecretBaseSecrets_Text_Intro:: @ 08288608
.string "SECRET BASE SECRETS!\p"
.string "What do TRAINERS do in the secrecy\n"
.string "of SECRET BASES?\p"
@@ -2090,88 +2090,88 @@ gTVSecretBaseSecretsText00:: @ 08288608
.string "Let's have a peek!\p"
.string "What will {STR_VAR_2} do?$"
-gTVSecretBaseSecretsText01:: @ 082886C8
+TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1:: @ 082886C8
.string "What will {STR_VAR_2} do next?$"
-gTVSecretBaseSecretsText02:: @ 082886DE
+TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2:: @ 082886DE
.string "And now, what will {STR_VAR_2} do?$"
-gTVSecretBaseSecretsText03:: @ 082886F8
+TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving:: @ 082886F8
.string "In the end, {STR_VAR_2} took {STR_VAR_3} steps\n"
.string "in {STR_VAR_1}'s SECRET BASE before\l"
.string "leaving.$"
-gTVSecretBaseSecretsText04:: @ 08288739
+TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer:: @ 08288739
.string "Hmm…\p"
.string "It appears as if {STR_VAR_1}'s SECRET\n"
.string "BASE failed to interest {STR_VAR_2}…$"
-gTVSecretBaseSecretsText05:: @ 08288777
+TVSecretBaseSecrets_Text_PlayerEnjoyedBase:: @ 08288777
.string "{STR_VAR_2} appears to have enjoyed\n"
.string "{STR_VAR_1}'s SECRET BASE thoroughly.$"
-gTVSecretBaseSecretsText06:: @ 082887AF
+TVSecretBaseSecrets_Text_PlayerHugeFanOfBase:: @ 082887AF
.string "{STR_VAR_2} appears to have become\n"
.string "a huge fan of {STR_VAR_1}'s\l"
.string "SECRET BASE.$"
-gTVSecretBaseSecretsText07:: @ 082887E9
+TVSecretBaseSecrets_Text_Outro:: @ 082887E9
.string "Viewers may want to check out\n"
.string "{STR_VAR_1}'s SECRET BASE, too.\p"
.string "Tune in next time as we visit another\n"
.string "SECRET BASE! Thanks for joining us!$"
-gTVSecretBaseSecretsText08:: @ 08288868
+TVSecretBaseSecrets_Text_StoppedMoving1:: @ 08288868
.string "The visitor has stopped!\p"
.string "The visitor isn't moving at all!\p"
.string "Was {STR_VAR_1}'s SECRET BASE\n"
.string "that unimpressive?$"
-gTVSecretBaseSecretsText09:: @ 082888CA
+TVSecretBaseSecrets_Text_StoppedMoving2:: @ 082888CA
.string "The visitor has stopped!\p"
.string "The visitor isn't moving at all!\p"
.string "Is it fatigue?\n"
.string "Has the visitor grown weary?$"
-gTVSecretBaseSecretsText10:: @ 08288930
+TVSecretBaseSecrets_Text_UsedChair:: @ 08288930
.string "The visitor sat down on a chair!\n"
.string "The visitor is seated!\p"
.string "Look at that look of delight!\p"
.string "That chair must be very comfortable\n"
.string "to get that response!$"
-gTVSecretBaseSecretsText11:: @ 082889C0
+TVSecretBaseSecrets_Text_UsedBalloon:: @ 082889C0
.string "The visitor charged at a balloon!\p"
.string "It burst!\n"
.string "Oh, my goodness, it popped!\p"
.string "The visitor appears startled by\n"
.string "the sudden noise!$"
-gTVSecretBaseSecretsText12:: @ 08288A3A
+TVSecretBaseSecrets_Text_UsedTent:: @ 08288A3A
.string "The visitor entered a TENT!\p"
.string "The visitor is running around!\p"
.string "Oh, my, the visitor is frolicking!\p"
.string "The visitor appears surprised by\n"
.string "the TENT's size!$"
-gTVSecretBaseSecretsText13:: @ 08288ACA
+TVSecretBaseSecrets_Text_UsedPlant:: @ 08288ACA
.string "The visitor is examining\n"
.string "a potted plant!\p"
.string "The visitor has surprisingly\n"
.string "mature taste!$"
-gTVSecretBaseSecretsText14:: @ 08288B1E
+TVSecretBaseSecrets_Text_UsedGoldShield:: @ 08288B1E
.string "The visitor is examining\n"
.string "a GOLD SHIELD!\p"
.string "The visitor's eyes appear to be\n"
.string "lit up with wonder!$"
-gTVSecretBaseSecretsText15:: @ 08288B7A
+TVSecretBaseSecrets_Text_UsedSilverShield:: @ 08288B7A
.string "The visitor is examining\n"
.string "a SILVER SHIELD!\p"
.string "The visitor appears to be wide-eyed!$"
-gTVSecretBaseSecretsText16:: @ 08288BC9
+TVSecretBaseSecrets_Text_UsedGlassOrnament:: @ 08288BC9
.string "The visitor is examining\n"
.string "a GLASS ORNAMENT!\p"
.string "Oh, no!\p"
@@ -2179,15 +2179,15 @@ gTVSecretBaseSecretsText16:: @ 08288BC9
.string "It's getting covered with\n"
.string "fingerprints…$"
-gTVSecretBaseSecretsText17:: @ 08288C40
+TVSecretBaseSecrets_Text_UsedTV:: @ 08288C40
.string "The visitor is watching television!\p"
.string "Looks like we have a big fan of TV!$"
-gTVSecretBaseSecretsText18:: @ 08288C88
+TVSecretBaseSecrets_Text_UsedMudBall:: @ 08288C88
.string "The visitor stomped on a MUD BALL!\p"
.string "The visitor looks delighted!$"
-gTVSecretBaseSecretsText19:: @ 08288CC8
+TVSecretBaseSecrets_Text_UsedBag:: @ 08288CC8
.string "…Oh?\p"
.string "The visitor is reaching for their own\n"
.string "BAG and rummaging about in it!\p"
@@ -2197,19 +2197,19 @@ gTVSecretBaseSecretsText19:: @ 08288CC8
.string "holding up the {STR_VAR_2}!\p"
.string "It's like a TV commercial!$"
-gTVSecretBaseSecretsText20:: @ 08288D7F
+TVSecretBaseSecrets_Text_UsedCushion:: @ 08288D7F
.string "The visitor grabs a cushion and…$"
-gTVSecretBaseSecretsText21:: @ 08288DA0
+TVSecretBaseSecrets_Text_HitCushion:: @ 08288DA0
.string "…begins hitting it!\p"
.string "Is the visitor under a lot of stress?$"
-gTVSecretBaseSecretsText22:: @ 08288DDA
+TVSecretBaseSecrets_Text_HuggedCushion:: @ 08288DDA
.string "…hugs it tight!\p"
.string "Could the visitor be feeling happy\n"
.string "about something?$"
-gTVSecretBaseSecretsText23:: @ 08288E1E
+TVSecretBaseSecrets_Text_BattledWon:: @ 08288E1E
.string "The visitor is chatting with\n"
.string "{STR_VAR_1}!\p"
.string "It looks like they're going to\n"
@@ -2220,7 +2220,7 @@ gTVSecretBaseSecretsText23:: @ 08288E1E
.string "The visitor is doing\n"
.string "a victory dance!$"
-gTVSecretBaseSecretsText24:: @ 08288EC9
+TVSecretBaseSecrets_Text_BattledLost:: @ 08288EC9
.string "The visitor is chatting with\n"
.string "{STR_VAR_1}!\p"
.string "It looks like they're going to\n"
@@ -2230,7 +2230,7 @@ gTVSecretBaseSecretsText24:: @ 08288EC9
.string "The visitor has lost!\p"
.string "The visitor looks dejected!$"
-gTVSecretBaseSecretsText25:: @ 08288F58
+TVSecretBaseSecrets_Text_DeclinedBattle:: @ 08288F58
.string "The visitor is chatting with\n"
.string "{STR_VAR_1}!\p"
.string "It looks like they're going to\n"
@@ -2241,7 +2241,7 @@ gTVSecretBaseSecretsText25:: @ 08288F58
.string "Did the visitor find {STR_VAR_1}\n"
.string "unappealing?$"
-gTVSecretBaseSecretsText26:: @ 08289011
+TVSecretBaseSecrets_Text_UsedPoster:: @ 08289011
.string "The visitor is staring intently\n"
.string "at a poster!\p"
.string "Is the poster to the visitor's\n"
@@ -2249,12 +2249,12 @@ gTVSecretBaseSecretsText26:: @ 08289011
.string "…But… There's something disturbing\n"
.string "about the visitor's stares.$"
-gTVSecretBaseSecretsText27:: @ 082890A4
+TVSecretBaseSecrets_Text_UsedNoteMat:: @ 082890A4
.string "The visitor stepped on a NOTE MAT!\p"
.string "…Hmm…\n"
.string "The visitor composed a funny tune!$"
-gTVSecretBaseSecretsText28:: @ 082890F0
+TVSecretBaseSecrets_Text_BattledDraw:: @ 082890F0
.string "The visitor is chatting with\n"
.string "{STR_VAR_1}!\p"
.string "It looks like they're going to\n"
@@ -2265,14 +2265,14 @@ gTVSecretBaseSecretsText28:: @ 082890F0
.string "Both TRAINERS appear to be very\n"
.string "disappointed!$"
-gTVSecretBaseSecretsText29:: @ 08289193
+TVSecretBaseSecrets_Text_UsedSpinMat:: @ 08289193
.string "The visitor stepped on\n"
.string "a SPIN MAT!\p"
.string "It looks like the visitor is dizzy!\p"
.string "The visitor is tottering about!\n"
.string "Look out!$"
-gTVSecretBaseSecretsText30:: @ 08289204
+TVSecretBaseSecrets_Text_UsedSandOrnament:: @ 08289204
.string "The visitor is reaching for\n"
.string "a SAND ORNAMENT!\p"
.string "Oh!\p"
@@ -2281,7 +2281,7 @@ gTVSecretBaseSecretsText30:: @ 08289204
.string "The visitor looks sheepish\n"
.string "and guilty!$"
-gTVSecretBaseSecretsText31:: @ 0828927C
+TVSecretBaseSecrets_Text_UsedDesk:: @ 0828927C
.string "The visitor is rubbing a desktop\n"
.string "with their finger!\p"
.string "Apparently, the visitor disapproves\n"
@@ -2289,25 +2289,25 @@ gTVSecretBaseSecretsText31:: @ 0828927C
.string "The visitor is surprisingly concerned\n"
.string "about neatness!$"
-gTVSecretBaseSecretsText32:: @ 08289313
+TVSecretBaseSecrets_Text_UsedBrick:: @ 08289313
.string "The visitor is staring at a BRICK!\p"
.string "Perhaps the visitor is thinking about\n"
.string "the object on the BRICK.$"
-gTVSecretBaseSecretsText33:: @ 08289375
+TVSecretBaseSecrets_Text_UsedSolidBoard:: @ 08289375
.string "The visitor is walking across\n"
.string "the SOLID BOARD.\p"
.string "The visitor keeps looking down.\p"
.string "The visitor appears to be surprisingly\n"
.string "timid and cautious!$"
-gTVSecretBaseSecretsText34:: @ 082893FF
+TVSecretBaseSecrets_Text_UsedFence:: @ 082893FF
.string "The visitor is looking intently\n"
.string "at a FENCE!\p"
.string "Has a new idea for a trap popped\n"
.string "into the visitor's head?$"
-gTVSecretBaseSecretsText35:: @ 08289465
+TVSecretBaseSecrets_Text_UsedGlitterMat:: @ 08289465
.string "The visitor stepped on\n"
.string "a GLITTER MAT!\p"
.string "The visitor is striking a variety\n"
@@ -2315,13 +2315,13 @@ gTVSecretBaseSecretsText35:: @ 08289465
.string "The visitor appears to be fantasizing\n"
.string "about being an idol!$"
-gTVSecretBaseSecretsText36:: @ 082894F2
+TVSecretBaseSecrets_Text_UsedTire:: @ 082894F2
.string "The visitor is staring intently\n"
.string "at a TIRE!\p"
.string "Could the visitor be thinking about\n"
.string "the kind of car that would use it?$"
-gTVSecretBaseSecretsText37:: @ 08289564
+TVSecretBaseSecrets_Text_UsedStand:: @ 08289564
.string "The visitor climbed a STAND!\p"
.string "The visitor is looking out across\n"
.string "{STR_VAR_1}'s BASE from high up!\p"
@@ -2329,16 +2329,16 @@ gTVSecretBaseSecretsText37:: @ 08289564
.string "Lets loose a roar!\n"
.string "The visitor is roaring!$"
-gTVSecretBaseSecretsText38:: @ 082895EB
+TVSecretBaseSecrets_Text_BrokeDoor:: @ 082895EB
.string "The visitor charged headlong into\n"
.string "a BREAKABLE DOOR!\p"
.string "The visitor is laughing uproariously!$"
-gTVSecretBaseSecretsText39:: @ 08289645
+TVSecretBaseSecrets_Text_UsedDoll:: @ 08289645
.string "The visitor is talking to a DOLL!\p"
.string "…It's a little creepy…$"
-gTVSecretBaseSecretsText40:: @ 0828967E
+TVSecretBaseSecrets_Text_UsedSlide:: @ 0828967E
.string "The visitor is climbing the ladder\n"
.string "on a SLIDE!\p"
.string "And…\p"
@@ -2346,7 +2346,7 @@ gTVSecretBaseSecretsText40:: @ 0828967E
.string "Looks like the visitor is having\n"
.string "a grand old time!$"
-gTVSecretBaseSecretsText41:: @ 082896FC
+TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown:: @ 082896FC
.string "The visitor is climbing the ladder\n"
.string "on a SLIDE!\p"
.string "And…\p"
@@ -2354,7 +2354,7 @@ gTVSecretBaseSecretsText41:: @ 082896FC
.string "the ladder!\p"
.string "Did the visitor suddenly chicken out?$"
-gTVSecretBaseSecretsText42:: @ 0828977D
+TVSecretBaseSecrets_Text_UsedJumpMat:: @ 0828977D
.string "The visitor stepped on\n"
.string "a JUMP MAT!\p"
.string "The visitor jumped once!\p"
@@ -2694,25 +2694,23 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26
.string "This concludes this episode of\n"
.string "“POKéMON BATTLE UPDATE!”$"
-Route111_Text_28AF05: @ 0828AF05
+GabbyAndTy_Text_GabbyPreFirstBattle: @ 0828AF05
.string "GABBY: Oh! We've just spotted a tough-\n"
.string "looking TRAINER here of all places!\p"
.string "Okay, roll camera!\n"
.string "Let's get this interview.$"
-Route111_Text_28AF7D: @ 0828AF7D
-Route118_Text_28AF7D: @ 0828AF7D
-Route120_Text_28AF7D: @ 0828AF7D
+GabbyAndTy_Text_GabbyIntro: @ 0828AF7D
.string "GABBY: Oh! You're {PLAYER}! Hi!\n"
.string "Do you remember us from last time?\p"
.string "Can you show us how much stronger\n"
.string "you've become? Okay, cue interview!$"
-Route111_Text_28B000: @ 0828B000
+GabbyAndTy_Text_GabbyDefeatFirstTime: @ 0828B000
.string "GABBY: My eyes didn't lie!\n"
.string "I did discover an astonishing TRAINER!$"
-Route111_Text_28B042: @ 0828B042
+GabbyAndTy_Text_WhoAreYouInterview: @ 0828B042
.string "GABBY: Awesome! Awesome!\n"
.string "Who are you?!\p"
.string "I knew we were onto something wild\n"
@@ -2723,19 +2721,19 @@ Route111_Text_28B042: @ 0828B042
.string "So, would you give us a bit of your time\n"
.string "for an interview?$"
-Route111_Text_28B137: @ 0828B137
+GabbyAndTy_Text_QuoteFromLastInterview: @ 0828B137
.string "GABBY: “{STR_VAR_1}!”\p"
.string "Remember? That's the quote you gave\n"
.string "us as the battle clincher last time.\p"
.string "I never, ever forget stuff like that!$"
-Route111_Text_28B1B3: @ 0828B1B3
+GabbyAndTy_Text_YouStompedUsInterviewAgain: @ 0828B1B3
.string "The last time we battled, you stomped\n"
.string "us before we could brace ourselves…\p"
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
-Route111_Text_28B23D: @ 0828B23D
+GabbyAndTy_Text_YouThrewABallAtUsInterviewAgain: @ 0828B23D
.string "The last time we battled, didn't you\n"
.string "throw a POKé BALL at us?\p"
.string "We were shocked! So we told everyone,\n"
@@ -2743,30 +2741,30 @@ Route111_Text_28B23D: @ 0828B23D
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
-Route111_Text_28B2FA: @ 0828B2FA
+GabbyAndTy_Text_CleverItemSkillsInterviewAgain: @ 0828B2FA
.string "The last time we battled, your item\n"
.string "skills cleverly did us in.\p"
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
-Route111_Text_28B379: @ 0828B379
+GabbyAndTy_Text_WeLookedRespectableInterviewAgain: @ 0828B379
.string "The last time we battled, we managed\n"
.string "to look respectable.\p"
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
-Route111_Text_28B3F3: @ 0828B3F3
+GabbyAndTy_Text_InterviewAgain: @ 0828B3F3
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
-Route111_Text_28B433: @ 0828B433
+GabbyAndTy_Text_DescribeYourFeelings: @ 0828B433
.string "You will?\n"
.string "Thank you!\p"
.string "Okay, I need you to describe your\n"
.string "feelings about our battle, but it\l"
.string "has to be short and sweet. Go!$"
-Route111_Text_28B4AB: @ 0828B4AB
+GabbyAndTy_Text_PerfectWellBeSeeingYou: @ 0828B4AB
.string "GABBY: Mmm, yeah!\n"
.string "That's the perfect clincher!\p"
.string "I get the feeling that this will make\n"
@@ -2776,24 +2774,20 @@ Route111_Text_28B4AB: @ 0828B4AB
.string "Okay!\n"
.string "We'll be seeing you!$"
-Route111_Text_28B577: @ 0828B577
+GabbyAndTy_Text_DontGiveUpKeepingEyeOut: @ 0828B577
.string "GABBY: Oh…\p"
.string "Okay, but don't give up!\n"
.string "We'll be keeping an eye out for you!$"
-Route111_Text_28B5C0: @ 0828B5C0
-Route118_Text_28B5C0: @ 0828B5C0
-Route120_Text_28B5C0: @ 0828B5C0
+GabbyAndTy_Text_KeepingAnEyeOutForYou: @ 0828B5C0
.string "GABBY: We'll be keeping an eye out\n"
.string "for you!$"
-Route111_Text_28B5EC: @ 0828B5EC
-Route118_Text_28B5EC: @ 0828B5EC
-Route120_Text_28B5EC: @ 0828B5EC
+GabbyAndTy_Text_GabbyNotEnoughMons: @ 0828B5EC
.string "GABBY: Is there a strong TRAINER\n"
.string "anywhere with a lot of POKéMON?$"
-Route111_Text_28B62D: @ 0828B62D
+GabbyAndTy_Text_GiveUsAnInterviewThisTime: @ 0828B62D
.string "GABBY: Wow, you are something!\p"
.string "You've gotten a lot stronger--a lot--\n"
.string "since we last battled.\p"
@@ -2803,46 +2797,36 @@ Route111_Text_28B62D: @ 0828B62D
.string "Are you willing to give us an interview\l"
.string "this time?$"
-Route111_Text_28B719: @ 0828B719
-Route118_Text_28B719: @ 0828B719
-Route120_Text_28B719: @ 0828B719
+GabbyAndTy_Text_GabbyDefeat: @ 0828B719
.string "GABBY: That was an intense battle!\n"
.string "Did you get all that on camera?$"
-Route111_Text_28B75C: @ 0828B75C
+GabbyAndTy_Text_TyPreFirstBattle: @ 0828B75C
.string "TY: Hey, lookie here! A tough-looking\n"
.string "TRAINER here, of all places!\l"
.string "Camera's rolling!$"
-Route111_Text_28B7B1: @ 0828B7B1
-Route118_Text_28B7B1: @ 0828B7B1
-Route120_Text_28B7B1: @ 0828B7B1
+GabbyAndTy_Text_TyIntro: @ 0828B7B1
.string "TY: Hey, lookie here!\n"
.string "I remember you!\p"
.string "I'll get this battle all on this\n"
.string "here camera!$"
-Route111_Text_28B805: @ 0828B805
-Route118_Text_28B805: @ 0828B805
-Route120_Text_28B805: @ 0828B805
+GabbyAndTy_Text_TyPostBattle: @ 0828B805
.string "TY: You're a natural!\n"
.string "Got me some prime footage right here!$"
-Route111_Text_28B841: @ 0828B841
-Route118_Text_28B841: @ 0828B841
-Route120_Text_28B841: @ 0828B841
+GabbyAndTy_Text_TyNotEnoughMons: @ 0828B841
.string "TY: Do you only have the one POKéMON\n"
.string "and that's it?\p"
.string "If you had more POKéMON, it'd make for\n"
.string "better footage, but…$"
-Route111_Text_28B8B1: @ 0828B8B1
+GabbyAndTy_Text_TyDefeatFirstTime: @ 0828B8B1
.string "TY: Yep, we sure spotted a hot TRAINER.\n"
.string "This is a huge scoop for us!$"
-Route111_Text_28B8F6: @ 0828B8F6
-Route118_Text_28B8F6: @ 0828B8F6
-Route120_Text_28B8F6: @ 0828B8F6
+GabbyAndTy_Text_TyDefeat: @ 0828B8F6
.string "TY: Yep, I got it all.\n"
.string "That whole battle's on camera.$"
diff --git a/data/text_input_strings.s b/data/text_input_strings.s
index 919b49416..bb4006a1f 100644
--- a/data/text_input_strings.s
+++ b/data/text_input_strings.s
@@ -5,142 +5,142 @@
.align 2
-gUnknown_862B810:: @ 862B810
+gText_EasyChatKeyboard_ABCDEFothers:: @ 862B810
.string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others$"
-gUnknown_862B832:: @ 862B832
+gText_EasyChatKeyboard_GHIJKL:: @ 862B832
.string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L$"
-gUnknown_862B84B:: @ 862B84B
+gText_EasyChatKeyboard_MNOPQRS:: @ 862B84B
.string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $"
-gUnknown_862B86C:: @ 862B86C
+gText_EasyChatKeyboard_TUVWXYZ:: @ 862B86C
.string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $"
-gUnknown_0862B88D:: @ 862B88D
+gText_NamingScreenKeyboard_abcdef:: @ 862B88D
.string "{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 30}.$"
-gUnknown_0862B8AE:: @ 862B8AE
+gText_NamingScreenKeyboard_ghijkl:: @ 862B8AE
.string "{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 7}k{CLEAR 7}l{CLEAR 7} {CLEAR 30},$"
-gUnknown_0862B8CF:: @ 862B8CF
+gText_NamingScreenKeyboard_mnopqrs:: @ 862B8CF
.string "{CLEAR 11}m{CLEAR 6}n{CLEAR 6}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} $"
-gUnknown_0862B8F0:: @ 862B8F0
+gText_NamingScreenKeyboard_tuvwxyz:: @ 862B8F0
.string "{CLEAR 11}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} $"
-gUnknown_0862B911:: @ 862B911
+gText_NamingScreenKeyboard_ABCDEF:: @ 862B911
.string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 30}.$"
-gUnknown_0862B932:: @ 862B932
+gText_NamingScreenKeyboard_GHIJKL:: @ 862B932
.string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 30},$"
-gUnknown_0862B953:: @ 862B953
+gText_NamingScreenKeyboard_MNOPQRS:: @ 862B953
.string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $"
-gUnknown_0862B974:: @ 862B974
+gText_NamingScreenKeyboard_TUVWXYZ:: @ 862B974
.string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $"
-gUnknown_0862B995:: @ 862B995
+gText_NamingScreenKeyboard_01234:: @ 862B995
.string "{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} $"
-gUnknown_0862B9AE:: @ 862B9AE
+gText_NamingScreenKeyboard_56789:: @ 862B9AE
.string "{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} $"
-gUnknown_0862B9C7:: @ 862B9C7
+gText_NamingScreenKeyboard_Symbols1:: @ 862B9C7
.string "{CLEAR 12}!{CLEAR 17}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 17}-$"
-gUnknown_0862B9E0:: @ 862B9E0
+gText_NamingScreenKeyboard_Symbols2:: @ 862B9E0
.string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 19}'{CLEAR 18} $"
-gUnknown_0862B9F9:: @ 862B9F9
+gText_UnionRoomChatKeyboard_ABCDE:: @ 862B9F9
.string "ABCDE$"
-gUnknown_0862B9FF:: @ 862B9FF
+gText_UnionRoomChatKeyboard_FGHIJ:: @ 862B9FF
.string "FGHIJ$"
-gUnknown_0862BA05:: @ 862BA05
+gText_UnionRoomChatKeyboard_KLMNO:: @ 862BA05
.string "KLMNO$"
-gUnknown_0862BA0B:: @ 862BA0B
+gText_UnionRoomChatKeyboard_PQRST:: @ 862BA0B
.string "PQRST$"
-gUnknown_0862BA11:: @ 862BA11
+gText_UnionRoomChatKeyboard_UVWXY:: @ 862BA11
.string "UVWXY$"
-gUnknown_0862BA17:: @ 862BA17
+gText_UnionRoomChatKeyboard_Z:: @ 862BA17
.string "Z $"
-gUnknown_0862BA1D:: @ 862BA1D
+gText_UnionRoomChatKeyboard_01234Upper:: @ 862BA1D
.string "01234$"
-gUnknown_0862BA23:: @ 862BA23
+gText_UnionRoomChatKeyboard_56789Upper:: @ 862BA23
.string "56789$"
-gUnknown_0862BA29:: @ 862BA29
+gText_UnionRoomChatKeyboard_PunctuationUpper:: @ 862BA29
.string ".,!? $"
-gUnknown_0862BA2F:: @ 862BA2F
+gText_UnionRoomChatKeyboard_SymbolsUpper:: @ 862BA2F
.string "-/&… $"
-gUnknown_0862BA35:: @ 862BA35
+gText_UnionRoomChatKeyboard_abcde:: @ 862BA35
.string "abcde$"
-gUnknown_0862BA3B:: @ 862BA3B
+gText_UnionRoomChatKeyboard_fghij:: @ 862BA3B
.string "fghij$"
-gUnknown_0862BA41:: @ 862BA41
+gText_UnionRoomChatKeyboard_klmno:: @ 862BA41
.string "klmno$"
-gUnknown_0862BA47:: @ 862BA47
+gText_UnionRoomChatKeyboard_pqrst:: @ 862BA47
.string "pqrst$"
-gUnknown_0862BA4D:: @ 862BA4D
+gText_UnionRoomChatKeyboard_uvwxy:: @ 862BA4D
.string "uvwxy$"
-gUnknown_0862BA53:: @ 862BA53
+gText_UnionRoomChatKeyboard_z:: @ 862BA53
.string "z $"
-gUnknown_0862BA59:: @ 862BA59
+gText_UnionRoomChatKeyboard_01234Lower:: @ 862BA59
.string "01234$"
-gUnknown_0862BA5F:: @ 862BA5F
+gText_UnionRoomChatKeyboard_56789Lower:: @ 862BA5F
.string "56789$"
-gUnknown_0862BA65:: @ 862BA65
+gText_UnionRoomChatKeyboard_PunctuationLower:: @ 862BA65
.string ".,!? $"
-gUnknown_0862BA6B:: @ 862BA6B
+gText_UnionRoomChatKeyboard_SymbolsLower:: @ 862BA6B
.string "-/&… $"
.string "$$$$$$$$"
-gUnknown_0862BA79:: @ 862BA79
+gText_UnionRoomChatKeyboard_Emoji1:: @ 862BA79
.string "{EMOJI_MISCHIEVOUS}{EMOJI_HAPPY}{EMOJI_ANGRY}{EMOJI_SURPRISED}{EMOJI_BIGANGER}$"
-gUnknown_0862BA84:: @ 862BA84
+gText_UnionRoomChatKeyboard_Emoji2:: @ 862BA84
.string "{EMOJI_BIGSMILE}{EMOJI_EVIL}{EMOJI_NEUTRAL}{EMOJI_TIRED}{EMOJI_SHOCKED}$"
-gUnknown_0862BA8F:: @ 862BA8F
+gText_UnionRoomChatKeyboard_Emoji3:: @ 862BA8F
.string "{EMOJI_LEAF}{EMOJI_FIRE}{EMOJI_WATER}{EMOJI_BOLT}{EMOJI_BALL}$"
-gUnknown_0862BA9A:: @ 862BA9A
+gText_UnionRoomChatKeyboard_Emoji4:: @ 862BA9A
.string "♂♀{EMOJI_LEFT_PAREN}{EMOJI_RIGHT_PAREN}{EMOJI_TILDE}$"
-gUnknown_0862BAA3:: @ 862BAA3
+gText_UnionRoomChatKeyboard_Emoji5:: @ 862BAA3
.string "{EMOJI_LEFT_EYE}{EMOJI_RIGHT_EYE}{EMOJI_SMALLWHEEL}{EMOJI_SPHERE}{EMOJI_IRRITATED}$"
-gUnknown_0862BAAE:: @ 862BAAE
+gText_UnionRoomChatKeyboard_Emoji6:: @ 862BAAE
.string "{EMOJI_AT}{EMOJI_BIGWHEEL}{EMOJI_TONGUE}{EMOJI_ACUTE}{EMOJI_GRAVE}$"
-gUnknown_0862BAB9:: @ 862BAB9
+gText_UnionRoomChatKeyboard_Emoji7:: @ 862BAB9
.string "{EMOJI_RIGHT_FIST}{EMOJI_LEFT_FIST}{EMOJI_TRIANGLE_OUTLINE}{EMOJI_UNION}{EMOJI_GREATER_THAN}$"
-gUnknown_0862BAC4:: @ 862BAC4
+gText_UnionRoomChatKeyboard_Emoji8:: @ 862BAC4
.string "{EMOJI_CIRCLE}{EMOJI_TRIANGLE}{EMOJI_SQUARE}{EMOJI_HEART}{EMOJI_MOON}$"
-gUnknown_0862BACF:: @ 862BACF
+gText_UnionRoomChatKeyboard_Emoji9:: @ 862BACF
.string "{EMOJI_NOTE}{EMOJI_PLUS}{EMOJI_MINUS}{EMOJI_EQUALS}{EMOJI_PIPE}$"
-gUnknown_0862BADA:: @ 862BADA
+gText_UnionRoomChatKeyboard_Emoji10:: @ 862BADA
.string "{EMOJI_HIGHBAR}{EMOJI_UNDERSCORE};: $"
diff --git a/src/bg.c b/gflib/bg.c
index 1678f4023..ab4e8b60d 100644
--- a/src/bg.c
+++ b/gflib/bg.c
@@ -1174,78 +1174,29 @@ u32 GetTileMapIndexFromCoords(s32 x, s32 y, s32 screenSize, u32 screenWidth, u32
return (y * 0x20) + x;
}
-#ifdef NONMATCHING // This one has some weird switch statement cases that refuse to cooperate
void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2)
{
u16 var;
+
+ if (palette1 == 16)
+ goto CASE_16;
switch (palette1)
{
case 0 ... 16:
- if (palette1 != 16)
- var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12);
- else
- var = ((*dest & 0xFC00) + (palette2 << 12)) | ((*src + tileOffset) & 0x3FF);
+ var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12);
+ break;
+ CASE_16:
+ var = *dest;
+ var &= 0xFC00;
+ var += palette2 << 12;
+ var |= (*src + tileOffset) & 0x3FF;
break;
default:
var = *src + tileOffset + (palette2 << 12);
break;
}
-
*dest = var;
}
-#else
-NAKED
-void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2)
-{
- asm("push {r4-r6,lr}\n\
- add r4, r0, #0\n\
- add r6, r1, #0\n\
- ldr r5, [sp, #0x10]\n\
- cmp r2, #0x10\n\
- beq _08002B14\n\
- cmp r2, #0x10\n\
- bgt _08002B34\n\
- cmp r2, #0\n\
- blt _08002B34\n\
- ldrh r0, [r4]\n\
- add r0, r3\n\
- ldr r3, =0x00000fff\n\
- add r1, r3, #0\n\
- and r0, r1\n\
- add r1, r2, r5\n\
- lsl r1, #12\n\
- b _08002B3A\n\
- .pool\n\
-_08002B14:\n\
- ldrh r1, [r6]\n\
- mov r0, #0xFC\n\
- lsl r0, #8\n\
- and r1, r0\n\
- lsl r2, r5, #12\n\
- add r2, r1, r2\n\
- ldrh r0, [r4]\n\
- add r0, r3\n\
- ldr r3, =0x000003ff\n\
- add r1, r3, #0\n\
- and r0, r1\n\
- orr r0, r2\n\
- b _08002B3C\n\
- .pool\n\
-_08002B34:\n\
- ldrh r0, [r4]\n\
- add r0, r3\n\
- lsl r1, r5, #12\n\
-_08002B3A:\n\
- add r0, r1\n\
-_08002B3C:\n\
- lsl r0, #16\n\
- lsr r1, r0, #16\n\
- strh r1, [r6]\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n");
-}
-#endif // NONMATCHING
u32 GetBgType(u8 bg)
{
diff --git a/include/bg.h b/gflib/bg.h
index 3c7eee292..3c7eee292 100644
--- a/include/bg.h
+++ b/gflib/bg.h
diff --git a/src/blit.c b/gflib/blit.c
index 26a63fe9b..26a63fe9b 100644
--- a/src/blit.c
+++ b/gflib/blit.c
diff --git a/include/blit.h b/gflib/blit.h
index 78f67766e..78f67766e 100644
--- a/include/blit.h
+++ b/gflib/blit.h
diff --git a/include/dma3.h b/gflib/dma3.h
index 8eff34f55..8eff34f55 100644
--- a/include/dma3.h
+++ b/gflib/dma3.h
diff --git a/src/dma3_manager.c b/gflib/dma3_manager.c
index 43744883f..43744883f 100644
--- a/src/dma3_manager.c
+++ b/gflib/dma3_manager.c
diff --git a/src/gpu_regs.c b/gflib/gpu_regs.c
index 3bcc4fd93..3bcc4fd93 100644
--- a/src/gpu_regs.c
+++ b/gflib/gpu_regs.c
diff --git a/include/gpu_regs.h b/gflib/gpu_regs.h
index 89e0cb64b..89e0cb64b 100644
--- a/include/gpu_regs.h
+++ b/gflib/gpu_regs.h
diff --git a/src/alloc.c b/gflib/malloc.c
index 4d1a9fe5c..4d1a9fe5c 100644
--- a/src/alloc.c
+++ b/gflib/malloc.c
diff --git a/include/alloc.h b/gflib/malloc.h
index f2dcf6d46..f2dcf6d46 100644
--- a/include/alloc.h
+++ b/gflib/malloc.h
diff --git a/src/sprite.c b/gflib/sprite.c
index e25eac62e..2e96acf2c 100644
--- a/src/sprite.c
+++ b/gflib/sprite.c
@@ -264,23 +264,26 @@ static const s32 sUnknown_082EC6F4[3][4][2] =
static const struct OamDimensions sOamDimensions[3][4] =
{
- { // square
- { 8, 8 },
- { 16, 16 },
- { 32, 32 },
- { 64, 64 },
+ [ST_OAM_SQUARE] =
+ {
+ [SPRITE_SIZE(8x8)] = { 8, 8 },
+ [SPRITE_SIZE(16x16)] = { 16, 16 },
+ [SPRITE_SIZE(32x32)] = { 32, 32 },
+ [SPRITE_SIZE(64x64)] = { 64, 64 },
},
- { // horizontal rectangle
- { 16, 8 },
- { 32, 8 },
- { 32, 16 },
- { 64, 32 },
+ [ST_OAM_H_RECTANGLE] =
+ {
+ [SPRITE_SIZE(16x8)] = { 16, 8 },
+ [SPRITE_SIZE(32x8)] = { 32, 8 },
+ [SPRITE_SIZE(32x16)] = { 32, 16 },
+ [SPRITE_SIZE(64x32)] = { 64, 32 },
},
- { // vertical rectangle
- { 8, 16 },
- { 8, 32 },
- { 16, 32 },
- { 32, 64 },
+ [ST_OAM_V_RECTANGLE] =
+ {
+ [SPRITE_SIZE(8x16)] = { 8, 16 },
+ [SPRITE_SIZE(8x32)] = { 8, 32 },
+ [SPRITE_SIZE(16x32)] = { 16, 32 },
+ [SPRITE_SIZE(32x64)] = { 32, 64 },
},
};
@@ -406,10 +409,10 @@ void SortSprites(void)
sprite2Y = sprite2Y - 256;
if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE
- && sprite1->oam.size == 3)
+ && sprite1->oam.size == ST_OAM_SIZE_3)
{
u32 shape = sprite1->oam.shape;
- if (shape == ST_OAM_SQUARE || shape == 2)
+ if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
{
if (sprite1Y > 128)
sprite1Y = sprite1Y - 256;
@@ -417,7 +420,7 @@ void SortSprites(void)
}
if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE
- && sprite2->oam.size == 3)
+ && sprite2->oam.size == ST_OAM_SIZE_3)
{
u32 shape = sprite2->oam.shape;
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
@@ -455,7 +458,7 @@ void SortSprites(void)
sprite2Y = sprite2Y - 256;
if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE
- && sprite1->oam.size == 3)
+ && sprite1->oam.size == ST_OAM_SIZE_3)
{
u32 shape = sprite1->oam.shape;
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
@@ -466,7 +469,7 @@ void SortSprites(void)
}
if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE
- && sprite2->oam.size == 3)
+ && sprite2->oam.size == ST_OAM_SIZE_3)
{
u32 shape = sprite2->oam.shape;
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
diff --git a/include/sprite.h b/gflib/sprite.h
index 9753837fd..9753837fd 100644
--- a/include/sprite.h
+++ b/gflib/sprite.h
diff --git a/src/string_util.c b/gflib/string_util.c
index 39d235ab8..db972a8ed 100644
--- a/src/string_util.c
+++ b/gflib/string_util.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "string_util.h"
#include "text.h"
+#include "strings.h"
EWRAM_DATA u8 gStringVar1[0x100] = {0};
EWRAM_DATA u8 gStringVar2[0x100] = {0};
@@ -24,21 +25,6 @@ static const s32 sPowersOfTen[] =
1000000000,
};
-extern const u8 gExpandedPlaceholder_Empty[];
-extern const u8 gExpandedPlaceholder_Kun[];
-extern const u8 gExpandedPlaceholder_Chan[];
-extern const u8 gExpandedPlaceholder_Sapphire[];
-extern const u8 gExpandedPlaceholder_Ruby[];
-extern const u8 gExpandedPlaceholder_Emerald[];
-extern const u8 gExpandedPlaceholder_Aqua[];
-extern const u8 gExpandedPlaceholder_Magma[];
-extern const u8 gExpandedPlaceholder_Archie[];
-extern const u8 gExpandedPlaceholder_Maxie[];
-extern const u8 gExpandedPlaceholder_Kyogre[];
-extern const u8 gExpandedPlaceholder_Groudon[];
-extern const u8 gExpandedPlaceholder_Brendan[];
-extern const u8 gExpandedPlaceholder_May[];
-
u8 *StringCopy10(u8 *dest, const u8 *src)
{
u8 i;
@@ -451,52 +437,52 @@ static const u8 *ExpandPlaceholder_StringVar3(void)
static const u8 *ExpandPlaceholder_KunChan(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
- return gExpandedPlaceholder_Kun;
+ return gText_ExpandedPlaceholder_Kun;
else
- return gExpandedPlaceholder_Chan;
+ return gText_ExpandedPlaceholder_Chan;
}
static const u8 *ExpandPlaceholder_RivalName(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
- return gExpandedPlaceholder_May;
+ return gText_ExpandedPlaceholder_May;
else
- return gExpandedPlaceholder_Brendan;
+ return gText_ExpandedPlaceholder_Brendan;
}
static const u8 *ExpandPlaceholder_Version(void)
{
- return gExpandedPlaceholder_Emerald;
+ return gText_ExpandedPlaceholder_Emerald;
}
static const u8 *ExpandPlaceholder_Aqua(void)
{
- return gExpandedPlaceholder_Aqua;
+ return gText_ExpandedPlaceholder_Aqua;
}
static const u8 *ExpandPlaceholder_Magma(void)
{
- return gExpandedPlaceholder_Magma;
+ return gText_ExpandedPlaceholder_Magma;
}
static const u8 *ExpandPlaceholder_Archie(void)
{
- return gExpandedPlaceholder_Archie;
+ return gText_ExpandedPlaceholder_Archie;
}
static const u8 *ExpandPlaceholder_Maxie(void)
{
- return gExpandedPlaceholder_Maxie;
+ return gText_ExpandedPlaceholder_Maxie;
}
static const u8 *ExpandPlaceholder_Kyogre(void)
{
- return gExpandedPlaceholder_Kyogre;
+ return gText_ExpandedPlaceholder_Kyogre;
}
static const u8 *ExpandPlaceholder_Groudon(void)
{
- return gExpandedPlaceholder_Groudon;
+ return gText_ExpandedPlaceholder_Groudon;
}
const u8 *GetExpandedPlaceholder(u32 id)
@@ -505,24 +491,24 @@ const u8 *GetExpandedPlaceholder(u32 id)
static const ExpandPlaceholderFunc funcs[] =
{
- ExpandPlaceholder_UnknownStringVar,
- ExpandPlaceholder_PlayerName,
- ExpandPlaceholder_StringVar1,
- ExpandPlaceholder_StringVar2,
- ExpandPlaceholder_StringVar3,
- ExpandPlaceholder_KunChan,
- ExpandPlaceholder_RivalName,
- ExpandPlaceholder_Version,
- ExpandPlaceholder_Aqua,
- ExpandPlaceholder_Magma,
- ExpandPlaceholder_Archie,
- ExpandPlaceholder_Maxie,
- ExpandPlaceholder_Kyogre,
- ExpandPlaceholder_Groudon,
+ [PLACEHOLDER_ID_UNKNOWN] = ExpandPlaceholder_UnknownStringVar,
+ [PLACEHOLDER_ID_PLAYER] = ExpandPlaceholder_PlayerName,
+ [PLACEHOLDER_ID_STRING_VAR_1] = ExpandPlaceholder_StringVar1,
+ [PLACEHOLDER_ID_STRING_VAR_2] = ExpandPlaceholder_StringVar2,
+ [PLACEHOLDER_ID_STRING_VAR_3] = ExpandPlaceholder_StringVar3,
+ [PLACEHOLDER_ID_KUN] = ExpandPlaceholder_KunChan,
+ [PLACEHOLDER_ID_RIVAL] = ExpandPlaceholder_RivalName,
+ [PLACEHOLDER_ID_VERSION] = ExpandPlaceholder_Version,
+ [PLACEHOLDER_ID_AQUA] = ExpandPlaceholder_Aqua,
+ [PLACEHOLDER_ID_MAGMA] = ExpandPlaceholder_Magma,
+ [PLACEHOLDER_ID_ARCHIE] = ExpandPlaceholder_Archie,
+ [PLACEHOLDER_ID_MAXIE] = ExpandPlaceholder_Maxie,
+ [PLACEHOLDER_ID_KYOGRE] = ExpandPlaceholder_Kyogre,
+ [PLACEHOLDER_ID_GROUDON] = ExpandPlaceholder_Groudon,
};
if (id >= ARRAY_COUNT(funcs))
- return gExpandedPlaceholder_Empty;
+ return gText_ExpandedPlaceholder_Empty;
else
return funcs[id]();
}
diff --git a/include/string_util.h b/gflib/string_util.h
index b921d2391..b921d2391 100644
--- a/include/string_util.h
+++ b/gflib/string_util.h
diff --git a/src/text.c b/gflib/text.c
index 7e4fa7104..7e4fa7104 100644
--- a/src/text.c
+++ b/gflib/text.c
diff --git a/include/text.h b/gflib/text.h
index d3ff663bb..3c34441dc 100644
--- a/include/text.h
+++ b/gflib/text.h
@@ -107,12 +107,34 @@
#define TEXT_COLOR_TRANSPARENT 0x0
#define TEXT_COLOR_WHITE 0x1
#define TEXT_COLOR_DARK_GREY 0x2
-// 0x3
+#define TEXT_COLOR_LIGHT_GREY 0x3
#define TEXT_COLOR_RED 0x4
-// 0x5
+#define TEXT_COLOR_LIGHT_RED 0x5
#define TEXT_COLOR_GREEN 0x6
-// 0x7
+#define TEXT_COLOR_LIGHT_GREEN 0x7
#define TEXT_COLOR_BLUE 0x8
+#define TEXT_COLOR_LIGHT_BLUE 0x9
+#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white
+#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green
+#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white
+#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine
+#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green
+#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean
+
+#define PLACEHOLDER_ID_UNKNOWN 0x0
+#define PLACEHOLDER_ID_PLAYER 0x1
+#define PLACEHOLDER_ID_STRING_VAR_1 0x2
+#define PLACEHOLDER_ID_STRING_VAR_2 0x3
+#define PLACEHOLDER_ID_STRING_VAR_3 0x4
+#define PLACEHOLDER_ID_KUN 0x5
+#define PLACEHOLDER_ID_RIVAL 0x6
+#define PLACEHOLDER_ID_VERSION 0x7
+#define PLACEHOLDER_ID_AQUA 0x8
+#define PLACEHOLDER_ID_MAGMA 0x9
+#define PLACEHOLDER_ID_ARCHIE 0xA
+#define PLACEHOLDER_ID_MAXIE 0xB
+#define PLACEHOLDER_ID_KYOGRE 0xC
+#define PLACEHOLDER_ID_GROUDON 0xD
// battle placeholders are located in battle_message.h
diff --git a/src/window.c b/gflib/window.c
index fbce57743..7c87ea86d 100644
--- a/src/window.c
+++ b/gflib/window.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "window.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "blit.h"
diff --git a/include/window.h b/gflib/window.h
index 10e447789..10e447789 100644
--- a/include/window.h
+++ b/gflib/window.h
diff --git a/graphics/battle_anims/sprites/tri_force_triangle.png b/graphics/battle_anims/sprites/tri_attack_triangle.png
index 9157118fd..9157118fd 100644
--- a/graphics/battle_anims/sprites/tri_force_triangle.png
+++ b/graphics/battle_anims/sprites/tri_attack_triangle.png
Binary files differ
diff --git a/graphics/battle_frontier/options_pal1.pal b/graphics/battle_frontier/tourney.pal
index eec4c7d71..eec4c7d71 100644
--- a/graphics/battle_frontier/options_pal1.pal
+++ b/graphics/battle_frontier/tourney.pal
diff --git a/graphics/battle_frontier/options_pal2.pal b/graphics/battle_frontier/tourney_buttons.pal
index 4a7c1f786..4a7c1f786 100644
--- a/graphics/battle_frontier/options_pal2.pal
+++ b/graphics/battle_frontier/tourney_buttons.pal
diff --git a/graphics/battle_frontier/options.png b/graphics/battle_frontier/tourney_buttons.png
index 0d8cec998..0d8cec998 100644
--- a/graphics/battle_frontier/options.png
+++ b/graphics/battle_frontier/tourney_buttons.png
Binary files differ
diff --git a/graphics/battle_frontier/misc1.png b/graphics/battle_frontier/tourney_info_card.png
index a3c225c89..a3c225c89 100644
--- a/graphics/battle_frontier/misc1.png
+++ b/graphics/battle_frontier/tourney_info_card.png
Binary files differ
diff --git a/graphics/unknown/unknown_D84F00.bin b/graphics/battle_frontier/tourney_info_card_bg.bin
index c38088d34..c38088d34 100644
--- a/graphics/unknown/unknown_D84F00.bin
+++ b/graphics/battle_frontier/tourney_info_card_bg.bin
diff --git a/graphics/unknown/unknown_D84970.bin b/graphics/battle_frontier/tourney_info_card_tilemap.bin
index d102290e4..d102290e4 100644
--- a/graphics/unknown/unknown_D84970.bin
+++ b/graphics/battle_frontier/tourney_info_card_tilemap.bin
Binary files differ
diff --git a/graphics/unknown/unknown_D83B2C.bin b/graphics/battle_frontier/tourney_line_down_map.bin
index 34175237e..34175237e 100644
--- a/graphics/unknown/unknown_D83B2C.bin
+++ b/graphics/battle_frontier/tourney_line_down_map.bin
Binary files differ
diff --git a/graphics/unknown/unknown_D83900.bin b/graphics/battle_frontier/tourney_line_mask_map.bin
index 7f3e36737..7f3e36737 100644
--- a/graphics/unknown/unknown_D83900.bin
+++ b/graphics/battle_frontier/tourney_line_mask_map.bin
Binary files differ
diff --git a/graphics/unknown/unknown_D83C3C.bin b/graphics/battle_frontier/tourney_line_up_map.bin
index acf7cf6ad..acf7cf6ad 100644
--- a/graphics/unknown/unknown_D83C3C.bin
+++ b/graphics/battle_frontier/tourney_line_up_map.bin
Binary files differ
diff --git a/graphics/battle_frontier/options_pal3.pal b/graphics/battle_frontier/tourney_match_card_bg.pal
index 912d5e9ec..912d5e9ec 100644
--- a/graphics/battle_frontier/options_pal3.pal
+++ b/graphics/battle_frontier/tourney_match_card_bg.pal
diff --git a/graphics/battle_frontier/text.pal b/graphics/battle_interface/text.pal
index 574999b72..574999b72 100644..100755
--- a/graphics/battle_frontier/text.pal
+++ b/graphics/battle_interface/text.pal
diff --git a/graphics/event_objects/pics/effects/unknown_33.png b/graphics/event_objects/pics/effects/lavaridge_gym_warp.png
index 26b852200..26b852200 100644
--- a/graphics/event_objects/pics/effects/unknown_33.png
+++ b/graphics/event_objects/pics/effects/lavaridge_gym_warp.png
Binary files differ
diff --git a/graphics/interface/party_menu_misc.bin b/graphics/interface/party_menu_bg.bin
index d6ff1114d..d6ff1114d 100644
--- a/graphics/interface/party_menu_misc.bin
+++ b/graphics/interface/party_menu_bg.bin
Binary files differ
diff --git a/graphics/interface/party_menu_misc.pal b/graphics/interface/party_menu_bg.pal
index 0b4b30f81..0b4b30f81 100644
--- a/graphics/interface/party_menu_misc.pal
+++ b/graphics/interface/party_menu_bg.pal
diff --git a/graphics/interface/party_menu_misc.png b/graphics/interface/party_menu_bg.png
index c58f3aae9..c58f3aae9 100644
--- a/graphics/interface/party_menu_misc.png
+++ b/graphics/interface/party_menu_bg.png
Binary files differ
diff --git a/graphics/interface/unknown_6157E0.bin b/graphics/interface/party_menu_cancel_button.bin
index 7f11aaf4e..7f11aaf4e 100644
--- a/graphics/interface/unknown_6157E0.bin
+++ b/graphics/interface/party_menu_cancel_button.bin
diff --git a/graphics/interface/unknown_6157C4.bin b/graphics/interface/party_menu_confirm_button.bin
index 8c3c1be3d..8c3c1be3d 100644
--- a/graphics/interface/unknown_6157C4.bin
+++ b/graphics/interface/party_menu_confirm_button.bin
diff --git a/graphics/pokemon/farfetch_d/anim_front.png b/graphics/pokemon/farfetchd/anim_front.png
index 23176939b..23176939b 100644
--- a/graphics/pokemon/farfetch_d/anim_front.png
+++ b/graphics/pokemon/farfetchd/anim_front.png
Binary files differ
diff --git a/graphics/pokemon/farfetch_d/back.png b/graphics/pokemon/farfetchd/back.png
index 7f981b389..7f981b389 100644
--- a/graphics/pokemon/farfetch_d/back.png
+++ b/graphics/pokemon/farfetchd/back.png
Binary files differ
diff --git a/graphics/pokemon/farfetch_d/footprint.png b/graphics/pokemon/farfetchd/footprint.png
index 2f08f732d..2f08f732d 100644
--- a/graphics/pokemon/farfetch_d/footprint.png
+++ b/graphics/pokemon/farfetchd/footprint.png
Binary files differ
diff --git a/graphics/pokemon/farfetch_d/front.png b/graphics/pokemon/farfetchd/front.png
index d938c1b50..d938c1b50 100644
--- a/graphics/pokemon/farfetch_d/front.png
+++ b/graphics/pokemon/farfetchd/front.png
Binary files differ
diff --git a/graphics/pokemon/farfetch_d/icon.png b/graphics/pokemon/farfetchd/icon.png
index cb3cd931b..cb3cd931b 100644
--- a/graphics/pokemon/farfetch_d/icon.png
+++ b/graphics/pokemon/farfetchd/icon.png
Binary files differ
diff --git a/graphics/pokemon/farfetch_d/normal.pal b/graphics/pokemon/farfetchd/normal.pal
index 397d1195c..397d1195c 100644
--- a/graphics/pokemon/farfetch_d/normal.pal
+++ b/graphics/pokemon/farfetchd/normal.pal
diff --git a/graphics/pokemon/farfetch_d/shiny.pal b/graphics/pokemon/farfetchd/shiny.pal
index 5537612ce..5537612ce 100644
--- a/graphics/pokemon/farfetch_d/shiny.pal
+++ b/graphics/pokemon/farfetchd/shiny.pal
diff --git a/graphics/unknown/unknown_DDD704.bin b/graphics/trade/menu_mon_box.bin
index 354866137..354866137 100644
--- a/graphics/unknown/unknown_DDD704.bin
+++ b/graphics/trade/menu_mon_box.bin
Binary files differ
diff --git a/graphics/trade/ball.png b/graphics/trade/pokeball.png
index 97cc86a6f..97cc86a6f 100644
--- a/graphics/trade/ball.png
+++ b/graphics/trade/pokeball.png
Binary files differ
diff --git a/graphics/unknown/unknown_DDB444.pal b/graphics/trade/unknown_DDB444.pal
index bb74b34a2..bb74b34a2 100644
--- a/graphics/unknown/unknown_DDB444.pal
+++ b/graphics/trade/unknown_DDB444.pal
diff --git a/graphics/unknown/unknown_DDCF04.bin b/graphics/trade/unknown_DDCF04.bin
index 46218245f..46218245f 100644
--- a/graphics/unknown/unknown_DDCF04.bin
+++ b/graphics/trade/unknown_DDCF04.bin
Binary files differ
diff --git a/graphics/weather/fog2.png b/graphics/weather/fog_diagonal.png
index 198c6f494..198c6f494 100644
--- a/graphics/weather/fog2.png
+++ b/graphics/weather/fog_diagonal.png
Binary files differ
diff --git a/graphics/weather/fog1.png b/graphics/weather/fog_horizontal.png
index 02e3cd3cb..02e3cd3cb 100644
--- a/graphics/weather/fog1.png
+++ b/graphics/weather/fog_horizontal.png
Binary files differ
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index bc51b1e1f..fbdb6348c 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -409,7 +409,7 @@ $(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png
$(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 16
-$(INTERFACEGFXDIR)/party_menu_misc.4bpp: %.4bpp: %.png
+$(INTERFACEGFXDIR)/party_menu_bg.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 62
$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp)
diff --git a/include/apprentice.h b/include/apprentice.h
index 195106c53..27ce0371e 100644
--- a/include/apprentice.h
+++ b/include/apprentice.h
@@ -1,21 +1,21 @@
#ifndef GUARD_APPRENTICE_H
#define GUARD_APPRENTICE_H
-#define APPRENTICE_SPECIES_COUNT 10
+#include "constants/apprentice.h"
struct ApprenticeTrainer
{
- u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages.
+ u8 name[NUM_LANGUAGES - 1][PLAYER_NAME_LENGTH + 1]; // For all languages except the unused one.
u16 otId;
u8 facilityClass;
u16 species[APPRENTICE_SPECIES_COUNT];
u8 id;
- u16 easyChatWords[6];
+ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT];
};
extern const struct ApprenticeTrainer gApprentices[];
-void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId);
+void BufferApprenticeChallengeText(u8 saveApprenticeId);
void Apprentice_EnableBothScriptContexts(void);
void ResetApprenticeStruct(struct Apprentice *apprentice);
void ResetAllApprenticeData(void);
diff --git a/include/battle.h b/include/battle.h
index 0f4087c90..f8c685fb0 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -37,7 +37,6 @@
#define B_ACTION_NONE 0xFF
#define MAX_TRAINER_ITEMS 4
-#define MAX_MON_MOVES 4
// array entries for battle communication
#define MULTIUSE_STATE 0x0
@@ -180,19 +179,19 @@ struct AI_ThinkingStruct
u8 aiState;
u8 movesetIndex;
u16 moveConsidered;
- s8 score[4];
+ s8 score[MAX_MON_MOVES];
u32 funcResult;
u32 aiFlags;
u8 aiAction;
u8 aiLogicId;
u8 filler12[6];
- u8 simulatedRNG[4];
+ u8 simulatedRNG[MAX_MON_MOVES];
};
struct UsedMoves
{
- u16 moves[MAX_BATTLERS_COUNT];
- u16 unknown[MAX_BATTLERS_COUNT];
+ u16 moves[MAX_MON_MOVES];
+ u16 unknown[MAX_MON_MOVES];
};
struct BattleHistory
@@ -479,7 +478,7 @@ struct BattleScripting
u8 animArg1;
u8 animArg2;
u16 tripleKickPower;
- u8 atk49_state;
+ u8 moveendState;
u8 battlerWithAbility;
u8 multihitMoveEffect;
u8 battler;
@@ -487,9 +486,9 @@ struct BattleScripting
u8 animTargetsHit;
u8 statChanger;
bool8 statAnimPlayed;
- u8 atk23_state;
+ u8 getexpState;
u8 battleStyle;
- u8 atk6C_state;
+ u8 drawlvlupboxState;
u8 learnMoveState;
u8 field_20;
u8 reshowMainState;
diff --git a/include/battle_anim.h b/include/battle_anim.h
index a7b71bd85..c3019a5cf 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -101,7 +101,7 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2);
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 a2);
u8 GetBattlerYCoordWithElevation(u8 battlerId);
void WaitAnimForDuration(struct Sprite *sprite);
-void sub_80A7938(struct Sprite *sprite);
+void AnimSnoreZ(struct Sprite *sprite);
void InitAnimLinearTranslation(struct Sprite *sprite);
void sub_80A6F98(struct Sprite *sprite);
u8 GetBattlerSpriteBGPriority(u8 battlerId);
@@ -141,17 +141,17 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite);
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
void TranslateMonSpriteLinear(struct Sprite *sprite);
void TranslateSpriteLinear(struct Sprite *sprite);
-void sub_80A77C8(struct Sprite *sprite);
+void AnimSpriteOnMonPos(struct Sprite *sprite);
void sub_80A7000(struct Sprite *sprite);
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite);
void SetGreyscaleOrOriginalPalette(u16 a1, bool8 a2);
void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds);
bool8 RunAffineAnimFromTaskData(struct Task *task);
-void sub_80A78AC(struct Sprite *sprite);
+void AnimThrowProjectile(struct Sprite *sprite);
void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused);
u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10);
void sub_80A749C(struct Sprite *sprite);
-void sub_80A6DEC(struct Sprite *sprite);
+void TradeMenuBouncePartySprites(struct Sprite *sprite);
void DestroyAnimVisualTaskAndDisableBlend(u8 taskId);
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId);
@@ -185,7 +185,7 @@ bool8 IsBattlerSpritePresent(u8 battlerId);
void sub_80A6C68(u32 arg0);
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
bool8 IsDoubleBattle(void);
-u8 sub_80A6D94(void);
+u8 GetBattleBgPaletteNum(void);
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite);
@@ -221,66 +221,66 @@ void sub_8116EB4(u8);
void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette);
// battle_anim_effects_1.c
-void sub_810310C(u8 battler, struct Sprite* sprite);
+void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite);
void AnimMoveTwisterParticle(struct Sprite* sprite);
// water.c
-void sub_8108C94(struct Sprite *sprite);
+void AnimWaterPulseRing(struct Sprite *sprite);
// flying.c
void sub_810E2C8(struct Sprite *sprite);
// smokescreen.c
-u8 sub_807521C(s16 x, s16 y, u8 a3);
+u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
u32 UnpackSelectedBattleAnimPalettes(s16);
u8 GetBattlerSpriteFinal_Y(u8, u16, u8);
-extern const struct OamData gUnknown_08524944;
-extern const struct OamData gUnknown_08524A8C;
-extern const struct OamData gUnknown_08524904;
-extern const struct OamData gUnknown_085249C4;
-extern const struct OamData gUnknown_0852490C;
-extern const struct OamData gUnknown_08524934;
-extern const struct OamData gUnknown_08524974;
-extern const struct OamData gUnknown_0852499C;
-extern const struct OamData gUnknown_085249CC;
-extern const struct OamData gUnknown_08524914;
-extern const struct OamData gUnknown_0852496C;
-extern const struct OamData gUnknown_08524A34;
-extern const struct OamData gUnknown_08524A3C;
-extern const struct OamData gUnknown_08524A94;
-extern const struct OamData gUnknown_08524954;
-extern const struct OamData gUnknown_08524AE4;
-extern const struct OamData gUnknown_085249D4;
-extern const struct OamData gUnknown_08524A9C;
-extern const struct OamData gUnknown_08524ADC;
-extern const struct OamData gUnknown_08524B14;
-extern const struct OamData gUnknown_08524A54;
-extern const struct OamData gUnknown_08524A14;
-extern const struct OamData gUnknown_08524A1C;
-extern const struct OamData gUnknown_085249BC;
-extern const struct OamData gUnknown_08524AF4;
-extern const struct OamData gUnknown_085249DC;
-extern const struct OamData gUnknown_08524AFC;
-extern const struct OamData gUnknown_08524B1C;
-extern const struct OamData gUnknown_08524A04;
-extern const struct OamData gUnknown_08524A2C;
-extern const struct OamData gUnknown_08524AEC;
-extern const struct OamData gUnknown_08524964;
-extern const struct OamData gUnknown_08524B24;
-extern const struct OamData gUnknown_08524A24;
-extern const struct OamData gUnknown_08524AC4;
-extern const struct OamData gUnknown_08524A84;
-extern const struct OamData gUnknown_08524A64;
-extern const struct OamData gUnknown_0852491C;
-extern const struct OamData gUnknown_0852495C;
-extern const struct OamData gUnknown_0852497C;
-extern const struct OamData gUnknown_085249F4;
-extern const struct OamData gUnknown_0852493C;
-extern const struct OamData gUnknown_08524A5C;
-extern const struct OamData gUnknown_08524A74;
+extern const struct OamData gOamData_AffineOff_ObjNormal_8x16;
+extern const struct OamData gOamData_AffineNormal_ObjBlend_16x16;
+extern const struct OamData gOamData_AffineOff_ObjNormal_8x8;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_8x8;
+extern const struct OamData gOamData_AffineOff_ObjNormal_16x16;
+extern const struct OamData gOamData_AffineOff_ObjNormal_32x16;
+extern const struct OamData gOamData_AffineNormal_ObjNormal_32x32;
+extern const struct OamData gOamData_AffineNormal_ObjNormal_64x32;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_16x16;
+extern const struct OamData gOamData_AffineOff_ObjNormal_32x32;
+extern const struct OamData gOamData_AffineNormal_ObjNormal_16x16;
+extern const struct OamData gOamData_AffineOff_ObjBlend_32x32;
+extern const struct OamData gOamData_AffineOff_ObjBlend_64x64;
+extern const struct OamData gOamData_AffineNormal_ObjBlend_32x32;
+extern const struct OamData gOamData_AffineOff_ObjNormal_16x32;
+extern const struct OamData gOamData_AffineDouble_ObjBlend_8x8;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_32x32;
+extern const struct OamData gOamData_AffineNormal_ObjBlend_64x64;
+extern const struct OamData gOamData_AffineNormal_ObjBlend_32x64;
+extern const struct OamData gOamData_AffineDouble_ObjBlend_32x16;
+extern const struct OamData gOamData_AffineOff_ObjBlend_32x16;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_16x32;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_32x64;
+extern const struct OamData gOamData_AffineNormal_ObjNormal_32x64;
+extern const struct OamData gOamData_AffineDouble_ObjBlend_32x32;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_64x64;
+extern const struct OamData gOamData_AffineDouble_ObjBlend_64x64;
+extern const struct OamData gOamData_AffineDouble_ObjBlend_64x32;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_8x16;
+extern const struct OamData gOamData_AffineOff_ObjBlend_16x16;
+extern const struct OamData gOamData_AffineDouble_ObjBlend_16x16;
+extern const struct OamData gOamData_AffineNormal_ObjNormal_8x8;
+extern const struct OamData gOamData_AffineDouble_ObjBlend_8x16;
+extern const struct OamData gOamData_AffineOff_ObjBlend_8x8;
+extern const struct OamData gOamData_AffineNormal_ObjBlend_8x16;
+extern const struct OamData gOamData_AffineNormal_ObjBlend_8x8;
+extern const struct OamData gOamData_AffineOff_ObjBlend_8x16;
+extern const struct OamData gOamData_AffineOff_ObjNormal_64x64;
+extern const struct OamData gOamData_AffineOff_ObjNormal_32x64;
+extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64;
+extern const struct OamData gOamData_AffineDouble_ObjNormal_32x16;
+extern const struct OamData gOamData_AffineOff_ObjNormal_64x32;
+extern const struct OamData gOamData_AffineOff_ObjBlend_64x32;
+extern const struct OamData gOamData_AffineOff_ObjBlend_16x32;
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
diff --git a/include/battle_bg.h b/include/battle_bg.h
index dac41c992..167ea5cf7 100644
--- a/include/battle_bg.h
+++ b/include/battle_bg.h
@@ -2,11 +2,11 @@
#define GUARD_BATTLE_BG_H
void BattleInitBgsAndWindows(void);
-void sub_80356D0(void);
+void InitBattleBgsVideo(void);
void LoadBattleMenuWindowGfx(void);
void DrawMainBattleBackground(void);
void LoadBattleTextboxAndBackground(void);
-void sub_8035D74(u8 taskId);
+void InitLinkBattleVsScreen(u8 taskId);
void DrawBattleEntryBackground(void);
bool8 LoadChosenBattleElement(u8 caseId);
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index 9449f1986..32918fefb 100644
--- a/include/battle_controllers.h
+++ b/include/battle_controllers.h
@@ -97,16 +97,16 @@ struct HpAndStatus
struct MovePpInfo
{
- u16 moves[4];
- u8 pp[4];
+ u16 moves[MAX_MON_MOVES];
+ u8 pp[MAX_MON_MOVES];
u8 ppBonuses;
};
struct ChooseMoveStruct
{
- u16 moves[4];
- u8 currentPp[4];
- u8 maxPp[4];
+ u16 moves[MAX_MON_MOVES];
+ u8 currentPp[MAX_MON_MOVES];
+ u8 maxPp[MAX_MON_MOVES];
u16 species;
u8 monType1;
u8 monType2;
@@ -248,8 +248,8 @@ void nullsub_21(void);
void PlayerHandleGetRawMonData(void);
void sub_80587B0(void);
void sub_805CC00(struct Sprite *sprite);
-void SetCB2ToReshowScreenAfterMenu(void);
-void SetCB2ToReshowScreenAfterMenu2(void);
+void CB2_SetUpReshowBattleScreenAfterMenu(void);
+void CB2_SetUpReshowBattleScreenAfterMenu2(void);
void c3_0802FDF4(u8 taskId);
void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);
void ActionSelectionDestroyCursorAt(u8 cursorPos);
diff --git a/include/battle_dome.h b/include/battle_dome.h
index d1dfdb100..900508c4b 100644
--- a/include/battle_dome.h
+++ b/include/battle_dome.h
@@ -1,9 +1,9 @@
#ifndef GUARD_BATTLE_DOME_H
#define GUARD_BATTLE_DOME_H
-extern u32 gUnknown_0203CD70;
+extern u32 gPlayerPartyLostHP;
-int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId);
+int GetDomeTrainerSelectedMons(u16 tournamentTrainerId);
int TrainerIdToDomeTournamentId(u16 trainerId);
#endif // GUARD_BATTLE_DOME_H
diff --git a/include/battle_main.h b/include/battle_main.h
index c134f819f..e04db17bb 100644
--- a/include/battle_main.h
+++ b/include/battle_main.h
@@ -77,20 +77,20 @@ void sub_803B3AC(void); // unused
void sub_803B598(void); // unused
void BattleTurnPassed(void);
u8 IsRunningFromBattleImpossible(void);
-void sub_803BDA0(u8 battlerId);
+void SwitchPartyOrder(u8 battlerId);
void SwapTurnOrder(u8 id1, u8 id2);
u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves);
void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void);
bool8 TryRunFromBattle(u8 battlerId);
-extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3];
+extern struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE];
extern const struct SpriteTemplate gUnknown_0831AC88;
extern const struct OamData gOamData_831ACA8;
extern const struct OamData gOamData_831ACB0;
extern const u8 gTypeEffectiveness[336];
-extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1];
+extern const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1];
extern const struct TrainerMoney gTrainerMoneyTable[];
extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1];
extern const u8 *const gAbilityDescriptionPointers[];
diff --git a/include/battle_message.h b/include/battle_message.h
index 88ccbb90f..a3f2636e5 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -213,7 +213,7 @@ struct BattleMsgData
void BufferStringBattle(u16 stringID);
u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src);
u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
-void BattlePutTextOnWindow(const u8* text, u8 arg1);
+void BattlePutTextOnWindow(const u8* text, u8 windowId);
void SetPpNumbersPaletteInMoveSelection(void);
u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp);
@@ -259,7 +259,7 @@ extern const u8 gText_Love[];
extern const u8 gText_SpaceAndSpace[];
extern const u8 gText_CommaSpace[];
extern const u8 gText_Space2[];
-extern const u8 gText_ScrollTextUp[];
+extern const u8 gText_LineBreak[];
extern const u8 gText_NewLine[];
extern const u8 gText_Are[];
extern const u8 gText_Are2[];
diff --git a/include/battle_pyramid.h b/include/battle_pyramid.h
index d77172d0b..d0681acf3 100644
--- a/include/battle_pyramid.h
+++ b/include/battle_pyramid.h
@@ -9,7 +9,7 @@ void GenerateBattlePyramidWildMon(void);
u8 GetPyramidRunMultiplier(void);
u8 InBattlePyramid(void);
bool8 InBattlePyramid_(void);
-void sub_81A9E90(void);
+void PausePyramidChallenge(void);
void SoftResetInBattlePyramid(void);
void CopyPyramidTrainerSpeechBefore(u16 trainerId);
void CopyPyramidTrainerWinSpeech(u16 trainerId);
diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h
index c3b799a4d..df111b939 100644
--- a/include/battle_pyramid_bag.h
+++ b/include/battle_pyramid_bag.h
@@ -36,15 +36,15 @@ extern struct PyramidBagCursorData gPyramidBagCursorData;
void InitBattlePyramidBagCursorPosition(void);
void CB2_PyramidBagMenuFromStartMenu(void);
-void sub_81C4F84(void);
+void CB2_ReturnToPyramidBagMenu(void);
void sub_81C5924(void);
void sub_81C59BC(void);
void sub_81C4EFC(void);
-void sub_81C4F98(u8 a0, void (*callback)(void));
-void sub_81C6714(u8 taskId);
-void sub_81C6A94(void);
-void sub_81C4F24(void);
-void sub_81C5B14(u8 taskId);
+void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void));
+void Task_CloseBattlePyramidBagMessage(u8 taskId);
+void TryStoreHeldItemsInPyramidBag(void);
+void ChooseItemsToTossFromPyramidBag(void);
+void CloseBattlePyramidBagAndSetCallback(u8 taskId);
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId));
#endif // GUARD_BATTLE_PYRAMID_BAG_H
diff --git a/include/battle_setup.h b/include/battle_setup.h
index 984c820bb..dacd1fa71 100644
--- a/include/battle_setup.h
+++ b/include/battle_setup.h
@@ -4,7 +4,6 @@
#include "gym_leader_rematch.h"
#define REMATCHES_COUNT 5
-#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
struct RematchTrainer
{
diff --git a/include/battle_tower.h b/include/battle_tower.h
index 12d6d2e9e..3bf2f004b 100644
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -7,9 +7,9 @@ struct RSBattleTowerRecord
/*0x01*/ u8 facilityClass;
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
- /*0x0C*/ u8 trainerId[4];
- /*0x10*/ u16 greeting[6];
- /*0x1C*/ struct BattleTowerPokemon party[3];
+ /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
+ /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x1C*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE];
/*0xA0*/ u32 checksum;
};
@@ -18,16 +18,16 @@ struct BattleFrontierTrainer
u8 facilityClass;
u8 filler1[3];
u8 trainerName[PLAYER_NAME_LENGTH + 1];
- u16 speechBefore[6];
- u16 speechWin[6];
- u16 speechLose[6];
- const u16 *monSets;
+ u16 speechBefore[EASY_CHAT_BATTLE_WORDS_COUNT];
+ u16 speechWin[EASY_CHAT_BATTLE_WORDS_COUNT];
+ u16 speechLose[EASY_CHAT_BATTLE_WORDS_COUNT];
+ const u16 *monSet;
};
struct FacilityMon
{
u16 species;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
u8 itemTableId;
u8 evSpread;
u8 nature;
@@ -48,8 +48,8 @@ extern u16 gUnknown_03006298[];
extern const struct BattleFrontierTrainer *gFacilityTrainers;
extern const struct FacilityMon *gFacilityTrainerMons;
-void sub_8161F74(void);
-u16 sub_8162548(u8 challengeNum, u8 battleNum);
+void CallBattleTowerFunc(void);
+u16 GetRandomScaledFrontierTrainerId(u8 challengeNum, u8 battleNum);
void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId);
void SetEReaderTrainerGfxId(void);
u8 GetBattleFacilityTrainerGfxId(u16 trainerId);
@@ -59,7 +59,7 @@ u8 GetFrontierOpponentClass(u16 trainerId);
void GetFrontierTrainerName(u8 *dst, u16 trainerId);
void FillFrontierTrainerParty(u8 monsCount);
void FillFrontierTrainersParties(u8 monsCount);
-u16 RandomizeFacilityTrainerMonSet(u16 trainerId);
+u16 GetRandomFrontierMonFromSet(u16 trainerId);
void FrontierSpeechToString(const u16 *words);
void DoSpecialTrainerBattle(void);
void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record);
@@ -71,7 +71,7 @@ void GetEreaderTrainerName(u8 *dst);
void ValidateEReaderTrainer(void);
void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer);
void CopyEReaderTrainerGreeting(void);
-void sub_81653CC(void);
+void TryHideBattleTowerReporter(void);
bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct EmeraldBattleTowerRecord *dst);
bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, struct RSBattleTowerRecord *dst);
void CalcApprenticeChecksum(struct Apprentice *apprentice);
diff --git a/include/battle_util.h b/include/battle_util.h
index 0756a387a..b77fa10ad 100644
--- a/include/battle_util.h
+++ b/include/battle_util.h
@@ -12,7 +12,7 @@
#define ABILITYEFFECT_ENDTURN 0x1
#define ABILITYEFFECT_MOVES_BLOCK 0x2
#define ABILITYEFFECT_ABSORBING 0x3
-#define ABILITYEFFECT_MOVE_END 0x4
+#define ABILITYEFFECT_ON_DAMAGE 0x4
#define ABILITYEFFECT_IMMUNITY 0x5
#define ABILITYEFFECT_FORECAST 0x6
#define ABILITYEFFECT_SYNCHRONIZE 0x7
diff --git a/include/battle_util2.h b/include/battle_util2.h
index 336698ea3..fe767ea4b 100644
--- a/include/battle_util2.h
+++ b/include/battle_util2.h
@@ -4,7 +4,7 @@
void AllocateBattleResources(void);
void FreeBattleResources(void);
void AdjustFriendshipOnBattleFaint(u8 battler);
-void sub_80571DC(u8 battler, u8 arg1);
+void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1);
u32 sub_805725C(u8 battler);
#endif // GUARD_BATTLE_UTIL_H
diff --git a/include/berry.h b/include/berry.h
index 9ff18e198..ebe1e9a38 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -1,39 +1,6 @@
#ifndef GUARD_BERRY_H
#define GUARD_BERRY_H
-#define BERRY_NONE 0
-
-enum
-{
- BERRY_FIRMNESS_UNKNOWN,
- BERRY_FIRMNESS_VERY_SOFT,
- BERRY_FIRMNESS_SOFT,
- BERRY_FIRMNESS_HARD,
- BERRY_FIRMNESS_VERY_HARD,
- BERRY_FIRMNESS_SUPER_HARD,
-};
-
-enum
-{
- FLAVOR_SPICY,
- FLAVOR_DRY,
- FLAVOR_SWEET,
- FLAVOR_BITTER,
- FLAVOR_SOUR,
- FLAVOR_COUNT
-};
-
-enum
-{
- BERRY_STAGE_NO_BERRY, // there is no tree planted and the soil is completely flat.
- BERRY_STAGE_PLANTED,
- BERRY_STAGE_SPROUTED,
- BERRY_STAGE_TALLER,
- BERRY_STAGE_FLOWERING,
- BERRY_STAGE_BERRIES,
- BERRY_STAGE_SPARKLING = 0xFF,
-};
-
void ClearEnigmaBerries(void);
void SetEnigmaBerry(u8 *src);
bool32 IsEnigmaBerryValid(void);
diff --git a/include/coins.h b/include/coins.h
index 996519605..6190ebbab 100644
--- a/include/coins.h
+++ b/include/coins.h
@@ -6,7 +6,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y);
void HideCoinsWindow(void);
u16 GetCoins(void);
void SetCoins(u16 coinAmount);
-bool8 GiveCoins(u16 toAdd);
-bool8 TakeCoins(u16 toSub);
+bool8 AddCoins(u16 toAdd);
+bool8 RemoveCoins(u16 toSub);
#endif // GUARD_COINS_H
diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h
index 9db58bb8e..f1bea5e8c 100644
--- a/include/constants/apprentice.h
+++ b/include/constants/apprentice.h
@@ -1,22 +1,90 @@
#ifndef GUARD_CONSTANTS_APPRENTICE_H
#define GUARD_CONSTANTS_APPRENTICE_H
-#define APPRENTICE_ASK_WHICH_LEVEL 0
-#define APPRENTICE_ASK_3SPECIES 1
-#define APPRENTICE_ASK_2SPECIES 2
-#define APPRENTICE_ASK_MOVES 3
-#define APPRENTICE_ASK_GIVE 4
-#define APPRENTICE_ASK_YES_NO 6
-
-#define APPRENTICE_BUFF_SPECIES1 0
-#define APPRENTICE_BUFF_SPECIES2 1
-#define APPRENTICE_BUFF_SPECIES3 2
-#define APPRENTICE_BUFF_MOVE1 3
-#define APPRENTICE_BUFF_MOVE2 4
-#define APPRENTICE_BUFF_ITEM 5
-#define APPRENTICE_BUFF_NAME 6
-#define APPRENTICE_BUFF_EASY_CHAT 7
-#define APPRENTICE_BUFF_LEVEL 8
-#define APPRENTICE_BUFF_SPECIES4 9
+#define NUM_APPRENTICES 16
+#define APPRENTICE_SPECIES_COUNT 10
+
+#define NUM_WHICH_MON_QUESTIONS MULTI_PARTY_SIZE
+#define NUM_WHICH_MOVE_QUESTIONS 5
+// + 2 below is 1 each for the lead mon question and the win speech question
+#define MAX_APPRENTICE_QUESTIONS NUM_WHICH_MON_QUESTIONS + NUM_WHICH_MOVE_QUESTIONS + 2
+
+#define APPRENTICE_LVL_MODE_50 (FRONTIER_LVL_50 + 1)
+#define APPRENTICE_LVL_MODE_OPEN (FRONTIER_LVL_OPEN + 1)
+
+#define APPRENTICE_FUNC_GAVE_LVLMODE 0
+#define APPRENTICE_FUNC_SET_LVLMODE 1
+#define APPRENTICE_FUNC_SET_ID 2
+#define APPRENTICE_FUNC_SHUFFLE_SPECIES 3
+#define APPRENTICE_FUNC_RANDOMIZE_QUESTIONS 4
+#define APPRENTICE_FUNC_ANSWERED_QUESTION 5
+#define APPRENTICE_FUNC_IS_FINAL_QUESTION 6
+#define APPRENTICE_FUNC_MENU 7
+#define APPRENTICE_FUNC_PRINT_MSG 8
+#define APPRENTICE_FUNC_RESET 9
+#define APPRENTICE_FUNC_CHECK_GONE 10
+#define APPRENTICE_FUNC_GET_QUESTION 11
+#define APPRENTICE_FUNC_GET_NUM_PARTY_MONS 12
+#define APPRENTICE_FUNC_SET_PARTY_MON 13
+#define APPRENTICE_FUNC_INIT_QUESTION_DATA 14
+#define APPRENTICE_FUNC_FREE_QUESTION_DATA 15
+#define APPRENTICE_FUNC_BUFFER_STRING 16
+#define APPRENTICE_FUNC_SET_MOVE 17
+#define APPRENTICE_FUNC_SET_LEAD_MON 18
+#define APPRENTICE_FUNC_OPEN_BAG 19
+#define APPRENTICE_FUNC_TRY_SET_HELD_ITEM 20
+#define APPRENTICE_FUNC_SAVE 21
+#define APPRENTICE_FUNC_SET_GFX_SAVED 22
+#define APPRENTICE_FUNC_SET_GFX 23
+#define APPRENTICE_FUNC_SHOULD_LEAVE 24
+#define APPRENTICE_FUNC_SHIFT_SAVED 25
+
+#define APPRENTICE_MSG_PLEASE_TEACH 0
+#define APPRENTICE_MSG_REJECT 1
+#define APPRENTICE_MSG_WHICH_LVL_MODE 2
+#define APPRENTICE_MSG_THANKS_LVL_MODE 3
+#define APPRENTICE_MSG_WHICH_MON_FIRST 4
+#define APPRENTICE_MSG_THANKS_MON_FIRST 5
+#define APPRENTICE_MSG_WHICH_MON 6
+#define APPRENTICE_MSG_THANKS_MON 7
+#define APPRENTICE_MSG_WHICH_MOVE 8
+#define APPRENTICE_MSG_THANKS_MOVE 9
+#define APPRENTICE_MSG_WHAT_HELD_ITEM 10
+#define APPRENTICE_MSG_PICK_WIN_SPEECH 11
+#define APPRENTICE_MSG_THANKS_HELD_ITEM 12
+#define APPRENTICE_MSG_HOLD_NOTHING 13
+#define APPRENTICE_MSG_THANKS_NO_HELD_ITEM 14
+#define APPRENTICE_MSG_THANKS_WIN_SPEECH 15
+#define APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED 16
+
+#define APPRENTICE_QUESTION_WHICH_FIRST 1
+#define APPRENTICE_QUESTION_WHICH_MON 2
+#define APPRENTICE_QUESTION_WHICH_MOVE 3
+#define APPRENTICE_QUESTION_WHAT_ITEM 4
+#define APPRENTICE_QUESTION_WIN_SPEECH 5
+
+// Would be redundant with the above set if they used the same values
+#define QUESTION_ID_WIN_SPEECH 0
+#define QUESTION_ID_WHAT_ITEM 1
+#define QUESTION_ID_WHICH_MOVE 2
+#define QUESTION_ID_WHICH_FIRST 3
+
+#define APPRENTICE_ASK_WHICH_LEVEL 0
+#define APPRENTICE_ASK_3SPECIES 1
+#define APPRENTICE_ASK_2SPECIES 2
+#define APPRENTICE_ASK_MOVES 3
+#define APPRENTICE_ASK_GIVE 4
+#define APPRENTICE_ASK_YES_NO 6
+
+#define APPRENTICE_BUFF_SPECIES1 0
+#define APPRENTICE_BUFF_SPECIES2 1
+#define APPRENTICE_BUFF_SPECIES3 2
+#define APPRENTICE_BUFF_MOVE1 3
+#define APPRENTICE_BUFF_MOVE2 4
+#define APPRENTICE_BUFF_ITEM 5
+#define APPRENTICE_BUFF_NAME 6
+#define APPRENTICE_BUFF_WIN_SPEECH 7
+#define APPRENTICE_BUFF_LEVEL 8
+#define APPRENTICE_BUFF_LEAD_MON_SPECIES 9
#endif // GUARD_CONSTANTS_APPRENTICE_H
diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h
index 0a023f0c2..0fe231cdc 100644
--- a/include/constants/battle_anim.h
+++ b/include/constants/battle_anim.h
@@ -237,7 +237,7 @@
#define ANIM_TAG_SPOTLIGHT (ANIM_SPRITES_START + 227)
#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228)
#define ANIM_TAG_RAPID_SPIN (ANIM_SPRITES_START + 229)
-#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230)
+#define ANIM_TAG_TRI_ATTACK_TRIANGLE (ANIM_SPRITES_START + 230)
#define ANIM_TAG_WISP_ORB (ANIM_SPRITES_START + 231)
#define ANIM_TAG_WISP_FIRE (ANIM_SPRITES_START + 232)
#define ANIM_TAG_GOLD_STARS (ANIM_SPRITES_START + 233)
diff --git a/include/constants/battle_arena.h b/include/constants/battle_arena.h
new file mode 100644
index 000000000..e04211115
--- /dev/null
+++ b/include/constants/battle_arena.h
@@ -0,0 +1,20 @@
+#ifndef GUARD_CONSTANTS_BATTLE_ARENA_H
+#define GUARD_CONSTANTS_BATTLE_ARENA_H
+
+#define BATTLE_ARENA_FUNC_INIT 0
+#define BATTLE_ARENA_FUNC_GET_DATA 1
+#define BATTLE_ARENA_FUNC_SET_DATA 2
+#define BATTLE_ARENA_FUNC_SAVE 3
+#define BATTLE_ARENA_FUNC_SET_PRIZE 4
+#define BATTLE_ARENA_FUNC_GIVE_PRIZE 5
+#define BATTLE_ARENA_FUNC_GET_TRAINER_NAME 6
+
+#define ARENA_DATA_PRIZE 0
+#define ARENA_DATA_WIN_STREAK 1
+#define ARENA_DATA_WIN_STREAK_ACTIVE 2
+
+#define ARENA_CATEGORY_MIND 0
+#define ARENA_CATEGORY_SKILL 1
+#define ARENA_CATEGORY_BODY 2
+
+#endif //GUARD_CONSTANTS_BATTLE_ARENA_H
diff --git a/include/constants/battle_dome.h b/include/constants/battle_dome.h
new file mode 100644
index 000000000..ea7310e55
--- /dev/null
+++ b/include/constants/battle_dome.h
@@ -0,0 +1,163 @@
+#ifndef GUARD_CONSTANTS_BATTLE_DOME_H
+#define GUARD_CONSTANTS_BATTLE_DOME_H
+
+#define DOME_ROUND1 0
+#define DOME_ROUND2 1
+#define DOME_SEMIFINAL 2
+#define DOME_FINAL 3
+#define DOME_ROUNDS_COUNT 4
+
+//#define DOME_TOURNAMENT_TRAINERS_COUNT 16 -- defined in global
+#define DOME_TOURNAMENT_MATCHES_COUNT DOME_TOURNAMENT_TRAINERS_COUNT - 1
+
+#define DOME_BATTLE_PARTY_SIZE 2
+
+#define DOME_PLAYER_WON_MATCH 1
+#define DOME_PLAYER_LOST_MATCH 2
+#define DOME_PLAYER_RETIRED 9
+
+#define BATTLE_DOME_FUNC_INIT 0
+#define BATTLE_DOME_FUNC_GET_DATA 1
+#define BATTLE_DOME_FUNC_SET_DATA 2
+#define BATTLE_DOME_FUNC_GET_ROUND_TEXT 3
+#define BATTLE_DOME_FUNC_GET_OPPONENT_NAME 4
+#define BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY 5
+#define BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO 6
+#define BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE 7
+#define BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE 8
+#define BATTLE_DOME_FUNC_SET_OPPONENT_ID 9
+#define BATTLE_DOME_FUNC_SET_OPPONENT_GFX 10
+#define BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE 11
+#define BATTLE_DOME_FUNC_RESOLVE_WINNERS 12
+#define BATTLE_DOME_FUNC_SAVE 13
+#define BATTLE_DOME_FUNC_INCREMENT_STREAK 14
+#define BATTLE_DOME_FUNC_SET_TRAINERS 15
+#define BATTLE_DOME_FUNC_RESET_SKETCH 16
+#define BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS 17
+#define BATTLE_DOME_FUNC_REDUCE_PARTY 18
+#define BATTLE_DOME_FUNC_COMPARE_SEEDS 19
+#define BATTLE_DOME_FUNC_GET_WINNER_NAME 20
+#define BATTLE_DOME_FUNC_INIT_RESULTS_TREE 21
+#define BATTLE_DOME_FUNC_INIT_TRAINERS 22
+
+#define DOME_DATA_WIN_STREAK 0
+#define DOME_DATA_WIN_STREAK_ACTIVE 1
+#define DOME_DATA_ATTEMPTED_SINGLES_50 2
+#define DOME_DATA_ATTEMPTED_SINGLES_OPEN 3
+#define DOME_DATA_HAS_WON_SINGLES_50 4
+#define DOME_DATA_HAS_WON_SINGLES_OPEN 5
+#define DOME_DATA_ATTEMPTED_CHALLENGE 6
+#define DOME_DATA_HAS_WON_CHALLENGE 7
+#define DOME_DATA_SELECTED_MONS 8
+#define DOME_DATA_PREV_TOURNEY_TYPE 9
+
+// ID for Exit/Cancel on the tourney tree
+#define TOURNEY_TREE_CLOSE_BUTTON 31
+
+// Input IDs on the tourney tree
+#define TOURNEY_TREE_SELECTED_CLOSE 0
+#define TOURNEY_TREE_NO_SELECTION 1
+#define TOURNEY_TREE_SELECTED_TRAINER 2
+#define TOURNEY_TREE_SELECTED_MATCH 3
+
+// Modes for showing the tourney tree info card
+#define INFOCARD_NEXT_OPPONENT 0
+#define INFOCARD_TRAINER 1
+#define INFOCARD_MATCH 2
+
+// Input IDs for the info cards
+#define INFOCARD_INPUT_NONE 0
+#define TRAINERCARD_INPUT_UP 1
+#define TRAINERCARD_INPUT_DOWN 2
+#define TRAINERCARD_INPUT_LEFT 3
+#define TRAINERCARD_INPUT_RIGHT 4
+#define MATCHCARD_INPUT_UP 5
+#define MATCHCARD_INPUT_DOWN 6
+#define MATCHCARD_INPUT_LEFT 7
+#define MATCHCARD_INPUT_RIGHT 8
+#define INFOCARD_INPUT_AB 9
+
+#define CARD_ALTERNATE_SLOT (1 << 0) // When set, uses an alternate slot to store the incoming card sprites
+#define MOVE_CARD_RIGHT (1 << 1)
+#define MOVE_CARD_DOWN (1 << 2)
+#define MOVE_CARD_LEFT (1 << 3)
+#define MOVE_CARD_UP (1 << 4)
+#define MOVE_CARD (MOVE_CARD_RIGHT | MOVE_CARD_DOWN | MOVE_CARD_LEFT | MOVE_CARD_UP)
+
+// Text IDs for sBattleDomeWinTexts
+#define DOME_TEXT_NO_WINNER_YET 0
+#define DOME_TEXT_WON_USING_MOVE 1
+#define DOME_TEXT_CHAMP_USING_MOVE 2
+#define DOME_TEXT_WON_ON_FORFEIT 3
+#define DOME_TEXT_CHAMP_ON_FORFEIT 4
+#define DOME_TEXT_WON_NO_MOVES 5
+#define DOME_TEXT_CHAMP_NO_MOVES 6
+
+// Offsets/start positions within sBattleDomeOpponentStatsTexts
+#define DOME_TEXT_TWO_GOOD_STATS 0
+#define DOME_TEXT_ONE_GOOD_STAT 15
+#define DOME_TEXT_TWO_BAD_STATS 21
+#define DOME_TEXT_ONE_BAD_STAT 36
+#define DOME_TEXT_WELL_BALANCED 42
+#define DOME_TEXT_HP 0
+#define DOME_TEXT_ATK 5
+#define DOME_TEXT_DEF 9
+#define DOME_TEXT_SPEED 12
+#define DOME_TEXT_SPATK 14
+
+// Move point indexes for sBattleStyleMovePoints[][], to determine Battle Dome trainers battle styles
+#define MOVE_POINTS_COMBO 0 // Moves that work well in combination (e.g. Rain Dance + Hydro Pump)
+#define MOVE_POINTS_STAT_RAISE 1
+#define MOVE_POINTS_STAT_LOWER 2
+#define MOVE_POINTS_RARE 3 // Uncommon moves. Mostly arbitrary
+#define MOVE_POINTS_HEAL 4
+#define MOVE_POINTS_RISKY 5
+#define MOVE_POINTS_STATUS 6
+#define MOVE_POINTS_DMG 7
+#define MOVE_POINTS_DEF 8 // Defensive moves, like Amnesia, Light Screen, or accuracy-lowers
+#define MOVE_POINTS_ACCURATE 9
+#define MOVE_POINTS_POWERFUL 10 // Most of the moves that are >= 100 power
+#define MOVE_POINTS_POPULAR 11 // Group seems arbitrary. All using it are TM/HMs, but its only 11/58
+#define MOVE_POINTS_LUCK 12
+#define MOVE_POINTS_STRONG 13 // Most of the moves that are >= 90 power
+#define MOVE_POINTS_LOW_PP 14
+#define MOVE_POINTS_EFFECT 15 // Moves with additional effects
+#define NUM_MOVE_POINT_TYPES 16
+
+// Battle style IDs for sBattleDomeOpponentStyleTexts
+#define DOME_BATTLE_STYLE_RISKY 0
+#define DOME_BATTLE_STYLE_STALL 1
+#define DOME_BATTLE_STYLE_VARIED 2
+#define DOME_BATTLE_STYLE_COMBO_HIGH 3
+#define DOME_BATTLE_STYLE_RARE_MOVES 4
+#define DOME_BATTLE_STYLE_RARE_MOVE 5
+#define DOME_BATTLE_STYLE_HP 6
+#define DOME_BATTLE_STYLE_STORE_POWER 7
+#define DOME_BATTLE_STYLE_ENFEEBLE_LOW 8
+#define DOME_BATTLE_STYLE_LUCK 9
+#define DOME_BATTLE_STYLE_REGAL 10
+#define DOME_BATTLE_STYLE_LOW_PP 11
+#define DOME_BATTLE_STYLE_STATUS_ATK 12
+#define DOME_BATTLE_STYLE_ENDURE 13
+#define DOME_BATTLE_STYLE_STATUS 14
+#define DOME_BATTLE_STYLE_STRAIGHTFORWARD 15
+#define DOME_BATTLE_STYLE_AGGRESSIVE 16
+#define DOME_BATTLE_STYLE_DEF 17
+#define DOME_BATTLE_STYLE_ENFEEBLE_HIGH 18
+#define DOME_BATTLE_STYLE_POPULAR_POWER 19
+#define DOME_BATTLE_STYLE_COMBO_LOW 20
+#define DOME_BATTLE_STYLE_ACCURATE 21
+#define DOME_BATTLE_STYLE_POWERFUL 22
+#define DOME_BATTLE_STYLE_ATK_OVER_DEF 23
+#define DOME_BATTLE_STYLE_DEF_OVER_ATK 24
+#define DOME_BATTLE_STYLE_POPULAR_STRONG 25
+#define DOME_BATTLE_STYLE_EFFECTS 26
+#define DOME_BATTLE_STYLE_BALANCED 27
+#define DOME_BATTLE_STYLE_UNUSED1 28
+#define DOME_BATTLE_STYLE_UNUSED2 29
+#define DOME_BATTLE_STYLE_UNUSED3 30
+#define DOME_BATTLE_STYLE_UNUSED4 31
+#define NUM_BATTLE_STYLES 32
+
+
+#endif //GUARD_CONSTANTS_BATTLE_DOME_H
diff --git a/include/constants/battle_factory.h b/include/constants/battle_factory.h
new file mode 100644
index 000000000..b3aa57449
--- /dev/null
+++ b/include/constants/battle_factory.h
@@ -0,0 +1,37 @@
+#ifndef GUARD_CONSTANTS_BATTLE_FACTORY_H
+#define GUARD_CONSTANTS_BATTLE_FACTORY_H
+
+#define FACTORY_STYLE_NONE 0
+#define FACTORY_STYLE_PREPARATION 1
+#define FACTORY_STYLE_SLOW_STEADY 2
+#define FACTORY_STYLE_ENDURANCE 3
+#define FACTORY_STYLE_HIGH_RISK 4
+#define FACTORY_STYLE_WEAKENING 5
+#define FACTORY_STYLE_UNPREDICTABLE 6
+#define FACTORY_STYLE_WEATHER 7
+#define FACTORY_NUM_STYLES 8
+
+
+#define BATTLE_FACTORY_FUNC_INIT 0
+#define BATTLE_FACTORY_FUNC_GET_DATA 1
+#define BATTLE_FACTORY_FUNC_SET_DATA 2
+#define BATTLE_FACTORY_FUNC_SAVE 3
+#define BATTLE_FACTORY_FUNC_NULL 4
+#define BATTLE_FACTORY_FUNC_NULL2 5
+#define BATTLE_FACTORY_FUNC_SELECT_RENT_MONS 6
+#define BATTLE_FACTORY_FUNC_SWAP_RENT_MONS 7
+#define BATTLE_FACTORY_FUNC_SET_SWAPPED 8
+#define BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS 9
+#define BATTLE_FACTORY_FUNC_SET_PARTIES 10
+#define BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX 11
+#define BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS 12
+#define BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS 13
+#define BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE 14
+#define BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE 15
+#define BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS 16
+
+#define FACTORY_DATA_WIN_STREAK 1
+#define FACTORY_DATA_WIN_STREAK_ACTIVE 2
+#define FACTORY_DATA_WIN_STREAK_SWAPS 3
+
+#endif // GUARD_CONSTANTS_BATTLE_FACTORY_H
diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h
index 1224c0f31..1a60714e8 100644
--- a/include/constants/battle_frontier.h
+++ b/include/constants/battle_frontier.h
@@ -1,32 +1,39 @@
#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_H
#define GUARD_CONSTANTS_BATTLE_FRONTIER_H
+#define FRONTIER_CHALLENGE(facility, mode) ((facility << 8) + mode)
+
// Battle Frontier facility ids.
-#define FRONTIER_FACILITY_TOWER 0
-#define FRONTIER_FACILITY_DOME 1
-#define FRONTIER_FACILITY_PALACE 2
-#define FRONTIER_FACILITY_ARENA 3
-#define FRONTIER_FACILITY_FACTORY 4
-#define FRONTIER_FACILITY_PIKE 5
-#define FRONTIER_FACILITY_PYRAMID 6
-#define NUM_FRONTIER_FACILITIES 7
-// The multiplayer battle colosseum rooms re-use VAR_FRONTIER_FACILITY.
-#define FRONTIER_FACILITY_DOUBLE_COLOSSEUM 9
-
-#define TENT_VERDANTURF 2
-#define TENT_FALLARBOR 3
-#define TENT_SLATEPORT 4
+#define FRONTIER_FACILITY_TOWER 0
+#define FRONTIER_FACILITY_DOME 1
+#define FRONTIER_FACILITY_PALACE 2 // also Verdanturf Tent
+#define FRONTIER_FACILITY_ARENA 3 // also Fallarbor Tent
+#define FRONTIER_FACILITY_FACTORY 4 // also Slateport Tent
+#define FRONTIER_FACILITY_PIKE 5
+#define FRONTIER_FACILITY_PYRAMID 6
+#define NUM_FRONTIER_FACILITIES 7
+// VAR_FRONTIER_FACILITY is re-used for the below facilities as well
+#define FACILITY_LINK_CONTEST 7
+#define FACILITY_UNION_ROOM 8
+#define FACILITY_MULTI_OR_EREADER 9 // Direct Corner multi battles, multi battle with Steven, and e-Reader battles
// Battle Frontier lvl modes.
-#define FRONTIER_LVL_50 0
+#define FRONTIER_LVL_50 0
#define FRONTIER_LVL_OPEN 1
#define FRONTIER_LVL_TENT 2
// Battle Frontier battle modes.
-#define FRONTIER_MODE_SINGLES 0
-#define FRONTIER_MODE_DOUBLES 1
-#define FRONTIER_MODE_MULTIS 2
-#define FRONTIER_MODE_LINK_MULTIS 3
+#define FRONTIER_MODE_SINGLES 0
+#define FRONTIER_MODE_DOUBLES 1
+#define FRONTIER_MODE_MULTIS 2
+#define FRONTIER_MODE_LINK_MULTIS 3
+#define FRONTIER_MODE_COUNT 4
+
+// Challenge Statuses
+#define CHALLENGE_STATUS_SAVING 1
+#define CHALLENGE_STATUS_PAUSED 2
+#define CHALLENGE_STATUS_WON 3
+#define CHALLENGE_STATUS_LOST 4
// Special trainer battles.
#define SPECIAL_BATTLE_TOWER 0
@@ -41,8 +48,53 @@
#define SPECIAL_BATTLE_PIKE_DOUBLE 9
#define SPECIAL_BATTLE_PYRAMID 10
-// For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special.
-#define RESULTS_LINK_CONTEST 7
+#define MAX_BATTLE_FRONTIER_POINTS 9999
+#define MAX_STREAK 9999
+
+// These sets of facility ids would be redunant if the order was consistent
+// The order is important for this set so that all the non-link records can be continuous
+#define RANKING_HALL_BATTLE_TOWER_SINGLES 0
+#define RANKING_HALL_BATTLE_TOWER_DOUBLES 1
+#define RANKING_HALL_BATTLE_TOWER_MULTIS 2
+#define RANKING_HALL_BATTLE_DOME 3
+#define RANKING_HALL_BATTLE_PALACE 4
+#define RANKING_HALL_BATTLE_ARENA 5
+#define RANKING_HALL_BATTLE_FACTORY 6
+#define RANKING_HALL_BATTLE_PIKE 7
+#define RANKING_HALL_BATTLE_PYRAMID 8
+#define RANKING_HALL_BATTLE_TOWER_LINK 9
+
+#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES 0
+#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES 1
+#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS 2
+#define FRONTIER_MANIAC_BATTLE_TOWER_LINK 3
+#define FRONTIER_MANIAC_BATTLE_DOME 4
+#define FRONTIER_MANIAC_BATTLE_FACTORY 5
+#define FRONTIER_MANIAC_BATTLE_PALACE 6
+#define FRONTIER_MANIAC_BATTLE_ARENA 7
+#define FRONTIER_MANIAC_BATTLE_PIKE 8
+#define FRONTIER_MANIAC_BATTLE_PYRAMID 9
+#define FRONTIER_MANIAC_FACILITY_COUNT 10
+
+#define FRONTIER_MANIAC_MESSAGE_COUNT 3
+
+// Frontier Gambler
+#define FRONTIER_GAMBLER_WAITING 0
+#define FRONTIER_GAMBLER_PLACED_BET 1
+#define FRONTIER_GAMBLER_WON 2
+#define FRONTIER_GAMBLER_LOST 3
+
+#define FRONTIER_GAMBLER_BET_5 0
+#define FRONTIER_GAMBLER_BET_10 1
+#define FRONTIER_GAMBLER_BET_15 2
+#define FRONTIER_GAMBLER_BET_CANCEL 3
+
+#define FRONTIER_GAMBLER_CHALLENGE_COUNT 12
+
+#define EXCHANGE_CORNER_DECOR1_CLERK 0
+#define EXCHANGE_CORNER_DECOR2_CLERK 1
+#define EXCHANGE_CORNER_VITAMIN_CLERK 2
+#define EXCHANGE_CORNER_HOLD_ITEM_CLERK 3
#define F_EV_SPREAD_HP (1 << 0)
#define F_EV_SPREAD_ATTACK (1 << 1)
diff --git a/include/constants/battle_frontier_mons.h b/include/constants/battle_frontier_mons.h
new file mode 100644
index 000000000..10e68980a
--- /dev/null
+++ b/include/constants/battle_frontier_mons.h
@@ -0,0 +1,899 @@
+#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H
+#define GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H
+
+#define FRONTIER_MON_SUNKERN 0
+#define FRONTIER_MON_AZURILL 1
+#define FRONTIER_MON_CATERPIE 2
+#define FRONTIER_MON_WEEDLE 3
+#define FRONTIER_MON_WURMPLE 4
+#define FRONTIER_MON_RALTS 5
+#define FRONTIER_MON_MAGIKARP 6
+#define FRONTIER_MON_FEEBAS 7
+#define FRONTIER_MON_METAPOD 8
+#define FRONTIER_MON_KAKUNA 9
+#define FRONTIER_MON_PICHU 10
+#define FRONTIER_MON_SILCOON 11
+#define FRONTIER_MON_CASCOON 12
+#define FRONTIER_MON_IGGLYBUFF 13
+#define FRONTIER_MON_WOOPER 14
+#define FRONTIER_MON_TYROGUE 15
+#define FRONTIER_MON_SENTRET 16
+#define FRONTIER_MON_CLEFFA 17
+#define FRONTIER_MON_SEEDOT 18
+#define FRONTIER_MON_LOTAD 19
+#define FRONTIER_MON_POOCHYENA 20
+#define FRONTIER_MON_SHEDINJA 21
+#define FRONTIER_MON_MAKUHITA 22
+#define FRONTIER_MON_WHISMUR 23
+#define FRONTIER_MON_ZIGZAGOON 24
+#define FRONTIER_MON_ZUBAT 25
+#define FRONTIER_MON_TOGEPI 26
+#define FRONTIER_MON_SPINARAK 27
+#define FRONTIER_MON_MARILL 28
+#define FRONTIER_MON_HOPPIP 29
+#define FRONTIER_MON_SLUGMA 30
+#define FRONTIER_MON_SWINUB 31
+#define FRONTIER_MON_SMEARGLE 32
+#define FRONTIER_MON_PIDGEY 33
+#define FRONTIER_MON_RATTATA 34
+#define FRONTIER_MON_WYNAUT 35
+#define FRONTIER_MON_SKITTY 36
+#define FRONTIER_MON_SPEAROW 37
+#define FRONTIER_MON_HOOTHOOT 38
+#define FRONTIER_MON_DIGLETT 39
+#define FRONTIER_MON_LEDYBA 40
+#define FRONTIER_MON_NINCADA 41
+#define FRONTIER_MON_SURSKIT 42
+#define FRONTIER_MON_JIGGLYPUFF 43
+#define FRONTIER_MON_TAILLOW 44
+#define FRONTIER_MON_WINGULL 45
+#define FRONTIER_MON_NIDORAN_M 46
+#define FRONTIER_MON_NIDORAN_F 47
+#define FRONTIER_MON_KIRLIA 48
+#define FRONTIER_MON_MAREEP 49
+#define FRONTIER_MON_MEDITITE 50
+#define FRONTIER_MON_SLAKOTH 51
+#define FRONTIER_MON_PARAS 52
+#define FRONTIER_MON_EKANS 53
+#define FRONTIER_MON_DITTO 54
+#define FRONTIER_MON_BARBOACH 55
+#define FRONTIER_MON_MEOWTH 56
+#define FRONTIER_MON_PINECO 57
+#define FRONTIER_MON_TRAPINCH 58
+#define FRONTIER_MON_SPHEAL 59
+#define FRONTIER_MON_HORSEA 60
+#define FRONTIER_MON_SHROOMISH 61
+#define FRONTIER_MON_SHUPPET 62
+#define FRONTIER_MON_DUSKULL 63
+#define FRONTIER_MON_ELECTRIKE 64
+#define FRONTIER_MON_VULPIX 65
+#define FRONTIER_MON_PIKACHU 66
+#define FRONTIER_MON_SANDSHREW 67
+#define FRONTIER_MON_POLIWAG 68
+#define FRONTIER_MON_BELLSPROUT 69
+#define FRONTIER_MON_GEODUDE 70
+#define FRONTIER_MON_DRATINI 71
+#define FRONTIER_MON_SNUBBULL 72
+#define FRONTIER_MON_REMORAID 73
+#define FRONTIER_MON_LARVITAR 74
+#define FRONTIER_MON_BALTOY 75
+#define FRONTIER_MON_SNORUNT 76
+#define FRONTIER_MON_BAGON 77
+#define FRONTIER_MON_BELDUM 78
+#define FRONTIER_MON_GULPIN 79
+#define FRONTIER_MON_VENONAT 80
+#define FRONTIER_MON_MANKEY 81
+#define FRONTIER_MON_MACHOP 82
+#define FRONTIER_MON_SHELLDER 83
+#define FRONTIER_MON_SMOOCHUM 84
+#define FRONTIER_MON_NUMEL 85
+#define FRONTIER_MON_CARVANHA 86
+#define FRONTIER_MON_CORPHISH 87
+#define FRONTIER_MON_CHARMANDER 88
+#define FRONTIER_MON_CYNDAQUIL 89
+#define FRONTIER_MON_ABRA 90
+#define FRONTIER_MON_DODUO 91
+#define FRONTIER_MON_GASTLY 92
+#define FRONTIER_MON_SWABLU 93
+#define FRONTIER_MON_TREECKO 94
+#define FRONTIER_MON_TORCHIC 95
+#define FRONTIER_MON_MUDKIP 96
+#define FRONTIER_MON_SQUIRTLE 97
+#define FRONTIER_MON_TOTODILE 98
+#define FRONTIER_MON_SLOWPOKE 99
+#define FRONTIER_MON_BULBASAUR 100
+#define FRONTIER_MON_CHIKORITA 101
+#define FRONTIER_MON_ODDISH 102
+#define FRONTIER_MON_PSYDUCK 103
+#define FRONTIER_MON_CUBONE 104
+#define FRONTIER_MON_GOLDEEN 105
+#define FRONTIER_MON_NATU 106
+#define FRONTIER_MON_CLEFAIRY 107
+#define FRONTIER_MON_MAGNEMITE 108
+#define FRONTIER_MON_SEEL 109
+#define FRONTIER_MON_GRIMER 110
+#define FRONTIER_MON_KRABBY 111
+#define FRONTIER_MON_EXEGGCUTE 112
+#define FRONTIER_MON_EEVEE 113
+#define FRONTIER_MON_DROWZEE 114
+#define FRONTIER_MON_VOLTORB 115
+#define FRONTIER_MON_CHINCHOU 116
+#define FRONTIER_MON_TEDDIURSA 117
+#define FRONTIER_MON_DELIBIRD 118
+#define FRONTIER_MON_HOUNDOUR 119
+#define FRONTIER_MON_PHANPY 120
+#define FRONTIER_MON_SPOINK 121
+#define FRONTIER_MON_ARON 122
+#define FRONTIER_MON_LUVDISC 123
+#define FRONTIER_MON_TENTACOOL 124
+#define FRONTIER_MON_CACNEA 125
+#define FRONTIER_MON_UNOWN 126
+#define FRONTIER_MON_KOFFING 127
+#define FRONTIER_MON_STARYU 128
+#define FRONTIER_MON_SKIPLOOM 129
+#define FRONTIER_MON_NUZLEAF 130
+#define FRONTIER_MON_LOMBRE 131
+#define FRONTIER_MON_VIBRAVA 132
+#define FRONTIER_MON_RHYHORN 133
+#define FRONTIER_MON_CLAMPERL 134
+#define FRONTIER_MON_PIDGEOTTO 135
+#define FRONTIER_MON_GROWLITHE 136
+#define FRONTIER_MON_FARFETCHD 137
+#define FRONTIER_MON_OMANYTE 138
+#define FRONTIER_MON_KABUTO 139
+#define FRONTIER_MON_LILEEP 140
+#define FRONTIER_MON_ANORITH 141
+#define FRONTIER_MON_AIPOM 142
+#define FRONTIER_MON_ELEKID 143
+#define FRONTIER_MON_LOUDRED 144
+#define FRONTIER_MON_SPINDA 145
+#define FRONTIER_MON_NIDORINA 146
+#define FRONTIER_MON_NIDORINO 147
+#define FRONTIER_MON_FLAAFFY 148
+#define FRONTIER_MON_MAGBY 149
+#define FRONTIER_MON_NOSEPASS 150
+#define FRONTIER_MON_CORSOLA 151
+#define FRONTIER_MON_MAWILE 152
+#define FRONTIER_MON_BUTTERFREE 153
+#define FRONTIER_MON_BEEDRILL 154
+#define FRONTIER_MON_POLIWHIRL 155
+#define FRONTIER_MON_ONIX 156
+#define FRONTIER_MON_BEAUTIFLY 157
+#define FRONTIER_MON_DUSTOX 158
+#define FRONTIER_MON_LEDIAN 159
+#define FRONTIER_MON_ARIADOS 160
+#define FRONTIER_MON_YANMA 161
+
+#define FRONTIER_MON_DELCATTY_1 162
+#define FRONTIER_MON_SABLEYE_1 163
+#define FRONTIER_MON_LICKITUNG_1 164
+#define FRONTIER_MON_WEEPINBELL_1 165
+#define FRONTIER_MON_GRAVELER_1 166
+#define FRONTIER_MON_GLOOM_1 167
+#define FRONTIER_MON_PORYGON_1 168
+#define FRONTIER_MON_KADABRA_1 169
+#define FRONTIER_MON_WAILMER_1 170
+#define FRONTIER_MON_ROSELIA_1 171
+#define FRONTIER_MON_VOLBEAT_1 172
+#define FRONTIER_MON_ILLUMISE_1 173
+#define FRONTIER_MON_IVYSAUR_1 174
+#define FRONTIER_MON_CHARMELEON_1 175
+#define FRONTIER_MON_WARTORTLE_1 176
+#define FRONTIER_MON_PARASECT_1 177
+#define FRONTIER_MON_MACHOKE_1 178
+#define FRONTIER_MON_HAUNTER_1 179
+#define FRONTIER_MON_BAYLEEF_1 180
+#define FRONTIER_MON_QUILAVA_1 181
+#define FRONTIER_MON_CROCONAW_1 182
+#define FRONTIER_MON_TOGETIC_1 183
+#define FRONTIER_MON_MURKROW_1 184
+#define FRONTIER_MON_WOBBUFFET_1 185
+#define FRONTIER_MON_PLUSLE_1 186
+#define FRONTIER_MON_MINUN_1 187
+#define FRONTIER_MON_GROVYLE_1 188
+#define FRONTIER_MON_COMBUSKEN_1 189
+#define FRONTIER_MON_MARSHTOMP_1 190
+#define FRONTIER_MON_PONYTA_1 191
+#define FRONTIER_MON_AZUMARILL_1 192
+#define FRONTIER_MON_SUDOWOODO_1 193
+#define FRONTIER_MON_MAGCARGO_1 194
+#define FRONTIER_MON_PUPITAR_1 195
+#define FRONTIER_MON_SEALEO_1 196
+#define FRONTIER_MON_RATICATE_1 197
+#define FRONTIER_MON_MASQUERAIN_1 198
+#define FRONTIER_MON_FURRET_1 199
+#define FRONTIER_MON_DUNSPARCE_1 200
+#define FRONTIER_MON_DRAGONAIR_1 201
+#define FRONTIER_MON_MIGHTYENA_1 202
+#define FRONTIER_MON_LINOONE_1 203
+#define FRONTIER_MON_CASTFORM_1 204
+#define FRONTIER_MON_SHELGON_1 205
+#define FRONTIER_MON_METANG_1 206
+#define FRONTIER_MON_WIGGLYTUFF_1 207
+#define FRONTIER_MON_SUNFLORA_1 208
+#define FRONTIER_MON_CHIMECHO_1 209
+#define FRONTIER_MON_GLIGAR_1 210
+#define FRONTIER_MON_QWILFISH_1 211
+#define FRONTIER_MON_SNEASEL_1 212
+#define FRONTIER_MON_PELIPPER_1 213
+#define FRONTIER_MON_SWELLOW_1 214
+#define FRONTIER_MON_LAIRON_1 215
+#define FRONTIER_MON_TANGELA_1 216
+#define FRONTIER_MON_ARBOK_1 217
+#define FRONTIER_MON_PERSIAN_1 218
+#define FRONTIER_MON_SEADRA_1 219
+#define FRONTIER_MON_KECLEON_1 220
+#define FRONTIER_MON_VIGOROTH_1 221
+#define FRONTIER_MON_LUNATONE_1 222
+#define FRONTIER_MON_SOLROCK_1 223
+#define FRONTIER_MON_NOCTOWL_1 224
+#define FRONTIER_MON_SANDSLASH_1 225
+#define FRONTIER_MON_VENOMOTH_1 226
+#define FRONTIER_MON_CHANSEY_1 227
+#define FRONTIER_MON_SEAKING_1 228
+#define FRONTIER_MON_JUMPLUFF_1 229
+#define FRONTIER_MON_PILOSWINE_1 230
+#define FRONTIER_MON_GOLBAT_1 231
+#define FRONTIER_MON_PRIMEAPE_1 232
+#define FRONTIER_MON_HITMONLEE_1 233
+#define FRONTIER_MON_HITMONCHAN_1 234
+#define FRONTIER_MON_GIRAFARIG_1 235
+#define FRONTIER_MON_HITMONTOP_1 236
+#define FRONTIER_MON_BANETTE_1 237
+#define FRONTIER_MON_NINJASK_1 238
+#define FRONTIER_MON_SEVIPER_1 239
+#define FRONTIER_MON_ZANGOOSE_1 240
+#define FRONTIER_MON_CAMERUPT_1 241
+#define FRONTIER_MON_SHARPEDO_1 242
+#define FRONTIER_MON_TROPIUS_1 243
+#define FRONTIER_MON_MAGNETON_1 244
+#define FRONTIER_MON_MANTINE_1 245
+#define FRONTIER_MON_STANTLER_1 246
+#define FRONTIER_MON_ABSOL_1 247
+#define FRONTIER_MON_SWALOT_1 248
+#define FRONTIER_MON_CRAWDAUNT_1 249
+#define FRONTIER_MON_PIDGEOT_1 250
+#define FRONTIER_MON_GRUMPIG_1 251
+#define FRONTIER_MON_TORKOAL_1 252
+#define FRONTIER_MON_KINGLER_1 253
+#define FRONTIER_MON_CACTURNE_1 254
+#define FRONTIER_MON_BELLOSSOM_1 255
+#define FRONTIER_MON_OCTILLERY_1 256
+#define FRONTIER_MON_HUNTAIL_1 257
+#define FRONTIER_MON_GOREBYSS_1 258
+#define FRONTIER_MON_RELICANTH_1 259
+#define FRONTIER_MON_OMASTAR_1 260
+#define FRONTIER_MON_KABUTOPS_1 261
+#define FRONTIER_MON_POLIWRATH_1 262
+#define FRONTIER_MON_SCYTHER_1 263
+#define FRONTIER_MON_PINSIR_1 264
+#define FRONTIER_MON_POLITOED_1 265
+#define FRONTIER_MON_CLOYSTER_1 266
+
+#define FRONTIER_MON_DELCATTY_2 267
+#define FRONTIER_MON_SABLEYE_2 268
+#define FRONTIER_MON_LICKITUNG_2 269
+#define FRONTIER_MON_WEEPINBELL_2 270
+#define FRONTIER_MON_GRAVELER_2 271
+#define FRONTIER_MON_GLOOM_2 272
+#define FRONTIER_MON_PORYGON_2 273
+#define FRONTIER_MON_KADABRA_2 274
+#define FRONTIER_MON_WAILMER_2 275
+#define FRONTIER_MON_ROSELIA_2 276
+#define FRONTIER_MON_VOLBEAT_2 277
+#define FRONTIER_MON_ILLUMISE_2 278
+#define FRONTIER_MON_IVYSAUR_2 279
+#define FRONTIER_MON_CHARMELEON_2 280
+#define FRONTIER_MON_WARTORTLE_2 281
+#define FRONTIER_MON_PARASECT_2 282
+#define FRONTIER_MON_MACHOKE_2 283
+#define FRONTIER_MON_HAUNTER_2 284
+#define FRONTIER_MON_BAYLEEF_2 285
+#define FRONTIER_MON_QUILAVA_2 286
+#define FRONTIER_MON_CROCONAW_2 287
+#define FRONTIER_MON_TOGETIC_2 288
+#define FRONTIER_MON_MURKROW_2 289
+#define FRONTIER_MON_WOBBUFFET_2 290
+#define FRONTIER_MON_PLUSLE_2 291
+#define FRONTIER_MON_MINUN_2 292
+#define FRONTIER_MON_GROVYLE_2 293
+#define FRONTIER_MON_COMBUSKEN_2 294
+#define FRONTIER_MON_MARSHTOMP_2 295
+#define FRONTIER_MON_PONYTA_2 296
+#define FRONTIER_MON_AZUMARILL_2 297
+#define FRONTIER_MON_SUDOWOODO_2 298
+#define FRONTIER_MON_MAGCARGO_2 299
+#define FRONTIER_MON_PUPITAR_2 300
+#define FRONTIER_MON_SEALEO_2 301
+#define FRONTIER_MON_RATICATE_2 302
+#define FRONTIER_MON_MASQUERAIN_2 303
+#define FRONTIER_MON_FURRET_2 304
+#define FRONTIER_MON_DUNSPARCE_2 305
+#define FRONTIER_MON_DRAGONAIR_2 306
+#define FRONTIER_MON_MIGHTYENA_2 307
+#define FRONTIER_MON_LINOONE_2 308
+#define FRONTIER_MON_CASTFORM_2 309
+#define FRONTIER_MON_SHELGON_2 310
+#define FRONTIER_MON_METANG_2 311
+#define FRONTIER_MON_WIGGLYTUFF_2 312
+#define FRONTIER_MON_SUNFLORA_2 313
+#define FRONTIER_MON_CHIMECHO_2 314
+#define FRONTIER_MON_GLIGAR_2 315
+#define FRONTIER_MON_QWILFISH_2 316
+#define FRONTIER_MON_SNEASEL_2 317
+#define FRONTIER_MON_PELIPPER_2 318
+#define FRONTIER_MON_SWELLOW_2 319
+#define FRONTIER_MON_LAIRON_2 320
+#define FRONTIER_MON_TANGELA_2 321
+#define FRONTIER_MON_ARBOK_2 322
+#define FRONTIER_MON_PERSIAN_2 323
+#define FRONTIER_MON_SEADRA_2 324
+#define FRONTIER_MON_KECLEON_2 325
+#define FRONTIER_MON_VIGOROTH_2 326
+#define FRONTIER_MON_LUNATONE_2 327
+#define FRONTIER_MON_SOLROCK_2 328
+#define FRONTIER_MON_NOCTOWL_2 329
+#define FRONTIER_MON_SANDSLASH_2 330
+#define FRONTIER_MON_VENOMOTH_2 331
+#define FRONTIER_MON_CHANSEY_2 332
+#define FRONTIER_MON_SEAKING_2 333
+#define FRONTIER_MON_JUMPLUFF_2 334
+#define FRONTIER_MON_PILOSWINE_2 335
+#define FRONTIER_MON_GOLBAT_2 336
+#define FRONTIER_MON_PRIMEAPE_2 337
+#define FRONTIER_MON_HITMONLEE_2 338
+#define FRONTIER_MON_HITMONCHAN_2 339
+#define FRONTIER_MON_GIRAFARIG_2 340
+#define FRONTIER_MON_HITMONTOP_2 341
+#define FRONTIER_MON_BANETTE_2 342
+#define FRONTIER_MON_NINJASK_2 343
+#define FRONTIER_MON_SEVIPER_2 344
+#define FRONTIER_MON_ZANGOOSE_2 345
+#define FRONTIER_MON_CAMERUPT_2 346
+#define FRONTIER_MON_SHARPEDO_2 347
+#define FRONTIER_MON_TROPIUS_2 348
+#define FRONTIER_MON_MAGNETON_2 349
+#define FRONTIER_MON_MANTINE_2 350
+#define FRONTIER_MON_STANTLER_2 351
+#define FRONTIER_MON_ABSOL_2 352
+#define FRONTIER_MON_SWALOT_2 353
+#define FRONTIER_MON_CRAWDAUNT_2 354
+#define FRONTIER_MON_PIDGEOT_2 355
+#define FRONTIER_MON_GRUMPIG_2 356
+#define FRONTIER_MON_TORKOAL_2 357
+#define FRONTIER_MON_KINGLER_2 358
+#define FRONTIER_MON_CACTURNE_2 359
+#define FRONTIER_MON_BELLOSSOM_2 360
+#define FRONTIER_MON_OCTILLERY_2 361
+#define FRONTIER_MON_HUNTAIL_2 362
+#define FRONTIER_MON_GOREBYSS_2 363
+#define FRONTIER_MON_RELICANTH_2 364
+#define FRONTIER_MON_OMASTAR_2 365
+#define FRONTIER_MON_KABUTOPS_2 366
+#define FRONTIER_MON_POLIWRATH_2 367
+#define FRONTIER_MON_SCYTHER_2 368
+#define FRONTIER_MON_PINSIR_2 369
+#define FRONTIER_MON_POLITOED_2 370
+#define FRONTIER_MON_CLOYSTER_2 371
+
+#define FRONTIER_MON_DUGTRIO_1 372
+#define FRONTIER_MON_MEDICHAM_1 373
+#define FRONTIER_MON_MISDREAVUS_1 374
+#define FRONTIER_MON_FEAROW_1 375
+#define FRONTIER_MON_GRANBULL_1 376
+#define FRONTIER_MON_JYNX_1 377
+#define FRONTIER_MON_DUSCLOPS_1 378
+#define FRONTIER_MON_DODRIO_1 379
+#define FRONTIER_MON_MR_MIME_1 380
+#define FRONTIER_MON_LANTURN_1 381
+#define FRONTIER_MON_BRELOOM_1 382
+#define FRONTIER_MON_FORRETRESS_1 383
+#define FRONTIER_MON_WHISCASH_1 384
+#define FRONTIER_MON_XATU_1 385
+#define FRONTIER_MON_SKARMORY_1 386
+#define FRONTIER_MON_MAROWAK_1 387
+#define FRONTIER_MON_QUAGSIRE_1 388
+#define FRONTIER_MON_CLEFABLE_1 389
+#define FRONTIER_MON_HARIYAMA_1 390
+#define FRONTIER_MON_RAICHU_1 391
+#define FRONTIER_MON_DEWGONG_1 392
+#define FRONTIER_MON_MANECTRIC_1 393
+#define FRONTIER_MON_VILEPLUME_1 394
+#define FRONTIER_MON_VICTREEBEL_1 395
+#define FRONTIER_MON_ELECTRODE_1 396
+#define FRONTIER_MON_EXPLOUD_1 397
+#define FRONTIER_MON_SHIFTRY_1 398
+#define FRONTIER_MON_GLALIE_1 399
+#define FRONTIER_MON_LUDICOLO_1 400
+#define FRONTIER_MON_HYPNO_1 401
+#define FRONTIER_MON_GOLEM_1 402
+#define FRONTIER_MON_RHYDON_1 403
+#define FRONTIER_MON_ALAKAZAM_1 404
+#define FRONTIER_MON_WEEZING_1 405
+#define FRONTIER_MON_KANGASKHAN_1 406
+#define FRONTIER_MON_ELECTABUZZ_1 407
+#define FRONTIER_MON_TAUROS_1 408
+#define FRONTIER_MON_SLOWBRO_1 409
+#define FRONTIER_MON_SLOWKING_1 410
+#define FRONTIER_MON_MILTANK_1 411
+#define FRONTIER_MON_ALTARIA_1 412
+#define FRONTIER_MON_NIDOQUEEN_1 413
+#define FRONTIER_MON_NIDOKING_1 414
+#define FRONTIER_MON_MAGMAR_1 415
+#define FRONTIER_MON_CRADILY_1 416
+#define FRONTIER_MON_ARMALDO_1 417
+#define FRONTIER_MON_GOLDUCK_1 418
+#define FRONTIER_MON_RAPIDASH_1 419
+#define FRONTIER_MON_MUK_1 420
+#define FRONTIER_MON_GENGAR_1 421
+#define FRONTIER_MON_AMPHAROS_1 422
+#define FRONTIER_MON_SCIZOR_1 423
+#define FRONTIER_MON_HERACROSS_1 424
+#define FRONTIER_MON_URSARING_1 425
+#define FRONTIER_MON_HOUNDOOM_1 426
+#define FRONTIER_MON_DONPHAN_1 427
+#define FRONTIER_MON_CLAYDOL_1 428
+#define FRONTIER_MON_WAILORD_1 429
+#define FRONTIER_MON_NINETALES_1 430
+#define FRONTIER_MON_MACHAMP_1 431
+#define FRONTIER_MON_SHUCKLE_1 432
+#define FRONTIER_MON_STEELIX_1 433
+#define FRONTIER_MON_TENTACRUEL_1 434
+#define FRONTIER_MON_AERODACTYL_1 435
+#define FRONTIER_MON_PORYGON2_1 436
+#define FRONTIER_MON_GARDEVOIR_1 437
+#define FRONTIER_MON_EXEGGUTOR_1 438
+#define FRONTIER_MON_STARMIE_1 439
+#define FRONTIER_MON_FLYGON_1 440
+#define FRONTIER_MON_VENUSAUR_1 441
+#define FRONTIER_MON_VAPOREON_1 442
+#define FRONTIER_MON_JOLTEON_1 443
+#define FRONTIER_MON_FLAREON_1 444
+#define FRONTIER_MON_MEGANIUM_1 445
+#define FRONTIER_MON_ESPEON_1 446
+#define FRONTIER_MON_UMBREON_1 447
+#define FRONTIER_MON_BLASTOISE_1 448
+#define FRONTIER_MON_FERALIGATR_1 449
+#define FRONTIER_MON_AGGRON_1 450
+#define FRONTIER_MON_BLAZIKEN_1 451
+#define FRONTIER_MON_WALREIN_1 452
+#define FRONTIER_MON_SCEPTILE_1 453
+#define FRONTIER_MON_CHARIZARD_1 454
+#define FRONTIER_MON_TYPHLOSION_1 455
+#define FRONTIER_MON_LAPRAS_1 456
+#define FRONTIER_MON_CROBAT_1 457
+#define FRONTIER_MON_SWAMPERT_1 458
+#define FRONTIER_MON_GYARADOS_1 459
+#define FRONTIER_MON_SNORLAX_1 460
+#define FRONTIER_MON_KINGDRA_1 461
+#define FRONTIER_MON_BLISSEY_1 462
+#define FRONTIER_MON_MILOTIC_1 463
+#define FRONTIER_MON_ARCANINE_1 464
+#define FRONTIER_MON_SALAMENCE_1 465
+#define FRONTIER_MON_METAGROSS_1 466
+#define FRONTIER_MON_SLAKING_1 467
+
+#define FRONTIER_MON_DUGTRIO_2 468
+#define FRONTIER_MON_MEDICHAM_2 469
+#define FRONTIER_MON_MAROWAK_2 470
+#define FRONTIER_MON_QUAGSIRE_2 471
+#define FRONTIER_MON_MISDREAVUS_2 472
+#define FRONTIER_MON_FEAROW_2 473
+#define FRONTIER_MON_GRANBULL_2 474
+#define FRONTIER_MON_JYNX_2 475
+#define FRONTIER_MON_DUSCLOPS_2 476
+#define FRONTIER_MON_DODRIO_2 477
+#define FRONTIER_MON_MR_MIME_2 478
+#define FRONTIER_MON_LANTURN_2 479
+#define FRONTIER_MON_BRELOOM_2 480
+#define FRONTIER_MON_FORRETRESS_2 481
+#define FRONTIER_MON_SKARMORY_2 482
+#define FRONTIER_MON_WHISCASH_2 483
+#define FRONTIER_MON_XATU_2 484
+#define FRONTIER_MON_CLEFABLE_2 485
+#define FRONTIER_MON_HARIYAMA_2 486
+#define FRONTIER_MON_RAICHU_2 487
+#define FRONTIER_MON_DEWGONG_2 488
+#define FRONTIER_MON_MANECTRIC_2 489
+#define FRONTIER_MON_VILEPLUME_2 490
+#define FRONTIER_MON_VICTREEBEL_2 491
+#define FRONTIER_MON_ELECTRODE_2 492
+#define FRONTIER_MON_EXPLOUD_2 493
+#define FRONTIER_MON_SHIFTRY_2 494
+#define FRONTIER_MON_GLALIE_2 495
+#define FRONTIER_MON_LUDICOLO_2 496
+#define FRONTIER_MON_HYPNO_2 497
+#define FRONTIER_MON_GOLEM_2 498
+#define FRONTIER_MON_RHYDON_2 499
+#define FRONTIER_MON_ALAKAZAM_2 500
+#define FRONTIER_MON_WEEZING_2 501
+#define FRONTIER_MON_KANGASKHAN_2 502
+#define FRONTIER_MON_ELECTABUZZ_2 503
+#define FRONTIER_MON_TAUROS_2 504
+#define FRONTIER_MON_SLOWBRO_2 505
+#define FRONTIER_MON_SLOWKING_2 506
+#define FRONTIER_MON_MILTANK_2 507
+#define FRONTIER_MON_ALTARIA_2 508
+#define FRONTIER_MON_NIDOQUEEN_2 509
+#define FRONTIER_MON_NIDOKING_2 510
+#define FRONTIER_MON_MAGMAR_2 511
+#define FRONTIER_MON_CRADILY_2 512
+#define FRONTIER_MON_ARMALDO_2 513
+#define FRONTIER_MON_GOLDUCK_2 514
+#define FRONTIER_MON_RAPIDASH_2 515
+#define FRONTIER_MON_MUK_2 516
+#define FRONTIER_MON_GENGAR_2 517
+#define FRONTIER_MON_AMPHAROS_2 518
+#define FRONTIER_MON_SCIZOR_2 519
+#define FRONTIER_MON_HERACROSS_2 520
+#define FRONTIER_MON_URSARING_2 521
+#define FRONTIER_MON_HOUNDOOM_2 522
+#define FRONTIER_MON_DONPHAN_2 523
+#define FRONTIER_MON_CLAYDOL_2 524
+#define FRONTIER_MON_WAILORD_2 525
+#define FRONTIER_MON_NINETALES_2 526
+#define FRONTIER_MON_MACHAMP_2 527
+#define FRONTIER_MON_SHUCKLE_2 528
+#define FRONTIER_MON_STEELIX_2 529
+#define FRONTIER_MON_TENTACRUEL_2 530
+#define FRONTIER_MON_AERODACTYL_2 531
+#define FRONTIER_MON_PORYGON2_2 532
+#define FRONTIER_MON_GARDEVOIR_2 533
+#define FRONTIER_MON_EXEGGUTOR_2 534
+#define FRONTIER_MON_STARMIE_2 535
+#define FRONTIER_MON_FLYGON_2 536
+#define FRONTIER_MON_VENUSAUR_2 537
+#define FRONTIER_MON_VAPOREON_2 538
+#define FRONTIER_MON_JOLTEON_2 539
+#define FRONTIER_MON_FLAREON_2 540
+#define FRONTIER_MON_MEGANIUM_2 541
+#define FRONTIER_MON_ESPEON_2 542
+#define FRONTIER_MON_UMBREON_2 543
+#define FRONTIER_MON_BLASTOISE_2 544
+#define FRONTIER_MON_FERALIGATR_2 545
+#define FRONTIER_MON_AGGRON_2 546
+#define FRONTIER_MON_BLAZIKEN_2 547
+#define FRONTIER_MON_WALREIN_2 548
+#define FRONTIER_MON_SCEPTILE_2 549
+#define FRONTIER_MON_CHARIZARD_2 550
+#define FRONTIER_MON_TYPHLOSION_2 551
+#define FRONTIER_MON_LAPRAS_2 552
+#define FRONTIER_MON_CROBAT_2 553
+#define FRONTIER_MON_SWAMPERT_2 554
+#define FRONTIER_MON_GYARADOS_2 555
+#define FRONTIER_MON_SNORLAX_2 556
+#define FRONTIER_MON_KINGDRA_2 557
+#define FRONTIER_MON_BLISSEY_2 558
+#define FRONTIER_MON_MILOTIC_2 559
+#define FRONTIER_MON_ARCANINE_2 560
+#define FRONTIER_MON_SALAMENCE_2 561
+#define FRONTIER_MON_METAGROSS_2 562
+#define FRONTIER_MON_SLAKING_2 563
+
+#define FRONTIER_MON_DUGTRIO_3 564
+#define FRONTIER_MON_MEDICHAM_3 565
+#define FRONTIER_MON_MISDREAVUS_3 566
+#define FRONTIER_MON_FEAROW_3 567
+#define FRONTIER_MON_GRANBULL_3 568
+#define FRONTIER_MON_JYNX_3 569
+#define FRONTIER_MON_DUSCLOPS_3 570
+#define FRONTIER_MON_DODRIO_3 571
+#define FRONTIER_MON_MR_MIME_3 572
+#define FRONTIER_MON_LANTURN_3 573
+#define FRONTIER_MON_BRELOOM_3 574
+#define FRONTIER_MON_FORRETRESS_3 575
+#define FRONTIER_MON_WHISCASH_3 576
+#define FRONTIER_MON_XATU_3 577
+#define FRONTIER_MON_SKARMORY_3 578
+#define FRONTIER_MON_MAROWAK_3 579
+#define FRONTIER_MON_QUAGSIRE_3 580
+#define FRONTIER_MON_CLEFABLE_3 581
+#define FRONTIER_MON_HARIYAMA_3 582
+#define FRONTIER_MON_RAICHU_3 583
+#define FRONTIER_MON_DEWGONG_3 584
+#define FRONTIER_MON_MANECTRIC_3 585
+#define FRONTIER_MON_VILEPLUME_3 586
+#define FRONTIER_MON_VICTREEBEL_3 587
+#define FRONTIER_MON_ELECTRODE_3 588
+#define FRONTIER_MON_EXPLOUD_3 589
+#define FRONTIER_MON_SHIFTRY_3 590
+#define FRONTIER_MON_GLALIE_3 591
+#define FRONTIER_MON_LUDICOLO_3 592
+#define FRONTIER_MON_HYPNO_3 593
+#define FRONTIER_MON_GOLEM_3 594
+#define FRONTIER_MON_RHYDON_3 595
+#define FRONTIER_MON_ALAKAZAM_3 596
+#define FRONTIER_MON_WEEZING_3 597
+#define FRONTIER_MON_KANGASKHAN_3 598
+#define FRONTIER_MON_ELECTABUZZ_3 599
+#define FRONTIER_MON_TAUROS_3 600
+#define FRONTIER_MON_SLOWBRO_3 601
+#define FRONTIER_MON_SLOWKING_3 602
+#define FRONTIER_MON_MILTANK_3 603
+#define FRONTIER_MON_ALTARIA_3 604
+#define FRONTIER_MON_NIDOQUEEN_3 605
+#define FRONTIER_MON_NIDOKING_3 606
+#define FRONTIER_MON_MAGMAR_3 607
+#define FRONTIER_MON_CRADILY_3 608
+#define FRONTIER_MON_ARMALDO_3 609
+#define FRONTIER_MON_GOLDUCK_3 610
+#define FRONTIER_MON_RAPIDASH_3 611
+#define FRONTIER_MON_MUK_3 612
+#define FRONTIER_MON_GENGAR_3 613
+#define FRONTIER_MON_AMPHAROS_3 614
+#define FRONTIER_MON_SCIZOR_3 615
+#define FRONTIER_MON_HERACROSS_3 616
+#define FRONTIER_MON_URSARING_3 617
+#define FRONTIER_MON_HOUNDOOM_3 618
+#define FRONTIER_MON_DONPHAN_3 619
+#define FRONTIER_MON_CLAYDOL_3 620
+#define FRONTIER_MON_WAILORD_3 621
+#define FRONTIER_MON_NINETALES_3 622
+#define FRONTIER_MON_MACHAMP_3 623
+#define FRONTIER_MON_SHUCKLE_3 624
+#define FRONTIER_MON_STEELIX_3 625
+#define FRONTIER_MON_TENTACRUEL_3 626
+#define FRONTIER_MON_AERODACTYL_3 627
+#define FRONTIER_MON_PORYGON2_3 628
+#define FRONTIER_MON_GARDEVOIR_3 629
+#define FRONTIER_MON_EXEGGUTOR_3 630
+#define FRONTIER_MON_STARMIE_3 631
+#define FRONTIER_MON_FLYGON_3 632
+#define FRONTIER_MON_VENUSAUR_3 633
+#define FRONTIER_MON_VAPOREON_3 634
+#define FRONTIER_MON_JOLTEON_3 635
+#define FRONTIER_MON_FLAREON_3 636
+#define FRONTIER_MON_MEGANIUM_3 637
+#define FRONTIER_MON_ESPEON_3 638
+#define FRONTIER_MON_UMBREON_3 639
+#define FRONTIER_MON_BLASTOISE_3 640
+#define FRONTIER_MON_FERALIGATR_3 641
+#define FRONTIER_MON_AGGRON_3 642
+#define FRONTIER_MON_BLAZIKEN_3 643
+#define FRONTIER_MON_WALREIN_3 644
+#define FRONTIER_MON_SCEPTILE_3 645
+#define FRONTIER_MON_CHARIZARD_3 646
+#define FRONTIER_MON_TYPHLOSION_3 647
+#define FRONTIER_MON_LAPRAS_3 648
+#define FRONTIER_MON_CROBAT_3 649
+#define FRONTIER_MON_SWAMPERT_3 650
+#define FRONTIER_MON_GYARADOS_3 651
+#define FRONTIER_MON_SNORLAX_3 652
+#define FRONTIER_MON_KINGDRA_3 653
+#define FRONTIER_MON_BLISSEY_3 654
+#define FRONTIER_MON_MILOTIC_3 655
+#define FRONTIER_MON_ARCANINE_3 656
+#define FRONTIER_MON_SALAMENCE_3 657
+#define FRONTIER_MON_METAGROSS_3 658
+#define FRONTIER_MON_SLAKING_3 659
+
+#define FRONTIER_MON_DUGTRIO_4 660
+#define FRONTIER_MON_MEDICHAM_4 661
+#define FRONTIER_MON_MISDREAVUS_4 662
+#define FRONTIER_MON_FEAROW_4 663
+#define FRONTIER_MON_GRANBULL_4 664
+#define FRONTIER_MON_JYNX_4 665
+#define FRONTIER_MON_DUSCLOPS_4 666
+#define FRONTIER_MON_DODRIO_4 667
+#define FRONTIER_MON_MR_MIME_4 668
+#define FRONTIER_MON_LANTURN_4 669
+#define FRONTIER_MON_BRELOOM_4 670
+#define FRONTIER_MON_FORRETRESS_4 671
+#define FRONTIER_MON_WHISCASH_4 672
+#define FRONTIER_MON_XATU_4 673
+#define FRONTIER_MON_SKARMORY_4 674
+#define FRONTIER_MON_MAROWAK_4 675
+#define FRONTIER_MON_QUAGSIRE_4 676
+#define FRONTIER_MON_CLEFABLE_4 677
+#define FRONTIER_MON_HARIYAMA_4 678
+#define FRONTIER_MON_RAICHU_4 679
+#define FRONTIER_MON_DEWGONG_4 680
+#define FRONTIER_MON_MANECTRIC_4 681
+#define FRONTIER_MON_VILEPLUME_4 682
+#define FRONTIER_MON_VICTREEBEL_4 683
+#define FRONTIER_MON_ELECTRODE_4 684
+#define FRONTIER_MON_EXPLOUD_4 685
+#define FRONTIER_MON_SHIFTRY_4 686
+#define FRONTIER_MON_GLALIE_4 687
+#define FRONTIER_MON_LUDICOLO_4 688
+#define FRONTIER_MON_HYPNO_4 689
+#define FRONTIER_MON_GOLEM_4 690
+#define FRONTIER_MON_RHYDON_4 691
+#define FRONTIER_MON_ALAKAZAM_4 692
+#define FRONTIER_MON_WEEZING_4 693
+#define FRONTIER_MON_KANGASKHAN_4 694
+#define FRONTIER_MON_ELECTABUZZ_4 695
+#define FRONTIER_MON_TAUROS_4 696
+#define FRONTIER_MON_SLOWBRO_4 697
+#define FRONTIER_MON_SLOWKING_4 698
+#define FRONTIER_MON_MILTANK_4 699
+#define FRONTIER_MON_ALTARIA_4 700
+#define FRONTIER_MON_NIDOQUEEN_4 701
+#define FRONTIER_MON_NIDOKING_4 702
+#define FRONTIER_MON_MAGMAR_4 703
+#define FRONTIER_MON_CRADILY_4 704
+#define FRONTIER_MON_ARMALDO_4 705
+#define FRONTIER_MON_GOLDUCK_4 706
+#define FRONTIER_MON_RAPIDASH_4 707
+#define FRONTIER_MON_MUK_4 708
+#define FRONTIER_MON_GENGAR_4 709
+#define FRONTIER_MON_AMPHAROS_4 710
+#define FRONTIER_MON_SCIZOR_4 711
+#define FRONTIER_MON_HERACROSS_4 712
+#define FRONTIER_MON_URSARING_4 713
+#define FRONTIER_MON_HOUNDOOM_4 714
+#define FRONTIER_MON_DONPHAN_4 715
+#define FRONTIER_MON_CLAYDOL_4 716
+#define FRONTIER_MON_WAILORD_4 717
+#define FRONTIER_MON_NINETALES_4 718
+#define FRONTIER_MON_MACHAMP_4 719
+#define FRONTIER_MON_SHUCKLE_4 720
+#define FRONTIER_MON_STEELIX_4 721
+#define FRONTIER_MON_TENTACRUEL_4 722
+#define FRONTIER_MON_AERODACTYL_4 723
+#define FRONTIER_MON_PORYGON2_4 724
+#define FRONTIER_MON_GARDEVOIR_4 725
+#define FRONTIER_MON_EXEGGUTOR_4 726
+#define FRONTIER_MON_STARMIE_4 727
+#define FRONTIER_MON_FLYGON_4 728
+#define FRONTIER_MON_VENUSAUR_4 729
+#define FRONTIER_MON_VAPOREON_4 730
+#define FRONTIER_MON_JOLTEON_4 731
+#define FRONTIER_MON_FLAREON_4 732
+#define FRONTIER_MON_MEGANIUM_4 733
+#define FRONTIER_MON_ESPEON_4 734
+#define FRONTIER_MON_UMBREON_4 735
+#define FRONTIER_MON_BLASTOISE_4 736
+#define FRONTIER_MON_FERALIGATR_4 737
+#define FRONTIER_MON_AGGRON_4 738
+#define FRONTIER_MON_BLAZIKEN_4 739
+#define FRONTIER_MON_WALREIN_4 740
+#define FRONTIER_MON_SCEPTILE_4 741
+#define FRONTIER_MON_CHARIZARD_4 742
+#define FRONTIER_MON_TYPHLOSION_4 743
+#define FRONTIER_MON_LAPRAS_4 744
+#define FRONTIER_MON_CROBAT_4 745
+#define FRONTIER_MON_SWAMPERT_4 746
+#define FRONTIER_MON_GYARADOS_4 747
+#define FRONTIER_MON_SNORLAX_4 748
+#define FRONTIER_MON_KINGDRA_4 749
+#define FRONTIER_MON_BLISSEY_4 750
+#define FRONTIER_MON_MILOTIC_4 751
+#define FRONTIER_MON_ARCANINE_4 752
+#define FRONTIER_MON_SALAMENCE_4 753
+#define FRONTIER_MON_METAGROSS_4 754
+#define FRONTIER_MON_SLAKING_4 755
+
+#define FRONTIER_MON_ARTICUNO_1 756
+#define FRONTIER_MON_ZAPDOS_1 757
+#define FRONTIER_MON_MOLTRES_1 758
+#define FRONTIER_MON_RAIKOU_1 759
+#define FRONTIER_MON_ENTEI_1 760
+#define FRONTIER_MON_SUICUNE_1 761
+#define FRONTIER_MON_REGIROCK_1 762
+#define FRONTIER_MON_REGICE_1 763
+#define FRONTIER_MON_REGISTEEL_1 764
+#define FRONTIER_MON_LATIAS_1 765
+#define FRONTIER_MON_LATIOS_1 766
+#define FRONTIER_MON_ARTICUNO_2 767
+#define FRONTIER_MON_ZAPDOS_2 768
+#define FRONTIER_MON_MOLTRES_2 769
+#define FRONTIER_MON_RAIKOU_2 770
+#define FRONTIER_MON_ENTEI_2 771
+#define FRONTIER_MON_SUICUNE_2 772
+#define FRONTIER_MON_REGIROCK_2 773
+#define FRONTIER_MON_REGICE_2 774
+#define FRONTIER_MON_REGISTEEL_2 775
+#define FRONTIER_MON_LATIAS_2 776
+#define FRONTIER_MON_LATIOS_2 777
+#define FRONTIER_MON_ARTICUNO_3 778
+#define FRONTIER_MON_ZAPDOS_3 779
+#define FRONTIER_MON_MOLTRES_3 780
+#define FRONTIER_MON_RAIKOU_3 781
+#define FRONTIER_MON_ENTEI_3 782
+#define FRONTIER_MON_SUICUNE_3 783
+#define FRONTIER_MON_REGIROCK_3 784
+#define FRONTIER_MON_REGICE_3 785
+#define FRONTIER_MON_REGISTEEL_3 786
+#define FRONTIER_MON_LATIAS_3 787
+#define FRONTIER_MON_LATIOS_3 788
+#define FRONTIER_MON_ARTICUNO_4 789
+#define FRONTIER_MON_ZAPDOS_4 790
+#define FRONTIER_MON_MOLTRES_4 791
+#define FRONTIER_MON_RAIKOU_4 792
+#define FRONTIER_MON_ENTEI_4 793
+#define FRONTIER_MON_SUICUNE_4 794
+#define FRONTIER_MON_REGIROCK_4 795
+#define FRONTIER_MON_REGICE_4 796
+#define FRONTIER_MON_REGISTEEL_4 797
+#define FRONTIER_MON_LATIAS_4 798
+#define FRONTIER_MON_LATIOS_4 799
+#define FRONTIER_MON_GENGAR_5 800
+#define FRONTIER_MON_GENGAR_6 801
+#define FRONTIER_MON_GENGAR_7 802
+#define FRONTIER_MON_GENGAR_8 803
+#define FRONTIER_MON_URSARING_5 804
+#define FRONTIER_MON_URSARING_6 805
+#define FRONTIER_MON_URSARING_7 806
+#define FRONTIER_MON_URSARING_8 807
+#define FRONTIER_MON_MACHAMP_5 808
+#define FRONTIER_MON_MACHAMP_6 809
+#define FRONTIER_MON_MACHAMP_7 810
+#define FRONTIER_MON_MACHAMP_8 811
+#define FRONTIER_MON_GARDEVOIR_5 812
+#define FRONTIER_MON_GARDEVOIR_6 813
+#define FRONTIER_MON_GARDEVOIR_7 814
+#define FRONTIER_MON_GARDEVOIR_8 815
+#define FRONTIER_MON_STARMIE_5 816
+#define FRONTIER_MON_STARMIE_6 817
+#define FRONTIER_MON_STARMIE_7 818
+#define FRONTIER_MON_STARMIE_8 819
+#define FRONTIER_MON_LAPRAS_5 820
+#define FRONTIER_MON_LAPRAS_6 821
+#define FRONTIER_MON_LAPRAS_7 822
+#define FRONTIER_MON_LAPRAS_8 823
+#define FRONTIER_MON_SNORLAX_5 824
+#define FRONTIER_MON_SNORLAX_6 825
+#define FRONTIER_MON_SNORLAX_7 826
+#define FRONTIER_MON_SNORLAX_8 827
+#define FRONTIER_MON_SALAMENCE_5 828
+#define FRONTIER_MON_SALAMENCE_6 829
+#define FRONTIER_MON_SALAMENCE_7 830
+#define FRONTIER_MON_SALAMENCE_8 831
+#define FRONTIER_MON_METAGROSS_5 832
+#define FRONTIER_MON_METAGROSS_6 833
+#define FRONTIER_MON_METAGROSS_7 834
+#define FRONTIER_MON_METAGROSS_8 835
+#define FRONTIER_MON_REGIROCK_5 836
+#define FRONTIER_MON_REGIROCK_6 837
+#define FRONTIER_MON_REGICE_5 838
+#define FRONTIER_MON_REGICE_6 839
+#define FRONTIER_MON_REGISTEEL_5 840
+#define FRONTIER_MON_REGISTEEL_6 841
+#define FRONTIER_MON_LATIAS_5 842
+#define FRONTIER_MON_LATIAS_6 843
+#define FRONTIER_MON_LATIAS_7 844
+#define FRONTIER_MON_LATIAS_8 845
+#define FRONTIER_MON_LATIOS_5 846
+#define FRONTIER_MON_LATIOS_6 847
+#define FRONTIER_MON_LATIOS_7 848
+#define FRONTIER_MON_LATIOS_8 849
+
+#define FRONTIER_MONS_HIGH_TIER 849 // Mons above this point can only appear > level 50
+
+#define FRONTIER_MON_DRAGONITE_1 850
+#define FRONTIER_MON_DRAGONITE_2 851
+#define FRONTIER_MON_DRAGONITE_3 852
+#define FRONTIER_MON_DRAGONITE_4 853
+#define FRONTIER_MON_DRAGONITE_5 854
+#define FRONTIER_MON_DRAGONITE_6 855
+#define FRONTIER_MON_DRAGONITE_7 856
+#define FRONTIER_MON_DRAGONITE_8 857
+#define FRONTIER_MON_DRAGONITE_9 858
+#define FRONTIER_MON_DRAGONITE_10 859
+#define FRONTIER_MON_TYRANITAR_1 860
+#define FRONTIER_MON_TYRANITAR_2 861
+#define FRONTIER_MON_TYRANITAR_3 862
+#define FRONTIER_MON_TYRANITAR_4 863
+#define FRONTIER_MON_TYRANITAR_5 864
+#define FRONTIER_MON_TYRANITAR_6 865
+#define FRONTIER_MON_TYRANITAR_7 866
+#define FRONTIER_MON_TYRANITAR_8 867
+#define FRONTIER_MON_TYRANITAR_9 868
+#define FRONTIER_MON_TYRANITAR_10 869
+#define FRONTIER_MON_ARTICUNO_5 870
+#define FRONTIER_MON_ARTICUNO_6 871
+#define FRONTIER_MON_ZAPDOS_5 872
+#define FRONTIER_MON_ZAPDOS_6 873
+#define FRONTIER_MON_MOLTRES_5 874
+#define FRONTIER_MON_MOLTRES_6 875
+#define FRONTIER_MON_RAIKOU_5 876
+#define FRONTIER_MON_RAIKOU_6 877
+#define FRONTIER_MON_ENTEI_5 878
+#define FRONTIER_MON_ENTEI_6 879
+#define FRONTIER_MON_SUICUNE_5 880
+#define FRONTIER_MON_SUICUNE_6 881
+
+#define NUM_FRONTIER_MONS 882
+
+#endif //GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H
diff --git a/include/constants/battle_frontier_trainers.h b/include/constants/battle_frontier_trainers.h
new file mode 100644
index 000000000..2914b153f
--- /dev/null
+++ b/include/constants/battle_frontier_trainers.h
@@ -0,0 +1,309 @@
+#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
+#define GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
+
+#define FRONTIER_TRAINER_BRADY 0
+#define FRONTIER_TRAINER_CONNER 1
+#define FRONTIER_TRAINER_BRADLEY 2
+#define FRONTIER_TRAINER_CYBIL 3
+#define FRONTIER_TRAINER_RODETTE 4
+#define FRONTIER_TRAINER_PEGGY 5
+#define FRONTIER_TRAINER_KEITH 6
+#define FRONTIER_TRAINER_GRAYSON 7
+#define FRONTIER_TRAINER_GLENN 8
+#define FRONTIER_TRAINER_LILIANA 9
+#define FRONTIER_TRAINER_ELISE 10
+#define FRONTIER_TRAINER_ZOEY 11
+#define FRONTIER_TRAINER_MANUEL 12
+#define FRONTIER_TRAINER_RUSS 13
+#define FRONTIER_TRAINER_DUSTIN 14
+#define FRONTIER_TRAINER_TINA 15
+#define FRONTIER_TRAINER_GILLIAN1 16
+#define FRONTIER_TRAINER_ZOE 17
+#define FRONTIER_TRAINER_CHEN 18
+#define FRONTIER_TRAINER_AL 19
+#define FRONTIER_TRAINER_MITCH 20
+#define FRONTIER_TRAINER_ANNE 21
+#define FRONTIER_TRAINER_ALIZE 22
+#define FRONTIER_TRAINER_LAUREN 23
+#define FRONTIER_TRAINER_KIPP 24
+#define FRONTIER_TRAINER_JASON 25
+#define FRONTIER_TRAINER_JOHN 26
+#define FRONTIER_TRAINER_ANN 27
+#define FRONTIER_TRAINER_EILEEN 28
+#define FRONTIER_TRAINER_CARLIE 29
+#define FRONTIER_TRAINER_GORDON 30
+#define FRONTIER_TRAINER_AYDEN 31
+#define FRONTIER_TRAINER_MARCO 32
+#define FRONTIER_TRAINER_CIERRA 33
+#define FRONTIER_TRAINER_MARCY 34
+#define FRONTIER_TRAINER_KATHY 35
+#define FRONTIER_TRAINER_PEYTON 36
+#define FRONTIER_TRAINER_JULIAN 37
+#define FRONTIER_TRAINER_QUINN 38
+#define FRONTIER_TRAINER_HAYLEE 39
+#define FRONTIER_TRAINER_AMANDA 40
+#define FRONTIER_TRAINER_STACY 41
+#define FRONTIER_TRAINER_RAFAEL 42
+#define FRONTIER_TRAINER_OLIVER 43
+#define FRONTIER_TRAINER_PAYTON 44
+#define FRONTIER_TRAINER_PAMELA 45
+#define FRONTIER_TRAINER_ELIZA 46
+#define FRONTIER_TRAINER_MARISA 47
+#define FRONTIER_TRAINER_LEWIS 48
+#define FRONTIER_TRAINER_YOSHI 49
+#define FRONTIER_TRAINER_DESTIN 50
+#define FRONTIER_TRAINER_KEON 51
+#define FRONTIER_TRAINER_STUART 52
+#define FRONTIER_TRAINER_NESTOR 53
+#define FRONTIER_TRAINER_DERRICK 54
+#define FRONTIER_TRAINER_BRYSON 55
+#define FRONTIER_TRAINER_CLAYTON 56
+#define FRONTIER_TRAINER_TRENTON 57
+#define FRONTIER_TRAINER_JENSON 58
+#define FRONTIER_TRAINER_WESLEY 59
+#define FRONTIER_TRAINER_ANTON 60
+#define FRONTIER_TRAINER_LAWSON 61
+#define FRONTIER_TRAINER_SAMMY 62
+#define FRONTIER_TRAINER_ARNIE 63
+#define FRONTIER_TRAINER_ADRIAN 64
+#define FRONTIER_TRAINER_TRISTAN 65
+#define FRONTIER_TRAINER_JULIANA 66
+#define FRONTIER_TRAINER_RYLEE 67
+#define FRONTIER_TRAINER_CHELSEA 68
+#define FRONTIER_TRAINER_DANELA 69
+#define FRONTIER_TRAINER_LIZBETH 70
+#define FRONTIER_TRAINER_AMELIA 71
+#define FRONTIER_TRAINER_JILLIAN 72
+#define FRONTIER_TRAINER_ABBIE 73
+#define FRONTIER_TRAINER_BRIANA 74
+#define FRONTIER_TRAINER_ANTONIO 75
+#define FRONTIER_TRAINER_JADEN 76
+#define FRONTIER_TRAINER_DAKOTA 77
+#define FRONTIER_TRAINER_BRAYDEN 78
+#define FRONTIER_TRAINER_CORSON 79
+#define FRONTIER_TRAINER_TREVIN 80
+#define FRONTIER_TRAINER_PATRICK 81
+#define FRONTIER_TRAINER_KADEN 82
+#define FRONTIER_TRAINER_MAXWELL 83
+#define FRONTIER_TRAINER_DARYL 84
+#define FRONTIER_TRAINER_KENNETH 85
+#define FRONTIER_TRAINER_RICH 86
+#define FRONTIER_TRAINER_CADEN 87
+#define FRONTIER_TRAINER_MARLON 88
+#define FRONTIER_TRAINER_NASH 89
+#define FRONTIER_TRAINER_ROBBY 90
+#define FRONTIER_TRAINER_REECE 91
+#define FRONTIER_TRAINER_KATHRYN 92
+#define FRONTIER_TRAINER_ELLEN 93
+#define FRONTIER_TRAINER_RAMON 94
+#define FRONTIER_TRAINER_ARTHUR 95
+#define FRONTIER_TRAINER_ALONDRA 96
+#define FRONTIER_TRAINER_ADRIANA 97
+#define FRONTIER_TRAINER_MALIK 98
+#define FRONTIER_TRAINER_JILL 99
+#define FRONTIER_TRAINER_ERIK 100
+#define FRONTIER_TRAINER_YAZMIN 101
+#define FRONTIER_TRAINER_JAMAL 102
+#define FRONTIER_TRAINER_LESLIE 103
+#define FRONTIER_TRAINER_DAVE 104
+#define FRONTIER_TRAINER_CARLO 105
+#define FRONTIER_TRAINER_EMILIA 106
+#define FRONTIER_TRAINER_DALIA 107
+#define FRONTIER_TRAINER_HITOMI 108
+#define FRONTIER_TRAINER_RICARDO 109
+#define FRONTIER_TRAINER_SHIZUKA 110
+#define FRONTIER_TRAINER_JOANA 111
+#define FRONTIER_TRAINER_KELLY 112
+#define FRONTIER_TRAINER_RAYNA 113
+#define FRONTIER_TRAINER_EVAN 114
+#define FRONTIER_TRAINER_JORDAN 115
+#define FRONTIER_TRAINER_JOEL 116
+#define FRONTIER_TRAINER_KRISTEN 117
+#define FRONTIER_TRAINER_SELPHY 118
+#define FRONTIER_TRAINER_CHLOE 119
+#define FRONTIER_TRAINER_NORTON 120
+#define FRONTIER_TRAINER_LUKAS 121
+#define FRONTIER_TRAINER_ZACH 122
+#define FRONTIER_TRAINER_KAITLYN 123
+#define FRONTIER_TRAINER_BREANNA 124
+#define FRONTIER_TRAINER_KENDRA 125
+#define FRONTIER_TRAINER_MOLLY 126
+#define FRONTIER_TRAINER_JAZMIN 127
+#define FRONTIER_TRAINER_KELSEY 128
+#define FRONTIER_TRAINER_JALEN 129
+#define FRONTIER_TRAINER_GRIFFEN 130
+#define FRONTIER_TRAINER_XANDER 131
+#define FRONTIER_TRAINER_MARVIN 132
+#define FRONTIER_TRAINER_BRENNAN 133
+#define FRONTIER_TRAINER_BALEY 134
+#define FRONTIER_TRAINER_ZACKARY 135
+#define FRONTIER_TRAINER_GABRIEL 136
+#define FRONTIER_TRAINER_EMILY 137
+#define FRONTIER_TRAINER_JORDYN 138
+#define FRONTIER_TRAINER_SOFIA 139
+#define FRONTIER_TRAINER_BRADEN 140
+#define FRONTIER_TRAINER_KAYDEN 141
+#define FRONTIER_TRAINER_COOPER 142
+#define FRONTIER_TRAINER_JULIA 143
+#define FRONTIER_TRAINER_AMARA 144
+#define FRONTIER_TRAINER_LYNN 145
+#define FRONTIER_TRAINER_JOVAN 146
+#define FRONTIER_TRAINER_DOMINIC 147
+#define FRONTIER_TRAINER_NIKOLAS 148
+#define FRONTIER_TRAINER_VALERIA 149
+#define FRONTIER_TRAINER_DELANEY 150
+#define FRONTIER_TRAINER_MEGHAN 151
+#define FRONTIER_TRAINER_ROBERTO 152
+#define FRONTIER_TRAINER_DAMIAN 153
+#define FRONTIER_TRAINER_BRODY 154
+#define FRONTIER_TRAINER_GRAHAM 155
+#define FRONTIER_TRAINER_TYLOR 156
+#define FRONTIER_TRAINER_JAREN 157
+#define FRONTIER_TRAINER_CORDELL 158
+#define FRONTIER_TRAINER_JAZLYN 159
+#define FRONTIER_TRAINER_ZACHERY 160
+#define FRONTIER_TRAINER_JOHAN 161
+#define FRONTIER_TRAINER_SHEA 162
+#define FRONTIER_TRAINER_KAILA 163
+#define FRONTIER_TRAINER_ISIAH 164
+#define FRONTIER_TRAINER_GARRETT 165
+#define FRONTIER_TRAINER_HAYLIE 166
+#define FRONTIER_TRAINER_MEGAN 167
+#define FRONTIER_TRAINER_ISSAC 168
+#define FRONTIER_TRAINER_QUINTON 169
+#define FRONTIER_TRAINER_SALMA 170
+#define FRONTIER_TRAINER_ANSLEY 171
+#define FRONTIER_TRAINER_HOLDEN 172
+#define FRONTIER_TRAINER_LUCA 173
+#define FRONTIER_TRAINER_JAMISON 174
+#define FRONTIER_TRAINER_GUNNAR 175
+#define FRONTIER_TRAINER_CRAIG 176
+#define FRONTIER_TRAINER_PIERCE 177
+#define FRONTIER_TRAINER_REGINA 178
+#define FRONTIER_TRAINER_ALISON 179
+#define FRONTIER_TRAINER_HANK 180
+#define FRONTIER_TRAINER_EARL 181
+#define FRONTIER_TRAINER_RAMIRO 182
+#define FRONTIER_TRAINER_HUNTER 183
+#define FRONTIER_TRAINER_AIDEN 184
+#define FRONTIER_TRAINER_XAVIER 185
+#define FRONTIER_TRAINER_CLINTON 186
+#define FRONTIER_TRAINER_JESSE 187
+#define FRONTIER_TRAINER_EDUARDO 188
+#define FRONTIER_TRAINER_HAL 189
+#define FRONTIER_TRAINER_GAGE 190
+#define FRONTIER_TRAINER_ARNOLD 191
+#define FRONTIER_TRAINER_JARRETT 192
+#define FRONTIER_TRAINER_GARETT 193
+#define FRONTIER_TRAINER_EMANUEL 194
+#define FRONTIER_TRAINER_GUSTAVO 195
+#define FRONTIER_TRAINER_KAMERON 196
+#define FRONTIER_TRAINER_ALFREDO 197
+#define FRONTIER_TRAINER_RUBEN 198
+#define FRONTIER_TRAINER_LAMAR 199
+#define FRONTIER_TRAINER_JAXON 200
+#define FRONTIER_TRAINER_LOGAN 201
+#define FRONTIER_TRAINER_EMILEE 202
+#define FRONTIER_TRAINER_JOSIE 203
+#define FRONTIER_TRAINER_ARMANDO 204
+#define FRONTIER_TRAINER_SKYLER 205
+#define FRONTIER_TRAINER_RUTH 206
+#define FRONTIER_TRAINER_MELODY 207
+#define FRONTIER_TRAINER_PEDRO 208
+#define FRONTIER_TRAINER_ERICK 209
+#define FRONTIER_TRAINER_ELAINE 210
+#define FRONTIER_TRAINER_JOYCE 211
+#define FRONTIER_TRAINER_TODD 212
+#define FRONTIER_TRAINER_GAVIN 213
+#define FRONTIER_TRAINER_MALORY 214
+#define FRONTIER_TRAINER_ESTHER 215
+#define FRONTIER_TRAINER_OSCAR 216
+#define FRONTIER_TRAINER_WILSON 217
+#define FRONTIER_TRAINER_CLARE 218
+#define FRONTIER_TRAINER_TESS 219
+#define FRONTIER_TRAINER_LEON 220
+#define FRONTIER_TRAINER_ALONZO 221
+#define FRONTIER_TRAINER_VINCE 222
+#define FRONTIER_TRAINER_BRYON 223
+#define FRONTIER_TRAINER_AVA 224
+#define FRONTIER_TRAINER_MIRIAM 225
+#define FRONTIER_TRAINER_CARRIE 226
+#define FRONTIER_TRAINER_GILLIAN2 227
+#define FRONTIER_TRAINER_TYLER 228
+#define FRONTIER_TRAINER_CHAZ 229
+#define FRONTIER_TRAINER_NELSON 230
+#define FRONTIER_TRAINER_SHANIA 231
+#define FRONTIER_TRAINER_STELLA 232
+#define FRONTIER_TRAINER_DORINE 233
+#define FRONTIER_TRAINER_MADDOX 234
+#define FRONTIER_TRAINER_DAVIN 235
+#define FRONTIER_TRAINER_TREVON 236
+#define FRONTIER_TRAINER_MATEO 237
+#define FRONTIER_TRAINER_BRET 238
+#define FRONTIER_TRAINER_RAUL 239
+#define FRONTIER_TRAINER_KAY 240
+#define FRONTIER_TRAINER_ELENA 241
+#define FRONTIER_TRAINER_ALANA 242
+#define FRONTIER_TRAINER_ALEXAS 243
+#define FRONTIER_TRAINER_WESTON 244
+#define FRONTIER_TRAINER_JASPER 245
+#define FRONTIER_TRAINER_NADIA 246
+#define FRONTIER_TRAINER_MIRANDA 247
+#define FRONTIER_TRAINER_EMMA 248
+#define FRONTIER_TRAINER_ROLANDO 249
+#define FRONTIER_TRAINER_STANLY 250
+#define FRONTIER_TRAINER_DARIO 251
+#define FRONTIER_TRAINER_KARLEE 252
+#define FRONTIER_TRAINER_JAYLIN 253
+#define FRONTIER_TRAINER_INGRID 254
+#define FRONTIER_TRAINER_DELILAH 255
+#define FRONTIER_TRAINER_CARLY 256
+#define FRONTIER_TRAINER_LEXIE 257
+#define FRONTIER_TRAINER_MILLER 258
+#define FRONTIER_TRAINER_MARV 259
+#define FRONTIER_TRAINER_LAYTON 260
+#define FRONTIER_TRAINER_BROOKS 261
+#define FRONTIER_TRAINER_GREGORY 262
+#define FRONTIER_TRAINER_REESE 263
+#define FRONTIER_TRAINER_MASON 264
+#define FRONTIER_TRAINER_TOBY 265
+#define FRONTIER_TRAINER_DOROTHY 266
+#define FRONTIER_TRAINER_PIPER 267
+#define FRONTIER_TRAINER_FINN 268
+#define FRONTIER_TRAINER_SAMIR 269
+#define FRONTIER_TRAINER_FIONA 270
+#define FRONTIER_TRAINER_GLORIA 271
+#define FRONTIER_TRAINER_NICO 272
+#define FRONTIER_TRAINER_JEREMY 273
+#define FRONTIER_TRAINER_CAITLIN 274
+#define FRONTIER_TRAINER_REENA 275
+#define FRONTIER_TRAINER_AVERY 276
+#define FRONTIER_TRAINER_LIAM 277
+#define FRONTIER_TRAINER_THEO 278
+#define FRONTIER_TRAINER_BAILEY 279
+#define FRONTIER_TRAINER_HUGO 280
+#define FRONTIER_TRAINER_BRYCE 281
+#define FRONTIER_TRAINER_GIDEON 282
+#define FRONTIER_TRAINER_TRISTON 283
+#define FRONTIER_TRAINER_CHARLES 284
+#define FRONTIER_TRAINER_RAYMOND 285
+#define FRONTIER_TRAINER_DIRK 286
+#define FRONTIER_TRAINER_HAROLD 287
+#define FRONTIER_TRAINER_OMAR 288
+#define FRONTIER_TRAINER_PETER 289
+#define FRONTIER_TRAINER_DEV 290
+#define FRONTIER_TRAINER_COREY 291
+#define FRONTIER_TRAINER_ANDRE 292
+#define FRONTIER_TRAINER_FERRIS 293
+#define FRONTIER_TRAINER_ALIVIA 294
+#define FRONTIER_TRAINER_PAIGE 295
+#define FRONTIER_TRAINER_ANYA 296
+#define FRONTIER_TRAINER_DAWN 297
+#define FRONTIER_TRAINER_ABBY 298
+#define FRONTIER_TRAINER_GRETEL 299
+
+#define FRONTIER_TRAINERS_COUNT 300
+
+// special trainer IDs begin at 300, see constants/trainers.h
+
+#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
diff --git a/include/constants/battle_palace.h b/include/constants/battle_palace.h
new file mode 100644
index 000000000..db9855101
--- /dev/null
+++ b/include/constants/battle_palace.h
@@ -0,0 +1,19 @@
+#ifndef GUARD_CONSTANTS_BATTLE_PALACE_H
+#define GUARD_CONSTANTS_BATTLE_PALACE_H
+
+#define BATTLE_PALACE_FUNC_INIT 0
+#define BATTLE_PALACE_FUNC_GET_DATA 1
+#define BATTLE_PALACE_FUNC_SET_DATA 2
+#define BATTLE_PALACE_FUNC_GET_COMMENT_ID 3
+#define BATTLE_PALACE_FUNC_SET_OPPONENT 4
+#define BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO 5
+#define BATTLE_PALACE_FUNC_INCREMENT_STREAK 6
+#define BATTLE_PALACE_FUNC_SAVE 7
+#define BATTLE_PALACE_FUNC_SET_PRIZE 8
+#define BATTLE_PALACE_FUNC_GIVE_PRIZE 9
+
+#define PALACE_DATA_PRIZE 0
+#define PALACE_DATA_WIN_STREAK 1
+#define PALACE_DATA_WIN_STREAK_ACTIVE 2
+
+#endif //GUARD_CONSTANTS_BATTLE_PALACE_H
diff --git a/include/constants/battle_pike.h b/include/constants/battle_pike.h
new file mode 100644
index 000000000..9187ae28c
--- /dev/null
+++ b/include/constants/battle_pike.h
@@ -0,0 +1,72 @@
+#ifndef GUARD_CONSTANTS_BATTLE_PIKE_H
+#define GUARD_CONSTANTS_BATTLE_PIKE_H
+
+#define PIKE_ROOM_SINGLE_BATTLE 0
+#define PIKE_ROOM_HEAL_FULL 1
+#define PIKE_ROOM_NPC 2
+#define PIKE_ROOM_STATUS 3
+#define PIKE_ROOM_HEAL_PART 4
+#define PIKE_ROOM_WILD_MONS 5
+#define PIKE_ROOM_HARD_BATTLE 6
+#define PIKE_ROOM_DOUBLE_BATTLE 7
+#define PIKE_ROOM_BRAIN 8
+#define NUM_PIKE_ROOM_TYPES 9
+
+#define PIKE_ROOM_LEFT 0
+#define PIKE_ROOM_CENTER 1
+#define PIKE_ROOM_RIGHT 2
+
+#define PIKE_HINT_NOSTALGIA 0
+#define PIKE_HINT_WHISPERING 1
+#define PIKE_HINT_POKEMON 2
+#define PIKE_HINT_PEOPLE 3
+#define PIKE_HINT_BRAIN 4
+
+// For the room with a status effect.
+#define PIKE_STATUSMON_KIRLIA 0
+#define PIKE_STATUSMON_DUSCLOPS 1
+
+#define PIKE_STATUS_FREEZE 0
+#define PIKE_STATUS_BURN 1
+#define PIKE_STATUS_TOXIC 2
+#define PIKE_STATUS_PARALYSIS 3
+#define PIKE_STATUS_SLEEP 4
+
+// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction
+#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE 0
+#define BATTLE_PIKE_FUNC_GET_DATA 1
+#define BATTLE_PIKE_FUNC_SET_DATA 2
+#define BATTLE_PIKE_FUNC_IS_FINAL_ROOM 3
+#define BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS 4
+#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE 5
+#define BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM 6
+#define BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM 7
+#define BATTLE_PIKE_FUNC_SAVE 8
+#define BATTLE_PIKE_FUNC_NULL_9 9
+#define BATTLE_PIKE_FUNC_NULL_10 10
+#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS 11
+#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON 12
+#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS 13
+#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG 14
+#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH 15
+#define BATTLE_PIKE_FUNC_IS_IN 16
+#define BATTLE_PIKE_FUNC_SET_HINT_ROOM 17
+#define BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID 18
+#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT 19
+#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS 20
+#define BATTLE_PIKE_FUNC_GET_TRAINER_INTRO 21
+#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE 22
+#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN 23
+#define BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED 24
+#define BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH 25
+#define BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS 26
+#define BATTLE_PIKE_FUNC_RESET_HELD_ITEMS 27
+#define BATTLE_PIKE_FUNC_INIT 28
+
+#define PIKE_DATA_PRIZE 0
+#define PIKE_DATA_WIN_STREAK 1
+#define PIKE_DATA_RECORD_STREAK 2
+#define PIKE_DATA_TOTAL_STREAKS 3
+#define PIKE_DATA_WIN_STREAK_ACTIVE 4
+
+#endif // GUARD_CONSTANTS_BATTLE_PIKE_H
diff --git a/include/constants/battle_pyramid.h b/include/constants/battle_pyramid.h
new file mode 100644
index 000000000..004df7155
--- /dev/null
+++ b/include/constants/battle_pyramid.h
@@ -0,0 +1,61 @@
+#ifndef GUARD_CONSTANTS_BATTLE_PYRAMID_H
+#define GUARD_CONSTANTS_BATTLE_PYRAMID_H
+
+#define TOTAL_ROUNDS 20
+#define PICKUP_ITEMS_PER_ROUND 10
+
+#define FLOOR_WALKABLE_METATILE 0x28D
+#define FLOOR_EXIT_METATILE 0x28E
+
+#define HINT_EXIT_DIRECTION 0
+#define HINT_REMAINING_ITEMS 1
+#define HINT_REMAINING_TRAINERS 2
+#define HINT_EXIT_SHORT_REMAINING_TRAINERS 3
+#define HINT_EXIT_SHORT_REMAINING_ITEMS 4
+#define HINT_EXIT_MEDIUM_REMAINING_TRAINERS 5
+#define HINT_EXIT_MEDIUM_REMAINING_ITEMS 6
+#define HINT_EXIT_FAR_REMAINING_TRAINERS 7
+#define HINT_EXIT_FAR_REMAINING_ITEMS 8
+
+#define OBJ_TRAINERS 0
+#define OBJ_ITEMS 1
+
+#define OBJ_POSITIONS_UNIFORM 0
+#define OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE 1
+#define OBJ_POSITIONS_IN_AND_NEAR_EXIT 2
+#define OBJ_POSITIONS_NEAR_ENTRANCE 3
+#define OBJ_POSITIONS_NEAR_EXIT 4
+
+// Functions IDs for sBattlePyramidFunctions / CallBattlePyramidFunction
+#define BATTLE_PYRAMID_FUNC_INIT 0
+#define BATTLE_PYRAMID_FUNC_GET_DATA 1
+#define BATTLE_PYRAMID_FUNC_SET_DATA 2
+#define BATTLE_PYRAMID_FUNC_SAVE 3
+#define BATTLE_PYRAMID_FUNC_SET_PRIZE 4
+#define BATTLE_PYRAMID_FUNC_GIVE_PRIZE 5 // unused
+#define BATTLE_PYRAMID_FUNC_SEED_FLOOR 6
+#define BATTLE_PYRAMID_FUNC_SET_ITEM 7
+#define BATTLE_PYRAMID_FUNC_HIDE_ITEM 8
+#define BATTLE_PYRAMID_FUNC_SET_TRAINERS 9
+#define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT 10
+#define BATTLE_PYRAMID_FUNC_UPDATE_STREAK 11 // unused
+#define BATTLE_PYRAMID_FUNC_IS_IN 12
+#define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT 13
+#define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS 14
+#define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE 15
+#define BATTLE_PYRAMID_FUNC_START_MENU 16 // unused
+#define BATTLE_PYRAMID_FUNC_RESTORE_PARTY 17
+
+#define PYRAMID_DATA_PRIZE 0
+#define PYRAMID_DATA_WIN_STREAK 1
+#define PYRAMID_DATA_WIN_STREAK_ACTIVE 2
+#define PYRAMID_DATA_WIN_STREAK_50 3 // the below streak data are redundant with the above when frontier.lvlMode is correct
+#define PYRAMID_DATA_WIN_STREAK_OPEN 4
+#define PYRAMID_DATA_WIN_STREAK_ACTIVE_50 5
+#define PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN 6
+#define PYRAMID_DATA_TRAINER_FLAGS 7
+
+#define PYRAMID_LIGHT_SET_RADIUS 0
+#define PYRAMID_LIGHT_INCR_RADIUS 1
+
+#endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H
diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h
index 894bd13b6..dfcf79128 100644
--- a/include/constants/battle_script_commands.h
+++ b/include/constants/battle_script_commands.h
@@ -39,16 +39,16 @@
#define BS_EFFECT_BATTLER 2
#define BS_FAINTED 3
#define BS_BATTLER_0 7
-#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
-#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability
-#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
+#define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon
+#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability
+#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability
#define BS_SCRIPTING 10
#define BS_PLAYER1 11
#define BS_OPPONENT1 12
#define BS_PLAYER2 13
#define BS_OPPONENT2 14
-// atk 01, accuracy calc
+// Cmd_accuracycheck
#define NO_ACC_CALC 0xFFFE
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
#define ACC_CURR_MOVE 0
@@ -61,7 +61,7 @@
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
-// atk76, various
+// Cmd_various
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
@@ -84,44 +84,25 @@
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
-// atk80, dmg manipulation
-#define ATK80_DMG_CHANGE_SIGN 0
-#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
-#define ATK80_DMG_DOUBLED 2
+// Cmd_manipulatedmg
+#define DMG_CHANGE_SIGN 0
+#define DMG_RECOIL_FROM_MISS 1
+#define DMG_DOUBLED 2
-// atk4F, a flag used for the jumpifcantswitch command
-#define ATK4F_DONT_CHECK_STATUSES 0x80
+// Cmd_jumpifcantswitch
+#define SWITCH_IGNORE_ESCAPE_PREVENTION 0x80
-// statchange defines
-#define STAT_CHANGE_BS_PTR 0x1
-#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
+// Cmd_statbuffchange
+#define STAT_BUFF_ALLOW_PTR 0x1 // If set, allow use of jumpptr. Set in every use of statbuffchange
+#define STAT_BUFF_NOT_PROTECT_AFFECTED 0x20
-// atk48
-#define ATK48_STAT_NEGATIVE 0x1
-#define ATK48_STAT_BY_TWO 0x2
-#define ATK48_ONLY_MULTIPLE 0x4
-#define ATK48_DONT_CHECK_LOWER 0x8
-
-// atk49, moveend cases
-#define ATK49_RAGE 0
-#define ATK49_DEFROST 1
-#define ATK49_SYNCHRONIZE_TARGET 2
-#define ATK49_MOVE_END_ABILITIES 3
-#define ATK49_STATUS_IMMUNITY_ABILITIES 4
-#define ATK49_SYNCHRONIZE_ATTACKER 5
-#define ATK49_CHOICE_MOVE 6
-#define ATK49_CHANGED_ITEMS 7
-#define ATK49_ATTACKER_INVISIBLE 8
-#define ATK49_ATTACKER_VISIBLE 9
-#define ATK49_TARGET_VISIBLE 10
-#define ATK49_ITEM_EFFECTS_ALL 11
-#define ATK49_KINGSROCK_SHELLBELL 12
-#define ATK49_SUBSTITUTE 13
-#define ATK49_UPDATE_LAST_MOVES 14
-#define ATK49_MIRROR_MOVE 15
-#define ATK49_NEXT_TARGET 16
-#define ATK49_COUNT 17
+// stat change flags for Cmd_playstatchangeanimation
+#define STAT_CHANGE_NEGATIVE 0x1
+#define STAT_CHANGE_BY_TWO 0x2
+#define STAT_CHANGE_MULTIPLE_STATS 0x4
+#define STAT_CHANGE_CANT_PREVENT 0x8
+// stat flags for Cmd_playstatchangeanimation
#define BIT_HP 0x1
#define BIT_ATK 0x2
#define BIT_DEF 0x4
@@ -131,4 +112,24 @@
#define BIT_ACC 0x40
#define BIT_EVASION 0x80
+// cases for Cmd_moveend
+#define MOVEEND_RAGE 0
+#define MOVEEND_DEFROST 1
+#define MOVEEND_SYNCHRONIZE_TARGET 2
+#define MOVEEND_ON_DAMAGE_ABILITIES 3
+#define MOVEEND_IMMUNITY_ABILITIES 4
+#define MOVEEND_SYNCHRONIZE_ATTACKER 5
+#define MOVEEND_CHOICE_MOVE 6
+#define MOVEEND_CHANGED_ITEMS 7
+#define MOVEEND_ATTACKER_INVISIBLE 8
+#define MOVEEND_ATTACKER_VISIBLE 9
+#define MOVEEND_TARGET_VISIBLE 10
+#define MOVEEND_ITEM_EFFECTS_ALL 11
+#define MOVEEND_KINGSROCK_SHELLBELL 12
+#define MOVEEND_SUBSTITUTE 13
+#define MOVEEND_UPDATE_LAST_MOVES 14
+#define MOVEEND_MIRROR_MOVE 15
+#define MOVEEND_NEXT_TARGET 16
+#define MOVEEND_COUNT 17
+
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
diff --git a/include/constants/battle_setup.h b/include/constants/battle_setup.h
index d98e1762f..d825c88bc 100644
--- a/include/constants/battle_setup.h
+++ b/include/constants/battle_setup.h
@@ -13,6 +13,6 @@
#define TRAINER_BATTLE_PYRAMID 9
#define TRAINER_BATTLE_SET_TRAINER_A 10
#define TRAINER_BATTLE_SET_TRAINER_B 11
-#define TRAINER_BATTLE_12 12
+#define TRAINER_BATTLE_HILL 12
#endif // GUARD_CONSTANTS_BATTLE_SETUP_H
diff --git a/include/constants/battle_tent.h b/include/constants/battle_tent.h
new file mode 100644
index 000000000..666ada6bd
--- /dev/null
+++ b/include/constants/battle_tent.h
@@ -0,0 +1,32 @@
+#ifndef GUARD_CONSTANTS_BATTLE_TENT_H
+#define GUARD_CONSTANTS_BATTLE_TENT_H
+
+#define VERDANTURF_TENT_FUNC_INIT 0
+#define VERDANTURF_TENT_FUNC_GET_PRIZE 1
+#define VERDANTURF_TENT_FUNC_SET_PRIZE 2
+#define VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX 3
+#define VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO 4
+#define VERDANTURF_TENT_FUNC_SAVE 5
+#define VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE 6
+#define VERDANTURF_TENT_FUNC_GIVE_PRIZE 7
+
+#define FALLARBOR_TENT_FUNC_INIT 0
+#define FALLARBOR_TENT_FUNC_GET_PRIZE 1
+#define FALLARBOR_TENT_FUNC_SET_PRIZE 2
+#define FALLARBOR_TENT_FUNC_SAVE 3
+#define FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE 4
+#define FALLARBOR_TENT_FUNC_GIVE_PRIZE 5
+#define FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME 6
+
+#define SLATEPORT_TENT_FUNC_INIT 0
+#define SLATEPORT_TENT_FUNC_GET_PRIZE 1
+#define SLATEPORT_TENT_FUNC_SET_PRIZE 2
+#define SLATEPORT_TENT_FUNC_SAVE 3
+#define SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE 4
+#define SLATEPORT_TENT_FUNC_GIVE_PRIZE 5
+#define SLATEPORT_TENT_FUNC_SELECT_RENT_MONS 6
+#define SLATEPORT_TENT_FUNC_SWAP_RENT_MONS 7
+#define SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS 8
+#define SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS 9
+
+#endif // GUARD_CONSTANTS_BATTLE_TENT_H
diff --git a/include/constants/battle_tent_mons.h b/include/constants/battle_tent_mons.h
new file mode 100644
index 000000000..d9fc89a20
--- /dev/null
+++ b/include/constants/battle_tent_mons.h
@@ -0,0 +1,173 @@
+#ifndef GUARD_CONSTANTS_BATTLE_TENT_MONS_H
+#define GUARD_CONSTANTS_BATTLE_TENT_MONS_H
+
+#define SLATEPORT_TENT_MON_ZIGZAGOON_1 0
+#define SLATEPORT_TENT_MON_ZIGZAGOON_2 1
+#define SLATEPORT_TENT_MON_BEAUTIFLY 2
+#define SLATEPORT_TENT_MON_DUSTOX 3
+#define SLATEPORT_TENT_MON_WAILMER_1 4
+#define SLATEPORT_TENT_MON_WAILMER_2 5
+#define SLATEPORT_TENT_MON_MARILL_1 6
+#define SLATEPORT_TENT_MON_WINGULL_1 7
+#define SLATEPORT_TENT_MON_PELIPPER_1 8
+#define SLATEPORT_TENT_MON_CACNEA_1 9
+#define SLATEPORT_TENT_MON_LOMBRE_1 10
+#define SLATEPORT_TENT_MON_LOTAD 11
+#define SLATEPORT_TENT_MON_SEEDOT 12
+#define SLATEPORT_TENT_MON_NUZLEAF 13
+#define SLATEPORT_TENT_MON_NINJASK_1 14
+#define SLATEPORT_TENT_MON_NINJASK_2 15
+#define SLATEPORT_TENT_MON_GRAVELER 16
+#define SLATEPORT_TENT_MON_BALTOY 17
+#define SLATEPORT_TENT_MON_MIGHTYENA_1 18
+#define SLATEPORT_TENT_MON_MIGHTYENA_2 19
+#define SLATEPORT_TENT_MON_LINOONE 20
+#define SLATEPORT_TENT_MON_GOLDEEN 21
+#define SLATEPORT_TENT_MON_ELECTRIKE_1 22
+#define SLATEPORT_TENT_MON_VOLTORB 23
+#define SLATEPORT_TENT_MON_ARON_1 24
+#define SLATEPORT_TENT_MON_ARON_2 25
+#define SLATEPORT_TENT_MON_TRAPINCH_1 26
+#define SLATEPORT_TENT_MON_CACNEA_2 27
+#define SLATEPORT_TENT_MON_TAILLOW 28
+#define SLATEPORT_TENT_MON_SWELLOW 29
+#define SLATEPORT_TENT_MON_GOLBAT_1 30
+#define SLATEPORT_TENT_MON_LOUDRED 31
+#define SLATEPORT_TENT_MON_SPINDA 32
+#define SLATEPORT_TENT_MON_MAGNEMITE 33
+#define SLATEPORT_TENT_MON_WHISMUR 34
+#define SLATEPORT_TENT_MON_MAKUHITA 35
+#define SLATEPORT_TENT_MON_NUMEL_1 36
+#define SLATEPORT_TENT_MON_BARBOACH 37
+#define SLATEPORT_TENT_MON_TENTACOOL 38
+#define SLATEPORT_TENT_MON_VIGOROTH 39
+#define SLATEPORT_TENT_MON_MAGIKARP 40
+#define SLATEPORT_TENT_MON_SEVIPER_1 41
+#define SLATEPORT_TENT_MON_SOLROCK 42
+#define SLATEPORT_TENT_MON_KECLEON_1 43
+#define SLATEPORT_TENT_MON_KECLEON_2 44
+#define SLATEPORT_TENT_MON_SHROOMISH_1 45
+#define SLATEPORT_TENT_MON_SHROOMISH_2 46
+#define SLATEPORT_TENT_MON_LOMBRE_2 47
+#define SLATEPORT_TENT_MON_NUMEL_2 48
+#define SLATEPORT_TENT_MON_TRAPINCH_2 49
+#define SLATEPORT_TENT_MON_PELIPPER_2 50
+#define SLATEPORT_TENT_MON_WINGULL_2 51
+#define SLATEPORT_TENT_MON_MARILL_2 52
+#define SLATEPORT_TENT_MON_SKITTY 53
+#define SLATEPORT_TENT_MON_SEVIPER_2 54
+#define SLATEPORT_TENT_MON_GOLBAT_2 55
+#define SLATEPORT_TENT_MON_RALTS 56
+#define SLATEPORT_TENT_MON_SANDSHREW 57
+#define SLATEPORT_TENT_MON_SWALOT 58
+#define SLATEPORT_TENT_MON_VOLBEAT 59
+#define SLATEPORT_TENT_MON_ILLUMISE 60
+#define SLATEPORT_TENT_MON_KADABRA 61
+#define SLATEPORT_TENT_MON_KIRLIA 62
+#define SLATEPORT_TENT_MON_BRELOOM 63
+#define SLATEPORT_TENT_MON_PLUSLE_1 64
+#define SLATEPORT_TENT_MON_PLUSLE_2 65
+#define SLATEPORT_TENT_MON_ELECTRIKE_2 66
+#define SLATEPORT_TENT_MON_SWABLU 67
+#define SLATEPORT_TENT_MON_MACHOP 68
+#define SLATEPORT_TENT_MON_MACHOKE 69
+
+#define NUM_SLATEPORT_TENT_MONS 70
+
+#define VERDANTURF_TENT_MON_POOCHYENA 0
+#define VERDANTURF_TENT_MON_ZIGZAGOON 1
+#define VERDANTURF_TENT_MON_DUSTOX 2
+#define VERDANTURF_TENT_MON_TAILLOW 3
+#define VERDANTURF_TENT_MON_SHROOMISH 4
+#define VERDANTURF_TENT_MON_MACHOP 5
+#define VERDANTURF_TENT_MON_MAGIKARP 6
+#define VERDANTURF_TENT_MON_BARBOACH 7
+#define VERDANTURF_TENT_MON_WINGULL 8
+#define VERDANTURF_TENT_MON_ARON_1 9
+#define VERDANTURF_TENT_MON_NUMEL_1 10
+#define VERDANTURF_TENT_MON_SWALOT 11
+#define VERDANTURF_TENT_MON_KECLEON 12
+#define VERDANTURF_TENT_MON_BALTOY 13
+#define VERDANTURF_TENT_MON_NINJASK 14
+#define VERDANTURF_TENT_MON_MAKUHITA 15
+#define VERDANTURF_TENT_MON_SWABLU 16
+#define VERDANTURF_TENT_MON_GOLDEEN_1 17
+#define VERDANTURF_TENT_MON_LOTAD 18
+#define VERDANTURF_TENT_MON_NUMEL_2 19
+#define VERDANTURF_TENT_MON_LINOONE 20
+#define VERDANTURF_TENT_MON_SEVIPER 21
+#define VERDANTURF_TENT_MON_SKARMORY 22
+#define VERDANTURF_TENT_MON_SWELLOW 23
+#define VERDANTURF_TENT_MON_GOLDEEN_2 24
+#define VERDANTURF_TENT_MON_ELECTRIKE 25
+#define VERDANTURF_TENT_MON_NUZLEAF 26
+#define VERDANTURF_TENT_MON_ARON_2 27
+#define VERDANTURF_TENT_MON_MIGHTYENA 28
+#define VERDANTURF_TENT_MON_SOLROCK 29
+#define VERDANTURF_TENT_MON_GRAVELER 30
+#define VERDANTURF_TENT_MON_KADABRA 31
+#define VERDANTURF_TENT_MON_VOLTORB 32
+#define VERDANTURF_TENT_MON_MAGNEMITE 33
+#define VERDANTURF_TENT_MON_PELIPPER 34
+#define VERDANTURF_TENT_MON_LOUDRED 35
+#define VERDANTURF_TENT_MON_MARILL 36
+#define VERDANTURF_TENT_MON_TRAPINCH 37
+#define VERDANTURF_TENT_MON_TENTACOOL 38
+#define VERDANTURF_TENT_MON_VIGOROTH 39
+#define VERDANTURF_TENT_MON_WAILMER 40
+#define VERDANTURF_TENT_MON_ILLUMISE 41
+#define VERDANTURF_TENT_MON_MACHOKE 42
+#define VERDANTURF_TENT_MON_WHISMUR 43
+#define VERDANTURF_TENT_MON_CACNEA 44
+
+#define NUM_VERDANTURF_TENT_MONS 45
+
+#define FALLARBOR_TENT_MON_NUMEL 0
+#define FALLARBOR_TENT_MON_LINOONE_1 1
+#define FALLARBOR_TENT_MON_PLUSLE 2
+#define FALLARBOR_TENT_MON_POOCHYENA 3
+#define FALLARBOR_TENT_MON_KECLEON 4
+#define FALLARBOR_TENT_MON_MAGIKARP 5
+#define FALLARBOR_TENT_MON_SOLROCK 6
+#define FALLARBOR_TENT_MON_MAKUHITA 7
+#define FALLARBOR_TENT_MON_MACHOKE 8
+#define FALLARBOR_TENT_MON_NINCADA 9
+#define FALLARBOR_TENT_MON_BEAUTIFLY 10
+#define FALLARBOR_TENT_MON_DUSTOX 11
+#define FALLARBOR_TENT_MON_ILLUMISE 12
+#define FALLARBOR_TENT_MON_VOLBEAT 13
+#define FALLARBOR_TENT_MON_NINJASK_1 14
+#define FALLARBOR_TENT_MON_NINJASK_2 15
+#define FALLARBOR_TENT_MON_ARON_1 16
+#define FALLARBOR_TENT_MON_ARON_2 17
+#define FALLARBOR_TENT_MON_ELECTRIKE 18
+#define FALLARBOR_TENT_MON_MAGNEMITE 19
+#define FALLARBOR_TENT_MON_VOLTORB 20
+#define FALLARBOR_TENT_MON_WHISMUR 21
+#define FALLARBOR_TENT_MON_LOUDRED 22
+#define FALLARBOR_TENT_MON_LINOONE_2 23
+#define FALLARBOR_TENT_MON_MIGHTYENA 24
+#define FALLARBOR_TENT_MON_SWABLU 25
+#define FALLARBOR_TENT_MON_SKARMORY 26
+#define FALLARBOR_TENT_MON_GOLBAT 27
+#define FALLARBOR_TENT_MON_WINGULL 28
+#define FALLARBOR_TENT_MON_PELIPPER 29
+#define FALLARBOR_TENT_MON_BARBOACH 30
+#define FALLARBOR_TENT_MON_WAILMER 31
+#define FALLARBOR_TENT_MON_MARILL 32
+#define FALLARBOR_TENT_MON_GOLDEEN_1 33
+#define FALLARBOR_TENT_MON_GOLDEEN_2 34
+#define FALLARBOR_TENT_MON_TRAPINCH 35
+#define FALLARBOR_TENT_MON_BALTOY 36
+#define FALLARBOR_TENT_MON_GRAVELER 37
+#define FALLARBOR_TENT_MON_SANDSHREW 38
+#define FALLARBOR_TENT_MON_SWALOT 39
+#define FALLARBOR_TENT_MON_SHROOMISH 40
+#define FALLARBOR_TENT_MON_KIRLIA 41
+#define FALLARBOR_TENT_MON_LOMBRE 42
+#define FALLARBOR_TENT_MON_NUZLEAF 43
+#define FALLARBOR_TENT_MON_CACNEA 44
+
+#define NUM_FALLARBOR_TENT_MONS 45
+
+#endif // GUARD_CONSTANTS_BATTLE_TENT_MONS_H
diff --git a/include/constants/battle_tent_trainers.h b/include/constants/battle_tent_trainers.h
new file mode 100644
index 000000000..3629da0ca
--- /dev/null
+++ b/include/constants/battle_tent_trainers.h
@@ -0,0 +1,99 @@
+#ifndef GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H
+#define GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H
+
+#define SLATEPORT_TENT_TRAINER_JOLIE 0
+#define SLATEPORT_TENT_TRAINER_MALACHI 1
+#define SLATEPORT_TENT_TRAINER_KELSIE 2
+#define SLATEPORT_TENT_TRAINER_DAVON 3
+#define SLATEPORT_TENT_TRAINER_GLENDA 4
+#define SLATEPORT_TENT_TRAINER_HELENA 5
+#define SLATEPORT_TENT_TRAINER_RODOLFO 6
+#define SLATEPORT_TENT_TRAINER_DAVION 7
+#define SLATEPORT_TENT_TRAINER_KENDALL 8
+#define SLATEPORT_TENT_TRAINER_COLTEN 9
+#define SLATEPORT_TENT_TRAINER_IRVIN 10
+#define SLATEPORT_TENT_TRAINER_SHAUN 11
+#define SLATEPORT_TENT_TRAINER_KYLER 12
+#define SLATEPORT_TENT_TRAINER_MAGGIE 13
+#define SLATEPORT_TENT_TRAINER_STEPHON 14
+#define SLATEPORT_TENT_TRAINER_REBECCA 15
+#define SLATEPORT_TENT_TRAINER_REGGIE 16
+#define SLATEPORT_TENT_TRAINER_JANAE 17
+#define SLATEPORT_TENT_TRAINER_CAIDEN 18
+#define SLATEPORT_TENT_TRAINER_KIRSTEN 19
+#define SLATEPORT_TENT_TRAINER_KURTIS 20
+#define SLATEPORT_TENT_TRAINER_STEFAN 21
+#define SLATEPORT_TENT_TRAINER_AVERY 22
+#define SLATEPORT_TENT_TRAINER_DWANE 23
+#define SLATEPORT_TENT_TRAINER_MCKENNA 24
+#define SLATEPORT_TENT_TRAINER_CAMRYN 25
+#define SLATEPORT_TENT_TRAINER_NATASHA 26
+#define SLATEPORT_TENT_TRAINER_AUSTYN 27
+#define SLATEPORT_TENT_TRAINER_DONOVAN 28
+#define SLATEPORT_TENT_TRAINER_TAMIA 29
+
+#define VERDANTURF_TENT_TRAINER_BRENNA 0
+#define VERDANTURF_TENT_TRAINER_DILAN 1
+#define VERDANTURF_TENT_TRAINER_ELIANA 2
+#define VERDANTURF_TENT_TRAINER_MARKUS 3
+#define VERDANTURF_TENT_TRAINER_CAITLYN 4
+#define VERDANTURF_TENT_TRAINER_DESIREE 5
+#define VERDANTURF_TENT_TRAINER_RONALD 6
+#define VERDANTURF_TENT_TRAINER_ASHTEN 7
+#define VERDANTURF_TENT_TRAINER_GERARD 8
+#define VERDANTURF_TENT_TRAINER_BRADLY 9
+#define VERDANTURF_TENT_TRAINER_DENNIS 10
+#define VERDANTURF_TENT_TRAINER_PRESTIN 11
+#define VERDANTURF_TENT_TRAINER_ERNESTO 12
+#define VERDANTURF_TENT_TRAINER_NALA 13
+#define VERDANTURF_TENT_TRAINER_DARNELL 14
+#define VERDANTURF_TENT_TRAINER_ASHLYN 15
+#define VERDANTURF_TENT_TRAINER_ADDISON 16
+#define VERDANTURF_TENT_TRAINER_JUSTINE 17
+#define VERDANTURF_TENT_TRAINER_TYSON 18
+#define VERDANTURF_TENT_TRAINER_LAILA 19
+#define VERDANTURF_TENT_TRAINER_WAREN 20
+#define VERDANTURF_TENT_TRAINER_TOBIAS 21
+#define VERDANTURF_TENT_TRAINER_JOSIAH 22
+#define VERDANTURF_TENT_TRAINER_DION 23
+#define VERDANTURF_TENT_TRAINER_KENZIE 24
+#define VERDANTURF_TENT_TRAINER_LILLIAN 25
+#define VERDANTURF_TENT_TRAINER_LESLEY 26
+#define VERDANTURF_TENT_TRAINER_MARQUIS 27
+#define VERDANTURF_TENT_TRAINER_FREDDY 28
+#define VERDANTURF_TENT_TRAINER_CECILIA 29
+
+#define FALLARBOR_TENT_TRAINER_AMBER 0
+#define FALLARBOR_TENT_TRAINER_JAVIER 1
+#define FALLARBOR_TENT_TRAINER_NATALIA 2
+#define FALLARBOR_TENT_TRAINER_TREVE 3
+#define FALLARBOR_TENT_TRAINER_ARIANNA 4
+#define FALLARBOR_TENT_TRAINER_JADYN 5
+#define FALLARBOR_TENT_TRAINER_GERARDO 6
+#define FALLARBOR_TENT_TRAINER_JONN 7
+#define FALLARBOR_TENT_TRAINER_ESTEBAN 8
+#define FALLARBOR_TENT_TRAINER_JAMESON 9
+#define FALLARBOR_TENT_TRAINER_ALANZO 10
+#define FALLARBOR_TENT_TRAINER_HOWARD 11
+#define FALLARBOR_TENT_TRAINER_CONRAD 12
+#define FALLARBOR_TENT_TRAINER_MAKENNA 13
+#define FALLARBOR_TENT_TRAINER_BRAYAN 14
+#define FALLARBOR_TENT_TRAINER_MARIANA 15
+#define FALLARBOR_TENT_TRAINER_SHELDON 16
+#define FALLARBOR_TENT_TRAINER_GIANNA 17
+#define FALLARBOR_TENT_TRAINER_YAHIR 18
+#define FALLARBOR_TENT_TRAINER_BRITNEY 19
+#define FALLARBOR_TENT_TRAINER_HECTER 20
+#define FALLARBOR_TENT_TRAINER_TANNOR 21
+#define FALLARBOR_TENT_TRAINER_BENJI 22
+#define FALLARBOR_TENT_TRAINER_RORY 23
+#define FALLARBOR_TENT_TRAINER_ELEANOR 24
+#define FALLARBOR_TENT_TRAINER_EVELYN 25
+#define FALLARBOR_TENT_TRAINER_ARIELLE 26
+#define FALLARBOR_TENT_TRAINER_CONNAR 27
+#define FALLARBOR_TENT_TRAINER_MAURICE 28
+#define FALLARBOR_TENT_TRAINER_KIANNA 29
+
+#define NUM_BATTLE_TENT_TRAINERS 30
+
+#endif // GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H
diff --git a/include/constants/battle_tower.h b/include/constants/battle_tower.h
new file mode 100644
index 000000000..b372c3ad5
--- /dev/null
+++ b/include/constants/battle_tower.h
@@ -0,0 +1,41 @@
+#ifndef GUARD_CONSTANTS_BATTLE_TOWER_H
+#define GUARD_CONSTANTS_BATTLE_TOWER_H
+
+#define BATTLE_TOWER_FUNC_INIT 0
+#define BATTLE_TOWER_FUNC_GET_DATA 1
+#define BATTLE_TOWER_FUNC_SET_DATA 2
+#define BATTLE_TOWER_FUNC_SET_OPPONENT 3
+#define BATTLE_TOWER_FUNC_SET_BATTLE_WON 4
+#define BATTLE_TOWER_FUNC_GIVE_RIBBONS 5
+#define BATTLE_TOWER_FUNC_SAVE 6
+#define BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO 7
+#define BATTLE_TOWER_FUNC_NOP 8
+#define BATTLE_TOWER_FUNC_NOP2 9
+#define BATTLE_TOWER_FUNC_LOAD_PARTNERS 10
+#define BATTLE_TOWER_FUNC_PARTNER_MSG 11
+#define BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS 12
+#define BATTLE_TOWER_FUNC_13 13
+#define BATTLE_TOWER_FUNC_SET_PARTNER_GFX 14
+#define BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA 15
+
+#define TOWER_DATA_WIN_STREAK 1
+#define TOWER_DATA_WIN_STREAK_ACTIVE 2
+#define TOWER_DATA_LVL_MODE 3
+
+// IDs for the messages printed by potential partners in the Battle Tower Multi Partner Room
+#define PARTNER_MSGID_INTRO 0
+#define PARTNER_MSGID_MON1 1
+#define PARTNER_MSGID_MON2_ASK 2
+#define PARTNER_MSGID_ACCEPT 3
+#define PARTNER_MSGID_REJECT 4
+
+// IDs for communicating with the Link Multi partner
+#define BATTLE_TOWER_LINK_CONTINUE 0
+#define BATTLE_TOWER_LINK_RETIRE 1
+
+#define BATTLE_TOWER_LINKSTAT_CONTINUE 0
+#define BATTLE_TOWER_LINKSTAT_BOTH_RETIRE 1
+#define BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE 2
+#define BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE 3
+
+#endif //GUARD_CONSTANTS_BATTLE_TOWER_H
diff --git a/include/constants/berry.h b/include/constants/berry.h
new file mode 100644
index 000000000..d413b9947
--- /dev/null
+++ b/include/constants/berry.h
@@ -0,0 +1,28 @@
+#ifndef GUARD_CONSTANTS_BERRY_H
+#define GUARD_CONSTANTS_BERRY_H
+
+#define BERRY_NONE 0
+
+#define BERRY_FIRMNESS_UNKNOWN 0
+#define BERRY_FIRMNESS_VERY_SOFT 1
+#define BERRY_FIRMNESS_SOFT 2
+#define BERRY_FIRMNESS_HARD 3
+#define BERRY_FIRMNESS_VERY_HARD 4
+#define BERRY_FIRMNESS_SUPER_HARD 5
+
+#define FLAVOR_SPICY 0
+#define FLAVOR_DRY 1
+#define FLAVOR_SWEET 2
+#define FLAVOR_BITTER 3
+#define FLAVOR_SOUR 4
+#define FLAVOR_COUNT 5
+
+#define BERRY_STAGE_NO_BERRY 0 // there is no tree planted and the soil is completely flat.
+#define BERRY_STAGE_PLANTED 1
+#define BERRY_STAGE_SPROUTED 2
+#define BERRY_STAGE_TALLER 3
+#define BERRY_STAGE_FLOWERING 4
+#define BERRY_STAGE_BERRIES 5
+#define BERRY_STAGE_SPARKLING 255
+
+#endif // GUARD_CONSTANTS_BERRY_H
diff --git a/include/constants/cable_club.h b/include/constants/cable_club.h
new file mode 100644
index 000000000..f2aa4120c
--- /dev/null
+++ b/include/constants/cable_club.h
@@ -0,0 +1,15 @@
+#ifndef GUARD_CONSTANTS_CABLE_CLUB_H
+#define GUARD_CONSTANTS_CABLE_CLUB_H
+
+// States for VAR_CABLE_CLUB_STATE
+#define USING_SINGLE_BATTLE 1
+#define USING_DOUBLE_BATTLE 2
+#define USING_TRADE_CENTER 3
+#define USING_RECORD_CORNER 4
+#define USING_MULTI_BATTLE 5
+#define USING_UNION_ROOM 6
+#define USING_BERRY_CRUSH 7
+#define USING_MINIGAME 8
+#define USING_BATTLE_TOWER 9
+
+#endif //GUARD_CONSTANTS_CABLE_CLUB_H
diff --git a/include/constants/coins.h b/include/constants/coins.h
new file mode 100644
index 000000000..fd68f3f9e
--- /dev/null
+++ b/include/constants/coins.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_CONSTANTS_COINS_H
+#define GUARD_CONSTANTS_COINS_H
+
+#define MAX_COINS 9999
+
+#endif // GUARD_CONSTANTS_COINS_H \ No newline at end of file
diff --git a/include/constants/contest.h b/include/constants/contest.h
index d3296222b..186c56e2b 100644
--- a/include/constants/contest.h
+++ b/include/constants/contest.h
@@ -9,6 +9,19 @@
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)
+#define CONTEST_RANK_NORMAL 0
+#define CONTEST_RANK_SUPER 1
+#define CONTEST_RANK_HYPER 2
+#define CONTEST_RANK_MASTER 3
+#define CONTEST_RANK_LINK 4
+
+// States for VAR_CONTEST_TYPE
+#define CONTEST_TYPE_NPC_NORMAL (CONTEST_RANK_NORMAL + 1)
+#define CONTEST_TYPE_NPC_SUPER (CONTEST_RANK_SUPER + 1)
+#define CONTEST_TYPE_NPC_HYPER (CONTEST_RANK_HYPER + 1)
+#define CONTEST_TYPE_NPC_MASTER (CONTEST_RANK_MASTER + 1)
+#define CONTEST_TYPE_LINK (CONTEST_RANK_LINK + 1)
+
#define CONTEST_CATEGORY_COOL 0
#define CONTEST_CATEGORY_BEAUTY 1
#define CONTEST_CATEGORY_CUTE 2
@@ -16,4 +29,10 @@
#define CONTEST_CATEGORY_TOUGH 4
#define CONTEST_CATEGORIES_COUNT 5
+#define CANT_ENTER_CONTEST 0
+#define CAN_ENTER_CONTEST_EQUAL_RANK 1
+#define CAN_ENTER_CONTEST_HIGH_RANK 2
+#define CANT_ENTER_CONTEST_EGG 3
+#define CANT_ENTER_CONTEST_FAINTED 4
+
#endif // GUARD_CONSTANTS_CONTEST_H
diff --git a/include/constants/daycare.h b/include/constants/daycare.h
new file mode 100644
index 000000000..103f920f2
--- /dev/null
+++ b/include/constants/daycare.h
@@ -0,0 +1,27 @@
+#ifndef GUARD_DAYCARE_CONSTANTS_H
+#define GUARD_DAYCARE_CONSTANTS_H
+
+// Parent compatability scores
+#define PARENTS_INCOMPATIBLE 0
+#define PARENTS_LOW_COMPATIBILITY 20
+#define PARENTS_MED_COMPATABILITY 50
+#define PARENTS_MAX_COMPATABILITY 70
+
+// Daycare state
+#define DAYCARE_NO_MONS 0
+#define DAYCARE_EGG_WAITING 1
+#define DAYCARE_ONE_MON 2
+#define DAYCARE_TWO_MONS 3
+
+#define INHERITED_IV_COUNT 3
+#define EGG_HATCH_LEVEL 5
+#define EGG_GENDER_MALE 0x8000 // used to create a male egg from a female-only parent species (e.g. Nidoran)
+
+#define DAYCARE_LEVEL_MENU_EXIT 5
+#define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value
+
+// Array buffers
+#define EGG_MOVES_ARRAY_COUNT 10
+#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
+
+#endif //GUARD_DAYCARE_CONSTANTS_H
diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h
index 50f5994f4..8e82cfef0 100644
--- a/include/constants/easy_chat.h
+++ b/include/constants/easy_chat.h
@@ -1095,6 +1095,15 @@
#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e
#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f
#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20
+#define NUM_ADDITIONAL_PHRASES 33
+
+// Special Berry Masters Wife phrases
+#define NOT_SPECIAL_PHRASE 0
+#define PHRASE_GREAT_BATTLE 1
+#define PHRASE_CHALLENGE_CONTEST 2
+#define PHRASE_OVERWHELMING_LATIAS 3
+#define PHRASE_COOL_LATIOS 4
+#define PHRASE_SUPER_HUSTLE 5
#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)
#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon)
diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement_constants.h
index b1f9b4cb5..ed6f6c7fb 100755
--- a/include/constants/event_object_movement_constants.h
+++ b/include/constants/event_object_movement_constants.h
@@ -179,8 +179,8 @@
#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D
#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E
#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F
-#define MOVEMENT_ACTION_UNKNOWN1 0x60
-#define MOVEMENT_ACTION_UNKNOWN2 0x61
+#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60
+#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61
#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62
#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64
diff --git a/include/constants/field_poison.h b/include/constants/field_poison.h
new file mode 100644
index 000000000..19b91e7c2
--- /dev/null
+++ b/include/constants/field_poison.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_CONSTANTS_FIELD_POISON_H
+#define GUARD_CONSTANTS_FIELD_POISON_H
+
+#define FLDPSN_NONE 0
+#define FLDPSN_PSN 1
+#define FLDPSN_FNT 2
+
+#define FLDPSN_NO_WHITEOUT 0
+#define FLDPSN_WHITEOUT 1
+#define FLDPSN_FRONTIER_WHITEOUT 2
+
+#endif //GUARD_CONSTANTS_FIELD_POISON_H
diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h
new file mode 100644
index 000000000..a2dc117e4
--- /dev/null
+++ b/include/constants/field_specials.h
@@ -0,0 +1,78 @@
+#ifndef GUARD_CONSTANTS_FIELD_SPECIALS_H
+#define GUARD_CONSTANTS_FIELD_SPECIALS_H
+
+// PC Locations
+#define PC_LOCATION_OTHER 0
+#define PC_LOCATION_BRENDANS_HOUSE 1
+#define PC_LOCATION_MAYS_HOUSE 2
+
+// SS Tidal Locations
+#define SS_TIDAL_LOCATION_CURRENTS 0
+#define SS_TIDAL_LOCATION_SLATEPORT 1
+#define SS_TIDAL_LOCATION_LILYCOVE 2
+#define SS_TIDAL_LOCATION_ROUTE124 3
+#define SS_TIDAL_LOCATION_ROUTE131 4
+
+#define SS_TIDAL_BOARD_SLATEPORT 1
+#define SS_TIDAL_DEPART_SLATEPORT 2
+#define SS_TIDAL_HALFWAY_LILYCOVE 3
+#define SS_TIDAL_LAND_LILYCOVE 4
+#define SS_TIDAL_BOARD_LILYCOVE 5
+#define SS_TIDAL_DEPART_LILYCOVE 6
+#define SS_TIDAL_HALFWAY_SLATEPORT 7
+#define SS_TIDAL_LAND_SLATEPORT 8
+#define SS_TIDAL_EXIT_CURRENTS_RIGHT 9
+#define SS_TIDAL_EXIT_CURRENTS_LEFT 10
+
+#define SS_TIDAL_MAX_STEPS 205
+
+// Scrollable Multichoice Menus
+#define SCROLL_MULTI_NONE 0
+#define SCROLL_MULTI_GLASS_WORKSHOP_VENDOR 1
+#define SCROLL_MULTI_POKEMON_FAN_CLUB_RATER 2
+#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1 3
+#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2 4
+#define SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR 5
+#define SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR 6
+#define SCROLL_MULTI_BERRY_POWDER_VENDOR 7
+#define SCROLL_MULTI_BF_RECEPTIONIST 8
+#define SCROLL_MULTI_BF_MOVE_TUTOR_1 9
+#define SCROLL_MULTI_BF_MOVE_TUTOR_2 10
+#define SCROLL_MULTI_SS_TIDAL_DESTINATION 11
+#define SCROLL_MULTI_BATTLE_TENT_RULES 12
+
+#define MAX_SCROLL_MULTI_ON_SCREEN 6
+#define MAX_SCROLL_MULTI_LENGTH 16
+
+// Dept Store Floor Numbers
+#define DEPT_STORE_FLOORNUM_B4F 0
+#define DEPT_STORE_FLOORNUM_B3F 1
+#define DEPT_STORE_FLOORNUM_B2F 2
+#define DEPT_STORE_FLOORNUM_B1F 3
+#define DEPT_STORE_FLOORNUM_1F 4
+#define DEPT_STORE_FLOORNUM_2F 5
+#define DEPT_STORE_FLOORNUM_3F 6
+#define DEPT_STORE_FLOORNUM_4F 7
+#define DEPT_STORE_FLOORNUM_5F 8
+#define DEPT_STORE_FLOORNUM_6F 9
+#define DEPT_STORE_FLOORNUM_7F 10
+#define DEPT_STORE_FLOORNUM_8F 11
+#define DEPT_STORE_FLOORNUM_9F 12
+#define DEPT_STORE_FLOORNUM_10F 13
+#define DEPT_STORE_FLOORNUM_11F 14
+#define DEPT_STORE_FLOORNUM_ROOFTOP 15
+
+// Lilycove Pokemon Trainer Fan Club
+#define NUM_TRAINER_FAN_CLUB_MEMBERS 8
+
+#define FANCLUB_GOT_FIRST_FANS 7
+#define FANCLUB_MEMBER1 8
+#define FANCLUB_MEMBER2 9
+#define FANCLUB_MEMBER3 10
+#define FANCLUB_MEMBER4 11
+#define FANCLUB_MEMBER5 12
+#define FANCLUB_MEMBER6 13
+#define FANCLUB_MEMBER7 14
+#define FANCLUB_MEMBER8 15
+
+#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H
diff --git a/include/constants/field_tasks.h b/include/constants/field_tasks.h
new file mode 100644
index 000000000..7f773855d
--- /dev/null
+++ b/include/constants/field_tasks.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_CONSTANTS_FIELD_TASKS_H
+#define GUARD_CONSTANTS_FIELD_TASKS_H
+
+#define STEP_CB_DUMMY 0
+#define STEP_CB_ASH 1
+#define STEP_CB_FORTREE_BRIDGE 2
+#define STEP_CB_PACIFIDLOG_BRIDGE 3
+#define STEP_CB_SOOTOPOLIS_ICE 4
+#define STEP_CB_TRUCK 5
+#define STEP_CB_SECRET_BASE 6
+#define STEP_CB_CRACKED_FLOOR 7
+
+#endif // GUARD_CONSTANTS_FIELD_TASKS_H
diff --git a/include/constants/field_weather.h b/include/constants/field_weather.h
new file mode 100644
index 000000000..e84dbc48c
--- /dev/null
+++ b/include/constants/field_weather.h
@@ -0,0 +1,24 @@
+#ifndef GUARD_CONSTANTS_FIELD_WEATHER_H
+#define GUARD_CONSTANTS_FIELD_WEATHER_H
+
+#define MAX_RAIN_SPRITES 24
+#define NUM_CLOUD_SPRITES 3
+#define NUM_FOG_HORIZONTAL_SPRITES 20
+#define NUM_ASH_SPRITES 20
+#define NUM_FOG_DIAGONAL_SPRITES 20
+#define NUM_SANDSTORM_SPRITES 20
+#define NUM_SWIRL_SANDSTORM_SPRITES 5
+
+// Controls how the weather should be changing the screen palettes.
+#define WEATHER_PAL_STATE_CHANGING_WEATHER 0
+#define WEATHER_PAL_STATE_SCREEN_FADING_IN 1
+#define WEATHER_PAL_STATE_SCREEN_FADING_OUT 2
+#define WEATHER_PAL_STATE_IDLE 3
+
+// Modes for FadeScreen
+#define FADE_FROM_BLACK 0
+#define FADE_TO_BLACK 1
+#define FADE_FROM_WHITE 2
+#define FADE_TO_WHITE 3
+
+#endif // GUARD_CONSTANTS_FIELD_WEATHER_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 7aa5c3ed3..1163e394f 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1,41 +1,45 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
+#include "constants/opponents.h"
+
// Temporary Flags
// These temporary flags are are cleared every time a map is loaded. They are used
// for things like shortening an NPCs introduction text if the player already spoke
// to them once.
-#define FLAG_TEMP_1 0x1
-#define FLAG_TEMP_2 0x2
-#define FLAG_TEMP_3 0x3
-#define FLAG_TEMP_4 0x4
-#define FLAG_TEMP_5 0x5 // Unused Flag
-#define FLAG_TEMP_6 0x6 // Unused Flag
-#define FLAG_TEMP_7 0x7 // Unused Flag
-#define FLAG_TEMP_8 0x8 // Unused Flag
-#define FLAG_TEMP_9 0x9 // Unused Flag
-#define FLAG_TEMP_A 0xA // Unused Flag
-#define FLAG_TEMP_B 0xB // Unused Flag
-#define FLAG_TEMP_C 0xC // Unused Flag
-#define FLAG_TEMP_D 0xD // Unused Flag
-#define FLAG_TEMP_E 0xE // Unused Flag
-#define FLAG_TEMP_F 0xF // Unused Flag
-#define FLAG_TEMP_10 0x10 // Unused Flag
-#define FLAG_TEMP_11 0x11
-#define FLAG_TEMP_12 0x12
-#define FLAG_TEMP_13 0x13
-#define FLAG_TEMP_14 0x14
-#define FLAG_TEMP_15 0x15
-#define FLAG_TEMP_16 0x16
-#define FLAG_TEMP_17 0x17
-#define FLAG_TEMP_18 0x18
-#define FLAG_TEMP_19 0x19
-#define FLAG_TEMP_1A 0x1A
-#define FLAG_TEMP_1B 0x1B
-#define FLAG_TEMP_1C 0x1C
-#define FLAG_TEMP_1D 0x1D
-#define FLAG_TEMP_1E 0x1E
-#define FLAG_TEMP_1F 0x1F
+#define TEMP_FLAGS_START 0x0
+#define FLAG_TEMP_1 (TEMP_FLAGS_START + 0x1)
+#define FLAG_TEMP_2 (TEMP_FLAGS_START + 0x2)
+#define FLAG_TEMP_3 (TEMP_FLAGS_START + 0x3)
+#define FLAG_TEMP_4 (TEMP_FLAGS_START + 0x4)
+#define FLAG_TEMP_5 (TEMP_FLAGS_START + 0x5) // Unused Flag
+#define FLAG_TEMP_6 (TEMP_FLAGS_START + 0x6) // Unused Flag
+#define FLAG_TEMP_7 (TEMP_FLAGS_START + 0x7) // Unused Flag
+#define FLAG_TEMP_8 (TEMP_FLAGS_START + 0x8) // Unused Flag
+#define FLAG_TEMP_9 (TEMP_FLAGS_START + 0x9) // Unused Flag
+#define FLAG_TEMP_A (TEMP_FLAGS_START + 0xA) // Unused Flag
+#define FLAG_TEMP_B (TEMP_FLAGS_START + 0xB) // Unused Flag
+#define FLAG_TEMP_C (TEMP_FLAGS_START + 0xC) // Unused Flag
+#define FLAG_TEMP_D (TEMP_FLAGS_START + 0xD) // Unused Flag
+#define FLAG_TEMP_E (TEMP_FLAGS_START + 0xE) // Unused Flag
+#define FLAG_TEMP_F (TEMP_FLAGS_START + 0xF) // Unused Flag
+#define FLAG_TEMP_10 (TEMP_FLAGS_START + 0x10) // Unused Flag
+#define FLAG_TEMP_11 (TEMP_FLAGS_START + 0x11)
+#define FLAG_TEMP_12 (TEMP_FLAGS_START + 0x12)
+#define FLAG_TEMP_13 (TEMP_FLAGS_START + 0x13)
+#define FLAG_TEMP_14 (TEMP_FLAGS_START + 0x14)
+#define FLAG_TEMP_15 (TEMP_FLAGS_START + 0x15)
+#define FLAG_TEMP_16 (TEMP_FLAGS_START + 0x16)
+#define FLAG_TEMP_17 (TEMP_FLAGS_START + 0x17)
+#define FLAG_TEMP_18 (TEMP_FLAGS_START + 0x18)
+#define FLAG_TEMP_19 (TEMP_FLAGS_START + 0x19)
+#define FLAG_TEMP_1A (TEMP_FLAGS_START + 0x1A)
+#define FLAG_TEMP_1B (TEMP_FLAGS_START + 0x1B)
+#define FLAG_TEMP_1C (TEMP_FLAGS_START + 0x1C)
+#define FLAG_TEMP_1D (TEMP_FLAGS_START + 0x1D)
+#define FLAG_TEMP_1E (TEMP_FLAGS_START + 0x1E)
+#define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F)
+#define TEMP_FLAGS_END FLAG_TEMP_1F
#define FLAG_UNUSED_0x020 0x20 // Unused Flag
#define FLAG_UNUSED_0x021 0x21 // Unused Flag
@@ -87,7 +91,7 @@
#define FLAG_UNUSED_0x04F 0x4F // Unused Flag
// Scripts
-#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT 0x50
+#define FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT 0x50
#define FLAG_SET_WALL_CLOCK 0x51
#define FLAG_RESCUED_BIRCH 0x52
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
@@ -95,7 +99,7 @@
#define FLAG_UNUSED_0x054 0x54 // Unused Flag
#define FLAG_UNUSED_0x055 0x55 // Unused Flag
-#define FLAG_LINK_CONTEST_POKE_BALL 0x56
+#define FLAG_HIDE_CONTEST_POKE_BALL 0x56 // Always set after new game, object it hides is added directly
#define FLAG_MET_RIVAL_MOM 0x57
#define FLAG_BIRCH_AIDE_MET 0x58
#define FLAG_DECLINED_BIKE 0x59
@@ -109,23 +113,23 @@
#define FLAG_MET_TEAM_AQUA_HARBOR 0x61
#define FLAG_TV_EXPLAINED 0x62
#define FLAG_MAUVILLE_GYM_BARRIERS_STATE 0x63
-#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64
-#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65
-#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66
-#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67
+#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 // Leftover from the RS version of Mossdeep Gym, functionally unused
+#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 //
+#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 //
+#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 //
#define FLAG_UNUSED_0x068 0x68 // Unused Flag
#define FLAG_OCEANIC_MUSEUM_MET_REPORTER 0x69
#define FLAG_RECEIVED_HM04 0x6A
#define FLAG_RECEIVED_HM06 0x6B
-#define FLAG_FLANNERY_GIVES_BADGE_INFO 0x6C
+#define FLAG_WHITEOUT_TO_LAVARIDGE 0x6C // Set after defeating Flannery, so the player cant white out from poison before receiving Go Goggles
#define FLAG_RECEIVED_HM05 0x6D
#define FLAG_RECEIVED_HM02 0x6E
#define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x6F
#define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x70
#define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin.
-#define FLAG_SCOTT_CALL_NATIONAL_DEX 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal.
+#define FLAG_SCOTT_CALL_BATTLE_FRONTIER 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal.
#define FLAG_RECEIVED_METEORITE 0x73
#define FLAG_ADVENTURE_STARTED 0x74 // RECEIVED Pokédex.
#define FLAG_DEFEATED_MAGMA_SPACE_CENTER 0x75 // Set when Team Magma is defeated at Mossdeep's Space Center.
@@ -146,12 +150,12 @@
#define FLAG_DEFEATED_RIVAL_ROUTE103 0x82
#define FLAG_RECEIVED_DOLL_LANETTE 0x83
#define FLAG_RECEIVED_POTION_OLDALE 0x84
-#define FLAG_MOM_SAYS_GOODBYE 0x85
+#define FLAG_RECEIVED_AMULET_COIN 0x85
#define FLAG_PENDING_DAYCARE_EGG 0x86
#define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87
#define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally.
#define FLAG_RECEIVED_HM01 0x89
-#define FLAG_REGISTER_WINONA_POKENAV 0x8A // Set after obtaining registering Winona, and cleared after Scott's call.
+#define FLAG_SCOTT_CALL_FORTREE_GYM 0x8A // Triggers call from Scott after defeating Winona
#define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x8B
#define FLAG_RECEIVED_6_SODA_POP 0x8C
#define FLAG_DEFEATED_SEASHORE_HOUSE 0x8D
@@ -163,9 +167,7 @@
#define FLAG_MR_BRINEY_SAILING_INTRO 0x93
#define FLAG_DOCK_REJECTED_DEVON_GOODS 0x94
#define FLAG_DELIVERED_DEVON_GOODS 0x95
-
-#define FLAG_UNUSED_0x096 0x96 // Unused Flag
-
+#define FLAG_RECEIVED_CONTEST_PASS 0x96 // Unused, leftover from R/S
#define FLAG_RECEIVED_CASTFORM 0x97
#define FLAG_RECEIVED_SUPER_ROD 0x98
#define FLAG_RUSTBORO_NPC_TRADE_COMPLETED 0x99
@@ -209,11 +211,11 @@
#define FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F 0xBF
#define FLAG_RECEIVED_SUN_STONE_MOSSDEEP 0xC0
#define FLAG_WALLY_SPEECH 0xC1
-#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0xC2
-#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0xC3
-#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0xC4
-#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0xC5
-#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0xC6
+#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0xC2 // Leftover from the RS version of Puzzle Room 7, functionally unused
+#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0xC3 //
+#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0xC4 //
+#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0xC5 //
+#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0xC6 //
#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7
#define FLAG_RECEIVED_RED_SCARF 0xC8
#define FLAG_RECEIVED_BLUE_SCARF 0xC9
@@ -263,7 +265,7 @@
#define FLAG_USED_ROOM_2_KEY 0xF1
#define FLAG_USED_ROOM_4_KEY 0xF2
#define FLAG_USED_ROOM_6_KEY 0xF3
-#define FLAG_MET_PROF_COSMO 0xF4
+#define FLAG_MET_PROF_COZMO 0xF4
#define FLAG_RECEIVED_WAILMER_DOLL 0xF5
#define FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 0xF6
#define FLAG_DEFEATED_SS_TIDAL_TRAINERS 0xF7
@@ -289,7 +291,7 @@
#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B
#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C
#define FLAG_RECEIVED_TM46 0x10D
-#define FLAG_CONTEST_SKETCH_CREATED 0x10E
+#define FLAG_CONTEST_SKETCH_CREATED 0x10E // Set but never read
#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F
#define FLAG_RECEIVED_EXP_SHARE 0x110
#define FLAG_POKERUS_EXPLAINED 0x111
@@ -332,10 +334,10 @@
#define FLAG_MET_SCOTT_RUSTBORO 0x136
#define FLAG_WALLACE_GOES_TO_SKY_PILLAR 0x137 // Set after speaking to Wallace within the Cave of Origin.
#define FLAG_RECEIVED_HM07 0x138
-#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139 // Beat Magma Grunt blocking Magma Hideout entrance.
-#define FLAG_RECEIVED_AURORA_TICKET 0x13A // RECEIVED Aurora Ticket in Mystery Gift
-#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B // RECEIVED Mystic Ticket in Mystery Gift
-#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C // RECEIVED Old Sea Map in Mystery Gift
+#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139
+#define FLAG_RECEIVED_AURORA_TICKET 0x13A
+#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B
+#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C
#define FLAG_UNUSED_MYSTERY_GIFT_0x13D 0x13D
#define FLAG_UNUSED_MYSTERY_GIFT_0x13E 0x13E
#define FLAG_UNUSED_MYSTERY_GIFT_0x13F 0x13F
@@ -355,19 +357,19 @@
#define FLAG_UNUSED_MYSTERY_GIFT_0x14D 0x14D
#define FLAG_MIRAGE_TOWER_VISIBLE 0x14E
-#define FLAG_CHOSE_CLAW_FOSSIL 0x14F // Player chose Claw Fossil
-#define FLAG_CHOSE_ROOT_FOSSIL 0x150 // Player chose Root Fossil
+#define FLAG_CHOSE_ROOT_FOSSIL 0x14F
+#define FLAG_CHOSE_CLAW_FOSSIL 0x150
#define FLAG_RECEIVED_POWDER_JAR 0x151
#define FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER 0x152
#define FLAG_MET_BATTLE_FRONTIER_BREEDER 0x153
#define FLAG_MET_BATTLE_FRONTIER_MANIAC 0x154
-#define FLAG_ENTERED_LINK_CONTEST 0x155
+#define FLAG_ENTERED_CONTEST 0x155
#define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x156
-#define FLAG_MET_BATTLE_FRONTIER_BETTOR 0x157
+#define FLAG_MET_BATTLE_FRONTIER_GAMBLER 0x157
#define FLAG_ENABLE_MR_STONE_POKENAV 0x158
-#define FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD 0x159
+#define FLAG_NURSE_MENTIONS_GOLD_CARD 0x159
#define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A
#define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B
@@ -493,7 +495,7 @@
#define FLAG_MET_SCOTT_IN_EVERGRANDE 0x1CF
#define FLAG_MET_SCOTT_ON_SS_TIDAL 0x1D0
#define FLAG_SCOTT_GIVES_BATTLE_POINTS 0x1D1
-#define FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT 0x1D2
+#define FLAG_COLLECTED_ALL_GOLD_SYMBOLS 0x1D2
#define FLAG_ENABLE_ROXANNE_MATCH_CALL 0x1D3
#define FLAG_ENABLE_BRAWLY_MATCH_CALL 0x1D4
#define FLAG_ENABLE_WATTSON_MATCH_CALL 0x1D5
@@ -533,8 +535,6 @@
#define FLAG_MYSTERY_EVENT_14 0x1F2
#define FLAG_MYSTERY_EVENT_15 0x1F3
-#define FLAG_TRICK_HOUSE_END_ROOM 0x1F5 // Trick House End Room Flag
-
// Hidden Items -- sorted by location
#define FLAG_HIDDEN_ITEMS_START 0x1F4
#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01)
@@ -650,6 +650,95 @@
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E)
+#define FLAG_UNUSED_0x264 0x264 // Unused Flag
+#define FLAG_UNUSED_0x265 0x265 // Unused Flag
+#define FLAG_UNUSED_0x266 0x266 // Unused Flag
+#define FLAG_UNUSED_0x267 0x267 // Unused Flag
+#define FLAG_UNUSED_0x268 0x268 // Unused Flag
+#define FLAG_UNUSED_0x269 0x269 // Unused Flag
+#define FLAG_UNUSED_0x26A 0x26A // Unused Flag
+#define FLAG_UNUSED_0x26B 0x26B // Unused Flag
+#define FLAG_UNUSED_0x26C 0x26C // Unused Flag
+#define FLAG_UNUSED_0x26D 0x26D // Unused Flag
+#define FLAG_UNUSED_0x26E 0x26E // Unused Flag
+#define FLAG_UNUSED_0x26F 0x26F // Unused Flag
+#define FLAG_UNUSED_0x270 0x270 // Unused Flag
+#define FLAG_UNUSED_0x271 0x271 // Unused Flag
+#define FLAG_UNUSED_0x272 0x272 // Unused Flag
+#define FLAG_UNUSED_0x273 0x273 // Unused Flag
+#define FLAG_UNUSED_0x274 0x274 // Unused Flag
+#define FLAG_UNUSED_0x275 0x275 // Unused Flag
+#define FLAG_UNUSED_0x276 0x276 // Unused Flag
+#define FLAG_UNUSED_0x277 0x277 // Unused Flag
+#define FLAG_UNUSED_0x278 0x278 // Unused Flag
+#define FLAG_UNUSED_0x279 0x279 // Unused Flag
+#define FLAG_UNUSED_0x27A 0x27A // Unused Flag
+#define FLAG_UNUSED_0x27B 0x27B // Unused Flag
+#define FLAG_UNUSED_0x27C 0x27C // Unused Flag
+#define FLAG_UNUSED_0x27D 0x27D // Unused Flag
+#define FLAG_UNUSED_0x27E 0x27E // Unused Flag
+#define FLAG_UNUSED_0x27F 0x27F // Unused Flag
+#define FLAG_UNUSED_0x280 0x280 // Unused Flag
+#define FLAG_UNUSED_0x281 0x281 // Unused Flag
+#define FLAG_UNUSED_0x282 0x282 // Unused Flag
+#define FLAG_UNUSED_0x283 0x283 // Unused Flag
+#define FLAG_UNUSED_0x284 0x284 // Unused Flag
+#define FLAG_UNUSED_0x285 0x285 // Unused Flag
+#define FLAG_UNUSED_0x286 0x286 // Unused Flag
+#define FLAG_UNUSED_0x287 0x287 // Unused Flag
+#define FLAG_UNUSED_0x288 0x288 // Unused Flag
+#define FLAG_UNUSED_0x289 0x289 // Unused Flag
+#define FLAG_UNUSED_0x28A 0x28A // Unused Flag
+#define FLAG_UNUSED_0x28B 0x28B // Unused Flag
+#define FLAG_UNUSED_0x28C 0x28C // Unused Flag
+#define FLAG_UNUSED_0x28D 0x28D // Unused Flag
+#define FLAG_UNUSED_0x28E 0x28E // Unused Flag
+#define FLAG_UNUSED_0x28F 0x28F // Unused Flag
+#define FLAG_UNUSED_0x290 0x290 // Unused Flag
+#define FLAG_UNUSED_0x291 0x291 // Unused Flag
+#define FLAG_UNUSED_0x292 0x292 // Unused Flag
+#define FLAG_UNUSED_0x293 0x293 // Unused Flag
+#define FLAG_UNUSED_0x294 0x294 // Unused Flag
+#define FLAG_UNUSED_0x295 0x295 // Unused Flag
+#define FLAG_UNUSED_0x296 0x296 // Unused Flag
+#define FLAG_UNUSED_0x297 0x297 // Unused Flag
+#define FLAG_UNUSED_0x298 0x298 // Unused Flag
+#define FLAG_UNUSED_0x299 0x299 // Unused Flag
+#define FLAG_UNUSED_0x29A 0x29A // Unused Flag
+#define FLAG_UNUSED_0x29B 0x29B // Unused Flag
+#define FLAG_UNUSED_0x29C 0x29C // Unused Flag
+#define FLAG_UNUSED_0x29D 0x29D // Unused Flag
+#define FLAG_UNUSED_0x29E 0x29E // Unused Flag
+#define FLAG_UNUSED_0x29F 0x29F // Unused Flag
+#define FLAG_UNUSED_0x2A0 0x2A0 // Unused Flag
+#define FLAG_UNUSED_0x2A1 0x2A1 // Unused Flag
+#define FLAG_UNUSED_0x2A2 0x2A2 // Unused Flag
+#define FLAG_UNUSED_0x2A3 0x2A3 // Unused Flag
+#define FLAG_UNUSED_0x2A4 0x2A4 // Unused Flag
+#define FLAG_UNUSED_0x2A5 0x2A5 // Unused Flag
+#define FLAG_UNUSED_0x2A6 0x2A6 // Unused Flag
+#define FLAG_UNUSED_0x2A7 0x2A7 // Unused Flag
+#define FLAG_UNUSED_0x2A8 0x2A8 // Unused Flag
+#define FLAG_UNUSED_0x2A9 0x2A9 // Unused Flag
+#define FLAG_UNUSED_0x2AA 0x2AA // Unused Flag
+#define FLAG_UNUSED_0x2AB 0x2AB // Unused Flag
+#define FLAG_UNUSED_0x2AC 0x2AC // Unused Flag
+#define FLAG_UNUSED_0x2AD 0x2AD // Unused Flag
+#define FLAG_UNUSED_0x2AE 0x2AE // Unused Flag
+#define FLAG_UNUSED_0x2AF 0x2AF // Unused Flag
+#define FLAG_UNUSED_0x2B0 0x2B0 // Unused Flag
+#define FLAG_UNUSED_0x2B1 0x2B1 // Unused Flag
+#define FLAG_UNUSED_0x2B2 0x2B2 // Unused Flag
+#define FLAG_UNUSED_0x2B3 0x2B3 // Unused Flag
+#define FLAG_UNUSED_0x2B4 0x2B4 // Unused Flag
+#define FLAG_UNUSED_0x2B5 0x2B5 // Unused Flag
+#define FLAG_UNUSED_0x2B6 0x2B6 // Unused Flag
+#define FLAG_UNUSED_0x2B7 0x2B7 // Unused Flag
+#define FLAG_UNUSED_0x2B8 0x2B8 // Unused Flag
+#define FLAG_UNUSED_0x2B9 0x2B9 // Unused Flag
+#define FLAG_UNUSED_0x2BA 0x2BA // Unused Flag
+#define FLAG_UNUSED_0x2BB 0x2BB // Unused Flag
+
// Event Flags
#define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG 0x2BC
#define FLAG_HIDE_APPRENTICE 0x2BD
@@ -690,18 +779,18 @@
#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0
-#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY 0x2E1
+#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE 0x2E1
#define FLAG_HIDE_ROUTE_104_MR_BRINEY 0x2E2
#define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY 0x2E3
#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN 0x2E4
-#define FLAG_HIDE_ROUTE_108_MR_BRINEY 0x2E5
+#define FLAG_HIDE_ROUTE_109_MR_BRINEY 0x2E5
#define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT 0x2E6
#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN 0x2E7
#define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT 0x2E8
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN 0x2E9
-#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN 0x2EA
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY 0x2EA
#define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION 0x2EB
-#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER 0x2EC
+#define FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER 0x2EC
#define FLAG_HIDE_SLATEPORT_CITY_SCOTT 0x2ED
#define FLAG_HIDE_ROUTE_101_ZIGZAGOON 0x2EE
#define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY 0x2EF
@@ -720,7 +809,7 @@
#define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE 0x2FC
#define FLAG_HIDE_MAUVILLE_CITY_SCOTT 0x2FD
#define FLAG_HIDE_VERDANTURF_TOWN_SCOTT 0x2FE
-#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF
+#define FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF
#define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE 0x300
#define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE 0x301
#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302
@@ -760,14 +849,14 @@
#define FLAG_HIDE_MAUVILLE_CITY_WALLY 0x324
#define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE 0x325
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY 0x326
-#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN 0x327
-#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN 0x328
+#define FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND 0x327
+#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND 0x328
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE 0x329
#define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT 0x32A
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL 0x32B
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE 0x32C
#define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN 0x32D
-#define FLAG_HIDE_RUSBORO_CITY_RIVAL 0x32E
+#define FLAG_HIDE_RUSTBORO_CITY_RIVAL 0x32E
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL 0x32F
#define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE 0x330
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL 0x331
@@ -778,16 +867,14 @@
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336
#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337
#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338
-
-#define FLAG_UNUSED_0x339 0x339 // Unused Flag
-
+#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN 0x339 // Unused, leftover from R/S
#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A
#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F
-#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS 0x340
+#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER 0x340
#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341
#define FLAG_HIDE_ROUTE_128_STEVEN 0x342
#define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY 0x343
@@ -828,13 +915,13 @@
#define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x366
#define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE 0x367
#define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x368
-#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT 0x369
+#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT 0x369
#define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x36A
#define FLAG_HIDE_ROUTE_111_PLAYER_DESCENT 0x36B
#define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL 0x36C
#define FLAG_HIDE_MT_CHIMNEY_TRAINERS 0x36D
#define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT 0x36E
-#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN 0x36F
+#define FLAG_HIDE_RUSTURF_TUNNEL_BRINEY 0x36F
#define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO 0x370
#define FLAG_HIDE_BRINEYS_HOUSE_PEEKO 0x371
#define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA 0x372
@@ -849,7 +936,7 @@
#define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x37B
#define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x37C
#define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x37D
-#define FLAG_HIDE_ROUTE_116_TUNNELER 0x37E
+#define FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND 0x37E
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x37F
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x380
#define FLAG_HIDE_ROUTE_101_BIRCH 0x381
@@ -883,9 +970,9 @@
#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D
#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x39E
#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x39F
-#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO 0x3A0
-#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1
-#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2
+#define FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO 0x3A0
+#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL 0x3A1
+#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE 0x3A2
#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3
#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4
#define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL 0x3A5
@@ -925,7 +1012,7 @@
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8
#define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9
-#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA
+#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE 0x3CA
#define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB
#define FLAG_HIDE_ROUTE_120_STEVEN 0x3CC
#define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD
@@ -936,19 +1023,19 @@
#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2
#define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3
#define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4
-#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5
-#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6
-#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN 0x3D7
-#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN 0x3D8
-#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3D9
-#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA
-#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB
-#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC
+#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE 0x3D5
+#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3D6
+#define FLAG_HIDE_RUSTURF_TUNNEL_WANDA 0x3D7
+#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA 0x3D8
+#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D9
+#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3DA
+#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DB
+#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DC
#define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD
#define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE
#define FLAG_HIDE_ROUTE_101_BOY 0x3DF
#define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M 0x3E0
-#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY 0x3E1
+#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON 0x3E1
#define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY 0x3E2
#define FLAG_HIDE_PETALBURG_CITY_SCOTT 0x3E3
#define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA 0x3E4
@@ -1255,13 +1342,17 @@
#define FLAG_UNUSED_0x4FF 0x4FF // Unused Flag
-#define FLAG_TRAINER_FLAG_START 0x500
-#define TRAINERS_FLAG_NO 0x356
+// Trainer Flags
+// Trainer flags occupy 0x500 - 0x85F, the last 9 of which are unused
+// See constants/opponents.h. The values there + FLAG_TRAINER_FLAG_START are the flag IDs
-#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
+#define TRAINER_FLAGS_START 0x500
+#define TRAINER_FLAGS_END (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x85F
// System Flags
+#define SYSTEM_FLAGS (TRAINER_FLAGS_END + 1) // 0x860
+
#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) // FLAG_0x860
#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1)
#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2)
@@ -1400,7 +1491,7 @@
#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYSTEM_FLAGS + 0x75)
#define FLAG_ENABLE_SHIP_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x76)
-#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77)
+#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYSTEM_FLAGS + 0x77)
#define FLAG_ARRIVED_ON_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x78)
#define FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT (SYSTEM_FLAGS + 0x79)
@@ -1481,77 +1572,82 @@
#define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag
// Daily Flags
-#define FLAG_DAILY_0x920 (SYSTEM_FLAGS + 0xC0)
-#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (SYSTEM_FLAGS + 0xC1)
-#define FLAG_DAILY_SECRET_BASE (SYSTEM_FLAGS + 0xC2)
-#define FLAG_DAILY_0x923 (SYSTEM_FLAGS + 0xC3)
-#define FLAG_DAILY_0x924 (SYSTEM_FLAGS + 0xC4)
-#define FLAG_DAILY_0x925 (SYSTEM_FLAGS + 0xC5)
-#define FLAG_DAILY_0x926 (SYSTEM_FLAGS + 0xC6)
-#define FLAG_DAILY_0x927 (SYSTEM_FLAGS + 0xC7)
-#define FLAG_DAILY_0x928 (SYSTEM_FLAGS + 0xC8)
-#define FLAG_DAILY_0x929 (SYSTEM_FLAGS + 0xC9)
-#define FLAG_DAILY_PICKED_LOTO_TICKET (SYSTEM_FLAGS + 0xCA)
-#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCB)
-#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCC)
-#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCD)
-#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCE)
-#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCF)
-#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD0)
-#define FLAG_DAILY_BERRY_MASTERS_WIFE (SYSTEM_FLAGS + 0xD1)
-#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD2)
-#define FLAG_DAILY_0x933 (SYSTEM_FLAGS + 0xD3)
-#define FLAG_DAILY_APPRENTICE_LEAVES (SYSTEM_FLAGS + 0xD4)
-#define FLAG_0x935 (SYSTEM_FLAGS + 0xD5)
-#define FLAG_0x936 (SYSTEM_FLAGS + 0xD6)
-#define FLAG_0x937 (SYSTEM_FLAGS + 0xD7)
-#define FLAG_0x938 (SYSTEM_FLAGS + 0xD8)
-#define FLAG_0x939 (SYSTEM_FLAGS + 0xD9)
-#define FLAG_0x93A (SYSTEM_FLAGS + 0xDA)
-#define FLAG_0x93B (SYSTEM_FLAGS + 0xDB)
-#define FLAG_0x93C (SYSTEM_FLAGS + 0xDC)
-#define FLAG_0x93D (SYSTEM_FLAGS + 0xDD)
-#define FLAG_0x93E (SYSTEM_FLAGS + 0xDE)
-#define FLAG_0x93F (SYSTEM_FLAGS + 0xDF)
-#define FLAG_0x940 (SYSTEM_FLAGS + 0xE0)
-#define FLAG_0x941 (SYSTEM_FLAGS + 0xE1)
-#define FLAG_0x942 (SYSTEM_FLAGS + 0xE2)
-#define FLAG_0x943 (SYSTEM_FLAGS + 0xE3)
-#define FLAG_0x944 (SYSTEM_FLAGS + 0xE4)
-#define FLAG_0x945 (SYSTEM_FLAGS + 0xE5)
-#define FLAG_0x946 (SYSTEM_FLAGS + 0xE6)
-#define FLAG_0x947 (SYSTEM_FLAGS + 0xE7)
-#define FLAG_0x948 (SYSTEM_FLAGS + 0xE8)
-#define FLAG_0x949 (SYSTEM_FLAGS + 0xE9)
-#define FLAG_0x94A (SYSTEM_FLAGS + 0xEA)
-#define FLAG_0x94B (SYSTEM_FLAGS + 0xEB)
-#define FLAG_0x94C (SYSTEM_FLAGS + 0xEC)
-#define FLAG_0x94D (SYSTEM_FLAGS + 0xED)
-#define FLAG_0x94E (SYSTEM_FLAGS + 0xEE)
-#define FLAG_0x94F (SYSTEM_FLAGS + 0xEF)
-#define FLAG_0x950 (SYSTEM_FLAGS + 0xF0)
-#define FLAG_0x951 (SYSTEM_FLAGS + 0xF1)
-#define FLAG_0x952 (SYSTEM_FLAGS + 0xF2)
-#define FLAG_0x953 (SYSTEM_FLAGS + 0xF3)
-#define FLAG_0x954 (SYSTEM_FLAGS + 0xF4)
-#define FLAG_0x955 (SYSTEM_FLAGS + 0xF5)
-#define FLAG_0x956 (SYSTEM_FLAGS + 0xF6)
-#define FLAG_0x957 (SYSTEM_FLAGS + 0xF7)
-#define FLAG_0x958 (SYSTEM_FLAGS + 0xF8)
-#define FLAG_0x959 (SYSTEM_FLAGS + 0xF9)
-#define FLAG_0x95A (SYSTEM_FLAGS + 0xFA)
-#define FLAG_0x95B (SYSTEM_FLAGS + 0xFB)
-#define FLAG_0x95C (SYSTEM_FLAGS + 0xFC)
-#define FLAG_0x95D (SYSTEM_FLAGS + 0xFD)
-#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE)
-#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF)
-
-// Special Flags (Unknown)
-#define SPECIAL_FLAGS_START 0x4000
-#define FLAG_HIDE_MAP_NAME_POPUP 0x4000
-#define FLAG_SPECIAL_FLAG_0x4001 0x4001
-#define FLAG_SPECIAL_FLAG_0x4002 0x4002
-#define FLAG_SPECIAL_FLAG_0x4003 0x4003
-#define FLAG_SPECIAL_FLAG_0x4004 0x4004
+#define DAILY_FLAGS_START 0x920
+#define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag
+#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1)
+#define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2)
+#define FLAG_UNUSED_0x923 (DAILY_FLAGS_START + 0x3) // Unused Flag
+#define FLAG_UNUSED_0x924 (DAILY_FLAGS_START + 0x4) // Unused Flag
+#define FLAG_UNUSED_0x925 (DAILY_FLAGS_START + 0x5) // Unused Flag
+#define FLAG_UNUSED_0x926 (DAILY_FLAGS_START + 0x6) // Unused Flag
+#define FLAG_UNUSED_0x927 (DAILY_FLAGS_START + 0x7) // Unused Flag
+#define FLAG_UNUSED_0x928 (DAILY_FLAGS_START + 0x8) // Unused Flag
+#define FLAG_UNUSED_0x929 (DAILY_FLAGS_START + 0x9) // Unused Flag
+#define FLAG_DAILY_PICKED_LOTO_TICKET (DAILY_FLAGS_START + 0xA)
+#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (DAILY_FLAGS_START + 0xB)
+#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (DAILY_FLAGS_START + 0xC)
+#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (DAILY_FLAGS_START + 0xD)
+#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (DAILY_FLAGS_START + 0xE)
+#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (DAILY_FLAGS_START + 0xF)
+#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (DAILY_FLAGS_START + 0x10)
+#define FLAG_DAILY_BERRY_MASTERS_WIFE (DAILY_FLAGS_START + 0x11)
+#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (DAILY_FLAGS_START + 0x12)
+#define FLAG_UNUSED_0x933 (DAILY_FLAGS_START + 0x13) // Unused Flag
+#define FLAG_DAILY_APPRENTICE_LEAVES (DAILY_FLAGS_START + 0x14)
+
+#define FLAG_UNUSED_0x935 (DAILY_FLAGS_START + 0x15) // Unused Flag
+#define FLAG_UNUSED_0x936 (DAILY_FLAGS_START + 0x16) // Unused Flag
+#define FLAG_UNUSED_0x937 (DAILY_FLAGS_START + 0x17) // Unused Flag
+#define FLAG_UNUSED_0x938 (DAILY_FLAGS_START + 0x18) // Unused Flag
+#define FLAG_UNUSED_0x939 (DAILY_FLAGS_START + 0x19) // Unused Flag
+#define FLAG_UNUSED_0x93A (DAILY_FLAGS_START + 0x1A) // Unused Flag
+#define FLAG_UNUSED_0x93B (DAILY_FLAGS_START + 0x1B) // Unused Flag
+#define FLAG_UNUSED_0x93C (DAILY_FLAGS_START + 0x1C) // Unused Flag
+#define FLAG_UNUSED_0x93D (DAILY_FLAGS_START + 0x1D) // Unused Flag
+#define FLAG_UNUSED_0x93E (DAILY_FLAGS_START + 0x1E) // Unused Flag
+#define FLAG_UNUSED_0x93F (DAILY_FLAGS_START + 0x1F) // Unused Flag
+#define FLAG_UNUSED_0x940 (DAILY_FLAGS_START + 0x20) // Unused Flag
+#define FLAG_UNUSED_0x941 (DAILY_FLAGS_START + 0x21) // Unused Flag
+#define FLAG_UNUSED_0x942 (DAILY_FLAGS_START + 0x22) // Unused Flag
+#define FLAG_UNUSED_0x943 (DAILY_FLAGS_START + 0x23) // Unused Flag
+#define FLAG_UNUSED_0x944 (DAILY_FLAGS_START + 0x24) // Unused Flag
+#define FLAG_UNUSED_0x945 (DAILY_FLAGS_START + 0x25) // Unused Flag
+#define FLAG_UNUSED_0x946 (DAILY_FLAGS_START + 0x26) // Unused Flag
+#define FLAG_UNUSED_0x947 (DAILY_FLAGS_START + 0x27) // Unused Flag
+#define FLAG_UNUSED_0x948 (DAILY_FLAGS_START + 0x28) // Unused Flag
+#define FLAG_UNUSED_0x949 (DAILY_FLAGS_START + 0x29) // Unused Flag
+#define FLAG_UNUSED_0x94A (DAILY_FLAGS_START + 0x2A) // Unused Flag
+#define FLAG_UNUSED_0x94B (DAILY_FLAGS_START + 0x2B) // Unused Flag
+#define FLAG_UNUSED_0x94C (DAILY_FLAGS_START + 0x2C) // Unused Flag
+#define FLAG_UNUSED_0x94D (DAILY_FLAGS_START + 0x2D) // Unused Flag
+#define FLAG_UNUSED_0x94E (DAILY_FLAGS_START + 0x2E) // Unused Flag
+#define FLAG_UNUSED_0x94F (DAILY_FLAGS_START + 0x2F) // Unused Flag
+#define FLAG_UNUSED_0x950 (DAILY_FLAGS_START + 0x30) // Unused Flag
+#define FLAG_UNUSED_0x951 (DAILY_FLAGS_START + 0x31) // Unused Flag
+#define FLAG_UNUSED_0x952 (DAILY_FLAGS_START + 0x32) // Unused Flag
+#define FLAG_UNUSED_0x953 (DAILY_FLAGS_START + 0x33) // Unused Flag
+#define FLAG_UNUSED_0x954 (DAILY_FLAGS_START + 0x34) // Unused Flag
+#define FLAG_UNUSED_0x955 (DAILY_FLAGS_START + 0x35) // Unused Flag
+#define FLAG_UNUSED_0x956 (DAILY_FLAGS_START + 0x36) // Unused Flag
+#define FLAG_UNUSED_0x957 (DAILY_FLAGS_START + 0x37) // Unused Flag
+#define FLAG_UNUSED_0x958 (DAILY_FLAGS_START + 0x38) // Unused Flag
+#define FLAG_UNUSED_0x959 (DAILY_FLAGS_START + 0x39) // Unused Flag
+#define FLAG_UNUSED_0x95A (DAILY_FLAGS_START + 0x3A) // Unused Flag
+#define FLAG_UNUSED_0x95B (DAILY_FLAGS_START + 0x3B) // Unused Flag
+#define FLAG_UNUSED_0x95C (DAILY_FLAGS_START + 0x3C) // Unused Flag
+#define FLAG_UNUSED_0x95D (DAILY_FLAGS_START + 0x3D) // Unused Flag
+#define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag
+#define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag
+#define DAILY_FLAGS_END FLAG_UNUSED_0x95F
+
+// Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock)
+#define SPECIAL_FLAGS_START 0x4000
+#define FLAG_HIDE_MAP_NAME_POPUP (SPECIAL_FLAGS_START + 0x0)
+#define FLAG_DONT_TRANSITION_MUSIC (SPECIAL_FLAGS_START + 0x1)
+#define FLAG_ENABLE_MULTI_CORRIDOR_DOOR (SPECIAL_FLAGS_START + 0x2)
+#define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag
+#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4)
+// FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused
+#define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F)
#endif // GUARD_CONSTANTS_FLAGS_H
diff --git a/include/constants/frontier_util.h b/include/constants/frontier_util.h
new file mode 100644
index 000000000..a310dbb2d
--- /dev/null
+++ b/include/constants/frontier_util.h
@@ -0,0 +1,75 @@
+#ifndef GUARD_CONSTANTS_FRONTIER_UTIL_H
+#define GUARD_CONSTANTS_FRONTIER_UTIL_H
+
+#define FRONTIER_BEFORE_TEXT 0
+#define FRONTIER_PLAYER_LOST_TEXT 1
+#define FRONTIER_PLAYER_WON_TEXT 2
+
+// return values for GetFrontierBrainStatus
+#define FRONTIER_BRAIN_NOT_READY 0
+#define FRONTIER_BRAIN_SILVER 1
+#define FRONTIER_BRAIN_GOLD 2
+#define FRONTIER_BRAIN_STREAK 3 // for encountering the brain after getting both symbols
+#define FRONTIER_BRAIN_STREAK_LONG 4 //
+
+#define FRONTIER_UTIL_FUNC_GET_STATUS 0
+#define FRONTIER_UTIL_FUNC_GET_DATA 1
+#define FRONTIER_UTIL_FUNC_SET_DATA 2
+#define FRONTIER_UTIL_FUNC_SET_PARTY_ORDER 3
+#define FRONTIER_UTIL_FUNC_SOFT_RESET 4
+#define FRONTIER_UTIL_FUNC_SET_TRAINERS 5
+#define FRONTIER_UTIL_FUNC_SAVE_PARTY 6
+#define FRONTIER_UTIL_FUNC_RESULTS_WINDOW 7
+#define FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW 8
+#define FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS 9
+#define FRONTIER_UTIL_FUNC_IS_BRAIN 10
+#define FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS 11
+#define FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS 12
+#define FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL 13
+#define FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE 14
+#define FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE 15
+#define FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER 16
+#define FRONTIER_UTIL_FUNC_INCREMENT_STREAK 17
+#define FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS 18
+#define FRONTIER_UTIL_FUNC_SAVE_BATTLE 19
+#define FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME 20
+#define FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES 21
+#define FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT 22
+
+#define FRONTIER_DATA_CHALLENGE_STATUS 0
+#define FRONTIER_DATA_LVL_MODE 1
+#define FRONTIER_DATA_BATTLE_NUM 2
+#define FRONTIER_DATA_PAUSED 3
+#define FRONTIER_DATA_SELECTED_MON_ORDER 4
+#define FRONTIER_DATA_BATTLE_OUTCOME 5
+#define FRONTIER_DATA_RECORD_DISABLED 6
+#define FRONTIER_DATA_HEARD_BRAIN_SPEECH 7
+
+#define STREAK_TOWER_SINGLES_50 (1 << 0)
+#define STREAK_TOWER_SINGLES_OPEN (1 << 1)
+#define STREAK_DOME_SINGLES_50 (1 << 2)
+#define STREAK_DOME_SINGLES_OPEN (1 << 3)
+#define STREAK_PALACE_SINGLES_50 (1 << 4)
+#define STREAK_PALACE_SINGLES_OPEN (1 << 5)
+#define STREAK_ARENA_50 (1 << 6)
+#define STREAK_ARENA_OPEN (1 << 7)
+#define STREAK_FACTORY_SINGLES_50 (1 << 8)
+#define STREAK_FACTORY_SINGLES_OPEN (1 << 9)
+#define STREAK_PIKE_50 (1 << 10)
+#define STREAK_PIKE_OPEN (1 << 11)
+#define STREAK_PYRAMID_50 (1 << 12)
+#define STREAK_PYRAMID_OPEN (1 << 13)
+#define STREAK_TOWER_DOUBLES_50 (1 << 14)
+#define STREAK_TOWER_DOUBLES_OPEN (1 << 15)
+#define STREAK_TOWER_MULTIS_50 (1 << 16)
+#define STREAK_TOWER_MULTIS_OPEN (1 << 17)
+#define STREAK_TOWER_LINK_MULTIS_50 (1 << 18)
+#define STREAK_TOWER_LINK_MULTIS_OPEN (1 << 19)
+#define STREAK_DOME_DOUBLES_50 (1 << 20)
+#define STREAK_DOME_DOUBLES_OPEN (1 << 21)
+#define STREAK_PALACE_DOUBLES_50 (1 << 22)
+#define STREAK_PALACE_DOUBLES_OPEN (1 << 23)
+#define STREAK_FACTORY_DOUBLES_50 (1 << 24)
+#define STREAK_FACTORY_DOUBLES_OPEN (1 << 25)
+
+#endif // GUARD_CONSTANTS_FRONTIER_UTIL_H
diff --git a/include/constants/global.h b/include/constants/global.h
index a862ecad2..d57307d9c 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -18,12 +18,13 @@
#define VERSION_GAMECUBE 15
#define LANGUAGE_JAPANESE 1
-#define LANGUAGE_ENGLISH 2
-#define LANGUAGE_FRENCH 3
-#define LANGUAGE_ITALIAN 4
-#define LANGUAGE_GERMAN 5
-#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean
-#define LANGUAGE_SPANISH 7
+#define LANGUAGE_ENGLISH 2
+#define LANGUAGE_FRENCH 3
+#define LANGUAGE_ITALIAN 4
+#define LANGUAGE_GERMAN 5
+#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean
+#define LANGUAGE_SPANISH 7
+#define NUM_LANGUAGES 7
#define GAME_VERSION (VERSION_EMERALD)
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
@@ -46,21 +47,42 @@
#define BAG_TMHM_COUNT 64
#define BAG_BERRIES_COUNT 46
#define EVENT_OBJECT_TEMPLATES_COUNT 64
+#define DECOR_MAX_SECRET_BASE 16
+#define DECOR_MAX_PLAYERS_HOUSE 12
+#define APPRENTICE_COUNT 4
+#define APPRENTICE_MAX_QUESTIONS 9
+#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
#define TRAINER_ID_LENGTH 4
+#define MAX_MON_MOVES 4
+#define NUM_STATS 6
+
+// party sizes
+#define PARTY_SIZE 6
+#define MULTI_PARTY_SIZE PARTY_SIZE / 2
+#define FRONTIER_PARTY_SIZE 3
+#define FRONTIER_DOUBLES_PARTY_SIZE 4
+#define FRONTIER_MULTI_PARTY_SIZE 2
+#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE
// string lengths
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 10
#define PLAYER_NAME_LENGTH 7
#define MAIL_WORDS_COUNT 9
+#define EASY_CHAT_BATTLE_WORDS_COUNT 6
#define MOVE_NAME_LENGTH 12
#define MALE 0
#define FEMALE 1
+#define GENDER_COUNT 2
+
+#define BARD_SONG_LENGTH 6
+#define NUM_STORYTELLER_TALES 4
+#define NUM_TRADER_ITEMS 4
#define OPTIONS_BUTTON_MODE_NORMAL 0
#define OPTIONS_BUTTON_MODE_LR 1
diff --git a/include/constants/item.h b/include/constants/item.h
new file mode 100644
index 000000000..a5c34418d
--- /dev/null
+++ b/include/constants/item.h
@@ -0,0 +1,20 @@
+#ifndef GUARD_ITEM_CONSTANTS_H
+#define GUARD_ITEM_CONSTANTS_H
+
+// These constants are used in gItems
+#define POCKET_NONE 0
+#define POCKET_ITEMS 1
+#define POCKET_POKE_BALLS 2
+#define POCKET_TM_HM 3
+#define POCKET_BERRIES 4
+#define POCKET_KEY_ITEMS 5
+
+#define ITEMS_POCKET 0
+#define BALLS_POCKET 1
+#define TMHM_POCKET 2
+#define BERRIES_POCKET 3
+#define KEYITEMS_POCKET 4
+#define POCKETS_COUNT 5
+
+
+#endif // GUARD_ITEM_CONSTANTS_H
diff --git a/include/constants/item_effects.h b/include/constants/item_effects.h
index a5bb77035..49fcedc61 100644
--- a/include/constants/item_effects.h
+++ b/include/constants/item_effects.h
@@ -3,7 +3,7 @@
// field 0 masks
#define ITEM0_X_ATTACK 0x0F
-#define ITEM0_HIGH_CRIT 0x30 // For Dire Hit, works the same way as move Focus Energy.
+#define ITEM0_DIRE_HIT 0x30 // Works the same way as the move Focus Energy.
#define ITEM0_SACRED_ASH 0x40
#define ITEM0_INFATUATION 0x80
@@ -23,7 +23,7 @@
#define ITEM3_POISON 0x10
#define ITEM3_SLEEP 0x20
#define ITEM3_LEVEL_UP 0x40
-#define ITEM3_MIST 0x80 // For Guard Specs, works the same way as move Mist.
+#define ITEM3_GUARD_SPEC 0x80 // Works the same way as the move Mist.
#define ITEM3_STATUS_ALL (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP)
diff --git a/include/constants/items.h b/include/constants/items.h
index 3a894f8ff..db3474a72 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -465,8 +465,27 @@
#define ITEMS_COUNT 377
#define ITEM_FIELD_ARROW ITEMS_COUNT
-#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
-#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
+#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
+#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
+
+// Range of berries given out by various NPCS
+#define FIRST_BERRY_MASTER_BERRY ITEM_POMEG_BERRY
+#define LAST_BERRY_MASTER_BERRY ITEM_NOMEL_BERRY
+#define FIRST_BERRY_MASTER_WIFE_BERRY ITEM_CHERI_BERRY
+#define LAST_BERRY_MASTER_WIFE_BERRY ITEM_SITRUS_BERRY
+#define FIRST_KIRI_BERRY ITEM_POMEG_BERRY
+#define LAST_KIRI_BERRY ITEM_NOMEL_BERRY
+#define FIRST_ROUTE_114_MAN_BERRY ITEM_RAZZ_BERRY
+#define LAST_ROUTE_114_MAN_BERRY ITEM_PINAP_BERRY
+
+#define NUM_BERRY_MASTER_BERRIES LAST_BERRY_MASTER_BERRY - FIRST_BERRY_MASTER_BERRY + 1
+#define NUM_BERRY_MASTER_BERRIES_SKIPPED FIRST_BERRY_MASTER_BERRY - FIRST_BERRY_INDEX
+#define NUM_BERRY_MASTER_WIFE_BERRIES LAST_BERRY_MASTER_WIFE_BERRY - FIRST_BERRY_MASTER_WIFE_BERRY + 1
+#define NUM_KIRI_BERRIES LAST_KIRI_BERRY - FIRST_KIRI_BERRY + 1
+#define NUM_KIRI_BERRIES_SKIPPED FIRST_KIRI_BERRY - FIRST_BERRY_INDEX
+#define NUM_ROUTE_114_MAN_BERRIES LAST_ROUTE_114_MAN_BERRY - FIRST_ROUTE_114_MAN_BERRY + 1
+#define NUM_ROUTE_114_MAN_BERRIES_SKIPPED FIRST_ROUTE_114_MAN_BERRY - FIRST_BERRY_INDEX
+
#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))
#define NUM_TECHNICAL_MACHINES 50
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
index d4819c46a..3e876f499 100755
--- a/include/constants/layouts.h
+++ b/include/constants/layouts.h
@@ -221,22 +221,22 @@
#define LAYOUT_SECRET_BASE_YELLOW_CAVE4 218
#define LAYOUT_SECRET_BASE_TREE4 219
#define LAYOUT_SECRET_BASE_SHRUB4 220
-#define LAYOUT_SINGLE_BATTLE_COLOSSEUM 221
+#define LAYOUT_BATTLE_COLOSSEUM_2P 221
#define LAYOUT_TRADE_CENTER 222
#define LAYOUT_RECORD_CORNER 223
-#define LAYOUT_DOUBLE_BATTLE_COLOSSEUM 224
-#define LAYOUT_LINK_CONTEST_ROOM1 225
+#define LAYOUT_BATTLE_COLOSSEUM_4P 224
+#define LAYOUT_CONTEST_HALL 225
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29 226
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_30 227
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_31 228
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_32 229
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_33 230
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_34 231
-#define LAYOUT_LINK_CONTEST_ROOM2 232
-#define LAYOUT_LINK_CONTEST_ROOM3 233
-#define LAYOUT_LINK_CONTEST_ROOM4 234
-#define LAYOUT_LINK_CONTEST_ROOM5 235
-#define LAYOUT_LINK_CONTEST_ROOM6 236
+#define LAYOUT_CONTEST_HALL_BEAUTY 232
+#define LAYOUT_CONTEST_HALL_TOUGH 233
+#define LAYOUT_CONTEST_HALL_COOL 234
+#define LAYOUT_CONTEST_HALL_SMART 235
+#define LAYOUT_CONTEST_HALL_CUTE 236
#define LAYOUT_INSIDE_OF_TRUCK 237
#define LAYOUT_SAFARI_ZONE_NORTHWEST 238
#define LAYOUT_SAFARI_ZONE_NORTH 239
@@ -352,16 +352,16 @@
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY 349
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR 350
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM 351
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 352
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 353
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL 352
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL 353
#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY 354
#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR 355
#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM 356
#define LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE 357
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 358
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS 358
#define LAYOUT_UNKNOWN_084693AC 359
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY 360
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE 361
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR 361
#define LAYOUT_BATTLE_PYRAMID_SQUARE01 362
#define LAYOUT_BATTLE_PYRAMID_SQUARE02 363
#define LAYOUT_BATTLE_PYRAMID_SQUARE03 364
@@ -390,15 +390,15 @@
#define LAYOUT_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM 387
#define LAYOUT_MIRAGE_TOWER_4F 388
#define LAYOUT_DESERT_UNDERPASS 389
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM 390
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 391
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM 390
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR 391
#define LAYOUT_ROUTE111_NO_MIRAGE_TOWER 392
#define LAYOUT_UNION_ROOM 393
#define LAYOUT_SAFARI_ZONE_NORTHEAST 394
#define LAYOUT_SAFARI_ZONE_SOUTHEAST 395
#define LAYOUT_BATTLE_FRONTIER_RANKING_HALL 396
#define LAYOUT_BATTLE_FRONTIER_LOUNGE1 397
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER 398
+#define LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER 398
#define LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE 399
#define LAYOUT_ARTISAN_CAVE_B1F 400
#define LAYOUT_ARTISAN_CAVE_1F 401
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
index 6a3276b44..17fe7ab53 100755
--- a/include/constants/map_groups.h
+++ b/include/constants/map_groups.h
@@ -98,8 +98,8 @@
#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8))
#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8))
#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_COZMOS_HOUSE (6 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE (7 | (5 << 8))
// Map Group 6
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8))
@@ -136,12 +136,12 @@
#define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8))
#define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8))
#define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HOUSE1 (5 | (9 << 8))
+#define MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE (5 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8))
#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8))
#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8))
#define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HOUSE2 (10 | (9 << 8))
+#define MAP_SLATEPORT_CITY_HOUSE (10 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8))
#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8))
@@ -422,22 +422,22 @@
#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
-#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
+#define MAP_BATTLE_COLOSSEUM_2P (24 | (25 << 8))
#define MAP_TRADE_CENTER (25 | (25 << 8))
#define MAP_RECORD_CORNER (26 | (25 << 8))
-#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
+#define MAP_BATTLE_COLOSSEUM_4P (27 | (25 << 8))
+#define MAP_CONTEST_HALL (28 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_29 (29 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_30 (30 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_31 (31 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_32 (32 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_33 (33 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_34 (34 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
+#define MAP_CONTEST_HALL_BEAUTY (35 | (25 << 8))
+#define MAP_CONTEST_HALL_TOUGH (36 | (25 << 8))
+#define MAP_CONTEST_HALL_COOL (37 | (25 << 8))
+#define MAP_CONTEST_HALL_SMART (38 | (25 << 8))
+#define MAP_CONTEST_HALL_CUTE (39 | (25 << 8))
#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
@@ -461,95 +461,95 @@
#define MAP_UNION_ROOM (60 | (25 << 8))
// Map Group 26
-#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
-#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8))
-#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
-#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
-#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
-#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
-#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
-#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8))
-#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 (16 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 (17 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 (37 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 (38 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 (39 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
-#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8))
-#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8))
-#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8))
-#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8))
-#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8))
-#define MAP_TRAINER_HILL_1F (61 | (26 << 8))
-#define MAP_TRAINER_HILL_2F (62 | (26 << 8))
-#define MAP_TRAINER_HILL_3F (63 | (26 << 8))
-#define MAP_TRAINER_HILL_4F (64 | (26 << 8))
-#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8))
-#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
-#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
-#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
-#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
-#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8))
-#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8))
-#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
-#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
+#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM (15 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR (16 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (17 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR (26 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL (37 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL (38 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS (39 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
+#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8))
+#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8))
+#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8))
+#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8))
+#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8))
+#define MAP_TRAINER_HILL_1F (61 | (26 << 8))
+#define MAP_TRAINER_HILL_2F (62 | (26 << 8))
+#define MAP_TRAINER_HILL_3F (63 | (26 << 8))
+#define MAP_TRAINER_HILL_4F (64 | (26 << 8))
+#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8))
+#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
+#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
+#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
+#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
+#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8))
+#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8))
+#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
+#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
// Map Group 27
#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))
diff --git a/include/constants/mauville_man.h b/include/constants/mauville_man.h
deleted file mode 100644
index b00e3a291..000000000
--- a/include/constants/mauville_man.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef GUARD_CONSTANTS_MAUVILLE_MAN_H
-#define GUARD_CONSTANTS_MAUVILLE_MAN_H
-
-#define MAUVILLE_MAN_BARD 0
-#define MAUVILLE_MAN_HIPSTER 1
-#define MAUVILLE_MAN_TRADER 2
-#define MAUVILLE_MAN_STORYTELLER 3
-#define MAUVILLE_MAN_GIDDY 4
-
-#endif // GUARD_CONSTANTS_MAUVILLE_MAN_H
diff --git a/include/constants/mauville_old_man.h b/include/constants/mauville_old_man.h
new file mode 100644
index 000000000..c1fb0bf24
--- /dev/null
+++ b/include/constants/mauville_old_man.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H
+#define GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H
+
+#define MAUVILLE_MAN_BARD 0
+#define MAUVILLE_MAN_HIPSTER 1
+#define MAUVILLE_MAN_TRADER 2
+#define MAUVILLE_MAN_STORYTELLER 3
+#define MAUVILLE_MAN_GIDDY 4
+#define MAUVILLE_MAN_UNUSED1 5
+#define MAUVILLE_MAN_UNUSED2 6
+
+#endif // GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H
diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h
index 44bbd9729..94cb0ffca 100755
--- a/include/constants/metatile_behaviors.h
+++ b/include/constants/metatile_behaviors.h
@@ -235,7 +235,7 @@
#define MB_CABLE_BOX_RESULTS_2 0xE7
#define MB_WIRELESS_BOX_RESULTS 0xE8
#define MB_TRAINER_HILL_TIMER 0xE9
-#define MB_UNKNOWN_CLOSED_DOOR 0xEA
+#define MB_SKY_PILLAR_CLOSED_DOOR 0xEA
#define MB_UNUSED_EB 0xEB
#define MB_UNUSED_EC 0xEC
#define MB_UNUSED_ED 0xED
diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h
index 8fe95b464..a0ea6855b 100644
--- a/include/constants/metatile_labels.h
+++ b/include/constants/metatile_labels.h
@@ -2,29 +2,39 @@
#define GUARD_METATILE_LABELS_H
// gTileset_General
-#define METATILE_General_Grass 0x001
-#define METATILE_General_TallGrass 0x00D
-#define METATILE_General_LongGrass 0x015
-#define METATILE_General_TallGrass_TreeUp 0x025
-#define METATILE_General_Grass_TreeUp 0x00E
-#define METATILE_General_TallGrass_TreeLeft 0x1C6
-#define METATILE_General_TallGrass_TreeRight 0x1C7
-#define METATILE_General_Grass_TreeLeft 0x1CE
-#define METATILE_General_Grass_TreeRight 0x1CF
-#define METATILE_General_MuddySlope_Frame0 0x0E8
-#define METATILE_General_MuddySlope_Frame1 0x0E9
-#define METATILE_General_MuddySlope_Frame2 0x0EA
-#define METATILE_General_MuddySlope_Frame3 0x0EB
-#define METATILE_General_SandPit_Center 0x121
-#define METATILE_General_CaveEntrance_Top 0x09F
-#define METATILE_General_CaveEntrance_Bottom 0x0A7
-#define METATILE_General_RockWall_GrassBase 0x079
-#define METATILE_General_RockWall_RockBase 0x07C
-#define METATILE_General_RockWall_SandBase 0x091
-#define METATILE_General_CalmWater 0x170
-#define METATILE_General_RoughWater 0x14E
-#define METATILE_General_RoughDeepWater 0x14F
-#define METATILE_General_ReflectiveWater 0x0A1
+#define METATILE_General_Grass 0x001
+#define METATILE_General_TallGrass 0x00D
+#define METATILE_General_LongGrass 0x015
+#define METATILE_General_TallGrass_TreeUp 0x025
+#define METATILE_General_Grass_TreeUp 0x00E
+#define METATILE_General_TallGrass_TreeLeft 0x1C6
+#define METATILE_General_TallGrass_TreeRight 0x1C7
+#define METATILE_General_Grass_TreeLeft 0x1CE
+#define METATILE_General_Grass_TreeRight 0x1CF
+#define METATILE_General_MuddySlope_Frame0 0x0E8
+#define METATILE_General_MuddySlope_Frame1 0x0E9
+#define METATILE_General_MuddySlope_Frame2 0x0EA
+#define METATILE_General_MuddySlope_Frame3 0x0EB
+#define METATILE_General_SandPit_Center 0x121
+#define METATILE_General_CaveEntrance_Top 0x09F
+#define METATILE_General_CaveEntrance_Bottom 0x0A7
+#define METATILE_General_RockWall_GrassBase 0x079
+#define METATILE_General_RockWall_RockBase 0x07C
+#define METATILE_General_RockWall_SandBase 0x091
+#define METATILE_General_CalmWater 0x170
+#define METATILE_General_RoughWater 0x14E
+#define METATILE_General_RoughDeepWater 0x14F
+#define METATILE_General_ReflectiveWater 0x0A1
+#define METATILE_General_SecretBase_TreeLeft 0x026
+#define METATILE_General_SecretBase_TreeRight 0x027
+#define METATILE_General_SecretBase_VineLeft 0x036
+#define METATILE_General_SecretBase_VineRight 0x037
+#define METATILE_General_RedCaveIndent 0x1A0
+#define METATILE_General_RedCaveOpen 0x1A1
+#define METATILE_General_YellowCaveIndent 0x1A8
+#define METATILE_General_YellowCaveOpen 0x1A9
+#define METATILE_General_BlueCaveIndent 0x1B0
+#define METATILE_General_BlueCaveOpen 0x1B1
// gTileset_Building
#define METATILE_Building_PC_Off 0x004
@@ -68,13 +78,16 @@
#define METATILE_PetalburgGym_SlidingDoor_Frame3 0x21B
#define METATILE_PetalburgGym_SlidingDoor_Frame4 0x21C
-// gTileset_MossdeepGym
-#define METATILE_MossdeepGym_Obelisk_Top 0x204
-#define METATILE_MossdeepGym_Obelisk_Base 0x20C
-#define METATILE_MossdeepGym_Wall_LeftCorner 0x20D
-#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205
-#define METATILE_MossdeepGym_Empty0 0x238
-#define METATILE_MossdeepGym_Empty1 0x239
+// gTileset_MossdeepGym from R/S
+#define METATILE_RS_MossdeepGym_RedArrow_Right 0x204
+#define METATILE_RS_MossdeepGym_RedArrow_Left 0x20C
+#define METATILE_RS_MossdeepGym_RedArrow_Up 0x20D
+#define METATILE_RS_MossdeepGym_RedArrow_Down 0x205
+#define METATILE_RS_MossdeepGym_Switch_Up 0x238
+#define METATILE_RS_MossdeepGym_Switch_Down 0x239
+
+// gTileset_MossdeepGym from Emerald
+#define METATILE_MossdeepGym_YellowArrow_Right 0x250
// gTileset_BrendansMaysHouse
#define METATILE_BrendansMaysHouse_BrendanPC_Off 0x25A
@@ -140,14 +153,16 @@
#define METATILE_Fortree_BridgeOverGrass_Lowered 0x24F
#define METATILE_Fortree_BridgeOverTrees_Raised 0x256
#define METATILE_Fortree_BridgeOverTrees_Lowered 0x257
+#define METATILE_Fortree_SecretBase_Shrub 0x271
+#define METATILE_Fortree_SecretBase_ShrubOpen 0x278
#define METATILE_Fortree_SecretBase_LongGrass_TopLeft 0x279
#define METATILE_Fortree_SecretBase_LongGrass_TopMid 0x27A
#define METATILE_Fortree_SecretBase_LongGrass_TopRight 0x27B
#define METATILE_Fortree_SecretBase_LongGrass_BottomLeft 0x281
#define METATILE_Fortree_SecretBase_LongGrass_BottomMid 0x282
#define METATILE_Fortree_SecretBase_LongGrass_BottomRight 0x283
-#define METATILE_Fortree_WoodBridge_Kecleon0 0x297
-#define METATILE_Fortree_WoodBridge_Kecleon1 0x29F
+#define METATILE_Fortree_WoodBridge1_Top 0x297
+#define METATILE_Fortree_WoodBridge1_Bottom 0x29F
// gTileset_Sootopolis
#define METATILE_Sootopolis_Door_Closed 0x248
@@ -161,6 +176,8 @@
// gTileset_Fallarbor
#define METATILE_Fallarbor_AshGrass 0x20A
+#define METATILE_Fallarbor_BrownCaveIndent 0x208
+#define METATILE_Fallarbor_BrownCaveOpen 0x210
#define METATILE_Fallarbor_NormalGrass 0x212
#define METATILE_Fallarbor_AshField 0x218
#define METATILE_Fallarbor_BrownCaveEntrance_Top 0x259
@@ -252,10 +269,10 @@
#define METATILE_EliteFour_EntryDoor_ClosedBottom 0x20E
// gTileset_InsideShip
-#define METATILE_InsideShip_InTactDoor0_Bottom 0x233
-#define METATILE_InsideShip_InTactDoor1_Bottom 0x22B
-#define METATILE_InsideShip_DoorIndent1 0x21A
-#define METATILE_InsideShip_DoorIndent0 0x234
+#define METATILE_InsideShip_IntactDoor_Bottom_Unlocked 0x22B
+#define METATILE_InsideShip_IntactDoor_Bottom_Locked 0x233
+#define METATILE_InsideShip_DoorIndent_Unlocked 0x21A
+#define METATILE_InsideShip_DoorIndent_Locked 0x234
// gTileset_BattlePike
#define METATILE_BattlePike_Curtain_Stage0_Tile0 0x24A
@@ -376,8 +393,9 @@
#define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down 0x263
#define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt 0x27B
#define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt 0x27C
+#define METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right 0x298
-// gTileset_BikeShop
+// gTileset_BikeShop (also used by New Mauville)
#define METATILE_BikeShop_Barrier_Hidden_Top 0x269
#define METATILE_BikeShop_Barrier_Hidden_Bottom 0x271
#define METATILE_BikeShop_Floor_Shadow_Top 0x26D
@@ -410,4 +428,162 @@
#define METATILE_Underwater_RockWall 0x21E
#define METATILE_Underwater_FloorShadow 0x228
+// gTileset_SecretBase
+#define METATILE_SecretBase_Wall_TopMid 0x202
+#define METATILE_SecretBase_Ground 0x20A
+#define METATILE_SecretBase_PC 0x220
+#define METATILE_SecretBase_RegisterPC 0x221
+#define METATILE_SecretBase_PC_On 0x224
+#define METATILE_SecretBase_RedBrick_Top 0x225
+#define METATILE_SecretBase_RedBrick_Bottom 0x22D
+#define METATILE_SecretBase_YellowBrick_Top 0x226
+#define METATILE_SecretBase_YellowBrick_Bottom 0x22E
+#define METATILE_SecretBase_BlueBrick_Top 0x227
+#define METATILE_SecretBase_BlueBrick_Bottom 0x22F
+#define METATILE_SecretBase_MudBall 0x228
+#define METATILE_SecretBase_Fence_Horizontal 0x22C
+#define METATILE_SecretBase_Fence_Vertical 0x233
+#define METATILE_SecretBase_Board_Top 0x234
+#define METATILE_SecretBase_Board_Bottom 0x23C
+#define METATILE_SecretBase_RedTent_DoorTop 0x239
+#define METATILE_SecretBase_RedTent_Door 0x241
+#define METATILE_SecretBase_BlueTent_DoorTop 0x251
+#define METATILE_SecretBase_BlueTent_Door 0x259
+#define METATILE_SecretBase_Slide_Stairs 0x23D
+#define METATILE_SecretBase_Slide 0x23E
+#define METATILE_SecretBase_Stand_LeftCorner 0x26A
+#define METATILE_SecretBase_Stand_RightCorner 0x26D
+#define METATILE_SecretBase_BreakableDoor_TopClosed 0x237
+#define METATILE_SecretBase_BreakableDoor_BottomClosed 0x23F
+#define METATILE_SecretBase_BreakableDoor_TopOpen 0x26E
+#define METATILE_SecretBase_BreakableDoor_BottomOpen 0x276
+#define METATILE_SecretBase_NoteMat_C 0x278
+#define METATILE_SecretBase_NoteMat_D 0x279
+#define METATILE_SecretBase_NoteMat_E 0x27A
+#define METATILE_SecretBase_NoteMat_F 0x27B
+#define METATILE_SecretBase_NoteMat_G 0x27C
+#define METATILE_SecretBase_NoteMat_A 0x27D
+#define METATILE_SecretBase_NoteMat_B 0x27E
+#define METATILE_SecretBase_NoteMat_C_Sharp 0x2B3
+#define METATILE_SecretBase_Tire_TopLeft 0x280
+#define METATILE_SecretBase_Tire_TopRight 0x281
+#define METATILE_SecretBase_Tire_BottomLeft 0x288
+#define METATILE_SecretBase_Tire_BottomRight 0x289
+#define METATILE_SecretBase_GlassOrnament_Base1 0x28A
+#define METATILE_SecretBase_GlassOrnament_Base2 0x28B
+#define METATILE_SecretBase_SandOrnament_BrokenTop 0x284
+#define METATILE_SecretBase_SandOrnament_BrokenBase 0x28C
+#define METATILE_SecretBase_SandOrnament_Top 0x285
+#define METATILE_SecretBase_SandOrnament_Base1 0x28D
+#define METATILE_SecretBase_SandOrnament_TopWall 0x286
+#define METATILE_SecretBase_SandOrnament_Base2 0x28E
+#define METATILE_SecretBase_SmallDesk 0x287
+#define METATILE_SecretBase_PokemonDesk 0x28F
+#define METATILE_SecretBase_HeavyDesk_TopLeft 0x290
+#define METATILE_SecretBase_HeavyDesk_TopMid 0x291
+#define METATILE_SecretBase_HeavyDesk_TopRight 0x292
+#define METATILE_SecretBase_HeavyDesk_BottomLeft 0x298
+#define METATILE_SecretBase_HeavyDesk_BottomMid 0x299
+#define METATILE_SecretBase_HeavyDesk_BottomRight 0x29A
+#define METATILE_SecretBase_RaggedDesk_TopLeft 0x293
+#define METATILE_SecretBase_RaggedDesk_TopMid 0x294
+#define METATILE_SecretBase_RaggedDesk_TopRight 0x295
+#define METATILE_SecretBase_RaggedDesk_BottomLeft 0x29B
+#define METATILE_SecretBase_RaggedDesk_BottomMid 0x29C
+#define METATILE_SecretBase_RaggedDesk_BottomRight 0x29D
+#define METATILE_SecretBase_ComfortDesk_TopLeft 0x296
+#define METATILE_SecretBase_ComfortDesk_TopMid 0x297
+#define METATILE_SecretBase_ComfortDesk_TopRight 0x2A3
+#define METATILE_SecretBase_ComfortDesk_BottomLeft 0x29E
+#define METATILE_SecretBase_ComfortDesk_BottomMid 0x29F
+#define METATILE_SecretBase_ComfortDesk_BottomRight 0x2AB
+#define METATILE_SecretBase_BrickDesk_TopLeft 0x2A0
+#define METATILE_SecretBase_BrickDesk_TopMid 0x2A1
+#define METATILE_SecretBase_BrickDesk_TopRight 0x2A2
+#define METATILE_SecretBase_BrickDesk_MidLeft 0x2A8
+#define METATILE_SecretBase_BrickDesk_Center 0x2A9
+#define METATILE_SecretBase_BrickDesk_MidRight 0x2AA
+#define METATILE_SecretBase_BrickDesk_BottomLeft 0x2B0
+#define METATILE_SecretBase_BrickDesk_BottomMid 0x2B1
+#define METATILE_SecretBase_BrickDesk_BottomRight 0x2B2
+#define METATILE_SecretBase_CampDesk_TopLeft 0x2A4
+#define METATILE_SecretBase_CampDesk_TopMid 0x2A5
+#define METATILE_SecretBase_CampDesk_TopRight 0x2A6
+#define METATILE_SecretBase_CampDesk_MidLeft 0x2AC
+#define METATILE_SecretBase_CampDesk_Center 0x2AD
+#define METATILE_SecretBase_CampDesk_MidRight 0x2AE
+#define METATILE_SecretBase_CampDesk_BottomLeft 0x2B4
+#define METATILE_SecretBase_CampDesk_BottomMid 0x2B5
+#define METATILE_SecretBase_CampDesk_BottomRight 0x2B6
+#define METATILE_SecretBase_HardDesk_TopLeft 0x2A7
+#define METATILE_SecretBase_HardDesk_TopMid 0x2BB
+#define METATILE_SecretBase_HardDesk_TopRight 0x2BC
+#define METATILE_SecretBase_HardDesk_MidLeft 0x2AF
+#define METATILE_SecretBase_HardDesk_Center 0x2C3
+#define METATILE_SecretBase_HardDesk_MidRight 0x2C4
+#define METATILE_SecretBase_HardDesk_BottomLeft 0x2B7
+#define METATILE_SecretBase_HardDesk_BottomMid 0x2CB
+#define METATILE_SecretBase_HardDesk_BottomRight 0x2CC
+#define METATILE_SecretBase_PrettyDesk_TopLeft 0x2BD
+#define METATILE_SecretBase_PrettyDesk_TopMid 0x2BE
+#define METATILE_SecretBase_PrettyDesk_TopRight 0x2BF
+#define METATILE_SecretBase_PrettyDesk_MidLeft 0x2C5
+#define METATILE_SecretBase_PrettyDesk_Center 0x2C6
+#define METATILE_SecretBase_PrettyDesk_MidRight 0x2C7
+#define METATILE_SecretBase_PrettyDesk_BottomLeft 0x2CD
+#define METATILE_SecretBase_PrettyDesk_BottomMid 0x2CE
+#define METATILE_SecretBase_PrettyDesk_BottomRight 0x2CF
+#define METATILE_SecretBase_SmallChair 0x2B8
+#define METATILE_SecretBase_PokemonChair 0x2B9
+#define METATILE_SecretBase_HeavyChair 0x2BA
+#define METATILE_SecretBase_PrettyChair 0x2C0
+#define METATILE_SecretBase_ComfortChair 0x2C1
+#define METATILE_SecretBase_RaggedChair 0x2C2
+#define METATILE_SecretBase_BrickChair 0x2C8
+#define METATILE_SecretBase_CampChair 0x2C9
+#define METATILE_SecretBase_HardChair 0x2Ca
+#define METATILE_SecretBase_RedPlant_Base1 0x2D8
+#define METATILE_SecretBase_RedPlant_Base2 0x2D9
+#define METATILE_SecretBase_TropicalPlant_Base1 0x2DA
+#define METATILE_SecretBase_TropicalPlant_Base2 0x2DB
+#define METATILE_SecretBase_PrettyFlower_Base1 0x2DC
+#define METATILE_SecretBase_PrettyFlower_Base2 0x2DD
+#define METATILE_SecretBase_ColorfulFlowers_BaseLeft1 0x2E8
+#define METATILE_SecretBase_ColorfulFlowers_BaseRight1 0x2E9
+#define METATILE_SecretBase_ColorfulFlowers_BaseLeft2 0x2EA
+#define METATILE_SecretBase_ColorfulFlowers_BaseRight2 0x2EB
+#define METATILE_SecretBase_BigPlant_BaseLeft1 0x2EC
+#define METATILE_SecretBase_BigPlant_BaseRight1 0x2ED
+#define METATILE_SecretBase_BigPlant_BaseLeft2 0x2EE
+#define METATILE_SecretBase_BigPlant_BaseRight2 0x2EF
+#define METATILE_SecretBase_GorgeousPlant_BaseLeft1 0x2F8
+#define METATILE_SecretBase_GorgeousPlant_BaseRight1 0x2F9
+#define METATILE_SecretBase_GorgeousPlant_BaseLeft2 0x2FA
+#define METATILE_SecretBase_GorgeousPlant_BaseRight2 0x2FB
+#define METATILE_SecretBase_TV 0x2F4
+#define METATILE_SecretBase_RoundTV 0x2F5
+#define METATILE_SecretBase_CuteTV 0x2F6
+#define METATILE_SecretBase_PikaPoster_Left 0x31C
+#define METATILE_SecretBase_PikaPoster_Right 0x31D
+#define METATILE_SecretBase_LongPoster_Left 0x31E
+#define METATILE_SecretBase_LongPoster_Right 0x31F
+#define METATILE_SecretBase_SeaPoster_Left 0x324
+#define METATILE_SecretBase_SeaPoster_Right 0x325
+#define METATILE_SecretBase_SkyPoster_Left 0x326
+#define METATILE_SecretBase_SkyPoster_Right 0x327
+#define METATILE_SecretBase_KissPoster_Left 0x32C
+#define METATILE_SecretBase_KissPoster_Right 0x32D
+#define METATILE_SecretBase_BallPoster 0x330
+#define METATILE_SecretBase_GreenPoster 0x331
+#define METATILE_SecretBase_RedPoster 0x332
+#define METATILE_SecretBase_BluePoster 0x333
+#define METATILE_SecretBase_CutePoster 0x334
+#define METATILE_SecretBase_SilverShield_Base1 0x2DE
+#define METATILE_SecretBase_SilverShield_Base2 0x2DF
+#define METATILE_SecretBase_GoldShield_Base1 0x336
+#define METATILE_SecretBase_GoldShield_Base2 0x337
+#define METATILE_SecretBase_RedBalloon 0x338
+#define METATILE_SecretBase_BlueBalloon 0x33c
+#define METATILE_SecretBase_YellowBalloon 0x340
+
#endif // GUARD_METATILE_LABELS_H
diff --git a/include/constants/mevent.h b/include/constants/mevent.h
new file mode 100644
index 000000000..25bbcdf36
--- /dev/null
+++ b/include/constants/mevent.h
@@ -0,0 +1,15 @@
+#ifndef GUARD_CONSTANTS_MEVENT_H
+#define GUARD_CONSTANTS_MEVENT_H
+
+// mevent2.c
+#define GET_NUM_STAMPS 0
+#define GET_MAX_STAMPS 1
+#define GET_CARD_BATTLES_WON 2
+
+#define GET_NUM_STAMPS_INTERNAL 3
+#define GET_MAX_STAMPS_INTERNAL 4
+#define GET_CARD_BATTLES_WON_INTERNAL 0
+
+#define REQUIRED_CARD_BATTLES 3
+
+#endif //GUARD_MEVENT_H
diff --git a/include/constants/opponents.h b/include/constants/opponents.h
index 9f74baf67..cd35cf6b7 100644
--- a/include/constants/opponents.h
+++ b/include/constants/opponents.h
@@ -1,862 +1,866 @@
#ifndef GUARD_CONSTANTS_OPPONENTS_H
#define GUARD_CONSTANTS_OPPONENTS_H
-#define TRAINER_NONE 0
-#define TRAINER_SAWYER_1 1
-#define TRAINER_GRUNT_1 2
-#define TRAINER_GRUNT_2 3
-#define TRAINER_GRUNT_3 4
-#define TRAINER_GRUNT_4 5
-#define TRAINER_GRUNT_5 6
-#define TRAINER_GRUNT_6 7
-#define TRAINER_GRUNT_7 8
-#define TRAINER_GABRIELLE_1 9
-#define TRAINER_GRUNT_8 10
-#define TRAINER_MARCEL 11
-#define TRAINER_ALBERTO 12
-#define TRAINER_ED 13
-#define TRAINER_GRUNT_9 14
-#define TRAINER_DECLAN 15
-#define TRAINER_GRUNT_10 16
-#define TRAINER_GRUNT_11 17
-#define TRAINER_GRUNT_12 18
-#define TRAINER_GRUNT_13 19
-#define TRAINER_GRUNT_14 20
-#define TRAINER_GRUNT_15 21
-#define TRAINER_GRUNT_16 22
-#define TRAINER_GRUNT_17 23
-#define TRAINER_GRUNT_18 24
-#define TRAINER_GRUNT_19 25
-#define TRAINER_GRUNT_20 26
-#define TRAINER_GRUNT_21 27
-#define TRAINER_GRUNT_22 28
-#define TRAINER_FREDRICK 29
-#define TRAINER_MATT 30
-#define TRAINER_ZANDER 31
-#define TRAINER_SHELLY_1 32
-#define TRAINER_SHELLY_2 33
-#define TRAINER_ARCHIE 34
-#define TRAINER_LEAH 35
-#define TRAINER_DAISY 36
-#define TRAINER_ROSE_1 37
-#define TRAINER_FELIX 38
-#define TRAINER_VIOLET 39
-#define TRAINER_ROSE_2 40
-#define TRAINER_ROSE_3 41
-#define TRAINER_ROSE_4 42
-#define TRAINER_ROSE_5 43
-#define TRAINER_DUSTY_1 44
-#define TRAINER_CHIP 45
-#define TRAINER_FOSTER 46
-#define TRAINER_DUSTY_2 47
-#define TRAINER_DUSTY_3 48
-#define TRAINER_DUSTY_4 49
-#define TRAINER_DUSTY_5 50
-#define TRAINER_GABBY_AND_TY_1 51
-#define TRAINER_GABBY_AND_TY_2 52
-#define TRAINER_GABBY_AND_TY_3 53
-#define TRAINER_GABBY_AND_TY_4 54
-#define TRAINER_GABBY_AND_TY_5 55
-#define TRAINER_GABBY_AND_TY_6 56
-#define TRAINER_LOLA_1 57
-#define TRAINER_AUSTINA 58
-#define TRAINER_GWEN 59
-#define TRAINER_LOLA_2 60
-#define TRAINER_LOLA_3 61
-#define TRAINER_LOLA_4 62
-#define TRAINER_LOLA_5 63
-#define TRAINER_RICKY_1 64
-#define TRAINER_SIMON 65
-#define TRAINER_CHARLIE 66
-#define TRAINER_RICKY_2 67
-#define TRAINER_RICKY_3 68
-#define TRAINER_RICKY_4 69
-#define TRAINER_RICKY_5 70
-#define TRAINER_RANDALL 71
-#define TRAINER_PARKER 72
-#define TRAINER_GEORGE 73
-#define TRAINER_BERKE 74
-#define TRAINER_BRAXTON 75
-#define TRAINER_VINCENT 76
-#define TRAINER_LEROY 77
-#define TRAINER_WILTON_1 78
-#define TRAINER_EDGAR 79
-#define TRAINER_ALBERT 80
-#define TRAINER_SAMUEL 81
-#define TRAINER_VITO 82
-#define TRAINER_OWEN 83
-#define TRAINER_WILTON_2 84
-#define TRAINER_WILTON_3 85
-#define TRAINER_WILTON_4 86
-#define TRAINER_WILTON_5 87
-#define TRAINER_WARREN 88
-#define TRAINER_MARY 89
-#define TRAINER_ALEXIA 90
-#define TRAINER_JODY 91
-#define TRAINER_WENDY 92
-#define TRAINER_KEIRA 93
-#define TRAINER_BROOKE_1 94
-#define TRAINER_JENNIFER 95
-#define TRAINER_HOPE 96
-#define TRAINER_SHANNON 97
-#define TRAINER_MICHELLE 98
-#define TRAINER_CAROLINE 99
-#define TRAINER_JULIE 100
-#define TRAINER_BROOKE_2 101
-#define TRAINER_BROOKE_3 102
-#define TRAINER_BROOKE_4 103
-#define TRAINER_BROOKE_5 104
-#define TRAINER_PATRICIA 105
-#define TRAINER_KINDRA 106
-#define TRAINER_TAMMY 107
-#define TRAINER_VALERIE_1 108
-#define TRAINER_TASHA 109
-#define TRAINER_VALERIE_2 110
-#define TRAINER_VALERIE_3 111
-#define TRAINER_VALERIE_4 112
-#define TRAINER_VALERIE_5 113
-#define TRAINER_CINDY_1 114
-#define TRAINER_DAPHNE 115
-#define TRAINER_GRUNT_23 116
-#define TRAINER_CINDY_2 117
-#define TRAINER_BRIANNA 118
-#define TRAINER_NAOMI 119
-#define TRAINER_CINDY_3 120
-#define TRAINER_CINDY_4 121
-#define TRAINER_CINDY_5 122
-#define TRAINER_CINDY_6 123
-#define TRAINER_MELISSA 124
-#define TRAINER_SHEILA 125
-#define TRAINER_SHIRLEY 126
-#define TRAINER_JESSICA_1 127
-#define TRAINER_CONNIE 128
-#define TRAINER_BRIDGET 129
-#define TRAINER_OLIVIA 130
-#define TRAINER_TIFFANY 131
-#define TRAINER_JESSICA_2 132
-#define TRAINER_JESSICA_3 133
-#define TRAINER_JESSICA_4 134
-#define TRAINER_JESSICA_5 135
-#define TRAINER_WINSTON_1 136
-#define TRAINER_MOLLIE 137
-#define TRAINER_GARRET 138
-#define TRAINER_WINSTON_2 139
-#define TRAINER_WINSTON_3 140
-#define TRAINER_WINSTON_4 141
-#define TRAINER_WINSTON_5 142
-#define TRAINER_STEVE_1 143
-#define TRAINER_THALIA_1 144
-#define TRAINER_MARK 145
-#define TRAINER_GRUNT_24 146
-#define TRAINER_STEVE_2 147
-#define TRAINER_STEVE_3 148
-#define TRAINER_STEVE_4 149
-#define TRAINER_STEVE_5 150
-#define TRAINER_LUIS 151
-#define TRAINER_DOMINIK 152
-#define TRAINER_DOUGLAS 153
-#define TRAINER_DARRIN 154
-#define TRAINER_TONY_1 155
-#define TRAINER_JEROME 156
-#define TRAINER_MATTHEW 157
-#define TRAINER_DAVID 158
-#define TRAINER_SPENCER 159
-#define TRAINER_ROLAND 160
-#define TRAINER_NOLEN 161
-#define TRAINER_STAN 162
-#define TRAINER_BARRY 163
-#define TRAINER_DEAN 164
-#define TRAINER_RODNEY 165
-#define TRAINER_RICHARD 166
-#define TRAINER_HERMAN 167
-#define TRAINER_SANTIAGO 168
-#define TRAINER_GILBERT 169
-#define TRAINER_FRANKLIN 170
-#define TRAINER_KEVIN 171
-#define TRAINER_JACK 172
-#define TRAINER_DUDLEY 173
-#define TRAINER_CHAD 174
-#define TRAINER_TONY_2 175
-#define TRAINER_TONY_3 176
-#define TRAINER_TONY_4 177
-#define TRAINER_TONY_5 178
-#define TRAINER_TAKAO 179
-#define TRAINER_HITOSHI 180
-#define TRAINER_KIYO 181
-#define TRAINER_KOICHI 182
-#define TRAINER_NOB_1 183
-#define TRAINER_NOB_2 184
-#define TRAINER_NOB_3 185
-#define TRAINER_NOB_4 186
-#define TRAINER_NOB_5 187
-#define TRAINER_YUJI 188
-#define TRAINER_DAISUKE 189
-#define TRAINER_ATSUSHI 190
-#define TRAINER_KIRK 191
-#define TRAINER_GRUNT_25 192
-#define TRAINER_GRUNT_26 193
-#define TRAINER_SHAWN 194
-#define TRAINER_FERNANDO_1 195
-#define TRAINER_DALTON_1 196
-#define TRAINER_DALTON_2 197
-#define TRAINER_DALTON_3 198
-#define TRAINER_DALTON_4 199
-#define TRAINER_DALTON_5 200
-#define TRAINER_COLE 201
-#define TRAINER_JEFF 202
-#define TRAINER_AXLE 203
-#define TRAINER_JACE 204
-#define TRAINER_KEEGAN 205
-#define TRAINER_BERNIE_1 206
-#define TRAINER_BERNIE_2 207
-#define TRAINER_BERNIE_3 208
-#define TRAINER_BERNIE_4 209
-#define TRAINER_BERNIE_5 210
-#define TRAINER_DREW 211
-#define TRAINER_BEAU 212
-#define TRAINER_LARRY 213
-#define TRAINER_SHANE 214
-#define TRAINER_JUSTIN 215
-#define TRAINER_ETHAN_1 216
-#define TRAINER_AUTUMN 217
-#define TRAINER_TRAVIS 218
-#define TRAINER_ETHAN_2 219
-#define TRAINER_ETHAN_3 220
-#define TRAINER_ETHAN_4 221
-#define TRAINER_ETHAN_5 222
-#define TRAINER_BRENT 223
-#define TRAINER_DONALD 224
-#define TRAINER_TAYLOR 225
-#define TRAINER_JEFFREY_1 226
-#define TRAINER_DEREK 227
-#define TRAINER_JEFFREY_2 228
-#define TRAINER_JEFFREY_3 229
-#define TRAINER_JEFFREY_4 230
-#define TRAINER_JEFFREY_5 231
-#define TRAINER_EDWARD 232
-#define TRAINER_PRESTON 233
-#define TRAINER_VIRGIL 234
-#define TRAINER_BLAKE 235
-#define TRAINER_WILLIAM 236
-#define TRAINER_JOSHUA 237
-#define TRAINER_CAMERON_1 238
-#define TRAINER_CAMERON_2 239
-#define TRAINER_CAMERON_3 240
-#define TRAINER_CAMERON_4 241
-#define TRAINER_CAMERON_5 242
-#define TRAINER_JACLYN 243
-#define TRAINER_HANNAH 244
-#define TRAINER_SAMANTHA 245
-#define TRAINER_MAURA 246
-#define TRAINER_KAYLA 247
-#define TRAINER_ALEXIS 248
-#define TRAINER_JACKI_1 249
-#define TRAINER_JACKI_2 250
-#define TRAINER_JACKI_3 251
-#define TRAINER_JACKI_4 252
-#define TRAINER_JACKI_5 253
-#define TRAINER_WALTER_1 254
-#define TRAINER_MICAH 255
-#define TRAINER_THOMAS 256
-#define TRAINER_WALTER_2 257
-#define TRAINER_WALTER_3 258
-#define TRAINER_WALTER_4 259
-#define TRAINER_WALTER_5 260
-#define TRAINER_SIDNEY 261
-#define TRAINER_PHOEBE 262
-#define TRAINER_GLACIA 263
-#define TRAINER_DRAKE 264
-#define TRAINER_ROXANNE_1 265
-#define TRAINER_BRAWLY_1 266
-#define TRAINER_WATTSON_1 267
-#define TRAINER_FLANNERY_1 268
-#define TRAINER_NORMAN_1 269
-#define TRAINER_WINONA_1 270
-#define TRAINER_TATE_AND_LIZA_1 271
-#define TRAINER_JUAN_1 272
-#define TRAINER_JERRY_1 273
-#define TRAINER_TED 274
-#define TRAINER_PAUL 275
-#define TRAINER_JERRY_2 276
-#define TRAINER_JERRY_3 277
-#define TRAINER_JERRY_4 278
-#define TRAINER_JERRY_5 279
-#define TRAINER_KAREN_1 280
-#define TRAINER_GEORGIA 281
-#define TRAINER_KAREN_2 282
-#define TRAINER_KAREN_3 283
-#define TRAINER_KAREN_4 284
-#define TRAINER_KAREN_5 285
-#define TRAINER_KATE_AND_JOY 286
-#define TRAINER_ANNA_AND_MEG_1 287
-#define TRAINER_ANNA_AND_MEG_2 288
-#define TRAINER_ANNA_AND_MEG_3 289
-#define TRAINER_ANNA_AND_MEG_4 290
-#define TRAINER_ANNA_AND_MEG_5 291
-#define TRAINER_VICTOR 292
-#define TRAINER_MIGUEL_1 293
-#define TRAINER_COLTON 294
-#define TRAINER_MIGUEL_2 295
-#define TRAINER_MIGUEL_3 296
-#define TRAINER_MIGUEL_4 297
-#define TRAINER_MIGUEL_5 298
-#define TRAINER_VICTORIA 299
-#define TRAINER_VANESSA 300
-#define TRAINER_BETHANY 301
-#define TRAINER_ISABEL_1 302
-#define TRAINER_ISABEL_2 303
-#define TRAINER_ISABEL_3 304
-#define TRAINER_ISABEL_4 305
-#define TRAINER_ISABEL_5 306
-#define TRAINER_TIMOTHY_1 307
-#define TRAINER_TIMOTHY_2 308
-#define TRAINER_TIMOTHY_3 309
-#define TRAINER_TIMOTHY_4 310
-#define TRAINER_TIMOTHY_5 311
-#define TRAINER_VICKY 312
-#define TRAINER_SHELBY_1 313
-#define TRAINER_SHELBY_2 314
-#define TRAINER_SHELBY_3 315
-#define TRAINER_SHELBY_4 316
-#define TRAINER_SHELBY_5 317
-#define TRAINER_CALVIN_1 318
-#define TRAINER_BILLY 319
-#define TRAINER_JOSH 320
-#define TRAINER_TOMMY 321
-#define TRAINER_JOEY 322
-#define TRAINER_BEN 323
-#define TRAINER_QUINCY 324
-#define TRAINER_KATELYNN 325
-#define TRAINER_JAYLEN 326
-#define TRAINER_DILLON 327
-#define TRAINER_CALVIN_2 328
-#define TRAINER_CALVIN_3 329
-#define TRAINER_CALVIN_4 330
-#define TRAINER_CALVIN_5 331
-#define TRAINER_EDDIE 332
-#define TRAINER_ALLEN 333
-#define TRAINER_TIMMY 334
-#define TRAINER_WALLACE 335
-#define TRAINER_ANDREW 336
-#define TRAINER_IVAN 337
-#define TRAINER_CLAUDE 338
-#define TRAINER_ELLIOT_1 339
-#define TRAINER_NED 340
-#define TRAINER_DALE 341
-#define TRAINER_NOLAN 342
-#define TRAINER_BARNY 343
-#define TRAINER_WADE 344
-#define TRAINER_CARTER 345
-#define TRAINER_ELLIOT_2 346
-#define TRAINER_ELLIOT_3 347
-#define TRAINER_ELLIOT_4 348
-#define TRAINER_ELLIOT_5 349
-#define TRAINER_RONALD 350
-#define TRAINER_JACOB 351
-#define TRAINER_ANTHONY 352
-#define TRAINER_BENJAMIN_1 353
-#define TRAINER_BENJAMIN_2 354
-#define TRAINER_BENJAMIN_3 355
-#define TRAINER_BENJAMIN_4 356
-#define TRAINER_BENJAMIN_5 357
-#define TRAINER_ABIGAIL_1 358
-#define TRAINER_JASMINE 359
-#define TRAINER_ABIGAIL_2 360
-#define TRAINER_ABIGAIL_3 361
-#define TRAINER_ABIGAIL_4 362
-#define TRAINER_ABIGAIL_5 363
-#define TRAINER_DYLAN_1 364
-#define TRAINER_DYLAN_2 365
-#define TRAINER_DYLAN_3 366
-#define TRAINER_DYLAN_4 367
-#define TRAINER_DYLAN_5 368
-#define TRAINER_MARIA_1 369
-#define TRAINER_MARIA_2 370
-#define TRAINER_MARIA_3 371
-#define TRAINER_MARIA_4 372
-#define TRAINER_MARIA_5 373
-#define TRAINER_CAMDEN 374
-#define TRAINER_DEMETRIUS 375
-#define TRAINER_ISAIAH_1 376
-#define TRAINER_PABLO_1 377
-#define TRAINER_CHASE 378
-#define TRAINER_ISAIAH_2 379
-#define TRAINER_ISAIAH_3 380
-#define TRAINER_ISAIAH_4 381
-#define TRAINER_ISAIAH_5 382
-#define TRAINER_ISOBEL 383
-#define TRAINER_DONNY 384
-#define TRAINER_TALIA 385
-#define TRAINER_KATELYN_1 386
-#define TRAINER_ALLISON 387
-#define TRAINER_KATELYN_2 388
-#define TRAINER_KATELYN_3 389
-#define TRAINER_KATELYN_4 390
-#define TRAINER_KATELYN_5 391
-#define TRAINER_NICOLAS_1 392
-#define TRAINER_NICOLAS_2 393
-#define TRAINER_NICOLAS_3 394
-#define TRAINER_NICOLAS_4 395
-#define TRAINER_NICOLAS_5 396
-#define TRAINER_AARON 397
-#define TRAINER_PERRY 398
-#define TRAINER_HUGH 399
-#define TRAINER_PHIL 400
-#define TRAINER_JARED 401
-#define TRAINER_HUMBERTO 402
-#define TRAINER_PRESLEY 403
-#define TRAINER_EDWARDO 404
-#define TRAINER_COLIN 405
-#define TRAINER_ROBERT_1 406
-#define TRAINER_BENNY 407
-#define TRAINER_CHESTER 408
-#define TRAINER_ROBERT_2 409
-#define TRAINER_ROBERT_3 410
-#define TRAINER_ROBERT_4 411
-#define TRAINER_ROBERT_5 412
-#define TRAINER_ALEX 413
-#define TRAINER_BECK 414
-#define TRAINER_YASU 415
-#define TRAINER_TAKASHI 416
-#define TRAINER_DIANNE 417
-#define TRAINER_JANI 418
-#define TRAINER_LAO_1 419
-#define TRAINER_LUNG 420
-#define TRAINER_LAO_2 421
-#define TRAINER_LAO_3 422
-#define TRAINER_LAO_4 423
-#define TRAINER_LAO_5 424
-#define TRAINER_JOCELYN 425
-#define TRAINER_LAURA 426
-#define TRAINER_CYNDY_1 427
-#define TRAINER_CORA 428
-#define TRAINER_PAULA 429
-#define TRAINER_CYNDY_2 430
-#define TRAINER_CYNDY_3 431
-#define TRAINER_CYNDY_4 432
-#define TRAINER_CYNDY_5 433
-#define TRAINER_MADELINE_1 434
-#define TRAINER_CLARISSA 435
-#define TRAINER_ANGELICA 436
-#define TRAINER_MADELINE_2 437
-#define TRAINER_MADELINE_3 438
-#define TRAINER_MADELINE_4 439
-#define TRAINER_MADELINE_5 440
-#define TRAINER_BEVERLY 441
-#define TRAINER_IMANI 442
-#define TRAINER_KYLA 443
-#define TRAINER_DENISE 444
-#define TRAINER_BETH 445
-#define TRAINER_TARA 446
-#define TRAINER_MISSY 447
-#define TRAINER_ALICE 448
-#define TRAINER_JENNY_1 449
-#define TRAINER_GRACE 450
-#define TRAINER_TANYA 451
-#define TRAINER_SHARON 452
-#define TRAINER_NIKKI 453
-#define TRAINER_BRENDA 454
-#define TRAINER_KATIE 455
-#define TRAINER_SUSIE 456
-#define TRAINER_KARA 457
-#define TRAINER_DANA 458
-#define TRAINER_SIENNA 459
-#define TRAINER_DEBRA 460
-#define TRAINER_LINDA 461
-#define TRAINER_KAYLEE 462
-#define TRAINER_LAUREL 463
-#define TRAINER_CARLEE 464
-#define TRAINER_JENNY_2 465
-#define TRAINER_JENNY_3 466
-#define TRAINER_JENNY_4 467
-#define TRAINER_JENNY_5 468
-#define TRAINER_HEIDI 469
-#define TRAINER_BECKY 470
-#define TRAINER_CAROL 471
-#define TRAINER_NANCY 472
-#define TRAINER_MARTHA 473
-#define TRAINER_DIANA_1 474
-#define TRAINER_CEDRIC 475
-#define TRAINER_IRENE 476
-#define TRAINER_DIANA_2 477
-#define TRAINER_DIANA_3 478
-#define TRAINER_DIANA_4 479
-#define TRAINER_DIANA_5 480
-#define TRAINER_AMY_AND_LIV_1 481
-#define TRAINER_AMY_AND_LIV_2 482
-#define TRAINER_GINA_AND_MIA_1 483
-#define TRAINER_MIU_AND_YUKI 484
-#define TRAINER_AMY_AND_LIV_3 485
-#define TRAINER_GINA_AND_MIA_2 486
-#define TRAINER_AMY_AND_LIV_4 487
-#define TRAINER_AMY_AND_LIV_5 488
-#define TRAINER_AMY_AND_LIV_6 489
-#define TRAINER_HUEY 490
-#define TRAINER_EDMOND 491
-#define TRAINER_ERNEST_1 492
-#define TRAINER_DWAYNE 493
-#define TRAINER_PHILLIP 494
-#define TRAINER_LEONARD 495
-#define TRAINER_DUNCAN 496
-#define TRAINER_ERNEST_2 497
-#define TRAINER_ERNEST_3 498
-#define TRAINER_ERNEST_4 499
-#define TRAINER_ERNEST_5 500
-#define TRAINER_ELI 501
-#define TRAINER_ANNIKA 502
-#define TRAINER_JAZMYN 503
-#define TRAINER_JONAS 504
-#define TRAINER_KAYLEY 505
-#define TRAINER_AURON 506
-#define TRAINER_KELVIN 507
-#define TRAINER_MARLEY 508
-#define TRAINER_REYNA 509
-#define TRAINER_HUDSON 510
-#define TRAINER_CONOR 511
-#define TRAINER_EDWIN_1 512
-#define TRAINER_HECTOR 513
-#define TRAINER_TABITHA_1 514
-#define TRAINER_EDWIN_2 515
-#define TRAINER_EDWIN_3 516
-#define TRAINER_EDWIN_4 517
-#define TRAINER_EDWIN_5 518
-#define TRAINER_WALLY_1 519
-#define TRAINER_BRENDAN_1 520
-#define TRAINER_BRENDAN_2 521
-#define TRAINER_BRENDAN_3 522
-#define TRAINER_BRENDAN_4 523
-#define TRAINER_BRENDAN_5 524
-#define TRAINER_BRENDAN_6 525
-#define TRAINER_BRENDAN_7 526
-#define TRAINER_BRENDAN_8 527
-#define TRAINER_BRENDAN_9 528
-#define TRAINER_MAY_1 529
-#define TRAINER_MAY_2 530
-#define TRAINER_MAY_3 531
-#define TRAINER_MAY_4 532
-#define TRAINER_MAY_5 533
-#define TRAINER_MAY_6 534
-#define TRAINER_MAY_7 535
-#define TRAINER_MAY_8 536
-#define TRAINER_MAY_9 537
-#define TRAINER_ISAAC_1 538
-#define TRAINER_DAVIS 539
-#define TRAINER_MITCHELL 540
-#define TRAINER_ISAAC_2 541
-#define TRAINER_ISAAC_3 542
-#define TRAINER_ISAAC_4 543
-#define TRAINER_ISAAC_5 544
-#define TRAINER_LYDIA_1 545
-#define TRAINER_HALLE 546
-#define TRAINER_GARRISON 547
-#define TRAINER_LYDIA_2 548
-#define TRAINER_LYDIA_3 549
-#define TRAINER_LYDIA_4 550
-#define TRAINER_LYDIA_5 551
-#define TRAINER_JACKSON_1 552
-#define TRAINER_LORENZO 553
-#define TRAINER_SEBASTIAN 554
-#define TRAINER_JACKSON_2 555
-#define TRAINER_JACKSON_3 556
-#define TRAINER_JACKSON_4 557
-#define TRAINER_JACKSON_5 558
-#define TRAINER_CATHERINE_1 559
-#define TRAINER_JENNA 560
-#define TRAINER_SOPHIA 561
-#define TRAINER_CATHERINE_2 562
-#define TRAINER_CATHERINE_3 563
-#define TRAINER_CATHERINE_4 564
-#define TRAINER_CATHERINE_5 565
-#define TRAINER_JULIO 566
-#define TRAINER_GRUNT_27 567
-#define TRAINER_GRUNT_28 568
-#define TRAINER_GRUNT_29 569
-#define TRAINER_GRUNT_30 570
-#define TRAINER_MARC 571
-#define TRAINER_BRENDEN 572
-#define TRAINER_LILITH 573
-#define TRAINER_CRISTIAN 574
-#define TRAINER_SYLVIA 575
-#define TRAINER_LEONARDO 576
-#define TRAINER_ATHENA 577
-#define TRAINER_HARRISON 578
-#define TRAINER_GRUNT_31 579
-#define TRAINER_CLARENCE 580
-#define TRAINER_TERRY 581
-#define TRAINER_NATE 582
-#define TRAINER_KATHLEEN 583
-#define TRAINER_CLIFFORD 584
-#define TRAINER_NICHOLAS 585
-#define TRAINER_GRUNT_32 586
-#define TRAINER_GRUNT_33 587
-#define TRAINER_GRUNT_34 588
-#define TRAINER_GRUNT_35 589
-#define TRAINER_GRUNT_36 590
-#define TRAINER_MACEY 591
-#define TRAINER_BRENDAN_10 592
-#define TRAINER_BRENDAN_11 593
-#define TRAINER_PAXTON 594
-#define TRAINER_ISABELLA 595
-#define TRAINER_GRUNT_37 596
-#define TRAINER_TABITHA_2 597
-#define TRAINER_JONATHAN 598
-#define TRAINER_BRENDAN_12 599
-#define TRAINER_MAY_10 600
-#define TRAINER_MAXIE_1 601
-#define TRAINER_MAXIE_2 602
-#define TRAINER_TIANA 603
-#define TRAINER_HALEY_1 604
-#define TRAINER_JANICE 605
-#define TRAINER_VIVI 606
-#define TRAINER_HALEY_2 607
-#define TRAINER_HALEY_3 608
-#define TRAINER_HALEY_4 609
-#define TRAINER_HALEY_5 610
-#define TRAINER_SALLY 611
-#define TRAINER_ROBIN 612
-#define TRAINER_ANDREA 613
-#define TRAINER_CRISSY 614
-#define TRAINER_RICK 615
-#define TRAINER_LYLE 616
-#define TRAINER_JOSE 617
-#define TRAINER_DOUG 618
-#define TRAINER_GREG 619
-#define TRAINER_KENT 620
-#define TRAINER_JAMES_1 621
-#define TRAINER_JAMES_2 622
-#define TRAINER_JAMES_3 623
-#define TRAINER_JAMES_4 624
-#define TRAINER_JAMES_5 625
-#define TRAINER_BRICE 626
-#define TRAINER_TRENT_1 627
-#define TRAINER_LENNY 628
-#define TRAINER_LUCAS_1 629
-#define TRAINER_ALAN 630
-#define TRAINER_CLARK 631
-#define TRAINER_ERIC 632
-#define TRAINER_LUCAS_2 633
-#define TRAINER_MIKE_1 634
-#define TRAINER_MIKE_2 635
-#define TRAINER_TRENT_2 636
-#define TRAINER_TRENT_3 637
-#define TRAINER_TRENT_4 638
-#define TRAINER_TRENT_5 639
-#define TRAINER_DEZ_AND_LUKE 640
-#define TRAINER_LEA_AND_JED 641
-#define TRAINER_KIRA_AND_DAN_1 642
-#define TRAINER_KIRA_AND_DAN_2 643
-#define TRAINER_KIRA_AND_DAN_3 644
-#define TRAINER_KIRA_AND_DAN_4 645
-#define TRAINER_KIRA_AND_DAN_5 646
-#define TRAINER_JOHANNA 647
-#define TRAINER_GERALD 648
-#define TRAINER_VIVIAN 649
-#define TRAINER_DANIELLE 650
-#define TRAINER_HIDEO 651
-#define TRAINER_KEIGO 652
-#define TRAINER_RILEY 653
-#define TRAINER_FLINT 654
-#define TRAINER_ASHLEY 655
-#define TRAINER_WALLY_2 656
-#define TRAINER_WALLY_3 657
-#define TRAINER_WALLY_4 658
-#define TRAINER_WALLY_5 659
-#define TRAINER_WALLY_6 660
-#define TRAINER_BRENDAN_13 661
-#define TRAINER_BRENDAN_14 662
-#define TRAINER_BRENDAN_15 663
-#define TRAINER_MAY_11 664
-#define TRAINER_MAY_12 665
-#define TRAINER_MAY_13 666
-#define TRAINER_JONAH 667
-#define TRAINER_HENRY 668
-#define TRAINER_ROGER 669
-#define TRAINER_ALEXA 670
-#define TRAINER_RUBEN 671
-#define TRAINER_KOJI_1 672
-#define TRAINER_WAYNE 673
-#define TRAINER_AIDAN 674
-#define TRAINER_REED 675
-#define TRAINER_TISHA 676
-#define TRAINER_TORI_AND_TIA 677
-#define TRAINER_KIM_AND_IRIS 678
-#define TRAINER_TYRA_AND_IVY 679
-#define TRAINER_MEL_AND_PAUL 680
-#define TRAINER_JOHN_AND_JAY_1 681
-#define TRAINER_JOHN_AND_JAY_2 682
-#define TRAINER_JOHN_AND_JAY_3 683
-#define TRAINER_JOHN_AND_JAY_4 684
-#define TRAINER_JOHN_AND_JAY_5 685
-#define TRAINER_RELI_AND_IAN 686
-#define TRAINER_LILA_AND_ROY_1 687
-#define TRAINER_LILA_AND_ROY_2 688
-#define TRAINER_LILA_AND_ROY_3 689
-#define TRAINER_LILA_AND_ROY_4 690
-#define TRAINER_LILA_AND_ROY_5 691
-#define TRAINER_LISA_AND_RAY 692
-#define TRAINER_CHRIS 693
-#define TRAINER_DAWSON 694
-#define TRAINER_SARAH 695
-#define TRAINER_DARIAN 696
-#define TRAINER_HAILEY 697
-#define TRAINER_CHANDLER 698
-#define TRAINER_KALEB 699
-#define TRAINER_JOSEPH 700
-#define TRAINER_ALYSSA 701
-#define TRAINER_MARCOS 702
-#define TRAINER_RHETT 703
-#define TRAINER_TYRON 704
-#define TRAINER_CELINA 705
-#define TRAINER_BIANCA 706
-#define TRAINER_HAYDEN 707
-#define TRAINER_SOPHIE 708
-#define TRAINER_COBY 709
-#define TRAINER_LAWRENCE 710
-#define TRAINER_WYATT 711
-#define TRAINER_ANGELINA 712
-#define TRAINER_KAI 713
-#define TRAINER_CHARLOTTE 714
-#define TRAINER_DEANDRE 715
-#define TRAINER_GRUNT_38 716
-#define TRAINER_GRUNT_39 717
-#define TRAINER_GRUNT_40 718
-#define TRAINER_GRUNT_41 719
-#define TRAINER_GRUNT_42 720
-#define TRAINER_GRUNT_43 721
-#define TRAINER_GRUNT_44 722
-#define TRAINER_GRUNT_45 723
-#define TRAINER_GRUNT_46 724
-#define TRAINER_GRUNT_47 725
-#define TRAINER_GRUNT_48 726
-#define TRAINER_GRUNT_49 727
-#define TRAINER_GRUNT_50 728
-#define TRAINER_GRUNT_51 729
-#define TRAINER_GRUNT_52 730
-#define TRAINER_GRUNT_53 731
-#define TRAINER_TABITHA_3 732
-#define TRAINER_DARCY 733
-#define TRAINER_MAXIE_3 734
-#define TRAINER_PETE 735
-#define TRAINER_ISABELLE 736
-#define TRAINER_ANDRES_1 737
-#define TRAINER_JOSUE 738
-#define TRAINER_CAMRON 739
-#define TRAINER_CORY_1 740
-#define TRAINER_CAROLINA 741
-#define TRAINER_ELIJAH 742
-#define TRAINER_CELIA 743
-#define TRAINER_BRYAN 744
-#define TRAINER_BRANDEN 745
-#define TRAINER_BRYANT 746
-#define TRAINER_SHAYLA 747
-#define TRAINER_KYRA 748
-#define TRAINER_JAIDEN 749
-#define TRAINER_ALIX 750
-#define TRAINER_HELENE 751
-#define TRAINER_MARLENE 752
-#define TRAINER_DEVAN 753
-#define TRAINER_JOHNSON 754
-#define TRAINER_MELINA 755
-#define TRAINER_BRANDI 756
-#define TRAINER_AISHA 757
-#define TRAINER_MAKAYLA 758
-#define TRAINER_FABIAN 759
-#define TRAINER_DAYTON 760
-#define TRAINER_RACHEL 761
-#define TRAINER_LEONEL 762
-#define TRAINER_CALLIE 763
-#define TRAINER_CALE 764
-#define TRAINER_MYLES 765
-#define TRAINER_PAT 766
-#define TRAINER_CRISTIN_1 767
-#define TRAINER_MAY_14 768
-#define TRAINER_MAY_15 769
-#define TRAINER_ROXANNE_2 770
-#define TRAINER_ROXANNE_3 771
-#define TRAINER_ROXANNE_4 772
-#define TRAINER_ROXANNE_5 773
-#define TRAINER_BRAWLY_2 774
-#define TRAINER_BRAWLY_3 775
-#define TRAINER_BRAWLY_4 776
-#define TRAINER_BRAWLY_5 777
-#define TRAINER_WATTSON_2 778
-#define TRAINER_WATTSON_3 779
-#define TRAINER_WATTSON_4 780
-#define TRAINER_WATTSON_5 781
-#define TRAINER_FLANNERY_2 782
-#define TRAINER_FLANNERY_3 783
-#define TRAINER_FLANNERY_4 784
-#define TRAINER_FLANNERY_5 785
-#define TRAINER_NORMAN_2 786
-#define TRAINER_NORMAN_3 787
-#define TRAINER_NORMAN_4 788
-#define TRAINER_NORMAN_5 789
-#define TRAINER_WINONA_2 790
-#define TRAINER_WINONA_3 791
-#define TRAINER_WINONA_4 792
-#define TRAINER_WINONA_5 793
-#define TRAINER_TATE_AND_LIZA_2 794
-#define TRAINER_TATE_AND_LIZA_3 795
-#define TRAINER_TATE_AND_LIZA_4 796
-#define TRAINER_TATE_AND_LIZA_5 797
-#define TRAINER_JUAN_2 798
-#define TRAINER_JUAN_3 799
-#define TRAINER_JUAN_4 800
-#define TRAINER_JUAN_5 801
-#define TRAINER_ANGELO 802
-#define TRAINER_DARIUS 803
-#define TRAINER_STEVEN 804
-#define TRAINER_ANABEL 805
-#define TRAINER_TUCKER 806
-#define TRAINER_SPENSER 807
-#define TRAINER_GRETA 808
-#define TRAINER_NOLAND 809
-#define TRAINER_LUCY 810
-#define TRAINER_BRANDON 811
-#define TRAINER_ANDRES_2 812
-#define TRAINER_ANDRES_3 813
-#define TRAINER_ANDRES_4 814
-#define TRAINER_ANDRES_5 815
-#define TRAINER_CORY_2 816
-#define TRAINER_CORY_3 817
-#define TRAINER_CORY_4 818
-#define TRAINER_CORY_5 819
-#define TRAINER_PABLO_2 820
-#define TRAINER_PABLO_3 821
-#define TRAINER_PABLO_4 822
-#define TRAINER_PABLO_5 823
-#define TRAINER_KOJI_2 824
-#define TRAINER_KOJI_3 825
-#define TRAINER_KOJI_4 826
-#define TRAINER_KOJI_5 827
-#define TRAINER_CRISTIN_2 828
-#define TRAINER_CRISTIN_3 829
-#define TRAINER_CRISTIN_4 830
-#define TRAINER_CRISTIN_5 831
-#define TRAINER_FERNANDO_2 832
-#define TRAINER_FERNANDO_3 833
-#define TRAINER_FERNANDO_4 834
-#define TRAINER_FERNANDO_5 835
-#define TRAINER_SAWYER_2 836
-#define TRAINER_SAWYER_3 837
-#define TRAINER_SAWYER_4 838
-#define TRAINER_SAWYER_5 839
-#define TRAINER_GABRIELLE_2 840
-#define TRAINER_GABRIELLE_3 841
-#define TRAINER_GABRIELLE_4 842
-#define TRAINER_GABRIELLE_5 843
-#define TRAINER_THALIA_2 844
-#define TRAINER_THALIA_3 845
-#define TRAINER_THALIA_4 846
-#define TRAINER_THALIA_5 847
-#define TRAINER_MARIELA 848
-#define TRAINER_ALVARO 849
-#define TRAINER_EVERETT 850
-#define TRAINER_RED 851
-#define TRAINER_LEAF 852
-#define TRAINER_BRENDAN_16 853
-#define TRAINER_MAY_16 854
+#define TRAINER_NONE 0
+#define TRAINER_SAWYER_1 1
+#define TRAINER_GRUNT_AQUA_HIDEOUT_1 2
+#define TRAINER_GRUNT_AQUA_HIDEOUT_2 3
+#define TRAINER_GRUNT_AQUA_HIDEOUT_3 4
+#define TRAINER_GRUNT_AQUA_HIDEOUT_4 5
+#define TRAINER_GRUNT_SEAFLOOR_CAVERN_1 6
+#define TRAINER_GRUNT_SEAFLOOR_CAVERN_2 7
+#define TRAINER_GRUNT_SEAFLOOR_CAVERN_3 8
+#define TRAINER_GABRIELLE_1 9
+#define TRAINER_GRUNT_PETALBURG_WOODS 10
+#define TRAINER_MARCEL 11
+#define TRAINER_ALBERTO 12
+#define TRAINER_ED 13
+#define TRAINER_GRUNT_SEAFLOOR_CAVERN_4 14
+#define TRAINER_DECLAN 15
+#define TRAINER_GRUNT_RUSTURF_TUNNEL 16
+#define TRAINER_GRUNT_WEATHER_INST_1 17
+#define TRAINER_GRUNT_WEATHER_INST_2 18
+#define TRAINER_GRUNT_WEATHER_INST_3 19
+#define TRAINER_GRUNT_MUSEUM_1 20
+#define TRAINER_GRUNT_MUSEUM_2 21
+#define TRAINER_GRUNT_SPACE_CENTER_1 22
+#define TRAINER_GRUNT_MT_PYRE_1 23
+#define TRAINER_GRUNT_MT_PYRE_2 24
+#define TRAINER_GRUNT_MT_PYRE_3 25
+#define TRAINER_GRUNT_WEATHER_INST_4 26
+#define TRAINER_GRUNT_AQUA_HIDEOUT_5 27
+#define TRAINER_GRUNT_AQUA_HIDEOUT_6 28
+#define TRAINER_FREDRICK 29
+#define TRAINER_MATT 30
+#define TRAINER_ZANDER 31
+#define TRAINER_SHELLY_WEATHER_INSTITUTE 32
+#define TRAINER_SHELLY_SEAFLOOR_CAVERN 33
+#define TRAINER_ARCHIE 34
+#define TRAINER_LEAH 35
+#define TRAINER_DAISY 36
+#define TRAINER_ROSE_1 37
+#define TRAINER_FELIX 38
+#define TRAINER_VIOLET 39
+#define TRAINER_ROSE_2 40
+#define TRAINER_ROSE_3 41
+#define TRAINER_ROSE_4 42
+#define TRAINER_ROSE_5 43
+#define TRAINER_DUSTY_1 44
+#define TRAINER_CHIP 45
+#define TRAINER_FOSTER 46
+#define TRAINER_DUSTY_2 47
+#define TRAINER_DUSTY_3 48
+#define TRAINER_DUSTY_4 49
+#define TRAINER_DUSTY_5 50
+#define TRAINER_GABBY_AND_TY_1 51
+#define TRAINER_GABBY_AND_TY_2 52
+#define TRAINER_GABBY_AND_TY_3 53
+#define TRAINER_GABBY_AND_TY_4 54
+#define TRAINER_GABBY_AND_TY_5 55
+#define TRAINER_GABBY_AND_TY_6 56
+#define TRAINER_LOLA_1 57
+#define TRAINER_AUSTINA 58
+#define TRAINER_GWEN 59
+#define TRAINER_LOLA_2 60
+#define TRAINER_LOLA_3 61
+#define TRAINER_LOLA_4 62
+#define TRAINER_LOLA_5 63
+#define TRAINER_RICKY_1 64
+#define TRAINER_SIMON 65
+#define TRAINER_CHARLIE 66
+#define TRAINER_RICKY_2 67
+#define TRAINER_RICKY_3 68
+#define TRAINER_RICKY_4 69
+#define TRAINER_RICKY_5 70
+#define TRAINER_RANDALL 71
+#define TRAINER_PARKER 72
+#define TRAINER_GEORGE 73
+#define TRAINER_BERKE 74
+#define TRAINER_BRAXTON 75
+#define TRAINER_VINCENT 76
+#define TRAINER_LEROY 77
+#define TRAINER_WILTON_1 78
+#define TRAINER_EDGAR 79
+#define TRAINER_ALBERT 80
+#define TRAINER_SAMUEL 81
+#define TRAINER_VITO 82
+#define TRAINER_OWEN 83
+#define TRAINER_WILTON_2 84
+#define TRAINER_WILTON_3 85
+#define TRAINER_WILTON_4 86
+#define TRAINER_WILTON_5 87
+#define TRAINER_WARREN 88
+#define TRAINER_MARY 89
+#define TRAINER_ALEXIA 90
+#define TRAINER_JODY 91
+#define TRAINER_WENDY 92
+#define TRAINER_KEIRA 93
+#define TRAINER_BROOKE_1 94
+#define TRAINER_JENNIFER 95
+#define TRAINER_HOPE 96
+#define TRAINER_SHANNON 97
+#define TRAINER_MICHELLE 98
+#define TRAINER_CAROLINE 99
+#define TRAINER_JULIE 100
+#define TRAINER_BROOKE_2 101
+#define TRAINER_BROOKE_3 102
+#define TRAINER_BROOKE_4 103
+#define TRAINER_BROOKE_5 104
+#define TRAINER_PATRICIA 105
+#define TRAINER_KINDRA 106
+#define TRAINER_TAMMY 107
+#define TRAINER_VALERIE_1 108
+#define TRAINER_TASHA 109
+#define TRAINER_VALERIE_2 110
+#define TRAINER_VALERIE_3 111
+#define TRAINER_VALERIE_4 112
+#define TRAINER_VALERIE_5 113
+#define TRAINER_CINDY_1 114
+#define TRAINER_DAPHNE 115
+#define TRAINER_GRUNT_SPACE_CENTER_2 116
+#define TRAINER_CINDY_2 117
+#define TRAINER_BRIANNA 118
+#define TRAINER_NAOMI 119
+#define TRAINER_CINDY_3 120
+#define TRAINER_CINDY_4 121
+#define TRAINER_CINDY_5 122
+#define TRAINER_CINDY_6 123
+#define TRAINER_MELISSA 124
+#define TRAINER_SHEILA 125
+#define TRAINER_SHIRLEY 126
+#define TRAINER_JESSICA_1 127
+#define TRAINER_CONNIE 128
+#define TRAINER_BRIDGET 129
+#define TRAINER_OLIVIA 130
+#define TRAINER_TIFFANY 131
+#define TRAINER_JESSICA_2 132
+#define TRAINER_JESSICA_3 133
+#define TRAINER_JESSICA_4 134
+#define TRAINER_JESSICA_5 135
+#define TRAINER_WINSTON_1 136
+#define TRAINER_MOLLIE 137
+#define TRAINER_GARRET 138
+#define TRAINER_WINSTON_2 139
+#define TRAINER_WINSTON_3 140
+#define TRAINER_WINSTON_4 141
+#define TRAINER_WINSTON_5 142
+#define TRAINER_STEVE_1 143
+#define TRAINER_THALIA_1 144
+#define TRAINER_MARK 145
+#define TRAINER_GRUNT_MT_CHIMNEY_1 146
+#define TRAINER_STEVE_2 147
+#define TRAINER_STEVE_3 148
+#define TRAINER_STEVE_4 149
+#define TRAINER_STEVE_5 150
+#define TRAINER_LUIS 151
+#define TRAINER_DOMINIK 152
+#define TRAINER_DOUGLAS 153
+#define TRAINER_DARRIN 154
+#define TRAINER_TONY_1 155
+#define TRAINER_JEROME 156
+#define TRAINER_MATTHEW 157
+#define TRAINER_DAVID 158
+#define TRAINER_SPENCER 159
+#define TRAINER_ROLAND 160
+#define TRAINER_NOLEN 161
+#define TRAINER_STAN 162
+#define TRAINER_BARRY 163
+#define TRAINER_DEAN 164
+#define TRAINER_RODNEY 165
+#define TRAINER_RICHARD 166
+#define TRAINER_HERMAN 167
+#define TRAINER_SANTIAGO 168
+#define TRAINER_GILBERT 169
+#define TRAINER_FRANKLIN 170
+#define TRAINER_KEVIN 171
+#define TRAINER_JACK 172
+#define TRAINER_DUDLEY 173
+#define TRAINER_CHAD 174
+#define TRAINER_TONY_2 175
+#define TRAINER_TONY_3 176
+#define TRAINER_TONY_4 177
+#define TRAINER_TONY_5 178
+#define TRAINER_TAKAO 179
+#define TRAINER_HITOSHI 180
+#define TRAINER_KIYO 181
+#define TRAINER_KOICHI 182
+#define TRAINER_NOB_1 183
+#define TRAINER_NOB_2 184
+#define TRAINER_NOB_3 185
+#define TRAINER_NOB_4 186
+#define TRAINER_NOB_5 187
+#define TRAINER_YUJI 188
+#define TRAINER_DAISUKE 189
+#define TRAINER_ATSUSHI 190
+#define TRAINER_KIRK 191
+#define TRAINER_GRUNT_AQUA_HIDEOUT_7 192
+#define TRAINER_GRUNT_AQUA_HIDEOUT_8 193
+#define TRAINER_SHAWN 194
+#define TRAINER_FERNANDO_1 195
+#define TRAINER_DALTON_1 196
+#define TRAINER_DALTON_2 197
+#define TRAINER_DALTON_3 198
+#define TRAINER_DALTON_4 199
+#define TRAINER_DALTON_5 200
+#define TRAINER_COLE 201
+#define TRAINER_JEFF 202
+#define TRAINER_AXLE 203
+#define TRAINER_JACE 204
+#define TRAINER_KEEGAN 205
+#define TRAINER_BERNIE_1 206
+#define TRAINER_BERNIE_2 207
+#define TRAINER_BERNIE_3 208
+#define TRAINER_BERNIE_4 209
+#define TRAINER_BERNIE_5 210
+#define TRAINER_DREW 211
+#define TRAINER_BEAU 212
+#define TRAINER_LARRY 213
+#define TRAINER_SHANE 214
+#define TRAINER_JUSTIN 215
+#define TRAINER_ETHAN_1 216
+#define TRAINER_AUTUMN 217
+#define TRAINER_TRAVIS 218
+#define TRAINER_ETHAN_2 219
+#define TRAINER_ETHAN_3 220
+#define TRAINER_ETHAN_4 221
+#define TRAINER_ETHAN_5 222
+#define TRAINER_BRENT 223
+#define TRAINER_DONALD 224
+#define TRAINER_TAYLOR 225
+#define TRAINER_JEFFREY_1 226
+#define TRAINER_DEREK 227
+#define TRAINER_JEFFREY_2 228
+#define TRAINER_JEFFREY_3 229
+#define TRAINER_JEFFREY_4 230
+#define TRAINER_JEFFREY_5 231
+#define TRAINER_EDWARD 232
+#define TRAINER_PRESTON 233
+#define TRAINER_VIRGIL 234
+#define TRAINER_BLAKE 235
+#define TRAINER_WILLIAM 236
+#define TRAINER_JOSHUA 237
+#define TRAINER_CAMERON_1 238
+#define TRAINER_CAMERON_2 239
+#define TRAINER_CAMERON_3 240
+#define TRAINER_CAMERON_4 241
+#define TRAINER_CAMERON_5 242
+#define TRAINER_JACLYN 243
+#define TRAINER_HANNAH 244
+#define TRAINER_SAMANTHA 245
+#define TRAINER_MAURA 246
+#define TRAINER_KAYLA 247
+#define TRAINER_ALEXIS 248
+#define TRAINER_JACKI_1 249
+#define TRAINER_JACKI_2 250
+#define TRAINER_JACKI_3 251
+#define TRAINER_JACKI_4 252
+#define TRAINER_JACKI_5 253
+#define TRAINER_WALTER_1 254
+#define TRAINER_MICAH 255
+#define TRAINER_THOMAS 256
+#define TRAINER_WALTER_2 257
+#define TRAINER_WALTER_3 258
+#define TRAINER_WALTER_4 259
+#define TRAINER_WALTER_5 260
+#define TRAINER_SIDNEY 261
+#define TRAINER_PHOEBE 262
+#define TRAINER_GLACIA 263
+#define TRAINER_DRAKE 264
+#define TRAINER_ROXANNE_1 265
+#define TRAINER_BRAWLY_1 266
+#define TRAINER_WATTSON_1 267
+#define TRAINER_FLANNERY_1 268
+#define TRAINER_NORMAN_1 269
+#define TRAINER_WINONA_1 270
+#define TRAINER_TATE_AND_LIZA_1 271
+#define TRAINER_JUAN_1 272
+#define TRAINER_JERRY_1 273
+#define TRAINER_TED 274
+#define TRAINER_PAUL 275
+#define TRAINER_JERRY_2 276
+#define TRAINER_JERRY_3 277
+#define TRAINER_JERRY_4 278
+#define TRAINER_JERRY_5 279
+#define TRAINER_KAREN_1 280
+#define TRAINER_GEORGIA 281
+#define TRAINER_KAREN_2 282
+#define TRAINER_KAREN_3 283
+#define TRAINER_KAREN_4 284
+#define TRAINER_KAREN_5 285
+#define TRAINER_KATE_AND_JOY 286
+#define TRAINER_ANNA_AND_MEG_1 287
+#define TRAINER_ANNA_AND_MEG_2 288
+#define TRAINER_ANNA_AND_MEG_3 289
+#define TRAINER_ANNA_AND_MEG_4 290
+#define TRAINER_ANNA_AND_MEG_5 291
+#define TRAINER_VICTOR 292
+#define TRAINER_MIGUEL_1 293
+#define TRAINER_COLTON 294
+#define TRAINER_MIGUEL_2 295
+#define TRAINER_MIGUEL_3 296
+#define TRAINER_MIGUEL_4 297
+#define TRAINER_MIGUEL_5 298
+#define TRAINER_VICTORIA 299
+#define TRAINER_VANESSA 300
+#define TRAINER_BETHANY 301
+#define TRAINER_ISABEL_1 302
+#define TRAINER_ISABEL_2 303
+#define TRAINER_ISABEL_3 304
+#define TRAINER_ISABEL_4 305
+#define TRAINER_ISABEL_5 306
+#define TRAINER_TIMOTHY_1 307
+#define TRAINER_TIMOTHY_2 308
+#define TRAINER_TIMOTHY_3 309
+#define TRAINER_TIMOTHY_4 310
+#define TRAINER_TIMOTHY_5 311
+#define TRAINER_VICKY 312
+#define TRAINER_SHELBY_1 313
+#define TRAINER_SHELBY_2 314
+#define TRAINER_SHELBY_3 315
+#define TRAINER_SHELBY_4 316
+#define TRAINER_SHELBY_5 317
+#define TRAINER_CALVIN_1 318
+#define TRAINER_BILLY 319
+#define TRAINER_JOSH 320
+#define TRAINER_TOMMY 321
+#define TRAINER_JOEY 322
+#define TRAINER_BEN 323
+#define TRAINER_QUINCY 324
+#define TRAINER_KATELYNN 325
+#define TRAINER_JAYLEN 326
+#define TRAINER_DILLON 327
+#define TRAINER_CALVIN_2 328
+#define TRAINER_CALVIN_3 329
+#define TRAINER_CALVIN_4 330
+#define TRAINER_CALVIN_5 331
+#define TRAINER_EDDIE 332
+#define TRAINER_ALLEN 333
+#define TRAINER_TIMMY 334
+#define TRAINER_WALLACE 335
+#define TRAINER_ANDREW 336
+#define TRAINER_IVAN 337
+#define TRAINER_CLAUDE 338
+#define TRAINER_ELLIOT_1 339
+#define TRAINER_NED 340
+#define TRAINER_DALE 341
+#define TRAINER_NOLAN 342
+#define TRAINER_BARNY 343
+#define TRAINER_WADE 344
+#define TRAINER_CARTER 345
+#define TRAINER_ELLIOT_2 346
+#define TRAINER_ELLIOT_3 347
+#define TRAINER_ELLIOT_4 348
+#define TRAINER_ELLIOT_5 349
+#define TRAINER_RONALD 350
+#define TRAINER_JACOB 351
+#define TRAINER_ANTHONY 352
+#define TRAINER_BENJAMIN_1 353
+#define TRAINER_BENJAMIN_2 354
+#define TRAINER_BENJAMIN_3 355
+#define TRAINER_BENJAMIN_4 356
+#define TRAINER_BENJAMIN_5 357
+#define TRAINER_ABIGAIL_1 358
+#define TRAINER_JASMINE 359
+#define TRAINER_ABIGAIL_2 360
+#define TRAINER_ABIGAIL_3 361
+#define TRAINER_ABIGAIL_4 362
+#define TRAINER_ABIGAIL_5 363
+#define TRAINER_DYLAN_1 364
+#define TRAINER_DYLAN_2 365
+#define TRAINER_DYLAN_3 366
+#define TRAINER_DYLAN_4 367
+#define TRAINER_DYLAN_5 368
+#define TRAINER_MARIA_1 369
+#define TRAINER_MARIA_2 370
+#define TRAINER_MARIA_3 371
+#define TRAINER_MARIA_4 372
+#define TRAINER_MARIA_5 373
+#define TRAINER_CAMDEN 374
+#define TRAINER_DEMETRIUS 375
+#define TRAINER_ISAIAH_1 376
+#define TRAINER_PABLO_1 377
+#define TRAINER_CHASE 378
+#define TRAINER_ISAIAH_2 379
+#define TRAINER_ISAIAH_3 380
+#define TRAINER_ISAIAH_4 381
+#define TRAINER_ISAIAH_5 382
+#define TRAINER_ISOBEL 383
+#define TRAINER_DONNY 384
+#define TRAINER_TALIA 385
+#define TRAINER_KATELYN_1 386
+#define TRAINER_ALLISON 387
+#define TRAINER_KATELYN_2 388
+#define TRAINER_KATELYN_3 389
+#define TRAINER_KATELYN_4 390
+#define TRAINER_KATELYN_5 391
+#define TRAINER_NICOLAS_1 392
+#define TRAINER_NICOLAS_2 393
+#define TRAINER_NICOLAS_3 394
+#define TRAINER_NICOLAS_4 395
+#define TRAINER_NICOLAS_5 396
+#define TRAINER_AARON 397
+#define TRAINER_PERRY 398
+#define TRAINER_HUGH 399
+#define TRAINER_PHIL 400
+#define TRAINER_JARED 401
+#define TRAINER_HUMBERTO 402
+#define TRAINER_PRESLEY 403
+#define TRAINER_EDWARDO 404
+#define TRAINER_COLIN 405
+#define TRAINER_ROBERT_1 406
+#define TRAINER_BENNY 407
+#define TRAINER_CHESTER 408
+#define TRAINER_ROBERT_2 409
+#define TRAINER_ROBERT_3 410
+#define TRAINER_ROBERT_4 411
+#define TRAINER_ROBERT_5 412
+#define TRAINER_ALEX 413
+#define TRAINER_BECK 414
+#define TRAINER_YASU 415
+#define TRAINER_TAKASHI 416
+#define TRAINER_DIANNE 417
+#define TRAINER_JANI 418
+#define TRAINER_LAO_1 419
+#define TRAINER_LUNG 420
+#define TRAINER_LAO_2 421
+#define TRAINER_LAO_3 422
+#define TRAINER_LAO_4 423
+#define TRAINER_LAO_5 424
+#define TRAINER_JOCELYN 425
+#define TRAINER_LAURA 426
+#define TRAINER_CYNDY_1 427
+#define TRAINER_CORA 428
+#define TRAINER_PAULA 429
+#define TRAINER_CYNDY_2 430
+#define TRAINER_CYNDY_3 431
+#define TRAINER_CYNDY_4 432
+#define TRAINER_CYNDY_5 433
+#define TRAINER_MADELINE_1 434
+#define TRAINER_CLARISSA 435
+#define TRAINER_ANGELICA 436
+#define TRAINER_MADELINE_2 437
+#define TRAINER_MADELINE_3 438
+#define TRAINER_MADELINE_4 439
+#define TRAINER_MADELINE_5 440
+#define TRAINER_BEVERLY 441
+#define TRAINER_IMANI 442
+#define TRAINER_KYLA 443
+#define TRAINER_DENISE 444
+#define TRAINER_BETH 445
+#define TRAINER_TARA 446
+#define TRAINER_MISSY 447
+#define TRAINER_ALICE 448
+#define TRAINER_JENNY_1 449
+#define TRAINER_GRACE 450
+#define TRAINER_TANYA 451
+#define TRAINER_SHARON 452
+#define TRAINER_NIKKI 453
+#define TRAINER_BRENDA 454
+#define TRAINER_KATIE 455
+#define TRAINER_SUSIE 456
+#define TRAINER_KARA 457
+#define TRAINER_DANA 458
+#define TRAINER_SIENNA 459
+#define TRAINER_DEBRA 460
+#define TRAINER_LINDA 461
+#define TRAINER_KAYLEE 462
+#define TRAINER_LAUREL 463
+#define TRAINER_CARLEE 464
+#define TRAINER_JENNY_2 465
+#define TRAINER_JENNY_3 466
+#define TRAINER_JENNY_4 467
+#define TRAINER_JENNY_5 468
+#define TRAINER_HEIDI 469
+#define TRAINER_BECKY 470
+#define TRAINER_CAROL 471
+#define TRAINER_NANCY 472
+#define TRAINER_MARTHA 473
+#define TRAINER_DIANA_1 474
+#define TRAINER_CEDRIC 475
+#define TRAINER_IRENE 476
+#define TRAINER_DIANA_2 477
+#define TRAINER_DIANA_3 478
+#define TRAINER_DIANA_4 479
+#define TRAINER_DIANA_5 480
+#define TRAINER_AMY_AND_LIV_1 481
+#define TRAINER_AMY_AND_LIV_2 482
+#define TRAINER_GINA_AND_MIA_1 483
+#define TRAINER_MIU_AND_YUKI 484
+#define TRAINER_AMY_AND_LIV_3 485
+#define TRAINER_GINA_AND_MIA_2 486
+#define TRAINER_AMY_AND_LIV_4 487
+#define TRAINER_AMY_AND_LIV_5 488
+#define TRAINER_AMY_AND_LIV_6 489
+#define TRAINER_HUEY 490
+#define TRAINER_EDMOND 491
+#define TRAINER_ERNEST_1 492
+#define TRAINER_DWAYNE 493
+#define TRAINER_PHILLIP 494
+#define TRAINER_LEONARD 495
+#define TRAINER_DUNCAN 496
+#define TRAINER_ERNEST_2 497
+#define TRAINER_ERNEST_3 498
+#define TRAINER_ERNEST_4 499
+#define TRAINER_ERNEST_5 500
+#define TRAINER_ELI 501
+#define TRAINER_ANNIKA 502
+#define TRAINER_JAZMYN 503
+#define TRAINER_JONAS 504
+#define TRAINER_KAYLEY 505
+#define TRAINER_AURON 506
+#define TRAINER_KELVIN 507
+#define TRAINER_MARLEY 508
+#define TRAINER_REYNA 509
+#define TRAINER_HUDSON 510
+#define TRAINER_CONOR 511
+#define TRAINER_EDWIN_1 512
+#define TRAINER_HECTOR 513
+#define TRAINER_TABITHA_MOSSDEEP 514
+#define TRAINER_EDWIN_2 515
+#define TRAINER_EDWIN_3 516
+#define TRAINER_EDWIN_4 517
+#define TRAINER_EDWIN_5 518
+#define TRAINER_WALLY_VR_1 519
+#define TRAINER_BRENDAN_ROUTE_103_MUDKIP 520
+#define TRAINER_BRENDAN_ROUTE_110_MUDKIP 521
+#define TRAINER_BRENDAN_ROUTE_119_MUDKIP 522
+#define TRAINER_BRENDAN_ROUTE_103_TREECKO 523
+#define TRAINER_BRENDAN_ROUTE_110_TREECKO 524
+#define TRAINER_BRENDAN_ROUTE_119_TREECKO 525
+#define TRAINER_BRENDAN_ROUTE_103_TORCHIC 526
+#define TRAINER_BRENDAN_ROUTE_110_TORCHIC 527
+#define TRAINER_BRENDAN_ROUTE_119_TORCHIC 528
+#define TRAINER_MAY_ROUTE_103_MUDKIP 529
+#define TRAINER_MAY_ROUTE_110_MUDKIP 530
+#define TRAINER_MAY_ROUTE_119_MUDKIP 531
+#define TRAINER_MAY_ROUTE_103_TREECKO 532
+#define TRAINER_MAY_ROUTE_110_TREECKO 533
+#define TRAINER_MAY_ROUTE_119_TREECKO 534
+#define TRAINER_MAY_ROUTE_103_TORCHIC 535
+#define TRAINER_MAY_ROUTE_110_TORCHIC 536
+#define TRAINER_MAY_ROUTE_119_TORCHIC 537
+#define TRAINER_ISAAC_1 538
+#define TRAINER_DAVIS 539
+#define TRAINER_MITCHELL 540
+#define TRAINER_ISAAC_2 541
+#define TRAINER_ISAAC_3 542
+#define TRAINER_ISAAC_4 543
+#define TRAINER_ISAAC_5 544
+#define TRAINER_LYDIA_1 545
+#define TRAINER_HALLE 546
+#define TRAINER_GARRISON 547
+#define TRAINER_LYDIA_2 548
+#define TRAINER_LYDIA_3 549
+#define TRAINER_LYDIA_4 550
+#define TRAINER_LYDIA_5 551
+#define TRAINER_JACKSON_1 552
+#define TRAINER_LORENZO 553
+#define TRAINER_SEBASTIAN 554
+#define TRAINER_JACKSON_2 555
+#define TRAINER_JACKSON_3 556
+#define TRAINER_JACKSON_4 557
+#define TRAINER_JACKSON_5 558
+#define TRAINER_CATHERINE_1 559
+#define TRAINER_JENNA 560
+#define TRAINER_SOPHIA 561
+#define TRAINER_CATHERINE_2 562
+#define TRAINER_CATHERINE_3 563
+#define TRAINER_CATHERINE_4 564
+#define TRAINER_CATHERINE_5 565
+#define TRAINER_JULIO 566
+#define TRAINER_GRUNT_SEAFLOOR_CAVERN_5 567
+#define TRAINER_GRUNT_UNUSED 568
+#define TRAINER_GRUNT_MT_PYRE_4 569
+#define TRAINER_GRUNT_JAGGED_PASS 570
+#define TRAINER_MARC 571
+#define TRAINER_BRENDEN 572
+#define TRAINER_LILITH 573
+#define TRAINER_CRISTIAN 574
+#define TRAINER_SYLVIA 575
+#define TRAINER_LEONARDO 576
+#define TRAINER_ATHENA 577
+#define TRAINER_HARRISON 578
+#define TRAINER_GRUNT_MT_CHIMNEY_2 579
+#define TRAINER_CLARENCE 580
+#define TRAINER_TERRY 581
+#define TRAINER_NATE 582
+#define TRAINER_KATHLEEN 583
+#define TRAINER_CLIFFORD 584
+#define TRAINER_NICHOLAS 585
+#define TRAINER_GRUNT_SPACE_CENTER_3 586
+#define TRAINER_GRUNT_SPACE_CENTER_4 587
+#define TRAINER_GRUNT_SPACE_CENTER_5 588
+#define TRAINER_GRUNT_SPACE_CENTER_6 589
+#define TRAINER_GRUNT_SPACE_CENTER_7 590
+#define TRAINER_MACEY 591
+#define TRAINER_BRENDAN_RUSTBORO_TREECKO 592
+#define TRAINER_BRENDAN_RUSTBORO_MUDKIP 593
+#define TRAINER_PAXTON 594
+#define TRAINER_ISABELLA 595
+#define TRAINER_GRUNT_WEATHER_INST_5 596
+#define TRAINER_TABITHA_MT_CHIMNEY 597
+#define TRAINER_JONATHAN 598
+#define TRAINER_BRENDAN_RUSTBORO_TORCHIC 599
+#define TRAINER_MAY_RUSTBORO_MUDKIP 600
+#define TRAINER_MAXIE_MAGMA_HIDEOUT 601
+#define TRAINER_MAXIE_MT_CHIMNEY 602
+#define TRAINER_TIANA 603
+#define TRAINER_HALEY_1 604
+#define TRAINER_JANICE 605
+#define TRAINER_VIVI 606
+#define TRAINER_HALEY_2 607
+#define TRAINER_HALEY_3 608
+#define TRAINER_HALEY_4 609
+#define TRAINER_HALEY_5 610
+#define TRAINER_SALLY 611
+#define TRAINER_ROBIN 612
+#define TRAINER_ANDREA 613
+#define TRAINER_CRISSY 614
+#define TRAINER_RICK 615
+#define TRAINER_LYLE 616
+#define TRAINER_JOSE 617
+#define TRAINER_DOUG 618
+#define TRAINER_GREG 619
+#define TRAINER_KENT 620
+#define TRAINER_JAMES_1 621
+#define TRAINER_JAMES_2 622
+#define TRAINER_JAMES_3 623
+#define TRAINER_JAMES_4 624
+#define TRAINER_JAMES_5 625
+#define TRAINER_BRICE 626
+#define TRAINER_TRENT_1 627
+#define TRAINER_LENNY 628
+#define TRAINER_LUCAS_1 629
+#define TRAINER_ALAN 630
+#define TRAINER_CLARK 631
+#define TRAINER_ERIC 632
+#define TRAINER_LUCAS_2 633
+#define TRAINER_MIKE_1 634
+#define TRAINER_MIKE_2 635
+#define TRAINER_TRENT_2 636
+#define TRAINER_TRENT_3 637
+#define TRAINER_TRENT_4 638
+#define TRAINER_TRENT_5 639
+#define TRAINER_DEZ_AND_LUKE 640
+#define TRAINER_LEA_AND_JED 641
+#define TRAINER_KIRA_AND_DAN_1 642
+#define TRAINER_KIRA_AND_DAN_2 643
+#define TRAINER_KIRA_AND_DAN_3 644
+#define TRAINER_KIRA_AND_DAN_4 645
+#define TRAINER_KIRA_AND_DAN_5 646
+#define TRAINER_JOHANNA 647
+#define TRAINER_GERALD 648
+#define TRAINER_VIVIAN 649
+#define TRAINER_DANIELLE 650
+#define TRAINER_HIDEO 651
+#define TRAINER_KEIGO 652
+#define TRAINER_RILEY 653
+#define TRAINER_FLINT 654
+#define TRAINER_ASHLEY 655
+#define TRAINER_WALLY_MAUVILLE 656
+#define TRAINER_WALLY_VR_2 657
+#define TRAINER_WALLY_VR_3 658
+#define TRAINER_WALLY_VR_4 659
+#define TRAINER_WALLY_VR_5 660
+#define TRAINER_BRENDAN_LILYCOVE_MUDKIP 661
+#define TRAINER_BRENDAN_LILYCOVE_TREECKO 662
+#define TRAINER_BRENDAN_LILYCOVE_TORCHIC 663
+#define TRAINER_MAY_LILYCOVE_MUDKIP 664
+#define TRAINER_MAY_LILYCOVE_TREECKO 665
+#define TRAINER_MAY_LILYCOVE_TORCHIC 666
+#define TRAINER_JONAH 667
+#define TRAINER_HENRY 668
+#define TRAINER_ROGER 669
+#define TRAINER_ALEXA 670
+#define TRAINER_RUBEN 671
+#define TRAINER_KOJI_1 672
+#define TRAINER_WAYNE 673
+#define TRAINER_AIDAN 674
+#define TRAINER_REED 675
+#define TRAINER_TISHA 676
+#define TRAINER_TORI_AND_TIA 677
+#define TRAINER_KIM_AND_IRIS 678
+#define TRAINER_TYRA_AND_IVY 679
+#define TRAINER_MEL_AND_PAUL 680
+#define TRAINER_JOHN_AND_JAY_1 681
+#define TRAINER_JOHN_AND_JAY_2 682
+#define TRAINER_JOHN_AND_JAY_3 683
+#define TRAINER_JOHN_AND_JAY_4 684
+#define TRAINER_JOHN_AND_JAY_5 685
+#define TRAINER_RELI_AND_IAN 686
+#define TRAINER_LILA_AND_ROY_1 687
+#define TRAINER_LILA_AND_ROY_2 688
+#define TRAINER_LILA_AND_ROY_3 689
+#define TRAINER_LILA_AND_ROY_4 690
+#define TRAINER_LILA_AND_ROY_5 691
+#define TRAINER_LISA_AND_RAY 692
+#define TRAINER_CHRIS 693
+#define TRAINER_DAWSON 694
+#define TRAINER_SARAH 695
+#define TRAINER_DARIAN 696
+#define TRAINER_HAILEY 697
+#define TRAINER_CHANDLER 698
+#define TRAINER_KALEB 699
+#define TRAINER_JOSEPH 700
+#define TRAINER_ALYSSA 701
+#define TRAINER_MARCOS 702
+#define TRAINER_RHETT 703
+#define TRAINER_TYRON 704
+#define TRAINER_CELINA 705
+#define TRAINER_BIANCA 706
+#define TRAINER_HAYDEN 707
+#define TRAINER_SOPHIE 708
+#define TRAINER_COBY 709
+#define TRAINER_LAWRENCE 710
+#define TRAINER_WYATT 711
+#define TRAINER_ANGELINA 712
+#define TRAINER_KAI 713
+#define TRAINER_CHARLOTTE 714
+#define TRAINER_DEANDRE 715
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_1 716
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_2 717
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_3 718
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_4 719
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_5 720
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_6 721
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_7 722
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_8 723
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_9 724
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_10 725
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_11 726
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_12 727
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_13 728
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_14 729
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_15 730
+#define TRAINER_GRUNT_MAGMA_HIDEOUT_16 731
+#define TRAINER_TABITHA_MAGMA_HIDEOUT 732
+#define TRAINER_DARCY 733
+#define TRAINER_MAXIE_MOSSDEEP 734
+#define TRAINER_PETE 735
+#define TRAINER_ISABELLE 736
+#define TRAINER_ANDRES_1 737
+#define TRAINER_JOSUE 738
+#define TRAINER_CAMRON 739
+#define TRAINER_CORY_1 740
+#define TRAINER_CAROLINA 741
+#define TRAINER_ELIJAH 742
+#define TRAINER_CELIA 743
+#define TRAINER_BRYAN 744
+#define TRAINER_BRANDEN 745
+#define TRAINER_BRYANT 746
+#define TRAINER_SHAYLA 747
+#define TRAINER_KYRA 748
+#define TRAINER_JAIDEN 749
+#define TRAINER_ALIX 750
+#define TRAINER_HELENE 751
+#define TRAINER_MARLENE 752
+#define TRAINER_DEVAN 753
+#define TRAINER_JOHNSON 754
+#define TRAINER_MELINA 755
+#define TRAINER_BRANDI 756
+#define TRAINER_AISHA 757
+#define TRAINER_MAKAYLA 758
+#define TRAINER_FABIAN 759
+#define TRAINER_DAYTON 760
+#define TRAINER_RACHEL 761
+#define TRAINER_LEONEL 762
+#define TRAINER_CALLIE 763
+#define TRAINER_CALE 764
+#define TRAINER_MYLES 765
+#define TRAINER_PAT 766
+#define TRAINER_CRISTIN_1 767
+#define TRAINER_MAY_RUSTBORO_TREECKO 768
+#define TRAINER_MAY_RUSTBORO_TORCHIC 769
+#define TRAINER_ROXANNE_2 770
+#define TRAINER_ROXANNE_3 771
+#define TRAINER_ROXANNE_4 772
+#define TRAINER_ROXANNE_5 773
+#define TRAINER_BRAWLY_2 774
+#define TRAINER_BRAWLY_3 775
+#define TRAINER_BRAWLY_4 776
+#define TRAINER_BRAWLY_5 777
+#define TRAINER_WATTSON_2 778
+#define TRAINER_WATTSON_3 779
+#define TRAINER_WATTSON_4 780
+#define TRAINER_WATTSON_5 781
+#define TRAINER_FLANNERY_2 782
+#define TRAINER_FLANNERY_3 783
+#define TRAINER_FLANNERY_4 784
+#define TRAINER_FLANNERY_5 785
+#define TRAINER_NORMAN_2 786
+#define TRAINER_NORMAN_3 787
+#define TRAINER_NORMAN_4 788
+#define TRAINER_NORMAN_5 789
+#define TRAINER_WINONA_2 790
+#define TRAINER_WINONA_3 791
+#define TRAINER_WINONA_4 792
+#define TRAINER_WINONA_5 793
+#define TRAINER_TATE_AND_LIZA_2 794
+#define TRAINER_TATE_AND_LIZA_3 795
+#define TRAINER_TATE_AND_LIZA_4 796
+#define TRAINER_TATE_AND_LIZA_5 797
+#define TRAINER_JUAN_2 798
+#define TRAINER_JUAN_3 799
+#define TRAINER_JUAN_4 800
+#define TRAINER_JUAN_5 801
+#define TRAINER_ANGELO 802
+#define TRAINER_DARIUS 803
+#define TRAINER_STEVEN 804
+#define TRAINER_ANABEL 805
+#define TRAINER_TUCKER 806
+#define TRAINER_SPENSER 807
+#define TRAINER_GRETA 808
+#define TRAINER_NOLAND 809
+#define TRAINER_LUCY 810
+#define TRAINER_BRANDON 811
+#define TRAINER_ANDRES_2 812
+#define TRAINER_ANDRES_3 813
+#define TRAINER_ANDRES_4 814
+#define TRAINER_ANDRES_5 815
+#define TRAINER_CORY_2 816
+#define TRAINER_CORY_3 817
+#define TRAINER_CORY_4 818
+#define TRAINER_CORY_5 819
+#define TRAINER_PABLO_2 820
+#define TRAINER_PABLO_3 821
+#define TRAINER_PABLO_4 822
+#define TRAINER_PABLO_5 823
+#define TRAINER_KOJI_2 824
+#define TRAINER_KOJI_3 825
+#define TRAINER_KOJI_4 826
+#define TRAINER_KOJI_5 827
+#define TRAINER_CRISTIN_2 828
+#define TRAINER_CRISTIN_3 829
+#define TRAINER_CRISTIN_4 830
+#define TRAINER_CRISTIN_5 831
+#define TRAINER_FERNANDO_2 832
+#define TRAINER_FERNANDO_3 833
+#define TRAINER_FERNANDO_4 834
+#define TRAINER_FERNANDO_5 835
+#define TRAINER_SAWYER_2 836
+#define TRAINER_SAWYER_3 837
+#define TRAINER_SAWYER_4 838
+#define TRAINER_SAWYER_5 839
+#define TRAINER_GABRIELLE_2 840
+#define TRAINER_GABRIELLE_3 841
+#define TRAINER_GABRIELLE_4 842
+#define TRAINER_GABRIELLE_5 843
+#define TRAINER_THALIA_2 844
+#define TRAINER_THALIA_3 845
+#define TRAINER_THALIA_4 846
+#define TRAINER_THALIA_5 847
+#define TRAINER_MARIELA 848
+#define TRAINER_ALVARO 849
+#define TRAINER_EVERETT 850
+#define TRAINER_RED 851
+#define TRAINER_LEAF 852
+#define TRAINER_BRENDAN_PLACEHOLDER 853
+#define TRAINER_MAY_PLACEHOLDER 854
-#define TRAINERS_COUNT 855
+// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows
+// More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled
+
+#define TRAINERS_COUNT 855
+#define MAX_TRAINERS_COUNT 864
#endif // GUARD_CONSTANTS_OPPONENTS_H
diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h
new file mode 100644
index 000000000..7953967ed
--- /dev/null
+++ b/include/constants/party_menu.h
@@ -0,0 +1,132 @@
+#ifndef GUARD_CONSTANTS_PARTY_MENU_H
+#define GUARD_CONSTANTS_PARTY_MENU_H
+
+#define AILMENT_NONE 0
+#define AILMENT_PSN 1
+#define AILMENT_PRZ 2
+#define AILMENT_SLP 3
+#define AILMENT_FRZ 4
+#define AILMENT_BRN 5
+#define AILMENT_PKRS 6
+#define AILMENT_FNT 7
+
+#define TUTOR_MOVE_MEGA_PUNCH 0
+#define TUTOR_MOVE_SWORDS_DANCE 1
+#define TUTOR_MOVE_MEGA_KICK 2
+#define TUTOR_MOVE_BODY_SLAM 3
+#define TUTOR_MOVE_DOUBLE_EDGE 4
+#define TUTOR_MOVE_COUNTER 5
+#define TUTOR_MOVE_SEISMIC_TOSS 6
+#define TUTOR_MOVE_MIMIC 7
+#define TUTOR_MOVE_METRONOME 8
+#define TUTOR_MOVE_SOFT_BOILED 9
+#define TUTOR_MOVE_DREAM_EATER 10
+#define TUTOR_MOVE_THUNDER_WAVE 11
+#define TUTOR_MOVE_EXPLOSION 12
+#define TUTOR_MOVE_ROCK_SLIDE 13
+#define TUTOR_MOVE_SUBSTITUTE 14
+#define TUTOR_MOVE_DYNAMIC_PUNCH 15
+#define TUTOR_MOVE_ROLLOUT 16
+#define TUTOR_MOVE_PSYCH_UP 17
+#define TUTOR_MOVE_SNORE 18
+#define TUTOR_MOVE_ICY_WIND 19
+#define TUTOR_MOVE_ENDURE 20
+#define TUTOR_MOVE_MUD_SLAP 21
+#define TUTOR_MOVE_ICE_PUNCH 22
+#define TUTOR_MOVE_SWAGGER 23
+#define TUTOR_MOVE_SLEEP_TALK 24
+#define TUTOR_MOVE_SWIFT 25
+#define TUTOR_MOVE_DEFENSE_CURL 26
+#define TUTOR_MOVE_THUNDER_PUNCH 27
+#define TUTOR_MOVE_FIRE_PUNCH 28
+#define TUTOR_MOVE_FURY_CUTTER 29
+#define TUTOR_MOVE_COUNT 30
+
+#define PARTY_LAYOUT_SINGLE 0
+#define PARTY_LAYOUT_DOUBLE 1
+#define PARTY_LAYOUT_MULTI 2
+#define PARTY_LAYOUT_MULTI_SHOWCASE 3 // The layout during the screen that appears just before a multi battle
+#define PARTY_LAYOUT_COUNT 4
+#define KEEP_PARTY_LAYOUT 0xFF
+
+#define PARTY_MENU_TYPE_FIELD 0
+#define PARTY_MENU_TYPE_IN_BATTLE 1
+#define PARTY_MENU_TYPE_CONTEST 2
+#define PARTY_MENU_TYPE_CHOOSE_MON 3
+#define PARTY_MENU_TYPE_CHOOSE_HALF 4 // multi battles, eReader battles, and some battle facilities
+#define PARTY_MENU_TYPE_MULTI_SHOWCASE 5
+#define PARTY_MENU_TYPE_DAYCARE 6
+#define PARTY_MENU_TYPE_MOVE_RELEARNER 7
+#define PARTY_MENU_TYPE_UNION_ROOM_REGISTER 8 // trading board
+#define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board
+#define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade
+#define PARTY_MENU_TYPE_MINIGAME 11
+#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12
+
+#define PARTY_ACTION_CHOOSE_MON 0
+#define PARTY_ACTION_SEND_OUT 1
+#define PARTY_ACTION_CANT_SWITCH 2
+#define PARTY_ACTION_USE_ITEM 3
+#define PARTY_ACTION_ABILITY_PREVENTS 4
+#define PARTY_ACTION_GIVE_ITEM 5
+#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC
+#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7
+#define PARTY_ACTION_SWITCH 8
+#define PARTY_ACTION_SWITCHING 9
+#define PARTY_ACTION_SOFTBOILED 10
+#define PARTY_ACTION_CHOOSE_AND_CLOSE 11
+#define PARTY_ACTION_MOVE_TUTOR 12
+#define PARTY_ACTION_MINIGAME 13
+#define PARTY_ACTION_REUSABLE_ITEM 14 // Unused. The only reusable items are handled separately
+
+// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu
+#define PARTY_MSG_CHOOSE_MON 0
+#define PARTY_MSG_CHOOSE_MON_OR_CANCEL 1
+#define PARTY_MSG_CHOOSE_MON_AND_CONFIRM 2
+#define PARTY_MSG_MOVE_TO_WHERE 3
+#define PARTY_MSG_TEACH_WHICH_MON 4
+#define PARTY_MSG_USE_ON_WHICH_MON 5
+#define PARTY_MSG_GIVE_TO_WHICH_MON 6
+#define PARTY_MSG_NOTHING_TO_CUT 7
+#define PARTY_MSG_CANT_SURF_HERE 8
+#define PARTY_MSG_ALREADY_SURFING 9
+#define PARTY_MSG_CURRENT_TOO_FAST 10
+#define PARTY_MSG_ENJOY_CYCLING 11
+#define PARTY_MSG_ALREADY_IN_USE 12
+#define PARTY_MSG_CANT_USE_HERE 13
+#define PARTY_MSG_NO_MON_FOR_BATTLE 14
+#define PARTY_MSG_CHOOSE_MON_2 15
+#define PARTY_MSG_NOT_ENOUGH_HP 16
+#define PARTY_MSG_X_MONS_ARE_NEEDED 17
+#define PARTY_MSG_MONS_CANT_BE_SAME 18
+#define PARTY_MSG_NO_SAME_HOLD_ITEMS 19
+#define PARTY_MSG_UNUSED 20
+#define PARTY_MSG_DO_WHAT_WITH_MON 21
+#define PARTY_MSG_RESTORE_WHICH_MOVE 22
+#define PARTY_MSG_BOOST_PP_WHICH_MOVE 23
+#define PARTY_MSG_DO_WHAT_WITH_ITEM 24
+#define PARTY_MSG_DO_WHAT_WITH_MAIL 25
+#define PARTY_MSG_ALREADY_HOLDING_ONE 26
+#define PARTY_MSG_NONE 127
+
+// IDs for DisplayPartyPokemonDescriptionText, to display a message in the party pokemon's box
+#define PARTYBOX_DESC_NO_USE 0
+#define PARTYBOX_DESC_ABLE_3 1
+#define PARTYBOX_DESC_FIRST 2
+#define PARTYBOX_DESC_SECOND 3
+#define PARTYBOX_DESC_THIRD 4
+#define PARTYBOX_DESC_FOURTH 5
+#define PARTYBOX_DESC_ABLE 6
+#define PARTYBOX_DESC_NOT_ABLE 7
+#define PARTYBOX_DESC_ABLE_2 8
+#define PARTYBOX_DESC_NOT_ABLE_2 9
+#define PARTYBOX_DESC_LEARNED 10
+#define PARTYBOX_DESC_HAVE 11
+#define PARTYBOX_DESC_DONT_HAVE 12
+
+#define SELECTWINDOW_ACTIONS 0
+#define SELECTWINDOW_ITEM 1
+#define SELECTWINDOW_MAIL 2
+#define SELECTWINDOW_MOVES 3
+
+#endif // GUARD_CONSTANTS_PARTY_MENU_H
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index 5d0e562bc..97e3f0686 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -2,87 +2,280 @@
#define GUARD_CONSTANTS_POKEMON_H
// Pokemon types
-#define TYPE_NONE 0xFF
-#define TYPE_NORMAL 0x00
-#define TYPE_FIGHTING 0x01
-#define TYPE_FLYING 0x02
-#define TYPE_POISON 0x03
-#define TYPE_GROUND 0x04
-#define TYPE_ROCK 0x05
-#define TYPE_BUG 0x06
-#define TYPE_GHOST 0x07
-#define TYPE_STEEL 0x08
-#define TYPE_MYSTERY 0x09
-#define TYPE_FIRE 0x0a
-#define TYPE_WATER 0x0b
-#define TYPE_GRASS 0x0c
-#define TYPE_ELECTRIC 0x0d
-#define TYPE_PSYCHIC 0x0e
-#define TYPE_ICE 0x0f
-#define TYPE_DRAGON 0x10
-#define TYPE_DARK 0x11
-#define NUMBER_OF_MON_TYPES 0x12
-
+#define TYPE_NONE 255
+#define TYPE_NORMAL 0
+#define TYPE_FIGHTING 1
+#define TYPE_FLYING 2
+#define TYPE_POISON 3
+#define TYPE_GROUND 4
+#define TYPE_ROCK 5
+#define TYPE_BUG 6
+#define TYPE_GHOST 7
+#define TYPE_STEEL 8
+#define TYPE_MYSTERY 9
+#define TYPE_FIRE 10
+#define TYPE_WATER 11
+#define TYPE_GRASS 12
+#define TYPE_ELECTRIC 13
+#define TYPE_PSYCHIC 14
+#define TYPE_ICE 15
+#define TYPE_DRAGON 16
+#define TYPE_DARK 17
+#define NUMBER_OF_MON_TYPES 18
// Pokemon egg groups
-#define EGG_GROUP_NONE 0
-#define EGG_GROUP_MONSTER 1
-#define EGG_GROUP_WATER_1 2
-#define EGG_GROUP_BUG 3
-#define EGG_GROUP_FLYING 4
-#define EGG_GROUP_FIELD 5
-#define EGG_GROUP_FAIRY 6
-#define EGG_GROUP_GRASS 7
-#define EGG_GROUP_HUMAN_LIKE 8
-#define EGG_GROUP_WATER_3 9
-#define EGG_GROUP_MINERAL 10
-#define EGG_GROUP_AMORPHOUS 11
-#define EGG_GROUP_WATER_2 12
-#define EGG_GROUP_DITTO 13
-#define EGG_GROUP_DRAGON 14
-#define EGG_GROUP_UNDISCOVERED 15
+#define EGG_GROUP_NONE 0
+#define EGG_GROUP_MONSTER 1
+#define EGG_GROUP_WATER_1 2
+#define EGG_GROUP_BUG 3
+#define EGG_GROUP_FLYING 4
+#define EGG_GROUP_FIELD 5
+#define EGG_GROUP_FAIRY 6
+#define EGG_GROUP_GRASS 7
+#define EGG_GROUP_HUMAN_LIKE 8
+#define EGG_GROUP_WATER_3 9
+#define EGG_GROUP_MINERAL 10
+#define EGG_GROUP_AMORPHOUS 11
+#define EGG_GROUP_WATER_2 12
+#define EGG_GROUP_DITTO 13
+#define EGG_GROUP_DRAGON 14
+#define EGG_GROUP_UNDISCOVERED 15
+
+#define EGG_GROUPS_PER_MON 2
// Pokemon natures
-#define NATURE_HARDY 0
-#define NATURE_LONELY 1
-#define NATURE_BRAVE 2
-#define NATURE_ADAMANT 3
-#define NATURE_NAUGHTY 4
-#define NATURE_BOLD 5
-#define NATURE_DOCILE 6
-#define NATURE_RELAXED 7
-#define NATURE_IMPISH 8
-#define NATURE_LAX 9
-#define NATURE_TIMID 10
-#define NATURE_HASTY 11
-#define NATURE_SERIOUS 12
-#define NATURE_JOLLY 13
-#define NATURE_NAIVE 14
-#define NATURE_MODEST 15
-#define NATURE_MILD 16
-#define NATURE_QUIET 17
-#define NATURE_BASHFUL 18
-#define NATURE_RASH 19
-#define NATURE_CALM 20
-#define NATURE_GENTLE 21
-#define NATURE_SASSY 22
-#define NATURE_CAREFUL 23
-#define NATURE_QUIRKY 24
+#define NATURE_HARDY 0
+#define NATURE_LONELY 1
+#define NATURE_BRAVE 2
+#define NATURE_ADAMANT 3
+#define NATURE_NAUGHTY 4
+#define NATURE_BOLD 5
+#define NATURE_DOCILE 6
+#define NATURE_RELAXED 7
+#define NATURE_IMPISH 8
+#define NATURE_LAX 9
+#define NATURE_TIMID 10
+#define NATURE_HASTY 11
+#define NATURE_SERIOUS 12
+#define NATURE_JOLLY 13
+#define NATURE_NAIVE 14
+#define NATURE_MODEST 15
+#define NATURE_MILD 16
+#define NATURE_QUIET 17
+#define NATURE_BASHFUL 18
+#define NATURE_RASH 19
+#define NATURE_CALM 20
+#define NATURE_GENTLE 21
+#define NATURE_SASSY 22
+#define NATURE_CAREFUL 23
+#define NATURE_QUIRKY 24
// Pokemon Stats
-#define STAT_HP 0
-#define STAT_ATK 1
-#define STAT_DEF 2
-#define STAT_SPEED 3
-#define STAT_SPATK 4
-#define STAT_SPDEF 5
-#define STAT_ACC 6 // Only in battles.
+#define STAT_HP 0
+#define STAT_ATK 1
+#define STAT_DEF 2
+#define STAT_SPEED 3
+#define STAT_SPATK 4
+#define STAT_SPDEF 5
+#define STAT_ACC 6 // Only in battles.
#define STAT_EVASION 7 // Only in battles.
-#define NUM_STATS 6
-#define NUM_BATTLE_STATS 8
+#define NUM_EV_STATS NUM_STATS - 1 // excludes HP
+#define NUM_BATTLE_STATS NUM_STATS + 2 // includes Accuracy and Evasion
// Shiny odds
#define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536
+// Flags for Get(Box)MonData / Set(Box)MonData
+#define MON_DATA_PERSONALITY 0
+#define MON_DATA_OT_ID 1
+#define MON_DATA_NICKNAME 2
+#define MON_DATA_LANGUAGE 3
+#define MON_DATA_SANITY_IS_BAD_EGG 4
+#define MON_DATA_SANITY_HAS_SPECIES 5
+#define MON_DATA_SANITY_IS_EGG 6
+#define MON_DATA_OT_NAME 7
+#define MON_DATA_MARKINGS 8
+#define MON_DATA_CHECKSUM 9
+#define MON_DATA_ENCRYPT_SEPARATOR 10
+#define MON_DATA_SPECIES 11
+#define MON_DATA_HELD_ITEM 12
+#define MON_DATA_MOVE1 13
+#define MON_DATA_MOVE2 14
+#define MON_DATA_MOVE3 15
+#define MON_DATA_MOVE4 16
+#define MON_DATA_PP1 17
+#define MON_DATA_PP2 18
+#define MON_DATA_PP3 19
+#define MON_DATA_PP4 20
+#define MON_DATA_PP_BONUSES 21
+#define MON_DATA_COOL 22
+#define MON_DATA_BEAUTY 23
+#define MON_DATA_CUTE 24
+#define MON_DATA_EXP 25
+#define MON_DATA_HP_EV 26
+#define MON_DATA_ATK_EV 27
+#define MON_DATA_DEF_EV 28
+#define MON_DATA_SPEED_EV 29
+#define MON_DATA_SPATK_EV 30
+#define MON_DATA_SPDEF_EV 31
+#define MON_DATA_FRIENDSHIP 32
+#define MON_DATA_SMART 33
+#define MON_DATA_POKERUS 34
+#define MON_DATA_MET_LOCATION 35
+#define MON_DATA_MET_LEVEL 36
+#define MON_DATA_MET_GAME 37
+#define MON_DATA_POKEBALL 38
+#define MON_DATA_HP_IV 39
+#define MON_DATA_ATK_IV 40
+#define MON_DATA_DEF_IV 41
+#define MON_DATA_SPEED_IV 42
+#define MON_DATA_SPATK_IV 43
+#define MON_DATA_SPDEF_IV 44
+#define MON_DATA_IS_EGG 45
+#define MON_DATA_ABILITY_NUM 46
+#define MON_DATA_TOUGH 47
+#define MON_DATA_SHEEN 48
+#define MON_DATA_OT_GENDER 49
+#define MON_DATA_COOL_RIBBON 50
+#define MON_DATA_BEAUTY_RIBBON 51
+#define MON_DATA_CUTE_RIBBON 52
+#define MON_DATA_SMART_RIBBON 53
+#define MON_DATA_TOUGH_RIBBON 54
+#define MON_DATA_STATUS 55
+#define MON_DATA_LEVEL 56
+#define MON_DATA_HP 57
+#define MON_DATA_MAX_HP 58
+#define MON_DATA_ATK 59
+#define MON_DATA_DEF 60
+#define MON_DATA_SPEED 61
+#define MON_DATA_SPATK 62
+#define MON_DATA_SPDEF 63
+#define MON_DATA_MAIL 64
+#define MON_DATA_SPECIES2 65
+#define MON_DATA_IVS 66
+#define MON_DATA_CHAMPION_RIBBON 67
+#define MON_DATA_WINNING_RIBBON 68
+#define MON_DATA_VICTORY_RIBBON 69
+#define MON_DATA_ARTIST_RIBBON 70
+#define MON_DATA_EFFORT_RIBBON 71
+#define MON_DATA_GIFT_RIBBON_1 72
+#define MON_DATA_GIFT_RIBBON_2 73
+#define MON_DATA_GIFT_RIBBON_3 74
+#define MON_DATA_GIFT_RIBBON_4 75
+#define MON_DATA_GIFT_RIBBON_5 76
+#define MON_DATA_GIFT_RIBBON_6 77
+#define MON_DATA_GIFT_RIBBON_7 78
+#define MON_DATA_FATEFUL_ENCOUNTER 79
+#define MON_DATA_OBEDIENCE 80
+#define MON_DATA_KNOWN_MOVES 81
+#define MON_DATA_RIBBON_COUNT 82
+#define MON_DATA_RIBBONS 83
+#define MON_DATA_ATK2 84
+#define MON_DATA_DEF2 85
+#define MON_DATA_SPEED2 86
+#define MON_DATA_SPATK2 87
+#define MON_DATA_SPDEF2 88
+
+#define MIN_LEVEL 1
+#define MAX_LEVEL 100
+
+#define OT_ID_PLAYER_ID 0
+#define OT_ID_PRESET 1
+#define OT_ID_RANDOM_NO_SHINY 2
+
+#define MON_GIVEN_TO_PARTY 0
+#define MON_GIVEN_TO_PC 1
+#define MON_CANT_GIVE 2
+
+#define PLAYER_HAS_TWO_USABLE_MONS 0
+#define PLAYER_HAS_ONE_MON 1
+#define PLAYER_HAS_ONE_USABLE_MON 2
+
+#define MON_ALREADY_KNOWS_MOVE 0xFFFE
+#define MON_HAS_MAX_MOVES 0xFFFF
+
+#define LEVEL_UP_MOVE_ID 0x01FF
+#define LEVEL_UP_MOVE_LV 0xFE00
+#define LEVEL_UP_END 0xFFFF
+
+#define MON_MALE 0x00
+#define MON_FEMALE 0xFE
+#define MON_GENDERLESS 0xFF
+
+#define FRIENDSHIP_EVENT_GROW_LEVEL 0
+#define FRIENDSHIP_EVENT_VITAMIN 1 // unused
+#define FRIENDSHIP_EVENT_BATTLE_ITEM 2 // unused
+#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 3
+#define FRIENDSHIP_EVENT_LEARN_TMHM 4
+#define FRIENDSHIP_EVENT_WALKING 5
+#define FRIENDSHIP_EVENT_FAINT_SMALL 6
+#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 7
+#define FRIENDSHIP_EVENT_FAINT_LARGE 8
+
+#define MAX_FRIENDSHIP 0xFF
+
+#define STATUS_PRIMARY_NONE 0
+#define STATUS_PRIMARY_POISON 1
+#define STATUS_PRIMARY_PARALYSIS 2
+#define STATUS_PRIMARY_SLEEP 3
+#define STATUS_PRIMARY_FREEZE 4
+#define STATUS_PRIMARY_BURN 5
+#define STATUS_PRIMARY_POKERUS 6
+#define STATUS_PRIMARY_FAINTED 7
+
+#define MAX_TOTAL_EVS 510
+#define EV_ITEM_RAISE_LIMIT 100
+
+#define UNOWN_FORM_COUNT 28
+
+// Battle move flags
+#define FLAG_MAKES_CONTACT 0x1
+#define FLAG_PROTECT_AFFECTED 0x2
+#define FLAG_MAGICCOAT_AFFECTED 0x4
+#define FLAG_SNATCH_AFFECTED 0x8
+#define FLAG_MIRROR_MOVE_AFFECTED 0x10
+#define FLAG_KINGSROCK_AFFECTED 0x20
+
+// Growth rates
+#define GROWTH_MEDIUM_FAST 0
+#define GROWTH_ERRATIC 1
+#define GROWTH_FLUCTUATING 2
+#define GROWTH_MEDIUM_SLOW 3
+#define GROWTH_FAST 4
+#define GROWTH_SLOW 5
+
+// Body colors for pokedex search
+#define BODY_COLOR_RED 0
+#define BODY_COLOR_BLUE 1
+#define BODY_COLOR_YELLOW 2
+#define BODY_COLOR_GREEN 3
+#define BODY_COLOR_BLACK 4
+#define BODY_COLOR_BROWN 5
+#define BODY_COLOR_PURPLE 6
+#define BODY_COLOR_GRAY 7
+#define BODY_COLOR_WHITE 8
+#define BODY_COLOR_PINK 9
+
+#define F_SUMMARY_SCREEN_FLIP_SPRITE 0x80
+
+// Evolution type flags
+#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
+#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
+#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220
+#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level
+#define EVO_TRADE 0x0005 // Pokémon is traded
+#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item
+#define EVO_ITEM 0x0007 // specified item is used on Pokémon
+#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense
+#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense
+#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense
+#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value
+#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value
+#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask)
+#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
+#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
+
+#define EVOS_PER_MON 5
+
#endif // GUARD_CONSTANTS_POKEMON_H
diff --git a/include/constants/script_menu.h b/include/constants/script_menu.h
new file mode 100644
index 000000000..928ca00e0
--- /dev/null
+++ b/include/constants/script_menu.h
@@ -0,0 +1,168 @@
+#ifndef GUARD_SCRIPT_MENU_CONSTANTS_H
+#define GUARD_SCRIPT_MENU_CONSTANTS_H
+
+#define MULTICHOICE(name) {name, ARRAY_COUNT(name)}
+
+#define MAX_MULTICHOICE_WIDTH 28
+
+#define MULTI_B_PRESSED 127
+
+// Multichoice Ids
+#define MULTI_BRINEY_ON_DEWFORD 0
+#define MULTI_PC 1 // Exit only, populated by CreatePCMultichoice
+#define MULTI_ENTERINFO 2
+#define MULTI_CONTEST_INFO 3
+#define MULTI_CONTEST_TYPE 4
+#define MULTI_BASE_PC_NO_REGISTRY 5
+#define MULTI_BASE_PC_WITH_REGISTRY 6
+#define MULTI_REGISTER_MENU 7
+#define MULTI_SSTIDAL_LILYCOVE 8 // Exit only, populated by CreateLilycoveSSTidalMultichoice
+#define MULTI_UNUSED_9 9
+#define MULTI_UNUSED_10 10
+#define MULTI_FRONTIER_PASS_INFO 11
+#define MULTI_BIKE 12
+#define MULTI_STATUS_INFO 13
+#define MULTI_BRINEY_OFF_DEWFORD 14
+#define MULTI_UNUSED_15 15
+#define MULTI_VIEWED_PAINTINGS 16
+#define MULTI_YESNOINFO 17
+#define MULTI_BATTLE_MODE 18
+#define MULTI_UNUSED_19 19
+#define MULTI_YESNOINFO_2 20
+#define MULTI_UNUSED_21 21
+#define MULTI_UNUSED_22 22
+#define MULTI_CHALLENGEINFO 23
+#define MULTI_LEVEL_MODE 24
+#define MULTI_MECHADOLL1_Q1 25
+#define MULTI_MECHADOLL1_Q2 26
+#define MULTI_MECHADOLL1_Q3 27
+#define MULTI_MECHADOLL2_Q1 28
+#define MULTI_MECHADOLL2_Q2 29
+#define MULTI_MECHADOLL2_Q3 30
+#define MULTI_MECHADOLL3_Q1 31
+#define MULTI_MECHADOLL3_Q2 32
+#define MULTI_MECHADOLL3_Q3 33
+#define MULTI_MECHADOLL4_Q1 34
+#define MULTI_MECHADOLL4_Q2 35
+#define MULTI_MECHADOLL4_Q3 36
+#define MULTI_MECHADOLL5_Q1 37
+#define MULTI_MECHADOLL5_Q2 38
+#define MULTI_MECHADOLL5_Q3 39
+#define MULTI_UNUSED_40 40
+#define MULTI_UNUSED_41 41
+#define MULTI_VENDING_MACHINE 42
+#define MULTI_MACH_BIKE_INFO 43
+#define MULTI_ACRO_BIKE_INFO 44
+#define MULTI_SATISFACTION 45
+#define MULTI_STERN_DEEPSEA 46
+#define MULTI_UNUSED_ASH_VENDOR 47 // Replaced by scrollable multichoice
+#define MULTI_GAME_CORNER_DOLLS 48
+#define MULTI_GAME_CORNER_COINS 49
+#define MULTI_HOWS_FISHING 50
+#define MULTI_UNUSED_51 51
+#define MULTI_SSTIDAL_SLATEPORT_WITH_BF 52
+#define MULTI_SSTIDAL_BATTLE_FRONTIER 53
+#define MULTI_RIGHTLEFT 54
+#define MULTI_GAME_CORNER_TMS 55
+#define MULTI_SSTIDAL_SLATEPORT_NO_BF 56
+#define MULTI_FLOORS 57
+#define MULTI_SHARDS_R 58
+#define MULTI_SHARDS_Y 59
+#define MULTI_SHARDS_RY 60
+#define MULTI_SHARDS_B 61
+#define MULTI_SHARDS_RB 62
+#define MULTI_SHARDS_YB 63
+#define MULTI_SHARDS_RYB 64
+#define MULTI_SHARDS_G 65
+#define MULTI_SHARDS_RG 66
+#define MULTI_SHARDS_YG 67
+#define MULTI_SHARDS_RYG 68
+#define MULTI_SHARDS_BG 69
+#define MULTI_SHARDS_RBG 70
+#define MULTI_SHARDS_YBG 71
+#define MULTI_SHARDS_RYBG 72
+#define MULTI_TOURNEY_WITH_RECORD 73
+#define MULTI_CABLE_CLUB_NO_RECORD_MIX 74
+#define MULTI_WIRELESS_NO_RECORD_BERRY 75
+#define MULTI_CABLE_CLUB_WITH_RECORD_MIX 76
+#define MULTI_WIRELESS_NO_BERRY 77
+#define MULTI_WIRELESS_NO_RECORD 78
+#define MULTI_WIRELESS_ALL_SERVICES 79
+#define MULTI_WIRELESS_MINIGAME 80
+#define MULTI_LINK_LEADER 81
+#define MULTI_CONTEST_RANK 82
+#define MULTI_FRONTIER_ITEM_CHOOSE 83
+#define MULTI_LINK_CONTEST_INFO 84
+#define MULTI_LINK_CONTEST_MODE 85
+#define MULTI_FORCED_START_MENU 86
+#define MULTI_FRONTIER_GAMBLER_BET 87
+#define MULTI_TENT 88
+#define MULTI_UNUSED_SSTIDAL_1 89 // These 4 were replaced by CreateLilycoveSSTidalMultichoice
+#define MULTI_UNUSED_SSTIDAL_2 90 //
+#define MULTI_UNUSED_SSTIDAL_3 91 //
+#define MULTI_UNUSED_SSTIDAL_4 92 //
+#define MULTI_FOSSIL 93
+#define MULTI_YESNO 94
+#define MULTI_FRONTIER_RULES 95
+#define MULTI_BATTLE_ARENA_RULES 96
+#define MULTI_BATTLE_TOWER_RULES 97
+#define MULTI_BATTLE_DOME_RULES 98
+#define MULTI_BATTLE_FACTORY_RULES 99
+#define MULTI_BATTLE_PALACE_RULES 100
+#define MULTI_BATTLE_PYRAMID_RULES 101
+#define MULTI_BATTLE_PIKE_RULES 102
+#define MULTI_GO_ON_RECORD_REST_RETIRE 103
+#define MULTI_GO_ON_REST_RETIRE 104
+#define MULTI_GO_ON_RECORD_RETIRE 105
+#define MULTI_GO_ON_RETIRE 106
+#define MULTI_TOURNEY_NO_RECORD 107
+#define MULTI_TV_LATI 108
+#define MULTI_BATTLE_TOWER_FEELINGS 109
+#define MULTI_WHERES_RAYQUAZA 110
+#define MULTI_SLATEPORT_TENT_RULES 111
+#define MULTI_FALLARBOR_TENT_RULES 112
+#define MULTI_TAG_MATCH_TYPE 113
+
+// Lilycove SS Tidal Multichoice Selections
+#define SSTIDAL_SELECTION_SLATEPORT 0
+#define SSTIDAL_SELECTION_BATTLE_FRONTIER 1
+#define SSTIDAL_SELECTION_SOUTHERN_ISLAND 2
+#define SSTIDAL_SELECTION_NAVEL_ROCK 3
+#define SSTIDAL_SELECTION_BIRTH_ISLAND 4
+#define SSTIDAL_SELECTION_FARAWAY_ISLAND 5
+#define SSTIDAL_SELECTION_EXIT 6
+#define SSTIDAL_SELECTION_COUNT 7
+
+// Std String Ids
+#define STDSTRING_COOL 0
+#define STDSTRING_BEAUTY 1
+#define STDSTRING_CUTE 2
+#define STDSTRING_SMART 3
+#define STDSTRING_TOUGH 4
+#define STDSTRING_NORMAL 5
+#define STDSTRING_SUPER 6
+#define STDSTRING_HYPER 7
+#define STDSTRING_MASTER 8
+#define STDSTRING_COOL2 9
+#define STDSTRING_BEAUTY2 10
+#define STDSTRING_CUTE2 11
+#define STDSTRING_SMART2 12
+#define STDSTRING_TOUGH2 13
+#define STDSTRING_ITEMS 14
+#define STDSTRING_KEYITEMS 15
+#define STDSTRING_POKEBALLS 16
+#define STDSTRING_TMHMS 17
+#define STDSTRING_BERRIES 18
+#define STDSTRING_SINGLE 19
+#define STDSTRING_DOUBLE 20
+#define STDSTRING_MULTI 21
+#define STDSTRING_MULTI_LINK 22
+#define STDSTRING_BATTLE_TOWER 23
+#define STDSTRING_BATTLE_DOME 24
+#define STDSTRING_BATTLE_FACTORY 25
+#define STDSTRING_BATTLE_PALACE 26
+#define STDSTRING_BATTLE_ARENA 27
+#define STDSTRING_BATTLE_PIKE 28
+#define STDSTRING_BATTLE_PYRAMID 29
+
+#endif //GUARD_SCRIPT_MENU_CONSTANTS_H
diff --git a/include/constants/trade.h b/include/constants/trade.h
new file mode 100644
index 000000000..fa42e6b43
--- /dev/null
+++ b/include/constants/trade.h
@@ -0,0 +1,116 @@
+#ifndef GUARD_CONSTANTS_TRADE_H
+#define GUARD_CONSTANTS_TRADE_H
+
+#define TRADE_PLAYER 0
+#define TRADE_PARTNER 1
+
+#define LINK_TRADE_TIMEOUT 300
+
+// In-game Trade IDs
+#define INGAME_TRADE_SEEDOT 0
+#define INGAME_TRADE_PLUSLE 1
+#define INGAME_TRADE_HORSEA 2
+#define INGAME_TRADE_MEOWTH 3
+
+// Flag IDs for sending link data
+#define INITIATE_TRADE 1
+#define CANCEL_TRADE 2
+#define WANTS_TO_TRADE 1
+#define WANTS_TO_CANCEL 2
+#define READY_FINISH_TRADE 1
+#define FINISH_TRADE 2
+
+// Return values for CanTradeSelectedMon and CanSpinTradeMon
+#define CAN_TRADE_MON 0
+#define CANT_TRADE_LAST_MON 1
+#define CANT_TRADE_NATIONAL 2
+#define CANT_TRADE_EGG_YET 3
+#define CANT_TRADE_INVALID_MON 4
+#define CANT_TRADE_EGG_YET2 5
+
+// Return values for CheckValidityOfTradeMons
+#define PLAYER_MON_INVALID 0
+#define BOTH_MONS_VALID 1
+#define PARTNER_MON_INVALID 2
+
+// Return values for GetGameProgressForLinkTrade
+#define TRADE_BOTH_PLAYERS_READY 0
+#define TRADE_PLAYER_NOT_READY 1
+#define TRADE_PARTNER_NOT_READY 2
+
+// Indexes for sTradeActionTexts
+#define TRADE_TEXT_CANCEL 0
+#define TRADE_TEXT_CHOOSE_MON 1
+#define TRADE_TEXT_SUMMARY 2
+#define TRADE_TEXT_TRADE 3
+#define TRADE_TEXT_CANCEL_TRADE 4
+#define TRADE_TEXT_JP_QUIT 5
+
+// Checked to confirm DrawTradeMenuParty has reached final state
+#define DRAW_PARTY_FINISH 5
+
+// Message indexes for sTradeMessages
+#define TRADE_MSG_STANDBY 0
+#define TRADE_MSG_CANCELED 1
+#define TRADE_MSG_ONLY_MON1 2
+#define TRADE_MSG_ONLY_MON2 3
+#define TRADE_MSG_WAITING_FOR_FRIEND 4
+#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5
+#define TRADE_MSG_MON_CANT_BE_TRADED 6
+#define TRADE_MSG_EGG_CANT_BE_TRADED 7
+#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8
+
+// IDs for QueueAction
+#define QUEUE_SEND_DATA 0
+#define QUEUE_STANDBY 1
+#define QUEUE_ONLY_MON1 2
+#define QUEUE_ONLY_MON2 3
+#define QUEUE_UNUSED1 4
+#define QUEUE_UNUSED2 5
+#define QUEUE_MON_CANT_BE_TRADED 6
+#define QUEUE_EGG_CANT_BE_TRADED 7
+#define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8
+
+#define QUEUE_DELAY_MSG 3
+#define QUEUE_DELAY_DATA 5
+
+// IDs for CallTradeMenuFunc
+#define TRADEMENUFUNC_MAIN_MENU 0
+#define TRADEMENUFUNC_SELECTED_MON 1
+#define TRADEMENUFUNC_SHOW_MON_SUMMARY 2
+#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE 3
+#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT 4
+#define TRADEMENUFUNC_UNUSED_5 5
+#define TRADEMENUFUNC_BOTH_MONS_SELECTED 6
+#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT 7
+#define TRADEMENUFUNC_REDRAW_MAIN_MENU 8
+#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT 9
+#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE 10
+#define TRADEMENUFUNC_CANCEL_TRADE_1 11
+#define TRADEMENUFUNC_CANCEL_TRADE_2 12
+#define TRADEMENUFUNC_START_LINK_TRADE 13
+#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM 14
+#define TRADEMENUFUNC_UNUSED_15 15
+#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE 16
+#define TRADEMENUFUNC_PARTNER_MON_INVALID 17
+#define TRADEMENUFUNC_STANDBY 100
+
+// Message indexes for sUnionRoomTradeMessages
+#define UR_TRADE_MSG_NONE 0
+#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1
+#define UR_TRADE_MSG_NOT_EGG 2
+#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3
+#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4
+#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5
+#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6
+#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7
+#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8
+#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9
+
+// Return values for CanRegisterMonForTradingBoard
+#define CAN_REGISTER_MON 0
+#define CANT_REGISTER_MON 1
+#define CANT_REGISTER_EGG 2
+
+
+#endif //GUARD_CONSTANTS_TRADE_H
diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h
index 4aae1dbbc..afbcd4ace 100644
--- a/include/constants/trainer_hill.h
+++ b/include/constants/trainer_hill.h
@@ -1,27 +1,46 @@
#ifndef GUARD_CONSTANTS_TRAINER_HILL_H
#define GUARD_CONSTANTS_TRAINER_HILL_H
-#define TRAINER_HILL_FUNC_START 0
-#define TRAINER_HILL_FUNC_1 1
-#define TRAINER_HILL_FUNC_2 2
-#define TRAINER_HILL_FUNC_3 3
-#define TRAINER_HILL_FUNC_RESUME_TIMER 4
-#define TRAINER_HILL_FUNC_SET_LOST 5
-#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6
-#define TRAINER_HILL_FUNC_7 7
-#define TRAINER_HILL_FUNC_8 8
-#define TRAINER_HILL_FUNC_9 9
-#define TRAINER_HILL_FUNC_10 10
-#define TRAINER_HILL_FUNC_11 11
-#define TRAINER_HILL_FUNC_12 12
-#define TRAINER_HILL_FUNC_13 13
-#define TRAINER_HILL_FUNC_14 14
-#define TRAINER_HILL_FUNC_15 15
-#define TRAINER_HILL_FUNC_16 16
-#define TRAINER_HILL_FUNC_SET_TAG 17
-
-// Values returned by the TrainerHillGetChallengeStatus
-// function.
+#define TRAINER_HILL_1F 1
+#define TRAINER_HILL_2F 2
+#define TRAINER_HILL_3F 3
+#define TRAINER_HILL_4F 4
+#define TRAINER_HILL_ROOF 5
+#define TRAINER_HILL_ENTRANCE 6
+
+#define NUM_TRAINER_HILL_FLOORS 4
+#define NUM_TRAINER_HILL_FLOORS_JP 2
+
+#define NUM_TRAINER_HILL_PRIZE_LISTS 10
+
+#define TRAINER_HILL_FUNC_START 0
+#define TRAINER_HILL_FUNC_GET_OWNER_STATE 1
+#define TRAINER_HILL_FUNC_GIVE_PRIZE 2
+#define TRAINER_HILL_FUNC_CHECK_FINAL_TIME 3
+#define TRAINER_HILL_FUNC_RESUME_TIMER 4
+#define TRAINER_HILL_FUNC_SET_LOST 5
+#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6
+#define TRAINER_HILL_FUNC_GET_CHALLENGE_TIME 7
+#define TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED 8
+#define TRAINER_HILL_FUNC_CLEAR_RESULT 9
+#define TRAINER_HILL_FUNC_IN_CHALLENGE 10
+#define TRAINER_HILL_FUNC_POST_BATTLE_TEXT 11
+#define TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS 12
+#define TRAINER_HILL_FUNC_GET_GAME_SAVED 13
+#define TRAINER_HILL_FUNC_SET_GAME_SAVED 14
+#define TRAINER_HILL_FUNC_CLEAR_GAME_SAVED 15
+#define TRAINER_HILL_FUNC_GET_WON 16
+#define TRAINER_HILL_FUNC_SET_TAG 17
+
+#define TRAINER_HILL_TEXT_INTRO 2
+#define TRAINER_HILL_TEXT_PLAYER_LOST 3
+#define TRAINER_HILL_TEXT_PLAYER_WON 4
+#define TRAINER_HILL_TEXT_AFTER 5
+
+#define NUM_TRAINER_HILL_TRAINERS (NUM_TRAINER_HILL_FLOORS * 2)
+#define NUM_TRAINER_HILL_TRAINERS_JP (NUM_TRAINER_HILL_FLOORS_JP * 2)
+
+// Values returned by TrainerHillGetChallengeStatus
#define TRAINER_HILL_PLAYER_STATUS_LOST 0
#define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1
#define TRAINER_HILL_PLAYER_STATUS_NORMAL 2
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index c0abfe6b6..541b131ca 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -2,9 +2,11 @@
#define GUARD_TRAINERS_H
#include "constants/opponents.h"
+#include "constants/battle_frontier_trainers.h"
// Special Trainer Ids.
-#define TRAINER_RECORD_MIXING_FRIEND 300
+// 0-299 are frontier trainers
+#define TRAINER_RECORD_MIXING_FRIEND FRONTIER_TRAINERS_COUNT
#define TRAINER_RECORD_MIXING_APPRENTICE 400
#define TRAINER_EREADER 500
#define TRAINER_FRONTIER_BRAIN 1022
@@ -119,7 +121,7 @@
#define FACILITY_CLASS_HIKER 0x0
#define FACILITY_CLASS_AQUA_GRUNT_M 0x1
-#define FACILITY_CLASS_POKEMON_BREEDER_F 0x2
+#define FACILITY_CLASS_PKMN_BREEDER_F 0x2
#define FACILITY_CLASS_COOLTRAINER_M 0x3
#define FACILITY_CLASS_BIRD_KEEPER 0x4
#define FACILITY_CLASS_COLLECTOR 0x5
@@ -202,6 +204,86 @@
#define FACILITY_CLASSES_COUNT 0x52
+#define RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE 0x0
+#define RS_FACILITY_CLASS_AQUA_GRUNT_M 0x1
+#define RS_FACILITY_CLASS_AQUA_GRUNT_F 0x2
+#define RS_FACILITY_CLASS_AROMA_LADY 0x3
+#define RS_FACILITY_CLASS_RUIN_MANIAC 0x4
+#define RS_FACILITY_CLASS_INTERVIEWER 0x5
+#define RS_FACILITY_CLASS_TUBER_F 0x6
+#define RS_FACILITY_CLASS_TUBER_M 0x7
+#define RS_FACILITY_CLASS_COOLTRAINER_M 0x8
+#define RS_FACILITY_CLASS_COOLTRAINER_F 0x9
+#define RS_FACILITY_CLASS_HEX_MANIAC 0xA
+#define RS_FACILITY_CLASS_LADY 0xB
+#define RS_FACILITY_CLASS_BEAUTY 0xC
+#define RS_FACILITY_CLASS_RICH_BOY 0xD
+#define RS_FACILITY_CLASS_POKEMANIAC 0xE
+#define RS_FACILITY_CLASS_SWIMMER_M 0xF
+#define RS_FACILITY_CLASS_BLACK_BELT 0x10
+#define RS_FACILITY_CLASS_GUITARIST 0x11
+#define RS_FACILITY_CLASS_KINDLER 0x12
+#define RS_FACILITY_CLASS_CAMPER 0x13
+#define RS_FACILITY_CLASS_BUG_MANIAC 0x14
+#define RS_FACILITY_CLASS_PSYCHIC_M 0x15
+#define RS_FACILITY_CLASS_PSYCHIC_F 0x16
+#define RS_FACILITY_CLASS_GENTLEMAN 0x17
+#define RS_FACILITY_CLASS_ELITE_FOUR_M 0x18
+#define RS_FACILITY_CLASS_ELITE_FOUR_F 0x19
+#define RS_FACILITY_CLASS_LEADER_F 0x1A
+#define RS_FACILITY_CLASS_LEADER_M 0x1B
+#define RS_FACILITY_CLASS_LEADER_MF 0x1C
+#define RS_FACILITY_CLASS_SCHOOL_KID_M 0x1D
+#define RS_FACILITY_CLASS_SCHOOL_KID_F 0x1E
+#define RS_FACILITY_CLASS_SR_AND_JR 0x1F
+#define RS_FACILITY_CLASS_POKEFAN_M 0x20
+#define RS_FACILITY_CLASS_POKEFAN_F 0x21
+#define RS_FACILITY_CLASS_EXPERT_M 0x22
+#define RS_FACILITY_CLASS_EXPERT_F 0x23
+#define RS_FACILITY_CLASS_YOUNGSTER 0x24
+#define RS_FACILITY_CLASS_CHAMPION 0x25
+#define RS_FACILITY_CLASS_FISHERMAN 0x26
+#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M 0x27
+#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F 0x28
+#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M 0x29
+#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F 0x2A
+#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x2B
+#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x2C
+#define RS_FACILITY_CLASS_DRAGON_TAMER 0x2D
+#define RS_FACILITY_CLASS_BIRD_KEEPER 0x2E
+#define RS_FACILITY_CLASS_NINJA_BOY 0x2F
+#define RS_FACILITY_CLASS_BATTLE_GIRL 0x30
+#define RS_FACILITY_CLASS_PARASOL_LADY 0x31
+#define RS_FACILITY_CLASS_SWIMMER_F 0x32
+#define RS_FACILITY_CLASS_PICNICKER 0x33
+#define RS_FACILITY_CLASS_TWINS 0x34
+#define RS_FACILITY_CLASS_SAILOR 0x35
+#define RS_FACILITY_CLASS_BOARDER_1 0x36
+#define RS_FACILITY_CLASS_BOARDER_2 0x37
+#define RS_FACILITY_CLASS_COLLECTOR 0x38
+#define RS_FACILITY_CLASS_WALLY 0x39
+#define RS_FACILITY_CLASS_BRENDAN_1 0x3A
+#define RS_FACILITY_CLASS_BRENDAN_2 0x3B
+#define RS_FACILITY_CLASS_BRENDAN_3 0x3C
+#define RS_FACILITY_CLASS_MAY_1 0x3D
+#define RS_FACILITY_CLASS_MAY_2 0x3E
+#define RS_FACILITY_CLASS_MAY_3 0x3F
+#define RS_FACILITY_CLASS_PKMN_BREEDER_M 0x40
+#define RS_FACILITY_CLASS_PKMN_BREEDER_F 0x41
+#define RS_FACILITY_CLASS_PKMN_RANGER_M 0x42
+#define RS_FACILITY_CLASS_PKMN_RANGER_F 0x43
+#define RS_FACILITY_CLASS_MAGMA_LEADER 0x44
+#define RS_FACILITY_CLASS_MAGMA_GRUNT_M 0x45
+#define RS_FACILITY_CLASS_MAGMA_GRUNT_F 0x46
+#define RS_FACILITY_CLASS_LASS 0x47
+#define RS_FACILITY_CLASS_BUG_CATCHER 0x48
+#define RS_FACILITY_CLASS_HIKER 0x49
+#define RS_FACILITY_CLASS_YOUNG_COUPLE 0x4A
+#define RS_FACILITY_CLASS_OLD_COUPLE 0x4B
+#define RS_FACILITY_CLASS_SIS_AND_BRO 0x4C
+
+#define RS_FACILITY_CLASSES_COUNT 0x4D
+
#define TRAINER_CLASS_PKMN_TRAINER_1 0x0 // Unused
#define TRAINER_CLASS_PKMN_TRAINER_2 0x1 // Unused
#define TRAINER_CLASS_HIKER 0x2
diff --git a/include/constants/tv.h b/include/constants/tv.h
new file mode 100644
index 000000000..6f686f727
--- /dev/null
+++ b/include/constants/tv.h
@@ -0,0 +1,137 @@
+#ifndef GUARD_CONSTANTS_TV_H
+#define GUARD_CONSTANTS_TV_H
+
+#define POKENEWS_NONE 0
+#define POKENEWS_SLATEPORT 1
+#define POKENEWS_GAME_CORNER 2
+#define POKENEWS_LILYCOVE 3
+#define POKENEWS_BLENDMASTER 4
+
+#define TVSHOW_OFF_AIR 0
+#define TVSHOW_FAN_CLUB_LETTER 1
+#define TVSHOW_RECENT_HAPPENINGS 2
+#define TVSHOW_PKMN_FAN_CLUB_OPINIONS 3
+#define TVSHOW_UNKN_SHOWTYPE_04 4
+#define TVSHOW_NAME_RATER_SHOW 5
+#define TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE 6
+#define TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE 7
+#define TVSHOW_CONTEST_LIVE_UPDATES 8
+#define TVSHOW_3_CHEERS_FOR_POKEBLOCKS 9
+#define TVSHOW_BATTLE_UPDATE 10
+#define TVSHOW_FAN_CLUB_SPECIAL 11
+#define TVSHOW_CONTEST_LIVE_UPDATES_2 12
+// //
+#define TVSHOW_POKEMON_TODAY_CAUGHT 21
+#define TVSHOW_SMART_SHOPPER 22
+#define TVSHOW_POKEMON_TODAY_FAILED 23
+#define TVSHOW_FISHING_ADVICE 24
+#define TVSHOW_WORLD_OF_MASTERS 25
+#define TVSHOW_TODAYS_RIVAL_TRAINER 26
+#define TVSHOW_TREND_WATCHER 27
+#define TVSHOW_TREASURE_INVESTIGATORS 28
+#define TVSHOW_FIND_THAT_GAMER 29
+#define TVSHOW_BREAKING_NEWS 30
+#define TVSHOW_SECRET_BASE_VISIT 31
+#define TVSHOW_LOTTO_WINNER 32
+#define TVSHOW_BATTLE_SEMINAR 33
+#define TVSHOW_TRAINER_FAN_CLUB 34
+#define TVSHOW_CUTIES 35
+#define TVSHOW_FRONTIER 36
+#define TVSHOW_NUMBER_ONE 37
+#define TVSHOW_SECRET_BASE_SECRETS 38
+#define TVSHOW_SAFARI_FAN_CLUB 39
+// //
+#define TVSHOW_MASS_OUTBREAK 41
+
+// Number of ribbons to put Spot the Cuties on air
+#define NUM_CUTIES_RIBBONS 4
+
+// TV Show states for Secret Base Secrets
+#define SBSECRETS_STATE_INTRO 0
+#define SBSECRETS_STATE_DO_NEXT1 1
+#define SBSECRETS_STATE_DO_NEXT2 2
+#define SBSECRETS_STATE_TOOK_X_STEPS 3
+#define SBSECRETS_STATE_BASE_INTEREST_LOW 4
+#define SBSECRETS_STATE_BASE_INTEREST_MED 5
+#define SBSECRETS_STATE_BASE_INTEREST_HIGH 6
+#define SBSECRETS_STATE_OUTRO 7
+#define SBSECRETS_STATE_NOTHING_USED1 8
+#define SBSECRETS_STATE_NOTHING_USED2 9
+#define SBSECRETS_STATE_USED_CHAIR 10
+#define SBSECRETS_STATE_USED_BALLOON 11
+#define SBSECRETS_STATE_USED_TENT 12
+#define SBSECRETS_STATE_USED_PLANT 13
+#define SBSECRETS_STATE_USED_GOLD_SHIELD 14
+#define SBSECRETS_STATE_USED_SILVER_SHIELD 15
+#define SBSECRETS_STATE_USED_GLASS_ORNAMENT 16
+#define SBSECRETS_STATE_USED_TV 17
+#define SBSECRETS_STATE_USED_MUD_BALL 18
+#define SBSECRETS_STATE_USED_BAG 19
+#define SBSECRETS_STATE_USED_CUSHION 20
+#define SBSECRETS_STATE_HIT_CUSHION 21
+#define SBSECRETS_STATE_HUGGED_CUSHION 22
+#define SBSECRETS_STATE_BATTLED_WON 23
+#define SBSECRETS_STATE_BATTLED_LOST 24
+#define SBSECRETS_STATE_DECLINED_BATTLE 25
+#define SBSECRETS_STATE_USED_POSTER 26
+#define SBSECRETS_STATE_USED_NOTE_MAT 27
+#define SBSECRETS_STATE_BATTLED_DRAW 28
+#define SBSECRETS_STATE_USED_SPIN_MAT 29
+#define SBSECRETS_STATE_USED_SAND_ORNAMENT 30
+#define SBSECRETS_STATE_USED_DESK 31
+#define SBSECRETS_STATE_USED_BRICK 32
+#define SBSECRETS_STATE_USED_SOLID_BOARD 33
+#define SBSECRETS_STATE_USED_FENCE 34
+#define SBSECRETS_STATE_USED_GLITTER_MAT 35
+#define SBSECRETS_STATE_USED_TIRE 36
+#define SBSECRETS_STATE_USED_STAND 37
+#define SBSECRETS_STATE_USED_BREAKABLE_DOOR 38
+#define SBSECRETS_STATE_USED_DOLL 39
+#define SBSECRETS_STATE_USED_SLIDE 40
+#define SBSECRETS_STATE_DECLINED_SLIDE 41
+#define SBSECRETS_STATE_USED_JUMP_MAT 42
+#define SBSECRETS_NUM_STATES 43
+
+// The below flags are set when interacting with objects in a friends secret base
+// Theyre set as bits in a var, and with 32 flags they're spread across 2 vars
+
+// VAR_SECRET_BASE_LOW_TV_FLAGS
+#define SECRET_BASE_USED_CHAIR (1 << 0)
+#define SECRET_BASE_USED_BALLOON (1 << 1)
+#define SECRET_BASE_USED_TENT (1 << 2)
+#define SECRET_BASE_USED_PLANT (1 << 3)
+#define SECRET_BASE_USED_GOLD_SHIELD (1 << 4)
+#define SECRET_BASE_USED_SILVER_SHIELD (1 << 5)
+#define SECRET_BASE_USED_GLASS_ORNAMENT (1 << 6)
+#define SECRET_BASE_USED_TV (1 << 7)
+#define SECRET_BASE_USED_MUD_BALL (1 << 8)
+#define SECRET_BASE_USED_BAG (1 << 9)
+#define SECRET_BASE_USED_CUSHION (1 << 10)
+#define SECRET_BASE_BATTLED_WON (1 << 11)
+#define SECRET_BASE_BATTLED_LOST (1 << 12)
+#define SECRET_BASE_DECLINED_BATTLE (1 << 13)
+#define SECRET_BASE_USED_POSTER (1 << 14)
+#define SECRET_BASE_USED_NOTE_MAT (1 << 15)
+
+// VAR_SECRET_BASE_HIGH_TV_FLAGS
+#define SECRET_BASE_BATTLED_DRAW (1 << 0)
+#define SECRET_BASE_USED_SPIN_MAT (1 << 1)
+#define SECRET_BASE_USED_SAND_ORNAMENT (1 << 2)
+#define SECRET_BASE_USED_DESK (1 << 3)
+#define SECRET_BASE_USED_BRICK (1 << 4)
+#define SECRET_BASE_USED_SOLID_BOARD (1 << 5)
+#define SECRET_BASE_USED_FENCE (1 << 6)
+#define SECRET_BASE_USED_GLITTER_MAT (1 << 7)
+#define SECRET_BASE_USED_TIRE (1 << 8)
+#define SECRET_BASE_USED_STAND (1 << 9)
+#define SECRET_BASE_USED_BREAKABLE_DOOR (1 << 10)
+#define SECRET_BASE_USED_DOLL (1 << 11)
+#define SECRET_BASE_USED_SLIDE (1 << 12)
+#define SECRET_BASE_DECLINED_SLIDE (1 << 13)
+#define SECRET_BASE_USED_JUMP_MAT (1 << 14)
+#define SECRET_BASE_UNUSED_FLAG (1 << 15)
+
+#define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s
+
+
+#endif //GUARD_CONSTANTS_TV_H
diff --git a/include/constants/union_room.h b/include/constants/union_room.h
new file mode 100644
index 000000000..2314f85a0
--- /dev/null
+++ b/include/constants/union_room.h
@@ -0,0 +1,28 @@
+#ifndef GUARD_CONSTANTS_UNION_ROOM_H
+#define GUARD_CONSTANTS_UNION_ROOM_H
+
+#define LINK_GROUP_SINGLE_BATTLE 0
+#define LINK_GROUP_DOUBLE_BATTLE 1
+#define LINK_GROUP_MULTI_BATTLE 2
+#define LINK_GROUP_TRADE 3
+#define LINK_GROUP_POKEMON_JUMP 4
+#define LINK_GROUP_BERRY_CRUSH 5
+#define LINK_GROUP_BERRY_PICKING 6
+#define LINK_GROUP_WONDER_CARD 7
+#define LINK_GROUP_WONDER_NEWS 8
+#define LINK_GROUP_UNK_9 9
+#define LINK_GROUP_UNK_10 10
+#define LINK_GROUP_UNK_11 11
+#define LINK_GROUP_RECORD_CORNER 12
+#define LINK_GROUP_BERRY_BLENDER 13
+#define LINK_GROUP_UNK_14 14
+#define LINK_GROUP_COOL_CONTEST 15
+#define LINK_GROUP_BEAUTY_CONTEST 16
+#define LINK_GROUP_CUTE_CONTEST 17
+#define LINK_GROUP_SMART_CONTEST 18
+#define LINK_GROUP_TOUGH_CONTEST 19
+#define LINK_GROUP_BATTLE_TOWER 20
+#define LINK_GROUP_BATTLE_TOWER_OPEN 21
+#define NUM_LINK_GROUP_TYPES 22
+
+#endif //GUARD_CONSTANTS_UNION_ROOM_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 6b213c8cc..7f622b6e3 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -5,22 +5,24 @@
// temporary vars
// The first 0x10 vars are are temporary--they are cleared every time a map is loaded.
-#define VAR_TEMP_0 0x4000
-#define VAR_TEMP_1 0x4001
-#define VAR_TEMP_2 0x4002
-#define VAR_TEMP_3 0x4003
-#define VAR_TEMP_4 0x4004
-#define VAR_TEMP_5 0x4005
-#define VAR_TEMP_6 0x4006
-#define VAR_TEMP_7 0x4007
-#define VAR_TEMP_8 0x4008
-#define VAR_TEMP_9 0x4009
-#define VAR_TEMP_A 0x400A
-#define VAR_TEMP_B 0x400B
-#define VAR_TEMP_C 0x400C
-#define VAR_TEMP_D 0x400D
-#define VAR_TEMP_E 0x400E
-#define VAR_TEMP_F 0x400F
+#define TEMP_VARS_START 0x4000
+#define VAR_TEMP_0 (TEMP_VARS_START + 0x0)
+#define VAR_TEMP_1 (TEMP_VARS_START + 0x1)
+#define VAR_TEMP_2 (TEMP_VARS_START + 0x2)
+#define VAR_TEMP_3 (TEMP_VARS_START + 0x3)
+#define VAR_TEMP_4 (TEMP_VARS_START + 0x4)
+#define VAR_TEMP_5 (TEMP_VARS_START + 0x5)
+#define VAR_TEMP_6 (TEMP_VARS_START + 0x6)
+#define VAR_TEMP_7 (TEMP_VARS_START + 0x7)
+#define VAR_TEMP_8 (TEMP_VARS_START + 0x8)
+#define VAR_TEMP_9 (TEMP_VARS_START + 0x9)
+#define VAR_TEMP_A (TEMP_VARS_START + 0xA)
+#define VAR_TEMP_B (TEMP_VARS_START + 0xB)
+#define VAR_TEMP_C (TEMP_VARS_START + 0xC)
+#define VAR_TEMP_D (TEMP_VARS_START + 0xD)
+#define VAR_TEMP_E (TEMP_VARS_START + 0xE)
+#define VAR_TEMP_F (TEMP_VARS_START + 0xF)
+#define TEMP_VARS_END VAR_TEMP_F
// object gfx id vars
// These 0x10 vars are used to dynamically control a map object's sprite.
@@ -61,26 +63,26 @@
#define VAR_0x402E 0x402E
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
-#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
-#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
+#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030
+#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
-#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
+#define VAR_FRONTIER_GAMBLER_STATE 0x4033
#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034
#define VAR_DEOXYS_ROCK_LEVEL 0x4035
-#define VAR_STORAGE_UNKNOWN 0x4036
-#define VAR_UNUSUAL_WEATHER_LOCATION 0x4037
-#define VAR_UNUSUAL_WEATHER_STEP_COUNTER 0x4038
-#define VAR_SHOULD_END_UNUSUAL_WEATHER 0x4039
+#define VAR_PC_BOX_TO_SEND_MON 0x4036
+#define VAR_ABNORMAL_WEATHER_LOCATION 0x4037
+#define VAR_ABNORMAL_WEATHER_STEP_COUNTER 0x4038
+#define VAR_SHOULD_END_ABNORMAL_WEATHER 0x4039
#define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A
#define VAR_REGICE_STEPS_1 0x403B
#define VAR_REGICE_STEPS_2 0x403C
#define VAR_REGICE_STEPS_3 0x403D
#define VAR_ALTERING_CAVE_WILD_SET 0x403E
-#define VAR_ALWAYS_ZERO_0x403F 0x403F // This var is read and written, but is always zero.
+#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing
#define VAR_DAYS 0x4040
-#define VAR_FANCLUB_UNKNOWN_1 0x4041
-#define VAR_FANCLUB_UNKNOWN_2 0x4042
+#define VAR_FANCLUB_FAN_COUNTER 0x4041
+#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_TRICK_HOUSE_LEVEL 0x4044
#define VAR_POKELOT_PRIZE_ITEM 0x4045
@@ -144,17 +146,17 @@
#define VAR_ROUTE132_STATE 0x407F // Unused Var
#define VAR_ROUTE133_STATE 0x4080 // Unused Var
#define VAR_ROUTE134_STATE 0x4081 // Unused Var
-#define VAR_LITTLEROOT_HOUSES_STATE 0x4082
+#define VAR_LITTLEROOT_HOUSES_STATE_MAY 0x4082
#define VAR_UNUSED_0x4083 0x4083 // Unused Var
#define VAR_BIRCH_LAB_STATE 0x4084
-#define VAR_PETALBURG_GYM_STATE 0x4085
-#define VAR_LINK_CONTEST_ROOM_STATE 0x4086
+#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman
+#define VAR_CONTEST_HALL_STATE 0x4086
#define VAR_CABLE_CLUB_STATE 0x4087
-#define VAR_CONTEST_LOCATION 0x4088
+#define VAR_CONTEST_TYPE 0x4088
#define VAR_SECRET_BASE_INITIALIZED 0x4089
#define VAR_CONTEST_PRIZE_PICKUP 0x408A
#define VAR_UNUSED_0x408B 0x408B // Unused Var
-#define VAR_LITTLEROOT_HOUSES_STATE_2 0x408C
+#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN 0x408C
#define VAR_LITTLEROOT_RIVAL_STATE 0x408D
#define VAR_BOARD_BRINEY_BOAT_STATE 0x408E
#define VAR_DEVON_CORP_3F_STATE 0x408F
@@ -172,16 +174,16 @@
#define VAR_UNUSED_0x409B 0x409B // Unused Var
#define VAR_ELITE_4_STATE 0x409C
#define VAR_UNUSED_0x409D 0x409D // Unused Var
-#define VAR_MOSSDEEP_SPACE_CENTER_STATE_1 0x409E
-#define VAR_MOSSDEEP_SPACE_CENTER_STATE_2 0x409F
+#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E
+#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F
#define VAR_SLATEPORT_HARBOR_STATE 0x40A0
#define VAR_UNUSED_0x40A1 0x40A1 // Unused var
#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2
#define VAR_CABLE_CAR_STATION_STATE 0x40A3
-#define VAR_SAFARI_ZONE_STATE 0x40A4
-#define VAR_TRICK_HOUSE_ENTRANCE_STATE_1 0x40A5
-#define VAR_TRICK_HOUSE_ENTRANCE_STATE_2 0x40A6
-#define VAR_TRICK_HOUSE_ENTRANCE_STATE_3 0x40A7
+#define VAR_SAFARI_ZONE_STATE 0x40A4 // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ
+#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE 0x40A5
+#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER 0x40A6
+#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A7
#define VAR_UNUSED_0x40A8 0x40A8 // Unused Var
#define VAR_CYCLING_CHALLENGE_STATE 0x40A9
#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA
@@ -194,9 +196,9 @@
#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1
#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2
#define VAR_WEATHER_INSTITUTE_STATE 0x40B3
-#define VAR_PORTHOLE_STATE 0x40B4
-#define VAR_TRICK_HOUSE_STATE 0x40B5 // TODO: needs some further investigation
-#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6
+#define VAR_SS_TIDAL_STATE 0x40B4
+#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5
+#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set
#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7
#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var
#define VAR_MT_PYRE_STATE 0x40B9
@@ -257,9 +259,9 @@
#define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base.
#define VAR_DAILY_BP 0x40F1
#define VAR_WALLY_CALL_STEP_COUNTER 0x40F2
-#define VAR_WINONA_CALL_STEP_COUNTER 0x40F3
+#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3
#define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4
-#define VAR_SCOTT_CALL_STEP_COUNTER 0x40F5
+#define VAR_SCOTT_BF_CALL_STEP_COUNTER 0x40F5
#define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6
#define VAR_UNUSED_0x40F7 0x40F7 // Unused Var
#define VAR_UNUSED_0x40F8 0x40F8 // Unused Var
@@ -271,7 +273,9 @@
#define VAR_UNUSED_0x40FE 0x40FE // Unused Var
#define VAR_UNUSED_0x40FF 0x40FF // Unused Var
-#define SPECIAL_VARS_START 0x8000
+#define VARS_END 0x40FF
+
+#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
#define VAR_0x8000 0x8000
@@ -297,4 +301,6 @@
#define VAR_UNUSED_0x8014 0x8014
#define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A
+#define SPECIAL_VARS_END 0x8015
+
#endif // GUARD_CONSTANTS_VARS_H
diff --git a/include/constants/weather.h b/include/constants/weather.h
index b01cfb390..98a0a2e1e 100644
--- a/include/constants/weather.h
+++ b/include/constants/weather.h
@@ -1,66 +1,66 @@
#ifndef GUARD_CONSTANTS_WEATHER_H
#define GUARD_CONSTANTS_WEATHER_H
-#define WEATHER_NONE 0
-#define WEATHER_CLOUDS 1
-#define WEATHER_SUNNY 2
-#define WEATHER_RAIN_LIGHT 3
-#define WEATHER_SNOW 4
-#define WEATHER_RAIN_MED 5
-#define WEATHER_FOG_1 6
-#define WEATHER_ASH 7
-#define WEATHER_SANDSTORM 8
-#define WEATHER_FOG_2 9
-#define WEATHER_FOG_3 10
-#define WEATHER_SHADE 11
-#define WEATHER_DROUGHT 12
-#define WEATHER_RAIN_HEAVY 13
-#define WEATHER_BUBBLES 14
-#define WEATHER_ALTERNATING 15
-#define WEATHER_ROUTE119_CYCLE 20
-#define WEATHER_ROUTE123_CYCLE 21
+#define WEATHER_NONE 0
+#define WEATHER_SUNNY_CLOUDS 1
+#define WEATHER_SUNNY 2
+#define WEATHER_RAIN 3
+#define WEATHER_SNOW 4 // Unused
+#define WEATHER_RAIN_THUNDERSTORM 5
+#define WEATHER_FOG_HORIZONTAL 6
+#define WEATHER_VOLCANIC_ASH 7
+#define WEATHER_SANDSTORM 8
+#define WEATHER_FOG_DIAGONAL 9 // Unused
+#define WEATHER_UNDERWATER 10 // Unused
+#define WEATHER_SHADE 11 // Original name was closer to WEATHER_CLOUDY/OVERCAST
+#define WEATHER_DROUGHT 12
+#define WEATHER_DOWNPOUR 13
+#define WEATHER_UNDERWATER_BUBBLES 14
+#define WEATHER_ABNORMAL 15 // The alternating weather during Groudon/Kyogre conflict
+#define WEATHER_ROUTE119_CYCLE 20
+#define WEATHER_ROUTE123_CYCLE 21
// These are used in maps' coord_weather_event entries.
// They are not a one-to-one mapping with the engine's
// internal weather constants above.
-#define COORD_EVENT_WEATHER_CLOUDS 1
-#define COORD_EVENT_WEATHER_SUNNY 2
-#define COORD_EVENT_WEATHER_RAIN_LIGHT 3
-#define COORD_EVENT_WEATHER_SNOW 4
-#define COORD_EVENT_WEATHER_RAIN_MED 5
-#define COORD_EVENT_WEATHER_FOG_1 6
-#define COORD_EVENT_WEATHER_FOG_2 7
-#define COORD_EVENT_WEATHER_ASH 8
-#define COORD_EVENT_WEATHER_SANDSTORM 9
-#define COORD_EVENT_WEATHER_SHADE 10
-#define COORD_EVENT_WEATHER_DROUGHT 11
-#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20
-#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21
+#define COORD_EVENT_WEATHER_SUNNY_CLOUDS 1
+#define COORD_EVENT_WEATHER_SUNNY 2
+#define COORD_EVENT_WEATHER_RAIN 3
+#define COORD_EVENT_WEATHER_SNOW 4
+#define COORD_EVENT_WEATHER_RAIN_THUNDERSTORM 5
+#define COORD_EVENT_WEATHER_FOG_HORIZONTAL 6
+#define COORD_EVENT_WEATHER_FOG_DIAGONAL 7
+#define COORD_EVENT_WEATHER_VOLCANIC_ASH 8
+#define COORD_EVENT_WEATHER_SANDSTORM 9
+#define COORD_EVENT_WEATHER_SHADE 10
+#define COORD_EVENT_WEATHER_DROUGHT 11
+#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20
+#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21
-// These are the "unusual weather events" that are used
+// These are the "abnormal weather events" that are used
// to find Kyogre and Groudon.
-#define UNUSUAL_WEATHER_COUNT_PER_LEGENDARY 8
-#define UNUSUAL_WEATHER_GROUDON_LOCATIONS_START 1
-#define UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START 1 + UNUSUAL_WEATHER_COUNT_PER_LEGENDARY
+#define ABNORMAL_WEATHER_COUNT_PER_LEGENDARY 8
+#define ABNORMAL_WEATHER_GROUDON_LOCATIONS_START 1
+#define ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START 1 + ABNORMAL_WEATHER_COUNT_PER_LEGENDARY
-#define UNUSUAL_WEATHER_NONE 0
+#define ABNORMAL_WEATHER_NONE 0
// Groudon locations
-#define UNUSUAL_WEATHER_ROUTE_114_NORTH 1
-#define UNUSUAL_WEATHER_ROUTE_114_SOUTH 2
-#define UNUSUAL_WEATHER_ROUTE_115_WEST 3
-#define UNUSUAL_WEATHER_ROUTE_115_EAST 4
-#define UNUSUAL_WEATHER_ROUTE_116_NORTH 5
-#define UNUSUAL_WEATHER_ROUTE_116_SOUTH 6
-#define UNUSUAL_WEATHER_ROUTE_118_EAST 7
-#define UNUSUAL_WEATHER_ROUTE_118_WEST 8
+#define ABNORMAL_WEATHER_ROUTE_114_NORTH 1
+#define ABNORMAL_WEATHER_ROUTE_114_SOUTH 2
+#define ABNORMAL_WEATHER_ROUTE_115_WEST 3
+#define ABNORMAL_WEATHER_ROUTE_115_EAST 4
+#define ABNORMAL_WEATHER_ROUTE_116_NORTH 5
+#define ABNORMAL_WEATHER_ROUTE_116_SOUTH 6
+#define ABNORMAL_WEATHER_ROUTE_118_EAST 7
+#define ABNORMAL_WEATHER_ROUTE_118_WEST 8
// Kyogre locations
-#define UNUSUAL_WEATHER_ROUTE_105_NORTH 9
-#define UNUSUAL_WEATHER_ROUTE_105_SOUTH 10
-#define UNUSUAL_WEATHER_ROUTE_125_WEST 11
-#define UNUSUAL_WEATHER_ROUTE_125_EAST 12
-#define UNUSUAL_WEATHER_ROUTE_127_NORTH 13
-#define UNUSUAL_WEATHER_ROUTE_127_SOUTH 14
-#define UNUSUAL_WEATHER_ROUTE_129_WEST 15
-#define UNUSUAL_WEATHER_ROUTE_129_EAST 16
+#define ABNORMAL_WEATHER_ROUTE_105_NORTH 9
+#define ABNORMAL_WEATHER_ROUTE_105_SOUTH 10
+#define ABNORMAL_WEATHER_ROUTE_125_WEST 11
+#define ABNORMAL_WEATHER_ROUTE_125_EAST 12
+#define ABNORMAL_WEATHER_ROUTE_127_NORTH 13
+#define ABNORMAL_WEATHER_ROUTE_127_SOUTH 14
+#define ABNORMAL_WEATHER_ROUTE_129_WEST 15
+#define ABNORMAL_WEATHER_ROUTE_129_EAST 16
#endif // GUARD_CONSTANTS_WEATHER_H
diff --git a/include/contest.h b/include/contest.h
index 8ef208aea..00c3191eb 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -201,14 +201,6 @@ enum
};
enum {
- CONTEST_RANK_NORMAL,
- CONTEST_RANK_SUPER,
- CONTEST_RANK_HYPER,
- CONTEST_RANK_MASTER,
- CONTEST_RANK_LINK
-};
-
-enum {
CONTEST_FILTER_NONE,
CONTEST_FILTER_NO_POSTGAME,
CONTEST_FILTER_ONLY_POSTGAME
@@ -227,7 +219,7 @@ struct ContestPokemon
u8 aiPool_Cute:1; // 0x10
u8 aiPool_Smart:1; // 0x20
u8 aiPool_Tough:1; // 0x40
- /*0x1E*/ u16 moves[4]; // moves
+ /*0x1E*/ u16 moves[MAX_MON_MOVES]; // moves
/*0x26*/ u8 cool; // cool
/*0x27*/ u8 beauty; // beauty
/*0x28*/ u8 cute; // cute
@@ -436,15 +428,15 @@ struct ContestResources
#define eContestDebugMode (gHeap[0x1a000])
#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
-extern struct ContestPokemon gContestMons[4];
-extern s16 gContestMonConditions[4];
-extern s16 gUnknown_02039F08[4];
-extern s16 gUnknown_02039F10[4];
-extern s16 gUnknown_02039F18[4];
-extern u8 gContestFinalStandings[4];
+extern struct ContestPokemon gContestMons[CONTESTANT_COUNT];
+extern s16 gContestMonConditions[CONTESTANT_COUNT];
+extern s16 gUnknown_02039F08[CONTESTANT_COUNT];
+extern s16 gUnknown_02039F10[CONTESTANT_COUNT];
+extern s16 gUnknown_02039F18[CONTESTANT_COUNT];
+extern u8 gContestFinalStandings[CONTESTANT_COUNT];
extern u8 gContestMonPartyIndex;
extern u8 gContestPlayerMonIndex;
-extern u8 gContestantTurnOrder[4];
+extern u8 gContestantTurnOrder[CONTESTANT_COUNT];
extern u8 gLinkContestFlags;
extern u8 gUnknown_02039F2B;
extern u16 gSpecialVar_ContestCategory;
@@ -453,7 +445,7 @@ extern u8 gNumLinkContestPlayers;
extern u8 gHighestRibbonRank;
extern struct ContestResources *gContestResources;
extern u8 sContestBgCopyFlags;
-extern struct ContestWinner gUnknown_02039F3C;
+extern struct ContestWinner gCurContestWinner;
extern u8 gUnknown_02039F5C;
extern u8 gUnknown_02039F5D;
@@ -466,7 +458,7 @@ void CB2_StartContest(void);
void sub_80DA8C8(u8 partyIndex);
void sub_80DAB8C(u8 contestType, u8 rank);
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
-u8 sub_80DAE0C(struct Pokemon *pkmn);
+u8 GetContestEntryEligibility(struct Pokemon *pkmn);
void sub_80DB09C(u8 contestCategory);
bool8 IsSpeciesNotUnown(u16 species);
bool8 Contest_IsMonsTurnDisabled(u8 a);
diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h
index b4ccf2803..add3ae62f 100644
--- a/include/contest_link_80F57C4.h
+++ b/include/contest_link_80F57C4.h
@@ -1,10 +1,10 @@
#ifndef GUARD_CONTEST_LINK_80F57C4_H
#define GUARD_CONTEST_LINK_80F57C4_H
-void sub_80F8264(void);
-void sub_80F8290(void);
-void sub_80F840C(void);
-void sub_80F8438(void);
+void BufferContestantTrainerName(void);
+void BufferContestantMonNickname(void);
+void StartContest(void);
+void BufferContestantMonSpecies(void);
void sub_80F8484(void);
void sub_80F84C4(u8);
void sub_80FC998(u8 taskId);
diff --git a/include/contest_painting.h b/include/contest_painting.h
index c633c50cc..f16a0d2f3 100644
--- a/include/contest_painting.h
+++ b/include/contest_painting.h
@@ -1,16 +1,7 @@
#ifndef GUARD_CONTESTPAINTING_H
#define GUARD_CONTESTPAINTING_H
-enum
-{
- CONTESTRESULT_COOL = 9,
- CONTESTRESULT_BEAUTY = 13,
- CONTESTRESULT_CUTE = 2,
- CONTESTRESULT_SMART = 36,
- CONTESTRESULT_TOUGH = 6,
-};
-
-void sub_812FDA8(int);
+void SetContestWinnerForPainting(int);
void CB2_ContestPainting(void);
#endif
diff --git a/include/contest_painting_effects.h b/include/contest_painting_effects.h
deleted file mode 100755
index 3b6964666..000000000
--- a/include/contest_painting_effects.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef GUARD_CONTEST_PAINTING_EFFECTS_H
-#define GUARD_CONTEST_PAINTING_EFFECTS_H
-
-struct Unk030061A0
-{
- u8 var_0;
- u8 pad1[3];
- u16 (*var_4)[][32];
- u16 *var_8;
- u8 pad0C[4];
- u32 var_10;
- u16 var_14;
- u16 var_16;
- u8 var_18;
- u8 var_19;
- u8 var_1A;
- u8 var_1B;
- u8 var_1C;
- u8 var_1D;
- u8 var_1E;
- u8 var_1F;
-};
-
-void sub_8124F2C(struct Unk030061A0 *);
-void sub_81261A4(struct Unk030061A0 *);
-void sub_8126058(struct Unk030061A0 *);
-
-#endif
diff --git a/include/data.h b/include/data.h
index f1a4caa6a..49b98663a 100644
--- a/include/data.h
+++ b/include/data.h
@@ -34,7 +34,7 @@ struct TrainerMonNoItemCustomMoves
u16 iv;
u8 lvl;
u16 species;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
};
struct TrainerMonItemCustomMoves
@@ -43,7 +43,7 @@ struct TrainerMonItemCustomMoves
u8 lvl;
u16 species;
u16 heldItem;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
};
union TrainerMonPtr
diff --git a/include/daycare.h b/include/daycare.h
index ecd875865..7d6f2fb19 100644
--- a/include/daycare.h
+++ b/include/daycare.h
@@ -1,10 +1,10 @@
#ifndef GUARD_DAYCARE_H
#define GUARD_DAYCARE_H
-#define EGG_HATCH_LEVEL 5
+#include "constants/daycare.h"
-u8 *GetMonNick(struct Pokemon *mon, u8 *dest);
-u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest);
+u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest);
+u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest);
u8 CountPokemonInDaycare(struct DayCare *daycare);
void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail);
void StoreSelectedPokemonInDaycare(void);
@@ -16,7 +16,7 @@ void RejectEggFromDayCare(void);
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);
void GiveEggFromDaycare(void);
bool8 ShouldEggHatch(void);
-u16 GetSelectedMonNickAndSpecies(void);
+u16 GetSelectedMonNicknameAndSpecies(void);
void GetDaycareMonNicknames(void);
u8 GetDaycareState(void);
void SetDaycareCompatibilityString(void);
diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h
index 55e8fa880..9995decc2 100644
--- a/include/dodrio_berry_picking.h
+++ b/include/dodrio_berry_picking.h
@@ -2,7 +2,7 @@
#define GUARD_DODRIO_BERRY_PICKING_H
void sub_802493C(u16 a0, void (*callback)(void));
-void sub_8027A5C(void);
-void sub_8027AAC(void);
+void IsDodrioInParty(void);
+void ShowDodrioBerryPickingRecords(void);
#endif // GUARD_DODRIO_BERRY_PICKING_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 84ac15422..f2ef066d4 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -128,12 +128,12 @@ bool32 sub_811F8D8(int word);
void InitializeEasyChatWordArray(u16 *words, u16 length);
u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows);
bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);
-u16 sub_811EE38(u16 group);
-u16 sub_811F01C(void);
+u16 GetRandomEasyChatWordFromGroup(u16 group);
+u16 GetNewHipsterPhraseToTeach(void);
u16 EasyChat_GetNumWordsInGroup(u8);
-u16 sub_811EE90(u16);
+u16 GetRandomEasyChatWordFromUnlockedGroup(u16);
void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType);
void sub_811F8BC(void);
-void sub_811EFC0(u8 additionalPhraseId);
+void UnlockAdditionalPhrase(u8 additionalPhraseId);
#endif // GUARD_EASYCHAT_H
diff --git a/include/egg_hatch.h b/include/egg_hatch.h
index 862d33947..64d07c813 100644
--- a/include/egg_hatch.h
+++ b/include/egg_hatch.h
@@ -2,9 +2,9 @@
#define GUARD_EGG_HATCH_H
void ScriptHatchMon(void);
-bool8 sub_8071614(void);
+bool8 CheckDaycareMonReceivedMail(void);
void EggHatch(void);
u8 GetEggStepsToSubtract(void);
-u16 sub_80722E0(void);
+u16 CountPartyAliveNonEggMons(void);
#endif // GUARD_EGG_HATCH_H
diff --git a/include/event_data.h b/include/event_data.h
index 11289c1ab..36d52561f 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -16,8 +16,8 @@ bool32 IsMysteryEventEnabled(void);
void DisableMysteryGift(void);
void EnableMysteryGift(void);
bool32 IsMysteryGiftEnabled(void);
-void sub_809D4D8(void);
-void sub_809D570(void);
+void ClearMysteryEventFlags(void);
+void ClearMysteryEventVars(void);
void DisableResetRTC(void);
void EnableResetRTC(void);
bool32 CanResetRTC(void);
diff --git a/include/event_scripts.h b/include/event_scripts.h
index fc0b3cde0..a56ab89e0 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -1,22 +1,14 @@
#ifndef GUARD_EVENT_SCRIPTS_H
#define GUARD_EVENT_SCRIPTS_H
-extern const u8 gUnknown_0823B4E8[];
-extern const u8 gUnknown_0823B5E9[];
extern const u8 EventScript_TestSignpostMsg[];
extern const u8 EventScript_TryGetTrainerScript[];
-extern const u8 EventScript_275BB7[];
-extern const u8 EventScript_275D0C[];
-extern const u8 EventScript_275D1F[];
-extern const u8 EventScript_275D2E[];
extern const u8 EventScript_271354[];
extern const u8 EventScript_DoTainerBattle[];
extern const u8 EventScript_TryDoDoubleTrainerBattle[];
extern const u8 EventScript_TryDoNormalTrainerBattle[];
extern const u8 EventScript_TryDoDoubleRematchBattle[];
extern const u8 EventScript_TryDoRematchBattle[];
-extern const u8 SecretBase_EventScript_DollInteract[];
-extern const u8 SecretBase_EventScript_CushionInteract[];
extern const u8 BerryTreeScript[];
@@ -248,49 +240,49 @@ extern const u8 gTVWhatsNo1InHoennTodayText05[];
extern const u8 gTVWhatsNo1InHoennTodayText06[];
extern const u8 gTVWhatsNo1InHoennTodayText07[];
extern const u8 gTVWhatsNo1InHoennTodayText08[];
-extern const u8 gTVSecretBaseSecretsText00[];
-extern const u8 gTVSecretBaseSecretsText01[];
-extern const u8 gTVSecretBaseSecretsText02[];
-extern const u8 gTVSecretBaseSecretsText03[];
-extern const u8 gTVSecretBaseSecretsText04[];
-extern const u8 gTVSecretBaseSecretsText05[];
-extern const u8 gTVSecretBaseSecretsText06[];
-extern const u8 gTVSecretBaseSecretsText07[];
-extern const u8 gTVSecretBaseSecretsText08[];
-extern const u8 gTVSecretBaseSecretsText09[];
-extern const u8 gTVSecretBaseSecretsText10[];
-extern const u8 gTVSecretBaseSecretsText11[];
-extern const u8 gTVSecretBaseSecretsText12[];
-extern const u8 gTVSecretBaseSecretsText13[];
-extern const u8 gTVSecretBaseSecretsText14[];
-extern const u8 gTVSecretBaseSecretsText15[];
-extern const u8 gTVSecretBaseSecretsText16[];
-extern const u8 gTVSecretBaseSecretsText17[];
-extern const u8 gTVSecretBaseSecretsText18[];
-extern const u8 gTVSecretBaseSecretsText19[];
-extern const u8 gTVSecretBaseSecretsText20[];
-extern const u8 gTVSecretBaseSecretsText21[];
-extern const u8 gTVSecretBaseSecretsText22[];
-extern const u8 gTVSecretBaseSecretsText23[];
-extern const u8 gTVSecretBaseSecretsText24[];
-extern const u8 gTVSecretBaseSecretsText25[];
-extern const u8 gTVSecretBaseSecretsText26[];
-extern const u8 gTVSecretBaseSecretsText27[];
-extern const u8 gTVSecretBaseSecretsText28[];
-extern const u8 gTVSecretBaseSecretsText29[];
-extern const u8 gTVSecretBaseSecretsText30[];
-extern const u8 gTVSecretBaseSecretsText31[];
-extern const u8 gTVSecretBaseSecretsText32[];
-extern const u8 gTVSecretBaseSecretsText33[];
-extern const u8 gTVSecretBaseSecretsText34[];
-extern const u8 gTVSecretBaseSecretsText35[];
-extern const u8 gTVSecretBaseSecretsText36[];
-extern const u8 gTVSecretBaseSecretsText37[];
-extern const u8 gTVSecretBaseSecretsText38[];
-extern const u8 gTVSecretBaseSecretsText39[];
-extern const u8 gTVSecretBaseSecretsText40[];
-extern const u8 gTVSecretBaseSecretsText41[];
-extern const u8 gTVSecretBaseSecretsText42[];
+extern const u8 TVSecretBaseSecrets_Text_Intro[];
+extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1[];
+extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2[];
+extern const u8 TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving[];
+extern const u8 TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer[];
+extern const u8 TVSecretBaseSecrets_Text_PlayerEnjoyedBase[];
+extern const u8 TVSecretBaseSecrets_Text_PlayerHugeFanOfBase[];
+extern const u8 TVSecretBaseSecrets_Text_Outro[];
+extern const u8 TVSecretBaseSecrets_Text_StoppedMoving1[];
+extern const u8 TVSecretBaseSecrets_Text_StoppedMoving2[];
+extern const u8 TVSecretBaseSecrets_Text_UsedChair[];
+extern const u8 TVSecretBaseSecrets_Text_UsedBalloon[];
+extern const u8 TVSecretBaseSecrets_Text_UsedTent[];
+extern const u8 TVSecretBaseSecrets_Text_UsedPlant[];
+extern const u8 TVSecretBaseSecrets_Text_UsedGoldShield[];
+extern const u8 TVSecretBaseSecrets_Text_UsedSilverShield[];
+extern const u8 TVSecretBaseSecrets_Text_UsedGlassOrnament[];
+extern const u8 TVSecretBaseSecrets_Text_UsedTV[];
+extern const u8 TVSecretBaseSecrets_Text_UsedMudBall[];
+extern const u8 TVSecretBaseSecrets_Text_UsedBag[];
+extern const u8 TVSecretBaseSecrets_Text_UsedCushion[];
+extern const u8 TVSecretBaseSecrets_Text_HitCushion[];
+extern const u8 TVSecretBaseSecrets_Text_HuggedCushion[];
+extern const u8 TVSecretBaseSecrets_Text_BattledWon[];
+extern const u8 TVSecretBaseSecrets_Text_BattledLost[];
+extern const u8 TVSecretBaseSecrets_Text_DeclinedBattle[];
+extern const u8 TVSecretBaseSecrets_Text_UsedPoster[];
+extern const u8 TVSecretBaseSecrets_Text_UsedNoteMat[];
+extern const u8 TVSecretBaseSecrets_Text_BattledDraw[];
+extern const u8 TVSecretBaseSecrets_Text_UsedSpinMat[];
+extern const u8 TVSecretBaseSecrets_Text_UsedSandOrnament[];
+extern const u8 TVSecretBaseSecrets_Text_UsedDesk[];
+extern const u8 TVSecretBaseSecrets_Text_UsedBrick[];
+extern const u8 TVSecretBaseSecrets_Text_UsedSolidBoard[];
+extern const u8 TVSecretBaseSecrets_Text_UsedFence[];
+extern const u8 TVSecretBaseSecrets_Text_UsedGlitterMat[];
+extern const u8 TVSecretBaseSecrets_Text_UsedTire[];
+extern const u8 TVSecretBaseSecrets_Text_UsedStand[];
+extern const u8 TVSecretBaseSecrets_Text_BrokeDoor[];
+extern const u8 TVSecretBaseSecrets_Text_UsedDoll[];
+extern const u8 TVSecretBaseSecrets_Text_UsedSlide[];
+extern const u8 TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown[];
+extern const u8 TVSecretBaseSecrets_Text_UsedJumpMat[];
extern const u8 gTVSafariFanClubText00[];
extern const u8 gTVSafariFanClubText01[];
extern const u8 gTVSafariFanClubText02[];
@@ -368,32 +360,26 @@ extern const u8 gPokeNewsTextLilycove_Ending[];
extern const u8 gPokeNewsTextBlendMaster_Upcoming[];
extern const u8 gPokeNewsTextBlendMaster_Ongoing[];
extern const u8 gPokeNewsTextBlendMaster_Ending[];
-extern const u8 SecretBase_RedCave1_Text_274966[];
-extern const u8 SecretBase_RedCave1_Text_274D13[];
-extern const u8 SecretBase_RedCave1_Text_274FFE[];
-extern const u8 SecretBase_RedCave1_Text_275367[];
-extern const u8 SecretBase_RedCave1_Text_2756C7[];
-extern const u8 SecretBase_RedCave1_Text_274B24[];
-extern const u8 SecretBase_RedCave1_Text_274E75[];
-extern const u8 SecretBase_RedCave1_Text_2751E1[];
-extern const u8 SecretBase_RedCave1_Text_2754F6[];
-extern const u8 SecretBase_RedCave1_Text_2758CC[];
-
-extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
+extern const u8 SecretBase_Text_Trainer0Defeated[];
+extern const u8 SecretBase_Text_Trainer1Defeated[];
+extern const u8 SecretBase_Text_Trainer2Defeated[];
+extern const u8 SecretBase_Text_Trainer3Defeated[];
+extern const u8 SecretBase_Text_Trainer4Defeated[];
+extern const u8 SecretBase_Text_Trainer5Defeated[];
+extern const u8 SecretBase_Text_Trainer6Defeated[];
+extern const u8 SecretBase_Text_Trainer7Defeated[];
+extern const u8 SecretBase_Text_Trainer8Defeated[];
+extern const u8 SecretBase_Text_Trainer9Defeated[];
//field effects
extern const u8 EventScript_FldEffStrength[];
extern const u8 EventScript_FailSweetScent[];
-extern const u8 EventScript_2926F8[];
+extern const u8 EventScript_FldEffFlash[];
extern const u8 EventScript_FldEffRockSmash[];
//player pc
-extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[];
-extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[];
-
-//contest_strings
-extern const u8 gText_0827D507[];
-extern const u8 gText_0827D531[];
+extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC[];
+extern const u8 LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC[];
//mauville_old_man
extern const u8 gOtherText_Is[];
@@ -415,130 +401,127 @@ extern const u8 gMauvilleManText_WhenYouSeeTheSettingSunDoesIt[];
extern const u8 gMauvilleManText_LyingBackInTheGreenGrass[];
extern const u8 gMauvilleManText_SecretBasesAreSoWonderful[];
+// mauville old man storyteller
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction[];
+extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E930[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E947[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E956[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9D7[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9EF[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9FE[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA7D[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA98[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EAA8[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB19[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB31[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB3E[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBB5[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBCD[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBDD[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC60[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC79[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC81[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED04[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED21[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED30[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDA1[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDB5[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDCF[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE45[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE5D[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE6A[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEDD[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEF1[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF01[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF73[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF95[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EFAA[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F045[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F05A[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F071[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F0F3[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F10D[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F125[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1BE[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1D5[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1DE[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F24F[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F269[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F277[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F2FC[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F314[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F32A[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3AD[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3C6[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3D2[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F44B[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F461[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F47C[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F50C[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F51B[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F538[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5BE[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5D1[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5F2[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F678[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F694[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F6B4[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F751[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F76A[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F776[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F7F6[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F811[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F822[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F89C[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8AF[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8BC[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F92F[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F941[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F949[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9D1[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9EA[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9FD[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA81[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA99[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FAA7[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB1D[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB35[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB47[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBC4[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBD9[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBEA[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC6B[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC85[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC98[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD1D[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD35[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD40[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDA2[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDBD[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDCE[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE57[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE72[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE88[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF0C[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF27[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF44[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFDD[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFFA[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_29000D[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_290097[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900B5[];
-extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900CB[];
-
-extern const u8 EventScript_PlayerPCMale[];
-extern const u8 EventScript_PlayerPCFemale[];
-extern const u8 EventScript_SecretBasePC[];
-extern const u8 EventScript_RecordMixingSecretBasePC[];
+extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_PC[];
+extern const u8 LittlerootTown_MaysHouse_2F_EventScript_PC[];
extern const u8 EventScript_PC[];
extern const u8 EventScript_TestSignpostMsg[];
extern const u8 EventScript_HiddenItemScript[];
-extern const u8 EventScript_2759F1[];
extern const u8 EventScript_TV[];
extern const u8 EventScript_ClosedSootopolisDoor[];
-extern const u8 SkyPillar_Outside_EventScript_2393F9[];
+extern const u8 SkyPillar_Outside_EventScript_ClosedDoor[];
extern const u8 EventScript_CableBoxResults[];
extern const u8 EventScript_PokeBlockFeeder[];
-extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[];
+extern const u8 Route110_TrickHousePuzzle_EventScript_Door[];
extern const u8 EventScript_RegionMap[];
extern const u8 EventScript_RunningShoesManual[];
extern const u8 EventScript_PictureBookShelf[];
@@ -552,38 +535,56 @@ extern const u8 EventScript_WirelessBoxResults[];
extern const u8 EventScript_CableBoxResults[];
extern const u8 EventScript_Questionnaire[];
extern const u8 EventScript_TrainerHillTimer[];
-extern const u8 EventScript_SecretBaseSandOrnament[];
-extern const u8 EventScript_SecretBaseShieldOrToyTV[];
extern const u8 EventScript_UseSurf[];
extern const u8 EventScript_UseWaterfall[];
extern const u8 EventScript_CannotUseWaterfall[];
extern const u8 EventScript_UseDive[];
extern const u8 EventScript_UseDiveUnderwater[];
extern const u8 EventScript_FallDownHole[];
-extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[];
-extern const u8 EventScript_Poison[];
+extern const u8 EventScript_FieldPoison[];
extern const u8 EventScript_EggHatch[];
-extern const u8 UnusualWeather_EventScript_EndEventAndCleanup_1[];
-extern const u8 IslandCave_EventScript_238EAF[];
-extern const u8 MauvilleCity_EventScript_1DF7BA[];
-extern const u8 Route119_EventScript_1F49EC[];
-extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6[];
-extern const u8 RustboroCity_Gym_EventScript_21307B[];
-extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[];
-extern const u8 SSTidalCorridor_EventScript_23C050[];
-extern const u8 gUnknown_082A8350[];
+extern const u8 AbnormalWeather_EventScript_EndEventAndCleanup_1[];
+extern const u8 IslandCave_EventScript_OpenRegiEntrance[];
+extern const u8 MauvilleCity_EventScript_RegisterWallyCall[];
+extern const u8 Route119_EventScript_ScottWonAtFortreeGymCall[];
+extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall[];
+extern const u8 RustboroCity_Gym_EventScript_RegisterRoxanne[];
+extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall[];
+extern const u8 SSTidalCorridor_EventScript_ReachedStepCount[];
+extern const u8 EventScript_FallDownHoleMtPyre[];
+
+// Secret Base
+extern const u8 SecretBase_EventScript_PC[];
+extern const u8 SecretBase_EventScript_RecordMixingPC[];
+extern const u8 SecretBase_EventScript_PCCancel[];
+extern const u8 SecretBase_EventScript_ShowRegisterMenu[];
+extern const u8 SecretBase_EventScript_SandOrnament[];
+extern const u8 SecretBase_EventScript_ShieldOrToyTV[];
+extern const u8 SecretBase_EventScript_DollInteract[];
+extern const u8 SecretBase_EventScript_CushionInteract[];
+extern const u8 SecretBase_EventScript_CheckEntrance[];
+extern const u8 SecretBase_EventScript_Enter[];
+extern const u8 SecretBase_EventScript_InitDecorations[];
+extern const u8 SecretBase_EventScript_PutAwayDecoration[];
+extern const u8 SecretBase_EventScript_SetDecoration[];
// Battle Pyramid.
-extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
+extern const u8 BattlePyramid_Retire[];
+extern const u8 BattlePyramid_WarpToNextFloor[];
extern const u8 BattlePyramid_TrainerBattle[];
extern const u8 BattlePyramid_FindItemBall[];
// fldeff misc
-extern const u8 EventScript_275A86[];
-extern const u8 EventScript_275ADF[];
-extern const u8 EventScript_275B38[];
+extern const u8 SecretBase_EventScript_CaveUseSecretPower[];
+extern const u8 SecretBase_EventScript_TreeUseSecretPower[];
+extern const u8 SecretBase_EventScript_ShrubUseSecretPower[];
// trainer hill
-extern const u8 EventScript_2C83F0[];
+extern const u8 TrainerHill_EventScript_TrainerBattle[];
+
+// Item Use
+extern u8 BerryTree_EventScript_ItemUsePlantBerry[];
+extern u8 BerryTree_EventScript_ItemUseWailmerPail[];
+extern u8 BattleFrontier_OutsideEast_EventScript_WaterSudowoodo[];
#endif // GUARD_EVENT_SCRIPTS_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 0dbe600d3..59f99ad93 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -12,7 +12,7 @@ extern bool8 (*gFieldCallback2)(void);
u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
void FieldEffectActiveListClear(void);
-void sub_80B69DC(void);
+void ReturnToFieldFromFlyMapSelect(void);
u8 AddNewGameBirchObject(s16, s16, u8);
void FieldEffectStop(struct Sprite *sprite, u8 id);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
@@ -34,17 +34,17 @@ bool8 FieldEffectCmd_end(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val);
-void sub_80B6B68(void);
-void sub_80B6E4C(u8 a0, u8 priority);
-void sub_80B75D8(u8 priority);
-void sub_80B7A74(u8 priority);
+void FieldCB_FallWarpExit(void);
+void StartEscalatorWarp(u8 metatileBehavior, u8 priority);
+void StartLavaridgeGymB1FWarp(u8 priority);
+void StartLavaridgeGym1FWarp(u8 priority);
void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
-void sub_80B7CAC(struct Sprite*);
-void sub_80B7A58(struct Sprite*);
+void SpriteCB_PopOutOfAsh(struct Sprite*);
+void SpriteCB_LavaridgeGymWarp(struct Sprite*);
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 8d87779e6..f521737b7 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -61,7 +61,8 @@ void sub_808D194(void);
void sub_808D1C8(void);
bool32 sub_808D1B4(void);
bool32 sub_808D1E8(void);
-void sub_808C0A8(u8 a);
+void SetPlayerInvisibility(bool8 invisible);
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
+void StartFishing(u8 taskId);
#endif // GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_poison.h b/include/field_poison.h
index a23a93ca5..e9de7878e 100644
--- a/include/field_poison.h
+++ b/include/field_poison.h
@@ -7,13 +7,7 @@
// Exported ROM declarations
-enum {
- FLDPSN_NONE,
- FLDPSN_PSN,
- FLDPSN_FNT
-};
-
-void ExecuteWhiteOut(void);
+void TryFieldPoisonWhiteOut(void);
s32 DoPoisonFieldEffect(void);
#endif //GUARD_FIELD_POISON_H
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index a62a76b2a..e05e30378 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -1,46 +1,44 @@
#ifndef GUARD_FIELD_SCREEN_EFFECT_H
#define GUARD_FIELD_SCREEN_EFFECT_H
-void pal_fill_for_maplights(void);
-void pal_fill_black(void);
-void WarpFadeScreen(void);
-void sub_80AF128(void);
-void FieldCallback_ReturnToEventScript2(void);
-void sub_80AF188(void);
-void sub_80AF214(void);
-void sub_80AF2B4(u8 taskId);
-void sub_80AF314(void);
-void mapldr_default(void);
-void sub_80AF3B0(void);
-void sub_80AF3C8(void);
-void sub_80AF3E8(void);
-void sub_80AF40C(void);
-void sub_80AF688(void);
-bool8 sub_80AF6A4(void);
+void WarpFadeInScreen(void);
+void WarpFadeOutScreen(void);
+void FadeInFromBlack(void);
+void FadeInFromWhite(void);
+void FieldCB_ContinueScriptUnionRoom(void);
+void FieldCB_ContinueScriptHandleMusic(void);
+void FieldCB_ContinueScript(void);
+void Task_ReturnToFieldRecordMixing(u8 taskId);
+void FieldCB_ReturnToFieldCableLink(void);
+void FieldCB_ReturnToFieldWirelessLink(void);
+void FieldCB_DefaultWarpExit(void);
+void FieldCB_WarpExitFadeFromBlack(void);
+void FieldCB_WarpExitFadeFromWhite(void);
+bool8 FieldCB_ReturnToFieldOpenStartMenu(void);
+void ReturnToFieldOpenStartMenu(void);
void sub_80AF6D4(void);
void sub_80AF6F0(void);
void DoWarp(void);
void DoDiveWarp(void);
-void sub_80AF79C(void);
+void DoSootopolisLegendWarp(void);
void DoDoorWarp(void);
void DoFallWarp(void);
-void sub_80AF80C(u8 metatileBehavior);
-void sub_80AF828(void);
-void sub_80AF838(void);
-void sub_80AF848(void);
-void sub_80AF87C(void);
-void sub_80AF8B8(void);
-void sub_80AF948(void);
-void sub_80AF9F8(void);
-void sub_80AFC60(void);
-void sub_80B009C(u8 flashLevel);
+void DoEscalatorWarp(u8 metatileBehavior);
+void DoLavaridgeGymB1FWarp(void);
+void DoLavaridgeGym1FWarp(void);
+void DoTeleportWarp(void);
+void DoMossdeepGymWarp(void);
+void DoPortholeWarp(void);
+void DoCableClubWarp(void);
+void DoContestHallWarp(void);
+void AnimateFlash(u8 flashLevel);
void WriteBattlePyramidViewScanlineEffectBuffer(void);
void sub_80B0244(void);
void sub_80B0268(void);
-void sub_80B0534(void);
-void sub_80B058C(void);
+void DoOrbEffect(void);
+void FadeOutOrbEffect(void);
void sub_80B05B4(void);
void WriteFlashScanlineEffectBuffer(u8 flashLevel);
-bool8 walkrun_is_standing_still(void);
+bool8 IsPlayerStandingStill(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H
diff --git a/include/field_special_scene.h b/include/field_special_scene.h
index 2219c9433..a54b344d9 100644
--- a/include/field_special_scene.h
+++ b/include/field_special_scene.h
@@ -10,6 +10,6 @@ void Task_HandleTruckSequence(u8 taskId);
void ExecuteTruckSequence(void);
void EndTruckSequence(u8);
void sub_80C791C(void);
-void sub_80FB768(void);
+void FieldCB_ShowPortholeView(void);
#endif // GUARD_FIELD_SPECIAL_SCENE_H
diff --git a/include/field_specials.h b/include/field_specials.h
index b1a50c811..faf71e9c0 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -5,31 +5,31 @@ extern bool8 gBikeCyclingChallenge;
extern u8 gBikeCollisions;
u8 GetLeadMonIndex(void);
-u8 sub_813B260(void);
-u16 get_unknown_box_id(void);
-bool8 InMultiBattleRoom(void);
-void sub_813BF10(void);
+u8 IsDestinationBoxFull(void);
+u16 GetPCBoxToSendMon(void);
+bool8 InMultiPartnerRoom(void);
+void UpdateTrainerFansAfterLinkBattle(void);
void IncrementBirthIslandRockStepCount(void);
-bool8 UnusualWeatherHasExpired(void);
+bool8 AbnormalWeatherHasExpired(void);
bool8 ShouldDoBrailleRegicePuzzle(void);
bool32 ShouldDoWallyCall(void);
-bool32 ShouldDoWinonaCall(void);
-bool32 ShouldDoScottCall(void);
+bool32 ShouldDoScottFortreeCall(void);
+bool32 ShouldDoScottBattleFrontierCall(void);
bool32 ShouldDoRoxanneCall(void);
bool32 ShouldDoRivalRayquazaCall(void);
bool32 CountSSTidalStep(u16 delta);
u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y);
-void sub_813A128(void);
-void sub_813A878(u8 a0);
-u8 sub_813BADC(u8 a0);
-bool8 sub_813B9C0(void);
-void SetShoalItemFlag(u16 v0);
-void UpdateFrontierManiac(u16 a0);
-void UpdateFrontierGambler(u16 a0);
+void ShowScrollableMultichoice(void);
+void FrontierGamblerSetWonOrLost(bool8 won);
+u8 TryGainNewFanFromCounter(u8 incrementId);
+bool8 InPokemonCenter(void);
+void SetShoalItemFlag(u16 unused);
+void UpdateFrontierManiac(u16 daysSince);
+void UpdateFrontierGambler(u16 daysSince);
void ResetCyclingRoadChallengeData(void);
-bool8 warp0_in_pokecenter(void);
+bool8 UsedPokemonCenterWarp(void);
void ResetFanClub(void);
-bool8 sub_813B21C(void);
-void set_unknown_box_id(u8 id);
+bool8 ShouldShowBoxWasFullMessage(void);
+void SetPCBoxToSendMon(u8 boxId);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/field_weather.h b/include/field_weather.h
index 3a84a8a73..1af320151 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -2,32 +2,7 @@
#define GUARD_WEATHER_H
#include "sprite.h"
-
-#define MAX_RAIN_SPRITES 24
-#define NUM_CLOUD_SPRITES 3
-#define NUM_FOG1_SPRITES 20
-#define NUM_ASH_SPRITES 20
-#define NUM_FOG2_SPRITES 20
-#define NUM_SANDSTORM_SPRITES 20
-#define NUM_SWIRL_SANDSTORM_SPRITES 5
-
-// Controls how the weather should be changing the screen palettes.
-enum
-{
- WEATHER_PAL_STATE_CHANGING_WEATHER,
- WEATHER_PAL_STATE_SCREEN_FADING_IN,
- WEATHER_PAL_STATE_SCREEN_FADING_OUT,
- WEATHER_PAL_STATE_IDLE,
-};
-
-// For the FadeScreen function.
-enum
-{
- FADE_FROM_BLACK,
- FADE_TO_BLACK,
- FADE_FROM_WHITE,
- FADE_TO_WHITE,
-};
+#include "constants/field_weather.h"
struct Weather
{
@@ -42,9 +17,9 @@ struct Weather
struct
{
u8 filler0[0xA0];
- struct Sprite *fog1Sprites[NUM_FOG1_SPRITES];
+ struct Sprite *fogHSprites[NUM_FOG_HORIZONTAL_SPRITES];
struct Sprite *ashSprites[NUM_ASH_SPRITES];
- struct Sprite *fog2Sprites[NUM_FOG2_SPRITES];
+ struct Sprite *fogDSprites[NUM_FOG_DIAGONAL_SPRITES];
struct Sprite *sandstormSprites1[NUM_SANDSTORM_SPRITES];
struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES];
} s2;
@@ -75,7 +50,7 @@ struct Weather
u8 targetRainSpriteCount;
u8 rainSpriteCount;
u8 rainSpriteVisibleDelay;
- u8 isHeavyRain;
+ u8 isDownpour;
u8 rainStrength;
/*0x6DE*/ u8 cloudSpritesCreated;
u8 filler_6DF[1];
@@ -89,12 +64,12 @@ struct Weather
u8 unknown_6EB;
u8 unknown_6EC;
u8 thunderTriggered;
- u16 fog1ScrollPosX;
- u16 fog1ScrollCounter;
- u16 fog1ScrollOffset;
+ u16 fogHScrollPosX;
+ u16 fogHScrollCounter;
+ u16 fogHScrollOffset;
u8 lightenedFogSpritePals[6];
u8 lightenedFogSpritePalsCount;
- u8 fog1SpritesCreated;
+ u8 fogHSpritesCreated;
u16 ashBaseSpritesX;
u16 unknown_6FE;
u8 ashSpritesCreated;
@@ -108,13 +83,13 @@ struct Weather
u16 sandstormWaveCounter;
u8 sandstormSpritesCreated;
u8 sandstormSwirlSpritesCreated;
- u16 fog2BaseSpritesX;
- u16 fog2PosY;
- u16 fog2ScrollXCounter;
- u16 fog2ScrollYCounter;
- u16 fog2XOffset;
- u16 fog2YOffset;
- u8 fog2SpritesCreated;
+ u16 fogDBaseSpritesX;
+ u16 fogDPosY;
+ u16 fogDScrollXCounter;
+ u16 fogDScrollYCounter;
+ u16 fogDXOffset;
+ u16 fogDYOffset;
+ u8 fogDSpritesCreated;
u8 filler_725[1];
u16 bubblesDelayCounter;
u16 bubblesDelayIndex;
@@ -145,7 +120,7 @@ extern struct Weather *const gWeatherPtr;
extern const u16 gUnknown_083970E8[];
// field_weather_effect.c
-extern const u8 gWeatherFog1Tiles[];
+extern const u8 gWeatherFogHorizontalTiles[];
void StartWeather(void);
void SetNextWeather(u8 weather);
@@ -186,22 +161,22 @@ void Sunny_InitVars(void);
void Sunny_Main(void);
void Sunny_InitAll(void);
bool8 Sunny_Finish(void);
-void LightRain_InitVars(void);
-void LightRain_Main(void);
-void LightRain_InitAll(void);
-bool8 LightRain_Finish(void);
+void Rain_InitVars(void);
+void Rain_Main(void);
+void Rain_InitAll(void);
+bool8 Rain_Finish(void);
void Snow_InitVars(void);
void Snow_Main(void);
void Snow_InitAll(void);
bool8 Snow_Finish(void);
-void MedRain_InitVars(void);
-void Rain_Main(void);
-void MedRain_InitAll(void);
-bool8 Rain_Finish(void);
-void Fog1_InitVars(void);
-void Fog1_Main(void);
-void Fog1_InitAll(void);
-bool8 Fog1_Finish(void);
+void Thunderstorm_InitVars(void);
+void Thunderstorm_Main(void);
+void Thunderstorm_InitAll(void);
+bool8 Thunderstorm_Finish(void);
+void FogHorizontal_InitVars(void);
+void FogHorizontal_Main(void);
+void FogHorizontal_InitAll(void);
+bool8 FogHorizontal_Finish(void);
void Ash_InitVars(void);
void Ash_Main(void);
void Ash_InitAll(void);
@@ -210,14 +185,10 @@ void Sandstorm_InitVars(void);
void Sandstorm_Main(void);
void Sandstorm_InitAll(void);
bool8 Sandstorm_Finish(void);
-void Fog2_InitVars(void);
-void Fog2_Main(void);
-void Fog2_InitAll(void);
-bool8 Fog2_Finish(void);
-void Fog1_InitVars(void);
-void Fog1_Main(void);
-void Fog1_InitAll(void);
-bool8 Fog1_Finish(void);
+void FogDiagonal_InitVars(void);
+void FogDiagonal_Main(void);
+void FogDiagonal_InitAll(void);
+bool8 FogDiagonal_Finish(void);
void Shade_InitVars(void);
void Shade_Main(void);
void Shade_InitAll(void);
@@ -226,10 +197,8 @@ void Drought_InitVars(void);
void Drought_Main(void);
void Drought_InitAll(void);
bool8 Drought_Finish(void);
-void HeavyRain_InitVars(void);
-void Rain_Main(void);
-void HeavyRain_InitAll(void);
-bool8 Rain_Finish(void);
+void Downpour_InitVars(void);
+void Downpour_InitAll(void);
void Bubbles_InitVars(void);
void Bubbles_Main(void);
void Bubbles_InitAll(void);
diff --git a/include/fieldmap.h b/include/fieldmap.h
index be5610a46..dc81d1766 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -42,7 +42,7 @@ void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout);
void copy_map_tileset1_to_vram(const struct MapLayout *);
void copy_map_tileset2_to_vram(const struct MapLayout *);
struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection);
-struct MapConnection *sub_8088A8C(s16 x, s16 y);
+struct MapConnection *GetConnectionAtCoords(s16 x, s16 y);
void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *);
diff --git a/include/fldeff.h b/include/fldeff.h
index 0a2bad629..deb54372c 100644
--- a/include/fldeff.h
+++ b/include/fldeff.h
@@ -28,8 +28,8 @@ bool8 sub_80E1584(void);
// soft-boiled
bool8 SetUpFieldMove_SoftBoiled(void);
-void sub_81615A8(u8 taskId);
-void sub_8161560(u8 taskId);
+void Task_TryUseSoftboiledOnPartyMon(u8 taskId);
+void ChooseMonForSoftboiled(u8 taskId);
// flash
bool8 SetUpFieldMove_Flash(void);
diff --git a/include/fldeff_misc.h b/include/fldeff_misc.h
index fd96f5646..6fd15c1ea 100644
--- a/include/fldeff_misc.h
+++ b/include/fldeff_misc.h
@@ -21,7 +21,7 @@ void ShatterSecretBaseBreakableDoor(s16 x, s16 y);
void PlaySecretBaseMusicNoteMatSound(s16 metatileId);
void DoSecretBaseGlitterMatSparkle(void);
bool8 FldEff_SandPillar(void);
-void GetShieldToyTVDecorationInfo(void);
+void InteractWithShieldOrTVDecoration(void);
bool8 sub_80FADE4(u16 arg0, u8 arg1);
void FldEffPoison_Start(void);
bool32 FldEffPoison_IsActive(void);
diff --git a/include/frontier_util.h b/include/frontier_util.h
index 9464ba91c..d6cdb3a62 100644
--- a/include/frontier_util.h
+++ b/include/frontier_util.h
@@ -1,21 +1,17 @@
#ifndef GUARD_FRONTIER_UTIL_H
#define GUARD_FRONTIER_UTIL_H
-#define FRONTIER_BEFORE_TEXT 0
-#define FRONTIER_PLAYER_LOST_TEXT 1
-#define FRONTIER_PLAYER_WON_TEXT 2
-
void CallFrontierUtilFunc(void);
-u8 sub_81A3610(void);
+u8 GetFrontierBrainStatus(void);
void CopyFrontierTrainerText(u8 whichText, u16 trainerId);
-void sub_81A3908(void);
+void ResetWinStreaks(void);
u32 GetCurrentFacilityWinStreak(void);
-void sub_81A3ACC(void);
+void ResetFrontierTrainerIds(void);
u8 GetPlayerSymbolCountForFacility(u8 facility);
void ShowRankingHallRecordsWindow(void);
void ScrollRankingHallRecordsWindow(void);
void ClearRankingHallRecords(void);
-void sub_81A4C30(void);
+void SaveGameFrontier(void);
u8 GetFrontierBrainTrainerPicIndex(void);
u8 GetFrontierBrainTrainerClass(void);
void CopyFrontierBrainTrainerName(u8 *dst);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index a17180589..3913b96d8 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -59,13 +59,13 @@ struct EventObjectTemplate
/*0x06*/ s16 y;
/*0x08*/ u8 elevation;
/*0x09*/ u8 movementType;
- /*0x0A*/ u8 movementRangeX:4;
- u8 movementRangeY:4;
+ /*0x0A*/ u16 movementRangeX:4;
+ u16 movementRangeY:4;
/*0x0C*/ u16 trainerType;
/*0x0E*/ u16 trainerRange_berryTreeId;
/*0x10*/ const u8 *script;
/*0x14*/ u16 flagId;
-}; /*size = 0x18*/
+};
struct WarpEvent
{
@@ -82,7 +82,6 @@ struct CoordEvent
u8 elevation;
u16 trigger;
u16 index;
- u8 filler_A[0x2];
u8 *script;
};
@@ -90,20 +89,14 @@ struct BgEvent
{
u16 x, y;
u8 elevation;
- u8 kind;
- union { // carried over from diego's FR/LG work, seems to be the same struct
- // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
+ u8 kind; // The "kind" field determines how to access bgUnion union below.
+ union {
u8 *script;
-
- // hidden item type
struct {
u16 item;
- u16 hiddenItemId; // flag offset to determine flag lookup
+ u16 hiddenItemId;
} hiddenItem;
-
- // secret base type
u32 secretBaseId;
-
} bgUnion;
};
@@ -113,7 +106,6 @@ struct MapEvents
u8 warpCount;
u8 coordEventCount;
u8 bgEventCount;
-
struct EventObjectTemplate *eventObjects;
struct WarpEvent *warps;
struct CoordEvent *coordEvents;
@@ -122,10 +114,10 @@ struct MapEvents
struct MapConnection
{
- /*0x00*/ u8 direction;
- /*0x01*/ u32 offset;
- /*0x05*/ u8 mapGroup;
- /*0x06*/ u8 mapNum;
+ u8 direction;
+ u32 offset;
+ u8 mapGroup;
+ u8 mapNum;
};
struct MapConnections
@@ -151,6 +143,16 @@ struct MapHeader
/* 0x1B */ u8 battleType;
};
+// Flags for gMapHeader.flags, as defined in the map_header_flags macro
+#define MAP_ALLOW_BIKE (1 << 0)
+#define MAP_ALLOW_ESCAPE_ROPE (1 << 1)
+#define MAP_ALLOW_RUN (1 << 2)
+#define MAP_SHOW_MAP_NAME (1 << 3)
+#define UNUSED_MAP_FLAGS (1 << 4 | 1 << 5 | 1 << 6 | 1 << 7)
+
+#define SHOW_MAP_NAME_ENABLED ((gMapHeader.flags & (MAP_SHOW_MAP_NAME | UNUSED_MAP_FLAGS)) == MAP_SHOW_MAP_NAME)
+
+
struct EventObject
{
/*0x00*/ u32 active:1;
@@ -180,7 +182,7 @@ struct EventObject
/*0x03*/ u32 spriteAffineAnimPausedBackup:1;
u32 disableJumpLandingGroundEffect:1;
u32 fixedPriority:1;
- u32 unk3_3:1;
+ u32 hideReflection:1;
/*0x04*/ u8 spriteId;
/*0x05*/ u8 graphicsId;
/*0x06*/ u8 movementType;
@@ -267,7 +269,20 @@ enum
enum
{
- COLLISION_LEDGE_JUMP = 6
+ COLLISION_NONE,
+ COLLISION_OUTSIDE_RANGE,
+ COLLISION_IMPASSABLE,
+ COLLISION_ELEVATION_MISMATCH,
+ COLLISION_EVENT_OBJECT,
+ COLLISION_STOP_SURFING,
+ COLLISION_LEDGE_JUMP,
+ COLLISION_PUSHED_BOULDER,
+ COLLISION_ROTATING_GATE,
+ COLLISION_WHEELIE_HOP,
+ COLLISION_ISOLATED_VERTICAL_RAIL,
+ COLLISION_ISOLATED_HORIZONTAL_RAIL,
+ COLLISION_VERTICAL_RAIL,
+ COLLISION_HORIZONTAL_RAIL,
};
// player running states
diff --git a/include/global.h b/include/global.h
index 1fbc70e23..fa28b16cf 100644
--- a/include/global.h
+++ b/include/global.h
@@ -63,8 +63,6 @@
// Converts a Q24.8 fixed-point format number to a regular integer
#define Q_24_8_TO_INT(n) ((int)((n) >> 8))
-#define PARTY_SIZE 6
-
#define POKEMON_SLOTS_NUMBER 412
#define min(a, b) ((a) < (b) ? (a) : (b))
@@ -212,18 +210,20 @@ struct BerryCrush
struct ApprenticeMon
{
u16 species;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
u16 item;
};
+// This is for past players Apprentices or Apprentices received via Record Mix.
+// For the current Apprentice, see struct PlayersApprentice
struct Apprentice
{
u8 id:5;
u8 lvlMode:2; // + 1
- u8 field_1;
+ u8 numQuestions;
u8 number;
- struct ApprenticeMon party[3];
- u16 easyChatWords[6];
+ struct ApprenticeMon party[MULTI_PARTY_SIZE];
+ u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT];
u8 playerId[TRAINER_ID_LENGTH];
u8 playerName[PLAYER_NAME_LENGTH];
u8 language;
@@ -234,7 +234,7 @@ struct BattleTowerPokemon
{
u16 species;
u16 heldItem;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
u8 level;
u8 ppBonuses;
u8 hpEV;
@@ -266,14 +266,23 @@ struct EmeraldBattleTowerRecord
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
- /*0x10*/ u16 greeting[6];
- /*0x1C*/ u16 speechWon[6];
- /*0x28*/ u16 speechLost[6];
- /*0x34*/ struct BattleTowerPokemon party[4];
+ /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x1C*/ u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x28*/ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x34*/ struct BattleTowerPokemon party[MAX_FRONTIER_PARTY_SIZE];
/*0xE4*/ u8 language;
/*0xE8*/ u32 checksum;
};
+struct BattleTowerInterview
+{
+ u16 playerSpecies;
+ u16 opponentSpecies;
+ u8 opponentName[PLAYER_NAME_LENGTH + 1];
+ u8 opponentMonNickname[POKEMON_NAME_LENGTH + 1];
+ u8 opponentLanguage;
+};
+
struct BattleTowerEReaderTrainer
{
/*0x00*/ u8 unk0;
@@ -281,17 +290,18 @@ struct BattleTowerEReaderTrainer
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
- /*0x10*/ u16 greeting[6];
- /*0x1C*/ u16 farewellPlayerLost[6];
- /*0x28*/ u16 farewellPlayerWon[6];
- /*0x34*/ struct BattleTowerPokemon party[3];
+ /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x1C*/ u16 farewellPlayerLost[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x28*/ u16 farewellPlayerWon[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x34*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE];
/*0xB8*/ u32 checksum;
};
-struct FrontierMonData
+// For displaying party information on the player's Battle Dome tourney page
+struct DomeMonData
{
- u16 moves[4];
- u8 evs[6];
+ u16 moves[MAX_MON_MOVES];
+ u8 evs[NUM_STATS];
u8 nature;
};
@@ -308,7 +318,7 @@ struct BattleDomeTrainer
u16 trainerId:10;
u16 isEliminated:1;
u16 eliminatedAt:2;
- u16 unk3:3;
+ u16 forfeited:3;
};
#define DOME_TOURNAMENT_TRAINERS_COUNT 16
@@ -317,112 +327,103 @@ struct BattleFrontier
{
/*0x64C*/ struct EmeraldBattleTowerRecord towerPlayer;
/*0x738*/ struct EmeraldBattleTowerRecord towerRecords[5]; // From record mixing.
- /*0xBD4*/ u16 field_BD4;
- /*0xBD6*/ u16 field_BD6;
- /*0xBD8*/ u8 field_BD8[PLAYER_NAME_LENGTH + 1];
- /*0xBE3*/ u8 field_BE0[POKEMON_NAME_LENGTH + 1];
- /*0xBEB*/ u8 field_BEB;
+ /*0xBEB*/ struct BattleTowerInterview towerInterview;
/*0xBEC*/ struct BattleTowerEReaderTrainer ereaderTrainer;
- /*0xCA8*/ u8 field_CA8;
- /*0xCA9*/ u8 lvlMode:2; // 0x1, 0x2 -> 0x3
- /*0xCA9*/ u8 field_CA9_a:1; // 0x4
- /*0xCA9*/ u8 field_CA9_b:1; // 0x8
- /*0xCA9*/ u8 field_CA9_c:1; // 0x10
- /*0xCA9*/ u8 field_CA9_d:1; // 0x20
- /*0xCA9*/ u8 field_CA9_e:1; // 0x40
- /*0xCA9*/ u8 field_CA9_f:1; // 0x80
- /*0xCAA*/ u16 selectedPartyMons[3];
- /*0xCB0*/ u16 field_CB0;
- /*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.
+ /*0xCA8*/ u8 challengeStatus;
+ /*0xCA9*/ u8 lvlMode:2;
+ /*0xCA9*/ u8 challengePaused:1;
+ /*0xCA9*/ u8 disableRecordBattle:1;
+ /*0xCAA*/ u16 selectedPartyMons[MAX_FRONTIER_PARTY_SIZE];
+ /*0xCB2*/ u16 curChallengeBattleNum; // Battle number / room number (Pike) / floor number (Pyramid)
/*0xCB4*/ u16 trainerIds[20];
- /*0xCDC*/ u32 field_CDC;
+ /*0xCDC*/ u32 winStreakActiveFlags;
/*0xCE0*/ u16 towerWinStreaks[4][2];
/*0xCF0*/ u16 towerRecordWinStreaks[4][2];
- /*0xD00*/ u16 field_D00;
- /*0xD02*/ u16 field_D02;
- /*0xD04*/ u16 field_D04;
- /*0xD06*/ u8 field_D06;
- /*0xD07*/ u8 field_D07;
- /*0xD08*/ u8 field_D08_0:1;
- /*0xD08*/ u8 field_D08_1:1;
- /*0xD08*/ u8 field_D08_2:1;
- /*0xD08*/ u8 field_D08_3:1;
- /*0xD08*/ u8 field_D08_4:1;
- /*0xD08*/ u8 field_D08_5:1;
- /*0xD08*/ u8 field_D08_6:1;
- /*0xD08*/ u8 field_D08_7:1;
- /*0xD09*/ u8 filler_D09;
- /*0xD0A*/ u8 field_D0A;
- /*0xD0B*/ u8 field_D0B;
+ /*0xD00*/ u16 battledBrainFlags;
+ /*0xD02*/ u16 towerSinglesStreak; // Never read
+ /*0xD04*/ u16 towerNumWins; // Increments to MAX_STREAK but never read otherwise
+ /*0xD06*/ u8 towerBattleOutcome;
+ /*0xD07*/ u8 towerLvlMode;
+ /*0xD08*/ u8 domeAttemptedSingles50:1;
+ /*0xD08*/ u8 domeAttemptedSinglesOpen:1;
+ /*0xD08*/ u8 domeHasWonSingles50:1;
+ /*0xD08*/ u8 domeHasWonSinglesOpen:1;
+ /*0xD08*/ u8 domeAttemptedDoubles50:1;
+ /*0xD08*/ u8 domeAttemptedDoublesOpen:1;
+ /*0xD08*/ u8 domeHasWonDoubles50:1;
+ /*0xD08*/ u8 domeHasWonDoublesOpen:1;
+ /*0xD09*/ u8 domeUnused;
+ /*0xD0A*/ u8 domeLvlMode;
+ /*0xD0B*/ u8 domeBattleMode;
/*0xD0C*/ u16 domeWinStreaks[2][2];
/*0xD14*/ u16 domeRecordWinStreaks[2][2];
/*0xD1C*/ u16 domeTotalChampionships[2][2];
/*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT];
- /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3];
- /*0xDC4*/ u16 field_DC4;
- /*0xDC6*/ u16 field_DC6;
+ /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][FRONTIER_PARTY_SIZE];
+ /*0xDC4*/ u16 unused_DC4;
+ /*0xDC6*/ u16 palacePrize;
/*0xDC8*/ u16 palaceWinStreaks[2][2];
/*0xDD0*/ u16 palaceRecordWinStreaks[2][2];
- /*0xDD8*/ u16 arenaRewardItem;
+ /*0xDD8*/ u16 arenaPrize;
/*0xDDA*/ u16 arenaWinStreaks[2];
/*0xDDE*/ u16 arenaRecordStreaks[2];
/*0xDE2*/ u16 factoryWinStreaks[2][2];
/*0xDEA*/ u16 factoryRecordWinStreaks[2][2];
/*0xDF6*/ u16 factoryRentsCount[2][2];
/*0xDFA*/ u16 factoryRecordRentsCount[2][2];
- /*0xE02*/ u16 field_E02;
+ /*0xE02*/ u16 pikePrize;
/*0xE04*/ u16 pikeWinStreaks[2];
/*0xE08*/ u16 pikeRecordStreaks[2];
/*0xE0C*/ u16 pikeTotalStreaks[2];
/*0xE10*/ u8 pikeHintedRoomIndex:3;
/*0xE10*/ u8 pikeHintedRoomType:4;
/*0xE10*/ u8 pikeHealingRoomsDisabled:1;
- /*0xE12*/ u16 pikeHeldItemsBackup[3];
- /*0xE18*/ u16 pyramidRewardItem;
+ /*0xE12*/ u16 pikeHeldItemsBackup[FRONTIER_PARTY_SIZE];
+ /*0xE18*/ u16 pyramidPrize;
/*0xE1A*/ u16 pyramidWinStreaks[2];
/*0xE1E*/ u16 pyramidRecordStreaks[2];
/*0xE22*/ u16 pyramidRandoms[4];
/*0xE2A*/ u8 pyramidTrainerFlags;
/*0xE2C*/ struct PyramidBag pyramidBag;
/*0xE68*/ u8 pyramidLightRadius;
- /*0xE6A*/ u16 field_E6A;
- /*0xE6C*/ u16 field_E6C;
- /*0xE6E*/ u16 field_E6E;
- /*0xE70*/ struct RentalMon rentalMons[6];
+ /*0xE6A*/ u16 verdanturfTentPrize;
+ /*0xE6C*/ u16 fallarborTentPrize;
+ /*0xE6E*/ u16 slateportTentPrize;
+ /*0xE70*/ struct RentalMon rentalMons[FRONTIER_PARTY_SIZE * 2];
/*0xEB8*/ u16 battlePoints;
- /*0xEBA*/ u16 field_EBA;
+ /*0xEBA*/ u16 cardBattlePoints;
/*0xEBC*/ u32 battlesCount;
- /*0xEC0*/ u16 field_EC0[16];
- /*0xEE0*/ u8 field_EE0;
- /*0xEE1*/ u8 opponentName[2][PLAYER_NAME_LENGTH + 1];
- /*0xEF1*/ u8 field_EF1[2][4];
- /*0xEF9*/ u8 field_EF9_0:7;
- /*0xEF9*/ u8 field_EF9_1:1;
- /*0xEFA*/ u8 field_EFA;
- /*0xEFB*/ u8 field_EFB;
- /*0xEFC*/ struct FrontierMonData field_EFC[3];
-};
-
-struct Sav2_B8
-{
- u8 unk0_0:2;
- u8 unk0_1:2;
- u8 unk0_2:2;
- u8 unk0_3:2;
- u16 unk2;
+ /*0xEC0*/ u16 domeWinningMoves[DOME_TOURNAMENT_TRAINERS_COUNT];
+ /*0xEE0*/ u8 trainerFlags;
+ /*0xEE1*/ u8 opponentNames[2][PLAYER_NAME_LENGTH + 1];
+ /*0xEF1*/ u8 opponentTrainerIds[2][TRAINER_ID_LENGTH];
+ /*0xEF9*/ u8 unk_EF9:7; // Never read
+ /*0xEF9*/ u8 savedGame:1;
+ /*0xEFA*/ u8 unused_EFA;
+ /*0xEFB*/ u8 unused_EFB;
+ /*0xEFC*/ struct DomeMonData domePlayerPartyData[FRONTIER_PARTY_SIZE];
+};
+
+struct ApprenticeQuestion
+{
+ u8 questionId:2;
+ u8 monId:2;
+ u8 moveSlot:2;
+ u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move
+ u16 data; // used both as an itemId and a moveId
};
struct PlayersApprentice
{
/*0xB0*/ u8 id;
- /*0xB1*/ u8 activeLvlMode:2; // +1, 0 means not active
- /*0xB1*/ u8 field_B1_1:4;
- /*0xB1*/ u8 field_B1_2:2;
- /*0xB2*/ u8 field_B2_0:3;
- /*0xB2*/ u8 field_B2_1:2;
- /*0xB3*/ u8 field_B3;
- /*0xB4*/ u8 monIds[3];
- /*0xB8*/ struct Sav2_B8 field_B8[9];
+ /*0xB1*/ u8 lvlMode:2; //0: Unassigned, 1: Lv 50, 2: Open Lv
+ /*0xB1*/ u8 questionsAnswered:4;
+ /*0xB1*/ u8 leadMonId:2;
+ /*0xB2*/ u8 party:3;
+ /*0xB2*/ u8 saveId:2;
+ /*0xB3*/ u8 unused;
+ /*0xB4*/ u8 speciesIds[MULTI_PARTY_SIZE];
+ /*0xB8*/ struct ApprenticeQuestion questions[APPRENTICE_MAX_QUESTIONS];
};
struct RankingHall1P
@@ -467,7 +468,7 @@ struct SaveBlock2
/*0xA8*/ u32 field_A8; // Written to, but never read.
/*0xAC*/ u32 encryptionKey;
/*0xB0*/ struct PlayersApprentice playerApprentice;
- /*0xDC*/ struct Apprentice apprentices[4]; // From record mixing.
+ /*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT];
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
@@ -502,8 +503,8 @@ struct SecretBase
/*0x1AAA*/ u16 numSecretBasesReceived;
/*0x1AAC*/ u8 numTimesEntered;
/*0x1AAD*/ u8 sbr_field_11;
- /*0x1AAE*/ u8 decorations[16];
- /*0x1ABE*/ u8 decorationPositions[16];
+ /*0x1AAE*/ u8 decorations[DECOR_MAX_SECRET_BASE];
+ /*0x1ABE*/ u8 decorationPositions[DECOR_MAX_SECRET_BASE];
/*0x1AD0*/ struct SecretBaseParty party;
};
@@ -596,9 +597,9 @@ struct MauvilleManCommon
struct MauvilleManBard
{
/*0x00*/ u8 id;
- /*0x02*/ u16 songLyrics[6];
- /*0x0E*/ u16 temporaryLyrics[6];
- /*0x1A*/ u8 playerName[8];
+ /*0x02*/ u16 songLyrics[BARD_SONG_LENGTH];
+ /*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH];
+ /*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x22*/ u8 filler_2DB6[0x3];
/*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH];
/*0x29*/ bool8 hasChangedSong;
@@ -610,10 +611,10 @@ struct MauvilleManStoryteller
u8 id;
bool8 alreadyRecorded;
u8 filler2[2];
- u8 gameStatIDs[4];
- u8 trainerNames[4][7];
- u8 statValues[4][4];
- u8 language[4];
+ u8 gameStatIDs[NUM_STORYTELLER_TALES];
+ u8 trainerNames[NUM_STORYTELLER_TALES][PLAYER_NAME_LENGTH];
+ u8 statValues[NUM_STORYTELLER_TALES][4];
+ u8 language[NUM_STORYTELLER_TALES];
};
struct MauvilleManGiddy
@@ -636,10 +637,10 @@ struct MauvilleManHipster
struct MauvilleOldManTrader
{
u8 id;
- u8 decorIds[4];
- u8 playerNames[4][11];
+ u8 decorIds[NUM_TRADER_ITEMS];
+ u8 playerNames[NUM_TRADER_ITEMS][11];
u8 alreadyTraded;
- u8 language[4];
+ u8 language[NUM_TRADER_ITEMS];
};
typedef union OldMan
@@ -808,15 +809,15 @@ struct SaveTrainerHill
{
/*0x3D64*/ u32 timer;
/*0x3D68*/ u32 bestTime;
- /*0x3D6C*/ u8 field_3D6C;
+ /*0x3D6C*/ u8 unk_3D6C;
/*0x3D6D*/ u8 unused;
- /*0x3D6E*/ u16 field_3D6E_0a:1; // 1
- /*0x3D6E*/ u16 field_3D6E_0b:1; // 2
- /*0x3D6E*/ u16 field_3D6E_0c:1; // 4
- /*0x3D6E*/ u16 hasLost:1; // 8
- /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; // x10
- /*0x3D6E*/ u16 field_3D6E_0f:1; // x20
- /*0x3D6E*/ u16 tag:2; // x40, x80 = xC0
+ /*0x3D6E*/ u16 receivedPrize:1;
+ /*0x3D6E*/ u16 checkedFinalTime:1;
+ /*0x3D6E*/ u16 spokeToOwner:1;
+ /*0x3D6E*/ u16 hasLost:1;
+ /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1;
+ /*0x3D6E*/ u16 field_3D6E_0f:1;
+ /*0x3D6E*/ u16 tag:2;
};
struct MysteryEventStruct
@@ -919,7 +920,7 @@ struct SaveBlock1
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 field_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
- /*0x9CA*/ u8 trainerRematches[100];
+ /*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES];
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
/*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT];
/*0x1270*/ u8 flags[FLAGS_COUNT];
@@ -927,16 +928,16 @@ struct SaveBlock1
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
/*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT];
- /*0x271C*/ u8 playerRoomDecor[12];
- /*0x2728*/ u8 playerRoomDecorPos[12];
+ /*0x271C*/ u8 playerRoomDecor[DECOR_MAX_PLAYERS_HOUSE];
+ /*0x2728*/ u8 playerRoomDecorPos[DECOR_MAX_PLAYERS_HOUSE];
/*0x2734*/ u8 decorDesk[10];
- /*0x????*/ u8 decorChair[10];
- /*0x????*/ u8 decorPlant[10];
- /*0x????*/ u8 decorOrnament[30];
- /*0x????*/ u8 decorMat[30];
- /*0x????*/ u8 decorPoster[10];
- /*0x????*/ u8 decorDoll[40];
- /*0x????*/ u8 decorCushion[10];
+ /*0x273E*/ u8 decorChair[10];
+ /*0x2748*/ u8 decorPlant[10];
+ /*0x2752*/ u8 decorOrnament[30];
+ /*0x2770*/ u8 decorMat[30];
+ /*0x278E*/ u8 decorPoster[10];
+ /*0x2798*/ u8 decorDoll[40];
+ /*0x27C0*/ u8 decorCushion[10];
/*0x27CA*/ u8 padding_27CA[2];
/*0x27CC*/ TVShow tvShows[TV_SHOWS_COUNT];
/*0x2B50*/ PokeNews pokeNews[POKE_NEWS_COUNT];
@@ -946,15 +947,15 @@ struct SaveBlock1
/*0x2B94*/ u8 outbreakPokemonLevel;
/*0x2B95*/ u8 outbreakUnk1;
/*0x2B96*/ u16 outbreakUnk2;
- /*0x2B98*/ u16 outbreakPokemonMoves[4];
+ /*0x2B98*/ u16 outbreakPokemonMoves[MAX_MON_MOVES];
/*0x2BA0*/ u8 outbreakUnk4;
/*0x2BA1*/ u8 outbreakPokemonProbability;
/*0x2BA2*/ u16 outbreakDaysLeft;
/*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData;
- /*0x2BB0*/ u16 easyChatProfile[6];
- /*0x2BBC*/ u16 easyChatBattleStart[6];
- /*0x2BC8*/ u16 easyChatBattleWon[6];
- /*0x2BD4*/ u16 easyChatBattleLost[6];
+ /*0x2BB0*/ u16 easyChatProfile[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x2BBC*/ u16 easyChatBattleStart[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT];
+ /*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BE0*/ struct MailStruct mail[MAIL_COUNT];
/*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system
/*0x2E28*/ OldMan oldMan;
diff --git a/include/global.tv.h b/include/global.tv.h
index aa151a75c..34791d43c 100644
--- a/include/global.tv.h
+++ b/include/global.tv.h
@@ -1,46 +1,6 @@
#ifndef GUARD_GLOBAL_TV_H
#define GUARD_GLOBAL_TV_H
-enum
-{
- TVSHOW_OFF_AIR,
-
- TVSHOW_FAN_CLUB_LETTER = 1,
- TVSHOW_RECENT_HAPPENINGS,
- TVSHOW_PKMN_FAN_CLUB_OPINIONS,
- TVSHOW_UNKN_SHOWTYPE_04,
- TVSHOW_NAME_RATER_SHOW,
- TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE,
- TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE,
- TVSHOW_CONTEST_LIVE_UPDATES,
- TVSHOW_3_CHEERS_FOR_POKEBLOCKS,
- TVSHOW_BATTLE_UPDATE,
- TVSHOW_FAN_CLUB_SPECIAL,
- TVSHOW_CONTEST_LIVE_UPDATES_2,
-
- TVSHOW_POKEMON_TODAY_CAUGHT = 21,
- TVSHOW_SMART_SHOPPER,
- TVSHOW_POKEMON_TODAY_FAILED,
- TVSHOW_FISHING_ADVICE,
- TVSHOW_WORLD_OF_MASTERS,
- TVSHOW_TODAYS_RIVAL_TRAINER,
- TVSHOW_TREND_WATCHER,
- TVSHOW_TREASURE_INVESTIGATORS,
- TVSHOW_FIND_THAT_GAMER,
- TVSHOW_BREAKING_NEWS,
- TVSHOW_SECRET_BASE_VISIT,
- TVSHOW_LOTTO_WINNER,
- TVSHOW_BATTLE_SEMINAR,
- TVSHOW_TRAINER_FAN_CLUB,
- TVSHOW_CUTIES,
- TVSHOW_FRONTIER,
- TVSHOW_NUMBER_ONE,
- TVSHOW_SECRET_BASE_SECRETS,
- TVSHOW_SAFARI_FAN_CLUB,
-
- TVSHOW_MASS_OUTBREAK = 41,
-};
-
typedef union // size = 0x24
{
// Common
@@ -482,7 +442,7 @@ typedef union // size = 0x24
/*0x01*/ bool8 active;
/*0x02*/ u8 var02;
/*0x03*/ u8 var03;
- /*0x04*/ u16 moves[4];
+ /*0x04*/ u16 moves[MAX_MON_MOVES];
/*0x0C*/ u16 species;
/*0x0E*/ u16 var0E;
/*0x10*/ u8 locationMapNum;
@@ -496,14 +456,6 @@ typedef union // size = 0x24
} massOutbreak;
} TVShow;
-enum {
- POKENEWS_NONE,
- POKENEWS_SLATEPORT,
- POKENEWS_GAME_CORNER,
- POKENEWS_LILYCOVE,
- POKENEWS_BLENDMASTER
-};
-
typedef struct // 2b50
{
u8 kind;
diff --git a/include/graphics.h b/include/graphics.h
index d1d99cc8f..a8d4453b0 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -3093,90 +3093,93 @@ extern const u32 gPokeblock_Gfx[];
extern const u32 gItemIcon_QuestionMark[];
extern const u32 gItemIconPalette_QuestionMark[];
-extern const u32 gUnknown_08DB7AA0[];
-extern const u32 gUnknown_08DB7B34[];
-extern const u32 gUnknown_08DB7B5C[];
-extern const u32 gUnknown_08DB7BEC[];
-extern const u32 gUnknown_08DB7C08[];
-extern const u32 gUnknown_08DB7CE8[];
-extern const u32 gUnknown_08DB7D08[];
-extern const u32 gUnknown_08DB7DCC[];
-extern const u32 gUnknown_08DB7DF4[];
-extern const u32 gUnknown_08DB7EA0[];
-extern const u32 gUnknown_08DB7EC4[];
-extern const u32 gUnknown_08DB7F60[];
-extern const u32 gUnknown_08DB7F7C[];
-extern const u32 gUnknown_08DB8070[];
-extern const u32 gUnknown_08DB808C[];
-extern const u32 gUnknown_08DB8138[];
-extern const u32 gUnknown_08DB8160[];
-extern const u32 gUnknown_08DB8218[];
-extern const u32 gUnknown_08DB823C[];
-extern const u32 gUnknown_08DB8300[];
-extern const u32 gUnknown_08DB8328[];
-extern const u32 gUnknown_08DB8430[];
-extern const u32 gUnknown_08DB8458[];
-extern const u32 gUnknown_08DB8528[];
-extern const u32 gUnknown_08DB854C[];
-extern const u32 gUnknown_08DB862C[];
-extern const u32 gUnknown_08DB8654[];
-extern const u32 gUnknown_08DB86C4[];
-extern const u32 gUnknown_08DB86E0[];
-extern const u32 gUnknown_08DB8750[];
-extern const u32 gUnknown_08DB876C[];
-extern const u32 gUnknown_08DB87DC[];
-extern const u32 gUnknown_08DB87F8[];
-extern const u32 gUnknown_08DB88D8[];
-extern const u32 gUnknown_08DB8900[];
-extern const u32 gUnknown_08DB89E0[];
-extern const u32 gUnknown_08DB8A08[];
-extern const u32 gUnknown_08DB8A68[];
-extern const u32 gUnknown_08DB8A84[];
-extern const u32 gUnknown_08DB8B40[];
-extern const u32 gUnknown_08DB8B68[];
-extern const u32 gUnknown_08DB8C40[];
-extern const u32 gUnknown_08DB8C5C[];
-extern const u32 gUnknown_08DB8CF4[];
-extern const u32 gUnknown_08DB8D18[];
-extern const u32 gUnknown_08DB8DB0[];
-extern const u32 gUnknown_08DB8DD4[];
-extern const u32 gUnknown_08DB8E80[];
-extern const u32 gUnknown_08DB8EA0[];
-extern const u32 gUnknown_08DB8F58[];
-extern const u32 gUnknown_08DB8F7C[];
-extern const u32 gUnknown_08DB9038[];
-extern const u32 gUnknown_08DB9058[];
-extern const u32 gUnknown_08DB9130[];
-extern const u32 gUnknown_08DB9154[];
-extern const u32 gUnknown_08DB9218[];
-extern const u32 gUnknown_08DB9234[];
-extern const u32 gUnknown_08DB92FC[];
-extern const u32 gUnknown_08DB931C[];
-extern const u32 gUnknown_08DB93E8[];
-extern const u32 gUnknown_08DB940C[];
-extern const u32 gUnknown_08DB94CC[];
-extern const u32 gUnknown_08DB94E8[];
-extern const u32 gUnknown_08DB95AC[];
-extern const u32 gUnknown_08DB95D0[];
-extern const u32 gUnknown_08DB96C4[];
-extern const u32 gUnknown_08DB96EC[];
-extern const u32 gUnknown_08DB97F4[];
-extern const u32 gUnknown_08DB981C[];
-extern const u32 gUnknown_08DB9908[];
-extern const u32 gUnknown_08DB9930[];
-extern const u32 gUnknown_08DB9A54[];
-extern const u32 gUnknown_08DB9A7C[];
-extern const u32 gUnknown_08DB9B7C[];
-extern const u32 gUnknown_08DB9BA4[];
-extern const u32 gUnknown_08DB9CB0[];
-extern const u32 gUnknown_08DB9CD8[];
-extern const u32 gUnknown_08DB9DAC[];
-extern const u32 gUnknown_08DB9DD4[];
-extern const u32 gUnknown_08DB9EE4[];
-extern const u32 gUnknown_08DB9F08[];
-extern const u32 gUnknown_08DB9FFC[];
-extern const u32 gUnknown_08DBA020[];
-extern const u32 gUnknown_08DBA12C[];
+
+// Decorations
+extern const u32 gDecorIcon_HeavyDesk[];
+extern const u32 gDecorIconPalette_HeavyDesk[];
+extern const u32 gDecorIcon_RaggedDesk[];
+extern const u32 gDecorIconPalette_RaggedDesk[];
+extern const u32 gDecorIcon_ComfortDesk[];
+extern const u32 gDecorIconPalette_ComfortDesk[];
+extern const u32 gDecorIcon_PrettyDesk[];
+extern const u32 gDecorIconPalette_PrettyDesk[];
+extern const u32 gDecorIcon_BrickDesk[];
+extern const u32 gDecorIconPalette_BrickDesk[];
+extern const u32 gDecorIcon_CampDesk[];
+extern const u32 gDecorIconPalette_CampDesk[];
+extern const u32 gDecorIcon_HardDesk[];
+extern const u32 gDecorIconPalette_HardDesk[];
+extern const u32 gDecorIcon_RedPlant[];
+extern const u32 gDecorIconPalette_RedPlant[];
+extern const u32 gDecorIcon_TropicalPlant[];
+extern const u32 gDecorIconPalette_TropicalPlant[];
+extern const u32 gDecorIcon_PrettyFlowers[];
+extern const u32 gDecorIconPalette_PrettyFlowers[];
+extern const u32 gDecorIcon_ColorfulPlant[];
+extern const u32 gDecorIconPalette_ColorfulPlant[];
+extern const u32 gDecorIcon_BigPlant[];
+extern const u32 gDecorIconPalette_BigPlant[];
+extern const u32 gDecorIcon_GorgeousPlant[];
+extern const u32 gDecorIconPalette_GorgeousPlant[];
+extern const u32 gDecorIcon_RedBrick[];
+extern const u32 gDecorIconPalette_RedBrick[];
+extern const u32 gDecorIcon_YellowBrick[];
+extern const u32 gDecorIconPalette_YellowBrick[];
+extern const u32 gDecorIcon_BlueBrick[];
+extern const u32 gDecorIconPalette_BlueBrick[];
+extern const u32 gDecorIcon_RedTent[];
+extern const u32 gDecorIconPalette_RedTent[];
+extern const u32 gDecorIcon_BlueTent[];
+extern const u32 gDecorIconPalette_BlueTent[];
+extern const u32 gDecorIcon_SolidBoard[];
+extern const u32 gDecorIconPalette_SolidBoard[];
+extern const u32 gDecorIcon_Slide[];
+extern const u32 gDecorIconPalette_Slide[];
+extern const u32 gDecorIcon_Tire[];
+extern const u32 gDecorIconPalette_Tire[];
+extern const u32 gDecorIcon_Stand[];
+extern const u32 gDecorIconPalette_Stand[];
+extern const u32 gDecorIcon_BreakableDoor[];
+extern const u32 gDecorIconPalette_BreakableDoor[];
+extern const u32 gDecorIcon_SandOrnament[];
+extern const u32 gDecorIconPalette_SandOrnament[];
+extern const u32 gDecorIcon_GlassOrnament[];
+extern const u32 gDecorIconPalette_GlassOrnament[];
+extern const u32 gDecorIcon_SurfMat[];
+extern const u32 gDecorIconPalette_SurfMat[];
+extern const u32 gDecorIcon_ThunderMat[];
+extern const u32 gDecorIconPalette_ThunderMat[];
+extern const u32 gDecorIcon_FireBlastMat[];
+extern const u32 gDecorIconPalette_FireBlastMat[];
+extern const u32 gDecorIcon_PowderSnowMat[];
+extern const u32 gDecorIconPalette_PowderSnowMat[];
+extern const u32 gDecorIcon_AttractMat[];
+extern const u32 gDecorIconPalette_AttractMat[];
+extern const u32 gDecorIcon_FissureMat[];
+extern const u32 gDecorIconPalette_FissureMat[];
+extern const u32 gDecorIcon_SpikesMat[];
+extern const u32 gDecorIconPalette_SpikesMat[];
+extern const u32 gDecorIcon_SnorlaxDoll[];
+extern const u32 gDecorIconPalette_SnorlaxDoll[];
+extern const u32 gDecorIcon_RhydonDoll[];
+extern const u32 gDecorIconPalette_RhydonDoll[];
+extern const u32 gDecorIcon_LaprasDoll[];
+extern const u32 gDecorIconPalette_LaprasDoll[];
+extern const u32 gDecorIcon_VenusaurDoll[];
+extern const u32 gDecorIconPalette_VenusaurDoll[];
+extern const u32 gDecorIcon_CharizardDoll[];
+extern const u32 gDecorIconPalette_CharizardDoll[];
+extern const u32 gDecorIcon_BlastoiseDoll[];
+extern const u32 gDecorIconPalette_BlastoiseDoll[];
+extern const u32 gDecorIcon_WailmerDoll[];
+extern const u32 gDecorIconPalette_WailmerDoll[];
+extern const u32 gDecorIcon_RegirockDoll[];
+extern const u32 gDecorIconPalette_RegirockDoll[];
+extern const u32 gDecorIcon_RegiceDoll[];
+extern const u32 gDecorIconPalette_RegiceDoll[];
+extern const u32 gDecorIcon_RegisteelDoll[];
+extern const u32 gDecorIconPalette_RegisteelDoll[];
+
extern const u32 gWallclock_Gfx[];
extern const u16 gWallclockMale_Pal[];
extern const u16 gWallclockFemale_Pal[];
@@ -3205,7 +3208,7 @@ extern const u32 gBattleTextboxTiles[];
extern const u32 gBattleTextboxTilemap[];
extern const u32 gBattleTextboxPalette[];
extern const u32 gUnknown_08D778F0[];
-extern const u32 gUnknown_08D77B0C[];
+extern const u32 gVsLettersGfx[];
extern const u32 gUnknown_08D77AE4[];
extern const u32 gUnknown_08D779D8[];
extern const u32 gUnknown_08D857A8[];
@@ -3913,9 +3916,9 @@ extern const u16 gIntro2FlygonPal[];
extern const u32 gIntro2FlygonGfx[];
// party menu graphics
-extern const u32 gPartyMenuMisc_Gfx[];
-extern const u32 gPartyMenuMisc_Tilemap[];
-extern const u32 gPartyMenuMisc_Pal[];
+extern const u32 gPartyMenuBg_Gfx[];
+extern const u32 gPartyMenuBg_Tilemap[];
+extern const u32 gPartyMenuBg_Pal[];
// berry pics
extern const u32 gBerryPic_Cheri[];
@@ -4114,19 +4117,19 @@ extern const u16 gTitleScreenBgPalettes[];
extern const u16 gTitleScreenPressStartPal[];
extern const u16 gTitleScreenEmeraldVersionPal[];
-extern const u32 gUnknown_08D83D50[];
-extern const u32 gUnknown_08D84970[];
-extern const u32 gUnknown_08D84F00[];
-extern const u32 gUnknown_08D85444[];
-extern const u32 gUnknown_08D85358[];
-extern const u32 gUnknown_08D85600[];
-extern const u32 gUnknown_08D854C8[];
-extern const u32 gUnknown_08D82F10[];
-extern const u32 gUnknown_08D834FC[];
-extern const u32 gUnknown_08D83B2C[];
-extern const u32 gUnknown_08D83C3C[];
-extern const u32 gUnknown_08D83900[];
-extern const u32 gBattleFrontierGfx_DomeOptions[];
+// Battle Dome
+extern const u32 gDomeTourneyInfoCard_Gfx[];
+extern const u32 gDomeTourneyInfoCard_Tilemap[];
+extern const u32 gDomeTourneyInfoCardBg_Tilemap[];
+extern const u32 gDomeTourneyTree_Pal[];
+extern const u32 gDomeTourneyTreeButtons_Pal[];
+extern const u32 gDomeTourneyMatchCardBg_Pal[];
+extern const u32 gDomeTourneyBg_Gfx[];
+extern const u32 gDomeTourneyLine_Gfx[];
+extern const u32 gDomeTourneyLineDown_Tilemap[];
+extern const u32 gDomeTourneyLineUp_Tilemap[];
+extern const u32 gDomeTourneyLineMask_Tilemap[];
+extern const u32 gDomeTourneyTreeButtons_Gfx[];
extern const u16 gTilesetAnims_BattleDomePals0_0[];
extern const u16 gTilesetAnims_BattleDomePals0_1[];
extern const u16 gTilesetAnims_BattleDomePals0_2[];
@@ -4134,6 +4137,9 @@ extern const u16 gTilesetAnims_BattleDomePals0_3[];
extern const u32 gBattleArenaJudgementSymbolsGfx[];
extern const u32 gBattleArenaJudgementSymbolsPalette[];
+
+extern const u32 gBattleWindowTextPalette[];
+
extern const u32 gContest2Pal[];
extern const u32 gBattleAnimSpriteGfx_Bone[];
@@ -4360,7 +4366,7 @@ extern const u32 gBattleAnimSpriteGfx_Pokeball[];
extern const u32 gBattleAnimSpriteGfx_Spotlight[];
extern const u32 gBattleAnimSpriteGfx_LetterZ[];
extern const u32 gBattleAnimSpriteGfx_RapidSpin[];
-extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[];
+extern const u32 gBattleAnimSpriteGfx_TriAttackTriangle[];
extern const u32 gBattleAnimSpriteGfx_WispOrb[];
extern const u32 gBattleAnimSpriteGfx_WispFire[];
extern const u32 gBattleAnimSpriteGfx_GoldStars[];
@@ -4643,7 +4649,7 @@ extern const u32 gBattleAnimSpritePal_JaggedMusicNote[];
extern const u32 gBattleAnimSpritePal_Pokeball[];
extern const u32 gBattleAnimSpritePal_LetterZ[];
extern const u32 gBattleAnimSpritePal_RapidSpin[];
-extern const u32 gBattleAnimSpritePal_TriForceTriangle[];
+extern const u32 gBattleAnimSpritePal_TriAttackTriangle[];
extern const u32 gBattleAnimSpritePal_WispOrb[];
extern const u32 gBattleAnimSpritePal_GoldStars[];
extern const u32 gBattleAnimSpritePal_EclipsingOrb[];
@@ -4845,13 +4851,13 @@ extern const u32 gCableCarCord_Gfx[];
extern const u16 gCableCar_Pal[];
// Trade
-extern const u16 gUnknown_08DDB3E4[];
-extern const u8 gUnknown_08DDB464[];
+extern const u16 gTradeMenu_Pal[];
+extern const u8 gTradeMenu_Gfx[];
extern const u16 gUnknown_08DDCF04[];
extern const u16 gTradeGba2_Pal[];
extern const u8 gTradeGba_Gfx[];
-extern const u16 gUnknown_08DDD704[];
-extern const u8 gUnknown_08DDC6E4[];
+extern const u16 gTradeMenuMonBox_Tilemap[];
+extern const u8 gTradeButtons_Gfx[];
extern const u16 gUnknown_08DDB444[];
// Party menu
diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h
index 778d7a1e8..dd9ead8b7 100644
--- a/include/gym_leader_rematch.h
+++ b/include/gym_leader_rematch.h
@@ -66,7 +66,7 @@ enum {
REMATCH_TRENT,
REMATCH_SAWYER,
REMATCH_KIRA_AND_DAN,
- REMATCH_WALLY_3,
+ REMATCH_WALLY_3, // Entries above WALLY are considered normal trainers, from Wally below are special trainers
REMATCH_ROXANNE,
REMATCH_BRAWLY,
REMATCH_WATTSON,
@@ -75,19 +75,17 @@ enum {
REMATCH_WINONA,
REMATCH_TATE_AND_LIZA,
REMATCH_JUAN,
-
- // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
- REMATCH_SIDNEY,
+ REMATCH_SIDNEY, // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_PHOEBE,
REMATCH_GLACIA,
REMATCH_DRAKE,
REMATCH_WALLACE,
-
- // The total number of rematch entries. This must be the last element
- // in the enum.
- REMATCH_TABLE_ENTRIES
+ REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum
};
+#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_3
+#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
+
void UpdateGymLeaderRematch(void);
#endif //GUARD_TRAINER_REMATCH_H
diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h
index 5c8a01bcb..a83fad2fc 100644
--- a/include/hall_of_fame.h
+++ b/include/hall_of_fame.h
@@ -4,7 +4,7 @@
void CB2_DoHallOfFameScreen(void);
void CB2_DoHallOfFameScreenDontSaveData(void);
void CB2_DoHallOfFamePC(void);
-void sub_8175280(void);
+void DoConfettiEffect(void);
// hof_pc.c
void ReturnFromHallOfFamePC(void);
diff --git a/include/image_processing_effects.h b/include/image_processing_effects.h
new file mode 100755
index 000000000..7f726707c
--- /dev/null
+++ b/include/image_processing_effects.h
@@ -0,0 +1,53 @@
+#ifndef GUARD_IMAGE_PROCESSING_EFFECTS_H
+#define GUARD_IMAGE_PROCESSING_EFFECTS_H
+
+enum
+{
+ IMAGE_EFFECT_POINTILLISM = 2,
+ IMAGE_EFFECT_GRAYSCALE_LIGHT = 6,
+ IMAGE_EFFECT_BLUR = 8,
+ IMAGE_EFFECT_OUTLINE_COLORED = 9,
+ IMAGE_EFFECT_INVERT_BLACK_WHITE = 10,
+ IMAGE_EFFECT_THICK_BLACK_WHITE = 11,
+ IMAGE_EFFECT_SHIMMER = 13,
+ IMAGE_EFFECT_OUTLINE = 30,
+ IMAGE_EFFECT_INVERT = 31,
+ IMAGE_EFFECT_BLUR_RIGHT = 32,
+ IMAGE_EFFECT_BLUR_DOWN = 33,
+ IMAGE_EFFECT_CHARCOAL = 36,
+};
+
+enum
+{
+ QUANTIZE_EFFECT_STANDARD,
+ QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS,
+ QUANTIZE_EFFECT_PRIMARY_COLORS,
+ QUANTIZE_EFFECT_GRAYSCALE,
+ QUANTIZE_EFFECT_GRAYSCALE_SMALL,
+ QUANTIZE_EFFECT_BLACK_WHITE,
+};
+
+struct ImageProcessingContext
+{
+ u8 effect;
+ void *canvasPixels;
+ u16 *canvasPalette;
+ u8 fillerC[0x4];
+ void *dest;
+ u16 quantizeEffect;
+ u16 var_16;
+ u8 paletteStart;
+ u8 columnStart;
+ u8 rowStart;
+ u8 columnEnd;
+ u8 rowEnd;
+ u8 canvasWidth;
+ u8 canvasHeight;
+ u8 personality;
+};
+
+void ApplyImageProcessingEffects(struct ImageProcessingContext *);
+void ApplyImageProcessingQuantization(struct ImageProcessingContext *);
+void ConvertImageProcessingToGBA(struct ImageProcessingContext *);
+
+#endif
diff --git a/include/item.h b/include/item.h
index 881d3a3d4..87ff57bc7 100644
--- a/include/item.h
+++ b/include/item.h
@@ -1,26 +1,7 @@
#ifndef GUARD_ITEM_H
#define GUARD_ITEM_H
-// These constants are used in gItems
-enum
-{
- POCKET_NONE,
- POCKET_ITEMS,
- POCKET_POKE_BALLS,
- POCKET_TM_HM,
- POCKET_BERRIES,
- POCKET_KEY_ITEMS,
-};
-
-enum
-{
- ITEMS_POCKET,
- BALLS_POCKET,
- TMHM_POCKET,
- BERRIES_POCKET,
- KEYITEMS_POCKET,
- POCKETS_COUNT
-};
+#include "constants/item.h"
typedef void (*ItemUseFunc)(u8);
diff --git a/include/item_menu.h b/include/item_menu.h
index b1275549d..089bff6cf 100644
--- a/include/item_menu.h
+++ b/include/item_menu.h
@@ -71,10 +71,10 @@ extern u16 gSpecialVar_ItemId;
void sub_81AAC14(void);
void FavorLadyOpenBagMenu(void);
void QuizLadyOpenBagMenu(void);
-void sub_81AAC28(void);
+void ApprenticeOpenBagMenu(void);
void sub_81AABB0(void);
void SetInitialScrollAndCursorPositions(u8 pocketId);
-void bag_menu_mail_related(void);
+void CB2_ReturnToBagMenuPocket(void);
void CB2_BagMenuFromStartMenu(void);
u8 GetItemListPosition(u8 pocketId);
bool8 UseRegisteredKeyItemOnField(void);
@@ -82,11 +82,15 @@ void CB2_GoToSellMenu(void);
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
void DoWallyTutorialBagMenu(void);
void ResetBagScrollPositions(void);
-void sub_81AABF0(void (*callback)(void));
+void ChooseBerrySetCallback(void (*callback)(void));
void CB2_ChooseBerry(void);
-void unknown_ItemMenu_Confirm(u8 taskId);
+void Task_FadeAndCloseBagMenu(u8 taskId);
void BagMenu_YesNo(u8, u8, const struct YesNoFuncTable*);
-void sub_81AB9A8(u8 pocketId);
+void BagMenu_InitListsMenu(u8 taskId);
+void UpdatePocketItemList(u8 pocketId);
+void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u8 taskId));
+void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
+
#endif //GUARD_item_menu_H
diff --git a/include/item_use.h b/include/item_use.h
index 37343f6e7..0cb76e7d4 100644
--- a/include/item_use.h
+++ b/include/item_use.h
@@ -3,27 +3,13 @@
void ItemUseOutOfBattle_Mail(u8);
void ItemUseOutOfBattle_Bike(u8);
-void ItemUseOnFieldCB_Bike(u8);
void ItemUseOutOfBattle_Rod(u8);
-void ItemUseOnFieldCB_Rod(u8);
void ItemUseOutOfBattle_Itemfinder(u8);
-void ItemUseOnFieldCB_Itemfinder(u8);
-void RunItemfinderResults(u8);
-void ExitItemfinder(u8);
-bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8);
-void sub_80C9720(u8);
-void sub_80C9838(u8, s16, s16);
-u8 GetPlayerDirectionTowardsHiddenItem(s16, s16);
-void SetPlayerDirectionTowardsItem(u8);
-void DisplayItemRespondingMessageAndExitItemfinder(u8);
-void RotatePlayerAndExitItemfinder(u8);
void ItemUseOutOfBattle_PokeblockCase(u8);
void ItemUseOutOfBattle_CoinCase(u8);
void ItemUseOutOfBattle_PowderJar(u8);
void ItemUseOutOfBattle_SSTicket(u8);
-void sub_80C9D00(u8);
void ItemUseOutOfBattle_WailmerPail(u8);
-void sub_80C9D74(u8);
void ItemUseOutOfBattle_Medicine(u8);
void ItemUseOutOfBattle_ReduceEV(u8);
void ItemUseOutOfBattle_SacredAsh(u8);
@@ -31,25 +17,21 @@ void ItemUseOutOfBattle_PPRecovery(u8);
void ItemUseOutOfBattle_PPUp(u8);
void ItemUseOutOfBattle_RareCandy(u8);
void ItemUseOutOfBattle_TMHM(u8);
-void sub_80C9EE4(u8);
-void sub_80C9F10(u8);
-void sub_80C9F80(u8);
-void sub_80C9FC0(u8);
void ItemUseOutOfBattle_Repel(u8);
-void ItemUseOutOfBattle_BlackWhiteFlute(u8);
-void task08_080A1C44(u8);
-u8 CanUseEscapeRopeOnCurrMap(void);
void ItemUseOutOfBattle_EscapeRope(u8);
+void ItemUseOutOfBattle_BlackWhiteFlute(u8);
void ItemUseOutOfBattle_EvolutionStone(u8);
+void ItemUseOutOfBattle_Berry(u8);
+void ItemUseOutOfBattle_EnigmaBerry(u8);
+void ItemUseOutOfBattle_CannotUse(u8);
void ItemUseInBattle_PokeBall(u8);
void ItemUseInBattle_StatIncrease(u8);
void ItemUseInBattle_Medicine(u8);
void ItemUseInBattle_PPRecovery(u8);
void ItemUseInBattle_Escape(u8);
-void ItemUseOutOfBattle_EnigmaBerry(u8);
void ItemUseInBattle_EnigmaBerry(u8);
-void ItemUseOutOfBattle_CannotUse(u8);
+void Task_UseDigEscapeRopeOnField(u8 taskId);
+u8 CanUseEscapeRopeOnCurrMap(void);
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId);
-void sub_80FDD10(u8);
#endif // GUARD_ITEM_USE_H
diff --git a/include/librfu.h b/include/librfu.h
index 38c819835..55b5d264c 100644
--- a/include/librfu.h
+++ b/include/librfu.h
@@ -76,10 +76,10 @@ struct UnkLinkRfuStruct_02022B14Substruct
u16 unk_00_4:1;
u16 unk_00_5:1;
u16 unk_00_6:1;
- u16 unk_00_7:1;
- u16 unk_01_0:1;
- u16 unk_01_1:1;
- u16 unk_01_2:4;
+ u16 isChampion:1;
+ u16 hasNationalDex:1;
+ u16 gameClear:1; // never read, redundant with isChampion
+ u16 unk_01_2:4; // always 3?
u16 unk_01_6:2;
u8 playerTrainerId[2];
};
@@ -93,7 +93,7 @@ struct __attribute__((packed, aligned(2))) UnkLinkRfuStruct_02022B14
u8 unk_0a_0:7;
u8 unk_0a_7:1;
u8 playerGender:1;
- u8 unk_0b_1:7;
+ u8 level:7;
u8 unk_0c;
};
diff --git a/include/link.h b/include/link.h
index c14084066..f41161d23 100644
--- a/include/link.h
+++ b/include/link.h
@@ -48,20 +48,52 @@
#define EXTRACT_LINK_ERRORS(status) \
(((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT)
-#define LINKCMD_SEND_LINK_TYPE 0x2222
-#define LINKCMD_0x2FFE 0x2FFE
-#define LINKCMD_SEND_HELD_KEYS 0x4444
-#define LINKCMD_0x5555 0x5555
-#define LINKCMD_0x5566 0x5566
-#define LINKCMD_0x5FFF 0x5FFF
-#define LINKCMD_0x6666 0x6666
-#define LINKCMD_0x7777 0x7777
-#define LINKCMD_CONT_BLOCK 0x8888
-#define LINKCMD_0xAAAA 0xAAAA
-#define LINKCMD_0xAAAB 0xAAAB
-#define LINKCMD_INIT_BLOCK 0xBBBB
-#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE
-#define LINKCMD_0xCCCC 0xCCCC
+#define LINKCMD_SEND_LINK_TYPE 0x2222
+#define LINKCMD_0x2FFE 0x2FFE
+#define LINKCMD_SEND_HELD_KEYS 0x4444
+#define LINKCMD_0x5555 0x5555
+#define LINKCMD_0x5566 0x5566
+#define LINKCMD_0x5FFF 0x5FFF
+#define LINKCMD_0x6666 0x6666
+#define LINKCMD_0x7777 0x7777
+#define LINKCMD_CONT_BLOCK 0x8888
+#define LINKCMD_0xAAAA 0xAAAA
+#define LINKCMD_0xAAAB 0xAAAB
+#define LINKCMD_READY_TO_TRADE 0xAABB
+#define LINKCMD_READY_FINISH_TRADE 0xABCD
+#define LINKCMD_INIT_BLOCK 0xBBBB
+#define LINKCMD_READY_CANCEL_TRADE 0xBBCC
+#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE
+#define LINKCMD_0xCCCC 0xCCCC
+#define LINKCMD_START_TRADE 0xCCDD
+#define LINKCMD_CONFIRM_FINISH_TRADE 0xDCBA
+#define LINKCMD_SET_MONS_TO_TRADE 0xDDDD
+#define LINKCMD_0xDDEE 0xDDEE
+#define LINKCMD_REQUEST_CANCEL 0xEEAA
+#define LINKCMD_CANCEL_TRADE 0xEEBB
+#define LINKCMD_0xEECC 0xEECC
+
+#define LINKTYPE_0x1111 0x1111 // trade
+#define LINKTYPE_0x1122 0x1122 // trade
+#define LINKTYPE_0x1133 0x1133 // trade
+#define LINKTYPE_0x1144 0x1144 // trade
+#define LINKTYPE_BATTLE 0x2211
+#define LINKTYPE_0x2222 0x2222 // unused battle?
+#define LINKTYPE_SINGLE_BATTLE 0x2233
+#define LINKTYPE_DOUBLE_BATTLE 0x2244
+#define LINKTYPE_MULTI_BATTLE 0x2255
+#define LINKTYPE_BATTLE_TOWER_50 0x2266
+#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277
+#define LINKTYPE_BATTLE_TOWER 0x2288
+#define LINKTYPE_0x3311 0x3311
+#define LINKTYPE_0x3322 0x3322
+#define LINKTYPE_BERRY_BLENDER_SETUP 0x4411
+#define LINKTYPE_BERRY_BLENDER 0x4422
+#define LINKTYPE_0x5501 0x5501 // mystery event
+#define LINKTYPE_0x5502 0x5502 // unused?
+#define LINKTYPE_0x5503 0x5503 // eReader
+#define LINKTYPE_CONTEST_GMODE 0x6601
+#define LINKTYPE_CONTEST_EMODE 0x6602
struct LinkStatus
{
@@ -95,8 +127,8 @@ enum
EXCHANGE_COMPLETE,
EXCHANGE_TIMED_OUT,
EXCHANGE_IN_PROGRESS,
- EXCHANGE_STAT_4,
- EXCHANGE_STAT_5,
+ EXCHANGE_PLAYER_NOT_READY,
+ EXCHANGE_PARTNER_NOT_READY,
EXCHANGE_STAT_6,
EXCHANGE_STAT_7
};
@@ -120,7 +152,10 @@ struct LinkPlayer
/* 0x00 */ u16 version;
/* 0x02 */ u16 lp_field_2;
/* 0x04 */ u32 trainerId;
- /* 0x08 */ u8 name[11];
+ /* 0x08 */ u8 name[PLAYER_NAME_LENGTH + 1];
+ /* 0x10 */ u8 progressFlags; // (& 0x0F) is hasNationalDex, (& 0xF0) is hasClearedGame
+ /* 0x11 */ u8 neverRead;
+ /* 0x12 */ u8 progressFlagsCopy;
/* 0x13 */ u8 gender;
/* 0x14 */ u32 linkType;
/* 0x18 */ u16 id; // battler id in battles
@@ -255,7 +290,7 @@ void sub_800AF18(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 un
void sub_800B348(void);
void sub_800B3A4(u32 who);
bool32 sub_800A07C(void);
-void sub_800AB98(void);
+void ResetLinkPlayerCount(void);
void sub_800AA04(u8 a0);
void sub_800B4C0(void);
bool32 sub_800B504(void);
diff --git a/include/link_rfu.h b/include/link_rfu.h
index d6e1009e1..533e515c5 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -128,7 +128,7 @@ struct UnkRfuStruct_Sub_Unused
struct UnkRfuStruct_2
{
- /* 0x000 */ void (*unk_00)(void);
+ /* 0x000 */ void (*linkRfuCallback)(void);
/* 0x004 */ u16 unk_04;
/* 0x006 */ u8 filler_06[4];
/* 0x00a */ u16 unk_0a;
@@ -224,11 +224,11 @@ void sub_800F804(void);
void sub_800F850(void);
u8 sub_800FCD8(void);
bool32 sub_800FE84(const u8 *src, size_t size);
-void Rfu_set_zero(void);
+void ClearLinkRfuCallback(void);
u8 sub_80104F4(void);
u8 rfu_get_multiplayer_id(void);
bool8 sub_8010100(u8 a0);
-bool8 sub_8010500(void);
+bool8 IsLinkRfuTaskFinished(void);
bool8 Rfu_IsMaster(void);
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
void sub_8010434(void);
diff --git a/include/match_call.h b/include/match_call.h
index 52eab63ec..8214e03b7 100644
--- a/include/match_call.h
+++ b/include/match_call.h
@@ -15,7 +15,7 @@ void InitMatchCallCounters(void);
bool32 TryStartMatchCall(void);
bool32 IsMatchCallTaskActive(void);
void StartMatchCallFromScript(u8 *message);
-void sub_8197080(u8 *destStr);
+void BufferPokedexRatingForMatchCall(u8 *destStr);
bool32 SelectMatchCallMessage(int, u8 *);
void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId);
void sub_81971C4(u32 windowId, u32 tileOffset, u32 paletteId);
diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h
index 9d71e81aa..3845ac290 100644
--- a/include/mauville_old_man.h
+++ b/include/mauville_old_man.h
@@ -1,16 +1,6 @@
-
#ifndef GUARD_MAUVILLE_OLD_MAN_H
#define GUARD_MAUVILLE_OLD_MAN_H
-enum MauvilleOldManType
-{
- MAUVILLE_MAN_BARD,
- MAUVILLE_MAN_HIPSTER,
- MAUVILLE_MAN_TRADER,
- MAUVILLE_MAN_STORYTELLER,
- MAUVILLE_MAN_GIDDY
-};
-
extern struct BardSong gBardSong;
void SetMauvilleOldMan(void);
diff --git a/include/menu.h b/include/menu.h
index 62e2558dc..56865bcd9 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -1,4 +1,3 @@
-
#ifndef GUARD_MENU_H
#define GUARD_MENU_H
@@ -29,7 +28,6 @@ void DrawDialogueFrame(u8 windowId, bool8 copyToVram);
void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram);
u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
void PrintPlayerNameOnWindow(u8, const u8*, u16, u16);
-void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram);
void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram);
void DisplayYesNoMenuDefaultYes(void);
@@ -87,7 +85,7 @@ void RemoveMapNamePopUpWindow(void);
u8 GetMapNamePopUpWindowId(void);
u8 AddMapNamePopUpWindow(void);
void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing);
-void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
+void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);
void sub_8197AE8(bool8 copyToVram);
@@ -95,7 +93,7 @@ void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const
s8 Menu_ProcessInputGridLayout(void);
u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted);
s8 Menu_ProcessInputNoWrapAround_other(void);
-void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
+void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);
u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile);
void sub_8198314(void);
void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram);
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index 3b6c13172..442f4a063 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -4,6 +4,9 @@
#include "task.h"
#include "window.h"
+#define MENU_L_PRESSED 1
+#define MENU_R_PRESSED 2
+
// Exported type declarations
struct YesNoFuncTable
@@ -23,8 +26,8 @@ bool16 RunTextPrintersRetIsActive(u8 textPrinterId);
void DoYesNoFuncWithChoice(u8 taskId, const struct YesNoFuncTable *data);
void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1);
-u8 GetLRKeysState(void);
-u8 sub_812210C(void);
+u8 GetLRKeysPressed(void);
+u8 GetLRKeysPressedAndHeld(void);
bool8 sub_8122148(u16 itemId);
bool8 itemid_80BF6D8_mail_related(u16 itemId);
bool8 sub_81221AC(void);
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
index 7fd1d1301..b5dae6de0 100644
--- a/include/metatile_behavior.h
+++ b/include/metatile_behavior.h
@@ -107,7 +107,7 @@ bool8 MetatileBehavior_IsPacifidlogLog(u8);
bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8);
bool8 MetatileBehavior_IsRegionMap(u8);
bool8 MetatileBehavior_IsClosedSootopolisDoor(u8);
-bool8 MetatileBehavior_IsUnknownClosedDoor(u8);
+bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8);
bool8 MetatileBehavior_IsRoulette(u8);
bool8 MetatileBehavior_IsPokeblockFeeder(u8);
bool8 MetatileBehavior_IsSecretBaseJumpMat(u8);
diff --git a/include/mon_markings.h b/include/mon_markings.h
index 8e4ec58bd..241b31e01 100644
--- a/include/mon_markings.h
+++ b/include/mon_markings.h
@@ -1,17 +1,19 @@
#ifndef POKEEMERALD_MON_MARKINGS_H
#define POKEEMERALD_MON_MARKINGS_H
+#define NUM_MON_MARKINGS 4
+
struct PokemonMarkMenu
{
/*0x0000*/ u16 baseTileTag;
/*0x0002*/ u16 basePaletteTag;
/*0x0004*/ u8 markings; // bit flags
/*0x0005*/ s8 cursorPos;
- /*0x0006*/ bool8 markingsArray[4];
+ /*0x0006*/ bool8 markingsArray[NUM_MON_MARKINGS];
/*0x000A*/ u8 cursorBaseY;
/*0x000B*/ bool8 spriteSheetLoadRequired;
/*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window
- /*0x0014*/ struct Sprite *menuMarkingSprites[4];
+ /*0x0014*/ struct Sprite *menuMarkingSprites[NUM_MON_MARKINGS];
/*0x0024*/ struct Sprite *unkSprite;
/*0x0028*/ struct Sprite *menuTextSprite;
/*0x002C*/ const u8 *frameTiles;
diff --git a/include/mossdeep_gym.h b/include/mossdeep_gym.h
deleted file mode 100644
index c16730094..000000000
--- a/include/mossdeep_gym.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef GUARD_MOSSDEEP_GYM_H
-#define GUARD_MOSSDEEP_GYM_H
-
-void InitMossdeepGymTiles(bool8 arg0);
-void FinishMossdeepGymTiles(void);
-u16 MossdeepGym_MoveEvents(u8 arg0);
-void MossdeepGym_TurnEvents(void);
-
-#endif // GUARD_MOSSDEEP_GYM_H
diff --git a/include/naming_screen.h b/include/naming_screen.h
index 611f53ef2..7d32abcd3 100644
--- a/include/naming_screen.h
+++ b/include/naming_screen.h
@@ -9,6 +9,16 @@
#define KBEVENT_PRESSED_SELECT 8
#define KBEVENT_PRESSED_START 9
+#define KBROW_COUNT 4
+
+enum
+{
+ KBPAGE_LETTERS_LOWER,
+ KBPAGE_LETTERS_UPPER,
+ KBPAGE_SYMBOLS,
+ KBPAGE_COUNT,
+};
+
enum
{
NAMING_SCREEN_PLAYER,
@@ -57,12 +67,6 @@ struct NamingScreenData {
/*0x1E3C*/ MainCallback returnCallback;
};
-enum
-{
- PAGE_OTHERS,
- PAGE_UPPER,
- PAGE_LOWER,
-};
enum
{
diff --git a/include/overworld.h b/include/overworld.h
index b86067701..ac916feb1 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -136,7 +136,7 @@ void CB2_NewGame(void);
void CB2_WhiteOut(void);
void CB2_LoadMap(void);
void sub_8086024(void);
-void sub_8086074(void);
+void CB2_ReturnToFieldCableClub(void);
void CB2_ReturnToField(void);
void CB2_ReturnToFieldLocal(void);
void CB2_ReturnToFieldLink(void);
diff --git a/include/party_menu.h b/include/party_menu.h
index c9843e484..126931762 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -4,112 +4,90 @@
#include "main.h"
#include "task.h"
-enum
-{
- AILMENT_NONE,
- AILMENT_PSN,
- AILMENT_PRZ,
- AILMENT_SLP,
- AILMENT_FRZ,
- AILMENT_BRN,
- AILMENT_PKRS,
- AILMENT_FNT
-};
-
-enum
-{
- PARTY_CHOOSE_MON,
- PARTY_MUST_CHOOSE_MON,
- PARTY_CANT_SWITCH,
- PARTY_USE_ITEM_ON,
- PARTY_ABILITY_PREVENTS,
- PARTY_GIVE_ITEM,
-};
-
-struct Struct203CEC8
+// seems like the last two fields may have been left as all-purpose vars
+// and the second of the two just happens to only be used in one case
+struct PartyMenu
{
MainCallback exitCallback;
- TaskFunc unk4;
- u8 unk8_0:4;
- u8 mode:2;
- u8 unk8_2:2;
+ TaskFunc task;
+ u8 menuType:4;
+ u8 layout:2;
s8 slotId;
- s8 unkA;
- u8 unkB;
- u16 unkC;
- s16 unkE;
- s16 unk10;
+ s8 slotId2;
+ u8 action;
+ u16 bagItem;
+ s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos
+ s16 learnMoveState; // data2, used only as a learn move state
};
-extern struct Struct203CEC8 gUnknown_0203CEC8;
-extern u8 gUnknown_0203CEE8;
-extern u8 gUnknown_0203CEE9;
+extern struct PartyMenu gPartyMenu;
+extern bool8 gPartyMenuUseExitCallback;
+extern u8 gSelectedMonPartyId;
extern MainCallback gPostMenuFieldCallback;
extern u8 gSelectedOrderFromParty[4];
-extern u8 gUnknown_0203CF00[3];
+extern u8 gBattlePartyCurrentOrder[3];
-extern void (*gUnknown_03006328)(u8, TaskFunc);
+extern void (*gItemUseCB)(u8, TaskFunc);
extern const u16 gTutorMoves[];
-void sub_81B0FCC(u8 slot, u8 b);
+void AnimatePartySlot(u8 slot, u8 animNum);
bool8 IsMultiBattle(void);
u8 GetCursorSelectionMonId(void);
-u8 sub_81B1360(void);
-void sub_81B1370(u8 taskId);
+u8 GetPartyMenuType(void);
+void Task_HandleChooseMonInput(u8 taskId);
u8* GetMonNickname(struct Pokemon *mon, u8 *dest);
-u8 sub_81B1B5C(const u8* str, u8 b);
-bool8 sub_81B1BD4(void);
-void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func);
-u8 pokemon_ailments_get_primary(u32 status);
+u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen);
+bool8 IsPartyMenuTextPrinterActive(void);
+void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 HPDifference, TaskFunc task);
+u8 GetAilmentFromStatus(u32 status);
u8 GetMonAilment(struct Pokemon *mon);
-void display_pokemon_menu_message(u32 stringID);
-void sub_81B47E0(u8 taskId);
+void DisplayPartyMenuStdMessage(u32 stringId);
bool8 FieldCallback_PrepareFadeInFromMenu(void);
-void sub_81B58A8(void);
+void CB2_ReturnToPartyMenuFromFlyMap(void);
void LoadHeldItemIcons(void);
-void sub_81B5D4C(u8 *a, u8 *b, u8 c);
-void sub_81B617C(void);
+void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty);
+void CB2_ShowPartyMenuForItemUse(void);
void ItemUseCB_Medicine(u8 taskId, TaskFunc task);
-void sub_81B67C8(u8 taskId, TaskFunc task);
-void dp05_ether(u8 taskId, TaskFunc task);
-void dp05_pp_up(u8 taskId, TaskFunc task);
+void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task);
+void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task);
+void ItemUseCB_PPUp(u8 taskId, TaskFunc task);
u16 ItemIdToBattleMoveId(u16 item);
bool8 IsMoveHm(u16 move);
bool8 MonKnowsMove(struct Pokemon *mon, u16 move);
-void sub_81B6DC4(u8 taskId, TaskFunc task);
-void dp05_rare_candy(u8 taskId, TaskFunc task);
-void sub_81B79E8(u8 taskId, TaskFunc task);
-void sub_81B7C74(u8 taskId, TaskFunc task);
+void ItemUseCB_TMHM(u8 taskId, TaskFunc task);
+void ItemUseCB_RareCandy(u8 taskId, TaskFunc task);
+void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task);
+void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task);
u8 GetItemEffectType(u16 item);
void CB2_PartyMenuFromStartMenu(void);
-void sub_81B7F60(void);
-void sub_81B8448(void);
+void CB2_ChooseMonToGiveItem(void);
+void ChooseMonToGiveMailFromMailbox(void);
void InitChooseHalfPartyForBattle(u8 unused);
-void sub_81B8558(void);
-void sub_81B8904(u8 initArg, MainCallback callback);
-void sub_81B892C(void);
-void sub_81B8958(void);
-void OpenPartyMenuInBattle(u8 arg);
-void sub_81B89F0(void);
-void sub_81B8C68(void);
-void sub_81B8D64(u8 battlerId, u8 multiplayerFlag);
-void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex);
-void sub_81B8FB0(u8 slot, u8 slot2);
-u8 pokemon_order_func(u8 slot);
-void sub_81B9150(void);
-void sub_81B9328(void);
-bool8 hm_add_c3_without_phase_2(void);
-void sub_81B9404(void);
-void sub_81B94B0(void);
-void sub_81B951C(void);
-void sub_81B9620(void);
-void sub_81B95E0(void);
-void sub_81B98DC(void);
-void sub_81B9918(void);
-void sub_81B9770(void);
-void sub_81B9718(void);
-void sub_81B96D0(void);
-void sub_81B968C(void);
+void ClearSelectedPartyOrder(void);
+void ChooseMonForTradingBoard(u8 menuType, MainCallback callback);
+void ChooseMonForMoveTutor(void);
+void ChooseMonForWirelessMinigame(void);
+void OpenPartyMenuInBattle(u8 partyAction);
+void ChooseMonForInBattleItem(void);
+void BufferBattlePartyCurrentOrder(void);
+void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId);
+void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 arrayIndex);
+void SwitchPartyMonSlots(u8 slot, u8 slot2);
+u8 GetPartyIdFromBattlePartyId(u8 slot);
+void ShowPartyMenuToShowcaseMultiBattleParty(void);
+void ChooseMonForDaycare(void);
+bool8 CB2_FadeFromPartyMenu(void);
+void ChooseContestMon(void);
+void ChoosePartyMon(void);
+void ChooseMonForMoveRelearner(void);
+void BattlePyramidChooseMonHeldItems(void);
+void DoBattlePyramidMonsHaveHeldItem(void);
+void IsSelectedMonEgg(void);
+void IsLastMonThatKnowsSurf(void);
+void MoveDeleterForgetMove(void);
+void BufferMoveDeleterNicknameAndMove(void);
+void GetNumMovesSelectedMonHas(void);
+void MoveDeleterChooseMoveToForget(void);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeball.h b/include/pokeball.h
index 8e1d8b8ec..12b9b1eff 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -25,7 +25,7 @@ extern const struct SpriteTemplate gBallSpriteTemplates[];
u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow);
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battler, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species);
-u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h);
+u8 CreateTradePokeballSprite(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h);
void sub_8076918(u8 battler);
void DoHitAnimHealthboxEffect(u8 battler);
void LoadBallGfx(u8 ballId);
diff --git a/include/pokemon.h b/include/pokemon.h
index ec125573c..2e28ae0f5 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -4,136 +4,6 @@
#include "constants/pokemon.h"
#include "sprite.h"
-#define MON_DATA_PERSONALITY 0
-#define MON_DATA_OT_ID 1
-#define MON_DATA_NICKNAME 2
-#define MON_DATA_LANGUAGE 3
-#define MON_DATA_SANITY_IS_BAD_EGG 4
-#define MON_DATA_SANITY_HAS_SPECIES 5
-#define MON_DATA_SANITY_IS_EGG 6
-#define MON_DATA_OT_NAME 7
-#define MON_DATA_MARKINGS 8
-#define MON_DATA_CHECKSUM 9
-#define MON_DATA_ENCRYPT_SEPARATOR 10
-#define MON_DATA_SPECIES 11
-#define MON_DATA_HELD_ITEM 12
-#define MON_DATA_MOVE1 13
-#define MON_DATA_MOVE2 14
-#define MON_DATA_MOVE3 15
-#define MON_DATA_MOVE4 16
-#define MON_DATA_PP1 17
-#define MON_DATA_PP2 18
-#define MON_DATA_PP3 19
-#define MON_DATA_PP4 20
-#define MON_DATA_PP_BONUSES 21
-#define MON_DATA_COOL 22
-#define MON_DATA_BEAUTY 23
-#define MON_DATA_CUTE 24
-#define MON_DATA_EXP 25
-#define MON_DATA_HP_EV 26
-#define MON_DATA_ATK_EV 27
-#define MON_DATA_DEF_EV 28
-#define MON_DATA_SPEED_EV 29
-#define MON_DATA_SPATK_EV 30
-#define MON_DATA_SPDEF_EV 31
-#define MON_DATA_FRIENDSHIP 32
-#define MON_DATA_SMART 33
-#define MON_DATA_POKERUS 34
-#define MON_DATA_MET_LOCATION 35
-#define MON_DATA_MET_LEVEL 36
-#define MON_DATA_MET_GAME 37
-#define MON_DATA_POKEBALL 38
-#define MON_DATA_HP_IV 39
-#define MON_DATA_ATK_IV 40
-#define MON_DATA_DEF_IV 41
-#define MON_DATA_SPEED_IV 42
-#define MON_DATA_SPATK_IV 43
-#define MON_DATA_SPDEF_IV 44
-#define MON_DATA_IS_EGG 45
-#define MON_DATA_ABILITY_NUM 46
-#define MON_DATA_TOUGH 47
-#define MON_DATA_SHEEN 48
-#define MON_DATA_OT_GENDER 49
-#define MON_DATA_COOL_RIBBON 50
-#define MON_DATA_BEAUTY_RIBBON 51
-#define MON_DATA_CUTE_RIBBON 52
-#define MON_DATA_SMART_RIBBON 53
-#define MON_DATA_TOUGH_RIBBON 54
-#define MON_DATA_STATUS 55
-#define MON_DATA_LEVEL 56
-#define MON_DATA_HP 57
-#define MON_DATA_MAX_HP 58
-#define MON_DATA_ATK 59
-#define MON_DATA_DEF 60
-#define MON_DATA_SPEED 61
-#define MON_DATA_SPATK 62
-#define MON_DATA_SPDEF 63
-#define MON_DATA_MAIL 64
-#define MON_DATA_SPECIES2 65
-#define MON_DATA_IVS 66
-#define MON_DATA_CHAMPION_RIBBON 67
-#define MON_DATA_WINNING_RIBBON 68
-#define MON_DATA_VICTORY_RIBBON 69
-#define MON_DATA_ARTIST_RIBBON 70
-#define MON_DATA_EFFORT_RIBBON 71
-#define MON_DATA_GIFT_RIBBON_1 72
-#define MON_DATA_GIFT_RIBBON_2 73
-#define MON_DATA_GIFT_RIBBON_3 74
-#define MON_DATA_GIFT_RIBBON_4 75
-#define MON_DATA_GIFT_RIBBON_5 76
-#define MON_DATA_GIFT_RIBBON_6 77
-#define MON_DATA_GIFT_RIBBON_7 78
-#define MON_DATA_FATEFUL_ENCOUNTER 79
-#define MON_DATA_OBEDIENCE 80
-#define MON_DATA_KNOWN_MOVES 81
-#define MON_DATA_RIBBON_COUNT 82
-#define MON_DATA_RIBBONS 83
-#define MON_DATA_ATK2 84
-#define MON_DATA_DEF2 85
-#define MON_DATA_SPEED2 86
-#define MON_DATA_SPATK2 87
-#define MON_DATA_SPDEF2 88
-
-#define MAX_LEVEL 100
-
-#define OT_ID_RANDOM_NO_SHINY 2
-#define OT_ID_PRESET 1
-#define OT_ID_PLAYER_ID 0
-
-#define MON_GIVEN_TO_PARTY 0x0
-#define MON_GIVEN_TO_PC 0x1
-#define MON_CANT_GIVE 0x2
-
-#define PLAYER_HAS_TWO_USABLE_MONS 0x0
-#define PLAYER_HAS_ONE_MON 0x1
-#define PLAYER_HAS_ONE_USABLE_MON 0x2
-
-#define MON_MALE 0x00
-#define MON_FEMALE 0xFE
-#define MON_GENDERLESS 0xFF
-
-#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
-#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused
-#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused
-#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
-#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
-#define FRIENDSHIP_EVENT_WALKING 0x5
-#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
-#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
-#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
-
-#define STATUS_PRIMARY_NONE 0x0
-#define STATUS_PRIMARY_POISON 0x1
-#define STATUS_PRIMARY_PARALYSIS 0x2
-#define STATUS_PRIMARY_SLEEP 0x3
-#define STATUS_PRIMARY_FREEZE 0x4
-#define STATUS_PRIMARY_BURN 0x5
-#define STATUS_PRIMARY_POKERUS 0x6
-#define STATUS_PRIMARY_FAINTED 0x7
-
-#define MAX_TOTAL_EVS 510
-#define UNOWN_FORM_COUNT 28
-
struct PokemonSubstruct0
{
u16 species;
@@ -145,8 +15,8 @@ struct PokemonSubstruct0
struct PokemonSubstruct1
{
- u16 moves[4];
- u8 pp[4];
+ u16 moves[MAX_MON_MOVES];
+ u8 pp[MAX_MON_MOVES];
};
struct PokemonSubstruct2
@@ -273,7 +143,7 @@ struct BattlePokemon
/*0x06*/ u16 speed;
/*0x08*/ u16 spAttack;
/*0x0A*/ u16 spDefense;
- /*0x0C*/ u16 moves[4];
+ /*0x0C*/ u16 moves[MAX_MON_MOVES];
/*0x14*/ u32 hpIV:5;
/*0x14*/ u32 attackIV:5;
/*0x15*/ u32 defenseIV:5;
@@ -287,7 +157,7 @@ struct BattlePokemon
/*0x21*/ u8 type1;
/*0x22*/ u8 type2;
/*0x23*/ u8 unknown;
- /*0x24*/ u8 pp[4];
+ /*0x24*/ u8 pp[MAX_MON_MOVES];
/*0x28*/ u16 hp;
/*0x2A*/ u8 level;
/*0x2B*/ u8 friendship;
@@ -348,13 +218,6 @@ struct BattleMove
u8 flags;
};
-#define FLAG_MAKES_CONTACT 0x1
-#define FLAG_PROTECT_AFFECTED 0x2
-#define FLAG_MAGICCOAT_AFFECTED 0x4
-#define FLAG_SNATCH_AFFECTED 0x8
-#define FLAG_MIRROR_MOVE_AFFECTED 0x10
-#define FLAG_KINGSROCK_AFFECTED 0x20
-
struct SpindaSpot
{
u8 x, y;
@@ -367,46 +230,6 @@ struct __attribute__((packed)) LevelUpMove
u16 level:7;
};
-enum
-{
- GROWTH_MEDIUM_FAST,
- GROWTH_ERRATIC,
- GROWTH_FLUCTUATING,
- GROWTH_MEDIUM_SLOW,
- GROWTH_FAST,
- GROWTH_SLOW
-};
-
-enum
-{
- BODY_COLOR_RED,
- BODY_COLOR_BLUE,
- BODY_COLOR_YELLOW,
- BODY_COLOR_GREEN,
- BODY_COLOR_BLACK,
- BODY_COLOR_BROWN,
- BODY_COLOR_PURPLE,
- BODY_COLOR_GRAY,
- BODY_COLOR_WHITE,
- BODY_COLOR_PINK
-};
-
-#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
-#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
-#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220
-#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level
-#define EVO_TRADE 0x0005 // Pokémon is traded
-#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item
-#define EVO_ITEM 0x0007 // specified item is used on Pokémon
-#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense
-#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense
-#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense
-#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value
-#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value
-#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask)
-#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
-#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
-
struct Evolution
{
u16 method;
@@ -414,8 +237,6 @@ struct Evolution
u16 targetSpecies;
};
-#define EVOS_PER_MON 5
-
extern u8 gPlayerPartyCount;
extern struct Pokemon gPlayerParty[PARTY_SIZE];
extern u8 gEnemyPartyCount;
@@ -466,7 +287,6 @@ void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest);
u8 GetLevelFromMonExp(struct Pokemon *mon);
u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon);
u16 GiveMoveToMon(struct Pokemon *mon, u16 move);
-u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move);
u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move);
void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot);
void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot);
@@ -522,7 +342,7 @@ bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex,
bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e);
bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId);
u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
-u8 *sub_806CF78(u16 itemId);
+u8 *UseStatIncreaseItem(u16 itemId);
u8 GetNature(struct Pokemon *mon);
u8 GetNatureFromPersonality(u32 personality);
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem);
@@ -536,8 +356,8 @@ u16 SpeciesToCryId(u16 species);
void sub_806D544(u16 species, u32 personality, u8 *dest);
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4);
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
-bool8 sub_806D7EC(void);
-bool16 GetLinkTrainerFlankId(u8 id);
+u8 GetPlayerFlankId(void);
+u16 GetLinkTrainerFlankId(u8 id);
s32 GetBattlerMultiplayerId(u16 a1);
u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex);
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index 8af43c753..dbd7f2895 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -16,13 +16,13 @@ void LoadMonIconPalette(u16 species);
void FreeMonIconPalettes(void);
u8 sub_80D2D78(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, bool32 extra);
void FreeMonIconPalette(u16 species);
-void sub_80D2EF8(struct Sprite *sprite);
+void FreeAndDestroyMonIconSprite(struct Sprite *sprite);
u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra);
u8 UpdateMonIconFrame(struct Sprite *sprite);
void LoadMonIconPalette(u16 species);
void sub_80D328C(struct Sprite *sprite);
-void sub_80D3014(struct Sprite *sprite);
-void sub_80D32C8(struct Sprite *sprite, u8 animNum);
+void SpriteCB_MonIcon(struct Sprite *sprite);
+void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum);
u8 GetMonIconPaletteIndexFromSpecies(u16 species);
#endif // GUARD_POKEMON_ICON_H
diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h
index 28b19f9b1..dde59aac5 100644
--- a/include/pokemon_jump.h
+++ b/include/pokemon_jump.h
@@ -4,10 +4,10 @@
#include "main.h"
void sub_802A9A8(u16 monId, MainCallback callback);
-bool32 sub_802C908(u16 species);
-void sub_802C920(void);
+bool32 IsSpeciesAllowedInPokemonJump(u16 species);
+void IsPokemonJumpSpeciesInParty(void);
void ResetPokeJumpResults(void);
-void sub_802E3C4(void);
+void ShowPokemonJumpRecords(void);
void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority);
bool32 sub_802EB84(void);
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 4c319e59d..7b6a38678 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -25,7 +25,7 @@ struct PokemonStorage
extern struct PokemonStorage *gPokemonStoragePtr;
-void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4);
+void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 bytesToBuffer);
u8 CountMonsInBox(u8 boxId);
s16 GetFirstFreeBoxSpot(u8 boxId);
u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore);
diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index 20d881702..07d541cac 100755
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -9,10 +9,9 @@ extern const u8 *const gMoveDescriptionPointers[];
extern const u8 *const gNatureNamePointers[];
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
-void sub_81C4F98(u8, void(*)(void));
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16);
void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
-u8 sub_81C1B94(void);
+u8 GetMoveSlotToReplace(void);
void SummaryScreen_SetUnknownTaskId(u8 a0);
void SummaryScreen_DestroyUnknownTask(void);
diff --git a/include/pokenav.h b/include/pokenav.h
index b1c3287f1..f12469e71 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -11,7 +11,36 @@ struct PokenavMonList
{
u8 boxId;
u8 monId;
+ u16 data;
+};
+
+struct PokenavMatchCallEntries
+{
+ bool8 isSpecialTrainer;
+ u8 mapSec;
+ u16 headerId;
+};
+
+struct PokenavListTemplate
+{
+ union {
+ struct PokenavMonList *monList;
+ struct PokenavMatchCallEntries *matchCallEntries;
+ } list;
+ u16 unk4;
u16 unk6;
+ u8 unk8;
+ u8 unk9;
+ u8 unkA;
+ u8 unkB;
+ u8 unkC;
+ u8 unkD;
+ u8 unkE;
+ union {
+ void (*unk10_1)(struct PokenavMonList *, u8 *a1);
+ void (*unk10_2)(struct PokenavMatchCallEntries *, u8 *a1);
+ } listFunc;
+ void (*unk14)(u16 a0, u32 a1, u32 a2);
};
struct PokenavSub18
@@ -31,9 +60,9 @@ struct PokenavSub18
enum
{
- POKENAV_MODE_NORMAL, // Chosen from Start menu.
- POKENAV_MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call.
- POKENAV_MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav.
+ POKENAV_MODE_NORMAL, // Chosen from Start menu.
+ POKENAV_MODE_FORCE_CALL_READY, // Pokenav tutorial before calling Mr. Stone
+ POKENAV_MODE_FORCE_CALL_EXIT, // Pokenav tutorial after calling Mr. Stone
};
#define POKENAV_MENU_IDS_START 100000
@@ -58,6 +87,23 @@ enum
enum
{
+ HELPBAR_NONE,
+ HELPBAR_MAP_ZOOMED_OUT,
+ HELPBAR_MAP_ZOOMED_IN,
+ HELPBAR_CONDITION_MON_LIST,
+ HELPBAR_CONDITION_MON_STATUS,
+ HELPBAR_CONDITION_MARKINGS,
+ HELPBAR_MC_TRAINER_LIST,
+ HELPBAR_MC_CALL_MENU,
+ HELPBAR_MC_CHECK_PAGE,
+ HELPBAR_RIBBONS_MON_LIST,
+ HELPBAR_RIBBONS_LIST,
+ HELPBAR_RIBBONS_CHECK,
+ HELPBAR_COUNT
+};
+
+enum
+{
MC_HEADER_MR_STONE,
MC_HEADER_PROF_BIRCH,
MC_HEADER_BRENDAN,
@@ -82,6 +128,48 @@ enum
MC_HEADER_COUNT
};
+enum
+{
+ MATCH_CALL_OPTION_CALL,
+ MATCH_CALL_OPTION_CHECK,
+ MATCH_CALL_OPTION_CANCEL,
+ MATCH_CALL_OPTION_COUNT
+};
+
+enum
+{
+ CHECK_PAGE_STRATEGY,
+ CHECK_PAGE_POKEMON,
+ CHECK_PAGE_INTRO_1,
+ CHECK_PAGE_INTRO_2,
+ CHECK_PAGE_ENTRY_COUNT
+};
+
+#define MCFLAVOR(name) {[CHECK_PAGE_STRATEGY] = gText_MatchCall##name##_Strategy, \
+ [CHECK_PAGE_POKEMON] = gText_MatchCall##name##_Pokemon, \
+ [CHECK_PAGE_INTRO_1] = gText_MatchCall##name##_Intro1, \
+ [CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2}
+
+enum
+{
+ POKENAV_MC_FUNC_NONE,
+ POKENAV_MC_FUNC_DOWN,
+ POKENAV_MC_FUNC_UP,
+ POKENAV_MC_FUNC_PG_DOWN,
+ POKENAV_MC_FUNC_PG_UP,
+ POKENAV_MC_FUNC_SELECT,
+ POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR,
+ POKENAV_MC_FUNC_CANCEL,
+ POKENAV_MC_FUNC_CALL_MSG,
+ POKENAV_MC_FUNC_NEARBY_MSG,
+ POKENAV_MC_FUNC_10,
+ POKENAV_MC_FUNC_SHOW_CHECK_PAGE,
+ POKENAV_MC_FUNC_CHECK_PAGE_UP,
+ POKENAV_MC_FUNC_CHECK_PAGE_DOWN,
+ POKENAV_MC_FUNC_EXIT_CHECK_PAGE,
+ POKENAV_MC_FUNC_EXIT
+};
+
// pokenav.c
void sub_81C7694(u32);
u32 sub_81C76AC(void);
@@ -101,22 +189,6 @@ void SetPokenavVBlankCallback(void);
void SetVBlankCallback_(IntrCallback callback);
// pokenav_match_call_ui.c
-struct MatchCallListTemplate
-{
- struct PokenavMonList * unk0;
- u16 unk4;
- u16 unk6;
- u8 unk8;
- u8 unk9;
- u8 unkA;
- u8 unkB;
- u8 unkC;
- u8 unkD;
- u8 unkE;
- void (*unk10)(struct PokenavMonList *, u8 *a1);
- void (*unk14)(u16 a0, u32 a1, u32 a2);
-};
-
u32 GetSelectedMatchCall(void);
bool32 sub_81C8224(void);
int MatchCall_MoveCursorUp(void);
@@ -128,23 +200,23 @@ void ToggleMatchCallVerticalArrows(bool32 shouldHide);
void sub_81C8838(void);
void sub_81C877C(void);
bool32 sub_81C8820(void);
-void sub_81C87AC(s16 a0);
+void PrintCheckPageInfo(s16 a0);
u32 GetMatchCallListTopIndex(void);
void sub_81C87F0(void);
-bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2);
+bool32 sub_81C81D4(const struct BgTemplate *arg0, struct PokenavListTemplate *arg1, s32 arg2);
void sub_81C8234(void);
// pokenav_match_call_data.c
bool32 MatchCall_HasCheckPage(u32 idx);
-u8 MatchCallMapSecGetByIndex(u32 idx);
-bool32 sub_81D1BF8(u32 idx);
-bool32 MatchCallFlagGetByIndex(u32 idx);
+u8 MatchCall_GetMapSec(u32 idx);
+bool32 MatchCall_HasRematchId(u32 idx);
+bool32 MatchCall_GetEnabled(u32 idx);
u32 MatchCall_GetRematchTableIdx(u32 idx);
u32 GetTrainerIdxByRematchIdx(u32 rematchIdx);
int MatchCall_GetOverrideFacilityClass(u32 idx);
void MatchCall_GetMessage(u32 idx, u8 *dest);
const u8 *MatchCall_GetOverrideFlavorText(u32 idx, u32 offset);
-void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name);
+void MatchCall_GetNameAndDesc(u32 idx, const u8 **desc, const u8 **name);
// pokenav_main_menu.c
bool32 InitPokenavMainMenu(void);
@@ -157,8 +229,8 @@ void sub_81C7AC0(s32 a0);
bool32 sub_81C8010(void);
void InitBgTemplates(const struct BgTemplate *templates, int count);
bool32 IsPaletteFadeActive(void);
-void sub_81C7BA4(u32 helpBarIndex);
-bool32 IsDma3ManagerBusyWithBgCopy_(void);
+void PrintHelpBarText(u32 textId);
+bool32 WaitForHelpBar(void);
void sub_81C78A0(void);
bool32 MainMenuLoopedTaskIsBusy(void);
void sub_81C7FDC(void);
@@ -184,10 +256,9 @@ bool32 PokenavCallback_Init_3(void);
u32 sub_81C941C(void);
void sub_81C9430(void);
int sub_81C9894(void);
-const u8 *sub_81CAF78(int index, u8 *arg1);
int sub_81C98A4(void);
int sub_81C98B4(void);
-u16 sub_81C98C4(void);
+u16 GetHelpBarTextId(void);
// pokenav_unk_2.c
bool32 sub_81C9924(void);
@@ -202,27 +273,28 @@ bool32 PokenavCallback_Init_11(void);
u32 sub_81CAB24(void);
void sub_81CAB38(void);
int sub_81CAE28(void);
-int sub_81CAE38(void);
+int GetNumberRegistered(void);
int sub_81CAE48(void);
-struct PokenavMonList *sub_81CAE94(void);
-u16 sub_81CAEA4(int);
-bool32 sub_81CAEBC(int index);
-int sub_81CAF04(int index);
-const u8 *sub_81CAFD8(int index, int textType);
-u16 sub_81CB01C(void);
-u16 sub_81CB02C(int arg0);
-void sub_81CB050(struct PokenavMonList * arg0, u8 *str);
+struct PokenavMatchCallEntries *sub_81CAE94(void);
+u16 GetMatchCallMapSec(int);
+bool32 ShouldDrawRematchPokeballIcon(int index);
+void ClearRematchPokeballIcon(u16 windowId, u32 a1);
+int GetMatchCallTrainerPic(int index);
+const u8 *GetMatchCallFlavorText(int index, int textType);
+const u8 *GetMatchCallMessageText(int index, u8 *arg1);
+u16 GetMatchCallOptionCursorPos(void);
+u16 GetMatchCallOptionId(int arg0);
+void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntries * arg0, u8 *str);
u8 sub_81CB0C8(int rematchIndex);
-int sub_81CB0E4(int index);
-bool32 sub_81CAE08(int);
-int sub_81CB128(int index);
+int GetIndexDeltaOfNextCheckPageDown(int index);
+int GetIndexDeltaOfNextCheckPageUp(int index);
+bool32 IsRematchEntryRegistered(int index);
// pokenav_unk_4.c
bool32 sub_81CB260(void);
void sub_81CB29C(s32 index);
u32 sub_81CB2CC(void);
void sub_81CB2E0(void);
-void sub_81CBD48(u16 windowId, u32 a1);
// pokenav_unk_5.c
u32 PokenavCallback_Init_6(void);
diff --git a/include/region_map.h b/include/region_map.h
index 798e6f56d..0d219643d 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -102,7 +102,7 @@ void CreateRegionMapPlayerIcon(u16 x, u16 y);
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
u8 *GetMapName(u8 *, u16, u16);
bool32 sub_8124668(u8 mapSecId);
-u8 *sub_81245DC(u8 *dest, u16 mapSecId);
+u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId);
u8 *sub_8124610(u8 *dest, u16 mapSecId);
u16 CorrectSpecialMapSecId(u16 mapSecId);
void sub_8122D88(struct RegionMap *regionMap);
diff --git a/include/rotating_tile_puzzle.h b/include/rotating_tile_puzzle.h
new file mode 100644
index 000000000..8c6ab7944
--- /dev/null
+++ b/include/rotating_tile_puzzle.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_ROTATING_TILE_PUZZLE_H
+#define GUARD_ROTATING_TILE_PUZZLE_H
+
+void InitRotatingTilePuzzle(bool8 isTrickHouse);
+void FreeRotatingTilePuzzle(void);
+u16 MoveRotatingTileObjects(u8 puzzleNumber);
+void TurnRotatingTileObjects(void);
+
+#endif // GUARD_ROTATING_TILE_PUZZLE_H
diff --git a/include/save.h b/include/save.h
index 5e2cf7267..225b2b62c 100644
--- a/include/save.h
+++ b/include/save.h
@@ -55,13 +55,25 @@ enum
SAVE_HALL_OF_FAME_ERASE_BEFORE // unused
};
+#define SECTOR_ID_SAVEBLOCK2 0
+#define SECTOR_ID_SAVEBLOCK1_START 1
+#define SECTOR_ID_SAVEBLOCK1_END 4
+#define SECTOR_ID_PKMN_STORAGE_START 5
+#define SECTOR_ID_PKMN_STORAGE_END 13
#define SECTOR_SAVE_SLOT_LENGTH 14
+// Save Slot 1: 0-13; Save Slot 2: 14-27
#define SECTOR_ID_HOF_1 28
#define SECTOR_ID_HOF_2 29
#define SECTOR_ID_TRAINER_HILL 30
#define SECTOR_ID_RECORDED_BATTLE 31
#define SECTORS_COUNT 32
+#define SAVE_STATUS_EMPTY 0
+#define SAVE_STATUS_OK 1
+#define SAVE_STATUS_CORRUPT 2
+#define SAVE_STATUS_NO_FLASH 4
+#define SAVE_STATUS_ERROR 0xFF
+
extern u16 gLastWrittenSector;
extern u32 gLastSaveCounter;
extern u16 gLastKnownGoodSector;
@@ -82,13 +94,12 @@ u8 HandleSavingData(u8 saveType);
u8 TrySavingData(u8 saveType);
bool8 sub_8153380(void);
bool8 sub_81533AC(void);
-u8 sub_81533E0(void);
-u8 sub_8153408(void);
-u8 FullSaveGame(void);
+bool8 sub_81533E0(void);
+bool8 sub_8153408(void);
+bool8 FullSaveGame(void);
bool8 CheckSaveFile(void);
-u8 Save_LoadGameData(u8 a1);
+u8 Save_LoadGameData(u8 saveType);
u16 sub_815355C(void);
-u8 sub_81534D0(u8);
u32 TryReadSpecialSaveSection(u8 sector, u8* dst);
u32 TryWriteSpecialSaveSection(u8 sector, u8* src);
void sub_8153688(u8 taskId);
diff --git a/include/save_location.h b/include/save_location.h
index c330124ad..6c2ae0e6b 100644
--- a/include/save_location.h
+++ b/include/save_location.h
@@ -6,9 +6,14 @@
#define POKECENTER_SAVEWARP (1 << 1)
#define LOBBY_SAVEWARP (1 << 2)
#define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3)
+//
+//
+//
+//
+#define CHAMPION_SAVEWARP (1 << 7)
void TrySetMapSaveWarpStatus(void);
void sub_81AFDA0(void);
-void sub_81AFDD0(void);
+void SetChampionSaveWarp(void);
#endif // GUARD_SAVE_LOCATION_H
diff --git a/include/script.h b/include/script.h
index cfe493479..3f92964ac 100644
--- a/include/script.h
+++ b/include/script.h
@@ -62,6 +62,6 @@ u8 *GetSavedRamScriptIfValid(void);
void InitRamScript_NoEventObject(u8 *script, u16 scriptSize);
// srccmd.h
-void sub_809BE48(u16 npcId);
+void SetMovingNpcId(u16 npcId);
#endif // GUARD_SCRIPT_H
diff --git a/include/script_menu.h b/include/script_menu.h
index efb51870b..086ad147f 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -1,20 +1,20 @@
#ifndef GUARD_SCRIPT_MENU_H
#define GUARD_SCRIPT_MENU_H
-extern const u8 *const gUnknown_0858BAF0[];
+extern const u8 *const gStdStrings[];
-bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4);
-bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5);
-bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
-bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
-bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
+bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress);
+bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 defaultChoice);
+bool8 ScriptMenu_YesNo(u8 left, u8 top);
+bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 columnCount);
+bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
-int convert_pixel_width_to_tile_width(int);
-u8 CreateWindowFromRect(u8, u8, u8, u8);
-void ClearToTransparentAndRemoveWindow(u8);
-int display_text_and_get_width(const u8*, int);
-int sub_80E2D5C(int arg0, int tileWidth);
-bool16 ScrSpecial_CreatePCMenu(void);
+int ConvertPixelWidthToTileWidth(int width);
+u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height);
+void ClearToTransparentAndRemoveWindow(u8 windowId);
+int DisplayTextAndGetWidth(const u8* str, int width);
+int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width);
+bool16 ScriptMenu_CreatePCMultichoice(void);
void ScriptMenu_DisplayPCStartupPrompt(void);
#endif //GUARD_SCRIPT_MENU_H
diff --git a/include/script_movement.h b/include/script_movement.h
index 4c3fa6002..f9a97cf46 100644
--- a/include/script_movement.h
+++ b/include/script_movement.h
@@ -1,8 +1,8 @@
#ifndef GUARD_SCRIPT_MOVEMENT_H
#define GUARD_SCRIPT_MOVEMENT_H
-bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *);
-bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8);
-void sub_80D338C(void);
+bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript);
+bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup);
+void ScriptMovement_UnfreezeEventObjects(void);
#endif // GUARD_SCRIPT_MOVEMENT_H
diff --git a/include/script_pokemon_81B9.h b/include/script_pokemon_81B9.h
deleted file mode 100644
index 1b8563ee6..000000000
--- a/include/script_pokemon_81B9.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef GUARD_SCRIPTPOKE81B9_H
-#define GUARD_SCRIPTPOKE81B9_H
-
-void sub_81B9404(void);
-
-#endif
diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h
index 7d8d99628..7c246b745 100644
--- a/include/script_pokemon_util_80F87D8.h
+++ b/include/script_pokemon_util_80F87D8.h
@@ -1,7 +1,7 @@
#ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
-u16 sub_80F903C(void);
+u16 GetContestRand(void);
void ReducePlayerPartyToSelectedMons(void);
void HealPlayerParty(void);
u8 CountPlayerContestPaintings(void);
diff --git a/include/secret_base.h b/include/secret_base.h
index 4e323b0c6..b7d36a8ee 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -12,13 +12,13 @@ void InitSecretBaseAppearance(bool8 hidePC);
bool8 CurMapIsSecretBase(void);
void SecretBasePerStepCallback(u8 taskId);
bool8 TrySetCurSecretBase(void);
-void SetSecretBaseSecretsTvFlags_Poster(void);
-void SetSecretBaseSecretsTvFlags_MiscFurnature(void);
-void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void);
-void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void);
+void CheckInteractedWithFriendsPosterDecor(void);
+void CheckInteractedWithFriendsFurnitureBottom(void);
+void CheckInteractedWithFriendsFurnitureMiddle(void);
+void CheckInteractedWithFriendsFurnitureTop(void);
void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events);
bool8 SecretBaseMapPopupEnabled(void);
-void sub_80EB218(void);
+void CheckLeftFriendsSecretBase(void);
void ClearSecretBases(void);
void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const struct MapEvents *events);
void TrySetCurSecretBaseIndex(void);
diff --git a/include/slot_machine.h b/include/slot_machine.h
index d441b7411..1b22e165f 100644
--- a/include/slot_machine.h
+++ b/include/slot_machine.h
@@ -4,6 +4,7 @@
#define NUM_REELS 3
#define REEL_NUM_TAGS 21
#define REEL_TAG_HEIGHT 24
+#define SLOT_MACHINE_COUNT 12
// Lucky Flags
#define LUCKY_BIAS_REPLAY (1 << 0)
diff --git a/include/start_menu.h b/include/start_menu.h
index 2fdb3e652..df2a290a2 100644
--- a/include/start_menu.h
+++ b/include/start_menu.h
@@ -3,10 +3,10 @@
extern bool8 (*gMenuCallback)(void);
-void sub_809FA18(void);
-void sub_809FA34(u8 taskId);
+void ShowReturnToFieldStartMenu(void);
+void Task_ShowStartMenu(u8 taskId);
void ShowStartMenu(void);
-void sub_809FDD4(void);
+void ShowBattlePyramidStartMenu(void);
void SaveGame(void);
void sub_80A0514(void);
void sub_80A08CC(void);
diff --git a/include/strings.h b/include/strings.h
index e31a97761..eda1c55e4 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1,6 +1,22 @@
#ifndef GUARD_STRINGS_H
#define GUARD_STRINGS_H
+// Placeholders
+extern const u8 gText_ExpandedPlaceholder_Empty[];
+extern const u8 gText_ExpandedPlaceholder_Kun[];
+extern const u8 gText_ExpandedPlaceholder_Chan[];
+extern const u8 gText_ExpandedPlaceholder_Sapphire[];
+extern const u8 gText_ExpandedPlaceholder_Ruby[];
+extern const u8 gText_ExpandedPlaceholder_Emerald[];
+extern const u8 gText_ExpandedPlaceholder_Aqua[];
+extern const u8 gText_ExpandedPlaceholder_Magma[];
+extern const u8 gText_ExpandedPlaceholder_Archie[];
+extern const u8 gText_ExpandedPlaceholder_Maxie[];
+extern const u8 gText_ExpandedPlaceholder_Kyogre[];
+extern const u8 gText_ExpandedPlaceholder_Groudon[];
+extern const u8 gText_ExpandedPlaceholder_Brendan[];
+extern const u8 gText_ExpandedPlaceholder_May[];
+
extern const u8 gText_FromSpace[];
extern const u8 gText_Lv50[];
@@ -373,7 +389,7 @@ extern const u8 gBerryFirmnessString_Hard[];
extern const u8 gBerryFirmnessString_VeryHard[];
extern const u8 gBerryFirmnessString_SuperHard[];
extern const u8 gText_BerryTag[];
-extern const u8 gText_UnkF908Var1Var2[];
+extern const u8 gText_NumberVar1Var2[];
extern const u8 gText_SizeSlash[];
extern const u8 gText_Var1DotVar2[];
extern const u8 gText_ThreeMarks[];
@@ -382,7 +398,7 @@ extern const u8 gText_FirmSlash[];
// item menu screen text
extern const u8 gText_CloseBag[];
extern const u8 gText_ClearTo11Var1Clear5Var2[];
-extern const u8 gText_UnkF908Var1Clear7Var2[];
+extern const u8 gText_NumberVar1Clear7Var2[];
extern const u8 gText_xVar1[];
extern const u8 gText_ReturnToVar1[];
extern const u8 gText_SelectorArrow2[];
@@ -411,7 +427,7 @@ extern const u8 gText_CantBeUsedOnPkmn[];
extern const u8 gText_CancelParticipation[];
extern const u8 gText_PkmnWasGivenItem[];
extern const u8 gText_ReceivedItemFromPkmn[];
-extern const u8 gText_SwitchPkmnItem[];
+extern const u8 gText_PkmnAlreadyHoldingItemSwitch[];
extern const u8 gText_SwitchedPkmnItem[];
extern const u8 gText_BagFullCouldNotRemoveItem[];
extern const u8 gText_PkmnCantParticipate[];
@@ -427,7 +443,7 @@ extern const u8 gText_NoMoreThanVar1Pkmn[];
extern const u8 gText_PkmnCantBeTradedNow[];
extern const u8 gText_EggCantBeTradedNow[];
extern const u8 gText_OnlyPkmnForBattle[];
-extern const u8 gJPText_PutVar1IntoSpinner[];
+extern const u8 gJPText_AreYouSureYouWantToSpinTradeMon[];
extern const u8 gText_PauseUntilPress[];
extern const u8 gText_CantUseUntilNewBadge[];
extern const u8 gText_ReturnToHealingSpot[];
@@ -471,20 +487,20 @@ extern const u8 gText_EggCantBattle[];
extern const u8 gText_PkmnAlreadySelected[];
extern const u8 gText_PkmnAlreadyInBattle[];
extern const u8 gText_PkmnCantSwitchOut[];
-extern const u8 gUnknown_085EEA46[];
-extern const u8 gUnknown_085EEA4E[];
-extern const u8 gUnknown_085EEA55[];
-extern const u8 gUnknown_085EEA63[];
-extern const u8 gUnknown_085EEA6B[];
-extern const u8 gUnknown_085EEA5D[];
+extern const u8 gText_MaxHP[];
+extern const u8 gText_Attack[];
+extern const u8 gText_Defense[];
+extern const u8 gText_SpAtk[];
+extern const u8 gText_SpDef[];
+extern const u8 gText_Speed[];
extern const u8 gText_Dash[];
-extern const u8 gText_UnkCtrlF904[];
+extern const u8 gText_Plus[];
//pokedex text
extern const u8 gText_CryOf[];
extern const u8 gText_SizeComparedTo[];
extern const u8 gText_PokedexRegistration[];
-extern const u8 gText_UnkCtrlF908Clear01[];
+extern const u8 gText_NumberClear01[];
extern const u8 gText_5MarksPokemon[];
extern const u8 gText_UnkHeight[];
extern const u8 gText_UnkWeight[];
@@ -492,7 +508,7 @@ extern const u8 gText_HTHeight[];
extern const u8 gText_WTWeight[];
extern const u8 gText_SearchingPleaseWait[];
extern const u8 gText_SearchCompleted[];
-extern const u8 gUnknown_085E8785[];
+extern const u8 gText_NoMatchingPkmnWereFound[];
extern const u8 gText_SelectorArrow[];
// birch dex rating text
@@ -583,6 +599,8 @@ extern const u8 gText_BigGirl[];
extern const u8 gText_Son[];
extern const u8 gText_Daughter[];
+// Multichoice strings
+extern const u8 gText_Exit[];
extern const u8 gText_1F[];
extern const u8 gText_2F[];
extern const u8 gText_3F[];
@@ -601,8 +619,6 @@ extern const u8 gText_B4F[];
extern const u8 gText_Rooftop[];
extern const u8 gText_ElevatorNowOn[];
-extern const u8 gText_Exit[];
-
extern const u8 gText_BlueFlute[];
extern const u8 gText_YellowFlute[];
extern const u8 gText_RedFlute[];
@@ -610,7 +626,6 @@ extern const u8 gText_WhiteFlute[];
extern const u8 gText_BlackFlute[];
extern const u8 gText_PrettyChair[];
extern const u8 gText_PrettyDesk[];
-extern const u8 gText_Exit[];
extern const u8 gText_0Pts[];
extern const u8 gText_10Pts[];
@@ -635,14 +650,12 @@ extern const u8 gText_DittoDoll48BP[];
extern const u8 gText_CyndaquilDoll80BP[];
extern const u8 gText_ChikoritaDoll80BP[];
extern const u8 gText_TotodileDoll80BP[];
-extern const u8 gText_Exit[];
extern const u8 gText_LaprasDoll128BP[];
extern const u8 gText_SnorlaxDoll128BP[];
extern const u8 gText_VenusaurDoll256BP[];
extern const u8 gText_CharizardDoll256BP[];
extern const u8 gText_BlastoiseDoll256BP[];
-extern const u8 gText_Exit[];
extern const u8 gText_Protein1BP[];
extern const u8 gText_Calcium1BP[];
@@ -650,7 +663,6 @@ extern const u8 gText_Iron1BP[];
extern const u8 gText_Zinc1BP[];
extern const u8 gText_Carbos1BP[];
extern const u8 gText_HpUp1BP[];
-extern const u8 gText_Exit[];
extern const u8 gText_Leftovers48BP[];
extern const u8 gText_WhiteHerb48BP[];
@@ -661,7 +673,6 @@ extern const u8 gText_ChoiceBand64BP[];
extern const u8 gText_KingsRock64BP[];
extern const u8 gText_FocusBand64BP[];
extern const u8 gText_ScopeLens64BP[];
-extern const u8 gText_Exit[];
extern const u8 gText_EnergyPowder50[];
extern const u8 gText_EnergyRoot80[];
@@ -674,7 +685,6 @@ extern const u8 gText_Calcium1000[];
extern const u8 gText_Zinc1000[];
extern const u8 gText_HPUp1000[];
extern const u8 gText_PPUp3000[];
-extern const u8 gText_Exit[];
extern const u8 gText_BattleTower2[];
extern const u8 gText_BattleDome[];
@@ -685,8 +695,8 @@ extern const u8 gText_BattlePike[];
extern const u8 gText_BattlePyramid[];
extern const u8 gText_RankingHall[];
extern const u8 gText_ExchangeService[];
-extern const u8 gText_Exit[];
+// Battle Frontier Move Tutors
extern const u8 gText_Softboiled16BP[];
extern const u8 gText_SeismicToss24BP[];
extern const u8 gText_DreamEater24BP[];
@@ -697,8 +707,6 @@ extern const u8 gText_RockSlide48BP[];
extern const u8 gText_Counter48BP[];
extern const u8 gText_ThunderWave48BP[];
extern const u8 gText_SwordsDance48BP[];
-extern const u8 gText_Exit[];
-
extern const u8 gText_DefenseCurl16BP[];
extern const u8 gText_Snore24BP[];
extern const u8 gText_MudSlap24BP[];
@@ -709,7 +717,6 @@ extern const u8 gText_PsychUp48BP[];
extern const u8 gText_IcePunch48BP[];
extern const u8 gText_ThunderPunch48BP[];
extern const u8 gText_FirePunch48BP[];
-extern const u8 gText_Exit[];
extern const u8 gText_SlateportCity[];
extern const u8 gText_BattleFrontier[];
@@ -717,7 +724,6 @@ extern const u8 gText_SouthernIsland[];
extern const u8 gText_NavelRock[];
extern const u8 gText_BirthIsland[];
extern const u8 gText_FarawayIsland[];
-extern const u8 gText_Exit[];
extern const u8 gText_BattleTrainers[];
extern const u8 gText_BattleBasics[];
@@ -725,144 +731,136 @@ extern const u8 gText_PokemonNature[];
extern const u8 gText_PokemonMoves[];
extern const u8 gText_Underpowered[];
extern const u8 gText_WhenInDanger[];
-extern const u8 gText_Exit[];
-extern const u8 BattleFrontier_Lounge2_Text_260971[];
-extern const u8 BattleFrontier_Lounge2_Text_260A1E[];
-extern const u8 BattleFrontier_Lounge2_Text_260AE7[];
-extern const u8 BattleFrontier_Lounge2_Text_2619AC[];
-extern const u8 BattleFrontier_Lounge2_Text_261A91[];
-extern const u8 BattleFrontier_Lounge2_Text_261B0C[];
-extern const u8 BattleFrontier_Lounge2_Text_261B95[];
-extern const u8 BattleFrontier_Lounge2_Text_261B95[];
-extern const u8 BattleFrontier_Lounge2_Text_261B95[];
-extern const u8 BattleFrontier_Lounge2_Text_261C1A[];
-extern const u8 BattleFrontier_Lounge2_Text_261C1A[];
-extern const u8 BattleFrontier_Lounge2_Text_261C1A[];
-extern const u8 BattleFrontier_Lounge2_Text_260BC4[];
-extern const u8 BattleFrontier_Lounge2_Text_260C6D[];
-extern const u8 BattleFrontier_Lounge2_Text_260D3A[];
-extern const u8 BattleFrontier_Lounge2_Text_260E1E[];
-extern const u8 BattleFrontier_Lounge2_Text_260EC7[];
-extern const u8 BattleFrontier_Lounge2_Text_260F74[];
-extern const u8 BattleFrontier_Lounge2_Text_2614E6[];
-extern const u8 BattleFrontier_Lounge2_Text_261591[];
-extern const u8 BattleFrontier_Lounge2_Text_26166F[];
-extern const u8 BattleFrontier_Lounge2_Text_261282[];
-extern const u8 BattleFrontier_Lounge2_Text_261329[];
-extern const u8 BattleFrontier_Lounge2_Text_261403[];
-extern const u8 BattleFrontier_Lounge2_Text_261026[];
-extern const u8 BattleFrontier_Lounge2_Text_2610CC[];
-extern const u8 BattleFrontier_Lounge2_Text_261194[];
-extern const u8 BattleFrontier_Lounge2_Text_26174D[];
-extern const u8 BattleFrontier_Lounge2_Text_2617F9[];
-extern const u8 BattleFrontier_Lounge2_Text_2618C4[];
-
-extern const u8 BattleFrontier_Lounge5_Text_26468D[];
-extern const u8 BattleFrontier_Lounge5_Text_2646E5[];
-extern const u8 BattleFrontier_Lounge5_Text_264741[];
-extern const u8 BattleFrontier_Lounge5_Text_2647A4[];
-extern const u8 BattleFrontier_Lounge5_Text_2647FC[];
-extern const u8 BattleFrontier_Lounge5_Text_264858[];
-extern const u8 BattleFrontier_Lounge5_Text_2648BE[];
-extern const u8 BattleFrontier_Lounge5_Text_264916[];
-extern const u8 BattleFrontier_Lounge5_Text_264972[];
-extern const u8 BattleFrontier_Lounge5_Text_2649D5[];
-extern const u8 BattleFrontier_Lounge5_Text_264A3F[];
-extern const u8 BattleFrontier_Lounge5_Text_264A9B[];
-extern const u8 BattleFrontier_Lounge5_Text_264AF3[];
-extern const u8 BattleFrontier_Lounge5_Text_264B5D[];
-extern const u8 BattleFrontier_Lounge5_Text_2648BE[];
-extern const u8 BattleFrontier_Lounge5_Text_264BC3[];
-extern const u8 BattleFrontier_Lounge5_Text_264C36[];
-extern const u8 BattleFrontier_Lounge5_Text_2648BE[];
-extern const u8 BattleFrontier_Lounge5_Text_264C95[];
-extern const u8 BattleFrontier_Lounge5_Text_264D01[];
-extern const u8 BattleFrontier_Lounge5_Text_264D6B[];
-extern const u8 BattleFrontier_Lounge5_Text_264DD7[];
-extern const u8 BattleFrontier_Lounge5_Text_264E33[];
-extern const u8 BattleFrontier_Lounge5_Text_264E8F[];
-extern const u8 BattleFrontier_Lounge5_Text_2648BE[];
-
-extern const u8 BattleFrontier_Lounge3_Text_262261[];
-extern const u8 BattleFrontier_Lounge3_Text_26230D[];
-extern const u8 BattleFrontier_Lounge3_Text_2623B9[];
-extern const u8 BattleFrontier_Lounge3_Text_262464[];
-extern const u8 BattleFrontier_Lounge3_Text_26250E[];
-extern const u8 BattleFrontier_Lounge3_Text_2625B8[];
-extern const u8 BattleFrontier_Lounge3_Text_26266A[];
-extern const u8 BattleFrontier_Lounge3_Text_26271C[];
-extern const u8 BattleFrontier_Lounge3_Text_2627C9[];
-extern const u8 BattleFrontier_Lounge3_Text_262876[];
-extern const u8 BattleFrontier_Lounge3_Text_26291A[];
-extern const u8 BattleFrontier_Lounge3_Text_2629BC[];
-
-extern const u8 BattleFrontier_Lounge3_Text_262C04[];
-extern const u8 BattleFrontier_Lounge3_Text_262C90[];
-extern const u8 BattleFrontier_Lounge3_Text_262D1C[];
-extern const u8 BattleFrontier_Lounge3_Text_262DA7[];
-extern const u8 BattleFrontier_Lounge3_Text_262E34[];
-extern const u8 BattleFrontier_Lounge3_Text_262EC1[];
-extern const u8 BattleFrontier_Lounge3_Text_262F56[];
-extern const u8 BattleFrontier_Lounge3_Text_262FEB[];
-extern const u8 BattleFrontier_Lounge3_Text_263078[];
-extern const u8 BattleFrontier_Lounge3_Text_263105[];
-extern const u8 BattleFrontier_Lounge3_Text_26318C[];
-extern const u8 BattleFrontier_Lounge3_Text_263211[];
+// Battle Frontier Maniac
+extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenIsThere[];
+extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenSilverMons[];
+extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenGoldMons[];
+extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice1[];
+extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice2[];
+extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice3[];
+extern const u8 BattleFrontier_Lounge2_Text_MultiBattleAdvice[];
+extern const u8 BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice[];
+extern const u8 BattleFrontier_Lounge2_Text_DomeAceIsThere[];
+extern const u8 BattleFrontier_Lounge2_Text_DomeAceSilverMons[];
+extern const u8 BattleFrontier_Lounge2_Text_DomeAceGoldMons[];
+extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadIsThere[];
+extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadSilverMons[];
+extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadGoldMons[];
+extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenIsThere[];
+extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenSilverMons[];
+extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenGoldMons[];
+extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonIsThere[];
+extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons[];
+extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons[];
+extern const u8 BattleFrontier_Lounge2_Text_PikeQueenIsThere[];
+extern const u8 BattleFrontier_Lounge2_Text_PikeQueenSilverMons[];
+extern const u8 BattleFrontier_Lounge2_Text_PikeQueenGoldMons[];
+extern const u8 BattleFrontier_Lounge2_Text_PyramidKingIsThere[];
+extern const u8 BattleFrontier_Lounge2_Text_PyramidKingSilverMons[];
+extern const u8 BattleFrontier_Lounge2_Text_PyramidKingGoldMons[];
+
+// Battle Frontier Nature Girl
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlHardy[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlLonely[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlBrave[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlAdamant[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlNaughty[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlBold[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlRelaxed[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlImpish[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlLax[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlTimid[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlHasty[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlSerious[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlJolly[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlModest[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlMild[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlBashful[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlRash[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlCalm[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlGentle[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlSassy[];
+extern const u8 BattleFrontier_Lounge5_Text_NatureGirlCareful[];
+
+// Battle Frontier Gambler
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleArena[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePike[];
+extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePyramid[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerSingle[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerMulti[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeSingle[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactorySingle[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattleArena[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePike[];
+extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePyramid[];
extern const u8 gText_BP[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260201[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260287[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E[];
-
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C[];
-
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260397[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260436[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C[];
-
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260542[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260575[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2[];
-extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260613[];
-
-extern const u8 BattleFrontier_Lounge7_Text_265E30[];
-extern const u8 BattleFrontier_Lounge7_Text_265E5B[];
-extern const u8 BattleFrontier_Lounge7_Text_265E8A[];
-extern const u8 BattleFrontier_Lounge7_Text_265EC0[];
-extern const u8 BattleFrontier_Lounge7_Text_265EED[];
-extern const u8 BattleFrontier_Lounge7_Text_265F1C[];
-extern const u8 BattleFrontier_Lounge7_Text_265F47[];
-extern const u8 BattleFrontier_Lounge7_Text_265F77[];
-extern const u8 BattleFrontier_Lounge7_Text_265FAA[];
-extern const u8 BattleFrontier_Lounge7_Text_265FDD[];
-
-extern const u8 BattleFrontier_Lounge7_Text_26600A[];
-extern const u8 BattleFrontier_Lounge7_Text_26603E[];
-extern const u8 BattleFrontier_Lounge7_Text_266070[];
-extern const u8 BattleFrontier_Lounge7_Text_2660A6[];
-extern const u8 BattleFrontier_Lounge7_Text_2660D0[];
-extern const u8 BattleFrontier_Lounge7_Text_2660FF[];
-extern const u8 BattleFrontier_Lounge7_Text_26612D[];
-extern const u8 BattleFrontier_Lounge7_Text_26615F[];
-extern const u8 BattleFrontier_Lounge7_Text_266185[];
-extern const u8 BattleFrontier_Lounge7_Text_2661B5[];
+// Battle Frontier Exchange Corner
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissPosterDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_IronDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ZincDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc[];
+extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc[];
+
+// Battle Frontier Move Tutors
+extern const u8 BattleFrontier_Lounge7_Text_SoftboiledDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_SeismicTossDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_DreamEaterDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_MegaPunchDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_MegaKickDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_BodySlamDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_RockSlideDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_CounterDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_ThunderWaveDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_SwordsDanceDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_DefenseCurlDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_SnoreDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_MudSlapDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_SwiftDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_IcyWindDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_EndureDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_PsychUpDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_IcePunchDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_ThunderPunchDesc[];
+extern const u8 BattleFrontier_Lounge7_Text_FirePunchDesc[];
extern const u8 gText_YourPartnerHasRetired[];
@@ -938,7 +936,7 @@ extern const u8 gText_Accuracy2[];
extern const u8 gText_Appeal[];
extern const u8 gText_Jam[];
extern const u8 gText_OTSlash[];
-extern const u8 gText_UnkCtrlF907F908[];
+extern const u8 gText_IDNumber2[];
extern const u8 gText_XNature[];
extern const u8 gText_XNatureHatchedAtYZ[];
extern const u8 gText_XNatureHatchedSomewhereAt[];
@@ -1024,36 +1022,31 @@ extern const u8 gText_PokenavRibbons_RibbonListButtons[];
extern const u8 gText_PokenavRibbons_RibbonCheckButtons[];
extern const u8 gText_Number2[];
-extern const u8 gUnknown_085EAD37[];
-extern const u8 gUnknown_085EAD41[];
-extern const u8 gUnknown_085EAD67[];
-extern const u8 gUnknown_085EAD6D[];
-extern const u8 gUnknown_085EAD72[];
-extern const u8 gUnknown_085EAD84[];
-extern const u8 gUnknown_085EAD96[];
-extern const u8 gUnknown_085EADA4[];
-extern const u8 gUnknown_085EADB5[];
-extern const u8 gUnknown_085EADC4[];
-extern const u8 gUnknown_085EADD5[];
-extern const u8 gUnknown_085EADE7[];
-extern const u8 gUnknown_085EADF9[];
-extern const u8 gUnknown_085EAE04[];
-extern const u8 gUnknown_085EAE12[];
-extern const u8 gUnknown_085EAE1B[];
-extern const u8 gUnknown_085EAE27[];
-extern const u8 gUnknown_085EAE2C[];
-extern const u8 gUnknown_085EAE31[];
-extern const u8 gUnknown_085EAE35[];
-extern const u8 gUnknown_085EAE39[];
-extern const u8 gUnknown_085EAE3D[];
-extern const u8 gUnknown_085EAE41[];
-extern const u8 gUnknown_085EAD5F[];
-extern const u8 gUnknown_085EAE53[];
-extern const u8 gUnknown_085EAE5A[];
+extern const u8 gText_Petalburg[];
+extern const u8 gText_Slateport[];
+extern const u8 gText_Enter2[];
+extern const u8 gText_Info2[];
+extern const u8 gText_WhatsAContest[];
+extern const u8 gText_TypesOfContests[];
+extern const u8 gText_Ranks[];
+extern const u8 gText_Decoration2[];
+extern const u8 gText_PackUp[];
+extern const u8 gText_Registry[];
+extern const u8 gText_Information[];
+extern const u8 gText_Mach[];
+extern const u8 gText_Acro[];
+extern const u8 gText_Psn[];
+extern const u8 gText_Par[];
+extern const u8 gText_Slp[];
+extern const u8 gText_Brn[];
+extern const u8 gText_Frz[];
+extern const u8 gText_Dewford[];
+extern const u8 gText_SawIt[];
+extern const u8 gText_NotYet[];
extern const u8 gText_Yes[];
extern const u8 gText_No[];
-extern const u8 gUnknown_085EAEA2[];
-extern const u8 gUnknown_085EAEAC[];
+extern const u8 gText_Challenge[];
+extern const u8 gText_Info3[];
extern const u8 gTrickHouse_Mechadoll_Oddish[];
extern const u8 gTrickHouse_Mechadoll_Poochyena[];
extern const u8 gTrickHouse_Mechadoll_Taillow[];
@@ -1101,15 +1094,15 @@ extern const u8 gTrickHouse_Mechadoll_Seven2[];
extern const u8 gTrickHouse_Mechadoll_Eight2[];
// Pokedex strings
-extern const u8 gUnknown_085E87A5[];
-extern const u8 gUnknown_085E87D6[];
-extern const u8 gUnknown_085E87EF[];
-extern const u8 gUnknown_085E8806[];
-extern const u8 gUnknown_085E881F[];
-extern const u8 gUnknown_085E8840[];
-extern const u8 gUnknown_085E887C[];
-extern const u8 gUnknown_085E88A6[];
-extern const u8 gUnknown_085E88C8[];
+extern const u8 gText_SearchForPkmnBasedOnParameters[];
+extern const u8 gText_SwitchPokedexListings[];
+extern const u8 gText_ReturnToPokedex[];
+extern const u8 gText_SelectPokedexMode[];
+extern const u8 gText_SelectPokedexListingMode[];
+extern const u8 gText_ListByFirstLetter[];
+extern const u8 gText_ListByBodyColor[];
+extern const u8 gText_ListByType[];
+extern const u8 gText_ExecuteSearchSwitch[];
extern const u8 gText_DexHoennTitle[];
extern const u8 gText_DexNatTitle[];
extern const u8 gText_DexSortNumericalTitle[];
@@ -1149,65 +1142,64 @@ extern const u8 gText_DexEmptyString[];
extern const u8 gText_DexSearchDontSpecify[];
extern const u8 gText_DexSearchTypeNone[];
-extern const u8 gUnknown_085EAEC3[];
-extern const u8 gUnknown_085EAED6[];
-extern const u8 gUnknown_085EAEE6[];
-extern const u8 gUnknown_085EAEF6[];
-extern const u8 gUnknown_085EAF02[];
-extern const u8 gUnknown_085EAF0E[];
-extern const u8 gUnknown_085EAF1B[];
-extern const u8 gUnknown_085EAF24[];
-extern const u8 gUnknown_085EAF2F[];
-extern const u8 gUnknown_085EAF34[];
-extern const u8 gUnknown_085EAF3E[];
-extern const u8 gUnknown_085EAF4B[];
-extern const u8 gUnknown_085EAF58[];
-extern const u8 gUnknown_085EAF65[];
-extern const u8 gUnknown_085EAF70[];
-extern const u8 gUnknown_085EAF7D[];
-extern const u8 gUnknown_085EAF87[];
-extern const u8 gUnknown_085EAF93[];
-extern const u8 gUnknown_085EAF9F[];
-extern const u8 gUnknown_085EAFAB[];
-extern const u8 gUnknown_085EAFB6[];
-extern const u8 gUnknown_085EAFCF[];
-extern const u8 gUnknown_085EAFE8[];
-extern const u8 gUnknown_085EB089[];
-extern const u8 gUnknown_085EB09C[];
-extern const u8 gUnknown_085EB0AF[];
-extern const u8 gUnknown_085EB0C2[];
-extern const u8 gUnknown_085EB0D5[];
-extern const u8 gUnknown_085EB002[];
-extern const u8 gUnknown_085EB017[];
-extern const u8 gUnknown_085EB02A[];
-extern const u8 gUnknown_085EB034[];
+extern const u8 gText_FreshWaterAndPrice[];
+extern const u8 gText_SodaPopAndPrice[];
+extern const u8 gText_LemonadeAndPrice[];
+extern const u8 gText_HowToRide[];
+extern const u8 gText_HowToTurn[];
+extern const u8 gText_SandySlopes[];
+extern const u8 gText_Wheelies[];
+extern const u8 gText_BunnyHops[];
+extern const u8 gText_Jump[];
+extern const u8 gText_Satisfied[];
+extern const u8 gText_Dissatisfied[];
+extern const u8 gText_DeepSeaTooth[];
+extern const u8 gText_DeepSeaScale[];
+extern const u8 gText_BlueFlute2[];
+extern const u8 gText_YellowFlute2[];
+extern const u8 gText_RedFlute2[];
+extern const u8 gText_WhiteFlute2[];
+extern const u8 gText_BlackFlute2[];
+extern const u8 gText_GlassChair[];
+extern const u8 gText_GlassDesk[];
+extern const u8 gText_TreeckoDollAndPrice[];
+extern const u8 gText_TorchicDollAndPrice[];
+extern const u8 gText_MudkipDollAndPrice[];
+extern const u8 gText_TM32AndPrice[];
+extern const u8 gText_TM29AndPrice[];
+extern const u8 gText_TM35AndPrice[];
+extern const u8 gText_TM24AndPrice[];
+extern const u8 gText_TM13AndPrice[];
+extern const u8 gText_50CoinsAndPrice[];
+extern const u8 gText_500CoinsAndPrice[];
+extern const u8 gText_Excellent2[];
+extern const u8 gText_NotSoGood[];
extern const u8 gText_LilycoveCity[];
-extern const u8 gUnknown_085EB07E[];
-extern const u8 gUnknown_085EB084[];
-extern const u8 gUnknown_085EB040[];
-extern const u8 gUnknown_085EB04A[];
-extern const u8 gUnknown_085EB057[];
-extern const u8 gUnknown_085EB062[];
+extern const u8 gText_Right[];
+extern const u8 gText_Left[];
+extern const u8 gText_RedShard[];
+extern const u8 gText_YellowShard[];
+extern const u8 gText_BlueShard[];
+extern const u8 gText_GreenShard[];
extern const u8 gText_Opponent[];
extern const u8 gText_Tourney_Tree[];
extern const u8 gText_ReadyToStart[];
-extern const u8 gUnknown_085EB5BC[];
-extern const u8 gUnknown_085EB5C3[];
-extern const u8 gUnknown_085EB5C8[];
-extern const u8 gUnknown_085EB29A[];
-extern const u8 gUnknown_085EB2A3[];
-extern const u8 gUnknown_085EB372[];
-extern const u8 gUnknown_085EB37F[];
-extern const u8 gUnknown_085EB389[];
-extern const u8 gUnknown_085EAE6E[];
-extern const u8 gUnknown_085EAE7C[];
-extern const u8 gUnknown_085EAE8A[];
-extern const u8 gUnknown_085EAD6D[];
-extern const u8 gUnknown_085EB397[];
-extern const u8 gUnknown_085EB3A4[];
-extern const u8 gUnknown_085EB3B1[];
-extern const u8 gUnknown_085EB3D4[];
-extern const u8 gUnknown_085EB3C6[];
+extern const u8 gText_Record2[];
+extern const u8 gText_Rest[];
+extern const u8 gText_Retire[];
+extern const u8 gText_RedTent[];
+extern const u8 gText_BlueTent[];
+extern const u8 gText_TradeCenter[];
+extern const u8 gText_Colosseum[];
+extern const u8 gText_RecordCorner[];
+extern const u8 gText_SingleBattle[];
+extern const u8 gText_DoubleBattle[];
+extern const u8 gText_MultiBattle[];
+extern const u8 gText_BerryCrush3[];
+extern const u8 gText_PokemonJump[];
+extern const u8 gText_DodrioBerryPicking[];
+extern const u8 gText_JoinGroup[];
+extern const u8 gText_BecomeLeader[];
extern const u8 gText_NormalRank[];
extern const u8 gText_SuperRank[];
extern const u8 gText_HyperRank[];
@@ -1219,56 +1211,56 @@ extern const u8 gText_AboutE_Mode[];
extern const u8 gText_AboutG_Mode[];
extern const u8 gText_E_Mode[];
extern const u8 gText_G_Mode[];
-extern const u8 gUnknown_085EB278[];
-extern const u8 gUnknown_085EB28A[];
-extern const u8 gUnknown_085EB290[];
-extern const u8 gUnknown_085EB295[];
-extern const u8 gUnknown_085EB2E4[];
-extern const u8 gUnknown_085EB2F0[];
-extern const u8 gUnknown_085EB2FC[];
-extern const u8 gUnknown_085EB3DF[];
-extern const u8 gUnknown_085EB3EA[];
-extern const u8 gUnknown_085EB3F1[];
-extern const u8 gUnknown_085EB3FC[];
-extern const u8 gUnknown_085EB40A[];
-extern const u8 gUnknown_085EB415[];
-extern const u8 gUnknown_085EB41D[];
-extern const u8 gUnknown_085EB424[];
-extern const u8 gUnknown_085EB45C[];
-extern const u8 gUnknown_085EB469[];
-extern const u8 gUnknown_085EB475[];
-extern const u8 gUnknown_085EB482[];
-extern const u8 gUnknown_085EB42F[];
-extern const u8 gUnknown_085EB43A[];
-extern const u8 gUnknown_085EB444[];
-extern const u8 gUnknown_085EB451[];
-extern const u8 gUnknown_085EB48E[];
-extern const u8 gUnknown_085EB496[];
-extern const u8 gUnknown_085EB4A3[];
-extern const u8 gUnknown_085EB4AD[];
-extern const u8 gUnknown_085EB4B9[];
-extern const u8 gUnknown_085EB4C7[];
-extern const u8 gUnknown_085EB4D4[];
-extern const u8 gUnknown_085EB4E0[];
-extern const u8 gUnknown_085EB532[];
-extern const u8 gUnknown_085EB543[];
-extern const u8 gUnknown_085EB555[];
-extern const u8 gUnknown_085EB563[];
-extern const u8 gUnknown_085EB56E[];
-extern const u8 gUnknown_085EB57E[];
-extern const u8 gUnknown_085EB589[];
-extern const u8 gUnknown_085EB5B6[];
-extern const u8 gUnknown_085EE14B[];
-extern const u8 gUnknown_085EE14F[];
-extern const u8 gUnknown_085EB2FF[];
-extern const u8 gUnknown_085EB310[];
-extern const u8 gUnknown_085EB317[];
-extern const u8 gUnknown_085EB31F[];
+extern const u8 gText_Blank[];
+extern const u8 gText_5BP[];
+extern const u8 gText_10BP[];
+extern const u8 gText_15BP[];
+extern const u8 gText_ClawFossil[];
+extern const u8 gText_RootFossil[];
+extern const u8 gText_No4[];
+extern const u8 gText_TwoStyles[];
+extern const u8 gText_Lv50_3[];
+extern const u8 gText_OpenLevel2[];
+extern const u8 gText_MonTypeAndNo[];
+extern const u8 gText_HoldItems[];
+extern const u8 gText_Symbols2[];
+extern const u8 gText_Record3[];
+extern const u8 gText_BattlePts[];
+extern const u8 gText_BattleRules[];
+extern const u8 gText_JudgeMind[];
+extern const u8 gText_JudgeSkill[];
+extern const u8 gText_JudgeBody[];
+extern const u8 gText_TowerInfo[];
+extern const u8 gText_BattleMon[];
+extern const u8 gText_BattleSalon[];
+extern const u8 gText_MultiLink2[];
+extern const u8 gText_Matchup[];
+extern const u8 gText_TourneyTree[];
+extern const u8 gText_DoubleKO[];
+extern const u8 gText_BasicRules[];
+extern const u8 gText_SwapPartners[];
+extern const u8 gText_SwapNumber[];
+extern const u8 gText_SwapNotes[];
+extern const u8 gText_OpenLevel3[];
+extern const u8 gText_PyramidPokemon[];
+extern const u8 gText_PyramidTrainers[];
+extern const u8 gText_PyramidMaze[];
+extern const u8 gText_BattleBag2[];
+extern const u8 gText_PokenavAndBag[];
+extern const u8 gText_HeldItems[];
+extern const u8 gText_PokemonOrder[];
+extern const u8 gText_GoOn[];
+extern const u8 gText_Red[];
+extern const u8 gText_Blue[];
+extern const u8 gText_IllBattleNow[];
+extern const u8 gText_IWon[];
+extern const u8 gText_ILost[];
+extern const u8 gText_IWontTell[];
extern const u8 gText_CaveOfOrigin[];
extern const u8 gText_MtPyre[];
extern const u8 gText_SkyPillar[];
extern const u8 gText_DontRemember[];
-extern const u8 gUnknown_085EB597[];
+extern const u8 gText_BattlePokemon[];
extern const u8 gText_NormalTagMatch[];
extern const u8 gText_VarietyTagMatch[];
extern const u8 gText_UniqueTagMatch[];
@@ -1281,29 +1273,15 @@ extern const u8 gText_TrainerHill2F[];
extern const u8 gText_TrainerHill3F[];
extern const u8 gText_TrainerHill4F[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_277F96[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
-extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+// Cable Club multichoice text
+extern const u8 CableClub_Text_TradeUsingLinkCable[];
+extern const u8 CableClub_Text_BattleUsingLinkCable[];
+extern const u8 CableClub_Text_RecordCornerUsingLinkCable[];
+extern const u8 CableClub_Text_CancelSelectedItem[];
+extern const u8 CableClub_Text_YouMayTradeHere[];
+extern const u8 CableClub_Text_YouMayBattleHere[];
+extern const u8 CableClub_Text_CanMixRecords[];
+extern const u8 CableClub_Text_CanMakeBerryPowder[];
// Frontier records.
extern const u8 gText_WinStreak[];
@@ -1342,7 +1320,7 @@ extern const u8 gText_1st[];
extern const u8 gText_SpaceAndSpace[];
extern const u8 gText_CommaSpace[];
extern const u8 gText_NewLine[];
-extern const u8 gText_ScrollTextUp[];
+extern const u8 gText_LineBreak[];
extern const u8 gText_Space[];
extern const u8 gText_Space2[];
extern const u8 gText_Are[];
@@ -1350,11 +1328,11 @@ extern const u8 gText_Are2[];
extern const u8 gText_123Dot[][3];
// Frontier util.
-extern const u8 gUnknown_085ED164[];
-extern const u8 gUnknown_085ED170[];
-extern const u8 gUnknown_085ED17C[];
-extern const u8 gUnknown_085ED188[];
-extern const u8 gUnknown_085ED190[];
+extern const u8 gText_FacilitySingle[];
+extern const u8 gText_FacilityDouble[];
+extern const u8 gText_FacilityMulti[];
+extern const u8 gText_FacilityLink[];
+extern const u8 gText_Facility[];
extern const u8 gText_RecordsLv50[];
extern const u8 gText_RecordsOpenLevel[];
@@ -1364,612 +1342,611 @@ extern const u8 gText_FrontierFacilityRoomsCleared[];
extern const u8 gText_FrontierFacilityKOsStreak[];
extern const u8 gText_FrontierFacilityFloorsCleared[];
-extern const u8 gText_082C843F[];
-extern const u8 gText_082C848B[];
-extern const u8 gText_082C8628[];
-extern const u8 gText_082C85B4[];
-extern const u8 gText_082C8512[];
-extern const u8 gText_082C859D[];
-extern const u8 gText_082C86C3[];
-extern const u8 gText_082C8458[];
-extern const u8 gText_082C84C1[];
-extern const u8 gText_082C8662[];
-extern const u8 gText_082C85E3[];
-extern const u8 gText_082C853B[];
-extern const u8 gText_082C85A4[];
-extern const u8 gText_082C86FE[];
-extern const u8 gText_082C846C[];
-extern const u8 gText_082C84D0[];
-extern const u8 gText_082C8682[];
-extern const u8 gText_082C85F5[];
-extern const u8 gText_082C8561[];
-extern const u8 gText_082C85A9[];
-extern const u8 gText_082C8739[];
-extern const u8 gText_082C8480[];
-extern const u8 gText_082C84F7[];
-extern const u8 gText_082C86B3[];
-extern const u8 gText_082C8611[];
-extern const u8 gText_082C8589[];
-extern const u8 gText_082C85AE[];
-extern const u8 gText_082C877B[];
+// Frontier Brain
+extern const u8 gText_AnabelWonSilver[];
+extern const u8 gText_TuckerWonSilver[];
+extern const u8 gText_SpenserWonSilver[];
+extern const u8 gText_GretaWonSilver[];
+extern const u8 gText_NolandWonSilver[];
+extern const u8 gText_LucyWonSilver[];
+extern const u8 gText_BrandonWonSilver[];
+extern const u8 gText_AnabelDefeatSilver[];
+extern const u8 gText_TuckerDefeatSilver[];
+extern const u8 gText_SpenserDefeatSilver[];
+extern const u8 gText_GretaDefeatSilver[];
+extern const u8 gText_NolandDefeatSilver[];
+extern const u8 gText_LucyDefeatSilver[];
+extern const u8 gText_BrandonDefeatSilver[];
+extern const u8 gText_AnabelWonGold[];
+extern const u8 gText_TuckerWonGold[];
+extern const u8 gText_SpenserWonGold[];
+extern const u8 gText_GretaWonGold[];
+extern const u8 gText_NolandWonGold[];
+extern const u8 gText_LucyWonGold[];
+extern const u8 gText_BrandonWonGold[];
+extern const u8 gText_AnabelDefeatGold[];
+extern const u8 gText_TuckerDefeatGold[];
+extern const u8 gText_SpenserDefeatGold[];
+extern const u8 gText_GretaDefeatGold[];
+extern const u8 gText_NolandDefeatGold[];
+extern const u8 gText_LucyDefeatGold[];
+extern const u8 gText_BrandonDefeatGold[];
// Battle Tower.
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248297[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247749[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246864[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248661[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246662[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248321[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244549[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246244[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244383[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247268[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244643[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247348[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244989[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248467[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248553[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246741[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245656[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248725[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244939[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247291[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248614[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248031[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245464[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247313[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247470[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246529[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247238[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247655[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245535[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247991[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246605[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246020[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246449[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246831[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247854[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246051[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248401[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248671[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247484[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247629[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244413[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248369[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248892[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247889[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248781[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246791[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246571[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248431[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247807[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246002[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247838[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248151[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247942[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248751[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247724[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248908[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244618[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245406[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248517[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245087[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248221[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245196[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245740[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248128[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247013[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248477[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245923[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248829[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245013[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246686[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247438[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246082[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245851[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246760[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246478[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF[];
-extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice2Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice3Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice4Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice5Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice6Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice7Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice8Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice9Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice10Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice11Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice12Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice13Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice14Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice15Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Intro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Mon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Accept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice16Reject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LassReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_YoungsterReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HikerReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BeautyReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_FishermanReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_LadyReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugCatcherReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RichBoyReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BlackBeltReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_HexManiacReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RunningTriathleteMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BattleGirlReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CyclingTriathleteMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_TuberMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GuitaristReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_GentlemanReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ExpertFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_DragonTamerReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BirdKeeperReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_NinjaBoyReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_ParasolLadyReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_BugManiacReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SailorReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CollectorReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnRangerFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_AromaLadyReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_RuinManiacReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CoolTrainerFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokemaniacReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_KindlerReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_CamperReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PicnickerReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PsychicFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SchoolKidFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PkmnBreederFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_PokefanFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteMReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmingTriathleteFReject[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMIntro[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon1[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMMon2Ask[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMAccept[];
+extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_SwimmerMReject[];
// Battle Dome.
-extern const u8 gBattleDomeOpponentPotentialText1[];
-extern const u8 gBattleDomeOpponentPotentialText2[];
-extern const u8 gBattleDomeOpponentPotentialText3[];
-extern const u8 gBattleDomeOpponentPotentialText4[];
-extern const u8 gBattleDomeOpponentPotentialText5[];
-extern const u8 gBattleDomeOpponentPotentialText6[];
-extern const u8 gBattleDomeOpponentPotentialText7[];
-extern const u8 gBattleDomeOpponentPotentialText8[];
-extern const u8 gBattleDomeOpponentPotentialText9[];
-extern const u8 gBattleDomeOpponentPotentialText10[];
-extern const u8 gBattleDomeOpponentPotentialText11[];
-extern const u8 gBattleDomeOpponentPotentialText12[];
-extern const u8 gBattleDomeOpponentPotentialText13[];
-extern const u8 gBattleDomeOpponentPotentialText14[];
-extern const u8 gBattleDomeOpponentPotentialText15[];
-extern const u8 gBattleDomeOpponentPotentialText16[];
-extern const u8 gBattleDomeOpponentPotentialText17[];
-extern const u8 gBattleDomeOpponentStyleText1[];
-extern const u8 gBattleDomeOpponentStyleText2[];
-extern const u8 gBattleDomeOpponentStyleText3[];
-extern const u8 gBattleDomeOpponentStyleText4[];
-extern const u8 gBattleDomeOpponentStyleText5[];
-extern const u8 gBattleDomeOpponentStyleText6[];
-extern const u8 gBattleDomeOpponentStyleText7[];
-extern const u8 gBattleDomeOpponentStyleText8[];
-extern const u8 gBattleDomeOpponentStyleText9[];
-extern const u8 gBattleDomeOpponentStyleText10[];
-extern const u8 gBattleDomeOpponentStyleText11[];
-extern const u8 gBattleDomeOpponentStyleText12[];
-extern const u8 gBattleDomeOpponentStyleText13[];
-extern const u8 gBattleDomeOpponentStyleText14[];
-extern const u8 gBattleDomeOpponentStyleText15[];
-extern const u8 gBattleDomeOpponentStyleText16[];
-extern const u8 gBattleDomeOpponentStyleText17[];
-extern const u8 gBattleDomeOpponentStyleText18[];
-extern const u8 gBattleDomeOpponentStyleText19[];
-extern const u8 gBattleDomeOpponentStyleText20[];
-extern const u8 gBattleDomeOpponentStyleText21[];
-extern const u8 gBattleDomeOpponentStyleText22[];
-extern const u8 gBattleDomeOpponentStyleText23[];
-extern const u8 gBattleDomeOpponentStyleText24[];
-extern const u8 gBattleDomeOpponentStyleText25[];
-extern const u8 gBattleDomeOpponentStyleText26[];
-extern const u8 gBattleDomeOpponentStyleText27[];
-extern const u8 gBattleDomeOpponentStyleText28[];
-extern const u8 gBattleDomeOpponentStyleTextUnused1[];
-extern const u8 gBattleDomeOpponentStyleTextUnused2[];
-extern const u8 gBattleDomeOpponentStyleTextUnused3[];
-extern const u8 gBattleDomeOpponentStyleTextUnused4[];
-extern const u8 gBattleDomeOpponentStatsText1[];
-extern const u8 gBattleDomeOpponentStatsText2[];
-extern const u8 gBattleDomeOpponentStatsText3[];
-extern const u8 gBattleDomeOpponentStatsText4[];
-extern const u8 gBattleDomeOpponentStatsText5[];
-extern const u8 gBattleDomeOpponentStatsText6[];
-extern const u8 gBattleDomeOpponentStatsText7[];
-extern const u8 gBattleDomeOpponentStatsText8[];
-extern const u8 gBattleDomeOpponentStatsText9[];
-extern const u8 gBattleDomeOpponentStatsText10[];
-extern const u8 gBattleDomeOpponentStatsText11[];
-extern const u8 gBattleDomeOpponentStatsText12[];
-extern const u8 gBattleDomeOpponentStatsText13[];
-extern const u8 gBattleDomeOpponentStatsText14[];
-extern const u8 gBattleDomeOpponentStatsText15[];
-extern const u8 gBattleDomeOpponentStatsText16[];
-extern const u8 gBattleDomeOpponentStatsText17[];
-extern const u8 gBattleDomeOpponentStatsText18[];
-extern const u8 gBattleDomeOpponentStatsText19[];
-extern const u8 gBattleDomeOpponentStatsText20[];
-extern const u8 gBattleDomeOpponentStatsText21[];
-extern const u8 gBattleDomeOpponentStatsText22[];
-extern const u8 gBattleDomeOpponentStatsText23[];
-extern const u8 gBattleDomeOpponentStatsText24[];
-extern const u8 gBattleDomeOpponentStatsText25[];
-extern const u8 gBattleDomeOpponentStatsText26[];
-extern const u8 gBattleDomeOpponentStatsText27[];
-extern const u8 gBattleDomeOpponentStatsText28[];
-extern const u8 gBattleDomeOpponentStatsText29[];
-extern const u8 gBattleDomeOpponentStatsText30[];
-extern const u8 gBattleDomeOpponentStatsText31[];
-extern const u8 gBattleDomeOpponentStatsText32[];
-extern const u8 gBattleDomeOpponentStatsText33[];
-extern const u8 gBattleDomeOpponentStatsText34[];
-extern const u8 gBattleDomeOpponentStatsText35[];
-extern const u8 gBattleDomeOpponentStatsText36[];
-extern const u8 gBattleDomeOpponentStatsText37[];
-extern const u8 gBattleDomeOpponentStatsText38[];
-extern const u8 gBattleDomeOpponentStatsText39[];
-extern const u8 gBattleDomeOpponentStatsText40[];
-extern const u8 gBattleDomeOpponentStatsText41[];
-extern const u8 gBattleDomeOpponentStatsText42[];
-extern const u8 gBattleDomeOpponentStatsText43[];
-extern const u8 gBattleDomeMatchNumberText1[];
-extern const u8 gBattleDomeMatchNumberText2[];
-extern const u8 gBattleDomeMatchNumberText3[];
-extern const u8 gBattleDomeMatchNumberText4[];
-extern const u8 gBattleDomeMatchNumberText5[];
-extern const u8 gBattleDomeMatchNumberText6[];
-extern const u8 gBattleDomeMatchNumberText7[];
-extern const u8 gBattleDomeMatchNumberText8[];
-extern const u8 gBattleDomeMatchNumberText9[];
-extern const u8 gBattleDomeMatchNumberText10[];
-extern const u8 gBattleDomeMatchNumberText11[];
-extern const u8 gBattleDomeMatchNumberText12[];
-extern const u8 gBattleDomeMatchNumberText13[];
-extern const u8 gBattleDomeMatchNumberText14[];
-extern const u8 gBattleDomeMatchNumberText15[];
-extern const u8 gBattleDomeWinText1[];
-extern const u8 gBattleDomeWinText2[];
-extern const u8 gBattleDomeWinText3[];
-extern const u8 gBattleDomeWinText4[];
-extern const u8 gBattleDomeWinText5[];
-extern const u8 gBattleDomeWinText6[];
-extern const u8 gBattleDomeWinText7[];
+extern const u8 BattleDome_Text_Potential1[];
+extern const u8 BattleDome_Text_Potential2[];
+extern const u8 BattleDome_Text_Potential3[];
+extern const u8 BattleDome_Text_Potential4[];
+extern const u8 BattleDome_Text_Potential5[];
+extern const u8 BattleDome_Text_Potential6[];
+extern const u8 BattleDome_Text_Potential7[];
+extern const u8 BattleDome_Text_Potential8[];
+extern const u8 BattleDome_Text_Potential9[];
+extern const u8 BattleDome_Text_Potential10[];
+extern const u8 BattleDome_Text_Potential11[];
+extern const u8 BattleDome_Text_Potential12[];
+extern const u8 BattleDome_Text_Potential13[];
+extern const u8 BattleDome_Text_Potential14[];
+extern const u8 BattleDome_Text_Potential15[];
+extern const u8 BattleDome_Text_Potential16[];
+extern const u8 BattleDome_Text_PotentialDomeAceTucker[];
+extern const u8 BattleDome_Text_StyleRiskDisaster[];
+extern const u8 BattleDome_Text_StyleEndureLongBattles[];
+extern const u8 BattleDome_Text_StyleVariesTactics[];
+extern const u8 BattleDome_Text_StyleToughWinningPattern[];
+extern const u8 BattleDome_Text_StyleUsesVeryRareMove[];
+extern const u8 BattleDome_Text_StyleUsesStartlingMoves[];
+extern const u8 BattleDome_Text_StyleConstantlyWatchesHP[];
+extern const u8 BattleDome_Text_StyleStoresAndLoosesPower[];
+extern const u8 BattleDome_Text_StyleEnfeeblesFoes[];
+extern const u8 BattleDome_Text_StylePrefersLuckTactics[];
+extern const u8 BattleDome_Text_StyleRegalAtmosphere[];
+extern const u8 BattleDome_Text_StylePowerfulLowPPMoves[];
+extern const u8 BattleDome_Text_StyleEnfeebleThenAttack[];
+extern const u8 BattleDome_Text_StyleBattlesWhileEnduring[];
+extern const u8 BattleDome_Text_StyleUpsetsFoesEmotionally[];
+extern const u8 BattleDome_Text_StyleStrongAndStraightforward[];
+extern const u8 BattleDome_Text_StyleAggressivelyStrongMoves[];
+extern const u8 BattleDome_Text_StyleCleverlyDodgesAttacks[];
+extern const u8 BattleDome_Text_StyleUsesUpsettingMoves[];
+extern const u8 BattleDome_Text_StyleUsesPopularMoves[];
+extern const u8 BattleDome_Text_StyleHasPowerfulComboMoves[];
+extern const u8 BattleDome_Text_StyleUsesHighProbabilityMoves[];
+extern const u8 BattleDome_Text_StyleAggressivelySpectacularMoves[];
+extern const u8 BattleDome_Text_StyleEmphasizesOffenseOverDefense[];
+extern const u8 BattleDome_Text_StyleEmphasizesDefenseOverOffense[];
+extern const u8 BattleDome_Text_StyleAttacksQuicklyStrongMoves[];
+extern const u8 BattleDome_Text_StyleUsesAddedEffectMoves[];
+extern const u8 BattleDome_Text_StyleUsesBalancedMixOfMoves[];
+extern const u8 BattleDome_Text_StyleSampleMessage1[];
+extern const u8 BattleDome_Text_StyleSampleMessage2[];
+extern const u8 BattleDome_Text_StyleSampleMessage3[];
+extern const u8 BattleDome_Text_StyleSampleMessage4[];
+extern const u8 BattleDome_Text_EmphasizesHPAndAtk[];
+extern const u8 BattleDome_Text_EmphasizesHPAndDef[];
+extern const u8 BattleDome_Text_EmphasizesHPAndSpeed[];
+extern const u8 BattleDome_Text_EmphasizesHPAndSpAtk[];
+extern const u8 BattleDome_Text_EmphasizesHPAndSpDef[];
+extern const u8 BattleDome_Text_EmphasizesAtkAndDef[];
+extern const u8 BattleDome_Text_EmphasizesAtkAndSpeed[];
+extern const u8 BattleDome_Text_EmphasizesAtkAndSpAtk[];
+extern const u8 BattleDome_Text_EmphasizesAtkAndSpDef[];
+extern const u8 BattleDome_Text_EmphasizesDefAndSpeed[];
+extern const u8 BattleDome_Text_EmphasizesDefAndSpAtk[];
+extern const u8 BattleDome_Text_EmphasizesDefAndSpDef[];
+extern const u8 BattleDome_Text_EmphasizesSpeedAndSpAtk[];
+extern const u8 BattleDome_Text_EmphasizesSpeedAndSpDef[];
+extern const u8 BattleDome_Text_EmphasizesSpAtkAndSpDef[];
+extern const u8 BattleDome_Text_EmphasizesHP[];
+extern const u8 BattleDome_Text_EmphasizesAtk[];
+extern const u8 BattleDome_Text_EmphasizesDef[];
+extern const u8 BattleDome_Text_EmphasizesSpeed[];
+extern const u8 BattleDome_Text_EmphasizesSpAtk[];
+extern const u8 BattleDome_Text_EmphasizesSpDef[];
+extern const u8 BattleDome_Text_NeglectsHPAndAtk[];
+extern const u8 BattleDome_Text_NeglectsHPAndDef[];
+extern const u8 BattleDome_Text_NeglectsHPAndSpeed[];
+extern const u8 BattleDome_Text_NeglectsHPAndSpAtk[];
+extern const u8 BattleDome_Text_NeglectsHPAndSpDef[];
+extern const u8 BattleDome_Text_NeglectsAtkAndDef[];
+extern const u8 BattleDome_Text_NeglectsAtkAndSpeed[];
+extern const u8 BattleDome_Text_NeglectsAtkAndSpAtk[];
+extern const u8 BattleDome_Text_NeglectsAtkAndSpDef[];
+extern const u8 BattleDome_Text_NeglectsDefAndSpeed[];
+extern const u8 BattleDome_Text_NeglectsDefAndSpAtk[];
+extern const u8 BattleDome_Text_NeglectsDefAndSpDef[];
+extern const u8 BattleDome_Text_NeglectsSpeedAndSpAtk[];
+extern const u8 BattleDome_Text_NeglectsSpeedAndSpDef[];
+extern const u8 BattleDome_Text_NeglectsSpAtkAndSpDef[];
+extern const u8 BattleDome_Text_NeglectsHP[];
+extern const u8 BattleDome_Text_NeglectsAtk[];
+extern const u8 BattleDome_Text_NeglectsDef[];
+extern const u8 BattleDome_Text_NeglectsSpeed[];
+extern const u8 BattleDome_Text_NeglectsSpAtk[];
+extern const u8 BattleDome_Text_NeglectsSpDef[];
+extern const u8 BattleDome_Text_RaisesMonsWellBalanced[];
+extern const u8 BattleDome_Text_Round1Match1[];
+extern const u8 BattleDome_Text_Round1Match2[];
+extern const u8 BattleDome_Text_Round1Match3[];
+extern const u8 BattleDome_Text_Round1Match4[];
+extern const u8 BattleDome_Text_Round1Match5[];
+extern const u8 BattleDome_Text_Round1Match6[];
+extern const u8 BattleDome_Text_Round1Match7[];
+extern const u8 BattleDome_Text_Round1Match8[];
+extern const u8 BattleDome_Text_Round2Match1[];
+extern const u8 BattleDome_Text_Round2Match2[];
+extern const u8 BattleDome_Text_Round2Match3[];
+extern const u8 BattleDome_Text_Round2Match4[];
+extern const u8 BattleDome_Text_SemifinalMatch1[];
+extern const u8 BattleDome_Text_SemifinalMatch2[];
+extern const u8 BattleDome_Text_FinalMatch[];
+extern const u8 BattleDome_Text_LetTheBattleBegin[];
+extern const u8 BattleDome_Text_TrainerWonUsingMove[];
+extern const u8 BattleDome_Text_TrainerBecameChamp[];
+extern const u8 BattleDome_Text_TrainerWonByDefault[];
+extern const u8 BattleDome_Text_TrainerWonOutrightByDefault[];
+extern const u8 BattleDome_Text_TrainerWonNoMoves[];
+extern const u8 BattleDome_Text_TrainerWonOutrightNoMoves[];
// Battle Pyramid.
-extern const u8 BattlePyramid_ExitHintUp_Text1[];
-extern const u8 BattlePyramid_ExitHintLeft_Text1[];
-extern const u8 BattlePyramid_ExitHintRight_Text1[];
-extern const u8 BattlePyramid_ExitHintDown_Text1[];
-extern const u8 BattlePyramid_ZeroItemsRemaining_Text1[];
-extern const u8 BattlePyramid_OneItemRemaining_Text1[];
-extern const u8 BattlePyramid_TwoItemsRemaining_Text1[];
-extern const u8 BattlePyramid_ThreeItemsRemaining_Text1[];
-extern const u8 BattlePyramid_FourItemsRemaining_Text1[];
-extern const u8 BattlePyramid_FiveItemsRemaining_Text1[];
-extern const u8 BattlePyramid_SixItemsRemaining_Text1[];
-extern const u8 BattlePyramid_SevenItemsRemaining_Text1[];
-extern const u8 BattlePyramid_EightItemsRemaining_Text1[];
-extern const u8 BattlePyramid_ZeroTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_OneTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_TwoTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_ThreeTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_FourTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_FiveTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_SixTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_SevenTrainersRemaining_Text1[];
-extern const u8 BattlePyramid_ExitHintUp_Text2[];
-extern const u8 BattlePyramid_ExitHintLeft_Text2[];
-extern const u8 BattlePyramid_ExitHintRight_Text2[];
-extern const u8 BattlePyramid_ExitHintDown_Text2[];
-extern const u8 BattlePyramid_ZeroItemsRemaining_Text2[];
-extern const u8 BattlePyramid_OneItemRemaining_Text2[];
-extern const u8 BattlePyramid_TwoItemsRemaining_Text2[];
-extern const u8 BattlePyramid_ThreeItemsRemaining_Text2[];
-extern const u8 BattlePyramid_FourItemsRemaining_Text2[];
-extern const u8 BattlePyramid_FiveItemsRemaining_Text2[];
-extern const u8 BattlePyramid_SixItemsRemaining_Text2[];
-extern const u8 BattlePyramid_SevenItemsRemaining_Text2[];
-extern const u8 BattlePyramid_EightItemsRemaining_Text2[];
-extern const u8 BattlePyramid_ZeroTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_OneTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_TwoTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_ThreeTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_FourTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_FiveTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_SixTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_SevenTrainersRemaining_Text2[];
-extern const u8 BattlePyramid_ExitHintUp_Text3[];
-extern const u8 BattlePyramid_ExitHintLeft_Text3[];
-extern const u8 BattlePyramid_ExitHintRight_Text3[];
-extern const u8 BattlePyramid_ExitHintDown_Text3[];
-extern const u8 BattlePyramid_ZeroItemsRemaining_Text3[];
-extern const u8 BattlePyramid_OneItemRemaining_Text3[];
-extern const u8 BattlePyramid_TwoItemsRemaining_Text3[];
-extern const u8 BattlePyramid_ThreeItemsRemaining_Text3[];
-extern const u8 BattlePyramid_FourItemsRemaining_Text3[];
-extern const u8 BattlePyramid_FiveItemsRemaining_Text3[];
-extern const u8 BattlePyramid_SixItemsRemaining_Text3[];
-extern const u8 BattlePyramid_SevenItemsRemaining_Text3[];
-extern const u8 BattlePyramid_EightItemsRemaining_Text3[];
-extern const u8 BattlePyramid_ZeroTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_OneTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_TwoTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_ThreeTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_FourTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_FiveTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_SixTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_SevenTrainersRemaining_Text3[];
-extern const u8 BattlePyramid_ExitHintUp_Text4[];
-extern const u8 BattlePyramid_ExitHintLeft_Text4[];
-extern const u8 BattlePyramid_ExitHintRight_Text4[];
-extern const u8 BattlePyramid_ExitHintDown_Text4[];
-extern const u8 BattlePyramid_ZeroItemsRemaining_Text4[];
-extern const u8 BattlePyramid_OneItemRemaining_Text4[];
-extern const u8 BattlePyramid_TwoItemsRemaining_Text4[];
-extern const u8 BattlePyramid_ThreeItemsRemaining_Text4[];
-extern const u8 BattlePyramid_FourItemsRemaining_Text4[];
-extern const u8 BattlePyramid_FiveItemsRemaining_Text4[];
-extern const u8 BattlePyramid_SixItemsRemaining_Text4[];
-extern const u8 BattlePyramid_SevenItemsRemaining_Text4[];
-extern const u8 BattlePyramid_EightItemsRemaining_Text4[];
-extern const u8 BattlePyramid_ZeroTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_OneTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_TwoTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_ThreeTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_FourTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_FiveTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_SixTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_SevenTrainersRemaining_Text4[];
-extern const u8 BattlePyramid_ExitHintUp_Text5[];
-extern const u8 BattlePyramid_ExitHintLeft_Text5[];
-extern const u8 BattlePyramid_ExitHintRight_Text5[];
-extern const u8 BattlePyramid_ExitHintDown_Text5[];
-extern const u8 BattlePyramid_ZeroItemsRemaining_Text5[];
-extern const u8 BattlePyramid_OneItemRemaining_Text5[];
-extern const u8 BattlePyramid_TwoItemsRemaining_Text5[];
-extern const u8 BattlePyramid_ThreeItemsRemaining_Text5[];
-extern const u8 BattlePyramid_FourItemsRemaining_Text5[];
-extern const u8 BattlePyramid_FiveItemsRemaining_Text5[];
-extern const u8 BattlePyramid_SixItemsRemaining_Text5[];
-extern const u8 BattlePyramid_SevenItemsRemaining_Text5[];
-extern const u8 BattlePyramid_EightItemsRemaining_Text5[];
-extern const u8 BattlePyramid_ZeroTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_OneTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_TwoTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_ThreeTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_FourTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_FiveTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_SixTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_SevenTrainersRemaining_Text5[];
-extern const u8 BattlePyramid_ExitHintUp_Text6[];
-extern const u8 BattlePyramid_ExitHintLeft_Text6[];
-extern const u8 BattlePyramid_ExitHintRight_Text6[];
-extern const u8 BattlePyramid_ExitHintDown_Text6[];
-extern const u8 BattlePyramid_ZeroItemsRemaining_Text6[];
-extern const u8 BattlePyramid_OneItemRemaining_Text6[];
-extern const u8 BattlePyramid_TwoItemsRemaining_Text6[];
-extern const u8 BattlePyramid_ThreeItemsRemaining_Text6[];
-extern const u8 BattlePyramid_FourItemsRemaining_Text6[];
-extern const u8 BattlePyramid_FiveItemsRemaining_Text6[];
-extern const u8 BattlePyramid_SixItemsRemaining_Text6[];
-extern const u8 BattlePyramid_SevenItemsRemaining_Text6[];
-extern const u8 BattlePyramid_EightItemsRemaining_Text6[];
-extern const u8 BattlePyramid_ZeroTrainersRemaining_Text6[];
-extern const u8 BattlePyramid_OneTrainersRemaining_Text6[];
-extern const u8 BattlePyramid_TwoTrainersRemaining_Text6[];
-extern const u8 BattlePyramid_ThreeTrainersRemaining_Text6[];
-extern const u8 BattlePyramid_FourTrainersRemaining_Text6[];
-extern const u8 BattlePyramid_FiveTrainersRemaining_Text6[];
-extern const u8 BattlePyramid_SixTrainersRemaining_Text6[];
-extern const u8 BattlePyramid_SevenTrainersRemaining_Text6[];
-
-
+extern const u8 BattlePyramid_Text_ExitHintUp1[];
+extern const u8 BattlePyramid_Text_ExitHintLeft1[];
+extern const u8 BattlePyramid_Text_ExitHintRight1[];
+extern const u8 BattlePyramid_Text_ExitHintDown1[];
+extern const u8 BattlePyramid_Text_ZeroItemsRemaining1[];
+extern const u8 BattlePyramid_Text_OneItemRemaining1[];
+extern const u8 BattlePyramid_Text_TwoItemsRemaining1[];
+extern const u8 BattlePyramid_Text_ThreeItemsRemaining1[];
+extern const u8 BattlePyramid_Text_FourItemsRemaining1[];
+extern const u8 BattlePyramid_Text_FiveItemsRemaining1[];
+extern const u8 BattlePyramid_Text_SixItemsRemaining1[];
+extern const u8 BattlePyramid_Text_SevenItemsRemaining1[];
+extern const u8 BattlePyramid_Text_EightItemsRemaining1[];
+extern const u8 BattlePyramid_Text_ZeroTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_OneTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_TwoTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_ThreeTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_FourTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_FiveTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_SixTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_SevenTrainersRemaining1[];
+extern const u8 BattlePyramid_Text_ExitHintUp2[];
+extern const u8 BattlePyramid_Text_ExitHintLeft2[];
+extern const u8 BattlePyramid_Text_ExitHintRight2[];
+extern const u8 BattlePyramid_Text_ExitHintDown2[];
+extern const u8 BattlePyramid_Text_ZeroItemsRemaining2[];
+extern const u8 BattlePyramid_Text_OneItemRemaining2[];
+extern const u8 BattlePyramid_Text_TwoItemsRemaining2[];
+extern const u8 BattlePyramid_Text_ThreeItemsRemaining2[];
+extern const u8 BattlePyramid_Text_FourItemsRemaining2[];
+extern const u8 BattlePyramid_Text_FiveItemsRemaining2[];
+extern const u8 BattlePyramid_Text_SixItemsRemaining2[];
+extern const u8 BattlePyramid_Text_SevenItemsRemaining2[];
+extern const u8 BattlePyramid_Text_EightItemsRemaining2[];
+extern const u8 BattlePyramid_Text_ZeroTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_OneTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_TwoTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_ThreeTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_FourTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_FiveTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_SixTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_SevenTrainersRemaining2[];
+extern const u8 BattlePyramid_Text_ExitHintUp3[];
+extern const u8 BattlePyramid_Text_ExitHintLeft3[];
+extern const u8 BattlePyramid_Text_ExitHintRight3[];
+extern const u8 BattlePyramid_Text_ExitHintDown3[];
+extern const u8 BattlePyramid_Text_ZeroItemsRemaining3[];
+extern const u8 BattlePyramid_Text_OneItemRemaining3[];
+extern const u8 BattlePyramid_Text_TwoItemsRemaining3[];
+extern const u8 BattlePyramid_Text_ThreeItemsRemaining3[];
+extern const u8 BattlePyramid_Text_FourItemsRemaining3[];
+extern const u8 BattlePyramid_Text_FiveItemsRemaining3[];
+extern const u8 BattlePyramid_Text_SixItemsRemaining3[];
+extern const u8 BattlePyramid_Text_SevenItemsRemaining3[];
+extern const u8 BattlePyramid_Text_EightItemsRemaining3[];
+extern const u8 BattlePyramid_Text_ZeroTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_OneTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_TwoTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_ThreeTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_FourTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_FiveTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_SixTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_SevenTrainersRemaining3[];
+extern const u8 BattlePyramid_Text_ExitHintUp4[];
+extern const u8 BattlePyramid_Text_ExitHintLeft4[];
+extern const u8 BattlePyramid_Text_ExitHintRight4[];
+extern const u8 BattlePyramid_Text_ExitHintDown4[];
+extern const u8 BattlePyramid_Text_ZeroItemsRemaining4[];
+extern const u8 BattlePyramid_Text_OneItemRemaining4[];
+extern const u8 BattlePyramid_Text_TwoItemsRemaining4[];
+extern const u8 BattlePyramid_Text_ThreeItemsRemaining4[];
+extern const u8 BattlePyramid_Text_FourItemsRemaining4[];
+extern const u8 BattlePyramid_Text_FiveItemsRemaining4[];
+extern const u8 BattlePyramid_Text_SixItemsRemaining4[];
+extern const u8 BattlePyramid_Text_SevenItemsRemaining4[];
+extern const u8 BattlePyramid_Text_EightItemsRemaining4[];
+extern const u8 BattlePyramid_Text_ZeroTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_OneTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_TwoTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_ThreeTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_FourTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_FiveTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_SixTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_SevenTrainersRemaining4[];
+extern const u8 BattlePyramid_Text_ExitHintUp5[];
+extern const u8 BattlePyramid_Text_ExitHintLeft5[];
+extern const u8 BattlePyramid_Text_ExitHintRight5[];
+extern const u8 BattlePyramid_Text_ExitHintDown5[];
+extern const u8 BattlePyramid_Text_ZeroItemsRemaining5[];
+extern const u8 BattlePyramid_Text_OneItemRemaining5[];
+extern const u8 BattlePyramid_Text_TwoItemsRemaining5[];
+extern const u8 BattlePyramid_Text_ThreeItemsRemaining5[];
+extern const u8 BattlePyramid_Text_FourItemsRemaining5[];
+extern const u8 BattlePyramid_Text_FiveItemsRemaining5[];
+extern const u8 BattlePyramid_Text_SixItemsRemaining5[];
+extern const u8 BattlePyramid_Text_SevenItemsRemaining5[];
+extern const u8 BattlePyramid_Text_EightItemsRemaining5[];
+extern const u8 BattlePyramid_Text_ZeroTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_OneTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_TwoTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_ThreeTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_FourTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_FiveTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_SixTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_SevenTrainersRemaining5[];
+extern const u8 BattlePyramid_Text_ExitHintUp6[];
+extern const u8 BattlePyramid_Text_ExitHintLeft6[];
+extern const u8 BattlePyramid_Text_ExitHintRight6[];
+extern const u8 BattlePyramid_Text_ExitHintDown6[];
+extern const u8 BattlePyramid_Text_ZeroItemsRemaining6[];
+extern const u8 BattlePyramid_Text_OneItemRemaining6[];
+extern const u8 BattlePyramid_Text_TwoItemsRemaining6[];
+extern const u8 BattlePyramid_Text_ThreeItemsRemaining6[];
+extern const u8 BattlePyramid_Text_FourItemsRemaining6[];
+extern const u8 BattlePyramid_Text_FiveItemsRemaining6[];
+extern const u8 BattlePyramid_Text_SixItemsRemaining6[];
+extern const u8 BattlePyramid_Text_SevenItemsRemaining6[];
+extern const u8 BattlePyramid_Text_EightItemsRemaining6[];
+extern const u8 BattlePyramid_Text_ZeroTrainersRemaining6[];
+extern const u8 BattlePyramid_Text_OneTrainersRemaining6[];
+extern const u8 BattlePyramid_Text_TwoTrainersRemaining6[];
+extern const u8 BattlePyramid_Text_ThreeTrainersRemaining6[];
+extern const u8 BattlePyramid_Text_FourTrainersRemaining6[];
+extern const u8 BattlePyramid_Text_FiveTrainersRemaining6[];
+extern const u8 BattlePyramid_Text_SixTrainersRemaining6[];
+extern const u8 BattlePyramid_Text_SevenTrainersRemaining6[];
// PC strings
extern const u8 gText_ExitFromBox[];
@@ -2047,7 +2024,7 @@ extern const u8 gText_JustOnePkmn[];
// battle main
extern const u8 gText_LinkStandby3[];
-extern const u8 gText_BattleRecordCouldntBeSaved[];
+extern const u8 BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved[];
extern const u8 gText_Poison[];
extern const u8 gText_Sleep[];
extern const u8 gText_Paralysis[];
@@ -2057,8 +2034,8 @@ extern const u8 gText_Confusion[];
extern const u8 gText_Love[];
// battle message
-extern const u8 gText_PkmnBoxSomeonesPCFull[];
-extern const u8 gText_PkmnBoxLanettesPCFull[];
+extern const u8 gText_PkmnTransferredSomeonesPCBoxFull[];
+extern const u8 gText_PkmnTransferredLanettesPCBoxFull[];
extern const u8 gText_PkmnTransferredSomeonesPC[];
extern const u8 gText_PkmnTransferredLanettesPC[];
@@ -2067,14 +2044,14 @@ extern const u8 gText_LeagueChamp[];
extern const u8 gText_HOFNumber[];
extern const u8 gText_PickNextCancel[];
extern const u8 gText_PickCancel[];
-extern const u8 gText_UnkCtrlF800Exit[];
+extern const u8 gText_AButtonExit[];
extern const u8 gText_HOFCorrupted[];
extern const u8 gText_WelcomeToHOF[];
extern const u8 gText_Number[];
extern const u8 gText_Level[];
extern const u8 gText_IDNumber[];
extern const u8 gText_Name[];
-extern const u8 gText_MainMenuTime[];
+extern const u8 gText_Time[];
// daycare
extern const u8 gText_MaleSymbol4[];
@@ -2160,9 +2137,6 @@ extern const u8 gText_XSentOverY[];
extern const u8 gText_TakeGoodCareOfX[];
extern const u8 gText_CommunicationStandby5[];
-// roulette
-extern const u8 gUnknown_082A5B89[];
-
// match call
extern const u8 MatchCall_WildBattleText1[];
extern const u8 MatchCall_WildBattleText2[];
@@ -2369,6 +2343,150 @@ extern const u8 MatchCall_BattlePyramidText11[];
extern const u8 MatchCall_BattlePyramidText12[];
extern const u8 MatchCall_BattlePyramidText13[];
extern const u8 MatchCall_BattlePyramidText14[];
+extern const u8 MatchCall_Text_MrStone1[];
+extern const u8 MatchCall_Text_MrStone2[];
+extern const u8 MatchCall_Text_MrStone3[];
+extern const u8 MatchCall_Text_MrStone4[];
+extern const u8 MatchCall_Text_MrStone5[];
+extern const u8 MatchCall_Text_MrStone6[];
+extern const u8 MatchCall_Text_MrStone7[];
+extern const u8 MatchCall_Text_MrStone8[];
+extern const u8 MatchCall_Text_MrStone9[];
+extern const u8 MatchCall_Text_MrStone10[];
+extern const u8 MatchCall_Text_MrStone11[];
+extern const u8 MatchCall_Text_Norman1[];
+extern const u8 MatchCall_Text_Norman2[];
+extern const u8 MatchCall_Text_Norman3[];
+extern const u8 MatchCall_Text_Norman4[];
+extern const u8 MatchCall_Text_Norman5[];
+extern const u8 MatchCall_Text_Norman6[];
+extern const u8 MatchCall_Text_Norman7[];
+extern const u8 MatchCall_Text_Norman8[];
+extern const u8 MatchCall_Text_Norman9[];
+extern const u8 MatchCall_Text_Mom1[];
+extern const u8 MatchCall_Text_Mom2[];
+extern const u8 MatchCall_Text_Mom3[];
+extern const u8 MatchCall_Text_Steven1[];
+extern const u8 MatchCall_Text_Steven2[];
+extern const u8 MatchCall_Text_Steven3[];
+extern const u8 MatchCall_Text_Steven4[];
+extern const u8 MatchCall_Text_Steven5[];
+extern const u8 MatchCall_Text_Steven6[];
+extern const u8 MatchCall_Text_Steven7[];
+extern const u8 MatchCall_Text_May1[];
+extern const u8 MatchCall_Text_May2[];
+extern const u8 MatchCall_Text_May3[];
+extern const u8 MatchCall_Text_May4[];
+extern const u8 MatchCall_Text_May5[];
+extern const u8 MatchCall_Text_May6[];
+extern const u8 MatchCall_Text_May7[];
+extern const u8 MatchCall_Text_May8[];
+extern const u8 MatchCall_Text_May9[];
+extern const u8 MatchCall_Text_May10[];
+extern const u8 MatchCall_Text_May11[];
+extern const u8 MatchCall_Text_May12[];
+extern const u8 MatchCall_Text_May13[];
+extern const u8 MatchCall_Text_May14[];
+extern const u8 MatchCall_Text_May15[];
+extern const u8 MatchCall_Text_Brendan1[];
+extern const u8 MatchCall_Text_Brendan2[];
+extern const u8 MatchCall_Text_Brendan3[];
+extern const u8 MatchCall_Text_Brendan4[];
+extern const u8 MatchCall_Text_Brendan5[];
+extern const u8 MatchCall_Text_Brendan6[];
+extern const u8 MatchCall_Text_Brendan7[];
+extern const u8 MatchCall_Text_Brendan8[];
+extern const u8 MatchCall_Text_Brendan9[];
+extern const u8 MatchCall_Text_Brendan10[];
+extern const u8 MatchCall_Text_Brendan11[];
+extern const u8 MatchCall_Text_Brendan12[];
+extern const u8 MatchCall_Text_Brendan13[];
+extern const u8 MatchCall_Text_Brendan14[];
+extern const u8 MatchCall_Text_Brendan15[];
+extern const u8 MatchCall_Text_Wally1[];
+extern const u8 MatchCall_Text_Wally2[];
+extern const u8 MatchCall_Text_Wally3[];
+extern const u8 MatchCall_Text_Wally4[];
+extern const u8 MatchCall_Text_Wally5[];
+extern const u8 MatchCall_Text_Wally6[];
+extern const u8 MatchCall_Text_Wally7[];
+extern const u8 MatchCall_Text_Scott1[];
+extern const u8 MatchCall_Text_Scott2[];
+extern const u8 MatchCall_Text_Scott3[];
+extern const u8 MatchCall_Text_Scott4[];
+extern const u8 MatchCall_Text_Scott5[];
+extern const u8 MatchCall_Text_Scott6[];
+extern const u8 MatchCall_Text_Scott7[];
+extern const u8 MatchCall_Text_Roxanne1[];
+extern const u8 MatchCall_Text_Roxanne2[];
+extern const u8 MatchCall_Text_Roxanne3[];
+extern const u8 MatchCall_Text_Roxanne4[];
+extern const u8 MatchCall_Text_Brawly1[];
+extern const u8 MatchCall_Text_Brawly2[];
+extern const u8 MatchCall_Text_Brawly3[];
+extern const u8 MatchCall_Text_Brawly4[];
+extern const u8 MatchCall_Text_Wattson1[];
+extern const u8 MatchCall_Text_Wattson2[];
+extern const u8 MatchCall_Text_Wattson3[];
+extern const u8 MatchCall_Text_Wattson4[];
+extern const u8 MatchCall_Text_Flannery1[];
+extern const u8 MatchCall_Text_Flannery2[];
+extern const u8 MatchCall_Text_Flannery3[];
+extern const u8 MatchCall_Text_Flannery4[];
+extern const u8 MatchCall_Text_Winona1[];
+extern const u8 MatchCall_Text_Winona2[];
+extern const u8 MatchCall_Text_Winona3[];
+extern const u8 MatchCall_Text_Winona4[];
+extern const u8 MatchCall_Text_TateLiza1[];
+extern const u8 MatchCall_Text_TateLiza2[];
+extern const u8 MatchCall_Text_TateLiza3[];
+extern const u8 MatchCall_Text_TateLiza4[];
+extern const u8 MatchCall_Text_Juan1[];
+extern const u8 MatchCall_Text_Juan2[];
+extern const u8 MatchCall_Text_Juan3[];
+extern const u8 MatchCall_Text_Juan4[];
+extern const u8 MatchCall_Text_Sidney[];
+extern const u8 MatchCall_Text_Phoebe[];
+extern const u8 MatchCall_Text_Glacia[];
+extern const u8 MatchCall_Text_Drake[];
+extern const u8 MatchCall_Text_Wallace[];
+extern const u8 gText_MrStoneMatchCallDesc[];
+extern const u8 gText_MrStoneMatchCallName[];
+extern const u8 gText_StevenMatchCallDesc[];
+extern const u8 gText_StevenMatchCallName[];
+extern const u8 gText_MayBrendanMatchCallDesc[];
+extern const u8 gText_WallyMatchCallDesc[];
+extern const u8 gText_NormanMatchCallDesc[];
+extern const u8 gText_NormanMatchCallName[];
+extern const u8 gText_MomMatchCallDesc[];
+extern const u8 gText_MomMatchCallName[];
+extern const u8 gText_ScottMatchCallDesc[];
+extern const u8 gText_ScottMatchCallName[];
+extern const u8 gText_RoxanneMatchCallDesc[];
+extern const u8 gText_BrawlyMatchCallDesc[];
+extern const u8 gText_WattsonMatchCallDesc[];
+extern const u8 gText_FlanneryMatchCallDesc[];
+extern const u8 gText_WinonaMatchCallDesc[];
+extern const u8 gText_TateLizaMatchCallDesc[];
+extern const u8 gText_JuanMatchCallDesc[];
+extern const u8 gText_EliteFourMatchCallDesc[];
+extern const u8 gText_ChampionMatchCallDesc[];
+extern const u8 gText_ProfBirchMatchCallDesc[];
+extern const u8 gText_ProfBirchMatchCallName[];
+extern const u8 gText_MatchCallSteven_Strategy[];
+extern const u8 gText_MatchCallSteven_Pokemon[];
+extern const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[];
+extern const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[];
+extern const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[];
+extern const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[];
+extern const u8 gText_MatchCallBrendan_Strategy[];
+extern const u8 gText_MatchCallBrendan_Pokemon[];
+extern const u8 gText_MatchCallBrendan_Intro1[];
+extern const u8 gText_MatchCallBrendan_Intro2[];
+extern const u8 gText_MatchCallMay_Strategy[];
+extern const u8 gText_MatchCallMay_Pokemon[];
+extern const u8 gText_MatchCallMay_Intro1[];
+extern const u8 gText_MatchCallMay_Intro2[];
// Contest Link
extern const u8 gText_ColorDarkGrey[];
@@ -2408,35 +2526,39 @@ extern const u8 gText_BattlePtsWon[];
extern const u8 gText_SymbolsEarned[];
extern const u8 gText_BattleRecord[];
extern const u8 gText_BattlePoints[];
-extern const u8 gUnknown_085EDA96[];
-extern const u8 gUnknown_085ED932[];
-extern const u8 gUnknown_085ED94D[];
-extern const u8 gUnknown_085ED961[];
-extern const u8 gUnknown_085ED977[];
-extern const u8 gUnknown_085ED993[];
-extern const u8 gUnknown_085ED9AF[];
-extern const u8 gUnknown_085ED9C7[];
-extern const u8 gUnknown_085ED9E5[];
-extern const u8 gUnknown_085EDA02[];
-extern const u8 gUnknown_085EDA21[];
-extern const u8 gUnknown_085EDA3C[];
-extern const u8 gUnknown_085EDA5E[];
-extern const u8 gUnknown_085EDA78[];
-extern const u8 gUnknown_085ED931[];
-extern const u8 gUnknown_085EDAB1[];
-extern const u8 gUnknown_085EDB0F[];
-extern const u8 gUnknown_085EDABE[];
-extern const u8 gUnknown_085EDB4E[];
-extern const u8 gUnknown_085EDACA[];
-extern const u8 gUnknown_085EDB8B[];
-extern const u8 gUnknown_085EDAD8[];
-extern const u8 gUnknown_085EDBC2[];
-extern const u8 gUnknown_085EDAE5[];
-extern const u8 gUnknown_085EDC00[];
-extern const u8 gUnknown_085EDAF4[];
-extern const u8 gUnknown_085EDC45[];
-extern const u8 gUnknown_085EDB00[];
-extern const u8 gUnknown_085EDC84[];
+extern const u8 gText_ThereIsNoBattleRecord[];
+extern const u8 gText_CheckFrontierMap[];
+extern const u8 gText_CheckTrainerCard[];
+extern const u8 gText_ViewRecordedBattle[];
+extern const u8 gText_PutAwayFrontierPass[];
+extern const u8 gText_CurrentBattlePoints[];
+extern const u8 gText_CollectedSymbols[];
+extern const u8 gText_BattleTowerAbilitySymbol[];
+extern const u8 gText_BattleDomeTacticsSymbol[];
+extern const u8 gText_BattlePalaceSpiritsSymbol[];
+extern const u8 gText_BattleArenaGutsSymbol[];
+extern const u8 gText_BattleFactoryKnowledgeSymbol[];
+extern const u8 gText_BattlePikeLuckSymbol[];
+extern const u8 gText_BattlePyramidBraveSymbol[];
+extern const u8 gText_EmptyString7[];
+extern const u8 gText_BattleTower3[];
+extern const u8 gText_BattleDome2[];
+extern const u8 gText_BattlePalace2[];
+extern const u8 gText_BattleArena2[];
+extern const u8 gText_BattleFactory2[];
+extern const u8 gText_BattlePike2[];
+extern const u8 gText_BattlePyramid2[];
+extern const u8 gText_BattleTowerDesc[];
+extern const u8 gText_BattleDomeDesc[];
+extern const u8 gText_BattlePalaceDesc[];
+extern const u8 gText_BattleArenaDesc[];
+extern const u8 gText_BattleFactoryDesc[];
+extern const u8 gText_BattlePikeDesc[];
+extern const u8 gText_BattlePyramidDesc[];
+
+// Apprentice
+extern const u8 gText_Give[];
+extern const u8 gText_NoNeed[];
// Easy Chat Entry
extern const u8 gText_StopGivingPkmnMail[];
@@ -2534,72 +2656,68 @@ extern const u8 gEasyChatGroupName_Move2[];
extern const u8 gEasyChatGroupName_TrendySaying[];
extern const u8 gEasyChatGroupName_Pokemon2[];
-extern const u8 gUnknown_862B810[];
-extern const u8 gUnknown_862B832[];
-extern const u8 gUnknown_862B84B[];
-extern const u8 gUnknown_862B86C[];
-extern const u8 gUnknown_0862B88D[];
-extern const u8 gUnknown_0862B8AE[];
-extern const u8 gUnknown_0862B8CF[];
-extern const u8 gUnknown_0862B8F0[];
-extern const u8 gUnknown_0862B911[];
-extern const u8 gUnknown_0862B932[];
-extern const u8 gUnknown_0862B953[];
-extern const u8 gUnknown_0862B974[];
-extern const u8 gUnknown_0862B995[];
-extern const u8 gUnknown_0862B9AE[];
-extern const u8 gUnknown_0862B9C7[];
-extern const u8 gUnknown_0862B9E0[];
-extern const u8 gUnknown_0862B9F9[];
-extern const u8 gUnknown_0862B9FF[];
-extern const u8 gUnknown_0862BA05[];
-extern const u8 gUnknown_0862BA0B[];
-extern const u8 gUnknown_0862BA11[];
-extern const u8 gUnknown_0862BA17[];
-extern const u8 gUnknown_0862BA1D[];
-extern const u8 gUnknown_0862BA23[];
-extern const u8 gUnknown_0862BA29[];
-extern const u8 gUnknown_0862BA2F[];
-extern const u8 gUnknown_0862BA35[];
-extern const u8 gUnknown_0862BA3B[];
-extern const u8 gUnknown_0862BA41[];
-extern const u8 gUnknown_0862BA47[];
-extern const u8 gUnknown_0862BA4D[];
-extern const u8 gUnknown_0862BA53[];
-extern const u8 gUnknown_0862BA59[];
-extern const u8 gUnknown_0862BA5F[];
-extern const u8 gUnknown_0862BA65[];
-extern const u8 gUnknown_0862BA6B[];
-extern const u8 gUnknown_0862BA79[];
-extern const u8 gUnknown_0862BA84[];
-extern const u8 gUnknown_0862BA8F[];
-extern const u8 gUnknown_0862BA9A[];
-extern const u8 gUnknown_0862BAA3[];
-extern const u8 gUnknown_0862BAAE[];
-extern const u8 gUnknown_0862BAB9[];
-extern const u8 gUnknown_0862BAC4[];
-extern const u8 gUnknown_0862BACF[];
-extern const u8 gUnknown_0862BADA[];
+// Text Input Strings
+extern const u8 gText_EasyChatKeyboard_ABCDEFothers[];
+extern const u8 gText_EasyChatKeyboard_GHIJKL[];
+extern const u8 gText_EasyChatKeyboard_MNOPQRS[];
+extern const u8 gText_EasyChatKeyboard_TUVWXYZ[];
+extern const u8 gText_NamingScreenKeyboard_abcdef[];
+extern const u8 gText_NamingScreenKeyboard_ghijkl[];
+extern const u8 gText_NamingScreenKeyboard_mnopqrs[];
+extern const u8 gText_NamingScreenKeyboard_tuvwxyz[];
+extern const u8 gText_NamingScreenKeyboard_ABCDEF[];
+extern const u8 gText_NamingScreenKeyboard_GHIJKL[];
+extern const u8 gText_NamingScreenKeyboard_MNOPQRS[];
+extern const u8 gText_NamingScreenKeyboard_TUVWXYZ[];
+extern const u8 gText_NamingScreenKeyboard_01234[];
+extern const u8 gText_NamingScreenKeyboard_56789[];
+extern const u8 gText_NamingScreenKeyboard_Symbols1[];
+extern const u8 gText_NamingScreenKeyboard_Symbols2[];
+extern const u8 gText_UnionRoomChatKeyboard_ABCDE[];
+extern const u8 gText_UnionRoomChatKeyboard_FGHIJ[];
+extern const u8 gText_UnionRoomChatKeyboard_KLMNO[];
+extern const u8 gText_UnionRoomChatKeyboard_PQRST[];
+extern const u8 gText_UnionRoomChatKeyboard_UVWXY[];
+extern const u8 gText_UnionRoomChatKeyboard_Z[];
+extern const u8 gText_UnionRoomChatKeyboard_01234Upper[];
+extern const u8 gText_UnionRoomChatKeyboard_56789Upper[];
+extern const u8 gText_UnionRoomChatKeyboard_PunctuationUpper[];
+extern const u8 gText_UnionRoomChatKeyboard_SymbolsUpper[];
+extern const u8 gText_UnionRoomChatKeyboard_abcde[];
+extern const u8 gText_UnionRoomChatKeyboard_fghij[];
+extern const u8 gText_UnionRoomChatKeyboard_klmno[];
+extern const u8 gText_UnionRoomChatKeyboard_pqrst[];
+extern const u8 gText_UnionRoomChatKeyboard_uvwxy[];
+extern const u8 gText_UnionRoomChatKeyboard_z[];
+extern const u8 gText_UnionRoomChatKeyboard_01234Lower[];
+extern const u8 gText_UnionRoomChatKeyboard_56789Lower[];
+extern const u8 gText_UnionRoomChatKeyboard_PunctuationLower[];
+extern const u8 gText_UnionRoomChatKeyboard_SymbolsLower[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji1[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji2[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji3[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji4[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji5[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji6[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji7[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji8[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji9[];
+extern const u8 gText_UnionRoomChatKeyboard_Emoji10[];
// E-Reader
-extern const u8 gUnknown_085EDFD6[];
-extern const u8 gUnknown_085EDFF5[];
-extern const u8 gUnknown_085EE014[];
-extern const u8 gUnknown_085EE035[];
-extern const u8 gUnknown_085EE05C[];
-extern const u8 gUnknown_085EE06B[];
-extern const u8 gUnknown_085EE080[];
-extern const u8 gUnknown_085EE097[];
-extern const u8 gUnknown_085EE0A3[];
-extern const u8 gUnknown_085EE0BF[];
-extern const u8 gUnknown_085EE0DC[];
-extern const u8 gUnknown_085EE0FA[];
-extern const u8 gUnknown_085EE107[];
-extern const u8 gUnknown_085EE120[];
-extern const u8 gUnknown_085EE12D[];
-extern const u8 gUnknown_085EE14B[];
-extern const u8 gUnknown_085EE14F[];
-extern const u8 gUnknown_085EE154[];
+extern const u8 gJPText_ReceiveMysteryGiftWithEReader[];
+extern const u8 gJPText_SelectConnectFromEReaderMenu[];
+extern const u8 gJPText_SelectConnectWithGBA[];
+extern const u8 gJPText_LinkIsIncorrect[];
+extern const u8 gJPText_CardReadingHasBeenHalted[];
+extern const u8 gJPText_Connecting[];
+extern const u8 gJPText_ConnectionErrorCheckLink[];
+extern const u8 gJPText_ConnectionErrorTryAgain[];
+extern const u8 gJPText_AllowEReaderToLoadCard[];
+extern const u8 gJPText_ConnectionComplete[];
+extern const u8 gJPText_NewTrainerHasComeToHoenn[];
+extern const u8 gJPText_PleaseWaitAMoment[];
+extern const u8 gJPText_WriteErrorUnableToSaveData[];
// Berry Powder Menu
extern const u8 gText_Powder[];
@@ -2614,7 +2732,7 @@ extern const u8 gText_Battle[];
extern const u8 gText_Lets[];
extern const u8 gText_Ok[];
extern const u8 gText_Sorry[];
-extern const u8 gText_YayUnkF9F9[];
+extern const u8 gText_YaySmileEmoji[];
extern const u8 gText_ThankYou[];
extern const u8 gText_ByeBye[];
@@ -2744,6 +2862,27 @@ extern const u8 gText_JumpsInARow[];
extern const u8 gText_BestScore2[];
extern const u8 gText_ExcellentsInARow[];
+// Berry crush
+extern const u8 gText_Var1Berry[];
+extern const u8 gText_XDotY[];
+extern const u8 gText_1DotBlueF700[];
+extern const u8 gText_1DotF700[];
+extern const u8 gText_TimeColon[];
+extern const u8 gText_SpaceSec[];
+extern const u8 gText_XDotY2[];
+extern const u8 gText_SpaceMin[];
+extern const u8 gText_StrVar1[];
+extern const u8 gText_PressingSpeed[];
+extern const u8 gText_TimesPerSec[];
+extern const u8 gText_XDotY3[];
+extern const u8 gText_Silkiness[];
+extern const u8 gText_Var1Percent[];
+extern const u8 gText_PressesRankings[];
+extern const u8 gText_CrushingResults[];
+extern const u8 gText_BerryCrush2[];
+extern const u8 gText_PressingSpeedRankings[];
+extern const u8 gText_Var1Players[];
+
// Lilycove Lady
extern const u8 gText_ContestLady_Handsome[];
extern const u8 gText_ContestLady_Vinny[];
@@ -2777,26 +2916,26 @@ extern const u8 gText_Unknown[];
extern const u8 gText_TrainerCloseBy[];
// pokenav_unk_2
-extern const u8 gUnknown_085EBCC5[];
-extern const u8 gUnknown_085EBCE8[];
-extern const u8 gUnknown_085EBD01[];
-extern const u8 gUnknown_085EBD1C[];
-extern const u8 gUnknown_085EBD34[];
-extern const u8 gUnknown_085EBD83[];
-extern const u8 gUnknown_085EBDA2[];
-extern const u8 gUnknown_085EBDBF[];
-extern const u8 gUnknown_085EBDDB[];
-extern const u8 gUnknown_085EBDEE[];
-extern const u8 gUnknown_085EBE06[];
-extern const u8 gUnknown_085EBE19[];
-extern const u8 gUnknown_085EBE2D[];
-extern const u8 gUnknown_085EBE41[];
+extern const u8 gText_CheckMapOfHoenn[];
+extern const u8 gText_CheckPokemonInDetail[];
+extern const u8 gText_CallRegisteredTrainer[];
+extern const u8 gText_CheckObtainedRibbons[];
+extern const u8 gText_PutAwayPokenav[];
+extern const u8 gText_CheckPartyPokemonInDetail[];
+extern const u8 gText_CheckAllPokemonInDetail[];
+extern const u8 gText_ReturnToPokenavMenu[];
+extern const u8 gText_FindCoolPokemon[];
+extern const u8 gText_FindBeautifulPokemon[];
+extern const u8 gText_FindCutePokemon[];
+extern const u8 gText_FindSmartPokemon[];
+extern const u8 gText_FindToughPokemon[];
+extern const u8 gText_ReturnToConditionMenu[];
extern const u8 gText_NoRibbonWinners[];
// pokenav_unk_4
-extern const u8 gUnknown_085EC017[];
-extern const u8 gUnknown_085EC01C[];
-extern const u8 gUnknown_085EC022[];
+extern const u8 gText_Call[];
+extern const u8 gText_Check[];
+extern const u8 gText_Cancel6[];
// pokenav_unk_8
extern const u8 gText_NumberF700[];
diff --git a/include/task.h b/include/task.h
index 4852571b4..d0ca34f7f 100644
--- a/include/task.h
+++ b/include/task.h
@@ -5,6 +5,7 @@
#define TAIL_SENTINEL 0xFF
#define NUM_TASKS 16
+#define NUM_TASK_DATA 16
typedef void (*TaskFunc)(u8 taskId);
@@ -15,7 +16,7 @@ struct Task
u8 prev;
u8 next;
u8 priority;
- s16 data[16];
+ s16 data[NUM_TASK_DATA];
};
extern struct Task gTasks[];
diff --git a/include/trade.h b/include/trade.h
index 0c95e1e81..72a04ed21 100644
--- a/include/trade.h
+++ b/include/trade.h
@@ -2,25 +2,26 @@
#define GUARD_TRADE_H
#include "link_rfu.h"
+#include "constants/trade.h"
// Exported type declarations
// Exported RAM declarations
-extern struct MailStruct gUnknown_020321C0[PARTY_SIZE];
-extern u8 gUnknown_02032298[2];
+extern struct MailStruct gTradeMail[PARTY_SIZE];
+extern u8 gSelectedTradeMonPositions[2];
// Exported ROM declarations
-extern const struct WindowTemplate gUnknown_0833900C;
+extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate;
-s32 sub_807A728(void);
-void sub_80773AC(void);
-void sub_807AE50(void);
-int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8);
-int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6);
-int sub_807A918(struct Pokemon*, u16);
-void sub_807B140(void);
-void sub_807B154(void);
-void sub_807F19C(void);
-void sub_807F1A8(u8, const u8 *, u8);
+s32 GetGameProgressForLinkTrade(void);
+void CB2_StartCreateTradeMenu(void);
+void CB2_LinkTrade(void);
+int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8);
+int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6);
+int CanSpinTradeMon(struct Pokemon*, u16);
+void InitTradeSequenceBgGpuRegs(void);
+void LinkTradeDrawWindow(void);
+void InitTradeBg(void);
+void DrawTextOnTradeWindow(u8, const u8 *, u8);
#endif //GUARD_TRADE_H
diff --git a/include/trainer_hill.h b/include/trainer_hill.h
index 31480287a..c07aeb6d7 100644
--- a/include/trainer_hill.h
+++ b/include/trainer_hill.h
@@ -32,15 +32,15 @@ struct TrHillDisplay
struct TrHillFloor
{
- u8 unk0;
- u8 unk1;
+ u8 trainerNum1;
+ u8 trainerNum2;
struct TrainerHillTrainer trainers[2];
struct TrHillDisplay display;
};
struct TrHillTag
{
- u8 unkField_0;
+ u8 numTrainers;
u8 unused1;
u8 numFloors;
u32 checksum;
@@ -57,25 +57,24 @@ u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId);
void InitTrainerHillBattleStruct(void);
void FreeTrainerHillBattleStruct(void);
void CopyTrainerHillTrainerText(u8 which, u16 trainerId);
-bool8 sub_81D5C18(void);
+bool8 InTrainerHillChallenge(void);
void nullsub_129(void);
void PrintOnTrainerHillRecordsWindow(void);
-void sub_81D5DF8(void);
-bool32 sub_81D5F48(void);
-void sub_81D5FB4(u16 *mapArg);
+void LoadTrainerHillEventObjectTemplates(void);
+bool32 LoadTrainerHillFloorEventObjectScripts(void);
+void GenerateTrainerHillFloorLayout(u16 *mapArg);
bool32 InTrainerHill(void);
u8 GetCurrentTrainerHillMapId(void);
-const struct WarpEvent* sub_81D6120(void);
-const struct WarpEvent* sub_81D6134(u8 warpEventId);
+const struct WarpEvent* SetWarpDestinationTrainerHill4F(void);
+const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId);
u16 LocalIdToHillTrainerId(u8 localId);
bool8 GetHillTrainerFlag(u8 eventObjectId);
void SetHillTrainerFlag(void);
const u8 *GetTrainerHillTrainerScript(void);
void FillHillTrainerParty(void);
void FillHillTrainersParties(void);
-u32 sub_81D63C4(void);
u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId);
-u8 sub_81D6490(void);
+u8 GetNumFloorsInTrainerHillChallenge(void);
void sub_81D64C0(void);
bool32 sub_81D6534(void);
diff --git a/include/trainer_see.h b/include/trainer_see.h
index a9b92d71b..daf9d0298 100644
--- a/include/trainer_see.h
+++ b/include/trainer_see.h
@@ -9,11 +9,11 @@ struct ApproachingTrainer
u8 taskId;
};
-extern u16 gUnknown_03006080;
-extern u8 gUnknown_03006084[4];
+extern u16 gWhichTrainerToFaceAfterBattle;
+extern u8 gPostBattleMovementScript[4];
extern struct ApproachingTrainer gApproachingTrainers[2];
extern u8 gNoOfApproachingTrainers;
-extern u8 gUnknown_030060AC;
+extern bool8 gTrainerApproachedPlayer;
extern u8 gApproachingTrainerId;
bool8 CheckForTrainersWantingBattle(void);
@@ -25,6 +25,6 @@ u8 FldEff_QuestionMarkIcon(void);
u8 FldEff_HeartIcon(void);
u8 GetCurrentApproachingTrainerEventObjectId(void);
u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId);
-void sub_80B4808(void);
+void PlayerFaceTrainerAfterBattle(void);
#endif // GUARD_TRAINER_SEE_H
diff --git a/include/tv.h b/include/tv.h
index ec7ac1e89..8e9233c2b 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -9,18 +9,18 @@ extern u8 *const gTVStringVarPtrs[3];
void ClearTVShowData(void);
void sub_80EE184(void);
void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove);
-void sub_80EE8C8(u16 winStreak, u8 facility);
+void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facility);
void DoTVShow(void);
void DoTVShowInSearchOfTrainers(void);
-void sub_80EDCE8(void);
-void sub_80EE2CC(void);
-void sub_80EE72C(void);
-void sub_80EED10(void);
-void sub_80EED34(void);
-void sub_80EED60(u16 delta);
-void sub_80F01B8(void);
+void TryPutTreasureInvestigatorsOnAir(void);
+void TryPutLotteryWinnerReportOnAir(void);
+void TryPutTrainerFanClubOnAir(void);
+void IncrementDailyPlantedBerries(void);
+void IncrementDailyPickedBerries(void);
+void IncrementDailyBattlePoints(u16 delta);
+void HideBattleTowerReporter(void);
void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx);
-void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx);
+void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx);
u32 GetPlayerIDAsU32(void);
bool8 GetPriceReduction(u8 newsKind);
void sub_80F14F8(TVShow *shows);
@@ -29,17 +29,17 @@ u8 GetRibbonCount(struct Pokemon *pokemon);
void AlertTVThatPlayerPlayedSlotMachine(u16 nCoinsSpent);
void AlertTVThatPlayerPlayedRoulette(u16 nCoinsSpent);
void AlertTVOfNewCoinTotal(u16 nCoinsPaidOut);
-void sub_80EEA70(void);
+void TryPutSecretBaseSecretsOnAir(void);
void sub_80EDB44(void);
void sub_80EDC60(const u16 *words);
void sub_80EDA80(void);
void ReceivePokeNewsData(void *src, u32 size, u8 masterIdx);
void sub_80F0BB8(void);
void sub_80ED950(bool8 flag);
-void sub_80EEC80(void);
-void sub_80EECA4(void);
-void sub_80EECC8(void);
-void sub_80EECEC(void);
+void IncrementDailySlotsUses(void);
+void IncrementDailyRouletteUses(void);
+void IncrementDailyWildBattles(void);
+void IncrementDailyBerryBlender(void);
void sub_80F1208(TVShow *shows);
void sub_80EE44C(u8 nMonsCaught, u8 nPkblkUsed);
void sub_80F14F8(TVShow *shows);
@@ -56,7 +56,7 @@ void InterviewAfter(void);
void UpdateTVScreensOnMap(int, int);
void TV_PrintIntToStringVar(u8 varIdx, int value);
void SaveRecordedItemPurchasesForTVShow(void);
-bool8 sub_80EE818(void);
+bool8 ShouldAirFrontierTVShow(void);
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace);
void ContestLiveUpdates_BeforeInterview_1(u8 a0);
diff --git a/include/union_room.h b/include/union_room.h
index facc63986..54f09cbeb 100644
--- a/include/union_room.h
+++ b/include/union_room.h
@@ -135,7 +135,7 @@ union UnkUnion_Main
struct UnkStruct_URoom *uRoom;
};
-struct TradeUnkStruct
+struct UnionRoomTrade
{
u16 field_0;
u16 type;
@@ -156,8 +156,8 @@ extern u8 gUnknown_02022C2C;
extern union UnkUnion_Main gUnknown_02022C30;
extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
-extern u16 gUnknown_02022C3C;
-extern u8 gUnknown_02022C3E;
+extern u16 gUnionRoomOfferedSpecies;
+extern u8 gUnionRoomRequestedMonType;
// Exported ROM declarations
diff --git a/include/union_room_chat.h b/include/union_room_chat.h
index 17e482525..e7ca9d46e 100755
--- a/include/union_room_chat.h
+++ b/include/union_room_chat.h
@@ -1,6 +1,17 @@
#ifndef GUARD_UNION_ROOM_CHAT_H
#define GUARD_UNION_ROOM_CHAT_H
+enum
+{
+ UNION_ROOM_KB_PAGE_UPPER,
+ UNION_ROOM_KB_PAGE_LOWER,
+ UNION_ROOM_KB_PAGE_EMOJI,
+ UNION_ROOM_KB_PAGE_COUNT
+};
+
+#define UNION_ROOM_KB_ROW_COUNT 10
+
+
void sub_801DD98(void);
void copy_strings_to_sav1(void);
diff --git a/ld_script.txt b/ld_script.txt
index 4247fca4d..7e0eeac3d 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -49,15 +49,15 @@ SECTIONS {
{
src/crt0.o(.text);
src/main.o(.text);
- src/alloc.o(.text);
- src/dma3_manager.o(.text);
- src/gpu_regs.o(.text);
- src/bg.o(.text);
- src/blit.o(.text);
- src/window.o(.text);
- src/text.o(.text);
- src/sprite.o(.text);
- src/string_util.o(.text);
+ gflib/malloc.o(.text);
+ gflib/dma3_manager.o(.text);
+ gflib/gpu_regs.o(.text);
+ gflib/bg.o(.text);
+ gflib/blit.o(.text);
+ gflib/window.o(.text);
+ gflib/text.o(.text);
+ gflib/sprite.o(.text);
+ gflib/string_util.o(.text);
src/link.o(.text);
src/link_rfu.o(.text);
src/union_room.o(.text);
@@ -72,7 +72,6 @@ SECTIONS {
src/mevent_news.o(.text);
src/union_room_chat.o(.text);
src/berry_crush.o(.text);
- asm/berry_crush.o(.text);
src/berry_powder.o(.text);
src/dodrio_berry_picking.o(.text);
src/pokemon_jump.o(.text);
@@ -204,7 +203,7 @@ SECTIONS {
src/dewford_trend.o(.text);
src/heal_location.o(.text);
src/region_map.o(.text);
- src/contest_painting_effects.o(.text);
+ src/image_processing_effects.o(.text);
src/decoration.o(.text);
src/slot_machine.o(.text);
src/contest_painting.o(.text);
@@ -287,7 +286,7 @@ SECTIONS {
src/battle_arena.o(.text);
src/battle_factory.o(.text);
src/battle_pike.o(.text);
- src/mossdeep_gym.o(.text);
+ src/rotating_tile_puzzle.o(.text);
src/battle_pyramid.o(.text);
src/item_menu.o(.text);
src/list_menu.o(.text);
@@ -361,7 +360,21 @@ SECTIONS {
src/librfu_rfu.o(.text);
asm/librfu.o(.text);
src/libisagbprn.o(.text);
- src/libagbsyscall.o(.text);
+ *libagbsyscall.a:ArcTan2.o(.text);
+ *libagbsyscall.a:BgAffineSet.o(.text);
+ *libagbsyscall.a:CpuFastSet.o(.text);
+ *libagbsyscall.a:CpuSet.o(.text);
+ *libagbsyscall.a:Div.o(.text);
+ *libagbsyscall.a:LZ77UnCompVram.o(.text);
+ *libagbsyscall.a:LZ77UnCompWram.o(.text);
+ *libagbsyscall.a:MultiBoot.o(.text);
+ *libagbsyscall.a:ObjAffineSet.o(.text);
+ *libagbsyscall.a:RLUnCompVram.o(.text);
+ *libagbsyscall.a:RLUnCompWram.o(.text);
+ *libagbsyscall.a:RegisterRamReset.o(.text);
+ *libagbsyscall.a:SoftReset.o(.text);
+ *libagbsyscall.a:Sqrt.o(.text);
+ *libagbsyscall.a:VBlankIntrWait.o(.text);
*libgcc.a:_call_via_rX.o(.text);
*libgcc.a:_divdi3.o(.text);
*libgcc.a:_divsi3.o(.text);
@@ -420,12 +433,12 @@ SECTIONS {
ALIGN(4)
{
src/main.o(.rodata);
- src/bg.o(.rodata);
- src/window.o(.rodata);
- src/text.o(.rodata);
- src/sprite.o(.rodata);
+ gflib/bg.o(.rodata);
+ gflib/window.o(.rodata);
+ gflib/text.o(.rodata);
+ gflib/sprite.o(.rodata);
data/io_reg.o(.rodata);
- src/string_util.o(.rodata);
+ gflib/string_util.o(.rodata);
src/link.o(.rodata);
src/link.o(.rodata.str1.4);
src/link_rfu.o(.rodata);
@@ -561,8 +574,8 @@ SECTIONS {
src/menu_helpers.o(.rodata);
src/heal_location.o(.rodata);
src/region_map.o(.rodata);
- src/contest_painting_effects.o(.rodata);
- data/contest_painting_effects.o(.rodata);
+ src/image_processing_effects.o(.rodata);
+ data/image_processing_effects.o(.rodata);
src/decoration.o(.rodata);
src/slot_machine.o(.rodata);
data/slot_machine.o(.rodata);
@@ -630,8 +643,8 @@ SECTIONS {
src/battle_arena.o(.rodata);
src/battle_factory.o(.rodata);
src/battle_pike.o(.rodata);
- src/mossdeep_gym.o(.rodata);
- data/mossdeep_gym.o(.rodata);
+ src/rotating_tile_puzzle.o(.rodata);
+ data/rotating_tile_puzzle.o(.rodata);
src/battle_pyramid.o(.rodata);
src/item_menu.o(.rodata);
src/list_menu.o(.rodata);
@@ -673,7 +686,7 @@ SECTIONS {
data/text_input_strings.o(.rodata);
data/fonts.o(.rodata);
src/mystery_event_msg.o(.rodata);
- data/mystery_event_msg.o(.rodata);
+ data/mystery_event.o(.rodata);
src/m4a_tables.o(.rodata);
data/sound_data.o(.rodata);
} =0
diff --git a/ld_script_modern.txt b/ld_script_modern.txt
index 5157e81dc..bf575857e 100644
--- a/ld_script_modern.txt
+++ b/ld_script_modern.txt
@@ -14,6 +14,7 @@ SECTIONS {
. = 0x1C000;
src/*.o(ewram_data);
+ gflib/*.o(ewram_data);
. = 0x40000;
}
@@ -25,12 +26,14 @@ SECTIONS {
{
/* .bss starts at 0x3000000 */
src/*.o(.bss);
+ gflib/*.o(.bss);
/* .bss.code starts at 0x3001AA8 */
src/m4a.o(.bss.code);
/* COMMON starts at 0x30022A8 */
src/*.o(COMMON);
+ gflib/*.o(COMMON);
*libc.a:sbrkr.o(COMMON);
end = .;
. = 0x8000;
@@ -43,6 +46,7 @@ SECTIONS {
{
src/crt0.o(.text);
src/*.o(.text);
+ gflib/*.o(.text);
asm/*.o(.text);
} =0
@@ -67,7 +71,7 @@ SECTIONS {
asm/librfu_intr.o(.text);
src/librfu_rfu.o(.text);
asm/librfu.o(.text);
- src/libagbsyscall.o(.text);
+ *libagbsyscall.a:*.o(.text*);
*libgcc.a:*.o(.text*);
*libc.a:*.o(.text*);
src/libisagbprn.o(.text);
@@ -77,6 +81,7 @@ SECTIONS {
ALIGN(4)
{
src/*.o(.rodata*);
+ gflib/*.o(.rodata*);
data/*.o(.rodata*);
} =0
diff --git a/libagbsyscall/Makefile b/libagbsyscall/Makefile
new file mode 100644
index 000000000..911cdb237
--- /dev/null
+++ b/libagbsyscall/Makefile
@@ -0,0 +1,98 @@
+TOOLCHAIN := $(DEVKITARM)
+COMPARE ?= 0
+
+ifeq ($(CC),)
+HOSTCC := gcc
+else
+HOSTCC := $(CC)
+endif
+
+ifeq ($(CXX),)
+HOSTCXX := g++
+else
+HOSTCXX := $(CXX)
+endif
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+else
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
+PREFIX := arm-none-eabi-
+OBJCOPY := $(PREFIX)objcopy
+export CC := $(PREFIX)gcc
+export AS := $(PREFIX)as
+endif
+export CPP := $(PREFIX)cpp
+export LD := $(PREFIX)ld
+
+ifeq ($(OS),Windows_NT)
+EXE := .exe
+else
+EXE :=
+endif
+
+ASFLAGS := -mcpu=arm7tdmi
+ARFLAGS := rc
+
+SYSCALLS := IntrWait \
+ RegisterRamReset \
+ Sqrt \
+ MusicPlayerOpen \
+ SoundBiasReset \
+ SoundDriverVSyncOn \
+ Mod \
+ VBlankIntrWait \
+ MusicPlayerStart \
+ SoundDriverVSyncOff \
+ HuffUnComp \
+ SoftResetExram \
+ MusicPlayerFadeOut \
+ LZ77UnCompWram \
+ SoundDriverMain \
+ SoundBiasChange \
+ LZ77UnCompVram \
+ ArcTan2 \
+ MusicPlayerStop \
+ DivArm \
+ ModArm \
+ SoundDriverVSync \
+ SoundDriverInit \
+ BgAffineSet \
+ Diff8bitUnFilterWram \
+ MultiBoot \
+ MidiKey2Freq \
+ Div \
+ Diff8bitUnFilterVram \
+ ArcTan \
+ ObjAffineSet \
+ SoftResetRom \
+ SoundDriverMode \
+ RLUnCompWram \
+ BitUnPack \
+ SoundChannelClear \
+ CpuFastSet \
+ CpuSet \
+ Diff16bitUnFilter \
+ SoundBiasSet \
+ MusicPlayerContinue \
+ SoftReset \
+ RLUnCompVram
+
+ASM_SRCS := libagbsyscall.s
+ASM_OBJS := $(foreach syscall, $(SYSCALLS), $(syscall).o)
+
+LIB := libagbsyscall.a
+
+.PHONY: all clean
+
+all: $(LIB)
+ @:
+
+clean:
+ rm -f $(LIB) $(ASM_OBJS)
+
+$(LIB): $(ASM_OBJS)
+ $(AR) $(ARFLAGS) $@ $^
+
+$(ASM_OBJS): libagbsyscall.s
+ $(AS) $(ASFLAGS) --defsym L_$(*F)=1 -o $@ $<
diff --git a/libagbsyscall/libagbsyscall.s b/libagbsyscall/libagbsyscall.s
new file mode 100644
index 000000000..893235e32
--- /dev/null
+++ b/libagbsyscall/libagbsyscall.s
@@ -0,0 +1,432 @@
+ .include "../constants/gba_constants.inc"
+ .include "../asm/macros/function.inc"
+
+ .text
+
+ .set SOFT_RESET_DIRECT_BUF, 0x03007FFA
+ .set RESET_EX_WRAM_FLAG, 0x1
+
+ .ifdef NO_GRANULAR_AGBSYSCALL
+ .set L_IntrWait, 1
+ .set L_RegisterRamReset, 1
+ .set L_Sqrt, 1
+ .set L_MusicPlayerOpen, 1
+ .set L_SoundBiasReset, 1
+ .set L_SoundDriverVSyncOn, 1
+ .set L_Mod, 1
+ .set L_VBlankIntrWait, 1
+ .set L_MusicPlayerStart, 1
+ .set L_SoundDriverVSyncOff, 1
+ .set L_HuffUnComp, 1
+ .set L_SoftResetExram, 1
+ .set L_MusicPlayerFadeOut, 1
+ .set L_LZ77UnCompWram, 1
+ .set L_SoundDriverMain, 1
+ .set L_SoundBiasChange, 1
+ .set L_LZ77UnCompVram, 1
+ .set L_ArcTan2, 1
+ .set L_MusicPlayerStop, 1
+ .set L_DivArm, 1
+ .set L_ModArm, 1
+ .set L_SoundDriverVSync, 1
+ .set L_SoundDriverInit, 1
+ .set L_BgAffineSet, 1
+ .set L_Diff8bitUnFilterWram, 1
+ .set L_MultiBoot, 1
+ .set L_MidiKey2Freq, 1
+ .set L_Div, 1
+ .set L_Diff8bitUnFilterVram, 1
+ .set L_ArcTan, 1
+ .set L_ObjAffineSet, 1
+ .set L_SoftResetRom, 1
+ .set L_SoundDriverMode, 1
+ .set L_RLUnCompWram, 1
+ .set L_BitUnPack, 1
+ .set L_SoundChannelClear, 1
+ .set L_CpuFastSet, 1
+ .set L_CpuSet, 1
+ .set L_Diff16bitUnFilter, 1
+ .set L_SoundBiasSet, 1
+ .set L_MusicPlayerContinue, 1
+ .set L_SoftReset, 1
+ .set L_RLUnCompVram, 1
+ .endif
+
+ .ifdef L_IntrWait
+ thumb_func_start IntrWait
+IntrWait:
+ mov r2, #0
+ swi 4
+ bx lr
+ thumb_func_end IntrWait
+ .endif
+
+ .ifdef L_RegisterRamReset
+ thumb_func_start RegisterRamReset
+RegisterRamReset:
+ swi 1
+ bx lr
+ thumb_func_end RegisterRamReset
+ .endif
+
+ .ifdef L_Sqrt
+ thumb_func_start Sqrt
+Sqrt:
+ swi 8
+ bx lr
+ thumb_func_end Sqrt
+ .endif
+
+ .ifdef L_MusicPlayerOpen
+ thumb_func_start MusicPlayerOpen
+MusicPlayerOpen:
+ swi 32
+ bx lr
+ thumb_func_end MusicPlayerOpen
+ .endif
+
+ .ifdef L_SoundBiasReset
+ thumb_func_start SoundBiasReset
+SoundBiasReset:
+ mov r0, #0
+ swi 25
+ bx lr
+ thumb_func_end SoundBiasReset
+ .endif
+
+ .ifdef L_SoundDriverVSyncOn
+ thumb_func_start SoundDriverVSyncOn
+SoundDriverVSyncOn:
+ swi 41
+ bx lr
+ thumb_func_end SoundDriverVSyncOn
+ .endif
+
+ .ifdef L_Mod
+ thumb_func_start Mod
+Mod:
+ swi 6
+ mov r0, r1
+ bx lr
+ thumb_func_end Mod
+ .endif
+
+ .ifdef L_VBlankIntrWait
+ thumb_func_start VBlankIntrWait
+VBlankIntrWait:
+ mov r2, #0
+ swi 5
+ bx lr
+ thumb_func_end VBlankIntrWait
+ .endif
+
+ .ifdef L_MusicPlayerStart
+ thumb_func_start MusicPlayerStart
+MusicPlayerStart:
+ swi 33
+ bx lr
+ thumb_func_end MusicPlayerStart
+ .endif
+
+ .ifdef L_SoundDriverVSyncOff
+ thumb_func_start SoundDriverVSyncOff
+SoundDriverVSyncOff:
+ swi 40
+ bx lr
+ thumb_func_end SoundDriverVSyncOff
+ .endif
+
+ .ifdef L_HuffUnComp
+ thumb_func_start HuffUnComp
+HuffUnComp:
+ swi 19
+ bx lr
+ thumb_func_end HuffUnComp
+ .endif
+
+ .ifdef L_SoftResetExram
+ thumb_func_start SoftResetExram
+SoftResetExram:
+ ldr r3, =REG_IME
+ mov r2, #0
+ strb r2, [r3, #0]
+ ldr r3, =SOFT_RESET_DIRECT_BUF
+ mov r2, #1
+ strb r2, [r3, #0]
+ sub r3, #SOFT_RESET_DIRECT_BUF - 0x3007f00
+ mov sp, r3
+ mov r2, #RESET_EX_WRAM_FLAG
+ bic r0, r2
+ swi 1
+ swi 0
+ .pool
+ thumb_func_end SoftResetExram
+ .endif
+
+ .ifdef L_MusicPlayerFadeOut
+ thumb_func_start MusicPlayerFadeOut
+MusicPlayerFadeOut:
+ swi 36
+ bx lr
+ thumb_func_end MusicPlayerFadeOut
+ .endif
+
+ .ifdef L_LZ77UnCompWram
+ thumb_func_start LZ77UnCompWram
+LZ77UnCompWram:
+ swi 17
+ bx lr
+ thumb_func_end LZ77UnCompWram
+ .endif
+
+ .ifdef L_SoundDriverMain
+ thumb_func_start SoundDriverMain
+SoundDriverMain:
+ swi 28
+ bx lr
+ thumb_func_end SoundDriverMain
+ .endif
+
+ .ifdef L_SoundBiasChange
+ thumb_func_start SoundBiasChange
+SoundBiasChange:
+ swi 25
+ bx lr
+ thumb_func_end SoundBiasChange
+ .endif
+
+ .ifdef L_LZ77UnCompVram
+ thumb_func_start LZ77UnCompVram
+LZ77UnCompVram:
+ swi 18
+ bx lr
+ thumb_func_end LZ77UnCompVram
+ .endif
+
+ .ifdef L_ArcTan2
+ thumb_func_start ArcTan2
+ArcTan2:
+ swi 10
+ bx lr
+ thumb_func_end ArcTan2
+ .endif
+
+ .ifdef L_MusicPlayerStop
+ thumb_func_start MusicPlayerStop
+MusicPlayerStop:
+ swi 34
+ bx lr
+ thumb_func_end MusicPlayerStop
+ .endif
+
+ .ifdef L_DivArm
+ thumb_func_start DivArm
+DivArm:
+ swi 7
+ bx lr
+ thumb_func_end DivArm
+ .endif
+
+ .ifdef L_ModArm
+ thumb_func_start ModArm
+ModArm:
+ swi 7
+ mov r0, r1
+ bx lr
+ thumb_func_end ModArm
+ .endif
+
+ .ifdef L_SoundDriverVSync
+ thumb_func_start SoundDriverVSync
+SoundDriverVSync:
+ swi 29
+ bx lr
+ thumb_func_end SoundDriverVSync
+ .endif
+
+ .ifdef L_SoundDriverInit
+ thumb_func_start SoundDriverInit
+SoundDriverInit:
+ swi 26
+ bx lr
+ thumb_func_end SoundDriverInit
+ .endif
+
+ .ifdef L_BgAffineSet
+ thumb_func_start BgAffineSet
+BgAffineSet:
+ swi 14
+ bx lr
+ thumb_func_end BgAffineSet
+ .endif
+
+ .ifdef L_Diff8bitUnFilterWram
+ thumb_func_start Diff8bitUnFilterWram
+Diff8bitUnFilterWram:
+ swi 22
+ bx lr
+ thumb_func_end Diff8bitUnFilterWram
+ .endif
+
+ .ifdef L_MultiBoot
+ thumb_func_start MultiBoot
+MultiBoot:
+ mov r1, #1
+ swi 37
+ bx lr
+ thumb_func_end MultiBoot
+ .endif
+
+ .ifdef L_MidiKey2Freq
+ thumb_func_start MidiKey2Freq
+MidiKey2Freq:
+ swi 31
+ bx lr
+ thumb_func_end MidiKey2Freq
+ .endif
+
+ .ifdef L_Div
+ thumb_func_start Div
+Div:
+ swi 6
+ bx lr
+ thumb_func_end Div
+ .endif
+
+ .ifdef L_Diff8bitUnFilterVram
+ thumb_func_start Diff8bitUnFilterVram
+Diff8bitUnFilterVram:
+ swi 23
+ bx lr
+ thumb_func_end Diff8bitUnFilterVram
+ .endif
+
+ .ifdef L_ArcTan
+ thumb_func_start ArcTan
+ArcTan:
+ swi 9
+ bx lr
+ thumb_func_end ArcTan
+ .endif
+
+ .ifdef L_ObjAffineSet
+ thumb_func_start ObjAffineSet
+ObjAffineSet:
+ swi 15
+ bx lr
+ thumb_func_end ObjAffineSet
+ .endif
+
+ .ifdef L_SoftResetRom
+ thumb_func_start SoftResetRom
+SoftResetRom:
+ ldr r3, =REG_IME
+ mov r2, #0
+ strb r2, [r3, #0]
+ ldr r3, =SOFT_RESET_DIRECT_BUF
+ mov r2, #0
+ strb r2, [r3, #0]
+ sub r3, #SOFT_RESET_DIRECT_BUF - 0x3007f00
+ mov sp, r3
+ swi 1
+ swi 0
+ .pool
+ thumb_func_end SoftResetRom
+ .endif
+
+ .ifdef L_SoundDriverMode
+ thumb_func_start SoundDriverMode
+SoundDriverMode:
+ swi 27
+ bx lr
+ thumb_func_end SoundDriverMode
+ .endif
+
+ .ifdef L_RLUnCompWram
+ thumb_func_start RLUnCompWram
+RLUnCompWram:
+ swi 20
+ bx lr
+ thumb_func_end RLUnCompWram
+ .endif
+
+ .ifdef L_BitUnPack
+ thumb_func_start BitUnPack
+BitUnPack:
+ swi 16
+ bx lr
+ thumb_func_end BitUnPack
+ .endif
+
+ .ifdef L_SoundChannelClear
+ thumb_func_start SoundChannelClear
+SoundChannelClear:
+ swi 30
+ bx lr
+ thumb_func_end SoundChannelClear
+ .endif
+
+ .ifdef L_CpuFastSet
+ thumb_func_start CpuFastSet
+CpuFastSet:
+ swi 12
+ bx lr
+ thumb_func_end CpuFastSet
+ .endif
+
+ .ifdef L_CpuSet
+ thumb_func_start CpuSet
+CpuSet:
+ swi 11
+ bx lr
+ thumb_func_end CpuSet
+ .endif
+
+ .ifdef L_Diff16bitUnFilter
+ thumb_func_start Diff16bitUnFilter
+Diff16bitUnFilter:
+ swi 24
+ bx lr
+ thumb_func_end Diff16bitUnFilter
+ .endif
+
+ .ifdef L_SoundBiasSet
+ thumb_func_start SoundBiasSet
+SoundBiasSet:
+ mov r0, #1
+ swi 25
+ bx lr
+ thumb_func_end SoundBiasSet
+ .endif
+
+ .ifdef L_MusicPlayerContinue
+ thumb_func_start MusicPlayerContinue
+MusicPlayerContinue:
+ swi 35
+ bx lr
+ thumb_func_end MusicPlayerContinue
+ .endif
+
+ .ifdef L_SoftReset
+ thumb_func_start SoftReset
+SoftReset:
+ ldr r3, =REG_IME
+ mov r2, #0
+ strb r2, [r3, #0]
+ ldr r1, =0x3007f00
+ mov sp, r1
+ swi 1
+ swi 0
+ .pool
+ thumb_func_end SoftReset
+ .endif
+
+ .ifdef L_RLUnCompVram
+ thumb_func_start RLUnCompVram
+RLUnCompVram:
+ swi 21
+ bx lr
+ thumb_func_end RLUnCompVram
+ .endif
+
+ .align 2, 0 @ Don't pad with nop
diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc
index f1518ee4b..80f91a01d 100644
--- a/sound/direct_sound_data.inc
+++ b/sound/direct_sound_data.inc
@@ -23,8 +23,8 @@ DirectSoundWaveData_sc88_timpani::
.incbin "sound/direct_sound_samples/sc88_timpani.bin"
.align 2
-DirectSoundWaveData_advanced_orchestra_voice_ahhs::
- .incbin "sound/direct_sound_samples/advanced_orchestra_voice_ahhs.bin"
+DirectSoundWaveData_classical_choir_voice_ahhs::
+ .incbin "sound/direct_sound_samples/classical_choir_voice_ahhs.bin"
.align 2
DirectSoundWaveData_sd90_classical_oboe::
@@ -59,16 +59,16 @@ DirectSoundWaveData_sc88_standard_kick::
.incbin "sound/direct_sound_samples/sc88_standard_kick.bin"
.align 2
-DirectSoundWaveData_sc88_standard_snare1::
- .incbin "sound/direct_sound_samples/sc88_standard_snare1.bin"
+DirectSoundWaveData_sc88_standard3_snare::
+ .incbin "sound/direct_sound_samples/sc88_standard3_snare.bin"
.align 2
DirectSoundWaveData_sc88_standard_hand_clap::
.incbin "sound/direct_sound_samples/sc88_standard_hand_clap.bin"
.align 2
-DirectSoundWaveData_sc88_standard_snare2::
- .incbin "sound/direct_sound_samples/sc88_standard_snare2.bin"
+DirectSoundWaveData_sc88_orchestra_snare::
+ .incbin "sound/direct_sound_samples/sc88_orchestra_snare.bin"
.align 2
DirectSoundWaveData_unknown_tom::
@@ -91,12 +91,12 @@ DirectSoundWaveData_unknown_tambourine::
.incbin "sound/direct_sound_samples/unknown_tambourine.bin"
.align 2
-DirectSoundWaveData_unknown_cymbal_crash::
- .incbin "sound/direct_sound_samples/unknown_cymbal_crash.bin"
+DirectSoundWaveData_trinity_cymbal_crash::
+ .incbin "sound/direct_sound_samples/trinity_cymbal_crash.bin"
.align 2
-DirectSoundWaveData_sc88_standard_cymbal_crash::
- .incbin "sound/direct_sound_samples/sc88_standard_cymbal_crash.bin"
+DirectSoundWaveData_sc88_orchestra_cymbal_crash::
+ .incbin "sound/direct_sound_samples/sc88_orchestra_cymbal_crash.bin"
.align 2
DirectSoundWaveData_sc88_bongo::
@@ -251,20 +251,20 @@ DirectSoundWaveData_emu_ii_pipe_organ::
.incbin "sound/direct_sound_samples/emu_ii_pipe_organ.bin"
.align 2
-DirectSoundWaveData_unused_unknown_female_voice::
- .incbin "sound/direct_sound_samples/unused_unknown_female_voice.bin"
+DirectSoundWaveData_unknown_female_voice::
+ .incbin "sound/direct_sound_samples/unknown_female_voice.bin"
.align 2
DirectSoundWaveData_unused_unknown_male_voice::
.incbin "sound/direct_sound_samples/unused_unknown_male_voice.bin"
.align 2
-DirectSoundWaveData_unknown_e_piano_low::
- .incbin "sound/direct_sound_samples/unknown_e_piano_low.bin"
+DirectSoundWaveData_sd90_classical_detuned_ep1_low::
+ .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_low.bin"
.align 2
-DirectSoundWaveData_unknown_e_piano_high::
- .incbin "sound/direct_sound_samples/unknown_e_piano_high.bin"
+DirectSoundWaveData_sd90_classical_detuned_ep1_high::
+ .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_high.bin"
.align 2
DirectSoundWaveData_sc88_timpani_with_snare::
@@ -275,8 +275,8 @@ DirectSoundWaveData_unknown_synth_snare::
.incbin "sound/direct_sound_samples/unknown_synth_snare.bin"
.align 2
-DirectSoundWaveData_unused_sc88_square::
- .incbin "sound/direct_sound_samples/unused_sc88_square.bin"
+DirectSoundWaveData_sc88_square_wave::
+ .incbin "sound/direct_sound_samples/sc88_square_wave.bin"
.align 2
DirectSoundWaveData_bicycle_bell::
@@ -1951,8 +1951,8 @@ DirectSoundWaveData_sc88_nylon_str_guitar::
.incbin "sound/direct_sound_samples/sc88_nylon_str_guitar.bin"
.align 2
-DirectSoundWaveData_sd90_classical_guitar_harmonics::
- .incbin "sound/direct_sound_samples/sd90_classical_guitar_harmonics.bin"
+DirectSoundWaveData_sd90_special_scream_drive::
+ .incbin "sound/direct_sound_samples/sd90_special_scream_drive.bin"
.align 2
DirectSoundWaveData_88DBBC0::
diff --git a/sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif b/sound/direct_sound_samples/classical_choir_voice_ahhs.aif
index e8784682e..e8784682e 100644
--- a/sound/direct_sound_samples/advanced_orchestra_voice_ahhs.aif
+++ b/sound/direct_sound_samples/classical_choir_voice_ahhs.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sc88_standard_cymbal_crash.aif b/sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif
index 576e3e19e..576e3e19e 100644
--- a/sound/direct_sound_samples/sc88_standard_cymbal_crash.aif
+++ b/sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sc88_standard_snare2.aif b/sound/direct_sound_samples/sc88_orchestra_snare.aif
index 36b640758..36b640758 100644
--- a/sound/direct_sound_samples/sc88_standard_snare2.aif
+++ b/sound/direct_sound_samples/sc88_orchestra_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unused_sc88_square.aif b/sound/direct_sound_samples/sc88_square_wave.aif
index 09e17f0ca..09e17f0ca 100644
--- a/sound/direct_sound_samples/unused_sc88_square.aif
+++ b/sound/direct_sound_samples/sc88_square_wave.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sc88_standard_snare1.aif b/sound/direct_sound_samples/sc88_standard3_snare.aif
index 544b187d5..544b187d5 100644
--- a/sound/direct_sound_samples/sc88_standard_snare1.aif
+++ b/sound/direct_sound_samples/sc88_standard3_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unknown_e_piano_high.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif
index 86ea0fa76..86ea0fa76 100644
--- a/sound/direct_sound_samples/unknown_e_piano_high.aif
+++ b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unknown_e_piano_low.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif
index fced03712..fced03712 100644
--- a/sound/direct_sound_samples/unknown_e_piano_low.aif
+++ b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif
Binary files differ
diff --git a/sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif b/sound/direct_sound_samples/sd90_special_scream_drive.aif
index 8b7a7da40..8b7a7da40 100644
--- a/sound/direct_sound_samples/sd90_classical_guitar_harmonics.aif
+++ b/sound/direct_sound_samples/sd90_special_scream_drive.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unknown_cymbal_crash.aif b/sound/direct_sound_samples/trinity_cymbal_crash.aif
index 4aec6882f..4aec6882f 100644
--- a/sound/direct_sound_samples/unknown_cymbal_crash.aif
+++ b/sound/direct_sound_samples/trinity_cymbal_crash.aif
Binary files differ
diff --git a/sound/direct_sound_samples/unused_unknown_female_voice.aif b/sound/direct_sound_samples/unknown_female_voice.aif
index b310823a7..b310823a7 100644
--- a/sound/direct_sound_samples/unused_unknown_female_voice.aif
+++ b/sound/direct_sound_samples/unknown_female_voice.aif
Binary files differ
diff --git a/sound/songs/midi/mus_battle20.mid b/sound/songs/midi/mus_battle20.mid
index a7140d984..531b5fba1 100644
--- a/sound/songs/midi/mus_battle20.mid
+++ b/sound/songs/midi/mus_battle20.mid
Binary files differ
diff --git a/sound/songs/midi/mus_battle32.mid b/sound/songs/midi/mus_battle32.mid
index a52fc6b37..0b7c49bd7 100644
--- a/sound/songs/midi/mus_battle32.mid
+++ b/sound/songs/midi/mus_battle32.mid
Binary files differ
diff --git a/sound/songs/midi/mus_fanfa5.mid b/sound/songs/midi/mus_fanfa5.mid
index 7232c57ab..8c94f1178 100644
--- a/sound/songs/midi/mus_fanfa5.mid
+++ b/sound/songs/midi/mus_fanfa5.mid
Binary files differ
diff --git a/sound/songs/midi/mus_me_b_big.mid b/sound/songs/midi/mus_me_b_big.mid
index eda461fd3..150a669b4 100644
--- a/sound/songs/midi/mus_me_b_big.mid
+++ b/sound/songs/midi/mus_me_b_big.mid
Binary files differ
diff --git a/sound/songs/midi/mus_me_b_small.mid b/sound/songs/midi/mus_me_b_small.mid
index a51f48ed4..bf7aa33be 100644
--- a/sound/songs/midi/mus_me_b_small.mid
+++ b/sound/songs/midi/mus_me_b_small.mid
Binary files differ
diff --git a/sound/songs/midi/mus_me_bachi.mid b/sound/songs/midi/mus_me_bachi.mid
index 27b97f09c..05fe1516a 100644
--- a/sound/songs/midi/mus_me_bachi.mid
+++ b/sound/songs/midi/mus_me_bachi.mid
Binary files differ
diff --git a/sound/songs/midi/mus_me_kinomi.mid b/sound/songs/midi/mus_me_kinomi.mid
index 30fbd3607..e7eb4afd1 100644
--- a/sound/songs/midi/mus_me_kinomi.mid
+++ b/sound/songs/midi/mus_me_kinomi.mid
Binary files differ
diff --git a/sound/songs/midi/mus_me_shinka.mid b/sound/songs/midi/mus_me_shinka.mid
index 81cd5d041..231f25533 100644
--- a/sound/songs/midi/mus_me_shinka.mid
+++ b/sound/songs/midi/mus_me_shinka.mid
Binary files differ
diff --git a/sound/songs/midi/mus_me_waza.mid b/sound/songs/midi/mus_me_waza.mid
index ac132f5ff..40f9c2ed8 100644
--- a/sound/songs/midi/mus_me_waza.mid
+++ b/sound/songs/midi/mus_me_waza.mid
Binary files differ
diff --git a/sound/songs/midi/mus_p_school.mid b/sound/songs/midi/mus_p_school.mid
index 55651dea5..4e6fd3340 100644
--- a/sound/songs/midi/mus_p_school.mid
+++ b/sound/songs/midi/mus_p_school.mid
Binary files differ
diff --git a/sound/songs/midi/mus_shinka.mid b/sound/songs/midi/mus_shinka.mid
index de8b2ab91..375e6d5db 100644
--- a/sound/songs/midi/mus_shinka.mid
+++ b/sound/songs/midi/mus_shinka.mid
Binary files differ
diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc
index c0f546ccf..4b71845aa 100644
--- a/sound/voice_groups.inc
+++ b/sound/voice_groups.inc
@@ -93,7 +93,7 @@ voicegroup001:: @ 8675FEC
voice_square_1 0, 0, 0, 1, 6, 0 @ 8676118
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676124
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676130
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 867613C
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 867613C
.align 2
voicegroup002:: @ 8676148
@@ -106,9 +106,9 @@ voicegroup002:: @ 8676148
voice_directsound 60, 0, DirectSoundWaveData_unknown_wood_block_high, 255, 0, 255, 0 @ 8676190
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 867619C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86761A8
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86761B4
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86761B4
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86761C0
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86761CC
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86761CC
voice_directsound 48, 44, DirectSoundWaveData_unknown_tom, 255, 210, 77, 204 @ 86761D8
voice_directsound_no_resample 60, 79, DirectSoundWaveData_unknown_close_hihat, 255, 127, 0, 188 @ 86761E4
voice_directsound 51, 54, DirectSoundWaveData_unknown_tom, 255, 216, 77, 204 @ 86761F0
@@ -123,12 +123,12 @@ voicegroup002:: @ 8676148
voice_square_1 0, 2, 0, 0, 15, 0 @ 867625C
voice_directsound_no_resample 70, 49, DirectSoundWaveData_unknown_bell, 255, 165, 103, 231 @ 8676268
voice_directsound_no_resample 32, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 8676274
- voice_directsound_no_resample 60, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 235, 0, 165 @ 8676280
+ voice_directsound_no_resample 60, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 235, 0, 165 @ 8676280
voice_square_1 0, 2, 0, 0, 15, 0 @ 867628C
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 8676298
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 8676298
voice_square_1 0, 2, 0, 0, 15, 0 @ 86762A4
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 86762B0
- voice_directsound_no_resample 30, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86762BC
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 86762B0
+ voice_directsound_no_resample 30, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86762BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86762C8
voice_directsound_no_resample 72, 104, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86762D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86762E0
@@ -137,30 +137,30 @@ voicegroup002:: @ 8676148
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 8676304
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676310
voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 867631C
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676328
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676328
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676334
- voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676340
+ voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676340
voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867634C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676358
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676358
voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676364
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676370
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676370
voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867637C
voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676388
- voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676394
+ voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676394
voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 86763A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86763AC
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86763B8
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86763B8
voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86763C4
.align 2
voicegroup003:: @ 86763D0
voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86763D0
- voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86763DC
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86763DC
voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86763E8
- voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86763F4
+ voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86763F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676400
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867640C
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 8676418
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867640C
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 8676418
voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 8676424
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 8676430
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 867643C
@@ -194,30 +194,30 @@ voicegroup003:: @ 86763D0
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 867658C
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676598
voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86765A4
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86765B0
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86765B0
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765BC
- voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86765C8
+ voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86765C8
voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765D4
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86765E0
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86765E0
voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86765EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86765F8
voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676604
voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676610
- voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867661C
+ voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867661C
voice_directsound 64, 104, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 235 @ 8676628
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676634
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676640
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676640
voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 867664C
.align 2
voicegroup004:: @ 8676658
voice_directsound_no_resample 66, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 8676658
- voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 8676664
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 8676664
voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 8676670
- voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867667C
+ voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867667C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676688
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676694
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86766A0
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676694
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86766A0
voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86766AC
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86766B8
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86766C4
@@ -251,27 +251,27 @@ voicegroup004:: @ 8676658
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 8676814
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 8676820
voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 867682C
- voice_directsound 65, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676838
+ voice_directsound 65, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676838
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676844
- voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8676850
+ voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8676850
voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867685C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8676868
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8676868
voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676874
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676880
voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 867688C
voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 8676898
- voice_directsound 56, 89, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86768A4
+ voice_directsound 56, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86768A4
voice_directsound 64, 104, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 235 @ 86768B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86768BC
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86768C8
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86768C8
voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86768D4
voice_directsound_no_resample 66, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86768E0
- voice_directsound 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86768EC
+ voice_directsound 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86768EC
voice_directsound 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86768F8
- voice_directsound 60, 29, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 8676904
+ voice_directsound 60, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 8676904
voice_square_1 0, 2, 0, 0, 15, 0 @ 8676910
- voice_directsound 58, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 867691C
- voice_directsound 62, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 8676928
+ voice_directsound 58, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 867691C
+ voice_directsound 62, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 8676928
voice_directsound 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 8676934
voice_directsound 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 8676940
voice_directsound 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 867694C
@@ -1098,9 +1098,9 @@ voicegroup016:: @ 8678C74
voice_noise_alt 0, 0, 1, 0, 1 @ 8678E18
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 8678E24
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E30
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 8678E3C
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 8678E3C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E48
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 8678E54
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 8678E54
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E60
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E78
@@ -1623,9 +1623,9 @@ voicegroup022:: @ 867A438
voice_square_1_alt 0, 0, 0, 0, 7, 0 @ 867A5DC
voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 867A5E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A5F4
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 867A600
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 867A600
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A60C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 867A618
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 867A618
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A624
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A630
voice_square_1 0, 2, 0, 0, 15, 0 @ 867A63C
@@ -2420,7 +2420,7 @@ voicegroup031:: @ 867C838
voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA00
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA0C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 867CA18
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 867CA18
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA24
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA30
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA3C
@@ -2437,9 +2437,9 @@ voicegroup031:: @ 867C838
voice_directsound_no_resample 32, 49, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 867CAC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CACC
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAD8
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 867CAE4
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 867CAE4
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAF0
- voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 867CAFC
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 867CAFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB08
voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB14
voice_directsound_no_resample 72, 79, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 867CB20
@@ -11583,7 +11583,7 @@ voicegroup107:: @ 8696A70
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CE0
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 8696CEC
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 8696CEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D04
voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D10
@@ -12040,7 +12040,7 @@ voicegroup111:: @ 8698054
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981A4
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 226 @ 86981B0
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 195 @ 86981BC
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 195 @ 86981C8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 195 @ 86981C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86981EC
@@ -12192,8 +12192,8 @@ voicegroup112:: @ 8698654
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988B8
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 128, 165, 128, 188 @ 86988C4
- voice_directsound 60, 0, DirectSoundWaveData_unused_unknown_female_voice, 128, 165, 128, 204 @ 86988D0
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 128, 165, 128, 188 @ 86988C4
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_female_voice, 128, 165, 128, 204 @ 86988D0
voice_directsound 60, 0, DirectSoundWaveData_unused_unknown_male_voice, 128, 165, 128, 188 @ 86988DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86988F4
@@ -12529,7 +12529,7 @@ voicegroup114:: @ 8699254
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699824
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699830
voice_square_1 0, 2, 0, 0, 15, 0 @ 869983C
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 8699848
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 8699848
.align 2
voicegroup115:: @ 8699854
@@ -12537,8 +12537,8 @@ voicegroup115:: @ 8699854
voice_keysplit voicegroup005, KeySplitTable1 @ 8699860
voice_square_1 0, 2, 0, 0, 15, 0 @ 869986C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699878
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 128, 249, 0, 188 @ 8699884
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 188, 103, 165 @ 8699890
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 128, 249, 0, 188 @ 8699884
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 188, 103, 165 @ 8699890
voice_square_1 0, 2, 0, 0, 15, 0 @ 869989C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86998A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86998B4
@@ -12653,7 +12653,7 @@ voicegroup115:: @ 8699854
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DDC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DE8
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 8699DF4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 8699DF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E00
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E18
@@ -13465,7 +13465,7 @@ voicegroup123:: @ 869BCF0
voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2D8
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 869C2E4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 869C2E4
.align 2
voicegroup124:: @ 869C2F0
@@ -13772,8 +13772,8 @@ voicegroup126:: @ 869CAF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0D0
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 216 @ 869D0DC
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 246, 0, 216 @ 869D0E8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 216 @ 869D0DC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 869D0E8
.align 2
voicegroup127:: @ 869D0F4
@@ -13790,8 +13790,8 @@ voicegroup127:: @ 869D0F4
voice_square_1_alt 0, 2, 2, 0, 15, 0 @ 869D16C
voice_square_1_alt 0, 1, 2, 0, 15, 0 @ 869D178
voice_square_1_alt 23, 1, 0, 1, 9, 0 @ 869D184
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 165 @ 869D190
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 165 @ 869D19C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 165 @ 869D190
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 165 @ 869D19C
voice_square_1_alt 0, 2, 0, 6, 0, 1 @ 869D1A8
voice_square_1_alt 36, 0, 0, 2, 0, 0 @ 869D1B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1C0
@@ -13922,17 +13922,17 @@ voicegroup128:: @ 869D6F4
voice_noise_alt 1, 0, 2, 0, 0 @ 869D778
voice_square_1 103, 3, 2, 7, 0, 0 @ 869D784
voice_square_2 3, 2, 7, 0, 0 @ 869D790
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 127 @ 869D79C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 869D79C
voice_directsound 60, 0, DirectSoundWaveData_872921C, 255, 0, 255, 0 @ 869D7A8
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 204, 0, 127 @ 869D7B4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 869D7B4
voice_square_1_alt 0, 2, 0, 2, 0, 1 @ 869D7C0
voice_directsound 60, 0, DirectSoundWaveData_872A5D0, 255, 0, 255, 127 @ 869D7CC
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 869D7D8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 869D7D8
voice_square_1 103, 0, 0, 7, 0, 0 @ 869D7E4
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 127 @ 869D7F0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 127 @ 869D7F0
voice_directsound 60, 0, DirectSoundWaveData_sc88_wind, 255, 0, 255, 127 @ 869D7FC
voice_directsound 60, 0, DirectSoundWaveData_sc88_bubbles, 255, 0, 255, 127 @ 869D808
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 127 @ 869D814
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 127 @ 869D814
voice_noise_alt 0, 0, 7, 15, 1 @ 869D820
voice_directsound 60, 0, DirectSoundWaveData_872EEA8, 255, 0, 255, 127 @ 869D82C
voice_noise_alt 1, 0, 7, 15, 1 @ 869D838
@@ -13960,7 +13960,7 @@ voicegroup128:: @ 869D6F4
voice_square_1 0, 0, 4, 0, 15, 0 @ 869D940
voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 188, 0, 0 @ 869D94C
voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 226, 0, 127 @ 869D958
- voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_cymbal_crash, 26, 0, 255, 127 @ 869D964
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 26, 0, 255, 127 @ 869D964
voice_square_1_alt 0, 2, 0, 1, 0, 0 @ 869D970
voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 252, 0, 127 @ 869D97C
voice_square_1_alt 0, 1, 0, 2, 0, 0 @ 869D988
@@ -13975,7 +13975,7 @@ voicegroup128:: @ 869D6F4
voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 869D9F4
voice_directsound 60, 0, DirectSoundWaveData_unknown_tom, 255, 0, 255, 165 @ 869DA00
voice_noise_alt 0, 5, 7, 15, 1 @ 869DA0C
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 128, 242, 0, 165 @ 869DA18
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 128, 242, 0, 165 @ 869DA18
voice_directsound 60, 0, DirectSoundWaveData_sc88_string_ensemble_72, 255, 0, 255, 165 @ 869DA24
voice_square_1 0, 0, 1, 5, 0, 0 @ 869DA30
voice_noise_alt 0, 6, 6, 0, 1 @ 869DA3C
@@ -14852,7 +14852,7 @@ voicegroup129:: @ 86A0154
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02BC
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A02C8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A02C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02EC
@@ -14869,7 +14869,7 @@ voicegroup129:: @ 86A0154
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0370
voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 252, 0, 204 @ 86A037C
voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 86A0388
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 204, 0, 127 @ 86A0394
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 86A0394
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03A0
voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 86A03AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03B8
@@ -15435,7 +15435,7 @@ voicegroup133:: @ 86A1BB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D68
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D74
voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86A1D80
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86A1D8C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86A1D8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D98
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DB0
@@ -15516,7 +15516,7 @@ voicegroup133:: @ 86A1BB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2134
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2140
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A214C
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A2158
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A2158
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2164
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2170
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A217C
@@ -15841,8 +15841,8 @@ voicegroup137:: @ 86A2FD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FF8
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 165, 180, 165 @ 86A3004
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 137, 154, 165 @ 86A3010
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 165, 180, 165 @ 86A3004
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 137, 154, 165 @ 86A3010
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A301C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3028
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3034
@@ -15972,8 +15972,8 @@ voicegroup138:: @ 86A35D4
voice_keysplit voicegroup005, KeySplitTable1 @ 86A35E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35F8
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86A3604
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86A3610
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86A3604
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86A3610
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A361C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3628
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3634
@@ -16721,8 +16721,8 @@ voicegroup145:: @ 86A57F4
voice_keysplit voicegroup005, KeySplitTable1 @ 86A5800
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A580C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5818
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86A5824
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86A5830
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86A5824
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86A5830
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A583C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5848
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5854
@@ -17079,7 +17079,7 @@ voicegroup148:: @ 86A67E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A685C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6868
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6874
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 226, 0, 127 @ 86A6880
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 86A6880
voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 86A688C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6898
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68A4
@@ -17105,7 +17105,7 @@ voicegroup148:: @ 86A67E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6994
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69AC
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86A69B8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86A69B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69DC
@@ -17781,7 +17781,7 @@ voicegroup154:: @ 86A8860
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A886C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8878
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8884
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A8890
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A8890
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A889C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88B4
@@ -17877,8 +17877,8 @@ voicegroup155:: @ 86A8CBC
voice_keysplit voicegroup005, KeySplitTable1 @ 86A8CC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CE0
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A8CEC
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 255, 188, 103, 165 @ 86A8CF8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A8CEC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 188, 103, 165 @ 86A8CF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D04
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D10
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D1C
@@ -17993,7 +17993,7 @@ voicegroup155:: @ 86A8CBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9238
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9244
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9250
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A925C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A925C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9268
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9274
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9280
@@ -18009,7 +18009,7 @@ voicegroup156:: @ 86A92BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92D4
voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A92E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92EC
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A92F8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A92F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9304
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9310
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A931C
@@ -18124,7 +18124,7 @@ voicegroup156:: @ 86A92BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9838
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9844
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9850
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86A985C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86A985C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9868
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9874
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9880
@@ -18270,7 +18270,7 @@ voicegroup158:: @ 86A9EBC
voice_keysplit voicegroup005, KeySplitTable1 @ 86A9EC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9ED4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EE0
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86A9EEC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86A9EEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F04
voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F10
@@ -18297,7 +18297,7 @@ voicegroup158:: @ 86A9EBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA00C
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 86AA018
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 86AA024
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86AA030
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86AA030
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA03C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA048
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA054
@@ -18305,7 +18305,7 @@ voicegroup158:: @ 86A9EBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA06C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA078
voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86AA084
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86AA090
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86AA090
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA09C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0B4
@@ -18319,7 +18319,7 @@ voicegroup158:: @ 86A9EBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA114
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA120
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA12C
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 86AA138
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 86AA138
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA144
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA150
voice_keysplit voicegroup007, KeySplitTable3 @ 86AA15C
@@ -18401,8 +18401,8 @@ voicegroup159:: @ 86AA4BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4E0
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 64, 249, 0, 188 @ 86AA4EC
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 51, 249, 0, 165 @ 86AA4F8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 86AA4EC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 51, 249, 0, 165 @ 86AA4F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA504
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA510
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA51C
@@ -18754,7 +18754,7 @@ voicegroup162:: @ 86AB4DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB500
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_high, 64, 188, 108, 244 @ 86AB50C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 64, 188, 108, 244 @ 86AB50C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB518
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB524
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB530
@@ -18850,8 +18850,8 @@ voicegroup163:: @ 86AB938
voice_keysplit voicegroup005, KeySplitTable1 @ 86AB944
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB950
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB95C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AB968
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AB974
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AB968
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AB974
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB980
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB98C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB998
@@ -18981,8 +18981,8 @@ voicegroup164:: @ 86ABF38
voice_keysplit voicegroup005, KeySplitTable1 @ 86ABF44
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF50
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF5C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 128, 180, 108, 209 @ 86ABF68
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 85, 204, 77, 246 @ 86ABF74
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 128, 180, 108, 209 @ 86ABF68
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 85, 204, 77, 246 @ 86ABF74
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF80
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF98
@@ -19270,7 +19270,7 @@ voicegroup166:: @ 86ACB38
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC88
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 86ACC94
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 86ACCA0
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86ACCAC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86ACCAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCC4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCD0
@@ -19278,7 +19278,7 @@ voicegroup166:: @ 86ACB38
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCF4
voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 86ACD00
- voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_square, 255, 0, 255, 127 @ 86ACD0C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 86ACD0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD18
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD24
voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD30
@@ -19505,8 +19505,8 @@ voicegroup168:: @ 86AD738
voice_keysplit voicegroup005, KeySplitTable1 @ 86AD744
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD750
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD75C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AD768
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AD774
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AD768
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AD774
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD780
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD78C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD798
@@ -19948,8 +19948,8 @@ voicegroup172:: @ 86AEB6C
voice_keysplit voicegroup005, KeySplitTable1 @ 86AEB78
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB84
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB90
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AEB9C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 255, 204, 77, 246 @ 86AEBA8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AEB9C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 86AEBA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBCC
@@ -20079,8 +20079,8 @@ voicegroup173:: @ 86AF16C
voice_keysplit voicegroup005, KeySplitTable1 @ 86AF178
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF184
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF190
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86AF19C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86AF1A8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86AF19C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86AF1A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1CC
@@ -20211,7 +20211,7 @@ voicegroup174:: @ 86AF76C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF784
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF790
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF79C
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86AF7A8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86AF7A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7CC
@@ -20326,7 +20326,7 @@ voicegroup174:: @ 86AF76C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD00
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86AFD0C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86AFD0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD18
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD24
voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD30
@@ -20512,27 +20512,27 @@ voicegroup177:: @ 86B0378
voice_directsound_no_resample 67, 71, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 86B0534
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 86B0540
voice_directsound_no_resample 65, 0, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 86B054C
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86B0558
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86B0558
voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B0564
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0570
voice_directsound 68, 29, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B057C
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86B0588
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86B0588
voice_directsound 72, 64, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B0594
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05A0
voice_directsound 76, 39, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B05AC
voice_directsound 80, 89, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 86B05B8
- voice_directsound_no_resample 33, 10, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B05C4
+ voice_directsound_no_resample 33, 10, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B05C4
voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 86B05D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05DC
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B05E8
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B05E8
voice_directsound_no_resample 64, 64, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 86B05F4
voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86B0600
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86B060C
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86B060C
voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86B0618
- voice_directsound_no_resample 64, 118, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B0624
+ voice_directsound_no_resample 64, 118, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B0624
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0630
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B063C
- voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86B0648
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B063C
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86B0648
voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86B0654
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86B0660
voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86B066C
@@ -20751,8 +20751,8 @@ voicegroup180:: @ 86B0FF0
voice_keysplit voicegroup005, KeySplitTable1 @ 86B0FFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1008
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1014
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 64, 249, 0, 188 @ 86B1020
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 249, 0, 165 @ 86B102C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 86B1020
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 86B102C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1038
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1044
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1050
@@ -21181,7 +21181,7 @@ voicegroup184:: @ 86B2244
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2394
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23AC
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86B23B8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86B23B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23DC
@@ -21235,7 +21235,7 @@ voicegroup184:: @ 86B2244
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B261C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2628
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2634
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 255, 0, 255, 0 @ 86B2640
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 86B2640
.align 2
voicegroup185:: @ 86B264C
@@ -21270,7 +21270,7 @@ voicegroup185:: @ 86B264C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B279C
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 128, 0, 255, 214 @ 86B27A8
voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 128, 0, 255, 206 @ 86B27B4
- voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_guitar_harmonics, 255, 0, 255, 165 @ 86B27C0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 86B27C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27CC
voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 86B27D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27E4
@@ -21292,7 +21292,7 @@ voicegroup185:: @ 86B264C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28BC
- voice_directsound 60, 0, DirectSoundWaveData_advanced_orchestra_voice_ahhs, 85, 0, 154, 165 @ 86B28C8
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 85, 0, 154, 165 @ 86B28C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28E0
voice_keysplit voicegroup007, KeySplitTable3 @ 86B28EC
@@ -21636,8 +21636,8 @@ voicegroup188:: @ 86B384C
voice_keysplit voicegroup005, KeySplitTable1 @ 86B3858
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3864
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3870
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86B387C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86B3888
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86B387C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86B3888
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3894
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38AC
@@ -21767,8 +21767,8 @@ voicegroup189:: @ 86B3E4C
voice_keysplit voicegroup005, KeySplitTable1 @ 86B3E58
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E64
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E70
- voice_directsound 60, 0, DirectSoundWaveData_unknown_e_piano_low, 255, 188, 128, 226 @ 86B3E7C
- voice_directsound 60, 65, DirectSoundWaveData_unknown_e_piano_high, 128, 204, 77, 246 @ 86B3E88
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 86B3E7C
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 86B3E88
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E94
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EAC
@@ -21896,29 +21896,29 @@ voicegroup190:: @ 86B429C
voice_noise_alt 0, 0, 1, 9, 1 @ 86B4440
voice_directsound_no_resample 64, 64, DirectSoundWaveData_drum_and_percussion_kick, 255, 0, 255, 0 @ 86B444C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4458
- voice_directsound_no_resample 64, 52, DirectSoundWaveData_sc88_standard_snare2, 255, 0, 255, 242 @ 86B4464
+ voice_directsound_no_resample 64, 52, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 86B4464
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4470
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B447C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4488
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4494
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44A0
- voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_snare1, 255, 0, 255, 242 @ 86B44AC
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 86B44AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44DC
- voice_directsound_no_resample 33, 104, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B44E8
+ voice_directsound_no_resample 33, 104, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B44E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4500
- voice_directsound 63, 64, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B450C
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B450C
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4518
voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 86B4524
- voice_directsound_no_resample 64, 14, DirectSoundWaveData_unknown_cymbal_crash, 255, 231, 0, 188 @ 86B4530
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 86B4530
voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 86B453C
- voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B4548
+ voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B4548
voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4554
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 255, 235, 0, 231 @ 86B4560
- voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_cymbal_crash, 8, 0, 255, 216 @ 86B456C
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 86B4560
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 86B456C
voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 86B4578
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 86B4584
voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 86B4590
diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk
index 6e49a0a66..57a2b1ea9 100644
--- a/spritesheet_rules.mk
+++ b/spritesheet_rules.mk
@@ -653,7 +653,7 @@ $(EVENTOBJGFXDIR)/effects/unknown_20.4bpp: %.4bpp: %.png
$(EVENTOBJGFXDIR)/effects/unknown_29.4bpp: %.4bpp: %.png
$(GFX) $< $@ -mwidth 2 -mheight 1
-$(EVENTOBJGFXDIR)/effects/unknown_33.4bpp: %.4bpp: %.png
+$(EVENTOBJGFXDIR)/effects/lavaridge_gym_warp.4bpp: %.4bpp: %.png
$(GFX) $< $@ -mwidth 2 -mheight 2
$(EVENTOBJGFXDIR)/effects/unknown_35.4bpp: %.4bpp: %.png
diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c
index b566b7760..d764e10ac 100644
--- a/src/anim_mon_front_pics.c
+++ b/src/anim_mon_front_pics.c
@@ -84,7 +84,7 @@ const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_f
const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front.4bpp.lz");
const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front.4bpp.lz");
const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz");
-const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/anim_front.4bpp.lz");
+const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/anim_front.4bpp.lz");
const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz");
const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz");
const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz");
diff --git a/src/apprentice.c b/src/apprentice.c
index 4ad295e1a..2c8959024 100644
--- a/src/apprentice.c
+++ b/src/apprentice.c
@@ -10,7 +10,7 @@
#include "item.h"
#include "item_menu.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "new_game.h"
#include "party_menu.h"
@@ -22,1052 +22,117 @@
#include "strings.h"
#include "task.h"
#include "text.h"
-#include "constants/apprentice.h"
+#include "constants/battle_frontier.h"
+#include "constants/easy_chat.h"
#include "constants/items.h"
+#include "constants/pokemon.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/trainers.h"
#include "constants/moves.h"
+/* Summary of Apprentice, because (as of writing at least) its not very well documented online
+ *
+ * ## Basic info
+ * In the Battle Tower lobby there is an NPC which asks to be taught by the player
+ * They can be any 1 of 16 NPC trainers, each with their own name, class, and set of possible party species
+ * They ask the player a series of questions once per day, and eventually depart the lobby to be replaced by a new Apprentice
+ *
+ * ## Initial Questions
+ * The first question they always ask is a request to be taught, which cannot be rejected
+ * The second question (which follows immediately after) is whether they should participate in Battle Tower Lv 50 or Open Lv
+ * After these opening questions they always ask the player to choose between 2 mons, which they repeat 3 times
+ *
+ * ## Random Questions
+ * After choosing 3 mons for them, the Apprentice will randomly ask between 1 and 8 questions of 4 different types, as follows
+ * - Asking which mon to lead with, which they will only ask at most once
+ * - Asking which move a mon should use, which they will ask at most 5 times
+ * - Asking what held item to give to a mon, which they will ask at most 3 times (once for each mon)
+ * - Asking what they should say when they win a battle, which will always be their final question before departing
+ *
+ * ## After departing
+ * After telling them what they should say when they win a battle they will leave the lobby for a final time
+ * They will then be replaced by a new random Apprentice (they can repeat)
+ * Up to 4 old Apprentices are saved and can be encountered (or partnered with) during challenges of the mode they were told to battle in
+ * They can also be record mixed to and from other Emerald games
+ * Old/record mixed Apprentices are stored in struct Apprentice apprentices of SaveBlock2
+ * and the current Apprentice is stored in struct PlayersApprentice playerApprentice of SaveBlock2
+ */
+
#define PLAYER_APPRENTICE gSaveBlock2Ptr->playerApprentice
+#define CURRENT_QUESTION_NUM PLAYER_APPRENTICE.questionsAnswered - NUM_WHICH_MON_QUESTIONS
-struct Unk030062ECStruct
+struct ApprenticePartyMovesData
{
- u8 unk0;
- u16 unk2[3][5];
- u8 unk20[3][5];
+ u8 moveCounter;
+ u16 moves[MULTI_PARTY_SIZE][NUM_WHICH_MOVE_QUESTIONS];
+ u8 moveSlots[MULTI_PARTY_SIZE][NUM_WHICH_MOVE_QUESTIONS];
};
-struct Unk030062F0Struct
+struct ApprenticeQuestionData
{
- u16 unk0;
- u16 unk2;
- u16 unk4;
- u16 unk6;
+ u16 speciesId;
+ u16 altSpeciesId;
+ u16 moveId1;
+ u16 moveId2;
};
-// data/scripts/apprentice.inc
-extern const u8 gText_082B7229[];
-extern const u8 gText_082B731C[];
-extern const u8 gText_082B735B[];
-extern const u8 gText_082B7423[];
-extern const u8 gText_082B74C1[];
-extern const u8 gText_082B756F[];
-extern const u8 gText_082B75B2[];
-extern const u8 gText_082B763F[];
-extern const u8 gText_082B76AC[];
-extern const u8 gText_082B7772[];
-extern const u8 gText_082B77CE[];
-extern const u8 gText_082B7871[];
-extern const u8 gText_082B78D4[];
-extern const u8 gText_082B7B1A[];
-extern const u8 gText_082B7C13[];
-extern const u8 gText_082B7D18[];
-extern const u8 gText_082B7DD4[];
-extern const u8 gText_082B7EE5[];
-extern const u8 gText_082B7F35[];
-extern const u8 gText_082B7FE8[];
-extern const u8 gText_082B8087[];
-extern const u8 gText_082B822B[];
-extern const u8 gText_082B8286[];
-extern const u8 gText_082B8356[];
-extern const u8 gText_082B83CE[];
-extern const u8 gText_082B84FC[];
-extern const u8 gText_082B8559[];
-extern const u8 gText_082B8656[];
-extern const u8 gText_082B86EA[];
-extern const u8 gText_082B87DA[];
-extern const u8 gText_082B887C[];
-extern const u8 gText_082B8957[];
-extern const u8 gText_082B89C6[];
-extern const u8 gText_082B8ACF[];
-extern const u8 gText_082B8B66[];
-extern const u8 gText_082B8C20[];
-extern const u8 gText_082B8CAA[];
-extern const u8 gText_082B8DD3[];
-extern const u8 gText_082B8E24[];
-extern const u8 gText_082B8ED5[];
-extern const u8 gText_082B8F45[];
-extern const u8 gText_082B905F[];
-extern const u8 gText_082B910E[];
-extern const u8 gText_082B9204[];
-extern const u8 gText_082B929C[];
-extern const u8 gText_082B9438[];
-extern const u8 gText_082B9488[];
-extern const u8 gText_082B9564[];
-extern const u8 gText_082B95D8[];
-extern const u8 gText_082B9763[];
-extern const u8 gText_082B97E5[];
-extern const u8 gText_082B989A[];
-extern const u8 gText_082B992D[];
-extern const u8 gText_082B9A84[];
-extern const u8 gText_082B9AB9[];
-extern const u8 gText_082B9B76[];
-extern const u8 gText_082B9BF2[];
-extern const u8 gText_082B9D83[];
-extern const u8 gText_082B9DF9[];
-extern const u8 gText_082B9EAA[];
-extern const u8 gText_082B9F55[];
-extern const u8 gText_082BA084[];
-extern const u8 gText_082BA11D[];
-extern const u8 gText_082BA1F3[];
-
-extern const u8 gText_082BE50D[];
-extern const u8 gText_082BE5F5[];
-extern const u8 gText_082BE679[];
-extern const u8 gText_082BE71E[];
-extern const u8 gText_082BE762[];
-extern const u8 gText_082BE7F8[];
-extern const u8 gText_082BE850[];
-extern const u8 gText_082BE99C[];
-extern const u8 gText_082BEA1B[];
-extern const u8 gText_082BEAE9[];
-extern const u8 gText_082BEB72[];
-extern const u8 gText_082BEC8E[];
-extern const u8 gText_082BED16[];
-extern const u8 gText_082BEE29[];
-extern const u8 gText_082BEEB4[];
-extern const u8 gText_082BEFE2[];
-extern const u8 gText_082BF04E[];
-extern const u8 gText_082BF11D[];
-extern const u8 gText_082BF1A8[];
-extern const u8 gText_082BF268[];
-extern const u8 gText_082BF2D1[];
-extern const u8 gText_082BF3CF[];
-extern const u8 gText_082BF46A[];
-extern const u8 gText_082BF551[];
-extern const u8 gText_082BF5C3[];
-extern const u8 gText_082BF6E5[];
-extern const u8 gText_082BF773[];
-extern const u8 gText_082BF869[];
-extern const u8 gText_082BF8DD[];
-extern const u8 gText_082BF9BA[];
-extern const u8 gText_082BFA5A[];
-extern const u8 gText_082BFB4E[];
-
-extern const u8 gText_082BA2A3[];
-extern const u8 gText_082BA34E[];
-extern const u8 gText_082BA380[];
-extern const u8 gText_082BA3D2[];
-extern const u8 gText_082BA448[];
-extern const u8 gText_082BA4D3[];
-extern const u8 gText_082BA58C[];
-extern const u8 gText_082BA5BF[];
-extern const u8 gText_082BA5F3[];
-extern const u8 gText_082BA635[];
-extern const u8 gText_082BA6E6[];
-extern const u8 gText_082BA742[];
-extern const u8 gText_082BA770[];
-extern const u8 gText_082BA78F[];
-extern const u8 gText_082BA7D8[];
-extern const u8 gText_082BA867[];
-extern const u8 gText_082BA96B[];
-extern const u8 gText_082BA9B7[];
-extern const u8 gText_082BAA1B[];
-extern const u8 gText_082BAA81[];
-extern const u8 gText_082BAB22[];
-extern const u8 gText_082BAC43[];
-extern const u8 gText_082BAC78[];
-extern const u8 gText_082BAD17[];
-extern const u8 gText_082BADB6[];
-extern const u8 gText_082BAE36[];
-extern const u8 gText_082BAF4E[];
-extern const u8 gText_082BAF8F[];
-extern const u8 gText_082BAFDB[];
-extern const u8 gText_082BB05F[];
-extern const u8 gText_082BB0D4[];
-extern const u8 gText_082BB18C[];
-extern const u8 gText_082BB1CE[];
-extern const u8 gText_082BB242[];
-extern const u8 gText_082BB2D9[];
-extern const u8 gText_082BB370[];
-extern const u8 gText_082BB4C3[];
-extern const u8 gText_082BB4FB[];
-extern const u8 gText_082BB575[];
-extern const u8 gText_082BB5E1[];
-extern const u8 gText_082BB656[];
-extern const u8 gText_082BB6E5[];
-extern const u8 gText_082BB72C[];
-extern const u8 gText_082BB7A2[];
-extern const u8 gText_082BB84A[];
-extern const u8 gText_082BB8CD[];
-extern const u8 gText_082BB970[];
-extern const u8 gText_082BB9AE[];
-extern const u8 gText_082BBA05[];
-extern const u8 gText_082BBA6C[];
-extern const u8 gText_082BBB01[];
-extern const u8 gText_082BBC1C[];
-extern const u8 gText_082BBC4B[];
-extern const u8 gText_082BBCF6[];
-extern const u8 gText_082BBD90[];
-extern const u8 gText_082BBE0B[];
-extern const u8 gText_082BBEE5[];
-extern const u8 gText_082BBF25[];
-extern const u8 gText_082BBFA4[];
-extern const u8 gText_082BC024[];
-extern const u8 gText_082BC0C8[];
-extern const u8 gText_082BC213[];
-extern const u8 gText_082BC247[];
-extern const u8 gText_082BC2DD[];
-extern const u8 gText_082BC373[];
-extern const u8 gText_082BC40E[];
-extern const u8 gText_082BC514[];
-extern const u8 gText_082BC555[];
-extern const u8 gText_082BC5CE[];
-extern const u8 gText_082BC666[];
-extern const u8 gText_082BC714[];
-extern const u8 gText_082BC808[];
-extern const u8 gText_082BC84D[];
-extern const u8 gText_082BC8EA[];
-extern const u8 gText_082BC984[];
-extern const u8 gText_082BCA4D[];
-extern const u8 gText_082BCB75[];
-extern const u8 gText_082BCBA6[];
-extern const u8 gText_082BCBFC[];
-extern const u8 gText_082BCCA4[];
-
-extern const u8 gText_082BFBF2[];
-extern const u8 gText_082BFCAE[];
-extern const u8 gText_082BFD26[];
-extern const u8 gText_082BFDB1[];
-extern const u8 gText_082BFE24[];
-extern const u8 gText_082BFEAD[];
-extern const u8 gText_082BFF0A[];
-extern const u8 gText_082C0032[];
-extern const u8 gText_082C0090[];
-extern const u8 gText_082C016E[];
-extern const u8 gText_082C01F7[];
-extern const u8 gText_082C034C[];
-extern const u8 gText_082C03CA[];
-extern const u8 gText_082C046E[];
-extern const u8 gText_082C04F9[];
-extern const u8 gText_082C0598[];
-extern const u8 gText_082C0602[];
-extern const u8 gText_082C06D8[];
-extern const u8 gText_082C074A[];
-extern const u8 gText_082C0809[];
-extern const u8 gText_082C086E[];
-extern const u8 gText_082C0982[];
-extern const u8 gText_082C0A1D[];
-extern const u8 gText_082C0AFD[];
-extern const u8 gText_082C0B6F[];
-extern const u8 gText_082C0C7D[];
-extern const u8 gText_082C0D0B[];
-extern const u8 gText_082C0DFE[];
-extern const u8 gText_082C0E71[];
-extern const u8 gText_082C0F6D[];
-extern const u8 gText_082C1003[];
-extern const u8 gText_082C1122[];
-
-extern const u8 gText_082BCD68[];
-extern const u8 gText_082BCE64[];
-extern const u8 gText_082BCEF2[];
-extern const u8 gText_082BCF61[];
-extern const u8 gText_082BCFA1[];
-extern const u8 gText_082BD03C[];
-extern const u8 gText_082BD06D[];
-extern const u8 gText_082BD18A[];
-extern const u8 gText_082BD222[];
-extern const u8 gText_082BD325[];
-extern const u8 gText_082BD3B1[];
-extern const u8 gText_082BD493[];
-extern const u8 gText_082BD51C[];
-extern const u8 gText_082BD609[];
-extern const u8 gText_082BD697[];
-extern const u8 gText_082BD797[];
-extern const u8 gText_082BD806[];
-extern const u8 gText_082BD8F5[];
-extern const u8 gText_082BD9BE[];
-extern const u8 gText_082BDAE1[];
-extern const u8 gText_082BDB4E[];
-extern const u8 gText_082BDC6B[];
-extern const u8 gText_082BDD0D[];
-extern const u8 gText_082BDDEC[];
-extern const u8 gText_082BDE68[];
-extern const u8 gText_082BDF4D[];
-extern const u8 gText_082BDFD8[];
-extern const u8 gText_082BE0FD[];
-extern const u8 gText_082BE189[];
-extern const u8 gText_082BE2A5[];
-extern const u8 gText_082BE33E[];
-extern const u8 gText_082BE46C[];
-
-extern const u8 gText_082C11D1[];
-extern const u8 gText_082C12D5[];
-extern const u8 gText_082C13AB[];
-extern const u8 gText_082C1444[];
-extern const u8 gText_082C1501[];
-extern const u8 gText_082C15B6[];
-extern const u8 gText_082C165E[];
-extern const u8 gText_082C174F[];
-extern const u8 gText_082C1862[];
-extern const u8 gText_082C19A0[];
-extern const u8 gText_082C1A76[];
-extern const u8 gText_082C1C16[];
-extern const u8 gText_082C1CF5[];
-extern const u8 gText_082C1DC1[];
-extern const u8 gText_082C1EDC[];
-extern const u8 gText_082C1FEC[];
-extern const u8 gText_082C20D1[];
-extern const u8 gText_082C21FF[];
-extern const u8 gText_082C231C[];
-extern const u8 gText_082C2407[];
-extern const u8 gText_082C24B5[];
-extern const u8 gText_082C25B1[];
-extern const u8 gText_082C2707[];
-extern const u8 gText_082C27D4[];
-extern const u8 gText_082C28D6[];
-extern const u8 gText_082C2A0B[];
-extern const u8 gText_082C2B50[];
-extern const u8 gText_082C2C77[];
-extern const u8 gText_082C2D67[];
-extern const u8 gText_082C2E41[];
-extern const u8 gText_082C2EF5[];
-extern const u8 gText_082C3023[];
-
-extern const u8 gText_082B6EA5[];
-extern const u8 gText_082B6EEC[];
-extern const u8 gText_082B6F16[];
-extern const u8 gText_082B6F4C[];
-extern const u8 gText_082B6F92[];
-extern const u8 gText_082B6FC9[];
-extern const u8 gText_082B700C[];
-extern const u8 gText_082B703A[];
-extern const u8 gText_082B706A[];
-extern const u8 gText_082B709C[];
-extern const u8 gText_082B70CC[];
-extern const u8 gText_082B710A[];
-extern const u8 gText_082B714D[];
-extern const u8 gText_082B7185[];
-extern const u8 gText_082B71C1[];
-extern const u8 gText_082B71F9[];
-
// IWRAM common
-struct Unk030062ECStruct *gUnknown_030062EC;
-struct Unk030062F0Struct *gUnknown_030062F0;
-void (*gUnknown_030062F4)(void);
+struct ApprenticePartyMovesData *gApprenticePartyMovesData;
+struct ApprenticeQuestionData *gApprenticeQuestionData;
+void (*gApprenticeFunc)(void);
// This file's functions.
-static u16 sub_819FF98(u8 arg0);
-static bool8 sub_81A0194(u8 arg0, u16 moveId);
+static u16 GetRandomAlternateMove(u8 monId);
+static bool8 TrySetMove(u8 monId, u16 moveId);
static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId);
static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height);
static void RemoveAndHideWindow(u8 windowId);
static void ExecuteFuncAfterButtonPress(void (*func)(void));
-static void Script_IsPlayersApprenticeActive(void);
-static void Script_SetPlayersApprenticeLvlMode(void);
-static void sub_81A0978(void);
-static void sub_819FC60(void);
-static void sub_81A0984(void);
-static void sub_81A0990(void);
-static void sub_81A09D0(void);
+static void Script_GivenApprenticeLvlMode(void);
+static void Script_SetApprenticeLvlMode(void);
+static void Script_SetApprenticeId(void);
+static void ShuffleApprenticeSpecies(void);
+static void Script_SetRandomQuestionData(void);
+static void IncrementQuestionsAnswered(void);
+static void IsFinalQuestion(void);
static void Script_CreateApprenticeMenu(void);
-static void Script_PrintMessage(void);
+static void Script_PrintApprenticeMessage(void);
static void Script_ResetPlayerApprentice(void);
-static void sub_81A1638(void);
-static void sub_81A0CC0(void);
-static void sub_81A09B4(void);
-static void sub_81A0D40(void);
-static void sub_81A0DD4(void);
-static void sub_81A0FE4(void);
-static void sub_81A0FFC(void);
-static void sub_81A0D80(void);
-static void sub_81A11F8(void);
-static void sub_81A1218(void);
-static void sub_81A1224(void);
-static void sub_81A1438(void);
-static void sub_81A150C(void);
-static void Script_SetPlayerApprenticeTrainerGfxId(void);
-static void sub_81A1644(void);
-static void sub_81A1370(void);
-
-// rodata
-
-const struct ApprenticeTrainer gApprentices[] =
-{
- {
- .name = {_("サダヒロ"), _("ALANN"), _("ALAIN"), _("ADELFO"), _("CLAUS"), _("TEO")},
- .otId = 0xBDC9,
- .facilityClass = 0x43,
- .species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT},
- .id = 0,
- .easyChatWords = {0x81D, 0x143E, 0xC00, 0xA01, 0x630, 0x1444},
- },
- {
- .name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")},
- .otId = 0xCF09,
- .facilityClass = 0x2B,
- .species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH},
- .id = 1,
- .easyChatWords = {0xC38, 0xA01, 0x630, 0xA06, 0x1020, 0x2213},
- },
- {
- .name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")},
- .otId = 0x2E34,
- .facilityClass = 0x26,
- .species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP},
- .id = 2,
- .easyChatWords = {0xA01, 0x160A, 0xE15, 0x630, 0xC3B, 0xC04},
- },
- {
- .name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")},
- .otId = 0x84EF,
- .facilityClass = 0x47,
- .species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA},
- .id = 3,
- .easyChatWords = {0x100B, 0x1E0F, 0x1039, 0x1421, 0xC03, 0xFFFF},
- },
- {
- .name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")},
- .otId = 0x1E43,
- .facilityClass = 0x27,
- .species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY},
- .id = 4,
- .easyChatWords = {0x1E0F, 0x1014, 0x1006, 0x280F, 0x1C1C, 0x1C13},
- },
- {
- .name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")},
- .otId = 0x379F,
- .facilityClass = 0x30,
- .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA},
- .id = 5,
- .easyChatWords = {0xA29, 0x1408, 0x102F, 0x1638, 0x820, 0xC00},
- },
- {
- .name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")},
- .otId = 0xF555,
- .facilityClass = 0x31,
- .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO},
- .id = 6,
- .easyChatWords = {0xC0B, 0x123E, 0xC00, 0xA31, 0x1430, 0xC00},
- },
- {
- .name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")},
- .otId = 0x8D26,
- .facilityClass = 0x14,
- .species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC},
- .id = 7,
- .easyChatWords = {0xA06, 0x620, 0xA1F, 0xA02, 0xC03, 0xFFFF},
- },
- {
- .name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")},
- .otId = 0x800C,
- .facilityClass = 0xD,
- .species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY},
- .id = 8,
- .easyChatWords = {0x1E22, 0x433, 0x20E, 0xA02, 0x101E, 0xC00},
- },
- {
- .name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")},
- .otId = 0x469f,
- .facilityClass = 0,
- .species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON},
- .id = 9,
- .easyChatWords = {0xA3D, 0x1011, 0xE1E, 0x201C, 0xC04, 0xFFFF},
- },
- {
- .name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")},
- .otId = 0x71FC,
- .facilityClass = 0x2D,
- .species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA},
- .id = 10,
- .easyChatWords = {0xA05, 0x606, 0x160E, 0xA14, 0xC00, 0xFFFF},
- },
- {
- .name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")},
- .otId = 0xA39E,
- .facilityClass = 0x3A,
- .species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE},
- .id = 11,
- .easyChatWords = {0x280E, 0x103D, 0x240F, 0xA14, 0x1E23, 0x1024},
- },
- {
- .name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")},
- .otId = 0xE590,
- .facilityClass = 0x19,
- .species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING},
- .id = 12,
- .easyChatWords = {0x1020, 0x62E, 0x100B, 0x1E22, 0x1E0F, 0x100B},
- },
- {
- .name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")},
- .otId = 0xD018,
- .facilityClass = 10,
- .species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING},
- .id = 13,
- .easyChatWords = {0xA29, 0x63A, 0xE15, 0x1435, 0x1034, 0x61E},
- },
- {
- .name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")},
- .otId = 0xBC75,
- .facilityClass = 14,
- .species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM},
- .id = 14,
- .easyChatWords = {0xA01, 0x1017, 0x1243, 0x1E22, 0x100B, 0x280F},
- },
- {
- .name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")},
- .otId = 0xFA02,
- .facilityClass = 0x20,
- .species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS},
- .id = 15,
- .easyChatWords = {0x1E0F, 0x1404, 0x102F, 0x1006, 0x1020, 0xE03},
- },
-};
-
-static const u8 *const gUnknown_08610EF0[][4] =
-{
- {gText_082B7229, gText_082B731C, gText_082B735B, gText_082B7423},
- {gText_082B74C1, gText_082B756F, gText_082B75B2, gText_082B763F},
- {gText_082B76AC, gText_082B7772, gText_082B77CE, gText_082B7871},
- {gText_082B78D4, gText_082B7B1A, gText_082B7C13, gText_082B7D18},
- {gText_082B7DD4, gText_082B7EE5, gText_082B7F35, gText_082B7FE8},
- {gText_082B8087, gText_082B822B, gText_082B8286, gText_082B8356},
- {gText_082B83CE, gText_082B84FC, gText_082B8559, gText_082B8656},
- {gText_082B86EA, gText_082B87DA, gText_082B887C, gText_082B8957},
- {gText_082B89C6, gText_082B8ACF, gText_082B8B66, gText_082B8C20},
- {gText_082B8CAA, gText_082B8DD3, gText_082B8E24, gText_082B8ED5},
- {gText_082B8F45, gText_082B905F, gText_082B910E, gText_082B9204},
- {gText_082B929C, gText_082B9438, gText_082B9488, gText_082B9564},
- {gText_082B95D8, gText_082B9763, gText_082B97E5, gText_082B989A},
- {gText_082B992D, gText_082B9A84, gText_082B9AB9, gText_082B9B76},
- {gText_082B9BF2, gText_082B9D83, gText_082B9DF9, gText_082B9EAA},
- {gText_082B9F55, gText_082BA084, gText_082BA11D, gText_082BA1F3},
-};
-
-static const u8 *const gUnknown_08610FF0[][2] =
-{
- {gText_082BE50D, gText_082BE5F5},
- {gText_082BE679, gText_082BE71E},
- {gText_082BE762, gText_082BE7F8},
- {gText_082BE850, gText_082BE99C},
- {gText_082BEA1B, gText_082BEAE9},
- {gText_082BEB72, gText_082BEC8E},
- {gText_082BED16, gText_082BEE29},
- {gText_082BEEB4, gText_082BEFE2},
- {gText_082BF04E, gText_082BF11D},
- {gText_082BF1A8, gText_082BF268},
- {gText_082BF2D1, gText_082BF3CF},
- {gText_082BF46A, gText_082BF551},
- {gText_082BF5C3, gText_082BF6E5},
- {gText_082BF773, gText_082BF869},
- {gText_082BF8DD, gText_082BF9BA},
- {gText_082BFA5A, gText_082BFB4E},
-};
-
-static const u8 *const gUnknown_08611070[][5] =
-{
- {gText_082BA2A3, gText_082BA34E, gText_082BA380, gText_082BA3D2, gText_082BA448},
- {gText_082BA4D3, gText_082BA58C, gText_082BA5BF, gText_082BA5F3, gText_082BA635},
- {gText_082BA6E6, gText_082BA742, gText_082BA770, gText_082BA78F, gText_082BA7D8},
- {gText_082BA867, gText_082BA96B, gText_082BA9B7, gText_082BAA1B, gText_082BAA81},
- {gText_082BAB22, gText_082BAC43, gText_082BAC78, gText_082BAD17, gText_082BADB6},
- {gText_082BAE36, gText_082BAF4E, gText_082BAF8F, gText_082BAFDB, gText_082BB05F},
- {gText_082BB0D4, gText_082BB18C, gText_082BB1CE, gText_082BB242, gText_082BB2D9},
- {gText_082BB370, gText_082BB4C3, gText_082BB4FB, gText_082BB575, gText_082BB5E1},
- {gText_082BB656, gText_082BB6E5, gText_082BB72C, gText_082BB7A2, gText_082BB84A},
- {gText_082BB8CD, gText_082BB970, gText_082BB9AE, gText_082BBA05, gText_082BBA6C},
- {gText_082BBB01, gText_082BBC1C, gText_082BBC4B, gText_082BBCF6, gText_082BBD90},
- {gText_082BBE0B, gText_082BBEE5, gText_082BBF25, gText_082BBFA4, gText_082BC024},
- {gText_082BC0C8, gText_082BC213, gText_082BC247, gText_082BC2DD, gText_082BC373},
- {gText_082BC40E, gText_082BC514, gText_082BC555, gText_082BC5CE, gText_082BC666},
- {gText_082BC714, gText_082BC808, gText_082BC84D, gText_082BC8EA, gText_082BC984},
- {gText_082BCA4D, gText_082BCB75, gText_082BCBA6, gText_082BCBFC, gText_082BCCA4},
-};
-
-static const u8 *const gUnknown_086111B0[][2] =
-{
- {gText_082BFBF2, gText_082BFCAE},
- {gText_082BFD26, gText_082BFDB1},
- {gText_082BFE24, gText_082BFEAD},
- {gText_082BFF0A, gText_082C0032},
- {gText_082C0090, gText_082C016E},
- {gText_082C01F7, gText_082C034C},
- {gText_082C03CA, gText_082C046E},
- {gText_082C04F9, gText_082C0598},
- {gText_082C0602, gText_082C06D8},
- {gText_082C074A, gText_082C0809},
- {gText_082C086E, gText_082C0982},
- {gText_082C0A1D, gText_082C0AFD},
- {gText_082C0B6F, gText_082C0C7D},
- {gText_082C0D0B, gText_082C0DFE},
- {gText_082C0E71, gText_082C0F6D},
- {gText_082C1003, gText_082C1122},
-};
-
-static const u8 *const gUnknown_08611230[][2] =
-{
- {gText_082BCD68, gText_082BCE64},
- {gText_082BCEF2, gText_082BCF61},
- {gText_082BCFA1, gText_082BD03C},
- {gText_082BD06D, gText_082BD18A},
- {gText_082BD222, gText_082BD325},
- {gText_082BD3B1, gText_082BD493},
- {gText_082BD51C, gText_082BD609},
- {gText_082BD697, gText_082BD797},
- {gText_082BD806, gText_082BD8F5},
- {gText_082BD9BE, gText_082BDAE1},
- {gText_082BDB4E, gText_082BDC6B},
- {gText_082BDD0D, gText_082BDDEC},
- {gText_082BDE68, gText_082BDF4D},
- {gText_082BDFD8, gText_082BE0FD},
- {gText_082BE189, gText_082BE2A5},
- {gText_082BE33E, gText_082BE46C},
-};
-
-static const u8 *const gUnknown_086112B0[][2] =
-{
- {gText_082C11D1, gText_082C12D5},
- {gText_082C13AB, gText_082C1444},
- {gText_082C1501, gText_082C15B6},
- {gText_082C165E, gText_082C174F},
- {gText_082C1862, gText_082C19A0},
- {gText_082C1A76, gText_082C1C16},
- {gText_082C1CF5, gText_082C1DC1},
- {gText_082C1EDC, gText_082C1FEC},
- {gText_082C20D1, gText_082C21FF},
- {gText_082C231C, gText_082C2407},
- {gText_082C24B5, gText_082C25B1},
- {gText_082C2707, gText_082C27D4},
- {gText_082C28D6, gText_082C2A0B},
- {gText_082C2B50, gText_082C2C77},
- {gText_082C2D67, gText_082C2E41},
- {gText_082C2EF5, gText_082C3023},
-};
-
-static const u8 *const gUnknown_08611330[] =
-{
- gText_082B6EA5,
- gText_082B6EEC,
- gText_082B6F16,
- gText_082B6F4C,
- gText_082B6F92,
- gText_082B6FC9,
- gText_082B700C,
- gText_082B703A,
- gText_082B706A,
- gText_082B709C,
- gText_082B70CC,
- gText_082B710A,
- gText_082B714D,
- gText_082B7185,
- gText_082B71C1,
- gText_082B71F9,
-};
-
-static const bool8 gUnknown_08611370[MOVES_COUNT] =
-{
- [MOVE_NONE] = FALSE,
- [MOVE_POUND] = FALSE,
- [MOVE_KARATE_CHOP] = TRUE,
- [MOVE_DOUBLE_SLAP] = TRUE,
- [MOVE_COMET_PUNCH] = FALSE,
- [MOVE_MEGA_PUNCH] = TRUE,
- [MOVE_PAY_DAY] = FALSE,
- [MOVE_FIRE_PUNCH] = TRUE,
- [MOVE_ICE_PUNCH] = TRUE,
- [MOVE_THUNDER_PUNCH] = TRUE,
- [MOVE_SCRATCH] = FALSE,
- [MOVE_VICE_GRIP] = FALSE,
- [MOVE_GUILLOTINE] = TRUE,
- [MOVE_RAZOR_WIND] = FALSE,
- [MOVE_SWORDS_DANCE] = TRUE,
- [MOVE_CUT] = FALSE,
- [MOVE_GUST] = FALSE,
- [MOVE_WING_ATTACK] = FALSE,
- [MOVE_WHIRLWIND] = TRUE,
- [MOVE_FLY] = TRUE,
- [MOVE_BIND] = TRUE,
- [MOVE_SLAM] = TRUE,
- [MOVE_VINE_WHIP] = FALSE,
- [MOVE_STOMP] = TRUE,
- [MOVE_DOUBLE_KICK] = TRUE,
- [MOVE_MEGA_KICK] = TRUE,
- [MOVE_JUMP_KICK] = TRUE,
- [MOVE_ROLLING_KICK] = TRUE,
- [MOVE_SAND_ATTACK] = TRUE,
- [MOVE_HEADBUTT] = TRUE,
- [MOVE_HORN_ATTACK] = FALSE,
- [MOVE_FURY_ATTACK] = FALSE,
- [MOVE_HORN_DRILL] = TRUE,
- [MOVE_TACKLE] = FALSE,
- [MOVE_BODY_SLAM] = TRUE,
- [MOVE_WRAP] = TRUE,
- [MOVE_TAKE_DOWN] = TRUE,
- [MOVE_THRASH] = TRUE,
- [MOVE_DOUBLE_EDGE] = TRUE,
- [MOVE_TAIL_WHIP] = FALSE,
- [MOVE_POISON_STING] = FALSE,
- [MOVE_TWINEEDLE] = TRUE,
- [MOVE_PIN_MISSILE] = FALSE,
- [MOVE_LEER] = FALSE,
- [MOVE_BITE] = TRUE,
- [MOVE_GROWL] = FALSE,
- [MOVE_ROAR] = TRUE,
- [MOVE_SING] = TRUE,
- [MOVE_SUPERSONIC] = TRUE,
- [MOVE_SONIC_BOOM] = TRUE,
- [MOVE_DISABLE] = TRUE,
- [MOVE_ACID] = FALSE,
- [MOVE_EMBER] = FALSE,
- [MOVE_FLAMETHROWER] = TRUE,
- [MOVE_MIST] = TRUE,
- [MOVE_WATER_GUN] = FALSE,
- [MOVE_HYDRO_PUMP] = TRUE,
- [MOVE_SURF] = TRUE,
- [MOVE_ICE_BEAM] = TRUE,
- [MOVE_BLIZZARD] = TRUE,
- [MOVE_PSYBEAM] = TRUE,
- [MOVE_BUBBLE_BEAM] = FALSE,
- [MOVE_AURORA_BEAM] = FALSE,
- [MOVE_HYPER_BEAM] = TRUE,
- [MOVE_PECK] = FALSE,
- [MOVE_DRILL_PECK] = TRUE,
- [MOVE_SUBMISSION] = TRUE,
- [MOVE_LOW_KICK] = TRUE,
- [MOVE_COUNTER] = TRUE,
- [MOVE_SEISMIC_TOSS] = TRUE,
- [MOVE_STRENGTH] = TRUE,
- [MOVE_ABSORB] = FALSE,
- [MOVE_MEGA_DRAIN] = FALSE,
- [MOVE_LEECH_SEED] = TRUE,
- [MOVE_GROWTH] = TRUE,
- [MOVE_RAZOR_LEAF] = TRUE,
- [MOVE_SOLAR_BEAM] = TRUE,
- [MOVE_POISON_POWDER] = TRUE,
- [MOVE_STUN_SPORE] = TRUE,
- [MOVE_SLEEP_POWDER] = TRUE,
- [MOVE_PETAL_DANCE] = TRUE,
- [MOVE_STRING_SHOT] = FALSE,
- [MOVE_DRAGON_RAGE] = TRUE,
- [MOVE_FIRE_SPIN] = TRUE,
- [MOVE_THUNDER_SHOCK] = FALSE,
- [MOVE_THUNDERBOLT] = TRUE,
- [MOVE_THUNDER_WAVE] = TRUE,
- [MOVE_THUNDER] = TRUE,
- [MOVE_ROCK_THROW] = FALSE,
- [MOVE_EARTHQUAKE] = TRUE,
- [MOVE_FISSURE] = TRUE,
- [MOVE_DIG] = TRUE,
- [MOVE_TOXIC] = TRUE,
- [MOVE_CONFUSION] = FALSE,
- [MOVE_PSYCHIC] = TRUE,
- [MOVE_HYPNOSIS] = TRUE,
- [MOVE_MEDITATE] = TRUE,
- [MOVE_AGILITY] = TRUE,
- [MOVE_QUICK_ATTACK] = TRUE,
- [MOVE_RAGE] = FALSE,
- [MOVE_TELEPORT] = FALSE,
- [MOVE_NIGHT_SHADE] = TRUE,
- [MOVE_MIMIC] = TRUE,
- [MOVE_SCREECH] = TRUE,
- [MOVE_DOUBLE_TEAM] = TRUE,
- [MOVE_RECOVER] = TRUE,
- [MOVE_HARDEN] = TRUE,
- [MOVE_MINIMIZE] = TRUE,
- [MOVE_SMOKESCREEN] = TRUE,
- [MOVE_CONFUSE_RAY] = TRUE,
- [MOVE_WITHDRAW] = TRUE,
- [MOVE_DEFENSE_CURL] = TRUE,
- [MOVE_BARRIER] = TRUE,
- [MOVE_LIGHT_SCREEN] = TRUE,
- [MOVE_HAZE] = TRUE,
- [MOVE_REFLECT] = TRUE,
- [MOVE_FOCUS_ENERGY] = TRUE,
- [MOVE_BIDE] = FALSE,
- [MOVE_METRONOME] = TRUE,
- [MOVE_MIRROR_MOVE] = TRUE,
- [MOVE_SELF_DESTRUCT] = TRUE,
- [MOVE_EGG_BOMB] = TRUE,
- [MOVE_LICK] = TRUE,
- [MOVE_SMOG] = FALSE,
- [MOVE_SLUDGE] = FALSE,
- [MOVE_BONE_CLUB] = FALSE,
- [MOVE_FIRE_BLAST] = TRUE,
- [MOVE_WATERFALL] = TRUE,
- [MOVE_CLAMP] = TRUE,
- [MOVE_SWIFT] = TRUE,
- [MOVE_SKULL_BASH] = TRUE,
- [MOVE_SPIKE_CANNON] = FALSE,
- [MOVE_CONSTRICT] = FALSE,
- [MOVE_AMNESIA] = TRUE,
- [MOVE_KINESIS] = TRUE,
- [MOVE_SOFT_BOILED] = TRUE,
- [MOVE_HI_JUMP_KICK] = TRUE,
- [MOVE_GLARE] = TRUE,
- [MOVE_DREAM_EATER] = TRUE,
- [MOVE_POISON_GAS] = FALSE,
- [MOVE_BARRAGE] = FALSE,
- [MOVE_LEECH_LIFE] = FALSE,
- [MOVE_LOVELY_KISS] = TRUE,
- [MOVE_SKY_ATTACK] = TRUE,
- [MOVE_TRANSFORM] = TRUE,
- [MOVE_BUBBLE] = FALSE,
- [MOVE_DIZZY_PUNCH] = TRUE,
- [MOVE_SPORE] = TRUE,
- [MOVE_FLASH] = TRUE,
- [MOVE_PSYWAVE] = TRUE,
- [MOVE_SPLASH] = FALSE,
- [MOVE_ACID_ARMOR] = TRUE,
- [MOVE_CRABHAMMER] = TRUE,
- [MOVE_EXPLOSION] = TRUE,
- [MOVE_FURY_SWIPES] = FALSE,
- [MOVE_BONEMERANG] = TRUE,
- [MOVE_REST] = TRUE,
- [MOVE_ROCK_SLIDE] = TRUE,
- [MOVE_HYPER_FANG] = TRUE,
- [MOVE_SHARPEN] = TRUE,
- [MOVE_CONVERSION] = TRUE,
- [MOVE_TRI_ATTACK] = TRUE,
- [MOVE_SUPER_FANG] = TRUE,
- [MOVE_SLASH] = TRUE,
- [MOVE_SUBSTITUTE] = TRUE,
- [MOVE_STRUGGLE] = TRUE,
- [MOVE_SKETCH] = TRUE,
- [MOVE_TRIPLE_KICK] = TRUE,
- [MOVE_THIEF] = TRUE,
- [MOVE_SPIDER_WEB] = TRUE,
- [MOVE_MIND_READER] = TRUE,
- [MOVE_NIGHTMARE] = TRUE,
- [MOVE_FLAME_WHEEL] = FALSE,
- [MOVE_SNORE] = TRUE,
- [MOVE_CURSE] = TRUE,
- [MOVE_FLAIL] = TRUE,
- [MOVE_CONVERSION_2] = TRUE,
- [MOVE_AEROBLAST] = TRUE,
- [MOVE_COTTON_SPORE] = TRUE,
- [MOVE_REVERSAL] = TRUE,
- [MOVE_SPITE] = TRUE,
- [MOVE_POWDER_SNOW] = FALSE,
- [MOVE_PROTECT] = TRUE,
- [MOVE_MACH_PUNCH] = TRUE,
- [MOVE_SCARY_FACE] = TRUE,
- [MOVE_FAINT_ATTACK] = TRUE,
- [MOVE_SWEET_KISS] = TRUE,
- [MOVE_BELLY_DRUM] = TRUE,
- [MOVE_SLUDGE_BOMB] = TRUE,
- [MOVE_MUD_SLAP] = TRUE,
- [MOVE_OCTAZOOKA] = TRUE,
- [MOVE_SPIKES] = TRUE,
- [MOVE_ZAP_CANNON] = TRUE,
- [MOVE_FORESIGHT] = TRUE,
- [MOVE_DESTINY_BOND] = TRUE,
- [MOVE_PERISH_SONG] = TRUE,
- [MOVE_ICY_WIND] = TRUE,
- [MOVE_DETECT] = TRUE,
- [MOVE_BONE_RUSH] = FALSE,
- [MOVE_LOCK_ON] = TRUE,
- [MOVE_OUTRAGE] = TRUE,
- [MOVE_SANDSTORM] = TRUE,
- [MOVE_GIGA_DRAIN] = TRUE,
- [MOVE_ENDURE] = TRUE,
- [MOVE_CHARM] = TRUE,
- [MOVE_ROLLOUT] = TRUE,
- [MOVE_FALSE_SWIPE] = TRUE,
- [MOVE_SWAGGER] = TRUE,
- [MOVE_MILK_DRINK] = TRUE,
- [MOVE_SPARK] = FALSE,
- [MOVE_FURY_CUTTER] = TRUE,
- [MOVE_STEEL_WING] = TRUE,
- [MOVE_MEAN_LOOK] = TRUE,
- [MOVE_ATTRACT] = TRUE,
- [MOVE_SLEEP_TALK] = TRUE,
- [MOVE_HEAL_BELL] = TRUE,
- [MOVE_RETURN] = TRUE,
- [MOVE_PRESENT] = TRUE,
- [MOVE_FRUSTRATION] = TRUE,
- [MOVE_SAFEGUARD] = TRUE,
- [MOVE_PAIN_SPLIT] = TRUE,
- [MOVE_SACRED_FIRE] = TRUE,
- [MOVE_MAGNITUDE] = FALSE,
- [MOVE_DYNAMIC_PUNCH] = TRUE,
- [MOVE_MEGAHORN] = TRUE,
- [MOVE_DRAGON_BREATH] = TRUE,
- [MOVE_BATON_PASS] = TRUE,
- [MOVE_ENCORE] = TRUE,
- [MOVE_PURSUIT] = TRUE,
- [MOVE_RAPID_SPIN] = TRUE,
- [MOVE_SWEET_SCENT] = TRUE,
- [MOVE_IRON_TAIL] = TRUE,
- [MOVE_METAL_CLAW] = TRUE,
- [MOVE_VITAL_THROW] = TRUE,
- [MOVE_MORNING_SUN] = TRUE,
- [MOVE_SYNTHESIS] = TRUE,
- [MOVE_MOONLIGHT] = TRUE,
- [MOVE_HIDDEN_POWER] = TRUE,
- [MOVE_CROSS_CHOP] = TRUE,
- [MOVE_TWISTER] = FALSE,
- [MOVE_RAIN_DANCE] = TRUE,
- [MOVE_SUNNY_DAY] = TRUE,
- [MOVE_CRUNCH] = TRUE,
- [MOVE_MIRROR_COAT] = TRUE,
- [MOVE_PSYCH_UP] = TRUE,
- [MOVE_EXTREME_SPEED] = TRUE,
- [MOVE_ANCIENT_POWER] = TRUE,
- [MOVE_SHADOW_BALL] = TRUE,
- [MOVE_FUTURE_SIGHT] = TRUE,
- [MOVE_ROCK_SMASH] = TRUE,
- [MOVE_WHIRLPOOL] = TRUE,
- [MOVE_BEAT_UP] = TRUE,
- [MOVE_FAKE_OUT] = TRUE,
- [MOVE_UPROAR] = TRUE,
- [MOVE_STOCKPILE] = TRUE,
- [MOVE_SPIT_UP] = TRUE,
- [MOVE_SWALLOW] = TRUE,
- [MOVE_HEAT_WAVE] = TRUE,
- [MOVE_HAIL] = TRUE,
- [MOVE_TORMENT] = TRUE,
- [MOVE_FLATTER] = TRUE,
- [MOVE_WILL_O_WISP] = TRUE,
- [MOVE_MEMENTO] = TRUE,
- [MOVE_FACADE] = TRUE,
- [MOVE_FOCUS_PUNCH] = TRUE,
- [MOVE_SMELLING_SALT] = TRUE,
- [MOVE_FOLLOW_ME] = TRUE,
- [MOVE_NATURE_POWER] = TRUE,
- [MOVE_CHARGE] = TRUE,
- [MOVE_TAUNT] = TRUE,
- [MOVE_HELPING_HAND] = TRUE,
- [MOVE_TRICK] = TRUE,
- [MOVE_ROLE_PLAY] = TRUE,
- [MOVE_WISH] = TRUE,
- [MOVE_ASSIST] = TRUE,
- [MOVE_INGRAIN] = TRUE,
- [MOVE_SUPERPOWER] = TRUE,
- [MOVE_MAGIC_COAT] = TRUE,
- [MOVE_RECYCLE] = TRUE,
- [MOVE_REVENGE] = TRUE,
- [MOVE_BRICK_BREAK] = TRUE,
- [MOVE_YAWN] = TRUE,
- [MOVE_KNOCK_OFF] = TRUE,
- [MOVE_ENDEAVOR] = TRUE,
- [MOVE_ERUPTION] = TRUE,
- [MOVE_SKILL_SWAP] = TRUE,
- [MOVE_IMPRISON] = TRUE,
- [MOVE_REFRESH] = TRUE,
- [MOVE_GRUDGE] = TRUE,
- [MOVE_SNATCH] = TRUE,
- [MOVE_SECRET_POWER] = TRUE,
- [MOVE_DIVE] = TRUE,
- [MOVE_ARM_THRUST] = FALSE,
- [MOVE_CAMOUFLAGE] = TRUE,
- [MOVE_TAIL_GLOW] = TRUE,
- [MOVE_LUSTER_PURGE] = TRUE,
- [MOVE_MIST_BALL] = TRUE,
- [MOVE_FEATHER_DANCE] = TRUE,
- [MOVE_TEETER_DANCE] = TRUE,
- [MOVE_BLAZE_KICK] = TRUE,
- [MOVE_MUD_SPORT] = TRUE,
- [MOVE_ICE_BALL] = FALSE,
- [MOVE_NEEDLE_ARM] = TRUE,
- [MOVE_SLACK_OFF] = TRUE,
- [MOVE_HYPER_VOICE] = TRUE,
- [MOVE_POISON_FANG] = FALSE,
- [MOVE_CRUSH_CLAW] = TRUE,
- [MOVE_BLAST_BURN] = TRUE,
- [MOVE_HYDRO_CANNON] = TRUE,
- [MOVE_METEOR_MASH] = TRUE,
- [MOVE_ASTONISH] = TRUE,
- [MOVE_WEATHER_BALL] = TRUE,
- [MOVE_AROMATHERAPY] = TRUE,
- [MOVE_FAKE_TEARS] = TRUE,
- [MOVE_AIR_CUTTER] = TRUE,
- [MOVE_OVERHEAT] = TRUE,
- [MOVE_ODOR_SLEUTH] = TRUE,
- [MOVE_ROCK_TOMB] = TRUE,
- [MOVE_SILVER_WIND] = TRUE,
- [MOVE_METAL_SOUND] = TRUE,
- [MOVE_GRASS_WHISTLE] = TRUE,
- [MOVE_TICKLE] = TRUE,
- [MOVE_COSMIC_POWER] = TRUE,
- [MOVE_WATER_SPOUT] = TRUE,
- [MOVE_SIGNAL_BEAM] = TRUE,
- [MOVE_SHADOW_PUNCH] = TRUE,
- [MOVE_EXTRASENSORY] = TRUE,
- [MOVE_SKY_UPPERCUT] = TRUE,
- [MOVE_SAND_TOMB] = TRUE,
- [MOVE_SHEER_COLD] = TRUE,
- [MOVE_MUDDY_WATER] = TRUE,
- [MOVE_BULLET_SEED] = FALSE,
- [MOVE_AERIAL_ACE] = TRUE,
- [MOVE_ICICLE_SPEAR] = FALSE,
- [MOVE_IRON_DEFENSE] = TRUE,
- [MOVE_BLOCK] = TRUE,
- [MOVE_HOWL] = TRUE,
- [MOVE_DRAGON_CLAW] = TRUE,
- [MOVE_FRENZY_PLANT] = TRUE,
- [MOVE_BULK_UP] = TRUE,
- [MOVE_BOUNCE] = TRUE,
- [MOVE_MUD_SHOT] = FALSE,
- [MOVE_POISON_TAIL] = TRUE,
- [MOVE_COVET] = TRUE,
- [MOVE_VOLT_TACKLE] = TRUE,
- [MOVE_MAGICAL_LEAF] = TRUE,
- [MOVE_WATER_SPORT] = TRUE,
- [MOVE_CALM_MIND] = TRUE,
- [MOVE_LEAF_BLADE] = TRUE,
- [MOVE_DRAGON_DANCE] = TRUE,
- [MOVE_ROCK_BLAST] = FALSE,
- [MOVE_SHOCK_WAVE] = TRUE,
- [MOVE_WATER_PULSE] = TRUE,
- [MOVE_DOOM_DESIRE] = TRUE,
- [MOVE_PSYCHO_BOOST] = TRUE,
-};
-
-static const u8 gUnknown_086114D3[] = {0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00};
-
-static void (* const sApprenticeFunctions[])(void) =
-{
- Script_IsPlayersApprenticeActive,
- Script_SetPlayersApprenticeLvlMode,
- sub_81A0978,
- sub_819FC60,
- sub_81A0984,
- sub_81A0990,
- sub_81A09D0,
- Script_CreateApprenticeMenu,
- Script_PrintMessage,
- Script_ResetPlayerApprentice,
- sub_81A1638,
- sub_81A0CC0,
- sub_81A09B4,
- sub_81A0D40,
- sub_81A0DD4,
- sub_81A0FE4,
- sub_81A0FFC,
- sub_81A0D80,
- sub_81A11F8,
- sub_81A1218,
- sub_81A1224,
- sub_81A1438,
- sub_81A150C,
- Script_SetPlayerApprenticeTrainerGfxId,
- sub_81A1644,
- sub_81A1370,
-};
-
-static const u8 gUnknown_08611548[8] = {0x00, 0x01, 0x02, 0x03, 0x06, 0x07, 0x08, 0x09};
-
-// text
-extern const u8 gText_Give[];
-extern const u8 gText_NoNeed[];
-extern const u8 gText_Yes[];
-extern const u8 gText_No[];
-
-void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId)
-{
- u8 i, var;
- const u8 *str;
-
- var = gSaveBlock2Ptr->apprentices[saveblockApprenticeId].number;
- for (i = 0; var != 0 && i < 4; var /= 10, i++)
+static void GetShouldCheckApprenticeGone(void);
+static void ApprenticeGetQuestion(void);
+static void GetNumApprenticePartyMonsAssigned(void);
+static void SetApprenticePartyMon(void);
+static void InitQuestionData(void);
+static void FreeQuestionData(void);
+static void ApprenticeBufferString(void);
+static void SetApprenticeMonMove(void);
+static void SetLeadApprenticeMon(void);
+static void Script_ApprenticeOpenBagMenu(void);
+static void TrySetApprenticeHeldItem(void);
+static void SaveApprentice(void);
+static void SetSavedApprenticeTrainerGfxId(void);
+static void SetPlayerApprenticeTrainerGfxId(void);
+static void GetShouldApprenticeLeave(void);
+static void ShiftSavedApprentices(void);
+
+#include "data/battle_frontier/apprentice.h"
+
+void BufferApprenticeChallengeText(u8 saveApprenticeId)
+{
+ u8 i, num;
+ const u8 *challengeText;
+
+ num = gSaveBlock2Ptr->apprentices[saveApprenticeId].number;
+ for (i = 0; num != 0 && i < APPRENTICE_COUNT; num /= 10, i++)
;
- StringCopy7(gStringVar1, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].playerName);
- ConvertInternationalString(gStringVar1, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].language);
- ConvertIntToDecimalStringN(gStringVar2, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].number, STR_CONV_MODE_RIGHT_ALIGN, i);
- str = gUnknown_08611330[gSaveBlock2Ptr->apprentices[saveblockApprenticeId].id];
- StringExpandPlaceholders(gStringVar4, str);
+ StringCopy7(gStringVar1, gSaveBlock2Ptr->apprentices[saveApprenticeId].playerName);
+ ConvertInternationalString(gStringVar1, gSaveBlock2Ptr->apprentices[saveApprenticeId].language);
+ ConvertIntToDecimalStringN(gStringVar2, gSaveBlock2Ptr->apprentices[saveApprenticeId].number, STR_CONV_MODE_RIGHT_ALIGN, i);
+ challengeText = sApprenticeChallengeTexts[gSaveBlock2Ptr->apprentices[saveApprenticeId].id];
+ StringExpandPlaceholders(gStringVar4, challengeText);
}
void Apprentice_EnableBothScriptContexts(void)
@@ -1079,28 +144,28 @@ void ResetApprenticeStruct(struct Apprentice *apprentice)
{
u8 i;
- for (i = 0; i < 6; i++)
- apprentice->easyChatWords[i] = 0xFFFF;
+ for (i = 0; i < ARRAY_COUNT(apprentice->speechWon); i++)
+ apprentice->speechWon[i] = 0xFFFF;
apprentice->playerName[0] = EOS;
- apprentice->id = 16;
+ apprentice->id = NUM_APPRENTICES;
}
void ResetAllApprenticeData(void)
{
u8 i, j;
- PLAYER_APPRENTICE.field_B2_1 = 0;
- for (i = 0; i < 4; i++)
+ PLAYER_APPRENTICE.saveId = 0;
+ for (i = 0; i < APPRENTICE_COUNT; i++)
{
- for (j = 0; j < 6; j++)
- gSaveBlock2Ptr->apprentices[i].easyChatWords[j] = 0xFFFF;
- gSaveBlock2Ptr->apprentices[i].id = 16;
+ for (j = 0; j < ARRAY_COUNT(gSaveBlock2Ptr->apprentices[i].speechWon); j++)
+ gSaveBlock2Ptr->apprentices[i].speechWon[j] = 0xFFFF;
+ gSaveBlock2Ptr->apprentices[i].id = NUM_APPRENTICES;
gSaveBlock2Ptr->apprentices[i].playerName[0] = EOS;
gSaveBlock2Ptr->apprentices[i].lvlMode = 0;
gSaveBlock2Ptr->apprentices[i].number = 0;
- gSaveBlock2Ptr->apprentices[i].field_1 = 0;
- for (j = 0; j < 4; j++)
+ gSaveBlock2Ptr->apprentices[i].numQuestions = 0;
+ for (j = 0; j < TRAINER_ID_LENGTH; j++)
gSaveBlock2Ptr->apprentices[i].playerId[j] = 0;
gSaveBlock2Ptr->apprentices[i].language = gGameLanguage;
gSaveBlock2Ptr->apprentices[i].checksum = 0;
@@ -1109,174 +174,184 @@ void ResetAllApprenticeData(void)
Script_ResetPlayerApprentice();
}
-static bool8 IsPlayersApprenticeActive(void)
+static bool8 GivenApprenticeLvlMode(void)
{
- return (PLAYER_APPRENTICE.activeLvlMode != 0);
+ return (PLAYER_APPRENTICE.lvlMode != 0);
}
-static void sub_819FBC8(void)
+static void SetApprenticeId(void)
{
if (gSaveBlock2Ptr->apprentices[0].number == 0)
{
do
{
- PLAYER_APPRENTICE.id = gUnknown_08611548[Random() % ARRAY_COUNT(gUnknown_08611548)];
+ PLAYER_APPRENTICE.id = sInitialApprenticeIds[Random() % ARRAY_COUNT(sInitialApprenticeIds)];
} while (PLAYER_APPRENTICE.id == gSaveBlock2Ptr->apprentices[0].id);
}
else
{
do
{
- PLAYER_APPRENTICE.id = Random() % 16;
+ PLAYER_APPRENTICE.id = Random() % (NUM_APPRENTICES);
} while (PLAYER_APPRENTICE.id == gSaveBlock2Ptr->apprentices[0].id);
}
}
static void SetPlayersApprenticeLvlMode(u8 mode)
{
- PLAYER_APPRENTICE.activeLvlMode = mode;
+ PLAYER_APPRENTICE.lvlMode = mode;
}
-static void sub_819FC60(void)
+static void ShuffleApprenticeSpecies(void)
{
- u8 array[APPRENTICE_SPECIES_COUNT];
+ u8 species[APPRENTICE_SPECIES_COUNT];
u8 i;
- for (i = 0; i < ARRAY_COUNT(array); i++)
- array[i] = i;
+ for (i = 0; i < ARRAY_COUNT(species); i++)
+ species[i] = i;
+ // Shuffle the possible species an arbitrary 50 times
for (i = 0; i < 50; i++)
{
u8 temp;
- u8 var1 = Random() % ARRAY_COUNT(array);
- u8 var2 = Random() % ARRAY_COUNT(array);
- SWAP(array[var1], array[var2], temp);
+ u8 rand1 = Random() % ARRAY_COUNT(species);
+ u8 rand2 = Random() % ARRAY_COUNT(species);
+ SWAP(species[rand1], species[rand2], temp);
}
- for (i = 0; i < 3; i++)
- PLAYER_APPRENTICE.monIds[i] = ((array[i * 2] & 0xF) << 4) | ((array[i * 2 + 1]) & 0xF);
+ for (i = 0; i < MULTI_PARTY_SIZE; i++)
+ PLAYER_APPRENTICE.speciesIds[i] = ((species[i * 2] & 0xF) << 4) | ((species[i * 2 + 1]) & 0xF);
}
-static u8 sub_819FCF8(u8 val, u8 *arg1, u8 *arg2)
+// Pick one of the Apprentice's mons to ask the question about
+// Picking a move chooses a random mon, picking a held item is sequential (so that none are repeated)
+static u8 GetMonIdForQuestion(u8 questionId, u8 *party, u8 *partySlot)
{
u8 i, count;
- u8 ret = 0;
+ u8 monId = 0;
- if (val == 2)
+ if (questionId == QUESTION_ID_WHICH_MOVE)
{
do
{
- ret = Random() % 3;
- for (count = 0, i = 0; i < 5; i++)
+ monId = Random() % (MULTI_PARTY_SIZE);
+ for (count = 0, i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++)
{
- if (gUnknown_030062EC->unk2[ret][i] != 0)
+ if (gApprenticePartyMovesData->moves[monId][i] != MOVE_NONE)
count++;
}
- } while (count > 3);
+ } while (count > MULTI_PARTY_SIZE);
}
- else if (val == 1)
+ else if (questionId == QUESTION_ID_WHAT_ITEM)
{
- ret = arg1[*arg2];
- (*arg2)++;
+ monId = party[*partySlot];
+ (*partySlot)++;
}
- return ret;
+ return monId;
}
-static void sub_819FD64(void)
+// Sets the random order and data for the remaining questions after the initial "choose mon" questions
+static void SetRandomQuestionData(void)
{
- u8 sp_0[10];
- u8 sp_C[3];
- u8 sp_10;
+ u8 questionOrder[APPRENTICE_MAX_QUESTIONS + 1];
+ u8 partyOrder[MULTI_PARTY_SIZE];
+ u8 partySlot;
u8 i, j;
u8 rand1, rand2;
u8 id;
- for (i = 0; i < 3; i++)
- sp_C[i] = i;
+ for (i = 0; i < ARRAY_COUNT(partyOrder); i++)
+ partyOrder[i] = i;
+
+ // Shuffle the party an arbitrary 10 times
for (i = 0; i < 10; i++)
{
u8 temp;
- rand1 = Random() % ARRAY_COUNT(sp_C);
- rand2 = Random() % ARRAY_COUNT(sp_C);
- SWAP(sp_C[rand1], sp_C[rand2], temp);
+ rand1 = Random() % ARRAY_COUNT(partyOrder);
+ rand2 = Random() % ARRAY_COUNT(partyOrder);
+ SWAP(partyOrder[rand1], partyOrder[rand2], temp);
}
- for (i = 0; i < 10; i++)
- sp_0[i] = gUnknown_086114D3[i];
+ for (i = 0; i < ARRAY_COUNT(questionOrder); i++)
+ questionOrder[i] = sQuestionPossibilities[i];
+
+ // Shuffle the questions an arbitrary 50 times
for (i = 0; i < 50; i++)
{
u8 temp;
- rand1 = Random() % ARRAY_COUNT(sp_0);
- rand2 = Random() % ARRAY_COUNT(sp_0);
- SWAP(sp_0[rand1], sp_0[rand2], temp);
+ rand1 = Random() % ARRAY_COUNT(questionOrder);
+ rand2 = Random() % ARRAY_COUNT(questionOrder);
+ SWAP(questionOrder[rand1], questionOrder[rand2], temp);
}
- gUnknown_030062EC = AllocZeroed(sizeof(*gUnknown_030062EC));
- gUnknown_030062EC->unk0 = 0;
- for (i = 0; i < 5; i++)
+ gApprenticePartyMovesData = AllocZeroed(sizeof(*gApprenticePartyMovesData));
+ gApprenticePartyMovesData->moveCounter = 0;
+ for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++)
{
- for (j = 0; j < 3; j++)
- gUnknown_030062EC->unk20[j][i] = 4;
+ for (j = 0; j < MULTI_PARTY_SIZE; j++)
+ gApprenticePartyMovesData->moveSlots[j][i] = MAX_MON_MOVES;
}
- sp_10 = 0;
- for (i = 0; i < 9; i++)
+ partySlot = 0;
+ for (i = 0; i < APPRENTICE_MAX_QUESTIONS; i++)
{
- PLAYER_APPRENTICE.field_B8[i].unk0_0 = sp_0[i];
- if (sp_0[i] != 3)
+ PLAYER_APPRENTICE.questions[i].questionId = questionOrder[i];
+ if (questionOrder[i] != QUESTION_ID_WHICH_FIRST)
{
- PLAYER_APPRENTICE.field_B8[i].unk0_1 = sub_819FCF8(sp_0[i], sp_C, &sp_10);
- id = PLAYER_APPRENTICE.field_B8[i].unk0_1;
- if (sp_0[i] == 2)
+ PLAYER_APPRENTICE.questions[i].monId = GetMonIdForQuestion(questionOrder[i], partyOrder, &partySlot);
+ id = PLAYER_APPRENTICE.questions[i].monId;
+ if (questionOrder[i] == QUESTION_ID_WHICH_MOVE)
{
do
{
- rand1 = Random() % 4;
- for (j = 0; j < gUnknown_030062EC->unk0 + 1; j++)
+ rand1 = Random() % MAX_MON_MOVES;
+ for (j = 0; j < gApprenticePartyMovesData->moveCounter + 1; j++)
{
- if (gUnknown_030062EC->unk20[id][j] == rand1)
+ if (gApprenticePartyMovesData->moveSlots[id][j] == rand1)
break;
}
- } while (j != gUnknown_030062EC->unk0 + 1);
+ } while (j != gApprenticePartyMovesData->moveCounter + 1);
- gUnknown_030062EC->unk20[id][gUnknown_030062EC->unk0] = rand1;
- PLAYER_APPRENTICE.field_B8[i].unk0_2 = rand1;
- PLAYER_APPRENTICE.field_B8[i].unk2 = sub_819FF98(PLAYER_APPRENTICE.field_B8[i].unk0_1);
+ gApprenticePartyMovesData->moveSlots[id][gApprenticePartyMovesData->moveCounter] = rand1;
+ PLAYER_APPRENTICE.questions[i].moveSlot = rand1;
+ PLAYER_APPRENTICE.questions[i].data = GetRandomAlternateMove(PLAYER_APPRENTICE.questions[i].monId);
}
}
}
- FREE_AND_SET_NULL(gUnknown_030062EC);
+ FREE_AND_SET_NULL(gApprenticePartyMovesData);
}
// No idea why a do-while loop is needed, but it will not match without it.
-#define APPRENTICE_SPECIES_ID(speciesArrId, monId) speciesArrId = (PLAYER_APPRENTICE.monIds[monId] >> \
- (((PLAYER_APPRENTICE.field_B2_0 >> monId) & 1) << 2)) & 0xF; \
+#define APPRENTICE_SPECIES_ID(speciesArrId, monId) speciesArrId = (PLAYER_APPRENTICE.speciesIds[monId] >> \
+ (((PLAYER_APPRENTICE.party >> monId) & 1) << 2)) & 0xF; \
do {} while (0)
// Why the need to have two macros do the exact thing differently?
-#define APPRENTICE_SPECIES_ID_2(speciesArrId, monId) { u8 a0 = ((PLAYER_APPRENTICE.field_B2_0 >> monId) & 1);\
- speciesArrId = PLAYER_APPRENTICE.monIds[monId]; \
+#define APPRENTICE_SPECIES_ID_2(speciesArrId, monId) { u8 a0 = ((PLAYER_APPRENTICE.party >> monId) & 1);\
+ speciesArrId = PLAYER_APPRENTICE.speciesIds[monId]; \
speciesArrId = ((speciesArrId) >> (a0 << 2)) & 0xF; \
}
-static u16 sub_819FF98(u8 arg0)
+// Get the second move choice for the "Which move" question
+// Unlike the first move choice, this can be either a level up move or a TM/HM move
+static u16 GetRandomAlternateMove(u8 monId)
{
u8 i, j;
u8 id;
- u8 knownMovesCount;
+ u8 numLearnsetMoves;
u16 species;
const u16 *learnset;
- bool32 var_24 = FALSE;
- u16 moveId = 0;
- bool32 valid;
+ bool32 needTMs = FALSE;
+ u16 moveId = MOVE_NONE;
+ bool32 shouldUseMove;
u8 level;
- if (arg0 < 3)
+ if (monId < MULTI_PARTY_SIZE)
{
- APPRENTICE_SPECIES_ID(id, arg0);
+ APPRENTICE_SPECIES_ID(id, monId);
}
else
{
@@ -1286,207 +361,224 @@ static u16 sub_819FF98(u8 arg0)
species = gApprentices[PLAYER_APPRENTICE.id].species[id];
learnset = gLevelUpLearnsets[species];
j = 0;
- if (PLAYER_APPRENTICE.activeLvlMode == 1)
+
+ // Despite being open level, level up moves are only read up to level 60
+ if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50)
level = 50;
- else
+ else // == APPRENTICE_LVL_MODE_OPEN
level = 60;
- for (j = 0; learnset[j] != 0xFFFF; j++)
+ for (j = 0; learnset[j] != LEVEL_UP_END; j++)
{
- if ((learnset[j] & 0xFE00) > (level << 9))
+ if ((learnset[j] & LEVEL_UP_MOVE_LV) > (level << 9))
break;
}
- knownMovesCount = j;
+ numLearnsetMoves = j;
i = 0;
- while (i <= MAX_MON_MOVES)
+
+ // i < 5 here is arbitrary, i isnt used and is only incremented when the selected move isnt in sValidApprenticeMoves
+ // This while loop contains 3 potential infinite loops, though none of them would occur in the base game
+ while (i < 5)
{
- if (Random() % 2 == 0 || var_24 == TRUE)
+ if (Random() % 2 == 0 || needTMs == TRUE)
{
+ // Get TM move
+ // NOTE: Below is an infinite loop if a species that only learns TMs for moves
+ // that are also in its level up learnset is assigned to an Apprentice
do
{
+ // NOTE: Below is an infinite loop if a species which cannot learn TMs is assigned to an Apprentice
do
{
id = Random() % (NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES);
- valid = CanSpeciesLearnTMHM(species, id);
+ shouldUseMove = CanSpeciesLearnTMHM(species, id);
}
- while (!valid);
+ while (!shouldUseMove);
moveId = ItemIdToBattleMoveId(ITEM_TM01 + id);
- valid = TRUE;
+ shouldUseMove = TRUE;
- if (knownMovesCount < 5)
+ if (numLearnsetMoves <= MAX_MON_MOVES)
j = 0;
else
- j = knownMovesCount - MAX_MON_MOVES;
+ j = numLearnsetMoves - MAX_MON_MOVES;
- for (; j < knownMovesCount; j++)
+ for (; j < numLearnsetMoves; j++)
{
- if ((learnset[j] & 0x1FF) == moveId)
+ // Keep looking for TMs until one not in the level up learnset is found
+ if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId)
{
- valid = FALSE;
+ shouldUseMove = FALSE;
break;
}
}
- } while (valid != TRUE);
+ } while (shouldUseMove != TRUE);
}
else
{
- if (knownMovesCount <= MAX_MON_MOVES)
+ if (numLearnsetMoves <= MAX_MON_MOVES)
{
- var_24 = TRUE;
+ needTMs = TRUE;
continue;
}
else
{
+ // Get level up move
+ // NOTE: Below is an infinite loop if a mon whose last 4 moves contain
+ // all the moves in the rest of its learnset is assigned to an Apprentice
do
{
- u8 learnsetId = Random() % (knownMovesCount - MAX_MON_MOVES);
- moveId = learnset[learnsetId] & 0x1FF;
- valid = TRUE;
- for (j = knownMovesCount - MAX_MON_MOVES; j < knownMovesCount; j++)
+ // Get a random move excluding the 4 it would know at max level
+ u8 learnsetId = Random() % (numLearnsetMoves - MAX_MON_MOVES);
+ moveId = learnset[learnsetId] & LEVEL_UP_MOVE_ID;
+ shouldUseMove = TRUE;
+
+ for (j = numLearnsetMoves - MAX_MON_MOVES; j < numLearnsetMoves; j++)
{
- if ((learnset[j] & 0x1FF) == moveId)
+ // Keep looking for moves until one not in the last 4 is found
+ if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId)
{
- valid = FALSE;
+ shouldUseMove = FALSE;
break;
}
}
- } while (valid != TRUE);
+ } while (shouldUseMove != TRUE);
}
}
- if (sub_81A0194(arg0, moveId))
+ if (TrySetMove(monId, moveId))
{
- if (gUnknown_08611370[moveId])
+ if (sValidApprenticeMoves[moveId])
break;
i++;
}
}
- gUnknown_030062EC->unk0++;
+ gApprenticePartyMovesData->moveCounter++;
return moveId;
}
-static bool8 sub_81A0194(u8 arg0, u16 moveId)
+static bool8 TrySetMove(u8 monId, u16 moveId)
{
u8 i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++)
{
- if (gUnknown_030062EC->unk2[arg0][i] == moveId)
+ if (gApprenticePartyMovesData->moves[monId][i] == moveId)
return FALSE;
}
- gUnknown_030062EC->unk2[arg0][gUnknown_030062EC->unk0] = moveId;
+ gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = moveId;
return TRUE;
}
static void GetLatestLearnedMoves(u16 species, u16 *moves)
{
u8 i, j;
- u8 level, knownMovesCount;
+ u8 level, numLearnsetMoves;
const u16 *learnset;
- if (PLAYER_APPRENTICE.activeLvlMode == 1)
+ if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50)
level = 50;
- else
+ else // == APPRENTICE_LVL_MODE_OPEN
level = 60;
learnset = gLevelUpLearnsets[species];
- for (i = 0; learnset[i] != 0xFFFF; i++)
+ for (i = 0; learnset[i] != LEVEL_UP_END; i++)
{
- if ((learnset[i] & 0xFE00) > (level << 9))
+ if ((learnset[i] & LEVEL_UP_MOVE_LV) > (level << 9))
break;
}
- knownMovesCount = i;
- if (knownMovesCount > MAX_MON_MOVES)
- knownMovesCount = MAX_MON_MOVES;
+ numLearnsetMoves = i;
+ if (numLearnsetMoves > MAX_MON_MOVES)
+ numLearnsetMoves = MAX_MON_MOVES;
- for (j = 0; j < knownMovesCount; j++)
- moves[j] = learnset[(i - 1) - j] & 0x1FF;
+ for (j = 0; j < numLearnsetMoves; j++)
+ moves[j] = learnset[(i - 1) - j] & LEVEL_UP_MOVE_ID;
}
-static u16 sub_81A0284(u8 arg0, u8 speciesTableId, u8 arg2)
+// Get the level up move or previously suggested move to be the first move choice
+// Compare to GetRandomAlternateMove, which gets the move that will be the second choice
+static u16 GetDefaultMove(u8 monId, u8 speciesArrayId, u8 moveSlot)
{
- u16 moves[4];
- u8 i, count;
+ u16 moves[MAX_MON_MOVES];
+ u8 i, numQuestions;
- if (PLAYER_APPRENTICE.field_B1_1 < 3)
- return 0;
+ if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS)
+ return MOVE_NONE;
- count = 0;
- for (i = 0; i < 9; i++)
- {
- if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 0)
- break;
- count++;
- }
+ numQuestions = 0;
+ for (i = 0; i < APPRENTICE_MAX_QUESTIONS && PLAYER_APPRENTICE.questions[i].questionId != QUESTION_ID_WIN_SPEECH; i++)
+ numQuestions++;
- GetLatestLearnedMoves(gApprentices[PLAYER_APPRENTICE.id].species[speciesTableId], moves);
- for (i = 0; i < count && i < PLAYER_APPRENTICE.field_B1_1 - 3; i++)
+ GetLatestLearnedMoves(gApprentices[PLAYER_APPRENTICE.id].species[speciesArrayId], moves);
+ for (i = 0; i < numQuestions && i < CURRENT_QUESTION_NUM; i++)
{
- if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 2
- && PLAYER_APPRENTICE.field_B8[i].unk0_1 == arg0
- && PLAYER_APPRENTICE.field_B8[i].unk0_3 != 0)
+ if (PLAYER_APPRENTICE.questions[i].questionId == QUESTION_ID_WHICH_MOVE
+ && PLAYER_APPRENTICE.questions[i].monId == monId
+ && PLAYER_APPRENTICE.questions[i].suggestedChange)
{
- moves[PLAYER_APPRENTICE.field_B8[i].unk0_2] = PLAYER_APPRENTICE.field_B8[i].unk2;
+ moves[PLAYER_APPRENTICE.questions[i].moveSlot] = PLAYER_APPRENTICE.questions[i].data;
}
}
- return moves[arg2];
+ return moves[moveSlot];
}
-static void sub_81A0390(u8 arg0)
+static void SaveApprenticeParty(u8 numQuestions)
{
- struct ApprenticeMon *apprenticeMons[3];
+ struct ApprenticeMon *apprenticeMons[MULTI_PARTY_SIZE];
u8 i, j;
u32 speciesTableId;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < MULTI_PARTY_SIZE; i++)
{
- gSaveBlock2Ptr->apprentices[0].party[i].species = 0;
- gSaveBlock2Ptr->apprentices[0].party[i].item = 0;
+ gSaveBlock2Ptr->apprentices[0].party[i].species = SPECIES_NONE;
+ gSaveBlock2Ptr->apprentices[0].party[i].item = ITEM_NONE;
for (j = 0; j < MAX_MON_MOVES; j++)
- gSaveBlock2Ptr->apprentices[0].party[i].moves[j] = 0;
+ gSaveBlock2Ptr->apprentices[0].party[i].moves[j] = MOVE_NONE;
}
- j = PLAYER_APPRENTICE.field_B1_2;
- for (i = 0; i < 3; i++)
+ // Save party order
+ j = PLAYER_APPRENTICE.leadMonId;
+ for (i = 0; i < MULTI_PARTY_SIZE; i++)
{
apprenticeMons[j] = &gSaveBlock2Ptr->apprentices[0].party[i];
- j = (j + 1) % 3;
+ j = (j + 1) % (MULTI_PARTY_SIZE);
}
- for (i = 0; i < 3; i++)
+ // Save party species
+ for (i = 0; i < MULTI_PARTY_SIZE; i++)
{
APPRENTICE_SPECIES_ID(speciesTableId, i);
apprenticeMons[i]->species = gApprentices[PLAYER_APPRENTICE.id].species[speciesTableId];
GetLatestLearnedMoves(apprenticeMons[i]->species, apprenticeMons[i]->moves);
}
- for (i = 0; i < arg0; i++)
+ // Update party based on response to held item / move choice questions
+ for (i = 0; i < numQuestions; i++)
{
- u8 var1 = PLAYER_APPRENTICE.field_B8[i].unk0_0;
- u8 monId = PLAYER_APPRENTICE.field_B8[i].unk0_1;
- if (var1 == 1)
+ u8 questionId = PLAYER_APPRENTICE.questions[i].questionId;
+ u8 monId = PLAYER_APPRENTICE.questions[i].monId;
+ if (questionId == QUESTION_ID_WHAT_ITEM)
{
- if (PLAYER_APPRENTICE.field_B8[i].unk0_3 != 0)
- apprenticeMons[monId]->item = PLAYER_APPRENTICE.field_B8[i].unk2;
+ if (PLAYER_APPRENTICE.questions[i].suggestedChange)
+ apprenticeMons[monId]->item = PLAYER_APPRENTICE.questions[i].data;
}
- else if (var1 == 2)
+ else if (questionId == QUESTION_ID_WHICH_MOVE)
{
- if (PLAYER_APPRENTICE.field_B8[i].unk0_3 != 0)
+ if (PLAYER_APPRENTICE.questions[i].suggestedChange)
{
- u32 moveSlot = PLAYER_APPRENTICE.field_B8[i].unk0_2;
- apprenticeMons[monId]->moves[moveSlot] = PLAYER_APPRENTICE.field_B8[i].unk2;
+ u32 moveSlot = PLAYER_APPRENTICE.questions[i].moveSlot;
+ apprenticeMons[monId]->moves[moveSlot] = PLAYER_APPRENTICE.questions[i].data;
}
}
}
}
-static void CreateMenuWithAnswers(u8 arg0)
+static void CreateApprenticeMenu(u8 menu)
{
u8 i;
u8 windowId;
@@ -1497,19 +589,19 @@ static void CreateMenuWithAnswers(u8 arg0)
u8 top;
s32 pixelWidth;
- switch (arg0)
+ switch (menu)
{
case APPRENTICE_ASK_WHICH_LEVEL:
- left = 0x12;
+ left = 18;
top = 8;
strings[0] = gText_Lv50;
strings[1] = gText_OpenLevel;
break;
case APPRENTICE_ASK_3SPECIES:
- count = 3;
- left = 0x12;
+ count = MULTI_PARTY_SIZE;
+ left = 18;
top = 6;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < MULTI_PARTY_SIZE; i++)
{
u16 species;
u32 speciesTableId;
@@ -1520,27 +612,27 @@ static void CreateMenuWithAnswers(u8 arg0)
}
break;
case APPRENTICE_ASK_2SPECIES:
- left = 0x12;
+ left = 18;
top = 8;
- if (PLAYER_APPRENTICE.field_B1_1 > 2)
+ if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS)
return;
- strings[1] = gSpeciesNames[gUnknown_030062F0->unk2];
- strings[0] = gSpeciesNames[gUnknown_030062F0->unk0];
+ strings[1] = gSpeciesNames[gApprenticeQuestionData->altSpeciesId];
+ strings[0] = gSpeciesNames[gApprenticeQuestionData->speciesId];
break;
case APPRENTICE_ASK_MOVES:
- left = 0x11;
+ left = 17;
top = 8;
- strings[0] = gMoveNames[gUnknown_030062F0->unk4];
- strings[1] = gMoveNames[gUnknown_030062F0->unk6];
+ strings[0] = gMoveNames[gApprenticeQuestionData->moveId1];
+ strings[1] = gMoveNames[gApprenticeQuestionData->moveId2];
break;
case APPRENTICE_ASK_GIVE:
- left = 0x12;
+ left = 18;
top = 8;
strings[0] = gText_Give;
strings[1] = gText_NoNeed;
break;
case APPRENTICE_ASK_YES_NO:
- left = 0x14;
+ left = 20;
top = 8;
strings[0] = gText_Yes;
strings[1] = gText_No;
@@ -1559,8 +651,8 @@ static void CreateMenuWithAnswers(u8 arg0)
pixelWidth = width;
}
- width = convert_pixel_width_to_tile_width(pixelWidth);
- left = sub_80E2D5C(left, width);
+ width = ConvertPixelWidthToTileWidth(pixelWidth);
+ left = ScriptMenu_AdjustLeftCoordFromWidth(left, width);
windowId = CreateAndShowWindow(left, top, width, count * 2);
SetStandardWindowBorderStyle(windowId, 0);
@@ -1623,12 +715,12 @@ static void RemoveAndHideWindow(u8 windowId)
RemoveWindow(windowId);
}
-static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId)
+static void CreateChooseAnswerTask(bool8 noBButton, u8 answers, u8 windowId)
{
u8 taskId = CreateTask(Task_ChooseAnswer, 80);
gTasks[taskId].tNoBButton = noBButton;
- if (itemsCount > 3)
+ if (answers > 3)
gTasks[taskId].tWrapAround = TRUE;
else
gTasks[taskId].tWrapAround = FALSE;
@@ -1649,71 +741,79 @@ static void Script_ResetPlayerApprentice(void)
{
u8 i;
- sub_819FBC8();
- PLAYER_APPRENTICE.activeLvlMode = 0;
- PLAYER_APPRENTICE.field_B1_1 = 0;
- PLAYER_APPRENTICE.field_B1_2 = 0;
- PLAYER_APPRENTICE.field_B2_0 = 0;
+ SetApprenticeId();
+ PLAYER_APPRENTICE.lvlMode = 0;
+ PLAYER_APPRENTICE.questionsAnswered = 0;
+ PLAYER_APPRENTICE.leadMonId = 0;
+ PLAYER_APPRENTICE.party = 0;
- for (i = 0; i < 3; i++)
- PLAYER_APPRENTICE.monIds[i] = 0;
+ for (i = 0; i < MULTI_PARTY_SIZE; i++)
+ PLAYER_APPRENTICE.speciesIds[i] = 0;
- for (i = 0; i < 9; i++)
+ for (i = 0; i < APPRENTICE_MAX_QUESTIONS; i++)
{
- PLAYER_APPRENTICE.field_B8[i].unk0_0 = 0;
- PLAYER_APPRENTICE.field_B8[i].unk0_1 = 0;
- PLAYER_APPRENTICE.field_B8[i].unk0_2 = 0;
- PLAYER_APPRENTICE.field_B8[i].unk0_3 = 0;
- PLAYER_APPRENTICE.field_B8[i].unk2 = 0;
+ PLAYER_APPRENTICE.questions[i].questionId = 0;
+ PLAYER_APPRENTICE.questions[i].monId = 0;
+ PLAYER_APPRENTICE.questions[i].moveSlot = 0;
+ PLAYER_APPRENTICE.questions[i].suggestedChange = 0;
+ PLAYER_APPRENTICE.questions[i].data = 0;
}
}
-static void Script_IsPlayersApprenticeActive(void)
+static void Script_GivenApprenticeLvlMode(void)
{
- if (!IsPlayersApprenticeActive())
+ if (!GivenApprenticeLvlMode())
gSpecialVar_Result = FALSE;
else
gSpecialVar_Result = TRUE;
}
-static void Script_SetPlayersApprenticeLvlMode(void)
+// VAR_0x8005 is 1 + the selection value from the multichoice APPRENTICE_ASK_WHICH_LEVEL
+// i.e. APPRENTICE_LVL_MODE_50 or APPRENTICE_LVL_MODE_OPEN
+static void Script_SetApprenticeLvlMode(void)
{
SetPlayersApprenticeLvlMode(gSpecialVar_0x8005);
}
-static void sub_81A0978(void)
+// Never called, APPRENTICE_FUNC_SET_ID is unused
+static void Script_SetApprenticeId(void)
{
- sub_819FBC8();
+ SetApprenticeId();
}
-static void sub_81A0984(void)
+static void Script_SetRandomQuestionData(void)
{
- sub_819FD64();
+ SetRandomQuestionData();
}
-static void sub_81A0990(void)
+static void IncrementQuestionsAnswered(void)
{
- PLAYER_APPRENTICE.field_B1_1++;
+ PLAYER_APPRENTICE.questionsAnswered++;
}
-static void sub_81A09B4(void)
+// The first 3 questions answered after meeting the Apprentice are always selecting party mons
+// after which this is never called
+static void GetNumApprenticePartyMonsAssigned(void)
{
- gSpecialVar_Result = PLAYER_APPRENTICE.field_B1_1;
+ gSpecialVar_Result = PLAYER_APPRENTICE.questionsAnswered;
}
-static void sub_81A09D0(void)
+// Never called, APPRENTICE_FUNC_IS_FINAL_QUESTION is unused
+static void IsFinalQuestion(void)
{
- s32 var = PLAYER_APPRENTICE.field_B1_1 - 3;
- if (var < 0)
+ s32 questionNum = CURRENT_QUESTION_NUM;
+
+ if (questionNum < 0)
{
+ // Not finished asking initial questions
gSpecialVar_Result = FALSE;
}
else
{
- if (var > 8)
+ if (questionNum > APPRENTICE_MAX_QUESTIONS - 1)
gSpecialVar_Result = TRUE;
- if (!PLAYER_APPRENTICE.field_B8[var].unk0_0)
+ if (PLAYER_APPRENTICE.questions[questionNum].questionId == QUESTION_ID_WIN_SPEECH)
gSpecialVar_Result = TRUE;
else
gSpecialVar_Result = FALSE;
@@ -1722,7 +822,7 @@ static void sub_81A09D0(void)
static void Script_CreateApprenticeMenu(void)
{
- CreateMenuWithAnswers(gSpecialVar_0x8005);
+ CreateApprenticeMenu(gSpecialVar_0x8005);
}
static void Task_WaitForPrintingMessage(u8 taskId)
@@ -1737,77 +837,77 @@ static void Task_WaitForPrintingMessage(u8 taskId)
}
}
-static void PrintMessage(void)
+static void PrintApprenticeMessage(void)
{
const u8 *string;
- if (gSpecialVar_0x8006 == 6)
+ if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_MON)
{
- string = gUnknown_08610FF0[PLAYER_APPRENTICE.id][0];
+ string = sApprenticeWhichMonTexts[PLAYER_APPRENTICE.id][0];
}
- else if (gSpecialVar_0x8006 == 7)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_MON)
{
- string = gUnknown_08610FF0[PLAYER_APPRENTICE.id][1];
+ string = sApprenticeWhichMonTexts[PLAYER_APPRENTICE.id][1];
}
- else if (gSpecialVar_0x8006 == 8)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_MOVE)
{
- string = gUnknown_086111B0[PLAYER_APPRENTICE.id][0];
+ string = sApprenticeWhichMoveTexts[PLAYER_APPRENTICE.id][0];
}
- else if (gSpecialVar_0x8006 == 9)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_MOVE)
{
- string = gUnknown_086111B0[PLAYER_APPRENTICE.id][1];
+ string = sApprenticeWhichMoveTexts[PLAYER_APPRENTICE.id][1];
}
- else if (gSpecialVar_0x8006 == 4)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_MON_FIRST)
{
- string = gUnknown_08611230[PLAYER_APPRENTICE.id][0];
+ string = sApprenticeWhichMonFirstTexts[PLAYER_APPRENTICE.id][0];
}
- else if (gSpecialVar_0x8006 == 5)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_MON_FIRST)
{
- string = gUnknown_08611230[PLAYER_APPRENTICE.id][1];
+ string = sApprenticeWhichMonFirstTexts[PLAYER_APPRENTICE.id][1];
}
- else if (gSpecialVar_0x8006 == 10)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHAT_HELD_ITEM)
{
- string = gUnknown_08611070[PLAYER_APPRENTICE.id][0];
+ string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][0];
}
- else if (gSpecialVar_0x8006 == 11)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_PICK_WIN_SPEECH)
{
- string = gUnknown_086112B0[PLAYER_APPRENTICE.id][0];
+ string = sApprenticePickWinSpeechTexts[PLAYER_APPRENTICE.id][0];
}
- else if (gSpecialVar_0x8006 == 12)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_HELD_ITEM)
{
- string = gUnknown_08611070[PLAYER_APPRENTICE.id][3];
+ string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][3];
}
- else if (gSpecialVar_0x8006 == 13)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_HOLD_NOTHING)
{
- string = gUnknown_08611070[PLAYER_APPRENTICE.id][1];
+ string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][1];
}
- else if (gSpecialVar_0x8006 == 16)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED)
{
- string = gUnknown_08611070[PLAYER_APPRENTICE.id][4];
+ string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][4];
}
- else if (gSpecialVar_0x8006 == 14)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_NO_HELD_ITEM)
{
- string = gUnknown_08611070[PLAYER_APPRENTICE.id][2];
+ string = sApprenticeHeldItemTexts[PLAYER_APPRENTICE.id][2];
}
- else if (gSpecialVar_0x8006 == 15)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_WIN_SPEECH)
{
- string = gUnknown_086112B0[PLAYER_APPRENTICE.id][1];
+ string = sApprenticePickWinSpeechTexts[PLAYER_APPRENTICE.id][1];
}
- else if (gSpecialVar_0x8006 == 0)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_PLEASE_TEACH)
{
- string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][0];
+ string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][0];
}
- else if (gSpecialVar_0x8006 == 1)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_REJECT)
{
- string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][1];
+ string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][1];
}
- else if (gSpecialVar_0x8006 == 2)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_WHICH_LVL_MODE)
{
- string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][2];
+ string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][2];
}
- else if (gSpecialVar_0x8006 == 3)
+ else if (gSpecialVar_0x8006 == APPRENTICE_MSG_THANKS_LVL_MODE)
{
- string = gUnknown_08610EF0[PLAYER_APPRENTICE.id][3];
+ string = sApprenticeFirstMeetingTexts[PLAYER_APPRENTICE.id][3];
}
else
{
@@ -1820,121 +920,129 @@ static void PrintMessage(void)
CreateTask(Task_WaitForPrintingMessage, 1);
}
-static void Script_PrintMessage(void)
+static void Script_PrintApprenticeMessage(void)
{
ScriptContext2_Enable();
FreezeEventObjects();
sub_808B864();
sub_808BCF4();
DrawDialogueFrame(0, 1);
- PrintMessage();
+ PrintApprenticeMessage();
}
-static void sub_81A0CC0(void)
+static void ApprenticeGetQuestion(void)
{
- if (PLAYER_APPRENTICE.field_B1_1 < 3)
+ if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS)
{
- gSpecialVar_Result = 2;
+ gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_MON;
}
- else if (PLAYER_APPRENTICE.field_B1_1 > 11)
+ else if (PLAYER_APPRENTICE.questionsAnswered > (APPRENTICE_MAX_QUESTIONS + NUM_WHICH_MON_QUESTIONS - 1))
{
- gSpecialVar_Result = 5;
+ gSpecialVar_Result = APPRENTICE_QUESTION_WIN_SPEECH;
}
else
{
- s32 id = PLAYER_APPRENTICE.field_B1_1 - 3;
- switch (PLAYER_APPRENTICE.field_B8[id].unk0_0)
+ s32 id = CURRENT_QUESTION_NUM;
+ switch (PLAYER_APPRENTICE.questions[id].questionId)
{
- case 1:
- gSpecialVar_Result = 4;
+ case QUESTION_ID_WHAT_ITEM:
+ gSpecialVar_Result = APPRENTICE_QUESTION_WHAT_ITEM;
break;
- case 2:
- gSpecialVar_Result = 3;
+ case QUESTION_ID_WHICH_MOVE:
+ gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_MOVE;
break;
- case 3:
- gSpecialVar_Result = 1;
+ case QUESTION_ID_WHICH_FIRST:
+ gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_FIRST;
break;
default:
- gSpecialVar_Result = 5;
+ //case QUESTION_ID_WIN_SPEECH:
+ gSpecialVar_Result = APPRENTICE_QUESTION_WIN_SPEECH;
break;
}
}
}
-static void sub_81A0D40(void)
+// gSpecialVar_0x8005 is 0 or 1 for the mon selection (0 is already on the team)
+// gSpecialVar_0x8006 is 0-2 for the number of party mons selected so far
+static void SetApprenticePartyMon(void)
{
if (gSpecialVar_0x8005)
{
- u8 bitNo = gSpecialVar_0x8006;
- PLAYER_APPRENTICE.field_B2_0 |= 1 << bitNo;
+ u8 partySlot = gSpecialVar_0x8006;
+ PLAYER_APPRENTICE.party |= 1 << partySlot;
}
}
-static void sub_81A0D80(void)
+// gSpecialVar_0x8005 is 0 or 1 for the move selection
+// Selection 0 is implicitly the default move assigned
+static void SetApprenticeMonMove(void)
{
- if (PLAYER_APPRENTICE.field_B1_1 >= 3)
+ if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS)
{
- u8 id = PLAYER_APPRENTICE.field_B1_1 - 3;
+ u8 id = CURRENT_QUESTION_NUM;
if (gSpecialVar_0x8005)
- PLAYER_APPRENTICE.field_B8[id].unk0_3 = 1;
+ PLAYER_APPRENTICE.questions[id].suggestedChange = TRUE;
else
- PLAYER_APPRENTICE.field_B8[id].unk0_3 = 0;
+ PLAYER_APPRENTICE.questions[id].suggestedChange = FALSE;
}
}
-static void sub_81A0DD4(void)
+static void InitQuestionData(void)
{
u8 i;
u8 count = 0;
u8 id1, id2;
- for (i = 0; i < 9 && PLAYER_APPRENTICE.field_B8[i].unk0_0; count++, i++)
+ for (i = 0; i < APPRENTICE_MAX_QUESTIONS && (PLAYER_APPRENTICE.questions[i].questionId != QUESTION_ID_WIN_SPEECH); count++, i++)
;
- gUnknown_030062F0 = AllocZeroed(sizeof(*gUnknown_030062F0));
- if (gSpecialVar_0x8005 == 2)
+ gApprenticeQuestionData = AllocZeroed(sizeof(*gApprenticeQuestionData));
+ if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHICH_MON)
{
- if (PLAYER_APPRENTICE.field_B1_1 < 3)
+ if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS)
{
- id1 = PLAYER_APPRENTICE.monIds[PLAYER_APPRENTICE.field_B1_1] >> 4;
- gUnknown_030062F0->unk2 = gApprentices[PLAYER_APPRENTICE.id].species[id1];
+ // For the first MULTI_PARTY_SIZE (3) questions, a mon is asked to be selected for the Apprentice's party
+ id1 = PLAYER_APPRENTICE.speciesIds[PLAYER_APPRENTICE.questionsAnswered] >> 4;
+ gApprenticeQuestionData->altSpeciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1];
- id2 = PLAYER_APPRENTICE.monIds[PLAYER_APPRENTICE.field_B1_1] & 0xF;
- gUnknown_030062F0->unk0 = gApprentices[PLAYER_APPRENTICE.id].species[id2];
+ id2 = PLAYER_APPRENTICE.speciesIds[PLAYER_APPRENTICE.questionsAnswered] & 0xF;
+ gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id2];
}
}
- else if (gSpecialVar_0x8005 == 3)
+ else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHICH_MOVE)
{
- if (PLAYER_APPRENTICE.field_B1_1 >= 3
- && PLAYER_APPRENTICE.field_B1_1 < count + 3
- && PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_0 == 2)
+ if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS
+ && PLAYER_APPRENTICE.questionsAnswered < count + NUM_WHICH_MON_QUESTIONS
+ && PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].questionId == QUESTION_ID_WHICH_MOVE)
{
- count = PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_1;
+ // count re-used as monId
+ count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId;
APPRENTICE_SPECIES_ID_2(id1, count);
- gUnknown_030062F0->unk0 = gApprentices[PLAYER_APPRENTICE.id].species[id1];
- gUnknown_030062F0->unk4 = sub_81A0284(count, id1, PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_2);
- gUnknown_030062F0->unk6 = PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2;
+ gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1];
+ gApprenticeQuestionData->moveId1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot);
+ gApprenticeQuestionData->moveId2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data;
}
}
- else if (gSpecialVar_0x8005 == 4)
+ else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHAT_ITEM)
{
- if (PLAYER_APPRENTICE.field_B1_1 >= 3
- && PLAYER_APPRENTICE.field_B1_1 < count + 3
- && PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_0 == 1)
+ if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS
+ && PLAYER_APPRENTICE.questionsAnswered < count + NUM_WHICH_MON_QUESTIONS
+ && PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].questionId == QUESTION_ID_WHAT_ITEM)
{
- count = PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_1;
+ // count re-used as monId
+ count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId;
APPRENTICE_SPECIES_ID_2(id2, count);
- gUnknown_030062F0->unk0 = gApprentices[PLAYER_APPRENTICE.id].species[id2];
+ gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id2];
}
}
}
-static void sub_81A0FE4(void)
+static void FreeQuestionData(void)
{
- FREE_AND_SET_NULL(gUnknown_030062F0);
+ FREE_AND_SET_NULL(gApprenticeQuestionData);
}
-static void sub_81A0FFC(void)
+static void ApprenticeBufferString(void)
{
u8 *stringDst;
u8 text[16];
@@ -1958,41 +1066,41 @@ static void sub_81A0FFC(void)
switch (gSpecialVar_0x8006)
{
case APPRENTICE_BUFF_SPECIES1:
- StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk0]);
+ StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]);
break;
case APPRENTICE_BUFF_SPECIES2:
- StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk2]);
+ StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->altSpeciesId]);
break;
case APPRENTICE_BUFF_SPECIES3:
- StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk0]);
+ StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]);
break;
case APPRENTICE_BUFF_MOVE1:
- StringCopy(stringDst, gMoveNames[gUnknown_030062F0->unk4]);
+ StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId1]);
break;
case APPRENTICE_BUFF_MOVE2:
- StringCopy(stringDst, gMoveNames[gUnknown_030062F0->unk6]);
+ StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId2]);
break;
case APPRENTICE_BUFF_ITEM:
- StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2));
+ StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data));
break;
case APPRENTICE_BUFF_NAME:
TVShowConvertInternationalString(text, GetApprenticeNameInLanguage(PLAYER_APPRENTICE.id, LANGUAGE_ENGLISH), LANGUAGE_ENGLISH);
StringCopy(stringDst, text);
break;
case APPRENTICE_BUFF_LEVEL:
- if (PLAYER_APPRENTICE.activeLvlMode == 1)
+ if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50)
StringCopy(stringDst, gText_Lv50);
- else
+ else // == APPRENTICE_LVL_MODE_OPEN
StringCopy(stringDst, gText_OpenLevel);
break;
- case APPRENTICE_BUFF_EASY_CHAT:
- FrontierSpeechToString(gSaveBlock2Ptr->apprentices[0].easyChatWords);
+ case APPRENTICE_BUFF_WIN_SPEECH:
+ FrontierSpeechToString(gSaveBlock2Ptr->apprentices[0].speechWon);
StringCopy(stringDst, gStringVar4);
break;
- case APPRENTICE_BUFF_SPECIES4:
- if (PLAYER_APPRENTICE.field_B1_2 < 3)
+ case APPRENTICE_BUFF_LEAD_MON_SPECIES:
+ if (PLAYER_APPRENTICE.leadMonId < MULTI_PARTY_SIZE)
{
- APPRENTICE_SPECIES_ID(speciesArrayId, PLAYER_APPRENTICE.field_B1_2);
+ APPRENTICE_SPECIES_ID(speciesArrayId, PLAYER_APPRENTICE.leadMonId);
}
else
{
@@ -2003,56 +1111,57 @@ static void sub_81A0FFC(void)
}
}
-static void sub_81A11F8(void)
+static void SetLeadApprenticeMon(void)
{
- PLAYER_APPRENTICE.field_B1_2 = gSpecialVar_0x8005;
+ PLAYER_APPRENTICE.leadMonId = gSpecialVar_0x8005;
}
-static void sub_81A1218(void)
+static void Script_ApprenticeOpenBagMenu(void)
{
- sub_81AAC28();
+ ApprenticeOpenBagMenu();
}
-static void sub_81A1224(void)
+static void TrySetApprenticeHeldItem(void)
{
u8 i, j;
u8 count;
- if (PLAYER_APPRENTICE.field_B1_1 < 3)
+ if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS)
return;
- for (count = 0, j = 0; j < 9 && PLAYER_APPRENTICE.field_B8[j].unk0_0; count++, j++)
+ for (count = 0, j = 0; j < APPRENTICE_MAX_QUESTIONS && PLAYER_APPRENTICE.questions[j].questionId != QUESTION_ID_WIN_SPEECH; count++, j++)
;
- for (i = 0; i < count && i < PLAYER_APPRENTICE.field_B1_1 - 3; i++)
+ // Make sure the item hasnt already been suggested in previous questions
+ for (i = 0; i < count && i < CURRENT_QUESTION_NUM; i++)
{
do {} while(0);
- if (PLAYER_APPRENTICE.field_B8[i].unk0_0 == 1
- && PLAYER_APPRENTICE.field_B8[i].unk0_3
- && PLAYER_APPRENTICE.field_B8[i].unk2 == gSpecialVar_0x8005)
+ if (PLAYER_APPRENTICE.questions[i].questionId == QUESTION_ID_WHAT_ITEM
+ && PLAYER_APPRENTICE.questions[i].suggestedChange
+ && PLAYER_APPRENTICE.questions[i].data == gSpecialVar_0x8005)
{
- PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_3 = 0;
- PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005;
- gSpecialVar_Result = 0;
+ PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].suggestedChange = FALSE;
+ PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data = gSpecialVar_0x8005;
+ gSpecialVar_Result = FALSE;
return;
}
}
- PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk0_3 = 1;
- PLAYER_APPRENTICE.field_B8[PLAYER_APPRENTICE.field_B1_1 - 3].unk2 = gSpecialVar_0x8005;
- gSpecialVar_Result = 1;
+ PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].suggestedChange = TRUE;
+ PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data = gSpecialVar_0x8005;
+ gSpecialVar_Result = TRUE;
}
-static void sub_81A1370(void)
+static void ShiftSavedApprentices(void)
{
s32 i;
- s32 r10;
- s32 r9;
+ s32 apprenticeNum;
+ s32 apprenticeIdx;
if (gSaveBlock2Ptr->apprentices[0].playerName[0] == EOS)
return;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < APPRENTICE_COUNT - 1; i++)
{
if (gSaveBlock2Ptr->apprentices[i + 1].playerName[0] == EOS)
{
@@ -2061,38 +1170,40 @@ static void sub_81A1370(void)
}
}
- r10 = 0xFFFF;
- r9 = -1;
- for (i = 1; i < 4; i++)
+ apprenticeNum = 0xFFFF;
+ apprenticeIdx = -1;
+ for (i = 1; i < APPRENTICE_COUNT; i++)
{
if (GetTrainerId(gSaveBlock2Ptr->apprentices[i].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId)
- && gSaveBlock2Ptr->apprentices[i].number < r10)
+ && gSaveBlock2Ptr->apprentices[i].number < apprenticeNum)
{
- r10 = gSaveBlock2Ptr->apprentices[i].number;
- r9 = i;
+ apprenticeNum = gSaveBlock2Ptr->apprentices[i].number;
+ apprenticeIdx = i;
}
}
- if (r9 > 0)
- gSaveBlock2Ptr->apprentices[r9] = gSaveBlock2Ptr->apprentices[0];
+ if (apprenticeIdx > 0)
+ gSaveBlock2Ptr->apprentices[apprenticeIdx] = gSaveBlock2Ptr->apprentices[0];
}
-static void sub_81A1438(void)
+// Apprentice is always saved in the first slot. Pre-existing Apprentices are moved by ShiftSavedApprentices
+static void SaveApprentice(void)
{
u8 i;
gSaveBlock2Ptr->apprentices[0].id = PLAYER_APPRENTICE.id;
- gSaveBlock2Ptr->apprentices[0].lvlMode = PLAYER_APPRENTICE.activeLvlMode;
+ gSaveBlock2Ptr->apprentices[0].lvlMode = PLAYER_APPRENTICE.lvlMode;
- for (i = 0; i < 9 && PLAYER_APPRENTICE.field_B8[i].unk0_0; i++)
+ // Count questions asked until the final (win speech) question was reached
+ for (i = 0; i < APPRENTICE_MAX_QUESTIONS && (PLAYER_APPRENTICE.questions[i].questionId != QUESTION_ID_WIN_SPEECH); i++)
;
- gSaveBlock2Ptr->apprentices[0].field_1 = i;
+ gSaveBlock2Ptr->apprentices[0].numQuestions = i;
if (gSaveBlock2Ptr->apprentices[0].number < 255)
gSaveBlock2Ptr->apprentices[0].number++;
- sub_81A0390(gSaveBlock2Ptr->apprentices[0].field_1);
- for (i = 0; i < 4; i++)
+ SaveApprenticeParty(gSaveBlock2Ptr->apprentices[0].numQuestions);
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
gSaveBlock2Ptr->apprentices[0].playerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName);
@@ -2100,13 +1211,13 @@ static void sub_81A1438(void)
CalcApprenticeChecksum(&gSaveBlock2Ptr->apprentices[0]);
}
-static void sub_81A150C(void)
+// Never called, APPRENTICE_FUNC_SET_GFX_SAVED is unused
+static void SetSavedApprenticeTrainerGfxId(void)
{
u8 i;
u8 mapObjectGfxId;
u8 class = gApprentices[gSaveBlock2Ptr->apprentices[0].id].facilityClass;
- // Search male classes.
for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++)
;
if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
@@ -2125,7 +1236,7 @@ static void sub_81A150C(void)
}
}
-static void Script_SetPlayerApprenticeTrainerGfxId(void)
+static void SetPlayerApprenticeTrainerGfxId(void)
{
u8 i;
u8 mapObjectGfxId;
@@ -2149,14 +1260,16 @@ static void Script_SetPlayerApprenticeTrainerGfxId(void)
}
}
-static void sub_81A1638(void)
+// Both of the below functions may have been dummied / used for debug
+// In all cases theres a conditional for VAR_0x8004 right after the call to these functions
+static void GetShouldCheckApprenticeGone(void)
{
- gSpecialVar_0x8004 = 1;
+ gSpecialVar_0x8004 = TRUE;
}
-static void sub_81A1644(void)
+static void GetShouldApprenticeLeave(void)
{
- gSpecialVar_0x8004 = 1;
+ gSpecialVar_0x8004 = TRUE;
}
const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language)
@@ -2181,7 +1294,8 @@ const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language)
}
}
-static void sub_81A16B4(u8 taskId)
+// Functionally unused
+static void Task_SwitchToFollowupFuncAfterButtonPress(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
SwitchTaskToFollowupFunc(taskId);
@@ -2191,8 +1305,8 @@ static void Task_ExecuteFuncAfterButtonPress(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
{
- gUnknown_030062F4 = (void*)(u32)(((u16)gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 0x10)));
- gUnknown_030062F4();
+ gApprenticeFunc = (void*)(u32)(((u16)gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 16)));
+ gApprenticeFunc();
DestroyTask(taskId);
}
}
@@ -2204,8 +1318,9 @@ static void ExecuteFuncAfterButtonPress(void (*func)(void))
gTasks[taskId].data[1] = (u32)(func) >> 16;
}
-static void sub_81A175C(TaskFunc taskFunc)
+// Unused
+static void ExecuteFollowupFuncAfterButtonPress(TaskFunc task)
{
- u8 taskId = CreateTask(sub_81A16B4, 1);
- SetTaskFuncWithFollowupFunc(taskId, sub_81A16B4, taskFunc);
+ u8 taskId = CreateTask(Task_SwitchToFollowupFuncAfterButtonPress, 1);
+ SetTaskFuncWithFollowupFunc(taskId, Task_SwitchToFollowupFuncAfterButtonPress, task);
}
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index 3c07cc227..c9a6a6606 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -54,105 +54,105 @@ static void BattleAI_DoAIProcessing(void);
static void AIStackPushVar(const u8 *);
static bool8 AIStackPop(void);
-static void BattleAICmd_if_random_less_than(void);
-static void BattleAICmd_if_random_greater_than(void);
-static void BattleAICmd_if_random_equal(void);
-static void BattleAICmd_if_random_not_equal(void);
-static void BattleAICmd_score(void);
-static void BattleAICmd_if_hp_less_than(void);
-static void BattleAICmd_if_hp_more_than(void);
-static void BattleAICmd_if_hp_equal(void);
-static void BattleAICmd_if_hp_not_equal(void);
-static void BattleAICmd_if_status(void);
-static void BattleAICmd_if_not_status(void);
-static void BattleAICmd_if_status2(void);
-static void BattleAICmd_if_not_status2(void);
-static void BattleAICmd_if_status3(void);
-static void BattleAICmd_if_not_status3(void);
-static void BattleAICmd_if_side_affecting(void);
-static void BattleAICmd_if_not_side_affecting(void);
-static void BattleAICmd_if_less_than(void);
-static void BattleAICmd_if_more_than(void);
-static void BattleAICmd_if_equal(void);
-static void BattleAICmd_if_not_equal(void);
-static void BattleAICmd_if_less_than_ptr(void);
-static void BattleAICmd_if_more_than_ptr(void);
-static void BattleAICmd_if_equal_ptr(void);
-static void BattleAICmd_if_not_equal_ptr(void);
-static void BattleAICmd_if_move(void);
-static void BattleAICmd_if_not_move(void);
-static void BattleAICmd_if_in_bytes(void);
-static void BattleAICmd_if_not_in_bytes(void);
-static void BattleAICmd_if_in_hwords(void);
-static void BattleAICmd_if_not_in_hwords(void);
-static void BattleAICmd_if_user_has_attacking_move(void);
-static void BattleAICmd_if_user_has_no_attacking_moves(void);
-static void BattleAICmd_get_turn_count(void);
-static void BattleAICmd_get_type(void);
-static void BattleAICmd_get_considered_move_power(void);
-static void BattleAICmd_get_how_powerful_move_is(void);
-static void BattleAICmd_get_last_used_battler_move(void);
-static void BattleAICmd_if_equal_(void);
-static void BattleAICmd_if_not_equal_(void);
-static void BattleAICmd_if_user_goes(void);
-static void BattleAICmd_if_user_doesnt_go(void);
-static void BattleAICmd_nullsub_2A(void);
-static void BattleAICmd_nullsub_2B(void);
-static void BattleAICmd_count_usable_party_mons(void);
-static void BattleAICmd_get_considered_move(void);
-static void BattleAICmd_get_considered_move_effect(void);
-static void BattleAICmd_get_ability(void);
-static void BattleAICmd_get_highest_type_effectiveness(void);
-static void BattleAICmd_if_type_effectiveness(void);
-static void BattleAICmd_nullsub_32(void);
-static void BattleAICmd_nullsub_33(void);
-static void BattleAICmd_if_status_in_party(void);
-static void BattleAICmd_if_status_not_in_party(void);
-static void BattleAICmd_get_weather(void);
-static void BattleAICmd_if_effect(void);
-static void BattleAICmd_if_not_effect(void);
-static void BattleAICmd_if_stat_level_less_than(void);
-static void BattleAICmd_if_stat_level_more_than(void);
-static void BattleAICmd_if_stat_level_equal(void);
-static void BattleAICmd_if_stat_level_not_equal(void);
-static void BattleAICmd_if_can_faint(void);
-static void BattleAICmd_if_cant_faint(void);
-static void BattleAICmd_if_has_move(void);
-static void BattleAICmd_if_doesnt_have_move(void);
-static void BattleAICmd_if_has_move_with_effect(void);
-static void BattleAICmd_if_doesnt_have_move_with_effect(void);
-static void BattleAICmd_if_any_move_disabled_or_encored(void);
-static void BattleAICmd_if_curr_move_disabled_or_encored(void);
-static void BattleAICmd_flee(void);
-static void BattleAICmd_if_random_safari_flee(void);
-static void BattleAICmd_watch(void);
-static void BattleAICmd_get_hold_effect(void);
-static void BattleAICmd_get_gender(void);
-static void BattleAICmd_is_first_turn_for(void);
-static void BattleAICmd_get_stockpile_count(void);
-static void BattleAICmd_is_double_battle(void);
-static void BattleAICmd_get_used_held_item(void);
-static void BattleAICmd_get_move_type_from_result(void);
-static void BattleAICmd_get_move_power_from_result(void);
-static void BattleAICmd_get_move_effect_from_result(void);
-static void BattleAICmd_get_protect_count(void);
-static void BattleAICmd_nullsub_52(void);
-static void BattleAICmd_nullsub_53(void);
-static void BattleAICmd_nullsub_54(void);
-static void BattleAICmd_nullsub_55(void);
-static void BattleAICmd_nullsub_56(void);
-static void BattleAICmd_nullsub_57(void);
-static void BattleAICmd_call(void);
-static void BattleAICmd_goto(void);
-static void BattleAICmd_end(void);
-static void BattleAICmd_if_level_cond(void);
-static void BattleAICmd_if_target_taunted(void);
-static void BattleAICmd_if_target_not_taunted(void);
-static void BattleAICmd_check_ability(void);
-static void BattleAICmd_is_of_type(void);
-static void BattleAICmd_if_target_is_ally(void);
-static void BattleAICmd_if_flash_fired(void);
-static void BattleAICmd_if_holds_item(void);
+static void Cmd_if_random_less_than(void);
+static void Cmd_if_random_greater_than(void);
+static void Cmd_if_random_equal(void);
+static void Cmd_if_random_not_equal(void);
+static void Cmd_score(void);
+static void Cmd_if_hp_less_than(void);
+static void Cmd_if_hp_more_than(void);
+static void Cmd_if_hp_equal(void);
+static void Cmd_if_hp_not_equal(void);
+static void Cmd_if_status(void);
+static void Cmd_if_not_status(void);
+static void Cmd_if_status2(void);
+static void Cmd_if_not_status2(void);
+static void Cmd_if_status3(void);
+static void Cmd_if_not_status3(void);
+static void Cmd_if_side_affecting(void);
+static void Cmd_if_not_side_affecting(void);
+static void Cmd_if_less_than(void);
+static void Cmd_if_more_than(void);
+static void Cmd_if_equal(void);
+static void Cmd_if_not_equal(void);
+static void Cmd_if_less_than_ptr(void);
+static void Cmd_if_more_than_ptr(void);
+static void Cmd_if_equal_ptr(void);
+static void Cmd_if_not_equal_ptr(void);
+static void Cmd_if_move(void);
+static void Cmd_if_not_move(void);
+static void Cmd_if_in_bytes(void);
+static void Cmd_if_not_in_bytes(void);
+static void Cmd_if_in_hwords(void);
+static void Cmd_if_not_in_hwords(void);
+static void Cmd_if_user_has_attacking_move(void);
+static void Cmd_if_user_has_no_attacking_moves(void);
+static void Cmd_get_turn_count(void);
+static void Cmd_get_type(void);
+static void Cmd_get_considered_move_power(void);
+static void Cmd_get_how_powerful_move_is(void);
+static void Cmd_get_last_used_battler_move(void);
+static void Cmd_if_equal_(void);
+static void Cmd_if_not_equal_(void);
+static void Cmd_if_user_goes(void);
+static void Cmd_if_user_doesnt_go(void);
+static void Cmd_nullsub_2A(void);
+static void Cmd_nullsub_2B(void);
+static void Cmd_count_usable_party_mons(void);
+static void Cmd_get_considered_move(void);
+static void Cmd_get_considered_move_effect(void);
+static void Cmd_get_ability(void);
+static void Cmd_get_highest_type_effectiveness(void);
+static void Cmd_if_type_effectiveness(void);
+static void Cmd_nullsub_32(void);
+static void Cmd_nullsub_33(void);
+static void Cmd_if_status_in_party(void);
+static void Cmd_if_status_not_in_party(void);
+static void Cmd_get_weather(void);
+static void Cmd_if_effect(void);
+static void Cmd_if_not_effect(void);
+static void Cmd_if_stat_level_less_than(void);
+static void Cmd_if_stat_level_more_than(void);
+static void Cmd_if_stat_level_equal(void);
+static void Cmd_if_stat_level_not_equal(void);
+static void Cmd_if_can_faint(void);
+static void Cmd_if_cant_faint(void);
+static void Cmd_if_has_move(void);
+static void Cmd_if_doesnt_have_move(void);
+static void Cmd_if_has_move_with_effect(void);
+static void Cmd_if_doesnt_have_move_with_effect(void);
+static void Cmd_if_any_move_disabled_or_encored(void);
+static void Cmd_if_curr_move_disabled_or_encored(void);
+static void Cmd_flee(void);
+static void Cmd_if_random_safari_flee(void);
+static void Cmd_watch(void);
+static void Cmd_get_hold_effect(void);
+static void Cmd_get_gender(void);
+static void Cmd_is_first_turn_for(void);
+static void Cmd_get_stockpile_count(void);
+static void Cmd_is_double_battle(void);
+static void Cmd_get_used_held_item(void);
+static void Cmd_get_move_type_from_result(void);
+static void Cmd_get_move_power_from_result(void);
+static void Cmd_get_move_effect_from_result(void);
+static void Cmd_get_protect_count(void);
+static void Cmd_nullsub_52(void);
+static void Cmd_nullsub_53(void);
+static void Cmd_nullsub_54(void);
+static void Cmd_nullsub_55(void);
+static void Cmd_nullsub_56(void);
+static void Cmd_nullsub_57(void);
+static void Cmd_call(void);
+static void Cmd_goto(void);
+static void Cmd_end(void);
+static void Cmd_if_level_cond(void);
+static void Cmd_if_target_taunted(void);
+static void Cmd_if_target_not_taunted(void);
+static void Cmd_check_ability(void);
+static void Cmd_is_of_type(void);
+static void Cmd_if_target_is_ally(void);
+static void Cmd_if_flash_fired(void);
+static void Cmd_if_holds_item(void);
// ewram
EWRAM_DATA const u8 *gAIScriptPtr = NULL;
@@ -163,105 +163,105 @@ typedef void (*BattleAICmdFunc)(void);
static const BattleAICmdFunc sBattleAICmdTable[] =
{
- BattleAICmd_if_random_less_than, // 0x0
- BattleAICmd_if_random_greater_than, // 0x1
- BattleAICmd_if_random_equal, // 0x2
- BattleAICmd_if_random_not_equal, // 0x3
- BattleAICmd_score, // 0x4
- BattleAICmd_if_hp_less_than, // 0x5
- BattleAICmd_if_hp_more_than, // 0x6
- BattleAICmd_if_hp_equal, // 0x7
- BattleAICmd_if_hp_not_equal, // 0x8
- BattleAICmd_if_status, // 0x9
- BattleAICmd_if_not_status, // 0xA
- BattleAICmd_if_status2, // 0xB
- BattleAICmd_if_not_status2, // 0xC
- BattleAICmd_if_status3, // 0xD
- BattleAICmd_if_not_status3, // 0xE
- BattleAICmd_if_side_affecting, // 0xF
- BattleAICmd_if_not_side_affecting, // 0x10
- BattleAICmd_if_less_than, // 0x11
- BattleAICmd_if_more_than, // 0x12
- BattleAICmd_if_equal, // 0x13
- BattleAICmd_if_not_equal, // 0x14
- BattleAICmd_if_less_than_ptr, // 0x15
- BattleAICmd_if_more_than_ptr, // 0x16
- BattleAICmd_if_equal_ptr, // 0x17
- BattleAICmd_if_not_equal_ptr, // 0x18
- BattleAICmd_if_move, // 0x19
- BattleAICmd_if_not_move, // 0x1A
- BattleAICmd_if_in_bytes, // 0x1B
- BattleAICmd_if_not_in_bytes, // 0x1C
- BattleAICmd_if_in_hwords, // 0x1D
- BattleAICmd_if_not_in_hwords, // 0x1E
- BattleAICmd_if_user_has_attacking_move, // 0x1F
- BattleAICmd_if_user_has_no_attacking_moves, // 0x20
- BattleAICmd_get_turn_count, // 0x21
- BattleAICmd_get_type, // 0x22
- BattleAICmd_get_considered_move_power, // 0x23
- BattleAICmd_get_how_powerful_move_is, // 0x24
- BattleAICmd_get_last_used_battler_move, // 0x25
- BattleAICmd_if_equal_, // 0x26
- BattleAICmd_if_not_equal_, // 0x27
- BattleAICmd_if_user_goes, // 0x28
- BattleAICmd_if_user_doesnt_go, // 0x29
- BattleAICmd_nullsub_2A, // 0x2A
- BattleAICmd_nullsub_2B, // 0x2B
- BattleAICmd_count_usable_party_mons, // 0x2C
- BattleAICmd_get_considered_move, // 0x2D
- BattleAICmd_get_considered_move_effect, // 0x2E
- BattleAICmd_get_ability, // 0x2F
- BattleAICmd_get_highest_type_effectiveness, // 0x30
- BattleAICmd_if_type_effectiveness, // 0x31
- BattleAICmd_nullsub_32, // 0x32
- BattleAICmd_nullsub_33, // 0x33
- BattleAICmd_if_status_in_party, // 0x34
- BattleAICmd_if_status_not_in_party, // 0x35
- BattleAICmd_get_weather, // 0x36
- BattleAICmd_if_effect, // 0x37
- BattleAICmd_if_not_effect, // 0x38
- BattleAICmd_if_stat_level_less_than, // 0x39
- BattleAICmd_if_stat_level_more_than, // 0x3A
- BattleAICmd_if_stat_level_equal, // 0x3B
- BattleAICmd_if_stat_level_not_equal, // 0x3C
- BattleAICmd_if_can_faint, // 0x3D
- BattleAICmd_if_cant_faint, // 0x3E
- BattleAICmd_if_has_move, // 0x3F
- BattleAICmd_if_doesnt_have_move, // 0x40
- BattleAICmd_if_has_move_with_effect, // 0x41
- BattleAICmd_if_doesnt_have_move_with_effect, // 0x42
- BattleAICmd_if_any_move_disabled_or_encored, // 0x43
- BattleAICmd_if_curr_move_disabled_or_encored, // 0x44
- BattleAICmd_flee, // 0x45
- BattleAICmd_if_random_safari_flee, // 0x46
- BattleAICmd_watch, // 0x47
- BattleAICmd_get_hold_effect, // 0x48
- BattleAICmd_get_gender, // 0x49
- BattleAICmd_is_first_turn_for, // 0x4A
- BattleAICmd_get_stockpile_count, // 0x4B
- BattleAICmd_is_double_battle, // 0x4C
- BattleAICmd_get_used_held_item, // 0x4D
- BattleAICmd_get_move_type_from_result, // 0x4E
- BattleAICmd_get_move_power_from_result, // 0x4F
- BattleAICmd_get_move_effect_from_result, // 0x50
- BattleAICmd_get_protect_count, // 0x51
- BattleAICmd_nullsub_52, // 0x52
- BattleAICmd_nullsub_53, // 0x53
- BattleAICmd_nullsub_54, // 0x54
- BattleAICmd_nullsub_55, // 0x55
- BattleAICmd_nullsub_56, // 0x56
- BattleAICmd_nullsub_57, // 0x57
- BattleAICmd_call, // 0x58
- BattleAICmd_goto, // 0x59
- BattleAICmd_end, // 0x5A
- BattleAICmd_if_level_cond, // 0x5B
- BattleAICmd_if_target_taunted, // 0x5C
- BattleAICmd_if_target_not_taunted, // 0x5D
- BattleAICmd_if_target_is_ally, // 0x5E
- BattleAICmd_is_of_type, // 0x5F
- BattleAICmd_check_ability, // 0x60
- BattleAICmd_if_flash_fired, // 0x61
- BattleAICmd_if_holds_item, // 0x62
+ Cmd_if_random_less_than, // 0x0
+ Cmd_if_random_greater_than, // 0x1
+ Cmd_if_random_equal, // 0x2
+ Cmd_if_random_not_equal, // 0x3
+ Cmd_score, // 0x4
+ Cmd_if_hp_less_than, // 0x5
+ Cmd_if_hp_more_than, // 0x6
+ Cmd_if_hp_equal, // 0x7
+ Cmd_if_hp_not_equal, // 0x8
+ Cmd_if_status, // 0x9
+ Cmd_if_not_status, // 0xA
+ Cmd_if_status2, // 0xB
+ Cmd_if_not_status2, // 0xC
+ Cmd_if_status3, // 0xD
+ Cmd_if_not_status3, // 0xE
+ Cmd_if_side_affecting, // 0xF
+ Cmd_if_not_side_affecting, // 0x10
+ Cmd_if_less_than, // 0x11
+ Cmd_if_more_than, // 0x12
+ Cmd_if_equal, // 0x13
+ Cmd_if_not_equal, // 0x14
+ Cmd_if_less_than_ptr, // 0x15
+ Cmd_if_more_than_ptr, // 0x16
+ Cmd_if_equal_ptr, // 0x17
+ Cmd_if_not_equal_ptr, // 0x18
+ Cmd_if_move, // 0x19
+ Cmd_if_not_move, // 0x1A
+ Cmd_if_in_bytes, // 0x1B
+ Cmd_if_not_in_bytes, // 0x1C
+ Cmd_if_in_hwords, // 0x1D
+ Cmd_if_not_in_hwords, // 0x1E
+ Cmd_if_user_has_attacking_move, // 0x1F
+ Cmd_if_user_has_no_attacking_moves, // 0x20
+ Cmd_get_turn_count, // 0x21
+ Cmd_get_type, // 0x22
+ Cmd_get_considered_move_power, // 0x23
+ Cmd_get_how_powerful_move_is, // 0x24
+ Cmd_get_last_used_battler_move, // 0x25
+ Cmd_if_equal_, // 0x26
+ Cmd_if_not_equal_, // 0x27
+ Cmd_if_user_goes, // 0x28
+ Cmd_if_user_doesnt_go, // 0x29
+ Cmd_nullsub_2A, // 0x2A
+ Cmd_nullsub_2B, // 0x2B
+ Cmd_count_usable_party_mons, // 0x2C
+ Cmd_get_considered_move, // 0x2D
+ Cmd_get_considered_move_effect, // 0x2E
+ Cmd_get_ability, // 0x2F
+ Cmd_get_highest_type_effectiveness, // 0x30
+ Cmd_if_type_effectiveness, // 0x31
+ Cmd_nullsub_32, // 0x32
+ Cmd_nullsub_33, // 0x33
+ Cmd_if_status_in_party, // 0x34
+ Cmd_if_status_not_in_party, // 0x35
+ Cmd_get_weather, // 0x36
+ Cmd_if_effect, // 0x37
+ Cmd_if_not_effect, // 0x38
+ Cmd_if_stat_level_less_than, // 0x39
+ Cmd_if_stat_level_more_than, // 0x3A
+ Cmd_if_stat_level_equal, // 0x3B
+ Cmd_if_stat_level_not_equal, // 0x3C
+ Cmd_if_can_faint, // 0x3D
+ Cmd_if_cant_faint, // 0x3E
+ Cmd_if_has_move, // 0x3F
+ Cmd_if_doesnt_have_move, // 0x40
+ Cmd_if_has_move_with_effect, // 0x41
+ Cmd_if_doesnt_have_move_with_effect, // 0x42
+ Cmd_if_any_move_disabled_or_encored, // 0x43
+ Cmd_if_curr_move_disabled_or_encored, // 0x44
+ Cmd_flee, // 0x45
+ Cmd_if_random_safari_flee, // 0x46
+ Cmd_watch, // 0x47
+ Cmd_get_hold_effect, // 0x48
+ Cmd_get_gender, // 0x49
+ Cmd_is_first_turn_for, // 0x4A
+ Cmd_get_stockpile_count, // 0x4B
+ Cmd_is_double_battle, // 0x4C
+ Cmd_get_used_held_item, // 0x4D
+ Cmd_get_move_type_from_result, // 0x4E
+ Cmd_get_move_power_from_result, // 0x4F
+ Cmd_get_move_effect_from_result, // 0x50
+ Cmd_get_protect_count, // 0x51
+ Cmd_nullsub_52, // 0x52
+ Cmd_nullsub_53, // 0x53
+ Cmd_nullsub_54, // 0x54
+ Cmd_nullsub_55, // 0x55
+ Cmd_nullsub_56, // 0x56
+ Cmd_nullsub_57, // 0x57
+ Cmd_call, // 0x58
+ Cmd_goto, // 0x59
+ Cmd_end, // 0x5A
+ Cmd_if_level_cond, // 0x5B
+ Cmd_if_target_taunted, // 0x5C
+ Cmd_if_target_not_taunted, // 0x5D
+ Cmd_if_target_is_ally, // 0x5E
+ Cmd_is_of_type, // 0x5F
+ Cmd_check_ability, // 0x60
+ Cmd_if_flash_fired, // 0x61
+ Cmd_if_holds_item, // 0x62
};
static const u16 sDiscouragedPowerfulMoveEffects[] =
@@ -298,7 +298,7 @@ void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves)
)
)
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_TRAINER_ITEMS; i++)
{
if (gTrainers[gTrainerBattleOpponent_A].items[i] != 0)
{
@@ -397,8 +397,8 @@ u8 BattleAI_ChooseMoveOrAction(void)
static u8 ChooseMoveOrAction_Singles(void)
{
- u8 currentMoveArray[4];
- u8 consideredMoveArray[4];
+ u8 currentMoveArray[MAX_MON_MOVES];
+ u8 consideredMoveArray[MAX_MON_MOVES];
u8 numOfBestMoves;
s32 i;
@@ -452,11 +452,11 @@ static u8 ChooseMoveOrAction_Doubles(void)
s32 i;
s32 j;
s32 scriptsToRun;
- s16 bestMovePointsForTarget[4];
- s8 mostViableTargetsArray[4];
- u8 actionOrMoveIndex[4];
- u8 mostViableMovesScores[4];
- u8 mostViableMovesIndices[4];
+ s16 bestMovePointsForTarget[MAX_BATTLERS_COUNT];
+ s8 mostViableTargetsArray[MAX_BATTLERS_COUNT];
+ u8 actionOrMoveIndex[MAX_BATTLERS_COUNT];
+ u8 mostViableMovesScores[MAX_MON_MOVES];
+ u8 mostViableMovesIndices[MAX_MON_MOVES];
s32 mostViableTargetsNo;
s32 mostViableMovesNo;
s16 mostMovePoints;
@@ -543,7 +543,7 @@ static u8 ChooseMoveOrAction_Doubles(void)
mostViableTargetsArray[0] = 0;
mostViableTargetsNo = 1;
- for (i = 1; i < MAX_MON_MOVES; i++)
+ for (i = 1; i < MAX_BATTLERS_COUNT; i++)
{
if (mostMovePoints == bestMovePointsForTarget[i])
{
@@ -653,7 +653,7 @@ void ClearBattlerItemEffectHistory(u8 battlerId)
BATTLE_HISTORY->itemEffects[battlerId] = 0;
}
-static void BattleAICmd_if_random_less_than(void)
+static void Cmd_if_random_less_than(void)
{
u16 random = Random();
@@ -663,7 +663,7 @@ static void BattleAICmd_if_random_less_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_random_greater_than(void)
+static void Cmd_if_random_greater_than(void)
{
u16 random = Random();
@@ -673,7 +673,7 @@ static void BattleAICmd_if_random_greater_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_random_equal(void)
+static void Cmd_if_random_equal(void)
{
u16 random = Random();
@@ -683,7 +683,7 @@ static void BattleAICmd_if_random_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_random_not_equal(void)
+static void Cmd_if_random_not_equal(void)
{
u16 random = Random();
@@ -693,7 +693,7 @@ static void BattleAICmd_if_random_not_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_score(void)
+static void Cmd_score(void)
{
AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] += gAIScriptPtr[1]; // Add the result to the array of the move consider's score.
@@ -703,7 +703,7 @@ static void BattleAICmd_score(void)
gAIScriptPtr += 2; // AI return.
}
-static void BattleAICmd_if_hp_less_than(void)
+static void Cmd_if_hp_less_than(void)
{
u16 battlerId;
@@ -718,7 +718,7 @@ static void BattleAICmd_if_hp_less_than(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_hp_more_than(void)
+static void Cmd_if_hp_more_than(void)
{
u16 battlerId;
@@ -733,7 +733,7 @@ static void BattleAICmd_if_hp_more_than(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_hp_equal(void)
+static void Cmd_if_hp_equal(void)
{
u16 battlerId;
@@ -748,7 +748,7 @@ static void BattleAICmd_if_hp_equal(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_hp_not_equal(void)
+static void Cmd_if_hp_not_equal(void)
{
u16 battlerId;
@@ -763,7 +763,7 @@ static void BattleAICmd_if_hp_not_equal(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_status(void)
+static void Cmd_if_status(void)
{
u16 battlerId;
u32 status;
@@ -781,7 +781,7 @@ static void BattleAICmd_if_status(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_status(void)
+static void Cmd_if_not_status(void)
{
u16 battlerId;
u32 status;
@@ -799,7 +799,7 @@ static void BattleAICmd_if_not_status(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_status2(void)
+static void Cmd_if_status2(void)
{
u16 battlerId;
u32 status;
@@ -817,7 +817,7 @@ static void BattleAICmd_if_status2(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_status2(void)
+static void Cmd_if_not_status2(void)
{
u16 battlerId;
u32 status;
@@ -835,7 +835,7 @@ static void BattleAICmd_if_not_status2(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_status3(void)
+static void Cmd_if_status3(void)
{
u16 battlerId;
u32 status;
@@ -853,7 +853,7 @@ static void BattleAICmd_if_status3(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_status3(void)
+static void Cmd_if_not_status3(void)
{
u16 battlerId;
u32 status;
@@ -871,7 +871,7 @@ static void BattleAICmd_if_not_status3(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_side_affecting(void)
+static void Cmd_if_side_affecting(void)
{
u16 battlerId;
u32 side, status;
@@ -890,7 +890,7 @@ static void BattleAICmd_if_side_affecting(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_side_affecting(void)
+static void Cmd_if_not_side_affecting(void)
{
u16 battlerId;
u32 side, status;
@@ -909,7 +909,7 @@ static void BattleAICmd_if_not_side_affecting(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_less_than(void)
+static void Cmd_if_less_than(void)
{
if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -917,7 +917,7 @@ static void BattleAICmd_if_less_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_more_than(void)
+static void Cmd_if_more_than(void)
{
if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -925,7 +925,7 @@ static void BattleAICmd_if_more_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_equal(void)
+static void Cmd_if_equal(void)
{
if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -933,7 +933,7 @@ static void BattleAICmd_if_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_not_equal(void)
+static void Cmd_if_not_equal(void)
{
if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -941,7 +941,7 @@ static void BattleAICmd_if_not_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_less_than_ptr(void)
+static void Cmd_if_less_than_ptr(void)
{
const u8 *value = T1_READ_PTR(gAIScriptPtr + 1);
@@ -951,7 +951,7 @@ static void BattleAICmd_if_less_than_ptr(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_more_than_ptr(void)
+static void Cmd_if_more_than_ptr(void)
{
const u8 *value = T1_READ_PTR(gAIScriptPtr + 1);
@@ -961,7 +961,7 @@ static void BattleAICmd_if_more_than_ptr(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_equal_ptr(void)
+static void Cmd_if_equal_ptr(void)
{
const u8 *value = T1_READ_PTR(gAIScriptPtr + 1);
@@ -971,7 +971,7 @@ static void BattleAICmd_if_equal_ptr(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_not_equal_ptr(void)
+static void Cmd_if_not_equal_ptr(void)
{
const u8 *value = T1_READ_PTR(gAIScriptPtr + 1);
@@ -981,7 +981,7 @@ static void BattleAICmd_if_not_equal_ptr(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_move(void)
+static void Cmd_if_move(void)
{
u16 move = T1_READ_16(gAIScriptPtr + 1);
@@ -991,7 +991,7 @@ static void BattleAICmd_if_move(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_not_move(void)
+static void Cmd_if_not_move(void)
{
u16 move = T1_READ_16(gAIScriptPtr + 1);
@@ -1001,7 +1001,7 @@ static void BattleAICmd_if_not_move(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_in_bytes(void)
+static void Cmd_if_in_bytes(void)
{
const u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1017,7 +1017,7 @@ static void BattleAICmd_if_in_bytes(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_not_in_bytes(void)
+static void Cmd_if_not_in_bytes(void)
{
const u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1033,7 +1033,7 @@ static void BattleAICmd_if_not_in_bytes(void)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
}
-static void BattleAICmd_if_in_hwords(void)
+static void Cmd_if_in_hwords(void)
{
const u16 *ptr = (const u16 *)T1_READ_PTR(gAIScriptPtr + 1);
@@ -1049,7 +1049,7 @@ static void BattleAICmd_if_in_hwords(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_not_in_hwords(void)
+static void Cmd_if_not_in_hwords(void)
{
const u16 *ptr = (const u16 *)T1_READ_PTR(gAIScriptPtr + 1);
@@ -1065,7 +1065,7 @@ static void BattleAICmd_if_not_in_hwords(void)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
}
-static void BattleAICmd_if_user_has_attacking_move(void)
+static void Cmd_if_user_has_attacking_move(void)
{
s32 i;
@@ -1082,7 +1082,7 @@ static void BattleAICmd_if_user_has_attacking_move(void)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
-static void BattleAICmd_if_user_has_no_attacking_moves(void)
+static void Cmd_if_user_has_no_attacking_moves(void)
{
s32 i;
@@ -1099,13 +1099,13 @@ static void BattleAICmd_if_user_has_no_attacking_moves(void)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
-static void BattleAICmd_get_turn_count(void)
+static void Cmd_get_turn_count(void)
{
AI_THINKING_STRUCT->funcResult = gBattleResults.battleTurnCounter;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_type(void)
+static void Cmd_get_type(void)
{
u8 typeVar = gAIScriptPtr[1];
@@ -1146,7 +1146,7 @@ static u8 BattleAI_GetWantedBattler(u8 wantedBattler)
}
}
-static void BattleAICmd_is_of_type(void)
+static void Cmd_is_of_type(void)
{
u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
@@ -1158,16 +1158,16 @@ static void BattleAICmd_is_of_type(void)
gAIScriptPtr += 3;
}
-static void BattleAICmd_get_considered_move_power(void)
+static void Cmd_get_considered_move_power(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_how_powerful_move_is(void)
+static void Cmd_get_how_powerful_move_is(void)
{
s32 i, checkedMove;
- s32 moveDmgs[4];
+ s32 moveDmgs[MAX_MON_MOVES];
for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++)
{
@@ -1228,7 +1228,7 @@ static void BattleAICmd_get_how_powerful_move_is(void)
gAIScriptPtr++;
}
-static void BattleAICmd_get_last_used_battler_move(void)
+static void Cmd_get_last_used_battler_move(void)
{
if (gAIScriptPtr[1] == AI_USER)
AI_THINKING_STRUCT->funcResult = gLastMoves[sBattler_AI];
@@ -1238,7 +1238,7 @@ static void BattleAICmd_get_last_used_battler_move(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_if_equal_(void) // Same as if_equal.
+static void Cmd_if_equal_(void) // Same as if_equal.
{
if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -1246,7 +1246,7 @@ static void BattleAICmd_if_equal_(void) // Same as if_equal.
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_not_equal_(void) // Same as if_not_equal.
+static void Cmd_if_not_equal_(void) // Same as if_not_equal.
{
if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -1254,7 +1254,7 @@ static void BattleAICmd_if_not_equal_(void) // Same as if_not_equal.
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_user_goes(void)
+static void Cmd_if_user_goes(void)
{
if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) == gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -1262,7 +1262,7 @@ static void BattleAICmd_if_user_goes(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_user_doesnt_go(void)
+static void Cmd_if_user_doesnt_go(void)
{
if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) != gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -1270,15 +1270,15 @@ static void BattleAICmd_if_user_doesnt_go(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_nullsub_2A(void)
+static void Cmd_nullsub_2A(void)
{
}
-static void BattleAICmd_nullsub_2B(void)
+static void Cmd_nullsub_2B(void)
{
}
-static void BattleAICmd_count_usable_party_mons(void)
+static void Cmd_count_usable_party_mons(void)
{
u8 battlerId;
u8 battlerOnField1, battlerOnField2;
@@ -1324,19 +1324,19 @@ static void BattleAICmd_count_usable_party_mons(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_get_considered_move(void)
+static void Cmd_get_considered_move(void)
{
AI_THINKING_STRUCT->funcResult = AI_THINKING_STRUCT->moveConsidered;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_considered_move_effect(void)
+static void Cmd_get_considered_move_effect(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_ability(void)
+static void Cmd_get_ability(void)
{
u8 battlerId;
@@ -1393,7 +1393,7 @@ static void BattleAICmd_get_ability(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_check_ability(void)
+static void Cmd_check_ability(void)
{
u32 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
u32 ability = gAIScriptPtr[2];
@@ -1453,7 +1453,7 @@ static void BattleAICmd_check_ability(void)
gAIScriptPtr += 3;
}
-static void BattleAICmd_get_highest_type_effectiveness(void)
+static void Cmd_get_highest_type_effectiveness(void)
{
s32 i;
u8 *dynamicMoveType;
@@ -1495,7 +1495,7 @@ static void BattleAICmd_get_highest_type_effectiveness(void)
gAIScriptPtr += 1;
}
-static void BattleAICmd_if_type_effectiveness(void)
+static void Cmd_if_type_effectiveness(void)
{
u8 damageVar;
@@ -1531,15 +1531,15 @@ static void BattleAICmd_if_type_effectiveness(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_nullsub_32(void)
+static void Cmd_nullsub_32(void)
{
}
-static void BattleAICmd_nullsub_33(void)
+static void Cmd_nullsub_33(void)
{
}
-static void BattleAICmd_if_status_in_party(void)
+static void Cmd_if_status_in_party(void)
{
struct Pokemon *party;
s32 i;
@@ -1576,7 +1576,7 @@ static void BattleAICmd_if_status_in_party(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_status_not_in_party(void)
+static void Cmd_if_status_not_in_party(void)
{
struct Pokemon *party;
s32 i;
@@ -1613,7 +1613,7 @@ static void BattleAICmd_if_status_not_in_party(void)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
}
-static void BattleAICmd_get_weather(void)
+static void Cmd_get_weather(void)
{
if (gBattleWeather & WEATHER_RAIN_ANY)
AI_THINKING_STRUCT->funcResult = AI_WEATHER_RAIN;
@@ -1627,7 +1627,7 @@ static void BattleAICmd_get_weather(void)
gAIScriptPtr += 1;
}
-static void BattleAICmd_if_effect(void)
+static void Cmd_if_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -1635,7 +1635,7 @@ static void BattleAICmd_if_effect(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_not_effect(void)
+static void Cmd_if_not_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -1643,7 +1643,7 @@ static void BattleAICmd_if_not_effect(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_stat_level_less_than(void)
+static void Cmd_if_stat_level_less_than(void)
{
u32 battlerId;
@@ -1658,7 +1658,7 @@ static void BattleAICmd_if_stat_level_less_than(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_stat_level_more_than(void)
+static void Cmd_if_stat_level_more_than(void)
{
u32 battlerId;
@@ -1673,7 +1673,7 @@ static void BattleAICmd_if_stat_level_more_than(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_stat_level_equal(void)
+static void Cmd_if_stat_level_equal(void)
{
u32 battlerId;
@@ -1688,7 +1688,7 @@ static void BattleAICmd_if_stat_level_equal(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_stat_level_not_equal(void)
+static void Cmd_if_stat_level_not_equal(void)
{
u32 battlerId;
@@ -1703,7 +1703,7 @@ static void BattleAICmd_if_stat_level_not_equal(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_can_faint(void)
+static void Cmd_if_can_faint(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2)
{
@@ -1732,7 +1732,7 @@ static void BattleAICmd_if_can_faint(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_cant_faint(void)
+static void Cmd_if_cant_faint(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2)
{
@@ -1759,7 +1759,7 @@ static void BattleAICmd_if_cant_faint(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_has_move(void)
+static void Cmd_if_has_move(void)
{
s32 i;
const u16 *movePtr = (u16 *)(gAIScriptPtr + 2);
@@ -1811,7 +1811,7 @@ static void BattleAICmd_if_has_move(void)
}
}
-static void BattleAICmd_if_doesnt_have_move(void)
+static void Cmd_if_doesnt_have_move(void)
{
s32 i;
const u16 *movePtr = (u16 *)(gAIScriptPtr + 2);
@@ -1845,7 +1845,7 @@ static void BattleAICmd_if_doesnt_have_move(void)
}
}
-static void BattleAICmd_if_has_move_with_effect(void)
+static void Cmd_if_has_move_with_effect(void)
{
s32 i;
@@ -1879,7 +1879,7 @@ static void BattleAICmd_if_has_move_with_effect(void)
}
}
-static void BattleAICmd_if_doesnt_have_move_with_effect(void)
+static void Cmd_if_doesnt_have_move_with_effect(void)
{
s32 i;
@@ -1912,7 +1912,7 @@ static void BattleAICmd_if_doesnt_have_move_with_effect(void)
}
}
-static void BattleAICmd_if_any_move_disabled_or_encored(void)
+static void Cmd_if_any_move_disabled_or_encored(void)
{
u8 battlerId;
@@ -1941,7 +1941,7 @@ static void BattleAICmd_if_any_move_disabled_or_encored(void)
}
}
-static void BattleAICmd_if_curr_move_disabled_or_encored(void)
+static void Cmd_if_curr_move_disabled_or_encored(void)
{
switch (gAIScriptPtr[1])
{
@@ -1963,12 +1963,12 @@ static void BattleAICmd_if_curr_move_disabled_or_encored(void)
}
}
-static void BattleAICmd_flee(void)
+static void Cmd_flee(void)
{
AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_FLEE | AI_ACTION_DO_NOT_ATTACK);
}
-static void BattleAICmd_if_random_safari_flee(void)
+static void Cmd_if_random_safari_flee(void)
{
u8 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20.
@@ -1978,12 +1978,12 @@ static void BattleAICmd_if_random_safari_flee(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_watch(void)
+static void Cmd_watch(void)
{
AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_WATCH | AI_ACTION_DO_NOT_ATTACK);
}
-static void BattleAICmd_get_hold_effect(void)
+static void Cmd_get_hold_effect(void)
{
u8 battlerId;
@@ -2000,7 +2000,7 @@ static void BattleAICmd_get_hold_effect(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_if_holds_item(void)
+static void Cmd_if_holds_item(void)
{
u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
u16 item;
@@ -2021,7 +2021,7 @@ static void BattleAICmd_if_holds_item(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_get_gender(void)
+static void Cmd_get_gender(void)
{
u8 battlerId;
@@ -2035,7 +2035,7 @@ static void BattleAICmd_get_gender(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_is_first_turn_for(void)
+static void Cmd_is_first_turn_for(void)
{
u8 battlerId;
@@ -2049,7 +2049,7 @@ static void BattleAICmd_is_first_turn_for(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_get_stockpile_count(void)
+static void Cmd_get_stockpile_count(void)
{
u8 battlerId;
@@ -2063,14 +2063,14 @@ static void BattleAICmd_get_stockpile_count(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_is_double_battle(void)
+static void Cmd_is_double_battle(void)
{
AI_THINKING_STRUCT->funcResult = gBattleTypeFlags & BATTLE_TYPE_DOUBLE;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_used_held_item(void)
+static void Cmd_get_used_held_item(void)
{
u8 battlerId;
@@ -2089,28 +2089,28 @@ static void BattleAICmd_get_used_held_item(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_get_move_type_from_result(void)
+static void Cmd_get_move_type_from_result(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].type;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_move_power_from_result(void)
+static void Cmd_get_move_power_from_result(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].power;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_move_effect_from_result(void)
+static void Cmd_get_move_effect_from_result(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].effect;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_protect_count(void)
+static void Cmd_get_protect_count(void)
{
u8 battlerId;
@@ -2124,48 +2124,48 @@ static void BattleAICmd_get_protect_count(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_nullsub_52(void)
+static void Cmd_nullsub_52(void)
{
}
-static void BattleAICmd_nullsub_53(void)
+static void Cmd_nullsub_53(void)
{
}
-static void BattleAICmd_nullsub_54(void)
+static void Cmd_nullsub_54(void)
{
}
-static void BattleAICmd_nullsub_55(void)
+static void Cmd_nullsub_55(void)
{
}
-static void BattleAICmd_nullsub_56(void)
+static void Cmd_nullsub_56(void)
{
}
-static void BattleAICmd_nullsub_57(void)
+static void Cmd_nullsub_57(void)
{
}
-static void BattleAICmd_call(void)
+static void Cmd_call(void)
{
AIStackPushVar(gAIScriptPtr + 5);
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
-static void BattleAICmd_goto(void)
+static void Cmd_goto(void)
{
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
-static void BattleAICmd_end(void)
+static void Cmd_end(void)
{
if (AIStackPop() == 0)
AI_THINKING_STRUCT->aiAction |= AI_ACTION_DONE;
}
-static void BattleAICmd_if_level_cond(void)
+static void Cmd_if_level_cond(void)
{
switch (gAIScriptPtr[1])
{
@@ -2190,7 +2190,7 @@ static void BattleAICmd_if_level_cond(void)
}
}
-static void BattleAICmd_if_target_taunted(void)
+static void Cmd_if_target_taunted(void)
{
if (gDisableStructs[gBattlerTarget].tauntTimer != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -2198,7 +2198,7 @@ static void BattleAICmd_if_target_taunted(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_target_not_taunted(void)
+static void Cmd_if_target_not_taunted(void)
{
if (gDisableStructs[gBattlerTarget].tauntTimer == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -2206,7 +2206,7 @@ static void BattleAICmd_if_target_not_taunted(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_target_is_ally(void)
+static void Cmd_if_target_is_ally(void)
{
if ((sBattler_AI & BIT_SIDE) == (gBattlerTarget & BIT_SIDE))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -2214,7 +2214,7 @@ static void BattleAICmd_if_target_is_ally(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_flash_fired(void)
+static void Cmd_if_flash_fired(void)
{
u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c
index cd31293f8..32f9620b7 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -787,9 +787,9 @@ static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u
return AI_ITEM_HEAL_HP;
else if (itemEffect[3] & ITEM3_STATUS_ALL)
return AI_ITEM_CURE_CONDITION;
- else if (itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0)
+ else if (itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0)
return AI_ITEM_X_STAT;
- else if (itemEffect[3] & ITEM3_MIST)
+ else if (itemEffect[3] & ITEM3_GUARD_SPEC)
return AI_ITEM_GUARD_SPECS;
else
return AI_ITEM_NOT_RECOGNIZABLE;
@@ -820,7 +820,7 @@ static bool8 ShouldUseItem(void)
}
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_TRAINER_ITEMS; i++)
{
u16 item;
const u8 *itemEffects;
@@ -907,7 +907,7 @@ static bool8 ShouldUseItem(void)
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8;
if (itemEffects[2] & ITEM2_X_ACCURACY)
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20;
- if (itemEffects[0] & ITEM0_HIGH_CRIT)
+ if (itemEffects[0] & ITEM0_DIRE_HIT)
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80;
shouldUse = TRUE;
break;
diff --git a/src/battle_anim.c b/src/battle_anim.c
index ab1e5ed6a..becc12d56 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -114,7 +114,7 @@ EWRAM_DATA u8 gBattleAnimTarget = 0;
EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA u8 gUnknown_02038440 = 0;
-const struct OamData gUnknown_08524904 =
+const struct OamData gOamData_AffineOff_ObjNormal_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -129,7 +129,7 @@ const struct OamData gUnknown_08524904 =
};
-const struct OamData gUnknown_0852490C =
+const struct OamData gOamData_AffineOff_ObjNormal_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -143,7 +143,7 @@ const struct OamData gUnknown_0852490C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524914 =
+const struct OamData gOamData_AffineOff_ObjNormal_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -157,7 +157,7 @@ const struct OamData gUnknown_08524914 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852491C =
+const struct OamData gOamData_AffineOff_ObjNormal_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -171,7 +171,7 @@ const struct OamData gUnknown_0852491C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524924 =
+const struct OamData gOamData_AffineOff_ObjNormal_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -185,7 +185,7 @@ const struct OamData gUnknown_08524924 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852492C =
+const struct OamData gOamData_AffineOff_ObjNormal_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -199,7 +199,7 @@ const struct OamData gUnknown_0852492C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524934 =
+const struct OamData gOamData_AffineOff_ObjNormal_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -213,7 +213,7 @@ const struct OamData gUnknown_08524934 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852493C =
+const struct OamData gOamData_AffineOff_ObjNormal_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -227,7 +227,7 @@ const struct OamData gUnknown_0852493C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524944 =
+const struct OamData gOamData_AffineOff_ObjNormal_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -241,7 +241,7 @@ const struct OamData gUnknown_08524944 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852494C =
+const struct OamData gOamData_AffineOff_ObjNormal_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -255,7 +255,7 @@ const struct OamData gUnknown_0852494C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524954 =
+const struct OamData gOamData_AffineOff_ObjNormal_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -269,7 +269,7 @@ const struct OamData gUnknown_08524954 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852495C =
+const struct OamData gOamData_AffineOff_ObjNormal_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -283,7 +283,7 @@ const struct OamData gUnknown_0852495C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524964 =
+const struct OamData gOamData_AffineNormal_ObjNormal_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -297,7 +297,7 @@ const struct OamData gUnknown_08524964 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852496C =
+const struct OamData gOamData_AffineNormal_ObjNormal_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -311,7 +311,7 @@ const struct OamData gUnknown_0852496C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524974 =
+const struct OamData gOamData_AffineNormal_ObjNormal_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -325,7 +325,7 @@ const struct OamData gUnknown_08524974 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852497C =
+const struct OamData gOamData_AffineNormal_ObjNormal_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -339,7 +339,7 @@ const struct OamData gUnknown_0852497C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524984 =
+const struct OamData gOamData_AffineNormal_ObjNormal_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -353,7 +353,7 @@ const struct OamData gUnknown_08524984 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852498C =
+const struct OamData gOamData_AffineNormal_ObjNormal_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -367,7 +367,7 @@ const struct OamData gUnknown_0852498C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524994 =
+const struct OamData gOamData_AffineNormal_ObjNormal_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -381,7 +381,7 @@ const struct OamData gUnknown_08524994 =
.paletteNum = 0,
};
-const struct OamData gUnknown_0852499C =
+const struct OamData gOamData_AffineNormal_ObjNormal_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -395,7 +395,7 @@ const struct OamData gUnknown_0852499C =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249A4 =
+const struct OamData gOamData_AffineNormal_ObjNormal_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -409,7 +409,7 @@ const struct OamData gUnknown_085249A4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249AC =
+const struct OamData gOamData_AffineNormal_ObjNormal_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -423,7 +423,7 @@ const struct OamData gUnknown_085249AC =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249B4 =
+const struct OamData gOamData_AffineNormal_ObjNormal_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -437,7 +437,7 @@ const struct OamData gUnknown_085249B4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249BC =
+const struct OamData gOamData_AffineNormal_ObjNormal_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -451,7 +451,7 @@ const struct OamData gUnknown_085249BC =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249C4 =
+const struct OamData gOamData_AffineDouble_ObjNormal_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -465,7 +465,7 @@ const struct OamData gUnknown_085249C4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249CC =
+const struct OamData gOamData_AffineDouble_ObjNormal_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -479,7 +479,7 @@ const struct OamData gUnknown_085249CC =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249D4 =
+const struct OamData gOamData_AffineDouble_ObjNormal_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -493,7 +493,7 @@ const struct OamData gUnknown_085249D4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249DC =
+const struct OamData gOamData_AffineDouble_ObjNormal_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -507,7 +507,7 @@ const struct OamData gUnknown_085249DC =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249E4 =
+const struct OamData gOamData_AffineDouble_ObjNormal_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -521,7 +521,7 @@ const struct OamData gUnknown_085249E4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249EC =
+const struct OamData gOamData_AffineDouble_ObjNormal_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -535,7 +535,7 @@ const struct OamData gUnknown_085249EC =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249F4 =
+const struct OamData gOamData_AffineDouble_ObjNormal_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -549,7 +549,7 @@ const struct OamData gUnknown_085249F4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_085249FC =
+const struct OamData gOamData_AffineDouble_ObjNormal_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -563,7 +563,7 @@ const struct OamData gUnknown_085249FC =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A04 =
+const struct OamData gOamData_AffineDouble_ObjNormal_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -577,7 +577,7 @@ const struct OamData gUnknown_08524A04 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A0C =
+const struct OamData gOamData_AffineDouble_ObjNormal_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -591,7 +591,7 @@ const struct OamData gUnknown_08524A0C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A14 =
+const struct OamData gOamData_AffineDouble_ObjNormal_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -605,7 +605,7 @@ const struct OamData gUnknown_08524A14 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A1C =
+const struct OamData gOamData_AffineDouble_ObjNormal_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -619,7 +619,7 @@ const struct OamData gUnknown_08524A1C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A24 =
+const struct OamData gOamData_AffineOff_ObjBlend_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -633,7 +633,7 @@ const struct OamData gUnknown_08524A24 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A2C =
+const struct OamData gOamData_AffineOff_ObjBlend_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -647,7 +647,7 @@ const struct OamData gUnknown_08524A2C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A34 =
+const struct OamData gOamData_AffineOff_ObjBlend_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -661,7 +661,7 @@ const struct OamData gUnknown_08524A34 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A3C =
+const struct OamData gOamData_AffineOff_ObjBlend_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -675,7 +675,7 @@ const struct OamData gUnknown_08524A3C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A44 =
+const struct OamData gOamData_AffineOff_ObjBlend_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -689,7 +689,7 @@ const struct OamData gUnknown_08524A44 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A4C =
+const struct OamData gOamData_AffineOff_ObjBlend_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -703,7 +703,7 @@ const struct OamData gUnknown_08524A4C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A54 =
+const struct OamData gOamData_AffineOff_ObjBlend_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -717,7 +717,7 @@ const struct OamData gUnknown_08524A54 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A5C =
+const struct OamData gOamData_AffineOff_ObjBlend_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -731,7 +731,7 @@ const struct OamData gUnknown_08524A5C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A64 =
+const struct OamData gOamData_AffineOff_ObjBlend_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -745,7 +745,7 @@ const struct OamData gUnknown_08524A64 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A6C =
+const struct OamData gOamData_AffineOff_ObjBlend_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -759,7 +759,7 @@ const struct OamData gUnknown_08524A6C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A74 =
+const struct OamData gOamData_AffineOff_ObjBlend_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -773,7 +773,7 @@ const struct OamData gUnknown_08524A74 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A7C =
+const struct OamData gOamData_AffineOff_ObjBlend_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -787,7 +787,7 @@ const struct OamData gUnknown_08524A7C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A84 =
+const struct OamData gOamData_AffineNormal_ObjBlend_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -801,7 +801,7 @@ const struct OamData gUnknown_08524A84 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A8C =
+const struct OamData gOamData_AffineNormal_ObjBlend_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -815,7 +815,7 @@ const struct OamData gUnknown_08524A8C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A94 =
+const struct OamData gOamData_AffineNormal_ObjBlend_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -829,7 +829,7 @@ const struct OamData gUnknown_08524A94 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524A9C =
+const struct OamData gOamData_AffineNormal_ObjBlend_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -843,7 +843,7 @@ const struct OamData gUnknown_08524A9C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AA4 =
+const struct OamData gOamData_AffineNormal_ObjBlend_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -857,7 +857,7 @@ const struct OamData gUnknown_08524AA4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AAC =
+const struct OamData gOamData_AffineNormal_ObjBlend_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -871,7 +871,7 @@ const struct OamData gUnknown_08524AAC =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AB4 =
+const struct OamData gOamData_AffineNormal_ObjBlend_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -885,7 +885,7 @@ const struct OamData gUnknown_08524AB4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524ABC =
+const struct OamData gOamData_AffineNormal_ObjBlend_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -899,7 +899,7 @@ const struct OamData gUnknown_08524ABC =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AC4 =
+const struct OamData gOamData_AffineNormal_ObjBlend_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -913,7 +913,7 @@ const struct OamData gUnknown_08524AC4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524ACC =
+const struct OamData gOamData_AffineNormal_ObjBlend_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -927,7 +927,7 @@ const struct OamData gUnknown_08524ACC =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AD4 =
+const struct OamData gOamData_AffineNormal_ObjBlend_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -941,7 +941,7 @@ const struct OamData gUnknown_08524AD4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524ADC =
+const struct OamData gOamData_AffineNormal_ObjBlend_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -955,7 +955,7 @@ const struct OamData gUnknown_08524ADC =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AE4 =
+const struct OamData gOamData_AffineDouble_ObjBlend_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -969,7 +969,7 @@ const struct OamData gUnknown_08524AE4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AEC =
+const struct OamData gOamData_AffineDouble_ObjBlend_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -983,7 +983,7 @@ const struct OamData gUnknown_08524AEC =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AF4 =
+const struct OamData gOamData_AffineDouble_ObjBlend_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -997,7 +997,7 @@ const struct OamData gUnknown_08524AF4 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524AFC =
+const struct OamData gOamData_AffineDouble_ObjBlend_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1011,7 +1011,7 @@ const struct OamData gUnknown_08524AFC =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B04 =
+const struct OamData gOamData_AffineDouble_ObjBlend_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1025,7 +1025,7 @@ const struct OamData gUnknown_08524B04 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B0C =
+const struct OamData gOamData_AffineDouble_ObjBlend_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1039,7 +1039,7 @@ const struct OamData gUnknown_08524B0C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B14 =
+const struct OamData gOamData_AffineDouble_ObjBlend_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1053,7 +1053,7 @@ const struct OamData gUnknown_08524B14 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B1C =
+const struct OamData gOamData_AffineDouble_ObjBlend_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1067,7 +1067,7 @@ const struct OamData gUnknown_08524B1C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B24 =
+const struct OamData gOamData_AffineDouble_ObjBlend_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1081,7 +1081,7 @@ const struct OamData gUnknown_08524B24 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B2C =
+const struct OamData gOamData_AffineDouble_ObjBlend_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1095,7 +1095,7 @@ const struct OamData gUnknown_08524B2C =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B34 =
+const struct OamData gOamData_AffineDouble_ObjBlend_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1109,7 +1109,7 @@ const struct OamData gUnknown_08524B34 =
.paletteNum = 0,
};
-const struct OamData gUnknown_08524B3C =
+const struct OamData gOamData_AffineDouble_ObjBlend_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1355,7 +1355,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] =
{gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT},
{gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z},
{gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN},
- {gBattleAnimSpriteGfx_TriForceTriangle, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE},
+ {gBattleAnimSpriteGfx_TriAttackTriangle, 0x0800, ANIM_TAG_TRI_ATTACK_TRIANGLE},
{gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB},
{gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE},
{gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS},
@@ -1648,7 +1648,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
{gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT},
{gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z},
{gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN},
- {gBattleAnimSpritePal_TriForceTriangle, ANIM_TAG_TRI_FORCE_TRIANGLE},
+ {gBattleAnimSpritePal_TriAttackTriangle, ANIM_TAG_TRI_ATTACK_TRIANGLE},
{gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB},
{gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE},
{gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS},
@@ -2808,12 +2808,12 @@ static void LoadMoveBg(u16 bgId)
void *dmaDest;
LZDecompressWram(tilemap, gDecompressionBuffer);
- sub_80A4720(sub_80A6D94(), (void*)(gDecompressionBuffer), 0x100, 0);
+ sub_80A4720(GetBattleBgPaletteNum(), (void*)(gDecompressionBuffer), 0x100, 0);
dmaSrc = gDecompressionBuffer;
dmaDest = (void *)(BG_SCREEN_ADDR(26));
DmaCopy32(3, dmaSrc, dmaDest, 0x800);
LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_SCREEN_ADDR(4)));
- LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, sub_80A6D94() * 16, 32);
+ LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, GetBattleBgPaletteNum() * 16, 32);
}
else
{
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index db9057cb4..1efb29ecd 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle_anim.h"
#include "battle_interface.h"
#include "decompress.h"
@@ -41,43 +41,43 @@ void AnimKnockOffItem(struct Sprite *);
void AnimPresentHealParticle(struct Sprite *);
void AnimItemSteal(struct Sprite *);
void AnimTrickBag(struct Sprite *);
-void sub_8100640(struct Sprite *);
-void sub_8100898(struct Sprite *);
+void AnimFlyingParticle(struct Sprite *);
+void AnimNeedleArmSpike(struct Sprite *);
void sub_81009F8(struct Sprite *);
-void sub_8100A50(struct Sprite *);
+void AnimWhipHit(struct Sprite *);
void sub_8100A94(struct Sprite *);
void AnimCuttingSlice(struct Sprite *);
-void sub_8100B88(struct Sprite *);
+void AnimAirCutterSlice(struct Sprite *);
void sub_8100E1C(struct Sprite *);
-void sub_8100EF0(struct Sprite *);
-void sub_81010CC(struct Sprite *);
-void sub_810130C(struct Sprite *);
-void sub_810135C(struct Sprite *);
+void AnimProtect(struct Sprite *);
+void AnimMilkBottle(struct Sprite *);
+void AnimGrantingStars(struct Sprite *);
+void AnimSparkingStars(struct Sprite *);
void sub_8101440(struct Sprite *);
-void sub_81014F4(struct Sprite *);
-void sub_81015AC(struct Sprite *);
-void sub_8101898(struct Sprite *);
-void sub_8101940(struct Sprite *);
+void AnimSleepLetterZ(struct Sprite *);
+void AnimLockOnTarget(struct Sprite *);
+void AnimLockOnMoveTarget(struct Sprite *);
+void AnimBowMon(struct Sprite *);
void sub_8101B90(struct Sprite *);
-void sub_8101F40(struct Sprite *);
-void sub_8101FA8(struct Sprite *);
-void sub_8101FF0(struct Sprite *);
-void sub_81020D8(struct Sprite *);
-void sub_810217C(struct Sprite *);
-void sub_8102268(struct Sprite *);
-void sub_810234C(struct Sprite *);
-void sub_81024E0(struct Sprite *);
-void sub_8102540(struct Sprite *);
-void sub_8102844(struct Sprite *);
-void sub_8102BCC(struct Sprite *);
-void sub_8102CD4(struct Sprite *);
-void sub_8102EB0(struct Sprite *);
-void sub_8102FB8(struct Sprite *);
-void sub_8103028(struct Sprite *);
-void sub_8103164(struct Sprite *);
-void sub_8103208(struct Sprite *);
-void sub_8103284(struct Sprite *);
-void sub_8103390(struct Sprite *);
+void AnimSlashSlice(struct Sprite *);
+void AnimFalseSwipeSlice(struct Sprite *);
+void AnimFalseSwipePositionedSlice(struct Sprite *);
+void AnimEndureEnergy(struct Sprite *);
+void AnimSharpenSphere(struct Sprite *);
+void AnimConversion(struct Sprite *);
+void AnimConversion2(struct Sprite *);
+void AnimMoon(struct Sprite *);
+void AnimMoonlightSparkle(struct Sprite *);
+void AnimHornHit(struct Sprite *);
+void AnimSuperFang(struct Sprite *);
+void AnimWavyMusicNotes(struct Sprite *);
+void AnimFlyingMusicNotes(struct Sprite *);
+void AnimBellyDrumHand(struct Sprite *);
+void AnimSlowFlyingMusicNotes(struct Sprite *);
+void AnimThoughtBubble(struct Sprite *);
+void AnimMetronomeFinger(struct Sprite *);
+void AnimFollowMeFinger(struct Sprite *);
+void AnimTauntFinger(struct Sprite *);
static void AnimMovePowderParticleStep(struct Sprite *);
static void AnimSolarbeamSmallOrbStep(struct Sprite *);
static void AnimAbsorptionOrbStep(struct Sprite *);
@@ -93,64 +93,64 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite *);
static void AnimMoveTwisterParticleStep(struct Sprite *);
static void AnimConstrictBindingStep1(struct Sprite *);
static void AnimConstrictBindingStep2(struct Sprite *);
-static void sub_80FF53C(u8);
-static void sub_80FF5CC(u8);
-static void AnimItemStealStep(struct Sprite *);
+static void AnimTask_DuplicateAndShrinkToPosStep1(u8);
+static void AnimTask_DuplicateAndShrinkToPosStep2(u8);
+static void AnimItemStealStep3(struct Sprite *);
static void AnimRootFlickerOut(struct Sprite *);
static void AnimTrickBagStep1(struct Sprite *);
static void AnimTrickBagStep2(struct Sprite *);
static void AnimTrickBagStep3(struct Sprite *);
-static void sub_8100128(u8);
-static s16 sub_8100504(struct Sprite *);
-static void sub_8100524(struct Task *, u8);
-static void sub_80CC408(struct Sprite *);
-static void sub_810074C(struct Sprite *);
-static void sub_81009A0(struct Sprite *);
+static void AnimTask_LeafBladeStep(u8);
+static s16 LeafBladeGetPosFactor(struct Sprite *);
+static void AnimTask_LeafBladeStep2(struct Task *, u8);
+static void AnimTask_LeafBladeStep2_Callback(struct Sprite *);
+static void AnimFlyingParticleStep(struct Sprite *);
+static void AnimNeedleArmSpikeStep(struct Sprite *);
static void AnimSliceStep(struct Sprite *);
static void sub_8100E80(struct Sprite *);
-static void sub_8100FD4(struct Sprite *);
-static void sub_8101138(struct Sprite *);
-static void sub_8101298(struct Sprite *, int, int);
+static void AnimProtectStep(struct Sprite *);
+static void AnimMilkBottleStep1(struct Sprite *);
+static void AnimMilkBottleStep2(struct Sprite *, int, int);
static void sub_81014A0(struct Sprite *);
-static void sub_8101560(struct Sprite *);
-static void sub_81015D4(struct Sprite *);
-static void sub_8101684(struct Sprite *);
-static void sub_81016B8(struct Sprite *);
-static void sub_8101774(struct Sprite *);
-static void sub_8101820(struct Sprite *);
-static void sub_8101848(struct Sprite *);
-static void sub_8101998(struct Sprite *);
-static void sub_81019E8(struct Sprite *);
-static void sub_8101A74(struct Sprite *);
-static void sub_8101AC4(struct Sprite *);
-static void sub_8101B84(struct Sprite *);
-static void sub_8101AE8(struct Sprite *);
+static void AnimSleepLetterZStep(struct Sprite *);
+static void AnimLockOnTargetStep1(struct Sprite *);
+static void AnimLockOnTargetStep2(struct Sprite *);
+static void AnimLockOnTargetStep3(struct Sprite *);
+static void AnimLockOnTargetStep4(struct Sprite *);
+static void AnimLockOnTargetStep5(struct Sprite *);
+static void AnimLockOnTargetStep6(struct Sprite *);
+static void AnimBowMonStep1(struct Sprite *);
+static void AnimBowMonStep1_Callback(struct Sprite *);
+static void AnimBowMonStep2(struct Sprite *);
+static void AnimBowMonStep3(struct Sprite *);
+static void AnimBowMonStep4(struct Sprite *);
+static void AnimBowMonStep3_Callback(struct Sprite *);
static void sub_8101BA0(struct Sprite *);
-static void sub_8101D2C(u8);
-static void sub_8101EEC(u8);
-static void sub_8102044(struct Sprite *);
-static void sub_810207C(struct Sprite *);
-static void sub_810208C(struct Sprite *);
-static void sub_810213C(struct Sprite *);
-static void sub_81021CC(struct Sprite *);
-static void sub_810237C(struct Sprite *);
-static void sub_8102528(struct Sprite *);
-static void sub_8102584(struct Sprite *);
-static void sub_810296C(struct Sprite *);
-static void sub_8102AE0(u8);
-static void sub_8102B3C(struct Sprite *);
-static void sub_8102D8C(s16, s16, s16 *, s16 *, s8);
-static void sub_8102DE4(struct Sprite *);
-static void sub_8102F40(struct Sprite *);
-static void sub_81030B0(struct Sprite *);
-static void sub_81031D0(struct Sprite *);
-static void sub_8103250(struct Sprite *);
-static void sub_8103300(struct Sprite *);
-static void sub_8103320(struct Sprite *);
-static void sub_81033F0(struct Sprite *);
-static void sub_810342C(struct Sprite *);
-
-const union AnimCmd gUnknown_085920F0[] =
+static void AnimTask_SkullBashPositionSet(u8);
+static void AnimTask_SkullBashPositionReset(u8);
+static void AnimFalseSwipeSliceStep1(struct Sprite *);
+static void AnimFalseSwipeSliceStep2(struct Sprite *);
+static void AnimFalseSwipeSliceStep3(struct Sprite *);
+static void AnimEndureEnergyStep(struct Sprite *);
+static void AnimSharpenSphereStep(struct Sprite *);
+static void AnimConversion2Step(struct Sprite *);
+static void AnimMoonStep(struct Sprite *);
+static void AnimMoonlightSparkleStep(struct Sprite *);
+static void AnimHornHitStep(struct Sprite *);
+static void AnimTask_DoubleTeamStep(u8);
+static void AnimTask_DoubleTeamCallback(struct Sprite *);
+static void AnimWavyMusicNotesGetNextPos(s16, s16, s16 *, s16 *, s8);
+static void AnimWavyMusicNotesStep(struct Sprite *);
+static void AnimFlyingMusicNotesStep(struct Sprite *);
+static void AnimSlowFlyingMusicNotesStep(struct Sprite *);
+static void AnimThoughtBubbleStep(struct Sprite *);
+static void AnimMetronomeFingerStep(struct Sprite *);
+static void AnimFollowMeFingerStep1(struct Sprite *);
+static void AnimFollowMeFingerStep2(struct Sprite *);
+static void AnimTauntFingerStep1(struct Sprite *);
+static void AnimTauntFingerStep2(struct Sprite *);
+
+const union AnimCmd gPowderParticlesAnimCmds[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(2, 5),
@@ -163,17 +163,17 @@ const union AnimCmd gUnknown_085920F0[] =
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_08592114[] =
+const union AnimCmd *const gPowderParticlesAnimTable[] =
{
- gUnknown_085920F0,
+ gPowderParticlesAnimCmds,
};
const struct SpriteTemplate gSleepPowderParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_SLEEP_POWDER,
.paletteTag = ANIM_TAG_SLEEP_POWDER,
- .oam = &gUnknown_08524944,
- .anims = gUnknown_08592114,
+ .oam = &gOamData_AffineOff_ObjNormal_8x16,
+ .anims = gPowderParticlesAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMovePowderParticle,
@@ -183,8 +183,8 @@ const struct SpriteTemplate gStunSporeParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_STUN_SPORE,
.paletteTag = ANIM_TAG_STUN_SPORE,
- .oam = &gUnknown_08524944,
- .anims = gUnknown_08592114,
+ .oam = &gOamData_AffineOff_ObjNormal_8x16,
+ .anims = gPowderParticlesAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMovePowderParticle,
@@ -194,105 +194,105 @@ const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_POISON_POWDER,
.paletteTag = ANIM_TAG_POISON_POWDER,
- .oam = &gUnknown_08524944,
- .anims = gUnknown_08592114,
+ .oam = &gOamData_AffineOff_ObjNormal_8x16,
+ .anims = gPowderParticlesAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMovePowderParticle,
};
-const union AnimCmd gUnknown_08592160[] =
+const union AnimCmd gSolarbeamBigOrbAnimCmds1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592168[] =
+const union AnimCmd gSolarbeamBigOrbAnimCmds2[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592170[] =
+const union AnimCmd gSolarbeamBigOrbAnimCmds3[] =
{
ANIMCMD_FRAME(2, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592178[] =
+const union AnimCmd gSolarbeamBigOrbAnimCmds4[] =
{
ANIMCMD_FRAME(3, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592180[] =
+const union AnimCmd gSolarbeamBigOrbAnimCmds5[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592188[] =
+const union AnimCmd gSolarbeamBigOrbAnimCmds6[] =
{
ANIMCMD_FRAME(5, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592190[] =
+const union AnimCmd gSolarbeamBigOrbAnimCmds7[] =
{
ANIMCMD_FRAME(6, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592198[] =
+const union AnimCmd gSolarbeamSmallOrbAnimCms[] =
{
ANIMCMD_FRAME(7, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085921A0[] =
+const union AnimCmd gPowerAbsorptionOrbAnimCmds[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085921A8[] =
+const union AnimCmd *const gSolarbeamBigOrbAnimTable[] =
{
- gUnknown_08592160,
- gUnknown_08592168,
- gUnknown_08592170,
- gUnknown_08592178,
- gUnknown_08592180,
- gUnknown_08592188,
- gUnknown_08592190,
+ gSolarbeamBigOrbAnimCmds1,
+ gSolarbeamBigOrbAnimCmds2,
+ gSolarbeamBigOrbAnimCmds3,
+ gSolarbeamBigOrbAnimCmds4,
+ gSolarbeamBigOrbAnimCmds5,
+ gSolarbeamBigOrbAnimCmds6,
+ gSolarbeamBigOrbAnimCmds7,
};
-const union AnimCmd *const gUnknown_085921C4[] =
+const union AnimCmd *const gSolarbeamSmallOrbAnimTable[] =
{
- gUnknown_08592198,
+ gSolarbeamSmallOrbAnimCms,
};
-const union AnimCmd *const gUnknown_085921C8[] =
+const union AnimCmd *const gPowerAbsorptionOrbAnimTable[] =
{
- gUnknown_085921A0,
+ gPowerAbsorptionOrbAnimCmds,
};
-const union AffineAnimCmd gUnknown_085921CC[] = {
+const union AffineAnimCmd gPowerAbsorptionOrbAffineAnimCmds[] = {
AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_085921DC[] = {
- gUnknown_085921CC,
+const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[] = {
+ gPowerAbsorptionOrbAffineAnimCmds,
};
const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524A8C,
- .anims = gUnknown_085921C8,
+ .oam = &gOamData_AffineNormal_ObjBlend_16x16,
+ .anims = gPowerAbsorptionOrbAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085921DC,
+ .affineAnims = gPowerAbsorptionOrbAffineAnimTable,
.callback = AnimPowerAbsorptionOrb,
};
@@ -300,8 +300,8 @@ const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085921A8,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gSolarbeamBigOrbAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSolarbeamBigOrb,
@@ -311,51 +311,51 @@ const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085921C4,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gSolarbeamSmallOrbAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSolarbeamSmallOrb,
};
-const union AffineAnimCmd gUnknown_08592228[] = {
+const union AffineAnimCmd gStockpileAbsorptionOrbAffineCmds[] = {
AFFINEANIMCMD_FRAME(320, 320, 0, 0),
AFFINEANIMCMD_FRAME(-14, -14, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gUnknown_08592240[] = {
- gUnknown_08592228,
+const union AffineAnimCmd *const gStockpileAbsorptionOrbAffineAnimTable[] = {
+ gStockpileAbsorptionOrbAffineCmds,
};
const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_GRAY_ORB,
.paletteTag = ANIM_TAG_GRAY_ORB,
- .oam = &gUnknown_085249C4,
+ .oam = &gOamData_AffineDouble_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592240,
+ .affineAnims = gStockpileAbsorptionOrbAffineAnimTable,
.callback = AnimPowerAbsorptionOrb,
};
-const union AffineAnimCmd gUnknown_0859225C[] = {
+const union AffineAnimCmd gAbsorptionOrbAffineAnimCmds[] = {
AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_0859226C[] = {
- gUnknown_0859225C,
+const union AffineAnimCmd *const gAbsorptionOrbAffineAnimTable[] = {
+ gAbsorptionOrbAffineAnimCmds,
};
const struct SpriteTemplate gAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524A8C,
- .anims = gUnknown_085921C8,
+ .oam = &gOamData_AffineNormal_ObjBlend_16x16,
+ .anims = gPowerAbsorptionOrbAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0859226C,
+ .affineAnims = gAbsorptionOrbAffineAnimTable,
.callback = AnimAbsorptionOrb,
};
@@ -363,100 +363,100 @@ const struct SpriteTemplate gHyperBeamOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085921A8,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gSolarbeamBigOrbAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimHyperBeamOrb,
};
-const union AnimCmd gUnknown_085922A0[] =
+const union AnimCmd gLeechSeedAnimCmds1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085922A8[] =
+const union AnimCmd gLeechSeedAnimCmds2[] =
{
ANIMCMD_FRAME(4, 7),
ANIMCMD_FRAME(8, 7),
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_085922B4[] =
+const union AnimCmd *const gLeechSeedAnimTable[] =
{
- gUnknown_085922A0,
- gUnknown_085922A8,
+ gLeechSeedAnimCmds1,
+ gLeechSeedAnimCmds2,
};
const struct SpriteTemplate gLeechSeedSpriteTemplate =
{
.tileTag = ANIM_TAG_SEED,
.paletteTag = ANIM_TAG_SEED,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_085922B4,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gLeechSeedAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimLeechSeed,
};
-const union AnimCmd gUnknown_085922D4[] =
+const union AnimCmd gSporeParticleAnimCmds1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085922DC[] =
+const union AnimCmd gSporeParticleAnimCmds2[] =
{
ANIMCMD_FRAME(4, 7),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085922E4[] =
+const union AnimCmd *const gSporeParticleAnimTable[] =
{
- gUnknown_085922D4,
- gUnknown_085922DC,
+ gSporeParticleAnimCmds1,
+ gSporeParticleAnimCmds2,
};
const struct SpriteTemplate gSporeParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_SPORE,
.paletteTag = ANIM_TAG_SPORE,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_085922E4,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gSporeParticleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSporeParticle,
};
-const union AnimCmd gUnknown_08592304[] =
+const union AnimCmd gPetalDanceBigFlowerAnimCmds[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859230C[] =
+const union AnimCmd gPetalDanceSmallFlowerAnimCmds[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592314[] =
+const union AnimCmd *const gPetalDanceBigFlowerAnimTable[] =
{
- gUnknown_08592304,
+ gPetalDanceBigFlowerAnimCmds,
};
-const union AnimCmd *const gUnknown_08592318[] =
+const union AnimCmd *const gPetalDanceSmallFlowerAnimTable[] =
{
- gUnknown_0859230C,
+ gPetalDanceSmallFlowerAnimCmds,
};
const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592314,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gPetalDanceBigFlowerAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimPetalDanceBigFlower,
@@ -466,14 +466,14 @@ const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_08592318,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gPetalDanceSmallFlowerAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimPetalDanceSmallFlower,
};
-const union AnimCmd gUnknown_0859234C[] =
+const union AnimCmd gRazorLeafParticleAnimCmds1[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 5),
@@ -488,7 +488,7 @@ const union AnimCmd gUnknown_0859234C[] =
ANIMCMD_JUMP(0),
};
-const union AnimCmd gUnknown_08592378[] =
+const union AnimCmd gRazorLeafParticleAnimCmds2[] =
{
ANIMCMD_FRAME(24, 5),
ANIMCMD_FRAME(28, 5),
@@ -496,18 +496,18 @@ const union AnimCmd gUnknown_08592378[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592388[] =
+const union AnimCmd *const gRazorLeafParticleAnimTable[] =
{
- gUnknown_0859234C,
- gUnknown_08592378,
+ gRazorLeafParticleAnimCmds1,
+ gRazorLeafParticleAnimCmds2,
};
const struct SpriteTemplate gRazorLeafParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592388,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gRazorLeafParticleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimRazorLeafParticle,
@@ -517,14 +517,14 @@ const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592388,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gRazorLeafParticleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMoveTwisterParticle,
};
-const union AnimCmd gUnknown_085923C0[] =
+const union AnimCmd gRazorLeafCutterAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
@@ -533,43 +533,43 @@ const union AnimCmd gUnknown_085923C0[] =
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_085923D4[] =
+const union AnimCmd *const gRazorLeafCutterAnimTable[] =
{
- gUnknown_085923C0,
+ gRazorLeafCutterAnimCmds,
};
const struct SpriteTemplate gRazorLeafCutterSpriteTemplate =
{
.tileTag = ANIM_TAG_RAZOR_LEAF,
.paletteTag = ANIM_TAG_RAZOR_LEAF,
- .oam = &gUnknown_08524934,
- .anims = gUnknown_085923D4,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
+ .anims = gRazorLeafCutterAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimTranslateLinearSingleSineWave,
};
-const union AffineAnimCmd gUnknown_085923F0[] = {
+const union AffineAnimCmd gSwiftStarAffineAnimCmds[] = {
AFFINEANIMCMD_FRAME(0, 0, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_08592400[] = {
- gUnknown_085923F0,
+const union AffineAnimCmd *const gSwiftStarAffineAnimTable[] = {
+ gSwiftStarAffineAnimCmds,
};
const struct SpriteTemplate gSwiftStarSpriteTemplate =
{
.tileTag = ANIM_TAG_YELLOW_STAR,
.paletteTag = ANIM_TAG_YELLOW_STAR,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592400,
+ .affineAnims = gSwiftStarAffineAnimTable,
.callback = AnimTranslateLinearSingleSineWave,
};
-const union AnimCmd gUnknown_0859241C[] =
+const union AnimCmd gConstrictBindingAnimCmds1[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(32, 4),
@@ -578,7 +578,7 @@ const union AnimCmd gUnknown_0859241C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592430[] =
+const union AnimCmd gConstrictBindingAnimCmds2[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
@@ -587,70 +587,70 @@ const union AnimCmd gUnknown_08592430[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592444[] =
+const union AnimCmd *const gConstrictBindingAnimTable[] =
{
- gUnknown_0859241C,
- gUnknown_08592430,
+ gConstrictBindingAnimCmds1,
+ gConstrictBindingAnimCmds2,
};
-const union AffineAnimCmd gUnknown_0859244C[] = {
+const union AffineAnimCmd gConstrictBindingAffineAnimCmds1[] = {
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
AFFINEANIMCMD_FRAME(11, 0, 0, 6),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_0859246C[] = {
+const union AffineAnimCmd gConstrictBindingAffineAnimCmds2[] = {
AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(11, 0, 0, 6),
AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_0859248C[] = {
- gUnknown_0859244C,
- gUnknown_0859246C,
+const union AffineAnimCmd *const gConstrictBindingAffineAnimTable[] = {
+ gConstrictBindingAffineAnimCmds1,
+ gConstrictBindingAffineAnimCmds2,
};
const struct SpriteTemplate gConstrictBindingSpriteTemplate =
{
.tileTag = ANIM_TAG_TENDRILS,
.paletteTag = ANIM_TAG_TENDRILS,
- .oam = &gUnknown_0852499C,
- .anims = gUnknown_08592444,
+ .oam = &gOamData_AffineNormal_ObjNormal_64x32,
+ .anims = gConstrictBindingAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0859248C,
+ .affineAnims = gConstrictBindingAffineAnimTable,
.callback = AnimConstrictBinding,
};
-const union AffineAnimCmd gUnknown_085924AC[] = {
+const union AffineAnimCmd gMimicOrbAffineAnimCmds1[] = {
AFFINEANIMCMD_FRAME(0, 0, 0, 0),
AFFINEANIMCMD_FRAME(48, 48, 0, 14),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_085924C4[] = {
+const union AffineAnimCmd gMimicOrbAffineAnimCmds2[] = {
AFFINEANIMCMD_FRAME(-16, -16, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_085924D4[] = {
- gUnknown_085924AC,
- gUnknown_085924C4,
+const union AffineAnimCmd *const gMimicOrbAffineAnimTable[] = {
+ gMimicOrbAffineAnimCmds1,
+ gMimicOrbAffineAnimCmds2,
};
const struct SpriteTemplate gMimicOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_085921C8,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
+ .anims = gPowerAbsorptionOrbAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085924D4,
+ .affineAnims = gMimicOrbAffineAnimTable,
.callback = AnimMimicOrb,
};
-const union AnimCmd gUnknown_085924F4[] =
+const union AnimCmd gIngrainRootAnimCmds1[] =
{
ANIMCMD_FRAME(0, 7),
ANIMCMD_FRAME(16, 7),
@@ -659,7 +659,7 @@ const union AnimCmd gUnknown_085924F4[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592508[] =
+const union AnimCmd gIngrainRootAnimCmds2[] =
{
ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
@@ -668,7 +668,7 @@ const union AnimCmd gUnknown_08592508[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859251C[] =
+const union AnimCmd gIngrainRootAnimCmds3[] =
{
ANIMCMD_FRAME(0, 7),
ANIMCMD_FRAME(16, 7),
@@ -676,7 +676,7 @@ const union AnimCmd gUnknown_0859251C[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859252C[] =
+const union AnimCmd gIngrainRootAnimCmds4[] =
{
ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
@@ -684,20 +684,20 @@ const union AnimCmd gUnknown_0859252C[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_0859253C[] =
+const union AnimCmd *const gIngrainRootAnimTable[] =
{
- gUnknown_085924F4,
- gUnknown_08592508,
- gUnknown_0859251C,
- gUnknown_0859252C,
+ gIngrainRootAnimCmds1,
+ gIngrainRootAnimCmds2,
+ gIngrainRootAnimCmds3,
+ gIngrainRootAnimCmds4,
};
const struct SpriteTemplate gIngrainRootSpriteTemplate =
{
.tileTag = ANIM_TAG_ROOTS,
.paletteTag = ANIM_TAG_ROOTS,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_0859253C,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gIngrainRootAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimIngrainRoot,
@@ -707,55 +707,55 @@ const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate =
{
.tileTag = ANIM_TAG_ROOTS,
.paletteTag = ANIM_TAG_ROOTS,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_0859253C,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gIngrainRootAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimFrenzyPlantRoot,
};
-const union AnimCmd gUnknown_0859257C[] =
+const union AnimCmd gIngrainOrbAnimCmds[] =
{
ANIMCMD_FRAME(3, 3),
ANIMCMD_FRAME(0, 5),
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_08592588[] =
+const union AnimCmd *const gIngrainOrbAnimTable[] =
{
- gUnknown_0859257C,
+ gIngrainOrbAnimCmds,
};
const struct SpriteTemplate gIngrainOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_08592588,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gIngrainOrbAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimIngrainOrb,
};
-const union AnimCmd gUnknown_085925A4[] =
+const union AnimCmd gFallingBagAnimCmds[] =
{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085925AC[] =
+const union AnimCmd *const gFallingBagAnimTable[] =
{
- gUnknown_085925A4,
+ gFallingBagAnimCmds,
};
-const union AffineAnimCmd gUnknown_085925B0[] = {
+const union AffineAnimCmd gFallingBagAffineAnimCmds1[] = {
AFFINEANIMCMD_FRAME(0, 0, -4, 10),
AFFINEANIMCMD_FRAME(0, 0, 4, 20),
AFFINEANIMCMD_FRAME(0, 0, -4, 10),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_085925D0[] = {
+const union AffineAnimCmd gFallingBagAffineAnimCmds2[] = {
AFFINEANIMCMD_FRAME(0, 0, -1, 2),
AFFINEANIMCMD_FRAME(0, 0, 1, 4),
AFFINEANIMCMD_FRAME(0, 0, -1, 4),
@@ -765,19 +765,19 @@ const union AffineAnimCmd gUnknown_085925D0[] = {
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_08592608[] = {
- gUnknown_085925B0,
- gUnknown_085925D0,
+const union AffineAnimCmd *const gFallingBagAffineAnimTable[] = {
+ gFallingBagAffineAnimCmds1,
+ gFallingBagAffineAnimCmds2,
};
const struct SpriteTemplate gPresentSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
+ .anims = gFallingBagAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592608,
+ .affineAnims = gFallingBagAffineAnimTable,
.callback = AnimPresent,
};
@@ -785,14 +785,14 @@ const struct SpriteTemplate gKnockOffItemSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
+ .anims = gFallingBagAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592608,
+ .affineAnims = gFallingBagAffineAnimTable,
.callback = AnimKnockOffItem,
};
-const union AnimCmd gUnknown_08592640[] =
+const union AnimCmd gPresentHealParticleAnimCmds[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(4, 4),
@@ -801,17 +801,17 @@ const union AnimCmd gUnknown_08592640[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592654[] =
+const union AnimCmd *const gPresentHealParticleAnimTable[] =
{
- gUnknown_08592640,
+ gPresentHealParticleAnimCmds,
};
const struct SpriteTemplate gPresentHealParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_SPARKLE,
.paletteTag = ANIM_TAG_GREEN_SPARKLE,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592654,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gPresentHealParticleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimPresentHealParticle,
@@ -821,19 +821,19 @@ const struct SpriteTemplate gItemStealSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
+ .anims = gFallingBagAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592608,
+ .affineAnims = gFallingBagAffineAnimTable,
.callback = AnimItemSteal,
};
-const union AffineAnimCmd gUnknown_08592688[] = {
+const union AffineAnimCmd gTrickBagAffineAnimCmds1[] = {
AFFINEANIMCMD_FRAME(0, 0, 0, 3),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08592698[] = {
+const union AffineAnimCmd gTrickBagAffineAnimCmds2[] = {
AFFINEANIMCMD_FRAME(0, -10, 0, 3),
AFFINEANIMCMD_FRAME(0, -6, 0, 3),
AFFINEANIMCMD_FRAME(0, -2, 0, 3),
@@ -844,25 +844,25 @@ const union AffineAnimCmd gUnknown_08592698[] = {
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_085926D8[] = {
- gUnknown_08592688,
- gUnknown_08592698,
- gUnknown_085925B0,
- gUnknown_085925D0,
+const union AffineAnimCmd *const gTrickBagAffineAnimTable[] = {
+ gTrickBagAffineAnimCmds1,
+ gTrickBagAffineAnimCmds2,
+ gFallingBagAffineAnimCmds1,
+ gFallingBagAffineAnimCmds2,
};
const struct SpriteTemplate gTrickBagSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
+ .anims = gFallingBagAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085926D8,
+ .affineAnims = gTrickBagAffineAnimTable,
.callback = AnimTrickBag,
};
-const s8 gUnknown_08592700[][3] =
+const s8 gTrickBagCoordinates[][3] =
{
{5, 24, 1},
{0, 4, 0},
@@ -877,163 +877,163 @@ const s8 gUnknown_08592700[][3] =
{0, 0, 127},
};
-const union AnimCmd gUnknown_08592724[] =
+const union AnimCmd gLeafBladeAnimCmds1[] =
{
ANIMCMD_FRAME(28, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859272C[] =
+const union AnimCmd gLeafBladeAnimCmds2[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592734[] =
+const union AnimCmd gLeafBladeAnimCmds3[] =
{
ANIMCMD_FRAME(20, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859273C[] =
+const union AnimCmd gLeafBladeAnimCmds4[] =
{
ANIMCMD_FRAME(28, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592744[] =
+const union AnimCmd gLeafBladeAnimCmds5[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859274C[] =
+const union AnimCmd gLeafBladeAnimCmds6[] =
{
ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592754[] =
+const union AnimCmd gLeafBladeAnimCmds7[] =
{
ANIMCMD_FRAME(28, 1),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_0859275C[] =
+const union AnimCmd *const gLeafBladeAnimTable[] =
{
- gUnknown_08592724,
- gUnknown_0859272C,
- gUnknown_08592734,
- gUnknown_0859273C,
- gUnknown_08592744,
- gUnknown_0859274C,
- gUnknown_08592754,
+ gLeafBladeAnimCmds1,
+ gLeafBladeAnimCmds2,
+ gLeafBladeAnimCmds3,
+ gLeafBladeAnimCmds4,
+ gLeafBladeAnimCmds5,
+ gLeafBladeAnimCmds6,
+ gLeafBladeAnimCmds7,
};
-const struct SpriteTemplate gUnknown_08592778 =
+const struct SpriteTemplate gLeafBladeSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_0859275C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gLeafBladeAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy,
};
-const union AffineAnimCmd gUnknown_08592790[] = {
+const union AffineAnimCmd gAromatherapyBigFlowerAffineAnimCmds[] = {
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, 4, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gUnknown_085927A8[] = {
- gUnknown_08592790,
+const union AffineAnimCmd *const gAromatherapyBigFlowerAffineAnimTable[] = {
+ gAromatherapyBigFlowerAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_085927AC =
+const struct SpriteTemplate gAromatherapySmallFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_08592318,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
+ .anims = gPetalDanceSmallFlowerAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100640,
+ .callback = AnimFlyingParticle,
};
-const struct SpriteTemplate gUnknown_085927C4 =
+const struct SpriteTemplate gAromatherapyBigFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_0852496C,
- .anims = gUnknown_08592314,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
+ .anims = gPetalDanceBigFlowerAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085927A8,
- .callback = sub_8100640,
+ .affineAnims = gAromatherapyBigFlowerAffineAnimTable,
+ .callback = AnimFlyingParticle,
};
-const union AffineAnimCmd gUnknown_085927DC[] = {
+const union AffineAnimCmd gSilverWindBigSparkAffineAnimCmds[] = {
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, -10, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd gUnknown_085927F4[] = {
+const union AffineAnimCmd gSilverWindMediumSparkAffineAnimCmds[] = {
AFFINEANIMCMD_FRAME(192, 192, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, -12, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd gUnknown_0859280C[] = {
+const union AffineAnimCmd gSilverWindSmallSparkAffineAnimCmds[] = {
AFFINEANIMCMD_FRAME(143, 143, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, -15, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gUnknown_08592824[] = {
- gUnknown_085927DC,
+const union AffineAnimCmd *const gSilverWindBigSparkAffineAnimTable[] = {
+ gSilverWindBigSparkAffineAnimCmds,
};
-const union AffineAnimCmd *const gUnknown_08592828[] = {
- gUnknown_085927F4,
+const union AffineAnimCmd *const gSilverWindMediumSparkAffineAnimTable[] = {
+ gSilverWindMediumSparkAffineAnimCmds,
};
-const union AffineAnimCmd *const gUnknown_0859282C[] = {
- gUnknown_0859280C,
+const union AffineAnimCmd *const gSilverWindSmallSparkAffineAnimTable[] = {
+ gSilverWindSmallSparkAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592830 =
+const struct SpriteTemplate gSilverWindBigSparkSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_6,
.paletteTag = ANIM_TAG_SPARKLE_6,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592824,
- .callback = sub_8100640,
+ .affineAnims = gSilverWindBigSparkAffineAnimTable,
+ .callback = AnimFlyingParticle,
};
-const struct SpriteTemplate gUnknown_08592848 =
+const struct SpriteTemplate gSilverWindMediumSparkSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_6,
.paletteTag = ANIM_TAG_SPARKLE_6,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592828,
- .callback = sub_8100640,
+ .affineAnims = gSilverWindMediumSparkAffineAnimTable,
+ .callback = AnimFlyingParticle,
};
-const struct SpriteTemplate gUnknown_08592860 =
+const struct SpriteTemplate gSilverWindSmallSparkSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_6,
.paletteTag = ANIM_TAG_SPARKLE_6,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0859282C,
- .callback = sub_8100640,
+ .affineAnims = gSilverWindSmallSparkAffineAnimTable,
+ .callback = AnimFlyingParticle,
};
const u16 gMagicalLeafBlendColors[] =
@@ -1047,18 +1047,18 @@ const u16 gMagicalLeafBlendColors[] =
RGB(22, 21, 31),
};
-const struct SpriteTemplate gUnknown_08592888 =
+const struct SpriteTemplate gNeedleArmSpikeSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_SPIKE,
.paletteTag = ANIM_TAG_GREEN_SPIKE,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100898,
+ .callback = AnimNeedleArmSpike,
};
-const union AnimCmd gUnknown_085928A0[] =
+const union AnimCmd gWhipAnimCmds1[] =
{
ANIMCMD_FRAME(64, 3),
ANIMCMD_FRAME(80, 3),
@@ -1067,7 +1067,7 @@ const union AnimCmd gUnknown_085928A0[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085928B4[] =
+const union AnimCmd gWhipAnimCmds2[] =
{
ANIMCMD_FRAME(64, 3, .hFlip = TRUE),
ANIMCMD_FRAME(80, 3, .hFlip = TRUE),
@@ -1076,32 +1076,32 @@ const union AnimCmd gUnknown_085928B4[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085928C8[] =
+const union AnimCmd *const gWhipAnimTable[] =
{
- gUnknown_085928A0,
- gUnknown_085928B4,
+ gWhipAnimCmds1,
+ gWhipAnimCmds2,
};
-const struct SpriteTemplate gUnknown_085928D0 =
+const struct SpriteTemplate gSlamHitSpriteTemplate =
{
.tileTag = ANIM_TAG_SLAM_HIT,
.paletteTag = ANIM_TAG_SLAM_HIT,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085928C8,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gWhipAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100A50,
+ .callback = AnimWhipHit,
};
const struct SpriteTemplate gVineWhipSpriteTemplate =
{
.tileTag = ANIM_TAG_WHIP_HIT,
.paletteTag = ANIM_TAG_WHIP_HIT,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085928C8,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gWhipAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100A50,
+ .callback = AnimWhipHit,
};
const union AnimCmd gUnknown_08592900[] =
@@ -1119,22 +1119,24 @@ const union AnimCmd *const gUnknown_08592918[] =
gUnknown_08592900,
};
+// Unused
const struct SpriteTemplate gUnknown_0859291C =
{
.tileTag = ANIM_TAG_HIT,
.paletteTag = ANIM_TAG_HIT,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08592918,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81009F8,
};
+// Unused
const struct SpriteTemplate gUnknown_08592934 =
{
.tileTag = ANIM_TAG_HIT_2,
.paletteTag = ANIM_TAG_HIT_2,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08592918,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1192,18 +1194,19 @@ const union AffineAnimCmd *const gUnknown_085929CC[] = {
gUnknown_085929BC,
};
+// Unused
const struct SpriteTemplate gUnknown_085929EC =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085929CC,
.callback = sub_8100A94,
};
-const union AnimCmd gUnknown_08592A04[] =
+const union AnimCmd gCuttingSliceAnimCmds[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@@ -1212,31 +1215,31 @@ const union AnimCmd gUnknown_08592A04[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592A18[] =
+const union AnimCmd *const gCuttingSliceAnimTable[] =
{
- gUnknown_08592A04,
+ gCuttingSliceAnimCmds,
};
const struct SpriteTemplate gCuttingSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
- .oam = &gUnknown_08524A34,
- .anims = gUnknown_08592A18,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
+ .anims = gCuttingSliceAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimCuttingSlice,
};
-const struct SpriteTemplate gUnknown_08592A34 =
+const struct SpriteTemplate gAirCutterSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
- .oam = &gUnknown_08524A34,
- .anims = gUnknown_08592A18,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
+ .anims = gCuttingSliceAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100B88,
+ .callback = AnimAirCutterSlice,
};
const union AnimCmd gUnknown_08592A4C[] =
@@ -1313,11 +1316,12 @@ const union AnimCmd *const gUnknown_08592A9C[] =
gUnknown_08592A94,
};
+// Unused
const struct SpriteTemplate gUnknown_08592AC4 =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_08592A9C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1328,20 +1332,20 @@ const struct SpriteTemplate gUnknown_08592ADC =
{
.tileTag = ANIM_TAG_PROTECT,
.paletteTag = ANIM_TAG_PROTECT,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100EF0,
+ .callback = AnimProtect,
};
-const union AffineAnimCmd gUnknown_08592AF4[] =
+const union AffineAnimCmd gMilkBottleAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08592B04[] =
+const union AffineAnimCmd gMilkBottleAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
@@ -1351,24 +1355,24 @@ const union AffineAnimCmd gUnknown_08592B04[] =
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_08592B34[] =
+const union AffineAnimCmd *const gMilkBottleAffineAnimTable[] =
{
- gUnknown_08592AF4,
- gUnknown_08592B04,
+ gMilkBottleAffineAnimCmds1,
+ gMilkBottleAffineAnimCmds2,
};
-const struct SpriteTemplate gUnknown_08592B3C =
+const struct SpriteTemplate gMilkBottleSpriteTemplate =
{
.tileTag = ANIM_TAG_MILK_BOTTLE,
.paletteTag = ANIM_TAG_MILK_BOTTLE,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592B34,
- .callback = sub_81010CC,
+ .affineAnims = gMilkBottleAffineAnimTable,
+ .callback = AnimMilkBottle,
};
-const union AnimCmd gUnknown_08592B54[] =
+const union AnimCmd gGrantingStarsAnimCmds[] =
{
ANIMCMD_FRAME(0, 7),
ANIMCMD_FRAME(16, 7),
@@ -1381,31 +1385,31 @@ const union AnimCmd gUnknown_08592B54[] =
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_08592B78[] =
+const union AnimCmd *const gGrantingStarsAnimTable[] =
{
- gUnknown_08592B54,
+ gGrantingStarsAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592B7C =
+const struct SpriteTemplate gGrantingStarsSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_2,
.paletteTag = ANIM_TAG_SPARKLE_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592B78,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gGrantingStarsAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810130C,
+ .callback = AnimGrantingStars,
};
-const struct SpriteTemplate gUnknown_08592B94 =
+const struct SpriteTemplate gSparklingStarsSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_2,
.paletteTag = ANIM_TAG_SPARKLE_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592B78,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gGrantingStarsAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810135C,
+ .callback = AnimSparkingStars,
};
const union AnimCmd gUnknown_08592BAC[] =
@@ -1440,96 +1444,97 @@ const union AnimCmd *const gUnknown_08592BF4[] =
gUnknown_08592BD0,
};
+// Unused
const struct SpriteTemplate gUnknown_08592BFC =
{
.tileTag = ANIM_TAG_BUBBLE_BURST,
.paletteTag = ANIM_TAG_BUBBLE_BURST,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_08592BF4,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8101440,
};
-const union AnimCmd gUnknown_08592C14[] =
+const union AnimCmd gSleepLetterZAnimCmds[] =
{
ANIMCMD_FRAME(0, 40),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592C1C[] =
+const union AnimCmd *const gSleepLetterZAnimTable[] =
{
- gUnknown_08592C14,
+ gSleepLetterZAnimCmds,
};
-const union AffineAnimCmd gUnknown_08592C20[] =
+const union AffineAnimCmd gSleepLetterZAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x14, 0x14, -30, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 1, 24),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08592C20_2[] =
+const union AffineAnimCmd gSleepLetterZAffineAnimCmds1_2[] =
{
AFFINEANIMCMD_LOOP(0),
AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24),
AFFINEANIMCMD_LOOP(10),
};
-const union AffineAnimCmd gUnknown_08592C50[] =
+const union AffineAnimCmd gSleepLetterZAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x14, 0x14, 30, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, -1, 24),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08592C50_2[] =
+const union AffineAnimCmd gSleepLetterZAffineAnimCmds2_2[] =
{
AFFINEANIMCMD_LOOP(0),
AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 24),
AFFINEANIMCMD_LOOP(10),
};
-const union AffineAnimCmd *const gUnknown_08592C80[] =
+const union AffineAnimCmd *const gSleepLetterZAffineAnimTable[] =
{
- gUnknown_08592C20,
- gUnknown_08592C50,
+ gSleepLetterZAffineAnimCmds1,
+ gSleepLetterZAffineAnimCmds2,
};
-const struct SpriteTemplate gUnknown_08592C88 =
+const struct SpriteTemplate gSleepLetterZSpriteTemplate =
{
.tileTag = ANIM_TAG_LETTER_Z,
.paletteTag = ANIM_TAG_LETTER_Z,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_08592C1C,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
+ .anims = gSleepLetterZAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592C80,
- .callback = sub_81014F4,
+ .affineAnims = gSleepLetterZAffineAnimTable,
+ .callback = AnimSleepLetterZ,
};
-const struct SpriteTemplate gUnknown_08592CA0 =
+const struct SpriteTemplate gLockOnTargetSpriteTemplate =
{
.tileTag = ANIM_TAG_LOCK_ON,
.paletteTag = ANIM_TAG_LOCK_ON,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81015AC,
+ .callback = AnimLockOnTarget,
};
-const struct SpriteTemplate gUnknown_08592CB8 =
+const struct SpriteTemplate gLockOnMoveTargetSpriteTemplate =
{
.tileTag = ANIM_TAG_LOCK_ON,
.paletteTag = ANIM_TAG_LOCK_ON,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101898,
+ .callback = AnimLockOnMoveTarget,
};
-const s8 gUnknown_08592CD0[][2] =
+const s8 gInclineMonCoordTable[][2] =
{
{ 64, 64},
{ 0, -64},
@@ -1537,7 +1542,7 @@ const s8 gUnknown_08592CD0[][2] =
{ 32, -32},
};
-const struct SpriteTemplate gUnknown_08592CD8 =
+const struct SpriteTemplate gBowMonSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -1545,9 +1550,10 @@ const struct SpriteTemplate gUnknown_08592CD8 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101940,
+ .callback = AnimBowMon,
};
+// Unused
const struct SpriteTemplate gUnknown_08592CF0 =
{
.tileTag = 0,
@@ -1559,7 +1565,7 @@ const struct SpriteTemplate gUnknown_08592CF0 =
.callback = sub_8101B90,
};
-const union AnimCmd gUnknown_08592D08[] =
+const union AnimCmd gSlashSliceAnimCmds1[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -1568,52 +1574,52 @@ const union AnimCmd gUnknown_08592D08[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592D1C[] =
+const union AnimCmd gSlashSliceAnimCmds2[] =
{
ANIMCMD_FRAME(48, 4),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592D24[] =
+const union AnimCmd *const gSlashSliceAnimTable[] =
{
- gUnknown_08592D08,
- gUnknown_08592D1C,
+ gSlashSliceAnimCmds1,
+ gSlashSliceAnimCmds2,
};
-const struct SpriteTemplate gUnknown_08592D2C =
+const struct SpriteTemplate gSlashSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_SLASH,
.paletteTag = ANIM_TAG_SLASH,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592D24,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gSlashSliceAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101F40,
+ .callback = AnimSlashSlice,
};
-const struct SpriteTemplate gUnknown_08592D44 =
+const struct SpriteTemplate gFalseSwipeSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_SLASH_2,
.paletteTag = ANIM_TAG_SLASH_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592D24,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gSlashSliceAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101FA8,
+ .callback = AnimFalseSwipeSlice,
};
-const struct SpriteTemplate gUnknown_08592D5C =
+const struct SpriteTemplate gFalseSwipePositionedSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_SLASH_2,
.paletteTag = ANIM_TAG_SLASH_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592D24,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gSlashSliceAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101FF0,
+ .callback = AnimFalseSwipePositionedSlice,
};
-const union AnimCmd gUnknown_08592D74[] =
+const union AnimCmd gEndureEnergyAnimCmds[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(8, 12),
@@ -1622,23 +1628,23 @@ const union AnimCmd gUnknown_08592D74[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592D88[] =
+const union AnimCmd *const gEndureEnergyAnimTable[] =
{
- gUnknown_08592D74,
+ gEndureEnergyAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592D8C =
+const struct SpriteTemplate gEndureEnergySpriteTemplate =
{
.tileTag = ANIM_TAG_FOCUS_ENERGY,
.paletteTag = ANIM_TAG_FOCUS_ENERGY,
- .oam = &gUnknown_08524954,
- .anims = gUnknown_08592D88,
+ .oam = &gOamData_AffineOff_ObjNormal_16x32,
+ .anims = gEndureEnergyAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81020D8,
+ .callback = AnimEndureEnergy,
};
-const union AnimCmd gUnknown_08592DA4[] =
+const union AnimCmd gSharpenSphereAnimCmds[] =
{
ANIMCMD_FRAME(0, 18),
ANIMCMD_FRAME(0, 6),
@@ -1657,34 +1663,34 @@ const union AnimCmd gUnknown_08592DA4[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592DE0[] =
+const union AnimCmd *const gSharpenSphereAnimTable[] =
{
- gUnknown_08592DA4,
+ gSharpenSphereAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592DE4 =
+const struct SpriteTemplate gSharpenSphereSpriteTemplate =
{
.tileTag = ANIM_TAG_SPHERE_TO_CUBE,
.paletteTag = ANIM_TAG_SPHERE_TO_CUBE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592DE0,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gSharpenSphereAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810217C,
+ .callback = AnimSharpenSphere,
};
-const struct SpriteTemplate gUnknown_08592DFC =
+const struct SpriteTemplate gOctazookaBallSpriteTemplate =
{
.tileTag = ANIM_TAG_BLACK_BALL,
.paletteTag = ANIM_TAG_BLACK_BALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-const union AnimCmd gUnknown_08592E14[] =
+const union AnimCmd gOctazookaAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -1694,23 +1700,23 @@ const union AnimCmd gUnknown_08592E14[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592E2C[] =
+const union AnimCmd *const gOctazookaAnimTable[] =
{
- gUnknown_08592E14,
+ gOctazookaAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592E30 =
+const struct SpriteTemplate gOctazookaSmokeSpriteTemplate =
{
.tileTag = ANIM_TAG_GRAY_SMOKE,
.paletteTag = ANIM_TAG_GRAY_SMOKE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592E2C,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gOctazookaAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const union AnimCmd gUnknown_08592E48[] =
+const union AnimCmd gConversionAnimCmds[] =
{
ANIMCMD_FRAME(3, 5),
ANIMCMD_FRAME(2, 5),
@@ -1719,34 +1725,34 @@ const union AnimCmd gUnknown_08592E48[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592E5C[] =
+const union AnimCmd *const gConversionAnimTable[] =
{
- gUnknown_08592E48,
+ gConversionAnimCmds,
};
-const union AffineAnimCmd gUnknown_08592E60[] =
+const union AffineAnimCmd gConversionAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_08592E70[] =
+const union AffineAnimCmd *const gConversionAffineAnimTable[] =
{
- gUnknown_08592E60,
+ gConversionAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592E74 =
+const struct SpriteTemplate gConversionSpriteTemplate =
{
.tileTag = ANIM_TAG_CONVERSION,
.paletteTag = ANIM_TAG_CONVERSION,
- .oam = &gUnknown_08524AE4,
- .anims = gUnknown_08592E5C,
+ .oam = &gOamData_AffineDouble_ObjBlend_8x8,
+ .anims = gConversionAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592E70,
- .callback = sub_8102268,
+ .affineAnims = gConversionAffineAnimTable,
+ .callback = AnimConversion,
};
-const union AnimCmd gUnknown_08592E8C[] =
+const union AnimCmd gConversion2AnimCmds[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(1, 5),
@@ -1755,34 +1761,34 @@ const union AnimCmd gUnknown_08592E8C[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592EA0[] =
+const union AnimCmd *const gConversion2AnimTable[] =
{
- gUnknown_08592E8C,
+ gConversion2AnimCmds,
};
-const struct SpriteTemplate gUnknown_08592EA4 =
+const struct SpriteTemplate gConversion2SpriteTemplate =
{
.tileTag = ANIM_TAG_CONVERSION,
.paletteTag = ANIM_TAG_CONVERSION,
- .oam = &gUnknown_08524AE4,
- .anims = gUnknown_08592EA0,
+ .oam = &gOamData_AffineDouble_ObjBlend_8x8,
+ .anims = gConversion2AnimTable,
.images = NULL,
- .affineAnims = gUnknown_08592E70,
- .callback = sub_810234C,
+ .affineAnims = gConversionAffineAnimTable,
+ .callback = AnimConversion2,
};
-const struct SpriteTemplate gUnknown_08592EBC =
+const struct SpriteTemplate gMoonSpriteTemplate =
{
.tileTag = ANIM_TAG_MOON,
.paletteTag = ANIM_TAG_MOON,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81024E0,
+ .callback = AnimMoon,
};
-const union AnimCmd gUnknown_08592ED4[] =
+const union AnimCmd gMoonlightSparkleAnimCmds[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(4, 8),
@@ -1791,23 +1797,23 @@ const union AnimCmd gUnknown_08592ED4[] =
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_08592EE8[] =
+const union AnimCmd *const gMoonlightSparkleAnimTable[] =
{
- gUnknown_08592ED4,
+ gMoonlightSparkleAnimCmds,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_8592EEC =
+const struct SpriteTemplate gMoonlightSparkleSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_SPARKLE,
.paletteTag = ANIM_TAG_GREEN_SPARKLE,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592EE8,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gMoonlightSparkleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102540,
+ .callback = AnimMoonlightSparkle,
};
-const union AnimCmd gUnknown_08592F04[] =
+const union AnimCmd gHealingBlueStarAnimCmds[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(16, 2),
@@ -1820,34 +1826,34 @@ const union AnimCmd gUnknown_08592F04[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592F28[] =
+const union AnimCmd *const gHealingBlueStarAnimTable[] =
{
- gUnknown_08592F04,
+ gHealingBlueStarAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592F2C =
+const struct SpriteTemplate gHealingBlueStarSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_STAR,
.paletteTag = ANIM_TAG_BLUE_STAR,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592F28,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gHealingBlueStarAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gUnknown_08592F44 =
+const struct SpriteTemplate gHornHitSpriteTemplate =
{
.tileTag = ANIM_TAG_HORN_HIT,
.paletteTag = ANIM_TAG_HORN_HIT,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102844,
+ .callback = AnimHornHit,
};
-const union AnimCmd gUnknown_08592F5C[] =
+const union AnimCmd gSuperFangAnimCmds[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(16, 2),
@@ -1856,106 +1862,106 @@ const union AnimCmd gUnknown_08592F5C[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592F70[] =
+const union AnimCmd *const gSuperFangAnimTable[] =
{
- gUnknown_08592F5C,
+ gSuperFangAnimCmds,
};
-const struct SpriteTemplate gUnknown_08592F74 =
+const struct SpriteTemplate gSuperFangSpriteTemplate =
{
.tileTag = ANIM_TAG_FANG_ATTACK,
.paletteTag = ANIM_TAG_FANG_ATTACK,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592F70,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gSuperFangAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102BCC,
+ .callback = AnimSuperFang,
};
-const union AnimCmd gUnknown_08592F8C[] =
+const union AnimCmd gWavyMusicNotesAnimCmds1[] =
{
ANIMCMD_FRAME(0, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592F94[] =
+const union AnimCmd gWavyMusicNotesAnimCmds2[] =
{
ANIMCMD_FRAME(4, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592F9C[] =
+const union AnimCmd gWavyMusicNotesAnimCmds3[] =
{
ANIMCMD_FRAME(8, 41),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592FA4[] =
+const union AnimCmd gWavyMusicNotesAnimCmds4[] =
{
ANIMCMD_FRAME(12, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592FAC[] =
+const union AnimCmd gWavyMusicNotesAnimCmds5[] =
{
ANIMCMD_FRAME(16, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592FB4[] =
+const union AnimCmd gWavyMusicNotesAnimCmds6[] =
{
ANIMCMD_FRAME(20, 10),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592FBC[] =
+const union AnimCmd gWavyMusicNotesAnimCmds7[] =
{
ANIMCMD_FRAME(0, 10, .vFlip = TRUE),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08592FC4[] =
+const union AnimCmd gWavyMusicNotesAnimCmds8[] =
{
ANIMCMD_FRAME(4, 10, .vFlip = TRUE),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08592FCC[] =
+const union AnimCmd *const gMusicNotesAnimTable[] =
{
- gUnknown_08592F8C,
- gUnknown_08592F94,
- gUnknown_08592F9C,
- gUnknown_08592FA4,
- gUnknown_08592FAC,
- gUnknown_08592FB4,
- gUnknown_08592FBC,
- gUnknown_08592FC4,
+ gWavyMusicNotesAnimCmds1,
+ gWavyMusicNotesAnimCmds2,
+ gWavyMusicNotesAnimCmds3,
+ gWavyMusicNotesAnimCmds4,
+ gWavyMusicNotesAnimCmds5,
+ gWavyMusicNotesAnimCmds6,
+ gWavyMusicNotesAnimCmds7,
+ gWavyMusicNotesAnimCmds8,
};
-const union AffineAnimCmd gUnknown_08592FEC[] =
+const union AffineAnimCmd gWavyMusicNotesAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16),
AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_08593004[] =
+const union AffineAnimCmd *const gMusicNotesAffineAnimTable[] =
{
- gUnknown_08592FEC,
+ gWavyMusicNotesAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_08593008 =
+const struct SpriteTemplate gWavyMusicNotesSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_08592FCC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
+ .anims = gMusicNotesAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593004,
- .callback = sub_8102CD4,
+ .affineAnims = gMusicNotesAffineAnimTable,
+ .callback = AnimWavyMusicNotes,
};
-const u16 gUnknown_08593020[][6] =
+const u16 gParticlesColorBlendTable[][6] =
{
{ANIM_TAG_MUSIC_NOTES, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)},
{ANIM_TAG_BENT_SPOON, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)},
@@ -1963,52 +1969,52 @@ const u16 gUnknown_08593020[][6] =
{ANIM_TAG_LARGE_FRESH_EGG, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)},
};
-const struct SpriteTemplate gUnknown_08593050 =
+const struct SpriteTemplate gFastFlyingMusicNotesSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_08592FCC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
+ .anims = gMusicNotesAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593004,
- .callback = sub_8102EB0,
+ .affineAnims = gMusicNotesAffineAnimTable,
+ .callback = AnimFlyingMusicNotes,
};
-const struct SpriteTemplate gUnknown_08593068 =
+const struct SpriteTemplate gBellyDrumHandSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
.paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102FB8,
+ .callback = AnimBellyDrumHand,
};
-const union AffineAnimCmd gUnknown_08593080[] =
+const union AffineAnimCmd gSlowFlyingMusicNotesAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gUnknown_08593098[] =
+const union AffineAnimCmd *const gSlowFlyingMusicNotesAffineAnimTable[] =
{
- gUnknown_08593080,
+ gSlowFlyingMusicNotesAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_0859309C =
+const struct SpriteTemplate gSlowFlyingMusicNotesSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_08592FCC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
+ .anims = gMusicNotesAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593098,
- .callback = sub_8103028,
+ .affineAnims = gSlowFlyingMusicNotesAffineAnimTable,
+ .callback = AnimSlowFlyingMusicNotes,
};
-const union AnimCmd gUnknown_085930B4[] =
+const union AnimCmd gMetronomeThroughtBubbleAnimCmds1[] =
{
ANIMCMD_FRAME(0, 2, .hFlip = TRUE),
ANIMCMD_FRAME(16, 2, .hFlip = TRUE),
@@ -2017,7 +2023,7 @@ const union AnimCmd gUnknown_085930B4[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085930C8[] =
+const union AnimCmd gMetronomeThroughtBubbleAnimCmds3[] =
{
ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
ANIMCMD_FRAME(32, 2, .hFlip = TRUE),
@@ -2026,7 +2032,7 @@ const union AnimCmd gUnknown_085930C8[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085930DC[] =
+const union AnimCmd gMetronomeThroughtBubbleAnimCmds2[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(16, 2),
@@ -2035,7 +2041,7 @@ const union AnimCmd gUnknown_085930DC[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085930F0[] =
+const union AnimCmd gMetronomeThroughtBubbleAnimCmds4[] =
{
ANIMCMD_FRAME(48, 2),
ANIMCMD_FRAME(32, 2),
@@ -2044,33 +2050,33 @@ const union AnimCmd gUnknown_085930F0[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593104[] =
+const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[] =
{
- gUnknown_085930B4,
- gUnknown_085930DC,
- gUnknown_085930C8,
- gUnknown_085930F0,
+ gMetronomeThroughtBubbleAnimCmds1,
+ gMetronomeThroughtBubbleAnimCmds2,
+ gMetronomeThroughtBubbleAnimCmds3,
+ gMetronomeThroughtBubbleAnimCmds4,
};
-const struct SpriteTemplate gUnknown_08593114 =
+const struct SpriteTemplate gThoughtBubbleSpriteTemplate =
{
.tileTag = ANIM_TAG_THOUGHT_BUBBLE,
.paletteTag = ANIM_TAG_THOUGHT_BUBBLE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593104,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gMetronomeThroughtBubbleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8103164,
+ .callback = AnimThoughtBubble,
};
-const union AffineAnimCmd gUnknown_0859312C[] =
+const union AffineAnimCmd gMetronomeFingerAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08593144[] =
+const union AffineAnimCmd gMetronomeFingerAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 11),
AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 11),
@@ -2079,7 +2085,7 @@ const union AffineAnimCmd gUnknown_08593144[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08593144_2[] =
+const union AffineAnimCmd gMetronomeFingerAffineAnimCmds2_2[] =
{
AFFINEANIMCMD_FRAME(16, 16, 0, 0),
AFFINEANIMCMD_FRAME(30, 30, 0, 8),
@@ -2092,47 +2098,47 @@ const union AffineAnimCmd gUnknown_08593144_2[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_085931B4[] =
+const union AffineAnimCmd *const gMetronomeFingerAffineAnimTable[] =
{
- gUnknown_0859312C,
- gUnknown_08593144,
+ gMetronomeFingerAffineAnimCmds1,
+ gMetronomeFingerAffineAnimCmds2,
};
-const struct SpriteTemplate gUnknown_085931BC =
+const struct SpriteTemplate gMetronomeFingerSpriteTemplate =
{
.tileTag = ANIM_TAG_FINGER,
.paletteTag = ANIM_TAG_FINGER,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085931B4,
- .callback = sub_8103208,
+ .affineAnims = gMetronomeFingerAffineAnimTable,
+ .callback = AnimMetronomeFinger,
};
-const struct SpriteTemplate gUnknown_085931D4 =
+const struct SpriteTemplate gFollowMeFingerSpriteTemplate =
{
.tileTag = ANIM_TAG_FINGER,
.paletteTag = ANIM_TAG_FINGER,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085931B4,
- .callback = sub_8103284,
+ .affineAnims = gMetronomeFingerAffineAnimTable,
+ .callback = AnimFollowMeFinger,
};
-const union AnimCmd gUnknown_085931EC[] =
+const union AnimCmd gTauntFingerAnimCmds1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085931F4[] =
+const union AnimCmd gTauntFingerAnimCmds2[] =
{
ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085931FC[] =
+const union AnimCmd gTauntFingerAnimCmds3[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -2144,7 +2150,7 @@ const union AnimCmd gUnknown_085931FC[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859321C[] =
+const union AnimCmd gTauntFingerAnimCmds4[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
@@ -2156,23 +2162,23 @@ const union AnimCmd gUnknown_0859321C[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_0859323C[] =
+const union AnimCmd *const gTauntFingerAnimTable[] =
{
- gUnknown_085931EC,
- gUnknown_085931F4,
- gUnknown_085931FC,
- gUnknown_0859321C,
+ gTauntFingerAnimCmds1,
+ gTauntFingerAnimCmds2,
+ gTauntFingerAnimCmds3,
+ gTauntFingerAnimCmds4,
};
-const struct SpriteTemplate gUnknown_0859324C =
+const struct SpriteTemplate gTauntFingerSpriteTemplate =
{
.tileTag = ANIM_TAG_FINGER_2,
.paletteTag = ANIM_TAG_FINGER_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_0859323C,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gTauntFingerAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8103390,
+ .callback = AnimTauntFinger,
};
// Animates the falling particles that horizontally wave back and forth.
@@ -2803,11 +2809,11 @@ void sub_80FF458(u8 taskId)
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = gBattleAnimArgs[1];
gTasks[taskId].data[11] = 0x100;
- gTasks[taskId].func = sub_80FF53C;
+ gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep1;
}
}
-static void sub_80FF53C(u8 taskId)
+static void AnimTask_DuplicateAndShrinkToPosStep1(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
gTasks[taskId].data[10] += gTasks[taskId].data[0];
@@ -2821,11 +2827,11 @@ static void sub_80FF53C(u8 taskId)
if (--gTasks[taskId].data[1] == 0)
{
gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = sub_80FF5CC;
+ gTasks[taskId].func = AnimTask_DuplicateAndShrinkToPosStep2;
}
}
-static void sub_80FF5CC(u8 taskId)
+static void AnimTask_DuplicateAndShrinkToPosStep2(u8 taskId)
{
if ((u16)gBattleAnimArgs[7] == 0xFFFF)
{
@@ -2981,38 +2987,38 @@ static void sub_80FF9B8(struct Sprite* sprite, s16 c)
sprite->data[7] = c;
}
-bool8 sub_80FF9E0(struct Sprite* sprite)
+bool8 moveAlongLinearPath(struct Sprite* sprite)
{
- u16 r10 = (u8)(sprite->data[5] >> 8);
- u16 r9 = (u8)sprite->data[5];
- s32 r2 = (u8)(sprite->data[6] >> 8);
- s32 r4 = (u8)sprite->data[6];
- s16 r6 = sprite->data[7] >> 8;
- s16 r3 = sprite->data[7] & 0xFF;
- s16 r4_2;
+ u16 xStartPos = (u8)(sprite->data[5] >> 8);
+ u16 yStartPos = (u8)sprite->data[5];
+ s32 xEndPos = (u8)(sprite->data[6] >> 8);
+ s32 yEndPos = (u8)sprite->data[6];
+ s16 totalTime = sprite->data[7] >> 8;
+ s16 currentTime = sprite->data[7] & 0xFF;
+ s16 yEndPos_2;
s16 r0;
s32 var1;
- s32 var2;
-
- if (r2 == 0)
- r2 = -32;
- else if (r2 == 255)
- r2 = 272;
-
- r4_2 = r4 - r9;
- r0 = r2 - r10;
- var1 = r0 * r3 / r6;
- var2 = r4_2 * r3 / r6;
- sprite->pos1.x = var1 + r10;
- sprite->pos1.y = var2 + r9;
- if (++r3 == r6)
+ s32 vaxEndPos;
+
+ if (xEndPos == 0)
+ xEndPos = -32;
+ else if (xEndPos == 255)
+ xEndPos = 272;
+
+ yEndPos_2 = yEndPos - yStartPos;
+ r0 = xEndPos - xStartPos;
+ var1 = r0 * currentTime / totalTime;
+ vaxEndPos = yEndPos_2 * currentTime / totalTime;
+ sprite->pos1.x = var1 + xStartPos;
+ sprite->pos1.y = vaxEndPos + yStartPos;
+ if (++currentTime == totalTime)
return TRUE;
- sprite->data[7] = (r6 << 8) | r3;
+ sprite->data[7] = (totalTime << 8) | currentTime;
return FALSE;
}
-void sub_80FFA84(struct Sprite* sprite)
+void AnimItemStealStep2(struct Sprite* sprite)
{
if (sprite->data[0] == 10)
StartSpriteAffineAnim(sprite, 1);
@@ -3022,7 +3028,7 @@ void sub_80FFA84(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-static void sub_80FFAB4(struct Sprite* sprite)
+static void AnimItemStealStep1(struct Sprite* sprite)
{
sprite->data[0] += sprite->data[3] * 128 / sprite->data[4];
if (sprite->data[0] >= 128)
@@ -3032,11 +3038,11 @@ static void sub_80FFAB4(struct Sprite* sprite)
}
sprite->pos2.y = Sin(sprite->data[0] + 128, 30 - sprite->data[1] * 8);
- if (sub_80FF9E0(sprite))
+ if (moveAlongLinearPath(sprite))
{
sprite->pos2.y = 0;
sprite->data[0] = 0;
- sprite->callback = sub_80FFA84;
+ sprite->callback = AnimItemStealStep2;
}
}
@@ -3063,7 +3069,7 @@ void AnimPresent(struct Sprite* sprite)
}
sprite->data[4] = 60;
- sprite->callback = sub_80FFAB4;
+ sprite->callback = AnimItemStealStep1;
}
static void sub_80FFB90(struct Sprite* sprite)
@@ -3078,7 +3084,7 @@ static void sub_80FFB90(struct Sprite* sprite)
}
sprite->pos2.y = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8);
- if (sub_80FF9E0(sprite))
+ if (moveAlongLinearPath(sprite))
{
sprite->pos2.y = zero;
sprite->data[0] = zero;
@@ -3096,7 +3102,7 @@ void AnimKnockOffItem(struct Sprite* sprite)
sub_80FF9B8(sprite, 40);
sprite->data[3] = 3;
sprite->data[4] = 60;
- sprite->callback = sub_80FFAB4;
+ sprite->callback = AnimItemStealStep1;
}
else
{
@@ -3154,10 +3160,10 @@ void AnimItemSteal(struct Sprite* sprite)
}
sprite->data[4] = 60;
- sprite->callback = AnimItemStealStep;
+ sprite->callback = AnimItemStealStep3;
}
-static void AnimItemStealStep(struct Sprite* sprite)
+static void AnimItemStealStep3(struct Sprite* sprite)
{
int zero;
sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
@@ -3172,11 +3178,11 @@ static void AnimItemStealStep(struct Sprite* sprite)
if (sprite->pos2.y == 0)
PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(63));
- if (sub_80FF9E0(sprite))
+ if (moveAlongLinearPath(sprite))
{
sprite->pos2.y = 0;
sprite->data[0] = 0;
- sprite->callback = sub_80FFA84;
+ sprite->callback = AnimItemStealStep2;
PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(-64));
}
}
@@ -3253,9 +3259,9 @@ static void AnimTrickBagStep1(struct Sprite* sprite)
static void AnimTrickBagStep2(struct Sprite* sprite)
{
- if (sprite->data[2] == gUnknown_08592700[sprite->data[0]][1])
+ if (sprite->data[2] == gTrickBagCoordinates[sprite->data[0]][1])
{
- if (gUnknown_08592700[sprite->data[0]][2] == 127)
+ if (gTrickBagCoordinates[sprite->data[0]][2] == 127)
{
sprite->data[0] = 0;
sprite->callback = AnimTrickBagStep3;
@@ -3267,7 +3273,7 @@ static void AnimTrickBagStep2(struct Sprite* sprite)
else
{
sprite->data[2]++;
- sprite->data[1] = (gUnknown_08592700[sprite->data[0]][0] * gUnknown_08592700[sprite->data[0]][2] + sprite->data[1]) & 0xFF;
+ sprite->data[1] = (gTrickBagCoordinates[sprite->data[0]][0] * gTrickBagCoordinates[sprite->data[0]][2] + sprite->data[1]) & 0xFF;
if (!IsContest())
{
if ((u16)(sprite->data[1] - 1) < 191)
@@ -3290,7 +3296,7 @@ static void AnimTrickBagStep3(struct Sprite* sprite)
sprite->data[0]++;
}
-void sub_80FFFC0(u8 taskId)
+void AnimTask_LeafBlade(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -3302,7 +3308,7 @@ void sub_80FFFC0(u8 taskId)
task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1;
task->data[9] = 56 - (task->data[5] * 64);
task->data[8] = task->data[7] - task->data[9] + task->data[6];
- task->data[2] = CreateSprite(&gUnknown_08592778, task->data[8], task->data[9], task->data[4]);
+ task->data[2] = CreateSprite(&gLeafBladeSpriteTemplate, task->data[8], task->data[9], task->data[4]);
if (task->data[2] == MAX_SPRITES)
DestroyAnimVisualTask(taskId);
@@ -3311,12 +3317,12 @@ void sub_80FFFC0(u8 taskId)
gSprites[task->data[2]].data[2] = task->data[6] - (task->data[10] / 2 + 10) * task->data[5];
gSprites[task->data[2]].data[3] = task->data[9];
gSprites[task->data[2]].data[4] = task->data[7] + (task->data[11] / 2 + 10) * task->data[5];
- gSprites[task->data[2]].data[5] = sub_8100504(&gSprites[task->data[2]]);
+ gSprites[task->data[2]].data[5] = LeafBladeGetPosFactor(&gSprites[task->data[2]]);
InitAnimArcTranslation(&gSprites[task->data[2]]);
- task->func = sub_8100128;
+ task->func = AnimTask_LeafBladeStep;
}
-static void sub_8100128(u8 taskId)
+static void AnimTask_LeafBladeStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
struct Sprite* sprite = &gSprites[task->data[2]];
@@ -3324,7 +3330,7 @@ static void sub_8100128(u8 taskId)
switch (a)
{
case 4:
- sub_8100524(task, taskId);
+ AnimTask_LeafBladeStep2(task, taskId);
if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 5;
@@ -3332,7 +3338,7 @@ static void sub_8100128(u8 taskId)
}
break;
case 8:
- sub_8100524(task, taskId);
+ AnimTask_LeafBladeStep2(task, taskId);
if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 9;
@@ -3340,7 +3346,7 @@ static void sub_8100128(u8 taskId)
}
break;
case 0:
- sub_8100524(task, taskId);
+ AnimTask_LeafBladeStep2(task, taskId);
if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 1;
@@ -3357,7 +3363,7 @@ static void sub_8100128(u8 taskId)
sprite->data[2] = task->data[6];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = task->data[7];
- sprite->data[5] = sub_8100504(sprite);
+ sprite->data[5] = LeafBladeGetPosFactor(sprite);
task->data[4] += 2;
task->data[3] = a;
sprite->subpriority = task->data[4];
@@ -3366,7 +3372,7 @@ static void sub_8100128(u8 taskId)
task->data[0]++;
break;
case 2:
- sub_8100524(task, taskId);
+ AnimTask_LeafBladeStep2(task, taskId);
if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 3;
@@ -3383,7 +3389,7 @@ static void sub_8100128(u8 taskId)
sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = task->data[7] - ((task->data[11] / 2) + 10) * task->data[5];
- sprite->data[5] = sub_8100504(sprite);
+ sprite->data[5] = LeafBladeGetPosFactor(sprite);
task->data[3] = 2;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
@@ -3400,7 +3406,7 @@ static void sub_8100128(u8 taskId)
sprite->data[2] = task->data[6] + ((task->data[10] / 2) + 10) * task->data[5];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5];
- sprite->data[5] = sub_8100504(sprite);
+ sprite->data[5] = LeafBladeGetPosFactor(sprite);
task->data[4] -= 2;
task->data[3] = 3;
sprite->subpriority = task->data[4];
@@ -3409,7 +3415,7 @@ static void sub_8100128(u8 taskId)
task->data[0]++;
break;
case 6:
- sub_8100524(task, taskId);
+ AnimTask_LeafBladeStep2(task, taskId);
if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 7;
@@ -3426,7 +3432,7 @@ static void sub_8100128(u8 taskId)
sprite->data[2] = task->data[6];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = task->data[7];
- sprite->data[5] = sub_8100504(sprite);
+ sprite->data[5] = LeafBladeGetPosFactor(sprite);
task->data[4] += 2;
task->data[3] = 4;
sprite->subpriority = task->data[4];
@@ -3444,7 +3450,7 @@ static void sub_8100128(u8 taskId)
sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5];
- sprite->data[5] = sub_8100504(sprite);
+ sprite->data[5] = LeafBladeGetPosFactor(sprite);
task->data[3] = 5;
sprite->subpriority = task->data[4];
StartSpriteAnim(sprite, task->data[3]);
@@ -3452,7 +3458,7 @@ static void sub_8100128(u8 taskId)
task->data[0]++;
break;
case 10:
- sub_8100524(task, taskId);
+ AnimTask_LeafBladeStep2(task, taskId);
if (TranslateAnimHorizontalArc(sprite))
{
task->data[15] = 11;
@@ -3470,7 +3476,7 @@ static void sub_8100128(u8 taskId)
sprite->data[2] = task->data[8];
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = task->data[9];
- sprite->data[5] = sub_8100504(sprite);
+ sprite->data[5] = LeafBladeGetPosFactor(sprite);
task->data[4] -= 2;
task->data[3] = 6;
sprite->subpriority = task->data[4];
@@ -3480,7 +3486,7 @@ static void sub_8100128(u8 taskId)
break;
}
case 12:
- sub_8100524(task, taskId);
+ AnimTask_LeafBladeStep2(task, taskId);
if (TranslateAnimHorizontalArc(sprite))
{
DestroySprite(sprite);
@@ -3501,7 +3507,7 @@ static void sub_8100128(u8 taskId)
}
}
-static s16 sub_8100504(struct Sprite* sprite)
+static s16 LeafBladeGetPosFactor(struct Sprite* sprite)
{
s16 var = 8;
if (sprite->data[4] < sprite->pos1.y)
@@ -3510,7 +3516,7 @@ static s16 sub_8100504(struct Sprite* sprite)
return var;
}
-static void sub_8100524(struct Task* task, u8 taskId)
+static void AnimTask_LeafBladeStep2(struct Task* task, u8 taskId)
{
task->data[14]++;
if (task->data[14] > 0)
@@ -3521,7 +3527,7 @@ static void sub_8100524(struct Task* task, u8 taskId)
task->data[14] = 0;
spriteX = gSprites[task->data[2]].pos1.x + gSprites[task->data[2]].pos2.x;
spriteY = gSprites[task->data[2]].pos1.y + gSprites[task->data[2]].pos2.y;
- spriteId = CreateSprite(&gUnknown_08592778, spriteX, spriteY, task->data[4]);
+ spriteId = CreateSprite(&gLeafBladeSpriteTemplate, spriteX, spriteY, task->data[4]);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].data[6] = taskId;
@@ -3531,12 +3537,12 @@ static void sub_8100524(struct Task* task, u8 taskId)
gTasks[taskId].data[13]++;
StartSpriteAnim(&gSprites[spriteId], task->data[3]);
gSprites[spriteId].subpriority = task->data[4];
- gSprites[spriteId].callback = sub_80CC408;
+ gSprites[spriteId].callback = AnimTask_LeafBladeStep2_Callback;
}
}
}
-static void sub_80CC408(struct Sprite* sprite)
+static void AnimTask_LeafBladeStep2_Callback(struct Sprite* sprite)
{
sprite->data[0]++;
if (sprite->data[0] > 1)
@@ -3552,7 +3558,7 @@ static void sub_80CC408(struct Sprite* sprite)
}
}
-void sub_8100640(struct Sprite* sprite)
+void AnimFlyingParticle(struct Sprite* sprite)
{
u8 battler;
if (!gBattleAnimArgs[6])
@@ -3597,10 +3603,10 @@ void sub_8100640(struct Sprite* sprite)
break;
}
- sprite->callback = sub_810074C;
+ sprite->callback = AnimFlyingParticleStep;
}
-static void sub_810074C(struct Sprite* sprite)
+static void AnimFlyingParticleStep(struct Sprite* sprite)
{
int a = sprite->data[7];
sprite->data[7]++;
@@ -3651,7 +3657,7 @@ void sub_81007C4(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_8100898(struct Sprite* sprite)
+void AnimNeedleArmSpike(struct Sprite* sprite)
{
u8 a;
u8 b;
@@ -3703,11 +3709,11 @@ void sub_8100898(struct Sprite* sprite)
c -= 0x8000;
TrySetSpriteRotScale(sprite, 0, 0x100, 0x100, c);
- sprite->callback = sub_81009A0;
+ sprite->callback = AnimNeedleArmSpikeStep;
}
}
-static void sub_81009A0(struct Sprite* sprite)
+static void AnimNeedleArmSpikeStep(struct Sprite* sprite)
{
if (sprite->data[0])
{
@@ -3746,7 +3752,7 @@ void sub_81009F8(struct Sprite* sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_8100A50(struct Sprite* sprite)
+void AnimWhipHit(struct Sprite* sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
StartSpriteAnim(sprite, 1);
@@ -3800,7 +3806,7 @@ void AnimCuttingSlice(struct Sprite* sprite)
sprite->data[1] = -sprite->data[1];
}
-void sub_8100B88(struct Sprite* sprite)
+void AnimAirCutterSlice(struct Sprite* sprite)
{
u8 a;
u8 b;
@@ -3937,7 +3943,7 @@ static void sub_8100E80(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_8100EF0(struct Sprite* sprite)
+void AnimProtect(struct Sprite* sprite)
{
if (IsContest())
gBattleAnimArgs[1] += 8;
@@ -3954,10 +3960,10 @@ void sub_8100EF0(struct Sprite* sprite)
sprite->data[7] = 16;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7]));
- sprite->callback = sub_8100FD4;
+ sprite->callback = AnimProtectStep;
}
-static void sub_8100FD4(struct Sprite *sprite)
+static void AnimProtectStep(struct Sprite *sprite)
{
int a;
int i;
@@ -4000,7 +4006,7 @@ static void sub_8100FD4(struct Sprite *sprite)
}
}
-void sub_81010CC(struct Sprite* sprite)
+void AnimMilkBottle(struct Sprite* sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8;
@@ -4013,10 +4019,10 @@ void sub_81010CC(struct Sprite* sprite)
sprite->data[7] = 16;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7]));
- sprite->callback = sub_8101138;
+ sprite->callback = AnimMilkBottleStep1;
}
-static void sub_8101138(struct Sprite* sprite)
+static void AnimMilkBottleStep1(struct Sprite* sprite)
{
switch (sprite->data[0])
{
@@ -4049,7 +4055,7 @@ static void sub_8101138(struct Sprite* sprite)
}
break;
case 2:
- sub_8101298(sprite, 16, 4);
+ AnimMilkBottleStep2(sprite, 16, 4);
if (++sprite->data[1] > 2)
{
sprite->data[1] = 0;
@@ -4089,7 +4095,7 @@ static void sub_8101138(struct Sprite* sprite)
}
}
-static void sub_8101298(struct Sprite* sprite, int unk1, int unk2)
+static void AnimMilkBottleStep2(struct Sprite* sprite, int unk1, int unk2)
{
if (sprite->data[3] <= 11)
sprite->data[4] += 2;
@@ -4110,7 +4116,7 @@ static void sub_8101298(struct Sprite* sprite, int unk1, int unk2)
sprite->data[3] = 0;
}
-void sub_810130C(struct Sprite* sprite)
+void AnimGrantingStars(struct Sprite* sprite)
{
if (!gBattleAnimArgs[2])
SetSpriteCoordsToAnimAttackerCoords(sprite);
@@ -4124,7 +4130,7 @@ void sub_810130C(struct Sprite* sprite)
sprite->callback = TranslateSpriteLinearFixedPoint;
}
-void sub_810135C(struct Sprite* sprite)
+void AnimSparkingStars(struct Sprite* sprite)
{
u8 battler;
if (!gBattleAnimArgs[2])
@@ -4192,7 +4198,7 @@ static void sub_81014A0(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_81014F4(struct Sprite* sprite)
+void AnimSleepLetterZ(struct Sprite* sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
@@ -4209,10 +4215,10 @@ void sub_81014F4(struct Sprite* sprite)
StartSpriteAffineAnim(sprite, 1);
}
- sprite->callback = sub_8101560;
+ sprite->callback = AnimSleepLetterZStep;
}
-static void sub_8101560(struct Sprite* sprite)
+static void AnimSleepLetterZStep(struct Sprite* sprite)
{
sprite->pos2.y = -(sprite->data[0] / 0x28);
sprite->pos2.x = sprite->data[4] / 10;
@@ -4222,23 +4228,23 @@ static void sub_8101560(struct Sprite* sprite)
DestroySpriteAndMatrix(sprite);
}
-void sub_81015AC(struct Sprite* sprite)
+void AnimLockOnTarget(struct Sprite* sprite)
{
sprite->pos1.x -= 32;
sprite->pos1.y -= 32;
sprite->data[0] = 20;
sprite->callback = WaitAnimForDuration;
- StoreSpriteCallbackInData6(sprite, sub_81015D4);
+ StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1);
}
-static void sub_81015D4(struct Sprite* sprite)
+static void AnimLockOnTargetStep1(struct Sprite* sprite)
{
switch (sprite->data[5] & 1)
{
case 0:
sprite->data[0] = 1;
sprite->callback = WaitAnimForDuration;
- StoreSpriteCallbackInData6(sprite, sub_81015D4);
+ StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep1);
break;
case 1:
sprite->pos1.x += sprite->pos2.x;
@@ -4246,10 +4252,10 @@ static void sub_81015D4(struct Sprite* sprite)
sprite->pos2.y = 0;
sprite->pos2.x = 0;
sprite->data[0] = 8;
- sprite->data[2] = sprite->pos1.x + gUnknown_08592CD0[sprite->data[5] >> 8][0];
- sprite->data[4] = sprite->pos1.y + gUnknown_08592CD0[sprite->data[5] >> 8][1];
+ sprite->data[2] = sprite->pos1.x + gInclineMonCoordTable[sprite->data[5] >> 8][0];
+ sprite->data[4] = sprite->pos1.y + gInclineMonCoordTable[sprite->data[5] >> 8][1];
sprite->callback = StartAnimLinearTranslation;
- StoreSpriteCallbackInData6(sprite, sub_8101684);
+ StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep2);
sprite->data[5] += 0x100;
PlaySE12WithPanning(SE_W199, BattleAnimAdjustPanning(63));
break;
@@ -4258,21 +4264,21 @@ static void sub_81015D4(struct Sprite* sprite)
sprite->data[5] ^= 1;
}
-static void sub_8101684(struct Sprite* sprite)
+static void AnimLockOnTargetStep2(struct Sprite* sprite)
{
if ((sprite->data[5] >> 8) == 4)
{
sprite->data[0] = 10;
sprite->callback = WaitAnimForDuration;
- StoreSpriteCallbackInData6(sprite, sub_81016B8);
+ StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep3);
}
else
{
- sprite->callback = sub_81015D4;
+ sprite->callback = AnimLockOnTargetStep1;
}
}
-static void sub_81016B8(struct Sprite* sprite)
+static void AnimLockOnTargetStep3(struct Sprite* sprite)
{
s16 a;
s16 b;
@@ -4282,7 +4288,7 @@ static void sub_81016B8(struct Sprite* sprite)
sprite->data[1] = 0;
sprite->data[2] = 0;
sprite->callback = WaitAnimForDuration;
- StoreSpriteCallbackInData6(sprite, sub_8101774);
+ StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep4);
}
else
{
@@ -4314,11 +4320,11 @@ static void sub_81016B8(struct Sprite* sprite)
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b;
sprite->callback = StartAnimLinearTranslation;
- StoreSpriteCallbackInData6(sprite, sub_8101820);
+ StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep5);
}
}
-static void sub_8101774(struct Sprite* sprite)
+static void AnimLockOnTargetStep4(struct Sprite* sprite)
{
if (sprite->data[2] == 0)
{
@@ -4341,21 +4347,21 @@ static void sub_8101774(struct Sprite* sprite)
}
else if (sprite->data[1] == 0)
{
- sprite->callback = sub_8101820;
+ sprite->callback = AnimLockOnTargetStep5;
}
}
-static void sub_8101820(struct Sprite* sprite)
+static void AnimLockOnTargetStep5(struct Sprite* sprite)
{
if ((u16)gBattleAnimArgs[7] == 0xFFFF)
{
sprite->data[1] = 0;
sprite->data[0] = 0;
- sprite->callback = sub_8101848;
+ sprite->callback = AnimLockOnTargetStep6;
}
}
-static void sub_8101848(struct Sprite* sprite)
+static void AnimLockOnTargetStep6(struct Sprite* sprite)
{
if (sprite->data[0] % 3 == 0)
{
@@ -4368,7 +4374,7 @@ static void sub_8101848(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_8101898(struct Sprite* sprite)
+void AnimLockOnMoveTarget(struct Sprite* sprite)
{
sprite->oam.affineParam = gBattleAnimArgs[0];
if ((s16)sprite->oam.affineParam == 1)
@@ -4396,42 +4402,42 @@ void sub_8101898(struct Sprite* sprite)
}
sprite->oam.tileNum = (sprite->oam.tileNum + 16);
- sprite->callback = sub_81015AC;
+ sprite->callback = AnimLockOnTarget;
sprite->callback(sprite);
}
-void sub_8101940(struct Sprite* sprite)
+void AnimBowMon(struct Sprite* sprite)
{
sprite->invisible = 1;
sprite->data[0] = 0;
switch (gBattleAnimArgs[0])
{
case 0:
- sprite->callback = sub_8101998;
+ sprite->callback = AnimBowMonStep1;
break;
case 1:
- sprite->callback = sub_8101A74;
+ sprite->callback = AnimBowMonStep2;
break;
case 2:
- sprite->callback = sub_8101AC4;
+ sprite->callback = AnimBowMonStep3;
break;
default:
- sprite->callback = sub_8101B84;
+ sprite->callback = AnimBowMonStep4;
break;
}
}
-static void sub_8101998(struct Sprite* sprite)
+static void AnimBowMonStep1(struct Sprite* sprite)
{
sprite->data[0] = 6;
sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? 2 : -2;
sprite->data[2] = 0;
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
- StoreSpriteCallbackInData6(sprite, sub_81019E8);
+ StoreSpriteCallbackInData6(sprite, AnimBowMonStep1_Callback);
sprite->callback = TranslateMonSpriteLinear;
}
-static void sub_81019E8(struct Sprite* sprite)
+static void AnimBowMonStep1_Callback(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
@@ -4447,30 +4453,30 @@ static void sub_81019E8(struct Sprite* sprite)
if (++sprite->data[0] > 3)
{
sprite->data[0] = 0;
- sprite->callback = sub_8101B84;
+ sprite->callback = AnimBowMonStep4;
}
}
-static void sub_8101A74(struct Sprite* sprite)
+static void AnimBowMonStep2(struct Sprite* sprite)
{
sprite->data[0] = 4;
sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? -3 : 3;
sprite->data[2] = 0;
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
- StoreSpriteCallbackInData6(sprite, sub_8101B84);
+ StoreSpriteCallbackInData6(sprite, AnimBowMonStep4);
sprite->callback = TranslateMonSpriteLinear;
}
-static void sub_8101AC4(struct Sprite* sprite)
+static void AnimBowMonStep3(struct Sprite* sprite)
{
if (++sprite->data[0] > 8)
{
sprite->data[0] = 0;
- sprite->callback = sub_8101AE8;
+ sprite->callback = AnimBowMonStep3_Callback;
}
}
-static void sub_8101AE8(struct Sprite* sprite)
+static void AnimBowMonStep3_Callback(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
@@ -4494,11 +4500,11 @@ static void sub_8101AE8(struct Sprite* sprite)
if (++sprite->data[0] > 2)
{
ResetSpriteRotScale(sprite->data[3]);
- sprite->callback = sub_8101B84;
+ sprite->callback = AnimBowMonStep4;
}
}
-static void sub_8101B84(struct Sprite* sprite)
+static void AnimBowMonStep4(struct Sprite* sprite)
{
DestroyAnimSprite(sprite);
}
@@ -4546,7 +4552,7 @@ static void sub_8101BA0(struct Sprite *sprite)
}
}
-void sub_8101C94(u8 taskId)
+void AnimTask_SkullBashPosition(u8 taskId)
{
u8 a;
@@ -4567,7 +4573,7 @@ void sub_8101C94(u8 taskId)
if (a == 0)
gTasks[taskId].data[5] *= -1;
- gTasks[taskId].func = sub_8101D2C;
+ gTasks[taskId].func = AnimTask_SkullBashPositionSet;
break;
case 1:
gTasks[taskId].data[3] = 8;
@@ -4579,12 +4585,12 @@ void sub_8101C94(u8 taskId)
gTasks[taskId].data[5] = -gTasks[taskId].data[5];
}
- gTasks[taskId].func = sub_8101EEC;
+ gTasks[taskId].func = AnimTask_SkullBashPositionReset;
break;
}
}
-static void sub_8101D2C(u8 taskId)
+static void AnimTask_SkullBashPositionSet(u8 taskId)
{
struct Task *task = &gTasks[taskId];
switch (task->data[2])
@@ -4675,7 +4681,7 @@ static void sub_8101D2C(u8 taskId)
}
}
-static void sub_8101EEC(u8 taskId)
+static void AnimTask_SkullBashPositionReset(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (task->data[3])
@@ -4692,7 +4698,7 @@ static void sub_8101EEC(u8 taskId)
}
}
-void sub_8101F40(struct Sprite* sprite)
+void AnimSlashSlice(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -4707,48 +4713,48 @@ void sub_8101F40(struct Sprite* sprite)
sprite->data[0] = 0;
sprite->data[1] = 0;
- StoreSpriteCallbackInData6(sprite, sub_810208C);
+ StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep3);
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
-void sub_8101FA8(struct Sprite* sprite)
+void AnimFalseSwipeSlice(struct Sprite* sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0;
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
- StoreSpriteCallbackInData6(sprite, sub_8102044);
+ StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep1);
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
-void sub_8101FF0(struct Sprite* sprite)
+void AnimFalseSwipePositionedSlice(struct Sprite* sprite)
{
sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0];
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
StartSpriteAnim(sprite, 1);
sprite->data[0] = 0;
sprite->data[1] = 0;
- sprite->callback = sub_810208C;
+ sprite->callback = AnimFalseSwipeSliceStep3;
}
-static void sub_8102044(struct Sprite* sprite)
+static void AnimFalseSwipeSliceStep1(struct Sprite* sprite)
{
if (++sprite->data[0] > 8)
{
sprite->data[0] = 12;
sprite->data[1] = 8;
sprite->data[2] = 0;
- StoreSpriteCallbackInData6(sprite, sub_810207C);
+ StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep2);
sprite->callback = TranslateSpriteLinear;
}
}
-static void sub_810207C(struct Sprite* sprite)
+static void AnimFalseSwipeSliceStep2(struct Sprite* sprite)
{
sprite->data[0] = 0;
sprite->data[1] = 0;
- sprite->callback = sub_810208C;
+ sprite->callback = AnimFalseSwipeSliceStep3;
}
-static void sub_810208C(struct Sprite* sprite)
+static void AnimFalseSwipeSliceStep3(struct Sprite* sprite)
{
if (++sprite->data[0] > 1)
{
@@ -4759,7 +4765,7 @@ static void sub_810208C(struct Sprite* sprite)
}
}
-void sub_81020D8(struct Sprite* sprite)
+void AnimEndureEnergy(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -4774,10 +4780,10 @@ void sub_81020D8(struct Sprite* sprite)
sprite->data[0] = 0;
sprite->data[1] = gBattleAnimArgs[3];
- sprite->callback = sub_810213C;
+ sprite->callback = AnimEndureEnergyStep;
}
-static void sub_810213C(struct Sprite* sprite)
+static void AnimEndureEnergyStep(struct Sprite* sprite)
{
if (++sprite->data[0] > sprite->data[1])
{
@@ -4790,7 +4796,7 @@ static void sub_810213C(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_810217C(struct Sprite* sprite)
+void AnimSharpenSphere(struct Sprite* sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12;
@@ -4800,10 +4806,10 @@ void sub_810217C(struct Sprite* sprite)
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->data[5] = BattleAnimAdjustPanning(-64);
- sprite->callback = sub_81021CC;
+ sprite->callback = AnimSharpenSphereStep;
}
-static void sub_81021CC(struct Sprite* sprite)
+static void AnimSharpenSphereStep(struct Sprite* sprite)
{
if (++sprite->data[0] >= sprite->data[1])
{
@@ -4827,7 +4833,7 @@ static void sub_81021CC(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_8102268(struct Sprite* sprite)
+void AnimConversion(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
@@ -4843,7 +4849,7 @@ void sub_8102268(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_81022D4(u8 taskId)
+void AnimTask_ConversionAlphaBlend(u8 taskId)
{
if (gTasks[taskId].data[2] == 1)
{
@@ -4867,15 +4873,15 @@ void sub_81022D4(u8 taskId)
}
}
-void sub_810234C(struct Sprite* sprite)
+void AnimConversion2(struct Sprite* sprite)
{
InitSpritePosToAnimTarget(sprite, FALSE);
sprite->animPaused = 1;
sprite->data[0] = gBattleAnimArgs[2];
- sprite->callback = sub_810237C;
+ sprite->callback = AnimConversion2Step;
}
-static void sub_810237C(struct Sprite* sprite)
+static void AnimConversion2Step(struct Sprite* sprite)
{
if (sprite->data[0])
{
@@ -4892,7 +4898,7 @@ static void sub_810237C(struct Sprite* sprite)
}
}
-void sub_81023E0(u8 taskId)
+void AnimTask_Conversion2AlphaBlend(u8 taskId)
{
if (++gTasks[taskId].data[0] == 4)
{
@@ -4928,7 +4934,7 @@ void unref_sub_81024A8(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_81024E0(struct Sprite* sprite)
+void AnimMoon(struct Sprite* sprite)
{
if (IsContest())
{
@@ -4941,19 +4947,19 @@ void sub_81024E0(struct Sprite* sprite)
sprite->pos1.y = gBattleAnimArgs[1];
}
- sprite->oam.shape = 0;
- sprite->oam.size = 3;
+ sprite->oam.shape = SPRITE_SHAPE(64x64);
+ sprite->oam.size = SPRITE_SIZE(64x64);
sprite->data[0] = 0;
- sprite->callback = sub_8102528;
+ sprite->callback = AnimMoonStep;
}
-static void sub_8102528(struct Sprite* sprite)
+static void AnimMoonStep(struct Sprite* sprite)
{
if (sprite->data[0])
DestroyAnimSprite(sprite);
}
-void sub_8102540(struct Sprite* sprite)
+void AnimMoonlightSparkle(struct Sprite* sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
sprite->pos1.y = gBattleAnimArgs[1];
@@ -4962,10 +4968,10 @@ void sub_8102540(struct Sprite* sprite)
sprite->data[2] = 0;
sprite->data[3] = 0;
sprite->data[4] = 1;
- sprite->callback = sub_8102584;
+ sprite->callback = AnimMoonlightSparkleStep;
}
-static void sub_8102584(struct Sprite* sprite)
+static void AnimMoonlightSparkleStep(struct Sprite* sprite)
{
if (++sprite->data[1] > 1)
{
@@ -4981,10 +4987,10 @@ static void sub_8102584(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_81026A8(u8);
+void AnimTask_FadeScreenBlueStep(u8);
-void sub_81025C0(u8 taskId)
+void AnimTask_FadeScreenBlue(u8 taskId)
{
int a = sub_80A75AC(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
int b;
@@ -5007,11 +5013,11 @@ void sub_81025C0(u8 taskId)
b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON));
d = IndexOfSpritePaletteTag(ANIM_TAG_GREEN_SPARKLE);
BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31));
- gTasks[taskId].func = sub_81026A8;
+ gTasks[taskId].func = AnimTask_FadeScreenBlueStep;
gTasks[taskId].func(taskId);
}
-void sub_81026A8(u8 taskId)
+void AnimTask_FadeScreenBlueStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
switch (task->data[0])
@@ -5067,7 +5073,7 @@ void sub_81026A8(u8 taskId)
u8 spriteId;
for (spriteId = 0; spriteId < MAX_SPRITES; spriteId++)
{
- if (gSprites[spriteId].template == &gUnknown_08592EBC || gSprites[spriteId].template == &gBattleAnimSpriteTemplate_8592EEC)
+ if (gSprites[spriteId].template == &gMoonSpriteTemplate || gSprites[spriteId].template == &gMoonlightSparkleSpriteTemplate)
gSprites[spriteId].data[0] = 1;
}
@@ -5089,7 +5095,7 @@ void sub_81026A8(u8 taskId)
}
}
-void sub_8102844(struct Sprite* sprite)
+void AnimHornHit(struct Sprite* sprite)
{
if (gBattleAnimArgs[2] < 2)
gBattleAnimArgs[2] = 2;
@@ -5133,10 +5139,10 @@ void sub_8102844(struct Sprite* sprite)
sprite->oam.matrixNum = (ST_OAM_HFLIP | ST_OAM_VFLIP);
}
- sprite->callback = sub_810296C;
+ sprite->callback = AnimHornHitStep;
}
-static void sub_810296C(struct Sprite* sprite)
+static void AnimHornHitStep(struct Sprite* sprite)
{
sprite->data[2] += sprite->data[3];
sprite->data[4] += sprite->data[5];
@@ -5152,7 +5158,7 @@ static void sub_810296C(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_81029B4(u8 taskId)
+void AnimTask_DoubleTeam(u8 taskId)
{
u16 i;
int obj;
@@ -5175,19 +5181,19 @@ void sub_81029B4(u8 taskId)
gSprites[obj].data[0] = 0;
gSprites[obj].data[1] = i << 7;
gSprites[obj].data[2] = taskId;
- gSprites[obj].callback = sub_8102B3C;
+ gSprites[obj].callback = AnimTask_DoubleTeamCallback;
task->data[3]++;
i++;
}
- task->func = sub_8102AE0;
+ task->func = AnimTask_DoubleTeamStep;
if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
else
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
}
-static void sub_8102AE0(u8 taskId)
+static void AnimTask_DoubleTeamStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (!task->data[3])
@@ -5202,7 +5208,7 @@ static void sub_8102AE0(u8 taskId)
}
}
-static void sub_8102B3C(struct Sprite* sprite)
+static void AnimTask_DoubleTeamCallback(struct Sprite* sprite)
{
if (++sprite->data[3] > 1)
{
@@ -5224,57 +5230,57 @@ static void sub_8102B3C(struct Sprite* sprite)
}
}
-void sub_8102BCC(struct Sprite* sprite)
+void AnimSuperFang(struct Sprite* sprite)
{
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
-void sub_8102BE8(u8 taskId)
+void AnimTask_MusicNotesRainbowBlend(u8 taskId)
{
u16 i;
u16 j;
u16 index;
- index = IndexOfSpritePaletteTag(gUnknown_08593020[0][0]);
+ index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[0][0]);
if (index != 0xFF)
{
index = (index << 4) + 0x100;
- for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++)
- gPlttBufferFaded[index + i] = gUnknown_08593020[0][i];
+ for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable[0]); i++)
+ gPlttBufferFaded[index + i] = gParticlesColorBlendTable[0][i];
}
- for (j = 1; j < ARRAY_COUNT(gUnknown_08593020); j++)
+ for (j = 1; j < ARRAY_COUNT(gParticlesColorBlendTable); j++)
{
- index = AllocSpritePalette(gUnknown_08593020[j][0]);
+ index = AllocSpritePalette(gParticlesColorBlendTable[j][0]);
if (index != 0xFF)
{
index = (index << 4) + 0x100;
- for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++)
- gPlttBufferFaded[index + i] = gUnknown_08593020[j][i];
+ for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable[0]); i++)
+ gPlttBufferFaded[index + i] = gParticlesColorBlendTable[j][i];
}
}
DestroyAnimVisualTask(taskId);
}
// clears the rainbow effect for musical notes.
-void sub_8102CA0(u8 taskId)
+void AnimTask_MusicNotesClearRainbowBlend(u8 taskId)
{
u16 i;
- for (i = 1; i < ARRAY_COUNT(gUnknown_08593020); i++)
- FreeSpritePaletteByTag(gUnknown_08593020[i][0]);
+ for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable); i++)
+ FreeSpritePaletteByTag(gParticlesColorBlendTable[i][0]);
DestroyAnimVisualTask(taskId);
}
-void sub_8102CD4(struct Sprite* sprite)
+void AnimWavyMusicNotes(struct Sprite* sprite)
{
u8 index;
u8 a;
u8 b;
SetSpriteCoordsToAnimAttackerCoords(sprite);
StartSpriteAnim(sprite, gBattleAnimArgs[0]);
- if ((index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[1]][0])) != 0xFF)
+ if ((index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[1]][0])) != 0xFF)
sprite->oam.paletteNum = index;
sprite->data[1] = gBattleAnimArgs[1];
@@ -5293,11 +5299,11 @@ void sub_8102CD4(struct Sprite* sprite)
sprite->data[4] = sprite->pos1.x << 4;
sprite->data[5] = sprite->pos1.y << 4;
- sub_8102D8C(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40);
- sprite->callback = sub_8102DE4;
+ AnimWavyMusicNotesGetNextPos(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40);
+ sprite->callback = AnimWavyMusicNotesStep;
}
-static void sub_8102D8C(s16 a, s16 b, s16* c, s16* d, s8 e)
+static void AnimWavyMusicNotesGetNextPos(s16 a, s16 b, s16* c, s16* d, s8 e)
{
int f;
int g;
@@ -5313,7 +5319,7 @@ static void sub_8102D8C(s16 a, s16 b, s16* c, s16* d, s8 e)
*d = (b << 8) / g;
}
-static void sub_8102DE4(struct Sprite* sprite)
+static void AnimWavyMusicNotesStep(struct Sprite* sprite)
{
s16 y, yDelta;
u8 index;
@@ -5339,14 +5345,14 @@ static void sub_8102DE4(struct Sprite* sprite)
if (++sprite->data[1] > 3)
sprite->data[1] = 0;
- index = IndexOfSpritePaletteTag(gUnknown_08593020[sprite->data[1]][0]);
+ index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[sprite->data[1]][0]);
if (index != 0xFF)
sprite->oam.paletteNum = index;
}
}
}
-void sub_8102EB0(struct Sprite* sprite)
+void AnimFlyingMusicNotes(struct Sprite* sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
gBattleAnimArgs[1] *= -1;
@@ -5360,10 +5366,10 @@ void sub_8102EB0(struct Sprite* sprite)
sprite->data[5] = sprite->pos1.y << 4;
sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5;
sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5;
- sprite->callback = sub_8102F40;
+ sprite->callback = AnimFlyingMusicNotesStep;
}
-static void sub_8102F40(struct Sprite* sprite)
+static void AnimFlyingMusicNotesStep(struct Sprite* sprite)
{
sprite->data[4] += sprite->data[6];
sprite->data[5] += sprite->data[7];
@@ -5382,7 +5388,7 @@ static void sub_8102F40(struct Sprite* sprite)
DestroySpriteAndMatrix(sprite);
}
-void sub_8102FB8(struct Sprite* sprite)
+void AnimBellyDrumHand(struct Sprite* sprite)
{
s16 a;
if (gBattleAnimArgs[0] == 1)
@@ -5402,14 +5408,14 @@ void sub_8102FB8(struct Sprite* sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_8103028(struct Sprite* sprite)
+void AnimSlowFlyingMusicNotes(struct Sprite* sprite)
{
s16 xDiff;
u8 index;
SetSpriteCoordsToAnimAttackerCoords(sprite);
sprite->pos1.y += 8;
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
- index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[2]][0]);
+ index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[2]][0]);
if (index != 0xFF)
sprite->oam.paletteNum = index;
@@ -5421,10 +5427,10 @@ void sub_8103028(struct Sprite* sprite)
sprite->data[4] = sprite->data[3] - 40;
InitAnimLinearTranslation(sprite);
sprite->data[5] = gBattleAnimArgs[3];
- sprite->callback = sub_81030B0;
+ sprite->callback = AnimSlowFlyingMusicNotesStep;
}
-static void sub_81030B0(struct Sprite* sprite)
+static void AnimSlowFlyingMusicNotesStep(struct Sprite* sprite)
{
if (AnimTranslateLinear(sprite) == 0)
{
@@ -5443,7 +5449,7 @@ static void sub_81030B0(struct Sprite* sprite)
}
}
-void sub_810310C(u8 battler, struct Sprite* sprite)
+void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite)
{
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8;
@@ -5453,7 +5459,7 @@ void sub_810310C(u8 battler, struct Sprite* sprite)
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
}
-void sub_8103164(struct Sprite* sprite)
+void AnimThoughtBubble(struct Sprite* sprite)
{
u8 a;
u8 battler;
@@ -5462,16 +5468,16 @@ void sub_8103164(struct Sprite* sprite)
else
battler = gBattleAnimTarget;
- sub_810310C(battler, sprite);
+ SetSpriteNextToMonHead(battler, sprite);
a = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? 0 : 1;
sprite->data[0] = gBattleAnimArgs[1];
sprite->data[1] = a + 2;
StartSpriteAnim(sprite, a);
- StoreSpriteCallbackInData6(sprite, sub_81031D0);
+ StoreSpriteCallbackInData6(sprite, AnimThoughtBubbleStep);
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
-static void sub_81031D0(struct Sprite* sprite)
+static void AnimThoughtBubbleStep(struct Sprite* sprite)
{
if (--sprite->data[0] == 0)
{
@@ -5481,7 +5487,7 @@ static void sub_81031D0(struct Sprite* sprite)
}
}
-void sub_8103208(struct Sprite* sprite)
+void AnimMetronomeFinger(struct Sprite* sprite)
{
u8 battler;
if (gBattleAnimArgs[0] == 0)
@@ -5489,13 +5495,13 @@ void sub_8103208(struct Sprite* sprite)
else
battler = gBattleAnimTarget;
- sub_810310C(battler, sprite);
+ SetSpriteNextToMonHead(battler, sprite);
sprite->data[0] = 0;
- StoreSpriteCallbackInData6(sprite, sub_8103250);
+ StoreSpriteCallbackInData6(sprite, AnimMetronomeFingerStep);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
-static void sub_8103250(struct Sprite* sprite)
+static void AnimMetronomeFingerStep(struct Sprite* sprite)
{
if (++sprite->data[0] > 16)
{
@@ -5505,7 +5511,7 @@ static void sub_8103250(struct Sprite* sprite)
}
}
-void sub_8103284(struct Sprite* sprite)
+void AnimFollowMeFinger(struct Sprite* sprite)
{
u8 battler;
if (gBattleAnimArgs[0] == 0)
@@ -5523,17 +5529,17 @@ void sub_8103284(struct Sprite* sprite)
sprite->data[2] = sprite->subpriority;
sprite->data[3] = sprite->subpriority + 4;
sprite->data[4] = 0;
- StoreSpriteCallbackInData6(sprite, sub_8103300);
+ StoreSpriteCallbackInData6(sprite, AnimFollowMeFingerStep1);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
-static void sub_8103300(struct Sprite* sprite)
+static void AnimFollowMeFingerStep1(struct Sprite* sprite)
{
if (++sprite->data[4] > 12)
- sprite->callback = sub_8103320;
+ sprite->callback = AnimFollowMeFingerStep2;
}
-static void sub_8103320(struct Sprite* sprite)
+static void AnimFollowMeFingerStep2(struct Sprite* sprite)
{
s16 x1, x2;
@@ -5543,7 +5549,7 @@ static void sub_8103320(struct Sprite* sprite)
if (--sprite->data[0] == 0)
{
sprite->pos2.x = 0;
- sprite->callback = sub_8103250;
+ sprite->callback = AnimMetronomeFingerStep;
return;
}
else
@@ -5563,7 +5569,7 @@ static void sub_8103320(struct Sprite* sprite)
sprite->pos2.x = (x1 >> 3) + (x2 >> 1);
}
-void sub_8103390(struct Sprite* sprite)
+void AnimTauntFinger(struct Sprite* sprite)
{
u8 battler;
if (gBattleAnimArgs[0] == 0)
@@ -5571,7 +5577,7 @@ void sub_8103390(struct Sprite* sprite)
else
battler = gBattleAnimTarget;
- sub_810310C(battler, sprite);
+ SetSpriteNextToMonHead(battler, sprite);
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
{
StartSpriteAnim(sprite, 0);
@@ -5583,21 +5589,21 @@ void sub_8103390(struct Sprite* sprite)
sprite->data[0] = 3;
}
- sprite->callback = sub_81033F0;
+ sprite->callback = AnimTauntFingerStep1;
}
-static void sub_81033F0(struct Sprite* sprite)
+static void AnimTauntFingerStep1(struct Sprite* sprite)
{
if (++sprite->data[1] > 10)
{
sprite->data[1] = 0;
StartSpriteAnim(sprite, sprite->data[0]);
- StoreSpriteCallbackInData6(sprite, sub_810342C);
+ StoreSpriteCallbackInData6(sprite, AnimTauntFingerStep2);
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
}
-static void sub_810342C(struct Sprite* sprite)
+static void AnimTauntFingerStep2(struct Sprite* sprite)
{
if (++sprite->data[1] > 5)
DestroyAnimSprite(sprite);
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 1add76bf3..dcbcced39 100755
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle_anim.h"
#include "battle_interface.h"
#include "decompress.h"
@@ -23,93 +23,94 @@ void sub_8103620(struct Sprite *);
void Anim_KinesisZapEnergy(struct Sprite *);
void Anim_SwordsDanceBlade(struct Sprite *);
void AnimSonicBoomProjectile(struct Sprite *);
-void sub_8103AA4(struct Sprite *);
+void AnimAirWaveProjectile(struct Sprite *);
void sub_8103FE8(struct Sprite *);
-void sub_8104088(struct Sprite *);
-void sub_810413C(struct Sprite *);
-void sub_81041C4(struct Sprite *);
-void Anim_RazorWindTornado(struct Sprite *);
-void Anim_ViceGripPincer(struct Sprite *);
-void Anim_GuillotinePincer(struct Sprite *);
-void Anim_BreathPuff(struct Sprite *);
-void Anim_AngerMark(struct Sprite *);
-void sub_810501C(struct Sprite *);
-void sub_81051C4(struct Sprite *);
-void sub_81052A4(struct Sprite *);
-void sub_81054E8(struct Sprite *);
-void sub_8105538(struct Sprite *);
-void sub_8105C48(struct Sprite *);
-void sub_8105DE8(struct Sprite *);
-void sub_8105E60(struct Sprite *);
-void sub_8106140(struct Sprite *);
-void sub_81061C4(struct Sprite *);
-void sub_810624C(struct Sprite *);
+void AnimCoinThrow(struct Sprite *);
+void AnimFallingCoin(struct Sprite *);
+void AnimBulletSeed(struct Sprite *);
+void AnimRazorWindTornado(struct Sprite *);
+void AnimViceGripPincer(struct Sprite *);
+void AnimGuillotinePincer(struct Sprite *);
+void AnimBreathPuff(struct Sprite *);
+void AnimAngerMark(struct Sprite *);
+void AnimPencil(struct Sprite *);
+void AnimBlendThinRing(struct Sprite *);
+void AnimHyperVoiceRing(struct Sprite *);
+void AnimUproarRing(struct Sprite *);
+void AnimSoftBoiledEgg(struct Sprite *);
+void AnimSpeedDust(struct Sprite *);
+void AnimHealBellMusicNote(struct Sprite *);
+void AnimMagentaHeart(struct Sprite *);
+void AnimRedHeartProjectile(struct Sprite *);
+void AnimParticuleBurst(struct Sprite *);
+void AnimRedHeartRising(struct Sprite *);
void AnimOrbitFast(struct Sprite *);
void AnimOrbitScatter(struct Sprite *);
-void sub_8106944(struct Sprite *);
-void sub_81069B8(struct Sprite *);
-void sub_81069D0(struct Sprite *);
-void sub_8106AD0(struct Sprite *);
-void sub_8106B54(struct Sprite *);
-void sub_8106C80(struct Sprite *);
-void sub_8106CD0(struct Sprite *);
-void sub_8106E00(struct Sprite *);
-void sub_8106F00(struct Sprite *);
-void sub_8106F60(struct Sprite *);
-void sub_81070AC(struct Sprite *);
+void AnimSpitUpOrb(struct Sprite *);
+void AnimEyeSparkle(struct Sprite *);
+void AnimAngel(struct Sprite *);
+void AnimPinkHeart(struct Sprite *);
+void AnimDevil(struct Sprite *);
+void AnimFurySwipes(struct Sprite *);
+void AnimMovmentWaves(struct Sprite *);
+void AnimJaggedMusicNote(struct Sprite *);
+void AnimPerishSongMusicNote2(struct Sprite *);
+void AnimPerishSongMusicNote(struct Sprite *);
+void AnimGuardRing(struct Sprite *);
static void sub_81034D8(struct Sprite *);
static void sub_8103658(struct Sprite *);
static void sub_8103680(struct Sprite *);
static void AnimTask_WithdrawStep(u8);
-static void Anim_SwordsDanceBladeStep(struct Sprite *);
+static void AnimSwordsDanceBladeStep(struct Sprite *);
static void sub_8104018(struct Sprite *);
-static void sub_8104154(struct Sprite *);
-static void sub_810421C(struct Sprite *);
-static void sub_81042A0(struct Sprite *);
-static void Anim_ViceGripPincerStep(struct Sprite *);
-static void Anim_GuillotinePincerStep1(struct Sprite *);
-static void Anim_GuillotinePincerStep2(struct Sprite *);
-static void Anim_GuillotinePincerStep3(struct Sprite *);
+static void AnimFallingCoin_Step(struct Sprite *);
+static void AnimBulletSeed_Step1(struct Sprite *);
+static void AnimBulletSeed_Step2(struct Sprite *);
+static void AnimViceGripPincerStep(struct Sprite *);
+static void AnimGuillotinePincerStep1(struct Sprite *);
+static void AnimGuillotinePincerStep2(struct Sprite *);
+static void AnimGuillotinePincerStep3(struct Sprite *);
static void AnimTask_GrowAndGreyscaleStep(u8);
static void AnimTask_MinimizeStep1(u8);
static void CreateMinimizeSprite(struct Task *, u8);
static void ClonedMinizeSprite_Step(struct Sprite *);
static void AnimTask_SplashStep(u8);
static void AnimTask_GrowAndShrinkStep(u8);
-static void sub_8104C78(u8);
-static void sub_8104D28(u8);
-static void sub_8104F54(u8);
-static void sub_8105078(struct Sprite *);
-static void sub_810557C(struct Sprite *);
-static void sub_81055F4(struct Sprite *);
-static void sub_810561C(struct Sprite *);
-static void sub_8105694(struct Sprite *);
-static void sub_81056D4(struct Sprite *);
-static void sub_810571C(struct Sprite *);
-static void sub_810575C(struct Sprite *);
-static void sub_81057B8(u8);
-static void sub_8105878(u8);
-static void sub_81059E0(u8);
-static void sub_8105B08(u8);
-static void sub_8105F30(u8);
-static void sub_8105F84(u8);
-static void sub_810618C(struct Sprite *);
-static void sub_810627C(struct Sprite *);
-static void sub_81063A8(u8);
-static void sub_81065EC(u8);
+static void ThrashMoveMonStep(u8);
+static void ThrashMoveMon(u8);
+static void AnimTask_SketchDrawMon(u8);
+static void AnimPencil_Step(struct Sprite *);
+static void AnimSoftBoiledEgg_Step1(struct Sprite *);
+static void AnimSoftBoiledEgg_Step2(struct Sprite *);
+static void AnimSoftBoiledEgg_Step3(struct Sprite *);
+static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *);
+static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *);
+static void AnimSoftBoiledEgg_Step4(struct Sprite *);
+static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *);
+static void StretchAttacker_Step(u8);
+static void ExtremeSpeedImpact_Step(u8);
+static void ExtremeSpeedMonReappear_Step(u8);
+static void SpeedDust_Step1(u8);
+static void FakeOutStep1(u8);
+static void FakeOutStep2(u8);
+static void AnimRedHeartProjectile_Step(struct Sprite *);
+static void AnimRedHeartRising_Step(struct Sprite *);
+static void HeartsBackground_Step(u8);
+static void ScaryFace_Step(u8);
static void AnimOrbitFastStep(struct Sprite *);
static void AnimOrbitScatterStep(struct Sprite *);
-static void sub_8106D5C(struct Sprite *);
-static void sub_8106DD4(u8);
-static void sub_8106EC8(struct Sprite *);
-static void sub_8107018(struct Sprite *);
-static void sub_810703C(struct Sprite *);
+static void AnimMovmentWaves_Step(struct Sprite *);
+static void UproarDistortion_Step(u8);
+static void AnimJaggedMusicNote_Step(struct Sprite *);
+static void AnimPerishSongMusicNote_Step1(struct Sprite *);
+static void AnimPerishSongMusicNote_Step2(struct Sprite *);
+// Unused
const struct SpriteTemplate gUnknown_08593264 =
{
.tileTag = ANIM_TAG_FINGER,
.paletteTag = ANIM_TAG_FINGER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -127,17 +128,19 @@ const union AnimCmd *const gUnknown_08593284[] =
gUnknown_0859327C,
};
+// Unused
const struct SpriteTemplate gUnknown_08593288 =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8103498,
};
+// Unused
const struct SpriteTemplate gUnknown_085932A0 =
{
.tileTag = 0,
@@ -150,11 +153,12 @@ const struct SpriteTemplate gUnknown_085932A0 =
};
extern const union AffineAnimCmd *const gUnknown_08597060[];
+// Unused
const struct SpriteTemplate gUnknown_085932B8 =
{
.tileTag = ANIM_TAG_CLAMP,
.paletteTag = ANIM_TAG_CLAMP,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
@@ -187,18 +191,19 @@ const union AffineAnimCmd *const gUnknown_08593300[] =
gUnknown_085932E8,
};
+// Unused
const struct SpriteTemplate gUnknown_08593304 =
{
.tileTag = ANIM_TAG_EXPLOSION_6,
.paletteTag = ANIM_TAG_EXPLOSION_6,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_085932E4,
.images = NULL,
.affineAnims = gUnknown_08593300,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const union AnimCmd gUnknown_0859331C[] =
+const union AnimCmd gKinesisZapEnergyAnimCmds[] =
{
ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
ANIMCMD_FRAME(8, 3, .hFlip = TRUE),
@@ -211,23 +216,23 @@ const union AnimCmd gUnknown_0859331C[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593340[] =
+const union AnimCmd *const gKinesisZapEnergyAnimTable[] =
{
- gUnknown_0859331C,
+ gKinesisZapEnergyAnimCmds,
};
const struct SpriteTemplate gKinesisZapEnergySpriteTemplate =
{
.tileTag = ANIM_TAG_ALERT,
.paletteTag = ANIM_TAG_ALERT,
- .oam = &gUnknown_08524934,
- .anims = gUnknown_08593340,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
+ .anims = gKinesisZapEnergyAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = Anim_KinesisZapEnergy,
};
-const union AffineAnimCmd gUnknown_0859335C[] =
+const union AffineAnimCmd gSwordsDanceBladeAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x14, 0x0, 0, 12),
@@ -235,19 +240,19 @@ const union AffineAnimCmd gUnknown_0859335C[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_0859337C[] =
+const union AffineAnimCmd *const gSwordsDanceBladeAffineAnimTable[] =
{
- gUnknown_0859335C,
+ gSwordsDanceBladeAffineAnimCmds,
};
const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate =
{
.tileTag = ANIM_TAG_SWORD,
.paletteTag = ANIM_TAG_SWORD,
- .oam = &gUnknown_08524ADC,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0859337C,
+ .affineAnims = gSwordsDanceBladeAffineAnimTable,
.callback = Anim_SwordsDanceBlade,
};
@@ -255,32 +260,32 @@ const struct SpriteTemplate gSonicBoomSpriteTemplate =
{
.tileTag = ANIM_TAG_AIR_WAVE,
.paletteTag = ANIM_TAG_AIR_WAVE,
- .oam = &gUnknown_08524B14,
+ .oam = &gOamData_AffineDouble_ObjBlend_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimSonicBoomProjectile,
};
-const struct SpriteTemplate gUnknown_085933B0 =
+const struct SpriteTemplate gAirWaveProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_AIR_WAVE,
.paletteTag = ANIM_TAG_AIR_WAVE,
- .oam = &gUnknown_08524A54,
+ .oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8103AA4,
+ .callback = AnimAirWaveProjectile,
};
-const union AffineAnimCmd gUnknown_085933C8[] =
+const union AffineAnimCmd gGrowingRingAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x7, 0x7, 0, -56),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_085933E0[] =
+const union AffineAnimCmd gWaterPulseRingAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
@@ -292,24 +297,24 @@ const union AffineAnimCmd gUnknown_085933E0[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_08593420[] =
+const union AffineAnimCmd *const gGrowingRingAffineAnimTable[] =
{
- gUnknown_085933C8,
+ gGrowingRingAffineAnimCmds,
};
-const union AffineAnimCmd *const gUnknown_08593424[] =
+const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[] =
{
- gUnknown_085933E0,
+ gWaterPulseRingAffineAnimCmds,
};
const struct SpriteTemplate gSupersonicWaveSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_RING,
.paletteTag = ANIM_TAG_GOLD_RING,
- .oam = &gUnknown_08524A14,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593420,
+ .affineAnims = gGrowingRingAffineAnimTable,
.callback = TranslateAnimSpriteToTargetMonLocation,
};
@@ -317,147 +322,148 @@ const struct SpriteTemplate gScreechWaveSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_RING,
.paletteTag = ANIM_TAG_PURPLE_RING,
- .oam = &gUnknown_08524A14,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593420,
+ .affineAnims = gGrowingRingAffineAnimTable,
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-const struct SpriteTemplate gUnknown_08593458 =
+const struct SpriteTemplate gMetalSoundSpriteTemplate =
{
.tileTag = ANIM_TAG_METAL_SOUND_WAVES,
.paletteTag = ANIM_TAG_METAL_SOUND_WAVES,
- .oam = &gUnknown_08524A1C,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593420,
+ .affineAnims = gGrowingRingAffineAnimTable,
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-const struct SpriteTemplate gUnknown_08593470 =
+const struct SpriteTemplate gWaterPulseRingSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_RING_2,
.paletteTag = ANIM_TAG_BLUE_RING_2,
- .oam = &gUnknown_08524A14,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593424,
- .callback = sub_8108C94,
+ .affineAnims = gWaterPulseRingAffineAnimTable,
+ .callback = AnimWaterPulseRing,
};
-const struct SpriteTemplate gUnknown_08593488 =
+const struct SpriteTemplate gEggThrowSpriteTemplate =
{
.tileTag = ANIM_TAG_LARGE_FRESH_EGG,
.paletteTag = ANIM_TAG_LARGE_FRESH_EGG,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A78AC,
+ .callback = AnimThrowProjectile,
};
+// Unused
const struct SpriteTemplate gUnknown_085934A0 =
{
.tileTag = ANIM_TAG_VOID_LINES,
.paletteTag = ANIM_TAG_VOID_LINES,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8103FE8,
};
-const union AnimCmd gUnknown_085934B8[] =
+const union AnimCmd gCoinAnimCmds[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085934C0[] =
+const union AnimCmd *const gCoinAnimTable[] =
{
- gUnknown_085934B8,
+ gCoinAnimCmds,
};
-const union AffineAnimCmd gUnknown_085934C4[] =
+const union AffineAnimCmd gFallingCoinAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_085934D4[] =
+const union AffineAnimCmd *const gFallingCoinAffineAnimTable[] =
{
- gUnknown_085934C4,
+ gFallingCoinAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_085934D8 =
+const struct SpriteTemplate gCoinThrowSpriteTemplate =
{
.tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN,
- .oam = &gUnknown_0852496C,
- .anims = gUnknown_085934C0,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
+ .anims = gCoinAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8104088,
+ .callback = AnimCoinThrow,
};
-const struct SpriteTemplate gUnknown_085934F0 =
+const struct SpriteTemplate gFallingCoinSpriteTemplate =
{
.tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN,
- .oam = &gUnknown_0852496C,
- .anims = gUnknown_085934C0,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
+ .anims = gCoinAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085934D4,
- .callback = sub_810413C,
+ .affineAnims = gFallingCoinAffineAnimTable,
+ .callback = AnimFallingCoin,
};
-const union AffineAnimCmd gUnknown_08593508[] =
+const union AffineAnimCmd gBulletSeedAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_08593518[] =
+const union AffineAnimCmd *const gBulletSeedAffineAnimTable[] =
{
- gUnknown_08593508,
+ gBulletSeedAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_0859351C =
+const struct SpriteTemplate gBulletSeedSpriteTemplate =
{
.tileTag = ANIM_TAG_SEED,
.paletteTag = ANIM_TAG_SEED,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593518,
- .callback = sub_81041C4,
+ .affineAnims = gBulletSeedAffineAnimTable,
+ .callback = AnimBulletSeed,
};
-const union AffineAnimCmd gUnknown_08593534[] =
+const union AffineAnimCmd gRazorWindTornadoAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x0, 0, 40),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_0859354C[] =
+const union AffineAnimCmd *const gRazorWindTornadoAffineAnimTable[] =
{
- gUnknown_08593534,
+ gRazorWindTornadoAffineAnimCmds,
};
const struct SpriteTemplate gRazorWindTornadoSpriteTemplate =
{
.tileTag = ANIM_TAG_GUST,
.paletteTag = ANIM_TAG_GUST,
- .oam = &gUnknown_085249BC,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0859354C,
- .callback = Anim_RazorWindTornado,
+ .affineAnims = gRazorWindTornadoAffineAnimTable,
+ .callback = AnimRazorWindTornado,
};
-const union AnimCmd gUnknown_08593568[] =
+const union AnimCmd gViceGripAnimCmds1[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -465,7 +471,7 @@ const union AnimCmd gUnknown_08593568[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08593578[] =
+const union AnimCmd gViceGripAnimCmds2[] =
{
ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE),
@@ -473,24 +479,24 @@ const union AnimCmd gUnknown_08593578[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593588[] =
+const union AnimCmd *const gViceGripAnimTable[] =
{
- gUnknown_08593568,
- gUnknown_08593578,
+ gViceGripAnimCmds1,
+ gViceGripAnimCmds2,
};
const struct SpriteTemplate gViceGripSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
- .oam = &gUnknown_08524A34,
- .anims = gUnknown_08593588,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
+ .anims = gViceGripAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = Anim_ViceGripPincer,
+ .callback = AnimViceGripPincer,
};
-const union AnimCmd gUnknown_085935A8[] =
+const union AnimCmd gGuillotineAnimCmds1[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(16, 2),
@@ -498,7 +504,7 @@ const union AnimCmd gUnknown_085935A8[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085935B8[] =
+const union AnimCmd gGuillotineAnimCmds2[] =
{
ANIMCMD_FRAME(0, 2, .vFlip = TRUE, .hFlip = TRUE),
ANIMCMD_FRAME(16, 2, .vFlip = TRUE, .hFlip = TRUE),
@@ -506,21 +512,21 @@ const union AnimCmd gUnknown_085935B8[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085935C8[] =
+const union AnimCmd *const gGuillotineAnimTable[] =
{
- gUnknown_085935A8,
- gUnknown_085935B8,
+ gGuillotineAnimCmds1,
+ gGuillotineAnimCmds2,
};
const struct SpriteTemplate gGuillotineSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
- .oam = &gUnknown_08524A34,
- .anims = gUnknown_085935C8,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
+ .anims = gGuillotineAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = Anim_GuillotinePincer,
+ .callback = AnimGuillotinePincer,
};
const union AffineAnimCmd gSplashEffectAffineAnimCmds[] =
@@ -539,7 +545,7 @@ const union AffineAnimCmd gGrowAndShrinkAffineAnimCmds[] =
AFFINEANIMCMD_END,
};
-const union AnimCmd gUnknown_08593628[] =
+const union AnimCmd gBreathPuffAnimCmds1[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(4, 40, .hFlip = TRUE),
@@ -548,7 +554,7 @@ const union AnimCmd gUnknown_08593628[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_0859363C[] =
+const union AnimCmd gBreathPuffAnimCmds2[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(4, 40),
@@ -557,47 +563,47 @@ const union AnimCmd gUnknown_0859363C[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593650[] =
+const union AnimCmd *const gBreathPuffAnimTable[] =
{
- gUnknown_08593628,
- gUnknown_0859363C,
+ gBreathPuffAnimCmds1,
+ gBreathPuffAnimCmds2,
};
const struct SpriteTemplate gBreathPuffSpriteTemplate =
{
.tileTag = ANIM_TAG_BREATH,
.paletteTag = ANIM_TAG_BREATH,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08593650,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gBreathPuffAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = Anim_BreathPuff,
+ .callback = AnimBreathPuff,
};
-const union AffineAnimCmd gUnknown_08593670[] =
+const union AffineAnimCmd gAngerMarkAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 8),
AFFINEANIMCMD_FRAME(0xFFF5, 0xFFF5, 0, 8),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_08593688[] =
+const union AffineAnimCmd *const gAngerMarkAffineAnimTable[] =
{
- gUnknown_08593670,
+ gAngerMarkAffineAnimCmds,
};
const struct SpriteTemplate gAngerMarkSpriteTemplate =
{
.tileTag = ANIM_TAG_ANGER,
.paletteTag = ANIM_TAG_ANGER,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593688,
- .callback = Anim_AngerMark,
+ .affineAnims = gAngerMarkAffineAnimTable,
+ .callback = AnimAngerMark,
};
-const union AffineAnimCmd gUnknown_085936A4[] =
+const union AffineAnimCmd gThrashMoveMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-10, 9, 0, 7),
AFFINEANIMCMD_FRAME(20, -20, 0, 7),
@@ -607,29 +613,29 @@ const union AffineAnimCmd gUnknown_085936A4[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gUnknown_085936D4 =
+const struct SpriteTemplate gPencilSpriteTemplate =
{
.tileTag = ANIM_TAG_PENCIL,
.paletteTag = ANIM_TAG_PENCIL,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810501C,
+ .callback = AnimPencil,
};
-const struct SpriteTemplate gUnknown_085936EC =
+const struct SpriteTemplate gSnoreZSpriteTemplate =
{
.tileTag = ANIM_TAG_SNORE_Z,
.paletteTag = ANIM_TAG_SNORE_Z,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A7938,
+ .callback = AnimSnoreZ,
};
-const union AnimCmd gUnknown_08593704[] =
+const union AnimCmd gExplosionAnimCmds[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@@ -638,23 +644,23 @@ const union AnimCmd gUnknown_08593704[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593718[] =
+const union AnimCmd *const gExplosionAnimTable[] =
{
- gUnknown_08593704,
+ gExplosionAnimCmds,
};
-//*
-const struct SpriteTemplate gBattleAnimSpriteTemplate_859371C =
+
+const struct SpriteTemplate gExplosionSpriteTemplate =
{
.tileTag = ANIM_TAG_EXPLOSION,
.paletteTag = ANIM_TAG_EXPLOSION,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593718,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gExplosionAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const union AffineAnimCmd gUnknown_08593734[] =
+const union AffineAnimCmd gSoftBoiledEggAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2),
AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 4),
@@ -662,13 +668,13 @@ const union AffineAnimCmd gUnknown_08593734[] =
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd gUnknown_08593754[] =
+const union AffineAnimCmd gSoftBoiledEggAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08593764[] =
+const union AffineAnimCmd gSoftBoiledEggAffineAnimCmds3[] =
{
AFFINEANIMCMD_FRAME(0xFFF8, 0x4, 0, 8),
AFFINEANIMCMD_LOOP(0),
@@ -680,130 +686,130 @@ const union AffineAnimCmd gUnknown_08593764[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_085937A4[] =
+const union AffineAnimCmd *const gSoftBoiledEggAffineAnimTable[] =
{
- gUnknown_08593734,
- gUnknown_08593754,
- gUnknown_08593764,
+ gSoftBoiledEggAffineAnimCmds1,
+ gSoftBoiledEggAffineAnimCmds2,
+ gSoftBoiledEggAffineAnimCmds3,
};
-//*
-const struct SpriteTemplate gUnknown_085937B0 =
+
+const struct SpriteTemplate gSoftBoiledEggSpriteTemplate =
{
.tileTag = ANIM_TAG_BREAKING_EGG,
.paletteTag = ANIM_TAG_BREAKING_EGG,
- .oam = &gUnknown_08524AF4,
+ .oam = &gOamData_AffineDouble_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085937A4,
- .callback = sub_8105538,
+ .affineAnims = gSoftBoiledEggAffineAnimTable,
+ .callback = AnimSoftBoiledEgg,
};
-const union AffineAnimCmd gUnknown_085937C8[] =
+const union AffineAnimCmd gThinRingExpandingAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 30),
AFFINEANIMCMD_END_ALT(1),
};
-const union AffineAnimCmd gUnknown_085937E0[] =
+const union AffineAnimCmd gThinRingExpandingAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 15),
AFFINEANIMCMD_END_ALT(1),
};
-const union AffineAnimCmd gUnknown_085937F8[] =
+const union AffineAnimCmd gHyperVoiceRingAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 45),
AFFINEANIMCMD_END_ALT(1),
};
-const union AffineAnimCmd *const gUnknown_08593810[] =
+const union AffineAnimCmd *const gThinRingExpandingAffineAnimTable[] =
{
- gUnknown_085937C8,
- gUnknown_085937E0,
+ gThinRingExpandingAffineAnimCmds1,
+ gThinRingExpandingAffineAnimCmds2,
};
-const union AffineAnimCmd *const gUnknown_08593818[] =
+const union AffineAnimCmd *const gHyperVoiceRingAffineAnimTable[] =
{
- gUnknown_085937F8,
+ gHyperVoiceRingAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_0859381C =
+const struct SpriteTemplate gThinRingExpandingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593810,
- .callback = sub_80A77C8,
+ .affineAnims = gThinRingExpandingAffineAnimTable,
+ .callback = AnimSpriteOnMonPos,
};
-//*
-const union AffineAnimCmd gUnknown_08593834[] =
+
+const union AffineAnimCmd gThinRingShrinkingAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 30),
AFFINEANIMCMD_END_ALT(1),
};
-const union AffineAnimCmd *const gUnknown_0859384C[] =
+const union AffineAnimCmd *const gThinRingShrinkingAffineAnimTable[] =
{
- gUnknown_08593834,
+ gThinRingShrinkingAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_08593850 =
+const struct SpriteTemplate gThinRingShrinkingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0859384C,
- .callback = sub_80A77C8,
+ .affineAnims = gThinRingShrinkingAffineAnimTable,
+ .callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gUnknown_08593868 =
+const struct SpriteTemplate gBlendThinRingExpandingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593810,
- .callback = sub_81051C4,
+ .affineAnims = gThinRingExpandingAffineAnimTable,
+ .callback = AnimBlendThinRing,
};
-const struct SpriteTemplate gUnknown_08593880 =
+const struct SpriteTemplate gHyperVoiceRingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593818,
- .callback = sub_81052A4,
+ .affineAnims = gHyperVoiceRingAffineAnimTable,
+ .callback = AnimHyperVoiceRing,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_8593898 =
+const struct SpriteTemplate gUproarRingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593810,
- .callback = sub_81054E8,
+ .affineAnims = gThinRingExpandingAffineAnimTable,
+ .callback = AnimUproarRing,
};
-const union AffineAnimCmd gUnknown_085938B0[] =
+const union AffineAnimCmd gStretchAttackerAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(96, -13, 0, 8),
AFFINEANIMCMD_END,
};
-const union AnimCmd gUnknown_085938C0[] =
+const union AnimCmd gSpeedDustAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(4, 3),
@@ -813,23 +819,23 @@ const union AnimCmd gUnknown_085938C0[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085938D8[] =
+const union AnimCmd *const gSpeedDustAnimTable[] =
{
- gUnknown_085938C0,
+ gSpeedDustAnimCmds,
};
-const struct SpriteTemplate gUnknown_085938DC =
+const struct SpriteTemplate gSpeedDustSpriteTemplate =
{
.tileTag = ANIM_TAG_SPEED_DUST,
.paletteTag = ANIM_TAG_SPEED_DUST,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_085938D8,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gSpeedDustAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8105C48,
+ .callback = AnimSpeedDust,
};
-const s8 gUnknown_085938F4[][2] =
+const s8 gSpeedDustPosTable[][2] =
{
{30, 28},
{-20, 24},
@@ -837,7 +843,7 @@ const s8 gUnknown_085938F4[][2] =
{-10, 28},
};
-const union AnimCmd gUnknown_085938FC[] =
+const union AnimCmd gBellAnimCmds[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(16, 6),
@@ -855,49 +861,49 @@ const union AnimCmd gUnknown_085938FC[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593934[] =
+const union AnimCmd *const gBellAnimTable[] =
{
- gUnknown_085938FC,
+ gBellAnimCmds,
};
-const struct SpriteTemplate gUnknown_08593938 =
+const struct SpriteTemplate gBellSpriteTemplate =
{
.tileTag = ANIM_TAG_BELL,
.paletteTag = ANIM_TAG_BELL,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gBellAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const u16 gUnknown_08593950[] =
+const u16 gMusicNotePaletteTagsTable[] =
{
ANIM_TAG_MUSIC_NOTES_2,
ANIM_SPRITES_START - 1,
ANIM_SPRITES_START - 2,
};
-const struct SpriteTemplate gUnknown_08593958 =
+const struct SpriteTemplate gHealBellMusicNoteSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES_2,
.paletteTag = ANIM_TAG_MUSIC_NOTES_2,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8105DE8,
+ .callback = AnimHealBellMusicNote,
};
const struct SpriteTemplate gMagentaHeartSpriteTemplate =
{
.tileTag = ANIM_TAG_MAGENTA_HEART,
.paletteTag = ANIM_TAG_MAGENTA_HEART,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8105E60,
+ .callback = AnimMagentaHeart,
};
const union AffineAnimCmd gUnknown_08593988[] =
@@ -907,59 +913,59 @@ const union AffineAnimCmd gUnknown_08593988[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gUnknown_085939A0 =
+const struct SpriteTemplate gRedHeartProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_HEART,
.paletteTag = ANIM_TAG_RED_HEART,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8106140,
+ .callback = AnimRedHeartProjectile,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_85939B8 =
+const struct SpriteTemplate gRedHeartBurstSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_HEART,
.paletteTag = ANIM_TAG_RED_HEART,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81061C4,
+ .callback = AnimParticuleBurst,
};
-const struct SpriteTemplate gUnknown_085939D0 =
+const struct SpriteTemplate gRedHeartRisingSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_HEART,
.paletteTag = ANIM_TAG_RED_HEART,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810624C,
+ .callback = AnimRedHeartRising,
};
-const union AffineAnimCmd gUnknown_085939E8[] =
+const union AffineAnimCmd gHiddenPowerOrbAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gUnknown_08593A00[] =
+const union AffineAnimCmd *const gHiddenPowerOrbAffineAnimTable[] =
{
- gUnknown_085939E8,
+ gHiddenPowerOrbAffineAnimCmds,
};
const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_ORB,
.paletteTag = ANIM_TAG_RED_ORB,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593A00,
+ .affineAnims = gHiddenPowerOrbAffineAnimTable,
.callback = AnimOrbitFast,
};
@@ -967,37 +973,37 @@ const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_ORB,
.paletteTag = ANIM_TAG_RED_ORB,
- .oam = &gUnknown_085249CC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593A00,
+ .affineAnims = gHiddenPowerOrbAffineAnimTable,
.callback = AnimOrbitScatter,
};
-const union AffineAnimCmd gUnknown_08593A34[] =
+const union AffineAnimCmd gSpitUpOrbAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gUnknown_08593A4C[] =
+const union AffineAnimCmd *const gSpitUpOrbAffineAnimTable[] =
{
- gUnknown_08593A34,
+ gSpitUpOrbAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_08593A50 =
+const struct SpriteTemplate gSpitUpOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_ORB_2,
.paletteTag = ANIM_TAG_RED_ORB_2,
- .oam = &gUnknown_085249C4,
+ .oam = &gOamData_AffineDouble_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593A4C,
- .callback = sub_8106944,
+ .affineAnims = gSpitUpOrbAffineAnimTable,
+ .callback = AnimSpitUpOrb,
};
-const union AnimCmd gUnknown_08593A68[] =
+const union AnimCmd gEyeSparkleAnimCmds[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(4, 4),
@@ -1007,82 +1013,82 @@ const union AnimCmd gUnknown_08593A68[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593A80[] =
+const union AnimCmd *const gEyeSparkleAnimTable[] =
{
- gUnknown_08593A68,
+ gEyeSparkleAnimCmds,
};
-const struct SpriteTemplate gUnknown_08593A84 =
+const struct SpriteTemplate gEyeSparkleSpriteTemplate =
{
.tileTag = ANIM_TAG_EYE_SPARKLE,
.paletteTag = ANIM_TAG_EYE_SPARKLE,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08593A80,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gEyeSparkleAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81069B8,
+ .callback = AnimEyeSparkle,
};
-const union AnimCmd gUnknown_08593A9C[] =
+const union AnimCmd gAngelSpriteAnimCmds[] =
{
ANIMCMD_FRAME(0, 24),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593AA4[] =
+const union AnimCmd *const gAngelSpriteAnimTable[] =
{
- gUnknown_08593A9C,
+ gAngelSpriteAnimCmds,
};
-const struct SpriteTemplate gUnknown_08593AA8 =
+const struct SpriteTemplate gAngelSpriteTemplate =
{
.tileTag = ANIM_TAG_ANGEL,
.paletteTag = ANIM_TAG_ANGEL,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593AA4,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gAngelSpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81069D0,
+ .callback = AnimAngel,
};
-const struct SpriteTemplate gUnknown_08593AC0 =
+const struct SpriteTemplate gPinkHeartSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_HEART,
.paletteTag = ANIM_TAG_PINK_HEART,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8106AD0,
+ .callback = AnimPinkHeart,
};
-const union AnimCmd gUnknown_08593AD8[] =
+const union AnimCmd gDevilAnimCmds1[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gUnknown_08593AE0[] =
+const union AnimCmd gDevilAnimCmds2[] =
{
ANIMCMD_FRAME(16, 3),
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_08593AE8[] =
+const union AnimCmd *const gDevilAnimTable[] =
{
- gUnknown_08593AD8,
- gUnknown_08593AE0,
+ gDevilAnimCmds1,
+ gDevilAnimCmds2,
};
-const struct SpriteTemplate gUnknown_08593AF0 =
+const struct SpriteTemplate gDevilSpriteTemplate =
{
.tileTag = ANIM_TAG_DEVIL,
.paletteTag = ANIM_TAG_DEVIL,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593AE8,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gDevilAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8106B54,
+ .callback = AnimDevil,
};
const union AnimCmd gUnknown_08593B08[] =
@@ -1103,24 +1109,24 @@ const union AnimCmd gUnknown_08593B1C[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593B30[] =
+const union AnimCmd *const gFurySwipesAnimTable[] =
{
gUnknown_08593B08,
gUnknown_08593B1C,
};
-const struct SpriteTemplate gUnknown_08593B38 =
+const struct SpriteTemplate gFurySwipesSpriteTemplate =
{
.tileTag = ANIM_TAG_SWIPE,
.paletteTag = ANIM_TAG_SWIPE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593B30,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gFurySwipesAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8106C80,
+ .callback = AnimFurySwipes,
};
-const union AnimCmd gUnknown_08593B50[] =
+const union AnimCmd gMovementWavesAnimCmds1[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(16, 8),
@@ -1129,7 +1135,7 @@ const union AnimCmd gUnknown_08593B50[] =
ANIMCMD_END,
};
-const union AnimCmd gUnknown_08593B64[] =
+const union AnimCmd gMovementWavesAnimCmds2[] =
{
ANIMCMD_FRAME(16, 8, .hFlip = TRUE),
ANIMCMD_FRAME(32, 8, .hFlip = TRUE),
@@ -1138,21 +1144,21 @@ const union AnimCmd gUnknown_08593B64[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_08593B78[] =
+const union AnimCmd *const gMovementWavesAnimTable[] =
{
- gUnknown_08593B50,
- gUnknown_08593B64,
+ gMovementWavesAnimCmds1,
+ gMovementWavesAnimCmds2,
};
-const struct SpriteTemplate gUnknown_08593B80 =
+const struct SpriteTemplate gMovementWavesSpriteTemplate =
{
.tileTag = ANIM_TAG_MOVEMENT_WAVES,
.paletteTag = ANIM_TAG_MOVEMENT_WAVES,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593B78,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gMovementWavesAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8106CD0,
+ .callback = AnimMovmentWaves,
};
const union AffineAnimCmd gUnknown_08593B98[] =
@@ -1163,92 +1169,92 @@ const union AffineAnimCmd gUnknown_08593B98[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_8593BB8 =
+const struct SpriteTemplate gJaggedMusicNoteSpriteTemplate =
{
.tileTag = ANIM_TAG_JAGGED_MUSIC_NOTE,
.paletteTag = ANIM_TAG_JAGGED_MUSIC_NOTE,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8106E00,
+ .callback = AnimJaggedMusicNote,
};
-const union AffineAnimCmd gUnknown_08593BD0[] =
+const union AffineAnimCmd gPerishSongMusicNoteAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 5),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08593BE0[] =
+const union AffineAnimCmd gPerishSongMusicNoteAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 16),
AFFINEANIMCMD_END_ALT(1),
};
-const union AffineAnimCmd gUnknown_08593BF0[] =
+const union AffineAnimCmd gPerishSongMusicNoteAffineAnimCmds3[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 16),
AFFINEANIMCMD_END_ALT(1),
};
-const union AffineAnimCmd *const gUnknown_08593C00[] =
+const union AffineAnimCmd *const gPerishSongMusicNoteAffineAnimTable[] =
{
- gUnknown_08593BD0,
- gUnknown_08593BE0,
- gUnknown_08593BF0,
+ gPerishSongMusicNoteAffineAnimCmds1,
+ gPerishSongMusicNoteAffineAnimCmds2,
+ gPerishSongMusicNoteAffineAnimCmds3,
};
-extern const union AnimCmd *const gUnknown_08592FCC[];
-const struct SpriteTemplate gUnknown_08593C0C =
+extern const union AnimCmd *const gMusicNotesAnimTable[];
+const struct SpriteTemplate gPerishSongMusicNoteSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES_2,
.paletteTag = ANIM_TAG_MUSIC_NOTES_2,
- .oam = &gUnknown_0852496C,
- .anims = gUnknown_08592FCC,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
+ .anims = gMusicNotesAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593C00,
- .callback = sub_8106F60,
+ .affineAnims = gPerishSongMusicNoteAffineAnimTable,
+ .callback = AnimPerishSongMusicNote,
};
-const struct SpriteTemplate gUnknown_08593C24 =
+const struct SpriteTemplate gPerishSongMusicNote2SpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES_2,
.paletteTag = ANIM_TAG_MUSIC_NOTES_2,
- .oam = &gUnknown_0852496C,
- .anims = gUnknown_08592FCC,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
+ .anims = gMusicNotesAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593C00,
- .callback = sub_8106F00,
+ .affineAnims = gPerishSongMusicNoteAffineAnimTable,
+ .callback = AnimPerishSongMusicNote2,
};
-const union AffineAnimCmd gUnknown_08593C3C[] =
+const union AffineAnimCmd gGuardRingAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_08593C4C[] =
+const union AffineAnimCmd gGuardRingAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_08593C5C[] =
+const union AffineAnimCmd *const gGuardRingAffineAnimTable[] =
{
- gUnknown_08593C3C,
- gUnknown_08593C4C,
+ gGuardRingAffineAnimCmds1,
+ gGuardRingAffineAnimCmds2,
};
-const struct SpriteTemplate gUnknown_08593C64 =
+const struct SpriteTemplate gGuardRingSpriteTemplate =
{
.tileTag = ANIM_TAG_GUARD_RING,
.paletteTag = ANIM_TAG_GUARD_RING,
- .oam = &gUnknown_08524B1C,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593C5C,
- .callback = sub_81070AC,
+ .affineAnims = gGuardRingAffineAnimTable,
+ .callback = AnimGuardRing,
};
void sub_8103448(struct Sprite *sprite)
@@ -1273,7 +1279,7 @@ void sub_8103498(struct Sprite *sprite)
else
battler = gBattleAnimTarget;
- sub_810310C(battler, sprite);
+ SetSpriteNextToMonHead(battler, sprite);
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->callback = sub_81034D8;
@@ -1450,10 +1456,10 @@ void Anim_SwordsDanceBlade(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
- StoreSpriteCallbackInData6(sprite, Anim_SwordsDanceBladeStep);
+ StoreSpriteCallbackInData6(sprite, AnimSwordsDanceBladeStep);
}
-static void Anim_SwordsDanceBladeStep(struct Sprite *sprite)
+static void AnimSwordsDanceBladeStep(struct Sprite *sprite)
{
sprite->data[0] = 6;
sprite->data[2] = sprite->pos1.x;
@@ -1502,7 +1508,7 @@ void AnimSonicBoomProjectile(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-static void sub_81039CC(struct Sprite *sprite)
+static void AnimAirWaveProjectile_Step2(struct Sprite *sprite)
{
if (sprite->data[0]-- <= 0)
{
@@ -1511,7 +1517,7 @@ static void sub_81039CC(struct Sprite *sprite)
}
}
-static void sub_8103A00(struct Sprite *sprite)
+static void AnimAirWaveProjectile_Step1(struct Sprite *sprite)
{
struct Task* task = &gTasks[sprite->data[7]];
if (sprite->data[0] > task->data[5])
@@ -1540,11 +1546,11 @@ static void sub_8103A00(struct Sprite *sprite)
if (sprite->data[0]-- <= 0)
{
sprite->data[0] = 30;
- sprite->callback = sub_81039CC;
+ sprite->callback = AnimAirWaveProjectile_Step2;
}
}
-void sub_8103AA4(struct Sprite *sprite)
+void AnimAirWaveProjectile(struct Sprite *sprite)
{
s16 a;
s16 b;
@@ -1588,23 +1594,23 @@ void sub_8103AA4(struct Sprite *sprite)
sprite->data[5] = 0;
sprite->data[3] = sub_8151534(sub_8151534(b, a), sub_8151624(0x1C0));
sprite->data[4] = sub_8151534(sub_8151534(c, a), sub_8151624(0x1C0));
- sprite->callback = sub_8103A00;
+ sprite->callback = AnimAirWaveProjectile_Step1;
}
}
-static void sub_8103BE4(u8 taskId)
+static void AirCutterProjectileStep2(u8 taskId)
{
if (gTasks[taskId].data[1] == 0)
DestroyAnimVisualTask(taskId);
}
-static void sub_8103C0C(u8 taskId)
+static void AirCutterProjectileStep1(u8 taskId)
{
if (gTasks[taskId].data[0]-- <= 0)
{
u8 spriteId;
struct Sprite *sprite;
- spriteId = CreateSprite(&gUnknown_085933B0, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]);
+ spriteId = CreateSprite(&gAirWaveProjectileSpriteTemplate, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]);
sprite = &gSprites[spriteId];
switch (gTasks[taskId].data[4])
{
@@ -1623,11 +1629,11 @@ static void sub_8103C0C(u8 taskId)
gTasks[taskId].data[1]++;
PlaySE12WithPanning(SE_W059B, BattleAnimAdjustPanning(-63));
if (gTasks[taskId].data[1] > 2)
- gTasks[taskId].func = sub_8103BE4;
+ gTasks[taskId].func = AirCutterProjectileStep2;
}
}
-void sub_8103CF0(u8 taskId)
+void AnimTask_AirCutterProjectile(u8 taskId)
{
s16 attackerY = 0;
s16 attackerX = 0;
@@ -1724,7 +1730,7 @@ void sub_8103CF0(u8 taskId)
if (gTasks[taskId].data[2] < 3)
gTasks[taskId].data[2] = 3;
- gTasks[taskId].func = sub_8103C0C;
+ gTasks[taskId].func = AirCutterProjectileStep1;
}
void sub_8103FE8(struct Sprite *sprite)
@@ -1754,7 +1760,7 @@ static void sub_8104018(struct Sprite *sprite)
}
}
-void sub_8104088(struct Sprite *sprite)
+void AnimCoinThrow(struct Sprite *sprite)
{
s16 r6;
s16 r7;
@@ -1777,14 +1783,14 @@ void sub_8104088(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_810413C(struct Sprite *sprite)
+void AnimFallingCoin(struct Sprite *sprite)
{
sprite->data[2] = -16;
sprite->pos1.y += 8;
- sprite->callback = sub_8104154;
+ sprite->callback = AnimFallingCoin_Step;
}
-static void sub_8104154(struct Sprite *sprite)
+static void AnimFallingCoin_Step(struct Sprite *sprite)
{
sprite->data[0] += 0x80;
sprite->pos2.x = sprite->data[0] >> 8;
@@ -1802,7 +1808,7 @@ static void sub_8104154(struct Sprite *sprite)
}
}
-void sub_81041C4(struct Sprite *sprite)
+void AnimBulletSeed(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 20;
@@ -1810,10 +1816,10 @@ void sub_81041C4(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
sprite->affineAnimPaused = 1;
- StoreSpriteCallbackInData6(sprite, sub_810421C);
+ StoreSpriteCallbackInData6(sprite, AnimBulletSeed_Step1);
}
-static void sub_810421C(struct Sprite *sprite)
+static void AnimBulletSeed_Step1(struct Sprite *sprite)
{
int i;
u16 rand;
@@ -1831,11 +1837,11 @@ static void sub_810421C(struct Sprite *sprite)
sprite->data[6] = 0xFFF4 - (rand & 7);
rand = Random2();
sprite->data[7] = (rand % 0xA0) + 0xA0;
- sprite->callback = sub_81042A0;
+ sprite->callback = AnimBulletSeed_Step2;
sprite->affineAnimPaused = 0;
}
-static void sub_81042A0(struct Sprite *sprite)
+static void AnimBulletSeed_Step2(struct Sprite *sprite)
{
sprite->data[0] += sprite->data[7];
sprite->pos2.x = sprite->data[0] >> 8;
@@ -1861,7 +1867,7 @@ static void sub_81042A0(struct Sprite *sprite)
// arg 4: initial wave offset
// arg 5: wave period (higher means faster wave)
// arg 6: duration
-void Anim_RazorWindTornado(struct Sprite *sprite)
+void AnimRazorWindTornado(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, FALSE);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
@@ -1879,7 +1885,7 @@ void Anim_RazorWindTornado(struct Sprite *sprite)
// Animates a single pincer line that extends towards the center of the target mon.
// arg 0: invert
-void Anim_ViceGripPincer(struct Sprite *sprite)
+void AnimViceGripPincer(struct Sprite *sprite)
{
s16 startXOffset = 32;
s16 startYOffset = -32;
@@ -1900,10 +1906,10 @@ void Anim_ViceGripPincer(struct Sprite *sprite)
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + endXOffset;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + endYOffset;
sprite->callback = StartAnimLinearTranslation;
- StoreSpriteCallbackInData6(sprite, Anim_ViceGripPincerStep);
+ StoreSpriteCallbackInData6(sprite, AnimViceGripPincerStep);
}
-static void Anim_ViceGripPincerStep(struct Sprite *sprite)
+static void AnimViceGripPincerStep(struct Sprite *sprite)
{
if (sprite->animEnded)
DestroyAnimSprite(sprite);
@@ -1911,7 +1917,7 @@ static void Anim_ViceGripPincerStep(struct Sprite *sprite)
// Animates a single pincer line that extends towards the center of the target mon, and then back out.
// arg 0: animation id
-void Anim_GuillotinePincer(struct Sprite *sprite)
+void AnimGuillotinePincer(struct Sprite *sprite)
{
s16 startXOffset = 32;
s16 startYOffset = -32;
@@ -1936,10 +1942,10 @@ void Anim_GuillotinePincer(struct Sprite *sprite)
InitAnimLinearTranslation(sprite);
sprite->data[5] = gBattleAnimArgs[0];
sprite->data[6] = sprite->data[0];
- sprite->callback = Anim_GuillotinePincerStep1;
+ sprite->callback = AnimGuillotinePincerStep1;
}
-static void Anim_GuillotinePincerStep1(struct Sprite *sprite)
+static void AnimGuillotinePincerStep1(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite) && sprite->animEnded)
{
@@ -1954,11 +1960,11 @@ static void Anim_GuillotinePincerStep1(struct Sprite *sprite)
sprite->data[2] ^= 1;
sprite->data[4] = 0;
sprite->data[3] = 0;
- sprite->callback = Anim_GuillotinePincerStep2;
+ sprite->callback = AnimGuillotinePincerStep2;
}
}
-static void Anim_GuillotinePincerStep2(struct Sprite *sprite)
+static void AnimGuillotinePincerStep2(struct Sprite *sprite)
{
if (sprite->data[3])
{
@@ -1975,11 +1981,11 @@ static void Anim_GuillotinePincerStep2(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->animPaused = 0;
StartSpriteAnim(sprite, sprite->data[5] ^ 1);
- sprite->callback = Anim_GuillotinePincerStep3;
+ sprite->callback = AnimGuillotinePincerStep3;
}
}
-static void Anim_GuillotinePincerStep3(struct Sprite *sprite)
+static void AnimGuillotinePincerStep3(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite))
DestroyAnimSprite(sprite);
@@ -2118,7 +2124,7 @@ static void CreateMinimizeSprite(struct Task* task, u8 taskId)
gSprites[spriteId].data[2] = 6;
gSprites[spriteId].callback = ClonedMinizeSprite_Step;
SetSpriteRotScale(spriteId, task->data[4], task->data[4], 0);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
}
}
@@ -2229,7 +2235,7 @@ static void AnimTask_GrowAndShrinkStep(u8 taskId)
// Animates a little puff of the mon's breath.
// Used by MOVE_SWAGGER and MOVE_BULK_UP
// No args.
-void Anim_BreathPuff(struct Sprite *sprite)
+void AnimBreathPuff(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
@@ -2257,7 +2263,7 @@ void Anim_BreathPuff(struct Sprite *sprite)
// arg 0: target mon (0 = attacker, 1 = target)
// arg 1: x pixel offset
// arg 2: y pixel offset
-void Anim_AngerMark(struct Sprite *sprite)
+void AnimAngerMark(struct Sprite *sprite)
{
u8 battler;
if (!gBattleAnimArgs[0])
@@ -2278,17 +2284,17 @@ void Anim_AngerMark(struct Sprite *sprite)
}
// left/right movements
-void sub_8104C38(u8 taskId)
+void AnimTask_ThrashMoveMonHorizontal(u8 taskId)
{
struct Task* task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[0] = spriteId;
task->data[1] = 0;
- PrepareAffineAnimInTaskData(task, spriteId, gUnknown_085936A4);
- task->func = sub_8104C78;
+ PrepareAffineAnimInTaskData(task, spriteId, gThrashMoveMonAffineAnimCmds);
+ task->func = ThrashMoveMonStep;
}
-static void sub_8104C78(u8 taskId)
+static void ThrashMoveMonStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (!RunAffineAnimFromTaskData(task))
@@ -2296,7 +2302,7 @@ static void sub_8104C78(u8 taskId)
}
// up/down movements
-void sub_8104CA4(u8 taskId)
+void AnimTask_ThrashMoveMonVertical(u8 taskId)
{
struct Task* task = &gTasks[taskId];
task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
@@ -2312,10 +2318,10 @@ void sub_8104CA4(u8 taskId)
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
task->data[2] *= -1;
- task->func = sub_8104D28;
+ task->func = ThrashMoveMon;
}
-static void sub_8104D28(u8 taskId)
+static void ThrashMoveMon(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (++task->data[7] > 2)
@@ -2404,10 +2410,10 @@ void sub_8104E74(u8 taskId)
params.initState = 1;
params.unused9 = 0;
ScanlineEffect_SetParams(params);
- task->func = sub_8104F54;
+ task->func = AnimTask_SketchDrawMon;
}
-static void sub_8104F54(u8 taskId)
+static void AnimTask_SketchDrawMon(u8 taskId)
{
struct Task* task = &gTasks[taskId];
@@ -2454,7 +2460,7 @@ static void sub_8104F54(u8 taskId)
}
}
-void sub_810501C(struct Sprite *sprite)
+void AnimPencil(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) - 16;
sprite->pos1.y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16;
@@ -2465,10 +2471,10 @@ void sub_810501C(struct Sprite *sprite)
sprite->data[4] = 0;
sprite->data[5] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) + 2;
sprite->data[6] = BattleAnimAdjustPanning(63);
- sprite->callback = sub_8105078;
+ sprite->callback = AnimPencil_Step;
}
-static void sub_8105078(struct Sprite *sprite)
+static void AnimPencil_Step(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -2527,7 +2533,7 @@ static void sub_8105078(struct Sprite *sprite)
}
}
-void sub_81051C4(struct Sprite *sprite)
+void AnimBlendThinRing(struct Sprite *sprite)
{
u8 battler = 0;
u16 sp0 = 0;
@@ -2554,7 +2560,7 @@ void sub_81051C4(struct Sprite *sprite)
gBattleAnimArgs[0] = sp0 - r4;
}
- sprite->callback = sub_80A77C8;
+ sprite->callback = AnimSpriteOnMonPos;
sprite->callback(sprite);
}
@@ -2567,7 +2573,7 @@ void sub_8105284(struct Sprite *sprite)
}
}
-void sub_81052A4(struct Sprite *sprite)
+void AnimHyperVoiceRing(struct Sprite *sprite)
{
u16 r9 = 0;
u16 r6 = 0;
@@ -2652,7 +2658,7 @@ void sub_81052A4(struct Sprite *sprite)
sprite->callback(sprite);
}
-void sub_81054E8(struct Sprite *sprite)
+void AnimUproarRing(struct Sprite *sprite)
{
u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING);
if (index != 0xFF)
@@ -2661,11 +2667,11 @@ void sub_81054E8(struct Sprite *sprite)
}
StartSpriteAffineAnim(sprite, 1);
- sprite->callback = sub_80A77C8;
+ sprite->callback = AnimSpriteOnMonPos;
sprite->callback(sprite);
}
-void sub_8105538(struct Sprite *sprite)
+void AnimSoftBoiledEgg(struct Sprite *sprite)
{
s16 r1;
InitSpritePosToAnimAttacker(sprite, FALSE);
@@ -2673,10 +2679,10 @@ void sub_8105538(struct Sprite *sprite)
sprite->data[0] = 0x380;
sprite->data[1] = r1;
sprite->data[7] = gBattleAnimArgs[2];
- sprite->callback = sub_810557C;
+ sprite->callback = AnimSoftBoiledEgg_Step1;
}
-static void sub_810557C(struct Sprite *sprite)
+static void AnimSoftBoiledEgg_Step1(struct Sprite *sprite)
{
s16 add;
sprite->pos2.y -= (sprite->data[0] >> 8);
@@ -2692,20 +2698,20 @@ static void sub_810557C(struct Sprite *sprite)
sprite->pos2.x = 0;
sprite->data[0] = 0;
StartSpriteAffineAnim(sprite, 1);
- sprite->callback = sub_81055F4;
+ sprite->callback = AnimSoftBoiledEgg_Step2;
}
}
-static void sub_81055F4(struct Sprite *sprite)
+static void AnimSoftBoiledEgg_Step2(struct Sprite *sprite)
{
if (sprite->data[0]++ > 19)
{
StartSpriteAffineAnim(sprite, 2);
- sprite->callback = sub_810561C;
+ sprite->callback = AnimSoftBoiledEgg_Step3;
}
}
-static void sub_810561C(struct Sprite *sprite)
+static void AnimSoftBoiledEgg_Step3(struct Sprite *sprite)
{
if (sprite->affineAnimEnded)
{
@@ -2714,17 +2720,17 @@ static void sub_810561C(struct Sprite *sprite)
if (sprite->data[7] == 0)
{
sprite->oam.tileNum += 16;
- sprite->callback = sub_8105694;
+ sprite->callback = AnimSoftBoiledEgg_Step3_Callback1;
}
else
{
sprite->oam.tileNum += 32;
- sprite->callback = sub_810571C;
+ sprite->callback = AnimSoftBoiledEgg_Step4;
}
}
}
-static void sub_8105694(struct Sprite *sprite)
+static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *sprite)
{
sprite->pos2.y -= 2;
if (++sprite->data[0] == 9)
@@ -2733,50 +2739,50 @@ static void sub_8105694(struct Sprite *sprite)
sprite->data[1] = 0;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND((u16)sprite->data[0], 0));
- sprite->callback = sub_81056D4;
+ sprite->callback = AnimSoftBoiledEgg_Step3_Callback2;
}
}
-static void sub_81056D4(struct Sprite *sprite)
+static void AnimSoftBoiledEgg_Step3_Callback2(struct Sprite *sprite)
{
if (sprite->data[1]++ % 3 == 0)
{
sprite->data[0]--;
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
if (sprite->data[0] == 0)
- sprite->callback = sub_810571C;
+ sprite->callback = AnimSoftBoiledEgg_Step4;
}
}
-static void sub_810571C(struct Sprite *sprite)
+static void AnimSoftBoiledEgg_Step4(struct Sprite *sprite)
{
if ((u16)gBattleAnimArgs[7] == 0xFFFF)
{
sprite->invisible = 1;
if (sprite->data[7] == 0)
- sprite->callback = sub_810575C;
+ sprite->callback = AnimSoftBoiledEgg_Step4_Callback;
else
sprite->callback = DestroyAnimSprite;
}
}
-static void sub_810575C(struct Sprite *sprite)
+static void AnimSoftBoiledEgg_Step4_Callback(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
DestroyAnimSprite(sprite);
}
-void sub_810577C(u8 taskId)
+void AnimTask_StretchAttacker(u8 taskId)
{
struct Task* task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[0] = spriteId;
- PrepareAffineAnimInTaskData(task, spriteId, gUnknown_085938B0);
- task->func = sub_81057B8;
+ PrepareAffineAnimInTaskData(task, spriteId, gStretchAttackerAffineAnimCmds);
+ task->func = StretchAttacker_Step;
}
-static void sub_81057B8(u8 taskId)
+static void StretchAttacker_Step(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (!RunAffineAnimFromTaskData(task))
@@ -2787,7 +2793,7 @@ static void sub_81057B8(u8 taskId)
}
}
-void sub_8105810(u8 taskId)
+void AnimTask_ExtremeSpeedImpact(u8 taskId)
{
struct Task* task = &gTasks[taskId];
task->data[0] = 0;
@@ -2807,10 +2813,10 @@ void sub_8105810(u8 taskId)
}
task->data[15] = GetAnimBattlerSpriteId(ANIM_TARGET);
- task->func = sub_8105878;
+ task->func = ExtremeSpeedImpact_Step;
}
-static void sub_8105878(u8 taskId)
+static void ExtremeSpeedImpact_Step(u8 taskId)
{
struct Task* task = &gTasks[taskId];
@@ -2856,7 +2862,7 @@ static void sub_8105878(u8 taskId)
}
}
-void sub_810599C(u8 taskId)
+void AnimTask_ExtremeSpeedMonReappear(u8 taskId)
{
struct Task* task = &gTasks[taskId];
task->data[0] = 0;
@@ -2867,10 +2873,10 @@ void sub_810599C(u8 taskId)
task->data[13] = 14;
task->data[14] = 2;
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- task->func = sub_81059E0;
+ task->func = ExtremeSpeedMonReappear_Step;
}
-static void sub_81059E0(u8 taskId)
+static void ExtremeSpeedMonReappear_Step(u8 taskId)
{
struct Task* task = &gTasks[taskId];
if (task->data[0] == 0 && ++task->data[1] > task->data[4])
@@ -2898,7 +2904,7 @@ static void sub_81059E0(u8 taskId)
}
}
-void sub_8105AAC(u8 taskId)
+void AnimTask_SpeedDust(u8 taskId)
{
struct Task* task = &gTasks[taskId];
task->data[0] = 0;
@@ -2913,10 +2919,10 @@ void sub_8105AAC(u8 taskId)
task->data[13] = 0;
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_ATTACKER);
task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_TARGET);
- task->func = sub_8105B08;
+ task->func = SpeedDust_Step1;
}
-static void sub_8105B08(u8 taskId)
+static void SpeedDust_Step1(u8 taskId)
{
struct Task* task = &gTasks[taskId];
switch (task->data[8])
@@ -2958,13 +2964,13 @@ static void sub_8105B08(u8 taskId)
{
u8 spriteId;
task->data[1] = 0;
- spriteId = CreateSprite(&gUnknown_085938DC, task->data[14], task->data[15], 0);
+ spriteId = CreateSprite(&gSpeedDustSpriteTemplate, task->data[14], task->data[15], 0);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 13;
- gSprites[spriteId].pos2.x = gUnknown_085938F4[task->data[2]][0];
- gSprites[spriteId].pos2.y = gUnknown_085938F4[task->data[2]][1];
+ gSprites[spriteId].pos2.x = gSpeedDustPosTable[task->data[2]][0];
+ gSprites[spriteId].pos2.y = gSpeedDustPosTable[task->data[2]][1];
task->data[13]++;
if (++task->data[2] > 3)
{
@@ -2982,7 +2988,7 @@ static void sub_8105B08(u8 taskId)
}
}
-void sub_8105C48(struct Sprite *sprite)
+void AnimSpeedDust(struct Sprite *sprite)
{
sprite->invisible = gTasks[sprite->data[0]].data[5];
if (sprite->animEnded)
@@ -3014,21 +3020,21 @@ void sub_8105D60(u8 taskId)
{
int i;
for (i = 0; i < 3; i++)
- FreeSpritePaletteByTag(gUnknown_08593950[i]);
+ FreeSpritePaletteByTag(gMusicNotePaletteTagsTable[i]);
DestroyAnimVisualTask(taskId);
}
-static void sub_8105D88(struct Sprite *sprite, u8 a, u8 b)
+static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b)
{
u8 tile;
tile = (b & 1);
tile = ((-tile | tile) >> 31) & 32;
sprite->oam.tileNum += tile + (a << 2);
- sprite->oam.paletteNum = IndexOfSpritePaletteTag(gUnknown_08593950[b >> 1]);
+ sprite->oam.paletteNum = IndexOfSpritePaletteTag(gMusicNotePaletteTagsTable[b >> 1]);
}
-void sub_8105DE8(struct Sprite *sprite)
+void AnimHealBellMusicNote(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, FALSE);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -3039,10 +3045,10 @@ void sub_8105DE8(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sub_8105D88(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]);
+ SetMusicNotePalette(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]);
}
-void sub_8105E60(struct Sprite *sprite)
+void AnimMagentaHeart(struct Sprite *sprite)
{
if (++sprite->data[0] == 1)
InitSpritePosToAnimAttacker(sprite, FALSE);
@@ -3055,7 +3061,7 @@ void sub_8105E60(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_8105EB0(u8 taskId)
+void AnimTask_FakeOut(u8 taskId)
{
u16 win0h = IsContest() ? 0x98 : 0xF0;
u16 win0v = 0;
@@ -3070,17 +3076,17 @@ void sub_8105EB0(u8 taskId)
SetGpuReg(REG_OFFSET_BLDY, 0x10);
gTasks[taskId].data[0] = win0v;
gTasks[taskId].data[1] = win0h;
- gTasks[taskId].func = sub_8105F30;
+ gTasks[taskId].func = FakeOutStep1;
}
-static void sub_8105F30(u8 taskId)
+static void FakeOutStep1(u8 taskId)
{
gTasks[taskId].data[0] += 13;
gTasks[taskId].data[1] -= 13;
if (gTasks[taskId].data[0] >= gTasks[taskId].data[1])
{
gBattle_WIN0H = 0;
- gTasks[taskId].func = sub_8105F84;
+ gTasks[taskId].func = FakeOutStep2;
}
else
{
@@ -3088,7 +3094,7 @@ static void sub_8105F30(u8 taskId)
}
}
-static void sub_8105F84(u8 taskId)
+static void FakeOutStep2(u8 taskId)
{
if (++gTasks[taskId].data[10] == 5)
{
@@ -3148,7 +3154,7 @@ void sub_81060B0(u8 taskId)
}
}
-void sub_8106140(struct Sprite *sprite)
+void AnimRedHeartProjectile(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 95;
@@ -3157,10 +3163,10 @@ void sub_8106140(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
InitAnimLinearTranslation(sprite);
- sprite->callback = sub_810618C;
+ sprite->callback = AnimRedHeartProjectile_Step;
}
-static void sub_810618C(struct Sprite *sprite)
+static void AnimRedHeartProjectile_Step(struct Sprite *sprite)
{
if (!AnimTranslateLinear(sprite))
{
@@ -3173,7 +3179,7 @@ static void sub_810618C(struct Sprite *sprite)
}
}
-void sub_81061C4(struct Sprite *sprite)
+void AnimParticuleBurst(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -3195,17 +3201,17 @@ void sub_81061C4(struct Sprite *sprite)
}
}
-void sub_810624C(struct Sprite *sprite)
+void AnimRedHeartRising(struct Sprite *sprite)
{
sprite->pos1.x = gBattleAnimArgs[0];
sprite->pos1.y = 160;
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[1];
sprite->callback = WaitAnimForDuration;
- StoreSpriteCallbackInData6(sprite, sub_810627C);
+ StoreSpriteCallbackInData6(sprite, AnimRedHeartRising_Step);
}
-static void sub_810627C(struct Sprite *sprite)
+static void AnimRedHeartRising_Step(struct Sprite *sprite)
{
s16 y;
sprite->data[2] += sprite->data[1];
@@ -3240,10 +3246,10 @@ void AnimTask_HeartsBackground(u8 taskId)
AnimLoadCompressedBgGfx(animBg.bgId, &gUnknown_08C232E0, animBg.tilesOffset);
sub_80A6D60(&animBg, &gUnknown_08C23D78, 0);
LoadCompressedPalette(&gUnknown_08C23D50, animBg.paletteId * 16, 32);
- gTasks[taskId].func = sub_81063A8;
+ gTasks[taskId].func = HeartsBackground_Step;
}
-static void sub_81063A8(u8 taskId)
+static void HeartsBackground_Step(u8 taskId)
{
struct BattleAnimBgData animBg;
@@ -3299,7 +3305,7 @@ static void sub_81063A8(u8 taskId)
}
}
-void sub_81064F8(u8 taskId)
+void AnimTask_ScaryFace(u8 taskId)
{
struct BattleAnimBgData animBg;
@@ -3324,10 +3330,10 @@ void sub_81064F8(u8 taskId)
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C249F8, animBg.tilesOffset);
LoadCompressedPalette(gUnknown_08C249D0, animBg.paletteId * 16, 32);
- gTasks[taskId].func = sub_81065EC;
+ gTasks[taskId].func = ScaryFace_Step;
}
-static void sub_81065EC(u8 taskId)
+static void ScaryFace_Step(u8 taskId)
{
struct BattleAnimBgData animBg;
@@ -3456,7 +3462,7 @@ static void AnimOrbitScatterStep(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-static void sub_8106914(struct Sprite *sprite)
+static void AnimSpitUpOrb_Step(struct Sprite *sprite)
{
sprite->pos2.x += sprite->data[0];
sprite->pos2.y += sprite->data[1];
@@ -3464,14 +3470,14 @@ static void sub_8106914(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_8106944(struct Sprite *sprite)
+void AnimSpitUpOrb(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
sprite->data[2] = gBattleAnimArgs[1];
- sprite->callback = sub_8106914;
+ sprite->callback = AnimSpitUpOrb_Step;
}
static void sub_810699C(struct Sprite *sprite)
@@ -3480,13 +3486,13 @@ static void sub_810699C(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_81069B8(struct Sprite *sprite)
+void AnimEyeSparkle(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->callback = sub_810699C;
}
-void sub_81069D0(struct Sprite *sprite)
+void AnimAngel(struct Sprite *sprite)
{
s16 var0;
if (!sprite->data[0])
@@ -3524,7 +3530,7 @@ static void sub_8106A64(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_8106AD0(struct Sprite *sprite)
+void AnimPinkHeart(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -3550,7 +3556,7 @@ void sub_8106AD0(struct Sprite *sprite)
}
}
-void sub_8106B54(struct Sprite *sprite)
+void AnimDevil(struct Sprite *sprite)
{
if (sprite->data[3] == 0)
{
@@ -3579,7 +3585,7 @@ void sub_8106B54(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_8106C80(struct Sprite *sprite)
+void AnimFurySwipes(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
@@ -3594,7 +3600,7 @@ void sub_8106C80(struct Sprite *sprite)
}
}
-void sub_8106CD0(struct Sprite *sprite)
+void AnimMovmentWaves(struct Sprite *sprite)
{
if (!gBattleAnimArgs[2])
{
@@ -3621,11 +3627,11 @@ void sub_8106CD0(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[1];
StartSpriteAnim(sprite, sprite->data[1]);
- sprite->callback = sub_8106D5C;
+ sprite->callback = AnimMovmentWaves_Step;
}
}
-static void sub_8106D5C(struct Sprite *sprite)
+static void AnimMovmentWaves_Step(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -3636,21 +3642,21 @@ static void sub_8106D5C(struct Sprite *sprite)
}
}
-void sub_8106D90(u8 taskId)
+void AnimTask_UproarDistortion(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
PrepareAffineAnimInTaskData(&gTasks[taskId], spriteId, gUnknown_08593B98);
- gTasks[taskId].func = sub_8106DD4;
+ gTasks[taskId].func = UproarDistortion_Step;
}
-static void sub_8106DD4(u8 taskId)
+static void UproarDistortion_Step(u8 taskId)
{
if (!RunAffineAnimFromTaskData(&gTasks[taskId]))
DestroyAnimVisualTask(taskId);
}
-void sub_8106E00(struct Sprite *sprite)
+void AnimJaggedMusicNote(struct Sprite *sprite)
{
int var1;
u8 battler = !gBattleAnimArgs[0] ? gBattleAnimAttacker : gBattleAnimTarget;
@@ -3675,10 +3681,10 @@ void sub_8106E00(struct Sprite *sprite)
sprite->data[4] = var1 >> 3;
sprite->oam.tileNum += gBattleAnimArgs[3] * 16;
- sprite->callback = sub_8106EC8;
+ sprite->callback = AnimJaggedMusicNote_Step;
}
-static void sub_8106EC8(struct Sprite *sprite)
+static void AnimJaggedMusicNote_Step(struct Sprite *sprite)
{
sprite->data[1] += sprite->data[3];
sprite->data[2] += sprite->data[4];
@@ -3688,7 +3694,7 @@ static void sub_8106EC8(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_8106F00(struct Sprite *sprite)
+void AnimPerishSongMusicNote2(struct Sprite *sprite)
{
if (!sprite->data[0])
{
@@ -3703,7 +3709,7 @@ void sub_8106F00(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_8106F60(struct Sprite *sprite)
+void AnimPerishSongMusicNote(struct Sprite *sprite)
{
int index;
int var2;
@@ -3733,7 +3739,7 @@ void sub_8106F60(struct Sprite *sprite)
if (sprite->data[0] > sprite->data[5])
{
- sprite->callback = sub_8107018;
+ sprite->callback = AnimPerishSongMusicNote_Step1;
sprite->data[0] = 0;
SetSpritePrimaryCoordsFromSecondaryCoords(sprite);
@@ -3745,16 +3751,16 @@ void sub_8106F60(struct Sprite *sprite)
}
}
-static void sub_8107018(struct Sprite *sprite)
+static void AnimPerishSongMusicNote_Step1(struct Sprite *sprite)
{
if (++sprite->data[0] > 10)
{
sprite->data[0] = 0;
- sprite->callback = sub_810703C;
+ sprite->callback = AnimPerishSongMusicNote_Step2;
}
}
-static void sub_810703C(struct Sprite *sprite)
+static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite)
{
sprite->data[3] += sprite->data[2];
sprite->pos2.y = sprite->data[3];
@@ -3780,7 +3786,7 @@ static void sub_810703C(struct Sprite *sprite)
}
}
-void sub_81070AC(struct Sprite *sprite)
+void AnimGuardRing(struct Sprite *sprite)
{
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
{
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index 79b728e61..1778ce881 100755
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_anim.h"
#include "bg.h"
@@ -24,26 +24,26 @@
#include "constants/species.h"
#include "constants/weather.h"
-extern const struct SpriteTemplate gUnknown_08593114;
-
-void sub_815A0D4(struct Sprite *);
-void sub_815A1B0(struct Sprite *);
-void sub_815A254(struct Sprite *);
-void sub_815A2F0(struct Sprite *);
-void sub_815A6C4(struct Sprite *);
-void sub_815A7B0(struct Sprite *);
-void sub_815A7EC(struct Sprite *);
-void sub_815A8AC(struct Sprite *);
-void sub_815A934(struct Sprite *);
-void sub_815AAA4(struct Sprite *);
-void sub_815ABD0(struct Sprite *);
-void sub_815ACD0(struct Sprite *);
-void sub_815B27C(struct Sprite *);
-void sub_815B394(struct Sprite *);
-void sub_815B49C(struct Sprite *);
+extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate;
+
+void AnimBlackSmoke(struct Sprite *);
+void AnimWhiteHalo(struct Sprite *);
+void AnimTealAlert(struct Sprite *);
+void AnimMeanLookEye(struct Sprite *);
+void AnimSpikes(struct Sprite *);
+void AnimLeer(struct Sprite *);
+void AnimLetterZ(struct Sprite *);
+void AnimFang(struct Sprite *);
+void AnimSpotlight(struct Sprite *);
+void AnimClappingHand(struct Sprite *);
+void AnimClappingHand2(struct Sprite *);
+void AnimRapidSpin(struct Sprite *);
+void AnimTriAttackTriangle(struct Sprite *);
+void AnimBatonPassPokeball(struct Sprite *);
+void AnimWishStar(struct Sprite *);
void AnimMiniTwinklingStar(struct Sprite *);
-void sub_815B70C(struct Sprite *);
-void sub_815BE04(struct Sprite *);
+void AnimSwallowBlueOrb(struct Sprite *);
+void AnimGreenStar(struct Sprite *);
void AnimWeakFrustrationAngerMark(struct Sprite *);
void AnimSweetScentPetal(struct Sprite *);
void AnimPainSplitProjectile(struct Sprite *);
@@ -52,7 +52,7 @@ void AnimFlatterSpotlight(struct Sprite *);
void AnimReversalOrb(struct Sprite *);
void AnimYawnCloud(struct Sprite *);
void AnimSmokeBallEscapeCloud(struct Sprite *);
-void sub_815DEBC(struct Sprite *);
+void AnimFacadeSweatDrop(struct Sprite *);
void AnimRoarNoiseLine(struct Sprite *);
void AnimGlareEyeDot(struct Sprite *);
void AnimAssistPawprint(struct Sprite *);
@@ -63,32 +63,32 @@ void AnimForesightMagnifyingGlass(struct Sprite *);
void AnimMeteorMashStar(struct Sprite *);
void AnimBlockX(struct Sprite *);
void sub_815FE80(struct Sprite *);
-void sub_81061C4(struct Sprite *);
+void AnimParticuleBurst(struct Sprite *);
void AnimKnockOffStrike(struct Sprite *);
void AnimRecycle(struct Sprite *);
-static void sub_815A114(struct Sprite *);
-static void sub_815A1F4(struct Sprite *);
-static void sub_815A234(struct Sprite *);
-static void sub_815A31C(struct Sprite *);
-static void sub_815A3AC(struct Sprite *);
-static void sub_815A3F0(struct Sprite *);
-static void sub_815A49C(struct Sprite *);
-static void sub_815A52C(u8);
-static void sub_815A5F0(u8);
-static void sub_815A73C(struct Sprite *);
-static void sub_815A76C(struct Sprite *);
-static void sub_815A9A0(struct Sprite *);
-static void sub_815AA6C(struct Sprite *);
-static void sub_815AB5C(struct Sprite *);
-static void sub_815AD4C(struct Sprite *);
-static void sub_815AED8(u8);
-static void sub_815B054(u8);
-static void sub_815B23C(struct Sprite *);
-static void sub_815B4D4(struct Sprite *);
-static void sub_815B5D0(struct Sprite *);
-static void sub_815BF44(struct Sprite *);
-static void sub_815BFF4(struct Sprite *);
-static void sub_815C050(struct Sprite *);
+static void AnimBlackSmokeStep(struct Sprite *);
+static void AnimWhiteHalo_Step1(struct Sprite *);
+static void AnimWhiteHalo_Step2(struct Sprite *);
+static void AnimMeanLookEye_Step1(struct Sprite *);
+static void AnimMeanLookEye_Step2(struct Sprite *);
+static void AnimMeanLookEye_Step3(struct Sprite *);
+static void AnimMeanLookEye_Step4(struct Sprite *);
+static void SetPsychicBackground_Step(u8);
+static void FadeScreenToWhite_Step(u8);
+static void AnimSpikes_Step1(struct Sprite *);
+static void AnimSpikes_Step2(struct Sprite *);
+static void AnimSpotlight_Step1(struct Sprite *);
+static void AnimSpotlight_Step2(struct Sprite *);
+static void AnimClappingHand_Step(struct Sprite *);
+static void AnimRapidSpin_Step(struct Sprite *);
+static void RapinSpinMonElevation_Step(u8);
+static void TormentAttacker_Step(u8);
+static void TormentAttacker_Callback(struct Sprite *);
+static void AnimWishStar_Step(struct Sprite *);
+static void AnimMiniTwinklingStar_Step(struct Sprite *);
+static void AnimGreenStar_Step1(struct Sprite *);
+static void AnimGreenStar_Step2(struct Sprite *);
+static void AnimGreenStar_Callback(struct Sprite *);
static void AnimTask_RockMonBackAndForthStep(u8);
static void AnimSweetScentPetalStep(struct Sprite *);
static void AnimTask_FlailMovementStep(u8);
@@ -107,7 +107,7 @@ static void AnimRoarNoiseLineStep(struct Sprite *);
static void AnimTask_GlareEyeDotsStep(u8);
static void GetGlareEyeDotCoords(s16, s16, s16, s16, u8, u8, s16 *, s16 *);
static void AnimTask_BarrageBallStep(u8);
-static void sub_815E784(struct Sprite *);
+static void AnimSmellingSaltsHand_Step(struct Sprite *);
static void AnimTask_SmellingSaltsSquishStep(u8);
static void AnimSmellingSaltExclamationStep(struct Sprite *);
static void AnimHelpingHandClapStep(struct Sprite *);
@@ -121,7 +121,7 @@ static void AnimTask_TeeterDanceMovementStep(u8);
static void AnimRecycleStep(struct Sprite *);
static void AnimTask_SlackOffSquishStep(u8);
-const union AnimCmd gUnknown_085CE004[] =
+const union AnimCmd gScratchAnimCmds[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -131,45 +131,45 @@ const union AnimCmd gUnknown_085CE004[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE01C[] =
+const union AnimCmd *const gScratchAnimTable[] =
{
- gUnknown_085CE004,
+ gScratchAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE020 =
+const struct SpriteTemplate gScratchSpriteTemplate =
{
.tileTag = ANIM_TAG_SCRATCH,
.paletteTag = ANIM_TAG_SCRATCH,
- .oam = &gUnknown_08524A34,
- .anims = gUnknown_085CE01C,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
+ .anims = gScratchAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gUnknown_085CE038 =
+const struct SpriteTemplate gBlackSmokeSpriteTemplate =
{
.tileTag = ANIM_TAG_BLACK_SMOKE,
.paletteTag = ANIM_TAG_BLACK_SMOKE,
- .oam = &gUnknown_08524934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815A0D4,
+ .callback = AnimBlackSmoke,
};
-const struct SpriteTemplate gUnknown_085CE050 =
+const struct SpriteTemplate gBlackBallSpriteTemplate =
{
.tileTag = ANIM_TAG_BLACK_BALL,
.paletteTag = ANIM_TAG_BLACK_BALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A78AC,
+ .callback = AnimThrowProjectile,
};
-const union AnimCmd gUnknown_085CE068[] =
+const union AnimCmd gOpeningEyeAnimCmds[] =
{
ANIMCMD_FRAME(0, 40),
ANIMCMD_FRAME(16, 8),
@@ -177,45 +177,45 @@ const union AnimCmd gUnknown_085CE068[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE078[] =
+const union AnimCmd *const gOpeningEyeAnimTable[] =
{
- gUnknown_085CE068,
+ gOpeningEyeAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE07C =
+const struct SpriteTemplate gOpeningEyeSpriteTemplate =
{
.tileTag = ANIM_TAG_OPENING_EYE,
.paletteTag = ANIM_TAG_OPENING_EYE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085CE078,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gOpeningEyeAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gUnknown_085CE094 =
+const struct SpriteTemplate gWhiteHaloSpriteTemplate =
{
.tileTag = ANIM_TAG_ROUND_WHITE_HALO,
.paletteTag = ANIM_TAG_ROUND_WHITE_HALO,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815A1B0,
+ .callback = AnimWhiteHalo,
};
-const struct SpriteTemplate gUnknown_085CE0AC =
+const struct SpriteTemplate gTealAlertSpriteTemplate =
{
.tileTag = ANIM_TAG_TEAL_ALERT,
.paletteTag = ANIM_TAG_TEAL_ALERT,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815A254,
+ .callback = AnimTealAlert,
};
-const union AffineAnimCmd gUnknown_085CE0C4[] =
+const union AffineAnimCmd gMeanLookEyeAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
AFFINEANIMCMD_FRAME(-0x20, 0x18, 0, 5),
@@ -223,42 +223,42 @@ const union AffineAnimCmd gUnknown_085CE0C4[] =
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd gUnknown_085CE0E4[] =
+const union AffineAnimCmd gMeanLookEyeAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x30, 0x30, 0, 0),
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 6),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_085CE0FC[] =
+const union AffineAnimCmd *const gMeanLookEyeAffineAnimTable[] =
{
- gUnknown_085CE0C4,
- gUnknown_085CE0E4,
+ gMeanLookEyeAffineAnimCmds1,
+ gMeanLookEyeAffineAnimCmds2,
};
-const struct SpriteTemplate gUnknown_085CE104 =
+const struct SpriteTemplate gMeanLookEyeSpriteTemplate =
{
.tileTag = ANIM_TAG_EYE,
.paletteTag = ANIM_TAG_EYE,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085CE0FC,
- .callback = sub_815A2F0,
+ .affineAnims = gMeanLookEyeAffineAnimTable,
+ .callback = AnimMeanLookEye,
};
-const struct SpriteTemplate gUnknown_085CE11C =
+const struct SpriteTemplate gSpikesSpriteTemplate =
{
.tileTag = ANIM_TAG_SPIKES,
.paletteTag = ANIM_TAG_SPIKES,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815A6C4,
+ .callback = AnimSpikes,
};
-const union AnimCmd gUnknown_085CE134[] =
+const union AnimCmd gLeerAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -268,57 +268,57 @@ const union AnimCmd gUnknown_085CE134[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE14C[] =
+const union AnimCmd *const gLeerAnimTable[] =
{
- gUnknown_085CE134,
+ gLeerAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE150 =
+const struct SpriteTemplate gLeerSpriteTemplate =
{
.tileTag = ANIM_TAG_LEER,
.paletteTag = ANIM_TAG_LEER,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085CE14C,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gLeerAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815A7B0,
+ .callback = AnimLeer,
};
-const union AnimCmd gUnknown_085CE168[] =
+const union AnimCmd gLetterZAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE170[] =
+const union AnimCmd *const gLetterZAnimTable[] =
{
- gUnknown_085CE168,
+ gLetterZAnimCmds,
};
-const union AffineAnimCmd gUnknown_085CE174[] =
+const union AffineAnimCmd gLetterZAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-7, -7, -3, 16),
AFFINEANIMCMD_FRAME(7, 7, 3, 16),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_085CE18C[] =
+const union AffineAnimCmd *const gLetterZAffineAnimTable[] =
{
- gUnknown_085CE174,
+ gLetterZAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE190 =
+const struct SpriteTemplate gLetterZSpriteTemplate =
{
.tileTag = ANIM_TAG_LETTER_Z,
.paletteTag = ANIM_TAG_LETTER_Z,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085CE170,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
+ .anims = gLetterZAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085CE18C,
- .callback = sub_815A7EC,
+ .affineAnims = gLetterZAffineAnimTable,
+ .callback = AnimLetterZ,
};
-const union AnimCmd gUnknown_085CE1A8[] =
+const union AnimCmd gFangAnimCmds[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(16, 16),
@@ -327,88 +327,88 @@ const union AnimCmd gUnknown_085CE1A8[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE1BC[] =
+const union AnimCmd *const gFangAnimTable[] =
{
- gUnknown_085CE1A8,
+ gFangAnimCmds,
};
-const union AffineAnimCmd gUnknown_085CE1C0[] =
+const union AffineAnimCmd gFangAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_FRAME(-0x20, -0x20, 0, 8),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_085CE1D8[] =
+const union AffineAnimCmd *const gFangAffineAnimTable[] =
{
- gUnknown_085CE1C0,
+ gFangAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE1DC =
+const struct SpriteTemplate gFangSpriteTemplate =
{
.tileTag = ANIM_TAG_FANG_ATTACK,
.paletteTag = ANIM_TAG_FANG_ATTACK,
- .oam = &gUnknown_085249D4,
- .anims = gUnknown_085CE1BC,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
+ .anims = gFangAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085CE1D8,
- .callback = sub_815A8AC,
+ .affineAnims = gFangAffineAnimTable,
+ .callback = AnimFang,
};
-const union AffineAnimCmd gUnknown_085CE1F4[] =
+const union AffineAnimCmd gSpotlightAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x180, 0, 0),
AFFINEANIMCMD_FRAME(0x10, 0x0, 0, 20),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_085CE20C[] =
+const union AffineAnimCmd gSpotlightAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x140, 0x180, 0, 0),
AFFINEANIMCMD_FRAME(-0x10, 0x0, 0, 19),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gUnknown_085CE224[] =
+const union AffineAnimCmd *const gSpotlightAffineAnimTable[] =
{
- gUnknown_085CE1F4,
- gUnknown_085CE20C,
+ gSpotlightAffineAnimCmds1,
+ gSpotlightAffineAnimCmds2,
};
-const struct SpriteTemplate gUnknown_085CE22C =
+const struct SpriteTemplate gSpotlightSpriteTemplate =
{
.tileTag = ANIM_TAG_SPOTLIGHT,
.paletteTag = ANIM_TAG_SPOTLIGHT,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085CE224,
- .callback = sub_815A934,
+ .affineAnims = gSpotlightAffineAnimTable,
+ .callback = AnimSpotlight,
};
-const struct SpriteTemplate gUnknown_085CE244 =
+const struct SpriteTemplate gClappingHandSpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815AAA4,
+ .callback = AnimClappingHand,
};
-const struct SpriteTemplate gUnknown_085CE25C =
+const struct SpriteTemplate gClappingHand2SpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815ABD0,
+ .callback = AnimClappingHand2,
};
-const union AnimCmd gUnknown_085CE274[] =
+const union AnimCmd gRapidSpinAnimCmds[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(8, 2),
@@ -416,20 +416,20 @@ const union AnimCmd gUnknown_085CE274[] =
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gUnknown_085CE284[] =
+const union AnimCmd *const gRapidSpinAnimTable[] =
{
- gUnknown_085CE274,
+ gRapidSpinAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE288 =
+const struct SpriteTemplate gRapidSpinSpriteTemplate =
{
.tileTag = ANIM_TAG_RAPID_SPIN,
.paletteTag = ANIM_TAG_RAPID_SPIN,
- .oam = &gUnknown_08524934,
- .anims = gUnknown_085CE284,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
+ .anims = gRapidSpinAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815ACD0,
+ .callback = AnimRapidSpin,
};
const union AffineAnimCmd gUnknown_085CE2A0[] =
@@ -440,18 +440,18 @@ const union AffineAnimCmd gUnknown_085CE2A0[] =
AFFINEANIMCMD_END,
};
-const union AnimCmd gUnknown_085CE2C0[] =
+const union AnimCmd gTriAttackTriangleAnimCmds[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE2C8[] =
+const union AnimCmd *const gTriAttackTriangleAnimTable[] =
{
- gUnknown_085CE2C0,
+ gTriAttackTriangleAnimCmds,
};
-const union AffineAnimCmd gUnknown_085CE2CC[] =
+const union AffineAnimCmd gTriAttackTriangleAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 0, 5, 40),
AFFINEANIMCMD_FRAME(0, 0, 10, 10),
@@ -460,23 +460,23 @@ const union AffineAnimCmd gUnknown_085CE2CC[] =
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gUnknown_085CE2F4[] =
+const union AffineAnimCmd *const gTriAttackTriangleAffineAnimTable[] =
{
- gUnknown_085CE2CC,
+ gTriAttackTriangleAffineAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE2F8 =
+const struct SpriteTemplate gTriAttackTriangleSpriteTemplate =
{
- .tileTag = ANIM_TAG_TRI_FORCE_TRIANGLE,
- .paletteTag = ANIM_TAG_TRI_FORCE_TRIANGLE,
- .oam = &gUnknown_085249DC,
- .anims = gUnknown_085CE2C8,
+ .tileTag = ANIM_TAG_TRI_ATTACK_TRIANGLE,
+ .paletteTag = ANIM_TAG_TRI_ATTACK_TRIANGLE,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
+ .anims = gTriAttackTriangleAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085CE2F4,
- .callback = sub_815B27C,
+ .affineAnims = gTriAttackTriangleAffineAnimTable,
+ .callback = AnimTriAttackTriangle,
};
-const union AnimCmd gUnknown_085CE310[] =
+const union AnimCmd gEclipsingOrbAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -489,23 +489,23 @@ const union AnimCmd gUnknown_085CE310[] =
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE334[] =
+const union AnimCmd *const gEclipsingOrbAnimTable[] =
{
- gUnknown_085CE310,
+ gEclipsingOrbAnimCmds,
};
-const struct SpriteTemplate gUnknown_085CE338 =
+const struct SpriteTemplate gEclipsingOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ECLIPSING_ORB,
.paletteTag = ANIM_TAG_ECLIPSING_ORB,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085CE334,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
+ .anims = gEclipsingOrbAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
-const union AffineAnimCmd gUnknown_085CE350[] =
+const union AffineAnimCmd DefenseCurlDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-12, 20, 0, 8),
AFFINEANIMCMD_FRAME(12, -20, 0, 8),
@@ -513,40 +513,40 @@ const union AffineAnimCmd gUnknown_085CE350[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gUnknown_085CE370 =
+const struct SpriteTemplate gBatonPassPokeballSpriteTemplate =
{
.tileTag = ANIM_TAG_POKEBALL,
.paletteTag = ANIM_TAG_POKEBALL,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815B394,
+ .callback = AnimBatonPassPokeball,
};
-const struct SpriteTemplate gUnknown_085CE388 =
+const struct SpriteTemplate gWishStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815B49C,
+ .callback = AnimWishStar,
};
const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = AnimMiniTwinklingStar,
};
-const union AffineAnimCmd gUnknown_085CE3B8[] =
+const union AffineAnimCmd gStockpileDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(8, -8, 0, 12),
AFFINEANIMCMD_FRAME(-16, 16, 0, 12),
@@ -555,7 +555,7 @@ const union AffineAnimCmd gUnknown_085CE3B8[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gUnknown_085CE3E0[] =
+const union AffineAnimCmd gSpitUpDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 6, 0, 20),
AFFINEANIMCMD_FRAME(0, 0, 0, 20),
@@ -566,18 +566,18 @@ const union AffineAnimCmd gUnknown_085CE3E0[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gUnknown_085CE418 =
+const struct SpriteTemplate gSwallowBlueOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_ORB,
.paletteTag = ANIM_TAG_BLUE_ORB,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815B70C,
+ .callback = AnimSwallowBlueOrb,
};
-const union AffineAnimCmd gUnknown_085CE430[] =
+const union AffineAnimCmd gSwallowDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 6, 0, 20),
AFFINEANIMCMD_FRAME(0, 0, 0, 20),
@@ -587,7 +587,7 @@ const union AffineAnimCmd gUnknown_085CE430[] =
AFFINEANIMCMD_END,
};
-const s8 gUnknown_085CE460[] =
+const s8 gMorningSunLightBeamCoordsTable[] =
{
0xE8,
0x18,
@@ -595,44 +595,44 @@ const s8 gUnknown_085CE460[] =
0x00,
};
-const union AnimCmd gUnknown_085CE464[] =
+const union AnimCmd gGreenStarAnimCmds1[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(4, 6),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gUnknown_085CE470[] =
+const union AnimCmd gGreenStarAnimCmds2[] =
{
ANIMCMD_FRAME(8, 6),
ANIMCMD_END,
};
-const union AnimCmd gUnknown_085CE478[] =
+const union AnimCmd gGreenStarAnimCmds3[] =
{
ANIMCMD_FRAME(12, 6),
ANIMCMD_END,
};
-const union AnimCmd *const gUnknown_085CE480[] =
+const union AnimCmd *const gGreenStarAnimTable[] =
{
- gUnknown_085CE464,
- gUnknown_085CE470,
- gUnknown_085CE478,
+ gGreenStarAnimCmds1,
+ gGreenStarAnimCmds2,
+ gGreenStarAnimCmds3,
};
-const struct SpriteTemplate gUnknown_085CE48C =
+const struct SpriteTemplate gGreenStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_STAR,
.paletteTag = ANIM_TAG_GREEN_STAR,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_085CE480,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
+ .anims = gGreenStarAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815BE04,
+ .callback = AnimGreenStar,
};
-const s8 gUnknown_085CE4A4[] =
+const s8 gDoomDesireLightBeamCoordTable[] =
{
0x78,
0x50,
@@ -640,7 +640,7 @@ const s8 gUnknown_085CE4A4[] =
0x00,
};
-const u8 gUnknown_085CE4A8[] =
+const u8 gDoomDesireLightBeamDelayTable[] =
{
0,
0,
@@ -661,7 +661,7 @@ const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate =
{
.tileTag = ANIM_TAG_ANGER,
.paletteTag = ANIM_TAG_ANGER,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -711,7 +711,7 @@ const struct SpriteTemplate gSweetScentPetalSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_PETAL,
.paletteTag = ANIM_TAG_PINK_PETAL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gSweetScentPetalAnimCmdTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -737,7 +737,7 @@ const struct SpriteTemplate gPainSplitProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_PAIN_SPLIT,
.paletteTag = ANIM_TAG_PAIN_SPLIT,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gPainSplitAnimCmdTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -748,7 +748,7 @@ const struct SpriteTemplate gFlatterConfettiSpriteTemplate =
{
.tileTag = ANIM_TAG_CONFETTI,
.paletteTag = ANIM_TAG_CONFETTI,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -759,10 +759,10 @@ const struct SpriteTemplate gFlatterSpotlightSpriteTemplate =
{
.tileTag = ANIM_TAG_SPOTLIGHT,
.paletteTag = ANIM_TAG_SPOTLIGHT,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_085CE224,
+ .affineAnims = gSpotlightAffineAnimTable,
.callback = AnimFlatterSpotlight,
};
@@ -770,7 +770,7 @@ const struct SpriteTemplate gReversalOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_ORB,
.paletteTag = ANIM_TAG_BLUE_ORB,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -822,7 +822,7 @@ const struct SpriteTemplate gYawnCloudSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_CLOUD,
.paletteTag = ANIM_TAG_PINK_CLOUD,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gYawnCloudAffineAnimTable,
@@ -873,7 +873,7 @@ const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_CLOUD,
.paletteTag = ANIM_TAG_PINK_CLOUD,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gSmokeBallEscapeCloudAffineAnimTable,
@@ -888,15 +888,15 @@ const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gFacadeSweatDrop =
+const struct SpriteTemplate gFacadeSweatDropSpriteTemplate =
{
.tileTag = ANIM_TAG_SWEAT_DROP,
.paletteTag = ANIM_TAG_SWEAT_DROP,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_815DEBC,
+ .callback = AnimFacadeSweatDrop,
};
const u16 gFacadeBlendColors[] = {
@@ -950,7 +950,7 @@ const struct SpriteTemplate gRoarNoiseLineSpriteTemplate =
{
.tileTag = ANIM_TAG_NOISE_LINE,
.paletteTag = ANIM_TAG_NOISE_LINE,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gRoarNoiseLineAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -961,7 +961,7 @@ const struct SpriteTemplate gGlareEyeDotSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_RED_EYE,
.paletteTag = ANIM_TAG_SMALL_RED_EYE,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -972,7 +972,7 @@ const struct SpriteTemplate gAssistPawprintSpriteTemplate =
{
.tileTag = ANIM_TAG_PAW_PRINT,
.paletteTag = ANIM_TAG_PAW_PRINT,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1002,7 +1002,7 @@ const struct SpriteTemplate gBarrageBallSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_BALL,
.paletteTag = ANIM_TAG_RED_BALL,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gBarrageBallAffineAnimTable,
@@ -1013,7 +1013,7 @@ const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1031,7 +1031,7 @@ const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate =
{
.tileTag = ANIM_TAG_SMELLINGSALT_EFFECT,
.paletteTag = ANIM_TAG_SMELLINGSALT_EFFECT,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1042,7 +1042,7 @@ const struct SpriteTemplate gHelpingHandClapSpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1053,7 +1053,7 @@ const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate =
{
.tileTag = ANIM_TAG_MAGNIFYING_GLASS,
.paletteTag = ANIM_TAG_MAGNIFYING_GLASS,
- .oam = &gUnknown_08524A34,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1064,7 +1064,7 @@ const struct SpriteTemplate gMeteorMashStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1075,18 +1075,18 @@ const struct SpriteTemplate gUnknown_085CE8F4 =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81061C4,
+ .callback = AnimParticuleBurst,
};
const struct SpriteTemplate gBlockXSpriteTemplate =
{
.tileTag = ANIM_TAG_X_SIGN,
.paletteTag = ANIM_TAG_X_SIGN,
- .oam = &gUnknown_0852491C,
+ .oam = &gOamData_AffineOff_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1097,7 +1097,7 @@ const struct SpriteTemplate gUnknown_085CE924 =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1140,7 +1140,7 @@ const struct SpriteTemplate gKnockOffStrikeSpriteTemplate =
{
.tileTag = ANIM_TAG_SLAM_HIT_2,
.paletteTag = ANIM_TAG_SLAM_HIT_2,
- .oam = &gUnknown_0852497C,
+ .oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gKnockOffStrikeAnimTable,
.images = NULL,
.affineAnims = gKnockOffStrikeAffineAnimTable,
@@ -1162,7 +1162,7 @@ const struct SpriteTemplate gRecycleSpriteTemplate =
{
.tileTag = ANIM_TAG_RECYCLE,
.paletteTag = ANIM_TAG_RECYCLE,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gRecycleSpriteAffineAnimTable,
@@ -1179,7 +1179,7 @@ const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] =
AFFINEANIMCMD_END,
};
-void sub_815A0D4(struct Sprite *sprite)
+void AnimBlackSmoke(struct Sprite *sprite)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -1190,10 +1190,10 @@ void sub_815A0D4(struct Sprite *sprite)
sprite->data[0] = -gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[4];
- sprite->callback = sub_815A114;
+ sprite->callback = AnimBlackSmokeStep;
}
-static void sub_815A114(struct Sprite *sprite)
+static void AnimBlackSmokeStep(struct Sprite *sprite)
{
if (sprite->data[1] > 0)
{
@@ -1208,43 +1208,43 @@ static void sub_815A114(struct Sprite *sprite)
}
}
-void sub_815A160(u8 taskId)
+void AnimTask_SmokescreenImpact(u8 taskId)
{
- sub_807521C(
+ SmokescreenImpact(
GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8,
GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8,
0);
DestroyAnimVisualTask(taskId);
}
-void sub_815A1B0(struct Sprite *sprite)
+void AnimWhiteHalo(struct Sprite *sprite)
{
sprite->data[0] = 90;
sprite->callback = WaitAnimForDuration;
sprite->data[1] = 7;
- StoreSpriteCallbackInData6(sprite, sub_815A1F4);
+ StoreSpriteCallbackInData6(sprite, AnimWhiteHalo_Step1);
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
}
-static void sub_815A1F4(struct Sprite *sprite)
+static void AnimWhiteHalo_Step1(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
if (--sprite->data[1] < 0)
{
sprite->invisible = 1;
- sprite->callback = sub_815A234;
+ sprite->callback = AnimWhiteHalo_Step2;
}
}
-static void sub_815A234(struct Sprite *sprite)
+static void AnimWhiteHalo_Step2(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
DestroyAnimSprite(sprite);
}
-void sub_815A254(struct Sprite *sprite)
+void AnimTealAlert(struct Sprite *sprite)
{
u16 rotation;
u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
@@ -1266,15 +1266,15 @@ void sub_815A254(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_815A2F0(struct Sprite *sprite)
+void AnimMeanLookEye(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
sprite->data[0] = 4;
- sprite->callback = sub_815A31C;
+ sprite->callback = AnimMeanLookEye_Step1;
}
-static void sub_815A31C(struct Sprite *sprite)
+static void AnimMeanLookEye_Step1(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
@@ -1294,22 +1294,22 @@ static void sub_815A31C(struct Sprite *sprite)
sprite->data[2] = 0;
sprite->invisible = 1;
sprite->affineAnimPaused = 1;
- sprite->callback = sub_815A3AC;
+ sprite->callback = AnimMeanLookEye_Step2;
}
}
-static void sub_815A3AC(struct Sprite *sprite)
+static void AnimMeanLookEye_Step2(struct Sprite *sprite)
{
if (sprite->data[2]++ > 9)
{
sprite->invisible = 0;
sprite->affineAnimPaused = 0;
if (sprite->affineAnimEnded)
- sprite->callback = sub_815A3F0;
+ sprite->callback = AnimMeanLookEye_Step3;
}
}
-static void sub_815A3F0(struct Sprite *sprite)
+static void AnimMeanLookEye_Step3(struct Sprite *sprite)
{
switch (sprite->data[3])
{
@@ -1344,11 +1344,11 @@ static void sub_815A3F0(struct Sprite *sprite)
sprite->data[1] = 0;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 0));
- sprite->callback = sub_815A49C;
+ sprite->callback = AnimMeanLookEye_Step4;
}
}
-static void sub_815A49C(struct Sprite *sprite)
+static void AnimMeanLookEye_Step4(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
@@ -1369,17 +1369,17 @@ static void sub_815A49C(struct Sprite *sprite)
}
}
-void sub_815A504(u8 taskId)
+void AnimTask_SetPsychicBackground(u8 taskId)
{
- gTasks[taskId].func = sub_815A52C;
+ gTasks[taskId].func = SetPsychicBackground_Step;
gAnimVisualTaskCount--;
}
-static void sub_815A52C(u8 taskId)
+static void SetPsychicBackground_Step(u8 taskId)
{
int i;
u16 lastColor;
- u8 paletteIndex = sub_80A6D94();
+ u8 paletteIndex = GetBattleBgPaletteNum();
if (++gTasks[taskId].data[5] == 4)
{
@@ -1395,17 +1395,17 @@ static void sub_815A52C(u8 taskId)
DestroyTask(taskId);
}
-void sub_815A5C8(u8 taskId)
+void AnimTask_FadeScreenToWhite(u8 taskId)
{
- gTasks[taskId].func = sub_815A5F0;
+ gTasks[taskId].func = FadeScreenToWhite_Step;
gAnimVisualTaskCount--;
}
-static void sub_815A5F0(u8 taskId)
+static void FadeScreenToWhite_Step(u8 taskId)
{
int i;
u16 lastColor;
- u8 paletteIndex = sub_80A6D94();
+ u8 paletteIndex = GetBattleBgPaletteNum();
if (++gTasks[taskId].data[5] == 4)
{
@@ -1426,7 +1426,7 @@ static void sub_815A5F0(u8 taskId)
DestroyTask(taskId);
}
-void sub_815A6C4(struct Sprite *sprite)
+void AnimSpikes(struct Sprite *sprite)
{
u16 x;
u16 y;
@@ -1443,21 +1443,21 @@ void sub_815A6C4(struct Sprite *sprite)
sprite->data[5] = -50;
InitAnimArcTranslation(sprite);
- sprite->callback = sub_815A73C;
+ sprite->callback = AnimSpikes_Step1;
}
-static void sub_815A73C(struct Sprite *sprite)
+static void AnimSpikes_Step1(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{
sprite->data[0] = 30;
sprite->data[1] = 0;
sprite->callback = WaitAnimForDuration;
- StoreSpriteCallbackInData6(sprite, sub_815A76C);
+ StoreSpriteCallbackInData6(sprite, AnimSpikes_Step2);
}
}
-static void sub_815A76C(struct Sprite *sprite)
+static void AnimSpikes_Step2(struct Sprite *sprite)
{
if (sprite->data[1] & 1)
sprite->invisible ^= 1;
@@ -1466,7 +1466,7 @@ static void sub_815A76C(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_815A7B0(struct Sprite *sprite)
+void AnimLeer(struct Sprite *sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
@@ -1475,7 +1475,7 @@ void sub_815A7B0(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_815A7EC(struct Sprite *sprite)
+void AnimLetterZ(struct Sprite *sprite)
{
int var0;
if (sprite->data[0] == 0)
@@ -1513,7 +1513,7 @@ void sub_815A7EC(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_815A8AC(struct Sprite *sprite)
+void AnimFang(struct Sprite *sprite)
{
if (sprite->animEnded)
DestroyAnimSprite(sprite);
@@ -1539,7 +1539,7 @@ void AnimTask_IsHealingMove(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_815A934(struct Sprite *sprite)
+void AnimSpotlight(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ);
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
@@ -1552,10 +1552,10 @@ void sub_815A934(struct Sprite *sprite)
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->invisible = 1;
- sprite->callback = sub_815A9A0;
+ sprite->callback = AnimSpotlight_Step1;
}
-static void sub_815A9A0(struct Sprite *sprite)
+static void AnimSpotlight_Step1(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -1591,20 +1591,20 @@ static void sub_815A9A0(struct Sprite *sprite)
if (sprite->affineAnimEnded)
{
sprite->invisible = 1;
- sprite->callback = sub_815AA6C;
+ sprite->callback = AnimSpotlight_Step2;
}
break;
}
}
-static void sub_815AA6C(struct Sprite *sprite)
+static void AnimSpotlight_Step2(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
DestroyAnimSprite(sprite);
}
-void sub_815AAA4(struct Sprite *sprite)
+void AnimClappingHand(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] == 0)
{
@@ -1633,10 +1633,10 @@ void sub_815AAA4(struct Sprite *sprite)
if (sprite->data[3] != 255)
sprite->data[3] = gBattleAnimArgs[2];
- sprite->callback = sub_815AB5C;
+ sprite->callback = AnimClappingHand_Step;
}
-static void sub_815AB5C(struct Sprite *sprite)
+static void AnimClappingHand_Step(struct Sprite *sprite)
{
if (sprite->data[2] == 0)
{
@@ -1665,14 +1665,14 @@ static void sub_815AB5C(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_815ABD0(struct Sprite *sprite)
+void AnimClappingHand2(struct Sprite *sprite)
{
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->data[3] = 255;
- sub_815AAA4(sprite);
+ AnimClappingHand(sprite);
}
-void sub_815ABEC(u8 taskId)
+void AnimTask_CreateSpotlight(u8 taskId)
{
if (IsContest())
{
@@ -1695,7 +1695,7 @@ void sub_815ABEC(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_815AC8C(u8 taskId)
+void AnimTask_RemoveSpotlight(u8 taskId)
{
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
gBattle_WIN1H = 0;
@@ -1706,7 +1706,7 @@ void sub_815AC8C(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_815ACD0(struct Sprite *sprite)
+void AnimRapidSpin(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
@@ -1726,10 +1726,10 @@ void sub_815ACD0(struct Sprite *sprite)
sprite->data[2] = gBattleAnimArgs[4];
sprite->data[3] = gBattleAnimArgs[5];
sprite->data[4] = gBattleAnimArgs[3];
- sprite->callback = sub_815AD4C;
+ sprite->callback = AnimRapidSpin_Step;
}
-static void sub_815AD4C(struct Sprite *sprite)
+static void AnimRapidSpin_Step(struct Sprite *sprite)
{
sprite->data[1] = (sprite->data[1] + sprite->data[2]) & 0xFF;
sprite->pos2.x = gSineTable[sprite->data[1]] >> 4;
@@ -1747,7 +1747,7 @@ static void sub_815AD4C(struct Sprite *sprite)
}
}
-void sub_815ADB0(u8 taskId)
+void AnimTask_RapinSpinMonElevation(u8 taskId)
{
s16 var0;
u8 toBG2;
@@ -1828,10 +1828,10 @@ void sub_815ADB0(u8 taskId)
scanlineParams.unused9 = 0;
ScanlineEffect_SetParams(scanlineParams);
- task->func = sub_815AED8;
+ task->func = RapinSpinMonElevation_Step;
}
-static void sub_815AED8(u8 taskId)
+static void RapinSpinMonElevation_Step(u8 taskId)
{
s16 i;
struct Task *task = &gTasks[taskId];
@@ -1890,7 +1890,7 @@ static void sub_815AED8(u8 taskId)
}
}
-void sub_815AFF0(u8 taskId)
+void AnimTask_TormentAttacker(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -1902,10 +1902,10 @@ void sub_815AFF0(u8 taskId)
task->data[5] = -20;
task->data[6] = 0;
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- task->func = sub_815B054;
+ task->func = TormentAttacker_Step;
}
-static void sub_815B054(u8 taskId)
+static void TormentAttacker_Step(u8 taskId)
{
int var0, var1;
s16 x, y;
@@ -1929,7 +1929,7 @@ static void sub_815B054(u8 taskId)
}
y = task->data[3] + task->data[5];
- spriteId = CreateSprite(&gUnknown_08593114, x, y, 6 - task->data[1]);
+ spriteId = CreateSprite(&gThoughtBubbleSpriteTemplate, x, y, 6 - task->data[1]);
PlaySE12WithPanning(SE_W118, BattleAnimAdjustPanning(-64));
if (spriteId != MAX_SPRITES)
@@ -1982,12 +1982,12 @@ static void sub_815B054(u8 taskId)
case 4:
for (i = 0, j = 0; i < MAX_SPRITES; i++)
{
- if (gSprites[i].template == &gUnknown_08593114)
+ if (gSprites[i].template == &gThoughtBubbleSpriteTemplate)
{
gSprites[i].data[0] = taskId;
gSprites[i].data[1] = 6;
StartSpriteAnim(&gSprites[i], 2);
- gSprites[i].callback = sub_815B23C;
+ gSprites[i].callback = TormentAttacker_Callback;
if (++j == 6)
break;
@@ -2004,7 +2004,7 @@ static void sub_815B054(u8 taskId)
}
}
-static void sub_815B23C(struct Sprite *sprite)
+static void TormentAttacker_Callback(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -2013,7 +2013,7 @@ static void sub_815B23C(struct Sprite *sprite)
}
}
-void sub_815B27C(struct Sprite *sprite)
+void AnimTriAttackTriangle(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
InitSpritePosToAnimAttacker(sprite, FALSE);
@@ -2044,12 +2044,12 @@ void sub_815B27C(struct Sprite *sprite)
}
}
-void sub_815B338(u8 taskId)
+void AnimTask_DefenseCurlDeformMon(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
case 0:
- PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE350);
+ PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), DefenseCurlDeformMonAffineAnimCmds);
gTasks[taskId].data[0]++;
break;
case 1:
@@ -2059,7 +2059,7 @@ void sub_815B338(u8 taskId)
}
}
-void sub_815B394(struct Sprite *sprite)
+void AnimBatonPassPokeball(struct Sprite *sprite)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
@@ -2102,7 +2102,7 @@ void sub_815B394(struct Sprite *sprite)
}
}
-void sub_815B49C(struct Sprite *sprite)
+void AnimWishStar(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x = -16;
@@ -2110,10 +2110,10 @@ void sub_815B49C(struct Sprite *sprite)
sprite->pos1.x = 256;
sprite->pos1.y = 0;
- sprite->callback = sub_815B4D4;
+ sprite->callback = AnimWishStar_Step;
}
-static void sub_815B4D4(struct Sprite *sprite)
+static void AnimWishStar_Step(struct Sprite *sprite)
{
u32 newX;
@@ -2156,10 +2156,10 @@ void AnimMiniTwinklingStar(struct Sprite *sprite)
y = -y;
sprite->pos2.y = y;
- sprite->callback = sub_815B5D0;
+ sprite->callback = AnimMiniTwinklingStar_Step;
}
-static void sub_815B5D0(struct Sprite *sprite)
+static void AnimMiniTwinklingStar_Step(struct Sprite *sprite)
{
if (++sprite->data[0] < 30)
{
@@ -2187,11 +2187,11 @@ static void sub_815B5D0(struct Sprite *sprite)
DestroySprite(sprite);
}
-void sub_815B65C(u8 taskId)
+void AnimTask_StockpileDeformMon(u8 taskId)
{
if (!gTasks[taskId].data[0])
{
- PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE3B8);
+ PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gStockpileDeformMonAffineAnimCmds);
gTasks[taskId].data[0]++;
}
else
@@ -2201,11 +2201,11 @@ void sub_815B65C(u8 taskId)
}
}
-void sub_815B6B4(u8 taskId)
+void AnimTask_SpitUpDeformMon(u8 taskId)
{
if (!gTasks[taskId].data[0])
{
- PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE3E0);
+ PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gSpitUpDeformMonAffineAnimCmds);
gTasks[taskId].data[0]++;
}
else
@@ -2215,7 +2215,7 @@ void sub_815B6B4(u8 taskId)
}
}
-void sub_815B70C(struct Sprite *sprite)
+void AnimSwallowBlueOrb(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -2234,11 +2234,11 @@ void sub_815B70C(struct Sprite *sprite)
}
}
-void sub_815B778(u8 taskId)
+void AnimTask_SwallowDeformMon(u8 taskId)
{
if (!gTasks[taskId].data[0])
{
- PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_085CE430);
+ PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gSwallowDeformMonAffineAnimCmds);
gTasks[taskId].data[0]++;
}
else
@@ -2248,7 +2248,7 @@ void sub_815B778(u8 taskId)
}
}
-void sub_815B7D0(u8 taskId)
+void AnimTask_TransformMon(u8 taskId)
{
int i, j;
u8 position;
@@ -2361,19 +2361,19 @@ void sub_815B7D0(u8 taskId)
}
}
-void sub_815BB18(u8 taskId)
+void AnimTask_IsMonInvisible(u8 taskId)
{
gBattleAnimArgs[7] = gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible;
DestroyAnimVisualTask(taskId);
}
-void sub_815BB58(u8 taskId)
+void AnimTask_CastformGfxChange(u8 taskId)
{
HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, TRUE);
DestroyAnimVisualTask(taskId);
}
-void sub_815BB84(u8 taskId)
+void AnimTask_MorningSunLightBeam(u8 taskId)
{
struct BattleAnimBgData animBg;
@@ -2434,7 +2434,7 @@ void sub_815BB84(u8 taskId)
if (!gTasks[taskId].data[1])
{
- gBattle_BG1_X = gUnknown_085CE460[gTasks[taskId].data[2]] + gTasks[taskId].data[10];
+ gBattle_BG1_X = gMorningSunLightBeamCoordsTable[gTasks[taskId].data[2]] + gTasks[taskId].data[10];
if (++gTasks[taskId].data[2] == 4)
gTasks[taskId].data[0] = 4;
else
@@ -2465,7 +2465,7 @@ void sub_815BB84(u8 taskId)
}
}
-void sub_815BE04(struct Sprite *sprite)
+void AnimGreenStar(struct Sprite *sprite)
{
s16 xOffset;
u8 spriteId1;
@@ -2481,8 +2481,8 @@ void sub_815BE04(struct Sprite *sprite)
sprite->data[1] = gBattleAnimArgs[0];
sprite->data[2] = gBattleAnimArgs[1];
- spriteId1 = CreateSprite(&gUnknown_085CE48C, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
- spriteId2 = CreateSprite(&gUnknown_085CE48C, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
+ spriteId1 = CreateSprite(&gGreenStarSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
+ spriteId2 = CreateSprite(&gGreenStarSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
StartSpriteAnim(&gSprites[spriteId1], 1);
StartSpriteAnim(&gSprites[spriteId2], 2);
@@ -2494,15 +2494,15 @@ void sub_815BE04(struct Sprite *sprite)
gSprites[spriteId2].data[7] = -1;
gSprites[spriteId1].invisible = 1;
gSprites[spriteId2].invisible = 1;
- gSprites[spriteId1].callback = sub_815C050;
- gSprites[spriteId2].callback = sub_815C050;
+ gSprites[spriteId1].callback = AnimGreenStar_Callback;
+ gSprites[spriteId2].callback = AnimGreenStar_Callback;
sprite->data[6] = spriteId1;
sprite->data[7] = spriteId2;
- sprite->callback = sub_815BF44;
+ sprite->callback = AnimGreenStar_Step1;
}
-static void sub_815BF44(struct Sprite *sprite)
+static void AnimGreenStar_Step1(struct Sprite *sprite)
{
s16 delta = sprite->data[3] + sprite->data[2];
sprite->pos2.y -= delta >> 8;
@@ -2523,11 +2523,11 @@ static void sub_815BF44(struct Sprite *sprite)
if (--sprite->data[1] == -1)
{
sprite->invisible = 1;
- sprite->callback = sub_815BFF4;
+ sprite->callback = AnimGreenStar_Step2;
}
}
-static void sub_815BFF4(struct Sprite *sprite)
+static void AnimGreenStar_Step2(struct Sprite *sprite)
{
if (gSprites[sprite->data[6]].callback == SpriteCallbackDummy
&& gSprites[sprite->data[7]].callback == SpriteCallbackDummy)
@@ -2538,7 +2538,7 @@ static void sub_815BFF4(struct Sprite *sprite)
}
}
-static void sub_815C050(struct Sprite *sprite)
+static void AnimGreenStar_Callback(struct Sprite *sprite)
{
if (!sprite->invisible)
{
@@ -2554,7 +2554,7 @@ static void sub_815C050(struct Sprite *sprite)
}
}
-void sub_815C0A4(u8 taskId)
+void AnimTask_DoomDesireLightBeam(u8 taskId)
{
struct BattleAnimBgData animBg;
@@ -2609,9 +2609,9 @@ void sub_815C0A4(u8 taskId)
case 1:
gTasks[taskId].data[3] = 0;
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT)
- gBattle_BG1_X = gTasks[taskId].data[10] + gUnknown_085CE4A4[gTasks[taskId].data[2]];
+ gBattle_BG1_X = gTasks[taskId].data[10] + gDoomDesireLightBeamCoordTable[gTasks[taskId].data[2]];
else
- gBattle_BG1_X = gTasks[taskId].data[10] - gUnknown_085CE4A4[gTasks[taskId].data[2]];
+ gBattle_BG1_X = gTasks[taskId].data[10] - gDoomDesireLightBeamCoordTable[gTasks[taskId].data[2]];
if (++gTasks[taskId].data[2] == 5)
gTasks[taskId].data[0] = 5;
@@ -2627,7 +2627,7 @@ void sub_815C0A4(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 3:
- if (++gTasks[taskId].data[3] > gUnknown_085CE4A8[gTasks[taskId].data[2]])
+ if (++gTasks[taskId].data[3] > gDoomDesireLightBeamDelayTable[gTasks[taskId].data[2]])
gTasks[taskId].data[0]++;
break;
case 4:
@@ -3808,7 +3808,7 @@ static void CreateSweatDroplets(u8 taskId, bool8 arg1)
for (i = 0; i < 4; i++)
{
- u8 spriteId = CreateSprite(&gFacadeSweatDrop, xCoords[i], yCoords[i & 1], task->data[6] - 5);
+ u8 spriteId = CreateSprite(&gFacadeSweatDropSpriteTemplate, xCoords[i], yCoords[i & 1], task->data[6] - 5);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].data[0] = 0;
@@ -3821,7 +3821,7 @@ static void CreateSweatDroplets(u8 taskId, bool8 arg1)
}
}
-void sub_815DEBC(struct Sprite *sprite)
+void AnimFacadeSweatDrop(struct Sprite *sprite)
{
sprite->pos1.x += sprite->data[1];
sprite->pos1.y += sprite->data[2];
@@ -4175,10 +4175,10 @@ void AnimSmellingSaltsHand(struct Sprite *sprite)
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8;
}
- sprite->callback = sub_815E784;
+ sprite->callback = AnimSmellingSaltsHand_Step;
}
-static void sub_815E784(struct Sprite *sprite)
+static void AnimSmellingSaltsHand_Step(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -4709,7 +4709,7 @@ void AnimTask_MonToSubstitute(u8 taskId)
if (gTasks[taskId].data[0] == 0)
{
- PrepareBattlerSpriteForRotScale(spriteId, FALSE);
+ PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
gTasks[taskId].data[1] = 0x100;
gTasks[taskId].data[2] = 0x100;
gTasks[taskId].data[0]++;
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index a667daecf..b356d57e0 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -7,7 +7,7 @@
#include "decompress.h"
#include "dma3.h"
#include "gpu_regs.h"
-#include "alloc.h"
+#include "malloc.h"
#include "palette.h"
#include "pokemon_icon.h"
#include "sprite.h"
@@ -26,11 +26,11 @@
#define IS_DOUBLE_BATTLE() ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
-extern const struct OamData gUnknown_0852497C;
+extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64;
static void sub_80A6FB4(struct Sprite *sprite);
static void sub_80A7144(struct Sprite *sprite);
-static void sub_80A791C(struct Sprite *sprite);
+static void AnimThrowProjectile_Step(struct Sprite *sprite);
static void sub_80A8DFC(struct Sprite *sprite);
static void sub_80A8E88(struct Sprite *sprite);
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
@@ -92,7 +92,7 @@ static const struct SpriteTemplate sUnknown_08525F90[] =
{
.tileTag = 55125,
.paletteTag = 55125,
- .oam = &gUnknown_0852497C,
+ .oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -101,7 +101,7 @@ static const struct SpriteTemplate sUnknown_08525F90[] =
{
.tileTag = 55126,
.paletteTag = 55126,
- .oam = &gUnknown_0852497C,
+ .oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -966,7 +966,7 @@ void sub_80A6D60(struct BattleAnimBgData *unk, const void *src, u32 arg2)
CopyBgTilemapBufferToVram(unk->bgId);
}
-u8 sub_80A6D94(void)
+u8 GetBattleBgPaletteNum(void)
{
if (IsContest())
return 1;
@@ -988,7 +988,7 @@ void sub_80A6DAC(bool8 arg0)
}
}
-void sub_80A6DEC(struct Sprite *sprite)
+void TradeMenuBouncePartySprites(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -1253,7 +1253,7 @@ void ResetSpriteRotScale(u8 spriteId)
{
SetSpriteRotScale(spriteId, 0x100, 0x100, 0);
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
- gSprites[spriteId].oam.objMode = 0;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_NORMAL;
gSprites[spriteId].affineAnimPaused = FALSE;
CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
}
@@ -1353,7 +1353,7 @@ u32 sub_80A75AC(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner,
if (!IsContest())
selectedPalettes = 0xe;
else
- selectedPalettes = 1 << sub_80A6D94();
+ selectedPalettes = 1 << GetBattleBgPaletteNum();
}
if (attacker)
{
@@ -1456,7 +1456,7 @@ static u8 GetBattlerAtPosition_(u8 position)
return GetBattlerAtPosition(position);
}
-void sub_80A77C8(struct Sprite *sprite)
+void AnimSpriteOnMonPos(struct Sprite *sprite)
{
bool8 var;
@@ -1513,7 +1513,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_80A78AC(struct Sprite *sprite)
+void AnimThrowProjectile(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker))
@@ -1523,16 +1523,16 @@ void sub_80A78AC(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
InitAnimArcTranslation(sprite);
- sprite->callback = sub_80A791C;
+ sprite->callback = AnimThrowProjectile_Step;
}
-static void sub_80A791C(struct Sprite *sprite)
+static void AnimThrowProjectile_Step(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite);
}
-void sub_80A7938(struct Sprite *sprite)
+void AnimSnoreZ(struct Sprite *sprite)
{
bool8 r4;
u8 battlerId, coordType;
@@ -2267,7 +2267,7 @@ u8 sub_80A89C8(int battlerId, u8 spriteId, int species)
gSprites[newSpriteId] = gSprites[spriteId];
gSprites[newSpriteId].usingSheet = TRUE;
gSprites[newSpriteId].oam.priority = 0;
- gSprites[newSpriteId].oam.objMode = 2;
+ gSprites[newSpriteId].oam.objMode = ST_OAM_OBJ_WINDOW;
gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum;
gSprites[newSpriteId].callback = SpriteCallbackDummy;
return newSpriteId;
diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c
index 6780f0a32..6ff5ee893 100755
--- a/src/battle_anim_special.c
+++ b/src/battle_anim_special.c
@@ -238,7 +238,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_POKEBALL,
.paletteTag = TAG_PARTICLES_POKEBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -247,7 +247,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_GREATBALL,
.paletteTag = TAG_PARTICLES_GREATBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -256,7 +256,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_SAFARIBALL,
.paletteTag = TAG_PARTICLES_SAFARIBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -265,7 +265,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_ULTRABALL,
.paletteTag = TAG_PARTICLES_ULTRABALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -274,7 +274,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_MASTERBALL,
.paletteTag = TAG_PARTICLES_MASTERBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -283,7 +283,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_NETBALL,
.paletteTag = TAG_PARTICLES_NETBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -292,7 +292,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_DIVEBALL,
.paletteTag = TAG_PARTICLES_DIVEBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -301,7 +301,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_NESTBALL,
.paletteTag = TAG_PARTICLES_NESTBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -310,7 +310,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_REPEATBALL,
.paletteTag = TAG_PARTICLES_REPEATBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -319,7 +319,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_TIMERBALL,
.paletteTag = TAG_PARTICLES_TIMERBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -328,7 +328,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_LUXURYBALL,
.paletteTag = TAG_PARTICLES_LUXURYBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -337,7 +337,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
.tileTag = TAG_PARTICLES_PREMIERBALL,
.paletteTag = TAG_PARTICLES_PREMIERBALL,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gAnims_BallParticles,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -375,7 +375,7 @@ const struct SpriteTemplate gPokeblockSpriteTemplate =
{
.tileTag = ANIM_TAG_POKEBLOCK,
.paletteTag = ANIM_TAG_POKEBLOCK,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -396,14 +396,14 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085E5358,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_817330C,
};
-extern const struct SpriteTemplate gUnknown_085CE388;
+extern const struct SpriteTemplate gWishStarSpriteTemplate;
extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate;
void unref_sub_8170478(u8 taskId)
@@ -2081,7 +2081,7 @@ static void sub_8172FEC(u8 taskId)
state = gTasks[taskId].data[11];
if (state == 0)
{
- spriteId = CreateSprite(&gUnknown_085CE388, x, y, 5);
+ spriteId = CreateSprite(&gWishStarSpriteTemplate, x, y, 5);
}
else if (state >= 0 && gTasks[taskId].data[11] < 4)
{
diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c
index 7ed78ea9a..003b6d2ef 100644
--- a/src/battle_anim_status_effects.c
+++ b/src/battle_anim_status_effects.c
@@ -14,8 +14,8 @@
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
extern const u8 *const gBattleAnims_StatusConditions[];
-extern const struct OamData gUnknown_08524904;
-extern const struct OamData gUnknown_08524A3C;
+extern const struct OamData gOamData_AffineOff_ObjNormal_8x8;
+extern const struct OamData gOamData_AffineOff_ObjBlend_64x64;
// This file's functions.
static void sub_80A9DB4(u8 taskId);
@@ -46,7 +46,7 @@ const struct SpriteTemplate gUnknown_0853EDFC =
{
.tileTag = ANIM_TAG_ORB,
.paletteTag = ANIM_TAG_ORB,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = sSpriteAnimTable_853EDF8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -57,7 +57,7 @@ const struct SpriteTemplate gUnknown_0853EE14 =
{
.tileTag = ANIM_TAG_ORB,
.paletteTag = ANIM_TAG_ORB,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = sSpriteAnimTable_853EDF8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -79,7 +79,7 @@ const struct SpriteTemplate gUnknown_0853EE38 =
{
.tileTag = ANIM_TAG_WEATHER_BALL,
.paletteTag = ANIM_TAG_WEATHER_BALL,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = sSpriteAnimTable_853EE34,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_0853EE50 =
{
.tileTag = ANIM_TAG_WEATHER_BALL,
.paletteTag = ANIM_TAG_WEATHER_BALL,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = sSpriteAnimTable_853EE34,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_0853EE84 =
{
.tileTag = ANIM_TAG_SPARKLE_4,
.paletteTag = ANIM_TAG_SPARKLE_4,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = sSpriteAnimTable_853EE80,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -127,7 +127,7 @@ const struct SpriteTemplate gUnknown_0853EE9C =
{
.tileTag = ANIM_TAG_MONSTER_FOOT,
.paletteTag = ANIM_TAG_MONSTER_FOOT,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -163,7 +163,7 @@ const struct SpriteTemplate gUnknown_0853EED8 =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = sSpriteAnimTable_853EECC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -197,7 +197,7 @@ const struct SpriteTemplate gUnknown_0853EF18 =
{
.tileTag = ANIM_TAG_ORB,
.paletteTag = ANIM_TAG_ORB,
- .oam = &gUnknown_085249CC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = sSpriteAnimTable_853EEF8,
.images = NULL,
.affineAnims = sSpriteAffineAnimTable_853EEF8,
@@ -206,10 +206,38 @@ const struct SpriteTemplate gUnknown_0853EF18 =
static const struct Subsprite gUnknown_0853EF30[] =
{
- {.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2},
- {.x = -16, .y = 48, .shape = ST_OAM_H_RECTANGLE, .size = 3, .tileOffset = 64, .priority = 2},
- {.x = 48, .y = -16, .shape = ST_OAM_V_RECTANGLE, .size = 3, .tileOffset = 96, .priority = 2},
- {.x = 48, .y = 48, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 128, .priority = 2},
+ {
+ .x = -16,
+ .y = -16,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 48,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 64,
+ .priority = 2
+ },
+ {
+ .x = 48,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x64),
+ .size = SPRITE_SIZE(32x64),
+ .tileOffset = 96,
+ .priority = 2
+ },
+ {
+ .x = 48,
+ .y = 48,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 128,
+ .priority = 2
+ },
};
static const struct SubspriteTable gUnknown_0853EF40[] =
@@ -221,7 +249,7 @@ static const struct SpriteTemplate gUnknown_0853EF48 =
{
.tileTag = ANIM_TAG_ICE_CUBE,
.paletteTag = ANIM_TAG_ICE_CUBE,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -232,7 +260,7 @@ static const struct SpriteTemplate gUnknown_0853EF60 =
{
.tileTag = ANIM_TAG_CIRCLE_IMPACT,
.paletteTag = ANIM_TAG_CIRCLE_IMPACT,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
index efe35e1b4..eff2bc3c7 100644
--- a/src/battle_anim_utility_funcs.c
+++ b/src/battle_anim_utility_funcs.c
@@ -3,7 +3,7 @@
#include "contest.h"
#include "gpu_regs.h"
#include "graphics.h"
-#include "alloc.h"
+#include "malloc.h"
#include "palette.h"
#include "sound.h"
#include "sprite.h"
@@ -36,7 +36,7 @@ static void sub_8117500(u8);
static void sub_81175C4(u32, u16);
static void sub_81176D8(u8);
static void sub_8117A60(u8);
-static void sub_8117FD0(u8);
+static void ExtremSpeedMoveTarget_Step(u8);
const u16 gUnknown_08597418 = RGB(31, 31, 31);
@@ -1036,7 +1036,7 @@ void sub_8117F30(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_8117F60(u8 taskId)
+void AnimTask_ExtremeSpeedMoveTarget(u8 taskId)
{
if (IsContest())
{
@@ -1046,12 +1046,12 @@ void sub_8117F60(u8 taskId)
{
gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible;
gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1;
- gTasks[taskId].func = sub_8117FD0;
+ gTasks[taskId].func = ExtremSpeedMoveTarget_Step;
gAnimVisualTaskCount--;
}
}
-static void sub_8117FD0(u8 taskId)
+static void ExtremSpeedMoveTarget_Step(u8 taskId)
{
if (gBattleAnimArgs[7] == 0x1000)
{
diff --git a/src/battle_arena.c b/src/battle_arena.c
index f785fa7c3..42a967fc6 100644
--- a/src/battle_arena.c
+++ b/src/battle_arena.c
@@ -20,8 +20,10 @@
#include "text.h"
#include "util.h"
#include "constants/songs.h"
+#include "constants/battle_arena.h"
#include "constants/battle_string_ids.h"
#include "constants/battle_frontier.h"
+#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/rgb.h"
@@ -30,9 +32,9 @@
static void InitArenaChallenge(void);
static void GetArenaData(void);
static void SetArenaData(void);
-static void sub_81A5AC4(void);
-static void SetArenaRewardItem(void);
-static void GiveArenaRewardItem(void);
+static void SaveArenaChallenge(void);
+static void SetArenaPrize(void);
+static void GiveArenaPrize(void);
static void BufferArenaOpponentName(void);
static void SpriteCb_JudgmentIcon(struct Sprite *sprite);
static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler);
@@ -402,10 +404,10 @@ static const s8 sMindRatings[] =
static const struct OamData sJudgementIconOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -467,16 +469,16 @@ static const struct CompressedSpriteSheet sBattleArenaJudgementSymbolsSpriteShee
static void (* const sArenaFunctions[])(void) =
{
- InitArenaChallenge,
- GetArenaData,
- SetArenaData,
- sub_81A5AC4,
- SetArenaRewardItem,
- GiveArenaRewardItem,
- BufferArenaOpponentName,
+ [BATTLE_ARENA_FUNC_INIT] = InitArenaChallenge,
+ [BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData,
+ [BATTLE_ARENA_FUNC_SET_DATA] = SetArenaData,
+ [BATTLE_ARENA_FUNC_SAVE] = SaveArenaChallenge,
+ [BATTLE_ARENA_FUNC_SET_PRIZE] = SetArenaPrize,
+ [BATTLE_ARENA_FUNC_GIVE_PRIZE] = GiveArenaPrize,
+ [BATTLE_ARENA_FUNC_GET_TRAINER_NAME] = BufferArenaOpponentName,
};
-static const u16 sShortStreakRewardItems[] =
+static const u16 sShortStreakPrizeItems[] =
{
ITEM_HP_UP,
ITEM_PROTEIN,
@@ -486,7 +488,7 @@ static const u16 sShortStreakRewardItems[] =
ITEM_ZINC,
};
-static const u16 sLongStreakRewardItems[] =
+static const u16 sLongStreakPrizeItems[] =
{
ITEM_BRIGHT_POWDER,
ITEM_WHITE_HERB,
@@ -562,8 +564,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
break;
case 4:
PlaySE(SE_HANTEI1);
- ShowJudgmentSprite(80, 40, 0, 0);
- ShowJudgmentSprite(160, 40, 0, 1);
+ ShowJudgmentSprite(80, 40, ARENA_CATEGORY_MIND, B_POSITION_PLAYER_LEFT);
+ ShowJudgmentSprite(160, 40, ARENA_CATEGORY_MIND, B_POSITION_OPPONENT_LEFT);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
@@ -571,8 +573,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
break;
case 5:
PlaySE(SE_HANTEI1);
- ShowJudgmentSprite(80, 56, 1, 0);
- ShowJudgmentSprite(160, 56, 1, 1);
+ ShowJudgmentSprite(80, 56, ARENA_CATEGORY_SKILL, B_POSITION_PLAYER_LEFT);
+ ShowJudgmentSprite(160, 56, ARENA_CATEGORY_SKILL, B_POSITION_OPPONENT_LEFT);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
@@ -580,8 +582,8 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
break;
case 6:
PlaySE(SE_HANTEI1);
- ShowJudgmentSprite(80, 72, 2, 0);
- ShowJudgmentSprite(160, 72, 2, 1);
+ ShowJudgmentSprite(80, 72, ARENA_CATEGORY_BODY, B_POSITION_PLAYER_LEFT);
+ ShowJudgmentSprite(160, 72, ARENA_CATEGORY_BODY, B_POSITION_OPPONENT_LEFT);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
@@ -641,15 +643,15 @@ static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler)
switch (category)
{
- case 0:
+ case ARENA_CATEGORY_MIND:
pointsPlayer = mindPoints[battler];
pointsOpponent = mindPoints[BATTLE_OPPOSITE(battler)];
break;
- case 1:
+ case ARENA_CATEGORY_SKILL:
pointsPlayer = skillPoints[battler];
pointsOpponent = skillPoints[BATTLE_OPPOSITE(battler)];
break;
- case 2:
+ case ARENA_CATEGORY_BODY:
pointsPlayer = (gBattleMons[battler].hp * 100) / hpAtStart[battler];
pointsOpponent = (gBattleMons[BATTLE_OPPOSITE(battler)].hp * 100) / hpAtStart[BATTLE_OPPOSITE(battler)];
break;
@@ -786,14 +788,14 @@ static void InitArenaChallenge(void)
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
- gSaveBlock2Ptr->frontier.field_CA9_b = 0;
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE;
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
+ isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN;
else
- isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
+ isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_50;
if (!isCurrent)
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0;
@@ -808,17 +810,17 @@ static void GetArenaData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaRewardItem;
+ case ARENA_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaPrize;
break;
- case 1:
+ case ARENA_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
break;
- case 2:
+ case ARENA_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN;
else
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_50;
break;
}
}
@@ -829,55 +831,55 @@ static void SetArenaData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.arenaRewardItem = gSpecialVar_0x8006;
+ case ARENA_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.arenaPrize = gSpecialVar_0x8006;
break;
- case 1:
+ case ARENA_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case ARENA_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= 0x80;
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_ARENA_OPEN;
else
- gSaveBlock2Ptr->frontier.field_CDC &= ~(0x80);
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_ARENA_OPEN);
}
else
{
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= 0x40;
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_ARENA_50;
else
- gSaveBlock2Ptr->frontier.field_CDC &= ~(0x40);
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_ARENA_50);
}
break;
}
}
-static void sub_81A5AC4(void)
+static void SaveArenaChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = 1;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
-static void SetArenaRewardItem(void)
+static void SetArenaPrize(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 41)
- gSaveBlock2Ptr->frontier.arenaRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.arenaPrize = sLongStreakPrizeItems[Random() % ARRAY_COUNT(sLongStreakPrizeItems)];
else
- gSaveBlock2Ptr->frontier.arenaRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.arenaPrize = sShortStreakPrizeItems[Random() % ARRAY_COUNT(sShortStreakPrizeItems)];
}
-static void GiveArenaRewardItem(void)
+static void GiveArenaPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.arenaRewardItem, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.arenaPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.arenaRewardItem, gStringVar1);
- gSaveBlock2Ptr->frontier.arenaRewardItem = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.arenaPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.arenaPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
diff --git a/src/battle_bg.c b/src/battle_bg.c
index a08873857..01d05e68d 100644
--- a/src/battle_bg.c
+++ b/src/battle_bg.c
@@ -36,13 +36,13 @@ struct BattleBackground
// .rodata
static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData?
-static const struct OamData gUnknown_0831A988 =
+static const struct OamData sVsLetter_V_OamData =
{
.y = 0,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -53,13 +53,13 @@ static const struct OamData gUnknown_0831A988 =
.affineParam = 0,
};
-static const struct OamData gUnknown_0831A990 =
+static const struct OamData sVsLetter_S_OamData =
{
.y = 0,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -70,13 +70,13 @@ static const struct OamData gUnknown_0831A990 =
.affineParam = 0,
};
-static const union AffineAnimCmd gUnknown_0831A998[] =
+static const union AffineAnimCmd sVsLetterAffineAnimCmds0[] =
{
AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00),
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd gUnknown_0831A9A8[] =
+static const union AffineAnimCmd sVsLetterAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x0080, 0x0080, 0x00, 0x00),
AFFINEANIMCMD_FRAME(0x0018, 0x0018, 0x00, 0x80),
@@ -84,37 +84,39 @@ static const union AffineAnimCmd gUnknown_0831A9A8[] =
AFFINEANIMCMD_END,
};
-static const union AffineAnimCmd * const gUnknown_0831A9C8[] =
+static const union AffineAnimCmd *const sVsLetterAffineAnimTable[] =
{
- gUnknown_0831A998,
- gUnknown_0831A9A8,
+ sVsLetterAffineAnimCmds0,
+ sVsLetterAffineAnimCmds1,
};
-static const struct SpriteTemplate gUnknown_0831A9D0 =
+#define TAG_VS_LETTERS 10000
+
+static const struct SpriteTemplate sVsLetter_V_SpriteTemplate =
{
- .tileTag = 0x2710,
- .paletteTag = 0x2710,
- .oam = &gUnknown_0831A988,
+ .tileTag = TAG_VS_LETTERS,
+ .paletteTag = TAG_VS_LETTERS,
+ .oam = &sVsLetter_V_OamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0831A9C8,
+ .affineAnims = sVsLetterAffineAnimTable,
.callback = nullsub_17
};
-static const struct SpriteTemplate gUnknown_0831A9E8 =
+static const struct SpriteTemplate sVsLetter_S_SpriteTemplate =
{
- .tileTag = 0x2710,
- .paletteTag = 0x2710,
- .oam = &gUnknown_0831A990,
+ .tileTag = TAG_VS_LETTERS,
+ .paletteTag = TAG_VS_LETTERS,
+ .oam = &sVsLetter_S_OamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_0831A9C8,
+ .affineAnims = sVsLetterAffineAnimTable,
.callback = nullsub_17
};
-static const struct CompressedSpriteSheet gUnknown_0831AA00 =
+static const struct CompressedSpriteSheet sVsLettersSpriteSheet =
{
- gUnknown_08D77B0C, 0x1000, 0x2710
+ gVsLettersGfx, 0x1000, TAG_VS_LETTERS
};
const struct BgTemplate gBattleBgTemplates[] =
@@ -689,7 +691,6 @@ static const struct BattleBackground gBattleTerrainTable[] =
},
};
-// .text
void BattleInitBgsAndWindows(void)
{
ResetBgsAndClearDma3BusyFlags(0);
@@ -710,7 +711,7 @@ void BattleInitBgsAndWindows(void)
DeactivateAllTextPrinters();
}
-void sub_80356D0(void)
+void InitBattleBgsVideo(void)
{
DisableInterrupts(INTR_FLAG_HBLANK);
EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL);
@@ -725,10 +726,11 @@ void LoadBattleMenuWindowGfx(void)
{
LoadUserWindowBorderGfx(2, 0x12, 0x10);
LoadUserWindowBorderGfx(2, 0x22, 0x10);
- LoadCompressedPalette(gUnknown_08D85600, 0x50, 0x20);
+ LoadCompressedPalette(gBattleWindowTextPalette, 0x50, 0x20);
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
{
+ // Load graphics for the Battle Arena referee's mid-battle messages.
Menu_LoadStdPalAt(0x70);
LoadMessageBoxGfx(0, 0x30, 0x70);
gPlttBufferUnfaded[0x76] = 0;
@@ -837,86 +839,81 @@ void DrawMainBattleBackground(void)
void LoadBattleTextboxAndBackground(void)
{
- LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM));
+ LZDecompressVram(gBattleTextboxTiles, (void*)(BG_CHAR_ADDR(0)));
CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0);
CopyBgTilemapBufferToVram(0);
LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40);
LoadBattleMenuWindowGfx();
-
DrawMainBattleBackground();
}
-static void sub_8035AE4(u8 taskId, u8 battlerId, u8 bgId, u8 destX, u8 destY)
+static void DrawLinkBattleParticipantPokeballs(u8 taskId, u8 multiplayerId, u8 bgId, u8 destX, u8 destY)
{
s32 i;
- u16 var = 0;
- u16 src[6];
+ u16 pokeballStatuses = 0;
+ u16 tiles[6];
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if (gTasks[taskId].data[5] != 0)
{
- switch (battlerId)
+ switch (multiplayerId)
{
case 0:
- var = 0x3F & gTasks[taskId].data[3];
+ pokeballStatuses = 0x3F & gTasks[taskId].data[3];
break;
case 1:
- var = (0xFC0 & gTasks[taskId].data[4]) >> 6;
+ pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6;
break;
case 2:
- var = (0xFC0 & gTasks[taskId].data[3]) >> 6;
+ pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6;
break;
case 3:
- var = 0x3F & gTasks[taskId].data[4];
+ pokeballStatuses = 0x3F & gTasks[taskId].data[4];
break;
}
}
else
{
- switch (battlerId)
+ switch (multiplayerId)
{
case 0:
- var = 0x3F & gTasks[taskId].data[3];
+ pokeballStatuses = 0x3F & gTasks[taskId].data[3];
break;
case 1:
- var = 0x3F & gTasks[taskId].data[4];
+ pokeballStatuses = 0x3F & gTasks[taskId].data[4];
break;
case 2:
- var = (0xFC0 & gTasks[taskId].data[3]) >> 6;
+ pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6;
break;
case 3:
- var = (0xFC0 & gTasks[taskId].data[4]) >> 6;
+ pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6;
break;
}
}
for (i = 0; i < 3; i++)
- {
- src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001;
- }
+ tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001;
- CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 3, 1, 0x11);
+ CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 3, 1, 0x11);
CopyBgTilemapBufferToVram(bgId);
}
else
{
- if (battlerId == gBattleScripting.multiplayerId)
- var = gTasks[taskId].data[3];
+ if (multiplayerId == gBattleScripting.multiplayerId)
+ pokeballStatuses = gTasks[taskId].data[3];
else
- var = gTasks[taskId].data[4];
+ pokeballStatuses = gTasks[taskId].data[4];
for (i = 0; i < 6; i++)
- {
- src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001;
- }
+ tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001;
- CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 6, 1, 0x11);
+ CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 6, 1, 0x11);
CopyBgTilemapBufferToVram(bgId);
}
}
-static void sub_8035C4C(void)
+static void DrawLinkBattleVsScreenOutcomeText(void)
{
if (gBattleOutcome == B_OUTCOME_DREW)
{
@@ -997,7 +994,7 @@ static void sub_8035C4C(void)
}
}
-void sub_8035D74(u8 taskId)
+void InitLinkBattleVsScreen(u8 taskId)
{
struct LinkPlayer *linkPlayer;
u8 *name;
@@ -1017,19 +1014,19 @@ void sub_8035D74(u8 taskId)
{
case 0:
BattlePutTextOnWindow(name, 0x11);
- sub_8035AE4(taskId, linkPlayer->id, 1, 2, 4);
+ DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 4);
break;
case 1:
BattlePutTextOnWindow(name, 0x12);
- sub_8035AE4(taskId, linkPlayer->id, 2, 2, 4);
+ DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 4);
break;
case 2:
BattlePutTextOnWindow(name, 0x13);
- sub_8035AE4(taskId, linkPlayer->id, 1, 2, 8);
+ DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 8);
break;
case 3:
BattlePutTextOnWindow(name, 0x14);
- sub_8035AE4(taskId, linkPlayer->id, 2, 2, 8);
+ DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 8);
break;
}
}
@@ -1049,16 +1046,16 @@ void sub_8035D74(u8 taskId)
name = gLinkPlayers[opponentId].name;
BattlePutTextOnWindow(name, 0x10);
- sub_8035AE4(taskId, playerId, 1, 2, 7);
- sub_8035AE4(taskId, opponentId, 2, 2, 7);
+ DrawLinkBattleParticipantPokeballs(taskId, playerId, 1, 2, 7);
+ DrawLinkBattleParticipantPokeballs(taskId, opponentId, 2, 2, 7);
}
gTasks[taskId].data[0]++;
break;
case 1:
- palId = AllocSpritePalette(0x2710);
+ palId = AllocSpritePalette(TAG_VS_LETTERS);
gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = 0x7FFF;
- gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&gUnknown_0831A9D0, 111, 80, 0);
- gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&gUnknown_0831A9E8, 129, 80, 0);
+ gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&sVsLetter_V_SpriteTemplate, 111, 80, 0);
+ gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&sVsLetter_S_SpriteTemplate, 129, 80, 0);
gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE;
gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = TRUE;
gTasks[taskId].data[0]++;
@@ -1087,7 +1084,7 @@ void sub_8035D74(u8 taskId)
else
{
if (gTasks[taskId].data[5] != 0)
- sub_8035C4C();
+ DrawLinkBattleVsScreenOutcomeText();
PlaySE(SE_W231);
DestroyTask(taskId);
@@ -1110,7 +1107,7 @@ void DrawBattleEntryBackground(void)
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
LZDecompressVram(gUnknown_08D778F0, (void*)(BG_CHAR_ADDR(1)));
- LZDecompressVram(gUnknown_08D77B0C, (void*)(VRAM + 0x10000));
+ LZDecompressVram(gVsLettersGfx, (void*)(VRAM + 0x10000));
LoadCompressedPalette(gUnknown_08D77AE4, 0x60, 0x20);
SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1);
SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04);
@@ -1122,7 +1119,7 @@ void DrawBattleEntryBackground(void)
SetGpuReg(REG_OFFSET_WINOUT, 0x36);
gBattle_BG1_Y = 0xFF5C;
gBattle_BG2_Y = 0xFF5C;
- LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831AA00);
+ LoadCompressedSpriteSheetUsingHeap(&sVsLettersSpriteSheet);
}
else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER))
{
@@ -1195,7 +1192,7 @@ bool8 LoadChosenBattleElement(u8 caseId)
switch (caseId)
{
case 0:
- LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM));
+ LZDecompressVram(gBattleTextboxTiles, (void*)(BG_CHAR_ADDR(0)));
break;
case 1:
CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0);
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index d3842e416..6604fa142 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -1429,7 +1429,7 @@ static void LinkOpponentDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -1438,7 +1438,7 @@ static void LinkOpponentDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
@@ -1846,7 +1846,7 @@ static void LinkOpponentHandleCmd55(void)
else
gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ B_OUTCOME_DREW;
- gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2];
+ gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2];
FadeOutMapMusic(5);
BeginFastPaletteFade(3);
LinkOpponentBufferExecCompleted();
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 1c92aaaad..ece4c24bc 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -1253,7 +1253,7 @@ static void LinkPartnerDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -1262,7 +1262,7 @@ static void LinkPartnerDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
@@ -1676,7 +1676,7 @@ static void LinkPartnerHandleCmd55(void)
{
sub_81851A8(&gBattleBufferA[gActiveBattler][4]);
gBattleOutcome = gBattleBufferA[gActiveBattler][1];
- gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2];
+ gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2];
FadeOutMapMusic(5);
BeginFastPaletteFade(3);
LinkPartnerBufferExecCompleted();
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index e096536c9..daf2c260e 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -1465,7 +1465,7 @@ static void OpponentDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -1474,7 +1474,7 @@ static void OpponentDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index b73bfc36f..7fe1ed24a 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -31,6 +31,7 @@
#include "constants/battle_anim.h"
#include "constants/items.h"
#include "constants/moves.h"
+#include "constants/party_menu.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "constants/rgb.h"
@@ -664,7 +665,7 @@ u32 sub_8057FBC(void) // unused
static void HandleMoveSwitching(void)
{
- u8 perMovePPBonuses[4];
+ u8 perMovePPBonuses[MAX_MON_MOVES];
struct ChooseMoveStruct moveStruct;
u8 totalPPBonuses;
@@ -1341,10 +1342,10 @@ static void WaitForMonSelection(void)
{
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
- if (gUnknown_0203CEE8 == 1)
- BtlController_EmitChosenMonReturnValue(1, gUnknown_0203CEE9, gUnknown_0203CF00);
+ if (gPartyMenuUseExitCallback == TRUE)
+ BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder);
else
- BtlController_EmitChosenMonReturnValue(1, 6, NULL);
+ BtlController_EmitChosenMonReturnValue(1, PARTY_SIZE, NULL);
if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1)
PrintLinkStandbyMsg();
@@ -1531,12 +1532,12 @@ void ActionSelectionDestroyCursorAt(u8 cursorPosition)
CopyBgTilemapBufferToVram(0);
}
-void SetCB2ToReshowScreenAfterMenu(void)
+void CB2_SetUpReshowBattleScreenAfterMenu(void)
{
SetMainCallback2(ReshowBattleScreenAfterMenu);
}
-void SetCB2ToReshowScreenAfterMenu2(void)
+void CB2_SetUpReshowBattleScreenAfterMenu2(void)
{
SetMainCallback2(ReshowBattleScreenAfterMenu);
}
@@ -2312,7 +2313,7 @@ static void PlayerHandleDrawTrainerPic(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
- gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF;
gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1;
}
// Use the back pic in any other scenario.
@@ -2484,7 +2485,7 @@ static void PlayerDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -2493,7 +2494,7 @@ static void PlayerDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
@@ -2632,20 +2633,20 @@ static void PlayerHandleChooseItem(void)
gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem;
gBattlerInMenuId = gActiveBattler;
- for (i = 0; i < 3; i++)
- gUnknown_0203CF00[i] = gBattleBufferA[gActiveBattler][1 + i];
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
+ gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][1 + i];
}
static void PlayerHandleChoosePokemon(void)
{
s32 i;
- for (i = 0; i < 3; i++)
- gUnknown_0203CF00[i] = gBattleBufferA[gActiveBattler][4 + i];
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
+ gBattlePartyCurrentOrder[i] = gBattleBufferA[gActiveBattler][4 + i];
- if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_CANT_SWITCH)
+ if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH)
{
- BtlController_EmitChosenMonReturnValue(1, gBattlerPartyIndexes[gActiveBattler] + 1, gUnknown_0203CF00);
+ BtlController_EmitChosenMonReturnValue(1, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder);
PlayerBufferExecCompleted();
}
else
@@ -2675,8 +2676,9 @@ static void PlayerHandleHealthBarUpdate(void)
LoadBattleBarGfx(0);
hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8);
+ // gPlayerPartyLostHP used by Battle Dome, but never read
if (hpVal > 0)
- gUnknown_0203CD70 += hpVal;
+ gPlayerPartyLostHP += hpVal;
if (hpVal != INSTANT_HP_BAR_DROP)
{
@@ -3092,7 +3094,7 @@ static void PlayerHandleCmd55(void)
{
sub_81851A8(&gBattleBufferA[gActiveBattler][4]);
gBattleOutcome = gBattleBufferA[gActiveBattler][1];
- gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2];
+ gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2];
FadeOutMapMusic(5);
BeginFastPaletteFade(3);
PlayerBufferExecCompleted();
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index e625f24de..21c1fdd5b 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -1334,7 +1334,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
- gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF;
gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1;
}
@@ -1444,7 +1444,7 @@ static void PlayerPartnerDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -1453,7 +1453,7 @@ static void PlayerPartnerDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index b21d8288c..7c1bff64a 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -1355,7 +1355,7 @@ static void RecordedOpponentDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -1364,7 +1364,7 @@ static void RecordedOpponentDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index b59a4f25d..5f3b3ea65 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -1238,7 +1238,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
- gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF;
gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1;
}
else
@@ -1359,7 +1359,7 @@ static void RecordedPlayerDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -1368,7 +1368,7 @@ static void RecordedPlayerDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index f7035540b..a5b1ae2f7 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -1134,7 +1134,7 @@ static void WallyDoMoveAnimation(void)
case 1:
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
- sub_805EB9C(0);
+ sub_805EB9C(ST_OAM_AFFINE_OFF);
DoMoveAnim(move);
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2;
}
@@ -1143,7 +1143,7 @@ static void WallyDoMoveAnimation(void)
gAnimScriptCallback();
if (!gAnimScriptActive)
{
- sub_805EB9C(1);
+ sub_805EB9C(ST_OAM_AFFINE_NORMAL);
if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute)
{
InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE);
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 17db0b868..b411c12f6 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -95,7 +95,7 @@ void sub_8032768(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
for (i = 0; i < gBattlersCount; i++)
- sub_81B8D64(i, 0);
+ BufferBattlePartyCurrentOrderBySide(i, 0);
}
for (i = 0; i < sizeof(gBattleStruct->tvMovePoints); i++)
@@ -144,10 +144,10 @@ static void InitSinglePlayerBtlControllers(void)
gBattlersCount = MAX_BATTLERS_COUNT;
- sub_81B8D64(0, 0);
- sub_81B8D64(1, 0);
- sub_81B8D64(2, 1);
- sub_81B8D64(3, 1);
+ BufferBattlePartyCurrentOrderBySide(0, 0);
+ BufferBattlePartyCurrentOrderBySide(1, 0);
+ BufferBattlePartyCurrentOrderBySide(2, 1);
+ BufferBattlePartyCurrentOrderBySide(3, 1);
gBattlerPartyIndexes[0] = 0;
gBattlerPartyIndexes[1] = 0;
@@ -247,10 +247,10 @@ static void InitSinglePlayerBtlControllers(void)
gBattlersCount = MAX_BATTLERS_COUNT;
- sub_81B8D64(0, 0);
- sub_81B8D64(1, 0);
- sub_81B8D64(2, 1);
- sub_81B8D64(3, 1);
+ BufferBattlePartyCurrentOrderBySide(0, 0);
+ BufferBattlePartyCurrentOrderBySide(1, 0);
+ BufferBattlePartyCurrentOrderBySide(2, 1);
+ BufferBattlePartyCurrentOrderBySide(3, 1);
gBattlerPartyIndexes[0] = 0;
gBattlerPartyIndexes[1] = 0;
@@ -267,11 +267,11 @@ static void InitSinglePlayerBtlControllers(void)
{
case 0:
case 3:
- sub_81B8D64(gLinkPlayers[i].id, 0);
+ BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 0);
break;
case 1:
case 2:
- sub_81B8D64(gLinkPlayers[i].id, 1);
+ BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 1);
break;
}
@@ -487,10 +487,10 @@ static void InitLinkBtlControllers(void)
gBattlersCount = MAX_BATTLERS_COUNT;
}
- sub_81B8D64(0, 0);
- sub_81B8D64(1, 0);
- sub_81B8D64(2, 1);
- sub_81B8D64(3, 1);
+ BufferBattlePartyCurrentOrderBySide(0, 0);
+ BufferBattlePartyCurrentOrderBySide(1, 0);
+ BufferBattlePartyCurrentOrderBySide(2, 1);
+ BufferBattlePartyCurrentOrderBySide(3, 1);
gBattlerPartyIndexes[0] = 0;
gBattlerPartyIndexes[1] = 0;
gBattlerPartyIndexes[2] = 3;
@@ -509,11 +509,11 @@ static void InitLinkBtlControllers(void)
{
case 0:
case 3:
- sub_81B8D64(gLinkPlayers[i].id, 0);
+ BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 0);
break;
case 1:
case 2:
- sub_81B8D64(gLinkPlayers[i].id, 1);
+ BufferBattlePartyCurrentOrderBySide(gLinkPlayers[i].id, 1);
break;
}
@@ -1175,13 +1175,13 @@ void BtlController_EmitChooseItem(u8 bufferId, u8 *arg1)
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
}
-void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8 *arg4)
+void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 slotId, u8 abilityId, u8 *arg4)
{
s32 i;
sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEPOKEMON;
sBattleBuffersTransferData[1] = caseId;
- sBattleBuffersTransferData[2] = arg2;
+ sBattleBuffersTransferData[2] = slotId;
sBattleBuffersTransferData[3] = abilityId;
for (i = 0; i < 3; i++)
sBattleBuffersTransferData[4 + i] = arg4[i];
@@ -1311,14 +1311,14 @@ void BtlController_EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2)
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
}
-void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c)
+void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 partyId, u8 *battlePartyOrder)
{
s32 i;
sBattleBuffersTransferData[0] = CONTROLLER_CHOSENMONRETURNVALUE;
- sBattleBuffersTransferData[1] = b;
- for (i = 0; i < 3; i++)
- sBattleBuffersTransferData[2 + i] = c[i];
+ sBattleBuffersTransferData[1] = partyId;
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
+ sBattleBuffersTransferData[2 + i] = battlePartyOrder[i];
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 5);
}
@@ -1509,8 +1509,8 @@ void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome)
{
sBattleBuffersTransferData[0] = CONTROLLER_55;
sBattleBuffersTransferData[1] = battleOutcome;
- sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.field_CA9_b;
- sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.field_CA9_b;
+ sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.disableRecordBattle;
+ sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.disableRecordBattle;
sBattleBuffersTransferData[5] = sBattleBuffersTransferData[4] = sub_81850DC(&sBattleBuffersTransferData[6]);
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sBattleBuffersTransferData[4] + 6);
}
diff --git a/src/battle_dome.c b/src/battle_dome.c
index 1c116467d..746d195d9 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "battle_dome.h"
#include "battle.h"
+#include "battle_main.h"
#include "battle_setup.h"
#include "battle_tower.h"
#include "frontier_util.h"
@@ -8,7 +9,7 @@
#include "event_data.h"
#include "overworld.h"
#include "util.h"
-#include "alloc.h"
+#include "malloc.h"
#include "string_util.h"
#include "random.h"
#include "task.h"
@@ -30,69 +31,84 @@
#include "scanline_effect.h"
#include "script_pokemon_util_80F87D8.h"
#include "graphics.h"
+#include "constants/battle_dome.h"
+#include "constants/frontier_util.h"
#include "constants/species.h"
#include "constants/moves.h"
+#include "constants/pokemon.h"
#include "constants/trainers.h"
#include "constants/abilities.h"
#include "constants/songs.h"
#include "constants/battle_frontier.h"
#include "constants/rgb.h"
-#define DOME_ROUND1 0
-#define DOME_ROUND2 1
-#define DOME_QUARTERFINAL 1 // Different name for the same round.
-#define DOME_SEMIFINAL 2
-#define DOME_FINAL 3
-#define DOME_ROUNDS_COUNT 4
+// Enough space to hold 2 match info cards worth of trainers and their parties
+#define NUM_INFOCARD_SPRITES ((FRONTIER_PARTY_SIZE + 1) * 4)
+#define NUM_INFOCARD_TRAINERS 2
-struct BattleDomeStruct
+// An 'Info Card' is a trainer or match information page that can be viewed on the Tourney Tree
+struct TourneyTreeInfoCard
{
- u8 arr[DOME_TOURNAMENT_TRAINERS_COUNT];
- u8 unk_10;
- u8 unk_11[3];
+ u8 spriteIds[NUM_INFOCARD_SPRITES];
+ u8 pos;
+ u8 tournamentIds[NUM_INFOCARD_TRAINERS];
};
-struct UnkStruct_860DD10
+struct TourneyTreeLineSection
{
u8 x;
u8 y;
u16 src;
};
+#define DOME_TRAINERS gSaveBlock2Ptr->frontier.domeTrainers
+#define DOME_MONS gSaveBlock2Ptr->frontier.domeMonIds
+
+#define tState data[0]
+
+// Task data for Task_ShowTourneyTree
+#define tNotInteractive data[1]
+#define tIsPrevTourneyTree data[4]
+
+// Task data for Task_ShowTourneyInfoCard
+#define tTournamentId data[1]
+#define tMode data[2]
+#define tPrevTaskId data[3]
+
// This file's functions.
static u8 GetDomeTrainerMonIvs(u16 trainerId);
static void SwapDomeTrainers(int id1, int id2, u16 *statsArray);
static void CalcDomeMonStats(u16 species, int level, int ivs, u8 evBits, u8 nature, int *stats);
static void CreateDomeOpponentMons(u16 tournamentTrainerId);
-static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1);
-static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1);
+static int SelectOpponentMonsUsingPersonality(u16 tournamentTrainerId, bool8 arg1);
+static int SelectOpponentMonsUsingOtId(u16 tournamentTrainerId, bool8 arg1);
static int GetTypeEffectivenessPoints(int move, int species, int arg2);
-static int sub_818FEB4(int *arr, bool8 arg1);
-static void Task_ShowOpponentInfo(u8 taskId);
-static void sub_8190CD4(u8 taskId);
-static u8 sub_819221C(u8 taskId);
-static void InitDomeFacilityTrainersAndMons(void);
+static int SelectOpponentMonsFromParty(int *arr, bool8 arg1);
+static void Task_ShowTourneyInfoCard(u8 taskId);
+static void Task_HandleInfoCardInput(u8 taskId);
+static u8 Task_GetInfoCardInput(u8 taskId);
+static void SetFacilityTrainerAndMonPtrs(void);
static int TrainerIdToTournamentId(u16 trainerId);
static u16 TrainerIdOfPlayerOpponent(void);
static void Task_ShowTourneyTree(u8 taskId);
-static void sub_8194950(u8 taskId);
-static void CB2_BattleDome(void);
-static void VblankCb0_BattleDome(void);
+static void Task_HandleStaticTourneyTreeInput(u8 taskId);
+static void CB2_TourneyTree(void);
+static void VblankCb_TourneyInfoCard(void);
static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo);
-static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId);
-static int sub_8192F08(u8, u8*);
+static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId);
+static int BufferDomeWinString(u8, u8*);
static u8 GetDomeBrainTrainerPicId(void);
static u8 GetDomeBrainTrainerClass(void);
static void CopyDomeBrainTrainerName(u8 *str);
static void CopyDomeTrainerName(u8 *str, u16 trainerId);
-static void HblankCb_BattleDome(void);
-static void VblankCb1_BattleDome(void);
+static void HblankCb_TourneyTree(void);
+static void VblankCb_TourneyTree(void);
static u8 UpdateTourneyTreeCursor(u8 taskId);
static void DecideRoundWinners(u8 roundId);
static u8 sub_81953E8(u8 tournamentId, u8);
-static void sub_81948EC(u8, u8);
-static void sub_8190B40(struct Sprite *sprite);
-static void sub_8190C6C(struct Sprite *sprite);
+static void DrawTourneyAdvancementLine(u8, u8);
+static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite);
+static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite);
static void InitDomeChallenge(void);
static void GetDomeData(void);
static void SetDomeData(void);
@@ -101,420 +117,424 @@ static void BufferDomeOpponentName(void);
static void InitDomeOpponentParty(void);
static void ShowDomeOpponentInfo(void);
static void ShowDomeTourneyTree(void);
-static void ShowPreviousDomeResultsTourneyTree(void);
+static void ShowPreviousDomeTourneyTree(void);
static void SetDomeOpponentId(void);
static void SetDomeOpponentGraphicsId(void);
static void ShowNonInteractiveDomeTourneyTree(void);
static void ResolveDomeRoundWinners(void);
-static void sub_81902F8(void);
-static void UpdateDomeStreaks(void);
-static void RestoreDomePlayerParty(void);
+static void SaveDomeChallenge(void);
+static void IncrementDomeStreaks(void);
+static void ResetSketchedMoves(void);
static void RestoreDomePlayerPartyHeldItems(void);
-static void ReduceDomePlayerPartyTo3Mons(void);
+static void ReduceDomePlayerPartyToSelectedMons(void);
static void GetPlayerSeededBeforeOpponent(void);
static void BufferLastDomeWinnerName(void);
-static void sub_8194F58(void);
+static void InitRandomTourneyTreeResults(void);
static void InitDomeTrainers(void);
// EWRAM variables.
-EWRAM_DATA u32 gUnknown_0203CD70 = 0;
-static EWRAM_DATA u32 gUnknown_0203CD74 = 0;
-static EWRAM_DATA struct BattleDomeStruct *sBattleDomeStruct = {0};
+EWRAM_DATA u32 gPlayerPartyLostHP = 0; // never read
+static EWRAM_DATA u32 sPlayerPartyMaxHP = 0; // never read
+static EWRAM_DATA struct TourneyTreeInfoCard *sInfoCard = {0};
static EWRAM_DATA u8 *sTilemapBuffer = NULL;
-// Const rom data.
-static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] =
-{
- [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_POUND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_KARATE_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DOUBLE_SLAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_COMET_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MEGA_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PAY_DAY] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FIRE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_ICE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_THUNDER_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SCRATCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_VICE_GRIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_GUILLOTINE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_RAZOR_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SWORDS_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
- [MOVE_CUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WING_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WHIRLWIND] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BIND] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_VINE_WHIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_STOMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DOUBLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MEGA_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROLLING_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SAND_ATTACK] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HEADBUTT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_HORN_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FURY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HORN_DRILL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BODY_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_WRAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_TAKE_DOWN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_THRASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DOUBLE_EDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TAIL_WHIP] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_POISON_STING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_TWINEEDLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_PIN_MISSILE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LEER] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_BITE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_GROWL] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROAR] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SING] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SUPERSONIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SONIC_BOOM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DISABLE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ACID] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_EMBER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FLAMETHROWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_MIST] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_GUN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HYDRO_PUMP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0},
- [MOVE_SURF] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0},
- [MOVE_ICE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_BLIZZARD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1},
- [MOVE_PSYBEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_BUBBLE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_AURORA_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_HYPER_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0},
- [MOVE_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DRILL_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SUBMISSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LOW_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_COUNTER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_SEISMIC_TOSS] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_STRENGTH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ABSORB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MEGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_LEECH_SEED] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GROWTH] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_RAZOR_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SOLAR_BEAM] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0},
- [MOVE_POISON_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_STUN_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SLEEP_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PETAL_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_STRING_SHOT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DRAGON_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FIRE_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_THUNDER_SHOCK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_THUNDERBOLT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_THUNDER_WAVE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_THUNDER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1},
- [MOVE_ROCK_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_EARTHQUAKE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0},
- [MOVE_FISSURE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0},
- [MOVE_DIG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TOXIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_CONFUSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_PSYCHIC] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_HYPNOSIS] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MEDITATE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_AGILITY] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_QUICK_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TELEPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_NIGHT_SHADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MIMIC] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SCREECH] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DOUBLE_TEAM] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_RECOVER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HARDEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MINIMIZE] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SMOKESCREEN] = {0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CONFUSE_RAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WITHDRAW] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DEFENSE_CURL] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BARRIER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LIGHT_SCREEN] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HAZE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_REFLECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FOCUS_ENERGY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BIDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_METRONOME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_MIRROR_MOVE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_SELF_DESTRUCT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
- [MOVE_EGG_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
- [MOVE_LICK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SMOG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SLUDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_BONE_CLUB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_FIRE_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_WATERFALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CLAMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SWIFT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SKULL_BASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_SPIKE_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CONSTRICT] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_AMNESIA] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_KINESIS] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SOFT_BOILED] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HI_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GLARE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DREAM_EATER] = {1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_POISON_GAS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BARRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LEECH_LIFE] = {0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_LOVELY_KISS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SKY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_TRANSFORM] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BUBBLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DIZZY_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLASH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PSYWAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SPLASH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ACID_ARMOR] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CRABHAMMER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
- [MOVE_EXPLOSION] = {0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0},
- [MOVE_FURY_SWIPES] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BONEMERANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_REST] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_SLIDE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_HYPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SHARPEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CONVERSION] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_TRI_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SUPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SLASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SUBSTITUTE] = {0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_STRUGGLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_SKETCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
- [MOVE_TRIPLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_THIEF] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SPIDER_WEB] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MIND_READER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_NIGHTMARE] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLAME_WHEEL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SNORE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_CURSE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FLAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CONVERSION_2] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AEROBLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_COTTON_SPORE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_REVERSAL] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SPITE] = {0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_POWDER_SNOW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_PROTECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0},
- [MOVE_MACH_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SCARY_FACE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FAINT_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SWEET_KISS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BELLY_DRUM] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SLUDGE_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1},
- [MOVE_MUD_SLAP] = {0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_OCTAZOOKA] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SPIKES] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ZAP_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1},
- [MOVE_FORESIGHT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DESTINY_BOND] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_PERISH_SONG] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_ICY_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_DETECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_BONE_RUSH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LOCK_ON] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_OUTRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1},
- [MOVE_SANDSTORM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GIGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ENDURE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CHARM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROLLOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FALSE_SWIPE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SWAGGER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_MILK_DRINK] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SPARK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FURY_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_STEEL_WING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_MEAN_LOOK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ATTRACT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SLEEP_TALK] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_HEAL_BELL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_RETURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_PRESENT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_FRUSTRATION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SAFEGUARD] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PAIN_SPLIT] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SACRED_FIRE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_MAGNITUDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DYNAMIC_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1},
- [MOVE_MEGAHORN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
- [MOVE_DRAGON_BREATH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_BATON_PASS] = {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ENCORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_PURSUIT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_RAPID_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SWEET_SCENT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_IRON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1},
- [MOVE_METAL_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_VITAL_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MORNING_SUN] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_SYNTHESIS] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_MOONLIGHT] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_HIDDEN_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CROSS_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0},
- [MOVE_TWISTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_RAIN_DANCE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_SUNNY_DAY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_CRUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_MIRROR_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_PSYCH_UP] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_EXTREME_SPEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ANCIENT_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_SHADOW_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FUTURE_SIGHT] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_SMASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_WHIRLPOOL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_BEAT_UP] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FAKE_OUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_UPROAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_STOCKPILE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SPIT_UP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_SWALLOW] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HEAT_WAVE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},
- [MOVE_HAIL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_TORMENT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLATTER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WILL_O_WISP] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MEMENTO] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FACADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FOCUS_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_SMELLING_SALT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FOLLOW_ME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_NATURE_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CHARGE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TAUNT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HELPING_HAND] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TRICK] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROLE_PLAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WISH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ASSIST] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_INGRAIN] = {1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SUPERPOWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0},
- [MOVE_MAGIC_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_RECYCLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_REVENGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_BRICK_BREAK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_YAWN] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_KNOCK_OFF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_ENDEAVOR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ERUPTION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
- [MOVE_SKILL_SWAP] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_IMPRISON] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_REFRESH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_GRUDGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_SNATCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_SECRET_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DIVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ARM_THRUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CAMOUFLAGE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TAIL_GLOW] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_LUSTER_PURGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_MIST_BALL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_FEATHER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TEETER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_BLAZE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_MUD_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ICE_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_NEEDLE_ARM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SLACK_OFF] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HYPER_VOICE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_POISON_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_CRUSH_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_BLAST_BURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_HYDRO_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_METEOR_MASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1},
- [MOVE_ASTONISH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_WEATHER_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AROMATHERAPY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_FAKE_TEARS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AIR_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_OVERHEAT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_ODOR_SLEUTH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SILVER_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_METAL_SOUND] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GRASS_WHISTLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_TICKLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_COSMIC_POWER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_SPOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
- [MOVE_SIGNAL_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SHADOW_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_EXTRASENSORY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SKY_UPPERCUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SAND_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SHEER_COLD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0},
- [MOVE_MUDDY_WATER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1},
- [MOVE_BULLET_SEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AERIAL_ACE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ICICLE_SPEAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_IRON_DEFENSE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BLOCK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_HOWL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DRAGON_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FRENZY_PLANT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_BULK_UP] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BOUNCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1},
- [MOVE_MUD_SHOT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_POISON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_COVET] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_VOLT_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0},
- [MOVE_MAGICAL_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CALM_MIND] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LEAF_BLADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DRAGON_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SHOCK_WAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_PULSE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DOOM_DESIRE] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_PSYCHO_BOOST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
+// Each move has an array of points for different move characteristics which contribute to a tourney trainers listed battle style (see sBattleStyleThresholds)
+// All move points are either 1 or 0, so theyre essentially flags saying whether or not the move has that characteristic
+static const u8 sBattleStyleMovePoints[MOVES_COUNT][NUM_MOVE_POINT_TYPES] =
+{
+ [MOVE_NONE] = {0},
+ [MOVE_POUND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_KARATE_CHOP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DOUBLE_SLAP] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_COMET_PUNCH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_MEGA_PUNCH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_PAY_DAY] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FIRE_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ICE_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDER_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SCRATCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_VICE_GRIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_GUILLOTINE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_RAZOR_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SWORDS_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_POPULAR] = 1},
+ [MOVE_CUT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_GUST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WING_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WHIRLWIND] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FLY] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_BIND] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SLAM] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_VINE_WHIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_STOMP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DOUBLE_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MEGA_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_ROLLING_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SAND_ATTACK] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HEADBUTT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HORN_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FURY_ATTACK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_HORN_DRILL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_TACKLE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_BODY_SLAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WRAP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_TAKE_DOWN] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_THRASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DOUBLE_EDGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TAIL_WHIP] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_POISON_STING] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_TWINEEDLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PIN_MISSILE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LEER] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_BITE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_GROWL] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROAR] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SING] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SUPERSONIC] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SONIC_BOOM] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_DISABLE] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_ACID] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_EMBER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FLAMETHROWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MIST] = {0},
+ [MOVE_WATER_GUN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HYDRO_PUMP] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SURF] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_ICE_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BLIZZARD] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PSYBEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BUBBLE_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_AURORA_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HYPER_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PECK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DRILL_PECK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SUBMISSION] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LOW_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_COUNTER] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_SEISMIC_TOSS] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_STRENGTH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ABSORB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MEGA_DRAIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_LEECH_SEED] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1},
+ [MOVE_GROWTH] = {[MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_RAZOR_LEAF] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SOLAR_BEAM] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_POISON_POWDER] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_STUN_SPORE] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SLEEP_POWDER] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_PETAL_DANCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_STRING_SHOT] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_DRAGON_RAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FIRE_SPIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDER_SHOCK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDERBOLT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDER_WAVE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_THUNDER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ROCK_THROW] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_EARTHQUAKE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_FISSURE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_DIG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TOXIC] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_CONFUSION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PSYCHIC] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HYPNOSIS] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_MEDITATE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_AGILITY] = {[MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_QUICK_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_RAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TELEPORT] = {0},
+ [MOVE_NIGHT_SHADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MIMIC] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SCREECH] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_DOUBLE_TEAM] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_RECOVER] = {0},
+ [MOVE_HARDEN] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_MINIMIZE] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_SMOKESCREEN] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CONFUSE_RAY] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WITHDRAW] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_DEFENSE_CURL] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_BARRIER] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_LIGHT_SCREEN] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_HAZE] = {0},
+ [MOVE_REFLECT] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_FOCUS_ENERGY] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_BIDE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_METRONOME] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_MIRROR_MOVE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_SELF_DESTRUCT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_EGG_BOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_LICK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SMOG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SLUDGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BONE_CLUB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FIRE_BLAST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WATERFALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CLAMP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SWIFT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SKULL_BASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_SPIKE_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CONSTRICT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_AMNESIA] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_KINESIS] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_SOFT_BOILED] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HI_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_GLARE] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_DREAM_EATER] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_RARE] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_POISON_GAS] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_BARRAGE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LEECH_LIFE] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_LOVELY_KISS] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SKY_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_TRANSFORM] = {[MOVE_POINTS_RARE] = 1},
+ [MOVE_BUBBLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DIZZY_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SPORE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FLASH] = {0},
+ [MOVE_PSYWAVE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SPLASH] = {[MOVE_POINTS_RARE] = 1},
+ [MOVE_ACID_ARMOR] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_CRABHAMMER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_EXPLOSION] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_FURY_SWIPES] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_BONEMERANG] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_REST] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1},
+ [MOVE_ROCK_SLIDE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HYPER_FANG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHARPEN] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_CONVERSION] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_TRI_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SUPER_FANG] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SLASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SUBSTITUTE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_STRUGGLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, // Odd that this is assigned qualities
+ [MOVE_SKETCH] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_TRIPLE_KICK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_THIEF] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SPIDER_WEB] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MIND_READER] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_NIGHTMARE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FLAME_WHEEL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SNORE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_CURSE] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_FLAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CONVERSION_2] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AEROBLAST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_COTTON_SPORE] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_REVERSAL] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SPITE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_POWDER_SNOW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PROTECT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_POPULAR] = 1},
+ [MOVE_MACH_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SCARY_FACE] = {0},
+ [MOVE_FAINT_ATTACK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SWEET_KISS] = {0},
+ [MOVE_BELLY_DRUM] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_SLUDGE_BOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MUD_SLAP] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_OCTAZOOKA] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SPIKES] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_ZAP_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FORESIGHT] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DESTINY_BOND] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PERISH_SONG] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ICY_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DETECT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_BONE_RUSH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LOCK_ON] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_OUTRAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SANDSTORM] = {0},
+ [MOVE_GIGA_DRAIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ENDURE] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_CHARM] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROLLOUT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_FALSE_SWIPE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SWAGGER] = {[MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MILK_DRINK] = {[MOVE_POINTS_HEAL] = 1},
+ [MOVE_SPARK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FURY_CUTTER] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_STEEL_WING] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MEAN_LOOK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ATTRACT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SLEEP_TALK] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_HEAL_BELL] = {[MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_RETURN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_PRESENT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_FRUSTRATION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SAFEGUARD] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_PAIN_SPLIT] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SACRED_FIRE] = {[MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MAGNITUDE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DYNAMIC_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MEGAHORN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_DRAGON_BREATH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BATON_PASS] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_RARE] = 1},
+ [MOVE_ENCORE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PURSUIT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_RAPID_SPIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SWEET_SCENT] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_IRON_TAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_METAL_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_VITAL_THROW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MORNING_SUN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SYNTHESIS] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_MOONLIGHT] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_HIDDEN_POWER] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CROSS_CHOP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_TWISTER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_RAIN_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SUNNY_DAY] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_CRUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MIRROR_COAT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_PSYCH_UP] = {[MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_EXTREME_SPEED] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ANCIENT_POWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHADOW_BALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FUTURE_SIGHT] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1},
+ [MOVE_ROCK_SMASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WHIRLPOOL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BEAT_UP] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FAKE_OUT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_UPROAR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_STOCKPILE] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_SPIT_UP] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_SWALLOW] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1},
+ [MOVE_HEAT_WAVE] = {[MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HAIL] = {0},
+ [MOVE_TORMENT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FLATTER] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WILL_O_WISP] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_MEMENTO] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FACADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FOCUS_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_SMELLING_SALT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FOLLOW_ME] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_NATURE_POWER] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_CHARGE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TAUNT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HELPING_HAND] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TRICK] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROLE_PLAY] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WISH] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ASSIST] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_INGRAIN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SUPERPOWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_MAGIC_COAT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_RECYCLE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_REVENGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_BRICK_BREAK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_YAWN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_KNOCK_OFF] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ENDEAVOR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ERUPTION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SKILL_SWAP] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_IMPRISON] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_REFRESH] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_GRUDGE] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SNATCH] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_SECRET_POWER] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DIVE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ARM_THRUST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CAMOUFLAGE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TAIL_GLOW] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_LUSTER_PURGE] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MIST_BALL] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FEATHER_DANCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TEETER_DANCE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_BLAZE_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MUD_SPORT] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ICE_BALL] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_NEEDLE_ARM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SLACK_OFF] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HYPER_VOICE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_POISON_FANG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_CRUSH_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BLAST_BURN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_HYDRO_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_METEOR_MASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ASTONISH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WEATHER_BALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AROMATHERAPY] = {[MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_FAKE_TEARS] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AIR_CUTTER] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_OVERHEAT] = {[MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ODOR_SLEUTH] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROCK_TOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SILVER_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_METAL_SOUND] = {0},
+ [MOVE_GRASS_WHISTLE] = {0},
+ [MOVE_TICKLE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_COSMIC_POWER] = {0},
+ [MOVE_WATER_SPOUT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SIGNAL_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHADOW_PUNCH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_EXTRASENSORY] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SKY_UPPERCUT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SAND_TOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHEER_COLD] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_MUDDY_WATER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BULLET_SEED] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AERIAL_ACE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_ICICLE_SPEAR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_IRON_DEFENSE] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_BLOCK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_HOWL] = {0},
+ [MOVE_DRAGON_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FRENZY_PLANT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_BULK_UP] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_BOUNCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MUD_SHOT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_POISON_TAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_COVET] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_VOLT_TACKLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_MAGICAL_LEAF] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_WATER_SPORT] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CALM_MIND] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_LEAF_BLADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DRAGON_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_ROCK_BLAST] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SHOCK_WAVE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_WATER_PULSE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DOOM_DESIRE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PSYCHO_BOOST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
};
-static const u8 gUnknown_0860C988[][DOME_TOURNAMENT_TRAINERS_COUNT] =
-{
- {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0},
- {1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- {3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0},
- {0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0},
- {0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0},
- {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+// This array is searched in-order to determine what battle style a tourney trainer uses.
+// If the sum of the points for the party's moves meets/exceeds all the point totals of an element, then they use that battle style
+static const u8 sBattleStyleThresholds[NUM_BATTLE_STYLES - 1][NUM_MOVE_POINT_TYPES] =
+{
+ [DOME_BATTLE_STYLE_RISKY] = {[MOVE_POINTS_RISKY] = 1},
+ [DOME_BATTLE_STYLE_STALL] = {[MOVE_POINTS_HEAL] = 2, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DEF] = 2},
+ [DOME_BATTLE_STYLE_VARIED] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DEF] = 1},
+ [DOME_BATTLE_STYLE_COMBO_HIGH] = {[MOVE_POINTS_COMBO] = 3},
+ [DOME_BATTLE_STYLE_RARE_MOVES] = {[MOVE_POINTS_RARE] = 2},
+ [DOME_BATTLE_STYLE_RARE_MOVE] = {[MOVE_POINTS_RARE] = 1},
+ [DOME_BATTLE_STYLE_HP] = {[MOVE_POINTS_HEAL] = 3},
+ [DOME_BATTLE_STYLE_STORE_POWER] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_HEAL] = 1},
+ [DOME_BATTLE_STYLE_ENFEEBLE_LOW] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_STATUS] = 1},
+ [DOME_BATTLE_STYLE_LUCK] = {[MOVE_POINTS_LUCK] = 2},
+ [DOME_BATTLE_STYLE_REGAL] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [DOME_BATTLE_STYLE_LOW_PP] = {[MOVE_POINTS_LOW_PP] = 3},
+ [DOME_BATTLE_STYLE_STATUS_ATK] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_STATUS] = 1},
+ [DOME_BATTLE_STYLE_ENDURE] = {[MOVE_POINTS_HEAL] = 2, [MOVE_POINTS_DEF] = 2},
+ [DOME_BATTLE_STYLE_STATUS] = {[MOVE_POINTS_STATUS] = 2},
+ [DOME_BATTLE_STYLE_STRAIGHTFORWARD] = {[MOVE_POINTS_ACCURATE] = 3, [MOVE_POINTS_STRONG] = 3},
+ [DOME_BATTLE_STYLE_AGGRESSIVE] = {[MOVE_POINTS_STRONG] = 4},
+ [DOME_BATTLE_STYLE_DEF] = {[MOVE_POINTS_DEF] = 3},
+ [DOME_BATTLE_STYLE_ENFEEBLE_HIGH] = {[MOVE_POINTS_STAT_LOWER] = 2, [MOVE_POINTS_STATUS] = 2}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_ENFEEBLE_LOW will always succeed before it
+ [DOME_BATTLE_STYLE_POPULAR_POWER] = {[MOVE_POINTS_POWERFUL] = 3, [MOVE_POINTS_POPULAR] = 3},
+ [DOME_BATTLE_STYLE_COMBO_LOW] = {[MOVE_POINTS_COMBO] = 2},
+ [DOME_BATTLE_STYLE_ACCURATE] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 3},
+ [DOME_BATTLE_STYLE_POWERFUL] = {[MOVE_POINTS_POWERFUL] = 4},
+ [DOME_BATTLE_STYLE_ATK_OVER_DEF] = {[MOVE_POINTS_DMG] = 7},
+ [DOME_BATTLE_STYLE_DEF_OVER_ATK] = {[MOVE_POINTS_DEF] = 4}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_DEF will always succeed before it
+ [DOME_BATTLE_STYLE_POPULAR_STRONG] = {[MOVE_POINTS_POPULAR] = 2, [MOVE_POINTS_STRONG] = 4},
+ [DOME_BATTLE_STYLE_EFFECTS] = {[MOVE_POINTS_EFFECT] = 4},
+ [DOME_BATTLE_STYLE_BALANCED] = {0}, // If no other thresholds are met, this battle style is used
+ [DOME_BATTLE_STYLE_UNUSED1] = {0}, // Here below is unreachable
+ [DOME_BATTLE_STYLE_UNUSED2] = {0},
+ [DOME_BATTLE_STYLE_UNUSED3] = {0},
+ //[DOME_BATTLE_STYLE_UNUSED4] = {0}, // Excluded here, presumably was meant to be a style just for Dome Ace Tucker
};
static const u8 sUnusedArray[] =
{
@@ -528,43 +548,47 @@ static const u8 sUnusedArray[] =
0, 0, 0, 254, 0, 0, 0, 0, 0,
};
-static const u8 sTourneyTreeCursorMovementMap[][5][4]=
-{
- {{0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}},
- {{0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}},
- {{0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}},
- {{0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}},
- {{0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}},
- {{0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}},
- {{0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}},
- {{0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}},
- {{0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}},
- {{0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}},
- {{0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}},
- {{0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}},
- {{0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}},
- {{0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}},
- {{0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}},
- {{0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}},
- {{0x13, 0x11, 0x00, 0x14}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}},
- {{0x10, 0x12, 0x02, 0x15}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}},
- {{0x11, 0x13, 0x04, 0x16}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}},
- {{0x12, 0x10, 0x06, 0x17}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}},
- {{0x17, 0x15, 0x10, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}},
- {{0x14, 0x16, 0x11, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}},
- {{0x15, 0x17, 0x12, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}},
- {{0x16, 0x14, 0x13, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}},
- {{0xff, 0xff, 0xff, 0xff}, {0x19, 0x19, 0x10, 0x1a}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}},
- {{0xff, 0xff, 0xff, 0xff}, {0x18, 0x18, 0x12, 0x1b}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}},
- {{0xff, 0xff, 0xff, 0xff}, {0x1b, 0x1b, 0x18, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}},
- {{0xff, 0xff, 0xff, 0xff}, {0x1a, 0x1a, 0x19, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}},
- {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x18, 0x1d}, {0xff, 0xff, 0x18, 0x1e}, {0xff, 0xff, 0x18, 0x1e}},
- {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}},
- {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1d}, {0xff, 0xff, 0x1c, 0x1d}},
- {{0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}},
+// 1st array is for cursor position (sprite id): cursor can be on a trainer info button, a match info button, or the exit/cancel button
+// 2nd array is for round count. For some reason this array contains an inaccessible Round 5 which is identical to Round 4
+// 3rd array is movement direction (see the MOVE_DIR_* constants in UpdateTourneyTreeCursor)
+// The values are sprite IDs for the cursor position to move to, with 0xFF being an invalid move
+static const u8 sTourneyTreeCursorMovementMap[DOME_TOURNAMENT_TRAINERS_COUNT + DOME_TOURNAMENT_MATCHES_COUNT + 1][DOME_ROUNDS_COUNT + 1][4]=
+{
+ [0] = {{ 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}},
+ [1] = {{ 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}},
+ [2] = {{ 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}},
+ [3] = {{ 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}},
+ [4] = {{ 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}},
+ [5] = {{ 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}},
+ [6] = {{ 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}},
+ [7] = {{ 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}},
+ [8] = {{ 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}},
+ [9] = {{ 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}},
+ [10] = {{ 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}},
+ [11] = {{ 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}},
+ [12] = {{ 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}},
+ [13] = {{ 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}},
+ [14] = {{ 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}},
+ [15] = {{ 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}},
+ [16] = {{ 19, 17, 0, 20}, { 19, 17, 0, 24}, { 19, 17, 0, 24}, { 19, 17, 0, 24}, { 19, 17, 0, 24}},
+ [17] = {{ 16, 18, 2, 21}, { 16, 18, 2, 24}, { 16, 18, 2, 24}, { 16, 18, 2, 24}, { 16, 18, 2, 24}},
+ [18] = {{ 17, 19, 4, 22}, { 17, 19, 4, 25}, { 17, 19, 4, 25}, { 17, 19, 4, 25}, { 17, 19, 4, 25}},
+ [19] = {{ 18, 16, 6, 23}, { 18, 16, 6, 25}, { 18, 16, 6, 25}, { 18, 16, 6, 25}, { 18, 16, 6, 25}},
+ [20] = {{ 23, 21, 16, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}},
+ [21] = {{ 20, 22, 17, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}},
+ [22] = {{ 21, 23, 18, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}},
+ [23] = {{ 22, 20, 19, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}},
+ [24] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 25, 25, 16, 26}, { 25, 25, 16, 28}, { 25, 25, 16, 28}, { 25, 25, 16, 28}},
+ [25] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 24, 24, 18, 27}, { 24, 24, 18, 28}, { 24, 24, 18, 28}, { 24, 24, 18, 28}},
+ [26] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 27, 27, 24, 20}, { 27, 27, 29, 20}, { 27, 27, 29, 20}, { 27, 27, 29, 20}},
+ [27] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 26, 26, 25, 22}, { 26, 26, 29, 22}, { 26, 26, 29, 22}, { 26, 26, 29, 22}},
+ [28] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 24, 29}, {0xFF, 0xFF, 24, 30}, {0xFF, 0xFF, 24, 30}},
+ [29] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 28, 26}, {0xFF, 0xFF, 30, 26}, {0xFF, 0xFF, 30, 26}},
+ [30] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 28, 29}, {0xFF, 0xFF, 28, 29}},
+ [31] = {{ 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}}, // TOURNEY_TREE_CLOSE_BUTTON
};
-static const struct BgTemplate gUnknown_0860CE74[4] =
+static const struct BgTemplate sTourneyTreeBgTemplates[4] =
{
{
.bg = 0,
@@ -604,7 +628,7 @@ static const struct BgTemplate gUnknown_0860CE74[4] =
},
};
-static const struct BgTemplate gUnknown_0860CE84[4] =
+static const struct BgTemplate sInfoCardBgTemplates[4] =
{
{
.bg = 0,
@@ -644,7 +668,7 @@ static const struct BgTemplate gUnknown_0860CE84[4] =
},
};
-static const struct WindowTemplate gUnknown_0860CE94[] =
+static const struct WindowTemplate sTourneyTreeWindowTemplates[] =
{
{
.bg = 0,
@@ -676,7 +700,7 @@ static const struct WindowTemplate gUnknown_0860CE94[] =
DUMMY_WIN_TEMPLATE,
};
-static const struct WindowTemplate gUnknown_0860CEB4[] =
+static const struct WindowTemplate sInfoCardWindowTemplates[] =
{
{
.bg = 0,
@@ -850,25 +874,26 @@ static const struct ScanlineEffectParams sTourneyTreeScanlineEffectParams =
.initState = 1,
};
-static const struct CompressedSpriteSheet sDomeOptionsSpriteSheet[] =
+static const struct CompressedSpriteSheet sTourneyTreeButtonsSpriteSheet[] =
{
- {gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000},
+ {gDomeTourneyTreeButtons_Gfx, 0x0600, 0x0000},
{},
};
-static const struct CompressedSpritePalette gUnknown_0860CF60[] =
+// Unused
+static const struct CompressedSpritePalette sTourneyTreeButtonsSpritePal[] =
{
- {gUnknown_08D85444, 0x0000},
+ {gDomeTourneyTreeButtons_Pal, 0x0000},
{},
};
-static const struct OamData gUnknown_0860CF70 =
+static const struct OamData sOamData_TourneyTreePokeball =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -879,13 +904,14 @@ static const struct OamData gUnknown_0860CF70 =
.affineParam = 0,
};
-static const struct OamData gUnknown_0860CF78 =
+// For Exit/Cancel buttons
+static const struct OamData sOamData_TourneyTreeCloseButton =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
@@ -896,13 +922,13 @@ static const struct OamData gUnknown_0860CF78 =
.affineParam = 0,
};
-static const struct OamData gUnknown_0860CF80 =
+static const struct OamData sOamData_VerticalScrollArrow =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
@@ -913,13 +939,13 @@ static const struct OamData gUnknown_0860CF80 =
.affineParam = 0,
};
-static const struct OamData gUnknown_0860CF88 =
+static const struct OamData sOamData_HorizontalScrollArrow =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x16),
.x = 0,
.matrixNum = 0,
@@ -930,1324 +956,1128 @@ static const struct OamData gUnknown_0860CF88 =
.affineParam = 0,
};
-static const union AnimCmd gUnknown_0860CF90[] =
+static const union AnimCmd sSpriteAnim_TourneyTreePokeballNormal[] =
{
ANIMCMD_FRAME(20, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860CF98[] =
+static const union AnimCmd sSpriteAnim_TourneyTreePokeballSelected[] =
{
ANIMCMD_FRAME(24, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860CFA0[] =
+static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] =
{
- gUnknown_0860CF90,
- gUnknown_0860CF98,
+ sSpriteAnim_TourneyTreePokeballNormal,
+ sSpriteAnim_TourneyTreePokeballSelected,
};
-static const struct SpriteTemplate gUnknown_0860CFA8 =
+// Sprite template for the pokeballs on the tourney tree that act as buttons to view a trainer/match info card
+static const struct SpriteTemplate sTourneyTreePokeballSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF70,
- .anims = gUnknown_0860CFA0,
+ .oam = &sOamData_TourneyTreePokeball,
+ .anims = sSpriteAnimTable_TourneyTreePokeball,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
+ .callback = SpriteCallbackDummy
};
-static const union AnimCmd gUnknown_0860CFC0[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonNormal[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860CFC8[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonSelected[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860CFD0[] =
+static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] =
{
- gUnknown_0860CFC0,
- gUnknown_0860CFC8,
+ sSpriteAnim_TourneyTreeCancelButtonNormal,
+ sSpriteAnim_TourneyTreeCancelButtonSelected,
};
-static const struct SpriteTemplate gUnknown_0860CFD8 =
+static const struct SpriteTemplate sCancelButtonSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF78,
- .anims = gUnknown_0860CFD0,
+ .oam = &sOamData_TourneyTreeCloseButton,
+ .anims = sSpriteAnimTable_TourneyTreeCancelButton,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
-static const union AnimCmd gUnknown_0860CFF0[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonNormal[] =
{
ANIMCMD_FRAME(40, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860CFF8[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonSelected[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860D000[] =
+static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] =
{
- gUnknown_0860CFF0,
- gUnknown_0860CFF8,
+ sSpriteAnim_TourneyTreeExitButtonNormal,
+ sSpriteAnim_TourneyTreeExitButtonSelected,
};
-static const struct SpriteTemplate gUnknown_0860D008 =
+static const struct SpriteTemplate sExitButtonSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF78,
- .anims = gUnknown_0860D000,
+ .oam = &sOamData_TourneyTreeCloseButton,
+ .anims = sSpriteAnimTable_TourneyTreeExitButton,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
-static const union AnimCmd gUnknown_0860D020[] =
+static const union AnimCmd sSpriteAnim_UpArrow[] =
{
ANIMCMD_FRAME(18, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860D028[] =
+static const union AnimCmd sSpriteAnim_DownArrow[] =
{
ANIMCMD_FRAME(18, 1, .vFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860D030[] =
+static const union AnimCmd sSpriteAnim_LeftArrow[] =
{
ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860D038[] =
+static const union AnimCmd sSpriteAnim_RightArrow[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860D040[] =
+static const union AnimCmd * const sSpriteAnimTable_VerticalScrollArrow[] =
{
- gUnknown_0860D020,
- gUnknown_0860D028,
+ sSpriteAnim_UpArrow,
+ sSpriteAnim_DownArrow,
};
-static const union AnimCmd * const gUnknown_0860D048[] =
+static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] =
{
- gUnknown_0860D030,
- gUnknown_0860D038,
+ sSpriteAnim_LeftArrow,
+ sSpriteAnim_RightArrow,
};
-static const struct SpriteTemplate gUnknown_0860D050 =
+static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF88,
- .anims = gUnknown_0860D048,
+ .oam = &sOamData_HorizontalScrollArrow,
+ .anims = sSpriteAnimTable_HorizontalScrollArrow,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8190B40
+ .callback = SpriteCb_HorizontalScrollArrow
};
-static const struct SpriteTemplate gUnknown_0860D068 =
+static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF80,
- .anims = gUnknown_0860D040,
+ .oam = &sOamData_VerticalScrollArrow,
+ .anims = sSpriteAnimTable_VerticalScrollArrow,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8190C6C
+ .callback = SpriteCb_VerticalScrollArrow
};
-static const u8 sTourneyTreeTrainerIds[] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
+// Organized by seed starting position, i.e. seed 0 battles seed 8 first
+static const u8 sTourneyTreeTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
static void (* const sBattleDomeFunctions[])(void) =
{
- InitDomeChallenge,
- GetDomeData,
- SetDomeData,
- BufferDomeRoundText,
- BufferDomeOpponentName,
- InitDomeOpponentParty,
- ShowDomeOpponentInfo,
- ShowDomeTourneyTree,
- ShowPreviousDomeResultsTourneyTree,
- SetDomeOpponentId,
- SetDomeOpponentGraphicsId,
- ShowNonInteractiveDomeTourneyTree,
- ResolveDomeRoundWinners,
- sub_81902F8,
- UpdateDomeStreaks,
- InitDomeFacilityTrainersAndMons,
- RestoreDomePlayerParty,
- RestoreDomePlayerPartyHeldItems,
- ReduceDomePlayerPartyTo3Mons,
- GetPlayerSeededBeforeOpponent,
- BufferLastDomeWinnerName,
- sub_8194F58,
- InitDomeTrainers,
+ [BATTLE_DOME_FUNC_INIT] = InitDomeChallenge,
+ [BATTLE_DOME_FUNC_GET_DATA] = GetDomeData,
+ [BATTLE_DOME_FUNC_SET_DATA] = SetDomeData,
+ [BATTLE_DOME_FUNC_GET_ROUND_TEXT] = BufferDomeRoundText,
+ [BATTLE_DOME_FUNC_GET_OPPONENT_NAME] = BufferDomeOpponentName,
+ [BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY] = InitDomeOpponentParty,
+ [BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO] = ShowDomeOpponentInfo,
+ [BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE] = ShowDomeTourneyTree,
+ [BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE] = ShowPreviousDomeTourneyTree,
+ [BATTLE_DOME_FUNC_SET_OPPONENT_ID] = SetDomeOpponentId,
+ [BATTLE_DOME_FUNC_SET_OPPONENT_GFX] = SetDomeOpponentGraphicsId,
+ [BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE] = ShowNonInteractiveDomeTourneyTree,
+ [BATTLE_DOME_FUNC_RESOLVE_WINNERS] = ResolveDomeRoundWinners,
+ [BATTLE_DOME_FUNC_SAVE] = SaveDomeChallenge,
+ [BATTLE_DOME_FUNC_INCREMENT_STREAK] = IncrementDomeStreaks,
+ [BATTLE_DOME_FUNC_SET_TRAINERS] = SetFacilityTrainerAndMonPtrs,
+ [BATTLE_DOME_FUNC_RESET_SKETCH] = ResetSketchedMoves,
+ [BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS] = RestoreDomePlayerPartyHeldItems,
+ [BATTLE_DOME_FUNC_REDUCE_PARTY] = ReduceDomePlayerPartyToSelectedMons,
+ [BATTLE_DOME_FUNC_COMPARE_SEEDS] = GetPlayerSeededBeforeOpponent,
+ [BATTLE_DOME_FUNC_GET_WINNER_NAME] = BufferLastDomeWinnerName,
+ [BATTLE_DOME_FUNC_INIT_RESULTS_TREE] = InitRandomTourneyTreeResults,
+ [BATTLE_DOME_FUNC_INIT_TRAINERS] = InitDomeTrainers,
};
-static const u32 gUnknown_0860D0EC[][2] =
+static const u32 sWinStreakFlags[][2] =
{
- {0x00000004, 0x00000008},
- {0x00100000, 0x00200000},
+ {STREAK_DOME_SINGLES_50, STREAK_DOME_SINGLES_OPEN},
+ {STREAK_DOME_DOUBLES_50, STREAK_DOME_DOUBLES_OPEN},
};
-static const u32 gUnknown_0860D0FC[][2] =
+static const u32 sWinStreakMasks[][2] =
{
- {0xfffffffb, 0xfffffff7},
- {0xffefffff, 0xffdfffff},
+ {~(STREAK_DOME_SINGLES_50), ~(STREAK_DOME_SINGLES_OPEN)},
+ {~(STREAK_DOME_DOUBLES_50), ~(STREAK_DOME_DOUBLES_OPEN)},
};
+// TODO: The below two arrays probably need better names. The one below for example is only true of sIdToOpponentId[i][0]
static const u8 sIdToOpponentId[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
{
- [0] = {8, 0, 4, 8},
- [1] = {9, 12, 8, 0},
- [2] = {10, 8, 12, 0},
- [3] = {11, 4, 0, 8},
- [4] = {12, 0, 4, 8},
- [5] = {13, 12, 8, 0},
- [6] = {14, 8, 12, 0},
- [7] = {15, 4, 0, 8},
- [8] = {0, 0, 4, 8},
- [9] = {1, 12, 8, 0},
- [10] = {2, 8, 12, 0},
- [11] = {3, 4, 0, 8},
- [12] = {4, 0, 4, 8},
- [13] = {5, 12, 8, 0},
- [14] = {6, 8, 12, 0},
- [15] = {7, 4, 0, 8},
+ [0] = { 8, 0, 4, 8},
+ [1] = { 9, 12, 8, 0},
+ [2] = {10, 8, 12, 0},
+ [3] = {11, 4, 0, 8},
+ [4] = {12, 0, 4, 8},
+ [5] = {13, 12, 8, 0},
+ [6] = {14, 8, 12, 0},
+ [7] = {15, 4, 0, 8},
+ [8] = { 0, 0, 4, 8},
+ [9] = { 1, 12, 8, 0},
+ [10] = { 2, 8, 12, 0},
+ [11] = { 3, 4, 0, 8},
+ [12] = { 4, 0, 4, 8},
+ [13] = { 5, 12, 8, 0},
+ [14] = { 6, 8, 12, 0},
+ [15] = { 7, 4, 0, 8},
};
-static const u8 gUnknown_0860D14C[] = {0x00, 0x08, 0x04, 0x0c, 0x07, 0x0f, 0x03, 0x0b, 0x02, 0x0a, 0x06, 0x0e, 0x05, 0x0d, 0x01, 0x09};
-
-static const u8 gUnknown_0860D15C[][4] =
-{
- {0x00, 0x08, 0x0c, 0x0e},
- {0x00, 0x08, 0x0c, 0x0e},
- {0x01, 0x08, 0x0c, 0x0e},
- {0x01, 0x08, 0x0c, 0x0e},
- {0x02, 0x09, 0x0c, 0x0e},
- {0x02, 0x09, 0x0c, 0x0e},
- {0x03, 0x09, 0x0c, 0x0e},
- {0x03, 0x09, 0x0c, 0x0e},
- {0x04, 0x0a, 0x0d, 0x0e},
- {0x04, 0x0a, 0x0d, 0x0e},
- {0x05, 0x0a, 0x0d, 0x0e},
- {0x05, 0x0a, 0x0d, 0x0e},
- {0x06, 0x0b, 0x0d, 0x0e},
- {0x06, 0x0b, 0x0d, 0x0e},
- {0x07, 0x0b, 0x0d, 0x0e},
- {0x07, 0x0b, 0x0d, 0x0e},
+// sTourneyTreeTrainerIds with every other pair swapped
+static const u8 sTourneyTreeTrainerOpponentIds[DOME_TOURNAMENT_TRAINERS_COUNT] = { 0, 8, 4, 12, 7, 15, 3, 11, 2, 10, 6, 14, 5, 13, 1, 9 };
+
+// The match number - 1 that a given tournament trainer will participate in for a given round
+static const u8 sIdToMatchNumber[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
+{
+ { 0, 8, 12, 14},
+ { 0, 8, 12, 14},
+ { 1, 8, 12, 14},
+ { 1, 8, 12, 14},
+ { 2, 9, 12, 14},
+ { 2, 9, 12, 14},
+ { 3, 9, 12, 14},
+ { 3, 9, 12, 14},
+ { 4, 10, 13, 14},
+ { 4, 10, 13, 14},
+ { 5, 10, 13, 14},
+ { 5, 10, 13, 14},
+ { 6, 11, 13, 14},
+ { 6, 11, 13, 14},
+ { 7, 11, 13, 14},
+ { 7, 11, 13, 14},
};
-static const u8 gUnknown_0860D19C[] = {0x17, 0x1b, 0x1d, 0x1e};
+static const u8 sLastMatchCardNum[DOME_ROUNDS_COUNT] =
+{
+ [DOME_ROUND1] = 23,
+ [DOME_ROUND2] = 27,
+ [DOME_SEMIFINAL] = 29,
+ [DOME_FINAL] = 30
+};
-static const u8 gUnknown_0860D1A0[][4] =
+static const u8 gUnknown_0860D1A0[DOME_TOURNAMENT_TRAINERS_COUNT / 2][DOME_ROUNDS_COUNT] =
{
- {0x10, 0x18, 0x1c, 0x1e},
- {0x11, 0x18, 0x1c, 0x1e},
- {0x12, 0x19, 0x1c, 0x1e},
- {0x13, 0x19, 0x1c, 0x1e},
- {0x14, 0x1a, 0x1d, 0x1e},
- {0x15, 0x1a, 0x1d, 0x1e},
- {0x16, 0x1b, 0x1d, 0x1e},
- {0x17, 0x1b, 0x1d, 0x1e},
+ {16, 24, 28, 30},
+ {17, 24, 28, 30},
+ {18, 25, 28, 30},
+ {19, 25, 28, 30},
+ {20, 26, 29, 30},
+ {21, 26, 29, 30},
+ {22, 27, 29, 30},
+ {23, 27, 29, 30},
};
-static const u8 gUnknown_0860D1C0[] = {0x00, 0x0f, 0x08, 0x07, 0x03, 0x0c, 0x0b, 0x04, 0x01, 0x0e, 0x09, 0x06, 0x02, 0x0d, 0x0a, 0x05};
-
-static const u8 *const sBattleDomePotentialTexts[] =
-{
- gBattleDomeOpponentPotentialText1,
- gBattleDomeOpponentPotentialText2,
- gBattleDomeOpponentPotentialText3,
- gBattleDomeOpponentPotentialText4,
- gBattleDomeOpponentPotentialText5,
- gBattleDomeOpponentPotentialText6,
- gBattleDomeOpponentPotentialText7,
- gBattleDomeOpponentPotentialText8,
- gBattleDomeOpponentPotentialText9,
- gBattleDomeOpponentPotentialText10,
- gBattleDomeOpponentPotentialText11,
- gBattleDomeOpponentPotentialText12,
- gBattleDomeOpponentPotentialText13,
- gBattleDomeOpponentPotentialText14,
- gBattleDomeOpponentPotentialText15,
- gBattleDomeOpponentPotentialText16,
- gBattleDomeOpponentPotentialText17,
+static const u8 gUnknown_0860D1C0[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 15, 8, 7, 3, 12, 11, 4, 1, 14, 9, 6, 2, 13, 10, 5};
+
+// Each tourney trainer has a text describing their potential to win, depending on their seed ranking for the current tourney
+// Dome Ace Tucker has their own separate potential text
+static const u8 *const sBattleDomePotentialTexts[DOME_TOURNAMENT_TRAINERS_COUNT + 1] =
+{
+ BattleDome_Text_Potential1, // Highest potential
+ BattleDome_Text_Potential2,
+ BattleDome_Text_Potential3,
+ BattleDome_Text_Potential4,
+ BattleDome_Text_Potential5,
+ BattleDome_Text_Potential6,
+ BattleDome_Text_Potential7,
+ BattleDome_Text_Potential8,
+ BattleDome_Text_Potential9,
+ BattleDome_Text_Potential10,
+ BattleDome_Text_Potential11,
+ BattleDome_Text_Potential12,
+ BattleDome_Text_Potential13,
+ BattleDome_Text_Potential14,
+ BattleDome_Text_Potential15,
+ BattleDome_Text_Potential16, // Lowest potential
+ BattleDome_Text_PotentialDomeAceTucker,
};
-static const u8 *const sBattleDomeOpponentStyleTexts[] =
-{
- gBattleDomeOpponentStyleText1,
- gBattleDomeOpponentStyleText2,
- gBattleDomeOpponentStyleText3,
- gBattleDomeOpponentStyleText4,
- gBattleDomeOpponentStyleText5,
- gBattleDomeOpponentStyleText6,
- gBattleDomeOpponentStyleText7,
- gBattleDomeOpponentStyleText8,
- gBattleDomeOpponentStyleText9,
- gBattleDomeOpponentStyleText10,
- gBattleDomeOpponentStyleText11,
- gBattleDomeOpponentStyleText12,
- gBattleDomeOpponentStyleText13,
- gBattleDomeOpponentStyleText14,
- gBattleDomeOpponentStyleText15,
- gBattleDomeOpponentStyleText16,
- gBattleDomeOpponentStyleText17,
- gBattleDomeOpponentStyleText18,
- gBattleDomeOpponentStyleText19,
- gBattleDomeOpponentStyleText20,
- gBattleDomeOpponentStyleText21,
- gBattleDomeOpponentStyleText22,
- gBattleDomeOpponentStyleText23,
- gBattleDomeOpponentStyleText24,
- gBattleDomeOpponentStyleText25,
- gBattleDomeOpponentStyleText26,
- gBattleDomeOpponentStyleText27,
- gBattleDomeOpponentStyleText28,
- gBattleDomeOpponentStyleTextUnused1,
- gBattleDomeOpponentStyleTextUnused2,
- gBattleDomeOpponentStyleTextUnused3,
- gBattleDomeOpponentStyleTextUnused4,
+// The first line of text on a trainers info card that gives information about their battle style (dependent on their party's moves)
+static const u8 *const sBattleDomeOpponentStyleTexts[NUM_BATTLE_STYLES] =
+{
+ [DOME_BATTLE_STYLE_RISKY] = BattleDome_Text_StyleRiskDisaster,
+ [DOME_BATTLE_STYLE_STALL] = BattleDome_Text_StyleEndureLongBattles,
+ [DOME_BATTLE_STYLE_VARIED] = BattleDome_Text_StyleVariesTactics,
+ [DOME_BATTLE_STYLE_COMBO_HIGH] = BattleDome_Text_StyleToughWinningPattern,
+ [DOME_BATTLE_STYLE_RARE_MOVES] = BattleDome_Text_StyleUsesVeryRareMove, // Seems like the text for these two was swapped
+ [DOME_BATTLE_STYLE_RARE_MOVE] = BattleDome_Text_StyleUsesStartlingMoves, //
+ [DOME_BATTLE_STYLE_HP] = BattleDome_Text_StyleConstantlyWatchesHP,
+ [DOME_BATTLE_STYLE_STORE_POWER] = BattleDome_Text_StyleStoresAndLoosesPower,
+ [DOME_BATTLE_STYLE_ENFEEBLE_LOW] = BattleDome_Text_StyleEnfeeblesFoes,
+ [DOME_BATTLE_STYLE_LUCK] = BattleDome_Text_StylePrefersLuckTactics,
+ [DOME_BATTLE_STYLE_REGAL] = BattleDome_Text_StyleRegalAtmosphere,
+ [DOME_BATTLE_STYLE_LOW_PP] = BattleDome_Text_StylePowerfulLowPPMoves,
+ [DOME_BATTLE_STYLE_STATUS_ATK] = BattleDome_Text_StyleEnfeebleThenAttack,
+ [DOME_BATTLE_STYLE_ENDURE] = BattleDome_Text_StyleBattlesWhileEnduring,
+ [DOME_BATTLE_STYLE_STATUS] = BattleDome_Text_StyleUpsetsFoesEmotionally,
+ [DOME_BATTLE_STYLE_STRAIGHTFORWARD] = BattleDome_Text_StyleStrongAndStraightforward,
+ [DOME_BATTLE_STYLE_AGGRESSIVE] = BattleDome_Text_StyleAggressivelyStrongMoves,
+ [DOME_BATTLE_STYLE_DEF] = BattleDome_Text_StyleCleverlyDodgesAttacks,
+ [DOME_BATTLE_STYLE_ENFEEBLE_HIGH] = BattleDome_Text_StyleUsesUpsettingMoves,
+ [DOME_BATTLE_STYLE_POPULAR_POWER] = BattleDome_Text_StyleUsesPopularMoves,
+ [DOME_BATTLE_STYLE_COMBO_LOW] = BattleDome_Text_StyleHasPowerfulComboMoves,
+ [DOME_BATTLE_STYLE_ACCURATE] = BattleDome_Text_StyleUsesHighProbabilityMoves,
+ [DOME_BATTLE_STYLE_POWERFUL] = BattleDome_Text_StyleAggressivelySpectacularMoves,
+ [DOME_BATTLE_STYLE_ATK_OVER_DEF] = BattleDome_Text_StyleEmphasizesOffenseOverDefense,
+ [DOME_BATTLE_STYLE_DEF_OVER_ATK] = BattleDome_Text_StyleEmphasizesDefenseOverOffense,
+ [DOME_BATTLE_STYLE_POPULAR_STRONG] = BattleDome_Text_StyleAttacksQuicklyStrongMoves,
+ [DOME_BATTLE_STYLE_EFFECTS] = BattleDome_Text_StyleUsesAddedEffectMoves,
+ [DOME_BATTLE_STYLE_BALANCED] = BattleDome_Text_StyleUsesBalancedMixOfMoves,
+ [DOME_BATTLE_STYLE_UNUSED1] = BattleDome_Text_StyleSampleMessage1,
+ [DOME_BATTLE_STYLE_UNUSED2] = BattleDome_Text_StyleSampleMessage2,
+ [DOME_BATTLE_STYLE_UNUSED3] = BattleDome_Text_StyleSampleMessage3,
+ [DOME_BATTLE_STYLE_UNUSED4] = BattleDome_Text_StyleSampleMessage4,
};
+// The second line of text on a trainers info card that gives information about their party's stat spread
static const u8 *const sBattleDomeOpponentStatsTexts[] =
{
- gBattleDomeOpponentStatsText1,
- gBattleDomeOpponentStatsText2,
- gBattleDomeOpponentStatsText3,
- gBattleDomeOpponentStatsText4,
- gBattleDomeOpponentStatsText5,
- gBattleDomeOpponentStatsText6,
- gBattleDomeOpponentStatsText7,
- gBattleDomeOpponentStatsText8,
- gBattleDomeOpponentStatsText9,
- gBattleDomeOpponentStatsText10,
- gBattleDomeOpponentStatsText11,
- gBattleDomeOpponentStatsText12,
- gBattleDomeOpponentStatsText13,
- gBattleDomeOpponentStatsText14,
- gBattleDomeOpponentStatsText15,
- gBattleDomeOpponentStatsText16,
- gBattleDomeOpponentStatsText17,
- gBattleDomeOpponentStatsText18,
- gBattleDomeOpponentStatsText19,
- gBattleDomeOpponentStatsText20,
- gBattleDomeOpponentStatsText21,
- gBattleDomeOpponentStatsText22,
- gBattleDomeOpponentStatsText23,
- gBattleDomeOpponentStatsText24,
- gBattleDomeOpponentStatsText25,
- gBattleDomeOpponentStatsText26,
- gBattleDomeOpponentStatsText27,
- gBattleDomeOpponentStatsText28,
- gBattleDomeOpponentStatsText29,
- gBattleDomeOpponentStatsText30,
- gBattleDomeOpponentStatsText31,
- gBattleDomeOpponentStatsText32,
- gBattleDomeOpponentStatsText33,
- gBattleDomeOpponentStatsText34,
- gBattleDomeOpponentStatsText35,
- gBattleDomeOpponentStatsText36,
- gBattleDomeOpponentStatsText37,
- gBattleDomeOpponentStatsText38,
- gBattleDomeOpponentStatsText39,
- gBattleDomeOpponentStatsText40,
- gBattleDomeOpponentStatsText41,
- gBattleDomeOpponentStatsText42,
- gBattleDomeOpponentStatsText43,
+ BattleDome_Text_EmphasizesHPAndAtk, // DOME_TEXT_TWO_GOOD_STATS and DOME_TEXT_HP start here
+ BattleDome_Text_EmphasizesHPAndDef,
+ BattleDome_Text_EmphasizesHPAndSpeed,
+ BattleDome_Text_EmphasizesHPAndSpAtk,
+ BattleDome_Text_EmphasizesHPAndSpDef,
+ BattleDome_Text_EmphasizesAtkAndDef, // DOME_TEXT_ATK starts here
+ BattleDome_Text_EmphasizesAtkAndSpeed,
+ BattleDome_Text_EmphasizesAtkAndSpAtk,
+ BattleDome_Text_EmphasizesAtkAndSpDef,
+ BattleDome_Text_EmphasizesDefAndSpeed, // DOME_TEXT_DEF starts here
+ BattleDome_Text_EmphasizesDefAndSpAtk,
+ BattleDome_Text_EmphasizesDefAndSpDef,
+ BattleDome_Text_EmphasizesSpeedAndSpAtk, // DOME_TEXT_SPEED starts here
+ BattleDome_Text_EmphasizesSpeedAndSpDef,
+ BattleDome_Text_EmphasizesSpAtkAndSpDef, // DOME_TEXT_SPATK starts here
+ BattleDome_Text_EmphasizesHP, // DOME_TEXT_ONE_GOOD_STAT starts here
+ BattleDome_Text_EmphasizesAtk,
+ BattleDome_Text_EmphasizesDef,
+ BattleDome_Text_EmphasizesSpeed,
+ BattleDome_Text_EmphasizesSpAtk,
+ BattleDome_Text_EmphasizesSpDef,
+ BattleDome_Text_NeglectsHPAndAtk, // DOME_TEXT_TWO_BAD_STATS starts here
+ BattleDome_Text_NeglectsHPAndDef,
+ BattleDome_Text_NeglectsHPAndSpeed,
+ BattleDome_Text_NeglectsHPAndSpAtk,
+ BattleDome_Text_NeglectsHPAndSpDef,
+ BattleDome_Text_NeglectsAtkAndDef,
+ BattleDome_Text_NeglectsAtkAndSpeed,
+ BattleDome_Text_NeglectsAtkAndSpAtk,
+ BattleDome_Text_NeglectsAtkAndSpDef,
+ BattleDome_Text_NeglectsDefAndSpeed,
+ BattleDome_Text_NeglectsDefAndSpAtk,
+ BattleDome_Text_NeglectsDefAndSpDef,
+ BattleDome_Text_NeglectsSpeedAndSpAtk,
+ BattleDome_Text_NeglectsSpeedAndSpDef,
+ BattleDome_Text_NeglectsSpAtkAndSpDef,
+ BattleDome_Text_NeglectsHP, // DOME_TEXT_ONE_BAD_STAT starts here
+ BattleDome_Text_NeglectsAtk,
+ BattleDome_Text_NeglectsDef,
+ BattleDome_Text_NeglectsSpeed,
+ BattleDome_Text_NeglectsSpAtk,
+ BattleDome_Text_NeglectsSpDef,
+ [DOME_TEXT_WELL_BALANCED] = BattleDome_Text_RaisesMonsWellBalanced,
};
-static const u8 sInfoTrainerMonX[] = {0x68, 0x88, 0x68};
-static const u8 sInfoTrainerMonY[] = {0x26, 0x3e, 0x4e};
-static const u8 gUnknown_0860D346[] = {0x00, 0x04, 0x00};
-
-static const u8 gUnknown_0860D349[] = {0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00};
-
-static const u8 *const sBattleDomeMatchNumberTexts[] =
-{
- gBattleDomeMatchNumberText1,
- gBattleDomeMatchNumberText2,
- gBattleDomeMatchNumberText3,
- gBattleDomeMatchNumberText4,
- gBattleDomeMatchNumberText5,
- gBattleDomeMatchNumberText6,
- gBattleDomeMatchNumberText7,
- gBattleDomeMatchNumberText8,
- gBattleDomeMatchNumberText9,
- gBattleDomeMatchNumberText10,
- gBattleDomeMatchNumberText11,
- gBattleDomeMatchNumberText12,
- gBattleDomeMatchNumberText13,
- gBattleDomeMatchNumberText14,
- gBattleDomeMatchNumberText15,
+static const u8 sInfoTrainerMonX[FRONTIER_PARTY_SIZE] = {104, 136, 104};
+static const u8 sInfoTrainerMonY[FRONTIER_PARTY_SIZE] = { 38, 62, 78};
+static const u8 sSpeciesNameTextYCoords[] = {0, 4, 0};
+
+// Offsets within sBattleDomeOpponentStatsTexts for stat combinations
+// SPDEF has no offset because by then all stat combinations have been reached, so it has no combination texts
+static const u8 sStatTextOffsets[NUM_STATS - 1] =
+{
+ DOME_TEXT_HP,
+ DOME_TEXT_ATK,
+ DOME_TEXT_DEF,
+ DOME_TEXT_SPEED,
+ DOME_TEXT_SPATK
+};
+
+static const u8 *const sBattleDomeMatchNumberTexts[DOME_TOURNAMENT_MATCHES_COUNT] =
+{
+ BattleDome_Text_Round1Match1,
+ BattleDome_Text_Round1Match2,
+ BattleDome_Text_Round1Match3,
+ BattleDome_Text_Round1Match4,
+ BattleDome_Text_Round1Match5,
+ BattleDome_Text_Round1Match6,
+ BattleDome_Text_Round1Match7,
+ BattleDome_Text_Round1Match8,
+ BattleDome_Text_Round2Match1,
+ BattleDome_Text_Round2Match2,
+ BattleDome_Text_Round2Match3,
+ BattleDome_Text_Round2Match4,
+ BattleDome_Text_SemifinalMatch1,
+ BattleDome_Text_SemifinalMatch2,
+ BattleDome_Text_FinalMatch,
};
static const u8 *const sBattleDomeWinTexts[] =
{
- gBattleDomeWinText1,
- gBattleDomeWinText2,
- gBattleDomeWinText3,
- gBattleDomeWinText4,
- gBattleDomeWinText5,
- gBattleDomeWinText6,
- gBattleDomeWinText7,
+ [DOME_TEXT_NO_WINNER_YET] = BattleDome_Text_LetTheBattleBegin,
+ [DOME_TEXT_WON_USING_MOVE] = BattleDome_Text_TrainerWonUsingMove,
+ [DOME_TEXT_CHAMP_USING_MOVE] = BattleDome_Text_TrainerBecameChamp,
+ [DOME_TEXT_WON_ON_FORFEIT] = BattleDome_Text_TrainerWonByDefault,
+ [DOME_TEXT_CHAMP_ON_FORFEIT] = BattleDome_Text_TrainerWonOutrightByDefault,
+ [DOME_TEXT_WON_NO_MOVES] = BattleDome_Text_TrainerWonNoMoves,
+ [DOME_TEXT_CHAMP_NO_MOVES] = BattleDome_Text_TrainerWonOutrightNoMoves,
};
-static const u8 sFirstTrainerMonX[] = {0x60, 0x60, 0x60};
-static const u8 sFirstTrainerMonY[] = {0x38, 0x50, 0x68};
-static const u8 sSecondTrainerMonX[] = {0x90, 0x90, 0x90};
-static const u8 sSecondTrainerMonY[] = {0x38, 0x50, 0x68};
-
-static const u8 gUnknown_0860D3B4[] = {0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01};
-
-static const u8 gUnknown_0860D3C4[][3] =
-{
- {0x00, 0x02, 0x00},
- {0x02, 0x02, 0x00},
- {0x04, 0x02, 0x00},
- {0x06, 0x02, 0x00},
- {0x08, 0x02, 0x00},
- {0x0a, 0x02, 0x00},
- {0x0c, 0x02, 0x00},
- {0x0e, 0x02, 0x00},
- {0x00, 0x04, 0x01},
- {0x04, 0x04, 0x01},
- {0x08, 0x04, 0x01},
- {0x0c, 0x04, 0x01},
- {0x00, 0x08, 0x02},
- {0x08, 0x08, 0x02},
- {0x00, 0x10, 0x03},
+static const u8 sLeftTrainerMonX[FRONTIER_PARTY_SIZE] = { 96, 96, 96};
+static const u8 sLeftTrainerMonY[FRONTIER_PARTY_SIZE] = { 56, 80, 104};
+static const u8 sRightTrainerMonX[FRONTIER_PARTY_SIZE] = {144, 144, 144};
+static const u8 sRightTrainerMonY[FRONTIER_PARTY_SIZE] = { 56, 80, 104};
+
+// Duplicate of sTourneyTreeTrainerIds
+static const u8 sTourneyTreeTrainerIds2[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
+
+// The number of possible trainers that could be competing in a given match
+#define NUM_POSSIBLE_MATCH_TRAINERS(round) (DOME_TOURNAMENT_TRAINERS_COUNT / (1 << (DOME_ROUNDS_COUNT - round - 1)))
+
+// The range of tournament trainers to check as possible participants in a given match
+// Given by the offset in sCompetitorRangeByMatch[][0], the number of trainers in sCompetitorRangeByMatch[][1], and the round
+static const u8 sCompetitorRangeByMatch[DOME_TOURNAMENT_MATCHES_COUNT][3] =
+{
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 2, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 3, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 4, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 5, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 6, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 7, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 2, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 3, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL), DOME_SEMIFINAL},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL), DOME_SEMIFINAL},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_FINAL) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_FINAL), DOME_FINAL},
};
-static const u8 gUnknown_0860D3F1[][2] =
-{
- {0x00, 0x00},
- {0x01, 0x70},
- {0x01, 0x00},
- {0x00, 0x70},
- {0x00, 0x30},
- {0x01, 0x40},
- {0x01, 0x30},
- {0x00, 0x40},
- {0x00, 0x10},
- {0x01, 0x60},
- {0x01, 0x10},
- {0x00, 0x60},
- {0x00, 0x20},
- {0x01, 0x50},
- {0x01, 0x20},
- {0x00, 0x50},
+// 1st value is the windowId (0 for left column, 1 for right column)
+// 2nd value is the y coord
+static const u8 sTrainerNamePositions[DOME_TOURNAMENT_TRAINERS_COUNT][2] =
+{
+ { 0, 0},
+ { 1, 112},
+ { 1, 0},
+ { 0, 112},
+ { 0, 48},
+ { 1, 64},
+ { 1, 48},
+ { 0, 64},
+ { 0, 16},
+ { 1, 96},
+ { 1, 16},
+ { 0, 96},
+ { 0, 32},
+ { 1, 80},
+ { 1, 32},
+ { 0, 80},
};
-static const u8 gUnknown_0860D411[][2] =
-{
- {0x44, 0x21},
- {0x44, 0x31},
- {0x44, 0x41},
- {0x44, 0x51},
- {0x44, 0x61},
- {0x44, 0x71},
- {0x44, 0x81},
- {0x44, 0x91},
- {0xac, 0x21},
- {0xac, 0x31},
- {0xac, 0x41},
- {0xac, 0x51},
- {0xac, 0x61},
- {0xac, 0x71},
- {0xac, 0x81},
- {0xac, 0x91},
- {0x57, 0x29},
- {0x57, 0x49},
- {0x57, 0x69},
- {0x57, 0x89},
- {0x99, 0x29},
- {0x99, 0x49},
- {0x99, 0x69},
- {0x99, 0x89},
- {0x5f, 0x39},
- {0x5f, 0x79},
- {0x91, 0x39},
- {0x91, 0x79},
- {0x67, 0x59},
- {0x89, 0x59},
- {0x78, 0x59},
+// Coords for the pokeballs on the tourney tree that act as buttons to view trainer/match info
+static const u8 sTourneyTreePokeballCoords[DOME_TOURNAMENT_TRAINERS_COUNT + DOME_TOURNAMENT_MATCHES_COUNT][2] =
+{
+ { 68, 33}, // Left side trainers
+ { 68, 49},
+ { 68, 65},
+ { 68, 81},
+ { 68, 97},
+ { 68, 113},
+ { 68, 129},
+ { 68, 145},
+ {172, 33}, // Right side trainers
+ {172, 49},
+ {172, 65},
+ {172, 81},
+ {172, 97},
+ {172, 113},
+ {172, 129},
+ {172, 145},
+ { 87, 41}, // Left side Round 1 matches
+ { 87, 73},
+ { 87, 105},
+ { 87, 137},
+ {153, 41}, // Right side Round 1 matches
+ {153, 73},
+ {153, 105},
+ {153, 137},
+ { 95, 57}, // Left side Round 2 matches
+ { 95, 121},
+ {145, 57}, // Right side Round 2 matches
+ {145, 121},
+ {103, 89}, // Left side semifinal match
+ {137, 89}, // Right side semifinal match
+ {120, 89}, // Final match
};
-static const struct UnkStruct_860DD10 gUnknown_0860d450[] =
+// Each of these line sections define the position of the advancement line on the tourney tree for the victor of that round
+// The trainers here are numbered by tourney ID (rank/seed) and ordered according to where they start on the tourney tree
+#define LINESECTION_ROUND1_TRAINER1(lastSrc) \
+ {.src = 0x6021, .y = 0x04, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x04, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x05, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER9(lastSrc) \
+ {.src = 0x6021, .y = 0x06, .x = 0x09}, \
+ {.src = 0x6021, .y = 0x06, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x05, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER13(lastSrc) \
+ {.src = 0x6021, .y = 0x08, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x08, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x09, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER5(lastSrc) \
+ {.src = 0x6021, .y = 0x0a, .x = 0x09}, \
+ {.src = 0x6021, .y = 0x0a, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x09, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER8(lastSrc) \
+ {.src = 0x6021, .y = 0x0c, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x0c, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x0d, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER16(lastSrc) \
+ {.src = 0x6021, .y = 0x0e, .x = 0x09}, \
+ {.src = 0x6021, .y = 0x0e, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x0d, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER12(lastSrc) \
+ {.src = 0x6021, .y = 0x10, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x10, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x11, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER4(lastSrc) \
+ {.src = 0x602b, .y = 0x12, .x = 0x09}, \
+ {.src = 0x602b, .y = 0x12, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x11, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER3(lastSrc) \
+ {.src = 0x6021, .y = 0x04, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x04, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x05, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER11(lastSrc) \
+ {.src = 0x6021, .y = 0x06, .x = 0x14}, \
+ {.src = 0x6021, .y = 0x06, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x05, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER15(lastSrc) \
+ {.src = 0x6021, .y = 0x08, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x08, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x09, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER7(lastSrc) \
+ {.src = 0x6021, .y = 0x0a, .x = 0x14}, \
+ {.src = 0x6021, .y = 0x0a, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x09, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER6(lastSrc) \
+ {.src = 0x6021, .y = 0x0c, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x0c, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x0d, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER14(lastSrc) \
+ {.src = 0x6021, .y = 0x0e, .x = 0x14}, \
+ {.src = 0x6021, .y = 0x0e, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x0d, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER10(lastSrc) \
+ {.src = 0x6021, .y = 0x10, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x10, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x11, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER2(lastSrc) \
+ {.src = 0x602b, .y = 0x12, .x = 0x14}, \
+ {.src = 0x602b, .y = 0x12, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x11, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x12},
+
+#define LINESECTION_ROUND2_MATCH1(lastSrc) \
+ {.src = 0x6027, .y = 0x06, .x = 0x0b}, \
+ {.src = 0x6047, .y = 0x07, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH2(lastSrc) \
+ {.src = 0x6027, .y = 0x08, .x = 0x0b}, \
+ {.src = 0x6027, .y = 0x07, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH3(lastSrc) \
+ {.src = 0x6027, .y = 0x0e, .x = 0x0b}, \
+ {.src = 0x6047, .y = 0x0f, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH4(lastSrc) \
+ {.src = 0x6027, .y = 0x10, .x = 0x0b}, \
+ {.src = 0x6027, .y = 0x0f, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH5(lastSrc) \
+ {.src = 0x6029, .y = 0x06, .x = 0x12}, \
+ {.src = 0x6049, .y = 0x07, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x11},
+
+#define LINESECTION_ROUND2_MATCH6(lastSrc) \
+ {.src = 0x6029, .y = 0x08, .x = 0x12}, \
+ {.src = 0x6029, .y = 0x07, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x11},
+
+#define LINESECTION_ROUND2_MATCH7(lastSrc) \
+ {.src = 0x6029, .y = 0x0e, .x = 0x12}, \
+ {.src = 0x6049, .y = 0x0f, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x11},
+
+#define LINESECTION_ROUND2_MATCH8(lastSrc) \
+ {.src = 0x6029, .y = 0x10, .x = 0x12}, \
+ {.src = 0x6029, .y = 0x0f, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x11},
+
+#define LINESECTION_SEMIFINAL_TOP_LEFT \
+ {.src = 0x6027, .y = 0x08, .x = 0x0c}, \
+ {.src = 0x6027, .y = 0x09, .x = 0x0c}, \
+ {.src = 0x6027, .y = 0x0a, .x = 0x0c}, \
+ {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+
+#define LINESECTION_SEMIFINAL_BOTTOM_LEFT \
+ {.src = 0x6033, .y = 0x0e, .x = 0x0c}, \
+ {.src = 0x6032, .y = 0x0d, .x = 0x0c}, \
+ {.src = 0x6031, .y = 0x0c, .x = 0x0c}, \
+ {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+
+#define LINESECTION_SEMIFINAL_TOP_RIGHT \
+ {.src = 0x6029, .y = 0x08, .x = 0x11}, \
+ {.src = 0x6029, .y = 0x09, .x = 0x11}, \
+ {.src = 0x6029, .y = 0x0a, .x = 0x11}, \
+ {.src = 0x603c, .y = 0x0b, .x = 0x11},
+
+#define LINESECTION_SEMIFINAL_BOTTOM_RIGHT \
+ {.src = 0x6038, .y = 0x0e, .x = 0x11}, \
+ {.src = 0x6037, .y = 0x0d, .x = 0x11}, \
+ {.src = 0x6036, .y = 0x0c, .x = 0x11}, \
+ {.src = 0x6035, .y = 0x0b, .x = 0x11},
+
+#define LINESECTION_FINAL_LEFT \
+ {.src = 0x602c, .y = 0x0b, .x = 0x0d}, \
+ {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+
+#define LINESECTION_FINAL_RIGHT \
+ {.src = 0x602f, .y = 0x0b, .x = 0x10}, \
+ {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+
+
+static const struct TourneyTreeLineSection sLineSectionTrainer1Round1[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6043, .y = 0x05, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER1(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d460[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer1Round2[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER1(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d47c[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer1Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER1(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d4a8[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer1Final[] =
+{
+ LINESECTION_ROUND1_TRAINER1(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d4dc[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer9Round1[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6043, .y = 0x05, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER9(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d4ec[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer9Round2[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER9(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d508[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer9Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER9(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d534[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer9Final[] =
+{
+ LINESECTION_ROUND1_TRAINER9(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d568[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer13Round1[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER13(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d578[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer13Round2[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER13(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d594[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer13Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER13(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d5c0[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer13Final[] =
+{
+ LINESECTION_ROUND1_TRAINER13(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d5f4[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer5Round1[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER5(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d604[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer5Round2[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER5(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d620[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer5Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER5(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d64c[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer5Final[] =
+{
+ LINESECTION_ROUND1_TRAINER5(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d680[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer8Round1[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6043, .y = 0x0d, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER8(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d690[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer8Round2[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER8(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d6ac[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer8Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER8(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d6d8[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer8Final[] =
+{
+ LINESECTION_ROUND1_TRAINER8(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d70c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer16Round1[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6043, .y = 0x0d, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER16(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d71c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer16Round2[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER16(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d738[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer16Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER16(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d764[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer16Final[] =
+{
+ LINESECTION_ROUND1_TRAINER16(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d798[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer12Round1[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER12(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d7a8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer12Round2[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER12(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d7c4[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer12Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER12(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d7f0[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer12Final[] =
+{
+ LINESECTION_ROUND1_TRAINER12(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d824[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer4Round1[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER4(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d834[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer4Round2[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER4(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d850[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer4Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER4(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d87c[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer4Final[] =
+{
+ LINESECTION_ROUND1_TRAINER4(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d8b0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer3Round1[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6045, .y = 0x05, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER3(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d8c0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer3Round2[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER3(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d8dc[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer3Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER3(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d908[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer3Final[] =
+{
+ LINESECTION_ROUND1_TRAINER3(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d93c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer11Round1[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6045, .y = 0x05, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER11(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d94c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer11Round2[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER11(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d968[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer11Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER11(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d994[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer11Final[] =
+{
+ LINESECTION_ROUND1_TRAINER11(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d9c8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer15Round1[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER15(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d9d8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer15Round2[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER15(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d9f4[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer15Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER15(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860da20[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer15Final[] =
+{
+ LINESECTION_ROUND1_TRAINER15(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860da54[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer7Round1[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER7(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860da64[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer7Round2[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER7(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860da80[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer7Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER7(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860daac[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer7Final[] =
+{
+ LINESECTION_ROUND1_TRAINER7(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dae0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer6Round1[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6045, .y = 0x0d, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER6(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860daf0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer6Round2[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER6(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860db0c[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer6Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER6(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860db38[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer6Final[] =
+{
+ LINESECTION_ROUND1_TRAINER6(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860db6c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer14Round1[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6045, .y = 0x0d, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER14(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860db7c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer14Round2[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER14(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860db98[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer14Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER14(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dbc4[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer14Final[] =
+{
+ LINESECTION_ROUND1_TRAINER14(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dbf8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer10Round1[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER10(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc08[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer10Round2[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER10(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc24[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer10Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER10(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc50[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer10Final[] =
+{
+ LINESECTION_ROUND1_TRAINER10(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc84[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer2Round1[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER2(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc94[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer2Round2[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER2(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dcb0[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer2Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER2(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dcdc[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer2Final[] =
+{
+ LINESECTION_ROUND1_TRAINER2(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 * const gUnknown_0860DD10[DOME_TOURNAMENT_TRAINERS_COUNT][4] =
-{
- {gUnknown_0860d450, gUnknown_0860d460, gUnknown_0860d47c, gUnknown_0860d4a8},
- {gUnknown_0860dc84, gUnknown_0860dc94, gUnknown_0860dcb0, gUnknown_0860dcdc},
- {gUnknown_0860d8b0, gUnknown_0860d8c0, gUnknown_0860d8dc, gUnknown_0860d908},
- {gUnknown_0860d824, gUnknown_0860d834, gUnknown_0860d850, gUnknown_0860d87c},
- {gUnknown_0860d5f4, gUnknown_0860d604, gUnknown_0860d620, gUnknown_0860d64c},
- {gUnknown_0860dae0, gUnknown_0860daf0, gUnknown_0860db0c, gUnknown_0860db38},
- {gUnknown_0860da54, gUnknown_0860da64, gUnknown_0860da80, gUnknown_0860daac},
- {gUnknown_0860d680, gUnknown_0860d690, gUnknown_0860d6ac, gUnknown_0860d6d8},
- {gUnknown_0860d4dc, gUnknown_0860d4ec, gUnknown_0860d508, gUnknown_0860d534},
- {gUnknown_0860dbf8, gUnknown_0860dc08, gUnknown_0860dc24, gUnknown_0860dc50},
- {gUnknown_0860d93c, gUnknown_0860d94c, gUnknown_0860d968, gUnknown_0860d994},
- {gUnknown_0860d798, gUnknown_0860d7a8, gUnknown_0860d7c4, gUnknown_0860d7f0},
- {gUnknown_0860d568, gUnknown_0860d578, gUnknown_0860d594, gUnknown_0860d5c0},
- {gUnknown_0860db6c, gUnknown_0860db7c, gUnknown_0860db98, gUnknown_0860dbc4},
- {gUnknown_0860d9c8, gUnknown_0860d9d8, gUnknown_0860d9f4, gUnknown_0860da20},
- {gUnknown_0860d70c, gUnknown_0860d71c, gUnknown_0860d738, gUnknown_0860d764},
+static const struct TourneyTreeLineSection *const sTourneyTreeLineSections[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
+{
+ {sLineSectionTrainer1Round1, sLineSectionTrainer1Round2, sLineSectionTrainer1Semifinal, sLineSectionTrainer1Final},
+ {sLineSectionTrainer2Round1, sLineSectionTrainer2Round2, sLineSectionTrainer2Semifinal, sLineSectionTrainer2Final},
+ {sLineSectionTrainer3Round1, sLineSectionTrainer3Round2, sLineSectionTrainer3Semifinal, sLineSectionTrainer3Final},
+ {sLineSectionTrainer4Round1, sLineSectionTrainer4Round2, sLineSectionTrainer4Semifinal, sLineSectionTrainer4Final},
+ {sLineSectionTrainer5Round1, sLineSectionTrainer5Round2, sLineSectionTrainer5Semifinal, sLineSectionTrainer5Final},
+ {sLineSectionTrainer6Round1, sLineSectionTrainer6Round2, sLineSectionTrainer6Semifinal, sLineSectionTrainer6Final},
+ {sLineSectionTrainer7Round1, sLineSectionTrainer7Round2, sLineSectionTrainer7Semifinal, sLineSectionTrainer7Final},
+ {sLineSectionTrainer8Round1, sLineSectionTrainer8Round2, sLineSectionTrainer8Semifinal, sLineSectionTrainer8Final},
+ {sLineSectionTrainer9Round1, sLineSectionTrainer9Round2, sLineSectionTrainer9Semifinal, sLineSectionTrainer9Final},
+ {sLineSectionTrainer10Round1, sLineSectionTrainer10Round2, sLineSectionTrainer10Semifinal, sLineSectionTrainer10Final},
+ {sLineSectionTrainer11Round1, sLineSectionTrainer11Round2, sLineSectionTrainer11Semifinal, sLineSectionTrainer11Final},
+ {sLineSectionTrainer12Round1, sLineSectionTrainer12Round2, sLineSectionTrainer12Semifinal, sLineSectionTrainer12Final},
+ {sLineSectionTrainer13Round1, sLineSectionTrainer13Round2, sLineSectionTrainer13Semifinal, sLineSectionTrainer13Final},
+ {sLineSectionTrainer14Round1, sLineSectionTrainer14Round2, sLineSectionTrainer14Semifinal, sLineSectionTrainer14Final},
+ {sLineSectionTrainer15Round1, sLineSectionTrainer15Round2, sLineSectionTrainer15Semifinal, sLineSectionTrainer15Final},
+ {sLineSectionTrainer16Round1, sLineSectionTrainer16Round2, sLineSectionTrainer16Semifinal, sLineSectionTrainer16Final},
};
-static const u8 gUnknown_0860DE10[DOME_TOURNAMENT_TRAINERS_COUNT][4] =
-{
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
+static const u8 sTourneyTreeLineSectionArrayCounts[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
+{
+ {ARRAY_COUNT(sLineSectionTrainer1Round1), ARRAY_COUNT(sLineSectionTrainer1Round2), ARRAY_COUNT(sLineSectionTrainer1Semifinal), ARRAY_COUNT(sLineSectionTrainer1Final)},
+ {ARRAY_COUNT(sLineSectionTrainer2Round1), ARRAY_COUNT(sLineSectionTrainer2Round2), ARRAY_COUNT(sLineSectionTrainer2Semifinal), ARRAY_COUNT(sLineSectionTrainer2Final)},
+ {ARRAY_COUNT(sLineSectionTrainer3Round1), ARRAY_COUNT(sLineSectionTrainer3Round2), ARRAY_COUNT(sLineSectionTrainer3Semifinal), ARRAY_COUNT(sLineSectionTrainer3Final)},
+ {ARRAY_COUNT(sLineSectionTrainer4Round1), ARRAY_COUNT(sLineSectionTrainer4Round2), ARRAY_COUNT(sLineSectionTrainer4Semifinal), ARRAY_COUNT(sLineSectionTrainer4Final)},
+ {ARRAY_COUNT(sLineSectionTrainer5Round1), ARRAY_COUNT(sLineSectionTrainer5Round2), ARRAY_COUNT(sLineSectionTrainer5Semifinal), ARRAY_COUNT(sLineSectionTrainer5Final)},
+ {ARRAY_COUNT(sLineSectionTrainer6Round1), ARRAY_COUNT(sLineSectionTrainer6Round2), ARRAY_COUNT(sLineSectionTrainer6Semifinal), ARRAY_COUNT(sLineSectionTrainer6Final)},
+ {ARRAY_COUNT(sLineSectionTrainer7Round1), ARRAY_COUNT(sLineSectionTrainer7Round2), ARRAY_COUNT(sLineSectionTrainer7Semifinal), ARRAY_COUNT(sLineSectionTrainer7Final)},
+ {ARRAY_COUNT(sLineSectionTrainer8Round1), ARRAY_COUNT(sLineSectionTrainer8Round2), ARRAY_COUNT(sLineSectionTrainer8Semifinal), ARRAY_COUNT(sLineSectionTrainer8Final)},
+ {ARRAY_COUNT(sLineSectionTrainer9Round1), ARRAY_COUNT(sLineSectionTrainer9Round2), ARRAY_COUNT(sLineSectionTrainer9Semifinal), ARRAY_COUNT(sLineSectionTrainer9Final)},
+ {ARRAY_COUNT(sLineSectionTrainer10Round1), ARRAY_COUNT(sLineSectionTrainer10Round2), ARRAY_COUNT(sLineSectionTrainer10Semifinal), ARRAY_COUNT(sLineSectionTrainer10Final)},
+ {ARRAY_COUNT(sLineSectionTrainer11Round1), ARRAY_COUNT(sLineSectionTrainer11Round2), ARRAY_COUNT(sLineSectionTrainer11Semifinal), ARRAY_COUNT(sLineSectionTrainer11Final)},
+ {ARRAY_COUNT(sLineSectionTrainer12Round1), ARRAY_COUNT(sLineSectionTrainer12Round2), ARRAY_COUNT(sLineSectionTrainer12Semifinal), ARRAY_COUNT(sLineSectionTrainer12Final)},
+ {ARRAY_COUNT(sLineSectionTrainer13Round1), ARRAY_COUNT(sLineSectionTrainer13Round2), ARRAY_COUNT(sLineSectionTrainer13Semifinal), ARRAY_COUNT(sLineSectionTrainer13Final)},
+ {ARRAY_COUNT(sLineSectionTrainer14Round1), ARRAY_COUNT(sLineSectionTrainer14Round2), ARRAY_COUNT(sLineSectionTrainer14Semifinal), ARRAY_COUNT(sLineSectionTrainer14Final)},
+ {ARRAY_COUNT(sLineSectionTrainer15Round1), ARRAY_COUNT(sLineSectionTrainer15Round2), ARRAY_COUNT(sLineSectionTrainer15Semifinal), ARRAY_COUNT(sLineSectionTrainer15Final)},
+ {ARRAY_COUNT(sLineSectionTrainer16Round1), ARRAY_COUNT(sLineSectionTrainer16Round2), ARRAY_COUNT(sLineSectionTrainer16Semifinal), ARRAY_COUNT(sLineSectionTrainer16Final)},
};
// code
@@ -2261,11 +2091,11 @@ static void InitDomeChallenge(void)
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
- gSaveBlock2Ptr->frontier.field_CA9_b = 0;
- if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]))
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE;
+ if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
@@ -2279,63 +2109,63 @@ static void GetDomeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
+ case DOME_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
break;
- case 1:
- gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]) != 0);
+ case DOME_DATA_WIN_STREAK_ACTIVE:
+ gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
- case 2:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0;
+ case DOME_DATA_ATTEMPTED_SINGLES_50:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSingles50;
break;
- case 3:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_1;
+ case DOME_DATA_ATTEMPTED_SINGLES_OPEN:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen;
break;
- case 4:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2;
+ case DOME_DATA_HAS_WON_SINGLES_50:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSingles50;
break;
- case 5:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3;
+ case DOME_DATA_HAS_WON_SINGLES_OPEN:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen;
break;
- case 6:
+ case DOME_DATA_ATTEMPTED_CHALLENGE:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
- if (lvlMode)
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_5;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedDoublesOpen;
else
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_4;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedDoubles50;
}
else
{
- if (lvlMode)
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_1;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen;
else
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeAttemptedSingles50;
}
break;
- case 7:
+ case DOME_DATA_HAS_WON_CHALLENGE:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
- if (lvlMode)
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_7;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonDoublesOpen;
else
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_6;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonDoubles50;
}
else
{
- if (lvlMode)
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen;
else
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeHasWonSingles50;
}
break;
- case 8:
- sub_81B8558();
- gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.field_CB0;
- gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.field_CB0 >> 8;
+ case DOME_DATA_SELECTED_MONS:
+ ClearSelectedPartyOrder();
+ gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.selectedPartyMons[3];
+ gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.selectedPartyMons[3] >> 8;
break;
- case 9:
- gSpecialVar_Result = (gSaveBlock2Ptr->frontier.field_D0A * 2) - 3 + gSaveBlock2Ptr->frontier.field_D0B;
+ case DOME_DATA_PREV_TOURNEY_TYPE:
+ gSpecialVar_Result = (gSaveBlock2Ptr->frontier.domeLvlMode * 2) - 3 + gSaveBlock2Ptr->frontier.domeBattleMode;
break;
}
}
@@ -2347,61 +2177,61 @@ static void SetDomeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
+ case DOME_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 1:
+ case DOME_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860D0EC[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
- gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860D0FC[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
- case 2:
- gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006;
+ case DOME_DATA_ATTEMPTED_SINGLES_50:
+ gSaveBlock2Ptr->frontier.domeAttemptedSingles50 = gSpecialVar_0x8006;
break;
- case 3:
- gSaveBlock2Ptr->frontier.field_D08_1 = gSpecialVar_0x8006;
+ case DOME_DATA_ATTEMPTED_SINGLES_OPEN:
+ gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen = gSpecialVar_0x8006;
break;
- case 4:
- gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006;
+ case DOME_DATA_HAS_WON_SINGLES_50:
+ gSaveBlock2Ptr->frontier.domeHasWonSingles50 = gSpecialVar_0x8006;
break;
- case 5:
- gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006;
+ case DOME_DATA_HAS_WON_SINGLES_OPEN:
+ gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen = gSpecialVar_0x8006;
break;
- case 6:
+ case DOME_DATA_ATTEMPTED_CHALLENGE:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
- if (lvlMode)
- gSaveBlock2Ptr->frontier.field_D08_5 = gSpecialVar_0x8006;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSaveBlock2Ptr->frontier.domeAttemptedDoublesOpen = gSpecialVar_0x8006;
else
- gSaveBlock2Ptr->frontier.field_D08_4 = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.domeAttemptedDoubles50 = gSpecialVar_0x8006;
}
else
{
- if (lvlMode)
- gSaveBlock2Ptr->frontier.field_D08_1 = gSpecialVar_0x8006;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSaveBlock2Ptr->frontier.domeAttemptedSinglesOpen = gSpecialVar_0x8006;
else
- gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.domeAttemptedSingles50 = gSpecialVar_0x8006;
}
break;
- case 7:
+ case DOME_DATA_HAS_WON_CHALLENGE:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
- if (lvlMode)
- gSaveBlock2Ptr->frontier.field_D08_7 = gSpecialVar_0x8006;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSaveBlock2Ptr->frontier.domeHasWonDoublesOpen = gSpecialVar_0x8006;
else
- gSaveBlock2Ptr->frontier.field_D08_6 = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.domeHasWonDoubles50 = gSpecialVar_0x8006;
}
else
{
- if (lvlMode)
- gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006;
+ if (lvlMode != FRONTIER_LVL_50)
+ gSaveBlock2Ptr->frontier.domeHasWonSinglesOpen = gSpecialVar_0x8006;
else
- gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.domeHasWonSingles50 = gSpecialVar_0x8006;
}
break;
- case 8:
- gSaveBlock2Ptr->frontier.field_CB0 = T1_READ_16(gSelectedOrderFromParty);
+ case DOME_DATA_SELECTED_MONS:
+ gSaveBlock2Ptr->frontier.selectedPartyMons[3] = T1_READ_16(gSelectedOrderFromParty);
break;
}
}
@@ -2410,108 +2240,118 @@ static void InitDomeTrainers(void)
{
int i, j, k;
int monLevel;
- int species[3];
+ int species[FRONTIER_PARTY_SIZE];
int monTypesBits, monTypesCount;
int trainerId;
- int monSetId;
- u16 *statSums;
+ int monId;
+ u16 *rankingScores;
int *statValues;
u8 ivs = 0;
species[0] = 0;
species[1] = 0;
species[2] = 0;
- statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT);
- statValues = AllocZeroed(sizeof(int) * 6);
-
- gSaveBlock2Ptr->frontier.field_D0A = gSaveBlock2Ptr->frontier.lvlMode + 1;
- gSaveBlock2Ptr->frontier.field_D0B = VarGet(VAR_FRONTIER_BATTLE_MODE) + 1;
- gSaveBlock2Ptr->frontier.domeTrainers[0].trainerId = TRAINER_PLAYER;
- gSaveBlock2Ptr->frontier.domeTrainers[0].isEliminated = 0;
- gSaveBlock2Ptr->frontier.domeTrainers[0].eliminatedAt = 0;
- gSaveBlock2Ptr->frontier.domeTrainers[0].unk3 = 0;
-
- for (i = 0; i < 3; i++)
+ rankingScores = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT);
+ statValues = AllocZeroed(sizeof(int) * NUM_STATS);
+
+ gSaveBlock2Ptr->frontier.domeLvlMode = gSaveBlock2Ptr->frontier.lvlMode + 1;
+ gSaveBlock2Ptr->frontier.domeBattleMode = VarGet(VAR_FRONTIER_BATTLE_MODE) + 1;
+ DOME_TRAINERS[0].trainerId = TRAINER_PLAYER;
+ DOME_TRAINERS[0].isEliminated = FALSE;
+ DOME_TRAINERS[0].eliminatedAt = 0;
+ DOME_TRAINERS[0].forfeited = FALSE;
+
+ // Store the data used to display party information on the player's tourney page
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- gSaveBlock2Ptr->frontier.domeMonIds[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_SPECIES, NULL);
+ DOME_MONS[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_SPECIES, NULL);
for (j = 0; j < MAX_MON_MOVES; j++)
- gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_MOVE1 + j, NULL);
- for (j = 0; j < 6; j++)
- gSaveBlock2Ptr->frontier.field_EFC[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HP_EV + j, NULL);
+ gSaveBlock2Ptr->frontier.domePlayerPartyData[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_MOVE1 + j, NULL);
+ for (j = 0; j < NUM_STATS; j++)
+ gSaveBlock2Ptr->frontier.domePlayerPartyData[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HP_EV + j, NULL);
- gSaveBlock2Ptr->frontier.field_EFC[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1]);
+ gSaveBlock2Ptr->frontier.domePlayerPartyData[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1]);
}
+ // Populate the tourney roster with random frontier trainers (dependent on streak)
for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
+ // Choose trainer. First 5/16 trainers are easier than the rest
if (i > 5)
{
do
{
- trainerId = sub_8162548(GetCurrentFacilityWinStreak(), 0);
+ trainerId = GetRandomScaledFrontierTrainerId(GetCurrentFacilityWinStreak(), 0);
for (j = 1; j < i; j++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId)
+ if (DOME_TRAINERS[j].trainerId == trainerId)
break;
}
} while (j != i);
- gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId;
+ DOME_TRAINERS[i].trainerId = trainerId;
}
else
{
do
{
- trainerId = sub_8162548(GetCurrentFacilityWinStreak() + 1, 0);
+ trainerId = GetRandomScaledFrontierTrainerId(GetCurrentFacilityWinStreak() + 1, 0);
for (j = 1; j < i; j++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId)
+ if (DOME_TRAINERS[j].trainerId == trainerId)
break;
}
} while (j != i);
- gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId;
+ DOME_TRAINERS[i].trainerId = trainerId;
}
- for (j = 0; j < 3; j++)
+ // Choose party
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
- // Make sure the mon is valid.
do
{
- monSetId = RandomizeFacilityTrainerMonSet(trainerId);
+ monId = GetRandomFrontierMonFromSet(trainerId);
for (k = 0; k < j; k++)
{
- int checkingMonSetId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
- if (checkingMonSetId == monSetId
- || species[0] == gFacilityTrainerMons[monSetId].species
- || species[1] == gFacilityTrainerMons[monSetId].species
- || gFacilityTrainerMons[checkingMonSetId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ // Make sure the mon is valid.
+ int alreadySelectedMonId = DOME_MONS[i][k];
+ if (alreadySelectedMonId == monId
+ || species[0] == gFacilityTrainerMons[monId].species
+ || species[1] == gFacilityTrainerMons[monId].species
+ || gFacilityTrainerMons[alreadySelectedMonId].itemTableId == gFacilityTrainerMons[monId].itemTableId)
break;
}
} while (k != j);
- gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId;
- species[j] = gFacilityTrainerMons[monSetId].species;
+ DOME_MONS[i][j] = monId;
+ species[j] = gFacilityTrainerMons[monId].species;
}
- gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0;
- gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0;
- gSaveBlock2Ptr->frontier.domeTrainers[i].unk3 = 0;
+ DOME_TRAINERS[i].isEliminated = FALSE;
+ DOME_TRAINERS[i].eliminatedAt = 0;
+ DOME_TRAINERS[i].forfeited = FALSE;
}
+ // rankingScores is used to determine the seed (ranking) of the trainers
+ // rankingScores[0] is for the player, rankingScores[1-15] are for the opponent trainers
+
+ // Calculate player's ranking score
monTypesBits = 0;
- statSums[0] = 0;
- for (i = 0; i < 3; i++)
+ rankingScores[0] = 0;
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- trainerId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; // Great variable choice, gamefreak.
- statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_ATK, NULL);
- statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_DEF, NULL);
- statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPATK, NULL);
- statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL);
- statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL);
- statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL);
+ // trainerId var re-used here as index of selected mons
+ trainerId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
+ rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_ATK, NULL);
+ rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_DEF, NULL);
+ rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPATK, NULL);
+ rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL);
+ rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL);
+ rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL);
monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type1];
monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type2];
}
+ // Count the number of types in the players party, to factor into the ranking
for (monTypesCount = 0, j = 0; j < 32; j++)
{
if (monTypesBits & 1)
@@ -2520,29 +2360,30 @@ static void InitDomeTrainers(void)
}
monLevel = SetFacilityPtrsGetLevel();
- statSums[0] += (monTypesCount * monLevel) / 20;
+ rankingScores[0] += (monTypesCount * monLevel) / 20;
+ // Calculate rankingScores for the opponent trainers
for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
monTypesBits = 0;
- statSums[i] = 0;
- ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- for (j = 0; j < 3; j++)
+ rankingScores[i] = 0;
+ ivs = GetDomeTrainerMonIvs(DOME_TRAINERS[i].trainerId);
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
- CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
+ CalcDomeMonStats(gFacilityTrainerMons[DOME_MONS[i][j]].species,
monLevel, ivs,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature,
+ gFacilityTrainerMons[DOME_MONS[i][j]].evSpread,
+ gFacilityTrainerMons[DOME_MONS[i][j]].nature,
statValues);
- statSums[i] += statValues[STAT_ATK];
- statSums[i] += statValues[STAT_DEF];
- statSums[i] += statValues[STAT_SPATK];
- statSums[i] += statValues[STAT_SPDEF];
- statSums[i] += statValues[STAT_SPEED];
- statSums[i] += statValues[STAT_HP];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2];
+ rankingScores[i] += statValues[STAT_ATK];
+ rankingScores[i] += statValues[STAT_DEF];
+ rankingScores[i] += statValues[STAT_SPATK];
+ rankingScores[i] += statValues[STAT_SPDEF];
+ rankingScores[i] += statValues[STAT_SPEED];
+ rankingScores[i] += statValues[STAT_HP];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2];
}
for (monTypesCount = 0, j = 0; j < 32; j++)
@@ -2551,54 +2392,56 @@ static void InitDomeTrainers(void)
monTypesCount++;
monTypesBits >>= 1;
}
- statSums[i] += (monTypesCount * monLevel) / 20;
+ rankingScores[i] += (monTypesCount * monLevel) / 20;
}
+ // Seed tourney trainers according to their ranking
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT - 1; i++)
{
for (j = i + 1; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++)
{
- if (statSums[i] < statSums[j])
+ if (rankingScores[i] < rankingScores[j])
{
- SwapDomeTrainers(i, j, statSums);
+ SwapDomeTrainers(i, j, rankingScores);
}
else
{
- if (statSums[i] == statSums[j])
+ if (rankingScores[i] == rankingScores[j])
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == TRAINER_PLAYER)
- SwapDomeTrainers(i, j, statSums);
- else if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId > gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId)
- SwapDomeTrainers(i, j, statSums);
+ if (DOME_TRAINERS[j].trainerId == TRAINER_PLAYER)
+ SwapDomeTrainers(i, j, rankingScores);
+ else if (DOME_TRAINERS[i].trainerId > DOME_TRAINERS[j].trainerId)
+ SwapDomeTrainers(i, j, rankingScores);
}
}
}
}
- if (sub_81A3610())
+ // Add Frontier Brain to the tourney if they should be fought at the end of it
+ if (GetFrontierBrainStatus() != FRONTIER_BRAIN_NOT_READY)
{
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER)
+ if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER)
break;
}
- if (gUnknown_0860D3F1[i][0] != 0)
+ if (sTrainerNamePositions[i][0] != 0)
{
j = 0;
- gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId = TRAINER_FRONTIER_BRAIN;
+ DOME_TRAINERS[j].trainerId = TRAINER_FRONTIER_BRAIN;
}
else
{
j = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId = TRAINER_FRONTIER_BRAIN;
+ DOME_TRAINERS[j].trainerId = TRAINER_FRONTIER_BRAIN;
}
- for (i = 0; i < 3; i++)
- gSaveBlock2Ptr->frontier.domeMonIds[j][i] = GetFrontierBrainMonSpecies(i);
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
+ DOME_MONS[j][i] = GetFrontierBrainMonSpecies(i);
}
- Free(statSums);
+ Free(rankingScores);
Free(statValues);
}
@@ -2654,10 +2497,10 @@ static void SwapDomeTrainers(int id1, int id2, u16 *statsArray)
u16 temp;
SWAP(statsArray[id1], statsArray[id2], temp);
- SWAP(gSaveBlock2Ptr->frontier.domeTrainers[id1].trainerId, gSaveBlock2Ptr->frontier.domeTrainers[id2].trainerId, temp);
+ SWAP(DOME_TRAINERS[id1].trainerId, DOME_TRAINERS[id2].trainerId, temp);
- for (i = 0; i < 3; i++)
- SWAP(gSaveBlock2Ptr->frontier.domeMonIds[id1][i], gSaveBlock2Ptr->frontier.domeMonIds[id2][i], temp);
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
+ SWAP(DOME_MONS[id1][i], DOME_MONS[id2][i], temp);
}
static void BufferDomeRoundText(void)
@@ -2673,9 +2516,9 @@ static void BufferDomeOpponentName(void)
static void InitDomeOpponentParty(void)
{
- gUnknown_0203CD70 = 0;
- gUnknown_0203CD74 = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL);
- gUnknown_0203CD74 += GetMonData(&gPlayerParty[1], MON_DATA_MAX_HP, NULL);
+ gPlayerPartyLostHP = 0;
+ sPlayerPartyMaxHP = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL);
+ sPlayerPartyMaxHP += GetMonData(&gPlayerParty[1], MON_DATA_MAX_HP, NULL);
CalculatePlayerPartyCount();
CreateDomeOpponentMons(TrainerIdToTournamentId(gTrainerBattleOpponent_A));
}
@@ -2683,160 +2526,168 @@ static void InitDomeOpponentParty(void)
static void CreateDomeOpponentMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentMonId, u32 otId)
{
int i;
- u8 happiness = 0xFF;
- u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3.
+ u8 friendship = MAX_FRIENDSHIP;
+ u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using (DOME_TRAINERS[tournamentTrainerId].trainerId) instead of (tournamentTrainerId). As a result, all Pokemon have ivs of 3.
u8 level = SetFacilityPtrsGetLevel();
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].species,
+ gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].species,
level,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].nature,
+ gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].nature,
fixedIv,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].evSpread, otId);
+ gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].evSpread, otId);
- happiness = 0xFF;
+ friendship = MAX_FRIENDSHIP;
for (i = 0; i < MAX_MON_MOVES; i++)
{
SetMonMoveSlot(&gEnemyParty[monPartyId],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].moves[i], i);
- if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].moves[i] == MOVE_FRUSTRATION)
- happiness = 0;
+ gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].moves[i], i);
+ if (gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].moves[i] == MOVE_FRUSTRATION)
+ friendship = 0;
}
- SetMonData(&gEnemyParty[monPartyId], MON_DATA_FRIENDSHIP, &happiness);
+ SetMonData(&gEnemyParty[monPartyId], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM,
- &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].itemTableId]);
+ &gBattleFrontierHeldItems[gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].itemTableId]);
}
static void CreateDomeOpponentMons(u16 tournamentTrainerId)
{
u8 monsCount = 0;
u32 otId = 0;
- int i, bits;
+ int i, selectedMonBits;
ZeroEnemyPartyMons();
- bits = GetDomeTrainerMonCountInBits(tournamentTrainerId);
+ selectedMonBits = GetDomeTrainerSelectedMons(tournamentTrainerId);
otId = Random32();
+
if (Random() % 10 > 5)
{
- for (i = 0; i < 3; i++)
+ // Create mon if it was selected, starting from front
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- if (bits & 1)
+ if (selectedMonBits & 1)
{
CreateDomeOpponentMon(monsCount, tournamentTrainerId, i, otId);
monsCount++;
}
- bits >>= 1;
+ selectedMonBits >>= 1;
}
}
else
{
- for (i = 2; i >= 0; i--)
+ // Create mon if it was selected, starting from back
+ for (i = FRONTIER_PARTY_SIZE - 1; i >= 0; i--)
{
- if (bits & 4)
+ if (selectedMonBits & 4)
{
CreateDomeOpponentMon(monsCount, tournamentTrainerId, i, otId);
monsCount++;
}
- bits <<= 1;
+ selectedMonBits <<= 1;
}
}
}
-int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId)
+int GetDomeTrainerSelectedMons(u16 tournamentTrainerId)
{
- int bits;
+ int selectedMonBits;
if (Random() & 1)
{
- bits = sub_818FCBC(tournamentTrainerId, FALSE);
- if (bits == 0)
- bits = sub_818FDB8(tournamentTrainerId, TRUE);
+ selectedMonBits = SelectOpponentMonsUsingPersonality(tournamentTrainerId, FALSE);
+ if (selectedMonBits == 0)
+ selectedMonBits = SelectOpponentMonsUsingOtId(tournamentTrainerId, TRUE);
}
else
{
- bits = sub_818FDB8(tournamentTrainerId, FALSE);
- if (bits == 0)
- bits = sub_818FCBC(tournamentTrainerId, TRUE);
+ selectedMonBits = SelectOpponentMonsUsingOtId(tournamentTrainerId, FALSE);
+ if (selectedMonBits == 0)
+ selectedMonBits = SelectOpponentMonsUsingPersonality(tournamentTrainerId, TRUE);
}
- return bits;
+ return selectedMonBits;
}
-static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1)
+// Could probably use a better name once GetTypeEffectivenessPoints is clarified
+// Personality seems to be used to select a different weighting system for type effectiveness points
+static int SelectOpponentMonsUsingPersonality(u16 tournamentTrainerId, bool8 allowRandom)
{
int i, moveId, playerMonId;
- int array[3];
+ int partyMovePoints[FRONTIER_PARTY_SIZE];
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- array[i] = 0;
+ partyMovePoints[i] = 0;
for (moveId = 0; moveId < MAX_MON_MOVES; moveId++)
{
- for (playerMonId = 0; playerMonId < 3; playerMonId++)
+ for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
+ if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
{
- array[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
- GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0);
+ partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
+ GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_PERSONALITY);
}
else
{
- array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][i]].moves[moveId],
- GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0);
+ partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId],
+ GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_PERSONALITY);
}
}
}
}
- return sub_818FEB4(array, arg1);
+ return SelectOpponentMonsFromParty(partyMovePoints, allowRandom);
}
-static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1)
+// See above function, identical but uses MON_DATA_OT_ID
+static int SelectOpponentMonsUsingOtId(u16 tournamentTrainerId, bool8 allowRandom)
{
int i, moveId, playerMonId;
- int array[3];
+ int partyMovePoints[FRONTIER_PARTY_SIZE];
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- array[i] = 0;
+ partyMovePoints[i] = 0;
for (moveId = 0; moveId < MAX_MON_MOVES; moveId++)
{
- for (playerMonId = 0; playerMonId < 3; playerMonId++)
+ for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
+ if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
{
- array[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
- GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1);
+ partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
+ GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_OT_ID);
}
else
{
- array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][i]].moves[moveId],
- GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1);
+ partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId],
+ GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), MON_DATA_OT_ID);
}
}
}
}
- return sub_818FEB4(array, arg1);
+ return SelectOpponentMonsFromParty(partyMovePoints, allowRandom);
}
-static int sub_818FEB4(int *arr, bool8 arg1)
+static int SelectOpponentMonsFromParty(int *partyMovePoints, bool8 allowRandom)
{
int i, j;
- int bits = 0;
- int array[3];
+ int selectedMonBits = 0;
+ int partyPositions[FRONTIER_PARTY_SIZE];
- for (i = 0; i < 3; i++)
- array[i] = i;
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
+ partyPositions[i] = i;
- if (arr[0] == arr[1] && arr[0] == arr[2])
+ // All party mons have equal move score totals, choose randomly
+ if (partyMovePoints[0] == partyMovePoints[1]
+ && partyMovePoints[0] == partyMovePoints[2])
{
- if (arg1)
+ if (allowRandom)
{
i = 0;
- while (i != 2)
+ while (i != DOME_BATTLE_PARTY_SIZE)
{
- u32 rand = Random() & 3;
- if (rand != 3 && !(bits & gBitTable[rand]))
+ u32 rand = Random() & FRONTIER_PARTY_SIZE;
+ if (rand != FRONTIER_PARTY_SIZE && !(selectedMonBits & gBitTable[rand]))
{
- bits |= gBitTable[rand];
+ selectedMonBits |= gBitTable[rand];
i++;
}
}
@@ -2844,43 +2695,33 @@ static int sub_818FEB4(int *arr, bool8 arg1)
}
else
{
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++)
{
- for (j = i + 1; j < 3; j++)
+ for (j = i + 1; j < FRONTIER_PARTY_SIZE; j++)
{
int temp;
- if (arr[i] < arr[j])
+ if (partyMovePoints[i] < partyMovePoints[j])
{
- temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
-
- temp = array[i];
- array[i] = array[j];
- array[j] = temp;
+ SWAP(partyMovePoints[i], partyMovePoints[j],temp)
+ SWAP(partyPositions[i], partyPositions[j], temp)
}
- if (arr[i] == arr[j] && (Random() & 1))
+ if (partyMovePoints[i] == partyMovePoints[j] && (Random() & 1))
{
- temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
-
- temp = array[i];
- array[i] = array[j];
- array[j] = temp;
+ SWAP(partyMovePoints[i], partyMovePoints[j],temp)
+ SWAP(partyPositions[i], partyPositions[j], temp)
}
}
}
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++)
{
- bits |= gBitTable[array[i]];
+ selectedMonBits |= gBitTable[partyPositions[i]];
}
}
- return bits;
+ return selectedMonBits;
}
#define TYPE_x0 0
@@ -2891,6 +2732,7 @@ static int sub_818FEB4(int *arr, bool8 arg1)
#define TYPE_x4 80
// Functionally equivalent, while loop is impossible to match.
+// arg2 is either 2, a personality, or an OTID
#ifdef NONMATCHING
static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2)
{
@@ -2913,25 +2755,22 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2)
}
else
{
- while (gTypeEffectiveness[i + 0] != TYPE_ENDTABLE)
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
{
- if (gTypeEffectiveness[i + 0] == TYPE_FORESIGHT)
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
i += 3;
+ continue;
}
- else
+ else if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
- u8 val = gTypeEffectiveness[i + 0];
- if (val == moveType)
- {
- // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard.
- if (gTypeEffectiveness[i + 1] == defType1 && (defAbility != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2))
- typePower = (gTypeEffectiveness[i + 2] * typePower) / 10;
- if (gTypeEffectiveness[i + 1] == defType2 && defType1 != defType2 && (defAbility != ABILITY_WONDER_GUARD || gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE * 2))
- typePower = (gTypeEffectiveness[i + 2] * typePower) / 10;
- }
- i += 3;
+ // BUG: * 2 is not necessary and makes the condition always false if the ability is wonder guard.
+ if (TYPE_EFFECT_DEF_TYPE(i) == defType1 && (defAbility != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2))
+ typePower = (typePower * TYPE_EFFECT_MULTIPLIER(i)) / 10;
+ if (TYPE_EFFECT_DEF_TYPE(i) == defType2 && defType1 != defType2 && (defAbility != ABILITY_WONDER_GUARD || TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE * 2))
+ typePower = (typePower * TYPE_EFFECT_MULTIPLIER(i)) / 10;
}
+ i += 3;
}
}
@@ -2940,19 +2779,19 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2)
case 0:
switch (typePower)
{
- case 10:
- case 5:
- case 0:
+ case TYPE_x0_50:
+ case TYPE_x0_25:
+ case TYPE_x0:
default:
typePower = 0;
break;
- case 20:
+ case TYPE_x1:
typePower = 2;
break;
- case 40:
+ case TYPE_x2:
typePower = 4;
break;
- case 80:
+ case TYPE_x4:
typePower = 8;
break;
}
@@ -2961,22 +2800,22 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2)
switch (typePower)
{
default:
- case 20:
+ case TYPE_x1:
typePower = 0;
break;
- case 5:
+ case TYPE_x0_25:
typePower = 4;
break;
- case 0:
+ case TYPE_x0:
typePower = 8;
break;
- case 10:
+ case TYPE_x0_50:
typePower = 2;
break;
- case 40:
+ case TYPE_x2:
typePower = -2;
break;
- case 80:
+ case TYPE_x4:
typePower = -4;
break;
}
@@ -3251,24 +3090,28 @@ _08190156:\n\
}
#endif // NONMATCHING
+// Duplicate of GetFrontierTrainerFixedIvs
+// NOTE: In CreateDomeOpponentMon a tournament trainer ID (0-15) is passed instead, resulting in all IVs of 3
+// To fix, see CreateDomeOpponentMon
static u8 GetDomeTrainerMonIvs(u16 trainerId)
{
u8 fixedIv;
- if (trainerId <= 99)
+
+ if (trainerId <= FRONTIER_TRAINER_JILL) // 0 - 99
fixedIv = 3;
- else if (trainerId <= 119)
+ else if (trainerId <= FRONTIER_TRAINER_CHLOE) // 100 - 119
fixedIv = 6;
- else if (trainerId <= 139)
+ else if (trainerId <= FRONTIER_TRAINER_SOFIA) // 120 - 139
fixedIv = 9;
- else if (trainerId <= 159)
+ else if (trainerId <= FRONTIER_TRAINER_JAZLYN) // 140 - 159
fixedIv = 12;
- else if (trainerId <= 179)
+ else if (trainerId <= FRONTIER_TRAINER_ALISON) // 160 - 179
fixedIv = 15;
- else if (trainerId <= 199)
+ else if (trainerId <= FRONTIER_TRAINER_LAMAR) // 180 - 199
fixedIv = 18;
- else if (trainerId <= 219)
+ else if (trainerId <= FRONTIER_TRAINER_TESS) // 200 - 219
fixedIv = 21;
- else
+ else // 220+ (- 299)
fixedIv = 31;
return fixedIv;
@@ -3276,38 +3119,41 @@ static u8 GetDomeTrainerMonIvs(u16 trainerId)
static int TournamentIdOfOpponent(int roundId, int trainerId)
{
- int i, j, val;
+ int i, j, opponentMax;
+ // Get trainer's tournament id
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId)
+ if (DOME_TRAINERS[i].trainerId == trainerId)
break;
}
+ // Get trainer's opponent's tournament id
if (roundId != DOME_ROUND1)
{
if (roundId == DOME_FINAL)
- val = sIdToOpponentId[i][roundId] + 8;
+ opponentMax = sIdToOpponentId[i][roundId] + 8;
else
- val = sIdToOpponentId[i][roundId] + 4;
+ opponentMax = sIdToOpponentId[i][roundId] + 4;
- for (j = sIdToOpponentId[i][roundId]; j < val; j++)
+ // Get first non-eliminated trainer in range of possible opponents
+ for (j = sIdToOpponentId[i][roundId]; j < opponentMax; j++)
{
- if (gUnknown_0860D14C[j] != i && !gSaveBlock2Ptr->frontier.domeTrainers[gUnknown_0860D14C[j]].isEliminated)
+ if (sTourneyTreeTrainerOpponentIds[j] != i && !DOME_TRAINERS[sTourneyTreeTrainerOpponentIds[j]].isEliminated)
break;
}
- if (j != val)
- return gUnknown_0860D14C[j];
+ if (j != opponentMax)
+ return sTourneyTreeTrainerOpponentIds[j];
else
- return 0xFF;
+ return 0xFF; // Already eliminated
}
else
{
- if (!gSaveBlock2Ptr->frontier.domeTrainers[sIdToOpponentId[i][roundId]].isEliminated)
+ if (!DOME_TRAINERS[sIdToOpponentId[i][roundId]].isEliminated)
return sIdToOpponentId[i][roundId];
else
- return 0xFF;
+ return 0xFF; // Already eliminated
}
}
@@ -3316,9 +3162,10 @@ static void SetDomeOpponentId(void)
gTrainerBattleOpponent_A = TrainerIdOfPlayerOpponent();
}
+// While not an issue in-game, this will overflow if called after the player's opponent for the current round has been eliminated
static u16 TrainerIdOfPlayerOpponent(void)
{
- return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.curChallengeBattleNum, TRAINER_PLAYER)].trainerId;
+ return DOME_TRAINERS[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.curChallengeBattleNum, TRAINER_PLAYER)].trainerId;
}
static void SetDomeOpponentGraphicsId(void)
@@ -3326,15 +3173,15 @@ static void SetDomeOpponentGraphicsId(void)
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
-static void sub_81902F8(void)
+static void SaveDomeChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = 1;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
-static void UpdateDomeStreaks(void)
+static void IncrementDomeStreaks(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -3348,25 +3195,27 @@ static void UpdateDomeStreaks(void)
gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
}
+// For showing the opponent info card of the upcoming trainer
static void ShowDomeOpponentInfo(void)
{
- u8 taskId = CreateTask(Task_ShowOpponentInfo, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent());
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].data[3] = 0;
+ u8 taskId = CreateTask(Task_ShowTourneyInfoCard, 0);
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tTournamentId = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent());
+ gTasks[taskId].tMode = INFOCARD_NEXT_OPPONENT;
+ gTasks[taskId].tPrevTaskId = 0;
- SetMainCallback2(CB2_BattleDome);
+ SetMainCallback2(CB2_TourneyTree);
}
-static void Task_ShowOpponentInfo(u8 taskId)
+// For showing the opponent info card or the match info card
+static void Task_ShowTourneyInfoCard(u8 taskId)
{
int i;
- int r5 = gTasks[taskId].data[1];
- int r9 = gTasks[taskId].data[2];
- int r7 = gTasks[taskId].data[3];
+ int tournamentId = gTasks[taskId].tTournamentId;
+ int mode = gTasks[taskId].tMode;
+ int id = gTasks[taskId].tPrevTaskId;
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
case 0:
SetHBlankCallback(NULL);
@@ -3374,8 +3223,8 @@ static void Task_ShowOpponentInfo(u8 taskId)
EnableInterrupts(INTR_FLAG_VBLANK);
CpuFill32(0, (void *)VRAM, VRAM_SIZE);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_0860CE84, ARRAY_COUNT(gUnknown_0860CE84));
- InitWindows(gUnknown_0860CEB4);
+ InitBgsFromTemplates(0, sInfoCardBgTemplates, ARRAY_COUNT(sInfoCardBgTemplates));
+ InitWindows(sInfoCardWindowTemplates);
DeactivateAllTextPrinters();
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -3383,12 +3232,12 @@ static void Task_ShowOpponentInfo(u8 taskId)
gBattle_BG1_Y = 0;
gBattle_BG3_X = 0;
gBattle_BG3_Y = 0;
- if (r9 == 2)
+ if (mode == INFOCARD_MATCH)
gBattle_BG2_X = 0, gBattle_BG2_Y = 0;
else
gBattle_BG2_X = 0, gBattle_BG2_Y = 160;
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 1:
SetGpuReg(REG_OFFSET_BLDCNT, 0);
@@ -3400,72 +3249,76 @@ static void Task_ShowOpponentInfo(u8 taskId)
SetGpuReg(REG_OFFSET_WIN1H, 0);
SetGpuReg(REG_OFFSET_WIN1V, 0);
SetGpuReg(REG_OFFSET_WININ, 0);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
ResetPaletteFade();
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 4;
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 2:
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0);
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1);
- DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1);
- LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet);
- LoadCompressedPalette(gUnknown_08D85358, 0, 0x200);
- LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200);
- LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20);
- if (r9 == 2)
- LoadCompressedPalette(gUnknown_08D854C8, 0x50, 0x20);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyInfoCard_Gfx, 0x2000, 0, 0);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyInfoCard_Tilemap, 0x2000, 0, 1);
+ DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyInfoCardBg_Tilemap, 0x800, 0, 1);
+ LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet);
+ LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200);
+ LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200);
+ LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20);
+ if (mode == INFOCARD_MATCH)
+ LoadCompressedPalette(gDomeTourneyMatchCardBg_Pal, 0x50, 0x20); // Changes the moving info card bg to orange when in match card mode
CpuFill32(0, gPlttBufferFaded, 0x400);
ShowBg(0);
ShowBg(1);
ShowBg(2);
ShowBg(3);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 3:
- SetVBlankCallback(VblankCb0_BattleDome);
- sBattleDomeStruct = AllocZeroed(sizeof(*sBattleDomeStruct));
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
- sBattleDomeStruct->arr[i] = 0xFF;
+ SetVBlankCallback(VblankCb_TourneyInfoCard);
+ sInfoCard = AllocZeroed(sizeof(*sInfoCard));
+ for (i = 0; i < NUM_INFOCARD_SPRITES; i++)
+ sInfoCard->spriteIds[i] = 0xFF;
LoadMonIconPalettes();
- i = CreateTask(sub_8190CD4, 0);
+ i = CreateTask(Task_HandleInfoCardInput, 0);
gTasks[i].data[0] = 0;
gTasks[i].data[2] = 0;
- gTasks[i].data[3] = r9;
- gTasks[i].data[4] = r7;
- if (r9 == 2)
+ gTasks[i].data[3] = mode;
+ gTasks[i].data[4] = id;
+ if (mode == INFOCARD_MATCH)
{
- DisplayMatchInfoOnCard(0, r5);
- sBattleDomeStruct->unk_10 = 1;
+ DisplayMatchInfoOnCard(0, tournamentId);
+ sInfoCard->pos = 1;
}
else
{
- DisplayTrainerInfoOnCard(0, r5);
+ DisplayTrainerInfoOnCard(0, tournamentId);
}
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP);
- if (r9 != 0)
+ if (mode != INFOCARD_NEXT_OPPONENT)
{
- r7 = CreateSprite(&gUnknown_0860D068, 120, 4, 0);
- StartSpriteAnim(&gSprites[r7], 0);
- gSprites[r7].data[0] = i;
-
- r7 = CreateSprite(&gUnknown_0860D068, 120, 156, 0);
- StartSpriteAnim(&gSprites[r7], 1);
- gSprites[r7].data[0] = i;
-
- r7 = CreateSprite(&gUnknown_0860D050, 6, 80, 0);
- StartSpriteAnim(&gSprites[r7], 0);
- gSprites[r7].data[0] = i;
- gSprites[r7].data[1] = 0;
- if (r9 == 1)
- gSprites[r7].invisible = TRUE;
-
- r7 = CreateSprite(&gUnknown_0860D050, 234, 80, 0);
- StartSpriteAnim(&gSprites[r7], 1);
- gSprites[r7].data[0] = i;
- gSprites[r7].data[1] = 1;
+ // Scroll up arrow
+ id = CreateSprite(&sVerticalScrollArrowSpriteTemplate, 120, 4, 0);
+ StartSpriteAnim(&gSprites[id], 0);
+ gSprites[id].data[0] = i;
+
+ // Scroll down arrow
+ id = CreateSprite(&sVerticalScrollArrowSpriteTemplate, 120, 156, 0);
+ StartSpriteAnim(&gSprites[id], 1);
+ gSprites[id].data[0] = i;
+
+ // Scroll left arrow
+ id = CreateSprite(&sHorizontalScrollArrowSpriteTemplate, 6, 80, 0);
+ StartSpriteAnim(&gSprites[id], 0);
+ gSprites[id].data[0] = i;
+ gSprites[id].data[1] = 0;
+ if (mode == INFOCARD_TRAINER)
+ gSprites[id].invisible = TRUE;
+
+ // Scroll right arrow
+ id = CreateSprite(&sHorizontalScrollArrowSpriteTemplate, 234, 80, 0);
+ StartSpriteAnim(&gSprites[id], 1);
+ gSprites[id].data[0] = i;
+ gSprites[id].data[1] = 1;
}
DestroyTask(taskId);
break;
@@ -3475,7 +3328,6 @@ static void Task_ShowOpponentInfo(u8 taskId)
// Note: Card scrolling up means the current card goes down and another one appears from top.
// The same is true for scrolling left.
// That means that the sprite needs to move with the moving card in the opposite scrolling direction.
-
static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite)
{
sprite->pos1.y += 4;
@@ -3490,7 +3342,7 @@ static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite)
{
if (sprite->pos1.y >= 192)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3510,7 +3362,7 @@ static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite)
{
if (sprite->pos1.y <= -32)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3530,7 +3382,7 @@ static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite)
{
if (sprite->pos1.x >= 272)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3550,7 +3402,7 @@ static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite)
{
if (sprite->pos1.x <= -32)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3580,8 +3432,8 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite)
{
if (sprite->pos1.y >= 176)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
@@ -3602,8 +3454,8 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite)
{
if (sprite->pos1.y <= -16)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
@@ -3624,8 +3476,8 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite)
{
if (sprite->pos1.x >= 256)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
@@ -3646,13 +3498,13 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite)
{
if (sprite->pos1.x <= -16)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
-static void sub_8190B40(struct Sprite *sprite)
+static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite)
{
int taskId1 = sprite->data[0];
int arrId = gTasks[gTasks[taskId1].data[4]].data[1];
@@ -3663,13 +3515,13 @@ static void sub_8190B40(struct Sprite *sprite)
{
if (sprite->data[1])
{
- if ((gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated
- && sBattleDomeStruct->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].eliminatedAt))
+ if ((DOME_TRAINERS[tournmanetTrainerId].isEliminated
+ && sInfoCard->pos - 1 < DOME_TRAINERS[tournmanetTrainerId].eliminatedAt))
{
sprite->invisible = FALSE;
}
- else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated
- && sBattleDomeStruct->unk_10 - 1 < roundId)
+ else if (!DOME_TRAINERS[tournmanetTrainerId].isEliminated
+ && sInfoCard->pos - 1 < roundId)
{
sprite->invisible = FALSE;
}
@@ -3681,7 +3533,7 @@ static void sub_8190B40(struct Sprite *sprite)
}
else
{
- if (sBattleDomeStruct->unk_10 != 0)
+ if (sInfoCard->pos != 0)
{
sprite->invisible = FALSE;
}
@@ -3696,7 +3548,7 @@ static void sub_8190B40(struct Sprite *sprite)
{
if (sprite->data[1])
{
- if (sBattleDomeStruct->unk_10 > 1)
+ if (sInfoCard->pos > 1)
{
if (gTasks[taskId1].data[0] == 2)
sprite->invisible = TRUE;
@@ -3708,7 +3560,7 @@ static void sub_8190B40(struct Sprite *sprite)
}
else
{
- if (sBattleDomeStruct->unk_10 != 0)
+ if (sInfoCard->pos != 0)
{
sprite->invisible = FALSE;
}
@@ -3721,13 +3573,13 @@ static void sub_8190B40(struct Sprite *sprite)
}
}
-static void sub_8190C6C(struct Sprite *sprite)
+static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite)
{
int taskId1 = sprite->data[0];
if (gTasks[taskId1].data[3] == 1)
{
- if (sBattleDomeStruct->unk_10 != 0)
+ if (sInfoCard->pos != 0)
{
if (gTasks[taskId1].data[0] == 2)
sprite->invisible = TRUE;
@@ -3739,7 +3591,7 @@ static void sub_8190C6C(struct Sprite *sprite)
}
else
{
- if (sBattleDomeStruct->unk_10 != 1)
+ if (sInfoCard->pos != 1)
{
if (gTasks[taskId1].data[0] == 2)
sprite->invisible = TRUE;
@@ -3751,39 +3603,53 @@ static void sub_8190C6C(struct Sprite *sprite)
}
}
-static void sub_8190CD4(u8 taskId)
+// Task states for Task_HandleInfoCardInput
+#define STATE_FADE_IN 0
+#define STATE_WAIT_FADE 1
+#define STATE_GET_INPUT 2
+#define STATE_REACT_INPUT 3
+#define STATE_MOVE_UP 4
+#define STATE_MOVE_DOWN 5
+#define STATE_MOVE_LEFT 6
+#define STATE_MOVE_RIGHT 7
+#define STATE_CLOSE_CARD 8
+
+#define tUsingAlternateSlot data[2] // CARD_ALTERNATE_SLOT
+
+static void Task_HandleInfoCardInput(u8 taskId)
{
int i;
int windowId = 0;
- int r9 = gTasks[taskId].data[3];
+ int mode = gTasks[taskId].data[3];
int taskId2 = gTasks[taskId].data[4];
- int trainerTournamentId = 0;
+ int trainerTourneyId = 0;
int matchNo = 0;
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
- case 0:
+ case STATE_FADE_IN:
if (!gPaletteFade.active)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
- gTasks[taskId].data[0] = 1;
+ gTasks[taskId].tState = STATE_WAIT_FADE;
}
break;
- case 1:
+ case STATE_WAIT_FADE:
if (!gPaletteFade.active)
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
break;
- case 2:
- i = sub_819221C(taskId);
+ case STATE_GET_INPUT:
+ i = Task_GetInfoCardInput(taskId);
switch (i)
{
- case 9:
+ case INFOCARD_INPUT_AB:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 8;
+ gTasks[taskId].tState = STATE_CLOSE_CARD;
break;
- case 1 ... 8:
+ case TRAINERCARD_INPUT_UP ... TRAINERCARD_INPUT_RIGHT:
+ case MATCHCARD_INPUT_UP ... MATCHCARD_INPUT_RIGHT:
gTasks[taskId].data[5] = i;
- if (gTasks[taskId].data[2] != 0)
+ if (gTasks[taskId].tUsingAlternateSlot)
windowId = 9;
else
windowId = 0;
@@ -3793,19 +3659,19 @@ static void sub_8190CD4(u8 taskId)
CopyWindowToVram(i, 2);
FillWindowPixelBuffer(i, PIXEL_FILL(0));
}
- gTasks[taskId].data[0] = 3;
+ gTasks[taskId].tState = STATE_REACT_INPUT;
break;
- case 0:
+ case INFOCARD_INPUT_NONE:
break;
}
break;
- case 3:
+ case STATE_REACT_INPUT:
i = gTasks[taskId].data[5];
switch (i)
{
- case 1:
- case 5:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_UP:
+ case MATCHCARD_INPUT_UP:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -3820,108 +3686,108 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (i == 1)
+ if (i == TRAINERCARD_INPUT_UP)
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 320;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 0;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
- sBattleDomeStruct->unk_10 = 0;
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
+ sInfoCard->pos = 0;
}
}
- else
+ else // i == MATCHCARD_INPUT_UP
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
matchNo = gTasks[taskId2].data[1] - 16;
- sub_8192F08(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 320;
- trainerTournamentId = sBattleDomeStruct->unk_11[0];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[0];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
}
- else if (sBattleDomeStruct->unk_10 == 2)
+ else if (sInfoCard->pos == 2)
{
matchNo = gTasks[taskId2].data[1] - 16;
- sub_8192F08(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 320;
- trainerTournamentId = sBattleDomeStruct->unk_11[1];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[1];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 0x10, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, matchNo);
}
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 4;
+ gTasks[taskId].tState = STATE_MOVE_UP;
gTasks[taskId].data[5] = 0;
break;
- case 2:
- case 6:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_DOWN:
+ case MATCHCARD_INPUT_DOWN:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -3936,107 +3802,107 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (i == 2)
+ if (i == TRAINERCARD_INPUT_DOWN)
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
}
else
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 0;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
- sBattleDomeStruct->unk_10 = 0;
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
+ sInfoCard->pos = 0;
}
}
- else
+ else // i == MATCHCARD_INPUT_DOWN
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
matchNo = gTasks[taskId2].data[1] - 16;
- sub_8192F08(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[0];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[0];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
}
- else if (sBattleDomeStruct->unk_10 == 2)
+ else if (sInfoCard->pos == 2)
{
matchNo = gTasks[taskId2].data[1] - 16;
- sub_8192F08(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[1];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[1];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 0;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 4, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, matchNo);
}
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 5;
+ gTasks[taskId].tState = STATE_MOVE_DOWN;
gTasks[taskId].data[5] = 0;
break;
- case 3:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_LEFT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4051,75 +3917,75 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId);
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 0;
- matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1];
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo);
+ matchNo = sIdToMatchNumber[gTasks[taskId2].data[1]][sInfoCard->pos - 1];
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, matchNo);
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 6;
+ gTasks[taskId].tState = STATE_MOVE_LEFT;
gTasks[taskId].data[5] = 0;
break;
- case 7:
- if (gTasks[taskId].data[2])
+ case MATCHCARD_INPUT_LEFT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4134,75 +4000,75 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[0];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[0];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, trainerTourneyId);
}
else
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, matchNo);
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 6;
+ gTasks[taskId].tState = STATE_MOVE_LEFT;
gTasks[taskId].data[5] = 0;
break;
- case 4:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_RIGHT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4217,7 +4083,7 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 1)
+ if (sInfoCard->pos == 1)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
@@ -4227,63 +4093,63 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG2_X = 0;
gBattle_BG2_Y = 0;
}
- matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1];
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo);
+ matchNo = sIdToMatchNumber[gTasks[taskId2].data[1]][sInfoCard->pos - 1];
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, matchNo);
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = STATE_MOVE_RIGHT;
gTasks[taskId].data[5] = 0;
break;
- case 8:
- if (gTasks[taskId].data[2])
+ case MATCHCARD_INPUT_RIGHT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4298,76 +4164,76 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 2)
+ if (sInfoCard->pos == 2)
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[1];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 2, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[1];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, trainerTourneyId);
}
else
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, matchNo);
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = STATE_MOVE_RIGHT;
gTasks[taskId].data[5] = 0;
break;
}
break;
- case 4:
+ case STATE_MOVE_UP:
if (++gTasks[taskId].data[5] != 41)
{
gBattle_BG0_Y -= 4;
@@ -4376,10 +4242,10 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 5:
+ case STATE_MOVE_DOWN:
if (++gTasks[taskId].data[5] != 41)
{
gBattle_BG0_Y += 4;
@@ -4388,10 +4254,10 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 6:
+ case STATE_MOVE_LEFT:
if (++gTasks[taskId].data[5] != 65)
{
gBattle_BG0_X -= 4;
@@ -4400,10 +4266,10 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 7:
+ case STATE_MOVE_RIGHT:
if (++gTasks[taskId].data[5] != 65)
{
gBattle_BG0_X += 4;
@@ -4412,43 +4278,44 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 8:
+ case STATE_CLOSE_CARD:
if (!gPaletteFade.active)
{
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyTrainerPicSprite(sInfoCard->spriteIds[i]);
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyMonIconSprite(&gSprites[sInfoCard->spriteIds[i]]);
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyTrainerPicSprite(sInfoCard->spriteIds[i]);
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyMonIconSprite(&gSprites[sInfoCard->spriteIds[i]]);
}
}
FreeMonIconPalettes();
- FREE_AND_SET_NULL(sBattleDomeStruct);
+ FREE_AND_SET_NULL(sInfoCard);
FreeAllWindowBuffers();
- if (r9 == 0)
+
+ if (mode == INFOCARD_NEXT_OPPONENT)
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
@@ -4456,10 +4323,10 @@ static void sub_8190CD4(u8 taskId)
{
i = CreateTask(Task_ShowTourneyTree, 0);
gTasks[i].data[0] = 0;
- gTasks[i].data[1] = 0;
+ gTasks[i].tNotInteractive = FALSE;
gTasks[i].data[2] = 3;
gTasks[i].data[3] = gTasks[taskId].data[4];
- gTasks[i].data[4] = gTasks[taskId2].data[6];
+ gTasks[i].tIsPrevTourneyTree = gTasks[taskId2].data[6];
}
DestroyTask(taskId);
}
@@ -4467,116 +4334,142 @@ static void sub_8190CD4(u8 taskId)
}
}
-static u8 sub_819221C(u8 taskId)
+// undefine task states for Task_HandleInfoCardInput
+#undef STATE_FADE_IN
+#undef STATE_WAIT_FADE
+#undef STATE_GET_INPUT
+#undef STATE_REACT_INPUT
+#undef STATE_MOVE_UP
+#undef STATE_MOVE_DOWN
+#undef STATE_MOVE_LEFT
+#undef STATE_MOVE_RIGHT
+#undef STATE_CLOSE_CARD
+
+static u8 Task_GetInfoCardInput(u8 taskId)
{
- u8 retVal = 0;
+ u8 input = INFOCARD_INPUT_NONE;
int taskId2 = gTasks[taskId].data[4];
- int r5 = gTasks[taskId2].data[1];
- u8 r10 = sTourneyTreeTrainerIds[r5];
+ int position = gTasks[taskId2].data[1];
+ u8 tourneyId = sTourneyTreeTrainerIds[position];
u16 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
- retVal = 9;
+ input = INFOCARD_INPUT_AB;
- if (gTasks[taskId].data[3] == 0)
- return retVal;
+ // Next opponent card cant scroll
+ if (gTasks[taskId].data[3] == INFOCARD_NEXT_OPPONENT)
+ return input;
- if (gTasks[taskId].data[3] == 1)
+ if (gTasks[taskId].data[3] == INFOCARD_TRAINER)
{
- if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 0)
+ // For trainer info cards, pos is 0 when on a trainer info card (not viewing that trainer's match progression)
+ // Scrolling up/down from a trainer info card goes to other trainer info cards
+ if (gMain.newKeys & DPAD_UP && sInfoCard->pos == 0)
{
- if (r5 == 0)
- r5 = 15;
+ if (position == 0)
+ position = DOME_TOURNAMENT_TRAINERS_COUNT - 1;
else
- r5--;
- retVal = 1;
+ position--;
+ input = TRAINERCARD_INPUT_UP;
}
- else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 0)
+ else if (gMain.newKeys & DPAD_DOWN && sInfoCard->pos == 0)
{
- if (r5 == 15)
- r5 = 0;
+ if (position == DOME_TOURNAMENT_TRAINERS_COUNT - 1)
+ position = 0;
else
- r5++;
- retVal = 2;
+ position++;
+ input = TRAINERCARD_INPUT_DOWN;
}
- else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0)
+ // Scrolling left can only be done after scrolling right
+ else if (gMain.newKeys & DPAD_LEFT && sInfoCard->pos != 0)
{
- sBattleDomeStruct->unk_10--;
- retVal = 3;
+ sInfoCard->pos--;
+ input = TRAINERCARD_INPUT_LEFT;
}
+ // Scrolling right from a trainer info card shows their match progression
else if (gMain.newKeys & DPAD_RIGHT)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < gSaveBlock2Ptr->frontier.domeTrainers[r10].eliminatedAt)
+ // Can only scroll right from a trainer card until the round they were eliminated
+ if (DOME_TRAINERS[tourneyId].isEliminated && sInfoCard->pos - 1 < DOME_TRAINERS[tourneyId].eliminatedAt)
{
- sBattleDomeStruct->unk_10++;
- retVal = 4;
+ sInfoCard->pos++;
+ input = TRAINERCARD_INPUT_RIGHT;
}
- if (!gSaveBlock2Ptr->frontier.domeTrainers[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < roundId)
+ // otherwise can scroll as far right as the current round allows
+ if (!DOME_TRAINERS[tourneyId].isEliminated && sInfoCard->pos - 1 < roundId)
{
- sBattleDomeStruct->unk_10++;
- retVal = 4;
+ sInfoCard->pos++;
+ input = TRAINERCARD_INPUT_RIGHT;
}
}
- if (retVal == 9)
+ if (input == INFOCARD_INPUT_AB)
{
- if (sBattleDomeStruct->unk_10 != 0)
- gTasks[taskId2].data[1] = gUnknown_0860D1A0[r5 / 2][sBattleDomeStruct->unk_10 - 1];
+ if (sInfoCard->pos != 0)
+ gTasks[taskId2].data[1] = gUnknown_0860D1A0[position / 2][sInfoCard->pos - 1];
else
- gTasks[taskId2].data[1] = r5;
+ gTasks[taskId2].data[1] = position;
}
}
- else
+ else // gTasks[taskId].data[3] == INFOCARD_MATCH
{
- if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 1)
+ // For match info cards, pos is 1 when on the match card, 0 when on the left trainer, and 1 when on the right trainer
+ // Scrolling up/down from a match info card goes to the next/previous match
+ if (gMain.newKeys & DPAD_UP && sInfoCard->pos == 1)
{
- if (r5 == 16)
- r5 = gUnknown_0860D19C[roundId];
+ if (position == DOME_TOURNAMENT_TRAINERS_COUNT)
+ position = sLastMatchCardNum[roundId];
else
- r5--;
- retVal = 5;
+ position--;
+ input = MATCHCARD_INPUT_UP;
}
- else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 1)
+ else if (gMain.newKeys & DPAD_DOWN && sInfoCard->pos == 1)
{
- if (r5 == gUnknown_0860D19C[roundId])
- r5 = 16;
+ if (position == sLastMatchCardNum[roundId])
+ position = DOME_TOURNAMENT_TRAINERS_COUNT;
else
- r5++;
- retVal = 6;
+ position++;
+ input = MATCHCARD_INPUT_DOWN;
}
- else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0)
+ // Scrolling left/right from a match info card shows the trainer info card of the competitors for that match
+ else if (gMain.newKeys & DPAD_LEFT && sInfoCard->pos != 0)
{
- retVal = 7;
- sBattleDomeStruct->unk_10--;
+ input = MATCHCARD_INPUT_LEFT;
+ sInfoCard->pos--;
}
- else if (gMain.newKeys & DPAD_RIGHT && (sBattleDomeStruct->unk_10 == 0 || sBattleDomeStruct->unk_10 == 1))
+ else if (gMain.newKeys & DPAD_RIGHT && (sInfoCard->pos == 0 || sInfoCard->pos == 1))
{
- retVal = 8;
- sBattleDomeStruct->unk_10++;
+ input = MATCHCARD_INPUT_RIGHT;
+ sInfoCard->pos++;
}
- if (retVal == 9)
+ if (input == INFOCARD_INPUT_AB)
{
- if (sBattleDomeStruct->unk_10 == 0)
- gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[0]];
- else if (sBattleDomeStruct->unk_10 == 2)
- gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[1]];
- else
- gTasks[taskId2].data[1] = r5;
+ if (sInfoCard->pos == 0) // On left trainer info card
+ gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[0]];
+ else if (sInfoCard->pos == 2) // On right trainer info card
+ gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[1]];
+ else // On match info card
+ gTasks[taskId2].data[1] = position;
}
}
- if (retVal != 0 && retVal != 9)
+ if (input != INFOCARD_INPUT_NONE && input != INFOCARD_INPUT_AB)
{
PlaySE(SE_SELECT);
- gTasks[taskId2].data[1] = r5;
- gTasks[taskId].data[2] ^= 1;
+ gTasks[taskId2].data[1] = position;
+ gTasks[taskId].tUsingAlternateSlot ^= 1;
}
- return retVal;
+ return input;
}
-static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
+#undef tUsingAlternateSlot
+
+// allocatedArray below needs to be large enough to hold stat totals for each mon, or totals of each type of move points
+#define ALLOC_ARRAY_SIZE (NUM_STATS * FRONTIER_PARTY_SIZE >= NUM_MOVE_POINT_TYPES ? (NUM_STATS * FRONTIER_PARTY_SIZE) : NUM_MOVE_POINT_TYPES)
+
+static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
{
struct TextPrinterTemplate textPrinter;
int i, j, k;
@@ -4586,63 +4479,67 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
int windowId = 0;
int x = 0, y = 0;
u8 palSlot = 0;
- s16 *allocatedArray = AllocZeroed(sizeof(s16) * 18);
- trainerId = gSaveBlock2Ptr->frontier.domeTrainers[trainerTournamentId].trainerId;
+ s16 *allocatedArray = AllocZeroed(sizeof(s16) * ALLOC_ARRAY_SIZE);
+ trainerId = DOME_TRAINERS[trainerTourneyId].trainerId;
- if (flags & 1)
- arrId = 8, windowId = 9, palSlot = 2;
- if (flags & 2)
+ if (flags & CARD_ALTERNATE_SLOT)
+ arrId = 2 * (FRONTIER_PARTY_SIZE + 1), windowId = 9, palSlot = 2;
+ if (flags & MOVE_CARD_RIGHT)
x = 256;
- if (flags & 4)
+ if (flags & MOVE_CARD_DOWN)
y = 160;
- if (flags & 8)
+ if (flags & MOVE_CARD_LEFT)
x = -256;
- if (flags & 0x10)
+ if (flags & MOVE_CARD_UP)
y = -160;
+ // Create trainer pic sprite
if (trainerId == TRAINER_PLAYER)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
else if (trainerId == TRAINER_FRONTIER_BRAIN)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
else
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE;
- for (i = 0; i < 3; i++)
+ // Create party mon icons
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (trainerId == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i],
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else if (trainerId == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i],
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].species,
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species,
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].invisible = TRUE;
}
+
+ // Initialize the text printer
textPrinter.fontId = 2;
textPrinter.x = 0;
textPrinter.y = 0;
@@ -4651,10 +4548,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
textPrinter.letterSpacing = 2;
textPrinter.lineSpacing = 0;
textPrinter.unk = 0;
- textPrinter.fgColor = 14;
- textPrinter.bgColor = 0;
- textPrinter.shadowColor = 13;
+ textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5;
+ textPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
+ textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4;
+ // Get class and trainer name
i = 0;
if (trainerId == TRAINER_PLAYER)
j = gFacilityClassToTrainerClass[FACILITY_CLASS_BRENDAN];
@@ -4683,6 +4581,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
StringAppend(gStringVar1, gStringVar2);
}
+ // Print class and trainer name
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, gStringVar1, 0xD0, textPrinter.letterSpacing);
textPrinter.currentChar = gStringVar1;
textPrinter.windowId = windowId;
@@ -4691,15 +4590,16 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
AddTextPrinter(&textPrinter, 0, NULL);
textPrinter.letterSpacing = 0;
- for (i = 0; i < 3; i++)
+ // Print names of the party mons
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- textPrinter.currentY = gUnknown_0860D346[i];
+ textPrinter.currentY = sSpeciesNameTextYCoords[i];
if (trainerId == TRAINER_PLAYER)
- textPrinter.currentChar = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]];
+ textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]];
else if (trainerId == TRAINER_FRONTIER_BRAIN)
- textPrinter.currentChar = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]];
+ textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]];
else
- textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].species];
+ textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species];
textPrinter.windowId = 1 + i + windowId;
if (i == 1)
@@ -4714,10 +4614,12 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
PutWindowTilemap(windowId + 4);
CopyWindowToVram(windowId + 4, 3);
+
+ // Print text about trainers potential in the tourney
if (trainerId == TRAINER_FRONTIER_BRAIN)
- textPrinter.currentChar = sBattleDomePotentialTexts[16];
+ textPrinter.currentChar = sBattleDomePotentialTexts[DOME_TOURNAMENT_TRAINERS_COUNT];
else
- textPrinter.currentChar = sBattleDomePotentialTexts[trainerTournamentId];
+ textPrinter.currentChar = sBattleDomePotentialTexts[trainerTourneyId];
textPrinter.fontId = 1;
textPrinter.windowId = windowId + 4;
@@ -4726,91 +4628,103 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
textPrinter.currentY = 4;
AddTextPrinter(&textPrinter, 0, NULL);
- for (i = 0; i < 3; i++)
+ // Calculate move scores to determine the trainers battle style
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
for (j = 0; j < MAX_MON_MOVES; j++)
{
- for (k = 0; k < DOME_TOURNAMENT_TRAINERS_COUNT; k++)
+ for (k = 0; k < NUM_MOVE_POINT_TYPES; k++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
- allocatedArray[k] += sMovePointsForDomeTrainers[GetFrontierBrainMonMove(i, j)][k];
+ allocatedArray[k] += sBattleStyleMovePoints[GetFrontierBrainMonMove(i, j)][k];
else if (trainerId == TRAINER_PLAYER)
- allocatedArray[k] += sMovePointsForDomeTrainers[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k];
+ allocatedArray[k] += sBattleStyleMovePoints[gSaveBlock2Ptr->frontier.domePlayerPartyData[i].moves[j]][k];
else
- allocatedArray[k] += sMovePointsForDomeTrainers[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].moves[j]][k];
+ allocatedArray[k] += sBattleStyleMovePoints[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].moves[j]][k];
}
}
}
- for (i = 0; i < ARRAY_COUNT(gUnknown_0860C988); i++)
+ // Get the battle style the trainer uses
+ // Each element of sBattleStyleThresholds is an array of point thresholds for particular move qualities
+ // If all the point thresholds in the array are satisfied, the player is considered to be using that battle style
+ for (i = 0; i < ARRAY_COUNT(sBattleStyleThresholds); i++)
{
- int r4 = 0;
+ int thresholdStatCount = 0;
- for (k = 0, j = 0; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++)
+ for (k = 0, j = 0; j < NUM_MOVE_POINT_TYPES; j++)
{
- if (gUnknown_0860C988[i][j] != 0)
+ if (sBattleStyleThresholds[i][j] != 0)
{
- r4++;
- if (allocatedArray[j] != 0 && allocatedArray[j] >= gUnknown_0860C988[i][j])
- k++;
+ thresholdStatCount++;
+ if (allocatedArray[j] != 0 && allocatedArray[j] >= sBattleStyleThresholds[i][j])
+ k++; // number of point thresholds met/exceeded
}
}
- if (r4 == k)
- break;
+ if (thresholdStatCount == k)
+ break; // All thresholds for battle style met/exceeded, player uses this battle style
}
+ // Print the trainers battle style
textPrinter.currentChar = sBattleDomeOpponentStyleTexts[i];
textPrinter.y = 20;
textPrinter.currentY = 20;
AddTextPrinter(&textPrinter, 0, NULL);
- for (i = 0; i < 18; i++)
+ for (i = 0; i < ALLOC_ARRAY_SIZE; i++)
allocatedArray[i] = 0;
+ // Calculate EV/nature points for the stat portion of battle style
if (trainerId == TRAINER_FRONTIER_BRAIN || trainerId == TRAINER_PLAYER)
{
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- for (j = 0; j < 6; j++)
+ // Add the EVs for this mon
+ for (j = 0; j < NUM_STATS; j++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
allocatedArray[j] = GetFrontierBrainMonEvs(i, j);
else
- allocatedArray[j] = gSaveBlock2Ptr->frontier.field_EFC[i].evs[j];
+ allocatedArray[j] = gSaveBlock2Ptr->frontier.domePlayerPartyData[i].evs[j];
}
- allocatedArray[6] += allocatedArray[0];
- for (j = 0; j < 5; j++)
+
+ // HP doesnt have a nature modifier, so just add it here
+ allocatedArray[NUM_STATS] += allocatedArray[STAT_HP];
+
+ // Add the EVs with the nature modifier for this mon and and track number of negative natures
+ for (j = 0; j < NUM_EV_STATS; j++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
nature = GetFrontierBrainMonNature(i);
else
- nature = gSaveBlock2Ptr->frontier.field_EFC[i].nature;
+ nature = gSaveBlock2Ptr->frontier.domePlayerPartyData[i].nature;
if (gNatureStatTable[nature][j] > 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100;
}
else if (gNatureStatTable[nature][j] < 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100;
- allocatedArray[j + 13]++;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100;
+ allocatedArray[j + NUM_STATS + NUM_EV_STATS + 2]++;
}
else
{
- allocatedArray[j + 7] += allocatedArray[j + 1];
+ allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1];
}
}
}
- for (j = 0, i = 0; i < 6; i++)
- j += allocatedArray[6 + i];
- for (i = 0; i < 6; i++)
- allocatedArray[i] = (allocatedArray[6 + i] * 100) / j;
+ for (j = 0, i = 0; i < NUM_STATS; i++)
+ j += allocatedArray[NUM_STATS + i];
+ for (i = 0; i < NUM_STATS; i++)
+ allocatedArray[i] = (allocatedArray[NUM_STATS + i] * 100) / j;
}
+ // Same as above but for regular trainers instead of the frontier brain or player
else
{
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- int evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread;
+ int evBits = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].evSpread;
for (k = 0, j = 0; j < NUM_STATS; j++)
{
allocatedArray[j] = 0;
@@ -4819,7 +4733,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
evBits >>= 1;
}
k = MAX_TOTAL_EVS / k;
- evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread;
+ evBits = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].evSpread;
for (j = 0; j < NUM_STATS; j++)
{
if (evBits & 1)
@@ -4827,37 +4741,42 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
evBits >>= 1;
}
- allocatedArray[6] += allocatedArray[0];
- for (j = 0; j < 5; j++)
+ allocatedArray[NUM_STATS] += allocatedArray[STAT_HP];
+ for (j = 0; j < NUM_EV_STATS; j++)
{
- nature = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].nature;
+ nature = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].nature;
if (gNatureStatTable[nature][j] > 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100;
}
else if (gNatureStatTable[nature][j] < 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100;
- allocatedArray[j + 13]++;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100;
+ allocatedArray[j + NUM_STATS + NUM_EV_STATS + 2]++;
}
else
{
- allocatedArray[j + 7] += allocatedArray[j + 1];
+ allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1];
}
}
}
- for (j = 0, i = 0; i < 6; i++)
- j += allocatedArray[i + 6];
- for (i = 0; i < 6; i++)
- allocatedArray[i] = (allocatedArray[6 + i] * 100) / j;
+ for (j = 0, i = 0; i < NUM_STATS; i++)
+ j += allocatedArray[i + NUM_STATS];
+ for (i = 0; i < NUM_STATS; i++)
+ allocatedArray[i] = (allocatedArray[NUM_STATS + i] * 100) / j;
}
- for (i = 0, j = 0, k = 0; k < 6; k++)
+ // Count the number of good/bad stats for the party
+ // i is the number of good stats, j is the number of bad stats
+ for (i = 0, j = 0, k = 0; k < NUM_STATS; k++)
{
+ // Any stat above 29 EVs is considered good
if (allocatedArray[k] > 29)
{
+ // If 2 good stats have been found already, choose which to use
if (i == 2)
{
+
if (allocatedArray[6] < allocatedArray[k])
{
if (allocatedArray[7] < allocatedArray[k])
@@ -4890,8 +4809,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
i++;
}
}
+
+ // Any stat with 0 EVs is considered bad
if (allocatedArray[k] == 0)
{
+ // If 2 bad stats have been found already, choose which to use
if (j == 2)
{
if (allocatedArray[k + 12] >= 2
@@ -4920,17 +4842,19 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
}
}
+ // Get the string ID to display which stats are good/bad
if (i == 2)
- i = gUnknown_0860D349[allocatedArray[6]] + (allocatedArray[7] - (allocatedArray[6] + 1));
+ i = sStatTextOffsets[allocatedArray[6]] + (allocatedArray[7] - (allocatedArray[6] + 1)) + DOME_TEXT_TWO_GOOD_STATS;
else if (i == 1)
- i = allocatedArray[6] + 15;
+ i = allocatedArray[6] + DOME_TEXT_ONE_GOOD_STAT;
else if (j == 2)
- i = gUnknown_0860D349[allocatedArray[8]] + (allocatedArray[9] - (allocatedArray[8] + 1)) + 21;
+ i = sStatTextOffsets[allocatedArray[8]] + (allocatedArray[9] - (allocatedArray[8] + 1)) + DOME_TEXT_TWO_BAD_STATS;
else if (j == 1)
- i = allocatedArray[8] + 36;
+ i = allocatedArray[8] + DOME_TEXT_ONE_BAD_STAT;
else
- i = 42;
+ i = DOME_TEXT_WELL_BALANCED;
+ // Print the stat text
textPrinter.currentChar = sBattleDomeOpponentStatsTexts[i];
textPrinter.y = 36;
textPrinter.currentY = 36;
@@ -4938,55 +4862,61 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
Free(allocatedArray);
}
-static int sub_8192F08(u8 arg0, u8 *arg1)
+static int BufferDomeWinString(u8 matchNum, u8 *tournamentIds)
{
int i;
u8 tournamentId;
- int retVal = 0;
+ int winStringId = 0;
int count = 0;
- for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++)
+ // Get winners name
+ for (i = sCompetitorRangeByMatch[matchNum][0]; i < sCompetitorRangeByMatch[matchNum][0] + sCompetitorRangeByMatch[matchNum][1]; i++)
{
- tournamentId = gUnknown_0860D3B4[i];
- if (!gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].isEliminated)
+ tournamentId = sTourneyTreeTrainerIds2[i];
+ if (!DOME_TRAINERS[tournamentId].isEliminated)
{
- arg1[count] = tournamentId;
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_PLAYER)
+ tournamentIds[count] = tournamentId;
+ if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_PLAYER)
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
- else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
+ else if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
CopyDomeBrainTrainerName(gStringVar1);
else
- CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId);
+ CopyDomeTrainerName(gStringVar1, DOME_TRAINERS[tournamentId].trainerId);
count++;
}
}
+ // Neither trainer has been eliminated, battle hasn't occurred yet
if (count == 2)
- return 0;
+ return DOME_TEXT_NO_WINNER_YET;
- for (i = gUnknown_0860D3C4[arg0][0]; i < gUnknown_0860D3C4[arg0][0] + gUnknown_0860D3C4[arg0][1]; i++)
+ for (i = sCompetitorRangeByMatch[matchNum][0]; i < sCompetitorRangeByMatch[matchNum][0] + sCompetitorRangeByMatch[matchNum][1]; i++)
{
- tournamentId = gUnknown_0860D3B4[i];
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].isEliminated
- && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].eliminatedAt >= gUnknown_0860D3C4[arg0][2])
+ tournamentId = sTourneyTreeTrainerIds2[i];
+
+ if (DOME_TRAINERS[tournamentId].isEliminated
+ && DOME_TRAINERS[tournamentId].eliminatedAt >= sCompetitorRangeByMatch[matchNum][2])
{
- arg1[count] = tournamentId;
+ tournamentIds[count] = tournamentId;
count++;
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].eliminatedAt == gUnknown_0860D3C4[arg0][2])
+
+ if (DOME_TRAINERS[tournamentId].eliminatedAt == sCompetitorRangeByMatch[matchNum][2])
{
- StringCopy(gStringVar2, gMoveNames[gSaveBlock2Ptr->frontier.field_EC0[tournamentId]]);
- retVal = gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk3 * 2;
- if (gSaveBlock2Ptr->frontier.field_EC0[tournamentId] == 0 && gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].unk3 == 0)
- retVal = 4;
+ // Set initial winStringId offset
+ StringCopy(gStringVar2, gMoveNames[gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId]]);
+ winStringId = DOME_TRAINERS[tournamentId].forfeited * 2; // (DOME_TEXT_WON_USING_MOVE - 1) or (DOME_TEXT_WON_ON_FORFEIT - 1)
+
+ if (gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId] == MOVE_NONE && DOME_TRAINERS[tournamentId].forfeited == FALSE)
+ winStringId = DOME_TEXT_WON_NO_MOVES - 1;
}
else
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_PLAYER)
+ if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_PLAYER)
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
- else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
+ else if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
CopyDomeBrainTrainerName(gStringVar1);
else
- CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId].trainerId);
+ CopyDomeTrainerName(gStringVar1, DOME_TRAINERS[tournamentId].trainerId);
}
}
@@ -4994,10 +4924,10 @@ static int sub_8192F08(u8 arg0, u8 *arg1)
break;
}
- if (arg0 == 14)
- return retVal + 2;
+ if (matchNum == DOME_TOURNAMENT_MATCHES_COUNT - 1)
+ return winStringId + 2; // use DOME_TEXT_CHAMP_*
else
- return retVal + 1;
+ return winStringId + 1; // use DOME_TEXT_WON_*
}
static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
@@ -5013,137 +4943,137 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
int x = 0, y = 0;
u8 palSlot = 0;
- if (flags & 1)
- arrId = 8, windowId = 9, palSlot = 2;
- if (flags & 2)
+ if (flags & CARD_ALTERNATE_SLOT)
+ arrId = 2 * (FRONTIER_PARTY_SIZE + 1), windowId = 9, palSlot = 2;
+ if (flags & MOVE_CARD_RIGHT)
x = 256;
- if (flags & 4)
+ if (flags & MOVE_CARD_DOWN)
y = 160;
- if (flags & 8)
+ if (flags & MOVE_CARD_LEFT)
x = -256;
- if (flags & 0x10)
+ if (flags & MOVE_CARD_UP)
y = -160;
// Copy trainers information to handy arrays.
- winStringId = sub_8192F08(matchNo, sBattleDomeStruct->unk_11);
- for (i = 0; i < 2; i++)
+ winStringId = BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
+ for (i = 0; i < NUM_INFOCARD_TRAINERS; i++)
{
- tournamentIds[i] = sBattleDomeStruct->unk_11[i];
- trainerIds[i] = gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].trainerId;
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].eliminatedAt <= gUnknown_0860D3C4[matchNo][2]
- && gSaveBlock2Ptr->frontier.domeTrainers[tournamentIds[i]].isEliminated)
+ tournamentIds[i] = sInfoCard->tournamentIds[i];
+ trainerIds[i] = DOME_TRAINERS[tournamentIds[i]].trainerId;
+ if (DOME_TRAINERS[tournamentIds[i]].eliminatedAt <= sCompetitorRangeByMatch[matchNo][2]
+ && DOME_TRAINERS[tournamentIds[i]].isEliminated)
lost[i] = TRUE;
else
lost[i] = FALSE;
}
- // Draw first trainer sprite.
+ // Draw left trainer sprite.
if (trainerIds[0] == TRAINER_PLAYER)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
else
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE;
if (lost[0])
- gSprites[sBattleDomeStruct->arr[arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[arrId]].oam.paletteNum = 3;
- // Draw second trainer sprite.
+ // Draw right trainer sprite.
if (trainerIds[1] == TRAINER_PLAYER)
- sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
+ sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
- sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
+ sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
else
- sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
+ sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[1 + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[1 + arrId]].invisible = TRUE;
if (lost[1])
- gSprites[sBattleDomeStruct->arr[1 + arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[1 + arrId]].oam.paletteNum = 3;
- // Draw first trainer's pokemon icons.
- for (i = 0; i < 3; i++)
+ // Draw left trainer's pokemon icons.
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (trainerIds[0] == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i],
SpriteCb_MonIcon,
- x | sFirstTrainerMonX[i],
- y + sFirstTrainerMonY[i],
+ x | sLeftTrainerMonX[i],
+ y + sLeftTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i],
SpriteCb_MonIcon,
- x | sFirstTrainerMonX[i],
- y + sFirstTrainerMonY[i],
+ x | sLeftTrainerMonX[i],
+ y + sLeftTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i]].species,
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[0]][i]].species,
SpriteCb_MonIcon,
- x | sFirstTrainerMonX[i],
- y + sFirstTrainerMonY[i],
+ x | sLeftTrainerMonX[i],
+ y + sLeftTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].invisible = TRUE;
if (lost[0])
{
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.paletteNum = 3;
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].sMonIconStill = TRUE;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].sMonIconStill = TRUE;
}
}
- // Draw second trainer's pokemon icons.
- for (i = 0; i < 3; i++)
+ // Draw right trainer's pokemon icons.
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (trainerIds[1] == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i],
+ sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i],
SpriteCb_MonIcon,
- x | sSecondTrainerMonX[i],
- y + sSecondTrainerMonY[i],
+ x | sRightTrainerMonX[i],
+ y + sRightTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0;
}
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i],
+ sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i],
SpriteCb_MonIcon,
- x | sSecondTrainerMonX[i],
- y + sSecondTrainerMonY[i],
+ x | sRightTrainerMonX[i],
+ y + sRightTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0;
}
else
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i]].species,
+ sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[1]][i]].species,
SpriteCb_MonIcon,
- x | sSecondTrainerMonX[i],
- y + sSecondTrainerMonY[i],
+ x | sRightTrainerMonX[i],
+ y + sRightTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0;
}
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].invisible = TRUE;
if (lost[1])
{
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.paletteNum = 3;
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].sMonIconStill = TRUE;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].sMonIconStill = TRUE;
}
}
- // Print the win string (or 'Let the battle begin!' one).
+ // Print the win string (or 'Let the battle begin!').
textPrinter.x = 0;
textPrinter.y = 2;
textPrinter.currentX = textPrinter.x;
@@ -5151,9 +5081,9 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
textPrinter.letterSpacing = 0;
textPrinter.lineSpacing = 0;
textPrinter.unk = 0;
- textPrinter.fgColor = 14;
- textPrinter.bgColor = 0;
- textPrinter.shadowColor = 13;
+ textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5;
+ textPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
+ textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4;
StringExpandPlaceholders(gStringVar4, sBattleDomeWinTexts[winStringId]);
textPrinter.currentChar = gStringVar4;
textPrinter.windowId = windowId + 8;
@@ -5164,7 +5094,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
textPrinter.currentY = textPrinter.y = 0;
AddTextPrinter(&textPrinter, 0, NULL);
- // Print first trainer's name.
+ // Print left trainer's name.
if (trainerIds[0] == TRAINER_PLAYER)
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
@@ -5182,7 +5112,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
CopyWindowToVram(windowId + 6, 3);
AddTextPrinter(&textPrinter, 0, NULL);
- // Print second trainer's name.
+ // Print right trainer's name.
if (trainerIds[1] == TRAINER_PLAYER)
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
@@ -5212,103 +5142,112 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
static void ShowDomeTourneyTree(void)
{
u8 taskId = CreateTask(Task_ShowTourneyTree, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 0;
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tNotInteractive = FALSE;
gTasks[taskId].data[2] = 2;
- gTasks[taskId].data[4] = 0;
- SetMainCallback2(CB2_BattleDome);
+ gTasks[taskId].tIsPrevTourneyTree = FALSE;
+ SetMainCallback2(CB2_TourneyTree);
}
-static void ShowPreviousDomeResultsTourneyTree(void)
+// To show the results of the last tourney on the computer in the lobby
+static void ShowPreviousDomeTourneyTree(void)
{
u8 taskId;
- InitDomeFacilityTrainersAndMons();
- gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.field_D0A - 1;
- gSaveBlock2Ptr->frontier.curChallengeBattleNum = 3;
+ SetFacilityTrainerAndMonPtrs();
+ gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.domeLvlMode - 1;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = DOME_FINAL;
taskId = CreateTask(Task_ShowTourneyTree, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 0;
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tNotInteractive = FALSE;
gTasks[taskId].data[2] = 2;
- gTasks[taskId].data[4] = 1;
- SetMainCallback2(CB2_BattleDome);
+ gTasks[taskId].tIsPrevTourneyTree = TRUE;
+ SetMainCallback2(CB2_TourneyTree);
}
-static void sub_819395C(u8 taskId)
+// Task states for Task_HandleTourneyTreeInput
+#define STATE_FADE_IN 0
+#define STATE_WAIT_FADE 1
+#define STATE_GET_INPUT 2
+#define STATE_SHOW_INFOCARD_TRAINER 3
+#define STATE_SHOW_INFOCARD_MATCH 5
+#define STATE_CLOSE_TOURNEY_TREE 7
+
+static void Task_HandleTourneyTreeInput(u8 taskId)
{
u8 newTaskId = 0;
int spriteId = gTasks[taskId].data[1];
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
- case 0:
+ case STATE_FADE_IN:
if (!gPaletteFade.active)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
- gTasks[taskId].data[0] = 1;
+ gTasks[taskId].tState = STATE_WAIT_FADE;
StartSpriteAnim(&gSprites[spriteId], 1);
}
break;
- case 1:
+ case STATE_WAIT_FADE:
if (!gPaletteFade.active)
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
break;
- case 2:
+ case STATE_GET_INPUT:
switch (UpdateTourneyTreeCursor(taskId))
{
- case 0:
+ case TOURNEY_TREE_SELECTED_CLOSE:
default:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = STATE_CLOSE_TOURNEY_TREE;
break;
- case 1:
+ case TOURNEY_TREE_NO_SELECTION:
break;
- case 2:
+ case TOURNEY_TREE_SELECTED_TRAINER:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 3;
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_TRAINER;
break;
- case 3:
+ case TOURNEY_TREE_SELECTED_MATCH:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 5;
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_MATCH;
break;
}
break;
- case 3:
+ case STATE_SHOW_INFOCARD_TRAINER:
if (!gPaletteFade.active)
{
FreeAllWindowBuffers();
ScanlineEffect_Stop();
FREE_AND_SET_NULL(sTilemapBuffer);
- newTaskId = CreateTask(Task_ShowOpponentInfo, 0);
- gTasks[newTaskId].data[0] = 0;
- gTasks[newTaskId].data[1] = sTourneyTreeTrainerIds[spriteId];
- gTasks[newTaskId].data[2] = 1;
- gTasks[newTaskId].data[3] = taskId;
-
- gTasks[taskId].data[0] = 4;
- sBattleDomeStruct->unk_10 = 0;
+ newTaskId = CreateTask(Task_ShowTourneyInfoCard, 0);
+ gTasks[newTaskId].tState = 0;
+ gTasks[newTaskId].tTournamentId = sTourneyTreeTrainerIds[spriteId];
+ gTasks[newTaskId].tMode = INFOCARD_TRAINER;
+ gTasks[newTaskId].tPrevTaskId = taskId;
+
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_TRAINER + 1;
+ sInfoCard->pos = 0;
}
break;
- case 4:
+ case STATE_SHOW_INFOCARD_TRAINER + 1:
break;
- case 5:
+ case STATE_SHOW_INFOCARD_MATCH:
if (!gPaletteFade.active)
{
FreeAllWindowBuffers();
ScanlineEffect_Stop();
FREE_AND_SET_NULL(sTilemapBuffer);
- newTaskId = CreateTask(Task_ShowOpponentInfo, 0);
- gTasks[newTaskId].data[0] = 0;
- gTasks[newTaskId].data[1] = spriteId - 16;
- gTasks[newTaskId].data[2] = 2;
- gTasks[newTaskId].data[3] = taskId;
+ newTaskId = CreateTask(Task_ShowTourneyInfoCard, 0);
+ gTasks[newTaskId].tState = 0;
+ gTasks[newTaskId].tTournamentId = spriteId - DOME_TOURNAMENT_TRAINERS_COUNT;
+ gTasks[newTaskId].tMode = INFOCARD_MATCH;
+ gTasks[newTaskId].tPrevTaskId = taskId;
- gTasks[taskId].data[0] = 6;
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_MATCH + 1;
}
break;
- case 6:
+ case STATE_SHOW_INFOCARD_MATCH + 1:
break;
- case 7:
+ case STATE_CLOSE_TOURNEY_TREE:
if (!gPaletteFade.active)
{
FreeAllWindowBuffers();
@@ -5322,157 +5261,188 @@ static void sub_819395C(u8 taskId)
}
}
+// undefine task states for Task_HandleTourneyTreeInput
+#undef STATE_FADE_IN
+#undef STATE_WAIT_FADE
+#undef STATE_GET_INPUT
+#undef STATE_SHOW_INFOCARD_TRAINER
+#undef STATE_SHOW_INFOCARD_MATCH
+#undef STATE_CLOSE_TOURNEY_TREE
+
+
+#define MOVE_DIR_UP 0
+#define MOVE_DIR_DOWN 1
+#define MOVE_DIR_LEFT 2
+#define MOVE_DIR_RIGHT 3
+#define MOVE_DIR_NONE 4
+
+// Move the tourney tree cursor
+// The 'cursor' is actually just which button sprite is currently doing the 'selected' animation
static u8 UpdateTourneyTreeCursor(u8 taskId)
{
- u8 retVal = 1;
- int direction = 4;
+ u8 selection = TOURNEY_TREE_NO_SELECTION;
+ int direction = MOVE_DIR_NONE;
int tourneyTreeCursorSpriteId = gTasks[taskId].data[1];
int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
- if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && tourneyTreeCursorSpriteId == 31))
+ if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && tourneyTreeCursorSpriteId == TOURNEY_TREE_CLOSE_BUTTON))
{
PlaySE(SE_SELECT);
- retVal = 0;
+ selection = TOURNEY_TREE_SELECTED_CLOSE;
}
else if (gMain.newKeys & A_BUTTON)
{
- if (tourneyTreeCursorSpriteId < 16)
+ if (tourneyTreeCursorSpriteId < DOME_TOURNAMENT_TRAINERS_COUNT)
{
PlaySE(SE_SELECT);
- retVal = 2;
+ selection = TOURNEY_TREE_SELECTED_TRAINER;
}
else
{
PlaySE(SE_SELECT);
- retVal = 3;
+ selection = TOURNEY_TREE_SELECTED_MATCH;
}
}
else
{
if (gMain.newKeys == DPAD_UP && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][0] != 0xFF)
- direction = 0;
+ direction = MOVE_DIR_UP;
else if (gMain.newKeys == DPAD_DOWN && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][1] != 0xFF)
- direction = 1;
+ direction = MOVE_DIR_DOWN;
else if (gMain.newKeys == DPAD_LEFT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][2] != 0xFF)
- direction = 2;
+ direction = MOVE_DIR_LEFT;
else if (gMain.newKeys == DPAD_RIGHT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][3] != 0xFF)
- direction = 3;
+ direction = MOVE_DIR_RIGHT;
}
- if (direction != 4)
+ if (direction != MOVE_DIR_NONE)
{
PlaySE(SE_SELECT);
- StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 0);
+ StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 0); // Do unselected sprite anim
tourneyTreeCursorSpriteId = sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][direction];
- StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 1);
+ StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 1); // Do selected sprite anim
gTasks[taskId].data[1] = tourneyTreeCursorSpriteId;
}
- return retVal;
+ return selection;
}
+#undef MOVE_DIR_UP
+#undef MOVE_DIR_DOWN
+#undef MOVE_DIR_LEFT
+#undef MOVE_DIR_RIGHT
+#undef MOVE_DIR_NONE
+
+// Shows the results of the just-completed round for the current tourney
static void ShowNonInteractiveDomeTourneyTree(void)
{
u8 taskId = CreateTask(Task_ShowTourneyTree, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 1;
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tNotInteractive = TRUE;
gTasks[taskId].data[2] = 2;
- gTasks[taskId].data[4] = 0;
- SetMainCallback2(CB2_BattleDome);
+ gTasks[taskId].tIsPrevTourneyTree = FALSE;
+ SetMainCallback2(CB2_TourneyTree);
}
static void ResolveDomeRoundWinners(void)
{
int i;
- if (gSpecialVar_0x8005 == 1)
+ if (gSpecialVar_0x8005 == DOME_PLAYER_WON_MATCH)
{
- gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
- gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer;
+ DOME_TRAINERS[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].isEliminated = TRUE;
+ DOME_TRAINERS[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer;
+
+ // If the player's match was the final one, no NPC vs NPC matches to decide
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < DOME_FINAL)
DecideRoundWinners(gSaveBlock2Ptr->frontier.curChallengeBattleNum);
}
- else
+ else // DOME_PLAYER_LOST_MATCH or DOME_PLAYER_RETIRED
{
- gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
- gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent;
- if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == 9)
- gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk3 = 1;
+ DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].isEliminated = TRUE;
+ DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent;
+
+ if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == DOME_PLAYER_RETIRED)
+ DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].forfeited = TRUE;
+
+ // Player lost, decide remaining outcome of tournament
for (i = gSaveBlock2Ptr->frontier.curChallengeBattleNum; i < DOME_ROUNDS_COUNT; i++)
DecideRoundWinners(i);
}
}
+// Decides the winning move of an NPC vs NPC match
static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roundId)
{
int i, j, k;
- int moveScores[4 * 3];
- u16 moveIds[4 * 3];
+ int moveScores[MAX_MON_MOVES * FRONTIER_PARTY_SIZE];
+ u16 moveIds[MAX_MON_MOVES * FRONTIER_PARTY_SIZE];
u16 bestScore = 0;
u16 bestId = 0;
int movePower = 0;
SetFacilityPtrsGetLevel();
// Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons.
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
for (j = 0; j < MAX_MON_MOVES; j++)
{
- // TODO: Clean this up, looks like a different data structure
- moveScores[i * 4 + j] = 0;
- if (gSaveBlock2Ptr->frontier.domeTrainers[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
- moveIds[i * 4 + j] = GetFrontierBrainMonMove(i, j);
+ // TODO: Clean this up, looks like a different data structure (2D array)
+ moveScores[i * MAX_MON_MOVES + j] = 0;
+ if (DOME_TRAINERS[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
+ moveIds[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j);
else
- moveIds[i * 4 + j] = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[winnerTournamentId][i]].moves[j];
+ moveIds[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j];
- movePower = gBattleMoves[moveIds[i * 4 + j]].power;
+ movePower = gBattleMoves[moveIds[i * MAX_MON_MOVES + j]].power;
if (movePower == 0)
movePower = 40;
else if (movePower == 1)
movePower = 60;
- else if (moveIds[i * 4 + j] == MOVE_SELF_DESTRUCT || moveIds[i * 4 + j] == MOVE_EXPLOSION)
+ else if (moveIds[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT
+ || moveIds[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION)
movePower /= 2;
- for (k = 0; k < 3; k++)
+ for (k = 0; k < FRONTIER_PARTY_SIZE; k++)
{
u32 var = 0;
- u32 targetSpecies = 0;
- u32 targetAbility = 0;
+ u16 targetSpecies = SPECIES_NONE;
+ u16 targetAbility = ABILITY_NONE;
do
{
var = Random32();
- } while (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].nature != GetNatureFromPersonality(var));
+ } while (gFacilityTrainerMons[DOME_MONS[loserTournamentId][k]].nature != GetNatureFromPersonality(var));
- targetSpecies = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].species;
+ targetSpecies = gFacilityTrainerMons[DOME_MONS[loserTournamentId][k]].species;
if (var & 1)
targetAbility = gBaseStats[targetSpecies].abilities[1];
else
targetAbility = gBaseStats[targetSpecies].abilities[0];
- var = AI_TypeCalc(moveIds[i * 4 + j], targetSpecies, targetAbility);
+ var = AI_TypeCalc(moveIds[i * MAX_MON_MOVES + j], targetSpecies, targetAbility);
if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE && var & MOVE_RESULT_SUPER_EFFECTIVE)
- moveScores[i * 4 + j] += movePower;
+ moveScores[i * MAX_MON_MOVES + j] += movePower;
else if (var & MOVE_RESULT_NO_EFFECT)
- moveScores[i * 4 + j] += 0;
+ moveScores[i * MAX_MON_MOVES + j] += 0;
else if (var & MOVE_RESULT_SUPER_EFFECTIVE)
- moveScores[i * 4 + j] += movePower * 2;
+ moveScores[i * MAX_MON_MOVES + j] += movePower * 2;
else if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE)
- moveScores[i * 4 + j] += movePower / 2;
+ moveScores[i * MAX_MON_MOVES + j] += movePower / 2;
else
- moveScores[i * 4 + j] += movePower;
+ moveScores[i * MAX_MON_MOVES + j] += movePower;
}
- if (bestScore < moveScores[i * 4 + j])
+ if (bestScore < moveScores[i * MAX_MON_MOVES + j])
{
- bestId = i * 4 + j;
- bestScore = moveScores[i * 4 + j];
+ bestId = i * MAX_MON_MOVES + j;
+ bestScore = moveScores[i * MAX_MON_MOVES + j];
}
- else if (bestScore == moveScores[i * 4 + j])
+ else if (bestScore == moveScores[i * MAX_MON_MOVES + j])
{
- if (moveIds[bestId] < moveIds[i * 4 + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id?
- bestId = i * 4 + j;
+ if (moveIds[bestId] < moveIds[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id?
+ bestId = i * MAX_MON_MOVES + j;
}
}
}
@@ -5481,7 +5451,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
goto LABEL;
while (j != 0)
{
- for (j = 0, k = 0; k < MAX_MON_MOVES * 3; k++)
+ for (j = 0, k = 0; k < MAX_MON_MOVES * FRONTIER_PARTY_SIZE; k++)
{
if (bestScore < moveScores[k])
{
@@ -5499,7 +5469,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
{
for (i = 0; i < roundId - 1; i++)
{
- if (gSaveBlock2Ptr->frontier.field_EC0[sub_81953E8(winnerTournamentId, i)] == moveIds[j])
+ if (gSaveBlock2Ptr->frontier.domeWinningMoves[sub_81953E8(winnerTournamentId, i)] == moveIds[j])
break;
}
if (i == roundId - 1)
@@ -5508,7 +5478,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
moveScores[j] = 0;
bestScore = 0;
j = 0;
- for (k = 0; k < MAX_MON_MOVES * 3; k++)
+ for (k = 0; k < MAX_MON_MOVES * FRONTIER_PARTY_SIZE; k++)
j += moveScores[k];
}
}
@@ -5523,10 +5493,10 @@ static void Task_ShowTourneyTree(u8 taskId)
{
int i;
struct TextPrinterTemplate textPrinter;
- int r10 = gTasks[taskId].data[1];
+ int notInteractive = gTasks[taskId].tNotInteractive;
int r4 = gTasks[taskId].data[2];
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
case 0:
SetHBlankCallback(NULL);
@@ -5534,8 +5504,8 @@ static void Task_ShowTourneyTree(u8 taskId)
EnableInterrupts(INTR_FLAG_HBLANK | INTR_FLAG_VBLANK);
CpuFill32(0, (void *)VRAM, VRAM_SIZE);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_0860CE74, ARRAY_COUNT(gUnknown_0860CE74));
- InitWindows(gUnknown_0860CE94);
+ InitBgsFromTemplates(0, sTourneyTreeBgTemplates, ARRAY_COUNT(sTourneyTreeBgTemplates));
+ InitWindows(sTourneyTreeWindowTemplates);
DeactivateAllTextPrinters();
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -5545,7 +5515,7 @@ static void Task_ShowTourneyTree(u8 taskId)
ChangeBgY(2, 0, 0);
ChangeBgX(3, 0, 0);
ChangeBgY(3, 0xB00, 0);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 1:
SetGpuReg(REG_OFFSET_BLDCNT, 0);
@@ -5557,45 +5527,46 @@ static void Task_ShowTourneyTree(u8 taskId)
SetGpuReg(REG_OFFSET_WIN1H, 0x9098);
SetGpuReg(REG_OFFSET_WIN1V, 0x9F);
SetGpuReg(REG_OFFSET_WININ, 0);
- SetGpuReg(REG_OFFSET_WINOUT, 0x3F);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
ResetPaletteFade();
ResetSpriteData();
FreeAllSpritePalettes();
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 2:
sTilemapBuffer = AllocZeroed(0x800);
- LZDecompressWram(gUnknown_08D83900, sTilemapBuffer);
+ LZDecompressWram(gDomeTourneyLineMask_Tilemap, sTilemapBuffer);
SetBgTilemapBuffer(1, sTilemapBuffer);
CopyBgTilemapBufferToVram(1);
- DecompressAndLoadBgGfxUsingHeap(1, gUnknown_08D82F10, 0x2000, 0, 0);
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D834FC, 0x2000, 0, 0);
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83B2C, 0x2000, 0, 1);
- DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D83C3C, 0x2000, 0, 1);
- LoadCompressedPalette(gUnknown_08D85358, 0, 0x200);
- LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200);
- LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20);
+ DecompressAndLoadBgGfxUsingHeap(1, gDomeTourneyBg_Gfx, 0x2000, 0, 0);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLine_Gfx, 0x2000, 0, 0);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLineDown_Tilemap, 0x2000, 0, 1);
+ DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyLineUp_Tilemap, 0x2000, 0, 1);
+ LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200);
+ LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200);
+ LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20);
CpuFill32(0, gPlttBufferFaded, 0x400);
ShowBg(0);
ShowBg(1);
ShowBg(2);
ShowBg(3);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 3:
- LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet);
- if (r10 == 0)
+ LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet);
+ if (notInteractive == FALSE)
{
- for (i = 0; i < (unsigned) 31; i++)
- CreateSprite(&gUnknown_0860CFA8, gUnknown_0860D411[i][0], gUnknown_0860D411[i][1], 0);
- if (gTasks[taskId].data[4])
- CreateSprite(&gUnknown_0860D008, 218, 12, 0);
+ for (i = 0; i < ARRAY_COUNT(sTourneyTreePokeballCoords); i++)
+ CreateSprite(&sTourneyTreePokeballSpriteTemplate, sTourneyTreePokeballCoords[i][0], sTourneyTreePokeballCoords[i][1], 0);
+
+ if (gTasks[taskId].tIsPrevTourneyTree)
+ CreateSprite(&sExitButtonSpriteTemplate, 218, 12, 0);
else
- CreateSprite(&gUnknown_0860CFD8, 218, 12, 0);
+ CreateSprite(&sCancelButtonSpriteTemplate, 218, 12, 0);
}
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJ_1D_MAP);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 4:
textPrinter.fontId = 2;
@@ -5608,94 +5579,94 @@ static void Task_ShowTourneyTree(u8 taskId)
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0x70, textPrinter.letterSpacing);
textPrinter.currentY = 1;
textPrinter.unk = 0;
- textPrinter.fgColor = 14;
- textPrinter.bgColor = 0;
- textPrinter.shadowColor = 13;
+ textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5;
+ textPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
+ textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4;
AddTextPrinter(&textPrinter, 0, NULL);
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
int roundId, var2;
- CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- if (r10 == 1)
+ CopyDomeTrainerName(gDisplayedStringBattle, DOME_TRAINERS[i].trainerId);
+ if (notInteractive == TRUE)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
+ if (DOME_TRAINERS[i].isEliminated)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt != 0)
+ if (DOME_TRAINERS[i].eliminatedAt != DOME_ROUND1)
{
- var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt - 1;
- sub_81948EC(i, var2);
+ var2 = DOME_TRAINERS[i].eliminatedAt - 1;
+ DrawTourneyAdvancementLine(i, var2);
}
}
else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND2)
{
- sub_81948EC(i, gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2);
+ DrawTourneyAdvancementLine(i, gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2);
}
}
- else if (r10 == 0)
+ else if (notInteractive == FALSE)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
+ if (DOME_TRAINERS[i].isEliminated)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt != 0)
+ if (DOME_TRAINERS[i].eliminatedAt != DOME_ROUND1)
{
- var2 = gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt - 1;
- sub_81948EC(i, var2);
+ var2 = DOME_TRAINERS[i].eliminatedAt - 1;
+ DrawTourneyAdvancementLine(i, var2);
}
}
else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND1)
{
- if (gTasks[taskId].data[4])
+ if (gTasks[taskId].tIsPrevTourneyTree)
var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
else
var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
- sub_81948EC(i, var2);
+ DrawTourneyAdvancementLine(i, var2);
}
}
- if (gTasks[taskId].data[4])
+ if (gTasks[taskId].tIsPrevTourneyTree)
roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
else
roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
- if ( ((r10 == 1 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1)
- || (r10 == 0 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt <= roundId))
- && gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
+ if ( ((notInteractive == TRUE && DOME_TRAINERS[i].eliminatedAt < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1)
+ || (notInteractive == FALSE && DOME_TRAINERS[i].eliminatedAt <= roundId))
+ && DOME_TRAINERS[i].isEliminated)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER)
+ if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER)
{
- textPrinter.fgColor = 3;
- textPrinter.shadowColor = 4;
+ textPrinter.fgColor = TEXT_COLOR_LIGHT_GREY;
+ textPrinter.shadowColor = TEXT_COLOR_RED;
}
else
{
- textPrinter.fgColor = 11;
- textPrinter.shadowColor = 13;
+ textPrinter.fgColor = TEXT_DYNAMIC_COLOR_2;
+ textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4;
}
}
else
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER)
+ if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER)
{
- textPrinter.fgColor = 3;
- textPrinter.shadowColor = 4;
+ textPrinter.fgColor = TEXT_COLOR_LIGHT_GREY;
+ textPrinter.shadowColor = TEXT_COLOR_RED;
}
else
{
- textPrinter.fgColor = 14;
- textPrinter.shadowColor = 13;
+ textPrinter.fgColor = TEXT_DYNAMIC_COLOR_5;
+ textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4;
}
}
- if (gUnknown_0860D3F1[i][0] == 0)
+ if (sTrainerNamePositions[i][0] == 0)
textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing);
else
textPrinter.currentX = 3;
textPrinter.currentChar = gDisplayedStringBattle;
- textPrinter.windowId = gUnknown_0860D3F1[i][0];
- textPrinter.currentY = gUnknown_0860D3F1[i][1];
+ textPrinter.windowId = sTrainerNamePositions[i][0];
+ textPrinter.currentY = sTrainerNamePositions[i][1];
AddTextPrinter(&textPrinter, 0, NULL);
}
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 5:
PutWindowTilemap(0);
@@ -5704,27 +5675,27 @@ static void Task_ShowTourneyTree(u8 taskId)
CopyWindowToVram(0, 3);
CopyWindowToVram(1, 3);
CopyWindowToVram(2, 3);
- SetHBlankCallback(HblankCb_BattleDome);
- SetVBlankCallback(VblankCb1_BattleDome);
+ SetHBlankCallback(HblankCb_TourneyTree);
+ SetVBlankCallback(VblankCb_TourneyTree);
if (r4 == 2)
{
- if (r10 == 0)
+ if (notInteractive == FALSE)
{
- i = CreateTask(sub_819395C, 0);
- gTasks[i].data[0] = r10;
- gTasks[i].data[1] = r10;
- gTasks[i].data[6] = gTasks[taskId].data[4];
+ i = CreateTask(Task_HandleTourneyTreeInput, 0);
+ gTasks[i].data[0] = notInteractive;
+ gTasks[i].data[1] = notInteractive;
+ gTasks[i].data[6] = gTasks[taskId].tIsPrevTourneyTree;
}
else
{
- i = CreateTask(sub_8194950, 0);
+ i = CreateTask(Task_HandleStaticTourneyTreeInput, 0);
gTasks[i].data[0] = 0;
}
}
else
{
i = gTasks[taskId].data[3];
- gTasks[i].data[0] = 0;
+ gTasks[i].tState = 0;
}
ScanlineEffect_Clear();
@@ -5749,32 +5720,39 @@ static void Task_ShowTourneyTree(u8 taskId)
}
}
-static void sub_81948EC(u8 tournamentId, u8 arg1)
+static void DrawTourneyAdvancementLine(u8 tournamentId, u8 roundId)
{
int i;
- const struct UnkStruct_860DD10 *structPtr = gUnknown_0860DD10[tournamentId][arg1];
+ const struct TourneyTreeLineSection *lineSection = sTourneyTreeLineSections[tournamentId][roundId];
- for (i = 0; i < gUnknown_0860DE10[tournamentId][arg1]; i++)
- CopyToBgTilemapBufferRect_ChangePalette(1, &structPtr[i].src, structPtr[i].x, structPtr[i].y, 1, 1, 0x11);
+ for (i = 0; i < sTourneyTreeLineSectionArrayCounts[tournamentId][roundId]; i++)
+ CopyToBgTilemapBufferRect_ChangePalette(1, &lineSection[i].src, lineSection[i].x, lineSection[i].y, 1, 1, 17);
CopyBgTilemapBufferToVram(1);
}
-static void sub_8194950(u8 taskId)
+#define STATE_FADE_IN 0
+#define STATE_SHOW_RESULTS 1
+#define STATE_DELAY 2
+#define STATE_WAIT_FOR_INPUT 3
+#define STATE_CLOSE_TOURNEY_TREE 4
+
+// The non-interactive tourney tree that's shown when a round is completed
+static void Task_HandleStaticTourneyTreeInput(u8 taskId)
{
int i;
struct TextPrinterTemplate textPrinter;
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
- case 0:
+ case STATE_FADE_IN:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
- gTasks[taskId].data[0] = 1;
+ gTasks[taskId].tState = STATE_SHOW_RESULTS;
break;
- case 1:
+ case STATE_SHOW_RESULTS:
if (!gPaletteFade.active)
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_DELAY;
gTasks[taskId].data[3] = 64;
textPrinter.fontId = 2;
textPrinter.x = 0;
@@ -5782,45 +5760,47 @@ static void sub_8194950(u8 taskId)
textPrinter.letterSpacing = 2;
textPrinter.lineSpacing = 0;
textPrinter.unk = 0;
- textPrinter.fgColor = 11;
- textPrinter.bgColor = 0;
- textPrinter.shadowColor = 13;
+ textPrinter.fgColor = TEXT_DYNAMIC_COLOR_2;
+ textPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
+ textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4;
+
+ // Update the advancement lines and gray out eliminated trainer names
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt == gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1
- && gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
+ CopyDomeTrainerName(gDisplayedStringBattle, DOME_TRAINERS[i].trainerId);
+ if (DOME_TRAINERS[i].eliminatedAt == gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1
+ && DOME_TRAINERS[i].isEliminated)
{
- if (gUnknown_0860D3F1[i][0] == 0)
+ if (sTrainerNamePositions[i][0] == 0)
textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing);
else
textPrinter.currentX = 3;
textPrinter.currentChar = gDisplayedStringBattle;
- textPrinter.windowId = gUnknown_0860D3F1[i][0];
- textPrinter.currentY = gUnknown_0860D3F1[i][1];
+ textPrinter.windowId = sTrainerNamePositions[i][0];
+ textPrinter.currentY = sTrainerNamePositions[i][1];
AddTextPrinter(&textPrinter, 0, NULL);
}
- if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
+ if (!DOME_TRAINERS[i].isEliminated)
{
int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
- sub_81948EC(i, roundId);
+ DrawTourneyAdvancementLine(i, roundId);
}
}
}
break;
- case 2:
+ case STATE_DELAY:
if (--gTasks[taskId].data[3] == 0)
- gTasks[taskId].data[0] = 3;
+ gTasks[taskId].tState = STATE_WAIT_FOR_INPUT;
break;
- case 3:
+ case STATE_WAIT_FOR_INPUT:
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 4;
+ gTasks[taskId].tState = STATE_CLOSE_TOURNEY_TREE;
}
break;
- case 4:
+ case STATE_CLOSE_TOURNEY_TREE:
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
@@ -5830,7 +5810,13 @@ static void sub_8194950(u8 taskId)
}
}
-static void CB2_BattleDome(void)
+#undef STATE_FADE_IN
+#undef STATE_SHOW_RESULTS
+#undef STATE_DELAY
+#undef STATE_WAIT_FOR_INPUT
+#undef STATE_CLOSE_TOURNEY_TREE
+
+static void CB2_TourneyTree(void)
{
AnimateSprites();
BuildOamBuffer();
@@ -5839,7 +5825,7 @@ static void CB2_BattleDome(void)
RunTasks();
}
-static void VblankCb0_BattleDome(void)
+static void VblankCb_TourneyInfoCard(void)
{
ChangeBgX(3, 0x80, 1);
ChangeBgY(3, 0x80, 2);
@@ -5859,7 +5845,7 @@ static void VblankCb0_BattleDome(void)
*(vu32*)(REG_ADDR_WIN0H) = ((win0H << 16) | (win1H)); \
}
-static void HblankCb_BattleDome(void)
+static void HblankCb_TourneyTree(void)
{
register u32 vCount asm("r0") = REG_VCOUNT;
register u32 vCount_ asm("r1") = vCount;
@@ -5867,7 +5853,8 @@ static void HblankCb_BattleDome(void)
{
if (vCount < 50)
{
- REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
+ REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR
+ | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88));
return;
}
@@ -5875,13 +5862,15 @@ static void HblankCb_BattleDome(void)
{
if (vCount < 75)
{
- REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
+ REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR
+ | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
SET_WIN0H_WIN1H(WIN_RANGE(144, 152), WIN_RANGE(88, 96));
return;
}
else if (vCount < 82)
{
- REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
+ REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR
+ | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88));
return;
}
@@ -5889,13 +5878,15 @@ static void HblankCb_BattleDome(void)
{
if (vCount < 103)
{
- REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
+ REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR
+ | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88));
return;
}
else if (vCount < 119)
{
- REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
+ REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR
+ | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
SET_WIN0H_WIN1H(WIN_RANGE(144, 152), WIN_RANGE(88, 96));
return;
}
@@ -5903,7 +5894,8 @@ static void HblankCb_BattleDome(void)
{
if (vCount_ < 135)
{
- REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
+ REG_WININ = WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR
+ | WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_OBJ | WININ_WIN1_CLR;
SET_WIN0H_WIN1H(WIN_RANGE(152, 155), WIN_RANGE(85, 88));
return;
}
@@ -5912,11 +5904,12 @@ static void HblankCb_BattleDome(void)
}
}
- REG_WININ = WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ | WININ_WIN1_BG_ALL | WININ_WIN1_CLR | WININ_WIN1_OBJ;
+ REG_WININ = WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ
+ | WININ_WIN1_BG_ALL | WININ_WIN1_CLR | WININ_WIN1_OBJ;
SET_WIN0H_WIN1H(0, 0);
}
-static void VblankCb1_BattleDome(void)
+static void VblankCb_TourneyTree(void)
{
SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X);
SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y);
@@ -5930,17 +5923,17 @@ static void VblankCb1_BattleDome(void)
ScanlineEffect_InitHBlankDmaTransfer();
}
-static void InitDomeFacilityTrainersAndMons(void)
+static void SetFacilityTrainerAndMonPtrs(void)
{
gFacilityTrainerMons = gBattleFrontierMons;
gFacilityTrainers = gBattleFrontierTrainers;
}
-static void RestoreDomePlayerParty(void)
+static void ResetSketchedMoves(void)
{
int i, moveSlot;
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++)
{
int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
int count;
@@ -5966,7 +5959,7 @@ static void RestoreDomePlayerPartyHeldItems(void)
{
int i;
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++)
{
int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
u16 item = GetMonData(&gSaveBlock1Ptr->playerParty[playerMonId], MON_DATA_HELD_ITEM, NULL);
@@ -5974,13 +5967,14 @@ static void RestoreDomePlayerPartyHeldItems(void)
}
}
-static void ReduceDomePlayerPartyTo3Mons(void)
+static void ReduceDomePlayerPartyToSelectedMons(void)
{
ReducePlayerPartyToSelectedMons();
}
static void GetPlayerSeededBeforeOpponent(void)
{
+ // A higher tournament ID is a worse seed
if (TrainerIdToTournamentId(gTrainerBattleOpponent_A) > TrainerIdToTournamentId(TRAINER_PLAYER))
gSpecialVar_Result = 1;
else
@@ -5991,23 +5985,24 @@ static void BufferLastDomeWinnerName(void)
{
int i;
- InitDomeFacilityTrainersAndMons();
+ SetFacilityTrainerAndMonPtrs();
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
+ if (!DOME_TRAINERS[i].isEliminated)
break;
}
- CopyDomeTrainerName(gStringVar1, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
+ CopyDomeTrainerName(gStringVar1, DOME_TRAINERS[i].trainerId);
}
-static void sub_8194F58(void)
+// For showing the previous tourney results before the player has entered a challenge
+static void InitRandomTourneyTreeResults(void)
{
int i, j, k;
int monLevel;
- int species[3];
+ int species[FRONTIER_PARTY_SIZE];
int monTypesBits;
int trainerId;
- int monSetId;
+ int monId;
u8 lvlMode;
u16 *statSums;
int *statValues;
@@ -6016,18 +6011,18 @@ static void sub_8194F58(void)
species[0] = 0;
species[1] = 0;
species[2] = 0;
- if ((gSaveBlock2Ptr->frontier.field_D0A != -gSaveBlock2Ptr->frontier.field_D0B) && gSaveBlock2Ptr->frontier.field_CA8 != 1)
+ if ((gSaveBlock2Ptr->frontier.domeLvlMode != -gSaveBlock2Ptr->frontier.domeBattleMode) && gSaveBlock2Ptr->frontier.challengeStatus != CHALLENGE_STATUS_SAVING)
return;
statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT);
- statValues = AllocZeroed(sizeof(int) * 6);
+ statValues = AllocZeroed(sizeof(int) * NUM_STATS);
lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- gSaveBlock2Ptr->frontier.lvlMode = 0;
+ gSaveBlock2Ptr->frontier.lvlMode = FRONTIER_LVL_50;
// This one, I'd like to call a 'C fakematching'.
{
u8 one;
- gSaveBlock2Ptr->frontier.field_D0A = (one = 1);
- gSaveBlock2Ptr->frontier.field_D0B = one;
+ gSaveBlock2Ptr->frontier.domeLvlMode = (one = 1);
+ gSaveBlock2Ptr->frontier.domeBattleMode = one;
}
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
@@ -6043,35 +6038,35 @@ static void sub_8194F58(void)
for (j = 0; j < i; j++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId)
+ if (DOME_TRAINERS[j].trainerId == trainerId)
break;
}
} while (j != i);
- gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId;
- for (j = 0; j < 3; j++)
+ DOME_TRAINERS[i].trainerId = trainerId;
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
- // Make sure the mon is valid.
do
{
- monSetId = RandomizeFacilityTrainerMonSet(trainerId);
+ monId = GetRandomFrontierMonFromSet(trainerId);
for (k = 0; k < j; k++)
{
- int checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
- if (checkingMonId == monSetId
- || species[0] == gFacilityTrainerMons[monSetId].species
- || species[1] == gFacilityTrainerMons[monSetId].species
- || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ // Make sure the mon is valid.
+ int alreadySelectedMonId = DOME_MONS[i][k];
+ if (alreadySelectedMonId == monId
+ || species[0] == gFacilityTrainerMons[monId].species
+ || species[1] == gFacilityTrainerMons[monId].species
+ || gFacilityTrainerMons[alreadySelectedMonId].itemTableId == gFacilityTrainerMons[monId].itemTableId)
break;
}
} while (k != j);
- gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId;
- species[j] = gFacilityTrainerMons[monSetId].species;
+ DOME_MONS[i][j] = monId;
+ species[j] = gFacilityTrainerMons[monId].species;
}
- gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0;
- gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0;
- gSaveBlock2Ptr->frontier.domeTrainers[i].unk3 = 0;
+ DOME_TRAINERS[i].isEliminated = FALSE;
+ DOME_TRAINERS[i].eliminatedAt = 0;
+ DOME_TRAINERS[i].forfeited = FALSE;
}
monLevel = 50;
@@ -6079,13 +6074,13 @@ static void sub_8194F58(void)
{
monTypesBits = 0;
statSums[i] = 0;
- ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- for (j = 0; j < 3; j++)
+ ivs = GetDomeTrainerMonIvs(DOME_TRAINERS[i].trainerId);
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
- CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
+ CalcDomeMonStats(gFacilityTrainerMons[DOME_MONS[i][j]].species,
monLevel, ivs,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature,
+ gFacilityTrainerMons[DOME_MONS[i][j]].evSpread,
+ gFacilityTrainerMons[DOME_MONS[i][j]].nature,
statValues);
statSums[i] += statValues[STAT_ATK];
@@ -6094,8 +6089,8 @@ static void sub_8194F58(void)
statSums[i] += statValues[STAT_SPDEF];
statSums[i] += statValues[STAT_SPEED];
statSums[i] += statValues[STAT_HP];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2];
}
// Because GF hates temporary vars, trainerId acts like monTypesCount here.
@@ -6118,7 +6113,7 @@ static void sub_8194F58(void)
}
else if (statSums[i] == statSums[j])
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId > gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId)
+ if (DOME_TRAINERS[i].trainerId > DOME_TRAINERS[j].trainerId)
SwapDomeTrainers(i, j, statSums);
}
}
@@ -6127,7 +6122,7 @@ static void sub_8194F58(void)
Free(statSums);
Free(statValues);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < DOME_ROUNDS_COUNT; i++)
DecideRoundWinners(i);
gSaveBlock2Ptr->frontier.lvlMode = lvlMode;
@@ -6139,7 +6134,7 @@ static int TrainerIdToTournamentId(u16 trainerId)
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId)
+ if (DOME_TRAINERS[i].trainerId == trainerId)
break;
}
@@ -6153,7 +6148,7 @@ int TrainerIdToDomeTournamentId(u16 trainerId)
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == trainerId)
+ if (DOME_TRAINERS[i].trainerId == trainerId)
break;
}
@@ -6162,14 +6157,15 @@ int TrainerIdToDomeTournamentId(u16 trainerId)
static u8 sub_81953E8(u8 tournamentId, u8 round)
{
- u8 arr[2];
- sub_8192F08(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, arr);
- if (tournamentId == arr[0])
- return arr[1];
+ u8 tournamentIds[2];
+ BufferDomeWinString(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, tournamentIds);
+ if (tournamentId == tournamentIds[0])
+ return tournamentIds[1];
else
- return arr[0];
+ return tournamentIds[0];
}
+// Determines which trainers won in the NPC vs NPC battles
static void DecideRoundWinners(u8 roundId)
{
int i;
@@ -6180,24 +6176,24 @@ static void DecideRoundWinners(u8 roundId)
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated || gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER)
+ if (DOME_TRAINERS[i].isEliminated || DOME_TRAINERS[i].trainerId == TRAINER_PLAYER)
continue;
tournamentId1 = i;
- tournamentId2 = TournamentIdOfOpponent(roundId, gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].trainerId);
+ tournamentId2 = TournamentIdOfOpponent(roundId, DOME_TRAINERS[tournamentId1].trainerId);
// Frontier Brain always wins, check tournamentId1.
- if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId2 != 0xFF)
+ if (DOME_TRAINERS[tournamentId1].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId2 != 0xFF)
{
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId;
- gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId);
+ DOME_TRAINERS[tournamentId2].isEliminated = TRUE;
+ DOME_TRAINERS[tournamentId2].eliminatedAt = roundId;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId);
}
// Frontier Brain always wins, check tournamentId2.
- else if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId1 != 0xFF)
+ else if (DOME_TRAINERS[tournamentId2].trainerId == TRAINER_FRONTIER_BRAIN && tournamentId1 != 0xFF)
{
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId;
- gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId);
+ DOME_TRAINERS[tournamentId1].isEliminated = TRUE;
+ DOME_TRAINERS[tournamentId1].eliminatedAt = roundId;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId);
}
// Decide which one of two trainers wins!
else if (tournamentId2 != 0xFF)
@@ -6205,17 +6201,17 @@ static void DecideRoundWinners(u8 roundId)
// BUG: points1 and points2 are not cleared at the beginning of the loop resulting in not fair results.
// Calculate points for both trainers.
- for (monId1 = 0; monId1 < 3; monId1++)
+ for (monId1 = 0; monId1 < FRONTIER_PARTY_SIZE; monId1++)
{
for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++)
{
- for (monId2 = 0; monId2 < 3; monId2++)
+ for (monId2 = 0; monId2 < FRONTIER_PARTY_SIZE; monId2++)
{
- points1 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId1]].moves[moveSlot],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId2]].species, 2);
+ points1 += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentId1][monId1]].moves[moveSlot],
+ gFacilityTrainerMons[DOME_MONS[tournamentId2][monId2]].species, 2);
}
}
- species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId1]].species;
+ species = gFacilityTrainerMons[DOME_MONS[tournamentId1][monId1]].species;
points1 += ( gBaseStats[species].baseHP
+ gBaseStats[species].baseAttack
+ gBaseStats[species].baseDefense
@@ -6228,17 +6224,17 @@ static void DecideRoundWinners(u8 roundId)
// Favor trainers with higher id;
points1 += tournamentId1;
- for (monId1 = 0; monId1 < 3; monId1++)
+ for (monId1 = 0; monId1 < FRONTIER_PARTY_SIZE; monId1++)
{
for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++)
{
- for (monId2 = 0; monId2 < 3; monId2++)
+ for (monId2 = 0; monId2 < FRONTIER_PARTY_SIZE; monId2++)
{
- points2 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId1]].moves[moveSlot],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId2]].species, 2);
+ points2 += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentId2][monId1]].moves[moveSlot],
+ gFacilityTrainerMons[DOME_MONS[tournamentId1][monId2]].species, 2);
}
}
- species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId1]].species;
+ species = gFacilityTrainerMons[DOME_MONS[tournamentId2][monId1]].species;
points2 += ( gBaseStats[species].baseHP
+ gBaseStats[species].baseAttack
+ gBaseStats[species].baseDefense
@@ -6253,28 +6249,28 @@ static void DecideRoundWinners(u8 roundId)
if (points1 > points2)
{
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId;
- gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId);
+ DOME_TRAINERS[tournamentId2].isEliminated = TRUE;
+ DOME_TRAINERS[tournamentId2].eliminatedAt = roundId;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId);
}
else if (points1 < points2)
{
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId;
- gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId);
+ DOME_TRAINERS[tournamentId1].isEliminated = TRUE;
+ DOME_TRAINERS[tournamentId1].eliminatedAt = roundId;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId);
}
// Points are the same, so we favor the one with the higher id.
else if (tournamentId1 > tournamentId2)
{
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId2].eliminatedAt = roundId;
- gSaveBlock2Ptr->frontier.field_EC0[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId);
+ DOME_TRAINERS[tournamentId2].isEliminated = TRUE;
+ DOME_TRAINERS[tournamentId2].eliminatedAt = roundId;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId2] = GetWinningMove(tournamentId1, tournamentId2, roundId);
}
else
{
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[tournamentId1].eliminatedAt = roundId;
- gSaveBlock2Ptr->frontier.field_EC0[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId);
+ DOME_TRAINERS[tournamentId1].isEliminated = TRUE;
+ DOME_TRAINERS[tournamentId1].eliminatedAt = roundId;
+ gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId1] = GetWinningMove(tournamentId2, tournamentId1, roundId);
}
}
}
@@ -6296,7 +6292,7 @@ static void CopyDomeTrainerName(u8 *str, u16 trainerId)
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
str[i] = gSaveBlock2Ptr->playerName[i];
}
- else if (trainerId < 300)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
str[i] = gFacilityTrainers[trainerId].trainerName[i];
diff --git a/src/battle_factory.c b/src/battle_factory.c
index bc47b1fda..913b1b1a0 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -10,7 +10,10 @@
#include "random.h"
#include "constants/species.h"
#include "constants/battle_ai.h"
+#include "constants/battle_factory.h"
#include "constants/battle_frontier.h"
+#include "constants/battle_frontier_mons.h"
+#include "constants/frontier_util.h"
#include "constants/layouts.h"
#include "constants/trainers.h"
#include "constants/moves.h"
@@ -22,7 +25,7 @@ static bool8 sPerformedRentalSwap;
static void InitFactoryChallenge(void);
static void GetBattleFactoryData(void);
static void SetBattleFactoryData(void);
-static void sub_81A613C(void);
+static void SaveFactoryChallenge(void);
static void nullsub_75(void);
static void nullsub_123(void);
static void SelectInitialRentalMons(void);
@@ -48,14 +51,14 @@ static const u16 sMoves_TotalPreparation[] =
MOVE_MINIMIZE, MOVE_WITHDRAW, MOVE_DEFENSE_CURL, MOVE_BARRIER, MOVE_FOCUS_ENERGY, MOVE_AMNESIA,
MOVE_ACID_ARMOR, MOVE_SHARPEN, MOVE_CONVERSION, MOVE_CONVERSION_2, MOVE_BELLY_DRUM, MOVE_PSYCH_UP,
MOVE_CHARGE, MOVE_SNATCH, MOVE_TAIL_GLOW, MOVE_COSMIC_POWER, MOVE_IRON_DEFENSE, MOVE_HOWL, MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DRAGON_DANCE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_ImpossibleToPredict[] =
{
MOVE_MIMIC, MOVE_METRONOME, MOVE_MIRROR_MOVE, MOVE_TRANSFORM, MOVE_SUBSTITUTE, MOVE_SKETCH, MOVE_CURSE,
MOVE_PRESENT, MOVE_FOLLOW_ME, MOVE_TRICK, MOVE_ROLE_PLAY, MOVE_ASSIST, MOVE_SKILL_SWAP, MOVE_CAMOUFLAGE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_WeakeningTheFoe[] =
@@ -63,7 +66,7 @@ static const u16 sMoves_WeakeningTheFoe[] =
MOVE_SAND_ATTACK, MOVE_TAIL_WHIP, MOVE_LEER, MOVE_GROWL, MOVE_STRING_SHOT, MOVE_SCREECH, MOVE_SMOKESCREEN, MOVE_KINESIS,
MOVE_FLASH, MOVE_COTTON_SPORE, MOVE_SPITE, MOVE_SCARY_FACE, MOVE_CHARM, MOVE_KNOCK_OFF, MOVE_SWEET_SCENT, MOVE_FEATHER_DANCE,
MOVE_FAKE_TEARS, MOVE_METAL_SOUND, MOVE_TICKLE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_HighRiskHighReturn[] =
@@ -72,7 +75,7 @@ static const u16 sMoves_HighRiskHighReturn[] =
MOVE_BIDE, MOVE_SELF_DESTRUCT, MOVE_SKY_ATTACK, MOVE_EXPLOSION, MOVE_FLAIL, MOVE_REVERSAL, MOVE_DESTINY_BOND,
MOVE_PERISH_SONG, MOVE_PAIN_SPLIT, MOVE_MIRROR_COAT, MOVE_MEMENTO, MOVE_GRUDGE, MOVE_FACADE, MOVE_FOCUS_PUNCH,
MOVE_BLAST_BURN, MOVE_HYDRO_CANNON, MOVE_OVERHEAT, MOVE_FRENZY_PLANT, MOVE_PSYCHO_BOOST, MOVE_VOLT_TACKLE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_Endurance[] =
@@ -81,7 +84,7 @@ static const u16 sMoves_Endurance[] =
MOVE_DETECT, MOVE_ENDURE, MOVE_MILK_DRINK, MOVE_HEAL_BELL, MOVE_SAFEGUARD, MOVE_BATON_PASS, MOVE_MORNING_SUN,
MOVE_SYNTHESIS, MOVE_MOONLIGHT, MOVE_SWALLOW, MOVE_WISH, MOVE_INGRAIN, MOVE_MAGIC_COAT, MOVE_RECYCLE, MOVE_REFRESH,
MOVE_MUD_SPORT, MOVE_SLACK_OFF, MOVE_AROMATHERAPY, MOVE_WATER_SPORT,
- 0
+ MOVE_NONE
};
static const u16 sMoves_SlowAndSteady[] =
@@ -90,57 +93,58 @@ static const u16 sMoves_SlowAndSteady[] =
MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_GLARE, MOVE_POISON_GAS, MOVE_LOVELY_KISS, MOVE_SPORE,
MOVE_SPIDER_WEB, MOVE_SWEET_KISS, MOVE_SPIKES, MOVE_SWAGGER, MOVE_MEAN_LOOK, MOVE_ATTRACT, MOVE_ENCORE, MOVE_TORMENT,
MOVE_FLATTER, MOVE_WILL_O_WISP, MOVE_TAUNT, MOVE_YAWN, MOVE_IMPRISON, MOVE_SNATCH, MOVE_TEETER_DANCE, MOVE_GRASS_WHISTLE, MOVE_BLOCK,
- 0
+ MOVE_NONE
};
static const u16 sMoves_DependsOnTheBattlesFlow[] =
{
MOVE_SANDSTORM, MOVE_RAIN_DANCE, MOVE_SUNNY_DAY, MOVE_HAIL, MOVE_WEATHER_BALL,
- 0
+ MOVE_NONE
};
-static const u16 *const sMoveStyles[] =
+// Excludes FACTORY_STYLE_NONE
+static const u16 *const sMoveStyles[FACTORY_NUM_STYLES - 1] =
{
- sMoves_TotalPreparation,
- sMoves_SlowAndSteady,
- sMoves_Endurance,
- sMoves_HighRiskHighReturn,
- sMoves_WeakeningTheFoe,
- sMoves_ImpossibleToPredict,
- sMoves_DependsOnTheBattlesFlow,
+ [FACTORY_STYLE_PREPARATION - 1] = sMoves_TotalPreparation,
+ [FACTORY_STYLE_SLOW_STEADY - 1] = sMoves_SlowAndSteady,
+ [FACTORY_STYLE_ENDURANCE - 1] = sMoves_Endurance,
+ [FACTORY_STYLE_HIGH_RISK - 1] = sMoves_HighRiskHighReturn,
+ [FACTORY_STYLE_WEAKENING - 1] = sMoves_WeakeningTheFoe,
+ [FACTORY_STYLE_UNPREDICTABLE - 1] = sMoves_ImpossibleToPredict,
+ [FACTORY_STYLE_WEATHER - 1] = sMoves_DependsOnTheBattlesFlow,
};
static void (* const sBattleFactoryFunctions[])(void) =
{
- InitFactoryChallenge,
- GetBattleFactoryData,
- SetBattleFactoryData,
- sub_81A613C,
- nullsub_75,
- nullsub_123,
- SelectInitialRentalMons,
- SwapRentalMons,
- SetPerformedRentalSwap,
- SetRentalsToOpponentParty,
- SetPlayerAndOpponentParties,
- SetOpponentGfxVar,
- GenerateOpponentMons,
- GenerateInitialRentalMons,
- GetOpponentMostCommonMonType,
- GetOpponentBattleStyle,
- RestorePlayerPartyHeldItems,
+ [BATTLE_FACTORY_FUNC_INIT] = InitFactoryChallenge,
+ [BATTLE_FACTORY_FUNC_GET_DATA] = GetBattleFactoryData,
+ [BATTLE_FACTORY_FUNC_SET_DATA] = SetBattleFactoryData,
+ [BATTLE_FACTORY_FUNC_SAVE] = SaveFactoryChallenge,
+ [BATTLE_FACTORY_FUNC_NULL] = nullsub_75,
+ [BATTLE_FACTORY_FUNC_NULL2] = nullsub_123,
+ [BATTLE_FACTORY_FUNC_SELECT_RENT_MONS] = SelectInitialRentalMons,
+ [BATTLE_FACTORY_FUNC_SWAP_RENT_MONS] = SwapRentalMons,
+ [BATTLE_FACTORY_FUNC_SET_SWAPPED] = SetPerformedRentalSwap,
+ [BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS] = SetRentalsToOpponentParty,
+ [BATTLE_FACTORY_FUNC_SET_PARTIES] = SetPlayerAndOpponentParties,
+ [BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX] = SetOpponentGfxVar,
+ [BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS] = GenerateOpponentMons,
+ [BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS] = GenerateInitialRentalMons,
+ [BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE] = GetOpponentMostCommonMonType,
+ [BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE] = GetOpponentBattleStyle,
+ [BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS] = RestorePlayerPartyHeldItems,
};
-static const u32 gUnknown_08612164[][2] =
+static const u32 sWinStreakFlags[][2] =
{
- {0x100, 0x200},
- {0x1000000, 0x2000000},
+ {STREAK_FACTORY_SINGLES_50, STREAK_FACTORY_SINGLES_OPEN},
+ {STREAK_FACTORY_DOUBLES_50, STREAK_FACTORY_DOUBLES_OPEN},
};
-static const u32 gUnknown_08612174[][2] =
+static const u32 sWinStreakMasks[][2] =
{
- {0xfffffeff, 0xfffffdff},
- {0xfeffffff, 0xfdffffff},
+ {~(STREAK_FACTORY_SINGLES_50), ~(STREAK_FACTORY_SINGLES_OPEN)},
+ {~(STREAK_FACTORY_DOUBLES_50), ~(STREAK_FACTORY_DOUBLES_OPEN)},
};
static const u8 sFixedIVTable[][2] =
@@ -187,11 +191,11 @@ static void InitFactoryChallenge(void)
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
- gSaveBlock2Ptr->frontier.field_CA9_b = 0;
- if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode]))
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE;
+ if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
{
gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = 0;
gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = 0;
@@ -200,7 +204,7 @@ static void InitFactoryChallenge(void)
sPerformedRentalSwap = FALSE;
for (i = 0; i < 6; i++)
gSaveBlock2Ptr->frontier.rentalMons[i].monId = 0xFFFF;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
gUnknown_03006298[i] = 0xFFFF;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
@@ -214,13 +218,13 @@ static void GetBattleFactoryData(void)
switch (gSpecialVar_0x8005)
{
- case 1:
+ case FACTORY_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
break;
- case 2:
- gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode]) != 0);
+ case FACTORY_DATA_WIN_STREAK_ACTIVE:
+ gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
- case 3:
+ case FACTORY_DATA_WIN_STREAK_SWAPS:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
break;
}
@@ -233,16 +237,16 @@ static void SetBattleFactoryData(void)
switch (gSpecialVar_0x8005)
{
- case 1:
+ case FACTORY_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case FACTORY_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_08612164[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
- gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_08612174[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
- case 3:
+ case FACTORY_DATA_WIN_STREAK_SWAPS:
if (sPerformedRentalSwap == TRUE)
{
gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = gSpecialVar_0x8006;
@@ -252,12 +256,12 @@ static void SetBattleFactoryData(void)
}
}
-static void sub_81A613C(void)
+static void SaveFactoryChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = 1;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
static void nullsub_75(void)
@@ -289,8 +293,8 @@ static void SetPerformedRentalSwap(void)
static void GenerateOpponentMons(void)
{
int i, j, k;
- u16 species[3];
- u16 heldItems[3];
+ u16 species[FRONTIER_PARTY_SIZE];
+ u16 heldItems[FRONTIER_PARTY_SIZE];
int firstMonId = 0;
u16 trainerId = 0;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -301,7 +305,7 @@ static void GenerateOpponentMons(void)
do
{
- trainerId = sub_8162548(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -314,7 +318,7 @@ static void GenerateOpponentMons(void)
gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = trainerId;
i = 0;
- while (i != 3)
+ while (i != FRONTIER_PARTY_SIZE)
{
u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE);
if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN)
@@ -328,7 +332,7 @@ static void GenerateOpponentMons(void)
if (j != 6)
continue;
- if (lvlMode == FRONTIER_LVL_50 && monSetId > 849)
+ if (lvlMode == FRONTIER_LVL_50 && monSetId > FRONTIER_MONS_HIGH_TIER)
continue;
for (k = firstMonId; k < firstMonId + i; k++)
@@ -368,7 +372,7 @@ static void SetRentalsToOpponentParty(void)
else
gFacilityTrainerMons = gSlateportBattleTentMons;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId = gUnknown_03006298[i];
gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ATK_IV, NULL);
@@ -406,7 +410,7 @@ static void SetPlayerAndOpponentParties(void)
if (gSpecialVar_0x8005 < 2)
{
ZeroPlayerPartyMons();
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
monSetId = gSaveBlock2Ptr->frontier.rentalMons[i].monId;
ivs = gSaveBlock2Ptr->frontier.rentalMons[i].ivs;
@@ -447,7 +451,7 @@ static void SetPlayerAndOpponentParties(void)
{
case 0:
case 2:
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
monSetId = gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId;
ivs = gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs;
@@ -587,7 +591,7 @@ static void GetOpponentMostCommonMonType(void)
gFacilityTrainerMons = gBattleFrontierMons;
for (i = 0; i < NUMBER_OF_MON_TYPES; i++)
typesCount[i] = 0;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
u32 species = gFacilityTrainerMons[gUnknown_03006298[i]].species;
@@ -616,14 +620,14 @@ static void GetOpponentMostCommonMonType(void)
static void GetOpponentBattleStyle(void)
{
u8 i, j, count;
- u8 stylePoints[8];
+ u8 stylePoints[FACTORY_NUM_STYLES];
count = 0;
gFacilityTrainerMons = gBattleFrontierMons;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < FACTORY_NUM_STYLES; i++)
stylePoints[i] = 0;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
u16 monSetId = gUnknown_03006298[i];
for (j = 0; j < MAX_MON_MOVES; j++)
@@ -634,7 +638,7 @@ static void GetOpponentBattleStyle(void)
}
gSpecialVar_Result = 0;
- for (i = 1; i < 8; i++)
+ for (i = 1; i < FACTORY_NUM_STYLES; i++)
{
if (stylePoints[i] >= sRequiredMoveCounts[i - 1])
{
@@ -643,8 +647,9 @@ static void GetOpponentBattleStyle(void)
}
}
+ // Has no singular style
if (count > 2)
- gSpecialVar_Result = 8;
+ gSpecialVar_Result = FACTORY_NUM_STYLES;
}
static u8 GetMoveBattleStyle(u16 move)
@@ -654,13 +659,13 @@ static u8 GetMoveBattleStyle(u16 move)
for (i = 0; i < ARRAY_COUNT(sMoveStyles); i++)
{
- for (j = 0, moves = sMoveStyles[i]; moves[j] != 0; j++)
+ for (j = 0, moves = sMoveStyles[i]; moves[j] != MOVE_NONE; j++)
{
if (moves[j] == move)
return i + 1;
}
}
- return 0;
+ return FACTORY_STYLE_NONE;
}
bool8 InBattleFactory(void)
@@ -678,7 +683,7 @@ static void RestorePlayerPartyHeldItems(void)
else
gFacilityTrainerMons = gSlateportBattleTentMons;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
SetMonData(&gPlayerParty[i],
MON_DATA_HELD_ITEM,
@@ -702,8 +707,8 @@ u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1)
void FillFactoryBrainParty(void)
{
int i, j, k;
- u16 species[3];
- u16 heldItems[3];
+ u16 species[FRONTIER_PARTY_SIZE];
+ u16 heldItems[FRONTIER_PARTY_SIZE];
u8 friendship;
int monLevel;
u8 fixedIV;
@@ -717,13 +722,13 @@ void FillFactoryBrainParty(void)
i = 0;
otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
- while (i != 3)
+ while (i != FRONTIER_PARTY_SIZE)
{
u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE);
if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN)
continue;
- if (monLevel == 50 && monSetId > 849)
+ if (monLevel == 50 && monSetId > FRONTIER_MONS_HIGH_TIER)
continue;
for (j = 0; j < 6; j++)
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
index f56442432..de2f3a10c 100644
--- a/src/battle_factory_screen.c
+++ b/src/battle_factory_screen.c
@@ -11,7 +11,7 @@
#include "palette.h"
#include "task.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "gpu_regs.h"
#include "string_util.h"
@@ -375,16 +375,16 @@ static const struct WindowTemplate sSelect_WindowTemplates[] =
static const u16 gUnknown_0861046C[] = INCBIN_U16("graphics/unknown/unknown_61046C.gbapal");
-static const u8 gUnknown_08610476[] = {0x00, 0x02, 0x00};
-static const u8 gUnknown_08610479[] = {0x00, 0x04, 0x00};
+static const u8 sMenuOptionTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_TRANSPARENT};
+static const u8 sSpeciesNameTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_TRANSPARENT};
static const struct OamData gUnknown_0861047C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -398,10 +398,10 @@ static const struct OamData gUnknown_0861047C =
static const struct OamData gUnknown_08610484 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -415,10 +415,10 @@ static const struct OamData gUnknown_08610484 =
static const struct OamData gUnknown_0861048C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
@@ -432,10 +432,10 @@ static const struct OamData gUnknown_0861048C =
static const struct OamData gUnknown_08610494 =
{
.y = 0,
- .affineMode = 3,
- .objMode = 1,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -632,14 +632,14 @@ static const struct SpritePalette gUnknown_086106B0[] =
static const struct OamData gUnknown_086106D8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
@@ -649,14 +649,14 @@ static const struct OamData gUnknown_086106D8 =
static const struct OamData gUnknown_086106E0 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
@@ -666,14 +666,14 @@ static const struct OamData gUnknown_086106E0 =
static const struct OamData gUnknown_086106E8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -683,14 +683,14 @@ static const struct OamData gUnknown_086106E8 =
static const struct OamData gUnknown_086106F0 =
{
.y = 0,
- .affineMode = 3,
- .objMode = 1,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -985,8 +985,8 @@ static const struct WindowTemplate sSwap_WindowTemplates[] =
};
static const u16 gUnknown_08610918[] = {RGB_BLACK, RGB_BLACK, RGB_WHITE, RGB_BLACK, RGB_RED}; // Palette.
-static const u8 gUnknown_08610922[] = {0x0, 0x02, 0x0};
-static const u8 gUnknown_08610925[] = {0x0, 0x04, 0x0};
+static const u8 sSwapMenuOptionsTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_TRANSPARENT};
+static const u8 sSwapSpeciesNameTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_TRANSPARENT};
static const struct SwapActionIdAndFunc sSwap_PlayerScreenActions[] =
{
@@ -1808,7 +1808,7 @@ static void Select_PrintMonSpecies(void)
species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL);
StringCopy(gStringVar4, gSpeciesNames[species]);
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610479, 0, gStringVar4);
+ AddTextPrinterParameterized3(1, 1, x, 1, sSpeciesNameTextColors, 0, gStringVar4);
CopyWindowToVram(1, 2);
}
@@ -1843,13 +1843,13 @@ static void Select_PrintMenuOptions(void)
PutWindowTilemap(3);
FillWindowPixelBuffer(3, PIXEL_FILL(0));
- AddTextPrinterParameterized3(3, 1, 7, 1, gUnknown_08610476, 0, gText_Summary);
+ AddTextPrinterParameterized3(3, 1, 7, 1, sMenuOptionTextColors, 0, gText_Summary);
if (selectedId != 0)
- AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Deselect);
+ AddTextPrinterParameterized3(3, 1, 7, 17, sMenuOptionTextColors, 0, gText_Deselect);
else
- AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Rent);
+ AddTextPrinterParameterized3(3, 1, 7, 17, sMenuOptionTextColors, 0, gText_Rent);
- AddTextPrinterParameterized3(3, 1, 7, 33, gUnknown_08610476, 0, gText_Others2);
+ AddTextPrinterParameterized3(3, 1, 7, 33, sMenuOptionTextColors, 0, gText_Others2);
CopyWindowToVram(3, 3);
}
@@ -1857,8 +1857,8 @@ static void Select_PrintYesNoOptions(void)
{
PutWindowTilemap(4);
FillWindowPixelBuffer(4, PIXEL_FILL(0));
- AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610476, 0, gText_Yes2);
- AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610476, 0, gText_No2);
+ AddTextPrinterParameterized3(4, 1, 7, 1, sMenuOptionTextColors, 0, gText_Yes2);
+ AddTextPrinterParameterized3(4, 1, 7, 17, sMenuOptionTextColors, 0, gText_No2);
CopyWindowToVram(4, 3);
}
@@ -3599,7 +3599,7 @@ static void Swap_PrintMonSpecies(void)
species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
StringCopy(gStringVar4, gSpeciesNames[species]);
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
+ AddTextPrinterParameterized3(1, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
CopyWindowToVram(1, 3);
}
}
@@ -3615,9 +3615,9 @@ static void Swap_PrintMenuOptions(void)
{
PutWindowTilemap(3);
FillWindowPixelBuffer(3, PIXEL_FILL(0));
- AddTextPrinterParameterized3(3, 1, 15, 1, gUnknown_08610922, 0, gText_Summary2);
- AddTextPrinterParameterized3(3, 1, 15, 17, gUnknown_08610922, 0, gText_Swap);
- AddTextPrinterParameterized3(3, 1, 15, 33, gUnknown_08610922, 0, gText_Rechoose);
+ AddTextPrinterParameterized3(3, 1, 15, 1, sSwapMenuOptionsTextColors, 0, gText_Summary2);
+ AddTextPrinterParameterized3(3, 1, 15, 17, sSwapMenuOptionsTextColors, 0, gText_Swap);
+ AddTextPrinterParameterized3(3, 1, 15, 33, sSwapMenuOptionsTextColors, 0, gText_Rechoose);
CopyWindowToVram(3, 3);
}
@@ -3625,15 +3625,15 @@ static void Swap_PrintYesNoOptions(void)
{
PutWindowTilemap(4);
FillWindowPixelBuffer(4, PIXEL_FILL(0));
- AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610922, 0, gText_Yes3);
- AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610922, 0, gText_No3);
+ AddTextPrinterParameterized3(4, 1, 7, 1, sSwapMenuOptionsTextColors, 0, gText_Yes3);
+ AddTextPrinterParameterized3(4, 1, 7, 17, sSwapMenuOptionsTextColors, 0, gText_No3);
CopyWindowToVram(4, 3);
}
static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId)
{
s32 x = GetStringRightAlignXOffset(0, str, 0x46);
- AddTextPrinterParameterized3(windowId, 0, x, y, gUnknown_08610922, 0, str);
+ AddTextPrinterParameterized3(windowId, 0, x, y, sSwapMenuOptionsTextColors, 0, str);
}
static void Swap_PrintActionStrings(void)
@@ -3707,7 +3707,7 @@ static void Swap_PrintMonSpecies2(void)
species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
StringCopy(gStringVar4, gSpeciesNames[species]);
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(7, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
+ AddTextPrinterParameterized3(7, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
CopyWindowToVram(7, 3);
}
}
@@ -3733,7 +3733,7 @@ static void Swap_PrintMonSpecies3(void)
species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
StringCopy(gStringVar4, gSpeciesNames[species]);
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
+ AddTextPrinterParameterized3(1, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
CopyWindowToVram(1, 3);
}
}
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index de403aec7..341cd4a6a 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -6,7 +6,7 @@
#include "constants/battle_anim.h"
#include "battle_interface.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "graphics.h"
#include "random.h"
#include "util.h"
@@ -811,7 +811,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId)
break;
case 6:
LoadAndCreateEnemyShadowSprites();
- sub_81B8C68();
+ BufferBattlePartyCurrentOrder();
retVal = TRUE;
break;
}
@@ -1061,8 +1061,8 @@ void HandleBattleLowHpMusicChange(void)
{
u8 playerBattler1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
u8 playerBattler2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
- u8 battler1PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler1]);
- u8 battler2PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler2]);
+ u8 battler1PartyId = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[playerBattler1]);
+ u8 battler2PartyId = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[playerBattler2]);
if (GetMonData(&gPlayerParty[battler1PartyId], MON_DATA_HP) != 0)
HandleLowHpMusicChange(&gPlayerParty[battler1PartyId], playerBattler1);
diff --git a/src/battle_interface.c b/src/battle_interface.c
index 8fabfed68..12273addb 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -202,10 +202,10 @@ static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2);
static const struct OamData sUnknown_0832C138 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -274,10 +274,10 @@ static const struct SpriteTemplate sHealthboxSafariSpriteTemplate =
static const struct OamData sOamData_Healthbar =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
@@ -330,45 +330,178 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT]
static const struct Subsprite sUnknown_0832C220[] =
{
- {240, 0, 1, 3, 0, 1},
- {48, 0, 0, 2, 32, 1},
- {240, 32, 1, 1, 48, 1},
- {16, 32, 1, 1, 52, 1},
- {48, 32, 1, 1, 56, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 32,
+ .priority = 1
+ },
+ {
+ .x = 240,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 48,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 52,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 56,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C234[] =
{
- {240, 0, 1, 3, 64, 1},
- {48, 0, 0, 2, 96, 1},
- {240, 32, 1, 1, 112, 1},
- {16, 32, 1, 1, 116, 1},
- {48, 32, 1, 1, 120, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 64,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 96,
+ .priority = 1
+ },
+ {
+ .x = 240,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 112,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 116,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 32,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 120,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C248[] =
{
- {240, 0, 1, 3, 0, 1},
- {48, 0, 0, 2, 32, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 32,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C250[] =
{
- {240, 0, 1, 3, 0, 1},
- {48, 0, 0, 2, 32, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 48,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 32,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C258[] =
{
- {240, 0, 1, 1, 0, 1},
- {16, 0, 1, 1, 4, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C260[] =
{
- {240, 0, 1, 1, 0, 1},
- {16, 0, 1, 1, 4, 1},
- {224, 0, 0, 0, 8, 1}
+ {
+ .x = 240,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 224,
+ .y = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 8,
+ .priority = 1
+ }
};
// unused subsprite table
@@ -388,20 +521,90 @@ static const struct SubspriteTable sUnknown_0832C28C[] =
static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
{
- {160, 0, 1, 1, 0, 1},
- {192, 0, 1, 1, 4, 1},
- {224, 0, 1, 1, 8, 1},
- {0, 0, 1, 1, 12, 1}
+ {
+ .x = 160,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 192,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 224,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 0,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 1
+ }
};
static const struct Subsprite sUnknown_0832C2AC[] =
{
- {160, 0, 1, 1, 0, 1},
- {192, 0, 1, 1, 4, 1},
- {224, 0, 1, 1, 8, 1},
- {0, 0, 1, 1, 8, 1},
- {32, 0, 1, 1, 8, 1},
- {64, 0, 1, 1, 12, 1}
+ {
+ .x = 160,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 192,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 224,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 0,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 64,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 1
+ }
};
static const struct SubspriteTable sStatusSummaryBar_SubspriteTable[] =
@@ -441,10 +644,10 @@ static const struct SpriteSheet sStatusSummaryBallsSpriteSheet =
static const struct OamData sUnknown_0832C354 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -458,10 +661,10 @@ static const struct OamData sUnknown_0832C354 =
static const struct OamData sOamData_StatusSummaryBalls =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -558,62 +761,52 @@ static s32 DummiedOutFunction(s16 unused1, s16 unused2, s32 unused3)
{
return 9;
}
-
-#ifdef NONMATCHING
-static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2)
+void sub_8072308(s16 number, u16 *dest, bool8 unk)
{
s8 i, j;
- u8 array[4];
- u8 *arrayPtr;
- s32 r9, vaaa;
+ u8 buff[4];
for (i = 0; i < 4; i++)
- array[i] = 0;
+ {
+ buff[i] = 0;
+ }
- i = 3;
- r9 = -1;
- arrayPtr = array;
- while (1)
+ for (i = 3; ; i--)
{
- if (arg0 > 0)
+ if (number > 0)
{
- array[i] = arg0 % 10;
- arg0 = arg0 / 10;
- i--;
+ buff[i] = number % 10;
+ number /= 10;
}
else
{
+ for (; i > -1; i--)
+ {
+ buff[i] = 0xFF;
+ }
+ if (buff[3] == 0xFF)
+ buff[3] = 0;
break;
}
}
- for (; i > -1; i--)
- {
- array[i] = 0xFF;
- }
-
- if (arrayPtr[3] == 0xFF)
- arrayPtr[3] = 0;
-
- if (arg2 == 0)
+ if (!unk)
{
for (i = 0, j = 0; i < 4; i++)
{
- if (array[j] == 0xFF)
+ if (buff[j] == 0xFF)
{
- arg1[j] &= 0xFC00;
- arg1[j] |= 0x1E;
-
- arg1[i + 0x20] &= 0xFC00;
- arg1[i + 0x20] |= 0x1E;
+ dest[j + 0x00] &= 0xFC00;
+ dest[j + 0x00] |= 0x1E;
+ dest[i + 0x20] &= 0xFC00;
+ dest[i + 0x20] |= 0x1E;
}
else
{
- arg1[j] &= 0xFC00;
- arg1[j] |= array[j] + 0x14;
-
- arg1[i + 0x20] &= 0xFC00;
- arg1[i + 0x20] |= array[i] + 0x34;
+ dest[j + 0x00] &= 0xFC00;
+ dest[j + 0x00] |= 0x14 + buff[j];
+ dest[i + 0x20] &= 0xFC00;
+ dest[i + 0x20] |= 0x34 + buff[i];
}
j++;
}
@@ -622,254 +815,24 @@ static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2)
{
for (i = 0; i < 4; i++)
{
- if (array[i] == 0xFF)
+ if (buff[i] == 0xFF)
{
- arg1[i] &= 0xFC00;
- arg1[i] |= 0x1E;
-
- arg1[i + 0x20] &= 0xFC00;
- arg1[i + 0x20] |= 0x1E;
+ dest[i + 0x00] &= 0xFC00;
+ dest[i + 0x00] |= 0x1E;
+ dest[i + 0x20] &= 0xFC00;
+ dest[i + 0x20] |= 0x1E;
}
else
{
- arg1[i] &= 0xFC00;
- arg1[i] |= array[i] + 0x14;
-
- arg1[i + 0x20] &= 0xFC00;
- arg1[i + 0x20] |= array[i] + 0x34;
+ dest[i + 0x00] &= 0xFC00;
+ dest[i + 0x00] |= 0x14 + buff[i];
+ dest[i + 0x20] &= 0xFC00;
+ dest[i + 0x20] |= 0x34 + buff[i];
}
}
}
}
-#else
-NAKED
-static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x4\n\
- adds r7, r1, 0\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- mov r10, r2\n\
- movs r3, 0\n\
- movs r2, 0\n\
-_08072324:\n\
- lsls r0, r3, 24\n\
- asrs r0, 24\n\
- mov r3, sp\n\
- adds r1, r3, r0\n\
- strb r2, [r1]\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r3, r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0x3\n\
- ble _08072324\n\
- movs r3, 0x3\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- mov r9, r0\n\
- mov r8, sp\n\
-_08072344:\n\
- lsls r0, r5, 16\n\
- asrs r6, r0, 16\n\
- cmp r6, 0\n\
- ble _08072372\n\
- lsls r4, r3, 24\n\
- asrs r4, 24\n\
- mov r1, sp\n\
- adds r5, r1, r4\n\
- adds r0, r6, 0\n\
- movs r1, 0xA\n\
- bl __modsi3\n\
- strb r0, [r5]\n\
- adds r0, r6, 0\n\
- movs r1, 0xA\n\
- bl __divsi3\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- subs r4, 0x1\n\
- lsls r4, 24\n\
- lsrs r3, r4, 24\n\
- b _08072344\n\
-_08072372:\n\
- lsls r1, r3, 24\n\
- asrs r0, r1, 24\n\
- cmp r0, r9\n\
- ble _08072396\n\
- movs r4, 0xFF\n\
- movs r3, 0x1\n\
- negs r3, r3\n\
-_08072380:\n\
- asrs r2, r1, 24\n\
- mov r5, sp\n\
- adds r1, r5, r2\n\
- ldrb r0, [r1]\n\
- orrs r0, r4\n\
- strb r0, [r1]\n\
- subs r2, 0x1\n\
- lsls r1, r2, 24\n\
- asrs r0, r1, 24\n\
- cmp r0, r3\n\
- bgt _08072380\n\
-_08072396:\n\
- mov r1, r8\n\
- ldrb r0, [r1, 0x3]\n\
- cmp r0, 0xFF\n\
- bne _080723A2\n\
- movs r0, 0\n\
- strb r0, [r1, 0x3]\n\
-_080723A2:\n\
- mov r2, r10\n\
- cmp r2, 0\n\
- bne _08072432\n\
- movs r3, 0\n\
- movs r1, 0\n\
- movs r6, 0xFC\n\
- lsls r6, 8\n\
- movs r5, 0x1E\n\
- mov r12, r5\n\
-_080723B4:\n\
- lsls r1, 24\n\
- asrs r2, r1, 24\n\
- mov r0, sp\n\
- adds r5, r0, r2\n\
- ldrb r0, [r5]\n\
- mov r8, r1\n\
- cmp r0, 0xFF\n\
- bne _080723EA\n\
- lsls r1, r2, 1\n\
- adds r1, r7\n\
- ldrh r2, [r1]\n\
- adds r0, r6, 0\n\
- ands r0, r2\n\
- mov r2, r12\n\
- orrs r0, r2\n\
- strh r0, [r1]\n\
- lsls r3, 24\n\
- asrs r1, r3, 23\n\
- adds r1, r7\n\
- adds r1, 0x40\n\
- ldrh r2, [r1]\n\
- adds r0, r6, 0\n\
- ands r0, r2\n\
- mov r5, r12\n\
- orrs r0, r5\n\
- strh r0, [r1]\n\
- b _0807241A\n\
-_080723EA:\n\
- lsls r2, 1\n\
- adds r2, r7\n\
- ldrh r0, [r2]\n\
- adds r1, r6, 0\n\
- ands r1, r0\n\
- ldrb r0, [r5]\n\
- adds r0, 0x14\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
- lsls r4, r3, 24\n\
- asrs r3, r4, 24\n\
- lsls r2, r3, 1\n\
- adds r2, r7\n\
- adds r2, 0x40\n\
- ldrh r0, [r2]\n\
- adds r1, r6, 0\n\
- ands r1, r0\n\
- mov r5, sp\n\
- adds r0, r5, r3\n\
- ldrb r0, [r0]\n\
- adds r0, 0x34\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
- adds r3, r4, 0\n\
-_0807241A:\n\
- movs r0, 0x80\n\
- lsls r0, 17\n\
- add r0, r8\n\
- lsrs r1, r0, 24\n\
- movs r2, 0x80\n\
- lsls r2, 17\n\
- adds r0, r3, r2\n\
- lsrs r3, r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0x3\n\
- ble _080723B4\n\
- b _08072496\n\
-_08072432:\n\
- movs r3, 0\n\
- movs r4, 0xFC\n\
- lsls r4, 8\n\
- movs r6, 0x1E\n\
-_0807243A:\n\
- lsls r1, r3, 24\n\
- asrs r2, r1, 24\n\
- mov r3, sp\n\
- adds r5, r3, r2\n\
- ldrb r0, [r5]\n\
- adds r3, r1, 0\n\
- cmp r0, 0xFF\n\
- bne _08072466\n\
- lsls r1, r2, 1\n\
- adds r1, r7\n\
- ldrh r2, [r1]\n\
- adds r0, r4, 0\n\
- ands r0, r2\n\
- orrs r0, r6\n\
- strh r0, [r1]\n\
- adds r1, 0x40\n\
- ldrh r2, [r1]\n\
- adds r0, r4, 0\n\
- ands r0, r2\n\
- orrs r0, r6\n\
- strh r0, [r1]\n\
- b _08072488\n\
-_08072466:\n\
- lsls r2, 1\n\
- adds r2, r7\n\
- ldrh r0, [r2]\n\
- adds r1, r4, 0\n\
- ands r1, r0\n\
- ldrb r0, [r5]\n\
- adds r0, 0x14\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
- adds r2, 0x40\n\
- ldrh r0, [r2]\n\
- adds r1, r4, 0\n\
- ands r1, r0\n\
- ldrb r0, [r5]\n\
- adds r0, 0x34\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
-_08072488:\n\
- movs r5, 0x80\n\
- lsls r5, 17\n\
- adds r0, r3, r5\n\
- lsrs r3, r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0x3\n\
- ble _0807243A\n\
-_08072496:\n\
- add sp, 0x4\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .syntax divided");
-}
-
-#endif // NONMATCHING
void sub_80724A8(s16 arg0, s16 arg1, u16 *arg2)
{
@@ -910,9 +873,9 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1);
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1);
- gSprites[healthboxLeftSpriteId].oam.shape = 0;
+ gSprites[healthboxLeftSpriteId].oam.shape = ST_OAM_SQUARE;
- gSprites[healthboxRightSpriteId].oam.shape = 0;
+ gSprites[healthboxRightSpriteId].oam.shape = ST_OAM_SQUARE;
gSprites[healthboxRightSpriteId].oam.tileNum += 64;
}
else
@@ -962,7 +925,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0);
healthBarSpritePtr = &gSprites[healthbarSpriteId];
SetSubspriteTables(healthBarSpritePtr, &sUnknown_0832C28C[GetBattlerSide(battlerId)]);
- healthBarSpritePtr->subspriteMode = 2;
+ healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
healthBarSpritePtr->oam.priority = 1;
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64);
@@ -987,8 +950,8 @@ u8 CreateSafariPlayerHealthboxSprites(void)
healthboxLeftSpriteId = CreateSprite(&sHealthboxSafariSpriteTemplate, 240, 160, 1);
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxSafariSpriteTemplate, 240, 160, 1);
- gSprites[healthboxLeftSpriteId].oam.shape = 0;
- gSprites[healthboxRightSpriteId].oam.shape = 0;
+ gSprites[healthboxLeftSpriteId].oam.shape = ST_OAM_SQUARE;
+ gSprites[healthboxRightSpriteId].oam.shape = ST_OAM_SQUARE;
gSprites[healthboxRightSpriteId].oam.tileNum += 64;
@@ -1711,9 +1674,9 @@ void Task_HidePartyStatusSummary(u8 taskId)
gTasks[taskId].tData15 = 16;
for (i = 0; i < PARTY_SIZE; i++)
- gSprites[ballIconSpriteIds[i]].oam.objMode = 1;
+ gSprites[ballIconSpriteIds[i]].oam.objMode = ST_OAM_OBJ_BLEND;
- gSprites[summaryBarSpriteId].oam.objMode = 1;
+ gSprites[summaryBarSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
if (isBattleStart)
{
diff --git a/src/battle_main.c b/src/battle_main.c
index 87e29dd57..bcef3b286 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -26,7 +26,7 @@
#include "link_rfu.h"
#include "load_save.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "m4a.h"
#include "palette.h"
#include "party_menu.h"
@@ -54,6 +54,7 @@
#include "constants/hold_effects.h"
#include "constants/items.h"
#include "constants/moves.h"
+#include "constants/party_menu.h"
#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/species.h"
@@ -166,8 +167,8 @@ EWRAM_DATA static u32 sUnusedUnknownArray[25] = {0};
EWRAM_DATA u32 gBattleTypeFlags = 0;
EWRAM_DATA u8 gBattleTerrain = 0;
EWRAM_DATA u32 gUnknown_02022FF4 = 0;
-EWRAM_DATA struct UnknownPokemonStruct4 gUnknown_02022FF8[3] = {0}; // what is it used for?
-EWRAM_DATA struct UnknownPokemonStruct4* gUnknown_02023058 = NULL; // what is it used for?
+EWRAM_DATA struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE] = {0};
+EWRAM_DATA static struct UnknownPokemonStruct4* sMultiPartnerPartyBuffer = NULL;
EWRAM_DATA u8 *gUnknown_0202305C = NULL;
EWRAM_DATA u8 *gUnknown_02023060 = NULL;
EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0};
@@ -453,7 +454,7 @@ const u8 gTypeEffectiveness[336] =
TYPE_ENDTABLE, TYPE_ENDTABLE, TYPE_MUL_NO_EFFECT
};
-const u8 gTypeNames[][TYPE_NAME_LENGTH + 1] =
+const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1] =
{
_("NORMAL"),
_("FIGHT"),
@@ -686,7 +687,7 @@ static void CB2_InitBattleInternal(void)
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
gBattleTerrain = BATTLE_TERRAIN_BUILDING;
- sub_80356D0();
+ InitBattleBgsVideo();
LoadBattleTextboxAndBackground();
ResetSpriteData();
ResetTasks();
@@ -714,7 +715,7 @@ static void CB2_InitBattleInternal(void)
}
gMain.inBattle = TRUE;
- gSaveBlock2Ptr->frontier.field_CA9_b = 0;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE;
for (i = 0; i < PARTY_SIZE; i++)
AdjustFriendship(&gPlayerParty[i], 3);
@@ -1023,7 +1024,7 @@ static void CB2_HandleStartBattle(void)
ResetBlockReceivedFlags();
sub_8036EB8(2, playerMultiplayerId);
SetAllPlayersBerryData();
- taskId = CreateTask(sub_8035D74, 0);
+ taskId = CreateTask(InitLinkBattleVsScreen, 0);
gTasks[taskId].data[1] = 0x10E;
gTasks[taskId].data[2] = 0x5A;
gTasks[taskId].data[5] = 0;
@@ -1225,7 +1226,7 @@ static void CB2_HandleStartMultiPartnerBattle(void)
ResetBlockReceivedFlags();
sub_8036EB8(2, playerMultiplayerId);
SetAllPlayersBerryData();
- taskId = CreateTask(sub_8035D74, 0);
+ taskId = CreateTask(InitLinkBattleVsScreen, 0);
gTasks[taskId].data[1] = 0x10E;
gTasks[taskId].data[2] = 0x5A;
gTasks[taskId].data[5] = 0;
@@ -1248,12 +1249,12 @@ static void CB2_HandleStartMultiPartnerBattle(void)
if (gLinkPlayers[playerMultiplayerId].id != 0)
{
memcpy(gPlayerParty, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2);
- memcpy(gPlayerParty + 3, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2);
+ memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2);
}
else
{
memcpy(gPlayerParty, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2);
- memcpy(gPlayerParty + 3, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2);
+ memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2);
}
gBattleCommunication[MULTIUSE_STATE]++;
}
@@ -1396,22 +1397,22 @@ static void sub_80379F8(u8 arrayIdPlus)
{
s32 i;
- for (i = 0; i < 3; i++)
- {
- gUnknown_02022FF8[i].species = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_SPECIES);
- gUnknown_02022FF8[i].heldItem = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HELD_ITEM);
- GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_NICKNAME, gUnknown_02022FF8[i].nickname);
- gUnknown_02022FF8[i].level = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LEVEL);
- gUnknown_02022FF8[i].hp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HP);
- gUnknown_02022FF8[i].maxhp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_MAX_HP);
- gUnknown_02022FF8[i].status = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_STATUS);
- gUnknown_02022FF8[i].personality = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_PERSONALITY);
- gUnknown_02022FF8[i].gender = GetMonGender(&gPlayerParty[arrayIdPlus + i]);
- StripExtCtrlCodes(gUnknown_02022FF8[i].nickname);
+ for (i = 0; i < (int)ARRAY_COUNT(gMultiPartnerParty); i++)
+ {
+ gMultiPartnerParty[i].species = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_SPECIES);
+ gMultiPartnerParty[i].heldItem = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HELD_ITEM);
+ GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_NICKNAME, gMultiPartnerParty[i].nickname);
+ gMultiPartnerParty[i].level = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LEVEL);
+ gMultiPartnerParty[i].hp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HP);
+ gMultiPartnerParty[i].maxhp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_MAX_HP);
+ gMultiPartnerParty[i].status = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_STATUS);
+ gMultiPartnerParty[i].personality = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_PERSONALITY);
+ gMultiPartnerParty[i].gender = GetMonGender(&gPlayerParty[arrayIdPlus + i]);
+ StripExtCtrlCodes(gMultiPartnerParty[i].nickname);
if (GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE)
- PadNameString(gUnknown_02022FF8[i].nickname, CHAR_SPACE);
+ PadNameString(gMultiPartnerParty[i].nickname, CHAR_SPACE);
}
- memcpy(gUnknown_02023058, gUnknown_02022FF8, sizeof(gUnknown_02022FF8));
+ memcpy(sMultiPartnerPartyBuffer, gMultiPartnerParty, sizeof(gMultiPartnerParty));
}
static void CB2_PreInitMultiBattle(void)
@@ -1443,9 +1444,9 @@ static void CB2_PreInitMultiBattle(void)
case 0:
if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished())
{
- gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct4) * 3);
+ sMultiPartnerPartyBuffer = Alloc(sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty));
sub_80379F8(0);
- SendBlock(bitmask_all_link_players_but_self(), gUnknown_02023058, sizeof(struct UnknownPokemonStruct4) * 3);
+ SendBlock(bitmask_all_link_players_but_self(), sMultiPartnerPartyBuffer, sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty));
gBattleCommunication[MULTIUSE_STATE]++;
}
break;
@@ -1458,24 +1459,24 @@ static void CB2_PreInitMultiBattle(void)
if (i == playerMultiplierId)
continue;
- if (numPlayers == 4)
+ if (numPlayers == MAX_LINK_PLAYERS)
{
if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[playerMultiplierId].id & 1))
|| (gLinkPlayers[i].id & 1 && gLinkPlayers[playerMultiplierId].id & 1))
{
- memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * 3);
+ memcpy(gMultiPartnerParty, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty));
}
}
else
{
- memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * 3);
+ memcpy(gMultiPartnerParty, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty));
}
}
gBattleCommunication[MULTIUSE_STATE]++;
*savedCallback = gMain.savedCallback;
*savedBattleTypeFlags = gBattleTypeFlags;
gMain.savedCallback = CB2_PreInitMultiBattle;
- sub_81B9150();
+ ShowPartyMenuToShowcaseMultiBattleParty();
}
break;
case 2:
@@ -1491,13 +1492,13 @@ static void CB2_PreInitMultiBattle(void)
case 3:
if (gWirelessCommType)
{
- if (sub_8010500())
+ if (IsLinkRfuTaskFinished())
{
gBattleTypeFlags = *savedBattleTypeFlags;
gMain.savedCallback = *savedCallback;
SetMainCallback2(CB2_InitBattleInternal);
- Free(gUnknown_02023058);
- gUnknown_02023058 = NULL;
+ Free(sMultiPartnerPartyBuffer);
+ sMultiPartnerPartyBuffer = NULL;
}
}
else if (gReceivedRemoteLinkPlayers == 0)
@@ -1505,8 +1506,8 @@ static void CB2_PreInitMultiBattle(void)
gBattleTypeFlags = *savedBattleTypeFlags;
gMain.savedCallback = *savedCallback;
SetMainCallback2(CB2_InitBattleInternal);
- Free(gUnknown_02023058);
- gUnknown_02023058 = NULL;
+ Free(sMultiPartnerPartyBuffer);
+ sMultiPartnerPartyBuffer = NULL;
}
break;
}
@@ -1527,13 +1528,13 @@ static void CB2_PreInitIngamePlayerPartnerBattle(void)
switch (gBattleCommunication[MULTIUSE_STATE])
{
case 0:
- gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct4) * 3);
+ sMultiPartnerPartyBuffer = Alloc(sizeof(struct UnknownPokemonStruct4) * ARRAY_COUNT(gMultiPartnerParty));
sub_80379F8(3);
gBattleCommunication[MULTIUSE_STATE]++;
*savedCallback = gMain.savedCallback;
*savedBattleTypeFlags = gBattleTypeFlags;
gMain.savedCallback = CB2_PreInitIngamePlayerPartnerBattle;
- sub_81B9150();
+ ShowPartyMenuToShowcaseMultiBattleParty();
break;
case 1:
if (!gPaletteFade.active)
@@ -1542,8 +1543,8 @@ static void CB2_PreInitIngamePlayerPartnerBattle(void)
gBattleTypeFlags = *savedBattleTypeFlags;
gMain.savedCallback = *savedCallback;
SetMainCallback2(CB2_InitBattleInternal);
- Free(gUnknown_02023058);
- gUnknown_02023058 = NULL;
+ Free(sMultiPartnerPartyBuffer);
+ sMultiPartnerPartyBuffer = NULL;
}
break;
}
@@ -1611,7 +1612,7 @@ static void CB2_HandleStartMultiBattle(void)
sub_8036EB8(4, playerMultiplayerId);
SetAllPlayersBerryData();
SetDeoxysStats();
- var = CreateTask(sub_8035D74, 0);
+ var = CreateTask(InitLinkBattleVsScreen, 0);
gTasks[var].data[1] = 0x10E;
gTasks[var].data[2] = 0x5A;
gTasks[var].data[5] = 0;
@@ -1666,7 +1667,7 @@ static void CB2_HandleStartMultiBattle(void)
break;
case 1:
case 2:
- memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2);
+ memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2);
break;
}
}
@@ -1683,7 +1684,7 @@ static void CB2_HandleStartMultiBattle(void)
break;
case 1:
case 2:
- memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2);
+ memcpy(gPlayerParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2);
break;
}
}
@@ -1697,7 +1698,7 @@ static void CB2_HandleStartMultiBattle(void)
break;
case 1:
case 2:
- memcpy(gEnemyParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2);
+ memcpy(gEnemyParty + MULTI_PARTY_SIZE, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2);
break;
}
}
@@ -1790,9 +1791,9 @@ static void CB2_HandleStartMultiBattle(void)
gBattleCommunication[SPRITES_INIT_STATE2] = 0;
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
- for (id = 0; id < 4 && (gLinkPlayers[id].version & 0xFF) == 3; id++);
+ for (id = 0; id < MAX_LINK_PLAYERS && (gLinkPlayers[id].version & 0xFF) == VERSION_EMERALD; id++);
- if (id == 4)
+ if (id == MAX_LINK_PLAYERS)
gBattleCommunication[MULTIUSE_STATE] = 8;
else
gBattleCommunication[MULTIUSE_STATE] = 10;
@@ -2249,7 +2250,7 @@ void sub_8038D64(void)
gBattle_BG3_X = 0;
gBattle_BG3_Y = 0;
- sub_80356D0();
+ InitBattleBgsVideo();
LoadCompressedPalette(gBattleTextboxPalette, 0, 64);
LoadBattleMenuWindowGfx();
ResetSpriteData();
@@ -2260,7 +2261,7 @@ void sub_8038D64(void)
gReservedSpritePaletteCount = 4;
SetVBlankCallback(VBlankCB_Battle);
- taskId = CreateTask(sub_8035D74, 0);
+ taskId = CreateTask(InitLinkBattleVsScreen, 0);
gTasks[taskId].data[1] = 0x10E;
gTasks[taskId].data[2] = 0x5A;
gTasks[taskId].data[5] = 1;
@@ -2314,7 +2315,7 @@ static void sub_8038F34(void)
for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++);
- if (!gSaveBlock2Ptr->frontier.field_CA9_b && i == monsCount)
+ if (!gSaveBlock2Ptr->frontier.disableRecordBattle && i == monsCount)
{
if (FlagGet(FLAG_SYS_FRONTIER_PASS))
{
@@ -2445,7 +2446,7 @@ static void sub_80392A8(void)
gBattle_BG2_Y = 0;
gBattle_BG3_X = 0;
gBattle_BG3_Y = 0;
- sub_80356D0();
+ InitBattleBgsVideo();
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
LoadBattleMenuWindowGfx();
@@ -2593,7 +2594,7 @@ static void sub_803939C(void)
}
else
{
- BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordCouldntBeSaved);
+ BattleStringExpandPlaceholdersToDisplayedString(BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved);
BattlePutTextOnWindow(gDisplayedStringBattle, 0);
gBattleCommunication[1] = 0x80;
gBattleCommunication[MULTIUSE_STATE]++;
@@ -3953,7 +3954,7 @@ static void TryDoEventsBeforeFirstTurn(void)
*(&gBattleStruct->turnEffectsBattlerId) = 0;
*(&gBattleStruct->wishPerishSongState) = 0;
*(&gBattleStruct->wishPerishSongBattlerId) = 0;
- gBattleScripting.atk49_state = 0;
+ gBattleScripting.moveendState = 0;
gBattleStruct->faintedActionsState = 0;
gBattleStruct->turnCountersTracker = 0;
gMoveResultFlags = 0;
@@ -4016,7 +4017,7 @@ void BattleTurnPassed(void)
gHitMarker &= ~(HITMARKER_x100000);
gBattleScripting.animTurn = 0;
gBattleScripting.animTargetsHit = 0;
- gBattleScripting.atk49_state = 0;
+ gBattleScripting.moveendState = 0;
gBattleMoveDamage = 0;
gMoveResultFlags = 0;
@@ -4121,34 +4122,34 @@ u8 IsRunningFromBattleImpossible(void)
return 0;
}
-void sub_803BDA0(u8 battler)
+void SwitchPartyOrder(u8 battler)
{
s32 i;
- u8 r4;
- u8 r1;
+ u8 partyId1;
+ u8 partyId2;
// gBattleStruct->field_60[battler][i]
- for (i = 0; i < 3; i++)
- gUnknown_0203CF00[i] = *(battler * 3 + i + (u8*)(gBattleStruct->field_60));
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
+ gBattlePartyCurrentOrder[i] = *(battler * 3 + i + (u8*)(gBattleStruct->field_60));
- r4 = pokemon_order_func(gBattlerPartyIndexes[battler]);
- r1 = pokemon_order_func(*(gBattleStruct->monToSwitchIntoId + battler));
- sub_81B8FB0(r4, r1);
+ partyId1 = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]);
+ partyId2 = GetPartyIdFromBattlePartyId(*(gBattleStruct->monToSwitchIntoId + battler));
+ SwitchPartyMonSlots(partyId1, partyId2);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
- for (i = 0; i < 3; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
{
- *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i];
- *(BATTLE_PARTNER(battler) * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i];
+ *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i];
+ *(BATTLE_PARTNER(battler) * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i];
}
}
else
{
- for (i = 0; i < 3; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
{
- *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i];
+ *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i];
}
}
}
@@ -4244,7 +4245,7 @@ static void HandleTurnActionSelectionState(void)
moveInfo.monType1 = gBattleMons[gActiveBattler].type1;
moveInfo.monType2 = gBattleMons[gActiveBattler].type2;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_MON_MOVES; i++)
{
moveInfo.moves[i] = gBattleMons[gActiveBattler].moves[i];
moveInfo.currentPp[i] = gBattleMons[gActiveBattler].pp[i];
@@ -4283,7 +4284,7 @@ static void HandleTurnActionSelectionState(void)
|| gBattleTypeFlags & BATTLE_TYPE_ARENA
|| gStatuses3[gActiveBattler] & STATUS3_ROOTED)
{
- BtlController_EmitChoosePokemon(0, PARTY_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
+ BtlController_EmitChoosePokemon(0, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
}
else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG))
|| ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP))
@@ -4292,16 +4293,16 @@ static void HandleTurnActionSelectionState(void)
|| ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0))
&& IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)))
{
- BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]);
+ BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]);
}
else
{
if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH)
- BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
+ BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH)
- BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
+ BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
else
- BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
+ BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
}
MarkBattlerForControllerExec(gActiveBattler);
break;
@@ -4589,7 +4590,7 @@ static void HandleTurnActionSelectionState(void)
for (i = 0; i < gBattlersCount; i++)
{
if (gChosenActionByBattler[i] == B_ACTION_SWITCH)
- sub_80571DC(i, *(gBattleStruct->monToSwitchIntoId + i));
+ SwitchPartyOrderInGameMulti(i, *(gBattleStruct->monToSwitchIntoId + i));
}
}
}
@@ -5069,7 +5070,7 @@ static void HandleEndTurn_BattleLost(void)
{
gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle;
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
- gSaveBlock2Ptr->frontier.field_CA9_b = 1;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE;
}
else
{
@@ -5101,7 +5102,7 @@ static void HandleEndTurn_RanFromBattle(void)
{
gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited;
gBattleOutcome = B_OUTCOME_FORFEITED;
- gSaveBlock2Ptr->frontier.field_CA9_b = 1;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
{
@@ -5720,7 +5721,7 @@ static void HandleAction_Run(void)
}
gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN;
- gSaveBlock2Ptr->frontier.field_CA9_b = 1;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE;
}
else
{
@@ -5884,7 +5885,7 @@ static void HandleAction_ActionFinished(void)
gLastHitByType[gBattlerAttacker] = 0;
gBattleStruct->dynamicMoveType = 0;
gDynamicBasePower = 0;
- gBattleScripting.atk49_state = 0;
+ gBattleScripting.moveendState = 0;
gBattleCommunication[3] = 0;
gBattleCommunication[4] = 0;
gBattleScripting.multihitMoveEffect = 0;
diff --git a/src/battle_message.c b/src/battle_message.c
index 3fec571f4..f60527d7a 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -20,9 +20,11 @@
#include "trainer_hill.h"
#include "window.h"
#include "constants/battle_string_ids.h"
+#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/trainers.h"
+#include "constants/trainer_hill.h"
struct BattleWindowText
{
@@ -874,8 +876,8 @@ const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
[STRINGID_FORFEITEDMATCH - 12] = sText_ForfeitedMatch,
[STRINGID_PKMNTRANSFERREDSOMEONESPC - 12] = gText_PkmnTransferredSomeonesPC,
[STRINGID_PKMNTRANSFERREDLANETTESPC - 12] = gText_PkmnTransferredLanettesPC,
- [STRINGID_PKMNBOXSOMEONESPCFULL - 12] = gText_PkmnBoxSomeonesPCFull,
- [STRINGID_PKMNBOXLANETTESPCFULL - 12] = gText_PkmnBoxLanettesPCFull,
+ [STRINGID_PKMNBOXSOMEONESPCFULL - 12] = gText_PkmnTransferredSomeonesPCBoxFull,
+ [STRINGID_PKMNBOXLANETTESPCFULL - 12] = gText_PkmnTransferredLanettesPCBoxFull,
[STRINGID_TRAINER1WINTEXT - 12] = sText_Trainer1WinText,
[STRINGID_TRAINER2WINTEXT - 12] = sText_Trainer2WinText,
};
@@ -1193,7 +1195,7 @@ const u8 gText_Love[] = _("love");
const u8 gText_SpaceAndSpace[] = _(" and ");
const u8 gText_CommaSpace[] = _(", ");
const u8 gText_Space2[] = _(" ");
-const u8 gText_ScrollTextUp[] = _("\l");
+const u8 gText_LineBreak[] = _("\l");
const u8 gText_NewLine[] = _("\n");
const u8 gText_Are[] = _("are");
const u8 gText_Are2[] = _("are");
@@ -2573,7 +2575,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
{
- CopyTrainerHillTrainerText(4, gTrainerBattleOpponent_A);
+ CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_WON, gTrainerBattleOpponent_A);
toCpy = gStringVar4;
}
else
@@ -2589,7 +2591,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
{
- CopyTrainerHillTrainerText(3, gTrainerBattleOpponent_A);
+ CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_LOST, gTrainerBattleOpponent_A);
toCpy = gStringVar4;
}
break;
@@ -2670,7 +2672,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
{
- CopyTrainerHillTrainerText(4, gTrainerBattleOpponent_B);
+ CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_WON, gTrainerBattleOpponent_B);
toCpy = gStringVar4;
}
else
@@ -2686,7 +2688,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
{
- CopyTrainerHillTrainerText(3, gTrainerBattleOpponent_B);
+ CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_PLAYER_LOST, gTrainerBattleOpponent_B);
toCpy = gStringVar4;
}
break;
@@ -2759,7 +2761,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
value = T1_READ_32(&src[srcID + 3]);
break;
}
- ConvertIntToDecimalStringN(dst, value, 0, src[srcID + 2]);
+ ConvertIntToDecimalStringN(dst, value, STR_CONV_MODE_LEFT_ALIGN, src[srcID + 2]);
srcID += src[srcID + 1] + 3;
break;
case B_BUFF_MOVE: // move name
diff --git a/src/battle_palace.c b/src/battle_palace.c
index fb8cc0729..633666254 100644
--- a/src/battle_palace.c
+++ b/src/battle_palace.c
@@ -8,47 +8,71 @@
#include "item.h"
#include "string_util.h"
#include "constants/items.h"
+#include "constants/battle_frontier.h"
+#include "constants/battle_palace.h"
+#include "constants/frontier_util.h"
+#include "constants/trainers.h"
// This file's functions.
-static void sub_8195980(void);
-static void sub_8195A38(void);
-static void sub_8195AE4(void);
-static void sub_8195BB0(void);
-static void sub_8195C20(void);
-static void sub_8195C50(void);
-static void sub_8195C7C(void);
-static void sub_8195CE4(void);
-static void sub_8195D28(void);
-static void sub_8195DB8(void);
+static void InitPalaceChallenge(void);
+static void GetPalaceData(void);
+static void SetPalaceData(void);
+static void GetPalaceCommentId(void);
+static void SetPalaceOpponent(void);
+static void BufferOpponentIntroSpeech(void);
+static void IncrementPalaceStreak(void);
+static void SavePalaceChallenge(void);
+static void SetRandomPalacePrize(void);
+static void GivePalacePrize(void);
// Const rom data.
static void (* const sBattlePalaceFunctions[])(void) =
{
- sub_8195980,
- sub_8195A38,
- sub_8195AE4,
- sub_8195BB0,
- sub_8195C20,
- sub_8195C50,
- sub_8195C7C,
- sub_8195CE4,
- sub_8195D28,
- sub_8195DB8,
+ [BATTLE_PALACE_FUNC_INIT] = InitPalaceChallenge,
+ [BATTLE_PALACE_FUNC_GET_DATA] = GetPalaceData,
+ [BATTLE_PALACE_FUNC_SET_DATA] = SetPalaceData,
+ [BATTLE_PALACE_FUNC_GET_COMMENT_ID] = GetPalaceCommentId,
+ [BATTLE_PALACE_FUNC_SET_OPPONENT] = SetPalaceOpponent,
+ [BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO] = BufferOpponentIntroSpeech,
+ [BATTLE_PALACE_FUNC_INCREMENT_STREAK] = IncrementPalaceStreak,
+ [BATTLE_PALACE_FUNC_SAVE] = SavePalaceChallenge,
+ [BATTLE_PALACE_FUNC_SET_PRIZE] = SetRandomPalacePrize,
+ [BATTLE_PALACE_FUNC_GIVE_PRIZE] = GivePalacePrize,
};
-static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
-static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
+static const u16 sBattlePalaceEarlyPrizes[] =
+{
+ ITEM_HP_UP,
+ ITEM_PROTEIN,
+ ITEM_IRON,
+ ITEM_CALCIUM,
+ ITEM_CARBOS,
+ ITEM_ZINC
+};
+
+static const u16 sBattlePalaceLatePrizes[] =
+{
+ ITEM_BRIGHT_POWDER,
+ ITEM_WHITE_HERB,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_MENTAL_HERB,
+ ITEM_KINGS_ROCK,
+ ITEM_FOCUS_BAND,
+ ITEM_SCOPE_LENS,
+ ITEM_CHOICE_BAND
+};
-static const u32 gUnknown_0860DE98[][2] =
+static const u32 sWinStreakFlags[][2] =
{
- {0x10, 0x20},
- {0x400000, 0x800000},
+ {STREAK_PALACE_SINGLES_50, STREAK_PALACE_SINGLES_OPEN},
+ {STREAK_PALACE_DOUBLES_50, STREAK_PALACE_DOUBLES_OPEN},
};
-static const u32 gUnknown_0860DEA8[][2] =
+static const u32 sWinStreakMasks[][2] =
{
- {~0x10, ~0x20},
- {~0x400000, ~0x800000},
+ {~(STREAK_PALACE_SINGLES_50), ~(STREAK_PALACE_SINGLES_OPEN)},
+ {~(STREAK_PALACE_DOUBLES_50), ~(STREAK_PALACE_DOUBLES_OPEN)},
};
// code
@@ -57,64 +81,64 @@ void CallBattlePalaceFunction(void)
sBattlePalaceFunctions[gSpecialVar_0x8004]();
}
-static void sub_8195980(void)
+static void InitPalaceChallenge(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
- gSaveBlock2Ptr->frontier.field_CA9_b = 0;
- if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE;
+ if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
-static void sub_8195A38(void)
+static void GetPalaceData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC6;
+ case PALACE_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.palacePrize;
break;
- case 1:
+ case PALACE_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
- case 2:
- gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
+ case PALACE_DATA_WIN_STREAK_ACTIVE:
+ gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
}
}
-static void sub_8195AE4(void)
+static void SetPalaceData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.field_DC6 = gSpecialVar_0x8006;
+ case PALACE_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.palacePrize = gSpecialVar_0x8006;
break;
- case 1:
+ case PALACE_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case PALACE_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
- gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
}
}
-static void sub_8195BB0(void)
+static void GetPalaceCommentId(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -127,24 +151,24 @@ static void sub_8195BB0(void)
gSpecialVar_Result = 4;
}
-static void sub_8195C20(void)
+static void SetPalaceOpponent(void)
{
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
-static void sub_8195C50(void)
+static void BufferOpponentIntroSpeech(void)
{
- if (gTrainerBattleOpponent_A < 300)
+ if (gTrainerBattleOpponent_A < FRONTIER_TRAINERS_COUNT)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
-static void sub_8195C7C(void)
+static void IncrementPalaceStreak(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < MAX_STREAK)
{
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
@@ -154,31 +178,31 @@ static void sub_8195C7C(void)
}
}
-static void sub_8195CE4(void)
+static void SavePalaceChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = 1;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
-static void sub_8195D28(void)
+static void SetRandomPalacePrize(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 41)
- gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE84[Random() % ARRAY_COUNT(gUnknown_0860DE84)];
+ gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceLatePrizes[Random() % ARRAY_COUNT(sBattlePalaceLatePrizes)];
else
- gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE78[Random() % ARRAY_COUNT(gUnknown_0860DE78)];
+ gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceEarlyPrizes[Random() % ARRAY_COUNT(sBattlePalaceEarlyPrizes)];
}
-static void sub_8195DB8(void)
+static void GivePalacePrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_DC6, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.palacePrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_DC6, gStringVar1);
- gSaveBlock2Ptr->frontier.field_DC6 = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.palacePrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.palacePrize = 0;
gSpecialVar_Result = TRUE;
}
else
diff --git a/src/battle_pike.c b/src/battle_pike.c
index 8846e2d1a..1c05d12cf 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -9,12 +9,13 @@
#include "task.h"
#include "battle_tower.h"
#include "party_menu.h"
-#include "alloc.h"
+#include "malloc.h"
#include "palette.h"
#include "script.h"
#include "battle_setup.h"
#include "constants/event_objects.h"
#include "constants/battle_frontier.h"
+#include "constants/frontier_util.h"
#include "constants/abilities.h"
#include "constants/easy_chat.h"
#include "constants/layouts.h"
@@ -22,20 +23,8 @@
#include "constants/trainers.h"
#include "constants/species.h"
#include "constants/moves.h"
-
-#define PIKE_ROOM_SINGLE_BATTLE 0
-#define PIKE_ROOM_HEAL_FULL 1
-#define PIKE_ROOM_NPC 2
-#define PIKE_ROOM_STATUS 3
-#define PIKE_ROOM_HEAL_PART 4
-#define PIKE_ROOM_WILD_MONS 5
-#define PIKE_ROOM_HARD_BATTLE 6
-#define PIKE_ROOM_DOUBLE_BATTLE 7
-#define PIKE_ROOM_BRAIN 8
-
-// For the room with a status effect.
-#define PIKE_STATUS_KIRLIA 0
-#define PIKE_STATUS_DUSCLOPS 1
+#include "constants/party_menu.h"
+#include "constants/battle_pike.h"
struct PikeRoomNPC
{
@@ -49,13 +38,13 @@ struct PikeWildMon
{
u16 species;
u8 levelDelta;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
};
// IWRAM bss
static u8 sRoomType;
static u8 sStatusMon;
-static bool8 sUnknown_0300128E;
+static bool8 sInWildMonRoom;
static u32 sStatusFlags;
static u8 sNpcId;
@@ -63,30 +52,30 @@ static u8 sNpcId;
static void SetRoomType(void);
static void GetBattlePikeData(void);
static void SetBattlePikeData(void);
-static void GetInFinalRoom(void);
+static void IsNextRoomFinal(void);
static void SetupRoomEventObjects(void);
static void GetRoomType(void);
-static void sub_81A7400(void);
-static void sub_81A740C(void);
-static void sub_81A7418(void);
+static void SetInWildMonRoom(void);
+static void ClearInWildMonRoom(void);
+static void SavePikeChallenge(void);
static void nullsub_76(void);
static void nullsub_124(void);
static void GetRoomInflictedStatus(void);
static void GetRoomInflictedStatusMon(void);
static void HealOneOrTwoMons(void);
static void BufferNPCMessage(void);
-static void StatusInflictionScreenFade(void);
+static void StatusInflictionScreenFlash(void);
static void GetInBattlePike(void);
static void SetHintedRoom(void);
static void GetHintedRoomIndex(void);
static void GetRoomTypeHint(void);
static void ClearPikeTrainerIds(void);
-static void BufferRecordMixingTrainerMessage(void);
+static void BufferTrainerIntro(void);
static void GetCurrentRoomPikeQueenFightType(void);
static void HealSomeMonsBeforePikeQueen(void);
-static void SetHealingRoomsDisabled(void);
-static void CanAnyPartyMonsBeHealed(void);
-static void BackupMonHeldItems(void);
+static void SetHealingroomTypesDisabled(void);
+static void IsPartyFullHealed(void);
+static void SaveMonHeldItems(void);
static void RestoreMonHeldItems(void);
static void InitPikeChallenge(void);
static u8 GetNextRoomType(void);
@@ -94,7 +83,7 @@ static void PrepareOneTrainer(bool8 difficult);
static u16 GetNPCRoomGraphicsId(void);
static void PrepareTwoTrainers(void);
static void TryHealMons(u8 healCount);
-static void Task_DoStatusInflictionScreenFade(u8 taskId);
+static void Task_DoStatusInflictionScreenFlash(u8 taskId);
static bool8 AtLeastTwoAliveMons(void);
static u8 SpeciesToPikeMonId(u16 species);
static bool8 CanEncounterWildMon(u8 monLevel);
@@ -431,7 +420,7 @@ static const struct PikeRoomNPC sNPCTable[] =
}
};
-static const u16 sNPCSpeeches[][6] =
+static const u16 sNPCSpeeches[][EASY_CHAT_BATTLE_WORDS_COUNT] =
{
{EC_WORD_I_AM, EC_WORD_LOST, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_MOVE2(HELPING_HAND)},
{EC_WORD_I_VE, EC_WORD_NO, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_WHERE, EC_WORD_I_AM},
@@ -477,61 +466,61 @@ static const u16 sNPCSpeeches[][6] =
{EC_MOVE2(TOXIC), EC_WORD_IS, EC_WORD_A, EC_WORD_TERRIBLE, EC_WORD_THING, EC_WORD_ISN_T_IT_QUES},
};
-// Only the 5th array in this data is used by the code.
-static const u8 sPikeQueenWinStreakAppearances[][4] =
+// Table duplicated from frontier_util, only Battle Pike entry used
+static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] =
{
- {35, 70, 35, 1},
- { 4, 9, 5, 0},
- {21, 42, 21, 1},
- {28, 56, 28, 1},
- {21, 42, 21, 1},
- {28, 140, 56, 1},
- {21, 70, 35, 0},
+ [FRONTIER_FACILITY_TOWER] = {35, 70, 35, 1},
+ [FRONTIER_FACILITY_DOME] = { 4, 9, 5, 0},
+ [FRONTIER_FACILITY_PALACE] = {21, 42, 21, 1},
+ [FRONTIER_FACILITY_ARENA] = {28, 56, 28, 1},
+ [FRONTIER_FACILITY_FACTORY] = {21, 42, 21, 1},
+ [FRONTIER_FACILITY_PIKE] = {28, 140, 56, 1},
+ [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0},
};
static void (* const sBattlePikeFunctions[])(void) =
{
- SetRoomType,
- GetBattlePikeData,
- SetBattlePikeData,
- GetInFinalRoom,
- SetupRoomEventObjects,
- GetRoomType,
- sub_81A7400,
- sub_81A740C,
- sub_81A7418,
- nullsub_76,
- nullsub_124,
- GetRoomInflictedStatus,
- GetRoomInflictedStatusMon,
- HealOneOrTwoMons,
- BufferNPCMessage,
- StatusInflictionScreenFade,
- GetInBattlePike,
- SetHintedRoom,
- GetHintedRoomIndex,
- GetRoomTypeHint,
- ClearPikeTrainerIds,
- BufferRecordMixingTrainerMessage,
- GetCurrentRoomPikeQueenFightType,
- HealSomeMonsBeforePikeQueen,
- SetHealingRoomsDisabled,
- CanAnyPartyMonsBeHealed,
- BackupMonHeldItems,
- RestoreMonHeldItems,
- InitPikeChallenge
+ [BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType,
+ [BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData,
+ [BATTLE_PIKE_FUNC_SET_DATA] = SetBattlePikeData,
+ [BATTLE_PIKE_FUNC_IS_FINAL_ROOM] = IsNextRoomFinal,
+ [BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomEventObjects,
+ [BATTLE_PIKE_FUNC_GET_ROOM_TYPE] = GetRoomType,
+ [BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM] = SetInWildMonRoom,
+ [BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM] = ClearInWildMonRoom,
+ [BATTLE_PIKE_FUNC_SAVE] = SavePikeChallenge,
+ [BATTLE_PIKE_FUNC_NULL_9] = nullsub_76,
+ [BATTLE_PIKE_FUNC_NULL_10] = nullsub_124,
+ [BATTLE_PIKE_FUNC_GET_ROOM_STATUS] = GetRoomInflictedStatus,
+ [BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON] = GetRoomInflictedStatusMon,
+ [BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS] = HealOneOrTwoMons,
+ [BATTLE_PIKE_FUNC_BUFFER_NPC_MSG] = BufferNPCMessage,
+ [BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH] = StatusInflictionScreenFlash,
+ [BATTLE_PIKE_FUNC_IS_IN] = GetInBattlePike,
+ [BATTLE_PIKE_FUNC_SET_HINT_ROOM] = SetHintedRoom,
+ [BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID] = GetHintedRoomIndex,
+ [BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT] = GetRoomTypeHint,
+ [BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS] = ClearPikeTrainerIds,
+ [BATTLE_PIKE_FUNC_GET_TRAINER_INTRO] = BufferTrainerIntro,
+ [BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE] = GetCurrentRoomPikeQueenFightType,
+ [BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN] = HealSomeMonsBeforePikeQueen,
+ [BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED] = SetHealingroomTypesDisabled,
+ [BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH] = IsPartyFullHealed,
+ [BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS] = SaveMonHeldItems,
+ [BATTLE_PIKE_FUNC_RESET_HELD_ITEMS] = RestoreMonHeldItems,
+ [BATTLE_PIKE_FUNC_INIT] = InitPikeChallenge
};
static const u8 sRoomTypeHints[] = {
- 3, // PIKE_ROOM_SINGLE_BATTLE
- 3, // PIKE_ROOM_HEAL_FULL
- 1, // PIKE_ROOM_NPC
- 0, // PIKE_ROOM_STATUS
- 0, // PIKE_ROOM_HEAL_PART
- 2, // PIKE_ROOM_WILD_MONS
- 2, // PIKE_ROOM_HARD_BATTLE
- 1, // PIKE_ROOM_DOUBLE_BATTLE
- 4, // PIKE_ROOM_BRAIN
+ PIKE_HINT_PEOPLE, // PIKE_ROOM_SINGLE_BATTLE
+ PIKE_HINT_PEOPLE, // PIKE_ROOM_HEAL_FULL
+ PIKE_HINT_WHISPERING, // PIKE_ROOM_NPC
+ PIKE_HINT_NOSTALGIA, // PIKE_ROOM_STATUS
+ PIKE_HINT_NOSTALGIA, // PIKE_ROOM_HEAL_PART
+ PIKE_HINT_POKEMON, // PIKE_ROOM_WILD_MONS
+ PIKE_HINT_POKEMON, // PIKE_ROOM_HARD_BATTLE
+ PIKE_HINT_WHISPERING, // PIKE_ROOM_DOUBLE_BATTLE
+ PIKE_HINT_BRAIN, // PIKE_ROOM_BRAIN
};
static const u8 sNumMonsToHealBeforePikeQueen[][3] =
@@ -544,12 +533,12 @@ static const u8 sNumMonsToHealBeforePikeQueen[][3] =
{0, 1, 2},
};
-static bool8 (* const sStatusInflictionScreenFadeFuncs[])(struct Task *) =
+static bool8 (* const sStatusInflictionScreenFlashFuncs[])(struct Task *) =
{
StatusInflictionFadeOut, StatusInflictionFadeIn
};
-static const u32 gUnknown_08612690[] = {0x400, 0x800};
+static const u32 sWinStreakFlags[] = {STREAK_PIKE_50, STREAK_PIKE_OPEN};
// code
void CallBattlePikeFunction(void)
@@ -590,7 +579,7 @@ static void SetupRoomEventObjects(void)
break;
case PIKE_ROOM_STATUS:
objGfx1 = EVENT_OBJ_GFX_GENTLEMAN;
- if (sStatusMon == PIKE_STATUS_DUSCLOPS)
+ if (sStatusMon == PIKE_STATUSMON_DUSCLOPS)
objGfx2 = EVENT_OBJ_GFX_DUSCLOPS;
else
objGfx2 = EVENT_OBJ_GFX_KIRLIA;
@@ -634,23 +623,23 @@ static void GetBattlePikeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E02;
+ case PIKE_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikePrize;
break;
- case 1:
+ case PIKE_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode];
break;
- case 2:
+ case PIKE_DATA_RECORD_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode];
break;
- case 3:
+ case PIKE_DATA_TOTAL_STREAKS:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode];
break;
- case 4:
+ case PIKE_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x800;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_OPEN;
else
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x400;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_50;
break;
}
}
@@ -661,41 +650,41 @@ static void SetBattlePikeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.field_E02 = gSpecialVar_0x8006;
+ case PIKE_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.pikePrize = gSpecialVar_0x8006;
break;
- case 1:
- if (gSpecialVar_0x8006 <= 9999)
+ case PIKE_DATA_WIN_STREAK:
+ if (gSpecialVar_0x8006 <= MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
- if (gSpecialVar_0x8006 <= 9999 && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006)
+ case PIKE_DATA_RECORD_STREAK:
+ if (gSpecialVar_0x8006 <= MAX_STREAK && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
- case 3:
- if (gSpecialVar_0x8006 <= 9999)
+ case PIKE_DATA_TOTAL_STREAKS:
+ if (gSpecialVar_0x8006 <= MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
- case 4:
+ case PIKE_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= 0x800;
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PIKE_OPEN;
else
- gSaveBlock2Ptr->frontier.field_CDC &= ~(0x800);
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PIKE_OPEN);
}
else
{
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= 0x400;
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PIKE_50;
else
- gSaveBlock2Ptr->frontier.field_CDC &= ~(0x400);
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PIKE_50);
}
break;
}
}
-static void GetInFinalRoom(void)
+static void IsNextRoomFinal(void)
{
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum > 14)
gSpecialVar_Result = TRUE;
@@ -708,21 +697,21 @@ static void GetRoomType(void)
gSpecialVar_Result = sRoomType;
}
-static void sub_81A7400(void)
+static void SetInWildMonRoom(void)
{
- sUnknown_0300128E = TRUE;
+ sInWildMonRoom = TRUE;
}
-static void sub_81A740C(void)
+static void ClearInWildMonRoom(void)
{
- sUnknown_0300128E = FALSE;
+ sInWildMonRoom = FALSE;
}
-static void sub_81A7418(void)
+static void SavePikeChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
save_serialize_map();
TrySavingData(SAVE_LINK);
}
@@ -742,19 +731,19 @@ static void GetRoomInflictedStatus(void)
switch (sStatusFlags)
{
case STATUS1_FREEZE:
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = PIKE_STATUS_FREEZE;
break;
case STATUS1_BURN:
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = PIKE_STATUS_BURN;
break;
case STATUS1_TOXIC_POISON:
- gSpecialVar_Result = 2;
+ gSpecialVar_Result = PIKE_STATUS_TOXIC;
break;
case STATUS1_PARALYSIS:
- gSpecialVar_Result = 3;
+ gSpecialVar_Result = PIKE_STATUS_PARALYSIS;
break;
case STATUS1_SLEEP:
- gSpecialVar_Result = 4;
+ gSpecialVar_Result = PIKE_STATUS_SLEEP;
break;
}
}
@@ -785,9 +774,9 @@ static void BufferNPCMessage(void)
FrontierSpeechToString(sNPCSpeeches[speechId]);
}
-static void StatusInflictionScreenFade(void)
+static void StatusInflictionScreenFlash(void)
{
- CreateTask(Task_DoStatusInflictionScreenFade, 2);
+ CreateTask(Task_DoStatusInflictionScreenFlash, 2);
}
static void HealMon(struct Pokemon *mon)
@@ -935,7 +924,7 @@ static bool8 TryInflictRandomStatus(void)
for (i = 0; i < 3; i++)
{
mon = &gPlayerParty[indices[i]];
- if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0
+ if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE
&& GetMonData(mon, MON_DATA_HP) != 0)
{
j++;
@@ -957,19 +946,19 @@ static bool8 TryInflictRandomStatus(void)
switch (sStatusFlags)
{
case STATUS1_FREEZE:
- sStatusMon = PIKE_STATUS_DUSCLOPS;
+ sStatusMon = PIKE_STATUSMON_DUSCLOPS;
break;
case STATUS1_BURN:
if (Random() % 2 != 0)
- sStatusMon = PIKE_STATUS_DUSCLOPS;
+ sStatusMon = PIKE_STATUSMON_DUSCLOPS;
else
- sStatusMon = PIKE_STATUS_KIRLIA;
+ sStatusMon = PIKE_STATUSMON_KIRLIA;
break;
case STATUS1_PARALYSIS:
case STATUS1_SLEEP:
case STATUS1_TOXIC_POISON:
default:
- sStatusMon = PIKE_STATUS_KIRLIA;
+ sStatusMon = PIKE_STATUSMON_KIRLIA;
break;
}
@@ -977,7 +966,7 @@ static bool8 TryInflictRandomStatus(void)
for (i = 0; i < 3; i++)
{
mon = &gPlayerParty[indices[i]];
- if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0
+ if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE
&& GetMonData(mon, MON_DATA_HP) != 0)
{
j++;
@@ -1009,7 +998,7 @@ static bool8 AtLeastOneHealthyMon(void)
for (i = 0; i < 3; i++)
{
struct Pokemon *mon = &gPlayerParty[i];
- if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0
+ if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE
&& GetMonData(mon, MON_DATA_HP) != 0)
{
healthyMonsCount++;
@@ -1026,10 +1015,10 @@ static bool8 AtLeastOneHealthyMon(void)
static u8 GetNextRoomType(void)
{
- u8 roomTypesAvailability[8];
+ bool8 roomTypesDisabled[NUM_PIKE_ROOM_TYPES - 1]; // excludes Brain room, which cant be disabled
u8 i;
u8 nextRoomType;
- u8 roomTypeGroup;
+ u8 roomHint;
u8 numRoomCandidates;
u8 *roomCandidates;
u8 id;
@@ -1045,54 +1034,54 @@ static u8 GetNextRoomType(void)
return gSaveBlock2Ptr->frontier.pikeHintedRoomType;
}
- for (i = 0; i < 8; i++)
- roomTypesAvailability[i] = 0;
+ for (i = 0; i < ARRAY_COUNT(roomTypesDisabled); i++)
+ roomTypesDisabled[i] = FALSE;
- numRoomCandidates = 8;
+ numRoomCandidates = NUM_PIKE_ROOM_TYPES - 1;
- // The room types associated with the lady's hint cannot be in the other two rooms.
- roomTypeGroup = sRoomTypeHints[gSaveBlock2Ptr->frontier.pikeHintedRoomType];
- for (i = 0; i < 8; i++)
+ // The other two room types cannot be the same type as the one associated with the lady's hint
+ roomHint = sRoomTypeHints[gSaveBlock2Ptr->frontier.pikeHintedRoomType];
+ for (i = 0; i < ARRAY_COUNT(roomTypesDisabled); i++)
{
- if (sRoomTypeHints[i] == roomTypeGroup)
+ if (sRoomTypeHints[i] == roomHint)
{
- roomTypesAvailability[i] = 1;
+ roomTypesDisabled[i] = TRUE;
numRoomCandidates--;
}
}
// Remove room type candidates that would have no effect on the player's party.
- if (roomTypesAvailability[PIKE_ROOM_DOUBLE_BATTLE] != 1 && !AtLeastTwoAliveMons())
+ if (roomTypesDisabled[PIKE_ROOM_DOUBLE_BATTLE] != TRUE && !AtLeastTwoAliveMons())
{
- roomTypesAvailability[PIKE_ROOM_DOUBLE_BATTLE] = 1;
+ roomTypesDisabled[PIKE_ROOM_DOUBLE_BATTLE] = TRUE;
numRoomCandidates--;
}
- if (roomTypesAvailability[PIKE_ROOM_STATUS] != 1 && !AtLeastOneHealthyMon())
+ if (roomTypesDisabled[PIKE_ROOM_STATUS] != TRUE && !AtLeastOneHealthyMon())
{
- roomTypesAvailability[PIKE_ROOM_STATUS] = 1;
+ roomTypesDisabled[PIKE_ROOM_STATUS] = TRUE;
numRoomCandidates--;
}
// Remove healing room type candidates if healing rooms are disabled.
if (gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled)
{
- if (roomTypesAvailability[PIKE_ROOM_HEAL_FULL] != 1)
+ if (roomTypesDisabled[PIKE_ROOM_HEAL_FULL] != TRUE)
{
- roomTypesAvailability[PIKE_ROOM_HEAL_FULL] = 1;
+ roomTypesDisabled[PIKE_ROOM_HEAL_FULL] = TRUE;
numRoomCandidates--;
}
- if (roomTypesAvailability[PIKE_ROOM_HEAL_PART] != 1)
+ if (roomTypesDisabled[PIKE_ROOM_HEAL_PART] != TRUE)
{
- roomTypesAvailability[PIKE_ROOM_HEAL_PART] = 1;
+ roomTypesDisabled[PIKE_ROOM_HEAL_PART] = TRUE;
numRoomCandidates--;
}
}
roomCandidates = AllocZeroed(numRoomCandidates);
id = 0;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < ARRAY_COUNT(roomTypesDisabled); i++)
{
- if (roomTypesAvailability[i] == 0)
+ if (roomTypesDisabled[i] == FALSE)
roomCandidates[id++] = i;
}
@@ -1110,9 +1099,10 @@ static u16 GetNPCRoomGraphicsId(void)
return sNPCTable[sNpcId].graphicsId;
}
-static u8 sub_81A7B84(void)
+// Unused
+static u8 GetInWildMonRoom(void)
{
- return sUnknown_0300128E;
+ return sInWildMonRoom;
}
bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
@@ -1182,9 +1172,9 @@ u8 GetBattlePikeWildMonHeaderId(void)
return headerId;
}
-static void DoStatusInflictionScreenFade(u8 taskId)
+static void DoStatusInflictionScreenFlash(u8 taskId)
{
- while (sStatusInflictionScreenFadeFuncs[gTasks[taskId].data[0]](&gTasks[taskId]));
+ while (sStatusInflictionScreenFlashFuncs[gTasks[taskId].data[0]](&gTasks[taskId]));
}
static bool8 StatusInflictionFadeOut(struct Task *task)
@@ -1221,7 +1211,7 @@ static bool8 StatusInflictionFadeIn(struct Task *task)
{
if (--task->data[3] == 0)
{
- DestroyTask(FindTaskIdByFunc(DoStatusInflictionScreenFade));
+ DestroyTask(FindTaskIdByFunc(DoStatusInflictionScreenFlash));
}
else
{
@@ -1232,9 +1222,9 @@ static bool8 StatusInflictionFadeIn(struct Task *task)
return FALSE;
}
-static void StartStatusInflictionScreenFade(s16 fadeOutDelay, s16 fadeInDelay, s16 numFades, s16 fadeOutSpeed, s16 fadeInSpped)
+static void StartStatusInflictionScreenFlash(s16 fadeOutDelay, s16 fadeInDelay, s16 numFades, s16 fadeOutSpeed, s16 fadeInSpped)
{
- u8 taskId = CreateTask(DoStatusInflictionScreenFade, 3);
+ u8 taskId = CreateTask(DoStatusInflictionScreenFlash, 3);
gTasks[taskId].data[1] = fadeOutDelay;
gTasks[taskId].data[2] = fadeInDelay;
@@ -1244,24 +1234,24 @@ static void StartStatusInflictionScreenFade(s16 fadeOutDelay, s16 fadeInDelay, s
gTasks[taskId].data[6] = fadeOutDelay;
}
-static bool8 IsStatusInflictionScreenFadeTaskFinished(void)
+static bool8 IsStatusInflictionScreenFlashTaskFinished(void)
{
- if (FindTaskIdByFunc(DoStatusInflictionScreenFade) == 0xFF)
+ if (FindTaskIdByFunc(DoStatusInflictionScreenFlash) == 0xFF)
return TRUE;
else
return FALSE;
}
-static void Task_DoStatusInflictionScreenFade(u8 taskId)
+static void Task_DoStatusInflictionScreenFlash(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
gTasks[taskId].data[0]++;
- StartStatusInflictionScreenFade(0, 0, 3, 2, 2);
+ StartStatusInflictionScreenFlash(0, 0, 3, 2, 2);
}
else
{
- if (IsStatusInflictionScreenFadeTaskFinished())
+ if (IsStatusInflictionScreenFlashTaskFinished())
{
EnableBothScriptContexts();
DestroyTask(taskId);
@@ -1298,7 +1288,7 @@ static void TryHealMons(u8 healCount)
{
canBeHealed = TRUE;
}
- else if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) != 0)
+ else if (GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) != AILMENT_NONE)
{
canBeHealed = TRUE;
}
@@ -1335,8 +1325,8 @@ static void GetInBattlePike(void)
bool8 InBattlePike(void)
{
return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM
- || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1
- || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3
+ || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
+ || gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS
|| gMapHeader.mapLayoutId == LAYOUT_UNKNOWN_084693AC;
}
@@ -1345,10 +1335,10 @@ static void SetHintedRoom(void)
u8 i, count, id;
u8 *roomCandidates;
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
if (GetPikeQueenFightType(1))
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 6;
gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_BRAIN;
}
@@ -1356,9 +1346,9 @@ static void SetHintedRoom(void)
{
gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 3;
if (gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled)
- count = 6;
+ count = NUM_PIKE_ROOM_TYPES - 3; // exclude healing rooms and Brain room
else
- count = 8;
+ count = NUM_PIKE_ROOM_TYPES - 1; // exclude Brain room
roomCandidates = AllocZeroed(count);
for (i = 0, id = 0; i < count; i++)
@@ -1385,9 +1375,6 @@ static void SetHintedRoom(void)
static void GetHintedRoomIndex(void)
{
- // 0 = left room
- // 1 = center room
- // 2 = right room
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeHintedRoomIndex;
}
@@ -1413,7 +1400,7 @@ static void PrepareOneTrainer(bool8 difficult)
challengeNum = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] / 14;
do
{
- trainerId = sub_8162548(challengeNum, battleNum);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum, battleNum);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -1438,7 +1425,7 @@ static void PrepareTwoTrainers(void)
gFacilityTrainers = gBattleFrontierTrainers;
do
{
- trainerId = sub_8162548(challengeNum, 1);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 1);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -1453,7 +1440,7 @@ static void PrepareTwoTrainers(void)
do
{
- trainerId = sub_8162548(challengeNum, 1);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 1);
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -1475,16 +1462,16 @@ static void ClearPikeTrainerIds(void)
gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
}
-static void BufferRecordMixingTrainerMessage(void)
+static void BufferTrainerIntro(void)
{
if (gSpecialVar_0x8005 == 0)
{
- if (gTrainerBattleOpponent_A < TRAINER_RECORD_MIXING_FRIEND)
+ if (gTrainerBattleOpponent_A < FRONTIER_TRAINERS_COUNT)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
else if (gSpecialVar_0x8005 == 1)
{
- if (gTrainerBattleOpponent_B < TRAINER_RECORD_MIXING_FRIEND)
+ if (gTrainerBattleOpponent_B < FRONTIER_TRAINERS_COUNT)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_B].speechBefore);
}
}
@@ -1512,8 +1499,8 @@ static u8 GetPikeQueenFightType(u8 nextRoom)
{
u8 numPikeSymbols;
- u8 var = 5;
- u8 ret = 0;
+ u8 facility = FRONTIER_FACILITY_PIKE;
+ u8 ret = FRONTIER_BRAIN_NOT_READY;
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
winStreak += nextRoom;
@@ -1523,17 +1510,17 @@ static u8 GetPikeQueenFightType(u8 nextRoom)
{
case 0:
case 1:
- if (winStreak == sPikeQueenWinStreakAppearances[var][numPikeSymbols] - sPikeQueenWinStreakAppearances[var][3])
- ret = numPikeSymbols + 1;
+ if (winStreak == sFrontierBrainStreakAppearances[facility][numPikeSymbols] - sFrontierBrainStreakAppearances[facility][3])
+ ret = numPikeSymbols + 1; // FRONTIER_BRAIN_SILVER and FRONTIER_BRAIN_GOLD
break;
case 2:
default:
- if (winStreak == sPikeQueenWinStreakAppearances[var][0] - sPikeQueenWinStreakAppearances[var][3])
- ret = 3;
- else if (winStreak == sPikeQueenWinStreakAppearances[var][1] - sPikeQueenWinStreakAppearances[var][3]
- || (winStreak > sPikeQueenWinStreakAppearances[var][1]
- && (winStreak - sPikeQueenWinStreakAppearances[var][1] + sPikeQueenWinStreakAppearances[var][3]) % sPikeQueenWinStreakAppearances[var][2] == 0))
- ret = 4;
+ if (winStreak == sFrontierBrainStreakAppearances[facility][0] - sFrontierBrainStreakAppearances[facility][3])
+ ret = FRONTIER_BRAIN_STREAK;
+ else if (winStreak == sFrontierBrainStreakAppearances[facility][1] - sFrontierBrainStreakAppearances[facility][3]
+ || (winStreak > sFrontierBrainStreakAppearances[facility][1]
+ && (winStreak - sFrontierBrainStreakAppearances[facility][1] + sFrontierBrainStreakAppearances[facility][3]) % sFrontierBrainStreakAppearances[facility][2] == 0))
+ ret = FRONTIER_BRAIN_STREAK_LONG;
break;
}
@@ -1553,23 +1540,23 @@ static void HealSomeMonsBeforePikeQueen(void)
gSpecialVar_Result = toHealCount;
}
-static void SetHealingRoomsDisabled(void)
+static void SetHealingroomTypesDisabled(void)
{
gSaveBlock2Ptr->frontier.pikeHealingRoomsDisabled = gSpecialVar_0x8005;
}
-static void CanAnyPartyMonsBeHealed(void)
+static void IsPartyFullHealed(void)
{
u8 i, j;
gSpecialVar_Result = TRUE;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
bool32 canBeHealed = FALSE;
struct Pokemon *mon = &gPlayerParty[i];
u16 curr = GetMonData(mon, MON_DATA_HP);
u16 max = GetMonData(mon, MON_DATA_MAX_HP);
- if (curr >= max && pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0)
+ if (curr >= max && GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS)) == AILMENT_NONE)
{
u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
for (j = 0; j < MAX_MON_MOVES; j++)
@@ -1597,11 +1584,11 @@ static void CanAnyPartyMonsBeHealed(void)
}
}
-static void BackupMonHeldItems(void)
+static void SaveMonHeldItems(void)
{
u8 i;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
int heldItem = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
MON_DATA_HELD_ITEM);
@@ -1613,7 +1600,7 @@ static void RestoreMonHeldItems(void)
{
u8 i;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
SetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
MON_DATA_HELD_ITEM,
@@ -1625,10 +1612,10 @@ static void InitPikeChallenge(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
- if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612690[lvlMode]))
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
+ if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[lvlMode]))
gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] = 0;
gTrainerBattleOpponent_A = 0;
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index cc722da8d..9fa6beb1d 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -23,12 +23,14 @@
#include "main.h"
#include "load_save.h"
#include "script.h"
-#include "alloc.h"
+#include "malloc.h"
#include "overworld.h"
#include "event_scripts.h"
#include "constants/battle_frontier.h"
+#include "constants/battle_pyramid.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
+#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/layouts.h"
#include "constants/maps.h"
@@ -39,45 +41,14 @@
extern const struct MapLayout *const gMapLayouts[];
extern const u16 gUnknown_08D856C8[][16];
-#define TOTAL_ROUNDS 20
-#define PICKUP_ITEMS_PER_ROUND 10
-#define FLOOR_WALKABLE_METATILE 0x28D
-#define FLOOR_EXIT_METATILE 0x28E
-enum
-{
- HINT_EXIT_DIRECTION,
- HINT_REMAINING_ITEMS,
- HINT_REMAINING_TRAINERS,
- HINT_EXIT_SHORT_REMAINING_TRAINERS,
- HINT_EXIT_SHORT_REMAINING_ITEMS,
- HINT_EXIT_MEDIUM_REMAINING_TRAINERS,
- HINT_EXIT_MEDIUM_REMAINING_ITEMS,
- HINT_EXIT_FAR_REMAINING_TRAINERS,
- HINT_EXIT_FAR_REMAINING_ITEMS,
-};
-
-enum
-{
- OBJ_TRAINERS,
- OBJ_ITEMS,
-};
-
-enum
-{
- OBJ_POSITIONS_UNIFORM,
- OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE,
- OBJ_POSITIONS_IN_AND_NEAR_EXIT,
- OBJ_POSITIONS_NEAR_ENTRANCE,
- OBJ_POSITIONS_NEAR_EXIT,
-};
struct PyramidWildMon
{
u16 species;
u8 lvl;
u8 abilityNum;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
};
struct PyramidFloorTemplate
@@ -100,20 +71,20 @@ struct PyramidTrainerEncounterMusic
static void InitPyramidChallenge(void);
static void GetBattlePyramidData(void);
static void SetBattlePyramidData(void);
-static void sub_81A9134(void);
-static void SetBattlePyramidRewardItem(void);
-static void GiveBattlePyramidRewardItem(void);
+static void SavePyramidChallenge(void);
+static void SetBattlePyramidPrize(void);
+static void GiveBattlePyramidPrize(void);
static void SeedPyramidFloor(void);
static void SetPickupItem(void);
static void HidePyramidItem(void);
-static void InitPyramidFacilityTrainers(void);
+static void SetPyramidFacilityTrainers(void);
static void ShowPostBattleHintText(void);
static void UpdatePyramidWinStreak(void);
static void GetInBattlePyramid(void);
static void UpdatePyramidLightRadius(void);
static void ClearPyramidPartyHeldItems(void);
static void SetPyramidFloorPalette(void);
-static void sub_81A9828(void);
+static void BattlePyramidStartMenu(void);
static void RestorePyramidPlayerParty(void);
static void InitPyramidBagItems(u8 lvlMode);
static u8 GetPyramidFloorTemplateId(void);
@@ -544,7 +515,7 @@ static const u8 sTrainerTextGroups[50][2] =
{FACILITY_CLASS_SAILOR, 2},
{FACILITY_CLASS_COLLECTOR, 2},
{FACILITY_CLASS_PKMN_BREEDER_M, 2},
- {FACILITY_CLASS_POKEMON_BREEDER_F, 3},
+ {FACILITY_CLASS_PKMN_BREEDER_F, 3},
{FACILITY_CLASS_PKMN_RANGER_M, 2},
{FACILITY_CLASS_PKMN_RANGER_F, 3},
{FACILITY_CLASS_LASS, 3},
@@ -554,200 +525,200 @@ static const u8 sTrainerTextGroups[50][2] =
static const u8 *const sExitDirectionHintTexts1[] =
{
- BattlePyramid_ExitHintUp_Text1,
- BattlePyramid_ExitHintLeft_Text1,
- BattlePyramid_ExitHintRight_Text1,
- BattlePyramid_ExitHintDown_Text1,
+ BattlePyramid_Text_ExitHintUp1,
+ BattlePyramid_Text_ExitHintLeft1,
+ BattlePyramid_Text_ExitHintRight1,
+ BattlePyramid_Text_ExitHintDown1,
};
static const u8 *const sRemainingItemsHintTexts1[] =
{
- BattlePyramid_ZeroItemsRemaining_Text1,
- BattlePyramid_OneItemRemaining_Text1,
- BattlePyramid_TwoItemsRemaining_Text1,
- BattlePyramid_ThreeItemsRemaining_Text1,
- BattlePyramid_FourItemsRemaining_Text1,
- BattlePyramid_FiveItemsRemaining_Text1,
- BattlePyramid_SixItemsRemaining_Text1,
- BattlePyramid_SevenItemsRemaining_Text1,
- BattlePyramid_EightItemsRemaining_Text1,
+ BattlePyramid_Text_ZeroItemsRemaining1,
+ BattlePyramid_Text_OneItemRemaining1,
+ BattlePyramid_Text_TwoItemsRemaining1,
+ BattlePyramid_Text_ThreeItemsRemaining1,
+ BattlePyramid_Text_FourItemsRemaining1,
+ BattlePyramid_Text_FiveItemsRemaining1,
+ BattlePyramid_Text_SixItemsRemaining1,
+ BattlePyramid_Text_SevenItemsRemaining1,
+ BattlePyramid_Text_EightItemsRemaining1,
};
static const u8 *const sRemainingTrainersHintTexts1[] =
{
- BattlePyramid_ZeroTrainersRemaining_Text1,
- BattlePyramid_OneTrainersRemaining_Text1,
- BattlePyramid_TwoTrainersRemaining_Text1,
- BattlePyramid_ThreeTrainersRemaining_Text1,
- BattlePyramid_FourTrainersRemaining_Text1,
- BattlePyramid_FiveTrainersRemaining_Text1,
- BattlePyramid_SixTrainersRemaining_Text1,
- BattlePyramid_SevenTrainersRemaining_Text1,
+ BattlePyramid_Text_ZeroTrainersRemaining1,
+ BattlePyramid_Text_OneTrainersRemaining1,
+ BattlePyramid_Text_TwoTrainersRemaining1,
+ BattlePyramid_Text_ThreeTrainersRemaining1,
+ BattlePyramid_Text_FourTrainersRemaining1,
+ BattlePyramid_Text_FiveTrainersRemaining1,
+ BattlePyramid_Text_SixTrainersRemaining1,
+ BattlePyramid_Text_SevenTrainersRemaining1,
};
static const u8 *const sExitDirectionHintTexts2[] =
{
- BattlePyramid_ExitHintUp_Text2,
- BattlePyramid_ExitHintLeft_Text2,
- BattlePyramid_ExitHintRight_Text2,
- BattlePyramid_ExitHintDown_Text2,
+ BattlePyramid_Text_ExitHintUp2,
+ BattlePyramid_Text_ExitHintLeft2,
+ BattlePyramid_Text_ExitHintRight2,
+ BattlePyramid_Text_ExitHintDown2,
};
static const u8 *const sRemainingItemsHintTexts2[] =
{
- BattlePyramid_ZeroItemsRemaining_Text2,
- BattlePyramid_OneItemRemaining_Text2,
- BattlePyramid_TwoItemsRemaining_Text2,
- BattlePyramid_ThreeItemsRemaining_Text2,
- BattlePyramid_FourItemsRemaining_Text2,
- BattlePyramid_FiveItemsRemaining_Text2,
- BattlePyramid_SixItemsRemaining_Text2,
- BattlePyramid_SevenItemsRemaining_Text2,
- BattlePyramid_EightItemsRemaining_Text2,
+ BattlePyramid_Text_ZeroItemsRemaining2,
+ BattlePyramid_Text_OneItemRemaining2,
+ BattlePyramid_Text_TwoItemsRemaining2,
+ BattlePyramid_Text_ThreeItemsRemaining2,
+ BattlePyramid_Text_FourItemsRemaining2,
+ BattlePyramid_Text_FiveItemsRemaining2,
+ BattlePyramid_Text_SixItemsRemaining2,
+ BattlePyramid_Text_SevenItemsRemaining2,
+ BattlePyramid_Text_EightItemsRemaining2,
};
static const u8 *const sRemainingTrainersHintTexts2[] =
{
- BattlePyramid_ZeroTrainersRemaining_Text2,
- BattlePyramid_OneTrainersRemaining_Text2,
- BattlePyramid_TwoTrainersRemaining_Text2,
- BattlePyramid_ThreeTrainersRemaining_Text2,
- BattlePyramid_FourTrainersRemaining_Text2,
- BattlePyramid_FiveTrainersRemaining_Text2,
- BattlePyramid_SixTrainersRemaining_Text2,
- BattlePyramid_SevenTrainersRemaining_Text2,
+ BattlePyramid_Text_ZeroTrainersRemaining2,
+ BattlePyramid_Text_OneTrainersRemaining2,
+ BattlePyramid_Text_TwoTrainersRemaining2,
+ BattlePyramid_Text_ThreeTrainersRemaining2,
+ BattlePyramid_Text_FourTrainersRemaining2,
+ BattlePyramid_Text_FiveTrainersRemaining2,
+ BattlePyramid_Text_SixTrainersRemaining2,
+ BattlePyramid_Text_SevenTrainersRemaining2,
};
static const u8 *const sExitDirectionHintTexts3[] =
{
- BattlePyramid_ExitHintUp_Text3,
- BattlePyramid_ExitHintLeft_Text3,
- BattlePyramid_ExitHintRight_Text3,
- BattlePyramid_ExitHintDown_Text3,
+ BattlePyramid_Text_ExitHintUp3,
+ BattlePyramid_Text_ExitHintLeft3,
+ BattlePyramid_Text_ExitHintRight3,
+ BattlePyramid_Text_ExitHintDown3,
};
static const u8 *const sRemainingItemsHintTexts3[] =
{
- BattlePyramid_ZeroItemsRemaining_Text3,
- BattlePyramid_OneItemRemaining_Text3,
- BattlePyramid_TwoItemsRemaining_Text3,
- BattlePyramid_ThreeItemsRemaining_Text3,
- BattlePyramid_FourItemsRemaining_Text3,
- BattlePyramid_FiveItemsRemaining_Text3,
- BattlePyramid_SixItemsRemaining_Text3,
- BattlePyramid_SevenItemsRemaining_Text3,
- BattlePyramid_EightItemsRemaining_Text3,
+ BattlePyramid_Text_ZeroItemsRemaining3,
+ BattlePyramid_Text_OneItemRemaining3,
+ BattlePyramid_Text_TwoItemsRemaining3,
+ BattlePyramid_Text_ThreeItemsRemaining3,
+ BattlePyramid_Text_FourItemsRemaining3,
+ BattlePyramid_Text_FiveItemsRemaining3,
+ BattlePyramid_Text_SixItemsRemaining3,
+ BattlePyramid_Text_SevenItemsRemaining3,
+ BattlePyramid_Text_EightItemsRemaining3,
};
static const u8 *const sRemainingTrainersHintTexts3[] =
{
- BattlePyramid_ZeroTrainersRemaining_Text3,
- BattlePyramid_OneTrainersRemaining_Text3,
- BattlePyramid_TwoTrainersRemaining_Text3,
- BattlePyramid_ThreeTrainersRemaining_Text3,
- BattlePyramid_FourTrainersRemaining_Text3,
- BattlePyramid_FiveTrainersRemaining_Text3,
- BattlePyramid_SixTrainersRemaining_Text3,
- BattlePyramid_SevenTrainersRemaining_Text3,
+ BattlePyramid_Text_ZeroTrainersRemaining3,
+ BattlePyramid_Text_OneTrainersRemaining3,
+ BattlePyramid_Text_TwoTrainersRemaining3,
+ BattlePyramid_Text_ThreeTrainersRemaining3,
+ BattlePyramid_Text_FourTrainersRemaining3,
+ BattlePyramid_Text_FiveTrainersRemaining3,
+ BattlePyramid_Text_SixTrainersRemaining3,
+ BattlePyramid_Text_SevenTrainersRemaining3,
};
static const u8 *const sExitDirectionHintTexts4[] =
{
- BattlePyramid_ExitHintUp_Text4,
- BattlePyramid_ExitHintLeft_Text4,
- BattlePyramid_ExitHintRight_Text4,
- BattlePyramid_ExitHintDown_Text4,
+ BattlePyramid_Text_ExitHintUp4,
+ BattlePyramid_Text_ExitHintLeft4,
+ BattlePyramid_Text_ExitHintRight4,
+ BattlePyramid_Text_ExitHintDown4,
};
static const u8 *const sRemainingItemsHintTexts4[] =
{
- BattlePyramid_ZeroItemsRemaining_Text4,
- BattlePyramid_OneItemRemaining_Text4,
- BattlePyramid_TwoItemsRemaining_Text4,
- BattlePyramid_ThreeItemsRemaining_Text4,
- BattlePyramid_FourItemsRemaining_Text4,
- BattlePyramid_FiveItemsRemaining_Text4,
- BattlePyramid_SixItemsRemaining_Text4,
- BattlePyramid_SevenItemsRemaining_Text4,
- BattlePyramid_EightItemsRemaining_Text4,
+ BattlePyramid_Text_ZeroItemsRemaining4,
+ BattlePyramid_Text_OneItemRemaining4,
+ BattlePyramid_Text_TwoItemsRemaining4,
+ BattlePyramid_Text_ThreeItemsRemaining4,
+ BattlePyramid_Text_FourItemsRemaining4,
+ BattlePyramid_Text_FiveItemsRemaining4,
+ BattlePyramid_Text_SixItemsRemaining4,
+ BattlePyramid_Text_SevenItemsRemaining4,
+ BattlePyramid_Text_EightItemsRemaining4,
};
static const u8 *const sRemainingTrainersHintTexts4[] =
{
- BattlePyramid_ZeroTrainersRemaining_Text4,
- BattlePyramid_OneTrainersRemaining_Text4,
- BattlePyramid_TwoTrainersRemaining_Text4,
- BattlePyramid_ThreeTrainersRemaining_Text4,
- BattlePyramid_FourTrainersRemaining_Text4,
- BattlePyramid_FiveTrainersRemaining_Text4,
- BattlePyramid_SixTrainersRemaining_Text4,
- BattlePyramid_SevenTrainersRemaining_Text4,
+ BattlePyramid_Text_ZeroTrainersRemaining4,
+ BattlePyramid_Text_OneTrainersRemaining4,
+ BattlePyramid_Text_TwoTrainersRemaining4,
+ BattlePyramid_Text_ThreeTrainersRemaining4,
+ BattlePyramid_Text_FourTrainersRemaining4,
+ BattlePyramid_Text_FiveTrainersRemaining4,
+ BattlePyramid_Text_SixTrainersRemaining4,
+ BattlePyramid_Text_SevenTrainersRemaining4,
};
static const u8 *const sExitDirectionHintTexts5[] =
{
- BattlePyramid_ExitHintUp_Text5,
- BattlePyramid_ExitHintLeft_Text5,
- BattlePyramid_ExitHintRight_Text5,
- BattlePyramid_ExitHintDown_Text5,
+ BattlePyramid_Text_ExitHintUp5,
+ BattlePyramid_Text_ExitHintLeft5,
+ BattlePyramid_Text_ExitHintRight5,
+ BattlePyramid_Text_ExitHintDown5,
};
static const u8 *const sRemainingItemsHintTexts5[] =
{
- BattlePyramid_ZeroItemsRemaining_Text5,
- BattlePyramid_OneItemRemaining_Text5,
- BattlePyramid_TwoItemsRemaining_Text5,
- BattlePyramid_ThreeItemsRemaining_Text5,
- BattlePyramid_FourItemsRemaining_Text5,
- BattlePyramid_FiveItemsRemaining_Text5,
- BattlePyramid_SixItemsRemaining_Text5,
- BattlePyramid_SevenItemsRemaining_Text5,
- BattlePyramid_EightItemsRemaining_Text5,
+ BattlePyramid_Text_ZeroItemsRemaining5,
+ BattlePyramid_Text_OneItemRemaining5,
+ BattlePyramid_Text_TwoItemsRemaining5,
+ BattlePyramid_Text_ThreeItemsRemaining5,
+ BattlePyramid_Text_FourItemsRemaining5,
+ BattlePyramid_Text_FiveItemsRemaining5,
+ BattlePyramid_Text_SixItemsRemaining5,
+ BattlePyramid_Text_SevenItemsRemaining5,
+ BattlePyramid_Text_EightItemsRemaining5,
};
static const u8 *const sRemainingTrainersHintTexts5[] =
{
- BattlePyramid_ZeroTrainersRemaining_Text5,
- BattlePyramid_OneTrainersRemaining_Text5,
- BattlePyramid_TwoTrainersRemaining_Text5,
- BattlePyramid_ThreeTrainersRemaining_Text5,
- BattlePyramid_FourTrainersRemaining_Text5,
- BattlePyramid_FiveTrainersRemaining_Text5,
- BattlePyramid_SixTrainersRemaining_Text5,
- BattlePyramid_SevenTrainersRemaining_Text5,
+ BattlePyramid_Text_ZeroTrainersRemaining5,
+ BattlePyramid_Text_OneTrainersRemaining5,
+ BattlePyramid_Text_TwoTrainersRemaining5,
+ BattlePyramid_Text_ThreeTrainersRemaining5,
+ BattlePyramid_Text_FourTrainersRemaining5,
+ BattlePyramid_Text_FiveTrainersRemaining5,
+ BattlePyramid_Text_SixTrainersRemaining5,
+ BattlePyramid_Text_SevenTrainersRemaining5,
};
static const u8 *const sExitDirectionHintTexts6[] =
{
- BattlePyramid_ExitHintUp_Text6,
- BattlePyramid_ExitHintLeft_Text6,
- BattlePyramid_ExitHintRight_Text6,
- BattlePyramid_ExitHintDown_Text6,
+ BattlePyramid_Text_ExitHintUp6,
+ BattlePyramid_Text_ExitHintLeft6,
+ BattlePyramid_Text_ExitHintRight6,
+ BattlePyramid_Text_ExitHintDown6,
};
static const u8 *const sRemainingItemsHintTexts6[] =
{
- BattlePyramid_ZeroItemsRemaining_Text6,
- BattlePyramid_OneItemRemaining_Text6,
- BattlePyramid_TwoItemsRemaining_Text6,
- BattlePyramid_ThreeItemsRemaining_Text6,
- BattlePyramid_FourItemsRemaining_Text6,
- BattlePyramid_FiveItemsRemaining_Text6,
- BattlePyramid_SixItemsRemaining_Text6,
- BattlePyramid_SevenItemsRemaining_Text6,
- BattlePyramid_EightItemsRemaining_Text6,
+ BattlePyramid_Text_ZeroItemsRemaining6,
+ BattlePyramid_Text_OneItemRemaining6,
+ BattlePyramid_Text_TwoItemsRemaining6,
+ BattlePyramid_Text_ThreeItemsRemaining6,
+ BattlePyramid_Text_FourItemsRemaining6,
+ BattlePyramid_Text_FiveItemsRemaining6,
+ BattlePyramid_Text_SixItemsRemaining6,
+ BattlePyramid_Text_SevenItemsRemaining6,
+ BattlePyramid_Text_EightItemsRemaining6,
};
static const u8 *const sRemainingTrainersHintTexts6[] =
{
- BattlePyramid_ZeroTrainersRemaining_Text6,
- BattlePyramid_OneTrainersRemaining_Text6,
- BattlePyramid_TwoTrainersRemaining_Text6,
- BattlePyramid_ThreeTrainersRemaining_Text6,
- BattlePyramid_FourTrainersRemaining_Text6,
- BattlePyramid_FiveTrainersRemaining_Text6,
- BattlePyramid_SixTrainersRemaining_Text6,
- BattlePyramid_SevenTrainersRemaining_Text6,
+ BattlePyramid_Text_ZeroTrainersRemaining6,
+ BattlePyramid_Text_OneTrainersRemaining6,
+ BattlePyramid_Text_TwoTrainersRemaining6,
+ BattlePyramid_Text_ThreeTrainersRemaining6,
+ BattlePyramid_Text_FourTrainersRemaining6,
+ BattlePyramid_Text_FiveTrainersRemaining6,
+ BattlePyramid_Text_SixTrainersRemaining6,
+ BattlePyramid_Text_SevenTrainersRemaining6,
};
static const u8 *const *const sPostBattleHintTexts1[] =
@@ -816,24 +787,24 @@ static const u8 sHintTextTypes[] =
static void (* const sBattlePyramidFunctions[])(void) =
{
- InitPyramidChallenge,
- GetBattlePyramidData,
- SetBattlePyramidData,
- sub_81A9134,
- SetBattlePyramidRewardItem,
- GiveBattlePyramidRewardItem,
- SeedPyramidFloor,
- SetPickupItem,
- HidePyramidItem,
- InitPyramidFacilityTrainers,
- ShowPostBattleHintText,
- UpdatePyramidWinStreak,
- GetInBattlePyramid,
- UpdatePyramidLightRadius,
- ClearPyramidPartyHeldItems,
- SetPyramidFloorPalette,
- sub_81A9828,
- RestorePyramidPlayerParty,
+ [BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge,
+ [BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData,
+ [BATTLE_PYRAMID_FUNC_SET_DATA] = SetBattlePyramidData,
+ [BATTLE_PYRAMID_FUNC_SAVE] = SavePyramidChallenge,
+ [BATTLE_PYRAMID_FUNC_SET_PRIZE] = SetBattlePyramidPrize,
+ [BATTLE_PYRAMID_FUNC_GIVE_PRIZE] = GiveBattlePyramidPrize,
+ [BATTLE_PYRAMID_FUNC_SEED_FLOOR] = SeedPyramidFloor,
+ [BATTLE_PYRAMID_FUNC_SET_ITEM] = SetPickupItem,
+ [BATTLE_PYRAMID_FUNC_HIDE_ITEM] = HidePyramidItem,
+ [BATTLE_PYRAMID_FUNC_SET_TRAINERS] = SetPyramidFacilityTrainers,
+ [BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT] = ShowPostBattleHintText,
+ [BATTLE_PYRAMID_FUNC_UPDATE_STREAK] = UpdatePyramidWinStreak,
+ [BATTLE_PYRAMID_FUNC_IS_IN] = GetInBattlePyramid,
+ [BATTLE_PYRAMID_FUNC_UPDATE_LIGHT] = UpdatePyramidLightRadius,
+ [BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS] = ClearPyramidPartyHeldItems,
+ [BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE] = SetPyramidFloorPalette,
+ [BATTLE_PYRAMID_FUNC_START_MENU] = BattlePyramidStartMenu,
+ [BATTLE_PYRAMID_FUNC_RESTORE_PARTY] = RestorePyramidPlayerParty,
};
static const u16 sShortStreakRewardItems[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
@@ -872,13 +843,13 @@ static void InitPyramidChallenge(void)
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
+ isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
else
- isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
+ isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
if (!isCurrent)
{
@@ -897,29 +868,29 @@ static void GetBattlePyramidData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidRewardItem;
+ case PYRAMID_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidPrize;
break;
- case 1:
+ case PYRAMID_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
break;
- case 2:
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
else
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
break;
- case 3:
+ case PYRAMID_DATA_WIN_STREAK_50:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
break;
- case 4:
+ case PYRAMID_DATA_WIN_STREAK_OPEN:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
break;
- case 5:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE_50:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
break;
- case 6:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
break;
}
}
@@ -930,59 +901,59 @@ static void SetBattlePyramidData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.pyramidRewardItem = gSpecialVar_0x8006;
+ case PYRAMID_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.pyramidPrize = gSpecialVar_0x8006;
break;
- case 1:
+ case PYRAMID_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= 0x2000;
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PYRAMID_OPEN;
else
- gSaveBlock2Ptr->frontier.field_CDC &= ~(0x2000);
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_OPEN);
}
else
{
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= 0x1000;
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= STREAK_PYRAMID_50;
else
- gSaveBlock2Ptr->frontier.field_CDC &= ~(0x1000);
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_50);
}
break;
- case 7:
+ case PYRAMID_DATA_TRAINER_FLAGS:
gSaveBlock2Ptr->frontier.pyramidTrainerFlags = gSpecialVar_0x8006;
break;
}
}
-static void sub_81A9134(void)
+static void SavePyramidChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
save_serialize_map();
TrySavingData(SAVE_LINK);
}
-static void SetBattlePyramidRewardItem(void)
+static void SetBattlePyramidPrize(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 41)
- gSaveBlock2Ptr->frontier.pyramidRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.pyramidPrize = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
else
- gSaveBlock2Ptr->frontier.pyramidRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.pyramidPrize = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
}
-static void GiveBattlePyramidRewardItem(void)
+static void GiveBattlePyramidPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidRewardItem, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.pyramidRewardItem, gStringVar1);
- gSaveBlock2Ptr->frontier.pyramidRewardItem = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.pyramidPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.pyramidPrize = 0;
gSpecialVar_Result = TRUE;
}
else
@@ -1033,6 +1004,7 @@ static void SetPickupItem(void)
else
gSpecialVar_0x8000 = sPickupItemsLvl50[round][sPickupItemSlots[i][1]];
+ // Quantity of item to give
gSpecialVar_0x8001 = 1;
}
@@ -1057,7 +1029,7 @@ static void HidePyramidItem(void)
}
}
-static void InitPyramidFacilityTrainers(void)
+static void SetPyramidFacilityTrainers(void)
{
gFacilityTrainers = gBattleFrontierTrainers;
}
@@ -1151,10 +1123,10 @@ static void UpdatePyramidLightRadius(void)
{
switch (gSpecialVar_0x8006)
{
- case 0:
+ case PYRAMID_LIGHT_SET_RADIUS:
gSaveBlock2Ptr->frontier.pyramidLightRadius = gSpecialVar_0x8005;
break;
- case 1:
+ case PYRAMID_LIGHT_INCR_RADIUS:
switch (gSpecialVar_Result)
{
case 0:
@@ -1199,7 +1171,7 @@ static void ClearPyramidPartyHeldItems(void)
for (i = 0; i < PARTY_SIZE; i++)
{
- for (j = 0; j < 4; j++)
+ for (j = 0; j < MAX_FRONTIER_PARTY_SIZE; j++)
{
if (gSaveBlock2Ptr->frontier.selectedPartyMons[j] != 0 && gSaveBlock2Ptr->frontier.selectedPartyMons[j] - 1 == i)
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
@@ -1221,19 +1193,20 @@ static void Task_SetPyramidFloorPalette(u8 taskId)
}
}
-static void sub_81A9828(void)
+// Unused. Handled by BuildStartMenuActions
+static void BattlePyramidStartMenu(void)
{
- sub_809FDD4();
+ ShowBattlePyramidStartMenu();
}
static void RestorePyramidPlayerParty(void)
{
int i, j, k, l;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
int partyIndex = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
- for (j = 0; j < 3; j++)
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
if (GetMonData(&gSaveBlock1Ptr->playerParty[partyIndex], MON_DATA_SPECIES, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_SPECIES, NULL))
{
@@ -1254,7 +1227,7 @@ static void RestorePyramidPlayerParty(void)
}
}
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i];
}
@@ -1445,7 +1418,7 @@ u8 GetPyramidRunMultiplier(void)
u8 InBattlePyramid(void)
{
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
return 1;
else if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP)
return 2;
@@ -1455,16 +1428,16 @@ u8 InBattlePyramid(void)
bool8 InBattlePyramid_(void)
{
- return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE
+ return gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR
|| gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP;
}
-void sub_81A9E90(void)
+void PausePyramidChallenge(void)
{
if (InBattlePyramid())
{
RestorePyramidPlayerParty();
- gSaveBlock2Ptr->frontier.field_CA8 = 2;
+ gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_PAUSED;
VarSet(VAR_TEMP_E, 0);
LoadPlayerParty();
}
@@ -1503,9 +1476,10 @@ u8 GetBattlePyramindTrainerEncounterMusicId(u16 trainerId)
return TRAINER_ENCOUNTER_MUSIC_MALE;
}
-void sub_81A9F80(void)
+// Unused
+static void BattlePyramidRetireChallenge(void)
{
- ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88);
+ ScriptContext1_SetupScript(BattlePyramid_Retire);
}
static u16 GetUniqueTrainerId(u8 eventObjectId)
@@ -1519,7 +1493,7 @@ static u16 GetUniqueTrainerId(u8 eventObjectId)
{
do
{
- trainerId = sub_8162548(challengeNum + 1, battleNum);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum + 1, battleNum);
for (i = 0; i < eventObjectId; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -1531,7 +1505,7 @@ static u16 GetUniqueTrainerId(u8 eventObjectId)
{
do
{
- trainerId = sub_8162548(challengeNum, battleNum);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum, battleNum);
for (i = 0; i < eventObjectId; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -1556,7 +1530,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio
{
u16 *map;
int yOffset, xOffset;
- const struct MapLayout *mapLayout = gMapLayouts[floorLayoutOffsets[i] + LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE];
+ const struct MapLayout *mapLayout = gMapLayouts[floorLayoutOffsets[i] + LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR];
const u16 *layoutMap = mapLayout->map;
gBackupMapLayout.map = backupMapData;
diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c
index b4ec6cd62..7c650800b 100644
--- a/src/battle_pyramid_bag.c
+++ b/src/battle_pyramid_bag.c
@@ -17,7 +17,7 @@
#include "list_menu.h"
#include "mail.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"
@@ -39,7 +39,7 @@ EWRAM_DATA struct PyramidBagCursorData gPyramidBagCursorData = {0};
// This file's functions.
static void Task_HandlePyramidBagInput(u8 taskId);
-static void sub_81C4F44(u8 taskId);
+static void Task_ChooseItemsToTossFromPyramidBag(u8 taskId);
static void sub_81C5B4C(u8 taskId);
static void Task_BeginItemSwap(u8 taskId);
static void sub_81C5D20(u8 taskId);
@@ -67,7 +67,7 @@ static void sub_81C700C(void);
static void sub_81C6E98(void);
static void sub_81C6F20(void);
static void sub_81C6404(void);
-static void sub_81C6E1C(void);
+static void CloseBattlePyramidBagTextWindow(void);
static bool8 sub_81C5238(void);
static bool8 sub_81C5078(void);
static void ShowItemImage(u16 itemId, u8 itemSpriteArrayId);
@@ -278,10 +278,10 @@ static const struct WindowTemplate gUnknown_0861F350[] =
static const struct OamData gOamData_861F378 =
{
.y = 0,
- .affineMode = 1,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -346,38 +346,38 @@ void InitBattlePyramidBagCursorPosition(void)
void CB2_PyramidBagMenuFromStartMenu(void)
{
- sub_81C4F98(0, CB2_ReturnToFieldWithOpenMenu);
+ GoToBattlePyramidBagMenu(0, CB2_ReturnToFieldWithOpenMenu);
}
static void sub_81C4F10(void)
{
- sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2);
+ GoToBattlePyramidBagMenu(1, CB2_SetUpReshowBattleScreenAfterMenu2);
}
-void sub_81C4F24(void)
+void ChooseItemsToTossFromPyramidBag(void)
{
ScriptContext2_Enable();
- FadeScreen(1, 0);
- CreateTask(sub_81C4F44, 10);
+ FadeScreen(FADE_TO_BLACK, 0);
+ CreateTask(Task_ChooseItemsToTossFromPyramidBag, 10);
}
-static void sub_81C4F44(u8 taskId)
+static void Task_ChooseItemsToTossFromPyramidBag(u8 taskId)
{
if (!gPaletteFade.active)
{
CleanupOverworldWindowsAndTilemaps();
- gFieldCallback2 = hm_add_c3_without_phase_2;
- sub_81C4F98(3, CB2_ReturnToField);
+ gFieldCallback2 = CB2_FadeFromPartyMenu;
+ GoToBattlePyramidBagMenu(3, CB2_ReturnToField);
DestroyTask(taskId);
}
}
-void sub_81C4F84(void)
+void CB2_ReturnToPyramidBagMenu(void)
{
- sub_81C4F98(4, gPyramidBagCursorData.callback);
+ GoToBattlePyramidBagMenu(4, gPyramidBagCursorData.callback);
}
-void sub_81C4F98(u8 a0, void (*callback)(void))
+void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void))
{
gPyramidBagResources = AllocZeroed(sizeof(*gPyramidBagResources));
@@ -589,7 +589,7 @@ static void PyramidBag_CopyItemName(u8 *dst, u16 itemId)
{
ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, 2);
CopyItemName(itemId, gStringVar2);
- StringExpandPlaceholders(dst, gText_UnkF908Var1Clear7Var2);
+ StringExpandPlaceholders(dst, gText_NumberVar1Clear7Var2);
}
else
{
@@ -809,7 +809,7 @@ static void sub_81C5AB8(u8 y, u8 arg1)
PrintOnWindow_Font1(0, gText_SelectorArrow2, 0, y, 0, 0, 0, arg1);
}
-void sub_81C5B14(u8 taskId)
+void CloseBattlePyramidBagAndSetCallback(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = sub_81C5B4C;
@@ -862,7 +862,7 @@ static void Task_HandlePyramidBagInput(u8 taskId)
case LIST_CANCEL:
PlaySE(SE_SELECT);
gSpecialVar_ItemId = 0;
- sub_81C5B14(taskId);
+ CloseBattlePyramidBagAndSetCallback(taskId);
break;
default:
PlaySE(SE_SELECT);
@@ -981,7 +981,7 @@ static void HandleMenuActionInput(u8 taskId)
sub_8199134(0, 1);
}
}
- else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1)
+ else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED)
{
if (id & 1 && IsValidMenuAction(id - 1))
{
@@ -989,7 +989,7 @@ static void HandleMenuActionInput(u8 taskId)
sub_8199134(-1, 0);
}
}
- else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2)
+ else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED)
{
if (!(id & 1) && IsValidMenuAction(id + 1))
{
@@ -1043,7 +1043,7 @@ static void BagAction_UseOnField(u8 taskId)
|| ItemIsMail(gSpecialVar_ItemId) == TRUE)
{
sub_81C61A8();
- DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714);
+ DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage);
}
else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL)
{
@@ -1202,8 +1202,8 @@ static void BagAction_Give(u8 taskId)
}
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
{
- gPyramidBagResources->callback2 = sub_81B7F60;
- sub_81C5B14(taskId);
+ gPyramidBagResources->callback2 = CB2_ChooseMonToGiveItem;
+ CloseBattlePyramidBagAndSetCallback(taskId);
}
else
{
@@ -1223,15 +1223,15 @@ static void sub_81C66EC(u8 taskId)
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- sub_81C6714(taskId);
+ Task_CloseBattlePyramidBagMessage(taskId);
}
}
-void sub_81C6714(u8 taskId)
+void Task_CloseBattlePyramidBagMessage(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- sub_81C6E1C();
+ CloseBattlePyramidBagTextWindow();
PrintItemDescription(data[1]);
sub_81C5A98(data[0], 0);
SetTaskToMainPyramidBagInputHandler(taskId);
@@ -1242,7 +1242,7 @@ static void sub_81C674C(u8 taskId)
if (!itemid_80BF6D8_mail_related(gSpecialVar_ItemId))
DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, sub_81C66EC);
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
- sub_81C5B14(taskId);
+ CloseBattlePyramidBagAndSetCallback(taskId);
else
sub_81C66AC(taskId);
}
@@ -1350,7 +1350,7 @@ static void sub_81C6A14(u8 taskId)
SetTaskToMainPyramidBagInputHandler(taskId);
}
-void sub_81C6A94(void)
+void TryStoreHeldItemsInPyramidBag(void)
{
u8 i;
struct Pokemon *party = gPlayerParty;
@@ -1363,8 +1363,9 @@ void sub_81C6A94(void)
for (i = 0; i < 3; i++)
{
heldItem = GetMonData(&party[i], MON_DATA_HELD_ITEM);
- if (heldItem != 0 && !AddBagItem(heldItem, 1))
+ if (heldItem != ITEM_NONE && !AddBagItem(heldItem, 1))
{
+ // Cant store party held items in pyramid bag because bag is full
memcpy(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode], newItems, PYRAMID_BAG_ITEMS_COUNT * sizeof(u16));
memcpy(gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode], newQuantities, PYRAMID_BAG_ITEMS_COUNT * sizeof(u8));
Free(newItems);
@@ -1374,7 +1375,7 @@ void sub_81C6A94(void)
}
}
- heldItem = 0;
+ heldItem = ITEM_NONE;
for (i = 0; i < 3; i++)
{
SetMonData(&party[i], MON_DATA_HELD_ITEM, &heldItem);
@@ -1461,7 +1462,7 @@ void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback
schedule_bg_copy_tilemap_to_vram(1);
}
-static void sub_81C6E1C(void)
+static void CloseBattlePyramidBagTextWindow(void)
{
ClearDialogWindowAndFrameToTransparent(2, FALSE);
// This ClearWindowTilemap call is redundant, since ClearDialogWindowAndFrameToTransparent already calls it.
diff --git a/src/battle_records.c b/src/battle_records.c
index 3d4cabcb0..ccd16e219 100644
--- a/src/battle_records.c
+++ b/src/battle_records.c
@@ -18,7 +18,7 @@
#include "international_string_util.h"
#include "sound.h"
#include "constants/songs.h"
-#include "alloc.h"
+#include "malloc.h"
#include "gpu_regs.h"
#include "constants/game_stat.h"
#include "trainer_hill.h"
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 5016a3a58..8924c6729 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -52,6 +52,7 @@
#include "menu_specialized.h"
#include "constants/rgb.h"
#include "data.h"
+#include "constants/party_menu.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
@@ -76,507 +77,507 @@ static void PutLevelAndGenderOnLvlUpBox(void);
static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite);
-static void atk00_attackcanceler(void);
-static void atk01_accuracycheck(void);
-static void atk02_attackstring(void);
-static void atk03_ppreduce(void);
-static void atk04_critcalc(void);
-static void atk05_damagecalc(void);
-static void atk06_typecalc(void);
-static void atk07_adjustnormaldamage(void);
-static void atk08_adjustnormaldamage2(void);
-static void atk09_attackanimation(void);
-static void atk0A_waitanimation(void);
-static void atk0B_healthbarupdate(void);
-static void atk0C_datahpupdate(void);
-static void atk0D_critmessage(void);
-static void atk0E_effectivenesssound(void);
-static void atk0F_resultmessage(void);
-static void atk10_printstring(void);
-static void atk11_printselectionstring(void);
-static void atk12_waitmessage(void);
-static void atk13_printfromtable(void);
-static void atk14_printselectionstringfromtable(void);
-static void atk15_seteffectwithchance(void);
-static void atk16_seteffectprimary(void);
-static void atk17_seteffectsecondary(void);
-static void atk18_clearstatusfromeffect(void);
-static void atk19_tryfaintmon(void);
-static void atk1A_dofaintanimation(void);
-static void atk1B_cleareffectsonfaint(void);
-static void atk1C_jumpifstatus(void);
-static void atk1D_jumpifstatus2(void);
-static void atk1E_jumpifability(void);
-static void atk1F_jumpifsideaffecting(void);
-static void atk20_jumpifstat(void);
-static void atk21_jumpifstatus3condition(void);
-static void atk22_jumpiftype(void);
-static void atk23_getexp(void);
-static void atk24(void);
-static void atk25_movevaluescleanup(void);
-static void atk26_setmultihit(void);
-static void atk27_decrementmultihit(void);
-static void atk28_goto(void);
-static void atk29_jumpifbyte(void);
-static void atk2A_jumpifhalfword(void);
-static void atk2B_jumpifword(void);
-static void atk2C_jumpifarrayequal(void);
-static void atk2D_jumpifarraynotequal(void);
-static void atk2E_setbyte(void);
-static void atk2F_addbyte(void);
-static void atk30_subbyte(void);
-static void atk31_copyarray(void);
-static void atk32_copyarraywithindex(void);
-static void atk33_orbyte(void);
-static void atk34_orhalfword(void);
-static void atk35_orword(void);
-static void atk36_bicbyte(void);
-static void atk37_bichalfword(void);
-static void atk38_bicword(void);
-static void atk39_pause(void);
-static void atk3A_waitstate(void);
-static void atk3B_healthbar_update(void);
-static void atk3C_return(void);
-static void atk3D_end(void);
-static void atk3E_end2(void);
-static void atk3F_end3(void);
-static void atk40_jumpifaffectedbyprotect(void);
-static void atk41_call(void);
-static void atk42_jumpiftype2(void);
-static void atk43_jumpifabilitypresent(void);
-static void atk44_endselectionscript(void);
-static void atk45_playanimation(void);
-static void atk46_playanimation2(void);
-static void atk47_setgraphicalstatchangevalues(void);
-static void atk48_playstatchangeanimation(void);
-static void atk49_moveend(void);
-static void atk4A_typecalc2(void);
-static void atk4B_returnatktoball(void);
-static void atk4C_getswitchedmondata(void);
-static void atk4D_switchindataupdate(void);
-static void atk4E_switchinanim(void);
-static void atk4F_jumpifcantswitch(void);
-static void atk50_openpartyscreen(void);
-static void atk51_switchhandleorder(void);
-static void atk52_switchineffects(void);
-static void atk53_trainerslidein(void);
-static void atk54_playse(void);
-static void atk55_fanfare(void);
-static void atk56_playfaintcry(void);
-static void atk57(void);
-static void atk58_returntoball(void);
-static void atk59_handlelearnnewmove(void);
-static void atk5A_yesnoboxlearnmove(void);
-static void atk5B_yesnoboxstoplearningmove(void);
-static void atk5C_hitanimation(void);
-static void atk5D_getmoneyreward(void);
-static void atk5E(void);
-static void atk5F_swapattackerwithtarget(void);
-static void atk60_incrementgamestat(void);
-static void atk61_drawpartystatussummary(void);
-static void atk62_hidepartystatussummary(void);
-static void atk63_jumptocalledmove(void);
-static void atk64_statusanimation(void);
-static void atk65_status2animation(void);
-static void atk66_chosenstatusanimation(void);
-static void atk67_yesnobox(void);
-static void atk68_cancelallactions(void);
-static void atk69_adjustsetdamage(void);
-static void atk6A_removeitem(void);
-static void atk6B_atknameinbuff1(void);
-static void atk6C_drawlvlupbox(void);
-static void atk6D_resetsentmonsvalue(void);
-static void atk6E_setatktoplayer0(void);
-static void atk6F_makevisible(void);
-static void atk70_recordlastability(void);
-static void atk71_buffermovetolearn(void);
-static void atk72_jumpifplayerran(void);
-static void atk73_hpthresholds(void);
-static void atk74_hpthresholds2(void);
-static void atk75_useitemonopponent(void);
-static void atk76_various(void);
-static void atk77_setprotectlike(void);
-static void atk78_faintifabilitynotdamp(void);
-static void atk79_setatkhptozero(void);
-static void atk7A_jumpifnexttargetvalid(void);
-static void atk7B_tryhealhalfhealth(void);
-static void atk7C_trymirrormove(void);
-static void atk7D_setrain(void);
-static void atk7E_setreflect(void);
-static void atk7F_setseeded(void);
-static void atk80_manipulatedamage(void);
-static void atk81_trysetrest(void);
-static void atk82_jumpifnotfirstturn(void);
-static void atk83_nop(void);
-static void atk84_jumpifcantmakeasleep(void);
-static void atk85_stockpile(void);
-static void atk86_stockpiletobasedamage(void);
-static void atk87_stockpiletohpheal(void);
-static void atk88_negativedamage(void);
-static void atk89_statbuffchange(void);
-static void atk8A_normalisebuffs(void);
-static void atk8B_setbide(void);
-static void atk8C_confuseifrepeatingattackends(void);
-static void atk8D_setmultihitcounter(void);
-static void atk8E_initmultihitstring(void);
-static void atk8F_forcerandomswitch(void);
-static void atk90_tryconversiontypechange(void);
-static void atk91_givepaydaymoney(void);
-static void atk92_setlightscreen(void);
-static void atk93_tryKO(void);
-static void atk94_damagetohalftargethp(void);
-static void atk95_setsandstorm(void);
-static void atk96_weatherdamage(void);
-static void atk97_tryinfatuating(void);
-static void atk98_updatestatusicon(void);
-static void atk99_setmist(void);
-static void atk9A_setfocusenergy(void);
-static void atk9B_transformdataexecution(void);
-static void atk9C_setsubstitute(void);
-static void atk9D_mimicattackcopy(void);
-static void atk9E_metronome(void);
-static void atk9F_dmgtolevel(void);
-static void atkA0_psywavedamageeffect(void);
-static void atkA1_counterdamagecalculator(void);
-static void atkA2_mirrorcoatdamagecalculator(void);
-static void atkA3_disablelastusedattack(void);
-static void atkA4_trysetencore(void);
-static void atkA5_painsplitdmgcalc(void);
-static void atkA6_settypetorandomresistance(void);
-static void atkA7_setalwayshitflag(void);
-static void atkA8_copymovepermanently(void);
-static void atkA9_trychoosesleeptalkmove(void);
-static void atkAA_setdestinybond(void);
-static void atkAB_trysetdestinybondtohappen(void);
-static void atkAC_remaininghptopower(void);
-static void atkAD_tryspiteppreduce(void);
-static void atkAE_healpartystatus(void);
-static void atkAF_cursetarget(void);
-static void atkB0_trysetspikes(void);
-static void atkB1_setforesight(void);
-static void atkB2_trysetperishsong(void);
-static void atkB3_rolloutdamagecalculation(void);
-static void atkB4_jumpifconfusedandstatmaxed(void);
-static void atkB5_furycuttercalc(void);
-static void atkB6_happinesstodamagecalculation(void);
-static void atkB7_presentdamagecalculation(void);
-static void atkB8_setsafeguard(void);
-static void atkB9_magnitudedamagecalculation(void);
-static void atkBA_jumpifnopursuitswitchdmg(void);
-static void atkBB_setsunny(void);
-static void atkBC_maxattackhalvehp(void);
-static void atkBD_copyfoestats(void);
-static void atkBE_rapidspinfree(void);
-static void atkBF_setdefensecurlbit(void);
-static void atkC0_recoverbasedonsunlight(void);
-static void atkC1_hiddenpowercalc(void);
-static void atkC2_selectfirstvalidtarget(void);
-static void atkC3_trysetfutureattack(void);
-static void atkC4_trydobeatup(void);
-static void atkC5_setsemiinvulnerablebit(void);
-static void atkC6_clearsemiinvulnerablebit(void);
-static void atkC7_setminimize(void);
-static void atkC8_sethail(void);
-static void atkC9_jumpifattackandspecialattackcannotfall(void);
-static void atkCA_setforcedtarget(void);
-static void atkCB_setcharge(void);
-static void atkCC_callterrainattack(void);
-static void atkCD_cureifburnedparalysedorpoisoned(void);
-static void atkCE_settorment(void);
-static void atkCF_jumpifnodamage(void);
-static void atkD0_settaunt(void);
-static void atkD1_trysethelpinghand(void);
-static void atkD2_tryswapitems(void);
-static void atkD3_trycopyability(void);
-static void atkD4_trywish(void);
-static void atkD5_trysetroots(void);
-static void atkD6_doubledamagedealtifdamaged(void);
-static void atkD7_setyawn(void);
-static void atkD8_setdamagetohealthdifference(void);
-static void atkD9_scaledamagebyhealthratio(void);
-static void atkDA_tryswapabilities(void);
-static void atkDB_tryimprison(void);
-static void atkDC_trysetgrudge(void);
-static void atkDD_weightdamagecalculation(void);
-static void atkDE_assistattackselect(void);
-static void atkDF_trysetmagiccoat(void);
-static void atkE0_trysetsnatch(void);
-static void atkE1_trygetintimidatetarget(void);
-static void atkE2_switchoutabilities(void);
-static void atkE3_jumpifhasnohp(void);
-static void atkE4_getsecretpowereffect(void);
-static void atkE5_pickup(void);
-static void atkE6_docastformchangeanimation(void);
-static void atkE7_trycastformdatachange(void);
-static void atkE8_settypebasedhalvers(void);
-static void atkE9_setweatherballtype(void);
-static void atkEA_tryrecycleitem(void);
-static void atkEB_settypetoterrain(void);
-static void atkEC_pursuitrelated(void);
-static void atkEF_snatchsetbattlers(void);
-static void atkEE_removelightscreenreflect(void);
-static void atkEF_handleballthrow(void);
-static void atkF0_givecaughtmon(void);
-static void atkF1_trysetcaughtmondexflags(void);
-static void atkF2_displaydexinfo(void);
-static void atkF3_trygivecaughtmonnick(void);
-static void atkF4_subattackerhpbydmg(void);
-static void atkF5_removeattackerstatus1(void);
-static void atkF6_finishaction(void);
-static void atkF7_finishturn(void);
-static void atkF8_trainerslideout(void);
+static void Cmd_attackcanceler(void);
+static void Cmd_accuracycheck(void);
+static void Cmd_attackstring(void);
+static void Cmd_ppreduce(void);
+static void Cmd_critcalc(void);
+static void Cmd_damagecalc(void);
+static void Cmd_typecalc(void);
+static void Cmd_adjustnormaldamage(void);
+static void Cmd_adjustnormaldamage2(void);
+static void Cmd_attackanimation(void);
+static void Cmd_waitanimation(void);
+static void Cmd_healthbarupdate(void);
+static void Cmd_datahpupdate(void);
+static void Cmd_critmessage(void);
+static void Cmd_effectivenesssound(void);
+static void Cmd_resultmessage(void);
+static void Cmd_printstring(void);
+static void Cmd_printselectionstring(void);
+static void Cmd_waitmessage(void);
+static void Cmd_printfromtable(void);
+static void Cmd_printselectionstringfromtable(void);
+static void Cmd_seteffectwithchance(void);
+static void Cmd_seteffectprimary(void);
+static void Cmd_seteffectsecondary(void);
+static void Cmd_clearstatusfromeffect(void);
+static void Cmd_tryfaintmon(void);
+static void Cmd_dofaintanimation(void);
+static void Cmd_cleareffectsonfaint(void);
+static void Cmd_jumpifstatus(void);
+static void Cmd_jumpifstatus2(void);
+static void Cmd_jumpifability(void);
+static void Cmd_jumpifsideaffecting(void);
+static void Cmd_jumpifstat(void);
+static void Cmd_jumpifstatus3condition(void);
+static void Cmd_jumpiftype(void);
+static void Cmd_getexp(void);
+static void Cmd_unknown_24(void);
+static void Cmd_movevaluescleanup(void);
+static void Cmd_setmultihit(void);
+static void Cmd_decrementmultihit(void);
+static void Cmd_goto(void);
+static void Cmd_jumpifbyte(void);
+static void Cmd_jumpifhalfword(void);
+static void Cmd_jumpifword(void);
+static void Cmd_jumpifarrayequal(void);
+static void Cmd_jumpifarraynotequal(void);
+static void Cmd_setbyte(void);
+static void Cmd_addbyte(void);
+static void Cmd_subbyte(void);
+static void Cmd_copyarray(void);
+static void Cmd_copyarraywithindex(void);
+static void Cmd_orbyte(void);
+static void Cmd_orhalfword(void);
+static void Cmd_orword(void);
+static void Cmd_bicbyte(void);
+static void Cmd_bichalfword(void);
+static void Cmd_bicword(void);
+static void Cmd_pause(void);
+static void Cmd_waitstate(void);
+static void Cmd_healthbar_update(void);
+static void Cmd_return(void);
+static void Cmd_end(void);
+static void Cmd_end2(void);
+static void Cmd_end3(void);
+static void Cmd_jumpifaffectedbyprotect(void);
+static void Cmd_call(void);
+static void Cmd_jumpiftype2(void);
+static void Cmd_jumpifabilitypresent(void);
+static void Cmd_endselectionscript(void);
+static void Cmd_playanimation(void);
+static void Cmd_playanimation2(void);
+static void Cmd_setgraphicalstatchangevalues(void);
+static void Cmd_playstatchangeanimation(void);
+static void Cmd_moveend(void);
+static void Cmd_typecalc2(void);
+static void Cmd_returnatktoball(void);
+static void Cmd_getswitchedmondata(void);
+static void Cmd_switchindataupdate(void);
+static void Cmd_switchinanim(void);
+static void Cmd_jumpifcantswitch(void);
+static void Cmd_openpartyscreen(void);
+static void Cmd_switchhandleorder(void);
+static void Cmd_switchineffects(void);
+static void Cmd_trainerslidein(void);
+static void Cmd_playse(void);
+static void Cmd_fanfare(void);
+static void Cmd_playfaintcry(void);
+static void Cmd_unknown_57(void);
+static void Cmd_returntoball(void);
+static void Cmd_handlelearnnewmove(void);
+static void Cmd_yesnoboxlearnmove(void);
+static void Cmd_yesnoboxstoplearningmove(void);
+static void Cmd_hitanimation(void);
+static void Cmd_getmoneyreward(void);
+static void Cmd_unknown_5E(void);
+static void Cmd_swapattackerwithtarget(void);
+static void Cmd_incrementgamestat(void);
+static void Cmd_drawpartystatussummary(void);
+static void Cmd_hidepartystatussummary(void);
+static void Cmd_jumptocalledmove(void);
+static void Cmd_statusanimation(void);
+static void Cmd_status2animation(void);
+static void Cmd_chosenstatusanimation(void);
+static void Cmd_yesnobox(void);
+static void Cmd_cancelallactions(void);
+static void Cmd_adjustsetdamage(void);
+static void Cmd_removeitem(void);
+static void Cmd_atknameinbuff1(void);
+static void Cmd_drawlvlupbox(void);
+static void Cmd_resetsentmonsvalue(void);
+static void Cmd_setatktoplayer0(void);
+static void Cmd_makevisible(void);
+static void Cmd_recordlastability(void);
+static void Cmd_buffermovetolearn(void);
+static void Cmd_jumpifplayerran(void);
+static void Cmd_hpthresholds(void);
+static void Cmd_hpthresholds2(void);
+static void Cmd_useitemonopponent(void);
+static void Cmd_various(void);
+static void Cmd_setprotectlike(void);
+static void Cmd_faintifabilitynotdamp(void);
+static void Cmd_setatkhptozero(void);
+static void Cmd_jumpifnexttargetvalid(void);
+static void Cmd_tryhealhalfhealth(void);
+static void Cmd_trymirrormove(void);
+static void Cmd_setrain(void);
+static void Cmd_setreflect(void);
+static void Cmd_setseeded(void);
+static void Cmd_manipulatedamage(void);
+static void Cmd_trysetrest(void);
+static void Cmd_jumpifnotfirstturn(void);
+static void Cmd_nop(void);
+static void Cmd_jumpifcantmakeasleep(void);
+static void Cmd_stockpile(void);
+static void Cmd_stockpiletobasedamage(void);
+static void Cmd_stockpiletohpheal(void);
+static void Cmd_negativedamage(void);
+static void Cmd_statbuffchange(void);
+static void Cmd_normalisebuffs(void);
+static void Cmd_setbide(void);
+static void Cmd_confuseifrepeatingattackends(void);
+static void Cmd_setmultihitcounter(void);
+static void Cmd_initmultihitstring(void);
+static void Cmd_forcerandomswitch(void);
+static void Cmd_tryconversiontypechange(void);
+static void Cmd_givepaydaymoney(void);
+static void Cmd_setlightscreen(void);
+static void Cmd_tryKO(void);
+static void Cmd_damagetohalftargethp(void);
+static void Cmd_setsandstorm(void);
+static void Cmd_weatherdamage(void);
+static void Cmd_tryinfatuating(void);
+static void Cmd_updatestatusicon(void);
+static void Cmd_setmist(void);
+static void Cmd_setfocusenergy(void);
+static void Cmd_transformdataexecution(void);
+static void Cmd_setsubstitute(void);
+static void Cmd_mimicattackcopy(void);
+static void Cmd_metronome(void);
+static void Cmd_dmgtolevel(void);
+static void Cmd_psywavedamageeffect(void);
+static void Cmd_counterdamagecalculator(void);
+static void Cmd_mirrorcoatdamagecalculator(void);
+static void Cmd_disablelastusedattack(void);
+static void Cmd_trysetencore(void);
+static void Cmd_painsplitdmgcalc(void);
+static void Cmd_settypetorandomresistance(void);
+static void Cmd_setalwayshitflag(void);
+static void Cmd_copymovepermanently(void);
+static void Cmd_trychoosesleeptalkmove(void);
+static void Cmd_setdestinybond(void);
+static void Cmd_trysetdestinybondtohappen(void);
+static void Cmd_remaininghptopower(void);
+static void Cmd_tryspiteppreduce(void);
+static void Cmd_healpartystatus(void);
+static void Cmd_cursetarget(void);
+static void Cmd_trysetspikes(void);
+static void Cmd_setforesight(void);
+static void Cmd_trysetperishsong(void);
+static void Cmd_rolloutdamagecalculation(void);
+static void Cmd_jumpifconfusedandstatmaxed(void);
+static void Cmd_furycuttercalc(void);
+static void Cmd_happinesstodamagecalculation(void);
+static void Cmd_presentdamagecalculation(void);
+static void Cmd_setsafeguard(void);
+static void Cmd_magnitudedamagecalculation(void);
+static void Cmd_jumpifnopursuitswitchdmg(void);
+static void Cmd_setsunny(void);
+static void Cmd_maxattackhalvehp(void);
+static void Cmd_copyfoestats(void);
+static void Cmd_rapidspinfree(void);
+static void Cmd_setdefensecurlbit(void);
+static void Cmd_recoverbasedonsunlight(void);
+static void Cmd_hiddenpowercalc(void);
+static void Cmd_selectfirstvalidtarget(void);
+static void Cmd_trysetfutureattack(void);
+static void Cmd_trydobeatup(void);
+static void Cmd_setsemiinvulnerablebit(void);
+static void Cmd_clearsemiinvulnerablebit(void);
+static void Cmd_setminimize(void);
+static void Cmd_sethail(void);
+static void Cmd_jumpifattackandspecialattackcannotfall(void);
+static void Cmd_setforcedtarget(void);
+static void Cmd_setcharge(void);
+static void Cmd_callterrainattack(void);
+static void Cmd_cureifburnedparalysedorpoisoned(void);
+static void Cmd_settorment(void);
+static void Cmd_jumpifnodamage(void);
+static void Cmd_settaunt(void);
+static void Cmd_trysethelpinghand(void);
+static void Cmd_tryswapitems(void);
+static void Cmd_trycopyability(void);
+static void Cmd_trywish(void);
+static void Cmd_trysetroots(void);
+static void Cmd_doubledamagedealtifdamaged(void);
+static void Cmd_setyawn(void);
+static void Cmd_setdamagetohealthdifference(void);
+static void Cmd_scaledamagebyhealthratio(void);
+static void Cmd_tryswapabilities(void);
+static void Cmd_tryimprison(void);
+static void Cmd_trysetgrudge(void);
+static void Cmd_weightdamagecalculation(void);
+static void Cmd_assistattackselect(void);
+static void Cmd_trysetmagiccoat(void);
+static void Cmd_trysetsnatch(void);
+static void Cmd_trygetintimidatetarget(void);
+static void Cmd_switchoutabilities(void);
+static void Cmd_jumpifhasnohp(void);
+static void Cmd_getsecretpowereffect(void);
+static void Cmd_pickup(void);
+static void Cmd_docastformchangeanimation(void);
+static void Cmd_trycastformdatachange(void);
+static void Cmd_settypebasedhalvers(void);
+static void Cmd_setweatherballtype(void);
+static void Cmd_tryrecycleitem(void);
+static void Cmd_settypetoterrain(void);
+static void Cmd_pursuitrelated(void);
+static void Cmd_snatchsetbattlers(void);
+static void Cmd_removelightscreenreflect(void);
+static void Cmd_handleballthrow(void);
+static void Cmd_givecaughtmon(void);
+static void Cmd_trysetcaughtmondexflags(void);
+static void Cmd_displaydexinfo(void);
+static void Cmd_trygivecaughtmonnick(void);
+static void Cmd_subattackerhpbydmg(void);
+static void Cmd_removeattackerstatus1(void);
+static void Cmd_finishaction(void);
+static void Cmd_finishturn(void);
+static void Cmd_trainerslideout(void);
void (* const gBattleScriptingCommandsTable[])(void) =
{
- atk00_attackcanceler,
- atk01_accuracycheck,
- atk02_attackstring,
- atk03_ppreduce,
- atk04_critcalc,
- atk05_damagecalc,
- atk06_typecalc,
- atk07_adjustnormaldamage,
- atk08_adjustnormaldamage2,
- atk09_attackanimation,
- atk0A_waitanimation,
- atk0B_healthbarupdate,
- atk0C_datahpupdate,
- atk0D_critmessage,
- atk0E_effectivenesssound,
- atk0F_resultmessage,
- atk10_printstring,
- atk11_printselectionstring,
- atk12_waitmessage,
- atk13_printfromtable,
- atk14_printselectionstringfromtable,
- atk15_seteffectwithchance,
- atk16_seteffectprimary,
- atk17_seteffectsecondary,
- atk18_clearstatusfromeffect,
- atk19_tryfaintmon,
- atk1A_dofaintanimation,
- atk1B_cleareffectsonfaint,
- atk1C_jumpifstatus,
- atk1D_jumpifstatus2,
- atk1E_jumpifability,
- atk1F_jumpifsideaffecting,
- atk20_jumpifstat,
- atk21_jumpifstatus3condition,
- atk22_jumpiftype,
- atk23_getexp,
- atk24,
- atk25_movevaluescleanup,
- atk26_setmultihit,
- atk27_decrementmultihit,
- atk28_goto,
- atk29_jumpifbyte,
- atk2A_jumpifhalfword,
- atk2B_jumpifword,
- atk2C_jumpifarrayequal,
- atk2D_jumpifarraynotequal,
- atk2E_setbyte,
- atk2F_addbyte,
- atk30_subbyte,
- atk31_copyarray,
- atk32_copyarraywithindex,
- atk33_orbyte,
- atk34_orhalfword,
- atk35_orword,
- atk36_bicbyte,
- atk37_bichalfword,
- atk38_bicword,
- atk39_pause,
- atk3A_waitstate,
- atk3B_healthbar_update,
- atk3C_return,
- atk3D_end,
- atk3E_end2,
- atk3F_end3,
- atk40_jumpifaffectedbyprotect,
- atk41_call,
- atk42_jumpiftype2,
- atk43_jumpifabilitypresent,
- atk44_endselectionscript,
- atk45_playanimation,
- atk46_playanimation2,
- atk47_setgraphicalstatchangevalues,
- atk48_playstatchangeanimation,
- atk49_moveend,
- atk4A_typecalc2,
- atk4B_returnatktoball,
- atk4C_getswitchedmondata,
- atk4D_switchindataupdate,
- atk4E_switchinanim,
- atk4F_jumpifcantswitch,
- atk50_openpartyscreen,
- atk51_switchhandleorder,
- atk52_switchineffects,
- atk53_trainerslidein,
- atk54_playse,
- atk55_fanfare,
- atk56_playfaintcry,
- atk57,
- atk58_returntoball,
- atk59_handlelearnnewmove,
- atk5A_yesnoboxlearnmove,
- atk5B_yesnoboxstoplearningmove,
- atk5C_hitanimation,
- atk5D_getmoneyreward,
- atk5E,
- atk5F_swapattackerwithtarget,
- atk60_incrementgamestat,
- atk61_drawpartystatussummary,
- atk62_hidepartystatussummary,
- atk63_jumptocalledmove,
- atk64_statusanimation,
- atk65_status2animation,
- atk66_chosenstatusanimation,
- atk67_yesnobox,
- atk68_cancelallactions,
- atk69_adjustsetdamage,
- atk6A_removeitem,
- atk6B_atknameinbuff1,
- atk6C_drawlvlupbox,
- atk6D_resetsentmonsvalue,
- atk6E_setatktoplayer0,
- atk6F_makevisible,
- atk70_recordlastability,
- atk71_buffermovetolearn,
- atk72_jumpifplayerran,
- atk73_hpthresholds,
- atk74_hpthresholds2,
- atk75_useitemonopponent,
- atk76_various,
- atk77_setprotectlike,
- atk78_faintifabilitynotdamp,
- atk79_setatkhptozero,
- atk7A_jumpifnexttargetvalid,
- atk7B_tryhealhalfhealth,
- atk7C_trymirrormove,
- atk7D_setrain,
- atk7E_setreflect,
- atk7F_setseeded,
- atk80_manipulatedamage,
- atk81_trysetrest,
- atk82_jumpifnotfirstturn,
- atk83_nop,
- atk84_jumpifcantmakeasleep,
- atk85_stockpile,
- atk86_stockpiletobasedamage,
- atk87_stockpiletohpheal,
- atk88_negativedamage,
- atk89_statbuffchange,
- atk8A_normalisebuffs,
- atk8B_setbide,
- atk8C_confuseifrepeatingattackends,
- atk8D_setmultihitcounter,
- atk8E_initmultihitstring,
- atk8F_forcerandomswitch,
- atk90_tryconversiontypechange,
- atk91_givepaydaymoney,
- atk92_setlightscreen,
- atk93_tryKO,
- atk94_damagetohalftargethp,
- atk95_setsandstorm,
- atk96_weatherdamage,
- atk97_tryinfatuating,
- atk98_updatestatusicon,
- atk99_setmist,
- atk9A_setfocusenergy,
- atk9B_transformdataexecution,
- atk9C_setsubstitute,
- atk9D_mimicattackcopy,
- atk9E_metronome,
- atk9F_dmgtolevel,
- atkA0_psywavedamageeffect,
- atkA1_counterdamagecalculator,
- atkA2_mirrorcoatdamagecalculator,
- atkA3_disablelastusedattack,
- atkA4_trysetencore,
- atkA5_painsplitdmgcalc,
- atkA6_settypetorandomresistance,
- atkA7_setalwayshitflag,
- atkA8_copymovepermanently,
- atkA9_trychoosesleeptalkmove,
- atkAA_setdestinybond,
- atkAB_trysetdestinybondtohappen,
- atkAC_remaininghptopower,
- atkAD_tryspiteppreduce,
- atkAE_healpartystatus,
- atkAF_cursetarget,
- atkB0_trysetspikes,
- atkB1_setforesight,
- atkB2_trysetperishsong,
- atkB3_rolloutdamagecalculation,
- atkB4_jumpifconfusedandstatmaxed,
- atkB5_furycuttercalc,
- atkB6_happinesstodamagecalculation,
- atkB7_presentdamagecalculation,
- atkB8_setsafeguard,
- atkB9_magnitudedamagecalculation,
- atkBA_jumpifnopursuitswitchdmg,
- atkBB_setsunny,
- atkBC_maxattackhalvehp,
- atkBD_copyfoestats,
- atkBE_rapidspinfree,
- atkBF_setdefensecurlbit,
- atkC0_recoverbasedonsunlight,
- atkC1_hiddenpowercalc,
- atkC2_selectfirstvalidtarget,
- atkC3_trysetfutureattack,
- atkC4_trydobeatup,
- atkC5_setsemiinvulnerablebit,
- atkC6_clearsemiinvulnerablebit,
- atkC7_setminimize,
- atkC8_sethail,
- atkC9_jumpifattackandspecialattackcannotfall,
- atkCA_setforcedtarget,
- atkCB_setcharge,
- atkCC_callterrainattack,
- atkCD_cureifburnedparalysedorpoisoned,
- atkCE_settorment,
- atkCF_jumpifnodamage,
- atkD0_settaunt,
- atkD1_trysethelpinghand,
- atkD2_tryswapitems,
- atkD3_trycopyability,
- atkD4_trywish,
- atkD5_trysetroots,
- atkD6_doubledamagedealtifdamaged,
- atkD7_setyawn,
- atkD8_setdamagetohealthdifference,
- atkD9_scaledamagebyhealthratio,
- atkDA_tryswapabilities,
- atkDB_tryimprison,
- atkDC_trysetgrudge,
- atkDD_weightdamagecalculation,
- atkDE_assistattackselect,
- atkDF_trysetmagiccoat,
- atkE0_trysetsnatch,
- atkE1_trygetintimidatetarget,
- atkE2_switchoutabilities,
- atkE3_jumpifhasnohp,
- atkE4_getsecretpowereffect,
- atkE5_pickup,
- atkE6_docastformchangeanimation,
- atkE7_trycastformdatachange,
- atkE8_settypebasedhalvers,
- atkE9_setweatherballtype,
- atkEA_tryrecycleitem,
- atkEB_settypetoterrain,
- atkEC_pursuitrelated,
- atkEF_snatchsetbattlers,
- atkEE_removelightscreenreflect,
- atkEF_handleballthrow,
- atkF0_givecaughtmon,
- atkF1_trysetcaughtmondexflags,
- atkF2_displaydexinfo,
- atkF3_trygivecaughtmonnick,
- atkF4_subattackerhpbydmg,
- atkF5_removeattackerstatus1,
- atkF6_finishaction,
- atkF7_finishturn,
- atkF8_trainerslideout
+ Cmd_attackcanceler, //0x0
+ Cmd_accuracycheck, //0x1
+ Cmd_attackstring, //0x2
+ Cmd_ppreduce, //0x3
+ Cmd_critcalc, //0x4
+ Cmd_damagecalc, //0x5
+ Cmd_typecalc, //0x6
+ Cmd_adjustnormaldamage, //0x7
+ Cmd_adjustnormaldamage2, //0x8
+ Cmd_attackanimation, //0x9
+ Cmd_waitanimation, //0xA
+ Cmd_healthbarupdate, //0xB
+ Cmd_datahpupdate, //0xC
+ Cmd_critmessage, //0xD
+ Cmd_effectivenesssound, //0xE
+ Cmd_resultmessage, //0xF
+ Cmd_printstring, //0x10
+ Cmd_printselectionstring, //0x11
+ Cmd_waitmessage, //0x12
+ Cmd_printfromtable, //0x13
+ Cmd_printselectionstringfromtable, //0x14
+ Cmd_seteffectwithchance, //0x15
+ Cmd_seteffectprimary, //0x16
+ Cmd_seteffectsecondary, //0x17
+ Cmd_clearstatusfromeffect, //0x18
+ Cmd_tryfaintmon, //0x19
+ Cmd_dofaintanimation, //0x1A
+ Cmd_cleareffectsonfaint, //0x1B
+ Cmd_jumpifstatus, //0x1C
+ Cmd_jumpifstatus2, //0x1D
+ Cmd_jumpifability, //0x1E
+ Cmd_jumpifsideaffecting, //0x1F
+ Cmd_jumpifstat, //0x20
+ Cmd_jumpifstatus3condition, //0x21
+ Cmd_jumpiftype, //0x22
+ Cmd_getexp, //0x23
+ Cmd_unknown_24, //0x24
+ Cmd_movevaluescleanup, //0x25
+ Cmd_setmultihit, //0x26
+ Cmd_decrementmultihit, //0x27
+ Cmd_goto, //0x28
+ Cmd_jumpifbyte, //0x29
+ Cmd_jumpifhalfword, //0x2A
+ Cmd_jumpifword, //0x2B
+ Cmd_jumpifarrayequal, //0x2C
+ Cmd_jumpifarraynotequal, //0x2D
+ Cmd_setbyte, //0x2E
+ Cmd_addbyte, //0x2F
+ Cmd_subbyte, //0x30
+ Cmd_copyarray, //0x31
+ Cmd_copyarraywithindex, //0x32
+ Cmd_orbyte, //0x33
+ Cmd_orhalfword, //0x34
+ Cmd_orword, //0x35
+ Cmd_bicbyte, //0x36
+ Cmd_bichalfword, //0x37
+ Cmd_bicword, //0x38
+ Cmd_pause, //0x39
+ Cmd_waitstate, //0x3A
+ Cmd_healthbar_update, //0x3B
+ Cmd_return, //0x3C
+ Cmd_end, //0x3D
+ Cmd_end2, //0x3E
+ Cmd_end3, //0x3F
+ Cmd_jumpifaffectedbyprotect, //0x40
+ Cmd_call, //0x41
+ Cmd_jumpiftype2, //0x42
+ Cmd_jumpifabilitypresent, //0x43
+ Cmd_endselectionscript, //0x44
+ Cmd_playanimation, //0x45
+ Cmd_playanimation2, //0x46
+ Cmd_setgraphicalstatchangevalues, //0x47
+ Cmd_playstatchangeanimation, //0x48
+ Cmd_moveend, //0x49
+ Cmd_typecalc2, //0x4A
+ Cmd_returnatktoball, //0x4B
+ Cmd_getswitchedmondata, //0x4C
+ Cmd_switchindataupdate, //0x4D
+ Cmd_switchinanim, //0x4E
+ Cmd_jumpifcantswitch, //0x4F
+ Cmd_openpartyscreen, //0x50
+ Cmd_switchhandleorder, //0x51
+ Cmd_switchineffects, //0x52
+ Cmd_trainerslidein, //0x53
+ Cmd_playse, //0x54
+ Cmd_fanfare, //0x55
+ Cmd_playfaintcry, //0x56
+ Cmd_unknown_57, //0x57
+ Cmd_returntoball, //0x58
+ Cmd_handlelearnnewmove, //0x59
+ Cmd_yesnoboxlearnmove, //0x5A
+ Cmd_yesnoboxstoplearningmove, //0x5B
+ Cmd_hitanimation, //0x5C
+ Cmd_getmoneyreward, //0x5D
+ Cmd_unknown_5E, //0x5E
+ Cmd_swapattackerwithtarget, //0x5F
+ Cmd_incrementgamestat, //0x60
+ Cmd_drawpartystatussummary, //0x61
+ Cmd_hidepartystatussummary, //0x62
+ Cmd_jumptocalledmove, //0x63
+ Cmd_statusanimation, //0x64
+ Cmd_status2animation, //0x65
+ Cmd_chosenstatusanimation, //0x66
+ Cmd_yesnobox, //0x67
+ Cmd_cancelallactions, //0x68
+ Cmd_adjustsetdamage, //0x69
+ Cmd_removeitem, //0x6A
+ Cmd_atknameinbuff1, //0x6B
+ Cmd_drawlvlupbox, //0x6C
+ Cmd_resetsentmonsvalue, //0x6D
+ Cmd_setatktoplayer0, //0x6E
+ Cmd_makevisible, //0x6F
+ Cmd_recordlastability, //0x70
+ Cmd_buffermovetolearn, //0x71
+ Cmd_jumpifplayerran, //0x72
+ Cmd_hpthresholds, //0x73
+ Cmd_hpthresholds2, //0x74
+ Cmd_useitemonopponent, //0x75
+ Cmd_various, //0x76
+ Cmd_setprotectlike, //0x77
+ Cmd_faintifabilitynotdamp, //0x78
+ Cmd_setatkhptozero, //0x79
+ Cmd_jumpifnexttargetvalid, //0x7A
+ Cmd_tryhealhalfhealth, //0x7B
+ Cmd_trymirrormove, //0x7C
+ Cmd_setrain, //0x7D
+ Cmd_setreflect, //0x7E
+ Cmd_setseeded, //0x7F
+ Cmd_manipulatedamage, //0x80
+ Cmd_trysetrest, //0x81
+ Cmd_jumpifnotfirstturn, //0x82
+ Cmd_nop, //0x83
+ Cmd_jumpifcantmakeasleep, //0x84
+ Cmd_stockpile, //0x85
+ Cmd_stockpiletobasedamage, //0x86
+ Cmd_stockpiletohpheal, //0x87
+ Cmd_negativedamage, //0x88
+ Cmd_statbuffchange, //0x89
+ Cmd_normalisebuffs, //0x8A
+ Cmd_setbide, //0x8B
+ Cmd_confuseifrepeatingattackends, //0x8C
+ Cmd_setmultihitcounter, //0x8D
+ Cmd_initmultihitstring, //0x8E
+ Cmd_forcerandomswitch, //0x8F
+ Cmd_tryconversiontypechange, //0x90
+ Cmd_givepaydaymoney, //0x91
+ Cmd_setlightscreen, //0x92
+ Cmd_tryKO, //0x93
+ Cmd_damagetohalftargethp, //0x94
+ Cmd_setsandstorm, //0x95
+ Cmd_weatherdamage, //0x96
+ Cmd_tryinfatuating, //0x97
+ Cmd_updatestatusicon, //0x98
+ Cmd_setmist, //0x99
+ Cmd_setfocusenergy, //0x9A
+ Cmd_transformdataexecution, //0x9B
+ Cmd_setsubstitute, //0x9C
+ Cmd_mimicattackcopy, //0x9D
+ Cmd_metronome, //0x9E
+ Cmd_dmgtolevel, //0x9F
+ Cmd_psywavedamageeffect, //0xA0
+ Cmd_counterdamagecalculator, //0xA1
+ Cmd_mirrorcoatdamagecalculator, //0xA2
+ Cmd_disablelastusedattack, //0xA3
+ Cmd_trysetencore, //0xA4
+ Cmd_painsplitdmgcalc, //0xA5
+ Cmd_settypetorandomresistance, //0xA6
+ Cmd_setalwayshitflag, //0xA7
+ Cmd_copymovepermanently, //0xA8
+ Cmd_trychoosesleeptalkmove, //0xA9
+ Cmd_setdestinybond, //0xAA
+ Cmd_trysetdestinybondtohappen, //0xAB
+ Cmd_remaininghptopower, //0xAC
+ Cmd_tryspiteppreduce, //0xAD
+ Cmd_healpartystatus, //0xAE
+ Cmd_cursetarget, //0xAF
+ Cmd_trysetspikes, //0xB0
+ Cmd_setforesight, //0xB1
+ Cmd_trysetperishsong, //0xB2
+ Cmd_rolloutdamagecalculation, //0xB3
+ Cmd_jumpifconfusedandstatmaxed, //0xB4
+ Cmd_furycuttercalc, //0xB5
+ Cmd_happinesstodamagecalculation, //0xB6
+ Cmd_presentdamagecalculation, //0xB7
+ Cmd_setsafeguard, //0xB8
+ Cmd_magnitudedamagecalculation, //0xB9
+ Cmd_jumpifnopursuitswitchdmg, //0xBA
+ Cmd_setsunny, //0xBB
+ Cmd_maxattackhalvehp, //0xBC
+ Cmd_copyfoestats, //0xBD
+ Cmd_rapidspinfree, //0xBE
+ Cmd_setdefensecurlbit, //0xBF
+ Cmd_recoverbasedonsunlight, //0xC0
+ Cmd_hiddenpowercalc, //0xC1
+ Cmd_selectfirstvalidtarget, //0xC2
+ Cmd_trysetfutureattack, //0xC3
+ Cmd_trydobeatup, //0xC4
+ Cmd_setsemiinvulnerablebit, //0xC5
+ Cmd_clearsemiinvulnerablebit, //0xC6
+ Cmd_setminimize, //0xC7
+ Cmd_sethail, //0xC8
+ Cmd_jumpifattackandspecialattackcannotfall, //0xC9
+ Cmd_setforcedtarget, //0xCA
+ Cmd_setcharge, //0xCB
+ Cmd_callterrainattack, //0xCC
+ Cmd_cureifburnedparalysedorpoisoned, //0xCD
+ Cmd_settorment, //0xCE
+ Cmd_jumpifnodamage, //0xCF
+ Cmd_settaunt, //0xD0
+ Cmd_trysethelpinghand, //0xD1
+ Cmd_tryswapitems, //0xD2
+ Cmd_trycopyability, //0xD3
+ Cmd_trywish, //0xD4
+ Cmd_trysetroots, //0xD5
+ Cmd_doubledamagedealtifdamaged, //0xD6
+ Cmd_setyawn, //0xD7
+ Cmd_setdamagetohealthdifference, //0xD8
+ Cmd_scaledamagebyhealthratio, //0xD9
+ Cmd_tryswapabilities, //0xDA
+ Cmd_tryimprison, //0xDB
+ Cmd_trysetgrudge, //0xDC
+ Cmd_weightdamagecalculation, //0xDD
+ Cmd_assistattackselect, //0xDE
+ Cmd_trysetmagiccoat, //0xDF
+ Cmd_trysetsnatch, //0xE0
+ Cmd_trygetintimidatetarget, //0xE1
+ Cmd_switchoutabilities, //0xE2
+ Cmd_jumpifhasnohp, //0xE3
+ Cmd_getsecretpowereffect, //0xE4
+ Cmd_pickup, //0xE5
+ Cmd_docastformchangeanimation, //0xE6
+ Cmd_trycastformdatachange, //0xE7
+ Cmd_settypebasedhalvers, //0xE8
+ Cmd_setweatherballtype, //0xE9
+ Cmd_tryrecycleitem, //0xEA
+ Cmd_settypetoterrain, //0xEB
+ Cmd_pursuitrelated, //0xEC
+ Cmd_snatchsetbattlers, //0xED
+ Cmd_removelightscreenreflect, //0xEE
+ Cmd_handleballthrow, //0xEF
+ Cmd_givecaughtmon, //0xF0
+ Cmd_trysetcaughtmondexflags, //0xF1
+ Cmd_displaydexinfo, //0xF2
+ Cmd_trygivecaughtmonnick, //0xF3
+ Cmd_subattackerhpbydmg, //0xF4
+ Cmd_removeattackerstatus1, //0xF5
+ Cmd_finishaction, //0xF6
+ Cmd_finishturn, //0xF7
+ Cmd_trainerslideout //0xF8
};
struct StatFractions
@@ -729,10 +730,10 @@ static const u8 sRubyLevelUpStatBoxStats[] =
static const struct OamData sOamData_MonIconOnLvlUpBox =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -917,7 +918,7 @@ static const u8 sUnknown_0831C4F8[] =
0x03, 0x00, 0x00, 0x00
};
-static void atk00_attackcanceler(void)
+static void Cmd_attackcanceler(void)
{
s32 i;
@@ -1029,7 +1030,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move)
gBattlescriptCurrInstr = BS_ptr;
}
-static void atk40_jumpifaffectedbyprotect(void)
+static void Cmd_jumpifaffectedbyprotect(void)
{
if (DEFENDER_IS_PROTECTED)
{
@@ -1101,7 +1102,7 @@ static bool8 AccuracyCalcHelper(u16 move)
return FALSE;
}
-static void atk01_accuracycheck(void)
+static void Cmd_accuracycheck(void)
{
u16 move = T2_READ_16(gBattlescriptCurrInstr + 5);
@@ -1193,7 +1194,7 @@ static void atk01_accuracycheck(void)
}
}
-static void atk02_attackstring(void)
+static void Cmd_attackstring(void)
{
if (gBattleControllerExecFlags)
return;
@@ -1206,7 +1207,7 @@ static void atk02_attackstring(void)
gBattleCommunication[MSG_DISPLAY] = 0;
}
-static void atk03_ppreduce(void)
+static void Cmd_ppreduce(void)
{
s32 ppToDeduct = 1;
@@ -1253,7 +1254,7 @@ static void atk03_ppreduce(void)
gBattlescriptCurrInstr++;
}
-static void atk04_critcalc(void)
+static void Cmd_critcalc(void)
{
u8 holdEffect;
u16 item, critChance;
@@ -1290,7 +1291,7 @@ static void atk04_critcalc(void)
gBattlescriptCurrInstr++;
}
-static void atk05_damagecalc(void)
+static void Cmd_damagecalc(void)
{
u16 sideStatus = gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)];
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove,
@@ -1355,7 +1356,7 @@ static void ModulateDmgByType(u8 multiplier)
}
}
-static void atk06_typecalc(void)
+static void Cmd_typecalc(void)
{
s32 i = 0;
u8 moveType;
@@ -1657,7 +1658,7 @@ static void Unused_ApplyRandomDmgMultiplier(void)
ApplyRandomDmgMultiplier();
}
-static void atk07_adjustnormaldamage(void)
+static void Cmd_adjustnormaldamage(void)
{
u8 holdEffect, param;
@@ -1681,32 +1682,25 @@ static void atk07_adjustnormaldamage(void)
RecordItemEffectBattle(gBattlerTarget, holdEffect);
gSpecialStatuses[gBattlerTarget].focusBanded = 1;
}
- if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)
- goto END;
- if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured
- && !gSpecialStatuses[gBattlerTarget].focusBanded)
- goto END;
-
- if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage)
- goto END;
-
- gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1;
-
- if (gProtectStructs[gBattlerTarget].endured)
+ if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)
+ && (gBattleMoves[gCurrentMove].effect == EFFECT_FALSE_SWIPE || gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded)
+ && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage)
{
- gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
- }
- else if (gSpecialStatuses[gBattlerTarget].focusBanded)
- {
- gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
- gLastUsedItem = gBattleMons[gBattlerTarget].item;
+ gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1;
+ if (gProtectStructs[gBattlerTarget].endured)
+ {
+ gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
+ }
+ else if (gSpecialStatuses[gBattlerTarget].focusBanded)
+ {
+ gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
+ gLastUsedItem = gBattleMons[gBattlerTarget].item;
+ }
}
-
- END:
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
-static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't check for false swipe move effect.
+static void Cmd_adjustnormaldamage2(void) // The same as adjustnormaldamage except it doesn't check for false swipe move effect.
{
u8 holdEffect, param;
@@ -1730,30 +1724,25 @@ static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't
RecordItemEffectBattle(gBattlerTarget, holdEffect);
gSpecialStatuses[gBattlerTarget].focusBanded = 1;
}
- if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)
- goto END;
- if (!gProtectStructs[gBattlerTarget].endured && !gSpecialStatuses[gBattlerTarget].focusBanded)
- goto END;
- if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage)
- goto END;
-
- gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1;
-
- if (gProtectStructs[gBattlerTarget].endured)
- {
- gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
- }
- else if (gSpecialStatuses[gBattlerTarget].focusBanded)
+ if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)
+ && (gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded)
+ && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage)
{
- gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
- gLastUsedItem = gBattleMons[gBattlerTarget].item;
+ gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1;
+ if (gProtectStructs[gBattlerTarget].endured)
+ {
+ gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
+ }
+ else if (gSpecialStatuses[gBattlerTarget].focusBanded)
+ {
+ gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
+ gLastUsedItem = gBattleMons[gBattlerTarget].item;
+ }
}
-
- END:
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
-static void atk09_attackanimation(void)
+static void Cmd_attackanimation(void)
{
if (gBattleControllerExecFlags)
return;
@@ -1807,13 +1796,13 @@ static void atk09_attackanimation(void)
}
}
-static void atk0A_waitanimation(void)
+static void Cmd_waitanimation(void)
{
if (gBattleControllerExecFlags == 0)
gBattlescriptCurrInstr++;
}
-static void atk0B_healthbarupdate(void)
+static void Cmd_healthbarupdate(void)
{
if (gBattleControllerExecFlags)
return;
@@ -1849,7 +1838,7 @@ static void atk0B_healthbarupdate(void)
gBattlescriptCurrInstr += 2;
}
-static void atk0C_datahpupdate(void)
+static void Cmd_datahpupdate(void)
{
u32 moveType;
@@ -1975,7 +1964,7 @@ static void atk0C_datahpupdate(void)
gBattlescriptCurrInstr += 2;
}
-static void atk0D_critmessage(void)
+static void Cmd_critmessage(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -1988,7 +1977,7 @@ static void atk0D_critmessage(void)
}
}
-static void atk0E_effectivenesssound(void)
+static void Cmd_effectivenesssound(void)
{
if (gBattleControllerExecFlags)
return;
@@ -2035,7 +2024,7 @@ static void atk0E_effectivenesssound(void)
gBattlescriptCurrInstr++;
}
-static void atk0F_resultmessage(void)
+static void Cmd_resultmessage(void)
{
u32 stringId = 0;
@@ -2124,7 +2113,7 @@ static void atk0F_resultmessage(void)
gBattlescriptCurrInstr++;
}
-static void atk10_printstring(void)
+static void Cmd_printstring(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -2135,7 +2124,7 @@ static void atk10_printstring(void)
}
}
-static void atk11_printselectionstring(void)
+static void Cmd_printselectionstring(void)
{
gActiveBattler = gBattlerAttacker;
@@ -2146,7 +2135,7 @@ static void atk11_printselectionstring(void)
gBattleCommunication[MSG_DISPLAY] = 1;
}
-static void atk12_waitmessage(void)
+static void Cmd_waitmessage(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -2167,7 +2156,7 @@ static void atk12_waitmessage(void)
}
}
-static void atk13_printfromtable(void)
+static void Cmd_printfromtable(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -2181,7 +2170,7 @@ static void atk13_printfromtable(void)
}
}
-static void atk14_printselectionstringfromtable(void)
+static void Cmd_printselectionstringfromtable(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -2893,7 +2882,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
}
-static void atk15_seteffectwithchance(void)
+static void Cmd_seteffectwithchance(void)
{
u32 percentChance;
@@ -2926,17 +2915,17 @@ static void atk15_seteffectwithchance(void)
gBattleScripting.multihitMoveEffect = 0;
}
-static void atk16_seteffectprimary(void)
+static void Cmd_seteffectprimary(void)
{
SetMoveEffect(TRUE, 0);
}
-static void atk17_seteffectsecondary(void)
+static void Cmd_seteffectsecondary(void)
{
SetMoveEffect(FALSE, 0);
}
-static void atk18_clearstatusfromeffect(void)
+static void Cmd_clearstatusfromeffect(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
@@ -2950,7 +2939,7 @@ static void atk18_clearstatusfromeffect(void)
gBattleScripting.multihitMoveEffect = 0;
}
-static void atk19_tryfaintmon(void)
+static void Cmd_tryfaintmon(void)
{
const u8 *BS_ptr;
@@ -3037,7 +3026,7 @@ static void atk19_tryfaintmon(void)
}
}
-static void atk1A_dofaintanimation(void)
+static void Cmd_dofaintanimation(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -3048,7 +3037,7 @@ static void atk1A_dofaintanimation(void)
}
}
-static void atk1B_cleareffectsonfaint(void)
+static void Cmd_cleareffectsonfaint(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -3066,7 +3055,7 @@ static void atk1B_cleareffectsonfaint(void)
}
}
-static void atk1C_jumpifstatus(void)
+static void Cmd_jumpifstatus(void)
{
u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2);
@@ -3078,7 +3067,7 @@ static void atk1C_jumpifstatus(void)
gBattlescriptCurrInstr += 10;
}
-static void atk1D_jumpifstatus2(void)
+static void Cmd_jumpifstatus2(void)
{
u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2);
@@ -3090,7 +3079,7 @@ static void atk1D_jumpifstatus2(void)
gBattlescriptCurrInstr += 10;
}
-static void atk1E_jumpifability(void)
+static void Cmd_jumpifability(void)
{
u8 battlerId;
u8 ability = gBattlescriptCurrInstr[2];
@@ -3137,7 +3126,7 @@ static void atk1E_jumpifability(void)
}
}
-static void atk1F_jumpifsideaffecting(void)
+static void Cmd_jumpifsideaffecting(void)
{
u8 side;
u16 flags;
@@ -3157,7 +3146,7 @@ static void atk1F_jumpifsideaffecting(void)
gBattlescriptCurrInstr += 8;
}
-static void atk20_jumpifstat(void)
+static void Cmd_jumpifstat(void)
{
u8 ret = 0;
u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
@@ -3197,7 +3186,7 @@ static void atk20_jumpifstat(void)
gBattlescriptCurrInstr += 9;
}
-static void atk21_jumpifstatus3condition(void)
+static void Cmd_jumpifstatus3condition(void)
{
u32 flags;
const u8 *jumpPtr;
@@ -3222,7 +3211,7 @@ static void atk21_jumpifstatus3condition(void)
}
}
-static void atk22_jumpiftype(void)
+static void Cmd_jumpiftype(void)
{
u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
u8 type = gBattlescriptCurrInstr[2];
@@ -3234,7 +3223,7 @@ static void atk22_jumpiftype(void)
gBattlescriptCurrInstr += 7;
}
-static void atk23_getexp(void)
+static void Cmd_getexp(void)
{
u16 item;
s32 i; // also used as stringId
@@ -3246,7 +3235,7 @@ static void atk23_getexp(void)
gBattlerFainted = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1];
- switch (gBattleScripting.atk23_state)
+ switch (gBattleScripting.getexpState)
{
case 0: // check if should receive exp at all
if (GetBattlerSide(gBattlerFainted) != B_SIDE_OPPONENT || (gBattleTypeFlags &
@@ -3258,11 +3247,11 @@ static void atk23_getexp(void)
| BATTLE_TYPE_BATTLE_TOWER
| BATTLE_TYPE_EREADER_TRAINER)))
{
- gBattleScripting.atk23_state = 6; // goto last case
+ gBattleScripting.getexpState = 6; // goto last case
}
else
{
- gBattleScripting.atk23_state++;
+ gBattleScripting.getexpState++;
gBattleStruct->givenExpMons |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]];
}
break;
@@ -3309,7 +3298,7 @@ static void atk23_getexp(void)
gExpShareExp = 0;
}
- gBattleScripting.atk23_state++;
+ gBattleScripting.getexpState++;
gBattleStruct->expGetterMonId = 0;
gBattleStruct->sentInPokes = sentIn;
}
@@ -3327,13 +3316,13 @@ static void atk23_getexp(void)
if (holdEffect != HOLD_EFFECT_EXP_SHARE && !(gBattleStruct->sentInPokes & 1))
{
*(&gBattleStruct->sentInPokes) >>= 1;
- gBattleScripting.atk23_state = 5;
+ gBattleScripting.getexpState = 5;
gBattleMoveDamage = 0; // used for exp
}
else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_LEVEL)
{
*(&gBattleStruct->sentInPokes) >>= 1;
- gBattleScripting.atk23_state = 5;
+ gBattleScripting.getexpState = 5;
gBattleMoveDamage = 0; // used for exp
}
else
@@ -3405,7 +3394,7 @@ static void atk23_getexp(void)
MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species);
}
gBattleStruct->sentInPokes >>= 1;
- gBattleScripting.atk23_state++;
+ gBattleScripting.getexpState++;
}
}
break;
@@ -3426,7 +3415,7 @@ static void atk23_getexp(void)
BtlController_EmitExpUpdate(0, gBattleStruct->expGetterMonId, gBattleMoveDamage);
MarkBattlerForControllerExec(gActiveBattler);
}
- gBattleScripting.atk23_state++;
+ gBattleScripting.getexpState++;
}
break;
case 4: // lvl up if necessary
@@ -3476,27 +3465,27 @@ static void atk23_getexp(void)
gBattleMons[2].spAttack = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK);
}
- gBattleScripting.atk23_state = 5;
+ gBattleScripting.getexpState = 5;
}
else
{
gBattleMoveDamage = 0;
- gBattleScripting.atk23_state = 5;
+ gBattleScripting.getexpState = 5;
}
}
break;
case 5: // looper increment
if (gBattleMoveDamage) // there is exp to give, goto case 3 that gives exp
{
- gBattleScripting.atk23_state = 3;
+ gBattleScripting.getexpState = 3;
}
else
{
gBattleStruct->expGetterMonId++;
if (gBattleStruct->expGetterMonId <= 5)
- gBattleScripting.atk23_state = 2; // loop again
+ gBattleScripting.getexpState = 2; // loop again
else
- gBattleScripting.atk23_state = 6; // we're done
+ gBattleScripting.getexpState = 6; // we're done
}
break;
case 6: // increment instruction
@@ -3512,7 +3501,7 @@ static void atk23_getexp(void)
}
#ifdef NONMATCHING
-static void atk24(void)
+static void Cmd_unknown_24(void)
{
u16 HP_count = 0;
s32 i;
@@ -3595,7 +3584,7 @@ static void atk24(void)
}
#else
NAKED
-static void atk24(void)
+static void Cmd_unknown_24(void)
{
asm("\n\
.syntax unified\n\
@@ -3900,19 +3889,19 @@ static void MoveValuesCleanUp(void)
gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT);
}
-static void atk25_movevaluescleanup(void)
+static void Cmd_movevaluescleanup(void)
{
MoveValuesCleanUp();
gBattlescriptCurrInstr += 1;
}
-static void atk26_setmultihit(void)
+static void Cmd_setmultihit(void)
{
gMultiHitCounter = gBattlescriptCurrInstr[1];
gBattlescriptCurrInstr += 2;
}
-static void atk27_decrementmultihit(void)
+static void Cmd_decrementmultihit(void)
{
if (--gMultiHitCounter == 0)
gBattlescriptCurrInstr += 5;
@@ -3920,12 +3909,12 @@ static void atk27_decrementmultihit(void)
gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
}
-static void atk28_goto(void)
+static void Cmd_goto(void)
{
gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
}
-static void atk29_jumpifbyte(void)
+static void Cmd_jumpifbyte(void)
{
u8 caseID = gBattlescriptCurrInstr[1];
const u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 2);
@@ -3963,7 +3952,7 @@ static void atk29_jumpifbyte(void)
}
}
-static void atk2A_jumpifhalfword(void)
+static void Cmd_jumpifhalfword(void)
{
u8 caseID = gBattlescriptCurrInstr[1];
const u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 2);
@@ -4001,7 +3990,7 @@ static void atk2A_jumpifhalfword(void)
}
}
-static void atk2B_jumpifword(void)
+static void Cmd_jumpifword(void)
{
u8 caseID = gBattlescriptCurrInstr[1];
const u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 2);
@@ -4039,7 +4028,7 @@ static void atk2B_jumpifword(void)
}
}
-static void atk2C_jumpifarrayequal(void)
+static void Cmd_jumpifarrayequal(void)
{
const u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
const u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
@@ -4061,7 +4050,7 @@ static void atk2C_jumpifarrayequal(void)
gBattlescriptCurrInstr = jumpPtr;
}
-static void atk2D_jumpifarraynotequal(void)
+static void Cmd_jumpifarraynotequal(void)
{
u8 equalBytes = 0;
const u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
@@ -4085,7 +4074,7 @@ static void atk2D_jumpifarraynotequal(void)
gBattlescriptCurrInstr += 14;
}
-static void atk2E_setbyte(void)
+static void Cmd_setbyte(void)
{
u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1);
*memByte = gBattlescriptCurrInstr[5];
@@ -4093,21 +4082,21 @@ static void atk2E_setbyte(void)
gBattlescriptCurrInstr += 6;
}
-static void atk2F_addbyte(void)
+static void Cmd_addbyte(void)
{
u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1);
*memByte += gBattlescriptCurrInstr[5];
gBattlescriptCurrInstr += 6;
}
-static void atk30_subbyte(void)
+static void Cmd_subbyte(void)
{
u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1);
*memByte -= gBattlescriptCurrInstr[5];
gBattlescriptCurrInstr += 6;
}
-static void atk31_copyarray(void)
+static void Cmd_copyarray(void)
{
u8* dest = T2_READ_PTR(gBattlescriptCurrInstr + 1);
const u8* src = T2_READ_PTR(gBattlescriptCurrInstr + 5);
@@ -4122,7 +4111,7 @@ static void atk31_copyarray(void)
gBattlescriptCurrInstr += 10;
}
-static void atk32_copyarraywithindex(void)
+static void Cmd_copyarraywithindex(void)
{
u8* dest = T2_READ_PTR(gBattlescriptCurrInstr + 1);
const u8* src = T2_READ_PTR(gBattlescriptCurrInstr + 5);
@@ -4138,14 +4127,14 @@ static void atk32_copyarraywithindex(void)
gBattlescriptCurrInstr += 14;
}
-static void atk33_orbyte(void)
+static void Cmd_orbyte(void)
{
u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1);
*memByte |= gBattlescriptCurrInstr[5];
gBattlescriptCurrInstr += 6;
}
-static void atk34_orhalfword(void)
+static void Cmd_orhalfword(void)
{
u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1);
u16 val = T2_READ_16(gBattlescriptCurrInstr + 5);
@@ -4154,7 +4143,7 @@ static void atk34_orhalfword(void)
gBattlescriptCurrInstr += 7;
}
-static void atk35_orword(void)
+static void Cmd_orword(void)
{
u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1);
u32 val = T2_READ_32(gBattlescriptCurrInstr + 5);
@@ -4163,14 +4152,14 @@ static void atk35_orword(void)
gBattlescriptCurrInstr += 9;
}
-static void atk36_bicbyte(void)
+static void Cmd_bicbyte(void)
{
u8* memByte = T2_READ_PTR(gBattlescriptCurrInstr + 1);
*memByte &= ~(gBattlescriptCurrInstr[5]);
gBattlescriptCurrInstr += 6;
}
-static void atk37_bichalfword(void)
+static void Cmd_bichalfword(void)
{
u16* memHword = T2_READ_PTR(gBattlescriptCurrInstr + 1);
u16 val = T2_READ_16(gBattlescriptCurrInstr + 5);
@@ -4179,7 +4168,7 @@ static void atk37_bichalfword(void)
gBattlescriptCurrInstr += 7;
}
-static void atk38_bicword(void)
+static void Cmd_bicword(void)
{
u32* memWord = T2_READ_PTR(gBattlescriptCurrInstr + 1);
u32 val = T2_READ_32(gBattlescriptCurrInstr + 5);
@@ -4188,7 +4177,7 @@ static void atk38_bicword(void)
gBattlescriptCurrInstr += 9;
}
-static void atk39_pause(void)
+static void Cmd_pause(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -4201,13 +4190,13 @@ static void atk39_pause(void)
}
}
-static void atk3A_waitstate(void)
+static void Cmd_waitstate(void)
{
if (gBattleControllerExecFlags == 0)
gBattlescriptCurrInstr++;
}
-static void atk3B_healthbar_update(void)
+static void Cmd_healthbar_update(void)
{
if (gBattlescriptCurrInstr[1] == BS_TARGET)
gActiveBattler = gBattlerTarget;
@@ -4219,12 +4208,12 @@ static void atk3B_healthbar_update(void)
gBattlescriptCurrInstr += 2;
}
-static void atk3C_return(void)
+static void Cmd_return(void)
{
BattleScriptPop();
}
-static void atk3D_end(void)
+static void Cmd_end(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
BattleArena_AddSkillPoints(gBattlerAttacker);
@@ -4234,13 +4223,13 @@ static void atk3D_end(void)
gCurrentActionFuncId = B_ACTION_TRY_FINISH;
}
-static void atk3E_end2(void)
+static void Cmd_end2(void)
{
gActiveBattler = 0;
gCurrentActionFuncId = B_ACTION_TRY_FINISH;
}
-static void atk3F_end3(void) // pops the main function stack
+static void Cmd_end3(void) // pops the main function stack
{
BattleScriptPop();
if (gBattleResources->battleCallbackStack->size != 0)
@@ -4248,13 +4237,13 @@ static void atk3F_end3(void) // pops the main function stack
gBattleMainFunc = gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size];
}
-static void atk41_call(void)
+static void Cmd_call(void)
{
BattleScriptPush(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
-static void atk42_jumpiftype2(void)
+static void Cmd_jumpiftype2(void)
{
u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
@@ -4264,7 +4253,7 @@ static void atk42_jumpiftype2(void)
gBattlescriptCurrInstr += 7;
}
-static void atk43_jumpifabilitypresent(void)
+static void Cmd_jumpifabilitypresent(void)
{
if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, gBattlescriptCurrInstr[1], 0, 0))
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
@@ -4272,12 +4261,12 @@ static void atk43_jumpifabilitypresent(void)
gBattlescriptCurrInstr += 6;
}
-static void atk44_endselectionscript(void)
+static void Cmd_endselectionscript(void)
{
*(gBattlerAttacker + gBattleStruct->selectionScriptFinished) = TRUE;
}
-static void atk45_playanimation(void)
+static void Cmd_playanimation(void)
{
const u16* argumentPtr;
@@ -4318,7 +4307,7 @@ static void atk45_playanimation(void)
}
}
-static void atk46_playanimation2(void) // animation Id is stored in the first pointer
+static void Cmd_playanimation2(void) // animation Id is stored in the first pointer
{
const u16* argumentPtr;
const u8* animationIdPtr;
@@ -4360,7 +4349,7 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po
}
}
-static void atk47_setgraphicalstatchangevalues(void)
+static void Cmd_setgraphicalstatchangevalues(void)
{
u8 value = 0;
switch (GET_STAT_BUFF_VALUE2(gBattleScripting.statChanger))
@@ -4383,7 +4372,7 @@ static void atk47_setgraphicalstatchangevalues(void)
gBattlescriptCurrInstr++;
}
-static void atk48_playstatchangeanimation(void)
+static void Cmd_playstatchangeanimation(void)
{
u32 currStat = 0;
u16 statAnimId = 0;
@@ -4393,10 +4382,10 @@ static void atk48_playstatchangeanimation(void)
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
statsToCheck = gBattlescriptCurrInstr[2];
- if (gBattlescriptCurrInstr[3] & ATK48_STAT_NEGATIVE) // goes down
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_NEGATIVE) // goes down
{
s16 startingStatAnimId;
- if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO)
startingStatAnimId = STAT_ANIM_MINUS2 - 1;
else
startingStatAnimId = STAT_ANIM_MINUS1 - 1;
@@ -4405,7 +4394,7 @@ static void atk48_playstatchangeanimation(void)
{
if (statsToCheck & 1)
{
- if (gBattlescriptCurrInstr[3] & ATK48_DONT_CHECK_LOWER)
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_CANT_PREVENT)
{
if (gBattleMons[gActiveBattler].statStages[currStat] > 0)
{
@@ -4431,7 +4420,7 @@ static void atk48_playstatchangeanimation(void)
if (changeableStatsCount > 1) // more than one stat, so the color is gray
{
- if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO)
statAnimId = STAT_ANIM_MULTIPLE_MINUS2;
else
statAnimId = STAT_ANIM_MULTIPLE_MINUS1;
@@ -4440,7 +4429,7 @@ static void atk48_playstatchangeanimation(void)
else // goes up
{
s16 startingStatAnimId;
- if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO)
startingStatAnimId = STAT_ANIM_PLUS2 - 1;
else
startingStatAnimId = STAT_ANIM_PLUS1 - 1;
@@ -4457,14 +4446,14 @@ static void atk48_playstatchangeanimation(void)
if (changeableStatsCount > 1) // more than one stat, so the color is gray
{
- if (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO)
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO)
statAnimId = STAT_ANIM_MULTIPLE_PLUS2;
else
statAnimId = STAT_ANIM_MULTIPLE_PLUS1;
}
}
- if (gBattlescriptCurrInstr[3] & ATK48_ONLY_MULTIPLE && changeableStatsCount < 2)
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount < 2)
{
gBattlescriptCurrInstr += 4;
}
@@ -4472,7 +4461,7 @@ static void atk48_playstatchangeanimation(void)
{
BtlController_EmitBattleAnimation(0, B_ANIM_STATS_CHANGE, statAnimId);
MarkBattlerForControllerExec(gActiveBattler);
- if (gBattlescriptCurrInstr[3] & ATK48_ONLY_MULTIPLE && changeableStatsCount > 1)
+ if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1)
gBattleScripting.statAnimPlayed = TRUE;
gBattlescriptCurrInstr += 4;
}
@@ -4482,7 +4471,7 @@ static void atk48_playstatchangeanimation(void)
}
}
-static void atk49_moveend(void)
+static void Cmd_moveend(void)
{
s32 i;
bool32 effect = FALSE;
@@ -4510,9 +4499,9 @@ static void atk49_moveend(void)
do
{
- switch (gBattleScripting.atk49_state)
+ switch (gBattleScripting.moveendState)
{
- case ATK49_RAGE: // rage check
+ case MOVEEND_RAGE: // rage check
if (gBattleMons[gBattlerTarget].status2 & STATUS2_RAGE
&& gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget
&& GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)
@@ -4524,9 +4513,9 @@ static void atk49_moveend(void)
gBattlescriptCurrInstr = BattleScript_RageIsBuilding;
effect = TRUE;
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_DEFROST: // defrosting check
+ case MOVEEND_DEFROST: // defrosting check
if (gBattleMons[gBattlerTarget].status1 & STATUS1_FREEZE
&& gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget
&& gSpecialStatuses[gBattlerTarget].specialDmg
@@ -4540,53 +4529,52 @@ static void atk49_moveend(void)
gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove;
effect = TRUE;
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_SYNCHRONIZE_TARGET: // target synchronize
+ case MOVEEND_SYNCHRONIZE_TARGET: // target synchronize
if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattlerTarget, 0, 0, 0))
effect = TRUE;
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_MOVE_END_ABILITIES: // Such as abilities activating on contact(Poison Spore, Rough Skin, etc.).
- if (AbilityBattleEffects(ABILITYEFFECT_MOVE_END, gBattlerTarget, 0, 0, 0))
+ case MOVEEND_ON_DAMAGE_ABILITIES: // Contact abilities and Color Change
+ if (AbilityBattleEffects(ABILITYEFFECT_ON_DAMAGE, gBattlerTarget, 0, 0, 0))
effect = TRUE;
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_STATUS_IMMUNITY_ABILITIES: // status immunities
+ case MOVEEND_IMMUNITY_ABILITIES: // status immunities
if (AbilityBattleEffects(ABILITYEFFECT_IMMUNITY, 0, 0, 0, 0))
effect = TRUE; // it loops through all battlers, so we increment after its done with all battlers
else
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_SYNCHRONIZE_ATTACKER: // attacker synchronize
+ case MOVEEND_SYNCHRONIZE_ATTACKER: // attacker synchronize
if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBattlerAttacker, 0, 0, 0))
effect = TRUE;
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_CHOICE_MOVE: // update choice band move
- if (!(gHitMarker & HITMARKER_OBEYS) || holdEffectAtk != HOLD_EFFECT_CHOICE_BAND
- || gChosenMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF))
- goto LOOP;
- if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED))
- {
- gBattleScripting.atk49_state++;
- break;
- }
- *choicedMoveAtk = gChosenMove;
- LOOP:
+ case MOVEEND_CHOICE_MOVE: // update choice band move
+ if (gHitMarker & HITMARKER_OBEYS
+ && holdEffectAtk == HOLD_EFFECT_CHOICE_BAND
+ && gChosenMove != MOVE_STRUGGLE
+ && (*choicedMoveAtk == 0 || *choicedMoveAtk == 0xFFFF))
{
- for (i = 0; i < MAX_MON_MOVES; i++)
+ if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED))
{
- if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk)
- break;
+ ++gBattleScripting.moveendState;
+ break;
}
- if (i == MAX_MON_MOVES)
- *choicedMoveAtk = 0;
-
- gBattleScripting.atk49_state++;
+ *choicedMoveAtk = gChosenMove;
+ }
+ for (i = 0; i < MAX_MON_MOVES; ++i)
+ {
+ if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk)
+ break;
}
+ if (i == MAX_MON_MOVES)
+ *choicedMoveAtk = 0;
+ ++gBattleScripting.moveendState;
break;
- case ATK49_CHANGED_ITEMS: // changed held items
+ case MOVEEND_CHANGED_ITEMS: // changed held items
for (i = 0; i < gBattlersCount; i++)
{
u16* changedItem = &gBattleStruct->changedItems[i];
@@ -4596,32 +4584,32 @@ static void atk49_moveend(void)
*changedItem = 0;
}
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_ITEM_EFFECTS_ALL: // item effects for all battlers
+ case MOVEEND_ITEM_EFFECTS_ALL: // item effects for all battlers
if (ItemBattleEffects(ITEMEFFECT_MOVE_END, 0, FALSE))
effect = TRUE;
else
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_KINGSROCK_SHELLBELL: // king's rock and shell bell
+ case MOVEEND_KINGSROCK_SHELLBELL: // king's rock and shell bell
if (ItemBattleEffects(ITEMEFFECT_KINGSROCK_SHELLBELL, 0, FALSE))
effect = TRUE;
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_ATTACKER_INVISIBLE: // make attacker sprite invisible
+ case MOVEEND_ATTACKER_INVISIBLE: // make attacker sprite invisible
if (gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE)
&& gHitMarker & HITMARKER_NO_ANIMATIONS)
{
gActiveBattler = gBattlerAttacker;
BtlController_EmitSpriteInvisibility(0, TRUE);
MarkBattlerForControllerExec(gActiveBattler);
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
return;
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_ATTACKER_VISIBLE: // make attacker sprite visible
+ case MOVEEND_ATTACKER_VISIBLE: // make attacker sprite visible
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT
|| !(gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE))
|| WasUnableToUseMove(gBattlerAttacker))
@@ -4631,12 +4619,12 @@ static void atk49_moveend(void)
MarkBattlerForControllerExec(gActiveBattler);
gStatuses3[gBattlerAttacker] &= ~(STATUS3_SEMI_INVULNERABLE);
gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1;
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
return;
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_TARGET_VISIBLE: // make target sprite visible
+ case MOVEEND_TARGET_VISIBLE: // make target sprite visible
if (!gSpecialStatuses[gBattlerTarget].restoredBattlerSprite && gBattlerTarget < gBattlersCount
&& !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE))
{
@@ -4644,20 +4632,20 @@ static void atk49_moveend(void)
BtlController_EmitSpriteInvisibility(0, FALSE);
MarkBattlerForControllerExec(gActiveBattler);
gStatuses3[gBattlerTarget] &= ~(STATUS3_SEMI_INVULNERABLE);
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
return;
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_SUBSTITUTE: // update substitute
+ case MOVEEND_SUBSTITUTE: // update substitute
for (i = 0; i < gBattlersCount; i++)
{
if (gDisableStructs[i].substituteHP == 0)
gBattleMons[i].status2 &= ~(STATUS2_SUBSTITUTE);
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_UPDATE_LAST_MOVES:
+ case MOVEEND_UPDATE_LAST_MOVES:
if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET)
{
gActiveBattler = gBattlerAttacker;
@@ -4704,9 +4692,9 @@ static void atk49_moveend(void)
gLastLandedMoves[gBattlerTarget] = 0xFFFF;
}
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_MIRROR_MOVE: // mirror move
+ case MOVEEND_MIRROR_MOVE: // mirror move
if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBattlerAttacker])
&& gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS
&& gBattlerAttacker != gBattlerTarget && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget))
@@ -4725,9 +4713,9 @@ static void atk49_moveend(void)
attacker = gBattlerAttacker;
*(attacker * 2 + target * 8 + (u8*)(gBattleStruct->lastTakenMoveFrom) + 1) = gChosenMove >> 8;
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_NEXT_TARGET: // For moves hitting two opposing Pokemon.
+ case MOVEEND_NEXT_TARGET: // For moves hitting two opposing Pokemon.
if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& !gProtectStructs[gBattlerAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH
&& !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
@@ -4737,7 +4725,7 @@ static void atk49_moveend(void)
{
gBattlerTarget = battlerId;
gHitMarker |= HITMARKER_NO_ATTACKSTRING;
- gBattleScripting.atk49_state = 0;
+ gBattleScripting.moveendState = 0;
MoveValuesCleanUp();
BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]);
gBattlescriptCurrInstr = BattleScript_FlushMessageBox;
@@ -4748,24 +4736,24 @@ static void atk49_moveend(void)
gHitMarker |= HITMARKER_NO_ATTACKSTRING;
}
}
- gBattleScripting.atk49_state++;
+ gBattleScripting.moveendState++;
break;
- case ATK49_COUNT:
+ case MOVEEND_COUNT:
break;
}
if (arg1 == 1 && effect == FALSE)
- gBattleScripting.atk49_state = ATK49_COUNT;
- if (arg1 == 2 && arg2 == gBattleScripting.atk49_state)
- gBattleScripting.atk49_state = ATK49_COUNT;
+ gBattleScripting.moveendState = MOVEEND_COUNT;
+ if (arg1 == 2 && arg2 == gBattleScripting.moveendState)
+ gBattleScripting.moveendState = MOVEEND_COUNT;
- } while (gBattleScripting.atk49_state != ATK49_COUNT && effect == FALSE);
+ } while (gBattleScripting.moveendState != MOVEEND_COUNT && effect == FALSE);
- if (gBattleScripting.atk49_state == ATK49_COUNT && effect == FALSE)
+ if (gBattleScripting.moveendState == MOVEEND_COUNT && effect == FALSE)
gBattlescriptCurrInstr += 3;
}
-static void atk4A_typecalc2(void)
+static void Cmd_typecalc2(void)
{
u8 flags = 0;
s32 i = 0;
@@ -4860,7 +4848,7 @@ static void atk4A_typecalc2(void)
gBattlescriptCurrInstr++;
}
-static void atk4B_returnatktoball(void)
+static void Cmd_returnatktoball(void)
{
gActiveBattler = gBattlerAttacker;
if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler)))
@@ -4871,7 +4859,7 @@ static void atk4B_returnatktoball(void)
gBattlescriptCurrInstr++;
}
-static void atk4C_getswitchedmondata(void)
+static void Cmd_getswitchedmondata(void)
{
if (gBattleControllerExecFlags)
return;
@@ -4886,7 +4874,7 @@ static void atk4C_getswitchedmondata(void)
gBattlescriptCurrInstr += 2;
}
-static void atk4D_switchindataupdate(void)
+static void Cmd_switchindataupdate(void)
{
struct BattlePokemon oldData;
s32 i;
@@ -4939,7 +4927,7 @@ static void atk4D_switchindataupdate(void)
gBattlescriptCurrInstr += 2;
}
-static void atk4E_switchinanim(void)
+static void Cmd_switchinanim(void)
{
if (gBattleControllerExecFlags)
return;
@@ -4965,15 +4953,15 @@ static void atk4E_switchinanim(void)
BattleArena_InitPoints();
}
-static void atk4F_jumpifcantswitch(void)
+static void Cmd_jumpifcantswitch(void)
{
s32 i;
s32 lastMonId;
struct Pokemon *party;
- gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(ATK4F_DONT_CHECK_STATUSES));
+ gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(SWITCH_IGNORE_ESCAPE_PREVENTION));
- if (!(gBattlescriptCurrInstr[1] & ATK4F_DONT_CHECK_STATUSES)
+ if (!(gBattlescriptCurrInstr[1] & SWITCH_IGNORE_ESCAPE_PREVENTION)
&& ((gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION))
|| (gStatuses3[gActiveBattler] & STATUS3_ROOTED)))
{
@@ -5120,17 +5108,17 @@ static void atk4F_jumpifcantswitch(void)
}
}
-static void sub_804CF10(u8 arg0)
+static void sub_804CF10(u8 slotId)
{
*(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
- *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6;
+ *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]);
- BtlController_EmitChoosePokemon(0, PARTY_MUST_CHOOSE_MON, arg0, 0, gBattleStruct->field_60[gActiveBattler]);
+ BtlController_EmitChoosePokemon(0, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
MarkBattlerForControllerExec(gActiveBattler);
}
-static void atk50_openpartyscreen(void)
+static void Cmd_openpartyscreen(void)
{
u32 flags;
u8 hitmarkerFaintBits;
@@ -5158,7 +5146,7 @@ static void atk50_openpartyscreen(void)
}
else if (!gSpecialStatuses[gActiveBattler].flag40)
{
- sub_804CF10(6);
+ sub_804CF10(PARTY_SIZE);
gSpecialStatuses[gActiveBattler].flag40 = 1;
}
}
@@ -5365,9 +5353,9 @@ static void atk50_openpartyscreen(void)
else
{
if (gBattlescriptCurrInstr[1] & 0x80)
- hitmarkerFaintBits = PARTY_CHOOSE_MON; // Used here as the caseId for the EmitChoose function.
+ hitmarkerFaintBits = PARTY_ACTION_CHOOSE_MON; // Used here as the caseId for the EmitChoose function.
else
- hitmarkerFaintBits = PARTY_MUST_CHOOSE_MON;
+ hitmarkerFaintBits = PARTY_ACTION_SEND_OUT;
battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(0x80));
if (gSpecialStatuses[battlerId].flag40)
@@ -5388,7 +5376,7 @@ static void atk50_openpartyscreen(void)
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6;
gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]);
- BtlController_EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), 0, gBattleStruct->field_60[gActiveBattler]);
+ BtlController_EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
MarkBattlerForControllerExec(gActiveBattler);
gBattlescriptCurrInstr += 6;
@@ -5420,7 +5408,7 @@ static void atk50_openpartyscreen(void)
}
}
-static void atk51_switchhandleorder(void)
+static void Cmd_switchhandleorder(void)
{
s32 i;
if (gBattleControllerExecFlags)
@@ -5446,7 +5434,7 @@ static void atk51_switchhandleorder(void)
break;
case 1:
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
- sub_803BDA0(gActiveBattler);
+ SwitchPartyOrder(gActiveBattler);
break;
case 2:
if (!(gBattleStruct->field_93 & gBitTable[gActiveBattler]))
@@ -5471,11 +5459,11 @@ static void atk51_switchhandleorder(void)
}
else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
{
- sub_80571DC(gActiveBattler, *(gBattleStruct->monToSwitchIntoId + gActiveBattler));
+ SwitchPartyOrderInGameMulti(gActiveBattler, *(gBattleStruct->monToSwitchIntoId + gActiveBattler));
}
else
{
- sub_803BDA0(gActiveBattler);
+ SwitchPartyOrder(gActiveBattler);
}
PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species)
@@ -5487,7 +5475,7 @@ static void atk51_switchhandleorder(void)
gBattlescriptCurrInstr += 3;
}
-static void atk52_switchineffects(void)
+static void Cmd_switchineffects(void)
{
s32 i;
@@ -5569,7 +5557,7 @@ static void atk52_switchineffects(void)
}
}
-static void atk53_trainerslidein(void)
+static void Cmd_trainerslidein(void)
{
gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]);
BtlController_EmitTrainerSlide(0);
@@ -5578,7 +5566,7 @@ static void atk53_trainerslidein(void)
gBattlescriptCurrInstr += 2;
}
-static void atk54_playse(void)
+static void Cmd_playse(void)
{
gActiveBattler = gBattlerAttacker;
BtlController_EmitPlaySE(0, T2_READ_16(gBattlescriptCurrInstr + 1));
@@ -5587,7 +5575,7 @@ static void atk54_playse(void)
gBattlescriptCurrInstr += 3;
}
-static void atk55_fanfare(void)
+static void Cmd_fanfare(void)
{
gActiveBattler = gBattlerAttacker;
BtlController_EmitPlayFanfareOrBGM(0, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE);
@@ -5596,7 +5584,7 @@ static void atk55_fanfare(void)
gBattlescriptCurrInstr += 3;
}
-static void atk56_playfaintcry(void)
+static void Cmd_playfaintcry(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
BtlController_EmitFaintingCry(0);
@@ -5605,7 +5593,7 @@ static void atk56_playfaintcry(void)
gBattlescriptCurrInstr += 2;
}
-static void atk57(void)
+static void Cmd_unknown_57(void)
{
gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
BtlController_EmitCmd55(0, gBattleOutcome);
@@ -5614,7 +5602,7 @@ static void atk57(void)
gBattlescriptCurrInstr += 1;
}
-static void atk58_returntoball(void)
+static void Cmd_returntoball(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
BtlController_EmitReturnMonToBall(0, 1);
@@ -5623,20 +5611,20 @@ static void atk58_returntoball(void)
gBattlescriptCurrInstr += 2;
}
-static void atk59_handlelearnnewmove(void)
+static void Cmd_handlelearnnewmove(void)
{
const u8 *jumpPtr1 = T1_READ_PTR(gBattlescriptCurrInstr + 1);
const u8 *jumpPtr2 = T1_READ_PTR(gBattlescriptCurrInstr + 5);
- u16 ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], gBattlescriptCurrInstr[9]);
- while (ret == 0xFFFE)
- ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], 0);
+ u16 learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], gBattlescriptCurrInstr[9]);
+ while (learnMove == MON_ALREADY_KNOWS_MOVE)
+ learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], FALSE);
- if (ret == 0)
+ if (learnMove == 0)
{
gBattlescriptCurrInstr = jumpPtr2;
}
- else if (ret == 0xFFFF)
+ else if (learnMove == MON_HAS_MAX_MOVES)
{
gBattlescriptCurrInstr += 10;
}
@@ -5647,7 +5635,7 @@ static void atk59_handlelearnnewmove(void)
if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
{
- GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret);
+ GiveMoveToBattleMon(&gBattleMons[gActiveBattler], learnMove);
}
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
@@ -5655,7 +5643,7 @@ static void atk59_handlelearnnewmove(void)
if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
{
- GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret);
+ GiveMoveToBattleMon(&gBattleMons[gActiveBattler], learnMove);
}
}
@@ -5663,7 +5651,7 @@ static void atk59_handlelearnnewmove(void)
}
}
-static void atk5A_yesnoboxlearnmove(void)
+static void Cmd_yesnoboxlearnmove(void)
{
gActiveBattler = 0;
@@ -5728,8 +5716,8 @@ static void atk5A_yesnoboxlearnmove(void)
case 4:
if (!gPaletteFade.active && gMain.callback2 == BattleMainCB2)
{
- u8 movePosition = sub_81C1B94();
- if (movePosition == 4)
+ u8 movePosition = GetMoveSlotToReplace();
+ if (movePosition == MAX_MON_MOVES)
{
gBattleScripting.learnMoveState = 5;
}
@@ -5782,7 +5770,7 @@ static void atk5A_yesnoboxlearnmove(void)
}
}
-static void atk5B_yesnoboxstoplearningmove(void)
+static void Cmd_yesnoboxstoplearningmove(void)
{
switch (gBattleScripting.learnMoveState)
{
@@ -5829,7 +5817,7 @@ static void atk5B_yesnoboxstoplearningmove(void)
}
}
-static void atk5C_hitanimation(void)
+static void Cmd_hitanimation(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
@@ -5906,7 +5894,7 @@ static u32 GetTrainerMoneyToGive(u16 trainerId)
return moneyReward;
}
-static void atk5D_getmoneyreward(void)
+static void Cmd_getmoneyreward(void)
{
u32 moneyReward = GetTrainerMoneyToGive(gTrainerBattleOpponent_A);
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
@@ -5918,7 +5906,7 @@ static void atk5D_getmoneyreward(void)
gBattlescriptCurrInstr++;
}
-static void atk5E(void)
+static void Cmd_unknown_5E(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
@@ -5945,7 +5933,7 @@ static void atk5E(void)
}
}
-static void atk5F_swapattackerwithtarget(void)
+static void Cmd_swapattackerwithtarget(void)
{
gActiveBattler = gBattlerAttacker;
gBattlerAttacker = gBattlerTarget;
@@ -5959,7 +5947,7 @@ static void atk5F_swapattackerwithtarget(void)
gBattlescriptCurrInstr++;
}
-static void atk60_incrementgamestat(void)
+static void Cmd_incrementgamestat(void)
{
if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER)
IncrementGameStat(gBattlescriptCurrInstr[1]);
@@ -5967,7 +5955,7 @@ static void atk60_incrementgamestat(void)
gBattlescriptCurrInstr += 2;
}
-static void atk61_drawpartystatussummary(void)
+static void Cmd_drawpartystatussummary(void)
{
s32 i;
struct Pokemon *party;
@@ -6004,7 +5992,7 @@ static void atk61_drawpartystatussummary(void)
gBattlescriptCurrInstr += 2;
}
-static void atk62_hidepartystatussummary(void)
+static void Cmd_hidepartystatussummary(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
BtlController_EmitHidePartyStatusSummary(0);
@@ -6013,7 +6001,7 @@ static void atk62_hidepartystatussummary(void)
gBattlescriptCurrInstr += 2;
}
-static void atk63_jumptocalledmove(void)
+static void Cmd_jumptocalledmove(void)
{
if (gBattlescriptCurrInstr[1])
gCurrentMove = gCalledMove;
@@ -6023,7 +6011,7 @@ static void atk63_jumptocalledmove(void)
gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
}
-static void atk64_statusanimation(void)
+static void Cmd_statusanimation(void)
{
if (gBattleControllerExecFlags == 0)
{
@@ -6039,7 +6027,7 @@ static void atk64_statusanimation(void)
}
}
-static void atk65_status2animation(void)
+static void Cmd_status2animation(void)
{
u32 wantedToAnimate;
@@ -6058,7 +6046,7 @@ static void atk65_status2animation(void)
}
}
-static void atk66_chosenstatusanimation(void)
+static void Cmd_chosenstatusanimation(void)
{
u32 wantedStatus;
@@ -6077,7 +6065,7 @@ static void atk66_chosenstatusanimation(void)
}
}
-static void atk67_yesnobox(void)
+static void Cmd_yesnobox(void)
{
switch (gBattleCommunication[0])
{
@@ -6120,7 +6108,7 @@ static void atk67_yesnobox(void)
}
}
-static void atk68_cancelallactions(void)
+static void Cmd_cancelallactions(void)
{
s32 i;
@@ -6130,7 +6118,7 @@ static void atk68_cancelallactions(void)
gBattlescriptCurrInstr++;
}
-static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no random damage multiplier.
+static void Cmd_adjustsetdamage(void) // The same as adjustnormaldamage, except there's no random damage multiplier.
{
u8 holdEffect, param;
@@ -6152,32 +6140,25 @@ static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no ra
RecordItemEffectBattle(gBattlerTarget, holdEffect);
gSpecialStatuses[gBattlerTarget].focusBanded = 1;
}
- if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)
- goto END;
- if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured
- && !gSpecialStatuses[gBattlerTarget].focusBanded)
- goto END;
-
- if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage)
- goto END;
-
- gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1;
-
- if (gProtectStructs[gBattlerTarget].endured)
- {
- gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
- }
- else if (gSpecialStatuses[gBattlerTarget].focusBanded)
+ if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)
+ && (gBattleMoves[gCurrentMove].effect == EFFECT_FALSE_SWIPE || gProtectStructs[gBattlerTarget].endured || gSpecialStatuses[gBattlerTarget].focusBanded)
+ && gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage)
{
- gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
- gLastUsedItem = gBattleMons[gBattlerTarget].item;
+ gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1;
+ if (gProtectStructs[gBattlerTarget].endured)
+ {
+ gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
+ }
+ else if (gSpecialStatuses[gBattlerTarget].focusBanded)
+ {
+ gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
+ gLastUsedItem = gBattleMons[gBattlerTarget].item;
+ }
}
-
- END:
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
-static void atk6A_removeitem(void)
+static void Cmd_removeitem(void)
{
u16* usedHeldItem;
@@ -6193,35 +6174,35 @@ static void atk6A_removeitem(void)
gBattlescriptCurrInstr += 2;
}
-static void atk6B_atknameinbuff1(void)
+static void Cmd_atknameinbuff1(void)
{
PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker])
gBattlescriptCurrInstr++;
}
-static void atk6C_drawlvlupbox(void)
+static void Cmd_drawlvlupbox(void)
{
- if (gBattleScripting.atk6C_state == 0)
+ if (gBattleScripting.drawlvlupboxState == 0)
{
if (IsMonGettingExpSentOut())
- gBattleScripting.atk6C_state = 3;
+ gBattleScripting.drawlvlupboxState = 3;
else
- gBattleScripting.atk6C_state = 1;
+ gBattleScripting.drawlvlupboxState = 1;
}
- switch (gBattleScripting.atk6C_state)
+ switch (gBattleScripting.drawlvlupboxState)
{
case 1:
gBattle_BG2_Y = 0x60;
SetBgAttribute(2, BG_ATTR_PRIORITY, 0);
ShowBg(2);
sub_804F17C();
- gBattleScripting.atk6C_state = 2;
+ gBattleScripting.drawlvlupboxState = 2;
break;
case 2:
if (!sub_804F1CC())
- gBattleScripting.atk6C_state = 3;
+ gBattleScripting.drawlvlupboxState = 3;
break;
case 3:
gBattle_BG1_X = 0;
@@ -6231,20 +6212,20 @@ static void atk6C_drawlvlupbox(void)
ShowBg(0);
ShowBg(1);
HandleBattleWindow(0x12, 7, 0x1D, 0x13, WINDOW_x80);
- gBattleScripting.atk6C_state = 4;
+ gBattleScripting.drawlvlupboxState = 4;
break;
case 4:
DrawLevelUpWindow1();
PutWindowTilemap(13);
CopyWindowToVram(13, 3);
- gBattleScripting.atk6C_state++;
+ gBattleScripting.drawlvlupboxState++;
break;
case 5:
case 7:
if (!IsDma3ManagerBusyWithBgCopy())
{
gBattle_BG1_Y = 0;
- gBattleScripting.atk6C_state++;
+ gBattleScripting.drawlvlupboxState++;
}
break;
case 6:
@@ -6253,7 +6234,7 @@ static void atk6C_drawlvlupbox(void)
PlaySE(SE_SELECT);
DrawLevelUpWindow2();
CopyWindowToVram(13, 2);
- gBattleScripting.atk6C_state++;
+ gBattleScripting.drawlvlupboxState++;
}
break;
case 8:
@@ -6261,7 +6242,7 @@ static void atk6C_drawlvlupbox(void)
{
PlaySE(SE_SELECT);
HandleBattleWindow(0x12, 7, 0x1D, 0x13, WINDOW_x80 | WINDOW_CLEAR);
- gBattleScripting.atk6C_state++;
+ gBattleScripting.drawlvlupboxState++;
}
break;
case 9:
@@ -6276,7 +6257,7 @@ static void atk6C_drawlvlupbox(void)
SetBgAttribute(2, BG_ATTR_PRIORITY, 2);
ShowBg(2);
- gBattleScripting.atk6C_state = 10;
+ gBattleScripting.drawlvlupboxState = 10;
}
break;
case 10:
@@ -6297,7 +6278,7 @@ static void DrawLevelUpWindow1(void)
u16 currStats[NUM_STATS];
GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
- DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, 0xE, 0xD, 0xF);
+ DrawLevelUpWindowPg1(0xD, gBattleResources->beforeLvlUp->stats, currStats, TEXT_DYNAMIC_COLOR_5, TEXT_DYNAMIC_COLOR_4, TEXT_DYNAMIC_COLOR_6);
}
static void DrawLevelUpWindow2(void)
@@ -6305,7 +6286,7 @@ static void DrawLevelUpWindow2(void)
u16 currStats[NUM_STATS];
GetMonLevelUpWindowStats(&gPlayerParty[gBattleStruct->expGetterMonId], currStats);
- DrawLevelUpWindowPg2(0xD, currStats, 0xE, 0xD, 0xF);
+ DrawLevelUpWindowPg2(0xD, currStats, TEXT_DYNAMIC_COLOR_5, TEXT_DYNAMIC_COLOR_4, TEXT_DYNAMIC_COLOR_6);
}
static void sub_804F17C(void)
@@ -6474,19 +6455,19 @@ static bool32 IsMonGettingExpSentOut(void)
return FALSE;
}
-static void atk6D_resetsentmonsvalue(void)
+static void Cmd_resetsentmonsvalue(void)
{
ResetSentPokesToOpponentValue();
gBattlescriptCurrInstr++;
}
-static void atk6E_setatktoplayer0(void)
+static void Cmd_setatktoplayer0(void)
{
gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr++;
}
-static void atk6F_makevisible(void)
+static void Cmd_makevisible(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
BtlController_EmitSpriteInvisibility(0, FALSE);
@@ -6495,7 +6476,7 @@ static void atk6F_makevisible(void)
gBattlescriptCurrInstr += 2;
}
-static void atk70_recordlastability(void)
+static void Cmd_recordlastability(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
RecordAbilityBattle(gActiveBattler, gLastUsedAbility);
@@ -6507,13 +6488,13 @@ void BufferMoveToLearnIntoBattleTextBuff2(void)
PREPARE_MOVE_BUFFER(gBattleTextBuff2, gMoveToLearn);
}
-static void atk71_buffermovetolearn(void)
+static void Cmd_buffermovetolearn(void)
{
BufferMoveToLearnIntoBattleTextBuff2();
gBattlescriptCurrInstr++;
}
-static void atk72_jumpifplayerran(void)
+static void Cmd_jumpifplayerran(void)
{
if (TryRunFromBattle(gBattlerFainted))
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
@@ -6521,7 +6502,7 @@ static void atk72_jumpifplayerran(void)
gBattlescriptCurrInstr += 5;
}
-static void atk73_hpthresholds(void)
+static void Cmd_hpthresholds(void)
{
u8 opposingBank;
s32 result;
@@ -6548,7 +6529,7 @@ static void atk73_hpthresholds(void)
gBattlescriptCurrInstr += 2;
}
-static void atk74_hpthresholds2(void)
+static void Cmd_hpthresholds2(void)
{
u8 opposingBank;
s32 result;
@@ -6574,14 +6555,14 @@ static void atk74_hpthresholds2(void)
gBattlescriptCurrInstr += 2;
}
-static void atk75_useitemonopponent(void)
+static void Cmd_useitemonopponent(void)
{
gBattlerInMenuId = gBattlerAttacker;
PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBattlerAttacker], 0, 1);
gBattlescriptCurrInstr += 1;
}
-static void atk76_various(void)
+static void Cmd_various(void)
{
u8 side;
s32 i;
@@ -6760,7 +6741,7 @@ static void atk76_various(void)
gBattlescriptCurrInstr += 3;
}
-static void atk77_setprotectlike(void) // protect and endure
+static void Cmd_setprotectlike(void) // protect and endure
{
bool8 notLastTurn = TRUE;
u16 lastMove = gLastResultingMoves[gBattlerAttacker];
@@ -6795,7 +6776,7 @@ static void atk77_setprotectlike(void) // protect and endure
gBattlescriptCurrInstr++;
}
-static void atk78_faintifabilitynotdamp(void)
+static void Cmd_faintifabilitynotdamp(void)
{
if (gBattleControllerExecFlags)
return;
@@ -6830,7 +6811,7 @@ static void atk78_faintifabilitynotdamp(void)
}
}
-static void atk79_setatkhptozero(void)
+static void Cmd_setatkhptozero(void)
{
if (gBattleControllerExecFlags)
return;
@@ -6843,7 +6824,7 @@ static void atk79_setatkhptozero(void)
gBattlescriptCurrInstr++;
}
-static void atk7A_jumpifnexttargetvalid(void)
+static void Cmd_jumpifnexttargetvalid(void)
{
const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
@@ -6868,7 +6849,7 @@ static void atk7A_jumpifnexttargetvalid(void)
}
}
-static void atk7B_tryhealhalfhealth(void)
+static void Cmd_tryhealhalfhealth(void)
{
const u8* failPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
@@ -6886,7 +6867,7 @@ static void atk7B_tryhealhalfhealth(void)
gBattlescriptCurrInstr += 6;
}
-static void atk7C_trymirrormove(void)
+static void Cmd_trymirrormove(void)
{
s32 validMovesCount;
s32 i;
@@ -6936,7 +6917,7 @@ static void atk7C_trymirrormove(void)
}
}
-static void atk7D_setrain(void)
+static void Cmd_setrain(void)
{
if (gBattleWeather & WEATHER_RAIN_ANY)
{
@@ -6952,7 +6933,7 @@ static void atk7D_setrain(void)
gBattlescriptCurrInstr++;
}
-static void atk7E_setreflect(void)
+static void Cmd_setreflect(void)
{
if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_REFLECT)
{
@@ -6973,7 +6954,7 @@ static void atk7E_setreflect(void)
gBattlescriptCurrInstr++;
}
-static void atk7F_setseeded(void)
+static void Cmd_setseeded(void)
{
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBattlerTarget] & STATUS3_LEECHSEED)
{
@@ -6995,21 +6976,21 @@ static void atk7F_setseeded(void)
gBattlescriptCurrInstr++;
}
-static void atk80_manipulatedamage(void)
+static void Cmd_manipulatedamage(void)
{
switch (gBattlescriptCurrInstr[1])
{
- case ATK80_DMG_CHANGE_SIGN:
+ case DMG_CHANGE_SIGN:
gBattleMoveDamage *= -1;
break;
- case ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP:
+ case DMG_RECOIL_FROM_MISS:
gBattleMoveDamage /= 2;
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
if ((gBattleMons[gBattlerTarget].maxHP / 2) < gBattleMoveDamage)
gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2;
break;
- case ATK80_DMG_DOUBLED:
+ case DMG_DOUBLED:
gBattleMoveDamage *= 2;
break;
}
@@ -7017,7 +6998,7 @@ static void atk80_manipulatedamage(void)
gBattlescriptCurrInstr += 2;
}
-static void atk81_trysetrest(void)
+static void Cmd_trysetrest(void)
{
const u8 *failJump = T1_READ_PTR(gBattlescriptCurrInstr + 1);
gActiveBattler = gBattlerTarget = gBattlerAttacker;
@@ -7041,7 +7022,7 @@ static void atk81_trysetrest(void)
}
}
-static void atk82_jumpifnotfirstturn(void)
+static void Cmd_jumpifnotfirstturn(void)
{
const u8* failJump = T1_READ_PTR(gBattlescriptCurrInstr + 1);
@@ -7051,7 +7032,7 @@ static void atk82_jumpifnotfirstturn(void)
gBattlescriptCurrInstr = failJump;
}
-static void atk83_nop(void)
+static void Cmd_nop(void)
{
gBattlescriptCurrInstr++;
}
@@ -7083,7 +7064,7 @@ bool8 UproarWakeUpCheck(u8 battlerId)
return TRUE;
}
-static void atk84_jumpifcantmakeasleep(void)
+static void Cmd_jumpifcantmakeasleep(void)
{
const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
@@ -7105,7 +7086,7 @@ static void atk84_jumpifcantmakeasleep(void)
}
}
-static void atk85_stockpile(void)
+static void Cmd_stockpile(void)
{
if (gDisableStructs[gBattlerAttacker].stockpileCounter == 3)
{
@@ -7123,7 +7104,7 @@ static void atk85_stockpile(void)
gBattlescriptCurrInstr++;
}
-static void atk86_stockpiletobasedamage(void)
+static void Cmd_stockpiletobasedamage(void)
{
const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0)
@@ -7149,7 +7130,7 @@ static void atk86_stockpiletobasedamage(void)
}
}
-static void atk87_stockpiletohpheal(void)
+static void Cmd_stockpiletohpheal(void)
{
const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
@@ -7180,7 +7161,7 @@ static void atk87_stockpiletohpheal(void)
}
}
-static void atk88_negativedamage(void)
+static void Cmd_negativedamage(void)
{
gBattleMoveDamage = -(gHpDealt / 2);
if (gBattleMoveDamage == 0)
@@ -7189,8 +7170,8 @@ static void atk88_negativedamage(void)
gBattlescriptCurrInstr++;
}
-#define STAT_CHANGE_WORKED 0
-#define STAT_CHANGE_DIDNT_WORK 1
+#define STAT_BUFF_WORKED 0
+#define STAT_BUFF_DIDNT_WORK 1
static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
{
@@ -7209,9 +7190,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
certain++;
flags &= ~(MOVE_EFFECT_CERTAIN);
- if (flags & STAT_CHANGE_NOT_PROTECT_AFFECTED)
+ if (flags & STAT_BUFF_NOT_PROTECT_AFFECTED)
notProtectAffected++;
- flags &= ~(STAT_CHANGE_NOT_PROTECT_AFFECTED);
+ flags &= ~(STAT_BUFF_NOT_PROTECT_AFFECTED);
PREPARE_STAT_BUFFER(gBattleTextBuff1, statId)
@@ -7220,7 +7201,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer
&& !certain && gCurrentMove != MOVE_CURSE)
{
- if (flags == STAT_CHANGE_BS_PTR)
+ if (flags == STAT_BUFF_ALLOW_PTR)
{
if (gSpecialStatuses[gActiveBattler].statLowered)
{
@@ -7234,19 +7215,19 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
gSpecialStatuses[gActiveBattler].statLowered = 1;
}
}
- return STAT_CHANGE_DIDNT_WORK;
+ return STAT_BUFF_DIDNT_WORK;
}
else if (gCurrentMove != MOVE_CURSE
&& notProtectAffected != TRUE && JumpIfMoveAffectedByProtect(0))
{
gBattlescriptCurrInstr = BattleScript_ButItFailed;
- return STAT_CHANGE_DIDNT_WORK;
+ return STAT_BUFF_DIDNT_WORK;
}
else if ((gBattleMons[gActiveBattler].ability == ABILITY_CLEAR_BODY
|| gBattleMons[gActiveBattler].ability == ABILITY_WHITE_SMOKE)
&& !certain && gCurrentMove != MOVE_CURSE)
{
- if (flags == STAT_CHANGE_BS_PTR)
+ if (flags == STAT_BUFF_ALLOW_PTR)
{
if (gSpecialStatuses[gActiveBattler].statLowered)
{
@@ -7262,12 +7243,12 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
gSpecialStatuses[gActiveBattler].statLowered = 1;
}
}
- return STAT_CHANGE_DIDNT_WORK;
+ return STAT_BUFF_DIDNT_WORK;
}
else if (gBattleMons[gActiveBattler].ability == ABILITY_KEEN_EYE
&& !certain && statId == STAT_ACC)
{
- if (flags == STAT_CHANGE_BS_PTR)
+ if (flags == STAT_BUFF_ALLOW_PTR)
{
BattleScriptPush(BS_ptr);
gBattleScripting.battler = gActiveBattler;
@@ -7275,12 +7256,12 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
gLastUsedAbility = gBattleMons[gActiveBattler].ability;
RecordAbilityBattle(gActiveBattler, gLastUsedAbility);
}
- return STAT_CHANGE_DIDNT_WORK;
+ return STAT_BUFF_DIDNT_WORK;
}
else if (gBattleMons[gActiveBattler].ability == ABILITY_HYPER_CUTTER
&& !certain && statId == STAT_ATK)
{
- if (flags == STAT_CHANGE_BS_PTR)
+ if (flags == STAT_BUFF_ALLOW_PTR)
{
BattleScriptPush(BS_ptr);
gBattleScripting.battler = gActiveBattler;
@@ -7288,11 +7269,11 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
gLastUsedAbility = gBattleMons[gActiveBattler].ability;
RecordAbilityBattle(gActiveBattler, gLastUsedAbility);
}
- return STAT_CHANGE_DIDNT_WORK;
+ return STAT_BUFF_DIDNT_WORK;
}
else if (gBattleMons[gActiveBattler].ability == ABILITY_SHIELD_DUST && flags == 0)
{
- return STAT_CHANGE_DIDNT_WORK;
+ return STAT_BUFF_DIDNT_WORK;
}
else // try to decrease
{
@@ -7353,23 +7334,23 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
if (gBattleMons[gActiveBattler].statStages[statId] > 0xC)
gBattleMons[gActiveBattler].statStages[statId] = 0xC;
- if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_CHANGE_BS_PTR)
+ if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_BUFF_ALLOW_PTR)
gMoveResultFlags |= MOVE_RESULT_MISSED;
- if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_CHANGE_BS_PTR))
- return STAT_CHANGE_DIDNT_WORK;
+ if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_BUFF_ALLOW_PTR))
+ return STAT_BUFF_DIDNT_WORK;
- return STAT_CHANGE_WORKED;
+ return STAT_BUFF_WORKED;
}
-static void atk89_statbuffchange(void)
+static void Cmd_statbuffchange(void)
{
const u8* jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
- if (ChangeStatBuffs(gBattleScripting.statChanger & 0xF0, GET_STAT_BUFF_ID(gBattleScripting.statChanger), gBattlescriptCurrInstr[1], jumpPtr) == STAT_CHANGE_WORKED)
+ if (ChangeStatBuffs(gBattleScripting.statChanger & 0xF0, GET_STAT_BUFF_ID(gBattleScripting.statChanger), gBattlescriptCurrInstr[1], jumpPtr) == STAT_BUFF_WORKED)
gBattlescriptCurrInstr += 6;
}
-static void atk8A_normalisebuffs(void) // haze
+static void Cmd_normalisebuffs(void) // haze
{
s32 i, j;
@@ -7382,7 +7363,7 @@ static void atk8A_normalisebuffs(void) // haze
gBattlescriptCurrInstr++;
}
-static void atk8B_setbide(void)
+static void Cmd_setbide(void)
{
gBattleMons[gBattlerAttacker].status2 |= STATUS2_MULTIPLETURNS;
gLockedMoves[gBattlerAttacker] = gCurrentMove;
@@ -7392,7 +7373,7 @@ static void atk8B_setbide(void)
gBattlescriptCurrInstr++;
}
-static void atk8C_confuseifrepeatingattackends(void)
+static void Cmd_confuseifrepeatingattackends(void)
{
if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_LOCK_CONFUSE))
gBattleCommunication[MOVE_EFFECT_BYTE] = (MOVE_EFFECT_THRASH | MOVE_EFFECT_AFFECTS_USER);
@@ -7400,7 +7381,7 @@ static void atk8C_confuseifrepeatingattackends(void)
gBattlescriptCurrInstr++;
}
-static void atk8D_setmultihitcounter(void)
+static void Cmd_setmultihitcounter(void)
{
if (gBattlescriptCurrInstr[1])
{
@@ -7418,7 +7399,7 @@ static void atk8D_setmultihitcounter(void)
gBattlescriptCurrInstr += 2;
}
-static void atk8E_initmultihitstring(void)
+static void Cmd_initmultihitstring(void)
{
PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0)
@@ -7446,7 +7427,7 @@ static bool8 TryDoForceSwitchOut(void)
return TRUE;
}
-static void atk8F_forcerandomswitch(void)
+static void Cmd_forcerandomswitch(void)
{
s32 i;
s32 battler1PartyId = 0;
@@ -7586,19 +7567,19 @@ static void atk8F_forcerandomswitch(void)
*(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i;
if (!IsMultiBattle())
- sub_803BDA0(gBattlerTarget);
+ SwitchPartyOrder(gBattlerTarget);
if ((gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
|| (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI)
|| (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
|| (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
- sub_81B8E80(gBattlerTarget, i, 0);
- sub_81B8E80(gBattlerTarget ^ BIT_FLANK, i, 1);
+ SwitchPartyOrderLinkMulti(gBattlerTarget, i, 0);
+ SwitchPartyOrderLinkMulti(gBattlerTarget ^ BIT_FLANK, i, 1);
}
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
- sub_80571DC(gBattlerTarget, i);
+ SwitchPartyOrderInGameMulti(gBattlerTarget, i);
}
}
else
@@ -7607,7 +7588,7 @@ static void atk8F_forcerandomswitch(void)
}
}
-static void atk90_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type
+static void Cmd_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type
{
u8 validMoves = 0;
u8 moveChecked;
@@ -7669,7 +7650,7 @@ static void atk90_tryconversiontypechange(void) // randomly changes user's type
}
}
-static void atk91_givepaydaymoney(void)
+static void Cmd_givepaydaymoney(void)
{
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && gPaydayMoney != 0)
{
@@ -7687,7 +7668,7 @@ static void atk91_givepaydaymoney(void)
}
}
-static void atk92_setlightscreen(void)
+static void Cmd_setlightscreen(void)
{
if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_LIGHTSCREEN)
{
@@ -7709,7 +7690,7 @@ static void atk92_setlightscreen(void)
gBattlescriptCurrInstr++;
}
-static void atk93_tryKO(void)
+static void Cmd_tryKO(void)
{
u8 holdEffect, param;
@@ -7795,7 +7776,7 @@ static void atk93_tryKO(void)
}
}
-static void atk94_damagetohalftargethp(void) // super fang
+static void Cmd_damagetohalftargethp(void) // super fang
{
gBattleMoveDamage = gBattleMons[gBattlerTarget].hp / 2;
if (gBattleMoveDamage == 0)
@@ -7804,7 +7785,7 @@ static void atk94_damagetohalftargethp(void) // super fang
gBattlescriptCurrInstr++;
}
-static void atk95_setsandstorm(void)
+static void Cmd_setsandstorm(void)
{
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
{
@@ -7820,7 +7801,7 @@ static void atk95_setsandstorm(void)
gBattlescriptCurrInstr++;
}
-static void atk96_weatherdamage(void)
+static void Cmd_weatherdamage(void)
{
if (WEATHER_HAS_EFFECT)
{
@@ -7845,7 +7826,7 @@ static void atk96_weatherdamage(void)
gBattleMoveDamage = 0;
}
}
- if (gBattleWeather & WEATHER_HAIL)
+ if (gBattleWeather & WEATHER_HAIL_ANY)
{
if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ICE)
&& !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND)
@@ -7872,7 +7853,7 @@ static void atk96_weatherdamage(void)
gBattlescriptCurrInstr++;
}
-static void atk97_tryinfatuating(void)
+static void Cmd_tryinfatuating(void)
{
struct Pokemon *monAttacker, *monTarget;
u16 speciesAttacker, speciesTarget;
@@ -7917,7 +7898,7 @@ static void atk97_tryinfatuating(void)
}
}
-static void atk98_updatestatusicon(void)
+static void Cmd_updatestatusicon(void)
{
if (gBattleControllerExecFlags)
return;
@@ -7950,7 +7931,7 @@ static void atk98_updatestatusicon(void)
}
}
-static void atk99_setmist(void)
+static void Cmd_setmist(void)
{
if (gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer)
{
@@ -7967,7 +7948,7 @@ static void atk99_setmist(void)
gBattlescriptCurrInstr++;
}
-static void atk9A_setfocusenergy(void)
+static void Cmd_setfocusenergy(void)
{
if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY)
{
@@ -7982,7 +7963,7 @@ static void atk9A_setfocusenergy(void)
gBattlescriptCurrInstr++;
}
-static void atk9B_transformdataexecution(void)
+static void Cmd_transformdataexecution(void)
{
gChosenMove = 0xFFFF;
gBattlescriptCurrInstr++;
@@ -8026,7 +8007,7 @@ static void atk9B_transformdataexecution(void)
}
}
-static void atk9C_setsubstitute(void)
+static void Cmd_setsubstitute(void)
{
u32 hp = gBattleMons[gBattlerAttacker].maxHP / 4;
if (gBattleMons[gBattlerAttacker].maxHP / 4 == 0)
@@ -8062,7 +8043,7 @@ static bool8 IsMoveUncopyableByMimic(u16 move)
return (sMovesForbiddenToCopy[i] != MIMIC_FORBIDDEN_END);
}
-static void atk9D_mimicattackcopy(void)
+static void Cmd_mimicattackcopy(void)
{
gChosenMove = 0xFFFF;
@@ -8104,7 +8085,7 @@ static void atk9D_mimicattackcopy(void)
}
}
-static void atk9E_metronome(void)
+static void Cmd_metronome(void)
{
while (1)
{
@@ -8136,13 +8117,13 @@ static void atk9E_metronome(void)
}
}
-static void atk9F_dmgtolevel(void)
+static void Cmd_dmgtolevel(void)
{
gBattleMoveDamage = gBattleMons[gBattlerAttacker].level;
gBattlescriptCurrInstr++;
}
-static void atkA0_psywavedamageeffect(void)
+static void Cmd_psywavedamageeffect(void)
{
s32 randDamage;
@@ -8153,7 +8134,7 @@ static void atkA0_psywavedamageeffect(void)
gBattlescriptCurrInstr++;
}
-static void atkA1_counterdamagecalculator(void)
+static void Cmd_counterdamagecalculator(void)
{
u8 sideAttacker = GetBattlerSide(gBattlerAttacker);
u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].physicalBattlerId);
@@ -8178,7 +8159,7 @@ static void atkA1_counterdamagecalculator(void)
}
}
-static void atkA2_mirrorcoatdamagecalculator(void) // a copy of atkA1 with the physical -> special field changes
+static void Cmd_mirrorcoatdamagecalculator(void) // a copy of Cmd with the physical -> special field changes
{
u8 sideAttacker = GetBattlerSide(gBattlerAttacker);
u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId);
@@ -8201,7 +8182,7 @@ static void atkA2_mirrorcoatdamagecalculator(void) // a copy of atkA1 with the p
}
}
-static void atkA3_disablelastusedattack(void)
+static void Cmd_disablelastusedattack(void)
{
s32 i;
@@ -8226,7 +8207,7 @@ static void atkA3_disablelastusedattack(void)
}
}
-static void atkA4_trysetencore(void)
+static void Cmd_trysetencore(void)
{
s32 i;
@@ -8258,7 +8239,7 @@ static void atkA4_trysetencore(void)
}
}
-static void atkA5_painsplitdmgcalc(void)
+static void Cmd_painsplitdmgcalc(void)
{
if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE))
{
@@ -8282,7 +8263,7 @@ static void atkA5_painsplitdmgcalc(void)
}
}
-static void atkA6_settypetorandomresistance(void) // conversion 2
+static void Cmd_settypetorandomresistance(void) // conversion 2
{
if (gLastLandedMoves[gBattlerAttacker] == 0
|| gLastLandedMoves[gBattlerAttacker] == 0xFFFF)
@@ -8342,7 +8323,7 @@ static void atkA6_settypetorandomresistance(void) // conversion 2
}
}
-static void atkA7_setalwayshitflag(void)
+static void Cmd_setalwayshitflag(void)
{
gStatuses3[gBattlerTarget] &= ~(STATUS3_ALWAYS_HITS);
gStatuses3[gBattlerTarget] |= 0x10;
@@ -8350,7 +8331,7 @@ static void atkA7_setalwayshitflag(void)
gBattlescriptCurrInstr++;
}
-static void atkA8_copymovepermanently(void) // sketch
+static void Cmd_copymovepermanently(void) // sketch
{
gChosenMove = 0xFFFF;
@@ -8445,7 +8426,7 @@ static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a c
return 2;
}
-static void atkA9_trychoosesleeptalkmove(void)
+static void Cmd_trychoosesleeptalkmove(void)
{
s32 i;
u8 unusableMovesBits = 0;
@@ -8484,7 +8465,7 @@ static void atkA9_trychoosesleeptalkmove(void)
}
}
-static void atkAA_setdestinybond(void)
+static void Cmd_setdestinybond(void)
{
gBattleMons[gBattlerAttacker].status2 |= STATUS2_DESTINY_BOND;
gBattlescriptCurrInstr++;
@@ -8502,13 +8483,13 @@ static void TrySetDestinyBondToHappen(void)
}
}
-static void atkAB_trysetdestinybondtohappen(void)
+static void Cmd_trysetdestinybondtohappen(void)
{
TrySetDestinyBondToHappen();
gBattlescriptCurrInstr++;
}
-static void atkAC_remaininghptopower(void)
+static void Cmd_remaininghptopower(void)
{
s32 i;
s32 hpFraction = GetScaledHPFraction(gBattleMons[gBattlerAttacker].hp, gBattleMons[gBattlerAttacker].maxHP, 48);
@@ -8523,7 +8504,7 @@ static void atkAC_remaininghptopower(void)
gBattlescriptCurrInstr++;
}
-static void atkAD_tryspiteppreduce(void)
+static void Cmd_tryspiteppreduce(void)
{
if (gLastMoves[gBattlerTarget] != 0
&& gLastMoves[gBattlerTarget] != 0xFFFF)
@@ -8544,7 +8525,7 @@ static void atkAD_tryspiteppreduce(void)
PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget])
- ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, 0, 1);
+ ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, STR_CONV_MODE_LEFT_ALIGN, 1);
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 1, ppToDeduct)
@@ -8574,7 +8555,7 @@ static void atkAD_tryspiteppreduce(void)
}
}
-static void atkAE_healpartystatus(void)
+static void Cmd_healpartystatus(void)
{
u32 zero = 0;
u8 toHeal = 0;
@@ -8670,7 +8651,7 @@ static void atkAE_healpartystatus(void)
gBattlescriptCurrInstr++;
}
-static void atkAF_cursetarget(void)
+static void Cmd_cursetarget(void)
{
if (gBattleMons[gBattlerTarget].status2 & STATUS2_CURSED)
{
@@ -8687,7 +8668,7 @@ static void atkAF_cursetarget(void)
}
}
-static void atkB0_trysetspikes(void)
+static void Cmd_trysetspikes(void)
{
u8 targetSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE;
@@ -8704,13 +8685,13 @@ static void atkB0_trysetspikes(void)
}
}
-static void atkB1_setforesight(void)
+static void Cmd_setforesight(void)
{
gBattleMons[gBattlerTarget].status2 |= STATUS2_FORESIGHT;
gBattlescriptCurrInstr++;
}
-static void atkB2_trysetperishsong(void)
+static void Cmd_trysetperishsong(void)
{
s32 i;
s32 notAffectedCount = 0;
@@ -8738,7 +8719,7 @@ static void atkB2_trysetperishsong(void)
gBattlescriptCurrInstr += 5;
}
-static void atkB3_rolloutdamagecalculation(void)
+static void Cmd_rolloutdamagecalculation(void)
{
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
@@ -8773,7 +8754,7 @@ static void atkB3_rolloutdamagecalculation(void)
}
}
-static void atkB4_jumpifconfusedandstatmaxed(void)
+static void Cmd_jumpifconfusedandstatmaxed(void)
{
if (gBattleMons[gBattlerTarget].status2 & STATUS2_CONFUSION
&& gBattleMons[gBattlerTarget].statStages[gBattlescriptCurrInstr[1]] == 0xC)
@@ -8782,7 +8763,7 @@ static void atkB4_jumpifconfusedandstatmaxed(void)
gBattlescriptCurrInstr += 6;
}
-static void atkB5_furycuttercalc(void)
+static void Cmd_furycuttercalc(void)
{
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
@@ -8805,7 +8786,7 @@ static void atkB5_furycuttercalc(void)
}
}
-static void atkB6_happinesstodamagecalculation(void)
+static void Cmd_happinesstodamagecalculation(void)
{
if (gBattleMoves[gCurrentMove].effect == EFFECT_RETURN)
gDynamicBasePower = 10 * (gBattleMons[gBattlerAttacker].friendship) / 25;
@@ -8815,7 +8796,7 @@ static void atkB6_happinesstodamagecalculation(void)
gBattlescriptCurrInstr++;
}
-static void atkB7_presentdamagecalculation(void)
+static void Cmd_presentdamagecalculation(void)
{
s32 rand = Random() & 0xFF;
@@ -8843,7 +8824,7 @@ static void atkB7_presentdamagecalculation(void)
}
}
-static void atkB8_setsafeguard(void)
+static void Cmd_setsafeguard(void)
{
if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_SAFEGUARD)
{
@@ -8861,7 +8842,7 @@ static void atkB8_setsafeguard(void)
gBattlescriptCurrInstr++;
}
-static void atkB9_magnitudedamagecalculation(void)
+static void Cmd_magnitudedamagecalculation(void)
{
s32 magnitude = Random() % 100;
@@ -8915,7 +8896,7 @@ static void atkB9_magnitudedamagecalculation(void)
gBattlescriptCurrInstr++;
}
-static void atkBA_jumpifnopursuitswitchdmg(void)
+static void Cmd_jumpifnopursuitswitchdmg(void)
{
if (gMultiHitCounter == 1)
{
@@ -8959,7 +8940,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
}
}
-static void atkBB_setsunny(void)
+static void Cmd_setsunny(void)
{
if (gBattleWeather & WEATHER_SUN_ANY)
{
@@ -8976,7 +8957,7 @@ static void atkBB_setsunny(void)
gBattlescriptCurrInstr++;
}
-static void atkBC_maxattackhalvehp(void) // belly drum
+static void Cmd_maxattackhalvehp(void) // belly drum
{
u32 halfHp = gBattleMons[gBattlerAttacker].maxHP / 2;
@@ -8999,7 +8980,7 @@ static void atkBC_maxattackhalvehp(void) // belly drum
}
}
-static void atkBD_copyfoestats(void) // psych up
+static void Cmd_copyfoestats(void) // psych up
{
s32 i;
@@ -9011,7 +8992,7 @@ static void atkBD_copyfoestats(void) // psych up
gBattlescriptCurrInstr += 5; // Has an unused jump ptr(possibly for a failed attempt) parameter.
}
-static void atkBE_rapidspinfree(void)
+static void Cmd_rapidspinfree(void)
{
if (gBattleMons[gBattlerAttacker].status2 & STATUS2_WRAPPED)
{
@@ -9048,13 +9029,13 @@ static void atkBE_rapidspinfree(void)
}
}
-static void atkBF_setdefensecurlbit(void)
+static void Cmd_setdefensecurlbit(void)
{
gBattleMons[gBattlerAttacker].status2 |= STATUS2_DEFENSE_CURL;
gBattlescriptCurrInstr++;
}
-static void atkC0_recoverbasedonsunlight(void)
+static void Cmd_recoverbasedonsunlight(void)
{
gBattlerTarget = gBattlerAttacker;
@@ -9079,7 +9060,7 @@ static void atkC0_recoverbasedonsunlight(void)
}
}
-static void atkC1_hiddenpowercalc(void)
+static void Cmd_hiddenpowercalc(void)
{
u8 powerBits;
u8 typeBits;
@@ -9108,7 +9089,7 @@ static void atkC1_hiddenpowercalc(void)
gBattlescriptCurrInstr++;
}
-static void atkC2_selectfirstvalidtarget(void)
+static void Cmd_selectfirstvalidtarget(void)
{
for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++)
{
@@ -9120,7 +9101,7 @@ static void atkC2_selectfirstvalidtarget(void)
gBattlescriptCurrInstr++;
}
-static void atkC3_trysetfutureattack(void)
+static void Cmd_trysetfutureattack(void)
{
if (gWishFutureKnock.futureSightCounter[gBattlerTarget] != 0)
{
@@ -9148,7 +9129,7 @@ static void atkC3_trysetfutureattack(void)
}
}
-static void atkC4_trydobeatup(void)
+static void Cmd_trydobeatup(void)
{
struct Pokemon *party;
@@ -9195,7 +9176,7 @@ static void atkC4_trydobeatup(void)
}
}
-static void atkC5_setsemiinvulnerablebit(void)
+static void Cmd_setsemiinvulnerablebit(void)
{
switch (gCurrentMove)
{
@@ -9214,7 +9195,7 @@ static void atkC5_setsemiinvulnerablebit(void)
gBattlescriptCurrInstr++;
}
-static void atkC6_clearsemiinvulnerablebit(void)
+static void Cmd_clearsemiinvulnerablebit(void)
{
switch (gCurrentMove)
{
@@ -9233,7 +9214,7 @@ static void atkC6_clearsemiinvulnerablebit(void)
gBattlescriptCurrInstr++;
}
-static void atkC7_setminimize(void)
+static void Cmd_setminimize(void)
{
if (gHitMarker & HITMARKER_OBEYS)
gStatuses3[gBattlerAttacker] |= STATUS3_MINIMIZED;
@@ -9241,7 +9222,7 @@ static void atkC7_setminimize(void)
gBattlescriptCurrInstr++;
}
-static void atkC8_sethail(void)
+static void Cmd_sethail(void)
{
if (gBattleWeather & WEATHER_HAIL_ANY)
{
@@ -9258,7 +9239,7 @@ static void atkC8_sethail(void)
gBattlescriptCurrInstr++;
}
-static void atkC9_jumpifattackandspecialattackcannotfall(void) // memento
+static void Cmd_jumpifattackandspecialattackcannotfall(void) // memento
{
if (gBattleMons[gBattlerTarget].statStages[STAT_ATK] == 0
&& gBattleMons[gBattlerTarget].statStages[STAT_SPATK] == 0
@@ -9276,14 +9257,14 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) // memento
}
}
-static void atkCA_setforcedtarget(void) // follow me
+static void Cmd_setforcedtarget(void) // follow me
{
gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTimer = 1;
gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker;
gBattlescriptCurrInstr++;
}
-static void atkCB_setcharge(void)
+static void Cmd_setcharge(void)
{
gStatuses3[gBattlerAttacker] |= STATUS3_CHARGED_UP;
gDisableStructs[gBattlerAttacker].chargeTimer = 2;
@@ -9291,7 +9272,7 @@ static void atkCB_setcharge(void)
gBattlescriptCurrInstr++;
}
-static void atkCC_callterrainattack(void) // nature power
+static void Cmd_callterrainattack(void) // nature power
{
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gCurrentMove = sNaturePowerMoves[gBattleTerrain];
@@ -9300,7 +9281,7 @@ static void atkCC_callterrainattack(void) // nature power
gBattlescriptCurrInstr++;
}
-static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh
+static void Cmd_cureifburnedparalysedorpoisoned(void) // refresh
{
if (gBattleMons[gBattlerAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON))
{
@@ -9316,7 +9297,7 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh
}
}
-static void atkCE_settorment(void)
+static void Cmd_settorment(void)
{
if (gBattleMons[gBattlerTarget].status2 & STATUS2_TORMENT)
{
@@ -9329,7 +9310,7 @@ static void atkCE_settorment(void)
}
}
-static void atkCF_jumpifnodamage(void)
+static void Cmd_jumpifnodamage(void)
{
if (gProtectStructs[gBattlerAttacker].physicalDmg || gProtectStructs[gBattlerAttacker].specialDmg)
gBattlescriptCurrInstr += 5;
@@ -9337,7 +9318,7 @@ static void atkCF_jumpifnodamage(void)
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
-static void atkD0_settaunt(void)
+static void Cmd_settaunt(void)
{
if (gDisableStructs[gBattlerTarget].tauntTimer == 0)
{
@@ -9351,7 +9332,7 @@ static void atkD0_settaunt(void)
}
}
-static void atkD1_trysethelpinghand(void)
+static void Cmd_trysethelpinghand(void)
{
gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK);
@@ -9369,7 +9350,7 @@ static void atkD1_trysethelpinghand(void)
}
}
-static void atkD2_tryswapitems(void) // trick
+static void Cmd_tryswapitems(void) // trick
{
// opponent can't swap items with player in regular battles
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL
@@ -9456,7 +9437,7 @@ static void atkD2_tryswapitems(void) // trick
}
}
-static void atkD3_trycopyability(void) // role play
+static void Cmd_trycopyability(void) // role play
{
if (gBattleMons[gBattlerTarget].ability != 0
&& gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD)
@@ -9471,7 +9452,7 @@ static void atkD3_trycopyability(void) // role play
}
}
-static void atkD4_trywish(void)
+static void Cmd_trywish(void)
{
switch (gBattlescriptCurrInstr[1])
{
@@ -9504,7 +9485,7 @@ static void atkD4_trywish(void)
}
}
-static void atkD5_trysetroots(void) // ingrain
+static void Cmd_trysetroots(void) // ingrain
{
if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED)
{
@@ -9517,7 +9498,7 @@ static void atkD5_trysetroots(void) // ingrain
}
}
-static void atkD6_doubledamagedealtifdamaged(void)
+static void Cmd_doubledamagedealtifdamaged(void)
{
if ((gProtectStructs[gBattlerAttacker].physicalDmg
&& gProtectStructs[gBattlerAttacker].physicalBattlerId == gBattlerTarget)
@@ -9530,7 +9511,7 @@ static void atkD6_doubledamagedealtifdamaged(void)
gBattlescriptCurrInstr++;
}
-static void atkD7_setyawn(void)
+static void Cmd_setyawn(void)
{
if (gStatuses3[gBattlerTarget] & STATUS3_YAWN
|| gBattleMons[gBattlerTarget].status1 & STATUS1_ANY)
@@ -9544,7 +9525,7 @@ static void atkD7_setyawn(void)
}
}
-static void atkD8_setdamagetohealthdifference(void)
+static void Cmd_setdamagetohealthdifference(void)
{
if (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerAttacker].hp)
{
@@ -9557,7 +9538,7 @@ static void atkD8_setdamagetohealthdifference(void)
}
}
-static void atkD9_scaledamagebyhealthratio(void)
+static void Cmd_scaledamagebyhealthratio(void)
{
if (gDynamicBasePower == 0)
{
@@ -9569,7 +9550,7 @@ static void atkD9_scaledamagebyhealthratio(void)
gBattlescriptCurrInstr++;
}
-static void atkDA_tryswapabilities(void) // skill swap
+static void Cmd_tryswapabilities(void) // skill swap
{
if ((gBattleMons[gBattlerAttacker].ability == 0
&& gBattleMons[gBattlerTarget].ability == 0)
@@ -9589,7 +9570,7 @@ static void atkDA_tryswapabilities(void) // skill swap
}
}
-static void atkDB_tryimprison(void)
+static void Cmd_tryimprison(void)
{
if ((gStatuses3[gBattlerAttacker] & STATUS3_IMPRISONED_OTHERS))
{
@@ -9631,7 +9612,7 @@ static void atkDB_tryimprison(void)
}
}
-static void atkDC_trysetgrudge(void)
+static void Cmd_trysetgrudge(void)
{
if (gStatuses3[gBattlerAttacker] & STATUS3_GRUDGE)
{
@@ -9644,7 +9625,7 @@ static void atkDC_trysetgrudge(void)
}
}
-static void atkDD_weightdamagecalculation(void)
+static void Cmd_weightdamagecalculation(void)
{
s32 i;
for (i = 0; sWeightToDamageTable[i] != 0xFFFF; i += 2)
@@ -9661,7 +9642,7 @@ static void atkDD_weightdamagecalculation(void)
gBattlescriptCurrInstr++;
}
-static void atkDE_assistattackselect(void)
+static void Cmd_assistattackselect(void)
{
s32 chooseableMovesNo = 0;
struct Pokemon* party;
@@ -9714,7 +9695,7 @@ static void atkDE_assistattackselect(void)
}
}
-static void atkDF_trysetmagiccoat(void)
+static void Cmd_trysetmagiccoat(void)
{
gBattlerTarget = gBattlerAttacker;
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
@@ -9729,7 +9710,7 @@ static void atkDF_trysetmagiccoat(void)
}
}
-static void atkE0_trysetsnatch(void) // snatch
+static void Cmd_trysetsnatch(void) // snatch
{
gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = 1;
if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn
@@ -9743,7 +9724,7 @@ static void atkE0_trysetsnatch(void) // snatch
}
}
-static void atkE1_trygetintimidatetarget(void)
+static void Cmd_trygetintimidatetarget(void)
{
u8 side;
@@ -9766,7 +9747,7 @@ static void atkE1_trygetintimidatetarget(void)
gBattlescriptCurrInstr += 5;
}
-static void atkE2_switchoutabilities(void)
+static void Cmd_switchoutabilities(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
@@ -9782,7 +9763,7 @@ static void atkE2_switchoutabilities(void)
gBattlescriptCurrInstr += 2;
}
-static void atkE3_jumpifhasnohp(void)
+static void Cmd_jumpifhasnohp(void)
{
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
@@ -9792,7 +9773,7 @@ static void atkE3_jumpifhasnohp(void)
gBattlescriptCurrInstr += 6;
}
-static void atkE4_getsecretpowereffect(void)
+static void Cmd_getsecretpowereffect(void)
{
switch (gBattleTerrain)
{
@@ -9827,7 +9808,7 @@ static void atkE4_getsecretpowereffect(void)
gBattlescriptCurrInstr++;
}
-static void atkE5_pickup(void)
+static void Cmd_pickup(void)
{
s32 i;
u16 species, heldItem;
@@ -9904,7 +9885,7 @@ static void atkE5_pickup(void)
gBattlescriptCurrInstr++;
}
-static void atkE6_docastformchangeanimation(void)
+static void Cmd_docastformchangeanimation(void)
{
gActiveBattler = gBattleScripting.battler;
@@ -9917,7 +9898,7 @@ static void atkE6_docastformchangeanimation(void)
gBattlescriptCurrInstr++;
}
-static void atkE7_trycastformdatachange(void)
+static void Cmd_trycastformdatachange(void)
{
u8 form;
@@ -9930,7 +9911,7 @@ static void atkE7_trycastformdatachange(void)
}
}
-static void atkE8_settypebasedhalvers(void) // water and mud sport
+static void Cmd_settypebasedhalvers(void) // water and mud sport
{
bool8 worked = FALSE;
@@ -9959,7 +9940,7 @@ static void atkE8_settypebasedhalvers(void) // water and mud sport
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
-static void atkE9_setweatherballtype(void)
+static void Cmd_setweatherballtype(void)
{
if (WEATHER_HAS_EFFECT)
{
@@ -9980,7 +9961,7 @@ static void atkE9_setweatherballtype(void)
gBattlescriptCurrInstr++;
}
-static void atkEA_tryrecycleitem(void)
+static void Cmd_tryrecycleitem(void)
{
u16 *usedHeldItem;
@@ -10003,7 +9984,7 @@ static void atkEA_tryrecycleitem(void)
}
}
-static void atkEB_settypetoterrain(void)
+static void Cmd_settypetoterrain(void)
{
if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, sTerrainToType[gBattleTerrain]))
{
@@ -10018,7 +9999,7 @@ static void atkEB_settypetoterrain(void)
}
}
-static void atkEC_pursuitrelated(void)
+static void Cmd_pursuitrelated(void)
{
gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK);
@@ -10040,7 +10021,7 @@ static void atkEC_pursuitrelated(void)
}
}
-static void atkEF_snatchsetbattlers(void)
+static void Cmd_snatchsetbattlers(void)
{
gEffectBattler = gBattlerAttacker;
@@ -10053,7 +10034,7 @@ static void atkEF_snatchsetbattlers(void)
gBattlescriptCurrInstr++;
}
-static void atkEE_removelightscreenreflect(void) // brick break
+static void Cmd_removelightscreenreflect(void) // brick break
{
u8 opposingSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE;
@@ -10075,7 +10056,7 @@ static void atkEE_removelightscreenreflect(void) // brick break
gBattlescriptCurrInstr++;
}
-static void atkEF_handleballthrow(void)
+static void Cmd_handleballthrow(void)
{
u8 ballMultiplier = 0;
@@ -10184,7 +10165,7 @@ static void atkEF_handleballthrow(void)
gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem);
- if (CalculatePlayerPartyCount() == 6)
+ if (CalculatePlayerPartyCount() == PARTY_SIZE)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -10196,7 +10177,7 @@ static void atkEF_handleballthrow(void)
odds = Sqrt(Sqrt(16711680 / odds));
odds = 1048560 / odds;
- for (shakes = 0; shakes < 4 && Random() < odds; shakes++);
+ for (shakes = 0; shakes < BALL_3_SHAKES_SUCCESS && Random() < odds; shakes++);
if (gLastUsedItem == ITEM_MASTER_BALL)
shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check?
@@ -10209,7 +10190,7 @@ static void atkEF_handleballthrow(void)
gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem);
- if (CalculatePlayerPartyCount() == 6)
+ if (CalculatePlayerPartyCount() == PARTY_SIZE)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -10223,21 +10204,21 @@ static void atkEF_handleballthrow(void)
}
}
-static void atkF0_givecaughtmon(void)
+static void Cmd_givecaughtmon(void)
{
if (GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY)
{
- if (!sub_813B21C())
+ if (!ShouldShowBoxWasFullMessage())
{
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN)));
+ StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON)));
GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
}
else
{
- StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN)));
+ StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); // box the mon was sent to
GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
- StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id()));
+ StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); //box the mon was going to be sent to
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
@@ -10252,7 +10233,7 @@ static void atkF0_givecaughtmon(void)
gBattlescriptCurrInstr++;
}
-static void atkF1_trysetcaughtmondexflags(void)
+static void Cmd_trysetcaughtmondexflags(void)
{
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL);
u32 personality = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL);
@@ -10268,7 +10249,7 @@ static void atkF1_trysetcaughtmondexflags(void)
}
}
-static void atkF2_displaydexinfo(void)
+static void Cmd_displaydexinfo(void)
{
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL);
@@ -10298,7 +10279,7 @@ static void atkF2_displaydexinfo(void)
}
break;
case 3:
- sub_80356D0();
+ InitBattleBgsVideo();
LoadBattleTextboxAndBackground();
gBattle_BG3_X = 0x100;
gBattleCommunication[0]++;
@@ -10387,7 +10368,7 @@ void BattleDestroyYesNoCursorAt(u8 cursorPosition)
CopyBgTilemapBufferToVram(0);
}
-static void atkF3_trygivecaughtmonnick(void)
+static void Cmd_trygivecaughtmonnick(void)
{
switch (gBattleCommunication[MULTIUSE_STATE])
{
@@ -10463,30 +10444,30 @@ static void atkF3_trygivecaughtmonnick(void)
}
}
-static void atkF4_subattackerhpbydmg(void)
+static void Cmd_subattackerhpbydmg(void)
{
gBattleMons[gBattlerAttacker].hp -= gBattleMoveDamage;
gBattlescriptCurrInstr++;
}
-static void atkF5_removeattackerstatus1(void)
+static void Cmd_removeattackerstatus1(void)
{
gBattleMons[gBattlerAttacker].status1 = 0;
gBattlescriptCurrInstr++;
}
-static void atkF6_finishaction(void)
+static void Cmd_finishaction(void)
{
gCurrentActionFuncId = B_ACTION_FINISHED;
}
-static void atkF7_finishturn(void)
+static void Cmd_finishturn(void)
{
gCurrentActionFuncId = B_ACTION_FINISHED;
gCurrentTurnActionNumber = gBattlersCount;
}
-static void atkF8_trainerslideout(void)
+static void Cmd_trainerslideout(void)
{
gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]);
BtlController_EmitTrainerSlideBack(0);
diff --git a/src/battle_setup.c b/src/battle_setup.c
index c2d7cb6c6..33d50807f 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1,25 +1,18 @@
#include "global.h"
-#include "constants/trainers.h"
#include "battle.h"
-#include "constants/battle_setup.h"
#include "battle_setup.h"
#include "battle_transition.h"
#include "main.h"
#include "task.h"
#include "safari_zone.h"
#include "script.h"
-#include "constants/game_stat.h"
#include "event_data.h"
-#include "constants/species.h"
-#include "constants/songs.h"
#include "metatile_behavior.h"
-#include "constants/maps.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "random.h"
#include "starter_choose.h"
#include "script_pokemon_80F8.h"
-#include "constants/items.h"
#include "palette.h"
#include "window.h"
#include "event_object_movement.h"
@@ -42,10 +35,18 @@
#include "fldeff_misc.h"
#include "field_control_avatar.h"
#include "mirage_tower.h"
-#include "constants/map_types.h"
-#include "constants/battle_frontier.h"
#include "field_screen_effect.h"
#include "data.h"
+#include "constants/battle_frontier.h"
+#include "constants/battle_setup.h"
+#include "constants/game_stat.h"
+#include "constants/items.h"
+#include "constants/songs.h"
+#include "constants/map_types.h"
+#include "constants/maps.h"
+#include "constants/species.h"
+#include "constants/trainers.h"
+#include "constants/trainer_hill.h"
enum
{
@@ -72,8 +73,8 @@ static void CB2_EndWildBattle(void);
static void CB2_EndScriptedWildBattle(void);
static u8 GetWildBattleTransition(void);
static u8 GetTrainerBattleTransition(void);
-static void sub_80B1218(void);
-static void sub_80B1234(void);
+static void TryUpdateGymLeaderRematchFromWild(void);
+static void TryUpdateGymLeaderRematchFromTrainer(void);
static void CB2_GiveStarter(void);
static void CB2_StartFirstBattle(void);
static void CB2_EndFirstBattle(void);
@@ -304,7 +305,7 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
[REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112),
[REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY),
[REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F),
- [REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6, VICTORY_ROAD_1F),
+ [REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, VICTORY_ROAD_1F),
[REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY),
[REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN),
[REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY),
@@ -395,8 +396,8 @@ static void DoStandardWildBattle(void)
CreateBattleStartTask(GetWildBattleTransition(), 0);
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
void BattleSetup_StartRoamerBattle(void)
@@ -409,8 +410,8 @@ void BattleSetup_StartRoamerBattle(void)
CreateBattleStartTask(GetWildBattleTransition(), 0);
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
static void DoSafariBattle(void)
@@ -433,8 +434,8 @@ static void DoBattlePikeWildBattle(void)
CreateBattleStartTask(GetWildBattleTransition(), 0);
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
static void DoTrainerBattle(void)
@@ -442,7 +443,7 @@ static void DoTrainerBattle(void)
CreateBattleStartTask(GetTrainerBattleTransition(), 0);
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_TRAINER_BATTLES);
- sub_80B1234();
+ TryUpdateGymLeaderRematchFromTrainer();
}
static void sub_80B0828(void)
@@ -454,7 +455,7 @@ static void sub_80B0828(void)
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_TRAINER_BATTLES);
- sub_80B1234();
+ TryUpdateGymLeaderRematchFromTrainer();
}
// Initiates battle where Wally catches Ralts
@@ -475,8 +476,8 @@ void BattleSetup_StartScriptedWildBattle(void)
CreateBattleStartTask(GetWildBattleTransition(), 0);
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
void BattleSetup_StartLatiBattle(void)
@@ -487,8 +488,8 @@ void BattleSetup_StartLatiBattle(void)
CreateBattleStartTask(GetWildBattleTransition(), 0);
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
void BattleSetup_StartLegendaryBattle(void)
@@ -526,8 +527,8 @@ void BattleSetup_StartLegendaryBattle(void)
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
void StartGroudonKyogreBattle(void)
@@ -543,8 +544,8 @@ void StartGroudonKyogreBattle(void)
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
void StartRegiBattle(void)
@@ -576,8 +577,8 @@ void StartRegiBattle(void)
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
static void CB2_EndWildBattle(void)
@@ -897,7 +898,7 @@ static void CB2_GiveStarter(void)
*GetVarPointer(VAR_STARTER_MON) = gSpecialVar_Result;
starterMon = GetStarterPokemon(gSpecialVar_Result);
- ScriptGiveMon(starterMon, 5, 0, 0, 0, 0);
+ ScriptGiveMon(starterMon, 5, ITEM_NONE, 0, 0, 0);
ResetTasks();
PlayBattleBGM();
SetMainCallback2(CB2_StartFirstBattle);
@@ -919,8 +920,8 @@ static void CB2_StartFirstBattle(void)
ClearPoisonStepCounter();
IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES);
- sub_80EECC8();
- sub_80B1218();
+ IncrementDailyWildBattles();
+ TryUpdateGymLeaderRematchFromWild();
}
}
@@ -930,13 +931,13 @@ static void CB2_EndFirstBattle(void)
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
-static void sub_80B1218(void)
+static void TryUpdateGymLeaderRematchFromWild(void)
{
if (GetGameStat(GAME_STAT_WILD_BATTLES) % 60 == 0)
UpdateGymLeaderRematch();
}
-static void sub_80B1234(void)
+static void TryUpdateGymLeaderRematchFromTrainer(void)
{
if (GetGameStat(GAME_STAT_TRAINER_BATTLES) % 20 == 0)
UpdateGymLeaderRematch();
@@ -960,12 +961,12 @@ static u8 TrainerBattleLoadArg8(const u8 *ptr)
static u16 GetTrainerAFlag(void)
{
- return FLAG_TRAINER_FLAG_START + gTrainerBattleOpponent_A;
+ return TRAINER_FLAGS_START + gTrainerBattleOpponent_A;
}
static u16 GetTrainerBFlag(void)
{
- return FLAG_TRAINER_FLAG_START + gTrainerBattleOpponent_B;
+ return TRAINER_FLAGS_START + gTrainerBattleOpponent_B;
}
static bool32 IsPlayerDefeated(u32 battleOutcome)
@@ -1140,7 +1141,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
case TRAINER_BATTLE_SET_TRAINER_B:
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
return NULL;
- case TRAINER_BATTLE_12:
+ case TRAINER_BATTLE_HILL:
if (gApproachingTrainerId == 0)
{
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
@@ -1192,7 +1193,7 @@ void SetUpTwoTrainersBattle(void)
bool32 GetTrainerFlagFromScriptPointer(const u8 *data)
{
u32 flag = TrainerBattleLoadArg16(data + 2);
- return FlagGet(FLAG_TRAINER_FLAG_START + flag);
+ return FlagGet(TRAINER_FLAGS_START + flag);
}
void SetUpTrainerMovement(void)
@@ -1231,17 +1232,17 @@ static void SetBattledTrainerFlag(void)
bool8 HasTrainerBeenFought(u16 trainerId)
{
- return FlagGet(FLAG_TRAINER_FLAG_START + trainerId);
+ return FlagGet(TRAINER_FLAGS_START + trainerId);
}
void SetTrainerFlag(u16 trainerId)
{
- FlagSet(FLAG_TRAINER_FLAG_START + trainerId);
+ FlagSet(TRAINER_FLAGS_START + trainerId);
}
void ClearTrainerFlag(u16 trainerId)
{
- FlagClear(FLAG_TRAINER_FLAG_START + trainerId);
+ FlagClear(TRAINER_FLAGS_START + trainerId);
}
void BattleSetup_StartTrainerBattle(void)
@@ -1273,7 +1274,7 @@ void BattleSetup_StartTrainerBattle(void)
MarkApproachingPyramidTrainersAsBattled();
}
- else if (sub_81D5C18())
+ else if (InTrainerHillChallenge())
{
gBattleTypeFlags |= BATTLE_TYPE_TRAINER_HILL;
@@ -1288,10 +1289,10 @@ void BattleSetup_StartTrainerBattle(void)
sNoOfPossibleTrainerRetScripts = gNoOfApproachingTrainers;
gNoOfApproachingTrainers = 0;
sShouldCheckTrainerBScript = FALSE;
- gUnknown_03006080 = 0;
+ gWhichTrainerToFaceAfterBattle = 0;
gMain.savedCallback = CB2_EndTrainerBattle;
- if (InBattlePyramid() || sub_81D5C18())
+ if (InBattlePyramid() || InTrainerHillChallenge())
sub_80B0828();
else
DoTrainerBattle();
@@ -1307,7 +1308,7 @@ static void CB2_EndTrainerBattle(void)
}
else if (IsPlayerDefeated(gBattleOutcome) == TRUE)
{
- if (InBattlePyramid() || sub_81D5C18())
+ if (InBattlePyramid() || InTrainerHillChallenge())
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
else
SetMainCallback2(CB2_WhiteOut);
@@ -1315,7 +1316,7 @@ static void CB2_EndTrainerBattle(void)
else
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
- if (!InBattlePyramid() && !sub_81D5C18())
+ if (!InBattlePyramid() && !InTrainerHillChallenge())
{
RegisterTrainerInMatchCall();
SetBattledTrainersFlags();
@@ -1361,12 +1362,12 @@ void ShowTrainerIntroSpeech(void)
sub_80982B8();
}
- else if (sub_81D5C18())
+ else if (InTrainerHillChallenge())
{
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
- CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gSpecialVar_LastTalked));
+ CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gSpecialVar_LastTalked));
else
- CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
+ CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_INTRO, LocalIdToHillTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
sub_80982B8();
}
@@ -1391,7 +1392,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void)
sShouldCheckTrainerBScript = FALSE;
if (sTrainerBBattleScriptRetAddr != NULL)
{
- gUnknown_03006080 = 1;
+ gWhichTrainerToFaceAfterBattle = 1;
return sTrainerBBattleScriptRetAddr;
}
}
@@ -1399,7 +1400,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void)
{
if (sTrainerABattleScriptRetAddr != NULL)
{
- gUnknown_03006080 = 0;
+ gWhichTrainerToFaceAfterBattle = 0;
return sTrainerABattleScriptRetAddr;
}
}
@@ -1581,7 +1582,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u
s32 i;
bool32 ret = FALSE;
- for (i = 0; i <= REMATCH_WALLY_3; i++)
+ for (i = 0; i <= REMATCH_SPECIAL_TRAINER_START; i++)
{
if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && !sub_80B1D94(i))
{
@@ -1640,7 +1641,7 @@ static bool8 IsFirstTrainerIdReadyForRematch(const struct RematchTrainer *table,
if (tableId == -1)
return FALSE;
- if (tableId >= 100)
+ if (tableId >= MAX_REMATCH_ENTRIES)
return FALSE;
if (gSaveBlock1Ptr->trainerRematches[tableId] == 0)
return FALSE;
@@ -1654,7 +1655,7 @@ static bool8 IsTrainerReadyForRematch_(const struct RematchTrainer *table, u16 t
if (tableId == -1)
return FALSE;
- if (tableId >= 100)
+ if (tableId >= MAX_REMATCH_ENTRIES)
return FALSE;
if (gSaveBlock1Ptr->trainerRematches[tableId] == 0)
return FALSE;
diff --git a/src/battle_tent.c b/src/battle_tent.c
index 34e3e9628..b2db0e39c 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -11,140 +11,154 @@
#include "battle_factory_screen.h"
#include "frontier_util.h"
#include "string_util.h"
+#include "constants/battle_tent.h"
+#include "constants/battle_tent_trainers.h"
+#include "constants/battle_tent_mons.h"
#include "constants/items.h"
#include "constants/layouts.h"
#include "constants/region_map_sections.h"
#include "constants/species.h"
+#include "constants/trainers.h"
// This file's functions.
-static void sub_81B99D4(void);
-static void sub_81B9A28(void);
-static void sub_81B9A44(void);
-static void sub_81B9A60(void);
-static void sub_81B9A90(void);
-static void sub_81B9ABC(void);
-static void sub_81B9B00(void);
-static void sub_81B9B28(void);
-static void sub_81B9BA0(void);
-static void sub_81B9BF4(void);
-static void sub_81B9C10(void);
-static void sub_81B9C2C(void);
-static void sub_81B9C70(void);
-static void sub_81B9C98(void);
-static void sub_81B9CF0(void);
-static void sub_81B9D28(void);
-static void sub_81B9D7C(void);
-static void sub_81B9D98(void);
-static void sub_81B9DB4(void);
-static void sub_81B9DF8(void);
-static void sub_81B9E20(void);
-static void sub_81B9E78(void);
-static void sub_81B9E88(void);
-static void sub_81BA040(void);
-static void sub_81B9EC0(void);
+static void InitVerdanturfTentChallenge(void);
+static void GetVerdanturfTentPrize(void);
+static void SetVerdanturfTentPrize(void);
+static void SetVerdanturfTentTrainerGfx(void);
+static void BufferVerdanturfTentTrainerIntro(void);
+static void SaveVerdanturfTentChallenge(void);
+static void SetRandomVerdanturfTentPrize(void);
+static void GiveVerdanturfTentPrize(void);
+static void InitFallarborTentChallenge(void);
+static void GetFallarborTentPrize(void);
+static void SetFallarborTentPrize(void);
+static void SaveFallarborTentChallenge(void);
+static void SetRandomFallarborTentPrize(void);
+static void GiveFallarborTentPrize(void);
+static void BufferFallarborTentTrainerName(void);
+static void InitSlateportTentChallenge(void);
+static void GetSlateportTentPrize(void);
+static void SetSlateportTentPrize(void);
+static void SaveSlateportTentChallenge(void);
+static void SetRandomSlateportTentPrize(void);
+static void GiveSlateportTentPrize(void);
+static void SelectInitialRentalMons(void);
+static void SwapRentalMons(void);
+static void GenerateOpponentMons(void);
+static void GenerateInitialRentalMons(void);
+
+/*
+ * Battle Tents are mini versions of particular Battle Frontier facilities
+ * As such they each share some scripts and functions with their counterpart
+ *
+ * Verdanturf Battle Tent: Battle Palace
+ * Fallarbor Battle Tent: Battle Arena
+ * Slateport Battle Tent: Battle Factory
+ *
+ */
// IWRAM bss
static u16 sRandMonSetId;
// const rom data
-void static (*const gUnknown_086160B4[])(void) =
-{
- sub_81B99D4,
- sub_81B9A28,
- sub_81B9A44,
- sub_81B9A60,
- sub_81B9A90,
- sub_81B9ABC,
- sub_81B9B00,
- sub_81B9B28
+void static (*const sVerdanturfTentFuncs[])(void) =
+{
+ [VERDANTURF_TENT_FUNC_INIT] = InitVerdanturfTentChallenge,
+ [VERDANTURF_TENT_FUNC_GET_PRIZE] = GetVerdanturfTentPrize,
+ [VERDANTURF_TENT_FUNC_SET_PRIZE] = SetVerdanturfTentPrize,
+ [VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX] = SetVerdanturfTentTrainerGfx,
+ [VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO] = BufferVerdanturfTentTrainerIntro,
+ [VERDANTURF_TENT_FUNC_SAVE] = SaveVerdanturfTentChallenge,
+ [VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomVerdanturfTentPrize,
+ [VERDANTURF_TENT_FUNC_GIVE_PRIZE] = GiveVerdanturfTentPrize
};
static const u16 sVerdanturfTentRewards[] = {ITEM_NEST_BALL};
-void static (*const gUnknown_086160D8[])(void) =
+void static (*const sFallarborTentFuncs[])(void) =
{
- sub_81B9BA0,
- sub_81B9BF4,
- sub_81B9C10,
- sub_81B9C2C,
- sub_81B9C70,
- sub_81B9C98,
- sub_81B9CF0
+ [FALLARBOR_TENT_FUNC_INIT] = InitFallarborTentChallenge,
+ [FALLARBOR_TENT_FUNC_GET_PRIZE] = GetFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_SET_PRIZE] = SetFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_SAVE] = SaveFallarborTentChallenge,
+ [FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_GIVE_PRIZE] = GiveFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME] = BufferFallarborTentTrainerName
};
static const u16 sFallarborTentRewards[] = {ITEM_HYPER_POTION};
-void static (*const gUnknown_086160F8[])(void) =
-{
- sub_81B9D28,
- sub_81B9D7C,
- sub_81B9D98,
- sub_81B9DB4,
- sub_81B9DF8,
- sub_81B9E20,
- sub_81B9E78,
- sub_81B9E88,
- sub_81BA040,
- sub_81B9EC0
+void static (*const sSlateportTentFuncs[])(void) =
+{
+ [SLATEPORT_TENT_FUNC_INIT] = InitSlateportTentChallenge,
+ [SLATEPORT_TENT_FUNC_GET_PRIZE] = GetSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_SET_PRIZE] = SetSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_SAVE] = SaveSlateportTentChallenge,
+ [SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_GIVE_PRIZE] = GiveSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_SELECT_RENT_MONS] = SelectInitialRentalMons,
+ [SLATEPORT_TENT_FUNC_SWAP_RENT_MONS] = SwapRentalMons,
+ [SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS] = GenerateOpponentMons,
+ [SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS] = GenerateInitialRentalMons
};
static const u16 sSlateportTentRewards[] = {ITEM_FULL_HEAL};
// code
-void sub_81B99B4(void)
+void CallVerdanturfTentFunction(void)
{
- gUnknown_086160B4[gSpecialVar_0x8004]();
+ sVerdanturfTentFuncs[gSpecialVar_0x8004]();
}
-static void sub_81B99D4(void)
+static void InitVerdanturfTentChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
-static void sub_81B9A28(void)
+static void GetVerdanturfTentPrize(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6A;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.verdanturfTentPrize;
}
-static void sub_81B9A44(void)
+static void SetVerdanturfTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6A = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.verdanturfTentPrize = gSpecialVar_0x8006;
}
-static void sub_81B9A60(void)
+static void SetVerdanturfTentTrainerGfx(void)
{
gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
-static void sub_81B9A90(void)
+static void BufferVerdanturfTentTrainerIntro(void)
{
- if (gTrainerBattleOpponent_A < 300)
+ if (gTrainerBattleOpponent_A < FRONTIER_TRAINERS_COUNT)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
-static void sub_81B9ABC(void)
+static void SaveVerdanturfTentChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = TRUE;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
-static void sub_81B9B00(void)
+static void SetRandomVerdanturfTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6A = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)];
+ gSaveBlock2Ptr->frontier.verdanturfTentPrize = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)];
}
-static void sub_81B9B28(void)
+static void GiveVerdanturfTentPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6A, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.verdanturfTentPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_E6A, gStringVar1);
- gSaveBlock2Ptr->frontier.field_E6A = ITEM_NONE;
+ CopyItemName(gSaveBlock2Ptr->frontier.verdanturfTentPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.verdanturfTentPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
@@ -153,48 +167,48 @@ static void sub_81B9B28(void)
}
}
-void sub_81B9B80(void)
+void CallFallarborTentFunction(void)
{
- gUnknown_086160D8[gSpecialVar_0x8004]();
+ sFallarborTentFuncs[gSpecialVar_0x8004]();
}
-static void sub_81B9BA0(void)
+static void InitFallarborTentChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
-static void sub_81B9BF4(void)
+static void GetFallarborTentPrize(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6C;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.fallarborTentPrize;
}
-static void sub_81B9C10(void)
+static void SetFallarborTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6C = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.fallarborTentPrize = gSpecialVar_0x8006;
}
-static void sub_81B9C2C(void)
+static void SaveFallarborTentChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = TRUE;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
-static void sub_81B9C70(void)
+static void SetRandomFallarborTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6C = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)];
+ gSaveBlock2Ptr->frontier.fallarborTentPrize = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)];
}
-static void sub_81B9C98(void)
+static void GiveFallarborTentPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6C, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.fallarborTentPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_E6C, gStringVar1);
- gSaveBlock2Ptr->frontier.field_E6C = ITEM_NONE;
+ CopyItemName(gSaveBlock2Ptr->frontier.fallarborTentPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.fallarborTentPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
@@ -203,53 +217,53 @@ static void sub_81B9C98(void)
}
}
-static void sub_81B9CF0(void)
+static void BufferFallarborTentTrainerName(void)
{
GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
}
-void sub_81B9D08(void)
+void CallSlateportTentFunction(void)
{
- gUnknown_086160F8[gSpecialVar_0x8004]();
+ sSlateportTentFuncs[gSpecialVar_0x8004]();
}
-static void sub_81B9D28(void)
+static void InitSlateportTentChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
-static void sub_81B9D7C(void)
+static void GetSlateportTentPrize(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6E;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.slateportTentPrize;
}
-static void sub_81B9D98(void)
+static void SetSlateportTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6E = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.slateportTentPrize = gSpecialVar_0x8006;
}
-static void sub_81B9DB4(void)
+static void SaveSlateportTentChallenge(void)
{
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = TRUE;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
-static void sub_81B9DF8(void)
+static void SetRandomSlateportTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6E = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)];
+ gSaveBlock2Ptr->frontier.slateportTentPrize = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)];
}
-static void sub_81B9E20(void)
+static void GiveSlateportTentPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6E, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.slateportTentPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_E6E, gStringVar1);
- gSaveBlock2Ptr->frontier.field_E6E = ITEM_NONE;
+ CopyItemName(gSaveBlock2Ptr->frontier.slateportTentPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.slateportTentPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
@@ -258,13 +272,13 @@ static void sub_81B9E20(void)
}
}
-static void sub_81B9E78(void)
+static void SelectInitialRentalMons(void)
{
ZeroPlayerPartyMons();
DoBattleFactorySelectScreen();
}
-static void sub_81B9E88(void)
+static void SwapRentalMons(void)
{
DoBattleFactorySwapScreen();
}
@@ -275,7 +289,7 @@ bool8 InSlateportBattleTent(void)
&& (gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_CORRIDOR || gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_BATTLE_ROOM);
}
-static void sub_81B9EC0(void)
+static void GenerateInitialRentalMons(void)
{
s32 i, j;
u8 firstMonId;
@@ -299,7 +313,7 @@ static void sub_81B9EC0(void)
while (i != PARTY_SIZE)
{
// Cannot have two pokemon of the same species.
- monSetId = Random() % 70;
+ monSetId = Random() % NUM_SLATEPORT_TENT_MONS;
for (j = firstMonId; j < firstMonId + i; j++)
{
u16 monId = monIds[j];
@@ -337,14 +351,14 @@ static void sub_81B9EC0(void)
}
}
-static void sub_81BA040(void)
+static void GenerateOpponentMons(void)
{
u16 trainerId;
s32 i, j, k;
- register const u16 *monSets asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
- u16 species[3];
- u16 heldItems[3];
- s32 setsCount = 0;
+ register const u16 *monSet asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
+ u16 species[FRONTIER_PARTY_SIZE];
+ u16 heldItems[FRONTIER_PARTY_SIZE];
+ s32 monId = 0;
gFacilityTrainers = gSlateportBattleTentTrainers;
gFacilityTrainerMons = gSlateportBattleTentMons;
@@ -353,7 +367,7 @@ static void sub_81BA040(void)
{
do
{
- trainerId = Random() % 30;
+ trainerId = Random() % NUM_BATTLE_TENT_TRAINERS;
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -362,21 +376,21 @@ static void sub_81BA040(void)
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
gTrainerBattleOpponent_A = trainerId;
- while (gFacilityTrainers[gTrainerBattleOpponent_A].monSets[setsCount] != 0xFFFF)
- setsCount++;
- if (setsCount > 8)
+ while (gFacilityTrainers[gTrainerBattleOpponent_A].monSet[monId] != 0xFFFF)
+ monId++;
+ if (monId > 8)
break;
- setsCount = 0;
+ monId = 0;
}
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2)
gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
- monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+ monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet;
i = 0;
- while (i != 3)
+ while (i != FRONTIER_PARTY_SIZE)
{
- sRandMonSetId = monSets[Random() % setsCount];
+ sRandMonSetId = monSet[Random() % monId];
for (j = 0; j < 6; j++)
{
if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species)
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 8ef848e39..8f6393cbf 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -23,45 +23,52 @@
#include "field_message_box.h"
#include "tv.h"
#include "battle_factory.h"
+#include "constants/apprentice.h"
#include "constants/battle_frontier.h"
+#include "constants/battle_frontier_mons.h"
+#include "constants/battle_tent_mons.h"
+#include "constants/battle_tent_trainers.h"
+#include "constants/battle_tower.h"
+#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/trainers.h"
#include "constants/event_objects.h"
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/easy_chat.h"
+#include "constants/tv.h"
-extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224157[];
-extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224166[];
+extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer[];
+extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer[];
// EWRAM vars.
EWRAM_DATA const struct BattleFrontierTrainer *gFacilityTrainers = NULL;
EWRAM_DATA const struct FacilityMon *gFacilityTrainerMons = NULL;
// IWRAM common
-u16 gUnknown_03006298[4];
+u16 gUnknown_03006298[MAX_FRONTIER_PARTY_SIZE];
// This file's functions.
-static void sub_8161F94(void);
-static void sub_8162054(void);
-static void sub_81620F4(void);
-static void ChooseNextBattleTowerTrainer(void);
-static void sub_81621C0(void);
+static void InitTowerChallenge(void);
+static void GetTowerData(void);
+static void SetTowerData(void);
+static void SetNextFacilityOpponent(void);
+static void SetTowerBattleWon(void);
static void AwardBattleTowerRibbons(void);
-static void SaveBattleTowerProgress(void);
-static void sub_8163914(void);
+static void SaveTowerChallenge(void);
+static void GetOpponentIntroSpeech(void);
static void nullsub_61(void);
-static void SpriteCB_Null6(void);
-static void sub_81642A0(void);
-static void sub_8164828(void);
-static void sub_8164B74(void);
+static void nullsub_116(void);
+static void LoadMultiPartnerCandidatesData(void);
+static void ShowPartnerCandidateMessage(void);
+static void LoadLinkMultiOpponentsData(void);
static void sub_8164DCC(void);
-static void sub_8164DE4(void);
-static void sub_8164E04(void);
+static void SetMultiPartnerGfx(void);
+static void SetTowerInterviewData(void);
static void ValidateBattleTowerRecordChecksums(void);
static void SaveCurrentWinStreak(void);
static void ValidateApprenticesChecksums(void);
-static void sub_8165E18(void);
+static void SetNextBattleTentOpponent(void);
static void CopyEReaderTrainerFarewellMessage(void);
static void ClearBattleTowerRecord(struct EmeraldBattleTowerRecord *record);
static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount);
@@ -198,7 +205,7 @@ const u8 gTowerFemaleFacilityClasses[20] =
FACILITY_CLASS_PARASOL_LADY,
FACILITY_CLASS_SWIMMER_F,
FACILITY_CLASS_PICNICKER,
- FACILITY_CLASS_POKEMON_BREEDER_F,
+ FACILITY_CLASS_PKMN_BREEDER_F,
FACILITY_CLASS_PKMN_RANGER_F,
FACILITY_CLASS_LASS
};
@@ -261,755 +268,499 @@ const u8 gTowerFemaleTrainerGfxIds[20] =
EVENT_OBJ_GFX_LASS
};
-static const u8 sRubyFacilityClassToEmerald[][2] =
-{
- {0x00, FACILITY_CLASS_AQUA_LEADER_ARCHIE},
- {0x01, FACILITY_CLASS_AQUA_GRUNT_M},
- {0x02, FACILITY_CLASS_AQUA_GRUNT_F},
- {0x03, FACILITY_CLASS_AROMA_LADY},
- {0x04, FACILITY_CLASS_RUIN_MANIAC},
- {0x05, FACILITY_CLASS_INTERVIEWER},
- {0x06, FACILITY_CLASS_TUBER_F},
- {0x07, FACILITY_CLASS_TUBER_M},
- {0x08, FACILITY_CLASS_COOLTRAINER_M},
- {0x09, FACILITY_CLASS_COOLTRAINER_F},
- {0x0a, FACILITY_CLASS_HEX_MANIAC},
- {0x0b, FACILITY_CLASS_LADY},
- {0x0c, FACILITY_CLASS_BEAUTY},
- {0x0d, FACILITY_CLASS_RICH_BOY},
- {0x0e, FACILITY_CLASS_POKEMANIAC},
- {0x0f, FACILITY_CLASS_SWIMMER_M},
- {0x10, FACILITY_CLASS_BLACK_BELT},
- {0x11, FACILITY_CLASS_GUITARIST},
- {0x12, FACILITY_CLASS_KINDLER},
- {0x13, FACILITY_CLASS_CAMPER},
- {0x14, FACILITY_CLASS_BUG_MANIAC},
- {0x15, FACILITY_CLASS_PSYCHIC_M},
- {0x16, FACILITY_CLASS_PSYCHIC_F},
- {0x17, FACILITY_CLASS_GENTLEMAN},
- {0x18, FACILITY_CLASS_ELITE_FOUR_SIDNEY},
- {0x19, FACILITY_CLASS_ELITE_FOUR_PHOEBE},
- {0x1a, FACILITY_CLASS_LEADER_ROXANNE},
- {0x1b, FACILITY_CLASS_LEADER_BRAWLY},
- {0x1c, FACILITY_CLASS_LEADER_TATE_AND_LIZA},
- {0x1d, FACILITY_CLASS_SCHOOL_KID_M},
- {0x1e, FACILITY_CLASS_SCHOOL_KID_F},
- {0x1f, FACILITY_CLASS_SR_AND_JR},
- {0x20, FACILITY_CLASS_POKEFAN_M},
- {0x21, FACILITY_CLASS_POKEFAN_F},
- {0x22, FACILITY_CLASS_EXPERT_M},
- {0x23, FACILITY_CLASS_EXPERT_F},
- {0x24, FACILITY_CLASS_YOUNGSTER},
- {0x25, FACILITY_CLASS_CHAMPION_WALLACE},
- {0x26, FACILITY_CLASS_FISHERMAN},
- {0x27, FACILITY_CLASS_CYCLING_TRIATHLETE_M},
- {0x28, FACILITY_CLASS_CYCLING_TRIATHLETE_F},
- {0x29, FACILITY_CLASS_RUNNING_TRIATHLETE_M},
- {0x2a, FACILITY_CLASS_RUNNING_TRIATHLETE_F},
- {0x2b, FACILITY_CLASS_SWIMMING_TRIATHLETE_M},
- {0x2c, FACILITY_CLASS_SWIMMING_TRIATHLETE_F},
- {0x2d, FACILITY_CLASS_DRAGON_TAMER},
- {0x2e, FACILITY_CLASS_BIRD_KEEPER},
- {0x2f, FACILITY_CLASS_NINJA_BOY},
- {0x30, FACILITY_CLASS_BATTLE_GIRL},
- {0x31, FACILITY_CLASS_PARASOL_LADY},
- {0x32, FACILITY_CLASS_SWIMMER_F},
- {0x33, FACILITY_CLASS_PICNICKER},
- {0x34, FACILITY_CLASS_TWINS},
- {0x35, FACILITY_CLASS_SAILOR},
- {0x38, FACILITY_CLASS_COLLECTOR},
- {0x39, FACILITY_CLASS_WALLY},
- {0x3a, FACILITY_CLASS_BRENDAN},
- {0x3b, FACILITY_CLASS_BRENDAN_2},
- {0x3c, FACILITY_CLASS_BRENDAN_3},
- {0x3d, FACILITY_CLASS_MAY},
- {0x3e, FACILITY_CLASS_MAY_2},
- {0x3f, FACILITY_CLASS_MAY_3},
- {0x40, FACILITY_CLASS_PKMN_BREEDER_M},
- {0x41, FACILITY_CLASS_POKEMON_BREEDER_F},
- {0x42, FACILITY_CLASS_PKMN_RANGER_M},
- {0x43, FACILITY_CLASS_PKMN_RANGER_F},
- {0x44, FACILITY_CLASS_MAGMA_LEADER_MAXIE},
- {0x45, FACILITY_CLASS_MAGMA_GRUNT_M},
- {0x46, FACILITY_CLASS_MAGMA_GRUNT_F},
- {0x47, FACILITY_CLASS_LASS},
- {0x48, FACILITY_CLASS_BUG_CATCHER},
- {0x49, FACILITY_CLASS_HIKER},
- {0x4a, FACILITY_CLASS_YOUNG_COUPLE},
- {0x4b, FACILITY_CLASS_OLD_COUPLE},
- {0x4c, FACILITY_CLASS_SIS_AND_BRO},
-};
-
-static const u8 *const gUnknown_085DCFD8[] =
-{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244383,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244413,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6
-};
-
-static const u8 *const gUnknown_085DCFEC[] =
-{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244549,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5
-};
-
-static const u8 *const gUnknown_085DD000[] =
-{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244618,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244643,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4
-};
-
-static const u8 *const gUnknown_085DD014[] =
-{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7
-};
-
-static const u8 *const gUnknown_085DD028[] =
-{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244939,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244989,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6
+// Excludes the unused RS_FACILITY_CLASS_BOARDER_1 and _2
+static const u8 sRubyFacilityClassToEmerald[RS_FACILITY_CLASSES_COUNT - 2][2] =
+{
+ {RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE, FACILITY_CLASS_AQUA_LEADER_ARCHIE},
+ {RS_FACILITY_CLASS_AQUA_GRUNT_M, FACILITY_CLASS_AQUA_GRUNT_M},
+ {RS_FACILITY_CLASS_AQUA_GRUNT_F, FACILITY_CLASS_AQUA_GRUNT_F},
+ {RS_FACILITY_CLASS_AROMA_LADY, FACILITY_CLASS_AROMA_LADY},
+ {RS_FACILITY_CLASS_RUIN_MANIAC, FACILITY_CLASS_RUIN_MANIAC},
+ {RS_FACILITY_CLASS_INTERVIEWER, FACILITY_CLASS_INTERVIEWER},
+ {RS_FACILITY_CLASS_TUBER_F, FACILITY_CLASS_TUBER_F},
+ {RS_FACILITY_CLASS_TUBER_M, FACILITY_CLASS_TUBER_M},
+ {RS_FACILITY_CLASS_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_M},
+ {RS_FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_F},
+ {RS_FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_HEX_MANIAC},
+ {RS_FACILITY_CLASS_LADY, FACILITY_CLASS_LADY},
+ {RS_FACILITY_CLASS_BEAUTY, FACILITY_CLASS_BEAUTY},
+ {RS_FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_RICH_BOY},
+ {RS_FACILITY_CLASS_POKEMANIAC, FACILITY_CLASS_POKEMANIAC},
+ {RS_FACILITY_CLASS_SWIMMER_M, FACILITY_CLASS_SWIMMER_M},
+ {RS_FACILITY_CLASS_BLACK_BELT, FACILITY_CLASS_BLACK_BELT},
+ {RS_FACILITY_CLASS_GUITARIST, FACILITY_CLASS_GUITARIST},
+ {RS_FACILITY_CLASS_KINDLER, FACILITY_CLASS_KINDLER},
+ {RS_FACILITY_CLASS_CAMPER, FACILITY_CLASS_CAMPER},
+ {RS_FACILITY_CLASS_BUG_MANIAC, FACILITY_CLASS_BUG_MANIAC},
+ {RS_FACILITY_CLASS_PSYCHIC_M, FACILITY_CLASS_PSYCHIC_M},
+ {RS_FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_PSYCHIC_F},
+ {RS_FACILITY_CLASS_GENTLEMAN, FACILITY_CLASS_GENTLEMAN},
+ {RS_FACILITY_CLASS_ELITE_FOUR_M, FACILITY_CLASS_ELITE_FOUR_SIDNEY},
+ {RS_FACILITY_CLASS_ELITE_FOUR_F, FACILITY_CLASS_ELITE_FOUR_PHOEBE},
+ {RS_FACILITY_CLASS_LEADER_F, FACILITY_CLASS_LEADER_ROXANNE},
+ {RS_FACILITY_CLASS_LEADER_M, FACILITY_CLASS_LEADER_BRAWLY},
+ {RS_FACILITY_CLASS_LEADER_MF, FACILITY_CLASS_LEADER_TATE_AND_LIZA},
+ {RS_FACILITY_CLASS_SCHOOL_KID_M, FACILITY_CLASS_SCHOOL_KID_M},
+ {RS_FACILITY_CLASS_SCHOOL_KID_F, FACILITY_CLASS_SCHOOL_KID_F},
+ {RS_FACILITY_CLASS_SR_AND_JR, FACILITY_CLASS_SR_AND_JR},
+ {RS_FACILITY_CLASS_POKEFAN_M, FACILITY_CLASS_POKEFAN_M},
+ {RS_FACILITY_CLASS_POKEFAN_F, FACILITY_CLASS_POKEFAN_F},
+ {RS_FACILITY_CLASS_EXPERT_M, FACILITY_CLASS_EXPERT_M},
+ {RS_FACILITY_CLASS_EXPERT_F, FACILITY_CLASS_EXPERT_F},
+ {RS_FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_YOUNGSTER},
+ {RS_FACILITY_CLASS_CHAMPION, FACILITY_CLASS_CHAMPION_WALLACE},
+ {RS_FACILITY_CLASS_FISHERMAN, FACILITY_CLASS_FISHERMAN},
+ {RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M, FACILITY_CLASS_CYCLING_TRIATHLETE_M},
+ {RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F, FACILITY_CLASS_CYCLING_TRIATHLETE_F},
+ {RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M, FACILITY_CLASS_RUNNING_TRIATHLETE_M},
+ {RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F, FACILITY_CLASS_RUNNING_TRIATHLETE_F},
+ {RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M, FACILITY_CLASS_SWIMMING_TRIATHLETE_M},
+ {RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F, FACILITY_CLASS_SWIMMING_TRIATHLETE_F},
+ {RS_FACILITY_CLASS_DRAGON_TAMER, FACILITY_CLASS_DRAGON_TAMER},
+ {RS_FACILITY_CLASS_BIRD_KEEPER, FACILITY_CLASS_BIRD_KEEPER},
+ {RS_FACILITY_CLASS_NINJA_BOY, FACILITY_CLASS_NINJA_BOY},
+ {RS_FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL},
+ {RS_FACILITY_CLASS_PARASOL_LADY, FACILITY_CLASS_PARASOL_LADY},
+ {RS_FACILITY_CLASS_SWIMMER_F, FACILITY_CLASS_SWIMMER_F},
+ {RS_FACILITY_CLASS_PICNICKER, FACILITY_CLASS_PICNICKER},
+ {RS_FACILITY_CLASS_TWINS, FACILITY_CLASS_TWINS},
+ {RS_FACILITY_CLASS_SAILOR, FACILITY_CLASS_SAILOR},
+ {RS_FACILITY_CLASS_COLLECTOR, FACILITY_CLASS_COLLECTOR},
+ {RS_FACILITY_CLASS_WALLY, FACILITY_CLASS_WALLY},
+ {RS_FACILITY_CLASS_BRENDAN_1, FACILITY_CLASS_BRENDAN},
+ {RS_FACILITY_CLASS_BRENDAN_2, FACILITY_CLASS_BRENDAN_2},
+ {RS_FACILITY_CLASS_BRENDAN_3, FACILITY_CLASS_BRENDAN_3},
+ {RS_FACILITY_CLASS_MAY_1, FACILITY_CLASS_MAY},
+ {RS_FACILITY_CLASS_MAY_2, FACILITY_CLASS_MAY_2},
+ {RS_FACILITY_CLASS_MAY_3, FACILITY_CLASS_MAY_3},
+ {RS_FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_PKMN_BREEDER_M},
+ {RS_FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_PKMN_BREEDER_F},
+ {RS_FACILITY_CLASS_PKMN_RANGER_M, FACILITY_CLASS_PKMN_RANGER_M},
+ {RS_FACILITY_CLASS_PKMN_RANGER_F, FACILITY_CLASS_PKMN_RANGER_F},
+ {RS_FACILITY_CLASS_MAGMA_LEADER, FACILITY_CLASS_MAGMA_LEADER_MAXIE},
+ {RS_FACILITY_CLASS_MAGMA_GRUNT_M, FACILITY_CLASS_MAGMA_GRUNT_M},
+ {RS_FACILITY_CLASS_MAGMA_GRUNT_F, FACILITY_CLASS_MAGMA_GRUNT_F},
+ {RS_FACILITY_CLASS_LASS, FACILITY_CLASS_LASS},
+ {RS_FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER},
+ {RS_FACILITY_CLASS_HIKER, FACILITY_CLASS_HIKER},
+ {RS_FACILITY_CLASS_YOUNG_COUPLE, FACILITY_CLASS_YOUNG_COUPLE},
+ {RS_FACILITY_CLASS_OLD_COUPLE, FACILITY_CLASS_OLD_COUPLE},
+ {RS_FACILITY_CLASS_SIS_AND_BRO, FACILITY_CLASS_SIS_AND_BRO},
};
-static const u8 *const gUnknown_085DD03C[] =
+#define PARTNER_TEXTS(name) \
+ BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Intro, \
+ BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Mon1, \
+ BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Mon2Ask, \
+ BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Accept, \
+ BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Reject
+
+static const u8 *const sPartnerApprenticeTexts1[] =
+{
+ PARTNER_TEXTS(Apprentice1)
+};
+
+static const u8 *const sPartnerApprenticeTexts2[] =
+{
+ PARTNER_TEXTS(Apprentice2)
+};
+
+static const u8 *const sPartnerApprenticeTexts3[] =
+{
+ PARTNER_TEXTS(Apprentice3)
+};
+
+static const u8 *const sPartnerApprenticeTexts4[] =
+{
+ PARTNER_TEXTS(Apprentice4)
+};
+
+static const u8 *const sPartnerApprenticeTexts5[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93
+ PARTNER_TEXTS(Apprentice5)
};
-static const u8 *const gUnknown_085DD050[] =
+static const u8 *const sPartnerApprenticeTexts6[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07
+ PARTNER_TEXTS(Apprentice6)
};
-static const u8 *const gUnknown_085DD064[] =
+static const u8 *const sPartnerApprenticeTexts7[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B
+ PARTNER_TEXTS(Apprentice7)
};
-static const u8 *const gUnknown_085DD078[] =
+static const u8 *const sPartnerApprenticeTexts8[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98
+ PARTNER_TEXTS(Apprentice8)
};
-static const u8 *const gUnknown_085DD08C[] =
+static const u8 *const sPartnerApprenticeTexts9[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245013,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245087,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0
+ PARTNER_TEXTS(Apprentice9)
};
-static const u8 *const gUnknown_085DD0A0[] =
+static const u8 *const sPartnerApprenticeTexts10[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245196,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A
+ PARTNER_TEXTS(Apprentice10)
};
-static const u8 *const gUnknown_085DD0B4[] =
+static const u8 *const sPartnerApprenticeTexts11[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245406,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245464,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3
+ PARTNER_TEXTS(Apprentice11)
};
-static const u8 *const gUnknown_085DD0C8[] =
+static const u8 *const sPartnerApprenticeTexts12[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245535,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245656
+ PARTNER_TEXTS(Apprentice12)
};
-static const u8 *const gUnknown_085DD0DC[] =
+static const u8 *const sPartnerApprenticeTexts13[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245740,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F
+ PARTNER_TEXTS(Apprentice13)
};
-static const u8 *const gUnknown_085DD0F0[] =
+static const u8 *const sPartnerApprenticeTexts14[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245851,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245923,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F
+ PARTNER_TEXTS(Apprentice14)
};
-static const u8 *const gUnknown_085DD104[] =
+static const u8 *const sPartnerApprenticeTexts15[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E
+ PARTNER_TEXTS(Apprentice15)
};
-static const u8 *const gUnknown_085DD118[] =
+static const u8 *const sPartnerApprenticeTexts16[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D
+ PARTNER_TEXTS(Apprentice16)
};
-static const u8 *const gUnknown_085DD12C[] =
+static const u8 *const sPartnerTextsLass[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07
+ PARTNER_TEXTS(Lass)
};
-static const u8 *const gUnknown_085DD140[] =
+static const u8 *const sPartnerTextsYoungster[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0
+ PARTNER_TEXTS(Youngster)
};
-static const u8 *const gUnknown_085DD154[] =
+static const u8 *const sPartnerTextsHiker[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC
+ PARTNER_TEXTS(Hiker)
};
-static const u8 *const gUnknown_085DD168[] =
+static const u8 *const sPartnerTextsBeauty[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246002
+ PARTNER_TEXTS(Beauty)
};
-static const u8 *const gUnknown_085DD17C[] =
+static const u8 *const sPartnerTextsFisherman[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246020,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246051,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246082,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D
+ PARTNER_TEXTS(Fisherman)
};
-static const u8 *const gUnknown_085DD190[] =
+static const u8 *const sPartnerTextsLady[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5
+ PARTNER_TEXTS(Lady)
};
-static const u8 *const gUnknown_085DD1A4[] =
+static const u8 *const sPartnerTextsCyclingTriathleteF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246244,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4
+ PARTNER_TEXTS(CyclingTriathleteF)
};
-static const u8 *const gUnknown_085DD1B8[] =
+static const u8 *const sPartnerTextsBugCatcher[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF
+ PARTNER_TEXTS(BugCatcher)
};
-static const u8 *const gUnknown_085DD1CC[] =
+static const u8 *const sPartnerTextsSchoolKidM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246449,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246478,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246529
+ PARTNER_TEXTS(SchoolKidM)
};
-static const u8 *const gUnknown_085DD1E0[] =
+static const u8 *const sPartnerTextsRichBoy[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246571,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246605,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A
+ PARTNER_TEXTS(RichBoy)
};
-static const u8 *const gUnknown_085DD1F4[] =
+static const u8 *const sPartnerTextsBlackBelt[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246662,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246686,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A
+ PARTNER_TEXTS(BlackBelt)
};
-static const u8 *const gUnknown_085DD208[] =
+static const u8 *const sPartnerTextsTuberF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246741,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246760,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246791,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6
+ PARTNER_TEXTS(TuberF)
};
-static const u8 *const gUnknown_085DD21C[] =
+static const u8 *const sPartnerTextsHexManiac[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246831,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246864,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE
+ PARTNER_TEXTS(HexManiac)
};
-static const u8 *const gUnknown_085DD230[] =
+static const u8 *const sPartnerTextsPkmnBreederM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1
+ PARTNER_TEXTS(PkmnBreederM)
};
-static const u8 *const gUnknown_085DD244[] =
+static const u8 *const sPartnerTextsRunningTriathleteF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7
+ PARTNER_TEXTS(RunningTriathleteF)
};
-static const u8 *const gUnknown_085DD258[] =
+static const u8 *const sPartnerTextsRunningTriathleteM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9
+ PARTNER_TEXTS(RunningTriathleteM)
};
-static const u8 *const gUnknown_085DD26C[] =
+static const u8 *const sPartnerTextsBattleGirl[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9
+ PARTNER_TEXTS(BattleGirl)
};
-static const u8 *const gUnknown_085DD280[] =
+static const u8 *const sPartnerTextsCyclingTriathleteM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3
+ PARTNER_TEXTS(CyclingTriathleteM)
};
-static const u8 *const gUnknown_085DD294[] =
+static const u8 *const sPartnerTextsTuberM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE
+ PARTNER_TEXTS(TuberM)
};
-static const u8 *const gUnknown_085DD2A8[] =
+static const u8 *const sPartnerTextsGuitarist[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247013
+ PARTNER_TEXTS(Guitarist)
};
-static const u8 *const gUnknown_085DD2BC[] =
+static const u8 *const sPartnerTextsGentleman[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A
+ PARTNER_TEXTS(Gentleman)
};
-static const u8 *const gUnknown_085DD2D0[] =
+static const u8 *const sPartnerTextsPokefanM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247238
+ PARTNER_TEXTS(PokefanM)
};
-static const u8 *const gUnknown_085DD2E4[] =
+static const u8 *const sPartnerTextsExpertM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247268,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247291,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247313,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247348
+ PARTNER_TEXTS(ExpertM)
};
-static const u8 *const gUnknown_085DD2F8[] =
+static const u8 *const sPartnerTextsExpertF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247438
+ PARTNER_TEXTS(ExpertF)
};
-static const u8 *const gUnknown_085DD30C[] =
+static const u8 *const sPartnerTextsDragonTamer[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247470,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247484,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D
+ PARTNER_TEXTS(DragonTamer)
};
-static const u8 *const gUnknown_085DD320[] =
+static const u8 *const sPartnerTextsBirdKeeper[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5
+ PARTNER_TEXTS(BirdKeeper)
};
-static const u8 *const gUnknown_085DD334[] =
+static const u8 *const sPartnerTextsNinjaBoy[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247629,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247655,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED
+ PARTNER_TEXTS(NinjaBoy)
};
-static const u8 *const gUnknown_085DD348[] =
+static const u8 *const sPartnerTextsParasolLady[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247724,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247749,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247807
+ PARTNER_TEXTS(ParasolLady)
};
-static const u8 *const gUnknown_085DD35C[] =
+static const u8 *const sPartnerTextsBugManiac[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247838,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247854,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247889,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D
+ PARTNER_TEXTS(BugManiac)
};
-static const u8 *const gUnknown_085DD370[] =
+static const u8 *const sPartnerTextsSailor[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247942,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247991,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18
+ PARTNER_TEXTS(Sailor)
};
-static const u8 *const gUnknown_085DD384[] =
+static const u8 *const sPartnerTextsCollector[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16
+ PARTNER_TEXTS(Collector)
};
-static const u8 *const gUnknown_085DD398[] =
+static const u8 *const sPartnerTextsPkmnRangerM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23
+ PARTNER_TEXTS(PkmnRangerM)
};
-static const u8 *const gUnknown_085DD3AC[] =
+static const u8 *const sPartnerTextsPkmnRangerF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E
+ PARTNER_TEXTS(PkmnRangerF)
};
-static const u8 *const gUnknown_085DD3C0[] =
+static const u8 *const sPartnerTextsAromaLady[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E
+ PARTNER_TEXTS(AromaLady)
};
-static const u8 *const gUnknown_085DD3D4[] =
+static const u8 *const sPartnerTextsRuinManiac[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D
+ PARTNER_TEXTS(RuinManiac)
};
-static const u8 *const gUnknown_085DD3E8[] =
+static const u8 *const sPartnerTextsCoolTrainerM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248031,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E
+ PARTNER_TEXTS(CoolTrainerM)
};
-static const u8 *const gUnknown_085DD3FC[] =
+static const u8 *const sPartnerTextsCoolTrainerF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248128,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248151
+ PARTNER_TEXTS(CoolTrainerF)
};
-static const u8 *const gUnknown_085DD410[] =
+static const u8 *const sPartnerTextsPokemaniac[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248221,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F
+ PARTNER_TEXTS(Pokemaniac)
};
-static const u8 *const gUnknown_085DD424[] =
+static const u8 *const sPartnerTextsKindler[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248297,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248321,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D
+ PARTNER_TEXTS(Kindler)
};
-static const u8 *const gUnknown_085DD438[] =
+static const u8 *const sPartnerTextsCamper[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248369,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248401,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248431
+ PARTNER_TEXTS(Camper)
};
-static const u8 *const gUnknown_085DD44C[] =
+static const u8 *const sPartnerTextsPicnicker[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248467,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248477,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248517
+ PARTNER_TEXTS(Picnicker)
};
-static const u8 *const gUnknown_085DD460[] =
+static const u8 *const sPartnerTextsPsychicM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248553,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248614
+ PARTNER_TEXTS(PsychicM)
};
-static const u8 *const gUnknown_085DD474[] =
+static const u8 *const sPartnerTextsPsychicF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248661,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248671,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF
+ PARTNER_TEXTS(PsychicF)
};
-static const u8 *const gUnknown_085DD488[] =
+static const u8 *const sPartnerTextsSchoolKidF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248725,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248751,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248781,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7
+ PARTNER_TEXTS(SchoolKidF)
};
-static const u8 *const gUnknown_085DD49C[] =
+static const u8 *const sPartnerTextsPkmnBreederF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248829,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248892,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248908
+ PARTNER_TEXTS(PkmnBreederF)
};
-static const u8 *const gUnknown_085DD4B0[] =
+static const u8 *const sPartnerTextsPokefanF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7
+ PARTNER_TEXTS(PokefanF)
};
-static const u8 *const gUnknown_085DD4C4[] =
+static const u8 *const sPartnerTextsSwimmerF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB
+ PARTNER_TEXTS(SwimmerF)
};
-static const u8 *const gUnknown_085DD4D8[] =
+static const u8 *const sPartnerTextsSwimmingTriathleteM[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE
+ PARTNER_TEXTS(SwimmingTriathleteM)
};
-static const u8 *const gUnknown_085DD4EC[] =
+static const u8 *const sPartnerTextsSwimmingTriathleteF[] =
{
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF,
- BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04
+ PARTNER_TEXTS(SwimmingTriathleteF)
+};
+
+static const u8 *const sPartnerTextsSwimmerM[] =
+{
+ PARTNER_TEXTS(SwimmerM)
};
struct
{
u32 facilityClass;
const u8 *const *strings;
-} const gUnknown_085DD500[] =
-{
- {FACILITY_CLASS_LASS, gUnknown_085DD118},
- {FACILITY_CLASS_YOUNGSTER, gUnknown_085DD12C},
- {FACILITY_CLASS_HIKER, gUnknown_085DD140},
- {FACILITY_CLASS_BEAUTY, gUnknown_085DD154},
- {FACILITY_CLASS_FISHERMAN, gUnknown_085DD168},
- {FACILITY_CLASS_LADY, gUnknown_085DD17C},
- {FACILITY_CLASS_CYCLING_TRIATHLETE_F, gUnknown_085DD190},
- {FACILITY_CLASS_BUG_CATCHER, gUnknown_085DD1A4},
- {FACILITY_CLASS_SCHOOL_KID_M, gUnknown_085DD1B8},
- {FACILITY_CLASS_RICH_BOY, gUnknown_085DD1CC},
- {FACILITY_CLASS_BLACK_BELT, gUnknown_085DD1E0},
- {FACILITY_CLASS_TUBER_F, gUnknown_085DD1F4},
- {FACILITY_CLASS_HEX_MANIAC, gUnknown_085DD208},
- {FACILITY_CLASS_PKMN_BREEDER_M, gUnknown_085DD21C},
- {FACILITY_CLASS_RUNNING_TRIATHLETE_F, gUnknown_085DD230},
- {FACILITY_CLASS_RUNNING_TRIATHLETE_M, gUnknown_085DD244},
- {FACILITY_CLASS_BATTLE_GIRL, gUnknown_085DD258},
- {FACILITY_CLASS_CYCLING_TRIATHLETE_M, gUnknown_085DD26C},
- {FACILITY_CLASS_TUBER_M, gUnknown_085DD280},
- {FACILITY_CLASS_GUITARIST, gUnknown_085DD294},
- {FACILITY_CLASS_GENTLEMAN, gUnknown_085DD2A8},
- {FACILITY_CLASS_POKEFAN_M, gUnknown_085DD2BC},
- {FACILITY_CLASS_EXPERT_M, gUnknown_085DD2D0},
- {FACILITY_CLASS_EXPERT_F, gUnknown_085DD2E4},
- {FACILITY_CLASS_DRAGON_TAMER, gUnknown_085DD2F8},
- {FACILITY_CLASS_BIRD_KEEPER, gUnknown_085DD30C},
- {FACILITY_CLASS_NINJA_BOY, gUnknown_085DD320},
- {FACILITY_CLASS_PARASOL_LADY, gUnknown_085DD334},
- {FACILITY_CLASS_BUG_MANIAC, gUnknown_085DD348},
- {FACILITY_CLASS_SAILOR, gUnknown_085DD35C},
- {FACILITY_CLASS_COLLECTOR, gUnknown_085DD370},
- {FACILITY_CLASS_PKMN_RANGER_M, gUnknown_085DD384},
- {FACILITY_CLASS_PKMN_RANGER_F, gUnknown_085DD398},
- {FACILITY_CLASS_AROMA_LADY, gUnknown_085DD3AC},
- {FACILITY_CLASS_RUIN_MANIAC, gUnknown_085DD3C0},
- {FACILITY_CLASS_COOLTRAINER_M, gUnknown_085DD3D4},
- {FACILITY_CLASS_COOLTRAINER_F, gUnknown_085DD3E8},
- {FACILITY_CLASS_POKEMANIAC, gUnknown_085DD3FC},
- {FACILITY_CLASS_KINDLER, gUnknown_085DD410},
- {FACILITY_CLASS_CAMPER, gUnknown_085DD424},
- {FACILITY_CLASS_PICNICKER, gUnknown_085DD438},
- {FACILITY_CLASS_PSYCHIC_M, gUnknown_085DD44C},
- {FACILITY_CLASS_PSYCHIC_F, gUnknown_085DD460},
- {FACILITY_CLASS_SCHOOL_KID_F, gUnknown_085DD474},
- {FACILITY_CLASS_POKEMON_BREEDER_F, gUnknown_085DD488},
- {FACILITY_CLASS_POKEFAN_F, gUnknown_085DD49C},
- {FACILITY_CLASS_SWIMMER_F, gUnknown_085DD4B0},
- {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, gUnknown_085DD4C4},
- {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, gUnknown_085DD4D8},
- {FACILITY_CLASS_SWIMMER_M, gUnknown_085DD4EC}
-};
-
-static const u8 *const *const gUnknown_085DD690[] =
-{
- gUnknown_085DCFD8,
- gUnknown_085DCFEC,
- gUnknown_085DD000,
- gUnknown_085DD014,
- gUnknown_085DD028,
- gUnknown_085DD03C,
- gUnknown_085DD050,
- gUnknown_085DD064,
- gUnknown_085DD078,
- gUnknown_085DD08C,
- gUnknown_085DD0A0,
- gUnknown_085DD0B4,
- gUnknown_085DD0C8,
- gUnknown_085DD0DC,
- gUnknown_085DD0F0,
- gUnknown_085DD104
+} const sPartnerTrainerTextTables[] =
+{
+ {FACILITY_CLASS_LASS, sPartnerTextsLass},
+ {FACILITY_CLASS_YOUNGSTER, sPartnerTextsYoungster},
+ {FACILITY_CLASS_HIKER, sPartnerTextsHiker},
+ {FACILITY_CLASS_BEAUTY, sPartnerTextsBeauty},
+ {FACILITY_CLASS_FISHERMAN, sPartnerTextsFisherman},
+ {FACILITY_CLASS_LADY, sPartnerTextsLady},
+ {FACILITY_CLASS_CYCLING_TRIATHLETE_F, sPartnerTextsCyclingTriathleteF},
+ {FACILITY_CLASS_BUG_CATCHER, sPartnerTextsBugCatcher},
+ {FACILITY_CLASS_SCHOOL_KID_M, sPartnerTextsSchoolKidM},
+ {FACILITY_CLASS_RICH_BOY, sPartnerTextsRichBoy},
+ {FACILITY_CLASS_BLACK_BELT, sPartnerTextsBlackBelt},
+ {FACILITY_CLASS_TUBER_F, sPartnerTextsTuberF},
+ {FACILITY_CLASS_HEX_MANIAC, sPartnerTextsHexManiac},
+ {FACILITY_CLASS_PKMN_BREEDER_M, sPartnerTextsPkmnBreederM},
+ {FACILITY_CLASS_RUNNING_TRIATHLETE_F, sPartnerTextsRunningTriathleteF},
+ {FACILITY_CLASS_RUNNING_TRIATHLETE_M, sPartnerTextsRunningTriathleteM},
+ {FACILITY_CLASS_BATTLE_GIRL, sPartnerTextsBattleGirl},
+ {FACILITY_CLASS_CYCLING_TRIATHLETE_M, sPartnerTextsCyclingTriathleteM},
+ {FACILITY_CLASS_TUBER_M, sPartnerTextsTuberM},
+ {FACILITY_CLASS_GUITARIST, sPartnerTextsGuitarist},
+ {FACILITY_CLASS_GENTLEMAN, sPartnerTextsGentleman},
+ {FACILITY_CLASS_POKEFAN_M, sPartnerTextsPokefanM},
+ {FACILITY_CLASS_EXPERT_M, sPartnerTextsExpertM},
+ {FACILITY_CLASS_EXPERT_F, sPartnerTextsExpertF},
+ {FACILITY_CLASS_DRAGON_TAMER, sPartnerTextsDragonTamer},
+ {FACILITY_CLASS_BIRD_KEEPER, sPartnerTextsBirdKeeper},
+ {FACILITY_CLASS_NINJA_BOY, sPartnerTextsNinjaBoy},
+ {FACILITY_CLASS_PARASOL_LADY, sPartnerTextsParasolLady},
+ {FACILITY_CLASS_BUG_MANIAC, sPartnerTextsBugManiac},
+ {FACILITY_CLASS_SAILOR, sPartnerTextsSailor},
+ {FACILITY_CLASS_COLLECTOR, sPartnerTextsCollector},
+ {FACILITY_CLASS_PKMN_RANGER_M, sPartnerTextsPkmnRangerM},
+ {FACILITY_CLASS_PKMN_RANGER_F, sPartnerTextsPkmnRangerF},
+ {FACILITY_CLASS_AROMA_LADY, sPartnerTextsAromaLady},
+ {FACILITY_CLASS_RUIN_MANIAC, sPartnerTextsRuinManiac},
+ {FACILITY_CLASS_COOLTRAINER_M, sPartnerTextsCoolTrainerM},
+ {FACILITY_CLASS_COOLTRAINER_F, sPartnerTextsCoolTrainerF},
+ {FACILITY_CLASS_POKEMANIAC, sPartnerTextsPokemaniac},
+ {FACILITY_CLASS_KINDLER, sPartnerTextsKindler},
+ {FACILITY_CLASS_CAMPER, sPartnerTextsCamper},
+ {FACILITY_CLASS_PICNICKER, sPartnerTextsPicnicker},
+ {FACILITY_CLASS_PSYCHIC_M, sPartnerTextsPsychicM},
+ {FACILITY_CLASS_PSYCHIC_F, sPartnerTextsPsychicF},
+ {FACILITY_CLASS_SCHOOL_KID_F, sPartnerTextsSchoolKidF},
+ {FACILITY_CLASS_PKMN_BREEDER_F, sPartnerTextsPkmnBreederF},
+ {FACILITY_CLASS_POKEFAN_F, sPartnerTextsPokefanF},
+ {FACILITY_CLASS_SWIMMER_F, sPartnerTextsSwimmerF},
+ {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, sPartnerTextsSwimmingTriathleteM},
+ {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, sPartnerTextsSwimmingTriathleteF},
+ {FACILITY_CLASS_SWIMMER_M, sPartnerTextsSwimmerM}
+};
+
+static const u8 *const *const sPartnerApprenticeTextTables[NUM_APPRENTICES] =
+{
+ sPartnerApprenticeTexts1,
+ sPartnerApprenticeTexts2,
+ sPartnerApprenticeTexts3,
+ sPartnerApprenticeTexts4,
+ sPartnerApprenticeTexts5,
+ sPartnerApprenticeTexts6,
+ sPartnerApprenticeTexts7,
+ sPartnerApprenticeTexts8,
+ sPartnerApprenticeTexts9,
+ sPartnerApprenticeTexts10,
+ sPartnerApprenticeTexts11,
+ sPartnerApprenticeTexts12,
+ sPartnerApprenticeTexts13,
+ sPartnerApprenticeTexts14,
+ sPartnerApprenticeTexts15,
+ sPartnerApprenticeTexts16
};
struct
@@ -1018,9 +769,9 @@ struct
u8 fixedIV;
u8 level;
u8 nature;
- u8 evs[6];
- u16 moves[4];
-} const sStevenMons[3] =
+ u8 evs[NUM_STATS];
+ u16 moves[MAX_MON_MOVES];
+} const sStevenMons[MULTI_PARTY_SIZE] =
{
{
.species = SPECIES_METANG,
@@ -1050,116 +801,125 @@ struct
#include "data/battle_frontier/battle_tent.h"
-static void (* const gUnknown_085DF96C[])(void) =
+static void (* const sBattleTowerFuncs[])(void) =
+{
+ [BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge,
+ [BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData,
+ [BATTLE_TOWER_FUNC_SET_DATA] = SetTowerData,
+ [BATTLE_TOWER_FUNC_SET_OPPONENT] = SetNextFacilityOpponent,
+ [BATTLE_TOWER_FUNC_SET_BATTLE_WON] = SetTowerBattleWon,
+ [BATTLE_TOWER_FUNC_GIVE_RIBBONS] = AwardBattleTowerRibbons,
+ [BATTLE_TOWER_FUNC_SAVE] = SaveTowerChallenge,
+ [BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO] = GetOpponentIntroSpeech,
+ [BATTLE_TOWER_FUNC_NOP] = nullsub_61,
+ [BATTLE_TOWER_FUNC_NOP2] = nullsub_116,
+ [BATTLE_TOWER_FUNC_LOAD_PARTNERS] = LoadMultiPartnerCandidatesData,
+ [BATTLE_TOWER_FUNC_PARTNER_MSG] = ShowPartnerCandidateMessage,
+ [BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS] = LoadLinkMultiOpponentsData,
+ [BATTLE_TOWER_FUNC_13] = sub_8164DCC,
+ [BATTLE_TOWER_FUNC_SET_PARTNER_GFX] = SetMultiPartnerGfx,
+ [BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA] = SetTowerInterviewData,
+};
+
+static const u32 sWinStreakFlags[][2] =
{
- sub_8161F94,
- sub_8162054,
- sub_81620F4,
- ChooseNextBattleTowerTrainer,
- sub_81621C0,
- AwardBattleTowerRibbons,
- SaveBattleTowerProgress,
- sub_8163914,
- nullsub_61,
- SpriteCB_Null6,
- sub_81642A0,
- sub_8164828,
- sub_8164B74,
- sub_8164DCC,
- sub_8164DE4,
- sub_8164E04,
+ {STREAK_TOWER_SINGLES_50, STREAK_TOWER_SINGLES_OPEN},
+ {STREAK_TOWER_DOUBLES_50, STREAK_TOWER_DOUBLES_OPEN},
+ {STREAK_TOWER_MULTIS_50, STREAK_TOWER_MULTIS_OPEN},
+ {STREAK_TOWER_LINK_MULTIS_50, STREAK_TOWER_LINK_MULTIS_OPEN},
};
-static const u32 gUnknown_085DF9AC[][2] =
+static const u32 sWinStreakMasks[][2] =
{
- {0x00000001, 0x00000002},
- {0x00004000, 0x00008000},
- {0x00010000, 0x00020000},
- {0x00040000, 0x00080000},
+ {~(STREAK_TOWER_SINGLES_50), ~(STREAK_TOWER_SINGLES_OPEN)},
+ {~(STREAK_TOWER_DOUBLES_50), ~(STREAK_TOWER_DOUBLES_OPEN)},
+ {~(STREAK_TOWER_MULTIS_50), ~(STREAK_TOWER_MULTIS_OPEN)},
+ {~(STREAK_TOWER_LINK_MULTIS_50), ~(STREAK_TOWER_LINK_MULTIS_OPEN)},
};
-static const u32 gUnknown_085DF9CC[][2] =
+// The challenge number at which an Apprentice can appear, depending on how many of their questions were answered
+static const u8 sApprenticeChallengeThreshold[MAX_APPRENTICE_QUESTIONS] =
{
- {0xfffffffe, 0xfffffffd},
- {0xffffbfff, 0xffff7fff},
- {0xfffeffff, 0xfffdffff},
- {0xfffbffff, 0xfff7ffff},
+ 1, 2, 3, 4, 5, 8, 9, 10, 11, 12
};
-static const u8 gUnknown_085DF9EC[] =
+// Unclear why this was duplicated
+static const u8 sBattleTowerPartySizes2[] =
{
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09, 0x0a, 0x0b, 0x0c
+ [FRONTIER_MODE_SINGLES] = FRONTIER_PARTY_SIZE,
+ [FRONTIER_MODE_DOUBLES] = FRONTIER_DOUBLES_PARTY_SIZE,
+ [FRONTIER_MODE_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
+ [FRONTIER_MODE_LINK_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
};
-static const u8 gUnknown_085DF9F6[] =
+// Trainer ID ranges for possible frontier trainers to encounter on particular challenges
+// Trainers are scaled by difficulty, so higher trainer IDs have better teams
+static const u16 sFrontierTrainerIdRanges[][2] =
{
- [FRONTIER_MODE_SINGLES] = 3,
- [FRONTIER_MODE_DOUBLES] = 4,
- [FRONTIER_MODE_MULTIS] = 2,
- [FRONTIER_MODE_LINK_MULTIS] = 2,
+ {FRONTIER_TRAINER_BRADY, FRONTIER_TRAINER_JILL}, // 0 - 99
+ {FRONTIER_TRAINER_TREVIN, FRONTIER_TRAINER_CHLOE}, // 80 - 119
+ {FRONTIER_TRAINER_ERIK, FRONTIER_TRAINER_SOFIA}, // 100 - 139
+ {FRONTIER_TRAINER_NORTON, FRONTIER_TRAINER_JAZLYN}, // 120 - 159
+ {FRONTIER_TRAINER_BRADEN, FRONTIER_TRAINER_ALISON}, // 140 - 179
+ {FRONTIER_TRAINER_ZACHERY, FRONTIER_TRAINER_LAMAR}, // 160 - 199
+ {FRONTIER_TRAINER_HANK, FRONTIER_TRAINER_TESS}, // 180 - 219
+ {FRONTIER_TRAINER_JAXON, FRONTIER_TRAINER_GRETEL}, // 200 - 299
};
-static const u16 gUnknown_085DF9FA[][2] =
+static const u16 sFrontierTrainerIdRangesHard[][2] =
{
- {0x0000, 0x0063},
- {0x0050, 0x0077},
- {0x0064, 0x008b},
- {0x0078, 0x009f},
- {0x008c, 0x00b3},
- {0x00a0, 0x00c7},
- {0x00b4, 0x00db},
- {0x00c8, 0x012b},
+ {FRONTIER_TRAINER_ERIK, FRONTIER_TRAINER_CHLOE}, // 100 - 119
+ {FRONTIER_TRAINER_NORTON, FRONTIER_TRAINER_SOFIA}, // 120 - 139
+ {FRONTIER_TRAINER_BRADEN, FRONTIER_TRAINER_JAZLYN}, // 140 - 159
+ {FRONTIER_TRAINER_ZACHERY, FRONTIER_TRAINER_ALISON}, // 160 - 179
+ {FRONTIER_TRAINER_HANK, FRONTIER_TRAINER_LAMAR}, // 180 - 199
+ {FRONTIER_TRAINER_JAXON, FRONTIER_TRAINER_TESS}, // 200 - 219
+ {FRONTIER_TRAINER_LEON, FRONTIER_TRAINER_RAUL}, // 220 - 239
+ {FRONTIER_TRAINER_JAXON, FRONTIER_TRAINER_GRETEL}, // 200 - 299
};
-static const u16 gUnknown_085DFA1A[][2] =
+// Trainer IDs? Don't make sense as part of previous array, min/max relationship reversed and never accessed
+static const u16 sUnused_085DFA1A[][2] =
{
- {0x0064, 0x0077},
- {0x0078, 0x008b},
- {0x008c, 0x009f},
- {0x00a0, 0x00b3},
- {0x00b4, 0x00c7},
- {0x00c8, 0x00db},
- {0x00dc, 0x00ef},
- {0x00c8, 0x012b},
- {0x00b3, 0x008d},
- {0x00c8, 0x00b7},
+ {179, 141}, // FRONTIER_TRAINER_ALISON - FRONTIER_TRAINER_KAYDEN
+ {200, 183}, // FRONTIER_TRAINER_JAXON - FRONTIER_TRAINER_HUNTER
};
-static const u8 gUnknown_085DFA42[4] =
+static const u8 sBattleTowerPartySizes[FRONTIER_MODE_COUNT] =
{
- [FRONTIER_MODE_SINGLES] = 3,
- [FRONTIER_MODE_DOUBLES] = 4,
- [FRONTIER_MODE_MULTIS] = 2,
- [FRONTIER_MODE_LINK_MULTIS] = 2,
+ [FRONTIER_MODE_SINGLES] = FRONTIER_PARTY_SIZE,
+ [FRONTIER_MODE_DOUBLES] = FRONTIER_DOUBLES_PARTY_SIZE,
+ [FRONTIER_MODE_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
+ [FRONTIER_MODE_LINK_MULTIS] = FRONTIER_MULTI_PARTY_SIZE,
};
-static const u16 gUnknown_085DFA46[] =
+static const u16 sRecordTrainerSpeechWon[] =
{
- 0x0c3a, 0x0c3a, 0x0c01, 0x0a2a, 0x0607, 0x0c01
+ EC_WORD_YAY, EC_WORD_YAY, EC_WORD_EXCL_EXCL, EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EXCL_EXCL
};
-static const u16 gUnknown_085DFA52[] =
+static const u16 sRecordTrainerSpeechLost[] =
{
- 0x1039, 0x122e, 0x0c04, 0x0a3d, 0x0630, 0x0c04
+ EC_WORD_TOO, EC_WORD_BAD, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_LOST, EC_WORD_ELLIPSIS
};
// code
-void sub_8161F74(void)
+void CallBattleTowerFunc(void)
{
- gUnknown_085DF96C[gSpecialVar_0x8004]();
+ sBattleTowerFuncs[gSpecialVar_0x8004]();
}
-static void sub_8161F94(void)
+static void InitTowerChallenge(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- gSaveBlock2Ptr->frontier.field_CA8 = 1;
+ gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_SAVING;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
- gSaveBlock2Ptr->frontier.field_CA9_b = 0;
- sub_81A3ACC();
- if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]))
+ gSaveBlock2Ptr->frontier.challengePaused = FALSE;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE;
+ ResetFrontierTrainerIds();
+ if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0;
ValidateBattleTowerRecordChecksums();
@@ -1167,7 +927,7 @@ static void sub_8161F94(void)
gTrainerBattleOpponent_A = 0;
}
-static void sub_8162054(void)
+static void GetTowerData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -1176,19 +936,19 @@ static void sub_8162054(void)
{
case 0:
break;
- case 1:
+ case TOWER_DATA_WIN_STREAK:
gSpecialVar_Result = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
break;
- case 2:
- gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]) != 0);
+ case TOWER_DATA_WIN_STREAK_ACTIVE:
+ gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
- case 3:
- gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode;
+ case TOWER_DATA_LVL_MODE:
+ gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
}
-static void sub_81620F4(void)
+static void SetTowerData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -1197,28 +957,29 @@ static void sub_81620F4(void)
{
case 0:
break;
- case 1:
+ case TOWER_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case TOWER_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_085DF9AC[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
- gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_085DF9CC[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
- case 3:
- gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode;
+ case TOWER_DATA_LVL_MODE:
+ gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
}
-static void sub_81621C0(void)
+static void SetTowerBattleWon(void)
{
if (gTrainerBattleOpponent_A == TRAINER_EREADER)
ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
- if (gSaveBlock2Ptr->frontier.field_D04 < 9999)
- gSaveBlock2Ptr->frontier.field_D04++;
+ // towerNumWins is never read outside this conditional
+ if (gSaveBlock2Ptr->frontier.towerNumWins < MAX_STREAK)
+ gSaveBlock2Ptr->frontier.towerNumWins++;
gSaveBlock2Ptr->frontier.curChallengeBattleNum++;
SaveCurrentWinStreak();
@@ -1256,7 +1017,7 @@ static bool8 ChooseSpecialBattleTowerTrainer(void)
validMons++;
}
- if (validMons >= gUnknown_085DF9F6[battleMode]
+ if (validMons >= sBattleTowerPartySizes2[battleMode]
&& gSaveBlock2Ptr->frontier.towerRecords[i].winStreak == winStreak
&& gSaveBlock2Ptr->frontier.towerRecords[i].lvlMode == lvlMode
&& recordHasData
@@ -1270,10 +1031,10 @@ static bool8 ChooseSpecialBattleTowerTrainer(void)
if (battleMode == FRONTIER_MODE_SINGLES)
{
ValidateApprenticesChecksums();
- for (i = 0; i < 4; i++)
+ for (i = 0; i < APPRENTICE_COUNT; i++)
{
if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0
- && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].field_1] == winStreak
+ && sApprenticeChallengeThreshold[gSaveBlock2Ptr->apprentices[i].numQuestions] == winStreak
&& gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode)
{
trainerIds[idsCount] = i + TRAINER_RECORD_MIXING_APPRENTICE;
@@ -1293,12 +1054,12 @@ static bool8 ChooseSpecialBattleTowerTrainer(void)
}
}
-static void ChooseNextBattleTowerTrainer(void)
+static void SetNextFacilityOpponent(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (lvlMode == FRONTIER_LVL_TENT)
{
- sub_8165E18();
+ SetNextBattleTentOpponent();
}
else
{
@@ -1326,7 +1087,7 @@ static void ChooseNextBattleTowerTrainer(void)
s32 i;
while (1)
{
- id = sub_8162548(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum);
+ id = GetRandomScaledFrontierTrainerId(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum);
// Ensure trainer wasn't previously fought in this challenge.
for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
@@ -1346,7 +1107,7 @@ static void ChooseNextBattleTowerTrainer(void)
}
}
-u16 sub_8162548(u8 challengeNum, u8 battleNum)
+u16 GetRandomScaledFrontierTrainerId(u8 challengeNum, u8 battleNum)
{
u16 trainerId;
@@ -1354,49 +1115,54 @@ u16 sub_8162548(u8 challengeNum, u8 battleNum)
{
if (battleNum == 6)
{
- trainerId = (gUnknown_085DFA1A[challengeNum][1] - gUnknown_085DFA1A[challengeNum][0]) + 1;
- trainerId = gUnknown_085DFA1A[challengeNum][0] + (Random() % trainerId);
+ // The last battle in each challenge has a jump in difficulty, pulls from a table with higher ranges
+ trainerId = (sFrontierTrainerIdRangesHard[challengeNum][1] - sFrontierTrainerIdRangesHard[challengeNum][0]) + 1;
+ trainerId = sFrontierTrainerIdRangesHard[challengeNum][0] + (Random() % trainerId);
}
else
{
- trainerId = (gUnknown_085DF9FA[challengeNum][1] - gUnknown_085DF9FA[challengeNum][0]) + 1;
- trainerId = gUnknown_085DF9FA[challengeNum][0] + (Random() % trainerId);
+ trainerId = (sFrontierTrainerIdRanges[challengeNum][1] - sFrontierTrainerIdRanges[challengeNum][0]) + 1;
+ trainerId = sFrontierTrainerIdRanges[challengeNum][0] + (Random() % trainerId);
}
}
else
{
- trainerId = (gUnknown_085DF9FA[7][1] - gUnknown_085DF9FA[7][0]) + 1;
- trainerId = gUnknown_085DF9FA[7][0] + (Random() % trainerId);
+ // After challenge 7, trainer IDs always come from the last, hardest range, which is the same for both trainer ID tables
+ trainerId = (sFrontierTrainerIdRanges[7][1] - sFrontierTrainerIdRanges[7][0]) + 1;
+ trainerId = sFrontierTrainerIdRanges[7][0] + (Random() % trainerId);
}
return trainerId;
}
-static void sub_81625B4(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *arg3) // Unused
+// Unused
+static void GetRandomScaledFrontierTrainerIdRange(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *rangePtr)
{
- u16 trainerId, count;
+ u16 trainerId, range;
if (challengeNum <= 7)
{
if (battleNum == 6)
{
- count = (gUnknown_085DFA1A[challengeNum][1] - gUnknown_085DFA1A[challengeNum][0]) + 1;
- trainerId = gUnknown_085DFA1A[challengeNum][0];
+ // The last battle in each challenge has a jump in difficulty, pulls from a table with higher ranges
+ range = (sFrontierTrainerIdRangesHard[challengeNum][1] - sFrontierTrainerIdRangesHard[challengeNum][0]) + 1;
+ trainerId = sFrontierTrainerIdRangesHard[challengeNum][0];
}
else
{
- count = (gUnknown_085DF9FA[challengeNum][1] - gUnknown_085DF9FA[challengeNum][0]) + 1;
- trainerId = gUnknown_085DF9FA[challengeNum][0];
+ range = (sFrontierTrainerIdRanges[challengeNum][1] - sFrontierTrainerIdRanges[challengeNum][0]) + 1;
+ trainerId = sFrontierTrainerIdRanges[challengeNum][0];
}
}
else
{
- count = (gUnknown_085DF9FA[7][1] - gUnknown_085DF9FA[7][0]) + 1;
- trainerId = gUnknown_085DF9FA[7][0];
+ // After challenge 7, trainer IDs always come from the last, hardest range, which is the same for both trainer ID tables
+ range = (sFrontierTrainerIdRanges[7][1] - sFrontierTrainerIdRanges[7][0]) + 1;
+ trainerId = sFrontierTrainerIdRanges[7][0];
}
*trainerIdPtr = trainerId;
- *arg3 = count;
+ *rangePtr = range;
}
void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId)
@@ -1415,7 +1181,7 @@ void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId)
SetFrontierBrainEventObjGfx_2();
return;
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
facilityClass = gFacilityTrainers[trainerId].facilityClass;
}
@@ -1507,7 +1273,7 @@ u8 GetBattleFacilityTrainerGfxId(u16 trainerId)
{
facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass;
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
facilityClass = gFacilityTrainers[trainerId].facilityClass;
}
@@ -1561,7 +1327,7 @@ void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm)
for (i = 0; i < 5; i++)
{
k = 0;
- for (j = 0; j < 4; j++)
+ for (j = 0; j < TRAINER_ID_LENGTH; j++)
{
if (gSaveBlock2Ptr->frontier.towerRecords[i].trainerId[j] != newRecord->trainerId[j])
break;
@@ -1649,7 +1415,7 @@ u8 GetFrontierTrainerFrontSpriteId(u16 trainerId)
{
return GetFrontierBrainTrainerPicIndex();
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
return gFacilityClassToPicIndex[gFacilityTrainers[trainerId].facilityClass];
}
@@ -1686,7 +1452,7 @@ u8 GetFrontierOpponentClass(u16 trainerId)
{
trainerClass = gTrainers[TRAINER_STEVEN].trainerClass;
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
trainerClass = gFacilityClassToTrainerClass[gFacilityTrainers[trainerId].facilityClass];
}
@@ -1727,7 +1493,7 @@ static u8 GetFrontierTrainerFacilityClass(u16 trainerId)
{
facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass;
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
facilityClass = gFacilityTrainers[trainerId].facilityClass;
}
@@ -1769,7 +1535,7 @@ void GetFrontierTrainerName(u8 *dst, u16 trainerId)
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
dst[i] = gTrainers[TRAINER_STEVEN].trainerName[i];
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
dst[i] = gFacilityTrainers[trainerId].trainerName[i];
@@ -1824,7 +1590,7 @@ static bool8 IsFrontierTrainerFemale(u16 trainerId)
{
return IsFrontierBrainFemale();
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
facilityClass = gFacilityTrainers[trainerId].facilityClass;
}
@@ -1872,18 +1638,18 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
{
s32 i, j;
u16 chosenMonIndices[4];
- u8 friendship = 0xFF;
+ u8 friendship = MAX_FRIENDSHIP;
u8 level = SetFacilityPtrsGetLevel();
u8 fixedIV = 0;
u8 bfMonCount;
- const u16 *monSets = NULL;
+ const u16 *monSet = NULL;
u32 otID = 0;
- if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ if (trainerId < FRONTIER_TRAINERS_COUNT)
{
// Normal battle frontier trainer.
fixedIV = GetFrontierTrainerFixedIvs(trainerId);
- monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+ monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet;
}
else if (trainerId == TRAINER_EREADER)
{
@@ -1921,20 +1687,20 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// Attempt to fill the trainer's party with random Pokemon until 3 have been
// successfully chosen. The trainer's party may not have duplicate pokemon species
// or duplicate held items.
- for (bfMonCount = 0; monSets[bfMonCount] != 0xFFFF; bfMonCount++)
+ for (bfMonCount = 0; monSet[bfMonCount] != 0xFFFF; bfMonCount++)
;
i = 0;
otID = Random32();
while (i != monCount)
{
- u16 monSetId = monSets[Random() % bfMonCount];
- if ((level == 50 || level == 20) && monSetId > 849)
+ u16 monId = monSet[Random() % bfMonCount];
+ if ((level == 50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER)
continue;
// Ensure this pokemon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++)
{
- if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
+ if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species)
break;
}
if (j != i + firstMonId)
@@ -1944,7 +1710,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
for (j = 0; j < i + firstMonId; j++)
{
if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
- && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId])
break;
}
if (j != i + firstMonId)
@@ -1954,34 +1720,34 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// because the species and held items were already checked directly above.
for (j = 0; j < i; j++)
{
- if (chosenMonIndices[j] == monSetId)
+ if (chosenMonIndices[j] == monId)
break;
}
if (j != i)
continue;
- chosenMonIndices[i] = monSetId;
+ chosenMonIndices[i] = monId;
// Place the chosen pokemon into the trainer's party.
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
- friendship = 255;
+ friendship = MAX_FRIENDSHIP;
// Give the chosen pokemon its specified moves.
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
}
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot.
@@ -1993,12 +1759,12 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId)
{
s32 i, j;
- u8 friendship = 0xFF;
+ u8 friendship = MAX_FRIENDSHIP;
u8 level = 0;
u8 fixedIV = 0;
struct Apprentice *apprentice = &gSaveBlock2Ptr->apprentices[0];
- if (apprentice->field_1 < 5)
+ if (apprentice->numQuestions < 5)
fixedIV = 6;
else
fixedIV = 9;
@@ -2011,7 +1777,7 @@ static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId)
for (i = 0; i != 3; i++)
{
CreateMonWithEVSpread(&gEnemyParty[firstMonId + i], apprentice->party[i].species, level, fixedIV, 8);
- friendship = 0xFF;
+ friendship = MAX_FRIENDSHIP;
for (j = 0; j < MAX_MON_MOVES; j++)
{
if (apprentice->party[i].moves[j] == MOVE_FRUSTRATION)
@@ -2022,27 +1788,27 @@ static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId)
}
}
-u16 RandomizeFacilityTrainerMonSet(u16 trainerId)
+u16 GetRandomFrontierMonFromSet(u16 trainerId)
{
u8 level = SetFacilityPtrsGetLevel();
- const u16 *monSets = gFacilityTrainers[trainerId].monSets;
- u8 bfMonCount = 0;
- u32 monSetId = monSets[bfMonCount];
+ const u16 *monSet = gFacilityTrainers[trainerId].monSet;
+ u8 numMons = 0;
+ u32 monId = monSet[numMons];
- while (monSetId != 0xFFFF)
+ while (monId != 0xFFFF)
{
- bfMonCount++;
- monSetId = monSets[bfMonCount];
- if (monSetId == 0xFFFF)
+ numMons++;
+ monId = monSet[numMons];
+ if (monId == 0xFFFF)
break;
}
do
{
- monSetId = monSets[Random() % bfMonCount];
- } while((level == 50 || level == 20) && monSetId > 849);
+ monId = monSet[Random() % numMons];
+ } while((level == 50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER);
- return monSetId;
+ return monId;
}
static void FillFactoryTrainerParty(void)
@@ -2062,7 +1828,7 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
u8 fixedIV;
u32 otID;
- if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ if (trainerId < FRONTIER_TRAINERS_COUNT)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; // Unused variable.
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2090,23 +1856,23 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
level = SetFacilityPtrsGetLevel();
otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- u16 monSetId = gUnknown_03006298[i];
+ u16 monId = gUnknown_03006298[i];
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
friendship = 0;
for (j = 0; j < MAX_MON_MOVES; j++)
- SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
+ SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monId].moves[j], j);
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
}
}
@@ -2118,27 +1884,27 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId)
u8 fixedIV = 0;
u32 otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- u16 monSetId = gUnknown_03006298[i];
+ u16 monId = gUnknown_03006298[i];
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
friendship = 0;
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0;
}
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
}
}
@@ -2159,7 +1925,7 @@ void FrontierSpeechToString(const u16 *words)
}
}
-static void sub_8163914(void)
+static void GetOpponentIntroSpeech(void)
{
u16 trainerId;
SetFacilityPtrsGetLevel();
@@ -2171,12 +1937,12 @@ static void sub_8163914(void)
if (trainerId == TRAINER_EREADER)
FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting);
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
FrontierSpeechToString(gFacilityTrainers[trainerId].speechBefore);
else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].greeting);
else
- CopyFriendsApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE);
+ BufferApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE);
}
static void HandleSpecialTrainerBattleEnd(void)
@@ -2242,21 +2008,21 @@ void DoSpecialTrainerBattle(void)
switch (VarGet(VAR_FRONTIER_BATTLE_MODE))
{
case FRONTIER_MODE_SINGLES:
- FillFrontierTrainerParty(3);
+ FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
break;
case FRONTIER_MODE_DOUBLES:
- FillFrontierTrainerParty(4);
+ FillFrontierTrainerParty(FRONTIER_DOUBLES_PARTY_SIZE);
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
break;
case FRONTIER_MODE_MULTIS:
- FillFrontierTrainersParties(2);
+ FillFrontierTrainersParties(FRONTIER_MULTI_PARTY_SIZE);
gPartnerTrainerId = gSaveBlock2Ptr->frontier.trainerIds[17];
FillPartnerParty(gPartnerTrainerId);
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS;
break;
case FRONTIER_MODE_LINK_MULTIS:
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_MULTI | BATTLE_TYPE_x800000;
- FillFrontierTrainersParties(2);
+ FillFrontierTrainersParties(FRONTIER_MULTI_PARTY_SIZE);
break;
}
CreateTask(Task_StartBattleAfterTransition, 1);
@@ -2298,9 +2064,9 @@ void DoSpecialTrainerBattle(void)
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
- FillFrontierTrainerParty(3);
+ FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
else
- FillTentTrainerParty(3);
+ FillTentTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(4));
@@ -2308,9 +2074,9 @@ void DoSpecialTrainerBattle(void)
case SPECIAL_BATTLE_ARENA:
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_ARENA;
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
- FillFrontierTrainerParty(3);
+ FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
else
- FillTentTrainerParty(3);
+ FillTentTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(5));
@@ -2326,14 +2092,14 @@ void DoSpecialTrainerBattle(void)
break;
case SPECIAL_BATTLE_PIKE_SINGLE:
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_BATTLE_TOWER;
- FillFrontierTrainerParty(3);
+ FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(7));
break;
case SPECIAL_BATTLE_PYRAMID:
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID;
- FillFrontierTrainerParty(3);
+ FillFrontierTrainerParty(FRONTIER_PARTY_SIZE);
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
BattleTransition_StartOnField(sub_80B100C(10));
@@ -2349,9 +2115,9 @@ void DoSpecialTrainerBattle(void)
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_MULTI | BATTLE_TYPE_INGAME_PARTNER;
FillPartnerParty(TRAINER_STEVEN_PARTNER);
gApproachingTrainerId = 0;
- BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1);
+ BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer + 1);
gApproachingTrainerId = 1;
- BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1);
+ BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer + 1);
gPartnerTrainerId = TRAINER_STEVEN_PARTNER;
CreateTask(Task_StartBattleAfterTransition, 1);
PlayMapChosenOrBattleBGM(0);
@@ -2399,14 +2165,14 @@ static void sub_8163EE4(void)
StringCopy7(playerRecord->name, gSaveBlock2Ptr->playerName);
playerRecord->winStreak = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
- for (i = 0; i < 6; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
{
playerRecord->greeting[i] = gSaveBlock1Ptr->easyChatBattleStart[i];
playerRecord->speechWon[i] = gSaveBlock1Ptr->easyChatBattleWon[i];
playerRecord->speechLost[i] = gSaveBlock1Ptr->easyChatBattleLost[i];
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0)
sub_80686FC(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], &playerRecord->party[i]);
@@ -2417,7 +2183,7 @@ static void sub_8163EE4(void)
SaveCurrentWinStreak();
}
-static void SaveBattleTowerProgress(void)
+static void SaveTowerChallenge(void)
{
u16 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2426,10 +2192,10 @@ static void SaveBattleTowerProgress(void)
if (gSpecialVar_0x8005 == 0 && (challengeNum > 1 || gSaveBlock2Ptr->frontier.curChallengeBattleNum != 0))
sub_8163EE4();
- gSaveBlock2Ptr->frontier.field_CA8 =gSpecialVar_0x8005;
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
- gSaveBlock2Ptr->frontier.field_CA9_a = 1;
- sub_81A4C30();
+ gSaveBlock2Ptr->frontier.challengePaused = TRUE;
+ SaveGameFrontier();
}
static void nullsub_61(void)
@@ -2437,12 +2203,12 @@ static void nullsub_61(void)
}
-static void SpriteCB_Null6(void)
+static void nullsub_116(void)
{
}
-static void sub_81640E0(u16 trainerId)
+static void GetApprenticeMultiPartnerParty(u16 trainerId)
{
s32 i, count;
u32 validSpecies[3];
@@ -2467,7 +2233,7 @@ static void sub_81640E0(u16 trainerId)
} while (gUnknown_03006298[0] == gUnknown_03006298[1]);
}
-static void sub_8164188(u16 trainerId)
+static void GetRecordMixFriendMultiPartnerParty(u16 trainerId)
{
s32 i, count;
u32 validSpecies[3];
@@ -2495,13 +2261,13 @@ static void sub_8164188(u16 trainerId)
} while (gUnknown_03006298[2] == gUnknown_03006298[3]);
}
-static void sub_81642A0(void)
+static void LoadMultiPartnerCandidatesData(void)
{
s32 i, j, k;
u32 spArray[5];
s32 r10;
u16 trainerId;
- u16 monSetId;
+ u16 monId;
u32 lvlMode, battleMode;
s32 challengeNum;
u32 species1, species2;
@@ -2521,7 +2287,7 @@ static void sub_81642A0(void)
{
do
{
- trainerId = sub_8162548(challengeNum, 0);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 0);
for (i = 0; i < j; i++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == trainerId)
@@ -2543,34 +2309,34 @@ static void sub_81642A0(void)
{
while (1)
{
- monSetId = RandomizeFacilityTrainerMonSet(trainerId);
- if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[r10 - 1]].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ monId = GetRandomFrontierMonFromSet(trainerId);
+ if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[r10 - 1]].itemTableId == gFacilityTrainerMons[monId].itemTableId)
continue;
for (k = 8; k < r10; k++)
{
- if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[k]].species == gFacilityTrainerMons[monSetId].species)
+ if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[k]].species == gFacilityTrainerMons[monId].species)
break;
- if (species1 == gFacilityTrainerMons[monSetId].species)
+ if (species1 == gFacilityTrainerMons[monId].species)
break;
- if (species2 == gFacilityTrainerMons[monSetId].species)
+ if (species2 == gFacilityTrainerMons[monId].species)
break;
}
if (k == r10)
break;
}
- gSaveBlock2Ptr->frontier.trainerIds[r10] = monSetId;
+ gSaveBlock2Ptr->frontier.trainerIds[r10] = monId;
r10++;
}
}
r10 = 0;
ValidateApprenticesChecksums();
- for (i = 0; i < 4; i++)
+ for (i = 0; i < APPRENTICE_COUNT; i++)
{
if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0
- && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].field_1] / 7 <= challengeNum
+ && sApprenticeChallengeThreshold[gSaveBlock2Ptr->apprentices[i].numQuestions] / 7 <= challengeNum
&& gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode)
{
k = 0;
@@ -2594,7 +2360,7 @@ static void sub_81642A0(void)
gSaveBlock2Ptr->frontier.trainerIds[6] = spArray[Random() % r10];
eventObjTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[6]);
FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1);
- sub_81640E0(gSaveBlock2Ptr->frontier.trainerIds[6]);
+ GetApprenticeMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[6]);
}
r10 = 0;
@@ -2637,11 +2403,11 @@ static void sub_81642A0(void)
gSaveBlock2Ptr->frontier.trainerIds[7] = spArray[Random() % r10];
eventObjTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[7]);
FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2);
- sub_8164188(gSaveBlock2Ptr->frontier.trainerIds[7]);
+ GetRecordMixFriendMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[7]);
}
}
-static void sub_81646BC(u16 trainerId, u16 monSetId)
+static void sub_81646BC(u16 trainerId, u16 monId)
{
u16 move = 0;
u16 species = 0;
@@ -2649,10 +2415,10 @@ static void sub_81646BC(u16 trainerId, u16 monSetId)
if (trainerId != TRAINER_EREADER)
{
- if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ if (trainerId < FRONTIER_TRAINERS_COUNT)
{
- move = gFacilityTrainerMons[monSetId].moves[0];
- species = gFacilityTrainerMons[monSetId].species;
+ move = gFacilityTrainerMons[monId].moves[0];
+ species = gFacilityTrainerMons[monId].species;
}
else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
{
@@ -2676,28 +2442,28 @@ static void sub_81646BC(u16 trainerId, u16 monSetId)
StringCopy(gStringVar2, gSpeciesNames[species]);
}
-static void sub_8164828(void)
+static void ShowPartnerCandidateMessage(void)
{
- s32 i, j, arrId;
- s32 monSetId;
+ s32 i, j, partnerId;
+ s32 monId;
s32 level = SetFacilityPtrsGetLevel();
u16 winStreak = GetCurrentFacilityWinStreak();
s32 challengeNum = winStreak / 7;
s32 k = gSpecialVar_LastTalked - 2;
s32 trainerId = gSaveBlock2Ptr->frontier.trainerIds[k];
- for (arrId = 0; arrId < ARRAY_COUNT(gUnknown_085DD500); arrId++)
+ for (partnerId = 0; partnerId < ARRAY_COUNT(sPartnerTrainerTextTables); partnerId++)
{
- if (gUnknown_085DD500[arrId].facilityClass == GetFrontierTrainerFacilityClass(trainerId))
+ if (sPartnerTrainerTextTables[partnerId].facilityClass == GetFrontierTrainerFacilityClass(trainerId))
break;
}
switch (gSpecialVar_0x8005)
{
- case 0:
+ case PARTNER_MSGID_INTRO:
if (trainerId == TRAINER_EREADER)
return;
- if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ if (trainerId < FRONTIER_TRAINERS_COUNT)
{
GetFrontierTrainerName(gStringVar1, trainerId);
}
@@ -2716,17 +2482,17 @@ static void sub_8164828(void)
GetFrontierTrainerName(gStringVar3, trainerId);
}
break;
- case 1:
- monSetId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2];
- sub_81646BC(trainerId, monSetId);
+ case PARTNER_MSGID_MON1:
+ monId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2];
+ sub_81646BC(trainerId, monId);
break;
- case 2:
- monSetId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2];
- sub_81646BC(trainerId, monSetId);
+ case PARTNER_MSGID_MON2_ASK:
+ monId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2];
+ sub_81646BC(trainerId, monId);
break;
- case 3:
+ case PARTNER_MSGID_ACCEPT:
gPartnerTrainerId = trainerId;
- if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ if (trainerId < FRONTIER_TRAINERS_COUNT)
{
gSaveBlock2Ptr->frontier.trainerIds[18] = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2];
gSaveBlock2Ptr->frontier.trainerIds[19] = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2];
@@ -2745,7 +2511,7 @@ static void sub_8164828(void)
{
while (1)
{
- i = sub_8162548(challengeNum, k / 2);
+ i = GetRandomScaledFrontierTrainerId(challengeNum, k / 2);
if (gPartnerTrainerId == i)
continue;
@@ -2761,29 +2527,31 @@ static void sub_8164828(void)
}
gSaveBlock2Ptr->frontier.trainerIds[17] = trainerId;
break;
- case 4:
+ case PARTNER_MSGID_REJECT:
break;
}
if (trainerId == TRAINER_EREADER)
return;
- if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ // First check is redundant, only needs to make sure it's not an Apprentice
+ if (trainerId < FRONTIER_TRAINERS_COUNT)
{
- ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]);
+ ShowFieldMessage(sPartnerTrainerTextTables[partnerId].strings[gSpecialVar_0x8005]);
}
else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
{
- ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]);
+ ShowFieldMessage(sPartnerTrainerTextTables[partnerId].strings[gSpecialVar_0x8005]);
}
+ // Trainer is a former/record-mixed Apprentice, do Apprentice message
else
{
- u8 id = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id;
- ShowFieldMessage(gUnknown_085DD690[id][gSpecialVar_0x8005]);
+ u8 apprenticeId = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id;
+ ShowFieldMessage(sPartnerApprenticeTextTables[apprenticeId][gSpecialVar_0x8005]);
}
}
-static void sub_8164B74(void)
+static void LoadLinkMultiOpponentsData(void)
{
s32 challengeNum;
s32 i, j;
@@ -2822,7 +2590,7 @@ static void sub_8164B74(void)
{
do
{
- trainerId = sub_8162548(challengeNum, i / 2);
+ trainerId = GetRandomScaledFrontierTrainerId(challengeNum, i / 2);
for (j = 0; j < i; j++)
{
if (gSaveBlock2Ptr->frontier.trainerIds[j] == trainerId)
@@ -2878,12 +2646,13 @@ static void sub_8164DCC(void)
sub_800AC34();
}
-static void sub_8164DE4(void)
+static void SetMultiPartnerGfx(void)
{
- SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
+ // 0xF below means use VAR_OBJ_GFX_ID_E
+ SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
}
-static void sub_8164E04(void)
+static void SetTowerInterviewData(void)
{
s32 i;
u8 text[32];
@@ -2893,13 +2662,13 @@ static void sub_8164E04(void)
GetFrontierTrainerName(text, gTrainerBattleOpponent_A);
StripExtCtrlCodes(text);
- StringCopy(gSaveBlock2Ptr->frontier.field_BD8, text);
- GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.field_BEB, gTrainerBattleOpponent_A);
- gSaveBlock2Ptr->frontier.field_BD6 = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL);
- gSaveBlock2Ptr->frontier.field_BD4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[0]], MON_DATA_SPECIES, NULL);
+ StringCopy(gSaveBlock2Ptr->frontier.towerInterview.opponentName, text);
+ GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage, gTrainerBattleOpponent_A);
+ gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL);
+ gSaveBlock2Ptr->frontier.towerInterview.playerSpecies = GetMonData(&gPlayerParty[gBattlerPartyIndexes[0]], MON_DATA_SPECIES, NULL);
for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++)
- gSaveBlock2Ptr->frontier.field_BE0[i] = gBattleMons[0].nickname[i];
- gSaveBlock2Ptr->frontier.field_D06 = gBattleOutcome;
+ gSaveBlock2Ptr->frontier.towerInterview.opponentMonNickname[i] = gBattleMons[0].nickname[i];
+ gSaveBlock2Ptr->frontier.towerBattleOutcome = gBattleOutcome;
}
static void ValidateBattleTowerRecordChecksums(void)
@@ -2966,13 +2735,13 @@ u16 GetCurrentBattleTowerWinStreak(u8 lvlMode, u8 battleMode)
static u8 GetMonCountForBattleMode(u8 battleMode)
{
- u8 sp[ARRAY_COUNT(gUnknown_085DFA42)];
- memcpy(sp, gUnknown_085DFA42, sizeof(gUnknown_085DFA42));
+ u8 partySizes[ARRAY_COUNT(sBattleTowerPartySizes)];
+ memcpy(partySizes, sBattleTowerPartySizes, sizeof(sBattleTowerPartySizes));
- if (battleMode < ARRAY_COUNT(gUnknown_085DFA42))
- return sp[battleMode];
+ if (battleMode < ARRAY_COUNT(sBattleTowerPartySizes))
+ return partySizes[battleMode];
else
- return 3;
+ return FRONTIER_PARTY_SIZE;
}
struct RibbonCounter
@@ -3026,9 +2795,9 @@ static void AwardBattleTowerRibbons(void)
ribbons[i] = prevBest;
}
}
- if (ribbons[0].count > 4)
+ if (ribbons[0].count > NUM_CUTIES_RIBBONS)
{
- sub_80EE4DC(&gSaveBlock1Ptr->playerParty[ribbons[0].partyIndex], ribbonType);
+ TryPutSpotTheCutiesOnAir(&gSaveBlock1Ptr->playerParty[ribbons[0].partyIndex], ribbonType);
}
}
}
@@ -3154,13 +2923,13 @@ static void CopyEReaderTrainerFarewellMessage(void)
FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.farewellPlayerLost);
}
-void sub_81653CC(void)
+void TryHideBattleTowerReporter(void)
{
- if (gSaveBlock2Ptr->frontier.field_CA8 == 1)
- sub_80F01B8();
+ if (gSaveBlock2Ptr->frontier.challengeStatus == CHALLENGE_STATUS_SAVING)
+ HideBattleTowerReporter();
if (FlagGet(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE) == TRUE)
{
- sub_80F01B8();
+ HideBattleTowerReporter();
FlagClear(FLAG_CANCEL_BATTLE_ROOM_CHALLENGE);
}
}
@@ -3172,7 +2941,7 @@ static void FillPartnerParty(u16 trainerId)
s32 i, j;
u32 ivs, level;
u32 friendship;
- u16 monSetId;
+ u16 monId;
u32 otID;
u8 trainerName[PLAYER_NAME_LENGTH + 1];
SetFacilityPtrsGetLevel();
@@ -3191,7 +2960,7 @@ static void FillPartnerParty(u16 trainerId)
sStevenMons[i].fixedIV,
TRUE, i, // BUG: personality was stored in the 'j' variable. As a result, Steven's pokemon do not have the intended natures.
OT_ID_PRESET, STEVEN_OTID);
- for (j = 0; j < 6; j++)
+ for (j = 0; j < PARTY_SIZE; j++)
SetMonData(&gPlayerParty[3 + i], MON_DATA_HP_EV + j, &sStevenMons[i].evs[j]);
for (j = 0; j < MAX_MON_MOVES; j++)
SetMonMoveSlot(&gPlayerParty[3 + i], sStevenMons[i].moves[j], j);
@@ -3206,30 +2975,30 @@ static void FillPartnerParty(u16 trainerId)
// Scrapped, lol.
trainerName[0] = gGameLanguage;
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
level = SetFacilityPtrsGetLevel();
ivs = GetFrontierTrainerFixedIvs(trainerId);
otID = Random32();
for (i = 0; i < 2; i++)
{
- monSetId = gSaveBlock2Ptr->frontier.trainerIds[i + 18];
+ monId = gSaveBlock2Ptr->frontier.trainerIds[i + 18];
CreateMonWithEVSpreadNatureOTID(&gPlayerParty[3 + i],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
ivs,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
- friendship = 0xFF;
+ friendship = MAX_FRIENDSHIP;
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0;
}
SetMonData(&gPlayerParty[3 + i], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++)
trainerName[j] = gFacilityTrainers[trainerId].trainerName[j];
SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, &trainerName);
@@ -3280,13 +3049,13 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
{
s32 i, validMons = 0;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (src->party[i].species)
validMons++;
}
- if (validMons != 3)
+ if (validMons != FRONTIER_PARTY_SIZE)
{
memset(dst, 0, sizeof(*dst));
return FALSE;
@@ -3296,6 +3065,7 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
dst->lvlMode = src->lvlMode;
dst->winStreak = src->winStreak;
// BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries.
+ // Fix by using ARRAY_COUNT(sRubyFacilityClassToEmerald)
for (i = 0; i < FACILITY_CLASSES_COUNT; i++)
{
if (sRubyFacilityClassToEmerald[i][0] == src->facilityClass)
@@ -3308,18 +3078,18 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
dst->name[i] = src->name[i];
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
dst->trainerId[i] = src->trainerId[i];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
dst->greeting[i] = src->greeting[i];
- for (i = 0; i < 6; i++)
- dst->speechWon[i] = gUnknown_085DFA46[i];
- for (i = 0; i < 6; i++)
- dst->speechLost[i] = gUnknown_085DFA52[i];
- for (i = 0; i < 3; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
+ dst->speechWon[i] = sRecordTrainerSpeechWon[i];
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
+ dst->speechLost[i] = sRecordTrainerSpeechLost[i];
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
dst->party[i] = src->party[i];
- CpuFill32(0, &dst->party[3], sizeof(dst->party[3]));
+ CpuFill32(0, &dst->party[FRONTIER_PARTY_SIZE], sizeof(dst->party[FRONTIER_PARTY_SIZE]));
CalcEmeraldBattleTowerChecksum(dst);
return TRUE;
}
@@ -3329,13 +3099,13 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru
{
s32 i, validMons = 0;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (src->party[i].species)
validMons++;
}
- if (validMons != 3)
+ if (validMons != FRONTIER_PARTY_SIZE)
{
memset(dst, 0, sizeof(*dst));
return FALSE;
@@ -3345,6 +3115,7 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru
dst->lvlMode = src->lvlMode;
dst->winStreak = src->winStreak;
// BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries.
+ // Fix by using ARRAY_COUNT(sRubyFacilityClassToEmerald) instead
for (i = 0; i < FACILITY_CLASSES_COUNT; i++)
{
if (sRubyFacilityClassToEmerald[i][1] == src->facilityClass)
@@ -3353,15 +3124,15 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru
if (i != FACILITY_CLASSES_COUNT)
dst->facilityClass = sRubyFacilityClassToEmerald[i][0];
else
- dst->facilityClass = 0x24; // FACILITY_CLASS_YOUNGSTER in Ruby/Sapphire.
+ dst->facilityClass = RS_FACILITY_CLASS_YOUNGSTER;
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
dst->name[i] = src->name[i];
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
dst->trainerId[i] = src->trainerId[i];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
dst->greeting[i] = src->greeting[i];
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
dst->party[i] = src->party[i];
CalcRubyBattleTowerChecksum(dst);
@@ -3391,7 +3162,7 @@ static void ValidateApprenticesChecksums(void)
{
s32 i, j;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < APPRENTICE_COUNT; i++)
{
u32 *data = (u32*) &gSaveBlock2Ptr->apprentices[i];
u32 checksum = 0;
@@ -3408,7 +3179,7 @@ void GetBattleTowerTrainerLanguage(u8 *dst, u16 trainerId)
{
*dst = gGameLanguage;
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
*dst = gGameLanguage;
}
@@ -3481,28 +3252,30 @@ s32 GetHighestLevelInPlayerParty(void)
return highestLevel;
}
+// Frontier Trainer parties are roughly scaled in difficulty with higher trainer IDs, so scale IVs as well
+// Duplicated in Battle Dome as GetDomeTrainerMonIvs
static u8 GetFrontierTrainerFixedIvs(u16 trainerId)
{
- u8 fixedIV = 0;
+ u8 fixedIv;
- if (trainerId < 100)
- fixedIV = 3;
- else if (trainerId < 120)
- fixedIV = 6;
- else if (trainerId < 140)
- fixedIV = 9;
- else if (trainerId < 160)
- fixedIV = 12;
- else if (trainerId < 180)
- fixedIV = 15;
- else if (trainerId < 200)
- fixedIV = 18;
- else if (trainerId < 220)
- fixedIV = 21;
- else
- fixedIV = 31;
+ if (trainerId <= FRONTIER_TRAINER_JILL) // 0 - 99
+ fixedIv = 3;
+ else if (trainerId <= FRONTIER_TRAINER_CHLOE) // 100 - 119
+ fixedIv = 6;
+ else if (trainerId <= FRONTIER_TRAINER_SOFIA) // 120 - 139
+ fixedIv = 9;
+ else if (trainerId <= FRONTIER_TRAINER_JAZLYN) // 140 - 159
+ fixedIv = 12;
+ else if (trainerId <= FRONTIER_TRAINER_ALISON) // 160 - 179
+ fixedIv = 15;
+ else if (trainerId <= FRONTIER_TRAINER_LAMAR) // 180 - 199
+ fixedIv = 18;
+ else if (trainerId <= FRONTIER_TRAINER_TESS) // 200 - 219
+ fixedIv = 21;
+ else // 220+ (- 299)
+ fixedIv = 31;
- return fixedIV;
+ return fixedIv;
}
static u16 sub_8165D40(void)
@@ -3524,19 +3297,19 @@ static u16 sub_8165D40(void)
static u8 SetTentPtrsGetLevel(void)
{
u8 level = 30;
- u32 tentFacility = VarGet(VAR_FRONTIER_FACILITY);
+ u32 facility = VarGet(VAR_FRONTIER_FACILITY);
- if (tentFacility == TENT_SLATEPORT)
+ if (facility == FRONTIER_FACILITY_FACTORY)
{
gFacilityTrainers = gSlateportBattleTentTrainers;
gFacilityTrainerMons = gSlateportBattleTentMons;
}
- else if (tentFacility == TENT_VERDANTURF)
+ else if (facility == FRONTIER_FACILITY_PALACE)
{
gFacilityTrainers = gVerdanturfBattleTentTrainers;
gFacilityTrainerMons = gVerdanturfBattleTentMons;
}
- else if (tentFacility == TENT_FALLARBOR)
+ else if (facility == FRONTIER_FACILITY_ARENA)
{
gFacilityTrainers = gFallarborBattleTentTrainers;
gFacilityTrainerMons = gFallarborBattleTentMons;
@@ -3554,7 +3327,7 @@ static u8 SetTentPtrsGetLevel(void)
return level;
}
-static void sub_8165E18(void)
+static void SetNextBattleTentOpponent(void)
{
s32 i;
u16 trainerId;
@@ -3583,19 +3356,19 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
u8 level = SetTentPtrsGetLevel();
u8 fixedIV = 0;
u8 bfMonCount;
- const u16 *monSets = NULL;
+ const u16 *monSet = NULL;
u32 otID = 0;
- u16 monSetId;
+ u16 monId;
- monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+ monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet;
bfMonCount = 0;
- monSetId = monSets[bfMonCount];
- while (monSetId != 0xFFFF)
+ monId = monSet[bfMonCount];
+ while (monId != 0xFFFF)
{
bfMonCount++;
- monSetId = monSets[bfMonCount];
- if (monSetId == 0xFFFF)
+ monId = monSet[bfMonCount];
+ if (monId == 0xFFFF)
break;
}
@@ -3603,12 +3376,12 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
otID = Random32();
while (i != monCount)
{
- u16 monSetId = monSets[Random() % bfMonCount];
+ u16 monId = monSet[Random() % bfMonCount];
// Ensure this pokemon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++)
{
- if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
+ if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species)
break;
}
if (j != i + firstMonId)
@@ -3618,7 +3391,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
for (j = 0; j < i + firstMonId; j++)
{
if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
- && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId])
break;
}
if (j != i + firstMonId)
@@ -3628,34 +3401,34 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
// because the species and held items were already checked directly above.
for (j = 0; j < i; j++)
{
- if (chosenMonIndices[j] == monSetId)
+ if (chosenMonIndices[j] == monId)
break;
}
if (j != i)
continue;
- chosenMonIndices[i] = monSetId;
+ chosenMonIndices[i] = monId;
// Place the chosen pokemon into the trainer's party.
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
- friendship = 255;
+ friendship = MAX_FRIENDSHIP;
// Give the chosen pokemon its specified moves.
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
}
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot.
diff --git a/src/battle_transition.c b/src/battle_transition.c
index 3e86fcf51..9e66b8938 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -9,7 +9,7 @@
#include "field_weather.h"
#include "gpu_regs.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "overworld.h"
#include "palette.h"
#include "random.h"
@@ -760,10 +760,10 @@ static const struct SpriteTemplate gUnknown_085C8E68 =
static const struct OamData gOamData_85C8E80 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -1672,7 +1672,7 @@ bool8 FldEff_Pokeball(void)
{
u8 spriteId = CreateSpriteAtEnd(&gUnknown_085C8E68, gFieldEffectArguments[0], gFieldEffectArguments[1], 0);
gSprites[spriteId].oam.priority = 0;
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].data[0] = gFieldEffectArguments[2];
gSprites[spriteId].data[1] = gFieldEffectArguments[3];
gSprites[spriteId].data[2] = -1;
@@ -1961,9 +1961,10 @@ static bool8 Phase2_Ripple_Func2(struct Task *task)
for (i = 0; i < 160; i++, r4 += r8)
{
- // todo: fix the asm
s16 var = r4 >> 8;
- asm("");
+
+ var++;
+ var--;
gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_16 + Sin(var, r3);
}
@@ -2393,20 +2394,20 @@ static void Mugshots_CreateOpponentPlayerSprites(struct Task *task)
opponentSprite->callback = sub_8148380;
playerSprite->callback = sub_8148380;
- opponentSprite->oam.affineMode = 3;
- playerSprite->oam.affineMode = 3;
+ opponentSprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
+ playerSprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
opponentSprite->oam.matrixNum = AllocOamMatrix();
playerSprite->oam.matrixNum = AllocOamMatrix();
- opponentSprite->oam.shape = 1;
- playerSprite->oam.shape = 1;
+ opponentSprite->oam.shape = SPRITE_SHAPE(64x32);
+ playerSprite->oam.shape = SPRITE_SHAPE(64x32);
- opponentSprite->oam.size = 3;
- playerSprite->oam.size = 3;
+ opponentSprite->oam.size = SPRITE_SIZE(64x32);
+ playerSprite->oam.size = SPRITE_SIZE(64x32);
- CalcCenterToCornerVec(opponentSprite, 1, 3, 3);
- CalcCenterToCornerVec(playerSprite, 1, 3, 3);
+ CalcCenterToCornerVec(opponentSprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE);
+ CalcCenterToCornerVec(playerSprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE);
SetOamMatrixRotationScaling(opponentSprite->oam.matrixNum, sMugshotsOpponentRotationScales[mugshotId][0], sMugshotsOpponentRotationScales[mugshotId][1], 0);
SetOamMatrixRotationScaling(playerSprite->oam.matrixNum, -512, 512, 0);
diff --git a/src/battle_util.c b/src/battle_util.c
index 03f1482da..4352a02c2 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -1,30 +1,30 @@
#include "global.h"
#include "battle.h"
#include "battle_anim.h"
-#include "constants/battle_script_commands.h"
-#include "constants/abilities.h"
-#include "constants/moves.h"
-#include "constants/hold_effects.h"
-#include "constants/battle_anim.h"
#include "pokemon.h"
-#include "constants/species.h"
#include "item.h"
-#include "constants/items.h"
#include "util.h"
-#include "constants/battle_move_effects.h"
#include "battle_scripts.h"
#include "random.h"
#include "text.h"
#include "string_util.h"
#include "battle_message.h"
-#include "constants/battle_string_ids.h"
-#include "constants/weather.h"
#include "battle_ai_script_commands.h"
#include "battle_controllers.h"
#include "event_data.h"
#include "link.h"
-#include "berry.h"
#include "field_weather.h"
+#include "constants/abilities.h"
+#include "constants/battle_anim.h"
+#include "constants/battle_move_effects.h"
+#include "constants/battle_script_commands.h"
+#include "constants/battle_string_ids.h"
+#include "constants/berry.h"
+#include "constants/hold_effects.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
+#include "constants/weather.h"
// rom const data
static const u16 sSoundMovesTable[] =
@@ -1830,9 +1830,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
{
switch (GetCurrentWeather())
{
- case WEATHER_RAIN_LIGHT:
- case WEATHER_RAIN_MED:
- case WEATHER_RAIN_HEAVY:
+ case WEATHER_RAIN:
+ case WEATHER_RAIN_THUNDERSTORM:
+ case WEATHER_DOWNPOUR:
if (!(gBattleWeather & WEATHER_RAIN_ANY))
{
gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT);
@@ -2084,7 +2084,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
}
}
break;
- case ABILITYEFFECT_MOVE_END: // Think contact abilities.
+ case ABILITYEFFECT_ON_DAMAGE: // Contact abilities and Color Change
switch (gLastUsedAbility)
{
case ABILITY_COLOR_CHANGE:
diff --git a/src/battle_util2.c b/src/battle_util2.c
index f840cd58b..fd0dda76b 100644
--- a/src/battle_util2.c
+++ b/src/battle_util2.c
@@ -2,7 +2,7 @@
#include "battle.h"
#include "battle_anim.h"
#include "battle_controllers.h"
-#include "alloc.h"
+#include "malloc.h"
#include "pokemon.h"
#include "trainer_hill.h"
#include "party_menu.h"
@@ -102,7 +102,7 @@ void AdjustFriendshipOnBattleFaint(u8 battlerId)
}
}
-void sub_80571DC(u8 battlerId, u8 arg1)
+void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1)
{
if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT)
{
@@ -110,13 +110,13 @@ void sub_80571DC(u8 battlerId, u8 arg1)
// gBattleStruct->field_60[0][i]
- for (i = 0; i < 3; i++)
- gUnknown_0203CF00[i] = *(0 * 3 + i + (u8*)(gBattleStruct->field_60));
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
+ gBattlePartyCurrentOrder[i] = *(0 * 3 + i + (u8*)(gBattleStruct->field_60));
- sub_81B8FB0(pokemon_order_func(gBattlerPartyIndexes[battlerId]), pokemon_order_func(arg1));
+ SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]), GetPartyIdFromBattlePartyId(arg1));
- for (i = 0; i < 3; i++)
- *(0 * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i];
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
+ *(0 * 3 + i + (u8*)(gBattleStruct->field_60)) = gBattlePartyCurrentOrder[i];
}
}
diff --git a/src/berry.c b/src/berry.c
index 49acb7d10..bbaa2b03b 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -11,6 +11,7 @@
#include "random.h"
#include "string_util.h"
#include "text.h"
+#include "constants/berry.h"
#include "constants/event_object_movement_constants.h"
#include "constants/items.h"
diff --git a/src/berry_blender.c b/src/berry_blender.c
index 03764b2f8..2a122541d 100644
--- a/src/berry_blender.c
+++ b/src/berry_blender.c
@@ -12,7 +12,7 @@
#include "bg.h"
#include "palette.h"
#include "decompress.h"
-#include "alloc.h"
+#include "malloc.h"
#include "gpu_regs.h"
#include "text.h"
#include "text_window.h"
@@ -36,6 +36,7 @@
#include "new_game.h"
#include "save.h"
#include "link.h"
+#include "constants/berry.h"
#include "constants/rgb.h"
#define BLENDER_SCORE_BEST 0
@@ -401,10 +402,10 @@ static const TaskFunc sUnknown_083399EC[] =
static const struct OamData sOamData_8216314 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -544,10 +545,10 @@ static const struct SpriteTemplate sBlenderSyncArrow_SpriteTemplate =
static const struct OamData sOamData_821640C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -613,10 +614,10 @@ static const struct SpriteTemplate sUnknown_08339B40 =
static const struct OamData sOamData_8216474 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -700,10 +701,10 @@ static const struct SpriteTemplate sUnknown_08339BE0 =
static const struct OamData sOamData_8216514 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -758,10 +759,10 @@ static const struct SpriteTemplate sUnknown_08339C2C =
static const struct OamData sOamData_8216560 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -1029,7 +1030,7 @@ static void sub_807FAC8(void)
UnsetBgTilemapBuffer(2);
UnsetBgTilemapBuffer(1);
SetVBlankCallback(NULL);
- sub_81AABF0(sub_807FFA4);
+ ChooseBerrySetCallback(sub_807FFA4);
sBerryBlenderData->mainState = 0;
}
@@ -1108,7 +1109,7 @@ static void Blender_SetPlayerNamesLocal(u8 opponentsNum)
sBerryBlenderData->playersNo = 2;
StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName);
- if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS))
+ if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER))
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MASTER]);
else
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MISTER]);
@@ -1173,7 +1174,7 @@ static void sub_8080018(void)
{
case 0:
sub_8080588();
- gLinkType = 0x4422;
+ gLinkType = LINKTYPE_BERRY_BLENDER;
sBerryBlenderData->field_72 = 0;
for (i = 0; i < BLENDER_MAX_PLAYERS; i++)
{
@@ -1431,7 +1432,7 @@ static void Blender_SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum,
{
opponentBerryId = sOpponentBerrySets[opponentSetId][i];
var = playerBerryItemId - 163;
- if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS) && gSpecialVar_0x8004 == 1)
+ if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER) && gSpecialVar_0x8004 == 1)
{
opponentSetId %= 5;
opponentBerryId = sSpecialOpponentBerrySets[opponentSetId];
@@ -1516,7 +1517,7 @@ static void sub_80808D4(void)
sBerryBlenderData->playAgainState = 0;
sBerryBlenderData->loadGfxState = 0;
- gLinkType = 0x4422;
+ gLinkType = LINKTYPE_BERRY_BLENDER;
sBerryBlenderData->mainState++;
break;
case 1:
@@ -1631,7 +1632,7 @@ static void sub_80808D4(void)
if (gSpecialVar_0x8004 == 1)
{
- if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS))
+ if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER))
sBerryBlenderData->field_120[0] = CreateTask(sub_8081224, 10);
else
sBerryBlenderData->field_120[0] = CreateTask(sUnknown_083399EC[0], 10);
@@ -3338,7 +3339,7 @@ static bool8 Blender_PrintBlendingResults(void)
TryAddContestLinkTvShow(&pokeblock, &sBerryBlenderData->tvBlender);
CreateTask(sub_8083F3C, 6);
- sub_80EECEC();
+ IncrementDailyBerryBlender();
RemoveBagItem(gSpecialVar_ItemId, 1);
AddPokeblock(&pokeblock);
diff --git a/src/berry_crush.c b/src/berry_crush.c
index 6259e0a41..f0987c953 100755
--- a/src/berry_crush.c
+++ b/src/berry_crush.c
@@ -1,26 +1,36 @@
#include "global.h"
-#include "alloc.h"
+#include "berry.h"
#include "berry_powder.h"
#include "bg.h"
+#include "decompress.h"
+#include "dynamic_placeholder_text_util.h"
#include "event_data.h"
#include "gpu_regs.h"
#include "graphics.h"
+#include "international_string_util.h"
#include "item_icon.h"
#include "item_menu.h"
#include "link.h"
#include "link_rfu.h"
#include "main.h"
+#include "malloc.h"
#include "math_util.h"
#include "menu.h"
#include "overworld.h"
#include "palette.h"
+#include "pokemon_jump.h"
+#include "random.h"
#include "rom_8034C54.h"
+#include "save.h"
#include "scanline_effect.h"
+#include "script.h"
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
+#include "strings.h"
#include "task.h"
#include "text.h"
+#include "text_window.h"
#include "trig.h"
#include "window.h"
#include "constants/items.h"
@@ -30,96 +40,146 @@
struct BerryCrushGame_Player
{
u16 unk0;
- u8 filler2[0x12];
- u8 unk14[0xC];
+ u16 unk2;
+ union
+ {
+ u8 as_2d_bytes[2][8];
+ u16 as_hwords[8];
+ } unk4;
+ u8 unk14[12];
};
-struct BerryCrushGame_PlayersSeparate
+struct __attribute__((packed, aligned(2))) BerryCrushGame_4E
{
- struct BerryCrushGame_Player player;
- struct BerryCrushGame_Player others[4];
+ u16 unk0;
+ u16 filler2;
+ u8 unk4_0:1;
+ u8 unk4_1:1;
+ s8 unk5;
+ u16 unk6;
+ u16 unk8;
+ u16 unkA;
+ u16 unkC;
};
-typedef union BerryCrushGame_Players
+struct __attribute__((packed)) BerryCrushGame_40
{
- struct BerryCrushGame_Player players[5];
- struct BerryCrushGame_PlayersSeparate separate;
-} BerryCrushGame_Players;
+ u8 unk0[2];
+ u16 unk2[6];
+ struct BerryCrushGame_4E unkE;
+};
-struct BerryCrushGame_138_C
+struct BerryCrushGame_5C
{
- u8 filler0[0x8];
- s16 unk8;
- u16 unkA;
+ u16 unk00;
+ u8 unk02_0:1;
+ u8 unk02_1:1;
+ u8 unk02_2:1;
+ u8 unk02_3:5;
+ u8 unk03;
+ u16 unk04;
+ u16 unk06;
+ u16 unk08;
+ u16 unk0A;
};
-struct BerryCrushGame_138
+union BerryCrushGame_68
{
- u8 filler0[0x4];
- u16 unk4;
- u16 unk6;
- u16 unk8;
- struct BerryCrushGame_138_C *unkC[5];
- u8 filler1C[0x4];
- struct Sprite *unk24[5];
- struct Sprite *unk38[5];
- struct Sprite *unk4C[5];
- struct Sprite *unk60[5];
- struct Sprite *unk74[5];
+ struct BerryCrushGame_68_x
+ {
+ struct BerryCrushGame_68_x_SubStruct
+ {
+ s32 unk00;
+ u16 unk04;
+ s16 unk06;
+ u16 unk08;
+ u16 unk0A;
+ u16 unk0C[2][5];
+ u8 filler20[16];
+ } unk00;
+ u8 unk30[12];
+ struct BerryCrushGame_Player others[4];
+ u8 fillerBC[20];
+ } as_four_players;
+ struct BerryCrushGame_68_y
+ {
+ u8 filler00[28];
+ struct BerryCrushGame_Player unk1C[5];
+ u8 fillerBC[20];
+ } as_five_players;
};
-struct BerryCrushGame_4E
+struct BerryCrushGame_138_C
{
- u8 filler0[0x4];
- u8 unk4;
- u8 filler5[0x5];
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u16 unk4;
+ u16 unk6;
+ s16 unk8;
u16 unkA;
- u16 unkC;
};
-struct __attribute__((packed)) BerryCrushGame_40
+struct BerryCrushGame_138
{
- u8 filler0[0xE];
- struct BerryCrushGame_4E unkE;
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ s16 unk4;
+ s16 unk6;
+ s16 unk8;
+ const struct BerryCrushGame_138_C *unkC[5];
+ struct Sprite *unk20;
+ struct Sprite *unk24[5];
+ struct Sprite *unk38[5];
+ struct Sprite *unk4C[11];
+ struct Sprite *unk78[2];
+ u8 unk80;
+ u8 filler81;
+ u8 unk82;
+ u8 unk83[5];
};
struct BerryCrushGame
{
MainCallback unk0;
- void (* unk4)(struct BerryCrushGame *, u8 *);
+ u32 (* unk4)(struct BerryCrushGame *, u8 *);
u8 unk8;
u8 unk9;
u8 unkA;
u8 unkB;
u8 unkC;
- u8 fillerD[0x1];
+ u8 unkD;
u8 unkE;
u8 unkF;
- u8 filler10[0x2];
+ u16 unk10;
u16 unk12;
- u8 filler14[0x2];
+ u16 unk14;
u16 unk16;
- u8 filler18[0x4];
+ s16 unk18;
+ s16 unk1A;
int unk1C;
- u8 filler20[0x5];
+ s32 unk20;
+ u8 unk24;
u8 unk25_0:1;
u8 unk25_1:1;
u8 unk25_2:1;
- u8 filler26[0x2];
+ u8 unk25_3:1;
+ u8 unk25_4:1;
+ u8 unk25_5:3;
+ u16 unk26;
u16 unk28;
- u16 unk2A;
+ s16 unk2A;
s16 unk2C;
- u8 filler2E[0x8];
+ s16 unk2E;
+ s16 unk30;
+ s16 unk32;
+ s16 unk34;
u8 unk36[0xA];
struct BerryCrushGame_40 unk40;
- u8 filler60[0x8];
- int unk68;
- u16 unk6C;
- u8 filler6E[0x4];
- u16 unk72;
- u8 filler74[0x10];
- BerryCrushGame_Players unk84;
- u8 filler124[0x14];
+ struct BerryCrushGame_5C unk5C;
+ union BerryCrushGame_68 unk68;
struct BerryCrushGame_138 unk138;
u8 unk1C0[0x1000];
u8 unk11C0[0x1000];
@@ -132,7 +192,7 @@ static void sub_8020F88(void);
static void sub_8020FA0(u8);
void sub_8020FC4(struct BerryCrushGame *);
void sub_8022BEC(u16, u8, u8 *);
-void sub_8024604(u8 *, u8, s8, u8, u8, u8, u8);
+void sub_8024604(u8 *, u32, s32, u32, u32, u32, u32);
static int sub_8021450(struct BerryCrushGame *);
void sub_8022588(struct BerryCrushGame *);
void sub_8022600(struct BerryCrushGame *);
@@ -141,6 +201,9 @@ void sub_8022730(struct BerryCrushGame *);
void sub_8022960(struct BerryCrushGame *);
void sub_8022524(struct BerryCrushGame_138 *, u16);
void sub_8022B28(struct Sprite *);
+void sub_8022554(struct BerryCrushGame_138 *r0);
+void sub_8024578(struct BerryCrushGame *);
+void sub_8024644(u8 *, u32, u32, u32, u32);
static EWRAM_DATA struct BerryCrushGame *gUnknown_02022C90 = NULL;
@@ -153,14 +216,42 @@ extern const u16 gUnknown_082F41E8[];
extern const s8 gUnknown_082F41CC[][2];
extern const s8 gUnknown_082F41D2[][2];
extern const u32 gUnknown_082F334C[];
-extern const u8 gUnknown_082F32D8[][3];
+extern const u8 sBerryCrushTextColors1[][3];
+extern const u8 *gUnknown_082F43B4[];
+extern const u8 sBerryCrushTextColors4[];
+extern const struct WindowTemplate gUnknown_082F32CC[];
+extern const u8 gUnknown_082F3344[][4];
+extern const struct WindowTemplate gUnknown_082F32EC;
+extern const u8 sBerryCrushTextColorTable[][3];
+extern const struct WindowTemplate gUnknown_082F32F4[];
+extern const u8 gUnknown_082F417C[][5];
+extern const struct BerryCrushGame_138_C gUnknown_082F4190[];
+extern const u8 sBerryCrushTextColors2[][3];
+extern const u8 sBerryCrushTextColors3[][3];
+extern const u32 gUnknown_08DE3FD4[];
+extern const struct CompressedSpriteSheet gUnknown_082F41F4[];
+extern const struct SpritePalette gUnknown_082F421C;
+extern const struct SpriteTemplate gUnknown_082F430C;
+extern const struct SpriteTemplate gUnknown_082F4324;
+extern const struct SpriteTemplate gUnknown_082F433C;
+extern const struct SpriteTemplate gUnknown_082F4354;
+extern const struct UnkStruct3 gUnknown_082F4384[];
+extern u32 (*const gUnknown_082F43CC[])(struct BerryCrushGame *, u8 *);
+extern const u8 *const gUnknown_082F32A4[];
+extern const u8 gUnknown_082F4448[];
+extern const s8 gUnknown_082F326C[][7];
+extern const u8 gUnknown_082F325C[];
+extern const u8 gUnknown_082F3264[];
+extern const u8 gUnknown_082F3290[][4];
+extern const u8 gUnknown_082F4434[][4];
+extern const u8 gUnknown_082F4444[];
struct BerryCrushGame *sub_8020C00(void)
{
return gUnknown_02022C90;
}
-int sub_8020C0C(MainCallback callback)
+u32 sub_8020C0C(MainCallback callback)
{
if (!gUnknown_02022C90)
return 2;
@@ -173,7 +264,7 @@ int sub_8020C0C(MainCallback callback)
SetMainCallback2(callback);
if (callback == CB2_ReturnToField)
{
- gTextFlags.autoScroll = 1;
+ gTextFlags.autoScroll = TRUE;
PlayNewMapMusic(MUS_POKECEN);
SetMainCallback1(CB1_Overworld);
}
@@ -237,7 +328,7 @@ static void sub_8020D8C(void)
else
RemoveBagItem(gSpecialVar_ItemId, 1);
- gUnknown_02022C90->unk84.separate.others[gUnknown_02022C90->unk8].unk0 = gSpecialVar_ItemId - FIRST_BERRY_INDEX;
+ gUnknown_02022C90->unk68.as_four_players.others[gUnknown_02022C90->unk8].unk0 = gSpecialVar_ItemId - FIRST_BERRY_INDEX;
gUnknown_02022C90->unkE = 1;
gUnknown_02022C90->unkF = 9;
sub_8024604(gUnknown_02022C90->unk36, 0, -1, 0, 16, 0, 0);
@@ -249,7 +340,7 @@ static void sub_8020D8C(void)
void sub_8020E1C(void)
{
DestroyTask(gUnknown_02022C90->unkA);
- sub_81AABF0(sub_8020D8C);
+ ChooseBerrySetCallback(sub_8020D8C);
}
static void sub_8020E3C(void)
@@ -266,10 +357,10 @@ void sub_8020E58(void)
{
u32 var0, var1;
- var0 = gUnknown_02022C90->unk6C;
+ var0 = gUnknown_02022C90->unk68.as_four_players.unk00.unk04;
var0 <<= 8;
var0 = sub_81515FC(var0, 60 << 8);
- var1 = gUnknown_02022C90->unk72;
+ var1 = gUnknown_02022C90->unk68.as_four_players.unk00.unk0A;
var1 <<= 8;
var1 = sub_81515FC(var1, var0) & 0xFFFF;
gUnknown_02022C90->unk16 = var1;
@@ -305,7 +396,7 @@ void sub_8020E58(void)
break;
}
- gUnknown_02022C90->unk1C = gUnknown_02022C90->unk68;
+ gUnknown_02022C90->unk1C = gUnknown_02022C90->unk68.as_four_players.unk00.unk00;
if (GiveBerryPowder(gUnknown_02022C90->unk1C))
return;
@@ -335,18 +426,22 @@ static void sub_8020FA0(u8 taskId)
sub_8021450(gUnknown_02022C90);
}
-#ifdef NONMATCHING
+#define PLAYER_UNK14(game, i) \
+ ((u8 *)(game) \
+ + offsetof(struct BerryCrushGame, unk68) \
+ + offsetof(struct BerryCrushGame_68_x, unk30) \
+ + sizeof(struct BerryCrushGame_Player) * (i))
+
void sub_8020FC4(struct BerryCrushGame *arg0)
{
u8 i;
for (i = 0; i < arg0->unk9; i++)
- StringCopy(arg0->unk84.players[i].unk14, gLinkPlayers[i].name);
-
+ StringCopy(PLAYER_UNK14(arg0, i), gLinkPlayers[i].name);
for (; i < 5; i++)
{
- memset(arg0->unk84.players[i].unk14, 1, PLAYER_NAME_LENGTH);
- arg0->unk84.players[i].unk14[PLAYER_NAME_LENGTH] = EOS;
+ memset(PLAYER_UNK14(arg0, i), 1, PLAYER_NAME_LENGTH);
+ arg0->unk68.as_five_players.unk1C[i].unk14[PLAYER_NAME_LENGTH] = EOS;
}
switch (gSaveBlock2Ptr->optionsTextSpeed)
@@ -362,85 +457,6 @@ void sub_8020FC4(struct BerryCrushGame *arg0)
break;
}
}
-#else
-NAKED
-void sub_8020FC4(struct BerryCrushGame *arg0)
-{
- asm_unified("\n\
- push {r4-r6,lr}\n\
- adds r6, r0, 0\n\
- movs r5, 0\n\
- b _08020FE6\n\
-LOOP_1:\n\
- lsls r0, r5, 5\n\
- adds r0, 0x98\n\
- adds r0, r6, r0\n\
- lsls r1, r5, 3\n\
- subs r1, r5\n\
- lsls r1, 2\n\
- ldr r2, =gLinkPlayers + 8\n\
- adds r1, r2\n\
- bl StringCopy\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
-_08020FE6:\n\
- ldrb r0, [r6, 0x9]\n\
- cmp r5, r0\n\
- bcc LOOP_1\n\
- cmp r5, 0x4\n\
- bhi _08021012\n\
-_08020FF0:\n\
- lsls r4, r5, 5\n\
- adds r0, r4, 0\n\
- adds r0, 0x98\n\
- adds r0, r6, r0\n\
- movs r1, 0x1\n\
- movs r2, 0x7\n\
- bl memset\n\
- adds r4, r6, r4\n\
- adds r4, 0x9F\n\
- movs r0, 0xFF\n\
- strb r0, [r4]\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- cmp r5, 0x4\n\
- bls _08020FF0\n\
-_08021012:\n\
- ldr r0, =gSaveBlock2Ptr\n\
- ldr r0, [r0]\n\
- ldrb r0, [r0, 0x14]\n\
- lsls r0, 29\n\
- lsrs r0, 29\n\
- cmp r0, 0x1\n\
- beq _0802103E\n\
- cmp r0, 0x1\n\
- bgt _08021034\n\
- cmp r0, 0\n\
- beq _0802103A\n\
- b _08021046\n\
- .pool\n\
-_08021034:\n\
- cmp r0, 0x2\n\
- beq _08021042\n\
- b _08021046\n\
-_0802103A:\n\
- movs r0, 0x8\n\
- b _08021044\n\
-_0802103E:\n\
- movs r0, 0x4\n\
- b _08021044\n\
-_08021042:\n\
- movs r0, 0x1\n\
-_08021044:\n\
- strb r0, [r6, 0xB]\n\
-_08021046:\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0");
-}
-#endif // NONMATCHING
int sub_802104C(void)
{
@@ -503,7 +519,7 @@ int sub_802104C(void)
sub_8197200();
sub_8022588(var0);
sub_8022600(var0);
- gPaletteFade.bufferTransferDisabled = 1;
+ gPaletteFade.bufferTransferDisabled = TRUE;
break;
case 7:
LoadPalette(gUnknown_08DE3398, 0, 0x180);
@@ -524,7 +540,7 @@ int sub_802104C(void)
ChangeBgY(1, 0, 0);
break;
case 9:
- gPaletteFade.bufferTransferDisabled = 0;
+ gPaletteFade.bufferTransferDisabled = FALSE;
BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
ShowBg(0);
ShowBg(1);
@@ -636,10 +652,10 @@ void sub_80214A8(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1)
&gUnknown_082F436C,
gUnknown_082F41E8[i],
gUnknown_082F41E8[i],
- arg0->unk84.separate.others[i].unk0 + 133);
+ arg0->unk68.as_four_players.others[i].unk0 + 133);
arg1->unk38[i] = &gSprites[spriteId];
arg1->unk38[i]->oam.priority = 3;
- arg1->unk38[i]->affineAnimPaused = 1;
+ arg1->unk38[i]->affineAnimPaused = TRUE;
arg1->unk38[i]->pos1.x = arg1->unkC[i]->unk8 + 120;
arg1->unk38[i]->pos1.y = -16;
data = arg1->unk38[i]->data;
@@ -695,7 +711,7 @@ void sub_8021608(struct Sprite *sprite)
}
}
-void sub_80216A8(struct BerryCrushGame *arg0)
+void sub_80216A8(struct BerryCrushGame *arg0, __attribute__((unused)) struct BerryCrushGame_138 *arg1)
{
u8 i;
for (i = 0; i < arg0->unk9; i++)
@@ -726,8 +742,8 @@ void sub_80216E0(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1)
else
StartSpriteAnim(arg1->unk24[i], 0);
- arg1->unk24[i]->invisible = 0;
- arg1->unk24[i]->animPaused = 0;
+ arg1->unk24[i]->invisible = FALSE;
+ arg1->unk24[i]->animPaused = FALSE;
arg1->unk24[i]->pos2.x = gUnknown_082F41CC[(var % 4) - 1][0];
arg1->unk24[i]->pos2.y = gUnknown_082F41CC[(var % 4) - 1][1];
}
@@ -750,7 +766,7 @@ void sub_80216E0(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1)
arg1->unk4C[i]->pos1.y = gUnknown_082F41D2[i][1] + 136 - (var * 4);
arg1->unk4C[i]->pos2.x = gUnknown_082F41D2[i][0] + (gUnknown_082F41D2[i][0] / (var2 * 4));
arg1->unk4C[i]->pos2.y = gUnknown_082F41D2[i][1];
- if (var4E->unk4 & 0x2)
+ if (var4E->unk4_1)
StartSpriteAnim(arg1->unk4C[i], 1);
else
StartSpriteAnim(arg1->unk4C[i], 0);
@@ -821,5 +837,2347 @@ void sub_8021944(struct BerryCrushGame_138 *arg0, u16 arg1)
void sub_80219C8(u8 windowId, u8 left, u8 colorId, const u8 *string)
{
left = (left * 4) - (GetStringWidth(2, string, -1) / 2u);
- AddTextPrinterParameterized3(windowId, 2, left, 0, gUnknown_082F32D8[colorId], 0, string);
+ AddTextPrinterParameterized3(windowId, 2, left, 0, sBerryCrushTextColors1[colorId], 0, string);
+}
+
+#ifdef NONMATCHING
+void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3)
+{
+ s32 r6;
+ u8 i, j;
+ u8 sp18 = 0;
+ u8 sp1C = 0;
+ union BerryCrushGame_68 *sp20 = &sp0C->unk68;
+ u32 xOffset;
+ u32 r8, r9, r4, r7, r3_;
+ u8 r10, r2;
+
+ r3 -= 16;
+ if (sp10 == 2)
+ r3 -= 42;
+ r6 = r3 - 14 * sp0C->unk9;
+ if (r6 > 0)
+ r6 = r6 / 2 + 16;
+ else
+ r6 = 16;
+ i = 0;
+ while (i < sp0C->unk9)
+ {
+ DynamicPlaceholderTextUtil_Reset();
+ switch (sp10)
+ {
+ default: // how can you write this twice??????
+ r4 = sp14 - 4;
+ r10 = r6;
+ r9 = sp1C + 0xA2;
+ r8 = sp18;
+ r6 += 14;
+ ++i;
+ break;
+ case 0:
+ sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[0][i];
+ if (i != 0 && sp20->as_four_players.unk00.unk0C[0][i] != sp20->as_four_players.unk00.unk0C[0][i - 1])
+ sp1C = i;
+ ConvertIntToDecimalStringN(
+ gStringVar4,
+ sp20->as_four_players.unk00.unk0C[sp10][i],
+ STR_CONV_MODE_RIGHT_ALIGN,
+ 4
+ );
+ StringAppend(gStringVar4, gUnknown_082F43B4[sp10]);
+ r4 = sp14 - 4;
+ r10 = r6;
+ r9 = sp1C + 0xA2;
+ r8 = sp18;
+ r6 += 14;
+ ++i;
+ break;
+ case 1:
+ sp18 = sp20->as_five_players.unk1C[0].unk4.as_2d_bytes[1][i];
+ if (i != 0 && sp20->as_four_players.unk00.unk0C[1][i] != sp20->as_four_players.unk00.unk0C[1][i - 1])
+ sp1C = i;
+ ConvertIntToDecimalStringN(
+ gStringVar1,
+ sp20->as_four_players.unk00.unk0C[sp10][i] >> 4,
+ STR_CONV_MODE_RIGHT_ALIGN,
+ 3
+ );
+ j = 0;
+ r3_ = 15 & (u8)sp20->as_four_players.unk00.unk0C[sp10][i];
+ r4 = sp14 - 4;
+ r10 = r6;
+ r9 = sp1C + 0xA2;
+ r8 = sp18;
+ r6 += 14;
+ ++i;
+ for (; j < 4; ++j)
+ if (((r3_ >> (3 - j)) & 1) != 0) // why does it load constant 1 into r10?
+ r7 += gUnknown_082F334C[j];
+ ConvertIntToDecimalStringN(
+ gStringVar2,
+ (u8)(r7 / 1000000),
+ STR_CONV_MODE_LEADING_ZEROS,
+ 2
+ );
+ StringExpandPlaceholders(gStringVar4, gText_XDotY);
+ break;
+ case 2:
+ sp18 = i;
+ sp1C = i;
+ r2 = sp0C->unk68.as_four_players.others[i].unk0;
+ if (r2 > 43)
+ r2 = 0;
+ StringCopy(gStringVar1,gBerries[r2].name);
+ StringExpandPlaceholders(gStringVar4, gText_Var1Berry);
+ r4 = sp14 - 4;
+ r10 = r6;
+ r9 = sp1C + 0xA2;
+ r8 = i;
+ r6 += 14;
+ ++i;
+ break;
+ }
+ xOffset = GetStringRightAlignXOffset(2, gStringVar4, r4);
+ AddTextPrinterParameterized3(
+ sp0C->unk138.unk82,
+ 2,
+ xOffset,
+ r10,
+ sBerryCrushTextColors1[0],
+ 0,
+ gStringVar4
+ );
+ if (sp18 == sp0C->unk8)
+ StringCopy(gStringVar3, gText_1DotBlueF700);
+ else
+ StringCopy(gStringVar3, gText_1DotF700);
+ gStringVar3[0] = r9;
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, PLAYER_UNK14(sp0C, r8));
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3);
+ AddTextPrinterParameterized3(
+ sp0C->unk138.unk82,
+ 2,
+ 4,
+ r10,
+ sBerryCrushTextColors1[0],
+ 0,
+ gStringVar4
+ );
+ }
+}
+#else
+NAKED
+void sub_8021A28(struct BerryCrushGame *sp0C, u8 sp10, u8 sp14, u8 r3)
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x2C\n\
+ str r0, [sp, 0xC]\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ str r1, [sp, 0x10]\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ str r2, [sp, 0x14]\n\
+ lsls r3, 24\n\
+ movs r0, 0\n\
+ str r0, [sp, 0x18]\n\
+ movs r1, 0\n\
+ str r1, [sp, 0x1C]\n\
+ ldr r2, [sp, 0xC]\n\
+ adds r2, 0x68\n\
+ str r2, [sp, 0x20]\n\
+ movs r4, 0xF0\n\
+ lsls r4, 24\n\
+ adds r3, r4\n\
+ lsrs r3, 24\n\
+ ldr r0, [sp, 0x10]\n\
+ cmp r0, 0x2\n\
+ bne _08021A68\n\
+ adds r0, r3, 0\n\
+ subs r0, 0x2A\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ _08021A68:\n\
+ ldr r2, [sp, 0xC]\n\
+ ldrb r1, [r2, 0x9]\n\
+ lsls r0, r1, 3\n\
+ subs r0, r1\n\
+ lsls r0, 1\n\
+ subs r6, r3, r0\n\
+ cmp r6, 0\n\
+ ble _08021A84\n\
+ lsrs r0, r6, 31\n\
+ adds r0, r6, r0\n\
+ asrs r0, 1\n\
+ adds r6, r0, 0\n\
+ adds r6, 0x10\n\
+ b _08021A86\n\
+ _08021A84:\n\
+ movs r6, 0x10\n\
+ _08021A86:\n\
+ movs r5, 0\n\
+ ldr r3, [sp, 0xC]\n\
+ ldrb r3, [r3, 0x9]\n\
+ cmp r5, r3\n\
+ bcc _08021A92\n\
+ b _08021D14\n\
+ _08021A92:\n\
+ ldr r4, [sp, 0x10]\n\
+ lsls r4, 2\n\
+ str r4, [sp, 0x24]\n\
+ _08021A98:\n\
+ bl DynamicPlaceholderTextUtil_Reset\n\
+ ldr r0, [sp, 0x10]\n\
+ cmp r0, 0x1\n\
+ beq _08021B48\n\
+ cmp r0, 0x1\n\
+ bgt _08021AC0\n\
+ cmp r0, 0\n\
+ beq _08021ADE\n\
+ ldr r4, [sp, 0x14]\n\
+ subs r4, 0x4\n\
+ lsls r1, r6, 24\n\
+ mov r10, r1\n\
+ ldr r2, [sp, 0x1C]\n\
+ adds r2, 0xA2\n\
+ mov r9, r2\n\
+ ldr r3, [sp, 0x18]\n\
+ lsls r3, 5\n\
+ mov r8, r3\n\
+ b _08021C5A\n\
+ _08021AC0:\n\
+ ldr r4, [sp, 0x10]\n\
+ cmp r4, 0x2\n\
+ bne _08021AC8\n\
+ b _08021C1C\n\
+ _08021AC8:\n\
+ ldr r4, [sp, 0x14]\n\
+ subs r4, 0x4\n\
+ lsls r0, r6, 24\n\
+ mov r10, r0\n\
+ ldr r1, [sp, 0x1C]\n\
+ adds r1, 0xA2\n\
+ mov r9, r1\n\
+ ldr r2, [sp, 0x18]\n\
+ lsls r2, 5\n\
+ mov r8, r2\n\
+ b _08021C5A\n\
+ _08021ADE:\n\
+ ldr r0, [sp, 0x20]\n\
+ adds r0, 0x20\n\
+ adds r0, r5\n\
+ ldrb r0, [r0]\n\
+ str r0, [sp, 0x18]\n\
+ lsls r3, r5, 1\n\
+ ldr r2, [sp, 0x20]\n\
+ adds r2, 0xC\n\
+ cmp r5, 0\n\
+ beq _08021B04\n\
+ adds r0, r2, r3\n\
+ subs r1, r5, 0x1\n\
+ lsls r1, 1\n\
+ adds r1, r2, r1\n\
+ ldrh r0, [r0]\n\
+ ldrh r1, [r1]\n\
+ cmp r0, r1\n\
+ beq _08021B04\n\
+ str r5, [sp, 0x1C]\n\
+ _08021B04:\n\
+ ldr r4, [sp, 0x24]\n\
+ ldr r1, [sp, 0x10]\n\
+ adds r0, r4, r1\n\
+ lsls r0, 1\n\
+ adds r0, r3, r0\n\
+ adds r0, r2, r0\n\
+ ldrh r1, [r0]\n\
+ ldr r0, =gStringVar4\n\
+ movs r2, 0x1\n\
+ movs r3, 0x4\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, =gUnknown_082F43B4\n\
+ adds r0, r4, r0\n\
+ ldr r1, [r0]\n\
+ ldr r0, =gStringVar4\n\
+ bl StringAppend\n\
+ ldr r4, [sp, 0x14]\n\
+ subs r4, 0x4\n\
+ lsls r2, r6, 24\n\
+ mov r10, r2\n\
+ ldr r3, [sp, 0x1C]\n\
+ adds r3, 0xA2\n\
+ mov r9, r3\n\
+ ldr r0, [sp, 0x18]\n\
+ lsls r0, 5\n\
+ mov r8, r0\n\
+ b _08021C5A\n\
+ .pool\n\
+ _08021B48:\n\
+ ldr r1, [sp, 0x20]\n\
+ adds r0, r1, r5\n\
+ adds r0, 0x28\n\
+ ldrb r0, [r0]\n\
+ str r0, [sp, 0x18]\n\
+ lsls r3, r5, 1\n\
+ adds r2, r1, 0\n\
+ adds r2, 0xC\n\
+ cmp r5, 0\n\
+ beq _08021B72\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xA\n\
+ adds r0, r2, r0\n\
+ adds r1, r3, 0\n\
+ adds r1, 0x8\n\
+ adds r1, r2, r1\n\
+ ldrh r0, [r0]\n\
+ ldrh r1, [r1]\n\
+ cmp r0, r1\n\
+ beq _08021B72\n\
+ str r5, [sp, 0x1C]\n\
+ _08021B72:\n\
+ ldr r0, [sp, 0x24]\n\
+ ldr r1, [sp, 0x10]\n\
+ adds r4, r0, r1\n\
+ lsls r4, 1\n\
+ adds r4, r3, r4\n\
+ adds r4, r2, r4\n\
+ ldrh r1, [r4]\n\
+ lsrs r1, 4\n\
+ ldr r0, =gStringVar1\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ movs r7, 0\n\
+ ldrb r0, [r4]\n\
+ movs r3, 0xF\n\
+ ands r3, r0\n\
+ movs r2, 0\n\
+ ldr r4, [sp, 0x10]\n\
+ lsls r4, 2\n\
+ str r4, [sp, 0x28]\n\
+ ldr r4, [sp, 0x14]\n\
+ subs r4, 0x4\n\
+ lsls r0, r6, 24\n\
+ mov r10, r0\n\
+ ldr r1, [sp, 0x1C]\n\
+ adds r1, 0xA2\n\
+ mov r9, r1\n\
+ ldr r0, [sp, 0x18]\n\
+ lsls r0, 5\n\
+ mov r8, r0\n\
+ adds r6, 0xE\n\
+ adds r5, 0x1\n\
+ ldr r1, =gUnknown_082F334C\n\
+ mov r12, r1\n\
+ _08021BB8:\n\
+ movs r0, 0x3\n\
+ subs r1, r0, r2\n\
+ adds r0, r3, 0\n\
+ asrs r0, r1\n\
+ movs r1, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021BD0\n\
+ lsls r0, r2, 2\n\
+ add r0, r12\n\
+ ldr r0, [r0]\n\
+ adds r7, r0\n\
+ _08021BD0:\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ cmp r2, 0x3\n\
+ bls _08021BB8\n\
+ adds r0, r7, 0\n\
+ ldr r1, =0x000f4240\n\
+ bl __udivsi3\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ ldr r0, =gStringVar2\n\
+ adds r1, r3, 0\n\
+ movs r2, 0x2\n\
+ movs r3, 0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, =gUnknown_082F43B4\n\
+ ldr r2, [sp, 0x28]\n\
+ adds r0, r2, r0\n\
+ ldr r1, [r0]\n\
+ ldr r0, =gStringVar4\n\
+ bl StringExpandPlaceholders\n\
+ b _08021C5E\n\
+ .pool\n\
+ _08021C1C:\n\
+ str r5, [sp, 0x18]\n\
+ str r5, [sp, 0x1C]\n\
+ lsls r7, r5, 5\n\
+ ldr r3, [sp, 0xC]\n\
+ adds r0, r3, r7\n\
+ adds r0, 0xA4\n\
+ ldrb r2, [r0]\n\
+ cmp r2, 0x2B\n\
+ bls _08021C30\n\
+ movs r2, 0\n\
+ _08021C30:\n\
+ lsls r1, r2, 3\n\
+ subs r1, r2\n\
+ lsls r1, 2\n\
+ ldr r0, =gBerries\n\
+ adds r1, r0\n\
+ ldr r0, =gStringVar1\n\
+ bl StringCopy\n\
+ ldr r0, =gUnknown_082F43B4\n\
+ ldr r1, [r0, 0x8]\n\
+ ldr r0, =gStringVar4\n\
+ bl StringExpandPlaceholders\n\
+ ldr r4, [sp, 0x14]\n\
+ subs r4, 0x4\n\
+ lsls r0, r6, 24\n\
+ mov r10, r0\n\
+ movs r1, 0xA2\n\
+ adds r1, r5\n\
+ mov r9, r1\n\
+ mov r8, r7\n\
+ _08021C5A:\n\
+ adds r6, 0xE\n\
+ adds r5, 0x1\n\
+ _08021C5E:\n\
+ movs r0, 0x2\n\
+ ldr r1, =gStringVar4\n\
+ adds r2, r4, 0\n\
+ bl GetStringRightAlignXOffset\n\
+ adds r2, r0, 0\n\
+ ldr r3, [sp, 0xC]\n\
+ movs r4, 0xDD\n\
+ lsls r4, 1\n\
+ adds r0, r3, r4\n\
+ ldrb r0, [r0]\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ mov r1, r10\n\
+ lsrs r3, r1, 24\n\
+ ldr r1, =sBerryCrushTextColors1\n\
+ str r1, [sp]\n\
+ movs r4, 0\n\
+ str r4, [sp, 0x4]\n\
+ ldr r1, =gStringVar4\n\
+ str r1, [sp, 0x8]\n\
+ movs r1, 0x2\n\
+ bl AddTextPrinterParameterized3\n\
+ ldr r3, [sp, 0x18]\n\
+ ldr r2, [sp, 0xC]\n\
+ ldrb r2, [r2, 0x8]\n\
+ cmp r3, r2\n\
+ bne _08021CC0\n\
+ ldr r0, =gStringVar3\n\
+ ldr r1, =gText_1DotBlueF700\n\
+ bl StringCopy\n\
+ b _08021CC8\n\
+ .pool\n\
+ _08021CC0:\n\
+ ldr r0, =gStringVar3\n\
+ ldr r1, =gText_1DotF700\n\
+ bl StringCopy\n\
+ _08021CC8:\n\
+ ldr r4, =gStringVar3\n\
+ mov r3, r9\n\
+ strb r3, [r4]\n\
+ mov r1, r8\n\
+ adds r1, 0x98\n\
+ ldr r0, [sp, 0xC]\n\
+ adds r1, r0, r1\n\
+ movs r0, 0\n\
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\
+ ldr r0, =gStringVar4\n\
+ adds r1, r4, 0\n\
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\
+ ldr r1, [sp, 0xC]\n\
+ movs r2, 0xDD\n\
+ lsls r2, 1\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ mov r4, r10\n\
+ lsrs r3, r4, 24\n\
+ ldr r1, =sBerryCrushTextColors1\n\
+ str r1, [sp]\n\
+ movs r1, 0\n\
+ str r1, [sp, 0x4]\n\
+ ldr r2, =gStringVar4\n\
+ str r2, [sp, 0x8]\n\
+ movs r1, 0x2\n\
+ movs r2, 0x4\n\
+ bl AddTextPrinterParameterized3\n\
+ lsls r0, r5, 24\n\
+ lsrs r5, r0, 24\n\
+ ldr r3, [sp, 0xC]\n\
+ ldrb r3, [r3, 0x9]\n\
+ cmp r5, r3\n\
+ bcs _08021D14\n\
+ b _08021A98\n\
+ _08021D14:\n\
+ add sp, 0x2C\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool");
+}
+#endif
+
+void sub_8021D34(struct BerryCrushGame *r8)
+{
+ u8 r10 = 0;
+ u8 r6 = 0;
+ u32 sp0C = 0;
+ union BerryCrushGame_68 *sp10 = &r8->unk68;
+ u8 r7 = GetWindowAttribute(r8->unk138.unk82, WINDOW_HEIGHT) * 8 - 42;
+
+ sub_8021944(&r8->unk138, sp10->as_four_players.unk00.unk04);
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_TimeColon);
+ r6 = 176 - (u8)GetStringWidth(2, gText_SpaceSec, -1);
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_SpaceSec);
+ ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk6, STR_CONV_MODE_LEADING_ZEROS, 2);
+ ConvertIntToDecimalStringN(gStringVar2, r8->unk138.unk8, STR_CONV_MODE_LEADING_ZEROS, 2);
+ StringExpandPlaceholders(gStringVar4, gText_XDotY2);
+ r6 -= GetStringWidth(2, gStringVar4, -1);
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4);
+ r6 -= GetStringWidth(2, gText_SpaceMin, -1);
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_SpaceMin);
+ ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk4, STR_CONV_MODE_LEADING_ZEROS, 1);
+ StringExpandPlaceholders(gStringVar4, gText_StrVar1);
+ r6 -= GetStringWidth(2, gStringVar4, -1);
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4);
+ r7 += 14;
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColors1[0], 0, gText_PressingSpeed);
+ r6 = 176 - (u8)GetStringWidth(2, gText_TimesPerSec, -1);
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gText_TimesPerSec);
+ for (; r10 < 8; ++r10)
+ if (((u8)r8->unk16 >> (7 - r10)) & 1)
+ sp0C += *(r10 + gUnknown_082F334C); // It's accessed in a different way here for unknown reason
+ ConvertIntToDecimalStringN(gStringVar1, r8->unk16 >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ ConvertIntToDecimalStringN(gStringVar2, sp0C / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2);
+ StringExpandPlaceholders(gStringVar4, gText_XDotY3);
+ r6 -= GetStringWidth(2, gStringVar4, -1);
+ if (r8->unk25_1)
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors4, 0, gStringVar4);
+ else
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4);
+ r7 += 14;
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, 0, r7, sBerryCrushTextColors1[0], 0, gText_Silkiness);
+ ConvertIntToDecimalStringN(gStringVar1, sp10->as_four_players.unk00.unk08, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ StringExpandPlaceholders(gStringVar4, gText_Var1Percent);
+ r6 = 176 - (u8)GetStringWidth(2, gStringVar4, -1);
+ AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColors1[0], 0, gStringVar4);
+}
+
+bool32 sub_8022070(struct BerryCrushGame *r4, struct BerryCrushGame_138 *r6)
+{
+ u8 r5;
+ struct WindowTemplate template;
+
+ switch (r6->unk80)
+ {
+ case 0:
+ r5 = r4->unk9 - 2;
+ sub_8022554(r6);
+ memcpy(&template, &gUnknown_082F32CC[r4->unk12], sizeof(struct WindowTemplate));
+ if (r4->unk12 == 13)
+ template.height = gUnknown_082F3344[1][r5];
+ else
+ template.height = gUnknown_082F3344[0][r5];
+ r6->unk82 = AddWindow(&template);
+ break;
+ case 1:
+ PutWindowTilemap(r6->unk82);
+ FillWindowPixelBuffer(r6->unk82, PIXEL_FILL(0));
+ break;
+ case 2:
+ LoadUserWindowBorderGfx_(r6->unk82, 541, 208);
+ DrawStdFrameWithCustomTileAndPalette(r6->unk82, 0, 541, 13);
+ break;
+ case 3:
+ r5 = r4->unk9 - 2;
+ switch (r4->unk12)
+ {
+ case 11:
+ sub_80219C8(r6->unk82, 20, 3, gText_PressesRankings);
+ sub_8021A28(r4, 0, 0xA0, 8 * gUnknown_082F3344[0][r5]);
+ r6->unk80 = 5;
+ return FALSE;
+ case 12:
+ sub_80219C8(r6->unk82, 20, 4, gUnknown_082F43B4[r4->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7] + 3]);
+ sub_8021A28(r4, 1, 0xA0, 8 * gUnknown_082F3344[0][r5]);
+ r6->unk80 = 5;
+ return FALSE;
+ case 13:
+ sub_80219C8(r6->unk82, 22, 3, gText_CrushingResults);
+ sub_8021A28(r4, 2, 0xB0, 8 * gUnknown_082F3344[1][r5]);
+ break;
+ }
+ break;
+ case 4:
+ sub_8021D34(r4);
+ break;
+ case 5:
+ CopyWindowToVram(r6->unk82, 3);
+ r6->unk80 = 0;
+ return TRUE;
+ }
+ ++r6->unk80;
+ return FALSE;
+}
+
+void sub_802222C(struct BerryCrushGame *r4)
+{
+ ClearStdWindowAndFrameToTransparent(r4->unk138.unk82, 1);
+ RemoveWindow(r4->unk138.unk82);
+ sub_8022600(r4);
+}
+
+void sub_8022250(u8 r4)
+{
+ u8 r9 = 0, r2, r7, r10;
+ u32 sp0C = 0;
+ s16 *r6 = gTasks[r4].data;
+ const u8 *r10_; // turn r5/sl register swap into r8/sl
+
+ switch (r6[0])
+ {
+ case 0:
+ r6[1] = AddWindow(&gUnknown_082F32EC);
+ PutWindowTilemap((u8)r6[1]);
+ FillWindowPixelBuffer((u8)r6[1], PIXEL_FILL(0));
+ LoadUserWindowBorderGfx_((u8)r6[1], 541, 208);
+ DrawStdFrameWithCustomTileAndPalette((u8)r6[1], 0, 541, 13);
+ break;
+ case 1:
+ r10_ = gText_BerryCrush2;
+ ++r10_; --r10_; // swap sb/sl
+ #ifndef NONMATCHING
+ asm("":::"r8"); // turn r8/sl register swap into sb/sl
+ #endif
+ r7 = 96 - GetStringWidth(1, r10_, -1) / 2u;
+ AddTextPrinterParameterized3(
+ (u8)r6[1],
+ 1,
+ r7,
+ 1,
+ sBerryCrushTextColorTable[0],
+ 0,
+ r10_
+ );
+ r10_ = gText_PressingSpeedRankings;
+ r7 = 96 - GetStringWidth(1, r10_, -1) / 2u;
+ AddTextPrinterParameterized3(
+ (u8)r6[1],
+ 1,
+ r7,
+ 17,
+ sBerryCrushTextColorTable[0],
+ 0,
+ r10_
+ );
+ r10 = 41;
+ for (; r9 < 4; ++r9)
+ {
+ ConvertIntToDecimalStringN(gStringVar1, r9 + 2, STR_CONV_MODE_LEFT_ALIGN, 1);
+ StringExpandPlaceholders(gStringVar4, gText_Var1Players);
+ AddTextPrinterParameterized3(
+ (u8)r6[1],
+ 1,
+ 0,
+ r10,
+ sBerryCrushTextColors1[0],
+ 0,
+ gStringVar4
+ );
+ r7 = 192 - (u8)GetStringWidth(1, gText_TimesPerSec, -1);
+ AddTextPrinterParameterized3(
+ (u8)r6[1],
+ 1,
+ r7,
+ r10,
+ sBerryCrushTextColors1[0],
+ 0,
+ gText_TimesPerSec
+ );
+ for (r2 = 0; r2 < 8; ++r2)
+ if (((u8)r6[r9 + 2] >> (7 - r2)) & 1)
+ sp0C += gUnknown_082F334C[r2];
+ ConvertIntToDecimalStringN(gStringVar1, (u16)r6[r9 + 2] >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ ConvertIntToDecimalStringN(gStringVar2, sp0C / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2);
+ StringExpandPlaceholders(gStringVar4, gText_XDotY3);
+ r7 -= GetStringWidth(1, gStringVar4, -1);
+ AddTextPrinterParameterized3(
+ (u8)r6[1],
+ 1,
+ r7,
+ r10,
+ sBerryCrushTextColors1[0],
+ 0,
+ gStringVar4
+ );
+ r10 += 16;
+ sp0C = 0;
+ }
+ CopyWindowToVram((u8)r6[1], 3);
+ break;
+ case 2:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ break;
+ else
+ return;
+ case 3:
+ ClearStdWindowAndFrameToTransparent((u8)r6[1], 1);
+ ClearWindowTilemap((u8)r6[1]);
+ RemoveWindow((u8)r6[1]);
+ DestroyTask(r4);
+ EnableBothScriptContexts();
+ ScriptContext2_Disable();
+ r6[0] = 0;
+ return;
+ }
+ ++r6[0];
+}
+
+void ShowBerryCrushRankings(void)
+{
+ u8 taskId;
+
+ ScriptContext2_Enable();
+ taskId = CreateTask(sub_8022250, 0);
+ gTasks[taskId].data[2] = gSaveBlock2Ptr->berryCrush.berryCrushResults[0];
+ gTasks[taskId].data[3] = gSaveBlock2Ptr->berryCrush.berryCrushResults[1];
+ gTasks[taskId].data[4] = gSaveBlock2Ptr->berryCrush.berryCrushResults[2];
+ gTasks[taskId].data[5] = gSaveBlock2Ptr->berryCrush.berryCrushResults[3];
+}
+
+void sub_8022524(struct BerryCrushGame_138 *r4, u16 r1)
+{
+ sub_8021944(r4, r1);
+ sub_8035044(0, r4->unk4);
+ sub_8035044(1, r4->unk6);
+ sub_8035044(2, r4->unk8);
+}
+
+void sub_8022554(struct BerryCrushGame_138 *r0)
+{
+ r0->unk78[0]->invisible = TRUE;
+ r0->unk78[1]->invisible = TRUE;
+ sub_803547C(2, 1);
+ sub_803547C(1, 1);
+ sub_803547C(0, 1);
+}
+
+void sub_8022588(struct BerryCrushGame *r5)
+{
+ u8 r6;
+
+ for (r6 = 0; r6 < r5->unk9; ++r6)
+ {
+ r5->unk138.unkC[r6] = &gUnknown_082F4190[gUnknown_082F417C[r5->unk9 - 2][r6]];
+ r5->unk138.unk83[r6] = AddWindow(&gUnknown_082F32F4[r5->unk138.unkC[r6]->unk0]);
+ PutWindowTilemap(r5->unk138.unk83[r6]);
+ FillWindowPixelBuffer(r5->unk138.unk83[r6], 0);
+ }
+}
+
+void sub_8022600(struct BerryCrushGame *r6)
+{
+ u8 r7, r2;
+ u8 *r4;
+
+ for (r7 = 0; r7 < r6->unk9; ++r7)
+ {
+ PutWindowTilemap(r6->unk138.unk83[r7]);
+ if (r7 == r6->unk8)
+ {
+ AddTextPrinterParameterized4(
+ r6->unk138.unk83[r7],
+ 2,
+ 36 - GetStringWidth(2, PLAYER_UNK14(r6, r7), 0) / 2u,
+ 1,
+ 0,
+ 0,
+ sBerryCrushTextColors2[0],
+ 0,
+ PLAYER_UNK14(r6, r7)
+ );
+ }
+ else
+ {
+ AddTextPrinterParameterized4(
+ r6->unk138.unk83[r7],
+ 2,
+ 36 - GetStringWidth(2, PLAYER_UNK14(r6, r7), 0) / 2u,
+ 1,
+ 0,
+ 0,
+ sBerryCrushTextColors3[0],
+ 0,
+ PLAYER_UNK14(r6, r7)
+ );
+ }
+ CopyWindowToVram(r6->unk138.unk83[r7], 3);
+ }
+ CopyBgTilemapBufferToVram(0);
+}
+
+void sub_80226D0(struct BerryCrushGame *r6)
+{
+ u8 r5 = 0;
+ const u32 *r0 = gUnknown_08DE3FD4;
+#ifndef NONMATCHING // r4, r5, r6 register roulette
+ register u8 *r4 asm("r4") = gDecompressionBuffer;
+ register u32 r0_ asm("r0");
+#else
+ u8 *r4 = gDecompressionBuffer;
+ u32 r0_;
+#endif
+
+ LZ77UnCompWram(r0, r4);
+ for (; r5 < r6->unk9; ++r5)
+ {
+ r0_ = r6->unk138.unkC[r5]->unk0;
+ CopyToBgTilemapBufferRect(
+ 3,
+ &r4[r0_ * 40],
+ r6->unk138.unkC[r5]->unk1,
+ r6->unk138.unkC[r5]->unk2,
+ 10,
+ 2
+ );
+ }
+ CopyBgTilemapBufferToVram(3);
+}
+
+void sub_8022730(struct BerryCrushGame *r6)
+{
+ u8 r5 = 0;
+ u8 r2;
+
+ r6->unk2A = -104;
+ r6->unk2C = 0;
+ gSpriteCoordOffsetX = 0;
+ gSpriteCoordOffsetY = -104;
+ for (; r5 < 4; ++r5)
+ LoadCompressedSpriteSheet(&gUnknown_082F41F4[r5]);
+ LoadSpritePalettes(&gUnknown_082F421C);
+ r2 = CreateSprite(&gUnknown_082F430C, 120, 88, 5);
+ r6->unk138.unk20 = &gSprites[r2];
+ r6->unk138.unk20->oam.priority = 3;
+ r6->unk138.unk20->coordOffsetEnabled = TRUE;
+ r6->unk138.unk20->animPaused = TRUE;
+ for (r5 = 0; r5 < r6->unk9; ++r5)
+ {
+ r2 = CreateSprite(
+ &gUnknown_082F4324,
+ r6->unk138.unkC[r5]->unk4 + 120,
+ r6->unk138.unkC[r5]->unk6 + 32,
+ 0
+ );
+ r6->unk138.unk24[r5] = &gSprites[r2];
+ r6->unk138.unk24[r5]->oam.priority = 1;
+ r6->unk138.unk24[r5]->invisible = TRUE;
+ r6->unk138.unk24[r5]->coordOffsetEnabled = TRUE;
+ r6->unk138.unk24[r5]->animPaused = TRUE;
+ }
+ for (r5 = 0; r5 < ARRAY_COUNT(r6->unk138.unk4C); ++r5)
+ {
+ r2 = CreateSprite(
+ &gUnknown_082F433C,
+ gUnknown_082F41D2[r5][0] + 120,
+ gUnknown_082F41D2[r5][1] + 136,
+ 6
+ );
+ r6->unk138.unk4C[r5] = &gSprites[r2];
+ r6->unk138.unk4C[r5]->oam.priority = 3;
+ r6->unk138.unk4C[r5]->invisible = TRUE;
+ r6->unk138.unk4C[r5]->animPaused = TRUE;
+ r6->unk138.unk4C[r5]->data[0] = r5;
+ }
+ for (r5 = 0; r5 < ARRAY_COUNT(r6->unk138.unk78); ++r5)
+ {
+ r2 = CreateSprite(
+ &gUnknown_082F4354,
+ 24 * r5 + 176,
+ 8,
+ 0
+ );
+ r6->unk138.unk78[r5] = &gSprites[r2];
+ r6->unk138.unk78[r5]->oam.priority = 0;
+ r6->unk138.unk78[r5]->invisible = FALSE;
+ r6->unk138.unk78[r5]->animPaused = FALSE;
+ }
+ sub_8034D14(0, 0, &gUnknown_082F4384[0]);
+ sub_8034D14(1, 0, &gUnknown_082F4384[1]);
+ sub_8034D14(2, 0, &gUnknown_082F4384[2]);
+ if (r6->unk12 == 1)
+ sub_8022554(&r6->unk138);
+}
+
+void sub_8022960(struct BerryCrushGame *r5)
+{
+ u8 r4 = 0;
+
+ FreeSpriteTilesByTag(4);
+ FreeSpriteTilesByTag(3);
+ FreeSpriteTilesByTag(2);
+ FreeSpriteTilesByTag(1);
+ FreeSpritePaletteByTag(4);
+ FreeSpritePaletteByTag(2);
+ FreeSpritePaletteByTag(1);
+ for (; r4 < ARRAY_COUNT(r5->unk138.unk78); ++r4)
+ DestroySprite(r5->unk138.unk78[r4]);
+ sub_80353DC(2);
+ sub_80353DC(1);
+ sub_80353DC(0);
+ for (r4 = 0; r4 < ARRAY_COUNT(r5->unk138.unk4C); ++r4)
+ DestroySprite(r5->unk138.unk4C[r4]);
+ for (r4 = 0; r4 < r5->unk9; ++r4)
+ DestroySprite(r5->unk138.unk24[r4]);
+ if (r5->unk138.unk20->inUse)
+ DestroySprite(r5->unk138.unk20);
+}
+
+void sub_8022A20(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ {
+ sprite->invisible = TRUE;
+ sprite->animPaused = TRUE;
+ }
+}
+
+void sub_8022A4C(struct Sprite *sprite)
+{
+ u8 r1 = 0;
+ SpriteCallback r5 = SpriteCallbackDummy;
+
+ for (; r1 < ARRAY_COUNT(sprite->data); ++r1)
+ sprite->data[r1] = 0;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->invisible = TRUE;
+ sprite->animPaused = TRUE;
+ sprite->callback = r5;
+}
+
+void sub_8022A94(struct Sprite *sprite)
+{
+ s16 *r4 = sprite->data;
+
+ r4[1] += r4[2];
+ sprite->pos2.y += r4[1] >> 8;
+ if (r4[7] & 0x8000)
+ {
+ sprite->data[0] += r4[3];
+ r4[4] += r4[5];
+ sprite->pos2.x = Sin(r4[4] >> 7, r4[6]);
+ if (r4[7] & 0x8000 && r4[4] >> 7 > 126)
+ {
+ sprite->pos2.x = 0;
+ r4[7] &= 0x7FFF;
+ }
+ }
+ sprite->pos1.x = r4[0] >> 7;
+ if (sprite->pos1.y + sprite->pos2.y > (r4[7] & 0x7FFF))
+ sprite->callback = sub_8022A4C;
+}
+
+void sub_8022B28(struct Sprite *sprite)
+{
+ s16 *r7 = sprite->data;
+ s16 r4, r5;
+ s32 r2;
+ u32 r8 = 0;
+
+ r2 = 640;
+ r7[1] = r2;
+ r7[2] = 32;
+ r7[7] = 168;
+ r4 = sprite->pos2.x * 128;
+ r5 = sub_81515D4(7, (168 - sprite->pos1.y) << 7, (r2 + 32) >> 1);
+ sprite->data[0] = sprite->pos1.x << 7;
+ r7[3] = sub_81515D4(7, r4, r5);
+ r2 = sub_8151550(7, r5, 85);
+ r7[4] = r8;
+ r7[5] = sub_81515D4(7, 0x3F80, r2);
+ r7[6] = sprite->pos2.x / 4;
+ r7[7] |= 0x8000;
+ sprite->pos2.y = r8;
+ sprite->pos2.x = r8;
+ sprite->callback = sub_8022A94;
+ sprite->animPaused = FALSE;
+ sprite->invisible = FALSE;
+}
+
+void sub_8022BEC(u16 r5, u8 r4, u8 *r7)
+{
+ struct BerryCrushGame *r6 = sub_8020C00();
+
+ if (r5 > 25)
+ r5 = 0;
+ switch (r4)
+ {
+ case 0:
+ if (r5 != 0)
+ gUnknown_082F43CC[r5](r6, r7);
+ if (r6->unkE > 25)
+ r6->unkE = r4;
+ r6->unk4 = gUnknown_082F43CC[r6->unkE];
+ break;
+ case 1:
+ r6->unk4 = gUnknown_082F43CC[r5];
+ break;
+ }
+}
+
+u32 sub_8022C58(struct BerryCrushGame *r6, u8 *r1)
+{
+ u16 r4;
+ u32 r0;
+#ifndef NONMATCHING // fake match, nobody can write such code
+ register u32 r2 asm("r2");
+ register u32 r3 asm("r3");
+
+ r2 = r1[0];
+ r3 = r1[1];
+ r3 <<= 8;
+ r2 |= r3;
+ r3 = r1[2];
+ r3 <<= 16;
+ r2 |= r3;
+ r3 = r1[3];
+ r3 <<= 24;
+ r0 = r2;
+ r0 |= r3;
+#else
+ u32 r2;
+
+ r0 = T1_READ_32(r1);
+#endif
+ r2 = r1[9];
+ r1[0] = r2;
+ r4 = r1[8] << 8;
+ r2 = r1[7];
+ r4 |= r2;
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ BeginNormalPaletteFade(r0, r1[4], r1[5], r1[6], r4);
+ UpdatePaletteFade();
+ r6->unkE = 2;
+ return 0;
+}
+
+u32 sub_8022CB0(struct BerryCrushGame *r4, u8 *r5)
+{
+ switch (r4->unkC)
+ {
+ case 0:
+ if (UpdatePaletteFade())
+ return 0;
+ if(r5[0] != 0)
+ ++r4->unkC;
+ else
+ r4->unkC = 3;
+ return 0;
+ case 1:
+ sub_8010434();
+ ++r4->unkC;
+ return 0;
+ case 2:
+ if (IsLinkTaskFinished())
+ {
+ ++r4->unkC;
+ return 0;
+ }
+ return 0;
+ case 3:
+ sub_8022BEC(r4->unkF, 1, NULL);
+ r4->unkC = 0;
+ return 0;
+ default:
+ ++r4->unkC;
+ return 0;
+ }
+}
+
+u32 sub_8022D14(struct BerryCrushGame *r7, u8 *r5)
+{
+ u16 r4 = r5[3];
+
+ r4 <<= 8;
+ r4 |= r5[2];
+ switch (r7->unkC)
+ {
+ case 0:
+ DrawDialogueFrame(0, 0);
+ if (r5[1] & 2)
+ {
+ StringExpandPlaceholders(gStringVar4, gUnknown_082F32A4[r5[0]]);
+ AddTextPrinterParameterized2(0, 1, gStringVar4, r7->unkB, 0, 2, 1, 3);
+ }
+ else
+ {
+ AddTextPrinterParameterized2(0, 1, gUnknown_082F32A4[r5[0]], r7->unkB, 0, 2, 1, 3);
+ }
+ CopyWindowToVram(0, 3);
+ break;
+ case 1:
+ if (!IsTextPrinterActive(0))
+ {
+ if (r4 == 0)
+ ++r7->unkC;
+ break;
+ }
+ return 0;
+ case 2:
+ if (!(r4 & gMain.newKeys))
+ return 0;
+ break;
+ case 3:
+ if (r5[1] & 1)
+ ClearDialogWindowAndFrame(0, 1);
+ sub_8022BEC(r7->unkE, 1, NULL);
+ r7->unkC = r5[4];
+ return 0;
+ }
+ ++r7->unkC;
+ return 0;
+}
+
+u32 sub_8022E1C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ if (sub_802104C() != 0)
+ sub_8022BEC(r4->unkE, 0, r4->unk36);
+ return 0;
+}
+
+u32 sub_8022E3C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ if (sub_802130C() != 0)
+ sub_8022BEC(r4->unkE, 0, r4->unk36);
+ return 0;
+}
+
+u32 sub_8022E5C(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ switch (r4->unkC)
+ {
+ case 0:
+ sub_8010434();
+ break;
+ case 1:
+ if (IsLinkTaskFinished())
+ {
+ PlayNewMapMusic(MUS_RG_SLOT);
+ sub_8022BEC(7, 1, NULL);
+ r4->unk12 = 3;
+ r4->unkC = 0;
+ }
+ return 0;
+ }
+ ++r4->unkC;
+ return 0;
+}
+
+u32 sub_8022EAC(struct BerryCrushGame *r4, u8 *r5)
+{
+ switch (r4->unkC)
+ {
+ default:
+ ++r4->unkC;
+ break;
+ case 0:
+ sub_8024578(r4);
+ sub_8024644(r5, 0, 1, 0, 1);
+ r4->unkE = 7;
+ sub_8022BEC(3, 1, NULL);
+ break;
+ case 1:
+ r4->unkE = 8;
+ sub_8022BEC(5, 1, NULL);
+ r4->unkC = 2;
+ break;
+ }
+ return 0;
+}
+
+u32 sub_8022F04(struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1)
+{
+ r0->unk4 = NULL;
+ SetMainCallback2(sub_8020E1C);
+ return 0;
+}
+
+u32 sub_8022F1C(struct BerryCrushGame *r5, u8 *r2)
+{
+ u8 r3;
+
+ switch (r5->unkC)
+ {
+ case 0:
+ sub_8024644(r2, 1, 0, 0, 1);
+ r5->unkE = 9;
+ sub_8022BEC(3, 1, NULL);
+ return 0;
+ case 1:
+ sub_8010434();
+ break;
+ case 2:
+ if (!IsLinkTaskFinished())
+ return 0;
+ memset(r5->unk40.unk2, 0, sizeof(r5->unk40.unk2));
+ r5->unk40.unk2[0] = r5->unk68.as_four_players.others[r5->unk8].unk0;
+ SendBlock(0, r5->unk40.unk2, 2);
+ break;
+ case 3:
+ if (!IsLinkTaskFinished())
+ return 0;
+ r5->unk10 = 0;
+ break;
+ case 4:
+ if (GetBlockReceivedStatus() != gUnknown_082F4448[r5->unk9 - 2])
+ return 0;
+ for (r3 = 0; r3 < r5->unk9; ++r3)
+ {
+ r5->unk68.as_four_players.others[r3].unk0 = gBlockRecvBuffer[r3][0];
+ if (r5->unk68.as_four_players.others[r3].unk0 > 0xB0)
+ r5->unk68.as_four_players.others[r3].unk0 = 0;
+ r5->unk18 += gUnknown_0858AB24[r5->unk68.as_four_players.others[r3].unk0].unk0;
+ r5->unk1C += gUnknown_0858AB24[r5->unk68.as_four_players.others[r3].unk0].unk1;
+ }
+ r5->unk10 = 0;
+ ResetBlockReceivedFlags();
+ r5->unk20 = sub_81515FC(r5->unk18 << 8, 0x2000);
+ break;
+ case 5:
+ ClearDialogWindowAndFrame(0, 1);
+ sub_8022BEC(10, 1, NULL);
+ r5->unk12 = 4;
+ r5->unkC = 0;
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_8023070(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ switch (r4->unkC)
+ {
+ case 0:
+ sub_80214A8(r4, &r4->unk138);
+ sub_8010434();
+ break;
+ case 1:
+ if (!IsLinkTaskFinished())
+ return 0;
+ r4->unk138.unk0 = 0;
+ r4->unk138.unk1 = 0;
+ r4->unk138.unk2 = 0;
+ r4->unk138.unk3 = 0;
+ break;
+ case 2:
+ r4->unk138.unk38[r4->unk138.unk0]->callback = sub_8021608;
+ r4->unk138.unk38[r4->unk138.unk0]->affineAnimPaused = FALSE;
+ PlaySE(SE_NAGERU);
+ break;
+ case 3:
+ if (r4->unk138.unk38[r4->unk138.unk0]->callback == sub_8021608)
+ return 0;
+ r4->unk138.unk38[r4->unk138.unk0] = NULL;
+ ++r4->unk138.unk0;
+ sub_8010434();
+ break;
+ case 4:
+ if (!IsLinkTaskFinished())
+ return 0;
+ if (r4->unk138.unk0 < r4->unk9)
+ {
+ r4->unkC = 2;
+ return 0;
+ }
+ r4->unk138.unk0 = 0;
+ break;
+ case 5:
+ sub_80216A8(r4, &r4->unk138);
+ sub_8010434();
+ break;
+ case 6:
+ if (!IsLinkTaskFinished())
+ return 0;
+ PlaySE(SE_RU_HYUU);
+ sub_8022BEC(11, 1, NULL);
+ r4->unk12 = 5;
+ r4->unkC = 0;
+ return 0;
+ }
+ ++r4->unkC;
+ return 0;
+}
+
+u32 sub_80231B8(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ switch (r4->unkC)
+ {
+ case 0:
+ r4->unk2A += 4;
+ if (r4->unk2A < 0)
+ return 0;
+ r4->unk2A = 0;
+ r4->unk138.unk1 = 4;
+ r4->unk138.unk0 = 0;
+ r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0];
+ PlaySE(SE_W070);
+ break;
+ case 1:
+ r4->unk2C = gUnknown_082F326C[r4->unk138.unk1][r4->unk138.unk0];
+ SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C);
+ ++r4->unk138.unk0;
+ if (r4->unk138.unk0 < r4->unk138.unk2)
+ return 0;
+ if (r4->unk138.unk1 == 0)
+ break;
+ --r4->unk138.unk1;
+ r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0];
+ r4->unk138.unk0 = 0;
+ return 0;
+ case 2:
+ r4->unk2C = 0;
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ sub_8010434();
+ break;
+ case 3:
+ if (!IsLinkTaskFinished())
+ return 0;
+ sub_8022BEC(12, 1, NULL);
+ r4->unk12 = 6;
+ r4->unkC = 0;
+ return 0;
+ }
+ ++r4->unkC;
+ return 0;
+}
+
+u32 sub_80232EC(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ switch (r4-> unkC)
+ {
+ case 1:
+ if (!IsLinkTaskFinished())
+ return 0;
+ sub_802EB24(0x1000, 0x1000, 120, 80, 0);
+ break;
+ case 2:
+ if (sub_802EB84())
+ return 0;
+ // fallthrough
+ case 0:
+ sub_8010434();
+ break;
+ case 3:
+ if (!IsLinkTaskFinished())
+ return 0;
+ r4->unk138.unk0 = 0;
+ r4->unk138.unk1 = 0;
+ r4->unk138.unk2 = 0;
+ r4->unk138.unk3 = 0;
+ r4->unk10 = 0;
+ if (r4->unk8 == 0)
+ sub_8022BEC(13, 1, NULL);
+ else
+ sub_8022BEC(14, 1, NULL);
+ r4->unk12 = 7;
+ r4->unkC = 0;
+ return 0;
+ }
+ ++r4->unkC;
+ return 0;
+}
+
+void sub_802339C(struct BerryCrushGame *r4)
+{
+ u8 r8 = 0;
+ u16 r3;
+ u16 *r2;
+ u8 r7 = 0;
+ s32 r2_ = 0;
+ s32 r0;
+
+ for (r7 = 0; r7 < r4->unk9; ++r7)
+ {
+ r2 = gRecvCmds[r7];
+ if ((r2[0] & 0xFF00) == 0x2F00
+ && r2[1] == 2)
+ {
+ if ((u8)r2[2] & 4)
+ {
+ r4->unk5C.unk02_3 |= gUnknown_082F325C[r7];
+ r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] = 1;
+ ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[3];
+ ++r8;
+ r3 = r4->unk28 - r4->unk68.as_four_players.others[r7].unk2;
+ if (r3 >= r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] - 1
+ && r3 <= r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] + 1)
+ {
+ ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[0];
+ r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] = r3;
+ if (r4->unk68.as_four_players.others[r7].unk4.as_hwords[0] > r4->unk68.as_four_players.others[r7].unk4.as_hwords[2])
+ r4->unk68.as_four_players.others[r7].unk4.as_hwords[2] = r4->unk68.as_four_players.others[r7].unk4.as_hwords[0];
+ }
+ else
+ {
+ r4->unk68.as_four_players.others[r7].unk4.as_hwords[0] = 0;
+ r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] = r3;
+ }
+ r4->unk68.as_four_players.others[r7].unk2 = r4->unk28;
+ if (++r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][4] > 2)
+ r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][4] = 0;
+ }
+ else
+ {
+ r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] = 0;
+ }
+ }
+ }
+ if (r8 > 1)
+ {
+ for (r7 = 0; r7 < r4->unk9; ++r7)
+ {
+ if (r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] != 0)
+ {
+ r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] |= 2;
+ ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[4];
+ }
+ }
+ }
+ if (r8 != 0)
+ {
+ r4->unk2E += r8;
+ r8 += gUnknown_082F3264[r8 - 1];
+ r4->unk34 += r8;
+ r4->unk1A += r8;
+ r0 = r4->unk18;
+ r2_ = r4->unk1A;
+ if (r0 - r2_ > 0)
+ {
+ r2_ <<= 8;
+ r2_ = sub_81515FC(r2_, r4->unk20);
+ r2_ >>= 8;
+ r4->unk24 = r2_;
+ }
+ else
+ {
+ r4->unk24 = 32;
+ r4->unk5C.unk02_0 = 1;
+ }
+ }
+}
+
+void sub_8023558(struct BerryCrushGame *r3)
+{
+ u8 r6 = 0;
+ u16 r1 = 0;
+ u8 r4 = 0;
+
+ for (r4 = 0; r4 < r3->unk9; ++r4)
+ {
+ if (r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] != 0)
+ {
+ ++r6;
+ r1 = r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][4] + 1;
+ if (r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] & 2)
+ r1 |= 4;
+ r1 <<= 3 * r4;
+ r3->unk5C.unk08 |= r1;
+ }
+ }
+ r3->unk5C.unk04 = r3->unk24;
+ if (r6 == 0)
+ {
+ if (r3->unk138.unk3 != 0)
+ ++r3->unk138.unk0;
+ else
+ goto SET_UNK5F_0;
+ }
+ else
+ {
+ if (r3->unk138.unk3 != 0)
+ {
+ if (r6 != r3->unk138.unk1)
+ {
+ r3->unk138.unk1 = r6 - 1;
+ r3->unk138.unk2 = gUnknown_082F3290[r6 - 1][0];
+ }
+ else
+ {
+ ++r3->unk138.unk0;
+ }
+ }
+ else
+ {
+ r3->unk138.unk0 = 0;
+ r3->unk138.unk1 = r6 - 1;
+ r3->unk138.unk2 = gUnknown_082F3290[r6 - 1][0];
+ r3->unk138.unk3 = 1;
+ }
+ }
+ if (r3->unk138.unk3 != 0)
+ {
+ if (r3->unk138.unk0 >= r3->unk138.unk2)
+ {
+ r3->unk138.unk0 = 0;
+ r3->unk138.unk1 = 0;
+ r3->unk138.unk2 = 0;
+ r3->unk138.unk3 = 0;
+ r1 = 0;
+ }
+ else
+ {
+ r1 = gUnknown_082F3290[r3->unk138.unk1][r3->unk138.unk0 + 1];
+ }
+ r3->unk5C.unk03 = r1;
+ }
+ else
+ {
+ SET_UNK5F_0:
+ r3->unk5C.unk03 = 0;
+ }
+ r3->unk5C.unk06 = r3->unk26;
+}
+
+void sub_80236B8(struct BerryCrushGame *r5)
+{
+ if (gMain.newKeys & A_BUTTON)
+ r5->unk5C.unk02_2 = 1;
+ if (gMain.heldKeys & A_BUTTON)
+ {
+ if (r5->unk68.as_four_players.others[r5->unk8].unk4.as_hwords[5] < r5->unk28)
+ ++r5->unk68.as_four_players.others[r5->unk8].unk4.as_hwords[5];
+ }
+ if (r5->unk8 != 0 && r5->unk5C.unk02_2 == 0)
+ return;
+ r5->unk5C.unk00 = 2;
+ if (r5->unk28 % 30 == 0)
+ {
+ if (r5->unk2E > gUnknown_082F4444[r5->unk9 - 2])
+ {
+ ++r5->unk30;
+ r5->unk25_4 = 1;
+ }
+ else
+ {
+ r5->unk25_4 = 0;
+ }
+ r5->unk2E = 0;
+ ++r5->unk32;
+ }
+ if (r5->unk28 % 15 == 0)
+ {
+ if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][0])
+ r5->unk25_5 = 0;
+ else if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][1])
+ r5->unk25_5 = 1;
+ else if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][2])
+ r5->unk34 = 2; // typo since r5->unk34 will be reset?
+ else if (r5->unk34 < gUnknown_082F4434[r5->unk9 - 2][3])
+ r5->unk34 = 3; // typo since r5->unk34 will be reset?
+ else
+ r5->unk25_5 = 4;
+ r5->unk34 = 0;
+ }
+ else
+ {
+ ++r5->unk10;
+ if (r5->unk10 > 60)
+ {
+ if (r5->unk10 > 70)
+ {
+ sub_8011AC8();
+ r5->unk10 = 0;
+ }
+ else if (r5->unk5C.unk02_3 == 0)
+ {
+ sub_8011AC8();
+ r5->unk10 = 0;
+ }
+ }
+
+ }
+ if (r5->unk28 >= 36000)
+ r5->unk5C.unk02_0 = 1;
+ r5->unk5C.unk02_1 = r5->unk25_4;
+ r5->unk5C.unk0A = r5->unk25_5;
+ memcpy(r5->unk40.unk2, &r5->unk5C, sizeof(r5->unk40.unk2));
+ sub_800FE50(r5->unk40.unk2);
+}
+
+void sub_802385C(struct BerryCrushGame *r5)
+{
+ struct BerryCrushGame_4E *r4_;
+#ifndef NONMATCHING
+ register u32 r4 asm("r4");
+ register u32 r0 asm("r0");
+
+ for (r4 = 0; r4 < r5->unk9; r4 = (u8)r0)
+ {
+ r5->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] = 0;
+ r0 = r4 + 1;
+ }
+#else
+ u8 r4;
+
+ for (r4 = 0; r4 < r5->unk9; ++r4)
+ r5->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] = 0;
+#endif
+ if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00
+ || gRecvCmds[0][1] != 2)
+ {
+ r5->unk25_2 = 0;
+ }
+ else
+ {
+ r4_ = &r5->unk40.unkE;
+ memcpy(r4_, gRecvCmds, sizeof(struct BerryCrushGame_4E));
+ r5->unk2A = r4_->unk6;
+ r5->unk2C = r4_->unk5;
+ r5->unk28 = r4_->unk8;
+ sub_80216E0(r5, &r5->unk138);
+ if (r4_->unk4_0)
+ r5->unk25_3 = 1;
+ }
+}
+
+u32 sub_80238F0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ memset(&r4->unk5C, 0, sizeof(r4->unk5C));
+ memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE));
+ sub_802385C(r4);
+ SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C);
+ if (r4->unk25_3)
+ {
+ if (r4->unk28 >= 36000)
+ {
+ r4->unk28 = 36000;
+ sub_8022BEC(16, 1, NULL);
+ }
+ else
+ {
+ sub_8022BEC(15, 1, NULL);
+ }
+ r4->unk10 = 0;
+ r4->unkC = 0;
+ return 0;
+ }
+ else
+ {
+ ++r4->unk26;
+ sub_802339C(r4);
+ sub_8023558(r4);
+ sub_80236B8(r4);
+ return 0;
+ }
+}
+
+u32 sub_8023998(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ memset(&r4->unk5C, 0, sizeof(r4->unk5C));
+ memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE));
+ sub_802385C(r4);
+ SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C);
+ if (r4->unk25_3)
+ {
+ if (r4->unk28 >= 36000)
+ {
+ r4->unk28 = 36000;
+ sub_8022BEC(16, 1, NULL);
+ }
+ else
+ {
+ sub_8022BEC(15, 1, NULL);
+ }
+ r4->unk10 = 0;
+ r4->unkC = 0;
+ return 0;
+ }
+ else
+ {
+ sub_80236B8(r4);
+ return 0;
+ }
+}
+
+u32 sub_8023A30(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ switch (r4->unkC)
+ {
+ case 0:
+ r4->unk12 = 8;
+ PlaySE(SE_W070);
+ BlendPalettes(0xFFFFFFFF, 8, RGB(31, 31, 0));
+ r4->unk138.unk0 = 2;
+ break;
+ case 1:
+ if (--r4->unk138.unk0 != 255)
+ return 0;
+ BlendPalettes(0xFFFFFFFF, 0, RGB(31, 31, 0));
+ r4->unk138.unk1 = 4;
+ r4->unk138.unk0 = 0;
+ r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0];
+ break;
+ case 2:
+ r4->unk2C = gUnknown_082F326C[r4->unk138.unk1][r4->unk138.unk0];
+ SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C);
+ SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C);
+ if (++r4->unk138.unk0 < r4->unk138.unk2)
+ return 0;
+ if (r4->unk138.unk1 != 0)
+ {
+ --r4->unk138.unk1;
+ r4->unk138.unk2 = gUnknown_082F326C[r4->unk138.unk1][0];
+ r4->unk138.unk0 = 0;
+ return 0;
+ }
+ break;
+ case 3:
+ r4->unk2C = 0;
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ break;
+ case 4:
+ if (!sub_80218D4(r4, &r4->unk138))
+ return 0;
+ sub_8010434();
+ r4->unk10 = 0;
+ break;
+ case 5:
+ if (!IsLinkTaskFinished())
+ return 0;
+ sub_8022BEC(17, 1, NULL);
+ r4->unk10 = 0;
+ r4->unkC = 0;
+ return 0;
+ }
+ ++r4->unkC;
+ return 0;
+}
+
+u32 sub_8023BC0(struct BerryCrushGame *r5, u8 *r6)
+{
+ switch (r5->unkC)
+ {
+ case 0:
+ r5->unk12 = 9;
+ PlaySE(SE_HAZURE);
+ BlendPalettes(0xFFFFFFFF, 8, RGB(31, 0, 0));
+ r5->unk138.unk0 = 4;
+ break;
+ case 1:
+ if (--r5->unk138.unk0 != 255)
+ return 0;
+ BlendPalettes(0xFFFFFFFF, 0, RGB(31, 0, 0));
+ r5->unk138.unk0 = 0;
+ break;
+ case 2:
+ if (!sub_80218D4(r5, &r5->unk138))
+ return 0;
+ sub_8010434();
+ r5->unk10 = 0;
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ break;
+ case 3:
+ if (!IsLinkTaskFinished())
+ return 0;
+ ConvertIntToDecimalStringN(gStringVar1, r5->unk1C, STR_CONV_MODE_LEFT_ALIGN, 6);
+ sub_8024644(r6, 7, 1, 0, 0);
+ r5->unkE = 19;
+ sub_8022BEC(3, 1, NULL);
+ r5->unk10 = 0;
+ r5->unkC = 0;
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_8023CAC(struct BerryCrushGame *r7, __attribute__((unused)) u8 *r1)
+{
+ u8 r8, r4_;
+ s32 r2;
+ s32 r4;
+ u8 r6; // ???
+
+ switch (r7->unkC)
+ {
+ case 0:
+ memset(r7->unk40.unk2, 0, 2 * sizeof(u16));
+ if (r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5] > r7->unk28)
+ r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5] = r7->unk28;
+ r7->unk40.unk2[0] = r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5];
+ SendBlock(0, r7->unk40.unk2, 2);
+ break;
+ case 1:
+ if (!IsLinkTaskFinished())
+ return 0;
+ r7->unk10 = 0;
+ break;
+ case 2:
+ if (GetBlockReceivedStatus() != gUnknown_082F4448[r7->unk9 - 2])
+ return 0;
+ for (r8 = 0; r8 < r7->unk9; ++r8)
+ r7->unk68.as_four_players.others[r8].unk4.as_hwords[5] = gBlockRecvBuffer[r8][0];
+ r7->unk10 = 0;
+ r7->unk40.unk2[0] = 0;
+ ResetBlockReceivedFlags();
+ if (r7->unk8 == 0)
+ r7->unkC = 3;
+ else
+ r7->unkC = 6;
+ return 0;
+ case 3:
+ memset(
+ &r7->unk68,
+ 0,
+ sizeof(struct BerryCrushGame_68_x_SubStruct)
+ );
+ r7->unk68.as_four_players.unk00.unk04 = r7->unk28;
+ r7->unk68.as_four_players.unk00.unk06 = r7->unk18 / (r7->unk28 / 60);
+ r2 = sub_8151574(r7->unk30 << 8, 0x3200);
+ r2 = sub_81515FC(r2, r7->unk32 << 8) + 0x3200;
+ r2 >>= 8;
+ r7->unk68.as_four_players.unk00.unk08 = r2 & 0x7F;
+ r2 <<= 8;
+ r2 = sub_81515FC(r2, 0x6400);
+ r4 = (r7->unk1C * r7->unk9) << 8;
+ r4 = sub_8151574(r4, r2);
+ r7->unk68.as_four_players.unk00.unk00 = r4 >> 8;
+ r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7] = Random() % 3;
+ for (r6 = 0, r8 = 0; r8 < r7->unk9; ++r8)
+ {
+ r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][r8] = r8;
+ r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[1][r8] = r8;
+ r7->unk68.as_four_players.unk00.unk0C[0][r8] = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3];
+ r7->unk68.as_four_players.unk00.unk0A += r7->unk68.as_four_players.unk00.unk0C[0][r8];
+ switch (r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7])
+ {
+ case 0:
+ if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] != 0)
+ {
+ r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[2];
+ r2 <<= 8;
+ r2 = sub_8151574(r2, 0x6400);
+ r4 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3];
+ r4 <<= 8;
+ r4 = sub_81515FC(r2, r4);
+ }
+ else
+ {
+ r4 = 0;
+ }
+ break;
+ case 1:
+ if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] != 0)
+ {
+ r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[4];
+ r2 <<= 8;
+ r2 = sub_8151574(r2, 0x6400);
+ r4 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3];
+ r4 <<= 8;
+ r4 = sub_81515FC(r2, r4);
+ }
+ else
+ {
+ r4 = 0;
+ }
+ break;
+ case 2:
+ if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] == 0)
+ {
+ r4 = 0;
+ }
+ else if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[5] >= r7->unk28)
+ {
+ r4 = 0x6400;
+ }
+ else
+ {
+ r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[5];
+ r2 <<= 8;
+ r2 = sub_8151574(r2, 0x6400);
+ r4 = r7->unk28;
+ r4 <<= 8;
+ r4 = sub_81515FC(r2, r4);
+ }
+ break;
+ }
+ r4 >>= 4;
+ r7->unk68.as_four_players.unk00.unk0C[1][r8] = r4;
+ }
+ break;
+ case 4:
+ for (r6 = 0, r8 = 0; r8 < r7->unk9 - 1; ++r8)
+ {
+ for (r4_ = r7->unk9 - 1; r4_ > r8; --r4_)
+ {
+ u16 r0;
+ u8 r3;
+ u16 *sp00 = r7->unk68.as_four_players.unk00.unk0C[0];
+ u8 *sp04 = r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0];
+ u8 *r10 = r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[1];
+ u16 *r9 = r7->unk68.as_four_players.unk00.unk0C[1];
+ s32 r12 = r4_ - 1;
+ u16 *p1 = sp00 + r12; // these have to be here
+ u16 *p2 = sp00 + r4_; // to swap operands. macro?
+
+ if (*p1 < *p2)
+ {
+ r0 = sp00[r4_];
+ sp00[r4_] = sp00[r12];
+ sp00[r12] = r0;
+ r3 = sp04[r4_];
+ sp04[r4_] = sp04[r12];
+ sp04[r12] = r3;
+ }
+ p1 = r9 + r12;
+ p2 = r9 + r4_;
+ if (*p1 < *p2)
+ {
+ r0 = r9[r4_];
+ r9[r4_] = r9[r12];
+ r9[r12] = r0;
+ r3 = r10[r4_];
+ r10[r4_] = r10[r12];
+ r10[r12] = r3;
+ }
+ }
+ }
+ SendBlock(
+ 0,
+ &r7->unk68,
+ sizeof(struct BerryCrushGame_68_x_SubStruct)
+ );
+ break;
+ case 5:
+ if (!IsLinkTaskFinished())
+ return 0;
+ r7->unk10 = 0;
+ break;
+ case 6:
+ if (GetBlockReceivedStatus() != 1)
+ return 0;
+ memset(
+ &r7->unk68,
+ 0,
+ sizeof(struct BerryCrushGame_68_x_SubStruct)
+ );
+ memcpy(
+ &r7->unk68,
+ gBlockRecvBuffer,
+ sizeof(struct BerryCrushGame_68_x_SubStruct)
+ );
+ ResetBlockReceivedFlags();
+ r7->unk10 = 0;
+ break;
+ case 7:
+ sub_8020E58();
+ sub_8022BEC(18, 1, NULL);
+ r7->unk12 = 11;
+ r7->unkC = 0;
+ r7->unk24 = 0;
+ return 0;
+ }
+ ++r7->unkC;
+ return 0;
+}
+
+u32 sub_8024048(struct BerryCrushGame *r5, u8 *r6)
+{
+ switch (r5->unkC)
+ {
+ case 0:
+ if (!sub_8022070(r5, &r5->unk138))
+ return 0;
+ break;
+ case 1:
+ CopyBgTilemapBufferToVram(0);
+ r5->unk138.unk0 = 30;
+ break;
+ case 2:
+ if (r5->unk138.unk0 != 0)
+ {
+ --r5->unk138.unk0;
+ return 0;
+ }
+ if (!(gMain.newKeys & A_BUTTON))
+ return 0;
+ PlaySE(SE_SELECT);
+ sub_802222C(r5);
+ break;
+ case 3:
+ if (r5->unk12 <= 12)
+ {
+ ++r5->unk12;
+ r5->unkC = 0;
+ return 0;
+ }
+ break;
+ case 4:
+ ConvertIntToDecimalStringN(gStringVar1, r5->unk1C, STR_CONV_MODE_LEFT_ALIGN, 6);
+ ConvertIntToDecimalStringN(gStringVar2, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 6);
+ sub_8024644(r6, 2, 3, 0, 0);
+ r5->unkE = 19;
+ sub_8022BEC(3, 1, NULL);
+ r5->unkC = 0;
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_8024134(struct BerryCrushGame *r5, u8 *r4)
+{
+ switch (r5->unkC)
+ {
+ case 0:
+ if (r5->unk28 >= 36000)
+ sub_8022554(&r5->unk138);
+ sub_8024644(r4, 8, 0, 0, 1);
+ r5->unkE = 19;
+ sub_8022BEC(3, 1, NULL);
+ r5->unkC = 0;
+ return 0;
+ case 1:
+ sub_8010434();
+ break;
+ case 2:
+ if (!IsLinkTaskFinished())
+ return 0;
+ DrawDialogueFrame(0, 0);
+ AddTextPrinterParameterized2(0, 1, gText_SavingDontTurnOffPower, 0, 0, 2, 1, 3);
+ CopyWindowToVram(0, 3);
+ CreateTask(sub_8153688, 0);
+ break;
+ case 3:
+ if (FuncIsActiveTask(sub_8153688))
+ return 0;
+ break;
+ case 4:
+ sub_8022BEC(20, 1, NULL);
+ r5->unk12 = 15;
+ r5->unkC = 0;
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_8024228(struct BerryCrushGame *r5, u8 *r6)
+{
+ s32 r4;
+#ifndef NONMATCHING
+ register s32 r0 asm("r0");
+#else
+ s32 r0;
+#endif
+
+ switch (r5->unkC)
+ {
+ case 0:
+ sub_8024644(r6, 4, 0, 0, 1);
+ r5->unkE = 20;
+ sub_8022BEC(3, 1, NULL);
+ r0 = 0;
+ r5->unkC = r0; // dunno what it's doing because it's already in case 0
+ return 0;
+ case 1:
+ DisplayYesNoMenuDefaultYes();
+ break;
+ case 2:
+ if ((r4 = Menu_ProcessInputNoWrapClearOnChoose()) != -2)
+ {
+ memset(r5->unk40.unk2, 0, sizeof(r5->unk40.unk2));
+ if (r4 == 0)
+ {
+ if (HasAtLeastOneBerry())
+ r5->unk14 = 0;
+ else
+ r5->unk14 = 3;
+ }
+ else
+ {
+ r5->unk14 = 1;
+ }
+ ClearDialogWindowAndFrame(0, 1);
+ sub_8024644(r6, 8, 0, 0, 0);
+ r5->unkE = 21;
+ sub_8022BEC(3, 1, NULL);
+ r5->unkC = 0;
+ }
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_80242E0(struct BerryCrushGame *r4, __attribute__((unused)) u8 *r1)
+{
+ u8 r5 = 0;
+
+ switch (r4->unkC)
+ {
+ case 0:
+ sub_8010434();
+ break;
+ case 1:
+ if (!IsLinkTaskFinished())
+ return 0;
+ r4->unk40.unk2[0] = r4->unk14;
+ r4->unk40.unkE.unk0 = 0;
+ SendBlock(0, r4->unk40.unk2, sizeof(u16));
+ break;
+ case 2:
+ if (!IsLinkTaskFinished())
+ return 0;
+ r4->unk10 = 0;
+ break;
+ case 3:
+ if (GetBlockReceivedStatus() != gUnknown_082F4448[r4->unk9 - 2])
+ return 0;
+ for (; r5 < r4->unk9; ++r5)
+ r4->unk40.unkE.unk0 += gBlockRecvBuffer[r5][0];
+ if (r4->unk40.unkE.unk0 != 0)
+ sub_8022BEC(23, 1, NULL);
+ else
+ sub_8022BEC(22, 1, NULL);
+ ResetBlockReceivedFlags();
+ r4->unk40.unk2[0] = 0;
+ r4->unk40.unkE.unk0 = 0;
+ r4->unk10 = 0;
+ r4->unkC = 0;
+ return 0;
+ }
+ ++r4->unkC;
+ return 0;
+}
+
+u32 sub_80243BC(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1)
+{
+ switch (r5->unkC)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, RGB_BLACK);
+ UpdatePaletteFade();
+ break;
+ case 1:
+ if (UpdatePaletteFade())
+ return 0;
+ break;
+ case 2:
+ ClearDialogWindowAndFrame(0, 1);
+ sub_8021488(r5);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
+ UpdatePaletteFade();
+ break;
+ case 3:
+ if (UpdatePaletteFade())
+ return 0;
+ sub_8022BEC(7, 1, NULL);
+ r5->unk12 = 3;
+ r5->unkC = 0;
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_8024444(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1)
+{
+ switch (r5->unkC)
+ {
+ case 0:
+ DrawDialogueFrame(0, 0);
+ if (r5->unk14 == 3)
+ AddTextPrinterParameterized2(0, 1, gUnknown_082F32A4[5], r5->unkB, 0, 2, 1, 3);
+ else
+ AddTextPrinterParameterized2(0, 1, gUnknown_082F32A4[6], r5->unkB, 0, 2, 1, 3);
+ CopyWindowToVram(0, 3);
+ break;
+ case 1:
+ if (IsTextPrinterActive(0))
+ return 0;
+ r5->unk138.unk0 = 120;
+ break;
+ case 2:
+ if (r5->unk138.unk0 != 0)
+ --r5->unk138.unk0;
+ else
+ {
+ sub_8022BEC(24, 1, NULL);
+ r5->unkC = 0;
+ }
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_8024508(struct BerryCrushGame *r5, __attribute__((unused)) u8 *r1)
+{
+ switch (r5->unkC)
+ {
+ case 0:
+ sub_8010434();
+ break;
+ case 1:
+ if (!IsLinkTaskFinished())
+ return 0;
+ sub_800AC34();
+ break;
+ case 2:
+ if (gReceivedRemoteLinkPlayers != 0)
+ return 0;
+ r5->unkE = 25;
+ sub_8022BEC(5, 1, NULL);
+ r5->unkC = 2; // ???
+ return 0;
+ }
+ ++r5->unkC;
+ return 0;
+}
+
+u32 sub_8024568(__attribute__((unused)) struct BerryCrushGame *r0, __attribute__((unused)) u8 *r1)
+{
+ sub_8020C0C(NULL);
+ return 0;
+}
+
+void sub_8024578(struct BerryCrushGame *r4)
+{
+ u8 r5 = 0;
+
+ IncrementGameStat(GAME_STAT_51);
+ r4->unkD = 0;
+ r4->unk10 = 0;
+ r4->unk12 = 2;
+ r4->unk14 = 0;
+ r4->unk1C = 0;
+ r4->unk18 = 0;
+ r4->unk1A = 0;
+ r4->unk20 = 0;
+ r4->unk24 = 0;
+ r4->unk25_0 = 0;
+ r4->unk25_1 = 0;
+ r4->unk25_2 = 0;
+ r4->unk25_3 = 0;
+ r4->unk25_4 = 0;
+ r4->unk25_5 = 0;
+ r4->unk26 = 0;
+ r4->unk28 = 0;
+ r4->unk2E = 0;
+ r4->unk32 = -1;
+ r4->unk30 = 0;
+ r4->unk34 = 0;
+ for (; r5 < 5; ++r5) // why is it 5 instead of 4? fillerBC isn't sufficient for one player
+ {
+ r4->unk68.as_four_players.others[r5].unk0 = -1;
+ r4->unk68.as_four_players.others[r5].unk2 = 0;
+ r4->unk68.as_four_players.others[r5].unk4.as_hwords[0] = 0;
+ r4->unk68.as_four_players.others[r5].unk4.as_hwords[1] = 1;
+ r4->unk68.as_four_players.others[r5].unk4.as_hwords[2] = 0;
+ r4->unk68.as_four_players.others[r5].unk4.as_hwords[3] = 0;
+ r4->unk68.as_four_players.others[r5].unk4.as_hwords[4] = 0;
+ r4->unk68.as_four_players.others[r5].unk4.as_hwords[5] = 0;
+ r4->unk68.as_four_players.others[r5].unk4.as_2d_bytes[1][4] = 0;
+ r4->unk68.as_four_players.others[r5].unk4.as_2d_bytes[1][5] = 0;
+ }
+}
+
+#ifdef NONMATCHING
+void sub_8024604(u8 *r0, u32 r1, s32 r2, u32 r3, u32 r5, u32 r6, u32 r4)
+{
+ u8 sp[8];
+ u8 *p;
+
+ 1[(u32 *)sp] = r2;
+ 0[(u16 *)sp] = r4;
+ p = &sp[4];
+ r0[0] = p[0];
+ r0[1] = p[1];
+ r0[2] = p[2];
+ r0[3] = p[3];
+ r0[4] = r3;
+ r0[5] = r5;
+ r0[6] = r6;
+ r0[7] = sp[0];
+ r0[8] = sp[1];
+ r0[9] = r1;
+}
+#else
+NAKED
+void sub_8024604(u8 *r0, u32 r1, s32 r2, u32 r3, u32 r5, u32 r6, u32 r4)
+{
+ asm_unified("\n\
+ push {r4-r6,lr}\n\
+ sub sp, 0x8\n\
+ str r2, [sp, 0x4]\n\
+ ldr r5, [sp, 0x18]\n\
+ ldr r6, [sp, 0x1C]\n\
+ ldr r4, [sp, 0x20]\n\
+ mov r2, sp\n\
+ strh r4, [r2]\n\
+ add r4, sp, 0x4\n\
+ ldrb r2, [r4]\n\
+ strb r2, [r0]\n\
+ ldrb r2, [r4, 0x1]\n\
+ strb r2, [r0, 0x1]\n\
+ ldrb r2, [r4, 0x2]\n\
+ strb r2, [r0, 0x2]\n\
+ ldrb r2, [r4, 0x3]\n\
+ strb r2, [r0, 0x3]\n\
+ strb r3, [r0, 0x4]\n\
+ strb r5, [r0, 0x5]\n\
+ strb r6, [r0, 0x6]\n\
+ mov r2, sp\n\
+ ldrb r2, [r2]\n\
+ strb r2, [r0, 0x7]\n\
+ mov r2, sp\n\
+ ldrb r2, [r2, 0x1]\n\
+ strb r2, [r0, 0x8]\n\
+ strb r1, [r0, 0x9]\n\
+ add sp, 0x8\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0");
+}
+#endif
+
+void sub_8024644(u8 *r0, u32 r1, u32 r2, u32 r3, u32 r5)
+{
+ u8 sp[4];
+
+ 0[(u16 *)sp] = r3;
+ r0[0] = r1;
+ r0[1] = r2;
+ r0[2] = sp[0];
+ r0[3] = sp[1];
+ r0[4] = r5;
}
diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c
index 37be569f8..f42531f15 100644
--- a/src/berry_fix_program.c
+++ b/src/berry_fix_program.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "gpu_regs.h"
#include "multiboot.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "graphics.h"
#include "main.h"
@@ -36,16 +36,16 @@ static void berry_fix_bg_hide(void);
// .rodata
-static const u8 sUnknown_08617E78[] = _("Berry Program Update");
-static const u8 sUnknown_08617E8D[] = _("Ruby/Sapphire");
-static const u8 sUnknown_08617E9B[] = _("Emerald");
+static const u8 sText_BerryProgramUpdate[] = _("Berry Program Update");
+static const u8 sText_RubySapphire[] = _("Ruby/Sapphire");
+static const u8 sText_Emerald[] = _("Emerald");
-static const u8 Unknown_08617EA3[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button.");
-static const u8 Unknown_08617F07[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again.");
-static const u8 Unknown_08617F97[] = _("Please turn on the power of POKéMON\nRuby/Sapphire while holding START and\nSELECT simultaneously. Then, ensure\nthe picture above appears.");
-static const u8 Unknown_08618020[] = _("Transmitting. Please wait.\n{COLOR RED}{SHADOW LIGHT_RED}Please do not turn off the power or\nunplug the Game Boy Advance Game\nLink Cable.");
-static const u8 Unknown_08618092[] = _("Please follow the instructions on your\nPOKéMON Ruby/Sapphire screen.");
-static const u8 Unknown_086180D7[] = _("Transmission failure.\n{COLOR RED}{SHADOW LIGHT_RED}Please try again.");
+static const u8 sText_BerryProgramWillBeUpdatedPressA[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button.");
+static const u8 sText_EnsureGBAConnectionMatches[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again.");
+static const u8 sText_TurnOffPowerHoldingStartSelect[] = _("Please turn on the power of POKéMON\nRuby/Sapphire while holding START and\nSELECT simultaneously. Then, ensure\nthe picture above appears.");
+static const u8 sText_TransmittingPleaseWait[] = _("Transmitting. Please wait.\n{COLOR RED}{SHADOW LIGHT_RED}Please do not turn off the power or\nunplug the Game Boy Advance Game\nLink Cable.");
+static const u8 sText_PleaseFollowInstructionsOnScreen[] = _("Please follow the instructions on your\nPOKéMON Ruby/Sapphire screen.");
+static const u8 sText_TransmissionFailureTryAgain[] = _("Transmission failure.\n{COLOR RED}{SHADOW LIGHT_RED}Please try again.");
static const struct BgTemplate gUnknown_08618108[] = {
{
@@ -70,16 +70,16 @@ static const u16 sUnknown_08618138[] = {
0x675a, 0, 0, 0
};
-static const u8 sUnknown_08618158[] = {10, 11, 12};
-static const u8 sUnknown_0861815B[] = { 0, 10, 13};
+static const u8 sBerryProgramTextColors[] = {TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3};
+static const u8 sGameTitleTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_4};
-static const u8 *const gUnknown_08618160[] = {
- Unknown_08617F07,
- Unknown_08617F97,
- Unknown_08618020,
- Unknown_08618092,
- Unknown_086180D7,
- Unknown_08617EA3
+static const u8 *const sBerryProgramTexts[] = {
+ sText_EnsureGBAConnectionMatches,
+ sText_TurnOffPowerHoldingStartSelect,
+ sText_TransmittingPleaseWait,
+ sText_PleaseFollowInstructionsOnScreen,
+ sText_TransmissionFailureTryAgain,
+ sText_BerryProgramWillBeUpdatedPressA
};
static const void *const gUnknown_08618178[][3] = {
@@ -230,21 +230,21 @@ static void berry_fix_gpu_set(void)
FillWindowPixelBuffer(3, PIXEL_FILL(0));
FillWindowPixelBuffer(0, PIXEL_FILL(0xA));
- width = GetStringWidth(0, sUnknown_08617E9B, 0);
+ width = GetStringWidth(0, sText_Emerald, 0);
left = (0x78 - width) / 2;
- AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E9B);
+ AddTextPrinterParameterized3(2, 0, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_Emerald);
- width = GetStringWidth(0, sUnknown_08617E8D, 0);
+ width = GetStringWidth(0, sText_RubySapphire, 0);
left = (0x78 - width) / 2 + 0x78;
- AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D);
+ AddTextPrinterParameterized3(2, 0, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
- width = GetStringWidth(0, sUnknown_08617E8D, 0);
+ width = GetStringWidth(0, sText_RubySapphire, 0);
left = (0x70 - width) / 2;
- AddTextPrinterParameterized3(3, 0, left, 0, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D);
+ AddTextPrinterParameterized3(3, 0, left, 0, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
- width = GetStringWidth(1, sUnknown_08617E78, 0);
+ width = GetStringWidth(1, sText_BerryProgramUpdate, 0);
left = (0xD0 - width) / 2;
- AddTextPrinterParameterized3(0, 1, left, 2, sUnknown_08618158, TEXT_SPEED_FF, sUnknown_08617E78);
+ AddTextPrinterParameterized3(0, 1, left, 2, sBerryProgramTextColors, TEXT_SPEED_FF, sText_BerryProgramUpdate);
CopyWindowToVram(2, 2);
CopyWindowToVram(3, 2);
@@ -274,7 +274,7 @@ static void berry_fix_text_print(int scene)
{
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
FillWindowPixelBuffer(1, PIXEL_FILL(0xA));
- AddTextPrinterParameterized3(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]);
+ AddTextPrinterParameterized3(1, 1, 0, 0, sBerryProgramTextColors, -1, sBerryProgramTexts[scene]);
PutWindowTilemap(1);
CopyWindowToVram(1, 2);
switch (scene)
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index c3eac783d..89175c1bf 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -4,7 +4,6 @@
#include "decompress.h"
#include "event_object_movement.h"
#include "item_menu.h"
-#include "constants/items.h"
#include "item.h"
#include "item_use.h"
#include "main.h"
@@ -15,20 +14,22 @@
#include "menu_helpers.h"
#include "palette.h"
#include "overworld.h"
-#include "constants/songs.h"
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
#include "strings.h"
#include "bg.h"
-#include "alloc.h"
+#include "malloc.h"
#include "scanline_effect.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "item_menu_icons.h"
#include "decompress.h"
#include "international_string_util.h"
+#include "constants/berry.h"
+#include "constants/items.h"
#include "constants/rgb.h"
+#include "constants/songs.h"
// There are 4 windows used in berry tag screen.
enum
@@ -400,9 +401,9 @@ static void PrintAllBerryData(void)
static void PrintBerryNumberAndName(void)
{
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
- ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, 2, 2);
+ ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, STR_CONV_MODE_LEADING_ZEROS, 2);
StringCopy(gStringVar2, berry->name);
- StringExpandPlaceholders(gStringVar4, gText_UnkF908Var1Var2);
+ StringExpandPlaceholders(gStringVar4, gText_NumberVar1Var2);
PrintTextInBerryTagScreen(WIN_BERRY_NAME, gStringVar4, 0, 1, 0, 0);
}
@@ -420,8 +421,8 @@ static void PrintBerrySize(void)
fraction = (inches % 100) / 10;
inches /= 100;
- ConvertIntToDecimalStringN(gStringVar1, inches, 0, 2);
- ConvertIntToDecimalStringN(gStringVar2, fraction, 0, 2);
+ ConvertIntToDecimalStringN(gStringVar1, inches, STR_CONV_MODE_LEFT_ALIGN, 2);
+ ConvertIntToDecimalStringN(gStringVar2, fraction, STR_CONV_MODE_LEFT_ALIGN, 2);
StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2);
AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gStringVar4, 0x28, 1, 0, NULL);
}
@@ -526,7 +527,7 @@ static void Task_CloseBerryTagScreen(u8 taskId)
DestroyFlavorCircleSprites();
Free(sBerryTag);
FreeAllWindowBuffers();
- SetMainCallback2(bag_menu_mail_related);
+ SetMainCallback2(CB2_ReturnToBagMenuPocket);
DestroyTask(taskId);
}
}
diff --git a/src/bike.c b/src/bike.c
index 7f84f350b..7397fed40 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -45,8 +45,8 @@ static u8 AcroBike_GetJumpDirection(void);
static void Bike_UpdateDirTimerHistory(u8);
static void Bike_UpdateABStartSelectHistory(u8);
static u8 Bike_DPadToDirection(u16);
-static u8 get_some_collision(u8);
-static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *, s16, s16, u8, u8);
+static u8 GetBikeCollision(u8);
+static u8 GetBikeCollisionAt(struct EventObject *, s16, s16, u8, u8);
static bool8 IsRunningDisallowedByMetatile(u8);
static void Bike_TryAdvanceCyclingRoadCollisions();
static u8 CanBikeFaceDirOnMetatile(u8, u8);
@@ -214,8 +214,8 @@ static void MachBikeTransition_TrySpeedUp(u8 direction)
}
else
{
- collision = get_some_collision(direction);
- if (collision > 0 && collision < 12)
+ collision = GetBikeCollision(direction);
+ if (collision > 0 && collision < COLLISION_VERTICAL_RAIL)
{
// we hit a solid object, but check to see if its a ledge and then jump.
if (collision == COLLISION_LEDGE_JUMP)
@@ -226,9 +226,9 @@ static void MachBikeTransition_TrySpeedUp(u8 direction)
{
// we hit a solid object that is not a ledge, so perform the collision.
Bike_SetBikeStill();
- if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction))
+ if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction))
PlayerOnBikeCollideWithFarawayIslandMew(direction);
- else if (collision < 5 || collision > 8)
+ else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE)
PlayerOnBikeCollide(direction);
}
}
@@ -250,9 +250,9 @@ static void MachBikeTransition_TrySlowDown(u8 direction)
if (gPlayerAvatar.bikeSpeed != SPEED_STANDING)
gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.bikeSpeed;
- collision = get_some_collision(direction);
+ collision = GetBikeCollision(direction);
- if (collision > 0 && collision < 12)
+ if (collision > 0 && collision < COLLISION_VERTICAL_RAIL)
{
if (collision == COLLISION_LEDGE_JUMP)
{
@@ -261,9 +261,9 @@ static void MachBikeTransition_TrySlowDown(u8 direction)
else
{
Bike_SetBikeStill();
- if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction))
+ if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction))
PlayerOnBikeCollideWithFarawayIslandMew(direction);
- else if (collision < 5 || collision > 8)
+ else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE)
PlayerOnBikeCollide(direction);
}
}
@@ -552,14 +552,14 @@ static void AcroBikeTransition_Moving(u8 direction)
AcroBikeTransition_FaceDirection(playerEventObj->movementDirection);
return;
}
- collision = get_some_collision(direction);
- if (collision > 0 && collision < 12)
+ collision = GetBikeCollision(direction);
+ if (collision > 0 && collision < COLLISION_VERTICAL_RAIL)
{
if (collision == COLLISION_LEDGE_JUMP)
PlayerJumpLedge(direction);
- else if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction))
+ else if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction))
PlayerOnBikeCollideWithFarawayIslandMew(direction);
- else if (collision < 5 || collision > 8)
+ else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE)
PlayerOnBikeCollide(direction);
}
else
@@ -614,19 +614,19 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction)
AcroBikeTransition_WheelieHoppingStanding(playerEventObj->movementDirection);
return;
}
- collision = get_some_collision(direction);
+ collision = GetBikeCollision(direction);
// TODO: Try to get rid of this goto
- if (collision == 0 || collision == 9)
+ if (collision == 0 || collision == COLLISION_WHEELIE_HOP)
{
goto derp;
}
- else if (collision == 6)
+ else if (collision == COLLISION_LEDGE_JUMP)
{
PlayerLedgeHoppingWheelie(direction);
}
- else if (collision < 5 || collision > 8)
+ else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE)
{
- if (collision <= 11)
+ if (collision < COLLISION_VERTICAL_RAIL)
{
AcroBikeTransition_WheelieHoppingStanding(direction);
}
@@ -643,12 +643,12 @@ static void AcroBikeTransition_SideJump(u8 direction)
u8 collision;
struct EventObject *playerEventObj;
- collision = get_some_collision(direction);
- if (collision != 0)
+ collision = GetBikeCollision(direction);
+ if (collision)
{
- if (collision == 7)
+ if (collision == COLLISION_PUSHED_BOULDER)
return;
- if (collision < 10)
+ if (collision < COLLISION_ISOLATED_VERTICAL_RAIL)
{
AcroBikeTransition_TurnDirection(direction);
return;
@@ -680,18 +680,18 @@ static void AcroBikeTransition_WheelieMoving(u8 direction)
PlayerIdleWheelie(playerEventObj->movementDirection);
return;
}
- collision = get_some_collision(direction);
- if (collision > 0 && collision < 12)
+ collision = GetBikeCollision(direction);
+ if (collision > 0 && collision < COLLISION_VERTICAL_RAIL)
{
- if (collision == 6)
+ if (collision == COLLISION_LEDGE_JUMP)
{
PlayerLedgeHoppingWheelie(direction);
}
- else if (collision == 9)
+ else if (collision == COLLISION_WHEELIE_HOP)
{
PlayerIdleWheelie(direction);
}
- else if (collision <= 4)
+ else if (collision < COLLISION_STOP_SURFING)
{
if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior))
PlayerIdleWheelie(direction);
@@ -714,18 +714,18 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction)
PlayerStartWheelie(playerEventObj->movementDirection);
return;
}
- collision = get_some_collision(direction);
- if (collision > 0 && collision < 12)
+ collision = GetBikeCollision(direction);
+ if (collision > 0 && collision < COLLISION_VERTICAL_RAIL)
{
- if (collision == 6)
+ if (collision == COLLISION_LEDGE_JUMP)
{
PlayerLedgeHoppingWheelie(direction);
}
- else if (collision == 9)
+ else if (collision == COLLISION_WHEELIE_HOP)
{
PlayerIdleWheelie(direction);
}
- else if (collision <= 4)
+ else if (collision < COLLISION_STOP_SURFING)
{
if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior))
PlayerIdleWheelie(direction);
@@ -748,12 +748,12 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction)
PlayerEndWheelie(playerEventObj->movementDirection);
return;
}
- collision = get_some_collision(direction);
- if (collision > 0 && collision < 12)
+ collision = GetBikeCollision(direction);
+ if (collision > 0 && collision < COLLISION_VERTICAL_RAIL)
{
- if (collision == 6)
+ if (collision == COLLISION_LEDGE_JUMP)
PlayerJumpLedge(direction);
- else if (collision < 5 || collision > 8)
+ else if (collision < COLLISION_STOP_SURFING || collision > COLLISION_ROTATING_GATE)
PlayerEndWheelie(direction);
return;
}
@@ -865,29 +865,26 @@ static u8 Bike_DPadToDirection(u16 heldKeys)
return DIR_NONE;
}
-static u8 get_some_collision(u8 direction)
+static u8 GetBikeCollision(u8 direction)
{
- s16 x;
- s16 y;
u8 metatitleBehavior;
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
-
- x = playerEventObj->currentCoords.x;
- y = playerEventObj->currentCoords.y;
+ s16 x = playerEventObj->currentCoords.x;
+ s16 y = playerEventObj->currentCoords.y;
MoveCoords(direction, &x, &y);
metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y);
- return Bike_CheckCollisionTryAdvanceCollisionCount(playerEventObj, x, y, direction, metatitleBehavior);
+ return GetBikeCollisionAt(playerEventObj, x, y, direction, metatitleBehavior);
}
-static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior)
+static u8 GetBikeCollisionAt(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior)
{
u8 collision = CheckForEventObjectCollision(eventObject, x, y, direction, metatitleBehavior);
- if (collision > 4)
+ if (collision > COLLISION_EVENT_OBJECT)
return collision;
- if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior))
- collision = 2;
+ if (collision == COLLISION_NONE && IsRunningDisallowedByMetatile(metatitleBehavior))
+ collision = COLLISION_IMPASSABLE;
if (collision)
Bike_TryAdvanceCyclingRoadCollisions();
@@ -941,10 +938,10 @@ static bool8 WillPlayerCollideWithCollision(u8 newTileCollision, u8 direction)
{
if (direction == DIR_NORTH || direction == DIR_SOUTH)
{
- if (newTileCollision == 10 || newTileCollision == 12)
+ if (newTileCollision == COLLISION_ISOLATED_VERTICAL_RAIL || newTileCollision == COLLISION_VERTICAL_RAIL)
return FALSE;
}
- else if (newTileCollision == 11 || newTileCollision == 13)
+ else if (newTileCollision == COLLISION_ISOLATED_HORIZONTAL_RAIL || newTileCollision == COLLISION_HORIZONTAL_RAIL)
{
return FALSE;
}
@@ -1059,7 +1056,7 @@ void Bike_HandleBumpySlopeJump(void)
bool32 IsRunningDisallowed(u8 metatile)
{
- if (!(gMapHeader.flags & 4) || IsRunningDisallowedByMetatile(metatile) == TRUE)
+ if (!(gMapHeader.flags & MAP_ALLOW_RUN) || IsRunningDisallowedByMetatile(metatile) == TRUE)
return TRUE;
else
return FALSE;
diff --git a/src/birch_pc.c b/src/birch_pc.c
index 5179b1920..5b574b05d 100644
--- a/src/birch_pc.c
+++ b/src/birch_pc.c
@@ -9,13 +9,13 @@ bool16 ScriptGetPokedexInfo(void)
{
if (gSpecialVar_0x8004 == 0) // is national dex not present?
{
- gSpecialVar_0x8005 = GetHoennPokedexCount(0);
- gSpecialVar_0x8006 = GetHoennPokedexCount(1);
+ gSpecialVar_0x8005 = GetHoennPokedexCount(FLAG_GET_SEEN);
+ gSpecialVar_0x8006 = GetHoennPokedexCount(FLAG_GET_CAUGHT);
}
else
{
- gSpecialVar_0x8005 = GetNationalPokedexCount(0);
- gSpecialVar_0x8006 = GetNationalPokedexCount(1);
+ gSpecialVar_0x8005 = GetNationalPokedexCount(FLAG_GET_SEEN);
+ gSpecialVar_0x8006 = GetNationalPokedexCount(FLAG_GET_CAUGHT);
}
return IsNationalPokedexEnabled();
diff --git a/src/bug.c b/src/bug.c
index 4fa6a5bb6..207000fb8 100644
--- a/src/bug.c
+++ b/src/bug.c
@@ -47,7 +47,7 @@ const struct SpriteTemplate gUnknown_08596974 =
{
.tileTag = ANIM_TAG_HORN_HIT_2,
.paletteTag = ANIM_TAG_HORN_HIT_2,
- .oam = &gUnknown_085249F4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596968,
@@ -83,7 +83,7 @@ const struct SpriteTemplate gUnknown_085969C8 =
{
.tileTag = ANIM_TAG_NEEDLE,
.paletteTag = ANIM_TAG_NEEDLE,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085969BC,
@@ -94,7 +94,7 @@ const struct SpriteTemplate gWebThreadSpriteTemplate =
{
.tileTag = ANIM_TAG_WEB_THREAD,
.paletteTag = ANIM_TAG_WEB_THREAD,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -105,7 +105,7 @@ const struct SpriteTemplate gUnknown_085969F8 =
{
.tileTag = ANIM_TAG_STRING,
.paletteTag = ANIM_TAG_STRING,
- .oam = &gUnknown_0852493C,
+ .oam = &gOamData_AffineOff_ObjNormal_64x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -128,7 +128,7 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate =
{
.tileTag = ANIM_TAG_SPIDER_WEB,
.paletteTag = ANIM_TAG_SPIDER_WEB,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596A28,
@@ -139,7 +139,7 @@ const struct SpriteTemplate gLinearStingerSpriteTemplate =
{
.tileTag = ANIM_TAG_NEEDLE,
.paletteTag = ANIM_TAG_NEEDLE,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -150,7 +150,7 @@ const struct SpriteTemplate gPinMissileSpriteTemplate =
{
.tileTag = ANIM_TAG_NEEDLE,
.paletteTag = ANIM_TAG_NEEDLE,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -161,7 +161,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate =
{
.tileTag = ANIM_TAG_ICICLE_SPEAR,
.paletteTag = ANIM_TAG_ICICLE_SPEAR,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -188,7 +188,7 @@ const struct SpriteTemplate gUnknown_08596AC8 =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596AC4,
diff --git a/src/cable_car.c b/src/cable_car.c
index adeee2647..d310ae299 100644
--- a/src/cable_car.c
+++ b/src/cable_car.c
@@ -6,7 +6,7 @@
#include "field_weather.h"
#include "gpu_regs.h"
#include "graphics.h"
-#include "alloc.h"
+#include "malloc.h"
#include "main.h"
#include "menu.h"
#include "overworld.h"
@@ -307,7 +307,7 @@ static void CableCarMainCallback_Setup(void)
gMain.state++;
break;
case 5:
- if (sCableCar->weather == WEATHER_ASH)
+ if (sCableCar->weather == WEATHER_VOLCANIC_ASH)
{
gMain.state++;
}
@@ -425,7 +425,7 @@ static void sub_81503E4(u8 taskId)
case 1:
switch (sCableCar->weather)
{
- case WEATHER_ASH:
+ case WEATHER_VOLCANIC_ASH:
if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL && gWeatherPtr->sprites.s2.ashSprites[0]->oam.priority != 0)
{
for (; i < NUM_ASH_SPRITES; i++)
@@ -815,7 +815,7 @@ static void LoadCableCarSprites(void)
gSprites[spriteId].pos2.y = 4;
gSprites[spriteId].data[0] = 200;
gSprites[spriteId].data[1] = 99;
- sCableCar->weather = WEATHER_ASH;
+ sCableCar->weather = WEATHER_VOLCANIC_ASH;
sCableCar->unk4 = 0x15e;
SetCurrentAndNextWeatherNoDelay(WEATHER_SUNNY);
break;
@@ -841,7 +841,7 @@ static void LoadCableCarSprites(void)
gSprites[spriteId].data[1] = 0x41;
sCableCar->weather = WEATHER_SUNNY;
sCableCar->unk4 = 0x109;
- SetCurrentAndNextWeatherNoDelay(WEATHER_ASH);
+ SetCurrentAndNextWeatherNoDelay(WEATHER_VOLCANIC_ASH);
break;
}
for (i = 0; i < 9; i++)
diff --git a/src/cable_club.c b/src/cable_club.c
index 303cc76d1..11920bea9 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -30,6 +30,8 @@
#include "trainer_card.h"
#include "party_menu.h"
#include "window.h"
+#include "constants/battle_frontier.h"
+#include "constants/cable_club.h"
#include "constants/songs.h"
static const struct WindowTemplate gUnknown_08550594 = {
@@ -123,9 +125,9 @@ static u32 sub_80B2478(u8 lower, u8 upper)
return 1;
case EXCHANGE_IN_PROGRESS:
return 3;
- case EXCHANGE_STAT_4:
+ case EXCHANGE_PLAYER_NOT_READY:
return 7;
- case EXCHANGE_STAT_5:
+ case EXCHANGE_PARTNER_NOT_READY:
return 9;
case EXCHANGE_STAT_6:
ConvertIntToDecimalStringN(gStringVar1, GetLinkPlayerCount_2(), STR_CONV_MODE_LEFT_ALIGN, 1);
@@ -201,7 +203,7 @@ static void sub_80B2634(u8 taskId)
if (data[0] == 0)
{
OpenLinkTimed();
- sub_800AB98();
+ ResetLinkPlayerCount();
ResetLinkPlayers();
data[5] = AddWindow(&gUnknown_08550594);
}
@@ -457,7 +459,7 @@ static void task_map_chg_seq_0807EC34(u16 *a0, u32 taskId)
if (*a0 == 1)
{
- if (gLinkType == 0x2266 || gLinkType == 0x2277)
+ if (gLinkType == LINKTYPE_BATTLE_TOWER_50 || gLinkType == LINKTYPE_BATTLE_TOWER_OPEN)
{
if (sub_80B2AF4(trainerCards[0].monSpecies, trainerCards[1].monSpecies))
{
@@ -550,53 +552,50 @@ static bool8 sub_80B2D6C(u8 taskId)
return FALSE;
}
-void sub_80B2DA4(u8 arg0)
+void TryBattleLinkup(u8 arg0)
{
u8 r3 = 2;
u8 r2 = 2;
switch (gSpecialVar_0x8004)
{
- case 1:
+ case USING_SINGLE_BATTLE:
r3 = 2;
- gLinkType = 0x2233;
+ gLinkType = LINKTYPE_SINGLE_BATTLE;
break;
- case 2:
+ case USING_DOUBLE_BATTLE:
r3 = 2;
- gLinkType = 0x2244;
+ gLinkType = LINKTYPE_DOUBLE_BATTLE;
break;
- case 5:
+ case USING_MULTI_BATTLE:
r3 = 4;
r2 = 4;
- gLinkType = 0x2255;
+ gLinkType = LINKTYPE_MULTI_BATTLE;
break;
- case 9:
+ case USING_BATTLE_TOWER:
r3 = 2;
- if (gSaveBlock2Ptr->frontier.lvlMode == 0)
- {
- gLinkType = 0x2266;
- }
+ if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_50)
+ gLinkType = LINKTYPE_BATTLE_TOWER_50;
else
- {
- gLinkType = 0x2277;
- }
+ gLinkType = LINKTYPE_BATTLE_TOWER_OPEN;
+
break;
}
sub_80B236C(r3, r2);
}
-void sub_80B2E4C(void)
+void TryTradeLinkup(void)
{
- gLinkType = 0x1133;
+ gLinkType = LINKTYPE_0x1133;
gBattleTypeFlags = 0;
sub_80B236C(2, 2);
}
-void sub_80B2E74(void)
+void TryRecordMixLinkup(void)
{
gSpecialVar_Result = 0;
- gLinkType = 0x3311;
+ gLinkType = LINKTYPE_0x3311;
gBattleTypeFlags = 0;
sub_80B236C(2, 4);
}
@@ -679,23 +678,23 @@ static void sub_80B2EE4(u8 taskId)
}
}
-void sub_80B2FD8(void)
+void TryBerryBlenderLinkup(void)
{
- gLinkType = 0x4411;
+ gLinkType = LINKTYPE_BERRY_BLENDER_SETUP;
gBattleTypeFlags = 0;
sub_80B236C(2, 4);
}
-void sub_80B3000(void)
+void TryContestGModeLinkup(void)
{
- gLinkType = 0x6601;
+ gLinkType = LINKTYPE_CONTEST_GMODE;
gBattleTypeFlags = 0;
sub_80B236C(4, 4);
}
-void sub_80B3028(void)
+void TryContestEModeLinkup(void)
{
- gLinkType = 0x6602;
+ gLinkType = LINKTYPE_CONTEST_EMODE;
gBattleTypeFlags = 0;
sub_80B236C(2, 4);
}
@@ -707,30 +706,30 @@ u8 sub_80B3050(void)
switch (gSpecialVar_0x8004)
{
- case 1:
- gLinkType = 0x2233;
+ case USING_SINGLE_BATTLE:
+ gLinkType = LINKTYPE_SINGLE_BATTLE;
break;
- case 2:
- gLinkType = 0x2244;
+ case USING_DOUBLE_BATTLE:
+ gLinkType = LINKTYPE_DOUBLE_BATTLE;
break;
- case 5:
- gLinkType = 0x2255;
+ case USING_MULTI_BATTLE:
+ gLinkType = LINKTYPE_MULTI_BATTLE;
break;
- case 9:
- if (gSaveBlock2Ptr->frontier.lvlMode == 0)
+ case USING_BATTLE_TOWER:
+ if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_50)
{
- gLinkType = 0x2266;
+ gLinkType = LINKTYPE_BATTLE_TOWER_50;
}
else
{
- gLinkType = 0x2277;
+ gLinkType = LINKTYPE_BATTLE_TOWER_OPEN;
}
break;
- case 3:
- gLinkType = 0x1111;
+ case USING_TRADE_CENTER:
+ gLinkType = LINKTYPE_0x1111;
break;
- case 4:
- gLinkType = 0x3322;
+ case USING_RECORD_CORNER:
+ gLinkType = LINKTYPE_0x3322;
break;
}
@@ -785,26 +784,27 @@ static void sub_80B3220(u8 taskId)
}
}
-void sub_80B3254(void)
+// Unused
+void CableClubSaveGame(void)
{
SaveGame();
}
-static void sub_80B3260(int a0)
+static void SetLinkBattleTypeFlags(int linkService)
{
- switch (a0)
+ switch (linkService)
{
- case 1:
+ case USING_SINGLE_BATTLE:
gBattleTypeFlags = BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER;
break;
- case 2:
+ case USING_DOUBLE_BATTLE:
gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER;
break;
- case 5:
+ case USING_MULTI_BATTLE:
ReducePlayerPartyToSelectedMons();
gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI;
break;
- case 9:
+ case USING_BATTLE_TOWER:
gBattleTypeFlags = BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI;
break;
}
@@ -817,8 +817,8 @@ static void sub_80B32B4(u8 taskId)
switch (task->data[0])
{
case 0:
- FadeScreen(1, 0);
- gLinkType = 0x2211;
+ FadeScreen(FADE_TO_BLACK, 0);
+ gLinkType = LINKTYPE_BATTLE;
ClearLinkCallback_2();
task->data[0]++;
break;
@@ -845,7 +845,7 @@ static void sub_80B32B4(u8 taskId)
else
PlayMapChosenOrBattleBGM(MUS_BATTLE20);
- sub_80B3260(gSpecialVar_0x8004);
+ SetLinkBattleTypeFlags(gSpecialVar_0x8004);
CleanupOverworldWindowsAndTilemaps();
gTrainerBattleOpponent_A = 0x800;
SetMainCallback2(CB2_InitBattle);
@@ -863,8 +863,8 @@ static void sub_80B33BC(u8 taskId)
switch (data[0])
{
case 0:
- FadeScreen(1, 0);
- gLinkType = 0x2211;
+ FadeScreen(FADE_TO_BLACK, 0);
+ gLinkType = LINKTYPE_BATTLE;
ClearLinkCallback_2();
data[0] = 1;
break;
@@ -910,8 +910,8 @@ static void sub_80B33BC(u8 taskId)
else
PlayMapChosenOrBattleBGM(MUS_BATTLE20);
- gLinkPlayers[0].linkType = 0x2211;
- sub_80B3260(gSpecialVar_0x8004);
+ gLinkPlayers[0].linkType = LINKTYPE_BATTLE;
+ SetLinkBattleTypeFlags(gSpecialVar_0x8004);
CleanupOverworldWindowsAndTilemaps();
gTrainerBattleOpponent_A = 0x800;
SetMainCallback2(CB2_InitBattle);
@@ -971,9 +971,9 @@ void sub_80B360C(void)
Overworld_ResetMapMusic();
LoadPlayerParty();
SavePlayerBag();
- sub_813BF10();
+ UpdateTrainerFansAfterLinkBattle();
- if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2)
+ if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE)
{
UpdatePlayerLinkBattleRecords(gLocalLinkPlayerId ^ 1);
if (gWirelessCommType)
@@ -1004,7 +1004,10 @@ void sub_80B360C(void)
void CleanupLinkRoomState(void)
{
- if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2 || gSpecialVar_0x8004 == 5 || gSpecialVar_0x8004 == 9)
+ if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE
+ || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE
+ || gSpecialVar_0x8004 == USING_MULTI_BATTLE
+ || gSpecialVar_0x8004 == USING_BATTLE_TOWER)
{
LoadPlayerParty();
SavePlayerBag();
@@ -1075,7 +1078,7 @@ static void sub_80B37FC(u8 taskId)
{
case 0:
ScriptContext2_Enable();
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
ClearLinkCallback_2();
task->data[0]++;
break;
@@ -1084,8 +1087,8 @@ static void sub_80B37FC(u8 taskId)
task->data[0]++;
break;
case 2:
- gUnknown_02032298[0] = 0;
- gUnknown_02032298[1] = 0;
+ gSelectedTradeMonPositions[TRADE_PLAYER] = 0;
+ gSelectedTradeMonPositions[TRADE_PARTNER] = 0;
m4aMPlayAllStop();
sub_800AC34();
task->data[0]++;
@@ -1093,7 +1096,7 @@ static void sub_80B37FC(u8 taskId)
case 3:
if (!gReceivedRemoteLinkPlayers)
{
- SetMainCallback2(sub_80773AC);
+ SetMainCallback2(CB2_StartCreateTradeMenu);
DestroyTask(taskId);
}
break;
@@ -1108,8 +1111,8 @@ static void sub_80B3894(u8 taskId)
{
case 0:
ScriptContext2_Enable();
- FadeScreen(1, 0);
- Rfu_set_zero();
+ FadeScreen(FADE_TO_BLACK, 0);
+ ClearLinkRfuCallback();
data[0]++;
break;
case 1:
@@ -1117,8 +1120,8 @@ static void sub_80B3894(u8 taskId)
data[0]++;
break;
case 2:
- gUnknown_02032298[0] = 0;
- gUnknown_02032298[1] = 0;
+ gSelectedTradeMonPositions[TRADE_PLAYER] = 0;
+ gSelectedTradeMonPositions[TRADE_PARTNER] = 0;
m4aMPlayAllStop();
sub_800ADF8();
data[0]++;
@@ -1159,7 +1162,7 @@ void nullsub_37(void)
// Note: VAR_0x8005 is set to the ID of the player spot.
void ColosseumPlayerSpotTriggered(void)
{
- gLinkType = 0x2211;
+ gLinkType = LINKTYPE_BATTLE;
if (gWirelessCommType != 0)
{
@@ -1178,7 +1181,7 @@ static void sub_80B39A4(void)
ScriptContext1_Stop();
}
-void sp02A_crash_sound(void)
+void Script_ShowLinkTrainerCard(void)
{
ShowTrainerCardInLink(gSpecialVar_0x8006, CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
@@ -1296,10 +1299,10 @@ void sub_80B3AF8(u8 taskId)
}
}
-void sub_80B3BC4(void)
+void TrySetBattleTowerLinkType(void)
{
if (gWirelessCommType == 0)
{
- gLinkType = 0x2288;
+ gLinkType = LINKTYPE_BATTLE_TOWER;
}
}
diff --git a/src/clock.c b/src/clock.c
index 1e7c5f83e..125d403bb 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -25,7 +25,7 @@ static void InitTimeBasedEvents(void)
void DoTimeBasedEvents(void)
{
- if (FlagGet(FLAG_SYS_CLOCK_SET) && !sub_813B9C0())
+ if (FlagGet(FLAG_SYS_CLOCK_SET) && !InPokemonCenter())
{
RtcCalcLocalTime();
UpdatePerDay(&gLocalTime);
diff --git a/src/coins.c b/src/coins.c
index b838c303e..302817f8d 100644
--- a/src/coins.c
+++ b/src/coins.c
@@ -6,8 +6,7 @@
#include "string_util.h"
#include "menu.h"
#include "international_string_util.h"
-
-#define MAX_COINS 9999
+#include "constants/coins.h"
EWRAM_DATA u8 sCoinsWindowId = 0;
@@ -49,7 +48,7 @@ void SetCoins(u16 coinAmount)
gSaveBlock1Ptr->coins = coinAmount ^ gSaveBlock2Ptr->encryptionKey;
}
-bool8 GiveCoins(u16 toAdd)
+bool8 AddCoins(u16 toAdd)
{
u16 newAmount;
u16 ownedCoins = GetCoins();
@@ -71,7 +70,7 @@ bool8 GiveCoins(u16 toAdd)
return TRUE;
}
-bool8 TakeCoins(u16 toSub)
+bool8 RemoveCoins(u16 toSub)
{
u16 ownedCoins = GetCoins();
if (ownedCoins >= toSub)
diff --git a/src/contest.c b/src/contest.c
index 79c1616c2..66dbdb6f1 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "gpu_regs.h"
#include "bg.h"
-#include "alloc.h"
+#include "malloc.h"
#include "constants/items.h"
#include "constants/event_objects.h"
#include "constants/moves.h"
@@ -219,15 +219,15 @@ static void sub_80DF9E0(u8 *, s32);
static void SwapMoveDescAndContestTilemaps(void);
// EWRAM vars.
-EWRAM_DATA struct ContestPokemon gContestMons[4] = {0};
-EWRAM_DATA s16 gContestMonConditions[4] = {0};
-EWRAM_DATA s16 gUnknown_02039F08[4] = {0};
-EWRAM_DATA s16 gUnknown_02039F10[4] = {0};
-EWRAM_DATA s16 gUnknown_02039F18[4] = {0};
-EWRAM_DATA u8 gContestFinalStandings[4] = {0};
+EWRAM_DATA struct ContestPokemon gContestMons[CONTESTANT_COUNT] = {0};
+EWRAM_DATA s16 gContestMonConditions[CONTESTANT_COUNT] = {0};
+EWRAM_DATA s16 gUnknown_02039F08[CONTESTANT_COUNT] = {0};
+EWRAM_DATA s16 gUnknown_02039F10[CONTESTANT_COUNT] = {0};
+EWRAM_DATA s16 gUnknown_02039F18[CONTESTANT_COUNT] = {0};
+EWRAM_DATA u8 gContestFinalStandings[CONTESTANT_COUNT] = {0};
EWRAM_DATA u8 gContestMonPartyIndex = 0;
EWRAM_DATA u8 gContestPlayerMonIndex = 0;
-EWRAM_DATA u8 gContestantTurnOrder[4] = {0};
+EWRAM_DATA u8 gContestantTurnOrder[CONTESTANT_COUNT] = {0};
EWRAM_DATA u8 gLinkContestFlags = 0;
// Bit 0: Is a link contest
// Bit 1: Link contest uses wireless adapter
@@ -238,7 +238,7 @@ EWRAM_DATA u8 gNumLinkContestPlayers = 0;
EWRAM_DATA u8 gHighestRibbonRank = 0;
EWRAM_DATA struct ContestResources *gContestResources = NULL;
EWRAM_DATA u8 sContestBgCopyFlags = 0;
-EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0};
+EWRAM_DATA struct ContestWinner gCurContestWinner = {0};
EWRAM_DATA u8 gUnknown_02039F5C = 0;
EWRAM_DATA u8 gUnknown_02039F5D = 0;
@@ -246,29 +246,8 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0;
u32 gContestRngValue;
extern const u8 gText_LinkStandby4[];
-extern const u8 gText_0827D55A[];
-extern const u8 gText_0827E793[];
-extern const u8 gText_0827E32E[];
-extern const u8 gText_0827E35B[];
-extern const u8 gText_0827E38D[];
-extern const u8 gText_0827E2FE[];
-extern const u8 gText_RepeatedAppeal[];
-extern const u8 gText_0827E73C[];
-extern const u8 gText_0827E717[];
-extern const u8 gText_0827E76A[];
-extern const u8 gText_0827E7EA[];
-extern const u8 gText_0827E817[];
-extern const u8 gText_0827E58A[];
-extern const u8 gText_0827D56F[];
-extern const u8 gText_0827D597[];
-extern const u8 gText_Contest_Shyness[];
-extern const u8 gText_Contest_Anxiety[];
-extern const u8 gText_Contest_Laziness[];
-extern const u8 gText_Contest_Hesitancy[];
-extern const u8 gText_Contest_Fear[];
extern const u8 gText_BDot[];
extern const u8 gText_CDot[];
-extern const u8 *const gUnknown_08587E10[];
extern void (*const gContestEffectFuncs[])(void);
static const u8 gUnknown_08587A6C[] =
@@ -291,10 +270,10 @@ static const struct SpriteSheet gUnknown_08587A74 =
static const struct OamData gOamData_8587A7C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -376,10 +355,10 @@ static const struct SpritePalette gUnknown_08587B08 =
static const struct OamData gOamData_8587B10 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
@@ -435,16 +414,16 @@ const struct Subsprite gSubspriteTable_8587B78[] =
{
.x = -28,
.y = -4,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
.tileOffset = 0,
.priority = 0
},
{
.x = 4,
.y = -4,
- .shape = ST_OAM_H_RECTANGLE,
- .size = 1,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
.tileOffset = 4,
.priority = 0
}
@@ -577,7 +556,7 @@ const struct SpriteTemplate gSpriteTemplate_8587C18 =
{
.tileTag = 0xABE0,
.paletteTag = 0xABE0,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -1345,9 +1324,9 @@ static void sub_80D833C(u8 taskId)
DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.unk18204, PLTT_BUFFER_SIZE * 2);
ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
- StringCopy(gDisplayedStringBattle, gText_0827D507);
+ StringCopy(gDisplayedStringBattle, gText_AppealNumWhichMoveWillBePlayed);
else
- StringCopy(gDisplayedStringBattle, gText_0827D531);
+ StringCopy(gDisplayedStringBattle, gText_AppealNumButItCantParticipate);
ContestClearGeneralTextWindow();
StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
Contest_StartTextPrinter(gStringVar4, TRUE);
@@ -1443,9 +1422,9 @@ static void sub_80D8610(u8 taskId)
sub_80DC490(FALSE);
ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
- StringCopy(gDisplayedStringBattle, gText_0827D507);
+ StringCopy(gDisplayedStringBattle, gText_AppealNumWhichMoveWillBePlayed);
else
- StringCopy(gDisplayedStringBattle, gText_0827D531);
+ StringCopy(gDisplayedStringBattle, gText_AppealNumButItCantParticipate);
ContestClearGeneralTextWindow();
StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
Contest_StartTextPrinter(gStringVar4, 0);
@@ -1574,7 +1553,7 @@ static void sub_80D8A88(u8 taskId)
{
s32 i;
- for (i = 0; i + gNumLinkContestPlayers < 4; i++)
+ for (i = 0; i + gNumLinkContestPlayers < CONTESTANT_COUNT; i++)
{
eContestantStatus[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i);
}
@@ -1673,8 +1652,8 @@ static void sub_80D8B38(u8 taskId)
if (eContestantStatus[r6].currMove < MOVES_COUNT)
StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
else
- StringCopy(gStringVar2, gUnknown_08587F1C[eContestantStatus[r6].moveCategory]);
- StringExpandPlaceholders(gStringVar4, gText_0827D55A);
+ StringCopy(gStringVar2, sInvalidContestMoveNames[eContestantStatus[r6].moveCategory]);
+ StringExpandPlaceholders(gStringVar4, gText_MonAppealedWithMove);
Contest_StartTextPrinter(gStringVar4, 1);
gTasks[taskId].data[0] = 6;
}
@@ -1735,7 +1714,7 @@ static void sub_80D8B38(u8 taskId)
{
if (eContestantStatus[r6].effectStringId2 != CONTEST_STRING_NONE)
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (i != r6 && eContestantStatus[i].effectStringId != CONTEST_STRING_NONE)
break;
@@ -1838,10 +1817,10 @@ static void sub_80D8B38(u8 taskId)
s32 r2 = 0;
r3 = 0;
- for (i = gTasks[taskId].data[1]; i < 4; i++)
+ for (i = gTasks[taskId].data[1]; i < CONTESTANT_COUNT; i++)
{
r3 = 0;
- for (r2 = 0; r2 < 4; r2++)
+ for (r2 = 0; r2 < CONTESTANT_COUNT; r2++)
{
if (r2 != r6 && gContestantTurnOrder[r2] == i
&& eContestantStatus[r2].effectStringId != CONTEST_STRING_NONE)
@@ -1906,7 +1885,7 @@ static void sub_80D8B38(u8 taskId)
}
return;
case 30:
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (gContestantTurnOrder[i] == gTasks[taskId].data[1])
break;
@@ -1932,7 +1911,7 @@ static void sub_80D8B38(u8 taskId)
{
ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827E793);
+ StringExpandPlaceholders(gStringVar4, gText_MonCantAppealNextTurn);
Contest_StartTextPrinter(gStringVar4, 1);
}
gTasks[taskId].data[0] = 52;
@@ -1953,11 +1932,11 @@ static void sub_80D8B38(u8 taskId)
{
ContestClearGeneralTextWindow();
if (r3 == 1)
- Contest_StartTextPrinter(gText_0827E32E, TRUE);
+ Contest_StartTextPrinter(gText_AppealComboWentOverWell, TRUE);
else if (r3 == 2)
- Contest_StartTextPrinter(gText_0827E35B, TRUE);
+ Contest_StartTextPrinter(gText_AppealComboWentOverVeryWell, TRUE);
else
- Contest_StartTextPrinter(gText_0827E38D, TRUE);
+ Contest_StartTextPrinter(gText_AppealComboWentOverExcellently, TRUE);
sub_80DD720(3);
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[0] = 45;
@@ -1966,7 +1945,7 @@ static void sub_80D8B38(u8 taskId)
{
ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827E2FE);
+ StringExpandPlaceholders(gStringVar4, gText_JudgeLookedAtMonExpectantly);
Contest_StartTextPrinter(gStringVar4, 1);
sub_80DD720(2);
gTasks[taskId].data[10] = 0;
@@ -2056,7 +2035,7 @@ static void sub_80D8B38(u8 taskId)
}
else
{
- StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[eContestantStatus[r6].currMove].contestCategory]);
+ StringCopy(gStringVar3, sContestConditions[gContestMoves[eContestantStatus[r6].currMove].contestCategory]);
}
if (r3 > 0)
{
@@ -2075,11 +2054,11 @@ static void sub_80D8B38(u8 taskId)
else
{
if (r3 < 0)
- StringExpandPlaceholders(gStringVar4, gText_0827E73C);
+ StringExpandPlaceholders(gStringVar4, gText_MonsXDidntGoOverWell);
else if (r3 > 0 && eContest.applauseLevel <= 4)
- StringExpandPlaceholders(gStringVar4, gText_0827E717);
+ StringExpandPlaceholders(gStringVar4, gText_MonsXWentOverGreat);
else
- StringExpandPlaceholders(gStringVar4, gText_0827E76A);
+ StringExpandPlaceholders(gStringVar4, gText_MonsXGotTheCrowdGoing);
Contest_StartTextPrinter(gStringVar4, 1);
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[11] = 0;
@@ -2189,7 +2168,7 @@ static void sub_80D8B38(u8 taskId)
StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname);
StringCopy(gStringVar1, gContestMons[r6].nickname);
StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
- StringExpandPlaceholders(gStringVar4, gText_0827E7EA);
+ StringExpandPlaceholders(gStringVar4, gText_CrowdContinuesToWatchMon);
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 58;
return;
@@ -2197,7 +2176,7 @@ static void sub_80D8B38(u8 taskId)
if (!Contest_RunTextPrinters())
{
ContestClearGeneralTextWindow();
- StringExpandPlaceholders(gStringVar4, gText_0827E817);
+ StringExpandPlaceholders(gStringVar4, gText_MonsMoveIsIgnored);
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 59;
}
@@ -2215,7 +2194,7 @@ static void sub_80D8B38(u8 taskId)
sub_80DC9B4(r6);
StringCopy(gStringVar1, gContestMons[r6].nickname);
StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
- StringExpandPlaceholders(gStringVar4, gText_0827E58A);
+ StringExpandPlaceholders(gStringVar4, gText_MonWasTooNervousToMove);
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 34;
return;
@@ -2259,7 +2238,7 @@ static void sub_80D8B38(u8 taskId)
case 31:
ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827D56F);
+ StringExpandPlaceholders(gStringVar4, gText_MonWasWatchingOthers);
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0] = 32;
return;
@@ -2427,11 +2406,11 @@ static void sub_80DA3CC(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
- u8 r4 = eContestantStatus[gContestPlayerMonIndex].attentionLevel;
+ u8 attention = eContestantStatus[gContestPlayerMonIndex].attentionLevel;
ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname);
- StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]);
+ StringExpandPlaceholders(gStringVar4, sRoundResultTexts[attention]);
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[0]++;
}
@@ -2509,7 +2488,7 @@ static void sub_80DA5E8(u8 taskId)
gBattle_BG0_Y = 0;
gBattle_BG2_Y = 0;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
gUnknown_02039F10[i] = eContestantStatus[i].pointTotal;
sub_80DBD18();
ContestClearGeneralTextWindow();
@@ -2522,7 +2501,7 @@ static void sub_80DA5E8(u8 taskId)
ContestDebugPrintBitStrings();
}
gContestRngValue = gRngValue;
- StringExpandPlaceholders(gStringVar4, gText_0827D597);
+ StringExpandPlaceholders(gStringVar4, gText_AllOutOfAppealTime);
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_80DA6B4;
@@ -2786,9 +2765,9 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
opponents[opponentsCount++] = i;
}
opponents[opponentsCount] = 0xFF;
- for (i = 0; i < 4 - gNumLinkContestPlayers; i++)
+ for (i = 0; i < CONTESTANT_COUNT - gNumLinkContestPlayers; i++)
{
- u16 rnd = sub_80F903C() % opponentsCount;
+ u16 rnd = GetContestRand() % opponentsCount;
gContestMons[gNumLinkContestPlayers + i] = gContestOpponents[opponents[rnd]];
sub_80DF9D4(gContestMons[gNumLinkContestPlayers + i].trainerName);
@@ -2799,16 +2778,15 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
}
}
-// GetContestAvailability?
-u8 sub_80DAE0C(struct Pokemon *pkmn)
+u8 GetContestEntryEligibility(struct Pokemon *pkmn)
{
u8 ribbon;
- u8 retVal;
+ u8 eligibility;
if (GetMonData(pkmn, MON_DATA_IS_EGG))
- return 3;
+ return CANT_ENTER_CONTEST_EGG;
if (GetMonData(pkmn, MON_DATA_HP) == 0)
- return 4;
+ return CANT_ENTER_CONTEST_FAINTED;
switch (gSpecialVar_ContestCategory)
{
case CONTEST_CATEGORY_COOL:
@@ -2827,19 +2805,19 @@ u8 sub_80DAE0C(struct Pokemon *pkmn)
ribbon = GetMonData(pkmn, MON_DATA_TOUGH_RIBBON);
break;
default:
- return 0;
+ return CANT_ENTER_CONTEST;
}
// Couldn't get this to match any other way.
// Returns 2, 1, or 0 respectively if ribbon's rank is above, equal, or below
// the current contest rank.
if (ribbon > gSpecialVar_ContestRank)
- retVal = 2;
+ eligibility = CAN_ENTER_CONTEST_HIGH_RANK;
else if (ribbon >= gSpecialVar_ContestRank)
- retVal = 1;
+ eligibility = CAN_ENTER_CONTEST_EQUAL_RANK;
else
- retVal = 0;
- return retVal;
+ eligibility = CANT_ENTER_CONTEST;
+ return eligibility;
}
static void DrawContestantWindowText(void)
@@ -2935,7 +2913,7 @@ void sub_80DB09C(u8 contestCategory)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
gContestMonConditions[i] = sub_80DAFE0(i, contestCategory);
}
@@ -3102,7 +3080,7 @@ static void sub_80DB584(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80DB4E0(eContestantStatus[i].currMove, i);
}
@@ -3213,7 +3191,7 @@ static void sub_80DB884(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80DB798(i);
}
@@ -3863,7 +3841,7 @@ static void sub_80DC864(void)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80DC87C(i);
}
@@ -4260,7 +4238,7 @@ static void sub_80DD080(u8 contestant)
eContestResources8.jam2 = eContestResources8.jam;
eContestResources8.contestant = contestant;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
eContestantStatus[i].jam = 0;
eContestResources8.unnervedPokes[i] = 0;
@@ -4382,7 +4360,7 @@ static void sub_80DD45C(u8 contestant, u8 stringId)
StringCopy(gStringVar3, gText_Contest_Hesitancy);
else
StringCopy(gStringVar3, gText_Contest_Fear);
- StringExpandPlaceholders(gStringVar4, gUnknown_08587E10[stringId]);
+ StringExpandPlaceholders(gStringVar4, sAppealResultTexts[stringId]);
ContestClearGeneralTextWindow();
Contest_StartTextPrinter(gStringVar4, 1);
}
@@ -4797,7 +4775,7 @@ static void sub_80DE008(bool8 a)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (eContestantStatus[i].turnOrderMod != 0 && a)
{
@@ -5043,7 +5021,7 @@ static void sub_80DE69C(u8 a)
for (i = 0; i < CONTESTANT_COUNT; i++)
{
gSprites[gContestResources->field_14[i].unk0].oam.matrixNum = AllocOamMatrix();
- gSprites[gContestResources->field_14[i].unk0].oam.affineMode = 1;
+ gSprites[gContestResources->field_14[i].unk0].oam.affineMode = ST_OAM_AFFINE_NORMAL;
StartSpriteAffineAnim(&gSprites[gContestResources->field_14[i].unk0], a);
if (a == 2)
{
@@ -5115,7 +5093,7 @@ static void sub_80DE864(u8 a)
gContestResources->field_18->unk4_0 = 1;
break;
case MOVE_RETURN:
- gAnimFriendship = 0xFF;
+ gAnimFriendship = MAX_FRIENDSHIP;
break;
case MOVE_FRUSTRATION:
gAnimFriendship = 0;
@@ -5303,7 +5281,7 @@ void ResetContestLinkResults(void)
gSaveBlock2Ptr->contestLinkResults[i][j] = 0;
}
-bool8 sub_80DEDA8(u8 a)
+bool8 sub_80DEDA8(u8 rank)
{
s32 i;
u8 r7 = Random() % 3;
@@ -5313,7 +5291,7 @@ bool8 sub_80DEDA8(u8 a)
if (gContestFinalStandings[i] == 0)
break;
}
- if (a == 0xFF && i != gContestPlayerMonIndex)
+ if (rank == 0xFF && i != gContestPlayerMonIndex)
return FALSE;
switch (gSpecialVar_ContestCategory)
{
@@ -5333,9 +5311,9 @@ bool8 sub_80DEDA8(u8 a)
r7 += 12;
break;
}
- if (a != 0xFE)
+ if (rank != 0xFE)
{
- u8 r4 = sub_80DEFA8(a, 1);
+ u8 r4 = sub_80DEFA8(rank, 1);
gSaveBlock1Ptr->contestWinners[r4].personality = gContestMons[i].personality;
gSaveBlock1Ptr->contestWinners[r4].species = gContestMons[i].species;
@@ -5343,44 +5321,44 @@ bool8 sub_80DEDA8(u8 a)
StringCopy(gSaveBlock1Ptr->contestWinners[r4].monName, gContestMons[i].nickname);
StringCopy(gSaveBlock1Ptr->contestWinners[r4].trainerName, gContestMons[i].trainerName);
if(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
- gSaveBlock1Ptr->contestWinners[r4].contestRank = 4;
+ gSaveBlock1Ptr->contestWinners[r4].contestRank = CONTEST_RANK_LINK;
else
gSaveBlock1Ptr->contestWinners[r4].contestRank = gSpecialVar_ContestRank;
- if (a != 0xFF)
+ if (rank != 0xFF)
gSaveBlock1Ptr->contestWinners[r4].contestCategory = gSpecialVar_ContestCategory;
else
gSaveBlock1Ptr->contestWinners[r4].contestCategory = r7;
}
else
{
- gUnknown_02039F3C.personality = gContestMons[i].personality;
- gUnknown_02039F3C.trainerId = gContestMons[i].otId;
- gUnknown_02039F3C.species = gContestMons[i].species;
- StringCopy(gUnknown_02039F3C.monName, gContestMons[i].nickname);
- StringCopy(gUnknown_02039F3C.trainerName, gContestMons[i].trainerName);
- gUnknown_02039F3C.contestCategory = r7;
+ gCurContestWinner.personality = gContestMons[i].personality;
+ gCurContestWinner.trainerId = gContestMons[i].otId;
+ gCurContestWinner.species = gContestMons[i].species;
+ StringCopy(gCurContestWinner.monName, gContestMons[i].nickname);
+ StringCopy(gCurContestWinner.trainerName, gContestMons[i].trainerName);
+ gCurContestWinner.contestCategory = r7;
}
return TRUE;
}
-u8 sub_80DEFA8(u8 a, u8 b)
+u8 sub_80DEFA8(u8 rank, u8 b)
{
s32 i;
- switch (a)
+ switch (rank)
{
- case 0:
- case 1:
- case 2:
- case 3:
+ case CONTEST_RANK_NORMAL:
+ case CONTEST_RANK_SUPER:
+ case CONTEST_RANK_HYPER:
+ case CONTEST_RANK_MASTER:
if (b != 0)
{
for (i = 5; i >= 1; i--)
memcpy(&gSaveBlock1Ptr->contestWinners[i], &gSaveBlock1Ptr->contestWinners[i - 1], sizeof(struct ContestWinner));
}
return 0;
- default:
+ default: // CONTEST_RANK_LINK
switch (gSpecialVar_ContestCategory)
{
case CONTEST_CATEGORY_COOL:
@@ -5435,7 +5413,7 @@ static void sub_80DF080(u8 contestant)
gContestResources->field_1c[contestant].unkC |= 8;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (i != contestant && eContestantStatus[i].jam != 0)
{
@@ -5482,7 +5460,7 @@ static void sub_80DF250(void)
r1 = 0;
var_38 = 0;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (gContestFinalStandings[i] == 0)
var_38 = i;
@@ -5509,7 +5487,7 @@ static void sub_80DF250(void)
r12 = FALSE;
r8 = FALSE;
- for (j = 0; j < 4; j++)
+ for (j = 0; j < CONTESTANT_COUNT; j++)
{
if (gContestMonConditions[i] > gContestMonConditions[j])
r12 = TRUE;
diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c
index a0a29f0ad..8a1fce64b 100644
--- a/src/contest_link_80F57C4.c
+++ b/src/contest_link_80F57C4.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_gfx_sfx_util.h"
#include "bg.h"
@@ -39,6 +39,7 @@
#include "constants/game_stat.h"
#include "constants/rgb.h"
#include "constants/songs.h"
+#include "constants/tv.h"
#include "constants/vars.h"
#include "contest.h"
@@ -88,7 +89,7 @@ extern const struct CompressedSpriteSheet gUnknown_0858D878[];
extern const struct CompressedSpritePalette gUnknown_0858D880[];
extern const struct SpriteSheet gUnknown_0858D8E0;
extern const struct SpriteTemplate gSpriteTemplate_858D8C8;
-extern const u8 gUnknown_0858D8E8[];
+extern const u8 sContestLinkTextColors[];
extern const u8 gUnknown_0858D6D0[];
extern const struct SpriteTemplate gSpriteTemplate_858D7F8;
extern const struct SpriteSheet gUnknown_0858D810[];
@@ -265,7 +266,7 @@ void sub_80F5AE0(void)
{
int i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80F5A74(i);
CopyBgTilemapBufferToVram(1);
@@ -355,17 +356,17 @@ static void sub_80F5CE4(u8 taskId)
InterviewAfter();
}
- sub_813BADC(2);
+ TryGainNewFanFromCounter(2);
sub_80DEDA8(gSpecialVar_ContestRank);
sub_80DEDA8(0xFE);
gUnknown_02039F5C = 1;
gUnknown_02039F5D = sub_80DEFA8(0xFE, 0);
- var = VarGet(VAR_LINK_CONTEST_ROOM_STATE);
- VarSet(VAR_LINK_CONTEST_ROOM_STATE, 0);
+ var = VarGet(VAR_CONTEST_HALL_STATE);
+ VarSet(VAR_CONTEST_HALL_STATE, 0);
SetContinueGameWarpStatusToDynamicWarp();
TrySavingData(SAVE_LINK);
ClearContinueGameWarpStatus2();
- VarSet(VAR_LINK_CONTEST_ROOM_STATE, var);
+ VarSet(VAR_CONTEST_HALL_STATE, var);
gTasks[taskId].data[0]++;
break;
case 1:
@@ -410,7 +411,7 @@ static void sub_80F5CE4(u8 taskId)
sub_80DEDA8(0xFE);
gUnknown_02039F5C = 1;
gUnknown_02039F5D = sub_80DEFA8(0xFE, 0);
- sub_813BADC(2);
+ TryGainNewFanFromCounter(2);
gTasks[taskId].func = sub_80F5F74;
}
}
@@ -576,7 +577,7 @@ static void sub_80F6204(u8 taskId)
}
break;
case 2:
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
newTaskId = CreateTask(sub_80F73DC, 10);
gTasks[newTaskId].data[0] = gContestFinalStandings[i];
@@ -592,7 +593,7 @@ static void sub_80F6204(u8 taskId)
gTasks[taskId].data[1] = 0;
CreateTask(sub_80F74BC, 10);
gTasks[taskId].data[0]++;
- for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++)
+ for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++)
;
sub_80F77E0(i, 14);
@@ -603,7 +604,7 @@ static void sub_80F6204(u8 taskId)
if (++gTasks[taskId].data[1] == 21)
{
gTasks[taskId].data[1] = 0;
- for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++)
+ for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++)
;
StringCopy(gStringVar1, gContestMons[i].trainerName);
@@ -636,7 +637,7 @@ static void sub_80F6404(u8 taskId)
case 0:
gBattle_WIN0H = 0x00F0;
gBattle_WIN0V = 0x5050;
- for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++)
+ for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++)
;
species = gContestMons[i].species;
@@ -732,7 +733,7 @@ static void sub_80F66B4(u8 taskId)
{
if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
nationalDexNum = SpeciesToNationalPokedexNum(gContestMons[i].species);
GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN);
@@ -874,7 +875,7 @@ static void LoadAllContestMonIcons(u8 srcOffset, u8 useDmaNow)
{
int i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
sub_80F69B8(gContestMons[i].species, i, srcOffset, useDmaNow, gContestMons[i].personality);
}
@@ -882,7 +883,7 @@ static void sub_80F6A9C(void)
{
int i, species;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
species = gContestMons[i].species;
LoadPalette(gMonIconPalettes[gMonIconPaletteIndices[GetIconSpecies(species, 0)]], i * 0x10 + 0xA0, 0x20);
@@ -934,7 +935,7 @@ s32 sub_80F6B78(const u8 *text, u8 spriteId)
if (strWidth > 30)
strWidth = 30;
- AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, gUnknown_0858D8E8, -1, text);
+ AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, -1, text);
windowTilesPtr = (u8 *)(GetWindowAttribute(windowId, WINDOW_TILE_DATA));
src = (u8 *)(gUnknown_0858D6D0);
@@ -1028,7 +1029,7 @@ _080F6BD0:\n\
asrs r2, 1\n\
lsls r2, 24\n\
lsrs r2, 24\n\
- ldr r0, =gUnknown_0858D8E8\n\
+ ldr r0, =sContestLinkTextColors\n\
str r0, [sp]\n\
movs r0, 0x1\n\
negs r0, r0\n\
@@ -1423,48 +1424,48 @@ static void sub_80F71C8(void)
CopyToBgTilemapBufferRect(2, gUnknown_08DC6498, 5, 1, 5, 2);
x = 10;
}
- else if (gSpecialVar_ContestRank == 0)
+ else if (gSpecialVar_ContestRank == CONTEST_RANK_NORMAL)
{
CopyToBgTilemapBufferRect(2, gUnknown_08DC63F8, 5, 1, 10, 2);
x = 15;
}
- else if (gSpecialVar_ContestRank == 1)
+ else if (gSpecialVar_ContestRank == CONTEST_RANK_SUPER)
{
CopyToBgTilemapBufferRect(2, gUnknown_08DC6420, 5, 1, 10, 2);
x = 15;
}
- else if (gSpecialVar_ContestRank == 2)
+ else if (gSpecialVar_ContestRank == CONTEST_RANK_HYPER)
{
CopyToBgTilemapBufferRect(2, gUnknown_08DC6448, 5, 1, 10, 2);
x = 15;
}
- else
+ else // CONTEST_RANK_MASTER
{
CopyToBgTilemapBufferRect(2, gUnknown_08DC6470, 5, 1, 10, 2);
x = 15;
}
- if (gSpecialVar_ContestCategory == 0)
+ if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_COOL)
{
palette = 0;
CopyToBgTilemapBufferRect(2, gUnknown_08DC64AC, x, y, 5, 2);
}
- else if (gSpecialVar_ContestCategory == 1)
+ else if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_BEAUTY)
{
palette = 1;
CopyToBgTilemapBufferRect(2, gUnknown_08DC64C0, x, y, 5, 2);
}
- else if (gSpecialVar_ContestCategory == 2)
+ else if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_CUTE)
{
palette = 2;
CopyToBgTilemapBufferRect(2, gUnknown_08DC64D4, x, y, 5, 2);
}
- else if (gSpecialVar_ContestCategory == 3)
+ else if (gSpecialVar_ContestCategory == CONTEST_CATEGORY_SMART)
{
palette = 3;
CopyToBgTilemapBufferRect(2, gUnknown_08DC64E8, x, y, 5, 2);
}
- else
+ else // CONTEST_CATEGORY_TOUGH
{
palette = 4;
CopyToBgTilemapBufferRect(2, gUnknown_08DC64FC, x, y, 5, 2);
@@ -1550,7 +1551,7 @@ static void sub_80F73DC(u8 taskId)
static void sub_80F74BC(u8 taskId)
{
int i;
- for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++)
+ for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++)
;
CopyToBgTilemapBufferRect_ChangePalette(2, i * 0xC0 + 0x100 + gUnknown_0203A034->unkC[2], 0, i * 3 + 4, 32, 3, 9);
@@ -1706,7 +1707,7 @@ static void sub_80F7880(void)
}
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
r4 = (gContestMonConditions[i] * 1000) / abs(r2);
if (r4 % 10 > 4)
@@ -1933,50 +1934,52 @@ static void sub_80F7ED0(int windowId, u8 *str, int arg2)
PutWindowTilemap(windowId);
}
-void sub_80F7F30(void)
+void TryEnterContestMon(void)
{
- u8 result = sub_80DAE0C(&gPlayerParty[gContestMonPartyIndex]);
- if (result)
+ u8 eligibility = GetContestEntryEligibility(&gPlayerParty[gContestMonPartyIndex]);
+
+ // Nonzero eligibility can still be non-eligibile, if mon is fainted or egg
+ if (eligibility)
{
sub_80DAB8C(gSpecialVar_ContestCategory, gSpecialVar_ContestRank);
sub_80DB09C(gSpecialVar_ContestCategory);
}
- gSpecialVar_Result = result;
+ gSpecialVar_Result = eligibility;
}
-u16 sub_80F7F7C(void)
+u16 HasMonWonThisContestBefore(void)
{
- u16 result = 0;
+ u16 hasRankRibbon = FALSE;
struct Pokemon *mon = &gPlayerParty[gContestMonPartyIndex];
switch (gSpecialVar_ContestCategory)
{
case CONTEST_CATEGORY_COOL:
if (GetMonData(mon, MON_DATA_COOL_RIBBON) > gSpecialVar_ContestRank)
- result = 1;
+ hasRankRibbon = TRUE;
break;
case CONTEST_CATEGORY_BEAUTY:
if (GetMonData(mon, MON_DATA_BEAUTY_RIBBON) > gSpecialVar_ContestRank)
- result = 1;
+ hasRankRibbon = TRUE;
break;
case CONTEST_CATEGORY_CUTE:
if (GetMonData(mon, MON_DATA_CUTE_RIBBON) > gSpecialVar_ContestRank)
- result = 1;
+ hasRankRibbon = TRUE;
break;
case CONTEST_CATEGORY_SMART:
if (GetMonData(mon, MON_DATA_SMART_RIBBON) > gSpecialVar_ContestRank)
- result = 1;
+ hasRankRibbon = TRUE;
break;
case CONTEST_CATEGORY_TOUGH:
if (GetMonData(mon, MON_DATA_TOUGH_RIBBON) > gSpecialVar_ContestRank)
- result = 1;
+ hasRankRibbon = TRUE;
break;
}
- return result;
+ return hasRankRibbon;
}
-void sub_80F7FFC(void)
+void GiveMonContestRibbon(void)
{
u8 ribbonData;
@@ -1991,8 +1994,8 @@ void sub_80F7FFC(void)
{
ribbonData++;
SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON, &ribbonData);
- if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4)
- sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON);
+ if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS)
+ TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON);
}
break;
case CONTEST_CATEGORY_BEAUTY:
@@ -2001,8 +2004,8 @@ void sub_80F7FFC(void)
{
ribbonData++;
SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON, &ribbonData);
- if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4)
- sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON);
+ if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS)
+ TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON);
}
break;
case CONTEST_CATEGORY_CUTE:
@@ -2011,8 +2014,8 @@ void sub_80F7FFC(void)
{
ribbonData++;
SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON, &ribbonData);
- if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4)
- sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON);
+ if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS)
+ TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON);
}
break;
case CONTEST_CATEGORY_SMART:
@@ -2021,8 +2024,8 @@ void sub_80F7FFC(void)
{
ribbonData++;
SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON, &ribbonData);
- if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4)
- sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON);
+ if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS)
+ TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON);
}
break;
case CONTEST_CATEGORY_TOUGH:
@@ -2031,95 +2034,96 @@ void sub_80F7FFC(void)
{
ribbonData++;
SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON, &ribbonData);
- if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4)
- sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON);
+ if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS)
+ TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON);
}
break;
}
}
-void sub_80F8264(void)
+void BufferContestantTrainerName(void)
{
StringCopy(gStringVar1, gContestMons[gSpecialVar_0x8006].trainerName);
sub_81DB5AC(gStringVar1);
}
-void sub_80F8290(void)
+void BufferContestantMonNickname(void)
{
StringCopy(gStringVar3, gContestMons[gSpecialVar_0x8006].nickname);
}
-void sub_80F82B4(void)
+// Unused script special
+void GetContestMonConditionRanking(void)
{
- u8 i, count;
+ u8 i, rank;
- for (i = 0, count = 0; i < 4; i++)
+ for (i = 0, rank = 0; i < CONTESTANT_COUNT; i++)
{
if (gContestMonConditions[gSpecialVar_0x8006] < gContestMonConditions[i])
- count++;
+ rank++;
}
- gSpecialVar_0x8004 = count;
+ gSpecialVar_0x8004 = rank;
}
-void sub_80F82FC(void)
+void GetContestMonCondition(void)
{
gSpecialVar_0x8004 = gContestMonConditions[gSpecialVar_0x8006];
}
-void sub_80F831C(void)
+void GetContestWinnerId(void)
{
u8 i;
- for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++)
+ for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++)
;
gSpecialVar_0x8005 = i;
}
-void sub_80F834C(void)
+void BufferContestWinnerTrainerName(void)
{
u8 i;
- for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++)
+ for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++)
;
StringCopy(gStringVar3, gContestMons[i].trainerName);
sub_81DB5AC(gStringVar3);
}
-void sub_80F8390(void)
+void BufferContestWinnerMonName(void)
{
u8 i;
- for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++)
+ for (i = 0; i < CONTESTANT_COUNT && gContestFinalStandings[i] != 0; i++)
;
StringCopy(gStringVar1, gContestMons[i].nickname);
}
-void sub_80F83D0(void)
+void CB2_SetStartContestCallback(void)
{
SetMainCallback2(CB2_StartContest);
}
-static void sub_80F83E0(u8 taskId)
+static void Task_StartContest(u8 taskId)
{
if (!gPaletteFade.active)
{
DestroyTask(taskId);
- SetMainCallback2(sub_80F83D0);
+ SetMainCallback2(CB2_SetStartContestCallback);
}
}
-void sub_80F840C(void)
+void StartContest(void)
{
ScriptContext2_Enable();
- CreateTask(sub_80F83E0, 10);
+ CreateTask(Task_StartContest, 10);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
}
-void sub_80F8438(void)
+void BufferContestantMonSpecies(void)
{
gSpecialVar_0x8004 = gContestMons[gSpecialVar_0x8006].species;
}
@@ -2140,7 +2144,7 @@ void sub_80F8484(void)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
}
-void sub_80F84B0(void)
+void GetContestPlayerId(void)
{
gSpecialVar_0x8004 = gContestPlayerMonIndex;
}
@@ -2246,7 +2250,7 @@ void sub_80F8714(u8 taskId)
}
else
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
StringGetEnd10(gContestMons[i].nickname);
DestroyTask(taskId);
diff --git a/src/contest_painting.c b/src/contest_painting.c
index 1b95e1ed9..7f33cac09 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -1,14 +1,14 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_gfx_sfx_util.h"
#include "bg.h"
#include "contest.h"
#include "contest_painting.h"
-#include "contest_painting_effects.h"
#include "data.h"
#include "decompress.h"
#include "gpu_regs.h"
+#include "image_processing_effects.h"
#include "international_string_util.h"
#include "main.h"
#include "lilycove_lady.h"
@@ -22,9 +22,9 @@
#include "constants/rgb.h"
// IWRAM common
-u16 (*gUnknown_03006190)[][32];
-struct Unk030061A0 gUnknown_030061A0;
-struct ContestWinner *gUnknown_030061C0;
+u16 (*gContestMonPixels)[][32];
+struct ImageProcessingContext gImageProcessingContext;
+struct ContestWinner *gContestPaintingWinner;
u16 *gContestPaintingMonPalette;
// IWRAM bss
@@ -39,10 +39,10 @@ static void HoldContestPainting(void);
static void InitContestPaintingWindow(void);
static void InitContestPaintingBg(void);
static void InitContestPaintingVars(bool8);
-static void sub_8130884(u8, u8);
+static void CreateContestPaintingPicture(u8, u8);
static void PrintContestPaintingCaption(u8, u8);
static void VBlankCB_ContestPainting(void);
-static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]);
+static void _InitContestMonPixels(u8 *spriteGfx, u16 *palette, u16 (*destPixels)[64][64]);
extern const u8 gUnknown_0827EA0C[];
extern const u8 gContestCoolness[];
@@ -85,7 +85,7 @@ const u8 gPictureFrameTilemap_3[] = INCBIN_U8("graphics/picture_frame/frame3_map
const u8 gPictureFrameTilemap_4[] = INCBIN_U8("graphics/picture_frame/frame4_map.bin.rl");
const u8 gPictureFrameTilemap_5[] = INCBIN_U8("graphics/picture_frame/frame5_map.bin.rl");
-const u8 *const gUnknown_085B07C0[] =
+static const u8 *const sContestCategoryNames_Unused[] =
{
gContestCoolness,
gContestBeauty,
@@ -94,7 +94,7 @@ const u8 *const gUnknown_085B07C0[] =
gContestToughness,
};
-const u8 *const gContestRankTextPointers[] =
+static const u8 *const sContestRankNames[] =
{
gContestRankNormal,
gContestRankSuper,
@@ -103,7 +103,7 @@ const u8 *const gContestRankTextPointers[] =
gContestLink,
};
-const struct BgTemplate gUnknown_085B07E8[] =
+static const struct BgTemplate sContestPaintingBgTemplates[] =
{
{
.bg = 1,
@@ -116,7 +116,7 @@ const struct BgTemplate gUnknown_085B07E8[] =
},
};
-const struct WindowTemplate gUnknown_085B07EC =
+static const struct WindowTemplate sContestPaintingWindowTemplate =
{
.bg = 1,
.tilemapLeft = 2,
@@ -127,7 +127,7 @@ const struct WindowTemplate gUnknown_085B07EC =
.baseBlock = 1,
};
-const u8 *const gContestPaintingDescriptionPointers[] =
+static const u8 *const sContestPaintingDescriptionPointers[] =
{
gContestPaintingCool1,
gContestPaintingCool2,
@@ -146,7 +146,7 @@ const u8 *const gContestPaintingDescriptionPointers[] =
gContestPaintingTough3,
};
-const struct OamData gUnknown_085B0830 =
+static const struct OamData sContestPaintingMonOamData =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -163,13 +163,13 @@ const struct OamData gUnknown_085B0830 =
const u16 gUnknown_085B0838[] = {RGB(0, 0, 0), RGB(0, 0, 0)};
-void sub_812FDA8(int contestWinner)
+void SetContestWinnerForPainting(int contestWinnerId)
{
// probably fakematching
u8 *ptr1 = &gUnknown_02039F5D;
u8 *ptr2 = &gUnknown_02039F5C;
- gUnknown_02039F3C = gSaveBlock1Ptr->contestWinners[contestWinner - 1];
- *ptr1 = contestWinner - 1;
+ gCurContestWinner = gSaveBlock1Ptr->contestWinners[contestWinnerId - 1];
+ *ptr1 = contestWinnerId - 1;
*ptr2 = 0;
}
@@ -189,7 +189,7 @@ static void CB2_QuitContestPainting(void)
{
SetMainCallback2(gMain.savedCallback);
FREE_AND_SET_NULL(gContestPaintingMonPalette);
- FREE_AND_SET_NULL(gUnknown_03006190);
+ FREE_AND_SET_NULL(gContestMonPixels);
RemoveWindow(gContestPaintingWindowId);
Free(GetBgTilemapBuffer(1));
FreeMonSpritesGfx();
@@ -203,7 +203,7 @@ static void ShowContestPainting(void)
ScanlineEffect_Stop();
SetVBlankCallback(NULL);
AllocateMonSpritesGfx();
- gUnknown_030061C0 = &gUnknown_02039F3C;
+ gContestPaintingWinner = &gCurContestWinner;
InitContestPaintingVars(1);
InitContestPaintingBg();
gMain.state++;
@@ -221,7 +221,7 @@ static void ShowContestPainting(void)
gMain.state++;
break;
case 3:
- sub_8130884(gUnknown_02039F5D, gUnknown_02039F5C);
+ CreateContestPaintingPicture(gUnknown_02039F5D, gUnknown_02039F5C);
gMain.state++;
break;
case 4:
@@ -269,11 +269,11 @@ static void HoldContestPainting(void)
static void InitContestPaintingWindow(void)
{
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_085B07E8, ARRAY_COUNT(gUnknown_085B07E8));
+ InitBgsFromTemplates(0, sContestPaintingBgTemplates, ARRAY_COUNT(sContestPaintingBgTemplates));
ChangeBgX(1, 0, 0);
ChangeBgY(1, 0, 0);
SetBgTilemapBuffer(1, AllocZeroed(BG_SCREEN_SIZE));
- gContestPaintingWindowId = AddWindow(&gUnknown_085B07EC);
+ gContestPaintingWindowId = AddWindow(&sContestPaintingWindowTemplate);
DeactivateAllTextPrinters();
FillWindowPixelBuffer(gContestPaintingWindowId, PIXEL_FILL(0));
PutWindowTilemap(gContestPaintingWindowId);
@@ -289,21 +289,21 @@ static void PrintContestPaintingCaption(u8 contestType, u8 arg1)
if (arg1 == TRUE)
return;
- category = gUnknown_030061C0->contestCategory;
+ category = gContestPaintingWinner->contestCategory;
if (contestType < 8)
{
BufferContestName(gStringVar1, category);
StringAppend(gStringVar1, gText_Space);
- StringAppend(gStringVar1, gContestRankTextPointers[gUnknown_030061C0->contestRank]);
- StringCopy(gStringVar2, gUnknown_030061C0->trainerName);
+ StringAppend(gStringVar1, sContestRankNames[gContestPaintingWinner->contestRank]);
+ StringCopy(gStringVar2, gContestPaintingWinner->trainerName);
sub_81DB5AC(gStringVar2);
- StringCopy(gStringVar3, gUnknown_030061C0->monName);
+ StringCopy(gStringVar3, gContestPaintingWinner->monName);
StringExpandPlaceholders(gStringVar4, gUnknown_0827EA0C);
}
else
{
- StringCopy(gStringVar1, gUnknown_030061C0->monName);
- StringExpandPlaceholders(gStringVar4, gContestPaintingDescriptionPointers[category]);
+ StringCopy(gStringVar1, gContestPaintingWinner->monName);
+ StringExpandPlaceholders(gStringVar4, sContestPaintingDescriptionPointers[category]);
}
x = GetStringCenterAlignXOffset(1, gStringVar4, 208);
@@ -360,18 +360,18 @@ static void VBlankCB_ContestPainting(void)
TransferPlttBuffer();
}
-void sub_81302E8(u16 species, u8 arg1)
+static void InitContestMonPixels(u16 species, u8 whichSprite)
{
- const void *pal = GetMonSpritePalFromSpeciesAndPersonality(species, gUnknown_030061C0->trainerId, gUnknown_030061C0->personality);
+ const void *pal = GetMonSpritePalFromSpeciesAndPersonality(species, gContestPaintingWinner->trainerId, gContestPaintingWinner->personality);
LZDecompressVram(pal, gContestPaintingMonPalette);
- if (!arg1)
+ if (whichSprite == 0)
{
HandleLoadSpecialPokePic_DontHandleDeoxys(
&gMonFrontPicTable[species],
gMonSpritesGfxPtr->sprites[1],
species,
- gUnknown_030061C0->personality);
- sub_8130380(gMonSpritesGfxPtr->sprites[1], gContestPaintingMonPalette, (void *)gUnknown_03006190);
+ gContestPaintingWinner->personality);
+ _InitContestMonPixels(gMonSpritesGfxPtr->sprites[1], gContestPaintingMonPalette, (void *)gContestMonPixels);
}
else
{
@@ -379,14 +379,14 @@ void sub_81302E8(u16 species, u8 arg1)
&gMonBackPicTable[species],
gMonSpritesGfxPtr->sprites[0],
species,
- gUnknown_030061C0->personality);
- sub_8130380(gMonSpritesGfxPtr->sprites[0], gContestPaintingMonPalette, (void *)gUnknown_03006190);
+ gContestPaintingWinner->personality);
+ _InitContestMonPixels(gMonSpritesGfxPtr->sprites[0], gContestPaintingMonPalette, (void *)gContestMonPixels);
}
}
#ifdef NONMATCHING
// functionally equivalent.
-static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64])
+static void _InitContestMonPixels(u8 *spriteGfx, u16 *palette, u16 (*destPixels)[64][64])
{
u16 tileY, tileX, pixelY, pixelX;
u8 colorIndex;
@@ -400,16 +400,16 @@ static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[6
for (pixelX = 0; pixelX < 8; pixelX++)
{
int offset = 32 * (8 * tileY + tileX) + (pixelY * 4 + pixelX / 2);
- colorIndex = spritePixels[offset];
+ colorIndex = spriteGfx[offset];
if (pixelX & 1)
colorIndex >>= 4;
else
colorIndex &= 0xF;
if (colorIndex == 0) // transparent pixel
- (*destColorBuffer)[8 * tileY + pixelY][tileX * 8 + pixelX] = 0x8000;
+ (*destPixels)[8 * tileY + pixelY][tileX * 8 + pixelX] = 0x8000;
else
- (*destColorBuffer)[8 * tileY + pixelY][tileX * 8 + pixelX] = palette[colorIndex];
+ (*destPixels)[8 * tileY + pixelY][tileX * 8 + pixelX] = palette[colorIndex];
}
}
}
@@ -417,7 +417,7 @@ static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[6
}
#else
NAKED
-static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64])
+static void _InitContestMonPixels(u8 *spriteGfx, u16 *palette, u16 (*destPixels)[64][64])
{
asm_unified("\n\
push {r4-r7,lr}\n\
@@ -519,34 +519,34 @@ _081303F8:\n\
}
#endif
-static void sub_8130430(u8 arg0, u8 arg1)
+static void LoadContestPaintingFrame(u8 contestWinnerId, u8 arg1)
{
u8 x, y;
LoadPalette(gPictureFramePalettes, 0, 0x100);
if (arg1 == 1)
{
- switch (gUnknown_030061C0->contestCategory / 3)
+ switch (gContestPaintingWinner->contestCategory / 3)
{
case CONTEST_CATEGORY_COOL:
RLUnCompVram(gPictureFrameTiles_0, (void *)VRAM);
- RLUnCompWram(gPictureFrameTilemap_0, gUnknown_03006190);
+ RLUnCompWram(gPictureFrameTilemap_0, gContestMonPixels);
break;
case CONTEST_CATEGORY_BEAUTY:
RLUnCompVram(gPictureFrameTiles_1, (void *)VRAM);
- RLUnCompWram(gPictureFrameTilemap_1, gUnknown_03006190);
+ RLUnCompWram(gPictureFrameTilemap_1, gContestMonPixels);
break;
case CONTEST_CATEGORY_CUTE:
RLUnCompVram(gPictureFrameTiles_2, (void *)VRAM);
- RLUnCompWram(gPictureFrameTilemap_2, gUnknown_03006190);
+ RLUnCompWram(gPictureFrameTilemap_2, gContestMonPixels);
break;
case CONTEST_CATEGORY_SMART:
RLUnCompVram(gPictureFrameTiles_3, (void *)VRAM);
- RLUnCompWram(gPictureFrameTilemap_3, gUnknown_03006190);
+ RLUnCompWram(gPictureFrameTilemap_3, gContestMonPixels);
break;
case CONTEST_CATEGORY_TOUGH:
RLUnCompVram(gPictureFrameTiles_4, (void *)VRAM);
- RLUnCompWram(gPictureFrameTilemap_4, gUnknown_03006190);
+ RLUnCompWram(gPictureFrameTilemap_4, gContestMonPixels);
break;
}
@@ -563,23 +563,23 @@ static void sub_8130430(u8 arg0, u8 arg1)
for (y = 0; y < 10; y++)
{
for (x = 0; x < 18; x++)
- VRAM_PICTURE_DATA(x + 6, y + 2) = (*gUnknown_03006190)[y + 2][x + 6];
+ VRAM_PICTURE_DATA(x + 6, y + 2) = (*gContestMonPixels)[y + 2][x + 6];
}
// Re-set the entire top row to the first top frame part
for (x = 0; x < 16; x++)
- VRAM_PICTURE_DATA(x + 7, 2) = (*gUnknown_03006190)[2][7];
+ VRAM_PICTURE_DATA(x + 7, 2) = (*gContestMonPixels)[2][7];
#undef VRAM_PICTURE_DATA
}
- else if (arg0 < 8)
+ else if (contestWinnerId < 8)
{
RLUnCompVram(gPictureFrameTiles_5, (void *)VRAM);
RLUnCompVram(gPictureFrameTilemap_5, (void *)(BG_SCREEN_ADDR(12)));
}
else
{
- switch (gUnknown_030061C0->contestCategory / 3)
+ switch (gContestPaintingWinner->contestCategory / 3)
{
case CONTEST_CATEGORY_COOL:
RLUnCompVram(gPictureFrameTiles_0, (void *)VRAM);
@@ -605,100 +605,99 @@ static void sub_8130430(u8 arg0, u8 arg1)
}
}
-static void sub_8130688(u8 arg0)
+static void InitPaintingMonOamData(u8 contestWinnerId)
{
//Some hacks just to get the asm to match
#ifndef NONMATCHING
- asm(""::"r"(arg0));
+ asm(""::"r"(contestWinnerId));
#endif
- gMain.oamBuffer[0] = gUnknown_085B0830;
+ gMain.oamBuffer[0] = sContestPaintingMonOamData;
gMain.oamBuffer[0].tileNum = 0;
#ifndef NONMATCHING
- if (arg0) arg0 = gMain.oamBuffer[0].tileNum;
+ if (contestWinnerId) contestWinnerId = gMain.oamBuffer[0].tileNum;
#endif
gMain.oamBuffer[0].x = 88;
gMain.oamBuffer[0].y = 24;
}
-static u8 sub_81306CC(u8 arg0)
+static u8 GetImageEffectForContestWinner(u8 contestWinnerId)
{
u8 contestCategory;
- if (arg0 < 8)
- contestCategory = gUnknown_030061C0->contestCategory;
+ if (contestWinnerId < 8)
+ contestCategory = gContestPaintingWinner->contestCategory;
else
- contestCategory = gUnknown_030061C0->contestCategory / 3;
+ contestCategory = gContestPaintingWinner->contestCategory / 3;
switch (contestCategory)
{
case CONTEST_CATEGORY_COOL:
- return CONTESTRESULT_COOL;
+ return IMAGE_EFFECT_OUTLINE_COLORED;
case CONTEST_CATEGORY_BEAUTY:
- return CONTESTRESULT_BEAUTY;
+ return IMAGE_EFFECT_SHIMMER;
case CONTEST_CATEGORY_CUTE:
- return CONTESTRESULT_CUTE;
+ return IMAGE_EFFECT_POINTILLISM;
case CONTEST_CATEGORY_SMART:
- return CONTESTRESULT_SMART;
+ return IMAGE_EFFECT_CHARCOAL;
case CONTEST_CATEGORY_TOUGH:
- return CONTESTRESULT_TOUGH;
+ return IMAGE_EFFECT_GRAYSCALE_LIGHT;
}
return contestCategory;
}
-static void sub_8130738(void)
+static void AllocPaintingResources(void)
{
- gContestPaintingMonPalette = AllocZeroed(0x200);
- gUnknown_03006190 = AllocZeroed(0x2000);
+ gContestPaintingMonPalette = AllocZeroed(OBJ_PLTT_SIZE);
+ gContestMonPixels = AllocZeroed(0x2000);
}
-static void sub_8130760(u8 contestResult)
+static void DoContestPaintingImageProcessing(u8 imageEffect)
{
- gUnknown_030061A0.var_4 = gUnknown_03006190;
- gUnknown_030061A0.var_8 = gContestPaintingMonPalette;
- gUnknown_030061A0.var_18 = 0;
- gUnknown_030061A0.var_1F = gUnknown_030061C0->personality % 256;
- gUnknown_030061A0.var_19 = 0;
- gUnknown_030061A0.var_1A = 0;
- gUnknown_030061A0.var_1B = 64;
- gUnknown_030061A0.var_1C = 64;
- gUnknown_030061A0.var_1D = 64;
- gUnknown_030061A0.var_1E = 64;
-
- switch (contestResult)
+ gImageProcessingContext.canvasPixels = gContestMonPixels;
+ gImageProcessingContext.canvasPalette = gContestPaintingMonPalette;
+ gImageProcessingContext.paletteStart = 0;
+ gImageProcessingContext.personality = gContestPaintingWinner->personality % 256;
+ gImageProcessingContext.columnStart = 0;
+ gImageProcessingContext.rowStart = 0;
+ gImageProcessingContext.columnEnd = 64;
+ gImageProcessingContext.rowEnd = 64;
+ gImageProcessingContext.canvasWidth = 64;
+ gImageProcessingContext.canvasHeight = 64;
+
+ switch (imageEffect)
{
- case CONTESTRESULT_SMART:
- case CONTESTRESULT_TOUGH:
- gUnknown_030061A0.var_14 = 3;
+ case IMAGE_EFFECT_CHARCOAL:
+ case IMAGE_EFFECT_GRAYSCALE_LIGHT:
+ gImageProcessingContext.quantizeEffect = QUANTIZE_EFFECT_GRAYSCALE;
break;
- case CONTESTRESULT_COOL:
- case CONTESTRESULT_BEAUTY:
- case CONTESTRESULT_CUTE:
+ case IMAGE_EFFECT_OUTLINE_COLORED:
+ case IMAGE_EFFECT_SHIMMER:
+ case IMAGE_EFFECT_POINTILLISM:
default:
- gUnknown_030061A0.var_14 = 1;
+ gImageProcessingContext.quantizeEffect = QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS;
break;
}
- gUnknown_030061A0.var_16 = 2;
- gUnknown_030061A0.var_0 = contestResult;
- gUnknown_030061A0.var_10 = OBJ_VRAM0;
-
- sub_8124F2C(&gUnknown_030061A0);
- sub_81261A4(&gUnknown_030061A0);
- sub_8126058(&gUnknown_030061A0);
+ gImageProcessingContext.var_16 = 2;
+ gImageProcessingContext.effect = imageEffect;
+ gImageProcessingContext.dest = (void *)OBJ_VRAM0;
+ ApplyImageProcessingEffects(&gImageProcessingContext);
+ ApplyImageProcessingQuantization(&gImageProcessingContext);
+ ConvertImageProcessingToGBA(&gImageProcessingContext);
LoadPalette(gContestPaintingMonPalette, 0x100, 0x200);
}
-static void sub_8130884(u8 arg0, u8 arg1)
+static void CreateContestPaintingPicture(u8 contestWinnerId, u8 arg1)
{
- sub_8130738();
- sub_81302E8(gUnknown_030061C0->species, 0);
- sub_8130760(sub_81306CC(arg0));
- sub_8130688(arg0);
- sub_8130430(arg0, arg1);
+ AllocPaintingResources();
+ InitContestMonPixels(gContestPaintingWinner->species, 0);
+ DoContestPaintingImageProcessing(GetImageEffectForContestWinner(contestWinnerId));
+ InitPaintingMonOamData(contestWinnerId);
+ LoadContestPaintingFrame(contestWinnerId, arg1);
}
diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c
deleted file mode 100644
index a791df65c..000000000
--- a/src/contest_painting_effects.c
+++ /dev/null
@@ -1,1365 +0,0 @@
-#include "global.h"
-#include "contest_painting_effects.h"
-#include "contest_painting.h"
-#include "constants/rgb.h"
-
-struct Unk8125954
-{
- u8 unk0;
- u8 unk1;
- u16 unk2;
-};
-
-// IWRAM common
-u8 gUnknown_03006164;
-u16 (*gUnknown_03006168)[][32];
-u8 gUnknown_0300616C;
-u8 gUnknown_03006170;
-u8 gUnknown_03006174;
-u8 gUnknown_03006178;
-u8 gUnknown_0300617C;
-u8 gUnknown_03006180;
-u16 *gUnknown_03006184;
-u16 gUnknown_03006188;
-
-static void sub_8125230(void);
-static void sub_81252E8(void);
-static void sub_81254E0(void);
-static void sub_8125630(void);
-static void sub_8125448(void);
-static void sub_81257F8(void);
-static void sub_81258A0(void);
-static void sub_81256C8(void);
-static void sub_8125250(void);
-static void sub_81253A4(u8);
-static void sub_81250B8(u8);
-static void sub_8125170(u8);
-static void sub_8125954(u16);
-static u16 ConvertColorToGrayscale(u16*);
-static u16 sub_8125E18(u16*, u16*, u16*);
-static u16 ConvertCoolColor(u16*, u8);
-static u16 ConvertToBlackOrWhite(u16*);
-static u16 sub_8125C98(u16*, u16*);
-static u16 InvertColor(u16*);
-static u16 sub_8125F38(u16*, u16*, u16*);
-static u16 sub_8125CF4(u16*, u16*);
-static u16 GetCoolColorFromPersonality(u8);
-static void sub_81263A4(bool8);
-static void sub_8126270(void);
-static void sub_8126714(void);
-static void sub_8126370(void);
-static void sub_8126664(void);
-static void sub_8126334(void);
-static void sub_81265B4(void);
-static void sub_8126318(void);
-static void sub_81264FC(void);
-static u16 sub_81267C4(u16*);
-static u16 sub_8126908(u16*);
-static u16 sub_812693C(u16*);
-static u16 sub_8126838(u16*);
-
-extern const u8 gUnknown_085A1F94[][3];
-
-void sub_8124F2C(struct Unk030061A0 *info)
-{
- gUnknown_03006168 = info->var_4;
- gUnknown_0300617C = info->var_1F;
- gUnknown_03006164 = info->var_19;
- gUnknown_03006178 = info->var_1A;
- gUnknown_03006174 = info->var_1B;
- gUnknown_0300616C = info->var_1C;
- gUnknown_03006180 = info->var_1D;
- gUnknown_03006170 = info->var_1E;
- switch (info->var_0)
- {
- case 2:
- sub_8125230();
- break;
- case 8:
- sub_81252E8();
- break;
- case 9:
- sub_81254E0();
- sub_81253A4(gUnknown_0300617C);
- break;
- case 10:
- sub_81254E0();
- sub_8125630();
- sub_8125448();
- case 31:
- sub_8125630();
- break;
- case 11:
- sub_81254E0();
- sub_81257F8();
- sub_81257F8();
- sub_81258A0();
- sub_8125448();
- break;
- case 13:
- sub_81256C8();
- break;
- case 30:
- sub_81254E0();
- break;
- case 32:
- sub_81257F8();
- break;
- case 33:
- sub_81258A0();
- break;
- case 6:
- sub_8125250();
- sub_81250B8(3);
- break;
- case 36:
- sub_81254E0();
- sub_81257F8();
- sub_81258A0();
- sub_8125448();
- sub_81252E8();
- sub_81252E8();
- sub_81250B8(2);
- sub_8125170(4);
- break;
- }
-}
-
-static void sub_81250B8(u8 a0) // it changes palette someway somehow... .__.
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* pal = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, pal++)
- {
- if (!(0x8000 & *pal))
- {
- u8 val = (31 & *pal);
- val += a0;
- if (val > 31)
- val = 31;
-
- *pal = RGB2(val, val, val);
- }
- }
- }
-}
-
-static void sub_8125170(u8 a0)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* pal = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, pal++)
- {
- if (!(0x8000 & *pal))
- {
- u8 val = (31 & *pal);
- if (val > 31 - a0)
- val = 31 - (a0 >> 1);
-
- *pal = RGB2(val, val, val);
- }
- }
- }
-}
-
-static void sub_8125230(void)
-{
- u32 i;
- for (i = 0; i < 3200; i++)
- sub_8125954(i);
-}
-
-static void sub_8125250(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* color = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, color++)
- {
- if (!(0x8000 & *color))
- {
- *color = ConvertColorToGrayscale(color);
- }
- }
- }
-}
-
-static void sub_81252E8(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_03006174; i++)
- {
- u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180];
- u16* palette = &var0[gUnknown_03006164 + i];
- u16 color = *palette;
-
- j = 1;
- palette += gUnknown_03006180;
- while (j < gUnknown_0300616C - 1)
- {
- if (!(0x8000 & *palette))
- {
- *palette = sub_8125E18(&color, palette, palette + gUnknown_03006180);
- color = *palette;
- }
-
- j++;
- palette += gUnknown_03006180;
- }
- }
-}
-
-static void sub_81253A4(u8 arg0)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* color = &var0[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, color++)
- {
- if (!(0x8000 & *color))
- {
- *color = ConvertCoolColor(color, arg0);
- }
- }
- }
-}
-
-static void sub_8125448(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* color = &var0[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, color++)
- {
- if (!(0x8000 & *color))
- {
- *color = ConvertToBlackOrWhite(color);
- }
- }
- }
-}
-
-static void sub_81254E0(void)
-{
- u8 i, j;
- u16 *palette;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- palette = &var0[gUnknown_03006164];
- *palette = sub_8125C98(palette, palette + 1);
- for (j = 1, palette = palette + 1; j < gUnknown_03006174 - 1; j++, palette++)
- {
- *palette = sub_8125C98(palette, palette + 1);
- *palette = sub_8125C98(palette, palette - 1);
- }
-
- *palette = sub_8125C98(palette, palette - 1);
- }
-
- for (j = 0; j < gUnknown_03006174; j++)
- {
- u16 *var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180];
- palette = &var0[gUnknown_03006164 + j];
- *palette = sub_8125C98(palette, palette + gUnknown_03006180);
- for (i = 1, palette = palette + gUnknown_03006180; i < gUnknown_0300616C - 1; i++, palette += gUnknown_03006180)
- {
- *palette = sub_8125C98(palette, palette + gUnknown_03006180);
- *palette = sub_8125C98(palette, palette - gUnknown_03006180);
- }
-
- *palette = sub_8125C98(palette, palette - gUnknown_03006180);
- }
-}
-
-static void sub_8125630(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16 *color = &var0[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, color++)
- {
- if (!(0x8000 & *color))
- {
- *color = InvertColor(color);
- }
- }
- }
-}
-
-static void sub_81256C8(void)
-{
- u8 i, j;
- u16 *palette;
- u16 color;
-
- palette = (*gUnknown_03006168)[0];
- for (i = 0; i < 64; i++)
- {
- for (j = 0; j < 64; j++, palette++)
- {
- if (!(0x8000 & *palette))
- {
- *palette = InvertColor(palette);
- }
- }
- }
-
- for (j = 0; j < 64; j++)
- {
- palette = &(*gUnknown_03006168)[0][j];
- color = *palette;
- *palette = 0x8000;
- for (i = 1, palette += 64; i < 63; i++, palette += 64)
- {
- if (!(0x8000 & *palette))
- {
- *palette = sub_8125F38(&color, palette, palette + 64);
- color = *palette;
- }
- }
-
- *palette = 0x8000;
- palette = &(*gUnknown_03006168)[0][j];
- color = *palette;
- *palette = 0x8000;
- for (i = 1, palette += 64; i < 63; i++, palette += 64)
- {
- if (!(0x8000 & *palette))
- {
- *palette = sub_8125F38(&color, palette, palette + 64);
- color = *palette;
- }
- }
-
- *palette = 0x8000;
- }
-
- palette = (*gUnknown_03006168)[0];
- for (i = 0; i < 64; i++)
- {
- for (j = 0; j < 64; j++, palette++)
- {
- if (!(0x8000 & *palette))
- {
- *palette = InvertColor(palette);
- }
- }
- }
-}
-
-static void sub_81257F8(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16 *palette = &var0[gUnknown_03006164];
- u16 color = *palette;
- for (j = 1, palette++; j < gUnknown_03006174 - 1; j++, palette++)
- {
- if (!(0x8000 & *palette))
- {
- *palette = sub_8125CF4(&color, palette);
- color = *palette;
- }
- }
- }
-}
-
-static void sub_81258A0(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_03006174; i++)
- {
- u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180];
- u16* palette = &var0[gUnknown_03006164 + i];
- u16 color = *palette;
- for (j = 1, palette += gUnknown_03006180; j < gUnknown_0300616C - 1; j++, palette += gUnknown_03006180)
- {
- if (!(0x8000 & *palette))
- {
- *palette = sub_8125CF4(&color, palette);
- color = *palette;
- }
- }
- }
-}
-
-static void sub_8125954(u16 arg0)
-{
- u8 i;
- u8 r5, r9;
- struct Unk8125954 unkStruct[6];
-
- unkStruct[0].unk0 = gUnknown_085A1F94[arg0][0];
- unkStruct[0].unk1 = gUnknown_085A1F94[arg0][1];
- unkStruct[0].unk2 = (gUnknown_085A1F94[arg0][2] >> 3) & 7;
-
- r9 = (gUnknown_085A1F94[arg0][2] >> 1) & 3;
- r5 = gUnknown_085A1F94[arg0][2] & 1;
- for (i = 1; i < unkStruct[0].unk2; i++)
- {
- if (!r5)
- {
- unkStruct[i].unk0 = unkStruct[0].unk0 - i;
- unkStruct[i].unk1 = unkStruct[0].unk1 + i;
- }
- else
- {
- unkStruct[i].unk0 = unkStruct[0].unk0 + 1;
- unkStruct[i].unk1 = unkStruct[0].unk1 - 1;
- }
-
- if (unkStruct[i].unk0 > 63 || unkStruct[i].unk1 > 63)
- {
- unkStruct[0].unk2 = i - 1;
- break;
- }
-
- unkStruct[i].unk2 = unkStruct[0].unk2 - i;
- }
-
- for (i = 0; i < unkStruct[0].unk2; i++)
- {
- u16 *pal = &(*gUnknown_03006168)[unkStruct[i].unk1 * 2][unkStruct[i].unk0];
-
- if (!(0x8000 & *pal))
- {
- u16 r = (*pal) & 0x1F;
- u16 g = (*pal >> 5) & 0x1F;
- u16 b = (*pal >> 10) & 0x1F;
-
- switch (r9)
- {
- case 0:
- case 1:
- switch (((gUnknown_085A1F94[arg0][2] >> 3) & 7) % 3)
- {
- case 0:
- if (r >= unkStruct[i].unk2)
- r -= unkStruct[i].unk2;
- else
- r = 0;
- break;
- case 1:
- if (g >= unkStruct[i].unk2)
- g -= unkStruct[i].unk2;
- else
- g = 0;
- break;
- case 2:
- if (b >= unkStruct[i].unk2)
- b -= unkStruct[i].unk2;
- else
- b = 0;
- break;
- }
- break;
- case 2:
- case 3:
- r += unkStruct[i].unk2;
- g += unkStruct[i].unk2;
- b += unkStruct[i].unk2;
- if (r > 31)
- r = 31;
- if (g > 31)
- g = 31;
- if (b > 31)
- b = 31;
- break;
- }
-
- *pal = RGB2(r, g, b);
- }
- }
-}
-
-static u16 ConvertColorToGrayscale(u16 *color)
-{
- s32 clr = *color;
- s32 r = clr & 0x1F;
- s32 g = (clr >> 5) & 0x1F;
- s32 b = (clr >> 10) & 0x1F;
- s32 gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
- return RGB2(gray, gray, gray);
-}
-
-// The dark colors are the colored edges of the Cool painting effect.
-// Everything else is white.
-static u16 ConvertCoolColor(u16 *color, u8 personality)
-{
- u16 red = *color & 0x1F;
- u16 green = (*color >> 5) & 0x1F;
- u16 blue = (*color >> 10) & 0x1F;
-
- if (red < 17 && green < 17 && blue < 17)
- return GetCoolColorFromPersonality(personality);
- else
- return RGB_WHITE;
-}
-
-// Based on the given value, which comes from the first 8 bits of
-// the mon's personality value, return a color.
-static u16 GetCoolColorFromPersonality(u8 personality)
-{
- u16 red = 0;
- u16 green = 0;
- u16 blue = 0;
- u8 strength = (personality / 6) % 3;
- u8 colorType = personality % 6;
-
- switch (colorType)
- {
- case 0:
- // Teal color
- green = 21 - strength;
- blue = green;
- red = 0;
- break;
- case 1:
- // Yellow color
- blue = 0;
- red = 21 - strength;
- green = red;
- break;
- case 2:
- // Purple color
- blue = 21 - strength;
- green = 0;
- red = blue;
- break;
- case 3:
- // Red color
- blue = 0;
- green = 0;
- red = 23 - strength;
- break;
- case 4:
- // Blue color
- blue = 23 - strength;
- green = 0;
- red = 0;
- break;
- case 5:
- // Green color
- blue = 0;
- green = 23 - strength;
- red = 0;
- break;
- }
-
- return RGB2(red, green, blue);
-}
-
-static u16 ConvertToBlackOrWhite(u16 *color)
-{
- u16 red = *color & 0x1F;
- u16 green = (*color >> 5) & 0x1F;
- u16 blue = (*color >> 10) & 0x1F;
-
- if (red < 17 && green < 17 && blue < 17)
- return RGB_BLACK;
- else
- return RGB_WHITE;
-}
-
-static u16 sub_8125C98(u16 *colorA, u16 *colorB)
-{
- if (*colorA)
- {
- if (*colorA & 0x8000)
- return 0x8000;
- if (*colorB & 0x8000)
- return RGB_BLACK;
-
- return *colorA;
- }
-
- return RGB_BLACK;
-}
-
-static u16 InvertColor(u16 *color)
-{
- u16 red = *color & 0x1F;
- u16 green = (*color >> 5) & 0x1F;
- u16 blue = (*color >> 10) & 0x1F;
-
- red = 31 - red;
- green = 31 - green;
- blue = 31 - blue;
-
- return RGB2(red, green, blue);
-}
-
-static u16 sub_8125CF4(u16 *a0, u16 *a1)
-{
- u16 sp0[2][3];
- u16 spC[3];
- u8 r4;
- u16 r2;
- u16 r, g, b;
-
- if (*a0 == *a1)
- return *a1;
-
- sp0[0][0] = (*a0 >> 0) & 0x1F;
- sp0[0][1] = (*a0 >> 5) & 0x1F;
- sp0[0][2] = (*a0 >> 10) & 0x1F;
- sp0[1][0] = (*a1 >> 0) & 0x1F;
- sp0[1][1] = (*a1 >> 5) & 0x1F;
- sp0[1][2] = (*a1 >> 10) & 0x1F;
-
- if (sp0[0][0] > 25 && sp0[0][1] > 25 && sp0[0][2] > 25)
- return *a1;
- if (sp0[1][0] > 25 && sp0[1][1] > 25 && sp0[1][2] > 25)
- return *a1;
-
- for (r4 = 0; r4 < 3; r4++)
- {
- if (sp0[0][r4] > sp0[1][r4])
- spC[r4] = sp0[0][r4] - sp0[1][r4];
- else
- spC[r4] = sp0[1][r4] - sp0[0][r4];
- }
-
- if (spC[0] >= spC[1])
- {
- if (spC[0] >= spC[2])
- r2 = spC[0];
- else if (spC[1] >= spC[2])
- r2 = spC[1];
- else
- r2 = spC[2];
- }
- else
- {
- if (spC[1] >= spC[2])
- r2 = spC[1];
- else if (spC[2] >= spC[0])
- r2 = spC[2];
- else
- r2 = spC[0];
- }
-
- r = (sp0[1][0] * (31 - r2 / 2)) / 31;
- g = (sp0[1][1] * (31 - r2 / 2)) / 31;
- b = (sp0[1][2] * (31 - r2 / 2)) / 31;
- return RGB2(r, g, b);
-}
-
-static u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2)
-{
- u16 red, green, blue;
- u16 avg0, avg1, avg2;
- u16 diff1, diff2;
- u32 minimum;
- u16 factor;
-
- if (*a0 == *a1 && *a2 == *a1)
- return *a1;
-
- red = (*a1 >> 0) & 0x1F;
- green = (*a1 >> 5) & 0x1F;
- blue = (*a1 >> 10) & 0x1F;
-
- avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3;
- avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3;
- avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3;
-
- if (avg0 == avg1 && avg2 == avg1)
- return *a1;
-
- if (avg0 > avg1)
- diff1 = avg0 - avg1;
- else
- diff1 = avg1 - avg0;
-
- if (avg2 > avg1)
- diff2 = avg2 - avg1;
- else
- diff2 = avg1 - avg2;
-
- if (diff1 >= diff2)
- minimum = diff1;
- else
- minimum = diff2;
-
- factor = 31 - minimum / 2;
- red = red * factor / 31;
- green = green * factor / 31;
- blue = blue * factor / 31;
- return RGB2(red, green, blue);
-}
-
-static u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2)
-{
- u16 red, green, blue;
- u16 avg0, avg1, avg2;
- u16 diff1, diff2;
- u32 minimum;
- u16 factor;
-
- if (*a0 == *a1 && *a2 == *a1)
- return *a1;
-
- red = (*a1 >> 0) & 0x1F;
- green = (*a1 >> 5) & 0x1F;
- blue = (*a1 >> 10) & 0x1F;
-
- avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3;
- avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3;
- avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3;
-
- if (avg0 == avg1 && avg2 == avg1)
- return *a1;
-
- if (avg0 > avg1)
- diff1 = avg0 - avg1;
- else
- diff1 = avg1 - avg0;
-
- if (avg2 > avg1)
- diff2 = avg2 - avg1;
- else
- diff2 = avg1 - avg2;
-
- if (diff1 >= diff2)
- minimum = diff1;
- else
- minimum = diff2;
-
- factor = 31 - minimum;
- red = red * factor / 31;
- green = green * factor / 31;
- blue = blue * factor / 31;
- return RGB2(red, green, blue);
-}
-
-/*
-void sub_8126058(struct Unk030061A0 *arg0)
-{
- u16 i, j, k;
- u8 r5 = arg0->var_1D >> 3;
- u8 var_24 = arg0->var_1E >> 3;
- u16 (*var_2C)[][32] = arg0->var_4;
- u32 var_28 = arg0->var_10;
-
- if (arg0->var_16 == 2)
- {
- for (i = 0; i < var_24; i++)
- {
- for (j = 0; j < r5; j++)
- {
- for (k = 0; k < 8; k++)
- {
- (*var_2C)[][];
- }
- }
- }
- }
-}
-*/
-
-NAKED
-void sub_8126058(struct Unk030061A0 *arg0)
-{
- asm_unified("\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0xC\n\
- ldrb r1, [r0, 0x1D]\n\
- lsrs r5, r1, 3\n\
- ldrb r1, [r0, 0x1E]\n\
- lsrs r1, 3\n\
- str r1, [sp, 0x8]\n\
- ldr r1, [r0, 0x4]\n\
- str r1, [sp]\n\
- ldr r2, [r0, 0x10]\n\
- str r2, [sp, 0x4]\n\
- ldrh r0, [r0, 0x16]\n\
- cmp r0, 0x2\n\
- bne _08126108\n\
- movs r1, 0\n\
- ldr r0, [sp, 0x8]\n\
- cmp r1, r0\n\
- bcc _08126086\n\
- b _08126194\n\
-_08126086:\n\
- movs r0, 0\n\
- adds r2, r1, 0x1\n\
- mov r10, r2\n\
- cmp r0, r5\n\
- bcs _081260FA\n\
- adds r2, r1, 0\n\
- muls r2, r5\n\
- mov r9, r2\n\
- lsls r1, 3\n\
- mov r8, r1\n\
-_0812609A:\n\
- movs r4, 0\n\
- lsls r6, r0, 4\n\
- adds r7, r0, 0x1\n\
- add r0, r9\n\
- lsls r0, 6\n\
- ldr r1, [sp, 0x4]\n\
- adds r1, r0\n\
- mov r12, r1\n\
-_081260AA:\n\
- lsls r0, r4, 3\n\
- mov r2, r12\n\
- adds r3, r2, r0\n\
- mov r1, r8\n\
- adds r0, r1, r4\n\
- lsls r0, 3\n\
- muls r0, r5\n\
- lsls r0, 1\n\
- ldr r2, [sp]\n\
- adds r0, r2, r0\n\
- adds r2, r0, r6\n\
- ldrh r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- ldrh r1, [r2]\n\
- orrs r0, r1\n\
- strh r0, [r3]\n\
- ldrh r0, [r2, 0x6]\n\
- lsls r0, 8\n\
- ldrh r1, [r2, 0x4]\n\
- orrs r0, r1\n\
- strh r0, [r3, 0x2]\n\
- ldrh r0, [r2, 0xA]\n\
- lsls r0, 8\n\
- ldrh r1, [r2, 0x8]\n\
- orrs r0, r1\n\
- strh r0, [r3, 0x4]\n\
- ldrh r0, [r2, 0xE]\n\
- lsls r0, 8\n\
- ldrh r1, [r2, 0xC]\n\
- orrs r0, r1\n\
- strh r0, [r3, 0x6]\n\
- adds r0, r4, 0x1\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- cmp r4, 0x7\n\
- bls _081260AA\n\
- lsls r0, r7, 16\n\
- lsrs r0, 16\n\
- cmp r0, r5\n\
- bcc _0812609A\n\
-_081260FA:\n\
- mov r1, r10\n\
- lsls r0, r1, 16\n\
- lsrs r1, r0, 16\n\
- ldr r2, [sp, 0x8]\n\
- cmp r1, r2\n\
- bcc _08126086\n\
- b _08126194\n\
-_08126108:\n\
- movs r1, 0\n\
- ldr r0, [sp, 0x8]\n\
- cmp r1, r0\n\
- bcs _08126194\n\
-_08126110:\n\
- movs r0, 0\n\
- adds r2, r1, 0x1\n\
- mov r10, r2\n\
- cmp r0, r5\n\
- bcs _08126188\n\
- adds r2, r1, 0\n\
- muls r2, r5\n\
- mov r9, r2\n\
- lsls r1, 3\n\
- mov r8, r1\n\
-_08126124:\n\
- movs r4, 0\n\
- lsls r6, r0, 4\n\
- adds r7, r0, 0x1\n\
- add r0, r9\n\
- lsls r0, 5\n\
- ldr r1, [sp, 0x4]\n\
- adds r1, r0\n\
- mov r12, r1\n\
-_08126134:\n\
- lsls r0, r4, 2\n\
- mov r2, r12\n\
- adds r3, r2, r0\n\
- mov r1, r8\n\
- adds r0, r1, r4\n\
- lsls r0, 3\n\
- muls r0, r5\n\
- lsls r0, 1\n\
- ldr r2, [sp]\n\
- adds r0, r2, r0\n\
- adds r2, r0, r6\n\
- ldrh r1, [r2, 0x2]\n\
- lsls r1, 4\n\
- ldrh r0, [r2]\n\
- orrs r1, r0\n\
- ldrh r0, [r2, 0x4]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrh r0, [r2, 0x6]\n\
- lsls r0, 12\n\
- orrs r1, r0\n\
- strh r1, [r3]\n\
- ldrh r1, [r2, 0xA]\n\
- lsls r1, 4\n\
- ldrh r0, [r2, 0x8]\n\
- orrs r1, r0\n\
- ldrh r0, [r2, 0xC]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrh r0, [r2, 0xE]\n\
- lsls r0, 12\n\
- orrs r1, r0\n\
- strh r1, [r3, 0x2]\n\
- adds r0, r4, 0x1\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- cmp r4, 0x7\n\
- bls _08126134\n\
- lsls r0, r7, 16\n\
- lsrs r0, 16\n\
- cmp r0, r5\n\
- bcc _08126124\n\
-_08126188:\n\
- mov r1, r10\n\
- lsls r0, r1, 16\n\
- lsrs r1, r0, 16\n\
- ldr r2, [sp, 0x8]\n\
- cmp r1, r2\n\
- bcc _08126110\n\
-_08126194:\n\
- add sp, 0xC\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0");
-}
-
-void sub_81261A4(struct Unk030061A0 *arg0)
-{
- gUnknown_03006188 = arg0->var_18 * 16;
- gUnknown_03006184 = &arg0->var_8[gUnknown_03006188];
- gUnknown_03006168 = arg0->var_4;
- gUnknown_03006164 = arg0->var_19;
- gUnknown_03006178 = arg0->var_1A;
- gUnknown_03006174 = arg0->var_1B;
- gUnknown_0300616C = arg0->var_1C;
- gUnknown_03006180 = arg0->var_1D;
- gUnknown_03006170 = arg0->var_1E;
-
- switch (arg0->var_14)
- {
- case 0:
- sub_81263A4(FALSE);
- break;
- case 1:
- sub_81263A4(TRUE);
- break;
- case 2:
- sub_8126270();
- sub_8126714();
- break;
- case 3:
- sub_8126370();
- sub_8126664();
- break;
- case 4:
- sub_8126334();
- sub_81265B4();
- break;
- case 5:
- sub_8126318();
- sub_81264FC();
- break;
- }
-}
-
-static void sub_8126270(void)
-{
- gUnknown_03006184[0] = RGB2(0, 0, 0);
- gUnknown_03006184[1] = RGB2(6, 6, 6);
- gUnknown_03006184[2] = RGB2(29, 29, 29);
- gUnknown_03006184[3] = RGB2(11, 11, 11);
- gUnknown_03006184[4] = RGB2(29, 6, 6);
- gUnknown_03006184[5] = RGB2(6, 29, 6);
- gUnknown_03006184[6] = RGB2(6, 6, 29);
- gUnknown_03006184[7] = RGB2(29, 29, 6);
- gUnknown_03006184[8] = RGB2(29, 6, 29);
- gUnknown_03006184[9] = RGB2(6, 29, 29);
- gUnknown_03006184[10] = RGB2(29, 11, 6);
- gUnknown_03006184[11] = RGB2(11, 29, 6);
- gUnknown_03006184[12] = RGB2(6, 11, 29);
- gUnknown_03006184[13] = RGB2(29, 6, 11);
- gUnknown_03006184[14] = RGB2(6, 29, 11);
- gUnknown_03006184[15] = RGB2(11, 6, 29);
-}
-
-static void sub_8126318(void)
-{
- gUnknown_03006184[0] = RGB2(0, 0, 0);
- gUnknown_03006184[1] = RGB2(0, 0, 0);
- gUnknown_03006184[2] = RGB2(31, 31, 31);
-}
-
-static void sub_8126334(void)
-{
- u8 i;
-
- gUnknown_03006184[0] = RGB2(0, 0, 0);
- gUnknown_03006184[1] = RGB2(0, 0, 0);
- for (i = 0; i < 14; i++)
- gUnknown_03006184[i + 2] = RGB2(2 * (i + 2), 2 * (i + 2), 2 * (i + 2));
-}
-
-static void sub_8126370(void)
-{
- u8 i;
-
- gUnknown_03006184[0] = RGB2(0, 0, 0);
- for (i = 0; i < 32; i++)
- gUnknown_03006184[i + 1] = RGB2(i, i, i);
-}
-
-static void sub_81263A4(bool8 arg0)
-{
- u8 i, j;
- u16 maxIndex;
-
- maxIndex = 0xDF;
- if (!arg0)
- maxIndex = 0xFF;
-
- for (j = 0; j < maxIndex; j++)
- gUnknown_03006184[j] = 0;
-
- gUnknown_03006184[maxIndex] = RGB2(15, 15, 15);
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* pal = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, pal++)
- {
- if (*pal & 0x8000)
- {
- *pal = gUnknown_03006188;
- }
- else
- {
- u16 color = sub_81267C4(pal);
- u8 curIndex = 1;
- if (curIndex < maxIndex)
- {
- if (gUnknown_03006184[curIndex] == RGB_BLACK)
- {
- gUnknown_03006184[curIndex] = color;
- *pal = gUnknown_03006188 + curIndex;
- }
- else
- {
- while (curIndex < maxIndex)
- {
- if (gUnknown_03006184[curIndex] == RGB_BLACK)
- {
- gUnknown_03006184[curIndex] = color;
- *pal = gUnknown_03006188 + curIndex;
- break;
- }
-
- if (gUnknown_03006184[curIndex] == color)
- {
- *pal = gUnknown_03006188 + curIndex;
- break;
- }
-
- curIndex++;
- }
- }
- }
-
- if (curIndex == maxIndex)
- {
- curIndex = maxIndex;
- *pal = curIndex;
- }
- }
- }
- }
-}
-
-static void sub_81264FC(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* pal = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, pal++)
- {
- if (*pal & 0x8000)
- {
- *pal = gUnknown_03006188;
- }
- else
- {
- if (ConvertToBlackOrWhite(pal) == RGB_BLACK)
- *pal = gUnknown_03006188 + 1;
- else
- *pal = gUnknown_03006188 + 2;
- }
- }
- }
-}
-
-static void sub_81265B4(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* pal = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, pal++)
- {
- if (*pal & 0x8000)
- *pal = gUnknown_03006188;
- else
- *pal = sub_8126908(pal) + gUnknown_03006188;
- }
- }
-}
-
-static void sub_8126664(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* pal = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, pal++)
- {
- if (*pal & 0x8000)
- *pal = gUnknown_03006188;
- else
- *pal = sub_812693C(pal) + gUnknown_03006188;
- }
- }
-}
-
-static void sub_8126714(void)
-{
- u8 i, j;
-
- for (i = 0; i < gUnknown_0300616C; i++)
- {
- u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180];
- u16* pal = &var2[gUnknown_03006164];
- for (j = 0; j < gUnknown_03006174; j++, pal++)
- {
- if (*pal & 0x8000)
- *pal = gUnknown_03006188;
- else
- *pal = sub_8126838(pal) + gUnknown_03006188;
- }
- }
-}
-
-static u16 sub_81267C4(u16 *color)
-{
- u16 red = *color & 0x1F;
- u16 green = (*color >> 5) & 0x1F;
- u16 blue = (*color >> 10) & 0x1F;
-
- if (red & 3)
- red = (red & 0x1C) + 4;
- if (green & 3)
- green = (green & 0x1C) + 4;
- if (blue & 3)
- blue = (blue & 0x1C) + 4;
-
- if (red < 6)
- red = 6;
- if (red > 30)
- red = 30;
-
- if (green < 6)
- green = 6;
- if (green > 30)
- green = 30;
-
- if (blue < 6)
- blue = 6;
- if (blue > 30)
- blue = 30;
-
- return RGB2(red, green, blue);
-}
-
-static u16 sub_8126838(u16* color)
-{
- u16 red = *color & 0x1F;
- u16 green = (*color >> 5) & 0x1F;
- u16 blue = (*color >> 10) & 0x1F;
-
- if (red < 12 && green < 11 && blue < 11)
- return 1;
-
- if (red > 19 && green > 19 && blue > 19)
- return 2;
-
- if (red > 19)
- {
- if (green > 19)
- {
- if (blue > 14)
- return 2;
- else
- return 7;
- }
- else if (blue > 19)
- {
- if (green > 14)
- return 2;
- else
- return 8;
- }
- }
-
- if (green > 19 && blue > 19)
- {
- if (red > 14)
- return 2;
- else
- return 9;
- }
-
- if (red > 19)
- {
- if (green > 11)
- {
- if (blue > 11)
- {
- if (green < blue)
- return 8;
- else
- return 7;
- }
- else
- {
- return 10;
- }
- }
- else if (blue > 11)
- {
- return 13;
- }
- else
- {
- return 4;
- }
- }
-
- if (green > 19)
- {
- if (red > 11)
- {
- if (blue > 11)
- {
- if (red < blue)
- return 9;
- else
- return 7;
- }
- else
- {
- return 11;
- }
- }
- else
- {
- if (blue > 11)
- return 14;
- else
- return 5;
- }
- }
-
- if (blue > 19)
- {
- if (red > 11)
- {
- if (green > 11)
- {
- if (red < green)
- return 9;
- else
- return 8;
- }
- }
- else if (green > 11)
- {
- return 12;
- }
-
- if (blue > 11)
- return 15;
- else
- return 6;
- }
-
- return 3;
-}
-
-static u16 sub_8126908(u16 *color)
-{
- u16 red = *color & 0x1F;
- u16 green = (*color >> 5) & 0x1F;
- u16 blue = (*color >> 10) & 0x1F;
- u16 average = ((red + green + blue) / 3) & 0x1E;
- if (average == 0)
- return 1;
- else
- return average / 2;
-}
-
-static u16 sub_812693C(u16 *color)
-{
- u16 red = *color & 0x1F;
- u16 green = (*color >> 5) & 0x1F;
- u16 blue = (*color >> 10) & 0x1F;
- u16 average = (red + green + blue) / 3;
- return average + 1;
-}
diff --git a/src/coord_event_weather.c b/src/coord_event_weather.c
index 60b87fa30..85f22a8b7 100644
--- a/src/coord_event_weather.c
+++ b/src/coord_event_weather.c
@@ -11,38 +11,38 @@ struct CoordEventWeather
static void CoordEventWeather_Clouds(void);
static void CoordEventWeather_Sunny(void);
-static void CoordEventWeather_LightRain(void);
+static void CoordEventWeather_Rain(void);
static void CoordEventWeather_Snow(void);
static void CoordEventWeather_Thunderstorm(void);
-static void CoordEventWeather_Fog(void);
+static void CoordEventWeather_HorizontalFog(void);
static void CoordEventWeather_DiagonalFog(void);
static void CoordEventWeather_Ash(void);
static void CoordEventWeather_Sandstorm(void);
-static void CoordEventWeather_Dark(void);
+static void CoordEventWeather_Shade(void);
static void CoordEventWeather_Drought(void);
static void CoordEventWeather_Route119Cycle(void);
static void CoordEventWeather_Route123Cycle(void);
static const struct CoordEventWeather sCoordEventWeatherFuncs[] =
{
- { COORD_EVENT_WEATHER_CLOUDS, CoordEventWeather_Clouds },
- { COORD_EVENT_WEATHER_SUNNY, CoordEventWeather_Sunny },
- { COORD_EVENT_WEATHER_RAIN_LIGHT, CoordEventWeather_LightRain },
- { COORD_EVENT_WEATHER_SNOW, CoordEventWeather_Snow },
- { COORD_EVENT_WEATHER_RAIN_MED, CoordEventWeather_Thunderstorm },
- { COORD_EVENT_WEATHER_FOG_1, CoordEventWeather_Fog },
- { COORD_EVENT_WEATHER_FOG_2, CoordEventWeather_DiagonalFog },
- { COORD_EVENT_WEATHER_ASH, CoordEventWeather_Ash },
- { COORD_EVENT_WEATHER_SANDSTORM, CoordEventWeather_Sandstorm },
- { COORD_EVENT_WEATHER_SHADE, CoordEventWeather_Dark },
- { COORD_EVENT_WEATHER_DROUGHT, CoordEventWeather_Drought },
- { COORD_EVENT_WEATHER_ROUTE119_CYCLE, CoordEventWeather_Route119Cycle },
- { COORD_EVENT_WEATHER_ROUTE123_CYCLE, CoordEventWeather_Route123Cycle },
+ { COORD_EVENT_WEATHER_SUNNY_CLOUDS, CoordEventWeather_Clouds },
+ { COORD_EVENT_WEATHER_SUNNY, CoordEventWeather_Sunny },
+ { COORD_EVENT_WEATHER_RAIN, CoordEventWeather_Rain },
+ { COORD_EVENT_WEATHER_SNOW, CoordEventWeather_Snow },
+ { COORD_EVENT_WEATHER_RAIN_THUNDERSTORM, CoordEventWeather_Thunderstorm },
+ { COORD_EVENT_WEATHER_FOG_HORIZONTAL, CoordEventWeather_HorizontalFog },
+ { COORD_EVENT_WEATHER_FOG_DIAGONAL, CoordEventWeather_DiagonalFog },
+ { COORD_EVENT_WEATHER_VOLCANIC_ASH, CoordEventWeather_Ash },
+ { COORD_EVENT_WEATHER_SANDSTORM, CoordEventWeather_Sandstorm },
+ { COORD_EVENT_WEATHER_SHADE, CoordEventWeather_Shade },
+ { COORD_EVENT_WEATHER_DROUGHT, CoordEventWeather_Drought },
+ { COORD_EVENT_WEATHER_ROUTE119_CYCLE, CoordEventWeather_Route119Cycle },
+ { COORD_EVENT_WEATHER_ROUTE123_CYCLE, CoordEventWeather_Route123Cycle },
};
static void CoordEventWeather_Clouds(void)
{
- SetWeather(WEATHER_CLOUDS);
+ SetWeather(WEATHER_SUNNY_CLOUDS);
}
static void CoordEventWeather_Sunny(void)
@@ -50,9 +50,9 @@ static void CoordEventWeather_Sunny(void)
SetWeather(WEATHER_SUNNY);
}
-static void CoordEventWeather_LightRain(void)
+static void CoordEventWeather_Rain(void)
{
- SetWeather(WEATHER_RAIN_LIGHT);
+ SetWeather(WEATHER_RAIN);
}
static void CoordEventWeather_Snow(void)
@@ -62,22 +62,22 @@ static void CoordEventWeather_Snow(void)
static void CoordEventWeather_Thunderstorm(void)
{
- SetWeather(WEATHER_RAIN_MED);
+ SetWeather(WEATHER_RAIN_THUNDERSTORM);
}
-static void CoordEventWeather_Fog(void)
+static void CoordEventWeather_HorizontalFog(void)
{
- SetWeather(WEATHER_FOG_1);
+ SetWeather(WEATHER_FOG_HORIZONTAL);
}
static void CoordEventWeather_DiagonalFog(void)
{
- SetWeather(WEATHER_FOG_2);
+ SetWeather(WEATHER_FOG_DIAGONAL);
}
static void CoordEventWeather_Ash(void)
{
- SetWeather(WEATHER_ASH);
+ SetWeather(WEATHER_VOLCANIC_ASH);
}
static void CoordEventWeather_Sandstorm(void)
@@ -85,7 +85,7 @@ static void CoordEventWeather_Sandstorm(void)
SetWeather(WEATHER_SANDSTORM);
}
-static void CoordEventWeather_Dark(void)
+static void CoordEventWeather_Shade(void)
{
SetWeather(WEATHER_SHADE);
}
diff --git a/src/credits.c b/src/credits.c
index 44fa2002c..a8bed9a3f 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -3,7 +3,7 @@
#include "main.h"
#include "task.h"
#include "bg.h"
-#include "alloc.h"
+#include "malloc.h"
#include "window.h"
#include "text.h"
#include "menu.h"
@@ -128,16 +128,17 @@ enum
TDE_TASK_A_ID = 2,
};
-struct Unk201C000
-{
- u16 unk0[71];
- u16 unk8E;
- u16 unk90;
- u16 unk92;
- u16 unk94;
- u16 unk96[NATIONAL_DEX_COUNT];
- u16 unk39A;
- u16 unk39C[7];
+#define NUM_MON_SLIDES 71
+struct CreditsData
+{
+ u16 monToShow[NUM_MON_SLIDES]; // List of Pokemon species ids that will show during the credits
+ u16 imgCounter; //how many mon images have been shown
+ u16 nextImgPos; //if the next image spawns left/center/right
+ u16 currShownMon; //index into monToShow
+ u16 numMonToShow; //number of pokemon to show, always NUM_MON_SLIDES after determine function
+ u16 caughtMonIds[NATIONAL_DEX_COUNT]; //temporary location to hold a condensed array of all caught pokemon
+ u16 numCaughtMon; //count of filled spaces in caughtMonIds
+ u16 unk39C[7]; // unused padding?
};
struct CreditsEntry
@@ -151,7 +152,7 @@ static EWRAM_DATA s16 gUnknown_0203BCE0 = 0;
static EWRAM_DATA u16 gUnknown_0203BCE2 = 0; // TASK A
EWRAM_DATA bool8 gHasHallOfFameRecords = 0;
static EWRAM_DATA u8 gUnknown_0203BCE5 = 0;
-static EWRAM_DATA struct Unk201C000 *gUnknown_0203BCE8 = {0};
+static EWRAM_DATA struct CreditsData *sCreditsData = {0};
static const u16 gUnknown_085E56F0[][16] =
{
@@ -959,7 +960,7 @@ static const struct WindowTemplate sWindowTemplates[] =
},
DUMMY_WIN_TEMPLATE,
};
-static const u8 gUnknown_085E6F7C[][2] =
+static const u8 sMonSpritePos[][2] =
{
{104, 36},
{120, 36},
@@ -1052,10 +1053,10 @@ static const struct SpritePalette gUnknown_085E702C[] = {
static const struct OamData gUnknown_085E703C =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -1127,8 +1128,8 @@ static void LoadTheEndScreen(u16, u16, u16);
static void sub_8176E40(u16 arg0, u16 palette);
static void sub_8176EE8(struct Sprite *sprite);
static void sub_8176F90(struct Sprite *sprite);
-static u8 sub_8177224(u16 species, s16 x, s16 y, u16 position);
-static void sub_8177388(void);
+static u8 MakeMonSprite(u16 species, s16 x, s16 y, u16 position);
+static void DeterminePokemonToShow(void);
static void CreditsVBlankCallback(void)
{
@@ -1241,13 +1242,13 @@ void CB2_StartCreditsSequence(void)
m4aSongNumStart(MUS_THANKFOR);
SetMainCallback2(CB2_RunCreditsSequence);
gUnknown_0203BCE5 = 0;
- gUnknown_0203BCE8 = AllocZeroed(sizeof(struct Unk201C000));
+ sCreditsData = AllocZeroed(sizeof(struct CreditsData));
- sub_8177388();
+ DeterminePokemonToShow();
- gUnknown_0203BCE8->unk8E = 0;
- gUnknown_0203BCE8->unk90 = 0;
- gUnknown_0203BCE8->unk92 = 0;
+ sCreditsData->imgCounter = 0;
+ sCreditsData->nextImgPos = 0;
+ sCreditsData->currShownMon = 0;
gUnknown_0203BCE2 = taskIdA;
}
@@ -1604,7 +1605,7 @@ static void sub_8175DA0(u8 taskIdB)
gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_4] = 1;
DestroyTask(taskIdB);
sub_81755A4();
- FREE_AND_SET_NULL(gUnknown_0203BCE8);
+ FREE_AND_SET_NULL(sCreditsData);
return;
}
}
@@ -1683,29 +1684,29 @@ static void sub_81760FC(u8 taskIdD)
case 0:
break;
case 1:
- if (gUnknown_0203BCE8->unk90 == 0 && gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].data[TDA_14] == 0)
+ if (sCreditsData->nextImgPos == 0 && gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].data[TDA_14] == 0)
break;
gTasks[taskIdD].data[TDD_STATE]++;
break;
case 2:
- if (gUnknown_0203BCE8->unk8E == 71 || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != Task_ProgressCreditTasks)
+ if (sCreditsData->imgCounter == NUM_MON_SLIDES || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != Task_ProgressCreditTasks)
break;
- r2 = sub_8177224(gUnknown_0203BCE8->unk0[gUnknown_0203BCE8->unk92], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][0], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][1], gUnknown_0203BCE8->unk90);
- if (gUnknown_0203BCE8->unk92 < gUnknown_0203BCE8->unk94 - 1)
+ r2 = MakeMonSprite(sCreditsData->monToShow[sCreditsData->currShownMon], sMonSpritePos[sCreditsData->nextImgPos][0], sMonSpritePos[sCreditsData->nextImgPos][1], sCreditsData->nextImgPos);
+ if (sCreditsData->currShownMon < sCreditsData->numMonToShow - 1)
{
- gUnknown_0203BCE8->unk92++;
+ sCreditsData->currShownMon++;
gSprites[r2].data[3] = 50;
}
else
{
- gUnknown_0203BCE8->unk92 = 0;
+ sCreditsData->currShownMon = 0;
gSprites[r2].data[3] = 512;
}
- gUnknown_0203BCE8->unk8E++;
- if (gUnknown_0203BCE8->unk90 == 2)
- gUnknown_0203BCE8->unk90 = 0;
+ sCreditsData->imgCounter++;
+ if (sCreditsData->nextImgPos == 2)
+ sCreditsData->nextImgPos = 0;
else
- gUnknown_0203BCE8->unk90++;
+ sCreditsData->nextImgPos++;
gTasks[taskIdD].data[TDD_3] = 50;
gTasks[taskIdD].data[TDD_STATE]++;
break;
@@ -2182,7 +2183,7 @@ static void sub_8177050(struct Sprite *sprite)
{
case 0:
default:
- sprite->oam.affineMode = 1;
+ sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
sprite->oam.matrixNum = sprite->data[1];
sprite->data[2] = 16;
SetOamMatrix(sprite->data[1], 0x10000 / sprite->data[2], 0, 0, 0x10000 / sprite->data[2]);
@@ -2224,7 +2225,7 @@ static void sub_8177050(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
- sprite->oam.objMode = 1;
+ sprite->oam.objMode = ST_OAM_OBJ_BLEND;
sprite->data[3] = 16;
sprite->data[0] += 1;
}
@@ -2256,7 +2257,7 @@ static void sub_8177050(struct Sprite *sprite)
}
}
-static u8 sub_8177224(u16 nationalDexNum, s16 x, s16 y, u16 position)
+static u8 MakeMonSprite(u16 nationalDexNum, s16 x, s16 y, u16 position)
{
u8 spriteId;
u8 spriteId2;
@@ -2292,73 +2293,86 @@ static void sub_81772B8(struct Sprite *sprite)
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
}
-static void sub_8177388(void)
+static void DeterminePokemonToShow(void)
{
u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_STARTER_MON)));
u16 page;
u16 dexNum;
u16 j;
-
+
+ // Go through the Pokedex, and anything that has gotten caught we put into our massive array.
+ // This basically packs all of the caught pokemon into the front of the array
for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++)
{
if (GetSetPokedexFlag(dexNum, FLAG_GET_CAUGHT))
{
- gUnknown_0203BCE8->unk96[j] = dexNum;
+ sCreditsData->caughtMonIds[j] = dexNum;
j++;
}
}
+ // Fill the rest of the array with zeroes
for (dexNum = j; dexNum < NATIONAL_DEX_COUNT; dexNum++)
- gUnknown_0203BCE8->unk96[dexNum] = 0;
+ sCreditsData->caughtMonIds[dexNum] = 0;
- gUnknown_0203BCE8->unk39A = j;
- if (gUnknown_0203BCE8->unk39A < 71)
- gUnknown_0203BCE8->unk94 = j;
+ // Cap the number of pokemon we care about to NUM_MON_SLIDES, the max we show in the credits scene (-1 for the starter)
+ sCreditsData->numCaughtMon = j;
+ if (sCreditsData->numCaughtMon < NUM_MON_SLIDES)
+ sCreditsData->numMonToShow = j;
else
- gUnknown_0203BCE8->unk94 = 71;
+ sCreditsData->numMonToShow = NUM_MON_SLIDES;
+ // Loop through our list of caught pokemon and select randomly from it to fill the images to show
j = 0;
do
{
- page = Random() % gUnknown_0203BCE8->unk39A;
- gUnknown_0203BCE8->unk0[j] = gUnknown_0203BCE8->unk96[page];
-
+ // Select a random mon, insert into array
+ page = Random() % sCreditsData->numCaughtMon;
+ sCreditsData->monToShow[j] = sCreditsData->caughtMonIds[page];
+
+ // Remove the select mon from the array, and condense array entries
j++;
- gUnknown_0203BCE8->unk96[page] = 0;
- gUnknown_0203BCE8->unk39A--;
- if (page != gUnknown_0203BCE8->unk39A)
+ sCreditsData->caughtMonIds[page] = 0;
+ sCreditsData->numCaughtMon--;
+ if (page != sCreditsData->numCaughtMon)
{
- gUnknown_0203BCE8->unk96[page] = gUnknown_0203BCE8->unk96[gUnknown_0203BCE8->unk39A];
- gUnknown_0203BCE8->unk96[gUnknown_0203BCE8->unk39A] = 0;
+ // Instead of looping through and moving everything down, just take from the end. Order doesn't matter after all.
+ sCreditsData->caughtMonIds[page] = sCreditsData->caughtMonIds[sCreditsData->numCaughtMon];
+ sCreditsData->caughtMonIds[sCreditsData->numCaughtMon] = 0;
}
}
- while (gUnknown_0203BCE8->unk39A != 0 && j < 71);
+ while (sCreditsData->numCaughtMon != 0 && j < NUM_MON_SLIDES);
- if (gUnknown_0203BCE8->unk94 < 71)
+ // If we don't have enough pokemon in the dex to fill everything, copy the selected mon into the end of the array, so it loops
+ if (sCreditsData->numMonToShow < NUM_MON_SLIDES)
{
- for (j = gUnknown_0203BCE8->unk94, page = 0; j < 71; j++)
+ for (j = sCreditsData->numMonToShow, page = 0; j < NUM_MON_SLIDES; j++)
{
- gUnknown_0203BCE8->unk0[j] = gUnknown_0203BCE8->unk0[page];
+ sCreditsData->monToShow[j] = sCreditsData->monToShow[page];
page++;
- if (page == gUnknown_0203BCE8->unk94)
+ if (page == sCreditsData->numMonToShow)
page = 0;
}
- gUnknown_0203BCE8->unk0[70] = starter;
+ // Ensure the last pokemon is our starter
+ sCreditsData->monToShow[NUM_MON_SLIDES-1] = starter;
}
else
{
- for (dexNum = 0; gUnknown_0203BCE8->unk0[dexNum] != starter && dexNum < 71; dexNum++);
+ // Check to see if our starter has already appeared in this list, break if it has
+ for (dexNum = 0; sCreditsData->monToShow[dexNum] != starter && dexNum < NUM_MON_SLIDES; dexNum++);
- if (dexNum < gUnknown_0203BCE8->unk94 - 1)
+ // If it has, swap it with the last pokemon, to ensure our starter is the last image
+ if (dexNum < sCreditsData->numMonToShow - 1)
{
- gUnknown_0203BCE8->unk0[dexNum] = gUnknown_0203BCE8->unk0[70];
- gUnknown_0203BCE8->unk0[70] = starter;
+ sCreditsData->monToShow[dexNum] = sCreditsData->monToShow[NUM_MON_SLIDES-1];
+ sCreditsData->monToShow[NUM_MON_SLIDES-1] = starter;
}
else
{
- gUnknown_0203BCE8->unk0[70] = starter;
+ // Ensure the last pokemon is our starter
+ sCreditsData->monToShow[NUM_MON_SLIDES-1] = starter;
}
}
- gUnknown_0203BCE8->unk94 = 71;
+ sCreditsData->numMonToShow = NUM_MON_SLIDES;
}
diff --git a/src/dark.c b/src/dark.c
index 482c09c04..63a893b67 100644
--- a/src/dark.c
+++ b/src/dark.c
@@ -29,7 +29,7 @@ const struct SpriteTemplate gUnknown_08596FC8 =
{
.tileTag = ANIM_TAG_TIED_BAG,
.paletteTag = ANIM_TAG_TIED_BAG,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -100,7 +100,7 @@ const struct SpriteTemplate gUnknown_08597080 =
{
.tileTag = ANIM_TAG_SHARP_TEETH,
.paletteTag = ANIM_TAG_SHARP_TEETH,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
@@ -111,7 +111,7 @@ const struct SpriteTemplate gUnknown_08597098 =
{
.tileTag = ANIM_TAG_CLAMP,
.paletteTag = ANIM_TAG_CLAMP,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597060,
@@ -142,7 +142,7 @@ const struct SpriteTemplate gUnknown_085970E8 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085970E0,
@@ -179,7 +179,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 =
{
.tileTag = ANIM_TAG_CLAW_SLASH,
.paletteTag = ANIM_TAG_CLAW_SLASH,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08597130,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
diff --git a/src/data.c b/src/data.c
index 7aebd63ed..8d6640223 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "data.h"
#include "graphics.h"
diff --git a/src/data/battle_frontier/apprentice.h b/src/data/battle_frontier/apprentice.h
new file mode 100644
index 000000000..349dc9619
--- /dev/null
+++ b/src/data/battle_frontier/apprentice.h
@@ -0,0 +1,982 @@
+// data/text/apprentice.inc
+extern const u8 gText_ApprenticePleaseTeach0[];
+extern const u8 gText_ApprenticePleaseTeach1[];
+extern const u8 gText_ApprenticePleaseTeach2[];
+extern const u8 gText_ApprenticePleaseTeach3[];
+extern const u8 gText_ApprenticePleaseTeach4[];
+extern const u8 gText_ApprenticePleaseTeach5[];
+extern const u8 gText_ApprenticePleaseTeach6[];
+extern const u8 gText_ApprenticePleaseTeach7[];
+extern const u8 gText_ApprenticePleaseTeach8[];
+extern const u8 gText_ApprenticePleaseTeach9[];
+extern const u8 gText_ApprenticePleaseTeach10[];
+extern const u8 gText_ApprenticePleaseTeach11[];
+extern const u8 gText_ApprenticePleaseTeach12[];
+extern const u8 gText_ApprenticePleaseTeach13[];
+extern const u8 gText_ApprenticePleaseTeach14[];
+extern const u8 gText_ApprenticePleaseTeach15[];
+extern const u8 gText_ApprenticeRejectTeaching0[];
+extern const u8 gText_ApprenticeRejectTeaching1[];
+extern const u8 gText_ApprenticeRejectTeaching2[];
+extern const u8 gText_ApprenticeRejectTeaching3[];
+extern const u8 gText_ApprenticeRejectTeaching4[];
+extern const u8 gText_ApprenticeRejectTeaching5[];
+extern const u8 gText_ApprenticeRejectTeaching6[];
+extern const u8 gText_ApprenticeRejectTeaching7[];
+extern const u8 gText_ApprenticeRejectTeaching8[];
+extern const u8 gText_ApprenticeRejectTeaching9[];
+extern const u8 gText_ApprenticeRejectTeaching10[];
+extern const u8 gText_ApprenticeRejectTeaching11[];
+extern const u8 gText_ApprenticeRejectTeaching12[];
+extern const u8 gText_ApprenticeRejectTeaching13[];
+extern const u8 gText_ApprenticeRejectTeaching14[];
+extern const u8 gText_ApprenticeRejectTeaching15[];
+extern const u8 gText_ApprenticeWhichLevelMode0[];
+extern const u8 gText_ApprenticeWhichLevelMode1[];
+extern const u8 gText_ApprenticeWhichLevelMode2[];
+extern const u8 gText_ApprenticeWhichLevelMode3[];
+extern const u8 gText_ApprenticeWhichLevelMode4[];
+extern const u8 gText_ApprenticeWhichLevelMode5[];
+extern const u8 gText_ApprenticeWhichLevelMode6[];
+extern const u8 gText_ApprenticeWhichLevelMode7[];
+extern const u8 gText_ApprenticeWhichLevelMode8[];
+extern const u8 gText_ApprenticeWhichLevelMode9[];
+extern const u8 gText_ApprenticeWhichLevelMode10[];
+extern const u8 gText_ApprenticeWhichLevelMode11[];
+extern const u8 gText_ApprenticeWhichLevelMode12[];
+extern const u8 gText_ApprenticeWhichLevelMode13[];
+extern const u8 gText_ApprenticeWhichLevelMode14[];
+extern const u8 gText_ApprenticeWhichLevelMode15[];
+extern const u8 gText_ApprenticeLevelModeThanks0[];
+extern const u8 gText_ApprenticeLevelModeThanks1[];
+extern const u8 gText_ApprenticeLevelModeThanks2[];
+extern const u8 gText_ApprenticeLevelModeThanks3[];
+extern const u8 gText_ApprenticeLevelModeThanks4[];
+extern const u8 gText_ApprenticeLevelModeThanks5[];
+extern const u8 gText_ApprenticeLevelModeThanks6[];
+extern const u8 gText_ApprenticeLevelModeThanks7[];
+extern const u8 gText_ApprenticeLevelModeThanks8[];
+extern const u8 gText_ApprenticeLevelModeThanks9[];
+extern const u8 gText_ApprenticeLevelModeThanks10[];
+extern const u8 gText_ApprenticeLevelModeThanks11[];
+extern const u8 gText_ApprenticeLevelModeThanks12[];
+extern const u8 gText_ApprenticeLevelModeThanks13[];
+extern const u8 gText_ApprenticeLevelModeThanks14[];
+extern const u8 gText_ApprenticeLevelModeThanks15[];
+
+extern const u8 gText_ApprenticeWhichMon0[];
+extern const u8 gText_ApprenticeWhichMon1[];
+extern const u8 gText_ApprenticeWhichMon2[];
+extern const u8 gText_ApprenticeWhichMon3[];
+extern const u8 gText_ApprenticeWhichMon4[];
+extern const u8 gText_ApprenticeWhichMon5[];
+extern const u8 gText_ApprenticeWhichMon6[];
+extern const u8 gText_ApprenticeWhichMon7[];
+extern const u8 gText_ApprenticeWhichMon8[];
+extern const u8 gText_ApprenticeWhichMon9[];
+extern const u8 gText_ApprenticeWhichMon10[];
+extern const u8 gText_ApprenticeWhichMon11[];
+extern const u8 gText_ApprenticeWhichMon12[];
+extern const u8 gText_ApprenticeWhichMon13[];
+extern const u8 gText_ApprenticeWhichMon14[];
+extern const u8 gText_ApprenticeWhichMon15[];
+extern const u8 gText_ApprenticeMonThanks0[];
+extern const u8 gText_ApprenticeMonThanks1[];
+extern const u8 gText_ApprenticeMonThanks2[];
+extern const u8 gText_ApprenticeMonThanks3[];
+extern const u8 gText_ApprenticeMonThanks4[];
+extern const u8 gText_ApprenticeMonThanks5[];
+extern const u8 gText_ApprenticeMonThanks6[];
+extern const u8 gText_ApprenticeMonThanks7[];
+extern const u8 gText_ApprenticeMonThanks8[];
+extern const u8 gText_ApprenticeMonThanks9[];
+extern const u8 gText_ApprenticeMonThanks10[];
+extern const u8 gText_ApprenticeMonThanks11[];
+extern const u8 gText_ApprenticeMonThanks12[];
+extern const u8 gText_ApprenticeMonThanks13[];
+extern const u8 gText_ApprenticeMonThanks14[];
+extern const u8 gText_ApprenticeMonThanks15[];
+
+extern const u8 gText_ApprenticeWhatHeldItem0[];
+extern const u8 gText_ApprenticeWhatHeldItem1[];
+extern const u8 gText_ApprenticeWhatHeldItem2[];
+extern const u8 gText_ApprenticeWhatHeldItem3[];
+extern const u8 gText_ApprenticeWhatHeldItem4[];
+extern const u8 gText_ApprenticeWhatHeldItem5[];
+extern const u8 gText_ApprenticeWhatHeldItem6[];
+extern const u8 gText_ApprenticeWhatHeldItem7[];
+extern const u8 gText_ApprenticeWhatHeldItem8[];
+extern const u8 gText_ApprenticeWhatHeldItem9[];
+extern const u8 gText_ApprenticeWhatHeldItem10[];
+extern const u8 gText_ApprenticeWhatHeldItem11[];
+extern const u8 gText_ApprenticeWhatHeldItem12[];
+extern const u8 gText_ApprenticeWhatHeldItem13[];
+extern const u8 gText_ApprenticeWhatHeldItem14[];
+extern const u8 gText_ApprenticeWhatHeldItem15[];
+extern const u8 gText_ApprenticeHoldNothing0[];
+extern const u8 gText_ApprenticeHoldNothing1[];
+extern const u8 gText_ApprenticeHoldNothing2[];
+extern const u8 gText_ApprenticeHoldNothing3[];
+extern const u8 gText_ApprenticeHoldNothing4[];
+extern const u8 gText_ApprenticeHoldNothing5[];
+extern const u8 gText_ApprenticeHoldNothing6[];
+extern const u8 gText_ApprenticeHoldNothing7[];
+extern const u8 gText_ApprenticeHoldNothing8[];
+extern const u8 gText_ApprenticeHoldNothing9[];
+extern const u8 gText_ApprenticeHoldNothing10[];
+extern const u8 gText_ApprenticeHoldNothing11[];
+extern const u8 gText_ApprenticeHoldNothing12[];
+extern const u8 gText_ApprenticeHoldNothing13[];
+extern const u8 gText_ApprenticeHoldNothing14[];
+extern const u8 gText_ApprenticeHoldNothing15[];
+extern const u8 gText_ApprenticeThanksNoHeldItem0[];
+extern const u8 gText_ApprenticeThanksNoHeldItem1[];
+extern const u8 gText_ApprenticeThanksNoHeldItem2[];
+extern const u8 gText_ApprenticeThanksNoHeldItem3[];
+extern const u8 gText_ApprenticeThanksNoHeldItem4[];
+extern const u8 gText_ApprenticeThanksNoHeldItem5[];
+extern const u8 gText_ApprenticeThanksNoHeldItem6[];
+extern const u8 gText_ApprenticeThanksNoHeldItem7[];
+extern const u8 gText_ApprenticeThanksNoHeldItem8[];
+extern const u8 gText_ApprenticeThanksNoHeldItem9[];
+extern const u8 gText_ApprenticeThanksNoHeldItem10[];
+extern const u8 gText_ApprenticeThanksNoHeldItem11[];
+extern const u8 gText_ApprenticeThanksNoHeldItem12[];
+extern const u8 gText_ApprenticeThanksNoHeldItem13[];
+extern const u8 gText_ApprenticeThanksNoHeldItem14[];
+extern const u8 gText_ApprenticeThanksNoHeldItem15[];
+extern const u8 gText_ApprenticeThanksHeldItem0[];
+extern const u8 gText_ApprenticeThanksHeldItem1[];
+extern const u8 gText_ApprenticeThanksHeldItem2[];
+extern const u8 gText_ApprenticeThanksHeldItem3[];
+extern const u8 gText_ApprenticeThanksHeldItem4[];
+extern const u8 gText_ApprenticeThanksHeldItem5[];
+extern const u8 gText_ApprenticeThanksHeldItem6[];
+extern const u8 gText_ApprenticeThanksHeldItem7[];
+extern const u8 gText_ApprenticeThanksHeldItem8[];
+extern const u8 gText_ApprenticeThanksHeldItem9[];
+extern const u8 gText_ApprenticeThanksHeldItem10[];
+extern const u8 gText_ApprenticeThanksHeldItem11[];
+extern const u8 gText_ApprenticeThanksHeldItem12[];
+extern const u8 gText_ApprenticeThanksHeldItem13[];
+extern const u8 gText_ApprenticeThanksHeldItem14[];
+extern const u8 gText_ApprenticeThanksHeldItem15[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended0[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended1[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended2[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended3[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended4[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended5[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended6[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended7[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended8[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended9[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended10[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended11[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended12[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended13[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended14[];
+extern const u8 gText_ApprenticeItemAlreadyRecommended15[];
+
+extern const u8 gText_ApprenticeWhichMove0[];
+extern const u8 gText_ApprenticeWhichMove1[];
+extern const u8 gText_ApprenticeWhichMove2[];
+extern const u8 gText_ApprenticeWhichMove3[];
+extern const u8 gText_ApprenticeWhichMove4[];
+extern const u8 gText_ApprenticeWhichMove5[];
+extern const u8 gText_ApprenticeWhichMove6[];
+extern const u8 gText_ApprenticeWhichMove7[];
+extern const u8 gText_ApprenticeWhichMove8[];
+extern const u8 gText_ApprenticeWhichMove9[];
+extern const u8 gText_ApprenticeWhichMove10[];
+extern const u8 gText_ApprenticeWhichMove11[];
+extern const u8 gText_ApprenticeWhichMove12[];
+extern const u8 gText_ApprenticeWhichMove13[];
+extern const u8 gText_ApprenticeWhichMove14[];
+extern const u8 gText_ApprenticeWhichMove15[];
+extern const u8 gText_ApprenticeMoveThanks0[];
+extern const u8 gText_ApprenticeMoveThanks1[];
+extern const u8 gText_ApprenticeMoveThanks2[];
+extern const u8 gText_ApprenticeMoveThanks3[];
+extern const u8 gText_ApprenticeMoveThanks4[];
+extern const u8 gText_ApprenticeMoveThanks5[];
+extern const u8 gText_ApprenticeMoveThanks6[];
+extern const u8 gText_ApprenticeMoveThanks7[];
+extern const u8 gText_ApprenticeMoveThanks8[];
+extern const u8 gText_ApprenticeMoveThanks9[];
+extern const u8 gText_ApprenticeMoveThanks10[];
+extern const u8 gText_ApprenticeMoveThanks11[];
+extern const u8 gText_ApprenticeMoveThanks12[];
+extern const u8 gText_ApprenticeMoveThanks13[];
+extern const u8 gText_ApprenticeMoveThanks14[];
+extern const u8 gText_ApprenticeMoveThanks15[];
+
+extern const u8 gText_ApprenticeWhichMonFirst0[];
+extern const u8 gText_ApprenticeWhichMonFirst1[];
+extern const u8 gText_ApprenticeWhichMonFirst2[];
+extern const u8 gText_ApprenticeWhichMonFirst3[];
+extern const u8 gText_ApprenticeWhichMonFirst4[];
+extern const u8 gText_ApprenticeWhichMonFirst5[];
+extern const u8 gText_ApprenticeWhichMonFirst6[];
+extern const u8 gText_ApprenticeWhichMonFirst7[];
+extern const u8 gText_ApprenticeWhichMonFirst8[];
+extern const u8 gText_ApprenticeWhichMonFirst9[];
+extern const u8 gText_ApprenticeWhichMonFirst10[];
+extern const u8 gText_ApprenticeWhichMonFirst11[];
+extern const u8 gText_ApprenticeWhichMonFirst12[];
+extern const u8 gText_ApprenticeWhichMonFirst13[];
+extern const u8 gText_ApprenticeWhichMonFirst14[];
+extern const u8 gText_ApprenticeWhichMonFirst15[];
+extern const u8 gText_ApprenticeMonFirstThanks0[];
+extern const u8 gText_ApprenticeMonFirstThanks1[];
+extern const u8 gText_ApprenticeMonFirstThanks2[];
+extern const u8 gText_ApprenticeMonFirstThanks3[];
+extern const u8 gText_ApprenticeMonFirstThanks4[];
+extern const u8 gText_ApprenticeMonFirstThanks5[];
+extern const u8 gText_ApprenticeMonFirstThanks6[];
+extern const u8 gText_ApprenticeMonFirstThanks7[];
+extern const u8 gText_ApprenticeMonFirstThanks8[];
+extern const u8 gText_ApprenticeMonFirstThanks9[];
+extern const u8 gText_ApprenticeMonFirstThanks10[];
+extern const u8 gText_ApprenticeMonFirstThanks11[];
+extern const u8 gText_ApprenticeMonFirstThanks12[];
+extern const u8 gText_ApprenticeMonFirstThanks13[];
+extern const u8 gText_ApprenticeMonFirstThanks14[];
+extern const u8 gText_ApprenticeMonFirstThanks15[];
+
+extern const u8 gText_ApprenticePickWinSpeech0[];
+extern const u8 gText_ApprenticePickWinSpeech1[];
+extern const u8 gText_ApprenticePickWinSpeech2[];
+extern const u8 gText_ApprenticePickWinSpeech3[];
+extern const u8 gText_ApprenticePickWinSpeech4[];
+extern const u8 gText_ApprenticePickWinSpeech5[];
+extern const u8 gText_ApprenticePickWinSpeech6[];
+extern const u8 gText_ApprenticePickWinSpeech7[];
+extern const u8 gText_ApprenticePickWinSpeech8[];
+extern const u8 gText_ApprenticePickWinSpeech9[];
+extern const u8 gText_ApprenticePickWinSpeech10[];
+extern const u8 gText_ApprenticePickWinSpeech11[];
+extern const u8 gText_ApprenticePickWinSpeech12[];
+extern const u8 gText_ApprenticePickWinSpeech13[];
+extern const u8 gText_ApprenticePickWinSpeech14[];
+extern const u8 gText_ApprenticePickWinSpeech15[];
+extern const u8 gText_ApprenticeWinSpeechThanks0[];
+extern const u8 gText_ApprenticeWinSpeechThanks1[];
+extern const u8 gText_ApprenticeWinSpeechThanks2[];
+extern const u8 gText_ApprenticeWinSpeechThanks3[];
+extern const u8 gText_ApprenticeWinSpeechThanks4[];
+extern const u8 gText_ApprenticeWinSpeechThanks5[];
+extern const u8 gText_ApprenticeWinSpeechThanks6[];
+extern const u8 gText_ApprenticeWinSpeechThanks7[];
+extern const u8 gText_ApprenticeWinSpeechThanks8[];
+extern const u8 gText_ApprenticeWinSpeechThanks9[];
+extern const u8 gText_ApprenticeWinSpeechThanks10[];
+extern const u8 gText_ApprenticeWinSpeechThanks11[];
+extern const u8 gText_ApprenticeWinSpeechThanks12[];
+extern const u8 gText_ApprenticeWinSpeechThanks13[];
+extern const u8 gText_ApprenticeWinSpeechThanks14[];
+extern const u8 gText_ApprenticeWinSpeechThanks15[];
+
+extern const u8 gText_ApprenticeChallenge0[];
+extern const u8 gText_ApprenticeChallenge1[];
+extern const u8 gText_ApprenticeChallenge2[];
+extern const u8 gText_ApprenticeChallenge3[];
+extern const u8 gText_ApprenticeChallenge4[];
+extern const u8 gText_ApprenticeChallenge5[];
+extern const u8 gText_ApprenticeChallenge6[];
+extern const u8 gText_ApprenticeChallenge7[];
+extern const u8 gText_ApprenticeChallenge8[];
+extern const u8 gText_ApprenticeChallenge9[];
+extern const u8 gText_ApprenticeChallenge10[];
+extern const u8 gText_ApprenticeChallenge11[];
+extern const u8 gText_ApprenticeChallenge12[];
+extern const u8 gText_ApprenticeChallenge13[];
+extern const u8 gText_ApprenticeChallenge14[];
+extern const u8 gText_ApprenticeChallenge15[];
+
+const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
+{
+ {
+ .name = {_("サダヒロ"), _("ALANN"), _("ALAIN"), _("ADELFO"), _("CLAUS"), _("TEO")},
+ .otId = 0xBDC9,
+ .facilityClass = FACILITY_CLASS_BUG_CATCHER,
+ .species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT},
+ .id = 0,
+ .speechLost = {EC_WORD_NO, EC_WORD_MISTAKE, EC_WORD_EXCL, EC_WORD_I, EC_WORD_LOST, EC_WORD_BADLY},
+ },
+ {
+ .name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")},
+ .otId = 0xCF09,
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH},
+ .id = 1,
+ .speechLost = {EC_WORD_OKAY, EC_WORD_I, EC_WORD_LOST, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MASTER},
+ },
+ {
+ .name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")},
+ .otId = 0x2E34,
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
+ .species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP},
+ .id = 2,
+ .speechLost = {EC_WORD_I, EC_WORD_WENT, EC_WORD_AND, EC_WORD_LOST, EC_WORD_AWW, EC_WORD_ELLIPSIS},
+ },
+ {
+ .name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")},
+ .otId = 0x84EF,
+ .facilityClass = FACILITY_CLASS_LASS,
+ .species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA},
+ .id = 3,
+ .speechLost = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES, 0xFFFF},
+ },
+ {
+ .name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")},
+ .otId = 0x1E43,
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY},
+ .id = 4,
+ .speechLost = {EC_WORD_THIS, EC_WORD_WON_T, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_NEXT, EC_WORD_TIME},
+ },
+ {
+ .name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")},
+ .otId = 0x379F,
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
+ .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA},
+ .id = 5,
+ .speechLost = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_RUN, EC_WORD_BYE_BYE, EC_WORD_EXCL},
+ },
+ {
+ .name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")},
+ .otId = 0xF555,
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
+ .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO},
+ .id = 6,
+ .speechLost = {EC_WORD_AHAHA, EC_WORD_DEFEATED, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_NOTHING, EC_WORD_EXCL},
+ },
+ {
+ .name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")},
+ .otId = 0x8D26,
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC},
+ .id = 7,
+ .speechLost = {EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF},
+ },
+ {
+ .name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")},
+ .otId = 0x800C,
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY},
+ .id = 8,
+ .speechLost = {EC_WORD_WHAT, EC_WORD_TOUGH, EC_WORD_POKEMON, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_EXCL},
+ },
+ {
+ .name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")},
+ .otId = 0x469f,
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON},
+ .id = 9,
+ .speechLost = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_JUST, EC_WORD_SHREDDED, EC_WORD_ELLIPSIS, 0xFFFF},
+ },
+ {
+ .name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")},
+ .otId = 0x71FC,
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA},
+ .id = 10,
+ .speechLost = {EC_WORD_YOUR, EC_WORD_WIN, EC_WORD_ANGERS, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF},
+ },
+ {
+ .name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")},
+ .otId = 0xA39E,
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE},
+ .id = 11,
+ .speechLost = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_MOVE(CUT), EC_WORD_ME, EC_WORD_DEEP, EC_WORD_OK_QUES},
+ },
+ {
+ .name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")},
+ .otId = 0xE590,
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING},
+ .id = 12,
+ .speechLost = {EC_WORD_A, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_THIS, EC_WORD_IS},
+ },
+ {
+ .name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")},
+ .otId = 0xD018,
+ .facilityClass = FACILITY_CLASS_BLACK_BELT,
+ .species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING},
+ .id = 13,
+ .speechLost = {EC_WORD_I_AM, EC_WORD_TOO_WEAK, EC_WORD_AND, EC_WORD_LOW, EC_WORD_OF, EC_WORD_POWER},
+ },
+ {
+ .name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")},
+ .otId = 0xBC75,
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM},
+ .id = 14,
+ .speechLost = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_UNDERSTAND, EC_WORD_WHAT, EC_WORD_IS, EC_WORD_HAPPENING},
+ },
+ {
+ .name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")},
+ .otId = 0xFA02,
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS},
+ .id = 15,
+ .speechLost = {EC_WORD_THIS, EC_WORD_HAS, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_LIE},
+ },
+};
+
+// Sequence of 4 messages for the first meeting with the apprentice
+static const u8 *const sApprenticeFirstMeetingTexts[NUM_APPRENTICES][4] =
+{
+ {gText_ApprenticePleaseTeach0, gText_ApprenticeRejectTeaching0, gText_ApprenticeWhichLevelMode0, gText_ApprenticeLevelModeThanks0},
+ {gText_ApprenticePleaseTeach1, gText_ApprenticeRejectTeaching1, gText_ApprenticeWhichLevelMode1, gText_ApprenticeLevelModeThanks1},
+ {gText_ApprenticePleaseTeach2, gText_ApprenticeRejectTeaching2, gText_ApprenticeWhichLevelMode2, gText_ApprenticeLevelModeThanks2},
+ {gText_ApprenticePleaseTeach3, gText_ApprenticeRejectTeaching3, gText_ApprenticeWhichLevelMode3, gText_ApprenticeLevelModeThanks3},
+ {gText_ApprenticePleaseTeach4, gText_ApprenticeRejectTeaching4, gText_ApprenticeWhichLevelMode4, gText_ApprenticeLevelModeThanks4},
+ {gText_ApprenticePleaseTeach5, gText_ApprenticeRejectTeaching5, gText_ApprenticeWhichLevelMode5, gText_ApprenticeLevelModeThanks5},
+ {gText_ApprenticePleaseTeach6, gText_ApprenticeRejectTeaching6, gText_ApprenticeWhichLevelMode6, gText_ApprenticeLevelModeThanks6},
+ {gText_ApprenticePleaseTeach7, gText_ApprenticeRejectTeaching7, gText_ApprenticeWhichLevelMode7, gText_ApprenticeLevelModeThanks7},
+ {gText_ApprenticePleaseTeach8, gText_ApprenticeRejectTeaching8, gText_ApprenticeWhichLevelMode8, gText_ApprenticeLevelModeThanks8},
+ {gText_ApprenticePleaseTeach9, gText_ApprenticeRejectTeaching9, gText_ApprenticeWhichLevelMode9, gText_ApprenticeLevelModeThanks9},
+ {gText_ApprenticePleaseTeach10, gText_ApprenticeRejectTeaching10, gText_ApprenticeWhichLevelMode10, gText_ApprenticeLevelModeThanks10},
+ {gText_ApprenticePleaseTeach11, gText_ApprenticeRejectTeaching11, gText_ApprenticeWhichLevelMode11, gText_ApprenticeLevelModeThanks11},
+ {gText_ApprenticePleaseTeach12, gText_ApprenticeRejectTeaching12, gText_ApprenticeWhichLevelMode12, gText_ApprenticeLevelModeThanks12},
+ {gText_ApprenticePleaseTeach13, gText_ApprenticeRejectTeaching13, gText_ApprenticeWhichLevelMode13, gText_ApprenticeLevelModeThanks13},
+ {gText_ApprenticePleaseTeach14, gText_ApprenticeRejectTeaching14, gText_ApprenticeWhichLevelMode14, gText_ApprenticeLevelModeThanks14},
+ {gText_ApprenticePleaseTeach15, gText_ApprenticeRejectTeaching15, gText_ApprenticeWhichLevelMode15, gText_ApprenticeLevelModeThanks15},
+};
+
+static const u8 *const sApprenticeWhichMonTexts[NUM_APPRENTICES][2] =
+{
+ {gText_ApprenticeWhichMon0, gText_ApprenticeMonThanks0},
+ {gText_ApprenticeWhichMon1, gText_ApprenticeMonThanks1},
+ {gText_ApprenticeWhichMon2, gText_ApprenticeMonThanks2},
+ {gText_ApprenticeWhichMon3, gText_ApprenticeMonThanks3},
+ {gText_ApprenticeWhichMon4, gText_ApprenticeMonThanks4},
+ {gText_ApprenticeWhichMon5, gText_ApprenticeMonThanks5},
+ {gText_ApprenticeWhichMon6, gText_ApprenticeMonThanks6},
+ {gText_ApprenticeWhichMon7, gText_ApprenticeMonThanks7},
+ {gText_ApprenticeWhichMon8, gText_ApprenticeMonThanks8},
+ {gText_ApprenticeWhichMon9, gText_ApprenticeMonThanks9},
+ {gText_ApprenticeWhichMon10, gText_ApprenticeMonThanks10},
+ {gText_ApprenticeWhichMon11, gText_ApprenticeMonThanks11},
+ {gText_ApprenticeWhichMon12, gText_ApprenticeMonThanks12},
+ {gText_ApprenticeWhichMon13, gText_ApprenticeMonThanks13},
+ {gText_ApprenticeWhichMon14, gText_ApprenticeMonThanks14},
+ {gText_ApprenticeWhichMon15, gText_ApprenticeMonThanks15},
+};
+
+// Sequence of 5 messages for suggesting a held item to the apprentice
+static const u8 *const sApprenticeHeldItemTexts[NUM_APPRENTICES][5] =
+{
+ {gText_ApprenticeWhatHeldItem0, gText_ApprenticeHoldNothing0, gText_ApprenticeThanksNoHeldItem0, gText_ApprenticeThanksHeldItem0, gText_ApprenticeItemAlreadyRecommended0},
+ {gText_ApprenticeWhatHeldItem1, gText_ApprenticeHoldNothing1, gText_ApprenticeThanksNoHeldItem1, gText_ApprenticeThanksHeldItem1, gText_ApprenticeItemAlreadyRecommended1},
+ {gText_ApprenticeWhatHeldItem2, gText_ApprenticeHoldNothing2, gText_ApprenticeThanksNoHeldItem2, gText_ApprenticeThanksHeldItem2, gText_ApprenticeItemAlreadyRecommended2},
+ {gText_ApprenticeWhatHeldItem3, gText_ApprenticeHoldNothing3, gText_ApprenticeThanksNoHeldItem3, gText_ApprenticeThanksHeldItem3, gText_ApprenticeItemAlreadyRecommended3},
+ {gText_ApprenticeWhatHeldItem4, gText_ApprenticeHoldNothing4, gText_ApprenticeThanksNoHeldItem4, gText_ApprenticeThanksHeldItem4, gText_ApprenticeItemAlreadyRecommended4},
+ {gText_ApprenticeWhatHeldItem5, gText_ApprenticeHoldNothing5, gText_ApprenticeThanksNoHeldItem5, gText_ApprenticeThanksHeldItem5, gText_ApprenticeItemAlreadyRecommended5},
+ {gText_ApprenticeWhatHeldItem6, gText_ApprenticeHoldNothing6, gText_ApprenticeThanksNoHeldItem6, gText_ApprenticeThanksHeldItem6, gText_ApprenticeItemAlreadyRecommended6},
+ {gText_ApprenticeWhatHeldItem7, gText_ApprenticeHoldNothing7, gText_ApprenticeThanksNoHeldItem7, gText_ApprenticeThanksHeldItem7, gText_ApprenticeItemAlreadyRecommended7},
+ {gText_ApprenticeWhatHeldItem8, gText_ApprenticeHoldNothing8, gText_ApprenticeThanksNoHeldItem8, gText_ApprenticeThanksHeldItem8, gText_ApprenticeItemAlreadyRecommended8},
+ {gText_ApprenticeWhatHeldItem9, gText_ApprenticeHoldNothing9, gText_ApprenticeThanksNoHeldItem9, gText_ApprenticeThanksHeldItem9, gText_ApprenticeItemAlreadyRecommended9},
+ {gText_ApprenticeWhatHeldItem10, gText_ApprenticeHoldNothing10, gText_ApprenticeThanksNoHeldItem10, gText_ApprenticeThanksHeldItem10, gText_ApprenticeItemAlreadyRecommended10},
+ {gText_ApprenticeWhatHeldItem11, gText_ApprenticeHoldNothing11, gText_ApprenticeThanksNoHeldItem11, gText_ApprenticeThanksHeldItem11, gText_ApprenticeItemAlreadyRecommended11},
+ {gText_ApprenticeWhatHeldItem12, gText_ApprenticeHoldNothing12, gText_ApprenticeThanksNoHeldItem12, gText_ApprenticeThanksHeldItem12, gText_ApprenticeItemAlreadyRecommended12},
+ {gText_ApprenticeWhatHeldItem13, gText_ApprenticeHoldNothing13, gText_ApprenticeThanksNoHeldItem13, gText_ApprenticeThanksHeldItem13, gText_ApprenticeItemAlreadyRecommended13},
+ {gText_ApprenticeWhatHeldItem14, gText_ApprenticeHoldNothing14, gText_ApprenticeThanksNoHeldItem14, gText_ApprenticeThanksHeldItem14, gText_ApprenticeItemAlreadyRecommended14},
+ {gText_ApprenticeWhatHeldItem15, gText_ApprenticeHoldNothing15, gText_ApprenticeThanksNoHeldItem15, gText_ApprenticeThanksHeldItem15, gText_ApprenticeItemAlreadyRecommended15},
+};
+
+static const u8 *const sApprenticeWhichMoveTexts[NUM_APPRENTICES][2] =
+{
+ {gText_ApprenticeWhichMove0, gText_ApprenticeMoveThanks0},
+ {gText_ApprenticeWhichMove1, gText_ApprenticeMoveThanks1},
+ {gText_ApprenticeWhichMove2, gText_ApprenticeMoveThanks2},
+ {gText_ApprenticeWhichMove3, gText_ApprenticeMoveThanks3},
+ {gText_ApprenticeWhichMove4, gText_ApprenticeMoveThanks4},
+ {gText_ApprenticeWhichMove5, gText_ApprenticeMoveThanks5},
+ {gText_ApprenticeWhichMove6, gText_ApprenticeMoveThanks6},
+ {gText_ApprenticeWhichMove7, gText_ApprenticeMoveThanks7},
+ {gText_ApprenticeWhichMove8, gText_ApprenticeMoveThanks8},
+ {gText_ApprenticeWhichMove9, gText_ApprenticeMoveThanks9},
+ {gText_ApprenticeWhichMove10, gText_ApprenticeMoveThanks10},
+ {gText_ApprenticeWhichMove11, gText_ApprenticeMoveThanks11},
+ {gText_ApprenticeWhichMove12, gText_ApprenticeMoveThanks12},
+ {gText_ApprenticeWhichMove13, gText_ApprenticeMoveThanks13},
+ {gText_ApprenticeWhichMove14, gText_ApprenticeMoveThanks14},
+ {gText_ApprenticeWhichMove15, gText_ApprenticeMoveThanks15},
+};
+
+static const u8 *const sApprenticeWhichMonFirstTexts[NUM_APPRENTICES][2] =
+{
+ {gText_ApprenticeWhichMonFirst0, gText_ApprenticeMonFirstThanks0},
+ {gText_ApprenticeWhichMonFirst1, gText_ApprenticeMonFirstThanks1},
+ {gText_ApprenticeWhichMonFirst2, gText_ApprenticeMonFirstThanks2},
+ {gText_ApprenticeWhichMonFirst3, gText_ApprenticeMonFirstThanks3},
+ {gText_ApprenticeWhichMonFirst4, gText_ApprenticeMonFirstThanks4},
+ {gText_ApprenticeWhichMonFirst5, gText_ApprenticeMonFirstThanks5},
+ {gText_ApprenticeWhichMonFirst6, gText_ApprenticeMonFirstThanks6},
+ {gText_ApprenticeWhichMonFirst7, gText_ApprenticeMonFirstThanks7},
+ {gText_ApprenticeWhichMonFirst8, gText_ApprenticeMonFirstThanks8},
+ {gText_ApprenticeWhichMonFirst9, gText_ApprenticeMonFirstThanks9},
+ {gText_ApprenticeWhichMonFirst10, gText_ApprenticeMonFirstThanks10},
+ {gText_ApprenticeWhichMonFirst11, gText_ApprenticeMonFirstThanks11},
+ {gText_ApprenticeWhichMonFirst12, gText_ApprenticeMonFirstThanks12},
+ {gText_ApprenticeWhichMonFirst13, gText_ApprenticeMonFirstThanks13},
+ {gText_ApprenticeWhichMonFirst14, gText_ApprenticeMonFirstThanks14},
+ {gText_ApprenticeWhichMonFirst15, gText_ApprenticeMonFirstThanks15},
+};
+
+static const u8 *const sApprenticePickWinSpeechTexts[NUM_APPRENTICES][2] =
+{
+ {gText_ApprenticePickWinSpeech0, gText_ApprenticeWinSpeechThanks0},
+ {gText_ApprenticePickWinSpeech1, gText_ApprenticeWinSpeechThanks1},
+ {gText_ApprenticePickWinSpeech2, gText_ApprenticeWinSpeechThanks2},
+ {gText_ApprenticePickWinSpeech3, gText_ApprenticeWinSpeechThanks3},
+ {gText_ApprenticePickWinSpeech4, gText_ApprenticeWinSpeechThanks4},
+ {gText_ApprenticePickWinSpeech5, gText_ApprenticeWinSpeechThanks5},
+ {gText_ApprenticePickWinSpeech6, gText_ApprenticeWinSpeechThanks6},
+ {gText_ApprenticePickWinSpeech7, gText_ApprenticeWinSpeechThanks7},
+ {gText_ApprenticePickWinSpeech8, gText_ApprenticeWinSpeechThanks8},
+ {gText_ApprenticePickWinSpeech9, gText_ApprenticeWinSpeechThanks9},
+ {gText_ApprenticePickWinSpeech10, gText_ApprenticeWinSpeechThanks10},
+ {gText_ApprenticePickWinSpeech11, gText_ApprenticeWinSpeechThanks11},
+ {gText_ApprenticePickWinSpeech12, gText_ApprenticeWinSpeechThanks12},
+ {gText_ApprenticePickWinSpeech13, gText_ApprenticeWinSpeechThanks13},
+ {gText_ApprenticePickWinSpeech14, gText_ApprenticeWinSpeechThanks14},
+ {gText_ApprenticePickWinSpeech15, gText_ApprenticeWinSpeechThanks15},
+};
+
+static const u8 *const sApprenticeChallengeTexts[NUM_APPRENTICES] =
+{
+ gText_ApprenticeChallenge0,
+ gText_ApprenticeChallenge1,
+ gText_ApprenticeChallenge2,
+ gText_ApprenticeChallenge3,
+ gText_ApprenticeChallenge4,
+ gText_ApprenticeChallenge5,
+ gText_ApprenticeChallenge6,
+ gText_ApprenticeChallenge7,
+ gText_ApprenticeChallenge8,
+ gText_ApprenticeChallenge9,
+ gText_ApprenticeChallenge10,
+ gText_ApprenticeChallenge11,
+ gText_ApprenticeChallenge12,
+ gText_ApprenticeChallenge13,
+ gText_ApprenticeChallenge14,
+ gText_ApprenticeChallenge15,
+};
+
+// Unclear what the criteria are for valid moves
+// Notably, a large percentage of multi-strike moves are not valid
+static const bool8 sValidApprenticeMoves[MOVES_COUNT] =
+{
+ [MOVE_NONE] = FALSE,
+ [MOVE_POUND] = FALSE,
+ [MOVE_KARATE_CHOP] = TRUE,
+ [MOVE_DOUBLE_SLAP] = TRUE,
+ [MOVE_COMET_PUNCH] = FALSE,
+ [MOVE_MEGA_PUNCH] = TRUE,
+ [MOVE_PAY_DAY] = FALSE,
+ [MOVE_FIRE_PUNCH] = TRUE,
+ [MOVE_ICE_PUNCH] = TRUE,
+ [MOVE_THUNDER_PUNCH] = TRUE,
+ [MOVE_SCRATCH] = FALSE,
+ [MOVE_VICE_GRIP] = FALSE,
+ [MOVE_GUILLOTINE] = TRUE,
+ [MOVE_RAZOR_WIND] = FALSE,
+ [MOVE_SWORDS_DANCE] = TRUE,
+ [MOVE_CUT] = FALSE,
+ [MOVE_GUST] = FALSE,
+ [MOVE_WING_ATTACK] = FALSE,
+ [MOVE_WHIRLWIND] = TRUE,
+ [MOVE_FLY] = TRUE,
+ [MOVE_BIND] = TRUE,
+ [MOVE_SLAM] = TRUE,
+ [MOVE_VINE_WHIP] = FALSE,
+ [MOVE_STOMP] = TRUE,
+ [MOVE_DOUBLE_KICK] = TRUE,
+ [MOVE_MEGA_KICK] = TRUE,
+ [MOVE_JUMP_KICK] = TRUE,
+ [MOVE_ROLLING_KICK] = TRUE,
+ [MOVE_SAND_ATTACK] = TRUE,
+ [MOVE_HEADBUTT] = TRUE,
+ [MOVE_HORN_ATTACK] = FALSE,
+ [MOVE_FURY_ATTACK] = FALSE,
+ [MOVE_HORN_DRILL] = TRUE,
+ [MOVE_TACKLE] = FALSE,
+ [MOVE_BODY_SLAM] = TRUE,
+ [MOVE_WRAP] = TRUE,
+ [MOVE_TAKE_DOWN] = TRUE,
+ [MOVE_THRASH] = TRUE,
+ [MOVE_DOUBLE_EDGE] = TRUE,
+ [MOVE_TAIL_WHIP] = FALSE,
+ [MOVE_POISON_STING] = FALSE,
+ [MOVE_TWINEEDLE] = TRUE,
+ [MOVE_PIN_MISSILE] = FALSE,
+ [MOVE_LEER] = FALSE,
+ [MOVE_BITE] = TRUE,
+ [MOVE_GROWL] = FALSE,
+ [MOVE_ROAR] = TRUE,
+ [MOVE_SING] = TRUE,
+ [MOVE_SUPERSONIC] = TRUE,
+ [MOVE_SONIC_BOOM] = TRUE,
+ [MOVE_DISABLE] = TRUE,
+ [MOVE_ACID] = FALSE,
+ [MOVE_EMBER] = FALSE,
+ [MOVE_FLAMETHROWER] = TRUE,
+ [MOVE_MIST] = TRUE,
+ [MOVE_WATER_GUN] = FALSE,
+ [MOVE_HYDRO_PUMP] = TRUE,
+ [MOVE_SURF] = TRUE,
+ [MOVE_ICE_BEAM] = TRUE,
+ [MOVE_BLIZZARD] = TRUE,
+ [MOVE_PSYBEAM] = TRUE,
+ [MOVE_BUBBLE_BEAM] = FALSE,
+ [MOVE_AURORA_BEAM] = FALSE,
+ [MOVE_HYPER_BEAM] = TRUE,
+ [MOVE_PECK] = FALSE,
+ [MOVE_DRILL_PECK] = TRUE,
+ [MOVE_SUBMISSION] = TRUE,
+ [MOVE_LOW_KICK] = TRUE,
+ [MOVE_COUNTER] = TRUE,
+ [MOVE_SEISMIC_TOSS] = TRUE,
+ [MOVE_STRENGTH] = TRUE,
+ [MOVE_ABSORB] = FALSE,
+ [MOVE_MEGA_DRAIN] = FALSE,
+ [MOVE_LEECH_SEED] = TRUE,
+ [MOVE_GROWTH] = TRUE,
+ [MOVE_RAZOR_LEAF] = TRUE,
+ [MOVE_SOLAR_BEAM] = TRUE,
+ [MOVE_POISON_POWDER] = TRUE,
+ [MOVE_STUN_SPORE] = TRUE,
+ [MOVE_SLEEP_POWDER] = TRUE,
+ [MOVE_PETAL_DANCE] = TRUE,
+ [MOVE_STRING_SHOT] = FALSE,
+ [MOVE_DRAGON_RAGE] = TRUE,
+ [MOVE_FIRE_SPIN] = TRUE,
+ [MOVE_THUNDER_SHOCK] = FALSE,
+ [MOVE_THUNDERBOLT] = TRUE,
+ [MOVE_THUNDER_WAVE] = TRUE,
+ [MOVE_THUNDER] = TRUE,
+ [MOVE_ROCK_THROW] = FALSE,
+ [MOVE_EARTHQUAKE] = TRUE,
+ [MOVE_FISSURE] = TRUE,
+ [MOVE_DIG] = TRUE,
+ [MOVE_TOXIC] = TRUE,
+ [MOVE_CONFUSION] = FALSE,
+ [MOVE_PSYCHIC] = TRUE,
+ [MOVE_HYPNOSIS] = TRUE,
+ [MOVE_MEDITATE] = TRUE,
+ [MOVE_AGILITY] = TRUE,
+ [MOVE_QUICK_ATTACK] = TRUE,
+ [MOVE_RAGE] = FALSE,
+ [MOVE_TELEPORT] = FALSE,
+ [MOVE_NIGHT_SHADE] = TRUE,
+ [MOVE_MIMIC] = TRUE,
+ [MOVE_SCREECH] = TRUE,
+ [MOVE_DOUBLE_TEAM] = TRUE,
+ [MOVE_RECOVER] = TRUE,
+ [MOVE_HARDEN] = TRUE,
+ [MOVE_MINIMIZE] = TRUE,
+ [MOVE_SMOKESCREEN] = TRUE,
+ [MOVE_CONFUSE_RAY] = TRUE,
+ [MOVE_WITHDRAW] = TRUE,
+ [MOVE_DEFENSE_CURL] = TRUE,
+ [MOVE_BARRIER] = TRUE,
+ [MOVE_LIGHT_SCREEN] = TRUE,
+ [MOVE_HAZE] = TRUE,
+ [MOVE_REFLECT] = TRUE,
+ [MOVE_FOCUS_ENERGY] = TRUE,
+ [MOVE_BIDE] = FALSE,
+ [MOVE_METRONOME] = TRUE,
+ [MOVE_MIRROR_MOVE] = TRUE,
+ [MOVE_SELF_DESTRUCT] = TRUE,
+ [MOVE_EGG_BOMB] = TRUE,
+ [MOVE_LICK] = TRUE,
+ [MOVE_SMOG] = FALSE,
+ [MOVE_SLUDGE] = FALSE,
+ [MOVE_BONE_CLUB] = FALSE,
+ [MOVE_FIRE_BLAST] = TRUE,
+ [MOVE_WATERFALL] = TRUE,
+ [MOVE_CLAMP] = TRUE,
+ [MOVE_SWIFT] = TRUE,
+ [MOVE_SKULL_BASH] = TRUE,
+ [MOVE_SPIKE_CANNON] = FALSE,
+ [MOVE_CONSTRICT] = FALSE,
+ [MOVE_AMNESIA] = TRUE,
+ [MOVE_KINESIS] = TRUE,
+ [MOVE_SOFT_BOILED] = TRUE,
+ [MOVE_HI_JUMP_KICK] = TRUE,
+ [MOVE_GLARE] = TRUE,
+ [MOVE_DREAM_EATER] = TRUE,
+ [MOVE_POISON_GAS] = FALSE,
+ [MOVE_BARRAGE] = FALSE,
+ [MOVE_LEECH_LIFE] = FALSE,
+ [MOVE_LOVELY_KISS] = TRUE,
+ [MOVE_SKY_ATTACK] = TRUE,
+ [MOVE_TRANSFORM] = TRUE,
+ [MOVE_BUBBLE] = FALSE,
+ [MOVE_DIZZY_PUNCH] = TRUE,
+ [MOVE_SPORE] = TRUE,
+ [MOVE_FLASH] = TRUE,
+ [MOVE_PSYWAVE] = TRUE,
+ [MOVE_SPLASH] = FALSE,
+ [MOVE_ACID_ARMOR] = TRUE,
+ [MOVE_CRABHAMMER] = TRUE,
+ [MOVE_EXPLOSION] = TRUE,
+ [MOVE_FURY_SWIPES] = FALSE,
+ [MOVE_BONEMERANG] = TRUE,
+ [MOVE_REST] = TRUE,
+ [MOVE_ROCK_SLIDE] = TRUE,
+ [MOVE_HYPER_FANG] = TRUE,
+ [MOVE_SHARPEN] = TRUE,
+ [MOVE_CONVERSION] = TRUE,
+ [MOVE_TRI_ATTACK] = TRUE,
+ [MOVE_SUPER_FANG] = TRUE,
+ [MOVE_SLASH] = TRUE,
+ [MOVE_SUBSTITUTE] = TRUE,
+ [MOVE_STRUGGLE] = TRUE,
+ [MOVE_SKETCH] = TRUE,
+ [MOVE_TRIPLE_KICK] = TRUE,
+ [MOVE_THIEF] = TRUE,
+ [MOVE_SPIDER_WEB] = TRUE,
+ [MOVE_MIND_READER] = TRUE,
+ [MOVE_NIGHTMARE] = TRUE,
+ [MOVE_FLAME_WHEEL] = FALSE,
+ [MOVE_SNORE] = TRUE,
+ [MOVE_CURSE] = TRUE,
+ [MOVE_FLAIL] = TRUE,
+ [MOVE_CONVERSION_2] = TRUE,
+ [MOVE_AEROBLAST] = TRUE,
+ [MOVE_COTTON_SPORE] = TRUE,
+ [MOVE_REVERSAL] = TRUE,
+ [MOVE_SPITE] = TRUE,
+ [MOVE_POWDER_SNOW] = FALSE,
+ [MOVE_PROTECT] = TRUE,
+ [MOVE_MACH_PUNCH] = TRUE,
+ [MOVE_SCARY_FACE] = TRUE,
+ [MOVE_FAINT_ATTACK] = TRUE,
+ [MOVE_SWEET_KISS] = TRUE,
+ [MOVE_BELLY_DRUM] = TRUE,
+ [MOVE_SLUDGE_BOMB] = TRUE,
+ [MOVE_MUD_SLAP] = TRUE,
+ [MOVE_OCTAZOOKA] = TRUE,
+ [MOVE_SPIKES] = TRUE,
+ [MOVE_ZAP_CANNON] = TRUE,
+ [MOVE_FORESIGHT] = TRUE,
+ [MOVE_DESTINY_BOND] = TRUE,
+ [MOVE_PERISH_SONG] = TRUE,
+ [MOVE_ICY_WIND] = TRUE,
+ [MOVE_DETECT] = TRUE,
+ [MOVE_BONE_RUSH] = FALSE,
+ [MOVE_LOCK_ON] = TRUE,
+ [MOVE_OUTRAGE] = TRUE,
+ [MOVE_SANDSTORM] = TRUE,
+ [MOVE_GIGA_DRAIN] = TRUE,
+ [MOVE_ENDURE] = TRUE,
+ [MOVE_CHARM] = TRUE,
+ [MOVE_ROLLOUT] = TRUE,
+ [MOVE_FALSE_SWIPE] = TRUE,
+ [MOVE_SWAGGER] = TRUE,
+ [MOVE_MILK_DRINK] = TRUE,
+ [MOVE_SPARK] = FALSE,
+ [MOVE_FURY_CUTTER] = TRUE,
+ [MOVE_STEEL_WING] = TRUE,
+ [MOVE_MEAN_LOOK] = TRUE,
+ [MOVE_ATTRACT] = TRUE,
+ [MOVE_SLEEP_TALK] = TRUE,
+ [MOVE_HEAL_BELL] = TRUE,
+ [MOVE_RETURN] = TRUE,
+ [MOVE_PRESENT] = TRUE,
+ [MOVE_FRUSTRATION] = TRUE,
+ [MOVE_SAFEGUARD] = TRUE,
+ [MOVE_PAIN_SPLIT] = TRUE,
+ [MOVE_SACRED_FIRE] = TRUE,
+ [MOVE_MAGNITUDE] = FALSE,
+ [MOVE_DYNAMIC_PUNCH] = TRUE,
+ [MOVE_MEGAHORN] = TRUE,
+ [MOVE_DRAGON_BREATH] = TRUE,
+ [MOVE_BATON_PASS] = TRUE,
+ [MOVE_ENCORE] = TRUE,
+ [MOVE_PURSUIT] = TRUE,
+ [MOVE_RAPID_SPIN] = TRUE,
+ [MOVE_SWEET_SCENT] = TRUE,
+ [MOVE_IRON_TAIL] = TRUE,
+ [MOVE_METAL_CLAW] = TRUE,
+ [MOVE_VITAL_THROW] = TRUE,
+ [MOVE_MORNING_SUN] = TRUE,
+ [MOVE_SYNTHESIS] = TRUE,
+ [MOVE_MOONLIGHT] = TRUE,
+ [MOVE_HIDDEN_POWER] = TRUE,
+ [MOVE_CROSS_CHOP] = TRUE,
+ [MOVE_TWISTER] = FALSE,
+ [MOVE_RAIN_DANCE] = TRUE,
+ [MOVE_SUNNY_DAY] = TRUE,
+ [MOVE_CRUNCH] = TRUE,
+ [MOVE_MIRROR_COAT] = TRUE,
+ [MOVE_PSYCH_UP] = TRUE,
+ [MOVE_EXTREME_SPEED] = TRUE,
+ [MOVE_ANCIENT_POWER] = TRUE,
+ [MOVE_SHADOW_BALL] = TRUE,
+ [MOVE_FUTURE_SIGHT] = TRUE,
+ [MOVE_ROCK_SMASH] = TRUE,
+ [MOVE_WHIRLPOOL] = TRUE,
+ [MOVE_BEAT_UP] = TRUE,
+ [MOVE_FAKE_OUT] = TRUE,
+ [MOVE_UPROAR] = TRUE,
+ [MOVE_STOCKPILE] = TRUE,
+ [MOVE_SPIT_UP] = TRUE,
+ [MOVE_SWALLOW] = TRUE,
+ [MOVE_HEAT_WAVE] = TRUE,
+ [MOVE_HAIL] = TRUE,
+ [MOVE_TORMENT] = TRUE,
+ [MOVE_FLATTER] = TRUE,
+ [MOVE_WILL_O_WISP] = TRUE,
+ [MOVE_MEMENTO] = TRUE,
+ [MOVE_FACADE] = TRUE,
+ [MOVE_FOCUS_PUNCH] = TRUE,
+ [MOVE_SMELLING_SALT] = TRUE,
+ [MOVE_FOLLOW_ME] = TRUE,
+ [MOVE_NATURE_POWER] = TRUE,
+ [MOVE_CHARGE] = TRUE,
+ [MOVE_TAUNT] = TRUE,
+ [MOVE_HELPING_HAND] = TRUE,
+ [MOVE_TRICK] = TRUE,
+ [MOVE_ROLE_PLAY] = TRUE,
+ [MOVE_WISH] = TRUE,
+ [MOVE_ASSIST] = TRUE,
+ [MOVE_INGRAIN] = TRUE,
+ [MOVE_SUPERPOWER] = TRUE,
+ [MOVE_MAGIC_COAT] = TRUE,
+ [MOVE_RECYCLE] = TRUE,
+ [MOVE_REVENGE] = TRUE,
+ [MOVE_BRICK_BREAK] = TRUE,
+ [MOVE_YAWN] = TRUE,
+ [MOVE_KNOCK_OFF] = TRUE,
+ [MOVE_ENDEAVOR] = TRUE,
+ [MOVE_ERUPTION] = TRUE,
+ [MOVE_SKILL_SWAP] = TRUE,
+ [MOVE_IMPRISON] = TRUE,
+ [MOVE_REFRESH] = TRUE,
+ [MOVE_GRUDGE] = TRUE,
+ [MOVE_SNATCH] = TRUE,
+ [MOVE_SECRET_POWER] = TRUE,
+ [MOVE_DIVE] = TRUE,
+ [MOVE_ARM_THRUST] = FALSE,
+ [MOVE_CAMOUFLAGE] = TRUE,
+ [MOVE_TAIL_GLOW] = TRUE,
+ [MOVE_LUSTER_PURGE] = TRUE,
+ [MOVE_MIST_BALL] = TRUE,
+ [MOVE_FEATHER_DANCE] = TRUE,
+ [MOVE_TEETER_DANCE] = TRUE,
+ [MOVE_BLAZE_KICK] = TRUE,
+ [MOVE_MUD_SPORT] = TRUE,
+ [MOVE_ICE_BALL] = FALSE,
+ [MOVE_NEEDLE_ARM] = TRUE,
+ [MOVE_SLACK_OFF] = TRUE,
+ [MOVE_HYPER_VOICE] = TRUE,
+ [MOVE_POISON_FANG] = FALSE,
+ [MOVE_CRUSH_CLAW] = TRUE,
+ [MOVE_BLAST_BURN] = TRUE,
+ [MOVE_HYDRO_CANNON] = TRUE,
+ [MOVE_METEOR_MASH] = TRUE,
+ [MOVE_ASTONISH] = TRUE,
+ [MOVE_WEATHER_BALL] = TRUE,
+ [MOVE_AROMATHERAPY] = TRUE,
+ [MOVE_FAKE_TEARS] = TRUE,
+ [MOVE_AIR_CUTTER] = TRUE,
+ [MOVE_OVERHEAT] = TRUE,
+ [MOVE_ODOR_SLEUTH] = TRUE,
+ [MOVE_ROCK_TOMB] = TRUE,
+ [MOVE_SILVER_WIND] = TRUE,
+ [MOVE_METAL_SOUND] = TRUE,
+ [MOVE_GRASS_WHISTLE] = TRUE,
+ [MOVE_TICKLE] = TRUE,
+ [MOVE_COSMIC_POWER] = TRUE,
+ [MOVE_WATER_SPOUT] = TRUE,
+ [MOVE_SIGNAL_BEAM] = TRUE,
+ [MOVE_SHADOW_PUNCH] = TRUE,
+ [MOVE_EXTRASENSORY] = TRUE,
+ [MOVE_SKY_UPPERCUT] = TRUE,
+ [MOVE_SAND_TOMB] = TRUE,
+ [MOVE_SHEER_COLD] = TRUE,
+ [MOVE_MUDDY_WATER] = TRUE,
+ [MOVE_BULLET_SEED] = FALSE,
+ [MOVE_AERIAL_ACE] = TRUE,
+ [MOVE_ICICLE_SPEAR] = FALSE,
+ [MOVE_IRON_DEFENSE] = TRUE,
+ [MOVE_BLOCK] = TRUE,
+ [MOVE_HOWL] = TRUE,
+ [MOVE_DRAGON_CLAW] = TRUE,
+ [MOVE_FRENZY_PLANT] = TRUE,
+ [MOVE_BULK_UP] = TRUE,
+ [MOVE_BOUNCE] = TRUE,
+ [MOVE_MUD_SHOT] = FALSE,
+ [MOVE_POISON_TAIL] = TRUE,
+ [MOVE_COVET] = TRUE,
+ [MOVE_VOLT_TACKLE] = TRUE,
+ [MOVE_MAGICAL_LEAF] = TRUE,
+ [MOVE_WATER_SPORT] = TRUE,
+ [MOVE_CALM_MIND] = TRUE,
+ [MOVE_LEAF_BLADE] = TRUE,
+ [MOVE_DRAGON_DANCE] = TRUE,
+ [MOVE_ROCK_BLAST] = FALSE,
+ [MOVE_SHOCK_WAVE] = TRUE,
+ [MOVE_WATER_PULSE] = TRUE,
+ [MOVE_DOOM_DESIRE] = TRUE,
+ [MOVE_PSYCHO_BOOST] = TRUE,
+};
+
+// The possible questions to ask after the initial 3 WHICH MON questions. Retrieved from here and shuffled
+// WHAT_ITEM has max 3 occurrences, one for each party member
+// WHICH_MOVE has max 5 occurrences, defined as NUM_WHICH_MOVE_QUESTIONS
+// WHICH_FIRST has max 1 occurrence, lead mon should only be chosen once
+// WHICH_SPEECH has max 1 occurrence, as the apprentice leaves after its asked
+static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] =
+{
+ QUESTION_ID_WHAT_ITEM,
+ QUESTION_ID_WHAT_ITEM,
+ QUESTION_ID_WHAT_ITEM,
+ QUESTION_ID_WHICH_MOVE,
+ QUESTION_ID_WHICH_MOVE,
+ QUESTION_ID_WHICH_MOVE,
+ QUESTION_ID_WHICH_MOVE,
+ QUESTION_ID_WHICH_MOVE,
+ QUESTION_ID_WHICH_FIRST,
+ QUESTION_ID_WIN_SPEECH
+};
+
+static void (* const sApprenticeFunctions[])(void) =
+{
+ [APPRENTICE_FUNC_GAVE_LVLMODE] = Script_GivenApprenticeLvlMode,
+ [APPRENTICE_FUNC_SET_LVLMODE] = Script_SetApprenticeLvlMode,
+ [APPRENTICE_FUNC_SET_ID] = Script_SetApprenticeId,
+ [APPRENTICE_FUNC_SHUFFLE_SPECIES] = ShuffleApprenticeSpecies,
+ [APPRENTICE_FUNC_RANDOMIZE_QUESTIONS] = Script_SetRandomQuestionData,
+ [APPRENTICE_FUNC_ANSWERED_QUESTION] = IncrementQuestionsAnswered,
+ [APPRENTICE_FUNC_IS_FINAL_QUESTION] = IsFinalQuestion,
+ [APPRENTICE_FUNC_MENU] = Script_CreateApprenticeMenu,
+ [APPRENTICE_FUNC_PRINT_MSG] = Script_PrintApprenticeMessage,
+ [APPRENTICE_FUNC_RESET] = Script_ResetPlayerApprentice,
+ [APPRENTICE_FUNC_CHECK_GONE] = GetShouldCheckApprenticeGone,
+ [APPRENTICE_FUNC_GET_QUESTION] = ApprenticeGetQuestion,
+ [APPRENTICE_FUNC_GET_NUM_PARTY_MONS] = GetNumApprenticePartyMonsAssigned,
+ [APPRENTICE_FUNC_SET_PARTY_MON] = SetApprenticePartyMon,
+ [APPRENTICE_FUNC_INIT_QUESTION_DATA] = InitQuestionData,
+ [APPRENTICE_FUNC_FREE_QUESTION_DATA] = FreeQuestionData,
+ [APPRENTICE_FUNC_BUFFER_STRING] = ApprenticeBufferString,
+ [APPRENTICE_FUNC_SET_MOVE] = SetApprenticeMonMove,
+ [APPRENTICE_FUNC_SET_LEAD_MON] = SetLeadApprenticeMon,
+ [APPRENTICE_FUNC_OPEN_BAG] = Script_ApprenticeOpenBagMenu,
+ [APPRENTICE_FUNC_TRY_SET_HELD_ITEM] = TrySetApprenticeHeldItem,
+ [APPRENTICE_FUNC_SAVE] = SaveApprentice,
+ [APPRENTICE_FUNC_SET_GFX_SAVED] = SetSavedApprenticeTrainerGfxId,
+ [APPRENTICE_FUNC_SET_GFX] = SetPlayerApprenticeTrainerGfxId,
+ [APPRENTICE_FUNC_SHOULD_LEAVE] = GetShouldApprenticeLeave,
+ [APPRENTICE_FUNC_SHIFT_SAVED] = ShiftSavedApprentices,
+};
+
+// The first Apprentice can only be one of these
+static const u8 sInitialApprenticeIds[8] = {0, 1, 2, 3, 6, 7, 8, 9};
diff --git a/src/data/battle_frontier/battle_frontier_exchange_corner.h b/src/data/battle_frontier/battle_frontier_exchange_corner.h
new file mode 100644
index 000000000..d29dbdc44
--- /dev/null
+++ b/src/data/battle_frontier/battle_frontier_exchange_corner.h
@@ -0,0 +1,99 @@
+static const u16 sFrontierExchangeCorner_Decor1[] =
+{
+ DECOR_KISS_POSTER,
+ DECOR_KISS_CUSHION,
+ DECOR_SMOOCHUM_DOLL,
+ DECOR_TOGEPI_DOLL,
+ DECOR_MEOWTH_DOLL,
+ DECOR_CLEFAIRY_DOLL,
+ DECOR_DITTO_DOLL,
+ DECOR_CYNDAQUIL_DOLL,
+ DECOR_CHIKORITA_DOLL,
+ DECOR_TOTODILE_DOLL,
+ 0xFFFF
+};
+
+static const u16 sFrontierExchangeCorner_Decor2[] =
+{
+ DECOR_LAPRAS_DOLL,
+ DECOR_SNORLAX_DOLL,
+ DECOR_VENUSAUR_DOLL,
+ DECOR_CHARIZARD_DOLL,
+ DECOR_BLASTOISE_DOLL,
+ 0xFFFF
+};
+
+static const u16 sFrontierExchangeCorner_Vitamins[] =
+{
+ ITEM_PROTEIN,
+ ITEM_CALCIUM,
+ ITEM_IRON,
+ ITEM_ZINC,
+ ITEM_CARBOS,
+ ITEM_HP_UP,
+ 0xFFFF
+};
+
+static const u16 sFrontierExchangeCorner_HoldItems[] =
+{
+ ITEM_LEFTOVERS,
+ ITEM_WHITE_HERB,
+ ITEM_QUICK_CLAW,
+ ITEM_MENTAL_HERB,
+ ITEM_BRIGHT_POWDER,
+ ITEM_CHOICE_BAND,
+ ITEM_KINGS_ROCK,
+ ITEM_FOCUS_BAND,
+ ITEM_SCOPE_LENS,
+ 0xFFFF
+};
+
+static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] =
+{
+ BattleFrontier_ExchangeServiceCorner_Text_KissPosterDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc,
+ gText_Exit,
+};
+
+static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
+{
+ BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
+ gText_Exit
+};
+
+static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
+{
+ BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_IronDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_ZincDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc,
+ gText_Exit
+};
+
+static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] =
+{
+ BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc,
+ BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc,
+ gText_Exit
+};
diff --git a/src/data/battle_frontier/battle_frontier_mons.h b/src/data/battle_frontier/battle_frontier_mons.h
index 44cfb8036..d94d6acaf 100644
--- a/src/data/battle_frontier/battle_frontier_mons.h
+++ b/src/data/battle_frontier/battle_frontier_mons.h
@@ -1,6173 +1,6173 @@
-const struct FacilityMon gBattleFrontierMons[] =
+const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
{
- [0] = {
+ [FRONTIER_MON_SUNKERN] = {
.species = SPECIES_SUNKERN,
.moves = {MOVE_MEGA_DRAIN, MOVE_HELPING_HAND, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [1] = {
+ [FRONTIER_MON_AZURILL] = {
.species = SPECIES_AZURILL,
.moves = {MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SING, MOVE_CHARM},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RASH
},
- [2] = {
+ [FRONTIER_MON_CATERPIE] = {
.species = SPECIES_CATERPIE,
.moves = {MOVE_TACKLE, MOVE_STRING_SHOT, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [3] = {
+ [FRONTIER_MON_WEEDLE] = {
.species = SPECIES_WEEDLE,
.moves = {MOVE_POISON_STING, MOVE_STRING_SHOT, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [4] = {
+ [FRONTIER_MON_WURMPLE] = {
.species = SPECIES_WURMPLE,
.moves = {MOVE_TACKLE, MOVE_STRING_SHOT, MOVE_POISON_STING, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [5] = {
+ [FRONTIER_MON_RALTS] = {
.species = SPECIES_RALTS,
.moves = {MOVE_CONFUSION, MOVE_IMPRISON, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [6] = {
+ [FRONTIER_MON_MAGIKARP] = {
.species = SPECIES_MAGIKARP,
.moves = {MOVE_FLAIL, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [7] = {
+ [FRONTIER_MON_FEEBAS] = {
.species = SPECIES_FEEBAS,
.moves = {MOVE_FLAIL, MOVE_MIRROR_COAT, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [8] = {
+ [FRONTIER_MON_METAPOD] = {
.species = SPECIES_METAPOD,
.moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BASHFUL
},
- [9] = {
+ [FRONTIER_MON_KAKUNA] = {
.species = SPECIES_KAKUNA,
.moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BASHFUL
},
- [10] = {
+ [FRONTIER_MON_PICHU] = {
.species = SPECIES_PICHU,
.moves = {MOVE_SWEET_KISS, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_SHOCK_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RASH
},
- [11] = {
+ [FRONTIER_MON_SILCOON] = {
.species = SPECIES_SILCOON,
.moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BASHFUL
},
- [12] = {
+ [FRONTIER_MON_CASCOON] = {
.species = SPECIES_CASCOON,
.moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BASHFUL
},
- [13] = {
+ [FRONTIER_MON_IGGLYBUFF] = {
.species = SPECIES_IGGLYBUFF,
.moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_ATTRACT, MOVE_SEISMIC_TOSS},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [14] = {
+ [FRONTIER_MON_WOOPER] = {
.species = SPECIES_WOOPER,
.moves = {MOVE_YAWN, MOVE_DIG, MOVE_WATER_PULSE, MOVE_RAIN_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [15] = {
+ [FRONTIER_MON_TYROGUE] = {
.species = SPECIES_TYROGUE,
.moves = {MOVE_MACH_PUNCH, MOVE_PROTECT, MOVE_DOUBLE_TEAM, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [16] = {
+ [FRONTIER_MON_SENTRET] = {
.species = SPECIES_SENTRET,
.moves = {MOVE_QUICK_ATTACK, MOVE_FOLLOW_ME, MOVE_HELPING_HAND, MOVE_ASSIST},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [17] = {
+ [FRONTIER_MON_CLEFFA] = {
.species = SPECIES_CLEFFA,
.moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_ATTRACT, MOVE_METRONOME},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SERIOUS
},
- [18] = {
+ [FRONTIER_MON_SEEDOT] = {
.species = SPECIES_SEEDOT,
.moves = {MOVE_BULLET_SEED, MOVE_BIDE, MOVE_DEFENSE_CURL, MOVE_ROLLOUT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [19] = {
+ [FRONTIER_MON_LOTAD] = {
.species = SPECIES_LOTAD,
.moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_SUNNY_DAY, MOVE_MEGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [20] = {
+ [FRONTIER_MON_POOCHYENA] = {
.species = SPECIES_POOCHYENA,
.moves = {MOVE_CRUNCH, MOVE_SWAGGER, MOVE_ROAR, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [21] = {
+ [FRONTIER_MON_SHEDINJA] = {
.species = SPECIES_SHEDINJA,
.moves = {MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_SILVER_WIND, MOVE_GRUDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_NAIVE
},
- [22] = {
+ [FRONTIER_MON_MAKUHITA] = {
.species = SPECIES_MAKUHITA,
.moves = {MOVE_FAKE_OUT, MOVE_SEISMIC_TOSS, MOVE_DETECT, MOVE_WHIRLWIND},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [23] = {
+ [FRONTIER_MON_WHISMUR] = {
.species = SPECIES_WHISMUR,
.moves = {MOVE_UPROAR, MOVE_SWAGGER, MOVE_BODY_SLAM, MOVE_SMELLING_SALT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [24] = {
+ [FRONTIER_MON_ZIGZAGOON] = {
.species = SPECIES_ZIGZAGOON,
.moves = {MOVE_HEADBUTT, MOVE_PIN_MISSILE, MOVE_SWIFT, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_TIMID
},
- [25] = {
+ [FRONTIER_MON_ZUBAT] = {
.species = SPECIES_ZUBAT,
.moves = {MOVE_POISON_FANG, MOVE_WHIRLWIND, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [26] = {
+ [FRONTIER_MON_TOGEPI] = {
.species = SPECIES_TOGEPI,
.moves = {MOVE_RETURN, MOVE_YAWN, MOVE_WISH, MOVE_SWEET_KISS},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [27] = {
+ [FRONTIER_MON_SPINARAK] = {
.species = SPECIES_SPINARAK,
.moves = {MOVE_SIGNAL_BEAM, MOVE_NIGHT_SHADE, MOVE_SPIDER_WEB, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [28] = {
+ [FRONTIER_MON_MARILL] = {
.species = SPECIES_MARILL,
.moves = {MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_LIGHT_SCREEN, MOVE_RETURN},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_GENTLE
},
- [29] = {
+ [FRONTIER_MON_HOPPIP] = {
.species = SPECIES_HOPPIP,
.moves = {MOVE_MEGA_DRAIN, MOVE_LEECH_SEED, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_LAX
},
- [30] = {
+ [FRONTIER_MON_SLUGMA] = {
.species = SPECIES_SLUGMA,
.moves = {MOVE_EMBER, MOVE_ROCK_SLIDE, MOVE_YAWN, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [31] = {
+ [FRONTIER_MON_SWINUB] = {
.species = SPECIES_SWINUB,
.moves = {MOVE_ICY_WIND, MOVE_DIG, MOVE_ROCK_TOMB, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_GENTLE
},
- [32] = {
+ [FRONTIER_MON_SMEARGLE] = {
.species = SPECIES_SMEARGLE,
.moves = {MOVE_EXTREME_SPEED, MOVE_FAKE_OUT, MOVE_QUICK_ATTACK, MOVE_MACH_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [33] = {
+ [FRONTIER_MON_PIDGEY] = {
.species = SPECIES_PIDGEY,
.moves = {MOVE_GUST, MOVE_SAND_ATTACK, MOVE_WHIRLWIND, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [34] = {
+ [FRONTIER_MON_RATTATA] = {
.species = SPECIES_RATTATA,
.moves = {MOVE_HYPER_FANG, MOVE_PURSUIT, MOVE_QUICK_ATTACK, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [35] = {
+ [FRONTIER_MON_WYNAUT] = {
.species = SPECIES_WYNAUT,
.moves = {MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_CHARM},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_JOLLY
},
- [36] = {
+ [FRONTIER_MON_SKITTY] = {
.species = SPECIES_SKITTY,
.moves = {MOVE_SING, MOVE_ATTRACT, MOVE_CHARM, MOVE_DOUBLE_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [37] = {
+ [FRONTIER_MON_SPEAROW] = {
.species = SPECIES_SPEAROW,
.moves = {MOVE_FURY_ATTACK, MOVE_PURSUIT, MOVE_MIRROR_MOVE, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [38] = {
+ [FRONTIER_MON_HOOTHOOT] = {
.species = SPECIES_HOOTHOOT,
.moves = {MOVE_CONFUSION, MOVE_HYPNOSIS, MOVE_SUPERSONIC, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [39] = {
+ [FRONTIER_MON_DIGLETT] = {
.species = SPECIES_DIGLETT,
.moves = {MOVE_MAGNITUDE, MOVE_SLASH, MOVE_ROCK_TOMB, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAIVE
},
- [40] = {
+ [FRONTIER_MON_LEDYBA] = {
.species = SPECIES_LEDYBA,
.moves = {MOVE_PSYBEAM, MOVE_AGILITY, MOVE_BATON_PASS, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BASHFUL
},
- [41] = {
+ [FRONTIER_MON_NINCADA] = {
.species = SPECIES_NINCADA,
.moves = {MOVE_MUD_SLAP, MOVE_DIG, MOVE_TOXIC, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [42] = {
+ [FRONTIER_MON_SURSKIT] = {
.species = SPECIES_SURSKIT,
.moves = {MOVE_BUBBLE_BEAM, MOVE_RAIN_DANCE, MOVE_SWEET_SCENT, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [43] = {
+ [FRONTIER_MON_JIGGLYPUFF] = {
.species = SPECIES_JIGGLYPUFF,
.moves = {MOVE_SING, MOVE_WISH, MOVE_MIMIC, MOVE_DOUBLE_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [44] = {
+ [FRONTIER_MON_TAILLOW] = {
.species = SPECIES_TAILLOW,
.moves = {MOVE_FLY, MOVE_QUICK_ATTACK, MOVE_ENDEAVOR, MOVE_FOCUS_ENERGY},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_GENTLE
},
- [45] = {
+ [FRONTIER_MON_WINGULL] = {
.species = SPECIES_WINGULL,
.moves = {MOVE_WATER_PULSE, MOVE_FLY, MOVE_QUICK_ATTACK, MOVE_STEEL_WING},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [46] = {
+ [FRONTIER_MON_NIDORAN_M] = {
.species = SPECIES_NIDORAN_M,
.moves = {MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_DISABLE, MOVE_HELPING_HAND},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [47] = {
+ [FRONTIER_MON_NIDORAN_F] = {
.species = SPECIES_NIDORAN_F,
.moves = {MOVE_CRUNCH, MOVE_DOUBLE_KICK, MOVE_FLATTER, MOVE_HELPING_HAND},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [48] = {
+ [FRONTIER_MON_KIRLIA] = {
.species = SPECIES_KIRLIA,
.moves = {MOVE_CONFUSION, MOVE_WILL_O_WISP, MOVE_FUTURE_SIGHT, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [49] = {
+ [FRONTIER_MON_MAREEP] = {
.species = SPECIES_MAREEP,
.moves = {MOVE_SHOCK_WAVE, MOVE_FLASH, MOVE_REFLECT, MOVE_COTTON_SPORE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [50] = {
+ [FRONTIER_MON_MEDITITE] = {
.species = SPECIES_MEDITITE,
.moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [51] = {
+ [FRONTIER_MON_SLAKOTH] = {
.species = SPECIES_SLAKOTH,
.moves = {MOVE_YAWN, MOVE_SCRATCH, MOVE_ENCORE, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [52] = {
+ [FRONTIER_MON_PARAS] = {
.species = SPECIES_PARAS,
.moves = {MOVE_SPORE, MOVE_LEECH_LIFE, MOVE_SLASH, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [53] = {
+ [FRONTIER_MON_EKANS] = {
.species = SPECIES_EKANS,
.moves = {MOVE_ACID, MOVE_DIG, MOVE_SCREECH, MOVE_TORMENT},
.itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [54] = {
+ [FRONTIER_MON_DITTO] = {
.species = SPECIES_DITTO,
.moves = {MOVE_TRANSFORM, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_METAL_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [55] = {
+ [FRONTIER_MON_BARBOACH] = {
.species = SPECIES_BARBOACH,
.moves = {MOVE_MAGNITUDE, MOVE_WATER_PULSE, MOVE_SPARK, MOVE_FUTURE_SIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_BASHFUL
},
- [56] = {
+ [FRONTIER_MON_MEOWTH] = {
.species = SPECIES_MEOWTH,
.moves = {MOVE_SLASH, MOVE_BITE, MOVE_SCREECH, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [57] = {
+ [FRONTIER_MON_PINECO] = {
.species = SPECIES_PINECO,
.moves = {MOVE_SELF_DESTRUCT, MOVE_TAKE_DOWN, MOVE_REFLECT, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [58] = {
+ [FRONTIER_MON_TRAPINCH] = {
.species = SPECIES_TRAPINCH,
.moves = {MOVE_TOXIC, MOVE_DIG, MOVE_SANDSTORM, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SERIOUS
},
- [59] = {
+ [FRONTIER_MON_SPHEAL] = {
.species = SPECIES_SPHEAL,
.moves = {MOVE_ICE_BALL, MOVE_WATER_PULSE, MOVE_HAIL, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [60] = {
+ [FRONTIER_MON_HORSEA] = {
.species = SPECIES_HORSEA,
.moves = {MOVE_WATER_GUN, MOVE_AGILITY, MOVE_ICY_WIND, MOVE_TWISTER},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [61] = {
+ [FRONTIER_MON_SHROOMISH] = {
.species = SPECIES_SHROOMISH,
.moves = {MOVE_SPORE, MOVE_BULLET_SEED, MOVE_LEECH_SEED, MOVE_HEADBUTT},
.itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [62] = {
+ [FRONTIER_MON_SHUPPET] = {
.species = SPECIES_SHUPPET,
.moves = {MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_GRUDGE, MOVE_KNOCK_OFF},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RASH
},
- [63] = {
+ [FRONTIER_MON_DUSKULL] = {
.species = SPECIES_DUSKULL,
.moves = {MOVE_SKILL_SWAP, MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [64] = {
+ [FRONTIER_MON_ELECTRIKE] = {
.species = SPECIES_ELECTRIKE,
.moves = {MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [65] = {
+ [FRONTIER_MON_VULPIX] = {
.species = SPECIES_VULPIX,
.moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [66] = {
+ [FRONTIER_MON_PIKACHU] = {
.species = SPECIES_PIKACHU,
.moves = {MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_LIGHT_BALL,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [67] = {
+ [FRONTIER_MON_SANDSHREW] = {
.species = SPECIES_SANDSHREW,
.moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [68] = {
+ [FRONTIER_MON_POLIWAG] = {
.species = SPECIES_POLIWAG,
.moves = {MOVE_HYPNOSIS, MOVE_ICY_WIND, MOVE_WATER_GUN, MOVE_RAIN_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [69] = {
+ [FRONTIER_MON_BELLSPROUT] = {
.species = SPECIES_BELLSPROUT,
.moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_WRAP},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_LAX
},
- [70] = {
+ [FRONTIER_MON_GEODUDE] = {
.species = SPECIES_GEODUDE,
.moves = {MOVE_MAGNITUDE, MOVE_ROCK_BLAST, MOVE_STRENGTH, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [71] = {
+ [FRONTIER_MON_DRATINI] = {
.species = SPECIES_DRATINI,
.moves = {MOVE_OUTRAGE, MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_WATER_PULSE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [72] = {
+ [FRONTIER_MON_SNUBBULL] = {
.species = SPECIES_SNUBBULL,
.moves = {MOVE_BITE, MOVE_CHARM, MOVE_SWAGGER, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [73] = {
+ [FRONTIER_MON_REMORAID] = {
.species = SPECIES_REMORAID,
.moves = {MOVE_BUBBLE_BEAM, MOVE_AURORA_BEAM, MOVE_PSYBEAM, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [74] = {
+ [FRONTIER_MON_LARVITAR] = {
.species = SPECIES_LARVITAR,
.moves = {MOVE_THRASH, MOVE_ROCK_SLIDE, MOVE_DIG, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [75] = {
+ [FRONTIER_MON_BALTOY] = {
.species = SPECIES_BALTOY,
.moves = {MOVE_PSYBEAM, MOVE_ANCIENT_POWER, MOVE_LIGHT_SCREEN, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [76] = {
+ [FRONTIER_MON_SNORUNT] = {
.species = SPECIES_SNORUNT,
.moves = {MOVE_ICY_WIND, MOVE_HEADBUTT, MOVE_LEER, MOVE_BITE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [77] = {
+ [FRONTIER_MON_BAGON] = {
.species = SPECIES_BAGON,
.moves = {MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_BRICK_BREAK, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [78] = {
+ [FRONTIER_MON_BELDUM] = {
.species = SPECIES_BELDUM,
.moves = {MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [79] = {
+ [FRONTIER_MON_GULPIN] = {
.species = SPECIES_GULPIN,
.moves = {MOVE_TOXIC, MOVE_YAWN, MOVE_PAIN_SPLIT, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SERIOUS
},
- [80] = {
+ [FRONTIER_MON_VENONAT] = {
.species = SPECIES_VENONAT,
.moves = {MOVE_PSYBEAM, MOVE_SUPERSONIC, MOVE_STUN_SPORE, MOVE_SKILL_SWAP},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [81] = {
+ [FRONTIER_MON_MANKEY] = {
.species = SPECIES_MANKEY,
.moves = {MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SCREECH, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [82] = {
+ [FRONTIER_MON_MACHOP] = {
.species = SPECIES_MACHOP,
.moves = {MOVE_SEISMIC_TOSS, MOVE_REVENGE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [83] = {
+ [FRONTIER_MON_SHELLDER] = {
.species = SPECIES_SHELLDER,
.moves = {MOVE_ICICLE_SPEAR, MOVE_SUPERSONIC, MOVE_CLAMP, MOVE_WITHDRAW},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [84] = {
+ [FRONTIER_MON_SMOOCHUM] = {
.species = SPECIES_SMOOCHUM,
.moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_MUD_SLAP, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [85] = {
+ [FRONTIER_MON_NUMEL] = {
.species = SPECIES_NUMEL,
.moves = {MOVE_EMBER, MOVE_MAGNITUDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [86] = {
+ [FRONTIER_MON_CARVANHA] = {
.species = SPECIES_CARVANHA,
.moves = {MOVE_BITE, MOVE_SCREECH, MOVE_SCARY_FACE, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [87] = {
+ [FRONTIER_MON_CORPHISH] = {
.species = SPECIES_CORPHISH,
.moves = {MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_MUD_SLAP, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [88] = {
+ [FRONTIER_MON_CHARMANDER] = {
.species = SPECIES_CHARMANDER,
.moves = {MOVE_FIRE_SPIN, MOVE_METAL_CLAW, MOVE_SMOKESCREEN, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [89] = {
+ [FRONTIER_MON_CYNDAQUIL] = {
.species = SPECIES_CYNDAQUIL,
.moves = {MOVE_EMBER, MOVE_SWIFT, MOVE_QUICK_ATTACK, MOVE_SMOKESCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [90] = {
+ [FRONTIER_MON_ABRA] = {
.species = SPECIES_ABRA,
.moves = {MOVE_MIMIC, MOVE_METRONOME, MOVE_FLASH, MOVE_SEISMIC_TOSS},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [91] = {
+ [FRONTIER_MON_DODUO] = {
.species = SPECIES_DODUO,
.moves = {MOVE_FURY_ATTACK, MOVE_UPROAR, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [92] = {
+ [FRONTIER_MON_GASTLY] = {
.species = SPECIES_GASTLY,
.moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_NIGHT_SHADE, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [93] = {
+ [FRONTIER_MON_SWABLU] = {
.species = SPECIES_SWABLU,
.moves = {MOVE_TAKE_DOWN, MOVE_DREAM_EATER, MOVE_SING, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [94] = {
+ [FRONTIER_MON_TREECKO] = {
.species = SPECIES_TREECKO,
.moves = {MOVE_BULLET_SEED, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_LONELY
},
- [95] = {
+ [FRONTIER_MON_TORCHIC] = {
.species = SPECIES_TORCHIC,
.moves = {MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [96] = {
+ [FRONTIER_MON_MUDKIP] = {
.species = SPECIES_MUDKIP,
.moves = {MOVE_WHIRLPOOL, MOVE_ENDEAVOR, MOVE_MUD_SPORT, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [97] = {
+ [FRONTIER_MON_SQUIRTLE] = {
.species = SPECIES_SQUIRTLE,
.moves = {MOVE_WATER_PULSE, MOVE_BITE, MOVE_WITHDRAW, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [98] = {
+ [FRONTIER_MON_TOTODILE] = {
.species = SPECIES_TOTODILE,
.moves = {MOVE_SLASH, MOVE_WATER_PULSE, MOVE_SCREECH, MOVE_ICY_WIND},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [99] = {
+ [FRONTIER_MON_SLOWPOKE] = {
.species = SPECIES_SLOWPOKE,
.moves = {MOVE_CONFUSION, MOVE_DISABLE, MOVE_WATER_PULSE, MOVE_YAWN},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [100] = {
+ [FRONTIER_MON_BULBASAUR] = {
.species = SPECIES_BULBASAUR,
.moves = {MOVE_RAZOR_LEAF, MOVE_SWEET_SCENT, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [101] = {
+ [FRONTIER_MON_CHIKORITA] = {
.species = SPECIES_CHIKORITA,
.moves = {MOVE_SECRET_POWER, MOVE_BULLET_SEED, MOVE_MUD_SLAP, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [102] = {
+ [FRONTIER_MON_ODDISH] = {
.species = SPECIES_ODDISH,
.moves = {MOVE_ACID, MOVE_STUN_SPORE, MOVE_SWEET_SCENT, MOVE_MOONLIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [103] = {
+ [FRONTIER_MON_PSYDUCK] = {
.species = SPECIES_PSYDUCK,
.moves = {MOVE_CONFUSION, MOVE_FURY_SWIPES, MOVE_AERIAL_ACE, MOVE_DISABLE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HASTY
},
- [104] = {
+ [FRONTIER_MON_CUBONE] = {
.species = SPECIES_CUBONE,
.moves = {MOVE_BONE_CLUB, MOVE_HEADBUTT, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [105] = {
+ [FRONTIER_MON_GOLDEEN] = {
.species = SPECIES_GOLDEEN,
.moves = {MOVE_WATERFALL, MOVE_FURY_ATTACK, MOVE_AGILITY, MOVE_PSYBEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [106] = {
+ [FRONTIER_MON_NATU] = {
.species = SPECIES_NATU,
.moves = {MOVE_NIGHT_SHADE, MOVE_FUTURE_SIGHT, MOVE_CONFUSE_RAY, MOVE_FLASH},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [107] = {
+ [FRONTIER_MON_CLEFAIRY] = {
.species = SPECIES_CLEFAIRY,
.moves = {MOVE_FOLLOW_ME, MOVE_RETURN, MOVE_ENCORE, MOVE_SING},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [108] = {
+ [FRONTIER_MON_MAGNEMITE] = {
.species = SPECIES_MAGNEMITE,
.moves = {MOVE_SHOCK_WAVE, MOVE_SUPERSONIC, MOVE_METAL_SOUND, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_GENTLE
},
- [109] = {
+ [FRONTIER_MON_SEEL] = {
.species = SPECIES_SEEL,
.moves = {MOVE_AURORA_BEAM, MOVE_DIVE, MOVE_BODY_SLAM, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [110] = {
+ [FRONTIER_MON_GRIMER] = {
.species = SPECIES_GRIMER,
.moves = {MOVE_SLUDGE, MOVE_ROCK_TOMB, MOVE_ACID_ARMOR, MOVE_MINIMIZE},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [111] = {
+ [FRONTIER_MON_KRABBY] = {
.species = SPECIES_KRABBY,
.moves = {MOVE_CRABHAMMER, MOVE_MUD_SHOT, MOVE_FLAIL, MOVE_KNOCK_OFF},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [112] = {
+ [FRONTIER_MON_EXEGGCUTE] = {
.species = SPECIES_EXEGGCUTE,
.moves = {MOVE_CONFUSION, MOVE_ANCIENT_POWER, MOVE_LEECH_SEED, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [113] = {
+ [FRONTIER_MON_EEVEE] = {
.species = SPECIES_EEVEE,
.moves = {MOVE_CHARM, MOVE_ATTRACT, MOVE_FLAIL, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [114] = {
+ [FRONTIER_MON_DROWZEE] = {
.species = SPECIES_DROWZEE,
.moves = {MOVE_CONFUSION, MOVE_HEADBUTT, MOVE_DISABLE, MOVE_BARRIER},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [115] = {
+ [FRONTIER_MON_VOLTORB] = {
.species = SPECIES_VOLTORB,
.moves = {MOVE_SPARK, MOVE_SCREECH, MOVE_ROLLOUT, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [116] = {
+ [FRONTIER_MON_CHINCHOU] = {
.species = SPECIES_CHINCHOU,
.moves = {MOVE_SPARK, MOVE_DIVE, MOVE_CONFUSE_RAY, MOVE_TAKE_DOWN},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [117] = {
+ [FRONTIER_MON_TEDDIURSA] = {
.species = SPECIES_TEDDIURSA,
.moves = {MOVE_SECRET_POWER, MOVE_FAKE_TEARS, MOVE_FAINT_ATTACK, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [118] = {
+ [FRONTIER_MON_DELIBIRD] = {
.species = SPECIES_DELIBIRD,
.moves = {MOVE_PRESENT, MOVE_ICE_BALL, MOVE_AERIAL_ACE, MOVE_HAIL},
.itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [119] = {
+ [FRONTIER_MON_HOUNDOUR] = {
.species = SPECIES_HOUNDOUR,
.moves = {MOVE_CRUNCH, MOVE_EMBER, MOVE_ROAR, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [120] = {
+ [FRONTIER_MON_PHANPY] = {
.species = SPECIES_PHANPY,
.moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_ROCK_TOMB, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [121] = {
+ [FRONTIER_MON_SPOINK] = {
.species = SPECIES_SPOINK,
.moves = {MOVE_PSYWAVE, MOVE_BOUNCE, MOVE_MAGIC_COAT, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [122] = {
+ [FRONTIER_MON_ARON] = {
.species = SPECIES_ARON,
.moves = {MOVE_METAL_CLAW, MOVE_AERIAL_ACE, MOVE_METAL_SOUND, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [123] = {
+ [FRONTIER_MON_LUVDISC] = {
.species = SPECIES_LUVDISC,
.moves = {MOVE_SWEET_KISS, MOVE_ATTRACT, MOVE_DIVE, MOVE_RAIN_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [124] = {
+ [FRONTIER_MON_TENTACOOL] = {
.species = SPECIES_TENTACOOL,
.moves = {MOVE_BUBBLE_BEAM, MOVE_ACID, MOVE_BARRIER, MOVE_WRAP},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [125] = {
+ [FRONTIER_MON_CACNEA] = {
.species = SPECIES_CACNEA,
.moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_COTTON_SPORE, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [126] = {
+ [FRONTIER_MON_UNOWN] = {
.species = SPECIES_UNOWN,
.moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [127] = {
+ [FRONTIER_MON_KOFFING] = {
.species = SPECIES_KOFFING,
.moves = {MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_TORMENT, MOVE_HAZE},
.itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [128] = {
+ [FRONTIER_MON_STARYU] = {
.species = SPECIES_STARYU,
.moves = {MOVE_BUBBLE_BEAM, MOVE_MINIMIZE, MOVE_SWIFT, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [129] = {
+ [FRONTIER_MON_SKIPLOOM] = {
.species = SPECIES_SKIPLOOM,
.moves = {MOVE_MEGA_DRAIN, MOVE_CONFUSION, MOVE_COTTON_SPORE, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [130] = {
+ [FRONTIER_MON_NUZLEAF] = {
.species = SPECIES_NUZLEAF,
.moves = {MOVE_EXTRASENSORY, MOVE_FAKE_OUT, MOVE_RAZOR_WIND, MOVE_FAINT_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [131] = {
+ [FRONTIER_MON_LOMBRE] = {
.species = SPECIES_LOMBRE,
.moves = {MOVE_WATER_PULSE, MOVE_FAKE_OUT, MOVE_BRICK_BREAK, MOVE_ABSORB},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [132] = {
+ [FRONTIER_MON_VIBRAVA] = {
.species = SPECIES_VIBRAVA,
.moves = {MOVE_DRAGON_BREATH, MOVE_DIG, MOVE_SCREECH, MOVE_ROCK_TOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [133] = {
+ [FRONTIER_MON_RHYHORN] = {
.species = SPECIES_RHYHORN,
.moves = {MOVE_ROCK_BLAST, MOVE_DIG, MOVE_SCARY_FACE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [134] = {
+ [FRONTIER_MON_CLAMPERL] = {
.species = SPECIES_CLAMPERL,
.moves = {MOVE_DIVE, MOVE_TOXIC, MOVE_IRON_DEFENSE, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_DEEP_SEA_SCALE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [135] = {
+ [FRONTIER_MON_PIDGEOTTO] = {
.species = SPECIES_PIDGEOTTO,
.moves = {MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [136] = {
+ [FRONTIER_MON_GROWLITHE] = {
.species = SPECIES_GROWLITHE,
.moves = {MOVE_FLAME_WHEEL, MOVE_BITE, MOVE_ROAR, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [137] = {
+ [FRONTIER_MON_FARFETCHD] = {
.species = SPECIES_FARFETCHD,
.moves = {MOVE_SLASH, MOVE_KNOCK_OFF, MOVE_SWORDS_DANCE, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_STICK,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [138] = {
+ [FRONTIER_MON_OMANYTE] = {
.species = SPECIES_OMANYTE,
.moves = {MOVE_MUD_SHOT, MOVE_WATER_GUN, MOVE_ANCIENT_POWER, MOVE_TICKLE},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [139] = {
+ [FRONTIER_MON_KABUTO] = {
.species = SPECIES_KABUTO,
.moves = {MOVE_MEGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_SAND_ATTACK, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [140] = {
+ [FRONTIER_MON_LILEEP] = {
.species = SPECIES_LILEEP,
.moves = {MOVE_ANCIENT_POWER, MOVE_ACID, MOVE_INGRAIN, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [141] = {
+ [FRONTIER_MON_ANORITH] = {
.species = SPECIES_ANORITH,
.moves = {MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_ANCIENT_POWER, MOVE_WATER_GUN},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [142] = {
+ [FRONTIER_MON_AIPOM] = {
.species = SPECIES_AIPOM,
.moves = {MOVE_FURY_SWIPES, MOVE_SAND_ATTACK, MOVE_BATON_PASS, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [143] = {
+ [FRONTIER_MON_ELEKID] = {
.species = SPECIES_ELEKID,
.moves = {MOVE_THUNDER_PUNCH, MOVE_QUICK_ATTACK, MOVE_SWIFT, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAIVE
},
- [144] = {
+ [FRONTIER_MON_LOUDRED] = {
.species = SPECIES_LOUDRED,
.moves = {MOVE_STOMP, MOVE_HOWL, MOVE_ASTONISH, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [145] = {
+ [FRONTIER_MON_SPINDA] = {
.species = SPECIES_SPINDA,
.moves = {MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FAINT_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [146] = {
+ [FRONTIER_MON_NIDORINA] = {
.species = SPECIES_NIDORINA,
.moves = {MOVE_DOUBLE_KICK, MOVE_BITE, MOVE_AERIAL_ACE, MOVE_FLATTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [147] = {
+ [FRONTIER_MON_NIDORINO] = {
.species = SPECIES_NIDORINO,
.moves = {MOVE_DOUBLE_KICK, MOVE_WATER_PULSE, MOVE_MUD_SLAP, MOVE_FLATTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [148] = {
+ [FRONTIER_MON_FLAAFFY] = {
.species = SPECIES_FLAAFFY,
.moves = {MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_COTTON_SPORE, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MILD
},
- [149] = {
+ [FRONTIER_MON_MAGBY] = {
.species = SPECIES_MAGBY,
.moves = {MOVE_FIRE_PUNCH, MOVE_SMOKESCREEN, MOVE_CONFUSE_RAY, MOVE_SMOG},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [150] = {
+ [FRONTIER_MON_NOSEPASS] = {
.species = SPECIES_NOSEPASS,
.moves = {MOVE_ROCK_SLIDE, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [151] = {
+ [FRONTIER_MON_CORSOLA] = {
.species = SPECIES_CORSOLA,
.moves = {MOVE_BUBBLE_BEAM, MOVE_MIRROR_COAT, MOVE_ATTRACT, MOVE_ANCIENT_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [152] = {
+ [FRONTIER_MON_MAWILE] = {
.species = SPECIES_MAWILE,
.moves = {MOVE_CRUNCH, MOVE_FAKE_TEARS, MOVE_IRON_DEFENSE, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [153] = {
+ [FRONTIER_MON_BUTTERFREE] = {
.species = SPECIES_BUTTERFREE,
.moves = {MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_WHIRLWIND},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [154] = {
+ [FRONTIER_MON_BEEDRILL] = {
.species = SPECIES_BEEDRILL,
.moves = {MOVE_TWINEEDLE, MOVE_PURSUIT, MOVE_ENDEAVOR, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [155] = {
+ [FRONTIER_MON_POLIWHIRL] = {
.species = SPECIES_POLIWHIRL,
.moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_SLAP, MOVE_ICY_WIND, MOVE_RAIN_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [156] = {
+ [FRONTIER_MON_ONIX] = {
.species = SPECIES_ONIX,
.moves = {MOVE_ROCK_SLIDE, MOVE_BIND, MOVE_DRAGON_BREATH, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [157] = {
+ [FRONTIER_MON_BEAUTIFLY] = {
.species = SPECIES_BEAUTIFLY,
.moves = {MOVE_SILVER_WIND, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_WHIRLWIND},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [158] = {
+ [FRONTIER_MON_DUSTOX] = {
.species = SPECIES_DUSTOX,
.moves = {MOVE_SILVER_WIND, MOVE_TOXIC, MOVE_PSYBEAM, MOVE_WHIRLWIND},
.itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [159] = {
+ [FRONTIER_MON_LEDIAN] = {
.species = SPECIES_LEDIAN,
.moves = {MOVE_COMET_PUNCH, MOVE_BATON_PASS, MOVE_SWORDS_DANCE, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_BASHFUL
},
- [160] = {
+ [FRONTIER_MON_ARIADOS] = {
.species = SPECIES_ARIADOS,
.moves = {MOVE_SIGNAL_BEAM, MOVE_SPIDER_WEB, MOVE_NIGHT_SHADE, MOVE_TOXIC},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SERIOUS
},
- [161] = {
+ [FRONTIER_MON_YANMA] = {
.species = SPECIES_YANMA,
.moves = {MOVE_SIGNAL_BEAM, MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_DETECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_RELAXED
},
- [162] = {
+ [FRONTIER_MON_DELCATTY_1] = {
.species = SPECIES_DELCATTY,
.moves = {MOVE_SECRET_POWER, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_HEAL_BELL},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [163] = {
+ [FRONTIER_MON_SABLEYE_1] = {
.species = SPECIES_SABLEYE,
.moves = {MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_KNOCK_OFF, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [164] = {
+ [FRONTIER_MON_LICKITUNG_1] = {
.species = SPECIES_LICKITUNG,
.moves = {MOVE_SLAM, MOVE_BRICK_BREAK, MOVE_LICK, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [165] = {
+ [FRONTIER_MON_WEEPINBELL_1] = {
.species = SPECIES_WEEPINBELL,
.moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_WRAP, MOVE_SWEET_SCENT},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [166] = {
+ [FRONTIER_MON_GRAVELER_1] = {
.species = SPECIES_GRAVELER,
.moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_DEFENSE_CURL, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [167] = {
+ [FRONTIER_MON_GLOOM_1] = {
.species = SPECIES_GLOOM,
.moves = {MOVE_PETAL_DANCE, MOVE_ACID, MOVE_STUN_SPORE, MOVE_MOONLIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [168] = {
+ [FRONTIER_MON_PORYGON_1] = {
.species = SPECIES_PORYGON,
.moves = {MOVE_PSYBEAM, MOVE_ICY_WIND, MOVE_RECYCLE, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [169] = {
+ [FRONTIER_MON_KADABRA_1] = {
.species = SPECIES_KADABRA,
.moves = {MOVE_CONFUSION, MOVE_ROLE_PLAY, MOVE_FUTURE_SIGHT, MOVE_DISABLE},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [170] = {
+ [FRONTIER_MON_WAILMER_1] = {
.species = SPECIES_WAILMER,
.moves = {MOVE_WHIRLPOOL, MOVE_ROAR, MOVE_DEFENSE_CURL, MOVE_ROLLOUT},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_DOCILE
},
- [171] = {
+ [FRONTIER_MON_ROSELIA_1] = {
.species = SPECIES_ROSELIA,
.moves = {MOVE_MAGICAL_LEAF, MOVE_TOXIC, MOVE_GRASS_WHISTLE, MOVE_COTTON_SPORE},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [172] = {
+ [FRONTIER_MON_VOLBEAT_1] = {
.species = SPECIES_VOLBEAT,
.moves = {MOVE_SILVER_WIND, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [173] = {
+ [FRONTIER_MON_ILLUMISE_1] = {
.species = SPECIES_ILLUMISE,
.moves = {MOVE_SILVER_WIND, MOVE_WISH, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [174] = {
+ [FRONTIER_MON_IVYSAUR_1] = {
.species = SPECIES_IVYSAUR,
.moves = {MOVE_PETAL_DANCE, MOVE_GROWTH, MOVE_SWEET_SCENT, MOVE_FURY_CUTTER},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_GENTLE
},
- [175] = {
+ [FRONTIER_MON_CHARMELEON_1] = {
.species = SPECIES_CHARMELEON,
.moves = {MOVE_SLASH, MOVE_FIRE_SPIN, MOVE_SWORDS_DANCE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [176] = {
+ [FRONTIER_MON_WARTORTLE_1] = {
.species = SPECIES_WARTORTLE,
.moves = {MOVE_WATER_PULSE, MOVE_BITE, MOVE_MUD_SLAP, MOVE_YAWN},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [177] = {
+ [FRONTIER_MON_PARASECT_1] = {
.species = SPECIES_PARASECT,
.moves = {MOVE_SLASH, MOVE_PSYBEAM, MOVE_STUN_SPORE, MOVE_FLASH},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_RASH
},
- [178] = {
+ [FRONTIER_MON_MACHOKE_1] = {
.species = SPECIES_MACHOKE,
.moves = {MOVE_LOW_KICK, MOVE_ROCK_TOMB, MOVE_FORESIGHT, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [179] = {
+ [FRONTIER_MON_HAUNTER_1] = {
.species = SPECIES_HAUNTER,
.moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_SPITE, MOVE_GRUDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RASH
},
- [180] = {
+ [FRONTIER_MON_BAYLEEF_1] = {
.species = SPECIES_BAYLEEF,
.moves = {MOVE_RAZOR_LEAF, MOVE_TOXIC, MOVE_SAFEGUARD, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [181] = {
+ [FRONTIER_MON_QUILAVA_1] = {
.species = SPECIES_QUILAVA,
.moves = {MOVE_FLAME_WHEEL, MOVE_FURY_SWIPES, MOVE_SWIFT, MOVE_SMOKESCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [182] = {
+ [FRONTIER_MON_CROCONAW_1] = {
.species = SPECIES_CROCONAW,
.moves = {MOVE_SLASH, MOVE_WATER_PULSE, MOVE_BITE, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [183] = {
+ [FRONTIER_MON_TOGETIC_1] = {
.species = SPECIES_TOGETIC,
.moves = {MOVE_AERIAL_ACE, MOVE_MAGICAL_LEAF, MOVE_WISH, MOVE_FOLLOW_ME},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [184] = {
+ [FRONTIER_MON_MURKROW_1] = {
.species = SPECIES_MURKROW,
.moves = {MOVE_FAINT_ATTACK, MOVE_FLY, MOVE_TORMENT, MOVE_TAUNT},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [185] = {
+ [FRONTIER_MON_WOBBUFFET_1] = {
.species = SPECIES_WOBBUFFET,
.moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_CHARM, MOVE_SAFEGUARD},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [186] = {
+ [FRONTIER_MON_PLUSLE_1] = {
.species = SPECIES_PLUSLE,
.moves = {MOVE_SPARK, MOVE_FAKE_TEARS, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [187] = {
+ [FRONTIER_MON_MINUN_1] = {
.species = SPECIES_MINUN,
.moves = {MOVE_SPARK, MOVE_CHARM, MOVE_ENCORE, MOVE_HELPING_HAND},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [188] = {
+ [FRONTIER_MON_GROVYLE_1] = {
.species = SPECIES_GROVYLE,
.moves = {MOVE_FURY_CUTTER, MOVE_ENDEAVOR, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [189] = {
+ [FRONTIER_MON_COMBUSKEN_1] = {
.species = SPECIES_COMBUSKEN,
.moves = {MOVE_EMBER, MOVE_DOUBLE_KICK, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [190] = {
+ [FRONTIER_MON_MARSHTOMP_1] = {
.species = SPECIES_MARSHTOMP,
.moves = {MOVE_MUD_SHOT, MOVE_WATER_GUN, MOVE_ROCK_TOMB, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [191] = {
+ [FRONTIER_MON_PONYTA_1] = {
.species = SPECIES_PONYTA,
.moves = {MOVE_FIRE_SPIN, MOVE_BOUNCE, MOVE_QUICK_ATTACK, MOVE_TAIL_WHIP},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [192] = {
+ [FRONTIER_MON_AZUMARILL_1] = {
.species = SPECIES_AZUMARILL,
.moves = {MOVE_BUBBLE_BEAM, MOVE_FACADE, MOVE_DIG, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_DOCILE
},
- [193] = {
+ [FRONTIER_MON_SUDOWOODO_1] = {
.species = SPECIES_SUDOWOODO,
.moves = {MOVE_ROCK_SLIDE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM, MOVE_BLOCK},
.itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [194] = {
+ [FRONTIER_MON_MAGCARGO_1] = {
.species = SPECIES_MAGCARGO,
.moves = {MOVE_ROCK_SLIDE, MOVE_EMBER, MOVE_ACID_ARMOR, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_GENTLE
},
- [195] = {
+ [FRONTIER_MON_PUPITAR_1] = {
.species = SPECIES_PUPITAR,
.moves = {MOVE_DIG, MOVE_BITE, MOVE_SCARY_FACE, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [196] = {
+ [FRONTIER_MON_SEALEO_1] = {
.species = SPECIES_SEALEO,
.moves = {MOVE_ICE_BALL, MOVE_HAIL, MOVE_SNORE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [197] = {
+ [FRONTIER_MON_RATICATE_1] = {
.species = SPECIES_RATICATE,
.moves = {MOVE_ENDEAVOR, MOVE_PURSUIT, MOVE_SCARY_FACE, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAIVE
},
- [198] = {
+ [FRONTIER_MON_MASQUERAIN_1] = {
.species = SPECIES_MASQUERAIN,
.moves = {MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ICY_WIND, MOVE_STUN_SPORE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_RELAXED
},
- [199] = {
+ [FRONTIER_MON_FURRET_1] = {
.species = SPECIES_FURRET,
.moves = {MOVE_SLAM, MOVE_PROTECT, MOVE_HELPING_HAND, MOVE_FOLLOW_ME},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_SERIOUS
},
- [200] = {
+ [FRONTIER_MON_DUNSPARCE_1] = {
.species = SPECIES_DUNSPARCE,
.moves = {MOVE_HEADBUTT, MOVE_GLARE, MOVE_DEFENSE_CURL, MOVE_ROLLOUT},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [201] = {
+ [FRONTIER_MON_DRAGONAIR_1] = {
.species = SPECIES_DRAGONAIR,
.moves = {MOVE_DRAGON_BREATH, MOVE_LEER, MOVE_WRAP, MOVE_SAFEGUARD},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [202] = {
+ [FRONTIER_MON_MIGHTYENA_1] = {
.species = SPECIES_MIGHTYENA,
.moves = {MOVE_BITE, MOVE_POISON_FANG, MOVE_TAUNT, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_TIMID
},
- [203] = {
+ [FRONTIER_MON_LINOONE_1] = {
.species = SPECIES_LINOONE,
.moves = {MOVE_SECRET_POWER, MOVE_SAND_ATTACK, MOVE_COVET, MOVE_TICKLE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [204] = {
+ [FRONTIER_MON_CASTFORM_1] = {
.species = SPECIES_CASTFORM,
.moves = {MOVE_EMBER, MOVE_WATER_PULSE, MOVE_SHOCK_WAVE, MOVE_ICY_WIND},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HASTY
},
- [205] = {
+ [FRONTIER_MON_SHELGON_1] = {
.species = SPECIES_SHELGON,
.moves = {MOVE_HEADBUTT, MOVE_DRAGON_BREATH, MOVE_PROTECT, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [206] = {
+ [FRONTIER_MON_METANG_1] = {
.species = SPECIES_METANG,
.moves = {MOVE_METAL_CLAW, MOVE_CONFUSION, MOVE_PURSUIT, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [207] = {
+ [FRONTIER_MON_WIGGLYTUFF_1] = {
.species = SPECIES_WIGGLYTUFF,
.moves = {MOVE_SING, MOVE_DISABLE, MOVE_WISH, MOVE_SECRET_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_RELAXED
},
- [208] = {
+ [FRONTIER_MON_SUNFLORA_1] = {
.species = SPECIES_SUNFLORA,
.moves = {MOVE_PETAL_DANCE, MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [209] = {
+ [FRONTIER_MON_CHIMECHO_1] = {
.species = SPECIES_CHIMECHO,
.moves = {MOVE_PSYWAVE, MOVE_TAKE_DOWN, MOVE_HEAL_BELL, MOVE_SAFEGUARD},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [210] = {
+ [FRONTIER_MON_GLIGAR_1] = {
.species = SPECIES_GLIGAR,
.moves = {MOVE_METAL_CLAW, MOVE_DIG, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HASTY
},
- [211] = {
+ [FRONTIER_MON_QWILFISH_1] = {
.species = SPECIES_QWILFISH,
.moves = {MOVE_BUBBLE_BEAM, MOVE_PIN_MISSILE, MOVE_SPIKES, MOVE_MINIMIZE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
.nature = NATURE_IMPISH
},
- [212] = {
+ [FRONTIER_MON_SNEASEL_1] = {
.species = SPECIES_SNEASEL,
.moves = {MOVE_FAINT_ATTACK, MOVE_FAKE_OUT, MOVE_ICY_WIND, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [213] = {
+ [FRONTIER_MON_PELIPPER_1] = {
.species = SPECIES_PELIPPER,
.moves = {MOVE_WATER_PULSE, MOVE_AERIAL_ACE, MOVE_STOCKPILE, MOVE_SWALLOW},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [214] = {
+ [FRONTIER_MON_SWELLOW_1] = {
.species = SPECIES_SWELLOW,
.moves = {MOVE_FLY, MOVE_ENDEAVOR, MOVE_FACADE, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [215] = {
+ [FRONTIER_MON_LAIRON_1] = {
.species = SPECIES_LAIRON,
.moves = {MOVE_METAL_CLAW, MOVE_ROCK_TOMB, MOVE_IRON_DEFENSE, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [216] = {
+ [FRONTIER_MON_TANGELA_1] = {
.species = SPECIES_TANGELA,
.moves = {MOVE_MEGA_DRAIN, MOVE_SLAM, MOVE_TOXIC, MOVE_BIND},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [217] = {
+ [FRONTIER_MON_ARBOK_1] = {
.species = SPECIES_ARBOK,
.moves = {MOVE_POISON_FANG, MOVE_DIG, MOVE_BITE, MOVE_GLARE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [218] = {
+ [FRONTIER_MON_PERSIAN_1] = {
.species = SPECIES_PERSIAN,
.moves = {MOVE_FAKE_OUT, MOVE_SLASH, MOVE_TORMENT, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [219] = {
+ [FRONTIER_MON_SEADRA_1] = {
.species = SPECIES_SEADRA,
.moves = {MOVE_AURORA_BEAM, MOVE_SMOKESCREEN, MOVE_WATER_GUN, MOVE_RAIN_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [220] = {
+ [FRONTIER_MON_KECLEON_1] = {
.species = SPECIES_KECLEON,
.moves = {MOVE_SECRET_POWER, MOVE_PSYBEAM, MOVE_MAGIC_COAT, MOVE_SEISMIC_TOSS},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAIVE
},
- [221] = {
+ [FRONTIER_MON_VIGOROTH_1] = {
.species = SPECIES_VIGOROTH,
.moves = {MOVE_SLASH, MOVE_COUNTER, MOVE_ENCORE, MOVE_UPROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [222] = {
+ [FRONTIER_MON_LUNATONE_1] = {
.species = SPECIES_LUNATONE,
.moves = {MOVE_CONFUSION, MOVE_COSMIC_POWER, MOVE_LIGHT_SCREEN, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [223] = {
+ [FRONTIER_MON_SOLROCK_1] = {
.species = SPECIES_SOLROCK,
.moves = {MOVE_CONFUSION, MOVE_FIRE_SPIN, MOVE_LIGHT_SCREEN, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [224] = {
+ [FRONTIER_MON_NOCTOWL_1] = {
.species = SPECIES_NOCTOWL,
.moves = {MOVE_CONFUSION, MOVE_AERIAL_ACE, MOVE_FAINT_ATTACK, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [225] = {
+ [FRONTIER_MON_SANDSLASH_1] = {
.species = SPECIES_SANDSLASH,
.moves = {MOVE_CRUSH_CLAW, MOVE_ROCK_SLIDE, MOVE_SWIFT, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [226] = {
+ [FRONTIER_MON_VENOMOTH_1] = {
.species = SPECIES_VENOMOTH,
.moves = {MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_SLEEP_POWDER, MOVE_SKILL_SWAP},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [227] = {
+ [FRONTIER_MON_CHANSEY_1] = {
.species = SPECIES_CHANSEY,
.moves = {MOVE_METRONOME, MOVE_REFRESH, MOVE_DEFENSE_CURL, MOVE_MINIMIZE},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_RELAXED
},
- [228] = {
+ [FRONTIER_MON_SEAKING_1] = {
.species = SPECIES_SEAKING,
.moves = {MOVE_WATER_PULSE, MOVE_PSYBEAM, MOVE_SWIFT, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [229] = {
+ [FRONTIER_MON_JUMPLUFF_1] = {
.species = SPECIES_JUMPLUFF,
.moves = {MOVE_AERIAL_ACE, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [230] = {
+ [FRONTIER_MON_PILOSWINE_1] = {
.species = SPECIES_PILOSWINE,
.moves = {MOVE_DIG, MOVE_ANCIENT_POWER, MOVE_HAIL, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [231] = {
+ [FRONTIER_MON_GOLBAT_1] = {
.species = SPECIES_GOLBAT,
.moves = {MOVE_AIR_CUTTER, MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_STEEL_WING},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [232] = {
+ [FRONTIER_MON_PRIMEAPE_1] = {
.species = SPECIES_PRIMEAPE,
.moves = {MOVE_KARATE_CHOP, MOVE_COUNTER, MOVE_SWAGGER, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [233] = {
+ [FRONTIER_MON_HITMONLEE_1] = {
.species = SPECIES_HITMONLEE,
.moves = {MOVE_ROLLING_KICK, MOVE_BRICK_BREAK, MOVE_FOCUS_ENERGY, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [234] = {
+ [FRONTIER_MON_HITMONCHAN_1] = {
.species = SPECIES_HITMONCHAN,
.moves = {MOVE_MACH_PUNCH, MOVE_SKY_UPPERCUT, MOVE_DETECT, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [235] = {
+ [FRONTIER_MON_GIRAFARIG_1] = {
.species = SPECIES_GIRAFARIG,
.moves = {MOVE_PSYBEAM, MOVE_STOMP, MOVE_WISH, MOVE_SKILL_SWAP},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [236] = {
+ [FRONTIER_MON_HITMONTOP_1] = {
.species = SPECIES_HITMONTOP,
.moves = {MOVE_TRIPLE_KICK, MOVE_DIG, MOVE_MACH_PUNCH, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [237] = {
+ [FRONTIER_MON_BANETTE_1] = {
.species = SPECIES_BANETTE,
.moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SPITE, MOVE_KNOCK_OFF},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [238] = {
+ [FRONTIER_MON_NINJASK_1] = {
.species = SPECIES_NINJASK,
.moves = {MOVE_BATON_PASS, MOVE_SWORDS_DANCE, MOVE_ENDURE, MOVE_DIG},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MILD
},
- [239] = {
+ [FRONTIER_MON_SEVIPER_1] = {
.species = SPECIES_SEVIPER,
.moves = {MOVE_POISON_TAIL, MOVE_BITE, MOVE_GLARE, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [240] = {
+ [FRONTIER_MON_ZANGOOSE_1] = {
.species = SPECIES_ZANGOOSE,
.moves = {MOVE_SLASH, MOVE_DOUBLE_KICK, MOVE_ROAR, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [241] = {
+ [FRONTIER_MON_CAMERUPT_1] = {
.species = SPECIES_CAMERUPT,
.moves = {MOVE_MAGNITUDE, MOVE_PROTECT, MOVE_SANDSTORM, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [242] = {
+ [FRONTIER_MON_SHARPEDO_1] = {
.species = SPECIES_SHARPEDO,
.moves = {MOVE_SLASH, MOVE_BITE, MOVE_WATER_PULSE, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [243] = {
+ [FRONTIER_MON_TROPIUS_1] = {
.species = SPECIES_TROPIUS,
.moves = {MOVE_MAGICAL_LEAF, MOVE_WHIRLWIND, MOVE_AERIAL_ACE, MOVE_STEEL_WING},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [244] = {
+ [FRONTIER_MON_MAGNETON_1] = {
.species = SPECIES_MAGNETON,
.moves = {MOVE_SHOCK_WAVE, MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_LONELY
},
- [245] = {
+ [FRONTIER_MON_MANTINE_1] = {
.species = SPECIES_MANTINE,
.moves = {MOVE_BUBBLE_BEAM, MOVE_AERIAL_ACE, MOVE_RAIN_DANCE, MOVE_ICY_WIND},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [246] = {
+ [FRONTIER_MON_STANTLER_1] = {
.species = SPECIES_STANTLER,
.moves = {MOVE_EXTRASENSORY, MOVE_CONFUSE_RAY, MOVE_STOMP, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_GENTLE
},
- [247] = {
+ [FRONTIER_MON_ABSOL_1] = {
.species = SPECIES_ABSOL,
.moves = {MOVE_BITE, MOVE_RAZOR_WIND, MOVE_FUTURE_SIGHT, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [248] = {
+ [FRONTIER_MON_SWALOT_1] = {
.species = SPECIES_SWALOT,
.moves = {MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_SLUDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIRKY
},
- [249] = {
+ [FRONTIER_MON_CRAWDAUNT_1] = {
.species = SPECIES_CRAWDAUNT,
.moves = {MOVE_BUBBLE_BEAM, MOVE_VICE_GRIP, MOVE_KNOCK_OFF, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [250] = {
+ [FRONTIER_MON_PIDGEOT_1] = {
.species = SPECIES_PIDGEOT,
.moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [251] = {
+ [FRONTIER_MON_GRUMPIG_1] = {
.species = SPECIES_GRUMPIG,
.moves = {MOVE_PSYBEAM, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT, MOVE_MAGIC_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [252] = {
+ [FRONTIER_MON_TORKOAL_1] = {
.species = SPECIES_TORKOAL,
.moves = {MOVE_EMBER, MOVE_FIRE_SPIN, MOVE_SMOKESCREEN, MOVE_AMNESIA},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [253] = {
+ [FRONTIER_MON_KINGLER_1] = {
.species = SPECIES_KINGLER,
.moves = {MOVE_CRABHAMMER, MOVE_METAL_CLAW, MOVE_MUD_SHOT, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [254] = {
+ [FRONTIER_MON_CACTURNE_1] = {
.species = SPECIES_CACTURNE,
.moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_ACID, MOVE_MEGA_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_HASTY
},
- [255] = {
+ [FRONTIER_MON_BELLOSSOM_1] = {
.species = SPECIES_BELLOSSOM,
.moves = {MOVE_PETAL_DANCE, MOVE_SAFEGUARD, MOVE_SUNNY_DAY, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [256] = {
+ [FRONTIER_MON_OCTILLERY_1] = {
.species = SPECIES_OCTILLERY,
.moves = {MOVE_OCTAZOOKA, MOVE_AURORA_BEAM, MOVE_PSYBEAM, MOVE_ROCK_BLAST},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [257] = {
+ [FRONTIER_MON_HUNTAIL_1] = {
.species = SPECIES_HUNTAIL,
.moves = {MOVE_WHIRLPOOL, MOVE_SCARY_FACE, MOVE_MUD_SLAP, MOVE_BITE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [258] = {
+ [FRONTIER_MON_GOREBYSS_1] = {
.species = SPECIES_GOREBYSS,
.moves = {MOVE_WHIRLPOOL, MOVE_AMNESIA, MOVE_ICY_WIND, MOVE_CONFUSION},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [259] = {
+ [FRONTIER_MON_RELICANTH_1] = {
.species = SPECIES_RELICANTH,
.moves = {MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_HARDEN, MOVE_AMNESIA},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [260] = {
+ [FRONTIER_MON_OMASTAR_1] = {
.species = SPECIES_OMASTAR,
.moves = {MOVE_BUBBLE_BEAM, MOVE_SPIKE_CANNON, MOVE_TICKLE, MOVE_ANCIENT_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [261] = {
+ [FRONTIER_MON_KABUTOPS_1] = {
.species = SPECIES_KABUTOPS,
.moves = {MOVE_SLASH, MOVE_DIG, MOVE_FURY_CUTTER, MOVE_KNOCK_OFF},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [262] = {
+ [FRONTIER_MON_POLIWRATH_1] = {
.species = SPECIES_POLIWRATH,
.moves = {MOVE_SUBMISSION, MOVE_DIG, MOVE_ROCK_TOMB, MOVE_BUBBLE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [263] = {
+ [FRONTIER_MON_SCYTHER_1] = {
.species = SPECIES_SCYTHER,
.moves = {MOVE_FURY_CUTTER, MOVE_AERIAL_ACE, MOVE_LIGHT_SCREEN, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [264] = {
+ [FRONTIER_MON_PINSIR_1] = {
.species = SPECIES_PINSIR,
.moves = {MOVE_SUBMISSION, MOVE_FOCUS_ENERGY, MOVE_SWORDS_DANCE, MOVE_REVENGE},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [265] = {
+ [FRONTIER_MON_POLITOED_1] = {
.species = SPECIES_POLITOED,
.moves = {MOVE_DIVE, MOVE_DIG, MOVE_HYPNOSIS, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_RELAXED
},
- [266] = {
+ [FRONTIER_MON_CLOYSTER_1] = {
.species = SPECIES_CLOYSTER,
.moves = {MOVE_AURORA_BEAM, MOVE_SPIKE_CANNON, MOVE_SUPERSONIC, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [267] = {
+ [FRONTIER_MON_DELCATTY_2] = {
.species = SPECIES_DELCATTY,
.moves = {MOVE_FAKE_TEARS, MOVE_SING, MOVE_THUNDERBOLT, MOVE_ICE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [268] = {
+ [FRONTIER_MON_SABLEYE_2] = {
.species = SPECIES_SABLEYE,
.moves = {MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [269] = {
+ [FRONTIER_MON_LICKITUNG_2] = {
.species = SPECIES_LICKITUNG,
.moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [270] = {
+ [FRONTIER_MON_WEEPINBELL_2] = {
.species = SPECIES_WEEPINBELL,
.moves = {MOVE_SLUDGE_BOMB, MOVE_RAZOR_LEAF, MOVE_SLEEP_POWDER, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIRKY
},
- [271] = {
+ [FRONTIER_MON_GRAVELER_2] = {
.species = SPECIES_GRAVELER,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [272] = {
+ [FRONTIER_MON_GLOOM_2] = {
.species = SPECIES_GLOOM,
.moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SLUDGE_BOMB, MOVE_MOONLIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [273] = {
+ [FRONTIER_MON_PORYGON_2] = {
.species = SPECIES_PORYGON,
.moves = {MOVE_TRI_ATTACK, MOVE_PSYCHIC, MOVE_THUNDER_WAVE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [274] = {
+ [FRONTIER_MON_KADABRA_2] = {
.species = SPECIES_KADABRA,
.moves = {MOVE_PSYCHIC, MOVE_THUNDER_WAVE, MOVE_REFLECT, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [275] = {
+ [FRONTIER_MON_WAILMER_2] = {
.species = SPECIES_WAILMER,
.moves = {MOVE_WATER_SPOUT, MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_DOCILE
},
- [276] = {
+ [FRONTIER_MON_ROSELIA_2] = {
.species = SPECIES_ROSELIA,
.moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_GRASS_WHISTLE, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [277] = {
+ [FRONTIER_MON_VOLBEAT_2] = {
.species = SPECIES_VOLBEAT,
.moves = {MOVE_SIGNAL_BEAM, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_TAIL_GLOW},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [278] = {
+ [FRONTIER_MON_ILLUMISE_2] = {
.species = SPECIES_ILLUMISE,
.moves = {MOVE_SILVER_WIND, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [279] = {
+ [FRONTIER_MON_IVYSAUR_2] = {
.species = SPECIES_IVYSAUR,
.moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_SLEEP_POWDER, MOVE_LEECH_SEED},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [280] = {
+ [FRONTIER_MON_CHARMELEON_2] = {
.species = SPECIES_CHARMELEON,
.moves = {MOVE_FLAMETHROWER, MOVE_SLASH, MOVE_ANCIENT_POWER, MOVE_DRAGON_RAGE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [281] = {
+ [FRONTIER_MON_WARTORTLE_2] = {
.species = SPECIES_WARTORTLE,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAPID_SPIN, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [282] = {
+ [FRONTIER_MON_PARASECT_2] = {
.species = SPECIES_PARASECT,
.moves = {MOVE_SPORE, MOVE_GIGA_DRAIN, MOVE_DIG, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [283] = {
+ [FRONTIER_MON_MACHOKE_2] = {
.species = SPECIES_MACHOKE,
.moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FORESIGHT, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [284] = {
+ [FRONTIER_MON_HAUNTER_2] = {
.species = SPECIES_HAUNTER,
.moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NIGHTMARE, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [285] = {
+ [FRONTIER_MON_BAYLEEF_2] = {
.species = SPECIES_BAYLEEF,
.moves = {MOVE_GIGA_DRAIN, MOVE_BODY_SLAM, MOVE_GRASS_WHISTLE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [286] = {
+ [FRONTIER_MON_QUILAVA_2] = {
.species = SPECIES_QUILAVA,
.moves = {MOVE_FLAMETHROWER, MOVE_CRUSH_CLAW, MOVE_BODY_SLAM, MOVE_SMOKESCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [287] = {
+ [FRONTIER_MON_CROCONAW_2] = {
.species = SPECIES_CROCONAW,
.moves = {MOVE_MEGA_KICK, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_DIG},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [288] = {
+ [FRONTIER_MON_TOGETIC_2] = {
.species = SPECIES_TOGETIC,
.moves = {MOVE_RETURN, MOVE_SWEET_KISS, MOVE_AERIAL_ACE, MOVE_YAWN},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [289] = {
+ [FRONTIER_MON_MURKROW_2] = {
.species = SPECIES_MURKROW,
.moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [290] = {
+ [FRONTIER_MON_WOBBUFFET_2] = {
.species = SPECIES_WOBBUFFET,
.moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_ENCORE, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_CAREFUL
},
- [291] = {
+ [FRONTIER_MON_PLUSLE_2] = {
.species = SPECIES_PLUSLE,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_SEISMIC_TOSS, MOVE_WISH},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [292] = {
+ [FRONTIER_MON_MINUN_2] = {
.species = SPECIES_MINUN,
.moves = {MOVE_THUNDERBOLT, MOVE_ATTRACT, MOVE_CHARM, MOVE_WISH},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [293] = {
+ [FRONTIER_MON_GROVYLE_2] = {
.species = SPECIES_GROVYLE,
.moves = {MOVE_GIGA_DRAIN, MOVE_CRUSH_CLAW, MOVE_SCREECH, MOVE_ROCK_TOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [294] = {
+ [FRONTIER_MON_COMBUSKEN_2] = {
.species = SPECIES_COMBUSKEN,
.moves = {MOVE_FLAMETHROWER, MOVE_SKY_UPPERCUT, MOVE_SLASH, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [295] = {
+ [FRONTIER_MON_MARSHTOMP_2] = {
.species = SPECIES_MARSHTOMP,
.moves = {MOVE_MUDDY_WATER, MOVE_EARTHQUAKE, MOVE_MUD_SLAP, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [296] = {
+ [FRONTIER_MON_PONYTA_2] = {
.species = SPECIES_PONYTA,
.moves = {MOVE_FLAMETHROWER, MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [297] = {
+ [FRONTIER_MON_AZUMARILL_2] = {
.species = SPECIES_AZUMARILL,
.moves = {MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_IRON_TAIL, MOVE_DIG},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [298] = {
+ [FRONTIER_MON_SUDOWOODO_2] = {
.species = SPECIES_SUDOWOODO,
.moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_LOW_KICK, MOVE_SELF_DESTRUCT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [299] = {
+ [FRONTIER_MON_MAGCARGO_2] = {
.species = SPECIES_MAGCARGO,
.moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [300] = {
+ [FRONTIER_MON_PUPITAR_2] = {
.species = SPECIES_PUPITAR,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [301] = {
+ [FRONTIER_MON_SEALEO_2] = {
.species = SPECIES_SEALEO,
.moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_BODY_SLAM, MOVE_HAIL},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [302] = {
+ [FRONTIER_MON_RATICATE_2] = {
.species = SPECIES_RATICATE,
.moves = {MOVE_SUPER_FANG, MOVE_HYPER_FANG, MOVE_SHADOW_BALL, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [303] = {
+ [FRONTIER_MON_MASQUERAIN_2] = {
.species = SPECIES_MASQUERAIN,
.moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_GIGA_DRAIN, MOVE_STUN_SPORE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [304] = {
+ [FRONTIER_MON_FURRET_2] = {
.species = SPECIES_FURRET,
.moves = {MOVE_TRICK, MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_FOLLOW_ME},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [305] = {
+ [FRONTIER_MON_DUNSPARCE_2] = {
.species = SPECIES_DUNSPARCE,
.moves = {MOVE_ICE_BEAM, MOVE_ROCK_TOMB, MOVE_BITE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [306] = {
+ [FRONTIER_MON_DRAGONAIR_2] = {
.species = SPECIES_DRAGONAIR,
.moves = {MOVE_RETURN, MOVE_REST, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [307] = {
+ [FRONTIER_MON_MIGHTYENA_2] = {
.species = SPECIES_MIGHTYENA,
.moves = {MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIRKY
},
- [308] = {
+ [FRONTIER_MON_LINOONE_2] = {
.species = SPECIES_LINOONE,
.moves = {MOVE_TRICK, MOVE_FRUSTRATION, MOVE_THUNDER_WAVE, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [309] = {
+ [FRONTIER_MON_CASTFORM_2] = {
.species = SPECIES_CASTFORM,
.moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_WATER_PULSE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [310] = {
+ [FRONTIER_MON_SHELGON_2] = {
.species = SPECIES_SHELGON,
.moves = {MOVE_FRUSTRATION, MOVE_DRAGON_DANCE, MOVE_CRUNCH, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [311] = {
+ [FRONTIER_MON_METANG_2] = {
.species = SPECIES_METANG,
.moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_BODY_SLAM, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [312] = {
+ [FRONTIER_MON_WIGGLYTUFF_2] = {
.species = SPECIES_WIGGLYTUFF,
.moves = {MOVE_FAKE_TEARS, MOVE_SING, MOVE_DREAM_EATER, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_DOCILE
},
- [313] = {
+ [FRONTIER_MON_SUNFLORA_2] = {
.species = SPECIES_SUNFLORA,
.moves = {MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_GROWTH, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [314] = {
+ [FRONTIER_MON_CHIMECHO_2] = {
.species = SPECIES_CHIMECHO,
.moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEAL_BELL},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [315] = {
+ [FRONTIER_MON_GLIGAR_2] = {
.species = SPECIES_GLIGAR,
.moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_GUILLOTINE, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [316] = {
+ [FRONTIER_MON_QWILFISH_2] = {
.species = SPECIES_QWILFISH,
.moves = {MOVE_REVENGE, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [317] = {
+ [FRONTIER_MON_SNEASEL_2] = {
.species = SPECIES_SNEASEL,
.moves = {MOVE_CRUSH_CLAW, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [318] = {
+ [FRONTIER_MON_PELIPPER_2] = {
.species = SPECIES_PELIPPER,
.moves = {MOVE_SURF, MOVE_BLIZZARD, MOVE_AERIAL_ACE, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [319] = {
+ [FRONTIER_MON_SWELLOW_2] = {
.species = SPECIES_SWELLOW,
.moves = {MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_PURSUIT, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [320] = {
+ [FRONTIER_MON_LAIRON_2] = {
.species = SPECIES_LAIRON,
.moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROAR, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [321] = {
+ [FRONTIER_MON_TANGELA_2] = {
.species = SPECIES_TANGELA,
.moves = {MOVE_GIGA_DRAIN, MOVE_STUN_SPORE, MOVE_REST, MOVE_AMNESIA},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [322] = {
+ [FRONTIER_MON_ARBOK_2] = {
.species = SPECIES_ARBOK,
.moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_GLARE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [323] = {
+ [FRONTIER_MON_PERSIAN_2] = {
.species = SPECIES_PERSIAN,
.moves = {MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_ROAR, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [324] = {
+ [FRONTIER_MON_SEADRA_2] = {
.species = SPECIES_SEADRA,
.moves = {MOVE_HYDRO_PUMP, MOVE_FRUSTRATION, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [325] = {
+ [FRONTIER_MON_KECLEON_2] = {
.species = SPECIES_KECLEON,
.moves = {MOVE_TRICK, MOVE_BRICK_BREAK, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [326] = {
+ [FRONTIER_MON_VIGOROTH_2] = {
.species = SPECIES_VIGOROTH,
.moves = {MOVE_CRUSH_CLAW, MOVE_REVERSAL, MOVE_ENDURE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [327] = {
+ [FRONTIER_MON_LUNATONE_2] = {
.species = SPECIES_LUNATONE,
.moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_COSMIC_POWER, MOVE_CALM_MIND},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [328] = {
+ [FRONTIER_MON_SOLROCK_2] = {
.species = SPECIES_SOLROCK,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COSMIC_POWER, MOVE_OVERHEAT},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [329] = {
+ [FRONTIER_MON_NOCTOWL_2] = {
.species = SPECIES_NOCTOWL,
.moves = {MOVE_PSYCHIC, MOVE_FAINT_ATTACK, MOVE_AERIAL_ACE, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [330] = {
+ [FRONTIER_MON_SANDSLASH_2] = {
.species = SPECIES_SANDSLASH,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUSH_CLAW, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [331] = {
+ [FRONTIER_MON_VENOMOTH_2] = {
.species = SPECIES_VENOMOTH,
.moves = {MOVE_SIGNAL_BEAM, MOVE_PSYCHIC, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [332] = {
+ [FRONTIER_MON_CHANSEY_2] = {
.species = SPECIES_CHANSEY,
.moves = {MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_SOFT_BOILED},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_RELAXED
},
- [333] = {
+ [FRONTIER_MON_SEAKING_2] = {
.species = SPECIES_SEAKING,
.moves = {MOVE_HORN_DRILL, MOVE_MEGAHORN, MOVE_SLEEP_TALK, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [334] = {
+ [FRONTIER_MON_JUMPLUFF_2] = {
.species = SPECIES_JUMPLUFF,
.moves = {MOVE_LEECH_SEED, MOVE_SLEEP_POWDER, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BOLD
},
- [335] = {
+ [FRONTIER_MON_PILOSWINE_2] = {
.species = SPECIES_PILOSWINE,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BODY_SLAM, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_ADAMANT
},
- [336] = {
+ [FRONTIER_MON_GOLBAT_2] = {
.species = SPECIES_GOLBAT,
.moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [337] = {
+ [FRONTIER_MON_PRIMEAPE_2] = {
.species = SPECIES_PRIMEAPE,
.moves = {MOVE_CROSS_CHOP, MOVE_ROCK_TOMB, MOVE_OVERHEAT, MOVE_BULK_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [338] = {
+ [FRONTIER_MON_HITMONLEE_2] = {
.species = SPECIES_HITMONLEE,
.moves = {MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_FORESIGHT, MOVE_ROCK_TOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [339] = {
+ [FRONTIER_MON_HITMONCHAN_2] = {
.species = SPECIES_HITMONCHAN,
.moves = {MOVE_DYNAMIC_PUNCH, MOVE_MACH_PUNCH, MOVE_DETECT, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [340] = {
+ [FRONTIER_MON_GIRAFARIG_2] = {
.species = SPECIES_GIRAFARIG,
.moves = {MOVE_PSYCHIC, MOVE_CRUNCH, MOVE_BATON_PASS, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [341] = {
+ [FRONTIER_MON_HITMONTOP_2] = {
.species = SPECIES_HITMONTOP,
.moves = {MOVE_DOUBLE_EDGE, MOVE_SEISMIC_TOSS, MOVE_ROCK_SLIDE, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [342] = {
+ [FRONTIER_MON_BANETTE_2] = {
.species = SPECIES_BANETTE,
.moves = {MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_SCREECH, MOVE_WILL_O_WISP},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_ADAMANT
},
- [343] = {
+ [FRONTIER_MON_NINJASK_2] = {
.species = SPECIES_NINJASK,
.moves = {MOVE_SLASH, MOVE_SHADOW_BALL, MOVE_SWORDS_DANCE, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [344] = {
+ [FRONTIER_MON_SEVIPER_2] = {
.species = SPECIES_SEVIPER,
.moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [345] = {
+ [FRONTIER_MON_ZANGOOSE_2] = {
.species = SPECIES_ZANGOOSE,
.moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [346] = {
+ [FRONTIER_MON_CAMERUPT_2] = {
.species = SPECIES_CAMERUPT,
.moves = {MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_BODY_SLAM, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [347] = {
+ [FRONTIER_MON_SHARPEDO_2] = {
.species = SPECIES_SHARPEDO,
.moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_SURF},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [348] = {
+ [FRONTIER_MON_TROPIUS_2] = {
.species = SPECIES_TROPIUS,
.moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [349] = {
+ [FRONTIER_MON_MAGNETON_2] = {
.species = SPECIES_MAGNETON,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [350] = {
+ [FRONTIER_MON_MANTINE_2] = {
.species = SPECIES_MANTINE,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [351] = {
+ [FRONTIER_MON_STANTLER_2] = {
.species = SPECIES_STANTLER,
.moves = {MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [352] = {
+ [FRONTIER_MON_ABSOL_2] = {
.species = SPECIES_ABSOL,
.moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_IRON_TAIL},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [353] = {
+ [FRONTIER_MON_SWALOT_2] = {
.species = SPECIES_SWALOT,
.moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_BODY_SLAM, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [354] = {
+ [FRONTIER_MON_CRAWDAUNT_2] = {
.species = SPECIES_CRAWDAUNT,
.moves = {MOVE_GUILLOTINE, MOVE_FRUSTRATION, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [355] = {
+ [FRONTIER_MON_PIDGEOT_2] = {
.species = SPECIES_PIDGEOT,
.moves = {MOVE_RETURN, MOVE_AERIAL_ACE, MOVE_STEEL_WING, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [356] = {
+ [FRONTIER_MON_GRUMPIG_2] = {
.species = SPECIES_GRUMPIG,
.moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [357] = {
+ [FRONTIER_MON_TORKOAL_2] = {
.species = SPECIES_TORKOAL,
.moves = {MOVE_OVERHEAT, MOVE_BODY_SLAM, MOVE_SMOKESCREEN, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [358] = {
+ [FRONTIER_MON_KINGLER_2] = {
.species = SPECIES_KINGLER,
.moves = {MOVE_GUILLOTINE, MOVE_ROCK_TOMB, MOVE_FLAIL, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [359] = {
+ [FRONTIER_MON_CACTURNE_2] = {
.species = SPECIES_CACTURNE,
.moves = {MOVE_MEGA_KICK, MOVE_TEETER_DANCE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_HARDY
},
- [360] = {
+ [FRONTIER_MON_BELLOSSOM_2] = {
.species = SPECIES_BELLOSSOM,
.moves = {MOVE_SOLAR_BEAM, MOVE_ATTRACT, MOVE_SUNNY_DAY, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [361] = {
+ [FRONTIER_MON_OCTILLERY_2] = {
.species = SPECIES_OCTILLERY,
.moves = {MOVE_OCTAZOOKA, MOVE_FIRE_BLAST, MOVE_THUNDER_WAVE, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [362] = {
+ [FRONTIER_MON_HUNTAIL_2] = {
.species = SPECIES_HUNTAIL,
.moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_CRUNCH, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [363] = {
+ [FRONTIER_MON_GOREBYSS_2] = {
.species = SPECIES_GOREBYSS,
.moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_PSYCHIC, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [364] = {
+ [FRONTIER_MON_RELICANTH_2] = {
.species = SPECIES_RELICANTH,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AMNESIA, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [365] = {
+ [FRONTIER_MON_OMASTAR_2] = {
.species = SPECIES_OMASTAR,
.moves = {MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE, MOVE_ICE_BEAM, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [366] = {
+ [FRONTIER_MON_KABUTOPS_2] = {
.species = SPECIES_KABUTOPS,
.moves = {MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_FLAIL, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [367] = {
+ [FRONTIER_MON_POLIWRATH_2] = {
.species = SPECIES_POLIWRATH,
.moves = {MOVE_BRICK_BREAK, MOVE_HYPNOSIS, MOVE_REST, MOVE_BELLY_DRUM},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [368] = {
+ [FRONTIER_MON_SCYTHER_2] = {
.species = SPECIES_SCYTHER,
.moves = {MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [369] = {
+ [FRONTIER_MON_PINSIR_2] = {
.species = SPECIES_PINSIR,
.moves = {MOVE_GUILLOTINE, MOVE_SWORDS_DANCE, MOVE_FLAIL, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [370] = {
+ [FRONTIER_MON_POLITOED_2] = {
.species = SPECIES_POLITOED,
.moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_MUD_SLAP, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [371] = {
+ [FRONTIER_MON_CLOYSTER_2] = {
.species = SPECIES_CLOYSTER,
.moves = {MOVE_DIVE, MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [372] = {
+ [FRONTIER_MON_DUGTRIO_1] = {
.species = SPECIES_DUGTRIO,
.moves = {MOVE_EARTHQUAKE, MOVE_TRI_ATTACK, MOVE_SLASH, MOVE_SAND_TOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [373] = {
+ [FRONTIER_MON_MEDICHAM_1] = {
.species = SPECIES_MEDICHAM,
.moves = {MOVE_PSYCHIC, MOVE_HI_JUMP_KICK, MOVE_CALM_MIND, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [374] = {
+ [FRONTIER_MON_MISDREAVUS_1] = {
.species = SPECIES_MISDREAVUS,
.moves = {MOVE_PAIN_SPLIT, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [375] = {
+ [FRONTIER_MON_FEAROW_1] = {
.species = SPECIES_FEAROW,
.moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_FACADE, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [376] = {
+ [FRONTIER_MON_GRANBULL_1] = {
.species = SPECIES_GRANBULL,
.moves = {MOVE_MEGA_KICK, MOVE_SMELLING_SALT, MOVE_THUNDER_WAVE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [377] = {
+ [FRONTIER_MON_JYNX_1] = {
.species = SPECIES_JYNX,
.moves = {MOVE_ICE_BEAM, MOVE_FAKE_OUT, MOVE_LOVELY_KISS, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [378] = {
+ [FRONTIER_MON_DUSCLOPS_1] = {
.species = SPECIES_DUSCLOPS,
.moves = {MOVE_WILL_O_WISP, MOVE_SEISMIC_TOSS, MOVE_PAIN_SPLIT, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [379] = {
+ [FRONTIER_MON_DODRIO_1] = {
.species = SPECIES_DODRIO,
.moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_SLEEP_TALK, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [380] = {
+ [FRONTIER_MON_MR_MIME_1] = {
.species = SPECIES_MR_MIME,
.moves = {MOVE_PSYCHIC, MOVE_MAGICAL_LEAF, MOVE_FAKE_OUT, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [381] = {
+ [FRONTIER_MON_LANTURN_1] = {
.species = SPECIES_LANTURN,
.moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [382] = {
+ [FRONTIER_MON_BRELOOM_1] = {
.species = SPECIES_BRELOOM,
.moves = {MOVE_SKY_UPPERCUT, MOVE_MACH_PUNCH, MOVE_HEADBUTT, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [383] = {
+ [FRONTIER_MON_FORRETRESS_1] = {
.species = SPECIES_FORRETRESS,
.moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_LIGHT_SCREEN, MOVE_SPIKES},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [384] = {
+ [FRONTIER_MON_WHISCASH_1] = {
.species = SPECIES_WHISCASH,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AMNESIA, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [385] = {
+ [FRONTIER_MON_XATU_1] = {
.species = SPECIES_XATU,
.moves = {MOVE_DRILL_PECK, MOVE_NIGHT_SHADE, MOVE_WISH, MOVE_FUTURE_SIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [386] = {
+ [FRONTIER_MON_SKARMORY_1] = {
.species = SPECIES_SKARMORY,
.moves = {MOVE_STEEL_WING, MOVE_AIR_CUTTER, MOVE_COUNTER, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [387] = {
+ [FRONTIER_MON_MAROWAK_1] = {
.species = SPECIES_MAROWAK,
.moves = {MOVE_BONEMERANG, MOVE_ROCK_SLIDE, MOVE_ICY_WIND, MOVE_HEADBUTT},
.itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [388] = {
+ [FRONTIER_MON_QUAGSIRE_1] = {
.species = SPECIES_QUAGSIRE,
.moves = {MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_COUNTER, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [389] = {
+ [FRONTIER_MON_CLEFABLE_1] = {
.species = SPECIES_CLEFABLE,
.moves = {MOVE_METRONOME, MOVE_DOUBLE_TEAM, MOVE_REFLECT, MOVE_FOLLOW_ME},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BRAVE
},
- [390] = {
+ [FRONTIER_MON_HARIYAMA_1] = {
.species = SPECIES_HARIYAMA,
.moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [391] = {
+ [FRONTIER_MON_RAICHU_1] = {
.species = SPECIES_RAICHU,
.moves = {MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_LIGHT_SCREEN, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [392] = {
+ [FRONTIER_MON_DEWGONG_1] = {
.species = SPECIES_DEWGONG,
.moves = {MOVE_ICE_BEAM, MOVE_ICY_WIND, MOVE_HEADBUTT, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [393] = {
+ [FRONTIER_MON_MANECTRIC_1] = {
.species = SPECIES_MANECTRIC,
.moves = {MOVE_THUNDERBOLT, MOVE_FLASH, MOVE_QUICK_ATTACK, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [394] = {
+ [FRONTIER_MON_VILEPLUME_1] = {
.species = SPECIES_VILEPLUME,
.moves = {MOVE_SLUDGE_BOMB, MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_AROMATHERAPY},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [395] = {
+ [FRONTIER_MON_VICTREEBEL_1] = {
.species = SPECIES_VICTREEBEL,
.moves = {MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_SWEET_SCENT, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [396] = {
+ [FRONTIER_MON_ELECTRODE_1] = {
.species = SPECIES_ELECTRODE,
.moves = {MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_LIGHT_SCREEN, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [397] = {
+ [FRONTIER_MON_EXPLOUD_1] = {
.species = SPECIES_EXPLOUD,
.moves = {MOVE_HYPER_VOICE, MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [398] = {
+ [FRONTIER_MON_SHIFTRY_1] = {
.species = SPECIES_SHIFTRY,
.moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [399] = {
+ [FRONTIER_MON_GLALIE_1] = {
.species = SPECIES_GLALIE,
.moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_HAIL, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [400] = {
+ [FRONTIER_MON_LUDICOLO_1] = {
.species = SPECIES_LUDICOLO,
.moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [401] = {
+ [FRONTIER_MON_HYPNO_1] = {
.species = SPECIES_HYPNO,
.moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_HYPNOSIS},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [402] = {
+ [FRONTIER_MON_GOLEM_1] = {
.species = SPECIES_GOLEM,
.moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_ROCK_TOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [403] = {
+ [FRONTIER_MON_RHYDON_1] = {
.species = SPECIES_RHYDON,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [404] = {
+ [FRONTIER_MON_ALAKAZAM_1] = {
.species = SPECIES_ALAKAZAM,
.moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [405] = {
+ [FRONTIER_MON_WEEZING_1] = {
.species = SPECIES_WEEZING,
.moves = {MOVE_SLUDGE_BOMB, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_SMOKESCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [406] = {
+ [FRONTIER_MON_KANGASKHAN_1] = {
.species = SPECIES_KANGASKHAN,
.moves = {MOVE_DIZZY_PUNCH, MOVE_BRICK_BREAK, MOVE_COUNTER, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [407] = {
+ [FRONTIER_MON_ELECTABUZZ_1] = {
.species = SPECIES_ELECTABUZZ,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [408] = {
+ [FRONTIER_MON_TAUROS_1] = {
.species = SPECIES_TAUROS,
.moves = {MOVE_EARTHQUAKE, MOVE_THRASH, MOVE_SWAGGER, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [409] = {
+ [FRONTIER_MON_SLOWBRO_1] = {
.species = SPECIES_SLOWBRO,
.moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_HEADBUTT, MOVE_ICE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [410] = {
+ [FRONTIER_MON_SLOWKING_1] = {
.species = SPECIES_SLOWKING,
.moves = {MOVE_PSYCHIC, MOVE_BRICK_BREAK, MOVE_AMNESIA, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [411] = {
+ [FRONTIER_MON_MILTANK_1] = {
.species = SPECIES_MILTANK,
.moves = {MOVE_FACADE, MOVE_SHADOW_BALL, MOVE_COUNTER, MOVE_MILK_DRINK},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [412] = {
+ [FRONTIER_MON_ALTARIA_1] = {
.species = SPECIES_ALTARIA,
.moves = {MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE, MOVE_REFRESH, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [413] = {
+ [FRONTIER_MON_NIDOQUEEN_1] = {
.species = SPECIES_NIDOQUEEN,
.moves = {MOVE_SLUDGE_BOMB, MOVE_DOUBLE_KICK, MOVE_BODY_SLAM, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [414] = {
+ [FRONTIER_MON_NIDOKING_1] = {
.species = SPECIES_NIDOKING,
.moves = {MOVE_HORN_DRILL, MOVE_DOUBLE_KICK, MOVE_BODY_SLAM, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [415] = {
+ [FRONTIER_MON_MAGMAR_1] = {
.species = SPECIES_MAGMAR,
.moves = {MOVE_FLAMETHROWER, MOVE_SMOKESCREEN, MOVE_BRICK_BREAK, MOVE_BARRIER},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [416] = {
+ [FRONTIER_MON_CRADILY_1] = {
.species = SPECIES_CRADILY,
.moves = {MOVE_GIGA_DRAIN, MOVE_ROCK_SLIDE, MOVE_BARRIER, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [417] = {
+ [FRONTIER_MON_ARMALDO_1] = {
.species = SPECIES_ARMALDO,
.moves = {MOVE_SLASH, MOVE_AERIAL_ACE, MOVE_ANCIENT_POWER, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [418] = {
+ [FRONTIER_MON_GOLDUCK_1] = {
.species = SPECIES_GOLDUCK,
.moves = {MOVE_HYDRO_PUMP, MOVE_DIG, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [419] = {
+ [FRONTIER_MON_RAPIDASH_1] = {
.species = SPECIES_RAPIDASH,
.moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_KICK, MOVE_QUICK_ATTACK, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIET
},
- [420] = {
+ [FRONTIER_MON_MUK_1] = {
.species = SPECIES_MUK,
.moves = {MOVE_SLUDGE_BOMB, MOVE_BODY_SLAM, MOVE_SCREECH, MOVE_MINIMIZE},
.itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [421] = {
+ [FRONTIER_MON_GENGAR_1] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_TIMID
},
- [422] = {
+ [FRONTIER_MON_AMPHAROS_1] = {
.species = SPECIES_AMPHAROS,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [423] = {
+ [FRONTIER_MON_SCIZOR_1] = {
.species = SPECIES_SCIZOR,
.moves = {MOVE_METAL_CLAW, MOVE_AERIAL_ACE, MOVE_COUNTER, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [424] = {
+ [FRONTIER_MON_HERACROSS_1] = {
.species = SPECIES_HERACROSS,
.moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_ROCK_TOMB, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [425] = {
+ [FRONTIER_MON_URSARING_1] = {
.species = SPECIES_URSARING,
.moves = {MOVE_MEGA_KICK, MOVE_CRUNCH, MOVE_AERIAL_ACE, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [426] = {
+ [FRONTIER_MON_HOUNDOOM_1] = {
.species = SPECIES_HOUNDOOM,
.moves = {MOVE_FLAMETHROWER, MOVE_SHADOW_BALL, MOVE_COUNTER, MOVE_WILL_O_WISP},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [427] = {
+ [FRONTIER_MON_DONPHAN_1] = {
.species = SPECIES_DONPHAN,
.moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SWAGGER, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [428] = {
+ [FRONTIER_MON_CLAYDOL_1] = {
.species = SPECIES_CLAYDOL,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [429] = {
+ [FRONTIER_MON_WAILORD_1] = {
.species = SPECIES_WAILORD,
.moves = {MOVE_SURF, MOVE_ICY_WIND, MOVE_BODY_SLAM, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [430] = {
+ [FRONTIER_MON_NINETALES_1] = {
.species = SPECIES_NINETALES,
.moves = {MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [431] = {
+ [FRONTIER_MON_MACHAMP_1] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [432] = {
+ [FRONTIER_MON_SHUCKLE_1] = {
.species = SPECIES_SHUCKLE,
.moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_SLEEP_TALK, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BRAVE
},
- [433] = {
+ [FRONTIER_MON_STEELIX_1] = {
.species = SPECIES_STEELIX,
.moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_ROCK_TOMB, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [434] = {
+ [FRONTIER_MON_TENTACRUEL_1] = {
.species = SPECIES_TENTACRUEL,
.moves = {MOVE_SLUDGE_BOMB, MOVE_ICY_WIND, MOVE_BARRIER, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_IMPISH
},
- [435] = {
+ [FRONTIER_MON_AERODACTYL_1] = {
.species = SPECIES_AERODACTYL,
.moves = {MOVE_ANCIENT_POWER, MOVE_DRAGON_BREATH, MOVE_AERIAL_ACE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [436] = {
+ [FRONTIER_MON_PORYGON2_1] = {
.species = SPECIES_PORYGON2,
.moves = {MOVE_TRI_ATTACK, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [437] = {
+ [FRONTIER_MON_GARDEVOIR_1] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_MAGICAL_LEAF, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_TIMID
},
- [438] = {
+ [FRONTIER_MON_EXEGGUTOR_1] = {
.species = SPECIES_EXEGGUTOR,
.moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [439] = {
+ [FRONTIER_MON_STARMIE_1] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [440] = {
+ [FRONTIER_MON_FLYGON_1] = {
.species = SPECIES_FLYGON,
.moves = {MOVE_EARTHQUAKE, MOVE_STEEL_WING, MOVE_FAINT_ATTACK, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [441] = {
+ [FRONTIER_MON_VENUSAUR_1] = {
.species = SPECIES_VENUSAUR,
.moves = {MOVE_GIGA_DRAIN, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_SLEEP_POWDER},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [442] = {
+ [FRONTIER_MON_VAPOREON_1] = {
.species = SPECIES_VAPOREON,
.moves = {MOVE_SURF, MOVE_ROAR, MOVE_BITE, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [443] = {
+ [FRONTIER_MON_JOLTEON_1] = {
.species = SPECIES_JOLTEON,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [444] = {
+ [FRONTIER_MON_FLAREON_1] = {
.species = SPECIES_FLAREON,
.moves = {MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_BITE, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [445] = {
+ [FRONTIER_MON_MEGANIUM_1] = {
.species = SPECIES_MEGANIUM,
.moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [446] = {
+ [FRONTIER_MON_ESPEON_1] = {
.species = SPECIES_ESPEON,
.moves = {MOVE_PSYCHIC, MOVE_CHARM, MOVE_CALM_MIND, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [447] = {
+ [FRONTIER_MON_UMBREON_1] = {
.species = SPECIES_UMBREON,
.moves = {MOVE_CONFUSE_RAY, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [448] = {
+ [FRONTIER_MON_BLASTOISE_1] = {
.species = SPECIES_BLASTOISE,
.moves = {MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE, MOVE_BITE, MOVE_SEISMIC_TOSS},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [449] = {
+ [FRONTIER_MON_FERALIGATR_1] = {
.species = SPECIES_FERALIGATR,
.moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_AERIAL_ACE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [450] = {
+ [FRONTIER_MON_AGGRON_1] = {
.species = SPECIES_AGGRON,
.moves = {MOVE_IRON_TAIL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [451] = {
+ [FRONTIER_MON_BLAZIKEN_1] = {
.species = SPECIES_BLAZIKEN,
.moves = {MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_DOUBLE_KICK, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [452] = {
+ [FRONTIER_MON_WALREIN_1] = {
.species = SPECIES_WALREIN,
.moves = {MOVE_BLIZZARD, MOVE_HAIL, MOVE_YAWN, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [453] = {
+ [FRONTIER_MON_SCEPTILE_1] = {
.species = SPECIES_SCEPTILE,
.moves = {MOVE_LEAF_BLADE, MOVE_LEECH_SEED, MOVE_AERIAL_ACE, MOVE_DETECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [454] = {
+ [FRONTIER_MON_CHARIZARD_1] = {
.species = SPECIES_CHARIZARD,
.moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_ROAR, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [455] = {
+ [FRONTIER_MON_TYPHLOSION_1] = {
.species = SPECIES_TYPHLOSION,
.moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_SMOKESCREEN, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [456] = {
+ [FRONTIER_MON_LAPRAS_1] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_SURF, MOVE_ATTRACT, MOVE_CONFUSE_RAY, MOVE_SING},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BOLD
},
- [457] = {
+ [FRONTIER_MON_CROBAT_1] = {
.species = SPECIES_CROBAT,
.moves = {MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_ASTONISH, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [458] = {
+ [FRONTIER_MON_SWAMPERT_1] = {
.species = SPECIES_SWAMPERT,
.moves = {MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REST, MOVE_CURSE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [459] = {
+ [FRONTIER_MON_GYARADOS_1] = {
.species = SPECIES_GYARADOS,
.moves = {MOVE_RETURN, MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [460] = {
+ [FRONTIER_MON_SNORLAX_1] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_FACADE, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [461] = {
+ [FRONTIER_MON_KINGDRA_1] = {
.species = SPECIES_KINGDRA,
.moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_BREATH, MOVE_ICY_WIND, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [462] = {
+ [FRONTIER_MON_BLISSEY_1] = {
.species = SPECIES_BLISSEY,
.moves = {MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_SING, MOVE_SOFT_BOILED},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BOLD
},
- [463] = {
+ [FRONTIER_MON_MILOTIC_1] = {
.species = SPECIES_MILOTIC,
.moves = {MOVE_HYDRO_PUMP, MOVE_ICY_WIND, MOVE_RECOVER, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [464] = {
+ [FRONTIER_MON_ARCANINE_1] = {
.species = SPECIES_ARCANINE,
.moves = {MOVE_FLAMETHROWER, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [465] = {
+ [FRONTIER_MON_SALAMENCE_1] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE, MOVE_HEADBUTT, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [466] = {
+ [FRONTIER_MON_METAGROSS_1] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_METEOR_MASH, MOVE_AERIAL_ACE, MOVE_FACADE, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [467] = {
+ [FRONTIER_MON_SLAKING_1] = {
.species = SPECIES_SLAKING,
.moves = {MOVE_YAWN, MOVE_BULK_UP, MOVE_SWAGGER, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [468] = {
+ [FRONTIER_MON_DUGTRIO_2] = {
.species = SPECIES_DUGTRIO,
.moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_TRI_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [469] = {
+ [FRONTIER_MON_MEDICHAM_2] = {
.species = SPECIES_MEDICHAM,
.moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_PSYCHIC, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [470] = {
+ [FRONTIER_MON_MAROWAK_2] = {
.species = SPECIES_MAROWAK,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_ICY_WIND},
.itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [471] = {
+ [FRONTIER_MON_QUAGSIRE_2] = {
.species = SPECIES_QUAGSIRE,
.moves = {MOVE_CURSE, MOVE_ATTRACT, MOVE_YAWN, MOVE_ANCIENT_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_SASSY
},
- [472] = {
+ [FRONTIER_MON_MISDREAVUS_2] = {
.species = SPECIES_MISDREAVUS,
.moves = {MOVE_PSYCHIC, MOVE_ATTRACT, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BOLD
},
- [473] = {
+ [FRONTIER_MON_FEAROW_2] = {
.species = SPECIES_FEAROW,
.moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_ATTRACT, MOVE_PURSUIT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [474] = {
+ [FRONTIER_MON_GRANBULL_2] = {
.species = SPECIES_GRANBULL,
.moves = {MOVE_OVERHEAT, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
.nature = NATURE_QUIET
},
- [475] = {
+ [FRONTIER_MON_JYNX_2] = {
.species = SPECIES_JYNX,
.moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_LOVELY_KISS, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [476] = {
+ [FRONTIER_MON_DUSCLOPS_2] = {
.species = SPECIES_DUSCLOPS,
.moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [477] = {
+ [FRONTIER_MON_DODRIO_2] = {
.species = SPECIES_DODRIO,
.moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_FAINT_ATTACK, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [478] = {
+ [FRONTIER_MON_MR_MIME_2] = {
.species = SPECIES_MR_MIME,
.moves = {MOVE_BATON_PASS, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_PSYCHIC},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [479] = {
+ [FRONTIER_MON_LANTURN_2] = {
.species = SPECIES_LANTURN,
.moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_THUNDERBOLT, MOVE_SURF},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [480] = {
+ [FRONTIER_MON_BRELOOM_2] = {
.species = SPECIES_BRELOOM,
.moves = {MOVE_GIGA_DRAIN, MOVE_LEECH_SEED, MOVE_FOCUS_PUNCH, MOVE_SPORE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [481] = {
+ [FRONTIER_MON_FORRETRESS_2] = {
.species = SPECIES_FORRETRESS,
.moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_COUNTER, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [482] = {
+ [FRONTIER_MON_SKARMORY_2] = {
.species = SPECIES_SKARMORY,
.moves = {MOVE_SPIKES, MOVE_ROAR, MOVE_DRILL_PECK, MOVE_TOXIC},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [483] = {
+ [FRONTIER_MON_WHISCASH_2] = {
.species = SPECIES_WHISCASH,
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_SPARK, MOVE_FUTURE_SIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [484] = {
+ [FRONTIER_MON_XATU_2] = {
.species = SPECIES_XATU,
.moves = {MOVE_FLY, MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [485] = {
+ [FRONTIER_MON_CLEFABLE_2] = {
.species = SPECIES_CLEFABLE,
.moves = {MOVE_METEOR_MASH, MOVE_COSMIC_POWER, MOVE_DOUBLE_TEAM, MOVE_FOLLOW_ME},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [486] = {
+ [FRONTIER_MON_HARIYAMA_2] = {
.species = SPECIES_HARIYAMA,
.moves = {MOVE_CROSS_CHOP, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [487] = {
+ [FRONTIER_MON_RAICHU_2] = {
.species = SPECIES_RAICHU,
.moves = {MOVE_THUNDERBOLT, MOVE_REVERSAL, MOVE_ENDURE, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [488] = {
+ [FRONTIER_MON_DEWGONG_2] = {
.species = SPECIES_DEWGONG,
.moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_ENCORE, MOVE_DISABLE},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [489] = {
+ [FRONTIER_MON_MANECTRIC_2] = {
.species = SPECIES_MANECTRIC,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_CRUNCH, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [490] = {
+ [FRONTIER_MON_VILEPLUME_2] = {
.species = SPECIES_VILEPLUME,
.moves = {MOVE_INGRAIN, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [491] = {
+ [FRONTIER_MON_VICTREEBEL_2] = {
.species = SPECIES_VICTREEBEL,
.moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_SLEEP_POWDER, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_SERIOUS
},
- [492] = {
+ [FRONTIER_MON_ELECTRODE_2] = {
.species = SPECIES_ELECTRODE,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [493] = {
+ [FRONTIER_MON_EXPLOUD_2] = {
.species = SPECIES_EXPLOUD,
.moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [494] = {
+ [FRONTIER_MON_SHIFTRY_2] = {
.species = SPECIES_SHIFTRY,
.moves = {MOVE_LEECH_SEED, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_IMPISH
},
- [495] = {
+ [FRONTIER_MON_GLALIE_2] = {
.species = SPECIES_GLALIE,
.moves = {MOVE_EXPLOSION, MOVE_ENDURE, MOVE_BODY_SLAM, MOVE_ICY_WIND},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [496] = {
+ [FRONTIER_MON_LUDICOLO_2] = {
.species = SPECIES_LUDICOLO,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [497] = {
+ [FRONTIER_MON_HYPNO_2] = {
.species = SPECIES_HYPNO,
.moves = {MOVE_HYPNOSIS, MOVE_NIGHTMARE, MOVE_DREAM_EATER, MOVE_PSYCHIC},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [498] = {
+ [FRONTIER_MON_GOLEM_2] = {
.species = SPECIES_GOLEM,
.moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_DOUBLE_TEAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [499] = {
+ [FRONTIER_MON_RHYDON_2] = {
.species = SPECIES_RHYDON,
.moves = {MOVE_EARTHQUAKE, MOVE_HORN_DRILL, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [500] = {
+ [FRONTIER_MON_ALAKAZAM_2] = {
.species = SPECIES_ALAKAZAM,
.moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_THUNDER_WAVE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [501] = {
+ [FRONTIER_MON_WEEZING_2] = {
.species = SPECIES_WEEZING,
.moves = {MOVE_MEMENTO, MOVE_SLUDGE_BOMB, MOVE_FACADE, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [502] = {
+ [FRONTIER_MON_KANGASKHAN_2] = {
.species = SPECIES_KANGASKHAN,
.moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [503] = {
+ [FRONTIER_MON_ELECTABUZZ_2] = {
.species = SPECIES_ELECTABUZZ,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_ATTRACT, MOVE_FOCUS_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [504] = {
+ [FRONTIER_MON_TAUROS_2] = {
.species = SPECIES_TAUROS,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [505] = {
+ [FRONTIER_MON_SLOWBRO_2] = {
.species = SPECIES_SLOWBRO,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_YAWN},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_MODEST
},
- [506] = {
+ [FRONTIER_MON_SLOWKING_2] = {
.species = SPECIES_SLOWKING,
.moves = {MOVE_YAWN, MOVE_THUNDER_WAVE, MOVE_SURF, MOVE_PSYCHIC},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [507] = {
+ [FRONTIER_MON_MILTANK_2] = {
.species = SPECIES_MILTANK,
.moves = {MOVE_FOCUS_PUNCH, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [508] = {
+ [FRONTIER_MON_ALTARIA_2] = {
.species = SPECIES_ALTARIA,
.moves = {MOVE_PERISH_SONG, MOVE_DRAGON_BREATH, MOVE_PURSUIT, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [509] = {
+ [FRONTIER_MON_NIDOQUEEN_2] = {
.species = SPECIES_NIDOQUEEN,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [510] = {
+ [FRONTIER_MON_NIDOKING_2] = {
.species = SPECIES_NIDOKING,
.moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [511] = {
+ [FRONTIER_MON_MAGMAR_2] = {
.species = SPECIES_MAGMAR,
.moves = {MOVE_FIRE_BLAST, MOVE_SMOKESCREEN, MOVE_THUNDER_PUNCH, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [512] = {
+ [FRONTIER_MON_CRADILY_2] = {
.species = SPECIES_CRADILY,
.moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [513] = {
+ [FRONTIER_MON_ARMALDO_2] = {
.species = SPECIES_ARMALDO,
.moves = {MOVE_IRON_TAIL, MOVE_ANCIENT_POWER, MOVE_BRICK_BREAK, MOVE_KNOCK_OFF},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [514] = {
+ [FRONTIER_MON_GOLDUCK_2] = {
.species = SPECIES_GOLDUCK,
.moves = {MOVE_CROSS_CHOP, MOVE_SURF, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [515] = {
+ [FRONTIER_MON_RAPIDASH_2] = {
.species = SPECIES_RAPIDASH,
.moves = {MOVE_FIRE_BLAST, MOVE_BOUNCE, MOVE_DOUBLE_TEAM, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [516] = {
+ [FRONTIER_MON_MUK_2] = {
.species = SPECIES_MUK,
.moves = {MOVE_CURSE, MOVE_REST, MOVE_SLUDGE_BOMB, MOVE_DYNAMIC_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [517] = {
+ [FRONTIER_MON_GENGAR_2] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [518] = {
+ [FRONTIER_MON_AMPHAROS_2] = {
.species = SPECIES_AMPHAROS,
.moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [519] = {
+ [FRONTIER_MON_SCIZOR_2] = {
.species = SPECIES_SCIZOR,
.moves = {MOVE_SILVER_WIND, MOVE_STEEL_WING, MOVE_SWORDS_DANCE, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [520] = {
+ [FRONTIER_MON_HERACROSS_2] = {
.species = SPECIES_HERACROSS,
.moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_BULK_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [521] = {
+ [FRONTIER_MON_URSARING_2] = {
.species = SPECIES_URSARING,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [522] = {
+ [FRONTIER_MON_HOUNDOOM_2] = {
.species = SPECIES_HOUNDOOM,
.moves = {MOVE_FIRE_BLAST, MOVE_CRUNCH, MOVE_ROAR, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [523] = {
+ [FRONTIER_MON_DONPHAN_2] = {
.species = SPECIES_DONPHAN,
.moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [524] = {
+ [FRONTIER_MON_CLAYDOL_2] = {
.species = SPECIES_CLAYDOL,
.moves = {MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_COSMIC_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [525] = {
+ [FRONTIER_MON_WAILORD_2] = {
.species = SPECIES_WAILORD,
.moves = {MOVE_DOUBLE_EDGE, MOVE_REST, MOVE_CURSE, MOVE_AMNESIA},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [526] = {
+ [FRONTIER_MON_NINETALES_2] = {
.species = SPECIES_NINETALES,
.moves = {MOVE_HEAT_WAVE, MOVE_BODY_SLAM, MOVE_GRUDGE, MOVE_SUNNY_DAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [527] = {
+ [FRONTIER_MON_MACHAMP_2] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_BULK_UP, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [528] = {
+ [FRONTIER_MON_SHUCKLE_2] = {
.species = SPECIES_SHUCKLE,
.moves = {MOVE_SANDSTORM, MOVE_DIG, MOVE_FLASH, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_CAREFUL
},
- [529] = {
+ [FRONTIER_MON_STEELIX_2] = {
.species = SPECIES_STEELIX,
.moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_SANDSTORM, MOVE_BLOCK},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [530] = {
+ [FRONTIER_MON_TENTACRUEL_2] = {
.species = SPECIES_TENTACRUEL,
.moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_SURF},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [531] = {
+ [FRONTIER_MON_AERODACTYL_2] = {
.species = SPECIES_AERODACTYL,
.moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ANCIENT_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [532] = {
+ [FRONTIER_MON_PORYGON2_2] = {
.species = SPECIES_PORYGON2,
.moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THUNDER_WAVE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [533] = {
+ [FRONTIER_MON_GARDEVOIR_2] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [534] = {
+ [FRONTIER_MON_EXEGGUTOR_2] = {
.species = SPECIES_EXEGGUTOR,
.moves = {MOVE_RETURN, MOVE_CURSE, MOVE_SLEEP_POWDER, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [535] = {
+ [FRONTIER_MON_STARMIE_2] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [536] = {
+ [FRONTIER_MON_FLYGON_2] = {
.species = SPECIES_FLYGON,
.moves = {MOVE_SOLAR_BEAM, MOVE_FIRE_BLAST, MOVE_CRUNCH, MOVE_SUNNY_DAY},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [537] = {
+ [FRONTIER_MON_VENUSAUR_2] = {
.species = SPECIES_VENUSAUR,
.moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [538] = {
+ [FRONTIER_MON_VAPOREON_2] = {
.species = SPECIES_VAPOREON,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [539] = {
+ [FRONTIER_MON_JOLTEON_2] = {
.species = SPECIES_JOLTEON,
.moves = {MOVE_THUNDERBOLT, MOVE_DIG, MOVE_DOUBLE_KICK, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [540] = {
+ [FRONTIER_MON_FLAREON_2] = {
.species = SPECIES_FLAREON,
.moves = {MOVE_CURSE, MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [541] = {
+ [FRONTIER_MON_MEGANIUM_2] = {
.species = SPECIES_MEGANIUM,
.moves = {MOVE_LEECH_SEED, MOVE_SUBSTITUTE, MOVE_DOUBLE_TEAM, MOVE_GRASS_WHISTLE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [542] = {
+ [FRONTIER_MON_ESPEON_2] = {
.species = SPECIES_ESPEON,
.moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [543] = {
+ [FRONTIER_MON_UMBREON_2] = {
.species = SPECIES_UMBREON,
.moves = {MOVE_CURSE, MOVE_SCREECH, MOVE_DOUBLE_TEAM, MOVE_DOUBLE_EDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [544] = {
+ [FRONTIER_MON_BLASTOISE_2] = {
.species = SPECIES_BLASTOISE,
.moves = {MOVE_HYDRO_PUMP, MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [545] = {
+ [FRONTIER_MON_FERALIGATR_2] = {
.species = SPECIES_FERALIGATR,
.moves = {MOVE_SURF, MOVE_DRAGON_CLAW, MOVE_BRICK_BREAK, MOVE_SCARY_FACE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [546] = {
+ [FRONTIER_MON_AGGRON_2] = {
.species = SPECIES_AGGRON,
.moves = {MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [547] = {
+ [FRONTIER_MON_BLAZIKEN_2] = {
.species = SPECIES_BLAZIKEN,
.moves = {MOVE_BLAZE_KICK, MOVE_MEGA_KICK, MOVE_THUNDER_PUNCH, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [548] = {
+ [FRONTIER_MON_WALREIN_2] = {
.species = SPECIES_WALREIN,
.moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [549] = {
+ [FRONTIER_MON_SCEPTILE_2] = {
.species = SPECIES_SCEPTILE,
.moves = {MOVE_LEAF_BLADE, MOVE_THUNDER_PUNCH, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [550] = {
+ [FRONTIER_MON_CHARIZARD_2] = {
.species = SPECIES_CHARIZARD,
.moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE, MOVE_SMOKESCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [551] = {
+ [FRONTIER_MON_TYPHLOSION_2] = {
.species = SPECIES_TYPHLOSION,
.moves = {MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [552] = {
+ [FRONTIER_MON_LAPRAS_2] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_TIMID
},
- [553] = {
+ [FRONTIER_MON_CROBAT_2] = {
.species = SPECIES_CROBAT,
.moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [554] = {
+ [FRONTIER_MON_SWAMPERT_2] = {
.species = SPECIES_SWAMPERT,
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [555] = {
+ [FRONTIER_MON_GYARADOS_2] = {
.species = SPECIES_GYARADOS,
.moves = {MOVE_HYDRO_PUMP, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_BLIZZARD},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [556] = {
+ [FRONTIER_MON_SNORLAX_2] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CURSE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [557] = {
+ [FRONTIER_MON_KINGDRA_2] = {
.species = SPECIES_KINGDRA,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [558] = {
+ [FRONTIER_MON_BLISSEY_2] = {
.species = SPECIES_BLISSEY,
.moves = {MOVE_SEISMIC_TOSS, MOVE_SING, MOVE_ATTRACT, MOVE_SUBSTITUTE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BOLD
},
- [559] = {
+ [FRONTIER_MON_MILOTIC_2] = {
.species = SPECIES_MILOTIC,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_SAFEGUARD, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [560] = {
+ [FRONTIER_MON_ARCANINE_2] = {
.species = SPECIES_ARCANINE,
.moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_CRUNCH, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [561] = {
+ [FRONTIER_MON_SALAMENCE_2] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_SWAGGER, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [562] = {
+ [FRONTIER_MON_METAGROSS_2] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_EARTHQUAKE, MOVE_METEOR_MASH, MOVE_PSYCH_UP, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [563] = {
+ [FRONTIER_MON_SLAKING_2] = {
.species = SPECIES_SLAKING,
.moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_YAWN, MOVE_AMNESIA},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_ADAMANT
},
- [564] = {
+ [FRONTIER_MON_DUGTRIO_3] = {
.species = SPECIES_DUGTRIO,
.moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_FISSURE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [565] = {
+ [FRONTIER_MON_MEDICHAM_3] = {
.species = SPECIES_MEDICHAM,
.moves = {MOVE_DYNAMIC_PUNCH, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_HARDY
},
- [566] = {
+ [FRONTIER_MON_MISDREAVUS_3] = {
.species = SPECIES_MISDREAVUS,
.moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [567] = {
+ [FRONTIER_MON_FEAROW_3] = {
.species = SPECIES_FEAROW,
.moves = {MOVE_DRILL_PECK, MOVE_RETURN, MOVE_STEEL_WING, MOVE_FAINT_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [568] = {
+ [FRONTIER_MON_GRANBULL_3] = {
.species = SPECIES_GRANBULL,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SLUDGE_BOMB, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [569] = {
+ [FRONTIER_MON_JYNX_3] = {
.species = SPECIES_JYNX,
.moves = {MOVE_DREAM_EATER, MOVE_LOVELY_KISS, MOVE_ATTRACT, MOVE_SUBSTITUTE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [570] = {
+ [FRONTIER_MON_DUSCLOPS_3] = {
.species = SPECIES_DUSCLOPS,
.moves = {MOVE_PSYCH_UP, MOVE_SWAGGER, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [571] = {
+ [FRONTIER_MON_DODRIO_3] = {
.species = SPECIES_DODRIO,
.moves = {MOVE_DOUBLE_EDGE, MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_FAINT_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [572] = {
+ [FRONTIER_MON_MR_MIME_3] = {
.species = SPECIES_MR_MIME,
.moves = {MOVE_TRICK, MOVE_TORMENT, MOVE_PSYCHIC, MOVE_THUNDERBOLT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [573] = {
+ [FRONTIER_MON_LANTURN_3] = {
.species = SPECIES_LANTURN,
.moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_CONFUSE_RAY, MOVE_RAIN_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [574] = {
+ [FRONTIER_MON_BRELOOM_3] = {
.species = SPECIES_BRELOOM,
.moves = {MOVE_IRON_TAIL, MOVE_FOCUS_PUNCH, MOVE_ATTRACT, MOVE_SPORE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [575] = {
+ [FRONTIER_MON_FORRETRESS_3] = {
.species = SPECIES_FORRETRESS,
.moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_ZAP_CANNON},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [576] = {
+ [FRONTIER_MON_WHISCASH_3] = {
.species = SPECIES_WHISCASH,
.moves = {MOVE_SLEEP_TALK, MOVE_REST, MOVE_SURF, MOVE_FISSURE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_HARDY
},
- [577] = {
+ [FRONTIER_MON_XATU_3] = {
.species = SPECIES_XATU,
.moves = {MOVE_DRILL_PECK, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_STEEL_WING},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [578] = {
+ [FRONTIER_MON_SKARMORY_3] = {
.species = SPECIES_SKARMORY,
.moves = {MOVE_TOXIC, MOVE_CURSE, MOVE_REST, MOVE_FLY},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [579] = {
+ [FRONTIER_MON_MAROWAK_3] = {
.species = SPECIES_MAROWAK,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [580] = {
+ [FRONTIER_MON_QUAGSIRE_3] = {
.species = SPECIES_QUAGSIRE,
.moves = {MOVE_EARTHQUAKE, MOVE_SLUDGE_BOMB, MOVE_DOUBLE_EDGE, MOVE_CURSE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [581] = {
+ [FRONTIER_MON_CLEFABLE_3] = {
.species = SPECIES_CLEFABLE,
.moves = {MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_FLAMETHROWER, MOVE_MAGICAL_LEAF},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [582] = {
+ [FRONTIER_MON_HARIYAMA_3] = {
.species = SPECIES_HARIYAMA,
.moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [583] = {
+ [FRONTIER_MON_RAICHU_3] = {
.species = SPECIES_RAICHU,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_IRON_TAIL, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [584] = {
+ [FRONTIER_MON_DEWGONG_3] = {
.species = SPECIES_DEWGONG,
.moves = {MOVE_HORN_DRILL, MOVE_SHEER_COLD, MOVE_SLEEP_TALK, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [585] = {
+ [FRONTIER_MON_MANECTRIC_3] = {
.species = SPECIES_MANECTRIC,
.moves = {MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_THUNDER_WAVE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [586] = {
+ [FRONTIER_MON_VILEPLUME_3] = {
.species = SPECIES_VILEPLUME,
.moves = {MOVE_ATTRACT, MOVE_STUN_SPORE, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [587] = {
+ [FRONTIER_MON_VICTREEBEL_3] = {
.species = SPECIES_VICTREEBEL,
.moves = {MOVE_STUN_SPORE, MOVE_INGRAIN, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [588] = {
+ [FRONTIER_MON_ELECTRODE_3] = {
.species = SPECIES_ELECTRODE,
.moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [589] = {
+ [FRONTIER_MON_EXPLOUD_3] = {
.species = SPECIES_EXPLOUD,
.moves = {MOVE_OVERHEAT, MOVE_ICE_BEAM, MOVE_THUNDER_PUNCH, MOVE_EXTRASENSORY},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [590] = {
+ [FRONTIER_MON_SHIFTRY_3] = {
.species = SPECIES_SHIFTRY,
.moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [591] = {
+ [FRONTIER_MON_GLALIE_3] = {
.species = SPECIES_GLALIE,
.moves = {MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [592] = {
+ [FRONTIER_MON_LUDICOLO_3] = {
.species = SPECIES_LUDICOLO,
.moves = {MOVE_LEECH_SEED, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [593] = {
+ [FRONTIER_MON_HYPNO_3] = {
.species = SPECIES_HYPNO,
.moves = {MOVE_PSYCH_UP, MOVE_SWAGGER, MOVE_MEGA_KICK, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [594] = {
+ [FRONTIER_MON_GOLEM_3] = {
.species = SPECIES_GOLEM,
.moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [595] = {
+ [FRONTIER_MON_RHYDON_3] = {
.species = SPECIES_RHYDON,
.moves = {MOVE_MEGAHORN, MOVE_CRUSH_CLAW, MOVE_EARTHQUAKE, MOVE_HORN_DRILL},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [596] = {
+ [FRONTIER_MON_ALAKAZAM_3] = {
.species = SPECIES_ALAKAZAM,
.moves = {MOVE_TRICK, MOVE_DISABLE, MOVE_PSYCHIC, MOVE_SKILL_SWAP},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [597] = {
+ [FRONTIER_MON_WEEZING_3] = {
.species = SPECIES_WEEZING,
.moves = {MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [598] = {
+ [FRONTIER_MON_KANGASKHAN_3] = {
.species = SPECIES_KANGASKHAN,
.moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [599] = {
+ [FRONTIER_MON_ELECTABUZZ_3] = {
.species = SPECIES_ELECTABUZZ,
.moves = {MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDERBOLT, MOVE_CROSS_CHOP},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [600] = {
+ [FRONTIER_MON_TAUROS_3] = {
.species = SPECIES_TAUROS,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ICE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [601] = {
+ [FRONTIER_MON_SLOWBRO_3] = {
.species = SPECIES_SLOWBRO,
.moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
.nature = NATURE_QUIET
},
- [602] = {
+ [FRONTIER_MON_SLOWKING_3] = {
.species = SPECIES_SLOWKING,
.moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [603] = {
+ [FRONTIER_MON_MILTANK_3] = {
.species = SPECIES_MILTANK,
.moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [604] = {
+ [FRONTIER_MON_ALTARIA_3] = {
.species = SPECIES_ALTARIA,
.moves = {MOVE_SING, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [605] = {
+ [FRONTIER_MON_NIDOQUEEN_3] = {
.species = SPECIES_NIDOQUEEN,
.moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_CRUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [606] = {
+ [FRONTIER_MON_NIDOKING_3] = {
.species = SPECIES_NIDOKING,
.moves = {MOVE_HORN_DRILL, MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_SURF},
.itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [607] = {
+ [FRONTIER_MON_MAGMAR_3] = {
.species = SPECIES_MAGMAR,
.moves = {MOVE_MEGA_KICK, MOVE_CROSS_CHOP, MOVE_IRON_TAIL, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_IMPISH
},
- [608] = {
+ [FRONTIER_MON_CRADILY_3] = {
.species = SPECIES_CRADILY,
.moves = {MOVE_SUBSTITUTE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [609] = {
+ [FRONTIER_MON_ARMALDO_3] = {
.species = SPECIES_ARMALDO,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_SWORDS_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [610] = {
+ [FRONTIER_MON_GOLDUCK_3] = {
.species = SPECIES_GOLDUCK,
.moves = {MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [611] = {
+ [FRONTIER_MON_RAPIDASH_3] = {
.species = SPECIES_RAPIDASH,
.moves = {MOVE_OVERHEAT, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_HYPNOSIS},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [612] = {
+ [FRONTIER_MON_MUK_3] = {
.species = SPECIES_MUK,
.moves = {MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_QUIET
},
- [613] = {
+ [FRONTIER_MON_GENGAR_3] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_GIGA_DRAIN, MOVE_SKILL_SWAP},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [614] = {
+ [FRONTIER_MON_AMPHAROS_3] = {
.species = SPECIES_AMPHAROS,
.moves = {MOVE_THUNDERBOLT, MOVE_MEGA_KICK, MOVE_IRON_TAIL, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [615] = {
+ [FRONTIER_MON_SCIZOR_3] = {
.species = SPECIES_SCIZOR,
.moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_AGILITY, MOVE_SLASH},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_CAREFUL
},
- [616] = {
+ [FRONTIER_MON_HERACROSS_3] = {
.species = SPECIES_HERACROSS,
.moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [617] = {
+ [FRONTIER_MON_URSARING_3] = {
.species = SPECIES_URSARING,
.moves = {MOVE_FIRE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_CRUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [618] = {
+ [FRONTIER_MON_HOUNDOOM_3] = {
.species = SPECIES_HOUNDOOM,
.moves = {MOVE_OVERHEAT, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_DOUBLE_EDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [619] = {
+ [FRONTIER_MON_DONPHAN_3] = {
.species = SPECIES_DONPHAN,
.moves = {MOVE_FISSURE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SECRET_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [620] = {
+ [FRONTIER_MON_CLAYDOL_3] = {
.species = SPECIES_CLAYDOL,
.moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [621] = {
+ [FRONTIER_MON_WAILORD_3] = {
.species = SPECIES_WAILORD,
.moves = {MOVE_HYDRO_PUMP, MOVE_FISSURE, MOVE_DOUBLE_TEAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [622] = {
+ [FRONTIER_MON_NINETALES_3] = {
.species = SPECIES_NINETALES,
.moves = {MOVE_FIRE_BLAST, MOVE_IRON_TAIL, MOVE_CONFUSE_RAY, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [623] = {
+ [FRONTIER_MON_MACHAMP_3] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_CROSS_CHOP, MOVE_FIRE_BLAST, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [624] = {
+ [FRONTIER_MON_SHUCKLE_3] = {
.species = SPECIES_SHUCKLE,
.moves = {MOVE_SUBSTITUTE, MOVE_ATTRACT, MOVE_TOXIC, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_CAREFUL
},
- [625] = {
+ [FRONTIER_MON_STEELIX_3] = {
.species = SPECIES_STEELIX,
.moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_ROCK_SLIDE, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [626] = {
+ [FRONTIER_MON_TENTACRUEL_3] = {
.species = SPECIES_TENTACRUEL,
.moves = {MOVE_SURF, MOVE_GIGA_DRAIN, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [627] = {
+ [FRONTIER_MON_AERODACTYL_3] = {
.species = SPECIES_AERODACTYL,
.moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_DRAGON_CLAW},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [628] = {
+ [FRONTIER_MON_PORYGON2_3] = {
.species = SPECIES_PORYGON2,
.moves = {MOVE_PSYCHIC, MOVE_TRI_ATTACK, MOVE_THUNDER_WAVE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [629] = {
+ [FRONTIER_MON_GARDEVOIR_3] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH, MOVE_MAGICAL_LEAF},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [630] = {
+ [FRONTIER_MON_EXEGGUTOR_3] = {
.species = SPECIES_EXEGGUTOR,
.moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [631] = {
+ [FRONTIER_MON_STARMIE_3] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [632] = {
+ [FRONTIER_MON_FLYGON_3] = {
.species = SPECIES_FLYGON,
.moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [633] = {
+ [FRONTIER_MON_VENUSAUR_3] = {
.species = SPECIES_VENUSAUR,
.moves = {MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_SLEEP_POWDER},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [634] = {
+ [FRONTIER_MON_VAPOREON_3] = {
.species = SPECIES_VAPOREON,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_ACID_ARMOR, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [635] = {
+ [FRONTIER_MON_JOLTEON_3] = {
.species = SPECIES_JOLTEON,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_AGILITY, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [636] = {
+ [FRONTIER_MON_FLAREON_3] = {
.species = SPECIES_FLAREON,
.moves = {MOVE_SHADOW_BALL, MOVE_FLAIL, MOVE_ENDURE, MOVE_OVERHEAT},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [637] = {
+ [FRONTIER_MON_MEGANIUM_3] = {
.species = SPECIES_MEGANIUM,
.moves = {MOVE_EARTHQUAKE, MOVE_FLAIL, MOVE_ENDURE, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [638] = {
+ [FRONTIER_MON_ESPEON_3] = {
.species = SPECIES_ESPEON,
.moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_WISH, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [639] = {
+ [FRONTIER_MON_UMBREON_3] = {
.species = SPECIES_UMBREON,
.moves = {MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_ATTRACT, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [640] = {
+ [FRONTIER_MON_BLASTOISE_3] = {
.species = SPECIES_BLASTOISE,
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [641] = {
+ [FRONTIER_MON_FERALIGATR_3] = {
.species = SPECIES_FERALIGATR,
.moves = {MOVE_HYDRO_PUMP, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [642] = {
+ [FRONTIER_MON_AGGRON_3] = {
.species = SPECIES_AGGRON,
.moves = {MOVE_SURF, MOVE_THUNDER, MOVE_FIRE_BLAST, MOVE_BLIZZARD},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [643] = {
+ [FRONTIER_MON_BLAZIKEN_3] = {
.species = SPECIES_BLAZIKEN,
.moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_REVERSAL},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [644] = {
+ [FRONTIER_MON_WALREIN_3] = {
.species = SPECIES_WALREIN,
.moves = {MOVE_SHEER_COLD, MOVE_FISSURE, MOVE_SURF, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [645] = {
+ [FRONTIER_MON_SCEPTILE_3] = {
.species = SPECIES_SCEPTILE,
.moves = {MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_CRUSH_CLAW, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [646] = {
+ [FRONTIER_MON_CHARIZARD_3] = {
.species = SPECIES_CHARIZARD,
.moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_BITE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [647] = {
+ [FRONTIER_MON_TYPHLOSION_3] = {
.species = SPECIES_TYPHLOSION,
.moves = {MOVE_EARTHQUAKE, MOVE_OVERHEAT, MOVE_ENDURE, MOVE_REVERSAL},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [648] = {
+ [FRONTIER_MON_LAPRAS_3] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_DOUBLE_EDGE, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [649] = {
+ [FRONTIER_MON_CROBAT_3] = {
.species = SPECIES_CROBAT,
.moves = {MOVE_AIR_CUTTER, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [650] = {
+ [FRONTIER_MON_SWAMPERT_3] = {
.species = SPECIES_SWAMPERT,
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_BRAVE
},
- [651] = {
+ [FRONTIER_MON_GYARADOS_3] = {
.species = SPECIES_GYARADOS,
.moves = {MOVE_SURF, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [652] = {
+ [FRONTIER_MON_SNORLAX_3] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_ADAMANT
},
- [653] = {
+ [FRONTIER_MON_KINGDRA_3] = {
.species = SPECIES_KINGDRA,
.moves = {MOVE_FLAIL, MOVE_HYDRO_PUMP, MOVE_DRAGON_DANCE, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [654] = {
+ [FRONTIER_MON_BLISSEY_3] = {
.species = SPECIES_BLISSEY,
.moves = {MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_CALM_MIND, MOVE_SOFT_BOILED},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BOLD
},
- [655] = {
+ [FRONTIER_MON_MILOTIC_3] = {
.species = SPECIES_MILOTIC,
.moves = {MOVE_SURF, MOVE_BLIZZARD, MOVE_ATTRACT, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [656] = {
+ [FRONTIER_MON_ARCANINE_3] = {
.species = SPECIES_ARCANINE,
.moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [657] = {
+ [FRONTIER_MON_SALAMENCE_3] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [658] = {
+ [FRONTIER_MON_METAGROSS_3] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_EARTHQUAKE, MOVE_METEOR_MASH, MOVE_DOUBLE_TEAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [659] = {
+ [FRONTIER_MON_SLAKING_3] = {
.species = SPECIES_SLAKING,
.moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_ADAMANT
},
- [660] = {
+ [FRONTIER_MON_DUGTRIO_4] = {
.species = SPECIES_DUGTRIO,
.moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_FISSURE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [661] = {
+ [FRONTIER_MON_MEDICHAM_4] = {
.species = SPECIES_MEDICHAM,
.moves = {MOVE_MEGA_KICK, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [662] = {
+ [FRONTIER_MON_MISDREAVUS_4] = {
.species = SPECIES_MISDREAVUS,
.moves = {MOVE_DESTINY_BOND, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_TIMID
},
- [663] = {
+ [FRONTIER_MON_FEAROW_4] = {
.species = SPECIES_FEAROW,
.moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_STEEL_WING, MOVE_SKY_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [664] = {
+ [FRONTIER_MON_GRANBULL_4] = {
.species = SPECIES_GRANBULL,
.moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_BRAVE
},
- [665] = {
+ [FRONTIER_MON_JYNX_4] = {
.species = SPECIES_JYNX,
.moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_LOVELY_KISS, MOVE_FAKE_TEARS},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [666] = {
+ [FRONTIER_MON_DUSCLOPS_4] = {
.species = SPECIES_DUSCLOPS,
.moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_CURSE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [667] = {
+ [FRONTIER_MON_DODRIO_4] = {
.species = SPECIES_DODRIO,
.moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_DRILL_PECK, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [668] = {
+ [FRONTIER_MON_MR_MIME_4] = {
.species = SPECIES_MR_MIME,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [669] = {
+ [FRONTIER_MON_LANTURN_4] = {
.species = SPECIES_LANTURN,
.moves = {MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [670] = {
+ [FRONTIER_MON_BRELOOM_4] = {
.species = SPECIES_BRELOOM,
.moves = {MOVE_FOCUS_PUNCH, MOVE_SLUDGE_BOMB, MOVE_SPORE, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [671] = {
+ [FRONTIER_MON_FORRETRESS_4] = {
.species = SPECIES_FORRETRESS,
.moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DOUBLE_EDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [672] = {
+ [FRONTIER_MON_WHISCASH_4] = {
.species = SPECIES_WHISCASH,
.moves = {MOVE_FISSURE, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [673] = {
+ [FRONTIER_MON_XATU_4] = {
.species = SPECIES_XATU,
.moves = {MOVE_PSYCHIC, MOVE_DRILL_PECK, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [674] = {
+ [FRONTIER_MON_SKARMORY_4] = {
.species = SPECIES_SKARMORY,
.moves = {MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_COUNTER, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [675] = {
+ [FRONTIER_MON_MAROWAK_4] = {
.species = SPECIES_MAROWAK,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_MEGA_KICK},
.itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [676] = {
+ [FRONTIER_MON_QUAGSIRE_4] = {
.species = SPECIES_QUAGSIRE,
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_AMNESIA},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_SASSY
},
- [677] = {
+ [FRONTIER_MON_CLEFABLE_4] = {
.species = SPECIES_CLEFABLE,
.moves = {MOVE_MEGA_KICK, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_SOFT_BOILED},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [678] = {
+ [FRONTIER_MON_HARIYAMA_4] = {
.species = SPECIES_HARIYAMA,
.moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [679] = {
+ [FRONTIER_MON_RAICHU_4] = {
.species = SPECIES_RAICHU,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_PROTECT, MOVE_MEGA_KICK},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [680] = {
+ [FRONTIER_MON_DEWGONG_4] = {
.species = SPECIES_DEWGONG,
.moves = {MOVE_SHEER_COLD, MOVE_ICE_BEAM, MOVE_SURF, MOVE_SIGNAL_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [681] = {
+ [FRONTIER_MON_MANECTRIC_4] = {
.species = SPECIES_MANECTRIC,
.moves = {MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [682] = {
+ [FRONTIER_MON_VILEPLUME_4] = {
.species = SPECIES_VILEPLUME,
.moves = {MOVE_SOLAR_BEAM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [683] = {
+ [FRONTIER_MON_VICTREEBEL_4] = {
.species = SPECIES_VICTREEBEL,
.moves = {MOVE_GIGA_DRAIN, MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_SYNTHESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [684] = {
+ [FRONTIER_MON_ELECTRODE_4] = {
.species = SPECIES_ELECTRODE,
.moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [685] = {
+ [FRONTIER_MON_EXPLOUD_4] = {
.species = SPECIES_EXPLOUD,
.moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_OVERHEAT},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [686] = {
+ [FRONTIER_MON_SHIFTRY_4] = {
.species = SPECIES_SHIFTRY,
.moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_MEGA_KICK, MOVE_FAKE_OUT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [687] = {
+ [FRONTIER_MON_GLALIE_4] = {
.species = SPECIES_GLALIE,
.moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [688] = {
+ [FRONTIER_MON_LUDICOLO_4] = {
.species = SPECIES_LUDICOLO,
.moves = {MOVE_LEECH_SEED, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_TOXIC},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [689] = {
+ [FRONTIER_MON_HYPNO_4] = {
.species = SPECIES_HYPNO,
.moves = {MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [690] = {
+ [FRONTIER_MON_GOLEM_4] = {
.species = SPECIES_GOLEM,
.moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DOUBLE_EDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [691] = {
+ [FRONTIER_MON_RHYDON_4] = {
.species = SPECIES_RHYDON,
.moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_HORN_DRILL},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [692] = {
+ [FRONTIER_MON_ALAKAZAM_4] = {
.species = SPECIES_ALAKAZAM,
.moves = {MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [693] = {
+ [FRONTIER_MON_WEEZING_4] = {
.species = SPECIES_WEEZING,
.moves = {MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_FRUSTRATION, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [694] = {
+ [FRONTIER_MON_KANGASKHAN_4] = {
.species = SPECIES_KANGASKHAN,
.moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [695] = {
+ [FRONTIER_MON_ELECTABUZZ_4] = {
.species = SPECIES_ELECTABUZZ,
.moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_MEGA_KICK, MOVE_CROSS_CHOP},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [696] = {
+ [FRONTIER_MON_TAUROS_4] = {
.species = SPECIES_TAUROS,
.moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_TOMB, MOVE_THUNDERBOLT, MOVE_SURF},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [697] = {
+ [FRONTIER_MON_SLOWBRO_4] = {
.species = SPECIES_SLOWBRO,
.moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
.nature = NATURE_SASSY
},
- [698] = {
+ [FRONTIER_MON_SLOWKING_4] = {
.species = SPECIES_SLOWKING,
.moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [699] = {
+ [FRONTIER_MON_MILTANK_4] = {
.species = SPECIES_MILTANK,
.moves = {MOVE_DOUBLE_EDGE, MOVE_CURSE, MOVE_DOUBLE_TEAM, MOVE_MILK_DRINK},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [700] = {
+ [FRONTIER_MON_ALTARIA_4] = {
.species = SPECIES_ALTARIA,
.moves = {MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ICE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [701] = {
+ [FRONTIER_MON_NIDOQUEEN_4] = {
.species = SPECIES_NIDOQUEEN,
.moves = {MOVE_SUPERPOWER, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [702] = {
+ [FRONTIER_MON_NIDOKING_4] = {
.species = SPECIES_NIDOKING,
.moves = {MOVE_MEGAHORN, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_THUNDER},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [703] = {
+ [FRONTIER_MON_MAGMAR_4] = {
.species = SPECIES_MAGMAR,
.moves = {MOVE_FLAMETHROWER, MOVE_PSYCHIC, MOVE_CROSS_CHOP, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [704] = {
+ [FRONTIER_MON_CRADILY_4] = {
.species = SPECIES_CRADILY,
.moves = {MOVE_TOXIC, MOVE_INGRAIN, MOVE_MIRROR_COAT, MOVE_GIGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [705] = {
+ [FRONTIER_MON_ARMALDO_4] = {
.species = SPECIES_ARMALDO,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [706] = {
+ [FRONTIER_MON_GOLDUCK_4] = {
.species = SPECIES_GOLDUCK,
.moves = {MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [707] = {
+ [FRONTIER_MON_RAPIDASH_4] = {
.species = SPECIES_RAPIDASH,
.moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_IRON_TAIL, MOVE_DOUBLE_KICK},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [708] = {
+ [FRONTIER_MON_MUK_4] = {
.species = SPECIES_MUK,
.moves = {MOVE_SLUDGE_BOMB, MOVE_BRICK_BREAK, MOVE_GIGA_DRAIN, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_BRAVE
},
- [709] = {
+ [FRONTIER_MON_GENGAR_4] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [710] = {
+ [FRONTIER_MON_AMPHAROS_4] = {
.species = SPECIES_AMPHAROS,
.moves = {MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_THUNDER_WAVE, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [711] = {
+ [FRONTIER_MON_SCIZOR_4] = {
.species = SPECIES_SCIZOR,
.moves = {MOVE_SILVER_WIND, MOVE_SWORDS_DANCE, MOVE_AGILITY, MOVE_BATON_PASS},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [712] = {
+ [FRONTIER_MON_HERACROSS_4] = {
.species = SPECIES_HERACROSS,
.moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_REVERSAL, MOVE_ENDURE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [713] = {
+ [FRONTIER_MON_URSARING_4] = {
.species = SPECIES_URSARING,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [714] = {
+ [FRONTIER_MON_HOUNDOOM_4] = {
.species = SPECIES_HOUNDOOM,
.moves = {MOVE_OVERHEAT, MOVE_SOLAR_BEAM, MOVE_CRUNCH, MOVE_SUNNY_DAY},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [715] = {
+ [FRONTIER_MON_DONPHAN_4] = {
.species = SPECIES_DONPHAN,
.moves = {MOVE_FISSURE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_IRON_TAIL},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [716] = {
+ [FRONTIER_MON_CLAYDOL_4] = {
.species = SPECIES_CLAYDOL,
.moves = {MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [717] = {
+ [FRONTIER_MON_WAILORD_4] = {
.species = SPECIES_WAILORD,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_FISSURE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [718] = {
+ [FRONTIER_MON_NINETALES_4] = {
.species = SPECIES_NINETALES,
.moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [719] = {
+ [FRONTIER_MON_MACHAMP_4] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [720] = {
+ [FRONTIER_MON_SHUCKLE_4] = {
.species = SPECIES_SHUCKLE,
.moves = {MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_WRAP, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_CAREFUL
},
- [721] = {
+ [FRONTIER_MON_STEELIX_4] = {
.species = SPECIES_STEELIX,
.moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [722] = {
+ [FRONTIER_MON_TENTACRUEL_4] = {
.species = SPECIES_TENTACRUEL,
.moves = {MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [723] = {
+ [FRONTIER_MON_AERODACTYL_4] = {
.species = SPECIES_AERODACTYL,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_BITE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [724] = {
+ [FRONTIER_MON_PORYGON2_4] = {
.species = SPECIES_PORYGON2,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [725] = {
+ [FRONTIER_MON_GARDEVOIR_4] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [726] = {
+ [FRONTIER_MON_EXEGGUTOR_4] = {
.species = SPECIES_EXEGGUTOR,
.moves = {MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [727] = {
+ [FRONTIER_MON_STARMIE_4] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [728] = {
+ [FRONTIER_MON_FLYGON_4] = {
.species = SPECIES_FLYGON,
.moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_DOUBLE_EDGE, MOVE_CRUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [729] = {
+ [FRONTIER_MON_VENUSAUR_4] = {
.species = SPECIES_VENUSAUR,
.moves = {MOVE_SOLAR_BEAM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [730] = {
+ [FRONTIER_MON_VAPOREON_4] = {
.species = SPECIES_VAPOREON,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_ACID_ARMOR, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [731] = {
+ [FRONTIER_MON_JOLTEON_4] = {
.species = SPECIES_JOLTEON,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BITE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_TIMID
},
- [732] = {
+ [FRONTIER_MON_FLAREON_4] = {
.species = SPECIES_FLAREON,
.moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [733] = {
+ [FRONTIER_MON_MEGANIUM_4] = {
.species = SPECIES_MEGANIUM,
.moves = {MOVE_GIGA_DRAIN, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [734] = {
+ [FRONTIER_MON_ESPEON_4] = {
.species = SPECIES_ESPEON,
.moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_ATTRACT, MOVE_CALM_MIND},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [735] = {
+ [FRONTIER_MON_UMBREON_4] = {
.species = SPECIES_UMBREON,
.moves = {MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [736] = {
+ [FRONTIER_MON_BLASTOISE_4] = {
.species = SPECIES_BLASTOISE,
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [737] = {
+ [FRONTIER_MON_FERALIGATR_4] = {
.species = SPECIES_FERALIGATR,
.moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [738] = {
+ [FRONTIER_MON_AGGRON_4] = {
.species = SPECIES_AGGRON,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [739] = {
+ [FRONTIER_MON_BLAZIKEN_4] = {
.species = SPECIES_BLAZIKEN,
.moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_THUNDER_PUNCH, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [740] = {
+ [FRONTIER_MON_WALREIN_4] = {
.species = SPECIES_WALREIN,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_SHEER_COLD},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [741] = {
+ [FRONTIER_MON_SCEPTILE_4] = {
.species = SPECIES_SCEPTILE,
.moves = {MOVE_LEAF_BLADE, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_THUNDER_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [742] = {
+ [FRONTIER_MON_CHARIZARD_4] = {
.species = SPECIES_CHARIZARD,
.moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [743] = {
+ [FRONTIER_MON_TYPHLOSION_4] = {
.species = SPECIES_TYPHLOSION,
.moves = {MOVE_OVERHEAT, MOVE_THUNDER_PUNCH, MOVE_EARTHQUAKE, MOVE_CRUSH_CLAW},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [744] = {
+ [FRONTIER_MON_LAPRAS_4] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_PSYCHIC},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [745] = {
+ [FRONTIER_MON_CROBAT_4] = {
.species = SPECIES_CROBAT,
.moves = {MOVE_SLUDGE_BOMB, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [746] = {
+ [FRONTIER_MON_SWAMPERT_4] = {
.species = SPECIES_SWAMPERT,
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [747] = {
+ [FRONTIER_MON_GYARADOS_4] = {
.species = SPECIES_GYARADOS,
.moves = {MOVE_RETURN, MOVE_EARTHQUAKE, MOVE_DRAGON_DANCE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [748] = {
+ [FRONTIER_MON_SNORLAX_4] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_CURSE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [749] = {
+ [FRONTIER_MON_KINGDRA_4] = {
.species = SPECIES_KINGDRA,
.moves = {MOVE_DOUBLE_EDGE, MOVE_ICE_BEAM, MOVE_DRAGON_DANCE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [750] = {
+ [FRONTIER_MON_BLISSEY_4] = {
.species = SPECIES_BLISSEY,
.moves = {MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_COUNTER, MOVE_SOFT_BOILED},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BOLD
},
- [751] = {
+ [FRONTIER_MON_MILOTIC_4] = {
.species = SPECIES_MILOTIC,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_MIRROR_COAT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [752] = {
+ [FRONTIER_MON_ARCANINE_4] = {
.species = SPECIES_ARCANINE,
.moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_DOUBLE_EDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [753] = {
+ [FRONTIER_MON_SALAMENCE_4] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [754] = {
+ [FRONTIER_MON_METAGROSS_4] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [755] = {
+ [FRONTIER_MON_SLAKING_4] = {
.species = SPECIES_SLAKING,
.moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_YAWN},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
.nature = NATURE_MODEST
},
- [756] = {
+ [FRONTIER_MON_ARTICUNO_1] = {
.species = SPECIES_ARTICUNO,
.moves = {MOVE_ICE_BEAM, MOVE_WATER_PULSE, MOVE_ICY_WIND, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [757] = {
+ [FRONTIER_MON_ZAPDOS_1] = {
.species = SPECIES_ZAPDOS,
.moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [758] = {
+ [FRONTIER_MON_MOLTRES_1] = {
.species = SPECIES_MOLTRES,
.moves = {MOVE_FLAMETHROWER, MOVE_AERIAL_ACE, MOVE_MUD_SLAP, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [759] = {
+ [FRONTIER_MON_RAIKOU_1] = {
.species = SPECIES_RAIKOU,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [760] = {
+ [FRONTIER_MON_ENTEI_1] = {
.species = SPECIES_ENTEI,
.moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [761] = {
+ [FRONTIER_MON_SUICUNE_1] = {
.species = SPECIES_SUICUNE,
.moves = {MOVE_SURF, MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [762] = {
+ [FRONTIER_MON_REGIROCK_1] = {
.species = SPECIES_REGIROCK,
.moves = {MOVE_SUPERPOWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [763] = {
+ [FRONTIER_MON_REGICE_1] = {
.species = SPECIES_REGICE,
.moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_AMNESIA, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [764] = {
+ [FRONTIER_MON_REGISTEEL_1] = {
.species = SPECIES_REGISTEEL,
.moves = {MOVE_METAL_CLAW, MOVE_CURSE, MOVE_AMNESIA, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [765] = {
+ [FRONTIER_MON_LATIAS_1] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [766] = {
+ [FRONTIER_MON_LATIOS_1] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [767] = {
+ [FRONTIER_MON_ARTICUNO_2] = {
.species = SPECIES_ARTICUNO,
.moves = {MOVE_SUBSTITUTE, MOVE_TOXIC, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [768] = {
+ [FRONTIER_MON_ZAPDOS_2] = {
.species = SPECIES_ZAPDOS,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DRILL_PECK, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [769] = {
+ [FRONTIER_MON_MOLTRES_2] = {
.species = SPECIES_MOLTRES,
.moves = {MOVE_OVERHEAT, MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [770] = {
+ [FRONTIER_MON_RAIKOU_2] = {
.species = SPECIES_RAIKOU,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [771] = {
+ [FRONTIER_MON_ENTEI_2] = {
.species = SPECIES_ENTEI,
.moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [772] = {
+ [FRONTIER_MON_SUICUNE_2] = {
.species = SPECIES_SUICUNE,
.moves = {MOVE_TOXIC, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [773] = {
+ [FRONTIER_MON_REGIROCK_2] = {
.species = SPECIES_REGIROCK,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [774] = {
+ [FRONTIER_MON_REGICE_2] = {
.species = SPECIES_REGICE,
.moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_BLIZZARD, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [775] = {
+ [FRONTIER_MON_REGISTEEL_2] = {
.species = SPECIES_REGISTEEL,
.moves = {MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [776] = {
+ [FRONTIER_MON_LATIAS_2] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [777] = {
+ [FRONTIER_MON_LATIOS_2] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [778] = {
+ [FRONTIER_MON_ARTICUNO_3] = {
.species = SPECIES_ARTICUNO,
.moves = {MOVE_ICE_BEAM, MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [779] = {
+ [FRONTIER_MON_ZAPDOS_3] = {
.species = SPECIES_ZAPDOS,
.moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_SUBSTITUTE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [780] = {
+ [FRONTIER_MON_MOLTRES_3] = {
.species = SPECIES_MOLTRES,
.moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_DOUBLE_TEAM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [781] = {
+ [FRONTIER_MON_RAIKOU_3] = {
.species = SPECIES_RAIKOU,
.moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [782] = {
+ [FRONTIER_MON_ENTEI_3] = {
.species = SPECIES_ENTEI,
.moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_EDGE, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [783] = {
+ [FRONTIER_MON_SUICUNE_3] = {
.species = SPECIES_SUICUNE,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [784] = {
+ [FRONTIER_MON_REGIROCK_3] = {
.species = SPECIES_REGIROCK,
.moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_CURSE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [785] = {
+ [FRONTIER_MON_REGICE_3] = {
.species = SPECIES_REGICE,
.moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [786] = {
+ [FRONTIER_MON_REGISTEEL_3] = {
.species = SPECIES_REGISTEEL,
.moves = {MOVE_ANCIENT_POWER, MOVE_AMNESIA, MOVE_COUNTER, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [787] = {
+ [FRONTIER_MON_LATIAS_3] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [788] = {
+ [FRONTIER_MON_LATIOS_3] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [789] = {
+ [FRONTIER_MON_ARTICUNO_4] = {
.species = SPECIES_ARTICUNO,
.moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_REST, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [790] = {
+ [FRONTIER_MON_ZAPDOS_4] = {
.species = SPECIES_ZAPDOS,
.moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [791] = {
+ [FRONTIER_MON_MOLTRES_4] = {
.species = SPECIES_MOLTRES,
.moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_STEEL_WING, MOVE_SAFEGUARD},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [792] = {
+ [FRONTIER_MON_RAIKOU_4] = {
.species = SPECIES_RAIKOU,
.moves = {MOVE_THUNDERBOLT, MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [793] = {
+ [FRONTIER_MON_ENTEI_4] = {
.species = SPECIES_ENTEI,
.moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_DOUBLE_TEAM, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [794] = {
+ [FRONTIER_MON_SUICUNE_4] = {
.species = SPECIES_SUICUNE,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BITE, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [795] = {
+ [FRONTIER_MON_REGIROCK_4] = {
.species = SPECIES_REGIROCK,
.moves = {MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [796] = {
+ [FRONTIER_MON_REGICE_4] = {
.species = SPECIES_REGICE,
.moves = {MOVE_ICE_BEAM, MOVE_HAIL, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [797] = {
+ [FRONTIER_MON_REGISTEEL_4] = {
.species = SPECIES_REGISTEEL,
.moves = {MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [798] = {
+ [FRONTIER_MON_LATIAS_4] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_MIST_BALL, MOVE_SHADOW_BALL, MOVE_CHARM, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [799] = {
+ [FRONTIER_MON_LATIOS_4] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [800] = {
+ [FRONTIER_MON_GENGAR_5] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [801] = {
+ [FRONTIER_MON_GENGAR_6] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [802] = {
+ [FRONTIER_MON_GENGAR_7] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [803] = {
+ [FRONTIER_MON_GENGAR_8] = {
.species = SPECIES_GENGAR,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [804] = {
+ [FRONTIER_MON_URSARING_5] = {
.species = SPECIES_URSARING,
.moves = {MOVE_MEGA_KICK, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [805] = {
+ [FRONTIER_MON_URSARING_6] = {
.species = SPECIES_URSARING,
.moves = {MOVE_HYPER_BEAM, MOVE_YAWN, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [806] = {
+ [FRONTIER_MON_URSARING_7] = {
.species = SPECIES_URSARING,
.moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_BULK_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [807] = {
+ [FRONTIER_MON_URSARING_8] = {
.species = SPECIES_URSARING,
.moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [808] = {
+ [FRONTIER_MON_MACHAMP_5] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_CROSS_CHOP, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [809] = {
+ [FRONTIER_MON_MACHAMP_6] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [810] = {
+ [FRONTIER_MON_MACHAMP_7] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [811] = {
+ [FRONTIER_MON_MACHAMP_8] = {
.species = SPECIES_MACHAMP,
.moves = {MOVE_REVENGE, MOVE_ROCK_SLIDE, MOVE_FACADE, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [812] = {
+ [FRONTIER_MON_GARDEVOIR_5] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ENDURE, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [813] = {
+ [FRONTIER_MON_GARDEVOIR_6] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_TIMID
},
- [814] = {
+ [FRONTIER_MON_GARDEVOIR_7] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [815] = {
+ [FRONTIER_MON_GARDEVOIR_8] = {
.species = SPECIES_GARDEVOIR,
.moves = {MOVE_PSYCHIC, MOVE_MAGICAL_LEAF, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [816] = {
+ [FRONTIER_MON_STARMIE_5] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_RECOVER, MOVE_LIGHT_SCREEN},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [817] = {
+ [FRONTIER_MON_STARMIE_6] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [818] = {
+ [FRONTIER_MON_STARMIE_7] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_COSMIC_POWER, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [819] = {
+ [FRONTIER_MON_STARMIE_8] = {
.species = SPECIES_STARMIE,
.moves = {MOVE_SURF, MOVE_THUNDERBOLT, MOVE_COSMIC_POWER, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [820] = {
+ [FRONTIER_MON_LAPRAS_5] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [821] = {
+ [FRONTIER_MON_LAPRAS_6] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_BLIZZARD},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [822] = {
+ [FRONTIER_MON_LAPRAS_7] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_SHEER_COLD, MOVE_HORN_DRILL, MOVE_REST, MOVE_SLEEP_TALK},
.itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [823] = {
+ [FRONTIER_MON_LAPRAS_8] = {
.species = SPECIES_LAPRAS,
.moves = {MOVE_SHEER_COLD, MOVE_HORN_DRILL, MOVE_SING, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [824] = {
+ [FRONTIER_MON_SNORLAX_5] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [825] = {
+ [FRONTIER_MON_SNORLAX_6] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [826] = {
+ [FRONTIER_MON_SNORLAX_7] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_CURSE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [827] = {
+ [FRONTIER_MON_SNORLAX_8] = {
.species = SPECIES_SNORLAX,
.moves = {MOVE_RETURN, MOVE_SHADOW_BALL, MOVE_BELLY_DRUM, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [828] = {
+ [FRONTIER_MON_SALAMENCE_5] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [829] = {
+ [FRONTIER_MON_SALAMENCE_6] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_HEADBUTT, MOVE_AERIAL_ACE, MOVE_CRUNCH, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [830] = {
+ [FRONTIER_MON_SALAMENCE_7] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [831] = {
+ [FRONTIER_MON_SALAMENCE_8] = {
.species = SPECIES_SALAMENCE,
.moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [832] = {
+ [FRONTIER_MON_METAGROSS_5] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [833] = {
+ [FRONTIER_MON_METAGROSS_6] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [834] = {
+ [FRONTIER_MON_METAGROSS_7] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [835] = {
+ [FRONTIER_MON_METAGROSS_8] = {
.species = SPECIES_METAGROSS,
.moves = {MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [836] = {
+ [FRONTIER_MON_REGIROCK_5] = {
.species = SPECIES_REGIROCK,
.moves = {MOVE_HYPER_BEAM, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [837] = {
+ [FRONTIER_MON_REGIROCK_6] = {
.species = SPECIES_REGIROCK,
.moves = {MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_ROCK_SLIDE, MOVE_EXPLOSION},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [838] = {
+ [FRONTIER_MON_REGICE_5] = {
.species = SPECIES_REGICE,
.moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_COUNTER},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [839] = {
+ [FRONTIER_MON_REGICE_6] = {
.species = SPECIES_REGICE,
.moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_SLEEP_TALK, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [840] = {
+ [FRONTIER_MON_REGISTEEL_5] = {
.species = SPECIES_REGISTEEL,
.moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_TOXIC, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [841] = {
+ [FRONTIER_MON_REGISTEEL_6] = {
.species = SPECIES_REGISTEEL,
.moves = {MOVE_SUPERPOWER, MOVE_AERIAL_ACE, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [842] = {
+ [FRONTIER_MON_LATIAS_5] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [843] = {
+ [FRONTIER_MON_LATIAS_6] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_MIST_BALL, MOVE_DRAGON_CLAW, MOVE_ATTRACT, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [844] = {
+ [FRONTIER_MON_LATIAS_7] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_SWAGGER, MOVE_PSYCH_UP},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [845] = {
+ [FRONTIER_MON_LATIAS_8] = {
.species = SPECIES_LATIAS,
.moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [846] = {
+ [FRONTIER_MON_LATIOS_5] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [847] = {
+ [FRONTIER_MON_LATIOS_6] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_LUSTER_PURGE, MOVE_SHADOW_BALL, MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [848] = {
+ [FRONTIER_MON_LATIOS_7] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_DRAGON_DANCE, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [849] = {
+ [FRONTIER_MON_LATIOS_8] = {
.species = SPECIES_LATIOS,
.moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [850] = {
+ [FRONTIER_MON_DRAGONITE_1] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [851] = {
+ [FRONTIER_MON_DRAGONITE_2] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [852] = {
+ [FRONTIER_MON_DRAGONITE_3] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_HYPER_BEAM, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [853] = {
+ [FRONTIER_MON_DRAGONITE_4] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_HYPER_BEAM, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [854] = {
+ [FRONTIER_MON_DRAGONITE_5] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_OUTRAGE, MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [855] = {
+ [FRONTIER_MON_DRAGONITE_6] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_FLAMETHROWER},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [856] = {
+ [FRONTIER_MON_DRAGONITE_7] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [857] = {
+ [FRONTIER_MON_DRAGONITE_8] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_BRICK_BREAK},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [858] = {
+ [FRONTIER_MON_DRAGONITE_9] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_THUNDER, MOVE_SURF, MOVE_RAIN_DANCE, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [859] = {
+ [FRONTIER_MON_DRAGONITE_10] = {
.species = SPECIES_DRAGONITE,
.moves = {MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [860] = {
+ [FRONTIER_MON_TYRANITAR_1] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_THUNDERBOLT, MOVE_SURF},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [861] = {
+ [FRONTIER_MON_TYRANITAR_2] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_THUNDERBOLT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [862] = {
+ [FRONTIER_MON_TYRANITAR_3] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [863] = {
+ [FRONTIER_MON_TYRANITAR_4] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_CRUNCH, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [864] = {
+ [FRONTIER_MON_TYRANITAR_5] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [865] = {
+ [FRONTIER_MON_TYRANITAR_6] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CURSE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [866] = {
+ [FRONTIER_MON_TYRANITAR_7] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CURSE},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [867] = {
+ [FRONTIER_MON_TYRANITAR_8] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [868] = {
+ [FRONTIER_MON_TYRANITAR_9] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [869] = {
+ [FRONTIER_MON_TYRANITAR_10] = {
.species = SPECIES_TYRANITAR,
.moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [870] = {
+ [FRONTIER_MON_ARTICUNO_5] = {
.species = SPECIES_ARTICUNO,
.moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_AGILITY, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [871] = {
+ [FRONTIER_MON_ARTICUNO_6] = {
.species = SPECIES_ARTICUNO,
.moves = {MOVE_ICE_BEAM, MOVE_AERIAL_ACE, MOVE_REFLECT, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [872] = {
+ [FRONTIER_MON_ZAPDOS_5] = {
.species = SPECIES_ZAPDOS,
.moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [873] = {
+ [FRONTIER_MON_ZAPDOS_6] = {
.species = SPECIES_ZAPDOS,
.moves = {MOVE_THUNDER, MOVE_DRILL_PECK, MOVE_RAIN_DANCE, MOVE_DOUBLE_EDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [874] = {
+ [FRONTIER_MON_MOLTRES_5] = {
.species = SPECIES_MOLTRES,
.moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_SWAGGER, MOVE_FACADE},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_DOCILE
},
- [875] = {
+ [FRONTIER_MON_MOLTRES_6] = {
.species = SPECIES_MOLTRES,
.moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_AERIAL_ACE, MOVE_STEEL_WING},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_DOCILE
},
- [876] = {
+ [FRONTIER_MON_RAIKOU_5] = {
.species = SPECIES_RAIKOU,
.moves = {MOVE_THUNDERBOLT, MOVE_DOUBLE_EDGE, MOVE_ROAR, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [877] = {
+ [FRONTIER_MON_RAIKOU_6] = {
.species = SPECIES_RAIKOU,
.moves = {MOVE_THUNDERBOLT, MOVE_CALM_MIND, MOVE_SUBSTITUTE, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [878] = {
+ [FRONTIER_MON_ENTEI_5] = {
.species = SPECIES_ENTEI,
.moves = {MOVE_FIRE_BLAST, MOVE_DOUBLE_EDGE, MOVE_ENDURE, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_DOCILE
},
- [879] = {
+ [FRONTIER_MON_ENTEI_6] = {
.species = SPECIES_ENTEI,
.moves = {MOVE_FLAMETHROWER, MOVE_CALM_MIND, MOVE_ROAR, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [880] = {
+ [FRONTIER_MON_SUICUNE_5] = {
.species = SPECIES_SUICUNE,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_ICY_WIND},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [881] = {
+ [FRONTIER_MON_SUICUNE_6] = {
.species = SPECIES_SUICUNE,
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
diff --git a/src/data/battle_frontier/battle_frontier_trainer_mons.h b/src/data/battle_frontier/battle_frontier_trainer_mons.h
index d0e21172b..183964f2d 100644
--- a/src/data/battle_frontier/battle_frontier_trainer_mons.h
+++ b/src/data/battle_frontier/battle_frontier_trainer_mons.h
@@ -1,15229 +1,7369 @@
+// Also used by early Pkmn Breeder, Collector, and Beauty trainers
+#define FRONTIER_MONS_YOUNGSTER_LASS_1 \
+ FRONTIER_MON_SUNKERN, \
+ FRONTIER_MON_AZURILL, \
+ FRONTIER_MON_CATERPIE, \
+ FRONTIER_MON_WEEDLE, \
+ FRONTIER_MON_WURMPLE, \
+ FRONTIER_MON_RALTS, \
+ FRONTIER_MON_MAGIKARP, \
+ FRONTIER_MON_FEEBAS, \
+ FRONTIER_MON_PICHU, \
+ FRONTIER_MON_IGGLYBUFF, \
+ FRONTIER_MON_WOOPER, \
+ FRONTIER_MON_TYROGUE, \
+ FRONTIER_MON_SENTRET, \
+ FRONTIER_MON_CLEFFA, \
+ FRONTIER_MON_SEEDOT, \
+ FRONTIER_MON_LOTAD, \
+ FRONTIER_MON_POOCHYENA, \
+ FRONTIER_MON_SHEDINJA, \
+ FRONTIER_MON_MAKUHITA, \
+ FRONTIER_MON_WHISMUR, \
+ FRONTIER_MON_ZIGZAGOON, \
+ FRONTIER_MON_ZUBAT, \
+ FRONTIER_MON_TOGEPI, \
+ FRONTIER_MON_SPINARAK, \
+ FRONTIER_MON_MARILL, \
+ FRONTIER_MON_HOPPIP, \
+ FRONTIER_MON_SLUGMA, \
+ FRONTIER_MON_SWINUB, \
+ FRONTIER_MON_SMEARGLE, \
+ FRONTIER_MON_PIDGEY, \
+ FRONTIER_MON_RATTATA, \
+ FRONTIER_MON_WYNAUT, \
+ FRONTIER_MON_SKITTY, \
+ FRONTIER_MON_SPEAROW, \
+ FRONTIER_MON_HOOTHOOT, \
+ FRONTIER_MON_DIGLETT, \
+ FRONTIER_MON_LEDYBA, \
+ FRONTIER_MON_NINCADA, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_JIGGLYPUFF, \
+ FRONTIER_MON_TAILLOW, \
+ FRONTIER_MON_WINGULL, \
+ FRONTIER_MON_NIDORAN_M, \
+ FRONTIER_MON_NIDORAN_F, \
+ FRONTIER_MON_KIRLIA, \
+ FRONTIER_MON_MAREEP, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_SLAKOTH, \
+ FRONTIER_MON_PARAS, \
+ FRONTIER_MON_EKANS, \
+ FRONTIER_MON_DITTO, \
+ FRONTIER_MON_BARBOACH, \
+ FRONTIER_MON_MEOWTH, \
+ FRONTIER_MON_PINECO, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_SPHEAL, \
+ FRONTIER_MON_HORSEA, \
+ FRONTIER_MON_SHROOMISH, \
+ FRONTIER_MON_SHUPPET, \
+ FRONTIER_MON_DUSKULL, \
+ FRONTIER_MON_ELECTRIKE, \
+ FRONTIER_MON_VULPIX, \
+ -1
+
+// Also used by early Pkmn Breeder, Collector, and Beauty trainers
+#define FRONTIER_MONS_SCHOOL_KID_1 \
+ FRONTIER_MON_PIKACHU, \
+ FRONTIER_MON_SANDSHREW, \
+ FRONTIER_MON_POLIWAG, \
+ FRONTIER_MON_BELLSPROUT, \
+ FRONTIER_MON_GEODUDE, \
+ FRONTIER_MON_DRATINI, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_REMORAID, \
+ FRONTIER_MON_LARVITAR, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_SNORUNT, \
+ FRONTIER_MON_BAGON, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_GULPIN, \
+ FRONTIER_MON_VENONAT, \
+ FRONTIER_MON_MANKEY, \
+ FRONTIER_MON_MACHOP, \
+ FRONTIER_MON_SHELLDER, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_NUMEL, \
+ FRONTIER_MON_CARVANHA, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_CHARMANDER, \
+ FRONTIER_MON_CYNDAQUIL, \
+ FRONTIER_MON_ABRA, \
+ FRONTIER_MON_DODUO, \
+ FRONTIER_MON_GASTLY, \
+ FRONTIER_MON_SWABLU, \
+ FRONTIER_MON_TREECKO, \
+ FRONTIER_MON_TORCHIC, \
+ FRONTIER_MON_MUDKIP, \
+ FRONTIER_MON_SQUIRTLE, \
+ FRONTIER_MON_TOTODILE, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_BULBASAUR, \
+ FRONTIER_MON_CHIKORITA, \
+ FRONTIER_MON_ODDISH, \
+ FRONTIER_MON_PSYDUCK, \
+ FRONTIER_MON_CUBONE, \
+ FRONTIER_MON_GOLDEEN, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_MAGNEMITE, \
+ FRONTIER_MON_SEEL, \
+ -1
+
+#define FRONTIER_MONS_RICH_BOY_LADY_1 \
+ FRONTIER_MON_RALTS, \
+ FRONTIER_MON_POOCHYENA, \
+ FRONTIER_MON_SHEDINJA, \
+ FRONTIER_MON_ZUBAT, \
+ FRONTIER_MON_SPINARAK, \
+ FRONTIER_MON_WYNAUT, \
+ FRONTIER_MON_NIDORAN_M, \
+ FRONTIER_MON_NIDORAN_F, \
+ FRONTIER_MON_KIRLIA, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_EKANS, \
+ FRONTIER_MON_SHUPPET, \
+ FRONTIER_MON_DUSKULL, \
+ FRONTIER_MON_BELLSPROUT, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_GULPIN, \
+ FRONTIER_MON_VENONAT, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_ABRA, \
+ FRONTIER_MON_GASTLY, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_BULBASAUR, \
+ FRONTIER_MON_ODDISH, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_GRIMER, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_DROWZEE, \
+ FRONTIER_MON_HOUNDOUR, \
+ FRONTIER_MON_SPOINK, \
+ FRONTIER_MON_TENTACOOL, \
+ FRONTIER_MON_KOFFING, \
+ FRONTIER_MON_NIDORINA, \
+ FRONTIER_MON_NIDORINO, \
+ FRONTIER_MON_BEEDRILL, \
+ FRONTIER_MON_DUSTOX, \
+ FRONTIER_MON_ARIADOS, \
+ -1
+
+// Also used by early Pkmn Breeder, Collector, and Beauty trainers
+#define FRONTIER_MONS_CAMPER_PICNICKER_1 \
+ FRONTIER_MON_GRIMER, \
+ FRONTIER_MON_KRABBY, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_DROWZEE, \
+ FRONTIER_MON_VOLTORB, \
+ FRONTIER_MON_CHINCHOU, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_DELIBIRD, \
+ FRONTIER_MON_HOUNDOUR, \
+ FRONTIER_MON_PHANPY, \
+ FRONTIER_MON_SPOINK, \
+ FRONTIER_MON_ARON, \
+ FRONTIER_MON_LUVDISC, \
+ FRONTIER_MON_TENTACOOL, \
+ FRONTIER_MON_CACNEA, \
+ FRONTIER_MON_KOFFING, \
+ FRONTIER_MON_STARYU, \
+ FRONTIER_MON_SKIPLOOM, \
+ FRONTIER_MON_NUZLEAF, \
+ FRONTIER_MON_LOMBRE, \
+ FRONTIER_MON_VIBRAVA, \
+ FRONTIER_MON_RHYHORN, \
+ FRONTIER_MON_CLAMPERL, \
+ FRONTIER_MON_PIDGEOTTO, \
+ FRONTIER_MON_GROWLITHE, \
+ FRONTIER_MON_FARFETCHD, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_LILEEP, \
+ FRONTIER_MON_ANORITH, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_ELEKID, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_SPINDA, \
+ FRONTIER_MON_NIDORINA, \
+ FRONTIER_MON_NIDORINO, \
+ FRONTIER_MON_FLAAFFY, \
+ FRONTIER_MON_MAGBY, \
+ FRONTIER_MON_NOSEPASS, \
+ FRONTIER_MON_CORSOLA, \
+ FRONTIER_MON_MAWILE, \
+ FRONTIER_MON_BUTTERFREE, \
+ FRONTIER_MON_BEEDRILL, \
+ FRONTIER_MON_POLIWHIRL, \
+ FRONTIER_MON_ONIX, \
+ FRONTIER_MON_BEAUTIFLY, \
+ FRONTIER_MON_DUSTOX, \
+ FRONTIER_MON_LEDIAN, \
+ FRONTIER_MON_ARIADOS, \
+ FRONTIER_MON_YANMA, \
+ -1
+
+#define FRONTIER_MONS_TUBER_1 \
+ FRONTIER_MON_RALTS, \
+ FRONTIER_MON_MAGIKARP, \
+ FRONTIER_MON_FEEBAS, \
+ FRONTIER_MON_WOOPER, \
+ FRONTIER_MON_LOTAD, \
+ FRONTIER_MON_MARILL, \
+ FRONTIER_MON_WYNAUT, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_WINGULL, \
+ FRONTIER_MON_KIRLIA, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_BARBOACH, \
+ FRONTIER_MON_SPHEAL, \
+ FRONTIER_MON_HORSEA, \
+ FRONTIER_MON_POLIWAG, \
+ FRONTIER_MON_REMORAID, \
+ FRONTIER_MON_SHELLDER, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_CARVANHA, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_ABRA, \
+ FRONTIER_MON_MUDKIP, \
+ FRONTIER_MON_SQUIRTLE, \
+ FRONTIER_MON_TOTODILE, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_PSYDUCK, \
+ FRONTIER_MON_GOLDEEN, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_SEEL, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_DROWZEE, \
+ FRONTIER_MON_SPOINK, \
+ -1
+
+#define FRONTIER_MONS_SWIMMER_M_1 \
+ FRONTIER_MON_AZURILL, \
+ FRONTIER_MON_IGGLYBUFF, \
+ FRONTIER_MON_TYROGUE, \
+ FRONTIER_MON_SENTRET, \
+ FRONTIER_MON_CLEFFA, \
+ FRONTIER_MON_MAKUHITA, \
+ FRONTIER_MON_WHISMUR, \
+ FRONTIER_MON_ZIGZAGOON, \
+ FRONTIER_MON_TOGEPI, \
+ FRONTIER_MON_SMEARGLE, \
+ FRONTIER_MON_RATTATA, \
+ FRONTIER_MON_SKITTY, \
+ FRONTIER_MON_JIGGLYPUFF, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_SLAKOTH, \
+ FRONTIER_MON_DITTO, \
+ FRONTIER_MON_MEOWTH, \
+ FRONTIER_MON_POLIWAG, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_REMORAID, \
+ FRONTIER_MON_MANKEY, \
+ FRONTIER_MON_MACHOP, \
+ FRONTIER_MON_SHELLDER, \
+ FRONTIER_MON_CARVANHA, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_MUDKIP, \
+ FRONTIER_MON_SQUIRTLE, \
+ FRONTIER_MON_TOTODILE, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_PSYDUCK, \
+ FRONTIER_MON_GOLDEEN, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_SEEL, \
+ FRONTIER_MON_KRABBY, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_CHINCHOU, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_LUVDISC, \
+ FRONTIER_MON_TENTACOOL, \
+ FRONTIER_MON_STARYU, \
+ FRONTIER_MON_LOMBRE, \
+ FRONTIER_MON_CLAMPERL, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_SPINDA, \
+ FRONTIER_MON_CORSOLA, \
+ FRONTIER_MON_MAWILE, \
+ FRONTIER_MON_POLIWHIRL, \
+ -1
+
+#define FRONTIER_MONS_SWIMMER_F_1 \
+ FRONTIER_MON_AZURILL, \
+ FRONTIER_MON_IGGLYBUFF, \
+ FRONTIER_MON_SENTRET, \
+ FRONTIER_MON_CLEFFA, \
+ FRONTIER_MON_WHISMUR, \
+ FRONTIER_MON_ZIGZAGOON, \
+ FRONTIER_MON_TOGEPI, \
+ FRONTIER_MON_SMEARGLE, \
+ FRONTIER_MON_RATTATA, \
+ FRONTIER_MON_SKITTY, \
+ FRONTIER_MON_JIGGLYPUFF, \
+ FRONTIER_MON_SLAKOTH, \
+ FRONTIER_MON_DITTO, \
+ FRONTIER_MON_MEOWTH, \
+ FRONTIER_MON_POLIWAG, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_REMORAID, \
+ FRONTIER_MON_SNORUNT, \
+ FRONTIER_MON_SHELLDER, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_CARVANHA, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_MUDKIP, \
+ FRONTIER_MON_SQUIRTLE, \
+ FRONTIER_MON_TOTODILE, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_PSYDUCK, \
+ FRONTIER_MON_GOLDEEN, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_SEEL, \
+ FRONTIER_MON_KRABBY, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_CHINCHOU, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_DELIBIRD, \
+ FRONTIER_MON_LUVDISC, \
+ FRONTIER_MON_TENTACOOL, \
+ FRONTIER_MON_STARYU, \
+ FRONTIER_MON_LOMBRE, \
+ FRONTIER_MON_CLAMPERL, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_SPINDA, \
+ FRONTIER_MON_CORSOLA, \
+ FRONTIER_MON_POLIWHIRL, \
+ -1
+
+#define FRONTIER_MONS_POKEFAN_M_1 \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_NUMEL, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_CHARMANDER, \
+ FRONTIER_MON_CYNDAQUIL, \
+ FRONTIER_MON_SWABLU, \
+ FRONTIER_MON_TREECKO, \
+ FRONTIER_MON_TORCHIC, \
+ FRONTIER_MON_MUDKIP, \
+ FRONTIER_MON_SQUIRTLE, \
+ FRONTIER_MON_TOTODILE, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_BULBASAUR, \
+ FRONTIER_MON_CHIKORITA, \
+ FRONTIER_MON_ODDISH, \
+ FRONTIER_MON_PSYDUCK, \
+ FRONTIER_MON_GOLDEEN, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_SEEL, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_PHANPY, \
+ FRONTIER_MON_SPOINK, \
+ FRONTIER_MON_LUVDISC, \
+ FRONTIER_MON_SKIPLOOM, \
+ FRONTIER_MON_CLAMPERL, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_ELEKID, \
+ FRONTIER_MON_SPINDA, \
+ FRONTIER_MON_FLAAFFY, \
+ FRONTIER_MON_MAGBY, \
+ FRONTIER_MON_CORSOLA, \
+ FRONTIER_MON_MAWILE, \
+ FRONTIER_MON_POLIWHIRL, \
+ -1
+
+#define FRONTIER_MONS_POKEFAN_F_1 \
+ FRONTIER_MON_AZURILL, \
+ FRONTIER_MON_RALTS, \
+ FRONTIER_MON_MAGIKARP, \
+ FRONTIER_MON_PICHU, \
+ FRONTIER_MON_IGGLYBUFF, \
+ FRONTIER_MON_WOOPER, \
+ FRONTIER_MON_SENTRET, \
+ FRONTIER_MON_CLEFFA, \
+ FRONTIER_MON_SEEDOT, \
+ FRONTIER_MON_LOTAD, \
+ FRONTIER_MON_POOCHYENA, \
+ FRONTIER_MON_WHISMUR, \
+ FRONTIER_MON_ZIGZAGOON, \
+ FRONTIER_MON_TOGEPI, \
+ FRONTIER_MON_MARILL, \
+ FRONTIER_MON_HOPPIP, \
+ FRONTIER_MON_SWINUB, \
+ FRONTIER_MON_SMEARGLE, \
+ FRONTIER_MON_PIDGEY, \
+ FRONTIER_MON_RATTATA, \
+ FRONTIER_MON_WYNAUT, \
+ FRONTIER_MON_SKITTY, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_JIGGLYPUFF, \
+ FRONTIER_MON_TAILLOW, \
+ FRONTIER_MON_WINGULL, \
+ FRONTIER_MON_NIDORAN_M, \
+ FRONTIER_MON_NIDORAN_F, \
+ FRONTIER_MON_KIRLIA, \
+ FRONTIER_MON_MAREEP, \
+ FRONTIER_MON_DITTO, \
+ FRONTIER_MON_MEOWTH, \
+ FRONTIER_MON_SPHEAL, \
+ FRONTIER_MON_SHROOMISH, \
+ FRONTIER_MON_VULPIX, \
+ FRONTIER_MON_PIKACHU, \
+ FRONTIER_MON_SANDSHREW, \
+ FRONTIER_MON_POLIWAG, \
+ FRONTIER_MON_DRATINI, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_GULPIN, \
+ -1
+
+#define FRONTIER_MONS_BUG_CATCHER_1 \
+ FRONTIER_MON_CATERPIE, \
+ FRONTIER_MON_WEEDLE, \
+ FRONTIER_MON_WURMPLE, \
+ FRONTIER_MON_SHEDINJA, \
+ FRONTIER_MON_SPINARAK, \
+ FRONTIER_MON_DIGLETT, \
+ FRONTIER_MON_LEDYBA, \
+ FRONTIER_MON_NINCADA, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_PARAS, \
+ FRONTIER_MON_PINECO, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_VENONAT, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_VIBRAVA, \
+ FRONTIER_MON_ANORITH, \
+ FRONTIER_MON_BUTTERFREE, \
+ FRONTIER_MON_BEEDRILL, \
+ FRONTIER_MON_BEAUTIFLY, \
+ FRONTIER_MON_DUSTOX, \
+ FRONTIER_MON_LEDIAN, \
+ FRONTIER_MON_ARIADOS, \
+ FRONTIER_MON_YANMA, \
+ -1
+
+// Identical to above with 2 additions. Might be possible to merge the two
+#define FRONTIER_MONS_BUG_CATCHER_1_EXTRA(species1, species2) \
+ FRONTIER_MON_CATERPIE, \
+ FRONTIER_MON_WEEDLE, \
+ FRONTIER_MON_WURMPLE, \
+ FRONTIER_MON_##species1, \
+ FRONTIER_MON_##species2, \
+ FRONTIER_MON_SHEDINJA, \
+ FRONTIER_MON_SPINARAK, \
+ FRONTIER_MON_DIGLETT, \
+ FRONTIER_MON_LEDYBA, \
+ FRONTIER_MON_NINCADA, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_PARAS, \
+ FRONTIER_MON_PINECO, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_VENONAT, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_VIBRAVA, \
+ FRONTIER_MON_ANORITH, \
+ FRONTIER_MON_BUTTERFREE, \
+ FRONTIER_MON_BEEDRILL, \
+ FRONTIER_MON_BEAUTIFLY, \
+ FRONTIER_MON_DUSTOX, \
+ FRONTIER_MON_LEDIAN, \
+ FRONTIER_MON_ARIADOS, \
+ FRONTIER_MON_YANMA, \
+ -1
+
+#define FRONTIER_MONS_NINJA_BOY_1 \
+ FRONTIER_MON_RALTS, \
+ FRONTIER_MON_SHEDINJA, \
+ FRONTIER_MON_ZUBAT, \
+ FRONTIER_MON_SPINARAK, \
+ FRONTIER_MON_WYNAUT, \
+ FRONTIER_MON_DIGLETT, \
+ FRONTIER_MON_LEDYBA, \
+ FRONTIER_MON_NINCADA, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_NIDORAN_M, \
+ FRONTIER_MON_NIDORAN_F, \
+ FRONTIER_MON_KIRLIA, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_PARAS, \
+ FRONTIER_MON_EKANS, \
+ FRONTIER_MON_PINECO, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_SHUPPET, \
+ FRONTIER_MON_DUSKULL, \
+ FRONTIER_MON_BELLSPROUT, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_GULPIN, \
+ FRONTIER_MON_VENONAT, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_ABRA, \
+ FRONTIER_MON_GASTLY, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_BULBASAUR, \
+ FRONTIER_MON_ODDISH, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_GRIMER, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_DROWZEE, \
+ FRONTIER_MON_SPOINK, \
+ FRONTIER_MON_TENTACOOL, \
+ FRONTIER_MON_KOFFING, \
+ FRONTIER_MON_VIBRAVA, \
+ FRONTIER_MON_ANORITH, \
+ FRONTIER_MON_NIDORINA, \
+ FRONTIER_MON_NIDORINO, \
+ FRONTIER_MON_BUTTERFREE, \
+ FRONTIER_MON_BEEDRILL, \
+ FRONTIER_MON_BEAUTIFLY, \
+ FRONTIER_MON_DUSTOX, \
+ FRONTIER_MON_LEDIAN, \
+ FRONTIER_MON_ARIADOS, \
+ FRONTIER_MON_YANMA, \
+ -1
+
+#define FRONTIER_MONS_BUG_MANIAC_1 \
+ FRONTIER_MON_SHEDINJA, \
+ FRONTIER_MON_SPINARAK, \
+ FRONTIER_MON_HOPPIP, \
+ FRONTIER_MON_DIGLETT, \
+ FRONTIER_MON_LEDYBA, \
+ FRONTIER_MON_NINCADA, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_PARAS, \
+ FRONTIER_MON_PINECO, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_SHROOMISH, \
+ FRONTIER_MON_SHUPPET, \
+ FRONTIER_MON_DUSKULL, \
+ FRONTIER_MON_BELLSPROUT, \
+ FRONTIER_MON_VENONAT, \
+ FRONTIER_MON_GASTLY, \
+ FRONTIER_MON_ODDISH, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_CACNEA, \
+ FRONTIER_MON_SKIPLOOM, \
+ FRONTIER_MON_VIBRAVA, \
+ FRONTIER_MON_LILEEP, \
+ FRONTIER_MON_ANORITH, \
+ FRONTIER_MON_BUTTERFREE, \
+ FRONTIER_MON_BEEDRILL, \
+ FRONTIER_MON_BEAUTIFLY, \
+ FRONTIER_MON_DUSTOX, \
+ FRONTIER_MON_LEDIAN, \
+ FRONTIER_MON_ARIADOS, \
+ FRONTIER_MON_YANMA, \
+ -1
+
+#define FRONTIER_MONS_FISHERMAN_1 \
+ FRONTIER_MON_MAGIKARP, \
+ FRONTIER_MON_FEEBAS, \
+ FRONTIER_MON_BARBOACH, \
+ FRONTIER_MON_HORSEA, \
+ FRONTIER_MON_POLIWAG, \
+ FRONTIER_MON_REMORAID, \
+ FRONTIER_MON_SHELLDER, \
+ FRONTIER_MON_CARVANHA, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_GOLDEEN, \
+ FRONTIER_MON_KRABBY, \
+ FRONTIER_MON_CHINCHOU, \
+ FRONTIER_MON_LUVDISC, \
+ FRONTIER_MON_TENTACOOL, \
+ FRONTIER_MON_STARYU, \
+ FRONTIER_MON_CLAMPERL, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_CORSOLA, \
+ -1
+
+#define FRONTIER_MONS_RUIN_MANIAC_1 \
+ FRONTIER_MON_SWINUB, \
+ FRONTIER_MON_DIGLETT, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_SANDSHREW, \
+ FRONTIER_MON_GEODUDE, \
+ FRONTIER_MON_LARVITAR, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_NUMEL, \
+ FRONTIER_MON_CUBONE, \
+ FRONTIER_MON_MAGNEMITE, \
+ FRONTIER_MON_PHANPY, \
+ FRONTIER_MON_ARON, \
+ FRONTIER_MON_RHYHORN, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_LILEEP, \
+ FRONTIER_MON_ANORITH, \
+ FRONTIER_MON_NOSEPASS, \
+ FRONTIER_MON_CORSOLA, \
+ FRONTIER_MON_MAWILE, \
+ FRONTIER_MON_ONIX, \
+ -1
+
+#define FRONTIER_MONS_PARASOL_LADY_1 \
+ FRONTIER_MON_SUNKERN, \
+ FRONTIER_MON_WOOPER, \
+ FRONTIER_MON_LOTAD, \
+ FRONTIER_MON_MARILL, \
+ FRONTIER_MON_SURSKIT, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_SPHEAL, \
+ FRONTIER_MON_SANDSHREW, \
+ FRONTIER_MON_POLIWAG, \
+ FRONTIER_MON_NUMEL, \
+ FRONTIER_MON_DELIBIRD, \
+ FRONTIER_MON_PHANPY, \
+ FRONTIER_MON_LUVDISC, \
+ FRONTIER_MON_POLIWHIRL, \
+ FRONTIER_MON_ONIX, \
+ FRONTIER_MON_SUDOWOODO_1, \
+ -1
+
+#define FRONTIER_MONS_AROMA_LADY_1 \
+ FRONTIER_MON_SUNKERN, \
+ FRONTIER_MON_RALTS, \
+ FRONTIER_MON_SEEDOT, \
+ FRONTIER_MON_LOTAD, \
+ FRONTIER_MON_HOPPIP, \
+ FRONTIER_MON_WYNAUT, \
+ FRONTIER_MON_KIRLIA, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_PARAS, \
+ FRONTIER_MON_SHROOMISH, \
+ FRONTIER_MON_BELLSPROUT, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_ABRA, \
+ FRONTIER_MON_TREECKO, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_BULBASAUR, \
+ FRONTIER_MON_CHIKORITA, \
+ FRONTIER_MON_ODDISH, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_DROWZEE, \
+ FRONTIER_MON_SPOINK, \
+ FRONTIER_MON_CACNEA, \
+ FRONTIER_MON_SKIPLOOM, \
+ FRONTIER_MON_NUZLEAF, \
+ FRONTIER_MON_LOMBRE, \
+ FRONTIER_MON_LILEEP, \
+ -1
+
+#define FRONTIER_MONS_GUITARIST_1 \
+ FRONTIER_MON_RALTS, \
+ FRONTIER_MON_PICHU, \
+ FRONTIER_MON_POOCHYENA, \
+ FRONTIER_MON_WYNAUT, \
+ FRONTIER_MON_KIRLIA, \
+ FRONTIER_MON_MAREEP, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_SHUPPET, \
+ FRONTIER_MON_DUSKULL, \
+ FRONTIER_MON_ELECTRIKE, \
+ FRONTIER_MON_PIKACHU, \
+ FRONTIER_MON_DRATINI, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_BAGON, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_ABRA, \
+ FRONTIER_MON_GASTLY, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_MAGNEMITE, \
+ FRONTIER_MON_EXEGGCUTE, \
+ FRONTIER_MON_DROWZEE, \
+ FRONTIER_MON_VOLTORB, \
+ FRONTIER_MON_CHINCHOU, \
+ FRONTIER_MON_HOUNDOUR, \
+ FRONTIER_MON_SPOINK, \
+ FRONTIER_MON_ARON, \
+ FRONTIER_MON_ELEKID, \
+ FRONTIER_MON_FLAAFFY, \
+ FRONTIER_MON_MAWILE, \
+ -1
+
+#define FRONTIER_MONS_BIRD_KEEPER_1 \
+ FRONTIER_MON_AZURILL, \
+ FRONTIER_MON_IGGLYBUFF, \
+ FRONTIER_MON_SENTRET, \
+ FRONTIER_MON_CLEFFA, \
+ FRONTIER_MON_WHISMUR, \
+ FRONTIER_MON_ZIGZAGOON, \
+ FRONTIER_MON_ZUBAT, \
+ FRONTIER_MON_TOGEPI, \
+ FRONTIER_MON_SMEARGLE, \
+ FRONTIER_MON_PIDGEY, \
+ FRONTIER_MON_RATTATA, \
+ FRONTIER_MON_SKITTY, \
+ FRONTIER_MON_SPEAROW, \
+ FRONTIER_MON_HOOTHOOT, \
+ FRONTIER_MON_JIGGLYPUFF, \
+ FRONTIER_MON_TAILLOW, \
+ FRONTIER_MON_WINGULL, \
+ FRONTIER_MON_SLAKOTH, \
+ FRONTIER_MON_DITTO, \
+ FRONTIER_MON_MEOWTH, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_DODUO, \
+ FRONTIER_MON_SWABLU, \
+ FRONTIER_MON_TORCHIC, \
+ FRONTIER_MON_NATU, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_DELIBIRD, \
+ FRONTIER_MON_PIDGEOTTO, \
+ FRONTIER_MON_FARFETCHD, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_SPINDA, \
+ -1
+
+#define FRONTIER_MONS_SAILOR_1 \
+ FRONTIER_MON_TYROGUE, \
+ FRONTIER_MON_MAKUHITA, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_SANDSHREW, \
+ FRONTIER_MON_GEODUDE, \
+ FRONTIER_MON_DRATINI, \
+ FRONTIER_MON_LARVITAR, \
+ FRONTIER_MON_BAGON, \
+ FRONTIER_MON_MANKEY, \
+ FRONTIER_MON_MACHOP, \
+ FRONTIER_MON_SHELLDER, \
+ FRONTIER_MON_CARVANHA, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_MUDKIP, \
+ FRONTIER_MON_SQUIRTLE, \
+ FRONTIER_MON_TOTODILE, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_PSYDUCK, \
+ FRONTIER_MON_CUBONE, \
+ FRONTIER_MON_SEEL, \
+ FRONTIER_MON_KRABBY, \
+ FRONTIER_MON_PHANPY, \
+ FRONTIER_MON_TENTACOOL, \
+ FRONTIER_MON_STARYU, \
+ FRONTIER_MON_LOMBRE, \
+ FRONTIER_MON_RHYHORN, \
+ FRONTIER_MON_CLAMPERL, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_CORSOLA, \
+ FRONTIER_MON_POLIWHIRL, \
+ FRONTIER_MON_ONIX, \
+ -1
+
+#define FRONTIER_MONS_HIKER_1 \
+ FRONTIER_MON_TYROGUE, \
+ FRONTIER_MON_MAKUHITA, \
+ FRONTIER_MON_SWINUB, \
+ FRONTIER_MON_DIGLETT, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_SLAKOTH, \
+ FRONTIER_MON_TRAPINCH, \
+ FRONTIER_MON_SANDSHREW, \
+ FRONTIER_MON_GEODUDE, \
+ FRONTIER_MON_LARVITAR, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_MANKEY, \
+ FRONTIER_MON_MACHOP, \
+ FRONTIER_MON_NUMEL, \
+ FRONTIER_MON_CUBONE, \
+ FRONTIER_MON_PHANPY, \
+ FRONTIER_MON_ARON, \
+ FRONTIER_MON_VIBRAVA, \
+ FRONTIER_MON_RHYHORN, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_LILEEP, \
+ FRONTIER_MON_ANORITH, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_NOSEPASS, \
+ FRONTIER_MON_ONIX, \
+ -1
+
+#define FRONTIER_MONS_KINDLER_1 \
+ FRONTIER_MON_SLUGMA, \
+ FRONTIER_MON_SHUPPET, \
+ FRONTIER_MON_DUSKULL, \
+ FRONTIER_MON_VULPIX, \
+ FRONTIER_MON_GEODUDE, \
+ FRONTIER_MON_LARVITAR, \
+ FRONTIER_MON_BAGON, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_NUMEL, \
+ FRONTIER_MON_CHARMANDER, \
+ FRONTIER_MON_CYNDAQUIL, \
+ FRONTIER_MON_TORCHIC, \
+ FRONTIER_MON_MAGNEMITE, \
+ FRONTIER_MON_HOUNDOUR, \
+ FRONTIER_MON_ARON, \
+ FRONTIER_MON_RHYHORN, \
+ FRONTIER_MON_GROWLITHE, \
+ FRONTIER_MON_MAGBY, \
+ FRONTIER_MON_NOSEPASS, \
+ FRONTIER_MON_MAWILE, \
+ FRONTIER_MON_ONIX, \
+ -1
+
+#define FRONTIER_MONS_RUNNING_TRIATHLETE_1 \
+ FRONTIER_MON_AZURILL, \
+ FRONTIER_MON_IGGLYBUFF, \
+ FRONTIER_MON_TYROGUE, \
+ FRONTIER_MON_SENTRET, \
+ FRONTIER_MON_CLEFFA, \
+ FRONTIER_MON_MAKUHITA, \
+ FRONTIER_MON_WHISMUR, \
+ FRONTIER_MON_ZIGZAGOON, \
+ FRONTIER_MON_TOGEPI, \
+ FRONTIER_MON_SMEARGLE, \
+ FRONTIER_MON_PIDGEY, \
+ FRONTIER_MON_RATTATA, \
+ FRONTIER_MON_SKITTY, \
+ FRONTIER_MON_SPEAROW, \
+ FRONTIER_MON_HOOTHOOT, \
+ FRONTIER_MON_JIGGLYPUFF, \
+ FRONTIER_MON_TAILLOW, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_SLAKOTH, \
+ FRONTIER_MON_DITTO, \
+ FRONTIER_MON_MEOWTH, \
+ FRONTIER_MON_SANDSHREW, \
+ FRONTIER_MON_GEODUDE, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_LARVITAR, \
+ FRONTIER_MON_BALTOY, \
+ FRONTIER_MON_MANKEY, \
+ FRONTIER_MON_MACHOP, \
+ FRONTIER_MON_NUMEL, \
+ FRONTIER_MON_DODUO, \
+ FRONTIER_MON_SWABLU, \
+ FRONTIER_MON_CUBONE, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_PHANPY, \
+ FRONTIER_MON_VIBRAVA, \
+ FRONTIER_MON_RHYHORN, \
+ FRONTIER_MON_PIDGEOTTO, \
+ FRONTIER_MON_FARFETCHD, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_SPINDA, \
+ FRONTIER_MON_ONIX, \
+ -1
+
+#define FRONTIER_MONS_SWIMMING_TRIATHLETE_1 \
+ FRONTIER_MON_TYROGUE, \
+ FRONTIER_MON_MAKUHITA, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_DRATINI, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_SNORUNT, \
+ FRONTIER_MON_BAGON, \
+ FRONTIER_MON_MANKEY, \
+ FRONTIER_MON_MACHOP, \
+ FRONTIER_MON_SHELLDER, \
+ FRONTIER_MON_SMOOCHUM, \
+ FRONTIER_MON_CORPHISH, \
+ FRONTIER_MON_MUDKIP, \
+ FRONTIER_MON_SQUIRTLE, \
+ FRONTIER_MON_TOTODILE, \
+ FRONTIER_MON_SLOWPOKE, \
+ FRONTIER_MON_PSYDUCK, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_SEEL, \
+ FRONTIER_MON_KRABBY, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_DELIBIRD, \
+ FRONTIER_MON_LOMBRE, \
+ FRONTIER_MON_CLAMPERL, \
+ FRONTIER_MON_OMANYTE, \
+ FRONTIER_MON_KABUTO, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_SPINDA, \
+ FRONTIER_MON_CORSOLA, \
+ FRONTIER_MON_POLIWHIRL, \
+ -1
+
+#define FRONTIER_MONS_CYCLING_TRIATHLETE_1 \
+ FRONTIER_MON_PICHU, \
+ FRONTIER_MON_TYROGUE, \
+ FRONTIER_MON_MAKUHITA, \
+ FRONTIER_MON_MAREEP, \
+ FRONTIER_MON_MEDITITE, \
+ FRONTIER_MON_ELECTRIKE, \
+ FRONTIER_MON_PIKACHU, \
+ FRONTIER_MON_DRATINI, \
+ FRONTIER_MON_SNUBBULL, \
+ FRONTIER_MON_BAGON, \
+ FRONTIER_MON_BELDUM, \
+ FRONTIER_MON_MANKEY, \
+ FRONTIER_MON_MACHOP, \
+ FRONTIER_MON_DODUO, \
+ FRONTIER_MON_SWABLU, \
+ FRONTIER_MON_CLEFAIRY, \
+ FRONTIER_MON_MAGNEMITE, \
+ FRONTIER_MON_EEVEE, \
+ FRONTIER_MON_VOLTORB, \
+ FRONTIER_MON_TEDDIURSA, \
+ FRONTIER_MON_ARON, \
+ FRONTIER_MON_PIDGEOTTO, \
+ FRONTIER_MON_FARFETCHD, \
+ FRONTIER_MON_AIPOM, \
+ FRONTIER_MON_ELEKID, \
+ FRONTIER_MON_LOUDRED, \
+ FRONTIER_MON_SPINDA, \
+ FRONTIER_MON_FLAAFFY, \
+ FRONTIER_MON_MAWILE, \
+ -1
+
+#define FRONTIER_MONS_RUNNING_TRIATHLETE_2 \
+ FRONTIER_MON_DELCATTY_1, \
+ FRONTIER_MON_LICKITUNG_1, \
+ FRONTIER_MON_PORYGON_1, \
+ FRONTIER_MON_MACHOKE_1, \
+ FRONTIER_MON_TOGETIC_1, \
+ FRONTIER_MON_MURKROW_1, \
+ FRONTIER_MON_COMBUSKEN_1, \
+ FRONTIER_MON_RATICATE_1, \
+ FRONTIER_MON_FURRET_1, \
+ FRONTIER_MON_DUNSPARCE_1, \
+ FRONTIER_MON_LINOONE_1, \
+ FRONTIER_MON_CASTFORM_1, \
+ FRONTIER_MON_WIGGLYTUFF_1, \
+ FRONTIER_MON_GLIGAR_1, \
+ FRONTIER_MON_PELIPPER_1, \
+ FRONTIER_MON_SWELLOW_1, \
+ FRONTIER_MON_PERSIAN_1, \
+ FRONTIER_MON_KECLEON_1, \
+ FRONTIER_MON_VIGOROTH_1, \
+ FRONTIER_MON_NOCTOWL_1, \
+ FRONTIER_MON_CHANSEY_1, \
+ FRONTIER_MON_GOLBAT_1, \
+ FRONTIER_MON_PRIMEAPE_1, \
+ FRONTIER_MON_HITMONLEE_1, \
+ FRONTIER_MON_HITMONCHAN_1, \
+ FRONTIER_MON_GIRAFARIG_1, \
+ FRONTIER_MON_HITMONTOP_1, \
+ FRONTIER_MON_NINJASK_1, \
+ FRONTIER_MON_ZANGOOSE_1, \
+ FRONTIER_MON_TROPIUS_1, \
+ FRONTIER_MON_MANTINE_1, \
+ FRONTIER_MON_STANTLER_1, \
+ FRONTIER_MON_PIDGEOT_1, \
+ FRONTIER_MON_SCYTHER_1, \
+ -1
+
+#define FRONTIER_MONS_SWIMMING_TRIATHLETE_2 \
+ FRONTIER_MON_WAILMER_1, \
+ FRONTIER_MON_WARTORTLE_1, \
+ FRONTIER_MON_MACHOKE_1, \
+ FRONTIER_MON_CROCONAW_1, \
+ FRONTIER_MON_COMBUSKEN_1, \
+ FRONTIER_MON_MARSHTOMP_1, \
+ FRONTIER_MON_AZUMARILL_1, \
+ FRONTIER_MON_SEALEO_1, \
+ FRONTIER_MON_QWILFISH_1, \
+ FRONTIER_MON_SNEASEL_1, \
+ FRONTIER_MON_PELIPPER_1, \
+ FRONTIER_MON_SEADRA_1, \
+ FRONTIER_MON_SEAKING_1, \
+ FRONTIER_MON_PILOSWINE_1, \
+ FRONTIER_MON_PRIMEAPE_1, \
+ FRONTIER_MON_HITMONLEE_1, \
+ FRONTIER_MON_HITMONCHAN_1, \
+ FRONTIER_MON_HITMONTOP_1, \
+ FRONTIER_MON_SHARPEDO_1, \
+ FRONTIER_MON_MANTINE_1, \
+ FRONTIER_MON_CRAWDAUNT_1, \
+ FRONTIER_MON_KINGLER_1, \
+ FRONTIER_MON_OCTILLERY_1, \
+ FRONTIER_MON_HUNTAIL_1, \
+ FRONTIER_MON_GOREBYSS_1, \
+ FRONTIER_MON_RELICANTH_1, \
+ FRONTIER_MON_OMASTAR_1, \
+ FRONTIER_MON_KABUTOPS_1, \
+ FRONTIER_MON_POLIWRATH_1, \
+ FRONTIER_MON_POLITOED_1, \
+ FRONTIER_MON_CLOYSTER_1, \
+ -1
+
+#define FRONTIER_MONS_CYCLING_TRIATHLETE_2 \
+ FRONTIER_MON_DELCATTY_1, \
+ FRONTIER_MON_LICKITUNG_1, \
+ FRONTIER_MON_PORYGON_1, \
+ FRONTIER_MON_MACHOKE_1, \
+ FRONTIER_MON_TOGETIC_1, \
+ FRONTIER_MON_PLUSLE_1, \
+ FRONTIER_MON_MINUN_1, \
+ FRONTIER_MON_COMBUSKEN_1, \
+ FRONTIER_MON_RATICATE_1, \
+ FRONTIER_MON_FURRET_1, \
+ FRONTIER_MON_DUNSPARCE_1, \
+ FRONTIER_MON_LINOONE_1, \
+ FRONTIER_MON_CASTFORM_1, \
+ FRONTIER_MON_METANG_1, \
+ FRONTIER_MON_WIGGLYTUFF_1, \
+ FRONTIER_MON_SWELLOW_1, \
+ FRONTIER_MON_LAIRON_1, \
+ FRONTIER_MON_PERSIAN_1, \
+ FRONTIER_MON_KECLEON_1, \
+ FRONTIER_MON_VIGOROTH_1, \
+ FRONTIER_MON_NOCTOWL_1, \
+ FRONTIER_MON_CHANSEY_1, \
+ FRONTIER_MON_PRIMEAPE_1, \
+ FRONTIER_MON_HITMONLEE_1, \
+ FRONTIER_MON_HITMONCHAN_1, \
+ FRONTIER_MON_GIRAFARIG_1, \
+ FRONTIER_MON_HITMONTOP_1, \
+ FRONTIER_MON_ZANGOOSE_1, \
+ FRONTIER_MON_MAGNETON_1, \
+ FRONTIER_MON_STANTLER_1, \
+ FRONTIER_MON_PIDGEOT_1, \
+ -1
+
+#define FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1 \
+ FRONTIER_MON_LICKITUNG_1, \
+ FRONTIER_MON_GRAVELER_1, \
+ FRONTIER_MON_CHARMELEON_1, \
+ FRONTIER_MON_MACHOKE_1, \
+ FRONTIER_MON_QUILAVA_1, \
+ FRONTIER_MON_COMBUSKEN_1, \
+ FRONTIER_MON_PONYTA_1, \
+ FRONTIER_MON_SUDOWOODO_1, \
+ FRONTIER_MON_MAGCARGO_1, \
+ FRONTIER_MON_PUPITAR_1, \
+ FRONTIER_MON_RATICATE_1, \
+ FRONTIER_MON_FURRET_1, \
+ FRONTIER_MON_DUNSPARCE_1, \
+ FRONTIER_MON_MIGHTYENA_1, \
+ FRONTIER_MON_LINOONE_1, \
+ FRONTIER_MON_SHELGON_1, \
+ FRONTIER_MON_METANG_1, \
+ FRONTIER_MON_WIGGLYTUFF_1, \
+ FRONTIER_MON_GLIGAR_1, \
+ FRONTIER_MON_LAIRON_1, \
+ FRONTIER_MON_PERSIAN_1, \
+ FRONTIER_MON_KECLEON_1, \
+ FRONTIER_MON_VIGOROTH_1, \
+ FRONTIER_MON_LUNATONE_1, \
+ FRONTIER_MON_SOLROCK_1, \
+ FRONTIER_MON_SANDSLASH_1, \
+ FRONTIER_MON_CHANSEY_1, \
+ FRONTIER_MON_PILOSWINE_1, \
+ FRONTIER_MON_PRIMEAPE_1, \
+ FRONTIER_MON_HITMONLEE_1, \
+ FRONTIER_MON_HITMONCHAN_1, \
+ FRONTIER_MON_GIRAFARIG_1, \
+ FRONTIER_MON_HITMONTOP_1, \
+ FRONTIER_MON_ZANGOOSE_1, \
+ FRONTIER_MON_CAMERUPT_1, \
+ FRONTIER_MON_STANTLER_1, \
+ FRONTIER_MON_ABSOL_1, \
+ FRONTIER_MON_TORKOAL_1, \
+ FRONTIER_MON_CACTURNE_1, \
+ FRONTIER_MON_POLIWRATH_1, \
+ -1
+
+#define FRONTIER_MONS_EXPERT_1A \
+ FRONTIER_MON_DELCATTY_1, \
+ FRONTIER_MON_SABLEYE_1, \
+ FRONTIER_MON_LICKITUNG_1, \
+ FRONTIER_MON_WEEPINBELL_1, \
+ FRONTIER_MON_GRAVELER_1, \
+ FRONTIER_MON_GLOOM_1, \
+ FRONTIER_MON_PORYGON_1, \
+ FRONTIER_MON_KADABRA_1, \
+ FRONTIER_MON_WAILMER_1, \
+ FRONTIER_MON_ROSELIA_1, \
+ FRONTIER_MON_VOLBEAT_1, \
+ FRONTIER_MON_ILLUMISE_1, \
+ FRONTIER_MON_IVYSAUR_1, \
+ FRONTIER_MON_CHARMELEON_1, \
+ FRONTIER_MON_WARTORTLE_1, \
+ FRONTIER_MON_PARASECT_1, \
+ FRONTIER_MON_MACHOKE_1, \
+ FRONTIER_MON_HAUNTER_1, \
+ FRONTIER_MON_BAYLEEF_1, \
+ FRONTIER_MON_QUILAVA_1, \
+ FRONTIER_MON_CROCONAW_1, \
+ FRONTIER_MON_TOGETIC_1, \
+ FRONTIER_MON_MURKROW_1, \
+ FRONTIER_MON_WOBBUFFET_1, \
+ FRONTIER_MON_PLUSLE_1, \
+ FRONTIER_MON_MINUN_1, \
+ FRONTIER_MON_GROVYLE_1, \
+ FRONTIER_MON_COMBUSKEN_1, \
+ FRONTIER_MON_MARSHTOMP_1, \
+ FRONTIER_MON_PONYTA_1, \
+ FRONTIER_MON_AZUMARILL_1, \
+ FRONTIER_MON_SUDOWOODO_1, \
+ FRONTIER_MON_MAGCARGO_1, \
+ FRONTIER_MON_PUPITAR_1, \
+ FRONTIER_MON_SEALEO_1, \
+ FRONTIER_MON_RATICATE_1, \
+ FRONTIER_MON_MASQUERAIN_1, \
+ FRONTIER_MON_FURRET_1, \
+ -1
+
+#define FRONTIER_MONS_EXPERT_1B \
+ FRONTIER_MON_DUNSPARCE_1, \
+ FRONTIER_MON_DRAGONAIR_1, \
+ FRONTIER_MON_MIGHTYENA_1, \
+ FRONTIER_MON_LINOONE_1, \
+ FRONTIER_MON_CASTFORM_1, \
+ FRONTIER_MON_SHELGON_1, \
+ FRONTIER_MON_METANG_1, \
+ FRONTIER_MON_WIGGLYTUFF_1, \
+ FRONTIER_MON_SUNFLORA_1, \
+ FRONTIER_MON_CHIMECHO_1, \
+ FRONTIER_MON_GLIGAR_1, \
+ FRONTIER_MON_QWILFISH_1, \
+ FRONTIER_MON_SNEASEL_1, \
+ FRONTIER_MON_PELIPPER_1, \
+ FRONTIER_MON_SWELLOW_1, \
+ FRONTIER_MON_LAIRON_1, \
+ FRONTIER_MON_TANGELA_1, \
+ FRONTIER_MON_ARBOK_1, \
+ FRONTIER_MON_PERSIAN_1, \
+ FRONTIER_MON_SEADRA_1, \
+ FRONTIER_MON_KECLEON_1, \
+ FRONTIER_MON_VIGOROTH_1, \
+ FRONTIER_MON_LUNATONE_1, \
+ FRONTIER_MON_SOLROCK_1, \
+ FRONTIER_MON_NOCTOWL_1, \
+ FRONTIER_MON_SANDSLASH_1, \
+ FRONTIER_MON_VENOMOTH_1, \
+ FRONTIER_MON_CHANSEY_1, \
+ FRONTIER_MON_SEAKING_1, \
+ FRONTIER_MON_JUMPLUFF_1, \
+ FRONTIER_MON_PILOSWINE_1, \
+ FRONTIER_MON_GOLBAT_1, \
+ FRONTIER_MON_PRIMEAPE_1, \
+ FRONTIER_MON_HITMONLEE_1, \
+ FRONTIER_MON_HITMONCHAN_1, \
+ FRONTIER_MON_GIRAFARIG_1, \
+ FRONTIER_MON_HITMONTOP_1, \
+ -1
+
+#define FRONTIER_MONS_EXPERT_1C \
+ FRONTIER_MON_BANETTE_1, \
+ FRONTIER_MON_NINJASK_1, \
+ FRONTIER_MON_SEVIPER_1, \
+ FRONTIER_MON_ZANGOOSE_1, \
+ FRONTIER_MON_CAMERUPT_1, \
+ FRONTIER_MON_SHARPEDO_1, \
+ FRONTIER_MON_TROPIUS_1, \
+ FRONTIER_MON_MAGNETON_1, \
+ FRONTIER_MON_MANTINE_1, \
+ FRONTIER_MON_STANTLER_1, \
+ FRONTIER_MON_ABSOL_1, \
+ FRONTIER_MON_SWALOT_1, \
+ FRONTIER_MON_CRAWDAUNT_1, \
+ FRONTIER_MON_PIDGEOT_1, \
+ FRONTIER_MON_GRUMPIG_1, \
+ FRONTIER_MON_TORKOAL_1, \
+ FRONTIER_MON_KINGLER_1, \
+ FRONTIER_MON_CACTURNE_1, \
+ FRONTIER_MON_BELLOSSOM_1, \
+ FRONTIER_MON_OCTILLERY_1, \
+ FRONTIER_MON_HUNTAIL_1, \
+ FRONTIER_MON_GOREBYSS_1, \
+ FRONTIER_MON_RELICANTH_1, \
+ FRONTIER_MON_OMASTAR_1, \
+ FRONTIER_MON_KABUTOPS_1, \
+ FRONTIER_MON_POLIWRATH_1, \
+ FRONTIER_MON_SCYTHER_1, \
+ FRONTIER_MON_PINSIR_1, \
+ FRONTIER_MON_POLITOED_1, \
+ FRONTIER_MON_CLOYSTER_1, \
+ -1
+
+#define FRONTIER_MONS_PSYCHIC_1 \
+ FRONTIER_MON_DELCATTY_2, \
+ FRONTIER_MON_SABLEYE_2, \
+ FRONTIER_MON_PORYGON_2, \
+ FRONTIER_MON_KADABRA_2, \
+ FRONTIER_MON_ROSELIA_2, \
+ FRONTIER_MON_HAUNTER_2, \
+ FRONTIER_MON_MURKROW_2, \
+ FRONTIER_MON_WOBBUFFET_2, \
+ FRONTIER_MON_PLUSLE_2, \
+ FRONTIER_MON_MINUN_2, \
+ FRONTIER_MON_MIGHTYENA_2, \
+ FRONTIER_MON_LINOONE_2, \
+ FRONTIER_MON_METANG_2, \
+ FRONTIER_MON_WIGGLYTUFF_2, \
+ FRONTIER_MON_CHIMECHO_2, \
+ FRONTIER_MON_SNEASEL_2, \
+ FRONTIER_MON_KECLEON_2, \
+ FRONTIER_MON_LUNATONE_2, \
+ FRONTIER_MON_SOLROCK_2, \
+ FRONTIER_MON_NOCTOWL_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_CHANSEY_2, \
+ FRONTIER_MON_GIRAFARIG_2, \
+ FRONTIER_MON_BANETTE_2, \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_MAGNETON_2, \
+ FRONTIER_MON_STANTLER_2, \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_CRAWDAUNT_2, \
+ FRONTIER_MON_GRUMPIG_2, \
+ FRONTIER_MON_CACTURNE_2, \
+ FRONTIER_MON_GOREBYSS_2, \
+ FRONTIER_MON_POLITOED_2, \
+ -1
+
+#define FRONTIER_MONS_HEX_MANIAC_1 \
+ FRONTIER_MON_SABLEYE_2, \
+ FRONTIER_MON_WEEPINBELL_2, \
+ FRONTIER_MON_GLOOM_2, \
+ FRONTIER_MON_KADABRA_2, \
+ FRONTIER_MON_PARASECT_2, \
+ FRONTIER_MON_HAUNTER_2, \
+ FRONTIER_MON_MURKROW_2, \
+ FRONTIER_MON_WOBBUFFET_2, \
+ FRONTIER_MON_MASQUERAIN_2, \
+ FRONTIER_MON_MIGHTYENA_2, \
+ FRONTIER_MON_METANG_2, \
+ FRONTIER_MON_CHIMECHO_2, \
+ FRONTIER_MON_SNEASEL_2, \
+ FRONTIER_MON_ARBOK_2, \
+ FRONTIER_MON_LUNATONE_2, \
+ FRONTIER_MON_SOLROCK_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_GOLBAT_2, \
+ FRONTIER_MON_GIRAFARIG_2, \
+ FRONTIER_MON_BANETTE_2, \
+ FRONTIER_MON_SEVIPER_2, \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_SWALOT_2, \
+ FRONTIER_MON_CRAWDAUNT_2, \
+ FRONTIER_MON_GRUMPIG_2, \
+ FRONTIER_MON_CACTURNE_2, \
+ -1
+
+#define FRONTIER_MONS_POKEMANIAC_1 \
+ FRONTIER_MON_LICKITUNG_2, \
+ FRONTIER_MON_GRAVELER_2, \
+ FRONTIER_MON_WAILMER_2, \
+ FRONTIER_MON_IVYSAUR_2, \
+ FRONTIER_MON_CHARMELEON_2, \
+ FRONTIER_MON_WARTORTLE_2, \
+ FRONTIER_MON_MACHOKE_2, \
+ FRONTIER_MON_BAYLEEF_2, \
+ FRONTIER_MON_QUILAVA_2, \
+ FRONTIER_MON_CROCONAW_2, \
+ FRONTIER_MON_GROVYLE_2, \
+ FRONTIER_MON_COMBUSKEN_2, \
+ FRONTIER_MON_MARSHTOMP_2, \
+ FRONTIER_MON_PUPITAR_2, \
+ FRONTIER_MON_RATICATE_2, \
+ FRONTIER_MON_MIGHTYENA_2, \
+ FRONTIER_MON_SHELGON_2, \
+ FRONTIER_MON_METANG_2, \
+ FRONTIER_MON_LAIRON_2, \
+ FRONTIER_MON_ARBOK_2, \
+ FRONTIER_MON_VIGOROTH_2, \
+ FRONTIER_MON_SANDSLASH_2, \
+ FRONTIER_MON_CHANSEY_2, \
+ FRONTIER_MON_PILOSWINE_2, \
+ FRONTIER_MON_SEVIPER_2, \
+ FRONTIER_MON_ZANGOOSE_2, \
+ FRONTIER_MON_CAMERUPT_2, \
+ FRONTIER_MON_TROPIUS_2, \
+ FRONTIER_MON_MANTINE_2, \
+ FRONTIER_MON_SWALOT_2, \
+ FRONTIER_MON_TORKOAL_2, \
+ -1
+
+#define FRONTIER_MONS_GENTLEMAN_1A \
+ FRONTIER_MON_DELCATTY_2, \
+ FRONTIER_MON_SABLEYE_2, \
+ FRONTIER_MON_LICKITUNG_2, \
+ FRONTIER_MON_WEEPINBELL_2, \
+ FRONTIER_MON_GRAVELER_2, \
+ FRONTIER_MON_GLOOM_2, \
+ FRONTIER_MON_PORYGON_2, \
+ FRONTIER_MON_KADABRA_2, \
+ FRONTIER_MON_WAILMER_2, \
+ FRONTIER_MON_ROSELIA_2, \
+ FRONTIER_MON_VOLBEAT_2, \
+ FRONTIER_MON_ILLUMISE_2, \
+ FRONTIER_MON_IVYSAUR_2, \
+ FRONTIER_MON_CHARMELEON_2, \
+ FRONTIER_MON_WARTORTLE_2, \
+ FRONTIER_MON_PARASECT_2, \
+ FRONTIER_MON_MACHOKE_2, \
+ FRONTIER_MON_HAUNTER_2, \
+ FRONTIER_MON_BAYLEEF_2, \
+ FRONTIER_MON_QUILAVA_2, \
+ FRONTIER_MON_CROCONAW_2, \
+ FRONTIER_MON_TOGETIC_2, \
+ FRONTIER_MON_MURKROW_2, \
+ FRONTIER_MON_WOBBUFFET_2, \
+ FRONTIER_MON_PLUSLE_2, \
+ FRONTIER_MON_MINUN_2, \
+ FRONTIER_MON_GROVYLE_2, \
+ FRONTIER_MON_COMBUSKEN_2, \
+ FRONTIER_MON_MARSHTOMP_2, \
+ FRONTIER_MON_PONYTA_2, \
+ FRONTIER_MON_AZUMARILL_2, \
+ FRONTIER_MON_SUDOWOODO_2, \
+ FRONTIER_MON_MAGCARGO_2, \
+ FRONTIER_MON_PUPITAR_2, \
+ FRONTIER_MON_SEALEO_2, \
+ FRONTIER_MON_RATICATE_2, \
+ FRONTIER_MON_MASQUERAIN_2, \
+ FRONTIER_MON_FURRET_2, \
+ -1
+
+#define FRONTIER_MONS_GENTLEMAN_1B \
+ FRONTIER_MON_DUNSPARCE_2, \
+ FRONTIER_MON_DRAGONAIR_2, \
+ FRONTIER_MON_MIGHTYENA_2, \
+ FRONTIER_MON_LINOONE_2, \
+ FRONTIER_MON_CASTFORM_2, \
+ FRONTIER_MON_SHELGON_2, \
+ FRONTIER_MON_METANG_2, \
+ FRONTIER_MON_WIGGLYTUFF_2, \
+ FRONTIER_MON_SUNFLORA_2, \
+ FRONTIER_MON_CHIMECHO_2, \
+ FRONTIER_MON_GLIGAR_2, \
+ FRONTIER_MON_QWILFISH_2, \
+ FRONTIER_MON_SNEASEL_2, \
+ FRONTIER_MON_PELIPPER_2, \
+ FRONTIER_MON_SWELLOW_2, \
+ FRONTIER_MON_LAIRON_2, \
+ FRONTIER_MON_TANGELA_2, \
+ FRONTIER_MON_ARBOK_2, \
+ FRONTIER_MON_PERSIAN_2, \
+ FRONTIER_MON_SEADRA_2, \
+ FRONTIER_MON_KECLEON_2, \
+ FRONTIER_MON_VIGOROTH_2, \
+ FRONTIER_MON_LUNATONE_2, \
+ FRONTIER_MON_SOLROCK_2, \
+ FRONTIER_MON_NOCTOWL_2, \
+ FRONTIER_MON_SANDSLASH_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_CHANSEY_2, \
+ FRONTIER_MON_SEAKING_2, \
+ FRONTIER_MON_JUMPLUFF_2, \
+ FRONTIER_MON_PILOSWINE_2, \
+ FRONTIER_MON_GOLBAT_2, \
+ FRONTIER_MON_PRIMEAPE_2, \
+ FRONTIER_MON_HITMONLEE_2, \
+ FRONTIER_MON_HITMONCHAN_2, \
+ FRONTIER_MON_GIRAFARIG_2, \
+ FRONTIER_MON_HITMONTOP_2, \
+ -1
+
+#define FRONTIER_MONS_BUG_MANIAC_2 \
+ FRONTIER_MON_LEDIAN, \
+ FRONTIER_MON_ARIADOS, \
+ FRONTIER_MON_YANMA, \
+ FRONTIER_MON_VOLBEAT_1, \
+ FRONTIER_MON_ILLUMISE_1, \
+ FRONTIER_MON_PARASECT_1, \
+ FRONTIER_MON_MASQUERAIN_1, \
+ FRONTIER_MON_VENOMOTH_1, \
+ FRONTIER_MON_NINJASK_1, \
+ FRONTIER_MON_SCYTHER_1, \
+ FRONTIER_MON_PINSIR_1, \
+ FRONTIER_MON_VOLBEAT_2, \
+ FRONTIER_MON_ILLUMISE_2, \
+ FRONTIER_MON_PARASECT_2, \
+ FRONTIER_MON_MASQUERAIN_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_NINJASK_2, \
+ FRONTIER_MON_SCYTHER_2, \
+ FRONTIER_MON_PINSIR_2, \
+ -1
+
+#define FRONTIER_MONS_RUIN_MANIAC_2 \
+ FRONTIER_MON_GRAVELER_2, \
+ FRONTIER_MON_MACHOKE_2, \
+ FRONTIER_MON_COMBUSKEN_2, \
+ FRONTIER_MON_MARSHTOMP_2, \
+ FRONTIER_MON_SUDOWOODO_2, \
+ FRONTIER_MON_MAGCARGO_2, \
+ FRONTIER_MON_PUPITAR_2, \
+ FRONTIER_MON_METANG_2, \
+ FRONTIER_MON_GLIGAR_2, \
+ FRONTIER_MON_LAIRON_2, \
+ FRONTIER_MON_LUNATONE_2, \
+ FRONTIER_MON_SOLROCK_2, \
+ FRONTIER_MON_SANDSLASH_2, \
+ FRONTIER_MON_PILOSWINE_2, \
+ FRONTIER_MON_PRIMEAPE_2, \
+ FRONTIER_MON_HITMONLEE_2, \
+ FRONTIER_MON_HITMONCHAN_2, \
+ FRONTIER_MON_HITMONTOP_2, \
+ FRONTIER_MON_CAMERUPT_2, \
+ FRONTIER_MON_RELICANTH_2, \
+ FRONTIER_MON_OMASTAR_2, \
+ FRONTIER_MON_KABUTOPS_2, \
+ -1
+
+#define FRONTIER_MONS_COLLECTOR_1 \
+ FRONTIER_MON_BANETTE_2, \
+ FRONTIER_MON_NINJASK_2, \
+ FRONTIER_MON_SEVIPER_2, \
+ FRONTIER_MON_ZANGOOSE_2, \
+ FRONTIER_MON_CAMERUPT_2, \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_TROPIUS_2, \
+ FRONTIER_MON_MAGNETON_2, \
+ FRONTIER_MON_MANTINE_2, \
+ FRONTIER_MON_STANTLER_2, \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_SWALOT_2, \
+ FRONTIER_MON_CRAWDAUNT_2, \
+ FRONTIER_MON_PIDGEOT_2, \
+ FRONTIER_MON_GRUMPIG_2, \
+ FRONTIER_MON_TORKOAL_2, \
+ FRONTIER_MON_KINGLER_2, \
+ FRONTIER_MON_CACTURNE_2, \
+ FRONTIER_MON_BELLOSSOM_2, \
+ FRONTIER_MON_OCTILLERY_2, \
+ FRONTIER_MON_HUNTAIL_2, \
+ FRONTIER_MON_GOREBYSS_2, \
+ FRONTIER_MON_RELICANTH_2, \
+ FRONTIER_MON_OMASTAR_2, \
+ FRONTIER_MON_KABUTOPS_2, \
+ FRONTIER_MON_POLIWRATH_2, \
+ FRONTIER_MON_SCYTHER_2, \
+ FRONTIER_MON_PINSIR_2, \
+ FRONTIER_MON_POLITOED_2, \
+ FRONTIER_MON_CLOYSTER_2, \
+ -1
+
+#define FRONTIER_MONS_PARASOL_LADY_2 \
+ FRONTIER_MON_GLOOM_2, \
+ FRONTIER_MON_SEALEO_2, \
+ FRONTIER_MON_CASTFORM_2, \
+ FRONTIER_MON_SANDSLASH_2, \
+ FRONTIER_MON_TROPIUS_2, \
+ FRONTIER_MON_MAGNETON_2, \
+ FRONTIER_MON_MANTINE_2, \
+ FRONTIER_MON_CACTURNE_2, \
+ FRONTIER_MON_BELLOSSOM_2, \
+ FRONTIER_MON_HUNTAIL_2, \
+ FRONTIER_MON_GOREBYSS_2, \
+ FRONTIER_MON_OMASTAR_2, \
+ -1
+
+#define FRONTIER_MONS_BEAUTY_1 \
+ FRONTIER_MON_DELCATTY_2, \
+ FRONTIER_MON_LICKITUNG_2, \
+ FRONTIER_MON_WEEPINBELL_2, \
+ FRONTIER_MON_GLOOM_2, \
+ FRONTIER_MON_PORYGON_2, \
+ FRONTIER_MON_ROSELIA_2, \
+ FRONTIER_MON_IVYSAUR_2, \
+ FRONTIER_MON_HAUNTER_2, \
+ FRONTIER_MON_TOGETIC_2, \
+ FRONTIER_MON_RATICATE_2, \
+ FRONTIER_MON_FURRET_2, \
+ FRONTIER_MON_DUNSPARCE_2, \
+ FRONTIER_MON_LINOONE_2, \
+ FRONTIER_MON_CASTFORM_2, \
+ FRONTIER_MON_WIGGLYTUFF_2, \
+ FRONTIER_MON_QWILFISH_2, \
+ FRONTIER_MON_SWELLOW_2, \
+ FRONTIER_MON_ARBOK_2, \
+ FRONTIER_MON_PERSIAN_2, \
+ FRONTIER_MON_KECLEON_2, \
+ FRONTIER_MON_VIGOROTH_2, \
+ FRONTIER_MON_NOCTOWL_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_CHANSEY_2, \
+ FRONTIER_MON_GOLBAT_2, \
+ FRONTIER_MON_GIRAFARIG_2, \
+ FRONTIER_MON_SEVIPER_2, \
+ FRONTIER_MON_ZANGOOSE_2, \
+ FRONTIER_MON_STANTLER_2, \
+ FRONTIER_MON_SWALOT_2, \
+ FRONTIER_MON_PIDGEOT_2, \
+ -1
+
+#define FRONTIER_MONS_AROMA_LADY_2 \
+ FRONTIER_MON_WEEPINBELL_2, \
+ FRONTIER_MON_GLOOM_2, \
+ FRONTIER_MON_KADABRA_2, \
+ FRONTIER_MON_ROSELIA_2, \
+ FRONTIER_MON_IVYSAUR_2, \
+ FRONTIER_MON_PARASECT_2, \
+ FRONTIER_MON_BAYLEEF_2, \
+ FRONTIER_MON_WOBBUFFET_2, \
+ FRONTIER_MON_GROVYLE_2, \
+ FRONTIER_MON_SUNFLORA_2, \
+ FRONTIER_MON_CHIMECHO_2, \
+ FRONTIER_MON_TANGELA_2, \
+ FRONTIER_MON_JUMPLUFF_2, \
+ FRONTIER_MON_GIRAFARIG_2, \
+ FRONTIER_MON_TROPIUS_2, \
+ FRONTIER_MON_GRUMPIG_2, \
+ FRONTIER_MON_CACTURNE_2, \
+ FRONTIER_MON_BELLOSSOM_2, \
+ -1
+
+#define FRONTIER_MONS_COOLTRAINER_1A \
+ FRONTIER_MON_DUGTRIO_1, \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_FEAROW_1, \
+ FRONTIER_MON_GRANBULL_1, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_DODRIO_1, \
+ FRONTIER_MON_MR_MIME_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_WHISCASH_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_CLEFABLE_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_RAICHU_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_MANECTRIC_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_ELECTRODE_1, \
+ FRONTIER_MON_EXPLOUD_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_HYPNO_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ -1
+
+#define FRONTIER_MONS_COOLTRAINER_1B \
+ FRONTIER_MON_WEEZING_1, \
+ FRONTIER_MON_KANGASKHAN_1, \
+ FRONTIER_MON_ELECTABUZZ_1, \
+ FRONTIER_MON_TAUROS_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_MAGMAR_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_GOLDUCK_1, \
+ FRONTIER_MON_RAPIDASH_1, \
+ FRONTIER_MON_MUK_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_CLAYDOL_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_NINETALES_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_PORYGON2_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ -1
+
+#define FRONTIER_MONS_COOLTRAINER_1C \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_VAPOREON_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_FLAREON_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_ARCANINE_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_SLAKING_1, \
+ -1
+
+#define FRONTIER_MONS_PKMN_RANGER_1 \
+ FRONTIER_MON_NINJASK_1, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_NINJASK_2, \
+ FRONTIER_MON_SCYTHER_2, \
+ FRONTIER_MON_PINSIR_2, \
+ FRONTIER_MON_FEAROW_1, \
+ FRONTIER_MON_GRANBULL_1, \
+ FRONTIER_MON_DODRIO_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_CLEFABLE_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_EXPLOUD_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_KANGASKHAN_1, \
+ FRONTIER_MON_TAUROS_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_PORYGON2_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_SLAKING_1, \
+ -1
+
+#define FRONTIER_MONS_DRAGON_TAMER_1 \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_ARCANINE_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ -1
+
+#define FRONTIER_MONS_POKEFAN_2 \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_CLEFABLE_1, \
+ FRONTIER_MON_RAICHU_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_RAPIDASH_1, \
+ FRONTIER_MON_NINETALES_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_PORYGON2_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_SLAKING_1, \
+ -1
+
+#define FRONTIER_MONS_PKMN_BREEDER_M_1 \
+ FRONTIER_MON_MUK_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_CLAYDOL_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_NINETALES_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_PORYGON2_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_VAPOREON_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_FLAREON_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_ARCANINE_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_SLAKING_1, \
+ -1
+
+#define FRONTIER_MONS_PKMN_BREEDER_F_1 \
+ FRONTIER_MON_DUGTRIO_1, \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_FEAROW_1, \
+ FRONTIER_MON_GRANBULL_1, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_DODRIO_1, \
+ FRONTIER_MON_MR_MIME_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_WHISCASH_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_CLEFABLE_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_RAICHU_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_MANECTRIC_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_ELECTRODE_1, \
+ FRONTIER_MON_EXPLOUD_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_HYPNO_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ FRONTIER_MON_WEEZING_1, \
+ FRONTIER_MON_KANGASKHAN_1, \
+ FRONTIER_MON_ELECTABUZZ_1, \
+ FRONTIER_MON_TAUROS_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_MAGMAR_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_GOLDUCK_1, \
+ FRONTIER_MON_RAPIDASH_1, \
+ -1
+
+// Odd, all the other Youngster/Lass trainers of this group have Dugtrio, but one does not
+#define FRONTIER_MONS_YOUNGSTER_LASS_2_NO_DUGTRIO \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_FEAROW_2, \
+ FRONTIER_MON_GRANBULL_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_DODRIO_2, \
+ FRONTIER_MON_MR_MIME_2, \
+ FRONTIER_MON_LANTURN_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_WHISCASH_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_CLEFABLE_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_RAICHU_2, \
+ FRONTIER_MON_DEWGONG_2, \
+ FRONTIER_MON_MANECTRIC_2, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_ELECTRODE_2, \
+ FRONTIER_MON_EXPLOUD_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_GLALIE_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_HYPNO_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ -1
+
+#define FRONTIER_MONS_YOUNGSTER_LASS_2 \
+ FRONTIER_MON_DUGTRIO_2, \
+ FRONTIER_MONS_YOUNGSTER_LASS_2_NO_DUGTRIO
+
+#define FRONTIER_MONS_SCHOOL_KID_2 \
+ FRONTIER_MON_WEEZING_2, \
+ FRONTIER_MON_KANGASKHAN_2, \
+ FRONTIER_MON_ELECTABUZZ_2, \
+ FRONTIER_MON_TAUROS_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_ALTARIA_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_MAGMAR_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_GOLDUCK_2, \
+ FRONTIER_MON_RAPIDASH_2, \
+ FRONTIER_MON_MUK_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_AMPHAROS_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_DONPHAN_2, \
+ FRONTIER_MON_CLAYDOL_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_NINETALES_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_PORYGON2_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ -1
+
+#define FRONTIER_MONS_RICH_BOY_LADY_2 \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_VAPOREON_2, \
+ FRONTIER_MON_JOLTEON_2, \
+ FRONTIER_MON_FLAREON_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_TYPHLOSION_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_BLISSEY_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_ARCANINE_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_SLAKING_2, \
+ -1
+
+#define FRONTIER_MONS_BUG_CATCHER_2 \
+ FRONTIER_MON_NINJASK_2, \
+ FRONTIER_MON_SCYTHER_2, \
+ FRONTIER_MON_PINSIR_2, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ -1
+
+#define FRONTIER_MONS_NINJA_BOY_2 \
+ FRONTIER_MON_PARASECT_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_NINJASK_2, \
+ FRONTIER_MON_SCYTHER_2, \
+ FRONTIER_MON_PINSIR_2, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_MR_MIME_2, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_HYPNO_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ FRONTIER_MON_WEEZING_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_MUK_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_CLAYDOL_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_CROBAT_2, \
+ -1
+
+#define FRONTIER_MONS_TUBER_2 \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_GRANBULL_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_LANTURN_2, \
+ FRONTIER_MON_WHISCASH_2, \
+ FRONTIER_MON_CLEFABLE_2, \
+ FRONTIER_MON_DEWGONG_2, \
+ FRONTIER_MON_EXPLOUD_2, \
+ FRONTIER_MON_GLALIE_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_KANGASKHAN_2, \
+ FRONTIER_MON_TAUROS_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_GOLDUCK_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_PORYGON2_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_VAPOREON_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_BLISSEY_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_SLAKING_2, \
+ -1
+
+#define FRONTIER_MONS_BUG_MANIAC_3 \
+ FRONTIER_MON_VOLBEAT_2, \
+ FRONTIER_MON_ILLUMISE_2, \
+ FRONTIER_MON_PARASECT_2, \
+ FRONTIER_MON_MASQUERAIN_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_NINJASK_2, \
+ FRONTIER_MON_SCYTHER_2, \
+ FRONTIER_MON_PINSIR_2, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ -1
+
+#define FRONTIER_MONS_FISHERMAN_2 \
+ FRONTIER_MON_QWILFISH_2, \
+ FRONTIER_MON_SEAKING_2, \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_MANTINE_2, \
+ FRONTIER_MON_CRAWDAUNT_2, \
+ FRONTIER_MON_KINGLER_2, \
+ FRONTIER_MON_OCTILLERY_2, \
+ FRONTIER_MON_HUNTAIL_2, \
+ FRONTIER_MON_GOREBYSS_2, \
+ FRONTIER_MON_RELICANTH_2, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_STARMIE_3, \
+ -1
+
+#define FRONTIER_MONS_RUIN_MANIAC_3 \
+ FRONTIER_MON_DUGTRIO_3, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ -1
+
+#define FRONTIER_MONS_COLLECTOR_2 \
+ FRONTIER_MON_DUGTRIO_3, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_FEAROW_3, \
+ FRONTIER_MON_GRANBULL_3, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_DUSCLOPS_3, \
+ FRONTIER_MON_DODRIO_3, \
+ FRONTIER_MON_MR_MIME_3, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_XATU_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_CLEFABLE_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_RAICHU_3, \
+ FRONTIER_MON_DEWGONG_3, \
+ FRONTIER_MON_MANECTRIC_3, \
+ FRONTIER_MON_VILEPLUME_3, \
+ FRONTIER_MON_VICTREEBEL_3, \
+ FRONTIER_MON_ELECTRODE_3, \
+ FRONTIER_MON_EXPLOUD_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_GLALIE_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_HYPNO_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_ALAKAZAM_3, \
+ FRONTIER_MON_WEEZING_3, \
+ FRONTIER_MON_KANGASKHAN_3, \
+ FRONTIER_MON_ELECTABUZZ_3, \
+ FRONTIER_MON_TAUROS_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_MILTANK_3, \
+ FRONTIER_MON_ALTARIA_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_MAGMAR_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_GOLDUCK_3, \
+ FRONTIER_MON_RAPIDASH_3, \
+ -1
+
+#define FRONTIER_MONS_GUITARIST_2 \
+ FRONTIER_MON_SABLEYE_2, \
+ FRONTIER_MON_MIGHTYENA_2, \
+ FRONTIER_MON_SNEASEL_2, \
+ FRONTIER_MON_MAGNETON_2, \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_RAICHU_3, \
+ FRONTIER_MON_MANECTRIC_3, \
+ FRONTIER_MON_ELECTRODE_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_ELECTABUZZ_3, \
+ FRONTIER_MON_AMPHAROS_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_JOLTEON_3, \
+ FRONTIER_MON_UMBREON_3, \
+ -1
+
+#define FRONTIER_MONS_BIRD_KEEPER_2 \
+ FRONTIER_MON_MURKROW_2, \
+ FRONTIER_MON_PELIPPER_2, \
+ FRONTIER_MON_SWELLOW_2, \
+ FRONTIER_MON_NOCTOWL_2, \
+ FRONTIER_MON_PIDGEOT_2, \
+ FRONTIER_MON_FEAROW_1, \
+ FRONTIER_MON_DODRIO_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_FEAROW_2, \
+ FRONTIER_MON_DODRIO_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_FEAROW_3, \
+ FRONTIER_MON_DODRIO_3, \
+ FRONTIER_MON_XATU_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_CROBAT_3, \
+ -1
+
+#define FRONTIER_MONS_SAILOR_2 \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_DEWGONG_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_GOLDUCK_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_VAPOREON_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ -1
+
+#define FRONTIER_MONS_HIKER_2 \
+ FRONTIER_MON_DUGTRIO_3, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ -1
+
+#define FRONTIER_MONS_KINDLER_2 \
+ FRONTIER_MON_GRANBULL_3, \
+ FRONTIER_MON_CLEFABLE_3, \
+ FRONTIER_MON_EXPLOUD_3, \
+ FRONTIER_MON_KANGASKHAN_3, \
+ FRONTIER_MON_TAUROS_3, \
+ FRONTIER_MON_MILTANK_3, \
+ FRONTIER_MON_MAGMAR_3, \
+ FRONTIER_MON_RAPIDASH_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_NINETALES_3, \
+ FRONTIER_MON_FLAREON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_TYPHLOSION_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_BLISSEY_3, \
+ FRONTIER_MON_ARCANINE_3, \
+ FRONTIER_MON_SLAKING_3, \
+ -1
+
+#define FRONTIER_MONS_GENTLEMAN_2 \
+ FRONTIER_MON_MUK_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_AMPHAROS_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_NINETALES_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_PORYGON2_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_EXEGGUTOR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_VAPOREON_3, \
+ FRONTIER_MON_JOLTEON_3, \
+ FRONTIER_MON_FLAREON_3, \
+ FRONTIER_MON_MEGANIUM_3, \
+ FRONTIER_MON_ESPEON_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_SCEPTILE_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_TYPHLOSION_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_CROBAT_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_BLISSEY_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_ARCANINE_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_SLAKING_3, \
+ -1
+
+#define FRONTIER_MONS_YOUNGSTER_LASS_3 \
+ FRONTIER_MON_DUGTRIO_4, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_FEAROW_4, \
+ FRONTIER_MON_GRANBULL_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_DUSCLOPS_4, \
+ FRONTIER_MON_DODRIO_4, \
+ FRONTIER_MON_MR_MIME_4, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_FORRETRESS_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_XATU_4, \
+ FRONTIER_MON_SKARMORY_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_CLEFABLE_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_RAICHU_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_MANECTRIC_4, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_VICTREEBEL_4, \
+ FRONTIER_MON_ELECTRODE_4, \
+ FRONTIER_MON_EXPLOUD_4, \
+ FRONTIER_MON_SHIFTRY_4, \
+ FRONTIER_MON_GLALIE_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_HYPNO_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_ALAKAZAM_4, \
+ -1
+
+#define FRONTIER_MONS_CAMPER_PICNICKER_2 \
+ FRONTIER_MON_WEEZING_4, \
+ FRONTIER_MON_KANGASKHAN_4, \
+ FRONTIER_MON_ELECTABUZZ_4, \
+ FRONTIER_MON_TAUROS_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_ALTARIA_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_MAGMAR_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_ARMALDO_4, \
+ FRONTIER_MON_GOLDUCK_4, \
+ FRONTIER_MON_RAPIDASH_4, \
+ FRONTIER_MON_MUK_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_AMPHAROS_4, \
+ FRONTIER_MON_SCIZOR_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_DONPHAN_4, \
+ FRONTIER_MON_CLAYDOL_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_NINETALES_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_PORYGON2_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ -1
+
+#define FRONTIER_MONS_SWIMMER_M_2 \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_GRANBULL_4, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_CLEFABLE_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_EXPLOUD_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_KANGASKHAN_4, \
+ FRONTIER_MON_TAUROS_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_GOLDUCK_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_PORYGON2_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_SLAKING_4, \
+ -1
+
+#define FRONTIER_MONS_SWIMMER_F_2 \
+ FRONTIER_MON_GRANBULL_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_CLEFABLE_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_EXPLOUD_4, \
+ FRONTIER_MON_GLALIE_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_KANGASKHAN_4, \
+ FRONTIER_MON_TAUROS_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_GOLDUCK_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_PORYGON2_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_SLAKING_4, \
+ -1
+
+#define FRONTIER_MONS_POKEFAN_3 \
+ FRONTIER_MON_DELCATTY_2, \
+ FRONTIER_MON_PORYGON_2, \
+ FRONTIER_MON_DUNSPARCE_2, \
+ FRONTIER_MON_WIGGLYTUFF_2, \
+ FRONTIER_MON_KECLEON_2, \
+ FRONTIER_MON_CHANSEY_2, \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_MR_MIME_4, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_XATU_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_CLEFABLE_4, \
+ FRONTIER_MON_RAICHU_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_ALTARIA_4, \
+ FRONTIER_MON_RAPIDASH_4, \
+ FRONTIER_MON_AMPHAROS_4, \
+ FRONTIER_MON_NINETALES_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_PORYGON2_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_JOLTEON_4, \
+ FRONTIER_MON_FLAREON_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ -1
+
+#define FRONTIER_MONS_PKMN_BREEDER_2 \
+ FRONTIER_MON_EXEGGUTOR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_JOLTEON_4, \
+ FRONTIER_MON_FLAREON_4, \
+ FRONTIER_MON_MEGANIUM_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_SCEPTILE_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_TYPHLOSION_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_CROBAT_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_ARCANINE_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_SLAKING_4, \
+ -1
+
+#define FRONTIER_MONS_COOLTRAINER_M_2A \
+ FRONTIER_MON_MUK_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_CLAYDOL_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_NINETALES_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_PORYGON2_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_VAPOREON_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_MUK_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_AMPHAROS_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_DONPHAN_2, \
+ FRONTIER_MON_CLAYDOL_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_NINETALES_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_PORYGON2_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_VAPOREON_2, \
+ FRONTIER_MON_JOLTEON_2, \
+ FRONTIER_MON_MUK_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_AMPHAROS_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_NINETALES_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_PORYGON2_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_EXEGGUTOR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_VAPOREON_3, \
+ FRONTIER_MON_JOLTEON_3, \
+ FRONTIER_MON_MUK_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_AMPHAROS_4, \
+ FRONTIER_MON_SCIZOR_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_DONPHAN_4, \
+ FRONTIER_MON_CLAYDOL_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_NINETALES_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_PORYGON2_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_EXEGGUTOR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_JOLTEON_4, \
+ -1
+
+#define FRONTIER_MONS_COOLTRAINER_M_2B \
+ FRONTIER_MON_FLAREON_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_ARCANINE_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_SLAKING_1, \
+ FRONTIER_MON_FLAREON_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_TYPHLOSION_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_BLISSEY_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_ARCANINE_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_SLAKING_2, \
+ FRONTIER_MON_FLAREON_3, \
+ FRONTIER_MON_MEGANIUM_3, \
+ FRONTIER_MON_ESPEON_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_SCEPTILE_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_TYPHLOSION_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_CROBAT_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_BLISSEY_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_ARCANINE_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_SLAKING_3, \
+ FRONTIER_MON_FLAREON_4, \
+ FRONTIER_MON_MEGANIUM_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_SCEPTILE_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_TYPHLOSION_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_CROBAT_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_ARCANINE_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_SLAKING_4, \
+ -1
+
+// Cooltrainer M uses Latios, Cooltrainer F uses Latias
+#define FRONTIER_MONS_COOLTRAINER_2C(lati) \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_##lati##_1, \
+ FRONTIER_MON_##lati##_2, \
+ FRONTIER_MON_##lati##_3, \
+ FRONTIER_MON_##lati##_4, \
+ FRONTIER_MON_GENGAR_5, \
+ FRONTIER_MON_GENGAR_6, \
+ FRONTIER_MON_GENGAR_7, \
+ FRONTIER_MON_GENGAR_8, \
+ FRONTIER_MON_URSARING_5, \
+ FRONTIER_MON_URSARING_6, \
+ FRONTIER_MON_URSARING_7, \
+ FRONTIER_MON_URSARING_8, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ FRONTIER_MON_GARDEVOIR_5, \
+ FRONTIER_MON_GARDEVOIR_6, \
+ FRONTIER_MON_GARDEVOIR_7, \
+ FRONTIER_MON_GARDEVOIR_8, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ FRONTIER_MON_LAPRAS_5, \
+ FRONTIER_MON_LAPRAS_6, \
+ FRONTIER_MON_LAPRAS_7, \
+ FRONTIER_MON_LAPRAS_8, \
+ FRONTIER_MON_SNORLAX_5, \
+ FRONTIER_MON_SNORLAX_6, \
+ FRONTIER_MON_SNORLAX_7, \
+ FRONTIER_MON_SNORLAX_8, \
+ FRONTIER_MON_SALAMENCE_5, \
+ FRONTIER_MON_SALAMENCE_6, \
+ FRONTIER_MON_SALAMENCE_7, \
+ FRONTIER_MON_SALAMENCE_8, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8, \
+ FRONTIER_MON_##lati##_5, \
+ FRONTIER_MON_##lati##_6, \
+ FRONTIER_MON_##lati##_7, \
+ FRONTIER_MON_##lati##_8, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+// Also used by Pkmn Ranger M/F
+// For both classes, M uses Latios and F uses Latias
+#define FRONTIER_MONS_COOLTRAINER_2D(lati) \
+ FRONTIER_MON_ARTICUNO_1, \
+ FRONTIER_MON_ZAPDOS_1, \
+ FRONTIER_MON_MOLTRES_1, \
+ FRONTIER_MON_RAIKOU_1, \
+ FRONTIER_MON_ENTEI_1, \
+ FRONTIER_MON_SUICUNE_1, \
+ FRONTIER_MON_REGIROCK_1, \
+ FRONTIER_MON_REGICE_1, \
+ FRONTIER_MON_REGISTEEL_1, \
+ FRONTIER_MON_##lati##_1, \
+ FRONTIER_MON_ARTICUNO_2, \
+ FRONTIER_MON_ZAPDOS_2, \
+ FRONTIER_MON_MOLTRES_2, \
+ FRONTIER_MON_RAIKOU_2, \
+ FRONTIER_MON_ENTEI_2, \
+ FRONTIER_MON_SUICUNE_2, \
+ FRONTIER_MON_REGIROCK_2, \
+ FRONTIER_MON_REGICE_2, \
+ FRONTIER_MON_REGISTEEL_2, \
+ FRONTIER_MON_##lati##_2, \
+ FRONTIER_MON_ARTICUNO_3, \
+ FRONTIER_MON_ZAPDOS_3, \
+ FRONTIER_MON_MOLTRES_3, \
+ FRONTIER_MON_RAIKOU_3, \
+ FRONTIER_MON_ENTEI_3, \
+ FRONTIER_MON_SUICUNE_3, \
+ FRONTIER_MON_REGIROCK_3, \
+ FRONTIER_MON_REGICE_3, \
+ FRONTIER_MON_REGISTEEL_3, \
+ FRONTIER_MON_##lati##_3, \
+ FRONTIER_MON_ARTICUNO_4, \
+ FRONTIER_MON_ZAPDOS_4, \
+ FRONTIER_MON_MOLTRES_4, \
+ FRONTIER_MON_RAIKOU_4, \
+ FRONTIER_MON_ENTEI_4, \
+ FRONTIER_MON_SUICUNE_4, \
+ FRONTIER_MON_REGIROCK_4, \
+ FRONTIER_MON_REGICE_4, \
+ FRONTIER_MON_REGISTEEL_4, \
+ FRONTIER_MON_##lati##_4, \
+ FRONTIER_MON_REGIROCK_5, \
+ FRONTIER_MON_REGIROCK_6, \
+ FRONTIER_MON_REGICE_5, \
+ FRONTIER_MON_REGICE_6, \
+ FRONTIER_MON_REGISTEEL_5, \
+ FRONTIER_MON_REGISTEEL_6, \
+ FRONTIER_MON_##lati##_5, \
+ FRONTIER_MON_##lati##_6, \
+ FRONTIER_MON_##lati##_7, \
+ FRONTIER_MON_##lati##_8, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ FRONTIER_MON_ARTICUNO_5, \
+ FRONTIER_MON_ARTICUNO_6, \
+ FRONTIER_MON_ZAPDOS_5, \
+ FRONTIER_MON_ZAPDOS_6, \
+ FRONTIER_MON_MOLTRES_5, \
+ FRONTIER_MON_MOLTRES_6, \
+ FRONTIER_MON_RAIKOU_5, \
+ FRONTIER_MON_RAIKOU_6, \
+ FRONTIER_MON_ENTEI_5, \
+ FRONTIER_MON_ENTEI_6, \
+ FRONTIER_MON_SUICUNE_5, \
+ FRONTIER_MON_SUICUNE_6, \
+ -1
+
+#define FRONTIER_MONS_COOLTRAINER_F_2A \
+ FRONTIER_MON_DUGTRIO_1, \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_FEAROW_1, \
+ FRONTIER_MON_GRANBULL_1, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_DODRIO_1, \
+ FRONTIER_MON_MR_MIME_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_WHISCASH_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_CLEFABLE_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_RAICHU_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_MANECTRIC_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_DUGTRIO_2, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_FEAROW_2, \
+ FRONTIER_MON_GRANBULL_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_DODRIO_2, \
+ FRONTIER_MON_MR_MIME_2, \
+ FRONTIER_MON_LANTURN_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_WHISCASH_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_CLEFABLE_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_RAICHU_2, \
+ FRONTIER_MON_DEWGONG_2, \
+ FRONTIER_MON_MANECTRIC_2, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_DUGTRIO_3, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_FEAROW_3, \
+ FRONTIER_MON_GRANBULL_3, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_DUSCLOPS_3, \
+ FRONTIER_MON_DODRIO_3, \
+ FRONTIER_MON_MR_MIME_3, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_XATU_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_CLEFABLE_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_RAICHU_3, \
+ FRONTIER_MON_DEWGONG_3, \
+ FRONTIER_MON_MANECTRIC_3, \
+ FRONTIER_MON_VILEPLUME_3, \
+ FRONTIER_MON_VICTREEBEL_3, \
+ FRONTIER_MON_DUGTRIO_4, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_FEAROW_4, \
+ FRONTIER_MON_GRANBULL_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_DUSCLOPS_4, \
+ FRONTIER_MON_DODRIO_4, \
+ FRONTIER_MON_MR_MIME_4, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_FORRETRESS_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_XATU_4, \
+ FRONTIER_MON_SKARMORY_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_CLEFABLE_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_RAICHU_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_MANECTRIC_4, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_VICTREEBEL_4, \
+ -1
+
+#define FRONTIER_MONS_COOLTRAINER_F_2B \
+ FRONTIER_MON_ELECTRODE_1, \
+ FRONTIER_MON_EXPLOUD_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_HYPNO_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ FRONTIER_MON_WEEZING_1, \
+ FRONTIER_MON_KANGASKHAN_1, \
+ FRONTIER_MON_ELECTABUZZ_1, \
+ FRONTIER_MON_TAUROS_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_MAGMAR_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_GOLDUCK_1, \
+ FRONTIER_MON_RAPIDASH_1, \
+ FRONTIER_MON_ELECTRODE_2, \
+ FRONTIER_MON_EXPLOUD_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_GLALIE_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_HYPNO_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ FRONTIER_MON_WEEZING_2, \
+ FRONTIER_MON_KANGASKHAN_2, \
+ FRONTIER_MON_ELECTABUZZ_2, \
+ FRONTIER_MON_TAUROS_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_ALTARIA_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_MAGMAR_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_GOLDUCK_2, \
+ FRONTIER_MON_RAPIDASH_2, \
+ FRONTIER_MON_ELECTRODE_3, \
+ FRONTIER_MON_EXPLOUD_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_GLALIE_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_HYPNO_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_ALAKAZAM_3, \
+ FRONTIER_MON_WEEZING_3, \
+ FRONTIER_MON_KANGASKHAN_3, \
+ FRONTIER_MON_ELECTABUZZ_3, \
+ FRONTIER_MON_TAUROS_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_MILTANK_3, \
+ FRONTIER_MON_ALTARIA_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_MAGMAR_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_GOLDUCK_3, \
+ FRONTIER_MON_RAPIDASH_3, \
+ FRONTIER_MON_ELECTRODE_4, \
+ FRONTIER_MON_EXPLOUD_4, \
+ FRONTIER_MON_SHIFTRY_4, \
+ FRONTIER_MON_GLALIE_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_HYPNO_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_ALAKAZAM_4, \
+ FRONTIER_MON_WEEZING_4, \
+ FRONTIER_MON_KANGASKHAN_4, \
+ FRONTIER_MON_ELECTABUZZ_4, \
+ FRONTIER_MON_TAUROS_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_ALTARIA_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_MAGMAR_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_ARMALDO_4, \
+ FRONTIER_MON_GOLDUCK_4, \
+ FRONTIER_MON_RAPIDASH_4, \
+ -1
+
+// Used by Pkmn Ranger M, Gentleman, Running Triathlete, and Cycling Triathlete
+#define FRONTIER_MONS_GENERAL_A \
+ FRONTIER_MON_DUGTRIO_4, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_FEAROW_4, \
+ FRONTIER_MON_GRANBULL_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_DUSCLOPS_4, \
+ FRONTIER_MON_DODRIO_4, \
+ FRONTIER_MON_MR_MIME_4, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_FORRETRESS_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_XATU_4, \
+ FRONTIER_MON_SKARMORY_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_CLEFABLE_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_RAICHU_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_MANECTRIC_4, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_VICTREEBEL_4, \
+ FRONTIER_MON_ELECTRODE_4, \
+ FRONTIER_MON_EXPLOUD_4, \
+ FRONTIER_MON_SHIFTRY_4, \
+ FRONTIER_MON_GLALIE_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_HYPNO_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_ALAKAZAM_4, \
+ FRONTIER_MON_WEEZING_4, \
+ FRONTIER_MON_KANGASKHAN_4, \
+ FRONTIER_MON_ELECTABUZZ_4, \
+ FRONTIER_MON_TAUROS_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_ALTARIA_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_MAGMAR_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_ARMALDO_4, \
+ FRONTIER_MON_GOLDUCK_4, \
+ FRONTIER_MON_RAPIDASH_4, \
+ FRONTIER_MON_MUK_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_AMPHAROS_4, \
+ FRONTIER_MON_SCIZOR_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_DONPHAN_4, \
+ FRONTIER_MON_CLAYDOL_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_NINETALES_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_PORYGON2_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_EXEGGUTOR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_JOLTEON_4, \
+ FRONTIER_MON_FLAREON_4, \
+ FRONTIER_MON_MEGANIUM_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_SCEPTILE_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_TYPHLOSION_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_CROBAT_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_ARCANINE_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_SLAKING_4, \
+ -1
+
+// Identical to FRONTIER_MONS_GENERAL_A but _3
+// Used by Pkmn Ranger, Running Triathlete, and Cycling Triathlete
+#define FRONTIER_MONS_GENERAL_B \
+ FRONTIER_MON_DUGTRIO_3, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_FEAROW_3, \
+ FRONTIER_MON_GRANBULL_3, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_DUSCLOPS_3, \
+ FRONTIER_MON_DODRIO_3, \
+ FRONTIER_MON_MR_MIME_3, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_XATU_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_CLEFABLE_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_RAICHU_3, \
+ FRONTIER_MON_DEWGONG_3, \
+ FRONTIER_MON_MANECTRIC_3, \
+ FRONTIER_MON_VILEPLUME_3, \
+ FRONTIER_MON_VICTREEBEL_3, \
+ FRONTIER_MON_ELECTRODE_3, \
+ FRONTIER_MON_EXPLOUD_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_GLALIE_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_HYPNO_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_ALAKAZAM_3, \
+ FRONTIER_MON_WEEZING_3, \
+ FRONTIER_MON_KANGASKHAN_3, \
+ FRONTIER_MON_ELECTABUZZ_3, \
+ FRONTIER_MON_TAUROS_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_MILTANK_3, \
+ FRONTIER_MON_ALTARIA_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_MAGMAR_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_GOLDUCK_3, \
+ FRONTIER_MON_RAPIDASH_3, \
+ FRONTIER_MON_MUK_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_AMPHAROS_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_NINETALES_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_PORYGON2_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_EXEGGUTOR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_VAPOREON_3, \
+ FRONTIER_MON_JOLTEON_3, \
+ FRONTIER_MON_FLAREON_3, \
+ FRONTIER_MON_MEGANIUM_3, \
+ FRONTIER_MON_ESPEON_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_SCEPTILE_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_TYPHLOSION_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_CROBAT_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_BLISSEY_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_ARCANINE_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_SLAKING_3, \
+ -1
+
+// Similar to FRONTIER_MONS_GENERAL_A/B but _2
+// Used by Pkmn Ranger, Running Triathlete, and Cycling Triathlete
+#define FRONTIER_MONS_GENERAL_C \
+ FRONTIER_MON_DUGTRIO_2, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_FEAROW_2, \
+ FRONTIER_MON_GRANBULL_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_DODRIO_2, \
+ FRONTIER_MON_MR_MIME_2, \
+ FRONTIER_MON_LANTURN_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_WHISCASH_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_CLEFABLE_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_RAICHU_2, \
+ FRONTIER_MON_DEWGONG_2, \
+ FRONTIER_MON_MANECTRIC_2, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_ELECTRODE_2, \
+ FRONTIER_MON_EXPLOUD_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_GLALIE_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_HYPNO_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ FRONTIER_MON_WEEZING_2, \
+ FRONTIER_MON_KANGASKHAN_2, \
+ FRONTIER_MON_ELECTABUZZ_2, \
+ FRONTIER_MON_TAUROS_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_ALTARIA_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_MAGMAR_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_GOLDUCK_2, \
+ FRONTIER_MON_RAPIDASH_2, \
+ FRONTIER_MON_MUK_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_AMPHAROS_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_DONPHAN_2, \
+ FRONTIER_MON_CLAYDOL_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_NINETALES_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_PORYGON2_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_VAPOREON_2, \
+ FRONTIER_MON_JOLTEON_2, \
+ FRONTIER_MON_FLAREON_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_TYPHLOSION_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_BLISSEY_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_ARCANINE_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_SLAKING_2, \
+ -1
+
+// Similar to FRONTIER_MONS_GENERAL_C but _1 (would be identical if not for re-ordering)
+// Used by Pkmn Ranger, Running Triathlete, Cycling Triathlete
+#define FRONTIER_MONS_GENERAL_D \
+ FRONTIER_MON_DUGTRIO_1, \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_FEAROW_1, \
+ FRONTIER_MON_GRANBULL_1, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_DODRIO_1, \
+ FRONTIER_MON_MR_MIME_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_WHISCASH_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_CLEFABLE_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_RAICHU_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_MANECTRIC_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_ELECTRODE_1, \
+ FRONTIER_MON_EXPLOUD_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_HYPNO_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ FRONTIER_MON_WEEZING_1, \
+ FRONTIER_MON_KANGASKHAN_1, \
+ FRONTIER_MON_ELECTABUZZ_1, \
+ FRONTIER_MON_TAUROS_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_MAGMAR_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_GOLDUCK_1, \
+ FRONTIER_MON_RAPIDASH_1, \
+ FRONTIER_MON_MUK_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_CLAYDOL_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_NINETALES_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_PORYGON2_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_VAPOREON_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_FLAREON_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_ARCANINE_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_SLAKING_1, \
+ -1
+
+#define FRONTIER_MONS_DRAGON_TAMER_2 \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_ALTARIA_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_ALTARIA_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_ALTARIA_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_LATIAS_1, \
+ FRONTIER_MON_LATIOS_1, \
+ FRONTIER_MON_LATIAS_2, \
+ FRONTIER_MON_LATIOS_2, \
+ FRONTIER_MON_LATIAS_3, \
+ FRONTIER_MON_LATIOS_3, \
+ FRONTIER_MON_LATIAS_4, \
+ FRONTIER_MON_LATIOS_4, \
+ FRONTIER_MON_SALAMENCE_5, \
+ FRONTIER_MON_SALAMENCE_6, \
+ FRONTIER_MON_SALAMENCE_7, \
+ FRONTIER_MON_SALAMENCE_8, \
+ FRONTIER_MON_LATIAS_5, \
+ FRONTIER_MON_LATIAS_6, \
+ FRONTIER_MON_LATIAS_7, \
+ FRONTIER_MON_LATIAS_8, \
+ FRONTIER_MON_LATIOS_5, \
+ FRONTIER_MON_LATIOS_6, \
+ FRONTIER_MON_LATIOS_7, \
+ FRONTIER_MON_LATIOS_8, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+#define FRONTIER_MONS_BLACK_BELT_2A \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_ARMALDO_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ -1
+
+#define FRONTIER_MONS_BATTLE_GIRL_2A \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_DONPHAN_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_DONPHAN_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ -1
+
+#define FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_MAGMAR_1, \
+ FRONTIER_MON_RAPIDASH_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_NINETALES_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_FLAREON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_ARCANINE_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_MAGMAR_2, \
+ FRONTIER_MON_RAPIDASH_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_NINETALES_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_FLAREON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_TYPHLOSION_2, \
+ FRONTIER_MON_ARCANINE_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_MAGMAR_3, \
+ FRONTIER_MON_RAPIDASH_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_NINETALES_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_FLAREON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_TYPHLOSION_3, \
+ FRONTIER_MON_ARCANINE_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_MAGMAR_4, \
+ FRONTIER_MON_RAPIDASH_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_NINETALES_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_FLAREON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_TYPHLOSION_4, \
+ FRONTIER_MON_ARCANINE_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ -1
+
+#define FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_FORRETRESS_4, \
+ FRONTIER_MON_SKARMORY_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_SCIZOR_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8, \
+ -1
+
+// For this group, Expert M uses Tyranitar, Expert F uses Dragonite
+#define FRONTIER_MONS_EXPERT_2A(lastmon) \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_SCIZOR_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_REGIROCK_1, \
+ FRONTIER_MON_REGICE_1, \
+ FRONTIER_MON_REGISTEEL_1, \
+ FRONTIER_MON_REGIROCK_2, \
+ FRONTIER_MON_REGICE_2, \
+ FRONTIER_MON_REGISTEEL_2, \
+ FRONTIER_MON_REGIROCK_3, \
+ FRONTIER_MON_REGICE_3, \
+ FRONTIER_MON_REGISTEEL_3, \
+ FRONTIER_MON_REGIROCK_4, \
+ FRONTIER_MON_REGICE_4, \
+ FRONTIER_MON_REGISTEEL_4, \
+ FRONTIER_MON_URSARING_5, \
+ FRONTIER_MON_URSARING_6, \
+ FRONTIER_MON_URSARING_7, \
+ FRONTIER_MON_URSARING_8, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ FRONTIER_MON_SALAMENCE_5, \
+ FRONTIER_MON_SALAMENCE_6, \
+ FRONTIER_MON_SALAMENCE_7, \
+ FRONTIER_MON_SALAMENCE_8, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8, \
+ FRONTIER_MON_REGIROCK_5, \
+ FRONTIER_MON_REGIROCK_6, \
+ FRONTIER_MON_REGICE_5, \
+ FRONTIER_MON_REGICE_6, \
+ FRONTIER_MON_REGISTEEL_5, \
+ FRONTIER_MON_REGISTEEL_6, \
+ FRONTIER_MON_##lastmon##_1, \
+ FRONTIER_MON_##lastmon##_2, \
+ FRONTIER_MON_##lastmon##_3, \
+ FRONTIER_MON_##lastmon##_4, \
+ FRONTIER_MON_##lastmon##_5, \
+ FRONTIER_MON_##lastmon##_6, \
+ FRONTIER_MON_##lastmon##_7, \
+ FRONTIER_MON_##lastmon##_8, \
+ FRONTIER_MON_##lastmon##_9, \
+ FRONTIER_MON_##lastmon##_10,\
+ -1
+
+// For this group, Expert M uses Latios, Expert F uses Latias
+#define FRONTIER_MONS_EXPERT_2B(lati) \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_AMPHAROS_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_ALAKAZAM_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_AMPHAROS_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_ESPEON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_SCEPTILE_3, \
+ FRONTIER_MON_CROBAT_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_ALAKAZAM_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_AMPHAROS_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_SCEPTILE_4, \
+ FRONTIER_MON_CROBAT_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_REGIROCK_1, \
+ FRONTIER_MON_REGICE_1, \
+ FRONTIER_MON_REGISTEEL_1, \
+ FRONTIER_MON_##lati##_1, \
+ FRONTIER_MON_REGIROCK_2, \
+ FRONTIER_MON_REGICE_2, \
+ FRONTIER_MON_REGISTEEL_2, \
+ FRONTIER_MON_##lati##_2, \
+ FRONTIER_MON_REGIROCK_3, \
+ FRONTIER_MON_REGICE_3, \
+ FRONTIER_MON_REGISTEEL_3, \
+ FRONTIER_MON_##lati##_3, \
+ FRONTIER_MON_REGIROCK_4, \
+ FRONTIER_MON_REGICE_4, \
+ FRONTIER_MON_REGISTEEL_4, \
+ FRONTIER_MON_##lati##_4, \
+ FRONTIER_MON_GENGAR_5, \
+ FRONTIER_MON_GENGAR_6, \
+ FRONTIER_MON_GENGAR_7, \
+ FRONTIER_MON_GENGAR_8, \
+ FRONTIER_MON_GARDEVOIR_5, \
+ FRONTIER_MON_GARDEVOIR_6, \
+ FRONTIER_MON_GARDEVOIR_7, \
+ FRONTIER_MON_GARDEVOIR_8, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ FRONTIER_MON_REGIROCK_5, \
+ FRONTIER_MON_REGIROCK_6, \
+ FRONTIER_MON_REGICE_5, \
+ FRONTIER_MON_REGICE_6, \
+ FRONTIER_MON_REGISTEEL_5, \
+ FRONTIER_MON_REGISTEEL_6, \
+ FRONTIER_MON_##lati##_5, \
+ FRONTIER_MON_##lati##_6, \
+ FRONTIER_MON_##lati##_7, \
+ FRONTIER_MON_##lati##_8, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+// For this group, Expert M uses Tyranitar, Expert F uses Dragonite
+#define FRONTIER_MONS_EXPERT_2C(lastmon) \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_BLISSEY_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_DUSCLOPS_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_MILTANK_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_EXEGGUTOR_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_BLISSEY_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_DUSCLOPS_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_EXEGGUTOR_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_REGIROCK_1, \
+ FRONTIER_MON_REGICE_1, \
+ FRONTIER_MON_REGISTEEL_1, \
+ FRONTIER_MON_REGIROCK_2, \
+ FRONTIER_MON_REGICE_2, \
+ FRONTIER_MON_REGISTEEL_2, \
+ FRONTIER_MON_REGIROCK_3, \
+ FRONTIER_MON_REGICE_3, \
+ FRONTIER_MON_REGISTEEL_3, \
+ FRONTIER_MON_REGIROCK_4, \
+ FRONTIER_MON_REGICE_4, \
+ FRONTIER_MON_REGISTEEL_4, \
+ FRONTIER_MON_LAPRAS_5, \
+ FRONTIER_MON_LAPRAS_6, \
+ FRONTIER_MON_LAPRAS_7, \
+ FRONTIER_MON_LAPRAS_8, \
+ FRONTIER_MON_SNORLAX_5, \
+ FRONTIER_MON_SNORLAX_6, \
+ FRONTIER_MON_SNORLAX_7, \
+ FRONTIER_MON_SNORLAX_8, \
+ FRONTIER_MON_REGIROCK_5, \
+ FRONTIER_MON_REGIROCK_6, \
+ FRONTIER_MON_REGICE_5, \
+ FRONTIER_MON_REGICE_6, \
+ FRONTIER_MON_REGISTEEL_5, \
+ FRONTIER_MON_REGISTEEL_6, \
+ FRONTIER_MON_##lastmon##_1, \
+ FRONTIER_MON_##lastmon##_2, \
+ FRONTIER_MON_##lastmon##_3, \
+ FRONTIER_MON_##lastmon##_4, \
+ FRONTIER_MON_##lastmon##_5, \
+ FRONTIER_MON_##lastmon##_6, \
+ FRONTIER_MON_##lastmon##_7, \
+ FRONTIER_MON_##lastmon##_8, \
+ FRONTIER_MON_##lastmon##_9, \
+ FRONTIER_MON_##lastmon##_10,\
+ -1
+
+// The strong Psychic M/F trainers all use the below pokemon
+// Additionally they use 1 of 3 legendary trios, and Latios or Latias depending on gender
+#define FRONTIER_MONS_PSYCHIC_2(lati, legend1, legend2, legend3) \
+ FRONTIER_MON_WOBBUFFET_1, \
+ FRONTIER_MON_WOBBUFFET_2, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_MR_MIME_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_HYPNO_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_CLAYDOL_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_MR_MIME_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_HYPNO_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_CLAYDOL_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_MR_MIME_3, \
+ FRONTIER_MON_XATU_3, \
+ FRONTIER_MON_HYPNO_3, \
+ FRONTIER_MON_ALAKAZAM_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_EXEGGUTOR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_ESPEON_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_MR_MIME_4, \
+ FRONTIER_MON_XATU_4, \
+ FRONTIER_MON_HYPNO_4, \
+ FRONTIER_MON_ALAKAZAM_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_CLAYDOL_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_EXEGGUTOR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_##legend1##_1, \
+ FRONTIER_MON_##legend2##_1, \
+ FRONTIER_MON_##legend3##_1, \
+ FRONTIER_MON_##lati##_1, \
+ FRONTIER_MON_##legend1##_2, \
+ FRONTIER_MON_##legend2##_2, \
+ FRONTIER_MON_##legend3##_2, \
+ FRONTIER_MON_##lati##_2, \
+ FRONTIER_MON_##legend1##_3, \
+ FRONTIER_MON_##legend2##_3, \
+ FRONTIER_MON_##legend3##_3, \
+ FRONTIER_MON_##lati##_3, \
+ FRONTIER_MON_##legend1##_4, \
+ FRONTIER_MON_##legend2##_4, \
+ FRONTIER_MON_##legend3##_4, \
+ FRONTIER_MON_##lati##_4, \
+ FRONTIER_MON_GARDEVOIR_5, \
+ FRONTIER_MON_GARDEVOIR_6, \
+ FRONTIER_MON_GARDEVOIR_7, \
+ FRONTIER_MON_GARDEVOIR_8, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8,
+
+#define FRONTIER_MONS_PSYCHIC_2A(lati) \
+ FRONTIER_MONS_PSYCHIC_2(lati, ARTICUNO, ZAPDOS, MOLTRES) \
+ FRONTIER_MON_##lati##_5, \
+ FRONTIER_MON_##lati##_6, \
+ FRONTIER_MON_##lati##_7, \
+ FRONTIER_MON_##lati##_8, \
+ FRONTIER_MON_ARTICUNO_5, \
+ FRONTIER_MON_ARTICUNO_6, \
+ FRONTIER_MON_ZAPDOS_5, \
+ FRONTIER_MON_ZAPDOS_6, \
+ FRONTIER_MON_MOLTRES_5, \
+ FRONTIER_MON_MOLTRES_6, \
+ -1
+
+#define FRONTIER_MONS_PSYCHIC_2B(lati) \
+ FRONTIER_MONS_PSYCHIC_2(lati, RAIKOU, ENTEI, SUICUNE) \
+ FRONTIER_MON_##lati##_5, \
+ FRONTIER_MON_##lati##_6, \
+ FRONTIER_MON_##lati##_7, \
+ FRONTIER_MON_##lati##_8, \
+ FRONTIER_MON_RAIKOU_5, \
+ FRONTIER_MON_RAIKOU_6, \
+ FRONTIER_MON_ENTEI_5, \
+ FRONTIER_MON_ENTEI_6, \
+ FRONTIER_MON_SUICUNE_5, \
+ FRONTIER_MON_SUICUNE_6, \
+ -1
+
+// Because the regis/latis are swapped here they cant all be merged into the same macro and match
+#define FRONTIER_MONS_PSYCHIC_2C(lati) \
+ FRONTIER_MONS_PSYCHIC_2(lati, REGIROCK, REGICE, REGISTEEL) \
+ FRONTIER_MON_REGIROCK_5, \
+ FRONTIER_MON_REGIROCK_6, \
+ FRONTIER_MON_REGICE_5, \
+ FRONTIER_MON_REGICE_6, \
+ FRONTIER_MON_REGISTEEL_5, \
+ FRONTIER_MON_REGISTEEL_6, \
+ FRONTIER_MON_##lati##_5, \
+ FRONTIER_MON_##lati##_6, \
+ FRONTIER_MON_##lati##_7, \
+ FRONTIER_MON_##lati##_8, \
+ -1
+
+#define FRONTIER_MONS_HEX_MANIAC_2A \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_DUSCLOPS_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_DUSCLOPS_4, \
+ FRONTIER_MON_SHIFTRY_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_GENGAR_5, \
+ FRONTIER_MON_GENGAR_6, \
+ FRONTIER_MON_GENGAR_7, \
+ FRONTIER_MON_GENGAR_8, \
+ -1
+
+#define FRONTIER_MONS_HEX_MANIAC_2B \
+ FRONTIER_MON_SEVIPER_2, \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_WEEZING_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_MUK_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_WEEZING_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_MUK_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_DUSCLOPS_3, \
+ FRONTIER_MON_VILEPLUME_3, \
+ FRONTIER_MON_VICTREEBEL_3, \
+ FRONTIER_MON_WEEZING_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_MUK_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_CROBAT_3, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_DUSCLOPS_4, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_VICTREEBEL_4, \
+ FRONTIER_MON_WEEZING_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_MUK_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_CROBAT_4, \
+ FRONTIER_MON_GENGAR_5, \
+ FRONTIER_MON_GENGAR_6, \
+ FRONTIER_MON_GENGAR_7, \
+ FRONTIER_MON_GENGAR_8, \
+ -1
+
+#define FRONTIER_MONS_HEX_MANIAC_2C \
+ FRONTIER_MON_SEVIPER_2, \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_WEEZING_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_MUK_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_WEEZING_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_MUK_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_VILEPLUME_3, \
+ FRONTIER_MON_VICTREEBEL_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_WEEZING_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_MUK_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_CROBAT_3, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_VICTREEBEL_4, \
+ FRONTIER_MON_SHIFTRY_4, \
+ FRONTIER_MON_WEEZING_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_MUK_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_CROBAT_4, \
+ FRONTIER_MON_GENGAR_5, \
+ FRONTIER_MON_GENGAR_6, \
+ FRONTIER_MON_GENGAR_7, \
+ FRONTIER_MON_GENGAR_8, \
+ -1
+
+// For whatever reason FRONTIER_MON_MAROWAK_2 is in a different order than _1 _3 and _4
+// This order change is the only difference btween FRONITER_MONS_POKEMANIAC_2A and FRONTIER_MONS_POKEMANIAC_2B other than the numbered suffixes
+#define FRONTIER_MONS_POKEMANIAC_2A \
+ FRONTIER_MON_ZANGOOSE_2, \
+ FRONTIER_MON_GRANBULL_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_EXPLOUD_1, \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_KANGASKHAN_1, \
+ FRONTIER_MON_TAUROS_1, \
+ FRONTIER_MON_MILTANK_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_BLISSEY_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_SLAKING_1, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_GRANBULL_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_EXPLOUD_2, \
+ FRONTIER_MON_GLALIE_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_KANGASKHAN_2, \
+ FRONTIER_MON_TAUROS_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_DONPHAN_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_BLISSEY_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_SLAKING_2, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+#define FRONTIER_MONS_POKEMANIAC_2B \
+ FRONTIER_MON_ZANGOOSE_2, \
+ FRONTIER_MON_GRANBULL_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_EXPLOUD_3, \
+ FRONTIER_MON_GLALIE_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_KANGASKHAN_3, \
+ FRONTIER_MON_TAUROS_3, \
+ FRONTIER_MON_MILTANK_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_MEGANIUM_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_BLISSEY_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_SLAKING_3, \
+ FRONTIER_MON_GRANBULL_4, \
+ FRONTIER_MON_SKARMORY_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_EXPLOUD_4, \
+ FRONTIER_MON_GLALIE_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_KANGASKHAN_4, \
+ FRONTIER_MON_TAUROS_4, \
+ FRONTIER_MON_MILTANK_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_DONPHAN_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_MEGANIUM_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_BLISSEY_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_SLAKING_4, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+#define FRONTIER_MONS_POKEMANIAC_2C \
+ FRONTIER_MON_ZANGOOSE_2, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_MEGANIUM_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_MEGANIUM_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_URSARING_5, \
+ FRONTIER_MON_URSARING_6, \
+ FRONTIER_MON_URSARING_7, \
+ FRONTIER_MON_URSARING_8, \
+ FRONTIER_MON_LAPRAS_5, \
+ FRONTIER_MON_LAPRAS_6, \
+ FRONTIER_MON_LAPRAS_7, \
+ FRONTIER_MON_LAPRAS_8, \
+ FRONTIER_MON_SNORLAX_5, \
+ FRONTIER_MON_SNORLAX_6, \
+ FRONTIER_MON_SNORLAX_7, \
+ FRONTIER_MON_SNORLAX_8, \
+ FRONTIER_MON_SALAMENCE_5, \
+ FRONTIER_MON_SALAMENCE_6, \
+ FRONTIER_MON_SALAMENCE_7, \
+ FRONTIER_MON_SALAMENCE_8, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+// Identical to FRONTIER_MONS_COOLTRAINER_2C but with both latias and latios
+#define FRONTIER_MONS_GENTLEMAN_3A \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_URSARING_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_URSARING_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SNORLAX_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_URSARING_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SNORLAX_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_URSARING_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SNORLAX_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_LATIAS_1, \
+ FRONTIER_MON_LATIOS_1, \
+ FRONTIER_MON_LATIAS_2, \
+ FRONTIER_MON_LATIOS_2, \
+ FRONTIER_MON_LATIAS_3, \
+ FRONTIER_MON_LATIOS_3, \
+ FRONTIER_MON_LATIAS_4, \
+ FRONTIER_MON_LATIOS_4, \
+ FRONTIER_MON_GENGAR_5, \
+ FRONTIER_MON_GENGAR_6, \
+ FRONTIER_MON_GENGAR_7, \
+ FRONTIER_MON_GENGAR_8, \
+ FRONTIER_MON_URSARING_5, \
+ FRONTIER_MON_URSARING_6, \
+ FRONTIER_MON_URSARING_7, \
+ FRONTIER_MON_URSARING_8, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ FRONTIER_MON_GARDEVOIR_5, \
+ FRONTIER_MON_GARDEVOIR_6, \
+ FRONTIER_MON_GARDEVOIR_7, \
+ FRONTIER_MON_GARDEVOIR_8, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ FRONTIER_MON_LAPRAS_5, \
+ FRONTIER_MON_LAPRAS_6, \
+ FRONTIER_MON_LAPRAS_7, \
+ FRONTIER_MON_LAPRAS_8, \
+ FRONTIER_MON_SNORLAX_5, \
+ FRONTIER_MON_SNORLAX_6, \
+ FRONTIER_MON_SNORLAX_7, \
+ FRONTIER_MON_SNORLAX_8, \
+ FRONTIER_MON_SALAMENCE_5, \
+ FRONTIER_MON_SALAMENCE_6, \
+ FRONTIER_MON_SALAMENCE_7, \
+ FRONTIER_MON_SALAMENCE_8, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+// Identical to FRONTIER_MONS_COOLTRAINER_2D but with both latias and latios
+#define FRONTIER_MONS_GENTLEMAN_3B \
+ FRONTIER_MON_ARTICUNO_1, \
+ FRONTIER_MON_ZAPDOS_1, \
+ FRONTIER_MON_MOLTRES_1, \
+ FRONTIER_MON_RAIKOU_1, \
+ FRONTIER_MON_ENTEI_1, \
+ FRONTIER_MON_SUICUNE_1, \
+ FRONTIER_MON_REGIROCK_1, \
+ FRONTIER_MON_REGICE_1, \
+ FRONTIER_MON_REGISTEEL_1, \
+ FRONTIER_MON_LATIAS_1, \
+ FRONTIER_MON_LATIOS_1, \
+ FRONTIER_MON_ARTICUNO_2, \
+ FRONTIER_MON_ZAPDOS_2, \
+ FRONTIER_MON_MOLTRES_2, \
+ FRONTIER_MON_RAIKOU_2, \
+ FRONTIER_MON_ENTEI_2, \
+ FRONTIER_MON_SUICUNE_2, \
+ FRONTIER_MON_REGIROCK_2, \
+ FRONTIER_MON_REGICE_2, \
+ FRONTIER_MON_REGISTEEL_2, \
+ FRONTIER_MON_LATIAS_2, \
+ FRONTIER_MON_LATIOS_2, \
+ FRONTIER_MON_ARTICUNO_3, \
+ FRONTIER_MON_ZAPDOS_3, \
+ FRONTIER_MON_MOLTRES_3, \
+ FRONTIER_MON_RAIKOU_3, \
+ FRONTIER_MON_ENTEI_3, \
+ FRONTIER_MON_SUICUNE_3, \
+ FRONTIER_MON_REGIROCK_3, \
+ FRONTIER_MON_REGICE_3, \
+ FRONTIER_MON_REGISTEEL_3, \
+ FRONTIER_MON_LATIAS_3, \
+ FRONTIER_MON_LATIOS_3, \
+ FRONTIER_MON_ARTICUNO_4, \
+ FRONTIER_MON_ZAPDOS_4, \
+ FRONTIER_MON_MOLTRES_4, \
+ FRONTIER_MON_RAIKOU_4, \
+ FRONTIER_MON_ENTEI_4, \
+ FRONTIER_MON_SUICUNE_4, \
+ FRONTIER_MON_REGIROCK_4, \
+ FRONTIER_MON_REGICE_4, \
+ FRONTIER_MON_REGISTEEL_4, \
+ FRONTIER_MON_LATIAS_4, \
+ FRONTIER_MON_LATIOS_4, \
+ FRONTIER_MON_REGIROCK_5, \
+ FRONTIER_MON_REGIROCK_6, \
+ FRONTIER_MON_REGICE_5, \
+ FRONTIER_MON_REGICE_6, \
+ FRONTIER_MON_REGISTEEL_5, \
+ FRONTIER_MON_REGISTEEL_6, \
+ FRONTIER_MON_LATIAS_5, \
+ FRONTIER_MON_LATIAS_6, \
+ FRONTIER_MON_LATIAS_7, \
+ FRONTIER_MON_LATIAS_8, \
+ FRONTIER_MON_LATIOS_5, \
+ FRONTIER_MON_LATIOS_6, \
+ FRONTIER_MON_LATIOS_7, \
+ FRONTIER_MON_LATIOS_8, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ FRONTIER_MON_ARTICUNO_5, \
+ FRONTIER_MON_ARTICUNO_6, \
+ FRONTIER_MON_ZAPDOS_5, \
+ FRONTIER_MON_ZAPDOS_6, \
+ FRONTIER_MON_MOLTRES_5, \
+ FRONTIER_MON_MOLTRES_6, \
+ FRONTIER_MON_RAIKOU_5, \
+ FRONTIER_MON_RAIKOU_6, \
+ FRONTIER_MON_ENTEI_5, \
+ FRONTIER_MON_ENTEI_6, \
+ FRONTIER_MON_SUICUNE_5, \
+ FRONTIER_MON_SUICUNE_6, \
+ -1
+
+#define FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3 \
+ FRONTIER_MON_SNEASEL_2, \
+ FRONTIER_MON_CLOYSTER_2, \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_DEWGONG_2, \
+ FRONTIER_MON_GLALIE_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_DEWGONG_3, \
+ FRONTIER_MON_GLALIE_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_GOLDUCK_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_VAPOREON_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_GLALIE_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_GOLDUCK_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ FRONTIER_MON_LAPRAS_5, \
+ FRONTIER_MON_LAPRAS_6, \
+ FRONTIER_MON_LAPRAS_7, \
+ FRONTIER_MON_LAPRAS_8, \
+ -1
+
+#define FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3 \
+ FRONTIER_MON_SNEASEL_2, \
+ FRONTIER_MON_CLOYSTER_2, \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_WHISCASH_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_GOLDUCK_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_VAPOREON_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_LANTURN_2, \
+ FRONTIER_MON_WHISCASH_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_DEWGONG_2, \
+ FRONTIER_MON_GLALIE_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_GOLDUCK_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_VAPOREON_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_DEWGONG_3, \
+ FRONTIER_MON_GLALIE_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_GLALIE_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ FRONTIER_MON_LAPRAS_5, \
+ FRONTIER_MON_LAPRAS_6, \
+ FRONTIER_MON_LAPRAS_7, \
+ FRONTIER_MON_LAPRAS_8, \
+ -1
+
+#define FRONTIER_MONS_BUG_MANIAC_4 \
+ FRONTIER_MON_SHEDINJA, \
+ FRONTIER_MON_NINJASK_1, \
+ FRONTIER_MON_PARASECT_2, \
+ FRONTIER_MON_MASQUERAIN_2, \
+ FRONTIER_MON_VENOMOTH_2, \
+ FRONTIER_MON_NINJASK_2, \
+ FRONTIER_MON_SCYTHER_2, \
+ FRONTIER_MON_PINSIR_2, \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_FORRETRESS_4, \
+ FRONTIER_MON_ARMALDO_4, \
+ FRONTIER_MON_SCIZOR_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ -1
+
+#define FRONTIER_MONS_FISHERMAN_3 \
+ FRONTIER_MON_SEAKING_2, \
+ FRONTIER_MON_SHARPEDO_2, \
+ FRONTIER_MON_MANTINE_2, \
+ FRONTIER_MON_CRAWDAUNT_2, \
+ FRONTIER_MON_KINGLER_2, \
+ FRONTIER_MON_OCTILLERY_2, \
+ FRONTIER_MON_HUNTAIL_2, \
+ FRONTIER_MON_GOREBYSS_2, \
+ FRONTIER_MON_RELICANTH_2, \
+ FRONTIER_MON_CLOYSTER_2, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_WHISCASH_1, \
+ FRONTIER_MON_WAILORD_1, \
+ FRONTIER_MON_TENTACRUEL_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_LANTURN_2, \
+ FRONTIER_MON_WHISCASH_2, \
+ FRONTIER_MON_WAILORD_2, \
+ FRONTIER_MON_TENTACRUEL_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_WHISCASH_3, \
+ FRONTIER_MON_WAILORD_3, \
+ FRONTIER_MON_TENTACRUEL_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_WHISCASH_4, \
+ FRONTIER_MON_WAILORD_4, \
+ FRONTIER_MON_TENTACRUEL_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ -1
+
+#define FRONTIER_MONS_RUIN_MANIAC_4 \
+ FRONTIER_MON_FORRETRESS_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_SCIZOR_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_FORRETRESS_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_SCIZOR_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_FORRETRESS_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_SCIZOR_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_FORRETRESS_4, \
+ FRONTIER_MON_SKARMORY_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_ARMALDO_4, \
+ FRONTIER_MON_SCIZOR_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_REGIROCK_1, \
+ FRONTIER_MON_REGICE_1, \
+ FRONTIER_MON_REGISTEEL_1, \
+ FRONTIER_MON_REGIROCK_2, \
+ FRONTIER_MON_REGICE_2, \
+ FRONTIER_MON_REGISTEEL_2, \
+ FRONTIER_MON_REGIROCK_3, \
+ FRONTIER_MON_REGICE_3, \
+ FRONTIER_MON_REGISTEEL_3, \
+ FRONTIER_MON_REGIROCK_4, \
+ FRONTIER_MON_REGICE_4, \
+ FRONTIER_MON_REGISTEEL_4, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8, \
+ FRONTIER_MON_REGIROCK_5, \
+ FRONTIER_MON_REGIROCK_6, \
+ FRONTIER_MON_REGICE_5, \
+ FRONTIER_MON_REGICE_6, \
+ FRONTIER_MON_REGISTEEL_5, \
+ FRONTIER_MON_REGISTEEL_6, \
+ -1
+
+#define FRONTIER_MONS_COLLECTOR_3 \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_TYPHLOSION_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_MEGANIUM_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_SCEPTILE_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_TYPHLOSION_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_MEGANIUM_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_SCEPTILE_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_TYPHLOSION_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ -1
+
+#define FRONTIER_MONS_GUITARIST_3A \
+ FRONTIER_MON_ABSOL_2, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_RAICHU_1, \
+ FRONTIER_MON_MANECTRIC_1, \
+ FRONTIER_MON_ELECTRODE_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_ELECTABUZZ_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_LANTURN_2, \
+ FRONTIER_MON_RAICHU_2, \
+ FRONTIER_MON_MANECTRIC_2, \
+ FRONTIER_MON_ELECTRODE_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_ELECTABUZZ_2, \
+ FRONTIER_MON_AMPHAROS_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_JOLTEON_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_RAICHU_3, \
+ FRONTIER_MON_MANECTRIC_3, \
+ FRONTIER_MON_ELECTRODE_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_ELECTABUZZ_3, \
+ FRONTIER_MON_AMPHAROS_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_JOLTEON_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_LANTURN_4, \
+ FRONTIER_MON_RAICHU_4, \
+ FRONTIER_MON_MANECTRIC_4, \
+ FRONTIER_MON_ELECTRODE_4, \
+ FRONTIER_MON_SHIFTRY_4, \
+ FRONTIER_MON_ELECTABUZZ_4, \
+ FRONTIER_MON_AMPHAROS_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_JOLTEON_4, \
+ FRONTIER_MON_UMBREON_4, \
+ FRONTIER_MON_ARTICUNO_1, \
+ FRONTIER_MON_ZAPDOS_1, \
+ FRONTIER_MON_MOLTRES_1, \
+ FRONTIER_MON_ARTICUNO_2, \
+ FRONTIER_MON_ZAPDOS_2, \
+ FRONTIER_MON_MOLTRES_2, \
+ FRONTIER_MON_ARTICUNO_3, \
+ FRONTIER_MON_ZAPDOS_3, \
+ FRONTIER_MON_MOLTRES_3, \
+ FRONTIER_MON_ARTICUNO_4, \
+ FRONTIER_MON_ZAPDOS_4, \
+ FRONTIER_MON_MOLTRES_4, \
+ FRONTIER_MON_ARTICUNO_5, \
+ FRONTIER_MON_ARTICUNO_6, \
+ FRONTIER_MON_ZAPDOS_5, \
+ FRONTIER_MON_ZAPDOS_6, \
+ FRONTIER_MON_MOLTRES_5, \
+ FRONTIER_MON_MOLTRES_6, \
+ -1
+
+#define FRONTIER_MONS_GUITARIST_3B \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_GRANBULL_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ FRONTIER_MON_ELECTABUZZ_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_AMPHAROS_2, \
+ FRONTIER_MON_PORYGON2_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_MANECTRIC_3, \
+ FRONTIER_MON_ELECTRODE_3, \
+ FRONTIER_MON_PORYGON2_3, \
+ FRONTIER_MON_JOLTEON_3, \
+ FRONTIER_MON_RAICHU_4, \
+ FRONTIER_MON_MANECTRIC_4, \
+ FRONTIER_MON_ELECTRODE_4, \
+ FRONTIER_MON_AMPHAROS_4, \
+ FRONTIER_MON_JOLTEON_4, \
+ FRONTIER_MON_REGICE_3, \
+ FRONTIER_MON_REGIROCK_4, \
+ FRONTIER_MON_REGICE_4, \
+ FRONTIER_MON_REGISTEEL_4, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_LATIAS_5, \
+ FRONTIER_MON_LATIAS_6, \
+ FRONTIER_MON_LATIOS_5, \
+ FRONTIER_MON_LATIOS_6, \
+ -1
+
+#define FRONTIER_MONS_BIRD_KEEPER_3 \
+ FRONTIER_MON_PIDGEOT_2, \
+ FRONTIER_MON_FEAROW_1, \
+ FRONTIER_MON_DODRIO_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_SKARMORY_1, \
+ FRONTIER_MON_ALTARIA_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_CROBAT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_SALAMENCE_1, \
+ FRONTIER_MON_FEAROW_2, \
+ FRONTIER_MON_DODRIO_2, \
+ FRONTIER_MON_SKARMORY_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_ALTARIA_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_CROBAT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_SALAMENCE_2, \
+ FRONTIER_MON_FEAROW_3, \
+ FRONTIER_MON_DODRIO_3, \
+ FRONTIER_MON_XATU_3, \
+ FRONTIER_MON_SKARMORY_3, \
+ FRONTIER_MON_ALTARIA_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_CROBAT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_SALAMENCE_3, \
+ FRONTIER_MON_FEAROW_4, \
+ FRONTIER_MON_DODRIO_4, \
+ FRONTIER_MON_XATU_4, \
+ FRONTIER_MON_SKARMORY_4, \
+ FRONTIER_MON_ALTARIA_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_CROBAT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_SALAMENCE_4, \
+ FRONTIER_MON_ARTICUNO_1, \
+ FRONTIER_MON_ZAPDOS_1, \
+ FRONTIER_MON_MOLTRES_1, \
+ FRONTIER_MON_ARTICUNO_2, \
+ FRONTIER_MON_ZAPDOS_2, \
+ FRONTIER_MON_MOLTRES_2, \
+ FRONTIER_MON_ARTICUNO_3, \
+ FRONTIER_MON_ZAPDOS_3, \
+ FRONTIER_MON_MOLTRES_3, \
+ FRONTIER_MON_ARTICUNO_4, \
+ FRONTIER_MON_ZAPDOS_4, \
+ FRONTIER_MON_MOLTRES_4, \
+ FRONTIER_MON_SALAMENCE_5, \
+ FRONTIER_MON_SALAMENCE_6, \
+ FRONTIER_MON_SALAMENCE_7, \
+ FRONTIER_MON_SALAMENCE_8, \
+ -1
+
+#define FRONTIER_MONS_SAILOR_3 \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_QUAGSIRE_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_DEWGONG_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_GOLDUCK_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_VAPOREON_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SWAMPERT_1, \
+ FRONTIER_MON_GYARADOS_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_MILOTIC_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_DEWGONG_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_GOLDUCK_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_VAPOREON_2, \
+ FRONTIER_MON_BLASTOISE_2, \
+ FRONTIER_MON_FERALIGATR_2, \
+ FRONTIER_MON_WALREIN_2, \
+ FRONTIER_MON_LAPRAS_2, \
+ FRONTIER_MON_SWAMPERT_2, \
+ FRONTIER_MON_GYARADOS_2, \
+ FRONTIER_MON_KINGDRA_2, \
+ FRONTIER_MON_MILOTIC_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_QUAGSIRE_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_DEWGONG_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_GOLDUCK_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_VAPOREON_3, \
+ FRONTIER_MON_BLASTOISE_3, \
+ FRONTIER_MON_FERALIGATR_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_LAPRAS_3, \
+ FRONTIER_MON_SWAMPERT_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_KINGDRA_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_QUAGSIRE_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_DEWGONG_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_GOLDUCK_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_BLASTOISE_4, \
+ FRONTIER_MON_FERALIGATR_4, \
+ FRONTIER_MON_WALREIN_4, \
+ FRONTIER_MON_LAPRAS_4, \
+ FRONTIER_MON_SWAMPERT_4, \
+ FRONTIER_MON_GYARADOS_4, \
+ FRONTIER_MON_KINGDRA_4, \
+ FRONTIER_MON_MILOTIC_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ FRONTIER_MON_LAPRAS_5, \
+ FRONTIER_MON_LAPRAS_6, \
+ FRONTIER_MON_LAPRAS_7, \
+ FRONTIER_MON_LAPRAS_8, \
+ -1
+
+#define FRONTIER_MONS_HIKER_3 \
+ FRONTIER_MON_DUGTRIO_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_ARMALDO_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_CLAYDOL_1, \
+ FRONTIER_MON_SHUCKLE_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_AERODACTYL_1, \
+ FRONTIER_MON_FLYGON_1, \
+ FRONTIER_MON_AGGRON_1, \
+ FRONTIER_MON_METAGROSS_1, \
+ FRONTIER_MON_DUGTRIO_2, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_ARMALDO_2, \
+ FRONTIER_MON_DONPHAN_2, \
+ FRONTIER_MON_CLAYDOL_2, \
+ FRONTIER_MON_SHUCKLE_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_AERODACTYL_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_AGGRON_2, \
+ FRONTIER_MON_METAGROSS_2, \
+ FRONTIER_MON_DUGTRIO_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_ARMALDO_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_AERODACTYL_3, \
+ FRONTIER_MON_FLYGON_3, \
+ FRONTIER_MON_AGGRON_3, \
+ FRONTIER_MON_METAGROSS_3, \
+ FRONTIER_MON_DUGTRIO_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_ARMALDO_4, \
+ FRONTIER_MON_DONPHAN_4, \
+ FRONTIER_MON_CLAYDOL_4, \
+ FRONTIER_MON_SHUCKLE_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_AERODACTYL_4, \
+ FRONTIER_MON_FLYGON_4, \
+ FRONTIER_MON_AGGRON_4, \
+ FRONTIER_MON_METAGROSS_4, \
+ FRONTIER_MON_METAGROSS_5, \
+ FRONTIER_MON_METAGROSS_6, \
+ FRONTIER_MON_METAGROSS_7, \
+ FRONTIER_MON_METAGROSS_8, \
+ FRONTIER_MON_TYRANITAR_1, \
+ FRONTIER_MON_TYRANITAR_2, \
+ FRONTIER_MON_TYRANITAR_3, \
+ FRONTIER_MON_TYRANITAR_4, \
+ FRONTIER_MON_TYRANITAR_5, \
+ FRONTIER_MON_TYRANITAR_6, \
+ FRONTIER_MON_TYRANITAR_7, \
+ FRONTIER_MON_TYRANITAR_8, \
+ FRONTIER_MON_TYRANITAR_9, \
+ FRONTIER_MON_TYRANITAR_10, \
+ -1
+
+#define FRONTIER_MONS_KINDLER_3 \
+ FRONTIER_MON_MISDREAVUS_1, \
+ FRONTIER_MON_DUSCLOPS_1, \
+ FRONTIER_MON_MAGMAR_1, \
+ FRONTIER_MON_RAPIDASH_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_HOUNDOOM_1, \
+ FRONTIER_MON_NINETALES_1, \
+ FRONTIER_MON_FLAREON_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_ARCANINE_1, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_DUSCLOPS_2, \
+ FRONTIER_MON_MAGMAR_2, \
+ FRONTIER_MON_RAPIDASH_2, \
+ FRONTIER_MON_GENGAR_2, \
+ FRONTIER_MON_HOUNDOOM_2, \
+ FRONTIER_MON_NINETALES_2, \
+ FRONTIER_MON_FLAREON_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_CHARIZARD_2, \
+ FRONTIER_MON_TYPHLOSION_2, \
+ FRONTIER_MON_ARCANINE_2, \
+ FRONTIER_MON_MISDREAVUS_3, \
+ FRONTIER_MON_DUSCLOPS_3, \
+ FRONTIER_MON_MAGMAR_3, \
+ FRONTIER_MON_RAPIDASH_3, \
+ FRONTIER_MON_GENGAR_3, \
+ FRONTIER_MON_HOUNDOOM_3, \
+ FRONTIER_MON_NINETALES_3, \
+ FRONTIER_MON_FLAREON_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_CHARIZARD_3, \
+ FRONTIER_MON_TYPHLOSION_3, \
+ FRONTIER_MON_ARCANINE_3, \
+ FRONTIER_MON_MISDREAVUS_4, \
+ FRONTIER_MON_DUSCLOPS_4, \
+ FRONTIER_MON_MAGMAR_4, \
+ FRONTIER_MON_RAPIDASH_4, \
+ FRONTIER_MON_GENGAR_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_NINETALES_4, \
+ FRONTIER_MON_FLAREON_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_CHARIZARD_4, \
+ FRONTIER_MON_TYPHLOSION_4, \
+ FRONTIER_MON_ARCANINE_4, \
+ FRONTIER_MON_GENGAR_5, \
+ FRONTIER_MON_GENGAR_6, \
+ FRONTIER_MON_GENGAR_7, \
+ FRONTIER_MON_GENGAR_8, \
+ FRONTIER_MON_DRAGONITE_1, \
+ FRONTIER_MON_DRAGONITE_2, \
+ FRONTIER_MON_DRAGONITE_3, \
+ FRONTIER_MON_DRAGONITE_4, \
+ FRONTIER_MON_DRAGONITE_5, \
+ FRONTIER_MON_DRAGONITE_6, \
+ FRONTIER_MON_DRAGONITE_7, \
+ FRONTIER_MON_DRAGONITE_8, \
+ FRONTIER_MON_DRAGONITE_9, \
+ FRONTIER_MON_DRAGONITE_10, \
+ -1
+
+#define FRONTIER_MONS_PARASOL_LADY_3 \
+ FRONTIER_MON_GLALIE_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_BLASTOISE_1, \
+ FRONTIER_MON_FERALIGATR_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_WALREIN_1, \
+ FRONTIER_MON_CHARIZARD_1, \
+ FRONTIER_MON_TYPHLOSION_1, \
+ FRONTIER_MON_MANECTRIC_2, \
+ FRONTIER_MON_ELECTRODE_2, \
+ FRONTIER_MON_EXPLOUD_2, \
+ FRONTIER_MON_ELECTABUZZ_2, \
+ FRONTIER_MON_NINETALES_2, \
+ FRONTIER_MON_PORYGON2_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_FLYGON_2, \
+ FRONTIER_MON_ARCANINE_2, \
+ FRONTIER_MON_LANTURN_3, \
+ FRONTIER_MON_RAICHU_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_RAPIDASH_3, \
+ FRONTIER_MON_CLAYDOL_3, \
+ FRONTIER_MON_GYARADOS_3, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_HOUNDOOM_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_FLAREON_4, \
+ -1
+
+// Only used by one Beauty
+#define FRONTIER_MONS_EEVEELUTIONS \
+ FRONTIER_MON_VAPOREON_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_FLAREON_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_UMBREON_1, \
+ FRONTIER_MON_VAPOREON_2, \
+ FRONTIER_MON_JOLTEON_2, \
+ FRONTIER_MON_FLAREON_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_UMBREON_2, \
+ FRONTIER_MON_VAPOREON_3, \
+ FRONTIER_MON_JOLTEON_3, \
+ FRONTIER_MON_FLAREON_3, \
+ FRONTIER_MON_ESPEON_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_VAPOREON_4, \
+ FRONTIER_MON_JOLTEON_4, \
+ FRONTIER_MON_FLAREON_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_UMBREON_4, \
+ -1
+
+#define FRONTIER_MONS_BEAUTY_2 \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_LANTURN_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_GENGAR_1, \
+ FRONTIER_MON_AMPHAROS_1, \
+ FRONTIER_MON_JOLTEON_1, \
+ FRONTIER_MON_LAPRAS_1, \
+ FRONTIER_MON_SNORLAX_1, \
+ FRONTIER_MON_KINGDRA_1, \
+ FRONTIER_MON_QUAGSIRE_2, \
+ FRONTIER_MON_MISDREAVUS_2, \
+ FRONTIER_MON_FEAROW_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_KANGASKHAN_2, \
+ FRONTIER_MON_ELECTABUZZ_2, \
+ FRONTIER_MON_MILTANK_2, \
+ FRONTIER_MON_ALTARIA_2, \
+ FRONTIER_MON_RAPIDASH_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_FLAREON_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_RAICHU_3, \
+ FRONTIER_MON_VILEPLUME_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_NINETALES_3, \
+ FRONTIER_MON_SHUCKLE_3, \
+ FRONTIER_MON_UMBREON_3, \
+ FRONTIER_MON_WALREIN_3, \
+ FRONTIER_MON_MILOTIC_3, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_URSARING_5, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_GARDEVOIR_8, \
+ FRONTIER_MON_LAPRAS_8, \
+ FRONTIER_MON_SALAMENCE_8, \
+ FRONTIER_MON_LATIAS_6, \
+ -1
+
+#define FRONTIER_MONS_AROMA_LADY_3 \
+ FRONTIER_MON_WOBBUFFET_1, \
+ FRONTIER_MON_WOBBUFFET_2, \
+ FRONTIER_MON_SUNFLORA_2, \
+ FRONTIER_MON_JUMPLUFF_2, \
+ FRONTIER_MON_TROPIUS_2, \
+ FRONTIER_MON_CACTURNE_2, \
+ FRONTIER_MON_BELLOSSOM_2, \
+ FRONTIER_MON_JYNX_1, \
+ FRONTIER_MON_MR_MIME_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_XATU_1, \
+ FRONTIER_MON_VILEPLUME_1, \
+ FRONTIER_MON_VICTREEBEL_1, \
+ FRONTIER_MON_SHIFTRY_1, \
+ FRONTIER_MON_LUDICOLO_1, \
+ FRONTIER_MON_HYPNO_1, \
+ FRONTIER_MON_ALAKAZAM_1, \
+ FRONTIER_MON_SLOWBRO_1, \
+ FRONTIER_MON_SLOWKING_1, \
+ FRONTIER_MON_CRADILY_1, \
+ FRONTIER_MON_GARDEVOIR_1, \
+ FRONTIER_MON_EXEGGUTOR_1, \
+ FRONTIER_MON_STARMIE_1, \
+ FRONTIER_MON_VENUSAUR_1, \
+ FRONTIER_MON_MEGANIUM_1, \
+ FRONTIER_MON_ESPEON_1, \
+ FRONTIER_MON_SCEPTILE_1, \
+ FRONTIER_MON_JYNX_2, \
+ FRONTIER_MON_MR_MIME_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_XATU_2, \
+ FRONTIER_MON_VILEPLUME_2, \
+ FRONTIER_MON_VICTREEBEL_2, \
+ FRONTIER_MON_SHIFTRY_2, \
+ FRONTIER_MON_LUDICOLO_2, \
+ FRONTIER_MON_HYPNO_2, \
+ FRONTIER_MON_ALAKAZAM_2, \
+ FRONTIER_MON_SLOWBRO_2, \
+ FRONTIER_MON_SLOWKING_2, \
+ FRONTIER_MON_CRADILY_2, \
+ FRONTIER_MON_GARDEVOIR_2, \
+ FRONTIER_MON_EXEGGUTOR_2, \
+ FRONTIER_MON_STARMIE_2, \
+ FRONTIER_MON_VENUSAUR_2, \
+ FRONTIER_MON_MEGANIUM_2, \
+ FRONTIER_MON_ESPEON_2, \
+ FRONTIER_MON_SCEPTILE_2, \
+ FRONTIER_MON_JYNX_3, \
+ FRONTIER_MON_MR_MIME_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_XATU_3, \
+ FRONTIER_MON_VILEPLUME_3, \
+ FRONTIER_MON_VICTREEBEL_3, \
+ FRONTIER_MON_SHIFTRY_3, \
+ FRONTIER_MON_LUDICOLO_3, \
+ FRONTIER_MON_HYPNO_3, \
+ FRONTIER_MON_ALAKAZAM_3, \
+ FRONTIER_MON_SLOWBRO_3, \
+ FRONTIER_MON_SLOWKING_3, \
+ FRONTIER_MON_CRADILY_3, \
+ FRONTIER_MON_GARDEVOIR_3, \
+ FRONTIER_MON_EXEGGUTOR_3, \
+ FRONTIER_MON_STARMIE_3, \
+ FRONTIER_MON_VENUSAUR_3, \
+ FRONTIER_MON_MEGANIUM_3, \
+ FRONTIER_MON_ESPEON_3, \
+ FRONTIER_MON_SCEPTILE_3, \
+ FRONTIER_MON_JYNX_4, \
+ FRONTIER_MON_MR_MIME_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_XATU_4, \
+ FRONTIER_MON_VILEPLUME_4, \
+ FRONTIER_MON_VICTREEBEL_4, \
+ FRONTIER_MON_SHIFTRY_4, \
+ FRONTIER_MON_LUDICOLO_4, \
+ FRONTIER_MON_HYPNO_4, \
+ FRONTIER_MON_ALAKAZAM_4, \
+ FRONTIER_MON_SLOWBRO_4, \
+ FRONTIER_MON_SLOWKING_4, \
+ FRONTIER_MON_CRADILY_4, \
+ FRONTIER_MON_GARDEVOIR_4, \
+ FRONTIER_MON_EXEGGUTOR_4, \
+ FRONTIER_MON_STARMIE_4, \
+ FRONTIER_MON_VENUSAUR_4, \
+ FRONTIER_MON_MEGANIUM_4, \
+ FRONTIER_MON_ESPEON_4, \
+ FRONTIER_MON_SCEPTILE_4, \
+ FRONTIER_MON_GARDEVOIR_5, \
+ FRONTIER_MON_GARDEVOIR_6, \
+ FRONTIER_MON_GARDEVOIR_7, \
+ FRONTIER_MON_GARDEVOIR_8, \
+ FRONTIER_MON_STARMIE_5, \
+ FRONTIER_MON_STARMIE_6, \
+ FRONTIER_MON_STARMIE_7, \
+ FRONTIER_MON_STARMIE_8, \
+ -1
+
const u16 gBattleFrontierTrainerMons_Brady[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Conner[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Bradley[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Cybil[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Rodette[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Peggy[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Keith[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Grayson[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Glenn[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Liliana[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Elise[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Zoey[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Manuel[] =
{
- 5,
- 20,
- 21,
- 25,
- 27,
- 35,
- 46,
- 47,
- 48,
- 50,
- 53,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 119,
- 121,
- 124,
- 127,
- 146,
- 147,
- 154,
- 158,
- 160,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_1
};
const u16 gBattleFrontierTrainerMons_Russ[] =
{
- 5,
- 20,
- 21,
- 25,
- 27,
- 35,
- 46,
- 47,
- 48,
- 50,
- 53,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 119,
- 121,
- 124,
- 127,
- 146,
- 147,
- 154,
- 158,
- 160,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_1
};
const u16 gBattleFrontierTrainerMons_Dustin[] =
{
- 5,
- 20,
- 21,
- 25,
- 27,
- 35,
- 46,
- 47,
- 48,
- 50,
- 53,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 119,
- 121,
- 124,
- 127,
- 146,
- 147,
- 154,
- 158,
- 160,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_1
};
const u16 gBattleFrontierTrainerMons_Tina[] =
{
- 5,
- 20,
- 21,
- 25,
- 27,
- 35,
- 46,
- 47,
- 48,
- 50,
- 53,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 119,
- 121,
- 124,
- 127,
- 146,
- 147,
- 154,
- 158,
- 160,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_1
};
const u16 gBattleFrontierTrainerMons_Gillian[] =
{
- 5,
- 20,
- 21,
- 25,
- 27,
- 35,
- 46,
- 47,
- 48,
- 50,
- 53,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 119,
- 121,
- 124,
- 127,
- 146,
- 147,
- 154,
- 158,
- 160,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_1
};
const u16 gBattleFrontierTrainerMons_Zoe[] =
{
- 5,
- 20,
- 21,
- 25,
- 27,
- 35,
- 46,
- 47,
- 48,
- 50,
- 53,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 119,
- 121,
- 124,
- 127,
- 146,
- 147,
- 154,
- 158,
- 160,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_1
};
const u16 gBattleFrontierTrainerMons_Chen[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Al[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Mitch[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Anne[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Alize[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Lauren[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Kipp[] =
{
- 5,
- 6,
- 7,
- 14,
- 19,
- 28,
- 35,
- 42,
- 45,
- 48,
- 50,
- 55,
- 59,
- 60,
- 68,
- 73,
- 83,
- 84,
- 86,
- 87,
- 90,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 106,
- 109,
- 112,
- 114,
- 121,
- -1
+ FRONTIER_MONS_TUBER_1
};
const u16 gBattleFrontierTrainerMons_Jason[] =
{
- 5,
- 6,
- 7,
- 14,
- 19,
- 28,
- 35,
- 42,
- 45,
- 48,
- 50,
- 55,
- 59,
- 60,
- 68,
- 73,
- 83,
- 84,
- 86,
- 87,
- 90,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 106,
- 109,
- 112,
- 114,
- 121,
- -1
+ FRONTIER_MONS_TUBER_1
};
const u16 gBattleFrontierTrainerMons_John[] =
{
- 5,
- 6,
- 7,
- 14,
- 19,
- 28,
- 35,
- 42,
- 45,
- 48,
- 50,
- 55,
- 59,
- 60,
- 68,
- 73,
- 83,
- 84,
- 86,
- 87,
- 90,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 106,
- 109,
- 112,
- 114,
- 121,
- -1
+ FRONTIER_MONS_TUBER_1
};
const u16 gBattleFrontierTrainerMons_Ann[] =
{
- 5,
- 6,
- 7,
- 14,
- 19,
- 28,
- 35,
- 42,
- 45,
- 48,
- 50,
- 55,
- 59,
- 60,
- 68,
- 73,
- 83,
- 84,
- 86,
- 87,
- 90,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 106,
- 109,
- 112,
- 114,
- 121,
- -1
+ FRONTIER_MONS_TUBER_1
};
const u16 gBattleFrontierTrainerMons_Eileen[] =
{
- 5,
- 6,
- 7,
- 14,
- 19,
- 28,
- 35,
- 42,
- 45,
- 48,
- 50,
- 55,
- 59,
- 60,
- 68,
- 73,
- 83,
- 84,
- 86,
- 87,
- 90,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 106,
- 109,
- 112,
- 114,
- 121,
- -1
+ FRONTIER_MONS_TUBER_1
};
const u16 gBattleFrontierTrainerMons_Carlie[] =
{
- 5,
- 6,
- 7,
- 14,
- 19,
- 28,
- 35,
- 42,
- 45,
- 48,
- 50,
- 55,
- 59,
- 60,
- 68,
- 73,
- 83,
- 84,
- 86,
- 87,
- 90,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 106,
- 109,
- 112,
- 114,
- 121,
- -1
+ FRONTIER_MONS_TUBER_1
};
const u16 gBattleFrontierTrainerMons_Gordon[] =
{
- 1,
- 13,
- 15,
- 16,
- 17,
- 22,
- 23,
- 24,
- 26,
- 32,
- 34,
- 36,
- 43,
- 50,
- 51,
- 54,
- 56,
- 68,
- 72,
- 73,
- 81,
- 82,
- 83,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 107,
- 109,
- 111,
- 113,
- 116,
- 117,
- 123,
- 124,
- 128,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 152,
- 155,
- -1
+ FRONTIER_MONS_SWIMMER_M_1
};
const u16 gBattleFrontierTrainerMons_Ayden[] =
{
- 1,
- 13,
- 15,
- 16,
- 17,
- 22,
- 23,
- 24,
- 26,
- 32,
- 34,
- 36,
- 43,
- 50,
- 51,
- 54,
- 56,
- 68,
- 72,
- 73,
- 81,
- 82,
- 83,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 107,
- 109,
- 111,
- 113,
- 116,
- 117,
- 123,
- 124,
- 128,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 152,
- 155,
- -1
+ FRONTIER_MONS_SWIMMER_M_1
};
const u16 gBattleFrontierTrainerMons_Marco[] =
{
- 1,
- 13,
- 15,
- 16,
- 17,
- 22,
- 23,
- 24,
- 26,
- 32,
- 34,
- 36,
- 43,
- 50,
- 51,
- 54,
- 56,
- 68,
- 72,
- 73,
- 81,
- 82,
- 83,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 107,
- 109,
- 111,
- 113,
- 116,
- 117,
- 123,
- 124,
- 128,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 152,
- 155,
- -1
+ FRONTIER_MONS_SWIMMER_M_1
};
const u16 gBattleFrontierTrainerMons_Cierra[] =
{
- 1,
- 13,
- 16,
- 17,
- 23,
- 24,
- 26,
- 32,
- 34,
- 36,
- 43,
- 51,
- 54,
- 56,
- 68,
- 72,
- 73,
- 76,
- 83,
- 84,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 107,
- 109,
- 111,
- 113,
- 116,
- 117,
- 118,
- 123,
- 124,
- 128,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 155,
- -1
+ FRONTIER_MONS_SWIMMER_F_1
};
const u16 gBattleFrontierTrainerMons_Marcy[] =
{
- 1,
- 13,
- 16,
- 17,
- 23,
- 24,
- 26,
- 32,
- 34,
- 36,
- 43,
- 51,
- 54,
- 56,
- 68,
- 72,
- 73,
- 76,
- 83,
- 84,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 107,
- 109,
- 111,
- 113,
- 116,
- 117,
- 118,
- 123,
- 124,
- 128,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 155,
- -1
+ FRONTIER_MONS_SWIMMER_F_1
};
const u16 gBattleFrontierTrainerMons_Kathy[] =
{
- 1,
- 13,
- 16,
- 17,
- 23,
- 24,
- 26,
- 32,
- 34,
- 36,
- 43,
- 51,
- 54,
- 56,
- 68,
- 72,
- 73,
- 76,
- 83,
- 84,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 105,
- 107,
- 109,
- 111,
- 113,
- 116,
- 117,
- 118,
- 123,
- 124,
- 128,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 155,
- -1
+ FRONTIER_MONS_SWIMMER_F_1
};
const u16 gBattleFrontierTrainerMons_Peyton[] =
{
- 84,
- 85,
- 87,
- 88,
- 89,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 105,
- 106,
- 107,
- 109,
- 112,
- 113,
- 117,
- 120,
- 121,
- 123,
- 129,
- 134,
- 142,
- 143,
- 145,
- 148,
- 149,
- 151,
- 152,
- 155,
- -1
+ FRONTIER_MONS_POKEFAN_M_1
};
const u16 gBattleFrontierTrainerMons_Julian[] =
{
- 84,
- 85,
- 87,
- 88,
- 89,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 105,
- 106,
- 107,
- 109,
- 112,
- 113,
- 117,
- 120,
- 121,
- 123,
- 129,
- 134,
- 142,
- 143,
- 145,
- 148,
- 149,
- 151,
- 152,
- 155,
- -1
+ FRONTIER_MONS_POKEFAN_M_1
};
const u16 gBattleFrontierTrainerMons_Quinn[] =
{
- 84,
- 85,
- 87,
- 88,
- 89,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 105,
- 106,
- 107,
- 109,
- 112,
- 113,
- 117,
- 120,
- 121,
- 123,
- 129,
- 134,
- 142,
- 143,
- 145,
- 148,
- 149,
- 151,
- 152,
- 155,
- -1
+ FRONTIER_MONS_POKEFAN_M_1
};
const u16 gBattleFrontierTrainerMons_Haylee[] =
{
- 1,
- 5,
- 6,
- 10,
- 13,
- 14,
- 16,
- 17,
- 18,
- 19,
- 20,
- 23,
- 24,
- 26,
- 28,
- 29,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 54,
- 56,
- 59,
- 61,
- 65,
- 66,
- 67,
- 68,
- 71,
- 72,
- 79,
- -1
+ FRONTIER_MONS_POKEFAN_F_1
};
const u16 gBattleFrontierTrainerMons_Amanda[] =
{
- 1,
- 5,
- 6,
- 10,
- 13,
- 14,
- 16,
- 17,
- 18,
- 19,
- 20,
- 23,
- 24,
- 26,
- 28,
- 29,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 54,
- 56,
- 59,
- 61,
- 65,
- 66,
- 67,
- 68,
- 71,
- 72,
- 79,
- -1
+ FRONTIER_MONS_POKEFAN_F_1
};
const u16 gBattleFrontierTrainerMons_Stacy[] =
{
- 1,
- 5,
- 6,
- 10,
- 13,
- 14,
- 16,
- 17,
- 18,
- 19,
- 20,
- 23,
- 24,
- 26,
- 28,
- 29,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 54,
- 56,
- 59,
- 61,
- 65,
- 66,
- 67,
- 68,
- 71,
- 72,
- 79,
- -1
+ FRONTIER_MONS_POKEFAN_F_1
};
+// The below 6 are the early Pkmn Breeder class trainers, which use groups from other general classes
const u16 gBattleFrontierTrainerMons_Rafael[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Oliver[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Payton[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Pamela[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Eliza[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Marisa[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Lewis[] =
{
- 2,
- 3,
- 4,
- 8,
- 9,
- 21,
- 27,
- 39,
- 40,
- 41,
- 42,
- 52,
- 57,
- 58,
- 80,
- 112,
- 132,
- 141,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_BUG_CATCHER_1_EXTRA(METAPOD, KAKUNA)
};
const u16 gBattleFrontierTrainerMons_Yoshi[] =
{
- 2,
- 3,
- 4,
- 11,
- 12,
- 21,
- 27,
- 39,
- 40,
- 41,
- 42,
- 52,
- 57,
- 58,
- 80,
- 112,
- 132,
- 141,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_BUG_CATCHER_1_EXTRA(SILCOON, CASCOON)
};
const u16 gBattleFrontierTrainerMons_Destin[] =
{
- 2,
- 3,
- 4,
- 21,
- 27,
- 39,
- 40,
- 41,
- 42,
- 52,
- 57,
- 58,
- 80,
- 112,
- 132,
- 141,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_BUG_CATCHER_1
};
const u16 gBattleFrontierTrainerMons_Keon[] =
{
- 5,
- 21,
- 25,
- 27,
- 35,
- 39,
- 40,
- 41,
- 42,
- 46,
- 47,
- 48,
- 50,
- 52,
- 53,
- 57,
- 58,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 121,
- 124,
- 127,
- 132,
- 141,
- 146,
- 147,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_NINJA_BOY_1
};
const u16 gBattleFrontierTrainerMons_Stuart[] =
{
- 5,
- 21,
- 25,
- 27,
- 35,
- 39,
- 40,
- 41,
- 42,
- 46,
- 47,
- 48,
- 50,
- 52,
- 53,
- 57,
- 58,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 121,
- 124,
- 127,
- 132,
- 141,
- 146,
- 147,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_NINJA_BOY_1
};
const u16 gBattleFrontierTrainerMons_Nestor[] =
{
- 5,
- 21,
- 25,
- 27,
- 35,
- 39,
- 40,
- 41,
- 42,
- 46,
- 47,
- 48,
- 50,
- 52,
- 53,
- 57,
- 58,
- 62,
- 63,
- 69,
- 75,
- 78,
- 79,
- 80,
- 84,
- 90,
- 92,
- 99,
- 100,
- 102,
- 106,
- 110,
- 112,
- 114,
- 121,
- 124,
- 127,
- 132,
- 141,
- 146,
- 147,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_NINJA_BOY_1
};
const u16 gBattleFrontierTrainerMons_Derrick[] =
{
- 21,
- 27,
- 29,
- 39,
- 40,
- 41,
- 42,
- 52,
- 57,
- 58,
- 61,
- 62,
- 63,
- 69,
- 80,
- 92,
- 102,
- 112,
- 125,
- 129,
- 132,
- 140,
- 141,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_BUG_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Bryson[] =
{
- 21,
- 27,
- 29,
- 39,
- 40,
- 41,
- 42,
- 52,
- 57,
- 58,
- 61,
- 62,
- 63,
- 69,
- 80,
- 92,
- 102,
- 112,
- 125,
- 129,
- 132,
- 140,
- 141,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_BUG_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Clayton[] =
{
- 21,
- 27,
- 29,
- 39,
- 40,
- 41,
- 42,
- 52,
- 57,
- 58,
- 61,
- 62,
- 63,
- 69,
- 80,
- 92,
- 102,
- 112,
- 125,
- 129,
- 132,
- 140,
- 141,
- 153,
- 154,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_BUG_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Trenton[] =
{
- 6,
- 7,
- 55,
- 60,
- 68,
- 73,
- 83,
- 86,
- 87,
- 105,
- 111,
- 116,
- 123,
- 124,
- 128,
- 134,
- 138,
- 139,
- 151,
- -1
+ FRONTIER_MONS_FISHERMAN_1
};
const u16 gBattleFrontierTrainerMons_Jenson[] =
{
- 6,
- 7,
- 55,
- 60,
- 68,
- 73,
- 83,
- 86,
- 87,
- 105,
- 111,
- 116,
- 123,
- 124,
- 128,
- 134,
- 138,
- 139,
- 151,
- -1
+ FRONTIER_MONS_FISHERMAN_1
};
const u16 gBattleFrontierTrainerMons_Wesley[] =
{
- 6,
- 7,
- 55,
- 60,
- 68,
- 73,
- 83,
- 86,
- 87,
- 105,
- 111,
- 116,
- 123,
- 124,
- 128,
- 134,
- 138,
- 139,
- 151,
- -1
+ FRONTIER_MONS_FISHERMAN_1
};
const u16 gBattleFrontierTrainerMons_Anton[] =
{
- 31,
- 39,
- 58,
- 67,
- 70,
- 74,
- 75,
- 78,
- 85,
- 104,
- 108,
- 120,
- 122,
- 133,
- 138,
- 139,
- 140,
- 141,
- 150,
- 151,
- 152,
- 156,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Lawson[] =
{
- 31,
- 39,
- 58,
- 67,
- 70,
- 74,
- 75,
- 78,
- 85,
- 104,
- 108,
- 120,
- 122,
- 133,
- 138,
- 139,
- 140,
- 141,
- 150,
- 151,
- 152,
- 156,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Sammy[] =
{
- 31,
- 39,
- 58,
- 67,
- 70,
- 74,
- 75,
- 78,
- 85,
- 104,
- 108,
- 120,
- 122,
- 133,
- 138,
- 139,
- 140,
- 141,
- 150,
- 151,
- 152,
- 156,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_1
};
+// The below 3 are the early Collector class trainers, which use groups from other general classes
const u16 gBattleFrontierTrainerMons_Arnie[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Adrian[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Tristan[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Juliana[] =
{
- 0,
- 14,
- 19,
- 28,
- 42,
- 58,
- 59,
- 67,
- 68,
- 85,
- 118,
- 120,
- 123,
- 155,
- 156,
- 193,
- -1
+ FRONTIER_MONS_PARASOL_LADY_1
};
const u16 gBattleFrontierTrainerMons_Rylee[] =
{
- 0,
- 14,
- 19,
- 28,
- 42,
- 58,
- 59,
- 67,
- 68,
- 85,
- 118,
- 120,
- 123,
- 155,
- 156,
- 193,
- -1
+ FRONTIER_MONS_PARASOL_LADY_1
};
const u16 gBattleFrontierTrainerMons_Chelsea[] =
{
- 0,
- 14,
- 19,
- 28,
- 42,
- 58,
- 59,
- 67,
- 68,
- 85,
- 118,
- 120,
- 123,
- 155,
- 156,
- 193,
- -1
+ FRONTIER_MONS_PARASOL_LADY_1
};
+// The below 3 are the early Beauty class trainers, which use groups from other general classes
const u16 gBattleFrontierTrainerMons_Danela[] =
{
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 10,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 52,
- 53,
- 54,
- 55,
- 56,
- 57,
- 58,
- 59,
- 60,
- 61,
- 62,
- 63,
- 64,
- 65,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_1
};
const u16 gBattleFrontierTrainerMons_Lizbeth[] =
{
- 66,
- 67,
- 68,
- 69,
- 70,
- 71,
- 72,
- 73,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 85,
- 86,
- 87,
- 88,
- 89,
- 90,
- 91,
- 92,
- 93,
- 94,
- 95,
- 96,
- 97,
- 98,
- 99,
- 100,
- 101,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- -1
+ FRONTIER_MONS_SCHOOL_KID_1
};
const u16 gBattleFrontierTrainerMons_Amelia[] =
{
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 124,
- 125,
- 127,
- 128,
- 129,
- 130,
- 131,
- 132,
- 133,
- 134,
- 135,
- 136,
- 137,
- 138,
- 139,
- 140,
- 141,
- 142,
- 143,
- 144,
- 145,
- 146,
- 147,
- 148,
- 149,
- 150,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 158,
- 159,
- 160,
- 161,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_1
};
const u16 gBattleFrontierTrainerMons_Jillian[] =
{
- 0,
- 5,
- 18,
- 19,
- 29,
- 35,
- 48,
- 50,
- 52,
- 61,
- 69,
- 75,
- 78,
- 84,
- 90,
- 94,
- 99,
- 100,
- 101,
- 102,
- 106,
- 112,
- 114,
- 121,
- 125,
- 129,
- 130,
- 131,
- 140,
- -1
+ FRONTIER_MONS_AROMA_LADY_1
};
const u16 gBattleFrontierTrainerMons_Abbie[] =
{
- 0,
- 5,
- 18,
- 19,
- 29,
- 35,
- 48,
- 50,
- 52,
- 61,
- 69,
- 75,
- 78,
- 84,
- 90,
- 94,
- 99,
- 100,
- 101,
- 102,
- 106,
- 112,
- 114,
- 121,
- 125,
- 129,
- 130,
- 131,
- 140,
- -1
+ FRONTIER_MONS_AROMA_LADY_1
};
const u16 gBattleFrontierTrainerMons_Briana[] =
{
- 0,
- 5,
- 18,
- 19,
- 29,
- 35,
- 48,
- 50,
- 52,
- 61,
- 69,
- 75,
- 78,
- 84,
- 90,
- 94,
- 99,
- 100,
- 101,
- 102,
- 106,
- 112,
- 114,
- 121,
- 125,
- 129,
- 130,
- 131,
- 140,
- -1
+ FRONTIER_MONS_AROMA_LADY_1
};
const u16 gBattleFrontierTrainerMons_Antonio[] =
{
- 5,
- 10,
- 20,
- 35,
- 48,
- 49,
- 50,
- 62,
- 63,
- 64,
- 66,
- 71,
- 75,
- 77,
- 78,
- 84,
- 90,
- 92,
- 99,
- 106,
- 108,
- 112,
- 114,
- 115,
- 116,
- 119,
- 121,
- 122,
- 143,
- 148,
- 152,
- -1
+ FRONTIER_MONS_GUITARIST_1
};
const u16 gBattleFrontierTrainerMons_Jaden[] =
{
- 5,
- 10,
- 20,
- 35,
- 48,
- 49,
- 50,
- 62,
- 63,
- 64,
- 66,
- 71,
- 75,
- 77,
- 78,
- 84,
- 90,
- 92,
- 99,
- 106,
- 108,
- 112,
- 114,
- 115,
- 116,
- 119,
- 121,
- 122,
- 143,
- 148,
- 152,
- -1
+ FRONTIER_MONS_GUITARIST_1
};
const u16 gBattleFrontierTrainerMons_Dakota[] =
{
- 5,
- 10,
- 20,
- 35,
- 48,
- 49,
- 50,
- 62,
- 63,
- 64,
- 66,
- 71,
- 75,
- 77,
- 78,
- 84,
- 90,
- 92,
- 99,
- 106,
- 108,
- 112,
- 114,
- 115,
- 116,
- 119,
- 121,
- 122,
- 143,
- 148,
- 152,
- -1
+ FRONTIER_MONS_GUITARIST_1
};
const u16 gBattleFrontierTrainerMons_Brayden[] =
{
- 1,
- 13,
- 16,
- 17,
- 23,
- 24,
- 25,
- 26,
- 32,
- 33,
- 34,
- 36,
- 37,
- 38,
- 43,
- 44,
- 45,
- 51,
- 54,
- 56,
- 72,
- 91,
- 93,
- 95,
- 106,
- 107,
- 113,
- 117,
- 118,
- 135,
- 137,
- 142,
- 144,
- 145,
- -1
+ FRONTIER_MONS_BIRD_KEEPER_1
};
const u16 gBattleFrontierTrainerMons_Corson[] =
{
- 1,
- 13,
- 16,
- 17,
- 23,
- 24,
- 25,
- 26,
- 32,
- 33,
- 34,
- 36,
- 37,
- 38,
- 43,
- 44,
- 45,
- 51,
- 54,
- 56,
- 72,
- 91,
- 93,
- 95,
- 106,
- 107,
- 113,
- 117,
- 118,
- 135,
- 137,
- 142,
- 144,
- 145,
- -1
+ FRONTIER_MONS_BIRD_KEEPER_1
};
const u16 gBattleFrontierTrainerMons_Trevin[] =
{
- 1,
- 13,
- 16,
- 17,
- 23,
- 24,
- 25,
- 26,
- 32,
- 33,
- 34,
- 36,
- 37,
- 38,
- 43,
- 44,
- 45,
- 51,
- 54,
- 56,
- 72,
- 91,
- 93,
- 95,
- 106,
- 107,
- 113,
- 117,
- 118,
- 135,
- 137,
- 142,
- 144,
- 145,
- -1
+ FRONTIER_MONS_BIRD_KEEPER_1
};
const u16 gBattleFrontierTrainerMons_Patrick[] =
{
- 15,
- 22,
- 50,
- 67,
- 70,
- 71,
- 74,
- 77,
- 81,
- 82,
- 83,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 104,
- 109,
- 111,
- 120,
- 124,
- 128,
- 131,
- 133,
- 134,
- 138,
- 139,
- 151,
- 155,
- 156,
- -1
+ FRONTIER_MONS_SAILOR_1
};
const u16 gBattleFrontierTrainerMons_Kaden[] =
{
- 15,
- 22,
- 50,
- 67,
- 70,
- 71,
- 74,
- 77,
- 81,
- 82,
- 83,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 104,
- 109,
- 111,
- 120,
- 124,
- 128,
- 131,
- 133,
- 134,
- 138,
- 139,
- 151,
- 155,
- 156,
- -1
+ FRONTIER_MONS_SAILOR_1
};
const u16 gBattleFrontierTrainerMons_Maxwell[] =
{
- 15,
- 22,
- 50,
- 67,
- 70,
- 71,
- 74,
- 77,
- 81,
- 82,
- 83,
- 86,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 104,
- 109,
- 111,
- 120,
- 124,
- 128,
- 131,
- 133,
- 134,
- 138,
- 139,
- 151,
- 155,
- 156,
- -1
+ FRONTIER_MONS_SAILOR_1
};
const u16 gBattleFrontierTrainerMons_Daryl[] =
{
- 15,
- 22,
- 31,
- 39,
- 50,
- 51,
- 58,
- 67,
- 70,
- 74,
- 75,
- 81,
- 82,
- 85,
- 104,
- 120,
- 122,
- 132,
- 133,
- 138,
- 139,
- 140,
- 141,
- 142,
- 144,
- 150,
- 156,
- -1
+ FRONTIER_MONS_HIKER_1
};
const u16 gBattleFrontierTrainerMons_Kenneth[] =
{
- 15,
- 22,
- 31,
- 39,
- 50,
- 51,
- 58,
- 67,
- 70,
- 74,
- 75,
- 81,
- 82,
- 85,
- 104,
- 120,
- 122,
- 132,
- 133,
- 138,
- 139,
- 140,
- 141,
- 142,
- 144,
- 150,
- 156,
- -1
+ FRONTIER_MONS_HIKER_1
};
const u16 gBattleFrontierTrainerMons_Rich[] =
{
- 15,
- 22,
- 31,
- 39,
- 50,
- 51,
- 58,
- 67,
- 70,
- 74,
- 75,
- 81,
- 82,
- 85,
- 104,
- 120,
- 122,
- 132,
- 133,
- 138,
- 139,
- 140,
- 141,
- 142,
- 144,
- 150,
- 156,
- -1
+ FRONTIER_MONS_HIKER_1
};
const u16 gBattleFrontierTrainerMons_Caden[] =
{
- 30,
- 62,
- 63,
- 65,
- 70,
- 74,
- 77,
- 78,
- 85,
- 88,
- 89,
- 95,
- 108,
- 119,
- 122,
- 133,
- 136,
- 149,
- 150,
- 152,
- 156,
- -1
+ FRONTIER_MONS_KINDLER_1
};
const u16 gBattleFrontierTrainerMons_Marlon[] =
{
- 30,
- 62,
- 63,
- 65,
- 70,
- 74,
- 77,
- 78,
- 85,
- 88,
- 89,
- 95,
- 108,
- 119,
- 122,
- 133,
- 136,
- 149,
- 150,
- 152,
- 156,
- -1
+ FRONTIER_MONS_KINDLER_1
};
const u16 gBattleFrontierTrainerMons_Nash[] =
{
- 30,
- 62,
- 63,
- 65,
- 70,
- 74,
- 77,
- 78,
- 85,
- 88,
- 89,
- 95,
- 108,
- 119,
- 122,
- 133,
- 136,
- 149,
- 150,
- 152,
- 156,
- -1
+ FRONTIER_MONS_KINDLER_1
};
const u16 gBattleFrontierTrainerMons_Robby[] =
{
- 1,
- 13,
- 15,
- 16,
- 17,
- 22,
- 23,
- 24,
- 26,
- 32,
- 33,
- 34,
- 36,
- 37,
- 38,
- 43,
- 44,
- 50,
- 51,
- 54,
- 56,
- 67,
- 70,
- 72,
- 74,
- 75,
- 81,
- 82,
- 85,
- 91,
- 93,
- 104,
- 107,
- 113,
- 117,
- 120,
- 132,
- 133,
- 135,
- 137,
- 142,
- 144,
- 145,
- 156,
- -1
+ FRONTIER_MONS_RUNNING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Reece[] =
{
- 1,
- 13,
- 15,
- 16,
- 17,
- 22,
- 23,
- 24,
- 26,
- 32,
- 33,
- 34,
- 36,
- 37,
- 38,
- 43,
- 44,
- 50,
- 51,
- 54,
- 56,
- 67,
- 70,
- 72,
- 74,
- 75,
- 81,
- 82,
- 85,
- 91,
- 93,
- 104,
- 107,
- 113,
- 117,
- 120,
- 132,
- 133,
- 135,
- 137,
- 142,
- 144,
- 145,
- 156,
- -1
+ FRONTIER_MONS_RUNNING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Kathryn[] =
{
- 1,
- 13,
- 15,
- 16,
- 17,
- 22,
- 23,
- 24,
- 26,
- 32,
- 33,
- 34,
- 36,
- 37,
- 38,
- 43,
- 44,
- 50,
- 51,
- 54,
- 56,
- 67,
- 70,
- 72,
- 74,
- 75,
- 81,
- 82,
- 85,
- 91,
- 93,
- 104,
- 107,
- 113,
- 117,
- 120,
- 132,
- 133,
- 135,
- 137,
- 142,
- 144,
- 145,
- 156,
- -1
+ FRONTIER_MONS_RUNNING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Ellen[] =
{
- 1,
- 13,
- 15,
- 16,
- 17,
- 22,
- 23,
- 24,
- 26,
- 32,
- 33,
- 34,
- 36,
- 37,
- 38,
- 43,
- 44,
- 50,
- 51,
- 54,
- 56,
- 67,
- 70,
- 72,
- 74,
- 75,
- 81,
- 82,
- 85,
- 91,
- 93,
- 104,
- 107,
- 113,
- 117,
- 120,
- 132,
- 133,
- 135,
- 137,
- 142,
- 144,
- 145,
- 156,
- -1
+ FRONTIER_MONS_RUNNING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Ramon[] =
{
- 15,
- 22,
- 50,
- 71,
- 72,
- 76,
- 77,
- 81,
- 82,
- 83,
- 84,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 107,
- 109,
- 111,
- 113,
- 117,
- 118,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 155,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Arthur[] =
{
- 15,
- 22,
- 50,
- 71,
- 72,
- 76,
- 77,
- 81,
- 82,
- 83,
- 84,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 107,
- 109,
- 111,
- 113,
- 117,
- 118,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 155,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Alondra[] =
{
- 15,
- 22,
- 50,
- 71,
- 72,
- 76,
- 77,
- 81,
- 82,
- 83,
- 84,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 107,
- 109,
- 111,
- 113,
- 117,
- 118,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 155,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Adriana[] =
{
- 15,
- 22,
- 50,
- 71,
- 72,
- 76,
- 77,
- 81,
- 82,
- 83,
- 84,
- 87,
- 96,
- 97,
- 98,
- 99,
- 103,
- 107,
- 109,
- 111,
- 113,
- 117,
- 118,
- 131,
- 134,
- 138,
- 139,
- 142,
- 144,
- 145,
- 151,
- 155,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Malik[] =
{
- 10,
- 15,
- 22,
- 49,
- 50,
- 64,
- 66,
- 71,
- 72,
- 77,
- 78,
- 81,
- 82,
- 91,
- 93,
- 107,
- 108,
- 113,
- 115,
- 117,
- 122,
- 135,
- 137,
- 142,
- 143,
- 144,
- 145,
- 148,
- 152,
- -1
+ FRONTIER_MONS_CYCLING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Jill[] =
{
- 10,
- 15,
- 22,
- 49,
- 50,
- 64,
- 66,
- 71,
- 72,
- 77,
- 78,
- 81,
- 82,
- 91,
- 93,
- 107,
- 108,
- 113,
- 115,
- 117,
- 122,
- 135,
- 137,
- 142,
- 143,
- 144,
- 145,
- 148,
- 152,
- -1
+ FRONTIER_MONS_CYCLING_TRIATHLETE_1
};
const u16 gBattleFrontierTrainerMons_Erik[] =
{
- 162,
- 164,
- 168,
- 178,
- 183,
- 184,
- 189,
- 197,
- 199,
- 200,
- 203,
- 204,
- 207,
- 210,
- 213,
- 214,
- 218,
- 220,
- 221,
- 224,
- 227,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 238,
- 240,
- 243,
- 245,
- 246,
- 250,
- 263,
- -1
+ FRONTIER_MONS_RUNNING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Yazmin[] =
{
- 162,
- 164,
- 168,
- 178,
- 183,
- 184,
- 189,
- 197,
- 199,
- 200,
- 203,
- 204,
- 207,
- 210,
- 213,
- 214,
- 218,
- 220,
- 221,
- 224,
- 227,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- 238,
- 240,
- 243,
- 245,
- 246,
- 250,
- 263,
- -1
+ FRONTIER_MONS_RUNNING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Jamal[] =
{
- 170,
- 176,
- 178,
- 182,
- 189,
- 190,
- 192,
- 196,
- 211,
- 212,
- 213,
- 219,
- 228,
- 230,
- 232,
- 233,
- 234,
- 236,
- 242,
- 245,
- 249,
- 253,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 265,
- 266,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Leslie[] =
{
- 170,
- 176,
- 178,
- 182,
- 189,
- 190,
- 192,
- 196,
- 211,
- 212,
- 213,
- 219,
- 228,
- 230,
- 232,
- 233,
- 234,
- 236,
- 242,
- 245,
- 249,
- 253,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 265,
- 266,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Dave[] =
{
- 162,
- 164,
- 168,
- 178,
- 183,
- 186,
- 187,
- 189,
- 197,
- 199,
- 200,
- 203,
- 204,
- 206,
- 207,
- 214,
- 215,
- 218,
- 220,
- 221,
- 224,
- 227,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 244,
- 246,
- 250,
- -1
+ FRONTIER_MONS_CYCLING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Carlo[] =
{
- 162,
- 164,
- 168,
- 178,
- 183,
- 186,
- 187,
- 189,
- 197,
- 199,
- 200,
- 203,
- 204,
- 206,
- 207,
- 214,
- 215,
- 218,
- 220,
- 221,
- 224,
- 227,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 244,
- 246,
- 250,
- -1
+ FRONTIER_MONS_CYCLING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Emilia[] =
{
- 162,
- 164,
- 168,
- 178,
- 183,
- 186,
- 187,
- 189,
- 197,
- 199,
- 200,
- 203,
- 204,
- 206,
- 207,
- 214,
- 215,
- 218,
- 220,
- 221,
- 224,
- 227,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 244,
- 246,
- 250,
- -1
+ FRONTIER_MONS_CYCLING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Dalia[] =
{
- 162,
- 164,
- 168,
- 178,
- 183,
- 186,
- 187,
- 189,
- 197,
- 199,
- 200,
- 203,
- 204,
- 206,
- 207,
- 214,
- 215,
- 218,
- 220,
- 221,
- 224,
- 227,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 244,
- 246,
- 250,
- -1
+ FRONTIER_MONS_CYCLING_TRIATHLETE_2
};
const u16 gBattleFrontierTrainerMons_Hitomi[] =
{
- 164,
- 166,
- 175,
- 178,
- 181,
- 189,
- 191,
- 193,
- 194,
- 195,
- 197,
- 199,
- 200,
- 202,
- 203,
- 205,
- 206,
- 207,
- 210,
- 215,
- 218,
- 220,
- 221,
- 222,
- 223,
- 225,
- 227,
- 230,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 241,
- 246,
- 247,
- 252,
- 254,
- 262,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1
};
const u16 gBattleFrontierTrainerMons_Ricardo[] =
{
- 164,
- 166,
- 175,
- 178,
- 181,
- 189,
- 191,
- 193,
- 194,
- 195,
- 197,
- 199,
- 200,
- 202,
- 203,
- 205,
- 206,
- 207,
- 210,
- 215,
- 218,
- 220,
- 221,
- 222,
- 223,
- 225,
- 227,
- 230,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 241,
- 246,
- 247,
- 252,
- 254,
- 262,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1
};
const u16 gBattleFrontierTrainerMons_Shizuka[] =
{
- 164,
- 166,
- 175,
- 178,
- 181,
- 189,
- 191,
- 193,
- 194,
- 195,
- 197,
- 199,
- 200,
- 202,
- 203,
- 205,
- 206,
- 207,
- 210,
- 215,
- 218,
- 220,
- 221,
- 222,
- 223,
- 225,
- 227,
- 230,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 241,
- 246,
- 247,
- 252,
- 254,
- 262,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1
};
const u16 gBattleFrontierTrainerMons_Joana[] =
{
- 164,
- 166,
- 175,
- 178,
- 181,
- 189,
- 191,
- 193,
- 194,
- 195,
- 197,
- 199,
- 200,
- 202,
- 203,
- 205,
- 206,
- 207,
- 210,
- 215,
- 218,
- 220,
- 221,
- 222,
- 223,
- 225,
- 227,
- 230,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 241,
- 246,
- 247,
- 252,
- 254,
- 262,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1
};
const u16 gBattleFrontierTrainerMons_Kelly[] =
{
- 164,
- 166,
- 175,
- 178,
- 181,
- 189,
- 191,
- 193,
- 194,
- 195,
- 197,
- 199,
- 200,
- 202,
- 203,
- 205,
- 206,
- 207,
- 210,
- 215,
- 218,
- 220,
- 221,
- 222,
- 223,
- 225,
- 227,
- 230,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 241,
- 246,
- 247,
- 252,
- 254,
- 262,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1
};
const u16 gBattleFrontierTrainerMons_Rayna[] =
{
- 164,
- 166,
- 175,
- 178,
- 181,
- 189,
- 191,
- 193,
- 194,
- 195,
- 197,
- 199,
- 200,
- 202,
- 203,
- 205,
- 206,
- 207,
- 210,
- 215,
- 218,
- 220,
- 221,
- 222,
- 223,
- 225,
- 227,
- 230,
- 232,
- 233,
- 234,
- 235,
- 236,
- 240,
- 241,
- 246,
- 247,
- 252,
- 254,
- 262,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_1
};
const u16 gBattleFrontierTrainerMons_Evan[] =
{
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- -1
+ FRONTIER_MONS_EXPERT_1A
};
const u16 gBattleFrontierTrainerMons_Jordan[] =
{
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- -1
+ FRONTIER_MONS_EXPERT_1B
};
const u16 gBattleFrontierTrainerMons_Joel[] =
{
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- -1
+ FRONTIER_MONS_EXPERT_1C
};
const u16 gBattleFrontierTrainerMons_Kristen[] =
{
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 174,
- 175,
- 176,
- 177,
- 178,
- 179,
- 180,
- 181,
- 182,
- 183,
- 184,
- 185,
- 186,
- 187,
- 188,
- 189,
- 190,
- 191,
- 192,
- 193,
- 194,
- 195,
- 196,
- 197,
- 198,
- 199,
- -1
+ FRONTIER_MONS_EXPERT_1A
};
const u16 gBattleFrontierTrainerMons_Selphy[] =
{
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 210,
- 211,
- 212,
- 213,
- 214,
- 215,
- 216,
- 217,
- 218,
- 219,
- 220,
- 221,
- 222,
- 223,
- 224,
- 225,
- 226,
- 227,
- 228,
- 229,
- 230,
- 231,
- 232,
- 233,
- 234,
- 235,
- 236,
- -1
+ FRONTIER_MONS_EXPERT_1B
};
const u16 gBattleFrontierTrainerMons_Chloe[] =
{
- 237,
- 238,
- 239,
- 240,
- 241,
- 242,
- 243,
- 244,
- 245,
- 246,
- 247,
- 248,
- 249,
- 250,
- 251,
- 252,
- 253,
- 254,
- 255,
- 256,
- 257,
- 258,
- 259,
- 260,
- 261,
- 262,
- 263,
- 264,
- 265,
- 266,
- -1
+ FRONTIER_MONS_EXPERT_1C
};
const u16 gBattleFrontierTrainerMons_Norton[] =
{
- 267,
- 268,
- 273,
- 274,
- 276,
- 284,
- 289,
- 290,
- 291,
- 292,
- 307,
- 308,
- 311,
- 312,
- 314,
- 317,
- 325,
- 327,
- 328,
- 329,
- 331,
- 332,
- 340,
- 342,
- 347,
- 349,
- 351,
- 352,
- 354,
- 356,
- 359,
- 363,
- 370,
- -1
+ FRONTIER_MONS_PSYCHIC_1
};
const u16 gBattleFrontierTrainerMons_Lukas[] =
{
- 267,
- 268,
- 273,
- 274,
- 276,
- 284,
- 289,
- 290,
- 291,
- 292,
- 307,
- 308,
- 311,
- 312,
- 314,
- 317,
- 325,
- 327,
- 328,
- 329,
- 331,
- 332,
- 340,
- 342,
- 347,
- 349,
- 351,
- 352,
- 354,
- 356,
- 359,
- 363,
- 370,
- -1
+ FRONTIER_MONS_PSYCHIC_1
};
const u16 gBattleFrontierTrainerMons_Zach[] =
{
- 267,
- 268,
- 273,
- 274,
- 276,
- 284,
- 289,
- 290,
- 291,
- 292,
- 307,
- 308,
- 311,
- 312,
- 314,
- 317,
- 325,
- 327,
- 328,
- 329,
- 331,
- 332,
- 340,
- 342,
- 347,
- 349,
- 351,
- 352,
- 354,
- 356,
- 359,
- 363,
- 370,
- -1
+ FRONTIER_MONS_PSYCHIC_1
};
const u16 gBattleFrontierTrainerMons_Kaitlyn[] =
{
- 267,
- 268,
- 273,
- 274,
- 276,
- 284,
- 289,
- 290,
- 291,
- 292,
- 307,
- 308,
- 311,
- 312,
- 314,
- 317,
- 325,
- 327,
- 328,
- 329,
- 331,
- 332,
- 340,
- 342,
- 347,
- 349,
- 351,
- 352,
- 354,
- 356,
- 359,
- 363,
- 370,
- -1
+ FRONTIER_MONS_PSYCHIC_1
};
const u16 gBattleFrontierTrainerMons_Breanna[] =
{
- 267,
- 268,
- 273,
- 274,
- 276,
- 284,
- 289,
- 290,
- 291,
- 292,
- 307,
- 308,
- 311,
- 312,
- 314,
- 317,
- 325,
- 327,
- 328,
- 329,
- 331,
- 332,
- 340,
- 342,
- 347,
- 349,
- 351,
- 352,
- 354,
- 356,
- 359,
- 363,
- 370,
- -1
+ FRONTIER_MONS_PSYCHIC_1
};
const u16 gBattleFrontierTrainerMons_Kendra[] =
{
- 267,
- 268,
- 273,
- 274,
- 276,
- 284,
- 289,
- 290,
- 291,
- 292,
- 307,
- 308,
- 311,
- 312,
- 314,
- 317,
- 325,
- 327,
- 328,
- 329,
- 331,
- 332,
- 340,
- 342,
- 347,
- 349,
- 351,
- 352,
- 354,
- 356,
- 359,
- 363,
- 370,
- -1
+ FRONTIER_MONS_PSYCHIC_1
};
const u16 gBattleFrontierTrainerMons_Molly[] =
{
- 268,
- 270,
- 272,
- 274,
- 282,
- 284,
- 289,
- 290,
- 303,
- 307,
- 311,
- 314,
- 317,
- 322,
- 327,
- 328,
- 331,
- 336,
- 340,
- 342,
- 344,
- 347,
- 352,
- 353,
- 354,
- 356,
- 359,
- -1
+ FRONTIER_MONS_HEX_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Jazmin[] =
{
- 268,
- 270,
- 272,
- 274,
- 282,
- 284,
- 289,
- 290,
- 303,
- 307,
- 311,
- 314,
- 317,
- 322,
- 327,
- 328,
- 331,
- 336,
- 340,
- 342,
- 344,
- 347,
- 352,
- 353,
- 354,
- 356,
- 359,
- -1
+ FRONTIER_MONS_HEX_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Kelsey[] =
{
- 268,
- 270,
- 272,
- 274,
- 282,
- 284,
- 289,
- 290,
- 303,
- 307,
- 311,
- 314,
- 317,
- 322,
- 327,
- 328,
- 331,
- 336,
- 340,
- 342,
- 344,
- 347,
- 352,
- 353,
- 354,
- 356,
- 359,
- -1
+ FRONTIER_MONS_HEX_MANIAC_1
};
const u16 gBattleFrontierTrainerMons_Jalen[] =
{
- 269,
- 271,
- 275,
- 279,
- 280,
- 281,
- 283,
- 285,
- 286,
- 287,
- 293,
- 294,
- 295,
- 300,
- 302,
- 307,
- 310,
- 311,
- 320,
- 322,
- 326,
- 330,
- 332,
- 335,
- 344,
- 345,
- 346,
- 348,
- 350,
- 353,
- 357,
- -1
+ FRONTIER_MONS_POKEMANIAC_1
};
const u16 gBattleFrontierTrainerMons_Griffen[] =
{
- 269,
- 271,
- 275,
- 279,
- 280,
- 281,
- 283,
- 285,
- 286,
- 287,
- 293,
- 294,
- 295,
- 300,
- 302,
- 307,
- 310,
- 311,
- 320,
- 322,
- 326,
- 330,
- 332,
- 335,
- 344,
- 345,
- 346,
- 348,
- 350,
- 353,
- 357,
- -1
+ FRONTIER_MONS_POKEMANIAC_1
};
const u16 gBattleFrontierTrainerMons_Xander[] =
{
- 269,
- 271,
- 275,
- 279,
- 280,
- 281,
- 283,
- 285,
- 286,
- 287,
- 293,
- 294,
- 295,
- 300,
- 302,
- 307,
- 310,
- 311,
- 320,
- 322,
- 326,
- 330,
- 332,
- 335,
- 344,
- 345,
- 346,
- 348,
- 350,
- 353,
- 357,
- -1
+ FRONTIER_MONS_POKEMANIAC_1
};
const u16 gBattleFrontierTrainerMons_Marvin[] =
{
- 267,
- 268,
- 269,
- 270,
- 271,
- 272,
- 273,
- 274,
- 275,
- 276,
- 277,
- 278,
- 279,
- 280,
- 281,
- 282,
- 283,
- 284,
- 285,
- 286,
- 287,
- 288,
- 289,
- 290,
- 291,
- 292,
- 293,
- 294,
- 295,
- 296,
- 297,
- 298,
- 299,
- 300,
- 301,
- 302,
- 303,
- 304,
- -1
+ FRONTIER_MONS_GENTLEMAN_1A
};
const u16 gBattleFrontierTrainerMons_Brennan[] =
{
- 305,
- 306,
- 307,
- 308,
- 309,
- 310,
- 311,
- 312,
- 313,
- 314,
- 315,
- 316,
- 317,
- 318,
- 319,
- 320,
- 321,
- 322,
- 323,
- 324,
- 325,
- 326,
- 327,
- 328,
- 329,
- 330,
- 331,
- 332,
- 333,
- 334,
- 335,
- 336,
- 337,
- 338,
- 339,
- 340,
- 341,
- -1
+ FRONTIER_MONS_GENTLEMAN_1B
};
const u16 gBattleFrontierTrainerMons_Baley[] =
{
- 159,
- 160,
- 161,
- 172,
- 173,
- 177,
- 198,
- 226,
- 238,
- 263,
- 264,
- 277,
- 278,
- 282,
- 303,
- 331,
- 343,
- 368,
- 369,
- -1
+ FRONTIER_MONS_BUG_MANIAC_2
};
const u16 gBattleFrontierTrainerMons_Zackary[] =
{
- 271,
- 283,
- 294,
- 295,
- 298,
- 299,
- 300,
- 311,
- 315,
- 320,
- 327,
- 328,
- 330,
- 335,
- 337,
- 338,
- 339,
- 341,
- 346,
- 364,
- 365,
- 366,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_2
};
const u16 gBattleFrontierTrainerMons_Gabriel[] =
{
- 342,
- 343,
- 344,
- 345,
- 346,
- 347,
- 348,
- 349,
- 350,
- 351,
- 352,
- 353,
- 354,
- 355,
- 356,
- 357,
- 358,
- 359,
- 360,
- 361,
- 362,
- 363,
- 364,
- 365,
- 366,
- 367,
- 368,
- 369,
- 370,
- 371,
- -1
+ FRONTIER_MONS_COLLECTOR_1
};
const u16 gBattleFrontierTrainerMons_Emily[] =
{
- 272,
- 301,
- 309,
- 330,
- 348,
- 349,
- 350,
- 359,
- 360,
- 362,
- 363,
- 365,
- -1
+ FRONTIER_MONS_PARASOL_LADY_2
};
const u16 gBattleFrontierTrainerMons_Jordyn[] =
{
- 267,
- 269,
- 270,
- 272,
- 273,
- 276,
- 279,
- 284,
- 288,
- 302,
- 304,
- 305,
- 308,
- 309,
- 312,
- 316,
- 319,
- 322,
- 323,
- 325,
- 326,
- 329,
- 331,
- 332,
- 336,
- 340,
- 344,
- 345,
- 351,
- 353,
- 355,
- -1
+ FRONTIER_MONS_BEAUTY_1
};
const u16 gBattleFrontierTrainerMons_Sofia[] =
{
- 270,
- 272,
- 274,
- 276,
- 279,
- 282,
- 285,
- 290,
- 293,
- 313,
- 314,
- 321,
- 334,
- 340,
- 348,
- 356,
- 359,
- 360,
- -1
+ FRONTIER_MONS_AROMA_LADY_2
};
const u16 gBattleFrontierTrainerMons_Braden[] =
{
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- -1
+ FRONTIER_MONS_COOLTRAINER_1A
};
const u16 gBattleFrontierTrainerMons_Kayden[] =
{
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- -1
+ FRONTIER_MONS_COOLTRAINER_1B
};
const u16 gBattleFrontierTrainerMons_Cooper[] =
{
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- -1
+ FRONTIER_MONS_COOLTRAINER_1C
};
const u16 gBattleFrontierTrainerMons_Julia[] =
{
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- -1
+ FRONTIER_MONS_COOLTRAINER_1A
};
const u16 gBattleFrontierTrainerMons_Amara[] =
{
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- -1
+ FRONTIER_MONS_COOLTRAINER_1B
};
const u16 gBattleFrontierTrainerMons_Lynn[] =
{
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- -1
+ FRONTIER_MONS_COOLTRAINER_1C
};
const u16 gBattleFrontierTrainerMons_Jovan[] =
{
- 238,
- 331,
- 343,
- 368,
- 369,
- 375,
- 376,
- 379,
- 382,
- 383,
- 389,
- 394,
- 395,
- 397,
- 398,
- 400,
- 406,
- 408,
- 411,
- 416,
- 417,
- 423,
- 424,
- 425,
- 432,
- 436,
- 438,
- 441,
- 445,
- 453,
- 460,
- 462,
- 467,
- -1
+ FRONTIER_MONS_PKMN_RANGER_1
};
const u16 gBattleFrontierTrainerMons_Dominic[] =
{
- 238,
- 331,
- 343,
- 368,
- 369,
- 375,
- 376,
- 379,
- 382,
- 383,
- 389,
- 394,
- 395,
- 397,
- 398,
- 400,
- 406,
- 408,
- 411,
- 416,
- 417,
- 423,
- 424,
- 425,
- 432,
- 436,
- 438,
- 441,
- 445,
- 453,
- 460,
- 462,
- 467,
- -1
+ FRONTIER_MONS_PKMN_RANGER_1
};
const u16 gBattleFrontierTrainerMons_Nikolas[] =
{
- 238,
- 331,
- 343,
- 368,
- 369,
- 375,
- 376,
- 379,
- 382,
- 383,
- 389,
- 394,
- 395,
- 397,
- 398,
- 400,
- 406,
- 408,
- 411,
- 416,
- 417,
- 423,
- 424,
- 425,
- 432,
- 436,
- 438,
- 441,
- 445,
- 453,
- 460,
- 462,
- 467,
- -1
+ FRONTIER_MONS_PKMN_RANGER_1
};
const u16 gBattleFrontierTrainerMons_Valeria[] =
{
- 238,
- 331,
- 343,
- 368,
- 369,
- 375,
- 376,
- 379,
- 382,
- 383,
- 389,
- 394,
- 395,
- 397,
- 398,
- 400,
- 406,
- 408,
- 411,
- 416,
- 417,
- 423,
- 424,
- 425,
- 432,
- 436,
- 438,
- 441,
- 445,
- 453,
- 460,
- 462,
- 467,
- -1
+ FRONTIER_MONS_PKMN_RANGER_1
};
const u16 gBattleFrontierTrainerMons_Delaney[] =
{
- 238,
- 331,
- 343,
- 368,
- 369,
- 375,
- 376,
- 379,
- 382,
- 383,
- 389,
- 394,
- 395,
- 397,
- 398,
- 400,
- 406,
- 408,
- 411,
- 416,
- 417,
- 423,
- 424,
- 425,
- 432,
- 436,
- 438,
- 441,
- 445,
- 453,
- 460,
- 462,
- 467,
- -1
+ FRONTIER_MONS_PKMN_RANGER_1
};
const u16 gBattleFrontierTrainerMons_Meghan[] =
{
- 238,
- 331,
- 343,
- 368,
- 369,
- 375,
- 376,
- 379,
- 382,
- 383,
- 389,
- 394,
- 395,
- 397,
- 398,
- 400,
- 406,
- 408,
- 411,
- 416,
- 417,
- 423,
- 424,
- 425,
- 432,
- 436,
- 438,
- 441,
- 445,
- 453,
- 460,
- 462,
- 467,
- -1
+ FRONTIER_MONS_PKMN_RANGER_1
};
const u16 gBattleFrontierTrainerMons_Roberto[] =
{
- 386,
- 403,
- 412,
- 413,
- 414,
- 433,
- 435,
- 440,
- 450,
- 453,
- 454,
- 456,
- 459,
- 461,
- 463,
- 464,
- 465,
- -1
+ FRONTIER_MONS_DRAGON_TAMER_1
};
const u16 gBattleFrontierTrainerMons_Damian[] =
{
- 386,
- 403,
- 412,
- 413,
- 414,
- 433,
- 435,
- 440,
- 450,
- 453,
- 454,
- 456,
- 459,
- 461,
- 463,
- 464,
- 465,
- -1
+ FRONTIER_MONS_DRAGON_TAMER_1
};
const u16 gBattleFrontierTrainerMons_Brody[] =
{
- 386,
- 403,
- 412,
- 413,
- 414,
- 433,
- 435,
- 440,
- 450,
- 453,
- 454,
- 456,
- 459,
- 461,
- 463,
- 464,
- 465,
- -1
+ FRONTIER_MONS_DRAGON_TAMER_1
};
const u16 gBattleFrontierTrainerMons_Graham[] =
{
- 386,
- 403,
- 412,
- 413,
- 414,
- 433,
- 435,
- 440,
- 450,
- 453,
- 454,
- 456,
- 459,
- 461,
- 463,
- 464,
- 465,
- -1
+ FRONTIER_MONS_DRAGON_TAMER_1
};
const u16 gBattleFrontierTrainerMons_Tylor[] =
{
- 374,
- 381,
- 382,
- 385,
- 388,
- 389,
- 391,
- 392,
- 394,
- 409,
- 411,
- 412,
- 419,
- 430,
- 432,
- 436,
- 440,
- 456,
- 460,
- 462,
- 463,
- 467,
- -1
+ FRONTIER_MONS_POKEFAN_2
};
const u16 gBattleFrontierTrainerMons_Jaren[] =
{
- 374,
- 381,
- 382,
- 385,
- 388,
- 389,
- 391,
- 392,
- 394,
- 409,
- 411,
- 412,
- 419,
- 430,
- 432,
- 436,
- 440,
- 456,
- 460,
- 462,
- 463,
- 467,
- -1
+ FRONTIER_MONS_POKEFAN_2
};
const u16 gBattleFrontierTrainerMons_Cordell[] =
{
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- -1
+ FRONTIER_MONS_PKMN_BREEDER_M_1
};
const u16 gBattleFrontierTrainerMons_Jazlyn[] =
{
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- -1
+ FRONTIER_MONS_PKMN_BREEDER_F_1
};
const u16 gBattleFrontierTrainerMons_Zachery[] =
{
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_2
};
const u16 gBattleFrontierTrainerMons_Johan[] =
{
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_2_NO_DUGTRIO
};
const u16 gBattleFrontierTrainerMons_Shea[] =
{
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_2
};
const u16 gBattleFrontierTrainerMons_Kaila[] =
{
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_2
};
const u16 gBattleFrontierTrainerMons_Isiah[] =
{
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- -1
+ FRONTIER_MONS_SCHOOL_KID_2
};
const u16 gBattleFrontierTrainerMons_Garrett[] =
{
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- -1
+ FRONTIER_MONS_SCHOOL_KID_2
};
const u16 gBattleFrontierTrainerMons_Haylie[] =
{
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- -1
+ FRONTIER_MONS_SCHOOL_KID_2
};
const u16 gBattleFrontierTrainerMons_Megan[] =
{
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- -1
+ FRONTIER_MONS_SCHOOL_KID_2
};
const u16 gBattleFrontierTrainerMons_Issac[] =
{
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_2
};
const u16 gBattleFrontierTrainerMons_Quinton[] =
{
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_2
};
const u16 gBattleFrontierTrainerMons_Salma[] =
{
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_2
};
const u16 gBattleFrontierTrainerMons_Ansley[] =
{
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- -1
+ FRONTIER_MONS_RICH_BOY_LADY_2
};
const u16 gBattleFrontierTrainerMons_Holden[] =
{
- 343,
- 368,
- 369,
- 383,
- 417,
- 423,
- 424,
- 432,
- 480,
- 481,
- 490,
- 491,
- 494,
- 496,
- 512,
- 513,
- 519,
- 520,
- 528,
- 534,
- 537,
- 541,
- 549,
- -1
+ FRONTIER_MONS_BUG_CATCHER_2
};
const u16 gBattleFrontierTrainerMons_Luca[] =
{
- 343,
- 368,
- 369,
- 383,
- 417,
- 423,
- 424,
- 432,
- 480,
- 481,
- 490,
- 491,
- 494,
- 496,
- 512,
- 513,
- 519,
- 520,
- 528,
- 534,
- 537,
- 541,
- 549,
- -1
+ FRONTIER_MONS_BUG_CATCHER_2
};
const u16 gBattleFrontierTrainerMons_Jamison[] =
{
- 282,
- 331,
- 343,
- 368,
- 369,
- 469,
- 472,
- 475,
- 476,
- 478,
- 481,
- 484,
- 490,
- 491,
- 497,
- 500,
- 501,
- 509,
- 510,
- 513,
- 516,
- 517,
- 519,
- 520,
- 524,
- 528,
- 530,
- 533,
- 534,
- 537,
- 542,
- 553,
- -1
+ FRONTIER_MONS_NINJA_BOY_2
};
const u16 gBattleFrontierTrainerMons_Gunnar[] =
{
- 282,
- 331,
- 343,
- 368,
- 369,
- 469,
- 472,
- 475,
- 476,
- 478,
- 481,
- 484,
- 490,
- 491,
- 497,
- 500,
- 501,
- 509,
- 510,
- 513,
- 516,
- 517,
- 519,
- 520,
- 524,
- 528,
- 530,
- 533,
- 534,
- 537,
- 542,
- 553,
- -1
+ FRONTIER_MONS_NINJA_BOY_2
};
const u16 gBattleFrontierTrainerMons_Craig[] =
{
- 471,
- 474,
- 475,
- 479,
- 483,
- 485,
- 488,
- 493,
- 495,
- 496,
- 502,
- 504,
- 505,
- 506,
- 507,
- 514,
- 521,
- 525,
- 530,
- 532,
- 535,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 563,
- -1
+ FRONTIER_MONS_TUBER_2
};
const u16 gBattleFrontierTrainerMons_Pierce[] =
{
- 471,
- 474,
- 475,
- 479,
- 483,
- 485,
- 488,
- 493,
- 495,
- 496,
- 502,
- 504,
- 505,
- 506,
- 507,
- 514,
- 521,
- 525,
- 530,
- 532,
- 535,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 563,
- -1
+ FRONTIER_MONS_TUBER_2
};
const u16 gBattleFrontierTrainerMons_Regina[] =
{
- 471,
- 474,
- 475,
- 479,
- 483,
- 485,
- 488,
- 493,
- 495,
- 496,
- 502,
- 504,
- 505,
- 506,
- 507,
- 514,
- 521,
- 525,
- 530,
- 532,
- 535,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 563,
- -1
+ FRONTIER_MONS_TUBER_2
};
const u16 gBattleFrontierTrainerMons_Alison[] =
{
- 471,
- 474,
- 475,
- 479,
- 483,
- 485,
- 488,
- 493,
- 495,
- 496,
- 502,
- 504,
- 505,
- 506,
- 507,
- 514,
- 521,
- 525,
- 530,
- 532,
- 535,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 563,
- -1
+ FRONTIER_MONS_TUBER_2
};
const u16 gBattleFrontierTrainerMons_Hank[] =
{
- 277,
- 278,
- 282,
- 303,
- 331,
- 343,
- 368,
- 369,
- 383,
- 417,
- 423,
- 424,
- 432,
- 481,
- 513,
- 519,
- 520,
- 528,
- 575,
- 609,
- 615,
- 616,
- 624,
- -1
+ FRONTIER_MONS_BUG_MANIAC_3
};
const u16 gBattleFrontierTrainerMons_Earl[] =
{
- 277,
- 278,
- 282,
- 303,
- 331,
- 343,
- 368,
- 369,
- 383,
- 417,
- 423,
- 424,
- 432,
- 481,
- 513,
- 519,
- 520,
- 528,
- 575,
- 609,
- 615,
- 616,
- 624,
- -1
+ FRONTIER_MONS_BUG_MANIAC_3
};
const u16 gBattleFrontierTrainerMons_Ramiro[] =
{
- 316,
- 333,
- 347,
- 350,
- 354,
- 358,
- 361,
- 362,
- 363,
- 364,
- 573,
- 576,
- 621,
- 626,
- 631,
- -1
+ FRONTIER_MONS_FISHERMAN_2
};
const u16 gBattleFrontierTrainerMons_Hunter[] =
{
- 316,
- 333,
- 347,
- 350,
- 354,
- 358,
- 361,
- 362,
- 363,
- 364,
- 573,
- 576,
- 621,
- 626,
- 631,
- -1
+ FRONTIER_MONS_FISHERMAN_2
};
const u16 gBattleFrontierTrainerMons_Aiden[] =
{
- 564,
- 575,
- 576,
- 578,
- 579,
- 580,
- 594,
- 595,
- 605,
- 606,
- 608,
- 609,
- 615,
- 619,
- 620,
- 624,
- 625,
- 627,
- 632,
- 642,
- 650,
- 658,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_3
};
const u16 gBattleFrontierTrainerMons_Xavier[] =
{
- 564,
- 575,
- 576,
- 578,
- 579,
- 580,
- 594,
- 595,
- 605,
- 606,
- 608,
- 609,
- 615,
- 619,
- 620,
- 624,
- 625,
- 627,
- 632,
- 642,
- 650,
- 658,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_3
};
const u16 gBattleFrontierTrainerMons_Clinton[] =
{
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
- 580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 588,
- 589,
- 590,
- 591,
- 592,
- 593,
- 594,
- 595,
- 596,
- 597,
- 598,
- 599,
- 600,
- 601,
- 602,
- 603,
- 604,
- 605,
- 606,
- 607,
- 608,
- 609,
- 610,
- 611,
- -1
+ FRONTIER_MONS_COLLECTOR_2
};
const u16 gBattleFrontierTrainerMons_Jesse[] =
{
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
- 580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 588,
- 589,
- 590,
- 591,
- 592,
- 593,
- 594,
- 595,
- 596,
- 597,
- 598,
- 599,
- 600,
- 601,
- 602,
- 603,
- 604,
- 605,
- 606,
- 607,
- 608,
- 609,
- 610,
- 611,
- -1
+ FRONTIER_MONS_COLLECTOR_2
};
const u16 gBattleFrontierTrainerMons_Eduardo[] =
{
- 268,
- 307,
- 317,
- 349,
- 352,
- 573,
- 583,
- 585,
- 588,
- 590,
- 599,
- 614,
- 618,
- 635,
- 639,
- -1
+ FRONTIER_MONS_GUITARIST_2
};
const u16 gBattleFrontierTrainerMons_Hal[] =
{
- 268,
- 307,
- 317,
- 349,
- 352,
- 573,
- 583,
- 585,
- 588,
- 590,
- 599,
- 614,
- 618,
- 635,
- 639,
- -1
+ FRONTIER_MONS_GUITARIST_2
};
const u16 gBattleFrontierTrainerMons_Gage[] =
{
- 289,
- 318,
- 319,
- 329,
- 355,
- 375,
- 379,
- 385,
- 386,
- 457,
- 473,
- 477,
- 482,
- 484,
- 553,
- 567,
- 571,
- 577,
- 578,
- 649,
- -1
+ FRONTIER_MONS_BIRD_KEEPER_2
};
const u16 gBattleFrontierTrainerMons_Arnold[] =
{
- 289,
- 318,
- 319,
- 329,
- 355,
- 375,
- 379,
- 385,
- 386,
- 457,
- 473,
- 477,
- 482,
- 484,
- 553,
- 567,
- 571,
- 577,
- 578,
- 649,
- -1
+ FRONTIER_MONS_BIRD_KEEPER_2
};
const u16 gBattleFrontierTrainerMons_Jarrett[] =
{
- 565,
- 573,
- 576,
- 580,
- 582,
- 584,
- 592,
- 601,
- 602,
- 610,
- 621,
- 623,
- 626,
- 631,
- 634,
- 640,
- 641,
- 644,
- 648,
- 650,
- 651,
- 653,
- 655,
- -1
+ FRONTIER_MONS_SAILOR_2
};
const u16 gBattleFrontierTrainerMons_Garett[] =
{
- 565,
- 573,
- 576,
- 580,
- 582,
- 584,
- 592,
- 601,
- 602,
- 610,
- 621,
- 623,
- 626,
- 631,
- 634,
- 640,
- 641,
- 644,
- 648,
- 650,
- 651,
- 653,
- 655,
- -1
+ FRONTIER_MONS_SAILOR_2
};
const u16 gBattleFrontierTrainerMons_Emanuel[] =
{
- 564,
- 565,
- 574,
- 579,
- 582,
- 594,
- 595,
- 605,
- 606,
- 608,
- 609,
- 616,
- 619,
- 620,
- 623,
- 624,
- 625,
- 627,
- 642,
- 643,
- -1
+ FRONTIER_MONS_HIKER_2
};
const u16 gBattleFrontierTrainerMons_Gustavo[] =
{
- 564,
- 565,
- 574,
- 579,
- 582,
- 594,
- 595,
- 605,
- 606,
- 608,
- 609,
- 616,
- 619,
- 620,
- 623,
- 624,
- 625,
- 627,
- 642,
- 643,
- -1
+ FRONTIER_MONS_HIKER_2
};
const u16 gBattleFrontierTrainerMons_Kameron[] =
{
- 568,
- 581,
- 589,
- 598,
- 600,
- 603,
- 607,
- 611,
- 617,
- 618,
- 622,
- 636,
- 643,
- 646,
- 647,
- 652,
- 654,
- 656,
- 659,
- -1
+ FRONTIER_MONS_KINDLER_2
};
const u16 gBattleFrontierTrainerMons_Alfredo[] =
{
- 568,
- 581,
- 589,
- 598,
- 600,
- 603,
- 607,
- 611,
- 617,
- 618,
- 622,
- 636,
- 643,
- 646,
- 647,
- 652,
- 654,
- 656,
- 659,
- -1
+ FRONTIER_MONS_KINDLER_2
};
const u16 gBattleFrontierTrainerMons_Ruben[] =
{
- 612,
- 613,
- 614,
- 615,
- 616,
- 617,
- 618,
- 619,
- 620,
- 621,
- 622,
- 623,
- 624,
- 625,
- 626,
- 627,
- 628,
- 629,
- 630,
- 631,
- 632,
- 633,
- 634,
- 635,
- 636,
- 637,
- 638,
- 639,
- 640,
- 641,
- 642,
- 643,
- 644,
- 645,
- 646,
- 647,
- 648,
- 649,
- 650,
- 651,
- 652,
- 653,
- 654,
- 655,
- 656,
- 657,
- 658,
- 659,
- -1
+ FRONTIER_MONS_GENTLEMAN_2
};
const u16 gBattleFrontierTrainerMons_Lamar[] =
{
- 612,
- 613,
- 614,
- 615,
- 616,
- 617,
- 618,
- 619,
- 620,
- 621,
- 622,
- 623,
- 624,
- 625,
- 626,
- 627,
- 628,
- 629,
- 630,
- 631,
- 632,
- 633,
- 634,
- 635,
- 636,
- 637,
- 638,
- 639,
- 640,
- 641,
- 642,
- 643,
- 644,
- 645,
- 646,
- 647,
- 648,
- 649,
- 650,
- 651,
- 652,
- 653,
- 654,
- 655,
- 656,
- 657,
- 658,
- 659,
- -1
+ FRONTIER_MONS_GENTLEMAN_2
};
const u16 gBattleFrontierTrainerMons_Jaxon[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_3
};
const u16 gBattleFrontierTrainerMons_Logan[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_3
};
const u16 gBattleFrontierTrainerMons_Emilee[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_3
};
const u16 gBattleFrontierTrainerMons_Josie[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- -1
+ FRONTIER_MONS_YOUNGSTER_LASS_3
};
const u16 gBattleFrontierTrainerMons_Armando[] =
{
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_2
};
const u16 gBattleFrontierTrainerMons_Skyler[] =
{
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_2
};
const u16 gBattleFrontierTrainerMons_Ruth[] =
{
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_2
};
const u16 gBattleFrontierTrainerMons_Melody[] =
{
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- -1
+ FRONTIER_MONS_CAMPER_PICNICKER_2
};
const u16 gBattleFrontierTrainerMons_Pedro[] =
{
- 347,
- 661,
- 664,
- 669,
- 672,
- 676,
- 677,
- 678,
- 680,
- 685,
- 688,
- 694,
- 696,
- 697,
- 698,
- 699,
- 706,
- 713,
- 717,
- 719,
- 722,
- 724,
- 727,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 755,
- -1
+ FRONTIER_MONS_SWIMMER_M_2
};
const u16 gBattleFrontierTrainerMons_Erick[] =
{
- 347,
- 661,
- 664,
- 669,
- 672,
- 676,
- 677,
- 678,
- 680,
- 685,
- 688,
- 694,
- 696,
- 697,
- 698,
- 699,
- 706,
- 713,
- 717,
- 719,
- 722,
- 724,
- 727,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 755,
- -1
+ FRONTIER_MONS_SWIMMER_M_2
};
const u16 gBattleFrontierTrainerMons_Elaine[] =
{
- 664,
- 665,
- 669,
- 672,
- 676,
- 677,
- 680,
- 685,
- 687,
- 688,
- 694,
- 696,
- 697,
- 698,
- 699,
- 706,
- 713,
- 717,
- 722,
- 724,
- 727,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 755,
- -1
+ FRONTIER_MONS_SWIMMER_F_2
};
const u16 gBattleFrontierTrainerMons_Joyce[] =
{
- 664,
- 665,
- 669,
- 672,
- 676,
- 677,
- 680,
- 685,
- 687,
- 688,
- 694,
- 696,
- 697,
- 698,
- 699,
- 706,
- 713,
- 717,
- 722,
- 724,
- 727,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 755,
- -1
+ FRONTIER_MONS_SWIMMER_F_2
};
const u16 gBattleFrontierTrainerMons_Todd[] =
{
- 267,
- 273,
- 305,
- 312,
- 325,
- 332,
- 352,
- 662,
- 665,
- 668,
- 669,
- 670,
- 672,
- 673,
- 676,
- 677,
- 679,
- 680,
- 682,
- 688,
- 697,
- 698,
- 699,
- 700,
- 707,
- 710,
- 718,
- 720,
- 724,
- 725,
- 728,
- 730,
- 731,
- 732,
- 734,
- 735,
- 744,
- 748,
- 750,
- 751,
- -1
+ FRONTIER_MONS_POKEFAN_3
};
const u16 gBattleFrontierTrainerMons_Gavin[] =
{
- 267,
- 273,
- 305,
- 312,
- 325,
- 332,
- 352,
- 662,
- 665,
- 668,
- 669,
- 670,
- 672,
- 673,
- 676,
- 677,
- 679,
- 680,
- 682,
- 688,
- 697,
- 698,
- 699,
- 700,
- 707,
- 710,
- 718,
- 720,
- 724,
- 725,
- 728,
- 730,
- 731,
- 732,
- 734,
- 735,
- 744,
- 748,
- 750,
- 751,
- -1
+ FRONTIER_MONS_POKEFAN_3
};
const u16 gBattleFrontierTrainerMons_Malory[] =
{
- 267,
- 273,
- 305,
- 312,
- 325,
- 332,
- 352,
- 662,
- 665,
- 668,
- 669,
- 670,
- 672,
- 673,
- 676,
- 677,
- 679,
- 680,
- 682,
- 688,
- 697,
- 698,
- 699,
- 700,
- 707,
- 710,
- 718,
- 720,
- 724,
- 725,
- 728,
- 730,
- 731,
- 732,
- 734,
- 735,
- 744,
- 748,
- 750,
- 751,
- -1
+ FRONTIER_MONS_POKEFAN_3
};
const u16 gBattleFrontierTrainerMons_Esther[] =
{
- 267,
- 273,
- 305,
- 312,
- 325,
- 332,
- 352,
- 662,
- 665,
- 668,
- 669,
- 670,
- 672,
- 673,
- 676,
- 677,
- 679,
- 680,
- 682,
- 688,
- 697,
- 698,
- 699,
- 700,
- 707,
- 710,
- 718,
- 720,
- 724,
- 725,
- 728,
- 730,
- 731,
- 732,
- 734,
- 735,
- 744,
- 748,
- 750,
- 751,
- -1
+ FRONTIER_MONS_POKEFAN_3
};
const u16 gBattleFrontierTrainerMons_Oscar[] =
{
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_PKMN_BREEDER_2
};
const u16 gBattleFrontierTrainerMons_Wilson[] =
{
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_PKMN_BREEDER_2
};
const u16 gBattleFrontierTrainerMons_Clare[] =
{
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_PKMN_BREEDER_2
};
const u16 gBattleFrontierTrainerMons_Tess[] =
{
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_PKMN_BREEDER_2
};
const u16 gBattleFrontierTrainerMons_Leon[] =
{
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 612,
- 613,
- 614,
- 615,
- 616,
- 617,
- 618,
- 619,
- 620,
- 621,
- 622,
- 623,
- 624,
- 625,
- 626,
- 627,
- 628,
- 629,
- 630,
- 631,
- 632,
- 633,
- 634,
- 635,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- -1
+ FRONTIER_MONS_COOLTRAINER_M_2A
};
const u16 gBattleFrontierTrainerMons_Alonzo[] =
{
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- 636,
- 637,
- 638,
- 639,
- 640,
- 641,
- 642,
- 643,
- 644,
- 645,
- 646,
- 647,
- 648,
- 649,
- 650,
- 651,
- 652,
- 653,
- 654,
- 655,
- 656,
- 657,
- 658,
- 659,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_COOLTRAINER_M_2B
};
const u16 gBattleFrontierTrainerMons_Vince[] =
{
- 421,
- 425,
- 431,
- 437,
- 439,
- 456,
- 460,
- 465,
- 466,
- 517,
- 521,
- 527,
- 533,
- 535,
- 552,
- 556,
- 561,
- 562,
- 613,
- 617,
- 623,
- 629,
- 631,
- 648,
- 652,
- 657,
- 658,
- 709,
- 713,
- 719,
- 725,
- 727,
- 744,
- 748,
- 753,
- 754,
- 766,
- 777,
- 788,
- 799,
- 800,
- 801,
- 802,
- 803,
- 804,
- 805,
- 806,
- 807,
- 808,
- 809,
- 810,
- 811,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 820,
- 821,
- 822,
- 823,
- 824,
- 825,
- 826,
- 827,
- 828,
- 829,
- 830,
- 831,
- 832,
- 833,
- 834,
- 835,
- 846,
- 847,
- 848,
- 849,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_COOLTRAINER_2C(LATIOS)
};
const u16 gBattleFrontierTrainerMons_Bryon[] =
{
- 756,
- 757,
- 758,
- 759,
- 760,
- 761,
- 762,
- 763,
- 764,
- 766,
- 767,
- 768,
- 769,
- 770,
- 771,
- 772,
- 773,
- 774,
- 775,
- 777,
- 778,
- 779,
- 780,
- 781,
- 782,
- 783,
- 784,
- 785,
- 786,
- 788,
- 789,
- 790,
- 791,
- 792,
- 793,
- 794,
- 795,
- 796,
- 797,
- 799,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 846,
- 847,
- 848,
- 849,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- 876,
- 877,
- 878,
- 879,
- 880,
- 881,
- -1
+ FRONTIER_MONS_COOLTRAINER_2D(LATIOS)
};
const u16 gBattleFrontierTrainerMons_Ava[] =
{
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
- 580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- -1
+ FRONTIER_MONS_COOLTRAINER_F_2A
};
const u16 gBattleFrontierTrainerMons_Miriam[] =
{
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 588,
- 589,
- 590,
- 591,
- 592,
- 593,
- 594,
- 595,
- 596,
- 597,
- 598,
- 599,
- 600,
- 601,
- 602,
- 603,
- 604,
- 605,
- 606,
- 607,
- 608,
- 609,
- 610,
- 611,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- -1
+ FRONTIER_MONS_COOLTRAINER_F_2B
};
const u16 gBattleFrontierTrainerMons_Carrie[] =
{
- 421,
- 425,
- 431,
- 437,
- 439,
- 456,
- 460,
- 465,
- 466,
- 517,
- 521,
- 527,
- 533,
- 535,
- 552,
- 556,
- 561,
- 562,
- 613,
- 617,
- 623,
- 629,
- 631,
- 648,
- 652,
- 657,
- 658,
- 709,
- 713,
- 719,
- 725,
- 727,
- 744,
- 748,
- 753,
- 754,
- 765,
- 776,
- 787,
- 798,
- 800,
- 801,
- 802,
- 803,
- 804,
- 805,
- 806,
- 807,
- 808,
- 809,
- 810,
- 811,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 820,
- 821,
- 822,
- 823,
- 824,
- 825,
- 826,
- 827,
- 828,
- 829,
- 830,
- 831,
- 832,
- 833,
- 834,
- 835,
- 842,
- 843,
- 844,
- 845,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_COOLTRAINER_2C(LATIAS)
};
const u16 gBattleFrontierTrainerMons_Gillian2[] =
{
- 756,
- 757,
- 758,
- 759,
- 760,
- 761,
- 762,
- 763,
- 764,
- 765,
- 767,
- 768,
- 769,
- 770,
- 771,
- 772,
- 773,
- 774,
- 775,
- 776,
- 778,
- 779,
- 780,
- 781,
- 782,
- 783,
- 784,
- 785,
- 786,
- 787,
- 789,
- 790,
- 791,
- 792,
- 793,
- 794,
- 795,
- 796,
- 797,
- 798,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 842,
- 843,
- 844,
- 845,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- 876,
- 877,
- 878,
- 879,
- 880,
- 881,
- -1
+ FRONTIER_MONS_COOLTRAINER_2D(LATIAS)
};
const u16 gBattleFrontierTrainerMons_Tyler[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_GENERAL_A
};
const u16 gBattleFrontierTrainerMons_Chaz[] =
{
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
- 580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 588,
- 589,
- 590,
- 591,
- 592,
- 593,
- 594,
- 595,
- 596,
- 597,
- 598,
- 599,
- 600,
- 601,
- 602,
- 603,
- 604,
- 605,
- 606,
- 607,
- 608,
- 609,
- 610,
- 611,
- 612,
- 613,
- 614,
- 615,
- 616,
- 617,
- 618,
- 619,
- 620,
- 621,
- 622,
- 623,
- 624,
- 625,
- 626,
- 627,
- 628,
- 629,
- 630,
- 631,
- 632,
- 633,
- 634,
- 635,
- 636,
- 637,
- 638,
- 639,
- 640,
- 641,
- 642,
- 643,
- 644,
- 645,
- 646,
- 647,
- 648,
- 649,
- 650,
- 651,
- 652,
- 653,
- 654,
- 655,
- 656,
- 657,
- 658,
- 659,
- -1
+ FRONTIER_MONS_GENERAL_B
};
const u16 gBattleFrontierTrainerMons_Nelson[] =
{
- 756,
- 757,
- 758,
- 759,
- 760,
- 761,
- 762,
- 763,
- 764,
- 766,
- 767,
- 768,
- 769,
- 770,
- 771,
- 772,
- 773,
- 774,
- 775,
- 777,
- 778,
- 779,
- 780,
- 781,
- 782,
- 783,
- 784,
- 785,
- 786,
- 788,
- 789,
- 790,
- 791,
- 792,
- 793,
- 794,
- 795,
- 796,
- 797,
- 799,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 846,
- 847,
- 848,
- 849,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- 876,
- 877,
- 878,
- 879,
- 880,
- 881,
- -1
+ FRONTIER_MONS_COOLTRAINER_2D(LATIOS)
};
const u16 gBattleFrontierTrainerMons_Shania[] =
{
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- -1
+ FRONTIER_MONS_GENERAL_C
};
const u16 gBattleFrontierTrainerMons_Stella[] =
{
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- -1
+ FRONTIER_MONS_GENERAL_D
};
const u16 gBattleFrontierTrainerMons_Dorine[] =
{
- 756,
- 757,
- 758,
- 759,
- 760,
- 761,
- 762,
- 763,
- 764,
- 765,
- 767,
- 768,
- 769,
- 770,
- 771,
- 772,
- 773,
- 774,
- 775,
- 776,
- 778,
- 779,
- 780,
- 781,
- 782,
- 783,
- 784,
- 785,
- 786,
- 787,
- 789,
- 790,
- 791,
- 792,
- 793,
- 794,
- 795,
- 796,
- 797,
- 798,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 842,
- 843,
- 844,
- 845,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- 876,
- 877,
- 878,
- 879,
- 880,
- 881,
- -1
+ FRONTIER_MONS_COOLTRAINER_2D(LATIAS)
};
const u16 gBattleFrontierTrainerMons_Maddox[] =
{
- 403,
- 412,
- 413,
- 414,
- 433,
- 435,
- 440,
- 450,
- 454,
- 456,
- 459,
- 461,
- 463,
- 465,
- 499,
- 508,
- 509,
- 510,
- 529,
- 531,
- 536,
- 546,
- 550,
- 552,
- 555,
- 557,
- 559,
- 561,
- 595,
- 604,
- 605,
- 606,
- 625,
- 627,
- 632,
- 642,
- 646,
- 648,
- 651,
- 653,
- 655,
- 657,
- 691,
- 700,
- 701,
- 702,
- 721,
- 723,
- 728,
- 738,
- 742,
- 744,
- 747,
- 749,
- 751,
- 753,
- 765,
- 766,
- 776,
- 777,
- 787,
- 788,
- 798,
- 799,
- 828,
- 829,
- 830,
- 831,
- 842,
- 843,
- 844,
- 845,
- 846,
- 847,
- 848,
- 849,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_DRAGON_TAMER_2
};
const u16 gBattleFrontierTrainerMons_Davin[] =
{
- 403,
- 412,
- 413,
- 414,
- 433,
- 435,
- 440,
- 450,
- 454,
- 456,
- 459,
- 461,
- 463,
- 465,
- 499,
- 508,
- 509,
- 510,
- 529,
- 531,
- 536,
- 546,
- 550,
- 552,
- 555,
- 557,
- 559,
- 561,
- 595,
- 604,
- 605,
- 606,
- 625,
- 627,
- 632,
- 642,
- 646,
- 648,
- 651,
- 653,
- 655,
- 657,
- 691,
- 700,
- 701,
- 702,
- 721,
- 723,
- 728,
- 738,
- 742,
- 744,
- 747,
- 749,
- 751,
- 753,
- 765,
- 766,
- 776,
- 777,
- 787,
- 788,
- 798,
- 799,
- 828,
- 829,
- 830,
- 831,
- 842,
- 843,
- 844,
- 845,
- 846,
- 847,
- 848,
- 849,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_DRAGON_TAMER_2
};
const u16 gBattleFrontierTrainerMons_Trevon[] =
{
- 403,
- 412,
- 413,
- 414,
- 433,
- 435,
- 440,
- 450,
- 454,
- 456,
- 459,
- 461,
- 463,
- 465,
- 499,
- 508,
- 509,
- 510,
- 529,
- 531,
- 536,
- 546,
- 550,
- 552,
- 555,
- 557,
- 559,
- 561,
- 595,
- 604,
- 605,
- 606,
- 625,
- 627,
- 632,
- 642,
- 646,
- 648,
- 651,
- 653,
- 655,
- 657,
- 691,
- 700,
- 701,
- 702,
- 721,
- 723,
- 728,
- 738,
- 742,
- 744,
- 747,
- 749,
- 751,
- 753,
- 765,
- 766,
- 776,
- 777,
- 787,
- 788,
- 798,
- 799,
- 828,
- 829,
- 830,
- 831,
- 842,
- 843,
- 844,
- 845,
- 846,
- 847,
- 848,
- 849,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_DRAGON_TAMER_2
};
const u16 gBattleFrontierTrainerMons_Mateo[] =
{
- 373,
- 382,
- 390,
- 402,
- 403,
- 416,
- 417,
- 424,
- 431,
- 432,
- 435,
- 450,
- 451,
- 469,
- 480,
- 486,
- 498,
- 499,
- 512,
- 513,
- 520,
- 527,
- 528,
- 531,
- 546,
- 547,
- 565,
- 574,
- 582,
- 594,
- 595,
- 608,
- 609,
- 616,
- 623,
- 624,
- 627,
- 642,
- 643,
- 661,
- 670,
- 678,
- 690,
- 691,
- 704,
- 705,
- 712,
- 719,
- 720,
- 723,
- 738,
- 739,
- 808,
- 809,
- 810,
- 811,
- -1
+ FRONTIER_MONS_BLACK_BELT_2A
};
const u16 gBattleFrontierTrainerMons_Bret[] =
{
- 373,
- 382,
- 390,
- 415,
- 419,
- 424,
- 426,
- 430,
- 431,
- 444,
- 451,
- 454,
- 455,
- 464,
- 469,
- 480,
- 486,
- 511,
- 515,
- 520,
- 522,
- 526,
- 527,
- 540,
- 547,
- 550,
- 551,
- 560,
- 565,
- 574,
- 582,
- 607,
- 611,
- 616,
- 618,
- 622,
- 623,
- 636,
- 643,
- 646,
- 647,
- 656,
- 661,
- 670,
- 678,
- 703,
- 707,
- 712,
- 714,
- 718,
- 719,
- 732,
- 739,
- 742,
- 743,
- 752,
- 808,
- 809,
- 810,
- 811,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B
};
const u16 gBattleFrontierTrainerMons_Raul[] =
{
- 373,
- 382,
- 383,
- 386,
- 390,
- 423,
- 424,
- 431,
- 433,
- 450,
- 451,
- 466,
- 469,
- 480,
- 481,
- 482,
- 486,
- 519,
- 520,
- 527,
- 529,
- 546,
- 547,
- 562,
- 565,
- 574,
- 575,
- 578,
- 582,
- 615,
- 616,
- 623,
- 625,
- 642,
- 643,
- 658,
- 661,
- 670,
- 671,
- 674,
- 678,
- 711,
- 712,
- 719,
- 721,
- 738,
- 739,
- 754,
- 808,
- 809,
- 810,
- 811,
- 832,
- 833,
- 834,
- 835,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C
};
const u16 gBattleFrontierTrainerMons_Kay[] =
{
- 373,
- 382,
- 387,
- 390,
- 402,
- 403,
- 413,
- 414,
- 424,
- 427,
- 431,
- 433,
- 451,
- 469,
- 470,
- 480,
- 486,
- 498,
- 499,
- 509,
- 510,
- 520,
- 523,
- 527,
- 529,
- 547,
- 565,
- 574,
- 579,
- 582,
- 594,
- 595,
- 605,
- 606,
- 616,
- 619,
- 623,
- 625,
- 643,
- 661,
- 670,
- 675,
- 678,
- 690,
- 691,
- 701,
- 702,
- 712,
- 715,
- 719,
- 721,
- 739,
- 808,
- 809,
- 810,
- 811,
- -1
+ FRONTIER_MONS_BATTLE_GIRL_2A
};
const u16 gBattleFrontierTrainerMons_Elena[] =
{
- 373,
- 382,
- 390,
- 415,
- 419,
- 424,
- 426,
- 430,
- 431,
- 444,
- 451,
- 454,
- 455,
- 464,
- 469,
- 480,
- 486,
- 511,
- 515,
- 520,
- 522,
- 526,
- 527,
- 540,
- 547,
- 550,
- 551,
- 560,
- 565,
- 574,
- 582,
- 607,
- 611,
- 616,
- 618,
- 622,
- 623,
- 636,
- 643,
- 646,
- 647,
- 656,
- 661,
- 670,
- 678,
- 703,
- 707,
- 712,
- 714,
- 718,
- 719,
- 732,
- 739,
- 742,
- 743,
- 752,
- 808,
- 809,
- 810,
- 811,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B
};
const u16 gBattleFrontierTrainerMons_Alana[] =
{
- 373,
- 382,
- 383,
- 386,
- 390,
- 423,
- 424,
- 431,
- 433,
- 450,
- 451,
- 466,
- 469,
- 480,
- 481,
- 482,
- 486,
- 519,
- 520,
- 527,
- 529,
- 546,
- 547,
- 562,
- 565,
- 574,
- 575,
- 578,
- 582,
- 615,
- 616,
- 623,
- 625,
- 642,
- 643,
- 658,
- 661,
- 670,
- 671,
- 674,
- 678,
- 711,
- 712,
- 719,
- 721,
- 738,
- 739,
- 754,
- 808,
- 809,
- 810,
- 811,
- 832,
- 833,
- 834,
- 835,
- -1
+ FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2C
};
const u16 gBattleFrontierTrainerMons_Alexas[] =
{
- 382,
- 387,
- 403,
- 423,
- 424,
- 425,
- 431,
- 433,
- 435,
- 450,
- 459,
- 461,
- 465,
- 466,
- 470,
- 480,
- 499,
- 519,
- 520,
- 521,
- 527,
- 529,
- 531,
- 546,
- 555,
- 557,
- 561,
- 562,
- 574,
- 579,
- 595,
- 615,
- 616,
- 617,
- 623,
- 625,
- 627,
- 642,
- 651,
- 653,
- 657,
- 658,
- 670,
- 675,
- 691,
- 711,
- 712,
- 713,
- 719,
- 721,
- 723,
- 738,
- 747,
- 749,
- 753,
- 754,
- 762,
- 763,
- 764,
- 773,
- 774,
- 775,
- 784,
- 785,
- 786,
- 795,
- 796,
- 797,
- 804,
- 805,
- 806,
- 807,
- 808,
- 809,
- 810,
- 811,
- 828,
- 829,
- 830,
- 831,
- 832,
- 833,
- 834,
- 835,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_EXPERT_2A(TYRANITAR)
};
const u16 gBattleFrontierTrainerMons_Weston[] =
{
- 374,
- 377,
- 404,
- 421,
- 422,
- 426,
- 437,
- 439,
- 446,
- 451,
- 453,
- 457,
- 458,
- 472,
- 475,
- 500,
- 517,
- 518,
- 522,
- 533,
- 535,
- 542,
- 547,
- 549,
- 553,
- 554,
- 566,
- 569,
- 596,
- 613,
- 614,
- 618,
- 629,
- 631,
- 638,
- 643,
- 645,
- 649,
- 650,
- 662,
- 665,
- 692,
- 709,
- 710,
- 714,
- 725,
- 727,
- 734,
- 739,
- 741,
- 745,
- 746,
- 762,
- 763,
- 764,
- 766,
- 773,
- 774,
- 775,
- 777,
- 784,
- 785,
- 786,
- 788,
- 795,
- 796,
- 797,
- 799,
- 800,
- 801,
- 802,
- 803,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 846,
- 847,
- 848,
- 849,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_EXPERT_2B(LATIOS)
};
const u16 gBattleFrontierTrainerMons_Jasper[] =
{
- 378,
- 388,
- 400,
- 409,
- 410,
- 411,
- 416,
- 429,
- 432,
- 438,
- 447,
- 452,
- 456,
- 460,
- 462,
- 463,
- 471,
- 476,
- 496,
- 505,
- 506,
- 507,
- 512,
- 525,
- 528,
- 534,
- 543,
- 548,
- 552,
- 556,
- 558,
- 559,
- 570,
- 580,
- 592,
- 601,
- 602,
- 603,
- 608,
- 621,
- 624,
- 630,
- 639,
- 644,
- 648,
- 652,
- 654,
- 655,
- 666,
- 676,
- 688,
- 697,
- 698,
- 699,
- 704,
- 717,
- 720,
- 726,
- 735,
- 740,
- 744,
- 748,
- 750,
- 751,
- 762,
- 763,
- 764,
- 773,
- 774,
- 775,
- 784,
- 785,
- 786,
- 795,
- 796,
- 797,
- 820,
- 821,
- 822,
- 823,
- 824,
- 825,
- 826,
- 827,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_EXPERT_2C(TYRANITAR)
};
const u16 gBattleFrontierTrainerMons_Nadia[] =
{
- 382,
- 387,
- 403,
- 423,
- 424,
- 425,
- 431,
- 433,
- 435,
- 450,
- 459,
- 461,
- 465,
- 466,
- 470,
- 480,
- 499,
- 519,
- 520,
- 521,
- 527,
- 529,
- 531,
- 546,
- 555,
- 557,
- 561,
- 562,
- 574,
- 579,
- 595,
- 615,
- 616,
- 617,
- 623,
- 625,
- 627,
- 642,
- 651,
- 653,
- 657,
- 658,
- 670,
- 675,
- 691,
- 711,
- 712,
- 713,
- 719,
- 721,
- 723,
- 738,
- 747,
- 749,
- 753,
- 754,
- 762,
- 763,
- 764,
- 773,
- 774,
- 775,
- 784,
- 785,
- 786,
- 795,
- 796,
- 797,
- 804,
- 805,
- 806,
- 807,
- 808,
- 809,
- 810,
- 811,
- 828,
- 829,
- 830,
- 831,
- 832,
- 833,
- 834,
- 835,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- -1
+ FRONTIER_MONS_EXPERT_2A(DRAGONITE)
};
const u16 gBattleFrontierTrainerMons_Miranda[] =
{
- 374,
- 377,
- 404,
- 421,
- 422,
- 426,
- 437,
- 439,
- 446,
- 451,
- 453,
- 457,
- 458,
- 472,
- 475,
- 500,
- 517,
- 518,
- 522,
- 533,
- 535,
- 542,
- 547,
- 549,
- 553,
- 554,
- 566,
- 569,
- 596,
- 613,
- 614,
- 618,
- 629,
- 631,
- 638,
- 643,
- 645,
- 649,
- 650,
- 662,
- 665,
- 692,
- 709,
- 710,
- 714,
- 725,
- 727,
- 734,
- 739,
- 741,
- 745,
- 746,
- 762,
- 763,
- 764,
- 765,
- 773,
- 774,
- 775,
- 776,
- 784,
- 785,
- 786,
- 787,
- 795,
- 796,
- 797,
- 798,
- 800,
- 801,
- 802,
- 803,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 842,
- 843,
- 844,
- 845,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_EXPERT_2B(LATIAS)
};
const u16 gBattleFrontierTrainerMons_Emma[] =
{
- 378,
- 388,
- 400,
- 409,
- 410,
- 411,
- 416,
- 429,
- 432,
- 438,
- 447,
- 452,
- 456,
- 460,
- 462,
- 463,
- 471,
- 476,
- 496,
- 505,
- 506,
- 507,
- 512,
- 525,
- 528,
- 534,
- 543,
- 548,
- 552,
- 556,
- 558,
- 559,
- 570,
- 580,
- 592,
- 601,
- 602,
- 603,
- 608,
- 621,
- 624,
- 630,
- 639,
- 644,
- 648,
- 652,
- 654,
- 655,
- 666,
- 676,
- 688,
- 697,
- 698,
- 699,
- 704,
- 717,
- 720,
- 726,
- 735,
- 740,
- 744,
- 748,
- 750,
- 751,
- 762,
- 763,
- 764,
- 773,
- 774,
- 775,
- 784,
- 785,
- 786,
- 795,
- 796,
- 797,
- 820,
- 821,
- 822,
- 823,
- 824,
- 825,
- 826,
- 827,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- -1
+ FRONTIER_MONS_EXPERT_2C(DRAGONITE)
};
const u16 gBattleFrontierTrainerMons_Rolando[] =
{
- 185,
- 290,
- 377,
- 380,
- 385,
- 401,
- 404,
- 409,
- 410,
- 428,
- 437,
- 438,
- 439,
- 446,
- 466,
- 475,
- 478,
- 484,
- 497,
- 500,
- 505,
- 506,
- 524,
- 533,
- 534,
- 535,
- 542,
- 562,
- 569,
- 572,
- 577,
- 593,
- 596,
- 601,
- 602,
- 620,
- 629,
- 630,
- 631,
- 638,
- 658,
- 665,
- 668,
- 673,
- 689,
- 692,
- 697,
- 698,
- 716,
- 725,
- 726,
- 727,
- 734,
- 754,
- 756,
- 757,
- 758,
- 766,
- 767,
- 768,
- 769,
- 777,
- 778,
- 779,
- 780,
- 788,
- 789,
- 790,
- 791,
- 799,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 832,
- 833,
- 834,
- 835,
- 846,
- 847,
- 848,
- 849,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- -1
+ FRONTIER_MONS_PSYCHIC_2A(LATIOS)
};
const u16 gBattleFrontierTrainerMons_Stanly[] =
{
- 185,
- 290,
- 377,
- 380,
- 385,
- 401,
- 404,
- 409,
- 410,
- 428,
- 437,
- 438,
- 439,
- 446,
- 466,
- 475,
- 478,
- 484,
- 497,
- 500,
- 505,
- 506,
- 524,
- 533,
- 534,
- 535,
- 542,
- 562,
- 569,
- 572,
- 577,
- 593,
- 596,
- 601,
- 602,
- 620,
- 629,
- 630,
- 631,
- 638,
- 658,
- 665,
- 668,
- 673,
- 689,
- 692,
- 697,
- 698,
- 716,
- 725,
- 726,
- 727,
- 734,
- 754,
- 759,
- 760,
- 761,
- 766,
- 770,
- 771,
- 772,
- 777,
- 781,
- 782,
- 783,
- 788,
- 792,
- 793,
- 794,
- 799,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 832,
- 833,
- 834,
- 835,
- 846,
- 847,
- 848,
- 849,
- 876,
- 877,
- 878,
- 879,
- 880,
- 881,
- -1
+ FRONTIER_MONS_PSYCHIC_2B(LATIOS)
};
const u16 gBattleFrontierTrainerMons_Dario[] =
{
- 185,
- 290,
- 377,
- 380,
- 385,
- 401,
- 404,
- 409,
- 410,
- 428,
- 437,
- 438,
- 439,
- 446,
- 466,
- 475,
- 478,
- 484,
- 497,
- 500,
- 505,
- 506,
- 524,
- 533,
- 534,
- 535,
- 542,
- 562,
- 569,
- 572,
- 577,
- 593,
- 596,
- 601,
- 602,
- 620,
- 629,
- 630,
- 631,
- 638,
- 658,
- 665,
- 668,
- 673,
- 689,
- 692,
- 697,
- 698,
- 716,
- 725,
- 726,
- 727,
- 734,
- 754,
- 762,
- 763,
- 764,
- 766,
- 773,
- 774,
- 775,
- 777,
- 784,
- 785,
- 786,
- 788,
- 795,
- 796,
- 797,
- 799,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 832,
- 833,
- 834,
- 835,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 846,
- 847,
- 848,
- 849,
- -1
+ FRONTIER_MONS_PSYCHIC_2C(LATIOS)
};
const u16 gBattleFrontierTrainerMons_Karlee[] =
{
- 185,
- 290,
- 377,
- 380,
- 385,
- 401,
- 404,
- 409,
- 410,
- 428,
- 437,
- 438,
- 439,
- 446,
- 466,
- 475,
- 478,
- 484,
- 497,
- 500,
- 505,
- 506,
- 524,
- 533,
- 534,
- 535,
- 542,
- 562,
- 569,
- 572,
- 577,
- 593,
- 596,
- 601,
- 602,
- 620,
- 629,
- 630,
- 631,
- 638,
- 658,
- 665,
- 668,
- 673,
- 689,
- 692,
- 697,
- 698,
- 716,
- 725,
- 726,
- 727,
- 734,
- 754,
- 756,
- 757,
- 758,
- 765,
- 767,
- 768,
- 769,
- 776,
- 778,
- 779,
- 780,
- 787,
- 789,
- 790,
- 791,
- 798,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 832,
- 833,
- 834,
- 835,
- 842,
- 843,
- 844,
- 845,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- -1
+ FRONTIER_MONS_PSYCHIC_2A(LATIAS)
};
const u16 gBattleFrontierTrainerMons_Jaylin[] =
{
- 185,
- 290,
- 377,
- 380,
- 385,
- 401,
- 404,
- 409,
- 410,
- 428,
- 437,
- 438,
- 439,
- 446,
- 466,
- 475,
- 478,
- 484,
- 497,
- 500,
- 505,
- 506,
- 524,
- 533,
- 534,
- 535,
- 542,
- 562,
- 569,
- 572,
- 577,
- 593,
- 596,
- 601,
- 602,
- 620,
- 629,
- 630,
- 631,
- 638,
- 658,
- 665,
- 668,
- 673,
- 689,
- 692,
- 697,
- 698,
- 716,
- 725,
- 726,
- 727,
- 734,
- 754,
- 759,
- 760,
- 761,
- 765,
- 770,
- 771,
- 772,
- 776,
- 781,
- 782,
- 783,
- 787,
- 792,
- 793,
- 794,
- 798,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 832,
- 833,
- 834,
- 835,
- 842,
- 843,
- 844,
- 845,
- 876,
- 877,
- 878,
- 879,
- 880,
- 881,
- -1
+ FRONTIER_MONS_PSYCHIC_2B(LATIAS)
};
const u16 gBattleFrontierTrainerMons_Ingrid[] =
{
- 185,
- 290,
- 377,
- 380,
- 385,
- 401,
- 404,
- 409,
- 410,
- 428,
- 437,
- 438,
- 439,
- 446,
- 466,
- 475,
- 478,
- 484,
- 497,
- 500,
- 505,
- 506,
- 524,
- 533,
- 534,
- 535,
- 542,
- 562,
- 569,
- 572,
- 577,
- 593,
- 596,
- 601,
- 602,
- 620,
- 629,
- 630,
- 631,
- 638,
- 658,
- 665,
- 668,
- 673,
- 689,
- 692,
- 697,
- 698,
- 716,
- 725,
- 726,
- 727,
- 734,
- 754,
- 762,
- 763,
- 764,
- 765,
- 773,
- 774,
- 775,
- 776,
- 784,
- 785,
- 786,
- 787,
- 795,
- 796,
- 797,
- 798,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 832,
- 833,
- 834,
- 835,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 842,
- 843,
- 844,
- 845,
- -1
+ FRONTIER_MONS_PSYCHIC_2C(LATIAS)
};
const u16 gBattleFrontierTrainerMons_Delilah[] =
{
- 347,
- 352,
- 374,
- 378,
- 398,
- 421,
- 426,
- 447,
- 472,
- 476,
- 494,
- 517,
- 522,
- 543,
- 566,
- 570,
- 590,
- 613,
- 618,
- 639,
- 662,
- 666,
- 686,
- 709,
- 714,
- 735,
- 800,
- 801,
- 802,
- 803,
- -1
+ FRONTIER_MONS_HEX_MANIAC_2A
};
const u16 gBattleFrontierTrainerMons_Carly[] =
{
- 344,
- 374,
- 378,
- 394,
- 395,
- 405,
- 413,
- 414,
- 420,
- 421,
- 434,
- 441,
- 457,
- 472,
- 476,
- 490,
- 491,
- 501,
- 509,
- 510,
- 516,
- 517,
- 530,
- 537,
- 553,
- 566,
- 570,
- 586,
- 587,
- 597,
- 605,
- 606,
- 612,
- 613,
- 626,
- 633,
- 649,
- 662,
- 666,
- 682,
- 683,
- 693,
- 701,
- 702,
- 708,
- 709,
- 722,
- 729,
- 745,
- 800,
- 801,
- 802,
- 803,
- -1
+ FRONTIER_MONS_HEX_MANIAC_2B
};
const u16 gBattleFrontierTrainerMons_Lexie[] =
{
- 344,
- 347,
- 352,
- 394,
- 395,
- 398,
- 405,
- 413,
- 414,
- 420,
- 421,
- 426,
- 434,
- 441,
- 447,
- 457,
- 490,
- 491,
- 494,
- 501,
- 509,
- 510,
- 516,
- 517,
- 522,
- 530,
- 537,
- 543,
- 553,
- 586,
- 587,
- 590,
- 597,
- 605,
- 606,
- 612,
- 613,
- 618,
- 626,
- 633,
- 639,
- 649,
- 682,
- 683,
- 686,
- 693,
- 701,
- 702,
- 708,
- 709,
- 714,
- 722,
- 729,
- 735,
- 745,
- 800,
- 801,
- 802,
- 803,
- -1
+ FRONTIER_MONS_HEX_MANIAC_2C
};
const u16 gBattleFrontierTrainerMons_Miller[] =
{
- 345,
- 376,
- 386,
- 387,
- 397,
- 399,
- 402,
- 403,
- 406,
- 408,
- 411,
- 413,
- 414,
- 425,
- 427,
- 429,
- 433,
- 435,
- 440,
- 441,
- 445,
- 448,
- 449,
- 450,
- 452,
- 454,
- 456,
- 458,
- 459,
- 460,
- 462,
- 465,
- 466,
- 467,
- 470,
- 474,
- 482,
- 493,
- 495,
- 498,
- 499,
- 502,
- 504,
- 507,
- 509,
- 510,
- 521,
- 523,
- 525,
- 529,
- 531,
- 536,
- 537,
- 541,
- 544,
- 545,
- 546,
- 548,
- 550,
- 552,
- 554,
- 555,
- 556,
- 558,
- 561,
- 562,
- 563,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_POKEMANIAC_2A
};
const u16 gBattleFrontierTrainerMons_Marv[] =
{
- 345,
- 568,
- 578,
- 579,
- 589,
- 591,
- 594,
- 595,
- 598,
- 600,
- 603,
- 605,
- 606,
- 617,
- 619,
- 621,
- 625,
- 627,
- 632,
- 633,
- 637,
- 640,
- 641,
- 642,
- 644,
- 646,
- 648,
- 650,
- 651,
- 652,
- 654,
- 657,
- 658,
- 659,
- 664,
- 674,
- 675,
- 685,
- 687,
- 690,
- 691,
- 694,
- 696,
- 699,
- 701,
- 702,
- 713,
- 715,
- 717,
- 721,
- 723,
- 728,
- 729,
- 733,
- 736,
- 737,
- 738,
- 740,
- 742,
- 744,
- 746,
- 747,
- 748,
- 750,
- 753,
- 754,
- 755,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_POKEMANIAC_2B
};
const u16 gBattleFrontierTrainerMons_Layton[] =
{
- 345,
- 425,
- 433,
- 435,
- 445,
- 450,
- 454,
- 456,
- 458,
- 459,
- 460,
- 465,
- 466,
- 521,
- 529,
- 531,
- 541,
- 546,
- 550,
- 552,
- 554,
- 555,
- 556,
- 561,
- 562,
- 617,
- 625,
- 627,
- 637,
- 642,
- 646,
- 648,
- 650,
- 651,
- 652,
- 657,
- 658,
- 713,
- 721,
- 723,
- 733,
- 738,
- 742,
- 744,
- 746,
- 747,
- 748,
- 753,
- 754,
- 804,
- 805,
- 806,
- 807,
- 820,
- 821,
- 822,
- 823,
- 824,
- 825,
- 826,
- 827,
- 828,
- 829,
- 830,
- 831,
- 832,
- 833,
- 834,
- 835,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_POKEMANIAC_2C
};
const u16 gBattleFrontierTrainerMons_Brooks[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_GENERAL_A
};
const u16 gBattleFrontierTrainerMons_Gregory[] =
{
- 421,
- 425,
- 431,
- 437,
- 439,
- 456,
- 460,
- 465,
- 466,
- 517,
- 521,
- 527,
- 533,
- 535,
- 552,
- 556,
- 561,
- 562,
- 613,
- 617,
- 623,
- 629,
- 631,
- 648,
- 652,
- 657,
- 658,
- 709,
- 713,
- 719,
- 725,
- 727,
- 744,
- 748,
- 753,
- 754,
- 765,
- 766,
- 776,
- 777,
- 787,
- 788,
- 798,
- 799,
- 800,
- 801,
- 802,
- 803,
- 804,
- 805,
- 806,
- 807,
- 808,
- 809,
- 810,
- 811,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- 820,
- 821,
- 822,
- 823,
- 824,
- 825,
- 826,
- 827,
- 828,
- 829,
- 830,
- 831,
- 832,
- 833,
- 834,
- 835,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_GENTLEMAN_3A
};
const u16 gBattleFrontierTrainerMons_Reese[] =
{
- 756,
- 757,
- 758,
- 759,
- 760,
- 761,
- 762,
- 763,
- 764,
- 765,
- 766,
- 767,
- 768,
- 769,
- 770,
- 771,
- 772,
- 773,
- 774,
- 775,
- 776,
- 777,
- 778,
- 779,
- 780,
- 781,
- 782,
- 783,
- 784,
- 785,
- 786,
- 787,
- 788,
- 789,
- 790,
- 791,
- 792,
- 793,
- 794,
- 795,
- 796,
- 797,
- 798,
- 799,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- 842,
- 843,
- 844,
- 845,
- 846,
- 847,
- 848,
- 849,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- 876,
- 877,
- 878,
- 879,
- 880,
- 881,
- -1
+ FRONTIER_MONS_GENTLEMAN_3B
};
const u16 gBattleFrontierTrainerMons_Mason[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_GENERAL_A
};
const u16 gBattleFrontierTrainerMons_Toby[] =
{
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
- 580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 588,
- 589,
- 590,
- 591,
- 592,
- 593,
- 594,
- 595,
- 596,
- 597,
- 598,
- 599,
- 600,
- 601,
- 602,
- 603,
- 604,
- 605,
- 606,
- 607,
- 608,
- 609,
- 610,
- 611,
- 612,
- 613,
- 614,
- 615,
- 616,
- 617,
- 618,
- 619,
- 620,
- 621,
- 622,
- 623,
- 624,
- 625,
- 626,
- 627,
- 628,
- 629,
- 630,
- 631,
- 632,
- 633,
- 634,
- 635,
- 636,
- 637,
- 638,
- 639,
- 640,
- 641,
- 642,
- 643,
- 644,
- 645,
- 646,
- 647,
- 648,
- 649,
- 650,
- 651,
- 652,
- 653,
- 654,
- 655,
- 656,
- 657,
- 658,
- 659,
- -1
+ FRONTIER_MONS_GENERAL_B
};
const u16 gBattleFrontierTrainerMons_Dorothy[] =
{
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- -1
+ FRONTIER_MONS_GENERAL_C
};
const u16 gBattleFrontierTrainerMons_Piper[] =
{
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- -1
+ FRONTIER_MONS_GENERAL_D
};
const u16 gBattleFrontierTrainerMons_Finn[] =
{
- 317,
- 371,
- 373,
- 377,
- 390,
- 392,
- 399,
- 431,
- 452,
- 456,
- 469,
- 475,
- 486,
- 488,
- 495,
- 527,
- 548,
- 552,
- 565,
- 569,
- 573,
- 576,
- 580,
- 582,
- 584,
- 591,
- 592,
- 601,
- 602,
- 610,
- 621,
- 623,
- 626,
- 631,
- 634,
- 640,
- 641,
- 644,
- 648,
- 650,
- 651,
- 653,
- 655,
- 661,
- 665,
- 669,
- 672,
- 676,
- 678,
- 680,
- 687,
- 688,
- 697,
- 698,
- 706,
- 717,
- 719,
- 722,
- 727,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 749,
- 751,
- 808,
- 809,
- 810,
- 811,
- 816,
- 817,
- 818,
- 819,
- 820,
- 821,
- 822,
- 823,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3
};
const u16 gBattleFrontierTrainerMons_Samir[] =
{
- 317,
- 371,
- 373,
- 377,
- 390,
- 392,
- 399,
- 431,
- 452,
- 456,
- 469,
- 475,
- 486,
- 488,
- 495,
- 527,
- 548,
- 552,
- 565,
- 569,
- 573,
- 576,
- 580,
- 582,
- 584,
- 591,
- 592,
- 601,
- 602,
- 610,
- 621,
- 623,
- 626,
- 631,
- 634,
- 640,
- 641,
- 644,
- 648,
- 650,
- 651,
- 653,
- 655,
- 661,
- 665,
- 669,
- 672,
- 676,
- 678,
- 680,
- 687,
- 688,
- 697,
- 698,
- 706,
- 717,
- 719,
- 722,
- 727,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 749,
- 751,
- 808,
- 809,
- 810,
- 811,
- 816,
- 817,
- 818,
- 819,
- 820,
- 821,
- 822,
- 823,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_M_3
};
const u16 gBattleFrontierTrainerMons_Fiona[] =
{
- 317,
- 371,
- 373,
- 377,
- 381,
- 384,
- 388,
- 390,
- 392,
- 399,
- 400,
- 409,
- 410,
- 418,
- 429,
- 431,
- 434,
- 439,
- 442,
- 448,
- 449,
- 452,
- 456,
- 458,
- 459,
- 461,
- 463,
- 469,
- 471,
- 475,
- 479,
- 483,
- 486,
- 488,
- 495,
- 496,
- 505,
- 506,
- 514,
- 525,
- 527,
- 530,
- 535,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 557,
- 559,
- 565,
- 569,
- 582,
- 584,
- 591,
- 623,
- 644,
- 648,
- 661,
- 665,
- 678,
- 680,
- 687,
- 719,
- 740,
- 744,
- 808,
- 809,
- 810,
- 811,
- 816,
- 817,
- 818,
- 819,
- 820,
- 821,
- 822,
- 823,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3
};
const u16 gBattleFrontierTrainerMons_Gloria[] =
{
- 317,
- 371,
- 373,
- 377,
- 381,
- 384,
- 388,
- 390,
- 392,
- 399,
- 400,
- 409,
- 410,
- 418,
- 429,
- 431,
- 434,
- 439,
- 442,
- 448,
- 449,
- 452,
- 456,
- 458,
- 459,
- 461,
- 463,
- 469,
- 471,
- 475,
- 479,
- 483,
- 486,
- 488,
- 495,
- 496,
- 505,
- 506,
- 514,
- 525,
- 527,
- 530,
- 535,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 557,
- 559,
- 565,
- 569,
- 582,
- 584,
- 591,
- 623,
- 644,
- 648,
- 661,
- 665,
- 678,
- 680,
- 687,
- 719,
- 740,
- 744,
- 808,
- 809,
- 810,
- 811,
- 816,
- 817,
- 818,
- 819,
- 820,
- 821,
- 822,
- 823,
- -1
+ FRONTIER_MONS_SWIMMING_TRIATHLETE_F_3
};
const u16 gBattleFrontierTrainerMons_Nico[] =
{
- 660,
- 661,
- 662,
- 663,
- 664,
- 665,
- 666,
- 667,
- 668,
- 669,
- 670,
- 671,
- 672,
- 673,
- 674,
- 675,
- 676,
- 677,
- 678,
- 679,
- 680,
- 681,
- 682,
- 683,
- 684,
- 685,
- 686,
- 687,
- 688,
- 689,
- 690,
- 691,
- 692,
- 693,
- 694,
- 695,
- 696,
- 697,
- 698,
- 699,
- 700,
- 701,
- 702,
- 703,
- 704,
- 705,
- 706,
- 707,
- 708,
- 709,
- 710,
- 711,
- 712,
- 713,
- 714,
- 715,
- 716,
- 717,
- 718,
- 719,
- 720,
- 721,
- 722,
- 723,
- 724,
- 725,
- 726,
- 727,
- 728,
- 729,
- 730,
- 731,
- 732,
- 733,
- 734,
- 735,
- 736,
- 737,
- 738,
- 739,
- 740,
- 741,
- 742,
- 743,
- 744,
- 745,
- 746,
- 747,
- 748,
- 749,
- 750,
- 751,
- 752,
- 753,
- 754,
- 755,
- -1
+ FRONTIER_MONS_GENERAL_A
};
const u16 gBattleFrontierTrainerMons_Jeremy[] =
{
- 564,
- 565,
- 566,
- 567,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
- 580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 588,
- 589,
- 590,
- 591,
- 592,
- 593,
- 594,
- 595,
- 596,
- 597,
- 598,
- 599,
- 600,
- 601,
- 602,
- 603,
- 604,
- 605,
- 606,
- 607,
- 608,
- 609,
- 610,
- 611,
- 612,
- 613,
- 614,
- 615,
- 616,
- 617,
- 618,
- 619,
- 620,
- 621,
- 622,
- 623,
- 624,
- 625,
- 626,
- 627,
- 628,
- 629,
- 630,
- 631,
- 632,
- 633,
- 634,
- 635,
- 636,
- 637,
- 638,
- 639,
- 640,
- 641,
- 642,
- 643,
- 644,
- 645,
- 646,
- 647,
- 648,
- 649,
- 650,
- 651,
- 652,
- 653,
- 654,
- 655,
- 656,
- 657,
- 658,
- 659,
- -1
+ FRONTIER_MONS_GENERAL_B
};
const u16 gBattleFrontierTrainerMons_Caitlin[] =
{
- 468,
- 469,
- 470,
- 471,
- 472,
- 473,
- 474,
- 475,
- 476,
- 477,
- 478,
- 479,
- 480,
- 481,
- 482,
- 483,
- 484,
- 485,
- 486,
- 487,
- 488,
- 489,
- 490,
- 491,
- 492,
- 493,
- 494,
- 495,
- 496,
- 497,
- 498,
- 499,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505,
- 506,
- 507,
- 508,
- 509,
- 510,
- 511,
- 512,
- 513,
- 514,
- 515,
- 516,
- 517,
- 518,
- 519,
- 520,
- 521,
- 522,
- 523,
- 524,
- 525,
- 526,
- 527,
- 528,
- 529,
- 530,
- 531,
- 532,
- 533,
- 534,
- 535,
- 536,
- 537,
- 538,
- 539,
- 540,
- 541,
- 542,
- 543,
- 544,
- 545,
- 546,
- 547,
- 548,
- 549,
- 550,
- 551,
- 552,
- 553,
- 554,
- 555,
- 556,
- 557,
- 558,
- 559,
- 560,
- 561,
- 562,
- 563,
- -1
+ FRONTIER_MONS_GENERAL_C
};
const u16 gBattleFrontierTrainerMons_Reena[] =
{
- 372,
- 373,
- 374,
- 375,
- 376,
- 377,
- 378,
- 379,
- 380,
- 381,
- 382,
- 383,
- 384,
- 385,
- 386,
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 412,
- 413,
- 414,
- 415,
- 416,
- 417,
- 418,
- 419,
- 420,
- 421,
- 422,
- 423,
- 424,
- 425,
- 426,
- 427,
- 428,
- 429,
- 430,
- 431,
- 432,
- 433,
- 434,
- 435,
- 436,
- 437,
- 438,
- 439,
- 440,
- 441,
- 442,
- 443,
- 444,
- 445,
- 446,
- 447,
- 448,
- 449,
- 450,
- 451,
- 452,
- 453,
- 454,
- 455,
- 456,
- 457,
- 458,
- 459,
- 460,
- 461,
- 462,
- 463,
- 464,
- 465,
- 466,
- 467,
- -1
+ FRONTIER_MONS_GENERAL_D
};
const u16 gBattleFrontierTrainerMons_Avery[] =
{
- 21,
- 238,
- 282,
- 303,
- 331,
- 343,
- 368,
- 369,
- 383,
- 417,
- 423,
- 424,
- 432,
- 481,
- 513,
- 519,
- 520,
- 528,
- 575,
- 609,
- 615,
- 616,
- 624,
- 671,
- 705,
- 711,
- 712,
- 720,
- -1
+ FRONTIER_MONS_BUG_MANIAC_4
};
const u16 gBattleFrontierTrainerMons_Liam[] =
{
- 21,
- 238,
- 282,
- 303,
- 331,
- 343,
- 368,
- 369,
- 383,
- 417,
- 423,
- 424,
- 432,
- 481,
- 513,
- 519,
- 520,
- 528,
- 575,
- 609,
- 615,
- 616,
- 624,
- 671,
- 705,
- 711,
- 712,
- 720,
- -1
+ FRONTIER_MONS_BUG_MANIAC_4
};
const u16 gBattleFrontierTrainerMons_Theo[] =
{
- 333,
- 347,
- 350,
- 354,
- 358,
- 361,
- 362,
- 363,
- 364,
- 371,
- 381,
- 384,
- 429,
- 434,
- 439,
- 479,
- 483,
- 525,
- 530,
- 535,
- 573,
- 576,
- 621,
- 626,
- 631,
- 669,
- 672,
- 717,
- 722,
- 727,
- 816,
- 817,
- 818,
- 819,
- -1
+ FRONTIER_MONS_FISHERMAN_3
};
const u16 gBattleFrontierTrainerMons_Bailey[] =
{
- 333,
- 347,
- 350,
- 354,
- 358,
- 361,
- 362,
- 363,
- 364,
- 371,
- 381,
- 384,
- 429,
- 434,
- 439,
- 479,
- 483,
- 525,
- 530,
- 535,
- 573,
- 576,
- 621,
- 626,
- 631,
- 669,
- 672,
- 717,
- 722,
- 727,
- 816,
- 817,
- 818,
- 819,
- -1
+ FRONTIER_MONS_FISHERMAN_3
};
const u16 gBattleFrontierTrainerMons_Hugo[] =
{
- 383,
- 386,
- 402,
- 403,
- 416,
- 417,
- 423,
- 432,
- 433,
- 435,
- 450,
- 466,
- 481,
- 482,
- 498,
- 499,
- 512,
- 513,
- 519,
- 528,
- 529,
- 531,
- 546,
- 562,
- 575,
- 578,
- 594,
- 595,
- 608,
- 609,
- 615,
- 624,
- 625,
- 627,
- 642,
- 658,
- 671,
- 674,
- 690,
- 691,
- 704,
- 705,
- 711,
- 720,
- 721,
- 723,
- 738,
- 754,
- 762,
- 763,
- 764,
- 773,
- 774,
- 775,
- 784,
- 785,
- 786,
- 795,
- 796,
- 797,
- 832,
- 833,
- 834,
- 835,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_4
};
const u16 gBattleFrontierTrainerMons_Bryce[] =
{
- 383,
- 386,
- 402,
- 403,
- 416,
- 417,
- 423,
- 432,
- 433,
- 435,
- 450,
- 466,
- 481,
- 482,
- 498,
- 499,
- 512,
- 513,
- 519,
- 528,
- 529,
- 531,
- 546,
- 562,
- 575,
- 578,
- 594,
- 595,
- 608,
- 609,
- 615,
- 624,
- 625,
- 627,
- 642,
- 658,
- 671,
- 674,
- 690,
- 691,
- 704,
- 705,
- 711,
- 720,
- 721,
- 723,
- 738,
- 754,
- 762,
- 763,
- 764,
- 773,
- 774,
- 775,
- 784,
- 785,
- 786,
- 795,
- 796,
- 797,
- 832,
- 833,
- 834,
- 835,
- 836,
- 837,
- 838,
- 839,
- 840,
- 841,
- -1
+ FRONTIER_MONS_RUIN_MANIAC_4
};
const u16 gBattleFrontierTrainerMons_Gideon[] =
{
- 441,
- 445,
- 448,
- 449,
- 451,
- 453,
- 454,
- 455,
- 458,
- 537,
- 541,
- 544,
- 545,
- 547,
- 549,
- 550,
- 551,
- 554,
- 633,
- 637,
- 640,
- 641,
- 643,
- 645,
- 646,
- 647,
- 650,
- 729,
- 733,
- 736,
- 737,
- 739,
- 741,
- 742,
- 743,
- 746,
- -1
+ FRONTIER_MONS_COLLECTOR_3
};
const u16 gBattleFrontierTrainerMons_Triston[] =
{
- 441,
- 445,
- 448,
- 449,
- 451,
- 453,
- 454,
- 455,
- 458,
- 537,
- 541,
- 544,
- 545,
- 547,
- 549,
- 550,
- 551,
- 554,
- 633,
- 637,
- 640,
- 641,
- 643,
- 645,
- 646,
- 647,
- 650,
- 729,
- 733,
- 736,
- 737,
- 739,
- 741,
- 742,
- 743,
- 746,
- -1
+ FRONTIER_MONS_COLLECTOR_3
};
const u16 gBattleFrontierTrainerMons_Charles[] =
{
- 352,
- 381,
- 391,
- 393,
- 396,
- 398,
- 407,
- 422,
- 426,
- 443,
- 447,
- 479,
- 487,
- 489,
- 492,
- 494,
- 503,
- 518,
- 522,
- 539,
- 543,
- 573,
- 583,
- 585,
- 588,
- 590,
- 599,
- 614,
- 618,
- 635,
- 639,
- 669,
- 679,
- 681,
- 684,
- 686,
- 695,
- 710,
- 714,
- 731,
- 735,
- 756,
- 757,
- 758,
- 767,
- 768,
- 769,
- 778,
- 779,
- 780,
- 789,
- 790,
- 791,
- 870,
- 871,
- 872,
- 873,
- 874,
- 875,
- -1
+ FRONTIER_MONS_GUITARIST_3A
};
const u16 gBattleFrontierTrainerMons_Raymond[] =
{
- 374,
- 376,
- 381,
- 404,
- 407,
- 422,
- 439,
- 443,
- 459,
- 472,
- 500,
- 506,
- 507,
- 518,
- 532,
- 546,
- 566,
- 585,
- 588,
- 628,
- 635,
- 679,
- 681,
- 684,
- 710,
- 731,
- 785,
- 795,
- 796,
- 797,
- 817,
- 842,
- 843,
- 846,
- 847,
- -1
+ FRONTIER_MONS_GUITARIST_3B
};
const u16 gBattleFrontierTrainerMons_Dirk[] =
{
- 355,
- 375,
- 379,
- 385,
- 386,
- 412,
- 435,
- 440,
- 454,
- 457,
- 459,
- 465,
- 473,
- 477,
- 482,
- 484,
- 508,
- 531,
- 536,
- 550,
- 553,
- 555,
- 561,
- 567,
- 571,
- 577,
- 578,
- 604,
- 627,
- 632,
- 646,
- 649,
- 651,
- 657,
- 663,
- 667,
- 673,
- 674,
- 700,
- 723,
- 728,
- 742,
- 745,
- 747,
- 753,
- 756,
- 757,
- 758,
- 767,
- 768,
- 769,
- 778,
- 779,
- 780,
- 789,
- 790,
- 791,
- 828,
- 829,
- 830,
- 831,
- -1
+ FRONTIER_MONS_BIRD_KEEPER_3
};
const u16 gBattleFrontierTrainerMons_Harold[] =
{
- 355,
- 375,
- 379,
- 385,
- 386,
- 412,
- 435,
- 440,
- 454,
- 457,
- 459,
- 465,
- 473,
- 477,
- 482,
- 484,
- 508,
- 531,
- 536,
- 550,
- 553,
- 555,
- 561,
- 567,
- 571,
- 577,
- 578,
- 604,
- 627,
- 632,
- 646,
- 649,
- 651,
- 657,
- 663,
- 667,
- 673,
- 674,
- 700,
- 723,
- 728,
- 742,
- 745,
- 747,
- 753,
- 756,
- 757,
- 758,
- 767,
- 768,
- 769,
- 778,
- 779,
- 780,
- 789,
- 790,
- 791,
- 828,
- 829,
- 830,
- 831,
- -1
+ FRONTIER_MONS_BIRD_KEEPER_3
};
const u16 gBattleFrontierTrainerMons_Omar[] =
{
- 373,
- 388,
- 390,
- 392,
- 400,
- 409,
- 410,
- 418,
- 431,
- 442,
- 448,
- 449,
- 452,
- 456,
- 458,
- 459,
- 461,
- 463,
- 469,
- 471,
- 486,
- 488,
- 496,
- 505,
- 506,
- 514,
- 527,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 557,
- 559,
- 565,
- 580,
- 582,
- 584,
- 592,
- 601,
- 602,
- 610,
- 623,
- 634,
- 640,
- 641,
- 644,
- 648,
- 650,
- 651,
- 653,
- 655,
- 661,
- 676,
- 678,
- 680,
- 688,
- 697,
- 698,
- 706,
- 719,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 749,
- 751,
- 808,
- 809,
- 810,
- 811,
- 820,
- 821,
- 822,
- 823,
- -1
+ FRONTIER_MONS_SAILOR_3
};
const u16 gBattleFrontierTrainerMons_Peter[] =
{
- 373,
- 388,
- 390,
- 392,
- 400,
- 409,
- 410,
- 418,
- 431,
- 442,
- 448,
- 449,
- 452,
- 456,
- 458,
- 459,
- 461,
- 463,
- 469,
- 471,
- 486,
- 488,
- 496,
- 505,
- 506,
- 514,
- 527,
- 538,
- 544,
- 545,
- 548,
- 552,
- 554,
- 555,
- 557,
- 559,
- 565,
- 580,
- 582,
- 584,
- 592,
- 601,
- 602,
- 610,
- 623,
- 634,
- 640,
- 641,
- 644,
- 648,
- 650,
- 651,
- 653,
- 655,
- 661,
- 676,
- 678,
- 680,
- 688,
- 697,
- 698,
- 706,
- 719,
- 730,
- 736,
- 737,
- 740,
- 744,
- 746,
- 747,
- 749,
- 751,
- 808,
- 809,
- 810,
- 811,
- 820,
- 821,
- 822,
- 823,
- -1
+ FRONTIER_MONS_SAILOR_3
};
const u16 gBattleFrontierTrainerMons_Dev[] =
{
- 372,
- 387,
- 402,
- 403,
- 413,
- 414,
- 416,
- 417,
- 427,
- 428,
- 432,
- 433,
- 435,
- 440,
- 450,
- 466,
- 468,
- 470,
- 498,
- 499,
- 509,
- 510,
- 512,
- 513,
- 523,
- 524,
- 528,
- 529,
- 531,
- 536,
- 546,
- 562,
- 564,
- 579,
- 594,
- 595,
- 605,
- 606,
- 608,
- 609,
- 619,
- 620,
- 624,
- 625,
- 627,
- 632,
- 642,
- 658,
- 660,
- 675,
- 690,
- 691,
- 701,
- 702,
- 704,
- 705,
- 715,
- 716,
- 720,
- 721,
- 723,
- 728,
- 738,
- 754,
- 832,
- 833,
- 834,
- 835,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_HIKER_3
};
const u16 gBattleFrontierTrainerMons_Corey[] =
{
- 372,
- 387,
- 402,
- 403,
- 413,
- 414,
- 416,
- 417,
- 427,
- 428,
- 432,
- 433,
- 435,
- 440,
- 450,
- 466,
- 468,
- 470,
- 498,
- 499,
- 509,
- 510,
- 512,
- 513,
- 523,
- 524,
- 528,
- 529,
- 531,
- 536,
- 546,
- 562,
- 564,
- 579,
- 594,
- 595,
- 605,
- 606,
- 608,
- 609,
- 619,
- 620,
- 624,
- 625,
- 627,
- 632,
- 642,
- 658,
- 660,
- 675,
- 690,
- 691,
- 701,
- 702,
- 704,
- 705,
- 715,
- 716,
- 720,
- 721,
- 723,
- 728,
- 738,
- 754,
- 832,
- 833,
- 834,
- 835,
- 860,
- 861,
- 862,
- 863,
- 864,
- 865,
- 866,
- 867,
- 868,
- 869,
- -1
+ FRONTIER_MONS_HIKER_3
};
const u16 gBattleFrontierTrainerMons_Andre[] =
{
- 374,
- 378,
- 415,
- 419,
- 421,
- 426,
- 430,
- 444,
- 451,
- 454,
- 455,
- 464,
- 472,
- 476,
- 511,
- 515,
- 517,
- 522,
- 526,
- 540,
- 547,
- 550,
- 551,
- 560,
- 566,
- 570,
- 607,
- 611,
- 613,
- 618,
- 622,
- 636,
- 643,
- 646,
- 647,
- 656,
- 662,
- 666,
- 703,
- 707,
- 709,
- 714,
- 718,
- 732,
- 739,
- 742,
- 743,
- 752,
- 800,
- 801,
- 802,
- 803,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- -1
+ FRONTIER_MONS_KINDLER_3
};
const u16 gBattleFrontierTrainerMons_Ferris[] =
{
- 374,
- 378,
- 415,
- 419,
- 421,
- 426,
- 430,
- 444,
- 451,
- 454,
- 455,
- 464,
- 472,
- 476,
- 511,
- 515,
- 517,
- 522,
- 526,
- 540,
- 547,
- 550,
- 551,
- 560,
- 566,
- 570,
- 607,
- 611,
- 613,
- 618,
- 622,
- 636,
- 643,
- 646,
- 647,
- 656,
- 662,
- 666,
- 703,
- 707,
- 709,
- 714,
- 718,
- 732,
- 739,
- 742,
- 743,
- 752,
- 800,
- 801,
- 802,
- 803,
- 850,
- 851,
- 852,
- 853,
- 854,
- 855,
- 856,
- 857,
- 858,
- 859,
- -1
+ FRONTIER_MONS_KINDLER_3
};
const u16 gBattleFrontierTrainerMons_Alivia[] =
{
- 399,
- 400,
- 409,
- 422,
- 438,
- 441,
- 445,
- 448,
- 449,
- 451,
- 452,
- 454,
- 455,
- 489,
- 492,
- 493,
- 503,
- 526,
- 532,
- 535,
- 536,
- 560,
- 573,
- 583,
- 590,
- 592,
- 608,
- 611,
- 620,
- 651,
- 682,
- 688,
- 714,
- 729,
- 732,
- -1
+ FRONTIER_MONS_PARASOL_LADY_3
};
const u16 gBattleFrontierTrainerMons_Paige[] =
{
- 399,
- 400,
- 409,
- 422,
- 438,
- 441,
- 445,
- 448,
- 449,
- 451,
- 452,
- 454,
- 455,
- 489,
- 492,
- 493,
- 503,
- 526,
- 532,
- 535,
- 536,
- 560,
- 573,
- 583,
- 590,
- 592,
- 608,
- 611,
- 620,
- 651,
- 682,
- 688,
- 714,
- 729,
- 732,
- -1
+ FRONTIER_MONS_PARASOL_LADY_3
};
const u16 gBattleFrontierTrainerMons_Anya[] =
{
- 442,
- 443,
- 444,
- 446,
- 447,
- 538,
- 539,
- 540,
- 542,
- 543,
- 634,
- 635,
- 636,
- 638,
- 639,
- 730,
- 731,
- 732,
- 734,
- 735,
- -1
+ FRONTIER_MONS_EEVEELUTIONS
};
const u16 gBattleFrontierTrainerMons_Dawn[] =
{
- 377,
- 381,
- 410,
- 421,
- 422,
- 443,
- 456,
- 460,
- 461,
- 471,
- 472,
- 473,
- 484,
- 491,
- 502,
- 503,
- 507,
- 508,
- 515,
- 520,
- 540,
- 549,
- 569,
- 574,
- 583,
- 586,
- 601,
- 622,
- 624,
- 639,
- 644,
- 655,
- 734,
- 804,
- 810,
- 815,
- 823,
- 831,
- 843,
- -1
+ FRONTIER_MONS_BEAUTY_2
};
const u16 gBattleFrontierTrainerMons_Abby[] =
{
- 185,
- 290,
- 313,
- 334,
- 348,
- 359,
- 360,
- 377,
- 380,
- 382,
- 385,
- 394,
- 395,
- 398,
- 400,
- 401,
- 404,
- 409,
- 410,
- 416,
- 437,
- 438,
- 439,
- 441,
- 445,
- 446,
- 453,
- 475,
- 478,
- 480,
- 484,
- 490,
- 491,
- 494,
- 496,
- 497,
- 500,
- 505,
- 506,
- 512,
- 533,
- 534,
- 535,
- 537,
- 541,
- 542,
- 549,
- 569,
- 572,
- 574,
- 577,
- 586,
- 587,
- 590,
- 592,
- 593,
- 596,
- 601,
- 602,
- 608,
- 629,
- 630,
- 631,
- 633,
- 637,
- 638,
- 645,
- 665,
- 668,
- 670,
- 673,
- 682,
- 683,
- 686,
- 688,
- 689,
- 692,
- 697,
- 698,
- 704,
- 725,
- 726,
- 727,
- 729,
- 733,
- 734,
- 741,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- -1
+ FRONTIER_MONS_AROMA_LADY_3
};
const u16 gBattleFrontierTrainerMons_Gretel[] =
{
- 185,
- 290,
- 313,
- 334,
- 348,
- 359,
- 360,
- 377,
- 380,
- 382,
- 385,
- 394,
- 395,
- 398,
- 400,
- 401,
- 404,
- 409,
- 410,
- 416,
- 437,
- 438,
- 439,
- 441,
- 445,
- 446,
- 453,
- 475,
- 478,
- 480,
- 484,
- 490,
- 491,
- 494,
- 496,
- 497,
- 500,
- 505,
- 506,
- 512,
- 533,
- 534,
- 535,
- 537,
- 541,
- 542,
- 549,
- 569,
- 572,
- 574,
- 577,
- 586,
- 587,
- 590,
- 592,
- 593,
- 596,
- 601,
- 602,
- 608,
- 629,
- 630,
- 631,
- 633,
- 637,
- 638,
- 645,
- 665,
- 668,
- 670,
- 673,
- 682,
- 683,
- 686,
- 688,
- 689,
- 692,
- 697,
- 698,
- 704,
- 725,
- 726,
- 727,
- 729,
- 733,
- 734,
- 741,
- 812,
- 813,
- 814,
- 815,
- 816,
- 817,
- 818,
- 819,
- -1
+ FRONTIER_MONS_AROMA_LADY_3
};
diff --git a/src/data/battle_frontier/battle_frontier_trainers.h b/src/data/battle_frontier/battle_frontier_trainers.h
index faef40656..bbd88d76f 100644
--- a/src/data/battle_frontier/battle_frontier_trainers.h
+++ b/src/data/battle_frontier/battle_frontier_trainers.h
@@ -1,2403 +1,2403 @@
-const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
+const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COUNT] =
{
- [0] = {
+ [FRONTIER_TRAINER_BRADY] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("BRADY"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_EXCL},
.speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_QUES, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Brady
+ .monSet = gBattleFrontierTrainerMons_Brady
},
- [1] = {
+ [FRONTIER_TRAINER_CONNER] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("CONNER"),
.speechBefore = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_IS, EC_WORD_JUST, EC_WORD_AWESOME, 0xFFFF},
.speechLose = {EC_WORD_DARN, EC_WORD_ELLIPSIS, EC_WORD_LOSING, EC_WORD_DOES, EC_WORD_BUG, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Conner
+ .monSet = gBattleFrontierTrainerMons_Conner
},
- [2] = {
+ [FRONTIER_TRAINER_BRADLEY] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("BRADLEY"),
.speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_TODAY},
.speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_SEE_YA, EC_WORD_LATER, EC_WORD_EXCL},
.speechLose = {EC_WORD_TOMORROW, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_WE, EC_WORD_REALLY, EC_WORD_BATTLE},
- .monSets = gBattleFrontierTrainerMons_Bradley
+ .monSet = gBattleFrontierTrainerMons_Bradley
},
- [3] = {
+ [FRONTIER_TRAINER_CYBIL] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("CYBIL"),
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_NOT_VERY, EC_WORD_SCARY, EC_WORD_AT, EC_WORD_ALL},
.speechWin = {EC_WORD_IT_S, EC_WORD_SAD, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(STRUGGLE)},
.speechLose = {EC_WORD_THIS, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_TO_ME, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Cybil
+ .monSet = gBattleFrontierTrainerMons_Cybil
},
- [4] = {
+ [FRONTIER_TRAINER_RODETTE] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("RODETTE"),
.speechBefore = {EC_WORD_OH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_HOW, EC_WORD_STRONG, EC_WORD_I_AM, EC_WORD_EXCL},
.speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_NO, EC_WORD_GOOD},
- .monSets = gBattleFrontierTrainerMons_Rodette
+ .monSet = gBattleFrontierTrainerMons_Rodette
},
- [5] = {
+ [FRONTIER_TRAINER_PEGGY] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("PEGGY"),
.speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_BE, EC_WORD_DESTROYED, EC_WORD_EXCL},
.speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_LOLLING, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_THANKS, EC_WORD_TO, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Peggy
+ .monSet = gBattleFrontierTrainerMons_Peggy
},
- [6] = {
+ [FRONTIER_TRAINER_KEITH] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
.trainerName = _("KEITH"),
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_JUST, EC_WORD_STUDY, EC_WORD_YOU, EC_WORD_KNOW},
.speechWin = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_STUDY, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Keith
+ .monSet = gBattleFrontierTrainerMons_Keith
},
- [7] = {
+ [FRONTIER_TRAINER_GRAYSON] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
.trainerName = _("GRAYSON"),
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_BATTLE, EC_WORD_ISN_T, EC_WORD_CHILD_S_PLAY, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_DONE, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_LIKE, EC_WORD_TOYS, EC_WORD_TO, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Grayson
+ .monSet = gBattleFrontierTrainerMons_Grayson
},
- [8] = {
+ [FRONTIER_TRAINER_GLENN] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
.trainerName = _("GLENN"),
.speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_COOL, EC_WORD_IF_I_WIN, 0xFFFF},
.speechWin = {EC_WORD_COOL, EC_WORD_EXCL, 0xFFFF, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM},
.speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_COOL},
- .monSets = gBattleFrontierTrainerMons_Glenn
+ .monSet = gBattleFrontierTrainerMons_Glenn
},
- [9] = {
+ [FRONTIER_TRAINER_LILIANA] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("LILIANA"),
.speechBefore = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN},
.speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_SURRENDER, EC_WORD_IN, EC_WORD_ME},
.speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Liliana
+ .monSet = gBattleFrontierTrainerMons_Liliana
},
- [10] = {
+ [FRONTIER_TRAINER_ELISE] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("ELISE"),
.speechBefore = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_FROM, EC_WORD_MY, EC_WORD_FATHER},
.speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_EXCL, EC_WORD_FATHER, EC_WORD_I_VE, EC_WORD_WON},
.speechLose = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FATHER, EC_WORD_FOR, EC_WORD_I_VE, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Elise
+ .monSet = gBattleFrontierTrainerMons_Elise
},
- [11] = {
+ [FRONTIER_TRAINER_ZOEY] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("ZOEY"),
.speechBefore = {EC_WORD_PLEASE, EC_WORD_BATTLE, EC_WORD_LIKE, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
.speechLose = {EC_WORD_WERE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_BEING, EC_WORD_SERIOUS, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Zoey
+ .monSet = gBattleFrontierTrainerMons_Zoey
},
- [12] = {
+ [FRONTIER_TRAINER_MANUEL] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("MANUEL"),
.speechBefore = {EC_WORD_ME, EC_WORD_LOSE, EC_WORD_QUES, EC_WORD_THAT_S, EC_WORD_PREPOSTEROUS, EC_WORD_EXCL},
.speechWin = {EC_WORD_NATURALLY, EC_WORD_I, EC_WORD_WIN, 0xFFFF, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_MOTHER},
- .monSets = gBattleFrontierTrainerMons_Manuel
+ .monSet = gBattleFrontierTrainerMons_Manuel
},
- [13] = {
+ [FRONTIER_TRAINER_RUSS] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("RUSS"),
.speechBefore = {EC_WORD_THEY, EC_WORD_ALL, EC_WORD_WANT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_POKEMON},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PARTY},
.speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_DO, EC_WORD_THAT, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Russ
+ .monSet = gBattleFrontierTrainerMons_Russ
},
- [14] = {
+ [FRONTIER_TRAINER_DUSTIN] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("DUSTIN"),
.speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_COOL, EC_WORD_POKEMON, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_WHEN_I_WIN, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_IF_I_LOSE, EC_WORD_TOO, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Dustin
+ .monSet = gBattleFrontierTrainerMons_Dustin
},
- [15] = {
+ [FRONTIER_TRAINER_TINA] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("TINA"),
.speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(SWEET_KISS)},
.speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_YOUR, EC_MOVE2(SWEET_KISS), EC_WORD_FROM, EC_WORD_MY, EC_POKEMON2(JYNX)},
.speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_A, EC_MOVE(SWIFT), EC_MOVE2(MEGA_KICK), EC_WORD_INSTEAD},
- .monSets = gBattleFrontierTrainerMons_Tina
+ .monSet = gBattleFrontierTrainerMons_Tina
},
- [16] = {
+ [FRONTIER_TRAINER_GILLIAN1] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("GILLIAN"),
.speechBefore = {EC_WORD_THE, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_IS, EC_WORD_SO, EC_WORD_YESTERDAY},
.speechWin = {EC_WORD_POKEMON, EC_WORD_NEVER, EC_WORD_GO, EC_WORD_OUT, EC_WORD_OF, EC_WORD_FASHION},
.speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_DISAPPOINT, EC_WORD_ME, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Gillian
+ .monSet = gBattleFrontierTrainerMons_Gillian
},
- [17] = {
+ [FRONTIER_TRAINER_ZOE] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("ZOE"),
.speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_A, EC_WORD_WORRY, EC_WORD_AT, EC_WORD_ALL},
.speechWin = {EC_WORD_LIFE, EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_GOOD, EC_WORD_TO_ME, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SKILL},
- .monSets = gBattleFrontierTrainerMons_Zoe
+ .monSet = gBattleFrontierTrainerMons_Zoe
},
- [18] = {
+ [FRONTIER_TRAINER_CHEN] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("CHEN"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_TODAY},
.speechWin = {EC_WORD_I_AM, EC_WORD_READY, EC_WORD_TO, EC_WORD_GO, EC_WORD_ON, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_MOVE(FOCUS_ENERGY), EC_WORD_AND, EC_WORD_TOUGHNESS},
- .monSets = gBattleFrontierTrainerMons_Chen
+ .monSet = gBattleFrontierTrainerMons_Chen
},
- [19] = {
+ [FRONTIER_TRAINER_AL] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("AL"),
.speechBefore = {EC_WORD_YOUR, EC_WORD_LOOK, EC_WORD_SAYS, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH},
.speechWin = {EC_WORD_IT_S, EC_WORD_ME, EC_WORD_WHO_IS, EC_WORD_REALLY, EC_WORD_TOUGH, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_RIGHT, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH},
- .monSets = gBattleFrontierTrainerMons_Al
+ .monSet = gBattleFrontierTrainerMons_Al
},
- [20] = {
+ [FRONTIER_TRAINER_MITCH] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("MITCH"),
.speechBefore = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_IS, EC_WORD_MY, EC_WORD_ALLY, EC_WORD_EXCL},
.speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_DIDN_T, EC_WORD_LET_ME_WIN, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Mitch
+ .monSet = gBattleFrontierTrainerMons_Mitch
},
- [21] = {
+ [FRONTIER_TRAINER_ANNE] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("ANNE"),
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_NOW},
.speechWin = {EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Anne
+ .monSet = gBattleFrontierTrainerMons_Anne
},
- [22] = {
+ [FRONTIER_TRAINER_ALIZE] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("ALIZE"),
.speechBefore = {EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_ME},
.speechWin = {EC_WORD_YUP, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG},
.speechLose = {EC_WORD_I_AM, EC_WORD_WEAK, EC_WORD_ELLIPSIS, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_CUTE},
- .monSets = gBattleFrontierTrainerMons_Alize
+ .monSet = gBattleFrontierTrainerMons_Alize
},
- [23] = {
+ [FRONTIER_TRAINER_LAUREN] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("LAUREN"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_ALSO, EC_WORD_GOOD},
.speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_I_WAS, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_GOOD},
.speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_WEIRD, EC_WORD_DREAM, EC_WORD_THAT_WAS, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Lauren
+ .monSet = gBattleFrontierTrainerMons_Lauren
},
- [24] = {
+ [FRONTIER_TRAINER_KIPP] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("KIPP"),
.speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GO, EC_MOVE2(SURF)},
.speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_OFF, EC_WORD_TO, EC_MOVE2(SURF)},
.speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Kipp
+ .monSet = gBattleFrontierTrainerMons_Kipp
},
- [25] = {
+ [FRONTIER_TRAINER_JASON] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("JASON"),
.speechBefore = {EC_WORD_TEACH, EC_WORD_ME, EC_WORD_A, EC_WORD_GOOD, EC_WORD_STRATEGY, 0xFFFF},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_YOUR, EC_WORD_GOOD, EC_WORD_STRATEGY, EC_WORD_QUES_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WOW, EC_WORD_THAT, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_STRATEGY},
- .monSets = gBattleFrontierTrainerMons_Jason
+ .monSet = gBattleFrontierTrainerMons_Jason
},
- [26] = {
+ [FRONTIER_TRAINER_JOHN] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("JOHN"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_PRETTY, EC_WORD_NEW, EC_WORD_TRAINER, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_SO, EC_WORD_WHAT, EC_WORD_IF_I_LOSE, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_John
+ .monSet = gBattleFrontierTrainerMons_John
},
- [27] = {
+ [FRONTIER_TRAINER_ANN] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("ANN"),
.speechBefore = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_IT, EC_WORD_REALLY, EC_WORD_IS},
.speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_CAN, EC_WORD_CRY},
.speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_WILL, EC_WORD_CRY},
- .monSets = gBattleFrontierTrainerMons_Ann
+ .monSet = gBattleFrontierTrainerMons_Ann
},
- [28] = {
+ [FRONTIER_TRAINER_EILEEN] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("EILEEN"),
.speechBefore = {EC_WORD_LET_S, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_OK_QUES},
.speechWin = {EC_WORD_SO, EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_FEELING},
.speechLose = {EC_WORD_AN, EC_WORD_ADULT, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Eileen
+ .monSet = gBattleFrontierTrainerMons_Eileen
},
- [29] = {
+ [FRONTIER_TRAINER_CARLIE] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("CARLIE"),
.speechBefore = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_IS, EC_WORD_FOR, EC_WORD_POKEMON},
.speechWin = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_WILL, EC_WORD_BE, EC_WORD_AWESOME},
.speechLose = {EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Carlie
+ .monSet = gBattleFrontierTrainerMons_Carlie
},
- [30] = {
+ [FRONTIER_TRAINER_GORDON] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("GORDON"),
.speechBefore = {EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_COME, EC_WORD_TO_ME, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_OH_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_REALLY, EC_WORD_WON},
.speechLose = {EC_WORD_NOTHING, EC_WORD_IS, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Gordon
+ .monSet = gBattleFrontierTrainerMons_Gordon
},
- [31] = {
+ [FRONTIER_TRAINER_AYDEN] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("AYDEN"),
.speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_WATER, EC_WORD_TO, EC_WORD_COOL, EC_WORD_DOWN},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_ICE, EC_WORD_COLD},
- .monSets = gBattleFrontierTrainerMons_Ayden
+ .monSet = gBattleFrontierTrainerMons_Ayden
},
- [32] = {
+ [FRONTIER_TRAINER_MARCO] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("MARCO"),
.speechBefore = {EC_WORD_I, EC_MOVE2(SURF), EC_WORD_IN, EC_WORD_THE, EC_WORD_WINTER, EC_WORD_TOO},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_MOVE2(SURF), EC_WORD_RIGHT, EC_WORD_NOW},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(BEAT_UP), EC_WORD_MY, EC_MOVE2(SURF), EC_WORD_BOARD},
- .monSets = gBattleFrontierTrainerMons_Marco
+ .monSet = gBattleFrontierTrainerMons_Marco
},
- [33] = {
+ [FRONTIER_TRAINER_CIERRA] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("CIERRA"),
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_MY, EC_WORD_SWIFT_SWIM},
.speechWin = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SYNCHRONIZE, EC_WORD_WITH, EC_WORD_ME, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_BETTER, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Cierra
+ .monSet = gBattleFrontierTrainerMons_Cierra
},
- [34] = {
+ [FRONTIER_TRAINER_MARCY] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("MARCY"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL},
.speechWin = {EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_EXCL},
.speechLose = {EC_WORD_THAT_S, EC_WORD_NOT, EC_WORD_THE, EC_WORD_KNOCKOUT, EC_WORD_I, EC_WORD_MEAN},
- .monSets = gBattleFrontierTrainerMons_Marcy
+ .monSet = gBattleFrontierTrainerMons_Marcy
},
- [35] = {
+ [FRONTIER_TRAINER_KATHY] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("KATHY"),
.speechBefore = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EVERY, EC_WORD_MATCH, EC_WORD_TODAY, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_GREAT, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL},
.speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_HAVE, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Kathy
+ .monSet = gBattleFrontierTrainerMons_Kathy
},
- [36] = {
+ [FRONTIER_TRAINER_PEYTON] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("PEYTON"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_DISAPPOINTED, EC_WORD_WITH, EC_WORD_MY, EC_WORD_POKEMON},
.speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_IF, EC_WORD_WE, EC_WORD_WIN, EC_WORD_TOGETHER},
.speechLose = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_MORE, EC_WORD_IF_I_LOSE},
- .monSets = gBattleFrontierTrainerMons_Peyton
+ .monSet = gBattleFrontierTrainerMons_Peyton
},
- [37] = {
+ [FRONTIER_TRAINER_JULIAN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("JULIAN"),
.speechBefore = {EC_WORD_YOU, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_RIGHT, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_OUT, EC_WORD_OF, EC_WORD_THE, EC_WORD_QUESTION},
.speechLose = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Julian
+ .monSet = gBattleFrontierTrainerMons_Julian
},
- [38] = {
+ [FRONTIER_TRAINER_QUINN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("QUINN"),
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_BUT, EC_WORD_A, EC_WORD_DREAM},
.speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_BEAUTIFUL, EC_WORD_DREAM, EC_WORD_EXCL},
.speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Quinn
+ .monSet = gBattleFrontierTrainerMons_Quinn
},
- [39] = {
+ [FRONTIER_TRAINER_HAYLEE] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("HAYLEE"),
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_I_AM, EC_WORD_FEELING},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_OVERWHELMING, EC_WORD_JOY, EC_WORD_OVER, EC_WORD_THIS},
.speechLose = {EC_WORD_DESTROYED, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_FEELING},
- .monSets = gBattleFrontierTrainerMons_Haylee
+ .monSet = gBattleFrontierTrainerMons_Haylee
},
- [40] = {
+ [FRONTIER_TRAINER_AMANDA] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("AMANDA"),
.speechBefore = {EC_WORD_I, EC_WORD_COME, EC_WORD_FROM, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_FAMILY},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_TREASURE, EC_WORD_THIS, EC_WORD_WIN, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_RIGHT, EC_WORD_NOW},
- .monSets = gBattleFrontierTrainerMons_Amanda
+ .monSet = gBattleFrontierTrainerMons_Amanda
},
- [41] = {
+ [FRONTIER_TRAINER_STACY] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("STACY"),
.speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_THEIR, EC_WORD_OWN, EC_WORD_CUTE_CHARM},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES},
.speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_NOT, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Stacy
+ .monSet = gBattleFrontierTrainerMons_Stacy
},
- [42] = {
+ [FRONTIER_TRAINER_RAFAEL] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
.trainerName = _("RAFAEL"),
.speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_SOME, EC_WORD_SPIRIT},
.speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_SPIRIT, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WELL, EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_OUR, EC_WORD_SPIRIT},
- .monSets = gBattleFrontierTrainerMons_Rafael
+ .monSet = gBattleFrontierTrainerMons_Rafael
},
- [43] = {
+ [FRONTIER_TRAINER_OLIVER] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
.trainerName = _("OLIVER"),
.speechBefore = {EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_WORKS, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAN, EC_WORD_I_AM},
- .monSets = gBattleFrontierTrainerMons_Oliver
+ .monSet = gBattleFrontierTrainerMons_Oliver
},
- [44] = {
+ [FRONTIER_TRAINER_PAYTON] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
.trainerName = _("PAYTON"),
.speechBefore = {EC_WORD_I, EC_WORD_TRAIN, EC_WORD_FROM, EC_WORD_THE, EC_WORD_EGG, EC_WORD_UP},
.speechWin = {EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_A, EC_MOVE2(SOFT_BOILED), EC_WORD_LOSS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Payton
+ .monSet = gBattleFrontierTrainerMons_Payton
},
- [45] = {
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ [FRONTIER_TRAINER_PAMELA] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("PAMELA"),
.speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_ADORE, EC_WORD_A, EC_WORD_KIND, EC_WORD_TRAINER},
.speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_YOU, EC_WORD_LOST, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_AND, EC_WORD_YOU_RE, EC_WORD_ALSO, EC_WORD_STRONG},
- .monSets = gBattleFrontierTrainerMons_Pamela
+ .monSet = gBattleFrontierTrainerMons_Pamela
},
- [46] = {
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ [FRONTIER_TRAINER_ELIZA] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("ELIZA"),
.speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_CHILDREN},
.speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POKEMON},
.speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Eliza
+ .monSet = gBattleFrontierTrainerMons_Eliza
},
- [47] = {
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ [FRONTIER_TRAINER_MARISA] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("MARISA"),
.speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, 0xFFFF},
.speechWin = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BETTER},
.speechLose = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Marisa
+ .monSet = gBattleFrontierTrainerMons_Marisa
},
- [48] = {
+ [FRONTIER_TRAINER_LEWIS] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
.trainerName = _("LEWIS"),
.speechBefore = {EC_WORD_A_LITTLE, EC_WORD_BUG, EC_WORD_IS, EC_WORD_SCARY, EC_WORD_QUES, EC_WORD_HAHAHA},
.speechWin = {EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL, EC_WORD_A, EC_WORD_SCARY, EC_WORD_BUG},
.speechLose = {EC_WORD_OH, EC_WORD_A, EC_WORD_BUG, EC_WORD_ISN_T, EC_WORD_SCARY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Lewis
+ .monSet = gBattleFrontierTrainerMons_Lewis
},
- [49] = {
+ [FRONTIER_TRAINER_YOSHI] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
.trainerName = _("YOSHI"),
.speechBefore = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_LOVEY_DOVEY},
.speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_IGNORANT, EC_WORD_ABOUT, EC_WORD_BUG, EC_WORD_POKEMON, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Yoshi
+ .monSet = gBattleFrontierTrainerMons_Yoshi
},
- [50] = {
+ [FRONTIER_TRAINER_DESTIN] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
.trainerName = _("DESTIN"),
.speechBefore = {EC_WORD_IT_S, EC_WORD_WAY, EC_WORD_TOO, EC_WORD_HOT, EC_WORD_HERE, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_ABOUT, EC_WORD_TO, EC_MOVE(OVERHEAT), 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_WATER, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Destin
+ .monSet = gBattleFrontierTrainerMons_Destin
},
- [51] = {
+ [FRONTIER_TRAINER_KEON] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("KEON"),
.speechBefore = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_BUT, EC_WORD_HERE_I_COME, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FOR, EC_WORD_MY, EC_WORD_OVERWHELMING, EC_WORD_POWER},
.speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Keon
+ .monSet = gBattleFrontierTrainerMons_Keon
},
- [52] = {
+ [FRONTIER_TRAINER_STUART] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("STUART"),
.speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_YOU, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE},
.speechWin = {EC_WORD_THE, EC_WORD_MASTER, EC_WORD_OF, EC_WORD_COOL, EC_WORD_THAT_S, EC_WORD_ME},
.speechLose = {EC_WORD_I, EC_WORD_SEE, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_SO, EC_WORD_COOL},
- .monSets = gBattleFrontierTrainerMons_Stuart
+ .monSet = gBattleFrontierTrainerMons_Stuart
},
- [53] = {
+ [FRONTIER_TRAINER_NESTOR] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("NESTOR"),
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_REALLY, EC_WORD_SMOOTH, EC_WORD_MOVE},
.speechWin = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_NOTHING, EC_WORD_SMOOTH, EC_WORD_ABOUT, EC_WORD_THAT},
.speechLose = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SMOOTH, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Nestor
+ .monSet = gBattleFrontierTrainerMons_Nestor
},
- [54] = {
+ [FRONTIER_TRAINER_DERRICK] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("DERRICK"),
.speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(MEDITATE), EC_WORD_LIKE, EC_WORD_ME},
.speechWin = {EC_WORD_HOW, EC_WORD_I, EC_MOVE2(MEDITATE), EC_WORD_IS, EC_WORD_JUST, EC_WORD_BEAUTIFUL},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(MEDITATE), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(CALM_MIND)},
- .monSets = gBattleFrontierTrainerMons_Derrick
+ .monSet = gBattleFrontierTrainerMons_Derrick
},
- [55] = {
+ [FRONTIER_TRAINER_BRYSON] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("BRYSON"),
.speechBefore = {EC_MOVE2(POISON_POWDER), EC_WORD_IS, EC_WORD_IN, EC_WORD_OUR, EC_MOVE2(COTTON_SPORE), EC_WORD_MOVE},
.speechWin = {EC_WORD_HOW_DO, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_OUR, EC_MOVE2(POISON_POWDER), EC_WORD_QUES},
.speechLose = {EC_WORD_MY, EC_MOVE2(COTTON_SPORE), EC_WORD_WAS, EC_WORD_USELESS, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Bryson
+ .monSet = gBattleFrontierTrainerMons_Bryson
},
- [56] = {
+ [FRONTIER_TRAINER_CLAYTON] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("CLAYTON"),
.speechBefore = {EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, EC_WORD_WHERE, EC_WORD_IS_IT_QUES, 0xFFFF},
.speechWin = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_POKENAV},
.speechLose = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SENSE},
- .monSets = gBattleFrontierTrainerMons_Clayton
+ .monSet = gBattleFrontierTrainerMons_Clayton
},
- [57] = {
+ [FRONTIER_TRAINER_TRENTON] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("TRENTON"),
.speechBefore = {EC_WORD_COME_OVER, EC_WORD_FOR, EC_WORD_SOME, EC_WORD_TASTY, EC_WORD_WATER, 0xFFFF},
.speechWin = {EC_WORD_MMM, EC_WORD_DO, EC_WORD_YOU, EC_WORD_WANT, EC_WORD_SOME, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_GOT, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_WATER, EC_WORD_SHOPPING},
- .monSets = gBattleFrontierTrainerMons_Trenton
+ .monSet = gBattleFrontierTrainerMons_Trenton
},
- [58] = {
+ [FRONTIER_TRAINER_JENSON] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("JENSON"),
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_DOWNCAST},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THE, EC_MOVE(CUT)},
.speechLose = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_TRAINER, EC_WORD_WHO_IS, EC_WORD_FEELING, EC_WORD_DOWNCAST},
- .monSets = gBattleFrontierTrainerMons_Jenson
+ .monSet = gBattleFrontierTrainerMons_Jenson
},
- [59] = {
+ [FRONTIER_TRAINER_WESLEY] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("WESLEY"),
.speechBefore = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_IS, EC_WORD_HOW, EC_WORD_I, EC_WORD_CRY},
.speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_EXCL},
.speechLose = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_EXCL, EC_POKEMON2(MEW), EC_WORD_EXCL_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Wesley
+ .monSet = gBattleFrontierTrainerMons_Wesley
},
- [60] = {
+ [FRONTIER_TRAINER_ANTON] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("ANTON"),
.speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_ME, EC_WORD_TO, EC_MOVE(THRASH)},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THAT, EC_WORD_EXCL},
.speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_LOSS, EC_WORD_TO, EC_MOVE2(SWALLOW)},
- .monSets = gBattleFrontierTrainerMons_Anton
+ .monSet = gBattleFrontierTrainerMons_Anton
},
- [61] = {
+ [FRONTIER_TRAINER_LAWSON] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("LAWSON"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AT, EC_WORD_HEART, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_NOT, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NOT, EC_WORD_AT, EC_WORD_ALL},
.speechLose = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_AND, EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Lawson
+ .monSet = gBattleFrontierTrainerMons_Lawson
},
- [62] = {
+ [FRONTIER_TRAINER_SAMMY] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("SAMMY"),
.speechBefore = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK},
.speechWin = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_CRY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_PARTY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Sammy
+ .monSet = gBattleFrontierTrainerMons_Sammy
},
- [63] = {
+ [FRONTIER_TRAINER_ARNIE] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("ARNIE"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_RIVAL},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON_T, EC_WORD_ACCEPT, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Arnie
+ .monSet = gBattleFrontierTrainerMons_Arnie
},
- [64] = {
+ [FRONTIER_TRAINER_ADRIAN] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("ADRIAN"),
.speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, 0xFFFF, EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechLose = {EC_WORD_GOOD_BYE, EC_WORD_EXCL, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_EXCL_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Adrian
+ .monSet = gBattleFrontierTrainerMons_Adrian
},
- [65] = {
+ [FRONTIER_TRAINER_TRISTAN] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("TRISTAN"),
.speechBefore = {EC_WORD_CONFUSED, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
.speechWin = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
.speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_IN, EC_WORD_BATTLE},
- .monSets = gBattleFrontierTrainerMons_Tristan
+ .monSet = gBattleFrontierTrainerMons_Tristan
},
- [66] = {
+ [FRONTIER_TRAINER_JULIANA] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("JULIANA"),
.speechBefore = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SHOPPING, EC_WORD_TOO, EC_WORD_MUCH},
.speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
.speechLose = {EC_WORD_I, EC_WORD_SO, EC_WORD_WANT, EC_WORD_ANOTHER, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
- .monSets = gBattleFrontierTrainerMons_Juliana
+ .monSet = gBattleFrontierTrainerMons_Juliana
},
- [67] = {
+ [FRONTIER_TRAINER_RYLEE] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("RYLEE"),
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS},
.speechWin = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_GUTS},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_GUTSY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SUPER},
- .monSets = gBattleFrontierTrainerMons_Rylee
+ .monSet = gBattleFrontierTrainerMons_Rylee
},
- [68] = {
+ [FRONTIER_TRAINER_CHELSEA] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("CHELSEA"),
.speechBefore = {EC_WORD_I, EC_WORD_SERIOUSLY, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_WORD_WILL, EC_WORD_TO, EC_WORD_WIN, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Chelsea
+ .monSet = gBattleFrontierTrainerMons_Chelsea
},
- [69] = {
+ [FRONTIER_TRAINER_DANELA] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("DANELA"),
.speechBefore = {EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_NOW, EC_WORD_EXCL},
.speechWin = {EC_WORD_OH_DEAR, EC_WORD_TOO_WEAK, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_GIVE_UP, EC_WORD_EXCL},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_GOOD, EC_WORD_AND, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
- .monSets = gBattleFrontierTrainerMons_Danela
+ .monSet = gBattleFrontierTrainerMons_Danela
},
- [70] = {
+ [FRONTIER_TRAINER_LIZBETH] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("LIZBETH"),
.speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(PRESENT)},
.speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_A_LITTLE, EC_WORD_PRAISE, EC_WORD_AS, EC_WORD_YOUR, EC_MOVE2(PRESENT)},
.speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES_EXCL, EC_WORD_HERE_IT_IS, EC_WORD_A, EC_MOVE(DOUBLE_SLAP)},
- .monSets = gBattleFrontierTrainerMons_Lizbeth
+ .monSet = gBattleFrontierTrainerMons_Lizbeth
},
- [71] = {
+ [FRONTIER_TRAINER_AMELIA] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("AMELIA"),
.speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_CUTE, EC_WORD_FASHION, EC_WORD_APPEAL},
.speechWin = {EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_A, EC_WORD_DISASTER},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_AWFUL, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_HOME},
- .monSets = gBattleFrontierTrainerMons_Amelia
+ .monSet = gBattleFrontierTrainerMons_Amelia
},
- [72] = {
+ [FRONTIER_TRAINER_JILLIAN] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("JILLIAN"),
.speechBefore = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_THAT, EC_WORD_I, EC_WORD_SMELL, EC_WORD_QUES},
.speechWin = {EC_WORD_IT_S, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_TASTY, EC_WORD_WATER},
.speechLose = {EC_WORD_IT_S, EC_WORD_YOUR, EC_WORD_OFFENSIVE, EC_WORD_STENCH, EC_WORD_THAT_S, EC_WORD_WHAT},
- .monSets = gBattleFrontierTrainerMons_Jillian
+ .monSet = gBattleFrontierTrainerMons_Jillian
},
- [73] = {
+ [FRONTIER_TRAINER_ABBIE] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("ABBIE"),
.speechBefore = {EC_WORD_YOU, EC_WORD_TRY, EC_WORD_MY, EC_WORD_SECRET, EC_MOVE(AROMATHERAPY), EC_WORD_OK_QUES},
.speechWin = {EC_WORD_MY, EC_MOVE(AROMATHERAPY), EC_WORD_IS, EC_WORD_TERRIBLE, EC_WORD_FOR, EC_WORD_YOU},
.speechLose = {EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_SMELL, EC_WORD_A, EC_WORD_THING, EC_WORD_QUES_EXCL},
- .monSets = gBattleFrontierTrainerMons_Abbie
+ .monSet = gBattleFrontierTrainerMons_Abbie
},
- [74] = {
+ [FRONTIER_TRAINER_BRIANA] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("BRIANA"),
.speechBefore = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_WORKS, EC_WORD_TOO, EC_WORD_MUCH},
.speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_MISS, EC_WORD_HIM, EC_WORD_MORE, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LONESOME, EC_WORD_WITHOUT, EC_WORD_HIM, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Briana
+ .monSet = gBattleFrontierTrainerMons_Briana
},
- [75] = {
+ [FRONTIER_TRAINER_ANTONIO] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("ANTONIO"),
.speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_WORD_GO, EC_WORD_GO},
.speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_DANCE},
.speechLose = {EC_WORD_GO, EC_WORD_GO, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_MOVE(FLAIL), EC_WORD_ABOUT},
- .monSets = gBattleFrontierTrainerMons_Antonio
+ .monSet = gBattleFrontierTrainerMons_Antonio
},
- [76] = {
+ [FRONTIER_TRAINER_JADEN] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("JADEN"),
.speechBefore = {EC_WORD_HELLO, EC_WORD_I, EC_WORD_THINK, EC_WORD_I, EC_WORD_ADORE, EC_WORD_YOU},
.speechWin = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_MOVE(THRASH), EC_WORD_IN, EC_MOVE2(FRUSTRATION)},
.speechLose = {EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_FOREVER, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Jaden
+ .monSet = gBattleFrontierTrainerMons_Jaden
},
- [77] = {
+ [FRONTIER_TRAINER_DAKOTA] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("DAKOTA"),
.speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER},
.speechWin = {EC_WORD_GOT, EC_WORD_IT, EC_WORD_QUES, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER},
.speechLose = {EC_WORD_OKAY, EC_WORD_YOU, EC_WORD_UNDERSTAND, EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Dakota
+ .monSet = gBattleFrontierTrainerMons_Dakota
},
- [78] = {
+ [FRONTIER_TRAINER_BRAYDEN] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("BRAYDEN"),
.speechBefore = {EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ARE, EC_WORD_USELESS, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_COLLECT, EC_WORD_NORMAL, EC_WORD_VERSION, EC_WORD_TOYS},
.speechLose = {EC_WORD_I, EC_MOVE2(ATTRACT), EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Brayden
+ .monSet = gBattleFrontierTrainerMons_Brayden
},
- [79] = {
+ [FRONTIER_TRAINER_CORSON] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("CORSON"),
.speechBefore = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(BEAT_UP), EC_WORD_ON, EC_WORD_YOU},
.speechWin = {EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_COOL},
.speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_MOVE2(CURSE), EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Corson
+ .monSet = gBattleFrontierTrainerMons_Corson
},
- [80] = {
+ [FRONTIER_TRAINER_TREVIN] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("TREVIN"),
.speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NONE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ME},
.speechWin = {EC_WORD_YES_SIR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST},
.speechLose = {EC_WORD_SERIOUS, EC_WORD_QUES_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Trevin
+ .monSet = gBattleFrontierTrainerMons_Trevin
},
- [81] = {
+ [FRONTIER_TRAINER_PATRICK] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("PATRICK"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_GIVE_UP, EC_WORD_NOW, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_DISAPPOINTED, EC_WORD_I_AM, EC_WORD_PERFECT, 0xFFFF},
.speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Patrick
+ .monSet = gBattleFrontierTrainerMons_Patrick
},
- [82] = {
+ [FRONTIER_TRAINER_KADEN] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("KADEN"),
.speechBefore = {EC_WORD_WHAT, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_UP, EC_WORD_TO, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_WERE, EC_WORD_A, EC_WORD_SURPRISE, EC_WORD_TO_ME, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_WHO, EC_WORD_I_AM, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Kaden
+ .monSet = gBattleFrontierTrainerMons_Kaden
},
- [83] = {
+ [FRONTIER_TRAINER_MAXWELL] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("MAXWELL"),
.speechBefore = {EC_WORD_HEY_THERE, EC_WORD_WHO_IS, EC_WORD_YOUR, EC_WORD_RIVAL, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_MY, EC_WORD_RIVAL, EC_WORD_IS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND},
.speechLose = {EC_WORD_I_AM, EC_WORD_MAKING, EC_WORD_YOU, EC_WORD_MY, EC_WORD_RIVAL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Maxwell
+ .monSet = gBattleFrontierTrainerMons_Maxwell
},
- [84] = {
+ [FRONTIER_TRAINER_DARYL] = {
.facilityClass = FACILITY_CLASS_HIKER,
.trainerName = _("DARYL"),
.speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_MOVE(CHARGE)},
.speechWin = {EC_WORD_AM, EC_WORD_I, EC_WORD_OVERWHELMING, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_A, EC_WORD_LEGEND, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Daryl
+ .monSet = gBattleFrontierTrainerMons_Daryl
},
- [85] = {
+ [FRONTIER_TRAINER_KENNETH] = {
.facilityClass = FACILITY_CLASS_HIKER,
.trainerName = _("KENNETH"),
.speechBefore = {EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_MOVE2(SLACK_OFF), EC_WORD_WITH, EC_WORD_ME},
.speechWin = {EC_WORD_DID, EC_WORD_MY, EC_MOVE2(TAUNT), EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Kenneth
+ .monSet = gBattleFrontierTrainerMons_Kenneth
},
- [86] = {
+ [FRONTIER_TRAINER_RICH] = {
.facilityClass = FACILITY_CLASS_HIKER,
.trainerName = _("RICH"),
.speechBefore = {EC_WORD_YOUR, EC_MOVE(FACADE), EC_WORD_DOESN_T, EC_MOVE2(TRICK), EC_WORD_ME, 0xFFFF},
.speechWin = {EC_WORD_SERIOUSLY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_OK_QUES, 0xFFFF},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TOUGH, EC_WORD_ON, EC_WORD_ME, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Rich
+ .monSet = gBattleFrontierTrainerMons_Rich
},
- [87] = {
+ [FRONTIER_TRAINER_CADEN] = {
.facilityClass = FACILITY_CLASS_KINDLER,
.trainerName = _("CADEN"),
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_DEFEATED, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF, EC_WORD_FIRE, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_SO, EC_WORD_HOT},
- .monSets = gBattleFrontierTrainerMons_Caden
+ .monSet = gBattleFrontierTrainerMons_Caden
},
- [88] = {
+ [FRONTIER_TRAINER_MARLON] = {
.facilityClass = FACILITY_CLASS_KINDLER,
.trainerName = _("MARLON"),
.speechBefore = {EC_WORD_A, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_QUES},
.speechWin = {EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_HUH_QUES, EC_WORD_THAT_S, EC_WORD_TOTALLY, EC_WORD_COOL},
.speechLose = {EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_QUES, EC_WORD_IS, EC_WORD_POKENAV, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Marlon
+ .monSet = gBattleFrontierTrainerMons_Marlon
},
- [89] = {
+ [FRONTIER_TRAINER_NASH] = {
.facilityClass = FACILITY_CLASS_KINDLER,
.trainerName = _("NASH"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_LEFT, EC_WORD_YOU, EC_WORD_JUST, EC_WORD_AN, EC_MOVE2(EMBER)},
.speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_WATER, EC_WORD_PLEASE},
- .monSets = gBattleFrontierTrainerMons_Nash
+ .monSet = gBattleFrontierTrainerMons_Nash
},
- [90] = {
+ [FRONTIER_TRAINER_ROBBY] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
.trainerName = _("ROBBY"),
.speechBefore = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_LEADER, EC_WORD_WITH, EC_WORD_REFRESHING, EC_WORD_SERENE_GRACE},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(THRASH), EC_WORD_MY, EC_WORD_TOYS, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Robby
+ .monSet = gBattleFrontierTrainerMons_Robby
},
- [91] = {
+ [FRONTIER_TRAINER_REECE] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
.trainerName = _("REECE"),
.speechBefore = {EC_WORD_MY, EC_MOVE2(QUICK_ATTACK), EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_A, EC_MOVE2(TELEPORT)},
.speechWin = {EC_WORD_LIKE, EC_WORD_I, EC_WORD_SAID, EC_WORD_I_AM, EC_WORD_DARN, EC_WORD_FAST},
.speechLose = {EC_WORD_I_WAS, EC_WORD_KIDDING, EC_WORD_ABOUT, EC_WORD_THAT, EC_MOVE2(TELEPORT), EC_WORD_THING},
- .monSets = gBattleFrontierTrainerMons_Reece
+ .monSet = gBattleFrontierTrainerMons_Reece
},
- [92] = {
+ [FRONTIER_TRAINER_KATHRYN] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
.trainerName = _("KATHRYN"),
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_TRAIN, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_QUES},
.speechWin = {EC_WORD_DON_T, EC_MOVE2(TAUNT), EC_WORD_ME, EC_WORD_LIKE, EC_WORD_THAT, EC_WORD_OK_QUES},
.speechLose = {EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_WIN, EC_WORD_THIS, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Kathryn
+ .monSet = gBattleFrontierTrainerMons_Kathryn
},
- [93] = {
+ [FRONTIER_TRAINER_ELLEN] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
.trainerName = _("ELLEN"),
.speechBefore = {EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_EGG, EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_VICTORY, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_TOO, EC_WORD_TOUGH, EC_WORD_TO, EC_WORD_CRUSH, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Ellen
+ .monSet = gBattleFrontierTrainerMons_Ellen
},
- [94] = {
+ [FRONTIER_TRAINER_RAMON] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
.trainerName = _("RAMON"),
.speechBefore = {EC_WORD_OKAY, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PERFECTION},
.speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_THAT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
.speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_SECRET, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_HAPPY},
- .monSets = gBattleFrontierTrainerMons_Ramon
+ .monSet = gBattleFrontierTrainerMons_Ramon
},
- [95] = {
+ [FRONTIER_TRAINER_ARTHUR] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
.trainerName = _("ARTHUR"),
.speechBefore = {EC_WORD_HERE_I_COME, EC_WORD_FEELING, EC_WORD_READY, EC_WORD_FOR, EC_WORD_IT, EC_WORD_ALL},
.speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THAT_WAS, EC_WORD_FABULOUS, EC_WORD_EXCL},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Arthur
+ .monSet = gBattleFrontierTrainerMons_Arthur
},
- [96] = {
+ [FRONTIER_TRAINER_ALONDRA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
.trainerName = _("ALONDRA"),
.speechBefore = {EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_IS, EC_WORD_A, EC_WORD_GREAT, EC_WORD_DAY},
.speechWin = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_WILL, EC_WORD_BE, EC_WORD_A, EC_WORD_LEGEND},
.speechLose = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_LEFT, EC_WORD_ME, EC_WORD_COLD, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Alondra
+ .monSet = gBattleFrontierTrainerMons_Alondra
},
- [97] = {
+ [FRONTIER_TRAINER_ADRIANA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
.trainerName = _("ADRIANA"),
.speechBefore = {EC_WORD_COME, EC_WORD_SEE, EC_WORD_AN, EC_WORD_INCREDIBLE, EC_WORD_SWIFT_SWIM, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_MAKE, EC_WORD_IT, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_EASY},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_TIRED, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Adriana
+ .monSet = gBattleFrontierTrainerMons_Adriana
},
- [98] = {
+ [FRONTIER_TRAINER_MALIK] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
.trainerName = _("MALIK"),
.speechBefore = {EC_WORD_OH, EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_WON, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED},
.speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED},
- .monSets = gBattleFrontierTrainerMons_Malik
+ .monSet = gBattleFrontierTrainerMons_Malik
},
- [99] = {
+ [FRONTIER_TRAINER_JILL] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
.trainerName = _("JILL"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_WINS, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_GIVES, EC_WORD_UP, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Jill
+ .monSet = gBattleFrontierTrainerMons_Jill
},
- [100] = {
+ [FRONTIER_TRAINER_ERIK] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
.trainerName = _("ERIK"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_FROM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
- .monSets = gBattleFrontierTrainerMons_Erik
+ .monSet = gBattleFrontierTrainerMons_Erik
},
- [101] = {
+ [FRONTIER_TRAINER_YAZMIN] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
.trainerName = _("YAZMIN"),
.speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_RUN, EC_WORD_THAN, EC_WORD_BIKE},
.speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_WOULD, EC_WORD_MUCH, EC_WORD_RATHER, EC_WORD_RUN},
.speechLose = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_RUN_AWAY},
- .monSets = gBattleFrontierTrainerMons_Yazmin
+ .monSet = gBattleFrontierTrainerMons_Yazmin
},
- [102] = {
+ [FRONTIER_TRAINER_JAMAL] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
.trainerName = _("JAMAL"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_FATHER},
.speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_BABY},
.speechLose = {EC_WORD_MY, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_TOTALLY, EC_WORD_AWESOME},
- .monSets = gBattleFrontierTrainerMons_Jamal
+ .monSet = gBattleFrontierTrainerMons_Jamal
},
- [103] = {
+ [FRONTIER_TRAINER_LESLIE] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
.trainerName = _("LESLIE"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_MOTHER},
.speechWin = {EC_WORD_A, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_A_LITTLE, EC_WORD_CHALLENGE},
.speechLose = {EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_BE, EC_WORD_ANGRY},
- .monSets = gBattleFrontierTrainerMons_Leslie
+ .monSet = gBattleFrontierTrainerMons_Leslie
},
- [104] = {
+ [FRONTIER_TRAINER_DAVE] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
.trainerName = _("DAVE"),
.speechBefore = {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_TODAY, EC_WORD_QUES},
.speechWin = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_ENJOY, EC_WORD_SOME, EC_WORD_SPORTS, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_PLAY, EC_WORD_A, EC_WORD_GAME},
- .monSets = gBattleFrontierTrainerMons_Dave
+ .monSet = gBattleFrontierTrainerMons_Dave
},
- [105] = {
+ [FRONTIER_TRAINER_CARLO] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
.trainerName = _("CARLO"),
.speechBefore = {EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Carlo
+ .monSet = gBattleFrontierTrainerMons_Carlo
},
- [106] = {
+ [FRONTIER_TRAINER_EMILIA] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
.trainerName = _("EMILIA"),
.speechBefore = {EC_WORD_ME, EC_WORD_WORRY, EC_WORD_QUES, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NONE},
.speechWin = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_FANTASTIC, EC_WORD_EXCL},
.speechLose = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_ENTERTAINING, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Emilia
+ .monSet = gBattleFrontierTrainerMons_Emilia
},
- [107] = {
+ [FRONTIER_TRAINER_DALIA] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
.trainerName = _("DALIA"),
.speechBefore = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_VERY, EC_WORD_EXPENSIVE, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_COME, EC_WORD_NEAR, EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_MY, EC_WORD_BEST, EC_WORD_FRIEND},
- .monSets = gBattleFrontierTrainerMons_Dalia
+ .monSet = gBattleFrontierTrainerMons_Dalia
},
- [108] = {
+ [FRONTIER_TRAINER_HITOMI] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
.trainerName = _("HITOMI"),
.speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL},
.speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL_EXCL},
- .monSets = gBattleFrontierTrainerMons_Hitomi
+ .monSet = gBattleFrontierTrainerMons_Hitomi
},
- [109] = {
+ [FRONTIER_TRAINER_RICARDO] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
.trainerName = _("RICARDO"),
.speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_PLAY, EC_WORD_TIME, EC_WORD_IS, EC_WORD_OVER},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HERE, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_HIT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Ricardo
+ .monSet = gBattleFrontierTrainerMons_Ricardo
},
- [110] = {
+ [FRONTIER_TRAINER_SHIZUKA] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
.trainerName = _("SHIZUKA"),
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGET, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_PERFECT, EC_WORD_IN, EC_WORD_EVERY, EC_WORD_WAY, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Shizuka
+ .monSet = gBattleFrontierTrainerMons_Shizuka
},
- [111] = {
+ [FRONTIER_TRAINER_JOANA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
.trainerName = _("JOANA"),
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_RIGHT, EC_WORD_AWAY},
.speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_WINNER, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)},
.speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_ACCEPT, EC_WORD_THAT, EC_MOVE(OUTRAGE)},
- .monSets = gBattleFrontierTrainerMons_Joana
+ .monSet = gBattleFrontierTrainerMons_Joana
},
- [112] = {
+ [FRONTIER_TRAINER_KELLY] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
.trainerName = _("KELLY"),
.speechBefore = {EC_WORD_MY, EC_WORD_NIGHT, EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_SCARY},
.speechWin = {EC_WORD_A, EC_WORD_LADY, EC_WORD_GHOST, EC_WORD_APPEARS, EC_WORD_THERE, 0xFFFF},
.speechLose = {EC_WORD_THE, EC_WORD_HOME, EC_WORD_WORK, EC_WORD_IS, EC_WORD_AWFULLY, EC_WORD_SCARY},
- .monSets = gBattleFrontierTrainerMons_Kelly
+ .monSet = gBattleFrontierTrainerMons_Kelly
},
- [113] = {
+ [FRONTIER_TRAINER_RAYNA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
.trainerName = _("RAYNA"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_WHEN, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_POWER},
.speechWin = {EC_WORD_UNDERSTAND, EC_WORD_MY, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Rayna
+ .monSet = gBattleFrontierTrainerMons_Rayna
},
- [114] = {
+ [FRONTIER_TRAINER_EVAN] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("EVAN"),
.speechBefore = {EC_WORD_EVERY, EC_WORD_BATTLE, EC_WORD_HAS, EC_WORD_A, EC_WORD_SMELL, 0xFFFF},
.speechWin = {EC_WORD_OH, EC_WORD_EXCL, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_VICTORY},
.speechLose = {EC_WORD_THE, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_OF, EC_WORD_A, EC_WORD_LOSS},
- .monSets = gBattleFrontierTrainerMons_Evan
+ .monSet = gBattleFrontierTrainerMons_Evan
},
- [115] = {
+ [FRONTIER_TRAINER_JORDAN] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("JORDAN"),
.speechBefore = {EC_WORD_GOOD, EC_WORD_EXCL, 0xFFFF, EC_WORD_COME_ON, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Jordan
+ .monSet = gBattleFrontierTrainerMons_Jordan
},
- [116] = {
+ [FRONTIER_TRAINER_JOEL] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("JOEL"),
.speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Joel
+ .monSet = gBattleFrontierTrainerMons_Joel
},
- [117] = {
+ [FRONTIER_TRAINER_KRISTEN] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("KRISTEN"),
.speechBefore = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_A, EC_WORD_KID, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_JUST, EC_WORD_A_LITTLE, EC_WORD_KID, EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_EXCL},
.speechLose = {EC_WORD_A, EC_WORD_TOUGH, EC_WORD_KID, EC_WORD_HUH_QUES, EC_WORD_HUMPH, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Kristen
+ .monSet = gBattleFrontierTrainerMons_Kristen
},
- [118] = {
+ [FRONTIER_TRAINER_SELPHY] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("SELPHY"),
.speechBefore = {EC_WORD_HUH_QUES, EC_WORD_WHAT, EC_WORD_IS_IT_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_OH, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES},
.speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Selphy
+ .monSet = gBattleFrontierTrainerMons_Selphy
},
- [119] = {
+ [FRONTIER_TRAINER_CHLOE] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("CHLOE"),
.speechBefore = {EC_WORD_COME, EC_WORD_WE, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BATTLE, EC_WORD_NOW},
.speechWin = {EC_WORD_MORE, EC_WORD_EXCL, 0xFFFF, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_EXCL},
.speechLose = {EC_WORD_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_STRONG, EC_WORD_YOU, EC_WORD_ARE},
- .monSets = gBattleFrontierTrainerMons_Chloe
+ .monSet = gBattleFrontierTrainerMons_Chloe
},
- [120] = {
+ [FRONTIER_TRAINER_NORTON] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
.trainerName = _("NORTON"),
.speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_ONLY, EC_WORD_YOU, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_EXCUSE_ME, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_PUSHOVER, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Norton
+ .monSet = gBattleFrontierTrainerMons_Norton
},
- [121] = {
+ [FRONTIER_TRAINER_LUKAS] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
.trainerName = _("LUKAS"),
.speechBefore = {EC_WORD_MY, EC_WORD_JOKING, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_EXISTS, EC_WORD_TO, EC_WORD_SHINE, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_COME, EC_WORD_TO, EC_WORD_SHINE, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Lukas
+ .monSet = gBattleFrontierTrainerMons_Lukas
},
- [122] = {
+ [FRONTIER_TRAINER_ZACH] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
.trainerName = _("ZACH"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_EXCELLENT, EC_MOVE2(MIMIC), EC_WORD_OF, EC_WORD_POKEMON},
.speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_LIKE, EC_WORD_A_LITTLE, EC_POKEMON2(TOGEPI), EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_LIKE, EC_WORD_A, EC_POKEMON2(MANKEY), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Zach
+ .monSet = gBattleFrontierTrainerMons_Zach
},
- [123] = {
+ [FRONTIER_TRAINER_KAITLYN] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
.trainerName = _("KAITLYN"),
.speechBefore = {EC_WORD_I, EC_WORD_CRUSH, EC_WORD_THINGS, EC_WORD_WITH, EC_WORD_PSYCHIC, EC_WORD_POWER},
.speechWin = {EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_THE, EC_WORD_NEWS},
.speechLose = {EC_WORD_NO, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_WON_T, EC_WORD_DO},
- .monSets = gBattleFrontierTrainerMons_Kaitlyn
+ .monSet = gBattleFrontierTrainerMons_Kaitlyn
},
- [124] = {
+ [FRONTIER_TRAINER_BREANNA] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
.trainerName = _("BREANNA"),
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_HAVE, EC_WORD_SOME, EC_WORD_MORE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS, EC_WORD_AND, EC_WORD_SKILL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Breanna
+ .monSet = gBattleFrontierTrainerMons_Breanna
},
- [125] = {
+ [FRONTIER_TRAINER_KENDRA] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
.trainerName = _("KENDRA"),
.speechBefore = {EC_WORD_IF, EC_WORD_YOU_RE, EC_WORD_SMART, EC_WORD_STOP, EC_WORD_RIGHT, EC_WORD_NOW},
.speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_STOP},
.speechLose = {EC_WORD_WHY, EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Kendra
+ .monSet = gBattleFrontierTrainerMons_Kendra
},
- [126] = {
+ [FRONTIER_TRAINER_MOLLY] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
.trainerName = _("MOLLY"),
.speechBefore = {EC_WORD_WILL, EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_TOYS, EC_WORD_NOW},
.speechLose = {EC_WORD_OH, EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Molly
+ .monSet = gBattleFrontierTrainerMons_Molly
},
- [127] = {
+ [FRONTIER_TRAINER_JAZMIN] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
.trainerName = _("JAZMIN"),
.speechBefore = {EC_WORD_I, EC_WORD_FORECAST, EC_WORD_TERRIBLE, EC_WORD_THINGS, EC_WORD_FOR, EC_WORD_YOU},
.speechWin = {EC_WORD_THERE, EC_WORD_WASN_T, EC_WORD_MY, EC_WORD_FORECAST, EC_WORD_RIGHT, EC_WORD_QUES},
.speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_DIDN_T, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Jazmin
+ .monSet = gBattleFrontierTrainerMons_Jazmin
},
- [128] = {
+ [FRONTIER_TRAINER_KELSEY] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
.trainerName = _("KELSEY"),
.speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_SLEPT, EC_WORD_IN, EC_WORD_DAYS, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_WILL, EC_WORD_BE, EC_WORD_EXCELLENT, EC_WORD_NOW},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Kelsey
+ .monSet = gBattleFrontierTrainerMons_Kelsey
},
- [129] = {
+ [FRONTIER_TRAINER_JALEN] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("JALEN"),
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_ALLOW, EC_WORD_POKEMON, EC_WORD_TO, EC_MOVE(THRASH)},
.speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_ANGRY, EC_WORD_QUES},
.speechLose = {EC_WORD_WHY, EC_WORD_IS, EC_WORD_THIS, EC_WORD_SO, EC_WORD_HARD, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Jalen
+ .monSet = gBattleFrontierTrainerMons_Jalen
},
- [130] = {
+ [FRONTIER_TRAINER_GRIFFEN] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("GRIFFEN"),
.speechBefore = {EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(SLUDGE), EC_WORD_TO, EC_MOVE2(TRANSFORM), EC_WORD_MYSELF},
.speechWin = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_MOVE2(ACID_ARMOR)},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_WORD_SUCTION_CUPS},
- .monSets = gBattleFrontierTrainerMons_Griffen
+ .monSet = gBattleFrontierTrainerMons_Griffen
},
- [131] = {
+ [FRONTIER_TRAINER_XANDER] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("XANDER"),
.speechBefore = {EC_WORD_I, EC_WORD_GOT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ON, EC_WORD_RENTAL},
.speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_MY, EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_WON},
.speechLose = {EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_UP, EC_WORD_TO, EC_MOVE2(SCRATCH)},
- .monSets = gBattleFrontierTrainerMons_Xander
+ .monSet = gBattleFrontierTrainerMons_Xander
},
- [132] = {
+ [FRONTIER_TRAINER_MARVIN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("MARVIN"),
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_UP, EC_WORD_TO, EC_WORD_THE, EC_WORD_CHALLENGE, EC_WORD_QUES},
.speechWin = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_GOOD, EC_WORD_ENOUGH},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PERFECT, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
- .monSets = gBattleFrontierTrainerMons_Marvin
+ .monSet = gBattleFrontierTrainerMons_Marvin
},
- [133] = {
+ [FRONTIER_TRAINER_BRENNAN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("BRENNAN"),
.speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_TO, EC_WORD_SEE, EC_WORD_THE, EC_WORD_NEWS},
.speechWin = {EC_WORD_COMICS, EC_WORD_GET, EC_WORD_DAMP, EC_WORD_FROM, EC_WORD_DRIZZLE, EC_WORD_QUES},
.speechLose = {EC_WORD_THE, EC_WORD_TIGHT, EC_WORD_MONEY, EC_WORD_LIVING, EC_WORD_CHANNEL, EC_WORD_QUES_EXCL},
- .monSets = gBattleFrontierTrainerMons_Brennan
+ .monSet = gBattleFrontierTrainerMons_Brennan
},
- [134] = {
+ [FRONTIER_TRAINER_BALEY] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("BALEY"),
.speechBefore = {EC_MOVE(SCREECH), EC_WORD_IS, EC_WORD_LIKE, EC_WORD_MUSIC, EC_WORD_TO_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_MY, EC_MOVE(SCREECH), EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_SOUNDPROOF, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Baley
+ .monSet = gBattleFrontierTrainerMons_Baley
},
- [135] = {
+ [FRONTIER_TRAINER_ZACKARY] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("ZACKARY"),
.speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_MOVE(DIG), EC_WORD_IT, EC_WORD_YO, EC_WORD_QUES},
.speechWin = {EC_MOVE2(TAKE_DOWN), EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YO, EC_WORD_YO},
.speechLose = {EC_WORD_BREAK, EC_WORD_DOWN, EC_MOVE2(DIVE), EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Zackary
+ .monSet = gBattleFrontierTrainerMons_Zackary
},
- [136] = {
+ [FRONTIER_TRAINER_GABRIEL] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("GABRIEL"),
.speechBefore = {EC_MOVE2(POUND), EC_WORD_THE, EC_WORD_THICK_FAT, EC_WORD_ON, EC_WORD_MY, EC_MOVE2(BELLY_DRUM)},
.speechWin = {EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM)},
.speechLose = {EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_WORD_WAS, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Gabriel
+ .monSet = gBattleFrontierTrainerMons_Gabriel
},
- [137] = {
+ [FRONTIER_TRAINER_EMILY] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("EMILY"),
.speechBefore = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A_TINY_BIT, EC_WORD_OF, EC_MOVE(HYPNOSIS), EC_WORD_QUES},
.speechWin = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WORKS, EC_WORD_TO, EC_WORD_PERFECTION},
.speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WENT, EC_WORD_BADLY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Emily
+ .monSet = gBattleFrontierTrainerMons_Emily
},
- [138] = {
+ [FRONTIER_TRAINER_JORDYN] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("JORDYN"),
.speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_MY, EC_WORD_SECRET, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_AS, EC_WORD_I, EC_WORD_APPEAR, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Jordyn
+ .monSet = gBattleFrontierTrainerMons_Jordyn
},
- [139] = {
+ [FRONTIER_TRAINER_SOFIA] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("SOFIA"),
.speechBefore = {EC_POKEMON(LOUDRED), EC_WORD_PROBABLY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), 0xFFFF},
.speechWin = {EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_FEELING, EC_WORD_THAT, EC_WORD_I, EC_WORD_GET},
.speechLose = {EC_WORD_I, EC_WORD_WORK, EC_WORD_AT, EC_WORD_THE, EC_WORD_DEPT_STORE, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Sofia
+ .monSet = gBattleFrontierTrainerMons_Sofia
},
- [140] = {
+ [FRONTIER_TRAINER_BRADEN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("BRADEN"),
.speechBefore = {EC_WORD_I_CHOOSE_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PRETTY, EC_WORD_AWESOME, EC_WORD_ABOUT, EC_WORD_MYSELF},
.speechLose = {EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Braden
+ .monSet = gBattleFrontierTrainerMons_Braden
},
- [141] = {
+ [FRONTIER_TRAINER_KAYDEN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("KAYDEN"),
.speechBefore = {EC_WORD_THEY, EC_WORD_OVERDO, EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ISN_T, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_HEY, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TASTY, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Kayden
+ .monSet = gBattleFrontierTrainerMons_Kayden
},
- [142] = {
+ [FRONTIER_TRAINER_COOPER] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("COOPER"),
.speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_ABSOLUTELY, EC_WORD_BE, EC_WORD_A, EC_WORD_PUSHOVER},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_TOO, EC_WORD_EXCITING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_PLEASE, EC_WORD_EXCL, 0xFFFF, EC_WORD_SORRY, EC_WORD_I_AM, EC_WORD_SORRY},
- .monSets = gBattleFrontierTrainerMons_Cooper
+ .monSet = gBattleFrontierTrainerMons_Cooper
},
- [143] = {
+ [FRONTIER_TRAINER_JULIA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("JULIA"),
.speechBefore = {EC_WORD_SPIRIT, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN},
.speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_THIS, EC_WORD_WITH, EC_WORD_SERENE_GRACE},
.speechLose = {EC_WORD_FOR_NOW, EC_WORD_GOOD_BYE, EC_WORD_BUT, EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_OVER},
- .monSets = gBattleFrontierTrainerMons_Julia
+ .monSet = gBattleFrontierTrainerMons_Julia
},
- [144] = {
+ [FRONTIER_TRAINER_AMARA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("AMARA"),
.speechBefore = {EC_WORD_WROOOAAR_EXCL, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_READY, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_LOSE, EC_WORD_MYSELF, EC_WORD_IF, EC_WORD_IT_S, EC_WORD_EXCITING},
.speechLose = {EC_WORD_THAT_S, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_MOVE2(TACKLE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Amara
+ .monSet = gBattleFrontierTrainerMons_Amara
},
- [145] = {
+ [FRONTIER_TRAINER_LYNN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("LYNN"),
.speechBefore = {EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_FOREVER},
.speechWin = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_NOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_MOVE(SAFEGUARD), EC_WORD_YOUR, EC_WORD_OWN, EC_WORD_SECRET},
- .monSets = gBattleFrontierTrainerMons_Lynn
+ .monSet = gBattleFrontierTrainerMons_Lynn
},
- [146] = {
+ [FRONTIER_TRAINER_JOVAN] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
.trainerName = _("JOVAN"),
.speechBefore = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_SADLY, EC_WORD_LACKING},
.speechWin = {EC_WORD_MY, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_COOL, EC_WORD_ISN_T_IT_QUES},
.speechLose = {EC_WORD_I_WAS, EC_WORD_MINUS, EC_WORD_MY, EC_WORD_NORMAL, EC_WORD_POWER, EC_WORD_TODAY},
- .monSets = gBattleFrontierTrainerMons_Jovan
+ .monSet = gBattleFrontierTrainerMons_Jovan
},
- [147] = {
+ [FRONTIER_TRAINER_DOMINIC] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
.trainerName = _("DOMINIC"),
.speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_THIS, EC_WORD_EXCELLENT, EC_WORD_CAMERA, 0xFFFF},
.speechWin = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_WAS, EC_WORD_AWFULLY, EC_WORD_EXPENSIVE, 0xFFFF},
.speechLose = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_DOESN_T, EC_WORD_MISS, EC_WORD_A, EC_WORD_THING},
- .monSets = gBattleFrontierTrainerMons_Dominic
+ .monSet = gBattleFrontierTrainerMons_Dominic
},
- [148] = {
+ [FRONTIER_TRAINER_NIKOLAS] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
.trainerName = _("NIKOLAS"),
.speechBefore = {EC_WORD_I, EC_MOVE2(MIMIC), EC_WORD_POKEMON, EC_WORD_AFTER, EC_WORD_EVERY, EC_WORD_BATTLE},
.speechWin = {EC_WORD_IF_I_WIN, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(TAUROS)},
.speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(MILTANK)},
- .monSets = gBattleFrontierTrainerMons_Nikolas
+ .monSet = gBattleFrontierTrainerMons_Nikolas
},
- [149] = {
+ [FRONTIER_TRAINER_VALERIA] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
.trainerName = _("VALERIA"),
.speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_NOT, EC_MOVE2(GLARE)},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL, EC_WORD_I, EC_WORD_MEAN, EC_WORD_REALLY},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_A, EC_WORD_REALLY, EC_MOVE(SCARY_FACE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Valeria
+ .monSet = gBattleFrontierTrainerMons_Valeria
},
- [150] = {
+ [FRONTIER_TRAINER_DELANEY] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
.trainerName = _("DELANEY"),
.speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OVER, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY},
.speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_FROM, EC_WORD_SCHOOL},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_WORK, EC_WORD_NEXT, EC_WORD_WEEK},
- .monSets = gBattleFrontierTrainerMons_Delaney
+ .monSet = gBattleFrontierTrainerMons_Delaney
},
- [151] = {
+ [FRONTIER_TRAINER_MEGHAN] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
.trainerName = _("MEGHAN"),
.speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OUT, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY},
.speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_LIKES, EC_WORD_COMICS, 0xFFFF},
.speechLose = {EC_WORD_IT_S, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_SOON, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Meghan
+ .monSet = gBattleFrontierTrainerMons_Meghan
},
- [152] = {
+ [FRONTIER_TRAINER_ROBERTO] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
.trainerName = _("ROBERTO"),
.speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_INVINCIBLE, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BAD, EC_WORD_I_WAS, EC_WORD_JUST, EC_WORD_BETTER},
.speechLose = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_SATISFIED, EC_WORD_YET, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Roberto
+ .monSet = gBattleFrontierTrainerMons_Roberto
},
- [153] = {
+ [FRONTIER_TRAINER_DAMIAN] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
.trainerName = _("DAMIAN"),
.speechBefore = {EC_WORD_MY, EC_WORD_PURE_POWER, EC_WORD_IS, EC_WORD_MACHINE, EC_WORD_LIKE, EC_WORD_EXCL},
.speechWin = {EC_WORD_MY, EC_MOVE2(MACH_PUNCH), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)},
.speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_EXCL_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Damian
+ .monSet = gBattleFrontierTrainerMons_Damian
},
- [154] = {
+ [FRONTIER_TRAINER_BRODY] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
.trainerName = _("BRODY"),
.speechBefore = {EC_WORD_MY, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SEEMS, EC_POKEMON(ODDISH), EC_WORD_QUES},
.speechWin = {EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FAMILY, EC_WORD_STAY_AT_HOME, EC_WORD_LOOK, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_QUESTION, EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SERIOUSLY},
- .monSets = gBattleFrontierTrainerMons_Brody
+ .monSet = gBattleFrontierTrainerMons_Brody
},
- [155] = {
+ [FRONTIER_TRAINER_GRAHAM] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
.trainerName = _("GRAHAM"),
.speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_BAD},
- .monSets = gBattleFrontierTrainerMons_Graham
+ .monSet = gBattleFrontierTrainerMons_Graham
},
- [156] = {
+ [FRONTIER_TRAINER_TYLOR] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("TYLOR"),
.speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_MY, EC_MOVE2(HEAT_WAVE), EC_WORD_QUES},
.speechWin = {EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_BUT, EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_FOR, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Tylor
+ .monSet = gBattleFrontierTrainerMons_Tylor
},
- [157] = {
+ [FRONTIER_TRAINER_JAREN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("JAREN"),
.speechBefore = {EC_WORD_FIGHTING, EC_WORD_SPIRIT, EC_WORD_QUES, EC_WORD_ME, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MORE, EC_WORD_CUTE, EC_WORD_POKEMON, 0xFFFF},
.speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_QUITE, EC_WORD_CUTE, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Jaren
+ .monSet = gBattleFrontierTrainerMons_Jaren
},
- [158] = {
+ [FRONTIER_TRAINER_CORDELL] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
.trainerName = _("CORDELL"),
.speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_DECIDED, EC_WORD_ON, EC_WORD_SPIRIT},
.speechWin = {EC_WORD_CAN_T, EC_WORD_YOU, EC_WORD_ACCEPT, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_ON, EC_WORD_MY, EC_WORD_WAY},
- .monSets = gBattleFrontierTrainerMons_Cordell
+ .monSet = gBattleFrontierTrainerMons_Cordell
},
- [159] = {
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ [FRONTIER_TRAINER_JAZLYN] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("JAZLYN"),
.speechBefore = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_QUES},
.speechWin = {EC_WORD_OH_YEAH, EC_WORD_WOW, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_SUPER},
.speechLose = {EC_WORD_AN, EC_WORD_AVANT_GARDE, EC_WORD_POKEDEX, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_AWESOME},
- .monSets = gBattleFrontierTrainerMons_Jazlyn
+ .monSet = gBattleFrontierTrainerMons_Jazlyn
},
- [160] = {
+ [FRONTIER_TRAINER_ZACHERY] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("ZACHERY"),
.speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_MY, EC_WORD_OWN, EC_WORD_PLACE, EC_WORD_YEEHAW_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_FLATTEN, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Zachery
+ .monSet = gBattleFrontierTrainerMons_Zachery
},
- [161] = {
+ [FRONTIER_TRAINER_JOHAN] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("JOHAN"),
.speechBefore = {EC_WORD_WINTER, EC_WORD_WILL, EC_WORD_SOON, EC_WORD_BE, EC_WORD_HERE, 0xFFFF},
.speechWin = {EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_MOVE2(HELPING_HAND)},
.speechLose = {EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_USE, EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_UP},
- .monSets = gBattleFrontierTrainerMons_Johan
+ .monSet = gBattleFrontierTrainerMons_Johan
},
- [162] = {
+ [FRONTIER_TRAINER_SHEA] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("SHEA"),
.speechBefore = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_WITH, EC_WORD_BEAUTY, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_IN, EC_WORD_AN, EC_WORD_UGLY, EC_WORD_WAY},
.speechLose = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_BEAUTY, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Shea
+ .monSet = gBattleFrontierTrainerMons_Shea
},
- [163] = {
+ [FRONTIER_TRAINER_KAILA] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("KAILA"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_THIRSTY, EC_WORD_RIGHT, EC_WORD_NOW, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_WORD_COLD, EC_WORD_DRINK},
.speechLose = {EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_MOVE2(SWALLOW)},
- .monSets = gBattleFrontierTrainerMons_Kaila
+ .monSet = gBattleFrontierTrainerMons_Kaila
},
- [164] = {
+ [FRONTIER_TRAINER_ISIAH] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
.trainerName = _("ISIAH"),
.speechBefore = {EC_WORD_I, EC_WORD_PRETEND, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_A_LOT, 0xFFFF},
.speechWin = {EC_WORD_I, EC_MOVE2(TRICK), EC_WORD_MOTHER, EC_WORD_FOR, EC_WORD_MY, EC_WORD_ALLOWANCE},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_WANT, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE},
- .monSets = gBattleFrontierTrainerMons_Isiah
+ .monSet = gBattleFrontierTrainerMons_Isiah
},
- [165] = {
+ [FRONTIER_TRAINER_GARRETT] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
.trainerName = _("GARRETT"),
.speechBefore = {EC_WORD_I, EC_WORD_ENJOY, EC_WORD_COMICS, EC_WORD_AND, EC_WORD_THIS, EC_WORD_GAME},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_MUSIC, EC_WORD_IDOL, EC_WORD_TOO},
.speechLose = {EC_WORD_BUT, EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE},
- .monSets = gBattleFrontierTrainerMons_Garrett
+ .monSet = gBattleFrontierTrainerMons_Garrett
},
- [166] = {
+ [FRONTIER_TRAINER_HAYLIE] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("HAYLIE"),
.speechBefore = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_SLEEP},
.speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A, EC_MOVE2(CALM_MIND)},
.speechLose = {EC_WORD_MY, EC_WORD_INSOMNIA, EC_WORD_WILL, EC_WORD_GET, EC_WORD_BAD, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Haylie
+ .monSet = gBattleFrontierTrainerMons_Haylie
},
- [167] = {
+ [FRONTIER_TRAINER_MEGAN] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("MEGAN"),
.speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_AN, EC_MOVE(AROMATHERAPY), EC_WORD_BATH},
.speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_HEALTHY, EC_WORD_CLEAR_BODY, 0xFFFF},
.speechLose = {EC_WORD_IF, EC_WORD_ONLY, EC_MOVE(AROMATHERAPY), EC_WORD_WERE, EC_WORD_LESS, EC_WORD_EXPENSIVE},
- .monSets = gBattleFrontierTrainerMons_Megan
+ .monSet = gBattleFrontierTrainerMons_Megan
},
- [168] = {
+ [FRONTIER_TRAINER_ISSAC] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("ISSAC"),
.speechBefore = {EC_WORD_MY, EC_WORD_HOBBY, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(WATER_SPORT)},
.speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(MUD_SPORT)},
- .monSets = gBattleFrontierTrainerMons_Issac
+ .monSet = gBattleFrontierTrainerMons_Issac
},
- [169] = {
+ [FRONTIER_TRAINER_QUINTON] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("QUINTON"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_CAUSE, EC_WORD_I_AM, EC_WORD_TOO_WEAK, 0xFFFF},
.speechWin = {EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF},
.speechLose = {EC_WORD_HEY, EC_WORD_WHAT, EC_WORD_DID, EC_WORD_I, EC_WORD_DO, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Quinton
+ .monSet = gBattleFrontierTrainerMons_Quinton
},
- [170] = {
+ [FRONTIER_TRAINER_SALMA] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("SALMA"),
.speechBefore = {EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_YOUR, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_YOU, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_OUT},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_I, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Salma
+ .monSet = gBattleFrontierTrainerMons_Salma
},
- [171] = {
+ [FRONTIER_TRAINER_ANSLEY] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("ANSLEY"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_ELLIPSIS, EC_WORD_DANCE, EC_WORD_FOR, EC_WORD_ME},
.speechWin = {EC_WORD_YOU_VE, EC_WORD_BORED, EC_WORD_ME, EC_WORD_SOME, EC_WORD_MORE, 0xFFFF},
.speechLose = {EC_WORD_TAKE, EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SOME, EC_WORD_OTHER, EC_WORD_PLACE},
- .monSets = gBattleFrontierTrainerMons_Ansley
+ .monSet = gBattleFrontierTrainerMons_Ansley
},
- [172] = {
+ [FRONTIER_TRAINER_HOLDEN] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
.trainerName = _("HOLDEN"),
.speechBefore = {EC_WORD_LET_S, EC_WORD_COMMEMORATE, EC_WORD_MY, EC_WORD_COOLNESS, EC_WORD_IN, EC_WORD_BATTLE},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_PRAISE, 0xFFFF},
.speechLose = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_AMUSING, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Holden
+ .monSet = gBattleFrontierTrainerMons_Holden
},
- [173] = {
+ [FRONTIER_TRAINER_LUCA] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
.trainerName = _("LUCA"),
.speechBefore = {EC_WORD_WE, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_COOL, EC_WORD_BATTLE},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_IN, EC_WORD_A, EC_WORD_COOL, EC_WORD_WAY},
.speechLose = {EC_WORD_HELLO, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_A, EC_WORD_KID},
- .monSets = gBattleFrontierTrainerMons_Luca
+ .monSet = gBattleFrontierTrainerMons_Luca
},
- [174] = {
+ [FRONTIER_TRAINER_JAMISON] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("JAMISON"),
.speechBefore = {EC_WORD_MY, EC_MOVE2(SECRET_POWER), EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_TO, EC_WORD_POKEMON},
.speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_USE, EC_MOVE(SMOKESCREEN), EC_WORD_TO, EC_WORD_ESCAPE},
- .monSets = gBattleFrontierTrainerMons_Jamison
+ .monSet = gBattleFrontierTrainerMons_Jamison
},
- [175] = {
+ [FRONTIER_TRAINER_GUNNAR] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("GUNNAR"),
.speechBefore = {EC_WORD_I, EC_MOVE(CUT), EC_WORD_DOWN, EC_WORD_EVERY, EC_WORD_OPPONENT, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS},
.speechLose = {EC_WORD_PLEASE, EC_WORD_LOSE, EC_WORD_THAT, EC_MOVE(SCARY_FACE), EC_WORD_OF, EC_WORD_YOURS},
- .monSets = gBattleFrontierTrainerMons_Gunnar
+ .monSet = gBattleFrontierTrainerMons_Gunnar
},
- [176] = {
+ [FRONTIER_TRAINER_CRAIG] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("CRAIG"),
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_TRAIN},
.speechWin = {EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_ISN_T, EC_WORD_HERE, EC_WORD_YET, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_HERE_IT_IS, EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_SEE_YA, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Craig
+ .monSet = gBattleFrontierTrainerMons_Craig
},
- [177] = {
+ [FRONTIER_TRAINER_PIERCE] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("PIERCE"),
.speechBefore = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_A, EC_MOVE2(HEAT_WAVE), EC_WORD_LAST, EC_WORD_WEEK},
.speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(HEAT_WAVE), 0xFFFF},
.speechLose = {EC_WORD_DIDN_T, EC_WORD_IT, EC_MOVE(HAIL), EC_WORD_TOO, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Pierce
+ .monSet = gBattleFrontierTrainerMons_Pierce
},
- [178] = {
+ [FRONTIER_TRAINER_REGINA] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("REGINA"),
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PLAY, EC_WORD_IN, EC_WORD_WATER},
.speechWin = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_COME, EC_WORD_OUT, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_MUCH, EC_WORD_GOOD, EC_WORD_IN, EC_WORD_WATER},
- .monSets = gBattleFrontierTrainerMons_Regina
+ .monSet = gBattleFrontierTrainerMons_Regina
},
- [179] = {
+ [FRONTIER_TRAINER_ALISON] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("ALISON"),
.speechBefore = {EC_WORD_THIS, EC_WORD_KINDERGARTEN, EC_WORD_MAGAZINE, EC_WORD_IS, EC_WORD_TOO, EC_WORD_MUCH},
.speechWin = {EC_WORD_HOW, EC_WORD_TO, EC_WORD_BUG, EC_WORD_YOUR, EC_WORD_TEACHER, EC_WORD_QUES},
.speechLose = {EC_WORD_ENJOY, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SCHOOL, EC_WORD_DIET, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Alison
+ .monSet = gBattleFrontierTrainerMons_Alison
},
- [180] = {
+ [FRONTIER_TRAINER_HANK] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("HANK"),
.speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_A, EC_WORD_BUG, EC_WORD_EVENT, EC_WORD_SOON},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_BUG, EC_WORD_FASHION, EC_WORD_SHOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Hank
+ .monSet = gBattleFrontierTrainerMons_Hank
},
- [181] = {
+ [FRONTIER_TRAINER_EARL] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("EARL"),
.speechBefore = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_IS, EC_WORD_HERE},
.speechWin = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_AM, EC_WORD_I},
.speechLose = {EC_WORD_SEE, EC_WORD_HOW, EC_WORD_FAST, EC_WORD_I, EC_WORD_RUN_AWAY, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Earl
+ .monSet = gBattleFrontierTrainerMons_Earl
},
- [182] = {
+ [FRONTIER_TRAINER_RAMIRO] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("RAMIRO"),
.speechBefore = {EC_WORD_I, EC_WORD_WENT, EC_WORD_TO, EC_WORD_A, EC_WORD_FISHING, EC_WORD_SCHOOL},
.speechWin = {EC_WORD_SERIOUSLY, EC_WORD_I_AM, EC_WORD_IN, EC_WORD_THE, EC_WORD_FISHING, EC_WORD_HALL_OF_FAME},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_BACK, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Ramiro
+ .monSet = gBattleFrontierTrainerMons_Ramiro
},
- [183] = {
+ [FRONTIER_TRAINER_HUNTER] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("HUNTER"),
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_TOTALLY, EC_WORD_COOL, EC_MOVE(CROSS_CHOP)},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE(CROSS_CHOP)},
.speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_A, EC_WORD_MISTAKE, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Hunter
+ .monSet = gBattleFrontierTrainerMons_Hunter
},
- [184] = {
+ [FRONTIER_TRAINER_AIDEN] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("AIDEN"),
.speechBefore = {EC_WORD_MY, EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_HEALTHY},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_HEALTHY, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_HEALTHY, EC_WORD_THAN, EC_WORD_I_AM, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Aiden
+ .monSet = gBattleFrontierTrainerMons_Aiden
},
- [185] = {
+ [FRONTIER_TRAINER_XAVIER] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("XAVIER"),
.speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, 0xFFFF, EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, EC_WORD_THAT_WAS, EC_WORD_FUNNY, 0xFFFF},
.speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
- .monSets = gBattleFrontierTrainerMons_Xavier
+ .monSet = gBattleFrontierTrainerMons_Xavier
},
- [186] = {
+ [FRONTIER_TRAINER_CLINTON] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("CLINTON"),
.speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_QUES},
.speechWin = {EC_WORD_YOUR, EC_MOVE2(FURY_SWIPES), EC_WORD_YOUR, EC_MOVE(STRENGTH), EC_WORD_YOUNG, EC_WORD_TRAINER},
.speechLose = {EC_WORD_TCH, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Clinton
+ .monSet = gBattleFrontierTrainerMons_Clinton
},
- [187] = {
+ [FRONTIER_TRAINER_JESSE] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("JESSE"),
.speechBefore = {EC_WORD_THIS, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_FOR, EC_WORD_MY, EC_WORD_MOTHER},
.speechWin = {EC_WORD_MOTHER, EC_WORD_WILL, EC_WORD_BE, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MY, EC_WORD_MOTHER, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Jesse
+ .monSet = gBattleFrontierTrainerMons_Jesse
},
- [188] = {
+ [FRONTIER_TRAINER_EDUARDO] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("EDUARDO"),
.speechBefore = {EC_WORD_OUR, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ALL, EC_WORD_NIGHT},
.speechWin = {EC_WORD_NIGHTTIME, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_I, EC_WORD_PLAY, EC_WORD_BEST},
.speechLose = {EC_WORD_LET_S, EC_WORD_PARTY, EC_WORD_UNTIL, EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Eduardo
+ .monSet = gBattleFrontierTrainerMons_Eduardo
},
- [189] = {
+ [FRONTIER_TRAINER_HAL] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("HAL"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_TRENDY, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_HIP_AND, EC_WORD_HAPPENING, EC_WORD_OH_YEAH, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_TRENDY, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH},
- .monSets = gBattleFrontierTrainerMons_Hal
+ .monSet = gBattleFrontierTrainerMons_Hal
},
- [190] = {
+ [FRONTIER_TRAINER_GAGE] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("GAGE"),
.speechBefore = {EC_WORD_HERE_IT_IS, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_HIDDEN, EC_WORD_MOVE},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_VICTORY, EC_WORD_EXCL},
.speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_JUST, EC_MOVE(FLY), EC_WORD_AWAY, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Gage
+ .monSet = gBattleFrontierTrainerMons_Gage
},
- [191] = {
+ [FRONTIER_TRAINER_ARNOLD] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("ARNOLD"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_WEIRD, EC_WORD_FROM, EC_WORD_A, EC_WORD_DREAM},
.speechWin = {EC_WORD_YOUR, EC_MOVE(SCARY_FACE), EC_WORD_WAS, EC_WORD_IN, EC_WORD_MY, EC_WORD_DREAM},
.speechLose = {EC_WORD_MY, EC_WORD_INCREDIBLE, EC_WORD_DREAM, EC_WORD_WAS, EC_WORD_SO, EC_WORD_WEIRD},
- .monSets = gBattleFrontierTrainerMons_Arnold
+ .monSet = gBattleFrontierTrainerMons_Arnold
},
- [192] = {
+ [FRONTIER_TRAINER_JARRETT] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("JARRETT"),
.speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_YESTERDAY},
.speechWin = {EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_APPRECIATE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE},
- .monSets = gBattleFrontierTrainerMons_Jarrett
+ .monSet = gBattleFrontierTrainerMons_Jarrett
},
- [193] = {
+ [FRONTIER_TRAINER_GARETT] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("GARETT"),
.speechBefore = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A_LITTLE, EC_MOVE2(SWEET_KISS)},
.speechWin = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_MY, EC_WORD_TREASURE},
.speechLose = {EC_WORD_A, EC_WORD_TREASURE, EC_WORD_ISN_T, EC_WORD_ALWAYS, EC_WORD_ABOUT, EC_WORD_MONEY},
- .monSets = gBattleFrontierTrainerMons_Garett
+ .monSet = gBattleFrontierTrainerMons_Garett
},
- [194] = {
+ [FRONTIER_TRAINER_EMANUEL] = {
.facilityClass = FACILITY_CLASS_HIKER,
.trainerName = _("EMANUEL"),
.speechBefore = {EC_WORD_SMARTNESS, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN},
.speechWin = {EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_SMART, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON},
.speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_MOVE2(FAKE_OUT), EC_WORD_ME, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Emanuel
+ .monSet = gBattleFrontierTrainerMons_Emanuel
},
- [195] = {
+ [FRONTIER_TRAINER_GUSTAVO] = {
.facilityClass = FACILITY_CLASS_HIKER,
.trainerName = _("GUSTAVO"),
.speechBefore = {EC_MOVE(CHARGE), EC_WORD_EXCL, 0xFFFF, EC_MOVE(CHARGE), EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_SURRENDER, EC_WORD_QUES, 0xFFFF, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_SURRENDER, EC_WORD_YET},
- .monSets = gBattleFrontierTrainerMons_Gustavo
+ .monSet = gBattleFrontierTrainerMons_Gustavo
},
- [196] = {
+ [FRONTIER_TRAINER_KAMERON] = {
.facilityClass = FACILITY_CLASS_KINDLER,
.trainerName = _("KAMERON"),
.speechBefore = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK)},
.speechWin = {EC_WORD_DID, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK), EC_MOVE(ASTONISH), EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_FALL, EC_WORD_FOR, EC_WORD_MY, EC_MOVE2(TRICK)},
- .monSets = gBattleFrontierTrainerMons_Kameron
+ .monSet = gBattleFrontierTrainerMons_Kameron
},
- [197] = {
+ [FRONTIER_TRAINER_ALFREDO] = {
.facilityClass = FACILITY_CLASS_KINDLER,
.trainerName = _("ALFREDO"),
.speechBefore = {EC_WORD_A, EC_WORD_FIERY, EC_WORD_GOURMET, EC_WORD_AM, EC_WORD_I, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TASTY, EC_WORD_GOURMET, EC_WORD_VICTORY, EC_WORD_EXCL},
.speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_DISASTER, EC_WORD_THAT_WAS, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Alfredo
+ .monSet = gBattleFrontierTrainerMons_Alfredo
},
- [198] = {
+ [FRONTIER_TRAINER_RUBEN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("RUBEN"),
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING},
.speechWin = {EC_WORD_GET, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
.speechLose = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Ruben
+ .monSet = gBattleFrontierTrainerMons_Ruben
},
- [199] = {
+ [FRONTIER_TRAINER_LAMAR] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("LAMAR"),
.speechBefore = {EC_WORD_A, EC_MOVE2(PRESENT), EC_WORD_FOR, EC_WORD_ME, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_MMM, EC_WORD_THIS, EC_WORD_IS, EC_WORD_QUITE, EC_WORD_TASTY, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_OH, EC_WORD_IT_S, EC_WORD_A, EC_WORD_GAME, EC_WORD_IS_IT_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Lamar
+ .monSet = gBattleFrontierTrainerMons_Lamar
},
- [200] = {
+ [FRONTIER_TRAINER_JAXON] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("JAXON"),
.speechBefore = {EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_WANT},
.speechWin = {EC_WORD_MY, EC_WORD_FATHER, EC_WORD_AND, EC_WORD_MOTHER, EC_WORD_WON_T, EC_WORD_ACCEPT},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Jaxon
+ .monSet = gBattleFrontierTrainerMons_Jaxon
},
- [201] = {
+ [FRONTIER_TRAINER_LOGAN] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("LOGAN"),
.speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_WILL, EC_WORD_STUDY, EC_WORD_FOR, EC_WORD_SCHOOL},
.speechWin = {EC_WORD_ME, EC_WORD_STUDY, EC_WORD_QUES, EC_WORD_NOT_VERY, EC_WORD_LIKELY_TO, EC_WORD_SEE},
.speechLose = {EC_WORD_NO, EC_WORD_THANKS, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SLEEP},
- .monSets = gBattleFrontierTrainerMons_Logan
+ .monSet = gBattleFrontierTrainerMons_Logan
},
- [202] = {
+ [FRONTIER_TRAINER_EMILEE] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("EMILEE"),
.speechBefore = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_KIND, EC_WORD_OF, EC_WORD_BATTLE, EC_WORD_OK_QUES},
.speechWin = {EC_WORD_LET_S, EC_WORD_GO, EC_WORD_FOR, EC_WORD_AN, EC_MOVE(ICY_WIND), EC_MOVE2(SURF)},
.speechLose = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A, EC_MOVE(ROCK_SLIDE), EC_WORD_SHOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Emilee
+ .monSet = gBattleFrontierTrainerMons_Emilee
},
- [203] = {
+ [FRONTIER_TRAINER_JOSIE] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("JOSIE"),
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_FASHION, EC_WORD_CONTEST, EC_WORD_IS, EC_WORD_PRETTY},
.speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_MODE, EC_WORD_FASHION, EC_WORD_THINGS},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_LACKING, EC_WORD_IN, EC_WORD_FASHION, EC_WORD_SENSE},
- .monSets = gBattleFrontierTrainerMons_Josie
+ .monSet = gBattleFrontierTrainerMons_Josie
},
- [204] = {
+ [FRONTIER_TRAINER_ARMANDO] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("ARMANDO"),
.speechBefore = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON},
.speechWin = {EC_WORD_TRADE, EC_WORD_ME, EC_WORD_A, EC_WORD_GRASS, EC_WORD_POKEMON, EC_WORD_PLEASE},
.speechLose = {EC_WORD_THERE, EC_WORD_AREN_T, EC_WORD_ENOUGH, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Armando
+ .monSet = gBattleFrontierTrainerMons_Armando
},
- [205] = {
+ [FRONTIER_TRAINER_SKYLER] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("SKYLER"),
.speechBefore = {EC_MOVE2(INGRAIN), EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_BATTLE, EC_WORD_MOVE},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MOVE, EC_WORD_ME, EC_WORD_NOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_MOVE(CUT), EC_WORD_ME, EC_WORD_DOWN, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Skyler
+ .monSet = gBattleFrontierTrainerMons_Skyler
},
- [206] = {
+ [FRONTIER_TRAINER_RUTH] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("RUTH"),
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_BATTLE},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_PLEASE, EC_WORD_STOP, EC_WORD_I, EC_WORD_DON_T, EC_WORD_ENJOY, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Ruth
+ .monSet = gBattleFrontierTrainerMons_Ruth
},
- [207] = {
+ [FRONTIER_TRAINER_MELODY] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("MELODY"),
.speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_SUNDAY, EC_WORD_IS, EC_WORD_A, EC_MOVE2(SUNNY_DAY)},
.speechWin = {EC_WORD_SUNDAY, EC_WORD_SEEMS, EC_WORD_FOREVER, EC_WORD_TO, EC_WORD_COME, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_THE, EC_WORD_FORECAST, EC_WORD_SAYS, EC_WORD_IT, EC_WORD_WILL, EC_MOVE(HAIL)},
- .monSets = gBattleFrontierTrainerMons_Melody
+ .monSet = gBattleFrontierTrainerMons_Melody
},
- [208] = {
+ [FRONTIER_TRAINER_PEDRO] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("PEDRO"),
.speechBefore = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WILL, EC_WORD_DO, EC_WORD_YOU, EC_WORD_GOOD},
.speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_I, EC_WORD_SINK, EC_WORD_AN, EC_WORD_OPPONENT},
.speechLose = {EC_WORD_UH_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Pedro
+ .monSet = gBattleFrontierTrainerMons_Pedro
},
- [209] = {
+ [FRONTIER_TRAINER_ERICK] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("ERICK"),
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(TACKLE), EC_WORD_YOU, EC_WORD_DOWN, EC_WORD_EXCL},
.speechWin = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_RUN_AWAY, EC_WORD_YOU, EC_WORD_LOSER, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU, EC_WORD_WOULD, EC_MOVE(COUNTER)},
- .monSets = gBattleFrontierTrainerMons_Erick
+ .monSet = gBattleFrontierTrainerMons_Erick
},
- [210] = {
+ [FRONTIER_TRAINER_ELAINE] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("ELAINE"),
.speechBefore = {EC_WORD_MY, EC_WORD_HEROINE, EC_WORD_ADVENTURE, EC_WORD_ISN_T, EC_WORD_GOING, EC_WORD_WELL},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED},
.speechLose = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_HEROINE},
- .monSets = gBattleFrontierTrainerMons_Elaine
+ .monSet = gBattleFrontierTrainerMons_Elaine
},
- [211] = {
+ [FRONTIER_TRAINER_JOYCE] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("JOYCE"),
.speechBefore = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GO, EC_WORD_AHAHA, EC_WORD_EXCL},
.speechWin = {EC_WORD_LALALA, EC_WORD_NO, EC_WORD_LOSING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_EXCL},
.speechLose = {EC_WORD_LALALA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Joyce
+ .monSet = gBattleFrontierTrainerMons_Joyce
},
- [212] = {
+ [FRONTIER_TRAINER_TODD] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("TODD"),
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LIGHTNINGROD, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POWER},
.speechWin = {EC_WORD_THAT_S, EC_WORD_ALL, EC_WORD_YOU, EC_WORD_COULD, EC_MOVE(ABSORB), EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_MOVE2(REFLECT), EC_WORD_MY, EC_WORD_POWER, EC_WORD_BACK, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Todd
+ .monSet = gBattleFrontierTrainerMons_Todd
},
- [213] = {
+ [FRONTIER_TRAINER_GAVIN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("GAVIN"),
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(BIDE), EC_WORD_MY, EC_WORD_TIME, 0xFFFF},
.speechWin = {EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_MY, EC_WORD_MISTAKE, EC_WORD_WAS, EC_WORD_TOO, EC_WORD_EXPENSIVE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Gavin
+ .monSet = gBattleFrontierTrainerMons_Gavin
},
- [214] = {
+ [FRONTIER_TRAINER_MALORY] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("MALORY"),
.speechBefore = {EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_CUTE, EC_WORD_POKEMON},
.speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
.speechLose = {EC_WORD_TCH, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_NICE},
- .monSets = gBattleFrontierTrainerMons_Malory
+ .monSet = gBattleFrontierTrainerMons_Malory
},
- [215] = {
+ [FRONTIER_TRAINER_ESTHER] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("ESTHER"),
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_NICE, EC_MOVE2(PRESENT), EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_PLEASE, EC_WORD_GET, EC_WORD_ME, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_GAME},
.speechLose = {EC_WORD_MESSAGE, EC_WORD_CARDS, EC_WORD_MAKE, EC_WORD_A, EC_WORD_WEAK, EC_MOVE2(PRESENT)},
- .monSets = gBattleFrontierTrainerMons_Esther
+ .monSet = gBattleFrontierTrainerMons_Esther
},
- [216] = {
+ [FRONTIER_TRAINER_OSCAR] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
.trainerName = _("OSCAR"),
.speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_IN, EC_WORD_FULL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_YOUR, EC_WORD_FULL, EC_WORD_POWER, EC_WORD_EXCL},
.speechLose = {EC_WORD_NOT, EC_WORD_FUNNY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_TOO_STRONG, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Oscar
+ .monSet = gBattleFrontierTrainerMons_Oscar
},
- [217] = {
+ [FRONTIER_TRAINER_WILSON] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
.trainerName = _("WILSON"),
.speechBefore = {EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_AN, EC_WORD_EARLY_BIRD},
.speechWin = {EC_WORD_ALL, EC_WORD_WORK, EC_WORD_AND, EC_WORD_NO, EC_WORD_PLAY, EC_WORD_ELLIPSIS},
.speechLose = {EC_MOVE(ENDURE), EC_WORD_IS, EC_WORD_ALL, EC_WORD_I, EC_WORD_CAN, EC_WORD_DO},
- .monSets = gBattleFrontierTrainerMons_Wilson
+ .monSet = gBattleFrontierTrainerMons_Wilson
},
- [218] = {
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ [FRONTIER_TRAINER_CLARE] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("CLARE"),
.speechBefore = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_TRAINER, EC_WORD_EXCL},
.speechWin = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_A, EC_WORD_WIMPY, EC_WORD_TRAINER, EC_WORD_EXCL},
.speechLose = {EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_TRAINER, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Clare
+ .monSet = gBattleFrontierTrainerMons_Clare
},
- [219] = {
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ [FRONTIER_TRAINER_TESS] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.trainerName = _("TESS"),
.speechBefore = {EC_WORD_WANT, EC_WORD_SOME, EC_POKEMON(GULPIN), EC_WORD_DESIGN, EC_WORD_SWEETS, EC_WORD_QUES},
.speechWin = {EC_WORD_THEY_RE, EC_WORD_A, EC_WORD_SECRET, EC_WORD_POKEMON, EC_WORD_GOURMET, EC_WORD_ITEM},
.speechLose = {EC_WORD_THEY_RE, EC_WORD_TASTY, EC_WORD_EXCL, EC_WORD_REFRESHING, EC_WORD_TOO, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Tess
+ .monSet = gBattleFrontierTrainerMons_Tess
},
- [220] = {
+ [FRONTIER_TRAINER_LEON] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("LEON"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ANY, EC_WORD_OTHER, EC_WORD_TRAINER},
.speechWin = {EC_WORD_I, EC_WORD_DID, EC_WORD_IT, EC_MOVE2(JUMP_KICK), EC_WORD_FOR, EC_WORD_JOY},
.speechLose = {EC_WORD_BACK, EC_WORD_HOME, EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Leon
+ .monSet = gBattleFrontierTrainerMons_Leon
},
- [221] = {
+ [FRONTIER_TRAINER_ALONZO] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("ALONZO"),
.speechBefore = {EC_WORD_I_VE, EC_WORD_NOT, EC_WORD_LOST, EC_WORD_ONCE, EC_WORD_YET, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOUR, EC_WORD_SAD, EC_WORD_LOOK, EC_WORD_BECOMES, EC_WORD_YOU, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Alonzo
+ .monSet = gBattleFrontierTrainerMons_Alonzo
},
- [222] = {
+ [FRONTIER_TRAINER_VINCE] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("VINCE"),
.speechBefore = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_RANK, EC_WORD_BELONGS_TO, EC_WORD_ME, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_APPEAL, EC_WORD_THIS, EC_MOVE(OUTRAGE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Vince
+ .monSet = gBattleFrontierTrainerMons_Vince
},
- [223] = {
+ [FRONTIER_TRAINER_BRYON] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("BRYON"),
.speechBefore = {EC_WORD_MY, EC_MOVE2(BARRAGE), EC_WORD_WILL, EC_MOVE2(SLAM), EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_COUNT_ON, EC_WORD_ANY, EC_WORD_LESS, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_IT, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Bryon
+ .monSet = gBattleFrontierTrainerMons_Bryon
},
- [224] = {
+ [FRONTIER_TRAINER_AVA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("AVA"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_TREASURE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_WORLD},
.speechWin = {EC_WORD_MY, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_FULL, EC_WORD_OF, EC_WORD_WONDER},
.speechLose = {EC_WORD_WHY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_TERRIBLE, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Ava
+ .monSet = gBattleFrontierTrainerMons_Ava
},
- [225] = {
+ [FRONTIER_TRAINER_MIRIAM] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("MIRIAM"),
.speechBefore = {EC_WORD_OH, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_WITH, EC_WORD_A, EC_MOVE(SCARY_FACE)},
.speechWin = {EC_WORD_AHAHA, EC_WORD_YOU, EC_WORD_ONLY, EC_WORD_LOOK, EC_WORD_SCARY, EC_WORD_EXCL},
.speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SCARY},
- .monSets = gBattleFrontierTrainerMons_Miriam
+ .monSet = gBattleFrontierTrainerMons_Miriam
},
- [226] = {
+ [FRONTIER_TRAINER_CARRIE] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("CARRIE"),
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SHOW, EC_WORD_YOU, EC_WORD_GUTSY, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_ABOUT, EC_WORD_GUTS, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_MOVE(SELF_DESTRUCT), EC_WORD_MODE, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Carrie
+ .monSet = gBattleFrontierTrainerMons_Carrie
},
- [227] = {
+ [FRONTIER_TRAINER_GILLIAN2] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("GILLIAN"),
.speechBefore = {EC_WORD_I, EC_WORD_SEEK, EC_WORD_A, EC_WORD_TRULY, EC_WORD_GREAT, EC_WORD_BATTLE},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_A_LOT, EC_WORD_BETTER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_A_LITTLE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE},
- .monSets = gBattleFrontierTrainerMons_Gillian2
+ .monSet = gBattleFrontierTrainerMons_Gillian2
},
- [228] = {
+ [FRONTIER_TRAINER_TYLER] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
.trainerName = _("TYLER"),
.speechBefore = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_LET_S, EC_WORD_GO, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_YO},
.speechLose = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_YO},
- .monSets = gBattleFrontierTrainerMons_Tyler
+ .monSet = gBattleFrontierTrainerMons_Tyler
},
- [229] = {
+ [FRONTIER_TRAINER_CHAZ] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
.trainerName = _("CHAZ"),
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_POWER},
.speechWin = {EC_WORD_THEY, EC_WORD_HAVE, EC_WORD_MORE, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_YEAH, EC_MOVE2(TAKE_DOWN), EC_WORD_THEIR, EC_WORD_POWER, EC_WORD_A_TINY_BIT, EC_WORD_PLEASE},
- .monSets = gBattleFrontierTrainerMons_Chaz
+ .monSet = gBattleFrontierTrainerMons_Chaz
},
- [230] = {
+ [FRONTIER_TRAINER_NELSON] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
.trainerName = _("NELSON"),
.speechBefore = {EC_WORD_WELL_THEN, EC_WORD_WILL, EC_WORD_THIS, EC_WORD_POKEMON, EC_WORD_WORK, EC_WORD_QUES},
.speechWin = {EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_IT, EC_WORD_WAS, EC_WORD_TOO_STRONG},
.speechLose = {EC_WORD_IT, EC_WORD_DIDN_T, EC_WORD_MATCH_UP, EC_WORD_WELL, EC_WORD_I, EC_WORD_THINK},
- .monSets = gBattleFrontierTrainerMons_Nelson
+ .monSet = gBattleFrontierTrainerMons_Nelson
},
- [231] = {
+ [FRONTIER_TRAINER_SHANIA] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
.trainerName = _("SHANIA"),
.speechBefore = {EC_WORD_ALL, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ABSOLUTELY, EC_WORD_ADORE, EC_WORD_ME},
.speechWin = {EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_WITH, EC_WORD_CUTE_CHARM},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_CUTE, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Shania
+ .monSet = gBattleFrontierTrainerMons_Shania
},
- [232] = {
+ [FRONTIER_TRAINER_STELLA] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
.trainerName = _("STELLA"),
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POKEMON},
.speechWin = {EC_WORD_WELL, EC_WORD_AREN_T, EC_WORD_THEY, EC_WORD_BORING, EC_WORD_QUES, EC_WORD_AHAHA},
.speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ALL_RIGHT},
- .monSets = gBattleFrontierTrainerMons_Stella
+ .monSet = gBattleFrontierTrainerMons_Stella
},
- [233] = {
+ [FRONTIER_TRAINER_DORINE] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
.trainerName = _("DORINE"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AND, EC_WORD_STRONG, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_GOOD, EC_WORD_QUES},
.speechLose = {EC_WORD_THIS, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_AT, EC_WORD_ALL},
- .monSets = gBattleFrontierTrainerMons_Dorine
+ .monSet = gBattleFrontierTrainerMons_Dorine
},
- [234] = {
+ [FRONTIER_TRAINER_MADDOX] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
.trainerName = _("MADDOX"),
.speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_NO_1, EC_WORD_CHOICE},
.speechWin = {EC_WORD_IT_S, EC_WORD_NO, EC_WORD_SECRET, EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_WIN},
.speechLose = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LOSE, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Maddox
+ .monSet = gBattleFrontierTrainerMons_Maddox
},
- [235] = {
+ [FRONTIER_TRAINER_DAVIN] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
.trainerName = _("DAVIN"),
.speechBefore = {EC_WORD_LET_S, EC_WORD_HEAR, EC_WORD_YOU, EC_MOVE2(ROAR), EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_VICTORY, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Davin
+ .monSet = gBattleFrontierTrainerMons_Davin
},
- [236] = {
+ [FRONTIER_TRAINER_TREVON] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
.trainerName = _("TREVON"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_ONLY, EC_WORD_WITH, EC_WORD_DRAGON, EC_WORD_POKEMON},
.speechWin = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_IS, EC_WORD_PERFECT},
.speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING},
- .monSets = gBattleFrontierTrainerMons_Trevon
+ .monSet = gBattleFrontierTrainerMons_Trevon
},
- [237] = {
+ [FRONTIER_TRAINER_MATEO] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
.trainerName = _("MATEO"),
.speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_OVER, EC_WORD_SOON, EC_WORD_ENOUGH},
.speechWin = {EC_WORD_WELL, EC_WORD_THAT, EC_WORD_DIDN_T, EC_WORD_TAKE, EC_WORD_VERY, EC_WORD_MUCH},
.speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Mateo
+ .monSet = gBattleFrontierTrainerMons_Mateo
},
- [238] = {
+ [FRONTIER_TRAINER_BRET] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
.trainerName = _("BRET"),
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ROCK_SOLID, EC_WORD_POKEMON, EC_WORD_THE, EC_WORD_BEST},
.speechWin = {EC_WORD_TOUGHNESS, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO},
.speechLose = {EC_WORD_I, EC_WORD_ALSO, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PLUSH_DOLL, EC_WORD_COLLECTION},
- .monSets = gBattleFrontierTrainerMons_Bret
+ .monSet = gBattleFrontierTrainerMons_Bret
},
- [239] = {
+ [FRONTIER_TRAINER_RAUL] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
.trainerName = _("RAUL"),
.speechBefore = {EC_WORD_I, EC_WORD_REJECT, EC_WORD_EVERY, EC_WORD_WEAK, EC_WORD_TRAINER, 0xFFFF},
.speechWin = {EC_WORD_HUMPH, EC_WORD_EXCL, EC_WORD_ANOTHER, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NOTHING, EC_WORD_WEAK, EC_WORD_ABOUT, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Raul
+ .monSet = gBattleFrontierTrainerMons_Raul
},
- [240] = {
+ [FRONTIER_TRAINER_KAY] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
.trainerName = _("KAY"),
.speechBefore = {EC_WORD_AND, EC_WORD_YET, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_GOOD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_AT, EC_WORD_LAST, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Kay
+ .monSet = gBattleFrontierTrainerMons_Kay
},
- [241] = {
+ [FRONTIER_TRAINER_ELENA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
.trainerName = _("ELENA"),
.speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_ISN_T, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_AWESOME, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Elena
+ .monSet = gBattleFrontierTrainerMons_Elena
},
- [242] = {
+ [FRONTIER_TRAINER_ALANA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
.trainerName = _("ALANA"),
.speechBefore = {EC_WORD_EAT, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK, EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_LEARN, 0xFFFF},
.speechLose = {EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK},
- .monSets = gBattleFrontierTrainerMons_Alana
+ .monSet = gBattleFrontierTrainerMons_Alana
},
- [243] = {
+ [FRONTIER_TRAINER_ALEXAS] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("ALEXAS"),
.speechBefore = {EC_WORD_GOOD, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_YOUNG, EC_WORD_TRAINER, EC_WORD_EXCL},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_GIVE, EC_WORD_IT, EC_WORD_UP},
.speechLose = {EC_WORD_YOU, EC_WORD_ARE, EC_WORD_A, EC_WORD_STRONG, EC_WORD_TRAINER, EC_WORD_KID},
- .monSets = gBattleFrontierTrainerMons_Alexas
+ .monSet = gBattleFrontierTrainerMons_Alexas
},
- [244] = {
+ [FRONTIER_TRAINER_WESTON] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("WESTON"),
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_PLAY, EC_WORD_DOWN, EC_WORD_ALL_RIGHT, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_TO, EC_WORD_ATTACK},
.speechLose = {EC_WORD_WELL, EC_WORD_WELL, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Weston
+ .monSet = gBattleFrontierTrainerMons_Weston
},
- [245] = {
+ [FRONTIER_TRAINER_JASPER] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("JASPER"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OLD, EC_WORD_I_AM, EC_WORD_SKILLED, EC_WORD_EXCL},
.speechWin = {EC_WORD_SKILLED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_SHOCKED, EC_WORD_EXCL, EC_WORD_DOWN, EC_WORD_I, EC_WORD_GO},
- .monSets = gBattleFrontierTrainerMons_Jasper
+ .monSet = gBattleFrontierTrainerMons_Jasper
},
- [246] = {
+ [FRONTIER_TRAINER_NADIA] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("NADIA"),
.speechBefore = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_DOWN, EC_WORD_EXCL},
.speechWin = {EC_WORD_HAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU},
.speechLose = {EC_WORD_I_AM, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_DOWNCAST, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Nadia
+ .monSet = gBattleFrontierTrainerMons_Nadia
},
- [247] = {
+ [FRONTIER_TRAINER_MIRANDA] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("MIRANDA"),
.speechBefore = {EC_WORD_WELL, EC_WORD_WELL, 0xFFFF, EC_WORD_LET_S, EC_WORD_START, 0xFFFF},
.speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_DONE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES},
.speechLose = {EC_WORD_WELL, EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_I_AM, EC_WORD_TOO_WEAK},
- .monSets = gBattleFrontierTrainerMons_Miranda
+ .monSet = gBattleFrontierTrainerMons_Miranda
},
- [248] = {
+ [FRONTIER_TRAINER_EMMA] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("EMMA"),
.speechBefore = {EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_VE, EC_WORD_MISHEARD, EC_WORD_THINGS, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_IS, EC_WORD_RIGHT},
- .monSets = gBattleFrontierTrainerMons_Emma
+ .monSet = gBattleFrontierTrainerMons_Emma
},
- [249] = {
+ [FRONTIER_TRAINER_ROLANDO] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
.trainerName = _("ROLANDO"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_SUPER, EC_WORD_POKEMON, EC_WORD_HERO, EC_WORD_EXCL},
.speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BEAT, EC_WORD_A, EC_WORD_HERO},
- .monSets = gBattleFrontierTrainerMons_Rolando
+ .monSet = gBattleFrontierTrainerMons_Rolando
},
- [250] = {
+ [FRONTIER_TRAINER_STANLY] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
.trainerName = _("STANLY"),
.speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH},
.speechWin = {EC_WORD_IT, EC_WORD_REALLY, EC_WORD_WAS, EC_WORD_EASY, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_HAPPY, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Stanly
+ .monSet = gBattleFrontierTrainerMons_Stanly
},
- [251] = {
+ [FRONTIER_TRAINER_DARIO] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
.trainerName = _("DARIO"),
.speechBefore = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_SAYS, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN},
.speechWin = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_PERFECT, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_SEE, EC_WORD_THIS, EC_MOVE(REVERSAL), EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Dario
+ .monSet = gBattleFrontierTrainerMons_Dario
},
- [252] = {
+ [FRONTIER_TRAINER_KARLEE] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
.trainerName = _("KARLEE"),
.speechBefore = {EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WILL, EC_WORD_COME, EC_WORD_OF, EC_WORD_THIS},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_FANTASTIC, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_THAT, EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WENT, EC_WORD_TO, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Karlee
+ .monSet = gBattleFrontierTrainerMons_Karlee
},
- [253] = {
+ [FRONTIER_TRAINER_JAYLIN] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
.trainerName = _("JAYLIN"),
.speechBefore = {EC_WORD_EVERY, EC_WORD_TRAINER, EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_IT_S, EC_WORD_MAKING, EC_WORD_ME, EC_MOVE(YAWN), EC_WORD_THAT, EC_WORD_BATTLE},
.speechLose = {EC_WORD_I, EC_WORD_SLEPT, EC_WORD_AND, EC_WORD_SO, EC_WORD_I, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Jaylin
+ .monSet = gBattleFrontierTrainerMons_Jaylin
},
- [254] = {
+ [FRONTIER_TRAINER_INGRID] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
.trainerName = _("INGRID"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_VERY, EC_WORD_MEAN, EC_WORD_TRAINER},
.speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_A, EC_WORD_GOOD, EC_WORD_MATCH, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_CAUSE, EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Ingrid
+ .monSet = gBattleFrontierTrainerMons_Ingrid
},
- [255] = {
+ [FRONTIER_TRAINER_DELILAH] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
.trainerName = _("DELILAH"),
.speechBefore = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_IF_I_WIN, EC_WORD_OK_QUES, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_WORD_ANGRY},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GRUDGE), EC_WORD_WITH, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Delilah
+ .monSet = gBattleFrontierTrainerMons_Delilah
},
- [256] = {
+ [FRONTIER_TRAINER_CARLY] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
.trainerName = _("CARLY"),
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SCATTER, EC_WORD_SOME, EC_MOVE2(POISON_POWDER), EC_WORD_ABOUT},
.speechWin = {EC_WORD_IT_S, EC_WORD_SCARY, EC_WORD_HOW, EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_WORKS},
.speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_YOU, EC_WORD_AND, EC_WORD_YOUR, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Carly
+ .monSet = gBattleFrontierTrainerMons_Carly
},
- [257] = {
+ [FRONTIER_TRAINER_LEXIE] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
.trainerName = _("LEXIE"),
.speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_SCARY, EC_WORD_POKEMON, EC_WORD_QUES},
.speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_SCARY, EC_WORD_EH_QUES, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_SCARY, EC_WORD_THAN, EC_WORD_MY, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Lexie
+ .monSet = gBattleFrontierTrainerMons_Lexie
},
- [258] = {
+ [FRONTIER_TRAINER_MILLER] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("MILLER"),
.speechBefore = {EC_WORD_HELLO, EC_WORD_QUES, 0xFFFF, EC_WORD_HELLO, EC_WORD_QUES_EXCL, 0xFFFF},
.speechWin = {EC_WORD_HELLO, EC_WORD_MOTHER, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_PHONE, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Miller
+ .monSet = gBattleFrontierTrainerMons_Miller
},
- [259] = {
+ [FRONTIER_TRAINER_MARV] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("MARV"),
.speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOSE, EC_WORD_YOUR, EC_MOVE(SWAGGER), EC_WORD_NOW},
.speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_MOVE(SWAGGER), EC_WORD_LEFT, EC_WORD_EH_QUES},
.speechLose = {EC_WORD_GO, EC_WORD_ON, EC_MOVE(SWAGGER), EC_WORD_ALL, EC_WORD_YOU, EC_WORD_WANT},
- .monSets = gBattleFrontierTrainerMons_Marv
+ .monSet = gBattleFrontierTrainerMons_Marv
},
- [260] = {
+ [FRONTIER_TRAINER_LAYTON] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("LAYTON"),
.speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_COOL, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOOK, EC_WORD_UP, EC_WORD_TO, EC_WORD_ME},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NO, EC_WORD_REALLY, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Layton
+ .monSet = gBattleFrontierTrainerMons_Layton
},
- [261] = {
+ [FRONTIER_TRAINER_BROOKS] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("BROOKS"),
.speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_BATTLE},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_AND, EC_WORD_EXCITING, EC_WORD_TOO},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_HIGH, EC_WORD_IN, EC_WORD_LEVEL, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Brooks
+ .monSet = gBattleFrontierTrainerMons_Brooks
},
- [262] = {
+ [FRONTIER_TRAINER_GREGORY] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("GREGORY"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD, EC_WORD_YET, 0xFFFF},
.speechWin = {EC_WORD_WHO, EC_WORD_SAYS, EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_OLD, EC_WORD_QUES},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD},
- .monSets = gBattleFrontierTrainerMons_Gregory
+ .monSet = gBattleFrontierTrainerMons_Gregory
},
- [263] = {
+ [FRONTIER_TRAINER_REESE] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("REESE"),
.speechBefore = {EC_WORD_I_VE, EC_WORD_A, EC_WORD_COUPLE, EC_WORD_THINGS, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_DIET, EC_WORD_PLAY, EC_WORD_SPORTS, EC_WORD_INSTEAD, 0xFFFF},
.speechLose = {EC_WORD_INSTEAD, EC_WORD_OF, EC_WORD_TELEVISION, EC_WORD_GET, EC_WORD_A, EC_WORD_BOOK},
- .monSets = gBattleFrontierTrainerMons_Reese
+ .monSet = gBattleFrontierTrainerMons_Reese
},
- [264] = {
+ [FRONTIER_TRAINER_MASON] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
.trainerName = _("MASON"),
.speechBefore = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THIS, EC_WORD_SCARY, 0xFFFF},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_NOW},
.speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Mason
+ .monSet = gBattleFrontierTrainerMons_Mason
},
- [265] = {
+ [FRONTIER_TRAINER_TOBY] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
.trainerName = _("TOBY"),
.speechBefore = {EC_WORD_LISTEN, EC_WORD_UP, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_WIN},
.speechWin = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_AT, EC_WORD_SMARTNESS},
- .monSets = gBattleFrontierTrainerMons_Toby
+ .monSet = gBattleFrontierTrainerMons_Toby
},
- [266] = {
+ [FRONTIER_TRAINER_DOROTHY] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
.trainerName = _("DOROTHY"),
.speechBefore = {EC_WORD_THE, EC_WORD_SPORTS, EC_WORD_WORLD, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_POKEMON},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_WIN, EC_WORD_WAS, EC_WORD_REFRESHING},
.speechLose = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_WAS, EC_WORD_REFRESHING},
- .monSets = gBattleFrontierTrainerMons_Dorothy
+ .monSet = gBattleFrontierTrainerMons_Dorothy
},
- [267] = {
+ [FRONTIER_TRAINER_PIPER] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
.trainerName = _("PIPER"),
.speechBefore = {EC_WORD_COME_ON, EC_WORD_YOU, EC_WORD_NEED, EC_WORD_A, EC_WORD_SPEED_BOOST, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_MORE, EC_WORD_GUTS},
.speechLose = {EC_WORD_OH, EC_WORD_YOU, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Piper
+ .monSet = gBattleFrontierTrainerMons_Piper
},
- [268] = {
+ [FRONTIER_TRAINER_FINN] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
.trainerName = _("FINN"),
.speechBefore = {EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_TRAINER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS, 0xFFFF},
.speechWin = {EC_WORD_WON_T, EC_WORD_THIS, EC_WORD_EVER, EC_WORD_END, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(REST), EC_WORD_A_LITTLE},
- .monSets = gBattleFrontierTrainerMons_Finn
+ .monSet = gBattleFrontierTrainerMons_Finn
},
- [269] = {
+ [FRONTIER_TRAINER_SAMIR] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
.trainerName = _("SAMIR"),
.speechBefore = {EC_WORD_I, EC_MOVE2(DIVE), EC_WORD_BELOW, EC_WORD_THE, EC_MOVE2(SURF), EC_WORD_EXCL},
.speechWin = {EC_WORD_YAHOO, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YOU, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SINK, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Samir
+ .monSet = gBattleFrontierTrainerMons_Samir
},
- [270] = {
+ [FRONTIER_TRAINER_FIONA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
.trainerName = _("FIONA"),
.speechBefore = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_LIMBER, EC_WORD_UP, EC_WORD_BEFORE, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_BE, EC_WORD_MORE, EC_WORD_READY},
.speechLose = {EC_WORD_BEING, EC_WORD_LIMBER, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Fiona
+ .monSet = gBattleFrontierTrainerMons_Fiona
},
- [271] = {
+ [FRONTIER_TRAINER_GLORIA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
.trainerName = _("GLORIA"),
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_ATTACK, EC_WORD_WITH, EC_WORD_SUCTION_CUPS},
.speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_SUCTION_CUPS, EC_WORD_WORK},
- .monSets = gBattleFrontierTrainerMons_Gloria
+ .monSet = gBattleFrontierTrainerMons_Gloria
},
- [272] = {
+ [FRONTIER_TRAINER_NICO] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
.trainerName = _("NICO"),
.speechBefore = {EC_WORD_LIKE, EC_WORD_A, EC_MOVE(SONIC_BOOM), EC_WORD_I_VE_ARRIVED, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_SORRY, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_DOWNCAST},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_WITH, EC_WORD_A, EC_MOVE2(SUPERSONIC), EC_WORD_SPEED_BOOST},
- .monSets = gBattleFrontierTrainerMons_Nico
+ .monSet = gBattleFrontierTrainerMons_Nico
},
- [273] = {
+ [FRONTIER_TRAINER_JEREMY] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
.trainerName = _("JEREMY"),
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_MASTER, EC_WORD_THAT_S, EC_WORD_MY, EC_WORD_DREAM},
.speechWin = {EC_WORD_MY, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_FAR, EC_WORD_OFF, EC_WORD_EXCL},
.speechLose = {EC_WORD_WHAT, EC_WORD_I, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_HAPPENING, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Jeremy
+ .monSet = gBattleFrontierTrainerMons_Jeremy
},
- [274] = {
+ [FRONTIER_TRAINER_CAITLIN] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
.trainerName = _("CAITLIN"),
.speechBefore = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_QUES},
.speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_MORE, EC_WORD_TO_ME, EC_WORD_THAN, EC_WORD_CUTENESS},
.speechLose = {EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_WORD_DOESN_T, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Caitlin
+ .monSet = gBattleFrontierTrainerMons_Caitlin
},
- [275] = {
+ [FRONTIER_TRAINER_REENA] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
.trainerName = _("REENA"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_EXCL},
.speechWin = {EC_WORD_OH, EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_YAHOO, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Reena
+ .monSet = gBattleFrontierTrainerMons_Reena
},
- [276] = {
+ [FRONTIER_TRAINER_AVERY] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("AVERY"),
.speechBefore = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_BUG, EC_WORD_POKEMON},
.speechWin = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UNBELIEVABLE},
.speechLose = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UPSIDE_DOWN},
- .monSets = gBattleFrontierTrainerMons_Avery
+ .monSet = gBattleFrontierTrainerMons_Avery
},
- [277] = {
+ [FRONTIER_TRAINER_LIAM] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("LIAM"),
.speechBefore = {EC_WORD_WE, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_FIRE, EC_WORD_AND, EC_WORD_FLYING},
.speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_BAD, EC_WORD_HEY_QUES, 0xFFFF},
.speechLose = {EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_WHAT, EC_WORD_WE, EC_WORD_DISLIKE, EC_WORD_HEY_QUES},
- .monSets = gBattleFrontierTrainerMons_Liam
+ .monSet = gBattleFrontierTrainerMons_Liam
},
- [278] = {
+ [FRONTIER_TRAINER_THEO] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("THEO"),
.speechBefore = {EC_WORD_FISHING, EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_IN, EC_WORD_LIFE},
.speechWin = {EC_WORD_WATER, EC_WORD_POKEMON, EC_MOVE2(ATTRACT), EC_WORD_ME, EC_WORD_WITHOUT, EC_WORD_END},
.speechLose = {EC_WORD_DON_T, EC_WORD_COUNT_ON, EC_WORD_THAT, EC_WORD_HAPPENING, EC_WORD_ANOTHER, EC_WORD_TIME},
- .monSets = gBattleFrontierTrainerMons_Theo
+ .monSet = gBattleFrontierTrainerMons_Theo
},
- [279] = {
+ [FRONTIER_TRAINER_BAILEY] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("BAILEY"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_EASY},
.speechWin = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_WORD_JOY},
.speechLose = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(FRUSTRATION)},
- .monSets = gBattleFrontierTrainerMons_Bailey
+ .monSet = gBattleFrontierTrainerMons_Bailey
},
- [280] = {
+ [FRONTIER_TRAINER_HUGO] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("HUGO"),
.speechBefore = {EC_WORD_I, EC_WORD_TRY, EC_WORD_THE, EC_WORD_BEST, EC_WORD_I, EC_WORD_CAN},
.speechWin = {EC_WORD_I, EC_WORD_CAN_WIN, EC_WORD_IF, EC_WORD_I, EC_WORD_TRY, EC_WORD_ENOUGH},
.speechLose = {EC_WORD_I, EC_WORD_DID, EC_WORD_TRY, EC_WORD_DIDN_T, EC_WORD_I, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Hugo
+ .monSet = gBattleFrontierTrainerMons_Hugo
},
- [281] = {
+ [FRONTIER_TRAINER_BRYCE] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("BRYCE"),
.speechBefore = {EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_VACATION, EC_WORD_UNTIL, EC_WORD_ONLY, EC_WORD_YESTERDAY},
.speechWin = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_YET},
.speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_SLEEP},
- .monSets = gBattleFrontierTrainerMons_Bryce
+ .monSet = gBattleFrontierTrainerMons_Bryce
},
- [282] = {
+ [FRONTIER_TRAINER_GIDEON] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("GIDEON"),
.speechBefore = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SCARY, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_SCARY, EC_WORD_EXCL},
.speechLose = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_FASHION, EC_WORD_SENSE},
- .monSets = gBattleFrontierTrainerMons_Gideon
+ .monSet = gBattleFrontierTrainerMons_Gideon
},
- [283] = {
+ [FRONTIER_TRAINER_TRISTON] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("TRISTON"),
.speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_POKEMON},
.speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL},
.speechLose = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_LOSE},
- .monSets = gBattleFrontierTrainerMons_Triston
+ .monSet = gBattleFrontierTrainerMons_Triston
},
- [284] = {
+ [FRONTIER_TRAINER_CHARLES] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("CHARLES"),
.speechBefore = {EC_WORD_IT_S, EC_WORD_HOPELESS, EC_WORD_TO, EC_MOVE2(STRUGGLE), EC_WORD_WITH, EC_WORD_ME},
.speechWin = {EC_MOVE(SUBMISSION), EC_WORD_WAS, EC_WORD_YOUR, EC_WORD_ONLY, EC_WORD_CHOICE, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Charles
+ .monSet = gBattleFrontierTrainerMons_Charles
},
- [285] = {
+ [FRONTIER_TRAINER_RAYMOND] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("RAYMOND"),
.speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_HEAR, EC_WORD_MY, EC_WORD_SONG, EC_WORD_QUES},
.speechWin = {EC_WORD_SATISFIED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_SATISFIED, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE},
- .monSets = gBattleFrontierTrainerMons_Raymond
+ .monSet = gBattleFrontierTrainerMons_Raymond
},
- [286] = {
+ [FRONTIER_TRAINER_DIRK] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("DIRK"),
.speechBefore = {EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ABOVE, EC_WORD_THE, EC_MOVE2(REST)},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_RULE},
.speechLose = {EC_WORD_AREN_T, EC_WORD_THERE, EC_WORD_MORE, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Dirk
+ .monSet = gBattleFrontierTrainerMons_Dirk
},
- [287] = {
+ [FRONTIER_TRAINER_HAROLD] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("HAROLD"),
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_APPEAL, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES},
.speechLose = {EC_WORD_SO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Harold
+ .monSet = gBattleFrontierTrainerMons_Harold
},
- [288] = {
+ [FRONTIER_TRAINER_OMAR] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("OMAR"),
.speechBefore = {EC_WORD_LET_ME_WIN, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(PRESENT)},
.speechWin = {EC_WORD_HERE, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_SOME, EC_MOVE2(TOXIC), EC_WORD_SWEETS},
.speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_FOR, EC_WORD_QUES_EXCL},
- .monSets = gBattleFrontierTrainerMons_Omar
+ .monSet = gBattleFrontierTrainerMons_Omar
},
- [289] = {
+ [FRONTIER_TRAINER_PETER] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("PETER"),
.speechBefore = {EC_WORD_I, EC_WORD_BRAG, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_OK_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_LISTEN, EC_WORD_TO_ME, EC_WORD_BRAG},
.speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_YOU, EC_WORD_WON_T, EC_WORD_LISTEN, EC_WORD_TO_ME},
- .monSets = gBattleFrontierTrainerMons_Peter
+ .monSet = gBattleFrontierTrainerMons_Peter
},
- [290] = {
+ [FRONTIER_TRAINER_DEV] = {
.facilityClass = FACILITY_CLASS_HIKER,
.trainerName = _("DEV"),
.speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_GET, EC_WORD_A, EC_WORD_MOVE, EC_WORD_ON},
.speechWin = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT},
- .monSets = gBattleFrontierTrainerMons_Dev
+ .monSet = gBattleFrontierTrainerMons_Dev
},
- [291] = {
+ [FRONTIER_TRAINER_COREY] = {
.facilityClass = FACILITY_CLASS_HIKER,
.trainerName = _("COREY"),
.speechBefore = {EC_WORD_LET_S, EC_WORD_TEACH, EC_WORD_YOU, EC_WORD_HOW, EC_WORD_TOUGH, EC_WORD_I_AM},
.speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_ME, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)},
.speechLose = {EC_WORD_MY, EC_MOVE2(FRUSTRATION), EC_WORD_IS, EC_WORD_CLOSE, EC_WORD_TO, EC_MOVE2(ERUPTION)},
- .monSets = gBattleFrontierTrainerMons_Corey
+ .monSet = gBattleFrontierTrainerMons_Corey
},
- [292] = {
+ [FRONTIER_TRAINER_ANDRE] = {
.facilityClass = FACILITY_CLASS_KINDLER,
.trainerName = _("ANDRE"),
.speechBefore = {EC_WORD_NOW, EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_PERFECT, EC_WORD_FLAME_BODY},
.speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FIERY, EC_WORD_DANCE, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_HERE, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Andre
+ .monSet = gBattleFrontierTrainerMons_Andre
},
- [293] = {
+ [FRONTIER_TRAINER_FERRIS] = {
.facilityClass = FACILITY_CLASS_KINDLER,
.trainerName = _("FERRIS"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THE, EC_WORD_OLD, EC_WORD_CLASS},
.speechWin = {EC_WORD_NO_1, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_NO_1, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Ferris
+ .monSet = gBattleFrontierTrainerMons_Ferris
},
- [294] = {
+ [FRONTIER_TRAINER_ALIVIA] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("ALIVIA"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_GIDDY, EC_WORD_SO, EC_WORD_SHOULD, EC_WORD_YOU},
.speechWin = {EC_WORD_IT, EC_WORD_WAS, EC_WORD_ALL, EC_WORD_TOGETHER, EC_WORD_TOO, EC_WORD_EASY},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GIDDY, EC_WORD_UP, EC_WORD_AND, EC_WORD_AWAY},
- .monSets = gBattleFrontierTrainerMons_Alivia
+ .monSet = gBattleFrontierTrainerMons_Alivia
},
- [295] = {
+ [FRONTIER_TRAINER_PAIGE] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("PAIGE"),
.speechBefore = {EC_WORD_LET_S, EC_WORD_ENJOY, EC_WORD_OUR, EC_WORD_BATTLE, EC_WORD_TOGETHER, 0xFFFF},
.speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH},
.speechLose = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_DO, EC_WORD_GO, EC_WORD_ON},
- .monSets = gBattleFrontierTrainerMons_Paige
+ .monSet = gBattleFrontierTrainerMons_Paige
},
- [296] = {
+ [FRONTIER_TRAINER_ANYA] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("ANYA"),
.speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_OH, EC_WORD_SO, EC_WORD_PRETTY, EC_WORD_FASHION},
.speechWin = {EC_WORD_FASHION, EC_WORD_SHOULD, EC_WORD_MATCH, EC_WORD_THE, EC_WORD_PERSON, 0xFFFF},
.speechLose = {EC_WORD_PRETTY, EC_WORD_COULD, EC_WORD_BE, EC_WORD_GOOD, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Anya
+ .monSet = gBattleFrontierTrainerMons_Anya
},
- [297] = {
+ [FRONTIER_TRAINER_DAWN] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("DAWN"),
.speechBefore = {EC_WORD_I, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_A, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_YOU, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_MOVE, EC_WORD_ON, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Dawn
+ .monSet = gBattleFrontierTrainerMons_Dawn
},
- [298] = {
+ [FRONTIER_TRAINER_ABBY] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("ABBY"),
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_REFRESHING},
.speechWin = {EC_WORD_VICTORY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_AN, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Abby
+ .monSet = gBattleFrontierTrainerMons_Abby
},
- [299] = {
+ [FRONTIER_TRAINER_GRETEL] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("GRETEL"),
.speechBefore = {EC_WORD_I, EC_WORD_CAUSE, EC_MOVE(OUTRAGE), EC_WORD_AS, EC_WORD_A, EC_WORD_TRAINER},
.speechWin = {EC_WORD_IT_S, EC_WORD_ONLY, EC_WORD_NATURAL, EC_WORD_SEE_YA, EC_WORD_BYE_BYE, EC_WORD_EXCL},
.speechLose = {EC_WORD_IT_S, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_BUT, EC_WORD_CONGRATS},
- .monSets = gBattleFrontierTrainerMons_Gretel
+ .monSet = gBattleFrontierTrainerMons_Gretel
}
};
diff --git a/src/data/battle_frontier/battle_tent.h b/src/data/battle_frontier/battle_tent.h
index 946ca0187..bf89c5bc3 100644
--- a/src/data/battle_frontier/battle_tent.h
+++ b/src/data/battle_frontier/battle_tent.h
@@ -1,1242 +1,1242 @@
// Slateport Battle Tent.
const u16 gSlateportBattleTentTrainerMons_Jolie[] =
{
- 9,
- 10,
- 13,
- 27,
- 35,
- 37,
- 42,
- 44,
- 45,
- 46,
- 63,
+ SLATEPORT_TENT_MON_CACNEA_1,
+ SLATEPORT_TENT_MON_LOMBRE_1,
+ SLATEPORT_TENT_MON_NUZLEAF,
+ SLATEPORT_TENT_MON_CACNEA_2,
+ SLATEPORT_TENT_MON_MAKUHITA,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_SOLROCK,
+ SLATEPORT_TENT_MON_KECLEON_2,
+ SLATEPORT_TENT_MON_SHROOMISH_1,
+ SLATEPORT_TENT_MON_SHROOMISH_2,
+ SLATEPORT_TENT_MON_BRELOOM,
-1
};
const u16 gSlateportBattleTentTrainerMons_Malachi[] =
{
- 9,
- 16,
- 17,
- 27,
- 36,
- 39,
- 42,
- 45,
- 48,
- 49,
- 53,
+ SLATEPORT_TENT_MON_CACNEA_1,
+ SLATEPORT_TENT_MON_GRAVELER,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_CACNEA_2,
+ SLATEPORT_TENT_MON_NUMEL_1,
+ SLATEPORT_TENT_MON_VIGOROTH,
+ SLATEPORT_TENT_MON_SOLROCK,
+ SLATEPORT_TENT_MON_SHROOMISH_1,
+ SLATEPORT_TENT_MON_NUMEL_2,
+ SLATEPORT_TENT_MON_TRAPINCH_2,
+ SLATEPORT_TENT_MON_SKITTY,
-1
};
const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
{
- 4,
- 5,
- 6,
- 11,
- 28,
- 34,
- 35,
- 37,
- 43,
- 51,
- 53,
+ SLATEPORT_TENT_MON_WAILMER_1,
+ SLATEPORT_TENT_MON_WAILMER_2,
+ SLATEPORT_TENT_MON_MARILL_1,
+ SLATEPORT_TENT_MON_LOTAD,
+ SLATEPORT_TENT_MON_TAILLOW,
+ SLATEPORT_TENT_MON_WHISMUR,
+ SLATEPORT_TENT_MON_MAKUHITA,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_KECLEON_1,
+ SLATEPORT_TENT_MON_WINGULL_2,
+ SLATEPORT_TENT_MON_SKITTY,
-1
};
const u16 gSlateportBattleTentTrainerMons_Davon[] =
{
- 4,
- 5,
- 6,
- 12,
- 26,
- 36,
- 37,
- 38,
- 40,
- 44,
- 46,
- 50,
+ SLATEPORT_TENT_MON_WAILMER_1,
+ SLATEPORT_TENT_MON_WAILMER_2,
+ SLATEPORT_TENT_MON_MARILL_1,
+ SLATEPORT_TENT_MON_SEEDOT,
+ SLATEPORT_TENT_MON_TRAPINCH_1,
+ SLATEPORT_TENT_MON_NUMEL_1,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_TENTACOOL,
+ SLATEPORT_TENT_MON_MAGIKARP,
+ SLATEPORT_TENT_MON_KECLEON_2,
+ SLATEPORT_TENT_MON_SHROOMISH_2,
+ SLATEPORT_TENT_MON_PELIPPER_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Glenda[] =
{
- 0,
- 1,
- 17,
- 18,
- 19,
- 22,
- 23,
- 33,
- 42,
- 61,
- 64,
- 65,
- 66,
+ SLATEPORT_TENT_MON_ZIGZAGOON_1,
+ SLATEPORT_TENT_MON_ZIGZAGOON_2,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_MIGHTYENA_1,
+ SLATEPORT_TENT_MON_MIGHTYENA_2,
+ SLATEPORT_TENT_MON_ELECTRIKE_1,
+ SLATEPORT_TENT_MON_VOLTORB,
+ SLATEPORT_TENT_MON_MAGNEMITE,
+ SLATEPORT_TENT_MON_SOLROCK,
+ SLATEPORT_TENT_MON_KADABRA,
+ SLATEPORT_TENT_MON_PLUSLE_1,
+ SLATEPORT_TENT_MON_PLUSLE_2,
+ SLATEPORT_TENT_MON_ELECTRIKE_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Helena[] =
{
- 18,
- 19,
- 21,
- 38,
- 39,
- 41,
- 42,
- 52,
- 54,
- 58,
- 63,
+ SLATEPORT_TENT_MON_MIGHTYENA_1,
+ SLATEPORT_TENT_MON_MIGHTYENA_2,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_TENTACOOL,
+ SLATEPORT_TENT_MON_VIGOROTH,
+ SLATEPORT_TENT_MON_SEVIPER_1,
+ SLATEPORT_TENT_MON_SOLROCK,
+ SLATEPORT_TENT_MON_MARILL_2,
+ SLATEPORT_TENT_MON_SEVIPER_2,
+ SLATEPORT_TENT_MON_SWALOT,
+ SLATEPORT_TENT_MON_BRELOOM,
-1
};
const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
{
- 0,
- 1,
- 4,
- 5,
- 7,
- 8,
- 18,
- 20,
- 21,
- 37,
- 38,
- 40,
- 62,
+ SLATEPORT_TENT_MON_ZIGZAGOON_1,
+ SLATEPORT_TENT_MON_ZIGZAGOON_2,
+ SLATEPORT_TENT_MON_WAILMER_1,
+ SLATEPORT_TENT_MON_WAILMER_2,
+ SLATEPORT_TENT_MON_WINGULL_1,
+ SLATEPORT_TENT_MON_PELIPPER_1,
+ SLATEPORT_TENT_MON_MIGHTYENA_1,
+ SLATEPORT_TENT_MON_LINOONE,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_TENTACOOL,
+ SLATEPORT_TENT_MON_MAGIKARP,
+ SLATEPORT_TENT_MON_KIRLIA,
-1
};
const u16 gSlateportBattleTentTrainerMons_Davion[] =
{
- 17,
- 23,
- 24,
- 25,
- 31,
- 32,
- 33,
- 34,
- 39,
- 43,
- 44,
- 49,
- 57,
- 69,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_VOLTORB,
+ SLATEPORT_TENT_MON_ARON_1,
+ SLATEPORT_TENT_MON_ARON_2,
+ SLATEPORT_TENT_MON_LOUDRED,
+ SLATEPORT_TENT_MON_SPINDA,
+ SLATEPORT_TENT_MON_MAGNEMITE,
+ SLATEPORT_TENT_MON_WHISMUR,
+ SLATEPORT_TENT_MON_VIGOROTH,
+ SLATEPORT_TENT_MON_KECLEON_1,
+ SLATEPORT_TENT_MON_KECLEON_2,
+ SLATEPORT_TENT_MON_TRAPINCH_2,
+ SLATEPORT_TENT_MON_SANDSHREW,
+ SLATEPORT_TENT_MON_MACHOKE,
-1
};
const u16 gSlateportBattleTentTrainerMons_Kendall[] =
{
- 4,
- 7,
- 8,
- 9,
- 11,
- 12,
- 13,
- 27,
- 38,
- 40,
- 45,
- 46,
- 47,
- 63,
+ SLATEPORT_TENT_MON_WAILMER_1,
+ SLATEPORT_TENT_MON_WINGULL_1,
+ SLATEPORT_TENT_MON_PELIPPER_1,
+ SLATEPORT_TENT_MON_CACNEA_1,
+ SLATEPORT_TENT_MON_LOTAD,
+ SLATEPORT_TENT_MON_SEEDOT,
+ SLATEPORT_TENT_MON_NUZLEAF,
+ SLATEPORT_TENT_MON_CACNEA_2,
+ SLATEPORT_TENT_MON_TENTACOOL,
+ SLATEPORT_TENT_MON_MAGIKARP,
+ SLATEPORT_TENT_MON_SHROOMISH_1,
+ SLATEPORT_TENT_MON_SHROOMISH_2,
+ SLATEPORT_TENT_MON_LOMBRE_2,
+ SLATEPORT_TENT_MON_BRELOOM,
-1
};
const u16 gSlateportBattleTentTrainerMons_Colten[] =
{
- 0,
- 2,
- 12,
- 22,
- 28,
- 30,
- 35,
- 38,
- 43,
- 44,
- 56,
- 57,
+ SLATEPORT_TENT_MON_ZIGZAGOON_1,
+ SLATEPORT_TENT_MON_BEAUTIFLY,
+ SLATEPORT_TENT_MON_SEEDOT,
+ SLATEPORT_TENT_MON_ELECTRIKE_1,
+ SLATEPORT_TENT_MON_TAILLOW,
+ SLATEPORT_TENT_MON_GOLBAT_1,
+ SLATEPORT_TENT_MON_MAKUHITA,
+ SLATEPORT_TENT_MON_TENTACOOL,
+ SLATEPORT_TENT_MON_KECLEON_1,
+ SLATEPORT_TENT_MON_KECLEON_2,
+ SLATEPORT_TENT_MON_RALTS,
+ SLATEPORT_TENT_MON_SANDSHREW,
-1
};
const u16 gSlateportBattleTentTrainerMons_Irvin[] =
{
- 0,
- 1,
- 2,
- 3,
- 14,
- 15,
- 24,
- 25,
- 32,
- 34,
- 39,
- 59,
- 60,
+ SLATEPORT_TENT_MON_ZIGZAGOON_1,
+ SLATEPORT_TENT_MON_ZIGZAGOON_2,
+ SLATEPORT_TENT_MON_BEAUTIFLY,
+ SLATEPORT_TENT_MON_DUSTOX,
+ SLATEPORT_TENT_MON_NINJASK_1,
+ SLATEPORT_TENT_MON_NINJASK_2,
+ SLATEPORT_TENT_MON_ARON_1,
+ SLATEPORT_TENT_MON_ARON_2,
+ SLATEPORT_TENT_MON_SPINDA,
+ SLATEPORT_TENT_MON_WHISMUR,
+ SLATEPORT_TENT_MON_VIGOROTH,
+ SLATEPORT_TENT_MON_VOLBEAT,
+ SLATEPORT_TENT_MON_ILLUMISE,
-1
};
const u16 gSlateportBattleTentTrainerMons_Shaun[] =
{
- 17,
- 18,
- 19,
- 22,
- 29,
- 36,
- 42,
- 48,
- 61,
- 62,
- 66,
- 68,
- 69,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_MIGHTYENA_1,
+ SLATEPORT_TENT_MON_MIGHTYENA_2,
+ SLATEPORT_TENT_MON_ELECTRIKE_1,
+ SLATEPORT_TENT_MON_SWELLOW,
+ SLATEPORT_TENT_MON_NUMEL_1,
+ SLATEPORT_TENT_MON_SOLROCK,
+ SLATEPORT_TENT_MON_NUMEL_2,
+ SLATEPORT_TENT_MON_KADABRA,
+ SLATEPORT_TENT_MON_KIRLIA,
+ SLATEPORT_TENT_MON_ELECTRIKE_2,
+ SLATEPORT_TENT_MON_MACHOP,
+ SLATEPORT_TENT_MON_MACHOKE,
-1
};
const u16 gSlateportBattleTentTrainerMons_Kyler[] =
{
- 22,
- 23,
- 28,
- 29,
- 31,
- 32,
- 34,
- 39,
- 55,
- 64,
- 65,
- 67,
+ SLATEPORT_TENT_MON_ELECTRIKE_1,
+ SLATEPORT_TENT_MON_VOLTORB,
+ SLATEPORT_TENT_MON_TAILLOW,
+ SLATEPORT_TENT_MON_SWELLOW,
+ SLATEPORT_TENT_MON_LOUDRED,
+ SLATEPORT_TENT_MON_SPINDA,
+ SLATEPORT_TENT_MON_WHISMUR,
+ SLATEPORT_TENT_MON_VIGOROTH,
+ SLATEPORT_TENT_MON_GOLBAT_2,
+ SLATEPORT_TENT_MON_PLUSLE_1,
+ SLATEPORT_TENT_MON_PLUSLE_2,
+ SLATEPORT_TENT_MON_SWABLU,
-1
};
const u16 gSlateportBattleTentTrainerMons_Maggie[] =
{
- 10,
- 13,
- 17,
- 27,
- 45,
- 46,
- 53,
- 56,
- 61,
- 62,
- 63,
+ SLATEPORT_TENT_MON_LOMBRE_1,
+ SLATEPORT_TENT_MON_NUZLEAF,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_CACNEA_2,
+ SLATEPORT_TENT_MON_SHROOMISH_1,
+ SLATEPORT_TENT_MON_SHROOMISH_2,
+ SLATEPORT_TENT_MON_SKITTY,
+ SLATEPORT_TENT_MON_RALTS,
+ SLATEPORT_TENT_MON_KADABRA,
+ SLATEPORT_TENT_MON_KIRLIA,
+ SLATEPORT_TENT_MON_BRELOOM,
-1
};
const u16 gSlateportBattleTentTrainerMons_Stephon[] =
{
- 8,
- 10,
- 16,
- 23,
- 29,
- 43,
- 44,
- 60,
- 62,
- 63,
- 68,
+ SLATEPORT_TENT_MON_PELIPPER_1,
+ SLATEPORT_TENT_MON_LOMBRE_1,
+ SLATEPORT_TENT_MON_GRAVELER,
+ SLATEPORT_TENT_MON_VOLTORB,
+ SLATEPORT_TENT_MON_SWELLOW,
+ SLATEPORT_TENT_MON_KECLEON_1,
+ SLATEPORT_TENT_MON_KECLEON_2,
+ SLATEPORT_TENT_MON_ILLUMISE,
+ SLATEPORT_TENT_MON_KIRLIA,
+ SLATEPORT_TENT_MON_BRELOOM,
+ SLATEPORT_TENT_MON_MACHOP,
-1
};
const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
{
- 8,
- 13,
- 21,
- 29,
- 33,
- 41,
- 48,
- 54,
- 59,
- 61,
- 68,
+ SLATEPORT_TENT_MON_PELIPPER_1,
+ SLATEPORT_TENT_MON_NUZLEAF,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_SWELLOW,
+ SLATEPORT_TENT_MON_MAGNEMITE,
+ SLATEPORT_TENT_MON_SEVIPER_1,
+ SLATEPORT_TENT_MON_NUMEL_2,
+ SLATEPORT_TENT_MON_SEVIPER_2,
+ SLATEPORT_TENT_MON_VOLBEAT,
+ SLATEPORT_TENT_MON_KADABRA,
+ SLATEPORT_TENT_MON_MACHOP,
-1
};
const u16 gSlateportBattleTentTrainerMons_Reggie[] =
{
- 6,
- 7,
- 17,
- 23,
- 24,
- 26,
- 32,
- 36,
- 52,
- 53,
- 57,
- 65,
+ SLATEPORT_TENT_MON_MARILL_1,
+ SLATEPORT_TENT_MON_WINGULL_1,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_VOLTORB,
+ SLATEPORT_TENT_MON_ARON_1,
+ SLATEPORT_TENT_MON_TRAPINCH_1,
+ SLATEPORT_TENT_MON_SPINDA,
+ SLATEPORT_TENT_MON_NUMEL_1,
+ SLATEPORT_TENT_MON_MARILL_2,
+ SLATEPORT_TENT_MON_SKITTY,
+ SLATEPORT_TENT_MON_SANDSHREW,
+ SLATEPORT_TENT_MON_PLUSLE_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Janae[] =
{
- 0,
- 1,
- 27,
- 28,
- 32,
- 34,
- 36,
- 37,
- 52,
- 53,
- 57,
- 65,
+ SLATEPORT_TENT_MON_ZIGZAGOON_1,
+ SLATEPORT_TENT_MON_ZIGZAGOON_2,
+ SLATEPORT_TENT_MON_CACNEA_2,
+ SLATEPORT_TENT_MON_TAILLOW,
+ SLATEPORT_TENT_MON_SPINDA,
+ SLATEPORT_TENT_MON_WHISMUR,
+ SLATEPORT_TENT_MON_NUMEL_1,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_MARILL_2,
+ SLATEPORT_TENT_MON_SKITTY,
+ SLATEPORT_TENT_MON_SANDSHREW,
+ SLATEPORT_TENT_MON_PLUSLE_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Caiden[] =
{
- 10,
- 14,
- 15,
- 16,
- 20,
- 21,
- 25,
- 30,
- 35,
- 47,
- 48,
- 50,
- 69,
+ SLATEPORT_TENT_MON_LOMBRE_1,
+ SLATEPORT_TENT_MON_NINJASK_1,
+ SLATEPORT_TENT_MON_NINJASK_2,
+ SLATEPORT_TENT_MON_GRAVELER,
+ SLATEPORT_TENT_MON_LINOONE,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_ARON_2,
+ SLATEPORT_TENT_MON_GOLBAT_1,
+ SLATEPORT_TENT_MON_MAKUHITA,
+ SLATEPORT_TENT_MON_LOMBRE_2,
+ SLATEPORT_TENT_MON_NUMEL_2,
+ SLATEPORT_TENT_MON_PELIPPER_2,
+ SLATEPORT_TENT_MON_MACHOKE,
-1
};
const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
{
- 10,
- 16,
- 18,
- 19,
- 20,
- 21,
- 25,
- 30,
- 35,
- 39,
- 41,
- 48,
- 69,
+ SLATEPORT_TENT_MON_LOMBRE_1,
+ SLATEPORT_TENT_MON_GRAVELER,
+ SLATEPORT_TENT_MON_MIGHTYENA_1,
+ SLATEPORT_TENT_MON_MIGHTYENA_2,
+ SLATEPORT_TENT_MON_LINOONE,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_ARON_2,
+ SLATEPORT_TENT_MON_GOLBAT_1,
+ SLATEPORT_TENT_MON_MAKUHITA,
+ SLATEPORT_TENT_MON_VIGOROTH,
+ SLATEPORT_TENT_MON_SEVIPER_1,
+ SLATEPORT_TENT_MON_NUMEL_2,
+ SLATEPORT_TENT_MON_MACHOKE,
-1
};
const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
{
- 0,
- 1,
- 36,
- 37,
- 40,
- 46,
- 49,
- 51,
- 64,
- 67,
- 68,
+ SLATEPORT_TENT_MON_ZIGZAGOON_1,
+ SLATEPORT_TENT_MON_ZIGZAGOON_2,
+ SLATEPORT_TENT_MON_NUMEL_1,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_MAGIKARP,
+ SLATEPORT_TENT_MON_SHROOMISH_2,
+ SLATEPORT_TENT_MON_TRAPINCH_2,
+ SLATEPORT_TENT_MON_WINGULL_2,
+ SLATEPORT_TENT_MON_PLUSLE_1,
+ SLATEPORT_TENT_MON_SWABLU,
+ SLATEPORT_TENT_MON_MACHOP,
-1
};
const u16 gSlateportBattleTentTrainerMons_Stefan[] =
{
- 4,
- 5,
- 21,
- 33,
- 37,
- 38,
- 40,
- 51,
- 52,
- 64,
- 65,
+ SLATEPORT_TENT_MON_WAILMER_1,
+ SLATEPORT_TENT_MON_WAILMER_2,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_MAGNEMITE,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_TENTACOOL,
+ SLATEPORT_TENT_MON_MAGIKARP,
+ SLATEPORT_TENT_MON_WINGULL_2,
+ SLATEPORT_TENT_MON_MARILL_2,
+ SLATEPORT_TENT_MON_PLUSLE_1,
+ SLATEPORT_TENT_MON_PLUSLE_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Avery[] =
{
- 2,
- 3,
- 7,
- 8,
- 22,
- 23,
- 28,
- 29,
- 30,
- 51,
- 67,
+ SLATEPORT_TENT_MON_BEAUTIFLY,
+ SLATEPORT_TENT_MON_DUSTOX,
+ SLATEPORT_TENT_MON_WINGULL_1,
+ SLATEPORT_TENT_MON_PELIPPER_1,
+ SLATEPORT_TENT_MON_ELECTRIKE_1,
+ SLATEPORT_TENT_MON_VOLTORB,
+ SLATEPORT_TENT_MON_TAILLOW,
+ SLATEPORT_TENT_MON_SWELLOW,
+ SLATEPORT_TENT_MON_GOLBAT_1,
+ SLATEPORT_TENT_MON_WINGULL_2,
+ SLATEPORT_TENT_MON_SWABLU,
-1
};
const u16 gSlateportBattleTentTrainerMons_Dwane[] =
{
- 14,
- 15,
- 30,
- 43,
- 44,
- 45,
- 46,
- 55,
- 58,
- 59,
- 63,
+ SLATEPORT_TENT_MON_NINJASK_1,
+ SLATEPORT_TENT_MON_NINJASK_2,
+ SLATEPORT_TENT_MON_GOLBAT_1,
+ SLATEPORT_TENT_MON_KECLEON_1,
+ SLATEPORT_TENT_MON_KECLEON_2,
+ SLATEPORT_TENT_MON_SHROOMISH_1,
+ SLATEPORT_TENT_MON_SHROOMISH_2,
+ SLATEPORT_TENT_MON_GOLBAT_2,
+ SLATEPORT_TENT_MON_SWALOT,
+ SLATEPORT_TENT_MON_VOLBEAT,
+ SLATEPORT_TENT_MON_BRELOOM,
-1
};
const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
{
- 27,
- 29,
- 30,
- 32,
- 36,
- 48,
- 51,
- 52,
- 53,
- 57,
- 67,
+ SLATEPORT_TENT_MON_CACNEA_2,
+ SLATEPORT_TENT_MON_SWELLOW,
+ SLATEPORT_TENT_MON_GOLBAT_1,
+ SLATEPORT_TENT_MON_SPINDA,
+ SLATEPORT_TENT_MON_NUMEL_1,
+ SLATEPORT_TENT_MON_NUMEL_2,
+ SLATEPORT_TENT_MON_WINGULL_2,
+ SLATEPORT_TENT_MON_MARILL_2,
+ SLATEPORT_TENT_MON_SKITTY,
+ SLATEPORT_TENT_MON_SANDSHREW,
+ SLATEPORT_TENT_MON_SWABLU,
-1
};
const u16 gSlateportBattleTentTrainerMons_Camryn[] =
{
- 5,
- 6,
- 7,
- 8,
- 10,
- 16,
- 17,
- 20,
- 21,
- 37,
- 43,
- 44,
+ SLATEPORT_TENT_MON_WAILMER_2,
+ SLATEPORT_TENT_MON_MARILL_1,
+ SLATEPORT_TENT_MON_WINGULL_1,
+ SLATEPORT_TENT_MON_PELIPPER_1,
+ SLATEPORT_TENT_MON_LOMBRE_1,
+ SLATEPORT_TENT_MON_GRAVELER,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_LINOONE,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_KECLEON_1,
+ SLATEPORT_TENT_MON_KECLEON_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Natasha[] =
{
- 1,
- 3,
- 4,
- 5,
- 9,
- 11,
- 12,
- 20,
- 21,
- 22,
- 51,
+ SLATEPORT_TENT_MON_ZIGZAGOON_2,
+ SLATEPORT_TENT_MON_DUSTOX,
+ SLATEPORT_TENT_MON_WAILMER_1,
+ SLATEPORT_TENT_MON_WAILMER_2,
+ SLATEPORT_TENT_MON_CACNEA_1,
+ SLATEPORT_TENT_MON_LOTAD,
+ SLATEPORT_TENT_MON_SEEDOT,
+ SLATEPORT_TENT_MON_LINOONE,
+ SLATEPORT_TENT_MON_GOLDEEN,
+ SLATEPORT_TENT_MON_ELECTRIKE_1,
+ SLATEPORT_TENT_MON_WINGULL_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Austyn[] =
{
- 25,
- 31,
- 35,
- 37,
- 38,
- 39,
- 50,
- 51,
- 52,
- 58,
- 68,
- 69,
+ SLATEPORT_TENT_MON_ARON_2,
+ SLATEPORT_TENT_MON_LOUDRED,
+ SLATEPORT_TENT_MON_MAKUHITA,
+ SLATEPORT_TENT_MON_BARBOACH,
+ SLATEPORT_TENT_MON_TENTACOOL,
+ SLATEPORT_TENT_MON_VIGOROTH,
+ SLATEPORT_TENT_MON_PELIPPER_2,
+ SLATEPORT_TENT_MON_WINGULL_2,
+ SLATEPORT_TENT_MON_MARILL_2,
+ SLATEPORT_TENT_MON_SWALOT,
+ SLATEPORT_TENT_MON_MACHOP,
+ SLATEPORT_TENT_MON_MACHOKE,
-1
};
const u16 gSlateportBattleTentTrainerMons_Donovan[] =
{
- 10,
- 16,
- 17,
- 24,
- 25,
- 43,
- 44,
- 47,
- 49,
- 53,
- 59,
- 60,
- 64,
- 65,
+ SLATEPORT_TENT_MON_LOMBRE_1,
+ SLATEPORT_TENT_MON_GRAVELER,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_ARON_1,
+ SLATEPORT_TENT_MON_ARON_2,
+ SLATEPORT_TENT_MON_KECLEON_1,
+ SLATEPORT_TENT_MON_KECLEON_2,
+ SLATEPORT_TENT_MON_LOMBRE_2,
+ SLATEPORT_TENT_MON_TRAPINCH_2,
+ SLATEPORT_TENT_MON_SKITTY,
+ SLATEPORT_TENT_MON_VOLBEAT,
+ SLATEPORT_TENT_MON_ILLUMISE,
+ SLATEPORT_TENT_MON_PLUSLE_1,
+ SLATEPORT_TENT_MON_PLUSLE_2,
-1
};
const u16 gSlateportBattleTentTrainerMons_Tamia[] =
{
- 2,
- 6,
- 9,
- 13,
- 17,
- 19,
- 20,
- 24,
- 27,
- 29,
- 30,
+ SLATEPORT_TENT_MON_BEAUTIFLY,
+ SLATEPORT_TENT_MON_MARILL_1,
+ SLATEPORT_TENT_MON_CACNEA_1,
+ SLATEPORT_TENT_MON_NUZLEAF,
+ SLATEPORT_TENT_MON_BALTOY,
+ SLATEPORT_TENT_MON_MIGHTYENA_2,
+ SLATEPORT_TENT_MON_LINOONE,
+ SLATEPORT_TENT_MON_ARON_1,
+ SLATEPORT_TENT_MON_CACNEA_2,
+ SLATEPORT_TENT_MON_SWELLOW,
+ SLATEPORT_TENT_MON_GOLBAT_1,
-1
};
-const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
+const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
{
- [0] = {
+ [SLATEPORT_TENT_TRAINER_JOLIE] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("JOLIE"),
.speechBefore = {EC_WORD_WHAT, EC_WORD_WILL, EC_WORD_I, EC_WORD_BE, EC_WORD_TOMORROW, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_FRIDAY, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_MONDAY, EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Jolie
+ .monSet = gSlateportBattleTentTrainerMons_Jolie
},
- [1] = {
+ [SLATEPORT_TENT_TRAINER_MALACHI] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("MALACHI"),
.speechBefore = {EC_WORD_BAD, EC_WORD_NEWS, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_A, EC_MOVE(SAND_TOMB)},
.speechWin = {EC_WORD_YEEHAW_EXCL, -1, -1, EC_WORD_I_VE, EC_WORD_DONE, EC_WORD_IT},
.speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SAND_TOMB), EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Malachi
+ .monSet = gSlateportBattleTentTrainerMons_Malachi
},
- [2] = {
+ [SLATEPORT_TENT_TRAINER_KELSIE] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("KELSIE"),
.speechBefore = {EC_WORD_GO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
.speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Kelsie
+ .monSet = gSlateportBattleTentTrainerMons_Kelsie
},
- [3] = {
+ [SLATEPORT_TENT_TRAINER_DAVON] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("DAVON"),
.speechBefore = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_GREAT, EC_MOVE(WHIRLPOOL), EC_WORD_ISN_T_IT_QUES},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_LIKE, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL},
.speechLose = {EC_WORD_DON_T, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_IN, EC_WORD_THAT, EC_MOVE(WHIRLPOOL)},
- .monSets = gSlateportBattleTentTrainerMons_Davon
+ .monSet = gSlateportBattleTentTrainerMons_Davon
},
- [4] = {
+ [SLATEPORT_TENT_TRAINER_GLENDA] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("GLENDA"),
.speechBefore = {EC_WORD_CONVERSATION, EC_WORD_CAN, EC_WORD_WAIT, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN},
.speechWin = {EC_WORD_FABULOUS, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ROCK},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_SERIOUS},
- .monSets = gSlateportBattleTentTrainerMons_Glenda
+ .monSet = gSlateportBattleTentTrainerMons_Glenda
},
- [5] = {
+ [SLATEPORT_TENT_TRAINER_HELENA] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("HELENA"),
.speechBefore = {EC_WORD_DOES, EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_BORING},
.speechLose = {EC_WORD_I, EC_WORD_DO, EC_WORD_SO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Helena
+ .monSet = gSlateportBattleTentTrainerMons_Helena
},
- [6] = {
+ [SLATEPORT_TENT_TRAINER_RODOLFO] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("RODOLFO"),
.speechBefore = {EC_WORD_GO, EC_WORD_GET, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_FOR, EC_WORD_ME},
.speechWin = {EC_WORD_AWW, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_A, EC_POKEMON(WHISCASH)},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_BADLY},
- .monSets = gSlateportBattleTentTrainerMons_Rodolfo
+ .monSet = gSlateportBattleTentTrainerMons_Rodolfo
},
- [7] = {
+ [SLATEPORT_TENT_TRAINER_DAVION] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("DAVION"),
.speechBefore = {EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL, EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL},
.speechWin = {EC_MOVE2(ROAR), EC_WORD_EXCL, -1, EC_MOVE2(ROAR), EC_WORD_EXCL_EXCL, -1},
.speechLose = {EC_WORD_URGH, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, -1, -1, -1},
- .monSets = gSlateportBattleTentTrainerMons_Davion
+ .monSet = gSlateportBattleTentTrainerMons_Davion
},
- [8] = {
+ [SLATEPORT_TENT_TRAINER_KENDALL] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("KENDALL"),
.speechBefore = {EC_WORD_A_LITTLE, EC_MOVE2(PETAL_DANCE), EC_WORD_TO, EC_WORD_PLEASE, EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THIS, EC_WORD_ONLY, EC_WORD_FOR, EC_WORD_WORK},
.speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_MOVE2(POUND), EC_WORD_ME, EC_WORD_QUES},
- .monSets = gSlateportBattleTentTrainerMons_Kendall
+ .monSet = gSlateportBattleTentTrainerMons_Kendall
},
- [9] = {
+ [SLATEPORT_TENT_TRAINER_COLTEN] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("COLTEN"),
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_RUN, EC_WORD_AROUND},
.speechWin = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_WANT, EC_WORD_TO, EC_WORD_RUN, EC_WORD_QUES},
.speechLose = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_GOOD, EC_WORD_TOO},
- .monSets = gSlateportBattleTentTrainerMons_Colten
+ .monSet = gSlateportBattleTentTrainerMons_Colten
},
- [10] = {
+ [SLATEPORT_TENT_TRAINER_IRVIN] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("IRVIN"),
.speechBefore = {EC_WORD_HAVE, EC_WORD_A, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE(CONFUSE_RAY)},
.speechWin = {EC_WORD_YAHOO, EC_WORD_MY, EC_MOVE(CONFUSE_RAY), EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST},
.speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Irvin
+ .monSet = gSlateportBattleTentTrainerMons_Irvin
},
- [11] = {
+ [SLATEPORT_TENT_TRAINER_SHAUN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("SHAUN"),
.speechBefore = {EC_WORD_LISTEN, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_GOOD},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_WAS, EC_WORD_RIGHT},
.speechLose = {EC_WORD_YES, EC_WORD_YES, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SOMETHING},
- .monSets = gSlateportBattleTentTrainerMons_Shaun
+ .monSet = gSlateportBattleTentTrainerMons_Shaun
},
- [12] = {
+ [SLATEPORT_TENT_TRAINER_KYLER] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("KYLER"),
.speechBefore = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_QUES},
.speechWin = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_YAY},
.speechLose = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_WOW},
- .monSets = gSlateportBattleTentTrainerMons_Kyler
+ .monSet = gSlateportBattleTentTrainerMons_Kyler
},
- [13] = {
+ [SLATEPORT_TENT_TRAINER_MAGGIE] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("MAGGIE"),
.speechBefore = {EC_POKEMON(VULPIX), EC_POKEMON(XATU), EC_POKEMON2(UMBREON), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_WORD_ELLIPSIS},
.speechWin = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON(SEVIPER), EC_WORD_EXCL, -1},
.speechLose = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON2(SNORLAX), EC_WORD_ELLIPSIS, EC_WORD_UH_OH},
- .monSets = gSlateportBattleTentTrainerMons_Maggie
+ .monSet = gSlateportBattleTentTrainerMons_Maggie
},
- [14] = {
+ [SLATEPORT_TENT_TRAINER_STEPHON] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("STEPHON"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_AN, EC_WORD_EGG},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_VICTORY},
.speechLose = {EC_WORD_AWFUL, EC_WORD_EXCL_EXCL, -1, EC_WORD_JUST, EC_WORD_AWFUL, EC_WORD_EXCL_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Stephon
+ .monSet = gSlateportBattleTentTrainerMons_Stephon
},
- [15] = {
+ [SLATEPORT_TENT_TRAINER_REBECCA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("REBECCA"),
.speechBefore = {EC_WORD_THAT, EC_WORD_EGG, EC_WORD_HAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SHINE},
.speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_EXCL, EC_WORD_SMELL, EC_WORD_THAT, EC_WORD_STENCH},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_STOP, EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Rebecca
+ .monSet = gSlateportBattleTentTrainerMons_Rebecca
},
- [16] = {
+ [SLATEPORT_TENT_TRAINER_REGGIE] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("REGGIE"),
.speechBefore = {EC_WORD_POKEMON, EC_WORD_COME, EC_WORD_BEFORE, EC_WORD_MONEY, EC_WORD_OR, EC_WORD_FAMILY},
.speechWin = {EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_STRONG},
.speechLose = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_THICK, EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Reggie
+ .monSet = gSlateportBattleTentTrainerMons_Reggie
},
- [17] = {
+ [SLATEPORT_TENT_TRAINER_JANAE] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("JANAE"),
.speechBefore = {EC_WORD_I, EC_WORD_JUST, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_TOUGH, EC_WORD_LOOK},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_YOU, EC_MOVE2(STRUGGLE), -1},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MEAN, EC_WORD_AND, EC_WORD_AWFUL, EC_WORD_TRAINER},
- .monSets = gSlateportBattleTentTrainerMons_Janae
+ .monSet = gSlateportBattleTentTrainerMons_Janae
},
- [18] = {
+ [SLATEPORT_TENT_TRAINER_CAIDEN] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("CAIDEN"),
.speechBefore = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_BREAK, EC_WORD_YOUR, EC_WORD_SPIRIT},
.speechWin = {EC_MOVE2(CURSE), EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_A, EC_WORD_LIE, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_LAST, EC_WORD_FOREVER, -1},
- .monSets = gSlateportBattleTentTrainerMons_Caiden
+ .monSet = gSlateportBattleTentTrainerMons_Caiden
},
- [19] = {
+ [SLATEPORT_TENT_TRAINER_KIRSTEN] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("KIRSTEN"),
.speechBefore = {EC_WORD_HUH_QUES, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_YOU, EC_WORD_SAID, EC_WORD_QUES},
.speechWin = {EC_WORD_HUH_QUES, EC_WORD_STRONG, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH},
.speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_TO, EC_WORD_YOUR, EC_MOVE(STRENGTH)},
- .monSets = gSlateportBattleTentTrainerMons_Kirsten
+ .monSet = gSlateportBattleTentTrainerMons_Kirsten
},
- [20] = {
+ [SLATEPORT_TENT_TRAINER_KURTIS] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("KURTIS"),
.speechBefore = {EC_WORD_SORRY, EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_MOVE2(BEAT_UP)},
.speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_WE, EC_WORD_WOULD, EC_MOVE2(POUND), EC_WORD_YOU},
.speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_I, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_QUES},
- .monSets = gSlateportBattleTentTrainerMons_Kurtis
+ .monSet = gSlateportBattleTentTrainerMons_Kurtis
},
- [21] = {
+ [SLATEPORT_TENT_TRAINER_STEFAN] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("STEFAN"),
.speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_WANT, EC_WORD_CUTE, EC_WORD_POKEMON, -1},
.speechWin = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_IT, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_ELLIPSIS, -1},
- .monSets = gSlateportBattleTentTrainerMons_Stefan
+ .monSet = gSlateportBattleTentTrainerMons_Stefan
},
- [22] = {
+ [SLATEPORT_TENT_TRAINER_AVERY] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("AVERY"),
.speechBefore = {EC_WORD_TOYS, EC_WORD_EXCL, EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_TOYS},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_EASY, EC_WORD_MONEY, EC_WORD_FAST},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_MONEY},
- .monSets = gSlateportBattleTentTrainerMons_Avery
+ .monSet = gSlateportBattleTentTrainerMons_Avery
},
- [23] = {
+ [SLATEPORT_TENT_TRAINER_DWANE] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("DWANE"),
.speechBefore = {EC_WORD_MMM, EC_WORD_TASTY, EC_WORD_ELLIPSIS, EC_WORD_WONDER, EC_WORD_WHAT, EC_WORD_QUES},
.speechWin = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW},
.speechLose = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_OH_YEAH, EC_WORD_THIS_IS_IT_EXCL, -1},
- .monSets = gSlateportBattleTentTrainerMons_Dwane
+ .monSet = gSlateportBattleTentTrainerMons_Dwane
},
- [24] = {
+ [SLATEPORT_TENT_TRAINER_MCKENNA] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("MCKENNA"),
.speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SMALL, EC_WORD_TALK, EC_WORD_LET_S, EC_WORD_GO},
.speechWin = {EC_WORD_YUP, EC_WORD_THAT_S, EC_WORD_THAT, -1, -1, -1},
.speechLose = {EC_WORD_KTHX_BYE, -1, -1, -1, -1, -1},
- .monSets = gSlateportBattleTentTrainerMons_Mckenna
+ .monSet = gSlateportBattleTentTrainerMons_Mckenna
},
- [25] = {
+ [SLATEPORT_TENT_TRAINER_CAMRYN] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("CAMRYN"),
.speechBefore = {EC_WORD_MR, EC_WORD_JUDGE, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_OUR, EC_WORD_TRUST},
.speechWin = {EC_WORD_YES_SIR_EXCL, EC_WORD_WE_RE, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THIS, EC_WORD_CONTEST},
.speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_MY, EC_WORD_IDOL, EC_WORD_DREAM},
- .monSets = gSlateportBattleTentTrainerMons_Camryn
+ .monSet = gSlateportBattleTentTrainerMons_Camryn
},
- [26] = {
+ [SLATEPORT_TENT_TRAINER_NATASHA] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("NATASHA"),
.speechBefore = {EC_WORD_COME_OVER, EC_WORD_TO, EC_WORD_MY, EC_WORD_PLACE, EC_WORD_OK_QUES, -1},
.speechWin = {EC_WORD_COME_ON, EC_WORD_OVER, EC_WORD_IT, EC_WORD_WILL, EC_WORD_BE, EC_WORD_GREAT},
.speechLose = {EC_WORD_AWW, EC_WORD_WON_T, EC_WORD_YOU, EC_WORD_COME_OVER, EC_WORD_QUES, -1},
- .monSets = gSlateportBattleTentTrainerMons_Natasha
+ .monSet = gSlateportBattleTentTrainerMons_Natasha
},
- [27] = {
+ [SLATEPORT_TENT_TRAINER_AUSTYN] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("AUSTYN"),
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_CARE, EC_WORD_HOW, EC_WORD_WE, EC_WORD_MATCH_UP},
.speechWin = {EC_WORD_HAH, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_FOR, EC_WORD_YOU},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MY, EC_WORD_LESSONS},
- .monSets = gSlateportBattleTentTrainerMons_Austyn
+ .monSet = gSlateportBattleTentTrainerMons_Austyn
},
- [28] = {
+ [SLATEPORT_TENT_TRAINER_DONOVAN] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("DONOVAN"),
.speechBefore = {EC_WORD_OH, EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SLIMY, EC_WORD_ALL, EC_WORD_OVER},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_THE, EC_MOVE2(MEGA_DRAIN), EC_WORD_HAHAHA},
.speechLose = {EC_WORD_I_AM, EC_WORD_NATURALLY, EC_WORD_SLIMY, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM},
- .monSets = gSlateportBattleTentTrainerMons_Donovan
+ .monSet = gSlateportBattleTentTrainerMons_Donovan
},
- [29] = {
+ [SLATEPORT_TENT_TRAINER_TAMIA] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("TAMIA"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_SO, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_FATHER},
- .monSets = gSlateportBattleTentTrainerMons_Tamia
+ .monSet = gSlateportBattleTentTrainerMons_Tamia
}
};
-const struct FacilityMon gSlateportBattleTentMons[] =
+const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
{
- [0] = {
+ [SLATEPORT_TENT_MON_ZIGZAGOON_1] = {
.species = SPECIES_ZIGZAGOON,
.moves = {MOVE_TACKLE, MOVE_CHARM, MOVE_ODOR_SLEUTH, MOVE_PIN_MISSILE},
.itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [1] = {
+ [SLATEPORT_TENT_MON_ZIGZAGOON_2] = {
.species = SPECIES_ZIGZAGOON,
.moves = {MOVE_DIG, MOVE_MUD_SPORT, MOVE_TAIL_WHIP, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [2] = {
+ [SLATEPORT_TENT_MON_BEAUTIFLY] = {
.species = SPECIES_BEAUTIFLY,
.moves = {MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_GUST, MOVE_HARDEN},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [3] = {
+ [SLATEPORT_TENT_MON_DUSTOX] = {
.species = SPECIES_DUSTOX,
.moves = {MOVE_POISON_STING, MOVE_MOONLIGHT, MOVE_PROTECT, MOVE_GUST},
.itemTableId = BATTLE_FRONTIER_ITEM_ORAN_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [4] = {
+ [SLATEPORT_TENT_MON_WAILMER_1] = {
.species = SPECIES_WAILMER,
.moves = {MOVE_ROLLOUT, MOVE_CURSE, MOVE_GROWL, MOVE_WHIRLPOOL},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [5] = {
+ [SLATEPORT_TENT_MON_WAILMER_2] = {
.species = SPECIES_WAILMER,
.moves = {MOVE_ROLLOUT, MOVE_GROWL, MOVE_WHIRLPOOL, MOVE_WATER_PULSE},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [6] = {
+ [SLATEPORT_TENT_MON_MARILL_1] = {
.species = SPECIES_MARILL,
.moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_BUBBLE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [7] = {
+ [SLATEPORT_TENT_MON_WINGULL_1] = {
.species = SPECIES_WINGULL,
.moves = {MOVE_SUPERSONIC, MOVE_GROWL, MOVE_WING_ATTACK, MOVE_STEEL_WING},
.itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAIVE
},
- [8] = {
+ [SLATEPORT_TENT_MON_PELIPPER_1] = {
.species = SPECIES_PELIPPER,
.moves = {MOVE_TWISTER, MOVE_WATER_SPORT, MOVE_GROWL, MOVE_WING_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [9] = {
+ [SLATEPORT_TENT_MON_CACNEA_1] = {
.species = SPECIES_CACNEA,
.moves = {MOVE_SANDSTORM, MOVE_LEER, MOVE_LEECH_SEED, MOVE_PIN_MISSILE},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SPEED,
.nature = NATURE_JOLLY
},
- [10] = {
+ [SLATEPORT_TENT_MON_LOMBRE_1] = {
.species = SPECIES_LOMBRE,
.moves = {MOVE_ASTONISH, MOVE_WATER_GUN, MOVE_FAKE_OUT, MOVE_ABSORB},
.itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [11] = {
+ [SLATEPORT_TENT_MON_LOTAD] = {
.species = SPECIES_LOTAD,
.moves = {MOVE_SYNTHESIS, MOVE_NATURE_POWER, MOVE_RAIN_DANCE, MOVE_MEGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_DOCILE
},
- [12] = {
+ [SLATEPORT_TENT_MON_SEEDOT] = {
.species = SPECIES_SEEDOT,
.moves = {MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_LEECH_SEED, MOVE_BIDE},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_TIMID
},
- [13] = {
+ [SLATEPORT_TENT_MON_NUZLEAF] = {
.species = SPECIES_NUZLEAF,
.moves = {MOVE_FAKE_OUT, MOVE_NATURE_POWER, MOVE_HARDEN, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [14] = {
+ [SLATEPORT_TENT_MON_NINJASK_1] = {
.species = SPECIES_NINJASK,
.moves = {MOVE_FURY_CUTTER, MOVE_SCREECH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [15] = {
+ [SLATEPORT_TENT_MON_NINJASK_2] = {
.species = SPECIES_NINJASK,
.moves = {MOVE_FURY_CUTTER, MOVE_DOUBLE_TEAM, MOVE_SCREECH, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [16] = {
+ [SLATEPORT_TENT_MON_GRAVELER] = {
.species = SPECIES_GRAVELER,
.moves = {MOVE_MUD_SPORT, MOVE_BLOCK, MOVE_ROCK_TOMB, MOVE_MAGNITUDE},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [17] = {
+ [SLATEPORT_TENT_MON_BALTOY] = {
.species = SPECIES_BALTOY,
.moves = {MOVE_SELF_DESTRUCT, MOVE_ANCIENT_POWER, MOVE_PSYBEAM, MOVE_REFLECT},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAIVE
},
- [18] = {
+ [SLATEPORT_TENT_MON_MIGHTYENA_1] = {
.species = SPECIES_MIGHTYENA,
.moves = {MOVE_BITE, MOVE_ROAR, MOVE_SWAGGER, MOVE_TACKLE},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [19] = {
+ [SLATEPORT_TENT_MON_MIGHTYENA_2] = {
.species = SPECIES_MIGHTYENA,
.moves = {MOVE_ODOR_SLEUTH, MOVE_HOWL, MOVE_SAND_ATTACK, MOVE_POISON_FANG},
.itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [20] = {
+ [SLATEPORT_TENT_MON_LINOONE] = {
.species = SPECIES_LINOONE,
.moves = {MOVE_HEADBUTT, MOVE_TICKLE, MOVE_TAIL_WHIP, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [21] = {
+ [SLATEPORT_TENT_MON_GOLDEEN] = {
.species = SPECIES_GOLDEEN,
.moves = {MOVE_WATER_SPORT, MOVE_HORN_ATTACK, MOVE_WATERFALL, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_CALM
},
- [22] = {
+ [SLATEPORT_TENT_MON_ELECTRIKE_1] = {
.species = SPECIES_ELECTRIKE,
.moves = {MOVE_BITE, MOVE_SPARK, MOVE_ROAR, MOVE_FLASH},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_MODEST
},
- [23] = {
+ [SLATEPORT_TENT_MON_VOLTORB] = {
.species = SPECIES_VOLTORB,
.moves = {MOVE_SPARK, MOVE_ROLLOUT, MOVE_CHARGE, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
.nature = NATURE_MILD
},
- [24] = {
+ [SLATEPORT_TENT_MON_ARON_1] = {
.species = SPECIES_ARON,
.moves = {MOVE_DIG, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_ENDEAVOR},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [25] = {
+ [SLATEPORT_TENT_MON_ARON_2] = {
.species = SPECIES_ARON,
.moves = {MOVE_MUD_SLAP, MOVE_IRON_TAIL, MOVE_HARDEN, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [26] = {
+ [SLATEPORT_TENT_MON_TRAPINCH_1] = {
.species = SPECIES_TRAPINCH,
.moves = {MOVE_BODY_SLAM, MOVE_FOCUS_ENERGY, MOVE_SAND_TOMB, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [27] = {
+ [SLATEPORT_TENT_MON_CACNEA_2] = {
.species = SPECIES_CACNEA,
.moves = {MOVE_INGRAIN, MOVE_SANDSTORM, MOVE_POISON_STING, MOVE_DESTINY_BOND},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_TIMID
},
- [28] = {
+ [SLATEPORT_TENT_MON_TAILLOW] = {
.species = SPECIES_TAILLOW,
.moves = {MOVE_GROWL, MOVE_AERIAL_ACE, MOVE_AGILITY, MOVE_ENDEAVOR},
.itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [29] = {
+ [SLATEPORT_TENT_MON_SWELLOW] = {
.species = SPECIES_SWELLOW,
.moves = {MOVE_SUPERSONIC, MOVE_GROWL, MOVE_FOCUS_ENERGY, MOVE_PECK},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [30] = {
+ [SLATEPORT_TENT_MON_GOLBAT_1] = {
.species = SPECIES_GOLBAT,
.moves = {MOVE_ASTONISH, MOVE_GUST, MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY},
.itemTableId = BATTLE_FRONTIER_ITEM_SPELL_TAG,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
.nature = NATURE_TIMID
},
- [31] = {
+ [SLATEPORT_TENT_MON_LOUDRED] = {
.species = SPECIES_LOUDRED,
.moves = {MOVE_ASTONISH, MOVE_SCREECH, MOVE_UPROAR, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [32] = {
+ [SLATEPORT_TENT_MON_SPINDA] = {
.species = SPECIES_SPINDA,
.moves = {MOVE_DIZZY_PUNCH, MOVE_FAINT_ATTACK, MOVE_HYPNOSIS, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [33] = {
+ [SLATEPORT_TENT_MON_MAGNEMITE] = {
.species = SPECIES_MAGNEMITE,
.moves = {MOVE_METAL_SOUND, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SPARK},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_SERIOUS
},
- [34] = {
+ [SLATEPORT_TENT_MON_WHISMUR] = {
.species = SPECIES_WHISMUR,
.moves = {MOVE_REST, MOVE_SLEEP_TALK, MOVE_HOWL, MOVE_BODY_SLAM},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [35] = {
+ [SLATEPORT_TENT_MON_MAKUHITA] = {
.species = SPECIES_MAKUHITA,
.moves = {MOVE_SAND_ATTACK, MOVE_KNOCK_OFF, MOVE_ARM_THRUST, MOVE_BELLY_DRUM},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [36] = {
+ [SLATEPORT_TENT_MON_NUMEL_1] = {
.species = SPECIES_NUMEL,
.moves = {MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_GROWL, MOVE_FOCUS_ENERGY},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_MODEST
},
- [37] = {
+ [SLATEPORT_TENT_MON_BARBOACH] = {
.species = SPECIES_BARBOACH,
.moves = {MOVE_MAGNITUDE, MOVE_MUD_SPORT, MOVE_WATER_SPORT, MOVE_WATER_GUN},
.itemTableId = BATTLE_FRONTIER_ITEM_SEA_INCENSE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [38] = {
+ [SLATEPORT_TENT_MON_TENTACOOL] = {
.species = SPECIES_TENTACOOL,
.moves = {MOVE_SCREECH, MOVE_BUBBLE_BEAM, MOVE_ACID, MOVE_BARRIER},
.itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [39] = {
+ [SLATEPORT_TENT_MON_VIGOROTH] = {
.species = SPECIES_VIGOROTH,
.moves = {MOVE_FOCUS_ENERGY, MOVE_FURY_SWIPES, MOVE_ENDURE, MOVE_YAWN},
.itemTableId = BATTLE_FRONTIER_ITEM_AGUAV_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [40] = {
+ [SLATEPORT_TENT_MON_MAGIKARP] = {
.species = SPECIES_MAGIKARP,
.moves = {MOVE_TACKLE, MOVE_FLAIL, MOVE_SPLASH, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_SCALE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [41] = {
+ [SLATEPORT_TENT_MON_SEVIPER_1] = {
.species = SPECIES_SEVIPER,
.moves = {MOVE_LICK, MOVE_POISON_FANG, MOVE_GLARE, MOVE_WRAP},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [42] = {
+ [SLATEPORT_TENT_MON_SOLROCK] = {
.species = SPECIES_SOLROCK,
.moves = {MOVE_ROCK_THROW, MOVE_HARDEN, MOVE_PSYWAVE, MOVE_TACKLE},
.itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [43] = {
+ [SLATEPORT_TENT_MON_KECLEON_1] = {
.species = SPECIES_KECLEON,
.moves = {MOVE_PSYBEAM, MOVE_SUBSTITUTE, MOVE_THIEF, MOVE_TAIL_WHIP},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [44] = {
+ [SLATEPORT_TENT_MON_KECLEON_2] = {
.species = SPECIES_KECLEON,
.moves = {MOVE_FAINT_ATTACK, MOVE_ASTONISH, MOVE_LICK, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_IAPAPA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [45] = {
+ [SLATEPORT_TENT_MON_SHROOMISH_1] = {
.species = SPECIES_SHROOMISH,
.moves = {MOVE_STUN_SPORE, MOVE_TACKLE, MOVE_LEECH_SEED, MOVE_MEGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [46] = {
+ [SLATEPORT_TENT_MON_SHROOMISH_2] = {
.species = SPECIES_SHROOMISH,
.moves = {MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_SPORE, MOVE_LEECH_SEED},
.itemTableId = BATTLE_FRONTIER_ITEM_FIGY_BERRY,
.evSpread = F_EV_SPREAD_ATTACK,
.nature = NATURE_BRAVE
},
- [47] = {
+ [SLATEPORT_TENT_MON_LOMBRE_2] = {
.species = SPECIES_LOMBRE,
.moves = {MOVE_NATURE_POWER, MOVE_ASTONISH, MOVE_GROWL, MOVE_ABSORB},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_LONELY
},
- [48] = {
+ [SLATEPORT_TENT_MON_NUMEL_2] = {
.species = SPECIES_NUMEL,
.moves = {MOVE_EMBER, MOVE_GROWL, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY},
.itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [49] = {
+ [SLATEPORT_TENT_MON_TRAPINCH_2] = {
.species = SPECIES_TRAPINCH,
.moves = {MOVE_FAINT_ATTACK, MOVE_DIG, MOVE_BITE, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [50] = {
+ [SLATEPORT_TENT_MON_PELIPPER_2] = {
.species = SPECIES_PELIPPER,
.moves = {MOVE_WING_ATTACK, MOVE_SUPERSONIC, MOVE_MIST, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_WIKI_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [51] = {
+ [SLATEPORT_TENT_MON_WINGULL_2] = {
.species = SPECIES_WINGULL,
.moves = {MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_GROWL, MOVE_ICY_WIND},
.itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [52] = {
+ [SLATEPORT_TENT_MON_MARILL_2] = {
.species = SPECIES_MARILL,
.moves = {MOVE_DOUBLE_EDGE, MOVE_RAIN_DANCE, MOVE_TAIL_WHIP, MOVE_WATER_GUN},
.itemTableId = BATTLE_FRONTIER_ITEM_GANLON_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [53] = {
+ [SLATEPORT_TENT_MON_SKITTY] = {
.species = SPECIES_SKITTY,
.moves = {MOVE_ASSIST, MOVE_ATTRACT, MOVE_SING, MOVE_CHARM},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [54] = {
+ [SLATEPORT_TENT_MON_SEVIPER_2] = {
.species = SPECIES_SEVIPER,
.moves = {MOVE_SWAGGER, MOVE_WRAP, MOVE_POISON_TAIL, MOVE_HAZE},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
.nature = NATURE_BRAVE
},
- [55] = {
+ [SLATEPORT_TENT_MON_GOLBAT_2] = {
.species = SPECIES_GOLBAT,
.moves = {MOVE_BITE, MOVE_TORMENT, MOVE_SCREECH, MOVE_POISON_FANG},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_HARDY
},
- [56] = {
+ [SLATEPORT_TENT_MON_RALTS] = {
.species = SPECIES_RALTS,
.moves = {MOVE_HYPNOSIS, MOVE_IMPRISON, MOVE_PSYCHIC, MOVE_DREAM_EATER},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGO_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_TIMID
},
- [57] = {
+ [SLATEPORT_TENT_MON_SANDSHREW] = {
.species = SPECIES_SANDSHREW,
.moves = {MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_SAND_TOMB, MOVE_DEFENSE_CURL},
.itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
.evSpread = 0,
.nature = NATURE_HARDY
},
- [58] = {
+ [SLATEPORT_TENT_MON_SWALOT] = {
.species = SPECIES_SWALOT,
.moves = {MOVE_YAWN, MOVE_SLUDGE, MOVE_ENCORE, MOVE_POUND},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_IMPISH
},
- [59] = {
+ [SLATEPORT_TENT_MON_VOLBEAT] = {
.species = SPECIES_VOLBEAT,
.moves = {MOVE_TACKLE, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [60] = {
+ [SLATEPORT_TENT_MON_ILLUMISE] = {
.species = SPECIES_ILLUMISE,
.moves = {MOVE_CHARM, MOVE_TACKLE, MOVE_ENCORE, MOVE_MOONLIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [61] = {
+ [SLATEPORT_TENT_MON_KADABRA] = {
.species = SPECIES_KADABRA,
.moves = {MOVE_DISABLE, MOVE_CONFUSION, MOVE_REFLECT, MOVE_RECOVER},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [62] = {
+ [SLATEPORT_TENT_MON_KIRLIA] = {
.species = SPECIES_KIRLIA,
.moves = {MOVE_CALM_MIND, MOVE_CONFUSION, MOVE_DOUBLE_TEAM, MOVE_GROWL},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [63] = {
+ [SLATEPORT_TENT_MON_BRELOOM] = {
.species = SPECIES_BRELOOM,
.moves = {MOVE_ABSORB, MOVE_TACKLE, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAIVE
},
- [64] = {
+ [SLATEPORT_TENT_MON_PLUSLE_1] = {
.species = SPECIES_PLUSLE,
.moves = {MOVE_SPARK, MOVE_ENCORE, MOVE_THUNDER_WAVE, MOVE_GROWL},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_LONELY
},
- [65] = {
+ [SLATEPORT_TENT_MON_PLUSLE_2] = {
.species = SPECIES_PLUSLE,
.moves = {MOVE_SPARK, MOVE_FAKE_TEARS, MOVE_SUBSTITUTE, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MILD
},
- [66] = {
+ [SLATEPORT_TENT_MON_ELECTRIKE_2] = {
.species = SPECIES_ELECTRIKE,
.moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_ROAR, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_APICOT_BERRY,
.evSpread = F_EV_SPREAD_SPEED,
.nature = NATURE_TIMID
},
- [67] = {
+ [SLATEPORT_TENT_MON_SWABLU] = {
.species = SPECIES_SWABLU,
.moves = {MOVE_SING, MOVE_PECK, MOVE_STEEL_WING, MOVE_SAFEGUARD},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [68] = {
+ [SLATEPORT_TENT_MON_MACHOP] = {
.species = SPECIES_MACHOP,
.moves = {MOVE_FOCUS_ENERGY, MOVE_VITAL_THROW, MOVE_SEISMIC_TOSS, MOVE_FORESIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [69] = {
+ [SLATEPORT_TENT_MON_MACHOKE] = {
.species = SPECIES_MACHOKE,
.moves = {MOVE_FOCUS_ENERGY, MOVE_LEER, MOVE_KARATE_CHOP, MOVE_FORESIGHT},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
@@ -1248,873 +1248,873 @@ const struct FacilityMon gSlateportBattleTentMons[] =
// Verdanturf Battle Tent.
const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
{
- 4,
- 11,
- 13,
- 18,
- 26,
+ VERDANTURF_TENT_MON_SHROOMISH,
+ VERDANTURF_TENT_MON_SWALOT,
+ VERDANTURF_TENT_MON_BALTOY,
+ VERDANTURF_TENT_MON_LOTAD,
+ VERDANTURF_TENT_MON_NUZLEAF,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
{
- 30,
- 37,
- 13,
- 29,
- 42,
+ VERDANTURF_TENT_MON_GRAVELER,
+ VERDANTURF_TENT_MON_TRAPINCH,
+ VERDANTURF_TENT_MON_BALTOY,
+ VERDANTURF_TENT_MON_SOLROCK,
+ VERDANTURF_TENT_MON_MACHOKE,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
{
- 6,
- 7,
- 17,
- 18,
- 40,
+ VERDANTURF_TENT_MON_MAGIKARP,
+ VERDANTURF_TENT_MON_BARBOACH,
+ VERDANTURF_TENT_MON_GOLDEEN_1,
+ VERDANTURF_TENT_MON_LOTAD,
+ VERDANTURF_TENT_MON_WAILMER,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
{
- 6,
- 7,
- 18,
- 24,
- 38,
+ VERDANTURF_TENT_MON_MAGIKARP,
+ VERDANTURF_TENT_MON_BARBOACH,
+ VERDANTURF_TENT_MON_LOTAD,
+ VERDANTURF_TENT_MON_GOLDEEN_2,
+ VERDANTURF_TENT_MON_TENTACOOL,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
{
- 0,
- 12,
- 25,
- 28,
- 22,
- 44,
+ VERDANTURF_TENT_MON_POOCHYENA,
+ VERDANTURF_TENT_MON_KECLEON,
+ VERDANTURF_TENT_MON_ELECTRIKE,
+ VERDANTURF_TENT_MON_MIGHTYENA,
+ VERDANTURF_TENT_MON_SKARMORY,
+ VERDANTURF_TENT_MON_CACNEA,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
{
- 8,
- 12,
- 21,
- 22,
- 31,
+ VERDANTURF_TENT_MON_WINGULL,
+ VERDANTURF_TENT_MON_KECLEON,
+ VERDANTURF_TENT_MON_SEVIPER,
+ VERDANTURF_TENT_MON_SKARMORY,
+ VERDANTURF_TENT_MON_KADABRA,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
{
- 1,
- 20,
- 23,
- 25,
- 32,
+ VERDANTURF_TENT_MON_ZIGZAGOON,
+ VERDANTURF_TENT_MON_LINOONE,
+ VERDANTURF_TENT_MON_SWELLOW,
+ VERDANTURF_TENT_MON_ELECTRIKE,
+ VERDANTURF_TENT_MON_VOLTORB,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
{
- 9,
- 12,
- 27,
- 37,
- 43,
+ VERDANTURF_TENT_MON_ARON_1,
+ VERDANTURF_TENT_MON_KECLEON,
+ VERDANTURF_TENT_MON_ARON_2,
+ VERDANTURF_TENT_MON_TRAPINCH,
+ VERDANTURF_TENT_MON_WHISMUR,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
{
- 36,
- 7,
- 34,
- 6,
- 40,
+ VERDANTURF_TENT_MON_MARILL,
+ VERDANTURF_TENT_MON_BARBOACH,
+ VERDANTURF_TENT_MON_PELIPPER,
+ VERDANTURF_TENT_MON_MAGIKARP,
+ VERDANTURF_TENT_MON_WAILMER,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
{
- 26,
- 3,
- 0,
- 2,
- 17,
+ VERDANTURF_TENT_MON_NUZLEAF,
+ VERDANTURF_TENT_MON_TAILLOW,
+ VERDANTURF_TENT_MON_POOCHYENA,
+ VERDANTURF_TENT_MON_DUSTOX,
+ VERDANTURF_TENT_MON_GOLDEEN_1,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
{
- 14,
- 37,
- 2,
- 38,
- 27,
+ VERDANTURF_TENT_MON_NINJASK,
+ VERDANTURF_TENT_MON_TRAPINCH,
+ VERDANTURF_TENT_MON_DUSTOX,
+ VERDANTURF_TENT_MON_TENTACOOL,
+ VERDANTURF_TENT_MON_ARON_2,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
{
- 31,
- 28,
- 22,
- 25,
- 44,
- 43,
- 41,
+ VERDANTURF_TENT_MON_KADABRA,
+ VERDANTURF_TENT_MON_MIGHTYENA,
+ VERDANTURF_TENT_MON_SKARMORY,
+ VERDANTURF_TENT_MON_ELECTRIKE,
+ VERDANTURF_TENT_MON_CACNEA,
+ VERDANTURF_TENT_MON_WHISMUR,
+ VERDANTURF_TENT_MON_ILLUMISE,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
{
- 33,
- 32,
- 25,
- 35,
- 34,
+ VERDANTURF_TENT_MON_MAGNEMITE,
+ VERDANTURF_TENT_MON_VOLTORB,
+ VERDANTURF_TENT_MON_ELECTRIKE,
+ VERDANTURF_TENT_MON_LOUDRED,
+ VERDANTURF_TENT_MON_PELIPPER,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
{
- 1,
- 4,
- 8,
- 11,
- 17,
- 40,
- 34,
+ VERDANTURF_TENT_MON_ZIGZAGOON,
+ VERDANTURF_TENT_MON_SHROOMISH,
+ VERDANTURF_TENT_MON_WINGULL,
+ VERDANTURF_TENT_MON_SWALOT,
+ VERDANTURF_TENT_MON_GOLDEEN_1,
+ VERDANTURF_TENT_MON_WAILMER,
+ VERDANTURF_TENT_MON_PELIPPER,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
{
- 0,
- 29,
- 35,
- 37,
- 39,
- 43,
+ VERDANTURF_TENT_MON_POOCHYENA,
+ VERDANTURF_TENT_MON_SOLROCK,
+ VERDANTURF_TENT_MON_LOUDRED,
+ VERDANTURF_TENT_MON_TRAPINCH,
+ VERDANTURF_TENT_MON_VIGOROTH,
+ VERDANTURF_TENT_MON_WHISMUR,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
{
- 29,
- 36,
- 32,
- 30,
- 17,
- 6,
- 44,
+ VERDANTURF_TENT_MON_SOLROCK,
+ VERDANTURF_TENT_MON_MARILL,
+ VERDANTURF_TENT_MON_VOLTORB,
+ VERDANTURF_TENT_MON_GRAVELER,
+ VERDANTURF_TENT_MON_GOLDEEN_1,
+ VERDANTURF_TENT_MON_MAGIKARP,
+ VERDANTURF_TENT_MON_CACNEA,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
{
- 0,
- 1,
- 16,
- 31,
- 6,
+ VERDANTURF_TENT_MON_POOCHYENA,
+ VERDANTURF_TENT_MON_ZIGZAGOON,
+ VERDANTURF_TENT_MON_SWABLU,
+ VERDANTURF_TENT_MON_KADABRA,
+ VERDANTURF_TENT_MON_MAGIKARP,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
{
- 0,
- 1,
- 16,
- 36,
- 18,
+ VERDANTURF_TENT_MON_POOCHYENA,
+ VERDANTURF_TENT_MON_ZIGZAGOON,
+ VERDANTURF_TENT_MON_SWABLU,
+ VERDANTURF_TENT_MON_MARILL,
+ VERDANTURF_TENT_MON_LOTAD,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
{
- 5,
- 15,
- 22,
- 30,
- 16,
- 39,
- 43,
+ VERDANTURF_TENT_MON_MACHOP,
+ VERDANTURF_TENT_MON_MAKUHITA,
+ VERDANTURF_TENT_MON_SKARMORY,
+ VERDANTURF_TENT_MON_GRAVELER,
+ VERDANTURF_TENT_MON_SWABLU,
+ VERDANTURF_TENT_MON_VIGOROTH,
+ VERDANTURF_TENT_MON_WHISMUR,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
{
- 5,
- 15,
- 19,
- 24,
- 41,
- 43,
+ VERDANTURF_TENT_MON_MACHOP,
+ VERDANTURF_TENT_MON_MAKUHITA,
+ VERDANTURF_TENT_MON_NUMEL_2,
+ VERDANTURF_TENT_MON_GOLDEEN_2,
+ VERDANTURF_TENT_MON_ILLUMISE,
+ VERDANTURF_TENT_MON_WHISMUR,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
{
- 0,
- 9,
- 10,
- 11,
- 23,
+ VERDANTURF_TENT_MON_POOCHYENA,
+ VERDANTURF_TENT_MON_ARON_1,
+ VERDANTURF_TENT_MON_NUMEL_1,
+ VERDANTURF_TENT_MON_SWALOT,
+ VERDANTURF_TENT_MON_SWELLOW,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
{
- 6,
- 7,
- 24,
- 38,
- 40,
+ VERDANTURF_TENT_MON_MAGIKARP,
+ VERDANTURF_TENT_MON_BARBOACH,
+ VERDANTURF_TENT_MON_GOLDEEN_2,
+ VERDANTURF_TENT_MON_TENTACOOL,
+ VERDANTURF_TENT_MON_WAILMER,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
{
- 8,
- 16,
- 23,
- 34,
- 3,
+ VERDANTURF_TENT_MON_WINGULL,
+ VERDANTURF_TENT_MON_SWABLU,
+ VERDANTURF_TENT_MON_SWELLOW,
+ VERDANTURF_TENT_MON_PELIPPER,
+ VERDANTURF_TENT_MON_TAILLOW,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
{
- 14,
- 2,
- 11,
- 39,
- 21,
- 38,
+ VERDANTURF_TENT_MON_NINJASK,
+ VERDANTURF_TENT_MON_DUSTOX,
+ VERDANTURF_TENT_MON_SWALOT,
+ VERDANTURF_TENT_MON_VIGOROTH,
+ VERDANTURF_TENT_MON_SEVIPER,
+ VERDANTURF_TENT_MON_TENTACOOL,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
{
- 18,
- 10,
- 16,
- 26,
- 25,
- 27,
+ VERDANTURF_TENT_MON_LOTAD,
+ VERDANTURF_TENT_MON_NUMEL_1,
+ VERDANTURF_TENT_MON_SWABLU,
+ VERDANTURF_TENT_MON_NUZLEAF,
+ VERDANTURF_TENT_MON_ELECTRIKE,
+ VERDANTURF_TENT_MON_ARON_2,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
{
- 24,
- 34,
- 36,
- 38,
- 5,
+ VERDANTURF_TENT_MON_GOLDEEN_2,
+ VERDANTURF_TENT_MON_PELIPPER,
+ VERDANTURF_TENT_MON_MARILL,
+ VERDANTURF_TENT_MON_TENTACOOL,
+ VERDANTURF_TENT_MON_MACHOP,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
{
- 26,
- 0,
- 18,
- 13,
- 25,
+ VERDANTURF_TENT_MON_NUZLEAF,
+ VERDANTURF_TENT_MON_POOCHYENA,
+ VERDANTURF_TENT_MON_LOTAD,
+ VERDANTURF_TENT_MON_BALTOY,
+ VERDANTURF_TENT_MON_ELECTRIKE,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
{
- 24,
- 34,
- 5,
- 15,
- 7,
- 42,
+ VERDANTURF_TENT_MON_GOLDEEN_2,
+ VERDANTURF_TENT_MON_PELIPPER,
+ VERDANTURF_TENT_MON_MACHOP,
+ VERDANTURF_TENT_MON_MAKUHITA,
+ VERDANTURF_TENT_MON_BARBOACH,
+ VERDANTURF_TENT_MON_MACHOKE,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
{
- 18,
- 21,
- 26,
- 29,
- 41,
+ VERDANTURF_TENT_MON_LOTAD,
+ VERDANTURF_TENT_MON_SEVIPER,
+ VERDANTURF_TENT_MON_NUZLEAF,
+ VERDANTURF_TENT_MON_SOLROCK,
+ VERDANTURF_TENT_MON_ILLUMISE,
-1
};
const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
{
- 23,
- 26,
- 27,
- 28,
- 31,
+ VERDANTURF_TENT_MON_SWELLOW,
+ VERDANTURF_TENT_MON_NUZLEAF,
+ VERDANTURF_TENT_MON_ARON_2,
+ VERDANTURF_TENT_MON_MIGHTYENA,
+ VERDANTURF_TENT_MON_KADABRA,
-1
};
-const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
+const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
{
- [0] = {
+ [VERDANTURF_TENT_TRAINER_BRENNA] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("BRENNA"),
.speechBefore = {EC_WORD_NO, EC_WORD_DAYS, EC_WORD_GO, EC_WORD_WITHOUT, EC_WORD_MY, EC_MOVE(FAKE_TEARS)},
.speechWin = {EC_WORD_OH, EC_WORD_THAT_WAS, EC_WORD_SO, EC_WORD_REFRESHING, EC_WORD_EXCL, -1},
.speechLose = {EC_WORD_ALL, EC_WORD_I, EC_WORD_EVER, EC_WORD_GET, EC_WORD_IS, EC_MOVE(TORMENT)},
- .monSets = gVerdanturfBattleTentTrainerMons_Brenna
+ .monSet = gVerdanturfBattleTentTrainerMons_Brenna
},
- [1] = {
+ [VERDANTURF_TENT_TRAINER_DILAN] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("DILAN"),
.speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_BORED, EC_WORD_I_AM},
.speechWin = {EC_WORD_LOSING, EC_WORD_ISN_T, EC_WORD_EXCITING, EC_WORD_AT, EC_WORD_ALL, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_EXCITING, EC_WORD_EXCL_EXCL, EC_WORD_BYE_BYE, EC_WORD_TO, EC_WORD_BEING, EC_WORD_BORED},
- .monSets = gVerdanturfBattleTentTrainerMons_Dilan
+ .monSet = gVerdanturfBattleTentTrainerMons_Dilan
},
- [2] = {
+ [VERDANTURF_TENT_TRAINER_ELIANA] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("ELIANA"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_ON, EC_WORD_A, EC_WORD_VACATION, EC_WORD_SOON},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_GET, EC_WORD_SOME, EC_WORD_MONEY},
.speechLose = {EC_WORD_NO, EC_WORD_SLEEP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_GET, EC_WORD_HOME},
- .monSets = gVerdanturfBattleTentTrainerMons_Eliana
+ .monSet = gVerdanturfBattleTentTrainerMons_Eliana
},
- [3] = {
+ [VERDANTURF_TENT_TRAINER_MARKUS] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("MARKUS"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_SMART, EC_WORD_EXCL, EC_WORD_IF_I_LOSE, EC_WORD_I, EC_MOVE(SELF_DESTRUCT)},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_NON_STOP, EC_MOVE2(EXPLOSION), EC_WORD_OF, EC_WORD_JOY},
.speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_TIME, EC_WORD_TO, EC_MOVE(SELF_DESTRUCT)},
- .monSets = gVerdanturfBattleTentTrainerMons_Markus
+ .monSet = gVerdanturfBattleTentTrainerMons_Markus
},
- [4] = {
+ [VERDANTURF_TENT_TRAINER_CAITLYN] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("CAITLYN"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_OF, EC_WORD_BEING, EC_WORD_AN, EC_WORD_IDOL},
.speechWin = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_BEST, EC_WORD_FOR, EC_WORD_HAPPINESS},
.speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, EC_WORD_AT, EC_WORD_ALL},
- .monSets = gVerdanturfBattleTentTrainerMons_Caitlyn
+ .monSet = gVerdanturfBattleTentTrainerMons_Caitlyn
},
- [5] = {
+ [VERDANTURF_TENT_TRAINER_DESIREE] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("DESIREE"),
.speechBefore = {EC_WORD_DOESN_T, EC_WORD_MY, EC_WORD_BEAUTY, EC_MOVE(ASTONISH), EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_DID, EC_WORD_I, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES, -1},
.speechLose = {EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_DID, EC_WORD_NOTHING, EC_WORD_FOR, EC_WORD_YOU},
- .monSets = gVerdanturfBattleTentTrainerMons_Desiree
+ .monSet = gVerdanturfBattleTentTrainerMons_Desiree
},
- [6] = {
+ [VERDANTURF_TENT_TRAINER_RONALD] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("RONALD"),
.speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_WILL, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, -1},
.speechWin = {EC_WORD_GIVE_UP, EC_WORD_QUES, -1, EC_WORD_THAT_S, EC_WORD_REALLY, EC_WORD_WEAK},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE2(BATON_PASS)},
- .monSets = gVerdanturfBattleTentTrainerMons_Ronald
+ .monSet = gVerdanturfBattleTentTrainerMons_Ronald
},
- [7] = {
+ [VERDANTURF_TENT_TRAINER_ASHTEN] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("ASHTEN"),
.speechBefore = {EC_WORD_OH_YEAH, EC_WORD_ANOTHER, EC_WORD_EXCITING, EC_WORD_BATTLE, EC_WORD_EXCL, -1},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WIMPY, EC_WORD_AND, EC_WORD_BORING},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_LOSS, EC_WORD_WOW, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Ashten
+ .monSet = gVerdanturfBattleTentTrainerMons_Ashten
},
- [8] = {
+ [VERDANTURF_TENT_TRAINER_GERARD] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("GERARD"),
.speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_SUPER, EC_MOVE2(TEETER_DANCE), EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_HARD, EC_WORD_ELLIPSIS, EC_WORD_AM, EC_WORD_I, EC_WORD_OK_QUES},
.speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGIVE, EC_WORD_YOU, EC_WORD_FOR, EC_WORD_THAT},
- .monSets = gVerdanturfBattleTentTrainerMons_Gerard
+ .monSet = gVerdanturfBattleTentTrainerMons_Gerard
},
- [9] = {
+ [VERDANTURF_TENT_TRAINER_BRADLY] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("BRADLY"),
.speechBefore = {EC_WORD_IT_S, EC_WORD_LONESOME, EC_WORD_BUT, EC_WORD_I, EC_WORD_VACATION, EC_WORD_ALONE},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(WITHDRAW), EC_WORD_INSIDE, EC_WORD_MY, EC_WORD_SHELL_ARMOR},
.speechLose = {EC_WORD_OH, EC_WORD_ELLIPSIS, -1, EC_WORD_ALONE, EC_WORD_AS, EC_WORD_ALWAYS},
- .monSets = gVerdanturfBattleTentTrainerMons_Bradly
+ .monSet = gVerdanturfBattleTentTrainerMons_Bradly
},
- [10] = {
+ [VERDANTURF_TENT_TRAINER_DENNIS] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("DENNIS"),
.speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_STRONG, EC_WORD_QUES, -1},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, -1, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL, -1},
.speechLose = {EC_WORD_NICE, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WAS, EC_WORD_CHILD_S_PLAY},
- .monSets = gVerdanturfBattleTentTrainerMons_Dennis
+ .monSet = gVerdanturfBattleTentTrainerMons_Dennis
},
- [11] = {
+ [VERDANTURF_TENT_TRAINER_PRESTIN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("PRESTIN"),
.speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_FOR, EC_WORD_YOU},
.speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_A, EC_WORD_DREAM},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_WAKE_UP, EC_WORD_FROM, EC_WORD_THIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Prestin
+ .monSet = gVerdanturfBattleTentTrainerMons_Prestin
},
- [12] = {
+ [VERDANTURF_TENT_TRAINER_ERNESTO] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("ERNESTO"),
.speechBefore = {EC_WORD_THIS, EC_WORD_PARTY, EC_WORD_GOES, EC_WORD_ON, EC_WORD_FOREVER, EC_WORD_EXCL},
.speechWin = {EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_PLAYS, EC_WORD_ON, EC_WORD_WITHOUT, EC_WORD_END},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_CAN_T, EC_WORD_STOP},
- .monSets = gVerdanturfBattleTentTrainerMons_Ernesto
+ .monSet = gVerdanturfBattleTentTrainerMons_Ernesto
},
- [13] = {
+ [VERDANTURF_TENT_TRAINER_NALA] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("NALA"),
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_THE, EC_WORD_WORLD, EC_WORD_MOVIE, EC_WORD_COLLECTION},
.speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_RADIO, EC_WORD_VERY, EC_WORD_MUCH},
.speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Nala
+ .monSet = gVerdanturfBattleTentTrainerMons_Nala
},
- [14] = {
+ [VERDANTURF_TENT_TRAINER_DARNELL] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("DARNELL"),
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO_EASY, EC_WORD_ON, EC_WORD_YOU, -1},
.speechWin = {EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_AWAY},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE, EC_WORD_ELLIPSIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Darnell
+ .monSet = gVerdanturfBattleTentTrainerMons_Darnell
},
- [15] = {
+ [VERDANTURF_TENT_TRAINER_ASHLYN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("ASHLYN"),
.speechBefore = {EC_WORD_I, EC_WORD_LOOK, EC_WORD_TOUGH, EC_WORD_DO, EC_WORD_I, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OVER, EC_WORD_YOUR, EC_MOVE2(TAUNT), EC_WORD_YET},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL_EXCL, -1, -1, -1},
- .monSets = gVerdanturfBattleTentTrainerMons_Ashlyn
+ .monSet = gVerdanturfBattleTentTrainerMons_Ashlyn
},
- [16] = {
+ [VERDANTURF_TENT_TRAINER_ADDISON] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("ADDISON"),
.speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL},
.speechWin = {EC_WORD_WELL, EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_EASY, EC_WORD_QUES, -1},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, -1, EC_WORD_BUT, EC_WORD_WHY, EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Addison
+ .monSet = gVerdanturfBattleTentTrainerMons_Addison
},
- [17] = {
+ [VERDANTURF_TENT_TRAINER_JUSTINE] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("JUSTINE"),
.speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_COME_ON, EC_WORD_I_AM, EC_WORD_READY},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_EXCL},
.speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL_EXCL, -1, -1, -1, -1},
- .monSets = gVerdanturfBattleTentTrainerMons_Justine
+ .monSet = gVerdanturfBattleTentTrainerMons_Justine
},
- [18] = {
+ [VERDANTURF_TENT_TRAINER_TYSON] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("TYSON"),
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_PRESSURE, EC_WORD_ME, EC_WORD_QUES},
.speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_EXCL},
.speechLose = {EC_WORD_THIS, EC_WORD_DOESN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Tyson
+ .monSet = gVerdanturfBattleTentTrainerMons_Tyson
},
- [19] = {
+ [VERDANTURF_TENT_TRAINER_LAILA] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("LAILA"),
.speechBefore = {EC_WORD_A, EC_MOVE2(STRUGGLE), EC_WORD_ISN_T, EC_WORD_VERY, EC_WORD_COOL, -1},
.speechWin = {EC_WORD_NOPE, EC_WORD_NOT_VERY, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_YOU, EC_WORD_WON},
- .monSets = gVerdanturfBattleTentTrainerMons_Laila
+ .monSet = gVerdanturfBattleTentTrainerMons_Laila
},
- [20] = {
+ [VERDANTURF_TENT_TRAINER_WAREN] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("WAREN"),
.speechBefore = {EC_WORD_DANGER, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_SENSE, EC_WORD_DANGER},
.speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_BELIEVE, EC_WORD_MY, EC_WORD_LIE, EC_WORD_QUES_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DID, EC_WORD_SENSE, EC_WORD_DANGER, EC_WORD_ELLIPSIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Waren
+ .monSet = gVerdanturfBattleTentTrainerMons_Waren
},
- [21] = {
+ [VERDANTURF_TENT_TRAINER_TOBIAS] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("TOBIAS"),
.speechBefore = {EC_MOVE2(BARRIER), EC_WORD_EXCL_EXCL, -1, EC_WORD_NOW, EC_WORD_COME_ON, EC_WORD_EXCL},
.speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_KNOW, EC_WORD_THAT, EC_WORD_IT_S, EC_WORD_HOPELESS},
- .monSets = gVerdanturfBattleTentTrainerMons_Tobias
+ .monSet = gVerdanturfBattleTentTrainerMons_Tobias
},
- [22] = {
+ [VERDANTURF_TENT_TRAINER_JOSIAH] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("JOSIAH"),
.speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_IF_I_LOSE, -1},
.speechWin = {EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, -1, EC_WORD_YOU, EC_MOVE(FLY), EC_WORD_INSTEAD},
.speechLose = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_SOMETIME, EC_WORD_SOON},
- .monSets = gVerdanturfBattleTentTrainerMons_Josiah
+ .monSet = gVerdanturfBattleTentTrainerMons_Josiah
},
- [23] = {
+ [VERDANTURF_TENT_TRAINER_DION] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("DION"),
.speechBefore = {EC_WORD_IT_S, EC_WORD_TRENDY, EC_WORD_UM, EC_WORD_BATTLE, EC_WORD_SOMETHING, -1},
.speechWin = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_DATE, EC_WORD_QUES},
.speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_GOURMET, EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Dion
+ .monSet = gVerdanturfBattleTentTrainerMons_Dion
},
- [24] = {
+ [VERDANTURF_TENT_TRAINER_KENZIE] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("KENZIE"),
.speechBefore = {EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_GIVES, EC_WORD_ME, EC_MOVE(STRENGTH), -1},
.speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_LIKE, EC_MOVE2(MOONLIGHT), EC_WORD_TOO, -1},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TERRIBLE, EC_MOVE(SANDSTORM), EC_WORD_ELLIPSIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Kenzie
+ .monSet = gVerdanturfBattleTentTrainerMons_Kenzie
},
- [25] = {
+ [VERDANTURF_TENT_TRAINER_LILLIAN] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("LILLIAN"),
.speechBefore = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_WORD_MY, EC_WORD_OWN_TEMPO},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_A, EC_WORD_SURPRISE},
.speechLose = {EC_WORD_AWW, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_NAP},
- .monSets = gVerdanturfBattleTentTrainerMons_Lillian
+ .monSet = gVerdanturfBattleTentTrainerMons_Lillian
},
- [26] = {
+ [VERDANTURF_TENT_TRAINER_LESLEY] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("LESLEY"),
.speechBefore = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_LOLLING, EC_WORD_ABOUT},
.speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_GET, EC_WORD_UP, EC_WORD_EARLIER, -1},
.speechLose = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Lesley
+ .monSet = gVerdanturfBattleTentTrainerMons_Lesley
},
- [27] = {
+ [VERDANTURF_TENT_TRAINER_MARQUIS] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("MARQUIS"),
.speechBefore = {EC_WORD_NONE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_SENSE},
.speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THIS, EC_WORD_JUST, EC_WORD_ISN_T, EC_WORD_NORMAL},
.speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Marquis
+ .monSet = gVerdanturfBattleTentTrainerMons_Marquis
},
- [28] = {
+ [VERDANTURF_TENT_TRAINER_FREDDY] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("FREDDY"),
.speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_THIS, EC_WORD_CUTE, EC_WORD_TELEVISION, EC_WORD_IDOL},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_FUNNY, EC_WORD_WHEN, EC_WORD_YOU_RE, EC_WORD_ANGRY},
.speechLose = {EC_WORD_LATE, EC_WORD_NIGHT, EC_WORD_TELEVISION, EC_WORD_IS, EC_WORD_MY, EC_WORD_LIFE},
- .monSets = gVerdanturfBattleTentTrainerMons_Freddy
+ .monSet = gVerdanturfBattleTentTrainerMons_Freddy
},
- [29] = {
+ [VERDANTURF_TENT_TRAINER_CECILIA] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("CECILIA"),
.speechBefore = {EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_CUTENESS, EC_WORD_IS, EC_WORD_IN, EC_WORD_FASHION},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_NO, EC_WORD_MATCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_CUTE_CHARM},
.speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Cecilia
+ .monSet = gVerdanturfBattleTentTrainerMons_Cecilia
}
};
-const struct FacilityMon gVerdanturfBattleTentMons[] =
+const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
{
- [0] = {
+ [VERDANTURF_TENT_MON_POOCHYENA] = {
.species = SPECIES_POOCHYENA,
.moves = {MOVE_ROAR, MOVE_THIEF, MOVE_BITE, MOVE_HOWL},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [1] = {
+ [VERDANTURF_TENT_MON_ZIGZAGOON] = {
.species = SPECIES_ZIGZAGOON,
.moves = {MOVE_COVET, MOVE_GROWL, MOVE_PIN_MISSILE, MOVE_MUD_SPORT},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [2] = {
+ [VERDANTURF_TENT_MON_DUSTOX] = {
.species = SPECIES_DUSTOX,
.moves = {MOVE_CONFUSION, MOVE_MOONLIGHT, MOVE_PROTECT, MOVE_FLASH},
.itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
.nature = NATURE_MODEST
},
- [3] = {
+ [VERDANTURF_TENT_MON_TAILLOW] = {
.species = SPECIES_TAILLOW,
.moves = {MOVE_AGILITY, MOVE_DOUBLE_TEAM, MOVE_WING_ATTACK, MOVE_GROWL},
.itemTableId = BATTLE_FRONTIER_ITEM_ORAN_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [4] = {
+ [VERDANTURF_TENT_MON_SHROOMISH] = {
.species = SPECIES_SHROOMISH,
.moves = {MOVE_HEADBUTT, MOVE_STUN_SPORE, MOVE_LEECH_SEED, MOVE_FLASH},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_RASH
},
- [5] = {
+ [VERDANTURF_TENT_MON_MACHOP] = {
.species = SPECIES_MACHOP,
.moves = {MOVE_LOW_KICK, MOVE_LEER, MOVE_FOCUS_ENERGY, MOVE_ENCORE},
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_LONELY
},
- [6] = {
+ [VERDANTURF_TENT_MON_MAGIKARP] = {
.species = SPECIES_MAGIKARP,
.moves = {MOVE_SPLASH, MOVE_FLAIL, MOVE_TACKLE, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [7] = {
+ [VERDANTURF_TENT_MON_BARBOACH] = {
.species = SPECIES_BARBOACH,
.moves = {MOVE_MUD_SLAP, MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_SPARK},
.itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
.evSpread = F_EV_SPREAD_SPEED,
.nature = NATURE_HASTY
},
- [8] = {
+ [VERDANTURF_TENT_MON_WINGULL] = {
.species = SPECIES_WINGULL,
.moves = {MOVE_ATTRACT, MOVE_TWISTER, MOVE_WING_ATTACK, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_IMPISH
},
- [9] = {
+ [VERDANTURF_TENT_MON_ARON_1] = {
.species = SPECIES_ARON,
.moves = {MOVE_ENDEAVOR, MOVE_METAL_CLAW, MOVE_TACKLE, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_HARDY
},
- [10] = {
+ [VERDANTURF_TENT_MON_NUMEL_1] = {
.species = SPECIES_NUMEL,
.moves = {MOVE_EMBER, MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_GROWL},
.itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_SASSY
},
- [11] = {
+ [VERDANTURF_TENT_MON_SWALOT] = {
.species = SPECIES_SWALOT,
.moves = {MOVE_YAWN, MOVE_SLUDGE, MOVE_ACID_ARMOR, MOVE_AMNESIA},
.itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [12] = {
+ [VERDANTURF_TENT_MON_KECLEON] = {
.species = SPECIES_KECLEON,
.moves = {MOVE_SUBSTITUTE, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BIND},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIET
},
- [13] = {
+ [VERDANTURF_TENT_MON_BALTOY] = {
.species = SPECIES_BALTOY,
.moves = {MOVE_SANDSTORM, MOVE_FLASH, MOVE_SELF_DESTRUCT, MOVE_HARDEN},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [14] = {
+ [VERDANTURF_TENT_MON_NINJASK] = {
.species = SPECIES_NINJASK,
.moves = {MOVE_DIG, MOVE_SCREECH, MOVE_SWORDS_DANCE, MOVE_LEECH_LIFE},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [15] = {
+ [VERDANTURF_TENT_MON_MAKUHITA] = {
.species = SPECIES_MAKUHITA,
.moves = {MOVE_BULK_UP, MOVE_ARM_THRUST, MOVE_SMELLING_SALT, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [16] = {
+ [VERDANTURF_TENT_MON_SWABLU] = {
.species = SPECIES_SWABLU,
.moves = {MOVE_REFRESH, MOVE_SAFEGUARD, MOVE_ATTRACT, MOVE_MIRROR_MOVE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MILD
},
- [17] = {
+ [VERDANTURF_TENT_MON_GOLDEEN_1] = {
.species = SPECIES_GOLDEEN,
.moves = {MOVE_WATERFALL, MOVE_MUD_SPORT, MOVE_SUPERSONIC, MOVE_DOUBLE_TEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_GENTLE
},
- [18] = {
+ [VERDANTURF_TENT_MON_LOTAD] = {
.species = SPECIES_LOTAD,
.moves = {MOVE_GROWL, MOVE_WATER_GUN, MOVE_MEGA_DRAIN, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_IAPAPA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [19] = {
+ [VERDANTURF_TENT_MON_NUMEL_2] = {
.species = SPECIES_NUMEL,
.moves = {MOVE_MAGNITUDE, MOVE_EMBER, MOVE_GROWL, MOVE_DEFENSE_CURL},
.itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_RELAXED
},
- [20] = {
+ [VERDANTURF_TENT_MON_LINOONE] = {
.species = SPECIES_LINOONE,
.moves = {MOVE_HEADBUTT, MOVE_TICKLE, MOVE_PROTECT, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [21] = {
+ [VERDANTURF_TENT_MON_SEVIPER] = {
.species = SPECIES_SEVIPER,
.moves = {MOVE_WRAP, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SWAGGER},
.itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [22] = {
+ [VERDANTURF_TENT_MON_SKARMORY] = {
.species = SPECIES_SKARMORY,
.moves = {MOVE_AIR_CUTTER, MOVE_SANDSTORM, MOVE_LEER, MOVE_AGILITY},
.itemTableId = BATTLE_FRONTIER_ITEM_MACHO_BRACE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_BASHFUL
},
- [23] = {
+ [VERDANTURF_TENT_MON_SWELLOW] = {
.species = SPECIES_SWELLOW,
.moves = {MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [24] = {
+ [VERDANTURF_TENT_MON_GOLDEEN_2] = {
.species = SPECIES_GOLDEEN,
.moves = {MOVE_PECK, MOVE_SUPERSONIC, MOVE_PSYBEAM, MOVE_RAIN_DANCE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_GENTLE
},
- [25] = {
+ [VERDANTURF_TENT_MON_ELECTRIKE] = {
.species = SPECIES_ELECTRIKE,
.moves = {MOVE_SHOCK_WAVE, MOVE_TACKLE, MOVE_CHARGE, MOVE_THUNDER_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_MILD
},
- [26] = {
+ [VERDANTURF_TENT_MON_NUZLEAF] = {
.species = SPECIES_NUZLEAF,
.moves = {MOVE_SUNNY_DAY, MOVE_TORMENT, MOVE_FAKE_OUT, MOVE_THIEF},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [27] = {
+ [VERDANTURF_TENT_MON_ARON_2] = {
.species = SPECIES_ARON,
.moves = {MOVE_TAKE_DOWN, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [28] = {
+ [VERDANTURF_TENT_MON_MIGHTYENA] = {
.species = SPECIES_MIGHTYENA,
.moves = {MOVE_HOWL, MOVE_TAKE_DOWN, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [29] = {
+ [VERDANTURF_TENT_MON_SOLROCK] = {
.species = SPECIES_SOLROCK,
.moves = {MOVE_HARDEN, MOVE_FIRE_SPIN, MOVE_MIMIC, MOVE_PSYWAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [30] = {
+ [VERDANTURF_TENT_MON_GRAVELER] = {
.species = SPECIES_GRAVELER,
.moves = {MOVE_ROLLOUT, MOVE_ROCK_SMASH, MOVE_SANDSTORM, MOVE_BLOCK},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_IMPISH
},
- [31] = {
+ [VERDANTURF_TENT_MON_KADABRA] = {
.species = SPECIES_KADABRA,
.moves = {MOVE_ENCORE, MOVE_PSYBEAM, MOVE_DISABLE, MOVE_KINESIS},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [32] = {
+ [VERDANTURF_TENT_MON_VOLTORB] = {
.species = SPECIES_VOLTORB,
.moves = {MOVE_PROTECT, MOVE_SELF_DESTRUCT, MOVE_SPARK, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_BASHFUL
},
- [33] = {
+ [VERDANTURF_TENT_MON_MAGNEMITE] = {
.species = SPECIES_MAGNEMITE,
.moves = {MOVE_METAL_SOUND, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_SERIOUS
},
- [34] = {
+ [VERDANTURF_TENT_MON_PELIPPER] = {
.species = SPECIES_PELIPPER,
.moves = {MOVE_WING_ATTACK, MOVE_MIST, MOVE_AGILITY, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_FIGY_BERRY,
.evSpread = 0,
.nature = NATURE_BRAVE
},
- [35] = {
+ [VERDANTURF_TENT_MON_LOUDRED] = {
.species = SPECIES_LOUDRED,
.moves = {MOVE_HOWL, MOVE_UPROAR, MOVE_REST, MOVE_SCREECH},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CALM
},
- [36] = {
+ [VERDANTURF_TENT_MON_MARILL] = {
.species = SPECIES_MARILL,
.moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_BUBBLE_BEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [37] = {
+ [VERDANTURF_TENT_MON_TRAPINCH] = {
.species = SPECIES_TRAPINCH,
.moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_FAINT_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_NAUGHTY
},
- [38] = {
+ [VERDANTURF_TENT_MON_TENTACOOL] = {
.species = SPECIES_TENTACOOL,
.moves = {MOVE_SCREECH, MOVE_CONFUSE_RAY, MOVE_WRAP, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [39] = {
+ [VERDANTURF_TENT_MON_VIGOROTH] = {
.species = SPECIES_VIGOROTH,
.moves = {MOVE_ENCORE, MOVE_SLACK_OFF, MOVE_YAWN, MOVE_SECRET_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [40] = {
+ [VERDANTURF_TENT_MON_WAILMER] = {
.species = SPECIES_WAILMER,
.moves = {MOVE_WATER_PULSE, MOVE_ROLLOUT, MOVE_CURSE, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
.evSpread = F_EV_SPREAD_HP,
.nature = NATURE_RELAXED
},
- [41] = {
+ [VERDANTURF_TENT_MON_ILLUMISE] = {
.species = SPECIES_ILLUMISE,
.moves = {MOVE_TACKLE, MOVE_SWEET_SCENT, MOVE_WISH, MOVE_ENCORE},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [42] = {
+ [VERDANTURF_TENT_MON_MACHOKE] = {
.species = SPECIES_MACHOKE,
.moves = {MOVE_LEER, MOVE_KARATE_CHOP, MOVE_BULK_UP, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_CALM
},
- [43] = {
+ [VERDANTURF_TENT_MON_WHISMUR] = {
.species = SPECIES_WHISMUR,
.moves = {MOVE_SECRET_POWER, MOVE_SUPERSONIC, MOVE_STOMP, MOVE_ROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_QUIRKY
},
- [44] = {
+ [VERDANTURF_TENT_MON_CACNEA] = {
.species = SPECIES_CACNEA,
.moves = {MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_NEEDLE_ARM, MOVE_GROWTH},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
@@ -2126,876 +2126,876 @@ const struct FacilityMon gVerdanturfBattleTentMons[] =
// Fallarbor Battle Tent.
const u16 gFallarborBattleTentTrainerMons_Amber[] =
{
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
+ FALLARBOR_TENT_MON_SWALOT,
+ FALLARBOR_TENT_MON_SHROOMISH,
+ FALLARBOR_TENT_MON_KIRLIA,
+ FALLARBOR_TENT_MON_LOMBRE,
+ FALLARBOR_TENT_MON_NUZLEAF,
+ FALLARBOR_TENT_MON_CACNEA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Javier[] =
{
- 6,
- 35,
- 36,
- 37,
- 38,
- 44,
+ FALLARBOR_TENT_MON_SOLROCK,
+ FALLARBOR_TENT_MON_TRAPINCH,
+ FALLARBOR_TENT_MON_BALTOY,
+ FALLARBOR_TENT_MON_GRAVELER,
+ FALLARBOR_TENT_MON_SANDSHREW,
+ FALLARBOR_TENT_MON_CACNEA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Natalie[] =
{
- 5,
- 29,
- 30,
- 32,
- 34,
+ FALLARBOR_TENT_MON_MAGIKARP,
+ FALLARBOR_TENT_MON_PELIPPER,
+ FALLARBOR_TENT_MON_BARBOACH,
+ FALLARBOR_TENT_MON_MARILL,
+ FALLARBOR_TENT_MON_GOLDEEN_2,
-1
};
const u16 gFallarborBattleTentTrainerMons_Treve[] =
{
- 28,
- 29,
- 30,
- 32,
- 33,
+ FALLARBOR_TENT_MON_WINGULL,
+ FALLARBOR_TENT_MON_PELIPPER,
+ FALLARBOR_TENT_MON_BARBOACH,
+ FALLARBOR_TENT_MON_MARILL,
+ FALLARBOR_TENT_MON_GOLDEEN_1,
-1
};
const u16 gFallarborBattleTentTrainerMons_Arianna[] =
{
- 18,
- 23,
- 24,
- 27,
- 44,
+ FALLARBOR_TENT_MON_ELECTRIKE,
+ FALLARBOR_TENT_MON_LINOONE_2,
+ FALLARBOR_TENT_MON_MIGHTYENA,
+ FALLARBOR_TENT_MON_GOLBAT,
+ FALLARBOR_TENT_MON_CACNEA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
{
- 0,
- 22,
- 24,
- 27,
- 32,
- 39,
+ FALLARBOR_TENT_MON_NUMEL,
+ FALLARBOR_TENT_MON_LOUDRED,
+ FALLARBOR_TENT_MON_MIGHTYENA,
+ FALLARBOR_TENT_MON_GOLBAT,
+ FALLARBOR_TENT_MON_MARILL,
+ FALLARBOR_TENT_MON_SWALOT,
-1
};
const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
{
- 6,
- 18,
- 23,
- 24,
- 29,
+ FALLARBOR_TENT_MON_SOLROCK,
+ FALLARBOR_TENT_MON_ELECTRIKE,
+ FALLARBOR_TENT_MON_LINOONE_2,
+ FALLARBOR_TENT_MON_MIGHTYENA,
+ FALLARBOR_TENT_MON_PELIPPER,
-1
};
const u16 gFallarborBattleTentTrainerMons_Jonn[] =
{
- 16,
- 17,
- 21,
- 22,
- 37,
+ FALLARBOR_TENT_MON_ARON_1,
+ FALLARBOR_TENT_MON_ARON_2,
+ FALLARBOR_TENT_MON_WHISMUR,
+ FALLARBOR_TENT_MON_LOUDRED,
+ FALLARBOR_TENT_MON_GRAVELER,
-1
};
const u16 gFallarborBattleTentTrainerMons_Esteban[] =
{
- 5,
- 28,
- 30,
- 33,
- 42,
+ FALLARBOR_TENT_MON_MAGIKARP,
+ FALLARBOR_TENT_MON_WINGULL,
+ FALLARBOR_TENT_MON_BARBOACH,
+ FALLARBOR_TENT_MON_GOLDEEN_1,
+ FALLARBOR_TENT_MON_LOMBRE,
-1
};
const u16 gFallarborBattleTentTrainerMons_Jameson[] =
{
- 1,
- 2,
- 3,
- 5,
- 9,
+ FALLARBOR_TENT_MON_LINOONE_1,
+ FALLARBOR_TENT_MON_PLUSLE,
+ FALLARBOR_TENT_MON_POOCHYENA,
+ FALLARBOR_TENT_MON_MAGIKARP,
+ FALLARBOR_TENT_MON_NINCADA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
{
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
+ FALLARBOR_TENT_MON_NINCADA,
+ FALLARBOR_TENT_MON_BEAUTIFLY,
+ FALLARBOR_TENT_MON_DUSTOX,
+ FALLARBOR_TENT_MON_ILLUMISE,
+ FALLARBOR_TENT_MON_VOLBEAT,
+ FALLARBOR_TENT_MON_NINJASK_1,
+ FALLARBOR_TENT_MON_NINJASK_2,
-1
};
const u16 gFallarborBattleTentTrainerMons_Howard[] =
{
- 18,
- 23,
- 31,
- 38,
- 43,
+ FALLARBOR_TENT_MON_ELECTRIKE,
+ FALLARBOR_TENT_MON_LINOONE_2,
+ FALLARBOR_TENT_MON_WAILMER,
+ FALLARBOR_TENT_MON_SANDSHREW,
+ FALLARBOR_TENT_MON_NUZLEAF,
-1
};
const u16 gFallarborBattleTentTrainerMons_Conrad[] =
{
- 18,
- 19,
- 20,
- 21,
- 22,
+ FALLARBOR_TENT_MON_ELECTRIKE,
+ FALLARBOR_TENT_MON_MAGNEMITE,
+ FALLARBOR_TENT_MON_VOLTORB,
+ FALLARBOR_TENT_MON_WHISMUR,
+ FALLARBOR_TENT_MON_LOUDRED,
-1
};
const u16 gFallarborBattleTentTrainerMons_Makenna[] =
{
- 4,
- 21,
- 25,
- 36,
- 40,
+ FALLARBOR_TENT_MON_KECLEON,
+ FALLARBOR_TENT_MON_WHISMUR,
+ FALLARBOR_TENT_MON_SWABLU,
+ FALLARBOR_TENT_MON_BALTOY,
+ FALLARBOR_TENT_MON_SHROOMISH,
-1
};
const u16 gFallarborBattleTentTrainerMons_Brayan[] =
{
- 0,
- 4,
- 6,
- 12,
- 19,
- 23,
- 28,
+ FALLARBOR_TENT_MON_NUMEL,
+ FALLARBOR_TENT_MON_KECLEON,
+ FALLARBOR_TENT_MON_SOLROCK,
+ FALLARBOR_TENT_MON_ILLUMISE,
+ FALLARBOR_TENT_MON_MAGNEMITE,
+ FALLARBOR_TENT_MON_LINOONE_2,
+ FALLARBOR_TENT_MON_WINGULL,
-1
};
const u16 gFallarborBattleTentTrainerMons_Mariana[] =
{
- 0,
- 4,
- 13,
- 19,
- 28,
- 30,
- 37,
+ FALLARBOR_TENT_MON_NUMEL,
+ FALLARBOR_TENT_MON_KECLEON,
+ FALLARBOR_TENT_MON_VOLBEAT,
+ FALLARBOR_TENT_MON_MAGNEMITE,
+ FALLARBOR_TENT_MON_WINGULL,
+ FALLARBOR_TENT_MON_BARBOACH,
+ FALLARBOR_TENT_MON_GRAVELER,
-1
};
const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
{
- 2,
- 3,
- 21,
- 31,
- 39,
+ FALLARBOR_TENT_MON_PLUSLE,
+ FALLARBOR_TENT_MON_POOCHYENA,
+ FALLARBOR_TENT_MON_WHISMUR,
+ FALLARBOR_TENT_MON_WAILMER,
+ FALLARBOR_TENT_MON_SWALOT,
-1
};
const u16 gFallarborBattleTentTrainerMons_Gianna[] =
{
- 1,
- 2,
- 30,
- 32,
- 41,
+ FALLARBOR_TENT_MON_LINOONE_1,
+ FALLARBOR_TENT_MON_PLUSLE,
+ FALLARBOR_TENT_MON_BARBOACH,
+ FALLARBOR_TENT_MON_MARILL,
+ FALLARBOR_TENT_MON_KIRLIA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Yahir[] =
{
- 4,
- 8,
- 15,
- 17,
- 22,
- 24,
+ FALLARBOR_TENT_MON_KECLEON,
+ FALLARBOR_TENT_MON_MACHOKE,
+ FALLARBOR_TENT_MON_NINJASK_2,
+ FALLARBOR_TENT_MON_ARON_2,
+ FALLARBOR_TENT_MON_LOUDRED,
+ FALLARBOR_TENT_MON_MIGHTYENA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Britney[] =
{
- 4,
- 7,
- 14,
- 20,
- 23,
- 43,
+ FALLARBOR_TENT_MON_KECLEON,
+ FALLARBOR_TENT_MON_MAKUHITA,
+ FALLARBOR_TENT_MON_NINJASK_1,
+ FALLARBOR_TENT_MON_VOLTORB,
+ FALLARBOR_TENT_MON_LINOONE_2,
+ FALLARBOR_TENT_MON_NUZLEAF,
-1
};
const u16 gFallarborBattleTentTrainerMons_Hecter[] =
{
- 0,
- 1,
- 2,
- 5,
- 9,
- 35,
+ FALLARBOR_TENT_MON_NUMEL,
+ FALLARBOR_TENT_MON_LINOONE_1,
+ FALLARBOR_TENT_MON_PLUSLE,
+ FALLARBOR_TENT_MON_MAGIKARP,
+ FALLARBOR_TENT_MON_NINCADA,
+ FALLARBOR_TENT_MON_TRAPINCH,
-1
};
const u16 gFallarborBattleTentTrainerMons_Tannor[] =
{
- 5,
- 30,
- 31,
- 33,
- 34,
+ FALLARBOR_TENT_MON_MAGIKARP,
+ FALLARBOR_TENT_MON_BARBOACH,
+ FALLARBOR_TENT_MON_WAILMER,
+ FALLARBOR_TENT_MON_GOLDEEN_1,
+ FALLARBOR_TENT_MON_GOLDEEN_2,
-1
};
const u16 gFallarborBattleTentTrainerMons_Benji[] =
{
- 25,
- 26,
- 27,
- 28,
- 29,
+ FALLARBOR_TENT_MON_SWABLU,
+ FALLARBOR_TENT_MON_SKARMORY,
+ FALLARBOR_TENT_MON_GOLBAT,
+ FALLARBOR_TENT_MON_WINGULL,
+ FALLARBOR_TENT_MON_PELIPPER,
-1
};
const u16 gFallarborBattleTentTrainerMons_Rory[] =
{
- 9,
- 11,
- 14,
- 15,
- 27,
- 39,
+ FALLARBOR_TENT_MON_NINCADA,
+ FALLARBOR_TENT_MON_DUSTOX,
+ FALLARBOR_TENT_MON_NINJASK_1,
+ FALLARBOR_TENT_MON_NINJASK_2,
+ FALLARBOR_TENT_MON_GOLBAT,
+ FALLARBOR_TENT_MON_SWALOT,
-1
};
const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
{
- 23,
- 28,
- 31,
- 36,
- 38,
- 42,
- 44,
+ FALLARBOR_TENT_MON_LINOONE_2,
+ FALLARBOR_TENT_MON_WINGULL,
+ FALLARBOR_TENT_MON_WAILMER,
+ FALLARBOR_TENT_MON_BALTOY,
+ FALLARBOR_TENT_MON_SANDSHREW,
+ FALLARBOR_TENT_MON_LOMBRE,
+ FALLARBOR_TENT_MON_CACNEA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
{
- 29,
- 31,
- 32,
- 33,
- 34,
+ FALLARBOR_TENT_MON_PELIPPER,
+ FALLARBOR_TENT_MON_WAILMER,
+ FALLARBOR_TENT_MON_MARILL,
+ FALLARBOR_TENT_MON_GOLDEEN_1,
+ FALLARBOR_TENT_MON_GOLDEEN_2,
-1
};
const u16 gFallarborBattleTentTrainerMons_Arielle[] =
{
- 1,
- 3,
- 38,
- 39,
- 41,
+ FALLARBOR_TENT_MON_LINOONE_1,
+ FALLARBOR_TENT_MON_POOCHYENA,
+ FALLARBOR_TENT_MON_SANDSHREW,
+ FALLARBOR_TENT_MON_SWALOT,
+ FALLARBOR_TENT_MON_KIRLIA,
-1
};
const u16 gFallarborBattleTentTrainerMons_Connar[] =
{
- 7,
- 8,
- 28,
- 29,
- 31,
- 32,
+ FALLARBOR_TENT_MON_MAKUHITA,
+ FALLARBOR_TENT_MON_MACHOKE,
+ FALLARBOR_TENT_MON_WINGULL,
+ FALLARBOR_TENT_MON_PELIPPER,
+ FALLARBOR_TENT_MON_WAILMER,
+ FALLARBOR_TENT_MON_MARILL,
-1
};
const u16 gFallarborBattleTentTrainerMons_Maurice[] =
{
- 4,
- 5,
- 6,
- 12,
- 13,
+ FALLARBOR_TENT_MON_KECLEON,
+ FALLARBOR_TENT_MON_MAGIKARP,
+ FALLARBOR_TENT_MON_SOLROCK,
+ FALLARBOR_TENT_MON_ILLUMISE,
+ FALLARBOR_TENT_MON_VOLBEAT,
-1
};
const u16 gFallarborBattleTentTrainerMons_Kianna[] =
{
- 22,
- 24,
- 26,
- 27,
- 34,
- 37,
+ FALLARBOR_TENT_MON_LOUDRED,
+ FALLARBOR_TENT_MON_MIGHTYENA,
+ FALLARBOR_TENT_MON_SKARMORY,
+ FALLARBOR_TENT_MON_GOLBAT,
+ FALLARBOR_TENT_MON_GOLDEEN_2,
+ FALLARBOR_TENT_MON_GRAVELER,
-1
};
-const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
+const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
{
- [0] = {
+ [FALLARBOR_TENT_TRAINER_AMBER] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
.trainerName = _("AMBER"),
.speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DIET, EC_WORD_EVERY, EC_WORD_DAY},
.speechWin = {EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_OF, EC_WORD_SWEETS, EC_WORD_SHOCKED, EC_WORD_ME},
.speechLose = {EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_LOSE},
- .monSets = gFallarborBattleTentTrainerMons_Amber
+ .monSet = gFallarborBattleTentTrainerMons_Amber
},
- [1] = {
+ [FALLARBOR_TENT_TRAINER_JAVIER] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
.trainerName = _("JAVIER"),
.speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_EVER, EC_WORD_HAVE, EC_WORD_ENOUGH, EC_WORD_MONEY},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY, EC_WORD_FOR, EC_WORD_A, EC_WORD_BIKE},
- .monSets = gFallarborBattleTentTrainerMons_Javier
+ .monSet = gFallarborBattleTentTrainerMons_Javier
},
- [2] = {
+ [FALLARBOR_TENT_TRAINER_NATALIA] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
.trainerName = _("NATALIE"),
.speechBefore = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_WEIRD},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_THIS, EC_WORD_PLACE},
.speechLose = {EC_WORD_GIVE_ME, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH, EC_WORD_NEXT, EC_WORD_TIME},
- .monSets = gFallarborBattleTentTrainerMons_Natalie
+ .monSet = gFallarborBattleTentTrainerMons_Natalie
},
- [3] = {
+ [FALLARBOR_TENT_TRAINER_TREVE] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
.trainerName = _("TREVE"),
.speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE2(METRONOME), EC_WORD_AND, EC_WORD_SLEEP},
.speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_MOVE(HYPNOSIS), EC_WORD_IS, EC_WORD_TOTALLY, EC_WORD_GREAT},
.speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_ELLIPSIS, -1},
- .monSets = gFallarborBattleTentTrainerMons_Treve
+ .monSet = gFallarborBattleTentTrainerMons_Treve
},
- [4] = {
+ [FALLARBOR_TENT_TRAINER_ARIANNA] = {
.facilityClass = FACILITY_CLASS_LADY,
.trainerName = _("ARIANNA"),
.speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_GIVE_ME, EC_WORD_POKEMON, EC_WORD_FOR, EC_WORD_MY, EC_WORD_COLLECTION},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_COLLECT},
.speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Arianna
+ .monSet = gFallarborBattleTentTrainerMons_Arianna
},
- [5] = {
+ [FALLARBOR_TENT_TRAINER_JADYN] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
.trainerName = _("JADYN"),
.speechBefore = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_A, EC_WORD_MYSTERY},
.speechWin = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_GOES, EC_WORD_ON, EC_WORD_A, EC_WORD_MYSTERY},
.speechLose = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_YOUR, EC_WORD_MOTHER},
- .monSets = gFallarborBattleTentTrainerMons_Jadyn
+ .monSet = gFallarborBattleTentTrainerMons_Jadyn
},
- [6] = {
+ [FALLARBOR_TENT_TRAINER_GERARDO] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
.trainerName = _("GERARDO"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST, EC_WORD_HERO, EC_WORD_EVER, EC_WORD_EXCL},
.speechWin = {EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES, -1},
.speechLose = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_WERE, EC_WORD_RIGHT, EC_WORD_QUES, -1},
- .monSets = gFallarborBattleTentTrainerMons_Gerardo
+ .monSet = gFallarborBattleTentTrainerMons_Gerardo
},
- [7] = {
+ [FALLARBOR_TENT_TRAINER_JONN] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
.trainerName = _("JONN"),
.speechBefore = {EC_WORD_THE, EC_WORD_WORLD, EC_MOVE2(SUPERPOWER), EC_MOVE2(STOMP), EC_WORD_CONTEST, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_EXCL_EXCL, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)},
.speechLose = {EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_NO_1, EC_WORD_EXCL},
- .monSets = gFallarborBattleTentTrainerMons_Jonn
+ .monSet = gFallarborBattleTentTrainerMons_Jonn
},
- [8] = {
+ [FALLARBOR_TENT_TRAINER_ESTEBAN] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
.trainerName = _("ESTEBAN"),
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_GOOD, EC_WORD_TRAINER, EC_WORD_QUES, EC_WORD_UNBELIEVABLE},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_PUSHOVER, EC_WORD_OF, EC_WORD_A, EC_WORD_TRAINER},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gFallarborBattleTentTrainerMons_Esteban
+ .monSet = gFallarborBattleTentTrainerMons_Esteban
},
- [9] = {
+ [FALLARBOR_TENT_TRAINER_JAMESON] = {
.facilityClass = FACILITY_CLASS_CAMPER,
.trainerName = _("JAMESON"),
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_EXCL},
.speechWin = {EC_WORD_MY, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_POKEMON, EC_WORD_RULE, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(STRUGGLE), EC_WORD_IN, EC_WORD_YOUR, EC_WORD_STICKY_HOLD},
- .monSets = gFallarborBattleTentTrainerMons_Jameson
+ .monSet = gFallarborBattleTentTrainerMons_Jameson
},
- [10] = {
+ [FALLARBOR_TENT_TRAINER_ALANZO] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
.trainerName = _("ALANZO"),
.speechBefore = {EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_A, EC_WORD_POWER, EC_WORD_I, EC_WORD_HAVE},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_OBLIVIOUS, EC_WORD_ABOUT, EC_MOVE2(FORESIGHT), EC_WORD_EXCL, -1},
.speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_RIGHT, EC_WORD_EXCL},
- .monSets = gFallarborBattleTentTrainerMons_Alanzo
+ .monSet = gFallarborBattleTentTrainerMons_Alanzo
},
- [11] = {
+ [FALLARBOR_TENT_TRAINER_HOWARD] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
.trainerName = _("HOWARD"),
.speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, -1},
.speechWin = {EC_WORD_YOU, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Howard
+ .monSet = gFallarborBattleTentTrainerMons_Howard
},
- [12] = {
+ [FALLARBOR_TENT_TRAINER_CONRAD] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
.trainerName = _("CONRAD"),
.speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_PRETTY, EC_WORD_WILD, EC_WORD_EXCL},
.speechWin = {EC_WORD_WHOAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ON, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Conrad
+ .monSet = gFallarborBattleTentTrainerMons_Conrad
},
- [13] = {
+ [FALLARBOR_TENT_TRAINER_MAKENNA] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("MAKENNA"),
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT},
.speechWin = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY},
.speechLose = {EC_WORD_AWW, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO},
- .monSets = gFallarborBattleTentTrainerMons_Makenna
+ .monSet = gFallarborBattleTentTrainerMons_Makenna
},
- [14] = {
+ [FALLARBOR_TENT_TRAINER_BRAYAN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
.trainerName = _("BRAYAN"),
.speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_POWER, EC_WORD_QUES},
.speechWin = {EC_WORD_HOW, EC_WORD_BORING, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
.speechLose = {EC_WORD_AM, EC_WORD_I, EC_WORD_THE, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_QUES},
- .monSets = gFallarborBattleTentTrainerMons_Brayan
+ .monSet = gFallarborBattleTentTrainerMons_Brayan
},
- [15] = {
+ [FALLARBOR_TENT_TRAINER_MARIANA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
.trainerName = _("MARIANA"),
.speechBefore = {EC_WORD_A, EC_WORD_LIE, EC_WORD_CAN, EC_WORD_BE, EC_WORD_KIND, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_THE, EC_WORD_SUNDAY, EC_WORD_COMICS},
.speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_FROM, EC_WORD_A, EC_WORD_MOVIE},
- .monSets = gFallarborBattleTentTrainerMons_Mariana
+ .monSet = gFallarborBattleTentTrainerMons_Mariana
},
- [16] = {
+ [FALLARBOR_TENT_TRAINER_SHELDON] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
.trainerName = _("SHELDON"),
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_TEACHER, EC_WORD_GETS, EC_WORD_NO, EC_MOVE2(REST)},
.speechWin = {EC_WORD_MY, EC_WORD_SMARTNESS, EC_WORD_GETS, EC_WORD_ME, EC_WORD_EASY, EC_WORD_WINS},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_GO, EC_WORD_WORK, EC_WORD_BYE_BYE},
- .monSets = gFallarborBattleTentTrainerMons_Sheldon
+ .monSet = gFallarborBattleTentTrainerMons_Sheldon
},
- [17] = {
+ [FALLARBOR_TENT_TRAINER_GIANNA] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
.trainerName = _("GIANNA"),
.speechBefore = {EC_WORD_AHAHA, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_LOVEY_DOVEY, EC_WORD_POKEMON, EC_WORD_WORLD},
.speechWin = {EC_WORD_MY, EC_WORD_SHINE, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_THINGS, EC_WORD_BETTER},
.speechLose = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_POKEMON, EC_WORD_QUES, -1},
- .monSets = gFallarborBattleTentTrainerMons_Gianna
+ .monSet = gFallarborBattleTentTrainerMons_Gianna
},
- [18] = {
+ [FALLARBOR_TENT_TRAINER_YAHIR] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
.trainerName = _("YAHIR"),
.speechBefore = {EC_WORD_YOU, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_COME_ON, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_A_LOT, EC_WORD_MORE},
.speechLose = {EC_WORD_NOT, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_ENOUGH},
- .monSets = gFallarborBattleTentTrainerMons_Yahir
+ .monSet = gFallarborBattleTentTrainerMons_Yahir
},
- [19] = {
+ [FALLARBOR_TENT_TRAINER_BRITNEY] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
.trainerName = _("BRITNEY"),
.speechBefore = {EC_WORD_IT, EC_WORD_SEEMS, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_GOOD},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LUKEWARM, EC_WORD_TALENT, EC_WORD_AT, EC_WORD_BEST},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_COOL, EC_WORD_HERO, EC_WORD_AT, EC_WORD_THIS},
- .monSets = gFallarborBattleTentTrainerMons_Britney
+ .monSet = gFallarborBattleTentTrainerMons_Britney
},
- [20] = {
+ [FALLARBOR_TENT_TRAINER_HECTER] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
.trainerName = _("HECTER"),
.speechBefore = {EC_WORD_MY, EC_MOVE2(HIDDEN_POWER), EC_WORD_IS, EC_WORD_EXCITING, EC_WORD_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_YEEHAW_EXCL, EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(HIDDEN_POWER), EC_WORD_PARTY},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_YOU, EC_MOVE2(MIMIC), EC_WORD_ME},
- .monSets = gFallarborBattleTentTrainerMons_Hecter
+ .monSet = gFallarborBattleTentTrainerMons_Hecter
},
- [21] = {
+ [FALLARBOR_TENT_TRAINER_TANNOR] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
.trainerName = _("TANNOR"),
.speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_BE, EC_WORD_JOKING},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_AT, EC_WORD_BEING, EC_WORD_FUNNY},
.speechLose = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BEING, EC_WORD_FUNNY, EC_WORD_AT, EC_WORD_ALL},
- .monSets = gFallarborBattleTentTrainerMons_Tannor
+ .monSet = gFallarborBattleTentTrainerMons_Tannor
},
- [22] = {
+ [FALLARBOR_TENT_TRAINER_BENJI] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
.trainerName = _("BENJI"),
.speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_THINK, EC_WORD_VERY, EC_WORD_FAST, EC_WORD_HUH_QUES},
.speechWin = {EC_WORD_SORRY, EC_WORD_EXCL, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_MEAN, EC_WORD_YOU},
.speechLose = {EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Benji
+ .monSet = gFallarborBattleTentTrainerMons_Benji
},
- [23] = {
+ [FALLARBOR_TENT_TRAINER_RORY] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
.trainerName = _("RORY"),
.speechBefore = {EC_WORD_DON_T, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_NEED, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR)},
- .monSets = gFallarborBattleTentTrainerMons_Rory
+ .monSet = gFallarborBattleTentTrainerMons_Rory
},
- [24] = {
+ [FALLARBOR_TENT_TRAINER_ELEANOR] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
.trainerName = _("ELEANOR"),
.speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_WANT, EC_WORD_TO, EC_WORD_PARTY, -1},
.speechWin = {EC_WORD_A, EC_WORD_TRENDY, EC_WORD_PARTY, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_REFRESHING},
.speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PARTY, EC_WORD_QUES},
- .monSets = gFallarborBattleTentTrainerMons_Eleanor
+ .monSet = gFallarborBattleTentTrainerMons_Eleanor
},
- [25] = {
+ [FALLARBOR_TENT_TRAINER_EVELYN] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
.trainerName = _("EVELYN"),
.speechBefore = {EC_WORD_MY, EC_WORD_PC, EC_WORD_IS, EC_WORD_MY, EC_WORD_SECRET_BASE, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_SECRET, EC_WORD_ON, EC_WORD_MY, EC_WORD_PC},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_REJECT, EC_WORD_THIS},
- .monSets = gFallarborBattleTentTrainerMons_Evelyn
+ .monSet = gFallarborBattleTentTrainerMons_Evelyn
},
- [26] = {
+ [FALLARBOR_TENT_TRAINER_ARIELLE] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
.trainerName = _("ARIELLE"),
.speechBefore = {EC_WORD_IT_S, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_I, EC_WORD_TRY},
.speechWin = {EC_WORD_WE_RE, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_WE_RE, EC_WORD_GREAT},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_PRETTY, EC_WORD_MEAN, EC_WORD_OF, EC_WORD_YOU, EC_WORD_EXCL},
- .monSets = gFallarborBattleTentTrainerMons_Arielle
+ .monSet = gFallarborBattleTentTrainerMons_Arielle
},
- [27] = {
+ [FALLARBOR_TENT_TRAINER_CONNAR] = {
.facilityClass = FACILITY_CLASS_SAILOR,
.trainerName = _("CONNAR"),
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_THIS},
.speechWin = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_OK_QUES, -1},
.speechLose = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, -1, -1, -1},
- .monSets = gFallarborBattleTentTrainerMons_Connar
+ .monSet = gFallarborBattleTentTrainerMons_Connar
},
- [28] = {
+ [FALLARBOR_TENT_TRAINER_MAURICE] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
.trainerName = _("MAURICE"),
.speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_RADIO, EC_WORD_OR, EC_WORD_TELEVISION},
.speechWin = {EC_WORD_BUT, EC_WORD_THERE, EC_WORD_IS, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_POKEMON},
.speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_ENJOY, EC_WORD_MYSELF, EC_WORD_WITHOUT, EC_WORD_MONEY},
- .monSets = gFallarborBattleTentTrainerMons_Maurice
+ .monSet = gFallarborBattleTentTrainerMons_Maurice
},
- [29] = {
+ [FALLARBOR_TENT_TRAINER_KIANNA] = {
.facilityClass = FACILITY_CLASS_LASS,
.trainerName = _("KIANNA"),
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_DEPT_STORE, EC_WORD_SHOPPING},
.speechWin = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SHOPPING, EC_WORD_ALONE, -1, -1},
.speechLose = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_SHOPPING, EC_WORD_TOGETHER, EC_WORD_QUES},
- .monSets = gFallarborBattleTentTrainerMons_Kianna
+ .monSet = gFallarborBattleTentTrainerMons_Kianna
}
};
-const struct FacilityMon gFallarborBattleTentMons[] =
+const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] =
{
- [0] = {
+ [FALLARBOR_TENT_MON_NUMEL] = {
.species = SPECIES_NUMEL,
.moves = {MOVE_GROWL, MOVE_FLAMETHROWER, MOVE_TACKLE, MOVE_SUNNY_DAY},
.itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [1] = {
+ [FALLARBOR_TENT_MON_LINOONE_1] = {
.species = SPECIES_LINOONE,
.moves = {MOVE_ODOR_SLEUTH, MOVE_COVET, MOVE_ROCK_SMASH, MOVE_CHARM},
.itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
.nature = NATURE_SASSY
},
- [2] = {
+ [FALLARBOR_TENT_MON_PLUSLE] = {
.species = SPECIES_PLUSLE,
.moves = {MOVE_SPARK, MOVE_GROWL, MOVE_QUICK_ATTACK, MOVE_FAKE_TEARS},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [3] = {
+ [FALLARBOR_TENT_MON_POOCHYENA] = {
.species = SPECIES_POOCHYENA,
.moves = {MOVE_YAWN, MOVE_ODOR_SLEUTH, MOVE_HOWL, MOVE_FRUSTRATION},
.itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAUGHTY
},
- [4] = {
+ [FALLARBOR_TENT_MON_KECLEON] = {
.species = SPECIES_KECLEON,
.moves = {MOVE_LICK, MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_PSYBEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_WIKI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_MODEST
},
- [5] = {
+ [FALLARBOR_TENT_MON_MAGIKARP] = {
.species = SPECIES_MAGIKARP,
.moves = {MOVE_SPLASH, MOVE_TACKLE, MOVE_FLAIL, MOVE_NONE},
.itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_SCALE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [6] = {
+ [FALLARBOR_TENT_MON_SOLROCK] = {
.species = SPECIES_SOLROCK,
.moves = {MOVE_ROCK_THROW, MOVE_FLASH, MOVE_SANDSTORM, MOVE_PSYWAVE},
.itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_SASSY
},
- [7] = {
+ [FALLARBOR_TENT_MON_MAKUHITA] = {
.species = SPECIES_MAKUHITA,
.moves = {MOVE_DETECT, MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_SMELLING_SALT},
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [8] = {
+ [FALLARBOR_TENT_MON_MACHOKE] = {
.species = SPECIES_MACHOKE,
.moves = {MOVE_COUNTER, MOVE_REVENGE, MOVE_BULK_UP, MOVE_FOCUS_ENERGY},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_NAIVE
},
- [9] = {
+ [FALLARBOR_TENT_MON_NINCADA] = {
.species = SPECIES_NINCADA,
.moves = {MOVE_FURY_SWIPES, MOVE_ENDURE, MOVE_MUD_SLAP, MOVE_DIG},
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_SERIOUS
},
- [10] = {
+ [FALLARBOR_TENT_MON_BEAUTIFLY] = {
.species = SPECIES_BEAUTIFLY,
.moves = {MOVE_FLASH, MOVE_MORNING_SUN, MOVE_HARDEN, MOVE_MEGA_DRAIN},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIRKY
},
- [11] = {
+ [FALLARBOR_TENT_MON_DUSTOX] = {
.species = SPECIES_DUSTOX,
.moves = {MOVE_MOONLIGHT, MOVE_HARDEN, MOVE_POISON_STING, MOVE_PSYBEAM},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
.nature = NATURE_DOCILE
},
- [12] = {
+ [FALLARBOR_TENT_MON_ILLUMISE] = {
.species = SPECIES_ILLUMISE,
.moves = {MOVE_METRONOME, MOVE_FLATTER, MOVE_WISH, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [13] = {
+ [FALLARBOR_TENT_MON_VOLBEAT] = {
.species = SPECIES_VOLBEAT,
.moves = {MOVE_TACKLE, MOVE_MOONLIGHT, MOVE_SIGNAL_BEAM, MOVE_TAIL_GLOW},
.itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [14] = {
+ [FALLARBOR_TENT_MON_NINJASK_1] = {
.species = SPECIES_NINJASK,
.moves = {MOVE_DOUBLE_TEAM, MOVE_PROTECT, MOVE_DIG, MOVE_SAND_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_TIMID
},
- [15] = {
+ [FALLARBOR_TENT_MON_NINJASK_2] = {
.species = SPECIES_NINJASK,
.moves = {MOVE_SWORDS_DANCE, MOVE_CUT, MOVE_FURY_CUTTER, MOVE_LEECH_LIFE},
.itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [16] = {
+ [FALLARBOR_TENT_MON_ARON_1] = {
.species = SPECIES_ARON,
.moves = {MOVE_METAL_CLAW, MOVE_PROTECT, MOVE_SHOCK_WAVE, MOVE_METAL_SOUND},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_LONELY
},
- [17] = {
+ [FALLARBOR_TENT_MON_ARON_2] = {
.species = SPECIES_ARON,
.moves = {MOVE_SECRET_POWER, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_MUD_SLAP},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_GENTLE
},
- [18] = {
+ [FALLARBOR_TENT_MON_ELECTRIKE] = {
.species = SPECIES_ELECTRIKE,
.moves = {MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_HOWL, MOVE_QUICK_ATTACK},
.itemTableId = BATTLE_FRONTIER_ITEM_SEA_INCENSE,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_HASTY
},
- [19] = {
+ [FALLARBOR_TENT_MON_MAGNEMITE] = {
.species = SPECIES_MAGNEMITE,
.moves = {MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_ENDURE, MOVE_SPARK},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_QUIET
},
- [20] = {
+ [FALLARBOR_TENT_MON_VOLTORB] = {
.species = SPECIES_VOLTORB,
.moves = {MOVE_CHARGE, MOVE_SPARK, MOVE_SCREECH, MOVE_SONIC_BOOM},
.itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [21] = {
+ [FALLARBOR_TENT_MON_WHISMUR] = {
.species = SPECIES_WHISMUR,
.moves = {MOVE_REST, MOVE_SLEEP_TALK, MOVE_HYPER_VOICE, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [22] = {
+ [FALLARBOR_TENT_MON_LOUDRED] = {
.species = SPECIES_LOUDRED,
.moves = {MOVE_STOMP, MOVE_REST, MOVE_SCREECH, MOVE_UPROAR},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [23] = {
+ [FALLARBOR_TENT_MON_LINOONE_2] = {
.species = SPECIES_LINOONE,
.moves = {MOVE_FURY_SWIPES, MOVE_SAND_ATTACK, MOVE_SHOCK_WAVE, MOVE_GROWL},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [24] = {
+ [FALLARBOR_TENT_MON_MIGHTYENA] = {
.species = SPECIES_MIGHTYENA,
.moves = {MOVE_SAND_ATTACK, MOVE_HOWL, MOVE_SWAGGER, MOVE_SECRET_POWER},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_JOLLY
},
- [25] = {
+ [FALLARBOR_TENT_MON_SWABLU] = {
.species = SPECIES_SWABLU,
.moves = {MOVE_TAKE_DOWN, MOVE_SING, MOVE_GROWL, MOVE_SAFEGUARD},
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_QUIRKY
},
- [26] = {
+ [FALLARBOR_TENT_MON_SKARMORY] = {
.species = SPECIES_SKARMORY,
.moves = {MOVE_AGILITY, MOVE_STEEL_WING, MOVE_SAND_ATTACK, MOVE_TORMENT},
.itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [27] = {
+ [FALLARBOR_TENT_MON_GOLBAT] = {
.species = SPECIES_GOLBAT,
.moves = {MOVE_CONFUSE_RAY, MOVE_BITE, MOVE_DOUBLE_TEAM, MOVE_SUBSTITUTE},
.itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BOLD
},
- [28] = {
+ [FALLARBOR_TENT_MON_WINGULL] = {
.species = SPECIES_WINGULL,
.moves = {MOVE_WING_ATTACK, MOVE_HAIL, MOVE_DOUBLE_TEAM, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
.nature = NATURE_MODEST
},
- [29] = {
+ [FALLARBOR_TENT_MON_PELIPPER] = {
.species = SPECIES_PELIPPER,
.moves = {MOVE_TWISTER, MOVE_ICY_WIND, MOVE_DOUBLE_TEAM, MOVE_WATER_GUN},
.itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [30] = {
+ [FALLARBOR_TENT_MON_BARBOACH] = {
.species = SPECIES_BARBOACH,
.moves = {MOVE_SPARK, MOVE_WATER_GUN, MOVE_EARTHQUAKE, MOVE_WATER_SPORT},
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_MODEST
},
- [31] = {
+ [FALLARBOR_TENT_MON_WAILMER] = {
.species = SPECIES_WAILMER,
.moves = {MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_SPLASH, MOVE_CURSE},
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_QUIET
},
- [32] = {
+ [FALLARBOR_TENT_MON_MARILL] = {
.species = SPECIES_MARILL,
.moves = {MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_ATTRACT},
.itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [33] = {
+ [FALLARBOR_TENT_MON_GOLDEEN_1] = {
.species = SPECIES_GOLDEEN,
.moves = {MOVE_WATERFALL, MOVE_RAIN_DANCE, MOVE_FLAIL, MOVE_PROTECT},
.itemTableId = BATTLE_FRONTIER_ITEM_GANLON_BERRY,
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
.nature = NATURE_HASTY
},
- [34] = {
+ [FALLARBOR_TENT_MON_GOLDEEN_2] = {
.species = SPECIES_GOLDEEN,
.moves = {MOVE_SLEEP_TALK, MOVE_HORN_DRILL, MOVE_REST, MOVE_SUPERSONIC},
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_CAREFUL
},
- [35] = {
+ [FALLARBOR_TENT_MON_TRAPINCH] = {
.species = SPECIES_TRAPINCH,
.moves = {MOVE_RETURN, MOVE_SAND_ATTACK, MOVE_ATTRACT, MOVE_STRENGTH},
.itemTableId = BATTLE_FRONTIER_ITEM_MAGO_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [36] = {
+ [FALLARBOR_TENT_MON_BALTOY] = {
.species = SPECIES_BALTOY,
.moves = {MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_RAPID_SPIN, MOVE_MIMIC},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [37] = {
+ [FALLARBOR_TENT_MON_GRAVELER] = {
.species = SPECIES_GRAVELER,
.moves = {MOVE_ROCK_BLAST, MOVE_DEFENSE_CURL, MOVE_MAGNITUDE, MOVE_MUD_SPORT},
.itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_ADAMANT
},
- [38] = {
+ [FALLARBOR_TENT_MON_SANDSHREW] = {
.species = SPECIES_SANDSHREW,
.moves = {MOVE_SAND_TOMB, MOVE_SANDSTORM, MOVE_DOUBLE_TEAM, MOVE_FOCUS_PUNCH},
.itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_JOLLY
},
- [39] = {
+ [FALLARBOR_TENT_MON_SWALOT] = {
.species = SPECIES_SWALOT,
.moves = {MOVE_YAWN, MOVE_ENCORE, MOVE_BULLET_SEED, MOVE_SLUDGE},
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
.nature = NATURE_BRAVE
},
- [40] = {
+ [FALLARBOR_TENT_MON_SHROOMISH] = {
.species = SPECIES_SHROOMISH,
.moves = {MOVE_HEADBUTT, MOVE_SPORE, MOVE_SWAGGER, MOVE_LEECH_SEED},
.itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_IMPISH
},
- [41] = {
+ [FALLARBOR_TENT_MON_KIRLIA] = {
.species = SPECIES_KIRLIA,
.moves = {MOVE_HYPNOSIS, MOVE_GROWL, MOVE_ATTRACT, MOVE_DREAM_EATER},
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [42] = {
+ [FALLARBOR_TENT_MON_LOMBRE] = {
.species = SPECIES_LOMBRE,
.moves = {MOVE_NATURE_POWER, MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_FLASH},
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
.nature = NATURE_BASHFUL
},
- [43] = {
+ [FALLARBOR_TENT_MON_NUZLEAF] = {
.species = SPECIES_NUZLEAF,
.moves = {MOVE_NATURE_POWER, MOVE_TORMENT, MOVE_SWAGGER, MOVE_REST},
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
.nature = NATURE_ADAMANT
},
- [44] = {
+ [FALLARBOR_TENT_MON_CACNEA] = {
.species = SPECIES_CACNEA,
.moves = {MOVE_SANDSTORM, MOVE_NEEDLE_ARM, MOVE_TEETER_DANCE, MOVE_LEECH_SEED},
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
diff --git a/src/data/battle_frontier/trainer_hill.h b/src/data/battle_frontier/trainer_hill.h
index 54d49422a..cfd5dd994 100644
--- a/src/data/battle_frontier/trainer_hill.h
+++ b/src/data/battle_frontier/trainer_hill.h
@@ -1,16 +1,17 @@
#define TRAINER_HILL_OTID 0x10000000
-static const struct TrHillTag gUnknown_0862609C = {
- .unkField_0 = 4,
+static const struct TrHillTag sDataTagJPDefault = {
+ .numTrainers = NUM_TRAINER_HILL_TRAINERS_JP,
.unused1 = 1,
- .numFloors = 2,
+ .numFloors = NUM_TRAINER_HILL_FLOORS_JP,
.checksum = 0x0
};
-static const struct TrHillFloor gUnknown_0862609C_floors[] = {
+
+static const struct TrHillFloor sDataTagJPDefault_Floors[] = {
[0] = {
- .unk0 = 0,
- .unk1 = 0,
+ .trainerNum1 = 0,
+ .trainerNum2 = 0,
.trainers = {
[0] = {
.name = __("シゲノブ$$$$ "),
@@ -33,7 +34,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 100,
.spAttackEV = 0,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -57,7 +58,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 150,
.spDefenseEV = 120,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -81,7 +82,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 0,
.spDefenseEV = 200,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -122,7 +123,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 100,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -146,7 +147,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 100,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -170,7 +171,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 100,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -194,8 +195,8 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
}
},
[1] = {
- .unk0 = 0,
- .unk1 = 0,
+ .trainerNum1 = 0,
+ .trainerNum2 = 0,
.trainers = {
[0] = {
.name = __("シゲゾウ$$$$ "),
@@ -218,7 +219,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 120,
.spAttackEV = 150,
.spDefenseEV = 0,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -242,7 +243,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 100,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -266,7 +267,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 110,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -307,7 +308,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 0,
.spAttackEV = 110,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -331,7 +332,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 100,
.spAttackEV = 110,
.spDefenseEV = 100,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -355,7 +356,7 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
.speedEV = 80,
.spAttackEV = 80,
.spDefenseEV = 80,
- .otId = 0x10000000,
+ .otId = TRAINER_HILL_OTID,
.hpIV = 5,
.attackIV = 5,
.defenseIV = 5,
@@ -382,18 +383,18 @@ static const struct TrHillFloor gUnknown_0862609C_floors[] = {
static const struct TrHillTag sDataTagNormal =
{
- .unkField_0 = 8,
+ .numTrainers = NUM_TRAINER_HILL_TRAINERS,
.unused1 = 2,
- .numFloors = 4,
+ .numFloors = NUM_TRAINER_HILL_FLOORS,
.checksum = 0x00051E05
};
-static const struct TrHillFloor sDataTagNormal_floors[] =
+static const struct TrHillFloor sDataTagNormal_Floors[] =
{
[0] =
{
- .unk0 = 0x11,
- .unk1 = 0x12,
+ .trainerNum1 = 17,
+ .trainerNum2 = 18,
.trainers =
{
[0] =
@@ -694,8 +695,8 @@ static const struct TrHillFloor sDataTagNormal_floors[] =
},
[1] =
{
- .unk0 = 0x13,
- .unk1 = 0x14,
+ .trainerNum1 = 19,
+ .trainerNum2 = 20,
.trainers =
{
[0] =
@@ -846,7 +847,7 @@ static const struct TrHillFloor sDataTagNormal_floors[] =
[1] =
{
.name = _("JAYDEN"),
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.unused = 0,
.speechBefore = {EC_WORD_SOME, EC_WORD_THINGS, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_DO, EC_WORD_ALONE},
.speechWin = {EC_WORD_YOU, EC_WORD_WIN, EC_WORD_AS, EC_WORD_A, EC_WORD_GROUP, 0xFFFF},
@@ -999,8 +1000,8 @@ static const struct TrHillFloor sDataTagNormal_floors[] =
},
[2] =
{
- .unk0 = 0x15,
- .unk1 = 0x16,
+ .trainerNum1 = 21,
+ .trainerNum2 = 22,
.trainers =
{
[0] =
@@ -1151,7 +1152,7 @@ static const struct TrHillFloor sDataTagNormal_floors[] =
[1] =
{
.name = _("VERONICA"),
- .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.unused = 0,
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_STRONG, EC_WORD_BEAUTY, EC_WORD_AROUND, EC_WORD_HERE},
.speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL, 0xFFFF},
@@ -1303,8 +1304,8 @@ static const struct TrHillFloor sDataTagNormal_floors[] =
},
[3] =
{
- .unk0 = 0x17,
- .unk1 = 0x18,
+ .trainerNum1 = 23,
+ .trainerNum2 = 24,
.trainers =
{
[0] =
@@ -1602,17 +1603,17 @@ static const struct TrHillFloor sDataTagNormal_floors[] =
static const struct TrHillTag sDataTagVariety =
{
- .unkField_0 = 8,
+ .numTrainers = NUM_TRAINER_HILL_TRAINERS,
.unused1 = 1,
- .numFloors = 4,
+ .numFloors = NUM_TRAINER_HILL_FLOORS,
.checksum = 0x00054C15
};
-static const struct TrHillFloor sDataTagVariety_floors[] = {
+static const struct TrHillFloor sDataTagVariety_Floors[] = {
[0] =
{
- .unk0 = 0x29,
- .unk1 = 0x2A,
+ .trainerNum1 = 41,
+ .trainerNum2 = 42,
.trainers =
{
[0] =
@@ -1904,8 +1905,8 @@ static const struct TrHillFloor sDataTagVariety_floors[] = {
},
[1] =
{
- .unk0 = 0x2B,
- .unk1 = 0x2C,
+ .trainerNum1 = 43,
+ .trainerNum2 = 44,
.trainers =
{
[0] =
@@ -2227,8 +2228,8 @@ static const struct TrHillFloor sDataTagVariety_floors[] = {
},
[2] =
{
- .unk0 = 0x2D,
- .unk1 = 0x2E,
+ .trainerNum1 = 45,
+ .trainerNum2 = 46,
.trainers =
{
[0] =
@@ -2531,8 +2532,8 @@ static const struct TrHillFloor sDataTagVariety_floors[] = {
},
[3] =
{
- .unk0 = 0x2F,
- .unk1 = 0x30,
+ .trainerNum1 = 47,
+ .trainerNum2 = 48,
.trainers =
{
[0] =
@@ -2828,17 +2829,17 @@ static const struct TrHillFloor sDataTagVariety_floors[] = {
static const struct TrHillTag sDataTagUnique =
{
- .unkField_0 = 8,
+ .numTrainers = NUM_TRAINER_HILL_TRAINERS,
.unused1 = 3,
- .numFloors = 4,
+ .numFloors = NUM_TRAINER_HILL_FLOORS,
.checksum = 0x000652F3
};
-static const struct TrHillFloor sDataTagUnique_floors[] = {
+static const struct TrHillFloor sDataTagUnique_Floors[] = {
[0] =
{
- .unk0 = 0x31,
- .unk1 = 0x32,
+ .trainerNum1 = 49,
+ .trainerNum2 = 50,
.trainers =
{
[0] =
@@ -3135,8 +3136,8 @@ static const struct TrHillFloor sDataTagUnique_floors[] = {
},
[1] =
{
- .unk0 = 0x33,
- .unk1 = 0x34,
+ .trainerNum1 = 51,
+ .trainerNum2 = 52,
.trainers =
{
[0] =
@@ -3439,8 +3440,8 @@ static const struct TrHillFloor sDataTagUnique_floors[] = {
},
[2] =
{
- .unk0 = 0x35,
- .unk1 = 0x36,
+ .trainerNum1 = 53,
+ .trainerNum2 = 54,
.trainers =
{
[0] =
@@ -3743,8 +3744,8 @@ static const struct TrHillFloor sDataTagUnique_floors[] = {
},
[3] =
{
- .unk0 = 0x38,
- .unk1 = 0x37,
+ .trainerNum1 = 56,
+ .trainerNum2 = 55,
.trainers =
{
[0] =
@@ -4039,17 +4040,17 @@ static const struct TrHillFloor sDataTagUnique_floors[] = {
static const struct TrHillTag sDataTagExpert =
{
- .unkField_0 = 8,
+ .numTrainers = NUM_TRAINER_HILL_TRAINERS,
.unused1 = 1,
- .numFloors = 4,
+ .numFloors = NUM_TRAINER_HILL_FLOORS,
.checksum = 0x00061F3F
};
-static const struct TrHillFloor sDataTagExpert_floors[] = {
+static const struct TrHillFloor sDataTagExpert_Floors[] = {
[0] =
{
- .unk0 = 0x39,
- .unk1 = 0x3A,
+ .trainerNum1 = 57,
+ .trainerNum2 = 58,
.trainers =
{
[0] =
@@ -4353,8 +4354,8 @@ static const struct TrHillFloor sDataTagExpert_floors[] = {
},
[1] =
{
- .unk0 = 0x3B,
- .unk1 = 0x3C,
+ .trainerNum1 = 59,
+ .trainerNum2 = 60,
.trainers =
{
[0] =
@@ -4658,8 +4659,8 @@ static const struct TrHillFloor sDataTagExpert_floors[] = {
},
[2] =
{
- .unk0 = 0x3D,
- .unk1 = 0x3E,
+ .trainerNum1 = 61,
+ .trainerNum2 = 62,
.trainers =
{
[0] =
@@ -4963,8 +4964,8 @@ static const struct TrHillFloor sDataTagExpert_floors[] = {
},
[3] =
{
- .unk0 = 0x3F,
- .unk1 = 0x40,
+ .trainerNum1 = 63,
+ .trainerNum2 = 64,
.trainers =
{
[0] =
diff --git a/src/data/contest_text_tables.h b/src/data/contest_text_tables.h
index 8375520d1..f893bc66a 100644
--- a/src/data/contest_text_tables.h
+++ b/src/data/contest_text_tables.h
@@ -1,414 +1,439 @@
#include "global.h"
-extern const u8 gContestEffect00hDescription[];
-extern const u8 gContestEffect01hDescription[];
-extern const u8 gContestEffect02hDescription[];
-extern const u8 gContestEffect03hDescription[];
-extern const u8 gContestEffect04hDescription[];
-extern const u8 gContestEffect05hDescription[];
-extern const u8 gContestEffect06hDescription[];
-extern const u8 gContestEffect07hDescription[];
-extern const u8 gContestEffect08hDescription[];
-extern const u8 gContestEffect09hDescription[];
-extern const u8 gContestEffect0AhDescription[];
-extern const u8 gContestEffect0BhDescription[];
-extern const u8 gContestEffect0ChDescription[];
-extern const u8 gContestEffect0DhDescription[];
-extern const u8 gContestEffect0EhDescription[];
-extern const u8 gContestEffect0FhDescription[];
-extern const u8 gContestEffect10hDescription[];
-extern const u8 gContestEffect11hDescription[];
-extern const u8 gContestEffect12hDescription[];
-extern const u8 gContestEffect13hDescription[];
-extern const u8 gContestEffect14hDescription[];
-extern const u8 gContestEffect15hDescription[];
-extern const u8 gContestEffect16hDescription[];
-extern const u8 gContestEffect17hDescription[];
-extern const u8 gContestEffect18hDescription[];
-extern const u8 gContestEffect19hDescription[];
-extern const u8 gContestEffect1AhDescription[];
-extern const u8 gContestEffect1BhDescription[];
-extern const u8 gContestEffect1ChDescription[];
-extern const u8 gContestEffect1DhDescription[];
-extern const u8 gContestEffect1EhDescription[];
-extern const u8 gContestEffect1FhDescription[];
-extern const u8 gContestEffect20hDescription[];
-extern const u8 gContestEffect21hDescription[];
-extern const u8 gContestEffect22hDescription[];
-extern const u8 gContestEffect23hDescription[];
-extern const u8 gContestEffect24hDescription[];
-extern const u8 gContestEffect25hDescription[];
-extern const u8 gContestEffect26hDescription[];
-extern const u8 gContestEffect27hDescription[];
-extern const u8 gContestEffect28hDescription[];
-extern const u8 gContestEffect29hDescription[];
-extern const u8 gContestEffect2AhDescription[];
-extern const u8 gContestEffect2BhDescription[];
-extern const u8 gContestEffect2ChDescription[];
-extern const u8 gContestEffect2DhDescription[];
-extern const u8 gContestEffect2EhDescription[];
-extern const u8 gContestEffect2FhDescription[];
+// gContestEffectDescriptionPointers
+extern const u8 gText_HighlyAppealingMove[];
+extern const u8 gText_UserMoreEasilyStartled[];
+extern const u8 gText_GreatAppealButNoMoreToEnd[];
+extern const u8 gText_UsedRepeatedlyWithoutBoringJudge[];
+extern const u8 gText_AvoidStartledByOthersOnce[];
+extern const u8 gText_AvoidStartledByOthers[];
+extern const u8 gText_AvoidStartledByOthersLittle[];
+extern const u8 gText_UserLessLikelyStartled[];
+extern const u8 gText_SlightlyStartleFrontMon[];
+extern const u8 gText_SlightlyStartleAppealed[];
+extern const u8 gText_StartleAppealedBeforeUser[];
+extern const u8 gText_StartleAllAppealed[];
+extern const u8 gText_BadlyStartleFrontMon[];
+extern const u8 gText_BadlyStartleAppealed[];
+extern const u8 gText_StartleAppealedBeforeUser2[];
+extern const u8 gText_StartleAllAppealed2[];
+extern const u8 gText_ShiftJudgesAttentionFromOthers[];
+extern const u8 gText_StartleMonHasJudgesAttention[];
+extern const u8 gText_JamOthersMissesTurn[];
+extern const u8 gText_StartleMonsMadeSameTypeAppeal[];
+extern const u8 gText_BadlyStartleCoolAppeals[];
+extern const u8 gText_BadlyStartleBeautyAppeals[];
+extern const u8 gText_BadlyStartleCuteAppeals[];
+extern const u8 gText_BadlyStartleSmartAppeals[];
+extern const u8 gText_BadlyStartleToughAppeals[];
+extern const u8 gText_MakeMonAfterUserNervous[];
+extern const u8 gText_MakeAllMonsAfterUserNervous[];
+extern const u8 gText_WorsenConditionOfThoseMadeAppeals[];
+extern const u8 gText_BadlyStartleMonsGoodCondition[];
+extern const u8 gText_AppealGreatIfPerformedFirst[];
+extern const u8 gText_AppealGreatIfPerformedLast[];
+extern const u8 gText_AppealAsGoodAsThoseBeforeIt[];
+extern const u8 gText_AppealAsGoodAsOneBeforeIt[];
+extern const u8 gText_AppealBetterLaterItsPerformed[];
+extern const u8 gText_AppealVariesDependingOnTiming[];
+extern const u8 gText_WorksWellIfSameTypeAsBefore[];
+extern const u8 gText_WorksWellIfDifferentTypeAsBefore[];
+extern const u8 gText_AffectedByAppealInFront[];
+extern const u8 gText_UpsConditionHelpsPreventNervousness[];
+extern const u8 gText_AppealWorksWellIfConditionGood[];
+extern const u8 gText_NextAppealMadeEarlier[];
+extern const u8 gText_NextAppealMadeLater[];
+extern const u8 gText_TurnOrderMoreEasilyScrambled[];
+extern const u8 gText_ScrambleOrderOfNextAppeals[];
+extern const u8 gText_AppealExcitesAudienceInAnyContest[];
+extern const u8 gText_BadlyStartlesMonsGoodAppeals[];
+extern const u8 gText_AppealBestMoreCrowdExcited[];
+extern const u8 gText_TemporarilyStopCrowdExcited[];
-extern const u8 gUnusedContestMoveName0[];
-extern const u8 gUnusedContestMoveName1[];
-extern const u8 gUnusedContestMoveName2[];
-extern const u8 gUnusedContestMoveName3[];
-extern const u8 gUnusedContestMoveName4[];
-extern const u8 gUnusedContestMoveName5[];
-extern const u8 gUnusedContestMoveName6[];
-extern const u8 gUnusedContestMoveName7[];
-extern const u8 gUnusedContestMoveName8[];
-extern const u8 gUnusedContestMoveName9[];
-extern const u8 gUnusedContestMoveName10[];
-extern const u8 gUnusedContestMoveName11[];
-extern const u8 gUnusedContestMoveName12[];
+// sUnusedComboMoveNameTexts
+extern const u8 gText_RainDance[];
+extern const u8 gText_Rage[];
+extern const u8 gText_FocusEnergy[];
+extern const u8 gText_Hypnosis[];
+extern const u8 gText_Softboiled[];
+extern const u8 gText_HornAttack[];
+extern const u8 gText_SwordsDance[];
+extern const u8 gText_Conversion[];
+extern const u8 gText_SunnyDay[];
+extern const u8 gText_Rest2[];
+extern const u8 gText_Vicegrip[];
+extern const u8 gText_DefenseCurl[];
+extern const u8 gText_LockOn[];
+// gContestMoveTypeTextPointers
extern const u8 gContestMoveTypeCoolText[];
extern const u8 gContestMoveTypeBeautyText[];
extern const u8 gContestMoveTypeCuteText[];
extern const u8 gContestMoveTypeSmartText[];
extern const u8 gContestMoveTypeToughText[];
-extern const u8 gText_0827D5C1[];
-extern const u8 gText_0827D5DC[];
-extern const u8 gText_0827D600[];
-extern const u8 gText_0827D612[];
-extern const u8 gText_0827D612[];
-extern const u8 gText_0827D62D[];
-extern const u8 gText_0827D654[];
-extern const u8 gText_0827D67E[];
-extern const u8 gText_0827D69C[];
-extern const u8 gText_0827D6BA[];
-extern const u8 gText_0827D6E5[];
-extern const u8 gText_0827D706[];
-extern const u8 gText_0827D71D[];
+// sUnusedAppealResultTexts
+extern const u8 gText_ButAppealWasJammed[];
+extern const u8 gText_FollowedAnotherMonsLead[];
+extern const u8 gText_ButItMessedUp[];
+extern const u8 gText_WentBetterThanUsual[];
+extern const u8 gText_JudgeLookedAwayForSomeReason[];
+extern const u8 gText_WorkedHardToBuildOnPastMistakes[];
+extern const u8 gText_CantMakeAnyMoreMoves[];
+extern const u8 gText_WorkedFrighteninglyWell[];
+extern const u8 gText_WorkedHardAsStandoutMon[];
+extern const u8 gText_JudgedLookedOnExpectantly[];
+extern const u8 gText_WorkedRatherWell[];
+extern const u8 gText_WorkedLittleBetterThanUsual[];
-extern const u8 gText_0827D743[];
-extern const u8 gText_0827D764[];
-extern const u8 gText_0827D785[];
-extern const u8 gText_0827D7A5[];
-extern const u8 gText_0827D7C8[];
-extern const u8 gText_0827D7E8[];
-extern const u8 gText_0827D831[];
-extern const u8 gText_0827D855[];
-extern const u8 gText_0827D830[];
-extern const u8 gText_0827D872[];
-extern const u8 gText_0827D88F[];
-extern const u8 gText_0827D8B5[];
-extern const u8 gText_0827D8E4[];
-extern const u8 gText_0827D8FE[];
-extern const u8 gText_0827D926[];
-extern const u8 gText_0827D947[];
-extern const u8 gText_0827D961[];
-extern const u8 gText_0827D986[];
-extern const u8 gText_0827D9B1[];
-extern const u8 gText_0827D9D9[];
-extern const u8 gText_0827DA03[];
-extern const u8 gText_0827DA31[];
-extern const u8 gText_0827DA5B[];
-extern const u8 gText_0827DA85[];
-extern const u8 gText_0827DAB2[];
-extern const u8 gText_0827DADA[];
-extern const u8 gText_0827DB03[];
-extern const u8 gText_0827D830[];
-extern const u8 gText_0827D830[];
-extern const u8 gText_0827D830[];
-extern const u8 gText_0827DB1F[];
-extern const u8 gText_0827DB4E[];
+// sRoundResultTexts
+extern const u8 gText_MonFailedToStandOutAtAll[];
+extern const u8 gText_MonDidntStandOutVeryMuch[];
+extern const u8 gText_MonCaughtALittleAttention[];
+extern const u8 gText_MonAttractedALotOfAttention[];
+extern const u8 gText_MonCommandedTotalAttention[];
+extern const u8 gText_MonHasntMadeItsAppeal[];
+extern const u8 gText_JudgesViewsOnMonHeldFirm[];
+extern const u8 gText_MonsXChangedPerceptions[];
+extern const u8 gText_EmptyContestString[];
+extern const u8 gText_MonsAppealEffectWoreOff[];
+extern const u8 gText_SpecialAppealsEffectWoreOff[];
+extern const u8 gText_EveryonesAppealsMadeToLookSame[];
+extern const u8 gText_CheapenedMonsAppeal[];
+extern const u8 gText_CheapenedMonsAppeal2[];
+extern const u8 gText_CheapenedAppealOfThoseAhead[];
+extern const u8 gText_CheapenedAppealOfThoseAhead2[];
+extern const u8 gText_StoleAttentionAwayFromMon[];
+extern const u8 gText_SeverelyCheapenedOtherAppeals[];
+extern const u8 gText_AnticipationSwelledForMonsAppealNext[];
+extern const u8 gText_CheapenedJudgesFavoriteAppeal[];
+extern const u8 gText_AppealsOfOthersCheapenedByHalf[];
+extern const u8 gText_StoodOutToMakeUpForBeingJammed[];
+extern const u8 gText_CantParticipateInAppealsAnyMore[];
+extern const u8 gText_TouchedJudgeForFantasticAppeal[];
+extern const u8 gText_AnticipationRoseForUpcomingAppeals[];
+extern const u8 gText_StoodOutAsMuchAsSpecialAppeals[];
+extern const u8 gText_StoodOutAsMuchAsMon[];
+extern const u8 gText_JammedAppealsMadeEvenLessNoticeable[];
+extern const u8 gText_EveryonesAppealsMadeSame[];
-extern const u8 gText_827DB75[];
-extern const u8 gText_827DBB0[];
-extern const u8 gText_827DBE0[];
-extern const u8 gText_827DC0F[];
-extern const u8 gText_827DC45[];
-extern const u8 gText_827DC7C[];
-extern const u8 gText_827DCB4[];
-extern const u8 gText_827DCE7[];
-extern const u8 gText_827DD12[];
-extern const u8 gText_827DD3D[];
-extern const u8 gText_827DD6F[];
-extern const u8 gText_827DD8E[];
-extern const u8 gText_827DDC7[];
-extern const u8 gText_827DDF2[];
-extern const u8 gText_827DE14[];
-extern const u8 gText_827DE44[];
-extern const u8 gText_827DE73[];
-extern const u8 gText_827DEA5[];
-extern const u8 gText_827DED9[];
-extern const u8 gText_827DF02[];
-extern const u8 gText_827DF3A[];
-extern const u8 gText_827DF63[];
-extern const u8 gText_827DF8C[];
-extern const u8 gText_827DFB8[];
-extern const u8 gText_827DFE2[];
-extern const u8 gText_827E00C[];
-extern const u8 gText_827E02F[];
-extern const u8 gText_827E05F[];
-extern const u8 gText_827E08B[];
-extern const u8 gText_827E0B5[];
-extern const u8 gText_827E0DD[];
-extern const u8 gText_827E107[];
-extern const u8 gText_827E143[];
-extern const u8 gText_827E17F[];
-extern const u8 gText_827E1BB[];
-extern const u8 gText_827E1F3[];
-extern const u8 gText_827E220[];
-extern const u8 gText_827E254[];
-extern const u8 gText_827E289[];
-extern const u8 gText_827E2C5[];
-extern const u8 gText_0827E2FE[];
-extern const u8 gText_0827E32E[];
-extern const u8 gText_0827E35B[];
-extern const u8 gText_0827E38D[];
-extern const u8 gText_0827E3C1[];
-extern const u8 gText_0827E3EB[];
-extern const u8 gText_0827E416[];
-extern const u8 gText_0827E448[];
-extern const u8 gText_0827E473[];
-extern const u8 gText_0827E4A6[];
-extern const u8 gText_0827E4D5[];
-extern const u8 gText_0827E504[];
-extern const u8 gText_0827E531[];
-extern const u8 gText_0827E55A[];
-extern const u8 gText_0827E5B2[];
-extern const u8 gText_0827E5D0[];
-extern const u8 gText_0827E606[];
-extern const u8 gText_0827E638[];
-extern const u8 gText_0827E658[];
-extern const u8 gText_0827E68B[];
-extern const u8 gText_0827E6C4[];
-extern const u8 gText_0827E7BA[];
+// sAppealResultTexts
+extern const u8 gText_BecameMoreConsciousOfOtherMons[];
+extern const u8 gText_MonCantMakeAnAppealAfterThis[];
+extern const u8 gText_SettledDownJustLittleBit[];
+extern const u8 gText_BecameObliviousToOtherMons[];
+extern const u8 gText_BecameLessAwareOfOtherMons[];
+extern const u8 gText_StoppedCaringAboutOtherMons[];
+extern const u8 gText_TriedToStartleOtherMons[];
+extern const u8 gText_TriedToDazzleOthers[];
+extern const u8 gText_JudgeLookedAwayFromMon[];
+extern const u8 gText_TriedToUnnerveNextMon[];
+extern const u8 gText_MonBecameNervous[];
+extern const u8 gText_AppealTriedToUnnerveWaitingMons[];
+extern const u8 gText_TauntedMonsDoingWell[];
+extern const u8 gText_MonRegainedItsForm[];
+extern const u8 gText_TriedToJamMonDoingWell[];
+extern const u8 gText_StandoutMonHustledEvenMore[];
+extern const u8 gText_LargelyUnnoticedMonWorkedHard[];
+extern const u8 gText_WorkedAsMuchAsMonBefore[];
+extern const u8 gText_WorkedAsMuchAsPrecedingMon[];
+extern const u8 gText_MonsAppealWasDud[];
+extern const u8 gText_MonsAppealDidNotGoWell[];
+extern const u8 gText_MonsAppealDidNotGoWell2[];
+extern const u8 gText_MonsAppealDidNotGoWell3[];
+extern const u8 gText_MonsAppealDidNotWorkVeryWell[];
+extern const u8 gText_MonsAppealWentSlightlyWell[];
+extern const u8 gText_MonsAppealWentSlightlyWell2[];
+extern const u8 gText_MonsAppealWentPrettyWell[];
+extern const u8 gText_MonsAppealWentPrettyWell2[];
+extern const u8 gText_MonsAppealWentVeryWell[];
+extern const u8 gText_MonsAppealWentExcellently[];
+extern const u8 gText_MonsAppealWentExcellently2[];
+extern const u8 gText_SameTypeAsOneBeforeGood[];
+extern const u8 gText_NotSameTypeAsOneBeforeGood[];
+extern const u8 gText_StoodOutMuchMoreThanMonBefore[];
+extern const u8 gText_DidntDoAsWellAsMonBefore[];
+extern const u8 gText_MonsConditionRoseAboveUsual[];
+extern const u8 gText_MonsHotStatusMadeGreatAppeal[];
+extern const u8 gText_MovedUpInLineForNextAppeal[];
+extern const u8 gText_MovedBackInLineForNextAppeal[];
+extern const u8 gText_ScrambledUpOrderForNextTurn[];
+extern const u8 gText_JudgeLookedAtMonExpectantly[];
+extern const u8 gText_AppealComboWentOverWell[];
+extern const u8 gText_AppealComboWentOverVeryWell[];
+extern const u8 gText_AppealComboWentOverExcellently[];
+extern const u8 gText_MonManagedToAvertGaze[];
+extern const u8 gText_MonManagedToAvoidSeeingIt[];
+extern const u8 gText_MonIsntFazedByThatSortOfThing[];
+extern const u8 gText_MonBecameALittleDistracted[];
+extern const u8 gText_TriedToStartleOtherPokemon[];
+extern const u8 gText_MonLookedDownOutOfDistraction[];
+extern const u8 gText_MonTurnedBackOutOfDistraction[];
+extern const u8 gText_MonCouldntHelpUtteringCry[];
+extern const u8 gText_MonCouldntHelpLeapingUp[];
+extern const u8 gText_MonTrippedOutOfDistraction[];
+extern const u8 gText_ButItMessedUp2[];
+extern const u8 gText_ButItFailedToMakeTargetNervous[];
+extern const u8 gText_ButItFailedToMakeAnyoneNervous[];
+extern const u8 gText_ButItWasIgnored[];
+extern const u8 gText_CouldntImproveItsCondition[];
+extern const u8 gText_BadConditionResultedInWeakAppeal[];
+extern const u8 gText_MonWasUnaffected[];
+extern const u8 gText_AttractedCrowdsAttention[];
+
+// sContestConditions
+extern const u8 gText_Contest_Coolness[];
+extern const u8 gText_Contest_Beauty[];
+extern const u8 gText_Contest_Cuteness[];
+extern const u8 gText_Contest_Smartness[];
+extern const u8 gText_Contest_Toughness[];
-extern const u8 gText_0827E85F[];
-extern const u8 gText_0827E868[];
-extern const u8 gText_0827E86F[];
-extern const u8 gText_0827E878[];
-extern const u8 gText_0827E882[];
+// sInvalidContestMoveNames
+extern const u8 gText_CoolMove[];
+extern const u8 gText_BeautyMove[];
+extern const u8 gText_CuteMove[];
+extern const u8 gText_SmartMove[];
+extern const u8 gText_ToughMove[];
+extern const u8 gText_3QuestionMarks[];
-extern const u8 gText_0827E894[];
-extern const u8 gText_0827E89E[];
-extern const u8 gText_0827E8AA[];
-extern const u8 gText_0827E8B4[];
-extern const u8 gText_0827E8BF[];
-extern const u8 gText_0827E8CA[];
+// Misc, used directly
+extern const u8 gText_MonAppealedWithMove[];
+extern const u8 gText_MonCantAppealNextTurn[];
+extern const u8 gText_RepeatedAppeal[];
+extern const u8 gText_MonsXDidntGoOverWell[];
+extern const u8 gText_MonsXWentOverGreat[];
+extern const u8 gText_MonsXGotTheCrowdGoing[];
+extern const u8 gText_CrowdContinuesToWatchMon[];
+extern const u8 gText_MonsMoveIsIgnored[];
+extern const u8 gText_MonWasTooNervousToMove[];
+extern const u8 gText_MonWasWatchingOthers[];
+extern const u8 gText_AllOutOfAppealTime[];
+extern const u8 gText_Contest_Shyness[];
+extern const u8 gText_Contest_Anxiety[];
+extern const u8 gText_Contest_Laziness[];
+extern const u8 gText_Contest_Hesitancy[];
+extern const u8 gText_Contest_Fear[];
+extern const u8 gText_AppealNumWhichMoveWillBePlayed[];
+extern const u8 gText_AppealNumButItCantParticipate[];
const u8 *const gContestEffectDescriptionPointers[] =
{
- gContestEffect00hDescription,
- gContestEffect01hDescription,
- gContestEffect02hDescription,
- gContestEffect03hDescription,
- gContestEffect04hDescription,
- gContestEffect05hDescription,
- gContestEffect06hDescription,
- gContestEffect07hDescription,
- gContestEffect08hDescription,
- gContestEffect09hDescription,
- gContestEffect0AhDescription,
- gContestEffect0BhDescription,
- gContestEffect0ChDescription,
- gContestEffect0DhDescription,
- gContestEffect0EhDescription,
- gContestEffect0FhDescription,
- gContestEffect10hDescription,
- gContestEffect11hDescription,
- gContestEffect12hDescription,
- gContestEffect13hDescription,
- gContestEffect14hDescription,
- gContestEffect15hDescription,
- gContestEffect16hDescription,
- gContestEffect17hDescription,
- gContestEffect18hDescription,
- gContestEffect19hDescription,
- gContestEffect1AhDescription,
- gContestEffect1BhDescription,
- gContestEffect1ChDescription,
- gContestEffect1DhDescription,
- gContestEffect1EhDescription,
- gContestEffect1FhDescription,
- gContestEffect20hDescription,
- gContestEffect21hDescription,
- gContestEffect22hDescription,
- gContestEffect23hDescription,
- gContestEffect24hDescription,
- gContestEffect25hDescription,
- gContestEffect26hDescription,
- gContestEffect27hDescription,
- gContestEffect28hDescription,
- gContestEffect29hDescription,
- gContestEffect2AhDescription,
- gContestEffect2BhDescription,
- gContestEffect2ChDescription,
- gContestEffect2DhDescription,
- gContestEffect2EhDescription,
- gContestEffect2FhDescription
+ [CONTEST_EFFECT_HIGHLY_APPEALING] = gText_HighlyAppealingMove,
+ [CONTEST_EFFECT_USER_MORE_EASILY_STARTLED] = gText_UserMoreEasilyStartled,
+ [CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES] = gText_GreatAppealButNoMoreToEnd,
+ [CONTEST_EFFECT_REPETITION_NOT_BORING] = gText_UsedRepeatedlyWithoutBoringJudge,
+ [CONTEST_EFFECT_AVOID_STARTLE_ONCE] = gText_AvoidStartledByOthersOnce,
+ [CONTEST_EFFECT_AVOID_STARTLE] = gText_AvoidStartledByOthers,
+ [CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY] = gText_AvoidStartledByOthersLittle,
+ [CONTEST_EFFECT_USER_LESS_EASILY_STARTLED] = gText_UserLessLikelyStartled,
+ [CONTEST_EFFECT_STARTLE_FRONT_MON] = gText_SlightlyStartleFrontMon,
+ [CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS] = gText_SlightlyStartleAppealed,
+ [CONTEST_EFFECT_STARTLE_PREV_MON] = gText_StartleAppealedBeforeUser,
+ [CONTEST_EFFECT_STARTLE_PREV_MONS] = gText_StartleAllAppealed,
+ [CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON] = gText_BadlyStartleFrontMon,
+ [CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS] = gText_BadlyStartleAppealed,
+ [CONTEST_EFFECT_STARTLE_PREV_MON_2] = gText_StartleAppealedBeforeUser2,
+ [CONTEST_EFFECT_STARTLE_PREV_MONS_2] = gText_StartleAllAppealed2,
+ [CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION] = gText_ShiftJudgesAttentionFromOthers,
+ [CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION] = gText_StartleMonHasJudgesAttention,
+ [CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN] = gText_JamOthersMissesTurn,
+ [CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL] = gText_StartleMonsMadeSameTypeAppeal,
+ [CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL] = gText_BadlyStartleCoolAppeals,
+ [CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL] = gText_BadlyStartleBeautyAppeals,
+ [CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL] = gText_BadlyStartleCuteAppeals,
+ [CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL] = gText_BadlyStartleSmartAppeals,
+ [CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL] = gText_BadlyStartleToughAppeals,
+ [CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS] = gText_MakeMonAfterUserNervous,
+ [CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS] = gText_MakeAllMonsAfterUserNervous,
+ [CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS] = gText_WorsenConditionOfThoseMadeAppeals,
+ [CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION] = gText_BadlyStartleMonsGoodCondition,
+ [CONTEST_EFFECT_BETTER_IF_FIRST] = gText_AppealGreatIfPerformedFirst,
+ [CONTEST_EFFECT_BETTER_IF_LAST] = gText_AppealGreatIfPerformedLast,
+ [CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES] = gText_AppealAsGoodAsThoseBeforeIt,
+ [CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE] = gText_AppealAsGoodAsOneBeforeIt,
+ [CONTEST_EFFECT_BETTER_WHEN_LATER] = gText_AppealBetterLaterItsPerformed,
+ [CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING] = gText_AppealVariesDependingOnTiming,
+ [CONTEST_EFFECT_BETTER_IF_SAME_TYPE] = gText_WorksWellIfSameTypeAsBefore,
+ [CONTEST_EFFECT_BETTER_IF_DIFF_TYPE] = gText_WorksWellIfDifferentTypeAsBefore,
+ [CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL] = gText_AffectedByAppealInFront,
+ [CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS] = gText_UpsConditionHelpsPreventNervousness,
+ [CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION] = gText_AppealWorksWellIfConditionGood,
+ [CONTEST_EFFECT_NEXT_APPEAL_EARLIER] = gText_NextAppealMadeEarlier,
+ [CONTEST_EFFECT_NEXT_APPEAL_LATER] = gText_NextAppealMadeLater,
+ [CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER] = gText_TurnOrderMoreEasilyScrambled,
+ [CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER] = gText_ScrambleOrderOfNextAppeals,
+ [CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST] = gText_AppealExcitesAudienceInAnyContest,
+ [CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS] = gText_BadlyStartlesMonsGoodAppeals,
+ [CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED] = gText_AppealBestMoreCrowdExcited,
+ [CONTEST_EFFECT_DONT_EXCITE_AUDIENCE] = gText_TemporarilyStopCrowdExcited
};
// Unreferenced array of pointers to move names.
// All of the moves except Conversion are combo starters, so this may have
// been an early list of combo starters.
-const u8 *const gUnknown_8587D10[] =
+static const u8 *const sUnusedComboMoveNameTexts[] =
{
- gUnusedContestMoveName0,
- gUnusedContestMoveName0,
- gUnusedContestMoveName1,
- gUnusedContestMoveName2,
- gUnusedContestMoveName3,
- gUnusedContestMoveName4,
- gUnusedContestMoveName5,
- gUnusedContestMoveName6,
- gUnusedContestMoveName7,
- gUnusedContestMoveName8,
- gUnusedContestMoveName9,
- gUnusedContestMoveName10,
- gUnusedContestMoveName11,
- gUnusedContestMoveName12
+ gText_RainDance,
+ gText_RainDance,
+ gText_Rage,
+ gText_FocusEnergy,
+ gText_Hypnosis,
+ gText_Softboiled,
+ gText_HornAttack,
+ gText_SwordsDance,
+ gText_Conversion,
+ gText_SunnyDay,
+ gText_Rest2,
+ gText_Vicegrip,
+ gText_DefenseCurl,
+ gText_LockOn
};
const u8 *const gContestMoveTypeTextPointers[] =
{
- gContestMoveTypeCoolText,
- gContestMoveTypeBeautyText,
- gContestMoveTypeCuteText,
- gContestMoveTypeSmartText,
- gContestMoveTypeToughText
+ [CONTEST_CATEGORY_COOL] = gContestMoveTypeCoolText,
+ [CONTEST_CATEGORY_BEAUTY] = gContestMoveTypeBeautyText,
+ [CONTEST_CATEGORY_CUTE] = gContestMoveTypeCuteText,
+ [CONTEST_CATEGORY_SMART] = gContestMoveTypeSmartText,
+ [CONTEST_CATEGORY_TOUGH] = gContestMoveTypeToughText
};
-const u8 *const gUnknown_08587D5C[] =
+static const u8 *const sUnusedAppealResultTexts[] =
{
- gText_0827D5C1,
- gText_0827D5DC,
- gText_0827D600,
- gText_0827D612,
- gText_0827D612,
- gText_0827D62D,
- gText_0827D654,
- gText_0827D67E,
- gText_0827D69C,
- gText_0827D6BA,
- gText_0827D6E5,
- gText_0827D706,
- gText_0827D71D
+ gText_ButAppealWasJammed,
+ gText_FollowedAnotherMonsLead,
+ gText_ButItMessedUp,
+ gText_WentBetterThanUsual,
+ gText_WentBetterThanUsual,
+ gText_JudgeLookedAwayForSomeReason,
+ gText_WorkedHardToBuildOnPastMistakes,
+ gText_CantMakeAnyMoreMoves,
+ gText_WorkedFrighteninglyWell,
+ gText_WorkedHardAsStandoutMon,
+ gText_JudgedLookedOnExpectantly,
+ gText_WorkedRatherWell,
+ gText_WorkedLittleBetterThanUsual
};
-const u8 *const gUnknown_08587D90[] =
+// Takes the .attentionLevel of a contestant as an index. Only 0-5 are used
+static const u8 *const sRoundResultTexts[] =
{
- gText_0827D743,
- gText_0827D764,
- gText_0827D785,
- gText_0827D7A5,
- gText_0827D7C8,
- gText_0827D7E8,
- gText_0827D831,
- gText_0827D855,
- gText_0827D830,
- gText_0827D872,
- gText_0827D88F,
- gText_0827D8B5,
- gText_0827D8E4,
- gText_0827D8FE,
- gText_0827D926,
- gText_0827D947,
- gText_0827D961,
- gText_0827D986,
- gText_0827D9B1,
- gText_0827D9D9,
- gText_0827DA03,
- gText_0827DA31,
- gText_0827DA5B,
- gText_0827DA85,
- gText_0827DAB2,
- gText_0827DADA,
- gText_0827DB03,
- gText_0827D830,
- gText_0827D830,
- gText_0827D830,
- gText_0827DB1F,
- gText_0827DB4E
+ gText_MonFailedToStandOutAtAll,
+ gText_MonDidntStandOutVeryMuch,
+ gText_MonCaughtALittleAttention,
+ gText_MonAttractedALotOfAttention,
+ gText_MonCommandedTotalAttention,
+ gText_MonHasntMadeItsAppeal,
+ gText_JudgesViewsOnMonHeldFirm, // here below unused
+ gText_MonsXChangedPerceptions,
+ gText_EmptyContestString,
+ gText_MonsAppealEffectWoreOff,
+ gText_SpecialAppealsEffectWoreOff,
+ gText_EveryonesAppealsMadeToLookSame,
+ gText_CheapenedMonsAppeal,
+ gText_CheapenedAppealOfThoseAhead,
+ gText_StoleAttentionAwayFromMon,
+ gText_CheapenedMonsAppeal2,
+ gText_SeverelyCheapenedOtherAppeals,
+ gText_AnticipationSwelledForMonsAppealNext,
+ gText_CheapenedAppealOfThoseAhead2,
+ gText_CheapenedJudgesFavoriteAppeal,
+ gText_AppealsOfOthersCheapenedByHalf,
+ gText_StoodOutToMakeUpForBeingJammed,
+ gText_CantParticipateInAppealsAnyMore,
+ gText_TouchedJudgeForFantasticAppeal,
+ gText_AnticipationRoseForUpcomingAppeals,
+ gText_StoodOutAsMuchAsSpecialAppeals,
+ gText_StoodOutAsMuchAsMon,
+ gText_EmptyContestString,
+ gText_EmptyContestString,
+ gText_EmptyContestString,
+ gText_JammedAppealsMadeEvenLessNoticeable,
+ gText_EveryonesAppealsMadeSame
};
-const u8 *const gUnknown_08587E10[] =
+static const u8 *const sAppealResultTexts[] =
{
- gText_827DB75,
- gText_827DBB0,
- gText_827DBE0,
- gText_827DC0F,
- gText_827DC45,
- gText_827DC7C,
- gText_827DCB4,
- gText_827DCE7,
- gText_827DD12,
- gText_827DD3D,
- gText_827DD6F,
- gText_827DD8E,
- gText_827DDC7,
- gText_827DDF2,
- gText_827DE14,
- gText_827DE44,
- gText_827DE73,
- gText_827DEA5,
- gText_827DED9,
- gText_827DF02,
- gText_827DF3A,
- gText_827DF63,
- gText_827DF8C,
- gText_827DFB8,
- gText_827DFE2,
- gText_827E00C,
- gText_827E02F,
- gText_827E05F,
- gText_827E08B,
- gText_827E0B5,
- gText_827E0DD,
- gText_827E107,
- gText_827E143,
- gText_827E17F,
- gText_827E1BB,
- gText_827E1F3,
- gText_827E220,
- gText_827E254,
- gText_827E289,
- gText_827E2C5,
- gText_0827E2FE,
- gText_0827E32E,
- gText_0827E35B,
- gText_0827E38D,
- gText_0827E3C1,
- gText_0827E3EB,
- gText_0827E416,
- gText_0827E448,
- gText_0827E473,
- gText_0827E4A6,
- gText_0827E4D5,
- gText_0827E504,
- gText_0827E531,
- gText_0827E55A,
- gText_0827E5B2,
- gText_0827E5D0,
- gText_0827E606,
- gText_0827E638,
- gText_0827E658,
- gText_0827E68B,
- gText_0827E6C4,
- gText_0827E7BA
+ [CONTEST_STRING_MORE_CONSCIOUS] = gText_BecameMoreConsciousOfOtherMons,
+ [CONTEST_STRING_NO_APPEAL] = gText_MonCantMakeAnAppealAfterThis,
+ [CONTEST_STRING_SETTLE_DOWN] = gText_SettledDownJustLittleBit,
+ [CONTEST_STRING_OBLIVIOUS_TO_OTHERS] = gText_BecameObliviousToOtherMons,
+ [CONTEST_STRING_LESS_AWARE] = gText_BecameLessAwareOfOtherMons,
+ [CONTEST_STRING_STOPPED_CARING] = gText_StoppedCaringAboutOtherMons,
+ [CONTEST_STRING_STARTLE_ATTEMPT] = gText_TriedToStartleOtherMons,
+ [CONTEST_STRING_DAZZLE_ATTEMPT] = gText_TriedToDazzleOthers,
+ [CONTEST_STRING_JUDGE_LOOK_AWAY2] = gText_JudgeLookedAwayFromMon,
+ [CONTEST_STRING_UNNERVE_ATTEMPT] = gText_TriedToUnnerveNextMon,
+ [CONTEST_STRING_NERVOUS] = gText_MonBecameNervous,
+ [CONTEST_STRING_UNNERVE_WAITING] = gText_AppealTriedToUnnerveWaitingMons,
+ [CONTEST_STRING_TAUNT_WELL] = gText_TauntedMonsDoingWell,
+ [CONTEST_STRING_REGAINED_FORM] = gText_MonRegainedItsForm,
+ [CONTEST_STRING_JAM_WELL] = gText_TriedToJamMonDoingWell,
+ [CONTEST_STRING_HUSTLE_STANDOUT] = gText_StandoutMonHustledEvenMore,
+ [CONTEST_STRING_WORK_HARD_UNNOTICED] = gText_LargelyUnnoticedMonWorkedHard,
+ [CONTEST_STRING_WORK_BEFORE] = gText_WorkedAsMuchAsMonBefore,
+ [CONTEST_STRING_APPEAL_NOT_WELL] = gText_MonsAppealDidNotGoWell,
+ [CONTEST_STRING_WORK_PRECEDING] = gText_WorkedAsMuchAsPrecedingMon,
+ [CONTEST_STRING_APPEAL_NOT_WELL2] = gText_MonsAppealDidNotGoWell2,
+ [CONTEST_STRING_APPEAL_NOT_SHOWN_WELL] = gText_MonsAppealDidNotGoWell3,
+ [CONTEST_STRING_APPEAL_SLIGHTLY_WELL] = gText_MonsAppealWentSlightlyWell,
+ [CONTEST_STRING_APPEAL_PRETTY_WELL] = gText_MonsAppealWentPrettyWell,
+ [CONTEST_STRING_APPEAL_EXCELLENTLY] = gText_MonsAppealWentExcellently,
+ [CONTEST_STRING_APPEAL_DUD] = gText_MonsAppealWasDud,
+ [CONTEST_STRING_APPEAL_NOT_VERY_WELL] = gText_MonsAppealDidNotWorkVeryWell,
+ [CONTEST_STRING_APPEAL_SLIGHTLY_WELL2] = gText_MonsAppealWentSlightlyWell2,
+ [CONTEST_STRING_APPEAL_PRETTY_WELL2] = gText_MonsAppealWentPrettyWell2,
+ [CONTEST_STRING_APPEAL_VERY_WELL] = gText_MonsAppealWentVeryWell,
+ [CONTEST_STRING_APPEAL_EXCELLENTLY2] = gText_MonsAppealWentExcellently2,
+ [CONTEST_STRING_SAME_TYPE_GOOD] = gText_SameTypeAsOneBeforeGood,
+ [CONTEST_STRING_DIFF_TYPE_GOOD] = gText_NotSameTypeAsOneBeforeGood,
+ [CONTEST_STRING_STOOD_OUT_AS_MUCH] = gText_StoodOutMuchMoreThanMonBefore,
+ [CONTEST_STRING_NOT_AS_WELL] = gText_DidntDoAsWellAsMonBefore,
+ [CONTEST_STRING_CONDITION_ROSE] = gText_MonsConditionRoseAboveUsual,
+ [CONTEST_STRING_HOT_STATUS] = gText_MonsHotStatusMadeGreatAppeal,
+ [CONTEST_STRING_MOVE_UP_LINE] = gText_MovedUpInLineForNextAppeal,
+ [CONTEST_STRING_MOVE_BACK_LINE] = gText_MovedBackInLineForNextAppeal,
+ [CONTEST_STRING_SCRAMBLE_ORDER] = gText_ScrambledUpOrderForNextTurn,
+ [CONTEST_STRING_JUDGE_EXPECTANTLY2] = gText_JudgeLookedAtMonExpectantly,
+ [CONTEST_STRING_WENT_OVER_WELL] = gText_AppealComboWentOverWell,
+ [CONTEST_STRING_WENT_OVER_VERY_WELL] = gText_AppealComboWentOverVeryWell,
+ [CONTEST_STRING_APPEAL_COMBO_EXCELLENTLY] = gText_AppealComboWentOverExcellently,
+ [CONTEST_STRING_AVERT_GAZE] = gText_MonManagedToAvertGaze,
+ [CONTEST_STRING_AVOID_SEEING] = gText_MonManagedToAvoidSeeingIt,
+ [CONTEST_STRING_NOT_FAZED] = gText_MonIsntFazedByThatSortOfThing,
+ [CONTEST_STRING_LITTLE_DISTRACTED] = gText_MonBecameALittleDistracted,
+ [CONTEST_STRING_ATTEMPT_STARTLE] = gText_TriedToStartleOtherPokemon,
+ [CONTEST_STRING_LOOKED_DOWN] = gText_MonLookedDownOutOfDistraction,
+ [CONTEST_STRING_TURNED_BACK] = gText_MonTurnedBackOutOfDistraction,
+ [CONTEST_STRING_UTTER_CRY] = gText_MonCouldntHelpUtteringCry,
+ [CONTEST_STRING_LEAPT_UP] = gText_MonCouldntHelpLeapingUp,
+ [CONTEST_STRING_TRIPPED_OVER] = gText_MonTrippedOutOfDistraction,
+ [CONTEST_STRING_MESSED_UP2] = gText_ButItMessedUp2,
+ [CONTEST_STRING_FAILED_TARGET_NERVOUS] = gText_ButItFailedToMakeTargetNervous,
+ [CONTEST_STRING_FAILED_ANYONE_NERVOUS] = gText_ButItFailedToMakeAnyoneNervous,
+ [CONTEST_STRING_IGNORED] = gText_ButItWasIgnored,
+ [CONTEST_STRING_NO_CONDITION_IMPROVE] = gText_CouldntImproveItsCondition,
+ [CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL] = gText_BadConditionResultedInWeakAppeal,
+ [CONTEST_STRING_UNAFFECTED] = gText_MonWasUnaffected,
+ [CONTEST_STRING_ATTRACTED_ATTENTION] = gText_AttractedCrowdsAttention
};
-const u8 *const gUnknown_08587F08[] =
+static const u8 *const sContestConditions[] =
{
- gText_0827E85F,
- gText_0827E868,
- gText_0827E86F,
- gText_0827E878,
- gText_0827E882
+ [CONTEST_CATEGORY_COOL] = gText_Contest_Coolness,
+ [CONTEST_CATEGORY_BEAUTY] = gText_Contest_Beauty,
+ [CONTEST_CATEGORY_CUTE] = gText_Contest_Cuteness,
+ [CONTEST_CATEGORY_SMART] = gText_Contest_Smartness,
+ [CONTEST_CATEGORY_TOUGH] = gText_Contest_Toughness
};
-const u8 *const gUnknown_08587F1C[] =
+static const u8 *const sInvalidContestMoveNames[] =
{
- gText_0827E894,
- gText_0827E89E,
- gText_0827E8AA,
- gText_0827E8B4,
- gText_0827E8BF,
- gText_0827E8CA
+ [CONTEST_CATEGORY_COOL] = gText_CoolMove,
+ [CONTEST_CATEGORY_BEAUTY] = gText_BeautyMove,
+ [CONTEST_CATEGORY_CUTE] = gText_CuteMove,
+ [CONTEST_CATEGORY_SMART] = gText_SmartMove,
+ [CONTEST_CATEGORY_TOUGH] = gText_ToughMove,
+ [CONTEST_CATEGORIES_COUNT] = gText_3QuestionMarks
};
diff --git a/src/data/decoration/icon.h b/src/data/decoration/icon.h
index 58d9cea7b..b29dab20f 100644
--- a/src/data/decoration/icon.h
+++ b/src/data/decoration/icon.h
@@ -1,123 +1,124 @@
-const u32 *const gUnknown_085A6BE8[][2] = {
- {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
- {NULL, NULL},
- {NULL, NULL},
- {gUnknown_08DB7AA0, gUnknown_08DB7B34},
- {gUnknown_08DB7B5C, gUnknown_08DB7BEC},
- {gUnknown_08DB7C08, gUnknown_08DB7CE8},
- {gUnknown_08DB7D08, gUnknown_08DB7DCC},
- {gUnknown_08DB7DF4, gUnknown_08DB7EA0},
- {gUnknown_08DB7EC4, gUnknown_08DB7F60},
- {gUnknown_08DB7F7C, gUnknown_08DB8070},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {gUnknown_08DB808C, gUnknown_08DB8138},
- {gUnknown_08DB8160, gUnknown_08DB8218},
- {gUnknown_08DB823C, gUnknown_08DB8300},
- {gUnknown_08DB8328, gUnknown_08DB8430},
- {gUnknown_08DB8458, gUnknown_08DB8528},
- {gUnknown_08DB854C, gUnknown_08DB862C},
- {gUnknown_08DB8654, gUnknown_08DB86C4},
- {gUnknown_08DB86E0, gUnknown_08DB8750},
- {gUnknown_08DB876C, gUnknown_08DB87DC},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {gUnknown_08DB87F8, gUnknown_08DB88D8},
- {gUnknown_08DB8900, gUnknown_08DB89E0},
- {gUnknown_08DB8A08, gUnknown_08DB8A68},
- {gUnknown_08DB8A84, gUnknown_08DB8B40},
- {NULL, NULL},
- {NULL, NULL},
- {gUnknown_08DB8B68, gUnknown_08DB8C40},
- {gUnknown_08DB8C5C, gUnknown_08DB8CF4},
- {NULL, NULL},
- {gUnknown_08DB8D18, gUnknown_08DB8DB0},
- {gUnknown_08DB8DD4, gUnknown_08DB8E80},
- {NULL, NULL},
- {NULL, NULL},
- {gUnknown_08DB8EA0, gUnknown_08DB8F58},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {gUnknown_08DB8F7C, gUnknown_08DB9038},
- {gUnknown_08DB9058, gUnknown_08DB9130},
- {gUnknown_08DB9154, gUnknown_08DB9218},
- {gUnknown_08DB9234, gUnknown_08DB92FC},
- {gUnknown_08DB931C, gUnknown_08DB93E8},
- {gUnknown_08DB940C, gUnknown_08DB94CC},
- {gUnknown_08DB94E8, gUnknown_08DB95AC},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {NULL, NULL},
- {gUnknown_08DB95D0, gUnknown_08DB96C4},
- {gUnknown_08DB96EC, gUnknown_08DB97F4},
- {gUnknown_08DB981C, gUnknown_08DB9908},
- {gUnknown_08DB9930, gUnknown_08DB9A54},
- {gUnknown_08DB9A7C, gUnknown_08DB9B7C},
- {gUnknown_08DB9BA4, gUnknown_08DB9CB0},
- {gUnknown_08DB9CD8, gUnknown_08DB9DAC},
- {gUnknown_08DB9F08, gUnknown_08DB9FFC},
- {gUnknown_08DB9DD4, gUnknown_08DB9EE4},
- {gUnknown_08DBA020, gUnknown_08DBA12C}
+const u32 *const gDecorIconTable[][2] =
+{
+ [DECOR_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [DECOR_SMALL_DESK] = {NULL, NULL},
+ [DECOR_POKEMON_DESK] = {NULL, NULL},
+ [DECOR_HEAVY_DESK] = {gDecorIcon_HeavyDesk, gDecorIconPalette_HeavyDesk},
+ [DECOR_RAGGED_DESK] = {gDecorIcon_RaggedDesk, gDecorIconPalette_RaggedDesk},
+ [DECOR_COMFORT_DESK] = {gDecorIcon_ComfortDesk, gDecorIconPalette_ComfortDesk},
+ [DECOR_PRETTY_DESK] = {gDecorIcon_PrettyDesk, gDecorIconPalette_PrettyDesk},
+ [DECOR_BRICK_DESK] = {gDecorIcon_BrickDesk, gDecorIconPalette_BrickDesk},
+ [DECOR_CAMP_DESK] = {gDecorIcon_CampDesk, gDecorIconPalette_CampDesk},
+ [DECOR_HARD_DESK] = {gDecorIcon_HardDesk, gDecorIconPalette_HardDesk},
+ [DECOR_SMALL_CHAIR] = {NULL, NULL},
+ [DECOR_POKEMON_CHAIR] = {NULL, NULL},
+ [DECOR_HEAVY_CHAIR] = {NULL, NULL},
+ [DECOR_PRETTY_CHAIR] = {NULL, NULL},
+ [DECOR_COMFORT_CHAIR] = {NULL, NULL},
+ [DECOR_RAGGED_CHAIR] = {NULL, NULL},
+ [DECOR_BRICK_CHAIR] = {NULL, NULL},
+ [DECOR_CAMP_CHAIR] = {NULL, NULL},
+ [DECOR_HARD_CHAIR] = {NULL, NULL},
+ [DECOR_RED_PLANT] = {gDecorIcon_RedPlant, gDecorIconPalette_RedPlant},
+ [DECOR_TROPICAL_PLANT] = {gDecorIcon_TropicalPlant, gDecorIconPalette_TropicalPlant},
+ [DECOR_PRETTY_FLOWERS] = {gDecorIcon_PrettyFlowers, gDecorIconPalette_PrettyFlowers},
+ [DECOR_COLORFUL_PLANT] = {gDecorIcon_ColorfulPlant, gDecorIconPalette_ColorfulPlant},
+ [DECOR_BIG_PLANT] = {gDecorIcon_BigPlant, gDecorIconPalette_BigPlant},
+ [DECOR_GORGEOUS_PLANT] = {gDecorIcon_GorgeousPlant, gDecorIconPalette_GorgeousPlant},
+ [DECOR_RED_BRICK] = {gDecorIcon_RedBrick, gDecorIconPalette_RedBrick},
+ [DECOR_YELLOW_BRICK] = {gDecorIcon_YellowBrick, gDecorIconPalette_YellowBrick},
+ [DECOR_BLUE_BRICK] = {gDecorIcon_BlueBrick, gDecorIconPalette_BlueBrick},
+ [DECOR_RED_BALLOON] = {NULL, NULL},
+ [DECOR_BLUE_BALLOON] = {NULL, NULL},
+ [DECOR_YELLOW_BALLOON] = {NULL, NULL},
+ [DECOR_RED_TENT] = {gDecorIcon_RedTent, gDecorIconPalette_RedTent},
+ [DECOR_BLUE_TENT] = {gDecorIcon_BlueTent, gDecorIconPalette_BlueTent},
+ [DECOR_SOLID_BOARD] = {gDecorIcon_SolidBoard, gDecorIconPalette_SolidBoard},
+ [DECOR_SLIDE] = {gDecorIcon_Slide, gDecorIconPalette_Slide},
+ [DECOR_FENCE_LENGTH] = {NULL, NULL},
+ [DECOR_FENCE_WIDTH] = {NULL, NULL},
+ [DECOR_TIRE] = {gDecorIcon_Tire, gDecorIconPalette_Tire},
+ [DECOR_STAND] = {gDecorIcon_Stand, gDecorIconPalette_Stand},
+ [DECOR_MUD_BALL] = {NULL, NULL},
+ [DECOR_BREAKABLE_DOOR] = {gDecorIcon_BreakableDoor, gDecorIconPalette_BreakableDoor},
+ [DECOR_SAND_ORNAMENT] = {gDecorIcon_SandOrnament, gDecorIconPalette_SandOrnament},
+ [DECOR_SILVER_SHIELD] = {NULL, NULL},
+ [DECOR_GOLD_SHIELD] = {NULL, NULL},
+ [DECOR_GLASS_ORNAMENT] = {gDecorIcon_GlassOrnament, gDecorIconPalette_GlassOrnament},
+ [DECOR_TV] = {NULL, NULL},
+ [DECOR_ROUND_TV] = {NULL, NULL},
+ [DECOR_CUTE_TV] = {NULL, NULL},
+ [DECOR_GLITTER_MAT] = {NULL, NULL},
+ [DECOR_JUMP_MAT] = {NULL, NULL},
+ [DECOR_SPIN_MAT] = {NULL, NULL},
+ [DECOR_C_LOW_NOTE_MAT] = {NULL, NULL},
+ [DECOR_D_NOTE_MAT] = {NULL, NULL},
+ [DECOR_E_NOTE_MAT] = {NULL, NULL},
+ [DECOR_F_NOTE_MAT] = {NULL, NULL},
+ [DECOR_G_NOTE_MAT] = {NULL, NULL},
+ [DECOR_A_NOTE_MAT] = {NULL, NULL},
+ [DECOR_B_NOTE_MAT] = {NULL, NULL},
+ [DECOR_C_HIGH_NOTE_MAT] = {NULL, NULL},
+ [DECOR_SURF_MAT] = {gDecorIcon_SurfMat, gDecorIconPalette_SurfMat},
+ [DECOR_THUNDER_MAT] = {gDecorIcon_ThunderMat, gDecorIconPalette_ThunderMat},
+ [DECOR_FIRE_BLAST_MAT] = {gDecorIcon_FireBlastMat, gDecorIconPalette_FireBlastMat},
+ [DECOR_POWDER_SNOW_MAT] = {gDecorIcon_PowderSnowMat, gDecorIconPalette_PowderSnowMat},
+ [DECOR_ATTRACT_MAT] = {gDecorIcon_AttractMat, gDecorIconPalette_AttractMat},
+ [DECOR_FISSURE_MAT] = {gDecorIcon_FissureMat, gDecorIconPalette_FissureMat},
+ [DECOR_SPIKES_MAT] = {gDecorIcon_SpikesMat, gDecorIconPalette_SpikesMat},
+ [DECOR_BALL_POSTER] = {NULL, NULL},
+ [DECOR_GREEN_POSTER] = {NULL, NULL},
+ [DECOR_RED_POSTER] = {NULL, NULL},
+ [DECOR_BLUE_POSTER] = {NULL, NULL},
+ [DECOR_CUTE_POSTER] = {NULL, NULL},
+ [DECOR_PIKA_POSTER] = {NULL, NULL},
+ [DECOR_LONG_POSTER] = {NULL, NULL},
+ [DECOR_SEA_POSTER] = {NULL, NULL},
+ [DECOR_SKY_POSTER] = {NULL, NULL},
+ [DECOR_KISS_POSTER] = {NULL, NULL},
+ [DECOR_PICHU_DOLL] = {NULL, NULL},
+ [DECOR_PIKACHU_DOLL] = {NULL, NULL},
+ [DECOR_MARILL_DOLL] = {NULL, NULL},
+ [DECOR_TOGEPI_DOLL] = {NULL, NULL},
+ [DECOR_CYNDAQUIL_DOLL] = {NULL, NULL},
+ [DECOR_CHIKORITA_DOLL] = {NULL, NULL},
+ [DECOR_TOTODILE_DOLL] = {NULL, NULL},
+ [DECOR_JIGGLYPUFF_DOLL] = {NULL, NULL},
+ [DECOR_MEOWTH_DOLL] = {NULL, NULL},
+ [DECOR_CLEFAIRY_DOLL] = {NULL, NULL},
+ [DECOR_DITTO_DOLL] = {NULL, NULL},
+ [DECOR_SMOOCHUM_DOLL] = {NULL, NULL},
+ [DECOR_TREECKO_DOLL] = {NULL, NULL},
+ [DECOR_TORCHIC_DOLL] = {NULL, NULL},
+ [DECOR_MUDKIP_DOLL] = {NULL, NULL},
+ [DECOR_DUSKULL_DOLL] = {NULL, NULL},
+ [DECOR_WYNAUT_DOLL] = {NULL, NULL},
+ [DECOR_BALTOY_DOLL] = {NULL, NULL},
+ [DECOR_KECLEON_DOLL] = {NULL, NULL},
+ [DECOR_AZURILL_DOLL] = {NULL, NULL},
+ [DECOR_SKITTY_DOLL] = {NULL, NULL},
+ [DECOR_SWABLU_DOLL] = {NULL, NULL},
+ [DECOR_GULPIN_DOLL] = {NULL, NULL},
+ [DECOR_LOTAD_DOLL] = {NULL, NULL},
+ [DECOR_SEEDOT_DOLL] = {NULL, NULL},
+ [DECOR_PIKA_CUSHION] = {NULL, NULL},
+ [DECOR_ROUND_CUSHION] = {NULL, NULL},
+ [DECOR_KISS_CUSHION] = {NULL, NULL},
+ [DECOR_ZIGZAG_CUSHION] = {NULL, NULL},
+ [DECOR_SPIN_CUSHION] = {NULL, NULL},
+ [DECOR_DIAMOND_CUSHION] = {NULL, NULL},
+ [DECOR_BALL_CUSHION] = {NULL, NULL},
+ [DECOR_GRASS_CUSHION] = {NULL, NULL},
+ [DECOR_FIRE_CUSHION] = {NULL, NULL},
+ [DECOR_WATER_CUSHION] = {NULL, NULL},
+ [DECOR_SNORLAX_DOLL] = {gDecorIcon_SnorlaxDoll, gDecorIconPalette_SnorlaxDoll},
+ [DECOR_RHYDON_DOLL] = {gDecorIcon_RhydonDoll, gDecorIconPalette_RhydonDoll},
+ [DECOR_LAPRAS_DOLL] = {gDecorIcon_LaprasDoll, gDecorIconPalette_LaprasDoll},
+ [DECOR_VENUSAUR_DOLL] = {gDecorIcon_VenusaurDoll, gDecorIconPalette_VenusaurDoll},
+ [DECOR_CHARIZARD_DOLL] = {gDecorIcon_CharizardDoll, gDecorIconPalette_CharizardDoll},
+ [DECOR_BLASTOISE_DOLL] = {gDecorIcon_BlastoiseDoll, gDecorIconPalette_BlastoiseDoll},
+ [DECOR_WAILMER_DOLL] = {gDecorIcon_WailmerDoll, gDecorIconPalette_WailmerDoll},
+ [DECOR_REGIROCK_DOLL] = {gDecorIcon_RegirockDoll, gDecorIconPalette_RegirockDoll},
+ [DECOR_REGICE_DOLL] = {gDecorIcon_RegiceDoll, gDecorIconPalette_RegiceDoll},
+ [DECOR_REGISTEEL_DOLL] = {gDecorIcon_RegisteelDoll, gDecorIconPalette_RegisteelDoll}
};
diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h
index f7f1f33ba..1702392ca 100755
--- a/src/data/field_event_obj/event_object_graphics.h
+++ b/src/data/field_event_obj/event_object_graphics.h
@@ -326,7 +326,7 @@ const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics
const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp");
const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal");
const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash.4bpp");
-const u32 gFieldEffectObjectPic_Unknown33[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33.4bpp");
+const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/event_objects/pics/effects/lavaridge_gym_warp.4bpp");
const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles.4bpp");
const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35.4bpp");
const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal");
diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h
index 0b8aa79b2..661539d57 100755
--- a/src/data/field_event_obj/event_object_graphics_info_pointers.h
+++ b/src/data/field_event_obj/event_object_graphics_info_pointers.h
@@ -489,11 +489,11 @@ const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] =
};
const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = {
- &gEventObjectGraphicsInfo_Bard,
- &gEventObjectGraphicsInfo_Hipster,
- &gEventObjectGraphicsInfo_Trader,
- &gEventObjectGraphicsInfo_Storyteller,
- &gEventObjectGraphicsInfo_Giddy,
- &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
- &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
+ [MAUVILLE_MAN_BARD] = &gEventObjectGraphicsInfo_Bard,
+ [MAUVILLE_MAN_HIPSTER] = &gEventObjectGraphicsInfo_Hipster,
+ [MAUVILLE_MAN_TRADER] = &gEventObjectGraphicsInfo_Trader,
+ [MAUVILLE_MAN_STORYTELLER] = &gEventObjectGraphicsInfo_Storyteller,
+ [MAUVILLE_MAN_GIDDY] = &gEventObjectGraphicsInfo_Giddy,
+ [MAUVILLE_MAN_UNUSED1] = &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
+ [MAUVILLE_MAN_UNUSED2] = &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
};
diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/field_event_obj/event_object_subsprites.h
index 5da262731..0b4a80f72 100755
--- a/src/data/field_event_obj/event_object_subsprites.h
+++ b/src/data/field_event_obj/event_object_subsprites.h
@@ -1,24 +1,80 @@
const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = {
- { -8, -8, 0, 1, 0, 2}
+ {
+ .x = -8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_1[] = {
- { -8, -8, 0, 1, 0, 1}
+ {
+ .x = -8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 1
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_2[] = {
- { -8, -8, 1, 0, 0, 2},
- { -8, 0, 1, 0, 2, 3}
+ {
+ .x = -8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -8,
+ .y = 0,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 2,
+ .priority = 3
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_3[] = {
- { -8, -8, 0, 1, 0, 2},
- { -8, -8, 0, 1, 0, 3}
+ {
+ .x = -8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 3
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x16_4[] = {
- { -8, -8, 0, 1, 0, 1},
- { -8, -8, 0, 1, 0, 3}
+ {
+ .x = -8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = -8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 3
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_16x16[] = {
@@ -31,27 +87,90 @@ const struct SubspriteTable gEventObjectSpriteOamTables_16x16[] = {
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_0[] = {
- { -8, -16, 2, 2, 0, 2}
+ {
+ .x = -8,
+ .y = -16,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_1[] = {
- { -8, -16, 2, 2, 0, 1}
+ {
+ .x = -8,
+ .y = -16,
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .tileOffset = 0,
+ .priority = 1
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_2[] = {
- { -8, -16, 0, 1, 0, 2},
- { -8, 0, 1, 0, 4, 2},
- { -8, 8, 1, 0, 6, 3}
+ {
+ .x = -8,
+ .y = -16,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -8,
+ .y = 0,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 4,
+ .priority = 2
+ },
+ {
+ .x = -8,
+ .y = 8,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 6,
+ .priority = 3
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_3[] = {
- { -8, -16, 0, 1, 0, 2},
- { -8, 0, 0, 1, 4, 3}
+ {
+ .x = -8,
+ .y = -16,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -8,
+ .y = 0,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 4,
+ .priority = 3
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_16x32_4[] = {
- { -8, -16, 0, 1, 0, 1},
- { -8, 0, 0, 1, 4, 3}
+ {
+ .x = -8,
+ .y = -16,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = -8,
+ .y = 0,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
+ .tileOffset = 4,
+ .priority = 3
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_16x32[] = {
@@ -64,27 +183,90 @@ const struct SubspriteTable gEventObjectSpriteOamTables_16x32[] = {
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_0[] = {
- {-16, -16, 0, 2, 0, 2}
+ {
+ .x = -16,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_1[] = {
- {-16, -16, 0, 2, 0, 1}
+ {
+ .x = -16,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .tileOffset = 0,
+ .priority = 1
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_2[] = {
- {-16, -16, 1, 2, 0, 2},
- {-16, 0, 1, 1, 8, 2},
- {-16, 8, 1, 1, 12, 3}
+ {
+ .x = -16,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 8,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 3
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_3[] = {
- {-16, -16, 1, 2, 0, 2},
- {-16, 0, 1, 2, 8, 3}
+ {
+ .x = -16,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
+ .tileOffset = 8,
+ .priority = 3
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_32x32_4[] = {
- {-16, -16, 1, 2, 0, 1},
- {-16, 0, 1, 2, 8, 3}
+ {
+ .x = -16,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
+ .tileOffset = 8,
+ .priority = 3
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_32x32[] = {
@@ -97,18 +279,102 @@ const struct SubspriteTable gEventObjectSpriteOamTables_32x32[] = {
};
const struct Subsprite gEventObjectSpriteOamTable_Truck_0[] = {
- {-24, -24, 1, 1, 0, 2},
- { 8, -24, 1, 0, 4, 2},
- {-24, -16, 1, 1, 6, 2},
- { 8, -16, 1, 0, 10, 2},
- {-24, -8, 1, 1, 12, 2},
- { 8, -8, 1, 0, 16, 2},
- {-24, 0, 1, 1, 18, 2},
- { 8, 0, 1, 0, 22, 2},
- {-24, 8, 1, 1, 24, 2},
- { 8, 8, 1, 0, 28, 2},
- {-24, 16, 1, 1, 30, 2},
- { 8, 16, 1, 0, 34, 2}
+ {
+ .x = -24,
+ .y = -24,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = 8,
+ .y = -24,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 4,
+ .priority = 2
+ },
+ {
+ .x = -24,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 6,
+ .priority = 2
+ },
+ {
+ .x = 8,
+ .y = -16,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 10,
+ .priority = 2
+ },
+ {
+ .x = -24,
+ .y = -8,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 2
+ },
+ {
+ .x = 8,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 16,
+ .priority = 2
+ },
+ {
+ .x = -24,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 18,
+ .priority = 2
+ },
+ {
+ .x = 8,
+ .y = 0,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 22,
+ .priority = 2
+ },
+ {
+ .x = -24,
+ .y = 8,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 24,
+ .priority = 2
+ },
+ {
+ .x = 8,
+ .y = 8,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 28,
+ .priority = 2
+ },
+ {
+ .x = -24,
+ .y = 16,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 30,
+ .priority = 2
+ },
+ {
+ .x = 8,
+ .y = 16,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 34,
+ .priority = 2
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_Truck[] = {
@@ -121,19 +387,47 @@ const struct SubspriteTable gEventObjectSpriteOamTables_Truck[] = {
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_0[] = {
- {-32, -16, 1, 3, 0, 2}
+ {
+ .x = -32,
+ .y = -16,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_1[] = {
- {-32, -16, 1, 3, 0, 1}
+ {
+ .x = -32,
+ .y = -16,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 1
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_2[] = {
- {-32, -16, 1, 3, 0, 2}
+ {
+ .x = -32,
+ .y = -16,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_Unused_3[] = {
- {-32, -16, 1, 3, 0, 2}
+ {
+ .x = -32,
+ .y = -16,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_Unused[] = {
@@ -146,19 +440,47 @@ const struct SubspriteTable gEventObjectSpriteOamTables_Unused[] = {
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_0[] = {
- {-32, -32, 0, 3, 0, 2}
+ {
+ .x = -32,
+ .y = -32,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_1[] = {
- {-32, -32, 0, 3, 0, 1}
+ {
+ .x = -32,
+ .y = -32,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
+ .tileOffset = 0,
+ .priority = 1
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_2[] = {
- {-32, -32, 0, 3, 0, 2}
+ {
+ .x = -32,
+ .y = -32,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_64x64_3[] = {
- {-32, -32, 0, 3, 0, 2}
+ {
+ .x = -32,
+ .y = -32,
+ .shape = SPRITE_SHAPE(64x64),
+ .size = SPRITE_SIZE(64x64),
+ .tileOffset = 0,
+ .priority = 2
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_64x64[] = {
@@ -171,75 +493,495 @@ const struct SubspriteTable gEventObjectSpriteOamTables_64x64[] = {
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_0[] = {
- {-48, -20, 1, 1, 0, 2},
- {-16, -20, 1, 1, 4, 2},
- { 16, -20, 1, 1, 8, 2},
- {-48, -12, 1, 1, 12, 2},
- {-16, -12, 1, 1, 16, 2},
- { 16, -12, 1, 1, 20, 2},
- {-48, -4, 1, 1, 24, 2},
- {-16, -4, 1, 1, 28, 2},
- { 16, -4, 1, 1, 32, 2},
- {-48, 4, 1, 1, 36, 2},
- {-16, 4, 1, 1, 40, 2},
- { 16, 4, 1, 1, 44, 2},
- {-48, 12, 1, 1, 48, 2},
- {-16, 12, 1, 1, 52, 2},
- { 16, 12, 1, 1, 56, 2}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 16,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 20,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 24,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 28,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 32,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 36,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 40,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 44,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 48,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 52,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 56,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_1[] = {
- {-48, -20, 1, 1, 0, 1},
- {-16, -20, 1, 1, 4, 1},
- { 16, -20, 1, 1, 8, 1},
- {-48, -12, 1, 1, 12, 1},
- {-16, -12, 1, 1, 16, 1},
- { 16, -12, 1, 1, 20, 1},
- {-48, -4, 1, 1, 24, 1},
- {-16, -4, 1, 1, 28, 1},
- { 16, -4, 1, 1, 32, 1},
- {-48, 4, 1, 1, 36, 1},
- {-16, 4, 1, 1, 40, 1},
- { 16, 4, 1, 1, 44, 1},
- {-48, 12, 1, 1, 48, 1},
- {-16, 12, 1, 1, 52, 1},
- { 16, 12, 1, 1, 56, 1}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 16,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 20,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 24,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 28,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 32,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 36,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 40,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 44,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 48,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 52,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 56,
+ .priority = 1
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_2[] = {
- {-48, -20, 1, 1, 0, 2},
- {-16, -20, 1, 1, 4, 2},
- { 16, -20, 1, 1, 8, 2},
- {-48, -12, 1, 1, 12, 2},
- {-16, -12, 1, 1, 16, 2},
- { 16, -12, 1, 1, 20, 2},
- {-48, -4, 1, 1, 24, 2},
- {-16, -4, 1, 1, 28, 2},
- { 16, -4, 1, 1, 32, 2},
- {-48, 4, 1, 1, 36, 2},
- {-16, 4, 1, 1, 40, 2},
- { 16, 4, 1, 1, 44, 2},
- {-48, 12, 1, 1, 48, 2},
- {-16, 12, 1, 1, 52, 2},
- { 16, 12, 1, 1, 56, 2}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 16,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 20,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 24,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 28,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 32,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 36,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 40,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 44,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 48,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 52,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 56,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_SSTidal_3[] = {
- {-48, -20, 1, 1, 0, 1},
- {-16, -20, 1, 1, 4, 1},
- { 16, -20, 1, 1, 8, 1},
- {-48, -12, 1, 1, 12, 1},
- {-16, -12, 1, 1, 16, 1},
- { 16, -12, 1, 1, 20, 1},
- {-48, -4, 1, 1, 24, 2},
- {-16, -4, 1, 1, 28, 2},
- { 16, -4, 1, 1, 32, 2},
- {-48, 4, 1, 1, 36, 2},
- {-16, 4, 1, 1, 40, 2},
- { 16, 4, 1, 1, 44, 2},
- {-48, 12, 1, 1, 48, 2},
- {-16, 12, 1, 1, 52, 2},
- { 16, 12, 1, 1, 56, 2}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 16,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 20,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 24,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 28,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 32,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 36,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 40,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 44,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 48,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 52,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 56,
+ .priority = 2
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_SSTidal[] = {
@@ -252,79 +994,527 @@ const struct SubspriteTable gEventObjectSpriteOamTables_SSTidal[] = {
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_0[] = {
- {-48, -20, 1, 1, 0, 2},
- {-16, -20, 1, 1, 4, 2},
- { 16, -20, 1, 0, 8, 2},
- { 32, -20, 0, 0, 10, 2},
- {-48, -12, 1, 1, 11, 2},
- {-16, -12, 1, 1, 15, 2},
- { 16, -12, 1, 0, 19, 2},
- { 32, -12, 0, 0, 21, 2},
- {-48, -4, 1, 1, 22, 2},
- {-16, -4, 1, 1, 26, 2},
- { 16, -4, 1, 0, 30, 2},
- { 32, -4, 0, 0, 32, 2},
- {-48, 4, 1, 1, 33, 2},
- {-16, 4, 1, 1, 37, 2},
- { 16, 4, 1, 0, 41, 2},
- { 32, 4, 0, 0, 43, 2}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 8,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = -20,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 10,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 11,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 15,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 19,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = -12,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 21,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 22,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 26,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 30,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = -4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 32,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 33,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 37,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 41,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = 4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 43,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_1[] = {
- {-48, -20, 1, 1, 0, 1},
- {-16, -20, 1, 1, 4, 1},
- { 16, -20, 1, 0, 8, 1},
- { 32, -20, 0, 0, 10, 1},
- {-48, -12, 1, 1, 11, 1},
- {-16, -12, 1, 1, 15, 1},
- { 16, -12, 1, 0, 19, 1},
- { 32, -12, 0, 0, 21, 1},
- {-48, -4, 1, 1, 22, 1},
- {-16, -4, 1, 1, 26, 1},
- { 16, -4, 1, 0, 30, 1},
- { 32, -4, 0, 0, 32, 1},
- {-48, 4, 1, 1, 33, 1},
- {-16, 4, 1, 1, 37, 1},
- { 16, 4, 1, 0, 41, 1},
- { 32, 4, 0, 0, 43, 1}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = -20,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 10,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 11,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 15,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 19,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = -12,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 21,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 22,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 26,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 30,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = -4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 32,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 33,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 37,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 41,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = 4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 43,
+ .priority = 1
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_2[] = {
- {-48, -20, 1, 1, 0, 2},
- {-16, -20, 1, 1, 4, 2},
- { 16, -20, 1, 0, 8, 2},
- { 32, -20, 0, 0, 10, 2},
- {-48, -12, 1, 1, 11, 2},
- {-16, -12, 1, 1, 15, 2},
- { 16, -12, 1, 0, 19, 2},
- { 32, -12, 0, 0, 21, 2},
- {-48, -4, 1, 1, 22, 2},
- {-16, -4, 1, 1, 26, 2},
- { 16, -4, 1, 0, 30, 2},
- { 32, -4, 0, 0, 32, 2},
- {-48, 4, 1, 1, 33, 2},
- {-16, 4, 1, 1, 37, 2},
- { 16, 4, 1, 0, 41, 2},
- { 32, 4, 0, 0, 43, 2}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 8,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = -20,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 10,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 11,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 15,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 19,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = -12,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 21,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 22,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 26,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 30,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = -4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 32,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 33,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 37,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 41,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = 4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 43,
+ .priority = 2
+ }
};
const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_3[] = {
- {-48, -20, 1, 1, 0, 1},
- {-16, -20, 1, 1, 4, 1},
- { 16, -20, 1, 0, 8, 1},
- { 32, -20, 0, 0, 10, 1},
- {-48, -12, 1, 1, 11, 1},
- {-16, -12, 1, 1, 15, 1},
- { 16, -12, 1, 0, 19, 1},
- { 32, -12, 0, 0, 21, 1},
- {-48, -4, 1, 1, 22, 2},
- {-16, -4, 1, 1, 26, 2},
- { 16, -4, 1, 0, 30, 2},
- { 32, -4, 0, 0, 32, 2},
- {-48, 4, 1, 1, 33, 2},
- {-16, 4, 1, 1, 37, 2},
- { 16, 4, 1, 0, 41, 2},
- { 32, 4, 0, 0, 43, 2}
+ {
+ .x = -48,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -20,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 8,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = -20,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 10,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 11,
+ .priority = 1
+ },
+ {
+ .x = -16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 15,
+ .priority = 1
+ },
+ {
+ .x = 16,
+ .y = -12,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 19,
+ .priority = 1
+ },
+ {
+ .x = 32,
+ .y = -12,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 21,
+ .priority = 1
+ },
+ {
+ .x = -48,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 22,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 26,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = -4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 30,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = -4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 32,
+ .priority = 2
+ },
+ {
+ .x = -48,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 33,
+ .priority = 2
+ },
+ {
+ .x = -16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 37,
+ .priority = 2
+ },
+ {
+ .x = 16,
+ .y = 4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 41,
+ .priority = 2
+ },
+ {
+ .x = 32,
+ .y = 4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 43,
+ .priority = 2
+ }
};
const struct SubspriteTable gEventObjectSpriteOamTables_SubmarineShadow[] = {
diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h
index 32d2b069a..de39e6db3 100755
--- a/src/data/field_event_obj/field_effect_object_template_pointers.h
+++ b/src/data/field_event_obj/field_effect_object_template_pointers.h
@@ -31,7 +31,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass;
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater;
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh;
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33;
+const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp;
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35;
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza;
@@ -70,7 +70,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
&gFieldEffectObjectTemplate_ShortGrass,
&gFieldEffectObjectTemplate_HotSpringsWater,
&gFieldEffectObjectTemplate_JumpOutOfAsh,
- &gFieldEffectObjectTemplate_Unknown33,
+ &gFieldEffectObjectTemplate_LavaridgeGymWarp,
&gFieldEffectObjectTemplate_Bubbles,
&gFieldEffectObjectTemplate_Unknown35,
&gFieldEffectObjectTemplate_Rayquaza,
diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h
index a3944de36..d28357765 100755
--- a/src/data/field_event_obj/field_effect_objects.h
+++ b/src/data/field_event_obj/field_effect_objects.h
@@ -892,19 +892,28 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_JumpOutOfAsh[] =
gFieldEffectObjectImageAnim_850D54C,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC};
+const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gEventObjectBaseOam_16x16,
+ .anims = gFieldEffectObjectImageAnimTable_JumpOutOfAsh,
+ .images = gFieldEffectObjectPicTable_JumpOutOfAsh,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_PopOutOfAsh
+};
const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D};
-const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = {
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 0),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 1),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 2),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 3),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 4),
+const struct SpriteFrameImage gFieldEffectObjectPicTable_LavaridgeGymWarp[] = {
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 0),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 1),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 2),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 3),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 4),
};
-const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] =
+const union AnimCmd gFieldEffectObjectImageAnim_LavaridgeGymWarp[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
@@ -914,12 +923,21 @@ const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] =
ANIMCMD_END,
};
-const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] =
+const union AnimCmd *const gFieldEffectObjectImageAnimTable_LavaridgeGymWarp[] =
{
- gFieldEffectObjectImageAnim_850D5B0,
+ gFieldEffectObjectImageAnim_LavaridgeGymWarp,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58};
+const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gEventObjectBaseOam_16x16,
+ .anims = gFieldEffectObjectImageAnimTable_LavaridgeGymWarp,
+ .images = gFieldEffectObjectPicTable_LavaridgeGymWarp,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_LavaridgeGymWarp
+};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = {
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 0),
diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h
index 712988f5e..8e136b58b 100755
--- a/src/data/field_event_obj/movement_action_func_tables.h
+++ b/src/data/field_event_obj/movement_action_func_tables.h
@@ -170,8 +170,8 @@ u8 MovementAction_SetFixedPriority_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_ClearFixedPriority_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_InitAffineAnim_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_ClearAffineAnim_Step0(struct EventObject *, struct Sprite *);
-u8 MovementAction_Unknown1_Step0(struct EventObject *, struct Sprite *);
-u8 MovementAction_Unknown2_Step0(struct EventObject *, struct Sprite *);
+u8 MovementAction_HideReflection_Step0(struct EventObject *, struct Sprite *);
+u8 MovementAction_ShowReflection_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *, struct Sprite *);
u8 MovementAction_WalkDownAffine_Step0(struct EventObject *, struct Sprite *);
@@ -358,8 +358,8 @@ u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct
u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *);
u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *);
u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *);
-u8 (*const gMovementActionFuncs_Unknown1[])(struct EventObject *, struct Sprite *);
-u8 (*const gMovementActionFuncs_Unknown2[])(struct EventObject *, struct Sprite *);
+u8 (*const gMovementActionFuncs_HideReflection[])(struct EventObject *, struct Sprite *);
+u8 (*const gMovementActionFuncs_ShowReflection[])(struct EventObject *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *);
@@ -518,8 +518,8 @@ u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *)
[MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY] = gMovementActionFuncs_ClearFixedPriority,
[MOVEMENT_ACTION_INIT_AFFINE_ANIM] = gMovementActionFuncs_InitAffineAnim,
[MOVEMENT_ACTION_CLEAR_AFFINE_ANIM] = gMovementActionFuncs_ClearAffineAnim,
- [MOVEMENT_ACTION_UNKNOWN1] = gMovementActionFuncs_Unknown1,
- [MOVEMENT_ACTION_UNKNOWN2] = gMovementActionFuncs_Unknown2,
+ [MOVEMENT_ACTION_HIDE_REFLECTION] = gMovementActionFuncs_HideReflection,
+ [MOVEMENT_ACTION_SHOW_REFLECTION] = gMovementActionFuncs_ShowReflection,
[MOVEMENT_ACTION_WALK_DOWN_START_AFFINE] = gMovementActionFuncs_WalkDownStartAffine,
[MOVEMENT_ACTION_WALK_DOWN_AFFINE] = gMovementActionFuncs_WalkDownAffine,
[MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN] = gMovementActionFuncs_AcroWheelieFaceDown,
@@ -1197,13 +1197,13 @@ u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct
MovementAction_Finish,
};
-u8 (*const gMovementActionFuncs_Unknown1[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Unknown1_Step0,
+u8 (*const gMovementActionFuncs_HideReflection[])(struct EventObject *, struct Sprite *) = {
+ MovementAction_HideReflection_Step0,
MovementAction_Finish,
};
-u8 (*const gMovementActionFuncs_Unknown2[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Unknown2_Step0,
+u8 (*const gMovementActionFuncs_ShowReflection[])(struct EventObject *, struct Sprite *) = {
+ MovementAction_ShowReflection_Step0,
MovementAction_Finish,
};
diff --git a/src/data/graphics/decorations.h b/src/data/graphics/decorations.h
index 62d86d48e..d8b865fcf 100644
--- a/src/data/graphics/decorations.h
+++ b/src/data/graphics/decorations.h
@@ -1,125 +1,125 @@
-const u32 gUnknown_08DB7AA0[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz");
-const u32 gUnknown_08DB7B34[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz");
+const u32 gDecorIcon_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz");
+const u32 gDecorIconPalette_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz");
-const u32 gUnknown_08DB7B5C[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz");
-const u32 gUnknown_08DB7BEC[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz");
+const u32 gDecorIcon_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz");
+const u32 gDecorIconPalette_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz");
-const u32 gUnknown_08DB7C08[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz");
-const u32 gUnknown_08DB7CE8[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz");
+const u32 gDecorIcon_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz");
+const u32 gDecorIconPalette_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz");
-const u32 gUnknown_08DB7D08[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz");
-const u32 gUnknown_08DB7DCC[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz");
+const u32 gDecorIcon_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz");
+const u32 gDecorIconPalette_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz");
-const u32 gUnknown_08DB7DF4[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz");
-const u32 gUnknown_08DB7EA0[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz");
+const u32 gDecorIcon_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz");
+const u32 gDecorIconPalette_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz");
-const u32 gUnknown_08DB7EC4[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz");
-const u32 gUnknown_08DB7F60[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz");
+const u32 gDecorIcon_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz");
+const u32 gDecorIconPalette_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz");
-const u32 gUnknown_08DB7F7C[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz");
-const u32 gUnknown_08DB8070[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz");
+const u32 gDecorIcon_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz");
+const u32 gDecorIconPalette_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz");
-const u32 gUnknown_08DB808C[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz");
-const u32 gUnknown_08DB8138[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz");
+const u32 gDecorIcon_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz");
+const u32 gDecorIconPalette_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz");
-const u32 gUnknown_08DB8160[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz");
-const u32 gUnknown_08DB8218[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz");
+const u32 gDecorIcon_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz");
+const u32 gDecorIconPalette_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz");
-const u32 gUnknown_08DB823C[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz");
-const u32 gUnknown_08DB8300[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz");
+const u32 gDecorIcon_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz");
+const u32 gDecorIconPalette_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz");
-const u32 gUnknown_08DB8328[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz");
-const u32 gUnknown_08DB8430[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz");
+const u32 gDecorIcon_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz");
+const u32 gDecorIconPalette_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz");
-const u32 gUnknown_08DB8458[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz");
-const u32 gUnknown_08DB8528[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz");
+const u32 gDecorIcon_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz");
+const u32 gDecorIconPalette_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz");
-const u32 gUnknown_08DB854C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz");
-const u32 gUnknown_08DB862C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz");
+const u32 gDecorIcon_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz");
+const u32 gDecorIconPalette_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz");
-const u32 gUnknown_08DB8654[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz");
-const u32 gUnknown_08DB86C4[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz");
+const u32 gDecorIcon_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz");
+const u32 gDecorIconPalette_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz");
-const u32 gUnknown_08DB86E0[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz");
-const u32 gUnknown_08DB8750[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz");
+const u32 gDecorIcon_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz");
+const u32 gDecorIconPalette_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz");
-const u32 gUnknown_08DB876C[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz");
-const u32 gUnknown_08DB87DC[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz");
+const u32 gDecorIcon_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz");
+const u32 gDecorIconPalette_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz");
-const u32 gUnknown_08DB87F8[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz");
-const u32 gUnknown_08DB88D8[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz");
+const u32 gDecorIcon_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz");
+const u32 gDecorIconPalette_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz");
-const u32 gUnknown_08DB8900[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz");
-const u32 gUnknown_08DB89E0[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz");
+const u32 gDecorIcon_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz");
+const u32 gDecorIconPalette_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz");
-const u32 gUnknown_08DB8A08[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz");
-const u32 gUnknown_08DB8A68[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz");
+const u32 gDecorIcon_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz");
+const u32 gDecorIconPalette_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz");
-const u32 gUnknown_08DB8A84[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz");
-const u32 gUnknown_08DB8B40[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz");
+const u32 gDecorIcon_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz");
+const u32 gDecorIconPalette_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz");
-const u32 gUnknown_08DB8B68[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz");
-const u32 gUnknown_08DB8C40[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz");
+const u32 gDecorIcon_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz");
+const u32 gDecorIconPalette_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz");
-const u32 gUnknown_08DB8C5C[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz");
-const u32 gUnknown_08DB8CF4[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz");
+const u32 gDecorIcon_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz");
+const u32 gDecorIconPalette_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz");
-const u32 gUnknown_08DB8D18[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz");
-const u32 gUnknown_08DB8DB0[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz");
+const u32 gDecorIcon_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz");
+const u32 gDecorIconPalette_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz");
-const u32 gUnknown_08DB8DD4[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz");
-const u32 gUnknown_08DB8E80[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz");
+const u32 gDecorIcon_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz");
+const u32 gDecorIconPalette_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz");
-const u32 gUnknown_08DB8EA0[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz");
-const u32 gUnknown_08DB8F58[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz");
+const u32 gDecorIcon_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz");
+const u32 gDecorIconPalette_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz");
-const u32 gUnknown_08DB8F7C[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz");
-const u32 gUnknown_08DB9038[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz");
+const u32 gDecorIcon_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz");
+const u32 gDecorIconPalette_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz");
-const u32 gUnknown_08DB9058[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz");
-const u32 gUnknown_08DB9130[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz");
+const u32 gDecorIcon_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz");
+const u32 gDecorIconPalette_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz");
-const u32 gUnknown_08DB9154[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz");
-const u32 gUnknown_08DB9218[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz");
+const u32 gDecorIcon_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz");
+const u32 gDecorIconPalette_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz");
-const u32 gUnknown_08DB9234[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz");
-const u32 gUnknown_08DB92FC[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz");
+const u32 gDecorIcon_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz");
+const u32 gDecorIconPalette_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz");
-const u32 gUnknown_08DB931C[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz");
-const u32 gUnknown_08DB93E8[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz");
+const u32 gDecorIcon_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz");
+const u32 gDecorIconPalette_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz");
-const u32 gUnknown_08DB940C[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz");
-const u32 gUnknown_08DB94CC[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz");
+const u32 gDecorIcon_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz");
+const u32 gDecorIconPalette_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz");
-const u32 gUnknown_08DB94E8[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz");
-const u32 gUnknown_08DB95AC[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz");
+const u32 gDecorIcon_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz");
+const u32 gDecorIconPalette_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz");
-const u32 gUnknown_08DB95D0[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz");
-const u32 gUnknown_08DB96C4[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz");
+const u32 gDecorIcon_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz");
+const u32 gDecorIconPalette_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz");
-const u32 gUnknown_08DB96EC[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz");
-const u32 gUnknown_08DB97F4[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz");
+const u32 gDecorIcon_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz");
+const u32 gDecorIconPalette_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz");
-const u32 gUnknown_08DB981C[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz");
-const u32 gUnknown_08DB9908[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz");
+const u32 gDecorIcon_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz");
+const u32 gDecorIconPalette_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz");
-const u32 gUnknown_08DB9930[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz");
-const u32 gUnknown_08DB9A54[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz");
+const u32 gDecorIcon_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz");
+const u32 gDecorIconPalette_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz");
-const u32 gUnknown_08DB9A7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz");
-const u32 gUnknown_08DB9B7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz");
+const u32 gDecorIcon_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz");
+const u32 gDecorIconPalette_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz");
-const u32 gUnknown_08DB9BA4[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz");
-const u32 gUnknown_08DB9CB0[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz");
+const u32 gDecorIcon_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz");
+const u32 gDecorIconPalette_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz");
-const u32 gUnknown_08DB9CD8[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz");
-const u32 gUnknown_08DB9DAC[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz");
+const u32 gDecorIcon_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz");
+const u32 gDecorIconPalette_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz");
-const u32 gUnknown_08DB9DD4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz");
-const u32 gUnknown_08DB9EE4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz");
+const u32 gDecorIcon_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz");
+const u32 gDecorIconPalette_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz");
-const u32 gUnknown_08DB9F08[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz");
-const u32 gUnknown_08DB9FFC[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz");
+const u32 gDecorIcon_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz");
+const u32 gDecorIconPalette_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz");
-const u32 gUnknown_08DBA020[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz");
-const u32 gUnknown_08DBA12C[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz");
+const u32 gDecorIcon_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz");
+const u32 gDecorIconPalette_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz");
diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h
index 07415949d..45e34030f 100644
--- a/src/data/graphics/pokemon.h
+++ b/src/data/graphics/pokemon.h
@@ -572,12 +572,12 @@ const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/sh
const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp");
const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp");
-const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/front.4bpp.lz");
-const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/normal.gbapal.lz");
-const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/back.4bpp.lz");
-const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/shiny.gbapal.lz");
-const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/icon.4bpp");
-const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/footprint.1bpp");
+const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/front.4bpp.lz");
+const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/normal.gbapal.lz");
+const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/back.4bpp.lz");
+const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/shiny.gbapal.lz");
+const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/icon.4bpp");
+const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/footprint.1bpp");
const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/front.4bpp.lz");
const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz");
diff --git a/src/data/party_menu.h b/src/data/party_menu.h
new file mode 100644
index 000000000..3c3a3e1ce
--- /dev/null
+++ b/src/data/party_menu.h
@@ -0,0 +1,1255 @@
+static const struct BgTemplate sPartyMenuBgTemplates[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 28,
+ .screenSize = 1,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+};
+
+enum
+{
+ PARTY_BOX_LEFT_COLUMN,
+ PARTY_BOX_RIGHT_COLUMN
+};
+
+static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
+{
+ [PARTY_BOX_LEFT_COLUMN] =
+ {
+ BlitBitmapToPartyWindow_LeftColumn,
+ {
+ //The below are the x, y, width, and height for each of the following info
+ 24, 11, 40, 13, // Nickname
+ 32, 20, 32, 8, // Level
+ 64, 20, 8, 8, // Gender
+ 38, 37, 24, 8, // HP
+ 53, 37, 24, 8, // Max HP
+ 24, 35, 48, 3 // HP bar
+ },
+ 12, 34, 64, 16 // Description text (e.g. NO USE)
+ },
+ [PARTY_BOX_RIGHT_COLUMN] =
+ {
+ BlitBitmapToPartyWindow_RightColumn,
+ {
+ // See above comment
+ 22, 3, 40, 13, // Nickname
+ 30, 12, 32, 8, // Level
+ 62, 12, 8, 8, // Gender
+ 102, 12, 24, 8, // HP
+ 117, 12, 24, 8, // Max HP
+ 88, 10, 48, 3 // HP bar
+ },
+ 77, 4, 64, 16 // Description text
+ },
+};
+
+
+// Each layout array has an array for each of the 6 party slots
+// The array for each slot has the sprite coords of its various sprites in the following order
+// Pokemon icon (x, y), held item (x, y), status condition (x, y), menu pokeball (x, y)
+static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
+{
+ [PARTY_LAYOUT_SINGLE] =
+ {
+ { 16, 40, 20, 50, 50, 52, 16, 34},
+ {104, 18, 108, 28, 136, 27, 102, 25},
+ {104, 42, 108, 52, 136, 51, 102, 49},
+ {104, 66, 108, 76, 136, 75, 102, 73},
+ {104, 90, 108, 100, 136, 99, 102, 97},
+ {104, 114, 108, 124, 136, 123, 102, 121},
+ },
+ [PARTY_LAYOUT_DOUBLE] =
+ {
+ {16, 24, 20, 34, 50, 36, 16, 18},
+ {16, 80, 20, 90, 50, 92, 16, 74},
+ {104, 18, 108, 28, 136, 27, 102, 25},
+ {104, 50, 108, 60, 136, 59, 102, 57},
+ {104, 82, 108, 92, 136, 91, 102, 89},
+ {104, 114, 108, 124, 136, 123, 102, 121},
+ },
+ [PARTY_LAYOUT_MULTI] =
+ {
+ {16, 24, 20, 34, 50, 36, 16, 18},
+ {16, 80, 20, 90, 50, 92, 16, 74},
+ {104, 26, 106, 36, 136, 35, 102, 33},
+ {104, 50, 106, 60, 136, 59, 102, 57},
+ {104, 82, 106, 92, 136, 91, 102, 89},
+ {104, 106, 106, 116, 136, 115, 102, 113},
+ },
+ [PARTY_LAYOUT_MULTI_SHOWCASE] =
+ {
+ {16, 32, 20, 42, 50, 44, 16, 26},
+ {104, 34, 106, 44, 136, 43, 102, 41},
+ {104, 58, 106, 68, 136, 67, 102, 65},
+ {16, 104, 20, 114, 50, 116, 16, 98},
+ {104, 106, 106, 116, 136, 115, 102, 113},
+ {104, 130, 106, 140, 136, 139, 102, 137},
+ },
+};
+
+// Used only when both Cancel and Confirm are present
+static const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_confirm_button.bin");
+static const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_cancel_button.bin");
+
+// Text colors for BG, FG, and Shadow in that order
+static const u8 sFontColorTable[][3] =
+{
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_DARK_GREY}, // Default
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_GREEN}, // Unused
+ {TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3}, // Gender symbol
+ {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}, // Selection actions
+ {TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE}, // Field moves
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, // Unused
+};
+
+static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 3,
+ .width = 10,
+ .height = 7,
+ .paletteNum = 3,
+ .baseBlock = 0x63,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 1,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 4,
+ .baseBlock = 0xA9,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 4,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 5,
+ .baseBlock = 0xDF,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 7,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 6,
+ .baseBlock = 0x115,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 10,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 7,
+ .baseBlock = 0x14B,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 13,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 8,
+ .baseBlock = 0x181,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 15,
+ .width = 28,
+ .height = 4,
+ .paletteNum = 14,
+ .baseBlock = 0x1DF,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct WindowTemplate sDoublePartyMenuWindowTemplate[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 10,
+ .height = 7,
+ .paletteNum = 3,
+ .baseBlock = 0x63,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 8,
+ .width = 10,
+ .height = 7,
+ .paletteNum = 4,
+ .baseBlock = 0xA9,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 1,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 5,
+ .baseBlock = 0xEF,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 5,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 6,
+ .baseBlock = 0x125,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 9,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 7,
+ .baseBlock = 0x15B,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 13,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 8,
+ .baseBlock = 0x191,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 15,
+ .width = 28,
+ .height = 4,
+ .paletteNum = 14,
+ .baseBlock = 0x1DF,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct WindowTemplate sMultiPartyMenuWindowTemplate[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 10,
+ .height = 7,
+ .paletteNum = 3,
+ .baseBlock = 0x63,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 8,
+ .width = 10,
+ .height = 7,
+ .paletteNum = 4,
+ .baseBlock = 0xA9,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 2,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 5,
+ .baseBlock = 0xEF,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 5,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 6,
+ .baseBlock = 0x125,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 9,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 7,
+ .baseBlock = 0x15B,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 12,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 8,
+ .baseBlock = 0x191,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 15,
+ .width = 28,
+ .height = 4,
+ .paletteNum = 14,
+ .baseBlock = 0x1DF,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct WindowTemplate sShowcaseMultiPartyMenuWindowTemplate[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 2,
+ .width = 10,
+ .height = 7,
+ .paletteNum = 3,
+ .baseBlock = 0x63,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 3,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 5,
+ .baseBlock = 0xA9,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 12,
+ .tilemapTop = 6,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 6,
+ .baseBlock = 0xDF,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 11,
+ .width = 10,
+ .height = 7,
+ .paletteNum = 4,
+ .baseBlock = 0x115,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 12,
+ .tilemapTop = 12,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 7,
+ .baseBlock = 0x16B,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 12,
+ .tilemapTop = 15,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 8,
+ .baseBlock = 0x1A1,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct WindowTemplate sCancelButtonWindowTemplate =
+{
+ .bg = 0,
+ .tilemapLeft = 24,
+ .tilemapTop = 17,
+ .width = 6,
+ .height = 2,
+ .paletteNum = 3,
+ .baseBlock = 0x1C7,
+};
+
+static const struct WindowTemplate sMultiCancelButtonWindowTemplate =
+{
+ .bg = 0,
+ .tilemapLeft = 24,
+ .tilemapTop = 18,
+ .width = 6,
+ .height = 2,
+ .paletteNum = 3,
+ .baseBlock = 0x1C7,
+};
+
+static const struct WindowTemplate sConfirmButtonWindowTemplate =
+{
+ .bg = 0,
+ .tilemapLeft = 24,
+ .tilemapTop = 16,
+ .width = 6,
+ .height = 2,
+ .paletteNum = 3,
+ .baseBlock = 0x1D3,
+};
+
+static const struct WindowTemplate sDefaultPartyMsgWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 17,
+ .width = 21,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x24F,
+};
+
+static const struct WindowTemplate sDoWhatWithMonMsgWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 17,
+ .width = 16,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x279,
+};
+
+static const struct WindowTemplate sDoWhatWithItemMsgWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 17,
+ .width = 20,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x299,
+};
+
+static const struct WindowTemplate sDoWhatWithMailMsgWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 17,
+ .width = 18,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x299,
+};
+
+static const struct WindowTemplate sWhichMoveMsgWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 17,
+ .width = 16,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x299,
+};
+
+static const struct WindowTemplate sAlreadyHoldingOneMsgWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 1,
+ .tilemapTop = 15,
+ .width = 20,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x299,
+};
+
+static const struct WindowTemplate sItemGiveTakeWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 23,
+ .tilemapTop = 13,
+ .width = 6,
+ .height = 6,
+ .paletteNum = 14,
+ .baseBlock = 0x39D,
+};
+
+static const struct WindowTemplate sMailReadTakeWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 21,
+ .tilemapTop = 13,
+ .width = 8,
+ .height = 6,
+ .paletteNum = 14,
+ .baseBlock = 0x39D,
+};
+
+static const struct WindowTemplate sMoveSelectWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 19,
+ .tilemapTop = 11,
+ .width = 10,
+ .height = 8,
+ .paletteNum = 14,
+ .baseBlock = 0x2E9,
+};
+
+static const struct WindowTemplate sPartyMenuYesNoWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 21,
+ .tilemapTop = 9,
+ .width = 5,
+ .height = 4,
+ .paletteNum = 14,
+ .baseBlock = 0x2E9,
+};
+
+static const struct WindowTemplate sLevelUpStatsWindowTemplate =
+{
+ .bg = 2,
+ .tilemapLeft = 19,
+ .tilemapTop = 1,
+ .width = 10,
+ .height = 11,
+ .paletteNum = 14,
+ .baseBlock = 0x2E9,
+};
+
+static const struct WindowTemplate sUnusedWindowTemplate_08615978 =
+{
+ .bg = 2,
+ .tilemapLeft = 2,
+ .tilemapTop = 15,
+ .width = 27,
+ .height = 4,
+ .paletteNum = 14,
+ .baseBlock = 0x1DF,
+};
+
+static const struct WindowTemplate sUnusedWindowTemplate_08615980 =
+{
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 13,
+ .width = 18,
+ .height = 3,
+ .paletteNum = 12,
+ .baseBlock = 0x39D,
+};
+
+// Tile nums
+static const u8 sMainSlotTileNums[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
+ 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
+ 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
+ 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
+ 40, 59, 60, 58, 58, 58, 58, 58, 58, 61,
+ 15, 16, 16, 16, 16, 16, 16, 16, 16, 17,
+ 46, 47, 47, 47, 47, 47, 47, 47, 47, 48};
+
+static const u8 sMainSlotTileNums_Egg[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
+ 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
+ 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
+ 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
+ 40, 41, 41, 41, 41, 41, 41, 41, 41, 42,
+ 15, 16, 16, 16, 16, 16, 16, 16, 16, 17,
+ 46, 47, 47, 47, 47, 47, 47, 47, 47, 48};
+
+static const u8 sOtherSlotsTileNums[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
+ 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54,
+ 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57};
+
+static const u8 sOtherSlotsTileNums_Egg[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
+ 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50,
+ 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57};
+
+static const u8 sEmptySlotTileNums[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
+ 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
+ 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39};
+
+// Palette offsets
+static const u8 sGenderPalOffsets[] = {11, 12};
+static const u8 sHPBarPalOffsets[] = {9, 10};
+static const u8 sPartyBoxPalOffsets1[] = {4, 5, 6};
+static const u8 sPartyBoxPalOffsets2[] = {1, 7, 8};
+static const u8 sPartyBoxNoMonPalOffsets[] = {1, 11, 12};
+
+// Palette ids
+static const u8 sGenderMalePalIds[] = {59, 60};
+static const u8 sGenderFemalePalIds[] = {75, 76};
+static const u8 sHPBarGreenPalIds[] = {57, 58};
+static const u8 sHPBarYellowPalIds[] = {73, 74};
+static const u8 sHPBarRedPalIds[] = {89, 90};
+static const u8 sPartyBoxEmptySlotPalIds1[] = {52, 53, 54};
+static const u8 sPartyBoxMultiPalIds1[] = {68, 69, 70};
+static const u8 sPartyBoxFaintedPalIds1[] = {84, 85, 86};
+static const u8 sPartyBoxCurrSelectionPalIds1[] = {116, 117, 118};
+static const u8 sPartyBoxCurrSelectionMultiPalIds[] = {132, 133, 134};
+static const u8 sPartyBoxCurrSelectionFaintedPalIds[] = {148, 149, 150};
+static const u8 sPartyBoxSelectedForActionPalIds1[] = {100, 101, 102};
+static const u8 sPartyBoxEmptySlotPalIds2[] = {49, 55, 56};
+static const u8 sPartyBoxMultiPalIds2[] = {65, 71, 72};
+static const u8 sPartyBoxFaintedPalIds2[] = {81, 87, 88};
+static const u8 sPartyBoxCurrSelectionPalIds2[] = {97, 103, 104};
+static const u8 sPartyBoxSelectedForActionPalIds2[] = {161, 167, 168};
+static const u8 sPartyBoxNoMonPalIds[] = {17, 27, 28};
+
+static const u8 *const sActionStringTable[] =
+{
+ [PARTY_MSG_CHOOSE_MON] = gText_ChoosePokemon,
+ [PARTY_MSG_CHOOSE_MON_OR_CANCEL] = gText_ChoosePokemonCancel,
+ [PARTY_MSG_CHOOSE_MON_AND_CONFIRM] = gText_ChoosePokemonConfirm,
+ [PARTY_MSG_MOVE_TO_WHERE] = gText_MoveToWhere,
+ [PARTY_MSG_TEACH_WHICH_MON] = gText_TeachWhichPokemon,
+ [PARTY_MSG_USE_ON_WHICH_MON] = gText_UseOnWhichPokemon,
+ [PARTY_MSG_GIVE_TO_WHICH_MON] = gText_GiveToWhichPokemon,
+ [PARTY_MSG_NOTHING_TO_CUT] = gText_NothingToCut,
+ [PARTY_MSG_CANT_SURF_HERE] = gText_CantSurfHere,
+ [PARTY_MSG_ALREADY_SURFING] = gText_AlreadySurfing,
+ [PARTY_MSG_CURRENT_TOO_FAST] = gText_CurrentIsTooFast,
+ [PARTY_MSG_ENJOY_CYCLING] = gText_EnjoyCycling,
+ [PARTY_MSG_ALREADY_IN_USE] = gText_InUseAlready_PM,
+ [PARTY_MSG_CANT_USE_HERE] = gText_CantUseHere,
+ [PARTY_MSG_NO_MON_FOR_BATTLE] = gText_NoPokemonForBattle,
+ [PARTY_MSG_CHOOSE_MON_2] = gText_ChoosePokemon2,
+ [PARTY_MSG_NOT_ENOUGH_HP] = gText_NotEnoughHp,
+ [PARTY_MSG_X_MONS_ARE_NEEDED] = gText_PokemonAreNeeded,
+ [PARTY_MSG_MONS_CANT_BE_SAME] = gText_PokemonCantBeSame,
+ [PARTY_MSG_NO_SAME_HOLD_ITEMS] = gText_NoIdenticalHoldItems,
+ [PARTY_MSG_UNUSED] = gText_EmptyString2,
+ [PARTY_MSG_DO_WHAT_WITH_MON] = gText_DoWhatWithPokemon,
+ [PARTY_MSG_RESTORE_WHICH_MOVE] = gText_RestoreWhichMove,
+ [PARTY_MSG_BOOST_PP_WHICH_MOVE] = gText_BoostPp,
+ [PARTY_MSG_DO_WHAT_WITH_ITEM] = gText_DoWhatWithItem,
+ [PARTY_MSG_DO_WHAT_WITH_MAIL] = gText_DoWhatWithMail,
+ [PARTY_MSG_ALREADY_HOLDING_ONE] = gText_AlreadyHoldingOne,
+};
+
+static const u8 *const sDescriptionStringTable[] =
+{
+ [PARTYBOX_DESC_NO_USE] = gText_NoUse,
+ [PARTYBOX_DESC_ABLE_3] = gText_Able,
+ [PARTYBOX_DESC_FIRST] = gText_First_PM,
+ [PARTYBOX_DESC_SECOND] = gText_Second_PM,
+ [PARTYBOX_DESC_THIRD] = gText_Third_PM,
+ [PARTYBOX_DESC_FOURTH] = gText_Fourth,
+ [PARTYBOX_DESC_ABLE] = gText_Able2,
+ [PARTYBOX_DESC_NOT_ABLE] = gText_NotAble,
+ [PARTYBOX_DESC_ABLE_2] = gText_Able3,
+ [PARTYBOX_DESC_NOT_ABLE_2] = gText_NotAble2,
+ [PARTYBOX_DESC_LEARNED] = gText_Learned,
+ [PARTYBOX_DESC_HAVE] = gText_Have,
+ [PARTYBOX_DESC_DONT_HAVE] = gText_DontHave,
+};
+
+static const u16 sUnused_08615B94[] =
+{
+ 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071,
+ 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068,
+ 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d,
+ 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123,
+};
+
+enum
+{
+ MENU_SUMMARY,
+ MENU_SWITCH,
+ MENU_CANCEL1,
+ MENU_ITEM,
+ MENU_GIVE,
+ MENU_TAKE_ITEM,
+ MENU_MAIL,
+ MENU_TAKE_MAIL,
+ MENU_READ,
+ MENU_CANCEL2,
+ MENU_SHIFT,
+ MENU_SEND_OUT,
+ MENU_ENTER,
+ MENU_NO_ENTRY,
+ MENU_STORE,
+ MENU_REGISTER,
+ MENU_TRADE1,
+ MENU_TRADE2,
+ MENU_TOSS,
+ MENU_FIELD_MOVES,
+};
+
+enum
+{
+ FIELD_MOVE_CUT,
+ FIELD_MOVE_FLASH,
+ FIELD_MOVE_ROCK_SMASH,
+ FIELD_MOVE_STRENGTH,
+ FIELD_MOVE_SURF,
+ FIELD_MOVE_FLY,
+ FIELD_MOVE_DIVE,
+ FIELD_MOVE_WATERFALL,
+ FIELD_MOVE_TELEPORT,
+ FIELD_MOVE_DIG,
+ FIELD_MOVE_SECRET_POWER,
+ FIELD_MOVE_MILK_DRINK,
+ FIELD_MOVE_SOFT_BOILED,
+ FIELD_MOVE_SWEET_SCENT,
+};
+
+// What a weird choice of table termination;
+#define FIELD_MOVE_TERMINATOR MOVE_SWORDS_DANCE
+
+struct
+{
+ const u8 *text;
+ TaskFunc func;
+} static const sCursorOptions[] =
+{
+ [MENU_SUMMARY] = {gText_Summary5, CursorCb_Summary},
+ [MENU_SWITCH] = {gText_Switch2, CursorCb_Switch},
+ [MENU_CANCEL1] = {gText_Cancel2, CursorCb_Cancel1},
+ [MENU_ITEM] = {gText_Item, CursorCb_Item},
+ [MENU_GIVE] = {gMenuText_Give, CursorCb_Give},
+ [MENU_TAKE_ITEM] = {gText_Take, CursorCb_TakeItem},
+ [MENU_MAIL] = {gText_Mail, CursorCb_Mail},
+ [MENU_TAKE_MAIL] = {gText_Take2, CursorCb_TakeMail},
+ [MENU_READ] = {gText_Read2, CursorCb_Read},
+ [MENU_CANCEL2] = {gText_Cancel2, CursorCb_Cancel2},
+ [MENU_SHIFT] = {gText_Shift, CursorCb_SendMon},
+ [MENU_SEND_OUT] = {gText_SendOut, CursorCb_SendMon},
+ [MENU_ENTER] = {gText_Enter, CursorCb_Enter},
+ [MENU_NO_ENTRY] = {gText_NoEntry, CursorCb_NoEntry},
+ [MENU_STORE] = {gText_Store, CursorCb_Store},
+ [MENU_REGISTER] = {gText_Register, CursorCb_Register},
+ [MENU_TRADE1] = {gText_Trade4, CursorCb_Trade1},
+ [MENU_TRADE2] = {gText_Trade4, CursorCb_Trade2},
+ [MENU_TOSS] = {gMenuText_Toss, CursorCb_Toss},
+ [MENU_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_DIVE] = {gMoveNames[MOVE_DIVE], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_SECRET_POWER] = {gMoveNames[MOVE_SECRET_POWER], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCb_FieldMove},
+ [MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCb_FieldMove},
+};
+
+static const u8 sPartyMenuAction_SummarySwitchCancel[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1};
+static const u8 sPartyMenuAction_ShiftSummaryCancel[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_SendOutSummaryCancel[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_SummaryCancel[] = {MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_EnterSummaryCancel[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_NoEntrySummaryCancel[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_StoreSummaryCancel[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_GiveTakeItemCancel[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2};
+static const u8 sPartyMenuAction_ReadTakeMailCancel[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2};
+static const u8 sPartyMenuAction_RegisterSummaryCancel[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_TradeSummaryCancel1[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_TradeSummaryCancel2[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1};
+static const u8 sPartyMenuAction_TakeItemTossCancel[] = {MENU_TAKE_ITEM, MENU_TOSS, MENU_CANCEL1};
+
+// IDs for the action lists that appear when a party mon is selected
+enum
+{
+ ACTIONS_NONE,
+ ACTIONS_SWITCH,
+ ACTIONS_SHIFT,
+ ACTIONS_SEND_OUT,
+ ACTIONS_ENTER,
+ ACTIONS_NO_ENTRY,
+ ACTIONS_STORE,
+ ACTIONS_SUMMARY_ONLY,
+ ACTIONS_ITEM,
+ ACTIONS_MAIL,
+ ACTIONS_REGISTER,
+ ACTIONS_TRADE,
+ ACTIONS_SPIN_TRADE,
+ ACTIONS_TAKEITEM_TOSS
+};
+
+static const u8 *const sPartyMenuActions[] =
+{
+ [ACTIONS_NONE] = NULL,
+ [ACTIONS_SWITCH] = sPartyMenuAction_SummarySwitchCancel,
+ [ACTIONS_SHIFT] = sPartyMenuAction_ShiftSummaryCancel,
+ [ACTIONS_SEND_OUT] = sPartyMenuAction_SendOutSummaryCancel,
+ [ACTIONS_ENTER] = sPartyMenuAction_EnterSummaryCancel,
+ [ACTIONS_NO_ENTRY] = sPartyMenuAction_NoEntrySummaryCancel,
+ [ACTIONS_STORE] = sPartyMenuAction_StoreSummaryCancel,
+ [ACTIONS_SUMMARY_ONLY] = sPartyMenuAction_SummaryCancel,
+ [ACTIONS_ITEM] = sPartyMenuAction_GiveTakeItemCancel,
+ [ACTIONS_MAIL] = sPartyMenuAction_ReadTakeMailCancel,
+ [ACTIONS_REGISTER] = sPartyMenuAction_RegisterSummaryCancel,
+ [ACTIONS_TRADE] = sPartyMenuAction_TradeSummaryCancel1,
+ [ACTIONS_SPIN_TRADE] = sPartyMenuAction_TradeSummaryCancel2,
+ [ACTIONS_TAKEITEM_TOSS] = sPartyMenuAction_TakeItemTossCancel,
+};
+
+static const u8 sPartyMenuActionCounts[] =
+{
+ [ACTIONS_NONE] = 0,
+ [ACTIONS_SWITCH] = ARRAY_COUNT(sPartyMenuAction_SummarySwitchCancel),
+ [ACTIONS_SHIFT] = ARRAY_COUNT(sPartyMenuAction_ShiftSummaryCancel),
+ [ACTIONS_SEND_OUT] = ARRAY_COUNT(sPartyMenuAction_SendOutSummaryCancel),
+ [ACTIONS_ENTER] = ARRAY_COUNT(sPartyMenuAction_EnterSummaryCancel),
+ [ACTIONS_NO_ENTRY] = ARRAY_COUNT(sPartyMenuAction_NoEntrySummaryCancel),
+ [ACTIONS_STORE] = ARRAY_COUNT(sPartyMenuAction_StoreSummaryCancel),
+ [ACTIONS_SUMMARY_ONLY] = ARRAY_COUNT(sPartyMenuAction_SummaryCancel),
+ [ACTIONS_ITEM] = ARRAY_COUNT(sPartyMenuAction_GiveTakeItemCancel),
+ [ACTIONS_MAIL] = ARRAY_COUNT(sPartyMenuAction_ReadTakeMailCancel),
+ [ACTIONS_REGISTER] = ARRAY_COUNT(sPartyMenuAction_RegisterSummaryCancel),
+ [ACTIONS_TRADE] = ARRAY_COUNT(sPartyMenuAction_TradeSummaryCancel1),
+ [ACTIONS_SPIN_TRADE] = ARRAY_COUNT(sPartyMenuAction_TradeSummaryCancel2),
+ [ACTIONS_TAKEITEM_TOSS] = ARRAY_COUNT(sPartyMenuAction_TakeItemTossCancel)
+};
+
+static const u16 sFieldMoves[] =
+{
+ MOVE_CUT, MOVE_FLASH, MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, MOVE_FLY, MOVE_DIVE, MOVE_WATERFALL, MOVE_TELEPORT,
+ MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_TERMINATOR
+};
+
+struct
+{
+ bool8 (*fieldMoveFunc)(void);
+ u8 msgId;
+} static const sFieldMoveCursorCallbacks[] =
+{
+ [FIELD_MOVE_CUT] = {SetUpFieldMove_Cut, PARTY_MSG_NOTHING_TO_CUT},
+ [FIELD_MOVE_FLASH] = {SetUpFieldMove_Flash, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_ROCK_SMASH] = {SetUpFieldMove_RockSmash, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_STRENGTH] = {SetUpFieldMove_Strength, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_SURF] = {SetUpFieldMove_Surf, PARTY_MSG_CANT_SURF_HERE},
+ [FIELD_MOVE_FLY] = {SetUpFieldMove_Fly, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_DIVE] = {SetUpFieldMove_Dive, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_WATERFALL] = {SetUpFieldMove_Waterfall, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_TELEPORT] = {SetUpFieldMove_Teleport, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_DIG] = {SetUpFieldMove_Dig, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_SECRET_POWER] = {SetUpFieldMove_SecretPower, PARTY_MSG_CANT_USE_HERE},
+ [FIELD_MOVE_MILK_DRINK] = {SetUpFieldMove_SoftBoiled, PARTY_MSG_NOT_ENOUGH_HP},
+ [FIELD_MOVE_SOFT_BOILED] = {SetUpFieldMove_SoftBoiled, PARTY_MSG_NOT_ENOUGH_HP},
+ [FIELD_MOVE_SWEET_SCENT] = {SetUpFieldMove_SweetScent, PARTY_MSG_CANT_USE_HERE},
+};
+
+static const u8 *const sUnionRoomTradeMessages[] =
+{
+ [UR_TRADE_MSG_NOT_MON_PARTNER_WANTS - 1] = gText_NotPkmnOtherTrainerWants,
+ [UR_TRADE_MSG_NOT_EGG - 1] = gText_ThatIsntAnEgg,
+ [UR_TRADE_MSG_MON_CANT_BE_TRADED_1 - 1] = gText_PkmnCantBeTradedNow,
+ [UR_TRADE_MSG_MON_CANT_BE_TRADED_2 - 1] = gText_PkmnCantBeTradedNow,
+ [UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED - 1] = gText_OtherTrainersPkmnCantBeTraded,
+ [UR_TRADE_MSG_EGG_CANT_BE_TRADED -1] = gText_EggCantBeTradedNow,
+ [UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON - 1] = gText_OtherTrainerCantAcceptPkmn,
+ [UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 - 1] = gText_CantTradeWithTrainer,
+ [UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 - 1] = gText_CantTradeWithTrainer,
+};
+
+static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp");
+static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal");
+
+static const struct OamData sOamData_HeldItem =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd sSpriteAnim_HeldItem[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_HeldMail[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_HeldItem[] =
+{
+ sSpriteAnim_HeldItem,
+ sSpriteAnim_HeldMail,
+};
+
+static const struct SpriteSheet sSpriteSheet_HeldItem =
+{
+ sHeldItemGfx, sizeof(sHeldItemGfx), 0xd750
+};
+
+static const struct SpritePalette sSpritePalette_HeldItem =
+{
+ sHeldItemPalette, 0xd750
+};
+
+static const struct SpriteTemplate sSpriteTemplate_HeldItem =
+{
+ 0xd750,
+ 0xd750,
+ &sOamData_HeldItem,
+ sSpriteAnimTable_HeldItem,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+static const struct OamData sOamData_MenuPokeball =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sPokeballAnim_Closed[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sPokeballAnim_Open[] =
+{
+ ANIMCMD_FRAME(16, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_MenuPokeball[] =
+{
+ sPokeballAnim_Closed,
+ sPokeballAnim_Open
+};
+
+static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball =
+{
+ gPartyMenuPokeball_Gfx, 0x400, 0x04b0
+};
+
+static const struct CompressedSpritePalette sSpritePalette_MenuPokeball =
+{
+ gPartyMenuPokeball_Pal, 0x04b0
+};
+
+// Used for the pokeball sprite on each party slot / Cancel button
+static const struct SpriteTemplate sSpriteTemplate_MenuPokeball =
+{
+ .tileTag = 0x04b0,
+ .paletteTag = 0x04b0,
+ .oam = &sOamData_MenuPokeball,
+ .anims = sSpriteAnimTable_MenuPokeball,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct OamData sOamData_MenuPokeballSmall =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSmallPokeballAnim_Closed[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSmallPokeballAnim_Open[] =
+{
+ ANIMCMD_FRAME(4, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSmallPokeballAnim_Blank1[] =
+{
+ ANIMCMD_FRAME(8, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSmallPokeballAnim_Blank2[] =
+{
+ ANIMCMD_FRAME(12, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSmallPokeballAnim_Blank3[] =
+{
+ ANIMCMD_FRAME(16, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSmallPokeballAnim_Blank4[] =
+{
+ ANIMCMD_FRAME(20, 0),
+ ANIMCMD_END
+};
+
+// The blanks below are never used. See SpriteCB_BounceConfirmCancelButton, where they were intended to be used
+static const union AnimCmd *const sSpriteAnimTable_MenuPokeballSmall[] =
+{
+ sSmallPokeballAnim_Closed,
+ sSmallPokeballAnim_Open,
+ sSmallPokeballAnim_Blank1,
+ sSmallPokeballAnim_Blank2,
+ sSmallPokeballAnim_Blank3,
+ sSmallPokeballAnim_Blank4
+};
+
+static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall =
+{
+ gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1
+};
+
+// Used for the pokeball sprite next to Cancel and Confirm when both are present, otherwise sSpriteTemplate_MenuPokeball is used
+static const struct SpriteTemplate sSpriteTemplate_MenuPokeballSmall =
+{
+ .tileTag = 1201,
+ .paletteTag = 1200,
+ .oam = &sOamData_MenuPokeballSmall,
+ .anims = sSpriteAnimTable_MenuPokeballSmall,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct OamData sOamData_StatusCondition =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_StatusPoison[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_StatusParalyzed[] =
+{
+ ANIMCMD_FRAME(4, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_StatusSleep[] =
+{
+ ANIMCMD_FRAME(8, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_StatusFrozen[] =
+{
+ ANIMCMD_FRAME(12, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_StatusBurn[] =
+{
+ ANIMCMD_FRAME(16, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_StatusPokerus[] =
+{
+ ANIMCMD_FRAME(20, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_StatusFaint[] =
+{
+ ANIMCMD_FRAME(24, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_Blank[] =
+{
+ ANIMCMD_FRAME(28, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteTemplate_StatusCondition[] =
+{
+ sSpriteAnim_StatusPoison,
+ sSpriteAnim_StatusParalyzed,
+ sSpriteAnim_StatusSleep,
+ sSpriteAnim_StatusFrozen,
+ sSpriteAnim_StatusBurn,
+ sSpriteAnim_StatusPokerus,
+ sSpriteAnim_StatusFaint,
+ sSpriteAnim_Blank
+};
+
+static const struct CompressedSpriteSheet sSpriteSheet_StatusIcons =
+{
+ gStatusGfx_Icons, 0x400, 1202
+};
+
+static const struct CompressedSpritePalette sSpritePalette_StatusIcons =
+{
+ gStatusPal_Icons, 1202
+};
+
+static const struct SpriteTemplate sSpriteTemplate_StatusIcons =
+{
+ .tileTag = 1202,
+ .paletteTag = 1202,
+ .oam = &sOamData_StatusCondition,
+ .anims = sSpriteTemplate_StatusCondition,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+// Mask for the partners party in a multi battle. TRUE if in the partners party, FALSE otherwise
+// The 7th slot is Cancel, and the 8th slot is unreachable
+// Used only to determine whether or not to show the Deoxys form icon sprite
+static const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
+{
+ FALSE,
+ TRUE,
+ FALSE,
+ FALSE,
+ TRUE,
+ TRUE,
+ FALSE
+};
+
+static const u8 *const sUnused_StatStrings[] =
+{
+ gText_HP4,
+ gText_Attack3,
+ gText_Defense3,
+ gText_SpAtk4,
+ gText_SpDef4,
+ gText_Speed2
+};
+
+static const u16 sTMHMMoves[] =
+{
+ MOVE_FOCUS_PUNCH,
+ MOVE_DRAGON_CLAW,
+ MOVE_WATER_PULSE,
+ MOVE_CALM_MIND,
+ MOVE_ROAR,
+ MOVE_TOXIC,
+ MOVE_HAIL,
+ MOVE_BULK_UP,
+ MOVE_BULLET_SEED,
+ MOVE_HIDDEN_POWER,
+ MOVE_SUNNY_DAY,
+ MOVE_TAUNT,
+ MOVE_ICE_BEAM,
+ MOVE_BLIZZARD,
+ MOVE_HYPER_BEAM,
+ MOVE_LIGHT_SCREEN,
+ MOVE_PROTECT,
+ MOVE_RAIN_DANCE,
+ MOVE_GIGA_DRAIN,
+ MOVE_SAFEGUARD,
+ MOVE_FRUSTRATION,
+ MOVE_SOLAR_BEAM,
+ MOVE_IRON_TAIL,
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER,
+ MOVE_EARTHQUAKE,
+ MOVE_RETURN,
+ MOVE_DIG,
+ MOVE_PSYCHIC,
+ MOVE_SHADOW_BALL,
+ MOVE_BRICK_BREAK,
+ MOVE_DOUBLE_TEAM,
+ MOVE_REFLECT,
+ MOVE_SHOCK_WAVE,
+ MOVE_FLAMETHROWER,
+ MOVE_SLUDGE_BOMB,
+ MOVE_SANDSTORM,
+ MOVE_FIRE_BLAST,
+ MOVE_ROCK_TOMB,
+ MOVE_AERIAL_ACE,
+ MOVE_TORMENT,
+ MOVE_FACADE,
+ MOVE_SECRET_POWER,
+ MOVE_REST,
+ MOVE_ATTRACT,
+ MOVE_THIEF,
+ MOVE_STEEL_WING,
+ MOVE_SKILL_SWAP,
+ MOVE_SNATCH,
+ MOVE_OVERHEAT,
+ MOVE_CUT,
+ MOVE_FLY,
+ MOVE_SURF,
+ MOVE_STRENGTH,
+ MOVE_FLASH,
+ MOVE_ROCK_SMASH,
+ MOVE_WATERFALL,
+ MOVE_DIVE,
+};
diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h
index 1697a1e7e..698d97a43 100644
--- a/src/data/pokemon/item_effects.h
+++ b/src/data/pokemon/item_effects.h
@@ -236,7 +236,7 @@ const u8 gItemEffect_PPMax[9] = {
};
const u8 gItemEffect_GuardSpec[8] = {
- [3] = ITEM3_MIST,
+ [3] = ITEM3_GUARD_SPEC,
[5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
[6] = 1,
[7] = 1,
@@ -377,7 +377,7 @@ const u8 gItemEffect_QualotBerry[10] = {
[9] = 2,
};
-const u8 gItemEffect_HondrewBerry[10] = {
+const u8 gItemEffect_HondewBerry[10] = {
[5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL,
[6] = -10,
[7] = 10,
@@ -469,7 +469,7 @@ const u8 *const gItemEffectTable[] =
[ITEM_POMEG_BERRY - ITEM_POTION] = gItemEffect_PomegBerry,
[ITEM_KELPSY_BERRY - ITEM_POTION] = gItemEffect_KelpsyBerry,
[ITEM_QUALOT_BERRY - ITEM_POTION] = gItemEffect_QualotBerry,
- [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondrewBerry,
+ [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondewBerry,
[ITEM_GREPA_BERRY - ITEM_POTION] = gItemEffect_GrepaBerry,
[ITEM_TAMATO_BERRY - ITEM_POTION] = gItemEffect_TamatoBerry,
[LAST_BERRY_INDEX - ITEM_POTION] = NULL
diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h
index 727cc0959..c78b9ef0a 100644
--- a/src/data/pokemon/level_up_learnsets.h
+++ b/src/data/pokemon/level_up_learnsets.h
@@ -1,5 +1,4 @@
#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move)
-#define LEVEL_UP_END 0xffff
static const u16 sBulbasaurLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1, MOVE_TACKLE),
diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h
index 0f2b53a18..2edefb274 100644
--- a/src/data/pokemon/trainer_class_lookups.h
+++ b/src/data/pokemon/trainer_class_lookups.h
@@ -2,7 +2,7 @@ const u8 gFacilityClassToPicIndex[] =
{
[FACILITY_CLASS_HIKER] = TRAINER_PIC_HIKER,
[FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_PIC_AQUA_GRUNT_M,
- [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F,
+ [FACILITY_CLASS_PKMN_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F,
[FACILITY_CLASS_COOLTRAINER_M] = TRAINER_PIC_COOLTRAINER_M,
[FACILITY_CLASS_BIRD_KEEPER] = TRAINER_PIC_BIRD_KEEPER,
[FACILITY_CLASS_COLLECTOR] = TRAINER_PIC_COLLECTOR,
@@ -88,7 +88,7 @@ const u8 gFacilityClassToTrainerClass[] =
{
[FACILITY_CLASS_HIKER] = TRAINER_CLASS_HIKER,
[FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_CLASS_TEAM_AQUA,
- [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER,
+ [FACILITY_CLASS_PKMN_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER,
[FACILITY_CLASS_COOLTRAINER_M] = TRAINER_CLASS_COOLTRAINER,
[FACILITY_CLASS_BIRD_KEEPER] = TRAINER_CLASS_BIRD_KEEPER,
[FACILITY_CLASS_COLLECTOR] = TRAINER_CLASS_COLLECTOR,
diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h
index 0a930e993..2c8c3b362 100644
--- a/src/data/pokemon/tutor_learnsets.h
+++ b/src/data/pokemon/tutor_learnsets.h
@@ -1,35 +1,4 @@
-#define TUTOR_MOVE_MEGA_PUNCH 0
-#define TUTOR_MOVE_SWORDS_DANCE 1
-#define TUTOR_MOVE_MEGA_KICK 2
-#define TUTOR_MOVE_BODY_SLAM 3
-#define TUTOR_MOVE_DOUBLE_EDGE 4
-#define TUTOR_MOVE_COUNTER 5
-#define TUTOR_MOVE_SEISMIC_TOSS 6
-#define TUTOR_MOVE_MIMIC 7
-#define TUTOR_MOVE_METRONOME 8
-#define TUTOR_MOVE_SOFT_BOILED 9
-#define TUTOR_MOVE_DREAM_EATER 10
-#define TUTOR_MOVE_THUNDER_WAVE 11
-#define TUTOR_MOVE_EXPLOSION 12
-#define TUTOR_MOVE_ROCK_SLIDE 13
-#define TUTOR_MOVE_SUBSTITUTE 14
-#define TUTOR_MOVE_DYNAMIC_PUNCH 15
-#define TUTOR_MOVE_ROLLOUT 16
-#define TUTOR_MOVE_PSYCH_UP 17
-#define TUTOR_MOVE_SNORE 18
-#define TUTOR_MOVE_ICY_WIND 19
-#define TUTOR_MOVE_ENDURE 20
-#define TUTOR_MOVE_MUD_SLAP 21
-#define TUTOR_MOVE_ICE_PUNCH 22
-#define TUTOR_MOVE_SWAGGER 23
-#define TUTOR_MOVE_SLEEP_TALK 24
-#define TUTOR_MOVE_SWIFT 25
-#define TUTOR_MOVE_DEFENSE_CURL 26
-#define TUTOR_MOVE_THUNDER_PUNCH 27
-#define TUTOR_MOVE_FIRE_PUNCH 28
-#define TUTOR_MOVE_FURY_CUTTER 29
-
-const u16 gTutorMoves[] =
+const u16 gTutorMoves[TUTOR_MOVE_COUNT] =
{
[TUTOR_MOVE_MEGA_PUNCH] = MOVE_MEGA_PUNCH,
[TUTOR_MOVE_SWORDS_DANCE] = MOVE_SWORDS_DANCE,
diff --git a/src/data/script_menu.h b/src/data/script_menu.h
new file mode 100644
index 000000000..3880c3c0c
--- /dev/null
+++ b/src/data/script_menu.h
@@ -0,0 +1,1006 @@
+// multichoice lists
+static const struct MenuAction MultichoiceList_BrineyOnDewford[] =
+{
+ {gText_Petalburg},
+ {gText_Slateport},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_EnterInfo[] =
+{
+ {gText_Enter2},
+ {gText_Info2},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ContestInfo[] =
+{
+ {gText_WhatsAContest},
+ {gText_TypesOfContests},
+ {gText_Ranks},
+ {gText_Cancel2},
+};
+
+static const struct MenuAction MultichoiceList_ContestType[] =
+{
+ {gText_CoolnessContest},
+ {gText_BeautyContest},
+ {gText_CutenessContest},
+ {gText_SmartnessContest},
+ {gText_ToughnessContest},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BasePCWithRegistry[] =
+{
+ {gText_Decoration2},
+ {gText_PackUp},
+ {gText_Registry},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BasePCNoRegistry[] =
+{
+ {gText_Decoration2},
+ {gText_PackUp},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_RegisterMenu[] =
+{
+ {gMenuText_Register},
+ {gText_Registry},
+ {gText_Information},
+ {gText_Cancel2},
+};
+
+static const struct MenuAction MultichoiceList_Bike[] =
+{
+ {gText_Mach},
+ {gText_Acro},
+};
+
+static const struct MenuAction MultichoiceList_StatusInfo[] =
+{
+ {gText_Psn},
+ {gText_Par},
+ {gText_Slp},
+ {gText_Brn},
+ {gText_Frz},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BrineyOffDewford[] =
+{
+ {gText_Dewford},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ViewedPaintings[] =
+{
+ {gText_SawIt},
+ {gText_NotYet},
+};
+
+static const struct MenuAction MultichoiceList_YesNoInfo2[] =
+{
+ {gText_Yes},
+ {gText_No},
+ {gText_Info2},
+};
+
+static const struct MenuAction MultichoiceList_ChallengeInfo[] =
+{
+ {gText_Challenge},
+ {gText_Info3},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_LevelMode[] =
+{
+ {gText_Lv50},
+ {gText_OpenLevel},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll1_Q1[] =
+{
+ {gTrickHouse_Mechadoll_Oddish},
+ {gTrickHouse_Mechadoll_Poochyena},
+ {gTrickHouse_Mechadoll_Taillow},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] =
+{
+ {gTrickHouse_Mechadoll_Azurill},
+ {gTrickHouse_Mechadoll_Lotad},
+ {gTrickHouse_Mechadoll_Wingull},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] =
+{
+ {gTrickHouse_Mechadoll_Dustox},
+ {gTrickHouse_Mechadoll_Zubat},
+ {gTrickHouse_Mechadoll_Nincada},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] =
+{
+ {gTrickHouse_Mechadoll_Ralts},
+ {gTrickHouse_Mechadoll_Zigzagoon},
+ {gTrickHouse_Mechadoll_Slakoth},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] =
+{
+ {gTrickHouse_Mechadoll_Poochyena2},
+ {gTrickHouse_Mechadoll_Shroomish},
+ {gTrickHouse_Mechadoll_Zigzagoon2},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] =
+{
+ {gTrickHouse_Mechadoll_Poochyena3},
+ {gTrickHouse_Mechadoll_Zubat2},
+ {gTrickHouse_Mechadoll_Carvanha},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll3_Q1[] =
+{
+ {gTrickHouse_Mechadoll_BurnHeal},
+ {gTrickHouse_Mechadoll_HarborMail},
+ {gTrickHouse_Mechadoll_SamePrice},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] =
+{
+ {gTrickHouse_Mechadoll_60Yen},
+ {gTrickHouse_Mechadoll_55Yen},
+ {gTrickHouse_Mechadoll_Nothing},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] =
+{
+ {gTrickHouse_Mechadoll_CostMore},
+ {gTrickHouse_Mechadoll_CostLess},
+ {gTrickHouse_Mechadoll_SamePrice2},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] =
+{
+ {gTrickHouse_Mechadoll_Male},
+ {gTrickHouse_Mechadoll_Female},
+ {gTrickHouse_Mechadoll_Neither},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] =
+{
+ {gTrickHouse_Mechadoll_ElderlyMen},
+ {gTrickHouse_Mechadoll_ElderlyLadies},
+ {gTrickHouse_Mechadoll_SameNumber},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] =
+{
+ {gTrickHouse_Mechadoll_None},
+ {gTrickHouse_Mechadoll_One},
+ {gTrickHouse_Mechadoll_Two},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] =
+{
+ {gTrickHouse_Mechadoll_Two2},
+ {gTrickHouse_Mechadoll_Three},
+ {gTrickHouse_Mechadoll_Four},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] =
+{
+ {gTrickHouse_Mechadoll_Six},
+ {gTrickHouse_Mechadoll_Seven},
+ {gTrickHouse_Mechadoll_Eight},
+};
+
+static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] =
+{
+ {gTrickHouse_Mechadoll_Six2},
+ {gTrickHouse_Mechadoll_Seven2},
+ {gTrickHouse_Mechadoll_Eight2},
+};
+
+static const struct MenuAction MultichoiceList_VendingMachine[] =
+{
+ {gText_FreshWaterAndPrice},
+ {gText_SodaPopAndPrice},
+ {gText_LemonadeAndPrice},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_MachBikeInfo[] =
+{
+ {gText_HowToRide},
+ {gText_HowToTurn},
+ {gText_SandySlopes},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_AcroBikeInfo[] =
+{
+ {gText_Wheelies},
+ {gText_BunnyHops},
+ {gText_Jump},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_Satisfaction[] =
+{
+ {gText_Satisfied},
+ {gText_Dissatisfied},
+};
+
+static const struct MenuAction MultichoiceList_SternDeepSea[] =
+{
+ {gText_DeepSeaTooth},
+ {gText_DeepSeaScale},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_UnusedAshVendor[] =
+{
+ {gText_BlueFlute2},
+ {gText_YellowFlute2},
+ {gText_RedFlute2},
+ {gText_WhiteFlute2},
+ {gText_BlackFlute2},
+ {gText_GlassChair},
+ {gText_GlassDesk},
+ {gText_Cancel2},
+};
+
+static const struct MenuAction MultichoiceList_GameCornerDolls[] =
+{
+ {gText_TreeckoDollAndPrice},
+ {gText_TorchicDollAndPrice},
+ {gText_MudkipDollAndPrice},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_GameCornerTMs[] =
+{
+ {gText_TM32AndPrice},
+ {gText_TM29AndPrice},
+ {gText_TM35AndPrice},
+ {gText_TM24AndPrice},
+ {gText_TM13AndPrice},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_GameCornerCoins[] =
+{
+ {gText_50CoinsAndPrice},
+ {gText_500CoinsAndPrice},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_HowsFishing[] =
+{
+ {gText_Excellent2},
+ {gText_NotSoGood},
+};
+
+static const struct MenuAction MultichoiceList_SSTidalSlateportWithBF[] =
+{
+ {gText_LilycoveCity},
+ {gText_BattleFrontier},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_SSTidalBattleFrontier[] =
+{
+ {gText_SlateportCity},
+ {gText_LilycoveCity},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_RightLeft[] =
+{
+ {gText_Right},
+ {gText_Left},
+};
+
+static const struct MenuAction MultichoiceList_SSTidalSlateportNoBF[] =
+{
+ {gText_LilycoveCity},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_Floors[] =
+{
+ {gText_5F},
+ {gText_4F},
+ {gText_3F},
+ {gText_2F},
+ {gText_1F},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsR[] =
+{
+ {gText_RedShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsY[] =
+{
+ {gText_YellowShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsRY[] =
+{
+ {gText_RedShard},
+ {gText_YellowShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsB[] =
+{
+ {gText_BlueShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsRB[] =
+{
+ {gText_RedShard},
+ {gText_BlueShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsYB[] =
+{
+ {gText_YellowShard},
+ {gText_BlueShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsRYB[] =
+{
+ {gText_RedShard},
+ {gText_YellowShard},
+ {gText_BlueShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsG[] =
+{
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsRG[] =
+{
+ {gText_RedShard},
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsYG[] =
+{
+ {gText_YellowShard},
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsRYG[] =
+{
+ {gText_RedShard},
+ {gText_YellowShard},
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsBG[] =
+{
+ {gText_BlueShard},
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsRBG[] =
+{
+ {gText_RedShard},
+ {gText_BlueShard},
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsYBG[] =
+{
+ {gText_YellowShard},
+ {gText_BlueShard},
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ShardsRYBG[] =
+{
+ {gText_RedShard},
+ {gText_YellowShard},
+ {gText_BlueShard},
+ {gText_GreenShard},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_TourneyWithRecord[] =
+{
+ {gText_Opponent},
+ {gText_Tourney_Tree},
+ {gText_ReadyToStart},
+ {gText_Record2},
+ {gText_Rest},
+ {gText_Retire},
+};
+
+static const struct MenuAction MultichoiceList_TourneyNoRecord[] =
+{
+ {gText_Opponent},
+ {gText_Tourney_Tree},
+ {gText_ReadyToStart},
+ {gText_Rest},
+ {gText_Retire},
+};
+
+static const struct MenuAction MultichoiceList_Tent[] =
+{
+ {gText_RedTent},
+ {gText_BlueTent},
+};
+
+static const struct MenuAction MultichoiceList_LinkServicesNoBerry[] =
+{
+ {gText_TradeCenter},
+ {gText_Colosseum},
+ {gText_RecordCorner},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_YesNoInfo[] =
+{
+ {gText_Yes},
+ {gText_No},
+ {gText_Info2},
+};
+
+static const struct MenuAction MultichoiceList_BattleMode[] =
+{
+ {gText_SingleBattle},
+ {gText_DoubleBattle},
+ {gText_MultiBattle},
+ {gText_Info2},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_LinkServicesNoRecord[] =
+{
+ {gText_TradeCenter},
+ {gText_Colosseum},
+ {gText_BerryCrush3},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_LinkServicesAll[] =
+{
+ {gText_TradeCenter},
+ {gText_Colosseum},
+ {gText_RecordCorner},
+ {gText_BerryCrush3},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_LinkServicesNoRecordBerry[] =
+{
+ {gText_TradeCenter},
+ {gText_Colosseum},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_WirelessMinigame[] =
+{
+ {gText_PokemonJump},
+ {gText_DodrioBerryPicking},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_LinkLeader[] =
+{
+ {gText_JoinGroup},
+ {gText_BecomeLeader},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ContestRank[] =
+{
+ {gText_NormalRank},
+ {gText_SuperRank},
+ {gText_HyperRank},
+ {gText_MasterRank},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_FrontierItemChoose[] =
+{
+ {gText_BattleBag},
+ {gText_HeldItem},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_LinkContestInfo[] =
+{
+ {gText_LinkContest},
+ {gText_AboutE_Mode},
+ {gText_AboutG_Mode},
+ {gText_Cancel2},
+};
+
+static const struct MenuAction MultichoiceList_LinkContestMode[] =
+{
+ {gText_E_Mode},
+ {gText_G_Mode},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_ForcedStartMenu[] =
+{
+ {gText_MenuOptionPokedex},
+ {gText_MenuOptionPokemon},
+ {gText_MenuOptionBag},
+ {gText_MenuOptionPokenav},
+ {gText_Blank}, // blank because it's filled by the player's name
+ {gText_MenuOptionSave},
+ {gText_MenuOptionOption},
+ {gText_MenuOptionExit},
+};
+
+static const struct MenuAction MultichoiceList_FrontierGamblerBet[] =
+{
+ {gText_5BP},
+ {gText_10BP},
+ {gText_15BP},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_UnusedSSTidal1[] =
+{
+ {gText_SouthernIsland},
+ {gText_BirthIsland},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_UnusedSSTidal2[] =
+{
+ {gText_SouthernIsland},
+ {gText_FarawayIsland},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_UnusedSSTidal3[] =
+{
+ {gText_BirthIsland},
+ {gText_FarawayIsland},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_UnusedSSTidal4[] =
+{
+ {gText_SouthernIsland},
+ {gText_BirthIsland},
+ {gText_FarawayIsland},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_Fossil[] =
+{
+ {gText_ClawFossil},
+ {gText_RootFossil},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_YesNo[] =
+{
+ {gText_Yes},
+ {gText_No4},
+};
+
+static const struct MenuAction MultichoiceList_FrontierRules[] =
+{
+ {gText_TwoStyles},
+ {gText_Lv50_3},
+ {gText_OpenLevel2},
+ {gText_MonTypeAndNo},
+ {gText_HoldItems},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_FrontierPassInfo[] =
+{
+ {gText_Symbols2},
+ {gText_Record3},
+ {gText_BattlePts},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BattleArenaRules[] =
+{
+ {gText_BattleRules},
+ {gText_JudgeMind},
+ {gText_JudgeSkill},
+ {gText_JudgeBody},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BattleTowerRules[] =
+{
+ {gText_TowerInfo},
+ {gText_BattleMon},
+ {gText_BattleSalon},
+ {gText_MultiLink2},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BattleDomeRules[] =
+{
+ {gText_Matchup},
+ {gText_TourneyTree},
+ {gText_DoubleKO},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BattleFactoryRules[] =
+{
+ {gText_BasicRules},
+ {gText_SwapPartners},
+ {gText_SwapNumber},
+ {gText_SwapNotes},
+ {gText_OpenLevel3},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BattlePalaceRules[] =
+{
+ {gText_BattleBasics},
+ {gText_PokemonNature},
+ {gText_PokemonMoves},
+ {gText_Underpowered},
+ {gText_WhenInDanger},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BattlePyramidRules[] =
+{
+ {gText_PyramidPokemon},
+ {gText_PyramidTrainers},
+ {gText_PyramidMaze},
+ {gText_BattleBag2},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_BattlePikeRules[] =
+{
+ {gText_PokenavAndBag},
+ {gText_HeldItems},
+ {gText_PokemonOrder},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_GoOnRecordRestRetire[] =
+{
+ {gText_GoOn},
+ {gText_Record2},
+ {gText_Rest},
+ {gText_Retire},
+};
+
+static const struct MenuAction MultichoiceList_GoOnRestRetire[] =
+{
+ {gText_GoOn},
+ {gText_Rest},
+ {gText_Retire},
+};
+
+static const struct MenuAction MultichoiceList_GoOnRecordRetire[] =
+{
+ {gText_GoOn},
+ {gText_Record2},
+ {gText_Retire},
+};
+
+static const struct MenuAction MultichoiceList_GoOnRetire[] =
+{
+ {gText_GoOn},
+ {gText_Retire},
+};
+
+static const struct MenuAction MultichoiceList_TVLati[] =
+{
+ {gText_Red},
+ {gText_Blue},
+};
+
+static const struct MenuAction MultichoiceList_BattleTowerFeelings[] =
+{
+ {gText_IllBattleNow},
+ {gText_IWon},
+ {gText_ILost},
+ {gText_IWontTell},
+};
+
+static const struct MenuAction MultichoiceList_WheresRayquaza[] =
+{
+ {gText_CaveOfOrigin},
+ {gText_MtPyre},
+ {gText_SkyPillar},
+ {gText_DontRemember},
+};
+
+static const struct MenuAction MultichoiceList_SlateportTentRules[] =
+{
+ {gText_BasicRules},
+ {gText_SwapPartners},
+ {gText_SwapNumber},
+ {gText_SwapNotes},
+ {gText_BattlePokemon},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_FallarborTentRules[] =
+{
+ {gText_BattleTrainers},
+ {gText_BattleRules},
+ {gText_JudgeMind},
+ {gText_JudgeSkill},
+ {gText_JudgeBody},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_TagMatchType[] =
+{
+ {gText_NormalTagMatch},
+ {gText_VarietyTagMatch},
+ {gText_UniqueTagMatch},
+ {gText_ExpertTagMatch},
+ {gText_Exit},
+};
+
+static const struct MenuAction MultichoiceList_Exit[] =
+{
+ {gText_Exit},
+};
+
+struct MultichoiceListStruct
+{
+ const struct MenuAction *list;
+ u8 count;
+};
+
+static const struct MultichoiceListStruct sMultichoiceLists[] =
+{
+ [MULTI_BRINEY_ON_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOnDewford),
+ [MULTI_PC] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_ENTERINFO] = MULTICHOICE(MultichoiceList_EnterInfo),
+ [MULTI_CONTEST_INFO] = MULTICHOICE(MultichoiceList_ContestInfo),
+ [MULTI_CONTEST_TYPE] = MULTICHOICE(MultichoiceList_ContestType),
+ [MULTI_BASE_PC_NO_REGISTRY] = MULTICHOICE(MultichoiceList_BasePCNoRegistry),
+ [MULTI_BASE_PC_WITH_REGISTRY] = MULTICHOICE(MultichoiceList_BasePCWithRegistry),
+ [MULTI_REGISTER_MENU] = MULTICHOICE(MultichoiceList_RegisterMenu),
+ [MULTI_SSTIDAL_LILYCOVE] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_UNUSED_9] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_UNUSED_10] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_FRONTIER_PASS_INFO] = MULTICHOICE(MultichoiceList_FrontierPassInfo),
+ [MULTI_BIKE] = MULTICHOICE(MultichoiceList_Bike),
+ [MULTI_STATUS_INFO] = MULTICHOICE(MultichoiceList_StatusInfo),
+ [MULTI_BRINEY_OFF_DEWFORD] = MULTICHOICE(MultichoiceList_BrineyOffDewford),
+ [MULTI_UNUSED_15] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_VIEWED_PAINTINGS] = MULTICHOICE(MultichoiceList_ViewedPaintings),
+ [MULTI_YESNOINFO] = MULTICHOICE(MultichoiceList_YesNoInfo),
+ [MULTI_BATTLE_MODE] = MULTICHOICE(MultichoiceList_BattleMode),
+ [MULTI_UNUSED_19] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_YESNOINFO_2] = MULTICHOICE(MultichoiceList_YesNoInfo2),
+ [MULTI_UNUSED_21] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_UNUSED_22] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_CHALLENGEINFO] = MULTICHOICE(MultichoiceList_ChallengeInfo),
+ [MULTI_LEVEL_MODE] = MULTICHOICE(MultichoiceList_LevelMode),
+ [MULTI_MECHADOLL1_Q1] = MULTICHOICE(MultichoiceList_Mechadoll1_Q1),
+ [MULTI_MECHADOLL1_Q2] = MULTICHOICE(MultichoiceList_Mechadoll1_Q2),
+ [MULTI_MECHADOLL1_Q3] = MULTICHOICE(MultichoiceList_Mechadoll1_Q3),
+ [MULTI_MECHADOLL2_Q1] = MULTICHOICE(MultichoiceList_Mechadoll2_Q1),
+ [MULTI_MECHADOLL2_Q2] = MULTICHOICE(MultichoiceList_Mechadoll2_Q2),
+ [MULTI_MECHADOLL2_Q3] = MULTICHOICE(MultichoiceList_Mechadoll2_Q3),
+ [MULTI_MECHADOLL3_Q1] = MULTICHOICE(MultichoiceList_Mechadoll3_Q1),
+ [MULTI_MECHADOLL3_Q2] = MULTICHOICE(MultichoiceList_Mechadoll3_Q2),
+ [MULTI_MECHADOLL3_Q3] = MULTICHOICE(MultichoiceList_Mechadoll3_Q3),
+ [MULTI_MECHADOLL4_Q1] = MULTICHOICE(MultichoiceList_Mechadoll4_Q1),
+ [MULTI_MECHADOLL4_Q2] = MULTICHOICE(MultichoiceList_Mechadoll4_Q2),
+ [MULTI_MECHADOLL4_Q3] = MULTICHOICE(MultichoiceList_Mechadoll4_Q3),
+ [MULTI_MECHADOLL5_Q1] = MULTICHOICE(MultichoiceList_Mechadoll5_Q1),
+ [MULTI_MECHADOLL5_Q2] = MULTICHOICE(MultichoiceList_Mechadoll5_Q2),
+ [MULTI_MECHADOLL5_Q3] = MULTICHOICE(MultichoiceList_Mechadoll5_Q3),
+ [MULTI_UNUSED_40] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_UNUSED_41] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_VENDING_MACHINE] = MULTICHOICE(MultichoiceList_VendingMachine),
+ [MULTI_MACH_BIKE_INFO] = MULTICHOICE(MultichoiceList_MachBikeInfo),
+ [MULTI_ACRO_BIKE_INFO] = MULTICHOICE(MultichoiceList_AcroBikeInfo),
+ [MULTI_SATISFACTION] = MULTICHOICE(MultichoiceList_Satisfaction),
+ [MULTI_STERN_DEEPSEA] = MULTICHOICE(MultichoiceList_SternDeepSea),
+ [MULTI_UNUSED_ASH_VENDOR] = MULTICHOICE(MultichoiceList_UnusedAshVendor),
+ [MULTI_GAME_CORNER_DOLLS] = MULTICHOICE(MultichoiceList_GameCornerDolls),
+ [MULTI_GAME_CORNER_COINS] = MULTICHOICE(MultichoiceList_GameCornerCoins),
+ [MULTI_HOWS_FISHING] = MULTICHOICE(MultichoiceList_HowsFishing),
+ [MULTI_UNUSED_51] = MULTICHOICE(MultichoiceList_Exit),
+ [MULTI_SSTIDAL_SLATEPORT_WITH_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportWithBF),
+ [MULTI_SSTIDAL_BATTLE_FRONTIER] = MULTICHOICE(MultichoiceList_SSTidalBattleFrontier),
+ [MULTI_RIGHTLEFT] = MULTICHOICE(MultichoiceList_RightLeft),
+ [MULTI_GAME_CORNER_TMS] = MULTICHOICE(MultichoiceList_GameCornerTMs),
+ [MULTI_SSTIDAL_SLATEPORT_NO_BF] = MULTICHOICE(MultichoiceList_SSTidalSlateportNoBF),
+ [MULTI_FLOORS] = MULTICHOICE(MultichoiceList_Floors),
+ [MULTI_SHARDS_R] = MULTICHOICE(MultichoiceList_ShardsR),
+ [MULTI_SHARDS_Y] = MULTICHOICE(MultichoiceList_ShardsY),
+ [MULTI_SHARDS_RY] = MULTICHOICE(MultichoiceList_ShardsRY),
+ [MULTI_SHARDS_B] = MULTICHOICE(MultichoiceList_ShardsB),
+ [MULTI_SHARDS_RB] = MULTICHOICE(MultichoiceList_ShardsRB),
+ [MULTI_SHARDS_YB] = MULTICHOICE(MultichoiceList_ShardsYB),
+ [MULTI_SHARDS_RYB] = MULTICHOICE(MultichoiceList_ShardsRYB),
+ [MULTI_SHARDS_G] = MULTICHOICE(MultichoiceList_ShardsG),
+ [MULTI_SHARDS_RG] = MULTICHOICE(MultichoiceList_ShardsRG),
+ [MULTI_SHARDS_YG] = MULTICHOICE(MultichoiceList_ShardsYG),
+ [MULTI_SHARDS_RYG] = MULTICHOICE(MultichoiceList_ShardsRYG),
+ [MULTI_SHARDS_BG] = MULTICHOICE(MultichoiceList_ShardsBG),
+ [MULTI_SHARDS_RBG] = MULTICHOICE(MultichoiceList_ShardsRBG),
+ [MULTI_SHARDS_YBG] = MULTICHOICE(MultichoiceList_ShardsYBG),
+ [MULTI_SHARDS_RYBG] = MULTICHOICE(MultichoiceList_ShardsRYBG),
+ [MULTI_TOURNEY_WITH_RECORD] = MULTICHOICE(MultichoiceList_TourneyWithRecord),
+ [MULTI_CABLE_CLUB_NO_RECORD_MIX] = MULTICHOICE(MultichoiceList_LinkServicesNoRecordBerry),
+ [MULTI_WIRELESS_NO_RECORD_BERRY] = MULTICHOICE(MultichoiceList_LinkServicesNoRecordBerry),
+ [MULTI_CABLE_CLUB_WITH_RECORD_MIX] = MULTICHOICE(MultichoiceList_LinkServicesNoBerry),
+ [MULTI_WIRELESS_NO_BERRY] = MULTICHOICE(MultichoiceList_LinkServicesNoBerry),
+ [MULTI_WIRELESS_NO_RECORD] = MULTICHOICE(MultichoiceList_LinkServicesNoRecord),
+ [MULTI_WIRELESS_ALL_SERVICES] = MULTICHOICE(MultichoiceList_LinkServicesAll),
+ [MULTI_WIRELESS_MINIGAME] = MULTICHOICE(MultichoiceList_WirelessMinigame),
+ [MULTI_LINK_LEADER] = MULTICHOICE(MultichoiceList_LinkLeader),
+ [MULTI_CONTEST_RANK] = MULTICHOICE(MultichoiceList_ContestRank),
+ [MULTI_FRONTIER_ITEM_CHOOSE] = MULTICHOICE(MultichoiceList_FrontierItemChoose),
+ [MULTI_LINK_CONTEST_INFO] = MULTICHOICE(MultichoiceList_LinkContestInfo),
+ [MULTI_LINK_CONTEST_MODE] = MULTICHOICE(MultichoiceList_LinkContestMode),
+ [MULTI_FORCED_START_MENU] = MULTICHOICE(MultichoiceList_ForcedStartMenu),
+ [MULTI_FRONTIER_GAMBLER_BET] = MULTICHOICE(MultichoiceList_FrontierGamblerBet),
+ [MULTI_TENT] = MULTICHOICE(MultichoiceList_Tent),
+ [MULTI_UNUSED_SSTIDAL_1] = MULTICHOICE(MultichoiceList_UnusedSSTidal1),
+ [MULTI_UNUSED_SSTIDAL_2] = MULTICHOICE(MultichoiceList_UnusedSSTidal2),
+ [MULTI_UNUSED_SSTIDAL_3] = MULTICHOICE(MultichoiceList_UnusedSSTidal3),
+ [MULTI_UNUSED_SSTIDAL_4] = MULTICHOICE(MultichoiceList_UnusedSSTidal4),
+ [MULTI_FOSSIL] = MULTICHOICE(MultichoiceList_Fossil),
+ [MULTI_YESNO] = MULTICHOICE(MultichoiceList_YesNo),
+ [MULTI_FRONTIER_RULES] = MULTICHOICE(MultichoiceList_FrontierRules),
+ [MULTI_BATTLE_ARENA_RULES] = MULTICHOICE(MultichoiceList_BattleArenaRules),
+ [MULTI_BATTLE_TOWER_RULES] = MULTICHOICE(MultichoiceList_BattleTowerRules),
+ [MULTI_BATTLE_DOME_RULES] = MULTICHOICE(MultichoiceList_BattleDomeRules),
+ [MULTI_BATTLE_FACTORY_RULES] = MULTICHOICE(MultichoiceList_BattleFactoryRules),
+ [MULTI_BATTLE_PALACE_RULES] = MULTICHOICE(MultichoiceList_BattlePalaceRules),
+ [MULTI_BATTLE_PYRAMID_RULES] = MULTICHOICE(MultichoiceList_BattlePyramidRules),
+ [MULTI_BATTLE_PIKE_RULES] = MULTICHOICE(MultichoiceList_BattlePikeRules),
+ [MULTI_GO_ON_RECORD_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRestRetire),
+ [MULTI_GO_ON_REST_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRestRetire),
+ [MULTI_GO_ON_RECORD_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRecordRetire),
+ [MULTI_GO_ON_RETIRE] = MULTICHOICE(MultichoiceList_GoOnRetire),
+ [MULTI_TOURNEY_NO_RECORD] = MULTICHOICE(MultichoiceList_TourneyNoRecord),
+ [MULTI_TV_LATI] = MULTICHOICE(MultichoiceList_TVLati),
+ [MULTI_BATTLE_TOWER_FEELINGS] = MULTICHOICE(MultichoiceList_BattleTowerFeelings),
+ [MULTI_WHERES_RAYQUAZA] = MULTICHOICE(MultichoiceList_WheresRayquaza),
+ [MULTI_SLATEPORT_TENT_RULES] = MULTICHOICE(MultichoiceList_SlateportTentRules),
+ [MULTI_FALLARBOR_TENT_RULES] = MULTICHOICE(MultichoiceList_FallarborTentRules),
+ [MULTI_TAG_MATCH_TYPE] = MULTICHOICE(MultichoiceList_TagMatchType),
+};
+
+const u8 *const gStdStrings[] =
+{
+ [STDSTRING_COOL] = gText_Cool,
+ [STDSTRING_BEAUTY] = gText_Beauty,
+ [STDSTRING_CUTE] = gText_Cute,
+ [STDSTRING_SMART] = gText_Smart,
+ [STDSTRING_TOUGH] = gText_Tough,
+ [STDSTRING_NORMAL] = gText_Normal,
+ [STDSTRING_SUPER] = gText_Super,
+ [STDSTRING_HYPER] = gText_Hyper,
+ [STDSTRING_MASTER] = gText_Master,
+ [STDSTRING_COOL2] = gText_Cool2,
+ [STDSTRING_BEAUTY2] = gText_Beauty2,
+ [STDSTRING_CUTE2] = gText_Cute2,
+ [STDSTRING_SMART2] = gText_Smart2,
+ [STDSTRING_TOUGH2] = gText_Tough2,
+ [STDSTRING_ITEMS] = gText_Items,
+ [STDSTRING_KEYITEMS] = gText_Key_Items,
+ [STDSTRING_POKEBALLS] = gText_Poke_Balls,
+ [STDSTRING_TMHMS] = gText_TMs_Hms,
+ [STDSTRING_BERRIES] = gText_Berries2,
+ [STDSTRING_SINGLE] = gText_Single2,
+ [STDSTRING_DOUBLE] = gText_Double2,
+ [STDSTRING_MULTI] = gText_Multi,
+ [STDSTRING_MULTI_LINK] = gText_MultiLink,
+ [STDSTRING_BATTLE_TOWER] = gText_BattleTower2,
+ [STDSTRING_BATTLE_DOME] = gText_BattleDome,
+ [STDSTRING_BATTLE_FACTORY] = gText_BattleFactory,
+ [STDSTRING_BATTLE_PALACE] = gText_BattlePalace,
+ [STDSTRING_BATTLE_ARENA] = gText_BattleArena,
+ [STDSTRING_BATTLE_PIKE] = gText_BattlePike,
+ [STDSTRING_BATTLE_PYRAMID] = gText_BattlePyramid,
+};
+
+static const u8 sLinkServicesMultichoiceIds[] =
+{
+ MULTI_CABLE_CLUB_NO_RECORD_MIX,
+ MULTI_WIRELESS_NO_RECORD_BERRY,
+ MULTI_CABLE_CLUB_WITH_RECORD_MIX,
+ MULTI_WIRELESS_NO_BERRY,
+ MULTI_WIRELESS_NO_RECORD,
+ MULTI_WIRELESS_ALL_SERVICES
+};
+
+static const u8 *const sPCNameStrings[] =
+{
+ gText_SomeonesPC,
+ gText_LanettesPC,
+ gText_PlayersPC,
+ gText_LogOff,
+};
+
+static const u8 *const sLilycoveSSTidalDestinations[SSTIDAL_SELECTION_COUNT] =
+{
+ [SSTIDAL_SELECTION_SLATEPORT] = gText_SlateportCity,
+ [SSTIDAL_SELECTION_BATTLE_FRONTIER] = gText_BattleFrontier,
+ [SSTIDAL_SELECTION_SOUTHERN_ISLAND] = gText_SouthernIsland,
+ [SSTIDAL_SELECTION_NAVEL_ROCK] = gText_NavelRock,
+ [SSTIDAL_SELECTION_BIRTH_ISLAND] = gText_BirthIsland,
+ [SSTIDAL_SELECTION_FARAWAY_ISLAND] = gText_FarawayIsland,
+ [SSTIDAL_SELECTION_EXIT] = gText_Exit,
+};
+
+static const u8 *const sCableClubOptions_WithRecordMix[] =
+{
+ CableClub_Text_TradeUsingLinkCable,
+ CableClub_Text_BattleUsingLinkCable,
+ CableClub_Text_RecordCornerUsingLinkCable,
+ CableClub_Text_CancelSelectedItem,
+};
+static const u8 *const sWirelessOptionsNoBerryCrush[] =
+{
+ CableClub_Text_YouMayTradeHere,
+ CableClub_Text_YouMayBattleHere,
+ CableClub_Text_CanMixRecords,
+ CableClub_Text_CancelSelectedItem,
+};
+static const u8 *const sWirelessOptions_NoRecordMix[] =
+{
+ CableClub_Text_YouMayTradeHere,
+ CableClub_Text_YouMayBattleHere,
+ CableClub_Text_CanMakeBerryPowder,
+ CableClub_Text_CancelSelectedItem,
+};
+static const u8 *const sWirelessOptions_AllServices[] =
+{
+ CableClub_Text_YouMayTradeHere,
+ CableClub_Text_YouMayBattleHere,
+ CableClub_Text_CanMixRecords,
+ CableClub_Text_CanMakeBerryPowder,
+ CableClub_Text_CancelSelectedItem,
+};
+static const u8 *const sCableClubOptions_NoRecordMix[] =
+{
+ CableClub_Text_TradeUsingLinkCable,
+ CableClub_Text_BattleUsingLinkCable,
+ CableClub_Text_CancelSelectedItem,
+};
+static const u8 *const sWirelessOptions_NoRecordMixBerryCrush[] =
+{
+ CableClub_Text_YouMayTradeHere,
+ CableClub_Text_YouMayBattleHere,
+ CableClub_Text_CancelSelectedItem,
+};
diff --git a/src/data/text/match_call_messages.h b/src/data/text/match_call_messages.h
index c3015b5a7..6ea3b549f 100644
--- a/src/data/text/match_call_messages.h
+++ b/src/data/text/match_call_messages.h
@@ -1,399 +1,394 @@
-#define MCFLAVOR(name) {gMatchCallFlavorText_##name##_Strategy, \
- gMatchCallFlavorText_##name##_Pokemon, \
- gMatchCallFlavorText_##name##_Intro1, \
- gMatchCallFlavorText_##name##_Intro2}
-
-const u8 gMatchCallFlavorText_AromaLady_Rose_Strategy[] = _("Becalm fighting emotions.");
-const u8 gMatchCallFlavorText_AromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON.");
-const u8 gMatchCallFlavorText_AromaLady_Rose_Intro1[] = _("Soothing aromas make the");
-const u8 gMatchCallFlavorText_AromaLady_Rose_Intro2[] = _("body and mind healthy.");
-
-const u8 gMatchCallFlavorText_RuinManiac_Andres_Strategy[] = _("I'm not very good at this.");
-const u8 gMatchCallFlavorText_RuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners.");
-const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro1[] = _("I am searching for undersea");
-const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro2[] = _("ruins and relics.");
-
-const u8 gMatchCallFlavorText_RuinManiac_Dusty_Strategy[] = _("Overwhelm with power!");
-const u8 gMatchCallFlavorText_RuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON.");
-const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro1[] = _("In search of ancient lore,");
-const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro2[] = _("I travel the world.");
-
-const u8 gMatchCallFlavorText_Tuber_Lola_Strategy[] = _("I'm going to try hard!");
-const u8 gMatchCallFlavorText_Tuber_Lola_Pokemon[] = _("Good swimmer POKéMON.");
-const u8 gMatchCallFlavorText_Tuber_Lola_Intro1[] = _("I wish I could swim without");
-const u8 gMatchCallFlavorText_Tuber_Lola_Intro2[] = _("using an inner tube.");
-
-const u8 gMatchCallFlavorText_Tuber_Ricky_Strategy[] = _("I don't know. I'll try hard.");
-const u8 gMatchCallFlavorText_Tuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies.");
-const u8 gMatchCallFlavorText_Tuber_Ricky_Intro1[] = _("It's not like I can't swim.");
-const u8 gMatchCallFlavorText_Tuber_Ricky_Intro2[] = _("I just like my inner tube.");
-
-const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Strategy[] = _("We split our duties.");
-const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON.");
-const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together");
-const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother.");
-
-const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Strategy[] = _("I finish with power moves!");
-const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Pokemon[] = _("A mix of different types.");
-const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate");
-const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro2[] = _("TRAINER!");
-
-const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness.");
-const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Pokemon[] = _("Balance is crucial.");
-const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro1[] = _("My goal is to become the");
-const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION.");
-
-const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Strategy[] = _("Upset the opponent.");
-const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Pokemon[] = _("Type doesn't matter.");
-const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro1[] = _("I'm a top student at the");
-const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL.");
-
-const u8 gMatchCallFlavorText_HexManiac_Valerie_Strategy[] = _("Slow, steady suffering.");
-const u8 gMatchCallFlavorText_HexManiac_Valerie_Pokemon[] = _("Scary to meet at night.");
-const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro1[] = _("I see things that others");
-const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro2[] = _("can't see...");
-
-const u8 gMatchCallFlavorText_Lady_Cindy_Strategy[] = _("Anything to win.");
-const u8 gMatchCallFlavorText_Lady_Cindy_Pokemon[] = _("Gorgeous type!");
-const u8 gMatchCallFlavorText_Lady_Cindy_Intro1[] = _("I have a pool specially for");
-const u8 gMatchCallFlavorText_Lady_Cindy_Intro2[] = _("my POKéMON at home.");
-
-const u8 gMatchCallFlavorText_Beauty_Thalia_Strategy[] = _("You'll fall under my spell!");
-const u8 gMatchCallFlavorText_Beauty_Thalia_Pokemon[] = _("Mature WATER type.");
-const u8 gMatchCallFlavorText_Beauty_Thalia_Intro1[] = _("I dream of cruising around");
-const u8 gMatchCallFlavorText_Beauty_Thalia_Intro2[] = _("the world on a luxury liner.");
-
-const u8 gMatchCallFlavorText_Beauty_Jessica_Strategy[] = _("I'll lead you astray.");
-const u8 gMatchCallFlavorText_Beauty_Jessica_Pokemon[] = _("Cute, of course.");
-const u8 gMatchCallFlavorText_Beauty_Jessica_Intro1[] = _("I love the SAFARI ZONE.");
-const u8 gMatchCallFlavorText_Beauty_Jessica_Intro2[] = _("I seem to end up there.");
-
-const u8 gMatchCallFlavorText_RichBoy_Winston_Strategy[] = _("Strategy? Who needs it?");
-const u8 gMatchCallFlavorText_RichBoy_Winston_Pokemon[] = _("I spent big money on it!");
-const u8 gMatchCallFlavorText_RichBoy_Winston_Intro1[] = _("I, being rich, sleep in a");
-const u8 gMatchCallFlavorText_RichBoy_Winston_Intro2[] = _("custom POKéMON bed.");
-
-const u8 gMatchCallFlavorText_PokeManiac_Steve_Strategy[] = _("Wrestle down with power.");
-const u8 gMatchCallFlavorText_PokeManiac_Steve_Pokemon[] = _("Took all night to catch.");
-const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro1[] = _("Big, burly, and buff");
-const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro2[] = _("POKéMON are the best...");
-
-const u8 gMatchCallFlavorText_Swimmer_Tony_Strategy[] = _("Ram at full speed!");
-const u8 gMatchCallFlavorText_Swimmer_Tony_Pokemon[] = _("Funky WATER type!");
-const u8 gMatchCallFlavorText_Swimmer_Tony_Intro1[] = _("If I can't be out swimming,");
-const u8 gMatchCallFlavorText_Swimmer_Tony_Intro2[] = _("I'll be pumping weights.");
-
-const u8 gMatchCallFlavorText_BlackBelt_Nob_Strategy[] = _("Grand slam pummeling!");
-const u8 gMatchCallFlavorText_BlackBelt_Nob_Pokemon[] = _("FIGHTING type.");
-const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust");
-const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro2[] = _("ten roof tiles!");
-
-const u8 gMatchCallFlavorText_BlackBelt_Koji_Strategy[] = _("Witness karate power!");
-const u8 gMatchCallFlavorText_BlackBelt_Koji_Pokemon[] = _("My partners in training!");
-const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro1[] = _("Let us discuss matters of");
-const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro2[] = _("the world with bare fists!");
-
-const u8 gMatchCallFlavorText_Guitarist_Fernando_Strategy[] = _("Rock to stunning sounds!");
-const u8 gMatchCallFlavorText_Guitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!");
-const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro1[] = _("My compositions will shock");
-const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro2[] = _("you and stun you!");
-
-const u8 gMatchCallFlavorText_Guitarist_Dalton_Strategy[] = _("I'll electrify you!");
-const u8 gMatchCallFlavorText_Guitarist_Dalton_Pokemon[] = _("They're ELECTRIC!");
-const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro1[] = _("I want to make people cry");
-const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro2[] = _("with songs from my heart.");
-
-const u8 gMatchCallFlavorText_Kindler_Bernie_Strategy[] = _("Burn it all down!");
-const u8 gMatchCallFlavorText_Kindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON.");
-const u8 gMatchCallFlavorText_Kindler_Bernie_Intro1[] = _("When you light a campfire,");
-const u8 gMatchCallFlavorText_Kindler_Bernie_Intro2[] = _("be sure there's some water.");
-
-const u8 gMatchCallFlavorText_Camper_Ethan_Strategy[] = _("Hang in and be tenacious!");
-const u8 gMatchCallFlavorText_Camper_Ethan_Pokemon[] = _("I'll raise any POKéMON.");
-const u8 gMatchCallFlavorText_Camper_Ethan_Intro1[] = _("POKéMON raised in the wild");
-const u8 gMatchCallFlavorText_Camper_Ethan_Intro2[] = _("grow strong!");
-
-const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail.");
-const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Pokemon[] = _("We've had them for years.");
-const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've");
-const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON.");
-
-const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Strategy[] = _("Attack in waves!");
-const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool.");
-const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro1[] = _("I go into the forest every");
-const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON.");
-
-const u8 gMatchCallFlavorText_Psychic_Cameron_Strategy[] = _("Daze and confuse!");
-const u8 gMatchCallFlavorText_Psychic_Cameron_Pokemon[] = _("Ones with weird powers.");
-const u8 gMatchCallFlavorText_Psychic_Cameron_Intro1[] = _("I can see through exactly");
-const u8 gMatchCallFlavorText_Psychic_Cameron_Intro2[] = _("what you're thinking!");
-
-const u8 gMatchCallFlavorText_Psychic_Jacki_Strategy[] = _("Battle at full power.");
-const u8 gMatchCallFlavorText_Psychic_Jacki_Pokemon[] = _("POKéMON of many mysteries.");
-const u8 gMatchCallFlavorText_Psychic_Jacki_Intro1[] = _("When we spoke, I was really");
-const u8 gMatchCallFlavorText_Psychic_Jacki_Intro2[] = _("using telepathy.");
-
-const u8 gMatchCallFlavorText_Gentleman_Walter_Strategy[] = _("Calm and collected.");
-const u8 gMatchCallFlavorText_Gentleman_Walter_Pokemon[] = _("POKéMON of distinction.");
-const u8 gMatchCallFlavorText_Gentleman_Walter_Intro1[] = _("We enjoy a spot of tea");
-const u8 gMatchCallFlavorText_Gentleman_Walter_Intro2[] = _("every day. It's imported.");
-
-const u8 gMatchCallFlavorText_SchoolKid_Karen_Strategy[] = _("I use my head to battle.");
-const u8 gMatchCallFlavorText_SchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!");
-const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro1[] = _("My daddy gives me spending");
-const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro2[] = _("money if I ace a test.");
-
-const u8 gMatchCallFlavorText_SchoolKid_Jerry_Strategy[] = _("My knowledge rules!");
-const u8 gMatchCallFlavorText_SchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!");
-const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON");
-const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro2[] = _("researcher in the future.");
-
-const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first.");
-const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like.");
-const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior");
-const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!");
-
-const u8 gMatchCallFlavorText_Pokefan_Isabel_Strategy[] = _("Go for it, my dears!");
-const u8 gMatchCallFlavorText_Pokefan_Isabel_Pokemon[] = _("I have no likes or dislikes.");
-const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro1[] = _("While out shopping for");
-const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro2[] = _("supper, I battle too.");
-
-const u8 gMatchCallFlavorText_Pokefan_Miguel_Strategy[] = _("I battle with love!");
-const u8 gMatchCallFlavorText_Pokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!");
-const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro1[] = _("It's important to build");
-const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro2[] = _("trust with your POKéMON.");
-
-const u8 gMatchCallFlavorText_Expert_Timothy_Strategy[] = _("I see through your moves!");
-const u8 gMatchCallFlavorText_Expert_Timothy_Pokemon[] = _("The essence of FIGHTING.");
-const u8 gMatchCallFlavorText_Expert_Timothy_Intro1[] = _("I'm not ready to give way");
-const u8 gMatchCallFlavorText_Expert_Timothy_Intro2[] = _("to the young yet!");
-
-const u8 gMatchCallFlavorText_Expert_Shelby_Strategy[] = _("Attack while defending.");
-const u8 gMatchCallFlavorText_Expert_Shelby_Pokemon[] = _("The FIGHTING type.");
-const u8 gMatchCallFlavorText_Expert_Shelby_Intro1[] = _("Being old, I have my own");
-const u8 gMatchCallFlavorText_Expert_Shelby_Intro2[] = _("style of battling.");
-
-const u8 gMatchCallFlavorText_Youngster_Calvin_Strategy[] = _("I do what I can.");
-const u8 gMatchCallFlavorText_Youngster_Calvin_Pokemon[] = _("I use different types.");
-const u8 gMatchCallFlavorText_Youngster_Calvin_Intro1[] = _("I'm going to keep working");
-const u8 gMatchCallFlavorText_Youngster_Calvin_Intro2[] = _("until I beat a GYM LEADER.");
-
-const u8 gMatchCallFlavorText_Fisherman_Elliot_Strategy[] = _("I battle patiently.");
-const u8 gMatchCallFlavorText_Fisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!");
-const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro1[] = _("I'm the world's only guy to");
-const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro2[] = _("catch a huge POKéMON!");
-
-const u8 gMatchCallFlavorText_Triathlete_Isaiah_Strategy[] = _("Exploit the environment!");
-const u8 gMatchCallFlavorText_Triathlete_Isaiah_Pokemon[] = _("All hail the WATER type!");
-const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro1[] = _("I won't be beaten by some");
-const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!");
-
-const u8 gMatchCallFlavorText_Triathlete_Maria_Strategy[] = _("Speed above all!");
-const u8 gMatchCallFlavorText_Triathlete_Maria_Pokemon[] = _("I use a speedy POKéMON.");
-const u8 gMatchCallFlavorText_Triathlete_Maria_Intro1[] = _("A marathon is a challenge");
-const u8 gMatchCallFlavorText_Triathlete_Maria_Intro2[] = _("against your own self.");
-
-const u8 gMatchCallFlavorText_Triathlete_Abigail_Strategy[] = _("Defense is crucial.");
-const u8 gMatchCallFlavorText_Triathlete_Abigail_Pokemon[] = _("My POKéMON is solid.");
-const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro1[] = _("I started this for dieting,");
-const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro2[] = _("but I got right into it.");
-
-const u8 gMatchCallFlavorText_Triathlete_Dylan_Strategy[] = _("Strike before stricken!");
-const u8 gMatchCallFlavorText_Triathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!");
-const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro1[] = _("If you ran and ran, you'd");
-const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro2[] = _("become one with the wind.");
-
-const u8 gMatchCallFlavorText_Triathlete_Katelyn_Strategy[] = _("All-out offensive!");
-const u8 gMatchCallFlavorText_Triathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!");
-const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro1[] = _("I must swim over 6 miles");
-const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro2[] = _("every day.");
-
-const u8 gMatchCallFlavorText_Triathlete_Benjamin_Strategy[] = _("Push and push again!");
-const u8 gMatchCallFlavorText_Triathlete_Benjamin_Pokemon[] = _("The strength of STEEL.");
-const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro1[] = _("If you're sweating, get");
-const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro2[] = _("fluids into you regularly.");
-
-const u8 gMatchCallFlavorText_Triathlete_Pablo_Strategy[] = _("Draw the power of WATER.");
-const u8 gMatchCallFlavorText_Triathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON.");
-const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro1[] = _("Training POKéMON is good,");
-const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro2[] = _("but don't neglect yourself.");
-
-const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!");
-const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!");
-const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the");
-const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro2[] = _("strongest one day!");
-
-const u8 gMatchCallFlavorText_BirdKeeper_Robert_Strategy[] = _("I'll show you my technique!");
-const u8 gMatchCallFlavorText_BirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS.");
-const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my");
-const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro2[] = _("love to that girl!");
-
-const u8 gMatchCallFlavorText_NinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!");
-const u8 gMatchCallFlavorText_NinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON.");
-const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro1[] = _("I undertake training so");
-const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro2[] = _("that I may become a ninja.");
-
-const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Strategy[] = _("The first strike wins!");
-const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type.");
-const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,");
-const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!");
-
-const u8 gMatchCallFlavorText_ParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!");
-const u8 gMatchCallFlavorText_ParasolLady_Madeline_Pokemon[] = _("I'll raise anything.");
-const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro1[] = _("UV rays are your skin's");
-const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro2[] = _("enemy. Get protected.");
-
-const u8 gMatchCallFlavorText_Swimmer_Jenny_Strategy[] = _("No mercy!");
-const u8 gMatchCallFlavorText_Swimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON.");
-const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro1[] = _("I have too many fans.");
-const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro2[] = _("I was interviewed on TV.");
-
-const u8 gMatchCallFlavorText_Picnicker_Diana_Strategy[] = _("I think about this & that.");
-const u8 gMatchCallFlavorText_Picnicker_Diana_Pokemon[] = _("I like all POKéMON.");
-const u8 gMatchCallFlavorText_Picnicker_Diana_Intro1[] = _("What lies beyond that");
-const u8 gMatchCallFlavorText_Picnicker_Diana_Intro2[] = _("yonder hill?");
-
-const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Strategy[] = _("We battle together!");
-const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Pokemon[] = _("We train together!");
-const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,");
-const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro2[] = _("but different desserts.");
-
-const u8 gMatchCallFlavorText_Sailor_Ernest_Strategy[] = _("I force things with power!");
-const u8 gMatchCallFlavorText_Sailor_Ernest_Pokemon[] = _("WATER and FIGHTING types.");
-const u8 gMatchCallFlavorText_Sailor_Ernest_Intro1[] = _("Seamen are rough spirits!");
-const u8 gMatchCallFlavorText_Sailor_Ernest_Intro2[] = _("Any complaints?");
-
-const u8 gMatchCallFlavorText_Sailor_Cory_Strategy[] = _("Up for a fight anytime!");
-const u8 gMatchCallFlavorText_Sailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!");
-const u8 gMatchCallFlavorText_Sailor_Cory_Intro1[] = _("If you want to shout loud,");
-const u8 gMatchCallFlavorText_Sailor_Cory_Intro2[] = _("suck in air with your belly!");
-
-const u8 gMatchCallFlavorText_Collector_Edwin_Strategy[] = _("Protect POKéMON from harm.");
-const u8 gMatchCallFlavorText_Collector_Edwin_Pokemon[] = _("I love rare POKéMON.");
-const u8 gMatchCallFlavorText_Collector_Edwin_Intro1[] = _("I want to collect all the");
-const u8 gMatchCallFlavorText_Collector_Edwin_Intro2[] = _("world's rare POKéMON.");
-
-const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Strategy[] = _("I count on power.");
-const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children.");
-const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and");
-const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON.");
-
-const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Strategy[] = _("Full-on attack!");
-const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it.");
-const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for");
-const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles.");
-
-const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care.");
-const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON.");
-const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you");
-const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro2[] = _("meet with respect.");
-
-const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON.");
-const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON.");
-const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro1[] = _("I'm training for rescue");
-const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro2[] = _("work with my POKéMON.");
-
-const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Strategy[] = _("Attack in waves!");
-const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Pokemon[] = _("I use different types.");
-const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro1[] = _("Those who destroy nature");
-const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro2[] = _("must never be forgiven!");
-
-const u8 gMatchCallFlavorText_Lass_Haley_Strategy[] = _("I'll show you some guts!");
-const u8 gMatchCallFlavorText_Lass_Haley_Pokemon[] = _("Cute POKéMON are my faves!");
-const u8 gMatchCallFlavorText_Lass_Haley_Intro1[] = _("After a battle, I always");
-const u8 gMatchCallFlavorText_Lass_Haley_Intro2[] = _("bathe with my POKéMON.");
-
-const u8 gMatchCallFlavorText_BugCatcher_James_Strategy[] = _("Lightning-fast attack!");
-const u8 gMatchCallFlavorText_BugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!");
-const u8 gMatchCallFlavorText_BugCatcher_James_Intro1[] = _("If you want to catch BUG");
-const u8 gMatchCallFlavorText_BugCatcher_James_Intro2[] = _("POKéMON, wake up early.");
-
-const u8 gMatchCallFlavorText_Hiker_Trent_Strategy[] = _("I battle with power.");
-const u8 gMatchCallFlavorText_Hiker_Trent_Pokemon[] = _("Hard-bodied POKéMON.");
-const u8 gMatchCallFlavorText_Hiker_Trent_Intro1[] = _("I've been planning a month");
-const u8 gMatchCallFlavorText_Hiker_Trent_Intro2[] = _("for today's hike.");
-
-const u8 gMatchCallFlavorText_Hiker_Sawyer_Strategy[] = _("I like it hot!");
-const u8 gMatchCallFlavorText_Hiker_Sawyer_Pokemon[] = _("Hot POKéMON!");
-const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro1[] = _("As much as I love POKéMON,");
-const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro2[] = _("I surely like hiking!");
-
-const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!");
-const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!");
-const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!");
-const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!");
-
-const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Strategy[] = _("We let it all hang out.");
-const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught.");
-const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown");
-const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro2[] = _("stronger together.");
-
-const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack.");
-const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON.");
-const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears");
-const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility.");
-
-const u8 gMatchCallFlavorText_TheBigHit_Brawly_Strategy[] = _("Direct physical action!");
-const u8 gMatchCallFlavorText_TheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!");
-const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro1[] = _("The world awaits me as the");
-const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro2[] = _("next big wave!");
-
-const u8 gMatchCallFlavorText_SwellShock_Wattson_Strategy[] = _("I choose to electrify.");
-const u8 gMatchCallFlavorText_SwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!");
-const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro1[] = _("One must never throw a");
-const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro2[] = _("match. Even I must not.");
-
-const u8 gMatchCallFlavorText_PassionBurn_Flannery_Strategy[] = _("Battle aggressively.");
-const u8 gMatchCallFlavorText_PassionBurn_Flannery_Pokemon[] = _("Burn with passion!");
-const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro1[] = _("Completely wash away daily");
-const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!");
-
-const u8 gMatchCallFlavorText_ReliableOne_Dad_Strategy[] = _("I flexibly adapt my style.");
-const u8 gMatchCallFlavorText_ReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner.");
-const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from");
-const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro2[] = _("home to here every day.");
-
-const u8 gMatchCallFlavorText_SkyTamer_Winona_Strategy[] = _("I take advantage of speed.");
-const u8 gMatchCallFlavorText_SkyTamer_Winona_Pokemon[] = _("Graceful sky dancers.");
-const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro1[] = _("The ultimate would be to");
-const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro2[] = _("live as one with nature.");
-
-const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation.");
-const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON.");
-const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling");
-const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!");
-
-const u8 gMatchCallFlavorText_DandyCharm_Juan_Strategy[] = _("I use splendid waterpower.");
-const u8 gMatchCallFlavorText_DandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!");
-const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro1[] = _("The adulation of beautiful");
-const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro2[] = _("ladies fills me with energy!");
-
-const u8 gMatchCallFlavorText_EliteFour_Sidney_Strategy[] = _("Offense over defense!");
-const u8 gMatchCallFlavorText_EliteFour_Sidney_Pokemon[] = _("The DARK side's beauties.");
-const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro1[] = _("They said I was a punk, but");
-const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!");
-
-const u8 gMatchCallFlavorText_EliteFour_Phoebe_Strategy[] = _("Confuse and confound.");
-const u8 gMatchCallFlavorText_EliteFour_Phoebe_Pokemon[] = _("There's nothing definite.");
-const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at");
-const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?");
-
-const u8 gMatchCallFlavorText_EliteFour_Glacia_Strategy[] = _("I use items for help.");
-const u8 gMatchCallFlavorText_EliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!");
-const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro1[] = _("The ICE type can be better");
-const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro2[] = _("trained in this hot land.");
-
-const u8 gMatchCallFlavorText_EliteFour_Drake_Strategy[] = _("Harness strong abilities.");
-const u8 gMatchCallFlavorText_EliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!");
-const u8 gMatchCallFlavorText_EliteFour_Drake_Intro1[] = _("I dedicate myself to the");
-const u8 gMatchCallFlavorText_EliteFour_Drake_Intro2[] = _("POKéMON that saved me.");
-
-const u8 gMatchCallFlavorText_Champion_Wallace_Strategy[] = _("Dignity and respect.");
-const u8 gMatchCallFlavorText_Champion_Wallace_Pokemon[] = _("I prefer POKéMON of grace.");
-const u8 gMatchCallFlavorText_Champion_Wallace_Intro1[] = _("I represent beauty as");
-const u8 gMatchCallFlavorText_Champion_Wallace_Intro2[] = _("well as intelligence.");
-
-const u8 *const gMatchCallMessages[][4] =
+const u8 gText_MatchCallAromaLady_Rose_Strategy[] = _("Becalm fighting emotions.");
+const u8 gText_MatchCallAromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON.");
+const u8 gText_MatchCallAromaLady_Rose_Intro1[] = _("Soothing aromas make the");
+const u8 gText_MatchCallAromaLady_Rose_Intro2[] = _("body and mind healthy.");
+
+const u8 gText_MatchCallRuinManiac_Andres_Strategy[] = _("I'm not very good at this.");
+const u8 gText_MatchCallRuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners.");
+const u8 gText_MatchCallRuinManiac_Andres_Intro1[] = _("I am searching for undersea");
+const u8 gText_MatchCallRuinManiac_Andres_Intro2[] = _("ruins and relics.");
+
+const u8 gText_MatchCallRuinManiac_Dusty_Strategy[] = _("Overwhelm with power!");
+const u8 gText_MatchCallRuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON.");
+const u8 gText_MatchCallRuinManiac_Dusty_Intro1[] = _("In search of ancient lore,");
+const u8 gText_MatchCallRuinManiac_Dusty_Intro2[] = _("I travel the world.");
+
+const u8 gText_MatchCallTuber_Lola_Strategy[] = _("I'm going to try hard!");
+const u8 gText_MatchCallTuber_Lola_Pokemon[] = _("Good swimmer POKéMON.");
+const u8 gText_MatchCallTuber_Lola_Intro1[] = _("I wish I could swim without");
+const u8 gText_MatchCallTuber_Lola_Intro2[] = _("using an inner tube.");
+
+const u8 gText_MatchCallTuber_Ricky_Strategy[] = _("I don't know. I'll try hard.");
+const u8 gText_MatchCallTuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies.");
+const u8 gText_MatchCallTuber_Ricky_Intro1[] = _("It's not like I can't swim.");
+const u8 gText_MatchCallTuber_Ricky_Intro2[] = _("I just like my inner tube.");
+
+const u8 gText_MatchCallSisAndBro_LilaAndRoy_Strategy[] = _("We split our duties.");
+const u8 gText_MatchCallSisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON.");
+const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together");
+const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother.");
+
+const u8 gText_MatchCallCooltrainer_Cristin_Strategy[] = _("I finish with power moves!");
+const u8 gText_MatchCallCooltrainer_Cristin_Pokemon[] = _("A mix of different types.");
+const u8 gText_MatchCallCooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate");
+const u8 gText_MatchCallCooltrainer_Cristin_Intro2[] = _("TRAINER!");
+
+const u8 gText_MatchCallCooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness.");
+const u8 gText_MatchCallCooltrainer_Brooke_Pokemon[] = _("Balance is crucial.");
+const u8 gText_MatchCallCooltrainer_Brooke_Intro1[] = _("My goal is to become the");
+const u8 gText_MatchCallCooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION.");
+
+const u8 gText_MatchCallCooltrainer_Wilton_Strategy[] = _("Upset the opponent.");
+const u8 gText_MatchCallCooltrainer_Wilton_Pokemon[] = _("Type doesn't matter.");
+const u8 gText_MatchCallCooltrainer_Wilton_Intro1[] = _("I'm a top student at the");
+const u8 gText_MatchCallCooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL.");
+
+const u8 gText_MatchCallHexManiac_Valerie_Strategy[] = _("Slow, steady suffering.");
+const u8 gText_MatchCallHexManiac_Valerie_Pokemon[] = _("Scary to meet at night.");
+const u8 gText_MatchCallHexManiac_Valerie_Intro1[] = _("I see things that others");
+const u8 gText_MatchCallHexManiac_Valerie_Intro2[] = _("can't see...");
+
+const u8 gText_MatchCallLady_Cindy_Strategy[] = _("Anything to win.");
+const u8 gText_MatchCallLady_Cindy_Pokemon[] = _("Gorgeous type!");
+const u8 gText_MatchCallLady_Cindy_Intro1[] = _("I have a pool specially for");
+const u8 gText_MatchCallLady_Cindy_Intro2[] = _("my POKéMON at home.");
+
+const u8 gText_MatchCallBeauty_Thalia_Strategy[] = _("You'll fall under my spell!");
+const u8 gText_MatchCallBeauty_Thalia_Pokemon[] = _("Mature WATER type.");
+const u8 gText_MatchCallBeauty_Thalia_Intro1[] = _("I dream of cruising around");
+const u8 gText_MatchCallBeauty_Thalia_Intro2[] = _("the world on a luxury liner.");
+
+const u8 gText_MatchCallBeauty_Jessica_Strategy[] = _("I'll lead you astray.");
+const u8 gText_MatchCallBeauty_Jessica_Pokemon[] = _("Cute, of course.");
+const u8 gText_MatchCallBeauty_Jessica_Intro1[] = _("I love the SAFARI ZONE.");
+const u8 gText_MatchCallBeauty_Jessica_Intro2[] = _("I seem to end up there.");
+
+const u8 gText_MatchCallRichBoy_Winston_Strategy[] = _("Strategy? Who needs it?");
+const u8 gText_MatchCallRichBoy_Winston_Pokemon[] = _("I spent big money on it!");
+const u8 gText_MatchCallRichBoy_Winston_Intro1[] = _("I, being rich, sleep in a");
+const u8 gText_MatchCallRichBoy_Winston_Intro2[] = _("custom POKéMON bed.");
+
+const u8 gText_MatchCallPokeManiac_Steve_Strategy[] = _("Wrestle down with power.");
+const u8 gText_MatchCallPokeManiac_Steve_Pokemon[] = _("Took all night to catch.");
+const u8 gText_MatchCallPokeManiac_Steve_Intro1[] = _("Big, burly, and buff");
+const u8 gText_MatchCallPokeManiac_Steve_Intro2[] = _("POKéMON are the best...");
+
+const u8 gText_MatchCallSwimmer_Tony_Strategy[] = _("Ram at full speed!");
+const u8 gText_MatchCallSwimmer_Tony_Pokemon[] = _("Funky WATER type!");
+const u8 gText_MatchCallSwimmer_Tony_Intro1[] = _("If I can't be out swimming,");
+const u8 gText_MatchCallSwimmer_Tony_Intro2[] = _("I'll be pumping weights.");
+
+const u8 gText_MatchCallBlackBelt_Nob_Strategy[] = _("Grand slam pummeling!");
+const u8 gText_MatchCallBlackBelt_Nob_Pokemon[] = _("FIGHTING type.");
+const u8 gText_MatchCallBlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust");
+const u8 gText_MatchCallBlackBelt_Nob_Intro2[] = _("ten roof tiles!");
+
+const u8 gText_MatchCallBlackBelt_Koji_Strategy[] = _("Witness karate power!");
+const u8 gText_MatchCallBlackBelt_Koji_Pokemon[] = _("My partners in training!");
+const u8 gText_MatchCallBlackBelt_Koji_Intro1[] = _("Let us discuss matters of");
+const u8 gText_MatchCallBlackBelt_Koji_Intro2[] = _("the world with bare fists!");
+
+const u8 gText_MatchCallGuitarist_Fernando_Strategy[] = _("Rock to stunning sounds!");
+const u8 gText_MatchCallGuitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!");
+const u8 gText_MatchCallGuitarist_Fernando_Intro1[] = _("My compositions will shock");
+const u8 gText_MatchCallGuitarist_Fernando_Intro2[] = _("you and stun you!");
+
+const u8 gText_MatchCallGuitarist_Dalton_Strategy[] = _("I'll electrify you!");
+const u8 gText_MatchCallGuitarist_Dalton_Pokemon[] = _("They're ELECTRIC!");
+const u8 gText_MatchCallGuitarist_Dalton_Intro1[] = _("I want to make people cry");
+const u8 gText_MatchCallGuitarist_Dalton_Intro2[] = _("with songs from my heart.");
+
+const u8 gText_MatchCallKindler_Bernie_Strategy[] = _("Burn it all down!");
+const u8 gText_MatchCallKindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON.");
+const u8 gText_MatchCallKindler_Bernie_Intro1[] = _("When you light a campfire,");
+const u8 gText_MatchCallKindler_Bernie_Intro2[] = _("be sure there's some water.");
+
+const u8 gText_MatchCallCamper_Ethan_Strategy[] = _("Hang in and be tenacious!");
+const u8 gText_MatchCallCamper_Ethan_Pokemon[] = _("I'll raise any POKéMON.");
+const u8 gText_MatchCallCamper_Ethan_Intro1[] = _("POKéMON raised in the wild");
+const u8 gText_MatchCallCamper_Ethan_Intro2[] = _("grow strong!");
+
+const u8 gText_MatchCallOldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail.");
+const u8 gText_MatchCallOldCouple_JohnAndJay_Pokemon[] = _("We've had them for years.");
+const u8 gText_MatchCallOldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've");
+const u8 gText_MatchCallOldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON.");
+
+const u8 gText_MatchCallBugManiac_Jeffrey_Strategy[] = _("Attack in waves!");
+const u8 gText_MatchCallBugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool.");
+const u8 gText_MatchCallBugManiac_Jeffrey_Intro1[] = _("I go into the forest every");
+const u8 gText_MatchCallBugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON.");
+
+const u8 gText_MatchCallPsychic_Cameron_Strategy[] = _("Daze and confuse!");
+const u8 gText_MatchCallPsychic_Cameron_Pokemon[] = _("Ones with weird powers.");
+const u8 gText_MatchCallPsychic_Cameron_Intro1[] = _("I can see through exactly");
+const u8 gText_MatchCallPsychic_Cameron_Intro2[] = _("what you're thinking!");
+
+const u8 gText_MatchCallPsychic_Jacki_Strategy[] = _("Battle at full power.");
+const u8 gText_MatchCallPsychic_Jacki_Pokemon[] = _("POKéMON of many mysteries.");
+const u8 gText_MatchCallPsychic_Jacki_Intro1[] = _("When we spoke, I was really");
+const u8 gText_MatchCallPsychic_Jacki_Intro2[] = _("using telepathy.");
+
+const u8 gText_MatchCallGentleman_Walter_Strategy[] = _("Calm and collected.");
+const u8 gText_MatchCallGentleman_Walter_Pokemon[] = _("POKéMON of distinction.");
+const u8 gText_MatchCallGentleman_Walter_Intro1[] = _("We enjoy a spot of tea");
+const u8 gText_MatchCallGentleman_Walter_Intro2[] = _("every day. It's imported.");
+
+const u8 gText_MatchCallSchoolKid_Karen_Strategy[] = _("I use my head to battle.");
+const u8 gText_MatchCallSchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!");
+const u8 gText_MatchCallSchoolKid_Karen_Intro1[] = _("My daddy gives me spending");
+const u8 gText_MatchCallSchoolKid_Karen_Intro2[] = _("money if I ace a test.");
+
+const u8 gText_MatchCallSchoolKid_Jerry_Strategy[] = _("My knowledge rules!");
+const u8 gText_MatchCallSchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!");
+const u8 gText_MatchCallSchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON");
+const u8 gText_MatchCallSchoolKid_Jerry_Intro2[] = _("researcher in the future.");
+
+const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first.");
+const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like.");
+const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior");
+const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!");
+
+const u8 gText_MatchCallPokefan_Isabel_Strategy[] = _("Go for it, my dears!");
+const u8 gText_MatchCallPokefan_Isabel_Pokemon[] = _("I have no likes or dislikes.");
+const u8 gText_MatchCallPokefan_Isabel_Intro1[] = _("While out shopping for");
+const u8 gText_MatchCallPokefan_Isabel_Intro2[] = _("supper, I battle too.");
+
+const u8 gText_MatchCallPokefan_Miguel_Strategy[] = _("I battle with love!");
+const u8 gText_MatchCallPokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!");
+const u8 gText_MatchCallPokefan_Miguel_Intro1[] = _("It's important to build");
+const u8 gText_MatchCallPokefan_Miguel_Intro2[] = _("trust with your POKéMON.");
+
+const u8 gText_MatchCallExpert_Timothy_Strategy[] = _("I see through your moves!");
+const u8 gText_MatchCallExpert_Timothy_Pokemon[] = _("The essence of FIGHTING.");
+const u8 gText_MatchCallExpert_Timothy_Intro1[] = _("I'm not ready to give way");
+const u8 gText_MatchCallExpert_Timothy_Intro2[] = _("to the young yet!");
+
+const u8 gText_MatchCallExpert_Shelby_Strategy[] = _("Attack while defending.");
+const u8 gText_MatchCallExpert_Shelby_Pokemon[] = _("The FIGHTING type.");
+const u8 gText_MatchCallExpert_Shelby_Intro1[] = _("Being old, I have my own");
+const u8 gText_MatchCallExpert_Shelby_Intro2[] = _("style of battling.");
+
+const u8 gText_MatchCallYoungster_Calvin_Strategy[] = _("I do what I can.");
+const u8 gText_MatchCallYoungster_Calvin_Pokemon[] = _("I use different types.");
+const u8 gText_MatchCallYoungster_Calvin_Intro1[] = _("I'm going to keep working");
+const u8 gText_MatchCallYoungster_Calvin_Intro2[] = _("until I beat a GYM LEADER.");
+
+const u8 gText_MatchCallFisherman_Elliot_Strategy[] = _("I battle patiently.");
+const u8 gText_MatchCallFisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!");
+const u8 gText_MatchCallFisherman_Elliot_Intro1[] = _("I'm the world's only guy to");
+const u8 gText_MatchCallFisherman_Elliot_Intro2[] = _("catch a huge POKéMON!");
+
+const u8 gText_MatchCallTriathlete_Isaiah_Strategy[] = _("Exploit the environment!");
+const u8 gText_MatchCallTriathlete_Isaiah_Pokemon[] = _("All hail the WATER type!");
+const u8 gText_MatchCallTriathlete_Isaiah_Intro1[] = _("I won't be beaten by some");
+const u8 gText_MatchCallTriathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!");
+
+const u8 gText_MatchCallTriathlete_Maria_Strategy[] = _("Speed above all!");
+const u8 gText_MatchCallTriathlete_Maria_Pokemon[] = _("I use a speedy POKéMON.");
+const u8 gText_MatchCallTriathlete_Maria_Intro1[] = _("A marathon is a challenge");
+const u8 gText_MatchCallTriathlete_Maria_Intro2[] = _("against your own self.");
+
+const u8 gText_MatchCallTriathlete_Abigail_Strategy[] = _("Defense is crucial.");
+const u8 gText_MatchCallTriathlete_Abigail_Pokemon[] = _("My POKéMON is solid.");
+const u8 gText_MatchCallTriathlete_Abigail_Intro1[] = _("I started this for dieting,");
+const u8 gText_MatchCallTriathlete_Abigail_Intro2[] = _("but I got right into it.");
+
+const u8 gText_MatchCallTriathlete_Dylan_Strategy[] = _("Strike before stricken!");
+const u8 gText_MatchCallTriathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!");
+const u8 gText_MatchCallTriathlete_Dylan_Intro1[] = _("If you ran and ran, you'd");
+const u8 gText_MatchCallTriathlete_Dylan_Intro2[] = _("become one with the wind.");
+
+const u8 gText_MatchCallTriathlete_Katelyn_Strategy[] = _("All-out offensive!");
+const u8 gText_MatchCallTriathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!");
+const u8 gText_MatchCallTriathlete_Katelyn_Intro1[] = _("I must swim over 6 miles");
+const u8 gText_MatchCallTriathlete_Katelyn_Intro2[] = _("every day.");
+
+const u8 gText_MatchCallTriathlete_Benjamin_Strategy[] = _("Push and push again!");
+const u8 gText_MatchCallTriathlete_Benjamin_Pokemon[] = _("The strength of STEEL.");
+const u8 gText_MatchCallTriathlete_Benjamin_Intro1[] = _("If you're sweating, get");
+const u8 gText_MatchCallTriathlete_Benjamin_Intro2[] = _("fluids into you regularly.");
+
+const u8 gText_MatchCallTriathlete_Pablo_Strategy[] = _("Draw the power of WATER.");
+const u8 gText_MatchCallTriathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON.");
+const u8 gText_MatchCallTriathlete_Pablo_Intro1[] = _("Training POKéMON is good,");
+const u8 gText_MatchCallTriathlete_Pablo_Intro2[] = _("but don't neglect yourself.");
+
+const u8 gText_MatchCallDragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!");
+const u8 gText_MatchCallDragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!");
+const u8 gText_MatchCallDragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the");
+const u8 gText_MatchCallDragonTamer_Nicolas_Intro2[] = _("strongest one day!");
+
+const u8 gText_MatchCallBirdKeeper_Robert_Strategy[] = _("I'll show you my technique!");
+const u8 gText_MatchCallBirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS.");
+const u8 gText_MatchCallBirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my");
+const u8 gText_MatchCallBirdKeeper_Robert_Intro2[] = _("love to that girl!");
+
+const u8 gText_MatchCallNinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!");
+const u8 gText_MatchCallNinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON.");
+const u8 gText_MatchCallNinjaBoy_Lao_Intro1[] = _("I undertake training so");
+const u8 gText_MatchCallNinjaBoy_Lao_Intro2[] = _("that I may become a ninja.");
+
+const u8 gText_MatchCallBattleGirl_Cyndy_Strategy[] = _("The first strike wins!");
+const u8 gText_MatchCallBattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type.");
+const u8 gText_MatchCallBattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,");
+const u8 gText_MatchCallBattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!");
+
+const u8 gText_MatchCallParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!");
+const u8 gText_MatchCallParasolLady_Madeline_Pokemon[] = _("I'll raise anything.");
+const u8 gText_MatchCallParasolLady_Madeline_Intro1[] = _("UV rays are your skin's");
+const u8 gText_MatchCallParasolLady_Madeline_Intro2[] = _("enemy. Get protected.");
+
+const u8 gText_MatchCallSwimmer_Jenny_Strategy[] = _("No mercy!");
+const u8 gText_MatchCallSwimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON.");
+const u8 gText_MatchCallSwimmer_Jenny_Intro1[] = _("I have too many fans.");
+const u8 gText_MatchCallSwimmer_Jenny_Intro2[] = _("I was interviewed on TV.");
+
+const u8 gText_MatchCallPicnicker_Diana_Strategy[] = _("I think about this & that.");
+const u8 gText_MatchCallPicnicker_Diana_Pokemon[] = _("I like all POKéMON.");
+const u8 gText_MatchCallPicnicker_Diana_Intro1[] = _("What lies beyond that");
+const u8 gText_MatchCallPicnicker_Diana_Intro2[] = _("yonder hill?");
+
+const u8 gText_MatchCallTwins_AmyAndLiv_Strategy[] = _("We battle together!");
+const u8 gText_MatchCallTwins_AmyAndLiv_Pokemon[] = _("We train together!");
+const u8 gText_MatchCallTwins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,");
+const u8 gText_MatchCallTwins_AmyAndLiv_Intro2[] = _("but different desserts.");
+
+const u8 gText_MatchCallSailor_Ernest_Strategy[] = _("I force things with power!");
+const u8 gText_MatchCallSailor_Ernest_Pokemon[] = _("WATER and FIGHTING types.");
+const u8 gText_MatchCallSailor_Ernest_Intro1[] = _("Seamen are rough spirits!");
+const u8 gText_MatchCallSailor_Ernest_Intro2[] = _("Any complaints?");
+
+const u8 gText_MatchCallSailor_Cory_Strategy[] = _("Up for a fight anytime!");
+const u8 gText_MatchCallSailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!");
+const u8 gText_MatchCallSailor_Cory_Intro1[] = _("If you want to shout loud,");
+const u8 gText_MatchCallSailor_Cory_Intro2[] = _("suck in air with your belly!");
+
+const u8 gText_MatchCallCollector_Edwin_Strategy[] = _("Protect POKéMON from harm.");
+const u8 gText_MatchCallCollector_Edwin_Pokemon[] = _("I love rare POKéMON.");
+const u8 gText_MatchCallCollector_Edwin_Intro1[] = _("I want to collect all the");
+const u8 gText_MatchCallCollector_Edwin_Intro2[] = _("world's rare POKéMON.");
+
+const u8 gText_MatchCallPkmnBreeder_Lydia_Strategy[] = _("I count on power.");
+const u8 gText_MatchCallPkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children.");
+const u8 gText_MatchCallPkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and");
+const u8 gText_MatchCallPkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON.");
+
+const u8 gText_MatchCallPkmnBreeder_Isaac_Strategy[] = _("Full-on attack!");
+const u8 gText_MatchCallPkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it.");
+const u8 gText_MatchCallPkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for");
+const u8 gText_MatchCallPkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles.");
+
+const u8 gText_MatchCallPkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care.");
+const u8 gText_MatchCallPkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON.");
+const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you");
+const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro2[] = _("meet with respect.");
+
+const u8 gText_MatchCallPkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON.");
+const u8 gText_MatchCallPkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON.");
+const u8 gText_MatchCallPkmnRanger_Catherine_Intro1[] = _("I'm training for rescue");
+const u8 gText_MatchCallPkmnRanger_Catherine_Intro2[] = _("work with my POKéMON.");
+
+const u8 gText_MatchCallPkmnRanger_Jackson_Strategy[] = _("Attack in waves!");
+const u8 gText_MatchCallPkmnRanger_Jackson_Pokemon[] = _("I use different types.");
+const u8 gText_MatchCallPkmnRanger_Jackson_Intro1[] = _("Those who destroy nature");
+const u8 gText_MatchCallPkmnRanger_Jackson_Intro2[] = _("must never be forgiven!");
+
+const u8 gText_MatchCallLass_Haley_Strategy[] = _("I'll show you some guts!");
+const u8 gText_MatchCallLass_Haley_Pokemon[] = _("Cute POKéMON are my faves!");
+const u8 gText_MatchCallLass_Haley_Intro1[] = _("After a battle, I always");
+const u8 gText_MatchCallLass_Haley_Intro2[] = _("bathe with my POKéMON.");
+
+const u8 gText_MatchCallBugCatcher_James_Strategy[] = _("Lightning-fast attack!");
+const u8 gText_MatchCallBugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!");
+const u8 gText_MatchCallBugCatcher_James_Intro1[] = _("If you want to catch BUG");
+const u8 gText_MatchCallBugCatcher_James_Intro2[] = _("POKéMON, wake up early.");
+
+const u8 gText_MatchCallHiker_Trent_Strategy[] = _("I battle with power.");
+const u8 gText_MatchCallHiker_Trent_Pokemon[] = _("Hard-bodied POKéMON.");
+const u8 gText_MatchCallHiker_Trent_Intro1[] = _("I've been planning a month");
+const u8 gText_MatchCallHiker_Trent_Intro2[] = _("for today's hike.");
+
+const u8 gText_MatchCallHiker_Sawyer_Strategy[] = _("I like it hot!");
+const u8 gText_MatchCallHiker_Sawyer_Pokemon[] = _("Hot POKéMON!");
+const u8 gText_MatchCallHiker_Sawyer_Intro1[] = _("As much as I love POKéMON,");
+const u8 gText_MatchCallHiker_Sawyer_Intro2[] = _("I surely like hiking!");
+
+const u8 gText_MatchCallYoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!");
+const u8 gText_MatchCallYoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!");
+const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!");
+const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!");
+
+const u8 gText_MatchCallPkmnTrainer_Wally_Strategy[] = _("We let it all hang out.");
+const u8 gText_MatchCallPkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught.");
+const u8 gText_MatchCallPkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown");
+const u8 gText_MatchCallPkmnTrainer_Wally_Intro2[] = _("stronger together.");
+
+const u8 gText_MatchCallRockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack.");
+const u8 gText_MatchCallRockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON.");
+const u8 gText_MatchCallRockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears");
+const u8 gText_MatchCallRockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility.");
+
+const u8 gText_MatchCallTheBigHit_Brawly_Strategy[] = _("Direct physical action!");
+const u8 gText_MatchCallTheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!");
+const u8 gText_MatchCallTheBigHit_Brawly_Intro1[] = _("The world awaits me as the");
+const u8 gText_MatchCallTheBigHit_Brawly_Intro2[] = _("next big wave!");
+
+const u8 gText_MatchCallSwellShock_Wattson_Strategy[] = _("I choose to electrify.");
+const u8 gText_MatchCallSwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!");
+const u8 gText_MatchCallSwellShock_Wattson_Intro1[] = _("One must never throw a");
+const u8 gText_MatchCallSwellShock_Wattson_Intro2[] = _("match. Even I must not.");
+
+const u8 gText_MatchCallPassionBurn_Flannery_Strategy[] = _("Battle aggressively.");
+const u8 gText_MatchCallPassionBurn_Flannery_Pokemon[] = _("Burn with passion!");
+const u8 gText_MatchCallPassionBurn_Flannery_Intro1[] = _("Completely wash away daily");
+const u8 gText_MatchCallPassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!");
+
+const u8 gText_MatchCallReliableOne_Dad_Strategy[] = _("I flexibly adapt my style.");
+const u8 gText_MatchCallReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner.");
+const u8 gText_MatchCallReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from");
+const u8 gText_MatchCallReliableOne_Dad_Intro2[] = _("home to here every day.");
+
+const u8 gText_MatchCallSkyTamer_Winona_Strategy[] = _("I take advantage of speed.");
+const u8 gText_MatchCallSkyTamer_Winona_Pokemon[] = _("Graceful sky dancers.");
+const u8 gText_MatchCallSkyTamer_Winona_Intro1[] = _("The ultimate would be to");
+const u8 gText_MatchCallSkyTamer_Winona_Intro2[] = _("live as one with nature.");
+
+const u8 gText_MatchCallMysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation.");
+const u8 gText_MatchCallMysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON.");
+const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling");
+const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!");
+
+const u8 gText_MatchCallDandyCharm_Juan_Strategy[] = _("I use splendid waterpower.");
+const u8 gText_MatchCallDandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!");
+const u8 gText_MatchCallDandyCharm_Juan_Intro1[] = _("The adulation of beautiful");
+const u8 gText_MatchCallDandyCharm_Juan_Intro2[] = _("ladies fills me with energy!");
+
+const u8 gText_MatchCallEliteFour_Sidney_Strategy[] = _("Offense over defense!");
+const u8 gText_MatchCallEliteFour_Sidney_Pokemon[] = _("The DARK side's beauties.");
+const u8 gText_MatchCallEliteFour_Sidney_Intro1[] = _("They said I was a punk, but");
+const u8 gText_MatchCallEliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!");
+
+const u8 gText_MatchCallEliteFour_Phoebe_Strategy[] = _("Confuse and confound.");
+const u8 gText_MatchCallEliteFour_Phoebe_Pokemon[] = _("There's nothing definite.");
+const u8 gText_MatchCallEliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at");
+const u8 gText_MatchCallEliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?");
+
+const u8 gText_MatchCallEliteFour_Glacia_Strategy[] = _("I use items for help.");
+const u8 gText_MatchCallEliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!");
+const u8 gText_MatchCallEliteFour_Glacia_Intro1[] = _("The ICE type can be better");
+const u8 gText_MatchCallEliteFour_Glacia_Intro2[] = _("trained in this hot land.");
+
+const u8 gText_MatchCallEliteFour_Drake_Strategy[] = _("Harness strong abilities.");
+const u8 gText_MatchCallEliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!");
+const u8 gText_MatchCallEliteFour_Drake_Intro1[] = _("I dedicate myself to the");
+const u8 gText_MatchCallEliteFour_Drake_Intro2[] = _("POKéMON that saved me.");
+
+const u8 gText_MatchCallChampion_Wallace_Strategy[] = _("Dignity and respect.");
+const u8 gText_MatchCallChampion_Wallace_Pokemon[] = _("I prefer POKéMON of grace.");
+const u8 gText_MatchCallChampion_Wallace_Intro1[] = _("I represent beauty as");
+const u8 gText_MatchCallChampion_Wallace_Intro2[] = _("well as intelligence.");
+
+const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] =
{
[REMATCH_ROSE] = MCFLAVOR(AromaLady_Rose),
[REMATCH_ANDRES] = MCFLAVOR(RuinManiac_Andres),
diff --git a/src/data/trade.h b/src/data/trade.h
new file mode 100644
index 000000000..8601af2a8
--- /dev/null
+++ b/src/data/trade.h
@@ -0,0 +1,1214 @@
+// Exists unused in RS as well
+static const u32 sUnusedStructSizes[] =
+{
+ sizeof(struct SaveBlock2),
+ sizeof(struct SaveBlock1),
+ sizeof(struct MapHeader),
+ // 0x00000530, in RS
+ sizeof(struct MailStruct), //or EventObject / EventObjectGraphicsInfo
+ sizeof(struct Pokemon), //or TrainerCard
+ 0x00000528 // 0x000004D8, in RS
+};
+
+static const u16 sTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin");
+static const u16 sTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin");
+static const u8 sTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin");
+static const u8 sTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin");
+static const u8 sText_EmptyString[] = _("");
+static const u8 sText_UnusedTextFormat[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}");
+const u8 gText_MaleSymbol4[] = _("♂");
+const u8 gText_FemaleSymbol4[] = _("♀");
+const u8 gText_GenderlessSymbol[] = _("");
+static const u8 sText_SpaceMove[] = _(" MOVE"); // unused
+static const u8 sText_NewLine[] = _("\n");
+static const u8 sText_Slash[] = _("/");
+static const u8 sText_Lv[] = _("Lv. ");
+static const u8 sText_ThreeDashes[] = _("---");
+static const u8 sText_FourQuestionMarks[] = _("????");
+static const u8 sText_832DAE4[] = _("");
+static const u8 sText_IsThisTradeOkay[] = _("Is this trade okay?");
+static const u8 sText_Cancel[] = _("CANCEL");
+static const u8 sText_ChooseAPkmn[] = _("Choose a POKéMON.");
+static const u8 sText_Summary[] = _("SUMMARY");
+static const u8 sText_Trade[] = _("TRADE");
+static const u8 sText_CancelTrade[] = _("Cancel trade?");
+static const u8 sJPText_PressBButtonToQuit[] = _("Bボタン で もどります");
+static const u8 sText_Summary2[] = _("SUMMARY");
+static const u8 sText_Trade2[] = _("TRADE");
+static const u8 sText_CommunicationStandby[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait.");
+static const u8 sText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.");
+static const u8 sText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle.");
+static const u8 sText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…");
+static const u8 sText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON.");
+
+static const struct OamData sTradeOamData_32x16 =
+{
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
+ .priority = 1
+};
+
+static const struct OamData sTradeOamData_64x32 =
+{
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .priority = 1
+};
+
+static const union AnimCmd gSpriteAnim_832DC24[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_832DC2C[] =
+{
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_832DC34[] =
+{
+ gSpriteAnim_832DC24,
+ gSpriteAnim_832DC2C
+};
+
+static const struct SpriteSheet sTradeButtonsSpriteSheet =
+{
+ .data = gTradeButtons_Gfx,
+ .size = 0x800,
+ .tag = 300
+};
+
+static const struct SpritePalette gUnknown_0832DC44 =
+{
+ .data = gUnknown_08DDB444,
+ .tag = 2345
+};
+
+static const union AnimCmd gSpriteAnim_832DC4C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_832DC54[] =
+{
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_832DC5C[] =
+{
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_832DC64[] =
+{
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_832DC6C[] =
+{
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_832DC74[] =
+{
+ ANIMCMD_FRAME(40, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_832DC7C[] =
+{
+ gSpriteAnim_832DC4C,
+ gSpriteAnim_832DC54,
+ gSpriteAnim_832DC5C,
+ gSpriteAnim_832DC64,
+ gSpriteAnim_832DC6C,
+ gSpriteAnim_832DC74
+};
+
+static const struct SpriteTemplate gSpriteTemplate_832DC94 =
+{
+ .tileTag = 300,
+ .paletteTag = 2345,
+ .oam = &sTradeOamData_64x32,
+ .anims = gSpriteAnimTable_832DC34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct SpriteTemplate gSpriteTemplate_832DCAC =
+{
+ .tileTag = 200,
+ .paletteTag = 4925,
+ .oam = &sTradeOamData_32x16,
+ .anims = gSpriteAnimTable_832DC7C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal");
+static const struct SpritePalette gSpritePalette_TradeScreenText =
+{
+ .data = TradeScreenTextPalette,
+ .tag = 4925
+};
+
+// This is used to determine the next mon to select when the D-Pad is
+// pressed in a given direction.
+// Note that the mons are laid out like this.
+// 0-5 are the player's party and 6-11 are the trading partner's party.
+// 12 is the cancel button.
+// 0 1 6 7
+// 2 3 8 9
+// 4 5 10 11
+// 12
+// 1st array is the current positions
+// 2nd array is directions of input
+// 3rd array is the next positions to go to (unoccupied spaces are skipped over)
+static const u8 sTradeNextSelectedMonTable[(PARTY_SIZE * 2) + 1][4][PARTY_SIZE] =
+{
+ {
+ {4, 2, 12, 12, 0, 0}, // UP
+ {2, 4, 12, 12, 0, 0}, // DOWN
+ {7, 6, 1, 0, 0, 0}, // LEFT
+ {1, 6, 7, 0, 0, 0} // RIGHT
+ },
+ {
+ {5, 3, 12, 12, 0, 0},
+ {3, 5, 12, 12, 0, 0},
+ {0, 7, 6, 1, 0, 0},
+ {6, 7, 0, 1, 0, 0}
+ },
+ {
+ {0, 0, 0, 0, 0, 0},
+ {4, 0, 0, 0, 0, 0},
+ {9, 8, 7, 6, 0, 0},
+ {3, 1, 0, 0, 0, 0}
+ },
+ {
+ {1, 1, 1, 1, 0, 0},
+ {5, 1, 1, 1, 0, 0},
+ {2, 9, 8, 7, 0, 0},
+ {8, 9, 6, 6, 0, 0}
+ },
+ {
+ {2, 2, 2, 2, 0, 0},
+ {0, 0, 0, 0, 0, 0},
+ {11, 10, 9, 8, 7, 6},
+ {5, 3, 1, 0, 0, 0}
+ },
+ {
+ {3, 3, 3, 3, 0, 0},
+ {1, 1, 1, 1, 0, 0},
+ {4, 4, 4, 4, 0, 0},
+ {10, 8, 6, 0, 0, 0}
+ },
+ {
+ {10, 8, 12, 0, 0, 0},
+ {8, 10, 12, 0, 0, 0},
+ {1, 0, 0, 0, 0, 0},
+ {7, 0, 1, 0, 0, 0}
+ },
+ {
+ {12, 0, 0, 0, 0, 0},
+ {9, 12, 0, 0, 0, 0},
+ {6, 0, 0, 0, 0, 0},
+ {0, 0, 0, 0, 0, 0}
+ },
+ {
+ {6, 0, 0, 0, 0, 0},
+ {10, 6, 0, 0, 0, 0},
+ {3, 2, 1, 0, 0, 0},
+ {9, 7, 0, 0, 0, 0}
+ },
+ {
+ {7, 0, 0, 0, 0, 0},
+ {11, 12, 0, 0, 0, 0},
+ {8, 0, 0, 0, 0, 0},
+ {2, 1, 0, 0, 0, 0}
+ },
+ {
+ {8, 0, 0, 0, 0, 0},
+ {6, 0, 0, 0, 0, 0},
+ {5, 4, 3, 2, 1, 0},
+ {11, 9, 7, 0, 0, 0}
+ },
+ {
+ {9, 0, 0, 0, 0, 0},
+ {12, 0, 0, 0, 0, 0},
+ {10, 0, 0, 0, 0, 0},
+ {4, 2, 0, 0, 0, 0}
+ },
+ {
+ {11, 9, 7, 6, 0, 0},
+ {7, 6, 0, 0, 0, 0},
+ {12, 0, 0, 0, 0, 0},
+ {12, 0, 0, 0, 0, 0}
+ }
+};
+
+static const u8 sTradeMonSpriteCoords[(PARTY_SIZE * 2) + 1][2] =
+{
+ // Your party
+ {1, 5 },
+ {8, 5 },
+ {1, 10},
+ {8, 10},
+ {1, 15},
+ {8, 15},
+
+ // Friend's party
+ {16, 5 },
+ {23, 5 },
+ {16, 10},
+ {23, 10},
+ {16, 15},
+ {23, 15},
+
+ {23, 18} // CANCEL
+};
+
+static const u8 sTradeMonLevelCoords[][2][2] =
+{
+ // Your party
+ {
+ {5, 4},
+ {12, 4},
+ },
+ {
+ {5, 9},
+ {12, 9},
+ },
+ {
+ {5, 14},
+ {12, 14},
+ },
+ // Friend's party
+ {
+
+ {20, 4},
+ {27, 4},
+ },
+ {
+ {20, 9},
+ {27, 9},
+ },
+ {
+ {20, 14},
+ {27, 14},
+ },
+};
+
+static const u8 sTradeMonBoxCoords[][2][2] =
+{
+ // Your party
+ {
+ {1, 3},
+ {8, 3},
+ },
+ {
+ {1, 8},
+ {8, 8},
+ },
+ {
+ {1, 13},
+ {8, 13},
+ },
+ // Friend's party
+ {
+ {16, 3},
+ {23, 3},
+ },
+ {
+ {16, 8},
+ {23, 8},
+ },
+ {
+ {16, 13},
+ {23, 13},
+ },
+};
+
+static const u8 sUnref_0832DE6E[] =
+{
+ 0x00, 0x0e,
+ 0x0f, 0x1d,
+ 0x03, 0x05,
+ 0x03, 0x07,
+ 0x12, 0x05,
+ 0x12, 0x07,
+ 0x08, 0x07,
+ 0x16, 0x0c,
+ 0x08, 0x07,
+ 0x16, 0x0c,
+ 0x06, 0x07,
+ 0x18, 0x0c,
+ 0x06, 0x07,
+ 0x18, 0x0c,
+ 0x08, 0x07,
+ 0x16, 0x0c,
+ 0x07, 0x07,
+ 0x17, 0x0c
+};
+
+static const u8 *const sTradeActionTexts[] =
+{
+ [TRADE_TEXT_CANCEL] = sText_Cancel,
+ [TRADE_TEXT_CHOOSE_MON] = sText_ChooseAPkmn,
+ [TRADE_TEXT_SUMMARY] = sText_Summary,
+ [TRADE_TEXT_TRADE] = sText_Trade,
+ [TRADE_TEXT_CANCEL_TRADE] = sText_CancelTrade,
+ [TRADE_TEXT_JP_QUIT] = sJPText_PressBButtonToQuit
+};
+
+static const struct MenuAction sSelectTradeMonActions[] =
+{
+ {sText_Summary2, Task_DrawSelectionSummary},
+ {sText_Trade2, Task_DrawSelectionTrade}
+};
+
+static const u8 *const sTradeMessages[] =
+{
+ [TRADE_MSG_STANDBY] = sText_CommunicationStandby,
+ [TRADE_MSG_CANCELED] = sText_TheTradeHasBeenCanceled,
+ [TRADE_MSG_ONLY_MON1] = sText_OnlyPkmnForBattle,
+ [TRADE_MSG_ONLY_MON2] = gText_OnlyPkmnForBattle, //identical text to above
+ [TRADE_MSG_WAITING_FOR_FRIEND] = sText_WaitingForYourFriend,
+ [TRADE_MSG_FRIEND_WANTS_TO_TRADE] = sText_YourFriendWantsToTrade,
+ [TRADE_MSG_MON_CANT_BE_TRADED] = gText_PkmnCantBeTradedNow,
+ [TRADE_MSG_EGG_CANT_BE_TRADED] = gText_EggCantBeTradedNow,
+ [TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED] = gText_OtherTrainersPkmnCantBeTraded
+};
+
+static const u8 sTradeTextColors[] =
+{
+ TEXT_COLOR_TRANSPARENT, //bg color
+ TEXT_COLOR_WHITE, //fg color
+ TEXT_COLOR_DARK_GREY //shadow color
+};
+
+static const struct BgTemplate sTradeMenuBgTemplates[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 5,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 6,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 7,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+};
+
+static const struct WindowTemplate sTradeMenuWindowTemplates[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 4,
+ .tilemapTop = 7,
+ .width = 22,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 30
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 19,
+ .tilemapTop = 15,
+ .width = 10,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 118
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 5,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 158
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 7,
+ .tilemapTop = 5,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 174
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 10,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 190
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 7,
+ .tilemapTop = 10,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 206
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 15,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 222
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 7,
+ .tilemapTop = 15,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 238
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 15,
+ .tilemapTop = 5,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 254
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 5,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 270
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 15,
+ .tilemapTop = 10,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 286
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 10,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 302
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 15,
+ .tilemapTop = 15,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 318
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 15,
+ .width = 8,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 334
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 5,
+ .width = 14,
+ .height = 2,
+ .paletteNum = 13,
+ .baseBlock = 350
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 3,
+ .tilemapTop = 8,
+ .width = 11,
+ .height = 8,
+ .paletteNum = 15,
+ .baseBlock = 378
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 17,
+ .tilemapTop = 5,
+ .width = 14,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 466
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 18,
+ .tilemapTop = 8,
+ .width = 11,
+ .height = 8,
+ .paletteNum = 15,
+ .baseBlock = 494
+ },
+ DUMMY_WIN_TEMPLATE,
+};
+
+static const struct WindowTemplate sTradeYesNoWindowTemplate =
+{
+ .bg = 0,
+ .tilemapLeft = 23,
+ .tilemapTop = 13,
+ .width = 5,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 582
+};
+
+static const u8 sJPText_Shedinja[] = _("ヌケニン");
+static const u8 sTradeMenuPartyMonBoxDimensions[3][2] =
+{
+ [TRADE_PLAYER] = {4, 3},
+ [TRADE_PARTNER] = {19, 3}
+};
+
+static const u16 sTradePal_PokeBall[] = INCBIN_U16("graphics/trade/pokeball.gbapal");
+static const u8 sTradeGfx_PokeBall[] = INCBIN_U8("graphics/trade/pokeball.4bpp");
+static const u8 sTradeGfx_PokeBallSymbol[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); // unused?
+static const u16 sTradeTilemap_Cable[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin");
+static const u16 sTradeTilemap_PokeBallSymbol[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); // unused?
+static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal");
+static const u16 sTradePal_Gba[] = INCBIN_U16("graphics/trade/gba.gbapal");
+static const u16 sTradePal_ShadowUnused[] = INCBIN_U16("graphics/trade/shadow.gbapal");
+static const u16 sTradePal_BlackUnused[] = INCBIN_U16("graphics/trade/black.gbapal");
+static const u16 sTradePal_Misc[] = INCBIN_U16("graphics/trade/misc.gbapal");
+static const u8 sTradeGfx_Glow1[] = INCBIN_U8("graphics/trade/glow1.4bpp");
+static const u8 sTradeGfx_Glow2[] = INCBIN_U8("graphics/trade/glow2.4bpp");
+static const u8 sTradeGfx_CableEnd[] = INCBIN_U8("graphics/trade/cable_end.4bpp");
+static const u8 sTradeGfx_GbaScreen[] = INCBIN_U8("graphics/trade/gba_screen.4bpp");
+const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin");
+static const u8 sTradeAffine_Gba[] = INCBIN_U8("graphics/trade/gba_affine.8bpp");
+static const u8 sFiller_08335760[64] = {};
+static const u8 sTradeAffineMap_GbaCable[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin");
+static const u8 sTradeAffineMap_GbaWireless[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin");
+static const u16 sTradeTilemap_GbaWireless[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin");
+static const u16 sTradeTilemap_GbaCable[] = INCBIN_U16("graphics/trade/gba_map_cable.bin");
+static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); //some wireless tilemap
+static const u16 sTradePal_WirelessSignalSend[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal");
+static const u16 sTradePal_WirelessSignalReceive[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal");
+static const u16 sTradePal_Black[] = INCBIN_U16("graphics/trade/black.gbapal");
+static const u32 sTradeGfx_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
+static const u32 sTradeTilemap_WirelessSignal[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
+
+static const struct OamData sTradeOamData_16x16 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16)
+};
+
+static const union AnimCmd gSpriteAnim_8338C4C[] =
+{
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_FRAME( 4, 3),
+ ANIMCMD_FRAME( 8, 3),
+ ANIMCMD_FRAME(12, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(20, 3),
+ ANIMCMD_FRAME(24, 3),
+ ANIMCMD_FRAME(28, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(36, 3),
+ ANIMCMD_FRAME(40, 3),
+ ANIMCMD_FRAME(44, 3),
+ ANIMCMD_LOOP(1),
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_8338C88[] =
+{
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_FRAME( 4, 3),
+ ANIMCMD_FRAME( 8, 3),
+ ANIMCMD_FRAME(12, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(20, 3),
+ ANIMCMD_FRAME(24, 3),
+ ANIMCMD_FRAME(28, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(36, 3),
+ ANIMCMD_FRAME(40, 3),
+ ANIMCMD_FRAME(44, 3),
+ ANIMCMD_LOOP(2),
+ ANIMCMD_FRAME( 0, 3),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8338C88[] =
+{
+ gSpriteAnim_8338C4C,
+ gSpriteAnim_8338C88
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] =
+{
+ AFFINEANIMCMD_FRAME(-8, 0, 0, 20),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] =
+{
+ AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 5),
+ AFFINEANIMCMD_FRAME( 8, 0, 0, 20),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] =
+{
+ gSpriteAffineAnim_8338CCC,
+ gSpriteAffineAnim_8338CDC,
+ gSpriteAffineAnim_8338CEC
+};
+
+static const struct SpriteSheet sPokeBallSpriteSheet =
+{
+ .data = sTradeGfx_PokeBall,
+ .size = 0x600,
+ .tag = 5557
+};
+
+static const struct SpritePalette sPokeBallSpritePalette =
+{
+ .data = sTradePal_PokeBall,
+ .tag = 5558
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8338D28 =
+{
+ .tileTag = 5557,
+ .paletteTag = 5558,
+ .oam = &sTradeOamData_16x16,
+ .anims = gSpriteAnimTable_8338C88,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8338D0C,
+ .callback = sub_807E55C
+};
+
+static const struct OamData sTradeOamData_32x32 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = SPRITE_SHAPE(32x32),
+ .size = SPRITE_SIZE(32x32),
+ .priority = 1
+};
+
+static const union AnimCmd gSpriteAnim_8338D48[] =
+{
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8338D50[] =
+{
+ gSpriteAnim_8338D48
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] =
+{
+ AFFINEANIMCMD_FRAME(-10, -10, 0, 5),
+ AFFINEANIMCMD_FRAME(10, 10, 0, 5),
+ AFFINEANIMCMD_JUMP(0)
+};
+
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] =
+{
+ gSpriteAffineAnim_8338D54
+};
+
+static const struct SpriteSheet sGlow1SpriteSheet =
+{
+ .data = sTradeGfx_Glow1,
+ .size = 0x200,
+ .tag = 5550
+};
+
+static const struct SpritePalette sMiscTradeSpritePalette =
+{
+ .data = sTradePal_Misc,
+ .tag = 5551
+};
+
+static const struct SpritePalette sGbaSpritePalette =
+{
+ .data = sTradePal_Gba,
+ .tag = 5555
+};
+
+static const struct SpriteTemplate gUnknown_08338D88 =
+{
+ .tileTag = 5550,
+ .paletteTag = 5551,
+ .oam = &sTradeOamData_32x32,
+ .anims = gSpriteAnimTable_8338D50,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_8338D6C,
+ .callback = sub_807AA28
+};
+
+static const struct OamData sTradeOamData_16x32 =
+{
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .priority = 1
+};
+
+static const union AnimCmd gSpriteAnim_8338DA8[] =
+{
+ ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_8338DB0[] =
+{
+ ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8338DB8[] =
+{
+ gSpriteAnim_8338DA8,
+ gSpriteAnim_8338DB0
+};
+
+static const struct SpriteSheet sGlow2SpriteSheet =
+{
+ .data = sTradeGfx_Glow2,
+ .size = 0x300,
+ .tag = 5552
+};
+
+static const struct SpriteTemplate sGlowBallSpriteTemplate =
+{
+ .tileTag = 5552,
+ .paletteTag = 5551,
+ .oam = &sTradeOamData_16x32,
+ .anims = gSpriteAnimTable_8338DB8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AA7C
+};
+
+static const struct OamData sTradeOamData_16x32_2 =
+{
+ .shape = SPRITE_SHAPE(16x32),
+ .size = SPRITE_SIZE(16x32),
+ .priority = 1
+};
+
+static const union AnimCmd gSpriteAnim_8338DE8[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8338DF0[] =
+{
+ gSpriteAnim_8338DE8
+};
+
+static const struct SpriteSheet sCableEndSpriteSheet =
+{
+ .data = sTradeGfx_CableEnd,
+ .size = 0x100,
+ .tag = 5554
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8338DFC =
+{
+ .tileTag = 5554,
+ .paletteTag = 5555,
+ .oam = &sTradeOamData_16x32_2,
+ .anims = gSpriteAnimTable_8338DF0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AABC
+};
+
+static const struct OamData sTradeOamData_64x32_2 =
+{
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
+ .priority = 1
+};
+
+static const union AnimCmd gSpriteAnim_8338E1C[] =
+{
+ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_LOOP(8),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_8338E40[] =
+{
+ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_LOOP(2),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8338E64[] =
+{
+ gSpriteAnim_8338E1C
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8338E68[] =
+{
+ gSpriteAnim_8338E40
+};
+
+static const struct SpriteSheet sGbaScreenSpriteSheet =
+{
+ .data = sTradeGfx_GbaScreen,
+ .size = 0x1000,
+ .tag = 5556
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8338E74 =
+{
+ .tileTag = 5556,
+ .paletteTag = 5555,
+ .oam = &sTradeOamData_64x32_2,
+ .anims = gSpriteAnimTable_8338E64,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AB04
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8338E8C =
+{
+ .tileTag = 5556,
+ .paletteTag = 5555,
+ .oam = &sTradeOamData_64x32_2,
+ .anims = gSpriteAnimTable_8338E68,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807AB04
+};
+
+static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal");
+
+static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] =
+{
+ AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_JUMP(0)
+};
+
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] =
+{
+ gSpriteAffineAnim_8338EBC
+};
+
+static const struct InGameTrade sIngameTrades[] =
+{
+ [INGAME_TRADE_SEEDOT] =
+ {
+ .nickname = _("DOTS"),
+ .species = SPECIES_SEEDOT,
+ .ivs = {5, 4, 5, 4, 4, 4},
+ .abilityNum = 1,
+ .otId = 38726,
+ .conditions = {30, 5, 5, 5, 5},
+ .personality = 0x84,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .mailNum = -1,
+ .otName = _("KOBE"),
+ .otGender = MALE,
+ .sheen = 10,
+ .requestedSpecies = SPECIES_RALTS
+ },
+ [INGAME_TRADE_PLUSLE] =
+ {
+ .nickname = _("PLUSES"),
+ .species = SPECIES_PLUSLE,
+ .ivs = {4, 4, 4, 5, 5, 4},
+ .abilityNum = 0,
+ .otId = 73996,
+ .conditions = {5, 5, 30, 5, 5},
+ .personality = 0x6F,
+ .heldItem = ITEM_WOOD_MAIL,
+ .mailNum = 0,
+ .otName = _("ROMAN"),
+ .otGender = MALE,
+ .sheen = 10,
+ .requestedSpecies = SPECIES_VOLBEAT
+ },
+ [INGAME_TRADE_HORSEA] =
+ {
+ .nickname = _("SEASOR"),
+ .species = SPECIES_HORSEA,
+ .ivs = {5, 4, 4, 4, 5, 4},
+ .abilityNum = 0,
+ .otId = 46285,
+ .conditions = {5, 5, 5, 5, 30},
+ .personality = 0x7F,
+ .heldItem = ITEM_WAVE_MAIL,
+ .mailNum = 1,
+ .otName = _("SKYLAR"),
+ .otGender = MALE,
+ .sheen = 10,
+ .requestedSpecies = SPECIES_BAGON
+ },
+ [INGAME_TRADE_MEOWTH] =
+ {
+ .nickname = _("MEOWOW"),
+ .species = SPECIES_MEOWTH,
+ .ivs = {4, 5, 4, 5, 4, 4},
+ .abilityNum = 0,
+ .otId = 91481,
+ .conditions = {5, 5, 5, 30, 5},
+ .personality = 0x8B,
+ .heldItem = ITEM_RETRO_MAIL,
+ .mailNum = 2,
+ .otName = _("ISIS"),
+ .otGender = FEMALE,
+ .sheen = 10,
+ .requestedSpecies = SPECIES_SKITTY
+ }
+};
+
+static const u16 sIngameTradeMail[][MAIL_WORDS_COUNT + 1] =
+{
+ {
+ EC_WORD_BE,
+ EC_WORD_NICE,
+ EC_WORD_TO,
+ EC_POKEMON(PLUSLE),
+ EC_WORD_EXCL,
+ EC_POKEMON(VOLBEAT),
+ EC_WORD_WILL,
+ EC_WORD_BE,
+ EC_WORD_FANTASTIC
+ }, {
+ EC_WORD_I,
+ EC_WORD_WILL,
+ EC_WORD_MAKE,
+ EC_POKEMON(BAGON),
+ EC_WORD_TOUGH,
+ EC_WORD_PLEASE,
+ EC_WORD_TRAIN,
+ EC_POKEMON(HORSEA),
+ EC_WORD_WELL
+ }, {
+ EC_WORD_THANK_YOU,
+ EC_WORD_FOR,
+ EC_POKEMON(SKITTY),
+ EC_POKEMON2(MEOWTH),
+ EC_WORD_CRIES,
+ EC_WORD_IN,
+ EC_WORD_A,
+ EC_WORD_CUTE,
+ EC_WORD_WAY
+ }
+};
+
+static const struct WindowTemplate sTradeSequenceWindowTemplates[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 15,
+ .width = 26,
+ .height = 4,
+ .paletteNum = 0,
+ .baseBlock = 64
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate =
+{
+ .bg = 0,
+ .tilemapLeft = 21,
+ .tilemapTop = 9,
+ .width = 5,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 188
+};
+
+static const struct BgTemplate sTradeSequenceBgTemplates[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 5,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 18,
+ .screenSize = 1,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 6,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+};
+
+static const s8 sTradeBallVerticalVelocityTable[] =
+{
+ 0, 0, 1, 0,
+ 1, 0, 1, 1,
+ 1, 1, 2, 2,
+ 2, 2, 3, 3,
+ 3, 3, 4, 4,
+ 4, 4, -4, -4,
+ -4, -3, -3, -3,
+ -3, -2, -2, -2,
+ -2, -1, -1, -1,
+ -1, 0, -1, 0,
+ -1, 0, 0, 0,
+ 0, 0, 1, 0,
+ 1, 0, 1, 1,
+ 1, 1, 2, 2,
+ 2, 2, 3, 3,
+ 3, 3, 4, 4,
+ 4, 4, -4, -3,
+ -3, -2, -2, -1,
+ -1, -1, 0, -1,
+ 0, 0, 0, 0,
+ 0, 0, 1, 0,
+ 1, 1, 1, 2,
+ 2, 3, 3, 4,
+ -4, -3, -2, -1,
+ -1, -1, 0, 0,
+ 0, 0, 1, 0,
+ 1, 1, 2, 3
+};
+
+static const u8 sWirelessSignalTiming[][2] =
+{
+ {0, 1},
+ {1, 1},
+ {2, 1},
+ {3, 1},
+ {4, 1},
+ {5, 2},
+ {6, 2},
+ {7, 2},
+ {8, 2},
+ {9, 2},
+ {10, 3},
+ {11, 3},
+ {12, 3},
+ {13, 4},
+ {14, 5},
+ {15, 2},
+ {0, 1},
+ {1, 1},
+ {2, 1},
+ {3, 1},
+ {4, 1},
+ {5, 2},
+ {6, 2},
+ {7, 2},
+ {8, 2},
+ {9, 2},
+ {10, 3},
+ {11, 3},
+ {12, 3},
+ {13, 4},
+ {14, 5},
+ {16, 1},
+ {16, 255},
+ {0, 0}
+};
diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h
index 252eed760..824a49dc3 100644
--- a/src/data/trainer_parties.h
+++ b/src/data/trainer_parties.h
@@ -6,7 +6,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout1[] = {
{
.iv = 0,
.lvl = 32,
@@ -14,7 +14,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout2[] = {
{
.iv = 0,
.lvl = 31,
@@ -27,7 +27,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt2[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout3[] = {
{
.iv = 0,
.lvl = 32,
@@ -35,7 +35,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt3[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout4[] = {
{
.iv = 0,
.lvl = 32,
@@ -43,7 +43,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt4[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern1[] = {
{
.iv = 0,
.lvl = 36,
@@ -51,7 +51,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt5[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern2[] = {
{
.iv = 0,
.lvl = 36,
@@ -59,7 +59,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt6[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt7[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern3[] = {
{
.iv = 0,
.lvl = 36,
@@ -100,7 +100,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt8[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntPetalburgWoods[] = {
{
.iv = 0,
.lvl = 9,
@@ -147,7 +147,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt9[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern4[] = {
{
.iv = 0,
.lvl = 36,
@@ -163,7 +163,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntRusturfTunnel[] = {
{
.iv = 0,
.lvl = 11,
@@ -171,7 +171,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt10[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst1[] = {
{
.iv = 0,
.lvl = 27,
@@ -184,7 +184,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt11[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst2[] = {
{
.iv = 0,
.lvl = 27,
@@ -197,7 +197,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt12[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst3[] = {
{
.iv = 0,
.lvl = 26,
@@ -215,7 +215,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt13[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum1[] = {
{
.iv = 0,
.lvl = 15,
@@ -223,7 +223,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt14[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum2[] = {
{
.iv = 0,
.lvl = 14,
@@ -236,7 +236,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt15[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter1[] = {
{
.iv = 0,
.lvl = 32,
@@ -244,7 +244,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt16[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre1[] = {
{
.iv = 0,
.lvl = 32,
@@ -252,7 +252,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt17[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre2[] = {
{
.iv = 0,
.lvl = 32,
@@ -260,7 +260,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt18[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre3[] = {
{
.iv = 0,
.lvl = 30,
@@ -273,7 +273,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt19[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst4[] = {
{
.iv = 0,
.lvl = 28,
@@ -281,7 +281,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt20[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout5[] = {
{
.iv = 0,
.lvl = 32,
@@ -289,7 +289,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt21[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt22[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout6[] = {
{
.iv = 0,
.lvl = 32,
@@ -331,7 +331,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_ShellyWeatherInstitute[] = {
{
.iv = 50,
.lvl = 28,
@@ -344,7 +344,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Shelly2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_ShellySeafloorCavern[] = {
{
.iv = 100,
.lvl = 37,
@@ -419,13 +419,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = {
.iv = 0,
.lvl = 43,
.species = SPECIES_MEDICHAM,
- .moves = MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE}
},
{
.iv = 0,
.lvl = 43,
.species = SPECIES_CLAYDOL,
- .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE}
}
};
@@ -514,7 +514,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = {
.iv = 50,
.lvl = 23,
.species = SPECIES_SANDSLASH,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
}
};
@@ -523,19 +523,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = {
.iv = 50,
.lvl = 27,
.species = SPECIES_BALTOY,
- .moves = MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER
+ .moves = {MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER}
},
{
.iv = 50,
.lvl = 27,
.species = SPECIES_SANDSHREW,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
},
{
.iv = 50,
.lvl = 27,
.species = SPECIES_SANDSLASH,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
}
};
@@ -544,13 +544,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = {
.iv = 100,
.lvl = 25,
.species = SPECIES_SANDSHREW,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
},
{
.iv = 100,
.lvl = 25,
.species = SPECIES_SANDSLASH,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
}
};
@@ -559,7 +559,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = {
.iv = 60,
.lvl = 27,
.species = SPECIES_SANDSLASH,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
}
};
@@ -568,7 +568,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = {
.iv = 70,
.lvl = 30,
.species = SPECIES_SANDSLASH,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
}
};
@@ -577,7 +577,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = {
.iv = 80,
.lvl = 33,
.species = SPECIES_SANDSLASH,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
}
};
@@ -586,7 +586,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = {
.iv = 90,
.lvl = 36,
.species = SPECIES_SANDSLASH,
- .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING
+ .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING}
}
};
@@ -660,13 +660,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = {
.iv = 250,
.lvl = 39,
.species = SPECIES_MAGNETON,
- .moves = MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT
+ .moves = {MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT}
},
{
.iv = 250,
.lvl = 39,
.species = SPECIES_EXPLOUD,
- .moves = MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE
+ .moves = {MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE}
}
};
@@ -756,7 +756,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = {
.iv = 10,
.lvl = 13,
.species = SPECIES_ZIGZAGOON,
- .moves = MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF
+ .moves = {MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF}
}
};
@@ -786,7 +786,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = {
.iv = 10,
.lvl = 27,
.species = SPECIES_LINOONE,
- .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF
+ .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF}
}
};
@@ -795,7 +795,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = {
.iv = 20,
.lvl = 30,
.species = SPECIES_LINOONE,
- .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF
+ .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF}
}
};
@@ -804,7 +804,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = {
.iv = 30,
.lvl = 33,
.species = SPECIES_LINOONE,
- .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF
+ .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF}
}
};
@@ -813,7 +813,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = {
.iv = 40,
.lvl = 36,
.species = SPECIES_LINOONE,
- .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF
+ .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF}
}
};
@@ -823,7 +823,7 @@ static const struct TrainerMonItemCustomMoves sParty_Randall[] = {
.lvl = 26,
.species = SPECIES_SWELLOW,
.heldItem = ITEM_NONE,
- .moves = MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE
+ .moves = {MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE}
}
};
@@ -833,7 +833,7 @@ static const struct TrainerMonItemCustomMoves sParty_Parker[] = {
.lvl = 26,
.species = SPECIES_SPINDA,
.heldItem = ITEM_NONE,
- .moves = MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE
+ .moves = {MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE}
}
};
@@ -843,7 +843,7 @@ static const struct TrainerMonItemCustomMoves sParty_George[] = {
.lvl = 26,
.species = SPECIES_SLAKOTH,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE
+ .moves = {MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE}
}
};
@@ -853,7 +853,7 @@ static const struct TrainerMonItemCustomMoves sParty_Berke[] = {
.lvl = 26,
.species = SPECIES_VIGOROTH,
.heldItem = ITEM_NONE,
- .moves = MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE}
}
};
@@ -862,31 +862,31 @@ static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = {
.iv = 100,
.lvl = 28,
.species = SPECIES_SWELLOW,
- .moves = MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR
+ .moves = {MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR}
},
{
.iv = 100,
.lvl = 28,
.species = SPECIES_TRAPINCH,
- .moves = MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB
+ .moves = {MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB}
},
{
.iv = 100,
.lvl = 28,
.species = SPECIES_WAILMER,
- .moves = MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE
+ .moves = {MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE}
},
{
.iv = 100,
.lvl = 28,
.species = SPECIES_MAGNETON,
- .moves = MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM
+ .moves = {MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM}
},
{
.iv = 100,
.lvl = 28,
.species = SPECIES_SHIFTRY,
- .moves = MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER
+ .moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER}
}
};
@@ -1115,7 +1115,7 @@ static const struct TrainerMonItemCustomMoves sParty_Mary[] = {
.lvl = 26,
.species = SPECIES_DELCATTY,
.heldItem = ITEM_NONE,
- .moves = MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE}
}
};
@@ -1125,7 +1125,7 @@ static const struct TrainerMonItemCustomMoves sParty_Alexia[] = {
.lvl = 26,
.species = SPECIES_WIGGLYTUFF,
.heldItem = ITEM_NONE,
- .moves = MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE
+ .moves = {MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE}
}
};
@@ -1135,7 +1135,7 @@ static const struct TrainerMonItemCustomMoves sParty_Jody[] = {
.lvl = 26,
.species = SPECIES_ZANGOOSE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE}
}
};
@@ -1144,19 +1144,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = {
.iv = 100,
.lvl = 29,
.species = SPECIES_MAWILE,
- .moves = MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE
+ .moves = {MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE}
},
{
.iv = 100,
.lvl = 29,
.species = SPECIES_ROSELIA,
- .moves = MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED
+ .moves = {MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED}
},
{
.iv = 100,
.lvl = 29,
.species = SPECIES_PELIPPER,
- .moves = MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT
+ .moves = {MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT}
}
};
@@ -1463,18 +1463,18 @@ static const struct TrainerMonItemCustomMoves sParty_Daphne[] = {
.lvl = 39,
.species = SPECIES_LUVDISC,
.heldItem = ITEM_NUGGET,
- .moves = MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE
+ .moves = {MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE}
},
{
.iv = 100,
.lvl = 39,
.species = SPECIES_LUVDISC,
.heldItem = ITEM_NUGGET,
- .moves = MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE
+ .moves = {MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE}
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt23[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter2[] = {
{
.iv = 0,
.lvl = 26,
@@ -1498,7 +1498,7 @@ static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = {
.lvl = 11,
.species = SPECIES_ZIGZAGOON,
.heldItem = ITEM_NUGGET,
- .moves = MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE}
}
};
@@ -1553,7 +1553,7 @@ static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = {
.lvl = 36,
.species = SPECIES_LINOONE,
.heldItem = ITEM_NUGGET,
- .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK
+ .moves = {MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK}
}
};
@@ -1586,13 +1586,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = {
.iv = 0,
.lvl = 29,
.species = SPECIES_KECLEON,
- .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK
+ .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
},
{
.iv = 0,
.lvl = 29,
.species = SPECIES_SEVIPER,
- .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH
+ .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH}
}
};
@@ -1617,19 +1617,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = {
.iv = 100,
.lvl = 35,
.species = SPECIES_CLAMPERL,
- .moves = MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE
+ .moves = {MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE}
},
{
.iv = 100,
.lvl = 37,
.species = SPECIES_CORPHISH,
- .moves = MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE
+ .moves = {MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE}
},
{
.iv = 100,
.lvl = 39,
.species = SPECIES_LOMBRE,
- .moves = MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE
+ .moves = {MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE}
}
};
@@ -1651,13 +1651,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = {
.iv = 10,
.lvl = 35,
.species = SPECIES_KECLEON,
- .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK
+ .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
},
{
.iv = 10,
.lvl = 35,
.species = SPECIES_SEVIPER,
- .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH
+ .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH}
}
};
@@ -1666,13 +1666,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = {
.iv = 20,
.lvl = 38,
.species = SPECIES_KECLEON,
- .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK
+ .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
},
{
.iv = 20,
.lvl = 38,
.species = SPECIES_SEVIPER,
- .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH
+ .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH}
}
};
@@ -1681,13 +1681,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = {
.iv = 30,
.lvl = 41,
.species = SPECIES_KECLEON,
- .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK
+ .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
},
{
.iv = 30,
.lvl = 41,
.species = SPECIES_SEVIPER,
- .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH
+ .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH}
}
};
@@ -1696,13 +1696,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = {
.iv = 40,
.lvl = 44,
.species = SPECIES_KECLEON,
- .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK
+ .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
},
{
.iv = 40,
.lvl = 44,
.species = SPECIES_SEVIPER,
- .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH
+ .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH}
}
};
@@ -1770,7 +1770,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winston5[] = {
.lvl = 36,
.species = SPECIES_LINOONE,
.heldItem = ITEM_NUGGET,
- .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK
+ .moves = {MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK}
}
};
@@ -1803,7 +1803,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt24[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney1[] = {
{
.iv = 0,
.lvl = 20,
@@ -2302,17 +2302,17 @@ static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = {
.iv = 100,
.lvl = 17,
.species = SPECIES_ELECTRIKE,
- .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER
+ .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER}
},
{
.iv = 100,
.lvl = 17,
.species = SPECIES_VOLTORB,
- .moves = MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE
+ .moves = {MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE}
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout7[] = {
{
.iv = 0,
.lvl = 31,
@@ -2325,7 +2325,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt25[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt26[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout8[] = {
{
.iv = 0,
.lvl = 32,
@@ -2559,7 +2559,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = {
.iv = 0,
.lvl = 23,
.species = SPECIES_SANDSHREW,
- .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH
+ .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH}
}
};
@@ -2568,19 +2568,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = {
.iv = 0,
.lvl = 21,
.species = SPECIES_BALTOY,
- .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB
+ .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB}
},
{
.iv = 0,
.lvl = 21,
.species = SPECIES_SANDSHREW,
- .moves = MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG
+ .moves = {MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG}
},
{
.iv = 0,
.lvl = 21,
.species = SPECIES_BALTOY,
- .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB
+ .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB}
}
};
@@ -2876,7 +2876,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = {
.iv = 0,
.lvl = 15,
.species = SPECIES_ABRA,
- .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}
}
};
@@ -3000,7 +3000,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = {
.iv = 0,
.lvl = 16,
.species = SPECIES_ABRA,
- .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}
}
};
@@ -3166,13 +3166,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = {
.iv = 20,
.lvl = 36,
.species = SPECIES_LINOONE,
- .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES
+ .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES}
},
{
.iv = 20,
.lvl = 36,
.species = SPECIES_MANECTRIC,
- .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR
+ .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR}
}
};
@@ -3181,13 +3181,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = {
.iv = 30,
.lvl = 39,
.species = SPECIES_LINOONE,
- .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES
+ .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES}
},
{
.iv = 30,
.lvl = 39,
.species = SPECIES_MANECTRIC,
- .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE
+ .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE}
}
};
@@ -3196,19 +3196,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = {
.iv = 40,
.lvl = 41,
.species = SPECIES_LINOONE,
- .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES
+ .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES}
},
{
.iv = 40,
.lvl = 41,
.species = SPECIES_GOLDUCK,
- .moves = MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP
+ .moves = {MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP}
},
{
.iv = 40,
.lvl = 41,
.species = SPECIES_MANECTRIC,
- .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR
+ .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR}
}
};
@@ -3218,35 +3218,35 @@ static const struct TrainerMonItemCustomMoves sParty_Sidney[] = {
.lvl = 46,
.species = SPECIES_MIGHTYENA,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH
+ .moves = {MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH}
},
{
.iv = 250,
.lvl = 48,
.species = SPECIES_SHIFTRY,
.heldItem = ITEM_NONE,
- .moves = MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY
+ .moves = {MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY}
},
{
.iv = 250,
.lvl = 46,
.species = SPECIES_CACTURNE,
.heldItem = ITEM_NONE,
- .moves = MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE
+ .moves = {MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE}
},
{
.iv = 250,
.lvl = 48,
.species = SPECIES_CRAWDAUNT,
.heldItem = ITEM_NONE,
- .moves = MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE
+ .moves = {MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE}
},
{
.iv = 255,
.lvl = 49,
.species = SPECIES_ABSOL,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH
+ .moves = {MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH}
}
};
@@ -3256,35 +3256,35 @@ static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = {
.lvl = 48,
.species = SPECIES_DUSCLOPS,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT
+ .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT}
},
{
.iv = 250,
.lvl = 49,
.species = SPECIES_BANETTE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK}
},
{
.iv = 250,
.lvl = 50,
.species = SPECIES_SABLEYE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK}
},
{
.iv = 250,
.lvl = 49,
.species = SPECIES_BANETTE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE
+ .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_DUSCLOPS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE
+ .moves = {MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE}
}
};
@@ -3294,35 +3294,35 @@ static const struct TrainerMonItemCustomMoves sParty_Glacia[] = {
.lvl = 50,
.species = SPECIES_SEALEO,
.heldItem = ITEM_NONE,
- .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL
+ .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL}
},
{
.iv = 250,
.lvl = 50,
.species = SPECIES_GLALIE,
.heldItem = ITEM_NONE,
- .moves = MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM}
},
{
.iv = 250,
.lvl = 52,
.species = SPECIES_SEALEO,
.heldItem = ITEM_NONE,
- .moves = MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD
+ .moves = {MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD}
},
{
.iv = 250,
.lvl = 52,
.species = SPECIES_GLALIE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM
+ .moves = {MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_WALREIN,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD
+ .moves = {MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD}
}
};
@@ -3332,35 +3332,35 @@ static const struct TrainerMonItemCustomMoves sParty_Drake[] = {
.lvl = 52,
.species = SPECIES_SHELGON,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE
+ .moves = {MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE}
},
{
.iv = 250,
.lvl = 54,
.species = SPECIES_ALTARIA,
.heldItem = ITEM_NONE,
- .moves = MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE}
},
{
.iv = 250,
.lvl = 53,
.species = SPECIES_KINGDRA,
.heldItem = ITEM_NONE,
- .moves = MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM
+ .moves = {MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM}
},
{
.iv = 250,
.lvl = 53,
.species = SPECIES_FLYGON,
.heldItem = ITEM_NONE,
- .moves = MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE
+ .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_SALAMENCE,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH
+ .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH}
}
};
@@ -3370,21 +3370,21 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = {
.lvl = 12,
.species = SPECIES_GEODUDE,
.heldItem = ITEM_NONE,
- .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB
+ .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB}
},
{
.iv = 100,
.lvl = 12,
.species = SPECIES_GEODUDE,
.heldItem = ITEM_NONE,
- .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB
+ .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB}
},
{
.iv = 200,
.lvl = 15,
.species = SPECIES_NOSEPASS,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB
+ .moves = {MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB}
}
};
@@ -3394,21 +3394,21 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = {
.lvl = 16,
.species = SPECIES_MACHOP,
.heldItem = ITEM_NONE,
- .moves = MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP
+ .moves = {MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP}
},
{
.iv = 100,
.lvl = 16,
.species = SPECIES_MEDITITE,
.heldItem = ITEM_NONE,
- .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP}
},
{
.iv = 200,
.lvl = 19,
.species = SPECIES_MAKUHITA,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP
+ .moves = {MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP}
}
};
@@ -3418,28 +3418,28 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = {
.lvl = 20,
.species = SPECIES_VOLTORB,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE
+ .moves = {MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE}
},
{
.iv = 200,
.lvl = 20,
.species = SPECIES_ELECTRIKE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL
+ .moves = {MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL}
},
{
.iv = 220,
.lvl = 22,
.species = SPECIES_MAGNETON,
.heldItem = ITEM_NONE,
- .moves = MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM
+ .moves = {MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM}
},
{
.iv = 250,
.lvl = 24,
.species = SPECIES_MANECTRIC,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL
+ .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL}
}
};
@@ -3449,28 +3449,28 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = {
.lvl = 24,
.species = SPECIES_NUMEL,
.heldItem = ITEM_NONE,
- .moves = MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY
+ .moves = {MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY}
},
{
.iv = 200,
.lvl = 24,
.species = SPECIES_SLUGMA,
.heldItem = ITEM_NONE,
- .moves = MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY
+ .moves = {MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY}
},
{
.iv = 250,
.lvl = 26,
.species = SPECIES_CAMERUPT,
.heldItem = ITEM_NONE,
- .moves = MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT}
},
{
.iv = 250,
.lvl = 29,
.species = SPECIES_TORKOAL,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT}
}
};
@@ -3480,28 +3480,28 @@ static const struct TrainerMonItemCustomMoves sParty_Norman1[] = {
.lvl = 27,
.species = SPECIES_SPINDA,
.heldItem = ITEM_NONE,
- .moves = MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE
+ .moves = {MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE}
},
{
.iv = 200,
.lvl = 27,
.species = SPECIES_VIGOROTH,
.heldItem = ITEM_NONE,
- .moves = MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK}
},
{
.iv = 200,
.lvl = 29,
.species = SPECIES_LINOONE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT
+ .moves = {MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT}
},
{
.iv = 250,
.lvl = 31,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK
+ .moves = {MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK}
}
};
@@ -3511,35 +3511,35 @@ static const struct TrainerMonItemCustomMoves sParty_Winona1[] = {
.lvl = 29,
.species = SPECIES_SWABLU,
.heldItem = ITEM_NONE,
- .moves = MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE
+ .moves = {MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE}
},
{
.iv = 210,
.lvl = 29,
.species = SPECIES_TROPIUS,
.heldItem = ITEM_NONE,
- .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS
+ .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS}
},
{
.iv = 210,
.lvl = 30,
.species = SPECIES_PELIPPER,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE
+ .moves = {MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE}
},
{
.iv = 220,
.lvl = 31,
.species = SPECIES_SKARMORY,
.heldItem = ITEM_NONE,
- .moves = MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE
+ .moves = {MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 33,
.species = SPECIES_ALTARIA,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE}
}
};
@@ -3549,28 +3549,28 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = {
.lvl = 41,
.species = SPECIES_CLAYDOL,
.heldItem = ITEM_NONE,
- .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN}
},
{
.iv = 250,
.lvl = 41,
.species = SPECIES_XATU,
.heldItem = ITEM_NONE,
- .moves = MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND
+ .moves = {MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND}
},
{
.iv = 250,
.lvl = 42,
.species = SPECIES_LUNATONE,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND}
},
{
.iv = 250,
.lvl = 42,
.species = SPECIES_SOLROCK,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER}
}
};
@@ -3580,35 +3580,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan1[] = {
.lvl = 41,
.species = SPECIES_LUVDISC,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL
+ .moves = {MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL}
},
{
.iv = 200,
.lvl = 41,
.species = SPECIES_WHISCASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE
+ .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE}
},
{
.iv = 200,
.lvl = 43,
.species = SPECIES_SEALEO,
.heldItem = ITEM_NONE,
- .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE
+ .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE}
},
{
.iv = 200,
.lvl = 43,
.species = SPECIES_CRAWDAUNT,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER
+ .moves = {MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER}
},
{
.iv = 250,
.lvl = 46,
.species = SPECIES_KINGDRA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST
+ .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST}
}
};
@@ -3781,13 +3781,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = {
.iv = 0,
.lvl = 30,
.species = SPECIES_SPINDA,
- .moves = MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE}
},
{
.iv = 0,
.lvl = 32,
.species = SPECIES_SLAKING,
- .moves = MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK}
}
};
@@ -3796,13 +3796,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = {
.iv = 0,
.lvl = 15,
.species = SPECIES_ZIGZAGOON,
- .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH
+ .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH}
},
{
.iv = 0,
.lvl = 17,
.species = SPECIES_MAKUHITA,
- .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE}
}
};
@@ -3811,13 +3811,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = {
.iv = 10,
.lvl = 28,
.species = SPECIES_ZIGZAGOON,
- .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH
+ .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH}
},
{
.iv = 10,
.lvl = 30,
.species = SPECIES_MAKUHITA,
- .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE}
}
};
@@ -3826,13 +3826,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = {
.iv = 20,
.lvl = 31,
.species = SPECIES_ZIGZAGOON,
- .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH
+ .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH}
},
{
.iv = 20,
.lvl = 33,
.species = SPECIES_MAKUHITA,
- .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE}
}
};
@@ -3841,13 +3841,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = {
.iv = 30,
.lvl = 34,
.species = SPECIES_LINOONE,
- .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH
+ .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH}
},
{
.iv = 30,
.lvl = 36,
.species = SPECIES_MAKUHITA,
- .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE}
}
};
@@ -3856,13 +3856,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = {
.iv = 40,
.lvl = 36,
.species = SPECIES_LINOONE,
- .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH
+ .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH}
},
{
.iv = 40,
.lvl = 38,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE}
}
};
@@ -3896,42 +3896,42 @@ static const struct TrainerMonItemCustomMoves sParty_Colton[] = {
.lvl = 22,
.species = SPECIES_SKITTY,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL
+ .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
},
{
.iv = 0,
.lvl = 36,
.species = SPECIES_SKITTY,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL
+ .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
},
{
.iv = 0,
.lvl = 40,
.species = SPECIES_SKITTY,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL
+ .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
},
{
.iv = 0,
.lvl = 12,
.species = SPECIES_SKITTY,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL
+ .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
},
{
.iv = 0,
.lvl = 30,
.species = SPECIES_SKITTY,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL
+ .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
},
{
.iv = 0,
.lvl = 42,
.species = SPECIES_DELCATTY,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL
+ .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
}
};
@@ -4098,7 +4098,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = {
.iv = 210,
.lvl = 33,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG
+ .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG}
}
};
@@ -4107,7 +4107,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = {
.iv = 220,
.lvl = 36,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG
+ .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG}
}
};
@@ -4116,7 +4116,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = {
.iv = 230,
.lvl = 39,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG
+ .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG}
}
};
@@ -4125,7 +4125,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = {
.iv = 240,
.lvl = 42,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG
+ .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG}
}
};
@@ -4134,7 +4134,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = {
.iv = 200,
.lvl = 18,
.species = SPECIES_MEDITITE,
- .moves = MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT
+ .moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT}
}
};
@@ -4229,7 +4229,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = {
.iv = 100,
.lvl = 10,
.species = SPECIES_GEODUDE,
- .moves = MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE}
}
};
@@ -4259,13 +4259,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = {
.iv = 150,
.lvl = 17,
.species = SPECIES_ZIGZAGOON,
- .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT
+ .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT}
},
{
.iv = 150,
.lvl = 17,
.species = SPECIES_GULPIN,
- .moves = MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND
+ .moves = {MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND}
}
};
@@ -4274,13 +4274,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = {
.iv = 100,
.lvl = 43,
.species = SPECIES_SLAKING,
- .moves = MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER
+ .moves = {MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER}
},
{
.iv = 100,
.lvl = 43,
.species = SPECIES_DUSCLOPS,
- .moves = MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC
+ .moves = {MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC}
}
};
@@ -4289,13 +4289,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = {
.iv = 100,
.lvl = 43,
.species = SPECIES_GARDEVOIR,
- .moves = MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND
+ .moves = {MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND}
},
{
.iv = 100,
.lvl = 43,
.species = SPECIES_SLAKING,
- .moves = MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK
+ .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK}
}
};
@@ -4417,42 +4417,42 @@ static const struct TrainerMonItemCustomMoves sParty_Wallace[] = {
.lvl = 57,
.species = SPECIES_WAILORD,
.heldItem = ITEM_NONE,
- .moves = MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD
+ .moves = {MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_TENTACRUEL,
.heldItem = ITEM_NONE,
- .moves = MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM
+ .moves = {MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 56,
.species = SPECIES_LUDICOLO,
.heldItem = ITEM_NONE,
- .moves = MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM
+ .moves = {MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM}
},
{
.iv = 255,
.lvl = 56,
.species = SPECIES_WHISCASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM
+ .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM}
},
{
.iv = 255,
.lvl = 56,
.species = SPECIES_GYARADOS,
.heldItem = ITEM_NONE,
- .moves = MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF
+ .moves = {MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF}
},
{
.iv = 255,
.lvl = 58,
.species = SPECIES_MILOTIC,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC
+ .moves = {MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC}
}
};
@@ -5187,7 +5187,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = {
.iv = 255,
.lvl = 34,
.species = SPECIES_BAGON,
- .moves = MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER
+ .moves = {MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER}
}
};
@@ -5424,14 +5424,14 @@ static const struct TrainerMonItemCustomMoves sParty_Dianne[] = {
.lvl = 43,
.species = SPECIES_CLAYDOL,
.heldItem = ITEM_NONE,
- .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE}
},
{
.iv = 0,
.lvl = 43,
.species = SPECIES_LANTURN,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE}
}
};
@@ -5448,19 +5448,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = {
.iv = 0,
.lvl = 17,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT}
},
{
.iv = 0,
.lvl = 17,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT}
},
{
.iv = 0,
.lvl = 17,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}
}
};
@@ -5482,25 +5482,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = {
.iv = 0,
.lvl = 24,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}
},
{
.iv = 0,
.lvl = 24,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE}
},
{
.iv = 0,
.lvl = 24,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}
},
{
.iv = 0,
.lvl = 26,
.species = SPECIES_KOFFING,
- .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE}
}
};
@@ -5509,25 +5509,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = {
.iv = 20,
.lvl = 27,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}
},
{
.iv = 20,
.lvl = 27,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}
},
{
.iv = 20,
.lvl = 27,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE}
},
{
.iv = 20,
.lvl = 29,
.species = SPECIES_KOFFING,
- .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE}
}
};
@@ -5536,25 +5536,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = {
.iv = 30,
.lvl = 30,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE}
},
{
.iv = 30,
.lvl = 30,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE}
},
{
.iv = 30,
.lvl = 30,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE}
},
{
.iv = 30,
.lvl = 32,
.species = SPECIES_KOFFING,
- .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE}
}
};
@@ -5564,28 +5564,28 @@ static const struct TrainerMonItemCustomMoves sParty_Lao5[] = {
.lvl = 33,
.species = SPECIES_KOFFING,
.heldItem = ITEM_NONE,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE}
},
{
.iv = 40,
.lvl = 33,
.species = SPECIES_KOFFING,
.heldItem = ITEM_NONE,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}
},
{
.iv = 40,
.lvl = 33,
.species = SPECIES_KOFFING,
.heldItem = ITEM_NONE,
- .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT
+ .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}
},
{
.iv = 40,
.lvl = 35,
.species = SPECIES_WEEZING,
.heldItem = ITEM_SMOKE_BALL,
- .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE}
}
};
@@ -5691,7 +5691,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = {
.iv = 0,
.lvl = 19,
.species = SPECIES_NUMEL,
- .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY
+ .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY}
}
};
@@ -5713,7 +5713,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = {
.iv = 50,
.lvl = 30,
.species = SPECIES_CASTFORM,
- .moves = MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE
+ .moves = {MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE}
}
};
@@ -5722,7 +5722,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = {
.iv = 10,
.lvl = 29,
.species = SPECIES_NUMEL,
- .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY
+ .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY}
}
};
@@ -5731,7 +5731,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = {
.iv = 20,
.lvl = 32,
.species = SPECIES_NUMEL,
- .moves = MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY
+ .moves = {MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY}
}
};
@@ -5740,13 +5740,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = {
.iv = 30,
.lvl = 34,
.species = SPECIES_ROSELIA,
- .moves = MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY
+ .moves = {MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY}
},
{
.iv = 30,
.lvl = 34,
.species = SPECIES_NUMEL,
- .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY
+ .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY}
}
};
@@ -5755,13 +5755,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = {
.iv = 40,
.lvl = 37,
.species = SPECIES_ROSELIA,
- .moves = MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY
+ .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY}
},
{
.iv = 40,
.lvl = 37,
.species = SPECIES_CAMERUPT,
- .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY
+ .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY}
}
};
@@ -6064,13 +6064,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = {
.iv = 0,
.lvl = 22,
.species = SPECIES_SANDSHREW,
- .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH
+ .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH}
},
{
.iv = 0,
.lvl = 22,
.species = SPECIES_BALTOY,
- .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB
+ .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB}
}
};
@@ -6079,13 +6079,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = {
.iv = 0,
.lvl = 22,
.species = SPECIES_SANDSHREW,
- .moves = MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG
+ .moves = {MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG}
},
{
.iv = 0,
.lvl = 22,
.species = SPECIES_MARILL,
- .moves = MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL
+ .moves = {MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL}
}
};
@@ -6151,7 +6151,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = {
.iv = 0,
.lvl = 32,
.species = SPECIES_WOBBUFFET,
- .moves = MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT
+ .moves = {MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT}
}
};
@@ -6310,13 +6310,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = {
.iv = 0,
.lvl = 10,
.species = SPECIES_DUSKULL,
- .moves = MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE}
},
{
.iv = 0,
.lvl = 10,
.species = SPECIES_SHROOMISH,
- .moves = MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE}
}
};
@@ -6338,13 +6338,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = {
.iv = 30,
.lvl = 33,
.species = SPECIES_PLUSLE,
- .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND
+ .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND}
},
{
.iv = 30,
.lvl = 33,
.species = SPECIES_MINUN,
- .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND
+ .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND}
}
};
@@ -6353,13 +6353,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = {
.iv = 40,
.lvl = 36,
.species = SPECIES_PLUSLE,
- .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND
+ .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND}
},
{
.iv = 40,
.lvl = 36,
.species = SPECIES_MINUN,
- .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND
+ .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND}
}
};
@@ -6545,14 +6545,14 @@ static const struct TrainerMonItemCustomMoves sParty_Annika[] = {
.lvl = 39,
.species = SPECIES_FEEBAS,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT
+ .moves = {MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT}
},
{
.iv = 100,
.lvl = 39,
.species = SPECIES_FEEBAS,
.heldItem = ITEM_ORAN_BERRY,
- .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT
+ .moves = {MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT}
}
};
@@ -6569,7 +6569,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = {
.iv = 0,
.lvl = 31,
.species = SPECIES_KOFFING,
- .moves = MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB
+ .moves = {MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB}
}
};
@@ -6578,7 +6578,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = {
.iv = 0,
.lvl = 31,
.species = SPECIES_CASTFORM,
- .moves = MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM
+ .moves = {MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM}
}
};
@@ -6614,7 +6614,7 @@ static const struct TrainerMonItemCustomMoves sParty_Marley[] = {
.lvl = 34,
.species = SPECIES_MANECTRIC,
.heldItem = ITEM_NONE,
- .moves = MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT
+ .moves = {MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT}
}
};
@@ -6678,7 +6678,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMossdeep[] = {
{
.iv = 100,
.lvl = 36,
@@ -6748,40 +6748,40 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = {
}
};
-static const struct TrainerMonNoItemCustomMoves sParty_Wally1[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_WallyVR1[] = {
{
.iv = 150,
.lvl = 44,
.species = SPECIES_ALTARIA,
- .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE
+ .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE}
},
{
.iv = 150,
.lvl = 43,
.species = SPECIES_DELCATTY,
- .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
},
{
.iv = 150,
.lvl = 44,
.species = SPECIES_ROSELIA,
- .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC
+ .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC}
},
{
.iv = 150,
.lvl = 41,
.species = SPECIES_MAGNETON,
- .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH
+ .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH}
},
{
.iv = 250,
.lvl = 45,
.species = SPECIES_GARDEVOIR,
- .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT}
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Mudkip[] = {
{
.iv = 0,
.lvl = 5,
@@ -6789,7 +6789,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Mudkip[] = {
{
.iv = 50,
.lvl = 18,
@@ -6807,7 +6807,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Mudkip[] = {
{
.iv = 100,
.lvl = 29,
@@ -6825,7 +6825,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Treecko[] = {
{
.iv = 0,
.lvl = 5,
@@ -6833,7 +6833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Treecko[] = {
{
.iv = 50,
.lvl = 18,
@@ -6851,7 +6851,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Treecko[] = {
{
.iv = 100,
.lvl = 29,
@@ -6869,7 +6869,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Torchic[] = {
{
.iv = 0,
.lvl = 5,
@@ -6877,7 +6877,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Torchic[] = {
{
.iv = 50,
.lvl = 18,
@@ -6895,7 +6895,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Torchic[] = {
{
.iv = 100,
.lvl = 29,
@@ -6913,7 +6913,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Mudkip[] = {
{
.iv = 0,
.lvl = 5,
@@ -6921,7 +6921,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Mudkip[] = {
{
.iv = 50,
.lvl = 18,
@@ -6939,7 +6939,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Mudkip[] = {
{
.iv = 100,
.lvl = 29,
@@ -6957,7 +6957,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Treecko[] = {
{
.iv = 0,
.lvl = 5,
@@ -6965,7 +6965,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Treecko[] = {
{
.iv = 50,
.lvl = 18,
@@ -6983,7 +6983,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Treecko[] = {
{
.iv = 100,
.lvl = 29,
@@ -7001,7 +7001,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Torchic[] = {
{
.iv = 0,
.lvl = 5,
@@ -7009,7 +7009,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Torchic[] = {
{
.iv = 50,
.lvl = 18,
@@ -7027,7 +7027,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May9[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Torchic[] = {
{
.iv = 100,
.lvl = 29,
@@ -7091,13 +7091,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = {
.iv = 0,
.lvl = 43,
.species = SPECIES_LUNATONE,
- .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC
+ .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC}
},
{
.iv = 0,
.lvl = 43,
.species = SPECIES_SOLROCK,
- .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL
+ .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL}
}
};
@@ -7594,7 +7594,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern5[] = {
{
.iv = 50,
.lvl = 35,
@@ -7607,7 +7607,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt27[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntUnused[] = {
{
.iv = 0,
.lvl = 31,
@@ -7620,7 +7620,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt28[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre4[] = {
{
.iv = 0,
.lvl = 30,
@@ -7633,7 +7633,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt29[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt30[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntJaggedPass[] = {
{
.iv = 50,
.lvl = 22,
@@ -7705,14 +7705,14 @@ static const struct TrainerMonItemCustomMoves sParty_Athena[] = {
.lvl = 32,
.species = SPECIES_MANECTRIC,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE
+ .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE}
},
{
.iv = 100,
.lvl = 32,
.species = SPECIES_LINOONE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE}
}
};
@@ -7724,7 +7724,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt31[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney2[] = {
{
.iv = 0,
.lvl = 20,
@@ -7780,7 +7780,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter3[] = {
{
.iv = 0,
.lvl = 31,
@@ -7793,7 +7793,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt32[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter4[] = {
{
.iv = 0,
.lvl = 32,
@@ -7801,7 +7801,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt33[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter5[] = {
{
.iv = 0,
.lvl = 32,
@@ -7809,7 +7809,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt34[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter6[] = {
{
.iv = 0,
.lvl = 32,
@@ -7817,7 +7817,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt35[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt36[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter7[] = {
{
.iv = 0,
.lvl = 32,
@@ -7833,7 +7833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTreecko[] = {
{
.iv = 25,
.lvl = 13,
@@ -7846,7 +7846,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan11[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroMudkip[] = {
{
.iv = 25,
.lvl = 13,
@@ -7880,7 +7880,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst5[] = {
{
.iv = 0,
.lvl = 27,
@@ -7893,7 +7893,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt37[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMtChimney[] = {
{
.iv = 50,
.lvl = 18,
@@ -7929,7 +7929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTorchic[] = {
{
.iv = 25,
.lvl = 13,
@@ -7942,7 +7942,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroMudkip[] = {
{
.iv = 25,
.lvl = 13,
@@ -7955,7 +7955,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMagmaHideout[] = {
{
.iv = 150,
.lvl = 37,
@@ -7973,7 +7973,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Maxie2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMtChimney[] = {
{
.iv = 150,
.lvl = 24,
@@ -8406,7 +8406,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = {
.iv = 0,
.lvl = 9,
.species = SPECIES_WAILMER,
- .moves = MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE}
}
};
@@ -8415,13 +8415,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = {
.iv = 0,
.lvl = 10,
.species = SPECIES_PELIPPER,
- .moves = MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE}
},
{
.iv = 0,
.lvl = 10,
.species = SPECIES_POOCHYENA,
- .moves = MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE
+ .moves = {MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE}
}
};
@@ -8639,7 +8639,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = {
.iv = 100,
.lvl = 23,
.species = SPECIES_KECLEON,
- .moves = MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND
+ .moves = {MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND}
}
};
@@ -8648,13 +8648,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = {
.iv = 100,
.lvl = 17,
.species = SPECIES_MEDITITE,
- .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH
+ .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH}
},
{
.iv = 100,
.lvl = 17,
.species = SPECIES_MEDITITE,
- .moves = MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE}
}
};
@@ -8663,7 +8663,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = {
.iv = 100,
.lvl = 23,
.species = SPECIES_MEDITITE,
- .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH
+ .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH}
}
};
@@ -8672,13 +8672,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = {
.iv = 0,
.lvl = 25,
.species = SPECIES_KOFFING,
- .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN
+ .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN}
},
{
.iv = 0,
.lvl = 25,
.species = SPECIES_KOFFING,
- .moves = MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN
+ .moves = {MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN}
}
};
@@ -8687,13 +8687,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = {
.iv = 0,
.lvl = 28,
.species = SPECIES_KOFFING,
- .moves = MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN
+ .moves = {MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN}
},
{
.iv = 0,
.lvl = 28,
.species = SPECIES_NINJASK,
- .moves = MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE
+ .moves = {MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE}
}
};
@@ -8702,13 +8702,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = {
.iv = 0,
.lvl = 28,
.species = SPECIES_NINCADA,
- .moves = MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG
+ .moves = {MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG}
},
{
.iv = 0,
.lvl = 28,
.species = SPECIES_KOFFING,
- .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN
+ .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN}
}
};
@@ -8743,7 +8743,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_WallyMauville[] = {
{
.iv = 30,
.lvl = 16,
@@ -8751,139 +8751,139 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = {
}
};
-static const struct TrainerMonNoItemCustomMoves sParty_Wally3[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_WallyVR2[] = {
{
.iv = 150,
.lvl = 47,
.species = SPECIES_ALTARIA,
- .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE
+ .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE}
},
{
.iv = 150,
.lvl = 46,
.species = SPECIES_DELCATTY,
- .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
},
{
.iv = 150,
.lvl = 47,
.species = SPECIES_ROSELIA,
- .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC
+ .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC}
},
{
.iv = 150,
.lvl = 44,
.species = SPECIES_MAGNETON,
- .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH
+ .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH}
},
{
.iv = 250,
.lvl = 48,
.species = SPECIES_GARDEVOIR,
- .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT}
}
};
-static const struct TrainerMonNoItemCustomMoves sParty_Wally4[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_WallyVR3[] = {
{
.iv = 150,
.lvl = 50,
.species = SPECIES_ALTARIA,
- .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE
+ .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE}
},
{
.iv = 150,
.lvl = 49,
.species = SPECIES_DELCATTY,
- .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
},
{
.iv = 150,
.lvl = 50,
.species = SPECIES_ROSELIA,
- .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC
+ .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC}
},
{
.iv = 150,
.lvl = 47,
.species = SPECIES_MAGNETON,
- .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH
+ .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH}
},
{
.iv = 250,
.lvl = 51,
.species = SPECIES_GARDEVOIR,
- .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT}
}
};
-static const struct TrainerMonNoItemCustomMoves sParty_Wally5[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_WallyVR4[] = {
{
.iv = 150,
.lvl = 53,
.species = SPECIES_ALTARIA,
- .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE
+ .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE}
},
{
.iv = 150,
.lvl = 52,
.species = SPECIES_DELCATTY,
- .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
},
{
.iv = 150,
.lvl = 53,
.species = SPECIES_ROSELIA,
- .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC
+ .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC}
},
{
.iv = 150,
.lvl = 50,
.species = SPECIES_MAGNETON,
- .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH
+ .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH}
},
{
.iv = 250,
.lvl = 54,
.species = SPECIES_GARDEVOIR,
- .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT}
}
};
-static const struct TrainerMonNoItemCustomMoves sParty_Wally6[] = {
+static const struct TrainerMonNoItemCustomMoves sParty_WallyVR5[] = {
{
.iv = 150,
.lvl = 56,
.species = SPECIES_ALTARIA,
- .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE
+ .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE}
},
{
.iv = 150,
.lvl = 55,
.species = SPECIES_DELCATTY,
- .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK
+ .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
},
{
.iv = 150,
.lvl = 56,
.species = SPECIES_ROSELIA,
- .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC
+ .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC}
},
{
.iv = 150,
.lvl = 53,
.species = SPECIES_MAGNETON,
- .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH
+ .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH}
},
{
.iv = 250,
.lvl = 57,
.species = SPECIES_GARDEVOIR,
- .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT}
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveMudkip[] = {
{
.iv = 150,
.lvl = 31,
@@ -8906,7 +8906,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTreecko[] = {
{
.iv = 150,
.lvl = 31,
@@ -8929,7 +8929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTorchic[] = {
{
.iv = 150,
.lvl = 31,
@@ -8952,7 +8952,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveMudkip[] = {
{
.iv = 150,
.lvl = 31,
@@ -8975,7 +8975,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTreecko[] = {
{
.iv = 150,
.lvl = 31,
@@ -8998,7 +8998,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May13[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTorchic[] = {
{
.iv = 150,
.lvl = 31,
@@ -9174,13 +9174,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = {
.iv = 0,
.lvl = 32,
.species = SPECIES_SWABLU,
- .moves = MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE
+ .moves = {MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE}
},
{
.iv = 0,
.lvl = 35,
.species = SPECIES_NUMEL,
- .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE
+ .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE}
}
};
@@ -9189,13 +9189,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = {
.iv = 0,
.lvl = 18,
.species = SPECIES_ROSELIA,
- .moves = MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED
+ .moves = {MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED}
},
{
.iv = 0,
.lvl = 20,
.species = SPECIES_GRAVELER,
- .moves = MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW
+ .moves = {MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW}
}
};
@@ -9204,13 +9204,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = {
.iv = 0,
.lvl = 27,
.species = SPECIES_DUSTOX,
- .moves = MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT
+ .moves = {MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT}
},
{
.iv = 0,
.lvl = 27,
.species = SPECIES_BEAUTIFLY,
- .moves = MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE
+ .moves = {MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE}
}
};
@@ -9219,13 +9219,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = {
.iv = 200,
.lvl = 39,
.species = SPECIES_MEDICHAM,
- .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT}
},
{
.iv = 200,
.lvl = 39,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM}
}
};
@@ -9234,13 +9234,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = {
.iv = 210,
.lvl = 43,
.species = SPECIES_MEDICHAM,
- .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT}
},
{
.iv = 210,
.lvl = 43,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM}
}
};
@@ -9249,13 +9249,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = {
.iv = 220,
.lvl = 46,
.species = SPECIES_MEDICHAM,
- .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT}
},
{
.iv = 220,
.lvl = 46,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM}
}
};
@@ -9264,13 +9264,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = {
.iv = 230,
.lvl = 49,
.species = SPECIES_MEDICHAM,
- .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT}
},
{
.iv = 230,
.lvl = 49,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM}
}
};
@@ -9279,13 +9279,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = {
.iv = 240,
.lvl = 52,
.species = SPECIES_MEDICHAM,
- .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT}
},
{
.iv = 240,
.lvl = 52,
.species = SPECIES_HARIYAMA,
- .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM}
}
};
@@ -9645,7 +9645,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout1[] = {
{
.iv = 0,
.lvl = 29,
@@ -9653,7 +9653,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt38[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout2[] = {
{
.iv = 0,
.lvl = 29,
@@ -9661,7 +9661,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt39[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout3[] = {
{
.iv = 0,
.lvl = 29,
@@ -9669,7 +9669,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt40[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout4[] = {
{
.iv = 0,
.lvl = 28,
@@ -9682,7 +9682,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt41[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout5[] = {
{
.iv = 0,
.lvl = 28,
@@ -9695,7 +9695,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt42[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout6[] = {
{
.iv = 0,
.lvl = 29,
@@ -9703,7 +9703,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt43[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout7[] = {
{
.iv = 0,
.lvl = 29,
@@ -9711,7 +9711,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt44[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout8[] = {
{
.iv = 0,
.lvl = 29,
@@ -9719,7 +9719,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt45[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout9[] = {
{
.iv = 0,
.lvl = 29,
@@ -9727,7 +9727,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt46[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout10[] = {
{
.iv = 0,
.lvl = 29,
@@ -9735,7 +9735,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt47[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout11[] = {
{
.iv = 0,
.lvl = 29,
@@ -9743,7 +9743,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt48[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout12[] = {
{
.iv = 0,
.lvl = 29,
@@ -9751,7 +9751,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt49[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout13[] = {
{
.iv = 0,
.lvl = 29,
@@ -9759,7 +9759,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt50[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout14[] = {
{
.iv = 0,
.lvl = 29,
@@ -9767,7 +9767,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt51[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout15[] = {
{
.iv = 0,
.lvl = 29,
@@ -9775,7 +9775,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt52[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout16[] = {
{
.iv = 0,
.lvl = 29,
@@ -9783,7 +9783,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grunt53[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMagmaHideout[] = {
{
.iv = 75,
.lvl = 26,
@@ -9819,7 +9819,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Maxie3[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMossdeep[] = {
{
.iv = 150,
.lvl = 42,
@@ -10163,7 +10163,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = {
.iv = 100,
.lvl = 30,
.species = SPECIES_MANECTRIC,
- .moves = MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE
+ .moves = {MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE}
}
};
@@ -10272,7 +10272,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTreecko[] = {
{
.iv = 25,
.lvl = 13,
@@ -10285,7 +10285,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May15[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTorchic[] = {
{
.iv = 25,
.lvl = 13,
@@ -10304,28 +10304,28 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = {
.lvl = 32,
.species = SPECIES_GOLEM,
.heldItem = ITEM_NONE,
- .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION
+ .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION}
},
{
.iv = 255,
.lvl = 35,
.species = SPECIES_KABUTO,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE
+ .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 35,
.species = SPECIES_ONIX,
.heldItem = ITEM_NONE,
- .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE
+ .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 37,
.species = SPECIES_NOSEPASS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE}
}
};
@@ -10335,35 +10335,35 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = {
.lvl = 37,
.species = SPECIES_OMANYTE,
.heldItem = ITEM_NONE,
- .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF
+ .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF}
},
{
.iv = 255,
.lvl = 37,
.species = SPECIES_GOLEM,
.heldItem = ITEM_NONE,
- .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION
+ .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION}
},
{
.iv = 255,
.lvl = 40,
.species = SPECIES_KABUTOPS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE
+ .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 40,
.species = SPECIES_ONIX,
.heldItem = ITEM_NONE,
- .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE
+ .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 42,
.species = SPECIES_NOSEPASS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE}
}
};
@@ -10373,35 +10373,35 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = {
.lvl = 42,
.species = SPECIES_OMASTAR,
.heldItem = ITEM_NONE,
- .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF
+ .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF}
},
{
.iv = 255,
.lvl = 42,
.species = SPECIES_GOLEM,
.heldItem = ITEM_NONE,
- .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION
+ .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_KABUTOPS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE
+ .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_ONIX,
.heldItem = ITEM_NONE,
- .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE
+ .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 47,
.species = SPECIES_NOSEPASS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE}
}
};
@@ -10411,42 +10411,42 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = {
.lvl = 47,
.species = SPECIES_AERODACTYL,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT
+ .moves = {MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 47,
.species = SPECIES_GOLEM,
.heldItem = ITEM_NONE,
- .moves = MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION}
},
{
.iv = 255,
.lvl = 47,
.species = SPECIES_OMASTAR,
.heldItem = ITEM_NONE,
- .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF
+ .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_KABUTOPS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE
+ .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_STEELIX,
.heldItem = ITEM_NONE,
- .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE
+ .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 52,
.species = SPECIES_NOSEPASS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE}
}
};
@@ -10456,28 +10456,28 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = {
.lvl = 33,
.species = SPECIES_MACHAMP,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP
+ .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP}
},
{
.iv = 255,
.lvl = 33,
.species = SPECIES_MEDITITE,
.heldItem = ITEM_NONE,
- .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH
+ .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH}
},
{
.iv = 255,
.lvl = 35,
.species = SPECIES_HITMONTOP,
.heldItem = ITEM_NONE,
- .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK
+ .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK}
},
{
.iv = 255,
.lvl = 37,
.species = SPECIES_HARIYAMA,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE
+ .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE}
}
};
@@ -10487,28 +10487,28 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = {
.lvl = 38,
.species = SPECIES_MACHAMP,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP
+ .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP}
},
{
.iv = 255,
.lvl = 38,
.species = SPECIES_MEDICHAM,
.heldItem = ITEM_NONE,
- .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH
+ .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH}
},
{
.iv = 255,
.lvl = 40,
.species = SPECIES_HITMONTOP,
.heldItem = ITEM_NONE,
- .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK
+ .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK}
},
{
.iv = 255,
.lvl = 42,
.species = SPECIES_HARIYAMA,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE
+ .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE}
}
};
@@ -10518,35 +10518,35 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = {
.lvl = 40,
.species = SPECIES_HITMONCHAN,
.heldItem = ITEM_NONE,
- .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH
+ .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_MACHAMP,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP
+ .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_MEDICHAM,
.heldItem = ITEM_NONE,
- .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_HITMONTOP,
.heldItem = ITEM_NONE,
- .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK
+ .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK}
},
{
.iv = 255,
.lvl = 47,
.species = SPECIES_HARIYAMA,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE
+ .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE}
}
};
@@ -10556,42 +10556,42 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = {
.lvl = 46,
.species = SPECIES_HITMONLEE,
.heldItem = ITEM_NONE,
- .moves = MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP
+ .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP}
},
{
.iv = 255,
.lvl = 46,
.species = SPECIES_HITMONCHAN,
.heldItem = ITEM_NONE,
- .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH
+ .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_MACHAMP,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP
+ .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_MEDICHAM,
.heldItem = ITEM_NONE,
- .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_HITMONTOP,
.heldItem = ITEM_NONE,
- .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK
+ .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK}
},
{
.iv = 255,
.lvl = 52,
.species = SPECIES_HARIYAMA,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE
+ .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE}
}
};
@@ -10601,28 +10601,28 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = {
.lvl = 36,
.species = SPECIES_MAREEP,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 36,
.species = SPECIES_ELECTRODE,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE
+ .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 38,
.species = SPECIES_MAGNETON,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE
+ .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 40,
.species = SPECIES_MANECTRIC,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT
+ .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT}
}
};
@@ -10632,35 +10632,35 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = {
.lvl = 39,
.species = SPECIES_PIKACHU,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE
+ .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE}
},
{
.iv = 255,
.lvl = 41,
.species = SPECIES_FLAAFFY,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 41,
.species = SPECIES_ELECTRODE,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE
+ .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_MAGNETON,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE
+ .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_MANECTRIC,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT
+ .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT}
}
};
@@ -10670,35 +10670,35 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = {
.lvl = 44,
.species = SPECIES_RAICHU,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT
+ .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 46,
.species = SPECIES_AMPHAROS,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 46,
.species = SPECIES_ELECTRODE,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE
+ .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_MAGNETON,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE
+ .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_MANECTRIC,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT
+ .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT}
}
};
@@ -10708,42 +10708,42 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = {
.lvl = 50,
.species = SPECIES_ELECTABUZZ,
.heldItem = ITEM_NONE,
- .moves = MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_RAICHU,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT
+ .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_AMPHAROS,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_ELECTRODE,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE
+ .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_MAGNETON,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE
+ .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_MANECTRIC,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT
+ .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT}
}
};
@@ -10753,28 +10753,28 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = {
.lvl = 38,
.species = SPECIES_MAGCARGO,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE
+ .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 36,
.species = SPECIES_PONYTA,
.heldItem = ITEM_NONE,
- .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE
+ .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE}
},
{
.iv = 255,
.lvl = 38,
.species = SPECIES_CAMERUPT,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT}
},
{
.iv = 255,
.lvl = 40,
.species = SPECIES_TORKOAL,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT}
}
};
@@ -10784,35 +10784,35 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = {
.lvl = 41,
.species = SPECIES_GROWLITHE,
.heldItem = ITEM_NONE,
- .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY
+ .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_MAGCARGO,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE
+ .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 41,
.species = SPECIES_PONYTA,
.heldItem = ITEM_NONE,
- .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE
+ .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_CAMERUPT,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_TORKOAL,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT}
}
};
@@ -10822,42 +10822,42 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = {
.lvl = 46,
.species = SPECIES_HOUNDOUR,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY
+ .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY}
},
{
.iv = 255,
.lvl = 46,
.species = SPECIES_GROWLITHE,
.heldItem = ITEM_NONE,
- .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR
+ .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_MAGCARGO,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE
+ .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 46,
.species = SPECIES_RAPIDASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE
+ .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_CAMERUPT,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_TORKOAL,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT}
}
};
@@ -10867,42 +10867,42 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = {
.lvl = 51,
.species = SPECIES_ARCANINE,
.heldItem = ITEM_NONE,
- .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR
+ .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_MAGCARGO,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE
+ .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_HOUNDOOM,
.heldItem = ITEM_NONE,
- .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY
+ .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_RAPIDASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE
+ .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_CAMERUPT,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_TORKOAL,
.heldItem = ITEM_WHITE_HERB,
- .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT}
}
};
@@ -10912,28 +10912,28 @@ static const struct TrainerMonItemCustomMoves sParty_Norman2[] = {
.lvl = 42,
.species = SPECIES_CHANSEY,
.heldItem = ITEM_NONE,
- .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH}
},
{
.iv = 255,
.lvl = 42,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST
+ .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_SPINDA,
.heldItem = ITEM_NONE,
- .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS
+ .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL}
}
};
@@ -10943,35 +10943,35 @@ static const struct TrainerMonItemCustomMoves sParty_Norman3[] = {
.lvl = 47,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST
+ .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST}
},
{
.iv = 255,
.lvl = 47,
.species = SPECIES_CHANSEY,
.heldItem = ITEM_NONE,
- .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_KANGASKHAN,
.heldItem = ITEM_NONE,
- .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL
+ .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_SPINDA,
.heldItem = ITEM_NONE,
- .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS
+ .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL}
}
};
@@ -10981,35 +10981,35 @@ static const struct TrainerMonItemCustomMoves sParty_Norman4[] = {
.lvl = 52,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST
+ .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST}
},
{
.iv = 255,
.lvl = 52,
.species = SPECIES_BLISSEY,
.heldItem = ITEM_NONE,
- .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_KANGASKHAN,
.heldItem = ITEM_NONE,
- .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL
+ .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_SPINDA,
.heldItem = ITEM_NONE,
- .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS
+ .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL}
}
};
@@ -11019,42 +11019,42 @@ static const struct TrainerMonItemCustomMoves sParty_Norman5[] = {
.lvl = 57,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST
+ .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST}
},
{
.iv = 255,
.lvl = 57,
.species = SPECIES_BLISSEY,
.heldItem = ITEM_NONE,
- .moves = MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH
+ .moves = {MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_KANGASKHAN,
.heldItem = ITEM_NONE,
- .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL
+ .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL}
},
{
.iv = 255,
.lvl = 57,
.species = SPECIES_TAUROS,
.heldItem = ITEM_NONE,
- .moves = MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE
+ .moves = {MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE}
},
{
.iv = 255,
.lvl = 58,
.species = SPECIES_SPINDA,
.heldItem = ITEM_NONE,
- .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS
+ .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS}
},
{
.iv = 255,
.lvl = 60,
.species = SPECIES_SLAKING,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL}
}
};
@@ -11064,35 +11064,35 @@ static const struct TrainerMonItemCustomMoves sParty_Winona2[] = {
.lvl = 40,
.species = SPECIES_DRATINI,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 38,
.species = SPECIES_TROPIUS,
.heldItem = ITEM_NONE,
- .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE
+ .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE}
},
{
.iv = 255,
.lvl = 41,
.species = SPECIES_PELIPPER,
.heldItem = ITEM_NONE,
- .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE
+ .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_SKARMORY,
.heldItem = ITEM_NONE,
- .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE
+ .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_ALTARIA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE
+ .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE}
}
};
@@ -11102,42 +11102,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona3[] = {
.lvl = 43,
.species = SPECIES_HOOTHOOT,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER}
},
{
.iv = 255,
.lvl = 43,
.species = SPECIES_TROPIUS,
.heldItem = ITEM_NONE,
- .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE
+ .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE}
},
{
.iv = 255,
.lvl = 45,
.species = SPECIES_DRAGONAIR,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 46,
.species = SPECIES_PELIPPER,
.heldItem = ITEM_NONE,
- .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE
+ .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_SKARMORY,
.heldItem = ITEM_NONE,
- .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE
+ .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_ALTARIA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE
+ .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE}
}
};
@@ -11147,42 +11147,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona4[] = {
.lvl = 48,
.species = SPECIES_NOCTOWL,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER}
},
{
.iv = 255,
.lvl = 49,
.species = SPECIES_TROPIUS,
.heldItem = ITEM_NONE,
- .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE
+ .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_DRAGONAIR,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_PELIPPER,
.heldItem = ITEM_NONE,
- .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE
+ .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_SKARMORY,
.heldItem = ITEM_NONE,
- .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE
+ .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_ALTARIA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE
+ .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE}
}
};
@@ -11192,42 +11192,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona5[] = {
.lvl = 53,
.species = SPECIES_NOCTOWL,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER}
},
{
.iv = 255,
.lvl = 54,
.species = SPECIES_TROPIUS,
.heldItem = ITEM_NONE,
- .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE
+ .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_PELIPPER,
.heldItem = ITEM_NONE,
- .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE
+ .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_DRAGONITE,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM
+ .moves = {MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 58,
.species = SPECIES_SKARMORY,
.heldItem = ITEM_NONE,
- .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE
+ .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE}
},
{
.iv = 255,
.lvl = 60,
.species = SPECIES_ALTARIA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE
+ .moves = {MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE}
}
};
@@ -11237,35 +11237,35 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = {
.lvl = 48,
.species = SPECIES_SLOWPOKE,
.heldItem = ITEM_NONE,
- .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT
+ .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 49,
.species = SPECIES_CLAYDOL,
.heldItem = ITEM_NONE,
- .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 49,
.species = SPECIES_XATU,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND
+ .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_LUNATONE,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 50,
.species = SPECIES_SOLROCK,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER}
}
};
@@ -11275,42 +11275,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = {
.lvl = 53,
.species = SPECIES_DROWZEE,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT
+ .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_SLOWPOKE,
.heldItem = ITEM_NONE,
- .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT
+ .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 54,
.species = SPECIES_CLAYDOL,
.heldItem = ITEM_NONE,
- .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 54,
.species = SPECIES_XATU,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND
+ .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_LUNATONE,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 55,
.species = SPECIES_SOLROCK,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER}
}
};
@@ -11320,42 +11320,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = {
.lvl = 58,
.species = SPECIES_HYPNO,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT
+ .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 59,
.species = SPECIES_CLAYDOL,
.heldItem = ITEM_NONE,
- .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 58,
.species = SPECIES_SLOWPOKE,
.heldItem = ITEM_NONE,
- .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT
+ .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 59,
.species = SPECIES_XATU,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND
+ .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 60,
.species = SPECIES_LUNATONE,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 60,
.species = SPECIES_SOLROCK,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER}
}
};
@@ -11365,42 +11365,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = {
.lvl = 63,
.species = SPECIES_HYPNO,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT
+ .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 64,
.species = SPECIES_CLAYDOL,
.heldItem = ITEM_NONE,
- .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN
+ .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN}
},
{
.iv = 255,
.lvl = 63,
.species = SPECIES_SLOWKING,
.heldItem = ITEM_NONE,
- .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT
+ .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT}
},
{
.iv = 255,
.lvl = 64,
.species = SPECIES_XATU,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND
+ .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 65,
.species = SPECIES_LUNATONE,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND}
},
{
.iv = 255,
.lvl = 65,
.species = SPECIES_SOLROCK,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER}
}
};
@@ -11410,35 +11410,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan2[] = {
.lvl = 46,
.species = SPECIES_POLIWAG,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP
+ .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP}
},
{
.iv = 255,
.lvl = 46,
.species = SPECIES_WHISCASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE
+ .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_WALREIN,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM
+ .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 48,
.species = SPECIES_CRAWDAUNT,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM
+ .moves = {MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_KINGDRA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST
+ .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST}
}
};
@@ -11448,35 +11448,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan3[] = {
.lvl = 50,
.species = SPECIES_POLIWHIRL,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP
+ .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP}
},
{
.iv = 255,
.lvl = 51,
.species = SPECIES_WHISCASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE
+ .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_WALREIN,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM
+ .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 53,
.species = SPECIES_CRAWDAUNT,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM
+ .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM}
},
{
.iv = 255,
.lvl = 56,
.species = SPECIES_KINGDRA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST
+ .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST}
}
};
@@ -11486,42 +11486,42 @@ static const struct TrainerMonItemCustomMoves sParty_Juan4[] = {
.lvl = 56,
.species = SPECIES_LAPRAS,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY
+ .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY}
},
{
.iv = 255,
.lvl = 58,
.species = SPECIES_WHISCASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE
+ .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE}
},
{
.iv = 255,
.lvl = 56,
.species = SPECIES_POLIWHIRL,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP
+ .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP}
},
{
.iv = 255,
.lvl = 58,
.species = SPECIES_WALREIN,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM
+ .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM}
},
{
.iv = 255,
.lvl = 58,
.species = SPECIES_CRAWDAUNT,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM
+ .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM}
},
{
.iv = 255,
.lvl = 61,
.species = SPECIES_KINGDRA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST
+ .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST}
}
};
@@ -11531,42 +11531,42 @@ static const struct TrainerMonItemCustomMoves sParty_Juan5[] = {
.lvl = 61,
.species = SPECIES_LAPRAS,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY
+ .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY}
},
{
.iv = 255,
.lvl = 63,
.species = SPECIES_WHISCASH,
.heldItem = ITEM_NONE,
- .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE
+ .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE}
},
{
.iv = 255,
.lvl = 61,
.species = SPECIES_POLITOED,
.heldItem = ITEM_NONE,
- .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG
+ .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG}
},
{
.iv = 255,
.lvl = 63,
.species = SPECIES_WALREIN,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD
+ .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD}
},
{
.iv = 255,
.lvl = 63,
.species = SPECIES_CRAWDAUNT,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM
+ .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM}
},
{
.iv = 255,
.lvl = 66,
.species = SPECIES_KINGDRA,
.heldItem = ITEM_CHESTO_BERRY,
- .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST
+ .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST}
}
};
@@ -11576,14 +11576,14 @@ static const struct TrainerMonItemCustomMoves sParty_Angelo[] = {
.lvl = 17,
.species = SPECIES_ILLUMISE,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE
+ .moves = {MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE}
},
{
.iv = 100,
.lvl = 17,
.species = SPECIES_VOLBEAT,
.heldItem = ITEM_NONE,
- .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE
+ .moves = {MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE}
}
};
@@ -11601,42 +11601,42 @@ static const struct TrainerMonItemCustomMoves sParty_Steven[] = {
.lvl = 77,
.species = SPECIES_SKARMORY,
.heldItem = ITEM_NONE,
- .moves = MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING
+ .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING}
},
{
.iv = 255,
.lvl = 75,
.species = SPECIES_CLAYDOL,
.heldItem = ITEM_NONE,
- .moves = MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE
+ .moves = {MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE}
},
{
.iv = 255,
.lvl = 76,
.species = SPECIES_AGGRON,
.heldItem = ITEM_NONE,
- .moves = MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW
+ .moves = {MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW}
},
{
.iv = 255,
.lvl = 76,
.species = SPECIES_CRADILY,
.heldItem = ITEM_NONE,
- .moves = MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY
+ .moves = {MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY}
},
{
.iv = 255,
.lvl = 76,
.species = SPECIES_ARMALDO,
.heldItem = ITEM_NONE,
- .moves = MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH
+ .moves = {MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH}
},
{
.iv = 255,
.lvl = 78,
.species = SPECIES_METAGROSS,
.heldItem = ITEM_SITRUS_BERRY,
- .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL}
}
};
@@ -12419,7 +12419,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLinkPlaceholder[] = {
{
.iv = 0,
.lvl = 5,
@@ -12427,7 +12427,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = {
}
};
-static const struct TrainerMonNoItemDefaultMoves sParty_May16[] = {
+static const struct TrainerMonNoItemDefaultMoves sParty_MayLinkPlaceholder[] = {
{
.iv = 0,
.lvl = 5,
diff --git a/src/data/trainers.h b/src/data/trainers.h
index c30d21afd..163a8296d 100644
--- a/src/data/trainers.h
+++ b/src/data/trainers.h
@@ -27,7 +27,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Sawyer1},
},
- [TRAINER_GRUNT_1] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -37,11 +37,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt1),
- .party = {.NoItemDefaultMoves = sParty_Grunt1},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout1),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout1},
},
- [TRAINER_GRUNT_2] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -51,11 +51,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt2),
- .party = {.NoItemDefaultMoves = sParty_Grunt2},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout2),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout2},
},
- [TRAINER_GRUNT_3] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_3] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -65,11 +65,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt3),
- .party = {.NoItemDefaultMoves = sParty_Grunt3},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout3),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout3},
},
- [TRAINER_GRUNT_4] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_4] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -79,11 +79,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt4),
- .party = {.NoItemDefaultMoves = sParty_Grunt4},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout4),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout4},
},
- [TRAINER_GRUNT_5] =
+ [TRAINER_GRUNT_SEAFLOOR_CAVERN_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -93,11 +93,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt5),
- .party = {.NoItemDefaultMoves = sParty_Grunt5},
+ .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern1),
+ .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern1},
},
- [TRAINER_GRUNT_6] =
+ [TRAINER_GRUNT_SEAFLOOR_CAVERN_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -107,11 +107,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt6),
- .party = {.NoItemDefaultMoves = sParty_Grunt6},
+ .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern2),
+ .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern2},
},
- [TRAINER_GRUNT_7] =
+ [TRAINER_GRUNT_SEAFLOOR_CAVERN_3] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -121,8 +121,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt7),
- .party = {.NoItemDefaultMoves = sParty_Grunt7},
+ .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern3),
+ .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern3},
},
[TRAINER_GABRIELLE_1] =
@@ -139,7 +139,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Gabrielle1},
},
- [TRAINER_GRUNT_8] =
+ [TRAINER_GRUNT_PETALBURG_WOODS] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -149,8 +149,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt8),
- .party = {.NoItemDefaultMoves = sParty_Grunt8},
+ .partySize = ARRAY_COUNT(sParty_GruntPetalburgWoods),
+ .party = {.NoItemDefaultMoves = sParty_GruntPetalburgWoods},
},
[TRAINER_MARCEL] =
@@ -195,7 +195,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Ed},
},
- [TRAINER_GRUNT_9] =
+ [TRAINER_GRUNT_SEAFLOOR_CAVERN_4] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -205,8 +205,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt9),
- .party = {.NoItemDefaultMoves = sParty_Grunt9},
+ .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern4),
+ .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern4},
},
[TRAINER_DECLAN] =
@@ -223,7 +223,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Declan},
},
- [TRAINER_GRUNT_10] =
+ [TRAINER_GRUNT_RUSTURF_TUNNEL] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -233,11 +233,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt10),
- .party = {.NoItemDefaultMoves = sParty_Grunt10},
+ .partySize = ARRAY_COUNT(sParty_GruntRusturfTunnel),
+ .party = {.NoItemDefaultMoves = sParty_GruntRusturfTunnel},
},
- [TRAINER_GRUNT_11] =
+ [TRAINER_GRUNT_WEATHER_INST_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -247,11 +247,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt11),
- .party = {.NoItemDefaultMoves = sParty_Grunt11},
+ .partySize = ARRAY_COUNT(sParty_GruntWeatherInst1),
+ .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst1},
},
- [TRAINER_GRUNT_12] =
+ [TRAINER_GRUNT_WEATHER_INST_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -261,11 +261,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt12),
- .party = {.NoItemDefaultMoves = sParty_Grunt12},
+ .partySize = ARRAY_COUNT(sParty_GruntWeatherInst2),
+ .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst2},
},
- [TRAINER_GRUNT_13] =
+ [TRAINER_GRUNT_WEATHER_INST_3] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -275,11 +275,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt13),
- .party = {.NoItemDefaultMoves = sParty_Grunt13},
+ .partySize = ARRAY_COUNT(sParty_GruntWeatherInst3),
+ .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst3},
},
- [TRAINER_GRUNT_14] =
+ [TRAINER_GRUNT_MUSEUM_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -289,11 +289,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt14),
- .party = {.NoItemDefaultMoves = sParty_Grunt14},
+ .partySize = ARRAY_COUNT(sParty_GruntMuseum1),
+ .party = {.NoItemDefaultMoves = sParty_GruntMuseum1},
},
- [TRAINER_GRUNT_15] =
+ [TRAINER_GRUNT_MUSEUM_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -303,11 +303,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt15),
- .party = {.NoItemDefaultMoves = sParty_Grunt15},
+ .partySize = ARRAY_COUNT(sParty_GruntMuseum2),
+ .party = {.NoItemDefaultMoves = sParty_GruntMuseum2},
},
- [TRAINER_GRUNT_16] =
+ [TRAINER_GRUNT_SPACE_CENTER_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -317,11 +317,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt16),
- .party = {.NoItemDefaultMoves = sParty_Grunt16},
+ .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter1),
+ .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter1},
},
- [TRAINER_GRUNT_17] =
+ [TRAINER_GRUNT_MT_PYRE_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -331,11 +331,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt17),
- .party = {.NoItemDefaultMoves = sParty_Grunt17},
+ .partySize = ARRAY_COUNT(sParty_GruntMtPyre1),
+ .party = {.NoItemDefaultMoves = sParty_GruntMtPyre1},
},
- [TRAINER_GRUNT_18] =
+ [TRAINER_GRUNT_MT_PYRE_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -345,11 +345,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt18),
- .party = {.NoItemDefaultMoves = sParty_Grunt18},
+ .partySize = ARRAY_COUNT(sParty_GruntMtPyre2),
+ .party = {.NoItemDefaultMoves = sParty_GruntMtPyre2},
},
- [TRAINER_GRUNT_19] =
+ [TRAINER_GRUNT_MT_PYRE_3] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -359,11 +359,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt19),
- .party = {.NoItemDefaultMoves = sParty_Grunt19},
+ .partySize = ARRAY_COUNT(sParty_GruntMtPyre3),
+ .party = {.NoItemDefaultMoves = sParty_GruntMtPyre3},
},
- [TRAINER_GRUNT_20] =
+ [TRAINER_GRUNT_WEATHER_INST_4] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -373,11 +373,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt20),
- .party = {.NoItemDefaultMoves = sParty_Grunt20},
+ .partySize = ARRAY_COUNT(sParty_GruntWeatherInst4),
+ .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst4},
},
- [TRAINER_GRUNT_21] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_5] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -387,11 +387,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt21),
- .party = {.NoItemDefaultMoves = sParty_Grunt21},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout5),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout5},
},
- [TRAINER_GRUNT_22] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_6] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -401,8 +401,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt22),
- .party = {.NoItemDefaultMoves = sParty_Grunt22},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout6),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout6},
},
[TRAINER_FREDRICK] =
@@ -447,7 +447,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Zander},
},
- [TRAINER_SHELLY_1] =
+ [TRAINER_SHELLY_WEATHER_INSTITUTE] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_AQUA_ADMIN,
@@ -457,11 +457,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Shelly1),
- .party = {.NoItemDefaultMoves = sParty_Shelly1},
+ .partySize = ARRAY_COUNT(sParty_ShellyWeatherInstitute),
+ .party = {.NoItemDefaultMoves = sParty_ShellyWeatherInstitute},
},
- [TRAINER_SHELLY_2] =
+ [TRAINER_SHELLY_SEAFLOOR_CAVERN] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_AQUA_ADMIN,
@@ -471,8 +471,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Shelly2),
- .party = {.NoItemDefaultMoves = sParty_Shelly2},
+ .partySize = ARRAY_COUNT(sParty_ShellySeafloorCavern),
+ .party = {.NoItemDefaultMoves = sParty_ShellySeafloorCavern},
},
[TRAINER_ARCHIE] =
@@ -1623,7 +1623,7 @@ const struct Trainer gTrainers[] = {
.party = {.ItemCustomMoves = sParty_Daphne},
},
- [TRAINER_GRUNT_23] =
+ [TRAINER_GRUNT_SPACE_CENTER_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -1633,8 +1633,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt23),
- .party = {.NoItemDefaultMoves = sParty_Grunt23},
+ .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter2),
+ .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter2},
},
[TRAINER_CINDY_2] =
@@ -2043,7 +2043,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Mark},
},
- [TRAINER_GRUNT_24] =
+ [TRAINER_GRUNT_MT_CHIMNEY_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -2053,8 +2053,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt24),
- .party = {.NoItemDefaultMoves = sParty_Grunt24},
+ .partySize = ARRAY_COUNT(sParty_GruntMtChimney1),
+ .party = {.NoItemDefaultMoves = sParty_GruntMtChimney1},
},
[TRAINER_STEVE_2] =
@@ -2687,7 +2687,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemCustomMoves = sParty_Kirk},
},
- [TRAINER_GRUNT_25] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_7] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -2697,11 +2697,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt25),
- .party = {.NoItemDefaultMoves = sParty_Grunt25},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout7),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout7},
},
- [TRAINER_GRUNT_26] =
+ [TRAINER_GRUNT_AQUA_HIDEOUT_8] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -2711,8 +2711,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt26),
- .party = {.NoItemDefaultMoves = sParty_Grunt26},
+ .partySize = ARRAY_COUNT(sParty_GruntAquaHideout8),
+ .party = {.NoItemDefaultMoves = sParty_GruntAquaHideout8},
},
[TRAINER_SHAWN] =
@@ -7195,7 +7195,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Hector},
},
- [TRAINER_TABITHA_1] =
+ [TRAINER_TABITHA_MOSSDEEP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_MAGMA_ADMIN,
@@ -7205,8 +7205,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Tabitha1),
- .party = {.NoItemDefaultMoves = sParty_Tabitha1},
+ .partySize = ARRAY_COUNT(sParty_TabithaMossdeep),
+ .party = {.NoItemDefaultMoves = sParty_TabithaMossdeep},
},
[TRAINER_EDWIN_2] =
@@ -7265,7 +7265,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Edwin5},
},
- [TRAINER_WALLY_1] =
+ [TRAINER_WALLY_VR_1] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7275,11 +7275,11 @@ const struct Trainer gTrainers[] = {
.items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Wally1),
- .party = {.NoItemCustomMoves = sParty_Wally1},
+ .partySize = ARRAY_COUNT(sParty_WallyVR1),
+ .party = {.NoItemCustomMoves = sParty_WallyVR1},
},
- [TRAINER_BRENDAN_1] =
+ [TRAINER_BRENDAN_ROUTE_103_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7289,11 +7289,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan1),
- .party = {.NoItemDefaultMoves = sParty_Brendan1},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute103Mudkip),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Mudkip},
},
- [TRAINER_BRENDAN_2] =
+ [TRAINER_BRENDAN_ROUTE_110_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7303,11 +7303,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan2),
- .party = {.NoItemDefaultMoves = sParty_Brendan2},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute110Mudkip),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Mudkip},
},
- [TRAINER_BRENDAN_3] =
+ [TRAINER_BRENDAN_ROUTE_119_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7317,11 +7317,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan3),
- .party = {.NoItemDefaultMoves = sParty_Brendan3},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute119Mudkip),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Mudkip},
},
- [TRAINER_BRENDAN_4] =
+ [TRAINER_BRENDAN_ROUTE_103_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7331,11 +7331,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
- .partySize = ARRAY_COUNT(sParty_Brendan4),
- .party = {.NoItemDefaultMoves = sParty_Brendan4},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute103Treecko),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Treecko},
},
- [TRAINER_BRENDAN_5] =
+ [TRAINER_BRENDAN_ROUTE_110_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7345,11 +7345,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan5),
- .party = {.NoItemDefaultMoves = sParty_Brendan5},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute110Treecko),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Treecko},
},
- [TRAINER_BRENDAN_6] =
+ [TRAINER_BRENDAN_ROUTE_119_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7359,11 +7359,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan6),
- .party = {.NoItemDefaultMoves = sParty_Brendan6},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute119Treecko),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Treecko},
},
- [TRAINER_BRENDAN_7] =
+ [TRAINER_BRENDAN_ROUTE_103_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7373,11 +7373,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan7),
- .party = {.NoItemDefaultMoves = sParty_Brendan7},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute103Torchic),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Torchic},
},
- [TRAINER_BRENDAN_8] =
+ [TRAINER_BRENDAN_ROUTE_110_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7387,11 +7387,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan8),
- .party = {.NoItemDefaultMoves = sParty_Brendan8},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute110Torchic),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Torchic},
},
- [TRAINER_BRENDAN_9] =
+ [TRAINER_BRENDAN_ROUTE_119_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7401,11 +7401,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan9),
- .party = {.NoItemDefaultMoves = sParty_Brendan9},
+ .partySize = ARRAY_COUNT(sParty_BrendanRoute119Torchic),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Torchic},
},
- [TRAINER_MAY_1] =
+ [TRAINER_MAY_ROUTE_103_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7415,11 +7415,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May1),
- .party = {.NoItemDefaultMoves = sParty_May1},
+ .partySize = ARRAY_COUNT(sParty_MayRoute103Mudkip),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute103Mudkip},
},
- [TRAINER_MAY_2] =
+ [TRAINER_MAY_ROUTE_110_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7429,11 +7429,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May2),
- .party = {.NoItemDefaultMoves = sParty_May2},
+ .partySize = ARRAY_COUNT(sParty_MayRoute110Mudkip),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute110Mudkip},
},
- [TRAINER_MAY_3] =
+ [TRAINER_MAY_ROUTE_119_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7443,11 +7443,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May3),
- .party = {.NoItemDefaultMoves = sParty_May3},
+ .partySize = ARRAY_COUNT(sParty_MayRoute119Mudkip),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute119Mudkip},
},
- [TRAINER_MAY_4] =
+ [TRAINER_MAY_ROUTE_103_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7457,11 +7457,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May4),
- .party = {.NoItemDefaultMoves = sParty_May4},
+ .partySize = ARRAY_COUNT(sParty_MayRoute103Treecko),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute103Treecko},
},
- [TRAINER_MAY_5] =
+ [TRAINER_MAY_ROUTE_110_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7471,11 +7471,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May5),
- .party = {.NoItemDefaultMoves = sParty_May5},
+ .partySize = ARRAY_COUNT(sParty_MayRoute110Treecko),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute110Treecko},
},
- [TRAINER_MAY_6] =
+ [TRAINER_MAY_ROUTE_119_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7485,11 +7485,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May6),
- .party = {.NoItemDefaultMoves = sParty_May6},
+ .partySize = ARRAY_COUNT(sParty_MayRoute119Treecko),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute119Treecko},
},
- [TRAINER_MAY_7] =
+ [TRAINER_MAY_ROUTE_103_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7499,11 +7499,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May7),
- .party = {.NoItemDefaultMoves = sParty_May7},
+ .partySize = ARRAY_COUNT(sParty_MayRoute103Torchic),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute103Torchic},
},
- [TRAINER_MAY_8] =
+ [TRAINER_MAY_ROUTE_110_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7513,11 +7513,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May8),
- .party = {.NoItemDefaultMoves = sParty_May8},
+ .partySize = ARRAY_COUNT(sParty_MayRoute110Torchic),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute110Torchic},
},
- [TRAINER_MAY_9] =
+ [TRAINER_MAY_ROUTE_119_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -7527,8 +7527,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May9),
- .party = {.NoItemDefaultMoves = sParty_May9},
+ .partySize = ARRAY_COUNT(sParty_MayRoute119Torchic),
+ .party = {.NoItemDefaultMoves = sParty_MayRoute119Torchic},
},
[TRAINER_ISAAC_1] =
@@ -7937,7 +7937,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Julio},
},
- [TRAINER_GRUNT_27] =
+ [TRAINER_GRUNT_SEAFLOOR_CAVERN_5] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -7947,11 +7947,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt27),
- .party = {.NoItemDefaultMoves = sParty_Grunt27},
+ .partySize = ARRAY_COUNT(sParty_GruntSeafloorCavern5),
+ .party = {.NoItemDefaultMoves = sParty_GruntSeafloorCavern5},
},
- [TRAINER_GRUNT_28] =
+ [TRAINER_GRUNT_UNUSED] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -7961,11 +7961,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt28),
- .party = {.NoItemDefaultMoves = sParty_Grunt28},
+ .partySize = ARRAY_COUNT(sParty_GruntUnused),
+ .party = {.NoItemDefaultMoves = sParty_GruntUnused},
},
- [TRAINER_GRUNT_29] =
+ [TRAINER_GRUNT_MT_PYRE_4] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -7975,11 +7975,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt29),
- .party = {.NoItemDefaultMoves = sParty_Grunt29},
+ .partySize = ARRAY_COUNT(sParty_GruntMtPyre4),
+ .party = {.NoItemDefaultMoves = sParty_GruntMtPyre4},
},
- [TRAINER_GRUNT_30] =
+ [TRAINER_GRUNT_JAGGED_PASS] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -7989,8 +7989,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt30),
- .party = {.NoItemDefaultMoves = sParty_Grunt30},
+ .partySize = ARRAY_COUNT(sParty_GruntJaggedPass),
+ .party = {.NoItemDefaultMoves = sParty_GruntJaggedPass},
},
[TRAINER_MARC] =
@@ -8105,7 +8105,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Harrison},
},
- [TRAINER_GRUNT_31] =
+ [TRAINER_GRUNT_MT_CHIMNEY_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -8115,8 +8115,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt31),
- .party = {.NoItemDefaultMoves = sParty_Grunt31},
+ .partySize = ARRAY_COUNT(sParty_GruntMtChimney2),
+ .party = {.NoItemDefaultMoves = sParty_GruntMtChimney2},
},
[TRAINER_CLARENCE] =
@@ -8203,7 +8203,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Nicholas},
},
- [TRAINER_GRUNT_32] =
+ [TRAINER_GRUNT_SPACE_CENTER_3] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -8213,11 +8213,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt32),
- .party = {.NoItemDefaultMoves = sParty_Grunt32},
+ .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter3),
+ .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter3},
},
- [TRAINER_GRUNT_33] =
+ [TRAINER_GRUNT_SPACE_CENTER_4] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -8227,11 +8227,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt33),
- .party = {.NoItemDefaultMoves = sParty_Grunt33},
+ .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter4),
+ .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter4},
},
- [TRAINER_GRUNT_34] =
+ [TRAINER_GRUNT_SPACE_CENTER_5] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -8241,11 +8241,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt34),
- .party = {.NoItemDefaultMoves = sParty_Grunt34},
+ .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter5),
+ .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter5},
},
- [TRAINER_GRUNT_35] =
+ [TRAINER_GRUNT_SPACE_CENTER_6] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -8255,11 +8255,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt35),
- .party = {.NoItemDefaultMoves = sParty_Grunt35},
+ .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter6),
+ .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter6},
},
- [TRAINER_GRUNT_36] =
+ [TRAINER_GRUNT_SPACE_CENTER_7] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -8269,8 +8269,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt36),
- .party = {.NoItemDefaultMoves = sParty_Grunt36},
+ .partySize = ARRAY_COUNT(sParty_GruntSpaceCenter7),
+ .party = {.NoItemDefaultMoves = sParty_GruntSpaceCenter7},
},
[TRAINER_MACEY] =
@@ -8287,7 +8287,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Macey},
},
- [TRAINER_BRENDAN_10] =
+ [TRAINER_BRENDAN_RUSTBORO_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -8297,11 +8297,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Brendan10),
- .party = {.NoItemDefaultMoves = sParty_Brendan10},
+ .partySize = ARRAY_COUNT(sParty_BrendanRustboroTreecko),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTreecko},
},
- [TRAINER_BRENDAN_11] =
+ [TRAINER_BRENDAN_RUSTBORO_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -8311,8 +8311,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Brendan11),
- .party = {.NoItemDefaultMoves = sParty_Brendan11},
+ .partySize = ARRAY_COUNT(sParty_BrendanRustboroMudkip),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRustboroMudkip},
},
[TRAINER_PAXTON] =
@@ -8343,7 +8343,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Isabella},
},
- [TRAINER_GRUNT_37] =
+ [TRAINER_GRUNT_WEATHER_INST_5] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_AQUA,
@@ -8353,11 +8353,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt37),
- .party = {.NoItemDefaultMoves = sParty_Grunt37},
+ .partySize = ARRAY_COUNT(sParty_GruntWeatherInst5),
+ .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst5},
},
- [TRAINER_TABITHA_2] =
+ [TRAINER_TABITHA_MT_CHIMNEY] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_MAGMA_ADMIN,
@@ -8367,8 +8367,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Tabitha2),
- .party = {.NoItemDefaultMoves = sParty_Tabitha2},
+ .partySize = ARRAY_COUNT(sParty_TabithaMtChimney),
+ .party = {.NoItemDefaultMoves = sParty_TabithaMtChimney},
},
[TRAINER_JONATHAN] =
@@ -8385,7 +8385,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Jonathan},
},
- [TRAINER_BRENDAN_12] =
+ [TRAINER_BRENDAN_RUSTBORO_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -8395,11 +8395,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan12),
- .party = {.NoItemDefaultMoves = sParty_Brendan12},
+ .partySize = ARRAY_COUNT(sParty_BrendanRustboroTorchic),
+ .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTorchic},
},
- [TRAINER_MAY_10] =
+ [TRAINER_MAY_RUSTBORO_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -8409,11 +8409,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN,
- .partySize = ARRAY_COUNT(sParty_May10),
- .party = {.NoItemDefaultMoves = sParty_May10},
+ .partySize = ARRAY_COUNT(sParty_MayRustboroMudkip),
+ .party = {.NoItemDefaultMoves = sParty_MayRustboroMudkip},
},
- [TRAINER_MAXIE_1] =
+ [TRAINER_MAXIE_MAGMA_HIDEOUT] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_MAGMA_LEADER,
@@ -8423,11 +8423,11 @@ const struct Trainer gTrainers[] = {
.items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Maxie1),
- .party = {.NoItemDefaultMoves = sParty_Maxie1},
+ .partySize = ARRAY_COUNT(sParty_MaxieMagmaHideout),
+ .party = {.NoItemDefaultMoves = sParty_MaxieMagmaHideout},
},
- [TRAINER_MAXIE_2] =
+ [TRAINER_MAXIE_MT_CHIMNEY] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_MAGMA_LEADER,
@@ -8437,8 +8437,8 @@ const struct Trainer gTrainers[] = {
.items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Maxie2),
- .party = {.NoItemDefaultMoves = sParty_Maxie2},
+ .partySize = ARRAY_COUNT(sParty_MaxieMtChimney),
+ .party = {.NoItemDefaultMoves = sParty_MaxieMtChimney},
},
[TRAINER_TIANA] =
@@ -9183,7 +9183,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Ashley},
},
- [TRAINER_WALLY_2] =
+ [TRAINER_WALLY_MAUVILLE] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9193,11 +9193,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Wally2),
- .party = {.NoItemDefaultMoves = sParty_Wally2},
+ .partySize = ARRAY_COUNT(sParty_WallyMauville),
+ .party = {.NoItemDefaultMoves = sParty_WallyMauville},
},
- [TRAINER_WALLY_3] =
+ [TRAINER_WALLY_VR_2] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9207,11 +9207,11 @@ const struct Trainer gTrainers[] = {
.items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Wally3),
- .party = {.NoItemCustomMoves = sParty_Wally3},
+ .partySize = ARRAY_COUNT(sParty_WallyVR2),
+ .party = {.NoItemCustomMoves = sParty_WallyVR2},
},
- [TRAINER_WALLY_4] =
+ [TRAINER_WALLY_VR_3] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9221,11 +9221,11 @@ const struct Trainer gTrainers[] = {
.items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Wally4),
- .party = {.NoItemCustomMoves = sParty_Wally4},
+ .partySize = ARRAY_COUNT(sParty_WallyVR3),
+ .party = {.NoItemCustomMoves = sParty_WallyVR3},
},
- [TRAINER_WALLY_5] =
+ [TRAINER_WALLY_VR_4] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9235,11 +9235,11 @@ const struct Trainer gTrainers[] = {
.items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Wally5),
- .party = {.NoItemCustomMoves = sParty_Wally5},
+ .partySize = ARRAY_COUNT(sParty_WallyVR4),
+ .party = {.NoItemCustomMoves = sParty_WallyVR4},
},
- [TRAINER_WALLY_6] =
+ [TRAINER_WALLY_VR_5] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9249,11 +9249,11 @@ const struct Trainer gTrainers[] = {
.items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Wally6),
- .party = {.NoItemCustomMoves = sParty_Wally6},
+ .partySize = ARRAY_COUNT(sParty_WallyVR5),
+ .party = {.NoItemCustomMoves = sParty_WallyVR5},
},
- [TRAINER_BRENDAN_13] =
+ [TRAINER_BRENDAN_LILYCOVE_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9263,11 +9263,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan13),
- .party = {.NoItemDefaultMoves = sParty_Brendan13},
+ .partySize = ARRAY_COUNT(sParty_BrendanLilycoveMudkip),
+ .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveMudkip},
},
- [TRAINER_BRENDAN_14] =
+ [TRAINER_BRENDAN_LILYCOVE_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9277,11 +9277,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan14),
- .party = {.NoItemDefaultMoves = sParty_Brendan14},
+ .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTreecko),
+ .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTreecko},
},
- [TRAINER_BRENDAN_15] =
+ [TRAINER_BRENDAN_LILYCOVE_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9291,11 +9291,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Brendan15),
- .party = {.NoItemDefaultMoves = sParty_Brendan15},
+ .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTorchic),
+ .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTorchic},
},
- [TRAINER_MAY_11] =
+ [TRAINER_MAY_LILYCOVE_MUDKIP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9305,11 +9305,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May11),
- .party = {.NoItemDefaultMoves = sParty_May11},
+ .partySize = ARRAY_COUNT(sParty_MayLilycoveMudkip),
+ .party = {.NoItemDefaultMoves = sParty_MayLilycoveMudkip},
},
- [TRAINER_MAY_12] =
+ [TRAINER_MAY_LILYCOVE_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9319,11 +9319,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May12),
- .party = {.NoItemDefaultMoves = sParty_May12},
+ .partySize = ARRAY_COUNT(sParty_MayLilycoveTreecko),
+ .party = {.NoItemDefaultMoves = sParty_MayLilycoveTreecko},
},
- [TRAINER_MAY_13] =
+ [TRAINER_MAY_LILYCOVE_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -9333,8 +9333,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May13),
- .party = {.NoItemDefaultMoves = sParty_May13},
+ .partySize = ARRAY_COUNT(sParty_MayLilycoveTorchic),
+ .party = {.NoItemDefaultMoves = sParty_MayLilycoveTorchic},
},
[TRAINER_JONAH] =
@@ -10023,7 +10023,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Deandre},
},
- [TRAINER_GRUNT_38] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_1] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10033,11 +10033,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt38),
- .party = {.NoItemDefaultMoves = sParty_Grunt38},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout1),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout1},
},
- [TRAINER_GRUNT_39] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_2] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10047,11 +10047,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt39),
- .party = {.NoItemDefaultMoves = sParty_Grunt39},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout2),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout2},
},
- [TRAINER_GRUNT_40] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_3] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10061,11 +10061,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt40),
- .party = {.NoItemDefaultMoves = sParty_Grunt40},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout3),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout3},
},
- [TRAINER_GRUNT_41] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_4] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10075,11 +10075,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt41),
- .party = {.NoItemDefaultMoves = sParty_Grunt41},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout4),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout4},
},
- [TRAINER_GRUNT_42] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_5] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10089,11 +10089,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt42),
- .party = {.NoItemDefaultMoves = sParty_Grunt42},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout5),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout5},
},
- [TRAINER_GRUNT_43] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_6] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10103,11 +10103,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt43),
- .party = {.NoItemDefaultMoves = sParty_Grunt43},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout6),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout6},
},
- [TRAINER_GRUNT_44] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_7] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10117,11 +10117,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt44),
- .party = {.NoItemDefaultMoves = sParty_Grunt44},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout7),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout7},
},
- [TRAINER_GRUNT_45] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_8] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10131,11 +10131,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt45),
- .party = {.NoItemDefaultMoves = sParty_Grunt45},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout8),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout8},
},
- [TRAINER_GRUNT_46] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_9] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10145,11 +10145,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt46),
- .party = {.NoItemDefaultMoves = sParty_Grunt46},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout9),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout9},
},
- [TRAINER_GRUNT_47] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_10] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10159,11 +10159,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt47),
- .party = {.NoItemDefaultMoves = sParty_Grunt47},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout10),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout10},
},
- [TRAINER_GRUNT_48] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_11] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10173,11 +10173,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt48),
- .party = {.NoItemDefaultMoves = sParty_Grunt48},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout11),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout11},
},
- [TRAINER_GRUNT_49] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_12] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10187,11 +10187,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt49),
- .party = {.NoItemDefaultMoves = sParty_Grunt49},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout12),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout12},
},
- [TRAINER_GRUNT_50] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_13] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10201,11 +10201,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt50),
- .party = {.NoItemDefaultMoves = sParty_Grunt50},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout13),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout13},
},
- [TRAINER_GRUNT_51] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_14] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10215,11 +10215,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt51),
- .party = {.NoItemDefaultMoves = sParty_Grunt51},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout14),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout14},
},
- [TRAINER_GRUNT_52] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_15] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10229,11 +10229,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt52),
- .party = {.NoItemDefaultMoves = sParty_Grunt52},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout15),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout15},
},
- [TRAINER_GRUNT_53] =
+ [TRAINER_GRUNT_MAGMA_HIDEOUT_16] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_TEAM_MAGMA,
@@ -10243,11 +10243,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Grunt53),
- .party = {.NoItemDefaultMoves = sParty_Grunt53},
+ .partySize = ARRAY_COUNT(sParty_GruntMagmaHideout16),
+ .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout16},
},
- [TRAINER_TABITHA_3] =
+ [TRAINER_TABITHA_MAGMA_HIDEOUT] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_MAGMA_ADMIN,
@@ -10257,8 +10257,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
- .partySize = ARRAY_COUNT(sParty_Tabitha3),
- .party = {.NoItemDefaultMoves = sParty_Tabitha3},
+ .partySize = ARRAY_COUNT(sParty_TabithaMagmaHideout),
+ .party = {.NoItemDefaultMoves = sParty_TabithaMagmaHideout},
},
[TRAINER_DARCY] =
@@ -10275,7 +10275,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Darcy},
},
- [TRAINER_MAXIE_3] =
+ [TRAINER_MAXIE_MOSSDEEP] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_MAGMA_LEADER,
@@ -10285,8 +10285,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_Maxie3),
- .party = {.NoItemDefaultMoves = sParty_Maxie3},
+ .partySize = ARRAY_COUNT(sParty_MaxieMossdeep),
+ .party = {.NoItemDefaultMoves = sParty_MaxieMossdeep},
},
[TRAINER_PETE] =
@@ -10751,7 +10751,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Cristin1},
},
- [TRAINER_MAY_14] =
+ [TRAINER_MAY_RUSTBORO_TREECKO] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -10761,11 +10761,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May14),
- .party = {.NoItemDefaultMoves = sParty_May14},
+ .partySize = ARRAY_COUNT(sParty_MayRustboroTreecko),
+ .party = {.NoItemDefaultMoves = sParty_MayRustboroTreecko},
},
- [TRAINER_MAY_15] =
+ [TRAINER_MAY_RUSTBORO_TORCHIC] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_3,
@@ -10775,8 +10775,8 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
- .partySize = ARRAY_COUNT(sParty_May15),
- .party = {.NoItemDefaultMoves = sParty_May15},
+ .partySize = ARRAY_COUNT(sParty_MayRustboroTorchic),
+ .party = {.NoItemDefaultMoves = sParty_MayRustboroTorchic},
},
[TRAINER_ROXANNE_2] =
@@ -11941,7 +11941,7 @@ const struct Trainer gTrainers[] = {
.party = {.NoItemDefaultMoves = sParty_Leaf},
},
- [TRAINER_BRENDAN_16] =
+ [TRAINER_BRENDAN_PLACEHOLDER] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_RS_PROTAG,
@@ -11951,11 +11951,11 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = 0,
- .partySize = ARRAY_COUNT(sParty_Brendan16),
- .party = {.NoItemDefaultMoves = sParty_Brendan16},
+ .partySize = ARRAY_COUNT(sParty_BrendanLinkPlaceholder),
+ .party = {.NoItemDefaultMoves = sParty_BrendanLinkPlaceholder},
},
- [TRAINER_MAY_16] =
+ [TRAINER_MAY_PLACEHOLDER] =
{
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_RS_PROTAG,
@@ -11965,7 +11965,7 @@ const struct Trainer gTrainers[] = {
.items = {},
.doubleBattle = FALSE,
.aiFlags = 0,
- .partySize = ARRAY_COUNT(sParty_May16),
- .party = {.NoItemDefaultMoves = sParty_May16},
+ .partySize = ARRAY_COUNT(sParty_MayLinkPlaceholder),
+ .party = {.NoItemDefaultMoves = sParty_MayLinkPlaceholder},
},
};
diff --git a/src/data/union_room.h b/src/data/union_room.h
new file mode 100644
index 000000000..8cb0bc8aa
--- /dev/null
+++ b/src/data/union_room.h
@@ -0,0 +1,1061 @@
+// const rom data
+
+ALIGNED(4) static const u8 sText_EmptyString[] = _("");
+ALIGNED(4) const u8 sText_Colon[] = _(":");
+ALIGNED(4) const u8 sText_ID[] = _("{ID}");
+ALIGNED(4) const u8 sText_PleaseStartOver[] = _("Please start over from the beginning.");
+ALIGNED(4) const u8 sText_WirelessSearchCanceled[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled.");
+ALIGNED(4) const u8 sText_AwaitingCommunucation2[] = _("Awaiting communication\nfrom another player."); // Unused
+ALIGNED(4) const u8 sText_AwaitingCommunication[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player.");
+ALIGNED(4) const u8 sText_AwaitingLinkPressStart[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready.");
+ALIGNED(4) const u8 sJPText_SingleBattle[] = _("シングルバトルを かいさいする");
+ALIGNED(4) const u8 sJPText_DoubleBattle[] = _("ダブルバトルを かいさいする");
+ALIGNED(4) const u8 sJPText_MultiBattle[] = _("マルチバトルを かいさいする");
+ALIGNED(4) const u8 sJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする");
+ALIGNED(4) const u8 sJPText_Chat[] = _("チャットを かいさいする");
+ALIGNED(4) const u8 sJPText_DistWonderCard[] = _("ふしぎなカードをくばる");
+ALIGNED(4) const u8 sJPText_DistWonderNews[] = _("ふしぎなニュースをくばる");
+ALIGNED(4) const u8 sJPText_DistMysteryEvent[] = _("ふしぎなできごとを かいさいする"); // Unused
+ALIGNED(4) const u8 sJPText_HoldPokemonJump[] = _("なわとびを かいさいする");
+ALIGNED(4) const u8 sJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする");
+ALIGNED(4) const u8 sJPText_HoldBerryPicking[] = _("きのみどりを かいさいする");
+ALIGNED(4) const u8 sJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする");
+ALIGNED(4) const u8 sJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする");
+
+// Unused
+const u8 *const sJPLinkGroupActionTexts[] = {
+ sJPText_SingleBattle,
+ sJPText_DoubleBattle,
+ sJPText_MultiBattle,
+ sJPText_TradePokemon,
+ sJPText_Chat,
+ sJPText_DistWonderCard,
+ sJPText_DistWonderNews,
+ sJPText_DistWonderCard,
+ sJPText_HoldPokemonJump,
+ sJPText_HoldBerryCrush,
+ sJPText_HoldBerryPicking,
+ sJPText_HoldBerryPicking,
+ sJPText_HoldSpinTrade,
+ sJPText_HoldSpinShop
+};
+
+const u8 sText_1PlayerNeeded[] = _("1 player\nneeded.");
+const u8 sText_2PlayersNeeded[] = _("2 players\nneeded.");
+const u8 sText_3PlayersNeeded[] = _("3 players\nneeded.");
+const u8 sText_4PlayersNeeded[] = _("4 players\nneeded.");
+const u8 sText_2PlayerMode[] = _("2-PLAYER\nMODE");
+const u8 sText_3PlayerMode[] = _("3-PLAYER\nMODE");
+const u8 sText_4PlayerMode[] = _("4-PLAYER\nMODE");
+const u8 sText_5PlayerMode[] = _("5-PLAYER\nMODE");
+
+static const u8 *const sPlayersNeededOrModeTexts[][5] = {
+ {
+ sText_1PlayerNeeded,
+ sText_2PlayerMode
+ }, {
+ sText_3PlayersNeeded,
+ sText_2PlayersNeeded,
+ sText_1PlayerNeeded,
+ sText_4PlayerMode
+ }, {
+ sText_1PlayerNeeded,
+ sText_2PlayerMode,
+ sText_3PlayerMode,
+ sText_4PlayerMode,
+ sText_5PlayerMode
+ }, {
+ sText_2PlayersNeeded,
+ sText_1PlayerNeeded,
+ sText_3PlayerMode,
+ sText_4PlayerMode,
+ sText_5PlayerMode
+ }, {
+ sText_1PlayerNeeded,
+ sText_2PlayerMode,
+ sText_3PlayerMode,
+ sText_4PlayerMode
+ }
+};
+
+ALIGNED(4) const u8 sText_BButtonCancel[] = _("{B_BUTTON}CANCEL");
+ALIGNED(4) const u8 sJPText_SearchingForParticipants[] = _("ため\nさんかしゃ ぼしゅうちゅう です!"); // Unused, may have been cut off
+ALIGNED(4) const u8 sText_PlayerContactedYouForXAccept[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?");
+ALIGNED(4) const u8 sText_PlayerContactedYouShareX[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?");
+ALIGNED(4) const u8 sText_PlayerContactedYouAddToMembers[] = _("{STR_VAR_2} contacted you.\nAdd to the members?");
+ALIGNED(4) const u8 sText_AreTheseMembersOK[] = _("{STR_VAR_1}!\nAre these members OK?");
+ALIGNED(4) const u8 sText_CancelModeWithTheseMembers[] = _("Cancel {STR_VAR_1} MODE\nwith these members?");
+ALIGNED(4) const u8 sText_AnOKWasSentToPlayer[] = _("An “OK” was sent\nto {STR_VAR_1}.");
+ALIGNED(4) const u8 sText_OtherTrainerUnavailableNow[] = _("The other TRAINER doesn't appear\nto be available now…\p");
+ALIGNED(4) const u8 sText_CantTransmitTrainerTooFar[] = _("You can't transmit with a TRAINER\nwho is too far away.\p");
+ALIGNED(4) const u8 sText_TrainersNotReadyYet[] = _("The other TRAINER(S) is/are not\nready yet.\p");
+
+const u8 *const sCantTransmitToTrainerTexts[] = {
+ sText_CantTransmitTrainerTooFar,
+ sText_TrainersNotReadyYet
+};
+
+ALIGNED(4) const u8 sText_ModeWithTheseMembersWillBeCanceled[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}");
+ALIGNED(4) const u8 sText_MemberNoLongerAvailable[] = _("There is a member who can no\nlonger remain available.\p");
+
+const u8 *const sPlayerUnavailableTexts[] = {
+ sText_OtherTrainerUnavailableNow,
+ sText_MemberNoLongerAvailable
+};
+
+ALIGNED(4) const u8 sText_TrainerAppearsUnavailable[] = _("The other TRAINER appears\nunavailable…\p");
+ALIGNED(4) const u8 sText_PlayerSentBackOK[] = _("{STR_VAR_1} sent back an “OK”!");
+ALIGNED(4) const u8 sText_PlayerOKdRegistration[] = _("{STR_VAR_1} OK'd your registration as\na member.");
+ALIGNED(4) const u8 sText_PlayerRepliedNo[] = _("{STR_VAR_1} replied, “No…”\p");
+ALIGNED(4) const u8 sText_AwaitingOtherMembers[] = _("{STR_VAR_1}!\nAwaiting other members!");
+ALIGNED(4) const u8 sText_QuitBeingMember[] = _("Quit being a member?");
+ALIGNED(4) const u8 sText_StoppedBeingMember[] = _("You stopped being a member.\p");
+
+const u8 *const sPlayerDisconnectedTexts[] = {
+ NULL,
+ sText_MemberNoLongerAvailable,
+ sText_TrainerAppearsUnavailable,
+ NULL,
+ NULL,
+ NULL,
+ sText_PlayerRepliedNo,
+ NULL,
+ NULL,
+ sText_StoppedBeingMember
+};
+
+ALIGNED(4) const u8 sText_WirelessLinkEstablished[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established.");
+ALIGNED(4) const u8 sText_WirelessLinkDropped[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…");
+ALIGNED(4) const u8 sText_LinkWithFriendDropped[] = _("The link with your friend has been\ndropped…");
+ALIGNED(4) const u8 sText_PlayerRepliedNo2[] = _("{STR_VAR_1} replied, “No…”");
+
+const u8 *const sLinkDroppedTexts[] = {
+ NULL,
+ sText_LinkWithFriendDropped,
+ sText_LinkWithFriendDropped,
+ NULL,
+ NULL,
+ NULL,
+ sText_PlayerRepliedNo2,
+ NULL,
+ NULL,
+ NULL
+};
+
+ALIGNED(4) const u8 sText_DoYouWantXMode[] = _("Do you want the {STR_VAR_2}\nMODE?");
+ALIGNED(4) const u8 sText_DoYouWantXMode2[] = _("Do you want the {STR_VAR_2}\nMODE?");
+
+// Unused
+static const u8 *const sDoYouWantModeTexts[] = {
+ sText_DoYouWantXMode,
+ sText_DoYouWantXMode2
+};
+
+ALIGNED(4) const u8 sText_CommunicatingPleaseWait[] = _("Communicating…\nPlease wait."); // Unused
+ALIGNED(4) const u8 sText_AwaitingPlayersResponseAboutTrade[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…");
+ALIGNED(4) const u8 sText_Communicating[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
+ALIGNED(4) const u8 sText_CommunicatingWithPlayer[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
+ALIGNED(4) const u8 sText_PleaseWaitAWhile[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
+
+static const u8 *const sCommunicatingWaitTexts[] = {
+ sText_Communicating,
+ sText_CommunicatingWithPlayer,
+ sText_PleaseWaitAWhile
+};
+
+ALIGNED(4) const u8 sText_HiDoSomethingMale[] = _("Hiya! Is there something that you\nwanted to do?");
+ALIGNED(4) const u8 sText_HiDoSomethingFemale[] = _("Hello!\nWould you like to do something?");
+ALIGNED(4) const u8 sText_HiDoSomethingAgainMale[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?");
+ALIGNED(4) const u8 sText_HiDoSomethingAgainFemale[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?");
+
+static const u8 *const sHiDoSomethingTexts[][GENDER_COUNT] = {
+ {
+ sText_HiDoSomethingMale,
+ sText_HiDoSomethingFemale
+ }, {
+ sText_HiDoSomethingAgainMale,
+ sText_HiDoSomethingAgainFemale
+ }
+};
+
+ALIGNED(4) const u8 sText_DoSomethingMale[] = _("Want to do something?");
+ALIGNED(4) const u8 sText_DoSomethingFemale[] = _("Would you like to do something?");
+ALIGNED(4) const u8 sText_DoSomethingAgainMale[] = _("{STR_VAR_1}: What would you like to\ndo now?");
+ALIGNED(4) const u8 sText_DoSomethingAgainFemale[] = _("{STR_VAR_1}: Want to do anything else?"); // Unused
+
+// Unused
+static const u8 *const sDoSomethingTexts[][GENDER_COUNT] = {
+ {
+ sText_DoSomethingMale,
+ sText_DoSomethingFemale
+ }, {
+ sText_DoSomethingAgainMale,
+ sText_DoSomethingAgainMale // was probably supposed to be sText_DoSomethingAgainFemale
+ }
+};
+
+ALIGNED(4) const u8 sText_SomebodyHasContactedYou[] = _("Somebody has contacted you.{PAUSE 60}");
+ALIGNED(4) const u8 sText_PlayerHasContactedYou[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}");
+
+static const u8 *const sPlayerContactedYouTexts[] = {
+ sText_SomebodyHasContactedYou,
+ sText_PlayerHasContactedYou
+};
+
+ALIGNED(4) const u8 sText_AwaitingResponseFromTrainer[] = _("Awaiting a response from\nthe other TRAINER…");
+ALIGNED(4) const u8 sText_AwaitingResponseFromPlayer[] = _("Awaiting a response from\n{STR_VAR_1}…");
+
+static const u8 *const sAwaitingResponseTexts[] = {
+ sText_AwaitingResponseFromTrainer,
+ sText_AwaitingResponseFromPlayer
+};
+
+ALIGNED(4) const u8 sText_ShowTrainerCard[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?");
+ALIGNED(4) const u8 sText_BattleChallenge[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?");
+ALIGNED(4) const u8 sText_ChatInvitation[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?");
+ALIGNED(4) const u8 sText_OfferToTradeMon[] = _("There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?");
+ALIGNED(4) const u8 sText_OfferToTradeEgg[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?");
+ALIGNED(4) const u8 sText_ChatDropped[] = _("The chat has been dropped.\p");
+ALIGNED(4) const u8 sText_OfferDeclined1[] = _("You declined the offer.\p");
+ALIGNED(4) const u8 sText_OfferDeclined2[] = _("You declined the offer.\p");
+ALIGNED(4) const u8 sText_ChatEnded[] = _("The chat was ended.\p");
+
+// Unused
+static const u8 *const sInvitationTexts[] = {
+ sText_ShowTrainerCard,
+ sText_BattleChallenge,
+ sText_ChatInvitation,
+ sText_OfferToTradeMon
+};
+
+ALIGNED(4) const u8 sText_JoinChatMale[] = _("Oh, hey! We're in a chat right now.\nWant to join us?");
+ALIGNED(4) const u8 sText_PlayerJoinChatMale[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?");
+ALIGNED(4) const u8 sText_JoinChatFemale[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?");
+ALIGNED(4) const u8 sText_PlayerJoinChatFemale[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?");
+
+static const u8 *const sJoinChatTexts[][GENDER_COUNT] = {
+ {
+ sText_JoinChatMale,
+ sText_JoinChatFemale
+ }, {
+ sText_PlayerJoinChatMale,
+ sText_PlayerJoinChatFemale
+ }
+};
+
+ALIGNED(4) const u8 sText_TrainerAppearsBusy[] = _("……\nThe TRAINER appears to be busy…\p");
+ALIGNED(4) const u8 sText_WaitForBattleMale[] = _("A battle, huh?\nAll right, just give me some time.");
+ALIGNED(4) const u8 sText_WaitForChatMale[] = _("You want to chat, huh?\nSure, just wait a little.");
+ALIGNED(4) const u8 sText_ShowTrainerCardMale[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD.");
+ALIGNED(4) const u8 sText_WaitForBattleFemale[] = _("A battle? Of course, but I need\ntime to get ready.");
+ALIGNED(4) const u8 sText_WaitForChatFemale[] = _("Did you want to chat?\nOkay, but please wait a moment.");
+ALIGNED(4) const u8 sText_ShowTrainerCardFemale[] = _("As my introduction, I'll show you\nmy TRAINER CARD.");
+
+const u8 *const sText_WaitOrShowCardTexts[GENDER_COUNT][4] = {
+ {
+ sText_WaitForBattleMale,
+ sText_WaitForChatMale,
+ NULL,
+ sText_ShowTrainerCardMale
+ }, {
+ sText_WaitForBattleFemale,
+ sText_WaitForChatFemale,
+ NULL,
+ sText_ShowTrainerCardFemale
+ }
+};
+
+ALIGNED(4) const u8 sText_WaitForChatMale2[] = _("You want to chat, huh?\nSure, just wait a little."); // Unused
+ALIGNED(4) const u8 sText_DoneWaitingBattleMale[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}");
+ALIGNED(4) const u8 sText_DoneWaitingChatMale[] = _("All right!\nLet's chat!{PAUSE 60}");
+ALIGNED(4) const u8 sText_DoneWaitingBattleFemale[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}");
+ALIGNED(4) const u8 sText_DoneWaitingChatFemale[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}");
+ALIGNED(4) const u8 sText_TradeWillBeStarted[] = _("The trade will be started.{PAUSE 60}");
+ALIGNED(4) const u8 sText_BattleWillBeStarted[] = _("The battle will be started.{PAUSE 60}");
+ALIGNED(4) const u8 sText_EnteringChat[] = _("Entering the chat…{PAUSE 60}");
+
+const u8 *const sStartActivityTexts[][GENDER_COUNT][3] = {
+ {
+ {
+ sText_BattleWillBeStarted,
+ sText_EnteringChat,
+ sText_TradeWillBeStarted
+ }, {
+ sText_BattleWillBeStarted,
+ sText_EnteringChat,
+ sText_TradeWillBeStarted
+ }
+ }, {
+ {
+ sText_DoneWaitingBattleMale,
+ sText_DoneWaitingChatMale,
+ sText_TradeWillBeStarted
+ }, {
+ sText_DoneWaitingBattleFemale,
+ sText_DoneWaitingChatFemale,
+ sText_TradeWillBeStarted
+ }
+ }
+};
+
+ALIGNED(4) const u8 sText_BattleDeclinedMale[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p");
+ALIGNED(4) const u8 sText_BattleDeclinedFemale[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p");
+
+const u8 *const sBattleDeclinedTexts[GENDER_COUNT] = {
+ sText_BattleDeclinedMale,
+ sText_BattleDeclinedFemale
+};
+
+ALIGNED(4) const u8 sText_ShowTrainerCardDeclinedMale[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p");
+ALIGNED(4) const u8 sText_ShowTrainerCardDeclinedFemale[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p");
+
+const u8 *const sShowTrainerCardDeclinedTexts[GENDER_COUNT] = {
+ sText_ShowTrainerCardDeclinedMale,
+ sText_ShowTrainerCardDeclinedFemale
+};
+
+ALIGNED(4) const u8 sText_IfYouWantToDoSomethingMale[] = _("If you want to do something with\nme, just give me a shout!\p");
+ALIGNED(4) const u8 sText_IfYouWantToDoSomethingFemale[] = _("If you want to do something with\nme, don't be shy.\p");
+
+const u8 *const sIfYouWantToDoSomethingTexts[GENDER_COUNT] = {
+ sText_IfYouWantToDoSomethingMale,
+ sText_IfYouWantToDoSomethingFemale
+};
+
+ALIGNED(4) const u8 sText_TrainerBattleBusy[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p");
+ALIGNED(4) const u8 sText_NeedTwoMonsOfLevel30OrLower1[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p");
+ALIGNED(4) const u8 sText_NeedTwoMonsOfLevel30OrLower2[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p");
+ALIGNED(4) const u8 sText_DeclineBattleMale[] = _("Oh, all right.\nCome see me anytime, okay?\p");
+ALIGNED(4) const u8 stext_DeclineBattleFemale[] = _("Oh…\nPlease come by anytime.\p");
+
+static const u8 *const sDeclineBattleTexts[GENDER_COUNT] = {
+ sText_DeclineBattleMale,
+ stext_DeclineBattleFemale
+};
+
+ALIGNED(4) const u8 sText_ChatDeclinedMale[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p");
+ALIGNED(4) const u8 sText_ChatDeclinedFemale[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p");
+
+const u8 *const sChatDeclinedTexts[GENDER_COUNT] = {
+ sText_ChatDeclinedMale,
+ sText_ChatDeclinedFemale
+};
+
+ALIGNED(4) const u8 sText_YoureToughMale[] = _("Whoa!\nI can tell you're pretty tough!\p");
+ALIGNED(4) const u8 sText_UsedGoodMoveMale[] = _("You used that move?\nThat's good strategy!\p");
+ALIGNED(4) const u8 sText_BattleSurpriseMale[] = _("Way to go!\nThat was an eye-opener!\p");
+ALIGNED(4) const u8 sText_SwitchedMonsMale[] = _("Oh! How could you use that\nPOKéMON in that situation?\p");
+ALIGNED(4) const u8 sText_YoureToughFemale[] = _("That POKéMON…\nIt's been raised really well!\p");
+ALIGNED(4) const u8 sText_UsedGoodMoveFemale[] = _("That's it!\nThis is the right move now!\p");
+ALIGNED(4) const u8 sText_BattleSurpriseFemale[] = _("That's awesome!\nYou can battle that way?\p");
+ALIGNED(4) const u8 sText_SwitchedMonsFemale[] = _("You have exquisite timing for\nswitching POKéMON!\p");
+
+const u8 *const sBattleReactionTexts[GENDER_COUNT][4] = {
+ {
+ sText_YoureToughMale,
+ sText_UsedGoodMoveMale,
+ sText_BattleSurpriseMale,
+ sText_SwitchedMonsMale
+ },
+ {
+ sText_YoureToughFemale,
+ sText_UsedGoodMoveFemale,
+ sText_BattleSurpriseFemale,
+ sText_SwitchedMonsFemale
+ }
+};
+
+ALIGNED(4) const u8 sText_LearnedSomethingMale[] = _("Oh, I see!\nThis is educational!\p");
+ALIGNED(4) const u8 sText_ThatsFunnyMale[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p");
+ALIGNED(4) const u8 sText_RandomChatMale1[] = _("Oh?\nSomething like that happened.\p");
+ALIGNED(4) const u8 sText_RandomChatMale2[] = _("Hmhm… What?\nSo is this what you're saying?\p");
+ALIGNED(4) const u8 sText_LearnedSomethingFemale[] = _("Is that right?\nI didn't know that.\p");
+ALIGNED(4) const u8 sText_ThatsFunnyFemale[] = _("Ahaha!\nWhat is that about?\p");
+ALIGNED(4) const u8 sText_RandomChatFemale1[] = _("Yes, that's exactly it!\nThat's what I meant.\p");
+ALIGNED(4) const u8 sText_RandomChatFemale2[] = _("In other words…\nYes! That's right!\p");
+
+const u8 *const sChatReactionTexts[GENDER_COUNT][4] = {
+ {
+ sText_LearnedSomethingMale,
+ sText_ThatsFunnyMale,
+ sText_RandomChatMale1,
+ sText_RandomChatMale2
+ },
+ {
+ sText_LearnedSomethingFemale,
+ sText_ThatsFunnyFemale,
+ sText_RandomChatFemale1,
+ sText_RandomChatFemale2
+ }
+};
+
+ALIGNED(4) const u8 sText_ShowedTrainerCardMale1[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p");
+ALIGNED(4) const u8 sText_ShowedTrainerCardMale2[] = _("I hope I get to know you better!\p");
+ALIGNED(4) const u8 sText_ShowedTrainerCardFemale1[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p");
+ALIGNED(4) const u8 sText_ShowedTrainerCardFemale2[] = _("Glad to meet you.\nPlease don't be a stranger!\p");
+
+const u8 *const sTrainerCardReactionTexts[GENDER_COUNT][2] = {
+ {
+ sText_ShowedTrainerCardMale1,
+ sText_ShowedTrainerCardMale2
+ },
+ {
+ sText_ShowedTrainerCardFemale1,
+ sText_ShowedTrainerCardFemale2
+ }
+};
+
+ALIGNED(4) const u8 sText_MaleTraded1[] = _("Yeahah!\nI really wanted this POKéMON!\p");
+ALIGNED(4) const u8 sText_MaleTraded2[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p");
+ALIGNED(4) const u8 sText_FemaleTraded1[] = _("I'm trading POKéMON right now.\p");
+ALIGNED(4) const u8 sText_FemaleTraded2[] = _("I finally got that POKéMON I\nwanted in a trade!\p");
+
+const u8 *const sTradeReactionTexts[GENDER_COUNT][4] = {
+ {
+ sText_MaleTraded1,
+ sText_MaleTraded2
+ },
+ {
+ sText_FemaleTraded1,
+ sText_FemaleTraded2
+ }
+};
+
+ALIGNED(4) const u8 sText_XCheckedTradingBoard[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p");
+ALIGNED(4) const u8 sText_RegisterMonAtTradingBoard[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?");
+ALIGNED(4) const u8 sText_TradingBoardInfo[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?");
+ALIGNED(4) const u8 sText_ThankYouForRegistering[] = _("We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p"); // unused
+ALIGNED(4) const u8 sText_NobodyHasRegistered[] = _("Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n"); // unused
+ALIGNED(4) const u8 sText_ChooseRequestedMonType[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n");
+ALIGNED(4) const u8 sText_WhichMonWillYouOffer[] = _("Which of your party POKéMON will\nyou offer in trade?\p");
+ALIGNED(4) const u8 sText_RegistrationCanceled[] = _("Registration has been canceled.\p");
+ALIGNED(4) const u8 sText_RegistraionCompleted[] = _("Registration has been completed.\p");
+ALIGNED(4) const u8 sText_TradeCanceled[] = _("The trade has been canceled.\p");
+ALIGNED(4) const u8 sText_CancelRegistrationOfMon[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?");
+ALIGNED(4) const u8 sText_CancelRegistrationOfEgg[] = _("Cancel the registration of your\nEGG?");
+ALIGNED(4) const u8 sText_RegistrationCanceled2[] = _("The registration has been canceled.\p");
+ALIGNED(4) const u8 sText_TradeTrainersWillBeListed[] = _("TRAINERS wishing to make a trade\nwill be listed."); // unused
+ALIGNED(4) const u8 sText_ChooseTrainerToTradeWith2[] = _("Please choose the TRAINER with whom\nyou would like to trade POKéMON."); // unused
+ALIGNED(4) const u8 sText_AskTrainerToMakeTrade[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?");
+ALIGNED(4) const u8 sText_AwaitingResponseFromTrainer2[] = _("Awaiting a response from\nthe other TRAINER…"); // unused
+ALIGNED(4) const u8 sText_NotRegisteredAMonForTrade[] = _("You have not registered a POKéMON\nfor trading.\p"); // unused
+ALIGNED(4) const u8 sText_DontHaveTypeTrainerWants[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p");
+ALIGNED(4) const u8 sText_DontHaveEggTrainerWants[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p");
+ALIGNED(4) const u8 sText_PlayerCantTradeForYourMon[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p");
+ALIGNED(4) const u8 sText_CantTradeForPartnersMon[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p");
+
+// Unused
+const u8 *const sCantTradeMonTexts[] = {
+ sText_PlayerCantTradeForYourMon,
+ sText_CantTradeForPartnersMon
+};
+
+ALIGNED(4) const u8 sText_TradeOfferRejected[] = _("Your trade offer was rejected.\p");
+ALIGNED(4) const u8 sText_EggTrade[] = _("EGG TRADE");
+ALIGNED(4) const u8 sText_ChooseJoinCancel[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL");
+ALIGNED(4) const u8 sText_ChooseTrainer[] = _("Please choose a TRAINER.");
+ALIGNED(4) const u8 sText_ChooseTrainerSingleBattle[] = _("Please choose a TRAINER for\na SINGLE BATTLE.");
+ALIGNED(4) const u8 sText_ChooseTrainerDoubleBattle[] = _("Please choose a TRAINER for\na DOUBLE BATTLE.");
+ALIGNED(4) const u8 sText_ChooseLeaderMultiBattle[] = _("Please choose the LEADER\nfor a MULTI BATTLE.");
+ALIGNED(4) const u8 sText_ChooseTrainerToTradeWith[] = _("Please choose the TRAINER to\ntrade with.");
+ALIGNED(4) const u8 sText_ChooseTrainerToShareWonderCards[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS.");
+ALIGNED(4) const u8 sText_ChooseTrainerToShareWonderNews[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS.");
+ALIGNED(4) const u8 sText_ChooseLeaderPokemonJump[] = _("Jump with mini POKéMON!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderBerryCrush[] = _("BERRY CRUSH!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderBerryPicking[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderBerryBlender[] = _("BERRY BLENDER!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderRecordCorner[] = _("RECORD CORNER!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderCoolContest[] = _("COOLNESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderBeautyContest[] = _("BEAUTY CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderCuteContest[] = _("CUTENESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderSmartContest[] = _("SMARTNESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderToughContest[] = _("TOUGHNESS CONTEST!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderBattleTowerLv50[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER.");
+ALIGNED(4) const u8 sText_ChooseLeaderBattleTowerOpenLv[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER.");
+
+static const u8 *const sChooseTrainerTexts[NUM_LINK_GROUP_TYPES] =
+{
+ [LINK_GROUP_SINGLE_BATTLE] = sText_ChooseTrainerSingleBattle,
+ [LINK_GROUP_DOUBLE_BATTLE] = sText_ChooseTrainerDoubleBattle,
+ [LINK_GROUP_MULTI_BATTLE] = sText_ChooseLeaderMultiBattle,
+ [LINK_GROUP_TRADE] = sText_ChooseTrainerToTradeWith,
+ [LINK_GROUP_POKEMON_JUMP] = sText_ChooseLeaderPokemonJump,
+ [LINK_GROUP_BERRY_CRUSH] = sText_ChooseLeaderBerryCrush,
+ [LINK_GROUP_BERRY_PICKING] = sText_ChooseLeaderBerryPicking,
+ [LINK_GROUP_WONDER_CARD] = sText_ChooseTrainerToShareWonderCards,
+ [LINK_GROUP_WONDER_NEWS] = sText_ChooseTrainerToShareWonderNews,
+ [LINK_GROUP_UNK_9] = NULL,
+ [LINK_GROUP_UNK_10] = NULL,
+ [LINK_GROUP_UNK_11] = NULL,
+ [LINK_GROUP_RECORD_CORNER] = sText_ChooseLeaderRecordCorner,
+ [LINK_GROUP_BERRY_BLENDER] = sText_ChooseLeaderBerryBlender,
+ [LINK_GROUP_UNK_14] = NULL,
+ [LINK_GROUP_COOL_CONTEST] = sText_ChooseLeaderCoolContest,
+ [LINK_GROUP_BEAUTY_CONTEST] = sText_ChooseLeaderBeautyContest,
+ [LINK_GROUP_CUTE_CONTEST] = sText_ChooseLeaderCuteContest,
+ [LINK_GROUP_SMART_CONTEST] = sText_ChooseLeaderSmartContest,
+ [LINK_GROUP_TOUGH_CONTEST] = sText_ChooseLeaderToughContest,
+ [LINK_GROUP_BATTLE_TOWER] = sText_ChooseLeaderBattleTowerLv50,
+ [LINK_GROUP_BATTLE_TOWER_OPEN] = sText_ChooseLeaderBattleTowerOpenLv
+};
+
+ALIGNED(4) const u8 sText_SearchingForWirelessSystemWait[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait...");
+ALIGNED(4) const u8 sText_MustHaveTwoMonsForDoubleBattle[] = _("For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p"); // Unused
+ALIGNED(4) const u8 sText_AwaitingPlayersResponse[] = _("Awaiting {STR_VAR_1}'s response…");
+ALIGNED(4) const u8 sText_PlayerHasBeenAskedToRegisterYouPleaseWait[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait.");
+ALIGNED(4) const u8 sText_AwaitingResponseFromWirelessSystem[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM.");
+ALIGNED(4) const u8 sText_PleaseWaitForOtherTrainersToGather[] = _("Please wait for other TRAINERS to\ngather and get ready."); // Unused
+ALIGNED(4) const u8 sText_NoCardsSharedRightNow[] = _("No CARDS appear to be shared \nright now.");
+ALIGNED(4) const u8 sText_NoNewsSharedRightNow[] = _("No NEWS appears to be shared\nright now.");
+
+const u8 *const sNoWonderSharedTexts[] = {
+ sText_NoCardsSharedRightNow,
+ sText_NoNewsSharedRightNow
+};
+
+ALIGNED(4) const u8 sText_Battle[] = _("BATTLE");
+ALIGNED(4) const u8 sText_Chat2[] = _("CHAT");
+ALIGNED(4) const u8 sText_Greetings[] = _("GREETINGS");
+ALIGNED(4) const u8 sText_Exit[] = _("EXIT");
+ALIGNED(4) const u8 sText_Exit2[] = _("EXIT");
+ALIGNED(4) const u8 sText_Info[] = _("INFO");
+ALIGNED(4) const u8 sText_NameWantedOfferLv[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.");
+ALIGNED(4) const u8 sText_SingleBattle[] = _("SINGLE BATTLE");
+ALIGNED(4) const u8 sText_DoubleBattle[] = _("DOUBLE BATTLE");
+ALIGNED(4) const u8 sText_MultiBattle[] = _("MULTI BATTLE");
+ALIGNED(4) const u8 sText_PokemonTrades[] = _("POKéMON TRADES");
+ALIGNED(4) const u8 sText_Chat[] = _("CHAT");
+ALIGNED(4) const u8 sText_Cards[] = _("CARDS");
+ALIGNED(4) const u8 sText_WonderCards[] = _("WONDER CARDS");
+ALIGNED(4) const u8 sText_WonderNews[] = _("WONDER NEWS");
+ALIGNED(4) const u8 sText_PokemonJump[] = _("POKéMON JUMP");
+ALIGNED(4) const u8 sText_BerryCrush[] = _("BERRY CRUSH");
+ALIGNED(4) const u8 sText_BerryPicking[] = _("BERRY-PICKING");
+ALIGNED(4) const u8 sText_Search[] = _("SEARCH");
+ALIGNED(4) const u8 sText_BerryBlender[] = _("BERRY BLENDER");
+ALIGNED(4) const u8 sText_RecordCorner[] = _("RECORD CORNER");
+ALIGNED(4) const u8 sText_CoolContest[] = _("COOL CONTEST");
+ALIGNED(4) const u8 sText_BeautyContest[] = _("BEAUTY CONTEST");
+ALIGNED(4) const u8 sText_CuteContest[] = _("CUTE CONTEST");
+ALIGNED(4) const u8 sText_SmartContest[] = _("SMART CONTEST");
+ALIGNED(4) const u8 sText_ToughContest[] = _("TOUGH CONTEST");
+ALIGNED(4) const u8 sText_BattleTowerLv50[] = _("BATTLE TOWER LV. 50");
+ALIGNED(4) const u8 sText_BattleTowerOpenLv[] = _("BATTLE TOWER OPEN LEVEL");
+ALIGNED(4) const u8 sText_ItsNormalCard[] = _("It's a NORMAL CARD.");
+ALIGNED(4) const u8 sText_ItsBronzeCard[] = _("It's a BRONZE CARD!");
+ALIGNED(4) const u8 sText_ItsCopperCard[] = _("It's a COPPER CARD!");
+ALIGNED(4) const u8 sText_ItsSilverCard[] = _("It's a SILVER CARD!");
+ALIGNED(4) const u8 sText_ItsGoldCard[] = _("It's a GOLD CARD!");
+
+static const u8 *const sCardColorTexts[] = {
+ sText_ItsNormalCard,
+ sText_ItsBronzeCard,
+ sText_ItsCopperCard,
+ sText_ItsSilverCard,
+ sText_ItsGoldCard
+};
+
+ALIGNED(4) const u8 sText_TrainerCardInfoPage1[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p");
+ALIGNED(4) const u8 sText_TrainerCardInfoPage2[] = _("BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p");
+ALIGNED(4) const u8 sText_GladToMeetYouMale[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}");
+ALIGNED(4) const u8 sText_GladToMeetYouFemale[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}");
+
+const u8 *const sGladToMeetYouTexts[GENDER_COUNT] = {
+ sText_GladToMeetYouMale,
+ sText_GladToMeetYouFemale
+};
+
+ALIGNED(4) const u8 sText_FinishedCheckingPlayersTrainerCard[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}");
+
+const u8 *const sLinkGroupActivityTexts[] = {
+ sText_EmptyString,
+ sText_SingleBattle,
+ sText_DoubleBattle,
+ sText_MultiBattle,
+ sText_PokemonTrades,
+ sText_Chat,
+ sText_WonderCards,
+ sText_WonderNews,
+ sText_Cards,
+ sText_PokemonJump,
+ sText_BerryCrush,
+ sText_BerryPicking,
+ sText_Search,
+ sText_EmptyString,
+ sText_BattleTowerOpenLv,
+ sText_RecordCorner,
+ sText_BerryBlender,
+ sText_EmptyString,
+ sText_EmptyString,
+ sText_EmptyString,
+ sText_EmptyString,
+ sText_WonderCards,
+ sText_WonderNews,
+ sText_CoolContest,
+ sText_BeautyContest,
+ sText_CuteContest,
+ sText_SmartContest,
+ sText_ToughContest,
+ sText_BattleTowerLv50
+};
+
+const struct WindowTemplate gUnknown_082F00BC = {
+ .bg = 0x00,
+ .tilemapLeft = 0x00,
+ .tilemapTop = 0x00,
+ .width = 0x1E,
+ .height = 0x02,
+ .paletteNum = 0x0F,
+ .baseBlock = 0x0008
+};
+
+const u32 gUnknown_082F00C4[NUM_LINK_GROUP_TYPES] = {
+ 0x0201,
+ 0x0202,
+ 0x0403,
+ 0x0204,
+ 0x2509,
+ 0x250a,
+ 0x350b,
+ 0x0000,
+ 0x0000,
+ 0x0000,
+ 0x0000,
+ 0x0000,
+ 0x240f,
+ 0x2410,
+ 0x0000,
+ 0x2417,
+ 0x2418,
+ 0x2419,
+ 0x241a,
+ 0x241b,
+ 0x021c,
+ 0x020e
+};
+
+const struct WindowTemplate gUnknown_082F011C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x03,
+ .width = 0x0d,
+ .height = 0x08,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0044
+};
+
+const struct WindowTemplate gUnknown_082F0124 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x03,
+ .width = 0x0d,
+ .height = 0x0a,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0044
+};
+
+const struct WindowTemplate gUnknown_082F012C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x10,
+ .tilemapTop = 0x03,
+ .width = 0x07,
+ .height = 0x04,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x00c6
+};
+
+const struct ListMenuItem gUnknown_082F0134[] = {
+ { sText_EmptyString, 0 },
+ { sText_EmptyString, 1 },
+ { sText_EmptyString, 2 },
+ { sText_EmptyString, 3 },
+ { sText_EmptyString, 4 }
+};
+
+const struct ListMenuTemplate gUnknown_082F015C = {
+ .items = gUnknown_082F0134,
+ .moveCursorFunc = NULL,
+ .itemPrintFunc = sub_8013278,
+ .totalItems = 5,
+ .maxShowed = 5,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 0,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 1
+};
+
+const struct WindowTemplate gUnknown_082F0174 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x03,
+ .width = 0x11,
+ .height = 0x0a,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0044
+};
+
+const struct WindowTemplate gUnknown_082F017C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x14,
+ .tilemapTop = 0x03,
+ .width = 0x07,
+ .height = 0x04,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x00ee
+};
+
+const struct ListMenuItem gUnknown_082F0184[] = {
+ { sText_EmptyString, 0 },
+ { sText_EmptyString, 1 },
+ { sText_EmptyString, 2 },
+ { sText_EmptyString, 3 },
+ { sText_EmptyString, 4 },
+ { sText_EmptyString, 5 },
+ { sText_EmptyString, 6 },
+ { sText_EmptyString, 7 },
+ { sText_EmptyString, 8 },
+ { sText_EmptyString, 9 },
+ { sText_EmptyString, 10 },
+ { sText_EmptyString, 11 },
+ { sText_EmptyString, 12 },
+ { sText_EmptyString, 13 },
+ { sText_EmptyString, 14 },
+ { sText_EmptyString, 15 }
+};
+
+const struct ListMenuTemplate gUnknown_082F0204 = {
+ .items = gUnknown_082F0184,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = sub_8013DF4,
+ .totalItems = 16,
+ .maxShowed = 5,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 1,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F021C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x14,
+ .tilemapTop = 0x05,
+ .width = 0x10,
+ .height = 0x08,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001
+};
+
+const struct ListMenuItem gUnknown_082F0224[] = {
+ { sText_Greetings, 0x208 },
+ { sText_Battle, 0x241 },
+ { sText_Chat2, 0x245 },
+ { sText_Exit, 0x040 }
+};
+
+const struct ListMenuTemplate gUnknown_082F0244 = {
+ .items = gUnknown_082F0224,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 4,
+ .maxShowed = 4,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F025C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x12,
+ .tilemapTop = 0x07,
+ .width = 0x10,
+ .height = 0x06,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001
+};
+
+const struct ListMenuItem gUnknown_082F0264[] = {
+ { gText_Register, 1 },
+ { sText_Info, 2 },
+ { sText_Exit, 3 }
+};
+
+const struct ListMenuTemplate gUnknown_082F027C = {
+ .items = gUnknown_082F0264,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = 3,
+ .maxShowed = 3,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F0294 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x14,
+ .tilemapTop = 0x01,
+ .width = 0x10,
+ .height = 0x0c,
+ .paletteNum = 0x0f,
+ .baseBlock = 0x0001
+};
+
+static const struct ListMenuItem sTradingBoardTypes[] = {
+ { gTypeNames[TYPE_NORMAL], TYPE_NORMAL },
+ { gTypeNames[TYPE_FIRE], TYPE_FIRE },
+ { gTypeNames[TYPE_WATER], TYPE_WATER },
+ { gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC },
+ { gTypeNames[TYPE_GRASS], TYPE_GRASS },
+ { gTypeNames[TYPE_ICE], TYPE_ICE },
+ { gTypeNames[TYPE_GROUND], TYPE_GROUND },
+ { gTypeNames[TYPE_ROCK], TYPE_ROCK },
+ { gTypeNames[TYPE_FLYING], TYPE_FLYING },
+ { gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC },
+ { gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING },
+ { gTypeNames[TYPE_POISON], TYPE_POISON },
+ { gTypeNames[TYPE_BUG], TYPE_BUG },
+ { gTypeNames[TYPE_GHOST], TYPE_GHOST },
+ { gTypeNames[TYPE_DRAGON], TYPE_DRAGON },
+ { gTypeNames[TYPE_STEEL], TYPE_STEEL },
+ { gTypeNames[TYPE_DARK], TYPE_DARK },
+ { sText_Exit, NUMBER_OF_MON_TYPES }
+};
+
+const struct ListMenuTemplate sMenuTemplate_TradingBoardRequestType = {
+ .items = sTradingBoardTypes,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = NULL,
+ .totalItems = NUMBER_OF_MON_TYPES,
+ .maxShowed = 6,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate gUnknown_082F0344 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x01,
+ .width = 0x1c,
+ .height = 0x02,
+ .paletteNum = 0x0d,
+ .baseBlock = 0x0001
+};
+
+const struct WindowTemplate gUnknown_082F034C = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x05,
+ .width = 0x1c,
+ .height = 0x0c,
+ .paletteNum = 0x0d,
+ .baseBlock = 0x0039
+};
+
+const struct ListMenuItem gUnknown_082F0354[] = {
+ { sText_EmptyString, -3 },
+ { sText_EmptyString, 0 },
+ { sText_EmptyString, 1 },
+ { sText_EmptyString, 2 },
+ { sText_EmptyString, 3 },
+ { sText_EmptyString, 4 },
+ { sText_EmptyString, 5 },
+ { sText_EmptyString, 6 },
+ { sText_EmptyString, 7 },
+ { sText_Exit2, 8 }
+};
+
+const struct ListMenuTemplate gUnknown_082F03A4 = {
+ .items = gUnknown_082F0354,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = sub_8017BE8,
+ .totalItems = 10,
+ .maxShowed = 6,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 14,
+ .fillValue = 15,
+ .cursorShadowPal = 13,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 0,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct WindowTemplate UnrefWindowTemplate_082F03B4 = {
+ .bg = 0x00,
+ .tilemapLeft = 0x01,
+ .tilemapTop = 0x05,
+ .width = 0x1c,
+ .height = 0x0c,
+ .paletteNum = 0x0d,
+ .baseBlock = 0x0039
+};
+
+const struct ListMenuItem gUnknown_082F03C4[] = {
+ { sText_EmptyString, 0 },
+ { sText_EmptyString, 1 },
+ { sText_EmptyString, 2 },
+ { sText_EmptyString, 3 },
+ { sText_EmptyString, 4 },
+ { sText_EmptyString, 5 },
+ { sText_EmptyString, 6 },
+ { sText_EmptyString, 7 },
+ { sText_EmptyString, 8 },
+ { sText_EmptyString, 9 },
+ { sText_EmptyString, 10 },
+ { sText_EmptyString, 11 },
+ { sText_EmptyString, 12 },
+ { sText_EmptyString, 13 },
+ { sText_EmptyString, 14 },
+ { sText_EmptyString, 15 }
+};
+
+const struct ListMenuTemplate UnrefListMenuTemplate_082F0444 = {
+ .items = gUnknown_082F03C4,
+ .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
+ .itemPrintFunc = nullsub_14,
+ .totalItems = 16,
+ .maxShowed = 4,
+ .windowId = 0,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 1,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = 1,
+ .fontId = 1,
+ .cursorKind = 0
+};
+
+const struct UnkStruct_Shared gUnknown_082F045C = {0};
+
+ALIGNED(4) const u8 gUnknown_082F0474[] = {0x01, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0478[] = {0x02, 0xff};
+ALIGNED(4) const u8 gUnknown_082F047C[] = {0x03, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0480[] = {0x04, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0484[] = {0x09, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0488[] = {0x0a, 0xff};
+ALIGNED(4) const u8 gUnknown_082F048C[] = {0x0b, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0490[] = {0x15, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0494[] = {0x16, 0xff};
+ALIGNED(4) const u8 gUnknown_082F0498[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04A4[] = {0x0c, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04A8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04B4[] = {0x0f, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04B8[] = {0x10, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04BC[] = {0x17, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04C0[] = {0x18, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04C4[] = {0x19, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04C8[] = {0x1a, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04CC[] = {0x1b, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04D0[] = {0x1c, 0xff};
+ALIGNED(4) const u8 gUnknown_082F04D4[] = {0x0e, 0xff};
+
+const u8 *const gUnknown_082F04D8[NUM_LINK_GROUP_TYPES] = {
+ gUnknown_082F0474,
+ gUnknown_082F0478,
+ gUnknown_082F047C,
+ gUnknown_082F0480,
+ gUnknown_082F0484,
+ gUnknown_082F0488,
+ gUnknown_082F048C,
+ gUnknown_082F0490,
+ gUnknown_082F0494,
+ gUnknown_082F0498,
+ gUnknown_082F04A4,
+ gUnknown_082F04A8,
+ gUnknown_082F04B4,
+ gUnknown_082F04B8,
+ NULL,
+ gUnknown_082F04BC,
+ gUnknown_082F04C0,
+ gUnknown_082F04C4,
+ gUnknown_082F04C8,
+ gUnknown_082F04CC,
+ gUnknown_082F04D0,
+ gUnknown_082F04D4
+};
+
+// Link group type to ID for gUnknown_02022C2C
+const u8 gUnknown_082F0530[NUM_LINK_GROUP_TYPES + 2] =
+{
+ 0x01,
+ 0x02,
+ 0x03,
+ 0x04,
+ 0x09,
+ 0x0a,
+ 0x0b,
+ 0x15,
+ 0x16,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x0f,
+ 0x10,
+ 0x00,
+ 0x17,
+ 0x18,
+ 0x19,
+ 0x1a,
+ 0x1b,
+ 0x1c,
+ 0x0e
+};
diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json
index ea555bd32..19aa40b00 100755
--- a/src/data/wild_encounters.json
+++ b/src/data/wild_encounters.json
@@ -26,7 +26,12 @@
"type": "fishing_mons",
"encounter_rates": [
70, 30, 60, 20, 20, 40, 40, 15, 4, 1
- ]
+ ],
+ "groups": {
+ "old_rod": [0, 1],
+ "good_rod": [2, 3, 4],
+ "super_rod": [5, 6, 7, 8, 9]
+ }
}
],
"encounters": [
diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt
index 85755ddec..bf848249f 100755
--- a/src/data/wild_encounters.json.txt
+++ b/src/data/wild_encounters.json.txt
@@ -3,14 +3,26 @@
## for wild_encounter_group in wild_encounter_groups
{% if wild_encounter_group.for_maps %}
## for wild_encounter_field in wild_encounter_group.fields
+{% if not existsIn(wild_encounter_field, "groups") %}
## for encounter_rate in wild_encounter_field.encounter_rates
-{% if trackVar(encounter_rate, 100) %}
+{% if loop.index == 0 %}
#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} {{ encounter_rate }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ subtract(loop.index, 1) }} + {{ encounter_rate }}{% endif %} {{ setVarInt(wild_encounter_field.type, loop.index) }}
## endfor
#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ getVar(wild_encounter_field.type) }})
+{% else %}
+## for field_subgroup_key, field_subgroup_subarray in wild_encounter_field.groups
+## for field_subgroup_index in field_subgroup_subarray
+{% if loop.index == 0 %}
+#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ field_subgroup_index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar("previous_slot") }} + {{ at(wild_encounter_field.encounter_rates, field_subgroup_index) }}{% endif %}{{ setVarInt(concat(wild_encounter_field.type, field_subgroup_key), field_subgroup_index) }}{{ setVarInt("previous_slot", field_subgroup_index) }}
+## endfor
+#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_{{ upper(field_subgroup_key) }}_SLOT_{{ getVar(concat(wild_encounter_field.type, field_subgroup_key)) }})
+## endfor
+{% endif %}
## endfor
{% endif %}
+
+
## for encounter in wild_encounter_group.encounters
{% if existsIn(encounter, "land_mons") %}
const struct WildPokemon {{ encounter.base_label }}_LandMons[] =
diff --git a/src/daycare.c b/src/daycare.c
index 2d05035d7..dcbadeba8 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -3,14 +3,11 @@
#include "battle.h"
#include "daycare.h"
#include "string_util.h"
-#include "constants/species.h"
-#include "constants/items.h"
#include "mail.h"
#include "pokemon_storage_system.h"
#include "event_data.h"
#include "random.h"
#include "main.h"
-#include "constants/moves.h"
#include "egg_hatch.h"
#include "text.h"
#include "menu.h"
@@ -22,9 +19,10 @@
#include "party_menu.h"
#include "list_menu.h"
#include "overworld.h"
-
-#define EGG_MOVES_ARRAY_COUNT 10
-#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/region_map_sections.h"
+#include "constants/species.h"
// this file's functions
static void ClearDaycareMonMail(struct DayCareMail *mail);
@@ -34,10 +32,10 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y);
// RAM buffers used to assist with BuildEggMoveset()
EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0};
-EWRAM_DATA static u16 sHatchedEggFatherMoves[4] = {0};
-EWRAM_DATA static u16 sHatchedEggFinalMoves[4] = {0};
+EWRAM_DATA static u16 sHatchedEggFatherMoves[MAX_MON_MOVES] = {0};
+EWRAM_DATA static u16 sHatchedEggFinalMoves[MAX_MON_MOVES] = {0};
EWRAM_DATA static u16 sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {0};
-EWRAM_DATA static u16 sHatchedEggMotherMoves[4] = {0};
+EWRAM_DATA static u16 sHatchedEggMotherMoves[MAX_MON_MOVES] = {0};
#include "data/pokemon/egg_moves.h"
@@ -52,11 +50,13 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate =
.baseBlock = 8
};
+// Indices here are assigned by Task_HandleDaycareLevelMenuInput to VAR_RESULT,
+// which is copied to VAR_0x8004 and used as an index for GetDaycareCost
static const struct ListMenuItem sLevelMenuItems[] =
{
- {gExpandedPlaceholder_Empty, 0},
- {gExpandedPlaceholder_Empty, 1},
- {gText_Exit, 5}
+ {gText_ExpandedPlaceholder_Empty, 0},
+ {gText_ExpandedPlaceholder_Empty, 1},
+ {gText_Exit, DAYCARE_LEVEL_MENU_EXIT}
};
static const struct ListMenuTemplate sDaycareListMenuLevelTemplate =
@@ -91,7 +91,7 @@ static const u8 *const sCompatibilityMessages[] =
static const u8 sJapaneseEggNickname[] = _("タマゴ"); // "tamago" ("egg" in Japanese)
-u8 *GetMonNick(struct Pokemon *mon, u8 *dest)
+u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest)
{
u8 nickname[POKEMON_NAME_LENGTH * 2];
@@ -99,7 +99,7 @@ u8 *GetMonNick(struct Pokemon *mon, u8 *dest)
return StringCopy10(dest, nickname);
}
-u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest)
+u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest)
{
u8 nickname[POKEMON_NAME_LENGTH * 2];
@@ -169,7 +169,7 @@ static void StorePokemonInDaycare(struct Pokemon *mon, struct DaycareMon *daycar
u8 mailId;
StringCopy(daycareMon->mail.OT_name, gSaveBlock2Ptr->playerName);
- GetMonNick(mon, daycareMon->mail.monName);
+ GetMonNickname2(mon, daycareMon->mail.monName);
StripExtCtrlCodes(daycareMon->mail.monName);
daycareMon->mail.gameLanguage = LANGUAGE_ENGLISH;
daycareMon->mail.monLanguage = GetMonData(mon, MON_DATA_LANGUAGE);
@@ -202,8 +202,8 @@ void StoreSelectedPokemonInDaycare(void)
static void ShiftDaycareSlots(struct DayCare *daycare)
{
// This condition is only satisfied when the player takes out the first pokemon from the daycare.
- if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0
- && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == 0)
+ if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE
+ && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == SPECIES_NONE)
{
daycare->mons[0].mon = daycare->mons[1].mon;
ZeroBoxMonData(&daycare->mons[1].mon);
@@ -231,11 +231,8 @@ static void ApplyDaycareExperience(struct Pokemon *mon)
while ((learnedMove = MonTryLearningNewMove(mon, firstMove)) != 0)
{
firstMove = FALSE;
- if (learnedMove == 0xFFFF)
- {
- // Mon already knows 4 moves.
+ if (learnedMove == MON_HAS_MAX_MOVES)
DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn);
- }
}
}
else
@@ -254,7 +251,7 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon)
u32 experience;
struct Pokemon pokemon;
- GetBoxMonNick(&daycareMon->mon, gStringVar1);
+ GetBoxMonNickname(&daycareMon->mon, gStringVar1);
species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES);
BoxMonToMon(&daycareMon->mon, &pokemon);
@@ -314,7 +311,7 @@ static u8 GetNumLevelsGainedForDaycareMon(struct DaycareMon *daycareMon)
{
u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon);
ConvertIntToDecimalStringN(gStringVar2, numLevelsGained, STR_CONV_MODE_LEFT_ALIGN, 2);
- GetBoxMonNick(&daycareMon->mon, gStringVar1);
+ GetBoxMonNickname(&daycareMon->mon, gStringVar1);
return numLevelsGained;
}
@@ -323,7 +320,7 @@ static u32 GetDaycareCostForSelectedMon(struct DaycareMon *daycareMon)
u32 cost;
u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon);
- GetBoxMonNick(&daycareMon->mon, gStringVar1);
+ GetBoxMonNickname(&daycareMon->mon, gStringVar1);
cost = 100 + 100 * numLevelsGained;
ConvertIntToDecimalStringN(gStringVar2, cost, STR_CONV_MODE_LEFT_ALIGN, 5);
return cost;
@@ -419,18 +416,18 @@ static u16 GetEggSpecies(u16 species)
return species;
}
-static s32 GetSlotToInheritNature(struct DayCare *daycare)
+static s32 GetParentToInheritNature(struct DayCare *daycare)
{
u32 species[DAYCARE_MON_COUNT];
s32 i;
s32 dittoCount;
- s32 slot = -1;
+ s32 parent = -1;
// search for female gender
for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
if (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE)
- slot = i;
+ parent = i;
}
// search for ditto
@@ -438,50 +435,52 @@ static s32 GetSlotToInheritNature(struct DayCare *daycare)
{
species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES);
if (species[i] == SPECIES_DITTO)
- dittoCount++, slot = i;
+ dittoCount++, parent = i;
}
// coin flip on ...two Dittos
- if (dittoCount == 2)
+ if (dittoCount == DAYCARE_MON_COUNT)
{
if (Random() >= USHRT_MAX / 2)
- slot = 0;
+ parent = 0;
else
- slot = 1;
+ parent = 1;
}
- // nature inheritance only if holds everstone
- if (GetBoxMonData(&daycare->mons[slot].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE
+ // Don't inherit nature if not holding Everstone
+ if (GetBoxMonData(&daycare->mons[parent].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE
|| Random() >= USHRT_MAX / 2)
{
return -1;
}
- return slot;
+ return parent;
}
static void _TriggerPendingDaycareEgg(struct DayCare *daycare)
{
- s32 natureSlot;
+ s32 parent;
s32 natureTries = 0;
SeedRng2(gMain.vblankCounter2);
- natureSlot = GetSlotToInheritNature(daycare);
+ parent = GetParentToInheritNature(daycare);
- if (natureSlot < 0)
+ // don't inherit nature
+ if (parent < 0)
{
- daycare->offspringPersonality = (Random2() << 0x10) | ((Random() % 0xfffe) + 1);
+ daycare->offspringPersonality = (Random2() << 16) | ((Random() % 0xfffe) + 1);
}
+ // inherit nature
else
{
- u8 wantedNature = GetNatureFromPersonality(GetBoxMonData(&daycare->mons[natureSlot].mon, MON_DATA_PERSONALITY, NULL));
+ u8 wantedNature = GetNatureFromPersonality(GetBoxMonData(&daycare->mons[parent].mon, MON_DATA_PERSONALITY, NULL));
u32 personality;
do
{
- personality = (Random2() << 0x10) | (Random());
+ personality = (Random2() << 16) | (Random());
if (wantedNature == GetNatureFromPersonality(personality) && personality != 0)
- break; // we found a personality with the same nature
+ break; // found a personality with the same nature
natureTries++;
} while (natureTries <= 2400);
@@ -492,9 +491,10 @@ static void _TriggerPendingDaycareEgg(struct DayCare *daycare)
FlagSet(FLAG_PENDING_DAYCARE_EGG);
}
+// Functionally unused
static void _TriggerPendingDaycareMaleEgg(struct DayCare *daycare)
{
- daycare->offspringPersonality = (Random()) | (0x8000);
+ daycare->offspringPersonality = (Random()) | (EGG_GENDER_MALE);
FlagSet(FLAG_PENDING_DAYCARE_EGG);
}
@@ -503,6 +503,7 @@ void TriggerPendingDaycareEgg(void)
_TriggerPendingDaycareEgg(&gSaveBlock1Ptr->daycare);
}
+// Unused
static void TriggerPendingDaycareMaleEgg(void)
{
_TriggerPendingDaycareMaleEgg(&gSaveBlock1Ptr->daycare);
@@ -532,9 +533,9 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv)
static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
{
u8 i;
- u8 selectedIvs[3];
+ u8 selectedIvs[INHERITED_IV_COUNT];
u8 availableIVs[NUM_STATS];
- u8 whichParent[ARRAY_COUNT(selectedIvs)];
+ u8 whichParents[INHERITED_IV_COUNT];
u8 iv;
// Initialize a list of IV indices.
@@ -544,48 +545,46 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
}
// Select the 3 IVs that will be inherited.
- for (i = 0; i < ARRAY_COUNT(selectedIvs); i++)
+ for (i = 0; i < INHERITED_IV_COUNT; i++)
{
- // Randomly pick an IV from the available list.
+ // Randomly pick an IV from the available list and stop from being chosen again.
selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)];
-
- // Remove the selected IV index from the available IV indices.
RemoveIVIndexFromList(availableIVs, i);
}
// Determine which parent each of the selected IVs should inherit from.
- for (i = 0; i < ARRAY_COUNT(selectedIvs); i++)
+ for (i = 0; i < INHERITED_IV_COUNT; i++)
{
- whichParent[i] = Random() % 2;
+ whichParents[i] = Random() % DAYCARE_MON_COUNT;
}
// Set each of inherited IVs on the egg mon.
- for (i = 0; i < ARRAY_COUNT(selectedIvs); i++)
+ for (i = 0; i < INHERITED_IV_COUNT; i++)
{
switch (selectedIvs[i])
{
case 0:
- iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_HP_IV);
+ iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_HP_IV);
SetMonData(egg, MON_DATA_HP_IV, &iv);
break;
case 1:
- iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_ATK_IV);
+ iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_ATK_IV);
SetMonData(egg, MON_DATA_ATK_IV, &iv);
break;
case 2:
- iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_DEF_IV);
+ iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_DEF_IV);
SetMonData(egg, MON_DATA_DEF_IV, &iv);
break;
case 3:
- iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPEED_IV);
+ iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPEED_IV);
SetMonData(egg, MON_DATA_SPEED_IV, &iv);
break;
case 4:
- iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPATK_IV);
+ iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPATK_IV);
SetMonData(egg, MON_DATA_SPATK_IV, &iv);
break;
case 5:
- iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPDEF_IV);
+ iv = GetBoxMonData(&daycare->mons[whichParents[i]].mon, MON_DATA_SPDEF_IV);
SetMonData(egg, MON_DATA_SPDEF_IV, &iv);
break;
}
@@ -638,14 +637,14 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
numSharedParentMoves = 0;
for (i = 0; i < MAX_MON_MOVES; i++)
{
- sHatchedEggMotherMoves[i] = 0;
- sHatchedEggFatherMoves[i] = 0;
- sHatchedEggFinalMoves[i] = 0;
+ sHatchedEggMotherMoves[i] = MOVE_NONE;
+ sHatchedEggFatherMoves[i] = MOVE_NONE;
+ sHatchedEggFinalMoves[i] = MOVE_NONE;
}
for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++)
- sHatchedEggEggMoves[i] = 0;
+ sHatchedEggEggMoves[i] = MOVE_NONE;
for (i = 0; i < EGG_LVL_UP_MOVES_ARRAY_COUNT; i++)
- sHatchedEggLevelUpMoves[i] = 0;
+ sHatchedEggLevelUpMoves[i] = MOVE_NONE;
numLevelUpMoves = GetLevelUpMovesBySpecies(GetMonData(egg, MON_DATA_SPECIES), sHatchedEggLevelUpMoves);
for (i = 0; i < MAX_MON_MOVES; i++)
@@ -664,7 +663,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggFatherMoves[i] == sHatchedEggEggMoves[j])
{
- if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF)
+ if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);
break;
}
@@ -683,7 +682,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + j) && CanMonLearnTMHM(egg, j))
{
- if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF)
+ if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);
}
}
@@ -708,7 +707,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggLevelUpMoves[j] != MOVE_NONE && sHatchedEggFinalMoves[i] == sHatchedEggLevelUpMoves[j])
{
- if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xFFFF)
+ if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == MON_HAS_MAX_MOVES)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFinalMoves[i]);
break;
}
@@ -753,7 +752,7 @@ static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *dayca
if (motherItem == ITEM_LIGHT_BALL || fatherItem == ITEM_LIGHT_BALL)
{
- if (GiveMoveToMon(mon, MOVE_VOLT_TACKLE) == 0xFFFF)
+ if (GiveMoveToMon(mon, MOVE_VOLT_TACKLE) == MON_HAS_MAX_MOVES)
DeleteFirstMoveAndGiveMoveToMon(mon, MOVE_VOLT_TACKLE);
}
}
@@ -761,13 +760,10 @@ static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *dayca
static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots)
{
u16 i;
- u16 species[2];
+ u16 species[DAYCARE_MON_COUNT];
u16 eggSpecies;
- // Determine which of the daycare mons is the mother and father of the egg.
- // The 0th index of the parentSlots array is considered the mother slot, and the
- // 1st index is the father slot.
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES);
if (species[i] == SPECIES_DITTO)
@@ -783,11 +779,11 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent
}
eggSpecies = GetEggSpecies(species[parentSlots[0]]);
- if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & 0x8000)
+ if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE)
{
eggSpecies = SPECIES_NIDORAN_M;
}
- if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & 0x8000)
+ if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE)
{
eggSpecies = SPECIES_VOLBEAT;
}
@@ -795,19 +791,19 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent
// Make Ditto the "mother" slot if the other daycare mon is male.
if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE)
{
- u8 temp = parentSlots[1];
+ u8 ditto = parentSlots[1];
parentSlots[1] = parentSlots[0];
- parentSlots[0] = temp;
+ parentSlots[0] = ditto;
}
return eggSpecies;
}
-static void _GiveEggFromDaycare(struct DayCare *daycare) // give_egg
+static void _GiveEggFromDaycare(struct DayCare *daycare)
{
struct Pokemon egg;
u16 species;
- u8 parentSlots[2]; // 0th index is "mother" daycare slot, 1st is "father"
+ u8 parentSlots[DAYCARE_MON_COUNT];
bool8 isEgg;
species = DetermineEggSpeciesAndParentSlots(daycare, parentSlots);
@@ -835,7 +831,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation)
u8 metLocation;
u8 isEgg;
- CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0);
+ CreateMon(mon, species, EGG_HATCH_LEVEL, 32, FALSE, 0, OT_ID_PLAYER_ID, 0);
metLevel = 0;
ball = ITEM_POKE_BALL;
language = LANGUAGE_JAPANESE;
@@ -846,7 +842,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation)
SetMonData(mon, MON_DATA_LANGUAGE, &language);
if (setHotSpringsLocation)
{
- metLocation = 253; // hot springs; see PokemonSummaryScreen_PrintEggTrainerMemo
+ metLocation = METLOC_SPECIAL_EGG;
SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation);
}
@@ -862,7 +858,7 @@ static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *
u8 language;
personality = daycare->offspringPersonality;
- CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, OT_ID_PLAYER_ID, 0);
+ CreateMon(mon, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0);
metLevel = 0;
ball = ITEM_POKE_BALL;
language = LANGUAGE_JAPANESE;
@@ -878,7 +874,7 @@ void GiveEggFromDaycare(void)
_GiveEggFromDaycare(&gSaveBlock1Ptr->daycare);
}
-static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
+static bool8 TryProduceOrHatchEgg(struct DayCare *daycare)
{
u32 i, validEggs = 0;
@@ -888,15 +884,16 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
daycare->mons[i].steps++, validEggs++;
}
- // try to trigger poke sex
- if (daycare->offspringPersonality == 0 && validEggs == 2 && (daycare->mons[1].steps & 0xFF) == 0xFF)
+ // Check if an egg should be produced
+ if (daycare->offspringPersonality == 0 && validEggs == DAYCARE_MON_COUNT && (daycare->mons[1].steps & 0xFF) == 0xFF)
{
- u8 loveScore = GetDaycareCompatibilityScore(daycare);
- if (loveScore > (Random() * 100u) / USHRT_MAX)
+ u8 compatability = GetDaycareCompatibilityScore(daycare);
+ if (compatability > (Random() * 100u) / USHRT_MAX)
TriggerPendingDaycareEgg();
}
- if (++daycare->stepCounter == 255) // hatch an egg
+ // Hatch Egg
+ if (++daycare->stepCounter == 255)
{
u32 steps;
u8 toSub = GetEggStepsToSubtract();
@@ -909,7 +906,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
continue;
steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP);
- if (steps != 0) // subtract needed steps
+ if (steps != 0)
{
if (steps >= toSub)
steps -= toSub;
@@ -918,7 +915,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps);
}
- else // hatch the egg
+ else
{
gSpecialVar_0x8004 = i;
return TRUE;
@@ -926,12 +923,12 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
}
}
- return FALSE; // no hatching
+ return FALSE;
}
bool8 ShouldEggHatch(void)
{
- return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare);
+ return TryProduceOrHatchEgg(&gSaveBlock1Ptr->daycare);
}
static bool8 IsEggPending(struct DayCare *daycare)
@@ -947,20 +944,20 @@ static void _GetDaycareMonNicknames(struct DayCare *daycare)
u8 text[12];
if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0)
{
- GetBoxMonNick(&daycare->mons[0].mon, gStringVar1);
+ GetBoxMonNickname(&daycare->mons[0].mon, gStringVar1);
GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text);
StringCopy(gStringVar3, text);
}
if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0)
{
- GetBoxMonNick(&daycare->mons[1].mon, gStringVar2);
+ GetBoxMonNickname(&daycare->mons[1].mon, gStringVar2);
}
}
-u16 GetSelectedMonNickAndSpecies(void)
+u16 GetSelectedMonNicknameAndSpecies(void)
{
- GetBoxMonNick(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1);
+ GetBoxMonNickname(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1);
return GetBoxMonData(&gPlayerParty[GetCursorSelectionMonId()].box, MON_DATA_SPECIES);
}
@@ -971,26 +968,19 @@ void GetDaycareMonNicknames(void)
u8 GetDaycareState(void)
{
- // The daycare can be in 4 possible states:
- // 0: default state--no deposited mons, no egg
- // 1: there is an egg waiting for the player to pick it up
- // 2: there is a single pokemon in the daycare
- // 3: there are two pokemon in the daycare, no egg
-
u8 numMons;
if (IsEggPending(&gSaveBlock1Ptr->daycare))
{
- // There is an Egg waiting for the player.
- return 1;
+ return DAYCARE_EGG_WAITING;
}
numMons = CountPokemonInDaycare(&gSaveBlock1Ptr->daycare);
if (numMons != 0)
{
- return numMons + 1;
+ return numMons + 1; // DAYCARE_ONE_MON or DAYCARE_TWO_MONS
}
- return 0;
+ return DAYCARE_NO_MONS;
}
static u8 GetDaycarePokemonCount(void)
@@ -1002,15 +992,15 @@ static u8 GetDaycarePokemonCount(void)
return 0;
}
+// Determine if the two given egg group lists contain any of the
+// same egg groups.
static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2)
{
- // Determine if the two given egg group lists contain any of the
- // same egg groups.
s32 i, j;
- for (i = 0; i < 2; i++)
+ for (i = 0; i < EGG_GROUPS_PER_MON; i++)
{
- for (j = 0; j < 2; j++)
+ for (j = 0; j < EGG_GROUPS_PER_MON; j++)
{
if (eggGroups1[i] == eggGroups2[j])
return TRUE;
@@ -1023,12 +1013,12 @@ static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2)
static u8 GetDaycareCompatibilityScore(struct DayCare *daycare)
{
u32 i;
- u16 eggGroups[2][2];
- u16 species[2];
- u32 trainerIds[2];
- u32 genders[2];
+ u16 eggGroups[DAYCARE_MON_COUNT][EGG_GROUPS_PER_MON];
+ u16 species[DAYCARE_MON_COUNT];
+ u32 trainerIds[DAYCARE_MON_COUNT];
+ u32 genders[DAYCARE_MON_COUNT];
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
u32 personality;
@@ -1042,41 +1032,42 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare)
// check unbreedable egg group
if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED)
- return 0;
+ return PARENTS_INCOMPATIBLE;
// two Ditto can't breed
if (eggGroups[0][0] == EGG_GROUP_DITTO && eggGroups[1][0] == EGG_GROUP_DITTO)
- return 0;
+ return PARENTS_INCOMPATIBLE;
- // now that we checked, one ditto can breed with any other mon
+ // one parent is Ditto
if (eggGroups[0][0] == EGG_GROUP_DITTO || eggGroups[1][0] == EGG_GROUP_DITTO)
{
- if (trainerIds[0] == trainerIds[1]) // same trainer
- return 20;
+ if (trainerIds[0] == trainerIds[1])
+ return PARENTS_LOW_COMPATIBILITY;
- return 50; // different trainers, more chance of poke sex
+ return PARENTS_MED_COMPATABILITY;
}
+ // neither parent is Ditto
else
{
- if (genders[0] == genders[1]) // no homo
- return 0;
+ if (genders[0] == genders[1])
+ return PARENTS_INCOMPATIBLE;
if (genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS)
- return 0;
- if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) // not compatible with each other
- return 0;
+ return PARENTS_INCOMPATIBLE;
+ if (!EggGroupsOverlap(eggGroups[0], eggGroups[1]))
+ return PARENTS_INCOMPATIBLE;
- if (species[0] == species[1]) // same species
+ if (species[0] == species[1])
{
- if (trainerIds[0] == trainerIds[1]) // same species and trainer
- return 50;
+ if (trainerIds[0] == trainerIds[1])
+ return PARENTS_MED_COMPATABILITY; // same species, same trainer
- return 70; // different trainers, same species
+ return PARENTS_MAX_COMPATABILITY; // same species, different trainers
}
else
{
- if (trainerIds[0] != trainerIds[1]) // different trainers, different species
- return 50;
+ if (trainerIds[0] != trainerIds[1])
+ return PARENTS_MED_COMPATABILITY; // different species, different trainers
- return 20; // different species, same trainer
+ return PARENTS_LOW_COMPATIBILITY; // different species, same trainer
}
}
}
@@ -1093,13 +1084,13 @@ void SetDaycareCompatibilityString(void)
relationshipScore = GetDaycareCompatibilityScoreFromSave();
whichString = 0;
- if (relationshipScore == 0)
+ if (relationshipScore == PARENTS_INCOMPATIBLE)
whichString = 3;
- if (relationshipScore == 20)
+ if (relationshipScore == PARENTS_LOW_COMPATIBILITY)
whichString = 2;
- if (relationshipScore == 50)
+ if (relationshipScore == PARENTS_MED_COMPATABILITY)
whichString = 1;
- if (relationshipScore == 70)
+ if (relationshipScore == PARENTS_MAX_COMPATABILITY)
whichString = 0;
StringCopy(gStringVar4, sCompatibilityMessages[whichString]);
@@ -1108,20 +1099,20 @@ void SetDaycareCompatibilityString(void)
bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio)
{
u8 i;
- u8 symbolsCount[2]; // male, female
- symbolsCount[0] = symbolsCount[1] = 0;
+ u8 symbolsCount[GENDER_COUNT];
+ symbolsCount[MALE] = symbolsCount[FEMALE] = 0;
for (i = 0; name[i] != EOS; i++)
{
if (name[i] == CHAR_MALE)
- symbolsCount[0]++;
+ symbolsCount[MALE]++;
if (name[i] == CHAR_FEMALE)
- symbolsCount[1]++;
+ symbolsCount[FEMALE]++;
}
- if (genderRatio == MON_MALE && symbolsCount[0] != 0 && symbolsCount[1] == 0)
+ if (genderRatio == MON_MALE && symbolsCount[MALE] != 0 && symbolsCount[FEMALE] == 0)
return TRUE;
- if (genderRatio == MON_FEMALE && symbolsCount[1] != 0 && symbolsCount[0] == 0)
+ if (genderRatio == MON_FEMALE && symbolsCount[FEMALE] != 0 && symbolsCount[MALE] == 0)
return TRUE;
return FALSE;
@@ -1150,13 +1141,13 @@ static u8 *AppendMonGenderSymbol(u8 *name, struct BoxPokemon *boxMon)
static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest)
{
- u8 monNames[2][20];
+ u8 monNames[DAYCARE_MON_COUNT][20];
u8 i;
*dest = EOS;
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
- GetBoxMonNick(&daycare->mons[i].mon, monNames[i]);
+ GetBoxMonNickname(&daycare->mons[i].mon, monNames[i]);
AppendMonGenderSymbol(monNames[i], &daycare->mons[i].mon);
}
@@ -1174,7 +1165,7 @@ static void GetDaycareLevelMenuLevelText(struct DayCare *daycare, u8 *dest)
u8 text[20];
*dest = EOS;
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
StringAppend(dest, gText_Lv);
level = GetLevelAfterDaycareSteps(&daycare->mons[i].mon, daycare->mons[i].steps);
@@ -1206,13 +1197,13 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y)
AddTextPrinter(&printer, 0xFF, NULL);
}
-static void DaycarePrintMonNick(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y)
+static void DaycarePrintMonNickname(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y)
{
- u8 nick[POKEMON_NAME_LENGTH * 2];
+ u8 nickname[POKEMON_NAME_LENGTH * 2];
- GetBoxMonNick(&daycare->mons[daycareSlotId].mon, nick);
- AppendMonGenderSymbol(nick, &daycare->mons[daycareSlotId].mon);
- DaycareAddTextPrinter(windowId, nick, 8, y);
+ GetBoxMonNickname(&daycare->mons[daycareSlotId].mon, nickname);
+ AppendMonGenderSymbol(nickname, &daycare->mons[daycareSlotId].mon);
+ DaycareAddTextPrinter(windowId, nickname, 8, y);
}
static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y)
@@ -1234,7 +1225,7 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y)
{
if (daycareSlotId < (unsigned) DAYCARE_MON_COUNT)
{
- DaycarePrintMonNick(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y);
+ DaycarePrintMonNickname(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y);
DaycarePrintMonLvl(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y);
}
}
@@ -1254,8 +1245,8 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId)
case 1:
gSpecialVar_Result = input;
break;
- case 5:
- gSpecialVar_Result = 2;
+ case DAYCARE_LEVEL_MENU_EXIT:
+ gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU;
break;
}
DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL);
@@ -1266,7 +1257,7 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId)
}
else if (gMain.newKeys & B_BUTTON)
{
- gSpecialVar_Result = 2;
+ gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU;
DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL);
ClearStdWindowAndFrame(gTasks[taskId].tWindowId, TRUE);
RemoveWindow(gTasks[taskId].tWindowId);
@@ -1301,6 +1292,6 @@ void ShowDaycareLevelMenu(void)
void ChooseSendDaycareMon(void)
{
- sub_81B9328();
+ ChooseMonForDaycare();
gMain.savedCallback = CB2_ReturnToField;
}
diff --git a/src/decompress.c b/src/decompress.c
index 46e4ef614..5e85e065f 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "data.h"
#include "decompress.h"
#include "pokemon.h"
diff --git a/src/decoration.c b/src/decoration.c
index 974859c88..2a8fe973d 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "decoration.h"
#include "decoration_inventory.h"
@@ -14,6 +14,7 @@
#include "graphics.h"
#include "international_string_util.h"
#include "item_icon.h"
+#include "item_menu.h"
#include "list_menu.h"
#include "main.h"
#include "menu.h"
@@ -40,6 +41,7 @@
#define PLACE_DECORATION_SELECTOR_TAG 0xbe5
#define PLACE_DECORATION_PLAYER_TAG 0x008
+#define NUM_DECORATION_FLAGS (FLAG_DECORATION_14 - FLAG_DECORATION_0)
struct DecorationItemsMenu
{
@@ -69,8 +71,8 @@ struct DecorRearrangementDataBuffer
EWRAM_DATA u8 *gCurDecorationItems = NULL;
EWRAM_DATA static u8 sDecorationActionsCursorPos = 0;
EWRAM_DATA static u8 sNumOwnedDecorationsInCurCategory = 0;
-EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {};
-EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {};
+EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[DECOR_MAX_SECRET_BASE] = {};
+EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[DECOR_MAX_PLAYERS_HOUSE] = {};
EWRAM_DATA static u16 sDecorationsCursorPos = 0;
EWRAM_DATA static u16 sDecorationsScrollOffset = 0;
EWRAM_DATA u8 gCurDecorationIndex = 0;
@@ -86,7 +88,7 @@ EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx1 = 0;
EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx2 = 0;
EWRAM_DATA static u8 sDecorationLastDirectionMoved = 0;
EWRAM_DATA static struct OamData sDecorSelectorOam = {};
-EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {};
+EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[DECOR_MAX_SECRET_BASE] = {};
EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0;
static void HandleDecorationActionsMenuInput(u8 taskId);
@@ -128,34 +130,34 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic
void sub_812826C(u8 taskId);
void sub_81283BC(u8 taskId);
void sub_8128414(u8 taskId);
-void sub_8128950(u8 taskId);
-void sub_81289D0(u8 taskId);
-void sub_81289F0(u8 taskId);
+void AttemptPlaceDecoration(u8 taskId);
+void PlaceDecorationPrompt(u8 taskId);
+void PlaceDecoration(u8 taskId);
void sub_8128AAC(u8 taskId);
-void sub_8128B80(u8 taskId);
-void sub_8128BA0(u8 taskId);
+void CancelDecoratingPrompt(u8 taskId);
+void CancelDecorating(u8 taskId);
void sub_8128BBC(u8 taskId);
void c1_overworld_prev_quest(u8 taskId);
void sub_8128CD4(void);
void sub_8128DE0(void);
-void sub_8128FD8(u8 taskId);
-void sub_8129020(u8 taskId);
+void ContinueDecorating(u8 taskId);
+void CantPlaceDecorationPrompt(u8 taskId);
void sub_81292D0(struct Sprite *sprite);
void sub_81292E8(struct Sprite *sprite);
u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor);
const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode);
bool8 sub_81299AC(u8 taskId);
void sub_8129ABC(u8 taskId);
-void sub_8129B34(u8 taskId);
+void ContinuePuttingAwayDecorations(u8 taskId);
void sub_8129BCC(u8 taskId);
void sub_8129BF8(u8 taskId);
void sub_8129C74(u8 taskId);
-void sub_8129D64(u8 taskId);
+void ContinuePuttingAwayDecorationsPrompt(u8 taskId);
void sub_812A0E8(u8 taskId);
-void sub_812A1A0(u8 taskId);
-void sub_812A1C0(u8 taskId);
-void sub_812A1F0(u8 taskId);
-void sub_812A210(u8 taskId);
+void ReturnDecorationPrompt(u8 taskId);
+void PutAwayDecoration(u8 taskId);
+void StopPuttingAwayDecorationsPrompt(u8 taskId);
+void StopPuttingAwayDecorations(u8 taskId);
void sub_812A22C(u8 taskId);
void sub_812A25C(u8 taskId);
void sub_812A334(void);
@@ -163,8 +165,8 @@ void sub_812A36C(struct Sprite *sprite);
void sub_812A39C(void);
void sub_812A3C8(void);
void sub_812A3D4(u8 taskId);
-void sub_812A458(u8 taskId);
-void sub_812A478(u8 taskId);
+void TossDecorationPrompt(u8 taskId);
+void TossDecoration(u8 taskId);
#include "data/decoration/tiles.h"
#include "data/decoration/description.h"
@@ -344,16 +346,16 @@ const struct SpritePalette gUnknown_085A72BC =
.tag = PLACE_DECORATION_SELECTOR_TAG,
};
-const struct YesNoFuncTable gUnknown_085A72C4 =
+const struct YesNoFuncTable sPlaceDecorationYesNoFunctions =
{
- .yesFunc = sub_81289F0,
- .noFunc = sub_8128FD8,
+ .yesFunc = PlaceDecoration,
+ .noFunc = ContinueDecorating,
};
-const struct YesNoFuncTable gUnknown_085A72CC =
+const struct YesNoFuncTable sCancelDecoratingYesNoFunctions =
{
- .yesFunc = sub_8128BA0,
- .noFunc = sub_8128FD8,
+ .yesFunc = CancelDecorating,
+ .noFunc = ContinueDecorating,
};
const struct YesNoFuncTable gUnknown_085A72D4[] =
@@ -390,16 +392,16 @@ const u16 gUnknown_085A7308[] = INCBIN_U16("graphics/decorations/unk_85a7308.gba
const u16 gUnknown_085A7328[] = INCBIN_U16("graphics/decorations/unk_85a7328.gbapal");
-const struct YesNoFuncTable gUnknown_085A7348 =
+const struct YesNoFuncTable sReturnDecorationYesNoFunctions =
{
- .yesFunc = sub_812A1C0,
- .noFunc = sub_8129B34,
+ .yesFunc = PutAwayDecoration,
+ .noFunc = ContinuePuttingAwayDecorations,
};
-const struct YesNoFuncTable gUnknown_085A7350 =
+const struct YesNoFuncTable sStopPuttingAwayDecorationsYesNoFunctions =
{
- .yesFunc = sub_812A210,
- .noFunc = sub_8129B34,
+ .yesFunc = StopPuttingAwayDecorations,
+ .noFunc = ContinuePuttingAwayDecorations,
};
const u8 gUnknown_085A7358[] = INCBIN_U8("graphics/misc/decoration_unk_85a7358.4bpp");
@@ -458,9 +460,9 @@ const struct SpriteTemplate gUnknown_085A7404 =
sub_812A36C
};
-const struct YesNoFuncTable gUnknown_085A741C =
+const struct YesNoFuncTable sTossDecorationYesNoFunctions =
{
- .yesFunc = sub_812A478,
+ .yesFunc = TossDecoration,
.noFunc = sub_8127A30,
};
@@ -607,7 +609,7 @@ static void DecorationMenuAction_PutAway(u8 taskId)
{
RemoveDecorationWindow(0);
ClearDialogWindowAndFrame(0, 0);
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_8129ABC;
}
@@ -633,7 +635,7 @@ static void DecorationMenuAction_Cancel(u8 taskId)
RemoveDecorationWindow(0);
if (!gDecorationContext.isPlayerRoom)
{
- ScriptContext1_SetupScript(gUnknown_0823B4E8);
+ ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel);
DestroyTask(taskId);
}
else
@@ -1235,12 +1237,12 @@ void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration)
}
}
-void sub_8127E18(void)
+void SetDecoration(void)
{
u8 i;
u8 j;
- for (i = 0; i < 14; i++)
+ for (i = 0; i < NUM_DECORATION_FLAGS; i++)
{
if (FlagGet(FLAG_DECORATION_1 + i) == TRUE)
{
@@ -1291,7 +1293,7 @@ void sub_8127F68(u8 taskId)
{
if (sub_8127F38() == TRUE)
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_8128060;
}
@@ -1331,7 +1333,7 @@ void sub_8128060(u8 taskId)
ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]);
sub_812826C(taskId);
SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer);
- pal_fill_black();
+ FadeInFromBlack();
gPaletteFade.bufferTransferDisabled = FALSE;
gTasks[taskId].data[2] = 2;
break;
@@ -1339,7 +1341,7 @@ void sub_8128060(u8 taskId)
if (IsWeatherNotFadingIn() == TRUE)
{
gTasks[taskId].data[12] = 0;
- sub_8128FD8(taskId);
+ ContinueDecorating(taskId);
}
break;
}
@@ -1427,7 +1429,7 @@ void sub_81283BC(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 1;
gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1;
sub_8128DE0();
- sub_8128950(taskId);
+ AttemptPlaceDecoration(taskId);
}
void sub_8128414(u8 taskId)
@@ -1437,7 +1439,7 @@ void sub_8128414(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1;
sub_8128DE0();
StringExpandPlaceholders(gStringVar4, gText_CancelDecorating);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8128B80);
+ DisplayItemMessageOnField(taskId, gStringVar4, CancelDecoratingPrompt);
}
bool8 sub_8128484(u8 behaviorAt, u16 behaviorBy)
@@ -1472,7 +1474,7 @@ bool8 sub_81284F4(u16 behaviorAt, const struct Decoration *decoration)
return FALSE;
}
-bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
+bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration)
{
u8 i;
u8 j;
@@ -1586,28 +1588,28 @@ bool8 sub_812853C(u8 taskId, const struct Decoration *decoration)
return TRUE;
}
-void sub_8128950(u8 taskId)
+void AttemptPlaceDecoration(u8 taskId)
{
- if (sub_812853C(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE)
+ if (CanPlaceDecoration(taskId, &gDecorations[gCurDecorationItems[gCurDecorationIndex]]) == TRUE)
{
StringExpandPlaceholders(gStringVar4, gText_PlaceItHere);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_81289D0);
+ DisplayItemMessageOnField(taskId, gStringVar4, PlaceDecorationPrompt);
}
else
{
PlaySE(SE_HAZURE);
StringExpandPlaceholders(gStringVar4, gText_CantBePlacedHere);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8129020);
+ DisplayItemMessageOnField(taskId, gStringVar4, CantPlaceDecorationPrompt);
}
}
-void sub_81289D0(u8 taskId)
+void PlaceDecorationPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A72C4);
+ DoYesNoFuncWithChoice(taskId, &sPlaceDecorationYesNoFunctions);
}
-void sub_81289F0(u8 taskId)
+void PlaceDecoration(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
sub_8128AAC(taskId);
@@ -1619,7 +1621,7 @@ void sub_81289F0(u8 taskId)
{
sCurDecorMapX = gTasks[taskId].data[0] - 7;
sCurDecorMapY = gTasks[taskId].data[1] - 7;
- ScriptContext1_SetupScript(EventScript_275D1F);
+ ScriptContext1_SetupScript(SecretBase_EventScript_SetDecoration);
}
gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2;
@@ -1645,7 +1647,7 @@ void sub_8128AAC(u8 taskId)
if (!gDecorationContext.isPlayerRoom)
{
- for (i = 0; i < 16; i++)
+ for (i = 0; i < DECOR_MAX_SECRET_BASE; i++)
{
if (sSecretBaseItemsIndicesBuffer[i] == 0)
{
@@ -1656,7 +1658,7 @@ void sub_8128AAC(u8 taskId)
}
else
{
- for (i = 0; i < 12; i++)
+ for (i = 0; i < DECOR_MAX_PLAYERS_HOUSE; i++)
{
if (sPlayerRoomItemsIndicesBuffer[i] == 0)
{
@@ -1667,13 +1669,13 @@ void sub_8128AAC(u8 taskId)
}
}
-void sub_8128B80(u8 taskId)
+void CancelDecoratingPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A72CC);
+ DoYesNoFuncWithChoice(taskId, &sCancelDecoratingYesNoFunctions);
}
-void sub_8128BA0(u8 taskId)
+void CancelDecorating(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
sub_8128BBC(taskId);
@@ -1681,7 +1683,7 @@ void sub_8128BA0(u8 taskId)
void sub_8128BBC(u8 taskId)
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = c1_overworld_prev_quest;
}
@@ -1718,7 +1720,7 @@ void sub_8128C64(u8 taskId)
data[2]++;
break;
case 1:
- ScriptContext1_SetupScript(EventScript_275D0C);
+ ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations);
data[2]++;
break;
case 2:
@@ -1737,7 +1739,7 @@ void sub_8128CD4(void)
u8 taskId;
ScriptContext2_Enable();
- pal_fill_black();
+ FadeInFromBlack();
taskId = CreateTask(sub_8128C64, 8);
sub_8127580(taskId);
gTasks[taskId].data[2] = 0;
@@ -1857,7 +1859,7 @@ void sub_8128E18(u8 taskId)
}
}
-void sub_8128FD8(u8 taskId)
+void ContinueDecorating(u8 taskId)
{
ClearDialogWindowAndFrame(0, 1);
gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0;
@@ -1865,10 +1867,10 @@ void sub_8128FD8(u8 taskId)
gTasks[taskId].func = sub_8128E18;
}
-void sub_8129020(u8 taskId)
+void CantPlaceDecorationPrompt(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
- sub_8128FD8(taskId);
+ ContinueDecorating(taskId);
}
void sub_8129048(struct PlaceDecorationGraphicsDataBuffer *data)
@@ -2043,7 +2045,7 @@ const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode)
if (decor > NUM_DECORATIONS)
decor = DECOR_NONE;
- return gUnknown_085A6BE8[decor][mode];
+ return gDecorIconTable[decor][mode];
}
u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor)
@@ -2095,7 +2097,7 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1
gSprites[spriteId].pos2.x = x + 4;
gSprites[spriteId].pos2.y = y + 4;
}
- else if (gUnknown_085A6BE8[decor][0] == NULL)
+ else if (gDecorIconTable[decor][0] == NULL)
{
spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor);
if (spriteId == MAX_SPRITES)
@@ -2152,7 +2154,8 @@ void sub_8129708(void)
}
}
-void sub_81297AC(void)
+// Unused
+void GetEventObjectLocalIdByFlag(void)
{
u8 i;
@@ -2206,7 +2209,7 @@ void sub_81298EC(u8 taskId)
case 1:
if (!gPaletteFade.active) {
DrawWholeMapView();
- ScriptContext1_SetupScript(EventScript_275D2E);
+ ScriptContext1_SetupScript(SecretBase_EventScript_PutAwayDecoration);
ClearDialogWindowAndFrame(0, 1);
gTasks[taskId].data[2] = 2;
}
@@ -2214,14 +2217,14 @@ void sub_81298EC(u8 taskId)
case 2:
ScriptContext2_Enable();
IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId);
- pal_fill_black();
+ FadeInFromBlack();
gTasks[taskId].data[2] = 3;
break;
case 3:
if (IsWeatherNotFadingIn() == TRUE)
{
StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
+ DisplayItemMessageOnField(taskId, gStringVar4, ContinuePuttingAwayDecorationsPrompt);
if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE)
TV_PutSecretBaseVisitOnTheAir();
}
@@ -2277,20 +2280,20 @@ void sub_8129ABC(u8 taskId)
break;
case 1:
SetUpPuttingAwayDecorationPlayerAvatar();
- pal_fill_black();
+ FadeInFromBlack();
data[2] = 2;
break;
case 2:
if (IsWeatherNotFadingIn() == TRUE)
{
data[12] = 1;
- sub_8129B34(taskId);
+ ContinuePuttingAwayDecorations(taskId);
}
break;
}
}
-void sub_8129B34(u8 taskId)
+void ContinuePuttingAwayDecorations(u8 taskId)
{
ClearDialogWindowAndFrame(0, 1);
gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0;
@@ -2316,7 +2319,7 @@ void sub_8129BF8(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE;
gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy;
StringExpandPlaceholders(gStringVar4, gText_StopPuttingAwayDecorations);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1F0);
+ DisplayItemMessageOnField(taskId, gStringVar4, StopPuttingAwayDecorationsPrompt);
}
void sub_8129C74(u8 taskId)
@@ -2328,7 +2331,7 @@ void sub_8129C74(u8 taskId)
if (sCurDecorSelectedInRearrangement != 0)
{
StringExpandPlaceholders(gStringVar4, gText_ReturnDecorationToPC);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1A0);
+ DisplayItemMessageOnField(taskId, gStringVar4, ReturnDecorationPrompt);
}
else
{
@@ -2339,20 +2342,20 @@ void sub_8129C74(u8 taskId)
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE;
gSprites[sDecor_CameraSpriteObjectIdx1].callback = SpriteCallbackDummy;
StringExpandPlaceholders(gStringVar4, gText_StopPuttingAwayDecorations);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A1F0);
+ DisplayItemMessageOnField(taskId, gStringVar4, StopPuttingAwayDecorationsPrompt);
}
else
{
StringExpandPlaceholders(gStringVar4, gText_NoDecorationHere);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64);
+ DisplayItemMessageOnField(taskId, gStringVar4, ContinuePuttingAwayDecorationsPrompt);
}
}
}
-void sub_8129D64(u8 taskId)
+void ContinuePuttingAwayDecorationsPrompt(u8 taskId)
{
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
- sub_8129B34(taskId);
+ ContinuePuttingAwayDecorations(taskId);
}
void sub_8129D8C(u8 decor, struct DecorRearrangementDataBuffer *data)
@@ -2542,26 +2545,26 @@ void sub_812A0E8(u8 taskId)
}
}
-void sub_812A1A0(u8 taskId)
+void ReturnDecorationPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A7348);
+ DoYesNoFuncWithChoice(taskId, &sReturnDecorationYesNoFunctions);
}
-void sub_812A1C0(u8 taskId)
+void PutAwayDecoration(u8 taskId)
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_81298EC;
}
-void sub_812A1F0(u8 taskId)
+void StopPuttingAwayDecorationsPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A7350);
+ DoYesNoFuncWithChoice(taskId, &sStopPuttingAwayDecorationsYesNoFunctions);
}
-void sub_812A210(u8 taskId)
+void StopPuttingAwayDecorations(u8 taskId)
{
ClearDialogWindowAndFrame(0, 0);
sub_812A22C(taskId);
@@ -2569,7 +2572,7 @@ void sub_812A210(u8 taskId)
void sub_812A22C(u8 taskId)
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_812A25C;
}
@@ -2604,7 +2607,7 @@ void sub_812A2C4(u8 taskId)
data[2]++;
break;
case 1:
- ScriptContext1_SetupScript(EventScript_275D0C);
+ ScriptContext1_SetupScript(SecretBase_EventScript_InitDecorations);
data[2]++;
break;
case 2:
@@ -2622,7 +2625,7 @@ void sub_812A334(void)
{
u8 taskId;
- pal_fill_black();
+ FadeInFromBlack();
DrawDialogueFrame(0, 1);
InitDecorationActionsWindow();
taskId = CreateTask(sub_812A2C4, 8);
@@ -2658,7 +2661,7 @@ void sub_812A3D4(u8 taskId)
{
StringCopy(gStringVar1, gDecorations[gCurDecorationItems[gCurDecorationIndex]].name);
StringExpandPlaceholders(gStringVar4, gText_DecorationWillBeDiscarded);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_812A458);
+ DisplayItemMessageOnField(taskId, gStringVar4, TossDecorationPrompt);
}
else
{
@@ -2667,13 +2670,13 @@ void sub_812A3D4(u8 taskId)
}
}
-void sub_812A458(u8 taskId)
+void TossDecorationPrompt(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
- DoYesNoFuncWithChoice(taskId, &gUnknown_085A741C);
+ DoYesNoFuncWithChoice(taskId, &sTossDecorationYesNoFunctions);
}
-void sub_812A478(u8 taskId)
+void TossDecoration(u8 taskId)
{
gCurDecorationItems[gCurDecorationIndex] = DECOR_NONE;
sNumOwnedDecorationsInCurCategory = GetNumOwnedDecorationsInCategory(sCurDecorationCategory);
diff --git a/src/dewford_trend.c b/src/dewford_trend.c
index ee310af04..9c5e69d99 100644
--- a/src/dewford_trend.c
+++ b/src/dewford_trend.c
@@ -3,7 +3,7 @@
#include "easy_chat.h"
#include "event_data.h"
#include "link.h"
-#include "alloc.h"
+#include "malloc.h"
#include "random.h"
#include "text.h"
#include "tv.h"
@@ -25,12 +25,12 @@ void InitDewfordTrend(void)
for (i = 0; i < 5; i++)
{
- gSaveBlock1Ptr->easyChatPairs[i].words[0] = sub_811EE38(EC_GROUP_CONDITIONS);
+ gSaveBlock1Ptr->easyChatPairs[i].words[0] = GetRandomEasyChatWordFromGroup(EC_GROUP_CONDITIONS);
if (Random() & 1)
- gSaveBlock1Ptr->easyChatPairs[i].words[1] = sub_811EE38(EC_GROUP_LIFESTYLE);
+ gSaveBlock1Ptr->easyChatPairs[i].words[1] = GetRandomEasyChatWordFromGroup(EC_GROUP_LIFESTYLE);
else
- gSaveBlock1Ptr->easyChatPairs[i].words[1] = sub_811EE38(EC_GROUP_HOBBIES);
+ gSaveBlock1Ptr->easyChatPairs[i].words[1] = GetRandomEasyChatWordFromGroup(EC_GROUP_HOBBIES);
gSaveBlock1Ptr->easyChatPairs[i].unk1_6 = Random() & 1;
sub_8122B28(&(gSaveBlock1Ptr->easyChatPairs[i]));
diff --git a/src/diploma.c b/src/diploma.c
index 8e0901fa8..3c03c057f 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -5,7 +5,7 @@
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "task.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "bg.h"
#include "window.h"
diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c
index 714b10ef6..958922067 100644
--- a/src/dodrio_berry_picking.c
+++ b/src/dodrio_berry_picking.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "dodrio_berry_picking.h"
#include "dynamic_placeholder_text_util.h"
@@ -245,7 +245,7 @@ static u32 sub_8027DFC(u32 arg0);
static u32 IncrementWithLimit(u32 arg0, u32 arg1);
static u32 Min(u32 arg0, u32 arg1);
static u32 sub_80276C0(u8 arg0);
-static void sub_8027ACC(u8 taskId);
+static void Task_ShowDodrioBerryPickingRecords(u8 taskId);
static void sub_8029314(u8 taskId);
static void sub_8027BEC(u8 windowId, s32 width);
static void nullsub_15(struct Sprite *sprite);
@@ -2580,7 +2580,7 @@ static u8 sub_8027A48(u8 id)
return gUnknown_02022C98->unk34[id];
}
-void sub_8027A5C(void)
+void IsDodrioInParty(void)
{
int i;
for (i = 0; i < PARTY_SIZE; i++)
@@ -2588,18 +2588,18 @@ void sub_8027A5C(void)
if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)
&& GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_DODRIO)
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
return;
}
}
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
}
-void sub_8027AAC(void)
+void ShowDodrioBerryPickingRecords(void)
{
- u8 taskId = CreateTask(sub_8027ACC, 0);
- sub_8027ACC(taskId);
+ u8 taskId = CreateTask(Task_ShowDodrioBerryPickingRecords, 0);
+ Task_ShowDodrioBerryPickingRecords(taskId);
}
// Data related to printing saved results.
@@ -2621,7 +2621,7 @@ ALIGNED(4)
static const u8 gUnknown_082F7B44[][2] = {{25}, {41}, {57}};
static const u8 gUnknown_082F7B4A[][2] = {{25}, {41}, {73}};
-static void sub_8027ACC(u8 taskId)
+static void Task_ShowDodrioBerryPickingRecords(u8 taskId)
{
struct WindowTemplate window;
s32 i, width, widthCurr;
@@ -2704,17 +2704,17 @@ static const u16 gUnknown_082F7B50[][4] =
{9999, 9999, 9999, 0},
};
-static const u8 gUnknown_082F7B78[] = _("あいうえおかき");
-static const u8 gUnknown_082F7B80[] = _("ABCDEFG");
-static const u8 gUnknown_082F7B88[] = _("0123456");
+static const u8 sJPText_Vowels[] = _("あいうえおかき");
+static const u8 sText_ABCDEFG[] = _("ABCDEFG");
+static const u8 sText_0123456[] = _("0123456");
-static const u8 *const gUnknown_082F7B90[] =
+static const u8 *const sPlaceholderPlayerNames[] =
{
- gUnknown_082F7B78,
- gUnknown_082F7B78,
- gUnknown_082F7B78,
- gUnknown_082F7B80,
- gUnknown_082F7B88
+ sJPText_Vowels,
+ sJPText_Vowels,
+ sJPText_Vowels,
+ sText_ABCDEFG,
+ sText_0123456
};
static void sub_8027D20(void)
@@ -2726,8 +2726,8 @@ static void sub_8027D38(void)
{
u8 i, playerId;
- for (playerId = gUnknown_02022C98->unk24; playerId < 5; playerId++)
- StringCopy(gLinkPlayers[playerId].name, gUnknown_082F7B90[playerId]);
+ for (playerId = gUnknown_02022C98->unk24; playerId < ARRAY_COUNT(sPlaceholderPlayerNames); playerId++)
+ StringCopy(gLinkPlayers[playerId].name, sPlaceholderPlayerNames[playerId]);
gUnknown_02022C98->unk24 = 5;
for (i = 0; i < 4; i++)
@@ -3555,14 +3555,14 @@ static const u32 gDodrioBerryBgTilemap2Left[] = INCBIN_U32("graphics/link_games/
static const struct OamData sOamData_82FB1E0 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -3572,14 +3572,14 @@ static const struct OamData sOamData_82FB1E0 =
static const struct OamData sOamData_82FB1E8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -3589,14 +3589,14 @@ static const struct OamData sOamData_82FB1E8 =
static const struct OamData sOamData_82FB1F0 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -3606,14 +3606,14 @@ static const struct OamData sOamData_82FB1F0 =
static const struct OamData sOamData_82FB1F8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 3,
.paletteNum = 0,
@@ -4386,12 +4386,12 @@ struct WinCoords
u8 top;
};
-static const u8 gUnknown_082FB380[][3] =
+static const u8 sTextColorTable[][3] =
{
- {1, 2, 3},
- {1, 4, 5},
- {1, 8, 9},
- {1, 6, 7},
+ {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY},
+ {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED},
+ {TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE},
+ {TEXT_COLOR_WHITE, TEXT_COLOR_GREEN, TEXT_COLOR_LIGHT_GREEN},
};
static const struct WinCoords gUnknown_082FB38C[] = {{12, 6}};
@@ -4525,7 +4525,7 @@ static void sub_8029440(void)
if (id == GetMultiplayerId())
colorsId = 2;
name = sub_8027660(id);
- AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[i], 1, left, 1, gUnknown_082FB380[colorsId], -1, name);
+ AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[i], 1, left, 1, sTextColorTable[colorsId], -1, name);
CopyWindowToVram(gUnknown_02022CF8->unk3008[i], 2);
window.baseBlock += 0xE;
sub_8029174(&window);
@@ -4609,7 +4609,7 @@ static void sub_80296A8(u8 playersCount_)
if (id == GetMultiplayerId())
colorsId = 2;
name = sub_8027660(id);
- AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 28, gUnknown_082FB402[i], gUnknown_082FB380[colorsId], -1, name);
+ AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 28, gUnknown_082FB402[i], sTextColorTable[colorsId], -1, name);
ConvertIntToDecimalStringN(numString, points, STR_CONV_MODE_LEFT_ALIGN, 7);
numWidth = GetStringWidth(1, numString, -1);
AddTextPrinterParameterized(gUnknown_02022CF8->unk3008[1], 1, numString, x - numWidth, gUnknown_082FB402[i], -1, NULL);
@@ -4653,7 +4653,7 @@ static void sub_802988C(void)
colorsId = 2;
name = sub_8027660(i);
- AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 0, gUnknown_082FB3F8[i], gUnknown_082FB380[colorsId], -1, name);
+ AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, 0, gUnknown_082FB3F8[i], sTextColorTable[colorsId], -1, name);
for (j = 0; j < 4; j++)
{
u32 width;
@@ -4663,7 +4663,7 @@ static void sub_802988C(void)
ConvertIntToDecimalStringN(gStringVar4, result1, STR_CONV_MODE_LEFT_ALIGN, 4);
width = GetStringWidth(1, gStringVar4, -1);
if (result2 == result1 && result2 != 0)
- AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, gUnknown_082FB3F0[j] - width, gUnknown_082FB3F8[i], gUnknown_082FB380[1], -1, gStringVar4);
+ AddTextPrinterParameterized3(gUnknown_02022CF8->unk3008[1], 1, gUnknown_082FB3F0[j] - width, gUnknown_082FB3F8[i], sTextColorTable[1], -1, gStringVar4);
else
AddTextPrinterParameterized(gUnknown_02022CF8->unk3008[1], 1, gStringVar4, gUnknown_082FB3F0[j] - width, gUnknown_082FB3F8[i], -1, NULL);
}
diff --git a/src/dragon.c b/src/dragon.c
index befaf52e7..fa91156d4 100644
--- a/src/dragon.c
+++ b/src/dragon.c
@@ -36,7 +36,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E7C =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596E78,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -89,7 +89,7 @@ const struct SpriteTemplate gUnknown_08596EF4 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08596EB4,
.images = NULL,
.affineAnims = gUnknown_08596EEC,
@@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08596F28 =
{
.tileTag = ANIM_TAG_FIRE_PLUME,
.paletteTag = ANIM_TAG_FIRE_PLUME,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596F24,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -158,7 +158,7 @@ const struct SpriteTemplate gUnknown_08596F80 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08596F50,
.images = NULL,
.affineAnims = gUnknown_08596F78,
@@ -169,7 +169,7 @@ const struct SpriteTemplate gUnknown_08596F98 =
{
.tileTag = ANIM_TAG_HOLLOW_ORB,
.paletteTag = ANIM_TAG_HOLLOW_ORB,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -180,7 +180,7 @@ const struct SpriteTemplate gUnknown_08596FB0 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596E78,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
diff --git a/src/easy_chat.c b/src/easy_chat.c
index ba54de783..86349cbd6 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bard_music.h"
#include "bg.h"
#include "data.h"
@@ -31,6 +31,7 @@
#include "constants/event_objects.h"
#include "constants/flags.h"
#include "constants/lilycove_lady.h"
+#include "constants/mauville_old_man.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/rgb.h"
@@ -121,8 +122,8 @@ static void sub_811B768(void);
static u8 sub_811B960(u8);
static void sub_811B9A0(void);
static u8 sub_811BA1C(void);
-static int sub_811BF20(void);
-static u16 sub_811BF40(void);
+static int DidPlayerInputMysteryGiftPhrase(void);
+static u16 DidPlayerInputABerryMasterWifePhrase(void);
static bool8 sub_811CE94(void);
static void sub_811CF64(void);
static void sub_811CF04(void);
@@ -209,7 +210,7 @@ static void sub_811D830(void);
static void sub_811D058(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8);
static void sub_811DD84(void);
static void sub_811D6F4(void);
-static void sub_811D758(void);
+static void PrintEasyChatKeyboardText(void);
static void sub_811D794(void);
static const u8 *GetEasyChatWordGroupName(u8);
static void sub_811D864(u8, u8);
@@ -220,8 +221,8 @@ static void sub_811E0EC(s8, s8);
static void sub_811E1A4(s8, s8);
static void sub_811E2DC(struct Sprite *);
static void sub_811E34C(u8, u8);
-static bool8 sub_811F0F8(void);
-static u16 sub_811F108(void);
+static bool8 EasyChatIsNationalPokedexEnabled(void);
+static u16 GetRandomUnlockedEasyChatPokemon(void);
static void sub_811F2D4(void);
static void sub_811F46C(void);
static u8 *CopyEasyChatWordPadded(u8 *, u16, u16);
@@ -531,11 +532,11 @@ static const u16 sMysteryGiftPhrase[] = {
};
static const u16 sBerryMasterWifePhrases[][2] = {
- {EC_WORD_GREAT, EC_WORD_BATTLE},
- {EC_WORD_CHALLENGE, EC_WORD_CONTEST},
- {EC_WORD_OVERWHELMING, EC_POKEMON(LATIAS)},
- {EC_WORD_COOL, EC_POKEMON(LATIOS)},
- {EC_WORD_SUPER, EC_WORD_HUSTLE},
+ [PHRASE_GREAT_BATTLE - 1] = {EC_WORD_GREAT, EC_WORD_BATTLE},
+ [PHRASE_CHALLENGE_CONTEST - 1] = {EC_WORD_CHALLENGE, EC_WORD_CONTEST},
+ [PHRASE_OVERWHELMING_LATIAS - 1] = {EC_WORD_OVERWHELMING, EC_POKEMON(LATIAS)},
+ [PHRASE_COOL_LATIOS - 1] = {EC_WORD_COOL, EC_POKEMON(LATIOS)},
+ [PHRASE_SUPER_HUSTLE - 1] = {EC_WORD_SUPER, EC_WORD_HUSTLE},
};
static const u16 sEasyChatTriangleCursorPalette[] = INCBIN_U16("graphics/easy_chat/triangle_cursor.gbapal");
@@ -698,11 +699,12 @@ static const struct WindowTemplate sEasyChatYesNoWindowTemplate = {
static const u8 sText_Clear17[] = _("{CLEAR 17}");
-static const u8 *const sUnknown_08597C90[] = {
- gUnknown_862B810,
- gUnknown_862B832,
- gUnknown_862B84B,
- gUnknown_862B86C,
+static const u8 *const sEasyChatKeyboardText[] =
+{
+ gText_EasyChatKeyboard_ABCDEFothers,
+ gText_EasyChatKeyboard_GHIJKL,
+ gText_EasyChatKeyboard_MNOPQRS,
+ gText_EasyChatKeyboard_TUVWXYZ,
};
static const struct SpriteSheet sEasyChatSpriteSheets[] = {
@@ -1262,7 +1264,7 @@ void ShowEasyChatScreen(void)
break;
case EASY_CHAT_TYPE_BARD_SONG:
bard = &gSaveBlock1Ptr->oldMan.bard;
- for (i = 0; i < 6; i ++)
+ for (i = 0; i < BARD_SONG_LENGTH; i ++)
bard->temporaryLyrics[i] = bard->songLyrics[i];
words = bard->temporaryLyrics;
@@ -1318,7 +1320,7 @@ void ShowEasyChatScreen(void)
words = &gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer;
break;
case EASY_CHAT_TYPE_APPRENTICE:
- words = gSaveBlock2Ptr->apprentices[0].easyChatWords;
+ words = gSaveBlock2Ptr->apprentices[0].speechWon;
break;
case EASY_CHAT_TYPE_QUESTIONNAIRE:
words = sub_801B058();
@@ -1339,7 +1341,7 @@ static void CB2_QuizLadyQuestion(void)
switch (gMain.state)
{
case 0:
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
break;
case 1:
if (!gPaletteFade.active)
@@ -2596,17 +2598,17 @@ static int FooterHasFourOptions_(void)
return FooterHasFourOptions();
}
-u8 sub_811BC7C(const u16 *arg0, u8 arg1)
+static bool8 IsPhraseDifferentThanPlayerInput(const u16 *phrase, u8 phraseLength)
{
u8 i;
- for (i = 0; i < arg1; i++)
+ for (i = 0; i < phraseLength; i++)
{
- if (arg0[i] != sEasyChatScreen->ecWordBuffer[i])
- return 1;
+ if (phrase[i] != sEasyChatScreen->ecWordBuffer[i])
+ return TRUE;
}
- return 0;
+ return FALSE;
}
static u8 GetDisplayedPersonType(void)
@@ -2729,7 +2731,7 @@ static void sub_811BE9C(void)
FlagSet(FLAG_SYS_CHAT_USED);
break;
case EASY_CHAT_TYPE_QUESTIONNAIRE:
- if (sub_811BF20())
+ if (DidPlayerInputMysteryGiftPhrase())
gSpecialVar_0x8004 = 2;
else
gSpecialVar_0x8004 = 0;
@@ -2739,22 +2741,22 @@ static void sub_811BE9C(void)
gSpecialVar_0x8004 = sub_81226D8(sEasyChatScreen->ecWordBuffer);
break;
case EASY_CHAT_TYPE_GOOD_SAYING:
- gSpecialVar_0x8004 = sub_811BF40();
+ gSpecialVar_0x8004 = DidPlayerInputABerryMasterWifePhrase();
break;
}
}
-static int sub_811BF20(void)
+static int DidPlayerInputMysteryGiftPhrase(void)
{
- return sub_811BC7C(sMysteryGiftPhrase, ARRAY_COUNT(sMysteryGiftPhrase)) == 0;
+ return !IsPhraseDifferentThanPlayerInput(sMysteryGiftPhrase, ARRAY_COUNT(sMysteryGiftPhrase));
}
-static u16 sub_811BF40(void)
+static u16 DidPlayerInputABerryMasterWifePhrase(void)
{
int i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(sBerryMasterWifePhrases); i++)
{
- if (!sub_811BC7C(sBerryMasterWifePhrases[i], ARRAY_COUNT(*sBerryMasterWifePhrases)))
+ if (!IsPhraseDifferentThanPlayerInput(sBerryMasterWifePhrases[i], ARRAY_COUNT(*sBerryMasterWifePhrases)))
return i + 1;
}
@@ -3701,7 +3703,7 @@ static void sub_811CFCC(void)
xOffset = GetStringCenterAlignXOffset(1, titleText, 144);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
- sub_811D058(0, 1, titleText, xOffset, 1, 0xFF, 0, 2, 3);
+ sub_811D058(0, 1, titleText, xOffset, 1, 0xFF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
}
@@ -3711,12 +3713,12 @@ void sub_811D028(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, vo
AddTextPrinterParameterized(windowId, fontId, str, x, y, speed, callback);
}
-static void sub_811D058(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, u8 red, u8 green, u8 blue)
+static void sub_811D058(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, u8 bg, u8 fg, u8 shadow)
{
u8 color[3];
- color[0] = red;
- color[1] = green;
- color[2] = blue;
+ color[0] = bg;
+ color[1] = fg;
+ color[2] = shadow;
AddTextPrinterParameterized3(windowId, fontId, left, top, color, speed, str);
}
@@ -3967,7 +3969,7 @@ static void sub_811D698(u32 arg0)
sub_811D6F4();
break;
case 1:
- sub_811D758();
+ PrintEasyChatKeyboardText();
break;
case 2:
sub_811D794();
@@ -4010,12 +4012,12 @@ static void sub_811D6F4(void)
}
}
-static void sub_811D758(void)
+static void PrintEasyChatKeyboardText(void)
{
u32 i;
- for (i = 0; i < ARRAY_COUNT(sUnknown_08597C90); i++)
- sub_811D028(2, 1, sUnknown_08597C90[i], 10, 97 + i * 16, 0xFF, NULL);
+ for (i = 0; i < ARRAY_COUNT(sEasyChatKeyboardText); i++)
+ sub_811D028(2, 1, sEasyChatKeyboardText[i], 10, 97 + i * 16, 0xFF, NULL);
}
static void sub_811D794(void)
@@ -4087,7 +4089,7 @@ static void sub_811D864(u8 arg0, u8 arg1)
if (!sub_811BF88(easyChatWord))
sub_811D028(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, NULL);
else
- sub_811D058(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, 1, 5, 3);
+ sub_811D058(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GREY);
}
}
@@ -4808,7 +4810,7 @@ static void sub_811E948(void)
PutWindowTilemap(windowId);
}
-static bool8 sub_811EA28(u8 groupId)
+static bool8 IsEasyChatGroupUnlocked(u8 groupId)
{
switch (groupId)
{
@@ -4819,7 +4821,7 @@ static bool8 sub_811EA28(u8 groupId)
case EC_GROUP_MOVE_2:
return FlagGet(FLAG_SYS_GAME_CLEAR);
case EC_GROUP_POKEMON_2:
- return sub_811F0F8();
+ return EasyChatIsNationalPokedexEnabled();
default:
return TRUE;
}
@@ -4830,7 +4832,7 @@ u16 EasyChat_GetNumWordsInGroup(u8 groupId)
if (groupId == EC_GROUP_POKEMON)
return GetNationalPokedexCount(FLAG_GET_SEEN);
- if (sub_811EA28(groupId))
+ if (IsEasyChatGroupUnlocked(groupId))
return gEasyChatGroups[groupId].numEnabledWords;
return 0;
@@ -5037,24 +5039,24 @@ static u16 GetEasyChatWordStringLength(u16 easyChatWord)
}
}
-bool8 sub_811EDC4(const u16 *easyChatWords, u8 arg1, u8 arg2, u16 arg3)
+static bool8 CanPhraseFitInXRowsYCols(const u16 *easyChatWords, u8 numRows, u8 numColumns, u16 maxLength)
{
u8 i, j;
- for (i = 0; i < arg2; i++)
+ for (i = 0; i < numColumns; i++)
{
- u16 totalLength = arg1 - 1;
- for (j = 0; j < arg1; j++)
+ u16 totalLength = numRows - 1;
+ for (j = 0; j < numRows; j++)
totalLength += GetEasyChatWordStringLength(*(easyChatWords++));
- if (totalLength > arg3)
+ if (totalLength > maxLength)
return TRUE;
}
return FALSE;
}
-u16 sub_811EE38(u16 groupId)
+u16 GetRandomEasyChatWordFromGroup(u16 groupId)
{
u16 index = Random() % gEasyChatGroups[groupId].numWords;
if (groupId == EC_GROUP_POKEMON
@@ -5068,18 +5070,18 @@ u16 sub_811EE38(u16 groupId)
return EC_WORD(groupId, index);
}
-u16 sub_811EE90(u16 groupId)
+u16 GetRandomEasyChatWordFromUnlockedGroup(u16 groupId)
{
- if (!sub_811EA28(groupId))
+ if (!IsEasyChatGroupUnlocked(groupId))
return 0xFFFF;
if (groupId == EC_GROUP_POKEMON)
- return sub_811F108();
+ return GetRandomUnlockedEasyChatPokemon();
- return sub_811EE38(groupId);
+ return GetRandomEasyChatWordFromGroup(groupId);
}
-void sub_811EECC(void)
+void ShowEasyChatProfile(void)
{
u16 *easyChatWords;
int columns, rows;
@@ -5092,7 +5094,7 @@ void sub_811EECC(void)
break;
case 1:
easyChatWords = gSaveBlock1Ptr->easyChatBattleStart;
- if (sub_811EDC4(gSaveBlock1Ptr->easyChatBattleStart, 3, 2, 18))
+ if (CanPhraseFitInXRowsYCols(gSaveBlock1Ptr->easyChatBattleStart, 3, 2, 18))
{
columns = 2;
rows = 3;
@@ -5121,23 +5123,24 @@ void sub_811EECC(void)
ShowFieldAutoScrollMessage(gStringVar4);
}
-void sub_811EF6C(void)
+// The phrase that a man in Dewford Hall suggests has a "deep link" to the current trendy phrase
+void BufferDeepLinkPhrase(void)
{
int groupId = Random() & 1 ? EC_GROUP_HOBBIES : EC_GROUP_LIFESTYLE;
- u16 easyChatWord = sub_811EE90(groupId);
+ u16 easyChatWord = GetRandomEasyChatWordFromUnlockedGroup(groupId);
CopyEasyChatWord(gStringVar2, easyChatWord);
}
-static bool8 sub_811EF98(u8 additionalPhraseId)
+static bool8 IsAdditionalPhraseUnlocked(u8 additionalPhraseId)
{
int byteOffset = additionalPhraseId / 8;
int shift = additionalPhraseId % 8;
return (gSaveBlock1Ptr->additionalPhrases[byteOffset] >> shift) & 1;
}
-void sub_811EFC0(u8 additionalPhraseId)
+void UnlockAdditionalPhrase(u8 additionalPhraseId)
{
- if (additionalPhraseId < 33)
+ if (additionalPhraseId < NUM_ADDITIONAL_PHRASES)
{
int byteOffset = additionalPhraseId / 8;
int shift = additionalPhraseId % 8;
@@ -5145,32 +5148,32 @@ void sub_811EFC0(u8 additionalPhraseId)
}
}
-u8 sub_811EFF0(void)
+static u8 GetNumAdditionalPhrasesUnlocked(void)
{
u8 i;
u8 numAdditionalPhrasesUnlocked;
- for (i = 0, numAdditionalPhrasesUnlocked = 0; i < 33; i++)
+ for (i = 0, numAdditionalPhrasesUnlocked = 0; i < NUM_ADDITIONAL_PHRASES; i++)
{
- if (sub_811EF98(i))
+ if (IsAdditionalPhraseUnlocked(i))
numAdditionalPhrasesUnlocked++;
}
return numAdditionalPhrasesUnlocked;
}
-u16 sub_811F01C(void)
+u16 GetNewHipsterPhraseToTeach(void)
{
u16 i;
u16 additionalPhraseId;
- u8 numAdditionalPhrasesUnlocked = sub_811EFF0();
- if (numAdditionalPhrasesUnlocked == 33)
+ u8 numAdditionalPhrasesUnlocked = GetNumAdditionalPhrasesUnlocked();
+ if (numAdditionalPhrasesUnlocked == NUM_ADDITIONAL_PHRASES)
return 0xFFFF;
- additionalPhraseId = Random() % (33 - numAdditionalPhrasesUnlocked);
- for (i = 0; i < 33; i++)
+ additionalPhraseId = Random() % (NUM_ADDITIONAL_PHRASES - numAdditionalPhrasesUnlocked);
+ for (i = 0; i < NUM_ADDITIONAL_PHRASES; i++)
{
- if (!sub_811EF98(i))
+ if (!IsAdditionalPhraseUnlocked(i))
{
if (additionalPhraseId)
{
@@ -5178,7 +5181,7 @@ u16 sub_811F01C(void)
}
else
{
- sub_811EFC0(i);
+ UnlockAdditionalPhrase(i);
return EC_WORD(EC_GROUP_TRENDY_SAYING, i);
}
}
@@ -5187,17 +5190,18 @@ u16 sub_811F01C(void)
return 0xFFFF;
}
-u16 sub_811F090(void)
+// Unused
+u16 GetRandomTaughtHipsterPhrase(void)
{
u16 i;
- u16 additionalPhraseId = sub_811EFF0();
+ u16 additionalPhraseId = GetNumAdditionalPhrasesUnlocked();
if (additionalPhraseId == 0)
return 0xFFFF;
additionalPhraseId = Random() % additionalPhraseId;
- for (i = 0; i < 33; i++)
+ for (i = 0; i < NUM_ADDITIONAL_PHRASES; i++)
{
- if (sub_811EF98(i))
+ if (IsAdditionalPhraseUnlocked(i))
{
if (additionalPhraseId)
additionalPhraseId--;
@@ -5209,12 +5213,12 @@ u16 sub_811F090(void)
return 0xFFFF;
}
-static bool8 sub_811F0F8(void)
+static bool8 EasyChatIsNationalPokedexEnabled(void)
{
return IsNationalPokedexEnabled();
}
-static u16 sub_811F108(void)
+static u16 GetRandomUnlockedEasyChatPokemon(void)
{
u16 i;
u16 numWords;
@@ -5496,7 +5500,7 @@ static bool8 sub_811F764(u16 wordIndex, u8 groupId)
case EC_GROUP_MOVE_2:
return TRUE;
case EC_GROUP_TRENDY_SAYING:
- return sub_811EF98(wordIndex);
+ return IsAdditionalPhraseUnlocked(wordIndex);
default:
return gEasyChatGroups[groupId].wordData.words[wordIndex].enabled;
}
@@ -5544,7 +5548,7 @@ bool32 sub_811F8D8(int easyChatWord)
int groupId = EC_GROUP(easyChatWord);
int mask = 0x7F;
int index = EC_INDEX(easyChatWord);
- if (!sub_811EA28(groupId & mask))
+ if (!IsEasyChatGroupUnlocked(groupId & mask))
return FALSE;
else
return sub_811F764(index, groupId & mask);
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 5e16f1479..032ae6733 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -17,7 +17,7 @@
#include "menu.h"
#include "trig.h"
#include "random.h"
-#include "alloc.h"
+#include "malloc.h"
#include "dma3.h"
#include "gpu_regs.h"
#include "bg.h"
@@ -56,7 +56,7 @@ struct EggHatchData
extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
extern const u8 gText_HatchedFromEgg[];
-extern const u8 gText_NickHatchPrompt[];
+extern const u8 gText_NicknameHatchPrompt[];
static void Task_EggHatch(u8 taskID);
static void CB2_EggHatch_0(void);
@@ -83,10 +83,10 @@ static const u8 sEggShardTiles[] = INCBIN_U8("graphics/misc/egg_shard.4bpp");
static const struct OamData sOamData_EggHatch =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -163,10 +163,10 @@ static const struct SpriteTemplate sSpriteTemplate_EggHatch =
static const struct OamData sOamData_EggShard =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -298,13 +298,13 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
u16 species;
u32 personality, pokerus;
u8 i, friendship, language, gameMet, markings, obedience;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
u32 ivs[NUM_STATS];
species = GetMonData(egg, MON_DATA_SPECIES);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_MON_MOVES; i++)
{
moves[i] = GetMonData(egg, MON_DATA_MOVE1 + i);
}
@@ -324,7 +324,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_MON_MOVES; i++)
{
SetMonData(temp, MON_DATA_MOVE1 + i, &moves[i]);
}
@@ -368,7 +368,7 @@ static void AddHatchedMonToParty(u8 id)
GetSetPokedexFlag(pokeNum, FLAG_SET_SEEN);
GetSetPokedexFlag(pokeNum, FLAG_SET_CAUGHT);
- GetMonNick(mon, gStringVar1);
+ GetMonNickname2(mon, gStringVar1);
ball = ITEM_POKE_BALL;
SetMonData(mon, MON_DATA_POKEBALL, &ball);
@@ -388,17 +388,17 @@ void ScriptHatchMon(void)
AddHatchedMonToParty(gSpecialVar_0x8004);
}
-static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId)
+static bool8 _CheckDaycareMonReceivedMail(struct DayCare *daycare, u8 daycareId)
{
- u8 nick[0x20];
+ u8 nickname[32];
struct DaycareMon *daycareMon = &daycare->mons[daycareId];
- GetBoxMonNick(&daycareMon->mon, nick);
- if (daycareMon->mail.message.itemId != 0
- && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->mail.monName) != 0
+ GetBoxMonNickname(&daycareMon->mon, nickname);
+ if (daycareMon->mail.message.itemId != ITEM_NONE
+ && (StringCompareWithoutExtCtrlCodes(nickname, daycareMon->mail.monName) != 0
|| StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->mail.OT_name) != 0))
{
- StringCopy(gStringVar1, nick);
+ StringCopy(gStringVar1, nickname);
TVShowConvertInternationalString(gStringVar2, daycareMon->mail.OT_name, daycareMon->mail.gameLanguage);
TVShowConvertInternationalString(gStringVar3, daycareMon->mail.monName, daycareMon->mail.monLanguage);
return TRUE;
@@ -406,9 +406,9 @@ static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId)
return FALSE;
}
-bool8 sub_8071614(void)
+bool8 CheckDaycareMonReceivedMail(void)
{
- return sub_807158C(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004);
+ return _CheckDaycareMonReceivedMail(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004);
}
static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc)
@@ -461,7 +461,7 @@ void EggHatch(void)
{
ScriptContext2_Enable();
CreateTask(Task_EggHatch, 10);
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
}
static void Task_EggHatch(u8 taskID)
@@ -470,7 +470,7 @@ static void Task_EggHatch(u8 taskID)
{
CleanupOverworldWindowsAndTilemaps();
SetMainCallback2(CB2_EggHatch_0);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskID);
}
}
@@ -634,7 +634,7 @@ static void CB2_EggHatch_1(void)
}
break;
case 5:
- GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1);
+ GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_HatchedFromEgg);
EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, 0xFF);
PlayFanfare(MUS_FANFA5);
@@ -651,8 +651,8 @@ static void CB2_EggHatch_1(void)
sEggHatchData->CB2_state++;
break;
case 8:
- GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1);
- StringExpandPlaceholders(gStringVar4, gText_NickHatchPrompt);
+ GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_NicknameHatchPrompt);
EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 2, 1);
sEggHatchData->CB2_state++;
break;
@@ -668,7 +668,7 @@ static void CB2_EggHatch_1(void)
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
- GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3);
+ GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3);
species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES);
gender = GetMonGender(&gPlayerParty[sEggHatchData->eggPartyID]);
personality = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_PERSONALITY, 0);
@@ -880,9 +880,9 @@ u8 GetEggStepsToSubtract(void)
return 1;
}
-u16 sub_80722E0(void)
+u16 CountPartyAliveNonEggMons(void)
{
u16 aliveNonEggMonsCount = CountStorageNonEggMons();
- aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(6);
+ aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(PARTY_SIZE);
return aliveNonEggMonsCount;
}
diff --git a/src/electric.c b/src/electric.c
index 4b93119dc..3344db7bf 100644
--- a/src/electric.c
+++ b/src/electric.c
@@ -56,7 +56,7 @@ const struct SpriteTemplate gUnknown_085956C0 =
{
.tileTag = ANIM_TAG_LIGHTNING,
.paletteTag = ANIM_TAG_LIGHTNING,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085956BC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_085956FC =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085956F8,
@@ -107,7 +107,7 @@ const struct SpriteTemplate gUnknown_08595734 =
{
.tileTag = ANIM_TAG_SHOCK,
.paletteTag = ANIM_TAG_SHOCK,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595730,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -118,7 +118,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C =
{
.tileTag = ANIM_TAG_SPARK_2,
.paletteTag = ANIM_TAG_SPARK_2,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -129,7 +129,7 @@ const struct SpriteTemplate gUnknown_08595764 =
{
.tileTag = ANIM_TAG_BLACK_BALL_2,
.paletteTag = ANIM_TAG_BLACK_BALL_2,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -151,7 +151,7 @@ const struct SpriteTemplate gUnknown_08595790 =
{
.tileTag = ANIM_TAG_SPARK_2,
.paletteTag = ANIM_TAG_SPARK_2,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859578C,
@@ -188,7 +188,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85957E0 =
{
.tileTag = ANIM_TAG_SHOCK_3,
.paletteTag = ANIM_TAG_SHOCK_3,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_085957B8,
.images = NULL,
.affineAnims = gUnknown_085957DC,
@@ -199,7 +199,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85957F8 =
{
.tileTag = ANIM_TAG_SPARK_2,
.paletteTag = ANIM_TAG_SPARK_2,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859578C,
@@ -210,7 +210,7 @@ const struct SpriteTemplate gElectricitySpriteTemplate =
{
.tileTag = ANIM_TAG_SPARK_2,
.paletteTag = ANIM_TAG_SPARK_2,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -221,7 +221,7 @@ const struct SpriteTemplate gUnknown_08595828 =
{
.tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -232,7 +232,7 @@ const struct SpriteTemplate gUnknown_08595840 =
{
.tileTag = ANIM_TAG_SPARK_H,
.paletteTag = ANIM_TAG_SPARK_H,
- .oam = &gUnknown_08524934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -287,7 +287,7 @@ const struct SpriteTemplate gUnknown_085958A8 =
{
.tileTag = ANIM_TAG_ELECTRIC_ORBS,
.paletteTag = ANIM_TAG_ELECTRIC_ORBS,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_085958A0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -335,7 +335,7 @@ const struct SpriteTemplate gUnknown_0859595C =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595950,
@@ -360,7 +360,7 @@ const struct SpriteTemplate gUnknown_0859598C =
{
.tileTag = ANIM_TAG_ELECTRICITY,
.paletteTag = ANIM_TAG_ELECTRICITY,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595988,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -371,7 +371,7 @@ const struct SpriteTemplate gUnknown_085959A4 =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595950,
@@ -425,7 +425,7 @@ const struct SpriteTemplate gUnknown_08595A00 =
{
.tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK,
- .oam = &gUnknown_08524A04,
+ .oam = &gOamData_AffineDouble_ObjNormal_8x16,
.anims = gUnknown_085959DC,
.images = NULL,
.affineAnims = gUnknown_085959FC,
@@ -436,7 +436,7 @@ const struct SpriteTemplate gUnknown_08595A18 =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595950,
@@ -447,7 +447,7 @@ const struct SpriteTemplate gUnknown_08595A30 =
{
.tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -757,13 +757,13 @@ static void sub_810A9DC(struct Sprite *sprite)
{
if (!sprite->data[0])
{
- sprite->oam.shape = 2;
- sprite->oam.size = 0;
+ sprite->oam.shape = SPRITE_SHAPE(8x16);
+ sprite->oam.size = SPRITE_SIZE(8x16);
}
else
{
- sprite->oam.shape = 0;
- sprite->oam.size = 1;
+ sprite->oam.shape = SPRITE_SHAPE(16x16);
+ sprite->oam.size = SPRITE_SIZE(16x16);
}
if (++sprite->data[1] == 15)
DestroySprite(sprite);
diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c
index f184dea82..bdfbebf6b 100755
--- a/src/ereader_helpers.c
+++ b/src/ereader_helpers.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "ereader_helpers.h"
#include "link.h"
@@ -448,7 +448,7 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct
AGB_ASSERT_EX(ttdata->id == 0, "cereader_tool.c", 452);
memset(buffer2, 0, 0x1000);
- buffer2->unkField_0 = ttdata->count;
+ buffer2->numTrainers = ttdata->count;
buffer2->unused1 = sub_81D38D4();
buffer2->numFloors = (ttdata->count + 1) / 2;
@@ -456,13 +456,13 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct
{
if (!(i & 1))
{
- buffer2->floors[i / 2].unk0 = ttdata->unk_8[i].unk0;
+ buffer2->floors[i / 2].trainerNum1 = ttdata->unk_8[i].unk0;
buffer2->floors[i / 2].display = ttdata->unk_8[i].unk14C;
buffer2->floors[i / 2].trainers[0] = ttdata->unk_8[i].unk4;
}
else
{
- buffer2->floors[i / 2].unk1 = ttdata->unk_8[i].unk0;
+ buffer2->floors[i / 2].trainerNum2 = ttdata->unk_8[i].unk0;
buffer2->floors[i / 2].trainers[1] = ttdata->unk_8[i].unk4;
}
}
@@ -473,7 +473,7 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct
}
buffer2->checksum = CalcByteArraySum((u8 *)buffer2->floors, 4 * sizeof(struct TrHillFloor));
- if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1)
+ if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != SAVE_STATUS_OK)
return FALSE;
return TRUE;
@@ -487,13 +487,13 @@ bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0)
return result;
}
-static bool32 TryReadTrainerHill_r(struct EReaderTrainerHillSet *arg0, u8 *arg1)
+static bool32 TryReadTrainerHill_r(struct EReaderTrainerHillSet *dst, u8 *buffer)
{
- if (TryReadSpecialSaveSection(SECTOR_ID_TRAINER_HILL, arg1) != 1)
+ if (TryReadSpecialSaveSection(SECTOR_ID_TRAINER_HILL, buffer) != SAVE_STATUS_OK)
return FALSE;
- memcpy(arg0, arg1, sizeof(struct EReaderTrainerHillSet));
- if (!TrainerHill_VerifyChecksum(arg0))
+ memcpy(dst, buffer, sizeof(struct EReaderTrainerHillSet));
+ if (!TrainerHill_VerifyChecksum(dst))
return FALSE;
return TRUE;
diff --git a/src/ereader_screen.c b/src/ereader_screen.c
index 13e964224..754bbe445 100755
--- a/src/ereader_screen.c
+++ b/src/ereader_screen.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "ereader_helpers.h"
#include "link.h"
@@ -88,7 +88,7 @@ static u8 sub_81D4DE8(struct Unk03006370 *arg0)
static void sub_81D4E30(void)
{
memset(gDecompressionBuffer, 0, 0x2000);
- gLinkType = 0x5503;
+ gLinkType = LINKTYPE_0x5503;
OpenLink();
SetSuppressLinkErrorMessage(TRUE);
}
@@ -251,7 +251,7 @@ static void sub_81D5084(u8 taskId)
switch (data->unk8)
{
case 0:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFD6))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_ReceiveMysteryGiftWithEReader))
data->unk8 = 1;
break;
case 1:
@@ -275,9 +275,9 @@ static void sub_81D5084(u8 taskId)
}
break;
case 4:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFF5))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_SelectConnectFromEReaderMenu))
{
- AddTextPrinterToWindow1(gUnknown_085EE014);
+ AddTextPrinterToWindow1(gJPText_SelectConnectWithGBA);
sub_81D505C(&data->unk0);
data->unk8 = 5;
}
@@ -324,11 +324,11 @@ static void sub_81D5084(u8 taskId)
}
break;
case 7:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE05C))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_LinkIsIncorrect))
data->unk8 = 4;
break;
case 8:
- AddTextPrinterToWindow1(gUnknown_085EE097);
+ AddTextPrinterToWindow1(gJPText_Connecting);
// XXX: This (u32*) cast is discarding the const qualifier from gUnknown_089A3470
sub_81D4D50(&gUnknown_03006370, gMultiBootProgram_BerryGlitchFix_Start - gUnknown_089A3470, (u32*)gUnknown_089A3470);
data->unk8 = 9;
@@ -347,7 +347,7 @@ static void sub_81D5084(u8 taskId)
else if (data->unkE == 1)
{
sub_81D505C(&data->unk0);
- AddTextPrinterToWindow1(gUnknown_085EE120);
+ AddTextPrinterToWindow1(gJPText_PleaseWaitAMoment);
data->unk8 = 11;
}
else
@@ -361,7 +361,7 @@ static void sub_81D5084(u8 taskId)
break;
case 12:
sub_81D4E30();
- AddTextPrinterToWindow1(gUnknown_085EE0DC);
+ AddTextPrinterToWindow1(gJPText_AllowEReaderToLoadCard);
data->unk8 = 13;
break;
case 13:
@@ -370,7 +370,7 @@ static void sub_81D5084(u8 taskId)
case 0:
break;
case 2:
- AddTextPrinterToWindow1(gUnknown_085EE097);
+ AddTextPrinterToWindow1(gJPText_Connecting);
data->unk8 = 14;
break;
case 1:
@@ -418,7 +418,7 @@ static void sub_81D5084(u8 taskId)
case 17:
if (TryWriteTrainerHill((struct EReaderTrainerHillSet *)&gDecompressionBuffer))
{
- AddTextPrinterToWindow1(gUnknown_085EE0FA);
+ AddTextPrinterToWindow1(gJPText_ConnectionComplete);
sub_81D505C(&data->unk0);
data->unk8 = 18;
}
@@ -430,7 +430,7 @@ static void sub_81D5084(u8 taskId)
case 18:
if (sub_81D5064(&data->unk0, 120))
{
- AddTextPrinterToWindow1(gUnknown_085EE107);
+ AddTextPrinterToWindow1(gJPText_NewTrainerHasComeToHoenn);
PlayFanfare(MUS_FANFA4);
data->unk8 = 19;
}
@@ -440,19 +440,19 @@ static void sub_81D5084(u8 taskId)
data->unk8 = 26;
break;
case 23:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9,gUnknown_085EE06B))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_CardReadingHasBeenHalted))
data->unk8 = 26;
break;
case 20:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0A3))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_ConnectionErrorCheckLink))
data->unk8 = 0;
break;
case 21:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0BF))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_ConnectionErrorTryAgain))
data->unk8 = 0;
break;
case 22:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE12D))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gJPText_WriteErrorUnableToSaveData))
data->unk8 = 0;
break;
case 26:
diff --git a/src/event_data.c b/src/event_data.c
index 50628f984..15ca47f7c 100644
--- a/src/event_data.c
+++ b/src/event_data.c
@@ -2,9 +2,15 @@
#include "event_data.h"
#include "pokedex.h"
-#define TEMP_FLAGS_SIZE 0x4
-#define DAILY_FLAGS_SIZE 0x8
-#define TEMP_VARS_SIZE 0x20
+#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1)
+#define NUM_TEMP_FLAGS (TEMP_FLAGS_END - TEMP_FLAGS_START + 1)
+#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1)
+#define NUM_TEMP_VARS (TEMP_VARS_END - TEMP_VARS_START + 1)
+
+#define SPECIAL_FLAGS_SIZE (NUM_SPECIAL_FLAGS / 8) // 8 flags per byte
+#define TEMP_FLAGS_SIZE (NUM_TEMP_FLAGS / 8)
+#define DAILY_FLAGS_SIZE (NUM_DAILY_FLAGS / 8)
+#define TEMP_VARS_SIZE (NUM_TEMP_VARS * 2) // 1/2 var per byte
EWRAM_DATA u16 gSpecialVar_0x8000 = 0;
EWRAM_DATA u16 gSpecialVar_0x8001 = 0;
@@ -24,7 +30,7 @@ EWRAM_DATA u16 gSpecialVar_Facing = 0;
EWRAM_DATA u16 gSpecialVar_MonBoxId = 0;
EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0;
EWRAM_DATA u16 gSpecialVar_Unused_0x8014 = 0;
-EWRAM_DATA static u8 gSpecialFlags[16] = {0};
+EWRAM_DATA static u8 gSpecialFlags[SPECIAL_FLAGS_SIZE] = {0};
extern u16 *const gSpecialVars[];
@@ -37,8 +43,8 @@ void InitEventData(void)
void ClearTempFieldEventData(void)
{
- memset(gSaveBlock1Ptr->flags, 0, TEMP_FLAGS_SIZE);
- memset(gSaveBlock1Ptr->vars, 0, TEMP_VARS_SIZE);
+ memset(gSaveBlock1Ptr->flags + (TEMP_FLAGS_START / 8), 0, TEMP_FLAGS_SIZE);
+ memset(gSaveBlock1Ptr->vars + ((TEMP_VARS_START - VARS_START) * 2), 0, TEMP_VARS_SIZE);
FlagClear(FLAG_SYS_ENC_UP_ITEM);
FlagClear(FLAG_SYS_ENC_DOWN_ITEM);
FlagClear(FLAG_SYS_USE_STRENGTH);
@@ -48,7 +54,7 @@ void ClearTempFieldEventData(void)
void ClearDailyFlags(void)
{
- memset(gSaveBlock1Ptr->flags + 0x124, 0, DAILY_FLAGS_SIZE);
+ memset(gSaveBlock1Ptr->flags + (DAILY_FLAGS_START / 8), 0, DAILY_FLAGS_SIZE);
}
void DisableNationalPokedex(void)
@@ -108,7 +114,7 @@ bool32 IsMysteryGiftEnabled(void)
return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLE);
}
-void sub_809D4D8(void)
+void ClearMysteryEventFlags(void)
{
FlagClear(FLAG_MYSTERY_EVENT_DONE);
FlagClear(FLAG_MYSTERY_EVENT_1);
@@ -128,7 +134,7 @@ void sub_809D4D8(void)
FlagClear(FLAG_MYSTERY_EVENT_15);
}
-void sub_809D570(void)
+void ClearMysteryEventVars(void)
{
VarSet(VAR_EVENT_PICHU_SLOT, 0);
VarSet(VAR_NEVER_READ_0x40DE, 0);
diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c
index 566b4931d..817276694 100644
--- a/src/event_obj_lock.c
+++ b/src/event_obj_lock.c
@@ -8,7 +8,7 @@
#include "trainer_see.h"
#include "constants/event_objects.h"
-bool8 walkrun_is_standing_still(void)
+bool8 IsPlayerStandingStill(void)
{
if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION)
return FALSE;
@@ -18,7 +18,7 @@ bool8 walkrun_is_standing_still(void)
static void sub_80983A4(u8 taskId)
{
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
sub_808B864();
DestroyTask(taskId);
@@ -49,7 +49,7 @@ static void sub_8098400(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- if (!task->data[0] && walkrun_is_standing_still() == TRUE)
+ if (!task->data[0] && IsPlayerStandingStill() == TRUE)
{
sub_808B864();
task->data[0] = 1;
@@ -92,7 +92,7 @@ void ScriptUnfreezeEventObjects(void)
{
u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
- sub_80D338C();
+ ScriptMovement_UnfreezeEventObjects();
UnfreezeEventObjects();
}
@@ -104,16 +104,16 @@ void sub_8098524(void)
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
- sub_80D338C();
+ ScriptMovement_UnfreezeEventObjects();
UnfreezeEventObjects();
}
-void sub_8098574(void)
+void Script_FacePlayer(void)
{
EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], gSpecialVar_Facing);
}
-void sub_809859C(void)
+void Script_ClearHeldMovement(void)
{
EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]);
}
@@ -123,7 +123,7 @@ static void sub_80985BC(u8 taskId)
struct Task *task = &gTasks[taskId];
u8 eventObjectId = task->data[2];
- if (!task->data[0] && walkrun_is_standing_still() == TRUE)
+ if (!task->data[0] && IsPlayerStandingStill() == TRUE)
{
sub_808B864();
task->data[0] = 1;
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 75f758a12..f84a7bedb 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle_pyramid.h"
#include "berry.h"
#include "decoration.h"
@@ -26,6 +26,7 @@
#include "constants/event_objects.h"
#include "constants/field_effects.h"
#include "constants/items.h"
+#include "constants/mauville_old_man.h"
// this file was known as evobjmv.c in Game Freak's original source
@@ -1120,13 +1121,13 @@ void ResetEventObjects(void)
static void CreateReflectionEffectSprites(void)
{
u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 0);
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 1);
gSprites[spriteId].invisible = TRUE;
@@ -1198,8 +1199,6 @@ static u8 GetEventObjectIdByLocalId(u8 localId)
return EVENT_OBJECTS_COUNT;
}
-// This function has the same nonmatching quirk as in Ruby/Sapphire.
-#ifdef NONMATCHING
static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup)
{
struct EventObject *eventObject;
@@ -1207,11 +1206,8 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template,
s16 x;
s16 y;
- // mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7)
if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId))
- {
return EVENT_OBJECTS_COUNT;
- }
eventObject = &gEventObjects[eventObjectId];
ClearEventObject(eventObject);
x = template->x + 7;
@@ -1222,6 +1218,7 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template,
eventObject->movementType = template->movementType;
eventObject->localId = template->localId;
eventObject->mapNum = mapNum;
+ eventObject++; eventObject--;
eventObject->mapGroup = mapGroup;
eventObject->initialCoords.x = x;
eventObject->initialCoords.y = y;
@@ -1231,7 +1228,6 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template,
eventObject->previousCoords.y = y;
eventObject->currentElevation = template->elevation;
eventObject->previousElevation = template->elevation;
- // For some reason, 0x0F is placed in r9, to be used later
eventObject->range.as_nybbles.x = template->movementRangeX;
eventObject->range.as_nybbles.y = template->movementRangeY;
eventObject->trainerType = template->trainerType;
@@ -1239,177 +1235,22 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template,
eventObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType];
SetEventObjectDirection(eventObject, eventObject->previousMovementDirection);
SetEventObjectDynamicGraphicsId(eventObject);
-
+#ifndef NONMATCHING
+ asm("":::"r5", "r6");
+#endif
if (gRangedMovementTypes[eventObject->movementType])
{
- if ((eventObject->range.as_nybbles.x) == 0)
+ if (eventObject->range.as_nybbles.x == 0)
{
- // r9 is invoked here
eventObject->range.as_nybbles.x++;
}
- if ((eventObject->range.as_nybbles.y) == 0)
+ if (eventObject->range.as_nybbles.y == 0)
{
eventObject->range.as_nybbles.y++;
}
}
return eventObjectId;
}
-#else
-static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapId, u8 mapGroupId)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r9\n"
- "\tmov r6, r8\n"
- "\tpush {r6,r7}\n"
- "\tsub sp, 0x4\n"
- "\tadds r5, r0, 0\n"
- "\tlsls r1, 24\n"
- "\tlsrs r6, r1, 24\n"
- "\tlsls r2, 24\n"
- "\tlsrs r7, r2, 24\n"
- "\tldrb r0, [r5]\n"
- "\tadds r1, r6, 0\n"
- "\tadds r2, r7, 0\n"
- "\tmov r3, sp\n"
- "\tbl GetAvailableEventObjectId\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _0808D66E\n"
- "\tmovs r0, 0x10\n"
- "\tb _0808D762\n"
- "_0808D66E:\n"
- "\tmov r0, sp\n"
- "\tldrb r1, [r0]\n"
- "\tlsls r0, r1, 3\n"
- "\tadds r0, r1\n"
- "\tlsls r0, 2\n"
- "\tldr r1, =gEventObjects\n"
- "\tadds r4, r0, r1\n"
- "\tadds r0, r4, 0\n"
- "\tbl ClearEventObject\n"
- "\tldrh r3, [r5, 0x4]\n"
- "\tadds r3, 0x7\n"
- "\tlsls r3, 16\n"
- "\tlsrs r3, 16\n"
- "\tldrh r2, [r5, 0x6]\n"
- "\tadds r2, 0x7\n"
- "\tlsls r2, 16\n"
- "\tlsrs r2, 16\n"
- "\tldrb r0, [r4]\n"
- "\tmovs r1, 0x1\n"
- "\torrs r0, r1\n"
- "\tmovs r1, 0x4\n"
- "\torrs r0, r1\n"
- "\tstrb r0, [r4]\n"
- "\tldrb r0, [r5, 0x1]\n"
- "\tstrb r0, [r4, 0x5]\n"
- "\tldrb r0, [r5, 0x9]\n"
- "\tstrb r0, [r4, 0x6]\n"
- "\tldrb r0, [r5]\n"
- "\tstrb r0, [r4, 0x8]\n"
- "\tstrb r6, [r4, 0x9]\n"
- "\tstrb r7, [r4, 0xA]\n"
- "\tstrh r3, [r4, 0xC]\n"
- "\tstrh r2, [r4, 0xE]\n"
- "\tstrh r3, [r4, 0x10]\n"
- "\tstrh r2, [r4, 0x12]\n"
- "\tstrh r3, [r4, 0x14]\n"
- "\tstrh r2, [r4, 0x16]\n"
- "\tldrb r0, [r5, 0x8]\n"
- "\tmovs r7, 0xF\n"
- "\tadds r1, r7, 0\n"
- "\tands r1, r0\n"
- "\tldrb r2, [r4, 0xB]\n"
- "\tmovs r0, 0x10\n"
- "\tnegs r0, r0\n"
- "\tmov r8, r0\n"
- "\tands r0, r2\n"
- "\torrs r0, r1\n"
- "\tstrb r0, [r4, 0xB]\n"
- "\tldrb r1, [r5, 0x8]\n"
- "\tlsls r1, 4\n"
- "\tands r0, r7\n"
- "\torrs r0, r1\n"
- "\tstrb r0, [r4, 0xB]\n"
- "\tldrb r1, [r5, 0xA]\n"
- "\tlsls r1, 28\n"
- "\tmovs r0, 0xF\n"
- "\tmov r9, r0\n"
- "\tlsrs r1, 28\n"
- "\tldrb r2, [r4, 0x19]\n"
- "\tmov r0, r8\n"
- "\tands r0, r2\n"
- "\torrs r0, r1\n"
- "\tstrb r0, [r4, 0x19]\n"
- "\tldrb r1, [r5, 0xA]\n"
- "\tlsrs r1, 4\n"
- "\tlsls r1, 4\n"
- "\tands r0, r7\n"
- "\torrs r0, r1\n"
- "\tstrb r0, [r4, 0x19]\n"
- "\tldrh r0, [r5, 0xC]\n"
- "\tstrb r0, [r4, 0x7]\n"
- "\tldrh r0, [r5, 0xE]\n"
- "\tstrb r0, [r4, 0x1D]\n"
- "\tldr r1, =gInitialMovementTypeFacingDirections\n"
- "\tldrb r0, [r5, 0x9]\n"
- "\tadds r0, r1\n"
- "\tldrb r1, [r0]\n"
- "\tadds r0, r4, 0\n"
- "\tadds r0, 0x20\n"
- "\tstrb r1, [r0]\n"
- "\tldrb r1, [r0]\n"
- "\tadds r0, r4, 0\n"
- "\tbl SetEventObjectDirection\n"
- "\tadds r0, r4, 0\n"
- "\tbl SetEventObjectDynamicGraphicsId\n"
- "\tldr r1, =gRangedMovementTypes\n"
- "\tldrb r0, [r4, 0x6]\n"
- "\tadds r0, r1\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbeq _0808D75E\n"
- "\tldrb r2, [r4, 0x19]\n"
- "\tadds r0, r7, 0\n"
- "\tands r0, r2\n"
- "\tcmp r0, 0\n"
- "\tbne _0808D746\n"
- "\tlsls r0, r2, 28\n"
- "\tlsrs r0, 28\n"
- "\tadds r0, 0x1\n"
- "\tmov r1, r9\n"
- "\tands r0, r1\n"
- "\tmov r1, r8\n"
- "\tands r1, r2\n"
- "\torrs r1, r0\n"
- "\tstrb r1, [r4, 0x19]\n"
- "_0808D746:\n"
- "\tldrb r2, [r4, 0x19]\n"
- "\tmovs r0, 0xF0\n"
- "\tands r0, r2\n"
- "\tcmp r0, 0\n"
- "\tbne _0808D75E\n"
- "\tlsrs r1, r2, 4\n"
- "\tadds r1, 0x1\n"
- "\tlsls r1, 4\n"
- "\tadds r0, r7, 0\n"
- "\tands r0, r2\n"
- "\torrs r0, r1\n"
- "\tstrb r0, [r4, 0x19]\n"
- "_0808D75E:\n"
- "\tmov r0, sp\n"
- "\tldrb r0, [r0]\n"
- "_0808D762:\n"
- "\tadd sp, 0x4\n"
- "\tpop {r3,r4}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tpop {r4-r7}\n"
- "\tpop {r1}\n"
- "\tbx r1\n"
- ".pool");
-}
-#endif
u8 Unref_TryInitLocalEventObject(u8 localId)
{
@@ -1675,7 +1516,7 @@ u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x
{
sprite = &gSprites[spriteId];
SetSubspriteTables(sprite, subspriteTables);
- sprite->subspriteMode = 2;
+ sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
}
return spriteId;
}
@@ -1720,7 +1561,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
if (subspriteTables != NULL)
{
SetSubspriteTables(sprite, subspriteTables);
- sprite->subspriteMode = 2;
+ sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
}
InitObjectPriorityByZCoord(sprite, z);
SetObjectSubpriorityByZCoord(z, sprite, 1);
@@ -2723,9 +2564,8 @@ bool8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sp
SetEventObjectDirection(eventObject, chosenDirection);
sprite->data[1] = 5;
if (GetCollisionInDirection(eventObject, chosenDirection))
- {
sprite->data[1] = 1;
- }
+
return TRUE;
}
@@ -3093,9 +2933,8 @@ bool8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct
SetEventObjectDirection(eventObject, direction);
sprite->data[1] = 5;
if (GetCollisionInDirection(eventObject, direction))
- {
sprite->data[1] = 1;
- }
+
return TRUE;
}
@@ -3163,9 +3002,8 @@ bool8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, str
SetEventObjectDirection(eventObject, direction);
sprite->data[1] = 5;
if (GetCollisionInDirection(eventObject, direction))
- {
sprite->data[1] = 1;
- }
+
return TRUE;
}
@@ -3952,7 +3790,7 @@ bool8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struc
bool8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct Sprite *sprite)
{
- bool8 collisionState;
+ bool8 collision;
u8 movementActionId;
if (eventObject->directionSequenceIndex && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y)
@@ -3960,19 +3798,19 @@ bool8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struc
eventObject->directionSequenceIndex = 0;
SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection));
}
- collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection);
+ collision = GetCollisionInDirection(eventObject, eventObject->movementDirection);
movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection);
- if (collisionState == TRUE)
+ if (collision == COLLISION_OUTSIDE_RANGE)
{
eventObject->directionSequenceIndex++;
SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection));
movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection);
- collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection);
+ collision = GetCollisionInDirection(eventObject, eventObject->movementDirection);
}
- if (collisionState)
- {
+
+ if (collision)
movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection);
- }
+
EventObjectSetSingleMovement(eventObject, sprite, movementActionId);
eventObject->singleMovementActive = 1;
sprite->data[1] = 3;
@@ -3998,27 +3836,26 @@ bool8 MovementType_WalkSequence_Step0(struct EventObject *eventObject, struct Sp
bool8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *route)
{
- u8 collisionState;
+ u8 collision;
u8 movementActionId;
if (eventObject->directionSequenceIndex == 3 && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y)
- {
eventObject->directionSequenceIndex = 0;
- }
+
SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]);
movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection);
- collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection);
- if (collisionState == TRUE)
+ collision = GetCollisionInDirection(eventObject, eventObject->movementDirection);
+ if (collision == COLLISION_OUTSIDE_RANGE)
{
eventObject->directionSequenceIndex++;
SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]);
movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection);
- collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection);
+ collision = GetCollisionInDirection(eventObject, eventObject->movementDirection);
}
- if (collisionState)
- {
+
+ if (collision)
movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection);
- }
+
EventObjectSetSingleMovement(eventObject, sprite, movementActionId);
eventObject->singleMovementActive = 1;
sprite->data[1] = 2;
@@ -4589,7 +4426,7 @@ void MovementType_Hidden(struct Sprite *sprite)
if (!sprite->data[7])
{
gEventObjects[sprite->data[0]].fixedPriority = TRUE;
- sprite->subspriteMode = 2;
+ sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
sprite->oam.priority = 3;
sprite->data[7]++;
}
@@ -4868,22 +4705,20 @@ static u8 GetCollisionInDirection(struct EventObject *eventObject, u8 direction)
return GetCollisionAtCoords(eventObject, x, y, direction);
}
-u8 GetCollisionAtCoords(struct EventObject *eventObject, s16 x, s16 y, u32 dirn)
+u8 GetCollisionAtCoords(struct EventObject *eventObject, s16 x, s16 y, u32 dir)
{
- u8 direction;
-
- direction = dirn;
+ u8 direction = dir;
if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y))
- return 1;
+ return COLLISION_OUTSIDE_RANGE;
else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction))
- return 2;
+ return COLLISION_IMPASSABLE;
else if (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction))
- return 2;
+ return COLLISION_IMPASSABLE;
else if (IsZCoordMismatchAt(eventObject->currentElevation, x, y))
- return 3;
+ return COLLISION_ELEVATION_MISMATCH;
else if (DoesObjectCollideWithObjectAt(eventObject, x, y))
- return 4;
- return 0;
+ return COLLISION_EVENT_OBJECT;
+ return COLLISION_NONE;
}
u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 direction)
@@ -6819,7 +6654,7 @@ bool8 MovementAction_InitAffineAnim_Step0(struct EventObject *eventObject, struc
sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
InitSpriteAffineAnim(sprite);
sprite->affineAnimPaused = TRUE;
- sprite->subspriteMode = 0;
+ sprite->subspriteMode = SUBSPRITES_OFF;
return TRUE;
}
@@ -6831,15 +6666,15 @@ bool8 MovementAction_ClearAffineAnim_Step0(struct EventObject *eventObject, stru
return TRUE;
}
-bool8 MovementAction_Unknown1_Step0(struct EventObject *eventObject, struct Sprite *sprite)
+bool8 MovementAction_HideReflection_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- eventObject->unk3_3 = TRUE;
+ eventObject->hideReflection = TRUE;
return TRUE;
}
-bool8 MovementAction_Unknown2_Step0(struct EventObject *eventObject, struct Sprite *sprite)
+bool8 MovementAction_ShowReflection_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- eventObject->unk3_3 = FALSE;
+ eventObject->hideReflection = FALSE;
return TRUE;
}
@@ -8849,12 +8684,12 @@ void sub_8097BB4(u8 var1, u8 graphicsId)
{
sprite->subspriteTables = NULL;
sprite->subspriteTableNum = 0;
- sprite->subspriteMode = 0;
+ sprite->subspriteMode = SUBSPRITES_OFF;
}
else
{
SetSubspriteTables(sprite, graphicsInfo->subspriteTables);
- sprite->subspriteMode = 2;
+ sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
}
StartSpriteAnim(sprite, 0);
}
diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c
index 816929f8b..849c676b3 100644
--- a/src/evolution_graphics.c
+++ b/src/evolution_graphics.c
@@ -50,10 +50,10 @@ static const struct SpritePalette sEvoSparkleSpritePals[] =
static const struct OamData sOamData_EvoSparkle =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -141,7 +141,7 @@ static void CreatePreEvoSparkleSet1(u8 arg0)
gSprites[spriteID].data[5] = 48;
gSprites[spriteID].data[6] = arg0;
gSprites[spriteID].data[7] = 0;
- gSprites[spriteID].oam.affineMode = 1;
+ gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteID].oam.matrixNum = 31;
gSprites[spriteID].callback = SpriteCB_PreEvoSparkleSet1;
}
@@ -169,7 +169,7 @@ static void CreatePreEvoSparkleSet2(u8 arg0)
gSprites[spriteID].data[5] = 8;
gSprites[spriteID].data[6] = arg0;
gSprites[spriteID].data[7] = 0;
- gSprites[spriteID].oam.affineMode = 1;
+ gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteID].oam.matrixNum = 25;
gSprites[spriteID].subpriority = 1;
gSprites[spriteID].callback = SpriteCB_PreEvoSparkleSet2;
@@ -198,7 +198,7 @@ static void CreatePostEvoSparkleSet1(u8 arg0, u8 arg1)
gSprites[spriteID].data[5] = 120;
gSprites[spriteID].data[6] = arg0;
gSprites[spriteID].data[7] = 0;
- gSprites[spriteID].oam.affineMode = 1;
+ gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteID].oam.matrixNum = 31;
gSprites[spriteID].subpriority = 1;
gSprites[spriteID].callback = SpriteCB_PostEvoSparkleSet1;
@@ -243,7 +243,7 @@ static void CreatePostEvoSparkleSet2(u8 arg0)
gSprites[spriteID].data[3] = 3 - (Random() % 7);
gSprites[spriteID].data[5] = 48 + (Random() & 0x3F);
gSprites[spriteID].data[7] = 0;
- gSprites[spriteID].oam.affineMode = 1;
+ gSprites[spriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteID].oam.matrixNum = 31;
gSprites[spriteID].subpriority = 20;
gSprites[spriteID].callback = SpriteCB_PostEvoSparkleSet2;
@@ -497,13 +497,13 @@ u8 sub_817C3A0(u8 preEvoSpriteID, u8 postEvoSpriteID)
SetOamMatrix(31, toDiv / gTasks[taskID].data[4], 0, 0, toDiv / gTasks[taskID].data[4]);
gSprites[preEvoSpriteID].callback = PokeEvoSprite_DummySpriteCB;
- gSprites[preEvoSpriteID].oam.affineMode = 1;
+ gSprites[preEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[preEvoSpriteID].oam.matrixNum = 30;
gSprites[preEvoSpriteID].invisible = FALSE;
CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[preEvoSpriteID].oam.paletteNum * 16)], 16);
gSprites[postEvoSpriteID].callback = PokeEvoSprite_DummySpriteCB;
- gSprites[postEvoSpriteID].oam.affineMode = 1;
+ gSprites[postEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[postEvoSpriteID].oam.matrixNum = 31;
gSprites[postEvoSpriteID].invisible = FALSE;
CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[postEvoSpriteID].oam.paletteNum * 16)], 16);
@@ -587,11 +587,11 @@ static void sub_817C560(u8 taskID)
static void PreEvoInvisible_PostEvoVisible_KillTask(u8 taskID)
{
- gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = 0;
+ gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF;
gSprites[gTasks[taskID].tPreEvoSpriteID].oam.matrixNum = 0;
gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = TRUE;
- gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = 0;
+ gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF;
gSprites[gTasks[taskID].tPostEvoSpriteID].oam.matrixNum = 0;
gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = FALSE;
@@ -600,11 +600,11 @@ static void PreEvoInvisible_PostEvoVisible_KillTask(u8 taskID)
static void PreEvoVisible_PostEvoInvisible_KillTask(u8 taskID)
{
- gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = 0;
+ gSprites[gTasks[taskID].tPreEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF;
gSprites[gTasks[taskID].tPreEvoSpriteID].oam.matrixNum = 0;
gSprites[gTasks[taskID].tPreEvoSpriteID].invisible = FALSE;
- gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = 0;
+ gSprites[gTasks[taskID].tPostEvoSpriteID].oam.affineMode = ST_OAM_AFFINE_OFF;
gSprites[gTasks[taskID].tPostEvoSpriteID].oam.matrixNum = 0;
gSprites[gTasks[taskID].tPostEvoSpriteID].invisible = TRUE;
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 96ca2ed1c..019d48416 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_message.h"
#include "bg.h"
@@ -235,7 +235,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
gBattleTerrain = BATTLE_TERRAIN_PLAIN;
- sub_80356D0();
+ InitBattleBgsVideo();
LoadBattleTextboxAndBackground();
ResetSpriteData();
ScanlineEffect_Stop();
@@ -341,7 +341,7 @@ static void CB2_EvolutionSceneLoadGraphics(void)
gBattleTerrain = BATTLE_TERRAIN_PLAIN;
- sub_80356D0();
+ InitBattleBgsVideo();
LoadBattleTextboxAndBackground();
ResetSpriteData();
FreeAllSpritePalettes();
@@ -406,7 +406,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
gMain.state++;
break;
case 2:
- sub_807F19C();
+ InitTradeBg();
gMain.state++;
break;
case 3:
@@ -438,7 +438,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
gSprites[ID].callback = SpriteCallbackDummy_2;
gSprites[ID].oam.paletteNum = 2;
gMain.state++;
- sub_807B154();
+ LinkTradeDrawWindow();
}
break;
case 6:
@@ -452,7 +452,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
break;
case 7:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
- sub_807B140();
+ InitTradeSequenceBgGpuRegs();
ShowBg(0);
ShowBg(1);
SetMainCallback2(CB2_TradeEvolutionSceneUpdate);
@@ -743,12 +743,12 @@ static void Task_EvolutionScene(u8 taskID)
GetMonData(mon, MON_DATA_NICKNAME, text);
StringCopy10(gBattleTextBuff1, text);
- if (var == 0xFFFF) // no place to learn it
+ if (var == MON_HAS_MAX_MOVES)
gTasks[taskID].tState = 22;
- else if (var == 0xFFFE) // it already knows that move
+ else if (var == MON_ALREADY_KNOWS_MOVE)
break;
else
- gTasks[taskID].tState = 20; // has less than 4 moves, so it's been learned
+ gTasks[taskID].tState = 20; // move has been learned
}
else // no move to learn
{
@@ -909,8 +909,8 @@ static void Task_EvolutionScene(u8 taskID)
case 6:
if (!gPaletteFade.active && gMain.callback2 == CB2_EvolutionSceneUpdate)
{
- var = sub_81C1B94(); // moveID
- if (var == 4)
+ var = GetMoveSlotToReplace();
+ if (var == MAX_MON_MOVES)
{
gTasks[taskID].tLearnMoveState = 10;
}
@@ -985,7 +985,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
{
case 0:
StringExpandPlaceholders(gStringVar4, gText_PkmnIsEvolving);
- sub_807F1A8(0, gStringVar4, 1);
+ DrawTextOnTradeWindow(0, gStringVar4, 1);
gTasks[taskID].tState++;
break;
case 1:
@@ -1075,7 +1075,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (IsCryFinished())
{
StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved);
- sub_807F1A8(0, gStringVar4, 1);
+ DrawTextOnTradeWindow(0, gStringVar4, 1);
PlayFanfare(MUS_FANFA5);
gTasks[taskID].tState++;
SetMonData(mon, MON_DATA_SPECIES, (&gTasks[taskID].tPostEvoSpecies));
@@ -1100,9 +1100,9 @@ static void Task_TradeEvolutionScene(u8 taskID)
GetMonData(mon, MON_DATA_NICKNAME, text);
StringCopy10(gBattleTextBuff1, text);
- if (var == 0xFFFF)
+ if (var == MON_HAS_MAX_MOVES)
gTasks[taskID].tState = 20;
- else if (var == 0xFFFE)
+ else if (var == MON_ALREADY_KNOWS_MOVE)
break;
else
gTasks[taskID].tState = 18;
@@ -1110,7 +1110,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
else
{
PlayBGM(MUS_SHINKA);
- sub_807F1A8(0, gText_CommunicationStandby5, 1);
+ DrawTextOnTradeWindow(0, gText_CommunicationStandby5, 1);
gTasks[taskID].tState++;
}
}
@@ -1144,7 +1144,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (EvoScene_IsMonAnimFinished(sEvoStructPtr->preEvoSpriteID))
{
StringExpandPlaceholders(gStringVar4, gText_EllipsisQuestionMark);
- sub_807F1A8(0, gStringVar4, 1);
+ DrawTextOnTradeWindow(0, gStringVar4, 1);
gTasks[taskID].tEvoWasStopped = 1;
gTasks[taskID].tState = 13;
}
@@ -1155,7 +1155,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
BufferMoveToLearnIntoBattleTextBuff2();
PlayFanfare(MUS_FANFA1);
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter
gTasks[taskID].tState++;
}
@@ -1172,7 +1172,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
{
BufferMoveToLearnIntoBattleTextBuff2();
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
break;
@@ -1180,7 +1180,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
break;
@@ -1188,7 +1188,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tData7 = 5;
gTasks[taskID].tData8 = 9;
gTasks[taskID].tLearnMoveState++;
@@ -1197,7 +1197,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
LoadUserWindowBorderGfx(0, 0xA8, 0xE0);
- CreateYesNoMenu(&gUnknown_0833900C, 0xA8, 0xE, 0);
+ CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, 0xA8, 0xE, 0);
sEvoCursorPos = 0;
gTasks[taskID].tLearnMoveState++;
sEvoCursorPos = 0;
@@ -1209,7 +1209,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 0:
sEvoCursorPos = 0;
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7;
if (gTasks[taskID].tLearnMoveState == 5)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
@@ -1218,7 +1218,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
case -1:
sEvoCursorPos = 1;
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData8;
break;
}
@@ -1243,8 +1243,8 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 6:
if (!gPaletteFade.active && gMain.callback2 == CB2_TradeEvolutionSceneUpdate)
{
- var = sub_81C1B94(); // moveID
- if (var == 4)
+ var = GetMoveSlotToReplace();
+ if (var == MAX_MON_MOVES)
{
gTasks[taskID].tLearnMoveState = 9;
}
@@ -1254,7 +1254,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (IsHMMove2(move))
{
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState = 11;
}
else
@@ -1264,7 +1264,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
RemoveMonPPBonus(mon, var);
SetMonMoveSlot(mon, gMoveToLearn, var);
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
}
@@ -1274,7 +1274,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
break;
@@ -1282,20 +1282,20 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tState = 18;
}
break;
case 9:
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tData7 = 10;
gTasks[taskID].tData8 = 0;
gTasks[taskID].tLearnMoveState = 3;
break;
case 10:
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]);
- sub_807F1A8(0, gDisplayedStringBattle, 1);
+ DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskID].tState = 13;
break;
case 11:
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index 8a41087f5..4af42ca2f 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -30,9 +30,11 @@
#include "wild_encounter.h"
#include "constants/bg_event_constants.h"
#include "constants/event_objects.h"
+#include "constants/field_poison.h"
#include "constants/map_types.h"
#include "constants/maps.h"
#include "constants/songs.h"
+#include "constants/trainer_hill.h"
static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0;
static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0;
@@ -223,10 +225,10 @@ static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatil
return FALSE;
// Don't play interaction sound for certain scripts.
- if (script != EventScript_PlayerPCMale
- && script != EventScript_PlayerPCFemale
- && script != EventScript_SecretBasePC
- && script != EventScript_RecordMixingSecretBasePC
+ if (script != LittlerootTown_BrendansHouse_2F_EventScript_PC
+ && script != LittlerootTown_MaysHouse_2F_EventScript_PC
+ && script != SecretBase_EventScript_PC
+ && script != SecretBase_EventScript_RecordMixingPC
&& script != SecretBase_EventScript_DollInteract
&& script != SecretBase_EventScript_CushionInteract
&& script != EventScript_PC)
@@ -355,7 +357,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position
{
gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId;
if (TrySetCurSecretBase())
- return EventScript_2759F1;
+ return SecretBase_EventScript_CheckEntrance;
}
return NULL;
}
@@ -373,14 +375,14 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me
return EventScript_PC;
if (MetatileBehavior_IsClosedSootopolisDoor(metatileBehavior) == TRUE)
return EventScript_ClosedSootopolisDoor;
- if (MetatileBehavior_IsUnknownClosedDoor(metatileBehavior) == TRUE)
- return SkyPillar_Outside_EventScript_2393F9;
+ if (MetatileBehavior_IsSkyPillarClosedDoor(metatileBehavior) == TRUE)
+ return SkyPillar_Outside_EventScript_ClosedDoor;
if (MetatileBehavior_IsCableBoxResults1(metatileBehavior) == TRUE)
return EventScript_CableBoxResults;
if (MetatileBehavior_IsPokeblockFeeder(metatileBehavior) == TRUE)
return EventScript_PokeBlockFeeder;
if (MetatileBehavior_IsTrickHousePuzzleDoor(metatileBehavior) == TRUE)
- return Route110_TrickHouseEntrance_EventScript_26A22A;
+ return Route110_TrickHousePuzzle_EventScript_Door;
if (MetatileBehavior_IsRegionMap(metatileBehavior) == TRUE)
return EventScript_RegionMap;
if (MetatileBehavior_IsRunningShoesManual(metatileBehavior) == TRUE)
@@ -412,32 +414,32 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me
if (height == MapGridGetZCoordAt(position->x, position->y))
{
if (MetatileBehavior_IsSecretBasePC(metatileBehavior) == TRUE)
- return EventScript_SecretBasePC;
+ return SecretBase_EventScript_PC;
if (MetatileBehavior_IsRecordMixingSecretBasePC(metatileBehavior) == TRUE)
- return EventScript_RecordMixingSecretBasePC;
+ return SecretBase_EventScript_RecordMixingPC;
if (MetatileBehavior_IsSecretBaseSandOrnament(metatileBehavior) == TRUE)
- return EventScript_SecretBaseSandOrnament;
+ return SecretBase_EventScript_SandOrnament;
if (MetatileBehavior_IsSecretBaseShieldOrToyTV(metatileBehavior) == TRUE)
- return EventScript_SecretBaseShieldOrToyTV;
+ return SecretBase_EventScript_ShieldOrToyTV;
if (MetatileBehavior_IsMB_C6(metatileBehavior) == TRUE)
{
- SetSecretBaseSecretsTvFlags_MiscFurnature();
+ CheckInteractedWithFriendsFurnitureBottom();
return NULL;
}
if (MetatileBehavior_HoldsLargeDecoration(metatileBehavior) == TRUE)
{
- SetSecretBaseSecretsTvFlags_LargeDecorationSpot();
+ CheckInteractedWithFriendsFurnitureMiddle();
return NULL;
}
if (MetatileBehavior_HoldsSmallDecoration(metatileBehavior) == TRUE)
{
- SetSecretBaseSecretsTvFlags_SmallDecorationSpot();
+ CheckInteractedWithFriendsFurnitureTop();
return NULL;
}
}
else if (MetatileBehavior_IsSecretBasePoster(metatileBehavior) == TRUE)
{
- SetSecretBaseSecretsTvFlags_Poster();
+ CheckInteractedWithFriendsPosterDecor();
return NULL;
}
@@ -515,7 +517,7 @@ static bool8 TryStartMiscWalkingScripts(u16 metatileBehavior)
}
else if (MetatileBehavior_IsBattlePyramidWarp(metatileBehavior))
{
- ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8);
+ ScriptContext1_SetupScript(BattlePyramid_WarpToNextFloor);
return TRUE;
}
else if (MetatileBehavior_IsSecretBaseGlitterMat(metatileBehavior) == TRUE)
@@ -547,7 +549,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior)
{
if (UpdatePoisonStepCounter() == TRUE)
{
- ScriptContext1_SetupScript(EventScript_Poison);
+ ScriptContext1_SetupScript(EventScript_FieldPoison);
return TRUE;
}
if (ShouldEggHatch())
@@ -556,39 +558,39 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior)
ScriptContext1_SetupScript(EventScript_EggHatch);
return TRUE;
}
- if (UnusualWeatherHasExpired() == TRUE)
+ if (AbnormalWeatherHasExpired() == TRUE)
{
- ScriptContext1_SetupScript(UnusualWeather_EventScript_EndEventAndCleanup_1);
+ ScriptContext1_SetupScript(AbnormalWeather_EventScript_EndEventAndCleanup_1);
return TRUE;
}
if (ShouldDoBrailleRegicePuzzle() == TRUE)
{
- ScriptContext1_SetupScript(IslandCave_EventScript_238EAF);
+ ScriptContext1_SetupScript(IslandCave_EventScript_OpenRegiEntrance);
return TRUE;
}
if (ShouldDoWallyCall() == TRUE)
{
- ScriptContext1_SetupScript(MauvilleCity_EventScript_1DF7BA);
+ ScriptContext1_SetupScript(MauvilleCity_EventScript_RegisterWallyCall);
return TRUE;
}
- if (ShouldDoWinonaCall() == TRUE)
+ if (ShouldDoScottFortreeCall() == TRUE)
{
- ScriptContext1_SetupScript(Route119_EventScript_1F49EC);
+ ScriptContext1_SetupScript(Route119_EventScript_ScottWonAtFortreeGymCall);
return TRUE;
}
- if (ShouldDoScottCall() == TRUE)
+ if (ShouldDoScottBattleFrontierCall() == TRUE)
{
- ScriptContext1_SetupScript(LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6);
+ ScriptContext1_SetupScript(LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall);
return TRUE;
}
if (ShouldDoRoxanneCall() == TRUE)
{
- ScriptContext1_SetupScript(RustboroCity_Gym_EventScript_21307B);
+ ScriptContext1_SetupScript(RustboroCity_Gym_EventScript_RegisterRoxanne);
return TRUE;
}
if (ShouldDoRivalRayquazaCall() == TRUE)
{
- ScriptContext1_SetupScript(MossdeepCity_SpaceCenter_2F_EventScript_224175);
+ ScriptContext1_SetupScript(MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall);
return TRUE;
}
}
@@ -597,7 +599,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior)
return TRUE;
if (CountSSTidalStep(1) == TRUE)
{
- ScriptContext1_SetupScript(SSTidalCorridor_EventScript_23C050);
+ ScriptContext1_SetupScript(SSTidalCorridor_EventScript_ReachedStepCount);
return TRUE;
}
if (TryStartMatchCall())
@@ -646,11 +648,11 @@ static bool8 UpdatePoisonStepCounter(void)
{
switch (DoPoisonFieldEffect())
{
- case 0:
+ case FLDPSN_NONE:
return FALSE;
- case 1:
+ case FLDPSN_PSN:
return FALSE;
- case 2:
+ case FLDPSN_FNT:
return TRUE;
}
}
@@ -708,22 +710,22 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
SetupWarp(&gMapHeader, warpEventId, position);
if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE)
{
- sub_80AF80C(metatileBehavior);
+ DoEscalatorWarp(metatileBehavior);
return TRUE;
}
if (MetatileBehavior_IsLavaridgeB1FWarp(metatileBehavior) == TRUE)
{
- sub_80AF828();
+ DoLavaridgeGymB1FWarp();
return TRUE;
}
if (MetatileBehavior_IsLavaridge1FWarp(metatileBehavior) == TRUE)
{
- sub_80AF838();
+ DoLavaridgeGym1FWarp();
return TRUE;
}
if (MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) == TRUE)
{
- sub_80AF848();
+ DoTeleportWarp();
return TRUE;
}
if (MetatileBehavior_IsWarpOrBridge(metatileBehavior) == TRUE)
@@ -733,12 +735,12 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
}
if (MetatileBehavior_IsMtPyreHole(metatileBehavior) == TRUE)
{
- ScriptContext1_SetupScript(gUnknown_082A8350);
+ ScriptContext1_SetupScript(EventScript_FallDownHoleMtPyre);
return TRUE;
}
if (MetatileBehavior_IsMossdeepGymWarp(metatileBehavior) == TRUE)
{
- sub_80AF87C();
+ DoMossdeepGymWarp();
return TRUE;
}
DoWarp();
@@ -792,20 +794,16 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi
if (trainerHillMapId)
{
- if (trainerHillMapId == sub_81D6490())
+ if (trainerHillMapId == GetNumFloorsInTrainerHillChallenge())
{
if (warpEventId == 0)
- {
warpEvent = &gMapHeader.events->warps[0];
- }
else
- {
- warpEvent = sub_81D6120();
- }
+ warpEvent = SetWarpDestinationTrainerHill4F();
}
- else if (trainerHillMapId == 5)
+ else if (trainerHillMapId == TRAINER_HILL_ROOF)
{
- warpEvent = sub_81D6134(warpEventId);
+ warpEvent = SetWarpDestinationTrainerHillFinalFloor(warpEventId);
}
else
{
diff --git a/src/field_door.c b/src/field_door.c
index c197aca14..8fb5cb948 100644
--- a/src/field_door.c
+++ b/src/field_door.c
@@ -9,7 +9,7 @@
#include "constants/maps.h"
#include "constants/songs.h"
-bool8 sub_808A964(void);
+static bool8 ShouldUseMultiCorridorDoor(void);
const u8 DoorAnimTiles_04[][0x100] =
{
@@ -698,14 +698,14 @@ static void DrawDoor(const struct DoorGraphics *gfx, const struct DoorAnimFrame
if (frame->offset == 0xFFFF)
{
DrawClosedDoorTiles(gfx, x, y);
- if (sub_808A964())
+ if (ShouldUseMultiCorridorDoor())
DrawClosedDoorTiles(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7);
}
else
{
CopyDoorTilesToVram(gfx, frame);
DrawCurrentDoorAnimFrame(gfx, x, y, gfx->palette);
- if (sub_808A964())
+ if (ShouldUseMultiCorridorDoor())
DrawCurrentDoorAnimFrame(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7, gfx->palette);
}
}
@@ -885,11 +885,13 @@ u32 GetDoorSoundEffect(u32 x, u32 y)
return SE_DOOR;
}
-bool8 sub_808A964(void)
+// Opens the Battle Tower multi partner's door in sync with the player's door
+static bool8 ShouldUseMultiCorridorDoor(void)
{
- if (FlagGet(FLAG_SPECIAL_FLAG_0x4002))
+ if (FlagGet(FLAG_ENABLE_MULTI_CORRIDOR_DOOR))
{
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2))
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR))
{
return TRUE;
}
diff --git a/src/field_effect.c b/src/field_effect.c
index 7569bdc75..6bbd1df3c 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -28,6 +28,7 @@
#include "util.h"
#include "constants/field_effects.h"
#include "constants/event_object_movement_constants.h"
+#include "constants/metatile_behaviors.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -63,27 +64,27 @@ static void PokeballGlowEffect_7(struct Sprite *);
static u8 PokecenterHealEffectHelper(s16, s16);
static void HallOfFameRecordEffectHelper(s16, s16, s16, u8);
-static void mapldr_080842E8(void);
+static void FieldCallback_Fly(void);
static void task00_8084310(u8);
static void mapldr_08084390(void);
static void c3_080843F8(u8);
-static void sub_80B6B94(u8);
-static bool8 sub_80B6BCC(struct Task *);
-static bool8 sub_80B6C74(struct Task *);
-static bool8 sub_80B6C90(struct Task *);
-static bool8 sub_80B6D04(struct Task *);
-static bool8 sub_80B6DBC(struct Task *);
-static bool8 sub_80B6DD8(struct Task *);
-static bool8 sub_80B6E18(struct Task *);
-
-static void sub_80B6E88(u8);
-static bool8 sub_80B6EC0(struct Task *);
-static bool8 sub_80B6EE0(struct Task *);
-static bool8 sub_80B6F50(struct Task *);
-static bool8 sub_80B6F74(struct Task *);
-static bool8 sub_80B6F84(struct Task *);
-static bool8 sub_80B6FA8(struct Task *);
+static void Task_FallWarpFieldEffect(u8);
+static bool8 FallWarpEffect_1(struct Task *);
+static bool8 FallWarpEffect_2(struct Task *);
+static bool8 FallWarpEffect_3(struct Task *);
+static bool8 FallWarpEffect_4(struct Task *);
+static bool8 FallWarpEffect_5(struct Task *);
+static bool8 FallWarpEffect_6(struct Task *);
+static bool8 FallWarpEffect_7(struct Task *);
+
+static void Task_EscalatorWarpFieldEffect(u8);
+static bool8 EscalatorWarpEffect_1(struct Task *);
+static bool8 EscalatorWarpEffect_2(struct Task *);
+static bool8 EscalatorWarpEffect_3(struct Task *);
+static bool8 EscalatorWarpEffect_4(struct Task *);
+static bool8 EscalatorWarpEffect_5(struct Task *);
+static bool8 EscalatorWarpEffect_6(struct Task *);
static void sub_80B6FB8(struct Task *);
static void sub_80B7004(struct Task *);
@@ -112,29 +113,27 @@ static bool8 dive_1_lock(struct Task *);
static bool8 dive_2_unknown(struct Task *);
static bool8 dive_3_unknown(struct Task *);
-static void sub_80B75F0(u8);
-static bool8 sub_80B764C(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7684(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B76B8(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7704(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B77F8(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7814(struct Task *, struct EventObject *, struct Sprite *);
-
-static void mapldr_080851BC(void);
-static void sub_80B7890(u8);
-
-static bool8 sub_80B78EC(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B791C(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7968(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B79BC(struct Task *, struct EventObject *, struct Sprite *);
-
-static void sub_80B7A8C(u8);
-
-static bool8 sub_80B7AE8(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7B18(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7B94(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7BCC(struct Task *, struct EventObject *, struct Sprite *);
-static bool8 sub_80B7BF4(struct Task *, struct EventObject *, struct Sprite *);
+static void Task_LavaridgeGymB1FWarp(u8);
+static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *, struct EventObject *, struct Sprite *);
+
+static void FieldCB_LavaridgeGymB1FWarpExit(void);
+static void Task_LavaridgeGymB1FWarpExit(u8);
+static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *, struct EventObject *, struct Sprite *);
+
+static void Task_LavaridgeGym1FWarp(u8);
+static bool8 LavaridgeGym1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *);
static void DoEscapeRopeFieldEffect(u8);
static void EscapeRopeFieldEffect_Step0(struct Task *);
@@ -406,20 +405,76 @@ const struct SpriteFrameImage gSpriteImageTable_855C294[] =
const struct Subsprite gSubspriteTable_855C29C[] =
{
- {.x = -12, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 0},
- {.x = 4, .y = -8, .priority = 2, .tileOffset = 2, .shape = 0, .size = 0},
- {.x = -12, .y = 0, .priority = 2, .tileOffset = 3, .shape = 1, .size = 0},
- {.x = 4, .y = 0, .priority = 2, .tileOffset = 5, .shape = 0, .size = 0}
+ {
+ .x = -12,
+ .y = -8,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = 4,
+ .y = -8,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 2,
+ .priority = 2
+ },
+ {
+ .x = -12,
+ .y = 0,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 3,
+ .priority = 2
+ },
+ {
+ .x = 4,
+ .y = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 5,
+ .priority = 2
+ }
};
const struct SubspriteTable gUnknown_0855C2AC = subsprite_table(gSubspriteTable_855C29C);
const struct Subsprite gSubspriteTable_855C2B4[] =
{
- {.x = -32, .y = -8, .priority = 2, .tileOffset = 0, .shape = 1, .size = 1},
- {.x = 0, .y = -8, .priority = 2, .tileOffset = 4, .shape = 1, .size = 1},
- {.x = -32, .y = 0, .priority = 2, .tileOffset = 8, .shape = 1, .size = 1},
- {.x = 0, .y = 0, .priority = 2, .tileOffset = 12, .shape = 1, .size = 1}
+ {
+ .x = -32,
+ .y = -8,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 2
+ },
+ {
+ .x = 0,
+ .y = -8,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 4,
+ .priority = 2
+ },
+ {
+ .x = -32,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 8,
+ .priority = 2
+ },
+ {
+ .x = 0,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 12,
+ .priority = 2
+ }
};
const struct SubspriteTable gUnknown_0855C2C4 = subsprite_table(gSubspriteTable_855C2B4);
@@ -540,25 +595,25 @@ const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0};
-bool8 (*const gUnknown_0855C3C8[])(struct Task *) =
+bool8 (*const sFallWarpFieldEffectFuncs[])(struct Task *) =
{
- sub_80B6BCC,
- sub_80B6C74,
- sub_80B6C90,
- sub_80B6D04,
- sub_80B6DBC,
- sub_80B6DD8,
- sub_80B6E18,
+ FallWarpEffect_1,
+ FallWarpEffect_2,
+ FallWarpEffect_3,
+ FallWarpEffect_4,
+ FallWarpEffect_5,
+ FallWarpEffect_6,
+ FallWarpEffect_7,
};
-bool8 (*const gUnknown_0855C3E4[])(struct Task *) =
+bool8 (*const sEscalatorWarpFieldEffectFuncs[])(struct Task *) =
{
- sub_80B6EC0,
- sub_80B6EE0,
- sub_80B6F50,
- sub_80B6F74,
- sub_80B6F84,
- sub_80B6FA8,
+ EscalatorWarpEffect_1,
+ EscalatorWarpEffect_2,
+ EscalatorWarpEffect_3,
+ EscalatorWarpEffect_4,
+ EscalatorWarpEffect_5,
+ EscalatorWarpEffect_6,
};
bool8 (*const gUnknown_0855C3FC[])(struct Task *) =
@@ -588,31 +643,31 @@ bool8 (*const gUnknown_0855C42C[])(struct Task *) =
dive_3_unknown,
};
-bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) =
+bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) =
{
- sub_80B764C,
- sub_80B7684,
- sub_80B76B8,
- sub_80B7704,
- sub_80B77F8,
- sub_80B7814,
+ LavaridgeGymB1FWarpEffect_1,
+ LavaridgeGymB1FWarpEffect_2,
+ LavaridgeGymB1FWarpEffect_3,
+ LavaridgeGymB1FWarpEffect_4,
+ LavaridgeGymB1FWarpEffect_5,
+ LavaridgeGymB1FWarpEffect_6,
};
-bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) =
+bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) =
{
- sub_80B78EC,
- sub_80B791C,
- sub_80B7968,
- sub_80B79BC,
+ LavaridgeGymB1FWarpExitEffect_1,
+ LavaridgeGymB1FWarpExitEffect_2,
+ LavaridgeGymB1FWarpExitEffect_3,
+ LavaridgeGymB1FWarpExitEffect_4,
};
-bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) =
+bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) =
{
- sub_80B7AE8,
- sub_80B7B18,
- sub_80B7B94,
- sub_80B7BCC,
- sub_80B7BF4,
+ LavaridgeGym1FWarpEffect_1,
+ LavaridgeGym1FWarpEffect_2,
+ LavaridgeGym1FWarpEffect_3,
+ LavaridgeGym1FWarpEffect_4,
+ LavaridgeGym1FWarpEffect_5,
};
void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) =
@@ -870,7 +925,7 @@ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subprio
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId)
{
ResetPreservedPalettesInWeather();
- if (sprite->oam.affineMode != 0)
+ if (sprite->oam.affineMode != ST_OAM_AFFINE_OFF)
{
FreeOamMatrix(sprite->oam.matrixNum);
}
@@ -1364,15 +1419,15 @@ void SpriteCB_HallOfFameMonitor(struct Sprite *sprite)
}
-void sub_80B69DC(void)
+void ReturnToFieldFromFlyMapSelect(void)
{
SetMainCallback2(CB2_ReturnToField);
- gFieldCallback = mapldr_080842E8;
+ gFieldCallback = FieldCallback_Fly;
}
-static void mapldr_080842E8(void)
+static void FieldCallback_Fly(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task00_8084310, 0);
ScriptContext2_Enable();
FreezeEventObjects();
@@ -1410,7 +1465,7 @@ static void task00_8084310(u8 taskId)
static void mapldr_08084390(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(c3_080843F8, 0);
gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE;
if (gPlayerAvatar.flags & 0x08)
@@ -1443,24 +1498,24 @@ static void c3_080843F8(u8 taskId)
}
}
-void sub_80B6B68(void)
+void FieldCB_FallWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeEventObjects();
- CreateTask(sub_80B6B94, 0);
+ CreateTask(Task_FallWarpFieldEffect, 0);
gFieldCallback = NULL;
}
-static void sub_80B6B94(u8 taskId)
+static void Task_FallWarpFieldEffect(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
- while (gUnknown_0855C3C8[task->data[0]](task)); // return code signifies whether to continue blocking here
+ while (sFallWarpFieldEffectFuncs[task->data[0]](task)); // return code signifies whether to continue blocking here
}
-static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
+static bool8 FallWarpEffect_1(struct Task *task)
{
struct EventObject *playerObject;
struct Sprite *playerSprite;
@@ -1473,12 +1528,12 @@ static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
task->data[4] = playerSprite->subspriteMode;
playerObject->fixedPriority = 1;
playerSprite->oam.priority = 1;
- playerSprite->subspriteMode = 2;
+ playerSprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
task->data[0]++;
return TRUE;
}
-static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
+static bool8 FallWarpEffect_2(struct Task *task)
{
if (IsWeatherNotFadingIn())
{
@@ -1487,7 +1542,7 @@ static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
return FALSE;
}
-static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
+static bool8 FallWarpEffect_3(struct Task *task)
{
struct Sprite *sprite;
s16 centerToCornerVecY;
@@ -1502,7 +1557,7 @@ static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
return FALSE;
}
-static bool8 sub_80B6D04(struct Task *task)
+static bool8 FallWarpEffect_4(struct Task *task)
{
struct EventObject *eventObject;
struct Sprite *sprite;
@@ -1536,7 +1591,7 @@ static bool8 sub_80B6D04(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6DBC(struct Task *task)
+static bool8 FallWarpEffect_5(struct Task *task)
{
task->data[0]++;
task->data[1] = 4;
@@ -1545,7 +1600,7 @@ static bool8 sub_80B6DBC(struct Task *task)
return TRUE;
}
-static bool8 sub_80B6DD8(struct Task *task)
+static bool8 FallWarpEffect_6(struct Task *task)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -1561,36 +1616,36 @@ static bool8 sub_80B6DD8(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6E18(struct Task *task)
+static bool8 FallWarpEffect_7(struct Task *task)
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
CameraObjectReset1();
UnfreezeEventObjects();
InstallCameraPanAheadCallback();
- DestroyTask(FindTaskIdByFunc(sub_80B6B94));
+ DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect));
return FALSE;
}
-void sub_80B6E4C(u8 a0, u8 priority)
+void StartEscalatorWarp(u8 metatileBehavior, u8 priority)
{
u8 taskId;
- taskId = CreateTask(sub_80B6E88, priority);
+ taskId = CreateTask(Task_EscalatorWarpFieldEffect, priority);
gTasks[taskId].data[1] = 0;
- if (a0 == 0x6a)
+ if (metatileBehavior == MB_UP_ESCALATOR)
{
gTasks[taskId].data[1] = 1;
}
}
-static void sub_80B6E88(u8 taskId)
+static void Task_EscalatorWarpFieldEffect(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
- while (gUnknown_0855C3E4[task->data[0]](task));
+ while (sEscalatorWarpFieldEffectFuncs[task->data[0]](task));
}
-static bool8 sub_80B6EC0(struct Task *task)
+static bool8 EscalatorWarpEffect_1(struct Task *task)
{
FreezeEventObjects();
CameraObjectReset2();
@@ -1599,7 +1654,7 @@ static bool8 sub_80B6EC0(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6EE0(struct Task *task)
+static bool8 EscalatorWarpEffect_2(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -1618,7 +1673,7 @@ static bool8 sub_80B6EE0(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6F50(struct Task *task)
+static bool8 EscalatorWarpEffect_3(struct Task *task)
{
sub_80B6FB8(task);
if (task->data[2] > 3)
@@ -1629,14 +1684,14 @@ static bool8 sub_80B6F50(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6F74(struct Task *task)
+static bool8 EscalatorWarpEffect_4(struct Task *task)
{
sub_80B6FB8(task);
sub_80B7060();
return FALSE;
}
-static bool8 sub_80B6F84(struct Task *task)
+static bool8 EscalatorWarpEffect_5(struct Task *task)
{
sub_80B7004(task);
if (task->data[2] > 3)
@@ -1647,7 +1702,7 @@ static bool8 sub_80B6F84(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6FA8(struct Task *task)
+static bool8 EscalatorWarpEffect_6(struct Task *task)
{
sub_80B7004(task);
sub_80B7060();
@@ -1683,7 +1738,7 @@ static void sub_80B7004(struct Task *task)
static void sub_80B7050(void)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
static void sub_80B7060(void)
@@ -1694,14 +1749,14 @@ static void sub_80B7060(void)
WarpIntoMap();
gFieldCallback = sub_80B70B4;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B6E88));
+ DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpFieldEffect));
}
}
static void sub_80B70B4(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
CreateTask(sub_80B70DC, 0);
gFieldCallback = NULL;
@@ -1938,17 +1993,17 @@ static bool8 dive_3_unknown(struct Task *task)
return FALSE;
}
-void sub_80B75D8(u8 priority)
+void StartLavaridgeGymB1FWarp(u8 priority)
{
- CreateTask(sub_80B75F0, priority);
+ CreateTask(Task_LavaridgeGymB1FWarp, priority);
}
-static void sub_80B75F0(u8 taskId)
+static void Task_LavaridgeGymB1FWarp(u8 taskId)
{
- while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
+ while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
FreezeEventObjects();
CameraObjectReset2();
@@ -1960,7 +2015,7 @@ static bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, str
return TRUE;
}
-static bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -1973,7 +2028,7 @@ static bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
sprite->pos2.y = 0;
task->data[3] = 1;
@@ -1987,7 +2042,7 @@ static bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, str
return TRUE;
}
-static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
s16 centerToCornerVecY;
SetCameraPanning(0, task->data[1]);
@@ -2021,7 +2076,7 @@ static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, str
task->data[5]++;
eventObject->fixedPriority = 1;
sprite->oam.priority = 1;
- sprite->subspriteMode = 2;
+ sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
}
if (task->data[1] == 0 && task->data[4] != 0)
{
@@ -2030,41 +2085,41 @@ static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
return FALSE;
}
-static bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
WarpIntoMap();
- gFieldCallback = mapldr_080851BC;
+ gFieldCallback = FieldCB_LavaridgeGymB1FWarpExit;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B75F0));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarp));
}
return FALSE;
}
-static void mapldr_080851BC(void)
+static void FieldCB_LavaridgeGymB1FWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
gFieldCallback = NULL;
- CreateTask(sub_80B7890, 0);
+ CreateTask(Task_LavaridgeGymB1FWarpExit, 0);
}
-static void sub_80B7890(u8 taskId)
+static void Task_LavaridgeGymB1FWarpExit(u8 taskId)
{
- while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
+ while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
CameraObjectReset2();
FreezeEventObjects();
@@ -2074,7 +2129,7 @@ static bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (IsWeatherNotFadingIn())
{
@@ -2088,7 +2143,7 @@ static bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
sprite = &gSprites[task->data[1]];
if (sprite->animCmdIndex > 1)
@@ -2102,18 +2157,19 @@ static bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
UnfreezeEventObjects();
- DestroyTask(FindTaskIdByFunc(sub_80B7890));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit));
}
return FALSE;
}
+// For the ash puff effect when warping off the B1F ash tiles
u8 FldEff_LavaridgeGymWarp(void)
{
u8 spriteId;
@@ -2124,7 +2180,7 @@ u8 FldEff_LavaridgeGymWarp(void)
return spriteId;
}
-void sub_80B7A58(struct Sprite *sprite)
+void SpriteCB_LavaridgeGymWarp(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -2132,17 +2188,17 @@ void sub_80B7A58(struct Sprite *sprite)
}
}
-void sub_80B7A74(u8 priority)
+void StartLavaridgeGym1FWarp(u8 priority)
{
- CreateTask(sub_80B7A8C, priority);
+ CreateTask(Task_LavaridgeGym1FWarp, priority);
}
-static void sub_80B7A8C(u8 taskId)
+static void Task_LavaridgeGym1FWarp(u8 taskId)
{
- while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
+ while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
FreezeEventObjects();
CameraObjectReset2();
@@ -2152,7 +2208,7 @@ static bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
@@ -2174,7 +2230,7 @@ static bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (gSprites[task->data[1]].animCmdIndex == 2)
{
@@ -2184,25 +2240,25 @@ static bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, str
return FALSE;
}
-static bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
return FALSE;
}
-static bool8 sub_80B7BF4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
WarpIntoMap();
- gFieldCallback = sub_80B6B68;
+ gFieldCallback = FieldCB_FallWarpExit;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B7A8C));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGym1FWarp));
}
return FALSE;
}
@@ -2217,7 +2273,7 @@ u8 FldEff_PopOutOfAsh(void)
return spriteId;
}
-void sub_80B7CAC(struct Sprite *sprite)
+void SpriteCB_PopOutOfAsh(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -2251,7 +2307,7 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task)
if (task->data[14] != 0 && (--task->data[14]) == 0)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
@@ -2284,7 +2340,7 @@ void (*const gUnknown_0855C484[])(struct Task *) = {
static void mapldr_080859D4(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeEventObjects();
gFieldCallback = NULL;
@@ -2396,15 +2452,15 @@ static void TeleportFieldEffectTask3(struct Task *task)
{
task->data[3] <<= 1;
}
- if (task->data[4] > 8 && (sprite->oam.priority = 1, sprite->subspriteMode != 0))
+ if (task->data[4] > 8 && (sprite->oam.priority = 1, sprite->subspriteMode != SUBSPRITES_OFF))
{
- sprite->subspriteMode = 2;
+ sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
}
if (task->data[4] >= 0xa8)
{
task->data[0]++;
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
}
@@ -2432,7 +2488,7 @@ static void TeleportFieldEffectTask4(struct Task *task)
static void mapldr_08085D88(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeEventObjects();
gFieldCallback = NULL;
@@ -2487,9 +2543,9 @@ static void sub_80B830C(struct Task *task)
} else
{
sprite->oam.priority = 1;
- if (sprite->subspriteMode != 0)
+ if (sprite->subspriteMode != SUBSPRITES_OFF)
{
- sprite->subspriteMode = 2;
+ sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
}
}
if (sprite->pos2.y >= -0x30 && task->data[1] > 1 && !(sprite->pos2.y & 1))
@@ -3212,7 +3268,7 @@ static void sub_80B9474(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
}
@@ -3284,7 +3340,7 @@ static void sub_80B957C(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
- sprite->oam.affineMode = 3;
+ sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
sprite->affineAnims = gSpriteAffineAnimTable_0855C548;
InitSpriteAffineAnim(sprite);
StartSpriteAffineAnim(sprite, 0);
@@ -3304,9 +3360,9 @@ static void sub_80B957C(struct Sprite *sprite)
if (sprite->data[1] > 0x81)
{
sprite->data[7]++;
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
FreeOamMatrix(sprite->oam.matrixNum);
- CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, 0);
+ CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, ST_OAM_AFFINE_OFF);
}
}
}
@@ -3337,7 +3393,7 @@ void sub_80B96B0(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
- sprite->oam.affineMode = 3;
+ sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
sprite->affineAnims = gSpriteAffineAnimTable_0855C548;
InitSpriteAffineAnim(sprite);
StartSpriteAffineAnim(sprite, 1);
@@ -3368,7 +3424,7 @@ void sub_80B96B0(struct Sprite *sprite)
if (sprite->data[3] >= 60)
{
sprite->data[7]++;
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
FreeOamMatrix(sprite->oam.matrixNum);
sprite->invisible = TRUE;
}
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index fb883b105..547a2851b 100755
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -129,7 +129,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[mainSprite->oam.paletteNum];
reflectionSprite->oam.shape = mainSprite->oam.shape;
reflectionSprite->oam.size = mainSprite->oam.size;
- reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | 0x10;
+ reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | ST_OAM_VFLIP;
reflectionSprite->oam.tileNum = mainSprite->oam.tileNum;
reflectionSprite->subspriteTables = mainSprite->subspriteTables;
reflectionSprite->subspriteTableNum = mainSprite->subspriteTableNum;
@@ -143,7 +143,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
reflectionSprite->pos2.y = -mainSprite->pos2.y;
reflectionSprite->coordOffsetEnabled = mainSprite->coordOffsetEnabled;
- if (eventObject->unk3_3 == TRUE)
+ if (eventObject->hideReflection == TRUE)
reflectionSprite->invisible = TRUE;
// Check if the reflection is not still.
@@ -153,7 +153,7 @@ static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
// matrix based on whether or not the main sprite is horizontally flipped.
// If the sprite is facing to the east, then it is flipped, and its matrixNum is 8.
reflectionSprite->oam.matrixNum = 0;
- if (mainSprite->oam.matrixNum & 0x8)
+ if (mainSprite->oam.matrixNum & ST_OAM_HFLIP)
reflectionSprite->oam.matrixNum = 1;
}
}
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 6d62cdc4a..3b89c185d 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -71,10 +71,10 @@ static void PlayerNotOnBikeMoving(u8, u16);
static u8 CheckForPlayerAvatarCollision(u8);
static u8 sub_808B028(u8);
static u8 sub_808B164(struct EventObject *, s16, s16, u8, u8);
-static bool8 sub_808B1BC(s16, s16, u8);
+static bool8 CanStopSurfing(s16, s16, u8);
static bool8 ShouldJumpLedge(s16, s16, u8);
-static u8 sub_808B238(s16, s16, u8);
-static void check_acro_bike_metatile(s16, s16, u8, u8 *);
+static bool8 TryPushBoulder(s16, s16, u8);
+static void CheckAcroBikeCollision(s16, s16, u8, u8 *);
static void DoPlayerAvatarTransition(void);
static void PlayerAvatarTransition_Dummy(struct EventObject *a);
@@ -115,9 +115,9 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct Event
static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject);
static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject);
-static void sub_808C750(u8);
-static void taskFF_0805D1D4(u8 taskId);
-static void sub_808C814(u8 taskId);
+static void CreateStopSurfingTask(u8);
+static void Task_StopSurfingInit(u8 taskId);
+static void Task_WaitStopSurfing(u8 taskId);
static void Task_Fishing(u8 taskId);
static u8 Fishing1(struct Task *task);
@@ -194,7 +194,7 @@ static void (*const gUnknown_08497490[])(u8, u16) =
PlayerNotOnBikeMoving,
};
-static bool8 (*const gUnknown_0849749C[])(u8) =
+static bool8 (*const sAcroBikeTrickMetatiles[])(u8) =
{
MetatileBehavior_IsBumpySlope,
MetatileBehavior_IsIsolatedVerticalRail,
@@ -203,7 +203,13 @@ static bool8 (*const gUnknown_0849749C[])(u8) =
MetatileBehavior_IsHorizontalRail,
};
-static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0};
+static const u8 sAcroBikeTrickCollisionTypes[] = {
+ COLLISION_WHEELIE_HOP,
+ COLLISION_ISOLATED_VERTICAL_RAIL,
+ COLLISION_ISOLATED_HORIZONTAL_RAIL,
+ COLLISION_VERTICAL_RAIL,
+ COLLISION_HORIZONTAL_RAIL,
+};
static void (*const gUnknown_084974B8[])(struct EventObject *) =
{
@@ -432,19 +438,19 @@ static bool8 ForcedMovement_None(void)
static u8 DoForcedMovement(u8 direction, void (*b)(u8))
{
struct PlayerAvatar *playerAvatar = &gPlayerAvatar;
- u8 collisionType = CheckForPlayerAvatarCollision(direction);
+ u8 collision = CheckForPlayerAvatarCollision(direction);
playerAvatar->flags |= PLAYER_AVATAR_FLAG_6;
- if (collisionType != 0)
+ if (collision)
{
ForcedMovement_None();
- if (collisionType <= 4)
+ if (collision < COLLISION_STOP_SURFING)
{
return 0;
}
else
{
- if (collisionType == COLLISION_LEDGE_JUMP)
+ if (collision == COLLISION_LEDGE_JUMP)
PlayerJumpLedge(direction);
playerAvatar->flags |= PLAYER_AVATAR_FLAG_6;
playerAvatar->runningState = MOVING;
@@ -605,33 +611,26 @@ static void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys)
static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys)
{
- u8 r0 = CheckForPlayerAvatarCollision(direction);
+ u8 collision = CheckForPlayerAvatarCollision(direction);
- if (r0 != 0)
+ if (collision)
{
- if (r0 == 6)
+ if (collision == COLLISION_LEDGE_JUMP)
{
PlayerJumpLedge(direction);
return;
}
- else if (r0 == 4 && IsPlayerCollidingWithFarawayIslandMew(direction) != 0)
+ else if (collision == COLLISION_EVENT_OBJECT && IsPlayerCollidingWithFarawayIslandMew(direction))
{
PlayerNotOnBikeCollideWithFarawayIslandMew(direction);
return;
}
else
{
- u8 r4 = r0 - 5;
-
- if (r4 > 3)
- {
+ u8 adjustedCollision = collision - COLLISION_STOP_SURFING;
+ if (adjustedCollision > 3)
PlayerNotOnBikeCollide(direction);
- return;
- }
- else
- {
- return;
- }
+ return;
}
}
@@ -677,50 +676,49 @@ static u8 sub_808B028(u8 direction)
return sub_808B164(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y));
}
-u8 CheckForEventObjectCollision(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e)
+u8 CheckForEventObjectCollision(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatileBehavior)
{
- u8 collision;
+ u8 collision = GetCollisionAtCoords(eventObject, x, y, direction);
+ if (collision == COLLISION_ELEVATION_MISMATCH && CanStopSurfing(x, y, direction))
+ return COLLISION_STOP_SURFING;
- collision = GetCollisionAtCoords(a, x, y, direction);
- if (collision == 3 && sub_808B1BC(x, y, direction))
- return 5;
if (ShouldJumpLedge(x, y, direction))
{
IncrementGameStat(GAME_STAT_JUMPED_DOWN_LEDGES);
return COLLISION_LEDGE_JUMP;
}
- if (collision == 4 && sub_808B238(x, y, direction))
- return 7;
+ if (collision == COLLISION_EVENT_OBJECT && TryPushBoulder(x, y, direction))
+ return COLLISION_PUSHED_BOULDER;
- if (collision == 0)
+ if (collision == COLLISION_NONE)
{
if (CheckForRotatingGatePuzzleCollision(direction, x, y))
- return 8;
- check_acro_bike_metatile(x, y, e, &collision);
+ return COLLISION_ROTATING_GATE;
+ CheckAcroBikeCollision(x, y, metatileBehavior, &collision);
}
return collision;
}
-static u8 sub_808B164(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e)
+static u8 sub_808B164(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatileBehavior)
{
- u8 collision = GetCollisionAtCoords(a, x, y, direction);
+ u8 collision = GetCollisionAtCoords(eventObject, x, y, direction);
- if (collision == 0)
+ if (collision == COLLISION_NONE)
{
- if (CheckForRotatingGatePuzzleCollisionWithoutAnimation(direction, x, y) != 0)
- return 8;
- check_acro_bike_metatile(x, y, e, &collision);
+ if (CheckForRotatingGatePuzzleCollisionWithoutAnimation(direction, x, y))
+ return COLLISION_ROTATING_GATE;
+ CheckAcroBikeCollision(x, y, metatileBehavior, &collision);
}
return collision;
}
-static bool8 sub_808B1BC(s16 x, s16 y, u8 direction)
+static bool8 CanStopSurfing(s16 x, s16 y, u8 direction)
{
if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
&& MapGridGetZCoordAt(x, y) == 3
&& GetEventObjectIdByXYZ(x, y, 3) == EVENT_OBJECTS_COUNT)
{
- sub_808C750(direction);
+ CreateStopSurfingTask(direction);
return TRUE;
}
else
@@ -737,7 +735,7 @@ static bool8 ShouldJumpLedge(s16 x, s16 y, u8 z)
return FALSE;
}
-static u8 sub_808B238(s16 x, s16 y, u8 direction)
+static bool8 TryPushBoulder(s16 x, s16 y, u8 direction)
{
if (FlagGet(FLAG_SYS_USE_STRENGTH))
{
@@ -748,26 +746,26 @@ static u8 sub_808B238(s16 x, s16 y, u8 direction)
x = gEventObjects[eventObjectId].currentCoords.x;
y = gEventObjects[eventObjectId].currentCoords.y;
MoveCoords(direction, &x, &y);
- if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == 0
+ if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == COLLISION_NONE
&& MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == 0)
{
StartStrengthAnim(eventObjectId, direction);
- return 1;
+ return TRUE;
}
}
}
- return 0;
+ return FALSE;
}
-static void check_acro_bike_metatile(s16 unused1, s16 unused2, u8 c, u8 *d)
+static void CheckAcroBikeCollision(s16 x, s16 y, u8 metatileBehavior, u8 *collision)
{
u8 i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i < ARRAY_COUNT(sAcroBikeTrickMetatiles); i++)
{
- if (gUnknown_0849749C[i](c))
+ if (sAcroBikeTrickMetatiles[i](metatileBehavior))
{
- *d = gUnknown_084974B0[i];
+ *collision = sAcroBikeTrickCollisionTypes[i];
return;
}
}
@@ -1314,7 +1312,8 @@ bool8 IsPlayerFacingSurfableFishableWater(void)
s16 y = playerEventObj->currentCoords.y;
MoveCoords(playerEventObj->facingDirection, &x, &y);
- if (GetCollisionAtCoords(playerEventObj, x, y, playerEventObj->facingDirection) == 3 && PlayerGetZCoord() == 3
+ if (GetCollisionAtCoords(playerEventObj, x, y, playerEventObj->facingDirection) == COLLISION_ELEVATION_MISMATCH
+ && PlayerGetZCoord() == 3
&& MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y)))
return TRUE;
else
@@ -1397,11 +1396,11 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT);
}
-void sub_808C0A8(u8 a)
+void SetPlayerInvisibility(bool8 invisible)
{
- gEventObjects[gPlayerAvatar.eventObjectId].invisible = a;
+ gEventObjects[gPlayerAvatar.eventObjectId].invisible = invisible;
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
- gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = a;
+ gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = invisible;
}
void sub_808C114(void)
@@ -1626,9 +1625,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct Event
return FALSE;
}
-/* Some Field effect */
-
-static void sub_808C750(u8 a)
+static void CreateStopSurfingTask(u8 direction)
{
u8 taskId;
@@ -1638,12 +1635,12 @@ static void sub_808C750(u8 a)
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_SURFING;
gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_ON_FOOT;
gPlayerAvatar.preventStep = TRUE;
- taskId = CreateTask(taskFF_0805D1D4, 0xFF);
- gTasks[taskId].data[0] = a;
- taskFF_0805D1D4(taskId);
+ taskId = CreateTask(Task_StopSurfingInit, 0xFF);
+ gTasks[taskId].data[0] = direction;
+ Task_StopSurfingInit(taskId);
}
-static void taskFF_0805D1D4(u8 taskId)
+static void Task_StopSurfingInit(u8 taskId)
{
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -1654,10 +1651,10 @@ static void taskFF_0805D1D4(u8 taskId)
}
sub_81555AC(playerEventObj->fieldEffectSpriteId, 2);
EventObjectSetHeldMovement(playerEventObj, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0]));
- gTasks[taskId].func = sub_808C814;
+ gTasks[taskId].func = Task_WaitStopSurfing;
}
-static void sub_808C814(u8 taskId)
+static void Task_WaitStopSurfing(u8 taskId)
{
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -2095,7 +2092,7 @@ static void sub_808D094(u8 taskId)
object->fixedPriority = TRUE;
sprite->oam.priority = 0;
sprite->subpriority = 0;
- sprite->subspriteMode = 0;
+ sprite->subspriteMode = SUBSPRITES_OFF;
data[0]++;
case 1:
sub_808D38C(object, &data[1]);
@@ -2159,7 +2156,7 @@ static void sub_808D1FC(u8 taskId)
object->fixedPriority = TRUE;
sprite->oam.priority = 1;
sprite->subpriority = 0;
- sprite->subspriteMode = 0;
+ sprite->subspriteMode = SUBSPRITES_OFF;
data[0]++;
case 1:
sub_808D38C(object, &data[1]);
diff --git a/src/field_poison.c b/src/field_poison.c
index 532c7f027..8385966d4 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -14,6 +14,8 @@
#include "strings.h"
#include "task.h"
#include "trainer_hill.h"
+#include "constants/field_poison.h"
+#include "constants/party_menu.h"
#include "constants/species.h"
static bool32 IsMonValidSpecies(struct Pokemon *pokemon)
@@ -55,14 +57,14 @@ static void FaintFromFieldPoison(u8 partyIdx)
static bool32 MonFaintedFromPoison(u8 partyIdx)
{
struct Pokemon *pokemon = gPlayerParty + partyIdx;
- if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
+ if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
{
return TRUE;
}
return FALSE;
}
-static void Task_WhiteOut(u8 taskId)
+static void Task_TryFieldPoisonWhiteOut(u8 taskId)
{
s16 *data = gTasks[taskId].data;
switch (data[0])
@@ -89,18 +91,18 @@ static void Task_WhiteOut(u8 taskId)
case 2:
if (AllMonsFainted())
{
- if (InBattlePyramid() | InBattlePike() || sub_81D5C18())
+ if (InBattlePyramid() | InBattlePike() || InTrainerHillChallenge())
{
- gSpecialVar_Result = 2;
+ gSpecialVar_Result = FLDPSN_FRONTIER_WHITEOUT;
}
else
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = FLDPSN_WHITEOUT;
}
}
else
{
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FLDPSN_NO_WHITEOUT;
}
EnableBothScriptContexts();
DestroyTask(taskId);
@@ -108,9 +110,9 @@ static void Task_WhiteOut(u8 taskId)
}
}
-void ExecuteWhiteOut(void)
+void TryFieldPoisonWhiteOut(void)
{
- CreateTask(Task_WhiteOut, 80);
+ CreateTask(Task_TryFieldPoisonWhiteOut, 80);
ScriptContext1_Stop();
}
@@ -123,7 +125,7 @@ s32 DoPoisonFieldEffect(void)
u32 numFainted = 0;
for (i = 0; i < PARTY_SIZE; i++)
{
- if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
+ if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && GetAilmentFromStatus(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
{
hp = GetMonData(pokemon, MON_DATA_HP);
if (hp == 0 || --hp == 0)
diff --git a/src/field_region_map.c b/src/field_region_map.c
index ac1b26154..184c49b40 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -3,7 +3,7 @@
#include "gpu_regs.h"
#include "international_string_util.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "palette.h"
#include "region_map.h"
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index 9a5d47156..292152b11 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -28,31 +28,32 @@
#include "task.h"
#include "text.h"
#include "constants/event_object_movement_constants.h"
+#include "constants/event_objects.h"
#include "constants/songs.h"
#include "constants/rgb.h"
#include "trainer_hill.h"
#include "event_obj_lock.h"
#include "fldeff.h"
-extern const u16 gUnknown_82EC7CC[];
+extern const u16 gOrbEffectBackgroundLayerFlags[];
// This file's functions.
static void sub_8080B9C(u8);
-static void task_map_chg_seq_0807E20C(u8);
-static void task_map_chg_seq_0807E2CC(u8);
+static void Task_ExitNonAnimDoor(u8);
+static void Task_ExitNonDoor(u8);
static void task0A_fade_n_map_maybe(u8);
static void sub_808115C(u8);
-static void palette_bg_faded_fill_white(void);
-static void sub_80AF438(u8);
+static void FillPalBufferWhite(void);
+static void Task_ExitDoor(u8);
static bool32 WaitForWeatherFadeIn(void);
static void task0A_mpl_807E31C(u8 taskId);
-static void sub_80AFA0C(u8 taskId);
-static void sub_80AFA88(u8 taskId);
-static void task50_0807F0C8(u8);
+static void Task_WarpAndLoadMap(u8 taskId);
+static void Task_DoDoorWarp(u8 taskId);
+static void Task_EnableScriptAfterMusicFade(u8 taskId);
// const
-const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
-const s32 gMaxFlashLevel = 8;
+static const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
+const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelPixelRadii) - 1;
const struct ScanlineEffectParams sFlashEffectParams =
{
@@ -62,44 +63,44 @@ const struct ScanlineEffectParams sFlashEffectParams =
};
// code
-static void palette_bg_faded_fill_white(void)
+static void FillPalBufferWhite(void)
{
CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE);
}
-static void palette_bg_faded_fill_black(void)
+static void FillPalBufferBlack(void)
{
CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE);
}
-void pal_fill_for_maplights(void)
+void WarpFadeInScreen(void)
{
u8 previousMapType = GetLastUsedWarpMapType();
switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType()))
{
case 0:
- palette_bg_faded_fill_black();
+ FillPalBufferBlack();
FadeScreen(FADE_FROM_BLACK, 0);
break;
case 1:
- palette_bg_faded_fill_white();
+ FillPalBufferWhite();
FadeScreen(FADE_FROM_WHITE, 0);
}
}
-static void sub_80AF08C(void)
+void FadeInFromWhite(void)
{
- palette_bg_faded_fill_white();
+ FillPalBufferWhite();
FadeScreen(FADE_FROM_WHITE, 8);
}
-void pal_fill_black(void)
+void FadeInFromBlack(void)
{
- palette_bg_faded_fill_black();
+ FillPalBufferBlack();
FadeScreen(FADE_FROM_BLACK, 0);
}
-void WarpFadeScreen(void)
+void WarpFadeOutScreen(void)
{
u8 currentMapType = GetCurrentMapType();
switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType))
@@ -112,26 +113,26 @@ void WarpFadeScreen(void)
}
}
-static void sub_80AF0F4(u8 arg)
+static void SetPlayerVisibility(bool8 visible)
{
- sub_808C0A8(!arg);
+ SetPlayerInvisibility(!visible);
}
-static void task0A_nop_for_a_while(u8 taskId)
+static void Task_WaitForUnionRoomFade(u8 taskId)
{
if (WaitForWeatherFadeIn() == TRUE)
DestroyTask(taskId);
}
-void sub_80AF128(void)
+void FieldCB_ContinueScriptUnionRoom(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- CreateTask(task0A_nop_for_a_while, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForUnionRoomFade, 10);
}
-static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
+static void Task_WaitForFadeAndEnableScriptCtx(u8 taskID)
{
if (WaitForWeatherFadeIn() == TRUE)
{
@@ -140,22 +141,22 @@ static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
}
}
-void FieldCallback_ReturnToEventScript2(void)
+void FieldCB_ContinueScriptHandleMusic(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10);
}
-void sub_80AF188(void)
+void FieldCB_ContinueScript(void)
{
ScriptContext2_Enable();
- pal_fill_black();
- CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10);
}
-static void task_mpl_807DD60(u8 taskId)
+static void Task_ReturnToFieldCableLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -168,7 +169,7 @@ static void task_mpl_807DD60(u8 taskId)
case 1:
if (gTasks[task->data[1]].isActive != TRUE)
{
- pal_fill_for_maplights();
+ WarpFadeInScreen();
task->data[0]++;
}
break;
@@ -182,15 +183,15 @@ static void task_mpl_807DD60(u8 taskId)
}
}
-void sub_80AF214(void)
+void FieldCB_ReturnToFieldCableLink(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- palette_bg_faded_fill_black();
- CreateTask(task_mpl_807DD60, 10);
+ FillPalBufferBlack();
+ CreateTask(Task_ReturnToFieldCableLink, 10);
}
-static void sub_80AF234(u8 taskId)
+static void Task_ReturnToFieldWirelessLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -208,7 +209,7 @@ static void sub_80AF234(u8 taskId)
}
else
{
- pal_fill_for_maplights();
+ WarpFadeInScreen();
task->data[0]++;
}
break;
@@ -223,7 +224,7 @@ static void sub_80AF234(u8 taskId)
}
}
-void sub_80AF2B4(u8 taskId)
+void Task_ReturnToFieldRecordMixing(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -248,15 +249,15 @@ void sub_80AF2B4(u8 taskId)
}
}
-void sub_80AF314(void)
+void FieldCB_ReturnToFieldWirelessLink(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- palette_bg_faded_fill_black();
- CreateTask(sub_80AF234, 10);
+ FillPalBufferBlack();
+ CreateTask(Task_ReturnToFieldWirelessLink, 10);
}
-static void sub_80AF334(void)
+static void SetUpWarpExitTask(void)
{
s16 x, y;
u8 behavior;
@@ -265,59 +266,59 @@ static void sub_80AF334(void)
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
if (MetatileBehavior_IsDoor(behavior) == TRUE)
- func = sub_80AF438;
+ func = Task_ExitDoor;
else if (MetatileBehavior_IsNonAnimDoor(behavior) == TRUE)
- func = task_map_chg_seq_0807E20C;
+ func = Task_ExitNonAnimDoor;
else
- func = task_map_chg_seq_0807E2CC;
+ func = Task_ExitNonDoor;
CreateTask(func, 10);
}
-void mapldr_default(void)
+void FieldCB_DefaultWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
- sub_80AF334();
+ WarpFadeInScreen();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3B0(void)
+void FieldCB_WarpExitFadeFromWhite(void)
{
Overworld_PlaySpecialMapMusic();
- sub_80AF08C();
- sub_80AF334();
+ FadeInFromWhite();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3C8(void)
+void FieldCB_WarpExitFadeFromBlack(void)
{
- if (!sub_81D6534())
+ if (!sub_81D6534()) // sub_81D6534 always returns false
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- sub_80AF334();
+ FadeInFromBlack();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3E8(void)
+static void FieldCB_TeleportWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
PlaySE(SE_TK_WARPOUT);
CreateTask(task0A_mpl_807E31C, 10);
ScriptContext2_Enable();
}
-void sub_80AF40C(void)
+static void FieldCB_MossdeepGymWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
PlaySE(SE_TK_WARPOUT);
- CreateTask(task_map_chg_seq_0807E2CC, 10);
+ CreateTask(Task_ExitNonDoor, 10);
ScriptContext2_Enable();
sub_8085540(0xE);
}
-static void sub_80AF438(u8 taskId)
+static void Task_ExitDoor(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -326,7 +327,7 @@ static void sub_80AF438(u8 taskId)
switch (task->data[0])
{
case 0:
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
FreezeEventObjects();
PlayerGetDestCoords(x, y);
FieldSetDoorOpened(*x, *y);
@@ -336,18 +337,18 @@ static void sub_80AF438(u8 taskId)
if (WaitForWeatherFadeIn())
{
u8 eventObjId;
- sub_80AF0F4(1);
- eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ SetPlayerVisibility(TRUE);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
u8 eventObjId;
task->data[1] = FieldAnimateDoorClose(*x, *y);
- eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]);
task->data[0] = 3;
}
@@ -366,7 +367,7 @@ static void sub_80AF438(u8 taskId)
}
}
-static void task_map_chg_seq_0807E20C(u8 taskId)
+static void Task_ExitNonAnimDoor(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -375,7 +376,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
switch (task->data[0])
{
case 0:
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
FreezeEventObjects();
PlayerGetDestCoords(x, y);
task->data[0] = 1;
@@ -384,14 +385,14 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
if (WaitForWeatherFadeIn())
{
u8 eventObjId;
- sub_80AF0F4(1);
- eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ SetPlayerVisibility(TRUE);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectSetHeldMovement(&gEventObjects[eventObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
UnfreezeEventObjects();
task->data[0] = 3;
@@ -404,7 +405,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
}
}
-static void task_map_chg_seq_0807E2CC(u8 taskId)
+static void Task_ExitNonDoor(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
@@ -424,25 +425,25 @@ static void task_map_chg_seq_0807E2CC(u8 taskId)
}
}
-static void sub_80AF660(u8 taskId)
+static void Task_WaitForFadeShowStartMenu(u8 taskId)
{
if (WaitForWeatherFadeIn() == TRUE)
{
DestroyTask(taskId);
- CreateTask(sub_809FA34, 80);
+ CreateTask(Task_ShowStartMenu, 80);
}
}
-void sub_80AF688(void)
+void ReturnToFieldOpenStartMenu(void)
{
- pal_fill_black();
- CreateTask(sub_80AF660, 0x50);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeShowStartMenu, 0x50);
ScriptContext2_Enable();
}
-bool8 sub_80AF6A4(void)
+bool8 FieldCB_ReturnToFieldOpenStartMenu(void)
{
- sub_809FA18();
+ ShowReturnToFieldStartMenu();
return FALSE;
}
@@ -459,7 +460,7 @@ static void task_mpl_807E3C8(u8 taskId)
void sub_80AF6D4(void)
{
ScriptContext2_Enable();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task_mpl_807E3C8, 10);
}
@@ -467,7 +468,7 @@ void sub_80AF6F0(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task_mpl_807E3C8, 10);
}
@@ -488,92 +489,92 @@ void DoWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
void DoDiveWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
-void sub_80AF79C(void)
+void DoSootopolisLegendWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
FadeScreen(FADE_TO_WHITE, 8);
PlayRainStoppingSoundEffect();
- gFieldCallback = sub_80AF3B0;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_WarpExitFadeFromWhite;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
void DoDoorWarp(void)
{
ScriptContext2_Enable();
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA88, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_DoDoorWarp, 10);
}
void DoFallWarp(void)
{
DoDiveWarp();
- gFieldCallback = sub_80B6B68;
+ gFieldCallback = FieldCB_FallWarpExit;
}
-void sub_80AF80C(u8 metatileBehavior)
+void DoEscalatorWarp(u8 metatileBehavior)
{
ScriptContext2_Enable();
- sub_80B6E4C(metatileBehavior, 10);
+ StartEscalatorWarp(metatileBehavior, 10);
}
-void sub_80AF828(void)
+void DoLavaridgeGymB1FWarp(void)
{
ScriptContext2_Enable();
- sub_80B75D8(10);
+ StartLavaridgeGymB1FWarp(10);
}
-void sub_80AF838(void)
+void DoLavaridgeGym1FWarp(void)
{
ScriptContext2_Enable();
- sub_80B7A74(10);
+ StartLavaridgeGym1FWarp(10);
}
-void sub_80AF848(void)
+void DoTeleportWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_TK_WARPIN);
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF3E8;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_TeleportWarpExit;
}
-void sub_80AF87C(void)
+void DoMossdeepGymWarp(void)
{
sub_8085540(1);
ScriptContext2_Enable();
SaveEventObjects();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_TK_WARPIN);
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF40C;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_MossdeepGymWarpExit;
}
-void sub_80AF8B8(void)
+void DoPortholeWarp(void)
{
ScriptContext2_Enable();
- WarpFadeScreen();
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80FB768;
+ WarpFadeOutScreen();
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_ShowPortholeView;
}
static void sub_80AF8E0(u8 taskId)
@@ -592,17 +593,17 @@ static void sub_80AF8E0(u8 taskId)
break;
case 2:
WarpIntoMap();
- SetMainCallback2(sub_8086074);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
DestroyTask(taskId);
break;
}
}
-void sub_80AF948(void)
+void DoCableClubWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_KAIDAN);
CreateTask(sub_80AF8E0, 10);
}
@@ -638,12 +639,12 @@ static void Task_ReturnToWorldFromLinkRoom(u8 taskId)
}
}
-void sub_80AF9F8(void)
+void ReturnFromLinkRoom(void)
{
CreateTask(Task_ReturnToWorldFromLinkRoom, 10);
}
-static void sub_80AFA0C(u8 taskId)
+static void Task_WarpAndLoadMap(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -674,7 +675,7 @@ static void sub_80AFA0C(u8 taskId)
}
}
-static void sub_80AFA88(u8 taskId)
+static void Task_DoDoorWarp(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -693,21 +694,21 @@ static void sub_80AFA88(u8 taskId)
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
{
u8 eventObjId;
- eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfActive(&gEventObjects[eventObjId]);
- eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_UP);
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
u8 eventObjId;
task->data[1] = FieldAnimateDoorClose(*x, *y - 1);
- eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]);
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
task->data[0] = 3;
}
break;
@@ -719,10 +720,10 @@ static void sub_80AFA88(u8 taskId)
break;
case 4:
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
task->data[0] = 0;
- task->func = sub_80AFA0C;
+ task->func = Task_WarpAndLoadMap;
break;
}
}
@@ -752,14 +753,14 @@ static void task0A_fade_n_map_maybe(u8 taskId)
}
}
-void sub_80AFC60(void)
+void DoContestHallWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
CreateTask(task0A_fade_n_map_maybe, 10);
}
@@ -800,7 +801,7 @@ static void SetFlashScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 c
}
}
-static void SetFlash2ScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right)
+static void SetOrbFlashScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right)
{
if (y <= 160)
{
@@ -816,17 +817,17 @@ static void SetFlash2ScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s3
}
}
-static void SetFlash2ScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 centerY, s32 radius)
+static void SetOrbFlashScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 centerY, s32 radius)
{
s32 r = radius;
s32 v2 = radius;
s32 v3 = 0;
while (r >= v3)
{
- SetFlash2ScanlineEffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r);
- SetFlash2ScanlineEffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r);
- SetFlash2ScanlineEffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3);
- SetFlash2ScanlineEffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3);
+ SetOrbFlashScanlineEffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r);
+ SetOrbFlashScanlineEffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r);
+ SetOrbFlashScanlineEffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3);
+ SetOrbFlashScanlineEffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3);
v2 -= (v3 * 2) - 1;
v3++;
if (v2 < 0)
@@ -878,18 +879,18 @@ static void UpdateFlashLevelEffect(u8 taskId)
}
}
-static void UpdateFlash2LevelEffect(u8 taskId)
+static void UpdateOrbFlashEffect(u8 taskId)
{
s16 *data = gTasks[taskId].data;
switch (data[0])
{
case 0:
- SetFlash2ScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
+ SetOrbFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
data[0] = 1;
break;
case 1:
- SetFlash2ScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
+ SetOrbFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
data[0] = 0;
tCurFlashRadius += tFlashRadiusDelta;
if (tCurFlashRadius > tDestFlashRadius)
@@ -948,7 +949,7 @@ static u8 sub_80AFFDC(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 dest
static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta)
{
- u8 taskId = CreateTask(UpdateFlash2LevelEffect, 80);
+ u8 taskId = CreateTask(UpdateOrbFlashEffect, 80);
s16 *data = gTasks[taskId].data;
tCurFlashRadius = initialFlashRadius;
@@ -970,7 +971,7 @@ static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 dest
#undef tFlashRadiusDelta
#undef tClearScanlineEffect
-void sub_80B009C(u8 flashLevel)
+void AnimateFlash(u8 flashLevel)
{
u8 curFlashLevel = Overworld_GetFlashLevel();
u8 value = 0;
@@ -1033,7 +1034,7 @@ static void sub_80B01BC(u8 taskId)
case 1:
if (!sub_808D1E8())
{
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
break;
@@ -1052,23 +1053,23 @@ static void sub_80B01BC(u8 taskId)
void sub_80B0244(void)
{
ScriptContext2_Enable();
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF3E8;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_TeleportWarpExit;
}
void sub_80B0268(void)
{
ScriptContext2_Enable();
- gFieldCallback = mapldr_default;
+ gFieldCallback = FieldCB_DefaultWarpExit;
CreateTask(sub_80B01BC, 10);
}
-static void sub_80B028C(u8 a1)
+static void LoadOrbEffectPalette(bool8 blueOrb)
{
int i;
u16 color[1];
- if (!a1)
+ if (!blueOrb)
color[0] = RGB_RED;
else
color[0] = RGB_BLUE;
@@ -1079,12 +1080,12 @@ static void sub_80B028C(u8 a1)
}
}
-static bool8 sub_80B02C8(u16 a1)
+static bool8 sub_80B02C8(u16 shakeDir)
{
u8 lo = REG_BLDALPHA & 0xFF;
u8 hi = REG_BLDALPHA >> 8;
- if (a1)
+ if (shakeDir != 0)
{
if (lo)
{
@@ -1107,58 +1108,69 @@ static bool8 sub_80B02C8(u16 a1)
return FALSE;
}
-static void sub_80B0318(u8 taskId)
+#define tState data[0]
+#define tBlueOrb data[1]
+#define tCenterX data[2]
+#define tCenterY data[3]
+#define tShakeDelay data[4]
+#define tShakeDir data[5]
+#define tDispCnt data[6]
+#define tBldCnt data[7]
+#define tBldAlpha data[8]
+#define tWinIn data[9]
+#define tWinOut data[10]
+
+static void Task_OrbEffect(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- switch (data[0])
+ switch (tState)
{
case 0:
- data[6] = REG_DISPCNT;
- data[7] = REG_BLDCNT;
- data[8] = REG_BLDALPHA;
- data[9] = REG_WININ;
- data[10] = REG_WINOUT;
+ tDispCnt = REG_DISPCNT;
+ tBldCnt = REG_BLDCNT;
+ tBldAlpha = REG_BLDALPHA;
+ tWinIn = REG_WININ;
+ tWinOut = REG_WINOUT;
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON);
- SetGpuRegBits(REG_OFFSET_BLDCNT, gUnknown_82EC7CC[0]);
+ SetGpuRegBits(REG_OFFSET_BLDCNT, gOrbEffectBackgroundLayerFlags[0]);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7));
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ);
- sub_8199C30(0, 0, 0, 0x1E, 0x14, 0xF);
+ SetBgTilemapPalette(0, 0, 0, 0x1E, 0x14, 0xF);
schedule_bg_copy_tilemap_to_vram(0);
- SetFlash2ScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], data[2], data[3], 1);
+ SetOrbFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], tCenterX, tCenterY, 1);
CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
ScanlineEffect_SetParams(sFlashEffectParams);
- data[0] = 1;
+ tState = 1;
break;
case 1:
sub_8199DF0(0, PIXEL_FILL(1), 0, 1);
- sub_80B028C(data[1]);
- sub_80B003C(data[2], data[3], 1, 160, 1, 2);
- data[0] = 2;
+ LoadOrbEffectPalette(tBlueOrb);
+ sub_80B003C(tCenterX, tCenterY, 1, 160, 1, 2);
+ tState = 2;
break;
case 2:
- if (!FuncIsActiveTask(UpdateFlash2LevelEffect))
+ if (!FuncIsActiveTask(UpdateOrbFlashEffect))
{
EnableBothScriptContexts();
- data[0] = 3;
+ tState = 3;
}
break;
case 3:
InstallCameraPanAheadCallback();
SetCameraPanningCallback(NULL);
- data[5] = 0;
- data[4] = 4;
- data[0] = 4;
+ tShakeDir = 0;
+ tShakeDelay = 4;
+ tState = 4;
break;
case 4:
- data[4]--;
- if (!data[4])
+ if (--tShakeDelay == 0)
{
s32 panning;
- data[4] = 4;
- data[5] ^= 1;
- if (data[5])
+ tShakeDelay = 4;
+ tShakeDir ^= 1;
+ if (tShakeDir)
panning = 4;
else
panning = -4;
@@ -1167,77 +1179,88 @@ static void sub_80B0318(u8 taskId)
break;
case 6:
InstallCameraPanAheadCallback();
- data[4] = 8;
- data[0] = 7;
+ tShakeDelay = 8;
+ tState = 7;
break;
case 7:
- data[4]--;
- if (!data[4])
+ if (--tShakeDelay == 0)
{
- data[4] = 8;
- data[5] ^= 1;
- if (sub_80B02C8(data[5]) == TRUE)
+ tShakeDelay = 8;
+ tShakeDir ^= 1;
+ if (sub_80B02C8(tShakeDir) == TRUE)
{
- data[0] = 5;
+ tState = 5;
sub_8199DF0(0, PIXEL_FILL(0), 0, 1);
}
}
break;
case 5:
SetGpuReg(REG_OFFSET_WIN0H, 255);
- SetGpuReg(REG_OFFSET_DISPCNT, data[6]);
- SetGpuReg(REG_OFFSET_BLDCNT, data[7]);
- SetGpuReg(REG_OFFSET_BLDALPHA, data[8]);
- SetGpuReg(REG_OFFSET_WININ, data[9]);
- SetGpuReg(REG_OFFSET_WINOUT, data[10]);
+ SetGpuReg(REG_OFFSET_DISPCNT, tDispCnt);
+ SetGpuReg(REG_OFFSET_BLDCNT, tBldCnt);
+ SetGpuReg(REG_OFFSET_BLDALPHA, tBldAlpha);
+ SetGpuReg(REG_OFFSET_WININ, tWinIn);
+ SetGpuReg(REG_OFFSET_WINOUT, tWinOut);
EnableBothScriptContexts();
DestroyTask(taskId);
break;
}
}
-void sub_80B0534(void)
+void DoOrbEffect(void)
{
- u8 taskId = CreateTask(sub_80B0318, 80);
+ u8 taskId = CreateTask(Task_OrbEffect, 80);
s16 *data = gTasks[taskId].data;
if (gSpecialVar_Result == 0)
{
- data[1] = 0;
- data[2] = 104;
+ tBlueOrb = FALSE;
+ tCenterX = 104;
}
else if (gSpecialVar_Result == 1)
{
- data[1] = 1;
- data[2] = 136;
+ tBlueOrb = TRUE;
+ tCenterX = 136;
}
else if (gSpecialVar_Result == 2)
{
- data[1] = 0;
- data[2] = 120;
+ tBlueOrb = FALSE;
+ tCenterX = 120;
}
else
{
- data[1] = 1;
- data[2] = 120;
+ tBlueOrb = TRUE;
+ tCenterX = 120;
}
- data[3] = 80;
+ tCenterY = 80;
}
-void sub_80B058C(void)
+void FadeOutOrbEffect(void)
{
- u8 taskId = FindTaskIdByFunc(sub_80B0318);
- gTasks[taskId].data[0] = 6;
+ u8 taskId = FindTaskIdByFunc(Task_OrbEffect);
+ gTasks[taskId].tState = 6;
}
-void sub_80B05B4(void)
+#undef tState
+#undef tBlueOrb
+#undef tCenterX
+#undef tCenterY
+#undef tShakeDelay
+#undef tShakeDir
+#undef tDispCnt
+#undef tBldCnt
+#undef tBldAlpha
+#undef tWinIn
+#undef tWinOut
+
+void Script_FadeOutMapMusic(void)
{
Overworld_FadeOutMapMusic();
- CreateTask(task50_0807F0C8, 80);
+ CreateTask(Task_EnableScriptAfterMusicFade, 80);
}
-static void task50_0807F0C8(u8 taskId)
+static void Task_EnableScriptAfterMusicFade(u8 taskId)
{
if (BGMusicStopped() == TRUE)
{
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index dbf68e1a2..267198f79 100644
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -14,6 +14,8 @@
#include "sprite.h"
#include "task.h"
#include "constants/event_objects.h"
+#include "constants/event_object_movement_constants.h"
+#include "constants/field_specials.h"
#include "constants/songs.h"
#include "constants/vars.h"
#include "constants/metatile_labels.h"
@@ -31,8 +33,18 @@ enum
//. rodata
static const s8 gTruckCamera_HorizontalTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0};
-const u8 gUnknown_0858E8AB[] = {0x18, 0xFE};
-const u8 gUnknown_0858E8AD[] = {0x17, 0xFE};
+
+static const u8 sSSTidalSailEastMovementScript[] =
+{
+ MOVEMENT_ACTION_WALK_FAST_RIGHT,
+ MOVEMENT_ACTION_STEP_END
+};
+
+static const u8 sSSTidalSailWestMovementScript[] =
+{
+ MOVEMENT_ACTION_WALK_FAST_LEFT,
+ MOVEMENT_ACTION_STEP_END
+};
// .text
static void Task_Truck3(u8);
@@ -167,7 +179,7 @@ void Task_HandleTruckSequence(u8 taskId)
data[1]++;
if (data[1] == SECONDS(2.5))
{
- pal_fill_black();
+ FadeInFromBlack();
data[1] = 0;
data[0] = 2;
}
@@ -237,12 +249,12 @@ void EndTruckSequence(u8 taskId)
}
}
-bool8 sub_80FB59C(void)
+bool8 TrySetPortholeWarpDestination(void)
{
s8 mapGroup, mapNum;
s16 x, y;
- if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y))
+ if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y) != SS_TIDAL_LOCATION_CURRENTS)
{
return FALSE;
}
@@ -256,7 +268,7 @@ bool8 sub_80FB59C(void)
void Task_HandlePorthole(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- u16 *var = GetVarPointer(VAR_PORTHOLE_STATE);
+ u16 *cruiseState = GetVarPointer(VAR_SS_TIDAL_STATE);
struct WarpData *location = &gSaveBlock1Ptr->location;
switch (data[0])
@@ -268,41 +280,42 @@ void Task_HandlePorthole(u8 taskId)
data[0] = EXECUTE_MOVEMENT; // execute movement before checking if should be exited. strange?
}
break;
- case IDLE_CHECK: // idle and move.
+ case IDLE_CHECK:
if (gMain.newKeys & A_BUTTON)
data[1] = 1;
- if (!ScriptMovement_IsObjectMovementFinished(0xFF, location->mapNum, location->mapGroup))
+ if (!ScriptMovement_IsObjectMovementFinished(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup))
return;
if (CountSSTidalStep(1) == TRUE)
{
- if (*var == 2)
- *var = 9;
+ if (*cruiseState == SS_TIDAL_DEPART_SLATEPORT)
+ *cruiseState = SS_TIDAL_EXIT_CURRENTS_RIGHT;
else
- *var = 10;
- data[0] = 3;
+ *cruiseState = SS_TIDAL_EXIT_CURRENTS_LEFT;
+ data[0] = EXIT_PORTHOLE;
return;
}
- data[0] = 2;
- case EXECUTE_MOVEMENT: // execute movement.
+ data[0] = EXECUTE_MOVEMENT;
+ //fallthrough
+ case EXECUTE_MOVEMENT:
if (data[1])
{
- data[0] = EXIT_PORTHOLE; // exit porthole.
+ data[0] = EXIT_PORTHOLE;
return;
}
- // run this once.
- if (*var == 2) // which direction?
+
+ if (*cruiseState == SS_TIDAL_DEPART_SLATEPORT)
{
- ScriptMovement_StartObjectMovementScript(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AB);
- data[0] = IDLE_CHECK; // run case 1.
+ ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript);
+ data[0] = IDLE_CHECK;
}
else
{
- ScriptMovement_StartObjectMovementScript(0xFF, location->mapNum, location->mapGroup, gUnknown_0858E8AD);
- data[0] = IDLE_CHECK; // run case 1.
+ ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript);
+ data[0] = IDLE_CHECK;
}
break;
- case EXIT_PORTHOLE: // exit porthole.
- FlagClear(FLAG_SPECIAL_FLAG_0x4001);
+ case EXIT_PORTHOLE:
+ FlagClear(FLAG_DONT_TRANSITION_MUSIC);
FlagClear(FLAG_HIDE_MAP_NAME_POPUP);
SetWarpDestinationToDynamicWarp(0);
DoDiveWarp();
@@ -311,37 +324,33 @@ void Task_HandlePorthole(u8 taskId)
}
}
-void sub_80FB6EC(void)
+static void ShowSSTidalWhileSailing(void)
{
u8 spriteId = AddPseudoEventObject(EVENT_OBJ_GFX_SS_TIDAL, SpriteCallbackDummy, 112, 80, 0);
gSprites[spriteId].coordOffsetEnabled = FALSE;
- if (VarGet(VAR_PORTHOLE_STATE) == 2)
- {
- StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4));
- }
+ if (VarGet(VAR_SS_TIDAL_STATE) == SS_TIDAL_DEPART_SLATEPORT)
+ StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(DIR_EAST));
else
- {
- StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(3));
- }
+ StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(DIR_WEST));
}
-void sub_80FB768(void)
+void FieldCB_ShowPortholeView(void)
{
- sub_80FB6EC();
+ ShowSSTidalWhileSailing();
gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE;
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_HandlePorthole, 80);
ScriptContext2_Enable();
}
-void sub_80FB7A4(void)
+void LookThroughPorthole(void)
{
FlagSet(FLAG_SYS_CRUISE_MODE);
- FlagSet(FLAG_SPECIAL_FLAG_0x4001);
+ FlagSet(FLAG_DONT_TRANSITION_MUSIC);
FlagSet(FLAG_HIDE_MAP_NAME_POPUP);
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
- sub_80FB59C();
- sub_80AF8B8();
+ TrySetPortholeWarpDestination();
+ DoPortholeWarp();
}
diff --git a/src/field_specials.c b/src/field_specials.c
index 99e8e93a9..ce3ccce95 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_tower.h"
#include "cable_club.h"
@@ -35,6 +35,7 @@
#include "rtc.h"
#include "script.h"
#include "script_menu.h"
+#include "slot_machine.h"
#include "sound.h"
#include "starter_choose.h"
#include "string_util.h"
@@ -44,14 +45,24 @@
#include "tv.h"
#include "wallclock.h"
#include "window.h"
+#include "constants/battle_frontier.h"
+#include "constants/battle_tower.h"
+#include "constants/decorations.h"
#include "constants/event_objects.h"
+#include "constants/event_object_movement_constants.h"
#include "constants/field_effects.h"
+#include "constants/field_specials.h"
#include "constants/items.h"
+#include "constants/heal_locations.h"
#include "constants/map_types.h"
#include "constants/maps.h"
+#include "constants/mevent.h"
+#include "constants/tv.h"
+#include "constants/script_menu.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/moves.h"
+#include "constants/party_menu.h"
#include "constants/vars.h"
#include "constants/battle_frontier.h"
#include "constants/weather.h"
@@ -60,72 +71,71 @@
EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;
EWRAM_DATA u8 gBikeCollisions = 0;
-static EWRAM_DATA u32 gBikeCyclingTimer = 0;
-static EWRAM_DATA u8 gUnknown_0203AB5C = 0;
-static EWRAM_DATA u8 sPetalburgGymSlidingDoorFrameCounter = 0;
-static EWRAM_DATA u8 gUnknown_0203AB5E = 0;
-static EWRAM_DATA u16 gUnknown_0203AB60 = 0;
-static EWRAM_DATA u16 gUnknown_0203AB62 = 0;
-static EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL;
-static EWRAM_DATA u16 gUnknown_0203AB68 = 0;
-static EWRAM_DATA u16 gUnknown_0203AB6A = 0;
-static EWRAM_DATA u8 gUnknown_0203AB6C = 0;
-static EWRAM_DATA u8 gUnknown_0203AB6D = 0;
-static EWRAM_DATA u8 gUnknown_0203AB6E = 0;
-static EWRAM_DATA u8 gUnknown_0203AB6F = 0;
-static EWRAM_DATA u32 gUnknown_0203AB70 = 0;
-
-struct ListMenuTemplate gUnknown_030061D0;
+static EWRAM_DATA u32 sBikeCyclingTimer = 0;
+static EWRAM_DATA u8 sSlidingDoorNextFrameCounter = 0;
+static EWRAM_DATA u8 sSlidingDoorFrame = 0;
+static EWRAM_DATA u8 sTutorMoveAndElevatorWindowId = 0;
+static EWRAM_DATA u16 sLilycoveDeptStore_NeverRead = 0;
+static EWRAM_DATA u16 sLilycoveDeptStore_DefaultFloorChoice = 0;
+static EWRAM_DATA struct ListMenuItem *sScrollableMultichoice_ListMenuItem = NULL;
+static EWRAM_DATA u16 sScrollableMultichoice_ScrollOffset = 0;
+static EWRAM_DATA u16 sFrontierExchangeCorner_NeverRead = 0;
+static EWRAM_DATA u8 sScrollableMultichoice_ItemSpriteId = 0;
+static EWRAM_DATA u8 sBattlePointsWindowId = 0;
+static EWRAM_DATA u8 sFrontierExchangeCorner_ItemIconWindowId = 0;
+static EWRAM_DATA u8 sPCBoxToSendMon = 0;
+static EWRAM_DATA u32 sBattleTowerMultiBattleTypeFlags = 0;
+
+struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate;
extern const u16 gEventObjectPalette8[];
extern const u16 gEventObjectPalette17[];
extern const u16 gEventObjectPalette33[];
extern const u16 gEventObjectPalette34[];
-
-void UpdateMovedLilycoveFanClubMembers(void);
-void sub_813BF60(void);
-u16 GetNumMovedLilycoveFanClubMembers(void);
+void TryLoseFansFromPlayTime(void);
+void SetPlayerGotFirstFans(void);
+u16 GetNumFansOfPlayerInTrainerFanClub(void);
static void RecordCyclingRoadResults(u32, u8);
static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum);
-static void Task_PetalburgGym(u8);
-static void PetalburgGymFunc(u8, u16);
+static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId);
+static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId);
static void Task_PCTurnOnEffect(u8);
static void PCTurnOnEffect_0(struct Task *);
static void PCTurnOnEffect_1(s16, s8, s8);
static void PCTurnOffEffect(void);
static void Task_LotteryCornerComputerEffect(u8);
static void LotteryCornerComputerEffect(struct Task *);
-static void sub_81395BC(u8 taskId);
-static void sub_8139620(u8 taskId);
-static void sub_8139AF4(u8 taskId);
-static void sub_8139C2C(u16 a1, u8 a2);
-static void MoveElevatorWindowLights(u8 taskId);
-static void sub_813A2DC(u8 taskId);
-static void sub_813AA60(u16 a0, u16 a1);
-static void sub_813ACE8(u8 a0, u16 a1);
-static void sub_813A42C(void);
-static void sub_813A4EC(u8 taskId);
-static void sub_813A694(u8 taskId);
-static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list);
-static void sub_813AC44(u16 a0, u16 a1);
-static void sub_813AD34(u8 a0, u16 a1);
-static void sub_813A570(u8 taskId);
-static void sub_813A738(u8 taskId);
+static void Task_ShakeCamera(u8 taskId);
+static void StopCameraShake(u8 taskId);
+static void Task_MoveElevator(u8 taskId);
+static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending);
+static void Task_MoveElevatorWindowLights(u8 taskId);
+static void Task_ShowScrollableMultichoice(u8 taskId);
+static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection);
+static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection);
+static void InitScrollableMultichoice(void);
+static void ScrollableMultichoice_ProcessInput(u8 taskId);
+static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId);
+static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct ListMenu *list);
+static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused);
+static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection);
+static void CloseScrollableMultichoice(u8 taskId);
+static void ScrollableMultichoice_RemoveScrollArrows(u8 taskId);
static void sub_813A600(u8 taskId);
static void sub_813A664(u8 taskId);
-static void sub_813ABD4(u16 a0);
+static void ShowFrontierExchangeCornerItemIcon(u16 item);
static void Task_DeoxysRockInteraction(u8 taskId);
static void ChangeDeoxysRockLevel(u8 a0);
static void WaitForDeoxysRockMovement(u8 taskId);
-static void sub_813B57C(u8 taskId);
-static void sub_813B824(u8 taskId);
-static void _fwalk(u8 taskId);
-static u8 sub_813BF44(void);
-static void sub_813BD84(void);
-static u16 sub_813BB74(void);
-static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b);
+static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId);
+static void Task_LoopWingFlapSE(u8 taskId);
+static void Task_CloseBattlePikeCurtain(u8 taskId);
+static u8 DidPlayerGetFirstFans(void);
+static void SetInitialFansOfPlayer(void);
+static u16 PlayerGainRandomTrainerFan(void);
+static void BufferFanClubTrainerName_(struct LinkBattleRecords *linkRecords, u8 a, u8 b);
void Special_ShowDiploma(void)
{
@@ -144,14 +154,14 @@ void ResetCyclingRoadChallengeData(void)
{
gBikeCyclingChallenge = FALSE;
gBikeCollisions = 0;
- gBikeCyclingTimer = 0;
+ sBikeCyclingTimer = 0;
}
void Special_BeginCyclingRoadChallenge(void)
{
gBikeCyclingChallenge = TRUE;
gBikeCollisions = 0;
- gBikeCyclingTimer = gMain.vblankCounter1;
+ sBikeCyclingTimer = gMain.vblankCounter1;
}
u16 GetPlayerAvatarBike(void)
@@ -237,7 +247,7 @@ static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions)
}
void FinishCyclingRoadChallenge(void) {
- const u32 numFrames = gMain.vblankCounter1 - gBikeCyclingTimer;
+ const u32 numFrames = gMain.vblankCounter1 - sBikeCyclingTimer;
DetermineCyclingRoadResults(numFrames, gBikeCollisions);
RecordCyclingRoadResults(numFrames, gBikeCollisions);
@@ -294,9 +304,10 @@ void ResetSSTidalFlag(void)
FlagClear(FLAG_SYS_CRUISE_MODE);
}
+// Returns TRUE if the Cruise is over
bool32 CountSSTidalStep(u16 delta)
{
- if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) <= 0xcc)
+ if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) < SS_TIDAL_MAX_STEPS)
{
return FALSE;
}
@@ -306,21 +317,21 @@ bool32 CountSSTidalStep(u16 delta)
u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y)
{
u16 *varCruiseStepCount = GetVarPointer(VAR_CRUISE_STEP_COUNT);
- switch (*GetVarPointer(VAR_PORTHOLE_STATE))
- {
- case 1:
- case 8:
- return 1;
- case 3:
- case 9:
- return 4;
- case 4:
- case 5:
- return 2;
- case 6:
- case 10:
- return 3;
- case 2:
+ switch (*GetVarPointer(VAR_SS_TIDAL_STATE))
+ {
+ case SS_TIDAL_BOARD_SLATEPORT:
+ case SS_TIDAL_LAND_SLATEPORT:
+ return SS_TIDAL_LOCATION_SLATEPORT;
+ case SS_TIDAL_HALFWAY_LILYCOVE:
+ case SS_TIDAL_EXIT_CURRENTS_RIGHT:
+ return SS_TIDAL_LOCATION_ROUTE131;
+ case SS_TIDAL_LAND_LILYCOVE:
+ case SS_TIDAL_BOARD_LILYCOVE:
+ return SS_TIDAL_LOCATION_LILYCOVE;
+ case SS_TIDAL_DEPART_LILYCOVE:
+ case SS_TIDAL_EXIT_CURRENTS_LEFT:
+ return SS_TIDAL_LOCATION_ROUTE124;
+ case SS_TIDAL_DEPART_SLATEPORT:
if (*varCruiseStepCount < 60)
{
*mapNum = MAP_NUM(ROUTE134);
@@ -337,7 +348,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y)
*x = *varCruiseStepCount - 140;
}
break;
- case 7:
+ case SS_TIDAL_HALFWAY_SLATEPORT:
if (*varCruiseStepCount < 66)
{
*mapNum = MAP_NUM(ROUTE132);
@@ -356,7 +367,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y)
}
*mapGroup = MAP_GROUP(ROUTE132);
*y = 20;
- return 0;
+ return SS_TIDAL_LOCATION_CURRENTS;
}
bool32 ShouldDoWallyCall(void)
@@ -386,9 +397,9 @@ bool32 ShouldDoWallyCall(void)
return TRUE;
}
-bool32 ShouldDoWinonaCall(void)
+bool32 ShouldDoScottFortreeCall(void)
{
- if (FlagGet(FLAG_REGISTER_WINONA_POKENAV))
+ if (FlagGet(FLAG_SCOTT_CALL_FORTREE_GYM))
{
switch (gMapHeader.mapType)
{
@@ -396,7 +407,7 @@ bool32 ShouldDoWinonaCall(void)
case MAP_TYPE_CITY:
case MAP_TYPE_ROUTE:
case MAP_TYPE_OCEAN_ROUTE:
- if (++(*GetVarPointer(VAR_WINONA_CALL_STEP_COUNTER)) < 10)
+ if (++(*GetVarPointer(VAR_SCOTT_FORTREE_CALL_STEP_COUNTER)) < 10)
{
return FALSE;
}
@@ -413,17 +424,17 @@ bool32 ShouldDoWinonaCall(void)
return TRUE;
}
-bool32 ShouldDoScottCall(void)
+bool32 ShouldDoScottBattleFrontierCall(void)
{
- if (FlagGet(FLAG_SCOTT_CALL_NATIONAL_DEX))
+ if (FlagGet(FLAG_SCOTT_CALL_BATTLE_FRONTIER))
{
switch (gMapHeader.mapType)
{
- case 1:
- case 2:
- case 3:
- case 6:
- if (++(*GetVarPointer(VAR_SCOTT_CALL_STEP_COUNTER)) < 10)
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
+ if (++(*GetVarPointer(VAR_SCOTT_BF_CALL_STEP_COUNTER)) < 10)
{
return FALSE;
}
@@ -446,10 +457,10 @@ bool32 ShouldDoRoxanneCall(void)
{
switch (gMapHeader.mapType)
{
- case 1:
- case 2:
- case 3:
- case 6:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
if (++(*GetVarPointer(VAR_ROXANNE_CALL_STEP_COUNTER)) < 250)
{
return FALSE;
@@ -473,10 +484,10 @@ bool32 ShouldDoRivalRayquazaCall(void)
{
switch (gMapHeader.mapType)
{
- case 1:
- case 2:
- case 3:
- case 6:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
if (++(*GetVarPointer(VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER)) < 250)
{
return FALSE;
@@ -516,8 +527,13 @@ void SpawnLinkPartnerEventObject(void)
u8 j = 0;
s16 x = 0;
s16 y = 0;
- u8 gUnknown_085B2B5C[] = {7, 9, 8, 10};
- s8 gUnknown_085B2B60[][2] = {
+ u8 movementTypes[] = {
+ MOVEMENT_TYPE_FACE_UP,
+ MOVEMENT_TYPE_FACE_LEFT,
+ MOVEMENT_TYPE_FACE_DOWN,
+ MOVEMENT_TYPE_FACE_RIGHT
+ };
+ s8 coordOffsets[][2] = {
{ 0, 1},
{ 1, 0},
{ 0, -1},
@@ -577,10 +593,10 @@ void SpawnLinkPartnerEventObject(void)
linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL;
break;
}
- SpawnSpecialEventObjectParameterized(linkSpriteId, gUnknown_085B2B5C[j], 0xf0 - i, gUnknown_085B2B60[j][0] + x + 7, gUnknown_085B2B60[j][1] + y + 7, 0);
- LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 0xf0 - i, i);
+ SpawnSpecialEventObjectParameterized(linkSpriteId, movementTypes[j], 240 - i, coordOffsets[j][0] + x + 7, coordOffsets[j][1] + y + 7, 0);
+ LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 240 - i, i);
j++;
- if (j == 4)
+ if (j == MAX_LINK_PLAYERS)
{
j = 0;
}
@@ -624,33 +640,33 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent
}
}
-static const struct UCoords8 sMauvilleGymSwitchCoords[] = {
+// NOTE: Coordinates are +7, +7 from actual in-map coordinates
+static const struct UCoords8 sMauvilleGymSwitchCoords[] =
+{
{ 7, 22},
{11, 19},
{10, 16},
{15, 16}
};
-// Flips the switches on the ground when the player steps on them.
-void MauvilleGymSpecial1(void)
+// Presses the stepped-on switch and raises the rest
+void MauvilleGymPressSwitch(void)
{
u8 i;
for (i = 0; i < ARRAY_COUNT(sMauvilleGymSwitchCoords); i++)
{
if (i == gSpecialVar_0x8004)
- {
MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, PressedSwitch));
- }
else
- {
MapGridSetMetatileIdAt(sMauvilleGymSwitchCoords[i].x, sMauvilleGymSwitchCoords[i].y, METATILE_ID(MauvilleGym, RaisedSwitch));
- }
}
}
-void MauvilleGymSpecial2(void)
+// Sets the gym barriers back to the default state; their alt state is handled by MauvilleCity_Gym_EventScript_SetAltBarriers
+void MauvilleGymSetDefaultBarriers(void)
{
int x, y;
+ // All switches/barriers are within these coord ranges -7
for (y = 12; y < 24; y++)
{
for (x = 7; x < 16; x++)
@@ -722,13 +738,9 @@ void MauvilleGymSpecial2(void)
break;
case METATILE_ID(MauvilleGym, FloorTile):
if (MapGridGetMetatileIdAt(x, y - 1) == METATILE_ID(MauvilleGym, GreenBeamV1_On))
- {
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, GreenBeamV2_On) | METATILE_COLLISION_MASK);
- }
else
- {
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV2_On) | METATILE_COLLISION_MASK);
- }
break;
case METATILE_ID(MauvilleGym, PoleBottom_Off):
MapGridSetMetatileIdAt(x, y, METATILE_ID(MauvilleGym, RedBeamV1_On) | METATILE_COLLISION_MASK);
@@ -745,7 +757,7 @@ void MauvilleGymSpecial2(void)
}
// Presses all switches and deactivates all beams.
-void MauvilleGymSpecial3(void)
+void MauvilleGymDeactivatePuzzle(void)
{
int i, x, y;
const struct UCoords8 *switchCoords = sMauvilleGymSwitchCoords;
@@ -802,7 +814,7 @@ void MauvilleGymSpecial3(void)
}
}
-static const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1};
+static const bool8 sSlidingDoorNextFrameDelay[] = {0, 1, 1, 1, 1};
static const u16 sPetalburgGymSlidingDoorMetatiles[] = {
METATILE_ID(PetalburgGym, SlidingDoor_Frame0),
@@ -812,21 +824,21 @@ static const u16 sPetalburgGymSlidingDoorMetatiles[] = {
METATILE_ID(PetalburgGym, SlidingDoor_Frame4),
};
-void PetalburgGymSpecial1(void)
+void PetalburgGymSlideOpenRoomDoors(void)
{
- gUnknown_0203AB5C = 0;
- sPetalburgGymSlidingDoorFrameCounter = 0;
+ sSlidingDoorNextFrameCounter = 0;
+ sSlidingDoorFrame = 0;
PlaySE(SE_KI_GASYAN);
- CreateTask(Task_PetalburgGym, 8);
+ CreateTask(Task_PetalburgGymSlideOpenRoomDoors, 8);
}
-static void Task_PetalburgGym(u8 taskId)
+static void Task_PetalburgGymSlideOpenRoomDoors(u8 taskId)
{
- if (gUnknown_085B2B78[sPetalburgGymSlidingDoorFrameCounter] == gUnknown_0203AB5C)
+ if (sSlidingDoorNextFrameDelay[sSlidingDoorFrame] == sSlidingDoorNextFrameCounter)
{
- PetalburgGymFunc(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[sPetalburgGymSlidingDoorFrameCounter]);
- gUnknown_0203AB5C = 0;
- if ((++sPetalburgGymSlidingDoorFrameCounter) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles))
+ PetalburgGymSetDoorMetatiles(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[sSlidingDoorFrame]);
+ sSlidingDoorNextFrameCounter = 0;
+ if ((++sSlidingDoorFrame) == ARRAY_COUNT(sPetalburgGymSlidingDoorMetatiles))
{
DestroyTask(taskId);
EnableBothScriptContexts();
@@ -834,11 +846,11 @@ static void Task_PetalburgGym(u8 taskId)
}
else
{
- gUnknown_0203AB5C++;
+ sSlidingDoorNextFrameCounter++;
}
}
-static void PetalburgGymFunc(u8 roomNumber, u16 metatileId)
+static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId)
{
u16 doorCoordsX[4];
u16 doorCoordsY[4];
@@ -903,9 +915,9 @@ static void PetalburgGymFunc(u8 roomNumber, u16 metatileId)
DrawWholeMapView();
}
-void PetalburgGymSpecial2(void)
+void PetalburgGymUnlockRoomDoors(void)
{
- PetalburgGymFunc(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[4]);
+ PetalburgGymSetDoorMetatiles(gSpecialVar_0x8004, sPetalburgGymSlidingDoorMetatiles[4]);
}
void ShowFieldMessageStringVar4(void)
@@ -965,7 +977,7 @@ void CableCarWarp(void)
}
}
-void SetFlagInVar(void)
+void SetHiddenItemFlag(void)
{
FlagSet(gSpecialVar_0x8004);
}
@@ -983,7 +995,7 @@ u16 GetWeekCount(void)
u8 GetLeadMonFriendshipScore(void)
{
struct Pokemon *pokemon = &gPlayerParty[GetLeadMonIndex()];
- if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == 255)
+ if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == MAX_FRIENDSHIP)
{
return 6;
}
@@ -1077,36 +1089,35 @@ static void PCTurnOnEffect_0(struct Task *task)
task->data[3]++;
}
-// enum pc location,
-static void PCTurnOnEffect_1(s16 flag, s8 dx, s8 dy)
+static void PCTurnOnEffect_1(s16 isPcTurnedOn, s8 dx, s8 dy)
{
u16 tileId = 0;
- if (flag != 0)
+ if (isPcTurnedOn)
{
- if (gSpecialVar_0x8004 == 0)
+ if (gSpecialVar_0x8004 == PC_LOCATION_OTHER)
{
tileId = METATILE_ID(Building, PC_Off);
}
- else if (gSpecialVar_0x8004 == 1)
+ else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE)
{
tileId = METATILE_ID(BrendansMaysHouse, BrendanPC_Off);
}
- else if (gSpecialVar_0x8004 == 2)
+ else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE)
{
tileId = METATILE_ID(BrendansMaysHouse, MayPC_Off);
}
}
else
{
- if (gSpecialVar_0x8004 == 0)
+ if (gSpecialVar_0x8004 == PC_LOCATION_OTHER)
{
tileId = METATILE_ID(Building, PC_On);
}
- else if (gSpecialVar_0x8004 == 1)
+ else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE)
{
tileId = METATILE_ID(BrendansMaysHouse, BrendanPC_On);
}
- else if (gSpecialVar_0x8004 == 2)
+ else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE)
{
tileId = METATILE_ID(BrendansMaysHouse, MayPC_On);
}
@@ -1210,18 +1221,18 @@ void EndLotteryCornerComputerEffect(void)
DrawWholeMapView();
}
-void SetTrickHouseEndRoomFlag(void)
+void SetTrickHouseNuggetFlag(void)
{
u16 *specVar = &gSpecialVar_0x8004;
- u16 flag = FLAG_TRICK_HOUSE_END_ROOM;
+ u16 flag = FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET;
*specVar = flag;
FlagSet(flag);
}
-void ResetTrickHouseEndRoomFlag(void)
+void ResetTrickHouseNuggetFlag(void)
{
u16 *specVar = &gSpecialVar_0x8004;
- u16 flag = FLAG_TRICK_HOUSE_END_ROOM;
+ u16 flag = FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET;
*specVar = flag;
FlagClear(flag);
}
@@ -1294,7 +1305,7 @@ void IsGrassTypeInParty(void)
void SpawnCameraObject(void)
{
- u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
+ u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, MOVEMENT_TYPE_FACE_DOWN, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
gEventObjects[obj].invisible = TRUE;
CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId);
}
@@ -1327,16 +1338,16 @@ void BufferEReaderTrainerName(void)
u16 GetSlotMachineId(void)
{
- static const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6};
- static const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5};
- static const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5};
+ static const u8 sSlotMachineRandomSeeds[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6};
+ static const u8 sSlotMachineIds[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5};
+ static const u8 sSlotMachineServiceDayIds[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5};
- u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004];
- if (GetPriceReduction(2))
+ u32 rnd = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + sSlotMachineRandomSeeds[gSpecialVar_0x8004];
+ if (GetPriceReduction(POKENEWS_GAME_CORNER))
{
- return gUnknown_085B2BA0[v0 % 12];
+ return sSlotMachineServiceDayIds[rnd % SLOT_MACHINE_COUNT];
}
- return gUnknown_085B2B94[v0 % 12];
+ return sSlotMachineIds[rnd % SLOT_MACHINE_COUNT];
}
bool8 FoundAbandonedShipRoom1Key(void)
@@ -1401,9 +1412,9 @@ void GiveLeadMonEffortRibbon(void)
ribbonSet = TRUE;
leadMon = &gPlayerParty[GetLeadMonIndex()];
SetMonData(leadMon, MON_DATA_EFFORT_RIBBON, &ribbonSet);
- if (GetRibbonCount(leadMon) > 4)
+ if (GetRibbonCount(leadMon) > NUM_CUTIES_RIBBONS)
{
- sub_80EE4DC(leadMon, 0x47);
+ TryPutSpotTheCutiesOnAir(leadMon, 0x47);
}
}
@@ -1418,7 +1429,9 @@ bool8 Special_AreLeadMonEVsMaxedOut(void)
u8 TryUpdateRusturfTunnelState(void)
{
- if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL))
+ if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED)
+ && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL)
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL))
{
if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1))
{
@@ -1434,7 +1447,7 @@ u8 TryUpdateRusturfTunnelState(void)
return FALSE;
}
-void SetShoalItemFlag(u16 v0)
+void SetShoalItemFlag(u16 unused)
{
FlagSet(FLAG_SYS_SHOAL_ITEM);
}
@@ -1442,7 +1455,7 @@ void SetShoalItemFlag(u16 v0)
void PutZigzagoonInPlayerParty(void)
{
u16 monData;
- CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0);
+ CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 32, FALSE, 0, OT_ID_PLAYER_ID, 0);
monData = TRUE;
SetMonData(&gPlayerParty[0], MON_DATA_ABILITY_NUM, &monData);
monData = MOVE_TACKLE;
@@ -1482,44 +1495,56 @@ bool8 IsPokerusInParty(void)
return TRUE;
}
-void sub_8139560(void)
+#define horizontalPan data[0]
+#define delayCounter data[1]
+#define numShakes data[2]
+#define delay data[3]
+#define verticalPan data[4]
+
+void ShakeCamera(void)
{
- u8 taskId = CreateTask(sub_81395BC, 9);
- gTasks[taskId].data[0] = gSpecialVar_0x8005;
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[2] = gSpecialVar_0x8006;
- gTasks[taskId].data[3] = gSpecialVar_0x8007;
- gTasks[taskId].data[4] = gSpecialVar_0x8004;
+ u8 taskId = CreateTask(Task_ShakeCamera, 9);
+ gTasks[taskId].horizontalPan = gSpecialVar_0x8005;
+ gTasks[taskId].delayCounter = 0;
+ gTasks[taskId].numShakes = gSpecialVar_0x8006;
+ gTasks[taskId].delay = gSpecialVar_0x8007;
+ gTasks[taskId].verticalPan = gSpecialVar_0x8004;
SetCameraPanningCallback(NULL);
PlaySE(SE_W070);
}
-static void sub_81395BC(u8 taskId)
+static void Task_ShakeCamera(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- data[1]++;
- if (data[1] % data[3] == 0)
+ delayCounter++;
+ if (delayCounter % delay == 0)
{
- data[1] = 0;
- data[2]--;
- data[0] = -data[0];
- data[4] = -data[4];
- SetCameraPanning(data[0], data[4]);
- if (data[2] == 0)
+ delayCounter = 0;
+ numShakes--;
+ horizontalPan = -horizontalPan;
+ verticalPan = -verticalPan;
+ SetCameraPanning(horizontalPan, verticalPan);
+ if (numShakes == 0)
{
- sub_8139620(taskId);
+ StopCameraShake(taskId);
InstallCameraPanAheadCallback();
}
}
}
-static void sub_8139620(u8 taskId)
+static void StopCameraShake(u8 taskId)
{
DestroyTask(taskId);
EnableBothScriptContexts();
}
+#undef horizontalPan
+#undef delayCounter
+#undef numShakes
+#undef delay
+#undef verticalPan
+
bool8 FoundBlackGlasses(void)
{
return FlagGet(FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES);
@@ -1529,7 +1554,7 @@ void SetRoute119Weather(void)
{
if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE)
{
- SetSav1Weather(20);
+ SetSav1Weather(WEATHER_ROUTE119_CYCLE);
}
}
@@ -1537,7 +1562,7 @@ void SetRoute123Weather(void)
{
if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE)
{
- SetSav1Weather(21);
+ SetSav1Weather(WEATHER_ROUTE123_CYCLE);
}
}
@@ -1560,9 +1585,10 @@ u16 ScriptGetPartyMonSpecies(void)
return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL);
}
-void nullsub_54(void)
+// Removed for Emerald
+void TryInitBattleTowerAwardManEventObject(void)
{
-
+ //TryInitLocalEventObject(6);
}
u16 GetDaysUntilPacifidlogTMAvailable(void)
@@ -1585,18 +1611,16 @@ u16 SetPacifidlogTMReceivedDay(void)
return gLocalTime.days;
}
-bool8 MonOTNameMatchesPlayer(void)
+bool8 MonOTNameNotPlayer(void)
{
if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_LANGUAGE) != GAME_LANGUAGE)
- {
- return TRUE; // huh?
- }
+ return TRUE;
GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1);
+
if (!StringCompare(gSaveBlock2Ptr->playerName, gStringVar1))
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1609,20 +1633,20 @@ void BufferLottoTicketNumber(void)
else if (gSpecialVar_Result >= 1000)
{
gStringVar1[0] = CHAR_0;
- ConvertIntToDecimalStringN(gStringVar1 + 1, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result));
+ ConvertIntToDecimalStringN(gStringVar1 + 1, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result));
}
else if (gSpecialVar_Result >= 100)
{
gStringVar1[0] = CHAR_0;
gStringVar1[1] = CHAR_0;
- ConvertIntToDecimalStringN(gStringVar1 + 2, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result));
+ ConvertIntToDecimalStringN(gStringVar1 + 2, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result));
}
else if (gSpecialVar_Result >= 10)
{
gStringVar1[0] = CHAR_0;
gStringVar1[1] = CHAR_0;
gStringVar1[2] = CHAR_0;
- ConvertIntToDecimalStringN(gStringVar1 + 3, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result));
+ ConvertIntToDecimalStringN(gStringVar1 + 3, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result));
}
else
{
@@ -1630,30 +1654,30 @@ void BufferLottoTicketNumber(void)
gStringVar1[1] = CHAR_0;
gStringVar1[2] = CHAR_0;
gStringVar1[3] = CHAR_0;
- ConvertIntToDecimalStringN(gStringVar1 + 4, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result));
+ ConvertIntToDecimalStringN(gStringVar1 + 4, gSpecialVar_Result, STR_CONV_MODE_LEFT_ALIGN, CountDigits(gSpecialVar_Result));
}
}
-u16 sub_813986C(void)
+u16 GetMysteryEventCardVal(void)
{
switch (gSpecialVar_Result)
{
- case 0:
- return mevent_081445C0(3);
- case 1:
- return mevent_081445C0(4);
- case 2:
- return mevent_081445C0(0);
- case 3:
+ case GET_NUM_STAMPS:
+ return mevent_081445C0(GET_NUM_STAMPS_INTERNAL);
+ case GET_MAX_STAMPS:
+ return mevent_081445C0(GET_MAX_STAMPS_INTERNAL);
+ case GET_CARD_BATTLES_WON:
+ return mevent_081445C0(GET_CARD_BATTLES_WON_INTERNAL);
+ case 3: // Never occurs
return mevent_081445C0(1);
- case 4:
+ case 4: // Never occurs
return mevent_081445C0(2);
default:
return 0;
}
}
-bool8 sub_81398C0(void)
+bool8 BufferTMHMMoveName(void)
{
if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08)
{
@@ -1664,36 +1688,37 @@ bool8 sub_81398C0(void)
return FALSE;
}
-bool8 sub_813990C(void)
+bool8 IsBadEggInParty(void)
{
u8 partyCount = CalculatePlayerPartyCount();
u8 i;
for (i = 0; i < partyCount; i++)
{
- if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == 1)
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == TRUE)
return TRUE;
}
return FALSE;
}
-bool8 InMultiBattleRoom(void)
+bool8 InMultiPartnerRoom(void)
{
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM)
- && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) &&
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM)
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) &&
VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_MULTIS)
return TRUE;
return FALSE;
}
-void sub_8139980(void)
+void OffsetCameraForBattle(void)
{
SetCameraPanningCallback(NULL);
SetCameraPanning(8, 0);
}
-const struct WindowTemplate gUnknown_085B2BAC = {
+const struct WindowTemplate gElevatorFloor_WindowTemplate =
+{
.bg = 0,
.tilemapLeft = 21,
.tilemapTop = 1,
@@ -1703,23 +1728,24 @@ const struct WindowTemplate gUnknown_085B2BAC = {
.baseBlock = 8,
};
-const u8 *const gElevatorFloorsTable[] = {
- gText_B4F,
- gText_B3F,
- gText_B2F,
- gText_B1F,
- gText_1F,
- gText_2F,
- gText_3F,
- gText_4F,
- gText_5F,
- gText_6F,
- gText_7F,
- gText_8F,
- gText_9F,
- gText_10F,
- gText_11F,
- gText_Rooftop
+const u8 *const gDeptStoreFloorNames[] =
+{
+ [DEPT_STORE_FLOORNUM_B4F] = gText_B4F,
+ [DEPT_STORE_FLOORNUM_B3F] = gText_B3F,
+ [DEPT_STORE_FLOORNUM_B2F] = gText_B2F,
+ [DEPT_STORE_FLOORNUM_B1F] = gText_B1F,
+ [DEPT_STORE_FLOORNUM_1F] = gText_1F,
+ [DEPT_STORE_FLOORNUM_2F] = gText_2F,
+ [DEPT_STORE_FLOORNUM_3F] = gText_3F,
+ [DEPT_STORE_FLOORNUM_4F] = gText_4F,
+ [DEPT_STORE_FLOORNUM_5F] = gText_5F,
+ [DEPT_STORE_FLOORNUM_6F] = gText_6F,
+ [DEPT_STORE_FLOORNUM_7F] = gText_7F,
+ [DEPT_STORE_FLOORNUM_8F] = gText_8F,
+ [DEPT_STORE_FLOORNUM_9F] = gText_9F,
+ [DEPT_STORE_FLOORNUM_10F] = gText_10F,
+ [DEPT_STORE_FLOORNUM_11F] = gText_11F,
+ [DEPT_STORE_FLOORNUM_ROOFTOP] = gText_Rooftop
};
static const u16 sElevatorWindowTiles_Ascending[][3] =
@@ -1760,104 +1786,105 @@ static const u16 sElevatorWindowTiles_Descending[][3] =
},
};
-void SetDepartmentStoreFloorVar(void)
+void SetDeptStoreFloor(void)
{
u8 deptStoreFloor;
switch (gSaveBlock1Ptr->dynamicWarp.mapNum)
{
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
- deptStoreFloor = 4;
+ deptStoreFloor = DEPT_STORE_FLOORNUM_1F;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
- deptStoreFloor = 5;
+ deptStoreFloor = DEPT_STORE_FLOORNUM_2F;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
- deptStoreFloor = 6;
+ deptStoreFloor = DEPT_STORE_FLOORNUM_3F;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
- deptStoreFloor = 7;
+ deptStoreFloor = DEPT_STORE_FLOORNUM_4F;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
- deptStoreFloor = 8;
+ deptStoreFloor = DEPT_STORE_FLOORNUM_5F;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP):
- deptStoreFloor = 15;
+ deptStoreFloor = DEPT_STORE_FLOORNUM_ROOFTOP;
break;
default:
- deptStoreFloor = 4;
+ deptStoreFloor = DEPT_STORE_FLOORNUM_1F;
break;
}
VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor);
}
-u16 sub_81399F4(void)
+u16 GetDeptStoreDefaultFloorChoice(void)
{
- gUnknown_0203AB60 = 0;
- gUnknown_0203AB62 = 0;
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 0;
if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_1F))
{
switch (gSaveBlock1Ptr->dynamicWarp.mapNum)
{
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
- gUnknown_0203AB60 = 0;
- gUnknown_0203AB62 = 0;
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 0;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
- gUnknown_0203AB60 = 0;
- gUnknown_0203AB62 = 1;
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 1;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
- gUnknown_0203AB60 = 0;
- gUnknown_0203AB62 = 2;
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 2;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
- gUnknown_0203AB60 = 0;
- gUnknown_0203AB62 = 3;
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 3;
break;
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
- gUnknown_0203AB60 = 0;
- gUnknown_0203AB62 = 4;
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 4;
break;
}
}
- return gUnknown_0203AB62;
+ return sLilycoveDeptStore_DefaultFloorChoice;
}
-void ShakeScreenInElevator(void)
+void MoveElevator(void)
{
- static const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 };
+ static const u8 sElevatorTripLength[] = { 8, 16, 24, 32, 38, 46, 52, 56, 57 };
- s16 *data = gTasks[CreateTask(sub_8139AF4, 9)].data;
+ s16 *data = gTasks[CreateTask(Task_MoveElevator, 9)].data;
u16 floorDelta;
data[1] = 0;
data[2] = 0;
data[4] = 1;
+ // descending
if (gSpecialVar_0x8005 > gSpecialVar_0x8006)
{
floorDelta = gSpecialVar_0x8005 - gSpecialVar_0x8006;
- data[6] = 1;
+ data[6] = TRUE;
}
else
{
floorDelta = gSpecialVar_0x8006 - gSpecialVar_0x8005;
- data[6] = 0;
+ data[6] = FALSE;
}
if (floorDelta > 8)
floorDelta = 8;
- data[5] = gUnknown_085B2C18[floorDelta];
+ data[5] = sElevatorTripLength[floorDelta];
SetCameraPanningCallback(NULL);
- sub_8139C2C(floorDelta, data[6]);
+ MoveElevatorWindowLights(floorDelta, data[6]);
PlaySE(SE_ELEBETA);
}
-static void sub_8139AF4(u8 taskId)
+static void Task_MoveElevator(u8 taskId)
{
s16 *data = gTasks[taskId].data;
data[1]++;
@@ -1867,6 +1894,8 @@ static void sub_8139AF4(u8 taskId)
data[2]++;
data[4] = -data[4];
SetCameraPanning(0, data[4]);
+
+ // arrived at floor
if (data[2] == data[5])
{
PlaySE(SE_PINPON);
@@ -1877,44 +1906,44 @@ static void sub_8139AF4(u8 taskId)
}
}
-void sub_8139B60(void)
+void ShowDeptStoreElevatorFloorSelect(void)
{
int xPos;
- gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC);
- SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0);
+ sTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate);
+ SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0);
xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64);
- AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
- xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64);
- AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
+ xPos = GetStringCenterAlignXOffset(1, gDeptStoreFloorNames[gSpecialVar_0x8005], 64);
+ AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
- PutWindowTilemap(gUnknown_0203AB5E);
- CopyWindowToVram(gUnknown_0203AB5E, 3);
+ PutWindowTilemap(sTutorMoveAndElevatorWindowId);
+ CopyWindowToVram(sTutorMoveAndElevatorWindowId, 3);
}
-void sub_8139C10(void)
+void CloseDeptStoreElevatorWindow(void)
{
- ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE);
- RemoveWindow(gUnknown_0203AB5E);
+ ClearStdWindowAndFrameToTransparent(sTutorMoveAndElevatorWindowId, TRUE);
+ RemoveWindow(sTutorMoveAndElevatorWindowId);
}
-static void sub_8139C2C(u16 a1, bool8 descending)
+static void MoveElevatorWindowLights(u16 floorDelta, bool8 descending)
{
- static const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b };
+ static const u8 sElevatorLightCycles[] = { 3, 6, 9, 12, 15, 18, 21, 24, 27 };
- if (FuncIsActiveTask(MoveElevatorWindowLights) != TRUE)
+ if (FuncIsActiveTask(Task_MoveElevatorWindowLights) != TRUE)
{
- u8 taskId = CreateTask(MoveElevatorWindowLights, 8);
+ u8 taskId = CreateTask(Task_MoveElevatorWindowLights, 8);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = descending;
- gTasks[taskId].data[3] = gUnknown_085B2C21[a1];
+ gTasks[taskId].data[3] = sElevatorLightCycles[floorDelta];
}
}
-static void MoveElevatorWindowLights(u8 taskId)
+static void Task_MoveElevatorWindowLights(u8 taskId)
{
u8 x, y;
s16 *data = gTasks[taskId].data;
@@ -1922,6 +1951,8 @@ static void MoveElevatorWindowLights(u8 taskId)
if (data[1] == 6)
{
data[0]++;
+
+ // ascending
if (data[2] == FALSE)
{
for (y = 0; y < 3; y++)
@@ -1932,6 +1963,7 @@ static void MoveElevatorWindowLights(u8 taskId)
}
}
}
+ // descending
else
{
for (y = 0; y < 3; y++)
@@ -1952,7 +1984,7 @@ static void MoveElevatorWindowLights(u8 taskId)
data[1]++;
}
-void sub_8139D98(void)
+void BufferVarsForIVRater(void)
{
u8 i;
u32 ivStorage[NUM_STATS];
@@ -1993,23 +2025,44 @@ void sub_8139D98(void)
}
}
-bool8 warp0_in_pokecenter(void)
-{
- static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xFFFF };
+bool8 UsedPokemonCenterWarp(void)
+{
+ static const u16 sPokemonCenters[] =
+ {
+ MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
+ MAP_DEWFORD_TOWN_POKEMON_CENTER_1F,
+ MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
+ MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F,
+ MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F,
+ MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
+ MAP_PETALBURG_CITY_POKEMON_CENTER_1F,
+ MAP_SLATEPORT_CITY_POKEMON_CENTER_1F,
+ MAP_MAUVILLE_CITY_POKEMON_CENTER_1F,
+ MAP_RUSTBORO_CITY_POKEMON_CENTER_1F,
+ MAP_FORTREE_CITY_POKEMON_CENTER_1F,
+ MAP_LILYCOVE_CITY_POKEMON_CENTER_1F,
+ MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F,
+ MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
+ MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
+ MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
+ MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
+ MAP_UNION_ROOM,
+ 0xFFFF
+ };
int i;
u16 map = (gLastUsedWarp.mapGroup << 8) + gLastUsedWarp.mapNum;
- for (i = 0; gUnknown_085B2C2A[i] != 0xFFFF; i++)
+ for (i = 0; sPokemonCenters[i] != 0xFFFF; i++)
{
- if (gUnknown_085B2C2A[i] == map)
+ if (sPokemonCenters[i] == map)
return TRUE;
}
return FALSE;
}
-bool32 sub_8139ED0(void)
+bool32 PlayerNotAtTrainerHillEntrance(void)
{
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE))
{
@@ -2018,130 +2071,191 @@ bool32 sub_8139ED0(void)
return TRUE;
}
-void UpdateFrontierManiac(u16 a0)
+void UpdateFrontierManiac(u16 daysSince)
{
u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY);
- *var += a0;
- *var %= 10;
-}
-
-void sub_8139F20(void)
-{
- static const u8 *const gUnknown_085B2C50[][3] = {
- { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 },
- { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C },
- { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 },
- { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A },
- { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A },
- { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 },
- { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F },
- { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 },
- { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 },
- { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 },
+ *var += daysSince;
+ *var %= FRONTIER_MANIAC_FACILITY_COUNT;
+}
+
+void ShowFrontierManiacMessage(void)
+{
+ static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] =
+ {
+ [FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] =
+ {
+ BattleFrontier_Lounge2_Text_SalonMaidenIsThere,
+ BattleFrontier_Lounge2_Text_SalonMaidenSilverMons,
+ BattleFrontier_Lounge2_Text_SalonMaidenGoldMons
+ },
+ [FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] =
+ {
+ BattleFrontier_Lounge2_Text_DoubleBattleAdvice1,
+ BattleFrontier_Lounge2_Text_DoubleBattleAdvice2,
+ BattleFrontier_Lounge2_Text_DoubleBattleAdvice3
+ },
+ [FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] =
+ {
+ BattleFrontier_Lounge2_Text_MultiBattleAdvice,
+ BattleFrontier_Lounge2_Text_MultiBattleAdvice,
+ BattleFrontier_Lounge2_Text_MultiBattleAdvice
+ },
+ [FRONTIER_MANIAC_BATTLE_TOWER_LINK] =
+ {
+ BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
+ BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
+ BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice
+ },
+ [FRONTIER_MANIAC_BATTLE_DOME] =
+ {
+ BattleFrontier_Lounge2_Text_DomeAceIsThere,
+ BattleFrontier_Lounge2_Text_DomeAceSilverMons,
+ BattleFrontier_Lounge2_Text_DomeAceGoldMons
+ },
+ [FRONTIER_MANIAC_BATTLE_FACTORY] =
+ {
+ BattleFrontier_Lounge2_Text_FactoryHeadIsThere,
+ BattleFrontier_Lounge2_Text_FactoryHeadSilverMons,
+ BattleFrontier_Lounge2_Text_FactoryHeadGoldMons
+ },
+ [FRONTIER_MANIAC_BATTLE_PALACE] =
+ {
+ BattleFrontier_Lounge2_Text_PalaceMavenIsThere,
+ BattleFrontier_Lounge2_Text_PalaceMavenSilverMons,
+ BattleFrontier_Lounge2_Text_PalaceMavenGoldMons
+ },
+ [FRONTIER_MANIAC_BATTLE_ARENA] =
+ {
+ BattleFrontier_Lounge2_Text_ArenaTycoonIsThere,
+ BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons,
+ BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons
+ },
+ [FRONTIER_MANIAC_BATTLE_PIKE] =
+ {
+ BattleFrontier_Lounge2_Text_PikeQueenIsThere,
+ BattleFrontier_Lounge2_Text_PikeQueenSilverMons,
+ BattleFrontier_Lounge2_Text_PikeQueenGoldMons
+ },
+ [FRONTIER_MANIAC_BATTLE_PYRAMID] =
+ {
+ BattleFrontier_Lounge2_Text_PyramidKingIsThere,
+ BattleFrontier_Lounge2_Text_PyramidKingSilverMons,
+ BattleFrontier_Lounge2_Text_PyramidKingGoldMons
+ },
};
- static const u8 gUnknown_085B2CC8[][2] = {
- { 0x15, 0x38 },
- { 0x15, 0x23 },
- { 0xff, 0xff },
- { 0xff, 0xff },
- { 0x02, 0x04 },
- { 0x07, 0x15 },
- { 0x07, 0x15 },
- { 0x0e, 0x1c },
- { 0x0d, 0x70 },
- { 0x07, 0x38 }
+ static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] =
+ {
+ [FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 },
+ [FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 },
+ [FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] = { 255, 255 },
+ [FRONTIER_MANIAC_BATTLE_TOWER_LINK] = { 255, 255 },
+ [FRONTIER_MANIAC_BATTLE_DOME] = { 2, 4 },
+ [FRONTIER_MANIAC_BATTLE_FACTORY] = { 7, 21 },
+ [FRONTIER_MANIAC_BATTLE_PALACE] = { 7, 21 },
+ [FRONTIER_MANIAC_BATTLE_ARENA] = { 14, 28 },
+ [FRONTIER_MANIAC_BATTLE_PIKE] = { 13, 112 }, //BUG: 112 (0x70) is probably a mistake; the Pike Queen is battled twice well before that
+ [FRONTIER_MANIAC_BATTLE_PYRAMID] = { 7, 56 }
};
u8 i;
- u16 unk = 0;
- u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY);
- switch (var)
+ u16 winStreak = 0;
+ u16 facility = VarGet(VAR_FRONTIER_MANIAC_FACILITY);
+
+ switch (facility)
{
- case 0:
- case 1:
- case 2:
- case 3:
- if (gSaveBlock2Ptr->frontier.towerWinStreaks[var][0] >= gSaveBlock2Ptr->frontier.towerWinStreaks[var][1])
+ case FRONTIER_MANIAC_BATTLE_TOWER_SINGLES:
+ case FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES:
+ case FRONTIER_MANIAC_BATTLE_TOWER_MULTIS:
+ case FRONTIER_MANIAC_BATTLE_TOWER_LINK:
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN])
{
- unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][0];
+ winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50];
}
else
{
- unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][1];
+ winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN];
}
break;
- case 4:
- if (gSaveBlock2Ptr->frontier.domeWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.domeWinStreaks[0][1])
+ case FRONTIER_MANIAC_BATTLE_DOME:
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
{
- unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][0];
+ winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
}
else
{
- unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][1];
+ winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
}
break;
- case 5:
- if (gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1])
+ case FRONTIER_MANIAC_BATTLE_FACTORY:
+ if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
{
- unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0];
+ winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
}
else
{
- unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1];
+ winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
}
break;
- case 6:
- if (gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1])
+ case FRONTIER_MANIAC_BATTLE_PALACE:
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
{
- unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0];
+ winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
}
else
{
- unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1];
+ winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
}
break;
- case 7:
- if (gSaveBlock2Ptr->frontier.arenaWinStreaks[0] >= gSaveBlock2Ptr->frontier.arenaWinStreaks[1])
+ case FRONTIER_MANIAC_BATTLE_ARENA:
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN])
{
- unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[0];
+ winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50];
}
else
{
- unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[1];
+ winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN];
}
break;
- case 8:
- if (gSaveBlock2Ptr->frontier.pikeWinStreaks[0] >= gSaveBlock2Ptr->frontier.pikeWinStreaks[1])
+ case FRONTIER_MANIAC_BATTLE_PIKE:
+ if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN])
{
- unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[0];
+ winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50];
}
else
{
- unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[1];
+ winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN];
}
break;
- case 9:
- if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[0] >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[1])
+ case FRONTIER_MANIAC_BATTLE_PYRAMID:
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN])
{
- unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[0];
+ winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
}
else
{
- unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[1];
+ winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
}
break;
}
- for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < unk; i++);
+ for (i = 0; i < FRONTIER_MANIAC_MESSAGE_COUNT - 1 && sFrontierManiacStreakThresholds[facility][i] < winStreak; i++);
- ShowFieldMessage(gUnknown_085B2C50[var][i]);
+ ShowFieldMessage(sFrontierManiacMessages[facility][i]);
}
-void sub_813A080(void)
+// gSpecialVar_0x8005 and 0x8006 here are used by MoveElevator
+void BufferBattleTowerElevatorFloors(void)
{
- static const u16 gUnknown_085B2CDC[] = {
- 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000
+ static const u16 sBattleTowerStreakThresholds[] = {
+ 7, 14, 21, 28, 35, 49, 63, 77, 91, 0
};
u8 i;
@@ -2155,9 +2269,9 @@ void sub_813A080(void)
return;
}
- for (i = 0; i < 9; i++)
+ for (i = 0; i < ARRAY_COUNT(sBattleTowerStreakThresholds) - 1; i++)
{
- if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode])
+ if (sBattleTowerStreakThresholds[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode])
{
gSpecialVar_0x8005 = 4;
gSpecialVar_0x8006 = i + 5;
@@ -2169,161 +2283,166 @@ void sub_813A080(void)
gSpecialVar_0x8006 = 12;
}
-void sub_813A128(void)
-{
- u8 taskId = CreateTask(sub_813A2DC, 8);
+// Scrollable Multichoice task data defines
+#define tMaxItemsOnScreen data[0]
+#define tNumItems data[1]
+#define tLeft data[2]
+#define tTop data[3]
+#define tWidth data[4]
+#define tHeight data[5]
+#define tKeepOpenAfterSelect data[6]
+#define tScrollOffset data[7]
+#define tSelectedRow data[8]
+#define tScrollMultiId data[11]
+#define tScrollArrowId data[12]
+#define tWindowId data[13]
+#define tListTaskId data[14]
+#define tTaskId data[15]
+// data[9] and [10] unused
+
+void ShowScrollableMultichoice(void)
+{
+ u8 taskId = CreateTask(Task_ShowScrollableMultichoice, 8);
struct Task *task = &gTasks[taskId];
- task->data[11] = gSpecialVar_0x8004;
+ task->tScrollMultiId = gSpecialVar_0x8004;
switch (gSpecialVar_0x8004)
{
- case 0:
- task->data[0] = 1;
- task->data[1] = 1;
- task->data[2] = 1;
- task->data[3] = 1;
- task->data[4] = 1;
- task->data[5] = 1;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_NONE:
+ task->tMaxItemsOnScreen = 1;
+ task->tNumItems = 1;
+ task->tLeft = 1;
+ task->tTop = 1;
+ task->tWidth = 1;
+ task->tHeight = 1;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 1:
- task->data[0] = 5;
- task->data[1] = 8;
- task->data[2] = 1;
- task->data[3] = 1;
- task->data[4] = 9;
- task->data[5] = 10;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_GLASS_WORKSHOP_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN - 1;
+ task->tNumItems = 8;
+ task->tLeft = 1;
+ task->tTop = 1;
+ task->tWidth = 9;
+ task->tHeight = 10;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 2:
- task->data[0] = 6;
- task->data[1] = 12;
- task->data[2] = 1;
- task->data[3] = 1;
- task->data[4] = 7;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_POKEMON_FAN_CLUB_RATER:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 12;
+ task->tLeft = 1;
+ task->tTop = 1;
+ task->tWidth = 7;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 3:
- task->data[0] = 6;
- task->data[1] = 11;
- task->data[2] = 14;
- task->data[3] = 1;
- task->data[4] = 15;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 11;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 4:
- task->data[0] = 6;
- task->data[1] = 6;
- task->data[2] = 14;
- task->data[3] = 1;
- task->data[4] = 15;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 6;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 5:
- task->data[0] = 6;
- task->data[1] = 7;
- task->data[2] = 14;
- task->data[3] = 1;
- task->data[4] = 15;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 7;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 6:
- task->data[0] = 6;
- task->data[1] = 10;
- task->data[2] = 14;
- task->data[3] = 1;
- task->data[4] = 15;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 10;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 7:
- task->data[0] = 6;
- task->data[1] = 12;
- task->data[2] = 15;
- task->data[3] = 1;
- task->data[4] = 14;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BERRY_POWDER_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 12;
+ task->tLeft = 15;
+ task->tTop = 1;
+ task->tWidth = 14;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 8:
- task->data[0] = 6;
- task->data[1] = 10;
- task->data[2] = 17;
- task->data[3] = 1;
- task->data[4] = 11;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BF_RECEPTIONIST:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 10;
+ task->tLeft = 17;
+ task->tTop = 1;
+ task->tWidth = 11;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 9:
- case 10:
- task->data[0] = 6;
- task->data[1] = 11;
- task->data[2] = 15;
- task->data[3] = 1;
- task->data[4] = 14;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BF_MOVE_TUTOR_1:
+ case SCROLL_MULTI_BF_MOVE_TUTOR_2:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 11;
+ task->tLeft = 15;
+ task->tTop = 1;
+ task->tWidth = 14;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 11:
- task->data[0] = 6;
- task->data[1] = 7;
- task->data[2] = 19;
- task->data[3] = 1;
- task->data[4] = 10;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_SS_TIDAL_DESTINATION:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 7;
+ task->tLeft = 19;
+ task->tTop = 1;
+ task->tWidth = 10;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
- case 12:
- task->data[0] = 6;
- task->data[1] = 7;
- task->data[2] = 17;
- task->data[3] = 1;
- task->data[4] = 12;
- task->data[5] = 12;
- task->data[6] = 0;
- task->data[15] = taskId;
+ case SCROLL_MULTI_BATTLE_TENT_RULES:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 7;
+ task->tLeft = 17;
+ task->tTop = 1;
+ task->tWidth = 12;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
break;
default:
- gSpecialVar_Result = 0x7F;
+ gSpecialVar_Result = MULTI_B_PRESSED;
DestroyTask(taskId);
break;
}
}
-static const u8 *const gUnknown_085B2CF0[][16] = {
+static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH] =
+{
+ [SCROLL_MULTI_NONE] =
{
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] =
{
gText_BlueFlute,
gText_YellowFlute,
@@ -2332,16 +2451,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_BlackFlute,
gText_PrettyChair,
gText_PrettyDesk,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] =
{
gText_0Pts,
gText_10Pts,
@@ -2354,12 +2466,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_80Pts,
gText_90Pts,
gText_100Pts,
- gText_QuestionMark,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_QuestionMark
},
+ [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] =
{
gText_KissPoster16BP,
gText_KissCushion32BP,
@@ -2371,31 +2480,18 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_CyndaquilDoll80BP,
gText_ChikoritaDoll80BP,
gText_TotodileDoll80BP,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2] =
{
gText_LaprasDoll128BP,
gText_SnorlaxDoll128BP,
gText_VenusaurDoll256BP,
gText_CharizardDoll256BP,
gText_BlastoiseDoll256BP,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR] =
{
gText_Protein1BP,
gText_Calcium1BP,
@@ -2403,17 +2499,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_Zinc1BP,
gText_Carbos1BP,
gText_HpUp1BP,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR] =
{
gText_Leftovers48BP,
gText_WhiteHerb48BP,
@@ -2424,14 +2512,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_KingsRock64BP,
gText_FocusBand64BP,
gText_ScopeLens64BP,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BERRY_POWDER_VENDOR] =
{
gText_EnergyPowder50,
gText_EnergyRoot80,
@@ -2444,12 +2527,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_Zinc1000,
gText_HPUp1000,
gText_PPUp3000,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BF_RECEPTIONIST] =
{
gText_BattleTower2,
gText_BattleDome,
@@ -2460,14 +2540,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_BattlePyramid,
gText_RankingHall,
gText_ExchangeService,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BF_MOVE_TUTOR_1] =
{
gText_Softboiled16BP,
gText_SeismicToss24BP,
@@ -2479,13 +2554,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_Counter48BP,
gText_ThunderWave48BP,
gText_SwordsDance48BP,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BF_MOVE_TUTOR_2] =
{
gText_DefenseCurl16BP,
gText_Snore24BP,
@@ -2497,13 +2568,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_IcePunch48BP,
gText_ThunderPunch48BP,
gText_FirePunch48BP,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_SS_TIDAL_DESTINATION] =
{
gText_SlateportCity,
gText_BattleFrontier,
@@ -2511,17 +2578,9 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_NavelRock,
gText_BirthIsland,
gText_FarawayIsland,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
},
+ [SCROLL_MULTI_BATTLE_TENT_RULES] =
{
gText_BattleTrainers,
gText_BattleBasics,
@@ -2529,142 +2588,134 @@ static const u8 *const gUnknown_085B2CF0[][16] = {
gText_PokemonMoves,
gText_Underpowered,
gText_WhenInDanger,
- gText_Exit,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ gText_Exit
}
};
-static void sub_813A2DC(u8 taskId)
+static void Task_ShowScrollableMultichoice(u8 taskId)
{
- u32 unk1;
+ u32 width;
u8 i, windowId;
struct WindowTemplate template;
struct Task *task = &gTasks[taskId];
ScriptContext2_Enable();
- gUnknown_0203AB68 = 0;
- gUnknown_0203AB6C = 0x40;
- sub_813AA60(task->data[11], 0);
- sub_813ACE8(task->data[11], 0);
- gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8);
- gUnknown_0203AB6A = 0;
- sub_813A42C();
+ sScrollableMultichoice_ScrollOffset = 0;
+ sScrollableMultichoice_ItemSpriteId = MAX_SPRITES;
+ FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, 0);
+ ShowBattleFrontierTutorWindow(task->tScrollMultiId, 0);
+ sScrollableMultichoice_ListMenuItem = AllocZeroed(task->tNumItems * 8);
+ sFrontierExchangeCorner_NeverRead = 0;
+ InitScrollableMultichoice();
- for (unk1 = 0, i = 0; i < task->data[1]; i++)
+ for (width = 0, i = 0; i < task->tNumItems; i++)
{
- const u8 *text = gUnknown_085B2CF0[gSpecialVar_0x8004][i];
- gUnknown_0203AB64[i].name = text;
- gUnknown_0203AB64[i].id = i;
- unk1 = display_text_and_get_width(text, unk1);
+ const u8 *text = sScrollableMultichoiceOptions[gSpecialVar_0x8004][i];
+ sScrollableMultichoice_ListMenuItem[i].name = text;
+ sScrollableMultichoice_ListMenuItem[i].id = i;
+ width = DisplayTextAndGetWidth(text, width);
}
- task->data[4] = convert_pixel_width_to_tile_width(unk1);
+ task->tWidth = ConvertPixelWidthToTileWidth(width);
- if (task->data[2] + task->data[4] > 0x1D)
+ if (task->tLeft + task->tWidth > MAX_MULTICHOICE_WIDTH + 1)
{
- int unk2 = 0x1D - task->data[4];
- if (unk2 < 0)
+ int adjustedLeft = MAX_MULTICHOICE_WIDTH + 1 - task->tWidth;
+ if (adjustedLeft < 0)
{
- task->data[2] = 0;
+ task->tLeft = 0;
}
else
{
- task->data[2] = unk2;
+ task->tLeft = adjustedLeft;
}
}
- template = CreateWindowTemplate(0, task->data[2], task->data[3], task->data[4], task->data[5], 0xF, 0x64);
+ template = CreateWindowTemplate(0, task->tLeft, task->tTop, task->tWidth, task->tHeight, 0xF, 0x64);
windowId = AddWindow(&template);
- task->data[13] = windowId;
+ task->tWindowId = windowId;
SetStandardWindowBorderStyle(windowId, 0);
- gUnknown_030061D0.totalItems = task->data[1];
- gUnknown_030061D0.maxShowed = task->data[0];
- gUnknown_030061D0.windowId = task->data[13];
+ gScrollableMultichoice_ListMenuTemplate.totalItems = task->tNumItems;
+ gScrollableMultichoice_ListMenuTemplate.maxShowed = task->tMaxItemsOnScreen;
+ gScrollableMultichoice_ListMenuTemplate.windowId = task->tWindowId;
- sub_813A694(taskId);
- task->data[14] = ListMenuInit(&gUnknown_030061D0, task->data[7], task->data[8]);
+ ScrollableMultichoice_UpdateScrollArrows(taskId);
+ task->tListTaskId = ListMenuInit(&gScrollableMultichoice_ListMenuTemplate, task->tScrollOffset, task->tSelectedRow);
schedule_bg_copy_tilemap_to_vram(0);
- gTasks[taskId].func = sub_813A4EC;
+ gTasks[taskId].func = ScrollableMultichoice_ProcessInput;
}
-static void sub_813A42C(void)
+static void InitScrollableMultichoice(void)
{
- gUnknown_030061D0.items = gUnknown_0203AB64;
- gUnknown_030061D0.moveCursorFunc = sub_813A46C;
- gUnknown_030061D0.itemPrintFunc = NULL;
- gUnknown_030061D0.totalItems = 1;
- gUnknown_030061D0.maxShowed = 1;
- gUnknown_030061D0.windowId = 0;
- gUnknown_030061D0.header_X = 0;
- gUnknown_030061D0.item_X = 8;
- gUnknown_030061D0.cursor_X = 0;
- gUnknown_030061D0.upText_Y = 1;
- gUnknown_030061D0.cursorPal = 2;
- gUnknown_030061D0.fillValue = 1;
- gUnknown_030061D0.cursorShadowPal = 3;
- gUnknown_030061D0.lettersSpacing = 0;
- gUnknown_030061D0.itemVerticalPadding = 0;
- gUnknown_030061D0.scrollMultiple = 0;
- gUnknown_030061D0.fontId = 1;
- gUnknown_030061D0.cursorKind = 0;
+ gScrollableMultichoice_ListMenuTemplate.items = sScrollableMultichoice_ListMenuItem;
+ gScrollableMultichoice_ListMenuTemplate.moveCursorFunc = ScrollableMultichoice_MoveCursor;
+ gScrollableMultichoice_ListMenuTemplate.itemPrintFunc = NULL;
+ gScrollableMultichoice_ListMenuTemplate.totalItems = 1;
+ gScrollableMultichoice_ListMenuTemplate.maxShowed = 1;
+ gScrollableMultichoice_ListMenuTemplate.windowId = 0;
+ gScrollableMultichoice_ListMenuTemplate.header_X = 0;
+ gScrollableMultichoice_ListMenuTemplate.item_X = 8;
+ gScrollableMultichoice_ListMenuTemplate.cursor_X = 0;
+ gScrollableMultichoice_ListMenuTemplate.upText_Y = 1;
+ gScrollableMultichoice_ListMenuTemplate.cursorPal = 2;
+ gScrollableMultichoice_ListMenuTemplate.fillValue = 1;
+ gScrollableMultichoice_ListMenuTemplate.cursorShadowPal = 3;
+ gScrollableMultichoice_ListMenuTemplate.lettersSpacing = 0;
+ gScrollableMultichoice_ListMenuTemplate.itemVerticalPadding = 0;
+ gScrollableMultichoice_ListMenuTemplate.scrollMultiple = 0;
+ gScrollableMultichoice_ListMenuTemplate.fontId = 1;
+ gScrollableMultichoice_ListMenuTemplate.cursorKind = 0;
}
-static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list)
+static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct ListMenu *list)
{
u8 taskId;
PlaySE(SE_SELECT);
- taskId = FindTaskIdByFunc(sub_813A4EC);
+ taskId = FindTaskIdByFunc(ScrollableMultichoice_ProcessInput);
if (taskId != 0xFF)
{
- u16 misc;
+ u16 selection;
struct Task *task = &gTasks[taskId];
- ListMenuGetScrollAndRow(task->data[14], &misc, NULL);
- gUnknown_0203AB68 = misc;
- ListMenuGetCurrentItemArrayId(task->data[14], &misc);
- sub_813AC44(task->data[11], gUnknown_0203AB6A);
- sub_813AA60(task->data[11], misc);
- sub_813AD34(task->data[11], misc);
- gUnknown_0203AB6A = misc;
+ ListMenuGetScrollAndRow(task->tListTaskId, &selection, NULL);
+ sScrollableMultichoice_ScrollOffset = selection;
+ ListMenuGetCurrentItemArrayId(task->tListTaskId, &selection);
+ HideFrontierExchangeCornerItemIcon(task->tScrollMultiId, sFrontierExchangeCorner_NeverRead);
+ FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, selection);
+ ShowBattleFrontierTutorMoveDescription(task->tScrollMultiId, selection);
+ sFrontierExchangeCorner_NeverRead = selection;
}
}
-static void sub_813A4EC(u8 taskId)
+static void ScrollableMultichoice_ProcessInput(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- s32 input = ListMenu_ProcessInput(task->data[14]);
+ s32 input = ListMenu_ProcessInput(task->tListTaskId);
switch (input)
{
case LIST_NOTHING_CHOSEN:
break;
case LIST_CANCEL:
- gSpecialVar_Result = 0x7F;
+ gSpecialVar_Result = MULTI_B_PRESSED;
PlaySE(SE_SELECT);
- sub_813A570(taskId);
+ CloseScrollableMultichoice(taskId);
break;
default:
gSpecialVar_Result = input;
PlaySE(SE_SELECT);
- if (!task->data[6])
+ if (!task->tKeepOpenAfterSelect)
{
- sub_813A570(taskId);
+ CloseScrollableMultichoice(taskId);
}
- else if (input == task->data[1] - 1)
+ // if selected option was the last one (Exit)
+ else if (input == task->tNumItems - 1)
{
- sub_813A570(taskId);
+ CloseScrollableMultichoice(taskId);
}
else
{
- sub_813A738(taskId);
+ ScrollableMultichoice_RemoveScrollArrows(taskId);
task->func = sub_813A600;
EnableBothScriptContexts();
}
@@ -2672,37 +2723,39 @@ static void sub_813A4EC(u8 taskId)
}
}
-static void sub_813A570(u8 taskId)
+static void CloseScrollableMultichoice(u8 taskId)
{
- u16 array;
+ u16 selection;
struct Task *task = &gTasks[taskId];
- ListMenuGetCurrentItemArrayId(task->data[14], &array);
- sub_813AC44(task->data[11], array);
- sub_813A738(taskId);
- DestroyListMenuTask(task->data[14], NULL, NULL);
- Free(gUnknown_0203AB64);
- ClearStdWindowAndFrameToTransparent(task->data[13], 1);
- FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0));
- CopyWindowToVram(task->data[13], 2);
- RemoveWindow(task->data[13]);
+ ListMenuGetCurrentItemArrayId(task->tListTaskId, &selection);
+ HideFrontierExchangeCornerItemIcon(task->tScrollMultiId, selection);
+ ScrollableMultichoice_RemoveScrollArrows(taskId);
+ DestroyListMenuTask(task->tListTaskId, NULL, NULL);
+ Free(sScrollableMultichoice_ListMenuItem);
+ ClearStdWindowAndFrameToTransparent(task->tWindowId, 1);
+ FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0));
+ CopyWindowToVram(task->tWindowId, 2);
+ RemoveWindow(task->tWindowId);
DestroyTask(taskId);
EnableBothScriptContexts();
}
+// Functionally unused; tKeepOpenAfterSelect is only != 0 in unused functions
static void sub_813A600(u8 taskId)
{
- switch (gTasks[taskId].data[6])
+ switch (gTasks[taskId].tKeepOpenAfterSelect)
{
case 1:
default:
break;
case 2:
- gTasks[taskId].data[6] = 1;
+ gTasks[taskId].tKeepOpenAfterSelect = 1;
gTasks[taskId].func = sub_813A664;
break;
}
}
+// Never called
void sub_813A630(void)
{
u8 taskId = FindTaskIdByFunc(sub_813A600);
@@ -2712,20 +2765,20 @@ void sub_813A630(void)
}
else
{
- gTasks[taskId].data[6]++;
+ gTasks[taskId].tKeepOpenAfterSelect++;
}
}
static void sub_813A664(u8 taskId)
{
ScriptContext2_Enable();
- sub_813A694(taskId);
- gTasks[taskId].func = sub_813A4EC;
+ ScrollableMultichoice_UpdateScrollArrows(taskId);
+ gTasks[taskId].func = ScrollableMultichoice_ProcessInput;
}
-static void sub_813A694(u8 taskId)
+static void ScrollableMultichoice_UpdateScrollArrows(u8 taskId)
{
- static const struct ScrollArrowsTemplate gUnknown_085B3030 = {
+ static const struct ScrollArrowsTemplate sScrollableMultichoice_ScrollArrowsTemplate = {
.firstArrowType = SCROLL_ARROW_UP,
.firstX = 0,
.firstY = 0,
@@ -2740,34 +2793,51 @@ static void sub_813A694(u8 taskId)
};
struct Task *task = &gTasks[taskId];
- struct ScrollArrowsTemplate template = gUnknown_085B3030;
- if (task->data[0] != task->data[1])
+ struct ScrollArrowsTemplate template = sScrollableMultichoice_ScrollArrowsTemplate;
+ if (task->tMaxItemsOnScreen != task->data[1])
{
- template.firstX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8;
+ template.firstX = (task->tWidth / 2) * 8 + 12 + (task->tLeft - 1) * 8;
template.firstY = 8;
- template.secondX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8;
- template.secondY = task->data[5] * 8 + 10;
+ template.secondX = (task->tWidth / 2) * 8 + 12 + (task->tLeft - 1) * 8;
+ template.secondY = task->tHeight * 8 + 10;
template.fullyUpThreshold = 0;
- template.fullyDownThreshold = task->data[1] - task->data[0];
- task->data[12] = AddScrollIndicatorArrowPair(&template, &gUnknown_0203AB68);
+ template.fullyDownThreshold = task->data[1] - task->tMaxItemsOnScreen;
+ task->tScrollArrowId = AddScrollIndicatorArrowPair(&template, &sScrollableMultichoice_ScrollOffset);
}
}
-static void sub_813A738(u8 taskId)
+static void ScrollableMultichoice_RemoveScrollArrows(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- if (task->data[0] != task->data[1])
+ if (task->tMaxItemsOnScreen != task->data[1])
{
- RemoveScrollIndicatorArrowPair(task->data[12]);
+ RemoveScrollIndicatorArrowPair(task->tScrollArrowId);
}
}
-void nullsub_55(void)
+// Removed for Emerald (replaced by ShowScrollableMultichoice)
+void ShowGlassWorkshopMenu(void)
{
-
+ /*
+ u8 i;
+ ScriptContext2_Enable();
+ Menu_DrawStdWindowFrame(0, 0, 10, 11);
+ InitMenu(0, 1, 1, 5, 0, 9);
+ gUnknown_0203925C = 0;
+ ClearVerticalScrollIndicatorPalettes();
+ LoadScrollIndicatorPalette();
+ sub_810F2B4();
+ for (i = 0; i < 5; i++)
+ {
+ Menu_PrintText(gUnknown_083F83C0[i], 1, 2 * i + 1);
+ }
+ gUnknown_0203925B = 0;
+ gUnknown_0203925A = ARRAY_COUNT(gUnknown_083F83C0);
+ CreateTask(sub_810F118, 8);
+ */
}
-void sub_813A76C(void)
+void SetBattleTowerLinkPlayerGfx(void)
{
u8 i;
for (i = 0; i < 2; i++)
@@ -2783,34 +2853,34 @@ void sub_813A76C(void)
}
}
-void sub_813A7B8(void)
-{
- static const u8 *const gUnknown_085B3040[] = {
- BattleFrontier_Lounge5_Text_26468D,
- BattleFrontier_Lounge5_Text_2646E5,
- BattleFrontier_Lounge5_Text_264741,
- BattleFrontier_Lounge5_Text_2647A4,
- BattleFrontier_Lounge5_Text_2647FC,
- BattleFrontier_Lounge5_Text_264858,
- BattleFrontier_Lounge5_Text_2648BE,
- BattleFrontier_Lounge5_Text_264916,
- BattleFrontier_Lounge5_Text_264972,
- BattleFrontier_Lounge5_Text_2649D5,
- BattleFrontier_Lounge5_Text_264A3F,
- BattleFrontier_Lounge5_Text_264A9B,
- BattleFrontier_Lounge5_Text_264AF3,
- BattleFrontier_Lounge5_Text_264B5D,
- BattleFrontier_Lounge5_Text_2648BE,
- BattleFrontier_Lounge5_Text_264BC3,
- BattleFrontier_Lounge5_Text_264C36,
- BattleFrontier_Lounge5_Text_2648BE,
- BattleFrontier_Lounge5_Text_264C95,
- BattleFrontier_Lounge5_Text_264D01,
- BattleFrontier_Lounge5_Text_264D6B,
- BattleFrontier_Lounge5_Text_264DD7,
- BattleFrontier_Lounge5_Text_264E33,
- BattleFrontier_Lounge5_Text_264E8F,
- BattleFrontier_Lounge5_Text_2648BE,
+void ShowNatureGirlMessage(void)
+{
+ static const u8 *const sNatureGirlMessages[] = {
+ [NATURE_HARDY] = BattleFrontier_Lounge5_Text_NatureGirlHardy,
+ [NATURE_LONELY] = BattleFrontier_Lounge5_Text_NatureGirlLonely,
+ [NATURE_BRAVE] = BattleFrontier_Lounge5_Text_NatureGirlBrave,
+ [NATURE_ADAMANT] = BattleFrontier_Lounge5_Text_NatureGirlAdamant,
+ [NATURE_NAUGHTY] = BattleFrontier_Lounge5_Text_NatureGirlNaughty,
+ [NATURE_BOLD] = BattleFrontier_Lounge5_Text_NatureGirlBold,
+ [NATURE_DOCILE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky,
+ [NATURE_RELAXED] = BattleFrontier_Lounge5_Text_NatureGirlRelaxed,
+ [NATURE_IMPISH] = BattleFrontier_Lounge5_Text_NatureGirlImpish,
+ [NATURE_LAX] = BattleFrontier_Lounge5_Text_NatureGirlLax,
+ [NATURE_TIMID] = BattleFrontier_Lounge5_Text_NatureGirlTimid,
+ [NATURE_HASTY] = BattleFrontier_Lounge5_Text_NatureGirlHasty,
+ [NATURE_SERIOUS] = BattleFrontier_Lounge5_Text_NatureGirlSerious,
+ [NATURE_JOLLY] = BattleFrontier_Lounge5_Text_NatureGirlJolly,
+ [NATURE_NAIVE] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky,
+ [NATURE_MODEST] = BattleFrontier_Lounge5_Text_NatureGirlModest,
+ [NATURE_MILD] = BattleFrontier_Lounge5_Text_NatureGirlMild,
+ [NATURE_QUIET] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky,
+ [NATURE_BASHFUL] = BattleFrontier_Lounge5_Text_NatureGirlBashful,
+ [NATURE_RASH] = BattleFrontier_Lounge5_Text_NatureGirlRash,
+ [NATURE_CALM] = BattleFrontier_Lounge5_Text_NatureGirlCalm,
+ [NATURE_GENTLE] = BattleFrontier_Lounge5_Text_NatureGirlGentle,
+ [NATURE_SASSY] = BattleFrontier_Lounge5_Text_NatureGirlSassy,
+ [NATURE_CAREFUL] = BattleFrontier_Lounge5_Text_NatureGirlCareful,
+ [NATURE_QUIRKY] = BattleFrontier_Lounge5_Text_NatureGirlDocileNaiveQuietQuirky,
};
u8 nature;
@@ -2821,94 +2891,110 @@ void sub_813A7B8(void)
}
nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]);
- ShowFieldMessage(gUnknown_085B3040[nature]);
+ ShowFieldMessage(sNatureGirlMessages[nature]);
}
-void UpdateFrontierGambler(u16 a0)
+void UpdateFrontierGambler(u16 daysSince)
{
- u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_FACILITY);
- *var += a0;
- *var %= 12;
+ u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_CHALLENGE);
+ *var += daysSince;
+ *var %= FRONTIER_GAMBLER_CHALLENGE_COUNT;
}
-void sub_813A820(void)
+void ShowFrontierGamblerLookingMessage(void)
{
- static const u8 *const gUnknown_085B30A4[] = {
- BattleFrontier_Lounge3_Text_262261,
- BattleFrontier_Lounge3_Text_26230D,
- BattleFrontier_Lounge3_Text_2623B9,
- BattleFrontier_Lounge3_Text_262464,
- BattleFrontier_Lounge3_Text_26250E,
- BattleFrontier_Lounge3_Text_2625B8,
- BattleFrontier_Lounge3_Text_26266A,
- BattleFrontier_Lounge3_Text_26271C,
- BattleFrontier_Lounge3_Text_2627C9,
- BattleFrontier_Lounge3_Text_262876,
- BattleFrontier_Lounge3_Text_26291A,
- BattleFrontier_Lounge3_Text_2629BC,
+ static const u8 *const sFrontierGamblerLookingMessages[] =
+ {
+ BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle,
+ BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble,
+ BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti,
+ BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle,
+ BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble,
+ BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle,
+ BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble,
+ BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle,
+ BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble,
+ BattleFrontier_Lounge3_Text_ChallengeBattleArena,
+ BattleFrontier_Lounge3_Text_ChallengeBattlePike,
+ BattleFrontier_Lounge3_Text_ChallengeBattlePyramid,
};
- u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY);
- ShowFieldMessage(gUnknown_085B30A4[var]);
- VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var);
-}
-
-void sub_813A854(void)
-{
- static const u8 *const gUnknown_085B30D4[] = {
- BattleFrontier_Lounge3_Text_262C04,
- BattleFrontier_Lounge3_Text_262C90,
- BattleFrontier_Lounge3_Text_262D1C,
- BattleFrontier_Lounge3_Text_262DA7,
- BattleFrontier_Lounge3_Text_262E34,
- BattleFrontier_Lounge3_Text_262EC1,
- BattleFrontier_Lounge3_Text_262F56,
- BattleFrontier_Lounge3_Text_262FEB,
- BattleFrontier_Lounge3_Text_263078,
- BattleFrontier_Lounge3_Text_263105,
- BattleFrontier_Lounge3_Text_26318C,
- BattleFrontier_Lounge3_Text_263211,
+ u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_CHALLENGE);
+ ShowFieldMessage(sFrontierGamblerLookingMessages[challenge]);
+ VarSet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE, challenge);
+}
+
+void ShowFrontierGamblerGoMessage(void)
+{
+ static const u8 *const sFrontierGamblerGoMessages[] =
+ {
+ BattleFrontier_Lounge3_Text_GetToBattleTowerSingle,
+ BattleFrontier_Lounge3_Text_GetToBattleTowerDouble,
+ BattleFrontier_Lounge3_Text_GetToBattleTowerMulti,
+ BattleFrontier_Lounge3_Text_GetToBattleDomeSingle,
+ BattleFrontier_Lounge3_Text_GetToBattleDomeDouble,
+ BattleFrontier_Lounge3_Text_GetToBattleFactorySingle,
+ BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble,
+ BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle,
+ BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble,
+ BattleFrontier_Lounge3_Text_GetToBattleArena,
+ BattleFrontier_Lounge3_Text_GetToBattlePike,
+ BattleFrontier_Lounge3_Text_GetToBattlePyramid,
};
- ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]);
+ ShowFieldMessage(sFrontierGamblerGoMessages[VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE)]);
}
-void sub_813A878(u8 a0)
+void FrontierGamblerSetWonOrLost(bool8 won)
{
- static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600};
+ static const u16 sFrontierChallenges[] =
+ {
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_SINGLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_DOUBLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_ARENA, FRONTIER_MODE_SINGLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_PIKE, FRONTIER_MODE_SINGLES),
+ FRONTIER_CHALLENGE(FRONTIER_FACILITY_PYRAMID, FRONTIER_MODE_SINGLES)
+ };
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F);
+ u16 challenge = VarGet(VAR_FRONTIER_GAMBLER_SET_CHALLENGE);
u16 frontierFacilityId = VarGet(VAR_FRONTIER_FACILITY);
- if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1)
+ if (VarGet(VAR_FRONTIER_GAMBLER_STATE) == FRONTIER_GAMBLER_PLACED_BET)
{
- if (gUnknown_085B3104[var2] == (frontierFacilityId << 8) + battleMode)
+ if (sFrontierChallenges[challenge] == FRONTIER_CHALLENGE(frontierFacilityId, battleMode))
{
- if (a0 != 0)
+ if (won)
{
- VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2);
+ VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON);
}
else
{
- VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 3);
+ VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_LOST);
}
}
}
}
-void sub_813A8FC(void)
+void UpdateBattlePointsWindow(void)
{
u8 string[32];
u32 x;
StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.battlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP);
x = GetStringRightAlignXOffset(1, string, 48);
- AddTextPrinterParameterized(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL);
+ AddTextPrinterParameterized(sBattlePointsWindowId, 1, string, x, 1, 0, NULL);
}
-void sub_813A958(void)
+void ShowBattlePointsWindow(void)
{
- static const struct WindowTemplate gUnknown_085B311C = {
+ static const struct WindowTemplate sBattlePoints_WindowTemplate = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
@@ -2918,19 +3004,19 @@ void sub_813A958(void)
.baseBlock = 8,
};
- gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C);
- SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0);
- sub_813A8FC();
- CopyWindowToVram(gUnknown_0203AB6D, 2);
+ sBattlePointsWindowId = AddWindow(&sBattlePoints_WindowTemplate);
+ SetStandardWindowBorderStyle(sBattlePointsWindowId, 0);
+ UpdateBattlePointsWindow();
+ CopyWindowToVram(sBattlePointsWindowId, 2);
}
-void sub_813A988(void)
+void CloseBattlePointsWindow(void)
{
- ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6D, TRUE);
- RemoveWindow(gUnknown_0203AB6D);
+ ClearStdWindowAndFrameToTransparent(sBattlePointsWindowId, TRUE);
+ RemoveWindow(sBattlePointsWindowId);
}
-void sub_813A9A4(void)
+void TakeFrontierBattlePoints(void)
{
if (gSaveBlock2Ptr->frontier.battlePoints < gSpecialVar_0x8004)
{
@@ -2942,11 +3028,11 @@ void sub_813A9A4(void)
}
}
-void sub_813A9D0(void)
+void GiveFrontierBattlePoints(void)
{
- if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > 9999)
+ if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > MAX_BATTLE_FRONTIER_POINTS)
{
- gSaveBlock2Ptr->frontier.battlePoints = 9999;
+ gSaveBlock2Ptr->frontier.battlePoints = MAX_BATTLE_FRONTIER_POINTS;
}
else
{
@@ -2954,14 +3040,14 @@ void sub_813A9D0(void)
}
}
-u16 sub_813AA04(void)
+u16 GetFrontierBattlePoints(void)
{
return gSaveBlock2Ptr->frontier.battlePoints;
}
-void sub_813AA18(void)
+void ShowFrontierExchangeCornerItemIconWindow(void)
{
- static const struct WindowTemplate gUnknown_085B3124 = {
+ static const struct WindowTemplate sFrontierExchangeCorner_ItemIconWindowTemplate = {
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 9,
@@ -2971,159 +3057,139 @@ void sub_813AA18(void)
.baseBlock = 20,
};
- gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124);
- SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0);
- CopyWindowToVram(gUnknown_0203AB6E, 2);
+ sFrontierExchangeCorner_ItemIconWindowId = AddWindow(&sFrontierExchangeCorner_ItemIconWindowTemplate);
+ SetStandardWindowBorderStyle(sFrontierExchangeCorner_ItemIconWindowId, 0);
+ CopyWindowToVram(sFrontierExchangeCorner_ItemIconWindowId, 2);
}
-void sub_813AA44(void)
+void CloseFrontierExchangeCornerItemIconWindow(void)
{
- ClearStdWindowAndFrameToTransparent(gUnknown_0203AB6E, TRUE);
- RemoveWindow(gUnknown_0203AB6E);
+ ClearStdWindowAndFrameToTransparent(sFrontierExchangeCorner_ItemIconWindowId, TRUE);
+ RemoveWindow(sFrontierExchangeCorner_ItemIconWindowId);
}
-static void sub_813AA60(u16 a0, u16 a1)
+static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection)
{
- static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xFFFF };
- static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xFFFF };
- static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xFFFF };
- static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xFFFF };
+ #include "data/battle_frontier/battle_frontier_exchange_corner.h"
- static const u8 *const gUnknown_085B3170[] = {
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_260201,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_260287,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E,
- gText_Exit,
- };
-
- static const u8 *const gUnknown_085B319C[] = {
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C,
- gText_Exit
- };
-
- static const u8 *const gUnknown_085B31B4[] = {
- BattleFrontier_BattlePointExchangeServiceCorner_Text_260397,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_260436,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C,
- gText_Exit
- };
-
- static const u8 *const gUnknown_085B31D0[] = {
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_260542,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_260575,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2,
- BattleFrontier_BattlePointExchangeServiceCorner_Text_260613,
- gText_Exit
- };
-
- if (a0 > 2 && a0 < 7)
+ if (menu >= SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1 && menu <= SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR)
{
FillWindowPixelRect(0, PIXEL_FILL(1), 0, 0, 216, 32);
- switch (a0)
+ switch (menu)
{
- case 3:
- AddTextPrinterParameterized2(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3);
- if (gUnknown_085B312C[a1] == 0xFFFF)
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
+ AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3);
+ if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF)
{
- sub_813ABD4(gUnknown_085B312C[a1]);
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]);
}
else
{
FreeSpriteTilesByTag(5500);
FreeSpritePaletteByTag(5500);
- gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B312C[a1], 33, 88, 0, 5500, 5500);
+ sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500);
}
break;
- case 4:
- AddTextPrinterParameterized2(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3);
- if (gUnknown_085B3142[a1] == 0xFFFF)
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
+ AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3);
+ if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF)
{
- sub_813ABD4(gUnknown_085B3142[a1]);
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]);
}
else
{
FreeSpriteTilesByTag(5500);
FreeSpritePaletteByTag(5500);
- gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B3142[a1], 33, 88, 0, 5500, 5500);
+ sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500);
}
break;
- case 5:
- AddTextPrinterParameterized2(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3);
- sub_813ABD4(gUnknown_085B314E[a1]);
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
+ AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3);
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]);
break;
- case 6:
- AddTextPrinterParameterized2(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3);
- sub_813ABD4(gUnknown_085B315C[a1]);
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
+ AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3);
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]);
break;
}
}
}
-static void sub_813ABD4(u16 a0)
+static void ShowFrontierExchangeCornerItemIcon(u16 item)
{
FreeSpriteTilesByTag(5500);
FreeSpritePaletteByTag(5500);
- gUnknown_0203AB6C = AddItemIconSprite(5500, 5500, a0);
+ sScrollableMultichoice_ItemSpriteId = AddItemIconSprite(5500, 5500, item);
- if (gUnknown_0203AB6C != MAX_SPRITES)
+ if (sScrollableMultichoice_ItemSpriteId != MAX_SPRITES)
{
- gSprites[gUnknown_0203AB6C].oam.priority = 0;
- gSprites[gUnknown_0203AB6C].pos1.x = 36;
- gSprites[gUnknown_0203AB6C].pos1.y = 92;
+ gSprites[sScrollableMultichoice_ItemSpriteId].oam.priority = 0;
+ gSprites[sScrollableMultichoice_ItemSpriteId].pos1.x = 36;
+ gSprites[sScrollableMultichoice_ItemSpriteId].pos1.y = 92;
}
}
-static void sub_813AC44(u16 a0, u16 unused)
+static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused)
{
- if (gUnknown_0203AB6C != MAX_SPRITES)
+ if (sScrollableMultichoice_ItemSpriteId != MAX_SPRITES)
{
- switch (a0)
+ switch (menu)
{
- case 3 ... 6:
- DestroySpriteAndFreeResources(&gSprites[gUnknown_0203AB6C]);
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
+ DestroySpriteAndFreeResources(&gSprites[sScrollableMultichoice_ItemSpriteId]);
break;
}
- gUnknown_0203AB6C = MAX_SPRITES;
- }
-}
+ sScrollableMultichoice_ItemSpriteId = MAX_SPRITES;
+ }
+}
+
+static const u16 sBattleFrontier_TutorMoves1[] =
+{
+ MOVE_SOFT_BOILED,
+ MOVE_SEISMIC_TOSS,
+ MOVE_DREAM_EATER,
+ MOVE_MEGA_PUNCH,
+ MOVE_MEGA_KICK,
+ MOVE_BODY_SLAM,
+ MOVE_ROCK_SLIDE,
+ MOVE_COUNTER,
+ MOVE_THUNDER_WAVE,
+ MOVE_SWORDS_DANCE
+};
-static const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e };
-static const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 };
+static const u16 sBattleFrontier_TutorMoves2[] =
+{
+ MOVE_DEFENSE_CURL,
+ MOVE_SNORE,
+ MOVE_MUD_SLAP,
+ MOVE_SWIFT,
+ MOVE_ICY_WIND,
+ MOVE_ENDURE,
+ MOVE_PSYCH_UP,
+ MOVE_ICE_PUNCH,
+ MOVE_THUNDER_PUNCH,
+ MOVE_FIRE_PUNCH
+};
-void sub_813AC7C(void)
+void BufferBattleFrontierTutorMoveName(void)
{
if (gSpecialVar_0x8005 != 0)
{
- StringCopy(gStringVar1, gMoveNames[gUnknown_085B320C[gSpecialVar_0x8004]]);
+ StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves2[gSpecialVar_0x8004]]);
}
else
{
- StringCopy(gStringVar1, gMoveNames[gUnknown_085B31F8[gSpecialVar_0x8004]]);
+ StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves1[gSpecialVar_0x8004]]);
}
}
-static void sub_813ACE8(u8 a0, u16 a1)
+static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection)
{
- static const struct WindowTemplate gUnknown_085B3220 = {
+ static const struct WindowTemplate sBattleFrontierTutor_WindowTemplate =
+ {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 7,
@@ -3133,67 +3199,70 @@ static void sub_813ACE8(u8 a0, u16 a1)
.baseBlock = 28,
};
- if (a0 == 9 || a0 == 10)
+ if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2)
{
if (gSpecialVar_0x8006 == 0)
{
- gUnknown_0203AB5E = AddWindow(&gUnknown_085B3220);
- SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0);
+ sTutorMoveAndElevatorWindowId = AddWindow(&sBattleFrontierTutor_WindowTemplate);
+ SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0);
}
- sub_813AD34(a0, a1);
+ ShowBattleFrontierTutorMoveDescription(menu, selection);
}
}
-static void sub_813AD34(u8 a0, u16 a1)
+static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
{
- static const u8 *const gUnknown_085B3228[] = {
- BattleFrontier_Lounge7_Text_265E30,
- BattleFrontier_Lounge7_Text_265E5B,
- BattleFrontier_Lounge7_Text_265E8A,
- BattleFrontier_Lounge7_Text_265EC0,
- BattleFrontier_Lounge7_Text_265EED,
- BattleFrontier_Lounge7_Text_265F1C,
- BattleFrontier_Lounge7_Text_265F47,
- BattleFrontier_Lounge7_Text_265F77,
- BattleFrontier_Lounge7_Text_265FAA,
- BattleFrontier_Lounge7_Text_265FDD,
+ static const u8 *const sBattleFrontier_TutorMoveDescriptions1[] =
+ {
+ BattleFrontier_Lounge7_Text_SoftboiledDesc,
+ BattleFrontier_Lounge7_Text_SeismicTossDesc,
+ BattleFrontier_Lounge7_Text_DreamEaterDesc,
+ BattleFrontier_Lounge7_Text_MegaPunchDesc,
+ BattleFrontier_Lounge7_Text_MegaKickDesc,
+ BattleFrontier_Lounge7_Text_BodySlamDesc,
+ BattleFrontier_Lounge7_Text_RockSlideDesc,
+ BattleFrontier_Lounge7_Text_CounterDesc,
+ BattleFrontier_Lounge7_Text_ThunderWaveDesc,
+ BattleFrontier_Lounge7_Text_SwordsDanceDesc,
gText_Exit,
};
- static const u8 *const gUnknown_085B3254[] = {
- BattleFrontier_Lounge7_Text_26600A,
- BattleFrontier_Lounge7_Text_26603E,
- BattleFrontier_Lounge7_Text_266070,
- BattleFrontier_Lounge7_Text_2660A6,
- BattleFrontier_Lounge7_Text_2660D0,
- BattleFrontier_Lounge7_Text_2660FF,
- BattleFrontier_Lounge7_Text_26612D,
- BattleFrontier_Lounge7_Text_26615F,
- BattleFrontier_Lounge7_Text_266185,
- BattleFrontier_Lounge7_Text_2661B5,
+ static const u8 *const sBattleFrontier_TutorMoveDescriptions2[] =
+ {
+ BattleFrontier_Lounge7_Text_DefenseCurlDesc,
+ BattleFrontier_Lounge7_Text_SnoreDesc,
+ BattleFrontier_Lounge7_Text_MudSlapDesc,
+ BattleFrontier_Lounge7_Text_SwiftDesc,
+ BattleFrontier_Lounge7_Text_IcyWindDesc,
+ BattleFrontier_Lounge7_Text_EndureDesc,
+ BattleFrontier_Lounge7_Text_PsychUpDesc,
+ BattleFrontier_Lounge7_Text_IcePunchDesc,
+ BattleFrontier_Lounge7_Text_ThunderPunchDesc,
+ BattleFrontier_Lounge7_Text_FirePunchDesc,
gText_Exit,
};
- if (a0 == 9 || a0 == 10)
+ if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_1 || menu == SCROLL_MULTI_BF_MOVE_TUTOR_2)
{
- FillWindowPixelRect(gUnknown_0203AB5E, PIXEL_FILL(1), 0, 0, 96, 48);
- if (a0 == 10)
+ FillWindowPixelRect(sTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48);
+ if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2)
{
- AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL);
+ AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL);
}
else
{
- AddTextPrinterParameterized(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL);
+ AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL);
}
}
}
-void sub_813ADB8(void)
+void CloseBattleFrontierTutorWindow(void)
{
- ClearStdWindowAndFrameToTransparent(gUnknown_0203AB5E, TRUE);
- RemoveWindow(gUnknown_0203AB5E);
+ ClearStdWindowAndFrameToTransparent(sTutorMoveAndElevatorWindowId, TRUE);
+ RemoveWindow(sTutorMoveAndElevatorWindowId);
}
+// Never called
void sub_813ADD4(void)
{
u16 scrollOffset, selectedRow;
@@ -3202,75 +3271,92 @@ void sub_813ADD4(void)
if (taskId != 0xFF)
{
struct Task *task = &gTasks[taskId];
- ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow);
- SetStandardWindowBorderStyle(task->data[13], 0);
+ ListMenuGetScrollAndRow(task->tListTaskId, &scrollOffset, &selectedRow);
+ SetStandardWindowBorderStyle(task->tWindowId, 0);
- for (i = 0; i < 6; i++)
+ for (i = 0; i < MAX_SCROLL_MULTI_ON_SCREEN; i++)
{
- AddTextPrinterParameterized5(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0);
+ AddTextPrinterParameterized5(task->tWindowId, 1, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0);
}
- AddTextPrinterParameterized(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL);
- PutWindowTilemap(task->data[13]);
- CopyWindowToVram(task->data[13], 3);
+ AddTextPrinterParameterized(task->tWindowId, 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL);
+ PutWindowTilemap(task->tWindowId);
+ CopyWindowToVram(task->tWindowId, 3);
}
}
-void sub_813AEB4(void)
+void GetBattleFrontierTutorMoveIndex(void)
{
u8 i;
- u16 temp1 = 0;
- u16 temp2 = 0;
+ u16 moveTutor = 0;
+ u16 moveIndex = 0;
gSpecialVar_0x8005 = 0;
- temp1 = VarGet(VAR_TEMP_E);
- temp2 = VarGet(VAR_TEMP_D);
+ moveTutor = VarGet(VAR_TEMP_E);
+ moveIndex = VarGet(VAR_TEMP_D);
- if (temp1 != 0)
+ if (moveTutor != 0)
{
i = 0;
do
{
- if (gTutorMoves[i] == gUnknown_085B320C[temp2])
+ if (gTutorMoves[i] == sBattleFrontier_TutorMoves2[moveIndex])
{
gSpecialVar_0x8005 = i;
break;
}
i++;
- } while (i < 30);
+ } while (i < TUTOR_MOVE_COUNT);
}
else
{
i = 0;
do
{
- if (gTutorMoves[i] == gUnknown_085B31F8[temp2])
+ if (gTutorMoves[i] == sBattleFrontier_TutorMoves1[moveIndex])
{
gSpecialVar_0x8005 = i;
break;
}
i++;
- } while (i < 30);
+ } while (i < TUTOR_MOVE_COUNT);
}
}
+// Never called
void sub_813AF48(void)
{
u8 taskId = FindTaskIdByFunc(sub_813A600);
if (taskId != 0xFF)
{
struct Task *task = &gTasks[taskId];
- DestroyListMenuTask(task->data[14], NULL, NULL);
- Free(gUnknown_0203AB64);
- ClearStdWindowAndFrameToTransparent(task->data[13], TRUE);
- FillWindowPixelBuffer(task->data[13], PIXEL_FILL(0));
- ClearWindowTilemap(task->data[13]);
- CopyWindowToVram(task->data[13], 2);
- RemoveWindow(task->data[13]);
+ DestroyListMenuTask(task->tListTaskId, NULL, NULL);
+ Free(sScrollableMultichoice_ListMenuItem);
+ ClearStdWindowAndFrameToTransparent(task->tWindowId, TRUE);
+ FillWindowPixelBuffer(task->tWindowId, PIXEL_FILL(0));
+ ClearWindowTilemap(task->tWindowId);
+ CopyWindowToVram(task->tWindowId, 2);
+ RemoveWindow(task->tWindowId);
DestroyTask(taskId);
}
}
+// Undefine Scrollable Multichoice task data macros
+#undef tMaxItemsOnScreen
+#undef tNumItems
+#undef tLeft
+#undef tTop
+#undef tWidth
+#undef tHeight
+#undef tKeepOpenAfterSelect
+#undef tScrollOffset
+#undef tSelectedRow
+#undef tScrollMultiId
+#undef tScrollArrowId
+#undef tWindowId
+#undef tListTaskId
+#undef tTaskId
+
void DoDeoxysRockInteraction(void)
{
CreateTask(Task_DeoxysRockInteraction, 8);
@@ -3399,53 +3485,53 @@ void IncrementBirthIslandRockStepCount(void)
}
}
-void sub_813B1D0(void)
+void SetDeoxysRockPalette(void)
{
LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], 0x1A0, 8);
BlendPalettes(0x04000000, 16, 0);
}
-void set_unknown_box_id(u8 id)
+void SetPCBoxToSendMon(u8 boxId)
{
- gUnknown_0203AB6F = id;
+ sPCBoxToSendMon = boxId;
}
-u16 get_unknown_box_id(void)
+u16 GetPCBoxToSendMon(void)
{
- return gUnknown_0203AB6F;
+ return sPCBoxToSendMon;
}
-bool8 sub_813B21C(void)
+bool8 ShouldShowBoxWasFullMessage(void)
{
- if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE)
+ if (!FlagGet(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE))
{
- if (StorageGetCurrentBox() != VarGet(VAR_STORAGE_UNKNOWN))
+ if (StorageGetCurrentBox() != VarGet(VAR_PC_BOX_TO_SEND_MON))
{
- FlagSet(FLAG_SYS_STORAGE_UNKNOWN_FLAG);
+ FlagSet(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE);
return TRUE;
}
}
return FALSE;
}
-bool8 sub_813B260(void)
+bool8 IsDestinationBoxFull(void)
{
int box;
int i;
- set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN));
+ SetPCBoxToSendMon(VarGet(VAR_PC_BOX_TO_SEND_MON));
box = StorageGetCurrentBox();
do
{
for (i = 0; i < IN_BOX_COUNT; i++)
{
- if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == 0)
+ if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == SPECIES_NONE)
{
- if (get_unknown_box_id() != box)
+ if (GetPCBoxToSendMon() != box)
{
- FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG);
+ FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE);
}
- VarSet(VAR_STORAGE_UNKNOWN, box);
- return sub_813B21C();
+ VarSet(VAR_PC_BOX_TO_SEND_MON, box);
+ return ShouldShowBoxWasFullMessage();
}
}
@@ -3457,36 +3543,36 @@ bool8 sub_813B260(void)
return FALSE;
}
-void CreateUnusualWeatherEvent(void)
+void CreateAbnormalWeatherEvent(void)
{
u16 randomValue = Random();
- VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, 0);
+ VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, 0);
if (FlagGet(FLAG_DEFEATED_KYOGRE) == TRUE)
{
- VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_GROUDON_LOCATIONS_START);
+ VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_GROUDON_LOCATIONS_START);
}
else if (FlagGet(FLAG_DEFEATED_GROUDON) == TRUE)
{
- VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START);
+ VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START);
}
else if ((randomValue & 1) == 0)
{
randomValue = Random();
- VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_GROUDON_LOCATIONS_START);
+ VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_GROUDON_LOCATIONS_START);
}
else
{
randomValue = Random();
- VarSet(VAR_UNUSUAL_WEATHER_LOCATION, (randomValue % UNUSUAL_WEATHER_COUNT_PER_LEGENDARY) + UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START);
+ VarSet(VAR_ABNORMAL_WEATHER_LOCATION, (randomValue % ABNORMAL_WEATHER_COUNT_PER_LEGENDARY) + ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START);
}
}
-// Saves the map name for the current unusual weather location in gStringVar1, then
+// Saves the map name for the current abnormal weather location in gStringVar1, then
// returns TRUE if the weather is for Kyogre, and FALSE if it's for Groudon.
-bool32 GetUnusualWeatherMapNameAndType(void)
+bool32 GetAbnormalWeatherMapNameAndType(void)
{
- static const u8 sUnusualWeatherMapNumbers[] = {
+ static const u8 sAbnormalWeatherMapNumbers[] = {
MAP_NUM(ROUTE114),
MAP_NUM(ROUTE114),
MAP_NUM(ROUTE115),
@@ -3505,11 +3591,11 @@ bool32 GetUnusualWeatherMapNameAndType(void)
MAP_NUM(ROUTE129)
};
- u16 unusualWeather = VarGet(VAR_UNUSUAL_WEATHER_LOCATION);
+ u16 abnormalWeather = VarGet(VAR_ABNORMAL_WEATHER_LOCATION);
- GetMapName(gStringVar1, sUnusualWeatherMapNumbers[unusualWeather - 1], 0);
+ GetMapName(gStringVar1, sAbnormalWeatherMapNumbers[abnormalWeather - 1], 0);
- if (unusualWeather < UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START)
+ if (abnormalWeather < ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START)
{
return FALSE;
}
@@ -3519,10 +3605,10 @@ bool32 GetUnusualWeatherMapNameAndType(void)
}
}
-bool8 UnusualWeatherHasExpired(void)
+bool8 AbnormalWeatherHasExpired(void)
{
// Duplicate array.
- static const u8 sUnusualWeatherMapNumbers_2[] = {
+ static const u8 sAbnormalWeatherMapNumbers[] = {
MAP_NUM(ROUTE114),
MAP_NUM(ROUTE114),
MAP_NUM(ROUTE115),
@@ -3541,17 +3627,17 @@ bool8 UnusualWeatherHasExpired(void)
MAP_NUM(ROUTE129)
};
- u16 steps = VarGet(VAR_UNUSUAL_WEATHER_STEP_COUNTER);
- u16 unusualWeather = VarGet(VAR_UNUSUAL_WEATHER_LOCATION);
+ u16 steps = VarGet(VAR_ABNORMAL_WEATHER_STEP_COUNTER);
+ u16 abnormalWeather = VarGet(VAR_ABNORMAL_WEATHER_LOCATION);
- if (unusualWeather == UNUSUAL_WEATHER_NONE)
+ if (abnormalWeather == ABNORMAL_WEATHER_NONE)
{
return FALSE;
}
if (++steps > 999)
{
- VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, 0);
+ VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, 0);
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE))
{
switch (gSaveBlock1Ptr->location.mapNum)
@@ -3561,7 +3647,7 @@ bool8 UnusualWeatherHasExpired(void)
case MAP_NUM(MARINE_CAVE_END):
case MAP_NUM(TERRA_CAVE_ENTRANCE):
case MAP_NUM(TERRA_CAVE_END):
- VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 1);
+ VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
return FALSE;
default:
break;
@@ -3576,27 +3662,27 @@ bool8 UnusualWeatherHasExpired(void)
case MAP_NUM(UNDERWATER5):
case MAP_NUM(UNDERWATER6):
case MAP_NUM(UNDERWATER7):
- VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 1);
+ VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
return FALSE;
default:
break;
}
}
- if (gSaveBlock1Ptr->location.mapNum == sUnusualWeatherMapNumbers_2[unusualWeather - 1] &&
+ if (gSaveBlock1Ptr->location.mapNum == sAbnormalWeatherMapNumbers[abnormalWeather - 1] &&
gSaveBlock1Ptr->location.mapGroup == 0)
{
return TRUE;
}
else
{
- VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE);
+ VarSet(VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE);
return FALSE;
}
}
else
{
- VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, steps);
+ VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, steps);
return FALSE;
}
}
@@ -3606,38 +3692,40 @@ void Unused_SetWeatherSunny(void)
SetCurrentAndNextWeather(WEATHER_SUNNY);
}
-bool32 sub_813B490(void)
-{
- static const u8 gUnknown_085B3420[][3] = {
- { 0x02, 0x04, 0x01 },
- { 0x04, 0x04, 0x01 },
- { 0x05, 0x00, 0x01 },
- { 0x06, 0x03, 0x01 },
- { 0x08, 0x06, 0x01 },
- { 0x09, 0x0d, 0x01 },
- { 0x0a, 0x07, 0x01 },
- { 0x0b, 0x07, 0x01 },
- { 0x0c, 0x04, 0x01 },
- { 0x0e, 0x05, 0x01 },
- { 0x0f, 0x04, 0x01 },
- { 0x1a, 0x37, 0x01 }
+// Always returns 1
+u32 GetMartEmployeeObjectEventId(void)
+{
+ static const u8 sPokeMarts[][3] =
+ {
+ { MAP_GROUP(OLDALE_TOWN_MART), MAP_NUM(OLDALE_TOWN_MART), 1 },
+ { MAP_GROUP(LAVARIDGE_TOWN_MART), MAP_NUM(LAVARIDGE_TOWN_MART), 1 },
+ { MAP_GROUP(FALLARBOR_TOWN_MART), MAP_NUM(FALLARBOR_TOWN_MART), 1 },
+ { MAP_GROUP(VERDANTURF_TOWN_MART), MAP_NUM(VERDANTURF_TOWN_MART), 1 },
+ { MAP_GROUP(PETALBURG_CITY_MART), MAP_NUM(PETALBURG_CITY_MART), 1 },
+ { MAP_GROUP(SLATEPORT_CITY_MART), MAP_NUM(SLATEPORT_CITY_MART), 1 },
+ { MAP_GROUP(MAUVILLE_CITY_MART), MAP_NUM(MAUVILLE_CITY_MART), 1 },
+ { MAP_GROUP(RUSTBORO_CITY_MART), MAP_NUM(RUSTBORO_CITY_MART), 1 },
+ { MAP_GROUP(FORTREE_CITY_MART), MAP_NUM(FORTREE_CITY_MART), 1 },
+ { MAP_GROUP(MOSSDEEP_CITY_MART), MAP_NUM(MOSSDEEP_CITY_MART), 1 },
+ { MAP_GROUP(SOOTOPOLIS_CITY_MART), MAP_NUM(SOOTOPOLIS_CITY_MART), 1 },
+ { MAP_GROUP(BATTLE_FRONTIER_MART), MAP_NUM(BATTLE_FRONTIER_MART), 1 }
};
u8 i;
- for (i = 0; i < 12; i++)
+ for (i = 0; i < ARRAY_COUNT(sPokeMarts); i++)
{
- if (gSaveBlock1Ptr->location.mapGroup == gUnknown_085B3420[i][0])
+ if (gSaveBlock1Ptr->location.mapGroup == sPokeMarts[i][0])
{
- if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3420[i][1])
+ if (gSaveBlock1Ptr->location.mapNum == sPokeMarts[i][1])
{
- return gUnknown_085B3420[i][2];
+ return sPokeMarts[i][2];
}
}
}
- return TRUE;
+ return 1;
}
-bool32 sub_813B4E0(void)
+bool32 IsTrainerRegistered(void)
{
int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004);
if (index >= 0)
@@ -3648,18 +3736,18 @@ bool32 sub_813B4E0(void)
return FALSE;
}
-bool32 sub_813B514(void)
+// Always returns FALSE
+bool32 ShouldDistributeEonTicket(void)
{
- if (!VarGet(VAR_ALWAYS_ZERO_0x403F))
- {
+ if (!VarGet(VAR_DISTRIBUTE_EON_TICKET))
return FALSE;
- }
+
return TRUE;
}
void sub_813B534(void)
{
- gUnknown_0203AB70 = gBattleTypeFlags;
+ sBattleTowerMultiBattleTypeFlags = gBattleTypeFlags;
gBattleTypeFlags = 0;
if (!gReceivedRemoteLinkPlayers)
{
@@ -3667,12 +3755,12 @@ void sub_813B534(void)
}
}
-void sub_813B568(void)
+void LinkRetireStatusWithBattleTowerPartner(void)
{
- CreateTask(sub_813B57C, 5);
+ CreateTask(Task_LinkRetireStatusWithBattleTowerPartner, 5);
}
-static void sub_813B57C(u8 taskId)
+static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
@@ -3703,21 +3791,24 @@ static void sub_813B57C(u8 taskId)
{
gSpecialVar_0x8005 = gBlockRecvBuffer[1][0];
ResetBlockReceivedFlag(1);
- if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 1)
+ if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
+ && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_BOTH_RETIRE;
}
- else if (gSpecialVar_0x8004 == 0 && gSpecialVar_0x8005 == 1)
+ else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE
+ && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
{
- gSpecialVar_Result = 2;
+ gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE;
}
- else if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 0)
+ else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
+ && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_CONTINUE)
{
- gSpecialVar_Result = 3;
+ gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE;
}
else
{
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_CONTINUE;
}
}
gTasks[taskId].data[0]++;
@@ -3755,14 +3846,14 @@ static void sub_813B57C(u8 taskId)
case 5:
if (GetMultiplayerId() == 0)
{
- if (gSpecialVar_Result == 2)
+ if (gSpecialVar_Result == BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE)
{
ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired);
}
}
else
{
- if (gSpecialVar_Result == 3)
+ if (gSpecialVar_Result == BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE)
{
ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired);
}
@@ -3793,14 +3884,14 @@ static void sub_813B57C(u8 taskId)
{
sub_800AC34();
}
- gBattleTypeFlags = gUnknown_0203AB70;
+ gBattleTypeFlags = sBattleTowerMultiBattleTypeFlags;
EnableBothScriptContexts();
DestroyTask(taskId);
break;
}
}
-void sub_813B7D8(void)
+void Script_DoRayquazaScene(void)
{
if (gSpecialVar_0x8004 == 0)
{
@@ -3812,40 +3903,46 @@ void sub_813B7D8(void)
}
}
-void sub_813B80C(void)
+#define playCount data[0]
+#define delay data[1]
+
+void LoopWingFlapSE(void)
{
- CreateTask(sub_813B824, 8);
+ CreateTask(Task_LoopWingFlapSE, 8);
PlaySE(SE_W017);
}
-static void sub_813B824(u8 taskId)
+static void Task_LoopWingFlapSE(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- data[1]++;
- if (data[1] == gSpecialVar_0x8005)
+ delay++;
+ if (delay == gSpecialVar_0x8005)
{
- data[0]++;
- data[1] = 0;
+ playCount++;
+ delay = 0;
PlaySE(SE_W017);
}
- if (data[0] == gSpecialVar_0x8004 - 1)
+ if (playCount == gSpecialVar_0x8004 - 1)
{
DestroyTask(taskId);
}
}
-void sub_813B880(void)
+#undef playCount
+#undef delay
+
+void CloseBattlePikeCurtain(void)
{
- u8 taskId = CreateTask(_fwalk, 8);
+ u8 taskId = CreateTask(Task_CloseBattlePikeCurtain, 8);
gTasks[taskId].data[0] = 4;
gTasks[taskId].data[1] = 4;
gTasks[taskId].data[2] = 4;
gTasks[taskId].data[3] = 0;
}
-static void _fwalk(u8 taskId)
+static void Task_CloseBattlePikeCurtain(u8 taskId)
{
u8 x, y;
s16 *data = gTasks[taskId].data;
@@ -3857,7 +3954,7 @@ static void _fwalk(u8 taskId)
{
for (x = 0; x < 3; x++)
{
- MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 0x201 + y * 8 + data[3] * 32);
+ MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 513 + y * 8 + data[3] * 32);
}
}
DrawWholeMapView();
@@ -3870,23 +3967,25 @@ static void _fwalk(u8 taskId)
}
}
-void sub_813B968(void)
+void GetBattlePyramidHint(void)
{
gSpecialVar_Result = gSpecialVar_0x8004 / 7;
gSpecialVar_Result -= (gSpecialVar_Result / 20) * 20;
}
-void sub_813B9A0(void)
+// Used to avoid a potential softlock if the player respawns on Dewford with no way off
+void ResetHealLocationFromDewford(void)
{
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN))
{
- SetLastHealLocationWarp(3);
+ SetLastHealLocationWarp(HEAL_LOCATION_PETALBURG_CITY);
}
}
-bool8 sub_813B9C0(void)
+bool8 InPokemonCenter(void)
{
- static const u16 gUnknown_085B3444[] = {
+ static const u16 sPokemonCenters[] =
+ {
MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
MAP_DEWFORD_TOWN_POKEMON_CENTER_1F,
MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
@@ -3904,19 +4003,19 @@ bool8 sub_813B9C0(void)
MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
- MAP_SINGLE_BATTLE_COLOSSEUM,
+ MAP_BATTLE_COLOSSEUM_2P,
MAP_TRADE_CENTER,
MAP_RECORD_CORNER,
- MAP_DOUBLE_BATTLE_COLOSSEUM,
+ MAP_BATTLE_COLOSSEUM_4P,
0xFFFF
};
int i;
u16 map = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum;
- for (i = 0; gUnknown_085B3444[i] != 0xFFFF; i++)
+ for (i = 0; sPokemonCenters[i] != 0xFFFF; i++)
{
- if (gUnknown_085B3444[i] == map)
+ if (sPokemonCenters[i] == map)
{
return TRUE;
}
@@ -3924,28 +4023,72 @@ bool8 sub_813B9C0(void)
return FALSE;
}
+/* Summary of the Lilycove Trainer Fan Club, because it's a little messy
+
+ ## The Fan Club room itself
+ There are initially 4 members of the Fan Club (+ an interviewer), none of whom are fans of the player
+ After becoming the champion there will be 8 members of the Fan Club, 3 of whom are automatically fans of the player
+ After this point, if a club member is a fan of the player they will sit at the front table and comment on the player
+ If they are not fans of the player, they will sit at the far table and can make comments about a different trainer (see BufferFanClubTrainerName)
+
+ ## Gaining/losing fans
+ After every link battle the player will gain a fan if they won, or lose a fan if they lost
+ If the player has at least 3 fans, this is the only way to gain fans
+ If the player has fewer than 3 fans, they may also gain fans by completing certain tasks enough times (see TryGainNewFanFromCounter)
+ If the player has at least 5 fans, they can lose a fan every 12 real-time hours, or more often if the timer variable is reset (see TryLoseFansFromPlayTime)
+ If the player has only 1 fan left it cannot be lost
+
+ ## Variables
+ VAR_FANCLUB_FAN_COUNTER, a bitfield for tracking the fans
+ Bits 1-7: Counter for when to add new fans
+ Bit 8: Flag set after receiving the initial 3 fans
+ Bits 9-16: Flags for each of the 8 club members, set to 1 when theyre a fan of the player and 0 when theyre not
+
+ VAR_FANCLUB_LOSE_FAN_TIMER, a timer for when to lose fans
+ Compared against playTimeHours. When theyre equal, a fan is ready to be lost
+ For every fan thats lost this way 12 hours are added to the timer
+
+ VAR_LILYCOVE_FAN_CLUB_STATE
+ 0: Player is not the champion yet
+ 1: Player is the champion, ready to meet their initial fans
+ 2: Player has met their initial fans
+*/
+
+#define FANCLUB_BITFIELD (gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START])
+#define FANCLUB_COUNTER 0x007F
+#define FANCLUB_FAN_FLAGS 0xFF80
+
+#define GET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD >> (flag) & 1)
+#define SET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD |= 1 << (flag))
+#define FLIP_TRAINER_FAN_CLUB_FLAG(flag)(FANCLUB_BITFIELD ^= 1 << (flag))
+
+#define GET_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD & FANCLUB_COUNTER)
+#define SET_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD = (FANCLUB_BITFIELD & FANCLUB_FAN_FLAGS) | (count))
+#define INCR_TRAINER_FAN_CLUB_COUNTER(count)(FANCLUB_BITFIELD += (count))
+#define CLEAR_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD &= ~(FANCLUB_COUNTER))
+
void ResetFanClub(void)
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = 0;
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = 0;
+ gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START] = 0;
+ gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = 0;
}
-void sub_813BA30(void)
+void TryLoseFansFromPlayTimeAfterLinkBattle(void)
{
- if (sub_813BF44() != 0)
+ if (DidPlayerGetFirstFans())
{
- UpdateMovedLilycoveFanClubMembers();
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours;
+ TryLoseFansFromPlayTime();
+ gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours;
}
}
-void sub_813BA60(void)
+void UpdateTrainerFanClubGameClear(void)
{
- if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1))
+ if (!GET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS))
{
- sub_813BF60();
- sub_813BD84();
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours;
+ SetPlayerGotFirstFans();
+ SetInitialFansOfPlayer();
+ gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours;
FlagClear(FLAG_HIDE_FANCLUB_OLD_LADY);
FlagClear(FLAG_HIDE_FANCLUB_BOY);
FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY);
@@ -3955,186 +4098,216 @@ void sub_813BA60(void)
}
}
-u8 sub_813BADC(u8 a0)
+// If the player has < 3 fans, gain a new fan whenever the counter reaches 20+
+// Defeating Drake or participating in a Link Contest increments the counter by 2
+// Participating at Battle Tower or in a Secret Base battle increments the counter by 1
+u8 TryGainNewFanFromCounter(u8 incrementId)
{
- static const u8 gUnknown_085B3470[] = { 0x02, 0x01, 0x02, 0x01 };
+ static const u8 sCounterIncrements[] = { 2, 1, 2, 1 };
if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2)
{
- if ((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F) + gUnknown_085B3470[a0] > 19)
+ if (GET_TRAINER_FAN_CLUB_COUNTER + sCounterIncrements[incrementId] > 19)
{
- if (GetNumMovedLilycoveFanClubMembers() < 3)
+ if (GetNumFansOfPlayerInTrainerFanClub() < 3)
{
- sub_813BB74();
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] &= 0xFF80;
+ PlayerGainRandomTrainerFan();
+ CLEAR_TRAINER_FAN_CLUB_COUNTER;
}
else
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0xFF80) | 0x14;
+ SET_TRAINER_FAN_CLUB_COUNTER(20);
}
}
else
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] += gUnknown_085B3470[a0];
+ INCR_TRAINER_FAN_CLUB_COUNTER(sCounterIncrements[incrementId]);
}
}
- return gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F;
+ return GET_TRAINER_FAN_CLUB_COUNTER;
}
-static u16 sub_813BB74(void)
+
+// Loop through the fan club members, and if theyre not a fan of the player there is a 50% chance for them to become a fan
+// Stops when a fan is gained
+// If no new fan was gained while looping, the last non-fan in the list becomes a fan
+// If all the members are already fans of the player then this redundantly sets the first fan in the list to be a fan
+static u16 PlayerGainRandomTrainerFan(void)
{
- static const u8 gUnknown_085B3474[] = { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f };
+ static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
+ {
+ FANCLUB_MEMBER1,
+ FANCLUB_MEMBER2,
+ FANCLUB_MEMBER3,
+ FANCLUB_MEMBER4,
+ FANCLUB_MEMBER5,
+ FANCLUB_MEMBER6,
+ FANCLUB_MEMBER7,
+ FANCLUB_MEMBER8
+ };
u8 i;
- u8 retVal = 0;
+ u8 idx = 0;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < ARRAY_COUNT(sFanClubMemberIds); i++)
{
- if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B3474[i]) & 1))
+ if (!GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[i]))
{
- retVal = i;
- if ((Random() & 1) != 0)
+ idx = i;
+ if (Random() & 1)
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal];
- return retVal;
+ SET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
+ return idx;
}
}
}
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal];
- return retVal;
-}
-
-static u16 sub_813BC00(void)
-{
- static const u8 gUnknown_085B347C[] = { 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 };
+ SET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
+ return idx;
+}
+
+// Loops through the fan club members, and if theyre a fan of the player there is a 50% chance for them to stop being a fan
+// Stops if a fan is removed, or if the player has only one fan left
+// If no fan was lost while looping, the last current fan in the list will stop being a fan
+static u16 PlayerLoseRandomTrainerFan(void)
+{
+ static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
+ {
+ FANCLUB_MEMBER1,
+ FANCLUB_MEMBER6,
+ FANCLUB_MEMBER7,
+ FANCLUB_MEMBER4,
+ FANCLUB_MEMBER3,
+ FANCLUB_MEMBER5,
+ FANCLUB_MEMBER8,
+ FANCLUB_MEMBER2
+ };
u8 i;
- u8 retVal = 0;
+ u8 idx = 0;
- if (GetNumMovedLilycoveFanClubMembers() == 1)
+ if (GetNumFansOfPlayerInTrainerFanClub() == 1)
{
return 0;
}
- for (i = 0; i < 8; i++)
+ for (i = 0; i < ARRAY_COUNT(sFanClubMemberIds); i++)
{
- if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[i]) & 1) != 0)
+ if (GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[i]))
{
- retVal = i;
- if ((Random() & 1) != 0)
+ idx = i;
+ if (Random() & 1)
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal];
- return retVal;
+ FLIP_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
+ return idx;
}
}
}
- if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1))
+ if (GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]))
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal];
+ FLIP_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
}
- return retVal;
+ return idx;
}
-u16 GetNumMovedLilycoveFanClubMembers(void)
+u16 GetNumFansOfPlayerInTrainerFanClub(void)
{
u8 i;
- u8 retVal = 0;
+ u8 numFans = 0;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < NUM_TRAINER_FAN_CLUB_MEMBERS; i++)
{
- if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> (i + 8)) & 1) != 0)
- {
- retVal++;
- }
+ if (GET_TRAINER_FAN_CLUB_FLAG(i + FANCLUB_MEMBER1))
+ numFans++;
}
- return retVal;
+ return numFans;
}
-void UpdateMovedLilycoveFanClubMembers(void)
+// If the player has > 5 fans in the Trainer Fan Club, then lose 1 fan for every 12 hours since the last fan loss / timer reset
+void TryLoseFansFromPlayTime(void)
{
u8 i = 0;
if (gSaveBlock2Ptr->playTimeHours < 999)
{
while (TRUE)
{
- if (GetNumMovedLilycoveFanClubMembers() < 5)
+ if (GetNumFansOfPlayerInTrainerFanClub() < 5)
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours;
+ gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] = gSaveBlock2Ptr->playTimeHours;
break;
}
- else if (i == 8)
+ else if (i == NUM_TRAINER_FAN_CLUB_MEMBERS)
{
break;
}
- else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] < 12)
+ else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] < 12)
{
return;
}
- sub_813BC00();
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] += 12;
+ PlayerLoseRandomTrainerFan();
+ gSaveBlock1Ptr->vars[VAR_FANCLUB_LOSE_FAN_TIMER - VARS_START] += 12;
i++;
}
}
}
-bool8 ShouldMoveLilycoveFanClubMember(void)
+bool8 IsFanClubMemberFanOfPlayer(void)
{
- return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gSpecialVar_0x8004) & 1;
+ return GET_TRAINER_FAN_CLUB_FLAG(gSpecialVar_0x8004);
}
-static void sub_813BD84(void)
+static void SetInitialFansOfPlayer(void)
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x2000;
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x100;
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x400;
+ SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER6);
+ SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER1);
+ SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER3);
}
-void BufferStreakTrainerText(void)
+void BufferFanClubTrainerName(void)
{
- u8 a = 0;
- u8 b = 0;
+ u8 whichLinkTrainer = 0;
+ u8 whichNPCTrainer = 0;
switch (gSpecialVar_0x8004)
{
- case 8:
+ case FANCLUB_MEMBER1:
break;
- case 9:
+ case FANCLUB_MEMBER2:
break;
- case 10:
- a = 0;
- b = 3;
+ case FANCLUB_MEMBER3:
+ whichLinkTrainer = 0;
+ whichNPCTrainer = 3;
break;
- case 11:
- a = 0;
- b = 1;
+ case FANCLUB_MEMBER4:
+ whichLinkTrainer = 0;
+ whichNPCTrainer = 1;
break;
- case 12:
- a = 1;
- b = 0;
+ case FANCLUB_MEMBER5:
+ whichLinkTrainer = 1;
+ whichNPCTrainer = 0;
break;
- case 13:
- a = 0;
- b = 4;
+ case FANCLUB_MEMBER6:
+ whichLinkTrainer = 0;
+ whichNPCTrainer = 4;
break;
- case 14:
- a = 1;
- b = 5;
+ case FANCLUB_MEMBER7:
+ whichLinkTrainer = 1;
+ whichNPCTrainer = 5;
break;
- case 15:
+ case FANCLUB_MEMBER8:
break;
}
- sub_813BE30(&gSaveBlock1Ptr->linkBattleRecords, a, b);
+ BufferFanClubTrainerName_(&gSaveBlock1Ptr->linkBattleRecords, whichLinkTrainer, whichNPCTrainer);
}
-static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b)
+static void BufferFanClubTrainerName_(struct LinkBattleRecords *linkRecords, u8 whichLinkTrainer, u8 whichNPCTrainer)
{
- struct LinkBattleRecord *record = &linkRecords->entries[a];
+ struct LinkBattleRecord *record = &linkRecords->entries[whichLinkTrainer];
if (record->name[0] == EOS)
{
- switch (b)
+ switch (whichNPCTrainer)
{
case 0:
StringCopy(gStringVar1, gText_Wallace);
@@ -4161,39 +4334,36 @@ static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b)
}
else
{
- StringCopyN(gStringVar1, record->name, 7);
- gStringVar1[7] = EOS;
- ConvertInternationalString(gStringVar1, linkRecords->languages[a]);
+ StringCopyN(gStringVar1, record->name, PLAYER_NAME_LENGTH);
+ gStringVar1[PLAYER_NAME_LENGTH] = EOS;
+ ConvertInternationalString(gStringVar1, linkRecords->languages[whichLinkTrainer]);
}
}
-void sub_813BF10(void)
+void UpdateTrainerFansAfterLinkBattle(void)
{
if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2)
{
- sub_813BA30();
- if (gBattleOutcome == 1)
- {
- sub_813BB74();
- }
+ TryLoseFansFromPlayTimeAfterLinkBattle();
+ if (gBattleOutcome == B_OUTCOME_WON)
+ PlayerGainRandomTrainerFan();
else
- {
- sub_813BC00();
- }
+ PlayerLoseRandomTrainerFan();
}
}
-static bool8 sub_813BF44(void)
+static bool8 DidPlayerGetFirstFans(void)
{
- return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1;
+ return GET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS);
}
-void sub_813BF60(void)
+void SetPlayerGotFirstFans(void)
{
- gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x80;
+ SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_GOT_FIRST_FANS);
}
-u8 sub_813BF7C(void)
+// return value is always ignored
+u8 Script_TryGainNewFanFromCounter(void)
{
- return sub_813BADC(gSpecialVar_0x8004);
+ return TryGainNewFanFromCounter(gSpecialVar_0x8004);
}
diff --git a/src/field_tasks.c b/src/field_tasks.c
index 63539e475..21b2732c3 100644
--- a/src/field_tasks.c
+++ b/src/field_tasks.c
@@ -16,6 +16,7 @@
#include "secret_base.h"
#include "sound.h"
#include "task.h"
+#include "constants/field_tasks.h"
#include "constants/items.h"
#include "constants/songs.h"
#include "constants/vars.h"
@@ -38,14 +39,14 @@ static void Task_MuddySlope(u8 taskId);
static const TaskFunc sPerStepCallbacks[] =
{
- DummyPerStepCallback,
- AshGrassPerStepCallback,
- FortreeBridgePerStepCallback,
- PacifidlogBridgePerStepCallback,
- SootopolisGymIcePerStepCallback,
- EndTruckSequence,
- SecretBasePerStepCallback,
- CrackedFloorPerStepCallback
+ [STEP_CB_DUMMY] = DummyPerStepCallback,
+ [STEP_CB_ASH] = AshGrassPerStepCallback,
+ [STEP_CB_FORTREE_BRIDGE] = FortreeBridgePerStepCallback,
+ [STEP_CB_PACIFIDLOG_BRIDGE] = PacifidlogBridgePerStepCallback,
+ [STEP_CB_SOOTOPOLIS_ICE] = SootopolisGymIcePerStepCallback,
+ [STEP_CB_TRUCK] = EndTruckSequence,
+ [STEP_CB_SECRET_BASE] = SecretBasePerStepCallback,
+ [STEP_CB_CRACKED_FLOOR] = CrackedFloorPerStepCallback
};
// they are in pairs but declared as 1D array
diff --git a/src/field_weather.c b/src/field_weather.c
index 024b6631f..684a86479 100644
--- a/src/field_weather.c
+++ b/src/field_weather.c
@@ -56,7 +56,7 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl
static void ApplyFogBlend(u8 blendCoeff, u16 blendColor);
static bool8 FadeInScreen_RainShowShade(void);
static bool8 FadeInScreen_Drought(void);
-static bool8 FadeInScreen_Fog1(void);
+static bool8 FadeInScreen_FogHorizontal(void);
static void FadeInScreenWithWeather(void);
static void DoNothing(void);
static void Task_WeatherInit(u8 taskId);
@@ -89,29 +89,29 @@ struct Weather *const gWeatherPtr = &gWeather;
static const struct WeatherCallbacks sWeatherFuncs[] =
{
- {None_Init, None_Main, None_Init, None_Finish},
- {Clouds_InitVars, Clouds_Main, Clouds_InitAll, Clouds_Finish},
- {Sunny_InitVars, Sunny_Main, Sunny_InitAll, Sunny_Finish},
- {LightRain_InitVars, LightRain_Main, LightRain_InitAll, LightRain_Finish},
- {Snow_InitVars, Snow_Main, Snow_InitAll, Snow_Finish},
- {MedRain_InitVars, Rain_Main, MedRain_InitAll, Rain_Finish},
- {Fog1_InitVars, Fog1_Main, Fog1_InitAll, Fog1_Finish},
- {Ash_InitVars, Ash_Main, Ash_InitAll, Ash_Finish},
- {Sandstorm_InitVars, Sandstorm_Main, Sandstorm_InitAll, Sandstorm_Finish},
- {Fog2_InitVars, Fog2_Main, Fog2_InitAll, Fog2_Finish},
- {Fog1_InitVars, Fog1_Main, Fog1_InitAll, Fog1_Finish},
- {Shade_InitVars, Shade_Main, Shade_InitAll, Shade_Finish},
- {Drought_InitVars, Drought_Main, Drought_InitAll, Drought_Finish},
- {HeavyRain_InitVars, Rain_Main, HeavyRain_InitAll, Rain_Finish},
- {Bubbles_InitVars, Bubbles_Main, Bubbles_InitAll, Bubbles_Finish},
+ [WEATHER_NONE] = {None_Init, None_Main, None_Init, None_Finish},
+ [WEATHER_SUNNY_CLOUDS] = {Clouds_InitVars, Clouds_Main, Clouds_InitAll, Clouds_Finish},
+ [WEATHER_SUNNY] = {Sunny_InitVars, Sunny_Main, Sunny_InitAll, Sunny_Finish},
+ [WEATHER_RAIN] = {Rain_InitVars, Rain_Main, Rain_InitAll, Rain_Finish},
+ [WEATHER_SNOW] = {Snow_InitVars, Snow_Main, Snow_InitAll, Snow_Finish},
+ [WEATHER_RAIN_THUNDERSTORM] = {Thunderstorm_InitVars, Thunderstorm_Main, Thunderstorm_InitAll, Thunderstorm_Finish},
+ [WEATHER_FOG_HORIZONTAL] = {FogHorizontal_InitVars, FogHorizontal_Main, FogHorizontal_InitAll, FogHorizontal_Finish},
+ [WEATHER_VOLCANIC_ASH] = {Ash_InitVars, Ash_Main, Ash_InitAll, Ash_Finish},
+ [WEATHER_SANDSTORM] = {Sandstorm_InitVars, Sandstorm_Main, Sandstorm_InitAll, Sandstorm_Finish},
+ [WEATHER_FOG_DIAGONAL] = {FogDiagonal_InitVars, FogDiagonal_Main, FogDiagonal_InitAll, FogDiagonal_Finish},
+ [WEATHER_UNDERWATER] = {FogHorizontal_InitVars, FogHorizontal_Main, FogHorizontal_InitAll, FogHorizontal_Finish},
+ [WEATHER_SHADE] = {Shade_InitVars, Shade_Main, Shade_InitAll, Shade_Finish},
+ [WEATHER_DROUGHT] = {Drought_InitVars, Drought_Main, Drought_InitAll, Drought_Finish},
+ [WEATHER_DOWNPOUR] = {Downpour_InitVars, Thunderstorm_Main, Downpour_InitAll, Thunderstorm_Finish},
+ [WEATHER_UNDERWATER_BUBBLES] = {Bubbles_InitVars, Bubbles_Main, Bubbles_InitAll, Bubbles_Finish},
};
void (*const gWeatherPalStateFuncs[])(void) =
{
- UpdateWeatherGammaShift, // WEATHER_PAL_STATE_CHANGING_WEATHER
- FadeInScreenWithWeather, // WEATHER_PAL_STATE_SCREEN_FADING_IN
- DoNothing, // WEATHER_PAL_STATE_SCREEN_FADING_OUT
- DoNothing, // WEATHER_PAL_STATE_IDLE
+ [WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherGammaShift,
+ [WEATHER_PAL_STATE_SCREEN_FADING_IN] = FadeInScreenWithWeather,
+ [WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing,
+ [WEATHER_PAL_STATE_IDLE] = DoNothing,
};
// This table specifies which of the gamma shift tables should be
@@ -171,8 +171,8 @@ void StartWeather(void)
gWeatherPtr->cloudSpritesCreated = 0;
gWeatherPtr->snowflakeSpriteCount = 0;
gWeatherPtr->ashSpritesCreated = 0;
- gWeatherPtr->fog1SpritesCreated = 0;
- gWeatherPtr->fog2SpritesCreated = 0;
+ gWeatherPtr->fogHSpritesCreated = 0;
+ gWeatherPtr->fogDSpritesCreated = 0;
gWeatherPtr->sandstormSpritesCreated = 0;
gWeatherPtr->sandstormSwirlSpritesCreated = 0;
gWeatherPtr->bubblesSpritesCreated = 0;
@@ -188,7 +188,7 @@ void StartWeather(void)
void SetNextWeather(u8 weather)
{
- if (weather != WEATHER_RAIN_LIGHT && weather != WEATHER_RAIN_MED && weather != WEATHER_RAIN_HEAVY)
+ if (weather != WEATHER_RAIN && weather != WEATHER_RAIN_THUNDERSTORM && weather != WEATHER_DOWNPOUR)
{
PlayRainStoppingSoundEffect();
}
@@ -371,9 +371,9 @@ static void FadeInScreenWithWeather(void)
switch (gWeatherPtr->currWeather)
{
- case WEATHER_RAIN_LIGHT:
- case WEATHER_RAIN_MED:
- case WEATHER_RAIN_HEAVY:
+ case WEATHER_RAIN:
+ case WEATHER_RAIN_THUNDERSTORM:
+ case WEATHER_DOWNPOUR:
case WEATHER_SNOW:
case WEATHER_SHADE:
if (FadeInScreen_RainShowShade() == FALSE)
@@ -389,17 +389,17 @@ static void FadeInScreenWithWeather(void)
gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
}
break;
- case WEATHER_FOG_1:
- if (FadeInScreen_Fog1() == FALSE)
+ case WEATHER_FOG_HORIZONTAL:
+ if (FadeInScreen_FogHorizontal() == FALSE)
{
gWeatherPtr->gammaIndex = 0;
gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
}
break;
- case WEATHER_ASH:
+ case WEATHER_VOLCANIC_ASH:
case WEATHER_SANDSTORM:
- case WEATHER_FOG_2:
- case WEATHER_FOG_3:
+ case WEATHER_FOG_DIAGONAL:
+ case WEATHER_UNDERWATER:
default:
if (!gPaletteFade.active)
{
@@ -442,7 +442,7 @@ static bool8 FadeInScreen_Drought(void)
return TRUE;
}
-static bool8 FadeInScreen_Fog1(void)
+static bool8 FadeInScreen_FogHorizontal(void)
{
if (gWeatherPtr->fadeScreenCounter == 16)
return FALSE;
@@ -763,11 +763,11 @@ void FadeScreen(u8 mode, s8 delay)
switch (gWeatherPtr->currWeather)
{
- case WEATHER_RAIN_LIGHT:
- case WEATHER_RAIN_MED:
- case WEATHER_RAIN_HEAVY:
+ case WEATHER_RAIN:
+ case WEATHER_RAIN_THUNDERSTORM:
+ case WEATHER_DOWNPOUR:
case WEATHER_SNOW:
- case WEATHER_FOG_1:
+ case WEATHER_FOG_HORIZONTAL:
case WEATHER_SHADE:
case WEATHER_DROUGHT:
useWeatherPal = TRUE;
@@ -816,7 +816,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex)
case WEATHER_PAL_STATE_SCREEN_FADING_IN:
if (gWeatherPtr->unknown_6CA != 0)
{
- if (gWeatherPtr->currWeather == WEATHER_FOG_1)
+ if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL)
MarkFogSpritePalToLighten(paletteIndex);
paletteIndex *= 16;
for (i = 0; i < 16; i++)
@@ -831,7 +831,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex)
// WEATHER_PAL_STATE_CHANGING_WEATHER
// WEATHER_PAL_STATE_CHANGING_IDLE
default:
- if (gWeatherPtr->currWeather != WEATHER_FOG_1)
+ if (gWeatherPtr->currWeather != WEATHER_FOG_HORIZONTAL)
{
ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex);
}
@@ -995,28 +995,28 @@ void sub_80AC274(u8 a)
switch (a)
{
case 1:
- SetWeather(WEATHER_CLOUDS);
+ SetWeather(WEATHER_SUNNY_CLOUDS);
break;
case 2:
SetWeather(WEATHER_SUNNY);
break;
case 3:
- SetWeather(WEATHER_RAIN_LIGHT);
+ SetWeather(WEATHER_RAIN);
break;
case 4:
SetWeather(WEATHER_SNOW);
break;
case 5:
- SetWeather(WEATHER_RAIN_MED);
+ SetWeather(WEATHER_RAIN_THUNDERSTORM);
break;
case 6:
- SetWeather(WEATHER_FOG_1);
+ SetWeather(WEATHER_FOG_HORIZONTAL);
break;
case 7:
- SetWeather(WEATHER_FOG_2);
+ SetWeather(WEATHER_FOG_DIAGONAL);
break;
case 8:
- SetWeather(WEATHER_ASH);
+ SetWeather(WEATHER_VOLCANIC_ASH);
break;
case 9:
SetWeather(WEATHER_SANDSTORM);
diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c
index 8fca02707..5a48f3434 100644
--- a/src/field_weather_effect.c
+++ b/src/field_weather_effect.c
@@ -14,14 +14,14 @@
#include "gpu_regs.h"
// EWRAM
-EWRAM_DATA static u8 gCurrentAlternatingWeather = 0;
+EWRAM_DATA static u8 gCurrentAbnormalWeather = 0;
EWRAM_DATA static u16 gUnusedWeatherRelated = 0;
// CONST
const u16 gCloudsWeatherPalette[] = INCBIN_U16("graphics/weather/cloud.gbapal");
const u16 gSandstormWeatherPalette[] = INCBIN_U16("graphics/weather/sandstorm.gbapal");
-const u8 gWeatherFog2Tiles[] = INCBIN_U8("graphics/weather/fog2.4bpp");
-const u8 gWeatherFog1Tiles[] = INCBIN_U8("graphics/weather/fog1.4bpp");
+const u8 gWeatherFogDiagonalTiles[] = INCBIN_U8("graphics/weather/fog_diagonal.4bpp");
+const u8 gWeatherFogHorizontalTiles[] = INCBIN_U8("graphics/weather/fog_horizontal.4bpp");
const u8 gWeatherCloudTiles[] = INCBIN_U8("graphics/weather/cloud.4bpp");
const u8 gWeatherSnow1Tiles[] = INCBIN_U8("graphics/weather/snow0.4bpp");
const u8 gWeatherSnow2Tiles[] = INCBIN_U8("graphics/weather/snow1.4bpp");
@@ -31,7 +31,7 @@ const u8 gWeatherRainTiles[] = INCBIN_U8("graphics/weather/rain.4bpp");
const u8 gWeatherSandstormTiles[] = INCBIN_U8("graphics/weather/sandstorm.4bpp");
//------------------------------------------------------------------------------
-// Clouds
+// WEATHER_SUNNY_CLOUDS
//------------------------------------------------------------------------------
static void CreateCloudSprites(void);
@@ -57,10 +57,10 @@ static const struct SpriteSheet sCloudSpriteSheet =
static const struct OamData sCloudSpriteOamData =
{
.y = 0,
- .affineMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_BLEND,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -227,7 +227,7 @@ static void UpdateCloudSprite(struct Sprite *sprite)
}
//------------------------------------------------------------------------------
-// Drought
+// WEATHER_DROUGHT
//------------------------------------------------------------------------------
static void UpdateDroughtBlend(u8);
@@ -352,7 +352,7 @@ static void UpdateDroughtBlend(u8 taskId)
#undef tWinRange
//------------------------------------------------------------------------------
-// Light Rain
+// WEATHER_RAIN
//------------------------------------------------------------------------------
static void LoadRainSpriteSheet(void);
@@ -392,10 +392,10 @@ static const struct Coords16 sRainSpriteCoords[] =
static const struct OamData sRainSpriteOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x32),
.x = 0,
.matrixNum = 0,
@@ -469,27 +469,27 @@ static const struct SpriteSheet sRainSpriteSheet =
.tag = 0x1206,
};
-void LightRain_InitVars(void)
+void Rain_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
gWeatherPtr->rainSpriteVisibleCounter = 0;
gWeatherPtr->rainSpriteVisibleDelay = 8;
- gWeatherPtr->isHeavyRain = 0;
+ gWeatherPtr->isDownpour = FALSE;
gWeatherPtr->targetRainSpriteCount = 10;
gWeatherPtr->gammaTargetIndex = 3;
gWeatherPtr->gammaStepDelay = 20;
SetRainStrengthFromSoundEffect(SE_T_KOAME);
}
-void LightRain_InitAll(void)
+void Rain_InitAll(void)
{
- LightRain_InitVars();
+ Rain_InitVars();
while (!gWeatherPtr->weatherGfxLoaded)
- LightRain_Main();
+ Rain_Main();
}
-void LightRain_Main(void)
+void Rain_Main(void)
{
switch (gWeatherPtr->initStep)
{
@@ -511,14 +511,14 @@ void LightRain_Main(void)
}
}
-bool8 LightRain_Finish(void)
+bool8 Rain_Finish(void)
{
switch (gWeatherPtr->finishStep)
{
case 0:
- if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT
- || gWeatherPtr->nextWeather == WEATHER_RAIN_MED
- || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY)
+ if (gWeatherPtr->nextWeather == WEATHER_RAIN
+ || gWeatherPtr->nextWeather == WEATHER_RAIN_THUNDERSTORM
+ || gWeatherPtr->nextWeather == WEATHER_DOWNPOUR)
{
gWeatherPtr->finishStep = 0xFF;
return FALSE;
@@ -563,7 +563,7 @@ static void StartRainSpriteFall(struct Sprite *sprite)
rand = sprite->tRandom * 1103515245 + 12345;
sprite->tRandom = ((rand & 0x7FFF0000) >> 16) % 600;
- numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0];
+ numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isDownpour][0];
tileX = sprite->tRandom % 30;
sprite->tPosX = tileX * 8; // Useless assignment, leftover from before fixed-point values were used
@@ -578,8 +578,8 @@ static void StartRainSpriteFall(struct Sprite *sprite)
sprite->tPosY <<= 7; // This is tileX * 8, using a fixed-point value with 4 decimal places
// "Rewind" the rain sprites, from their ending position.
- sprite->tPosX -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][0] * numFallingFrames;
- sprite->tPosY -= sRainSpriteMovement[gWeatherPtr->isHeavyRain][1] * numFallingFrames;
+ sprite->tPosX -= sRainSpriteMovement[gWeatherPtr->isDownpour][0] * numFallingFrames;
+ sprite->tPosY -= sRainSpriteMovement[gWeatherPtr->isDownpour][1] * numFallingFrames;
StartSpriteAnim(sprite, 0);
sprite->tState = 0;
@@ -592,8 +592,8 @@ static void UpdateRainSprite(struct Sprite *sprite)
if (sprite->tState == 0)
{
// Raindrop is in its "falling" motion.
- sprite->tPosX += sRainSpriteMovement[gWeatherPtr->isHeavyRain][0];
- sprite->tPosY += sRainSpriteMovement[gWeatherPtr->isHeavyRain][1];
+ sprite->tPosX += sRainSpriteMovement[gWeatherPtr->isDownpour][0];
+ sprite->tPosY += sRainSpriteMovement[gWeatherPtr->isDownpour][1];
sprite->pos1.x = sprite->tPosX >> 4;
sprite->pos1.y = sprite->tPosY >> 4;
@@ -607,7 +607,7 @@ static void UpdateRainSprite(struct Sprite *sprite)
if (--sprite->tCounter == 0)
{
// Make raindrop splash on the ground
- StartSpriteAnim(sprite, gWeatherPtr->isHeavyRain + 1);
+ StartSpriteAnim(sprite, gWeatherPtr->isDownpour + 1);
sprite->tState = 1;
sprite->pos1.x -= gSpriteCoordOffsetX;
sprite->pos1.y -= gSpriteCoordOffsetY;
@@ -637,9 +637,9 @@ static void WaitRainSprite(struct Sprite *sprite)
static void InitRainSpriteMovement(struct Sprite *sprite, u16 val)
{
- u16 numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][0];
- u16 numAdvanceRng = val / (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames);
- u16 frameVal = val % (sRainSpriteFallingDurations[gWeatherPtr->isHeavyRain][1] + numFallingFrames);
+ u16 numFallingFrames = sRainSpriteFallingDurations[gWeatherPtr->isDownpour][0];
+ u16 numAdvanceRng = val / (sRainSpriteFallingDurations[gWeatherPtr->isDownpour][1] + numFallingFrames);
+ u16 frameVal = val % (sRainSpriteFallingDurations[gWeatherPtr->isDownpour][1] + numFallingFrames);
while (--numAdvanceRng != 0xFFFF)
StartRainSpriteFall(sprite);
@@ -839,10 +839,10 @@ static bool8 UpdateVisibleSnowflakeSprites(void)
static const struct OamData sSnowflakeSpriteOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -1009,16 +1009,16 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite)
#undef tDeltaY2
//------------------------------------------------------------------------------
-// Medium Rain
+// WEATHER_RAIN_THUNDERSTORM
//------------------------------------------------------------------------------
-void MedRain_InitVars(void)
+void Thunderstorm_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
gWeatherPtr->rainSpriteVisibleCounter = 0;
gWeatherPtr->rainSpriteVisibleDelay = 4;
- gWeatherPtr->isHeavyRain = 0;
+ gWeatherPtr->isDownpour = FALSE;
gWeatherPtr->targetRainSpriteCount = 16;
gWeatherPtr->gammaTargetIndex = 3;
gWeatherPtr->gammaStepDelay = 20;
@@ -1027,27 +1027,27 @@ void MedRain_InitVars(void)
SetRainStrengthFromSoundEffect(SE_T_AME);
}
-void MedRain_InitAll(void)
+void Thunderstorm_InitAll(void)
{
- MedRain_InitVars();
+ Thunderstorm_InitVars();
while (gWeatherPtr->weatherGfxLoaded == FALSE)
- Rain_Main();
+ Thunderstorm_Main();
}
//------------------------------------------------------------------------------
-// Heavy Rain
+// WEATHER_DOWNPOUR
//------------------------------------------------------------------------------
static void UpdateThunderSound(void);
static void SetThunderCounter(u16);
-void HeavyRain_InitVars(void)
+void Downpour_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
gWeatherPtr->rainSpriteVisibleCounter = 0;
gWeatherPtr->rainSpriteVisibleDelay = 4;
- gWeatherPtr->isHeavyRain = 1;
+ gWeatherPtr->isDownpour = TRUE;
gWeatherPtr->targetRainSpriteCount = 24;
gWeatherPtr->gammaTargetIndex = 3;
gWeatherPtr->gammaStepDelay = 20;
@@ -1055,14 +1055,14 @@ void HeavyRain_InitVars(void)
SetRainStrengthFromSoundEffect(SE_T_OOAME);
}
-void HeavyRain_InitAll(void)
+void Downpour_InitAll(void)
{
- HeavyRain_InitVars();
+ Downpour_InitVars();
while (gWeatherPtr->weatherGfxLoaded == FALSE)
- Rain_Main();
+ Thunderstorm_Main();
}
-void Rain_Main(void)
+void Thunderstorm_Main(void)
{
UpdateThunderSound();
switch (gWeatherPtr->initStep)
@@ -1166,7 +1166,7 @@ void Rain_Main(void)
}
}
-bool8 Rain_Finish(void)
+bool8 Thunderstorm_Finish(void)
{
switch (gWeatherPtr->finishStep)
{
@@ -1175,12 +1175,12 @@ bool8 Rain_Finish(void)
gWeatherPtr->finishStep++;
// fall through
case 1:
- Rain_Main();
+ Thunderstorm_Main();
if (gWeatherPtr->unknown_6EA)
{
- if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT
- || gWeatherPtr->nextWeather == WEATHER_RAIN_MED
- || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY)
+ if (gWeatherPtr->nextWeather == WEATHER_RAIN
+ || gWeatherPtr->nextWeather == WEATHER_RAIN_THUNDERSTORM
+ || gWeatherPtr->nextWeather == WEATHER_DOWNPOUR)
return FALSE;
gWeatherPtr->targetRainSpriteCount = 0;
@@ -1235,7 +1235,7 @@ static void UpdateThunderSound(void)
}
//------------------------------------------------------------------------------
-// Fog 1
+// WEATHER_FOG_HORIZONTAL and WEATHER_UNDERWATER
//------------------------------------------------------------------------------
// unused data
@@ -1244,10 +1244,10 @@ static const u16 unusedData_839AB1C[] = {0, 6, 6, 12, 18, 42, 300, 300};
static const struct OamData gOamData_839AB2C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 1,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -1315,8 +1315,8 @@ static const union AffineAnimCmd *const gSpriteAffineAnimTable_839AB8C[] =
gSpriteAffineAnim_839AB7C,
};
-static void Fog1SpriteCallback(struct Sprite *);
-static const struct SpriteTemplate sFog1SpriteTemplate =
+static void FogHorizontalSpriteCallback(struct Sprite *);
+static const struct SpriteTemplate sFogHorizontalSpriteTemplate =
{
.tileTag = 0x1201,
.paletteTag = 0x1200,
@@ -1324,48 +1324,48 @@ static const struct SpriteTemplate sFog1SpriteTemplate =
.anims = gSpriteAnimTable_839AB64,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_839AB8C,
- .callback = Fog1SpriteCallback,
+ .callback = FogHorizontalSpriteCallback,
};
-void Fog1_Main(void);
-static void CreateFog1Sprites(void);
-static void DestroyFog1Sprites(void);
+void FogHorizontal_Main(void);
+static void CreateFogHorizontalSprites(void);
+static void DestroyFogHorizontalSprites(void);
-void Fog1_InitVars(void)
+void FogHorizontal_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = FALSE;
gWeatherPtr->gammaTargetIndex = 0;
gWeatherPtr->gammaStepDelay = 20;
- if (gWeatherPtr->fog1SpritesCreated == 0)
+ if (gWeatherPtr->fogHSpritesCreated == 0)
{
- gWeatherPtr->fog1ScrollCounter = 0;
- gWeatherPtr->fog1ScrollOffset = 0;
- gWeatherPtr->fog1ScrollPosX = 0;
+ gWeatherPtr->fogHScrollCounter = 0;
+ gWeatherPtr->fogHScrollOffset = 0;
+ gWeatherPtr->fogHScrollPosX = 0;
Weather_SetBlendCoeffs(0, 16);
}
}
-void Fog1_InitAll(void)
+void FogHorizontal_InitAll(void)
{
- Fog1_InitVars();
+ FogHorizontal_InitVars();
while (gWeatherPtr->weatherGfxLoaded == FALSE)
- Fog1_Main();
+ FogHorizontal_Main();
}
-void Fog1_Main(void)
+void FogHorizontal_Main(void)
{
- gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF;
- if (++gWeatherPtr->fog1ScrollCounter > 3)
+ gWeatherPtr->fogHScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fogHScrollOffset) & 0xFF;
+ if (++gWeatherPtr->fogHScrollCounter > 3)
{
- gWeatherPtr->fog1ScrollCounter = 0;
- gWeatherPtr->fog1ScrollOffset++;
+ gWeatherPtr->fogHScrollCounter = 0;
+ gWeatherPtr->fogHScrollOffset++;
}
switch (gWeatherPtr->initStep)
{
case 0:
- CreateFog1Sprites();
- if (gWeatherPtr->currWeather == WEATHER_FOG_1)
+ CreateFogHorizontalSprites();
+ if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL)
Weather_SetTargetBlendCoeffs(12, 8, 3);
else
Weather_SetTargetBlendCoeffs(4, 16, 0);
@@ -1381,13 +1381,13 @@ void Fog1_Main(void)
}
}
-bool8 Fog1_Finish(void)
+bool8 FogHorizontal_Finish(void)
{
- gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fog1ScrollOffset) & 0xFF;
- if (++gWeatherPtr->fog1ScrollCounter > 3)
+ gWeatherPtr->fogHScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->fogHScrollOffset) & 0xFF;
+ if (++gWeatherPtr->fogHScrollCounter > 3)
{
- gWeatherPtr->fog1ScrollCounter = 0;
- gWeatherPtr->fog1ScrollOffset++;
+ gWeatherPtr->fogHScrollCounter = 0;
+ gWeatherPtr->fogHScrollOffset++;
}
switch (gWeatherPtr->finishStep)
@@ -1401,7 +1401,7 @@ bool8 Fog1_Finish(void)
gWeatherPtr->finishStep++;
break;
case 2:
- DestroyFog1Sprites();
+ DestroyFogHorizontalSprites();
gWeatherPtr->finishStep++;
break;
default:
@@ -1412,73 +1412,73 @@ bool8 Fog1_Finish(void)
#define tSpriteColumn data[0]
-static void Fog1SpriteCallback(struct Sprite *sprite)
+static void FogHorizontalSpriteCallback(struct Sprite *sprite)
{
sprite->pos2.y = (u8)gSpriteCoordOffsetY;
- sprite->pos1.x = gWeatherPtr->fog1ScrollPosX + 32 + sprite->tSpriteColumn * 64;
+ sprite->pos1.x = gWeatherPtr->fogHScrollPosX + 32 + sprite->tSpriteColumn * 64;
if (sprite->pos1.x > 271)
{
- sprite->pos1.x = 480 + gWeatherPtr->fog1ScrollPosX - (4 - sprite->tSpriteColumn) * 64;
+ sprite->pos1.x = 480 + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64;
sprite->pos1.x &= 0x1FF;
}
}
-static void CreateFog1Sprites(void)
+static void CreateFogHorizontalSprites(void)
{
u16 i;
u8 spriteId;
struct Sprite *sprite;
- if (!gWeatherPtr->fog1SpritesCreated)
+ if (!gWeatherPtr->fogHSpritesCreated)
{
- struct SpriteSheet fog1SpriteSheet = {
- .data = gWeatherFog1Tiles,
- .size = sizeof(gWeatherFog1Tiles),
+ struct SpriteSheet fogHorizontalSpriteSheet = {
+ .data = gWeatherFogHorizontalTiles,
+ .size = sizeof(gWeatherFogHorizontalTiles),
.tag = 0x1201,
};
- LoadSpriteSheet(&fog1SpriteSheet);
- for (i = 0; i < NUM_FOG1_SPRITES; i++)
+ LoadSpriteSheet(&fogHorizontalSpriteSheet);
+ for (i = 0; i < NUM_FOG_HORIZONTAL_SPRITES; i++)
{
- spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF);
+ spriteId = CreateSpriteAtEnd(&sFogHorizontalSpriteTemplate, 0, 0, 0xFF);
if (spriteId != MAX_SPRITES)
{
sprite = &gSprites[spriteId];
sprite->tSpriteColumn = i % 5;
sprite->pos1.x = (i % 5) * 64 + 32;
sprite->pos1.y = (i / 5) * 64 + 32;
- gWeatherPtr->sprites.s2.fog1Sprites[i] = sprite;
+ gWeatherPtr->sprites.s2.fogHSprites[i] = sprite;
}
else
{
- gWeatherPtr->sprites.s2.fog1Sprites[i] = NULL;
+ gWeatherPtr->sprites.s2.fogHSprites[i] = NULL;
}
}
- gWeatherPtr->fog1SpritesCreated = TRUE;
+ gWeatherPtr->fogHSpritesCreated = TRUE;
}
}
-static void DestroyFog1Sprites(void)
+static void DestroyFogHorizontalSprites(void)
{
u16 i;
- if (gWeatherPtr->fog1SpritesCreated)
+ if (gWeatherPtr->fogHSpritesCreated)
{
- for (i = 0; i < NUM_FOG1_SPRITES; i++)
+ for (i = 0; i < NUM_FOG_HORIZONTAL_SPRITES; i++)
{
- if (gWeatherPtr->sprites.s2.fog1Sprites[i] != NULL)
- DestroySprite(gWeatherPtr->sprites.s2.fog1Sprites[i]);
+ if (gWeatherPtr->sprites.s2.fogHSprites[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s2.fogHSprites[i]);
}
FreeSpriteTilesByTag(0x1201);
- gWeatherPtr->fog1SpritesCreated = 0;
+ gWeatherPtr->fogHSpritesCreated = 0;
}
}
#undef tSpriteColumn
//------------------------------------------------------------------------------
-// Volcanic ash
+// WEATHER_VOLCANIC_ASH
//------------------------------------------------------------------------------
static void LoadAshSpriteSheet(void);
@@ -1688,48 +1688,48 @@ static void UpdateAshSprite(struct Sprite *sprite)
#undef tSpriteRow
//------------------------------------------------------------------------------
-// Fog 2
+// WEATHER_FOG_DIAGONAL
//------------------------------------------------------------------------------
-static void UpdateFog2Movement(void);
-static void CreateFog2Sprites(void);
-static void DestroyFog2Sprites(void);
-static void UpdateFog2Sprite(struct Sprite *);
+static void UpdateFogDiagonalMovement(void);
+static void CreateFogDiagonalSprites(void);
+static void DestroyFogDiagonalSprites(void);
+static void UpdateFogDiagonalSprite(struct Sprite *);
-void Fog2_InitVars(void)
+void FogDiagonal_InitVars(void)
{
gWeatherPtr->initStep = 0;
gWeatherPtr->weatherGfxLoaded = 0;
gWeatherPtr->gammaTargetIndex = 0;
gWeatherPtr->gammaStepDelay = 20;
- gWeatherPtr->fog1ScrollCounter = 0;
- gWeatherPtr->fog1ScrollOffset = 1;
- if (!gWeatherPtr->fog2SpritesCreated)
- {
- gWeatherPtr->fog2ScrollXCounter = 0;
- gWeatherPtr->fog2ScrollYCounter = 0;
- gWeatherPtr->fog2XOffset = 0;
- gWeatherPtr->fog2YOffset = 0;
- gWeatherPtr->fog2BaseSpritesX = 0;
- gWeatherPtr->fog2PosY = 0;
+ gWeatherPtr->fogHScrollCounter = 0;
+ gWeatherPtr->fogHScrollOffset = 1;
+ if (!gWeatherPtr->fogDSpritesCreated)
+ {
+ gWeatherPtr->fogDScrollXCounter = 0;
+ gWeatherPtr->fogDScrollYCounter = 0;
+ gWeatherPtr->fogDXOffset = 0;
+ gWeatherPtr->fogDYOffset = 0;
+ gWeatherPtr->fogDBaseSpritesX = 0;
+ gWeatherPtr->fogDPosY = 0;
Weather_SetBlendCoeffs(0, 16);
}
}
-void Fog2_InitAll(void)
+void FogDiagonal_InitAll(void)
{
- Fog2_InitVars();
+ FogDiagonal_InitVars();
while (gWeatherPtr->weatherGfxLoaded == FALSE)
- Fog2_Main();
+ FogDiagonal_Main();
}
-void Fog2_Main(void)
+void FogDiagonal_Main(void)
{
- UpdateFog2Movement();
+ UpdateFogDiagonalMovement();
switch (gWeatherPtr->initStep)
{
case 0:
- CreateFog2Sprites();
+ CreateFogDiagonalSprites();
gWeatherPtr->initStep++;
break;
case 1:
@@ -1745,9 +1745,9 @@ void Fog2_Main(void)
}
}
-bool8 Fog2_Finish(void)
+bool8 FogDiagonal_Finish(void)
{
- UpdateFog2Movement();
+ UpdateFogDiagonalMovement();
switch (gWeatherPtr->finishStep)
{
case 0:
@@ -1760,7 +1760,7 @@ bool8 Fog2_Finish(void)
gWeatherPtr->finishStep++;
break;
case 2:
- DestroyFog2Sprites();
+ DestroyFogDiagonalSprites();
gWeatherPtr->finishStep++;
break;
default:
@@ -1769,32 +1769,32 @@ bool8 Fog2_Finish(void)
return TRUE;
}
-static void UpdateFog2Movement(void)
+static void UpdateFogDiagonalMovement(void)
{
- if (++gWeatherPtr->fog2ScrollXCounter > 2)
+ if (++gWeatherPtr->fogDScrollXCounter > 2)
{
- gWeatherPtr->fog2XOffset++;
- gWeatherPtr->fog2ScrollXCounter = 0;
+ gWeatherPtr->fogDXOffset++;
+ gWeatherPtr->fogDScrollXCounter = 0;
}
- if (++gWeatherPtr->fog2ScrollYCounter > 4)
+ if (++gWeatherPtr->fogDScrollYCounter > 4)
{
- gWeatherPtr->fog2YOffset++;
- gWeatherPtr->fog2ScrollYCounter = 0;
+ gWeatherPtr->fogDYOffset++;
+ gWeatherPtr->fogDScrollYCounter = 0;
}
- gWeatherPtr->fog2BaseSpritesX = (gSpriteCoordOffsetX - gWeatherPtr->fog2XOffset) & 0xFF;
- gWeatherPtr->fog2PosY = gSpriteCoordOffsetY + gWeatherPtr->fog2YOffset;
+ gWeatherPtr->fogDBaseSpritesX = (gSpriteCoordOffsetX - gWeatherPtr->fogDXOffset) & 0xFF;
+ gWeatherPtr->fogDPosY = gSpriteCoordOffsetY + gWeatherPtr->fogDYOffset;
}
-static const struct SpriteSheet gFog2SpriteSheet =
+static const struct SpriteSheet gFogDiagonalSpriteSheet =
{
- .data = gWeatherFog2Tiles,
- .size = sizeof(gWeatherFog2Tiles),
+ .data = gWeatherFogDiagonalTiles,
+ .size = sizeof(gWeatherFogDiagonalTiles),
.tag = 0x1203,
};
-static const struct OamData sFog2SpriteOamData =
+static const struct OamData sFogDiagonalSpriteOamData =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -1808,86 +1808,86 @@ static const struct OamData sFog2SpriteOamData =
.paletteNum = 0,
};
-static const union AnimCmd sFog2SpriteAnimCmd0[] =
+static const union AnimCmd sFogDiagonalSpriteAnimCmd0[] =
{
ANIMCMD_FRAME(0, 16),
ANIMCMD_END,
};
-static const union AnimCmd *const sFog2SpriteAnimCmds[] =
+static const union AnimCmd *const sFogDiagonalSpriteAnimCmds[] =
{
- sFog2SpriteAnimCmd0,
+ sFogDiagonalSpriteAnimCmd0,
};
-static const struct SpriteTemplate sFog2SpriteTemplate =
+static const struct SpriteTemplate sFogDiagonalSpriteTemplate =
{
.tileTag = 0x1203,
.paletteTag = 0x1200,
- .oam = &sFog2SpriteOamData,
- .anims = sFog2SpriteAnimCmds,
+ .oam = &sFogDiagonalSpriteOamData,
+ .anims = sFogDiagonalSpriteAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = UpdateFog2Sprite,
+ .callback = UpdateFogDiagonalSprite,
};
#define tSpriteColumn data[0]
#define tSpriteRow data[1]
-static void CreateFog2Sprites(void)
+static void CreateFogDiagonalSprites(void)
{
u16 i;
- struct SpriteSheet fog2SpriteSheet;
+ struct SpriteSheet fogDiagonalSpriteSheet;
u8 spriteId;
struct Sprite *sprite;
- if (!gWeatherPtr->fog2SpritesCreated)
+ if (!gWeatherPtr->fogDSpritesCreated)
{
- fog2SpriteSheet = gFog2SpriteSheet;
- LoadSpriteSheet(&fog2SpriteSheet);
- for (i = 0; i < NUM_FOG2_SPRITES; i++)
+ fogDiagonalSpriteSheet = gFogDiagonalSpriteSheet;
+ LoadSpriteSheet(&fogDiagonalSpriteSheet);
+ for (i = 0; i < NUM_FOG_DIAGONAL_SPRITES; i++)
{
- spriteId = CreateSpriteAtEnd(&sFog2SpriteTemplate, 0, (i / 5) * 64, 0xFF);
+ spriteId = CreateSpriteAtEnd(&sFogDiagonalSpriteTemplate, 0, (i / 5) * 64, 0xFF);
if (spriteId != MAX_SPRITES)
{
sprite = &gSprites[spriteId];
sprite->tSpriteColumn = i % 5;
sprite->tSpriteRow = i / 5;
- gWeatherPtr->sprites.s2.fog2Sprites[i] = sprite;
+ gWeatherPtr->sprites.s2.fogDSprites[i] = sprite;
}
else
{
- gWeatherPtr->sprites.s2.fog2Sprites[i] = NULL;
+ gWeatherPtr->sprites.s2.fogDSprites[i] = NULL;
}
}
- gWeatherPtr->fog2SpritesCreated = TRUE;
+ gWeatherPtr->fogDSpritesCreated = TRUE;
}
}
-static void DestroyFog2Sprites(void)
+static void DestroyFogDiagonalSprites(void)
{
u16 i;
- if (gWeatherPtr->fog2SpritesCreated)
+ if (gWeatherPtr->fogDSpritesCreated)
{
- for (i = 0; i < NUM_FOG2_SPRITES; i++)
+ for (i = 0; i < NUM_FOG_DIAGONAL_SPRITES; i++)
{
- if (gWeatherPtr->sprites.s2.fog2Sprites[i])
- DestroySprite(gWeatherPtr->sprites.s2.fog2Sprites[i]);
+ if (gWeatherPtr->sprites.s2.fogDSprites[i])
+ DestroySprite(gWeatherPtr->sprites.s2.fogDSprites[i]);
}
FreeSpriteTilesByTag(0x1203);
- gWeatherPtr->fog2SpritesCreated = FALSE;
+ gWeatherPtr->fogDSpritesCreated = FALSE;
}
}
-static void UpdateFog2Sprite(struct Sprite *sprite)
+static void UpdateFogDiagonalSprite(struct Sprite *sprite)
{
- sprite->pos2.y = gWeatherPtr->fog2PosY;
- sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 32 + sprite->tSpriteColumn * 64;
+ sprite->pos2.y = gWeatherPtr->fogDPosY;
+ sprite->pos1.x = gWeatherPtr->fogDBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
if (sprite->pos1.x > 271)
{
- sprite->pos1.x = gWeatherPtr->fog2BaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
+ sprite->pos1.x = gWeatherPtr->fogDBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
sprite->pos1.x &= 0x1FF;
}
}
@@ -1896,7 +1896,7 @@ static void UpdateFog2Sprite(struct Sprite *sprite)
#undef tSpriteRow
//------------------------------------------------------------------------------
-// Sandstorm
+// WEATHER_SANDSTORM
//------------------------------------------------------------------------------
static void UpdateSandstormWaveIndex(void);
@@ -2137,14 +2137,14 @@ static void CreateSwirlSandstormSprites(void)
if (spriteId != MAX_SPRITES)
{
gWeatherPtr->sprites.s2.sandstormSprites2[i] = &gSprites[spriteId];
- gWeatherPtr->sprites.s2.sandstormSprites2[i]->oam.size = 2;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->oam.size = ST_OAM_SIZE_2;
gWeatherPtr->sprites.s2.sandstormSprites2[i]->tSpriteRow = i * 51;
gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadius = 8;
gWeatherPtr->sprites.s2.sandstormSprites2[i]->tRadiusCounter = 0;
gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[4] = 0x6730; // unused value
gWeatherPtr->sprites.s2.sandstormSprites2[i]->tEntranceDelay = sSwirlEntranceDelays[i];
StartSpriteAnim(gWeatherPtr->sprites.s2.sandstormSprites2[i], 1);
- CalcCenterToCornerVec(gWeatherPtr->sprites.s2.sandstormSprites2[i], 0, 2, 0);
+ CalcCenterToCornerVec(gWeatherPtr->sprites.s2.sandstormSprites2[i], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_OFF);
gWeatherPtr->sprites.s2.sandstormSprites2[i]->callback = WaitSandSwirlSpriteEntrance;
}
else
@@ -2205,7 +2205,7 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite)
#undef tEntranceDelay
//------------------------------------------------------------------------------
-// Shade
+// WEATHER_SHADE
//------------------------------------------------------------------------------
void Shade_InitVars(void)
@@ -2230,7 +2230,7 @@ bool8 Shade_Finish(void)
}
//------------------------------------------------------------------------------
-// Bubbles
+// WEATHER_UNDERWATER_BUBBLES
//------------------------------------------------------------------------------
static void CreateBubbleSprite(u16);
@@ -2265,7 +2265,7 @@ static const s16 sBubbleStartCoords[][2] =
void Bubbles_InitVars(void)
{
- Fog1_InitVars();
+ FogHorizontal_InitVars();
if (!gWeatherPtr->bubblesSpritesCreated)
{
LoadSpriteSheet(&sWeatherBubbleSpriteSheet);
@@ -2285,7 +2285,7 @@ void Bubbles_InitAll(void)
void Bubbles_Main(void)
{
- Fog1_Main();
+ FogHorizontal_Main();
if (++gWeatherPtr->bubblesDelayCounter > sBubbleStartDelays[gWeatherPtr->bubblesDelayIndex])
{
gWeatherPtr->bubblesDelayCounter = 0;
@@ -2300,7 +2300,7 @@ void Bubbles_Main(void)
bool8 Bubbles_Finish(void)
{
- if (!Fog1_Finish())
+ if (!FogHorizontal_Finish())
{
DestroyBubbleSprites();
return FALSE;
@@ -2325,7 +2325,7 @@ static const struct SpriteTemplate sBubbleSpriteTemplate =
{
.tileTag = 0x1205,
.paletteTag = 0x1200,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = sBubbleSpriteAnimCmds,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -2399,13 +2399,13 @@ static void UpdateBubbleSprite(struct Sprite *sprite)
//------------------------------------------------------------------------------
// Unused function.
-static void UnusedSetCurrentAlternatingWeather(u32 a0, u32 a1)
+static void UnusedSetCurrentAbnormalWeather(u32 a0, u32 a1)
{
- gCurrentAlternatingWeather = a0;
+ gCurrentAbnormalWeather = a0;
gUnusedWeatherRelated = a1;
}
-static void Task_DoAlternatingWeather(u8 taskId)
+static void Task_DoAbnormalWeather(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -2415,7 +2415,7 @@ static void Task_DoAlternatingWeather(u8 taskId)
if (data[15]-- <= 0)
{
SetNextWeather(data[1]);
- gCurrentAlternatingWeather = data[1];
+ gCurrentAbnormalWeather = data[1];
data[15] = 600;
data[0]++;
}
@@ -2424,7 +2424,7 @@ static void Task_DoAlternatingWeather(u8 taskId)
if (data[15]-- <= 0)
{
SetNextWeather(data[2]);
- gCurrentAlternatingWeather = data[2];
+ gCurrentAbnormalWeather = data[2];
data[15] = 600;
data[0] = 0;
}
@@ -2432,27 +2432,27 @@ static void Task_DoAlternatingWeather(u8 taskId)
}
}
-static void CreateAlternatingWeatherTask(void)
+static void CreateAbnormalWeatherTask(void)
{
- u8 taskId = CreateTask(Task_DoAlternatingWeather, 0);
+ u8 taskId = CreateTask(Task_DoAbnormalWeather, 0);
s16 *data = gTasks[taskId].data;
data[15] = 600;
- if (gCurrentAlternatingWeather == WEATHER_RAIN_HEAVY)
+ if (gCurrentAbnormalWeather == WEATHER_DOWNPOUR)
{
data[1] = WEATHER_DROUGHT;
- data[2] = WEATHER_RAIN_HEAVY;
+ data[2] = WEATHER_DOWNPOUR;
}
- else if (gCurrentAlternatingWeather == WEATHER_DROUGHT)
+ else if (gCurrentAbnormalWeather == WEATHER_DROUGHT)
{
- data[1] = WEATHER_RAIN_HEAVY;
+ data[1] = WEATHER_DOWNPOUR;
data[2] = WEATHER_DROUGHT;
}
else
{
- gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY;
+ gCurrentAbnormalWeather = WEATHER_DOWNPOUR;
data[1] = WEATHER_DROUGHT;
- data[2] = WEATHER_RAIN_HEAVY;
+ data[2] = WEATHER_DOWNPOUR;
}
}
@@ -2494,17 +2494,17 @@ void DoCurrentWeather(void)
{
u8 weather = GetSav1Weather();
- if (weather == WEATHER_ALTERNATING)
+ if (weather == WEATHER_ABNORMAL)
{
- if (!FuncIsActiveTask(Task_DoAlternatingWeather))
- CreateAlternatingWeatherTask();
- weather = gCurrentAlternatingWeather;
+ if (!FuncIsActiveTask(Task_DoAbnormalWeather))
+ CreateAbnormalWeatherTask();
+ weather = gCurrentAbnormalWeather;
}
else
{
- if (FuncIsActiveTask(Task_DoAlternatingWeather))
- DestroyTask(FindTaskIdByFunc(Task_DoAlternatingWeather));
- gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY;
+ if (FuncIsActiveTask(Task_DoAbnormalWeather))
+ DestroyTask(FindTaskIdByFunc(Task_DoAbnormalWeather));
+ gCurrentAbnormalWeather = WEATHER_DOWNPOUR;
}
SetNextWeather(weather);
}
@@ -2513,17 +2513,17 @@ void ResumePausedWeather(void)
{
u8 weather = GetSav1Weather();
- if (weather == WEATHER_ALTERNATING)
+ if (weather == WEATHER_ABNORMAL)
{
- if (!FuncIsActiveTask(Task_DoAlternatingWeather))
- CreateAlternatingWeatherTask();
- weather = gCurrentAlternatingWeather;
+ if (!FuncIsActiveTask(Task_DoAbnormalWeather))
+ CreateAbnormalWeatherTask();
+ weather = gCurrentAbnormalWeather;
}
else
{
- if (FuncIsActiveTask(Task_DoAlternatingWeather))
- DestroyTask(FindTaskIdByFunc(Task_DoAlternatingWeather));
- gCurrentAlternatingWeather = WEATHER_RAIN_HEAVY;
+ if (FuncIsActiveTask(Task_DoAbnormalWeather))
+ DestroyTask(FindTaskIdByFunc(Task_DoAbnormalWeather));
+ gCurrentAbnormalWeather = WEATHER_DOWNPOUR;
}
SetCurrentAndNextWeather(weather);
}
@@ -2531,15 +2531,15 @@ void ResumePausedWeather(void)
static const u8 sWeatherCycleRoute119[] =
{
WEATHER_SUNNY,
- WEATHER_RAIN_LIGHT,
- WEATHER_RAIN_MED,
- WEATHER_RAIN_LIGHT,
+ WEATHER_RAIN,
+ WEATHER_RAIN_THUNDERSTORM,
+ WEATHER_RAIN,
};
static const u8 sWeatherCycleRoute123[] =
{
WEATHER_SUNNY,
WEATHER_SUNNY,
- WEATHER_RAIN_LIGHT,
+ WEATHER_RAIN,
WEATHER_SUNNY,
};
@@ -2547,25 +2547,25 @@ static u8 TranslateWeatherNum(u8 weather)
{
switch (weather)
{
- case WEATHER_NONE: return WEATHER_NONE;
- case WEATHER_CLOUDS: return WEATHER_CLOUDS;
- case WEATHER_SUNNY: return WEATHER_SUNNY;
- case WEATHER_RAIN_LIGHT: return WEATHER_RAIN_LIGHT;
- case WEATHER_SNOW: return WEATHER_SNOW;
- case WEATHER_RAIN_MED: return WEATHER_RAIN_MED;
- case WEATHER_FOG_1: return WEATHER_FOG_1;
- case WEATHER_ASH: return WEATHER_ASH;
- case WEATHER_SANDSTORM: return WEATHER_SANDSTORM;
- case WEATHER_FOG_2: return WEATHER_FOG_2;
- case WEATHER_FOG_3: return WEATHER_FOG_3;
- case WEATHER_SHADE: return WEATHER_SHADE;
- case WEATHER_DROUGHT: return WEATHER_DROUGHT;
- case WEATHER_RAIN_HEAVY: return WEATHER_RAIN_HEAVY;
- case WEATHER_BUBBLES: return WEATHER_BUBBLES;
- case WEATHER_ALTERNATING: return WEATHER_ALTERNATING;
- case WEATHER_ROUTE119_CYCLE: return sWeatherCycleRoute119[gSaveBlock1Ptr->weatherCycleStage];
- case WEATHER_ROUTE123_CYCLE: return sWeatherCycleRoute123[gSaveBlock1Ptr->weatherCycleStage];
- default: return WEATHER_NONE;
+ case WEATHER_NONE: return WEATHER_NONE;
+ case WEATHER_SUNNY_CLOUDS: return WEATHER_SUNNY_CLOUDS;
+ case WEATHER_SUNNY: return WEATHER_SUNNY;
+ case WEATHER_RAIN: return WEATHER_RAIN;
+ case WEATHER_SNOW: return WEATHER_SNOW;
+ case WEATHER_RAIN_THUNDERSTORM: return WEATHER_RAIN_THUNDERSTORM;
+ case WEATHER_FOG_HORIZONTAL: return WEATHER_FOG_HORIZONTAL;
+ case WEATHER_VOLCANIC_ASH: return WEATHER_VOLCANIC_ASH;
+ case WEATHER_SANDSTORM: return WEATHER_SANDSTORM;
+ case WEATHER_FOG_DIAGONAL: return WEATHER_FOG_DIAGONAL;
+ case WEATHER_UNDERWATER: return WEATHER_UNDERWATER;
+ case WEATHER_SHADE: return WEATHER_SHADE;
+ case WEATHER_DROUGHT: return WEATHER_DROUGHT;
+ case WEATHER_DOWNPOUR: return WEATHER_DOWNPOUR;
+ case WEATHER_UNDERWATER_BUBBLES: return WEATHER_UNDERWATER_BUBBLES;
+ case WEATHER_ABNORMAL: return WEATHER_ABNORMAL;
+ case WEATHER_ROUTE119_CYCLE: return sWeatherCycleRoute119[gSaveBlock1Ptr->weatherCycleStage];
+ case WEATHER_ROUTE123_CYCLE: return sWeatherCycleRoute123[gSaveBlock1Ptr->weatherCycleStage];
+ default: return WEATHER_NONE;
}
}
@@ -2579,7 +2579,7 @@ void UpdateWeatherPerDay(u16 increment)
static void UpdateRainCounter(u8 newWeather, u8 oldWeather)
{
if (newWeather != oldWeather
- && (newWeather == WEATHER_RAIN_LIGHT || newWeather == WEATHER_RAIN_MED))
+ && (newWeather == WEATHER_RAIN || newWeather == WEATHER_RAIN_THUNDERSTORM))
IncrementGameStat(GAME_STAT_GOT_RAINED_ON);
}
diff --git a/src/fieldmap.c b/src/fieldmap.c
index b2b80a2df..21bbaa8f8 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -75,7 +75,7 @@ void InitBattlePyramidMap(bool8 setPlayerPosition)
void InitTrainerHillMap(void)
{
CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData));
- sub_81D5FB4(gBackupMapData);
+ GenerateTrainerHillFloorLayout(gBackupMapData);
}
static void InitMapLayoutData(struct MapHeader *mapHeader)
@@ -859,7 +859,7 @@ int sub_8088A4C(struct MapConnection *connection, int x, int y)
return FALSE;
}
-struct MapConnection *sub_8088A8C(s16 x, s16 y)
+struct MapConnection *GetConnectionAtCoords(s16 x, s16 y)
{
int count;
struct MapConnection *connection;
diff --git a/src/fight.c b/src/fight.c
index 5230c2f39..0c4b5a3fa 100644
--- a/src/fight.c
+++ b/src/fight.c
@@ -42,7 +42,7 @@ const struct SpriteTemplate gUnknown_08595E14 =
{
.tileTag = ANIM_TAG_HUMANOID_FOOT,
.paletteTag = ANIM_TAG_HUMANOID_FOOT,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -100,7 +100,7 @@ const struct SpriteTemplate gUnknown_08595E68 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -111,7 +111,7 @@ const struct SpriteTemplate gUnknown_08595E80 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -122,7 +122,7 @@ const struct SpriteTemplate gFistFootSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -133,7 +133,7 @@ const struct SpriteTemplate gUnknown_08595EB0 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -144,7 +144,7 @@ const struct SpriteTemplate gUnknown_08595EC8 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E60,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -155,7 +155,7 @@ const struct SpriteTemplate gUnknown_08595EE0 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E58,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -178,7 +178,7 @@ const struct SpriteTemplate gUnknown_08595F14 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gUnknown_08595F10,
@@ -201,7 +201,7 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gUnknown_08595F44,
@@ -212,7 +212,7 @@ const struct SpriteTemplate gUnknown_08595F60 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E58,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -223,7 +223,7 @@ const struct SpriteTemplate gUnknown_08595F78 =
{
.tileTag = ANIM_TAG_DUCK,
.paletteTag = ANIM_TAG_DUCK,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -234,7 +234,7 @@ const struct SpriteTemplate gUnknown_08595F90 =
{
.tileTag = ANIM_TAG_BLUE_LIGHT_WALL,
.paletteTag = ANIM_TAG_BLUE_LIGHT_WALL,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -245,7 +245,7 @@ const struct SpriteTemplate gUnknown_08595FA8 =
{
.tileTag = ANIM_TAG_TORN_METAL,
.paletteTag = ANIM_TAG_TORN_METAL,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -270,7 +270,7 @@ const struct SpriteTemplate gUnknown_08595FEC =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595FE8,
@@ -281,7 +281,7 @@ const struct SpriteTemplate gUnknown_08596004 =
{
.tileTag = ANIM_TAG_FLAT_ROCK,
.paletteTag = ANIM_TAG_FLAT_ROCK,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -292,7 +292,7 @@ const struct SpriteTemplate gUnknown_0859601C =
{
.tileTag = ANIM_TAG_METEOR,
.paletteTag = ANIM_TAG_METEOR,
- .oam = &gUnknown_0852491C,
+ .oam = &gOamData_AffineOff_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -303,7 +303,7 @@ const struct SpriteTemplate gUnknown_08596034 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -345,7 +345,7 @@ const struct SpriteTemplate gUnknown_08596088 =
{
.tileTag = ANIM_TAG_PURPLE_SCRATCH,
.paletteTag = ANIM_TAG_PURPLE_SCRATCH,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_0859607C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -384,7 +384,7 @@ const struct SpriteTemplate gUnknown_085960D0 =
{
.tileTag = ANIM_TAG_PURPLE_SWIPE,
.paletteTag = ANIM_TAG_PURPLE_SWIPE,
- .oam = &gUnknown_0852491C,
+ .oam = &gOamData_AffineOff_ObjNormal_64x64,
.anims = gUnknown_085960C4,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -407,7 +407,7 @@ const struct SpriteTemplate gUnknown_08596104 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595E54,
.images = NULL,
.affineAnims = gUnknown_08596100,
@@ -433,7 +433,7 @@ void sub_810CE68(struct Sprite *sprite)
StartSpriteAnim(sprite, gBattleAnimArgs[6]);
gBattleAnimArgs[6] = 0;
- sub_80A7938(sprite);
+ AnimSnoreZ(sprite);
}
void sub_810CEB4(struct Sprite *sprite)
diff --git a/src/fire.c b/src/fire.c
index fdbfb234e..2a12c26cc 100644
--- a/src/fire.c
+++ b/src/fire.c
@@ -65,7 +65,7 @@ const struct SpriteTemplate gUnknown_08595368 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595360,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -76,7 +76,7 @@ const struct SpriteTemplate gUnknown_08595380 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595360,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -132,7 +132,7 @@ const struct SpriteTemplate gUnknown_085953F8 =
{
.tileTag = ANIM_TAG_FIRE,
.paletteTag = ANIM_TAG_FIRE,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_085953BC,
.images = NULL,
.affineAnims = gUnknown_085953F4,
@@ -143,7 +143,7 @@ const struct SpriteTemplate gUnknown_08595410 =
{
.tileTag = ANIM_TAG_FIRE,
.paletteTag = ANIM_TAG_FIRE,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085953BC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -154,7 +154,7 @@ const struct SpriteTemplate gUnknown_08595428 =
{
.tileTag = ANIM_TAG_FIRE_PLUME,
.paletteTag = ANIM_TAG_FIRE_PLUME,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085953D8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -165,7 +165,7 @@ const struct SpriteTemplate gUnknown_08595440 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085953D8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -189,7 +189,7 @@ const struct SpriteTemplate gUnknown_0859546C =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595468,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -212,7 +212,7 @@ const struct SpriteTemplate gUnknown_085954A0 =
{
.tileTag = ANIM_TAG_SUNLIGHT,
.paletteTag = ANIM_TAG_SUNLIGHT,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859549C,
@@ -238,7 +238,7 @@ const struct SpriteTemplate gEmberSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -249,7 +249,7 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -260,7 +260,7 @@ const struct SpriteTemplate gUnknown_08595504 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -271,7 +271,7 @@ const struct SpriteTemplate gUnknown_0859551C =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -312,7 +312,7 @@ const struct SpriteTemplate gUnknown_0859556C =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595540,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -323,7 +323,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -334,7 +334,7 @@ const struct SpriteTemplate gUnknown_0859559C =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -345,7 +345,7 @@ const struct SpriteTemplate gUnknown_085955B4 =
{
.tileTag = ANIM_TAG_WARM_ROCK,
.paletteTag = ANIM_TAG_WARM_ROCK,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -368,7 +368,7 @@ const struct SpriteTemplate gUnknown_085955E8 =
{
.tileTag = ANIM_TAG_WARM_ROCK,
.paletteTag = ANIM_TAG_WARM_ROCK,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -414,7 +414,7 @@ const struct SpriteTemplate gUnknown_0859563C =
{
.tileTag = ANIM_TAG_WISP_ORB,
.paletteTag = ANIM_TAG_WISP_ORB,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_0859562C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -439,7 +439,7 @@ const struct SpriteTemplate gUnknown_0859566C =
{
.tileTag = ANIM_TAG_WISP_FIRE,
.paletteTag = ANIM_TAG_WISP_FIRE,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595668,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -622,7 +622,7 @@ static void AnimEmberFlare(struct Sprite *sprite)
|| gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- sprite->callback = sub_80A7938;
+ sprite->callback = AnimSnoreZ;
sprite->callback(sprite);
}
@@ -631,7 +631,7 @@ static void sub_8109200(struct Sprite *sprite)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- sprite->callback = sub_80A7938;
+ sprite->callback = AnimSnoreZ;
}
// Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index 3115ff231..a0160344e 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -7,7 +7,7 @@
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "fldeff.h"
-#include "alloc.h"
+#include "malloc.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "party_menu.h"
@@ -25,7 +25,7 @@
extern struct MapPosition gPlayerFacingPosition;
extern const u8 EventScript_FldEffCut[];
-extern const u8 FarawayIsland_Interior_EventScript_267EDB[];
+extern const u8 FarawayIsland_Interior_EventScript_HideMewWhenGrassCut[];
extern const u8 gFieldEffectPic_CutGrass[];
extern const u16 gFieldEffectObjectPalette6[];
@@ -92,10 +92,10 @@ static const struct HyperCutterUnk sHyperCutStruct[] =
static const struct OamData sOamData_CutGrass =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -584,7 +584,7 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite)
ScriptContext2_Disable();
if (IsMewPlayingHideAndSeek() == TRUE)
- ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_267EDB);
+ ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_HideMewWhenGrassCut);
}
void FixLongGrassMetatilesWindowTop(s16 x, s16 y)
diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c
index b39d25182..7f10e126e 100644
--- a/src/fldeff_dig.c
+++ b/src/fldeff_dig.c
@@ -57,7 +57,7 @@ static void sub_8135780(void)
}
else
{
- taskId = CreateTask(task08_080A1C44, 8);
+ taskId = CreateTask(Task_UseDigEscapeRopeOnField, 8);
gTasks[taskId].data[0] = 0;
}
}
diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c
index 46b1da6d8..5f3dabd03 100644
--- a/src/fldeff_flash.c
+++ b/src/fldeff_flash.c
@@ -27,8 +27,8 @@ struct FlashStruct
};
// static functions
-static void hm2_flash(void);
-static void sub_81371B4(void);
+static void FieldCallback_Flash(void);
+static void FldEff_UseFlash(void);
static bool8 TryDoMapTransition(void);
static void DoExitCaveTransition(void);
static void Task_ExitCaveTransition1(u8 taskId);
@@ -87,26 +87,26 @@ bool8 SetUpFieldMove_Flash(void)
else if (gMapHeader.cave == TRUE && !FlagGet(FLAG_SYS_USE_FLASH))
{
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
- gPostMenuFieldCallback = hm2_flash;
+ gPostMenuFieldCallback = FieldCallback_Flash;
return TRUE;
}
return FALSE;
}
-static void hm2_flash(void)
+static void FieldCallback_Flash(void)
{
u8 taskId = oei_task_add();
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- gTasks[taskId].data[8] = (uintptr_t)sub_81371B4 >> 16;
- gTasks[taskId].data[9] = (uintptr_t)sub_81371B4;
+ gTasks[taskId].data[8] = (uintptr_t)FldEff_UseFlash >> 16;
+ gTasks[taskId].data[9] = (uintptr_t)FldEff_UseFlash;
}
-static void sub_81371B4(void)
+static void FldEff_UseFlash(void)
{
PlaySE(SE_W115);
FlagSet(FLAG_SYS_USE_FLASH);
- ScriptContext1_SetupScript(EventScript_2926F8);
+ ScriptContext1_SetupScript(EventScript_FldEffFlash);
}
static void CB2_ChangeMapMain(void)
diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c
index c68a95d41..05fa43338 100644
--- a/src/fldeff_misc.c
+++ b/src/fldeff_misc.c
@@ -20,9 +20,11 @@
#include "string_util.h"
#include "constants/field_effects.h"
#include "constants/metatile_behaviors.h"
+#include "constants/metatile_labels.h"
#include "constants/songs.h"
+#include "constants/tv.h"
#include "constants/vars.h"
-#include "constants/metatile_labels.h"
+
EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0};
@@ -583,7 +585,7 @@ bool8 SetUpFieldMove_SecretPower(void)
static void FieldCallback_SecretBaseCave(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(EventScript_275A86);
+ ScriptContext1_SetupScript(SecretBase_EventScript_CaveUseSecretPower);
}
bool8 FldEff_UseSecretPowerCave(void)
@@ -643,7 +645,7 @@ static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite)
static void FieldCallback_SecretBaseTree(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(EventScript_275ADF);
+ ScriptContext1_SetupScript(SecretBase_EventScript_TreeUseSecretPower);
}
bool8 FldEff_UseSecretPowerTree(void)
@@ -717,7 +719,7 @@ static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite)
static void FieldCallback_SecretBaseShrub(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
- ScriptContext1_SetupScript(EventScript_275B38);
+ ScriptContext1_SetupScript(SecretBase_EventScript_ShrubUseSecretPower);
}
bool8 FldEff_UseSecretPowerShrub(void)
@@ -801,16 +803,16 @@ static void Task_SecretBasePCTurnOn(u8 taskId)
{
case 4:
case 12:
- MapGridSetMetatileIdAt(data[0], data[1], 0x224);
+ MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC_On);
CurrentMapDrawMetatileAt(data[0], data[1]);
break;
case 8:
case 16:
- MapGridSetMetatileIdAt(data[0], data[1], 0x220);
+ MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC);
CurrentMapDrawMetatileAt(data[0], data[1]);
break;
case 20:
- MapGridSetMetatileIdAt(data[0], data[1], 0x224);
+ MapGridSetMetatileIdAt(data[0], data[1], METATILE_SecretBase_PC_On);
CurrentMapDrawMetatileAt(data[0], data[1]);
FieldEffectActiveListRemove(FLDEFF_PCTURN_ON);
EnableBothScriptContexts();
@@ -829,9 +831,9 @@ void DoSecretBasePCTurnOffEffect(void)
PlaySE(SE_PC_OFF);
if (!VarGet(VAR_CURRENT_SECRET_BASE))
- MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK);
else
- MapGridSetMetatileIdAt(x, y, 0x221 | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
}
@@ -875,16 +877,16 @@ static void DoBalloonSoundEffect(s16 metatileId)
{
switch (metatileId)
{
- case 824:
+ case METATILE_SecretBase_RedBalloon:
PlaySE(SE_FUUSEN1);
break;
- case 828:
+ case METATILE_SecretBase_BlueBalloon:
PlaySE(SE_FUUSEN2);
break;
- case 832:
+ case METATILE_SecretBase_YellowBalloon:
PlaySE(SE_FUUSEN3);
break;
- case 552:
+ case METATILE_SecretBase_MudBall:
PlaySE(SE_TOY_DANGO);
break;
}
@@ -903,8 +905,8 @@ bool8 FldEff_NopA700(void)
static void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
{
PlaySE(SE_TOY_KABE);
- MapGridSetMetatileIdAt(x, y, 0x276);
- MapGridSetMetatileIdAt(x, y - 1, 0x26E);
+ MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_BreakableDoor_BottomOpen);
+ MapGridSetMetatileIdAt(x, y - 1, METATILE_SecretBase_BreakableDoor_TopOpen);
CurrentMapDrawMetatileAt(x, y);
CurrentMapDrawMetatileAt(x, y - 1);
}
@@ -946,28 +948,28 @@ static void Task_SecretBaseMusicNoteMatSound(u8 taskId)
{
switch (gTasks[taskId].tMetatileID)
{
- case 632:
+ case METATILE_SecretBase_NoteMat_C:
PlaySE(SE_TOY_C);
break;
- case 633:
+ case METATILE_SecretBase_NoteMat_D:
PlaySE(SE_TOY_D);
break;
- case 634:
+ case METATILE_SecretBase_NoteMat_E:
PlaySE(SE_TOY_E);
break;
- case 635:
+ case METATILE_SecretBase_NoteMat_F:
PlaySE(SE_TOY_F);
break;
- case 636:
+ case METATILE_SecretBase_NoteMat_G:
PlaySE(SE_TOY_G);
break;
- case 637:
+ case METATILE_SecretBase_NoteMat_A:
PlaySE(SE_TOY_A);
break;
- case 638:
+ case METATILE_SecretBase_NoteMat_B:
PlaySE(SE_TOY_B);
break;
- case 691:
+ case METATILE_SecretBase_NoteMat_C_Sharp:
PlaySE(SE_TOY_C1);
break;
}
@@ -1071,12 +1073,12 @@ static void SpriteCB_SandPillar_0(struct Sprite *sprite)
{
PlaySE(SE_W088);
- if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == 646)
- MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 3586);
+ if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == METATILE_SecretBase_SandOrnament_TopWall)
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_Wall_TopMid | METATILE_COLLISION_MASK);
else
- MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644);
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_SandOrnament_BrokenTop);
- MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522);
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_Ground);
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1);
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
@@ -1092,7 +1094,7 @@ static void SpriteCB_SandPillar_1(struct Sprite *sprite)
}
else
{
- MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 3724);
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_SandOrnament_BrokenBase | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
sprite->data[0] = 0;
sprite->callback = SpriteCB_SandPillar_2;
@@ -1105,7 +1107,7 @@ static void SpriteCB_SandPillar_2(struct Sprite *sprite)
EnableBothScriptContexts();
}
-void GetShieldToyTVDecorationInfo(void)
+void InteractWithShieldOrTVDecoration(void)
{
s16 x, y;
s32 metatileId;
@@ -1116,7 +1118,7 @@ void GetShieldToyTVDecorationInfo(void)
switch (metatileId)
{
- case 822:
+ case METATILE_SecretBase_GoldShield_Base1:
ConvertIntToDecimalStringN(gStringVar1, 100, STR_CONV_MODE_LEFT_ALIGN, 3);
StringCopy(gStringVar2, gText_Gold);
@@ -1125,9 +1127,9 @@ void GetShieldToyTVDecorationInfo(void)
if (!VarGet(VAR_CURRENT_SECRET_BASE))
return;
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x10);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_GOLD_SHIELD);
break;
- case 734:
+ case METATILE_SecretBase_SilverShield_Base1:
ConvertIntToDecimalStringN(gStringVar1, 50, STR_CONV_MODE_LEFT_ALIGN, 2);
StringCopy(gStringVar2, gText_Silver);
@@ -1136,31 +1138,31 @@ void GetShieldToyTVDecorationInfo(void)
if (!VarGet(VAR_CURRENT_SECRET_BASE))
return;
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x20);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_SILVER_SHIELD);
break;
- case 756:
+ case METATILE_SecretBase_TV:
gSpecialVar_Result = 1;
if (!VarGet(VAR_CURRENT_SECRET_BASE))
return;
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV);
break;
- case 757:
+ case METATILE_SecretBase_RoundTV:
gSpecialVar_Result = 2;
if (!VarGet(VAR_CURRENT_SECRET_BASE))
return;
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV);
break;
- case 758:
+ case METATILE_SecretBase_CuteTV:
gSpecialVar_Result = 3;
if (!VarGet(VAR_CURRENT_SECRET_BASE))
return;
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x80);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TV);
break;
}
}
@@ -1172,16 +1174,16 @@ bool8 sub_80FADE4(u16 metatileId, u8 arg1)
if (!arg1)
{
- if (metatileId == 0x285 || metatileId == 0x286)
+ if (metatileId == METATILE_SecretBase_SandOrnament_Top || metatileId == METATILE_SecretBase_SandOrnament_TopWall)
return TRUE;
- if (metatileId == 0x237)
+ if (metatileId == METATILE_SecretBase_BreakableDoor_TopClosed)
return TRUE;
}
else
{
- if (metatileId == 0x28d)
+ if (metatileId == METATILE_SecretBase_SandOrnament_Base1)
return TRUE;
- if (metatileId == 0x23F)
+ if (metatileId == METATILE_SecretBase_BreakableDoor_BottomClosed)
return TRUE;
}
diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c
index c18602c68..1a42b297d 100644
--- a/src/fldeff_softboiled.c
+++ b/src/fldeff_softboiled.c
@@ -7,12 +7,13 @@
#include "string_util.h"
#include "strings.h"
#include "task.h"
+#include "constants/party_menu.h"
#include "constants/songs.h"
-static void sub_816166C(u8 taskId);
-static void sub_81616C0(u8 taskId);
-static void sub_8161724(u8 taskId);
-static void sub_81617B8(u8 taskId);
+static void Task_SoftboiledRestoreHealth(u8 taskId);
+static void Task_DisplayHPRestoredMessage(u8 taskId);
+static void Task_FinishSoftboiled(u8 taskId);
+static void CantUseSoftboiledOnMon(u8 taskId);
bool8 SetUpFieldMove_SoftBoiled(void)
{
@@ -29,81 +30,82 @@ bool8 SetUpFieldMove_SoftBoiled(void)
return FALSE;
}
-void sub_8161560(u8 taskId)
+void ChooseMonForSoftboiled(u8 taskId)
{
- gUnknown_0203CEC8.unkB = 0xA;
- gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId;
- sub_81B0FCC(GetCursorSelectionMonId(), 0x1);
- display_pokemon_menu_message(0x5);
- gTasks[taskId].func = sub_81B1370;
+ gPartyMenu.action = PARTY_ACTION_SOFTBOILED;
+ gPartyMenu.slotId2 = gPartyMenu.slotId;
+ AnimatePartySlot(GetCursorSelectionMonId(), 1);
+ DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
-void sub_81615A8(u8 taskId)
+void Task_TryUseSoftboiledOnPartyMon(u8 taskId)
{
u16 hp;
- u8 slotId = gUnknown_0203CEC8.slotId;
- u8 pokemonIndex = gUnknown_0203CEC8.unkA;
- if(pokemonIndex > 6)
+ u8 userPartyId = gPartyMenu.slotId;
+ u8 recipientPartyId = gPartyMenu.slotId2;
+ if(recipientPartyId > PARTY_SIZE)
{
- gUnknown_0203CEC8.unkB = 0;
- display_pokemon_menu_message(0x0);
- gTasks[taskId].func = sub_81B1370;
+ gPartyMenu.action = 0;
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
return;
}
- hp = GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_HP);
- if(hp == 0 || slotId == pokemonIndex || GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_MAX_HP) == hp)
+ hp = GetMonData(&gPlayerParty[recipientPartyId], MON_DATA_HP);
+ if(hp == 0 || userPartyId == recipientPartyId || GetMonData(&gPlayerParty[recipientPartyId], MON_DATA_MAX_HP) == hp)
{
- sub_81617B8(taskId);
+ CantUseSoftboiledOnMon(taskId);
return;
}
+ // Take away Softboiled user's health first (-1)
PlaySE(SE_KAIFUKU);
- sub_81B1F18(taskId, slotId, -1, GetMonData(&gPlayerParty[slotId], MON_DATA_MAX_HP)/5, sub_816166C);
+ PartyMenuModifyHP(taskId, userPartyId, -1, GetMonData(&gPlayerParty[userPartyId], MON_DATA_MAX_HP)/5, Task_SoftboiledRestoreHealth);
}
-static void sub_816166C(u8 taskId)
+static void Task_SoftboiledRestoreHealth(u8 taskId)
{
PlaySE(SE_KAIFUKU);
- sub_81B1F18(taskId, gUnknown_0203CEC8.unkA, 1, GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAX_HP)/5, sub_81616C0);
+ PartyMenuModifyHP(taskId, gPartyMenu.slotId2, 1, GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAX_HP)/5, Task_DisplayHPRestoredMessage);
}
-static void sub_81616C0(u8 taskId)
+static void Task_DisplayHPRestoredMessage(u8 taskId)
{
- GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unkA], gStringVar1);
+ GetMonNickname(&gPlayerParty[gPartyMenu.slotId2], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
- sub_81B1B5C(gStringVar4, 0);
+ DisplayPartyMenuMessage(gStringVar4, FALSE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_8161724;
+ gTasks[taskId].func = Task_FinishSoftboiled;
}
-static void sub_8161724(u8 taskId)
+static void Task_FinishSoftboiled(u8 taskId)
{
- if(sub_81B1BD4() == 1)
+ if(IsPartyMenuTextPrinterActive() == TRUE)
return;
- gUnknown_0203CEC8.unkB = 0x0;
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 0);
- gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA;
- sub_81B0FCC(gUnknown_0203CEC8.unkA, 1);
- ClearStdWindowAndFrameToTransparent(0x6, FALSE);
- ClearWindowTilemap(0x6);
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
+ gPartyMenu.action = 0;
+ AnimatePartySlot(gPartyMenu.slotId, 0);
+ gPartyMenu.slotId = gPartyMenu.slotId2;
+ AnimatePartySlot(gPartyMenu.slotId2, 1);
+ ClearStdWindowAndFrameToTransparent(6, FALSE);
+ ClearWindowTilemap(6);
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
-static void sub_8161784(u8 taskId)
+static void Task_ChooseNewMonForSoftboiled(u8 taskId)
{
- if(sub_81B1BD4() == 1)
+ if(IsPartyMenuTextPrinterActive() == TRUE)
return;
- display_pokemon_menu_message(0x5);
- gTasks[taskId].func = sub_81B1370;
+ DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
-static void sub_81617B8(u8 taskId)
+static void CantUseSoftboiledOnMon(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B1B5C(gText_CantBeUsedOnPkmn, 0);
+ DisplayPartyMenuMessage(gText_CantBeUsedOnPkmn, FALSE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_8161784;
+ gTasks[taskId].func = Task_ChooseNewMonForSoftboiled;
}
diff --git a/src/flying.c b/src/flying.c
index 3d04a543c..774018f0f 100644
--- a/src/flying.c
+++ b/src/flying.c
@@ -42,7 +42,7 @@ const struct SpriteTemplate gUnknown_08596270 =
{
.tileTag = ANIM_TAG_GUST,
.paletteTag = ANIM_TAG_GUST,
- .oam = &gUnknown_0852495C,
+ .oam = &gOamData_AffineOff_ObjNormal_32x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -65,7 +65,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 =
{
.tileTag = ANIM_TAG_GUST,
.paletteTag = ANIM_TAG_GUST,
- .oam = &gUnknown_085249BC,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_085962A0,
@@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_085962D4 =
{
.tileTag = ANIM_TAG_AIR_WAVE_2,
.paletteTag = ANIM_TAG_AIR_WAVE_2,
- .oam = &gUnknown_08524934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gUnknown_085962D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -133,7 +133,7 @@ const struct SpriteTemplate gUnknown_08596340 =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596314,
@@ -144,7 +144,7 @@ const struct SpriteTemplate gUnknown_08596358 =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
- .oam = &gUnknown_0852497C,
+ .oam = &gOamData_AffineNormal_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596338,
@@ -173,7 +173,7 @@ const struct SpriteTemplate gUnknown_08596388 =
{
.tileTag = ANIM_TAG_WHITE_FEATHER,
.paletteTag = ANIM_TAG_WHITE_FEATHER,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596380,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -184,7 +184,7 @@ const struct SpriteTemplate gUnknown_085963A0 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -210,7 +210,7 @@ const struct SpriteTemplate gUnknown_085963D4 =
{
.tileTag = ANIM_TAG_WHIRLWIND_LINES,
.paletteTag = ANIM_TAG_WHIRLWIND_LINES,
- .oam = &gUnknown_08524934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gUnknown_085963D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -236,7 +236,7 @@ const struct SpriteTemplate gUnknown_08596420 =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859641C,
@@ -258,7 +258,7 @@ const struct SpriteTemplate gUnknown_0859644C =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596448,
@@ -283,7 +283,7 @@ const struct SpriteTemplate gUnknown_08596490 =
{
.tileTag = ANIM_TAG_ROUND_SHADOW,
.paletteTag = ANIM_TAG_ROUND_SHADOW,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_0859648C,
@@ -307,7 +307,7 @@ const struct SpriteTemplate gUnknown_085964CC =
{
.tileTag = ANIM_TAG_SPLASH,
.paletteTag = ANIM_TAG_SPLASH,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -318,7 +318,7 @@ const struct SpriteTemplate gUnknown_085964E4 =
{
.tileTag = ANIM_TAG_SWEAT_BEAD,
.paletteTag = ANIM_TAG_SWEAT_BEAD,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -329,7 +329,7 @@ const struct SpriteTemplate gUnknown_085964FC =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -340,7 +340,7 @@ const struct SpriteTemplate gUnknown_08596514 =
{
.tileTag = ANIM_TAG_BIRD,
.paletteTag = ANIM_TAG_BIRD,
- .oam = &gUnknown_085249DC,
+ .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -540,7 +540,7 @@ void sub_810E2C8(struct Sprite *sprite)
if (sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK)
{
FreeOamMatrix(sprite->oam.matrixNum);
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
}
DestroySprite(sprite);
@@ -550,12 +550,12 @@ void sub_810E2C8(struct Sprite *sprite)
struct FeatherDanceData
{
- u8 unk0_0a:1;
- u8 unk0_0b:1;
- u8 unk0_0c:1;
- u8 unk0_0d:1;
- u8 unk0_1:4;
- u8 unk1;
+ u16 unk0_0a:1;
+ u16 unk0_0b:1;
+ u16 unk0_0c:1;
+ u16 unk0_0d:1;
+ u16 unk0_1:4;
+ u16 unk1:8;
u16 unk2;
s16 unk4;
u16 unk6;
@@ -652,20 +652,11 @@ void sub_810E314(struct Sprite *sprite)
sprite->callback = sub_810E520;
}
-#ifdef NONMATCHING
-/*
-Things I can't get to match:
-1. data->unk0_1 bitfield behaviour. The way bits are read is different.
-2. sprite->oam.priority--; sprite->oam.priority++; Nonmatching version tail-merges these, original does not.
-3. sprite->pos2.x = (gSineTable[data->unk2] * var) >> 8; data->unk2 is very weirdly read at seemingly random moments inside the switch.
-4. sinVal r6/r7 mismatch.
-*/
void sub_810E520(struct Sprite *sprite)
{
- u8 matrixNum, sinIndex, var;
+ u8 matrixNum, sinIndex;
s16 sinVal = 0;
struct FeatherDanceData *data = (struct FeatherDanceData *)sprite->data;
-
if (data->unk0_0a)
{
if (data->unk1-- % 256 == 0)
@@ -676,56 +667,69 @@ void sub_810E520(struct Sprite *sprite)
}
else
{
- switch (data->unk2 >> 6)
+ switch (data->unk2 / 64)
{
- case 0:
- if (data->unk0_1 == 1)
+ case 0:
+ if (data->unk0_1 << 24 >> 24 == 1) // the shifts have to be here
{
data->unk0_0d = 1;
data->unk0_0a = 1;
data->unk1 = 0;
}
- else if (data->unk0_1 == 3)
+ else if (data->unk0_1 << 24 >> 24 == 3)
{
data->unk0_0b ^= 1;
+ data->unk0_0a = 1;
data->unk1 = 0;
}
else if (data->unk0_0d)
{
sprite->hFlip ^= 1;
sprite->animNum = sprite->hFlip;
- sprite->animBeginning = 1;
- sprite->animEnded = 0;
+ sprite->animBeginning = TRUE;
+ sprite->animEnded = FALSE;
if (data->unk0_0c)
{
if (!IsContest())
{
if (!data->unkE_0)
+ {
sprite->oam.priority--;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->oam.priority++;
+ data->unkE_0 ^= 1;
+ }
}
else
{
if (!data->unkE_0)
+ {
sprite->subpriority -= 12;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->subpriority += 12;
+ data->unkE_0 ^= 1;
+ }
}
- data->unkE_0 ^= 1;
}
data->unk0_0d = 0;
+ data->unk2;
}
data->unk0_1 = 0;
break;
case 1:
- if (data->unk0_1 == 0)
+ if (data->unk0_1 << 24 >> 24 == 0)
{
data->unk0_0d = 1;
data->unk0_0a = 1;
data->unk1 = 0;
}
- else if (data->unk0_1 == 2)
+ else if (data->unk0_1 << 24 >> 24 == 2)
{
data->unk0_0a = 1;
data->unk1 = 0;
@@ -734,38 +738,49 @@ void sub_810E520(struct Sprite *sprite)
{
sprite->hFlip ^= 1;
sprite->animNum = sprite->hFlip;
- sprite->animBeginning = 1;
- sprite->animEnded = 0;
+ sprite->animBeginning = TRUE;
+ sprite->animEnded = FALSE;
if (data->unk0_0c)
{
if (!IsContest())
{
if (!data->unkE_0)
+ {
sprite->oam.priority--;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->oam.priority++;
+ data->unkE_0 ^= 1;
+ }
}
else
{
if (!data->unkE_0)
+ {
sprite->subpriority -= 12;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->subpriority += 12;
+ data->unkE_0 ^= 1;
+ }
}
- data->unkE_0 ^= 1;
}
data->unk0_0d = 0;
}
data->unk0_1 = 1;
break;
case 2:
- if (data->unk0_1 == 0)
+ if (data->unk0_1 << 24 >> 24 == 3)
{
data->unk0_0d = 1;
data->unk0_0a = 1;
data->unk1 = 0;
}
- else if (data->unk0_1 == 2)
+ else if (data->unk0_1 << 24 >> 24 == 1)
{
data->unk0_0a = 1;
data->unk1 = 0;
@@ -774,72 +789,96 @@ void sub_810E520(struct Sprite *sprite)
{
sprite->hFlip ^= 1;
sprite->animNum = sprite->hFlip;
- sprite->animBeginning = 1;
- sprite->animEnded = 0;
+ sprite->animBeginning = TRUE;
+ sprite->animEnded = FALSE;
if (data->unk0_0c)
{
if (!IsContest())
{
if (!data->unkE_0)
+ {
sprite->oam.priority--;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->oam.priority++;
+ data->unkE_0 ^= 1;
+ }
}
else
{
if (!data->unkE_0)
+ {
sprite->subpriority -= 12;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->subpriority += 12;
+ data->unkE_0 ^= 1;
+ }
}
- data->unkE_0 ^= 1;
}
data->unk0_0d = 0;
}
data->unk0_1 = 2;
break;
case 3:
- if (data->unk0_1 == 2)
+ if (data->unk0_1 << 24 >> 24 == 2)
{
data->unk0_0d = 1;
}
- else if (data->unk0_1 == 0)
+ else if (data->unk0_1 << 24 >> 24 == 0)
{
data->unk0_0b ^= 1;
+ data->unk0_0a = 1;
data->unk1 = 0;
}
else if (data->unk0_0d)
{
sprite->hFlip ^= 1;
sprite->animNum = sprite->hFlip;
- sprite->animBeginning = 1;
- sprite->animEnded = 0;
+ sprite->animBeginning = TRUE;
+ sprite->animEnded = FALSE;
if (data->unk0_0c)
{
if (!IsContest())
{
if (!data->unkE_0)
+ {
sprite->oam.priority--;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->oam.priority++;
+ data->unkE_0 ^= 1;
+ }
}
else
{
if (!data->unkE_0)
+ {
sprite->subpriority -= 12;
+ data->unkE_0 ^= 1;
+ }
else
+ {
sprite->subpriority += 12;
+ data->unkE_0 ^= 1;
+ }
}
- data->unkE_0 ^= 1;
}
data->unk0_0d = 0;
}
data->unk0_1 = 3;
break;
}
-
- var = data->unkC[data->unk0_0b];
- sprite->pos2.x = (gSineTable[data->unk2] * var) >> 8;
+ #ifndef NONMATCHING
+ asm("":::"r8");
+ #endif
+ sprite->pos2.x = (data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8;
matrixNum = sprite->oam.matrixNum;
sinIndex = (-sprite->pos2.x >> 1) + data->unkA;
@@ -856,723 +895,13 @@ void sub_810E520(struct Sprite *sprite)
else
data->unk2 = (data->unk2 + (data->unk4 & 0x7FFF)) & 0xFF;
- if (sprite->pos1.y + sprite->pos2.y > data->unkE_1)
+ if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1)
{
sprite->data[0] = 0;
sprite->callback = sub_810E2C8;
}
}
}
-#else
-NAKED
-void sub_810E520(struct Sprite *sprite)
-{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- adds r5, r0, 0\n\
- movs r6, 0\n\
- adds r4, r5, 0\n\
- adds r4, 0x2E\n\
- ldrb r2, [r4]\n\
- movs r7, 0x1\n\
- movs r0, 0x1\n\
- mov r9, r0\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _0810E55A\n\
- ldrb r0, [r4, 0x1]\n\
- adds r1, r0, 0\n\
- adds r1, 0xFF\n\
- strb r1, [r4, 0x1]\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _0810E54E\n\
- b _0810EA36\n\
-_0810E54E:\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- ands r0, r2\n\
- strb r0, [r4]\n\
- strb r6, [r4, 0x1]\n\
- b _0810EA36\n\
-_0810E55A:\n\
- ldrh r0, [r4, 0x2]\n\
- lsrs r1, r0, 6\n\
- mov r12, r0\n\
- cmp r1, 0x1\n\
- bne _0810E566\n\
- b _0810E68A\n\
-_0810E566:\n\
- cmp r1, 0x1\n\
- bgt _0810E570\n\
- cmp r1, 0\n\
- beq _0810E57E\n\
- b _0810E97C\n\
-_0810E570:\n\
- cmp r1, 0x2\n\
- bne _0810E576\n\
- b _0810E77E\n\
-_0810E576:\n\
- cmp r1, 0x3\n\
- bne _0810E57C\n\
- b _0810E872\n\
-_0810E57C:\n\
- b _0810E97C\n\
-_0810E57E:\n\
- lsls r1, r2, 24\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0x1\n\
- bne _0810E592\n\
- movs r0, 0x8\n\
- orrs r0, r2\n\
- orrs r0, r7\n\
- strb r0, [r4]\n\
- strb r6, [r4, 0x1]\n\
- b _0810E680\n\
-_0810E592:\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0x3\n\
- bne _0810E5B4\n\
- lsls r0, r2, 30\n\
- lsrs r0, 31\n\
- movs r1, 0x1\n\
- eors r0, r1\n\
- ands r0, r7\n\
- lsls r0, 1\n\
- movs r1, 0x3\n\
- negs r1, r1\n\
- ands r1, r2\n\
- orrs r1, r0\n\
- orrs r1, r7\n\
- strb r1, [r4]\n\
- strb r6, [r4, 0x1]\n\
- b _0810E680\n\
-_0810E5B4:\n\
- movs r0, 0x8\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _0810E680\n\
- adds r3, r5, 0\n\
- adds r3, 0x3F\n\
- ldrb r2, [r3]\n\
- lsls r1, r2, 31\n\
- lsrs r1, 31\n\
- movs r6, 0x1\n\
- eors r1, r6\n\
- ands r1, r7\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- mov r8, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- lsls r0, 31\n\
- lsrs r0, 31\n\
- adds r1, r5, 0\n\
- adds r1, 0x2A\n\
- strb r0, [r1]\n\
- ldrb r0, [r3]\n\
- movs r1, 0x4\n\
- orrs r0, r1\n\
- movs r1, 0x11\n\
- negs r1, r1\n\
- ands r0, r1\n\
- strb r0, [r3]\n\
- ldrb r1, [r4]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0810E672\n\
- bl IsContest\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0810E642\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E628\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- subs r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E660\n\
-_0810E628:\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- adds r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E660\n\
-_0810E642:\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E656\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- subs r0, 0xC\n\
- b _0810E65E\n\
-_0810E656:\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- adds r0, 0xC\n\
-_0810E65E:\n\
- strb r0, [r1]\n\
-_0810E660:\n\
- ldrb r2, [r4, 0xE]\n\
- lsls r0, r2, 31\n\
- lsrs r0, 31\n\
- eors r0, r6\n\
- ands r0, r7\n\
- mov r1, r8\n\
- ands r1, r2\n\
- orrs r1, r0\n\
- strb r1, [r4, 0xE]\n\
-_0810E672:\n\
- ldrb r1, [r4]\n\
- movs r0, 0x9\n\
- negs r0, r0\n\
- ands r0, r1\n\
- strb r0, [r4]\n\
- ldrh r1, [r4, 0x2]\n\
- mov r12, r1\n\
-_0810E680:\n\
- ldrb r1, [r4]\n\
- movs r0, 0xF\n\
- ands r0, r1\n\
- strb r0, [r4]\n\
- b _0810E97C\n\
-_0810E68A:\n\
- lsls r1, r2, 24\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0\n\
- bne _0810E698\n\
- movs r0, 0x8\n\
- orrs r0, r2\n\
- b _0810E6A0\n\
-_0810E698:\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0x2\n\
- bne _0810E6A8\n\
- adds r0, r2, 0\n\
-_0810E6A0:\n\
- orrs r0, r7\n\
- strb r0, [r4]\n\
- strb r6, [r4, 0x1]\n\
- b _0810E774\n\
-_0810E6A8:\n\
- movs r0, 0x8\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _0810E774\n\
- adds r3, r5, 0\n\
- adds r3, 0x3F\n\
- ldrb r2, [r3]\n\
- lsls r1, r2, 31\n\
- lsrs r1, 31\n\
- movs r6, 0x1\n\
- eors r1, r6\n\
- ands r1, r7\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- mov r8, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- lsls r0, 31\n\
- lsrs r0, 31\n\
- adds r1, r5, 0\n\
- adds r1, 0x2A\n\
- strb r0, [r1]\n\
- ldrb r0, [r3]\n\
- movs r1, 0x4\n\
- orrs r0, r1\n\
- movs r1, 0x11\n\
- negs r1, r1\n\
- ands r0, r1\n\
- strb r0, [r3]\n\
- ldrb r1, [r4]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0810E766\n\
- bl IsContest\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0810E736\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E71C\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- subs r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E754\n\
-_0810E71C:\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- adds r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E754\n\
-_0810E736:\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E74A\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- subs r0, 0xC\n\
- b _0810E752\n\
-_0810E74A:\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- adds r0, 0xC\n\
-_0810E752:\n\
- strb r0, [r1]\n\
-_0810E754:\n\
- ldrb r2, [r4, 0xE]\n\
- lsls r0, r2, 31\n\
- lsrs r0, 31\n\
- eors r0, r6\n\
- ands r0, r7\n\
- mov r1, r8\n\
- ands r1, r2\n\
- orrs r1, r0\n\
- strb r1, [r4, 0xE]\n\
-_0810E766:\n\
- ldrb r1, [r4]\n\
- movs r0, 0x9\n\
- negs r0, r0\n\
- ands r0, r1\n\
- strb r0, [r4]\n\
- ldrh r1, [r4, 0x2]\n\
- mov r12, r1\n\
-_0810E774:\n\
- ldrb r0, [r4]\n\
- movs r1, 0xF\n\
- ands r1, r0\n\
- movs r0, 0x10\n\
- b _0810E978\n\
-_0810E77E:\n\
- lsls r1, r2, 24\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0x3\n\
- bne _0810E78C\n\
- movs r0, 0x8\n\
- orrs r0, r2\n\
- b _0810E794\n\
-_0810E78C:\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0x1\n\
- bne _0810E79C\n\
- adds r0, r2, 0\n\
-_0810E794:\n\
- orrs r0, r7\n\
- strb r0, [r4]\n\
- strb r6, [r4, 0x1]\n\
- b _0810E868\n\
-_0810E79C:\n\
- movs r0, 0x8\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _0810E868\n\
- adds r3, r5, 0\n\
- adds r3, 0x3F\n\
- ldrb r2, [r3]\n\
- lsls r1, r2, 31\n\
- lsrs r1, 31\n\
- movs r6, 0x1\n\
- eors r1, r6\n\
- ands r1, r7\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- mov r8, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- lsls r0, 31\n\
- lsrs r0, 31\n\
- adds r1, r5, 0\n\
- adds r1, 0x2A\n\
- strb r0, [r1]\n\
- ldrb r0, [r3]\n\
- movs r1, 0x4\n\
- orrs r0, r1\n\
- movs r1, 0x11\n\
- negs r1, r1\n\
- ands r0, r1\n\
- strb r0, [r3]\n\
- ldrb r1, [r4]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0810E85A\n\
- bl IsContest\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0810E82A\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E810\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- subs r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E848\n\
-_0810E810:\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- adds r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E848\n\
-_0810E82A:\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E83E\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- subs r0, 0xC\n\
- b _0810E846\n\
-_0810E83E:\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- adds r0, 0xC\n\
-_0810E846:\n\
- strb r0, [r1]\n\
-_0810E848:\n\
- ldrb r2, [r4, 0xE]\n\
- lsls r0, r2, 31\n\
- lsrs r0, 31\n\
- eors r0, r6\n\
- ands r0, r7\n\
- mov r1, r8\n\
- ands r1, r2\n\
- orrs r1, r0\n\
- strb r1, [r4, 0xE]\n\
-_0810E85A:\n\
- ldrb r1, [r4]\n\
- movs r0, 0x9\n\
- negs r0, r0\n\
- ands r0, r1\n\
- strb r0, [r4]\n\
- ldrh r1, [r4, 0x2]\n\
- mov r12, r1\n\
-_0810E868:\n\
- ldrb r0, [r4]\n\
- movs r1, 0xF\n\
- ands r1, r0\n\
- movs r0, 0x20\n\
- b _0810E978\n\
-_0810E872:\n\
- lsls r1, r2, 24\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0x2\n\
- bne _0810E882\n\
- movs r0, 0x8\n\
- orrs r0, r2\n\
- strb r0, [r4]\n\
- b _0810E970\n\
-_0810E882:\n\
- lsrs r0, r1, 28\n\
- cmp r0, 0\n\
- bne _0810E8A4\n\
- lsls r0, r2, 30\n\
- lsrs r0, 31\n\
- movs r1, 0x1\n\
- eors r0, r1\n\
- ands r0, r7\n\
- lsls r0, 1\n\
- movs r1, 0x3\n\
- negs r1, r1\n\
- ands r1, r2\n\
- orrs r1, r0\n\
- orrs r1, r7\n\
- strb r1, [r4]\n\
- strb r6, [r4, 0x1]\n\
- b _0810E970\n\
-_0810E8A4:\n\
- movs r0, 0x8\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _0810E970\n\
- adds r3, r5, 0\n\
- adds r3, 0x3F\n\
- ldrb r2, [r3]\n\
- lsls r1, r2, 31\n\
- lsrs r1, 31\n\
- movs r6, 0x1\n\
- eors r1, r6\n\
- ands r1, r7\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- mov r8, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- lsls r0, 31\n\
- lsrs r0, 31\n\
- adds r1, r5, 0\n\
- adds r1, 0x2A\n\
- strb r0, [r1]\n\
- ldrb r0, [r3]\n\
- movs r1, 0x4\n\
- orrs r0, r1\n\
- movs r1, 0x11\n\
- negs r1, r1\n\
- ands r0, r1\n\
- strb r0, [r3]\n\
- ldrb r1, [r4]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0810E962\n\
- bl IsContest\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0810E932\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E918\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- subs r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E950\n\
-_0810E918:\n\
- ldrb r2, [r5, 0x5]\n\
- lsls r1, r2, 28\n\
- lsrs r1, 30\n\
- adds r1, 0x1\n\
- movs r0, 0x3\n\
- ands r1, r0\n\
- lsls r1, 2\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r5, 0x5]\n\
- b _0810E950\n\
-_0810E932:\n\
- ldrb r1, [r4, 0xE]\n\
- mov r0, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0810E946\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- subs r0, 0xC\n\
- b _0810E94E\n\
-_0810E946:\n\
- adds r1, r5, 0\n\
- adds r1, 0x43\n\
- ldrb r0, [r1]\n\
- adds r0, 0xC\n\
-_0810E94E:\n\
- strb r0, [r1]\n\
-_0810E950:\n\
- ldrb r2, [r4, 0xE]\n\
- lsls r0, r2, 31\n\
- lsrs r0, 31\n\
- eors r0, r6\n\
- ands r0, r7\n\
- mov r1, r8\n\
- ands r1, r2\n\
- orrs r1, r0\n\
- strb r1, [r4, 0xE]\n\
-_0810E962:\n\
- ldrb r1, [r4]\n\
- movs r0, 0x9\n\
- negs r0, r0\n\
- ands r0, r1\n\
- strb r0, [r4]\n\
- ldrh r1, [r4, 0x2]\n\
- mov r12, r1\n\
-_0810E970:\n\
- ldrb r0, [r4]\n\
- movs r1, 0xF\n\
- ands r1, r0\n\
- movs r0, 0x30\n\
-_0810E978:\n\
- orrs r1, r0\n\
- strb r1, [r4]\n\
-_0810E97C:\n\
- ldrb r1, [r4]\n\
- lsls r1, 30\n\
- lsrs r1, 31\n\
- adds r0, r4, 0\n\
- adds r0, 0xC\n\
- adds r0, r1\n\
- ldrb r1, [r0]\n\
- ldr r3, =gSineTable\n\
- mov r2, r12\n\
- lsls r0, r2, 1\n\
- adds r0, r3\n\
- movs r2, 0\n\
- ldrsh r0, [r0, r2]\n\
- muls r0, r1\n\
- asrs r0, 8\n\
- strh r0, [r5, 0x24]\n\
- ldrb r2, [r5, 0x3]\n\
- lsls r2, 26\n\
- lsrs r2, 27\n\
- movs r1, 0x24\n\
- ldrsh r0, [r5, r1]\n\
- negs r0, r0\n\
- asrs r0, 1\n\
- ldrb r1, [r4, 0xA]\n\
- adds r0, r1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- lsls r1, r0, 1\n\
- adds r1, r3\n\
- ldrh r6, [r1]\n\
- ldr r1, =gOamMatrices\n\
- lsls r2, 3\n\
- adds r2, r1\n\
- adds r0, 0x40\n\
- lsls r0, 1\n\
- adds r0, r3\n\
- ldrh r0, [r0]\n\
- strh r0, [r2, 0x6]\n\
- strh r0, [r2]\n\
- strh r6, [r2, 0x2]\n\
- lsls r0, r6, 16\n\
- asrs r0, 16\n\
- negs r0, r0\n\
- strh r0, [r2, 0x4]\n\
- ldrh r0, [r4, 0x6]\n\
- ldrh r2, [r4, 0x8]\n\
- adds r0, r2\n\
- strh r0, [r4, 0x8]\n\
- lsls r0, 16\n\
- lsrs r0, 24\n\
- strh r0, [r5, 0x22]\n\
- movs r1, 0x4\n\
- ldrsh r0, [r4, r1]\n\
- movs r1, 0x80\n\
- lsls r1, 8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0810EA0C\n\
- ldrh r0, [r4, 0x4]\n\
- subs r1, 0x1\n\
- ands r1, r0\n\
- ldrh r0, [r4, 0x2]\n\
- subs r0, r1\n\
- movs r1, 0xFF\n\
- ands r0, r1\n\
- strh r0, [r4, 0x2]\n\
- b _0810EA1C\n\
- .pool\n\
-_0810EA0C:\n\
- ldrh r0, [r4, 0x4]\n\
- ldr r1, =0x00007fff\n\
- ands r1, r0\n\
- ldrh r2, [r4, 0x2]\n\
- adds r1, r2\n\
- movs r0, 0xFF\n\
- ands r1, r0\n\
- strh r1, [r4, 0x2]\n\
-_0810EA1C:\n\
- movs r0, 0x22\n\
- ldrsh r1, [r5, r0]\n\
- movs r2, 0x26\n\
- ldrsh r0, [r5, r2]\n\
- adds r1, r0\n\
- ldrh r0, [r4, 0xE]\n\
- lsrs r0, 1\n\
- cmp r1, r0\n\
- blt _0810EA36\n\
- movs r0, 0\n\
- strh r0, [r5, 0x2E]\n\
- ldr r0, =sub_810E2C8\n\
- str r0, [r5, 0x1C]\n\
-_0810EA36:\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
- ");
-}
-#endif
void sub_810EA4C(struct Sprite *sprite)
{
diff --git a/src/frontier_pass.c b/src/frontier_pass.c
index fff93c3c7..42a518ed6 100644
--- a/src/frontier_pass.c
+++ b/src/frontier_pass.c
@@ -5,7 +5,7 @@
#include "battle_anim.h"
#include "event_data.h"
#include "recorded_battle.h"
-#include "alloc.h"
+#include "malloc.h"
#include "sprite.h"
#include "scanline_effect.h"
#include "text_window.h"
@@ -288,9 +288,9 @@ static const struct WindowTemplate sMapWindowTemplates[] =
static const u8 sTextColors[][3] =
{
- {0, 2, 3},
- {0, 1, 9},
- {0, 4, 5},
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY},
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_BLUE},
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED},
};
struct
@@ -442,7 +442,7 @@ static const struct SpriteTemplate sSpriteTemplates_Cursors[] =
{
.tileTag = 0,
.paletteTag = 0,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = sSpriteAnimTable_8571574,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -451,7 +451,7 @@ static const struct SpriteTemplate sSpriteTemplates_Cursors[] =
{
.tileTag = 1,
.paletteTag = 1,
- .oam = &gUnknown_08524934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = sSpriteAnimTable_8571598,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -463,7 +463,7 @@ static const struct SpriteTemplate sSpriteTemplate_Medal =
{
.tileTag = 2,
.paletteTag = 2,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = sSpriteAnimTable_857157C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -474,7 +474,7 @@ static const struct SpriteTemplate sSpriteTemplate_Head =
{
.tileTag = 4,
.paletteTag = 4,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = sSpriteAnimTable_8571574,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -483,21 +483,21 @@ static const struct SpriteTemplate sSpriteTemplate_Head =
static const u8 *const sPassAreaDescriptions[] =
{
- gUnknown_085EDA96,
- gUnknown_085ED932,
- gUnknown_085ED94D,
- gUnknown_085ED961,
- gUnknown_085ED977,
- gUnknown_085ED993,
- gUnknown_085ED9AF,
- gUnknown_085ED9C7,
- gUnknown_085ED9E5,
- gUnknown_085EDA02,
- gUnknown_085EDA21,
- gUnknown_085EDA3C,
- gUnknown_085EDA5E,
- gUnknown_085EDA78,
- gUnknown_085ED931,
+ gText_ThereIsNoBattleRecord,
+ gText_CheckFrontierMap,
+ gText_CheckTrainerCard,
+ gText_ViewRecordedBattle,
+ gText_PutAwayFrontierPass,
+ gText_CurrentBattlePoints,
+ gText_CollectedSymbols,
+ gText_BattleTowerAbilitySymbol,
+ gText_BattleDomeTacticsSymbol,
+ gText_BattlePalaceSpiritsSymbol,
+ gText_BattleArenaGutsSymbol,
+ gText_BattleFactoryKnowledgeSymbol,
+ gText_BattlePikeLuckSymbol,
+ gText_BattlePyramidBraveSymbol,
+ gText_EmptyString7,
};
struct
@@ -509,13 +509,13 @@ struct
u8 animNum;
} static const sMapLandmarks[] =
{
- {gUnknown_085EDAB1, gUnknown_085EDB0F, 0x59, 0x28, 1},
- {gUnknown_085EDABE, gUnknown_085EDB4E, 0x21, 0x2A, 1},
- {gUnknown_085EDACA, gUnknown_085EDB8B, 0x78, 0x56, 0},
- {gUnknown_085EDAD8, gUnknown_085EDBC2, 0x72, 0x3B, 0},
- {gUnknown_085EDAE5, gUnknown_085EDC00, 0x19, 0x43, 0},
- {gUnknown_085EDAF4, gUnknown_085EDC45, 0x39, 0x39, 1},
- {gUnknown_085EDB00, gUnknown_085EDC84, 0x86, 0x29, 1},
+ {gText_BattleTower3, gText_BattleTowerDesc, 0x59, 0x28, 1},
+ {gText_BattleDome2, gText_BattleDomeDesc, 0x21, 0x2A, 1},
+ {gText_BattlePalace2, gText_BattlePalaceDesc, 0x78, 0x56, 0},
+ {gText_BattleArena2, gText_BattleArenaDesc, 0x72, 0x3B, 0},
+ {gText_BattleFactory2, gText_BattleFactoryDesc, 0x19, 0x43, 0},
+ {gText_BattlePike2, gText_BattlePikeDesc, 0x39, 0x39, 1},
+ {gText_BattlePyramid2, gText_BattlePyramidDesc, 0x86, 0x29, 1},
};
// code
@@ -1531,7 +1531,7 @@ static void Task_HandleFrontierMap(u8 taskId)
static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a frontier map number
{
if ((mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_LOBBY) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM))
- || (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2)))
+ || (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM)))
return FRONTIER_FACILITY_TOWER + 1;
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_LOBBY)
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR)
@@ -1553,12 +1553,12 @@ static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a fro
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_LOBBY)
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR)
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM)
- || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1)
- || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2)
- || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3))
+ || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL)
+ || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL)
+ || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS))
return FRONTIER_FACILITY_PIKE + 1;
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
- || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_TOP))
return FRONTIER_FACILITY_PYRAMID + 1;
else
diff --git a/src/frontier_util.c b/src/frontier_util.c
index 536e23e30..3efbf57f9 100644
--- a/src/frontier_util.c
+++ b/src/frontier_util.c
@@ -24,11 +24,12 @@
#include "data.h"
#include "record_mixing.h"
#include "strings.h"
-#include "alloc.h"
+#include "malloc.h"
#include "save.h"
#include "load_save.h"
#include "battle_dome.h"
#include "constants/battle_frontier.h"
+#include "constants/frontier_util.h"
#include "constants/trainers.h"
#include "constants/species.h"
#include "constants/game_stat.h"
@@ -44,33 +45,33 @@ struct FrontierBrainMon
u8 fixedIV;
u8 nature;
u8 evs[NUM_STATS];
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
};
// This file's functions.
-static void sub_81A17A0(void);
-static void sub_81A1830(void);
-static void sub_81A1968(void);
-static void sub_81A1AD4(void);
+static void GetChallengeStatus(void);
+static void GetFrontierData(void);
+static void SetFrontierData(void);
+static void SetSelectedPartyOrder(void);
static void DoSoftReset_(void);
-static void sub_81A1B28(void);
-static void sub_81A1B38(void);
+static void SetFrontierTrainers(void);
+static void SaveSelectedParty(void);
static void ShowFacilityResultsWindow(void);
-static void sub_81A31FC(void);
-static void sub_81A35EC(void);
-static void sub_81A3B00(void);
-static void sub_81A3B64(void);
-static void sub_81A3D30(void);
-static void sub_81A3D58(void);
-static void sub_81A3DA0(void);
-static void sub_81A3FD4(void);
-static void sub_81A4224(void);
-static void sub_81A4230(void);
-static void sub_81A43A8(void);
-static void sub_81A4410(void);
-static void sub_81A443C(void);
-static void sub_81A447C(void);
-static void sub_81A457C(void);
+static void CheckPutFrontierTVShowOnAir(void);
+static void Script_GetFrontierBrainStatus(void);
+static void IsTrainerFrontierBrain(void);
+static void GiveBattlePoints(void);
+static void GetFacilitySymbolCount(void);
+static void GiveFacilitySymbol(void);
+static void CheckBattleTypeFlag(void);
+static void CheckPartyIneligibility(void);
+static void ValidateVisitingTrainer(void);
+static void IncrementWinStreak(void);
+static void RestoreHeldItems(void);
+static void SaveRecordBattle(void);
+static void BufferFrontierTrainerName(void);
+static void ResetSketchedMoves(void);
+static void SetFacilityBrainEventObject(void);
static void ShowTowerResultsWindow(u8);
static void ShowDomeResultsWindow(u8);
static void ShowPalaceResultsWindow(u8);
@@ -82,15 +83,15 @@ static void ShowLinkContestResultsWindow(void);
static void CopyFrontierBrainText(bool8 playerWonText);
// const rom data
-static const u8 gUnknown_08611550[][4] =
-{
- [FRONTIER_FACILITY_TOWER] = {0x23, 0x46, 0x23, 0x01},
- [FRONTIER_FACILITY_DOME] = {0x04, 0x09, 0x05, 0x00},
- [FRONTIER_FACILITY_PALACE] = {0x15, 0x2a, 0x15, 0x01},
- [FRONTIER_FACILITY_ARENA] = {0x1c, 0x38, 0x1c, 0x01},
- [FRONTIER_FACILITY_FACTORY] = {0x15, 0x2a, 0x15, 0x01},
- [FRONTIER_FACILITY_PIKE] = {0x1c, 0x8c, 0x38, 0x01},
- [FRONTIER_FACILITY_PYRAMID] = {0x15, 0x46, 0x23, 0x00},
+static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] =
+{
+ [FRONTIER_FACILITY_TOWER] = {35, 70, 35, 1},
+ [FRONTIER_FACILITY_DOME] = { 4, 9, 5, 0},
+ [FRONTIER_FACILITY_PALACE] = {21, 42, 21, 1},
+ [FRONTIER_FACILITY_ARENA] = {28, 56, 28, 1},
+ [FRONTIER_FACILITY_FACTORY] = {21, 42, 21, 1},
+ [FRONTIER_FACILITY_PIKE] = {28, 140, 56, 1},
+ [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0},
};
static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
@@ -103,7 +104,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_ALAKAZAM,
.heldItem = ITEM_BRIGHT_POWDER,
.fixedIV = 24,
- .nature = 15,
+ .nature = NATURE_MODEST,
.evs = {106, 0, 152, 152, 100, 0},
.moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_DISABLE},
},
@@ -111,7 +112,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_ENTEI,
.heldItem = ITEM_LUM_BERRY,
.fixedIV = 24,
- .nature = 1,
+ .nature = NATURE_LONELY,
.evs = {100, 152, 152, 0, 100, 6},
.moves = {MOVE_FIRE_BLAST, MOVE_CALM_MIND, MOVE_RETURN, MOVE_ROAR},
},
@@ -119,7 +120,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SNORLAX,
.heldItem = ITEM_QUICK_CLAW,
.fixedIV = 24,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {152, 152, 0, 0, 106, 100},
.moves = {MOVE_BODY_SLAM, MOVE_BELLY_DRUM, MOVE_YAWN, MOVE_SHADOW_BALL},
},
@@ -130,7 +131,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_RAIKOU,
.heldItem = ITEM_LUM_BERRY,
.fixedIV = 31,
- .nature = 15,
+ .nature = NATURE_MODEST,
.evs = {158, 0, 252, 100, 0, 0},
.moves = {MOVE_THUNDERBOLT, MOVE_CALM_MIND, MOVE_REFLECT, MOVE_REST},
},
@@ -138,7 +139,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_LATIOS,
.heldItem = ITEM_BRIGHT_POWDER,
.fixedIV = 31,
- .nature = 15,
+ .nature = NATURE_MODEST,
.evs = {252, 0, 252, 6, 0, 0},
.moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_RECOVER, MOVE_DRAGON_CLAW},
},
@@ -146,7 +147,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SNORLAX,
.heldItem = ITEM_CHESTO_BERRY,
.fixedIV = 31,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {252, 252, 0, 0, 6, 0},
.moves = {MOVE_CURSE, MOVE_RETURN, MOVE_REST, MOVE_SHADOW_BALL},
},
@@ -160,7 +161,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SWAMPERT,
.heldItem = ITEM_FOCUS_BAND,
.fixedIV = 20,
- .nature = 2,
+ .nature = NATURE_BRAVE,
.evs = {152, 152, 106, 0, 100, 0},
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER},
},
@@ -168,7 +169,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SALAMENCE,
.heldItem = ITEM_LUM_BERRY,
.fixedIV = 20,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {152, 152, 106, 100, 0, 0},
.moves = {MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE},
},
@@ -176,7 +177,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_CHARIZARD,
.heldItem = ITEM_WHITE_HERB,
.fixedIV = 20,
- .nature = 17,
+ .nature = NATURE_QUIET,
.evs = {100, 152, 106, 152, 0, 0},
.moves = {MOVE_OVERHEAT, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE, MOVE_EARTHQUAKE},
},
@@ -187,7 +188,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SWAMPERT,
.heldItem = ITEM_LEFTOVERS,
.fixedIV = 31,
- .nature = 2,
+ .nature = NATURE_BRAVE,
.evs = {252, 252, 6, 0, 0, 0},
.moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
},
@@ -195,7 +196,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_METAGROSS,
.heldItem = ITEM_QUICK_CLAW,
.fixedIV = 31,
- .nature = 2,
+ .nature = NATURE_BRAVE,
.evs = {252, 252, 6, 0, 0, 0},
.moves = {MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_PROTECT},
},
@@ -203,7 +204,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_LATIAS,
.heldItem = ITEM_CHESTO_BERRY,
.fixedIV = 31,
- .nature = 15,
+ .nature = NATURE_MODEST,
.evs = {252, 0, 252, 6, 0, 0},
.moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_REST},
},
@@ -217,7 +218,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_CROBAT,
.heldItem = ITEM_BRIGHT_POWDER,
.fixedIV = 16,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {152, 0, 0, 152, 100, 106},
.moves = {MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_FLY},
},
@@ -225,7 +226,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SLAKING,
.heldItem = ITEM_SCOPE_LENS,
.fixedIV = 16,
- .nature = 0,
+ .nature = NATURE_HARDY,
.evs = {152, 152, 0, 106, 100, 0},
.moves = {MOVE_EARTHQUAKE, MOVE_SWAGGER, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK},
},
@@ -233,7 +234,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_LAPRAS,
.heldItem = ITEM_QUICK_CLAW,
.fixedIV = 16,
- .nature = 17,
+ .nature = NATURE_QUIET,
.evs = {0, 0, 252, 0, 106, 152},
.moves = {MOVE_ICE_BEAM, MOVE_HORN_DRILL, MOVE_CONFUSE_RAY, MOVE_PROTECT},
},
@@ -244,7 +245,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_ARCANINE,
.heldItem = ITEM_WHITE_HERB,
.fixedIV = 31,
- .nature = 11,
+ .nature = NATURE_HASTY,
.evs = {6, 252, 252, 0, 0, 0},
.moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_ROAR, MOVE_PROTECT},
},
@@ -252,7 +253,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SLAKING,
.heldItem = ITEM_SCOPE_LENS,
.fixedIV = 31,
- .nature = 0,
+ .nature = NATURE_HARDY,
.evs = {6, 252, 0, 252, 0, 0},
.moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_YAWN},
},
@@ -260,7 +261,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SUICUNE,
.heldItem = ITEM_KINGS_ROCK,
.fixedIV = 31,
- .nature = 11,
+ .nature = NATURE_HASTY,
.evs = {252, 0, 252, 6, 0, 0},
.moves = {MOVE_BLIZZARD, MOVE_SURF, MOVE_BITE, MOVE_CALM_MIND},
},
@@ -274,7 +275,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_HERACROSS,
.heldItem = ITEM_SALAC_BERRY,
.fixedIV = 20,
- .nature = 13,
+ .nature = NATURE_JOLLY,
.evs = {106, 152, 0, 152, 0, 100},
.moves = {MOVE_MEGAHORN, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL},
},
@@ -282,7 +283,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_UMBREON,
.heldItem = ITEM_LEFTOVERS,
.fixedIV = 20,
- .nature = 20,
+ .nature = NATURE_CALM,
.evs = {152, 0, 100, 0, 152, 106},
.moves = {MOVE_BODY_SLAM, MOVE_CONFUSE_RAY, MOVE_PSYCHIC, MOVE_FAINT_ATTACK},
},
@@ -290,7 +291,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SHEDINJA,
.heldItem = ITEM_BRIGHT_POWDER,
.fixedIV = 20,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {0, 252, 6, 252, 0, 0},
.moves = {MOVE_SHADOW_BALL, MOVE_RETURN, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE},
},
@@ -301,7 +302,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_UMBREON,
.heldItem = ITEM_CHESTO_BERRY,
.fixedIV = 31,
- .nature = 20,
+ .nature = NATURE_CALM,
.evs = {252, 0, 0, 0, 252, 6},
.moves = {MOVE_DOUBLE_EDGE, MOVE_CONFUSE_RAY, MOVE_REST, MOVE_PSYCHIC},
},
@@ -309,7 +310,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_GENGAR,
.heldItem = ITEM_LEFTOVERS,
.fixedIV = 31,
- .nature = 15,
+ .nature = NATURE_MODEST,
.evs = {252, 0, 252, 0, 6, 0},
.moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_DESTINY_BOND},
},
@@ -317,7 +318,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_BRELOOM,
.heldItem = ITEM_LUM_BERRY,
.fixedIV = 31,
- .nature = 13,
+ .nature = NATURE_JOLLY,
.evs = {6, 252, 0, 252, 0, 0},
.moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HEADBUTT},
},
@@ -332,7 +333,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_METANG,
.heldItem = ITEM_SITRUS_BERRY,
.fixedIV = 31,
- .nature = 2,
+ .nature = NATURE_BRAVE,
.evs = {0, 252, 252, 0, 6, 0},
.moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_METAL_CLAW},
},
@@ -340,7 +341,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SKARMORY,
.heldItem = ITEM_SITRUS_BERRY,
.fixedIV = 31,
- .nature = 8,
+ .nature = NATURE_IMPISH,
.evs = {252, 0, 0, 0, 6, 252},
.moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_PROTECT, MOVE_STEEL_WING},
},
@@ -348,7 +349,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_AGGRON,
.heldItem = ITEM_SITRUS_BERRY,
.fixedIV = 31,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {0, 252, 0, 0, 252, 6},
.moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW},
},
@@ -358,7 +359,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_METANG,
.heldItem = ITEM_SITRUS_BERRY,
.fixedIV = 31,
- .nature = 2,
+ .nature = NATURE_BRAVE,
.evs = {0, 252, 252, 0, 6, 0},
.moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_METAL_CLAW},
},
@@ -366,7 +367,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SKARMORY,
.heldItem = ITEM_SITRUS_BERRY,
.fixedIV = 31,
- .nature = 8,
+ .nature = NATURE_IMPISH,
.evs = {252, 0, 0, 0, 6, 252},
.moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_PROTECT, MOVE_STEEL_WING},
},
@@ -374,7 +375,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_AGGRON,
.heldItem = ITEM_SITRUS_BERRY,
.fixedIV = 31,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {0, 252, 0, 0, 252, 6},
.moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW},
},
@@ -388,7 +389,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SEVIPER,
.heldItem = ITEM_QUICK_CLAW,
.fixedIV = 16,
- .nature = 2,
+ .nature = NATURE_BRAVE,
.evs = {252, 0, 252, 0, 6, 0},
.moves = {MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_FANG, MOVE_GIGA_DRAIN},
},
@@ -396,7 +397,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SHUCKLE,
.heldItem = ITEM_CHESTO_BERRY,
.fixedIV = 16,
- .nature = 5,
+ .nature = NATURE_BOLD,
.evs = {252, 0, 0, 0, 106, 252},
.moves = {MOVE_TOXIC, MOVE_SANDSTORM, MOVE_PROTECT, MOVE_REST},
},
@@ -404,7 +405,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_MILOTIC,
.heldItem = ITEM_LEFTOVERS,
.fixedIV = 16,
- .nature = 15,
+ .nature = NATURE_MODEST,
.evs = {152, 0, 100, 0, 152, 106},
.moves = {MOVE_ICE_BEAM, MOVE_MIRROR_COAT, MOVE_SURF, MOVE_RECOVER},
},
@@ -415,7 +416,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_SEVIPER,
.heldItem = ITEM_FOCUS_BAND,
.fixedIV = 31,
- .nature = 5,
+ .nature = NATURE_BOLD,
.evs = {252, 0, 0, 0, 252, 6},
.moves = {MOVE_SWAGGER, MOVE_CRUNCH, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN},
},
@@ -423,7 +424,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_STEELIX,
.heldItem = ITEM_BRIGHT_POWDER,
.fixedIV = 31,
- .nature = 2,
+ .nature = NATURE_BRAVE,
.evs = {252, 0, 0, 0, 6, 252},
.moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_EXPLOSION, MOVE_SCREECH},
},
@@ -431,7 +432,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_GYARADOS,
.heldItem = ITEM_CHESTO_BERRY,
.fixedIV = 31,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {252, 6, 0, 0, 0, 252},
.moves = {MOVE_DRAGON_DANCE, MOVE_RETURN, MOVE_ROAR, MOVE_REST},
},
@@ -445,7 +446,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_REGIROCK,
.heldItem = ITEM_QUICK_CLAW,
.fixedIV = 16,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {152, 152, 0, 0, 106, 100},
.moves = {MOVE_EXPLOSION, MOVE_SUPERPOWER, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER},
},
@@ -453,7 +454,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_REGISTEEL,
.heldItem = ITEM_LEFTOVERS,
.fixedIV = 16,
- .nature = 3,
+ .nature = NATURE_ADAMANT,
.evs = {152, 152, 0, 0, 6, 200},
.moves = {MOVE_EARTHQUAKE, MOVE_METAL_CLAW, MOVE_TOXIC, MOVE_IRON_DEFENSE},
},
@@ -461,7 +462,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_REGICE,
.heldItem = ITEM_CHESTO_BERRY,
.fixedIV = 16,
- .nature = 15,
+ .nature = NATURE_MODEST,
.evs = {106, 0, 152, 0, 100, 152},
.moves = {MOVE_ICE_BEAM, MOVE_AMNESIA, MOVE_THUNDER, MOVE_REST},
},
@@ -472,7 +473,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_ARTICUNO,
.heldItem = ITEM_SCOPE_LENS,
.fixedIV = 31,
- .nature = 16,
+ .nature = NATURE_MILD,
.evs = {6, 0, 252, 252, 0, 0},
.moves = {MOVE_BLIZZARD, MOVE_WATER_PULSE, MOVE_AERIAL_ACE, MOVE_REFLECT},
},
@@ -480,7 +481,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_ZAPDOS,
.heldItem = ITEM_LUM_BERRY,
.fixedIV = 31,
- .nature = 16,
+ .nature = NATURE_MILD,
.evs = {6, 0, 252, 252, 0, 0},
.moves = {MOVE_THUNDER, MOVE_DETECT, MOVE_DRILL_PECK, MOVE_LIGHT_SCREEN},
},
@@ -488,7 +489,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.species = SPECIES_MOLTRES,
.heldItem = ITEM_BRIGHT_POWDER,
.fixedIV = 31,
- .nature = 16,
+ .nature = NATURE_MILD,
.evs = {6, 0, 252, 252, 0, 0},
.moves = {MOVE_FIRE_BLAST, MOVE_HYPER_BEAM, MOVE_AERIAL_ACE, MOVE_SAFEGUARD},
},
@@ -496,7 +497,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
},
};
-static const u8 gUnknown_086118B4[][7][4] =
+static const u8 sBattlePointAwards[][NUM_FRONTIER_FACILITIES][FRONTIER_MODE_COUNT] =
{
{
{1, 2, 3, 3}, {1, 1, 0, 0}, {4, 5, 0, 0}, {1, 0, 0, 0}, {3, 4, 0, 0}, {1, 0, 0, 0}, {5, 0, 0, 0}
@@ -590,7 +591,9 @@ static const u8 gUnknown_086118B4[][7][4] =
},
};
-static const u16 gUnknown_08611BFC[][2] =
+// Flags to change the conversation when the Frontier Brain is encountered for a battle
+// First bit is has battled them before and not won yet, second bit is has battled them and won (obtained a Symbol)
+static const u16 sBattledBrainBitFlags[NUM_FRONTIER_FACILITIES][2] =
{
[FRONTIER_FACILITY_TOWER] = {0x0001, 0x0002},
[FRONTIER_FACILITY_DOME] = {0x0004, 0x0008},
@@ -603,32 +606,32 @@ static const u16 gUnknown_08611BFC[][2] =
static void (* const sFrontierUtilFuncs[])(void) =
{
- sub_81A17A0,
- sub_81A1830,
- sub_81A1968,
- sub_81A1AD4,
- DoSoftReset_,
- sub_81A1B28,
- sub_81A1B38,
- ShowFacilityResultsWindow,
- sub_81A31FC,
- sub_81A35EC,
- sub_81A3B00,
- sub_81A3B64,
- sub_81A3D30,
- sub_81A3D58,
- sub_81A3DA0,
- sub_81A3FD4,
- sub_81A4224,
- sub_81A4230,
- sub_81A43A8,
- sub_81A4410,
- sub_81A443C,
- sub_81A447C,
- sub_81A457C,
+ [FRONTIER_UTIL_FUNC_GET_STATUS] = GetChallengeStatus,
+ [FRONTIER_UTIL_FUNC_GET_DATA] = GetFrontierData,
+ [FRONTIER_UTIL_FUNC_SET_DATA] = SetFrontierData,
+ [FRONTIER_UTIL_FUNC_SET_PARTY_ORDER] = SetSelectedPartyOrder,
+ [FRONTIER_UTIL_FUNC_SOFT_RESET] = DoSoftReset_,
+ [FRONTIER_UTIL_FUNC_SET_TRAINERS] = SetFrontierTrainers,
+ [FRONTIER_UTIL_FUNC_SAVE_PARTY] = SaveSelectedParty,
+ [FRONTIER_UTIL_FUNC_RESULTS_WINDOW] = ShowFacilityResultsWindow,
+ [FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW] = CheckPutFrontierTVShowOnAir,
+ [FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS] = Script_GetFrontierBrainStatus,
+ [FRONTIER_UTIL_FUNC_IS_BRAIN] = IsTrainerFrontierBrain,
+ [FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS] = GiveBattlePoints,
+ [FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS] = GetFacilitySymbolCount,
+ [FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL] = GiveFacilitySymbol,
+ [FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE] = CheckBattleTypeFlag,
+ [FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE] = CheckPartyIneligibility,
+ [FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER] = ValidateVisitingTrainer,
+ [FRONTIER_UTIL_FUNC_INCREMENT_STREAK] = IncrementWinStreak,
+ [FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS] = RestoreHeldItems,
+ [FRONTIER_UTIL_FUNC_SAVE_BATTLE] = SaveRecordBattle,
+ [FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME] = BufferFrontierTrainerName,
+ [FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES] = ResetSketchedMoves,
+ [FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT] = SetFacilityBrainEventObject,
};
-static const struct WindowTemplate gUnknown_08611C74 =
+static const struct WindowTemplate sFrontierResultsWindowTemplate =
{
.bg = 0,
.tilemapLeft = 1,
@@ -639,7 +642,7 @@ static const struct WindowTemplate gUnknown_08611C74 =
.baseBlock = 1
};
-static const struct WindowTemplate gUnknown_08611C7C =
+static const struct WindowTemplate sLinkContestResultsWindowTemplate =
{
.bg = 0,
.tilemapLeft = 2,
@@ -650,7 +653,7 @@ static const struct WindowTemplate gUnknown_08611C7C =
.baseBlock = 1
};
-static const struct WindowTemplate gUnknown_08611C84 =
+static const struct WindowTemplate sRankingHallRecordsWindowTemplate =
{
.bg = 0,
.tilemapLeft = 2,
@@ -662,7 +665,7 @@ static const struct WindowTemplate gUnknown_08611C84 =
};
// Second field - whether the character is female.
-static const u8 sFacilityToBrainEventObjGfx[][2] =
+static const u8 sFrontierBrainObjEventGfx[NUM_FRONTIER_FACILITIES][2] =
{
[FRONTIER_FACILITY_TOWER] = {EVENT_OBJ_GFX_ANABEL, TRUE},
[FRONTIER_FACILITY_DOME] = {EVENT_OBJ_GFX_TUCKER, FALSE},
@@ -679,41 +682,41 @@ const u16 gFrontierBannedSpecies[] =
SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS, 0xFFFF
};
-static const u8 *const gUnknown_08611CB0[][2] =
-{
- {gText_BattleTower2, gUnknown_085ED164},
- {gText_BattleTower2, gUnknown_085ED170},
- {gText_BattleTower2, gUnknown_085ED17C},
- {gText_BattleDome, gUnknown_085ED164},
- {gText_BattlePalace, gUnknown_085ED164},
- {gText_BattleArena, gUnknown_085ED190},
- {gText_BattleFactory, gUnknown_085ED164},
- {gText_BattlePike, gUnknown_085ED190},
- {gText_BattlePyramid, gUnknown_085ED190},
- {gText_BattleTower2, gUnknown_085ED188},
+static const u8 *const sRecordsWindowChallengeTexts[][2] =
+{
+ [RANKING_HALL_BATTLE_TOWER_SINGLES] = {gText_BattleTower2, gText_FacilitySingle},
+ [RANKING_HALL_BATTLE_TOWER_DOUBLES] = {gText_BattleTower2, gText_FacilityDouble},
+ [RANKING_HALL_BATTLE_TOWER_MULTIS] = {gText_BattleTower2, gText_FacilityMulti},
+ [RANKING_HALL_BATTLE_DOME] = {gText_BattleDome, gText_FacilitySingle},
+ [RANKING_HALL_BATTLE_PALACE] = {gText_BattlePalace, gText_FacilitySingle},
+ [RANKING_HALL_BATTLE_ARENA] = {gText_BattleArena, gText_Facility},
+ [RANKING_HALL_BATTLE_FACTORY] = {gText_BattleFactory, gText_FacilitySingle},
+ [RANKING_HALL_BATTLE_PIKE] = {gText_BattlePike, gText_Facility},
+ [RANKING_HALL_BATTLE_PYRAMID] = {gText_BattlePyramid, gText_Facility},
+ [RANKING_HALL_BATTLE_TOWER_LINK] = {gText_BattleTower2, gText_FacilityLink},
};
-static const u8 *const gLevelModeText[] =
+static const u8 *const sLevelModeText[] =
{
gText_RecordsLv50,
gText_RecordsOpenLevel,
};
-static const u8 *const gHallFacilityToRecordsText[] =
-{
- gText_FrontierFacilityWinStreak,
- gText_FrontierFacilityWinStreak,
- gText_FrontierFacilityWinStreak,
- gText_FrontierFacilityClearStreak,
- gText_FrontierFacilityWinStreak,
- gText_FrontierFacilityKOsStreak,
- gText_FrontierFacilityWinStreak,
- gText_FrontierFacilityRoomsCleared,
- gText_FrontierFacilityFloorsCleared,
- gText_FrontierFacilityWinStreak,
+static const u8 *const sHallFacilityToRecordsText[] =
+{
+ [RANKING_HALL_BATTLE_TOWER_SINGLES] = gText_FrontierFacilityWinStreak,
+ [RANKING_HALL_BATTLE_TOWER_DOUBLES] = gText_FrontierFacilityWinStreak,
+ [RANKING_HALL_BATTLE_TOWER_MULTIS] = gText_FrontierFacilityWinStreak,
+ [RANKING_HALL_BATTLE_DOME] = gText_FrontierFacilityClearStreak,
+ [RANKING_HALL_BATTLE_PALACE] = gText_FrontierFacilityWinStreak,
+ [RANKING_HALL_BATTLE_ARENA] = gText_FrontierFacilityKOsStreak,
+ [RANKING_HALL_BATTLE_FACTORY] = gText_FrontierFacilityWinStreak,
+ [RANKING_HALL_BATTLE_PIKE] = gText_FrontierFacilityRoomsCleared,
+ [RANKING_HALL_BATTLE_PYRAMID] = gText_FrontierFacilityFloorsCleared,
+ [RANKING_HALL_BATTLE_TOWER_LINK] = gText_FrontierFacilityWinStreak,
};
-static const u16 gFacilityToBrainTrainerId[] =
+static const u16 sFrontierBrainTrainerIds[NUM_FRONTIER_FACILITIES] =
{
[FRONTIER_FACILITY_TOWER] = TRAINER_ANABEL,
[FRONTIER_FACILITY_DOME] = TRAINER_TUCKER,
@@ -724,60 +727,60 @@ static const u16 gFacilityToBrainTrainerId[] =
[FRONTIER_FACILITY_PYRAMID] = TRAINER_BRANDON,
};
-static const u8 *const gUnknown_08611D40[] =
+static const u8 *const sFrontierBrainPlayerLostSilverTexts[NUM_FRONTIER_FACILITIES] =
{
- gText_082C843F,
- gText_082C848B,
- gText_082C8628,
- gText_082C85B4,
- gText_082C8512,
- gText_082C859D,
- gText_082C86C3,
+ [FRONTIER_FACILITY_TOWER] = gText_AnabelWonSilver,
+ [FRONTIER_FACILITY_DOME] = gText_TuckerWonSilver,
+ [FRONTIER_FACILITY_PALACE] = gText_SpenserWonSilver,
+ [FRONTIER_FACILITY_ARENA] = gText_GretaWonSilver,
+ [FRONTIER_FACILITY_FACTORY] = gText_NolandWonSilver,
+ [FRONTIER_FACILITY_PIKE] = gText_LucyWonSilver,
+ [FRONTIER_FACILITY_PYRAMID] = gText_BrandonWonSilver,
};
-static const u8 *const gUnknown_08611D5C[] =
+static const u8 *const sFrontierBrainPlayerWonSilverTexts[NUM_FRONTIER_FACILITIES] =
{
- gText_082C8458,
- gText_082C84C1,
- gText_082C8662,
- gText_082C85E3,
- gText_082C853B,
- gText_082C85A4,
- gText_082C86FE,
+ [FRONTIER_FACILITY_TOWER] = gText_AnabelDefeatSilver,
+ [FRONTIER_FACILITY_DOME] = gText_TuckerDefeatSilver,
+ [FRONTIER_FACILITY_PALACE] = gText_SpenserDefeatSilver,
+ [FRONTIER_FACILITY_ARENA] = gText_GretaDefeatSilver,
+ [FRONTIER_FACILITY_FACTORY] = gText_NolandDefeatSilver,
+ [FRONTIER_FACILITY_PIKE] = gText_LucyDefeatSilver,
+ [FRONTIER_FACILITY_PYRAMID] = gText_BrandonDefeatSilver,
};
-static const u8 *const gUnknown_08611D78[] =
+static const u8 *const sFrontierBrainPlayerLostGoldTexts[NUM_FRONTIER_FACILITIES] =
{
- gText_082C846C,
- gText_082C84D0,
- gText_082C8682,
- gText_082C85F5,
- gText_082C8561,
- gText_082C85A9,
- gText_082C8739,
+ [FRONTIER_FACILITY_TOWER] = gText_AnabelWonGold,
+ [FRONTIER_FACILITY_DOME] = gText_TuckerWonGold,
+ [FRONTIER_FACILITY_PALACE] = gText_SpenserWonGold,
+ [FRONTIER_FACILITY_ARENA] = gText_GretaWonGold,
+ [FRONTIER_FACILITY_FACTORY] = gText_NolandWonGold,
+ [FRONTIER_FACILITY_PIKE] = gText_LucyWonGold,
+ [FRONTIER_FACILITY_PYRAMID] = gText_BrandonWonGold,
};
-static const u8 *const gUnknown_08611D94[] =
+static const u8 *const sFrontierBrainPlayerWonGoldTexts[NUM_FRONTIER_FACILITIES] =
{
- gText_082C8480,
- gText_082C84F7,
- gText_082C86B3,
- gText_082C8611,
- gText_082C8589,
- gText_082C85AE,
- gText_082C877B,
+ [FRONTIER_FACILITY_TOWER] = gText_AnabelDefeatGold,
+ [FRONTIER_FACILITY_DOME] = gText_TuckerDefeatGold,
+ [FRONTIER_FACILITY_PALACE] = gText_SpenserDefeatGold,
+ [FRONTIER_FACILITY_ARENA] = gText_GretaDefeatGold,
+ [FRONTIER_FACILITY_FACTORY] = gText_NolandDefeatGold,
+ [FRONTIER_FACILITY_PIKE] = gText_LucyDefeatGold,
+ [FRONTIER_FACILITY_PYRAMID] = gText_BrandonDefeatGold,
};
-static const u8 *const *const gUnknown_08611DB0[] =
+static const u8 *const *const sFrontierBrainPlayerLostTexts[] =
{
- gUnknown_08611D40,
- gUnknown_08611D78,
+ sFrontierBrainPlayerLostSilverTexts,
+ sFrontierBrainPlayerLostGoldTexts,
};
-static const u8 *const *const gUnknown_08611DB8[] =
+static const u8 *const *const sFrontierBrainPlayerWonTexts[] =
{
- gUnknown_08611D5C,
- gUnknown_08611D94,
+ sFrontierBrainPlayerWonSilverTexts,
+ sFrontierBrainPlayerWonGoldTexts,
};
// code
@@ -786,105 +789,106 @@ void CallFrontierUtilFunc(void)
sFrontierUtilFuncs[gSpecialVar_0x8004]();
}
-static void sub_81A17A0(void)
+// Buffers into VAR_TEMP_0 specifically because this is used to react to the status in OnFrame map scripts
+static void GetChallengeStatus(void)
{
VarSet(VAR_TEMP_0, 0xFF);
- switch (gSaveBlock2Ptr->frontier.field_CA8)
+ switch (gSaveBlock2Ptr->frontier.challengeStatus)
{
case 0:
break;
- case 1:
- sub_813A878(0);
- VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ case CHALLENGE_STATUS_SAVING:
+ FrontierGamblerSetWonOrLost(FALSE);
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
- case 4:
- sub_813A878(0);
- VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ case CHALLENGE_STATUS_LOST:
+ FrontierGamblerSetWonOrLost(FALSE);
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
- case 3:
- sub_813A878(1);
- VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ case CHALLENGE_STATUS_WON:
+ FrontierGamblerSetWonOrLost(TRUE);
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
- case 2:
- VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ case CHALLENGE_STATUS_PAUSED:
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus);
break;
}
}
-static void sub_81A1830(void)
+static void GetFrontierData(void)
{
u8 facility = VarGet(VAR_FRONTIER_FACILITY);
- u8 currSymbol = GetPlayerSymbolCountForFacility(facility);
- if (currSymbol == 2)
- currSymbol = 1;
+ u8 hasSymbol = GetPlayerSymbolCountForFacility(facility);
+ if (hasSymbol == 2)
+ hasSymbol = 1;
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA8;
+ case FRONTIER_DATA_CHALLENGE_STATUS:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.challengeStatus;
break;
- case 1:
+ case FRONTIER_DATA_LVL_MODE:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.lvlMode;
break;
- case 2:
+ case FRONTIER_DATA_BATTLE_NUM:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
break;
- case 3:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_a;
+ case FRONTIER_DATA_PAUSED:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.challengePaused;
break;
- case 5:
+ case FRONTIER_DATA_BATTLE_OUTCOME:
gSpecialVar_Result = gBattleOutcome;
gBattleOutcome = 0;
break;
- case 6:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_b;
+ case FRONTIER_DATA_RECORD_DISABLED:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.disableRecordBattle;
break;
- case 7:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D00 & gUnknown_08611BFC[facility][currSymbol];
+ case FRONTIER_DATA_HEARD_BRAIN_SPEECH:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.battledBrainFlags & sBattledBrainBitFlags[facility][hasSymbol];
break;
}
}
-static void sub_81A1968(void)
+static void SetFrontierData(void)
{
s32 i;
u8 facility = VarGet(VAR_FRONTIER_FACILITY);
- u8 currSymbol = GetPlayerSymbolCountForFacility(facility);
- if (currSymbol == 2)
- currSymbol = 1;
+ u8 hasSymbol = GetPlayerSymbolCountForFacility(facility);
+ if (hasSymbol == 2)
+ hasSymbol = 1;
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8006;
+ case FRONTIER_DATA_CHALLENGE_STATUS:
+ gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8006;
break;
- case 1:
+ case FRONTIER_DATA_LVL_MODE:
gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_0x8006;
break;
- case 2:
+ case FRONTIER_DATA_BATTLE_NUM:
gSaveBlock2Ptr->frontier.curChallengeBattleNum = gSpecialVar_0x8006;
break;
- case 3:
- gSaveBlock2Ptr->frontier.field_CA9_a = gSpecialVar_0x8006;
+ case FRONTIER_DATA_PAUSED:
+ gSaveBlock2Ptr->frontier.challengePaused = gSpecialVar_0x8006;
break;
- case 4:
- for (i = 0; i < 4; i++)
+ case FRONTIER_DATA_SELECTED_MON_ORDER:
+ for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i];
break;
- case 6:
- gSaveBlock2Ptr->frontier.field_CA9_b = gSpecialVar_0x8006;
+ case FRONTIER_DATA_RECORD_DISABLED:
+ gSaveBlock2Ptr->frontier.disableRecordBattle = gSpecialVar_0x8006;
break;
- case 7:
- gSaveBlock2Ptr->frontier.field_D00 |= gUnknown_08611BFC[facility][currSymbol];
+ case FRONTIER_DATA_HEARD_BRAIN_SPEECH:
+ gSaveBlock2Ptr->frontier.battledBrainFlags |= sBattledBrainBitFlags[facility][hasSymbol];
break;
}
}
-static void sub_81A1AD4(void)
+static void SetSelectedPartyOrder(void)
{
s32 i;
- sub_81B8558();
+ ClearSelectedPartyOrder();
for (i = 0; i < gSpecialVar_0x8005; i++)
gSelectedOrderFromParty[i] = gSaveBlock2Ptr->frontier.selectedPartyMons[i];
ReducePlayerPartyToSelectedMons();
@@ -895,16 +899,16 @@ static void DoSoftReset_(void)
DoSoftReset();
}
-static void sub_81A1B28(void)
+static void SetFrontierTrainers(void)
{
gFacilityTrainers = gBattleFrontierTrainers;
}
-static void sub_81A1B38(void)
+static void SaveSelectedParty(void)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
if (monId < PARTY_SIZE)
@@ -914,7 +918,7 @@ static void sub_81A1B38(void)
static void ShowFacilityResultsWindow(void)
{
- if (gSpecialVar_0x8006 > 3)
+ if (gSpecialVar_0x8006 >= FRONTIER_MODE_COUNT)
gSpecialVar_0x8006 = 0;
switch (gSpecialVar_0x8005)
{
@@ -939,15 +943,15 @@ static void ShowFacilityResultsWindow(void)
case FRONTIER_FACILITY_PYRAMID:
ShowPyramidResultsWindow();
break;
- case RESULTS_LINK_CONTEST:
+ case FACILITY_LINK_CONTEST:
ShowLinkContestResultsWindow();
break;
}
}
-static bool8 sub_81A1C24(u32 flags)
+static bool8 IsWinStreakActive(u32 challenge)
{
- if (gSaveBlock2Ptr->frontier.field_CDC & flags)
+ if (gSaveBlock2Ptr->frontier.winStreakActiveFlags & challenge)
return TRUE;
else
return FALSE;
@@ -977,8 +981,8 @@ static void PrintHyphens(s32 y)
static void TowerPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
- if (num > 9999)
- num = 9999;
+ if (num > MAX_STREAK)
+ num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -993,8 +997,8 @@ static void TowerPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y
static u16 TowerGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
- if (winStreak > 9999)
- return 9999;
+ if (winStreak > MAX_STREAK)
+ return MAX_STREAK;
else
return winStreak;
}
@@ -1008,27 +1012,27 @@ static void TowerPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(2);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_SINGLES_OPEN);
else
- isCurrent = sub_81A1C24(1);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x8000);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_DOUBLES_OPEN);
else
- isCurrent = sub_81A1C24(0x4000);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_DOUBLES_50);
break;
case FRONTIER_MODE_MULTIS:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x20000);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_MULTIS_OPEN);
else
- isCurrent = sub_81A1C24(0x10000);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_MULTIS_50);
break;
case FRONTIER_MODE_LINK_MULTIS:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x80000);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_LINK_MULTIS_OPEN);
else
- isCurrent = sub_81A1C24(0x40000);
+ isCurrent = IsWinStreakActive(STREAK_TOWER_LINK_MULTIS_50);
break;
}
@@ -1040,7 +1044,7 @@ static void TowerPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x
static void ShowTowerResultsWindow(u8 battleMode)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1068,8 +1072,8 @@ static void ShowTowerResultsWindow(u8 battleMode)
static u16 DomeGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
- if (winStreak > 9999)
- return 9999;
+ if (winStreak > MAX_STREAK)
+ return MAX_STREAK;
else
return winStreak;
}
@@ -1091,15 +1095,15 @@ static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(8);
+ isCurrent = IsWinStreakActive(STREAK_DOME_SINGLES_OPEN);
else
- isCurrent = sub_81A1C24(4);
+ isCurrent = IsWinStreakActive(STREAK_DOME_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x200000);
+ isCurrent = IsWinStreakActive(STREAK_DOME_DOUBLES_OPEN);
else
- isCurrent = sub_81A1C24(0x100000);
+ isCurrent = IsWinStreakActive(STREAK_DOME_DOUBLES_50);
break;
}
@@ -1111,7 +1115,7 @@ static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2
static void ShowDomeResultsWindow(u8 battleMode)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1137,8 +1141,8 @@ static void ShowDomeResultsWindow(u8 battleMode)
static void PalacePrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
- if (num > 9999)
- num = 9999;
+ if (num > MAX_STREAK)
+ num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1153,8 +1157,8 @@ static void PalacePrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8
static u16 PalaceGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
- if (winStreak > 9999)
- return 9999;
+ if (winStreak > MAX_STREAK)
+ return MAX_STREAK;
else
return winStreak;
}
@@ -1168,15 +1172,15 @@ static void PalacePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x20);
+ isCurrent = IsWinStreakActive(STREAK_PALACE_SINGLES_OPEN);
else
- isCurrent = sub_81A1C24(0x10);
+ isCurrent = IsWinStreakActive(STREAK_PALACE_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x800000);
+ isCurrent = IsWinStreakActive(STREAK_PALACE_DOUBLES_OPEN);
else
- isCurrent = sub_81A1C24(0x400000);
+ isCurrent = IsWinStreakActive(STREAK_PALACE_DOUBLES_50);
}
if (isCurrent == TRUE)
@@ -1187,7 +1191,7 @@ static void PalacePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
static void ShowPalaceResultsWindow(u8 battleMode)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1211,8 +1215,8 @@ static void ShowPalaceResultsWindow(u8 battleMode)
static u16 PikeGetWinStreak(u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
- if (winStreak > 9999)
- return 9999;
+ if (winStreak > MAX_STREAK)
+ return MAX_STREAK;
else
return winStreak;
}
@@ -1231,9 +1235,9 @@ static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
u16 winStreak = PikeGetWinStreak(lvlMode);
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x800);
+ isCurrent = IsWinStreakActive(STREAK_PIKE_OPEN);
else
- isCurrent = sub_81A1C24(0x400);
+ isCurrent = IsWinStreakActive(STREAK_PIKE_50);
if (isCurrent == TRUE)
PrintTwoStrings(gText_Current, gText_RoomsCleared, winStreak, x1, x2, y);
@@ -1243,7 +1247,7 @@ static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static void ShowPikeResultsWindow(void)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
StringExpandPlaceholders(gStringVar4, gText_BattleChoiceResults);
@@ -1265,8 +1269,8 @@ static void ShowPikeResultsWindow(void)
static void ArenaPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
- if (num > 9999)
- num = 9999;
+ if (num > MAX_STREAK)
+ num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_KOsInARow);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1281,8 +1285,8 @@ static void ArenaPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static u16 ArenaGetWinStreak(u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
- if (winStreak > 9999)
- return 9999;
+ if (winStreak > MAX_STREAK)
+ return MAX_STREAK;
else
return winStreak;
}
@@ -1293,9 +1297,9 @@ static void ArenaPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
u16 winStreak = ArenaGetWinStreak(lvlMode);
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x80);
+ isCurrent = IsWinStreakActive(STREAK_ARENA_OPEN);
else
- isCurrent = sub_81A1C24(0x40);
+ isCurrent = IsWinStreakActive(STREAK_ARENA_50);
if (isCurrent == TRUE)
ArenaPrintStreak(gText_Current, winStreak, x1, x2, y);
@@ -1305,7 +1309,7 @@ static void ArenaPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static void ShowArenaResultsWindow(void)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
PrintHyphens(10);
@@ -1325,8 +1329,8 @@ static void ShowArenaResultsWindow(void)
static void FactoryPrintStreak(const u8 *str, u16 num1, u16 num2, u8 x1, u8 x2, u8 x3, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
- if (num1 > 9999)
- num1 = 9999;
+ if (num1 > MAX_STREAK)
+ num1 = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num1, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1346,8 +1350,8 @@ static void FactoryPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8
static u16 FactoryGetWinStreak(u8 battleMode, u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
- if (winStreak > 9999)
- return 9999;
+ if (winStreak > MAX_STREAK)
+ return MAX_STREAK;
else
return winStreak;
}
@@ -1355,8 +1359,8 @@ static u16 FactoryGetWinStreak(u8 battleMode, u8 lvlMode)
static u16 FactoryGetRentsCount(u8 battleMode, u8 lvlMode)
{
u16 rents = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
- if (rents > 9999)
- return 9999;
+ if (rents > MAX_STREAK)
+ return MAX_STREAK;
else
return rents;
}
@@ -1371,15 +1375,15 @@ static void FactoryPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
default:
case FRONTIER_MODE_SINGLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x200);
+ isCurrent = IsWinStreakActive(STREAK_FACTORY_SINGLES_OPEN);
else
- isCurrent = sub_81A1C24(0x100);
+ isCurrent = IsWinStreakActive(STREAK_FACTORY_SINGLES_50);
break;
case FRONTIER_MODE_DOUBLES:
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x2000000);
+ isCurrent = IsWinStreakActive(STREAK_FACTORY_DOUBLES_OPEN);
else
- isCurrent = sub_81A1C24(0x1000000);
+ isCurrent = IsWinStreakActive(STREAK_FACTORY_DOUBLES_50);
break;
}
@@ -1391,7 +1395,7 @@ static void FactoryPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8
static void ShowFactoryResultsWindow(u8 battleMode)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
if (battleMode == FRONTIER_MODE_SINGLES)
@@ -1416,8 +1420,8 @@ static void ShowFactoryResultsWindow(u8 battleMode)
static void PyramidPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
{
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
- if (num > 9999)
- num = 9999;
+ if (num > MAX_STREAK)
+ num = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_FloorsCleared);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
@@ -1432,8 +1436,8 @@ static void PyramidPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static u16 PyramidGetWinStreak(u8 lvlMode)
{
u16 winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
- if (winStreak > 9999)
- return 9999;
+ if (winStreak > MAX_STREAK)
+ return MAX_STREAK;
else
return winStreak;
}
@@ -1444,9 +1448,9 @@ static void PyramidPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
u16 winStreak = PyramidGetWinStreak(lvlMode);
if (lvlMode != FRONTIER_LVL_50)
- isCurrent = sub_81A1C24(0x2000);
+ isCurrent = IsWinStreakActive(STREAK_PYRAMID_OPEN);
else
- isCurrent = sub_81A1C24(0x1000);
+ isCurrent = IsWinStreakActive(STREAK_PYRAMID_50);
if (isCurrent == TRUE)
PyramidPrintStreak(gText_Current, winStreak, x1, x2, y);
@@ -1456,7 +1460,7 @@ static void PyramidPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
static void ShowPyramidResultsWindow(void)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ gRecordsWindowId = AddWindow(&sFrontierResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
StringExpandPlaceholders(gStringVar4, gText_BattleQuestResults);
@@ -1479,7 +1483,7 @@ static void ShowLinkContestResultsWindow(void)
s32 i, j;
s32 x;
- gRecordsWindowId = AddWindow(&gUnknown_08611C7C);
+ gRecordsWindowId = AddWindow(&sLinkContestResultsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
@@ -1523,7 +1527,7 @@ static void ShowLinkContestResultsWindow(void)
CopyWindowToVram(gRecordsWindowId, 3);
}
-static void sub_81A31FC(void)
+static void CheckPutFrontierTVShowOnAir(void)
{
u8 name[32];
s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -1540,25 +1544,25 @@ static void sub_81A31FC(void)
{
StringCopy(name, gLinkPlayers[gBattleScripting.multiplayerId ^ 1].name);
StripExtCtrlCodes(name);
- StringCopy(gSaveBlock2Ptr->frontier.opponentName[lvlMode], name);
- SetTrainerId(gLinkPlayers[gBattleScripting.multiplayerId ^ 1].trainerId, gSaveBlock2Ptr->frontier.field_EF1[lvlMode]);
+ StringCopy(gSaveBlock2Ptr->frontier.opponentNames[lvlMode], name);
+ SetTrainerId(gLinkPlayers[gBattleScripting.multiplayerId ^ 1].trainerId, gSaveBlock2Ptr->frontier.opponentTrainerIds[lvlMode]);
}
if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] > 1
- && sub_80EE818())
+ && ShouldAirFrontierTVShow())
{
switch (battleMode)
{
case FRONTIER_MODE_SINGLES:
- sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 1);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 1);
break;
case FRONTIER_MODE_DOUBLES:
- sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 2);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 2);
break;
case FRONTIER_MODE_MULTIS:
- sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 3);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 3);
break;
case FRONTIER_MODE_LINK_MULTIS:
- sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 4);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 4);
break;
}
}
@@ -1569,12 +1573,12 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] > 1
- && sub_80EE818())
+ && ShouldAirFrontierTVShow())
{
if (battleMode == FRONTIER_MODE_SINGLES)
- sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 5);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 5);
else
- sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 6);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 6);
}
}
break;
@@ -1583,12 +1587,12 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 1
- && sub_80EE818())
+ && ShouldAirFrontierTVShow())
{
if (battleMode == FRONTIER_MODE_SINGLES)
- sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 11);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 11);
else
- sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 12);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 12);
}
}
break;
@@ -1597,9 +1601,9 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.arenaRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 1
- && sub_80EE818())
+ && ShouldAirFrontierTVShow())
{
- sub_80EE8C8(gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode], 10);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode], 10);
}
}
break;
@@ -1609,12 +1613,12 @@ static void sub_81A31FC(void)
gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
gSaveBlock2Ptr->frontier.factoryRecordRentsCount[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] > 1
- && sub_80EE818())
+ && ShouldAirFrontierTVShow())
{
if (battleMode == FRONTIER_MODE_SINGLES)
- sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 7);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 7);
else
- sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 8);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 8);
}
}
break;
@@ -1623,9 +1627,9 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.pikeRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] > 1
- && sub_80EE818())
+ && ShouldAirFrontierTVShow())
{
- sub_80EE8C8(gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode], 9);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode], 9);
}
}
break;
@@ -1634,53 +1638,58 @@ static void sub_81A31FC(void)
{
gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 1
- && sub_80EE818())
+ && ShouldAirFrontierTVShow())
{
- sub_80EE8C8(gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode], 13);
+ TryPutFrontierTVShowOnAir(gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode], 13);
}
}
break;
}
}
-static void sub_81A35EC(void)
+static void Script_GetFrontierBrainStatus(void)
{
VarGet(VAR_FRONTIER_FACILITY); // Unused return value.
- gSpecialVar_Result = sub_81A3610();
+ gSpecialVar_Result = GetFrontierBrainStatus();
}
-u8 sub_81A3610(void)
+u8 GetFrontierBrainStatus(void)
{
- s32 ret = 0;
+ s32 status = FRONTIER_BRAIN_NOT_READY;
s32 facility = VarGet(VAR_FRONTIER_FACILITY);
s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- u16 val = GetCurrentFacilityWinStreak();
- s32 r5 = val + gUnknown_08611550[facility][3];
+ u16 winStreakNoModifier = GetCurrentFacilityWinStreak();
+ s32 winStreak = winStreakNoModifier + sFrontierBrainStreakAppearances[facility][3];
s32 symbolsCount;
if (battleMode != FRONTIER_MODE_SINGLES)
- return 0;
+ return FRONTIER_BRAIN_NOT_READY;
symbolsCount = GetPlayerSymbolCountForFacility(facility);
switch (symbolsCount)
{
+ // Missing a symbol
case 0:
case 1:
- if (r5 == gUnknown_08611550[facility][symbolsCount])
- ret = symbolsCount + 1;
+ if (winStreak == sFrontierBrainStreakAppearances[facility][symbolsCount])
+ status = symbolsCount + 1; // FRONTIER_BRAIN_SILVER and FRONTIER_BRAIN_GOLD
break;
+ // Already received both symbols
case 2:
default:
- if (r5 == gUnknown_08611550[facility][0])
- ret = 3;
- else if (r5 == gUnknown_08611550[facility][1])
- ret = 4;
- else if (r5 > gUnknown_08611550[facility][1] && (r5 - gUnknown_08611550[facility][1]) % gUnknown_08611550[facility][2] == 0)
- ret = 4;
+ // Silver streak is reached
+ if (winStreak == sFrontierBrainStreakAppearances[facility][0])
+ status = FRONTIER_BRAIN_STREAK;
+ // Gold streak is reached
+ else if (winStreak == sFrontierBrainStreakAppearances[facility][1])
+ status = FRONTIER_BRAIN_STREAK_LONG;
+ // Some increment of the gold streak is reached
+ else if (winStreak > sFrontierBrainStreakAppearances[facility][1] && (winStreak - sFrontierBrainStreakAppearances[facility][1]) % sFrontierBrainStreakAppearances[facility][2] == 0)
+ status = FRONTIER_BRAIN_STREAK_LONG;
break;
}
- return ret;
+ return status;
}
void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
@@ -1692,12 +1701,12 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting);
else if (trainerId == TRAINER_FRONTIER_BRAIN)
CopyFrontierBrainText(FALSE);
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
FrontierSpeechToString(gFacilityTrainers[trainerId].speechBefore);
else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].greeting);
else
- CopyFriendsApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE);
+ BufferApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE);
break;
case FRONTIER_PLAYER_LOST_TEXT:
if (trainerId == TRAINER_EREADER)
@@ -1708,7 +1717,7 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
{
CopyFrontierBrainText(FALSE);
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
FrontierSpeechToString(gFacilityTrainers[trainerId].speechWin);
}
@@ -1724,7 +1733,7 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
FrontierSpeechToString(GetRecordedBattleEasyChatSpeech());
else
- FrontierSpeechToString(gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords);
+ FrontierSpeechToString(gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].speechWon);
}
break;
case FRONTIER_PLAYER_WON_TEXT:
@@ -1736,7 +1745,7 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
{
CopyFrontierBrainText(TRUE);
}
- else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ else if (trainerId < FRONTIER_TRAINERS_COUNT)
{
FrontierSpeechToString(gFacilityTrainers[trainerId].speechLose);
}
@@ -1752,23 +1761,23 @@ void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
{
trainerId = GetRecordedBattleApprenticeId();
- FrontierSpeechToString(gApprentices[trainerId].easyChatWords);
+ FrontierSpeechToString(gApprentices[trainerId].speechLost);
}
else
{
trainerId = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id;
- FrontierSpeechToString(gApprentices[trainerId].easyChatWords);
+ FrontierSpeechToString(gApprentices[trainerId].speechLost);
}
}
break;
}
}
-void sub_81A3908(void)
+void ResetWinStreaks(void)
{
s32 battleMode, lvlMode;
- gSaveBlock2Ptr->frontier.field_CDC = 0;
+ gSaveBlock2Ptr->frontier.winStreakActiveFlags = 0;
for (battleMode = 0; battleMode < 4; battleMode++)
{
for (lvlMode = 0; lvlMode < 2; lvlMode++)
@@ -1788,8 +1797,8 @@ void sub_81A3908(void)
}
}
}
- if (gSaveBlock2Ptr->frontier.field_CA8 != 0)
- gSaveBlock2Ptr->frontier.field_CA8 = 1;
+ if (gSaveBlock2Ptr->frontier.challengeStatus != 0)
+ gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_SAVING;
}
u32 GetCurrentFacilityWinStreak(void)
@@ -1819,15 +1828,15 @@ u32 GetCurrentFacilityWinStreak(void)
}
}
-void sub_81A3ACC(void)
+void ResetFrontierTrainerIds(void)
{
s32 i;
- for (i = 0; i < 20; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.trainerIds); i++)
gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
}
-static void sub_81A3B00(void)
+static void IsTrainerFrontierBrain(void)
{
if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
gSpecialVar_Result = TRUE;
@@ -1841,7 +1850,7 @@ u8 GetPlayerSymbolCountForFacility(u8 facility)
+ FlagGet(FLAG_SYS_TOWER_GOLD + facility * 2);
}
-static void sub_81A3B64(void)
+static void GiveBattlePoints(void)
{
s32 challengeNum = 0;
s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -1876,37 +1885,37 @@ static void sub_81A3B64(void)
if (challengeNum != 0)
challengeNum--;
- if (challengeNum >= ARRAY_COUNT(gUnknown_086118B4))
- challengeNum = ARRAY_COUNT(gUnknown_086118B4) - 1;
+ if (challengeNum >= ARRAY_COUNT(sBattlePointAwards))
+ challengeNum = ARRAY_COUNT(sBattlePointAwards) - 1;
- points = gUnknown_086118B4[challengeNum][facility][battleMode];
+ points = sBattlePointAwards[challengeNum][facility][battleMode];
if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
points += 10;
gSaveBlock2Ptr->frontier.battlePoints += points;
ConvertIntToDecimalStringN(gStringVar1, points, STR_CONV_MODE_LEFT_ALIGN, 2);
- if (gSaveBlock2Ptr->frontier.battlePoints > 9999)
- gSaveBlock2Ptr->frontier.battlePoints = 9999;
+ if (gSaveBlock2Ptr->frontier.battlePoints > MAX_BATTLE_FRONTIER_POINTS)
+ gSaveBlock2Ptr->frontier.battlePoints = MAX_BATTLE_FRONTIER_POINTS;
- points = gSaveBlock2Ptr->frontier.field_EBA;
- points += gUnknown_086118B4[challengeNum][facility][battleMode];
- sub_80EED60(gUnknown_086118B4[challengeNum][facility][battleMode]);
+ points = gSaveBlock2Ptr->frontier.cardBattlePoints;
+ points += sBattlePointAwards[challengeNum][facility][battleMode];
+ IncrementDailyBattlePoints(sBattlePointAwards[challengeNum][facility][battleMode]);
if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
{
points += 10;
- sub_80EED60(10);
+ IncrementDailyBattlePoints(10);
}
if (points > 0xFFFF)
points = 0xFFFF;
- gSaveBlock2Ptr->frontier.field_EBA = points;
+ gSaveBlock2Ptr->frontier.cardBattlePoints = points;
}
-static void sub_81A3D30(void)
+static void GetFacilitySymbolCount(void)
{
s32 facility = VarGet(VAR_FRONTIER_FACILITY);
gSpecialVar_Result = GetPlayerSymbolCountForFacility(facility);
}
-static void sub_81A3D58(void)
+static void GiveFacilitySymbol(void)
{
s32 facility = VarGet(VAR_FRONTIER_FACILITY);
if (GetPlayerSymbolCountForFacility(facility) == 0)
@@ -1915,7 +1924,7 @@ static void sub_81A3D58(void)
FlagSet(FLAG_SYS_TOWER_GOLD + facility * 2);
}
-static void sub_81A3DA0(void)
+static void CheckBattleTypeFlag(void)
{
if (gBattleTypeFlags & gSpecialVar_0x8005)
gSpecialVar_Result = TRUE;
@@ -1923,12 +1932,12 @@ static void sub_81A3DA0(void)
gSpecialVar_Result = FALSE;
}
-static u8 sub_81A3DD0(u16 species, u8 arg1, s32 arg2)
+static u8 AppendCaughtBannedMonSpeciesName(u16 species, u8 count, s32 numBannedMonsCaught)
{
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
{
- arg1++;
- switch (arg1)
+ count++;
+ switch (count)
{
case 1:
case 3:
@@ -1936,30 +1945,30 @@ static u8 sub_81A3DD0(u16 species, u8 arg1, s32 arg2)
case 7:
case 9:
case 11:
- if (arg2 == arg1)
+ if (numBannedMonsCaught == count)
StringAppend(gStringVar1, gText_SpaceAndSpace);
- else if (arg2 > arg1)
+ else if (numBannedMonsCaught > count)
StringAppend(gStringVar1, gText_CommaSpace);
break;
case 2:
- if (arg1 == arg2)
+ if (count == numBannedMonsCaught)
StringAppend(gStringVar1, gText_SpaceAndSpace);
else
StringAppend(gStringVar1, gText_CommaSpace);
StringAppend(gStringVar1, gText_NewLine);
break;
default:
- if (arg1 == arg2)
+ if (count == numBannedMonsCaught)
StringAppend(gStringVar1, gText_SpaceAndSpace);
else
StringAppend(gStringVar1, gText_CommaSpace);
- StringAppend(gStringVar1, gText_ScrollTextUp);
+ StringAppend(gStringVar1, gText_LineBreak);
break;
}
StringAppend(gStringVar1, gSpeciesNames[species]);
}
- return arg1;
+ return count;
}
static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monLevel, u16 *speciesArray, u16 *itemsArray, u8 *count)
@@ -1995,30 +2004,36 @@ static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monL
(*count)++;
}
-static void sub_81A3FD4(void)
+// gSpecialVar_Result is the level mode before and after calls to this function
+// gSpecialVar_0x8004 is used to store the return value instead (TRUE if there are insufficient eligible mons)
+// The names of ineligible pokemon that have been caught are also buffered to print
+static void CheckPartyIneligibility(void)
{
- u16 speciesArray[6];
- u16 itemArray[6];
+ u16 speciesArray[PARTY_SIZE];
+ u16 itemArray[PARTY_SIZE];
s32 monId = 0;
s32 toChoose = 0;
u8 count = 0;
s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
s32 monIdLooper;
+ // count is re-used, define for clarity
+ #define numEligibleMons count
+
switch (battleMode)
{
case FRONTIER_MODE_SINGLES:
- toChoose = 3;
+ toChoose = FRONTIER_PARTY_SIZE;
break;
case FRONTIER_MODE_MULTIS:
case FRONTIER_MODE_LINK_MULTIS:
- toChoose = 2;
+ toChoose = FRONTIER_MULTI_PARTY_SIZE;
break;
case FRONTIER_MODE_DOUBLES:
if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_TOWER)
- toChoose = 4;
+ toChoose = FRONTIER_DOUBLES_PARTY_SIZE;
else
- toChoose = 3;
+ toChoose = FRONTIER_PARTY_SIZE;
break;
}
@@ -2026,7 +2041,7 @@ static void sub_81A3FD4(void)
do
{
monId = monIdLooper;
- count = 0;
+ numEligibleMons = 0;
do
{
u16 species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
@@ -2035,12 +2050,12 @@ static void sub_81A3FD4(void)
u16 hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP);
if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_PYRAMID)
{
- if (heldItem == 0)
- AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count);
+ if (heldItem == ITEM_NONE)
+ AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &numEligibleMons);
}
else
{
- AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count);
+ AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &numEligibleMons);
}
monId++;
if (monId >= PARTY_SIZE)
@@ -2048,9 +2063,9 @@ static void sub_81A3FD4(void)
} while (monId != monIdLooper);
monIdLooper++;
- } while (monIdLooper < PARTY_SIZE && count < toChoose);
+ } while (monIdLooper < PARTY_SIZE && numEligibleMons < toChoose);
- if (count < toChoose)
+ if (numEligibleMons < toChoose)
{
s32 i;
s32 caughtBannedMons = 0;
@@ -2061,10 +2076,10 @@ static void sub_81A3FD4(void)
caughtBannedMons++;
}
gStringVar1[0] = EOS;
- gSpecialVar_0x8004 = 1;
+ gSpecialVar_0x8004 = TRUE;
count = 0;
for (i = 0; gFrontierBannedSpecies[i] != 0xFFFF; i++)
- count = sub_81A3DD0(gFrontierBannedSpecies[i], count, caughtBannedMons);
+ count = AppendCaughtBannedMonSpeciesName(gFrontierBannedSpecies[i], count, caughtBannedMons);
if (count == 0)
{
@@ -2074,7 +2089,7 @@ static void sub_81A3FD4(void)
else
{
if (count & 1)
- StringAppend(gStringVar1, gText_ScrollTextUp);
+ StringAppend(gStringVar1, gText_LineBreak);
else
StringAppend(gStringVar1, gText_Space2);
StringAppend(gStringVar1, gText_Are2);
@@ -2082,17 +2097,18 @@ static void sub_81A3FD4(void)
}
else
{
- gSpecialVar_0x8004 = 0;
+ gSpecialVar_0x8004 = FALSE;
gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_Result;
}
+ #undef numEligibleMons
}
-static void sub_81A4224(void)
+static void ValidateVisitingTrainer(void)
{
ValidateEReaderTrainer();
}
-static void sub_81A4230(void)
+static void IncrementWinStreak(void)
{
s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2101,50 +2117,50 @@ static void sub_81A4230(void)
switch (facility)
{
case FRONTIER_FACILITY_TOWER:
- if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < MAX_STREAK)
{
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]++;
if (battleMode == FRONTIER_MODE_SINGLES)
{
SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]);
- gSaveBlock2Ptr->frontier.field_D02 = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.towerSinglesStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
}
}
break;
case FRONTIER_FACILITY_DOME:
- if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]++;
- if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode]++;
break;
case FRONTIER_FACILITY_PALACE:
- if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
break;
case FRONTIER_FACILITY_ARENA:
- if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]++;
break;
case FRONTIER_FACILITY_FACTORY:
- if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode]++;
break;
case FRONTIER_FACILITY_PIKE:
- if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode]++;
break;
case FRONTIER_FACILITY_PYRAMID:
- if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < 9999)
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < MAX_STREAK)
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]++;
break;
}
}
-static void sub_81A43A8(void)
+static void RestoreHeldItems(void)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0)
{
@@ -2154,13 +2170,13 @@ static void sub_81A43A8(void)
}
}
-static void sub_81A4410(void)
+static void SaveRecordBattle(void)
{
gSpecialVar_Result = MoveRecordedBattleToSaveData();
- gSaveBlock2Ptr->frontier.field_CA9_b = 1;
+ gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE;
}
-static void sub_81A443C(void)
+static void BufferFrontierTrainerName(void)
{
switch (gSpecialVar_0x8005)
{
@@ -2173,11 +2189,11 @@ static void sub_81A443C(void)
}
}
-static void sub_81A447C(void)
+static void ResetSketchedMoves(void)
{
u8 i, j, k;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
{
u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
if (monId < PARTY_SIZE)
@@ -2198,7 +2214,7 @@ static void sub_81A447C(void)
}
}
-static void sub_81A457C(void)
+static void SetFacilityBrainEventObject(void)
{
SetFrontierBrainEventObjGfx(VarGet(VAR_FRONTIER_FACILITY));
}
@@ -2216,11 +2232,11 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall
TVShowConvertInternationalString(text, hallRecord->name, hallRecord->language);
AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
winStreak = hallRecord->winStreak;
- if (winStreak > 9999)
- winStreak = 9999;
+ if (winStreak > MAX_STREAK)
+ winStreak = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
- StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[hallFacilityId]);
- AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[hallFacilityId]);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2243,11 +2259,11 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall
AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SPEED_FF, NULL);
winStreak = hallRecord->winStreak;
- if (winStreak > 9999)
- winStreak = 9999;
+ if (winStreak > MAX_STREAK)
+ winStreak = MAX_STREAK;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
- StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[9]);
- AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK]);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[RANKING_HALL_BATTLE_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2326,15 +2342,15 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
struct RankingHall1P records1P[3];
struct RankingHall2P records2P[3];
- StringCopy(gStringVar1, gUnknown_08611CB0[hallFacilityId][0]);
- StringExpandPlaceholders(gStringVar4, gUnknown_08611CB0[hallFacilityId][1]);
+ StringCopy(gStringVar1, sRecordsWindowChallengeTexts[hallFacilityId][0]);
+ StringExpandPlaceholders(gStringVar4, sRecordsWindowChallengeTexts[hallFacilityId][1]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
- x = GetStringRightAlignXOffset(1, gLevelModeText[lvlMode], 0xD0);
- AddTextPrinterParameterized(gRecordsWindowId, 1, gLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
- if (hallFacilityId == HALL_FACILITIES_COUNT)
+ x = GetStringRightAlignXOffset(1, sLevelModeText[lvlMode], 0xD0);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, sLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
+ if (hallFacilityId == RANKING_HALL_BATTLE_TOWER_LINK)
{
- gSaveBlock2Ptr->frontier.opponentName[0][PLAYER_NAME_LENGTH] = EOS;
- gSaveBlock2Ptr->frontier.opponentName[1][PLAYER_NAME_LENGTH] = EOS;
+ gSaveBlock2Ptr->frontier.opponentNames[0][PLAYER_NAME_LENGTH] = EOS;
+ gSaveBlock2Ptr->frontier.opponentNames[1][PLAYER_NAME_LENGTH] = EOS;
Fill2PRecords(records2P, lvlMode);
for (i = 0; i < 3; i++)
Print2PRecord(i, 1, 4, &records2P[i]);
@@ -2349,7 +2365,7 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
void ShowRankingHallRecordsWindow(void)
{
- gRecordsWindowId = AddWindow(&gUnknown_08611C84);
+ gRecordsWindowId = AddWindow(&sRankingHallRecordsWindowTemplate);
DrawStdWindowFrame(gRecordsWindowId, FALSE);
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
PrintHallRecords(gSpecialVar_0x8005, FRONTIER_LVL_50);
@@ -2394,7 +2410,7 @@ void ClearRankingHallRecords(void)
}
}
-void sub_81A4C30(void)
+void SaveGameFrontier(void)
{
s32 i;
struct Pokemon *monsParty = calloc(PARTY_SIZE, sizeof(struct Pokemon));
@@ -2425,7 +2441,7 @@ u8 GetFrontierBrainTrainerPicIndex(void)
else
facility = VarGet(VAR_FRONTIER_FACILITY);
- return gTrainers[gFacilityToBrainTrainerId[facility]].trainerPic;
+ return gTrainers[sFrontierBrainTrainerIds[facility]].trainerPic;
}
u8 GetFrontierBrainTrainerClass(void)
@@ -2437,7 +2453,7 @@ u8 GetFrontierBrainTrainerClass(void)
else
facility = VarGet(VAR_FRONTIER_FACILITY);
- return gTrainers[gFacilityToBrainTrainerId[facility]].trainerClass;
+ return gTrainers[sFrontierBrainTrainerIds[facility]].trainerClass;
}
void CopyFrontierBrainTrainerName(u8 *dst)
@@ -2451,7 +2467,7 @@ void CopyFrontierBrainTrainerName(u8 *dst)
facility = VarGet(VAR_FRONTIER_FACILITY);
for (i = 0; i < PLAYER_NAME_LENGTH; i++)
- dst[i] = gTrainers[gFacilityToBrainTrainerId[facility]].trainerName[i];
+ dst[i] = gTrainers[sFrontierBrainTrainerIds[facility]].trainerName[i];
dst[i] = EOS;
}
@@ -2459,13 +2475,13 @@ void CopyFrontierBrainTrainerName(u8 *dst)
bool8 IsFrontierBrainFemale(void)
{
s32 facility = VarGet(VAR_FRONTIER_FACILITY);
- return sFacilityToBrainEventObjGfx[facility][1];
+ return sFrontierBrainObjEventGfx[facility][1];
}
void SetFrontierBrainEventObjGfx_2(void)
{
s32 facility = VarGet(VAR_FRONTIER_FACILITY);
- VarSet(VAR_OBJ_GFX_ID_0, sFacilityToBrainEventObjGfx[facility][0]);
+ VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]);
}
#define FRONTIER_BRAIN_OTID 61226
@@ -2474,7 +2490,7 @@ void SetFrontierBrainEventObjGfx_2(void)
void CreateFrontierBrainPokemon(void)
{
s32 i, j;
- s32 monCountInBits;
+ s32 selectedMonBits;
s32 monPartyId;
s32 monLevel = 0;
u8 friendship;
@@ -2482,16 +2498,16 @@ void CreateFrontierBrainPokemon(void)
s32 symbol = GetFronterBrainSymbol();
if (facility == FRONTIER_FACILITY_DOME)
- monCountInBits = GetDomeTrainerMonCountInBits(TrainerIdToDomeTournamentId(TRAINER_FRONTIER_BRAIN));
+ selectedMonBits = GetDomeTrainerSelectedMons(TrainerIdToDomeTournamentId(TRAINER_FRONTIER_BRAIN));
else
- monCountInBits = 7;
+ selectedMonBits = (1 << FRONTIER_PARTY_SIZE) - 1; // all 3 mons selected
ZeroEnemyPartyMons();
monPartyId = 0;
monLevel = SetFacilityPtrsGetLevel();
- for (i = 0; i < 3; monCountInBits >>= 1, i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; selectedMonBits >>= 1, i++)
{
- if (!(monCountInBits & 1))
+ if (!(selectedMonBits & 1))
continue;
do
@@ -2507,7 +2523,7 @@ void CreateFrontierBrainPokemon(void)
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM, &sFrontierBrainsMons[facility][symbol][i].heldItem);
for (j = 0; j < NUM_STATS; j++)
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HP_EV + j, &sFrontierBrainsMons[facility][symbol][i].evs[j]);
- friendship = 0xFF;
+ friendship = MAX_FRIENDSHIP;
for (j = 0; j < MAX_MON_MOVES; j++)
{
SetMonMoveSlot(&gEnemyParty[monPartyId], sFrontierBrainsMons[facility][symbol][i].moves[j], j);
@@ -2544,7 +2560,7 @@ void CreateFrontierBrainPokemon(void)
bl TrainerIdToDomeTournamentId\n\
lsls r0, 16\n\
lsrs r0, 16\n\
- bl GetDomeTrainerMonCountInBits\n\
+ bl GetDomeTrainerSelectedMons\n\
adds r4, r0, 0\n\
b _081A4E46\n\
.pool\n\
@@ -2768,7 +2784,7 @@ u16 GetFrontierBrainMonSpecies(u8 monId)
void SetFrontierBrainEventObjGfx(u8 facility)
{
gTrainerBattleOpponent_A = TRAINER_FRONTIER_BRAIN;
- VarSet(VAR_OBJ_GFX_ID_0, sFacilityToBrainEventObjGfx[facility][0]);
+ VarSet(VAR_OBJ_GFX_ID_0, sFrontierBrainObjEventGfx[facility][0]);
}
u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId)
@@ -2803,17 +2819,18 @@ s32 GetFronterBrainSymbol(void)
if (symbol == 2)
{
u16 winStreak = GetCurrentFacilityWinStreak();
- if (winStreak + gUnknown_08611550[facility][3] == gUnknown_08611550[facility][0])
+ if (winStreak + sFrontierBrainStreakAppearances[facility][3] == sFrontierBrainStreakAppearances[facility][0])
symbol = 0;
- else if (winStreak + gUnknown_08611550[facility][3] == gUnknown_08611550[facility][1])
+ else if (winStreak + sFrontierBrainStreakAppearances[facility][3] == sFrontierBrainStreakAppearances[facility][1])
symbol = 1;
- else if (winStreak + gUnknown_08611550[facility][3] > gUnknown_08611550[facility][1]
- && (winStreak + gUnknown_08611550[facility][3] - gUnknown_08611550[facility][1]) % gUnknown_08611550[facility][2] == 0)
+ else if (winStreak + sFrontierBrainStreakAppearances[facility][3] > sFrontierBrainStreakAppearances[facility][1]
+ && (winStreak + sFrontierBrainStreakAppearances[facility][3] - sFrontierBrainStreakAppearances[facility][1]) % sFrontierBrainStreakAppearances[facility][2] == 0)
symbol = 1;
}
return symbol;
}
+// Called for intro speech as well despite the fact that its handled in the map scripts files instead
static void CopyFrontierBrainText(bool8 playerWonText)
{
s32 facility;
@@ -2833,10 +2850,10 @@ static void CopyFrontierBrainText(bool8 playerWonText)
switch (playerWonText)
{
case FALSE:
- StringCopy(gStringVar4, gUnknown_08611DB0[symbol][facility]);
+ StringCopy(gStringVar4, sFrontierBrainPlayerLostTexts[symbol][facility]);
break;
case TRUE:
- StringCopy(gStringVar4, gUnknown_08611DB8[symbol][facility]);
+ StringCopy(gStringVar4, sFrontierBrainPlayerWonTexts[symbol][facility]);
break;
}
}
diff --git a/src/ghost.c b/src/ghost.c
index 41621ff54..93c442b92 100644
--- a/src/ghost.c
+++ b/src/ghost.c
@@ -58,7 +58,7 @@ const struct SpriteTemplate gUnknown_08596D14 =
{
.tileTag = ANIM_TAG_YELLOW_BALL,
.paletteTag = ANIM_TAG_YELLOW_BALL,
- .oam = &gUnknown_085249CC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596D10,
@@ -69,7 +69,7 @@ const struct SpriteTemplate gUnknown_08596D2C =
{
.tileTag = ANIM_TAG_YELLOW_BALL,
.paletteTag = ANIM_TAG_YELLOW_BALL,
- .oam = &gUnknown_08524A2C,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -91,7 +91,7 @@ const struct SpriteTemplate gShadowBallSpriteTemplate =
{
.tileTag = ANIM_TAG_SHADOW_BALL,
.paletteTag = ANIM_TAG_SHADOW_BALL,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596D54,
@@ -117,7 +117,7 @@ const struct SpriteTemplate gUnknown_08596D8C =
{
.tileTag = ANIM_TAG_LICK,
.paletteTag = ANIM_TAG_LICK,
- .oam = &gUnknown_08524954,
+ .oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_08596D88,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -139,7 +139,7 @@ const struct SpriteTemplate gUnknown_08596DB8 =
{
.tileTag = ANIM_TAG_WHITE_SHADOW,
.paletteTag = ANIM_TAG_WHITE_SHADOW,
- .oam = &gUnknown_08524A5C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_08596DD0 =
{
.tileTag = ANIM_TAG_NAIL,
.paletteTag = ANIM_TAG_NAIL,
- .oam = &gUnknown_08524A54,
+ .oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -161,7 +161,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 =
{
.tileTag = ANIM_TAG_GHOSTLY_SPIRIT,
.paletteTag = ANIM_TAG_GHOSTLY_SPIRIT,
- .oam = &gUnknown_08524A34,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -172,7 +172,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E00 =
{
.tileTag = ANIM_TAG_DEVIL,
.paletteTag = ANIM_TAG_DEVIL,
- .oam = &gUnknown_08524A34,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -197,7 +197,7 @@ const struct SpriteTemplate gUnknown_08596E30 =
{
.tileTag = ANIM_TAG_PURPLE_FLAME,
.paletteTag = ANIM_TAG_PURPLE_FLAME,
- .oam = &gUnknown_08524A74,
+ .oam = &gOamData_AffineOff_ObjBlend_16x32,
.anims = gUnknown_08596E2C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
diff --git a/src/graphics.c b/src/graphics.c
index 679f16af1..eeeba56c9 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -777,8 +777,8 @@ const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprit
const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz");
const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz");
-const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.gbapal.lz");
-const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_force_triangle.4bpp.lz");
+const u32 gBattleAnimSpritePal_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.gbapal.lz");
+const u32 gBattleAnimSpriteGfx_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.4bpp.lz");
const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz");
const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz");
@@ -960,34 +960,28 @@ const u32 gUnknown_08D778F0[] = INCBIN_U32("graphics/battle_transitions/vs_frame
const u32 gUnknown_08D779D8[] = INCBIN_U32("graphics/battle_transitions/vs_frame.bin.lz");
const u32 gUnknown_08D77AE4[] = INCBIN_U32("graphics/battle_transitions/vs_frame.gbapal.lz");
-const u32 gUnknown_08D77B0C[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz");
+const u32 gVsLettersGfx[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz");
#include "data/graphics/battle_terrain.h"
-const u32 gUnknown_08D82F10[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz");
-const u32 gUnknown_08D834FC[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines
-
-const u32 gUnknown_08D83900[] = INCBIN_U32("graphics/unknown/unknown_D83900.bin.lz"); // tilemaps likely
-
-const u32 gUnknown_08D83B2C[] = INCBIN_U32("graphics/unknown/unknown_D83B2C.bin.lz");
-
-const u32 gUnknown_08D83C3C[] = INCBIN_U32("graphics/unknown/unknown_D83C3C.bin.lz");
-
-const u32 gUnknown_08D83D50[] = INCBIN_U32("graphics/battle_frontier/misc1.4bpp.lz");
-
-const u32 gUnknown_08D84970[] = INCBIN_U32("graphics/unknown/unknown_D84970.bin.lz");
-
-const u32 gUnknown_08D84F00[] = INCBIN_U32("graphics/unknown/unknown_D84F00.bin.lz");
-
-const u32 gBattleFrontierGfx_DomeOptions[] = INCBIN_U32("graphics/battle_frontier/options.4bpp.lz");
-const u32 gUnknown_08D85358[] = INCBIN_U32("graphics/battle_frontier/options_pal1.gbapal.lz");
-const u32 gUnknown_08D85444[] = INCBIN_U32("graphics/battle_frontier/options_pal2.gbapal.lz"); // pokeball pal
-const u32 gUnknown_08D854C8[] = INCBIN_U32("graphics/battle_frontier/options_pal3.gbapal.lz"); // arrow pal
+// Battle Dome
+const u32 gDomeTourneyBg_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz");
+const u32 gDomeTourneyLine_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines
+const u32 gDomeTourneyLineMask_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_mask_map.bin.lz");
+const u32 gDomeTourneyLineDown_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_down_map.bin.lz");
+const u32 gDomeTourneyLineUp_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_up_map.bin.lz");
+const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card.4bpp.lz");
+const u32 gDomeTourneyInfoCard_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_tilemap.bin.lz");
+const u32 gDomeTourneyInfoCardBg_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_bg.bin.lz");
+const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and pokeball buttons
+const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney.gbapal.lz");
+const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz");
+const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz");
const u32 gBattleArenaJudgementSymbolsGfx[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.4bpp.lz");
const u32 gBattleArenaJudgementSymbolsPalette[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.gbapal.lz");
-const u32 gUnknown_08D85600[] = INCBIN_U32("graphics/battle_frontier/text.gbapal.lz");
+const u32 gBattleWindowTextPalette[] = INCBIN_U32("graphics/battle_interface/text.gbapal.lz");
const u16 gUnknown_08D85620[] = INCBIN_U16("graphics/battle_frontier/text_pp.gbapal");
const u16 gTilesetAnims_BattleDomePals0_0[] = INCBIN_U16("graphics/battle_frontier/dome_anim1.gbapal");
@@ -1138,9 +1132,9 @@ const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/spri
const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz");
const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz");
-const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz");
-const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz");
-const u32 gPartyMenuMisc_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_misc.bin.lz");
+const u32 gPartyMenuBg_Gfx[] = INCBIN_U32("graphics/interface/party_menu_bg.4bpp.lz");
+const u32 gPartyMenuBg_Pal[] = INCBIN_U32("graphics/interface/party_menu_bg.gbapal.lz");
+const u32 gPartyMenuBg_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_bg.bin.lz");
const u32 gPartyMenuPokeball_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball.4bpp.lz");
const u32 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused
@@ -1516,21 +1510,14 @@ asm(".space 0x20"); //blank palette??
#include "data/graphics/berry_fix.h"
-// more trade stuff?
-
-const u16 gUnknown_08DDB3E4[] = INCBIN_U16("graphics/trade/menu.gbapal");
-
-const u16 gUnknown_08DDB444[] = INCBIN_U16("graphics/unknown/unknown_DDB444.gbapal");
-
-const u8 gUnknown_08DDB464[] = INCBIN_U8("graphics/trade/menu.4bpp");
-
-const u8 gUnknown_08DDC6E4[] = INCBIN_U8("graphics/trade/buttons.4bpp");
-
+// Trade
+const u16 gTradeMenu_Pal[] = INCBIN_U16("graphics/trade/menu.gbapal");
+const u16 gUnknown_08DDB444[] = INCBIN_U16("graphics/trade/unknown_DDB444.gbapal");
+const u8 gTradeMenu_Gfx[] = INCBIN_U8("graphics/trade/menu.4bpp");
+const u8 gTradeButtons_Gfx[] = INCBIN_U8("graphics/trade/buttons.4bpp");
const u16 gUnused_DDCEE4[] = INCBIN_U16("graphics/unused/unused_DDCEE4.bin");
-
-const u16 gUnknown_08DDCF04[] = INCBIN_U16("graphics/unknown/unknown_DDCF04.bin");
-
-const u16 gUnknown_08DDD704[] = INCBIN_U16("graphics/unknown/unknown_DDD704.bin"); // textbox tilemap??
+const u16 gUnknown_08DDCF04[] = INCBIN_U16("graphics/trade/unknown_DDCF04.bin");
+const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.bin");
const u16 gMessageBox_Pal[] = INCBIN_U16("graphics/text_window/message_box.gbapal");
const u8 gMessageBox_Gfx[] = INCBIN_U8("graphics/text_window/message_box.4bpp");
diff --git a/src/ground.c b/src/ground.c
index ae3cf6c3e..36dbd31f3 100644
--- a/src/ground.c
+++ b/src/ground.c
@@ -53,7 +53,7 @@ const struct SpriteTemplate gUnknown_08597178 =
{
.tileTag = ANIM_TAG_BONE,
.paletteTag = ANIM_TAG_BONE,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597170,
@@ -64,7 +64,7 @@ const struct SpriteTemplate gUnknown_08597190 =
{
.tileTag = ANIM_TAG_BONE,
.paletteTag = ANIM_TAG_BONE,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597174,
@@ -75,7 +75,7 @@ const struct SpriteTemplate gUnknown_085971A8 =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -97,7 +97,7 @@ const struct SpriteTemplate gUnknown_085971CC =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_085971C8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -108,7 +108,7 @@ const struct SpriteTemplate gUnknown_085971E4 =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -119,7 +119,7 @@ const struct SpriteTemplate gUnknown_085971FC =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -130,7 +130,7 @@ const struct SpriteTemplate gUnknown_08597214 =
{
.tileTag = ANIM_TAG_DIRT_MOUND,
.paletteTag = ANIM_TAG_DIRT_MOUND,
- .oam = &gUnknown_08524934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index ac37b2ece..065d25582 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -6,7 +6,7 @@
#include "pokemon.h"
#include "text.h"
#include "text_window.h"
-#include "alloc.h"
+#include "malloc.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"
@@ -101,7 +101,7 @@ static void SpriteCB_GetOnScreenAndAnimate(struct Sprite *sprite);
static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2);
static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2);
static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2);
-static void sub_8175364(u8 taskId);
+static void Task_DoConfettiEffect(u8 taskId);
static void sub_81751A4(struct Sprite* sprite);
// const rom data
@@ -138,9 +138,10 @@ static const struct BgTemplate sHof_BgTemplates[] =
static const struct WindowTemplate sHof_WindowTemplate = {0, 2, 2, 0xE, 6, 0xE, 1};
-static const u8 sUnknown_085E5388[] = {0, 1, 2, 0};
+static const u8 sMonInfoTextColors[4] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY};
+static const u8 sPlayerInfoTextColors[4] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
-static const u8 sUnknown_085E538C[] = {0, 2, 3, 0, 4, 5, 0, 0};
+static const u8 sUnused_085E538C[] = {4, 5, 0, 0};
static const struct CompressedSpriteSheet sHallOfFame_ConfettiSpriteSheet[] =
{
@@ -174,10 +175,10 @@ static const s16 sHallOfFame_MonHalfTeamPositions[3][4] =
static const struct OamData sOamData_85E53FC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -466,7 +467,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
}
else
{
- if (Save_LoadGameData(3) != TRUE)
+ if (Save_LoadGameData(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK)
memset(gDecompressionBuffer, 0, 0x2000);
}
@@ -497,7 +498,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
static void Task_Hof_TrySaveData(u8 taskId)
{
gGameContinueCallback = CB2_DoHallOfFameScreenDontSaveData;
- if (TrySavingData(SAVE_HALL_OF_FAME) == 0xFF && gDamagedSaveSectors != 0)
+ if (TrySavingData(SAVE_HALL_OF_FAME) == SAVE_STATUS_ERROR && gDamagedSaveSectors != 0)
{
UnsetBgTilemapBuffer(1);
UnsetBgTilemapBuffer(3);
@@ -580,7 +581,7 @@ static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId)
if (monSprite->callback == SpriteCallbackDummy)
{
- monSprite->oam.affineMode = 0;
+ monSprite->oam.affineMode = ST_OAM_AFFINE_OFF;
HallOfFame_PrintMonInfo(currMon, 0, 14);
gTasks[taskId].tFrameCount = 120;
gTasks[taskId].func = Task_Hof_TryDisplayAnotherMon;
@@ -835,7 +836,7 @@ void CB2_DoHallOfFamePC(void)
static void Task_HofPC_CopySaveData(u8 taskId)
{
sub_81980F0(0, 0x1E, 0, 0xC, 0x226);
- if (Save_LoadGameData(3) != 1)
+ if (Save_LoadGameData(SAVE_HALL_OF_FAME) != SAVE_STATUS_OK)
{
gTasks[taskId].func = Task_HofPC_PrintDataIsCorrupted;
}
@@ -1063,7 +1064,7 @@ static void Task_HofPC_HandleExit(u8 taskId)
static void Task_HofPC_PrintDataIsCorrupted(u8 taskId)
{
- sub_8198180(gText_UnkCtrlF800Exit, 8, TRUE);
+ sub_8198180(gText_AButtonExit, 8, TRUE);
DrawDialogueFrame(0, 0);
AddTextPrinterParameterized2(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
CopyWindowToVram(0, 3);
@@ -1086,7 +1087,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2)
{
FillWindowPixelBuffer(0, PIXEL_FILL(0));
PutWindowTilemap(0);
- AddTextPrinterParameterized3(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF);
+ AddTextPrinterParameterized3(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sMonInfoTextColors, 0, gText_WelcomeToHOF);
CopyWindowToVram(0, 3);
}
@@ -1122,7 +1123,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
*(stringPtr)++ = CHAR_QUESTION_MARK;
}
stringPtr[0] = EOS;
- AddTextPrinterParameterized3(0, 1, 0x10, 1, sUnknown_085E5388, -1, text);
+ AddTextPrinterParameterized3(0, 1, 0x10, 1, sMonInfoTextColors, -1, text);
}
// nick, species names, gender and level
@@ -1131,13 +1132,13 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
if (currMon->species == SPECIES_EGG)
{
width = GetStringCenterAlignXOffset(1, text, 0xD0);
- AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text);
+ AddTextPrinterParameterized3(0, 1, width, 1, sMonInfoTextColors, -1, text);
CopyWindowToVram(0, 3);
}
else
{
width = GetStringRightAlignXOffset(1, text, 0x80);
- AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text);
+ AddTextPrinterParameterized3(0, 1, width, 1, sMonInfoTextColors, -1, text);
text[0] = CHAR_SLASH;
stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]);
@@ -1158,15 +1159,15 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
}
stringPtr[0] = EOS;
- AddTextPrinterParameterized3(0, 1, 0x80, 1, sUnknown_085E5388, -1, text);
+ AddTextPrinterParameterized3(0, 1, 0x80, 1, sMonInfoTextColors, -1, text);
stringPtr = StringCopy(text, gText_Level);
ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3);
- AddTextPrinterParameterized3(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text);
+ AddTextPrinterParameterized3(0, 1, 0x24, 0x11, sMonInfoTextColors, -1, text);
stringPtr = StringCopy(text, gText_IDNumber);
ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5);
- AddTextPrinterParameterized3(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text);
+ AddTextPrinterParameterized3(0, 1, 0x68, 0x11, sMonInfoTextColors, -1, text);
CopyWindowToVram(0, 3);
}
@@ -1181,13 +1182,13 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
FillWindowPixelBuffer(1, PIXEL_FILL(1));
PutWindowTilemap(1);
DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 0xD);
- AddTextPrinterParameterized3(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name);
+ AddTextPrinterParameterized3(1, 1, 0, 1, sPlayerInfoTextColors, -1, gText_Name);
width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70);
- AddTextPrinterParameterized3(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName);
+ AddTextPrinterParameterized3(1, 1, width, 1, sPlayerInfoTextColors, -1, gSaveBlock2Ptr->playerName);
trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8);
- AddTextPrinterParameterized3(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber);
+ AddTextPrinterParameterized3(1, 1, 0, 0x11, sPlayerInfoTextColors, 0, gText_IDNumber);
text[0] = (trainerId % 100000) / 10000 + CHAR_0;
text[1] = (trainerId % 10000) / 1000 + CHAR_0;
text[2] = (trainerId % 1000) / 100 + CHAR_0;
@@ -1195,9 +1196,9 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
text[4] = (trainerId % 10) / 1 + CHAR_0;
text[5] = EOS;
width = GetStringRightAlignXOffset(1, text, 0x70);
- AddTextPrinterParameterized3(1, 1, width, 0x11, sUnknown_085E538C, -1, text);
+ AddTextPrinterParameterized3(1, 1, width, 0x11, sPlayerInfoTextColors, -1, text);
- AddTextPrinterParameterized3(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime);
+ AddTextPrinterParameterized3(1, 1, 0, 0x21, sPlayerInfoTextColors, -1, gText_Time);
text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0;
text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0;
text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0;
@@ -1213,7 +1214,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
text[6] = EOS;
width = GetStringRightAlignXOffset(1, text, 0x70);
- AddTextPrinterParameterized3(1, 1, width, 0x21, sUnknown_085E538C, -1, text);
+ AddTextPrinterParameterized3(1, 1, width, 0x21, sPlayerInfoTextColors, -1, text);
CopyWindowToVram(1, 3);
}
@@ -1386,12 +1387,13 @@ static bool8 sub_81751FC(void)
return FALSE;
}
-void sub_8175280(void)
+// Used when a Battle Dome tourney is won
+void DoConfettiEffect(void)
{
u8 taskId;
gSpecialVar_0x8004 = 180;
- taskId = CreateTask(sub_8175364, 0);
+ taskId = CreateTask(Task_DoConfettiEffect, 0);
if (taskId != 0xFF)
{
gTasks[taskId].data[1] = gSpecialVar_0x8004;
@@ -1399,11 +1401,11 @@ void sub_8175280(void)
}
}
-static void sub_81752C0(void)
+static void StopConfettiEffect(void)
{
u8 taskId;
- if ((taskId = FindTaskIdByFunc(sub_8175364)) != 0xFF)
+ if ((taskId = FindTaskIdByFunc(Task_DoConfettiEffect)) != 0xFF)
DestroyTask(taskId);
sub_8152254();
@@ -1436,7 +1438,7 @@ static void sub_81752F4(struct UnkStruct_81520A8 *structPtr)
}
}
-static void sub_8175364(u8 taskId)
+static void Task_DoConfettiEffect(u8 taskId)
{
u32 var = 0;
u16 *data = gTasks[taskId].data;
@@ -1474,7 +1476,7 @@ static void sub_8175364(u8 taskId)
data[0] = 0xFF;
break;
case 0xFF:
- sub_81752C0();
+ StopConfettiEffect();
gSpecialVar_0x8004 = var;
gSpecialVar_0x8005 = 0xFFFF;
break;
diff --git a/src/hof_pc.c b/src/hof_pc.c
index 01015ee81..327749179 100644
--- a/src/hof_pc.c
+++ b/src/hof_pc.c
@@ -27,7 +27,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- ScrSpecial_CreatePCMenu();
+ ScriptMenu_CreatePCMultichoice();
ScriptMenu_DisplayPCStartupPrompt();
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
CreateTask(Task_WaitForPaletteFade, 10);
diff --git a/src/ice.c b/src/ice.c
index 522fb1bbf..cc8b1d333 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -66,7 +66,7 @@ const struct SpriteTemplate gUnknown_08595A58 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -155,7 +155,7 @@ const struct SpriteTemplate gUnknown_08595AD0 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524B24,
+ .oam = &gOamData_AffineDouble_ObjBlend_8x16,
.anims = gUnknown_08595AA8,
.images = NULL,
.affineAnims = gUnknown_08595ACC,
@@ -166,7 +166,7 @@ const struct SpriteTemplate gUnknown_08595AE8 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524A24,
+ .oam = &gOamData_AffineOff_ObjBlend_8x8,
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -188,7 +188,7 @@ const struct SpriteTemplate gUnknown_08595B14 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524AC4,
+ .oam = &gOamData_AffineNormal_ObjBlend_8x16,
.anims = gUnknown_08595AA8,
.images = NULL,
.affineAnims = gUnknown_08595B10,
@@ -199,7 +199,7 @@ const struct SpriteTemplate gUnknown_08595B2C =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524A24,
+ .oam = &gOamData_AffineOff_ObjBlend_8x8,
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -223,7 +223,7 @@ const struct SpriteTemplate gUnknown_08595B68 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524AC4,
+ .oam = &gOamData_AffineNormal_ObjBlend_8x16,
.anims = gUnknown_08595AA8,
.images = NULL,
.affineAnims = gUnknown_08595B64,
@@ -234,7 +234,7 @@ const struct SpriteTemplate gUnknown_08595B80 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524A84,
+ .oam = &gOamData_AffineNormal_ObjBlend_8x8,
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gUnknown_08595B64,
@@ -245,7 +245,7 @@ const struct SpriteTemplate gUnknown_08595B98 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AB0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -256,7 +256,7 @@ const struct SpriteTemplate gUnknown_08595BB0 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_08595AB4,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -267,7 +267,7 @@ const struct SpriteTemplate gUnknown_08595BC8 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AB0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -295,7 +295,7 @@ const struct SpriteTemplate gUnknown_08595C04 =
{
.tileTag = ANIM_TAG_ICE_SPIKES,
.paletteTag = ANIM_TAG_ICE_SPIKES,
- .oam = &gUnknown_08524A64,
+ .oam = &gOamData_AffineOff_ObjBlend_8x16,
.anims = gUnknown_08595C00,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -318,7 +318,7 @@ const struct SpriteTemplate gUnknown_08595C2C =
{
.tileTag = ANIM_TAG_MIST_CLOUD,
.paletteTag = ANIM_TAG_MIST_CLOUD,
- .oam = &gUnknown_08524A54,
+ .oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gUnknown_08595C28,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -329,7 +329,7 @@ const struct SpriteTemplate gUnknown_08595C44 =
{
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
- .oam = &gUnknown_08524A54,
+ .oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gUnknown_08595C28,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -345,7 +345,7 @@ const struct SpriteTemplate gUnknown_08595C70 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -361,7 +361,7 @@ const struct SpriteTemplate gUnknown_08595C9C =
{
.tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
.paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
- .oam = &gUnknown_08524A54,
+ .oam = &gOamData_AffineOff_ObjBlend_32x16,
.anims = gUnknown_08595C28,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -422,7 +422,7 @@ const struct SpriteTemplate gUnknown_08595D2C =
{
.tileTag = ANIM_TAG_HAIL,
.paletteTag = ANIM_TAG_HAIL,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595D1C,
@@ -433,7 +433,7 @@ const struct SpriteTemplate gUnknown_08595D44 =
{
.tileTag = ANIM_TAG_HAIL,
.paletteTag = ANIM_TAG_HAIL,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595D28,
@@ -504,7 +504,7 @@ const struct SpriteTemplate gUnknown_08595DE4 =
{
.tileTag = ANIM_TAG_ICE_CHUNK,
.paletteTag = ANIM_TAG_ICE_CHUNK,
- .oam = &gUnknown_085249D4,
+ .oam = &gOamData_AffineDouble_ObjNormal_32x32,
.anims = gUnknown_08595D78,
.images = NULL,
.affineAnims = gUnknown_08595DD0,
@@ -515,7 +515,7 @@ const struct SpriteTemplate gUnknown_08595DFC =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -998,7 +998,7 @@ void AnimTask_Haze1(u8 taskId)
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80A6B30(&animBg);
- LoadBgTiles(animBg.bgId, gWeatherFog1Tiles, 0x800, animBg.tilesOffset);
+ LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
@@ -1105,7 +1105,7 @@ void AnimTask_LoadMistTiles(u8 taskId)
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80A6B30(&animBg);
- LoadBgTiles(animBg.bgId, gWeatherFog1Tiles, 0x800, animBg.tilesOffset);
+ LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
sub_80A6D60(&animBg, gBattleAnimFogTilemap, 0);
LoadPalette(&gUnknown_083970E8, animBg.paletteId * 16, 32);
diff --git a/src/image_processing_effects.c b/src/image_processing_effects.c
new file mode 100644
index 000000000..13794faf0
--- /dev/null
+++ b/src/image_processing_effects.c
@@ -0,0 +1,1226 @@
+#include "global.h"
+#include "image_processing_effects.h"
+#include "contest_painting.h"
+#include "constants/rgb.h"
+
+// IWRAM common
+u8 gCanvasColumnStart;
+u16 (*gCanvasPixels)[][32];
+u8 gCanvasRowEnd;
+u8 gCanvasHeight;
+u8 gCanvasColumnEnd;
+u8 gCanvasRowStart;
+u8 gCanvasMonPersonality;
+u8 gCanvasWidth;
+u16 *gCanvasPalette;
+u16 gCanvasPaletteStart;
+
+static void ApplyImageEffect_Pointillism(void);
+static void ApplyImageEffect_Blur(void);
+static void ApplyImageEffect_BlackOutline(void);
+static void ApplyImageEffect_Invert(void);
+static void ApplyImageEffect_BlackAndWhite(void);
+static void ApplyImageEffect_BlurRight(void);
+static void ApplyImageEffect_BlurDown(void);
+static void ApplyImageEffect_Shimmer(void);
+static void ApplyImageEffect_Grayscale(void);
+static void ApplyImageEffect_PersonalityColor(u8);
+static void ApplyImageEffect_RedChannelGrayscale(u8);
+static void ApplyImageEffect_RedChannelGrayscaleHighlight(u8);
+static void AddPointillismPoints(u16);
+static u16 ConvertColorToGrayscale(u16*);
+static u16 QuantizePixel_Blur(u16*, u16*, u16*);
+static u16 QuantizePixel_PersonalityColor(u16*, u8);
+static u16 QuantizePixel_BlackAndWhite(u16*);
+static u16 QuantizePixel_BlackOutline(u16*, u16*);
+static u16 QuantizePixel_Invert(u16*);
+static u16 QuantizePixel_BlurHard(u16*, u16*, u16*);
+static u16 QuantizePixel_MotionBlur(u16*, u16*);
+static u16 GetColorFromPersonality(u8);
+static void QuantizePalette_Standard(bool8);
+static void SetPresetPalette_PrimaryColors(void);
+static void QuantizePalette_PrimaryColors(void);
+static void SetPresetPalette_Grayscale(void);
+static void QuantizePalette_Grayscale(void);
+static void SetPresetPalette_GrayscaleSmall(void);
+static void QuantizePalette_GrayscaleSmall(void);
+static void SetPresetPalette_BlackAndWhite(void);
+static void QuantizePalette_BlackAndWhite(void);
+static u16 QuantizePixel_Standard(u16*);
+static u16 QuantizePixel_GrayscaleSmall(u16*);
+static u16 QuantizePixel_Grayscale(u16*);
+static u16 QuantizePixel_PrimaryColors(u16*);
+
+extern const u8 gPointillismPoints[][3];
+
+void ApplyImageProcessingEffects(struct ImageProcessingContext *context)
+{
+ gCanvasPixels = context->canvasPixels;
+ gCanvasMonPersonality = context->personality;
+ gCanvasColumnStart = context->columnStart;
+ gCanvasRowStart = context->rowStart;
+ gCanvasColumnEnd = context->columnEnd;
+ gCanvasRowEnd = context->rowEnd;
+ gCanvasWidth = context->canvasWidth;
+ gCanvasHeight = context->canvasHeight;
+
+ switch (context->effect)
+ {
+ case IMAGE_EFFECT_POINTILLISM:
+ ApplyImageEffect_Pointillism();
+ break;
+ case IMAGE_EFFECT_BLUR:
+ ApplyImageEffect_Blur();
+ break;
+ case IMAGE_EFFECT_OUTLINE_COLORED:
+ ApplyImageEffect_BlackOutline();
+ ApplyImageEffect_PersonalityColor(gCanvasMonPersonality);
+ break;
+ case IMAGE_EFFECT_INVERT_BLACK_WHITE:
+ ApplyImageEffect_BlackOutline();
+ ApplyImageEffect_Invert();
+ ApplyImageEffect_BlackAndWhite();
+ case IMAGE_EFFECT_INVERT:
+ ApplyImageEffect_Invert();
+ break;
+ case IMAGE_EFFECT_THICK_BLACK_WHITE:
+ ApplyImageEffect_BlackOutline();
+ ApplyImageEffect_BlurRight();
+ ApplyImageEffect_BlurRight();
+ ApplyImageEffect_BlurDown();
+ ApplyImageEffect_BlackAndWhite();
+ break;
+ case IMAGE_EFFECT_SHIMMER:
+ ApplyImageEffect_Shimmer();
+ break;
+ case IMAGE_EFFECT_OUTLINE:
+ ApplyImageEffect_BlackOutline();
+ break;
+ case IMAGE_EFFECT_BLUR_RIGHT:
+ ApplyImageEffect_BlurRight();
+ break;
+ case IMAGE_EFFECT_BLUR_DOWN:
+ ApplyImageEffect_BlurDown();
+ break;
+ case IMAGE_EFFECT_GRAYSCALE_LIGHT:
+ ApplyImageEffect_Grayscale();
+ ApplyImageEffect_RedChannelGrayscale(3);
+ break;
+ case IMAGE_EFFECT_CHARCOAL:
+ ApplyImageEffect_BlackOutline();
+ ApplyImageEffect_BlurRight();
+ ApplyImageEffect_BlurDown();
+ ApplyImageEffect_BlackAndWhite();
+ ApplyImageEffect_Blur();
+ ApplyImageEffect_Blur();
+ ApplyImageEffect_RedChannelGrayscale(2);
+ ApplyImageEffect_RedChannelGrayscaleHighlight(4);
+ break;
+ }
+}
+
+static void ApplyImageEffect_RedChannelGrayscale(u8 delta)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ {
+ // Gets the grayscale value, based on the pixel's red channel.
+ // Also adds a delta to skew lighter or darker.
+ u8 grayValue = (31 & *pixel);
+ grayValue += delta;
+ if (grayValue > 31)
+ grayValue = 31;
+
+ *pixel = RGB2(grayValue, grayValue, grayValue);
+ }
+ }
+ }
+}
+
+static void ApplyImageEffect_RedChannelGrayscaleHighlight(u8 highlight)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ {
+ u8 grayValue = (31 & *pixel);
+ if (grayValue > 31 - highlight)
+ grayValue = 31 - (highlight >> 1);
+
+ *pixel = RGB2(grayValue, grayValue, grayValue);
+ }
+ }
+ }
+}
+
+static void ApplyImageEffect_Pointillism(void)
+{
+ u32 i;
+ for (i = 0; i < 3200; i++)
+ AddPointillismPoints(i);
+}
+
+static void ApplyImageEffect_Grayscale(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ *pixel = ConvertColorToGrayscale(pixel);
+ }
+ }
+}
+
+static void ApplyImageEffect_Blur(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gCanvasColumnEnd; i++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][gCanvasRowStart * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart + i];
+ u16 prevPixel = *pixel;
+
+ j = 1;
+ pixel += gCanvasWidth;
+ while (j < gCanvasRowEnd - 1)
+ {
+ if (!(0x8000 & *pixel))
+ {
+ *pixel = QuantizePixel_Blur(&prevPixel, pixel, pixel + gCanvasWidth);
+ prevPixel = *pixel;
+ }
+
+ j++;
+ pixel += gCanvasWidth;
+ }
+ }
+}
+
+static void ApplyImageEffect_PersonalityColor(u8 personality)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ *pixel = QuantizePixel_PersonalityColor(pixel, personality);
+ }
+ }
+}
+
+static void ApplyImageEffect_BlackAndWhite(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ *pixel = QuantizePixel_BlackAndWhite(pixel);
+ }
+ }
+}
+
+static void ApplyImageEffect_BlackOutline(void)
+{
+ u8 i, j;
+ u16 *pixel;
+
+ // Handle top row of pixels first.
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ pixel = &pixelRow[gCanvasColumnStart];
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel + 1);
+ for (i = 1, pixel++; i < gCanvasColumnEnd - 1; i++, pixel++)
+ {
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel + 1);
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel - 1);
+ }
+
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel - 1);
+ }
+
+ // Handle each column from left to right.
+ for (i = 0; i < gCanvasColumnEnd; i++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][gCanvasRowStart * gCanvasWidth];
+ pixel = &pixelRow[gCanvasColumnStart + i];
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel + gCanvasWidth);
+ for (j = 1, pixel += gCanvasWidth; j < gCanvasRowEnd - 1; j++, pixel += gCanvasWidth)
+ {
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel + gCanvasWidth);
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel - gCanvasWidth);
+ }
+
+ *pixel = QuantizePixel_BlackOutline(pixel, pixel - gCanvasWidth);
+ }
+}
+
+static void ApplyImageEffect_Invert(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ *pixel = QuantizePixel_Invert(pixel);
+ }
+ }
+}
+
+static void ApplyImageEffect_Shimmer(void)
+{
+ u8 i, j;
+ u16 *pixel;
+ u16 prevPixel;
+
+ // First, invert all of the colors.
+ pixel = (*gCanvasPixels)[0];
+ for (i = 0; i < 64; i++)
+ {
+ for (j = 0; j < 64; j++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ *pixel = QuantizePixel_Invert(pixel);
+ }
+ }
+
+ // Blur the pixels twice.
+ for (j = 0; j < 64; j++)
+ {
+ pixel = &(*gCanvasPixels)[0][j];
+ prevPixel = *pixel;
+ *pixel = 0x8000;
+ for (i = 1, pixel += 64; i < 63; i++, pixel += 64)
+ {
+ if (!(0x8000 & *pixel))
+ {
+ *pixel = QuantizePixel_BlurHard(&prevPixel, pixel, pixel + 64);
+ prevPixel = *pixel;
+ }
+ }
+
+ *pixel = 0x8000;
+ pixel = &(*gCanvasPixels)[0][j];
+ prevPixel = *pixel;
+ *pixel = 0x8000;
+ for (i = 1, pixel += 64; i < 63; i++, pixel += 64)
+ {
+ if (!(0x8000 & *pixel))
+ {
+ *pixel = QuantizePixel_BlurHard(&prevPixel, pixel, pixel + 64);
+ prevPixel = *pixel;
+ }
+ }
+
+ *pixel = 0x8000;
+ }
+
+ // Finally, invert colors back to the original color space.
+ // The above blur causes the outline areas to darken, which makes
+ // this inversion give the effect of light outlines.
+ pixel = (*gCanvasPixels)[0];
+ for (i = 0; i < 64; i++)
+ {
+ for (j = 0; j < 64; j++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ *pixel = QuantizePixel_Invert(pixel);
+ }
+ }
+}
+
+static void ApplyImageEffect_BlurRight(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ u16 prevPixel = *pixel;
+ for (i = 1, pixel++; i < gCanvasColumnEnd - 1; i++, pixel++)
+ {
+ if (!(0x8000 & *pixel))
+ {
+ *pixel = QuantizePixel_MotionBlur(&prevPixel, pixel);
+ prevPixel = *pixel;
+ }
+ }
+ }
+}
+
+static void ApplyImageEffect_BlurDown(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < gCanvasColumnEnd; i++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][gCanvasRowStart * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart + i];
+ u16 prevPixel = *pixel;
+ for (j = 1, pixel += gCanvasWidth; j < gCanvasRowEnd - 1; j++, pixel += gCanvasWidth)
+ {
+ if (!(0x8000 & *pixel))
+ {
+ *pixel = QuantizePixel_MotionBlur(&prevPixel, pixel);
+ prevPixel = *pixel;
+ }
+ }
+ }
+}
+
+struct PointillismPoint
+{
+ u8 column;
+ u8 row;
+ u16 delta;
+};
+
+static void AddPointillismPoints(u16 arg0)
+{
+ u8 i;
+ bool8 offsetDownLeft;
+ u8 colorType;
+ struct PointillismPoint points[6];
+
+ points[0].column = gPointillismPoints[arg0][0];
+ points[0].row = gPointillismPoints[arg0][1];
+ points[0].delta = (gPointillismPoints[arg0][2] >> 3) & 7;
+
+ colorType = (gPointillismPoints[arg0][2] >> 1) & 3;
+ offsetDownLeft = gPointillismPoints[arg0][2] & 1;
+ for (i = 1; i < points[0].delta; i++)
+ {
+ if (!offsetDownLeft)
+ {
+ points[i].column = points[0].column - i;
+ points[i].row = points[0].row + i;
+ }
+ else
+ {
+ points[i].column = points[0].column + 1;
+ points[i].row = points[0].row - 1;
+ }
+
+ if (points[i].column > 63 || points[i].row > 63)
+ {
+ points[0].delta = i - 1;
+ break;
+ }
+
+ points[i].delta = points[0].delta - i;
+ }
+
+ for (i = 0; i < points[0].delta; i++)
+ {
+ u16 *pixel = &(*gCanvasPixels)[points[i].row * 2][points[i].column];
+
+ if (!(0x8000 & *pixel))
+ {
+ u16 red = (*pixel) & 0x1F;
+ u16 green = (*pixel >> 5) & 0x1F;
+ u16 blue = (*pixel >> 10) & 0x1F;
+
+ switch (colorType)
+ {
+ case 0:
+ case 1:
+ switch (((gPointillismPoints[arg0][2] >> 3) & 7) % 3)
+ {
+ case 0:
+ if (red >= points[i].delta)
+ red -= points[i].delta;
+ else
+ red = 0;
+ break;
+ case 1:
+ if (green >= points[i].delta)
+ green -= points[i].delta;
+ else
+ green = 0;
+ break;
+ case 2:
+ if (blue >= points[i].delta)
+ blue -= points[i].delta;
+ else
+ blue = 0;
+ break;
+ }
+ break;
+ case 2:
+ case 3:
+ red += points[i].delta;
+ green += points[i].delta;
+ blue += points[i].delta;
+ if (red > 31)
+ red = 31;
+ if (green > 31)
+ green = 31;
+ if (blue > 31)
+ blue = 31;
+ break;
+ }
+
+ *pixel = RGB2(red, green, blue);
+ }
+ }
+}
+
+static u16 ConvertColorToGrayscale(u16 *color)
+{
+ s32 clr = *color;
+ s32 r = clr & 0x1F;
+ s32 g = (clr >> 5) & 0x1F;
+ s32 b = (clr >> 10) & 0x1F;
+ s32 gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8;
+ return RGB2(gray, gray, gray);
+}
+
+// The dark colors are the colored edges of the Cool painting effect.
+// Everything else is white.
+static u16 QuantizePixel_PersonalityColor(u16 *color, u8 personality)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red < 17 && green < 17 && blue < 17)
+ return GetColorFromPersonality(personality);
+ else
+ return RGB_WHITE;
+}
+
+// Based on the given value, which comes from the first 8 bits of
+// the mon's personality value, return a color.
+static u16 GetColorFromPersonality(u8 personality)
+{
+ u16 red = 0;
+ u16 green = 0;
+ u16 blue = 0;
+ u8 strength = (personality / 6) % 3;
+ u8 colorType = personality % 6;
+
+ switch (colorType)
+ {
+ case 0:
+ // Teal color
+ green = 21 - strength;
+ blue = green;
+ red = 0;
+ break;
+ case 1:
+ // Yellow color
+ blue = 0;
+ red = 21 - strength;
+ green = red;
+ break;
+ case 2:
+ // Purple color
+ blue = 21 - strength;
+ green = 0;
+ red = blue;
+ break;
+ case 3:
+ // Red color
+ blue = 0;
+ green = 0;
+ red = 23 - strength;
+ break;
+ case 4:
+ // Blue color
+ blue = 23 - strength;
+ green = 0;
+ red = 0;
+ break;
+ case 5:
+ // Green color
+ blue = 0;
+ green = 23 - strength;
+ red = 0;
+ break;
+ }
+
+ return RGB2(red, green, blue);
+}
+
+static u16 QuantizePixel_BlackAndWhite(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red < 17 && green < 17 && blue < 17)
+ return RGB_BLACK;
+ else
+ return RGB_WHITE;
+}
+
+static u16 QuantizePixel_BlackOutline(u16 *pixelA, u16 *pixelB)
+{
+ if (*pixelA != RGB_BLACK)
+ {
+ if (*pixelA & 0x8000)
+ return 0x8000;
+ if (*pixelB & 0x8000)
+ return RGB_BLACK;
+
+ return *pixelA;
+ }
+
+ return RGB_BLACK;
+}
+
+static u16 QuantizePixel_Invert(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ red = 31 - red;
+ green = 31 - green;
+ blue = 31 - blue;
+
+ return RGB2(red, green, blue);
+}
+
+static u16 QuantizePixel_MotionBlur(u16 *prevPixel, u16 *curPixel)
+{
+ u16 pixelChannels[2][3];
+ u16 diffs[3];
+ u8 i;
+ u16 largestDiff;
+ u16 red, green, blue;
+
+ if (*prevPixel == *curPixel)
+ return *curPixel;
+
+ pixelChannels[0][0] = (*prevPixel >> 0) & 0x1F;
+ pixelChannels[0][1] = (*prevPixel >> 5) & 0x1F;
+ pixelChannels[0][2] = (*prevPixel >> 10) & 0x1F;
+ pixelChannels[1][0] = (*curPixel >> 0) & 0x1F;
+ pixelChannels[1][1] = (*curPixel >> 5) & 0x1F;
+ pixelChannels[1][2] = (*curPixel >> 10) & 0x1F;
+
+ // Don't blur light colors.
+ if (pixelChannels[0][0] > 25 && pixelChannels[0][1] > 25 && pixelChannels[0][2] > 25)
+ return *curPixel;
+ if (pixelChannels[1][0] > 25 && pixelChannels[1][1] > 25 && pixelChannels[1][2] > 25)
+ return *curPixel;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (pixelChannels[0][i] > pixelChannels[1][i])
+ diffs[i] = pixelChannels[0][i] - pixelChannels[1][i];
+ else
+ diffs[i] = pixelChannels[1][i] - pixelChannels[0][i];
+ }
+
+ // Find the largest diff of any of the color channels.
+ if (diffs[0] >= diffs[1])
+ {
+ if (diffs[0] >= diffs[2])
+ largestDiff = diffs[0];
+ else if (diffs[1] >= diffs[2])
+ largestDiff = diffs[1];
+ else
+ largestDiff = diffs[2];
+ }
+ else
+ {
+ if (diffs[1] >= diffs[2])
+ largestDiff = diffs[1];
+ else if (diffs[2] >= diffs[0])
+ largestDiff = diffs[2];
+ else
+ largestDiff = diffs[0];
+ }
+
+ red = (pixelChannels[1][0] * (31 - largestDiff / 2)) / 31;
+ green = (pixelChannels[1][1] * (31 - largestDiff / 2)) / 31;
+ blue = (pixelChannels[1][2] * (31 - largestDiff / 2)) / 31;
+ return RGB2(red, green, blue);
+}
+
+static u16 QuantizePixel_Blur(u16 *prevPixel, u16 *curPixel, u16 *nextPixel)
+{
+ u16 red, green, blue;
+ u16 prevAvg, curAvg, nextAvg;
+ u16 prevDiff, nextDiff;
+ u32 diff;
+ u16 factor;
+
+ if (*prevPixel == *curPixel && *nextPixel == *curPixel)
+ return *curPixel;
+
+ red = (*curPixel >> 0) & 0x1F;
+ green = (*curPixel >> 5) & 0x1F;
+ blue = (*curPixel >> 10) & 0x1F;
+
+ prevAvg = (((*prevPixel >> 0) & 0x1F) + ((*prevPixel >> 5) & 0x1F) + ((*prevPixel >> 10) & 0x1F)) / 3;
+ curAvg = (((*curPixel >> 0) & 0x1F) + ((*curPixel >> 5) & 0x1F) + ((*curPixel >> 10) & 0x1F)) / 3;
+ nextAvg = (((*nextPixel >> 0) & 0x1F) + ((*nextPixel >> 5) & 0x1F) + ((*nextPixel >> 10) & 0x1F)) / 3;
+
+ if (prevAvg == curAvg && nextAvg == curAvg)
+ return *curPixel;
+
+ if (prevAvg > curAvg)
+ prevDiff = prevAvg - curAvg;
+ else
+ prevDiff = curAvg - prevAvg;
+
+ if (nextAvg > curAvg)
+ nextDiff = nextAvg - curAvg;
+ else
+ nextDiff = curAvg - nextAvg;
+
+ if (prevDiff >= nextDiff)
+ diff = prevDiff;
+ else
+ diff = nextDiff;
+
+ factor = 31 - diff / 2;
+ red = (red * factor) / 31;
+ green = (green * factor) / 31;
+ blue = (blue * factor) / 31;
+ return RGB2(red, green, blue);
+}
+
+static u16 QuantizePixel_BlurHard(u16 *prevPixel, u16 *curPixel, u16 *nextPixel)
+{
+ u16 red, green, blue;
+ u16 prevAvg, curAvg, nextAvg;
+ u16 prevDiff, nextDiff;
+ u32 diff;
+ u16 factor;
+
+ if (*prevPixel == *curPixel && *nextPixel == *curPixel)
+ return *curPixel;
+
+ red = (*curPixel >> 0) & 0x1F;
+ green = (*curPixel >> 5) & 0x1F;
+ blue = (*curPixel >> 10) & 0x1F;
+
+ prevAvg = (((*prevPixel >> 0) & 0x1F) + ((*prevPixel >> 5) & 0x1F) + ((*prevPixel >> 10) & 0x1F)) / 3;
+ curAvg = (((*curPixel >> 0) & 0x1F) + ((*curPixel >> 5) & 0x1F) + ((*curPixel >> 10) & 0x1F)) / 3;
+ nextAvg = (((*nextPixel >> 0) & 0x1F) + ((*nextPixel >> 5) & 0x1F) + ((*nextPixel >> 10) & 0x1F)) / 3;
+
+ if (prevAvg == curAvg && nextAvg == curAvg)
+ return *curPixel;
+
+ if (prevAvg > curAvg)
+ prevDiff = prevAvg - curAvg;
+ else
+ prevDiff = curAvg - prevAvg;
+
+ if (nextAvg > curAvg)
+ nextDiff = nextAvg - curAvg;
+ else
+ nextDiff = curAvg - nextAvg;
+
+ if (prevDiff >= nextDiff)
+ diff = prevDiff;
+ else
+ diff = nextDiff;
+
+ factor = 31 - diff;
+ red = (red * factor) / 31;
+ green = (green * factor) / 31;
+ blue = (blue * factor) / 31;
+ return RGB2(red, green, blue);
+}
+
+void ConvertImageProcessingToGBA(struct ImageProcessingContext *context)
+{
+ u16 i, j, k;
+ u16 *src, *dest, *src_, *dest_;
+ u16 width, height;
+
+ width = context->canvasWidth >> 3;
+ height = context->canvasHeight >> 3;
+ src_ = context->canvasPixels;
+ dest_ = context->dest;
+
+ if (context->var_16 == 2)
+ {
+ for (i = 0; i < height; i++)
+ {
+ for (j = 0; j < width; j++)
+ {
+ for (k = 0; k < 8; k++)
+ {
+ dest = dest_ + ((i * width + j) << 5) + (k << 2);
+ src = src_ + ((((i << 3) + k) << 3) * width) + (j << 3);
+
+ dest[0] = src[0] | (src[1] << 8);
+ dest[1] = src[2] | (src[3] << 8);
+ dest[2] = src[4] | (src[5] << 8);
+ dest[3] = src[6] | (src[7] << 8);
+ }
+ }
+ }
+ }
+ else
+ {
+ for (i = 0; i < height; i++)
+ {
+ for (j = 0; j < width; j++)
+ {
+ for (k = 0; k < 8; k++)
+ {
+ dest = dest_ + ((i * width + j) << 4) + (k << 1);
+ src = src_ + ((((i << 3) + k) << 3) * width) + (j << 3);
+
+ dest[0] = src[0] | (src[1] << 4) | (src[2] << 8) | (src[3] << 0xC);
+ dest[1] = src[4] | (src[5] << 4) | (src[6] << 8) | (src[7] << 0xC);
+ }
+ }
+ }
+ }
+}
+
+void ApplyImageProcessingQuantization(struct ImageProcessingContext *context)
+{
+ gCanvasPaletteStart = context->paletteStart * 16;
+ gCanvasPalette = &context->canvasPalette[gCanvasPaletteStart];
+ gCanvasPixels = context->canvasPixels;
+ gCanvasColumnStart = context->columnStart;
+ gCanvasRowStart = context->rowStart;
+ gCanvasColumnEnd = context->columnEnd;
+ gCanvasRowEnd = context->rowEnd;
+ gCanvasWidth = context->canvasWidth;
+ gCanvasHeight = context->canvasHeight;
+
+ switch (context->quantizeEffect)
+ {
+ case QUANTIZE_EFFECT_STANDARD:
+ QuantizePalette_Standard(FALSE);
+ break;
+ case QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS:
+ QuantizePalette_Standard(TRUE);
+ break;
+ case QUANTIZE_EFFECT_PRIMARY_COLORS:
+ SetPresetPalette_PrimaryColors();
+ QuantizePalette_PrimaryColors();
+ break;
+ case QUANTIZE_EFFECT_GRAYSCALE:
+ SetPresetPalette_Grayscale();
+ QuantizePalette_Grayscale();
+ break;
+ case QUANTIZE_EFFECT_GRAYSCALE_SMALL:
+ SetPresetPalette_GrayscaleSmall();
+ QuantizePalette_GrayscaleSmall();
+ break;
+ case QUANTIZE_EFFECT_BLACK_WHITE:
+ SetPresetPalette_BlackAndWhite();
+ QuantizePalette_BlackAndWhite();
+ break;
+ }
+}
+
+static void SetPresetPalette_PrimaryColors(void)
+{
+ gCanvasPalette[0] = RGB2(0, 0, 0);
+ gCanvasPalette[1] = RGB2(6, 6, 6);
+ gCanvasPalette[2] = RGB2(29, 29, 29);
+ gCanvasPalette[3] = RGB2(11, 11, 11);
+ gCanvasPalette[4] = RGB2(29, 6, 6);
+ gCanvasPalette[5] = RGB2(6, 29, 6);
+ gCanvasPalette[6] = RGB2(6, 6, 29);
+ gCanvasPalette[7] = RGB2(29, 29, 6);
+ gCanvasPalette[8] = RGB2(29, 6, 29);
+ gCanvasPalette[9] = RGB2(6, 29, 29);
+ gCanvasPalette[10] = RGB2(29, 11, 6);
+ gCanvasPalette[11] = RGB2(11, 29, 6);
+ gCanvasPalette[12] = RGB2(6, 11, 29);
+ gCanvasPalette[13] = RGB2(29, 6, 11);
+ gCanvasPalette[14] = RGB2(6, 29, 11);
+ gCanvasPalette[15] = RGB2(11, 6, 29);
+}
+
+static void SetPresetPalette_BlackAndWhite(void)
+{
+ gCanvasPalette[0] = RGB2(0, 0, 0);
+ gCanvasPalette[1] = RGB2(0, 0, 0);
+ gCanvasPalette[2] = RGB2(31, 31, 31);
+}
+
+static void SetPresetPalette_GrayscaleSmall(void)
+{
+ u8 i;
+
+ gCanvasPalette[0] = RGB2(0, 0, 0);
+ gCanvasPalette[1] = RGB2(0, 0, 0);
+ for (i = 0; i < 14; i++)
+ gCanvasPalette[i + 2] = RGB2(2 * (i + 2), 2 * (i + 2), 2 * (i + 2));
+}
+
+static void SetPresetPalette_Grayscale(void)
+{
+ u8 i;
+
+ gCanvasPalette[0] = RGB2(0, 0, 0);
+ for (i = 0; i < 32; i++)
+ gCanvasPalette[i + 1] = RGB2(i, i, i);
+}
+
+static void QuantizePalette_Standard(bool8 useLimitedPalette)
+{
+ u8 i, j;
+ u16 maxIndex;
+
+ maxIndex = 0xDF;
+ if (!useLimitedPalette)
+ maxIndex = 0xFF;
+
+ for (i = 0; i < maxIndex; i++)
+ gCanvasPalette[i] = RGB_BLACK;
+
+ gCanvasPalette[maxIndex] = RGB2(15, 15, 15);
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (*pixel & 0x8000)
+ {
+ *pixel = gCanvasPaletteStart;
+ }
+ else
+ {
+ u16 quantizedColor = QuantizePixel_Standard(pixel);
+ u8 curIndex = 1;
+ if (curIndex < maxIndex)
+ {
+ if (gCanvasPalette[curIndex] == RGB_BLACK)
+ {
+ // The quantized color does not match any existing color in the
+ // palette, so we add it to the palette.
+ // This if block seems pointless because the below while loop handles
+ // this same logic.
+ gCanvasPalette[curIndex] = quantizedColor;
+ *pixel = gCanvasPaletteStart + curIndex;
+ }
+ else
+ {
+ while (curIndex < maxIndex)
+ {
+ if (gCanvasPalette[curIndex] == RGB_BLACK)
+ {
+ // The quantized color does not match any existing color in the
+ // palette, so we add it to the palette.
+ gCanvasPalette[curIndex] = quantizedColor;
+ *pixel = gCanvasPaletteStart + curIndex;
+ break;
+ }
+
+ if (gCanvasPalette[curIndex] == quantizedColor)
+ {
+ // The quantized color matches this existing color in the
+ // palette, so we use this existing color for the pixel.
+ *pixel = gCanvasPaletteStart + curIndex;
+ break;
+ }
+
+ curIndex++;
+ }
+ }
+ }
+
+ if (curIndex == maxIndex)
+ {
+ // The entire palette's colors are already in use, which means
+ // the base image has too many colors to handle. This error is handled
+ // by marking such pixels as gray color.
+ curIndex = maxIndex;
+ *pixel = curIndex;
+ }
+ }
+ }
+ }
+}
+
+static void QuantizePalette_BlackAndWhite(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (*pixel & 0x8000)
+ {
+ *pixel = gCanvasPaletteStart;
+ }
+ else
+ {
+ if (QuantizePixel_BlackAndWhite(pixel) == RGB_BLACK)
+ {
+ // Black is the first color in the quantized palette.
+ *pixel = gCanvasPaletteStart + 1;
+ }
+ else
+ {
+ // White is the second color in the quantized palette.
+ *pixel = gCanvasPaletteStart + 2;
+ }
+ }
+ }
+ }
+}
+
+static void QuantizePalette_GrayscaleSmall(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (*pixel & 0x8000)
+ *pixel = gCanvasPaletteStart;
+ else
+ *pixel = QuantizePixel_GrayscaleSmall(pixel) + gCanvasPaletteStart;
+ }
+ }
+}
+
+static void QuantizePalette_Grayscale(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (*pixel & 0x8000)
+ *pixel = gCanvasPaletteStart;
+ else
+ *pixel = QuantizePixel_Grayscale(pixel) + gCanvasPaletteStart;
+ }
+ }
+}
+
+static void QuantizePalette_PrimaryColors(void)
+{
+ u8 i, j;
+
+ for (j = 0; j < gCanvasRowEnd; j++)
+ {
+ u16 *pixelRow = &(*gCanvasPixels)[0][(gCanvasRowStart + j) * gCanvasWidth];
+ u16 *pixel = &pixelRow[gCanvasColumnStart];
+ for (i = 0; i < gCanvasColumnEnd; i++, pixel++)
+ {
+ if (*pixel & 0x8000)
+ *pixel = gCanvasPaletteStart;
+ else
+ *pixel = QuantizePixel_PrimaryColors(pixel) + gCanvasPaletteStart;
+ }
+ }
+}
+
+// Quantizes the pixel's color channels to nearest multiple of 4, and clamps to [6, 30].
+static u16 QuantizePixel_Standard(u16 *pixel)
+{
+ u16 red = *pixel & 0x1F;
+ u16 green = (*pixel >> 5) & 0x1F;
+ u16 blue = (*pixel >> 10) & 0x1F;
+
+ // Quantize color channels to muliples of 4, rounding up.
+ if (red & 3)
+ red = (red & 0x1C) + 4;
+ if (green & 3)
+ green = (green & 0x1C) + 4;
+ if (blue & 3)
+ blue = (blue & 0x1C) + 4;
+
+ // Clamp channels to [6, 30].
+ if (red < 6)
+ red = 6;
+ if (red > 30)
+ red = 30;
+ if (green < 6)
+ green = 6;
+ if (green > 30)
+ green = 30;
+ if (blue < 6)
+ blue = 6;
+ if (blue > 30)
+ blue = 30;
+
+ return RGB2(red, green, blue);
+}
+
+static u16 QuantizePixel_PrimaryColors(u16* color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+
+ if (red < 12 && green < 11 && blue < 11)
+ return 1;
+
+ if (red > 19 && green > 19 && blue > 19)
+ return 2;
+
+ if (red > 19)
+ {
+ if (green > 19)
+ {
+ if (blue > 14)
+ return 2;
+ else
+ return 7;
+ }
+ else if (blue > 19)
+ {
+ if (green > 14)
+ return 2;
+ else
+ return 8;
+ }
+ }
+
+ if (green > 19 && blue > 19)
+ {
+ if (red > 14)
+ return 2;
+ else
+ return 9;
+ }
+
+ if (red > 19)
+ {
+ if (green > 11)
+ {
+ if (blue > 11)
+ {
+ if (green < blue)
+ return 8;
+ else
+ return 7;
+ }
+ else
+ {
+ return 10;
+ }
+ }
+ else if (blue > 11)
+ {
+ return 13;
+ }
+ else
+ {
+ return 4;
+ }
+ }
+
+ if (green > 19)
+ {
+ if (red > 11)
+ {
+ if (blue > 11)
+ {
+ if (red < blue)
+ return 9;
+ else
+ return 7;
+ }
+ else
+ {
+ return 11;
+ }
+ }
+ else
+ {
+ if (blue > 11)
+ return 14;
+ else
+ return 5;
+ }
+ }
+
+ if (blue > 19)
+ {
+ if (red > 11)
+ {
+ if (green > 11)
+ {
+ if (red < green)
+ return 9;
+ else
+ return 8;
+ }
+ }
+ else if (green > 11)
+ {
+ return 12;
+ }
+
+ if (blue > 11)
+ return 15;
+ else
+ return 6;
+ }
+
+ return 3;
+}
+
+static u16 QuantizePixel_GrayscaleSmall(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+ u16 average = ((red + green + blue) / 3) & 0x1E;
+ if (average == 0)
+ return 1;
+ else
+ return average / 2;
+}
+
+static u16 QuantizePixel_Grayscale(u16 *color)
+{
+ u16 red = *color & 0x1F;
+ u16 green = (*color >> 5) & 0x1F;
+ u16 blue = (*color >> 10) & 0x1F;
+ u16 average = (red + green + blue) / 3;
+ return average + 1;
+}
diff --git a/src/international_string_util.c b/src/international_string_util.c
index 9dc795dd0..ec5057359 100644
--- a/src/international_string_util.c
+++ b/src/international_string_util.c
@@ -45,7 +45,7 @@ int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1)
var = stringWidth;
}
- return convert_pixel_width_to_tile_width(var);
+ return ConvertPixelWidthToTileWidth(var);
}
int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2)
@@ -59,7 +59,7 @@ int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2)
var = stringWidth;
}
- return convert_pixel_width_to_tile_width(var);
+ return ConvertPixelWidthToTileWidth(var);
}
int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu)
diff --git a/src/intro.c b/src/intro.c
index e97fbedb0..7c2303dcc 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -5,7 +5,7 @@
#include "task.h"
#include "title_screen.h"
#include "libgcnmultiboot.h"
-#include "alloc.h"
+#include "malloc.h"
#include "gpu_regs.h"
#include "link.h"
#include "multiboot_pokemon_colosseum.h"
@@ -141,10 +141,10 @@ static const struct SpritePalette gIntroPalette_Lightning[] =
static const struct OamData gUnknown_085E4A94 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -210,10 +210,10 @@ static const struct SpritePalette gIntroPokemonRunningPalette[] =
static const struct OamData gUnknown_085E4B28 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -247,10 +247,10 @@ static const struct SpriteTemplate gUnknown_085E4B40 =
static const struct OamData gUnknown_085E4B58 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -303,10 +303,10 @@ static const struct SpriteTemplate gUnknown_085E4BA4 =
static const struct OamData gUnknown_085E4BBC =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -352,10 +352,10 @@ static const struct SpritePalette gIntroRayquazaLightningPalette[] =
static const struct OamData gUnknown_085E4C14 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -437,10 +437,10 @@ static const s16 gIntroKyogreBubbleData[][3] =
static const struct OamData gUnknown_085E4CF0 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x32),
.x = 0,
.matrixNum = 0,
@@ -477,10 +477,10 @@ static const struct SpriteTemplate gUnknown_085E4D14 =
static const struct OamData gUnknown_085E4D2C =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -568,10 +568,10 @@ static const union AnimCmd *const gIntroBicycleAnimationCommands[] =
static const struct OamData gUnknown_085E4DD4 =
{
.y = 160,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -584,10 +584,10 @@ static const struct OamData gUnknown_085E4DD4 =
static const struct OamData gUnknown_085E4DDC =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -600,10 +600,10 @@ static const struct OamData gUnknown_085E4DDC =
static const struct OamData gUnknown_085E4DE4 =
{
.y = 160,
- .affineMode = 3,
- .objMode = 1,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x64),
.x = 0,
.matrixNum = 0,
@@ -800,10 +800,10 @@ static const u8 gUnknown_085E4FA4[] =
static const struct OamData gUnknown_085E4FB0 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -853,10 +853,10 @@ static const struct SpritePalette gIntroPalette_DropLogoFlygon[] =
static const struct OamData gUnknown_085E501C =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -1070,7 +1070,7 @@ void CB2_InitCopyrightScreenAfterBootup(void)
ResetMenuAndMonGlobals();
Save_ResetSaveCounters();
Save_LoadGameData(SAVE_NORMAL);
- if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
+ if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT)
Sav2_ClearSetDefault();
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
InitHeap(gHeap, HEAP_SIZE);
@@ -2568,9 +2568,9 @@ static void sub_816F3A4(struct Sprite *sprite)
sprite->data[2] = 1024;
sprite->data[3] = 8 * (sprite->data[1] & 3);
sprite->callback = sub_816F318;
- sprite->oam.shape = 1;
- sprite->oam.size = 3;
- CalcCenterToCornerVec(sprite, 1, 3, 2);
+ sprite->oam.shape = SPRITE_SHAPE(64x32);
+ sprite->oam.size = SPRITE_SIZE(64x32);
+ CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_ERASE);
}
else
{
@@ -2690,9 +2690,9 @@ static void SpriteCB_WaterDropFall(struct Sprite *sprite)
sprite->data[2] = 1024;
sprite->data[3] = 8 * (sprite->data[1] & 3);
sprite->callback = sub_816F318;
- sprite->oam.shape = 1;
- sprite->oam.size = 3;
- CalcCenterToCornerVec(sprite, 1, 3, 2);
+ sprite->oam.shape = SPRITE_SHAPE(64x32);
+ sprite->oam.size = SPRITE_SIZE(64x32);
+ CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_ERASE);
}
}
@@ -2713,9 +2713,9 @@ static void SpriteCB_WaterDropFall_2(struct Sprite *sprite)
sprite->data[2] = 1024;
sprite->data[3] = 8 * (sprite->data[1] & 3);
sprite->callback = sub_816F318;
- sprite->oam.shape = 1;
- sprite->oam.size = 3;
- CalcCenterToCornerVec(sprite, 1, 3, 2);
+ sprite->oam.shape = SPRITE_SHAPE(64x32);
+ sprite->oam.size = SPRITE_SIZE(64x32);
+ CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_ERASE);
}
}
@@ -2732,9 +2732,9 @@ static u8 CreateWaterDrop(s16 x, s16 y, u16 c, u16 d, u16 e, u8 fallImmediately)
gSprites[spriteId].data[3] = c;
gSprites[spriteId].data[5] = e;
gSprites[spriteId].data[6] = c;
- gSprites[spriteId].oam.affineMode = 3;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
gSprites[spriteId].oam.matrixNum = d;
- CalcCenterToCornerVec(&gSprites[spriteId], 0, 2, 2);
+ CalcCenterToCornerVec(&gSprites[spriteId], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_ERASE);
StartSpriteAnim(&gSprites[spriteId], 2);
if (!fallImmediately)
gSprites[spriteId].callback = sub_816F454;
@@ -2745,18 +2745,18 @@ static u8 CreateWaterDrop(s16 x, s16 y, u16 c, u16 d, u16 e, u8 fallImmediately)
spriteId = CreateSprite(&gIntroWaterDropSprite, x, y, 1);
gSprites[spriteId].data[7] = oldSpriteId;
gSprites[spriteId].data[1] = d + 1;
- gSprites[spriteId].oam.affineMode = 3;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
gSprites[spriteId].oam.matrixNum = d + 1;
- CalcCenterToCornerVec(&gSprites[spriteId], 0, 2, 2);
+ CalcCenterToCornerVec(&gSprites[spriteId], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_ERASE);
gSprites[spriteId].callback = sub_816F3A4;
spriteId = CreateSprite(&gIntroWaterDropSprite, x, y, 1);
gSprites[spriteId].data[7] = oldSpriteId;
gSprites[spriteId].data[1] = d + 2;
StartSpriteAnim(&gSprites[spriteId], 1);
- gSprites[spriteId].oam.affineMode = 3;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
gSprites[spriteId].oam.matrixNum = d + 2;
- CalcCenterToCornerVec(&gSprites[spriteId], 0, 2, 2);
+ CalcCenterToCornerVec(&gSprites[spriteId], SPRITE_SHAPE(32x32), SPRITE_SIZE(32x32), ST_OAM_AFFINE_ERASE);
gSprites[spriteId].callback = sub_816F3A4;
SetOamMatrix(d, c + 32, 0, 0, c + 32);
@@ -2915,7 +2915,7 @@ static void sub_816FB38(struct Sprite *sprite)
if (gIntroFrameCounter == 0x110)
{
StartSpriteAffineAnim(sprite, 2);
- sprite->oam.objMode = 1;
+ sprite->oam.objMode = ST_OAM_OBJ_BLEND;
sprite->data[0]++;
}
break;
@@ -3008,9 +3008,9 @@ static void sub_816FEDC(struct Sprite *sprite)
{
case 0:
default:
- sprite->oam.affineMode = 3;
+ sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
sprite->oam.matrixNum = 1;
- CalcCenterToCornerVec(sprite, 1, 3, 3);
+ CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE);
sprite->invisible = FALSE;
sprite->data[0] = 1;
sprite->data[1] = 0x80;
@@ -3054,9 +3054,9 @@ static void SpriteCB_IntroRayquazaHyperbeam(struct Sprite *sprite)
case 0:
default:
sprite->invisible = FALSE;
- sprite->oam.affineMode = 3;
+ sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
sprite->oam.matrixNum = 18;
- CalcCenterToCornerVec(sprite, 0, 3, 3);
+ CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), ST_OAM_AFFINE_DOUBLE);
sprite->data[1] = 0;
sprite->data[0] = 1;
//fall through
diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c
index 059c1079e..04e2216f6 100644
--- a/src/intro_credits_graphics.c
+++ b/src/intro_credits_graphics.c
@@ -1026,7 +1026,7 @@ static void sub_817B698(u8 a, const struct IntroCreditsSpriteMetadata *b, const
for(i = 0; i < d; i++)
{
u8 sprite = CreateSprite(&gUnknown_085F504C, b[i].x, b[i].y, b[i].subpriority);
- CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, 0);
+ CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, ST_OAM_AFFINE_OFF);
gSprites[sprite].oam.priority = 3;
gSprites[sprite].oam.shape = b[i].shape;
gSprites[sprite].oam.size = b[i].size;
diff --git a/src/item.c b/src/item.c
index 5e505724c..61069ca73 100644
--- a/src/item.c
+++ b/src/item.c
@@ -4,7 +4,7 @@
#include "string_util.h"
#include "text.h"
#include "event_data.h"
-#include "alloc.h"
+#include "malloc.h"
#include "secret_base.h"
#include "item_menu.h"
#include "strings.h"
@@ -14,6 +14,7 @@
#include "battle_pyramid_bag.h"
#include "constants/items.h"
#include "constants/hold_effects.h"
+#include "constants/tv.h"
extern u16 gUnknown_0203CF30[];
@@ -142,7 +143,7 @@ bool8 CheckBagHasItem(u16 itemId, u16 count)
if (ItemId_GetPocket(itemId) == 0)
return FALSE;
- if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE)
+ if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE)
return CheckPyramidBagHasItem(itemId, count);
pocket = ItemId_GetPocket(itemId) - 1;
// Check for item slots that contain the item
@@ -189,7 +190,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count)
if (ItemId_GetPocket(itemId) == POCKET_NONE)
return FALSE;
- if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE)
+ if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE)
{
return CheckPyramidBagHasSpace(itemId, count);
}
@@ -404,7 +405,7 @@ bool8 AddBagItem(u16 itemId, u16 count)
return FALSE;
// check Battle Pyramid Bag
- if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE)
+ if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE)
{
return AddPyramidBagItem(itemId, count);
}
@@ -517,7 +518,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count)
return FALSE;
// check Battle Pyramid Bag
- if (InBattlePyramid() || FlagGet(FLAG_SPECIAL_FLAG_0x4004) == TRUE)
+ if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE)
{
return RemovePyramidBagItem(itemId, count);
}
@@ -542,7 +543,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count)
if (CurMapIsSecretBase() == TRUE)
{
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x200);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BAG);
VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, itemId);
}
diff --git a/src/item_icon.c b/src/item_icon.c
index 91c32951a..487b89b71 100644
--- a/src/item_icon.c
+++ b/src/item_icon.c
@@ -2,7 +2,7 @@
#include "decompress.h"
#include "graphics.h"
#include "item_icon.h"
-#include "alloc.h"
+#include "malloc.h"
#include "sprite.h"
#include "constants/items.h"
@@ -16,10 +16,10 @@ EWRAM_DATA void *gItemIcon4x4Buffer = NULL;
static const struct OamData sOamData_ItemIcon =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
diff --git a/src/item_menu.c b/src/item_menu.c
index 12f03b328..eef006545 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -4,6 +4,7 @@
#include "battle_controllers.h"
#include "battle_pyramid.h"
#include "frontier_util.h"
+#include "battle_pyramid_bag.h"
#include "berry_tag_screen.h"
#include "bg.h"
#include "constants/items.h"
@@ -25,7 +26,7 @@
#include "link.h"
#include "mail.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "map_name_popup.h"
#include "menu.h"
#include "money.h"
@@ -118,7 +119,7 @@ void sub_81AD9C0(u8);
void sub_81ADB14(u8);
void sub_81ADA7C(u8);
void sub_81ADC0C(u8);
-void bag_menu_leave_maybe(void);
+void CB2_ApprenticeExitBagMenu(void);
void CB2_FavorLadyExitBagMenu(void);
void CB2_QuizLadyExitBagMenu(void);
void sub_81ABA6C(void);
@@ -135,7 +136,7 @@ void ItemMenu_Give(u8 taskId);
void ItemMenu_Cancel(u8 taskId);
void ItemMenu_UseInBattle(u8 taskId);
void ItemMenu_CheckTag(u8 taskId);
-void unknown_ItemMenu_Confirm(u8 taskId);
+void Task_FadeAndCloseBagMenu(u8 taskId);
void unknown_ItemMenu_Show(u8 taskId);
void unknown_ItemMenu_Give2(u8 taskId);
void unknown_ItemMenu_Confirm2(u8 taskId);
@@ -215,7 +216,7 @@ const struct MenuAction sItemMenuActions[] = {
{gMenuText_Walk, ItemMenu_UseOutOfBattle},
{gMenuText_Deselect, ItemMenu_Register},
{gMenuText_CheckTag, ItemMenu_CheckTag},
- {gMenuText_Confirm, unknown_ItemMenu_Confirm},
+ {gMenuText_Confirm, Task_FadeAndCloseBagMenu},
{gMenuText_Show, unknown_ItemMenu_Show},
{gMenuText_Give2, unknown_ItemMenu_Give2},
{gMenuText_Confirm, unknown_ItemMenu_Confirm2},
@@ -240,7 +241,7 @@ const TaskFunc gUnknown_08614054[] = {
unknown_item_menu_type,
item_menu_type_2,
DisplaySellItemAskString,
- unknown_ItemMenu_Confirm,
+ Task_FadeAndCloseBagMenu,
unknown_item_menu_type,
DisplayDepositItemAskString,
unknown_item_menu_type,
@@ -466,9 +467,9 @@ void CB2_BagMenuFromStartMenu(void)
void sub_81AABB0(void)
{
if (!InBattlePyramid())
- GoToBagMenu(RETURN_LOCATION_BATTLE, POCKETS_COUNT, SetCB2ToReshowScreenAfterMenu2);
+ GoToBagMenu(RETURN_LOCATION_BATTLE, POCKETS_COUNT, CB2_SetUpReshowBattleScreenAfterMenu2);
else
- sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2);
+ GoToBattlePyramidBagMenu(1, CB2_SetUpReshowBattleScreenAfterMenu2);
}
void CB2_ChooseBerry(void)
@@ -476,7 +477,7 @@ void CB2_ChooseBerry(void)
GoToBagMenu(RETURN_LOCATION_FIELD_2, BERRIES_POCKET, CB2_ReturnToFieldContinueScript);
}
-void sub_81AABF0(void (*callback)(void))
+void ChooseBerrySetCallback(void (*callback)(void))
{
GoToBagMenu(RETURN_LOCATION_FIELD_3, BERRIES_POCKET, callback);
}
@@ -491,23 +492,23 @@ void sub_81AAC14(void)
GoToBagMenu(RETURN_LOCATION_PC, POCKETS_COUNT, sub_816B31C);
}
-void sub_81AAC28(void)
+void ApprenticeOpenBagMenu(void)
{
- GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, bag_menu_leave_maybe);
- gSpecialVar_0x8005 = 0;
- gSpecialVar_Result = 0;
+ GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, CB2_ApprenticeExitBagMenu);
+ gSpecialVar_0x8005 = ITEM_NONE;
+ gSpecialVar_Result = FALSE;
}
void FavorLadyOpenBagMenu(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_4, POCKETS_COUNT, CB2_FavorLadyExitBagMenu);
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
}
void QuizLadyOpenBagMenu(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_5, POCKETS_COUNT, CB2_QuizLadyExitBagMenu);
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
}
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)())
@@ -790,19 +791,19 @@ void GetItemName(s8 *dest, u16 itemId)
StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(itemId)]);
if (itemId >= ITEM_HM01)
{
- ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_HM01 + 1, 2, 1);
+ ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_HM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 1);
StringExpandPlaceholders(dest, gText_ClearTo11Var1Clear5Var2);
}
else
{
- ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_TM01 + 1, 2, 2);
- StringExpandPlaceholders(dest, gText_UnkF908Var1Clear7Var2);
+ ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_TM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 2);
+ StringExpandPlaceholders(dest, gText_NumberVar1Clear7Var2);
}
break;
case BERRIES_POCKET:
- ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_CHERI_BERRY + 1, 2, 2);
+ ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_CHERI_BERRY + 1, STR_CONV_MODE_LEADING_ZEROS, 2);
CopyItemName(itemId, gStringVar2);
- StringExpandPlaceholders(dest, gText_UnkF908Var1Clear7Var2);
+ StringExpandPlaceholders(dest, gText_NumberVar1Clear7Var2);
break;
default:
CopyItemName(itemId, dest);
@@ -851,14 +852,14 @@ void PrintItemQuantityPlusGFX(u8 rboxId, s32 item_index_in_pocket, u8 a)
BlitBitmapToWindow(rboxId, gBagMenuHMIcon_Gfx, 8, a - 1, 16, 16);
if (gBagPositionStruct.pocket == BERRIES_POCKET)
{
- ConvertIntToDecimalStringN(gStringVar1, itemQuantity, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, 3);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
offset = GetStringRightAlignXOffset(7, gStringVar4, 0x77);
BagMenu_Print(rboxId, 7, gStringVar4, offset, a, 0, 0, -1, 0);
}
else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && (unique = ItemId_GetImportance(itemId)) == FALSE)
{
- ConvertIntToDecimalStringN(gStringVar1, itemQuantity, 1, 2);
+ ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, 2);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
offset = GetStringRightAlignXOffset(7, gStringVar4, 0x77);
BagMenu_Print(rboxId, 7, gStringVar4, offset, a, unique, unique, -1, unique);
@@ -941,7 +942,7 @@ void FreeBagItemListBuffers(void)
Free(gBagMenu);
}
-void unknown_ItemMenu_Confirm(u8 taskId)
+void Task_FadeAndCloseBagMenu(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = TaskCloseBagMenu_2;
@@ -965,7 +966,7 @@ void TaskCloseBagMenu_2(u8 taskId)
}
}
-void sub_81AB9A8(u8 pocketId)
+void UpdatePocketItemList(u8 pocketId)
{
u16 i;
struct BagPocket *pocket = &gBagPockets[pocketId];
@@ -996,7 +997,7 @@ void sub_81ABA6C(void)
{
u8 i;
for (i = 0; i < POCKETS_COUNT; i++)
- sub_81AB9A8(i);
+ UpdatePocketItemList(i);
}
void SetInitialScrollAndCursorPositions(u8 pocketId)
@@ -1040,7 +1041,7 @@ void BagMenu_InitListsMenu(u8 taskId)
u16* cursorPos = &gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket];
bag_menu_RemoveBagItem_message_window(4);
DestroyListMenuTask(data[0], scrollPos, cursorPos);
- sub_81AB9A8(gBagPositionStruct.pocket);
+ UpdatePocketItemList(gBagPositionStruct.pocket);
SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket);
LoadBagItemListBuffers(gBagPositionStruct.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos);
@@ -1053,21 +1054,21 @@ void sub_81ABC3C(u8 a)
PrintItemDepositAmount(BagMenu_AddWindow(a), 1);
}
-void PrintItemDepositAmount(u8 a, s16 b)
+void PrintItemDepositAmount(u8 windowId, s16 numDeposited)
{
- u8 r3 = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2;
- ConvertIntToDecimalStringN(gStringVar1, b, 2, r3);
+ u8 numDigits = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2;
+ ConvertIntToDecimalStringN(gStringVar1, numDeposited, STR_CONV_MODE_LEADING_ZEROS, numDigits);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
- AddTextPrinterParameterized(a, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0);
+ AddTextPrinterParameterized(windowId, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0);
}
-void sub_81ABCC0(int a, int b, int c)
+void PrintItemSoldAmount(int windowId, int numSold, int moneyEarned)
{
- u8 r3 = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2;
- ConvertIntToDecimalStringN(gStringVar1, b, 2, r3);
+ u8 numDigits = (gBagPositionStruct.pocket == BERRIES_POCKET) ? 3 : 2;
+ ConvertIntToDecimalStringN(gStringVar1, numSold, STR_CONV_MODE_LEADING_ZEROS, numDigits);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
- AddTextPrinterParameterized(a, 1, gStringVar4, 0, 1, -1, 0);
- PrintMoneyAmount(a, 0x26, 1, c, 0);
+ AddTextPrinterParameterized(windowId, 1, gStringVar4, 0, 1, -1, 0);
+ PrintMoneyAmount(windowId, 38, 1, moneyEarned, 0);
}
void Task_BagMenu(u8 taskId)
@@ -1116,7 +1117,7 @@ void Task_BagMenu(u8 taskId)
}
PlaySE(SE_SELECT);
gSpecialVar_ItemId = select;
- gTasks[taskId].func = unknown_ItemMenu_Confirm;
+ gTasks[taskId].func = Task_FadeAndCloseBagMenu;
break;
default: // A_BUTTON
PlaySE(SE_SELECT);
@@ -1148,13 +1149,13 @@ u8 GetSwitchBagPocketDirection(void)
u8 LRKeys;
if (gBagMenu->unk81B != 0)
return 0;
- LRKeys = GetLRKeysState();
- if ((gMain.newKeys & DPAD_LEFT) || LRKeys == 1)
+ LRKeys = GetLRKeysPressed();
+ if ((gMain.newKeys & DPAD_LEFT) || LRKeys == MENU_L_PRESSED)
{
PlaySE(SE_SELECT);
return 1;
}
- if ((gMain.newKeys & DPAD_RIGHT) || LRKeys == 2)
+ if ((gMain.newKeys & DPAD_RIGHT) || LRKeys == MENU_R_PRESSED)
{
PlaySE(SE_SELECT);
return 2;
@@ -1581,7 +1582,7 @@ void Task_HandleOutOfBattleItemMenuInput(u8 taskId)
sub_8199134(0, 1);
}
}
- else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysState() == 1)
+ else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysPressed() == MENU_L_PRESSED)
{
if ((cursorPos & 1) && sub_81ACDFC(cursorPos - 1))
{
@@ -1589,7 +1590,7 @@ void Task_HandleOutOfBattleItemMenuInput(u8 taskId)
sub_8199134(-1, 0);
}
}
- else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysState() == 2)
+ else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysPressed() == MENU_R_PRESSED)
{
if (!(cursorPos & 1) && sub_81ACDFC(cursorPos + 1))
{
@@ -1651,7 +1652,7 @@ void ItemMenu_UseOutOfBattle(u8 taskId)
if (gBagPositionStruct.pocket != BERRIES_POCKET)
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
else
- sub_80FDD10(taskId);
+ ItemUseOutOfBattle_Berry(taskId);
}
}
}
@@ -1682,7 +1683,7 @@ void BagMenu_TossItems(u8 taskId)
s16* data = gTasks[taskId].data;
CopyItemName(gSpecialVar_ItemId, gStringVar1);
- ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3);
+ ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3);
StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems);
FillWindowPixelBuffer(1, PIXEL_FILL(0));
BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0);
@@ -1725,7 +1726,7 @@ void BagMenu_ConfirmToss(u8 taskId)
s16* data = gTasks[taskId].data;
CopyItemName(gSpecialVar_ItemId, gStringVar1);
- ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3);
+ ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3);
StringExpandPlaceholders(gStringVar4, gText_ThrewAwayVar2Var1s);
FillWindowPixelBuffer(1, PIXEL_FILL(0));
BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0);
@@ -1743,7 +1744,7 @@ void Task_ActuallyToss(u8 taskId)
PlaySE(SE_SELECT);
RemoveBagItem(gSpecialVar_ItemId, data[8]);
DestroyListMenuTask(data[0], scrollPos, cursorPos);
- sub_81AB9A8(gBagPositionStruct.pocket);
+ UpdatePocketItemList(gBagPositionStruct.pocket);
SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket);
LoadBagItemListBuffers(gBagPositionStruct.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos);
@@ -1782,8 +1783,8 @@ void ItemMenu_Give(u8 taskId)
BagMenu_PrintThereIsNoPokemon(taskId);
else
{
- gBagMenu->mainCallback2 = sub_81B7F60;
- unknown_ItemMenu_Confirm(taskId);
+ gBagMenu->mainCallback2 = CB2_ChooseMonToGiveItem;
+ Task_FadeAndCloseBagMenu(taskId);
}
}
else
@@ -1816,7 +1817,7 @@ void sub_81AD350(u8 taskId)
void ItemMenu_CheckTag(u8 taskId)
{
gBagMenu->mainCallback2 = DoBerryTagScreen;
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
}
void ItemMenu_Cancel(u8 taskId)
@@ -1840,7 +1841,7 @@ void ItemMenu_UseInBattle(u8 taskId)
}
}
-void bag_menu_mail_related(void)
+void CB2_ReturnToBagMenuPocket(void)
{
GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL);
}
@@ -1859,7 +1860,7 @@ void item_menu_type_2(u8 taskId)
}
else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
{
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
}
else
{
@@ -1872,16 +1873,18 @@ void item_menu_type_b(u8 taskId)
if (ItemIsMail(gSpecialVar_ItemId) == TRUE)
DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350);
else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
- gTasks[taskId].func = unknown_ItemMenu_Confirm;
+ gTasks[taskId].func = Task_FadeAndCloseBagMenu;
else
BagMenu_PrintItemCantBeHeld(taskId);
}
+#define tUsingRegisteredKeyItem data[3]
+
bool8 UseRegisteredKeyItemOnField(void)
{
u8 taskId;
- if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiBattleRoom() == TRUE)
+ if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiPartnerRoom() == TRUE)
return FALSE;
HideMapNamePopUpWindow();
ChangeBgY_ScreenOff(0, 0, 0);
@@ -1895,16 +1898,20 @@ bool8 UseRegisteredKeyItemOnField(void)
sub_808BCF4();
gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem;
taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8);
- gTasks[taskId].data[3] = 1;
+ gTasks[taskId].tUsingRegisteredKeyItem = TRUE;
return TRUE;
}
else
+ {
gSaveBlock1Ptr->registeredItem = ITEM_NONE;
+ }
}
ScriptContext1_SetupScript(EventScript_SelectWithoutRegisteredItem);
return TRUE;
}
+#undef tUsingRegisteredKeyItem
+
void DisplaySellItemAskString(u8 taskId)
{
s16* data = gTasks[taskId].data;
@@ -1936,7 +1943,7 @@ void sub_81AD680(u8 taskId)
{
s16* data = gTasks[taskId].data;
- ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
+ ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], STR_CONV_MODE_LEFT_ALIGN, 6);
StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1);
DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD6E4);
}
@@ -1961,7 +1968,7 @@ void sub_81AD730(u8 taskId)
s16* data = gTasks[taskId].data;
u8 windowId = BagMenu_AddWindow(8);
- sub_81ABCC0(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
+ PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
bag_menu_AddMoney_window();
gTasks[taskId].func = sub_81AD794;
}
@@ -1972,7 +1979,7 @@ void sub_81AD794(u8 taskId)
if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE)
{
- sub_81ABCC0(gBagMenu->unk818, data[8], (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
+ PrintItemSoldAmount(gBagMenu->unk818, data[8], (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
}
else if (gMain.newKeys & A_BUTTON)
{
@@ -1996,7 +2003,7 @@ void BagMenu_ConfirmSell(u8 taskId)
s16* data = gTasks[taskId].data;
CopyItemName(gSpecialVar_ItemId, gStringVar2);
- ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
+ ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], STR_CONV_MODE_LEFT_ALIGN, 6);
StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2);
DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD8C8);
}
@@ -2011,7 +2018,7 @@ void sub_81AD8C8(u8 taskId)
RemoveBagItem(gSpecialVar_ItemId, data[8]);
AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
DestroyListMenuTask(data[0], scrollPos, cursorPos);
- sub_81AB9A8(gBagPositionStruct.pocket);
+ UpdatePocketItemList(gBagPositionStruct.pocket);
SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket);
LoadBagItemListBuffers(gBagPositionStruct.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos);
@@ -2087,7 +2094,7 @@ void sub_81ADB14(u8 taskId)
else if (AddPCItem(gSpecialVar_ItemId, data[8]) == TRUE)
{
CopyItemName(gSpecialVar_ItemId, gStringVar1);
- ConvertIntToDecimalStringN(gStringVar2, data[8], 0, 3);
+ ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3);
StringExpandPlaceholders(gStringVar4, gText_DepositedVar2Var1s);
BagMenu_Print(1, 1, gStringVar4, 3, 1, 0, 0, 0, 0);
gTasks[taskId].func = Task_ActuallyToss;
@@ -2157,7 +2164,7 @@ void DoWallyTutorialBagMenu(void)
PrepareBagForWallyTutorial();
AddBagItem(ITEM_POTION, 1);
AddBagItem(ITEM_POKE_BALL, 1);
- GoToBagMenu(RETURN_LOCATION_BATTLE_2, ITEMS_POCKET, SetCB2ToReshowScreenAfterMenu2);
+ GoToBagMenu(RETURN_LOCATION_BATTLE_2, ITEMS_POCKET, CB2_SetUpReshowBattleScreenAfterMenu2);
}
void Task_WallyTutorialBagMenu(u8 taskId)
@@ -2185,7 +2192,7 @@ void Task_WallyTutorialBagMenu(u8 taskId)
BagMenu_RemoveSomeWindow();
DestroyListMenuTask(data[0], 0, 0);
RestoreBagAfterWallyTutorial();
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
break;
default:
data[8]++;
@@ -2199,10 +2206,10 @@ void unknown_ItemMenu_Show(u8 taskId)
gSpecialVar_0x8005 = gSpecialVar_ItemId;
gSpecialVar_Result = 1;
BagMenu_RemoveSomeWindow();
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
}
-void bag_menu_leave_maybe(void)
+void CB2_ApprenticeExitBagMenu(void)
{
gFieldCallback = Apprentice_EnableBothScriptContexts;
SetMainCallback2(CB2_ReturnToField);
@@ -2213,7 +2220,7 @@ void unknown_ItemMenu_Give2(u8 taskId)
RemoveBagItem(gSpecialVar_ItemId, 1);
gSpecialVar_Result = 1;
BagMenu_RemoveSomeWindow();
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
}
void CB2_FavorLadyExitBagMenu(void)
@@ -2226,7 +2233,7 @@ void unknown_ItemMenu_Confirm2(u8 taskId)
{
gSpecialVar_Result = 1;
BagMenu_RemoveSomeWindow();
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
}
void CB2_QuizLadyExitBagMenu(void)
@@ -2398,7 +2405,7 @@ void PrintTMHMMoveData(u16 itemId)
}
else
{
- ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, STR_CONV_MODE_RIGHT_ALIGN, 3);
text = gStringVar1;
}
BagMenu_Print(4, 1, text, 7, 12, 0, 0, -1, 4);
@@ -2408,11 +2415,11 @@ void PrintTMHMMoveData(u16 itemId)
}
else
{
- ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
text = gStringVar1;
}
BagMenu_Print(4, 1, text, 7, 24, 0, 0, -1, 4);
- ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, STR_CONV_MODE_RIGHT_ALIGN, 3);
BagMenu_Print(4, 1, gStringVar1, 7, 36, 0, 0, -1, 4);
CopyWindowToVram(4, 2);
}
diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c
index 780a50160..cbc038d8c 100644
--- a/src/item_menu_icons.c
+++ b/src/item_menu_icons.c
@@ -32,10 +32,10 @@ static const u16 gCherryUnused_Pal[] = INCBIN_U16("graphics/unused/cherry.gbapal
static const struct OamData sBagOamData =
{
.y = 0,
- .affineMode = 1,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -142,10 +142,10 @@ static const struct SpriteTemplate gBagSpriteTemplate =
static const struct OamData sRotatingBallOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 4,
@@ -213,10 +213,10 @@ static const struct SpriteTemplate gRotatingBallSpriteTemplate =
static const struct OamData sBerryPicOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -230,10 +230,10 @@ static const struct OamData sBerryPicOamData =
static const struct OamData sBerryPicRotatingOamData =
{
.y = 0,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -370,10 +370,10 @@ const struct CompressedSpritePalette gBerryCheckCirclePaletteTable =
static const struct OamData sBerryCheckCircleOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -492,7 +492,7 @@ static void UpdateSwitchPocketRotatingBallCoords(struct Sprite *sprite)
static void SpriteCB_SwitchPocketRotatingBallInit(struct Sprite *sprite)
{
- sprite->oam.affineMode = 1;
+ sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
if (sprite->data[0] == -1)
sprite->affineAnims = sRotatingBallAnimCmds;
else
diff --git a/src/item_use.c b/src/item_use.c
index 2f4374423..b352079cf 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -10,6 +10,7 @@
#include "data.h"
#include "event_data.h"
#include "event_object_movement.h"
+#include "event_scripts.h"
#include "fieldmap.h"
#include "field_effect.h"
#include "field_player_avatar.h"
@@ -43,70 +44,61 @@
#include "constants/vars.h"
#include "event_obj_lock.h"
-extern u8 BerryTree_EventScript_274482[];
-extern u8 BerryTree_EventScript_2744C0[];
-extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[];
-
-void SetUpItemUseCallback(u8 taskId);
-void MapPostLoadHook_UseItem(void);
-void sub_80AF6D4(void);
-void Task_CallItemUseOnFieldCallback(u8 taskId);
-void BagMenu_InitListsMenu(u8 taskId);
-void ItemUseOnFieldCB_Bike(u8 taskId);
-void ItemUseOnFieldCB_Rod(u8 taskId);
-void ItemUseOnFieldCB_Itemfinder(u8 taskId);
-void sub_80FD504(u8 taskId);
-void sub_80FD5CC(u8 taskId);
-void sub_80FDA94(u8 taskId);
-void sub_80FDADC(u8 taskId);
-void sub_80FD7C8(u8 taskId);
-void sub_80FDC00(u8 taskId);
-void sub_80FDD74(u8 taskId);
-void sub_80FDE08(u8 taskId);
-void sub_80FDE7C(u8 taskId);
-void sub_80FDF90(u8 taskId);
-void task08_0809AD8C(u8 taskId);
-void sub_80FE024(u8 taskId);
-void sub_80FE03C(u8 taskId);
-void sub_80FE124(u8 taskId);
-void sub_80FE164(u8 taskId);
-
-void DisplayItemMessage(u8 taskId, u8 a, const u8* str, void(*callback)(u8 taskId));
-void DisplayItemMessageOnField(u8 taskId, const u8* str, void(*callback)(u8 taskId));
-void sub_81C6714(u8 taskId);
-void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId);
-void StartFishing(u8 a);
-bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8);
-u8 sub_80FD9B0(s16 a, s16 b);
-void sub_80FDA24(u8 a);
-void sub_80FD8E0(u8 taskId, s16 x, s16 y);
-void sub_80FDBEC(void);
-bool8 sub_80FDE2C(void);
-void ItemUseOutOfBattle_CannotUse(u8 taskId);
+static void SetUpItemUseCallback(u8 taskId);
+static void FieldCB_UseItemOnField(void);
+static void Task_CallItemUseOnFieldCallback(u8 taskId);
+static void Task_UseItemfinder(u8 taskId);
+static void Task_CloseItemfinderMessage(u8 taskId);
+static void Task_HiddenItemNearby(u8 taskId);
+static void Task_StandingOnHiddenItem(u8 taskId);
+static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8);
+static u8 GetDirectionToHiddenItem(s16 distanceX, s16 distanceY);
+static void PlayerFaceHiddenItem(u8 a);
+static void CheckForHiddenItemsInMapConnection(u8 taskId);
+static void sub_80FDC00(u8 taskId);
+static void ItemUseOnFieldCB_Bike(u8 taskId);
+static void ItemUseOnFieldCB_Rod(u8);
+static void ItemUseOnFieldCB_Itemfinder(u8);
+static void ItemUseOnFieldCB_Berry(u8 taskId);
+static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId);
+static void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId);
+static bool8 TryToWaterSudowoodo(void);
+static void BootUpSoundTMHM(u8 taskId);
+static void Task_ShowTMHMContainedMessage(u8 taskId);
+static void UseTMHMYesNo(u8 taskId);
+static void UseTMHM(u8 taskId);
+static void Task_StartUseRepel(u8 taskId);
+static void Task_UseRepel(u8 taskId);
+static void Task_CloseCantUseKeyItemMessage(u8 taskId);
+static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 x, s16 y);
+static void CB2_OpenPokeblockCaseOnField(void);
// EWRAM variables
-EWRAM_DATA static void(*gUnknown_0203A0F4)(u8 taskId) = NULL;
+EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL;
+
+// Below is set TRUE by UseRegisteredKeyItemOnField
+#define tUsingRegisteredKeyItem data[3]
// .rodata
-static const MainCallback gUnknown_085920D8[] =
+static const MainCallback sItemUseCallbacks[] =
{
- sub_81B617C,
+ CB2_ShowPartyMenuForItemUse,
CB2_ReturnToField,
NULL,
};
-static const u8 gUnknown_085920E4[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
+static const u8 sClockwiseDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
-static const struct YesNoFuncTable gUnknown_085920E8 =
+static const struct YesNoFuncTable sUseTMHMYesNoFuncTable =
{
- .yesFunc = sub_80FE03C,
+ .yesFunc = UseTMHM,
.noFunc = BagMenu_InitListsMenu,
};
// .text
-void SetUpItemUseCallback(u8 taskId)
+static void SetUpItemUseCallback(u8 taskId)
{
u8 type;
if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY)
@@ -115,40 +107,40 @@ void SetUpItemUseCallback(u8 taskId)
type = ItemId_GetType(gSpecialVar_ItemId) - 1;
if (!InBattlePyramid())
{
- gBagMenu->mainCallback2 = gUnknown_085920D8[type];
- unknown_ItemMenu_Confirm(taskId);
+ gBagMenu->mainCallback2 = sItemUseCallbacks[type];
+ Task_FadeAndCloseBagMenu(taskId);
}
else
{
- gPyramidBagResources->callback2 = gUnknown_085920D8[type];
- sub_81C5B14(taskId);
+ gPyramidBagResources->callback2 = sItemUseCallbacks[type];
+ CloseBattlePyramidBagAndSetCallback(taskId);
}
}
-void SetUpItemUseOnFieldCallback(u8 taskId)
+static void SetUpItemUseOnFieldCallback(u8 taskId)
{
- if (gTasks[taskId].data[3] != 1)
+ if (gTasks[taskId].tUsingRegisteredKeyItem != TRUE)
{
- gFieldCallback = MapPostLoadHook_UseItem;
+ gFieldCallback = FieldCB_UseItemOnField;
SetUpItemUseCallback(taskId);
}
else
- gUnknown_0203A0F4(taskId);
+ sItemUseOnFieldCB(taskId);
}
-void MapPostLoadHook_UseItem(void)
+static void FieldCB_UseItemOnField(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_CallItemUseOnFieldCallback, 8);
}
-void Task_CallItemUseOnFieldCallback(u8 taskId)
+static void Task_CallItemUseOnFieldCallback(u8 taskId)
{
if (IsWeatherNotFadingIn() == 1)
- gUnknown_0203A0F4(taskId);
+ sItemUseOnFieldCB(taskId);
}
-void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str)
+static void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str)
{
StringExpandPlaceholders(gStringVar4, str);
if (!isUsingRegisteredKeyItemOnField)
@@ -156,23 +148,23 @@ void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnFiel
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
else
- DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714);
+ DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage);
}
else
- DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField);
+ DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage);
}
-void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField)
+static void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField)
{
DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_DadsAdvice);
}
-void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField)
+static void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField)
{
DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_CantDismountBike);
}
-void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId)
+static void Task_CloseCantUseKeyItemMessage(u8 taskId)
{
ClearDialogWindowAndFrame(0, 1);
DestroyTask(taskId);
@@ -190,17 +182,18 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
return 0;
}
-void sub_80FD254(void)
+// Mail in the bag menu can't have a message but it can be checked (view the mail background, no message)
+static void CB2_CheckMail(void)
{
struct MailStruct mail;
mail.itemId = gSpecialVar_ItemId;
- ReadMail(&mail, bag_menu_mail_related, 0);
+ ReadMail(&mail, CB2_ReturnToBagMenuPocket, 0);
}
void ItemUseOutOfBattle_Mail(u8 taskId)
{
- gBagMenu->mainCallback2 = sub_80FD254;
- unknown_ItemMenu_Confirm(taskId);
+ gBagMenu->mainCallback2 = CB2_CheckMail;
+ Task_FadeAndCloseBagMenu(taskId);
}
void ItemUseOutOfBattle_Bike(u8 taskId)
@@ -212,20 +205,20 @@ void ItemUseOutOfBattle_Bike(u8 taskId)
PlayerGetDestCoords(&coordsX, &coordsY);
behavior = MapGridGetMetatileBehaviorAt(coordsX, coordsY);
if (FlagGet(FLAG_SYS_CYCLING_ROAD) == TRUE || MetatileBehavior_IsVerticalRail(behavior) == TRUE || MetatileBehavior_IsHorizontalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedVerticalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedHorizontalRail(behavior) == TRUE)
- DisplayCannotDismountBikeMessage(taskId, data[3]);
+ DisplayCannotDismountBikeMessage(taskId, tUsingRegisteredKeyItem);
else
{
if (Overworld_IsBikingAllowed() == TRUE && IsBikingDisallowedByPlayer() == 0)
{
- gUnknown_0203A0F4 = ItemUseOnFieldCB_Bike;
+ sItemUseOnFieldCB = ItemUseOnFieldCB_Bike;
SetUpItemUseOnFieldCallback(taskId);
}
else
- DisplayDadsAdviceCannotUseItemMessage(taskId, data[3]);
+ DisplayDadsAdviceCannotUseItemMessage(taskId, tUsingRegisteredKeyItem);
}
}
-void ItemUseOnFieldCB_Bike(u8 taskId)
+static void ItemUseOnFieldCB_Bike(u8 taskId)
{
if (!ItemId_GetSecondaryId(gSpecialVar_ItemId))
GetOnOffBike(2);
@@ -236,7 +229,7 @@ void ItemUseOnFieldCB_Bike(u8 taskId)
DestroyTask(taskId);
}
-bool32 CanFish(void)
+static bool32 CanFish(void)
{
s16 x, y;
u16 tileBehavior;
@@ -270,14 +263,14 @@ void ItemUseOutOfBattle_Rod(u8 taskId)
{
if (CanFish() == TRUE)
{
- gUnknown_0203A0F4 = ItemUseOnFieldCB_Rod;
+ sItemUseOnFieldCB = ItemUseOnFieldCB_Rod;
SetUpItemUseOnFieldCallback(taskId);
}
else
- DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]);
+ DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem);
}
-void ItemUseOnFieldCB_Rod(u8 taskId)
+static void ItemUseOnFieldCB_Rod(u8 taskId)
{
StartFishing(ItemId_GetSecondaryId(gSpecialVar_ItemId));
DestroyTask(taskId);
@@ -285,56 +278,65 @@ void ItemUseOnFieldCB_Rod(u8 taskId)
void ItemUseOutOfBattle_Itemfinder(u8 var)
{
- IncrementGameStat(0x27);
- gUnknown_0203A0F4 = ItemUseOnFieldCB_Itemfinder;
+ IncrementGameStat(GAME_STAT_USED_ITEMFINDER);
+ sItemUseOnFieldCB = ItemUseOnFieldCB_Itemfinder;
SetUpItemUseOnFieldCallback(var);
}
-void ItemUseOnFieldCB_Itemfinder(u8 taskId)
+static void ItemUseOnFieldCB_Itemfinder(u8 taskId)
{
if (ItemfinderCheckForHiddenItems(gMapHeader.events, taskId) == TRUE)
- gTasks[taskId].func = sub_80FD504;
+ gTasks[taskId].func = Task_UseItemfinder;
else
- DisplayItemMessageOnField(taskId, gText_ItemFinderNothing, sub_80FD5CC);
+ DisplayItemMessageOnField(taskId, gText_ItemFinderNothing, Task_CloseItemfinderMessage);
}
-void sub_80FD504(u8 taskId)
+// Define itemfinder task data
+#define tItemDistanceX data[0]
+#define tItemDistanceY data[1]
+#define tItemFound data[2]
+#define tCounter data[3] // Used to count delay between beeps and rotations during player spin
+#define tItemfinderBeeps data[4]
+#define tFacingDir data[5]
+
+static void Task_UseItemfinder(u8 taskId)
{
u8 playerDir;
u8 playerDirToItem;
u8 i;
s16* data = gTasks[taskId].data;
- if (!data[3])
+ if (tCounter == 0)
{
- if (data[4] == 4)
+ if (tItemfinderBeeps == 4)
{
- playerDirToItem = sub_80FD9B0(data[0], data[1]);
- if (playerDirToItem)
+ playerDirToItem = GetDirectionToHiddenItem(tItemDistanceX, tItemDistanceY);
+ if (playerDirToItem != DIR_NONE)
{
- sub_80FDA24(gUnknown_085920E4[playerDirToItem - 1]);
- gTasks[taskId].func = sub_80FDA94;
+ PlayerFaceHiddenItem(sClockwiseDirections[playerDirToItem - 1]);
+ gTasks[taskId].func = Task_HiddenItemNearby;
}
else
{
+ // Player is standing on hidden item
playerDir = GetPlayerFacingDirection();
- for (i = 0; i < 4; i++)
+ for (i = 0; i < ARRAY_COUNT(sClockwiseDirections); i++)
{
- if (playerDir == gUnknown_085920E4[i])
- data[5] = (i + 1) & 3;
+ if (playerDir == sClockwiseDirections[i])
+ tFacingDir = (i + 1) & 3;
}
- gTasks[taskId].func = sub_80FDADC;
- data[3] = 0;
- data[2] = 0;
+ gTasks[taskId].func = Task_StandingOnHiddenItem;
+ tCounter = 0;
+ tItemFound = 0;
}
return;
}
PlaySE(SE_DAUGI);
- data[4]++;
+ tItemfinderBeeps++;
}
- data[3] = (data[3] + 1) & 0x1F;
+ tCounter = (tCounter + 1) & 0x1F;
}
-void sub_80FD5CC(u8 taskId)
+static void Task_CloseItemfinderMessage(u8 taskId)
{
ClearDialogWindowAndFrame(0, 1);
ScriptUnfreezeEventObjects();
@@ -342,34 +344,36 @@ void sub_80FD5CC(u8 taskId)
DestroyTask(taskId);
}
-bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId)
+static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId)
{
- int distanceX, distanceY;
- s16 x, y, i, newDistanceX, newDistanceY;
- PlayerGetDestCoords(&x, &y);
- gTasks[taskId].data[2] = FALSE;
+ int itemX, itemY;
+ s16 playerX, playerY, i, distanceX, distanceY;
+ PlayerGetDestCoords(&playerX, &playerY);
+ gTasks[taskId].tItemFound = FALSE;
+
for (i = 0; i < events->bgEventCount; i++)
{
- if (events->bgEvents[i].kind == BG_EVENT_HIDDEN_ITEM && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4))
+ // Check if there are any hidden items on the current map that haven't been picked up
+ if (events->bgEvents[i].kind == BG_EVENT_HIDDEN_ITEM && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + FLAG_HIDDEN_ITEMS_START))
{
- distanceX = (u16)events->bgEvents[i].x + 7;
- newDistanceX = distanceX - x;
- distanceY = (u16)events->bgEvents[i].y + 7;
- newDistanceY = distanceY - y;
+ itemX = (u16)events->bgEvents[i].x + 7;
+ distanceX = itemX - playerX;
+ itemY = (u16)events->bgEvents[i].y + 7;
+ distanceY = itemY - playerY;
- if ((u16)(newDistanceX + 7) < 15 && (newDistanceY >= -5) && (newDistanceY < 6))
- sub_80FD8E0(taskId, newDistanceX, newDistanceY);
+ if ((u16)(distanceX + 7) < 15 && (distanceY >= -5) && (distanceY < 6))
+ SetDistanceOfClosestHiddenItem(taskId, distanceX, distanceY);
}
}
- sub_80FD7C8(taskId);
- if (gTasks[taskId].data[2] == TRUE)
+ CheckForHiddenItemsInMapConnection(taskId);
+ if (gTasks[taskId].tItemFound == TRUE)
return TRUE;
else
return FALSE;
}
-bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y)
+static bool8 IsHiddenItemPresentAtCoords(const struct MapEvents *events, s16 x, s16 y)
{
u8 bgEventCount = events->bgEventCount;
struct BgEvent *bgEvent = events->bgEvents;
@@ -379,7 +383,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y)
{
if (bgEvent[i].kind == BG_EVENT_HIDDEN_ITEM && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed?
{
- if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4))
+ if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + FLAG_HIDDEN_ITEMS_START))
return TRUE;
else
return FALSE;
@@ -388,7 +392,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y)
return FALSE;
}
-bool8 sub_80FD730(struct MapConnection *connection, int x, int y)
+static bool8 IsHiddenItemPresentInConnection(struct MapConnection *connection, int x, int y)
{
u16 localX, localY;
@@ -399,7 +403,7 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y)
switch (connection->direction)
{
- // same weird temp variable behavior seen in sub_80FD6D4
+ // same weird temp variable behavior seen in IsHiddenItemPresentAtCoords
case 2:
localOffset = connection->offset + 7;
localX = x - localOffset;
@@ -427,136 +431,145 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y)
default:
return FALSE;
}
- return sub_80FD6D4(mapHeader->events, localX, localY);
+ return IsHiddenItemPresentAtCoords(mapHeader->events, localX, localY);
}
-void sub_80FD7C8(u8 taskId)
+static void CheckForHiddenItemsInMapConnection(u8 taskId)
{
+ s16 playerX, playerY;
s16 x, y;
- s16 curX, curY;
s16 width = gMapHeader.mapLayout->width + 7;
s16 height = gMapHeader.mapLayout->height + 7;
s16 var1 = 7;
s16 var2 = 7;
- PlayerGetDestCoords(&x, &y);
+ PlayerGetDestCoords(&playerX, &playerY);
- for (curX = x - 7; curX <= x + 7; curX++)
+ for (x = playerX - 7; x <= playerX + 7; x++)
{
- for (curY = y - 5; curY <= y + 5; curY++)
+ for (y = playerY - 5; y <= playerY + 5; y++)
{
- if (var1 > curX
- || curX >= width
- || var2 > curY
- || curY >= height)
+ if (var1 > x
+ || x >= width
+ || var2 > y
+ || y >= height)
{
- struct MapConnection *conn = sub_8088A8C(curX, curY);
- if (conn && sub_80FD730(conn, curX, curY) == TRUE)
- sub_80FD8E0(taskId, curX - x, curY - y);
+ struct MapConnection *conn = GetConnectionAtCoords(x, y);
+ if (conn && IsHiddenItemPresentInConnection(conn, x, y) == TRUE)
+ SetDistanceOfClosestHiddenItem(taskId, x - playerX, y - playerY);
}
}
}
}
-void sub_80FD8E0(u8 taskId, s16 x, s16 y)
+static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 itemDistanceX, s16 itemDistanceY)
{
s16 *data = gTasks[taskId].data;
- s16 var1, var2, var3, var4;
+ s16 oldItemAbsX, oldItemAbsY, newItemAbsX, newItemAbsY;
- if (data[2] == FALSE)
+ if (tItemFound == FALSE)
{
- data[0] = x;
- data[1] = y;
- data[2] = TRUE;
+ // No other items found yet, set this one
+ tItemDistanceX = itemDistanceX;
+ tItemDistanceY = itemDistanceY;
+ tItemFound = TRUE;
}
else
{
- // data[0] and data[1] contain the player's coordinates.
- // x and y contain the item's coordinates.
- if (data[0] < 0)
- var1 = data[0] * -1; // item is to the left
+ // Other items have been found, check if this one is closer
+
+ // Get absolute x distance of the already-found item
+ if (tItemDistanceX < 0)
+ oldItemAbsX = tItemDistanceX * -1; // WEST
else
- var1 = data[0]; // item is to the right
+ oldItemAbsX = tItemDistanceX; // EAST
- if (data[1] < 0)
- var2 = data[1] * -1; // item is to the north
+ // Get absolute y distance of the already-found item
+ if (tItemDistanceY < 0)
+ oldItemAbsY = tItemDistanceY * -1; // NORTH
else
- var2 = data[1]; // item is to the south
+ oldItemAbsY = tItemDistanceY; // SOUTH
- if (x < 0)
- var3 = x * -1;
+ // Get absolute x distance of the newly-found item
+ if (itemDistanceX < 0)
+ newItemAbsX = itemDistanceX * -1;
else
- var3 = x;
+ newItemAbsX = itemDistanceX;
- if (y < 0)
- var4 = y * -1;
+ // Get absolute y distance of the newly-found item
+ if (itemDistanceY < 0)
+ newItemAbsY = itemDistanceY * -1;
else
- var4 = y;
+ newItemAbsY = itemDistanceY;
- if (var1 + var2 > var3 + var4)
+
+ if (oldItemAbsX + oldItemAbsY > newItemAbsX + newItemAbsY)
{
- data[0] = x;
- data[1] = y;
+ // New item is closer
+ tItemDistanceX = itemDistanceX;
+ tItemDistanceY = itemDistanceY;
}
else
{
- if (var1 + var2 == var3 + var4 && (var2 > var4 || (var2 == var4 && data[1] < y)))
+ if (oldItemAbsX + oldItemAbsY == newItemAbsX + newItemAbsY
+ && (oldItemAbsY > newItemAbsY || (oldItemAbsY == newItemAbsY && tItemDistanceY < itemDistanceY)))
{
- data[0] = x;
- data[1] = y;
+ // If items are equal distance, use whichever is closer on the Y axis or further south
+ tItemDistanceX = itemDistanceX;
+ tItemDistanceY = itemDistanceY;
}
}
}
}
-u8 sub_80FD9B0(s16 itemX, s16 itemY)
+static u8 GetDirectionToHiddenItem(s16 itemDistanceX, s16 itemDistanceY)
{
- s16 abX, abY;
+ s16 absX, absY;
- if (itemX == 0 && itemY == 0)
+ if (itemDistanceX == 0 && itemDistanceY == 0)
return DIR_NONE; // player is standing on the item.
- // get absolute X distance.
- if (itemX < 0)
- abX = itemX * -1;
+ // Get absolute X distance.
+ if (itemDistanceX < 0)
+ absX = itemDistanceX * -1;
else
- abX = itemX;
+ absX = itemDistanceX;
- // get absolute Y distance.
- if (itemY < 0)
- abY = itemY * -1;
+ // Get absolute Y distance.
+ if (itemDistanceY < 0)
+ absY = itemDistanceY * -1;
else
- abY = itemY;
+ absY = itemDistanceY;
- if (abX > abY)
+ if (absX > absY)
{
- if (itemX < 0)
+ if (itemDistanceX < 0)
return DIR_EAST;
else
return DIR_NORTH;
}
else
{
- if (abX < abY)
+ if (absX < absY)
{
- if (itemY < 0)
+ if (itemDistanceY < 0)
return DIR_SOUTH;
else
return DIR_WEST;
}
- if (abX == abY)
+ if (absX == absY)
{
- if (itemY < 0)
+ if (itemDistanceY < 0)
return DIR_SOUTH;
else
return DIR_WEST;
}
- return DIR_NONE; // should never get here. return something so it doesnt crash.
+ return DIR_NONE; // Unreachable
}
}
-void sub_80FDA24(u8 direction)
+static void PlayerFaceHiddenItem(u8 direction)
{
EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]);
EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]);
@@ -564,101 +577,110 @@ void sub_80FDA24(u8 direction)
PlayerTurnInPlace(direction);
}
-void sub_80FDA94(u8 taskId)
+static void Task_HiddenItemNearby(u8 taskId)
{
if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE)
- DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC);
+ DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, Task_CloseItemfinderMessage);
}
-void sub_80FDADC(u8 taskId)
+static void Task_StandingOnHiddenItem(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE
- || data[2] == FALSE)
+ || tItemFound == FALSE)
{
- sub_80FDA24(gUnknown_085920E4[data[5]]);
- data[2] = 1;
- data[5] = (data[5] + 1) & 3;
- data[3]++;
-
- if (data[3] == 4)
- DisplayItemMessageOnField(taskId, gText_ItemFinderOnTop, sub_80FD5CC);
+ // Spin player around on item
+ PlayerFaceHiddenItem(sClockwiseDirections[tFacingDir]);
+ tItemFound = TRUE;
+ tFacingDir = (tFacingDir + 1) & 3;
+ tCounter++;
+
+ if (tCounter == 4)
+ DisplayItemMessageOnField(taskId, gText_ItemFinderOnTop, Task_CloseItemfinderMessage);
}
}
+// Undefine itemfinder task data
+#undef tItemDistanceX
+#undef tItemDistanceY
+#undef tItemFound
+#undef tCounter
+#undef tItemfinderBeeps
+#undef tFacingDir
+
void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
{
- if (sub_81221AC() == TRUE)
+ if (sub_81221AC() == TRUE) // link func
{
- DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]);
+ DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem);
}
- else if (gTasks[taskId].data[3] != TRUE)
+ else if (gTasks[taskId].tUsingRegisteredKeyItem != TRUE)
{
- gBagMenu->mainCallback2 = sub_80FDBEC;
- unknown_ItemMenu_Confirm(taskId);
+ gBagMenu->mainCallback2 = CB2_OpenPokeblockCaseOnField;
+ Task_FadeAndCloseBagMenu(taskId);
}
else
{
gFieldCallback = sub_80AF6D4;
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].func = sub_80FDC00;
}
}
-void sub_80FDBEC(void)
+static void CB2_OpenPokeblockCaseOnField(void)
{
- OpenPokeblockCase(0, bag_menu_mail_related);
+ OpenPokeblockCase(PBLOCK_CASE_FIELD, CB2_ReturnToBagMenuPocket);
}
-void sub_80FDC00(u8 taskId)
+static void sub_80FDC00(u8 taskId)
{
if (!gPaletteFade.active)
{
CleanupOverworldWindowsAndTilemaps();
- OpenPokeblockCase(0, CB2_ReturnToField);
+ OpenPokeblockCase(PBLOCK_CASE_FIELD, CB2_ReturnToField);
DestroyTask(taskId);
}
}
void ItemUseOutOfBattle_CoinCase(u8 taskId)
{
- ConvertIntToDecimalStringN(gStringVar1, GetCoins(), 0, 4);
+ ConvertIntToDecimalStringN(gStringVar1, GetCoins(), STR_CONV_MODE_LEFT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gText_CoinCase);
- if (!gTasks[taskId].data[3])
+ if (!gTasks[taskId].tUsingRegisteredKeyItem)
{
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
}
else
{
- DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField);
+ DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage);
}
}
void ItemUseOutOfBattle_PowderJar(u8 taskId)
{
- ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), 0, 5);
+ ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 5);
StringExpandPlaceholders(gStringVar4, gText_PowderQty);
- if (!gTasks[taskId].data[3])
+ if (!gTasks[taskId].tUsingRegisteredKeyItem)
{
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
}
else
{
- DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField);
+ DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage);
}
}
-void sub_80FDD10(u8 taskId)
+void ItemUseOutOfBattle_Berry(u8 taskId)
{
if (IsPlayerFacingEmptyBerryTreePatch() == TRUE)
{
- gUnknown_0203A0F4 = sub_80FDD74;
- gFieldCallback = MapPostLoadHook_UseItem;
+ sItemUseOnFieldCB = ItemUseOnFieldCB_Berry;
+ gFieldCallback = FieldCB_UseItemOnField;
gBagMenu->mainCallback2 = CB2_ReturnToField;
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
}
else
{
@@ -666,40 +688,40 @@ void sub_80FDD10(u8 taskId)
}
}
-void sub_80FDD74(u8 taskId)
+static void ItemUseOnFieldCB_Berry(u8 taskId)
{
RemoveBagItem(gSpecialVar_ItemId, 1);
ScriptContext2_Enable();
- ScriptContext1_SetupScript(BerryTree_EventScript_274482);
+ ScriptContext1_SetupScript(BerryTree_EventScript_ItemUsePlantBerry);
DestroyTask(taskId);
}
void ItemUseOutOfBattle_WailmerPail(u8 taskId)
{
- if (sub_80FDE2C() == TRUE)
+ if (TryToWaterSudowoodo() == TRUE)
{
- gUnknown_0203A0F4 = sub_80FDE7C;
+ sItemUseOnFieldCB = ItemUseOnFieldCB_WailmerPailSudowoodo;
SetUpItemUseOnFieldCallback(taskId);
}
else if (TryToWaterBerryTree() == TRUE)
{
- gUnknown_0203A0F4 = sub_80FDE08;
+ sItemUseOnFieldCB = ItemUseOnFieldCB_WailmerPailBerry;
SetUpItemUseOnFieldCallback(taskId);
}
else
{
- DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]);
+ DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem);
}
}
-void sub_80FDE08(u8 taskId)
+static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId)
{
ScriptContext2_Enable();
- ScriptContext1_SetupScript(BerryTree_EventScript_2744C0);
+ ScriptContext1_SetupScript(BerryTree_EventScript_ItemUseWailmerPail);
DestroyTask(taskId);
}
-bool8 sub_80FDE2C(void)
+static bool8 TryToWaterSudowoodo(void)
{
u16 x, y;
u8 z;
@@ -707,98 +729,98 @@ bool8 sub_80FDE2C(void)
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
z = PlayerGetZCoord();
objId = GetEventObjectIdByXYZ(x, y, z);
- if (objId == 16 || gEventObjects[objId].graphicsId != 0xE4)
+ if (objId == EVENT_OBJECTS_COUNT || gEventObjects[objId].graphicsId != EVENT_OBJ_GFX_SUDOWOODO)
return FALSE;
else
return TRUE;
}
-void sub_80FDE7C(u8 taskId)
+static void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId)
{
ScriptContext2_Enable();
- ScriptContext1_SetupScript(BattleFrontier_OutsideEast_EventScript_242CFC);
+ ScriptContext1_SetupScript(BattleFrontier_OutsideEast_EventScript_WaterSudowoodo);
DestroyTask(taskId);
}
void ItemUseOutOfBattle_Medicine(u8 taskId)
{
- gUnknown_03006328 = ItemUseCB_Medicine;
+ gItemUseCB = ItemUseCB_Medicine;
SetUpItemUseCallback(taskId);
}
void ItemUseOutOfBattle_ReduceEV(u8 taskId)
{
- gUnknown_03006328 = sub_81B67C8;
+ gItemUseCB = ItemUseCB_ReduceEV;
SetUpItemUseCallback(taskId);
}
void ItemUseOutOfBattle_SacredAsh(u8 taskId)
{
- gUnknown_03006328 = sub_81B79E8;
+ gItemUseCB = ItemUseCB_SacredAsh;
SetUpItemUseCallback(taskId);
}
void ItemUseOutOfBattle_PPRecovery(u8 taskId)
{
- gUnknown_03006328 = dp05_ether;
+ gItemUseCB = ItemUseCB_PPRecovery;
SetUpItemUseCallback(taskId);
}
void ItemUseOutOfBattle_PPUp(u8 taskId)
{
- gUnknown_03006328 = dp05_pp_up;
+ gItemUseCB = ItemUseCB_PPUp;
SetUpItemUseCallback(taskId);
}
void ItemUseOutOfBattle_RareCandy(u8 taskId)
{
- gUnknown_03006328 = dp05_rare_candy;
+ gItemUseCB = ItemUseCB_RareCandy;
SetUpItemUseCallback(taskId);
}
void ItemUseOutOfBattle_TMHM(u8 taskId)
{
if (gSpecialVar_ItemId >= ITEM_HM01_CUT)
- DisplayItemMessage(taskId, 1, gText_BootedUpHM, sub_80FDF90); // HM
+ DisplayItemMessage(taskId, 1, gText_BootedUpHM, BootUpSoundTMHM); // HM
else
- DisplayItemMessage(taskId, 1, gText_BootedUpTM, sub_80FDF90); // TM
+ DisplayItemMessage(taskId, 1, gText_BootedUpTM, BootUpSoundTMHM); // TM
}
-void sub_80FDF90(u8 taskId)
+static void BootUpSoundTMHM(u8 taskId)
{
PlaySE(SE_PC_LOGIN);
- gTasks[taskId].func = task08_0809AD8C;
+ gTasks[taskId].func = Task_ShowTMHMContainedMessage;
}
-void task08_0809AD8C(u8 taskId)
+static void Task_ShowTMHMContainedMessage(u8 taskId)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
StringCopy(gStringVar1, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_ItemId)]);
StringExpandPlaceholders(gStringVar4, gText_TMHMContainedVar1);
- DisplayItemMessage(taskId, 1, gStringVar4, sub_80FE024);
+ DisplayItemMessage(taskId, 1, gStringVar4, UseTMHMYesNo);
}
}
-void sub_80FE024(u8 taskId)
+static void UseTMHMYesNo(u8 taskId)
{
- BagMenu_YesNo(taskId, 6, &gUnknown_085920E8);
+ BagMenu_YesNo(taskId, 6, &sUseTMHMYesNoFuncTable);
}
-void sub_80FE03C(u8 taskId)
+static void UseTMHM(u8 taskId)
{
- gUnknown_03006328 = sub_81B6DC4;
+ gItemUseCB = ItemUseCB_TMHM;
SetUpItemUseCallback(taskId);
}
-void sub_80FE058(void)
+static void RemoveUsedItem(void)
{
RemoveBagItem(gSpecialVar_ItemId, 1);
CopyItemName(gSpecialVar_ItemId, gStringVar2);
StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2);
if (!InBattlePyramid())
{
- sub_81AB9A8(ItemId_GetPocket(gSpecialVar_ItemId));
+ UpdatePocketItemList(ItemId_GetPocket(gSpecialVar_ItemId));
SetInitialScrollAndCursorPositions(ItemId_GetPocket(gSpecialVar_ItemId));
}
else
@@ -811,14 +833,14 @@ void sub_80FE058(void)
void ItemUseOutOfBattle_Repel(u8 taskId)
{
if (VarGet(VAR_REPEL_STEP_COUNT) == 0)
- gTasks[taskId].func = sub_80FE124;
+ gTasks[taskId].func = Task_StartUseRepel;
else if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gText_RepelEffectsLingered, BagMenu_InitListsMenu);
else
- DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, sub_81C6714);
+ DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, Task_CloseBattlePyramidBagMessage);
}
-void sub_80FE124(u8 taskId)
+static void Task_StartUseRepel(u8 taskId)
{
s16* data = gTasks[taskId].data;
@@ -826,24 +848,24 @@ void sub_80FE124(u8 taskId)
{
data[8] = 0;
PlaySE(SE_TU_SAA);
- gTasks[taskId].func = sub_80FE164;
+ gTasks[taskId].func = Task_UseRepel;
}
}
-void sub_80FE164(u8 taskId)
+static void Task_UseRepel(u8 taskId)
{
if (!IsSEPlaying())
{
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId));
- sub_80FE058();
+ RemoveUsedItem();
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
else
- DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714);
+ DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage);
}
}
-void sub_80FE1D0(u8 taskId)
+static void Task_UsedBlackWhiteFlute(u8 taskId)
{
if(++gTasks[taskId].data[8] > 7)
{
@@ -851,7 +873,7 @@ void sub_80FE1D0(u8 taskId)
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu);
else
- DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714);
+ DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage);
}
}
@@ -871,27 +893,27 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId)
StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildRepelled);
}
gTasks[taskId].data[8] = 0;
- gTasks[taskId].func = sub_80FE1D0;
+ gTasks[taskId].func = Task_UsedBlackWhiteFlute;
}
-void task08_080A1C44(u8 taskId)
+void Task_UseDigEscapeRopeOnField(u8 taskId)
{
ResetInitialPlayerAvatarState();
StartEscapeRopeFieldEffect();
DestroyTask(taskId);
}
-void re_escape_rope(u8 taskId)
+static void ItemUseOnFieldCB_EscapeRope(u8 taskId)
{
Overworld_ResetStateAfterDigEscRope();
- sub_80FE058();
+ RemoveUsedItem();
gTasks[taskId].data[0] = 0;
- DisplayItemMessageOnField(taskId, gStringVar4, task08_080A1C44);
+ DisplayItemMessageOnField(taskId, gStringVar4, Task_UseDigEscapeRopeOnField);
}
bool8 CanUseEscapeRopeOnCurrMap(void)
{
- if (gMapHeader.flags & 2)
+ if (gMapHeader.flags & MAP_ALLOW_ESCAPE_ROPE)
return TRUE;
else
return FALSE;
@@ -901,18 +923,18 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId)
{
if (CanUseEscapeRopeOnCurrMap() == TRUE)
{
- gUnknown_0203A0F4 = re_escape_rope;
+ sItemUseOnFieldCB = ItemUseOnFieldCB_EscapeRope;
SetUpItemUseOnFieldCallback(taskId);
}
else
{
- DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]);
+ DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem);
}
}
void ItemUseOutOfBattle_EvolutionStone(u8 taskId)
{
- gUnknown_03006328 = sub_81B7C74;
+ gItemUseCB = ItemUseCB_EvolutionStone;
SetUpItemUseCallback(taskId);
}
@@ -922,42 +944,43 @@ void ItemUseInBattle_PokeBall(u8 taskId)
{
RemoveBagItem(gSpecialVar_ItemId, 1);
if (!InBattlePyramid())
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
else
- sub_81C5B14(taskId);
+ CloseBattlePyramidBagAndSetCallback(taskId);
}
else if (!InBattlePyramid())
{
DisplayItemMessage(taskId, 1, gText_BoxFull, BagMenu_InitListsMenu);
}
else
- DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, sub_81C6714);
+ DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, Task_CloseBattlePyramidBagMessage);
}
-void sub_80FE408(u8 taskId)
+static void Task_CloseStatIncreaseMessage(u8 taskId)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
if (!InBattlePyramid())
- unknown_ItemMenu_Confirm(taskId);
+ Task_FadeAndCloseBagMenu(taskId);
else
- sub_81C5B14(taskId);
+ CloseBattlePyramidBagAndSetCallback(taskId);
}
}
-void sub_80FE440(u8 taskId)
+static void Task_UseStatIncreaseItem(u8 taskId)
{
if(++gTasks[taskId].data[8] > 7)
{
PlaySE(SE_KAIFUKU);
RemoveBagItem(gSpecialVar_ItemId, 1);
if (!InBattlePyramid())
- DisplayItemMessage(taskId, 1, sub_806CF78(gSpecialVar_ItemId), sub_80FE408);
+ DisplayItemMessage(taskId, 1, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage);
else
- DisplayItemMessageInBattlePyramid(taskId, sub_806CF78(gSpecialVar_ItemId), sub_80FE408);
+ DisplayItemMessageInBattlePyramid(taskId, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage);
}
}
+// e.g. X Attack, Guard Spec
void ItemUseInBattle_StatIncrease(u8 taskId)
{
u16 partyId = gBattlerPartyIndexes[gBattlerInMenuId];
@@ -967,61 +990,63 @@ void ItemUseInBattle_StatIncrease(u8 taskId)
if (!InBattlePyramid())
DisplayItemMessage(taskId, 1, gText_WontHaveEffect, BagMenu_InitListsMenu);
else
- DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, sub_81C6714);
+ DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, Task_CloseBattlePyramidBagMessage);
}
else
{
- gTasks[taskId].func = sub_80FE440;
+ gTasks[taskId].func = Task_UseStatIncreaseItem;
gTasks[taskId].data[8] = 0;
}
}
-void sub_80FE54C(u8 taskId)
+static void ItemUseInBattle_ShowPartyMenu(u8 taskId)
{
if (!InBattlePyramid())
{
- gBagMenu->mainCallback2 = sub_81B89F0;
- unknown_ItemMenu_Confirm(taskId);
+ gBagMenu->mainCallback2 = ChooseMonForInBattleItem;
+ Task_FadeAndCloseBagMenu(taskId);
}
else
{
- gPyramidBagResources->callback2 = sub_81B89F0;
- sub_81C5B14(taskId);
+ gPyramidBagResources->callback2 = ChooseMonForInBattleItem;
+ CloseBattlePyramidBagAndSetCallback(taskId);
}
}
void ItemUseInBattle_Medicine(u8 taskId)
{
- gUnknown_03006328 = ItemUseCB_Medicine;
- sub_80FE54C(taskId);
+ gItemUseCB = ItemUseCB_Medicine;
+ ItemUseInBattle_ShowPartyMenu(taskId);
}
-void sub_80FE5AC(u8 taskId)
+// Unused. Sacred Ash cannot be used in battle
+void ItemUseInBattle_SacredAsh(u8 taskId)
{
- gUnknown_03006328 = sub_81B79E8;
- sub_80FE54C(taskId);
+ gItemUseCB = ItemUseCB_SacredAsh;
+ ItemUseInBattle_ShowPartyMenu(taskId);
}
void ItemUseInBattle_PPRecovery(u8 taskId)
{
- gUnknown_03006328 = dp05_ether;
- sub_80FE54C(taskId);
+ gItemUseCB = ItemUseCB_PPRecovery;
+ ItemUseInBattle_ShowPartyMenu(taskId);
}
+// Fluffy Tail / Poke Doll
void ItemUseInBattle_Escape(u8 taskId)
{
if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE)
{
- sub_80FE058();
+ RemoveUsedItem();
if (!InBattlePyramid())
- DisplayItemMessage(taskId, 1, gStringVar4, unknown_ItemMenu_Confirm);
+ DisplayItemMessage(taskId, 1, gStringVar4, Task_FadeAndCloseBagMenu);
else
- DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C5B14);
+ DisplayItemMessageInBattlePyramid(taskId, gStringVar4, CloseBattlePyramidBagAndSetCallback);
}
else
{
- DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]);
+ DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem);
}
}
@@ -1098,5 +1123,7 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId)
void ItemUseOutOfBattle_CannotUse(u8 taskId)
{
- DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]);
+ DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem);
}
+
+#undef tUsingRegisteredKeyItem
diff --git a/src/libagbsyscall.s b/src/libagbsyscall.s
deleted file mode 100644
index d5639f689..000000000
--- a/src/libagbsyscall.s
+++ /dev/null
@@ -1,116 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ArcTan2
-ArcTan2: @ 82E7078
- swi 0xA
- bx lr
- thumb_func_end ArcTan2
-
- thumb_func_start BgAffineSet
-@ void BgAffineSet(BgAffineSet_src_data *src, BgAffineSet_dest_data *dest, int entry_count)
-BgAffineSet: @ 82E707C
- swi 0xE
- bx lr
- thumb_func_end BgAffineSet
-
- thumb_func_start CpuFastSet
-@ void CpuFastSet(void *src, void *dest, unsigned int mode)
-CpuFastSet: @ 82E7080
- swi 0xC
- bx lr
- thumb_func_end CpuFastSet
-
- thumb_func_start CpuSet
-@ void CpuSet(void *src, void *dest, unsigned int mode)
-CpuSet: @ 82E7084
- swi 0xB
- bx lr
- thumb_func_end CpuSet
-
- thumb_func_start Div
-Div: @ 82E7088
- swi 0x6
- bx lr
- thumb_func_end Div
-
- thumb_func_start LZ77UnCompVram
-@ void LZ77UnCompVram(void *src, void *dest)
-LZ77UnCompVram: @ 82E708C
- swi 0x12
- bx lr
- thumb_func_end LZ77UnCompVram
-
- thumb_func_start LZ77UnCompWram
-@ void LZ77UnCompWram(void *src, void *dest)
-LZ77UnCompWram: @ 82E7090
- swi 0x11
- bx lr
- thumb_func_end LZ77UnCompWram
-
- thumb_func_start MultiBoot
-@ s32 MultiBoot(struct MultiBootParam *mp)
-MultiBoot: @ 82E7094
- movs r1, 0x1
- swi 0x25
- bx lr
- thumb_func_end MultiBoot
-
- thumb_func_start ObjAffineSet
-ObjAffineSet: @ 82E709C
- swi 0xF
- bx lr
- thumb_func_end ObjAffineSet
-
- thumb_func_start RLUnCompVram
-RLUnCompVram: @ 82E70A0
- swi 0x15
- bx lr
- thumb_func_end RLUnCompVram
-
- thumb_func_start RLUnCompWram
-RLUnCompWram: @ 82E70A4
- swi 0x14
- bx lr
- thumb_func_end RLUnCompWram
-
- thumb_func_start RegisterRamReset
-@ void RegisterRamReset(int ResetFlags)
-RegisterRamReset: @ 82E70A8
- swi 0x1
- bx lr
- thumb_func_end RegisterRamReset
-
- thumb_func_start SoftReset
-@ void SoftReset()
-SoftReset: @ 82E70AC
- ldr r3, =REG_IME
- movs r2, 0
- strb r2, [r3]
- ldr r1, =0x3007F00
- mov sp, r1
- swi 0x1
- swi 0
- .pool
- thumb_func_end SoftReset
-
- thumb_func_start Sqrt
-@ s16 Sqrt(int)
-Sqrt: @ 82E70C4
- swi 0x8
- bx lr
- thumb_func_end Sqrt
-
- thumb_func_start VBlankIntrWait
-@ void VBlankIntrWait()
-VBlankIntrWait: @ 82E70C8
- movs r2, 0
- swi 0x5
- bx lr
- thumb_func_end VBlankIntrWait
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/src/link.c b/src/link.c
index 9928b48da..939a4afc8 100644
--- a/src/link.c
+++ b/src/link.c
@@ -2,7 +2,7 @@
// Includes
#include "global.h"
#include "m4a.h"
-#include "alloc.h"
+#include "malloc.h"
#include "reset_save_heap.h"
#include "save.h"
#include "bg.h"
@@ -28,6 +28,7 @@
#include "link.h"
#include "link_rfu.h"
#include "constants/rgb.h"
+#include "constants/trade.h"
extern u16 gHeldKeyCodeToSend;
@@ -212,10 +213,9 @@ const struct WindowTemplate gUnknown_082ED204[] = {
{0x00, 0x00, 0x0D, 0x1E, 0x07, 0x0F, 0x016A},
DUMMY_WIN_TEMPLATE
};
-const u8 gUnknown_082ED224[] = {
- 0x00, 0x01, 0x02, 0x00,
- 0xff, 0xfe, 0xff, 0x00
-};
+
+static const u8 sTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY };
+static const u8 sUnused_082ED224[] = {0x00, 0xff, 0xfe, 0xff, 0x00};
// .text
@@ -282,7 +282,7 @@ void LinkTestScreen(void)
ResetTasks();
SetVBlankCallback(sub_80096BC);
ResetBlockSend();
- gLinkType = 0x1111;
+ gLinkType = LINKTYPE_0x1111;
OpenLink();
SeedRng(gMain.vblankCounter2);
for (i = 0; i < MAX_LINK_PLAYERS; i++)
@@ -316,10 +316,10 @@ static void InitLocalLinkPlayer(void)
gLocalLinkPlayer.language = gGameLanguage;
gLocalLinkPlayer.version = gGameVersion + 0x4000;
gLocalLinkPlayer.lp_field_2 = 0x8000;
- gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled();
+ gLocalLinkPlayer.progressFlags = IsNationalPokedexEnabled();
if (FlagGet(FLAG_IS_CHAMPION))
{
- gLocalLinkPlayer.name[8] |= 0x10;
+ gLocalLinkPlayer.progressFlags |= 0x10;
}
}
@@ -452,7 +452,7 @@ static void LinkTestProcessKeyInput(void)
}
if (gMain.newKeys & R_BUTTON)
{
- TrySavingData(1);
+ TrySavingData(SAVE_LINK);
}
if (gMain.newKeys & SELECT_BUTTON)
{
@@ -597,9 +597,9 @@ static void ProcessRecvCmds(u8 unused)
*linkPlayer = block->linkPlayer;
if ((linkPlayer->version & 0xFF) == VERSION_RUBY || (linkPlayer->version & 0xFF) == VERSION_SAPPHIRE)
{
- linkPlayer->name[10] = 0;
- linkPlayer->name[9] = 0;
- linkPlayer->name[8] = 0;
+ linkPlayer->progressFlagsCopy = 0;
+ linkPlayer->neverRead = 0;
+ linkPlayer->progressFlags = 0;
}
sub_800B524(linkPlayer);
if (strcmp(block->magic1, gASCIIGameFreakInc) != 0
@@ -739,7 +739,7 @@ void ClearLinkCallback(void)
{
if (gWirelessCommType)
{
- Rfu_set_zero();
+ ClearLinkRfuCallback();
}
else
{
@@ -751,7 +751,7 @@ void ClearLinkCallback_2(void)
{
if (gWirelessCommType)
{
- Rfu_set_zero();
+ ClearLinkRfuCallback();
}
else
{
@@ -862,15 +862,15 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper)
{
if (gLinkPlayers[0].linkType == 0x1133)
{
- switch (sub_807A728())
+ switch (GetGameProgressForLinkTrade())
{
- case 1:
- sPlayerDataExchangeStatus = EXCHANGE_STAT_4;
+ case TRADE_PLAYER_NOT_READY:
+ sPlayerDataExchangeStatus = EXCHANGE_PLAYER_NOT_READY;
break;
- case 2:
- sPlayerDataExchangeStatus = EXCHANGE_STAT_5;
+ case TRADE_PARTNER_NOT_READY:
+ sPlayerDataExchangeStatus = EXCHANGE_PARTNER_NOT_READY;
break;
- case 0:
+ case TRADE_BOTH_PLAYERS_READY:
sPlayerDataExchangeStatus = EXCHANGE_COMPLETE;
break;
}
@@ -1084,7 +1084,7 @@ bool8 IsLinkTaskFinished(void)
{
if (gWirelessCommType == TRUE)
{
- return sub_8010500();
+ return IsLinkRfuTaskFinished();
}
return gLinkCallback == NULL;
}
@@ -1349,7 +1349,7 @@ bool8 sub_800AA60(void)
{
if (gLinkPlayers[i].trainerId == gSavedLinkPlayers[i].trainerId)
{
- if (gLinkType == 0x2288)
+ if (gLinkType == LINKTYPE_BATTLE_TOWER)
{
if (gLinkType == gLinkPlayers[i].linkType)
{
@@ -1398,7 +1398,7 @@ void sub_800AB18(void)
}
}
-void sub_800AB98(void)
+void ResetLinkPlayerCount(void)
{
gSavedLinkPlayerCount = 0;
gSavedMultiplayerId = 0;
@@ -1687,8 +1687,8 @@ static void sub_800B080(void)
LoadPalette(gWirelessLinkDisplayPal, 0, 0x20);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
FillWindowPixelBuffer(2, PIXEL_FILL(0));
- AddTextPrinterParameterized3(0, 3, 2, 6, gUnknown_082ED224, 0, gText_CommErrorEllipsis);
- AddTextPrinterParameterized3(2, 3, 2, 1, gUnknown_082ED224, 0, gText_MoveCloserToLinkPartner);
+ AddTextPrinterParameterized3(0, 3, 2, 6, sTextColors, 0, gText_CommErrorEllipsis);
+ AddTextPrinterParameterized3(2, 3, 2, 1, sTextColors, 0, gText_MoveCloserToLinkPartner);
PutWindowTilemap(0);
PutWindowTilemap(2);
CopyWindowToVram(0, 0);
@@ -1700,7 +1700,7 @@ static void sub_800B138(void)
LoadBgTiles(0, g2BlankTilesGfx, 0x20, 0);
FillWindowPixelBuffer(1, PIXEL_FILL(0));
FillWindowPixelBuffer(2, PIXEL_FILL(0));
- AddTextPrinterParameterized3(1, 3, 2, 0, gUnknown_082ED224, 0, gText_CommErrorCheckConnections);
+ AddTextPrinterParameterized3(1, 3, 2, 0, sTextColors, 0, gText_CommErrorCheckConnections);
PutWindowTilemap(1);
PutWindowTilemap(2);
CopyWindowToVram(1, 0);
@@ -1740,11 +1740,11 @@ static void CB2_PrintErrorMessage(void)
case 130:
if (gWirelessCommType == 2)
{
- AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnTitleScreen);
+ AddTextPrinterParameterized3(0, 3, 2, 20, sTextColors, 0, gText_ABtnTitleScreen);
}
else if (gWirelessCommType == 1)
{
- AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnRegistrationCounter);
+ AddTextPrinterParameterized3(0, 3, 2, 20, sTextColors, 0, gText_ABtnRegistrationCounter);
}
break;
}
@@ -1902,14 +1902,15 @@ bool32 sub_800B504(void)
return FALSE;
}
-u8 sub_800B518(void)
+// Unused
+u8 GetWirelessCommType(void)
{
return gWirelessCommType;
}
void sub_800B524(struct LinkPlayer *player)
{
- player->name[10] = player->name[8];
+ player->progressFlagsCopy = player->progressFlags;
ConvertInternationalString(player->name, player->language);
}
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 4b0b0a2a5..cedc6b2fb 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "berry_blender.h"
#include "decompress.h"
@@ -2165,9 +2165,9 @@ void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r
data->unk_00.unk_00_4 = 0;
data->unk_00.unk_00_5 = 0;
data->unk_00.unk_00_6 = 0;
- data->unk_00.unk_00_7 = FlagGet(FLAG_IS_CHAMPION);
- data->unk_00.unk_01_0 = IsNationalPokedexEnabled();
- data->unk_00.unk_01_1 = FlagGet(FLAG_SYS_GAME_CLEAR);
+ data->unk_00.isChampion = FlagGet(FLAG_IS_CHAMPION);
+ data->unk_00.hasNationalDex = IsNationalPokedexEnabled();
+ data->unk_00.gameClear = FlagGet(FLAG_SYS_GAME_CLEAR);
}
bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
@@ -3169,7 +3169,7 @@ bool32 sub_800F4F0(void)
sub_8011A64(2, 0x9000);
rfu_clearAllSlot();
gReceivedRemoteLinkPlayers = FALSE;
- gUnknown_03005000.unk_00 = 0;
+ gUnknown_03005000.linkRfuCallback = NULL;
if (gUnknown_03005000.unk_ce4 == 1)
{
sub_8011A64(2, 0x9000);
@@ -3264,17 +3264,17 @@ struct UnkLinkRfuStruct_02022B14 *sub_800F7DC(void)
bool32 IsSendingKeysToRfu(void)
{
- return gUnknown_03005000.unk_00 == rfu_func_080F97B8;
+ return gUnknown_03005000.linkRfuCallback == rfu_func_080F97B8;
}
void sub_800F804(void)
{
- gUnknown_03005000.unk_00 = rfu_func_080F97B8;
+ gUnknown_03005000.linkRfuCallback = rfu_func_080F97B8;
}
-void Rfu_set_zero(void)
+void ClearLinkRfuCallback(void)
{
- gUnknown_03005000.unk_00 = NULL;
+ gUnknown_03005000.linkRfuCallback = NULL;
}
void sub_800F820(void)
@@ -3287,8 +3287,8 @@ void sub_800F820(void)
void sub_800F850(void)
{
- if (gUnknown_03005000.unk_00 == NULL)
- gUnknown_03005000.unk_00 = sub_800F820;
+ if (gUnknown_03005000.linkRfuCallback == NULL)
+ gUnknown_03005000.linkRfuCallback = sub_800F820;
}
static void sub_800F86C(u8 unused)
@@ -3507,7 +3507,7 @@ void sub_800FE50(void *a0)
bool32 sub_800FE84(const u8 *src, size_t size)
{
bool8 r4;
- if (gUnknown_03005000.unk_00 != NULL)
+ if (gUnknown_03005000.linkRfuCallback != NULL)
return FALSE;
if (gSendCmd[0] != 0)
return FALSE;
@@ -3530,7 +3530,7 @@ bool32 sub_800FE84(const u8 *src, size_t size)
gUnknown_03005000.unk_6c.unk_04 = gBlockSendBuffer;
}
sub_800FD14(0x8800);
- gUnknown_03005000.unk_00 = rfufunc_80F9F44;
+ gUnknown_03005000.linkRfuCallback = rfufunc_80F9F44;
gUnknown_03005000.unk_5b = 0;
return TRUE;
}
@@ -3543,12 +3543,12 @@ static void rfufunc_80F9F44(void)
if (gUnknown_03005000.unk_0c == 1)
{
if (++gUnknown_03005000.unk_5b > 2)
- gUnknown_03005000.unk_00 = sub_800FFB0;
+ gUnknown_03005000.linkRfuCallback = sub_800FFB0;
}
else
{
if ((gRecvCmds[GetMultiplayerId()][0] & 0xff00) == 0x8800)
- gUnknown_03005000.unk_00 = sub_800FFB0;
+ gUnknown_03005000.linkRfuCallback = sub_800FFB0;
}
}
}
@@ -3564,7 +3564,7 @@ static void sub_800FFB0(void)
if (gUnknown_03005000.unk_6c.unk_02 <= gUnknown_03005000.unk_6c.unk_00)
{
gUnknown_03005000.unk_6c.unk_10 = 0;
- gUnknown_03005000.unk_00 = rfufunc_80FA020;
+ gUnknown_03005000.linkRfuCallback = rfufunc_80FA020;
}
}
@@ -3586,11 +3586,11 @@ static void rfufunc_80FA020(void)
gUnknown_02022B44.unk_64++;
}
else
- gUnknown_03005000.unk_00 = NULL;
+ gUnknown_03005000.linkRfuCallback = NULL;
}
}
else
- gUnknown_03005000.unk_00 = NULL;
+ gUnknown_03005000.linkRfuCallback = NULL;
}
bool8 sub_8010100(u8 a0)
@@ -3606,7 +3606,7 @@ void sub_801011C(void)
sub_800C048();
gReceivedRemoteLinkPlayers = 0;
gUnknown_03005000.unk_ef = 1;
- gUnknown_03005000.unk_00 = NULL;
+ gUnknown_03005000.linkRfuCallback = NULL;
}
void sub_8010148(void)
@@ -3624,7 +3624,7 @@ void sub_8010168(void)
gUnknown_03005000.unk_ce4 = 2;
}
else
- gUnknown_03005000.unk_00 = sub_8010148;
+ gUnknown_03005000.linkRfuCallback = sub_8010148;
}
void LinkRfu_FatalError(void)
@@ -3654,7 +3654,7 @@ void sub_80101CC(void)
sub_8010168();
}
else
- gUnknown_03005000.unk_00 = sub_8010168;
+ gUnknown_03005000.linkRfuCallback = sub_8010168;
}
}
@@ -3663,16 +3663,16 @@ void sub_801022C(void)
if (gSendCmd[0] == 0 && gUnknown_03005000.unk_ce8 == 0)
{
sub_800FD14(0x5f00);
- gUnknown_03005000.unk_00 = sub_80101CC;
+ gUnknown_03005000.linkRfuCallback = sub_80101CC;
}
}
void sub_8010264(u8 taskId)
{
- if (gUnknown_03005000.unk_00 == NULL)
+ if (gUnknown_03005000.linkRfuCallback == NULL)
{
gUnknown_03005000.unk_cd9 = 1;
- gUnknown_03005000.unk_00 = sub_801022C;
+ gUnknown_03005000.linkRfuCallback = sub_801022C;
DestroyTask(taskId);
}
}
@@ -3708,7 +3708,7 @@ void sub_80102B8(void)
for (i = 0; i < MAX_RFU_PLAYERS; i++)
gUnknown_03005000.unk_e9[i] = 0;
gUnknown_03005000.unk_100++;
- gUnknown_03005000.unk_00 = NULL;
+ gUnknown_03005000.linkRfuCallback = NULL;
}
gUnknown_03005000.unk_fe++;
}
@@ -3718,7 +3718,7 @@ void sub_8010358(void)
if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0)
{
sub_800FD14(0x6600);
- gUnknown_03005000.unk_00 = sub_80102B8;
+ gUnknown_03005000.linkRfuCallback = sub_80102B8;
}
}
@@ -3732,7 +3732,7 @@ void sub_8010390(void)
if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0)
{
sub_800FD14(0x6600);
- gUnknown_03005000.unk_00 = sub_80102B8;
+ gUnknown_03005000.linkRfuCallback = sub_80102B8;
}
}
else
@@ -3748,7 +3748,7 @@ void sub_8010390(void)
if (gUnknown_03005000.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0)
{
sub_800FD14(0x6600);
- gUnknown_03005000.unk_00 = sub_8010358;
+ gUnknown_03005000.linkRfuCallback = sub_8010358;
}
}
}
@@ -3756,9 +3756,9 @@ void sub_8010390(void)
void sub_8010434(void)
{
- if (gUnknown_03005000.unk_00 == NULL)
+ if (gUnknown_03005000.linkRfuCallback == NULL)
{
- gUnknown_03005000.unk_00 = sub_8010390;
+ gUnknown_03005000.linkRfuCallback = sub_8010390;
gUnknown_03005000.unk_fe = 0;
}
}
@@ -3800,17 +3800,17 @@ u8 sub_80104F4(void)
return gUnknown_03005000.playerCount;
}
-bool8 sub_8010500(void)
+bool8 IsLinkRfuTaskFinished(void)
{
if (gUnknown_03005000.unk_f1 == 2)
return FALSE;
- return gUnknown_03005000.unk_00 ? FALSE : TRUE;
+ return gUnknown_03005000.linkRfuCallback ? FALSE : TRUE;
}
static void sub_8010528(void)
{
- if (gUnknown_03005000.unk_00)
- gUnknown_03005000.unk_00();
+ if (gUnknown_03005000.linkRfuCallback)
+ gUnknown_03005000.linkRfuCallback();
}
bool8 sub_8010540(void)
@@ -4255,11 +4255,11 @@ void sub_8010FA0(bool32 a0, bool32 a1)
gUnknown_02022B14.unk_00.unk_00_5 = a1;
}
-void sub_8010FCC(u32 a0, u32 a1, u32 a2)
+void sub_8010FCC(u32 type, u32 species, u32 level)
{
- gUnknown_02022B14.type = a0;
- gUnknown_02022B14.species = a1;
- gUnknown_02022B14.unk_0b_1 = a2;
+ gUnknown_02022B14.type = type;
+ gUnknown_02022B14.species = species;
+ gUnknown_02022B14.level = level;
}
u8 sub_801100C(s32 a0)
@@ -4345,12 +4345,12 @@ void sub_80111B0(bool32 a0)
void sub_80111DC(void)
{
sub_8011E94(gUnknown_03004140.unk_00, 1);
- gUnknown_03005000.unk_00 = NULL;
+ gUnknown_03005000.linkRfuCallback = NULL;
}
void sub_80111FC(void)
{
- gUnknown_03005000.unk_00 = sub_80111DC;
+ gUnknown_03005000.linkRfuCallback = sub_80111DC;
}
void sub_801120C(u8 a0, u8 unused1)
@@ -4741,7 +4741,7 @@ void sub_8011AFC(void)
SetVBlankCallback(sub_8011AE8);
if (IsWirelessAdapterConnected())
{
- gLinkType = 0x1111;
+ gLinkType = LINKTYPE_0x1111;
sub_800B488();
OpenLink();
SeedRng(gMain.vblankCounter2);
@@ -4979,7 +4979,7 @@ bool32 sub_801200C(s16 a1, struct UnkLinkRfuStruct_02022B14 *structPtr)
return TRUE;
}
else if (structPtr->species != structPtr2->species
- || structPtr->unk_0b_1 != structPtr2->unk_0b_1
+ || structPtr->level != structPtr2->level
|| structPtr->type != structPtr2->type)
{
return TRUE;
diff --git a/src/list_menu.c b/src/list_menu.c
index 6d51559f7..ddcad0fe9 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -8,7 +8,7 @@
#include "trig.h"
#include "decompress.h"
#include "palette.h"
-#include "alloc.h"
+#include "malloc.h"
#include "strings.h"
#include "sound.h"
#include "constants/songs.h"
@@ -125,10 +125,10 @@ static const struct
static const struct OamData sOamData_ScrollArrowIndicator =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -265,10 +265,10 @@ static const struct Subsprite sSubsprite_RedOutline8 =
static const struct OamData sOamData_RedArrowCursor =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
diff --git a/src/load_save.c b/src/load_save.c
index 5857f2b46..24dfda20c 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "berry_powder.h"
#include "item.h"
#include "load_save.h"
diff --git a/src/mail.c b/src/mail.c
index 0078bc4fc..f6f96b012 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -17,7 +17,7 @@
#include "bg.h"
#include "pokemon_icon.h"
#include "constants/species.h"
-#include "alloc.h"
+#include "malloc.h"
#include "easy_chat.h"
#include "constants/rgb.h"
@@ -158,10 +158,10 @@ static const struct WindowTemplate sUnknown_0859F29C[] = {
DUMMY_WIN_TEMPLATE
};
-static const u8 sUnknown_0859F2AC[] = {
- 0,
- 10,
- 11
+static const u8 sTextColors[] = {
+ TEXT_COLOR_TRANSPARENT,
+ TEXT_DYNAMIC_COLOR_1,
+ TEXT_DYNAMIC_COLOR_2
};
static const u16 sUnknown_0859F2B0[][2] = {
@@ -486,14 +486,14 @@ static void sub_8121B1C(void)
{
continue;
}
- AddTextPrinterParameterized3(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sUnknown_0859F2AC, 0, sMailRead->strbuf[i]);
+ AddTextPrinterParameterized3(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sTextColors, 0, sMailRead->strbuf[i]);
y += sMailRead->layout->var8[i].lineHeight;
}
bufptr = StringCopy(strbuf, gText_FromSpace);
StringCopy(bufptr, sMailRead->playerName);
box_x = GetStringCenterAlignXOffset(1, strbuf, sMailRead->signatureWidth) + 0x68;
box_y = sMailRead->layout->signatureYPos + 0x58;
- AddTextPrinterParameterized3(0, 1, box_x, box_y, sUnknown_0859F2AC, 0, strbuf);
+ AddTextPrinterParameterized3(0, 1, box_x, box_y, sTextColors, 0, strbuf);
CopyWindowToVram(0, 3);
CopyWindowToVram(1, 3);
}
@@ -542,7 +542,7 @@ static void CB2_ExitMailReadFreeVars(void)
case 1:
case 2:
FreeMonIconPalette(sub_80D2E84(sMailRead->mail->species));
- sub_80D2EF8(&gSprites[sMailRead->monIconSprite]);
+ FreeAndDestroyMonIconSprite(&gSprites[sMailRead->monIconSprite]);
}
memset(sMailRead, 0, sizeof(*sMailRead));
ResetPaletteFade();
diff --git a/src/mail_data.c b/src/mail_data.c
index 809dcc2a8..b0b05e8fe 100644
--- a/src/mail_data.c
+++ b/src/mail_data.c
@@ -63,7 +63,7 @@ u8 GiveMailToMon(struct Pokemon *mon, u16 itemId)
gSaveBlock1Ptr->mail[id].playerName[i] = EOS;
PadNameString(gSaveBlock1Ptr->mail[id].playerName, CHAR_SPACE);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
gSaveBlock1Ptr->mail[id].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
species = GetBoxMonData(&mon->box, MON_DATA_SPECIES);
diff --git a/src/main.c b/src/main.c
index 06425e661..f488e7f6d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "crt0.h"
-#include "alloc.h"
+#include "malloc.h"
#include "link.h"
#include "link_rfu.h"
#include "librfu.h"
diff --git a/src/main_menu.c b/src/main_menu.c
index 6a0bd9e2d..7c4e82c76 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -412,8 +412,8 @@ static const struct WindowTemplate gNewGameBirchSpeechTextWindows[] =
static const u16 sMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal");
static const u16 sMainMenuTextPal[] = INCBIN_U16("graphics/misc/main_menu_text.gbapal");
-static const u8 sTextColor_Headers[] = {10, 11, 12};
-static const u8 sTextColor_PlayerGenderColor[] = {10, 1, 12};
+static const u8 sTextColor_Headers[] = {TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3};
+static const u8 sTextColor_MenuInfo[] = {TEXT_DYNAMIC_COLOR_1, TEXT_COLOR_WHITE, TEXT_DYNAMIC_COLOR_3};
static const struct BgTemplate sMainMenuBgTemplates[] = {
{
@@ -643,30 +643,30 @@ static void Task_MainMenuCheckSaveFile(u8 taskId)
tWirelessAdapterConnected = TRUE;
switch (gSaveFileStatus)
{
- case 1:
+ case SAVE_STATUS_OK:
tMenuType = HAS_SAVED_GAME;
if (IsMysteryGiftEnabled())
tMenuType++;
gTasks[taskId].func = Task_MainMenuCheckBattery;
break;
- case 2:
+ case SAVE_STATUS_CORRUPT:
CreateMainMenuErrorWindow(gText_SaveFileErased);
tMenuType = HAS_NO_SAVED_GAME;
gTasks[taskId].func = Task_WaitForSaveFileErrorWindow;
break;
- case 0xFF:
+ case SAVE_STATUS_ERROR:
CreateMainMenuErrorWindow(gText_SaveFileCorrupted);
gTasks[taskId].func = Task_WaitForSaveFileErrorWindow;
tMenuType = HAS_SAVED_GAME;
if (IsMysteryGiftEnabled() == TRUE)
tMenuType++;
break;
- case 0:
+ case SAVE_STATUS_EMPTY:
default:
tMenuType = HAS_NO_SAVED_GAME;
gTasks[taskId].func = Task_MainMenuCheckBattery;
break;
- case 4:
+ case SAVE_STATUS_NO_FLASH:
CreateMainMenuErrorWindow(gJPText_No1MSubCircuit);
gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME;
gTasks[taskId].func = Task_WaitForSaveFileErrorWindow;
@@ -1312,7 +1312,7 @@ static void Task_NewGameBirchSpeech_WaitToShowBirch(u8 taskId)
gSprites[spriteId].pos1.x = 136;
gSprites[spriteId].pos1.y = 60;
gSprites[spriteId].invisible = FALSE;
- gSprites[spriteId].oam.objMode = 1;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 10);
NewGameBirchSpeech_StartFadePlatformOut(taskId, 20);
gTasks[taskId].tTimer = 80;
@@ -1324,7 +1324,7 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId)
{
if (gTasks[taskId].tIsDoneFadingSprites)
{
- gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 0;
+ gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL;
if (gTasks[taskId].tTimer)
{
gTasks[taskId].tTimer--;
@@ -1392,7 +1392,7 @@ static void Task_NewGameBirchSpeechSub_WaitForLotad(u8 taskId)
case 0:
if (sprite->callback == SpriteCallbackDummy)
{
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
goto incrementStateAndTimer;
}
break;
@@ -1430,8 +1430,8 @@ static void Task_NewGameBirchSpeech_StartBirchLotadPlatformFade(u8 taskId)
{
if (!RunTextPrintersAndIsPrinter0Active())
{
- gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 1;
- gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 1;
+ gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
+ gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2);
NewGameBirchSpeech_StartFadePlatformIn(taskId, 1);
gTasks[taskId].tTimer = 64;
@@ -1470,7 +1470,7 @@ static void Task_NewGameBirchSpeech_StartPlayerFadeIn(u8 taskId)
gSprites[spriteId].pos1.x = 180;
gSprites[spriteId].pos1.y = 60;
gSprites[spriteId].invisible = FALSE;
- gSprites[spriteId].oam.objMode = 1;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
gTasks[taskId].tPlayerSpriteId = spriteId;
gTasks[taskId].tPlayerGender = MALE;
NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2);
@@ -1484,7 +1484,7 @@ static void Task_NewGameBirchSpeech_WaitForPlayerFadeIn(u8 taskId)
{
if (gTasks[taskId].tIsDoneFadingSprites)
{
- gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 0;
+ gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL;
gTasks[taskId].func = Task_NewGameBirchSpeech_BoyOrGirl;
}
}
@@ -1530,7 +1530,7 @@ static void Task_NewGameBirchSpeech_ChooseGender(u8 taskId)
if (gender2 != gTasks[taskId].tPlayerGender)
{
gTasks[taskId].tPlayerGender = gender2;
- gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 1;
+ gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 0);
gTasks[taskId].func = Task_NewGameBirchSpeech_SlideOutOldGenderSprite;
}
@@ -1554,7 +1554,7 @@ static void Task_NewGameBirchSpeech_SlideOutOldGenderSprite(u8 taskId)
gSprites[spriteId].pos1.y = 60;
gSprites[spriteId].invisible = FALSE;
gTasks[taskId].tPlayerSpriteId = spriteId;
- gSprites[spriteId].oam.objMode = 1;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 0);
gTasks[taskId].func = Task_NewGameBirchSpeech_SlideInNewGenderSprite;
}
@@ -1573,7 +1573,7 @@ static void Task_NewGameBirchSpeech_SlideInNewGenderSprite(u8 taskId)
gSprites[spriteId].pos1.x = 180;
if (gTasks[taskId].tIsDoneFadingSprites)
{
- gSprites[spriteId].oam.objMode = 0;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_NORMAL;
gTasks[taskId].func = Task_NewGameBirchSpeech_ChooseGender;
}
}
@@ -1637,7 +1637,7 @@ static void Task_NewGameBirchSpeech_ProcessNameYesNoMenu(u8 taskId)
{
case 0:
PlaySE(SE_SELECT);
- gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 1;
+ gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2);
NewGameBirchSpeech_StartFadePlatformIn(taskId, 1);
gTasks[taskId].func = Task_NewGameBirchSpeech_SlidePlatformAway2;
@@ -1674,12 +1674,12 @@ static void Task_NewGameBirchSpeech_ReshowBirchLotad(u8 taskId)
gSprites[spriteId].pos1.x = 136;
gSprites[spriteId].pos1.y = 60;
gSprites[spriteId].invisible = FALSE;
- gSprites[spriteId].oam.objMode = 1;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
spriteId = gTasks[taskId].tLotadSpriteId;
gSprites[spriteId].pos1.x = 100;
gSprites[spriteId].pos1.y = 75;
gSprites[spriteId].invisible = FALSE;
- gSprites[spriteId].oam.objMode = 1;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2);
NewGameBirchSpeech_StartFadePlatformOut(taskId, 1);
NewGameBirchSpeech_ClearWindow(0);
@@ -1693,12 +1693,12 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInAndTextPrinter(u8 taskId)
{
if (gTasks[taskId].tIsDoneFadingSprites)
{
- gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 0;
- gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 0;
+ gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL;
+ gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL;
if (!RunTextPrintersAndIsPrinter0Active())
{
- gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = 1;
- gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = 1;
+ gSprites[gTasks[taskId].tBirchSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
+ gSprites[gTasks[taskId].tLotadSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
NewGameBirchSpeech_StartFadeOutTarget1InTarget2(taskId, 2);
NewGameBirchSpeech_StartFadePlatformIn(taskId, 1);
gTasks[taskId].tTimer = 64;
@@ -1727,7 +1727,7 @@ static void Task_NewGameBirchSpeech_AreYouReady(u8 taskId)
gSprites[spriteId].pos1.x = 120;
gSprites[spriteId].pos1.y = 60;
gSprites[spriteId].invisible = FALSE;
- gSprites[spriteId].oam.objMode = 1;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
gTasks[taskId].tPlayerSpriteId = spriteId;
NewGameBirchSpeech_StartFadeInTarget1OutTarget2(taskId, 2);
NewGameBirchSpeech_StartFadePlatformOut(taskId, 1);
@@ -1743,11 +1743,11 @@ static void Task_NewGameBirchSpeech_ShrinkPlayer(u8 taskId)
if (gTasks[taskId].tIsDoneFadingSprites)
{
- gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = 0;
+ gSprites[gTasks[taskId].tPlayerSpriteId].oam.objMode = ST_OAM_OBJ_NORMAL;
if (!RunTextPrintersAndIsPrinter0Active())
{
spriteId = gTasks[taskId].tPlayerSpriteId;
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_PlayerShrink;
InitSpriteAffineAnim(&gSprites[spriteId]);
StartSpriteAffineAnim(&gSprites[spriteId], 0);
@@ -2147,8 +2147,8 @@ static void MainMenu_FormatSavegameText(void)
static void MainMenu_FormatSavegamePlayer(void)
{
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer);
- AddTextPrinterParameterized3(2, 1, 0, 17, sTextColor_PlayerGenderColor, -1, gStringVar4);
- AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_PlayerGenderColor, -1, gSaveBlock2Ptr->playerName);
+ AddTextPrinterParameterized3(2, 1, 0, 17, sTextColor_MenuInfo, -1, gStringVar4);
+ AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_MenuInfo, -1, gSaveBlock2Ptr->playerName);
}
static void MainMenu_FormatSavegameTime(void)
@@ -2157,11 +2157,11 @@ static void MainMenu_FormatSavegameTime(void)
u8* ptr;
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime);
- AddTextPrinterParameterized3(2, 1, 0x6C, 17, sTextColor_PlayerGenderColor, -1, gStringVar4);
- ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, 0, 3);
+ AddTextPrinterParameterized3(2, 1, 0x6C, 17, sTextColor_MenuInfo, -1, gStringVar4);
+ ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
*ptr = 0xF0;
- ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, 2, 2);
- AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, sTextColor_PlayerGenderColor, -1, str);
+ ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
+ AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, sTextColor_MenuInfo, -1, str);
}
static void MainMenu_FormatSavegamePokedex(void)
@@ -2172,13 +2172,13 @@ static void MainMenu_FormatSavegamePokedex(void)
if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
{
if (IsNationalPokedexEnabled())
- dexCount = GetNationalPokedexCount(1);
+ dexCount = GetNationalPokedexCount(FLAG_GET_CAUGHT);
else
- dexCount = GetHoennPokedexCount(1);
+ dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT);
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex);
- AddTextPrinterParameterized3(2, 1, 0, 33, sTextColor_PlayerGenderColor, -1, gStringVar4);
- ConvertIntToDecimalStringN(str, dexCount, 0, 3);
- AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, sTextColor_PlayerGenderColor, -1, str);
+ AddTextPrinterParameterized3(2, 1, 0, 33, sTextColor_MenuInfo, -1, gStringVar4);
+ ConvertIntToDecimalStringN(str, dexCount, STR_CONV_MODE_LEFT_ALIGN, 3);
+ AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, sTextColor_MenuInfo, -1, str);
}
}
@@ -2194,9 +2194,9 @@ static void MainMenu_FormatSavegameBadges(void)
badgeCount++;
}
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges);
- AddTextPrinterParameterized3(2, 1, 0x6C, 33, sTextColor_PlayerGenderColor, -1, gStringVar4);
- ConvertIntToDecimalStringN(str, badgeCount, 2, 1);
- AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, sTextColor_PlayerGenderColor, -1, str);
+ AddTextPrinterParameterized3(2, 1, 0x6C, 33, sTextColor_MenuInfo, -1, gStringVar4);
+ ConvertIntToDecimalStringN(str, badgeCount, STR_CONV_MODE_LEADING_ZEROS, 1);
+ AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, sTextColor_MenuInfo, -1, str);
}
static void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset)
diff --git a/src/map_name_popup.c b/src/map_name_popup.c
index d95b808e9..b84489a17 100644
--- a/src/map_name_popup.c
+++ b/src/map_name_popup.c
@@ -371,7 +371,7 @@ static void LoadMapNamePopUpWindowBg(void)
LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_BG), gMapPopUp_Outline_Table[popUpThemeId], 0x400, 0x21D);
CallWindowFunction(popupWindowId, sub_80D4A78);
PutWindowTilemap(popupWindowId);
- if(gMapHeader.weather == WEATHER_BUBBLES)
+ if (gMapHeader.weather == WEATHER_UNDERWATER_BUBBLES)
LoadPalette(&gUnknown_0857F444, 0xE0, 0x20);
else
LoadPalette(gMapPopUp_Palette_Table[popUpThemeId], 0xE0, 0x20);
diff --git a/src/match_call.c b/src/match_call.c
index b02af9977..dac98e559 100644
--- a/src/match_call.c
+++ b/src/match_call.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_setup.h"
#include "bg.h"
@@ -965,9 +965,9 @@ static const struct MatchCallText *const sMatchCallGeneralTopics[] =
sMatchCallBattlePyramidTexts,
};
-extern const u8 gUnknown_082A5C9C[];
-extern const u8 gUnknown_082A5D2C[];
-extern const u8 gUnknown_082A633D[];
+extern const u8 gBirchDexRatingText_AreYouCurious[];
+extern const u8 gBirchDexRatingText_SoYouveSeenAndCaught[];
+extern const u8 gBirchDexRatingText_OnANationwideBasis[];
void InitMatchCallCounters(void)
{
@@ -1060,7 +1060,7 @@ static bool32 SelectMatchCallTrainer(void)
static u32 GetNumRegisteredNPCs(void)
{
u32 i, count;
- for (i = 0, count = 0; i < 64; i++)
+ for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{
if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i))
count++;
@@ -1072,7 +1072,7 @@ static u32 GetNumRegisteredNPCs(void)
static u32 GetActiveMatchCallTrainerId(u32 activeMatchCallId)
{
u32 i;
- for (i = 0; i < 64; i++)
+ for (i = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{
if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i))
{
@@ -1290,7 +1290,7 @@ static bool32 sub_81963F0(u8 taskId)
sub_81973A4();
playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
- sub_80D338C();
+ ScriptMovement_UnfreezeEventObjects();
UnfreezeEventObjects();
ScriptContext2_Disable();
}
@@ -1384,7 +1384,7 @@ static u16 GetRematchTrainerLocation(int matchCallId)
static u32 GetNumRematchTrainersFought(void)
{
u32 i, count;
- for (i = 0, count = 0; i < 64; i++)
+ for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++)
{
if (HasTrainerBeenFought(gRematchTable[i].trainerIds[0]))
count++;
@@ -1743,7 +1743,7 @@ static void PopulateBattleFrontierStreak(int matchCallId, u8 *destStr)
i++;
}
- ConvertIntToDecimalStringN(destStr, gBattleFrontierStreakInfo.streak, 0, i);
+ ConvertIntToDecimalStringN(destStr, gBattleFrontierStreakInfo.streak, STR_CONV_MODE_LEFT_ALIGN, i);
}
static const u16 sBadgeFlags[] =
@@ -1961,7 +1961,7 @@ static const u8 *const sBirchDexRatingTexts[] =
gBirchDexRatingText_DexCompleted,
};
-void sub_8197080(u8 *destStr)
+void BufferPokedexRatingForMatchCall(u8 *destStr)
{
int numSeen, numCaught;
u8 *str;
@@ -1976,13 +1976,13 @@ void sub_8197080(u8 *destStr)
numSeen = GetHoennPokedexCount(FLAG_GET_SEEN);
numCaught = GetHoennPokedexCount(FLAG_GET_CAUGHT);
- ConvertIntToDecimalStringN(gStringVar1, numSeen, 0, 3);
- ConvertIntToDecimalStringN(gStringVar2, numCaught, 0, 3);
+ ConvertIntToDecimalStringN(gStringVar1, numSeen, STR_CONV_MODE_LEFT_ALIGN, 3);
+ ConvertIntToDecimalStringN(gStringVar2, numCaught, STR_CONV_MODE_LEFT_ALIGN, 3);
dexRatingLevel = GetPokedexRatingLevel(numCaught);
- str = StringCopy(buffer, gUnknown_082A5C9C);
+ str = StringCopy(buffer, gBirchDexRatingText_AreYouCurious);
str[0] = CHAR_PROMPT_CLEAR;
str++;
- str = StringCopy(str, gUnknown_082A5D2C);
+ str = StringCopy(str, gBirchDexRatingText_SoYouveSeenAndCaught);
str[0] = CHAR_PROMPT_CLEAR;
str++;
StringCopy(str, sBirchDexRatingTexts[dexRatingLevel]);
@@ -1994,9 +1994,9 @@ void sub_8197080(u8 *destStr)
str++;
numSeen = GetNationalPokedexCount(FLAG_GET_SEEN);
numCaught = GetNationalPokedexCount(FLAG_GET_CAUGHT);
- ConvertIntToDecimalStringN(gStringVar1, numSeen, 0, 3);
- ConvertIntToDecimalStringN(gStringVar2, numCaught, 0, 3);
- StringExpandPlaceholders(str, gUnknown_082A633D);
+ ConvertIntToDecimalStringN(gStringVar1, numSeen, STR_CONV_MODE_LEFT_ALIGN, 3);
+ ConvertIntToDecimalStringN(gStringVar2, numCaught, STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringExpandPlaceholders(str, gBirchDexRatingText_OnANationwideBasis);
}
Free(buffer);
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index 64f04f3bc..8fe233fc1 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -22,6 +22,7 @@
#include "field_message_box.h"
#include "script_menu.h"
#include "trader.h"
+#include "constants/mauville_old_man.h"
#define CHAR_SONG_WORD_SEPARATOR 0x37
@@ -41,7 +42,7 @@ static EWRAM_DATA u16 sUnknownBardRelated = 0;
static EWRAM_DATA struct MauvilleManStoryteller * sStorytellerPtr = NULL;
static EWRAM_DATA u8 sStorytellerWindowId = 0;
-static const u16 sDefaultBardSongLyrics[6] = {
+static const u16 sDefaultBardSongLyrics[BARD_SONG_LENGTH] = {
EC_WORD_SHAKE,
EC_WORD_IT,
EC_WORD_DO,
@@ -80,7 +81,7 @@ static void SetupBard(void)
bard->id = MAUVILLE_MAN_BARD;
bard->hasChangedSong = FALSE;
bard->language = gGameLanguage;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < BARD_SONG_LENGTH; i++)
bard->songLyrics[i] = sDefaultBardSongLyrics[i];
}
@@ -166,10 +167,10 @@ void ScrSpecial_SaveBardSongLyrics(void)
StringCopy(bard->playerName, gSaveBlock2Ptr->playerName);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
bard->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < BARD_SONG_LENGTH; i++)
bard->songLyrics[i] = bard->temporaryLyrics[i];
bard->hasChangedSong = TRUE;
@@ -248,15 +249,15 @@ void ScrSpecial_SetHipsterSpokenFlag(void)
void ScrSpecial_HipsterTeachWord(void)
{
- u16 var = sub_811F01C();
+ u16 phrase = GetNewHipsterPhraseToTeach();
- if (var == 0xFFFF)
+ if (phrase == 0xFFFF)
{
gSpecialVar_Result = FALSE;
}
else
{
- CopyEasyChatWord(gStringVar1, var);
+ CopyEasyChatWord(gStringVar1, phrase);
gSpecialVar_Result = TRUE;
}
}
@@ -359,7 +360,7 @@ static void InitGiddyTaleList(void)
break;
if (r1 == 6)
r1 = 0;
- giddy->randomWords[i] = sub_811EE90(arr[r1][0]);
+ giddy->randomWords[i] = GetRandomEasyChatWordFromUnlockedGroup(arr[r1][0]);
}
}
}
@@ -458,7 +459,7 @@ static void BardSing(struct Task *task, struct BardSong *song)
lyrics = bard->songLyrics;
else
lyrics = bard->temporaryLyrics;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < BARD_SONG_LENGTH; i++)
song->lyrics[i] = lyrics[i];
song->currWord = 0;
}
@@ -683,14 +684,14 @@ void ScrSpecial_SetMauvilleOldManEventObjGfx(void)
void sub_8120B70(union OldMan * oldMan)
{
s32 i;
- u8 sp00[8];
+ u8 playerName[PLAYER_NAME_LENGTH + 1];
switch (oldMan->common.id)
{
case MAUVILLE_MAN_TRADER:
{
struct MauvilleOldManTrader * trader = &oldMan->trader;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_TRADER_ITEMS; i++)
{
if (trader->language[i] == LANGUAGE_JAPANESE)
{
@@ -702,17 +703,17 @@ void sub_8120B70(union OldMan * oldMan)
case MAUVILLE_MAN_STORYTELLER:
{
struct MauvilleManStoryteller * storyteller = &oldMan->storyteller;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
if (storyteller->gameStatIDs[i] != 0)
{
- memcpy(sp00, storyteller->trainerNames[i], 7);
- sp00[7] = EOS;
- if (IsStringJapanese(sp00))
+ memcpy(playerName, storyteller->trainerNames[i], PLAYER_NAME_LENGTH);
+ playerName[PLAYER_NAME_LENGTH] = EOS;
+ if (IsStringJapanese(playerName))
{
- memset(sp00, CHAR_SPACE, 8);
- StringCopy(sp00, gText_Friend);
- memcpy(storyteller->trainerNames[i], sp00, 7);
+ memset(playerName, CHAR_SPACE, PLAYER_NAME_LENGTH + 1);
+ StringCopy(playerName, gText_Friend);
+ memcpy(storyteller->trainerNames[i], playerName, PLAYER_NAME_LENGTH);
storyteller->language[i] = GAME_LANGUAGE;
}
}
@@ -732,7 +733,7 @@ void sub_8120C0C(union OldMan * oldMan, u32 r8, u32 r7, u32 r3)
{
struct MauvilleOldManTrader * trader = &oldMan->trader;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_TRADER_ITEMS; i++)
{
if (IsStringJapanese(trader->playerNames[i]))
{
@@ -749,7 +750,7 @@ void sub_8120C0C(union OldMan * oldMan, u32 r8, u32 r7, u32 r3)
{
struct MauvilleManStoryteller * storyteller = &oldMan->storyteller;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
if (IsStringJapanese(storyteller->trainerNames[i]))
{
@@ -797,19 +798,19 @@ void sub_8120C0C(union OldMan * oldMan, u32 r8, u32 r7, u32 r3)
void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 language)
{
- u8 sp00[8];
+ u8 playerName[PLAYER_NAME_LENGTH + 1];
s32 i;
if (oldMan->common.id == MAUVILLE_MAN_STORYTELLER && language == LANGUAGE_JAPANESE)
{
struct MauvilleManStoryteller * storyteller = &oldMan->storyteller;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
if (storyteller->gameStatIDs[i] != 0)
{
- memcpy(sp00, storyteller->trainerNames[i], 7);
- sp00[7] = EOS;
- if (IsStringJapanese(sp00))
+ memcpy(playerName, storyteller->trainerNames[i], PLAYER_NAME_LENGTH);
+ playerName[PLAYER_NAME_LENGTH] = EOS;
+ if (IsStringJapanese(playerName))
storyteller->language[i] = LANGUAGE_JAPANESE;
else
storyteller->language[i] = GAME_LANGUAGE;
@@ -831,7 +832,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language
if (isRuby)
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_TRADER_ITEMS; i++)
{
u8 * str = trader->playerNames[i];
if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN)
@@ -845,7 +846,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language
}
else
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_TRADER_ITEMS; i++)
{
if (trader->language[i] == LANGUAGE_JAPANESE)
{
@@ -863,7 +864,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language
if (isRuby)
{
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
if (storyteller->gameStatIDs[i] != 0)
storyteller->language[i] = language;
@@ -914,42 +915,223 @@ struct Story
};
static const struct Story sStorytellerStories[] = {
- {GAME_STAT_NUM_UNION_ROOM_BATTLES, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956},
- {GAME_STAT_STARTED_TRENDS, 1, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE},
- {GAME_STAT_PLANTED_BERRIES, 1, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8},
- {GAME_STAT_TRADED_BIKES, 1, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E},
- {GAME_STAT_GOT_INTERVIEWED, 1, MauvilleCity_PokemonCenter_1F_Text_28EBB5, MauvilleCity_PokemonCenter_1F_Text_28EBCD, MauvilleCity_PokemonCenter_1F_Text_28EBDD},
- {GAME_STAT_TRAINER_BATTLES, 1, MauvilleCity_PokemonCenter_1F_Text_28EC60, MauvilleCity_PokemonCenter_1F_Text_28EC79, MauvilleCity_PokemonCenter_1F_Text_28EC81},
- {GAME_STAT_POKEMON_CAPTURES, 1, MauvilleCity_PokemonCenter_1F_Text_28ED04, MauvilleCity_PokemonCenter_1F_Text_28ED21, MauvilleCity_PokemonCenter_1F_Text_28ED30},
- {GAME_STAT_FISHING_CAPTURES, 1, MauvilleCity_PokemonCenter_1F_Text_28EDA1, MauvilleCity_PokemonCenter_1F_Text_28EDB5, MauvilleCity_PokemonCenter_1F_Text_28EDCF},
- {GAME_STAT_HATCHED_EGGS, 1, MauvilleCity_PokemonCenter_1F_Text_28EE45, MauvilleCity_PokemonCenter_1F_Text_28EE5D, MauvilleCity_PokemonCenter_1F_Text_28EE6A},
- {GAME_STAT_EVOLVED_POKEMON, 1, MauvilleCity_PokemonCenter_1F_Text_28EEDD, MauvilleCity_PokemonCenter_1F_Text_28EEF1, MauvilleCity_PokemonCenter_1F_Text_28EF01},
- {GAME_STAT_USED_POKECENTER, 1, MauvilleCity_PokemonCenter_1F_Text_28EF73, MauvilleCity_PokemonCenter_1F_Text_28EF95, MauvilleCity_PokemonCenter_1F_Text_28EFAA},
- {GAME_STAT_RESTED_AT_HOME, 1, MauvilleCity_PokemonCenter_1F_Text_28F045, MauvilleCity_PokemonCenter_1F_Text_28F05A, MauvilleCity_PokemonCenter_1F_Text_28F071},
- {GAME_STAT_ENTERED_SAFARI_ZONE, 1, MauvilleCity_PokemonCenter_1F_Text_28F0F3, MauvilleCity_PokemonCenter_1F_Text_28F10D, MauvilleCity_PokemonCenter_1F_Text_28F125},
- {GAME_STAT_USED_CUT, 1, MauvilleCity_PokemonCenter_1F_Text_28F1BE, MauvilleCity_PokemonCenter_1F_Text_28F1D5, MauvilleCity_PokemonCenter_1F_Text_28F1DE},
- {GAME_STAT_USED_ROCK_SMASH, 1, MauvilleCity_PokemonCenter_1F_Text_28F24F, MauvilleCity_PokemonCenter_1F_Text_28F269, MauvilleCity_PokemonCenter_1F_Text_28F277},
- {GAME_STAT_MOVED_SECRET_BASE, 1, MauvilleCity_PokemonCenter_1F_Text_28F2FC, MauvilleCity_PokemonCenter_1F_Text_28F314, MauvilleCity_PokemonCenter_1F_Text_28F32A},
- {GAME_STAT_USED_SPLASH, 1, MauvilleCity_PokemonCenter_1F_Text_28F3AD, MauvilleCity_PokemonCenter_1F_Text_28F3C6, MauvilleCity_PokemonCenter_1F_Text_28F3D2},
- {GAME_STAT_USED_STRUGGLE, 1, MauvilleCity_PokemonCenter_1F_Text_28F44B, MauvilleCity_PokemonCenter_1F_Text_28F461, MauvilleCity_PokemonCenter_1F_Text_28F47C},
- {GAME_STAT_SLOT_JACKPOTS, 1, MauvilleCity_PokemonCenter_1F_Text_28F50C, MauvilleCity_PokemonCenter_1F_Text_28F51B, MauvilleCity_PokemonCenter_1F_Text_28F538},
- {GAME_STAT_CONSECUTIVE_ROULETTE_WINS, 2, MauvilleCity_PokemonCenter_1F_Text_28F5BE, MauvilleCity_PokemonCenter_1F_Text_28F5D1, MauvilleCity_PokemonCenter_1F_Text_28F5F2},
- {GAME_STAT_ENTERED_BATTLE_TOWER, 1, MauvilleCity_PokemonCenter_1F_Text_28F678, MauvilleCity_PokemonCenter_1F_Text_28F694, MauvilleCity_PokemonCenter_1F_Text_28F6B4},
- {GAME_STAT_POKEBLOCKS, 1, MauvilleCity_PokemonCenter_1F_Text_28F751, MauvilleCity_PokemonCenter_1F_Text_28F76A, MauvilleCity_PokemonCenter_1F_Text_28F776},
- {GAME_STAT_ENTERED_CONTEST, 1, MauvilleCity_PokemonCenter_1F_Text_28F7F6, MauvilleCity_PokemonCenter_1F_Text_28F811, MauvilleCity_PokemonCenter_1F_Text_28F822},
- {GAME_STAT_WON_CONTEST, 1, MauvilleCity_PokemonCenter_1F_Text_28F89C, MauvilleCity_PokemonCenter_1F_Text_28F8AF, MauvilleCity_PokemonCenter_1F_Text_28F8BC},
- {GAME_STAT_SHOPPED, 1, MauvilleCity_PokemonCenter_1F_Text_28F92F, MauvilleCity_PokemonCenter_1F_Text_28F941, MauvilleCity_PokemonCenter_1F_Text_28F949},
- {GAME_STAT_USED_ITEMFINDER, 1, MauvilleCity_PokemonCenter_1F_Text_28F9D1, MauvilleCity_PokemonCenter_1F_Text_28F9EA, MauvilleCity_PokemonCenter_1F_Text_28F9FD},
- {GAME_STAT_GOT_RAINED_ON, 1, MauvilleCity_PokemonCenter_1F_Text_28FA81, MauvilleCity_PokemonCenter_1F_Text_28FA99, MauvilleCity_PokemonCenter_1F_Text_28FAA7},
- {GAME_STAT_CHECKED_POKEDEX, 1, MauvilleCity_PokemonCenter_1F_Text_28FB1D, MauvilleCity_PokemonCenter_1F_Text_28FB35, MauvilleCity_PokemonCenter_1F_Text_28FB47},
- {GAME_STAT_RECEIVED_RIBBONS, 1, MauvilleCity_PokemonCenter_1F_Text_28FBC4, MauvilleCity_PokemonCenter_1F_Text_28FBD9, MauvilleCity_PokemonCenter_1F_Text_28FBEA},
- {GAME_STAT_JUMPED_DOWN_LEDGES, 1, MauvilleCity_PokemonCenter_1F_Text_28FC6B, MauvilleCity_PokemonCenter_1F_Text_28FC85, MauvilleCity_PokemonCenter_1F_Text_28FC98},
- {GAME_STAT_WATCHED_TV, 1, MauvilleCity_PokemonCenter_1F_Text_28FD1D, MauvilleCity_PokemonCenter_1F_Text_28FD35, MauvilleCity_PokemonCenter_1F_Text_28FD40},
- {GAME_STAT_CHECKED_CLOCK, 1, MauvilleCity_PokemonCenter_1F_Text_28FDA2, MauvilleCity_PokemonCenter_1F_Text_28FDBD, MauvilleCity_PokemonCenter_1F_Text_28FDCE},
- {GAME_STAT_WON_POKEMON_LOTTERY, 1, MauvilleCity_PokemonCenter_1F_Text_28FE57, MauvilleCity_PokemonCenter_1F_Text_28FE72, MauvilleCity_PokemonCenter_1F_Text_28FE88},
- {GAME_STAT_USED_DAYCARE, 1, MauvilleCity_PokemonCenter_1F_Text_28FF0C, MauvilleCity_PokemonCenter_1F_Text_28FF27, MauvilleCity_PokemonCenter_1F_Text_28FF44},
- {GAME_STAT_RODE_CABLE_CAR, 1, MauvilleCity_PokemonCenter_1F_Text_28FFDD, MauvilleCity_PokemonCenter_1F_Text_28FFFA, MauvilleCity_PokemonCenter_1F_Text_29000D},
- {GAME_STAT_ENTERED_HOT_SPRINGS, 1, MauvilleCity_PokemonCenter_1F_Text_290097, MauvilleCity_PokemonCenter_1F_Text_2900B5, MauvilleCity_PokemonCenter_1F_Text_2900CB}
+ // The 50 below is replaced with GAME_STAT_SAVED_GAME
+ {
+ 50, 1,
+ MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle,
+ MauvilleCity_PokemonCenter_1F_Text_SavedGameAction,
+ MauvilleCity_PokemonCenter_1F_Text_SavedGameStory
+ },
+ {
+ GAME_STAT_STARTED_TRENDS, 1,
+ MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction,
+ MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory
+ },
+ {
+ GAME_STAT_PLANTED_BERRIES, 1,
+ MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction,
+ MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory
+ },
+ {
+ GAME_STAT_TRADED_BIKES, 1,
+ MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle,
+ MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction,
+ MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory
+ },
+ {
+ GAME_STAT_GOT_INTERVIEWED, 1,
+ MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle,
+ MauvilleCity_PokemonCenter_1F_Text_InterviewsAction,
+ MauvilleCity_PokemonCenter_1F_Text_InterviewsStory
+ },
+ {
+ GAME_STAT_TRAINER_BATTLES, 1,
+ MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle,
+ MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction,
+ MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory
+ },
+ {
+ GAME_STAT_POKEMON_CAPTURES, 1,
+ MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle,
+ MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction,
+ MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory
+ },
+ {
+ GAME_STAT_FISHING_CAPTURES, 1,
+ MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle,
+ MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction,
+ MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory
+ },
+ {
+ GAME_STAT_HATCHED_EGGS, 1,
+ MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction,
+ MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory
+ },
+ {
+ GAME_STAT_EVOLVED_POKEMON, 1,
+ MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction,
+ MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory
+ },
+ {
+ GAME_STAT_USED_POKECENTER, 1,
+ MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle,
+ MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction,
+ MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory
+ },
+ {
+ GAME_STAT_RESTED_AT_HOME, 1,
+ MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle,
+ MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction,
+ MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory
+ },
+ {
+ GAME_STAT_ENTERED_SAFARI_ZONE, 1,
+ MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle,
+ MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction,
+ MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory
+ },
+ {
+ GAME_STAT_USED_CUT, 1,
+ MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle,
+ MauvilleCity_PokemonCenter_1F_Text_UsedCutAction,
+ MauvilleCity_PokemonCenter_1F_Text_UsedCutStory
+ },
+ {
+ GAME_STAT_USED_ROCK_SMASH, 1,
+ MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle,
+ MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction,
+ MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory
+ },
+ {
+ GAME_STAT_MOVED_SECRET_BASE, 1,
+ MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle,
+ MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction,
+ MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory
+ },
+ {
+ GAME_STAT_USED_SPLASH, 1,
+ MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle,
+ MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction,
+ MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory
+ },
+ {
+ GAME_STAT_USED_STRUGGLE, 1,
+ MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle,
+ MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction,
+ MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory
+ },
+ {
+ GAME_STAT_SLOT_JACKPOTS, 1,
+ MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle,
+ MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction,
+ MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory
+ },
+ {
+ GAME_STAT_CONSECUTIVE_ROULETTE_WINS, 2,
+ MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle,
+ MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction,
+ MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory
+ },
+ {
+ GAME_STAT_ENTERED_BATTLE_TOWER, 1,
+ MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle,
+ MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction,
+ MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory
+ },
+ {
+ GAME_STAT_POKEBLOCKS, 1,
+ MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle,
+ MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction,
+ MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory
+ },
+ {
+ GAME_STAT_ENTERED_CONTEST, 1,
+ MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle,
+ MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction,
+ MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory
+ },
+ {
+ GAME_STAT_WON_CONTEST, 1,
+ MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle,
+ MauvilleCity_PokemonCenter_1F_Text_WonContestsAction,
+ MauvilleCity_PokemonCenter_1F_Text_WonContestsStory
+ },
+ {
+ GAME_STAT_SHOPPED, 1,
+ MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction,
+ MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory
+ },
+ {
+ GAME_STAT_USED_ITEMFINDER, 1,
+ MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle,
+ MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction,
+ MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory
+ },
+ {
+ GAME_STAT_GOT_RAINED_ON, 1,
+ MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction,
+ MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory
+ },
+ {
+ GAME_STAT_CHECKED_POKEDEX, 1,
+ MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle,
+ MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction,
+ MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory
+ },
+ {
+ GAME_STAT_RECEIVED_RIBBONS, 1,
+ MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle,
+ MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction,
+ MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory
+ },
+ {
+ GAME_STAT_JUMPED_DOWN_LEDGES, 1,
+ MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction,
+ MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory
+ },
+ {
+ GAME_STAT_WATCHED_TV, 1,
+ MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle,
+ MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction,
+ MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory
+ },
+ {
+ GAME_STAT_CHECKED_CLOCK, 1,
+ MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle,
+ MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction,
+ MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory
+ },
+ {
+ GAME_STAT_WON_POKEMON_LOTTERY, 1,
+ MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle,
+ MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction,
+ MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory
+ },
+ {
+ GAME_STAT_USED_DAYCARE, 1,
+ MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle,
+ MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction,
+ MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory
+ },
+ {
+ GAME_STAT_RODE_CABLE_CAR, 1,
+ MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle,
+ MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction,
+ MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory
+ },
+ {
+ GAME_STAT_ENTERED_HOT_SPRINGS, 1,
+ MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle,
+ MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction,
+ MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory
+ }
};
static void StorytellerSetup(void)
@@ -959,7 +1141,7 @@ static void StorytellerSetup(void)
sStorytellerPtr->id = MAUVILLE_MAN_STORYTELLER;
sStorytellerPtr->alreadyRecorded = FALSE;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
sStorytellerPtr->gameStatIDs[i] = 0;
sStorytellerPtr->trainerNames[0][i] = EOS; // Maybe they meant storyteller->trainerNames[i][0] instead?
@@ -977,7 +1159,7 @@ static void Storyteller_ResetFlag(void)
static u32 StorytellerGetGameStat(u8 stat)
{
if (stat == 50)
- stat = 0;
+ stat = GAME_STAT_SAVED_GAME;
return GetGameStat(stat);
}
@@ -985,12 +1167,12 @@ static const struct Story *GetStoryByStat(u32 stat)
{
s32 i;
- for (i = 0; i < 36; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(sStorytellerStories); i++)
{
if (sStorytellerStories[i].stat == stat)
return &sStorytellerStories[i];
}
- return &sStorytellerStories[35];
+ return &sStorytellerStories[ARRAY_COUNT(sStorytellerStories) - 1];
}
static const u8 *GetStoryTitleByStat(u32 stat)
@@ -1012,7 +1194,7 @@ static u8 GetFreeStorySlot(void)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
if (sStorytellerPtr->gameStatIDs[i] == 0)
break;
@@ -1049,15 +1231,15 @@ static void GetStoryByStattellerPlayerName(u32 player, void *dst)
{
u8 *name = sStorytellerPtr->trainerNames[player];
- memset(dst, EOS, 8);
- memcpy(dst, name, 7);
+ memset(dst, EOS, PLAYER_NAME_LENGTH + 1);
+ memcpy(dst, name, PLAYER_NAME_LENGTH);
}
static void StorytellerSetPlayerName(u32 player, const u8 * src)
{
u8 * name = sStorytellerPtr->trainerNames[player];
- memset(name, EOS, 7);
- memcpy(name, src, 7);
+ memset(name, EOS, PLAYER_NAME_LENGTH);
+ memcpy(name, src, PLAYER_NAME_LENGTH);
}
@@ -1110,15 +1292,15 @@ static bool8 StorytellerInitializeRandomStat(void)
u8 stat = sStorytellerStories[arr[i]].stat;
u8 minVal = sStorytellerStories[arr[i]].minVal;
- for (j = 0; j < 4; j++)
+ for (j = 0; j < NUM_STORYTELLER_TALES; j++)
{
if (sStorytellerPtr->gameStatIDs[j] == stat)
break;
}
- if (j == 4 && StorytellerGetGameStat(stat) >= minVal)
+ if (j == NUM_STORYTELLER_TALES && StorytellerGetGameStat(stat) >= minVal)
{
sStorytellerPtr->alreadyRecorded = TRUE;
- if (GetFreeStorySlot() == 4)
+ if (GetFreeStorySlot() == NUM_STORYTELLER_TALES)
StorytellerRecordNewStat(sSelectedStory, stat);
else
StorytellerRecordNewStat(GetFreeStorySlot(), stat);
@@ -1132,7 +1314,7 @@ static void StorytellerDisplayStory(u32 player)
{
u8 stat = sStorytellerPtr->gameStatIDs[player];
- ConvertIntToDecimalStringN(gStringVar1, StorytellerGetRecordedTrainerStat(player), 0, 10);
+ ConvertIntToDecimalStringN(gStringVar1, StorytellerGetRecordedTrainerStat(player), STR_CONV_MODE_LEFT_ALIGN, 10);
StringCopy(gStringVar2, GetStoryActionByStat(stat));
GetStoryByStattellerPlayerName(player, gStringVar3);
ConvertInternationalString(gStringVar3, sStorytellerPtr->language[player]);
@@ -1144,7 +1326,7 @@ static void PrintStoryList(void)
s32 i;
s32 width = GetStringWidth(1, gText_Exit, 0);
u8 tileWidth;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
s32 curWidth;
u16 gameStatID = sStorytellerPtr->gameStatIDs[i];
@@ -1155,9 +1337,9 @@ static void PrintStoryList(void)
if (curWidth > width)
width = curWidth;
}
- sStorytellerWindowId = CreateWindowFromRect(0, 0, convert_pixel_width_to_tile_width(width), GetFreeStorySlot() * 2 + 2);
+ sStorytellerWindowId = CreateWindowFromRect(0, 0, ConvertPixelWidthToTileWidth(width), GetFreeStorySlot() * 2 + 2);
SetStandardWindowBorderStyle(sStorytellerWindowId, 0);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_STORYTELLER_TALES; i++)
{
u16 gameStatID = sStorytellerPtr->gameStatIDs[i];
if (gameStatID == 0)
@@ -1169,7 +1351,7 @@ static void PrintStoryList(void)
CopyWindowToVram(sStorytellerWindowId, 3);
}
-static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu
+static void Task_StoryListMenu(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s32 selection;
diff --git a/src/menu.c b/src/menu.c
index 8d50d4dcc..fb7f44ceb 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "blit.h"
#include "dma3.h"
@@ -62,7 +62,13 @@ static EWRAM_DATA u16 gUnknown_0203CDA8 = 0;
static EWRAM_DATA void *gUnknown_0203CDAC[0x20] = {NULL};
const u16 gUnknown_0860F074[] = INCBIN_U16("graphics/interface/860F074.gbapal");
-static const u8 gUnknown_0860F094[] = { 8, 4, 1 };
+
+static const u8 sTextSpeedFrameDelays[] =
+{
+ [OPTIONS_TEXT_SPEED_SLOW] = 8,
+ [OPTIONS_TEXT_SPEED_MID] = 4,
+ [OPTIONS_TEXT_SPEED_FAST] = 1
+};
static const struct WindowTemplate sStandardTextBox_WindowTemplates[] =
{
@@ -90,7 +96,7 @@ static const struct WindowTemplate sYesNo_WindowTemplates =
};
const u16 gUnknown_0860F0B0[] = INCBIN_U16("graphics/interface/860F0B0.gbapal");
-const u8 gUnknown_0860F0D0[] = { 15, 1, 2 };
+const u8 sTextColors[] = { TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY };
// Table of move info icon offsets in graphics/interface_fr/menu.png
const struct MoveMenuInfoIcon gMoveMenuInfoIcons[] =
@@ -480,7 +486,7 @@ u8 GetPlayerTextSpeedDelay(void)
if (gSaveBlock2Ptr->optionsTextSpeed > OPTIONS_TEXT_SPEED_FAST)
gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID;
speed = GetPlayerTextSpeed();
- return gUnknown_0860F094[speed];
+ return sTextSpeedFrameDelays[speed];
}
u8 sub_81979C4(u8 a1)
@@ -819,7 +825,7 @@ void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram)
0,
0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a2 - width,
1,
- gUnknown_0860F0D0,
+ sTextColors,
0,
string);
if (copyToVram)
@@ -836,15 +842,15 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo
{
if (a3 != 0)
{
- color[0] = 0;
- color[1] = 1;
- color[2] = 2;
+ color[0] = TEXT_COLOR_TRANSPARENT;
+ color[1] = TEXT_COLOR_WHITE;
+ color[2] = TEXT_COLOR_DARK_GREY;
}
else
{
- color[0] = 15;
- color[1] = 1;
- color[2] = 2;
+ color[0] = TEXT_DYNAMIC_COLOR_6;
+ color[1] = TEXT_COLOR_WHITE;
+ color[2] = TEXT_COLOR_DARK_GREY;
}
PutWindowTilemap(sWindowId);
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(15));
@@ -1433,13 +1439,13 @@ s8 sub_8199284(void)
sub_8199134(0, 1);
return MENU_NOTHING_CHOSEN;
}
- else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1)
+ else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED)
{
PlaySE(SE_SELECT);
sub_8199134(-1, 0);
return MENU_NOTHING_CHOSEN;
}
- else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2)
+ else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED)
{
PlaySE(SE_SELECT);
sub_8199134(1, 0);
@@ -1474,13 +1480,13 @@ s8 Menu_ProcessInputGridLayout(void)
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
- else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1)
+ else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED)
{
if (oldPos != sub_81991F8(-1, 0))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
- else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2)
+ else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED)
{
if (oldPos != sub_81991F8(1, 0))
PlaySE(SE_SELECT);
@@ -1513,13 +1519,13 @@ s8 sub_81993D8(void)
sub_8199134(0, 1);
return MENU_NOTHING_CHOSEN;
}
- else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || sub_812210C() == 1)
+ else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == MENU_L_PRESSED)
{
PlaySE(SE_SELECT);
sub_8199134(-1, 0);
return MENU_NOTHING_CHOSEN;
}
- else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || sub_812210C() == 2)
+ else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == MENU_R_PRESSED)
{
PlaySE(SE_SELECT);
sub_8199134(1, 0);
@@ -1554,13 +1560,13 @@ s8 sub_8199484(void)
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
- else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || sub_812210C() == 1)
+ else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == MENU_L_PRESSED)
{
if (oldPos != sub_81991F8(-1, 0))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
- else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || sub_812210C() == 2)
+ else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == MENU_R_PRESSED)
{
if (oldPos != sub_81991F8(1, 0))
PlaySE(SE_SELECT);
@@ -1868,7 +1874,7 @@ u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16
}
}
-void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
+void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
{
u8 i;
u8 j;
@@ -1883,7 +1889,7 @@ void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette)
}
}
-void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height)
+void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height)
{
u8 i;
u8 j;
@@ -2148,18 +2154,18 @@ void sub_819A344(u8 a0, u8 *dest, u8 color)
break;
case 1:
if (IsNationalPokedexEnabled())
- string = ConvertIntToDecimalStringN(string, GetNationalPokedexCount(1), 0, 3);
+ string = ConvertIntToDecimalStringN(string, GetNationalPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3);
else
- string = ConvertIntToDecimalStringN(string, GetHoennPokedexCount(1), 0, 3);
+ string = ConvertIntToDecimalStringN(string, GetHoennPokedexCount(FLAG_GET_CAUGHT), STR_CONV_MODE_LEFT_ALIGN, 3);
*string = EOS;
break;
case 2:
- string = ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeHours, 0, 3);
+ string = ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
*(string++) = CHAR_COLON;
- ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeMinutes, 2, 2);
+ ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
break;
case 3:
- sub_81245DC(string, gMapHeader.regionMapSectionId);
+ GetMapNameGeneric(string, gMapHeader.regionMapSectionId);
break;
case 4:
for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 1; curFlag <= FLAG_BADGE08_GET; curFlag++)
diff --git a/src/menu_helpers.c b/src/menu_helpers.c
index cb0d621c6..5b68828c8 100644
--- a/src/menu_helpers.c
+++ b/src/menu_helpers.c
@@ -33,10 +33,10 @@ static TaskFunc gUnknown_0300117C;
static const struct OamData sOamData_859F4E8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -251,27 +251,27 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1)
return FALSE;
}
-u8 GetLRKeysState(void)
+u8 GetLRKeysPressed(void)
{
if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR)
{
if (gMain.newKeys & L_BUTTON)
- return 1;
+ return MENU_L_PRESSED;
if (gMain.newKeys & R_BUTTON)
- return 2;
+ return MENU_R_PRESSED;
}
return 0;
}
-u8 sub_812210C(void)
+u8 GetLRKeysPressedAndHeld(void)
{
if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR)
{
if (gMain.newAndRepeatedKeys & L_BUTTON)
- return 1;
+ return MENU_L_PRESSED;
if (gMain.newAndRepeatedKeys & R_BUTTON)
- return 2;
+ return MENU_R_PRESSED;
}
return 0;
diff --git a/src/menu_specialized.c b/src/menu_specialized.c
index 1536cf413..252bb7604 100644
--- a/src/menu_specialized.c
+++ b/src/menu_specialized.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle_main.h"
#include "contest_effect.h"
#include "data.h"
@@ -72,9 +72,9 @@ static const struct WindowTemplate sUnknown_086253E8[] =
}
};
-static const u8 sUnknown_08625400[] =
+static const u8 sPlayerNameTextColors[] =
{
- 1, 2, 3
+ TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY
};
static const u8 sEmptyItemName[] = _("");
@@ -267,7 +267,7 @@ static void sub_81D1D44(u8 windowId, s32 itemId, u8 y)
length = StringLength(buffer);
if (length <= 5)
ConvertInternationalString(buffer, LANGUAGE_JAPANESE);
- AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, sUnknown_08625400, -1, buffer);
+ AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, sPlayerNameTextColors, -1, buffer);
}
u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page)
@@ -761,7 +761,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
AddTextPrinterParameterized(0, 1, str, 4, 0x19, TEXT_SPEED_FF, NULL);
x = 4 + GetStringWidth(1, gText_MoveRelearnerPP, 0);
- ConvertIntToDecimalStringN(buffer, move->pp, 0, 2);
+ ConvertIntToDecimalStringN(buffer, move->pp, STR_CONV_MODE_LEFT_ALIGN, 2);
AddTextPrinterParameterized(0, 1, buffer, x, 0x29, TEXT_SPEED_FF, NULL);
if (move->power < 2)
@@ -770,7 +770,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
}
else
{
- ConvertIntToDecimalStringN(buffer, move->power, 0, 3);
+ ConvertIntToDecimalStringN(buffer, move->power, STR_CONV_MODE_LEFT_ALIGN, 3);
str = buffer;
}
AddTextPrinterParameterized(0, 1, str, 0x6A, 0x19, TEXT_SPEED_FF, NULL);
@@ -781,7 +781,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
}
else
{
- ConvertIntToDecimalStringN(buffer, move->accuracy, 0, 3);
+ ConvertIntToDecimalStringN(buffer, move->accuracy, STR_CONV_MODE_LEFT_ALIGN, 3);
str = buffer;
}
AddTextPrinterParameterized(0, 1, str, 0x6A, 0x29, TEXT_SPEED_FF, NULL);
@@ -1104,14 +1104,14 @@ static const u32 gUnknown_086256A0[] = INCBIN_U32("graphics/pokenav/sparkle.4bpp
static const struct OamData sOamData_8625A20 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -1121,14 +1121,14 @@ static const struct OamData sOamData_8625A20 =
static const struct OamData sOamData_8625A28 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -1476,14 +1476,14 @@ static void sub_81D35E8(struct Sprite *sprite)
}
}
-static const u8 *const sLvlUpStatStrings[] =
+static const u8 *const sLvlUpStatStrings[NUM_STATS] =
{
- gUnknown_085EEA46,
- gUnknown_085EEA4E,
- gUnknown_085EEA55,
- gUnknown_085EEA63,
- gUnknown_085EEA6B,
- gUnknown_085EEA5D
+ gText_MaxHP,
+ gText_Attack,
+ gText_Defense,
+ gText_SpAtk,
+ gText_SpDef,
+ gText_Speed
};
void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr)
@@ -1517,7 +1517,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg
-1,
sLvlUpStatStrings[i]);
- StringCopy(text, (statsDiff[i] >= 0) ? gText_UnkCtrlF904 : gText_Dash);
+ StringCopy(text, (statsDiff[i] >= 0) ? gText_Plus : gText_Dash);
AddTextPrinterParameterized3(windowId,
1,
56,
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index 16298183b..435ad7233 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -244,7 +244,7 @@ static const u8 sTileBitAttributes[] =
[MB_CABLE_BOX_RESULTS_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_WIRELESS_BOX_RESULTS] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_TRAINER_HILL_TIMER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNKNOWN_CLOSED_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SKY_PILLAR_CLOSED_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_EB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_EC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
[MB_UNUSED_ED] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
@@ -1172,9 +1172,9 @@ bool8 MetatileBehavior_IsClosedSootopolisDoor(u8 metatileBehavior)
return FALSE;
}
-bool8 MetatileBehavior_IsUnknownClosedDoor(u8 metatileBehavior)
+bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8 metatileBehavior)
{
- if (metatileBehavior == MB_UNKNOWN_CLOSED_DOOR)
+ if (metatileBehavior == MB_SKY_PILLAR_CLOSED_DOOR)
return TRUE;
else
return FALSE;
diff --git a/src/mevent2.c b/src/mevent2.c
index f36e5d06b..0bbaf6db8 100755
--- a/src/mevent2.c
+++ b/src/mevent2.c
@@ -9,6 +9,7 @@
#include "string_util.h"
#include "new_game.h"
#include "mevent.h"
+#include "constants/mevent.h"
#include "constants/species.h"
static EWRAM_DATA bool32 gUnknown_02022C70 = FALSE;
@@ -131,8 +132,8 @@ void DestroyWonderCard(void)
sub_801B368();
sub_801B9F8();
ClearRamScript();
- sub_809D4D8();
- sub_809D570();
+ ClearMysteryEventFlags();
+ ClearMysteryEventVars();
ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
}
@@ -493,7 +494,7 @@ u16 mevent_081445C0(u32 command)
{
switch (command)
{
- case 0:
+ case GET_CARD_BATTLES_WON_INTERNAL:
{
struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
if (data->unk_08_0 == 2)
@@ -503,7 +504,7 @@ u16 mevent_081445C0(u32 command)
}
break;
}
- case 1:
+ case 1: // Never occurs
{
struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
if (data->unk_08_0 == 2)
@@ -513,7 +514,7 @@ u16 mevent_081445C0(u32 command)
}
break;
}
- case 2:
+ case 2: // Never occurs
{
struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
if (data->unk_08_0 == 2)
@@ -523,14 +524,14 @@ u16 mevent_081445C0(u32 command)
}
break;
}
- case 3:
+ case GET_NUM_STAMPS_INTERNAL:
{
struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
if (data->unk_08_0 == 1)
return sub_801B4CC();
break;
}
- case 4:
+ case GET_MAX_STAMPS_INTERNAL:
{
struct WonderCard *data = &gSaveBlock1Ptr->unk_322C.wonderCard.data;
if (data->unk_08_0 == 1)
diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c
index 8f5b2d636..8596b43cd 100644
--- a/src/mevent_801BAAC.c
+++ b/src/mevent_801BAAC.c
@@ -4,7 +4,7 @@
#include "gpu_regs.h"
#include "palette.h"
#include "decompress.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "pokemon_icon.h"
#include "union_room.h"
@@ -61,11 +61,11 @@ void sub_801C178(u8 whichWindow);
void sub_801C4C0(void);
void sub_801C61C(void);
-extern const struct OamData gUnknown_08524934;
+extern const struct OamData gOamData_AffineOff_ObjNormal_32x16;
-const u8 gUnknown_082F0E10[][3] = {
- {0, 2, 3},
- {0, 1, 2}
+const u8 sTextColorTable[][3] = {
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY},
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}
};
const u8 ALIGNED(4) gUnknown_082F0E18[3] = {7, 4, 7};
const struct WindowTemplate gUnknown_082F0E1C[] = {
@@ -138,7 +138,7 @@ const struct SpritePalette gUnknown_082F1D08[] = {
{gWonderCardShadowPal8, 0x8000}
};
const struct SpriteTemplate gUnknown_082F1D48 = {
- 0x8000, 0x8000, &gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ 0x8000, 0x8000, &gOamData_AffineOff_ObjNormal_32x16, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
};
const struct UnkStruct_8467FB8 gUnknown_082F1D60[8] = {
{1, 0, 0, 0, gWonderCardBgGfx1, gWonderCardBgTilemap1, gWonderCardBgPal1},
@@ -371,28 +371,28 @@ void sub_801C178(u8 whichWindow)
case 0:
{
s32 x;
- AddTextPrinterParameterized3(windowId, 3, 0, 1, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_018B);
+ AddTextPrinterParameterized3(windowId, 3, 0, 1, sTextColorTable[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_018B);
x = 160 - GetStringWidth(3, sWonderCardData->unk_01B4, GetFontAttribute(3, 2));
if (x < 0)
x = 0;
- AddTextPrinterParameterized3(windowId, 3, x, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01B4);
+ AddTextPrinterParameterized3(windowId, 3, x, 17, sTextColorTable[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01B4);
if (sWonderCardData->unk_0000.unk_04 != 0)
{
- AddTextPrinterParameterized3(windowId, 1, 166, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01DD);
+ AddTextPrinterParameterized3(windowId, 1, 166, 17, sTextColorTable[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01DD);
}
break;
}
case 1:
for (; sp0C < 4; sp0C++)
{
- AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal2], 0, sWonderCardData->unk_01E4[sp0C]);
+ AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, sTextColorTable[sWonderCardData->unk_0170->textPal2], 0, sWonderCardData->unk_01E4[sp0C]);
}
break;
case 2:
- AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_0288);
+ AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_0288);
if (sWonderCardData->unk_0000.unk_08_0 != 2)
{
- AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02B1);
+ AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02B1);
}
else
{
@@ -401,11 +401,11 @@ void sub_801C178(u8 whichWindow)
s32 spacing = GetFontAttribute(3, 2);
for (; sp0C < sWonderCardData->unk_0175; sp0C++)
{
- AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_01);
+ AddTextPrinterParameterized3(windowId, 3, x, y, sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_01);
if (sWonderCardData->unk_02DC[sp0C].unk_42[0] != EOS)
{
x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_01, spacing);
- AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_42);
+ AddTextPrinterParameterized3(windowId, 3, x, y, sTextColorTable[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_42);
x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_42, spacing) + sWonderCardData->unk_02DC[sp0C].unk_00;
}
}
@@ -445,7 +445,7 @@ void sub_801C61C(void)
{
u8 r6 = 0;
if (sWonderCardData->unk_017C != 0xFF)
- sub_80D2EF8(&gSprites[sWonderCardData->unk_017C]);
+ FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->unk_017C]);
if (sWonderCardData->unk_0000.unk_09 != 0 && sWonderCardData->unk_0000.unk_08_0 == 1)
{
for (; r6 < sWonderCardData->unk_0000.unk_09; r6++)
@@ -456,7 +456,7 @@ void sub_801C61C(void)
}
if (sWonderCardData->unk_017D[r6][1] != 0xFF)
{
- sub_80D2EF8(&gSprites[sWonderCardData->unk_017D[r6][1]]);
+ FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->unk_017D[r6][1]]);
}
}
FreeSpriteTilesByTag(0x8000);
diff --git a/src/mevent_client.c b/src/mevent_client.c
index ec8908af2..659b772df 100644
--- a/src/mevent_client.c
+++ b/src/mevent_client.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "overworld.h"
#include "script.h"
diff --git a/src/mevent_news.c b/src/mevent_news.c
index 192bb0fc7..9e78cf406 100644
--- a/src/mevent_news.c
+++ b/src/mevent_news.c
@@ -53,6 +53,7 @@ void sub_801DBDC(void)
}
}
+// Unused
u16 sub_801DC20(void)
{
u16 *r6 = &gSpecialVar_Result;
diff --git a/src/mevent_server.c b/src/mevent_server.c
index 06b10dd95..0d3afea30 100644
--- a/src/mevent_server.c
+++ b/src/mevent_server.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "script.h"
#include "mevent.h"
#include "mevent_server.h"
diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c
index 9d47ba745..616f394f7 100644
--- a/src/mevent_server_helpers.c
+++ b/src/mevent_server_helpers.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "util.h"
#include "link.h"
diff --git a/src/mirage_tower.c b/src/mirage_tower.c
index bb9c6e958..bb93bb497 100644
--- a/src/mirage_tower.c
+++ b/src/mirage_tower.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "event_data.h"
#include "event_object_movement.h"
@@ -139,10 +139,10 @@ static const union AnimCmd gSpriteAnim_8617DEC[] =
static const struct OamData gOamData_8617DF4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
diff --git a/src/mon_markings.c b/src/mon_markings.c
index f8b128045..db5df07e8 100644
--- a/src/mon_markings.c
+++ b/src/mon_markings.c
@@ -26,10 +26,10 @@ static const u8 gUnknown_0859E67C[] = INCBIN_U8("graphics/misc/mon_markings.4bpp
static const struct OamData gUnknown_0859EE7C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -43,10 +43,10 @@ static const struct OamData gUnknown_0859EE7C =
static const struct OamData gUnknown_0859EE84 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -152,10 +152,10 @@ static const union AnimCmd *const gUnknown_0859EF14[] =
static const struct OamData gUnknown_0859EF1C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
@@ -350,7 +350,7 @@ void sub_811FAA4(u8 markings, s16 x, s16 y)
u16 i;
sMenu->cursorPos = 0;
sMenu->markings = markings;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_MON_MARKINGS; i++)
sMenu->markingsArray[i] = (sMenu->markings >> i) & 1;
sub_811FC80(x, y, sMenu->baseTileTag, sMenu->basePaletteTag);
}
@@ -371,7 +371,7 @@ void sub_811FAF8(void)
DestroySprite(sMenu->menuWindowSprites[i]);
sMenu->menuWindowSprites[i] = NULL;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_MON_MARKINGS; i++)
{
if (!sMenu->menuMarkingSprites[i])
return;
@@ -422,7 +422,7 @@ bool8 sub_811FBA4(void)
{
case 4:
sMenu->markings = 0;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_MON_MARKINGS; i++)
sMenu->markings |= sMenu->markingsArray[i] << i;
return FALSE;
case 5:
@@ -498,7 +498,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
sprTemplate.callback = sub_811FF40;
sprTemplate.oam = &gUnknown_0859EE84;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_MON_MARKINGS; i++)
{
spriteId = CreateSprite(&sprTemplate, x + 32, y + 16 + 16 * i, 0);
if (spriteId != MAX_SPRITES)
@@ -520,12 +520,12 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
if (spriteId != MAX_SPRITES)
{
sMenu->menuTextSprite = &gSprites[spriteId];
- sMenu->menuTextSprite->oam.shape = ST_OAM_SQUARE;
- sMenu->menuTextSprite->oam.size = 2;
+ sMenu->menuTextSprite->oam.shape = SPRITE_SHAPE(32x32);
+ sMenu->menuTextSprite->oam.size = SPRITE_SIZE(32x32);
StartSpriteAnim(sMenu->menuTextSprite, 9);
sMenu->menuTextSprite->pos1.x = x + MENU_TEXT_SPRITE_X_OFFSET;
sMenu->menuTextSprite->pos1.y = y + 80;
- CalcCenterToCornerVec(sMenu->menuTextSprite, 1, 2, 0);
+ CalcCenterToCornerVec(sMenu->menuTextSprite, SPRITE_SHAPE(32x16), SPRITE_SIZE(32x16), ST_OAM_AFFINE_OFF);
}
else
{
diff --git a/src/money.c b/src/money.c
index 7b95a75ab..6213f2dd0 100644
--- a/src/money.c
+++ b/src/money.c
@@ -20,10 +20,10 @@ EWRAM_DATA static u8 sMoneyLabelSpriteId = 0;
static const struct OamData sOamData_MoneyLabel =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c
deleted file mode 100644
index d8adbe0c6..000000000
--- a/src/mossdeep_gym.c
+++ /dev/null
@@ -1,314 +0,0 @@
-#include "global.h"
-#include "event_object_movement.h"
-#include "fieldmap.h"
-#include "alloc.h"
-#include "mossdeep_gym.h"
-#include "script_movement.h"
-#include "constants/event_object_movement_constants.h"
-#include "constants/event_objects.h"
-
-// Movement scripts.
-extern const u8 gUnknown_08612698[];
-extern const u8 gUnknown_0861269C[];
-extern const u8 gUnknown_086126A0[];
-extern const u8 gUnknown_086126A4[];
-extern const u8 gUnknown_086126A8[];
-extern const u8 gUnknown_086126AA[];
-extern const u8 gUnknown_086126AC[];
-extern const u8 gUnknown_086126AE[];
-
-struct MossdeepSubStruct
-{
- u8 unk0;
- u8 eventTemplateId;
-};
-
-struct MossdeepStruct
-{
- struct MossdeepSubStruct objects[EVENT_OBJECTS_COUNT];
- u8 count;
- bool8 unk41;
-};
-
-// This file's functions.
-static void AddEventObject(u8 eventTemplateId, u8 arg1);
-static void sub_81A8D94(u8 eventTemplateId, u8 arg1);
-
-// EWRAM vars
-EWRAM_DATA static struct MossdeepStruct *gUnknown_0203CE50 = NULL;
-
-// code
-void InitMossdeepGymTiles(bool8 arg0)
-{
- if (gUnknown_0203CE50 == NULL)
- gUnknown_0203CE50 = AllocZeroed(sizeof(*gUnknown_0203CE50));
-
- gUnknown_0203CE50->unk41 = arg0;
-}
-
-void FinishMossdeepGymTiles(void)
-{
- u8 id;
-
- if (gUnknown_0203CE50 != NULL)
- FREE_AND_SET_NULL(gUnknown_0203CE50);
-
- id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
- EventObjectClearHeldMovementIfFinished(&gEventObjects[id]);
- sub_80D338C();
-}
-
-u16 MossdeepGym_MoveEvents(u8 arg0)
-{
- u8 i;
- struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
- u16 localId = 0;
-
- for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
- {
- s32 var;
- u8 r5;
- s16 x = events[i].x + 7;
- s16 y = events[i].y + 7;
- u16 metatile = MapGridGetMetatileIdAt(x, y);
-
- if (!gUnknown_0203CE50->unk41)
- var = 0x250;
- else
- var = 0x298;
-
- if (metatile < 0x250)
- continue;
-
- if ((u8)((metatile - var) / 8) >= 5)
- continue;
- if ((u8)((metatile - var) / 8) != arg0)
- continue;
-
- r5 = (u8)((metatile - var) % 8);
- if (r5 < 4)
- {
- s8 x = 0;
- s8 y = 0;
- const u8 *movementScript;
-
- switch (r5)
- {
- case 0:
- movementScript = gUnknown_08612698;
- x = 1;
- break;
- case 1:
- movementScript = gUnknown_0861269C;
- y = 1;
- break;
- case 2:
- movementScript = gUnknown_086126A0;
- x = -1;
- break;
- case 3:
- movementScript = gUnknown_086126A4;
- y = -1;
- break;
- default:
- continue;
- }
-
- events[i].x += x;
- events[i].y += y;
- if (GetEventObjectIdByLocalIdAndMap(events[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT)
- {
- AddEventObject(i, r5);
- localId = events[i].localId;
- ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript);
- }
- else
- {
- sub_81A8D94(i, r5);
- }
- }
- }
-
- return localId;
-}
-
-void MossdeepGym_TurnEvents(void)
-{
- u8 i;
- s32 var;
- struct EventObjectTemplate *events;
-
- if (gUnknown_0203CE50 == NULL)
- return;
-
- if (!gUnknown_0203CE50->unk41)
- var = 0x250;
- else
- var = 0x298;
-
- events = gSaveBlock1Ptr->eventObjectTemplates;
- for (i = 0; i < gUnknown_0203CE50->count; i++)
- {
- s32 r6;
- s8 r0;
- u8 eventObjectId;
- s16 x = events[gUnknown_0203CE50->objects[i].eventTemplateId].x + 7;
- s16 y = events[gUnknown_0203CE50->objects[i].eventTemplateId].y + 7;
- u16 metatile = MapGridGetMetatileIdAt(x, y);
-
- r0 = (u8)((metatile - var) % 8);
- r0 -= (gUnknown_0203CE50->objects[i].unk0);
- if (r0 < 0 || r0 == 3)
- {
- if (r0 == -3)
- r6 = 1;
- else
- r6 = 0;
- }
- else
- {
- if (r0 > 0)
- r6 = 1;
- else
- r6 = 2;
- }
-
- eventObjectId = GetEventObjectIdByLocalIdAndMap(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- if (eventObjectId != EVENT_OBJECTS_COUNT)
- {
- const u8 *movementScript;
- u8 direction = gEventObjects[eventObjectId].facingDirection;
- if (r6 == 0)
- {
- switch (direction)
- {
- case DIR_EAST:
- movementScript = gUnknown_086126AE;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
- break;
- case DIR_SOUTH:
- movementScript = gUnknown_086126A8;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
- break;
- case DIR_WEST:
- movementScript = gUnknown_086126AA;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
- break;
- case DIR_NORTH:
- movementScript = gUnknown_086126AC;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
- break;
- default:
- continue;
- }
- ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId,
- gSaveBlock1Ptr->location.mapNum,
- gSaveBlock1Ptr->location.mapGroup,
- movementScript);
- }
- else if (r6 == 1)
- {
- switch (direction)
- {
- case DIR_EAST:
- movementScript = gUnknown_086126AA;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
- break;
- case DIR_SOUTH:
- movementScript = gUnknown_086126AC;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
- break;
- case DIR_WEST:
- movementScript = gUnknown_086126AE;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
- break;
- case DIR_NORTH:
- movementScript = gUnknown_086126A8;
- events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
- break;
- default:
- continue;
- }
- ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId,
- gSaveBlock1Ptr->location.mapNum,
- gSaveBlock1Ptr->location.mapGroup,
- movementScript);
- }
- }
- }
-}
-
-static void AddEventObject(u8 eventTemplateId, u8 arg1)
-{
- gUnknown_0203CE50->objects[gUnknown_0203CE50->count].eventTemplateId = eventTemplateId;
- gUnknown_0203CE50->objects[gUnknown_0203CE50->count].unk0 = arg1;
- gUnknown_0203CE50->count++;
-}
-
-static void sub_81A8D94(u8 eventTemplateId, u8 arg1)
-{
- s8 r0;
- s32 r6;
- s32 var;
- u16 movementType;
- struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
- s16 x = events[eventTemplateId].x + 7;
- s16 y = events[eventTemplateId].y + 7;
- u16 metatile = MapGridGetMetatileIdAt(x, y);
-
- if (!gUnknown_0203CE50->unk41)
- var = 0x250;
- else
- var = 0x298;
-
- r0 = (u8)((metatile - var) % 8);
- r0 -= arg1;
- if (r0 < 0 || r0 == 3)
- r6 = 0;
- else if (r0 > 0 || r0 == -3)
- r6 = 1;
- else
- r6 = 2;
-
- movementType = events[eventTemplateId].movementType;
- if (r6 == 0)
- {
- switch (movementType)
- {
- case MOVEMENT_TYPE_FACE_RIGHT:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
- break;
- case MOVEMENT_TYPE_FACE_DOWN:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
- break;
- case MOVEMENT_TYPE_FACE_LEFT:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
- break;
- case MOVEMENT_TYPE_FACE_UP:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
- break;
- default:
- break;
- }
- }
- else if (r6 == 1)
- {
- switch (movementType)
- {
- case MOVEMENT_TYPE_FACE_RIGHT:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
- break;
- case MOVEMENT_TYPE_FACE_DOWN:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
- break;
- case MOVEMENT_TYPE_FACE_LEFT:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
- break;
- case MOVEMENT_TYPE_FACE_UP:
- events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
- break;
- default:
- break;
- }
- }
-}
diff --git a/src/move_relearner.c b/src/move_relearner.c
index 0b0b4a5aa..e88008689 100644
--- a/src/move_relearner.c
+++ b/src/move_relearner.c
@@ -9,7 +9,7 @@
#include "gpu_regs.h"
#include "move_relearner.h"
#include "list_menu.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "menu_specialized.h"
@@ -154,7 +154,7 @@ static EWRAM_DATA struct
{
u8 state;
u8 heartSpriteIds[16]; /*0x001*/
- u16 movesToLearn[4]; /*0x012*/
+ u16 movesToLearn[MAX_MON_MOVES]; /*0x012*/
u8 filler1A[0x44 - 0x1A]; /*0x01A*/
u8 partyMon; /*0x044*/
u8 moveSlot; /*0x045*/
@@ -183,14 +183,14 @@ static const u8 sMoveRelearnerSpriteSheetData[] = INCBIN_U8("graphics/interface/
static const struct OamData sHeartSpriteOamData =
{
.y = 0,
- .affineMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_SQUARE,
+ .shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -200,14 +200,14 @@ static const struct OamData sHeartSpriteOamData =
static const struct OamData sUnusedOam1 =
{
.y = 0,
- .affineMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_V_RECTANGLE,
+ .shape = SPRITE_SHAPE(8x16),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(8x16),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -217,14 +217,14 @@ static const struct OamData sUnusedOam1 =
static const struct OamData sUnusedOam2 =
{
.y = 0,
- .affineMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
- .shape = ST_OAM_H_RECTANGLE,
+ .shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
- .size = 0,
+ .size = SPRITE_SIZE(16x8),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -376,7 +376,7 @@ static void Task_WaitForFadeOut(u8 taskId)
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_InitLearnMove);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskId);
}
}
@@ -513,7 +513,7 @@ static void DoMoveRelearnerMain(void)
if (selection == 0)
{
- if (GiveMoveToMon(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove()) != 0xFFFF)
+ if (GiveMoveToMon(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove()) != MON_HAS_MAX_MOVES)
{
FormatAndPrintText(gText_MoveRelearnerPkmnLearnedMove);
gSpecialVar_0x8004 = TRUE;
@@ -778,7 +778,7 @@ static void HandleInput(bool8 showContest)
switch (itemId)
{
case LIST_NOTHING_CHOSEN:
- if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysState())
+ if (!(gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) && !GetLRKeysPressed())
{
break;
}
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index c77a48615..14c00fd96 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -152,7 +152,7 @@ static void CB2_MysteryEventMenu(void)
if (!IsTextPrinterActive(0))
{
gMain.state++;
- gLinkType = 0x5501;
+ gLinkType = LINKTYPE_0x5501;
OpenLink();
}
break;
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index dba914b51..76f340c60 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -286,7 +286,7 @@ bool8 MEScrCmd_givenationaldex(struct ScriptContext *ctx)
bool8 MEScrCmd_addrareword(struct ScriptContext *ctx)
{
- sub_811EFC0(ScriptReadByte(ctx));
+ UnlockAdditionalPhrase(ScriptReadByte(ctx));
StringExpandPlaceholders(gStringVar4, gText_MysteryGiftRareWord);
ctx->data[2] = 2;
return FALSE;
diff --git a/src/mystery_gift.c b/src/mystery_gift.c
index ab3df9020..9da5f060a 100644
--- a/src/mystery_gift.c
+++ b/src/mystery_gift.c
@@ -2,7 +2,7 @@
#include "main.h"
#include "text.h"
#include "task.h"
-#include "alloc.h"
+#include "malloc.h"
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "text_window.h"
@@ -921,7 +921,7 @@ static bool32 mevent_save_game(u8 * state)
(*state)++;
break;
case 1:
- TrySavingData(0);
+ TrySavingData(SAVE_NORMAL);
(*state)++;
break;
case 2:
diff --git a/src/naming_screen.c b/src/naming_screen.c
index 7da7d99b0..68eeded91 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "naming_screen.h"
-#include "alloc.h"
+#include "malloc.h"
#include "palette.h"
#include "task.h"
#include "sprite.h"
@@ -33,28 +33,11 @@ EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL;
extern u16 gKeyRepeatStartDelay;
// extern text
-extern const u8 gExpandedPlaceholder_Empty[];
-extern const u8 gText_PkmnTransferredSomeonesPC[];
-extern const u8 gText_PkmnTransferredLanettesPC[];
-extern const u8 gText_PkmnBoxSomeonesPCFull[];
-extern const u8 gText_PkmnBoxLanettesPCFull[];
extern const u8 gText_MoveOkBack[];
extern const u8 gText_YourName[];
extern const u8 gText_BoxName[];
extern const u8 gText_PkmnsNickname[];
extern const u8 gText_TellHimTheWords[];
-extern const u8 gUnknown_0862B88D[];
-extern const u8 gUnknown_0862B8AE[];
-extern const u8 gUnknown_0862B8CF[];
-extern const u8 gUnknown_0862B8F0[];
-extern const u8 gUnknown_0862B911[];
-extern const u8 gUnknown_0862B932[];
-extern const u8 gUnknown_0862B953[];
-extern const u8 gUnknown_0862B974[];
-extern const u8 gUnknown_0862B995[];
-extern const u8 gUnknown_0862B9AE[];
-extern const u8 gUnknown_0862B9C7[];
-extern const u8 gUnknown_0862B9E0[];
// start of .rodata
@@ -63,15 +46,15 @@ static const u8 gSpriteImage_858BCB8[] = INCBIN_U8("graphics/naming_screen/pc_ic
static const u16 gUnknown_0858BD78[] = INCBIN_U16("graphics/naming_screen/0.gbapal");
static const u16 gUnknown_0858BD98[] = INCBIN_U16("graphics/naming_screen/1.gbapal");
-static const u8 *const gUnknown_0858BDB8[] =
+static const u8 *const sTransferredToPCMessages[] =
{
gText_PkmnTransferredSomeonesPC,
gText_PkmnTransferredLanettesPC,
- gText_PkmnBoxSomeonesPCFull,
- gText_PkmnBoxLanettesPCFull
+ gText_PkmnTransferredSomeonesPCBoxFull,
+ gText_PkmnTransferredLanettesPCBoxFull
};
-static const u8 gUnknown_0858BDC8[] = _("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!");
+static const u8 sText_AlphabetUpperLower[] = _("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!");
static const struct BgTemplate gUnknown_0858BE00[] =
{
@@ -171,7 +154,7 @@ static const struct SpriteTemplate gUnknown_0858C138;
static const struct SpriteTemplate sSpriteTemplate_InputArrow;
static const struct SpriteTemplate sSpriteTemplate_Underscore;
static const struct SpriteTemplate gUnknown_0858C180;
-static const u8* const gUnknown_0858C198[][4];
+static const u8* const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT];
static const struct SpriteSheet gUnknown_0858C1C8[];
static const struct SpritePalette gUnknown_0858C230[];
@@ -238,7 +221,7 @@ static void NamingScreen_TurnOffScreen(void);
static void NamingScreen_InitDisplayMode(void);
static void VBlankCB_NamingScreen(void);
static void sub_80E501C(void);
-static bool8 sub_80E503C(u8);
+static bool8 IsLetter(u8);
void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback)
{
@@ -428,35 +411,52 @@ static void sub_80E31B0(u8 taskId)
}
}
-static const u8 gUnknown_0858BEBB[] = { 0, 2, 1 };
-static const u8 gUnknown_0858BEBE[] = { 1, 0, 2 };
-static const u8 gUnknown_0858BEC1[] = { 2, 1, 0 };
+static const u8 sPageOrderLowerFirst[] =
+{
+ KBPAGE_LETTERS_LOWER,
+ KBPAGE_SYMBOLS,
+ KBPAGE_LETTERS_UPPER
+};
+
+static const u8 sPageOrderUpperFirst[] =
+{
+ KBPAGE_LETTERS_UPPER,
+ KBPAGE_LETTERS_LOWER,
+ KBPAGE_SYMBOLS
+};
+
+static const u8 sPageOrderSymbolsFirst[] =
+{
+ KBPAGE_SYMBOLS,
+ KBPAGE_LETTERS_UPPER,
+ KBPAGE_LETTERS_LOWER
+};
static u8 sub_80E3244(u8 a1)
{
- return gUnknown_0858BEBB[a1];
+ return sPageOrderLowerFirst[a1];
}
static u8 sub_80E3254(void)
{
- return gUnknown_0858BEBE[gNamingScreenData->currentPage];
+ return sPageOrderUpperFirst[gNamingScreenData->currentPage];
}
static u8 sub_80E3274(void)
{
- return gUnknown_0858BEC1[gNamingScreenData->currentPage];
+ return sPageOrderSymbolsFirst[gNamingScreenData->currentPage];
}
static bool8 MainState_BeginFadeIn(void)
{
sub_80E4CF8(3, gUnknown_08DD4544);
- gNamingScreenData->currentPage = PAGE_UPPER;
+ gNamingScreenData->currentPage = KBPAGE_LETTERS_UPPER;
sub_80E4CF8(2, gUnknown_08DD46E0);
sub_80E4CF8(1, gUnknown_08DD4620);
- sub_80E4DE4(gNamingScreenData->windows[1], 0);
- sub_80E4DE4(gNamingScreenData->windows[0], 1);
- nullsub_10(2, 0);
- nullsub_10(1, 1);
+ sub_80E4DE4(gNamingScreenData->windows[1], KBPAGE_LETTERS_LOWER);
+ sub_80E4DE4(gNamingScreenData->windows[0], KBPAGE_LETTERS_UPPER);
+ nullsub_10(2, KBPAGE_LETTERS_LOWER);
+ nullsub_10(1, KBPAGE_LETTERS_UPPER);
sub_80E4D10();
sub_80E4964();
sub_80E4EF0();
@@ -541,23 +541,23 @@ static void DisplaySentToPCMessage(void)
{
u8 stringToDisplay = 0;
- if (!sub_813B260())
+ if (!IsDestinationBoxFull())
{
- StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN)));
+ StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON)));
StringCopy(gStringVar2, gNamingScreenData->destBuffer);
}
else
{
- StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN)));
+ StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON)));
StringCopy(gStringVar2, gNamingScreenData->destBuffer);
- StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id()));
+ StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon()));
stringToDisplay = 2;
}
if (FlagGet(FLAG_SYS_PC_LANETTE))
stringToDisplay++;
- StringExpandPlaceholders(gStringVar4, gUnknown_0858BDB8[stringToDisplay]);
+ StringExpandPlaceholders(gStringVar4, sTransferredToPCMessages[stringToDisplay]);
DrawDialogueFrame(0, 0);
gTextFlags.canABSpeedUpPrint = TRUE;
AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), 0, 2, 1, 3);
@@ -913,7 +913,7 @@ static void CursorInit(void)
gNamingScreenData->cursorSpriteId = CreateSprite(&gUnknown_0858C138, 38, 88, 1);
sub_80E3E3C(1);
gSprites[gNamingScreenData->cursorSpriteId].oam.priority = 1;
- gSprites[gNamingScreenData->cursorSpriteId].oam.objMode = 1;
+ gSprites[gNamingScreenData->cursorSpriteId].oam.objMode = ST_OAM_OBJ_BLEND;
gSprites[gNamingScreenData->cursorSpriteId].data[6] = 1;
gSprites[gNamingScreenData->cursorSpriteId].data[6] = 2;
SetCursorPos(0, 0);
@@ -1526,8 +1526,8 @@ static void TaskDummy3(void)
static const u8 sGenderColors[2][3] =
{
- {0, 9, 8},
- {0, 5, 4}
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_BLUE, TEXT_COLOR_BLUE},
+ {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_RED}
};
static void sub_80E49BC(void)
@@ -1660,7 +1660,7 @@ static void sub_80E4CF8(u8 bg, const void *src)
CopyToBgTilemapBuffer(bg, src, 0, 0);
}
-static void nullsub_10(u8 a1, u8 a2)
+static void nullsub_10(u8 a1, u8 page)
{
}
@@ -1678,8 +1678,8 @@ static void sub_80E4D10(void)
for (i = 0; i < maxChars; i++)
{
temp[0] = gNamingScreenData->textBuffer[i];
- temp[1] = gExpandedPlaceholder_Empty[0];
- unk2 = (sub_80E503C(temp[0]) == 1) ? 2 : 0;
+ temp[1] = gText_ExpandedPlaceholder_Empty[0];
+ unk2 = (IsLetter(temp[0]) == TRUE) ? 2 : 0;
AddTextPrinterParameterized(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL);
}
@@ -1689,43 +1689,43 @@ static void sub_80E4D10(void)
PutWindowTilemap(gNamingScreenData->windows[2]);
}
-struct TextColorThing // needed because of alignment... it's so stupid
+struct TextColor // Needed because of alignment
{
u8 colors[3][4];
};
-static const struct TextColorThing sUnkColorStruct =
+static const struct TextColor sTextColorStruct =
{
{
- {13, 1, 2},
- {14, 1, 2},
- {15, 1, 2}
+ {TEXT_DYNAMIC_COLOR_4, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY},
+ {TEXT_DYNAMIC_COLOR_5, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY},
+ {TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}
}
};
-static const u8 sFillValues[3] =
+static const u8 sFillValues[KBPAGE_COUNT] =
{
- PIXEL_FILL(0xE),
- PIXEL_FILL(0xD),
- PIXEL_FILL(0xF)
+ [KBPAGE_LETTERS_LOWER] = PIXEL_FILL(0xE),
+ [KBPAGE_LETTERS_UPPER] = PIXEL_FILL(0xD),
+ [KBPAGE_SYMBOLS] = PIXEL_FILL(0xF)
};
-static const u8 *const sUnkColors[3] =
+static const u8 *const sKeyboardTextColors[KBPAGE_COUNT] =
{
- sUnkColorStruct.colors[1],
- sUnkColorStruct.colors[0],
- sUnkColorStruct.colors[2]
+ [KBPAGE_LETTERS_LOWER] = sTextColorStruct.colors[1],
+ [KBPAGE_LETTERS_UPPER] = sTextColorStruct.colors[0],
+ [KBPAGE_SYMBOLS] = sTextColorStruct.colors[2]
};
-static void sub_80E4DE4(u8 window, u8 a1)
+static void sub_80E4DE4(u8 window, u8 page)
{
u8 i;
- FillWindowPixelBuffer(window, sFillValues[a1]);
+ FillWindowPixelBuffer(window, sFillValues[page]);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < KBROW_COUNT; i++)
{
- AddTextPrinterParameterized3(window, 1, 0, i * 16 + 1, sUnkColors[a1], 0, gUnknown_0858C198[a1][i]);
+ AddTextPrinterParameterized3(window, 1, 0, i * 16 + 1, sKeyboardTextColors[page], 0, sNamingScreenKeyboardText[page][i]);
}
PutWindowTilemap(window);
@@ -1767,7 +1767,7 @@ static void sub_80E4E5C(void)
static void sub_80E4EF0(void)
{
- const u8 color[3] = { 15, 1, 2 };
+ const u8 color[3] = { TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY };
FillWindowPixelBuffer(gNamingScreenData->windows[4], PIXEL_FILL(15));
AddTextPrinterParameterized3(gNamingScreenData->windows[4], 0, 2, 1, color, 0, gText_MoveOkBack);
@@ -1815,13 +1815,13 @@ static void sub_80E501C(void)
ShowBg(3);
}
-static bool8 sub_80E503C(u8 character)
+static bool8 IsLetter(u8 character)
{
u8 i;
- for (i = 0; gUnknown_0858BDC8[i] != EOS; i++)
+ for (i = 0; sText_AlphabetUpperLower[i] != EOS; i++)
{
- if (character == gUnknown_0858BDC8[i])
+ if (character == sText_AlphabetUpperLower[i])
return FALSE;
}
return FALSE;
@@ -1857,7 +1857,7 @@ static const struct NamingScreenTemplate playerNamingScreenTemplate =
.maxChars = 7,
.iconFunction = 1,
.addGenderIcon = 0,
- .initialPage = PAGE_UPPER,
+ .initialPage = KBPAGE_LETTERS_UPPER,
.unused = 35,
.title = gText_YourName,
};
@@ -1868,7 +1868,7 @@ static const struct NamingScreenTemplate pcBoxNamingTemplate =
.maxChars = 8,
.iconFunction = 2,
.addGenderIcon = 0,
- .initialPage = PAGE_UPPER,
+ .initialPage = KBPAGE_LETTERS_UPPER,
.unused = 19,
.title = gText_BoxName,
};
@@ -1879,7 +1879,7 @@ static const struct NamingScreenTemplate monNamingScreenTemplate =
.maxChars = 10,
.iconFunction = 3,
.addGenderIcon = 1,
- .initialPage = PAGE_UPPER,
+ .initialPage = KBPAGE_LETTERS_UPPER,
.unused = 35,
.title = gText_PkmnsNickname,
};
@@ -1890,7 +1890,7 @@ static const struct NamingScreenTemplate wandaWordsScreenTemplate =
.maxChars = 15,
.iconFunction = 4,
.addGenderIcon = 0,
- .initialPage = PAGE_UPPER,
+ .initialPage = KBPAGE_LETTERS_UPPER,
.unused = 11,
.title = gText_TellHimTheWords,
};
@@ -1948,37 +1948,170 @@ const struct OamData gOamData_858BFFC =
static const struct Subsprite gUnknown_0858C004[] =
{
- {-20, -16, 1, 1, 0, 1},
- { 12, -16, 0, 0, 4, 1},
- {-20, -8, 1, 1, 5, 1},
- { 12, -8, 0, 0, 9, 1},
- {-20, 0, 1, 1, 10, 1},
- { 12, 0, 0, 0, 14, 1},
- {-20, 8, 1, 1, 15, 1},
- { 12, 8, 0, 0, 19, 1}
+ {
+ .x = -20,
+ .y = -16,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 12,
+ .y = -16,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = -20,
+ .y = -8,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 5,
+ .priority = 1
+ },
+ {
+ .x = 12,
+ .y = -8,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 9,
+ .priority = 1
+ },
+ {
+ .x = -20,
+ .y = 0,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 10,
+ .priority = 1
+ },
+ {
+ .x = 12,
+ .y = 0,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 14,
+ .priority = 1
+ },
+ {
+ .x = -20,
+ .y = 8,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 15,
+ .priority = 1
+ },
+ {
+ .x = 12,
+ .y = 8,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 19,
+ .priority = 1
+ }
};
static const struct Subsprite gUnknown_0858C024[] =
{
- {-12, -4, 1, 0, 0, 1},
- { 4, -4, 0, 0, 2, 1}
+ {
+ .x = -12,
+ .y = -4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 4,
+ .y = -4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 2,
+ .priority = 1
+ }
};
static const struct Subsprite gUnknown_0858C02C[] =
{
- {-20, -12, 1, 1, 0, 1},
- { 12, -12, 0, 0, 4, 1},
- {-20, -4, 1, 1, 5, 1},
- { 12, -4, 0, 0, 9, 1},
- {-20, 4, 1, 1, 10, 1},
- { 12, 4, 0, 0, 14, 1}
+ {
+ .x = -20,
+ .y = -12,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 0,
+ .priority = 1
+ },
+ {
+ .x = 12,
+ .y = -12,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 4,
+ .priority = 1
+ },
+ {
+ .x = -20,
+ .y = -4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 5,
+ .priority = 1
+ },
+ {
+ .x = 12,
+ .y = -4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 9,
+ .priority = 1
+ },
+ {
+ .x = -20,
+ .y = 4,
+ .shape = SPRITE_SHAPE(32x8),
+ .size = SPRITE_SIZE(32x8),
+ .tileOffset = 10,
+ .priority = 1
+ },
+ {
+ .x = 12,
+ .y = 4,
+ .shape = SPRITE_SHAPE(8x8),
+ .size = SPRITE_SIZE(8x8),
+ .tileOffset = 14,
+ .priority = 1
+ }
};
static const struct Subsprite gUnknown_0858C044[] =
{
- {-8, -12, 1, 0, 0, 3},
- {-8, -4, 1, 0, 2, 3},
- {-8, 4, 1, 0, 4, 3}
+ {
+ .x = -8,
+ .y = -12,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 0,
+ .priority = 3
+ },
+ {
+ .x = -8,
+ .y = -4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 2,
+ .priority = 3
+ },
+ {
+ .x = -8,
+ .y = 4,
+ .shape = SPRITE_SHAPE(16x8),
+ .size = SPRITE_SIZE(16x8),
+ .tileOffset = 4,
+ .priority = 3
+ }
};
static const struct SubspriteTable gUnknown_0858C050[] =
@@ -2144,25 +2277,28 @@ static const struct SpriteTemplate gUnknown_0858C180 =
.callback = SpriteCallbackDummy
};
-static const u8* const gUnknown_0858C198[][4] =
+static const u8* const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT] =
{
+ [KBPAGE_LETTERS_LOWER] =
{
- gUnknown_0862B88D,
- gUnknown_0862B8AE,
- gUnknown_0862B8CF,
- gUnknown_0862B8F0
+ gText_NamingScreenKeyboard_abcdef,
+ gText_NamingScreenKeyboard_ghijkl,
+ gText_NamingScreenKeyboard_mnopqrs,
+ gText_NamingScreenKeyboard_tuvwxyz
},
+ [KBPAGE_LETTERS_UPPER] =
{
- gUnknown_0862B911,
- gUnknown_0862B932,
- gUnknown_0862B953,
- gUnknown_0862B974
+ gText_NamingScreenKeyboard_ABCDEF,
+ gText_NamingScreenKeyboard_GHIJKL,
+ gText_NamingScreenKeyboard_MNOPQRS,
+ gText_NamingScreenKeyboard_TUVWXYZ
},
+ [KBPAGE_SYMBOLS] =
{
- gUnknown_0862B995,
- gUnknown_0862B9AE,
- gUnknown_0862B9C7,
- gUnknown_0862B9E0
+ gText_NamingScreenKeyboard_01234,
+ gText_NamingScreenKeyboard_56789,
+ gText_NamingScreenKeyboard_Symbols1,
+ gText_NamingScreenKeyboard_Symbols2
},
};
diff --git a/src/new_game.c b/src/new_game.c
index b4d9ba9b3..464da6414 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -81,7 +81,7 @@ u32 GetTrainerId(u8 *trainerId)
void CopyTrainerId(u8 *dst, u8 *src)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
dst[i] = src[i];
}
@@ -122,8 +122,8 @@ static void ClearFrontierRecord(void)
{
CpuFill32(0, &gSaveBlock2Ptr->frontier, sizeof(gSaveBlock2Ptr->frontier));
- gSaveBlock2Ptr->frontier.opponentName[0][0] = EOS;
- gSaveBlock2Ptr->frontier.opponentName[1][0] = EOS;
+ gSaveBlock2Ptr->frontier.opponentNames[0][0] = EOS;
+ gSaveBlock2Ptr->frontier.opponentNames[1][0] = EOS;
}
static void WarpToTruck(void)
@@ -150,7 +150,7 @@ void ResetMenuAndMonGlobals(void)
void NewGameInitData(void)
{
- if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
+ if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT)
RtcReset();
gDifferentSaveFile = 1;
diff --git a/src/normal.c b/src/normal.c
index 2b592e199..7864dd9a3 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -64,7 +64,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate =
{
.tileTag = ANIM_TAG_DUCK,
.paletteTag = ANIM_TAG_DUCK,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_08597254,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_085972C0 =
{
.tileTag = ANIM_TAG_SPARKLE_4,
.paletteTag = ANIM_TAG_SPARKLE_4,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085972BC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -169,7 +169,7 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597348,
@@ -180,7 +180,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597348,
@@ -191,7 +191,7 @@ const struct SpriteTemplate gUnknown_08597388 =
{
.tileTag = ANIM_TAG_WATER_IMPACT,
.paletteTag = ANIM_TAG_WATER_IMPACT,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597348,
@@ -202,7 +202,7 @@ const struct SpriteTemplate gUnknown_085973A0 =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597348,
@@ -213,7 +213,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597348,
@@ -224,7 +224,7 @@ const struct SpriteTemplate gUnknown_085973D0 =
{
.tileTag = ANIM_TAG_CROSS_IMPACT,
.paletteTag = ANIM_TAG_CROSS_IMPACT,
- .oam = &gUnknown_08524A34,
+ .oam = &gOamData_AffineOff_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -235,7 +235,7 @@ const struct SpriteTemplate gUnknown_085973E8 =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597348,
@@ -246,7 +246,7 @@ const struct SpriteTemplate gUnknown_08597400 =
{
.tileTag = ANIM_TAG_IMPACT,
.paletteTag = ANIM_TAG_IMPACT,
- .oam = &gUnknown_08524A94,
+ .oam = &gOamData_AffineNormal_ObjBlend_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08597348,
diff --git a/src/option_menu.c b/src/option_menu.c
index 3ffb2738f..e0473b5c3 100644
--- a/src/option_menu.c
+++ b/src/option_menu.c
@@ -48,6 +48,13 @@ enum
WIN_OPTIONS
};
+#define YPOS_TEXTSPEED (MENUITEM_TEXTSPEED * 16)
+#define YPOS_BATTLESCENE (MENUITEM_BATTLESCENE * 16)
+#define YPOS_BATTLESTYLE (MENUITEM_BATTLESTYLE * 16)
+#define YPOS_SOUND (MENUITEM_SOUND * 16)
+#define YPOS_BUTTONMODE (MENUITEM_BUTTONMODE * 16)
+#define YPOS_FRAMETYPE (MENUITEM_FRAMETYPE * 16)
+
// this file's functions
static void Task_OptionMenuFadeIn(u8 taskId);
static void Task_OptionMenuProcessInput(u8 taskId);
@@ -80,13 +87,13 @@ static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/misc/option_menu_equals_si
static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] =
{
- gText_TextSpeed,
- gText_BattleScene,
- gText_BattleStyle,
- gText_Sound,
- gText_ButtonMode,
- gText_Frame,
- gText_OptionMenuCancel,
+ [MENUITEM_TEXTSPEED] = gText_TextSpeed,
+ [MENUITEM_BATTLESCENE] = gText_BattleScene,
+ [MENUITEM_BATTLESTYLE] = gText_BattleStyle,
+ [MENUITEM_SOUND] = gText_Sound,
+ [MENUITEM_BUTTONMODE] = gText_ButtonMode,
+ [MENUITEM_FRAMETYPE] = gText_Frame,
+ [MENUITEM_CANCEL] = gText_OptionMenuCancel,
};
static const struct WindowTemplate sOptionMenuWinTemplates[] =
@@ -280,12 +287,12 @@ static void Task_OptionMenuProcessInput(u8 taskId)
if (gTasks[taskId].data[TD_MENUSELECTION] > 0)
gTasks[taskId].data[TD_MENUSELECTION]--;
else
- gTasks[taskId].data[TD_MENUSELECTION] = 6;
+ gTasks[taskId].data[TD_MENUSELECTION] = MENUITEM_CANCEL;
HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]);
}
else if (gMain.newKeys & DPAD_DOWN)
{
- if (gTasks[taskId].data[TD_MENUSELECTION] <= 5)
+ if (gTasks[taskId].data[TD_MENUSELECTION] < MENUITEM_CANCEL)
gTasks[taskId].data[TD_MENUSELECTION]++;
else
gTasks[taskId].data[TD_MENUSELECTION] = 0;
@@ -431,7 +438,7 @@ static void TextSpeed_DrawChoices(u8 selection)
styles[2] = 0;
styles[selection] = 1;
- DrawOptionMenuChoice(gText_TextSpeedSlow, 104, 0, styles[0]);
+ DrawOptionMenuChoice(gText_TextSpeedSlow, 104, YPOS_TEXTSPEED, styles[0]);
widthSlow = GetStringWidth(1, gText_TextSpeedSlow, 0);
widthMid = GetStringWidth(1, gText_TextSpeedMid, 0);
@@ -439,9 +446,9 @@ static void TextSpeed_DrawChoices(u8 selection)
widthMid -= 94;
xMid = (widthSlow - widthMid - widthFast) / 2 + 104;
- DrawOptionMenuChoice(gText_TextSpeedMid, xMid, 0, styles[1]);
+ DrawOptionMenuChoice(gText_TextSpeedMid, xMid, YPOS_TEXTSPEED, styles[1]);
- DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), 0, styles[2]);
+ DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), YPOS_TEXTSPEED, styles[2]);
}
static u8 BattleScene_ProcessInput(u8 selection)
@@ -463,8 +470,8 @@ static void BattleScene_DrawChoices(u8 selection)
styles[1] = 0;
styles[selection] = 1;
- DrawOptionMenuChoice(gText_BattleSceneOn, 104, 16, styles[0]);
- DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), 16, styles[1]);
+ DrawOptionMenuChoice(gText_BattleSceneOn, 104, YPOS_BATTLESCENE, styles[0]);
+ DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), YPOS_BATTLESCENE, styles[1]);
}
static u8 BattleStyle_ProcessInput(u8 selection)
@@ -486,8 +493,8 @@ static void BattleStyle_DrawChoices(u8 selection)
styles[1] = 0;
styles[selection] = 1;
- DrawOptionMenuChoice(gText_BattleStyleShift, 104, 32, styles[0]);
- DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), 32, styles[1]);
+ DrawOptionMenuChoice(gText_BattleStyleShift, 104, YPOS_BATTLESTYLE, styles[0]);
+ DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), YPOS_BATTLESTYLE, styles[1]);
}
static u8 Sound_ProcessInput(u8 selection)
@@ -510,8 +517,8 @@ static void Sound_DrawChoices(u8 selection)
styles[1] = 0;
styles[selection] = 1;
- DrawOptionMenuChoice(gText_SoundMono, 104, 48, styles[0]);
- DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), 48, styles[1]);
+ DrawOptionMenuChoice(gText_SoundMono, 104, YPOS_SOUND, styles[0]);
+ DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), YPOS_SOUND, styles[1]);
}
static u8 FrameType_ProcessInput(u8 selection)
@@ -568,8 +575,8 @@ static void FrameType_DrawChoices(u8 selection)
text[i] = EOS;
- DrawOptionMenuChoice(gText_FrameType, 104, 80, 0);
- DrawOptionMenuChoice(text, 128, 80, 1);
+ DrawOptionMenuChoice(gText_FrameType, 104, YPOS_FRAMETYPE, 0);
+ DrawOptionMenuChoice(text, 128, YPOS_FRAMETYPE, 1);
}
static u8 ButtonMode_ProcessInput(u8 selection)
@@ -605,7 +612,7 @@ static void ButtonMode_DrawChoices(u8 selection)
styles[2] = 0;
styles[selection] = 1;
- DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, 64, styles[0]);
+ DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, YPOS_BUTTONMODE, styles[0]);
widthNormal = GetStringWidth(1, gText_ButtonTypeNormal, 0);
widthLR = GetStringWidth(1, gText_ButtonTypeLR, 0);
@@ -613,9 +620,9 @@ static void ButtonMode_DrawChoices(u8 selection)
widthLR -= 94;
xLR = (widthNormal - widthLR - widthLA) / 2 + 104;
- DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, 64, styles[1]);
+ DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, YPOS_BUTTONMODE, styles[1]);
- DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), 64, styles[2]);
+ DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), YPOS_BUTTONMODE, styles[2]);
}
static void DrawTextOption(void)
diff --git a/src/overworld.c b/src/overworld.c
index 819f9ac4e..e11dbbfda 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -26,7 +26,7 @@
#include "link_rfu.h"
#include "load_save.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "m4a.h"
#include "map_name_popup.h"
#include "match_call.h"
@@ -64,6 +64,7 @@
#include "constants/region_map_sections.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/trainer_hill.h"
#include "constants/weather.h"
#define PLAYER_TRADING_STATE_IDLE 0x80
@@ -85,19 +86,19 @@
extern const u8 EventScript_WhiteOut[];
extern const u8 EventScript_ResetMrBriney[];
extern const u8 EventScript_DoLinkRoomExit[];
-extern const u8 gEventScript_TradeRoom_TooBusyToNotice[];
-extern const u8 gEventScript_TradeRoom_ReadTrainerCard_NoColor[];
-extern const u8 gEventScript_TradeRoom_ReadTrainerCard_Normal[];
-extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot0[];
-extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot1[];
-extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot2[];
-extern const u8 EventScript_DoubleBattleColosseum_PlayerSpot3[];
+extern const u8 CableClub_EventScript_TooBusyToNotice[];
+extern const u8 CableClub_EventScript_ReadTrainerCard[];
+extern const u8 CableClub_EventScript_ReadTrainerCardColored[];
+extern const u8 EventScript_BattleColosseum_4P_PlayerSpot0[];
+extern const u8 EventScript_BattleColosseum_4P_PlayerSpot1[];
+extern const u8 EventScript_BattleColosseum_4P_PlayerSpot2[];
+extern const u8 EventScript_BattleColosseum_4P_PlayerSpot3[];
extern const u8 EventScript_RecordCenter_Spot0[];
extern const u8 EventScript_RecordCenter_Spot1[];
extern const u8 EventScript_RecordCenter_Spot2[];
extern const u8 EventScript_RecordCenter_Spot3[];
-extern const u8 EventScript_SingleBattleColosseum_PlayerSpot0[];
-extern const u8 EventScript_SingleBattleColosseum_PlayerSpot1[];
+extern const u8 EventScript_BattleColosseum_2P_PlayerSpot0[];
+extern const u8 EventScript_BattleColosseum_2P_PlayerSpot1[];
extern const u8 EventScript_TradeCenter_Chair1[];
extern const u8 EventScript_TradeCenter_Chair0[];
extern const u8 EventScript_ConfirmLeaveTradeRoom[];
@@ -431,11 +432,11 @@ static void Overworld_ResetStateAfterWhiteOut(void)
FlagClear(FLAG_SYS_USE_STRENGTH);
FlagClear(FLAG_SYS_USE_FLASH);
// If you were defeated by Kyogre/Groudon and the step counter has
- // maxed out, end the unusual weather.
- if (VarGet(VAR_SHOULD_END_UNUSUAL_WEATHER) == 1)
+ // maxed out, end the abnormal weather.
+ if (VarGet(VAR_SHOULD_END_ABNORMAL_WEATHER) == 1)
{
- VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 0);
- VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE);
+ VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 0);
+ VarSet(VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_NONE);
}
}
@@ -851,10 +852,10 @@ static void mli0_load_map(u32 a1)
LoadCurrentMapData();
if (!(sUnknown_020322D8 & 1))
{
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
LoadBattlePyramidEventObjectTemplates();
else if (InTrainerHill())
- sub_81D5DF8();
+ LoadTrainerHillEventObjectTemplates();
else
LoadEventObjTemplatesFromHeader();
}
@@ -862,7 +863,7 @@ static void mli0_load_map(u32 a1)
isOutdoors = IsMapTypeOutdoors(gMapHeader.mapType);
isIndoors = IsMapTypeIndoors(gMapHeader.mapType);
- sub_80EB218();
+ CheckLeftFriendsSecretBase();
TrySetMapSaveWarpStatus();
ClearTempFieldEventData();
ResetCyclingRoadChallengeData();
@@ -879,7 +880,7 @@ static void mli0_load_map(u32 a1)
RunOnTransitionMapScript();
UpdateLocationHistoryForRoamer();
RoamerMoveToOtherLocationSet();
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
InitBattlePyramidMap(FALSE);
else if (InTrainerHill())
InitTrainerHillMap();
@@ -977,7 +978,7 @@ static u16 GetCenterScreenMetatileBehavior(void)
bool32 Overworld_IsBikingAllowed(void)
{
- if (!(gMapHeader.flags & 1))
+ if (!(gMapHeader.flags & MAP_ALLOW_BIKE))
return FALSE;
else
return TRUE;
@@ -1183,7 +1184,7 @@ void Overworld_ClearSavedMusic(void)
static void sub_8085810(void)
{
- if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE)
+ if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE)
{
u16 newMusic = GetWarpDestinationMusic();
u16 currentMusic = GetCurrentMapMusic();
@@ -1231,7 +1232,7 @@ void TryFadeOutOldMapMusic(void)
{
u16 currentMusic = GetCurrentMapMusic();
u16 warpMusic = GetWarpDestinationMusic();
- if (FlagGet(FLAG_SPECIAL_FLAG_0x4001) != TRUE && warpMusic != GetCurrentMapMusic())
+ if (FlagGet(FLAG_DONT_TRANSITION_MUSIC) != TRUE && warpMusic != GetCurrentMapMusic())
{
if (currentMusic == MUS_NAMINORI
&& VarGet(VAR_SKY_PILLAR_STATE) == 2
@@ -1525,7 +1526,7 @@ static bool8 map_post_load_hook_exec(void)
if (gFieldCallback)
gFieldCallback();
else
- mapldr_default();
+ FieldCB_DefaultWarpExit();
gFieldCallback = NULL;
}
@@ -1564,7 +1565,7 @@ void CB2_WhiteOut(void)
ResetInitialPlayerAvatarState();
ScriptContext1_Init();
ScriptContext2_Disable();
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
val = 0;
do_load_map_stuff_loop(&val);
SetFieldVBlankCallback();
@@ -1608,10 +1609,10 @@ void sub_8086024(void)
}
}
-void sub_8086074(void)
+void CB2_ReturnToFieldCableClub(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF314;
+ gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
SetMainCallback2(c2_80567AC);
}
@@ -1662,9 +1663,9 @@ void CB2_ReturnToFieldFromMultiplayer(void)
ResetAllMultiplayerState();
if (gWirelessCommType != 0)
- gFieldCallback = sub_80AF314;
+ gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
else
- gFieldCallback = sub_80AF214;
+ gFieldCallback = FieldCB_ReturnToFieldCableLink;
ScriptContext1_Init();
ScriptContext2_Disable();
@@ -1674,36 +1675,36 @@ void CB2_ReturnToFieldFromMultiplayer(void)
void CB2_ReturnToFieldWithOpenMenu(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback2 = sub_80AF6A4;
+ gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu;
CB2_ReturnToField();
}
void CB2_ReturnToFieldContinueScript(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF188;
+ gFieldCallback = FieldCB_ContinueScript;
CB2_ReturnToField();
}
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
CB2_ReturnToField();
}
void sub_80861E8(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
CB2_ReturnToField();
}
static void sub_8086204(void)
{
- if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE)
+ if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE)
ShowMapNamePopup();
- sub_80AF3C8();
+ FieldCB_WarpExitFadeFromBlack();
}
void CB2_ContinueSavedGame(void)
@@ -1713,23 +1714,23 @@ void CB2_ContinueSavedGame(void)
FieldClearVBlankHBlankCallbacks();
StopMapMusic();
ResetSafariZoneFlag_();
- if (gSaveFileStatus == 0xFF)
- sub_81A3908();
+ if (gSaveFileStatus == SAVE_STATUS_ERROR)
+ ResetWinStreaks();
LoadSaveblockMapHeader();
ClearDiveAndHoleWarps();
trainerHillMapId = GetCurrentTrainerHillMapId();
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
LoadBattlePyramidFloorEventObjectScripts();
- else if (trainerHillMapId != 0 && trainerHillMapId != 6)
- sub_81D5F48();
+ else if (trainerHillMapId != 0 && trainerHillMapId != TRAINER_HILL_ENTRANCE)
+ LoadTrainerHillFloorEventObjectScripts();
else
LoadSaveblockEventObjScripts();
UnfreezeEventObjects();
DoTimeBasedEvents();
sub_8084788();
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
InitBattlePyramidMap(TRUE);
else if (trainerHillMapId != 0)
InitTrainerHillMap();
@@ -1759,7 +1760,7 @@ void CB2_ContinueSavedGame(void)
static void FieldClearVBlankHBlankCallbacks(void)
{
- if (warp0_in_pokecenter() == TRUE)
+ if (UsedPokemonCenterWarp() == TRUE)
CloseLink();
if (gWirelessCommType != 0)
@@ -1947,7 +1948,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2)
(*state)++;
break;
case 11:
- if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE)
+ if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE)
ShowMapNamePopup();
(*state)++;
break;
@@ -2435,7 +2436,7 @@ static void UpdateAllLinkPlayers(u16 *keys, s32 selfId)
struct TradeRoomPlayer trainer;
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_LINK_PLAYERS; i++)
{
u8 key = keys[i];
u16 setFacing = FACING_NONE;
@@ -2742,7 +2743,7 @@ static bool32 PlayerIsAtSouthExit(struct TradeRoomPlayer *player)
return FALSE;
else if (!MetatileBehavior_IsSouthArrowWarp(player->field_C))
return FALSE;
- else if (player->facing != 1)
+ else if (player->facing != DIR_SOUTH)
return FALSE;
else
return TRUE;
@@ -2765,13 +2766,13 @@ static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *player)
if (linkPlayerId != 4)
{
if (!player->isLocalPlayer)
- return gEventScript_TradeRoom_TooBusyToNotice;
+ return CableClub_EventScript_TooBusyToNotice;
else if (sPlayerTradingStates[linkPlayerId] != PLAYER_TRADING_STATE_IDLE)
- return gEventScript_TradeRoom_TooBusyToNotice;
+ return CableClub_EventScript_TooBusyToNotice;
else if (!GetLinkTrainerCardColor(linkPlayerId))
- return gEventScript_TradeRoom_ReadTrainerCard_NoColor;
+ return CableClub_EventScript_ReadTrainerCard;
else
- return gEventScript_TradeRoom_ReadTrainerCard_Normal;
+ return CableClub_EventScript_ReadTrainerCardColored;
}
return GetInteractedLinkPlayerScript(&otherPlayerPos, player->field_C, player->facing);
@@ -2781,13 +2782,13 @@ static const u8 *TryInteractWithPlayer(struct TradeRoomPlayer *player)
// these event scripts runs.
static u16 GetDirectionForEventScript(const u8 *script)
{
- if (script == EventScript_DoubleBattleColosseum_PlayerSpot0)
+ if (script == EventScript_BattleColosseum_4P_PlayerSpot0)
return FACING_FORCED_RIGHT;
- else if (script == EventScript_DoubleBattleColosseum_PlayerSpot1)
+ else if (script == EventScript_BattleColosseum_4P_PlayerSpot1)
return FACING_FORCED_LEFT;
- else if (script == EventScript_DoubleBattleColosseum_PlayerSpot2)
+ else if (script == EventScript_BattleColosseum_4P_PlayerSpot2)
return FACING_FORCED_RIGHT;
- else if (script == EventScript_DoubleBattleColosseum_PlayerSpot3)
+ else if (script == EventScript_BattleColosseum_4P_PlayerSpot3)
return FACING_FORCED_LEFT;
else if (script == EventScript_RecordCenter_Spot0)
return FACING_FORCED_RIGHT;
@@ -2797,9 +2798,9 @@ static u16 GetDirectionForEventScript(const u8 *script)
return FACING_FORCED_RIGHT;
else if (script == EventScript_RecordCenter_Spot3)
return FACING_FORCED_LEFT;
- else if (script == EventScript_SingleBattleColosseum_PlayerSpot0)
+ else if (script == EventScript_BattleColosseum_2P_PlayerSpot0)
return FACING_FORCED_RIGHT;
- else if (script == EventScript_SingleBattleColosseum_PlayerSpot1)
+ else if (script == EventScript_BattleColosseum_2P_PlayerSpot1)
return FACING_FORCED_LEFT;
else if (script == EventScript_TradeCenter_Chair0)
return FACING_FORCED_RIGHT;
@@ -3026,7 +3027,7 @@ static s32 sub_80878E4(u8 linkPlayerId)
static u8 GetLinkPlayerIdAt(s16 x, s16 y)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_LINK_PLAYERS; i++)
{
if (gLinkPlayerEventObjects[i].active
&& (gLinkPlayerEventObjects[i].movementMode == 0 || gLinkPlayerEventObjects[i].movementMode == 2))
diff --git a/src/party_menu.c b/src/party_menu.c
index f4b749bde..bc4cf8c0b 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_anim.h"
#include "battle_controllers.h"
@@ -72,11 +72,26 @@
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/moves.h"
+#include "constants/party_menu.h"
#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/vars.h"
+#define PARTY_PAL_SELECTED (1 << 0)
+#define PARTY_PAL_FAINTED (1 << 1)
+#define PARTY_PAL_TO_SWITCH (1 << 2)
+#define PARTY_PAL_MULTI_ALT (1 << 3)
+#define PARTY_PAL_SWITCHING (1 << 4)
+#define PARTY_PAL_TO_SOFTBOIL (1 << 5)
+#define PARTY_PAL_NO_MON (1 << 6)
+#define PARTY_PAL_UNUSED (1 << 7)
+
+#define MENU_DIR_DOWN 1
+#define MENU_DIR_UP -1
+#define MENU_DIR_RIGHT 2
+#define MENU_DIR_LEFT -2
+
enum
{
CAN_LEARN_MOVE,
@@ -85,28 +100,28 @@ enum
CANNOT_LEARN_MOVE_IS_EGG
};
-struct Unk_Rodata1
+struct PartyMenuBoxInfoRects
{
- void (*unk0)(u8, u8, u8, u8, u8, u8);
- u8 unk4[24];
- u8 unk1C;
- u8 unk1D;
- u8 unk1E;
- u8 unk1F;
+ void (*blitFunc)(u8, u8, u8, u8, u8, u8);
+ u8 dimensions[24];
+ u8 descTextLeft;
+ u8 descTextTop;
+ u8 descTextWidth;
+ u8 descTextHeight;
};
-struct Struct203CEC4
+struct PartyMenuInternal
{
TaskFunc task;
MainCallback exitCallback;
- u32 unk8_0:1;
- u32 unk8_1:3;
- u32 unk8_2:7;
- u32 unk9_0:7;
+ u32 chooseHalf:1;
+ u32 lastSelectedSlot:3; // Used to return to same slot when going left/right bewtween columns
+ u32 spriteIdConfirmPokeball:7;
+ u32 spriteIdCancelPokeball:7;
u32 messageId:14;
u8 windowId[3];
u8 actions[8];
- u8 listSize;
+ u8 numActions;
// In vanilla Emerald, only the first 0xB0 hwords (0x160 bytes) are actually used.
// However, a full 0x100 hwords (0x200 bytes) are allocated.
// It is likely that the 0x160 value used below is a constant defined by
@@ -115,10 +130,10 @@ struct Struct203CEC4
s16 data[16];
};
-struct Struct203CEDC
+struct PartyMenuBox
{
- const struct Unk_Rodata1 *unk0;
- const u8 *unk4;
+ const struct PartyMenuBoxInfoRects *infoRects;
+ const u8 *spriteCoords;
u8 windowId;
u8 monSpriteId;
u8 itemSpriteId;
@@ -127,268 +142,267 @@ struct Struct203CEDC
};
// EWRAM vars
-static EWRAM_DATA struct Struct203CEC4 *gUnknown_0203CEC4 = NULL;
-EWRAM_DATA struct Struct203CEC8 gUnknown_0203CEC8 = {0};
-static EWRAM_DATA struct Struct203CEDC *gUnknown_0203CEDC = NULL;
-static EWRAM_DATA u8 *gUnknown_0203CEE0 = NULL;
-static EWRAM_DATA u8 *gUnknown_0203CEE4 = NULL;
-EWRAM_DATA u8 gUnknown_0203CEE8 = 0;
-EWRAM_DATA u8 gUnknown_0203CEE9 = 0;
+static EWRAM_DATA struct PartyMenuInternal *sPartyMenuInternal = NULL;
+EWRAM_DATA struct PartyMenu gPartyMenu = {0};
+static EWRAM_DATA struct PartyMenuBox *sPartyMenuBoxes = NULL;
+static EWRAM_DATA u8 *sPartyBgGfxTilemap = NULL;
+static EWRAM_DATA u8 *sPartyBgTilemapBuffer = NULL;
+EWRAM_DATA bool8 gPartyMenuUseExitCallback = 0;
+EWRAM_DATA u8 gSelectedMonPartyId = 0;
EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL;
-static EWRAM_DATA u16 *gUnknown_0203CEF0 = 0;
-static EWRAM_DATA u16 *gUnknown_0203CEF4 = 0;
+static EWRAM_DATA u16 *sSlot1TilemapBuffer = 0; // for switching party slots
+static EWRAM_DATA u16 *sSlot2TilemapBuffer = 0; //
EWRAM_DATA u8 gSelectedOrderFromParty[4] = {0};
-static EWRAM_DATA u16 gUnknown_0203CEFC = 0;
-static EWRAM_DATA u16 gUnknown_0203CEFE = 0; // unused
-EWRAM_DATA u8 gUnknown_0203CF00[3] = {0};
+static EWRAM_DATA u16 sPartyMenuItemId = 0;
+static EWRAM_DATA u16 sUnused_0203CEFE = 0;
+EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on
// IWRAM common
-void (*gUnknown_03006328)(u8, TaskFunc);
+void (*gItemUseCB)(u8, TaskFunc);
-static void reset_brm(void);
-static void PartyMenuInitCallback(void);
-static bool8 PartyMenuSetup(void);
-static void sub_81B209C(void);
-static void PartyMenuExit(void);
+static void ResetPartyMenu(void);
+static void CB2_InitPartyMenu(void);
+static bool8 ShowPartyMenu(void);
+static void SetPartyMonsAllowedInMinigame(void);
+static void ExitPartyMenu(void);
static bool8 AllocPartyMenuBg(void);
-static bool8 AllocPartyMiscGfx(void);
-static void sub_81B239C(u8);
-static void PartyMenuInitHelperStructs(u8);
+static bool8 AllocPartyMenuBgGfx(void);
+static void InitPartyMenuWindows(u8);
+static void InitPartyMenuBoxes(u8);
static void LoadPartyMenuPokeballGfx(void);
static void LoadPartyMenuAilmentGfx(void);
-static bool8 party_menu_add_per_mon_objects(void);
+static bool8 CreatePartyMonSpritesLoop(void);
static bool8 RenderPartyMenuBoxes(void);
-static void sub_81B0F28(void);
-static void sub_81B2428(u8);
-static void PartyMenuExitTask(u8);
+static void CreateCancelConfirmPokeballSprites(void);
+static void CreateCancelConfirmWindows(u8);
+static void Task_ExitPartyMenu(u8);
static void FreePartyPointers(void);
static void PartyPaletteBufferCopy(u8);
-static void sub_81B0CEC(u8);
-static void UpdateSelectedPartyBox(struct Struct203CEDC *, u8);
+static void DisplayPartyPokemonDataForMultiBattle(u8);
+static void LoadPartyBoxPalette(struct PartyMenuBox *, u8);
static void DrawEmptySlot(u8 windowId);
-static void DisplayPartyPokemonSelectForRelearner(u8);
-static void DisplayPartyPokemonSelectForContest(u8);
-static void DisplayPartyPokemonSelectForBattle(u8);
-static void sub_81B0B98(u8);
-static void DisplayPartyPokemonSelectHeldItemRelated(u8);
-static bool8 sub_81B0BFC(u8);
+static void DisplayPartyPokemonDataForRelearner(u8);
+static void DisplayPartyPokemonDataForContest(u8);
+static void DisplayPartyPokemonDataForChooseHalf(u8);
+static void DisplayPartyPokemonDataForWirelessMinigame(u8);
+static void DisplayPartyPokemonDataForBattlePyramidHeldItem(u8);
+static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8);
static void DisplayPartyPokemonData(u8);
-static void DisplayPartyPokemonNickname(struct Pokemon *, struct Struct203CEDC *, u8);
-static void DisplayPartyPokemonLevelCheck(struct Pokemon *, struct Struct203CEDC *, u8);
-static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *, struct Struct203CEDC *, u8);
-static void DisplayPartyPokemonHPCheck(struct Pokemon *, struct Struct203CEDC *, u8);
-static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *, struct Struct203CEDC *, u8);
-static void DisplayPartyPokemonHPBarCheck(struct Pokemon *, struct Struct203CEDC *);
-static void DisplayPartyPokemonOtherText(u8, struct Struct203CEDC *, u8);
-static u8 sub_81B8830(void);
-static bool8 GetBattleEntryEligibility(struct Pokemon *);
-static bool8 sub_81B218C(u8);
-static void DisplayPartyPokemonSelectToTeachMove(u8, u16, u8);
+static void DisplayPartyPokemonNickname(struct Pokemon *, struct PartyMenuBox *, u8);
+static void DisplayPartyPokemonLevelCheck(struct Pokemon *, struct PartyMenuBox *, u8);
+static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *, struct PartyMenuBox *, u8);
+static void DisplayPartyPokemonHPCheck(struct Pokemon *, struct PartyMenuBox *, u8);
+static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *, struct PartyMenuBox *, u8);
+static void DisplayPartyPokemonHPBarCheck(struct Pokemon *, struct PartyMenuBox *);
+static void DisplayPartyPokemonDescriptionText(u8, struct PartyMenuBox *, u8);
+static bool8 IsMonAllowedInMinigame(u8);
+static void DisplayPartyPokemonDataToTeachMove(u8, u16, u8);
static u8 CanMonLearnTMTutor(struct Pokemon *, u16, u8);
static void DisplayPartyPokemonBarDetail(u8, const u8*, u8, const u8*);
-static void DisplayPartyPokemonLevel(u8, struct Struct203CEDC *);
-static void DisplayPartyPokemonGender(u8, u16, u8*, struct Struct203CEDC *);
-static void DisplayPartyPokemonHP(u16, struct Struct203CEDC *);
-static void DisplayPartyPokemonMaxHP(u16, struct Struct203CEDC *);
-static void DisplayPartyPokemonHPBar(u16, u16, struct Struct203CEDC *);
-static void party_menu_link_mon_icon_anim(u16, u32, struct Struct203CEDC *, u8, u32);
-static void party_menu_link_mon_held_item_object(u16, u16, struct Struct203CEDC *);
-static void party_menu_link_mon_pokeball_object(u16, struct Struct203CEDC *);
-static void party_menu_link_mon_status_condition_object(u16, u8, struct Struct203CEDC *);
-static void party_menu_held_item_object(struct Pokemon *, struct Struct203CEDC *);
-static void party_menu_pokeball_object(struct Pokemon *, struct Struct203CEDC *);
-static void party_menu_icon_anim(struct Pokemon *, struct Struct203CEDC *, u32);
-static void party_menu_status_condition_object(struct Pokemon *, struct Struct203CEDC *);
-static u8 sub_81B5F74(u8, u8);
-static void sub_81B120C(void);
-static u8 sub_81B5F34(u8, u8);
+static void DisplayPartyPokemonLevel(u8, struct PartyMenuBox *);
+static void DisplayPartyPokemonGender(u8, u16, u8*, struct PartyMenuBox *);
+static void DisplayPartyPokemonHP(u16, struct PartyMenuBox *);
+static void DisplayPartyPokemonMaxHP(u16, struct PartyMenuBox *);
+static void DisplayPartyPokemonHPBar(u16, u16, struct PartyMenuBox *);
+static void CreatePartyMonIconSpriteParameterized(u16, u32, struct PartyMenuBox *, u8, u32);
+static void CreatePartyMonHeldItemSpriteParameterized(u16, u16, struct PartyMenuBox *);
+static void CreatePartyMonPokeballSpriteParameterized(u16, struct PartyMenuBox *);
+static void CreatePartyMonStatusSpriteParameterized(u16, u8, struct PartyMenuBox *);
+// These next 4 functions are essentially redundant with the above 4
+// The only difference is that rather than receive the data directly they retrieve it from the mon struct
+static void CreatePartyMonHeldItemSprite(struct Pokemon *, struct PartyMenuBox *);
+static void CreatePartyMonPokeballSprite(struct Pokemon *, struct PartyMenuBox *);
+static void CreatePartyMonIconSprite(struct Pokemon *, struct PartyMenuBox *, u32);
+static void CreatePartyMonStatusSprite(struct Pokemon *, struct PartyMenuBox *);
+static u8 CreateSmallPokeballButtonSprite(u8, u8);
+static void DrawCancelConfirmButtons(void);
+static u8 CreatePokeballButtonSprite(u8, u8);
static void AnimateSelectedPartyIcon(u8, u8);
-static void sub_81B5F98(u8, u8);
-static u8 GetPartyBoxPalBitfield(u8, u8);
+static void PartyMenuStartSpriteAnim(u8, u8);
+static u8 GetPartyBoxPaletteFlags(u8, u8);
static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8);
-static u8 sub_81B8F38(u8);
-static void c3_0811FAB4(u8);
-static void sub_81B9080(void);
-static void sub_81B4F88(void);
-static void sub_81B15D0(u8, s8*);
-static void sub_81B140C(u8, s8*);
+static u8 GetPartyIdFromBattleSlot(u8);
+static void Task_ClosePartyMenuAndSetCB2(u8);
+static void UpdatePartyToFieldOrder(void);
+static void MoveCursorToConfirm(void);
+static void HandleChooseMonCancel(u8, s8*);
+static void HandleChooseMonSelection(u8, s8*);
static u16 PartyMenuButtonHandler(s8*);
-static s8* sub_81B13EC(void);
-static bool8 sub_81B15A4(u8*);
-static void sub_81B302C(u8*);
-static void sub_81B9140(void);
-static void sub_81B6794(u8);
-static void sub_81B7E4C(u8);
-static void sub_81B8474(u8);
-static void sub_81B7FAC(u8);
-static void sub_81B3938(u8);
-static void sub_81B21AC(u8, u8);
-static void sub_81B36FC(u8);
-static void sub_81B407C(u8);
-static void sub_81B2210(u8);
-static bool8 sub_81B1660(u8);
-static const u8* sub_81B88BC(void);
-static void sub_81B16D4(u8);
-static void sub_81B334C(void);
-static void sub_81B1708(u8);
-static void sub_81B1C1C(u8);
+static s8* GetCurrentPartySlotPtr(void);
+static bool8 IsSelectedMonNotEgg(u8*);
+static void PartyMenuRemoveWindow(u8*);
+static void CB2_SetUpExitToBattleScreen(void);
+static void Task_ClosePartyMenuAfterText(u8);
+static void TryTutorSelectedMon(u8);
+static void TryGiveMailToSelectedMon(u8);
+static void TryGiveItemOrMailToSelectedMon(u8);
+static void SwitchSelectedMons(u8);
+static void TryEnterMonForMinigame(u8, u8);
+static void Task_TryCreateSelectionWindow(u8);
+static void FinishTwoMonAction(u8);
+static void CancelParticipationPrompt(u8);
+static bool8 DisplayCancelChooseMonYesNo(u8);
+static const u8* GetFacilityCancelString(void);
+static void Task_CancelChooseMonYesNo(u8);
+static void PartyMenuDisplayYesNoMenu(void);
+static void Task_HandleCancelChooseMonYesNoInput(u8);
+static void Task_ReturnToChooseMonAfterText(u8);
static void UpdateCurrentPartySelection(s8*, s8);
-static void SetNewPartySelectTarget1(s8*, s8);
-static void SetNewPartySelectTarget2(s8*, s8);
-static s8 sub_81B1B00(s8, s8);
-static void sub_81B3300(const u8*);
-static void sub_81B1B8C(u8);
-static void DisplayPartyPokemonHPCheck(struct Pokemon*, struct Struct203CEDC*, u8);
-static void DisplayPartyPokemonHPBarCheck(struct Pokemon*, struct Struct203CEDC*);
-static bool16 sub_81B2134(struct Pokemon*);
-static bool16 sub_81B2164(struct Pokemon*);
-static void sub_81B2248(u8);
-static void sub_81B227C(u8);
+static void UpdatePartySelectionSingleLayout(s8*, s8);
+static void UpdatePartySelectionDoubleLayout(s8*, s8);
+static s8 GetNewSlotDoubleLayout(s8, s8);
+static void PartyMenuPrintText(const u8*);
+static void Task_PrintAndWaitForText(u8);
+static bool16 IsMonAllowedInPokemonJump(struct Pokemon*);
+static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon*);
+static void Task_CancelParticipationYesNo(u8);
+static void Task_HandleCancelParticipationYesNoInput(u8);
static bool8 CanLearnTutorMove(u16, u8);
static u16 GetTutorMove(u8);
-static bool8 sub_81B314C(void);
-static void CreateActionList(struct Pokemon*, u8);
-static u8 sub_81B8A2C(struct Pokemon*);
-static u8 sub_81B856C(s8);
-static void sub_81B469C(u8);
-static void HandleMenuInput(u8);
-static void sub_81B3828(void);
-static void pokemon_change_order(void);
-static void sub_81B3894(void);
-static void sub_81B3CC0(u8);
-static void sub_81B3D48(u8);
-static void swap_pokemon_and_oams(void);
-static void sub_81B3E60(u8);
-static void sub_81B41C4(void);
-static void c2_8123744(void);
-static void sub_81B452C(void);
-static void sub_81B4350(u8);
-static void sub_81B42D0(u8);
-static void sub_81B43A8(u8);
-static void sub_81B43DC(u8);
-static void sub_81B44FC(u8);
-static void sub_81B4578(void);
-static void sub_81B4624(u8);
-static void sub_81B5C94(struct Pokemon*, struct Struct203CEDC*);
-static void sub_81B48A8(u8);
-static void sub_81B48DC(u8);
-static void sub_81B4988(u8);
-static void sub_81B4A98(void);
-static void sub_81B4AE0(void);
-static void sub_81B4B6C(u8);
-static void sub_81B4BA0(u8);
-static void sub_81B4C60(u8);
-static void sub_81B4C94(u8);
-static bool8 sub_81B8A7C(void);
-static void sub_81B53FC(u8);
-static void sub_81B5430(u8);
-static void task_brm_cancel_1_on_keypad_a_or_b(u8);
-static void sub_81B5674(u8);
-static void sub_81B57DC(void);
-static void sub_81B5864(void);
-static void sub_81B56A4(u8);
-static void sub_81B56D8(u8);
-static void task_launch_hm_phase_2(u8);
-static u16 brm_get_selected_species(void);
-static void sub_81B5B38(u8, struct Pokemon*);
-static void UpdatePartyMonIconFrame(struct Sprite*);
-static void UpdatePartyMonIconFrameAndBounce(struct Sprite*);
-static void sub_81B5CB0(u16, struct Struct203CEDC*);
-static void sub_81B5DF0(u8, u8);
+static bool8 ShouldUseChooseMonText(void);
+static void SetPartyMonFieldSelectionActions(struct Pokemon*, u8);
+static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon*);
+static u8 GetPartySlotEntryStatus(s8);
+static void Task_UpdateHeldItemSprite(u8);
+static void Task_HandleSelectionMenuInput(u8);
+static void CB2_ShowPokemonSummaryScreen(void);
+static void UpdatePartyToBattleOrder(void);
+static void CB2_ReturnToPartyMenuFromSummaryScreen(void);
+static void SlidePartyMenuBoxOneStep(u8);
+static void Task_SlideSelectedSlotsOffscreen(u8);
+static void SwitchPartyMon(void);
+static void Task_SlideSelectedSlotsOnscreen(u8);
+static void CB2_SelectBagItemToGive(void);
+static void CB2_GiveHoldItem(void);
+static void CB2_WriteMailToGiveMon(void);
+static void Task_SwitchHoldItemsPrompt(u8);
+static void Task_GiveHoldItem(u8);
+static void Task_SwitchItemsYesNo(u8);
+static void Task_HandleSwitchItemsYesNoInput(u8);
+static void Task_WriteMailToGiveMonAfterText(u8);
+static void CB2_ReturnToPartyMenuFromWritingMail(void);
+static void Task_DisplayGaveMailFromPartyMessage(u8);
+static void UpdatePartyMonHeldItemSprite(struct Pokemon*, struct PartyMenuBox*);
+static void Task_TossHeldItemYesNo(u8 taskId);
+static void Task_HandleTossHeldItemYesNoInput(u8);
+static void Task_TossHeldItem(u8);
+static void CB2_ReadHeldMail(void);
+static void CB2_ReturnToPartyMenuFromReadingMail(void);
+static void Task_SendMailToPCYesNo(u8);
+static void Task_HandleSendMailToPCYesNoInput(u8);
+static void Task_LoseMailMessageYesNo(u8);
+static void Task_HandleLoseMailMessageYesNoInput(u8);
+static bool8 TrySwitchInPokemon(void);
+static void Task_SpinTradeYesNo(u8);
+static void Task_HandleSpinTradeYesNoInput(u8);
+static void Task_CancelAfterAorBPress(u8);
+static void DisplayFieldMoveExitAreaMessage(u8);
+static void DisplayCantUseFlashMessage(void);
+static void DisplayCantUseSurfMessage(void);
+static void Task_FieldMoveExitAreaYesNo(u8);
+static void Task_HandleFieldMoveExitAreaYesNoInput(u8);
+static void Task_FieldMoveWaitForFade(u8);
+static u16 GetFieldMoveMonSpecies(void);
+static void UpdatePartyMonHPBar(u8, struct Pokemon*);
+static void SpriteCB_UpdatePartyMonIcon(struct Sprite*);
+static void SpriteCB_BouncePartyMonIcon(struct Sprite*);
+static void ShowOrHideHeldItemSprite(u16, struct PartyMenuBox*);
+static void CreateHeldItemSpriteForTrade(u8, bool8);
static void SpriteCB_HeldItem(struct Sprite*);
-static void party_menu_get_status_condition_and_update_object(struct Pokemon*, struct Struct203CEDC*);
-static void party_menu_update_status_condition_object(u8, struct Struct203CEDC*);
-static u8 sub_81B8984(void);
-static void sub_81B6280(u8);
-static void c2_815ABFC(void);
-static void sub_81B672C(u8);
+static void SetPartyMonAilmentGfx(struct Pokemon*, struct PartyMenuBox*);
+static void UpdatePartyMonAilmentGfx(u8, struct PartyMenuBox*);
+static u8 GetPartyLayoutFromBattleType(void);
+static void Task_SetSacredAshCB(u8);
+static void CB2_ReturnToBagMenu(void);
+static void Task_DisplayHPRestoredMessage(u8);
static u16 ItemEffectToMonEv(struct Pokemon*, u8);
static void ItemEffectToStatString(u8, u8*);
-static void sub_81B6BB4(u8);
-static void ether_effect_related_2(u8);
-static void ether_effect_related(u8);
-static void sub_81B6EB4(u8);
-static void sub_81B6FF4(u8);
-static void sub_81B6F60(u8);
-static void sub_81B6F98(u8);
-static void sub_81B77AC(u8);
-static void sub_81B7028(u8);
-static void sub_81B7088(u8);
-static void sub_81B7230(u8);
-static void sub_81B70B8(void);
-static void sub_81B70F0(void);
-static void sub_81B711C(u8);
-static void sub_81B7154(u8);
-static void sub_81B71D4(u8);
-static void sub_81B7294(u8);
-static void sub_81B72C8(u8);
-static void sub_81B73E4(u8);
-static void sub_81B79A0(struct Pokemon*, s16*);
-static void sub_81B754C(u8, struct Pokemon*);
-static void sub_81B75D4(u8);
-static void sub_81B767C(u8);
-static void sub_81B7634(u8);
-static void sub_81B76C8(u8);
-static void sub_81B7704(u8);
-static void sub_81B7810(u8);
-static void sub_81B787C(u8);
-static void sub_81B7910(u8, u16);
-static void sub_81B7A28(u8);
-static void task_sacred_ash_party_loop(u8);
-static void sub_81B7C10(u8);
-static void sub_81B8044(u8);
-static void sub_81B83B8(u8);
-static void sub_81B82A0(u8);
-static void sub_81B83F0(u16);
-static void sub_81B814C(void);
-static void sub_81B8088(u8);
-static void sub_81B8104(u8);
-static void sub_81B81A8(void);
-static bool8 sub_81B841C(u16);
-static void sub_81B8230(u8);
-static void sub_81B82D4(u8);
-static void sub_81B879C(u8);
+static void ReturnToUseOnWhichMon(u8);
+static void SetSelectedMoveForPPItem(u8);
+static void TryUsePPItem(u8);
+static void Task_LearnedMove(u8);
+static void Task_ReplaceMoveYesNo(u8);
+static void Task_DoLearnedMoveFanfareAfterText(u8);
+static void Task_LearnNextMoveOrClosePartyMenu(u8);
+static void Task_TryLearningNextMove(u8);
+static void Task_HandleReplaceMoveYesNoInput(u8);
+static void Task_ShowSummaryScreenToForgetMove(u8);
+static void StopLearningMovePrompt(u8);
+static void CB2_ShowSummaryScreenToForgetMove(void);
+static void CB2_ReturnToPartyMenuWhileLearningMove(void);
+static void Task_ReturnToPartyMenuWhileLearningMove(u8);
+static void DisplayPartyMenuForgotMoveMessage(u8);
+static void Task_PartyMenuReplaceMove(u8);
+static void Task_StopLearningMoveYesNo(u8);
+static void Task_HandleStopLearningMoveYesNoInput(u8);
+static void Task_TryLearningNextMoveAfterText(u8);
+static void BufferMonStatsToTaskData(struct Pokemon*, s16*);
+static void UpdateMonDisplayInfoAfterRareCandy(u8, struct Pokemon*);
+static void Task_DisplayLevelUpStatsPg1(u8);
+static void DisplayLevelUpStatsPg1(u8);
+static void Task_DisplayLevelUpStatsPg2(u8);
+static void DisplayLevelUpStatsPg2(u8);
+static void Task_TryLearnNewMoves(u8);
+static void PartyMenuTryEvolution(u8);
+static void DisplayMonNeedsToReplaceMove(u8);
+static void DisplayMonLearnedMove(u8, u16);
+static void UseSacredAsh(u8);
+static void Task_SacredAshLoop(u8);
+static void Task_SacredAshDisplayHPRestored(u8);
+static void GiveItemOrMailToSelectedMon(u8);
+static void DisplayItemMustBeRemovedFirstMessage(u8);
+static void Task_SwitchItemsFromBagYesNo(u8);
+static void RemoveItemToGiveFromBag(u16);
+static void CB2_WriteMailToGiveMonFromBag(void);
+static void GiveItemToSelectedMon(u8);
+static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8);
+static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void);
+static bool8 ReturnGiveItemToBagOrPC(u16);
+static void Task_DisplayGaveMailFromBagMessage(u8);
+static void Task_HandleSwitchItemsFromBagYesNoInput(u8);
+static void Task_ValidateChosenHalfParty(u8);
static bool8 GetBattleEntryEligibility(struct Pokemon*);
-static bool8 sub_81B8770(u8);
-static u8 sub_81B8888(void);
-static u8 sub_81B885C(void);
-static void sub_81B87E8(u8);
-static void sub_81B8C88(u8*, bool8);
-static void sub_81B8D88(u8*, u8, u8);
-static void sub_81B917C(u8);
-static void sub_81B91B4(u8);
-static void sub_81B9294(u8);
-static void sub_81B9240(u8);
-static void sub_81B9390(void);
-static void task_hm_without_phase_2(u8);
-static void sub_81B9424(u8);
-static void sub_81B9470(void);
-static void sub_81B94D0(u8);
-static void sub_81B953C(u8);
-static void sub_81B9588(void);
-static void sub_81B9640(u8);
-static void sub_81B97DC(struct Pokemon*, u8, u8);
-static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f);
-static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f);
-static void CursorCb_Summary(u8 taskId);
-static void CursorCb_Switch(u8 taskId);
-static void CursorCb_Cancel1(u8 taskId);
-static void CursorCb_Item(u8 taskId);
-static void CursorCb_Give(u8 taskId);
-static void CursorCb_TakeItem(u8 taskId);
-static void CursorCb_Mail(u8 taskId);
-static void CursorCb_Read(u8 taskId);
-static void CursorCb_TakeMail(u8 taskId);
-static void CursorCb_Cancel2(u8 taskId);
-static void CursorCb_SendMon(u8 taskId);
-static void CursorCb_Enter(u8 taskId);
-static void CursorCb_NoEntry(u8 taskId);
-static void CursorCb_Store(u8 taskId);
-static void CursorCb_Register(u8 taskId);
-static void CursorCb_Trade1(u8 taskId);
-static void CursorCb_Trade2(u8 taskId);
-static void CursorCb_Toss(u8 taskId);
-static void CursorCb_FieldMove(u8 taskId);
+static bool8 HasPartySlotAlreadyBeenSelected(u8);
+static u8 GetBattleEntryLevelCap(void);
+static u8 GetMaxBattleEntries(void);
+static u8 GetMinBattleEntries(void);
+static void Task_ContinueChoosingHalfParty(u8);
+static void BufferBattlePartyOrder(u8*, bool8);
+static void BufferBattlePartyOrderBySide(u8*, u8, u8);
+static void Task_InitMultiPartnerPartySlideIn(u8);
+static void Task_MultiPartnerPartySlideIn(u8);
+static void SlideMultiPartyMenuBoxSpritesOneStep(u8);
+static void Task_WaitAfterMultiPartnerPartySlideIn(u8);
+static void BufferMonSelection(void);
+static void Task_PartyMenuWaitForFade(u8 taskId);
+static void Task_ChooseContestMon(u8 taskId);
+static void CB2_ChooseContestMon(void);
+static void Task_ChoosePartyMon(u8 taskId);
+static void Task_ChooseMonForMoveRelearner(u8);
+static void CB2_ChooseMonForMoveRelearner(void);
+static void Task_BattlePyramidChooseMonHeldItems(u8);
+static void ShiftMoveSlot(struct Pokemon*, u8, u8);
+static void BlitBitmapToPartyWindow_LeftColumn(u8, u8, u8, u8, u8, u8);
+static void BlitBitmapToPartyWindow_RightColumn(u8, u8, u8, u8, u8, u8);
+static void CursorCb_Summary(u8);
+static void CursorCb_Switch(u8);
+static void CursorCb_Cancel1(u8);
+static void CursorCb_Item(u8);
+static void CursorCb_Give(u8);
+static void CursorCb_TakeItem(u8);
+static void CursorCb_Mail(u8);
+static void CursorCb_Read(u8);
+static void CursorCb_TakeMail(u8);
+static void CursorCb_Cancel2(u8);
+static void CursorCb_SendMon(u8);
+static void CursorCb_Enter(u8);
+static void CursorCb_NoEntry(u8);
+static void CursorCb_Store(u8);
+static void CursorCb_Register(u8);
+static void CursorCb_Trade1(u8);
+static void CursorCb_Trade2(u8);
+static void CursorCb_Toss(u8);
+static void CursorCb_FieldMove(u8);
static bool8 SetUpFieldMove_Surf(void);
static bool8 SetUpFieldMove_Fly(void);
static bool8 SetUpFieldMove_Waterfall(void);
@@ -396,1234 +410,56 @@ static bool8 SetUpFieldMove_Dive(void);
// static const data
#include "data/pokemon/tutor_learnsets.h"
-
-static const struct BgTemplate gUnknown_086156B8[] =
-{
- {
- .bg = 0,
- .charBaseIndex = 0,
- .mapBaseIndex = 31,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 1,
- .baseTile = 0
- },
- {
- .bg = 1,
- .charBaseIndex = 0,
- .mapBaseIndex = 30,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 2,
- .baseTile = 0
- },
- {
- .bg = 2,
- .charBaseIndex = 0,
- .mapBaseIndex = 28,
- .screenSize = 1,
- .paletteMode = 0,
- .priority = 0,
- .baseTile = 0
- },
-};
-
-static const struct Unk_Rodata1 gUnknown_086156C4[] =
-{
- {BlitBitmapToPartyWindow_Default1, {0x18, 0xB, 0x28, 0xD, 0x20, 0x14, 0x20, 8, 0x40, 0x14, 8, 8, 0x26, 0x25, 0x18, 8, 0x35, 0x25, 0x18, 8, 0x18, 0x23, 0x30, 3}, 0xC, 0x22, 0x40, 0x10},
- {BlitBitmapToPartyWindow_Default2, {0x16, 3, 0x28, 0xD, 0x1E, 0xC, 0x20, 8, 0x3E, 0xC, 8, 8, 0x66, 0xC, 0x18, 8, 0x75, 0xC, 0x18, 8, 0x58, 0xA, 0x30, 3}, 0x4D, 4, 0x40, 0x10},
-};
-
-static const u8 gUnknown_08615704[][6][8] =
-{
- {
- {16, 40, 20, 50, 50, 52, 16, 34},
- {104, 18, 108, 28, 136, 27, 102, 25},
- {104, 42, 108, 52, 136, 51, 102, 49},
- {104, 66, 108, 76, 136, 75, 102, 73},
- {104, 90, 108, 100, 136, 99, 102, 97},
- {104, 114, 108, 124, 136, 123, 102, 121},
- },
- {
- {16, 24, 20, 34, 50, 36, 16, 18},
- {16, 80, 20, 90, 50, 92, 16, 74},
- {104, 18, 108, 28, 136, 27, 102, 25},
- {104, 50, 108, 60, 136, 59, 102, 57},
- {104, 82, 108, 92, 136, 91, 102, 89},
- {104, 114, 108, 124, 136, 123, 102, 121},
- },
- {
- {16, 24, 20, 34, 50, 36, 16, 18},
- {16, 80, 20, 90, 50, 92, 16, 74},
- {104, 26, 106, 36, 136, 35, 102, 33},
- {104, 50, 106, 60, 136, 59, 102, 57},
- {104, 82, 106, 92, 136, 91, 102, 89},
- {104, 106, 106, 116, 136, 115, 102, 113},
- },
- {
- {16, 32, 20, 42, 50, 44, 16, 26},
- {104, 34, 106, 44, 136, 43, 102, 41},
- {104, 58, 106, 68, 136, 67, 102, 65},
- {16, 104, 20, 114, 50, 116, 16, 98},
- {104, 106, 106, 116, 136, 115, 102, 113},
- {104, 130, 106, 140, 136, 139, 102, 137},
- },
-};
-
-static const u32 gUnknown_086157C4[] = INCBIN_U32("graphics/interface/unknown_6157C4.bin");
-static const u32 gUnknown_086157E0[] = INCBIN_U32("graphics/interface/unknown_6157E0.bin");
-
-static const u8 sFontColorTable[][3] =
-{
- {0, 3, 2},
- {0, 1, 6},
- {0, 11, 12},
- {1, 2, 3},
- {1, 8, 9},
- {0, 1, 2},
-};
-
-static const struct WindowTemplate gUnknown_08615810[] =
-{
- {
- .bg = 0,
- .tilemapLeft = 1,
- .tilemapTop = 3,
- .width = 10,
- .height = 7,
- .paletteNum = 3,
- .baseBlock = 0x63,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 1,
- .width = 18,
- .height = 3,
- .paletteNum = 4,
- .baseBlock = 0xA9,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 4,
- .width = 18,
- .height = 3,
- .paletteNum = 5,
- .baseBlock = 0xDF,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 7,
- .width = 18,
- .height = 3,
- .paletteNum = 6,
- .baseBlock = 0x115,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 10,
- .width = 18,
- .height = 3,
- .paletteNum = 7,
- .baseBlock = 0x14B,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 13,
- .width = 18,
- .height = 3,
- .paletteNum = 8,
- .baseBlock = 0x181,
- },
- {
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 15,
- .width = 28,
- .height = 4,
- .paletteNum = 14,
- .baseBlock = 0x1DF,
- },
- DUMMY_WIN_TEMPLATE
-};
-
-static const struct WindowTemplate gUnknown_08615850[] =
-{
- {
- .bg = 0,
- .tilemapLeft = 1,
- .tilemapTop = 1,
- .width = 10,
- .height = 7,
- .paletteNum = 3,
- .baseBlock = 0x63,
- },
- {
- .bg = 0,
- .tilemapLeft = 1,
- .tilemapTop = 8,
- .width = 10,
- .height = 7,
- .paletteNum = 4,
- .baseBlock = 0xA9,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 1,
- .width = 18,
- .height = 3,
- .paletteNum = 5,
- .baseBlock = 0xEF,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 5,
- .width = 18,
- .height = 3,
- .paletteNum = 6,
- .baseBlock = 0x125,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 9,
- .width = 18,
- .height = 3,
- .paletteNum = 7,
- .baseBlock = 0x15B,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 13,
- .width = 18,
- .height = 3,
- .paletteNum = 8,
- .baseBlock = 0x191,
- },
- {
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 15,
- .width = 28,
- .height = 4,
- .paletteNum = 14,
- .baseBlock = 0x1DF,
- },
- DUMMY_WIN_TEMPLATE
-};
-
-static const struct WindowTemplate gUnknown_08615890[] =
-{
- {
- .bg = 0,
- .tilemapLeft = 1,
- .tilemapTop = 1,
- .width = 10,
- .height = 7,
- .paletteNum = 3,
- .baseBlock = 0x63,
- },
- {
- .bg = 0,
- .tilemapLeft = 1,
- .tilemapTop = 8,
- .width = 10,
- .height = 7,
- .paletteNum = 4,
- .baseBlock = 0xA9,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 2,
- .width = 18,
- .height = 3,
- .paletteNum = 5,
- .baseBlock = 0xEF,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 5,
- .width = 18,
- .height = 3,
- .paletteNum = 6,
- .baseBlock = 0x125,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 9,
- .width = 18,
- .height = 3,
- .paletteNum = 7,
- .baseBlock = 0x15B,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 12,
- .width = 18,
- .height = 3,
- .paletteNum = 8,
- .baseBlock = 0x191,
- },
- {
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 15,
- .width = 28,
- .height = 4,
- .paletteNum = 14,
- .baseBlock = 0x1DF,
- },
- DUMMY_WIN_TEMPLATE
-};
-
-static const struct WindowTemplate gUnknown_086158D0[] =
-{
- {
- .bg = 0,
- .tilemapLeft = 1,
- .tilemapTop = 2,
- .width = 10,
- .height = 7,
- .paletteNum = 3,
- .baseBlock = 0x63,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 3,
- .width = 18,
- .height = 3,
- .paletteNum = 5,
- .baseBlock = 0xA9,
- },
- {
- .bg = 0,
- .tilemapLeft = 12,
- .tilemapTop = 6,
- .width = 18,
- .height = 3,
- .paletteNum = 6,
- .baseBlock = 0xDF,
- },
- {
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 11,
- .width = 10,
- .height = 7,
- .paletteNum = 4,
- .baseBlock = 0x115,
- },
- {
- .bg = 2,
- .tilemapLeft = 12,
- .tilemapTop = 12,
- .width = 18,
- .height = 3,
- .paletteNum = 7,
- .baseBlock = 0x16B,
- },
- {
- .bg = 2,
- .tilemapLeft = 12,
- .tilemapTop = 15,
- .width = 18,
- .height = 3,
- .paletteNum = 8,
- .baseBlock = 0x1A1,
- },
- DUMMY_WIN_TEMPLATE
-};
-
-static const struct WindowTemplate gUnknown_08615908 =
-{
- .bg = 0,
- .tilemapLeft = 24,
- .tilemapTop = 17,
- .width = 6,
- .height = 2,
- .paletteNum = 3,
- .baseBlock = 0x1C7,
-};
-
-static const struct WindowTemplate gUnknown_08615910 =
-{
- .bg = 0,
- .tilemapLeft = 24,
- .tilemapTop = 18,
- .width = 6,
- .height = 2,
- .paletteNum = 3,
- .baseBlock = 0x1C7,
-};
-
-static const struct WindowTemplate gUnknown_08615918 =
-{
- .bg = 0,
- .tilemapLeft = 24,
- .tilemapTop = 16,
- .width = 6,
- .height = 2,
- .paletteNum = 3,
- .baseBlock = 0x1D3,
-};
-
-static const struct WindowTemplate gUnknown_08615920 =
-{
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 17,
- .width = 21,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x24F,
-};
-
-static const struct WindowTemplate gUnknown_08615928 =
-{
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 17,
- .width = 16,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x279,
-};
-
-static const struct WindowTemplate gUnknown_08615930 =
-{
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 17,
- .width = 20,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x299,
-};
-
-static const struct WindowTemplate gUnknown_08615938 =
-{
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 17,
- .width = 18,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x299,
-};
-
-static const struct WindowTemplate gUnknown_08615940 =
-{
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 17,
- .width = 16,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x299,
-};
-
-static const struct WindowTemplate gUnknown_08615948 =
-{
- .bg = 2,
- .tilemapLeft = 1,
- .tilemapTop = 15,
- .width = 20,
- .height = 4,
- .paletteNum = 15,
- .baseBlock = 0x299,
-};
-
-static const struct WindowTemplate gUnknown_08615950 =
-{
- .bg = 2,
- .tilemapLeft = 23,
- .tilemapTop = 13,
- .width = 6,
- .height = 6,
- .paletteNum = 14,
- .baseBlock = 0x39D,
-};
-
-static const struct WindowTemplate gUnknown_08615958 =
-{
- .bg = 2,
- .tilemapLeft = 21,
- .tilemapTop = 13,
- .width = 8,
- .height = 6,
- .paletteNum = 14,
- .baseBlock = 0x39D,
-};
-
-static const struct WindowTemplate gUnknown_08615960 =
-{
- .bg = 2,
- .tilemapLeft = 19,
- .tilemapTop = 11,
- .width = 10,
- .height = 8,
- .paletteNum = 14,
- .baseBlock = 0x2E9,
-};
-
-static const struct WindowTemplate gUnknown_08615968 =
-{
- .bg = 2,
- .tilemapLeft = 21,
- .tilemapTop = 9,
- .width = 5,
- .height = 4,
- .paletteNum = 14,
- .baseBlock = 0x2E9,
-};
-
-static const struct WindowTemplate gUnknown_08615970 =
-{
- .bg = 2,
- .tilemapLeft = 19,
- .tilemapTop = 1,
- .width = 10,
- .height = 11,
- .paletteNum = 14,
- .baseBlock = 0x2E9,
-};
-
-// Unused.
-static const struct WindowTemplate gUnknown_08615978 =
-{
- .bg = 2,
- .tilemapLeft = 2,
- .tilemapTop = 15,
- .width = 27,
- .height = 4,
- .paletteNum = 14,
- .baseBlock = 0x1DF,
-};
-
-// Unused.
-static const struct WindowTemplate gUnknown_08615980 =
-{
- .bg = 2,
- .tilemapLeft = 0,
- .tilemapTop = 13,
- .width = 18,
- .height = 3,
- .paletteNum = 12,
- .baseBlock = 0x39D,
-};
-
-static const u8 sMainSlotTileNums[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 40, 59, 60, 58, 58, 58, 58, 58, 58, 61,
- 15, 16, 16, 16, 16, 16, 16, 16, 16, 17,
- 46, 47, 47, 47, 47, 47, 47, 47, 47, 48};
-
-static const u8 sMainSlotTileNums_Egg[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 40, 41, 41, 41, 41, 41, 41, 41, 41, 42,
- 15, 16, 16, 16, 16, 16, 16, 16, 16, 17,
- 46, 47, 47, 47, 47, 47, 47, 47, 47, 48};
-
-static const u8 sOtherSlotsTileNums[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
- 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54,
- 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57};
-
-static const u8 sOtherSlotsTileNums_Egg[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
- 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50,
- 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57};
-
-static const u8 sEmptySlotTileNums[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
- 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
- 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39};
-static const u8 gUnknown_08615AB6[] = {11, 12};
-static const u8 gUnknown_08615AB8[] = {9, 10};
-static const u8 gUnknown_08615ABA[] = {4, 5, 6};
-static const u8 gUnknown_08615ABD[] = {1, 7, 8};
-static const u8 gUnknown_08615AC0[] = {1, 11, 12};
-static const u8 gUnknown_08615AC3[] = {59, 60};
-static const u8 gUnknown_08615AC5[] = {75, 76};
-static const u8 gUnknown_08615AC7[] = {57, 58};
-static const u8 gUnknown_08615AC9[] = {73, 74};
-static const u8 gUnknown_08615ACB[] = {89, 90};
-static const u8 gUnknown_08615ACD[] = {52, 53, 54};
-static const u8 gUnknown_08615AD0[] = {68, 69, 70};
-static const u8 gUnknown_08615AD3[] = {84, 85, 86};
-static const u8 gUnknown_08615AD6[] = {116, 117, 118};
-static const u8 gUnknown_08615AD9[] = {132, 133, 134};
-static const u8 gUnknown_08615ADC[] = {148, 149, 150};
-static const u8 gUnknown_08615ADF[] = {100, 101, 102};
-static const u8 gUnknown_08615AE2[] = {49, 55, 56};
-static const u8 gUnknown_08615AE5[] = {65, 71, 72};
-static const u8 gUnknown_08615AE8[] = {81, 87, 88};
-static const u8 gUnknown_08615AEB[] = {97, 103, 104};
-static const u8 gUnknown_08615AEE[] = {161, 167, 168};
-static const u8 gUnknown_08615AF1[] = {17, 27, 28};
-
-static const u8 *const sActionStringTable[] =
-{
- gText_ChoosePokemon,
- gText_ChoosePokemonCancel,
- gText_ChoosePokemonConfirm,
- gText_MoveToWhere,
- gText_TeachWhichPokemon,
- gText_UseOnWhichPokemon,
- gText_GiveToWhichPokemon,
- gText_NothingToCut,
- gText_CantSurfHere,
- gText_AlreadySurfing,
- gText_CurrentIsTooFast,
- gText_EnjoyCycling,
- gText_InUseAlready_PM,
- gText_CantUseHere,
- gText_NoPokemonForBattle,
- gText_ChoosePokemon2,
- gText_NotEnoughHp,
- gText_PokemonAreNeeded,
- gText_PokemonCantBeSame,
- gText_NoIdenticalHoldItems,
- gText_EmptyString2,
- gText_DoWhatWithPokemon,
- gText_RestoreWhichMove,
- gText_BoostPp,
- gText_DoWhatWithItem,
- gText_DoWhatWithMail,
- gText_AlreadyHoldingOne,
-};
-
-static const u8 *const sSelectionStringTable[] =
-{
- gText_NoUse,
- gText_Able,
- gText_First_PM,
- gText_Second_PM,
- gText_Third_PM,
- gText_Fourth,
- gText_Able2,
- gText_NotAble,
- gText_Able3,
- gText_NotAble2,
- gText_Learned,
- gText_Have,
- gText_DontHave,
-};
-
-// Unknown unused data. Feel free to remove.
-static const u16 gUnknown_08615B94[] =
-{
- 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071,
- 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068,
- 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d,
- 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123,
-};
-
-enum
-{
- MENU_SUMMARY,
- MENU_SWITCH,
- MENU_CANCEL1,
- MENU_ITEM,
- MENU_GIVE,
- MENU_TAKE_ITEM,
- MENU_MAIL,
- MENU_TAKE_MAIL,
- MENU_READ,
- MENU_CANCEL2,
- MENU_SHIFT,
- MENU_SEND_OUT,
- MENU_ENTER,
- MENU_NO_ENTRY,
- MENU_STORE,
- MENU_REGISTER,
- MENU_TRADE1,
- MENU_TRADE2,
- MENU_TOSS,
- MENU_FIELD_MOVES,
-};
-
-enum
-{
- FIELD_MOVE_CUT,
- FIELD_MOVE_FLASH,
- FIELD_MOVE_ROCK_SMASH,
- FIELD_MOVE_STRENGTH,
- FIELD_MOVE_SURF,
- FIELD_MOVE_FLY,
- FIELD_MOVE_DIVE,
- FIELD_MOVE_WATERFALL,
- FIELD_MOVE_TELEPORT,
- FIELD_MOVE_DIG,
- FIELD_MOVE_SECRET_POWER,
- FIELD_MOVE_MILK_DRINK,
- FIELD_MOVE_SOFT_BOILED,
- FIELD_MOVE_SWEET_SCENT,
-};
-
-// What a weird choice of table termination;
-#define FIELD_MOVE_TERMINATOR MOVE_SWORDS_DANCE
-
-struct
-{
- const u8 *text;
- TaskFunc func;
-} static const sCursorOptions[] =
-{
- [MENU_SUMMARY] = {gText_Summary5, CursorCb_Summary},
- [MENU_SWITCH] = {gText_Switch2, CursorCb_Switch},
- [MENU_CANCEL1] = {gText_Cancel2, CursorCb_Cancel1},
- [MENU_ITEM] = {gText_Item, CursorCb_Item},
- [MENU_GIVE] = {gMenuText_Give, CursorCb_Give},
- [MENU_TAKE_ITEM] = {gText_Take, CursorCb_TakeItem},
- [MENU_MAIL] = {gText_Mail, CursorCb_Mail},
- [MENU_TAKE_MAIL] = {gText_Take2, CursorCb_TakeMail},
- [MENU_READ] = {gText_Read2, CursorCb_Read},
- [MENU_CANCEL2] = {gText_Cancel2, CursorCb_Cancel2},
- [MENU_SHIFT] = {gText_Shift, CursorCb_SendMon},
- [MENU_SEND_OUT] = {gText_SendOut, CursorCb_SendMon},
- [MENU_ENTER] = {gText_Enter, CursorCb_Enter},
- [MENU_NO_ENTRY] = {gText_NoEntry, CursorCb_NoEntry},
- [MENU_STORE] = {gText_Store, CursorCb_Store},
- [MENU_REGISTER] = {gText_Register, CursorCb_Register},
- [MENU_TRADE1] = {gText_Trade4, CursorCb_Trade1},
- [MENU_TRADE2] = {gText_Trade4, CursorCb_Trade2},
- [MENU_TOSS] = {gMenuText_Toss, CursorCb_Toss},
- [MENU_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_DIVE] = {gMoveNames[MOVE_DIVE], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_SECRET_POWER] = {gMoveNames[MOVE_SECRET_POWER], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCb_FieldMove},
- [MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCb_FieldMove},
-};
-
-static const u8 gUnknown_08615D10[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1};
-static const u8 gUnknown_08615D13[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D16[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D19[] = {MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D1B[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D1E[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D21[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D24[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2};
-static const u8 gUnknown_08615D27[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2};
-static const u8 gUnknown_08615D2A[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D2D[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D30[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1};
-static const u8 gUnknown_08615D33[] = {MENU_TAKE_ITEM, MENU_TOSS, MENU_CANCEL1};
-
-static const u8 *const sActionTable[] =
-{
- NULL,
- gUnknown_08615D10,
- gUnknown_08615D13,
- gUnknown_08615D16,
- gUnknown_08615D1B,
- gUnknown_08615D1E,
- gUnknown_08615D21,
- gUnknown_08615D19,
- gUnknown_08615D24,
- gUnknown_08615D27,
- gUnknown_08615D2A,
- gUnknown_08615D2D,
- gUnknown_08615D30,
- gUnknown_08615D33,
-};
-
-static const u8 sListSizeTable[] =
-{
- 0x00,
- ARRAY_COUNT(gUnknown_08615D10),
- ARRAY_COUNT(gUnknown_08615D13),
- ARRAY_COUNT(gUnknown_08615D16),
- ARRAY_COUNT(gUnknown_08615D1B),
- ARRAY_COUNT(gUnknown_08615D1E),
- ARRAY_COUNT(gUnknown_08615D21),
- ARRAY_COUNT(gUnknown_08615D19),
- ARRAY_COUNT(gUnknown_08615D24),
- ARRAY_COUNT(gUnknown_08615D27),
- ARRAY_COUNT(gUnknown_08615D2A),
- ARRAY_COUNT(gUnknown_08615D2D),
- ARRAY_COUNT(gUnknown_08615D30),
- ARRAY_COUNT(gUnknown_08615D33)
-};
-
-static const u16 sFieldMoves[] =
-{
- MOVE_CUT, MOVE_FLASH, MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, MOVE_FLY, MOVE_DIVE, MOVE_WATERFALL, MOVE_TELEPORT,
- MOVE_DIG, MOVE_SECRET_POWER, MOVE_MILK_DRINK, MOVE_SOFT_BOILED, MOVE_SWEET_SCENT, FIELD_MOVE_TERMINATOR
-};
-
-struct
-{
- bool8 (*fieldMoveFunc)(void);
- u8 msgId;
-} static const sFieldMoveCursorCallbacks[] =
-{
- [FIELD_MOVE_CUT] = {SetUpFieldMove_Cut, 0x07},
- [FIELD_MOVE_FLASH] = {SetUpFieldMove_Flash, 0x0d},
- [FIELD_MOVE_ROCK_SMASH] = {SetUpFieldMove_RockSmash, 0x0d},
- [FIELD_MOVE_STRENGTH] = {SetUpFieldMove_Strength, 0x0d},
- [FIELD_MOVE_SURF] = {SetUpFieldMove_Surf, 0x08},
- [FIELD_MOVE_FLY] = {SetUpFieldMove_Fly, 0x0d},
- [FIELD_MOVE_DIVE] = {SetUpFieldMove_Dive, 0x0d},
- [FIELD_MOVE_WATERFALL] = {SetUpFieldMove_Waterfall, 0x0d},
- [FIELD_MOVE_TELEPORT] = {SetUpFieldMove_Teleport, 0x0d},
- [FIELD_MOVE_DIG] = {SetUpFieldMove_Dig, 0x0d},
- [FIELD_MOVE_SECRET_POWER] = {SetUpFieldMove_SecretPower, 0x0d},
- [FIELD_MOVE_MILK_DRINK] = {SetUpFieldMove_SoftBoiled, 0x10},
- [FIELD_MOVE_SOFT_BOILED] = {SetUpFieldMove_SoftBoiled, 0x10},
- [FIELD_MOVE_SWEET_SCENT] = {SetUpFieldMove_SweetScent, 0x0d},
-};
-
-static const u8 *const gUnknown_08615E0C[] =
-{
- gText_NotPkmnOtherTrainerWants,
- gText_ThatIsntAnEgg,
- gText_PkmnCantBeTradedNow,
- gText_PkmnCantBeTradedNow,
- gText_OtherTrainersPkmnCantBeTraded,
- gText_EggCantBeTradedNow,
- gText_OtherTrainerCantAcceptPkmn,
- gText_CantTradeWithTrainer,
- gText_CantTradeWithTrainer,
-};
-
-static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp");
-static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal");
-
-static const struct OamData sOamData_HeldItem =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = SPRITE_SHAPE(8x8),
- .x = 0,
- .matrixNum = 0,
- .size = SPRITE_SIZE(8x8),
- .tileNum = 0,
- .priority = 1,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const union AnimCmd sSpriteAnim_HeldItem[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_HeldMail[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const sSpriteAnimTable_HeldItem[] =
-{
- sSpriteAnim_HeldItem,
- sSpriteAnim_HeldMail,
-};
-
-static const struct SpriteSheet sSpriteSheet_HeldItem =
-{
- sHeldItemGfx, sizeof(sHeldItemGfx), 0xd750
-};
-
-static const struct SpritePalette sSpritePalette_HeldItem =
-{
- sHeldItemPalette, 0xd750
-};
-
-static const struct SpriteTemplate sSpriteTemplate_HeldItem =
-{
- 0xd750,
- 0xd750,
- &sOamData_HeldItem,
- sSpriteAnimTable_HeldItem,
- NULL,
- gDummySpriteAffineAnimTable,
- SpriteCallbackDummy
-};
-
-static const struct OamData sOamData_MenuPokeball =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = SPRITE_SHAPE(32x32),
- .x = 0,
- .matrixNum = 0,
- .size = SPRITE_SIZE(32x32),
- .tileNum = 0,
- .priority = 1,
- .paletteNum = 0,
- .affineParam = 0
-};
-
-static const union AnimCmd sPokeballAnim_Closed[] =
-{
- ANIMCMD_FRAME(0, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sPokeballAnim_Open[] =
-{
- ANIMCMD_FRAME(16, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const sSpriteAnimTable_Pokeball[] =
-{
- sPokeballAnim_Closed,
- sPokeballAnim_Open
-};
-
-static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball =
-{
- gPartyMenuPokeball_Gfx, 0x400, 0x04b0
-};
-
-static const struct CompressedSpritePalette sSpritePalette_MenuPokeball =
-{
- gPartyMenuPokeball_Pal, 0x04b0
-};
-
-static const struct SpriteTemplate sSpriteTemplate_MenuPokeball =
-{
- .tileTag = 0x04b0,
- .paletteTag = 0x04b0,
- .oam = &sOamData_MenuPokeball,
- .anims = sSpriteAnimTable_Pokeball,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-static const struct OamData sOamData_8615F20 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = SPRITE_SHAPE(16x16),
- .x = 0,
- .matrixNum = 0,
- .size = SPRITE_SIZE(16x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
- .affineParam = 0
-};
-
-static const union AnimCmd sSpriteAnim_8615F28[] =
-{
- ANIMCMD_FRAME(0, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_8615F30[] =
-{
- ANIMCMD_FRAME(4, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_8615F38[] =
-{
- ANIMCMD_FRAME(8, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_8615F40[] =
-{
- ANIMCMD_FRAME(12, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_8615F48[] =
-{
- ANIMCMD_FRAME(16, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_8615F50[] =
-{
- ANIMCMD_FRAME(20, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const sSpriteAnimTable_8615F58[] =
-{
- sSpriteAnim_8615F28,
- sSpriteAnim_8615F30,
- sSpriteAnim_8615F38,
- sSpriteAnim_8615F40,
- sSpriteAnim_8615F48,
- sSpriteAnim_8615F50
-};
-
-static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall =
-{
- gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1
-};
-
-static const struct SpriteTemplate gSpriteTemplate_8615F78 =
-{
- .tileTag = 1201,
- .paletteTag = 1200,
- .oam = &sOamData_8615F20,
- .anims = sSpriteAnimTable_8615F58,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-static const struct OamData sOamData_StatusCondition =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = SPRITE_SHAPE(32x8),
- .x = 0,
- .matrixNum = 0,
- .size = SPRITE_SIZE(32x8),
- .tileNum = 0,
- .priority = 1,
- .paletteNum = 0,
- .affineParam = 0
-};
-
-static const union AnimCmd sSpriteAnim_StatusPoison[] =
-{
- ANIMCMD_FRAME(0, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_StatusParalyzed[] =
-{
- ANIMCMD_FRAME(4, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_StatusSleep[] =
-{
- ANIMCMD_FRAME(8, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_StatusFrozen[] =
-{
- ANIMCMD_FRAME(12, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_StatusBurn[] =
-{
- ANIMCMD_FRAME(16, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_StatusPokerus[] =
-{
- ANIMCMD_FRAME(20, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_StatusFaint[] =
-{
- ANIMCMD_FRAME(24, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd sSpriteAnim_Blank[] =
-{
- ANIMCMD_FRAME(28, 0),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const sSpriteTemplate_StatusCondition[] =
-{
- sSpriteAnim_StatusPoison,
- sSpriteAnim_StatusParalyzed,
- sSpriteAnim_StatusSleep,
- sSpriteAnim_StatusFrozen,
- sSpriteAnim_StatusBurn,
- sSpriteAnim_StatusPokerus,
- sSpriteAnim_StatusFaint,
- sSpriteAnim_Blank
-};
-
-static const struct CompressedSpriteSheet sSpriteSheet_StatusIcons =
-{
- gStatusGfx_Icons, 0x400, 1202
-};
-
-static const struct CompressedSpritePalette sSpritePalette_StatusIcons =
-{
- gStatusPal_Icons, 1202
-};
-
-static const struct SpriteTemplate sSpriteTemplate_StatusIcons =
-{
- .tileTag = 1202,
- .paletteTag = 1202,
- .oam = &sOamData_StatusCondition,
- .anims = sSpriteTemplate_StatusCondition,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-static const u8 gUnknown_08616020[] = {0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00};
-
-// Unused table of pointers to strings of statistics.
-static const u8 *const gUnknown_08616028[] =
-{
- gText_HP4,
- gText_Attack3,
- gText_Defense3,
- gText_SpAtk4,
- gText_SpDef4,
- gText_Speed2
-};
-
-static const u16 gTMHMMoves[] =
-{
- MOVE_FOCUS_PUNCH,
- MOVE_DRAGON_CLAW,
- MOVE_WATER_PULSE,
- MOVE_CALM_MIND,
- MOVE_ROAR,
- MOVE_TOXIC,
- MOVE_HAIL,
- MOVE_BULK_UP,
- MOVE_BULLET_SEED,
- MOVE_HIDDEN_POWER,
- MOVE_SUNNY_DAY,
- MOVE_TAUNT,
- MOVE_ICE_BEAM,
- MOVE_BLIZZARD,
- MOVE_HYPER_BEAM,
- MOVE_LIGHT_SCREEN,
- MOVE_PROTECT,
- MOVE_RAIN_DANCE,
- MOVE_GIGA_DRAIN,
- MOVE_SAFEGUARD,
- MOVE_FRUSTRATION,
- MOVE_SOLAR_BEAM,
- MOVE_IRON_TAIL,
- MOVE_THUNDERBOLT,
- MOVE_THUNDER,
- MOVE_EARTHQUAKE,
- MOVE_RETURN,
- MOVE_DIG,
- MOVE_PSYCHIC,
- MOVE_SHADOW_BALL,
- MOVE_BRICK_BREAK,
- MOVE_DOUBLE_TEAM,
- MOVE_REFLECT,
- MOVE_SHOCK_WAVE,
- MOVE_FLAMETHROWER,
- MOVE_SLUDGE_BOMB,
- MOVE_SANDSTORM,
- MOVE_FIRE_BLAST,
- MOVE_ROCK_TOMB,
- MOVE_AERIAL_ACE,
- MOVE_TORMENT,
- MOVE_FACADE,
- MOVE_SECRET_POWER,
- MOVE_REST,
- MOVE_ATTRACT,
- MOVE_THIEF,
- MOVE_STEEL_WING,
- MOVE_SKILL_SWAP,
- MOVE_SNATCH,
- MOVE_OVERHEAT,
- MOVE_CUT,
- MOVE_FLY,
- MOVE_SURF,
- MOVE_STRENGTH,
- MOVE_FLASH,
- MOVE_ROCK_SMASH,
- MOVE_WATERFALL,
- MOVE_DIVE,
-};
+#include "data/party_menu.h"
// code
-static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback)
+static void InitPartyMenu(u8 menuType, u8 layout, u8 partyAction, bool8 keepCursorPos, u8 messageId, TaskFunc task, MainCallback callback)
{
u16 i;
- reset_brm();
- gUnknown_0203CEC4 = Alloc(sizeof(struct Struct203CEC4));
- if (gUnknown_0203CEC4 == NULL)
+ ResetPartyMenu();
+ sPartyMenuInternal = Alloc(sizeof(struct PartyMenuInternal));
+ if (sPartyMenuInternal == NULL)
{
SetMainCallback2(callback);
}
else
{
- gUnknown_0203CEC8.unk8_0 = a;
- gUnknown_0203CEC8.exitCallback = callback;
- gUnknown_0203CEC8.unkB = c;
- gUnknown_0203CEC4->messageId = messageId;
- gUnknown_0203CEC4->task = task;
- gUnknown_0203CEC4->exitCallback = NULL;
- gUnknown_0203CEC4->unk8_1 = 0;
- gUnknown_0203CEC4->unk8_2 = 0x7F;
- gUnknown_0203CEC4->unk9_0 = 0x7F;
-
- if (a == 4)
- gUnknown_0203CEC4->unk8_0 = TRUE;
+ gPartyMenu.menuType = menuType;
+ gPartyMenu.exitCallback = callback;
+ gPartyMenu.action = partyAction;
+ sPartyMenuInternal->messageId = messageId;
+ sPartyMenuInternal->task = task;
+ sPartyMenuInternal->exitCallback = NULL;
+ sPartyMenuInternal->lastSelectedSlot = 0;
+ sPartyMenuInternal->spriteIdConfirmPokeball = 0x7F;
+ sPartyMenuInternal->spriteIdCancelPokeball = 0x7F;
+
+ if (menuType == PARTY_MENU_TYPE_CHOOSE_HALF)
+ sPartyMenuInternal->chooseHalf = TRUE;
else
- gUnknown_0203CEC4->unk8_0 = FALSE;
+ sPartyMenuInternal->chooseHalf = FALSE;
- if (b != 0xFF)
- gUnknown_0203CEC8.mode = b;
+ if (layout != KEEP_PARTY_LAYOUT)
+ gPartyMenu.layout = layout;
- for (i = 0; i <= 15; i++)
- gUnknown_0203CEC4->data[i] = 0;
- for (i = 0; i < ARRAY_COUNT(gUnknown_0203CEC4->windowId); i++)
- gUnknown_0203CEC4->windowId[i] = 0xFF;
+ for (i = 0; i < ARRAY_COUNT(sPartyMenuInternal->data); i++)
+ sPartyMenuInternal->data[i] = 0;
+ for (i = 0; i < ARRAY_COUNT(sPartyMenuInternal->windowId); i++)
+ sPartyMenuInternal->windowId[i] = 0xFF;
- if (d == 0)
- gUnknown_0203CEC8.slotId = 0;
- else if (gUnknown_0203CEC8.slotId > 5 || GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES) == SPECIES_NONE)
- gUnknown_0203CEC8.slotId = 0; // wut why is this else if?
+ if (!keepCursorPos)
+ gPartyMenu.slotId = 0;
+ else if (gPartyMenu.slotId > PARTY_SIZE - 1 || GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES) == SPECIES_NONE)
+ gPartyMenu.slotId = 0;
gTextFlags.autoScroll = 0;
CalculatePlayerPartyCount();
- SetMainCallback2(PartyMenuInitCallback);
+ SetMainCallback2(CB2_InitPartyMenu);
}
}
-static void PartyMenuCallback(void)
+static void CB2_UpdatePartyMenu(void)
{
RunTasks();
AnimateSprites();
@@ -1632,23 +468,23 @@ static void PartyMenuCallback(void)
UpdatePaletteFade();
}
-static void PartyMenuVBlankCallback(void)
+static void VBlankCB_PartyMenu(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
-static void PartyMenuInitCallback(void)
+static void CB2_InitPartyMenu(void)
{
while (TRUE)
{
- if (sub_81221EC() == TRUE || PartyMenuSetup() == TRUE || sub_81221AC() == TRUE)
+ if (sub_81221EC() == TRUE || ShowPartyMenu() == TRUE || sub_81221AC() == TRUE)
break;
}
}
-static bool8 PartyMenuSetup(void)
+static bool8 ShowPartyMenu(void)
{
switch (gMain.state)
{
@@ -1681,32 +517,32 @@ static bool8 PartyMenuSetup(void)
gMain.state++;
break;
case 6:
- sub_81B209C();
+ SetPartyMonsAllowedInMinigame();
gMain.state++;
break;
case 7:
if (!AllocPartyMenuBg())
{
- PartyMenuExit();
+ ExitPartyMenu();
return TRUE;
}
else
{
- gUnknown_0203CEC4->data[0] = 0;
+ sPartyMenuInternal->data[0] = 0;
gMain.state++;
}
break;
case 8:
- if (AllocPartyMiscGfx())
+ if (AllocPartyMenuBgGfx())
gMain.state++;
break;
case 9:
- sub_81B239C(gUnknown_0203CEC8.mode);
+ InitPartyMenuWindows(gPartyMenu.layout);
gMain.state++;
break;
case 10:
- PartyMenuInitHelperStructs(gUnknown_0203CEC8.mode);
- gUnknown_0203CEC4->data[0] = 0;
+ InitPartyMenuBoxes(gPartyMenu.layout);
+ sPartyMenuInternal->data[0] = 0;
gMain.state++;
break;
case 11:
@@ -1726,33 +562,33 @@ static bool8 PartyMenuSetup(void)
gMain.state++;
break;
case 15:
- if (party_menu_add_per_mon_objects())
+ if (CreatePartyMonSpritesLoop())
{
- gUnknown_0203CEC4->data[0] = 0;
+ sPartyMenuInternal->data[0] = 0;
gMain.state++;
}
break;
case 16:
if (RenderPartyMenuBoxes())
{
- gUnknown_0203CEC4->data[0] = 0;
+ sPartyMenuInternal->data[0] = 0;
gMain.state++;
}
break;
case 17:
- sub_81B0F28();
+ CreateCancelConfirmPokeballSprites();
gMain.state++;
break;
case 18:
- sub_81B2428(gUnknown_0203CEC4->unk8_0);
+ CreateCancelConfirmWindows(sPartyMenuInternal->chooseHalf);
gMain.state++;
break;
case 19:
gMain.state++;
break;
case 20:
- CreateTask(gUnknown_0203CEC4->task, 0);
- display_pokemon_menu_message(gUnknown_0203CEC4->messageId);
+ CreateTask(sPartyMenuInternal->task, 0);
+ DisplayPartyMenuStdMessage(sPartyMenuInternal->messageId);
gMain.state++;
break;
case 21:
@@ -1765,49 +601,49 @@ static bool8 PartyMenuSetup(void)
gMain.state++;
break;
default:
- SetVBlankCallback(PartyMenuVBlankCallback);
- SetMainCallback2(PartyMenuCallback);
+ SetVBlankCallback(VBlankCB_PartyMenu);
+ SetMainCallback2(CB2_UpdatePartyMenu);
return TRUE;
}
return FALSE;
}
-static void PartyMenuExit(void)
+static void ExitPartyMenu(void)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- CreateTask(PartyMenuExitTask, 0);
- SetVBlankCallback(PartyMenuVBlankCallback);
- SetMainCallback2(PartyMenuCallback);
+ CreateTask(Task_ExitPartyMenu, 0);
+ SetVBlankCallback(VBlankCB_PartyMenu);
+ SetMainCallback2(CB2_UpdatePartyMenu);
}
-static void PartyMenuExitTask(u8 taskId)
+static void Task_ExitPartyMenu(u8 taskId)
{
if (!gPaletteFade.active)
{
- SetMainCallback2(gUnknown_0203CEC8.exitCallback);
+ SetMainCallback2(gPartyMenu.exitCallback);
FreePartyPointers();
DestroyTask(taskId);
}
}
-static void reset_brm(void)
+static void ResetPartyMenu(void)
{
- gUnknown_0203CEC4 = NULL;
- gUnknown_0203CEE4 = NULL;
- gUnknown_0203CEDC = NULL;
- gUnknown_0203CEE0 = NULL;
+ sPartyMenuInternal = NULL;
+ sPartyBgTilemapBuffer = NULL;
+ sPartyMenuBoxes = NULL;
+ sPartyBgGfxTilemap = NULL;
}
static bool8 AllocPartyMenuBg(void)
{
- gUnknown_0203CEE4 = Alloc(0x800);
- if (gUnknown_0203CEE4 == NULL)
+ sPartyBgTilemapBuffer = Alloc(0x800);
+ if (sPartyBgTilemapBuffer == NULL)
return FALSE;
- memset(gUnknown_0203CEE4, 0, 0x800);
+ memset(sPartyBgTilemapBuffer, 0, 0x800);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_086156B8, ARRAY_COUNT(gUnknown_086156B8));
- SetBgTilemapBuffer(1, gUnknown_0203CEE4);
+ InitBgsFromTemplates(0, sPartyMenuBgTemplates, ARRAY_COUNT(sPartyMenuBgTemplates));
+ SetBgTilemapBuffer(1, sPartyBgTilemapBuffer);
ResetAllBgsCoordinates();
schedule_bg_copy_tilemap_to_vram(1);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
@@ -1818,48 +654,48 @@ static bool8 AllocPartyMenuBg(void)
return TRUE;
}
-static bool8 AllocPartyMiscGfx(void)
+static bool8 AllocPartyMenuBgGfx(void)
{
u32 sizeout;
- switch (gUnknown_0203CEC4->data[0])
+ switch (sPartyMenuInternal->data[0])
{
case 0:
- gUnknown_0203CEE0 = malloc_and_decompress(gPartyMenuMisc_Gfx, &sizeout);
- LoadBgTiles(1, gUnknown_0203CEE0, sizeout, 0);
- gUnknown_0203CEC4->data[0]++;
+ sPartyBgGfxTilemap = malloc_and_decompress(gPartyMenuBg_Gfx, &sizeout);
+ LoadBgTiles(1, sPartyBgGfxTilemap, sizeout, 0);
+ sPartyMenuInternal->data[0]++;
break;
case 1:
if (!IsDma3ManagerBusyWithBgCopy())
{
- LZDecompressWram(gPartyMenuMisc_Tilemap, gUnknown_0203CEE4);
- gUnknown_0203CEC4->data[0]++;
+ LZDecompressWram(gPartyMenuBg_Tilemap, sPartyBgTilemapBuffer);
+ sPartyMenuInternal->data[0]++;
}
break;
case 2:
- LoadCompressedPalette(gPartyMenuMisc_Pal, 0, 0x160);
- CpuCopy16(gPlttBufferUnfaded, gUnknown_0203CEC4->palBuffer, 0x160);
- gUnknown_0203CEC4->data[0]++;
+ LoadCompressedPalette(gPartyMenuBg_Pal, 0, 0x160);
+ CpuCopy16(gPlttBufferUnfaded, sPartyMenuInternal->palBuffer, 0x160);
+ sPartyMenuInternal->data[0]++;
break;
case 3:
PartyPaletteBufferCopy(4);
- gUnknown_0203CEC4->data[0]++;
+ sPartyMenuInternal->data[0]++;
break;
case 4:
PartyPaletteBufferCopy(5);
- gUnknown_0203CEC4->data[0]++;
+ sPartyMenuInternal->data[0]++;
break;
case 5:
PartyPaletteBufferCopy(6);
- gUnknown_0203CEC4->data[0]++;
+ sPartyMenuInternal->data[0]++;
break;
case 6:
PartyPaletteBufferCopy(7);
- gUnknown_0203CEC4->data[0]++;
+ sPartyMenuInternal->data[0]++;
break;
case 7:
PartyPaletteBufferCopy(8);
- gUnknown_0203CEC4->data[0]++;
+ sPartyMenuInternal->data[0]++;
break;
default:
return TRUE;
@@ -1876,84 +712,86 @@ static void PartyPaletteBufferCopy(u8 offset)
static void FreePartyPointers(void)
{
- if (gUnknown_0203CEC4)
- Free(gUnknown_0203CEC4);
- if (gUnknown_0203CEE4)
- Free(gUnknown_0203CEE4);
- if (gUnknown_0203CEE0)
- Free(gUnknown_0203CEE0);
- if (gUnknown_0203CEDC)
- Free(gUnknown_0203CEDC);
+ if (sPartyMenuInternal)
+ Free(sPartyMenuInternal);
+ if (sPartyBgTilemapBuffer)
+ Free(sPartyBgTilemapBuffer);
+ if (sPartyBgGfxTilemap)
+ Free(sPartyBgGfxTilemap);
+ if (sPartyMenuBoxes)
+ Free(sPartyMenuBoxes);
FreeAllWindowBuffers();
}
-static void PartyMenuInitHelperStructs(u8 a)
+static void InitPartyMenuBoxes(u8 layout)
{
u8 i;
- gUnknown_0203CEDC = Alloc(sizeof(struct Struct203CEDC[PARTY_SIZE]));
+ sPartyMenuBoxes = Alloc(sizeof(struct PartyMenuBox[PARTY_SIZE]));
for (i = 0; i < PARTY_SIZE; i++)
{
- gUnknown_0203CEDC[i].unk0 = &gUnknown_086156C4[1];
- gUnknown_0203CEDC[i].unk4 = gUnknown_08615704[a][i];
- gUnknown_0203CEDC[i].windowId = i;
- gUnknown_0203CEDC[i].monSpriteId = 0xFF;
- gUnknown_0203CEDC[i].itemSpriteId = 0xFF;
- gUnknown_0203CEDC[i].pokeballSpriteId = 0xFF;
- gUnknown_0203CEDC[i].statusSpriteId = 0xFF;
+ sPartyMenuBoxes[i].infoRects = &sPartyBoxInfoRects[PARTY_BOX_RIGHT_COLUMN];
+ sPartyMenuBoxes[i].spriteCoords = sPartyMenuSpriteCoords[layout][i];
+ sPartyMenuBoxes[i].windowId = i;
+ sPartyMenuBoxes[i].monSpriteId = 0xFF;
+ sPartyMenuBoxes[i].itemSpriteId = 0xFF;
+ sPartyMenuBoxes[i].pokeballSpriteId = 0xFF;
+ sPartyMenuBoxes[i].statusSpriteId = 0xFF;
}
- gUnknown_0203CEDC[0].unk0 = &gUnknown_086156C4[0];
- if (a == 3)
- gUnknown_0203CEDC[3].unk0 = &gUnknown_086156C4[0];
- else if (a != 0)
- gUnknown_0203CEDC[1].unk0 = &gUnknown_086156C4[0];
+ // The first party mon goes in the left column
+ sPartyMenuBoxes[0].infoRects = &sPartyBoxInfoRects[PARTY_BOX_LEFT_COLUMN];
+
+ if (layout == PARTY_LAYOUT_MULTI_SHOWCASE)
+ sPartyMenuBoxes[3].infoRects = &sPartyBoxInfoRects[PARTY_BOX_LEFT_COLUMN];
+ else if (layout != PARTY_LAYOUT_SINGLE)
+ sPartyMenuBoxes[1].infoRects = &sPartyBoxInfoRects[PARTY_BOX_LEFT_COLUMN];
}
static void RenderPartyMenuBox(u8 slot)
{
- if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2)
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE && slot >= MULTI_PARTY_SIZE)
{
- sub_81B0CEC(slot);
- if (gUnknown_02022FF8[slot - 3].species == SPECIES_NONE)
- UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40);
+ DisplayPartyPokemonDataForMultiBattle(slot);
+ if (gMultiPartnerParty[slot - MULTI_PARTY_SIZE].species == SPECIES_NONE)
+ LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_NO_MON);
else
- UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 8);
- CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2);
- PutWindowTilemap(gUnknown_0203CEDC[slot].windowId);
+ LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_MULTI_ALT);
+ CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2);
+ PutWindowTilemap(sPartyMenuBoxes[slot].windowId);
schedule_bg_copy_tilemap_to_vram(2);
}
else
{
if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) == SPECIES_NONE)
{
- DrawEmptySlot(gUnknown_0203CEDC[slot].windowId);
- UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40);
- CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2);
+ DrawEmptySlot(sPartyMenuBoxes[slot].windowId);
+ LoadPartyBoxPalette(&sPartyMenuBoxes[slot], PARTY_PAL_NO_MON);
+ CopyWindowToVram(sPartyMenuBoxes[slot].windowId, 2);
}
else
{
- if (gUnknown_0203CEC8.unk8_0 == 7)
- DisplayPartyPokemonSelectForRelearner(slot);
- else if (gUnknown_0203CEC8.unk8_0 == 2)
- DisplayPartyPokemonSelectForContest(slot);
- else if (gUnknown_0203CEC8.unk8_0 == 4)
- DisplayPartyPokemonSelectForBattle(slot);
- else if (gUnknown_0203CEC8.unk8_0 == 11)
- sub_81B0B98(slot);
- else if (gUnknown_0203CEC8.unk8_0 == 12)
- DisplayPartyPokemonSelectHeldItemRelated(slot);
- else if (!sub_81B0BFC(slot))
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_MOVE_RELEARNER)
+ DisplayPartyPokemonDataForRelearner(slot);
+ else if (gPartyMenu.menuType == PARTY_MENU_TYPE_CONTEST)
+ DisplayPartyPokemonDataForContest(slot);
+ else if (gPartyMenu.menuType == PARTY_MENU_TYPE_CHOOSE_HALF)
+ DisplayPartyPokemonDataForChooseHalf(slot);
+ else if (gPartyMenu.menuType == PARTY_MENU_TYPE_MINIGAME)
+ DisplayPartyPokemonDataForWirelessMinigame(slot);
+ else if (gPartyMenu.menuType == PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS)
+ DisplayPartyPokemonDataForBattlePyramidHeldItem(slot);
+ else if (!DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(slot))
DisplayPartyPokemonData(slot);
- if (gUnknown_0203CEC8.unk8_0 == 5)
- sub_81B0FCC(slot, 0);
- else if (gUnknown_0203CEC8.slotId == slot)
- sub_81B0FCC(slot, 1);
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE)
+ AnimatePartySlot(slot, 0);
+ else if (gPartyMenu.slotId == slot)
+ AnimatePartySlot(slot, 1);
else
- sub_81B0FCC(slot, 0);
+ AnimatePartySlot(slot, 0);
}
- PutWindowTilemap(gUnknown_0203CEDC[slot].windowId);
+ PutWindowTilemap(sPartyMenuBoxes[slot].windowId);
schedule_bg_copy_tilemap_to_vram(0);
}
}
@@ -1962,249 +800,251 @@ static void DisplayPartyPokemonData(u8 slot)
{
if (GetMonData(&gPlayerParty[slot], MON_DATA_IS_EGG))
{
- gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 1);
- DisplayPartyPokemonNickname(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0);
+ sPartyMenuBoxes[slot].infoRects->blitFunc(sPartyMenuBoxes[slot].windowId, 0, 0, 0, 0, TRUE);
+ DisplayPartyPokemonNickname(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0);
}
else
{
- gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 0);
- DisplayPartyPokemonNickname(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0);
- DisplayPartyPokemonLevelCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0);
- DisplayPartyPokemonGenderNidoranCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0);
- DisplayPartyPokemonHPCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0);
- DisplayPartyPokemonMaxHPCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], 0);
- DisplayPartyPokemonHPBarCheck(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]);
+ sPartyMenuBoxes[slot].infoRects->blitFunc(sPartyMenuBoxes[slot].windowId, 0, 0, 0, 0, FALSE);
+ DisplayPartyPokemonNickname(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0);
+ DisplayPartyPokemonLevelCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0);
+ DisplayPartyPokemonGenderNidoranCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0);
+ DisplayPartyPokemonHPCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0);
+ DisplayPartyPokemonMaxHPCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot], 0);
+ DisplayPartyPokemonHPBarCheck(&gPlayerParty[slot], &sPartyMenuBoxes[slot]);
}
}
-static void DisplayPartyPokemonSelectData(u8 slot, u8 stringID)
+static void DisplayPartyPokemonDescriptionData(u8 slot, u8 stringID)
{
struct Pokemon *mon = &gPlayerParty[slot];
- gUnknown_0203CEDC[slot].unk0->unk0(gUnknown_0203CEDC[slot].windowId, 0, 0, 0, 0, 1);
- DisplayPartyPokemonNickname(mon, &gUnknown_0203CEDC[slot], 0);
+ sPartyMenuBoxes[slot].infoRects->blitFunc(sPartyMenuBoxes[slot].windowId, 0, 0, 0, 0, TRUE);
+ DisplayPartyPokemonNickname(mon, &sPartyMenuBoxes[slot], 0);
if (!GetMonData(mon, MON_DATA_IS_EGG))
{
- DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 0);
- DisplayPartyPokemonGenderNidoranCheck(mon, &gUnknown_0203CEDC[slot], 0);
+ DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[slot], 0);
+ DisplayPartyPokemonGenderNidoranCheck(mon, &sPartyMenuBoxes[slot], 0);
}
- DisplayPartyPokemonOtherText(stringID, &gUnknown_0203CEDC[slot], 0);
+ DisplayPartyPokemonDescriptionText(stringID, &sPartyMenuBoxes[slot], 0);
}
-static void DisplayPartyPokemonSelectForBattle(u8 slot)
+static void DisplayPartyPokemonDataForChooseHalf(u8 slot)
{
u8 i;
struct Pokemon *mon = &gPlayerParty[slot];
- u8 *ptr = gSelectedOrderFromParty;
+ u8 *order = gSelectedOrderFromParty;
if (!GetBattleEntryEligibility(mon))
{
- DisplayPartyPokemonSelectData(slot, 7);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE);
return;
}
else
{
- for (i = 0; i < sub_81B8830(); i++)
+ for (i = 0; i < GetMaxBattleEntries(); i++)
{
- if (ptr[i] != 0 && (ptr[i] - 1) == slot)
+ if (order[i] != 0 && (order[i] - 1) == slot)
{
- DisplayPartyPokemonSelectData(slot, i + 2);
+ DisplayPartyPokemonDescriptionData(slot, i + PARTYBOX_DESC_FIRST);
return;
}
}
- DisplayPartyPokemonSelectData(slot, 1);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE_3);
}
}
-static void DisplayPartyPokemonSelectForContest(u8 slot)
+static void DisplayPartyPokemonDataForContest(u8 slot)
{
- switch (sub_80DAE0C(&gPlayerParty[slot]))
+ switch (GetContestEntryEligibility(&gPlayerParty[slot]))
{
- case 0:
- case 3:
- case 4:
- DisplayPartyPokemonSelectData(slot, 7);
+ case CANT_ENTER_CONTEST:
+ case CANT_ENTER_CONTEST_EGG:
+ case CANT_ENTER_CONTEST_FAINTED:
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE);
break;
- case 1:
- case 2:
- DisplayPartyPokemonSelectData(slot, 6);
+ case CAN_ENTER_CONTEST_EQUAL_RANK:
+ case CAN_ENTER_CONTEST_HIGH_RANK:
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE);
break;
}
}
-static void DisplayPartyPokemonSelectForRelearner(u8 slot)
+static void DisplayPartyPokemonDataForRelearner(u8 slot)
{
if (GetNumberOfRelearnableMoves(&gPlayerParty[slot]) == 0)
- DisplayPartyPokemonSelectData(slot, 9);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE_2);
else
- DisplayPartyPokemonSelectData(slot, 8);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE_2);
}
-static void sub_81B0B98(u8 slot)
+static void DisplayPartyPokemonDataForWirelessMinigame(u8 slot)
{
- if (sub_81B218C(slot) == TRUE)
- DisplayPartyPokemonSelectData(slot, 6);
+ if (IsMonAllowedInMinigame(slot) == TRUE)
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE);
else
- DisplayPartyPokemonSelectData(slot, 7);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE);
}
-static void DisplayPartyPokemonSelectHeldItemRelated(u8 slot)
+static void DisplayPartyPokemonDataForBattlePyramidHeldItem(u8 slot)
{
if (GetMonData(&gPlayerParty[slot], MON_DATA_HELD_ITEM))
- DisplayPartyPokemonSelectData(slot, 11);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_HAVE);
else
- DisplayPartyPokemonSelectData(slot, 12);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_DONT_HAVE);
}
-static bool8 sub_81B0BFC(u8 slot)
+// Returns TRUE if teaching move or cant evolve with item (i.e. description data is shown), FALSE otherwise
+static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
{
struct Pokemon *currentPokemon = &gPlayerParty[slot];
u16 item = gSpecialVar_ItemId;
- if (gUnknown_0203CEC8.unkB == 12)
+ if (gPartyMenu.action == PARTY_ACTION_MOVE_TUTOR)
{
gSpecialVar_Result = FALSE;
- DisplayPartyPokemonSelectToTeachMove(slot, 0, gSpecialVar_0x8005);
+ DisplayPartyPokemonDataToTeachMove(slot, 0, gSpecialVar_0x8005);
}
else
{
- if (gUnknown_0203CEC8.unkB != 3)
+ if (gPartyMenu.action != PARTY_ACTION_USE_ITEM)
return FALSE;
switch (CheckIfItemIsTMHMOrEvolutionStone(item))
{
default:
return FALSE;
- case 1:
- DisplayPartyPokemonSelectToTeachMove(slot, item, 0);
+ case 1: // TM/HM
+ DisplayPartyPokemonDataToTeachMove(slot, item, 0);
break;
- case 2:
+ case 2: // Evolution stone
if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, 3, item) != SPECIES_NONE)
return FALSE;
- DisplayPartyPokemonSelectData(slot, 0);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NO_USE);
break;
}
}
return TRUE;
}
-static void DisplayPartyPokemonSelectToTeachMove(u8 slot, u16 item, u8 tutor)
+static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor)
{
switch (CanMonLearnTMTutor(&gPlayerParty[slot], item, tutor))
{
case CANNOT_LEARN_MOVE:
case CANNOT_LEARN_MOVE_IS_EGG:
- DisplayPartyPokemonSelectData(slot, 9);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NOT_ABLE_2);
break;
case ALREADY_KNOWS_MOVE:
- DisplayPartyPokemonSelectData(slot, 10);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_LEARNED);
break;
default:
- DisplayPartyPokemonSelectData(slot, 8);
+ DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_ABLE_2);
break;
}
}
-static void sub_81B0CEC(u8 slot)
+static void DisplayPartyPokemonDataForMultiBattle(u8 slot)
{
- struct Struct203CEDC *structPtr = &gUnknown_0203CEDC[slot];
- u8 actualSlot = slot - 3;
+ struct PartyMenuBox *menuBox = &sPartyMenuBoxes[slot];
+ u8 actualSlot = slot - (3);
- if (gUnknown_02022FF8[actualSlot].species == SPECIES_NONE)
+ if (gMultiPartnerParty[actualSlot].species == SPECIES_NONE)
{
- DrawEmptySlot(structPtr->windowId);
+ DrawEmptySlot(menuBox->windowId);
}
else
{
- structPtr->unk0->unk0(structPtr->windowId, 0, 0, 0, 0, 0);
- StringCopy(gStringVar1, gUnknown_02022FF8[actualSlot].nickname);
+ menuBox->infoRects->blitFunc(menuBox->windowId, 0, 0, 0, 0, FALSE);
+ StringCopy(gStringVar1, gMultiPartnerParty[actualSlot].nickname);
StringGetEnd10(gStringVar1);
sub_81DB52C(gStringVar1);
- DisplayPartyPokemonBarDetail(structPtr->windowId, gStringVar1, 0, structPtr->unk0->unk4);
- DisplayPartyPokemonLevel(gUnknown_02022FF8[actualSlot].level, structPtr);
- DisplayPartyPokemonGender(gUnknown_02022FF8[actualSlot].gender, gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].nickname, structPtr);
- DisplayPartyPokemonHP(gUnknown_02022FF8[actualSlot].hp, structPtr);
- DisplayPartyPokemonMaxHP(gUnknown_02022FF8[actualSlot].maxhp, structPtr);
- DisplayPartyPokemonHPBar(gUnknown_02022FF8[actualSlot].hp, gUnknown_02022FF8[actualSlot].maxhp, structPtr);
+ DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, menuBox->infoRects->dimensions);
+ DisplayPartyPokemonLevel(gMultiPartnerParty[actualSlot].level, menuBox);
+ DisplayPartyPokemonGender(gMultiPartnerParty[actualSlot].gender, gMultiPartnerParty[actualSlot].species, gMultiPartnerParty[actualSlot].nickname, menuBox);
+ DisplayPartyPokemonHP(gMultiPartnerParty[actualSlot].hp, menuBox);
+ DisplayPartyPokemonMaxHP(gMultiPartnerParty[actualSlot].maxhp, menuBox);
+ DisplayPartyPokemonHPBar(gMultiPartnerParty[actualSlot].hp, gMultiPartnerParty[actualSlot].maxhp, menuBox);
}
}
static bool8 RenderPartyMenuBoxes(void)
{
- RenderPartyMenuBox(gUnknown_0203CEC4->data[0]);
- if (++gUnknown_0203CEC4->data[0] == 6)
+ RenderPartyMenuBox(sPartyMenuInternal->data[0]);
+ if (++sPartyMenuInternal->data[0] == PARTY_SIZE)
return TRUE;
else
return FALSE;
}
-static u8* GetPartyMiscGraphicsTile(u16 tileId)
+static u8* GetPartyMenuBgTile(u16 tileId)
{
- return &gUnknown_0203CEE0[tileId << 5];
+ return &sPartyBgGfxTilemap[tileId << 5];
}
-static void party_menu_add_per_mon_objects_internal(u8 slot)
+static void CreatePartyMonSprites(u8 slot)
{
u8 actualSlot;
- if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2)
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE && slot >= MULTI_PARTY_SIZE)
{
u8 status;
- actualSlot = slot - 3;
+ actualSlot = slot - MULTI_PARTY_SIZE;
- if (gUnknown_02022FF8[actualSlot].species != SPECIES_NONE)
+ if (gMultiPartnerParty[actualSlot].species != SPECIES_NONE)
{
- party_menu_link_mon_icon_anim(gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].personality, &gUnknown_0203CEDC[slot], 0, 0);
- party_menu_link_mon_held_item_object(gUnknown_02022FF8[actualSlot].species, gUnknown_02022FF8[actualSlot].heldItem, &gUnknown_0203CEDC[slot]);
- party_menu_link_mon_pokeball_object(gUnknown_02022FF8[actualSlot].species, &gUnknown_0203CEDC[slot]);
- if (gUnknown_02022FF8[actualSlot].hp == 0)
+ CreatePartyMonIconSpriteParameterized(gMultiPartnerParty[actualSlot].species, gMultiPartnerParty[actualSlot].personality, &sPartyMenuBoxes[slot], 0, FALSE);
+ CreatePartyMonHeldItemSpriteParameterized(gMultiPartnerParty[actualSlot].species, gMultiPartnerParty[actualSlot].heldItem, &sPartyMenuBoxes[slot]);
+ CreatePartyMonPokeballSpriteParameterized(gMultiPartnerParty[actualSlot].species, &sPartyMenuBoxes[slot]);
+ if (gMultiPartnerParty[actualSlot].hp == 0)
status = AILMENT_FNT;
else
- status = pokemon_ailments_get_primary(gUnknown_02022FF8[actualSlot].status);
- party_menu_link_mon_status_condition_object(gUnknown_02022FF8[actualSlot].species, status, &gUnknown_0203CEDC[slot]);
+ status = GetAilmentFromStatus(gMultiPartnerParty[actualSlot].status);
+ CreatePartyMonStatusSpriteParameterized(gMultiPartnerParty[actualSlot].species, status, &sPartyMenuBoxes[slot]);
}
}
else if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE)
{
- party_menu_icon_anim(&gPlayerParty[slot], &gUnknown_0203CEDC[slot], slot);
- party_menu_held_item_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]);
- party_menu_pokeball_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]);
- party_menu_status_condition_object(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]);
+ CreatePartyMonIconSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot], slot);
+ CreatePartyMonHeldItemSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]);
+ CreatePartyMonPokeballSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]);
+ CreatePartyMonStatusSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]);
}
}
-static bool8 party_menu_add_per_mon_objects(void)
+static bool8 CreatePartyMonSpritesLoop(void)
{
- party_menu_add_per_mon_objects_internal(gUnknown_0203CEC4->data[0]);
- if (++gUnknown_0203CEC4->data[0] == 6)
+ CreatePartyMonSprites(sPartyMenuInternal->data[0]);
+ if (++sPartyMenuInternal->data[0] == PARTY_SIZE)
return TRUE;
else
return FALSE;
}
-static void sub_81B0F28(void)
+static void CreateCancelConfirmPokeballSprites(void)
{
- if (gUnknown_0203CEC8.unk8_0 == 5)
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_MULTI_SHOWCASE)
{
+ // The showcase has no Cancel/Confirm buttons
FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 1);
}
else
{
- if (gUnknown_0203CEC4->unk8_0)
+ if (sPartyMenuInternal->chooseHalf)
{
- gUnknown_0203CEC4->unk8_2 = sub_81B5F74(0xBF, 0x88);
- sub_81B120C();
- gUnknown_0203CEC4->unk9_0 = sub_81B5F74(0xBF, 0x98);
+ sPartyMenuInternal->spriteIdConfirmPokeball = CreateSmallPokeballButtonSprite(0xBF, 0x88);
+ DrawCancelConfirmButtons();
+ sPartyMenuInternal->spriteIdCancelPokeball = CreateSmallPokeballButtonSprite(0xBF, 0x98);
}
else
{
- gUnknown_0203CEC4->unk9_0 = sub_81B5F34(0xC6, 0x94);
+ sPartyMenuInternal->spriteIdCancelPokeball = CreatePokeballButtonSprite(198, 148);
}
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 1);
+ AnimatePartySlot(gPartyMenu.slotId, 1);
}
}
-void sub_81B0FCC(u8 slot, u8 b)
+void AnimatePartySlot(u8 slot, u8 animNum)
{
u8 spriteId;
@@ -2213,79 +1053,80 @@ void sub_81B0FCC(u8 slot, u8 b)
default:
if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE)
{
- UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], GetPartyBoxPalBitfield(slot, b));
- AnimateSelectedPartyIcon(gUnknown_0203CEDC[slot].monSpriteId, b);
- sub_81B5F98(gUnknown_0203CEDC[slot].pokeballSpriteId, b);
+ LoadPartyBoxPalette(&sPartyMenuBoxes[slot], GetPartyBoxPaletteFlags(slot, animNum));
+ AnimateSelectedPartyIcon(sPartyMenuBoxes[slot].monSpriteId, animNum);
+ PartyMenuStartSpriteAnim(sPartyMenuBoxes[slot].pokeballSpriteId, animNum);
}
return;
- case 6:
- if (b == 0)
- sub_8199C30(1, 23, 16, 7, 2, 1);
+ case PARTY_SIZE: // Confirm
+ if (animNum == 0)
+ SetBgTilemapPalette(1, 23, 16, 7, 2, 1);
else
- sub_8199C30(1, 23, 16, 7, 2, 2);
- spriteId = gUnknown_0203CEC4->unk8_2;
+ SetBgTilemapPalette(1, 23, 16, 7, 2, 2);
+ spriteId = sPartyMenuInternal->spriteIdConfirmPokeball;
break;
- case 7:
- if (!gUnknown_0203CEC4->unk8_0)
+ case PARTY_SIZE + 1: // Cancel
+ // The position of the Cancel button changes if Confirm is present
+ if (!sPartyMenuInternal->chooseHalf)
{
- if (b == 0)
- sub_8199C30(1, 23, 17, 7, 2, 1);
+ if (animNum == 0)
+ SetBgTilemapPalette(1, 23, 17, 7, 2, 1);
else
- sub_8199C30(1, 23, 17, 7, 2, 2);
+ SetBgTilemapPalette(1, 23, 17, 7, 2, 2);
}
- else if (b == 0)
+ else if (animNum == 0)
{
- sub_8199C30(1, 23, 18, 7, 2, 1);
+ SetBgTilemapPalette(1, 23, 18, 7, 2, 1);
}
else
{
- sub_8199C30(1, 23, 18, 7, 2, 2);
+ SetBgTilemapPalette(1, 23, 18, 7, 2, 2);
}
- spriteId = gUnknown_0203CEC4->unk9_0;
+ spriteId = sPartyMenuInternal->spriteIdCancelPokeball;
break;
}
- sub_81B5F98(spriteId, b);
+ PartyMenuStartSpriteAnim(spriteId, animNum);
schedule_bg_copy_tilemap_to_vram(1);
}
-static u8 GetPartyBoxPalBitfield(u8 slot, u8 b)
+static u8 GetPartyBoxPaletteFlags(u8 slot, u8 animNum)
{
- u8 returnVar = 0;
+ u8 palFlags = 0;
- if (b == 1)
- returnVar |= 1;
+ if (animNum == 1)
+ palFlags |= PARTY_PAL_SELECTED;
if (GetMonData(&gPlayerParty[slot], MON_DATA_HP) == 0)
- returnVar |= 2;
+ palFlags |= PARTY_PAL_FAINTED;
if (PartyBoxPal_ParnterOrDisqualifiedInArena(slot) == TRUE)
- returnVar |= 8;
- if (gUnknown_0203CEC8.unkB == 9)
- returnVar |= 16;
- if (gUnknown_0203CEC8.unkB == 8)
+ palFlags |= PARTY_PAL_MULTI_ALT;
+ if (gPartyMenu.action == PARTY_ACTION_SWITCHING)
+ palFlags |= PARTY_PAL_SWITCHING;
+ if (gPartyMenu.action == PARTY_ACTION_SWITCH)
{
- if (slot == gUnknown_0203CEC8.slotId || slot == gUnknown_0203CEC8.unkA)
- returnVar |= 4;
+ if (slot == gPartyMenu.slotId || slot == gPartyMenu.slotId2)
+ palFlags |= PARTY_PAL_TO_SWITCH;
}
- if (gUnknown_0203CEC8.unkB == 10 && slot == gUnknown_0203CEC8.slotId )
- returnVar |= 32;
+ if (gPartyMenu.action == PARTY_ACTION_SOFTBOILED && slot == gPartyMenu.slotId )
+ palFlags |= PARTY_PAL_TO_SOFTBOIL;
- return returnVar;
+ return palFlags;
}
static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8 slot)
{
- if (gUnknown_0203CEC8.mode == 2 && (slot == 1 || slot == 4 || slot == 5))
+ if (gPartyMenu.layout == PARTY_LAYOUT_MULTI && (slot == 1 || slot == 4 || slot == 5))
return TRUE;
- if (slot < 3 && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->arenaLostPlayerMons >> sub_81B8F38(slot) & 1))
+ if (slot < MULTI_PARTY_SIZE && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->arenaLostPlayerMons >> GetPartyIdFromBattleSlot(slot) & 1))
return TRUE;
return FALSE;
}
-static void sub_81B120C(void)
+static void DrawCancelConfirmButtons(void)
{
- CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157C4, 23, 16, 7, 2, 17);
- CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157E0, 23, 18, 7, 2, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sConfirmButton_Tilemap, 23, 16, 7, 2, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sCancelButton_Tilemap, 23, 18, 7, 2, 17);
schedule_bg_copy_tilemap_to_vram(1);
}
@@ -2297,34 +1138,34 @@ bool8 IsMultiBattle(void)
return FALSE;
}
-static void sub_81B1288(struct Pokemon *partySlot, struct Pokemon *pokemon)
+static void SwapPartyPokemon(struct Pokemon *mon1, struct Pokemon *mon2)
{
struct Pokemon *temp = Alloc(sizeof(struct Pokemon));
- *temp = *partySlot;
- *partySlot = *pokemon;
- *pokemon = *temp;
+ *temp = *mon1;
+ *mon1 = *mon2;
+ *mon2 = *temp;
Free(temp);
}
-static void sub_81B12C0(u8 taskId)
+static void Task_ClosePartyMenu(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gTasks[taskId].func = c3_0811FAB4;
+ gTasks[taskId].func = Task_ClosePartyMenuAndSetCB2;
}
-static void c3_0811FAB4(u8 taskId)
+static void Task_ClosePartyMenuAndSetCB2(u8 taskId)
{
if (!gPaletteFade.active)
{
- if (gUnknown_0203CEC8.unk8_0 == 1)
- sub_81B9080();
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE)
+ UpdatePartyToFieldOrder();
- if (gUnknown_0203CEC4->exitCallback != NULL)
- SetMainCallback2(gUnknown_0203CEC4->exitCallback);
+ if (sPartyMenuInternal->exitCallback != NULL)
+ SetMainCallback2(sPartyMenuInternal->exitCallback);
else
- SetMainCallback2(gUnknown_0203CEC8.exitCallback);
+ SetMainCallback2(gPartyMenu.exitCallback);
ResetSpriteData();
FreePartyPointers();
@@ -2334,124 +1175,124 @@ static void c3_0811FAB4(u8 taskId)
u8 GetCursorSelectionMonId(void)
{
- return gUnknown_0203CEC8.slotId;
+ return gPartyMenu.slotId;
}
-u8 sub_81B1360(void)
+u8 GetPartyMenuType(void)
{
- return gUnknown_0203CEC8.unk8_0;
+ return gPartyMenu.menuType;
}
-void sub_81B1370(u8 taskId)
+void Task_HandleChooseMonInput(u8 taskId)
{
if (!gPaletteFade.active && sub_81221EC() != TRUE)
{
- s8 *ptr = sub_81B13EC();
+ s8 *slotPtr = GetCurrentPartySlotPtr();
- switch (PartyMenuButtonHandler(ptr))
+ switch (PartyMenuButtonHandler(slotPtr))
{
- case 1:
- sub_81B140C(taskId, ptr);
+ case 1: // Selected mon
+ HandleChooseMonSelection(taskId, slotPtr);
break;
- case 2:
- sub_81B15D0(taskId, ptr);
+ case 2: // Selected Cancel
+ HandleChooseMonCancel(taskId, slotPtr);
break;
- case 8:
- if (gUnknown_0203CEC4->unk8_0)
+ case 8: // Start button
+ if (sPartyMenuInternal->chooseHalf)
{
PlaySE(SE_SELECT);
- sub_81B4F88();
+ MoveCursorToConfirm();
}
break;
}
}
}
-static s8* sub_81B13EC(void)
+static s8* GetCurrentPartySlotPtr(void)
{
- if (gUnknown_0203CEC8.unkB == 8 || gUnknown_0203CEC8.unkB == 10)
- return &gUnknown_0203CEC8.unkA;
+ if (gPartyMenu.action == PARTY_ACTION_SWITCH || gPartyMenu.action == PARTY_ACTION_SOFTBOILED)
+ return &gPartyMenu.slotId2;
else
- return &gUnknown_0203CEC8.slotId;
+ return &gPartyMenu.slotId;
}
-static void sub_81B140C(u8 taskId, s8 *ptr)
+static void HandleChooseMonSelection(u8 taskId, s8 *slotPtr)
{
- if (*ptr == 6)
+ if (*slotPtr == PARTY_SIZE)
{
- gUnknown_0203CEC8.unk4(taskId);
+ gPartyMenu.task(taskId);
}
else
{
- switch (gUnknown_0203CEC8.unkB - 3)
+ switch (gPartyMenu.action - 3)
{
- case 7:
- if (sub_81B15A4((u8*)ptr))
+ case PARTY_ACTION_SOFTBOILED - 3:
+ if (IsSelectedMonNotEgg((u8*)slotPtr))
{
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81615A8(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ Task_TryUseSoftboiledOnPartyMon(taskId);
}
break;
- case 0:
- if (sub_81B15A4((u8*)ptr))
+ case PARTY_ACTION_USE_ITEM - 3:
+ if (IsSelectedMonNotEgg((u8*)slotPtr))
{
- if (gUnknown_0203CEC8.unk8_0 == 1)
- gUnknown_0203CEC4->exitCallback = sub_81B9140;
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE)
+ sPartyMenuInternal->exitCallback = CB2_SetUpExitToBattleScreen;
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- gUnknown_03006328(taskId, sub_81B6794);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ gItemUseCB(taskId, Task_ClosePartyMenuAfterText);
}
break;
- case 9:
- if (sub_81B15A4((u8*)ptr))
+ case PARTY_ACTION_MOVE_TUTOR - 3:
+ if (IsSelectedMonNotEgg((u8*)slotPtr))
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B7E4C(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ TryTutorSelectedMon(taskId);
}
break;
- case 4:
- if (sub_81B15A4((u8*)ptr))
+ case PARTY_ACTION_GIVE_MAILBOX_MAIL - 3:
+ if (IsSelectedMonNotEgg((u8*)slotPtr))
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B8474(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ TryGiveMailToSelectedMon(taskId);
}
break;
- case 2:
- case 3:
- if (sub_81B15A4((u8*)ptr))
+ case PARTY_ACTION_GIVE_ITEM - 3:
+ case PARTY_ACTION_GIVE_PC_ITEM - 3:
+ if (IsSelectedMonNotEgg((u8*)slotPtr))
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B7FAC(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ TryGiveItemOrMailToSelectedMon(taskId);
}
break;
- case 5:
+ case PARTY_ACTION_SWITCH - 3:
PlaySE(SE_SELECT);
- sub_81B3938(taskId);
+ SwitchSelectedMons(taskId);
break;
- case 8:
+ case PARTY_ACTION_CHOOSE_AND_CLOSE - 3:
PlaySE(SE_SELECT);
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
break;
- case 10:
- if (sub_81B15A4((u8*)ptr))
+ case PARTY_ACTION_MINIGAME - 3:
+ if (IsSelectedMonNotEgg((u8*)slotPtr))
{
- sub_81B21AC(taskId, (u8)*ptr);
+ TryEnterMonForMinigame(taskId, (u8)*slotPtr);
}
break;
default:
- case 1:
- case 6:
+ case PARTY_ACTION_ABILITY_PREVENTS - 3:
+ case PARTY_ACTION_SWITCHING - 3:
PlaySE(SE_SELECT);
- sub_81B36FC(taskId);
+ Task_TryCreateSelectionWindow(taskId);
break;
}
}
}
-static bool8 sub_81B15A4(u8 *slotPtr)
+static bool8 IsSelectedMonNotEgg(u8 *slotPtr)
{
if (GetMonData(&gPlayerParty[*slotPtr], MON_DATA_IS_EGG) == TRUE)
{
@@ -2461,108 +1302,109 @@ static bool8 sub_81B15A4(u8 *slotPtr)
return TRUE;
}
-static void sub_81B15D0(u8 taskId, s8 *ptr)
+static void HandleChooseMonCancel(u8 taskId, s8 *slotPtr)
{
- switch (gUnknown_0203CEC8.unkB)
+ switch (gPartyMenu.action)
{
- case 1:
+ case PARTY_ACTION_SEND_OUT:
PlaySE(SE_HAZURE);
break;
- case 8:
- case 10:
+ case PARTY_ACTION_SWITCH:
+ case PARTY_ACTION_SOFTBOILED:
PlaySE(SE_SELECT);
- sub_81B407C(taskId);
+ FinishTwoMonAction(taskId);
break;
- case 13:
+ case PARTY_ACTION_MINIGAME:
PlaySE(SE_SELECT);
- sub_81B2210(taskId);
+ CancelParticipationPrompt(taskId);
break;
default:
PlaySE(SE_SELECT);
- if (sub_81B1660(taskId) != TRUE)
+ if (DisplayCancelChooseMonYesNo(taskId) != TRUE)
{
if (!sub_81221AC())
- gSpecialVar_0x8004 = 7;
- gUnknown_0203CEE8 = 0;
- *ptr = 7;
- sub_81B12C0(taskId);
+ gSpecialVar_0x8004 = PARTY_SIZE + 1;
+ gPartyMenuUseExitCallback = FALSE;
+ *slotPtr = PARTY_SIZE + 1;
+ Task_ClosePartyMenu(taskId);
}
break;
}
}
-static bool8 sub_81B1660(u8 taskId)
+static bool8 DisplayCancelChooseMonYesNo(u8 taskId)
{
const u8* stringPtr = NULL;
- if (gUnknown_0203CEC8.unk8_0 == 2)
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_CONTEST)
stringPtr = gText_CancelParticipation;
- else if (gUnknown_0203CEC8.unk8_0 == 4)
- stringPtr = sub_81B88BC();
+ else if (gPartyMenu.menuType == PARTY_MENU_TYPE_CHOOSE_HALF)
+ stringPtr = GetFacilityCancelString();
if (stringPtr == NULL)
return FALSE;
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
StringExpandPlaceholders(gStringVar4, stringPtr);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B16D4;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_CancelChooseMonYesNo;
return TRUE;
}
-static void sub_81B16D4(u8 taskId)
+static void Task_CancelChooseMonYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B1708;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleCancelChooseMonYesNoInput;
}
}
-static void sub_81B1708(u8 taskId)
+static void Task_HandleCancelChooseMonYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
- gUnknown_0203CEE8 = 0;
- gUnknown_0203CEC8.slotId = 7;
- sub_81B8558();
- sub_81B12C0(taskId);
+ gPartyMenuUseExitCallback = FALSE;
+ gPartyMenu.slotId = PARTY_SIZE + 1;
+ ClearSelectedPartyOrder();
+ Task_ClosePartyMenu(taskId);
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
- sub_81B1C1C(taskId);
+ Task_ReturnToChooseMonAfterText(taskId);
break;
}
}
-static u16 PartyMenuButtonHandler(s8 *ptr)
+static u16 PartyMenuButtonHandler(s8 *slotPtr)
{
s8 movementDir;
switch (gMain.newAndRepeatedKeys)
{
case DPAD_UP:
- movementDir = -1;
+ movementDir = MENU_DIR_UP;
break;
case DPAD_DOWN:
- movementDir = 1;
+ movementDir = MENU_DIR_DOWN;
break;
case DPAD_LEFT:
- movementDir = -2;
+ movementDir = MENU_DIR_LEFT;
break;
case DPAD_RIGHT:
- movementDir = 2;
+ movementDir = MENU_DIR_RIGHT;
break;
default:
- switch (sub_812210C())
+ switch (GetLRKeysPressedAndHeld())
{
- case 1:
- movementDir = -1;
+ case MENU_L_PRESSED:
+ movementDir = MENU_DIR_UP;
break;
- case 2:
- movementDir = 1;
+ case MENU_R_PRESSED:
+ movementDir = MENU_DIR_DOWN;
break;
default:
movementDir = 0;
@@ -2576,203 +1418,207 @@ static u16 PartyMenuButtonHandler(s8 *ptr)
if (movementDir)
{
- UpdateCurrentPartySelection(ptr, movementDir);
+ UpdateCurrentPartySelection(slotPtr, movementDir);
return 0;
}
- if ((gMain.newKeys & A_BUTTON) && *ptr == 7)
+ // Pressed Cancel
+ if ((gMain.newKeys & A_BUTTON) && *slotPtr == PARTY_SIZE + 1)
return 2;
return gMain.newKeys & (A_BUTTON | B_BUTTON);
}
-static void UpdateCurrentPartySelection(s8 *ptr, s8 movementDir)
+static void UpdateCurrentPartySelection(s8 *slotPtr, s8 movementDir)
{
- s8 slot = *ptr;
- u8 mode = gUnknown_0203CEC8.mode;
+ s8 newSlotId = *slotPtr;
+ u8 layout = gPartyMenu.layout;
- if (mode == 0)
- SetNewPartySelectTarget1(ptr, movementDir);
+ if (layout == PARTY_LAYOUT_SINGLE)
+ UpdatePartySelectionSingleLayout(slotPtr, movementDir);
else
- SetNewPartySelectTarget2(ptr, movementDir);
+ UpdatePartySelectionDoubleLayout(slotPtr, movementDir);
- if (*ptr != slot)
+ if (*slotPtr != newSlotId)
{
PlaySE(SE_SELECT);
- sub_81B0FCC(slot, 0);
- sub_81B0FCC(*ptr, 1);
+ AnimatePartySlot(newSlotId, 0);
+ AnimatePartySlot(*slotPtr, 1);
}
}
-static void SetNewPartySelectTarget1(s8 *ptr, s8 b)
+static void UpdatePartySelectionSingleLayout(s8 *slotPtr, s8 movementDir)
{
- switch (b)
+ // PARTY_SIZE + 1 is Cancel, PARTY_SIZE is Confirm
+ switch (movementDir)
{
- case -1:
- if (*ptr == 0)
+ case MENU_DIR_UP:
+ if (*slotPtr == 0)
{
- *ptr = 7;
+ *slotPtr = PARTY_SIZE + 1;
}
- else if (*ptr == 6)
+ else if (*slotPtr == PARTY_SIZE)
{
- *ptr = gPlayerPartyCount - 1;
+ *slotPtr = gPlayerPartyCount - 1;
}
- else if (*ptr == 7)
+ else if (*slotPtr == PARTY_SIZE + 1)
{
- if (gUnknown_0203CEC4->unk8_0)
- *ptr = 6;
+ if (sPartyMenuInternal->chooseHalf)
+ *slotPtr = PARTY_SIZE;
else
- *ptr = gPlayerPartyCount - 1;
+ *slotPtr = gPlayerPartyCount - 1;
}
else
{
- (*ptr)--;
+ (*slotPtr)--;
}
break;
- case 1:
- if (*ptr == 7)
+ case MENU_DIR_DOWN:
+ if (*slotPtr == PARTY_SIZE + 1)
{
- *ptr = 0;
+ *slotPtr = 0;
}
else
{
- if (*ptr == gPlayerPartyCount - 1)
+ if (*slotPtr == gPlayerPartyCount - 1)
{
- if (gUnknown_0203CEC4->unk8_0)
- *ptr = 6;
+ if (sPartyMenuInternal->chooseHalf)
+ *slotPtr = PARTY_SIZE;
else
- *ptr = 7;
+ *slotPtr = PARTY_SIZE + 1;
}
else
{
- (*ptr)++;
+ (*slotPtr)++;
}
}
break;
- case 2:
- if (gPlayerPartyCount != 1 && *ptr == 0)
+ case MENU_DIR_RIGHT:
+ if (gPlayerPartyCount != 1 && *slotPtr == 0)
{
- if (gUnknown_0203CEC4->unk8_1 == 0)
- *ptr = 1;
+ if (sPartyMenuInternal->lastSelectedSlot == 0)
+ *slotPtr = 1;
else
- *ptr = gUnknown_0203CEC4->unk8_1;
+ *slotPtr = sPartyMenuInternal->lastSelectedSlot;
}
break;
- case -2:
- if (*ptr != 0 && *ptr != 6 && *ptr != 7)
+ case MENU_DIR_LEFT:
+ if (*slotPtr != 0 && *slotPtr != PARTY_SIZE && *slotPtr != PARTY_SIZE + 1)
{
- gUnknown_0203CEC4->unk8_1 = *ptr;
- *ptr = 0;
+ sPartyMenuInternal->lastSelectedSlot = *slotPtr;
+ *slotPtr = 0;
}
break;
}
}
-static void SetNewPartySelectTarget2(s8 *ptr, s8 b)
+static void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir)
{
- s8 unk2 = b;
+ // PARTY_SIZE + 1 is Cancel, PARTY_SIZE is Confirm
+ // newSlot is used temporarily as a movement direction during its later assignment
+ s8 newSlot = movementDir;
- switch (b)
+ switch (movementDir)
{
- case -1:
- if (*ptr == 0)
+ case MENU_DIR_UP:
+ if (*slotPtr == 0)
{
- *ptr = 7;
+ *slotPtr = PARTY_SIZE + 1;
break;
}
- else if (*ptr == 6)
+ else if (*slotPtr == PARTY_SIZE)
{
- *ptr = gPlayerPartyCount - 1;
+ *slotPtr = gPlayerPartyCount - 1;
break;
}
- else if (*ptr == 7)
+ else if (*slotPtr == PARTY_SIZE + 1)
{
- if (gUnknown_0203CEC4->unk8_0)
+ if (sPartyMenuInternal->chooseHalf)
{
- *ptr = 6;
+ *slotPtr = PARTY_SIZE;
break;
}
- (*ptr)--;
+ (*slotPtr)--;
}
- unk2 = sub_81B1B00(*ptr, unk2);
- if (unk2 != -1)
- *ptr = unk2;
+ newSlot = GetNewSlotDoubleLayout(*slotPtr, newSlot);
+ if (newSlot != -1)
+ *slotPtr = newSlot;
break;
- case 1:
- if (*ptr == 6)
+ case MENU_DIR_DOWN:
+ if (*slotPtr == PARTY_SIZE)
{
- *ptr = 7;
+ *slotPtr = PARTY_SIZE + 1;
}
- else if (*ptr == 7)
+ else if (*slotPtr == PARTY_SIZE + 1)
{
- *ptr = 0;
+ *slotPtr = 0;
}
else
{
- unk2 = sub_81B1B00(*ptr, 1);
- if (unk2 == -1)
+ newSlot = GetNewSlotDoubleLayout(*slotPtr, MENU_DIR_DOWN);
+ if (newSlot == -1)
{
- if (gUnknown_0203CEC4->unk8_0)
- *ptr = 6;
+ if (sPartyMenuInternal->chooseHalf)
+ *slotPtr = PARTY_SIZE;
else
- *ptr = 7;
+ *slotPtr = PARTY_SIZE + 1;
}
else
{
- *ptr = unk2;
+ *slotPtr = newSlot;
}
}
break;
- case 2:
- if (*ptr == 0)
+ case MENU_DIR_RIGHT:
+ if (*slotPtr == 0)
{
- if (gUnknown_0203CEC4->unk8_1 == 3)
+ if (sPartyMenuInternal->lastSelectedSlot == 3)
{
if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES) != SPECIES_NONE)
- *ptr = 3;
+ *slotPtr = 3;
}
else if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES) != SPECIES_NONE)
{
- *ptr = 2;
+ *slotPtr = 2;
}
}
- else if (*ptr == 1)
+ else if (*slotPtr == 1)
{
- if (gUnknown_0203CEC4->unk8_1 == 5)
+ if (sPartyMenuInternal->lastSelectedSlot == 5)
{
if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES) != SPECIES_NONE)
- *ptr = 5;
+ *slotPtr = 5;
}
else if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES) != SPECIES_NONE)
{
- *ptr = 4;
+ *slotPtr = 4;
}
}
break;
- case -2:
- if (*ptr == 2 || *ptr == 3)
+ case MENU_DIR_LEFT:
+ if (*slotPtr == 2 || *slotPtr == 3)
{
- gUnknown_0203CEC4->unk8_1 = *ptr;
- *ptr = 0;
+ sPartyMenuInternal->lastSelectedSlot = *slotPtr;
+ *slotPtr = 0;
}
- else if (*ptr == 4 || *ptr == 5)
+ else if (*slotPtr == 4 || *slotPtr == 5)
{
- gUnknown_0203CEC4->unk8_1 = *ptr;
- *ptr = 1;
+ sPartyMenuInternal->lastSelectedSlot = *slotPtr;
+ *slotPtr = 1;
}
break;
}
}
-static s8 sub_81B1B00(s8 a, s8 b)
+static s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir)
{
while (TRUE)
{
- a += b;
- if ((u8)a >= 6)
+ slotId += movementDir;
+ if ((u8)slotId >= PARTY_SIZE)
return -1;
- if (GetMonData(&gPlayerParty[a], MON_DATA_SPECIES) != SPECIES_NONE)
- return a;
+ if (GetMonData(&gPlayerParty[slotId], MON_DATA_SPECIES) != SPECIES_NONE)
+ return slotId;
}
}
@@ -2782,21 +1628,23 @@ u8* GetMonNickname(struct Pokemon *mon, u8 *dest)
return StringGetEnd10(dest);
}
-u8 sub_81B1B5C(const u8* str, u8 b)
+#define tKeepOpen data[0]
+
+u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen)
{
u8 taskId;
- sub_81B3300(str);
- taskId = CreateTask(sub_81B1B8C, 1);
- gTasks[taskId].data[0] = b;
+ PartyMenuPrintText(str);
+ taskId = CreateTask(Task_PrintAndWaitForText, 1);
+ gTasks[taskId].tKeepOpen = keepOpen;
return taskId;
}
-static void sub_81B1B8C(u8 taskId)
+static void Task_PrintAndWaitForText(u8 taskId)
{
if (RunTextPrintersRetIsActive(6) != TRUE)
{
- if (gTasks[taskId].data[0] == 0)
+ if (gTasks[taskId].tKeepOpen == FALSE)
{
ClearStdWindowAndFrameToTransparent(6, 0);
ClearWindowTilemap(6);
@@ -2805,75 +1653,77 @@ static void sub_81B1B8C(u8 taskId)
}
}
-bool8 sub_81B1BD4(void)
+#undef tKeepOpen
+
+bool8 IsPartyMenuTextPrinterActive(void)
{
- return FuncIsActiveTask(sub_81B1B8C);
+ return FuncIsActiveTask(Task_PrintAndWaitForText);
}
-static void sub_81B1BE8(u8 taskId)
+static void Task_WaitForLinkAndReturnToChooseMon(u8 taskId)
{
if (sub_81221EC() != TRUE)
{
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
}
-static void sub_81B1C1C(u8 taskId)
+static void Task_ReturnToChooseMonAfterText(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
ClearStdWindowAndFrameToTransparent(6, 0);
ClearWindowTilemap(6);
if (sub_81221AC() == TRUE)
{
- gTasks[taskId].func = sub_81B1BE8;
+ gTasks[taskId].func = Task_WaitForLinkAndReturnToChooseMon;
}
else
{
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
}
}
-static void sub_81B1C84(struct Pokemon *mon, u16 item, u8 c, u8 unused)
+static void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen, u8 unused)
{
GetMonNickname(mon, gStringVar1);
CopyItemName(item, gStringVar2);
StringExpandPlaceholders(gStringVar4, gText_PkmnWasGivenItem);
- sub_81B1B5C(gStringVar4, c);
+ DisplayPartyMenuMessage(gStringVar4, keepOpen);
schedule_bg_copy_tilemap_to_vram(2);
}
-static void sub_81B1CD0(struct Pokemon *mon, u16 item, u8 c)
+static void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
{
GetMonNickname(mon, gStringVar1);
CopyItemName(item, gStringVar2);
StringExpandPlaceholders(gStringVar4, gText_ReceivedItemFromPkmn);
- sub_81B1B5C(gStringVar4, c);
+ DisplayPartyMenuMessage(gStringVar4, keepOpen);
schedule_bg_copy_tilemap_to_vram(2);
}
-static void sub_81B1D1C(struct Pokemon *mon, u16 item, u8 c)
+static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
{
GetMonNickname(mon, gStringVar1);
CopyItemName(item, gStringVar2);
- StringExpandPlaceholders(gStringVar4, gText_SwitchPkmnItem);
- sub_81B1B5C(gStringVar4, c);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadyHoldingItemSwitch);
+ DisplayPartyMenuMessage(gStringVar4, keepOpen);
schedule_bg_copy_tilemap_to_vram(2);
}
-static void sub_81B1D68(u16 item, u16 item2, u8 c)
+static void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen)
{
CopyItemName(item, gStringVar1);
CopyItemName(item2, gStringVar2);
StringExpandPlaceholders(gStringVar4, gText_SwitchedPkmnItem);
- sub_81B1B5C(gStringVar4, c);
+ DisplayPartyMenuMessage(gStringVar4, keepOpen);
schedule_bg_copy_tilemap_to_vram(2);
}
-static void sub_81B1DB8(struct Pokemon *mon, u16 item)
+static void GiveItemToMon(struct Pokemon *mon, u16 item)
{
u8 itemBytes[2];
@@ -2901,71 +1751,89 @@ static u8 TryTakeMonItem(struct Pokemon* mon)
return 2;
}
-static void pokemon_item_not_removed(u16 itemUnused)
+static void BufferBagFullCantTakeItemMessage(u16 itemUnused)
{
StringExpandPlaceholders(gStringVar4, gText_BagFullCouldNotRemoveItem);
}
-static void sub_81B1E60(u8 taskId)
+#define tHP data[0]
+#define tMaxHP data[1]
+#define tHPIncrement data[2]
+#define tHPToAdd data[3]
+#define tPartyId data[4]
+#define tStartHP data[5]
+
+static void Task_PartyMenuModifyHP(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- data[0] += data[2];
- data[3]--;
- SetMonData(&gPlayerParty[data[4]], MON_DATA_HP, &data[0]);
- DisplayPartyPokemonHPCheck(&gPlayerParty[data[4]], &gUnknown_0203CEDC[data[4]], 1);
- DisplayPartyPokemonHPBarCheck(&gPlayerParty[data[4]], &gUnknown_0203CEDC[data[4]]);
- if (data[3] == 0 || data[0] == 0 || data[0] == data[1])
+ tHP += tHPIncrement;
+ tHPToAdd--;
+ SetMonData(&gPlayerParty[tPartyId], MON_DATA_HP, &tHP);
+ DisplayPartyPokemonHPCheck(&gPlayerParty[tPartyId], &sPartyMenuBoxes[tPartyId], 1);
+ DisplayPartyPokemonHPBarCheck(&gPlayerParty[tPartyId], &sPartyMenuBoxes[tPartyId]);
+ if (tHPToAdd == 0 || tHP == 0 || tHP == tMaxHP)
{
- if (data[0] > data[5])
- ConvertIntToDecimalStringN(gStringVar2, data[0] - data[5], 0, 3);
+ // If HP was recovered, buffer the amount recovered
+ if (tHP > tStartHP)
+ ConvertIntToDecimalStringN(gStringVar2, tHP - tStartHP, STR_CONV_MODE_LEFT_ALIGN, 3);
+
SwitchTaskToFollowupFunc(taskId);
}
}
-void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func)
+void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 hpDifference, TaskFunc task)
{
struct Pokemon *mon = &gPlayerParty[slot];
s16 *data = gTasks[taskId].data;
- data[0] = GetMonData(mon, MON_DATA_HP);
- data[1] = GetMonData(mon, MON_DATA_MAX_HP);
- data[2] = c;
- data[3] = HPDifference;
- data[4] = slot;
- data[5] = data[0];
- SetTaskFuncWithFollowupFunc(taskId, sub_81B1E60, func);
+ tHP = GetMonData(mon, MON_DATA_HP);
+ tMaxHP = GetMonData(mon, MON_DATA_MAX_HP);
+ tHPIncrement = hpIncrement;
+ tHPToAdd = hpDifference;
+ tPartyId = slot;
+ tStartHP = tHP;
+ SetTaskFuncWithFollowupFunc(taskId, Task_PartyMenuModifyHP, task);
}
-static void sub_81B1FA8(u8 taskId, u8 b, u32 hp)
+// The usage of hp in this function is mostly nonsense
+// Because caseId is always passed 0, none of the other cases ever occur
+static void ResetHPTaskData(u8 taskId, u8 caseId, u32 hp)
{
s16 *data = gTasks[taskId].data;
- switch (b) // only case 0 is used
+ switch (caseId) // always zero
{
case 0:
- data[0] = hp;
- data[5] = hp;
+ tHP = hp;
+ tStartHP = hp;
break;
case 1:
- data[1] = hp;
+ tMaxHP = hp;
break;
case 2:
- data[2] = hp;
+ tHPIncrement = hp;
break;
case 3:
- data[3] = hp;
+ tHPToAdd = hp;
break;
case 4:
- data[4] = hp;
+ tPartyId = hp;
break;
case 5:
- SetTaskFuncWithFollowupFunc(taskId, sub_81B1E60, (TaskFunc)hp); // >casting hp as a taskfunc
+ SetTaskFuncWithFollowupFunc(taskId, Task_PartyMenuModifyHP, (TaskFunc)hp); // >casting hp as a taskfunc
break;
}
}
-u8 pokemon_ailments_get_primary(u32 status)
+#undef tHP
+#undef tMaxHP
+#undef tHPIncrement
+#undef tHPToAdd
+#undef tPartyId
+#undef tStartHP
+
+u8 GetAilmentFromStatus(u32 status)
{
if (status & STATUS1_PSN_ANY)
return AILMENT_PSN;
@@ -2986,7 +1854,7 @@ u8 GetMonAilment(struct Pokemon *mon)
if (GetMonData(mon, MON_DATA_HP) == 0)
return AILMENT_FNT;
- ailment = pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS));
+ ailment = GetAilmentFromStatus(GetMonData(mon, MON_DATA_STATUS));
if (ailment != AILMENT_NONE)
return ailment;
if (CheckPartyPokerus(mon, 0))
@@ -2994,97 +1862,97 @@ u8 GetMonAilment(struct Pokemon *mon)
return AILMENT_NONE;
}
-static void sub_81B209C(void)
+static void SetPartyMonsAllowedInMinigame(void)
{
u16 *ptr;
- if (gUnknown_0203CEC8.unk8_0 == 11)
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_MINIGAME)
{
u8 i;
- ptr = &gUnknown_0203CEC8.unkE;
- gUnknown_0203CEC8.unkE = 0;
+ ptr = &gPartyMenu.data1;
+ gPartyMenu.data1 = 0;
if (gSpecialVar_0x8005 == 0)
{
for (i = 0; i < gPlayerPartyCount; i++)
- *ptr += sub_81B2134(&gPlayerParty[i]) << i;
+ *ptr += IsMonAllowedInPokemonJump(&gPlayerParty[i]) << i;
}
else
{
for (i = 0; i < gPlayerPartyCount; i++)
- *ptr += sub_81B2164(&gPlayerParty[i]) << i;
+ *ptr += IsMonAllowedInDodrioBerryPicking(&gPlayerParty[i]) << i;
}
}
}
-static bool16 sub_81B2134(struct Pokemon *mon)
+static bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon)
{
- if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && sub_802C908(GetMonData(mon, MON_DATA_SPECIES)))
+ if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && IsSpeciesAllowedInPokemonJump(GetMonData(mon, MON_DATA_SPECIES)))
return TRUE;
return FALSE;
}
-// Dodrio Berry Picking select?
-static bool16 sub_81B2164(struct Pokemon *mon)
+static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *mon)
{
if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_DODRIO)
return TRUE;
return FALSE;
}
-static bool8 sub_81B218C(u8 slot)
+static bool8 IsMonAllowedInMinigame(u8 slot)
{
- if (!((gUnknown_0203CEC8.unkE >> slot) & 1))
+ if (!((gPartyMenu.data1 >> slot) & 1))
return FALSE;
return TRUE;
}
-static void sub_81B21AC(u8 taskId, u8 slot)
+static void TryEnterMonForMinigame(u8 taskId, u8 slot)
{
- if (sub_81B218C(slot) == TRUE)
+ if (IsMonAllowedInMinigame(slot) == TRUE)
{
PlaySE(SE_SELECT);
gSpecialVar_0x8004 = slot;
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
}
else
{
PlaySE(SE_HAZURE);
- sub_81B1B5C(gText_PkmnCantParticipate, 0);
+ DisplayPartyMenuMessage(gText_PkmnCantParticipate, FALSE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B1C1C;
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
}
-static void sub_81B2210(u8 taskId)
+static void CancelParticipationPrompt(u8 taskId)
{
- sub_81B1B5C(gText_CancelParticipation, 1);
+ DisplayPartyMenuMessage(gText_CancelParticipation, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B2248;
+ gTasks[taskId].func = Task_CancelParticipationYesNo;
}
-static void sub_81B2248(u8 taskId)
+static void Task_CancelParticipationYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B227C;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleCancelParticipationYesNoInput;
}
}
-static void sub_81B227C(u8 taskId)
+static void Task_HandleCancelParticipationYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
- gSpecialVar_0x8004 = 7;
- sub_81B12C0(taskId);
+ gSpecialVar_0x8004 = PARTY_SIZE + 1;
+ Task_ClosePartyMenu(taskId);
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
- gTasks[taskId].func = sub_81B1C1C;
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
break;
}
}
@@ -3132,23 +2000,23 @@ static bool8 CanLearnTutorMove(u16 species, u8 tutor)
return FALSE;
}
-static void sub_81B239C(u8 a)
+static void InitPartyMenuWindows(u8 layout)
{
u8 i;
- switch (a)
+ switch (layout)
{
- case 0:
- InitWindows(gUnknown_08615810);
+ case PARTY_LAYOUT_SINGLE:
+ InitWindows(sSinglePartyMenuWindowTemplate);
break;
- case 1:
- InitWindows(gUnknown_08615850);
+ case PARTY_LAYOUT_DOUBLE:
+ InitWindows(sDoublePartyMenuWindowTemplate);
break;
- case 2:
- InitWindows(gUnknown_08615890);
+ case PARTY_LAYOUT_MULTI:
+ InitWindows(sMultiPartyMenuWindowTemplate);
break;
- default:
- InitWindows(gUnknown_086158D0);
+ default: // PARTY_LAYOUT_MULTI_SHOWCASE
+ InitWindows(sShowcaseMultiPartyMenuWindowTemplate);
break;
}
DeactivateAllTextPrinters();
@@ -3159,51 +2027,53 @@ static void sub_81B239C(u8 a)
LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
}
-static void sub_81B2428(bool8 a)
+static void CreateCancelConfirmWindows(bool8 chooseHalf)
{
- u8 firstWindowId;
- u8 windowId;
+ u8 confirmWindowId;
+ u8 cancelWindowId;
u8 offset;
u8 mainOffset;
- if (gUnknown_0203CEC8.unk8_0 != 5)
+ if (gPartyMenu.menuType != PARTY_MENU_TYPE_MULTI_SHOWCASE)
{
- if (a == TRUE)
+ if (chooseHalf == TRUE)
{
- firstWindowId = AddWindow(&gUnknown_08615918);
- FillWindowPixelBuffer(firstWindowId, PIXEL_FILL(0));
+ confirmWindowId = AddWindow(&sConfirmButtonWindowTemplate);
+ FillWindowPixelBuffer(confirmWindowId, PIXEL_FILL(0));
mainOffset = GetStringCenterAlignXOffset(0, gMenuText_Confirm, 48);
- AddTextPrinterParameterized4(firstWindowId, 0, mainOffset, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm);
- PutWindowTilemap(firstWindowId);
- CopyWindowToVram(firstWindowId, 2);
- windowId = AddWindow(&gUnknown_08615910);
+ AddTextPrinterParameterized4(confirmWindowId, 0, mainOffset, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm);
+ PutWindowTilemap(confirmWindowId);
+ CopyWindowToVram(confirmWindowId, 2);
+ cancelWindowId = AddWindow(&sMultiCancelButtonWindowTemplate);
offset = 0;
}
else
{
- windowId = AddWindow(&gUnknown_08615908);
+ cancelWindowId = AddWindow(&sCancelButtonWindowTemplate);
offset = 3;
}
- FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
- if (gUnknown_0203CEC8.unk8_0 != 10)
+ FillWindowPixelBuffer(cancelWindowId, PIXEL_FILL(0));
+
+ // Branches are functionally identical. Second branch is never reached, Spin Trade wasnt fully implemented
+ if (gPartyMenu.menuType != PARTY_MENU_TYPE_SPIN_TRADE)
{
mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel, 48);
- AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel);
+ AddTextPrinterParameterized3(cancelWindowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel);
}
else
{
mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel2, 48);
- AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel2);
+ AddTextPrinterParameterized3(cancelWindowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel2);
}
- PutWindowTilemap(windowId);
- CopyWindowToVram(windowId, 2);
+ PutWindowTilemap(cancelWindowId);
+ CopyWindowToVram(cancelWindowId, 2);
schedule_bg_copy_tilemap_to_vram(0);
}
}
-static u16* GetPartyMenuPaletteFromBuffer(u8 paletteId)
+static u16* GetPartyMenuPalBufferPtr(u8 paletteId)
{
- return &gUnknown_0203CEC4->palBuffer[paletteId];
+ return &sPartyMenuInternal->palBuffer[paletteId];
}
static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, u8 width, u8 height)
@@ -3216,14 +2086,14 @@ static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y,
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
- CpuCopy16(GetPartyMiscGraphicsTile(b[x + j + ((y + i) * c)]), &pixels[(i * width + j) * 32], 32);
+ CpuCopy16(GetPartyMenuBgTile(b[x + j + ((y + i) * c)]), &pixels[(i * width + j) * 32], 32);
}
BlitBitmapToWindow(windowId, pixels, x * 8, y * 8, width * 8, height * 8);
Free(pixels);
}
}
-static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
+static void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
{
if (width == 0 && height == 0)
{
@@ -3236,7 +2106,7 @@ static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width,
BlitBitmapToPartyWindow(windowId, sMainSlotTileNums_Egg, 10, x, y, width, height);
}
-static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
+static void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
{
if (width == 0 && height == 0)
{
@@ -3254,126 +2124,87 @@ static void DrawEmptySlot(u8 windowId)
BlitBitmapToPartyWindow(windowId, sEmptySlotTileNums, 18, 0, 0, 18, 3);
}
-static void UpdateSelectedPartyBox(struct Struct203CEDC *ptr, u8 bitfield)
+#define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \
+{ \
+ LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[0]), paletteOffsets[0] + palNum, 2); \
+ LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[1]), paletteOffsets[1] + palNum, 2); \
+ LoadPalette(GetPartyMenuPalBufferPtr(paletteIds[2]), paletteOffsets[2] + palNum, 2); \
+}
+
+static void LoadPartyBoxPalette(struct PartyMenuBox *menuBox, u8 palFlags)
{
- u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16;
+ u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
- if (bitfield & 0x40)
+ if (palFlags & PARTY_PAL_NO_MON)
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[0]), gUnknown_08615AC0[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[1]), gUnknown_08615AC0[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AF1[2]), gUnknown_08615AC0[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxNoMonPalIds, sPartyBoxNoMonPalOffsets);
}
- else if (bitfield & 0x20)
+ else if (palFlags & PARTY_PAL_TO_SOFTBOIL)
{
- if (bitfield & 1)
+ if (palFlags & PARTY_PAL_SELECTED)
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2);
}
else
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds2, sPartyBoxPalOffsets2);
}
}
- else if (bitfield & 0x10)
+ else if (palFlags & PARTY_PAL_SWITCHING)
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds2, sPartyBoxPalOffsets2);
}
- else if (bitfield & 4)
+ else if (palFlags & PARTY_PAL_TO_SWITCH)
{
- if (bitfield & 1)
+ if (palFlags & PARTY_PAL_SELECTED)
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2);
}
else
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADF[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEE[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxSelectedForActionPalIds2, sPartyBoxPalOffsets2);
}
}
- else if (bitfield & 2)
+ else if (palFlags & PARTY_PAL_FAINTED)
{
- if (bitfield & 1)
+ if (palFlags & PARTY_PAL_SELECTED)
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ADC[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionFaintedPalIds, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2);
}
else
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD3[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE8[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxFaintedPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxFaintedPalIds2, sPartyBoxPalOffsets2);
}
}
- else if (bitfield & 8)
+ else if (palFlags & PARTY_PAL_MULTI_ALT)
{
- if (bitfield & 1)
+ if (palFlags & PARTY_PAL_SELECTED)
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD9[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionMultiPalIds, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2);
}
else
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD0[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE5[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxMultiPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxMultiPalIds2, sPartyBoxPalOffsets2);
}
}
- else if (bitfield & 1)
+ else if (palFlags & PARTY_PAL_SELECTED)
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AD6[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AEB[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxCurrSelectionPalIds2, sPartyBoxPalOffsets2);
}
else
{
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[0]), gUnknown_08615ABA[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[1]), gUnknown_08615ABA[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACD[2]), gUnknown_08615ABA[2] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[0]), gUnknown_08615ABD[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[1]), gUnknown_08615ABD[1] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AE2[2]), gUnknown_08615ABD[2] + palNum, 2);
+ LOAD_PARTY_BOX_PAL(sPartyBoxEmptySlotPalIds1, sPartyBoxPalOffsets1);
+ LOAD_PARTY_BOX_PAL(sPartyBoxEmptySlotPalIds2, sPartyBoxPalOffsets2);
}
}
@@ -3382,20 +2213,20 @@ static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, c
AddTextPrinterParameterized3(windowId, 0, align[0], align[1], sFontColorTable[color], 0, str);
}
-static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c)
+static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
u8 nickname[POKEMON_NAME_LENGTH + 1];
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
if (c == 1)
- ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[0] >> 3, ptr->unk0->unk4[1] >> 3, ptr->unk0->unk4[2] >> 3, ptr->unk0->unk4[3] >> 3, 0);
+ menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[0] >> 3, menuBox->infoRects->dimensions[1] >> 3, menuBox->infoRects->dimensions[2] >> 3, menuBox->infoRects->dimensions[3] >> 3, FALSE);
GetMonNickname(mon, nickname);
- DisplayPartyPokemonBarDetail(ptr->windowId, nickname, 0, ptr->unk0->unk4);
+ DisplayPartyPokemonBarDetail(menuBox->windowId, nickname, 0, menuBox->infoRects->dimensions);
}
}
-static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c)
+static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
@@ -3403,34 +2234,34 @@ static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct Struct203C
if (ailment == AILMENT_NONE || ailment == AILMENT_PKRS)
{
if (c != 0)
- ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[4] >> 3, (ptr->unk0->unk4[5] >> 3) + 1, ptr->unk0->unk4[6] >> 3, ptr->unk0->unk4[7] >> 3, 0);
+ menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[4] >> 3, (menuBox->infoRects->dimensions[5] >> 3) + 1, menuBox->infoRects->dimensions[6] >> 3, menuBox->infoRects->dimensions[7] >> 3, FALSE);
if (c != 2)
- DisplayPartyPokemonLevel(GetMonData(mon, MON_DATA_LEVEL), ptr);
+ DisplayPartyPokemonLevel(GetMonData(mon, MON_DATA_LEVEL), menuBox);
}
}
}
-static void DisplayPartyPokemonLevel(u8 level, struct Struct203CEDC *ptr)
+static void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox)
{
- ConvertIntToDecimalStringN(gStringVar2, level, 0, 3);
+ ConvertIntToDecimalStringN(gStringVar2, level, STR_CONV_MODE_LEFT_ALIGN, 3);
StringCopy(gStringVar1, gText_LevelSymbol);
StringAppend(gStringVar1, gStringVar2);
- DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[4]);
+ DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[4]);
}
-static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c)
+static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
u8 nickname[POKEMON_NAME_LENGTH + 1];
if (c == 1)
- ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[8] >> 3, (ptr->unk0->unk4[9] >> 3) + 1, ptr->unk0->unk4[10] >> 3, ptr->unk0->unk4[11] >> 3, 0);
+ menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[8] >> 3, (menuBox->infoRects->dimensions[9] >> 3) + 1, menuBox->infoRects->dimensions[10] >> 3, menuBox->infoRects->dimensions[11] >> 3, FALSE);
GetMonNickname(mon, nickname);
- DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, ptr);
+ DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, menuBox);
}
-static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct Struct203CEDC *ptr)
+static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox)
{
- u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16;
+ u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
if (species == SPECIES_NONE)
return;
@@ -3439,111 +2270,111 @@ static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, stru
switch (gender)
{
case MON_MALE:
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC3[0]), gUnknown_08615AB6[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC3[1]), gUnknown_08615AB6[1] + palNum, 2);
- DisplayPartyPokemonBarDetail(ptr->windowId, gText_MaleSymbol, 2, &ptr->unk0->unk4[8]);
+ LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[0]), sGenderPalOffsets[0] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sGenderMalePalIds[1]), sGenderPalOffsets[1] + palNum, 2);
+ DisplayPartyPokemonBarDetail(menuBox->windowId, gText_MaleSymbol, 2, &menuBox->infoRects->dimensions[8]);
break;
case MON_FEMALE:
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC5[0]), gUnknown_08615AB6[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC5[1]), gUnknown_08615AB6[1] + palNum, 2);
- DisplayPartyPokemonBarDetail(ptr->windowId, gText_FemaleSymbol, 2, &ptr->unk0->unk4[8]);
+ LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[0]), sGenderPalOffsets[0] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sGenderFemalePalIds[1]), sGenderPalOffsets[1] + palNum, 2);
+ DisplayPartyPokemonBarDetail(menuBox->windowId, gText_FemaleSymbol, 2, &menuBox->infoRects->dimensions[8]);
break;
}
}
-static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c)
+static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
if (c != 0)
- ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk4[12] >> 3, (ptr->unk0->unk4[13] >> 3) + 1, ptr->unk0->unk4[14] >> 3, ptr->unk0->unk4[15] >> 3, 0);
+ menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->dimensions[12] >> 3, (menuBox->infoRects->dimensions[13] >> 3) + 1, menuBox->infoRects->dimensions[14] >> 3, menuBox->infoRects->dimensions[15] >> 3, FALSE);
if (c != 2)
- DisplayPartyPokemonHP(GetMonData(mon, MON_DATA_HP), ptr);
+ DisplayPartyPokemonHP(GetMonData(mon, MON_DATA_HP), menuBox);
}
}
-static void DisplayPartyPokemonHP(u16 hp, struct Struct203CEDC *ptr)
+static void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox)
{
- u8 *strOut = ConvertIntToDecimalStringN(gStringVar1, hp, 1, 3);
+ u8 *strOut = ConvertIntToDecimalStringN(gStringVar1, hp, STR_CONV_MODE_RIGHT_ALIGN, 3);
strOut[0] = CHAR_SLASH;
strOut[1] = EOS;
- DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[12]);
+ DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[12]);
}
-static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c)
+static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox, u8 c)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
if (c != 0)
- ptr->unk0->unk0(ptr->windowId, (ptr->unk0->unk4[16] >> 3) + 1, (ptr->unk0->unk4[17] >> 3) + 1, ptr->unk0->unk4[18] >> 3, ptr->unk0->unk4[19] >> 3, 0);
+ menuBox->infoRects->blitFunc(menuBox->windowId, (menuBox->infoRects->dimensions[16] >> 3) + 1, (menuBox->infoRects->dimensions[17] >> 3) + 1, menuBox->infoRects->dimensions[18] >> 3, menuBox->infoRects->dimensions[19] >> 3, FALSE);
if (c != 2)
- DisplayPartyPokemonMaxHP(GetMonData(mon, MON_DATA_MAX_HP), ptr);
+ DisplayPartyPokemonMaxHP(GetMonData(mon, MON_DATA_MAX_HP), menuBox);
}
}
-static void DisplayPartyPokemonMaxHP(u16 maxhp, struct Struct203CEDC *ptr)
+static void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox)
{
- ConvertIntToDecimalStringN(gStringVar2, maxhp, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar2, maxhp, STR_CONV_MODE_RIGHT_ALIGN, 3);
StringCopy(gStringVar1, gText_Slash);
StringAppend(gStringVar1, gStringVar2);
- DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[16]);
+ DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, &menuBox->infoRects->dimensions[16]);
}
-static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct Struct203CEDC *ptr)
+static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
- DisplayPartyPokemonHPBar(GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP), ptr);
+ DisplayPartyPokemonHPBar(GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP), menuBox);
}
-static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct Struct203CEDC *ptr)
+static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox)
{
- u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16;
+ u8 palNum = GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM) * 16;
u8 hpFraction;
switch (GetHPBarLevel(hp, maxhp))
{
case HP_BAR_GREEN:
case HP_BAR_FULL:
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC7[0]), gUnknown_08615AB8[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC7[1]), gUnknown_08615AB8[1] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[0]), sHPBarPalOffsets[0] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sHPBarGreenPalIds[1]), sHPBarPalOffsets[1] + palNum, 2);
break;
case HP_BAR_YELLOW:
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC9[0]), gUnknown_08615AB8[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615AC9[1]), gUnknown_08615AB8[1] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[0]), sHPBarPalOffsets[0] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sHPBarYellowPalIds[1]), sHPBarPalOffsets[1] + palNum, 2);
break;
default:
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[0]), gUnknown_08615AB8[0] + palNum, 2);
- LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[1]), gUnknown_08615AB8[1] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[0]), sHPBarPalOffsets[0] + palNum, 2);
+ LoadPalette(GetPartyMenuPalBufferPtr(sHPBarRedPalIds[1]), sHPBarPalOffsets[1] + palNum, 2);
break;
}
- hpFraction = GetScaledHPFraction(hp, maxhp, ptr->unk0->unk4[22]);
- FillWindowPixelRect(ptr->windowId, gUnknown_08615AB8[1], ptr->unk0->unk4[20], ptr->unk0->unk4[21], hpFraction, 1);
- FillWindowPixelRect(ptr->windowId, gUnknown_08615AB8[0], ptr->unk0->unk4[20], ptr->unk0->unk4[21] + 1, hpFraction, 2);
- if (hpFraction != ptr->unk0->unk4[22])
+ hpFraction = GetScaledHPFraction(hp, maxhp, menuBox->infoRects->dimensions[22]);
+ FillWindowPixelRect(menuBox->windowId, sHPBarPalOffsets[1], menuBox->infoRects->dimensions[20], menuBox->infoRects->dimensions[21], hpFraction, 1);
+ FillWindowPixelRect(menuBox->windowId, sHPBarPalOffsets[0], menuBox->infoRects->dimensions[20], menuBox->infoRects->dimensions[21] + 1, hpFraction, 2);
+ if (hpFraction != menuBox->infoRects->dimensions[22])
{
// This appears to be an alternating fill
- FillWindowPixelRect(ptr->windowId, 0x0D, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21], ptr->unk0->unk4[22] - hpFraction, 1);
- FillWindowPixelRect(ptr->windowId, 0x02, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21] + 1, ptr->unk0->unk4[22] - hpFraction, 2);
+ FillWindowPixelRect(menuBox->windowId, 0x0D, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21], menuBox->infoRects->dimensions[22] - hpFraction, 1);
+ FillWindowPixelRect(menuBox->windowId, 0x02, menuBox->infoRects->dimensions[20] + hpFraction, menuBox->infoRects->dimensions[21] + 1, menuBox->infoRects->dimensions[22] - hpFraction, 2);
}
- CopyWindowToVram(ptr->windowId, 2);
+ CopyWindowToVram(menuBox->windowId, 2);
}
-static void DisplayPartyPokemonOtherText(u8 stringID, struct Struct203CEDC *ptr, u8 c)
+static void DisplayPartyPokemonDescriptionText(u8 stringID, struct PartyMenuBox *menuBox, u8 c)
{
- if (c != 0)
+ if (c)
{
- int unk = ((ptr->unk0->unk1C % 8) + ptr->unk0->unk1E + 7) / 8;
- int unk2 = ((ptr->unk0->unk1D % 8) + ptr->unk0->unk1F + 7) / 8;
- ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk1C >> 3, ptr->unk0->unk1D >> 3, unk, unk2, 1);
+ int width = ((menuBox->infoRects->descTextLeft % 8) + menuBox->infoRects->descTextWidth + 7) / 8;
+ int height = ((menuBox->infoRects->descTextTop % 8) + menuBox->infoRects->descTextHeight + 7) / 8;
+ menuBox->infoRects->blitFunc(menuBox->windowId, menuBox->infoRects->descTextLeft >> 3, menuBox->infoRects->descTextTop >> 3, width, height, TRUE);
}
if (c != 2)
- AddTextPrinterParameterized3(ptr->windowId, 1, ptr->unk0->unk1C, ptr->unk0->unk1D, sFontColorTable[0], 0, sSelectionStringTable[stringID]);
+ AddTextPrinterParameterized3(menuBox->windowId, 1, menuBox->infoRects->descTextLeft, menuBox->infoRects->descTextTop, sFontColorTable[0], 0, sDescriptionStringTable[stringID]);
}
-static void sub_81B302C(u8 *ptr)
+static void PartyMenuRemoveWindow(u8 *ptr)
{
if (*ptr != 0xFF)
{
@@ -3554,166 +2385,169 @@ static void sub_81B302C(u8 *ptr)
}
}
-void display_pokemon_menu_message(u32 stringID)
+void DisplayPartyMenuStdMessage(u32 stringId)
{
- u8 *windowPtr = &gUnknown_0203CEC4->windowId[1];
+ u8 *windowPtr = &sPartyMenuInternal->windowId[1];
if (*windowPtr != 0xFF)
- sub_81B302C(windowPtr);
+ PartyMenuRemoveWindow(windowPtr);
- if (stringID != 0x7F)
+ if (stringId != PARTY_MSG_NONE)
{
- switch (stringID)
+ switch (stringId)
{
- case 21:
- *windowPtr = AddWindow(&gUnknown_08615928);
+ case PARTY_MSG_DO_WHAT_WITH_MON:
+ *windowPtr = AddWindow(&sDoWhatWithMonMsgWindowTemplate);
break;
- case 24:
- *windowPtr = AddWindow(&gUnknown_08615930);
+ case PARTY_MSG_DO_WHAT_WITH_ITEM:
+ *windowPtr = AddWindow(&sDoWhatWithItemMsgWindowTemplate);
break;
- case 25:
- *windowPtr = AddWindow(&gUnknown_08615938);
+ case PARTY_MSG_DO_WHAT_WITH_MAIL:
+ *windowPtr = AddWindow(&sDoWhatWithMailMsgWindowTemplate);
break;
- case 22:
- case 23:
- *windowPtr = AddWindow(&gUnknown_08615940);
+ case PARTY_MSG_RESTORE_WHICH_MOVE:
+ case PARTY_MSG_BOOST_PP_WHICH_MOVE:
+ *windowPtr = AddWindow(&sWhichMoveMsgWindowTemplate);
break;
- case 26:
- *windowPtr = AddWindow(&gUnknown_08615948);
+ case PARTY_MSG_ALREADY_HOLDING_ONE:
+ *windowPtr = AddWindow(&sAlreadyHoldingOneMsgWindowTemplate);
break;
default:
- *windowPtr = AddWindow(&gUnknown_08615920);
+ *windowPtr = AddWindow(&sDefaultPartyMsgWindowTemplate);
break;
}
- if (stringID == 0)
+
+ if (stringId == PARTY_MSG_CHOOSE_MON)
{
- if (gUnknown_0203CEC4->unk8_0)
- stringID = 2;
- else if (sub_81B314C() == FALSE)
- stringID = 1;
+ if (sPartyMenuInternal->chooseHalf)
+ stringId = PARTY_MSG_CHOOSE_MON_AND_CONFIRM;
+ else if (!ShouldUseChooseMonText())
+ stringId = PARTY_MSG_CHOOSE_MON_OR_CANCEL;
}
DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x4F, 0xD);
- StringExpandPlaceholders(gStringVar4, sActionStringTable[stringID]);
+ StringExpandPlaceholders(gStringVar4, sActionStringTable[stringId]);
AddTextPrinterParameterized(*windowPtr, 1, gStringVar4, 0, 1, 0, 0);
schedule_bg_copy_tilemap_to_vram(2);
}
}
-static bool8 sub_81B314C(void)
+static bool8 ShouldUseChooseMonText(void)
{
struct Pokemon *party = gPlayerParty;
u8 i;
- u8 j = 0;
+ u8 numAliveMons = 0;
- if (gUnknown_0203CEC8.unkB == 1)
+ if (gPartyMenu.action == PARTY_ACTION_SEND_OUT)
return TRUE;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE && (GetMonData(&party[i], MON_DATA_HP) != 0 || GetMonData(&party[i], MON_DATA_IS_EGG)))
- j++;
- if (j > 1)
+ numAliveMons++;
+ if (numAliveMons > 1)
return TRUE;
}
return FALSE;
}
-static u8 sub_81B31B0(u8 a)
+static u8 DisplaySelectionWindow(u8 windowType)
{
struct WindowTemplate window;
u8 cursorDimension;
u8 fontAttribute;
u8 i;
- switch (a)
+ switch (windowType)
{
- case 0:
- SetWindowTemplateFields(&window, 2, 19, 19 - (gUnknown_0203CEC4->listSize * 2), 10, gUnknown_0203CEC4->listSize * 2, 14, 0x2E9);
+ case SELECTWINDOW_ACTIONS:
+ SetWindowTemplateFields(&window, 2, 19, 19 - (sPartyMenuInternal->numActions * 2), 10, sPartyMenuInternal->numActions * 2, 14, 0x2E9);
break;
- case 1:
- window = gUnknown_08615950;
+ case SELECTWINDOW_ITEM:
+ window = sItemGiveTakeWindowTemplate;
break;
- case 2:
- window = gUnknown_08615958;
+ case SELECTWINDOW_MAIL:
+ window = sMailReadTakeWindowTemplate;
break;
- default:
- window = gUnknown_08615960;
+ default: // SELECTWINDOW_MOVES
+ window = sMoveSelectWindowTemplate;
break;
}
- gUnknown_0203CEC4->windowId[0] = AddWindow(&window);
- DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->windowId[0], FALSE, 0x4F, 13);
- if (a == 3)
- return gUnknown_0203CEC4->windowId[0];
+ sPartyMenuInternal->windowId[0] = AddWindow(&window);
+ DrawStdFrameWithCustomTileAndPalette(sPartyMenuInternal->windowId[0], FALSE, 0x4F, 13);
+ if (windowType == SELECTWINDOW_MOVES)
+ return sPartyMenuInternal->windowId[0];
cursorDimension = GetMenuCursorDimensionByFont(1, 0);
fontAttribute = GetFontAttribute(1, 2);
- for (i = 0; i < gUnknown_0203CEC4->listSize; i++)
+ for (i = 0; i < sPartyMenuInternal->numActions; i++)
{
- u8 unk = (gUnknown_0203CEC4->actions[i] >= MENU_FIELD_MOVES) ? 4 : 3;
- AddTextPrinterParameterized4(gUnknown_0203CEC4->windowId[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, sFontColorTable[unk], 0, sCursorOptions[gUnknown_0203CEC4->actions[i]].text);
+ u8 fontColorsId = (sPartyMenuInternal->actions[i] >= MENU_FIELD_MOVES) ? 4 : 3;
+ AddTextPrinterParameterized4(sPartyMenuInternal->windowId[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, sFontColorTable[fontColorsId], 0, sCursorOptions[sPartyMenuInternal->actions[i]].text);
}
- InitMenuInUpperLeftCorner(gUnknown_0203CEC4->windowId[0], gUnknown_0203CEC4->listSize, 0, 1);
+ InitMenuInUpperLeftCorner(sPartyMenuInternal->windowId[0], sPartyMenuInternal->numActions, 0, 1);
schedule_bg_copy_tilemap_to_vram(2);
- return gUnknown_0203CEC4->windowId[0];
+ return sPartyMenuInternal->windowId[0];
}
-static void sub_81B3300(const u8 *text)
+static void PartyMenuPrintText(const u8 *text)
{
DrawStdFrameWithCustomTileAndPalette(6, FALSE, 0x4F, 13);
gTextFlags.canABSpeedUpPrint = TRUE;
AddTextPrinterParameterized2(6, 1, text, GetPlayerTextSpeedDelay(), 0, 2, 1, 3);
}
-static void sub_81B334C(void)
+static void PartyMenuDisplayYesNoMenu(void)
{
- CreateYesNoMenu(&gUnknown_08615968, 0x4F, 13, 0);
+ CreateYesNoMenu(&sPartyMenuYesNoWindowTemplate, 0x4F, 13, 0);
}
-static u8 sub_81B3364(void)
+static u8 CreateLevelUpStatsWindow(void)
{
- gUnknown_0203CEC4->windowId[0] = AddWindow(&gUnknown_08615970);
- DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->windowId[0], FALSE, 0x4F, 13);
- return gUnknown_0203CEC4->windowId[0];
+ sPartyMenuInternal->windowId[0] = AddWindow(&sLevelUpStatsWindowTemplate);
+ DrawStdFrameWithCustomTileAndPalette(sPartyMenuInternal->windowId[0], FALSE, 0x4F, 13);
+ return sPartyMenuInternal->windowId[0];
}
-static void sub_81B3394(void)
+static void RemoveLevelUpStatsWindow(void)
{
- ClearWindowTilemap(gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
+ ClearWindowTilemap(sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
}
-static void sub_81B33B4(struct Pokemon *mons, u8 slotId, u8 b)
+static void SetPartyMonSelectionActions(struct Pokemon *mons, u8 slotId, u8 action)
{
u8 i;
- if (b == 0)
+ if (action == ACTIONS_NONE)
{
- CreateActionList(mons, slotId);
+ SetPartyMonFieldSelectionActions(mons, slotId);
}
else
{
- gUnknown_0203CEC4->listSize = sListSizeTable[b];
- for (i = 0; i < gUnknown_0203CEC4->listSize; i++)
- gUnknown_0203CEC4->actions[i] = sActionTable[b][i];
+ sPartyMenuInternal->numActions = sPartyMenuActionCounts[action];
+ for (i = 0; i < sPartyMenuInternal->numActions; i++)
+ sPartyMenuInternal->actions[i] = sPartyMenuActions[action][i];
}
}
-static void CreateActionList(struct Pokemon *mons, u8 slotId)
+static void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId)
{
u8 i, j;
- gUnknown_0203CEC4->listSize = 0;
- AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_SUMMARY);
+ sPartyMenuInternal->numActions = 0;
+ AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_SUMMARY);
+
+ // Add field moves to action list
for (i = 0; i < MAX_MON_MOVES; i++)
{
for (j = 0; sFieldMoves[j] != FIELD_MOVE_TERMINATOR; j++)
{
if (GetMonData(&mons[slotId], i + MON_DATA_MOVE1) == sFieldMoves[j])
{
- AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, j + MENU_FIELD_MOVES);
+ AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, j + MENU_FIELD_MOVES);
break;
}
}
@@ -3722,118 +2556,124 @@ static void CreateActionList(struct Pokemon *mons, u8 slotId)
if (!InBattlePike())
{
if (GetMonData(&mons[1], MON_DATA_SPECIES) != SPECIES_NONE)
- AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_SWITCH);
+ AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_SWITCH);
if (ItemIsMail(GetMonData(&mons[slotId], MON_DATA_HELD_ITEM)))
- AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_MAIL);
+ AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_MAIL);
else
- AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_ITEM);
+ AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_ITEM);
}
- AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_CANCEL1);
+ AppendToList(sPartyMenuInternal->actions, &sPartyMenuInternal->numActions, MENU_CANCEL1);
}
-static u8 sub_81B353C(struct Pokemon *mon)
+static u8 GetPartyMenuActionsType(struct Pokemon *mon)
{
- u32 returnVar;
+ u32 actionType;
- switch (gUnknown_0203CEC8.unk8_0)
+ switch (gPartyMenu.menuType)
{
- case 0:
- if (InMultiBattleRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG))
- returnVar = 1;
+ case PARTY_MENU_TYPE_FIELD:
+ if (InMultiPartnerRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG))
+ actionType = ACTIONS_SWITCH;
else
- returnVar = 0;
+ actionType = ACTIONS_NONE; // actions populated by SetPartyMonFieldSelectionActions
break;
- case 1:
- returnVar = sub_81B8A2C(mon);
+ case PARTY_MENU_TYPE_IN_BATTLE:
+ actionType = GetPartyMenuActionsTypeInBattle(mon);
break;
- case 4:
- switch (sub_81B856C(gUnknown_0203CEC8.slotId))
+ case PARTY_MENU_TYPE_CHOOSE_HALF:
+ switch (GetPartySlotEntryStatus(gPartyMenu.slotId))
{
- default:
- returnVar = 7;
+ default: // Not eligible
+ actionType = ACTIONS_SUMMARY_ONLY;
break;
- case 0:
- returnVar = 4;
+ case 0: // Eligible
+ actionType = ACTIONS_ENTER;
break;
- case 1:
- returnVar = 5;
+ case 1: // Already selected
+ actionType = ACTIONS_NO_ENTRY;
break;
}
break;
- case 6:
- returnVar = (GetMonData(mon, MON_DATA_IS_EGG)) ? 7 : 6;
+ case PARTY_MENU_TYPE_DAYCARE:
+ actionType = (GetMonData(mon, MON_DATA_IS_EGG)) ? ACTIONS_SUMMARY_ONLY : ACTIONS_STORE;
break;
- case 8:
- returnVar = 10;
+ case PARTY_MENU_TYPE_UNION_ROOM_REGISTER:
+ actionType = ACTIONS_REGISTER;
break;
- case 9:
- returnVar = 11;
+ case PARTY_MENU_TYPE_UNION_ROOM_TRADE:
+ actionType = ACTIONS_TRADE;
break;
- case 10:
- returnVar = 12;
+ case PARTY_MENU_TYPE_SPIN_TRADE:
+ actionType = ACTIONS_SPIN_TRADE;
break;
- case 12:
- returnVar = 13;
+ case PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS:
+ actionType = ACTIONS_TAKEITEM_TOSS;
break;
+ // The following have no selection actions (i.e. they exit immediately upon selection)
+ // PARTY_MENU_TYPE_CONTEST
+ // PARTY_MENU_TYPE_CHOOSE_MON
+ // PARTY_MENU_TYPE_MULTI_SHOWCASE
+ // PARTY_MENU_TYPE_MOVE_RELEARNER
+ // PARTY_MENU_TYPE_MINIGAME
default:
- returnVar = 0;
+ actionType = ACTIONS_NONE;
break;
}
- return returnVar;
+ return actionType;
}
-static bool8 sub_81B3608(u8 taskId)
+static bool8 CreateSelectionWindow(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item;
GetMonNickname(mon, gStringVar1);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- if (gUnknown_0203CEC8.unk8_0 != 12)
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ if (gPartyMenu.menuType != PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS)
{
- sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon));
- sub_81B31B0(0);
- display_pokemon_menu_message(21);
+ SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, GetPartyMenuActionsType(mon));
+ DisplaySelectionWindow(SELECTWINDOW_ACTIONS);
+ DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_MON);
}
else
{
item = GetMonData(mon, MON_DATA_HELD_ITEM);
if (item != ITEM_NONE)
{
- sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon));
- sub_81B31B0(1);
+ SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, GetPartyMenuActionsType(mon));
+ DisplaySelectionWindow(SELECTWINDOW_ITEM);
CopyItemName(item, gStringVar2);
- display_pokemon_menu_message(26);
+ DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_HOLDING_ONE);
}
else
{
StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B469C;
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
return FALSE;
}
}
return TRUE;
}
-static void sub_81B36FC(u8 taskId)
+static void Task_TryCreateSelectionWindow(u8 taskId)
{
- if (sub_81B3608(taskId))
+ if (CreateSelectionWindow(taskId))
{
gTasks[taskId].data[0] = 0xFF;
- gTasks[taskId].func = HandleMenuInput;
+ gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
}
-static void HandleMenuInput(u8 taskId)
+static void Task_HandleSelectionMenuInput(u8 taskId)
{
if (!gPaletteFade.active && sub_81221EC() != TRUE)
{
s8 input;
s16 *data = gTasks[taskId].data;
- if (gUnknown_0203CEC4->listSize <= 3)
+ if (sPartyMenuInternal->numActions <= 3)
input = Menu_ProcessInputNoWrapAround_other();
else
input = ProcessMenuInput_other();
@@ -3845,12 +2685,12 @@ static void HandleMenuInput(u8 taskId)
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[2]);
- sCursorOptions[gUnknown_0203CEC4->actions[gUnknown_0203CEC4->listSize - 1]].func(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[2]);
+ sCursorOptions[sPartyMenuInternal->actions[sPartyMenuInternal->numActions - 1]].func(taskId);
break;
default:
- sub_81B302C(&gUnknown_0203CEC4->windowId[2]);
- sCursorOptions[gUnknown_0203CEC4->actions[input]].func(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[2]);
+ sCursorOptions[sPartyMenuInternal->actions[input]].func(taskId);
break;
}
}
@@ -3859,209 +2699,230 @@ static void HandleMenuInput(u8 taskId)
static void CursorCb_Summary(u8 taskId)
{
PlaySE(SE_SELECT);
- gUnknown_0203CEC4->exitCallback = sub_81B3828;
- sub_81B12C0(taskId);
+ sPartyMenuInternal->exitCallback = CB2_ShowPokemonSummaryScreen;
+ Task_ClosePartyMenu(taskId);
}
-static void sub_81B3828(void)
+static void CB2_ShowPokemonSummaryScreen(void)
{
- if (gUnknown_0203CEC8.unk8_0 == 1)
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE)
{
- pokemon_change_order();
- ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B3894);
+ UpdatePartyToBattleOrder();
+ ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuFromSummaryScreen);
}
else
{
- ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B3894);
+ ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuFromSummaryScreen);
}
}
-static void sub_81B3894(void)
+static void CB2_ReturnToPartyMenuFromSummaryScreen(void)
{
gPaletteFade.bufferTransferDisabled = TRUE;
- gUnknown_0203CEC8.slotId = gLastViewedMonIndex;
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+ gPartyMenu.slotId = gLastViewedMonIndex;
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_DO_WHAT_WITH_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback);
}
static void CursorCb_Switch(u8 taskId)
{
PlaySE(SE_SELECT);
- gUnknown_0203CEC8.unkB = 8;
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- display_pokemon_menu_message(3);
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 1);
- gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId;
- gTasks[taskId].func = sub_81B1370;
-}
-
-static void sub_81B3938(u8 taskId)
+ gPartyMenu.action = PARTY_ACTION_SWITCH;
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ DisplayPartyMenuStdMessage(PARTY_MSG_MOVE_TO_WHERE);
+ AnimatePartySlot(gPartyMenu.slotId, 1);
+ gPartyMenu.slotId2 = gPartyMenu.slotId;
+ gTasks[taskId].func = Task_HandleChooseMonInput;
+}
+
+#define tSlot1Left data[0]
+#define tSlot1Top data[1]
+#define tSlot1Width data[2]
+#define tSlot1Height data[3]
+#define tSlot2Left data[4]
+#define tSlot2Top data[5]
+#define tSlot2Width data[6]
+#define tSlot2Height data[7]
+#define tSlot1Offset data[8]
+#define tSlot2Offset data[9]
+#define tSlot1SlideDir data[10]
+#define tSlot2SlideDir data[11]
+
+static void SwitchSelectedMons(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u8 windowIds[2];
- if (gUnknown_0203CEC8.unkA == gUnknown_0203CEC8.slotId)
+ if (gPartyMenu.slotId2 == gPartyMenu.slotId)
{
- sub_81B407C(taskId);
+ FinishTwoMonAction(taskId);
}
else
{
- windowIds[0] = gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId;
- data[0] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_LEFT);
- data[1] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_TOP);
- data[2] = GetWindowAttribute(windowIds[0], WINDOW_WIDTH);
- data[3] = GetWindowAttribute(windowIds[0], WINDOW_HEIGHT);
- data[8] = 0;
- if (data[2] == 10)
- data[10] = -1;
+ // Initialize switching party mons slide animation
+ windowIds[0] = sPartyMenuBoxes[gPartyMenu.slotId].windowId;
+ tSlot1Left = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_LEFT);
+ tSlot1Top = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_TOP);
+ tSlot1Width = GetWindowAttribute(windowIds[0], WINDOW_WIDTH);
+ tSlot1Height = GetWindowAttribute(windowIds[0], WINDOW_HEIGHT);
+ tSlot1Offset = 0;
+ if (tSlot1Width == 10)
+ tSlot1SlideDir = -1;
else
- data[10] = 1;
- windowIds[1] = gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId;
- data[4] = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_LEFT);
- data[5] = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_TOP);
- data[6] = GetWindowAttribute(windowIds[1], WINDOW_WIDTH);
- data[7] = GetWindowAttribute(windowIds[1], WINDOW_HEIGHT);
- data[9] = 0;
- if (data[6] == 10)
- data[11] = -1;
+ tSlot1SlideDir = 1;
+ windowIds[1] = sPartyMenuBoxes[gPartyMenu.slotId2].windowId;
+ tSlot2Left = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_LEFT);
+ tSlot2Top = GetWindowAttribute(windowIds[1], WINDOW_TILEMAP_TOP);
+ tSlot2Width = GetWindowAttribute(windowIds[1], WINDOW_WIDTH);
+ tSlot2Height = GetWindowAttribute(windowIds[1], WINDOW_HEIGHT);
+ tSlot2Offset = 0;
+ if (tSlot2Width == 10)
+ tSlot2SlideDir = -1;
else
- data[11] = 1;
- gUnknown_0203CEF0 = Alloc(data[2] * (data[3] << 1));
- gUnknown_0203CEF4 = Alloc(data[6] * (data[7] << 1));
- sub_8199CBC(0, gUnknown_0203CEF0, data[0], data[1], data[2], data[3]);
- sub_8199CBC(0, gUnknown_0203CEF4, data[4], data[5], data[6], data[7]);
+ tSlot2SlideDir = 1;
+ sSlot1TilemapBuffer = Alloc(tSlot1Width * (tSlot1Height << 1));
+ sSlot2TilemapBuffer = Alloc(tSlot2Width * (tSlot2Height << 1));
+ CopyToBufferFromBgTilemap(0, sSlot1TilemapBuffer, tSlot1Left, tSlot1Top, tSlot1Width, tSlot1Height);
+ CopyToBufferFromBgTilemap(0, sSlot2TilemapBuffer, tSlot2Left, tSlot2Top, tSlot2Width, tSlot2Height);
ClearWindowTilemap(windowIds[0]);
ClearWindowTilemap(windowIds[1]);
- gUnknown_0203CEC8.unkB = 9;
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 1);
- sub_81B0FCC(gUnknown_0203CEC8.unkA, 1);
- sub_81B3CC0(taskId);
- gTasks[taskId].func = sub_81B3D48;
+ gPartyMenu.action = PARTY_ACTION_SWITCHING;
+ AnimatePartySlot(gPartyMenu.slotId, 1);
+ AnimatePartySlot(gPartyMenu.slotId2, 1);
+ SlidePartyMenuBoxOneStep(taskId);
+ gTasks[taskId].func = Task_SlideSelectedSlotsOffscreen;
}
}
-static bool8 sub_81B3AD8(s16 a, s16 b, u8 *c, u8 *d, u8 *e)
+// returns FALSE if the slot has slid fully offscreen / back onscreen
+static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newWidth)
{
- if ((a + b) < 0)
+ if ((x + width) < 0)
return FALSE;
- if (a > 31)
+ if (x > 31)
return FALSE;
- if (a < 0)
+ if (x < 0)
{
- *c = a * -1;
- *d = 0;
- *e = b + a;
+ *leftMove = x * -1;
+ *newX = 0;
+ *newWidth = width + x;
}
else
{
- *c = 0;
- *d = a;
- if ((a + b) > 31)
- *e = 32 - a;
+ *leftMove = 0;
+ *newX = x;
+ if ((x + width) > 31)
+ *newWidth = 32 - x;
else
- *e = b;
+ *newWidth = width;
}
return TRUE;
}
-static void sub_81B3B40(const void *rectSrc, s16 a, s16 b, s16 c, s16 d, s16 e)
+static void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width, s16 height, s16 dir)
{
- u8 f, g, h;
+ // The use of the dimension parameters here is a mess
+ u8 leftMove, newX, newWidth; // leftMove is used as a srcX, newX is used as both x and srcHeight, newWidth is used as both width and destY
- if (sub_81B3AD8(a, c, &f, &g, &h))
+ if (TryMovePartySlot(x, width, &leftMove, &newX, &newWidth))
{
- FillBgTilemapBufferRect_Palette0(0, 0, g, b, h, d);
- if (sub_81B3AD8(a + e, c, &f, &g, &h))
- CopyRectToBgTilemapBufferRect(0, rectSrc, f, 0, c, d, g, b, h, d, 17, 0, 0);
+ FillBgTilemapBufferRect_Palette0(0, 0, newX, y, newWidth, height);
+ if (TryMovePartySlot(x + dir, width, &leftMove, &newX, &newWidth))
+ CopyRectToBgTilemapBufferRect(0, rectSrc, leftMove, 0, width, height, newX, y, newWidth, height, 17, 0, 0);
}
}
-static void sub_81B3C0C(struct Struct203CEDC *ptr, s16 a)
+static void MovePartyMenuBoxSprites(struct PartyMenuBox *menuBox, s16 offset)
{
- gSprites[ptr->pokeballSpriteId].pos2.x += a * 8;
- gSprites[ptr->itemSpriteId].pos2.x += a * 8;
- gSprites[ptr->monSpriteId].pos2.x += a * 8;
- gSprites[ptr->statusSpriteId].pos2.x += a * 8;
+ gSprites[menuBox->pokeballSpriteId].pos2.x += offset * 8;
+ gSprites[menuBox->itemSpriteId].pos2.x += offset * 8;
+ gSprites[menuBox->monSpriteId].pos2.x += offset * 8;
+ gSprites[menuBox->statusSpriteId].pos2.x += offset * 8;
}
-static void sub_81B3C60(u8 taskId)
+static void SlidePartyMenuBoxSpritesOneStep(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- if (data[10] != 0)
- sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], data[10]);
- if (data[11] != 0)
- sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unkA], data[11]);
+ if (tSlot1SlideDir != 0)
+ MovePartyMenuBoxSprites(&sPartyMenuBoxes[gPartyMenu.slotId], tSlot1SlideDir);
+ if (tSlot2SlideDir != 0)
+ MovePartyMenuBoxSprites(&sPartyMenuBoxes[gPartyMenu.slotId2], tSlot2SlideDir);
}
-static void sub_81B3CC0(u8 taskId)
+static void SlidePartyMenuBoxOneStep(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- if (data[10] != 0)
- sub_81B3B40(gUnknown_0203CEF0, data[0] + data[8], data[1], data[2], data[3], data[10]);
- if (data[11] != 0)
- sub_81B3B40(gUnknown_0203CEF4, data[4] + data[9], data[5], data[6], data[7], data[11]);
+ if (tSlot1SlideDir != 0)
+ MoveAndBufferPartySlot(sSlot1TilemapBuffer, tSlot1Left + tSlot1Offset, tSlot1Top, tSlot1Width, tSlot1Height, tSlot1SlideDir);
+ if (tSlot2SlideDir != 0)
+ MoveAndBufferPartySlot(sSlot2TilemapBuffer, tSlot2Left + tSlot2Offset, tSlot2Top, tSlot2Width, tSlot2Height, tSlot2SlideDir);
schedule_bg_copy_tilemap_to_vram(0);
}
-static void sub_81B3D48(u8 taskId)
+static void Task_SlideSelectedSlotsOffscreen(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- u16 tilemapRelatedMaybe[2];
+ u16 slidingSlotPositions[2];
- sub_81B3CC0(taskId);
- sub_81B3C60(taskId);
- data[8] += data[10];
- data[9] += data[11];
- tilemapRelatedMaybe[0] = data[0] + data[8];
- tilemapRelatedMaybe[1] = data[4] + data[9];
- if (tilemapRelatedMaybe[0] > 33 && tilemapRelatedMaybe[1] > 33)
+ SlidePartyMenuBoxOneStep(taskId);
+ SlidePartyMenuBoxSpritesOneStep(taskId);
+ tSlot1Offset += tSlot1SlideDir;
+ tSlot2Offset += tSlot2SlideDir;
+ slidingSlotPositions[0] = tSlot1Left + tSlot1Offset;
+ slidingSlotPositions[1] = tSlot2Left + tSlot2Offset;
+
+ // Both slots have slid offscreen
+ if (slidingSlotPositions[0] > 33 && slidingSlotPositions[1] > 33)
{
- data[10] *= -1;
- data[11] *= -1;
- swap_pokemon_and_oams();
- DisplayPartyPokemonData(gUnknown_0203CEC8.slotId);
- DisplayPartyPokemonData(gUnknown_0203CEC8.unkA);
- PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId);
- PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId);
- sub_8199CBC(0, gUnknown_0203CEF0, data[0], data[1], data[2], data[3]);
- sub_8199CBC(0, gUnknown_0203CEF4, data[4], data[5], data[6], data[7]);
- ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId);
- ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId);
- gTasks[taskId].func = sub_81B3E60;
+ tSlot1SlideDir *= -1;
+ tSlot2SlideDir *= -1;
+ SwitchPartyMon();
+ DisplayPartyPokemonData(gPartyMenu.slotId);
+ DisplayPartyPokemonData(gPartyMenu.slotId2);
+ PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId].windowId);
+ PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId2].windowId);
+ CopyToBufferFromBgTilemap(0, sSlot1TilemapBuffer, tSlot1Left, tSlot1Top, tSlot1Width, tSlot1Height);
+ CopyToBufferFromBgTilemap(0, sSlot2TilemapBuffer, tSlot2Left, tSlot2Top, tSlot2Width, tSlot2Height);
+ ClearWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId].windowId);
+ ClearWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId2].windowId);
+ gTasks[taskId].func = Task_SlideSelectedSlotsOnscreen;
}
}
-static void sub_81B3E60(u8 taskId)
+static void Task_SlideSelectedSlotsOnscreen(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- sub_81B3CC0(taskId);
- sub_81B3C60(taskId);
- if (data[10] == 0 && data[11] == 0)
+ SlidePartyMenuBoxOneStep(taskId);
+ SlidePartyMenuBoxSpritesOneStep(taskId);
+
+ // Both slots have slid back onscreen
+ if (tSlot1SlideDir == 0 && tSlot2SlideDir == 0)
{
- PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId);
- PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId);
+ PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId].windowId);
+ PutWindowTilemap(sPartyMenuBoxes[gPartyMenu.slotId2].windowId);
schedule_bg_copy_tilemap_to_vram(0);
- Free(gUnknown_0203CEF0);
- Free(gUnknown_0203CEF4);
- sub_81B407C(taskId);
+ Free(sSlot1TilemapBuffer);
+ Free(sSlot2TilemapBuffer);
+ FinishTwoMonAction(taskId);
}
+ // Continue sliding
else
{
- data[8] += data[10];
- data[9] += data[11];
- if (data[8] == 0)
- data[10] = 0;
- if (data[9] == 0)
- data[11] = 0;
+ tSlot1Offset += tSlot1SlideDir;
+ tSlot2Offset += tSlot2SlideDir;
+ if (tSlot1Offset == 0)
+ tSlot1SlideDir = 0;
+ if (tSlot2Offset == 0)
+ tSlot2SlideDir = 0;
}
}
-static void oamt_swap_pos(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
+static void SwitchMenuBoxSprites(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
{
u8 spriteIdBuffer = *spriteIdPtr1;
u16 xBuffer1, yBuffer1, xBuffer2, yBuffer2;
@@ -4082,684 +2943,719 @@ static void oamt_swap_pos(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
gSprites[*spriteIdPtr2].pos2.y = yBuffer2;
}
-static void swap_pokemon_and_oams(void)
+static void SwitchPartyMon(void)
{
- struct Struct203CEDC *structPtrs[2];
+ struct PartyMenuBox *menuBoxes[2];
struct Pokemon *mon1, *mon2;
struct Pokemon *monBuffer;
- structPtrs[0] = &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId];
- structPtrs[1] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unkA];
- mon1 = &gPlayerParty[gUnknown_0203CEC8.slotId];
- mon2 = &gPlayerParty[gUnknown_0203CEC8.unkA];
+ menuBoxes[0] = &sPartyMenuBoxes[gPartyMenu.slotId];
+ menuBoxes[1] = &sPartyMenuBoxes[gPartyMenu.slotId2];
+ mon1 = &gPlayerParty[gPartyMenu.slotId];
+ mon2 = &gPlayerParty[gPartyMenu.slotId2];
monBuffer = Alloc(sizeof(struct Pokemon));
*monBuffer = *mon1;
*mon1 = *mon2;
*mon2 = *monBuffer;
Free(monBuffer);
- oamt_swap_pos(&structPtrs[0]->pokeballSpriteId, &structPtrs[1]->pokeballSpriteId);
- oamt_swap_pos(&structPtrs[0]->itemSpriteId, &structPtrs[1]->itemSpriteId);
- oamt_swap_pos(&structPtrs[0]->monSpriteId, &structPtrs[1]->monSpriteId);
- oamt_swap_pos(&structPtrs[0]->statusSpriteId, &structPtrs[1]->statusSpriteId);
-}
-
-static void sub_81B407C(u8 taskId)
-{
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- gUnknown_0203CEC8.unkB = 0;
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 0);
- gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA;
- sub_81B0FCC(gUnknown_0203CEC8.unkA, 1);
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
-}
+ SwitchMenuBoxSprites(&menuBoxes[0]->pokeballSpriteId, &menuBoxes[1]->pokeballSpriteId);
+ SwitchMenuBoxSprites(&menuBoxes[0]->itemSpriteId, &menuBoxes[1]->itemSpriteId);
+ SwitchMenuBoxSprites(&menuBoxes[0]->monSpriteId, &menuBoxes[1]->monSpriteId);
+ SwitchMenuBoxSprites(&menuBoxes[0]->statusSpriteId, &menuBoxes[1]->statusSpriteId);
+}
+
+// Finish switching mons or using Softboiled
+static void FinishTwoMonAction(u8 taskId)
+{
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ gPartyMenu.action = PARTY_ACTION_CHOOSE_MON;
+ AnimatePartySlot(gPartyMenu.slotId, 0);
+ gPartyMenu.slotId = gPartyMenu.slotId2;
+ AnimatePartySlot(gPartyMenu.slotId2, 1);
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
+}
+
+#undef tSlot1Left
+#undef tSlot1Top
+#undef tSlot1Width
+#undef tSlot1Height
+#undef tSlot2Left
+#undef tSlot2Top
+#undef tSlot2Width
+#undef tSlot2Height
+#undef tSlot1Offset
+#undef tSlot2Offset
+#undef tSlot1SlideDir
+#undef tSlot2SlideDir
static void CursorCb_Cancel1(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- if (gUnknown_0203CEC8.unk8_0 == 6)
- display_pokemon_menu_message(15);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_DAYCARE)
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON_2);
else
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
static void CursorCb_Item(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 8);
- sub_81B31B0(1);
- display_pokemon_menu_message(24);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, ACTIONS_ITEM);
+ DisplaySelectionWindow(SELECTWINDOW_ITEM);
+ DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_ITEM);
gTasks[taskId].data[0] = 0xFF;
- gTasks[taskId].func = HandleMenuInput;
+ gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
static void CursorCb_Give(u8 taskId)
{
PlaySE(SE_SELECT);
- gUnknown_0203CEC4->exitCallback = sub_81B41C4;
- sub_81B12C0(taskId);
+ sPartyMenuInternal->exitCallback = CB2_SelectBagItemToGive;
+ Task_ClosePartyMenu(taskId);
}
-static void sub_81B41C4(void)
+static void CB2_SelectBagItemToGive(void)
{
if (InBattlePyramid() == FALSE)
- GoToBagMenu(RETURN_LOCATION_POKEMON_LIST, POCKETS_COUNT, c2_8123744);
+ GoToBagMenu(RETURN_LOCATION_POKEMON_LIST, POCKETS_COUNT, CB2_GiveHoldItem);
else
- sub_81C4F98(2, c2_8123744);
+ GoToBattlePyramidBagMenu(2, CB2_GiveHoldItem);
}
-static void c2_8123744(void)
+static void CB2_GiveHoldItem(void)
{
if (gSpecialVar_ItemId == ITEM_NONE)
{
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback);
}
else
{
- gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM);
- if (gUnknown_0203CEFC != ITEM_NONE)
+ sPartyMenuItemId = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_HELD_ITEM);
+
+ // Already holding item
+ if (sPartyMenuItemId != ITEM_NONE)
{
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4350, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_SwitchHoldItemsPrompt, gPartyMenu.exitCallback);
}
+ // Give mail
else if (ItemIsMail(gSpecialVar_ItemId))
{
RemoveBagItem(gSpecialVar_ItemId, 1);
- sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId);
- sub_81B452C();
+ GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId);
+ CB2_WriteMailToGiveMon();
}
+ // Give item
else
{
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B42D0, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_GiveHoldItem, gPartyMenu.exitCallback);
}
}
}
-static void sub_81B42D0(u8 taskId)
+static void Task_GiveHoldItem(u8 taskId)
{
u16 item;
if (!gPaletteFade.active)
{
item = gSpecialVar_ItemId;
- sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], item, 0, 0);
- sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item);
+ DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], item, FALSE, 0);
+ GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item);
RemoveBagItem(item, 1);
- gTasks[taskId].func = sub_81B469C;
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
}
-static void sub_81B4350(u8 taskId)
+static void Task_SwitchHoldItemsPrompt(u8 taskId)
{
if (!gPaletteFade.active)
{
- sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEFC, 1);
- gTasks[taskId].func = sub_81B43A8;
+ DisplayAlreadyHoldingItemSwitchMessage(&gPlayerParty[gPartyMenu.slotId], sPartyMenuItemId, TRUE);
+ gTasks[taskId].func = Task_SwitchItemsYesNo;
}
}
-static void sub_81B43A8(u8 taskId)
+static void Task_SwitchItemsYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B43DC;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleSwitchItemsYesNoInput;
}
}
-static void sub_81B43DC(u8 taskId)
+static void Task_HandleSwitchItemsYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
+ case 0: // Yes, switch items
RemoveBagItem(gSpecialVar_ItemId, 1);
- if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE)
+
+ // No room to return held item to bag
+ if (AddBagItem(sPartyMenuItemId, 1) == FALSE)
{
AddBagItem(gSpecialVar_ItemId, 1);
- pokemon_item_not_removed(gUnknown_0203CEFC);
- sub_81B1B5C(gStringVar4, 0);
- gTasks[taskId].func = sub_81B1C1C;
+ BufferBagFullCantTakeItemMessage(sPartyMenuItemId);
+ DisplayPartyMenuMessage(gStringVar4, FALSE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
+ // Giving mail
else if (ItemIsMail(gSpecialVar_ItemId))
{
- sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId);
- gTasks[taskId].func = sub_81B44FC;
+ GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId);
+ gTasks[taskId].func = Task_WriteMailToGiveMonAfterText;
}
+ // Giving item
else
{
- sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId);
- sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 1);
- gTasks[taskId].func = sub_81B469C;
+ GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId);
+ DisplaySwitchedHeldItemMessage(gSpecialVar_ItemId, sPartyMenuItemId, TRUE);
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
- case 1:
- gTasks[taskId].func = sub_81B1C1C;
+ // fallthrough
+ case 1: // No
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
break;
}
}
-static void sub_81B44FC(u8 taskId)
+static void Task_WriteMailToGiveMonAfterText(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- gUnknown_0203CEC4->exitCallback = sub_81B452C;
- sub_81B12C0(taskId);
+ sPartyMenuInternal->exitCallback = CB2_WriteMailToGiveMon;
+ Task_ClosePartyMenu(taskId);
}
}
-static void sub_81B452C(void)
+static void CB2_WriteMailToGiveMon(void)
{
- u8 mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL);
+ u8 mail = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL);
DoEasyChatScreen(
- EASY_CHAT_TYPE_MAIL,
- gSaveBlock1Ptr->mail[mail].words,
- sub_81B4578,
- EASY_CHAT_PERSON_DISPLAY_NONE);
+ EASY_CHAT_TYPE_MAIL,
+ gSaveBlock1Ptr->mail[mail].words,
+ CB2_ReturnToPartyMenuFromWritingMail,
+ EASY_CHAT_PERSON_DISPLAY_NONE);
}
-static void sub_81B4578(void)
+static void CB2_ReturnToPartyMenuFromWritingMail(void)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
+ // Canceled writing mail
if (gSpecialVar_Result == FALSE)
{
TakeMailFromMon(mon);
- SetMonData(mon, MON_DATA_HELD_ITEM, &gUnknown_0203CEFC);
- RemoveBagItem(gUnknown_0203CEFC, 1);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &sPartyMenuItemId);
+ RemoveBagItem(sPartyMenuItemId, 1);
AddBagItem(item, 1);
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_CHOOSE_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback);
}
+ // Wrote mail
else
{
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4624, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_DisplayGaveMailFromPartyMessage, gPartyMenu.exitCallback);
}
}
-static void sub_81B4624(u8 taskId)
+// Nearly redundant with Task_DisplayGaveMailFromBagMessgae
+static void Task_DisplayGaveMailFromPartyMessage(u8 taskId)
{
if (!gPaletteFade.active)
{
- if (gUnknown_0203CEFC == ITEM_NONE)
- sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId, 0, 0);
+ if (sPartyMenuItemId == ITEM_NONE)
+ DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], gSpecialVar_ItemId, FALSE, 0);
else
- sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 0);
- gTasks[taskId].func = sub_81B469C;
+ DisplaySwitchedHeldItemMessage(gSpecialVar_ItemId, sPartyMenuItemId, FALSE);
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
}
-static void sub_81B469C(u8 taskId)
+static void Task_UpdateHeldItemSprite(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]);
- if (gUnknown_0203CEC8.unk8_0 == 12)
+ UpdatePartyMonHeldItemSprite(mon, &sPartyMenuBoxes[gPartyMenu.slotId]);
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS)
{
if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)
- DisplayPartyPokemonOtherText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1);
+ DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_HAVE, &sPartyMenuBoxes[gPartyMenu.slotId], 1);
else
- DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1);
+ DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_DONT_HAVE, &sPartyMenuBoxes[gPartyMenu.slotId], 1);
}
- sub_81B1C1C(taskId);
+ Task_ReturnToChooseMonAfterText(taskId);
}
}
static void CursorCb_TakeItem(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
switch (TryTakeMonItem(mon))
{
- case 0:
+ case 0: // Not holding item
GetMonNickname(mon, gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
break;
- case 1:
- pokemon_item_not_removed(item);
- sub_81B1B5C(gStringVar4, 1);
+ case 1: // No room to take item
+ BufferBagFullCantTakeItemMessage(item);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
break;
- default:
- sub_81B1CD0(mon, item, 1);
+ default: // Took item
+ DisplayTookHeldItemMessage(mon, item, TRUE);
break;
}
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B469C;
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
static void CursorCb_Toss(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
if (item == ITEM_NONE)
{
GetMonNickname(mon, gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B469C;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
else
{
CopyItemName(item, gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_ThrowAwayItem);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B48A8;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_TossHeldItemYesNo;
}
}
-static void sub_81B48A8(u8 taskId)
+static void Task_TossHeldItemYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B48DC;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleTossHeldItemYesNoInput;
}
}
-static void sub_81B48DC(u8 taskId)
+static void Task_HandleTossHeldItemYesNoInput(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_ItemThrownAway);
- sub_81B1B5C(gStringVar4, 0);
- gTasks[taskId].func = sub_81B4988;
+ DisplayPartyMenuMessage(gStringVar4, FALSE);
+ gTasks[taskId].func = Task_TossHeldItem;
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
- gTasks[taskId].func = sub_81B1C1C;
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
break;
}
}
-static void sub_81B4988(u8 taskId)
+static void Task_TossHeldItem(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
u16 item = ITEM_NONE;
SetMonData(mon, MON_DATA_HELD_ITEM, &item);
- sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]);
- DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1);
- gTasks[taskId].func = sub_81B1C1C;
+ UpdatePartyMonHeldItemSprite(mon, &sPartyMenuBoxes[gPartyMenu.slotId]);
+ DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_DONT_HAVE, &sPartyMenuBoxes[gPartyMenu.slotId], 1);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
}
static void CursorCb_Mail(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 9);
- sub_81B31B0(2);
- display_pokemon_menu_message(25);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, ACTIONS_MAIL);
+ DisplaySelectionWindow(SELECTWINDOW_MAIL);
+ DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_MAIL);
gTasks[taskId].data[0] = 0xFF;
- gTasks[taskId].func = HandleMenuInput;
+ gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
static void CursorCb_Read(u8 taskId)
{
PlaySE(SE_SELECT);
- gUnknown_0203CEC4->exitCallback = sub_81B4A98;
- sub_81B12C0(taskId);
+ sPartyMenuInternal->exitCallback = CB2_ReadHeldMail;
+ Task_ClosePartyMenu(taskId);
}
-static void sub_81B4A98(void)
+static void CB2_ReadHeldMail(void)
{
- ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL)], sub_81B4AE0, 1);
+ ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL)], CB2_ReturnToPartyMenuFromReadingMail, 1);
}
-static void sub_81B4AE0(void)
+static void CB2_ReturnToPartyMenuFromReadingMail(void)
{
gPaletteFade.bufferTransferDisabled = TRUE;
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_DO_WHAT_WITH_MON, Task_TryCreateSelectionWindow, gPartyMenu.exitCallback);
}
static void CursorCb_TakeMail(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B1B5C(gText_SendMailToPC, 1);
- gTasks[taskId].func = sub_81B4B6C;
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ DisplayPartyMenuMessage(gText_SendMailToPC, TRUE);
+ gTasks[taskId].func = Task_SendMailToPCYesNo;
}
-static void sub_81B4B6C(u8 taskId)
+static void Task_SendMailToPCYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B4BA0;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleSendMailToPCYesNoInput;
}
}
-static void sub_81B4BA0(u8 taskId)
+static void Task_HandleSendMailToPCYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
- if (TakeMailFromMon2(&gPlayerParty[gUnknown_0203CEC8.slotId]) != 0xFF)
+ case 0: // Yes, send to PC
+ if (TakeMailFromMon2(&gPlayerParty[gPartyMenu.slotId]) != 0xFF)
{
- sub_81B1B5C(gText_MailSentToPC, 0);
- gTasks[taskId].func = sub_81B469C;
+ DisplayPartyMenuMessage(gText_MailSentToPC, FALSE);
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
else
{
- sub_81B1B5C(gText_PCMailboxFull, 0);
- gTasks[taskId].func = sub_81B1C1C;
+ DisplayPartyMenuMessage(gText_PCMailboxFull, FALSE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
- sub_81B1B5C(gText_MailMessageWillBeLost, 1);
- gTasks[taskId].func = sub_81B4C60;
+ DisplayPartyMenuMessage(gText_MailMessageWillBeLost, TRUE);
+ gTasks[taskId].func = Task_LoseMailMessageYesNo;
break;
}
}
-static void sub_81B4C60(u8 taskId)
+static void Task_LoseMailMessageYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B4C94;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleLoseMailMessageYesNoInput;
}
}
-static void sub_81B4C94(u8 taskId)
+static void Task_HandleLoseMailMessageYesNoInput(u8 taskId)
{
u16 item;
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
- item = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM);
+ case 0: // Yes, lose mail message
+ item = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_HELD_ITEM);
if (AddBagItem(item, 1) == TRUE)
{
- TakeMailFromMon(&gPlayerParty[gUnknown_0203CEC8.slotId]);
- sub_81B1B5C(gText_MailTakenFromPkmn, 0);
- gTasks[taskId].func = sub_81B469C;
+ TakeMailFromMon(&gPlayerParty[gPartyMenu.slotId]);
+ DisplayPartyMenuMessage(gText_MailTakenFromPkmn, FALSE);
+ gTasks[taskId].func = Task_UpdateHeldItemSprite;
}
else
{
- pokemon_item_not_removed(item);
- sub_81B1B5C(gStringVar4, 0);
- gTasks[taskId].func = sub_81B1C1C;
+ BufferBagFullCantTakeItemMessage(item);
+ DisplayPartyMenuMessage(gStringVar4, FALSE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
- gTasks[taskId].func = sub_81B1C1C;
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
break;
}
}
static void CursorCb_Cancel2(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon));
- if (gUnknown_0203CEC8.unk8_0 != 12)
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ SetPartyMonSelectionActions(gPlayerParty, gPartyMenu.slotId, GetPartyMenuActionsType(mon));
+ if (gPartyMenu.menuType != PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS)
{
- sub_81B31B0(0);
- display_pokemon_menu_message(21);
+ DisplaySelectionWindow(SELECTWINDOW_ACTIONS);
+ DisplayPartyMenuStdMessage(PARTY_MSG_DO_WHAT_WITH_MON);
}
else
{
- sub_81B31B0(1);
+ DisplaySelectionWindow(SELECTWINDOW_ITEM);
CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar2);
- display_pokemon_menu_message(26);
+ DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_HOLDING_ONE);
}
gTasks[taskId].data[0] = 0xFF;
- gTasks[taskId].func = HandleMenuInput;
+ gTasks[taskId].func = Task_HandleSelectionMenuInput;
}
static void CursorCb_SendMon(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- if (sub_81B8A7C() == TRUE)
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ if (TrySwitchInPokemon() == TRUE)
{
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
}
else
{
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B1C1C;
+ // gStringVar4 below is the error message buffered by TrySwitchInPokemon
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
}
static void CursorCb_Enter(u8 taskId)
{
- u8 unk;
+ u8 maxBattlers;
u8 i;
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- unk = sub_81B8830();
- for (i = 0; i < unk; i++)
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ maxBattlers = GetMaxBattleEntries();
+ for (i = 0; i < maxBattlers; i++)
{
if (gSelectedOrderFromParty[i] == 0)
{
PlaySE(SE_SELECT);
- gSelectedOrderFromParty[i] = gUnknown_0203CEC8.slotId + 1;
- DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1);
- if (i == (unk - 1))
- sub_81B4F88();
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
+ gSelectedOrderFromParty[i] = gPartyMenu.slotId + 1;
+ DisplayPartyPokemonDescriptionText(i + PARTYBOX_DESC_FIRST, &sPartyMenuBoxes[gPartyMenu.slotId], 1);
+ if (i == (maxBattlers - 1))
+ MoveCursorToConfirm();
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
return;
}
}
- ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1);
+ ConvertIntToDecimalStringN(gStringVar1, maxBattlers, STR_CONV_MODE_LEFT_ALIGN, 1);
StringExpandPlaceholders(gStringVar4, gText_NoMoreThanVar1Pkmn);
PlaySE(SE_HAZURE);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B1C1C;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
-static void sub_81B4F88(void)
+static void MoveCursorToConfirm(void)
{
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 0);
- gUnknown_0203CEC8.slotId = 6;
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 1);
+ AnimatePartySlot(gPartyMenu.slotId, 0);
+ gPartyMenu.slotId = PARTY_SIZE;
+ AnimatePartySlot(gPartyMenu.slotId, 1);
}
static void CursorCb_NoEntry(u8 taskId)
{
- u8 unk;
+ u8 maxBattlers;
u8 i, j;
PlaySE(SE_SELECT);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- unk = sub_81B8830();
- for (i = 0; i < unk; i++)
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ maxBattlers = GetMaxBattleEntries();
+ for (i = 0; i < maxBattlers; i++)
{
- if (gSelectedOrderFromParty[i] == (gUnknown_0203CEC8.slotId + 1))
+ if (gSelectedOrderFromParty[i] == (gPartyMenu.slotId + 1))
{
- for (j = i; j < (unk - 1); j++)
+ for (j = i; j < (maxBattlers - 1); j++)
gSelectedOrderFromParty[j] = gSelectedOrderFromParty[j + 1];
gSelectedOrderFromParty[j] = 0;
break;
}
}
- DisplayPartyPokemonOtherText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1);
- for (i = 0; i < (unk - 1); i++)
+ DisplayPartyPokemonDescriptionText(PARTYBOX_DESC_ABLE_3, &sPartyMenuBoxes[gPartyMenu.slotId], 1);
+ for (i = 0; i < (maxBattlers - 1); i++)
{
if (gSelectedOrderFromParty[i] != 0)
- DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gSelectedOrderFromParty[i] - 1], 1);
+ DisplayPartyPokemonDescriptionText(i + PARTYBOX_DESC_FIRST, &sPartyMenuBoxes[gSelectedOrderFromParty[i] - 1], 1);
}
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
static void CursorCb_Store(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
}
+// Register mon for the Trading Board in Union Room
static void CursorCb_Register(u8 taskId)
{
- u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2);
- u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES);
- u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE);
+ u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2);
+ u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
+ u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE);
- switch (sub_807A8D0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience))
+ switch (CanRegisterMonForTradingBoard(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience))
{
- case 1:
+ case CANT_REGISTER_MON:
StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow);
break;
- case 2:
+ case CANT_REGISTER_EGG:
StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow);
break;
default:
PlaySE(SE_SELECT);
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
return;
}
PlaySE(SE_HAZURE);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
StringAppend(gStringVar4, gText_PauseUntilPress);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B1C1C;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
static void CursorCb_Trade1(u8 taskId)
{
- u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2);
- u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES);
- u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE);
- u32 stringId = sub_807A7E0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience);
+ u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2);
+ u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
+ u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE);
+ u32 stringId = GetUnionRoomTradeMessageId(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, obedience);
- if (stringId != 0)
+ if (stringId != UR_TRADE_MSG_NONE)
{
- StringExpandPlaceholders(gStringVar4, gUnknown_08615E0C[stringId - 1]);
+ StringExpandPlaceholders(gStringVar4, sUnionRoomTradeMessages[stringId - 1]);
PlaySE(SE_HAZURE);
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
StringAppend(gStringVar4, gText_PauseUntilPress);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B1C1C;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
else
{
PlaySE(SE_SELECT);
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
}
}
+// Spin Trade (based on the translation of the Japanese trade prompt)
+// Not fully implemented, and normally unreachable because PARTY_MENU_TYPE_SPIN_TRADE is never used
static void CursorCb_Trade2(u8 taskId)
{
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- switch (sub_807A918(gPlayerParty, gUnknown_0203CEC8.slotId))
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ switch (CanSpinTradeMon(gPlayerParty, gPartyMenu.slotId))
{
- case 1:
+ case CANT_TRADE_LAST_MON:
StringExpandPlaceholders(gStringVar4, gText_OnlyPkmnForBattle);
break;
- case 2:
+ case CANT_TRADE_NATIONAL:
StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow);
break;
- case 3:
+ case CANT_TRADE_EGG_YET:
StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow);
break;
- default:
+ default: // CAN_TRADE_MON
PlaySE(SE_SELECT);
- GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1);
- StringExpandPlaceholders(gStringVar4, gJPText_PutVar1IntoSpinner);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B53FC;
+ GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gJPText_AreYouSureYouWantToSpinTradeMon);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_SpinTradeYesNo;
return;
}
PlaySE(SE_HAZURE);
StringAppend(gStringVar4, gText_PauseUntilPress);
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B1C1C;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
-static void sub_81B53FC(u8 taskId)
+static void Task_SpinTradeYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B5430;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleSpinTradeYesNoInput;
}
}
-static void sub_81B5430(u8 taskId)
+// See comment on CursorCb_Trade2. Because no callback is set, selecting YES (0) to spin trade just closes the party menu
+static void Task_HandleSpinTradeYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
- sub_81B1C1C(taskId);
+ Task_ReturnToChooseMonAfterText(taskId);
break;
}
}
static void CursorCb_FieldMove(u8 taskId)
{
- u8 fieldMove = gUnknown_0203CEC4->actions[Menu_GetCursorPos()] - MENU_FIELD_MOVES;
+ u8 fieldMove = sPartyMenuInternal->actions[Menu_GetCursorPos()] - MENU_FIELD_MOVES;
const struct MapHeader *mapHeader;
PlaySE(SE_SELECT);
if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc == NULL)
return;
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
if (sub_81221AC() == TRUE || InUnionRoom() == TRUE)
{
if (fieldMove == FIELD_MOVE_MILK_DRINK || fieldMove == FIELD_MOVE_SOFT_BOILED)
- display_pokemon_menu_message(13);
+ DisplayPartyMenuStdMessage(PARTY_MSG_CANT_USE_HERE);
else
- display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId);
+ DisplayPartyMenuStdMessage(sFieldMoveCursorCallbacks[fieldMove].msgId);
- gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b;
+ gTasks[taskId].func = Task_CancelAfterAorBPress;
}
else
{
// All field moves before WATERFALL are HMs.
if (fieldMove <= FIELD_MOVE_WATERFALL && FlagGet(FLAG_BADGE01_GET + fieldMove) != TRUE)
{
- sub_81B1B5C(gText_CantUseUntilNewBadge, 1);
- gTasks[taskId].func = sub_81B1C1C;
+ DisplayPartyMenuMessage(gText_CantUseUntilNewBadge, TRUE);
+ gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
}
else if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc() == TRUE)
{
@@ -4767,121 +3663,123 @@ static void CursorCb_FieldMove(u8 taskId)
{
case FIELD_MOVE_MILK_DRINK:
case FIELD_MOVE_SOFT_BOILED:
- sub_8161560(taskId);
+ ChooseMonForSoftboiled(taskId);
break;
case FIELD_MOVE_TELEPORT:
mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->lastHealLocation.mapGroup, gSaveBlock1Ptr->lastHealLocation.mapNum);
- sub_81245DC(gStringVar1, mapHeader->regionMapSectionId);
+ GetMapNameGeneric(gStringVar1, mapHeader->regionMapSectionId);
StringExpandPlaceholders(gStringVar4, gText_ReturnToHealingSpot);
- sub_81B5674(taskId);
- gUnknown_0203CEC4->data[0] = fieldMove;
+ DisplayFieldMoveExitAreaMessage(taskId);
+ sPartyMenuInternal->data[0] = fieldMove;
break;
case FIELD_MOVE_DIG:
mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->escapeWarp.mapGroup, gSaveBlock1Ptr->escapeWarp.mapNum);
- sub_81245DC(gStringVar1, mapHeader->regionMapSectionId);
+ GetMapNameGeneric(gStringVar1, mapHeader->regionMapSectionId);
StringExpandPlaceholders(gStringVar4, gText_EscapeFromHere);
- sub_81B5674(taskId);
- gUnknown_0203CEC4->data[0] = fieldMove;
+ DisplayFieldMoveExitAreaMessage(taskId);
+ sPartyMenuInternal->data[0] = fieldMove;
break;
case FIELD_MOVE_FLY:
- gUnknown_0203CEC8.exitCallback = MCB2_FlyMap;
- sub_81B12C0(taskId);
+ gPartyMenu.exitCallback = MCB2_FlyMap;
+ Task_ClosePartyMenu(taskId);
break;
default:
- gUnknown_0203CEC8.exitCallback = CB2_ReturnToField;
- sub_81B12C0(taskId);
+ gPartyMenu.exitCallback = CB2_ReturnToField;
+ Task_ClosePartyMenu(taskId);
break;
}
}
+ // Cant use Field Move
else
{
switch (fieldMove)
{
case FIELD_MOVE_SURF:
- sub_81B5864();
+ DisplayCantUseSurfMessage();
break;
case FIELD_MOVE_FLASH:
- sub_81B57DC();
+ DisplayCantUseFlashMessage();
break;
default:
- display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId);
+ DisplayPartyMenuStdMessage(sFieldMoveCursorCallbacks[fieldMove].msgId);
break;
}
- gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b;
+ gTasks[taskId].func = Task_CancelAfterAorBPress;
}
}
}
-static void sub_81B5674(u8 taskId)
+static void DisplayFieldMoveExitAreaMessage(u8 taskId)
{
- sub_81B1B5C(gStringVar4, 1);
- gTasks[taskId].func = sub_81B56A4;
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ gTasks[taskId].func = Task_FieldMoveExitAreaYesNo;
}
-static void sub_81B56A4(u8 taskId)
+static void Task_FieldMoveExitAreaYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B56D8;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleFieldMoveExitAreaYesNoInput;
}
}
-static void sub_81B56D8(u8 taskId)
+static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
- gUnknown_0203CEC8.exitCallback = CB2_ReturnToField;
- sub_81B12C0(taskId);
+ gPartyMenu.exitCallback = CB2_ReturnToField;
+ Task_ClosePartyMenu(taskId);
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
gFieldCallback2 = NULL;
gPostMenuFieldCallback = NULL;
- sub_81B1C1C(taskId);
+ Task_ReturnToChooseMonAfterText(taskId);
break;
}
}
bool8 FieldCallback_PrepareFadeInFromMenu(void)
{
- pal_fill_black();
- CreateTask(task_launch_hm_phase_2, 8);
+ FadeInFromBlack();
+ CreateTask(Task_FieldMoveWaitForFade, 8);
return TRUE;
}
-static void task_launch_hm_phase_2(u8 taskId)
+static void Task_FieldMoveWaitForFade(u8 taskId)
{
if (IsWeatherNotFadingIn() == TRUE)
{
- gFieldEffectArguments[0] = brm_get_selected_species();
+ gFieldEffectArguments[0] = GetFieldMoveMonSpecies();
gPostMenuFieldCallback();
DestroyTask(taskId);
}
}
-static u16 brm_get_selected_species(void)
+static u16 GetFieldMoveMonSpecies(void)
{
- return GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES);
+ return GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
}
-static void task_brm_cancel_1_on_keypad_a_or_b(u8 taskId)
+static void Task_CancelAfterAorBPress(u8 taskId)
{
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
CursorCb_Cancel1(taskId);
}
-static void sub_81B57DC(void)
+static void DisplayCantUseFlashMessage(void)
{
if (FlagGet(FLAG_SYS_USE_FLASH) == TRUE)
- display_pokemon_menu_message(12);
+ DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_IN_USE);
else
- display_pokemon_menu_message(13);
+ DisplayPartyMenuStdMessage(PARTY_MSG_CANT_USE_HERE);
}
-static void hm_surf_run_dp02scr(void)
+static void FieldCallback_Surf(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
FieldEffectStart(FLDEFF_USE_SURF);
@@ -4892,18 +3790,18 @@ static bool8 SetUpFieldMove_Surf(void)
if (PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE)
{
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
- gPostMenuFieldCallback = hm_surf_run_dp02scr;
+ gPostMenuFieldCallback = FieldCallback_Surf;
return TRUE;
}
return FALSE;
}
-static void sub_81B5864(void)
+static void DisplayCantUseSurfMessage(void)
{
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
- display_pokemon_menu_message(9);
+ DisplayPartyMenuStdMessage(PARTY_MSG_ALREADY_SURFING);
else
- display_pokemon_menu_message(8);
+ DisplayPartyMenuStdMessage(PARTY_MSG_CANT_SURF_HERE);
}
static bool8 SetUpFieldMove_Fly(void)
@@ -4914,12 +3812,12 @@ static bool8 SetUpFieldMove_Fly(void)
return FALSE;
}
-void sub_81B58A8(void)
+void CB2_ReturnToPartyMenuFromFlyMap(void)
{
- InitPartyMenu(0, 0, 0, 1, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu);
+ InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, TRUE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToFieldWithOpenMenu);
}
-static void hm2_waterfall(void)
+static void FieldCallback_Waterfall(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
FieldEffectStart(FLDEFF_USE_WATERFALL);
@@ -4933,13 +3831,13 @@ static bool8 SetUpFieldMove_Waterfall(void)
if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE && IsPlayerSurfingNorth() == TRUE)
{
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
- gPostMenuFieldCallback = hm2_waterfall;
+ gPostMenuFieldCallback = FieldCallback_Waterfall;
return TRUE;
}
return FALSE;
}
-static void sub_81B5958(void)
+static void FieldCallback_Dive(void)
{
gFieldEffectArguments[0] = GetCursorSelectionMonId();
FieldEffectStart(FLDEFF_USE_DIVE);
@@ -4951,64 +3849,66 @@ static bool8 SetUpFieldMove_Dive(void)
if (gFieldEffectArguments[1] != 0)
{
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
- gPostMenuFieldCallback = sub_81B5958;
+ gPostMenuFieldCallback = FieldCallback_Dive;
return TRUE;
}
return FALSE;
}
-static void party_menu_icon_anim(struct Pokemon *mon, struct Struct203CEDC *ptr, u32 a)
+static void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot)
{
- u32 bit = 1;
+ bool32 handleDeoxys = TRUE;
u16 species2;
+ // If in a multi battle, show partners Deoxys icon as Normal forme
if (IsMultiBattle() == TRUE && gMain.inBattle)
- bit = (gUnknown_08616020[a] ^ bit) ? 1 : 0;
+ handleDeoxys = (sMultiBattlePartnersPartyMask[slot] ^ handleDeoxys) ? TRUE : FALSE;
+
species2 = GetMonData(mon, MON_DATA_SPECIES2);
- party_menu_link_mon_icon_anim(species2, GetMonData(mon, MON_DATA_PERSONALITY), ptr, 1, bit);
- sub_81B5B38(ptr->monSpriteId, mon);
+ CreatePartyMonIconSpriteParameterized(species2, GetMonData(mon, MON_DATA_PERSONALITY), menuBox, 1, handleDeoxys);
+ UpdatePartyMonHPBar(menuBox->monSpriteId, mon);
}
-static void party_menu_link_mon_icon_anim(u16 species, u32 pid, struct Struct203CEDC *ptr, u8 priority, u32 bit)
+static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, struct PartyMenuBox *menuBox, u8 priority, bool32 handleDeoxys)
{
if (species != SPECIES_NONE)
{
- ptr->monSpriteId = CreateMonIcon(species, sub_80D3014, ptr->unk4[0], ptr->unk4[1], 4, pid, bit);
- gSprites[ptr->monSpriteId].oam.priority = priority;
+ menuBox->monSpriteId = CreateMonIcon(species, SpriteCB_MonIcon, menuBox->spriteCoords[0], menuBox->spriteCoords[1], 4, pid, handleDeoxys);
+ gSprites[menuBox->monSpriteId].oam.priority = priority;
}
}
-static void sub_81B5A8C(u8 spriteId, u16 hp, u16 maxhp)
+static void UpdateHPBar(u8 spriteId, u16 hp, u16 maxhp)
{
switch (GetHPBarLevel(hp, maxhp))
{
case HP_BAR_FULL:
- sub_80D32C8(&gSprites[spriteId], 0);
+ SetPartyHPBarSprite(&gSprites[spriteId], 0);
break;
case HP_BAR_GREEN:
- sub_80D32C8(&gSprites[spriteId], 1);
+ SetPartyHPBarSprite(&gSprites[spriteId], 1);
break;
case HP_BAR_YELLOW:
- sub_80D32C8(&gSprites[spriteId], 2);
+ SetPartyHPBarSprite(&gSprites[spriteId], 2);
break;
case HP_BAR_RED:
- sub_80D32C8(&gSprites[spriteId], 3);
+ SetPartyHPBarSprite(&gSprites[spriteId], 3);
break;
default:
- sub_80D32C8(&gSprites[spriteId], 4);
+ SetPartyHPBarSprite(&gSprites[spriteId], 4);
break;
}
}
-static void sub_81B5B38(u8 spriteId, struct Pokemon *mon)
+static void UpdatePartyMonHPBar(u8 spriteId, struct Pokemon *mon)
{
- sub_81B5A8C(spriteId, GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP));
+ UpdateHPBar(spriteId, GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP));
}
-static void AnimateSelectedPartyIcon(u8 spriteId, u8 a)
+static void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum)
{
gSprites[spriteId].data[0] = 0;
- if (a == 0)
+ if (animNum == 0)
{
if (gSprites[spriteId].pos1.x == 16)
{
@@ -5020,71 +3920,71 @@ static void AnimateSelectedPartyIcon(u8 spriteId, u8 a)
gSprites[spriteId].pos2.x = -4;
gSprites[spriteId].pos2.y = 0;
}
- gSprites[spriteId].callback = UpdatePartyMonIconFrame;
+ gSprites[spriteId].callback = SpriteCB_UpdatePartyMonIcon;
}
else
{
gSprites[spriteId].pos2.x = 0;
gSprites[spriteId].pos2.y = 0;
- gSprites[spriteId].callback = UpdatePartyMonIconFrameAndBounce;
+ gSprites[spriteId].callback = SpriteCB_BouncePartyMonIcon;
}
}
-static void UpdatePartyMonIconFrameAndBounce(struct Sprite *sprite)
+static void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite)
{
- u8 unk = UpdateMonIconFrame(sprite);
+ u8 animCmd = UpdateMonIconFrame(sprite);
- if (unk != 0)
+ if (animCmd != 0)
{
- if (unk & 1)
+ if (animCmd & 1) // % 2 also matches
sprite->pos2.y = -3;
else
sprite->pos2.y = 1;
}
}
-static void UpdatePartyMonIconFrame(struct Sprite *sprite)
+static void SpriteCB_UpdatePartyMonIcon(struct Sprite *sprite)
{
UpdateMonIconFrame(sprite);
}
-static void party_menu_held_item_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+static void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
- ptr->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, ptr->unk4[2], ptr->unk4[3], 0);
- sub_81B5C94(mon, ptr);
+ menuBox->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, menuBox->spriteCoords[2], menuBox->spriteCoords[3], 0);
+ UpdatePartyMonHeldItemSprite(mon, menuBox);
}
}
-static void party_menu_link_mon_held_item_object(u16 species, u16 item, struct Struct203CEDC *ptr)
+static void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox)
{
if (species != SPECIES_NONE)
{
- ptr->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, ptr->unk4[2], ptr->unk4[3], 0);
- gSprites[ptr->itemSpriteId].oam.priority = 0;
- sub_81B5CB0(item, ptr);
+ menuBox->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, menuBox->spriteCoords[2], menuBox->spriteCoords[3], 0);
+ gSprites[menuBox->itemSpriteId].oam.priority = 0;
+ ShowOrHideHeldItemSprite(item, menuBox);
}
}
-static void sub_81B5C94(struct Pokemon *mon, struct Struct203CEDC *ptr)
+static void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
- sub_81B5CB0(GetMonData(mon, MON_DATA_HELD_ITEM), ptr);
+ ShowOrHideHeldItemSprite(GetMonData(mon, MON_DATA_HELD_ITEM), menuBox);
}
-static void sub_81B5CB0(u16 item, struct Struct203CEDC *ptr)
+static void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox)
{
if (item == ITEM_NONE)
{
- gSprites[ptr->itemSpriteId].invisible = TRUE;
+ gSprites[menuBox->itemSpriteId].invisible = TRUE;
}
else
{
if (ItemIsMail(item))
- StartSpriteAnim(&gSprites[ptr->itemSpriteId], 1);
+ StartSpriteAnim(&gSprites[menuBox->itemSpriteId], 1);
else
- StartSpriteAnim(&gSprites[ptr->itemSpriteId], 0);
- gSprites[ptr->itemSpriteId].invisible = FALSE;
+ StartSpriteAnim(&gSprites[menuBox->itemSpriteId], 0);
+ gSprites[menuBox->itemSpriteId].invisible = FALSE;
}
}
@@ -5094,33 +3994,33 @@ void LoadHeldItemIcons(void)
LoadSpritePalette(&sSpritePalette_HeldItem);
}
-void sub_81B5D4C(u8 *a, u8 *b, u8 c)
+void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty)
{
u16 i;
u16 item;
- switch (c)
+ switch (whichParty)
{
- case 0:
- for (i = 0; i < a[0]; i++)
+ case TRADE_PLAYER:
+ for (i = 0; i < partyCounts[TRADE_PLAYER]; i++)
{
item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
if (item != ITEM_NONE)
- sub_81B5DF0(b[i], ItemIsMail(item));
+ CreateHeldItemSpriteForTrade(partySpriteIds[i], ItemIsMail(item));
}
break;
- case 1:
- for (i = 0; i < a[1]; i++)
+ case TRADE_PARTNER:
+ for (i = 0; i < partyCounts[TRADE_PARTNER]; i++)
{
item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM);
if (item != ITEM_NONE)
- sub_81B5DF0(b[i + 6], ItemIsMail(item));
+ CreateHeldItemSpriteForTrade(partySpriteIds[i + PARTY_SIZE], ItemIsMail(item));
}
break;
}
}
-static void sub_81B5DF0(u8 spriteId, u8 isMail)
+static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail)
{
u8 subpriority = gSprites[spriteId].subpriority;
u8 newSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, 250, 170, subpriority - 1);
@@ -5149,22 +4049,23 @@ static void SpriteCB_HeldItem(struct Sprite *sprite)
}
}
-static void party_menu_pokeball_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+static void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
- ptr->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, ptr->unk4[6], ptr->unk4[7], 8);
+ menuBox->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, menuBox->spriteCoords[6], menuBox->spriteCoords[7], 8);
}
-static void party_menu_link_mon_pokeball_object(u16 species, struct Struct203CEDC *ptr)
+static void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox)
{
if (species != SPECIES_NONE)
{
- ptr->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, ptr->unk4[6], ptr->unk4[7], 8);
- gSprites[ptr->pokeballSpriteId].oam.priority = 0;
+ menuBox->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, menuBox->spriteCoords[6], menuBox->spriteCoords[7], 8);
+ gSprites[menuBox->pokeballSpriteId].oam.priority = 0;
}
}
-static u8 sub_81B5F34(u8 x, u8 y)
+// For Cancel when Confirm isnt present
+static u8 CreatePokeballButtonSprite(u8 x, u8 y)
{
u8 spriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, x, y, 8);
@@ -5172,19 +4073,22 @@ static u8 sub_81B5F34(u8 x, u8 y)
return spriteId;
}
-static u8 sub_81B5F74(u8 x, u8 y)
+// For Confirm and Cancel when both are present
+static u8 CreateSmallPokeballButtonSprite(u8 x, u8 y)
{
- return CreateSprite(&gSpriteTemplate_8615F78, x, y, 8);
+ return CreateSprite(&sSpriteTemplate_MenuPokeballSmall, x, y, 8);
}
-static void sub_81B5F98(u8 spriteId, u8 a)
+static void PartyMenuStartSpriteAnim(u8 spriteId, u8 animNum)
{
- StartSpriteAnim(&gSprites[spriteId], a);
+ StartSpriteAnim(&gSprites[spriteId], animNum);
}
-static void sub_81B5FBC(u8 spriteId, u8 spriteId2, u8 a)
+// Unused. Might explain the large blank section in gPartyMenuPokeballSmall_Gfx
+// At the very least this is how the unused anim cmds for sSpriteAnimTable_MenuPokeballSmall were meant to be accessed
+static void SpriteCB_BounceConfirmCancelButton(u8 spriteId, u8 spriteId2, u8 animNum)
{
- if (a == 0)
+ if (animNum == 0)
{
StartSpriteAnim(&gSprites[spriteId], 2);
StartSpriteAnim(&gSprites[spriteId2], 4);
@@ -5207,41 +4111,41 @@ static void LoadPartyMenuPokeballGfx(void)
LoadCompressedSpritePalette(&sSpritePalette_MenuPokeball);
}
-static void party_menu_status_condition_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+static void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
- ptr->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, ptr->unk4[4], ptr->unk4[5], 0);
- party_menu_get_status_condition_and_update_object(mon, ptr);
+ menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0);
+ SetPartyMonAilmentGfx(mon, menuBox);
}
}
-static void party_menu_link_mon_status_condition_object(u16 species, u8 status, struct Struct203CEDC *ptr)
+static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox)
{
if (species != SPECIES_NONE)
{
- ptr->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, ptr->unk4[4], ptr->unk4[5], 0);
- party_menu_update_status_condition_object(status, ptr);
- gSprites[ptr->statusSpriteId].oam.priority = 0;
+ menuBox->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, menuBox->spriteCoords[4], menuBox->spriteCoords[5], 0);
+ UpdatePartyMonAilmentGfx(status, menuBox);
+ gSprites[menuBox->statusSpriteId].oam.priority = 0;
}
}
-static void party_menu_get_status_condition_and_update_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+static void SetPartyMonAilmentGfx(struct Pokemon *mon, struct PartyMenuBox *menuBox)
{
- party_menu_update_status_condition_object(GetMonAilment(mon), ptr);
+ UpdatePartyMonAilmentGfx(GetMonAilment(mon), menuBox);
}
-static void party_menu_update_status_condition_object(u8 status, struct Struct203CEDC *ptr)
+static void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox)
{
switch (status)
{
case AILMENT_NONE:
case AILMENT_PKRS:
- gSprites[ptr->statusSpriteId].invisible = TRUE;
+ gSprites[menuBox->statusSpriteId].invisible = TRUE;
break;
default:
- StartSpriteAnim(&gSprites[ptr->statusSpriteId], status - 1);
- gSprites[ptr->statusSpriteId].invisible = FALSE;
+ StartSpriteAnim(&gSprites[menuBox->statusSpriteId], status - 1);
+ gSprites[menuBox->statusSpriteId].invisible = FALSE;
break;
}
}
@@ -5252,68 +4156,68 @@ static void LoadPartyMenuAilmentGfx(void)
LoadCompressedSpritePalette(&sSpritePalette_StatusIcons);
}
-void sub_81B617C(void)
+void CB2_ShowPartyMenuForItemUse(void)
{
- MainCallback callback = c2_815ABFC;
- u8 doubleBattleStatus;
- bool8 inBattle;
+ MainCallback callback = CB2_ReturnToBagMenu;
+ u8 partyLayout;
+ u8 menuType;
u8 i;
- u8 msgIdMaybe;
+ u8 msgId;
TaskFunc task;
if (gMain.inBattle)
{
- inBattle = TRUE;
- doubleBattleStatus = sub_81B8984();
+ menuType = PARTY_MENU_TYPE_IN_BATTLE;
+ partyLayout = GetPartyLayoutFromBattleType();
}
else
{
- inBattle = FALSE;
- doubleBattleStatus = 0;
+ menuType = PARTY_MENU_TYPE_FIELD;
+ partyLayout = PARTY_LAYOUT_SINGLE;
}
if (GetItemEffectType(gSpecialVar_ItemId) == ITEM_EFFECT_SACRED_ASH)
{
- gUnknown_0203CEC8.slotId = 0;
+ gPartyMenu.slotId = 0;
for (i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0)
{
- gUnknown_0203CEC8.slotId = i;
+ gPartyMenu.slotId = i;
break;
}
}
- task = sub_81B6280;
- msgIdMaybe = 0x7F;
+ task = Task_SetSacredAshCB;
+ msgId = PARTY_MSG_NONE;
}
else
{
if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_TM_HM)
- msgIdMaybe = 4;
+ msgId = PARTY_MSG_TEACH_WHICH_MON;
else
- msgIdMaybe = 5;
+ msgId = PARTY_MSG_USE_ON_WHICH_MON;
- task = sub_81B1370;
+ task = Task_HandleChooseMonInput;
}
- InitPartyMenu(inBattle, doubleBattleStatus, 3, 1, msgIdMaybe, task, callback);
+ InitPartyMenu(menuType, partyLayout, PARTY_ACTION_USE_ITEM, TRUE, msgId, task, callback);
}
-static void c2_815ABFC(void)
+static void CB2_ReturnToBagMenu(void)
{
if (InBattlePyramid() == FALSE)
GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL);
else
- sub_81C4F98(4, gPyramidBagCursorData.callback);
+ GoToBattlePyramidBagMenu(4, gPyramidBagCursorData.callback);
}
-static void sub_81B6280(u8 taskId)
+static void Task_SetSacredAshCB(u8 taskId)
{
if (!gPaletteFade.active)
{
- if (gUnknown_0203CEC8.unk8_0 == 1)
- gUnknown_0203CEC4->exitCallback = sub_81B9140;
- gUnknown_03006328(taskId, sub_81B6794);
+ if (gPartyMenu.menuType == PARTY_MENU_TYPE_IN_BATTLE)
+ sPartyMenuInternal->exitCallback = CB2_SetUpExitToBattleScreen;
+ gItemUseCB(taskId, Task_ClosePartyMenuAfterText); // ItemUseCB_SacredAsh in this case
}
}
@@ -5397,7 +4301,7 @@ static void GetMedicineItemEffectMessage(u16 item)
}
}
-static bool8 UsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item)
+static bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item)
{
if (GetItemEffectType(item) == ITEM_EFFECT_HP_EV && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA)
return FALSE;
@@ -5411,10 +4315,10 @@ static bool8 IsItemFlute(u16 item)
return FALSE;
}
-static bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 item, u8 monMoveIndex)
+static bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, u16 item, u8 monMoveIndex)
{
if (gMain.inBattle)
- return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, sub_81B8F38(partyMonIndex), monMoveIndex);
+ return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, GetPartyIdFromBattleSlot(partyMonIndex), monMoveIndex);
else
return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, partyMonIndex, monMoveIndex);
}
@@ -5422,11 +4326,11 @@ static bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 item, u8 monMov
void ItemUseCB_Medicine(u8 taskId, TaskFunc task)
{
u16 hp = 0;
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = gSpecialVar_ItemId;
bool8 canHeal;
- if (UsingHPEVItemOnShedinja(mon, item))
+ if (NotUsingHPEVItemOnShedinja(mon, item))
{
canHeal = IsHPRecoveryItem(item);
if (canHeal == TRUE)
@@ -5435,12 +4339,12 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task)
if (hp == GetMonData(mon, MON_DATA_MAX_HP))
canHeal = FALSE;
}
- if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, item, 0))
+ if (ExecuteTableBasedItemEffect_(gPartyMenu.slotId, item, 0))
{
iTriedHonestlyIDid:
- gUnknown_0203CEE8 = 0;
+ gPartyMenuUseExitCallback = FALSE;
PlaySE(SE_SELECT);
- sub_81B1B5C(gText_WontHaveEffect, 1);
+ DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
gTasks[taskId].func = task;
return;
@@ -5448,89 +4352,89 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task)
}
else
{
- goto iTriedHonestlyIDid;
+ goto iTriedHonestlyIDid; //TODO: resolve this goto
}
- gUnknown_0203CEE8 = 1;
- if (IsItemFlute(item) == FALSE)
+ gPartyMenuUseExitCallback = TRUE;
+ if (!IsItemFlute(item))
{
PlaySE(SE_KAIFUKU);
- if (gUnknown_0203CEC8.unkB != 14)
+ if (gPartyMenu.action != PARTY_ACTION_REUSABLE_ITEM)
RemoveBagItem(item, 1);
}
else
{
PlaySE(SE_BIDORO);
}
- party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]);
- if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].statusSpriteId].invisible)
- DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1);
+ SetPartyMonAilmentGfx(mon, &sPartyMenuBoxes[gPartyMenu.slotId]);
+ if (gSprites[sPartyMenuBoxes[gPartyMenu.slotId].statusSpriteId].invisible)
+ DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[gPartyMenu.slotId], 1);
if (canHeal == TRUE)
{
if (hp == 0)
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 1);
- sub_81B1F18(taskId, gUnknown_0203CEC8.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B672C);
- sub_81B1FA8(taskId, 0, hp);
+ AnimatePartySlot(gPartyMenu.slotId, 1);
+ PartyMenuModifyHP(taskId, gPartyMenu.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, Task_DisplayHPRestoredMessage);
+ ResetHPTaskData(taskId, 0, hp);
return;
}
else
{
GetMonNickname(mon, gStringVar1);
GetMedicineItemEffectMessage(item);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
gTasks[taskId].func = task;
}
}
-static void sub_81B672C(u8 taskId)
+static void Task_DisplayHPRestoredMessage(u8 taskId)
{
- GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1);
+ GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
- sub_81B1B5C(gStringVar4, 0);
+ DisplayPartyMenuMessage(gStringVar4, FALSE);
schedule_bg_copy_tilemap_to_vram(2);
HandleBattleLowHpMusicChange();
- gTasks[taskId].func = sub_81B6794;
+ gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
-static void sub_81B6794(u8 taskId)
+static void Task_ClosePartyMenuAfterText(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- if (gUnknown_0203CEE8 == 0)
- gUnknown_0203CEC4->exitCallback = NULL;
- sub_81B12C0(taskId);
+ if (gPartyMenuUseExitCallback == FALSE)
+ sPartyMenuInternal->exitCallback = NULL;
+ Task_ClosePartyMenu(taskId);
}
}
-void sub_81B67C8(u8 taskId, TaskFunc task)
+void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = gSpecialVar_ItemId;
u8 effectType = GetItemEffectType(item);
u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP);
- u16 relevantEV = ItemEffectToMonEv(mon, effectType);
- bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, item, 0);
+ u16 ev = ItemEffectToMonEv(mon, effectType);
+ bool8 cannotUseEffect = ExecuteTableBasedItemEffect_(gPartyMenu.slotId, item, 0);
u16 newFriendship = GetMonData(mon, MON_DATA_FRIENDSHIP);
- u16 newRelevantEV = ItemEffectToMonEv(mon, effectType);
+ u16 newEv = ItemEffectToMonEv(mon, effectType);
- if (cannotUseEffect || (friendship == newFriendship && relevantEV == newRelevantEV))
+ if (cannotUseEffect || (friendship == newFriendship && ev == newEv))
{
- gUnknown_0203CEE8 = 0;
+ gPartyMenuUseExitCallback = FALSE;
PlaySE(SE_SELECT);
- sub_81B1B5C(gText_WontHaveEffect, 1);
+ DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
gTasks[taskId].func = task;
}
else
{
- gUnknown_0203CEE8 = 1;
+ gPartyMenuUseExitCallback = TRUE;
PlaySE(SE_KAIFUKU);
RemoveBagItem(item, 1);
GetMonNickname(mon, gStringVar1);
ItemEffectToStatString(effectType, gStringVar2);
if (friendship != newFriendship)
{
- if (relevantEV != newRelevantEV)
+ if (ev != newEv)
StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2Fell);
else
StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2CantFall);
@@ -5539,7 +4443,7 @@ void sub_81B67C8(u8 taskId, TaskFunc task)
{
StringExpandPlaceholders(gStringVar4, gText_PkmnAdoresBaseVar2Fell);
}
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
gTasks[taskId].func = task;
}
@@ -5592,18 +4496,18 @@ static void ItemEffectToStatString(u8 effectType, u8 *dest)
}
}
-static void sub_81B6A10(u8 slot)
+static void ShowMoveSelectWindow(u8 slot)
{
u8 i;
u8 moveCount = 0;
u8 fontId = 1;
- u8 windowId = sub_81B31B0(3);
+ u8 windowId = DisplaySelectionWindow(SELECTWINDOW_MOVES);
u16 move;
for (i = 0; i < MAX_MON_MOVES; i++)
{
move = GetMonData(&gPlayerParty[slot], MON_DATA_MOVE1 + i);
- AddTextPrinterParameterized(windowId, fontId, gMoveNames[move], 8, (i * 16) + 1, 0xFF, NULL);
+ AddTextPrinterParameterized(windowId, fontId, gMoveNames[move], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
if (move != MOVE_NONE)
moveCount++;
}
@@ -5611,7 +4515,7 @@ static void sub_81B6A10(u8 slot)
schedule_bg_copy_tilemap_to_vram(2);
}
-static void ether_effect_related_3(u8 taskId)
+static void Task_HandleWhichMoveInput(u8 taskId)
{
s8 input = Menu_ProcessInput();
@@ -5620,17 +4524,17 @@ static void ether_effect_related_3(u8 taskId)
if (input == MENU_B_PRESSED)
{
PlaySE(SE_SELECT);
- sub_81B6BB4(taskId);
+ ReturnToUseOnWhichMon(taskId);
}
else
{
- sub_81B302C(&gUnknown_0203CEC4->windowId[1]);
- ether_effect_related_2(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[1]);
+ SetSelectedMoveForPPItem(taskId);
}
}
}
-void dp05_ether(u8 taskId, TaskFunc task)
+void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task)
{
const u8 *effect;
u16 item = gSpecialVar_ItemId;
@@ -5642,76 +4546,76 @@ void dp05_ether(u8 taskId, TaskFunc task)
if (!(effect[4] & ITEM4_HEAL_PP_ONE))
{
- gUnknown_0203CEC8.unkE = 0;
- ether_effect_related(taskId);
+ gPartyMenu.data1 = 0;
+ TryUsePPItem(taskId);
}
else
{
PlaySE(SE_SELECT);
- display_pokemon_menu_message(22);
- sub_81B6A10(gUnknown_0203CEC8.slotId);
- gTasks[taskId].func = ether_effect_related_3;
+ DisplayPartyMenuStdMessage(PARTY_MSG_RESTORE_WHICH_MOVE);
+ ShowMoveSelectWindow(gPartyMenu.slotId);
+ gTasks[taskId].func = Task_HandleWhichMoveInput;
}
}
-static void ether_effect_related_2(u8 taskId)
+static void SetSelectedMoveForPPItem(u8 taskId)
{
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- gUnknown_0203CEC8.unkE = Menu_GetCursorPos();
- ether_effect_related(taskId);
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ gPartyMenu.data1 = Menu_GetCursorPos();
+ TryUsePPItem(taskId);
}
-static void sub_81B6BB4(u8 taskId)
+static void ReturnToUseOnWhichMon(u8 taskId)
{
- gTasks[taskId].func = sub_81B1370;
- gUnknown_0203CEC4->exitCallback = NULL;
- sub_81B302C(&gUnknown_0203CEC4->windowId[0]);
- display_pokemon_menu_message(5);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
+ sPartyMenuInternal->exitCallback = NULL;
+ PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
+ DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON);
}
-static void ether_effect_related(u8 taskId)
+static void TryUsePPItem(u8 taskId)
{
u16 move = MOVE_NONE;
- s16 *moveslot = &gUnknown_0203CEC8.unkE;
+ s16 *moveSlot = &gPartyMenu.data1;
u16 item = gSpecialVar_ItemId;
- struct Struct203CEC8 *ptr = &gUnknown_0203CEC8;
+ struct PartyMenu *ptr = &gPartyMenu;
struct Pokemon *mon;
- if (ExecuteTableBasedItemEffect__(ptr->slotId, item, *moveslot))
+ if (ExecuteTableBasedItemEffect_(ptr->slotId, item, *moveSlot))
{
- gUnknown_0203CEE8 = 0;
+ gPartyMenuUseExitCallback = FALSE;
PlaySE(SE_SELECT);
- sub_81B1B5C(gText_WontHaveEffect, 1);
+ DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B6794;
+ gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
else
{
- gUnknown_0203CEE8 = 1;
+ gPartyMenuUseExitCallback = TRUE;
mon = &gPlayerParty[ptr->slotId];
PlaySE(SE_KAIFUKU);
RemoveBagItem(item, 1);
- move = GetMonData(mon, MON_DATA_MOVE1 + *moveslot);
+ move = GetMonData(mon, MON_DATA_MOVE1 + *moveSlot);
StringCopy(gStringVar1, gMoveNames[move]);
GetMedicineItemEffectMessage(item);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B6794;
+ gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
}
-void dp05_pp_up(u8 taskId, TaskFunc task)
+void ItemUseCB_PPUp(u8 taskId, TaskFunc task)
{
PlaySE(SE_SELECT);
- display_pokemon_menu_message(23);
- sub_81B6A10(gUnknown_0203CEC8.slotId);
- gTasks[taskId].func = ether_effect_related_3;
+ DisplayPartyMenuStdMessage(PARTY_MSG_BOOST_PP_WHICH_MOVE);
+ ShowMoveSelectWindow(gPartyMenu.slotId);
+ gTasks[taskId].func = Task_HandleWhichMoveInput;
}
u16 ItemIdToBattleMoveId(u16 item)
{
u16 tmNumber = item - ITEM_TM01_FOCUS_PUNCH;
- return gTMHMMoves[tmNumber];
+ return sTMHMMoves[tmNumber];
}
bool8 IsMoveHm(u16 move)
@@ -5720,7 +4624,7 @@ bool8 IsMoveHm(u16 move)
for (i = 0; i < NUM_HIDDEN_MACHINES; i++)
{
- if (gTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move)
+ if (sTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move)
return TRUE;
}
return FALSE;
@@ -5738,30 +4642,30 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
return FALSE;
}
-static void sub_81B6D74(const u8 *str)
+static void DisplayLearnMoveMessage(const u8 *str)
{
StringExpandPlaceholders(gStringVar4, str);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
}
-static void sub_81B6D98(u8 taskId, const u8 *str)
+static void DisplayLearnMoveMessageAndClose(u8 taskId, const u8 *str)
{
- sub_81B6D74(str);
- gTasks[taskId].func = sub_81B6794;
+ DisplayLearnMoveMessage(str);
+ gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
// move[1] doesn't use constants cause I don't know if it's actually a move ID storage
-void sub_81B6DC4(u8 taskId, TaskFunc task)
+void ItemUseCB_TMHM(u8 taskId, TaskFunc task)
{
struct Pokemon *mon;
s16 *move;
u16 item;
PlaySE(SE_SELECT);
- mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
- move = &gUnknown_0203CEC8.unkE;
+ mon = &gPlayerParty[gPartyMenu.slotId];
+ move = &gPartyMenu.data1;
item = gSpecialVar_ItemId;
GetMonNickname(mon, gStringVar1);
move[0] = ItemIdToBattleMoveId(item);
@@ -5771,28 +4675,28 @@ void sub_81B6DC4(u8 taskId, TaskFunc task)
switch (CanMonLearnTMTutor(mon, item, 0))
{
case CANNOT_LEARN_MOVE:
- sub_81B6D98(taskId, gText_PkmnCantLearnMove);
+ DisplayLearnMoveMessageAndClose(taskId, gText_PkmnCantLearnMove);
return;
case ALREADY_KNOWS_MOVE:
- sub_81B6D98(taskId, gText_PkmnAlreadyKnows);
+ DisplayLearnMoveMessageAndClose(taskId, gText_PkmnAlreadyKnows);
return;
}
- if (GiveMoveToMon(mon, move[0]) != 0xFFFF)
+ if (GiveMoveToMon(mon, move[0]) != MON_HAS_MAX_MOVES)
{
- gTasks[taskId].func = sub_81B6EB4;
+ gTasks[taskId].func = Task_LearnedMove;
}
else
{
- sub_81B6D74(gText_PkmnNeedsToReplaceMove);
- gTasks[taskId].func = sub_81B6FF4;
+ DisplayLearnMoveMessage(gText_PkmnNeedsToReplaceMove);
+ gTasks[taskId].func = Task_ReplaceMoveYesNo;
}
}
-static void sub_81B6EB4(u8 taskId)
+static void Task_LearnedMove(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
- s16 *move = &gUnknown_0203CEC8.unkE;
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
+ s16 *move = &gPartyMenu.data1;
u16 item = gSpecialVar_ItemId;
if (move[1] == 0)
@@ -5804,186 +4708,188 @@ static void sub_81B6EB4(u8 taskId)
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[move[0]]);
StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B6F60;
+ gTasks[taskId].func = Task_DoLearnedMoveFanfareAfterText;
}
-static void sub_81B6F60(u8 taskId)
+static void Task_DoLearnedMoveFanfareAfterText(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
PlayFanfare(MUS_FANFA1);
- gTasks[taskId].func = sub_81B6F98;
+ gTasks[taskId].func = Task_LearnNextMoveOrClosePartyMenu;
}
}
-static void sub_81B6F98(u8 taskId)
+static void Task_LearnNextMoveOrClosePartyMenu(u8 taskId)
{
if (IsFanfareTaskInactive() && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
{
- if (gUnknown_0203CEC8.unk10 == 1)
- sub_81B77AC(taskId);
+ if (gPartyMenu.learnMoveState == 1)
+ Task_TryLearningNextMove(taskId);
else
{
- if (gUnknown_0203CEC8.unk10 == 2)
+ if (gPartyMenu.learnMoveState == 2) // never occurs
gSpecialVar_Result = TRUE;
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
}
}
}
-static void sub_81B6FF4(u8 taskId)
+static void Task_ReplaceMoveYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B7028;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleReplaceMoveYesNoInput;
}
}
-static void sub_81B7028(u8 taskId)
+static void Task_HandleReplaceMoveYesNoInput(u8 taskId)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
- sub_81B1B5C(gText_WhichMoveToForget, 1);
- gTasks[taskId].func = sub_81B7088;
+ DisplayPartyMenuMessage(gText_WhichMoveToForget, TRUE);
+ gTasks[taskId].func = Task_ShowSummaryScreenToForgetMove;
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
- sub_81B7230(taskId);
+ StopLearningMovePrompt(taskId);
break;
}
}
-static void sub_81B7088(u8 taskId)
+static void Task_ShowSummaryScreenToForgetMove(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- gUnknown_0203CEC4->exitCallback = sub_81B70B8;
- sub_81B12C0(taskId);
+ sPartyMenuInternal->exitCallback = CB2_ShowSummaryScreenToForgetMove;
+ Task_ClosePartyMenu(taskId);
}
}
-static void sub_81B70B8(void)
+static void CB2_ShowSummaryScreenToForgetMove(void)
{
- ShowSelectMovePokemonSummaryScreen(gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B70F0, gUnknown_0203CEC8.unkE);
+ ShowSelectMovePokemonSummaryScreen(gPlayerParty, gPartyMenu.slotId, gPlayerPartyCount - 1, CB2_ReturnToPartyMenuWhileLearningMove, gPartyMenu.data1);
}
-static void sub_81B70F0(void)
+static void CB2_ReturnToPartyMenuWhileLearningMove(void)
{
- InitPartyMenu(0, 0, 0, 1, 0x7F, sub_81B711C, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, TRUE, PARTY_MSG_NONE, Task_ReturnToPartyMenuWhileLearningMove, gPartyMenu.exitCallback);
}
-static void sub_81B711C(u8 taskId)
+static void Task_ReturnToPartyMenuWhileLearningMove(u8 taskId)
{
if (!gPaletteFade.active)
{
- if (sub_81C1B94() != 4)
- sub_81B7154(taskId);
+ if (GetMoveSlotToReplace() != MAX_MON_MOVES)
+ DisplayPartyMenuForgotMoveMessage(taskId);
else
- sub_81B7230(taskId);
+ StopLearningMovePrompt(taskId);
}
}
-static void sub_81B7154(u8 taskId)
+static void DisplayPartyMenuForgotMoveMessage(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
- u16 move = GetMonData(mon, MON_DATA_MOVE1 + sub_81C1B94());
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
+ u16 move = GetMonData(mon, MON_DATA_MOVE1 + GetMoveSlotToReplace());
GetMonNickname(mon, gStringVar1);
StringCopy(gStringVar2, gMoveNames[move]);
- sub_81B6D74(gText_12PoofForgotMove);
- gTasks[taskId].func = sub_81B71D4;
+ DisplayLearnMoveMessage(gText_12PoofForgotMove);
+ gTasks[taskId].func = Task_PartyMenuReplaceMove;
}
-static void sub_81B71D4(u8 taskId)
+static void Task_PartyMenuReplaceMove(u8 taskId)
{
struct Pokemon *mon;
u16 move;
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
- RemoveMonPPBonus(mon, sub_81C1B94());
- move = gUnknown_0203CEC8.unkE;
- SetMonMoveSlot(mon, move, sub_81C1B94());
- sub_81B6EB4(taskId);
+ mon = &gPlayerParty[gPartyMenu.slotId];
+ RemoveMonPPBonus(mon, GetMoveSlotToReplace());
+ move = gPartyMenu.data1;
+ SetMonMoveSlot(mon, move, GetMoveSlotToReplace());
+ Task_LearnedMove(taskId);
}
}
-static void sub_81B7230(u8 taskId)
+static void StopLearningMovePrompt(u8 taskId)
{
- StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
+ StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]);
StringExpandPlaceholders(gStringVar4, gText_StopLearningMove2);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B7294;
+ gTasks[taskId].func = Task_StopLearningMoveYesNo;
}
-static void sub_81B7294(u8 taskId)
+static void Task_StopLearningMoveYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B72C8;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleStopLearningMoveYesNoInput;
}
}
-static void sub_81B72C8(u8 taskId)
+static void Task_HandleStopLearningMoveYesNoInput(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
GetMonNickname(mon, gStringVar1);
- StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
+ StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]);
StringExpandPlaceholders(gStringVar4, gText_MoveNotLearned);
- sub_81B1B5C(gStringVar4, 1);
- if (gUnknown_0203CEC8.unk10 == 1)
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
+ if (gPartyMenu.learnMoveState == 1)
{
- gTasks[taskId].func = sub_81B73E4;
+ gTasks[taskId].func = Task_TryLearningNextMoveAfterText;
}
else
{
- if (gUnknown_0203CEC8.unk10 == 2)
+ if (gPartyMenu.learnMoveState == 2) // never occurs
gSpecialVar_Result = FALSE;
- gTasks[taskId].func = sub_81B6794;
+ gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
+ // fallthrough
case 1:
GetMonNickname(mon, gStringVar1);
- StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
- sub_81B6D74(gText_PkmnNeedsToReplaceMove);
- gTasks[taskId].func = sub_81B6FF4;
+ StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]);
+ DisplayLearnMoveMessage(gText_PkmnNeedsToReplaceMove);
+ gTasks[taskId].func = Task_ReplaceMoveYesNo;
break;
}
}
-static void sub_81B73E4(u8 taskId)
+static void Task_TryLearningNextMoveAfterText(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
- sub_81B77AC(taskId);
+ if (IsPartyMenuTextPrinterActive() != TRUE)
+ Task_TryLearningNextMove(taskId);
}
-void dp05_rare_candy(u8 taskId, TaskFunc task)
+void ItemUseCB_RareCandy(u8 taskId, TaskFunc task)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
- struct Struct203CEC4 *ptr = gUnknown_0203CEC4;
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
+ struct PartyMenuInternal *ptr = sPartyMenuInternal;
s16 *arrayPtr = ptr->data;
u16 *itemPtr = &gSpecialVar_ItemId;
bool8 cannotUseEffect;
if (GetMonData(mon, MON_DATA_LEVEL) != MAX_LEVEL)
{
- sub_81B79A0(mon, arrayPtr);
- cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, *itemPtr, 0);
- sub_81B79A0(mon, &ptr->data[6]);
+ BufferMonStatsToTaskData(mon, arrayPtr);
+ cannotUseEffect = ExecuteTableBasedItemEffect_(gPartyMenu.slotId, *itemPtr, 0);
+ BufferMonStatsToTaskData(mon, &ptr->data[NUM_STATS]);
}
else
{
@@ -5992,166 +4898,166 @@ void dp05_rare_candy(u8 taskId, TaskFunc task)
PlaySE(SE_SELECT);
if (cannotUseEffect)
{
- gUnknown_0203CEE8 = 0;
- sub_81B1B5C(gText_WontHaveEffect, 1);
+ gPartyMenuUseExitCallback = FALSE;
+ DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
gTasks[taskId].func = task;
}
else
{
- gUnknown_0203CEE8 = 1;
+ gPartyMenuUseExitCallback = TRUE;
PlayFanfareByFanfareNum(0);
- sub_81B754C(gUnknown_0203CEC8.slotId, mon);
+ UpdateMonDisplayInfoAfterRareCandy(gPartyMenu.slotId, mon);
RemoveBagItem(gSpecialVar_ItemId, 1);
GetMonNickname(mon, gStringVar1);
- ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), 0, 3);
+ ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), STR_CONV_MODE_LEFT_ALIGN, 3);
StringExpandPlaceholders(gStringVar4, gText_PkmnElevatedToLvVar2);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B75D4;
+ gTasks[taskId].func = Task_DisplayLevelUpStatsPg1;
}
}
-static void sub_81B754C(u8 slot, struct Pokemon *mon)
+static void UpdateMonDisplayInfoAfterRareCandy(u8 slot, struct Pokemon *mon)
{
- party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[slot]);
- if (gSprites[gUnknown_0203CEDC[slot].statusSpriteId].invisible)
- DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 1);
- DisplayPartyPokemonHPCheck(mon, &gUnknown_0203CEDC[slot], 1);
- DisplayPartyPokemonMaxHPCheck(mon, &gUnknown_0203CEDC[slot], 1);
- DisplayPartyPokemonHPBarCheck(mon, &gUnknown_0203CEDC[slot]);
- sub_81B5B38(gUnknown_0203CEDC[slot].monSpriteId, mon);
- sub_81B0FCC(slot, 1);
+ SetPartyMonAilmentGfx(mon, &sPartyMenuBoxes[slot]);
+ if (gSprites[sPartyMenuBoxes[slot].statusSpriteId].invisible)
+ DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[slot], 1);
+ DisplayPartyPokemonHPCheck(mon, &sPartyMenuBoxes[slot], 1);
+ DisplayPartyPokemonMaxHPCheck(mon, &sPartyMenuBoxes[slot], 1);
+ DisplayPartyPokemonHPBarCheck(mon, &sPartyMenuBoxes[slot]);
+ UpdatePartyMonHPBar(sPartyMenuBoxes[slot].monSpriteId, mon);
+ AnimatePartySlot(slot, 1);
schedule_bg_copy_tilemap_to_vram(0);
}
-static void sub_81B75D4(u8 taskId)
+static void Task_DisplayLevelUpStatsPg1(u8 taskId)
{
- if (WaitFanfare(FALSE) && sub_81B1BD4() != TRUE && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
+ if (WaitFanfare(FALSE) && IsPartyMenuTextPrinterActive() != TRUE && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
{
PlaySE(SE_SELECT);
- sub_81B767C(taskId);
- gTasks[taskId].func = sub_81B7634;
+ DisplayLevelUpStatsPg1(taskId);
+ gTasks[taskId].func = Task_DisplayLevelUpStatsPg2;
}
}
-static void sub_81B7634(u8 taskId)
+static void Task_DisplayLevelUpStatsPg2(u8 taskId)
{
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
{
PlaySE(SE_SELECT);
- sub_81B76C8(taskId);
- gTasks[taskId].func = sub_81B7704;
+ DisplayLevelUpStatsPg2(taskId);
+ gTasks[taskId].func = Task_TryLearnNewMoves;
}
}
-static void sub_81B767C(u8 taskId)
+static void DisplayLevelUpStatsPg1(u8 taskId)
{
- s16 *arrayPtr = gUnknown_0203CEC4->data;
+ s16 *arrayPtr = sPartyMenuInternal->data;
- arrayPtr[12] = sub_81B3364();
- DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3);
+ arrayPtr[12] = CreateLevelUpStatsWindow();
+ DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
CopyWindowToVram(arrayPtr[12], 2);
schedule_bg_copy_tilemap_to_vram(2);
}
-static void sub_81B76C8(u8 taskId)
+static void DisplayLevelUpStatsPg2(u8 taskId)
{
- s16 *arrayPtr = gUnknown_0203CEC4->data;
+ s16 *arrayPtr = sPartyMenuInternal->data;
- DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], 1, 2, 3);
+ DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
CopyWindowToVram(arrayPtr[12], 2);
schedule_bg_copy_tilemap_to_vram(2);
}
-static void sub_81B7704(u8 taskId)
+static void Task_TryLearnNewMoves(u8 taskId)
{
- u16 result;
+ u16 learnMove;
if (WaitFanfare(0) && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
{
- sub_81B3394();
- result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.slotId], 1);
- gUnknown_0203CEC8.unk10 = 1;
- switch (result)
+ RemoveLevelUpStatsWindow();
+ learnMove = MonTryLearningNewMove(&gPlayerParty[gPartyMenu.slotId], TRUE);
+ gPartyMenu.learnMoveState = 1;
+ switch (learnMove)
{
- case 0:
- sub_81B7810(taskId);
+ case 0: // No moves to learn
+ PartyMenuTryEvolution(taskId);
break;
- case 0xFFFF:
- sub_81B787C(taskId);
+ case MON_HAS_MAX_MOVES:
+ DisplayMonNeedsToReplaceMove(taskId);
break;
- case 0xFFFE:
- gTasks[taskId].func = sub_81B77AC;
+ case MON_ALREADY_KNOWS_MOVE:
+ gTasks[taskId].func = Task_TryLearningNextMove;
break;
default:
- sub_81B7910(taskId, result);
+ DisplayMonLearnedMove(taskId, learnMove);
break;
}
}
}
-static void sub_81B77AC(u8 taskId)
+static void Task_TryLearningNextMove(u8 taskId)
{
- u16 result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.slotId], 0);
+ u16 result = MonTryLearningNewMove(&gPlayerParty[gPartyMenu.slotId], FALSE);
switch (result)
{
- case 0:
- sub_81B7810(taskId);
+ case 0: // No moves to learn
+ PartyMenuTryEvolution(taskId);
break;
- case 0xFFFF:
- sub_81B787C(taskId);
+ case MON_HAS_MAX_MOVES:
+ DisplayMonNeedsToReplaceMove(taskId);
break;
- case 0xFFFE:
+ case MON_ALREADY_KNOWS_MOVE:
return;
default:
- sub_81B7910(taskId, result);
+ DisplayMonLearnedMove(taskId, result);
break;
}
}
-static void sub_81B7810(u8 taskId)
+static void PartyMenuTryEvolution(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 targetSpecies = GetEvolutionTargetSpecies(mon, 0, 0);
if (targetSpecies != SPECIES_NONE)
{
FreePartyPointers();
- gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback;
- BeginEvolutionScene(mon, targetSpecies, 1, gUnknown_0203CEC8.slotId);
+ gCB2_AfterEvolution = gPartyMenu.exitCallback;
+ BeginEvolutionScene(mon, targetSpecies, 1, gPartyMenu.slotId);
DestroyTask(taskId);
}
else
{
- gTasks[taskId].func = sub_81B6794;
+ gTasks[taskId].func = Task_ClosePartyMenuAfterText;
}
}
-static void sub_81B787C(u8 taskId)
+static void DisplayMonNeedsToReplaceMove(u8 taskId)
{
- GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1);
+ GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringCopy(gStringVar2, gMoveNames[gMoveToLearn]);
StringExpandPlaceholders(gStringVar4, gText_PkmnNeedsToReplaceMove);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gUnknown_0203CEC8.unkE = gMoveToLearn;
- gTasks[taskId].func = sub_81B6FF4;
+ gPartyMenu.data1 = gMoveToLearn;
+ gTasks[taskId].func = Task_ReplaceMoveYesNo;
}
-static void sub_81B7910(u8 taskId, u16 move)
+static void DisplayMonLearnedMove(u8 taskId, u16 move)
{
- GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1);
+ GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringCopy(gStringVar2, gMoveNames[move]);
StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3);
- sub_81B1B5C(gStringVar4, 1);
+ DisplayPartyMenuMessage(gStringVar4, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gUnknown_0203CEC8.unkE = move;
- gTasks[taskId].func = sub_81B6F60;
+ gPartyMenu.data1 = move;
+ gTasks[taskId].func = Task_DoLearnedMoveFanfareAfterText;
}
-static void sub_81B79A0(struct Pokemon *mon, s16 *data)
+static void BufferMonStatsToTaskData(struct Pokemon *mon, s16 *data)
{
data[0] = GetMonData(mon, MON_DATA_MAX_HP);
data[1] = GetMonData(mon, MON_DATA_ATK);
@@ -6161,93 +5067,101 @@ static void sub_81B79A0(struct Pokemon *mon, s16 *data)
data[3] = GetMonData(mon, MON_DATA_SPEED);
}
-void sub_81B79E8(u8 taskId, TaskFunc task)
+#define tUsedOnSlot data[0]
+#define tHadEffect data[1]
+#define tLastSlotUsed data[2]
+
+void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task)
{
- gUnknown_0203CEC4->data[0] = 0;
- gUnknown_0203CEC4->data[1] = 0;
- gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.slotId;
- sub_81B7A28(taskId);
+ sPartyMenuInternal->tUsedOnSlot = FALSE;
+ sPartyMenuInternal->tHadEffect = FALSE;
+ sPartyMenuInternal->tLastSlotUsed = gPartyMenu.slotId;
+ UseSacredAsh(taskId);
}
-static void sub_81B7A28(u8 taskId)
+static void UseSacredAsh(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 hp;
if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE)
{
- gTasks[taskId].func = task_sacred_ash_party_loop;
+ gTasks[taskId].func = Task_SacredAshLoop;
return;
}
hp = GetMonData(mon, MON_DATA_HP);
- if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, gSpecialVar_ItemId, 0))
+ if (ExecuteTableBasedItemEffect_(gPartyMenu.slotId, gSpecialVar_ItemId, 0))
{
- gTasks[taskId].func = task_sacred_ash_party_loop;
+ gTasks[taskId].func = Task_SacredAshLoop;
return;
}
PlaySE(SE_KAIFUKU);
- party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]);
- if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].statusSpriteId].invisible)
- DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1);
- sub_81B0FCC(gUnknown_0203CEC4->data[2], 0);
- sub_81B0FCC(gUnknown_0203CEC8.slotId, 1);
- sub_81B1F18(taskId, gUnknown_0203CEC8.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B7C10);
- sub_81B1FA8(taskId, 0, hp);
- gUnknown_0203CEC4->data[0] = 1;
- gUnknown_0203CEC4->data[1] = 1;
+ SetPartyMonAilmentGfx(mon, &sPartyMenuBoxes[gPartyMenu.slotId]);
+ if (gSprites[sPartyMenuBoxes[gPartyMenu.slotId].statusSpriteId].invisible)
+ DisplayPartyPokemonLevelCheck(mon, &sPartyMenuBoxes[gPartyMenu.slotId], 1);
+ AnimatePartySlot(sPartyMenuInternal->tLastSlotUsed, 0);
+ AnimatePartySlot(gPartyMenu.slotId, 1);
+ PartyMenuModifyHP(taskId, gPartyMenu.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, Task_SacredAshDisplayHPRestored);
+ ResetHPTaskData(taskId, 0, hp);
+ sPartyMenuInternal->tUsedOnSlot = TRUE;
+ sPartyMenuInternal->tHadEffect = TRUE;
}
-static void task_sacred_ash_party_loop(u8 taskId)
+static void Task_SacredAshLoop(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- if (gUnknown_0203CEC4->data[0] == 1)
+ if (sPartyMenuInternal->tUsedOnSlot == TRUE)
{
- gUnknown_0203CEC4->data[0] = 0;
- gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.slotId;
+ sPartyMenuInternal->tUsedOnSlot = FALSE;
+ sPartyMenuInternal->tLastSlotUsed = gPartyMenu.slotId;
}
- if (++(gUnknown_0203CEC8.slotId) == PARTY_SIZE)
+ if (++(gPartyMenu.slotId) == PARTY_SIZE)
{
- if (gUnknown_0203CEC4->data[1] == 0)
+ if (sPartyMenuInternal->tHadEffect == FALSE)
{
- gUnknown_0203CEE8 = 0;
- sub_81B1B5C(gText_WontHaveEffect, 1);
+ gPartyMenuUseExitCallback = FALSE;
+ DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
}
else
{
- gUnknown_0203CEE8 = 1;
+ gPartyMenuUseExitCallback = TRUE;
RemoveBagItem(gSpecialVar_ItemId, 1);
}
- gTasks[taskId].func = sub_81B6794;
- gUnknown_0203CEC8.slotId = 0;
+ gTasks[taskId].func = Task_ClosePartyMenuAfterText;
+ gPartyMenu.slotId = 0;
}
else
{
- sub_81B7A28(taskId);
+ UseSacredAsh(taskId);
}
}
}
-static void sub_81B7C10(u8 taskId)
+static void Task_SacredAshDisplayHPRestored(u8 taskId)
{
- GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1);
+ GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
- sub_81B1B5C(gStringVar4, 0);
+ DisplayPartyMenuMessage(gStringVar4, FALSE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = task_sacred_ash_party_loop;
+ gTasks[taskId].func = Task_SacredAshLoop;
}
-void sub_81B7C74(u8 taskId, TaskFunc task)
+#undef tUsedOnSlot
+#undef tHadEffect
+#undef tLastSlotUsed
+
+void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task)
{
PlaySE(SE_SELECT);
- gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback;
- if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, gSpecialVar_ItemId, 0))
+ gCB2_AfterEvolution = gPartyMenu.exitCallback;
+ if (ExecuteTableBasedItemEffect_(gPartyMenu.slotId, gSpecialVar_ItemId, 0))
{
- gUnknown_0203CEE8 = 0;
- sub_81B1B5C(gText_WontHaveEffect, 1);
+ gPartyMenuUseExitCallback = FALSE;
+ DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
gTasks[taskId].func = task;
}
@@ -6272,7 +5186,7 @@ u8 GetItemEffectType(u16 item)
else
itemEffect = gItemEffectTable[item - ITEM_POTION];
- if ((itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_MIST))
+ if ((itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_GUARD_SPEC))
return ITEM_EFFECT_X_ITEM;
else if (itemEffect[0] & ITEM0_SACRED_ASH)
return ITEM_EFFECT_SACRED_ASH;
@@ -6326,264 +5240,271 @@ u8 GetItemEffectType(u16 item)
return ITEM_EFFECT_NONE;
}
-static void sub_81B7E4C(u8 taskId)
+static void TryTutorSelectedMon(u8 taskId)
{
struct Pokemon *mon;
s16 *move;
if (!gPaletteFade.active)
{
- mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
- move = &gUnknown_0203CEC8.unkE;
+ mon = &gPlayerParty[gPartyMenu.slotId];
+ move = &gPartyMenu.data1;
GetMonNickname(mon, gStringVar1);
- gUnknown_0203CEC8.unkE = GetTutorMove(gSpecialVar_0x8005);
- StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
+ gPartyMenu.data1 = GetTutorMove(gSpecialVar_0x8005);
+ StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]);
move[1] = 2;
switch (CanMonLearnTMTutor(mon, 0, gSpecialVar_0x8005))
{
case CANNOT_LEARN_MOVE:
- sub_81B6D98(taskId, gText_PkmnCantLearnMove);
+ DisplayLearnMoveMessageAndClose(taskId, gText_PkmnCantLearnMove);
return;
case ALREADY_KNOWS_MOVE:
- sub_81B6D98(taskId, gText_PkmnAlreadyKnows);
+ DisplayLearnMoveMessageAndClose(taskId, gText_PkmnAlreadyKnows);
return;
default:
- if (GiveMoveToMon(mon, gUnknown_0203CEC8.unkE) != 0xFFFF)
+ if (GiveMoveToMon(mon, gPartyMenu.data1) != MON_HAS_MAX_MOVES)
{
- sub_81B6EB4(taskId);
+ Task_LearnedMove(taskId);
return;
}
break;
}
- sub_81B6D74(gText_PkmnNeedsToReplaceMove);
- gTasks[taskId].func = sub_81B6FF4;
+ DisplayLearnMoveMessage(gText_PkmnNeedsToReplaceMove);
+ gTasks[taskId].func = Task_ReplaceMoveYesNo;
}
}
void CB2_PartyMenuFromStartMenu(void)
{
- InitPartyMenu(0, 0, 0, 0, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu);
+ InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToFieldWithOpenMenu);
}
-void sub_81B7F60(void)
+// Giving an item by selecting Give from the bag menu
+// As opposted to by selecting Give in the party menu, which is handled by CursorCb_Give
+void CB2_ChooseMonToGiveItem(void)
{
- MainCallback callback = (InBattlePyramid() == FALSE) ? c2_815ABFC : sub_81C4F84;
- InitPartyMenu(0, 0, 5, 0, 6, sub_81B1370, callback);
- gUnknown_0203CEC8.unkC = gSpecialVar_ItemId;
+ MainCallback callback = (InBattlePyramid() == FALSE) ? CB2_ReturnToBagMenu : CB2_ReturnToPyramidBagMenu;
+ InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_GIVE_ITEM, FALSE, PARTY_MSG_GIVE_TO_WHICH_MON, Task_HandleChooseMonInput, callback);
+ gPartyMenu.bagItem = gSpecialVar_ItemId;
}
-static void sub_81B7FAC(u8 taskId)
+static void TryGiveItemOrMailToSelectedMon(u8 taskId)
{
- gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM);
- if (gUnknown_0203CEFC == ITEM_NONE)
+ sPartyMenuItemId = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_HELD_ITEM);
+ if (sPartyMenuItemId == ITEM_NONE)
{
- sub_81B8044(taskId);
+ GiveItemOrMailToSelectedMon(taskId);
}
- else if (ItemIsMail(gUnknown_0203CEFC))
+ else if (ItemIsMail(sPartyMenuItemId))
{
- sub_81B83B8(taskId);
+ DisplayItemMustBeRemovedFirstMessage(taskId);
}
else
{
- sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEFC, 1);
- gTasks[taskId].func = sub_81B82A0;
+ DisplayAlreadyHoldingItemSwitchMessage(&gPlayerParty[gPartyMenu.slotId], sPartyMenuItemId, TRUE);
+ gTasks[taskId].func = Task_SwitchItemsFromBagYesNo;
}
}
-static void sub_81B8044(u8 taskId)
+static void GiveItemOrMailToSelectedMon(u8 taskId)
{
- if (ItemIsMail(gUnknown_0203CEC8.unkC))
+ if (ItemIsMail(gPartyMenu.bagItem))
{
- sub_81B83F0(gUnknown_0203CEC8.unkC);
- gUnknown_0203CEC4->exitCallback = sub_81B814C;
- sub_81B12C0(taskId);
+ RemoveItemToGiveFromBag(gPartyMenu.bagItem);
+ sPartyMenuInternal->exitCallback = CB2_WriteMailToGiveMonFromBag;
+ Task_ClosePartyMenu(taskId);
}
else
{
- sub_81B8088(taskId);
+ GiveItemToSelectedMon(taskId);
}
}
-static void sub_81B8088(u8 taskId)
+static void GiveItemToSelectedMon(u8 taskId)
{
u16 item;
if (!gPaletteFade.active)
{
- item = gUnknown_0203CEC8.unkC;
- sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], item, 0, 1);
- sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item);
- sub_81B83F0(item);
- gTasks[taskId].func = sub_81B8104;
+ item = gPartyMenu.bagItem;
+ DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], item, FALSE, 1);
+ GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item);
+ RemoveItemToGiveFromBag(item);
+ gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
}
-static void sub_81B8104(u8 taskId)
+static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId)
{
- s8 slot = gUnknown_0203CEC8.slotId;
+ s8 slot = gPartyMenu.slotId;
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B5C94(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]);
- sub_81B12C0(taskId);
+ UpdatePartyMonHeldItemSprite(&gPlayerParty[slot], &sPartyMenuBoxes[slot]);
+ Task_ClosePartyMenu(taskId);
}
}
-static void sub_81B814C(void)
+static void CB2_WriteMailToGiveMonFromBag(void)
{
u8 mail;
- sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEC8.unkC);
- mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL);
+ GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], gPartyMenu.bagItem);
+ mail = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAIL);
DoEasyChatScreen(
- EASY_CHAT_TYPE_MAIL,
- gSaveBlock1Ptr->mail[mail].words,
- sub_81B81A8,
- EASY_CHAT_PERSON_DISPLAY_NONE);
+ EASY_CHAT_TYPE_MAIL,
+ gSaveBlock1Ptr->mail[mail].words,
+ CB2_ReturnToPartyOrBagMenuFromWritingMail,
+ EASY_CHAT_PERSON_DISPLAY_NONE);
}
-static void sub_81B81A8(void)
+static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
+ // Canceled writing mail
if (gSpecialVar_Result == FALSE)
{
TakeMailFromMon(mon);
- SetMonData(mon, MON_DATA_HELD_ITEM, &gUnknown_0203CEFC);
- RemoveBagItem(gUnknown_0203CEFC, 1);
- sub_81B841C(item);
- SetMainCallback2(gUnknown_0203CEC8.exitCallback);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &sPartyMenuItemId);
+ RemoveBagItem(sPartyMenuItemId, 1);
+ ReturnGiveItemToBagOrPC(item);
+ SetMainCallback2(gPartyMenu.exitCallback);
}
+ // Wrote mail
else
{
- InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B8230, gUnknown_0203CEC8.exitCallback);
+ InitPartyMenu(gPartyMenu.menuType, KEEP_PARTY_LAYOUT, gPartyMenu.action, TRUE, PARTY_MSG_NONE, Task_DisplayGaveMailFromBagMessage, gPartyMenu.exitCallback);
}
}
-static void sub_81B8230(u8 taskId)
+static void Task_DisplayGaveMailFromBagMessage(u8 taskId)
{
if (!gPaletteFade.active)
{
- if (gUnknown_0203CEFC != ITEM_NONE)
- sub_81B1D68(gUnknown_0203CEC8.unkC, gUnknown_0203CEFC, 0);
+ if (sPartyMenuItemId != ITEM_NONE)
+ DisplaySwitchedHeldItemMessage(gPartyMenu.bagItem, sPartyMenuItemId, FALSE);
else
- sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEC8.unkC, 0, 1);
- gTasks[taskId].func = sub_81B8104;
+ DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], gPartyMenu.bagItem, FALSE, 1);
+ gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
}
-static void sub_81B82A0(u8 taskId)
+static void Task_SwitchItemsFromBagYesNo(u8 taskId)
{
- if (sub_81B1BD4() != TRUE)
+ if (IsPartyMenuTextPrinterActive() != TRUE)
{
- sub_81B334C();
- gTasks[taskId].func = sub_81B82D4;
+ PartyMenuDisplayYesNoMenu();
+ gTasks[taskId].func = Task_HandleSwitchItemsFromBagYesNoInput;
}
}
-static void sub_81B82D4(u8 taskId)
+static void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId)
{
u16 item;
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
- item = gUnknown_0203CEC8.unkC;
- sub_81B83F0(item);
- if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE)
+ case 0: // Yes, switch items
+ item = gPartyMenu.bagItem;
+ RemoveItemToGiveFromBag(item);
+ if (AddBagItem(sPartyMenuItemId, 1) == FALSE)
{
- sub_81B841C(item);
- pokemon_item_not_removed(gUnknown_0203CEFC);
- sub_81B1B5C(gStringVar4, 0);
- gTasks[taskId].func = sub_81B8104;
+ ReturnGiveItemToBagOrPC(item);
+ BufferBagFullCantTakeItemMessage(sPartyMenuItemId);
+ DisplayPartyMenuMessage(gStringVar4, FALSE);
+ gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
else if (ItemIsMail(item))
{
- gUnknown_0203CEC4->exitCallback = sub_81B814C;
- sub_81B12C0(taskId);
+ sPartyMenuInternal->exitCallback = CB2_WriteMailToGiveMonFromBag;
+ Task_ClosePartyMenu(taskId);
}
else
{
- sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item);
- sub_81B1D68(item, gUnknown_0203CEFC, 1);
- gTasks[taskId].func = sub_81B8104;
+ GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item);
+ DisplaySwitchedHeldItemMessage(item, sPartyMenuItemId, TRUE);
+ gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
break;
case MENU_B_PRESSED:
PlaySE(SE_SELECT);
- case 1:
- gTasks[taskId].func = sub_81B8104;
+ // fallthrough
+ case 1: // No, dont switch items
+ gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
break;
}
}
-static void sub_81B83B8(u8 taskId)
+static void DisplayItemMustBeRemovedFirstMessage(u8 taskId)
{
- sub_81B1B5C(gText_RemoveMailBeforeItem, 1);
+ DisplayPartyMenuMessage(gText_RemoveMailBeforeItem, TRUE);
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B8104;
+ gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
-static void sub_81B83F0(u16 item)
+static void RemoveItemToGiveFromBag(u16 item)
{
- if (gUnknown_0203CEC8.unkB == 6)
+ if (gPartyMenu.action == PARTY_ACTION_GIVE_PC_ITEM) // Unused, never occurs
RemovePCItem(item, 1);
else
RemoveBagItem(item, 1);
}
-static bool8 sub_81B841C(u16 item)
+// Returns FALSE if there was no space to return the item
+// but there always should be, and the return is ignored in all uses
+static bool8 ReturnGiveItemToBagOrPC(u16 item)
{
- if (gUnknown_0203CEC8.unkB == 5)
+ if (gPartyMenu.action == PARTY_ACTION_GIVE_ITEM)
return AddBagItem(item, 1);
else
return AddPCItem(item, 1);
}
-void sub_81B8448(void)
+void ChooseMonToGiveMailFromMailbox(void)
{
- InitPartyMenu(0, 0, 7, 0, 6, sub_81B1370, Mailbox_ReturnToMailListAfterDeposit);
+ InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_GIVE_MAILBOX_MAIL, FALSE, PARTY_MSG_GIVE_TO_WHICH_MON, Task_HandleChooseMonInput, Mailbox_ReturnToMailListAfterDeposit);
}
-static void sub_81B8474(u8 taskId)
+static void TryGiveMailToSelectedMon(u8 taskId)
{
- struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId];
+ struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
struct MailStruct *mail;
- gUnknown_0203CEE8 = 0;
+ gPartyMenuUseExitCallback = FALSE;
mail = &gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos];
if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)
{
- sub_81B1B5C(gText_PkmnHoldingItemCantHoldMail, 1);
+ DisplayPartyMenuMessage(gText_PkmnHoldingItemCantHoldMail, TRUE);
}
else
{
GiveMailToMon2(mon, mail);
ClearMailStruct(mail);
- sub_81B1B5C(gText_MailTransferredFromMailbox, 1);
+ DisplayPartyMenuMessage(gText_MailTransferredFromMailbox, TRUE);
}
schedule_bg_copy_tilemap_to_vram(2);
- gTasks[taskId].func = sub_81B8104;
+ gTasks[taskId].func = Task_UpdateHeldItemSpriteAndClosePartyMenu;
}
void InitChooseHalfPartyForBattle(u8 unused)
{
- sub_81B8558();
- InitPartyMenu(4, 0, 0, 0, 0, sub_81B1370, gMain.savedCallback);
- gUnknown_0203CEC8.unk4 = sub_81B879C;
+ ClearSelectedPartyOrder();
+ InitPartyMenu(PARTY_MENU_TYPE_CHOOSE_HALF, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, gMain.savedCallback);
+ gPartyMenu.task = Task_ValidateChosenHalfParty;
}
-void sub_81B8558(void)
+void ClearSelectedPartyOrder(void)
{
memset(gSelectedOrderFromParty, 0, sizeof(gSelectedOrderFromParty));
}
-static u8 sub_81B856C(s8 slot)
+static u8 GetPartySlotEntryStatus(s8 slot)
{
if (GetBattleEntryEligibility(&gPlayerParty[slot]) == FALSE)
return 2;
- if (sub_81B8770(slot + 1) == TRUE)
+ if (HasPartySlotAlreadyBeenSelected(slot + 1) == TRUE)
return 1;
return 0;
}
@@ -6594,7 +5515,7 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
u16 species;
if (GetMonData(mon, MON_DATA_IS_EGG)
- || GetMonData(mon, MON_DATA_LEVEL) > sub_81B8888()
+ || GetMonData(mon, MON_DATA_LEVEL) > GetBattleEntryLevelCap()
|| (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
&& GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE))
@@ -6602,15 +5523,15 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
return FALSE;
}
- switch (VarGet(VAR_FRONTIER_FACILITY)) // oddly the specific cases are beyond 6, turns out case 9 is apparently related to link battles
+ switch (VarGet(VAR_FRONTIER_FACILITY))
{
- case 9:
+ case FACILITY_MULTI_OR_EREADER:
if (GetMonData(mon, MON_DATA_HP) != 0)
return TRUE;
return FALSE;
- case 8:
+ case FACILITY_UNION_ROOM:
return TRUE;
- default:
+ default: // Battle Frontier
species = GetMonData(mon, MON_DATA_SPECIES);
for (; gFrontierBannedSpecies[i] != 0xFFFF; i++)
{
@@ -6621,49 +5542,49 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
}
}
-static u8 sub_81B865C(void)
+static u8 CheckBattleEntriesAndGetMessage(void)
{
- u8 unk2;
+ u8 maxBattlers;
u8 i, j;
u8 facility;
struct Pokemon *party = gPlayerParty;
- u8 unk = sub_81B885C();
+ u8 minBattlers = GetMinBattleEntries();
u8 *order = gSelectedOrderFromParty;
- if (order[unk - 1] == 0)
+ if (order[minBattlers - 1] == 0)
{
- if (unk == 1)
- return 14;
- ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1);
- return 17;
+ if (minBattlers == 1)
+ return PARTY_MSG_NO_MON_FOR_BATTLE;
+ ConvertIntToDecimalStringN(gStringVar1, minBattlers, STR_CONV_MODE_LEFT_ALIGN, 1);
+ return PARTY_MSG_X_MONS_ARE_NEEDED;
}
facility = VarGet(VAR_FRONTIER_FACILITY);
- if (facility == 8 || facility == 9)
+ if (facility == FACILITY_UNION_ROOM || facility == FACILITY_MULTI_OR_EREADER)
return 0xFF;
- unk2 = sub_81B8830();
- for (i = 0; i < unk2 - 1; i++)
+ maxBattlers = GetMaxBattleEntries();
+ for (i = 0; i < maxBattlers - 1; i++)
{
u16 species = GetMonData(&party[order[i] - 1], MON_DATA_SPECIES);
u16 item = GetMonData(&party[order[i] - 1], MON_DATA_HELD_ITEM);
- for (j = i + 1; j < unk2; j++)
+ for (j = i + 1; j < maxBattlers; j++)
{
if (species == GetMonData(&party[order[j] - 1], MON_DATA_SPECIES))
- return 18;
+ return PARTY_MSG_MONS_CANT_BE_SAME;
if (item != ITEM_NONE && item == GetMonData(&party[order[j] - 1], MON_DATA_HELD_ITEM))
- return 19;
+ return PARTY_MSG_NO_SAME_HOLD_ITEMS;
}
}
return 0xFF;
}
-static bool8 sub_81B8770(u8 slot)
+static bool8 HasPartySlotAlreadyBeenSelected(u8 slot)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < ARRAY_COUNT(gSelectedOrderFromParty); i++)
{
if (gSelectedOrderFromParty[i] == slot)
return TRUE;
@@ -6671,79 +5592,79 @@ static bool8 sub_81B8770(u8 slot)
return FALSE;
}
-static void sub_81B879C(u8 taskId)
+static void Task_ValidateChosenHalfParty(u8 taskId)
{
- u8 msgId = sub_81B865C();
+ u8 msgId = CheckBattleEntriesAndGetMessage();
if (msgId != 0xFF)
{
PlaySE(SE_HAZURE);
- display_pokemon_menu_message(msgId);
- gTasks[taskId].func = sub_81B87E8;
+ DisplayPartyMenuStdMessage(msgId);
+ gTasks[taskId].func = Task_ContinueChoosingHalfParty;
}
else
{
PlaySE(SE_SELECT);
- sub_81B12C0(taskId);
+ Task_ClosePartyMenu(taskId);
}
}
-static void sub_81B87E8(u8 taskId)
+static void Task_ContinueChoosingHalfParty(u8 taskId)
{
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
{
PlaySE(SE_SELECT);
- display_pokemon_menu_message(0);
- gTasks[taskId].func = sub_81B1370;
+ DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON);
+ gTasks[taskId].func = Task_HandleChooseMonInput;
}
}
-static u8 sub_81B8830(void)
+static u8 GetMaxBattleEntries(void)
{
switch (VarGet(VAR_FRONTIER_FACILITY))
{
- case 9:
+ case FACILITY_MULTI_OR_EREADER:
return 3;
- case 8:
+ case FACILITY_UNION_ROOM:
return 2;
- default:
+ default: // Battle Frontier
return gSpecialVar_0x8005;
}
}
-static u8 sub_81B885C(void)
+static u8 GetMinBattleEntries(void)
{
switch (VarGet(VAR_FRONTIER_FACILITY))
{
- case 9:
+ case FACILITY_MULTI_OR_EREADER:
return 1;
- case 8:
+ case FACILITY_UNION_ROOM:
return 2;
- default:
+ default: // Battle Frontier
return gSpecialVar_0x8005;
}
}
-static u8 sub_81B8888(void)
+static u8 GetBattleEntryLevelCap(void)
{
switch (VarGet(VAR_FRONTIER_FACILITY))
{
- case 9:
- return 100;
- case 8:
+ case FACILITY_MULTI_OR_EREADER:
+ return MAX_LEVEL;
+ case FACILITY_UNION_ROOM:
return 30;
- default:
- if (gSpecialVar_0x8004 == 0)
+ default: // Battle Frontier
+ if (gSpecialVar_0x8004 == FRONTIER_LVL_50)
return 50;
- return 100;
+ return MAX_LEVEL;
}
}
-static const u8* sub_81B88BC(void)
+static const u8* GetFacilityCancelString(void)
{
u8 facilityNum = VarGet(VAR_FRONTIER_FACILITY);
- if (!(facilityNum != 8 && facilityNum != 9))
+ if (!(facilityNum != FACILITY_UNION_ROOM && facilityNum != FACILITY_MULTI_OR_EREADER))
return gText_CancelBattle;
else if (facilityNum == FRONTIER_FACILITY_DOME && gSpecialVar_0x8005 == 2)
return gText_ReturnToWaitingRoom;
@@ -6751,62 +5672,63 @@ static const u8* sub_81B88BC(void)
return gText_CancelChallenge;
}
-void sub_81B8904(u8 initArg, MainCallback callback)
+void ChooseMonForTradingBoard(u8 menuType, MainCallback callback)
{
- InitPartyMenu(initArg, 0, 0, 0, 0, sub_81B1370, callback);
+ InitPartyMenu(menuType, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, callback);
}
-void sub_81B892C(void)
+void ChooseMonForMoveTutor(void)
{
- InitPartyMenu(0, 0, 12, 0, 4, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic);
+ InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_MOVE_TUTOR, FALSE, PARTY_MSG_TEACH_WHICH_MON, Task_HandleChooseMonInput, CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
-void sub_81B8958(void)
+void ChooseMonForWirelessMinigame(void)
{
- InitPartyMenu(11, 0, 13, 0, 1, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic);
+ InitPartyMenu(PARTY_MENU_TYPE_MINIGAME, PARTY_LAYOUT_SINGLE, PARTY_ACTION_MINIGAME, FALSE, PARTY_MSG_CHOOSE_MON_OR_CANCEL, Task_HandleChooseMonInput, CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
-static u8 sub_81B8984(void)
+static u8 GetPartyLayoutFromBattleType(void)
{
if (IsDoubleBattle() == FALSE)
- return 0;
+ return PARTY_LAYOUT_SINGLE;
if (IsMultiBattle() == TRUE)
- return 2;
- return 1;
+ return PARTY_LAYOUT_MULTI;
+ return PARTY_LAYOUT_DOUBLE;
}
-void OpenPartyMenuInBattle(u8 arg)
+void OpenPartyMenuInBattle(u8 partyAction)
{
- InitPartyMenu(1, sub_81B8984(), arg, 0, 0, sub_81B1370, SetCB2ToReshowScreenAfterMenu);
+ InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), partyAction, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_SetUpReshowBattleScreenAfterMenu);
nullsub_35();
- pokemon_change_order();
+ UpdatePartyToBattleOrder();
}
-void sub_81B89F0(void)
+void ChooseMonForInBattleItem(void)
{
- InitPartyMenu(1, sub_81B8984(), 3, 0, 5, sub_81B1370, c2_815ABFC);
+ InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_USE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, Task_HandleChooseMonInput, CB2_ReturnToBagMenu);
nullsub_35();
- pokemon_change_order();
+ UpdatePartyToBattleOrder();
}
-static u8 sub_81B8A2C(struct Pokemon *mon)
+static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *mon)
{
if (GetMonData(&gPlayerParty[1], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(mon, MON_DATA_IS_EGG) == FALSE)
{
- if (gUnknown_0203CEC8.unkB == 1)
- return 3;
+ if (gPartyMenu.action == PARTY_ACTION_SEND_OUT)
+ return ACTIONS_SEND_OUT;
if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA))
- return 2;
+ return ACTIONS_SHIFT;
}
- return 7;
+ return ACTIONS_SUMMARY_ONLY;
}
-static bool8 sub_81B8A7C(void)
+static bool8 TrySwitchInPokemon(void)
{
u8 slot = GetCursorSelectionMonId();
u8 newSlot;
u8 i;
+ // In a multi battle, slots 1, 4, and 5 are the partner's pokemon
if (IsMultiBattle() == TRUE && (slot == 1 || slot == 4 || slot == 5))
{
StringCopy(gStringVar1, GetTrainerPartnerName());
@@ -6821,7 +5743,7 @@ static bool8 sub_81B8A7C(void)
}
for (i = 0; i < gBattlersCount; i++)
{
- if (GetBattlerSide(i) == B_SIDE_PLAYER && sub_81B8F38(slot) == gBattlerPartyIndexes[i])
+ if (GetBattlerSide(i) == B_SIDE_PLAYER && GetPartyIdFromBattleSlot(slot) == gBattlerPartyIndexes[i])
{
GetMonNickname(&gPlayerParty[slot], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadyInBattle);
@@ -6833,67 +5755,69 @@ static bool8 sub_81B8A7C(void)
StringExpandPlaceholders(gStringVar4, gText_EggCantBattle);
return FALSE;
}
- if (sub_81B8F38(slot) == gBattleStruct->field_8B)
+ if (GetPartyIdFromBattleSlot(slot) == gBattleStruct->field_8B)
{
GetMonNickname(&gPlayerParty[slot], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadySelected);
return FALSE;
}
- if (gUnknown_0203CEC8.unkB == 4)
+ if (gPartyMenu.action == PARTY_ACTION_ABILITY_PREVENTS)
{
SetMonPreventsSwitchingString();
return FALSE;
}
- if (gUnknown_0203CEC8.unkB == 2)
+ if (gPartyMenu.action == PARTY_ACTION_CANT_SWITCH)
{
u8 currBattler = gBattlerInMenuId;
- GetMonNickname(&gPlayerParty[pokemon_order_func(gBattlerPartyIndexes[currBattler])], gStringVar1);
+ GetMonNickname(&gPlayerParty[GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[currBattler])], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnCantSwitchOut);
return FALSE;
}
- gUnknown_0203CEE9 = sub_81B8F38(slot);
- gUnknown_0203CEE8 = 1;
- newSlot = pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId]);
- sub_81B8FB0(newSlot, slot);
- sub_81B1288(&gPlayerParty[newSlot], &gPlayerParty[slot]);
+ gSelectedMonPartyId = GetPartyIdFromBattleSlot(slot);
+ gPartyMenuUseExitCallback = TRUE;
+ newSlot = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattlerInMenuId]);
+ SwitchPartyMonSlots(newSlot, slot);
+ SwapPartyPokemon(&gPlayerParty[newSlot], &gPlayerParty[slot]);
return TRUE;
}
-void sub_81B8C68(void)
+void BufferBattlePartyCurrentOrder(void)
{
- sub_81B8C88(gUnknown_0203CF00, sub_806D7EC());
+ BufferBattlePartyOrder(gBattlePartyCurrentOrder, GetPlayerFlankId());
}
-static void sub_81B8C88(u8 *ptr, bool8 multiplayerFlag)
+static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId)
{
- u8 partyIndexes[6];
+ u8 partyIds[PARTY_SIZE];
int i, j;
if (IsMultiBattle() == TRUE)
{
- if (multiplayerFlag)
+ // Party ids are packed in 4 bits at a time
+ // i.e. the party id order below would be 0, 3, 5, 4, 2, 1, and the two parties would be 0,5,4 and 3,2,1
+ if (flankId != 0)
{
- ptr[0] = 0 | (3 << 4);
- ptr[1] = 5 | (4 << 4);
- ptr[2] = 2 | (1 << 4);
+ partyBattleOrder[0] = 0 | (3 << 4);
+ partyBattleOrder[1] = 5 | (4 << 4);
+ partyBattleOrder[2] = 2 | (1 << 4);
}
else
{
- ptr[0] = 3 | (0 << 4);
- ptr[1] = 2 | (1 << 4);
- ptr[2] = 5 | (4 << 4);
+ partyBattleOrder[0] = 3 | (0 << 4);
+ partyBattleOrder[1] = 2 | (1 << 4);
+ partyBattleOrder[2] = 5 | (4 << 4);
}
return;
}
else if (IsDoubleBattle() == FALSE)
{
j = 1;
- partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)];
+ partyIds[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)];
for (i = 0; i < PARTY_SIZE; i++)
{
- if (i != partyIndexes[0])
+ if (i != partyIds[0])
{
- partyIndexes[j] = i;
+ partyIds[j] = i;
j++;
}
}
@@ -6901,29 +5825,30 @@ static void sub_81B8C88(u8 *ptr, bool8 multiplayerFlag)
else
{
j = 2;
- partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)];
- partyIndexes[1] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)];
+ partyIds[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)];
+ partyIds[1] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)];
for (i = 0; i < PARTY_SIZE; i++)
{
- if (i != partyIndexes[0] && i != partyIndexes[1])
+ if (i != partyIds[0] && i != partyIds[1])
{
- partyIndexes[j] = i;
+ partyIds[j] = i;
j++;
}
}
}
- for (i = 0; i < 3; i++)
- ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)];
+ for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
+ partyBattleOrder[i] = (partyIds[0 + (i * 2)] << 4) | partyIds[1 + (i * 2)];
}
-void sub_81B8D64(u8 battlerId, u8 multiplayerFlag)
+void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId)
{
- sub_81B8D88(gBattleStruct->field_60[battlerId], multiplayerFlag, battlerId);
+ BufferBattlePartyOrderBySide(gBattleStruct->field_60[battlerId], flankId, battlerId);
}
-static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId)
+// when GetBattlerSide(battlerId) == B_SIDE_PLAYER, this function is identical the one above
+static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId)
{
- u8 partyIndexes[6];
+ u8 partyIndexes[PARTY_SIZE];
int i, j;
u8 leftBattler;
u8 rightBattler;
@@ -6941,17 +5866,17 @@ static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId)
if (IsMultiBattle() == TRUE)
{
- if (multiplayerFlag)
+ if (flankId != 0)
{
- ptr[0] = 0 | (3 << 4);
- ptr[1] = 5 | (4 << 4);
- ptr[2] = 2 | (1 << 4);
+ partyBattleOrder[0] = 0 | (3 << 4);
+ partyBattleOrder[1] = 5 | (4 << 4);
+ partyBattleOrder[2] = 2 | (1 << 4);
}
else
{
- ptr[0] = 3 | (0 << 4);
- ptr[1] = 2 | (1 << 4);
- ptr[2] = 5 | (4 << 4);
+ partyBattleOrder[0] = 3 | (0 << 4);
+ partyBattleOrder[1] = 2 | (1 << 4);
+ partyBattleOrder[2] = 5 | (4 << 4);
}
return;
}
@@ -6984,87 +5909,87 @@ static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId)
}
for (i = 0; i < 3; i++)
- ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)];
+ partyBattleOrder[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)];
}
-void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex)
+void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2)
{
- u8 possiblePartyIndexes[6];
- u8 unk2 = 0;
+ u8 partyIds[PARTY_SIZE];
+ u8 tempSlot = 0;
int i, j;
- u8 *battleStructRelated;
- u8 possiblePartyIndexBuffer;
+ u8 *partyBattleOrder;
+ u8 partyIdBuffer;
if (IsMultiBattle())
{
- battleStructRelated = gBattleStruct->field_60[battlerId];
+ partyBattleOrder = gBattleStruct->field_60[battlerId];
for (i = j = 0; i < 3; j++, i++)
{
- possiblePartyIndexes[j] = battleStructRelated[i] >> 4;
+ partyIds[j] = partyBattleOrder[i] >> 4;
j++;
- possiblePartyIndexes[j] = battleStructRelated[i] & 0xF;
+ partyIds[j] = partyBattleOrder[i] & 0xF;
}
- possiblePartyIndexBuffer = possiblePartyIndexes[arrayIndex];
+ partyIdBuffer = partyIds[slot2];
for (i = 0; i < PARTY_SIZE; i++)
{
- if (possiblePartyIndexes[i] == unk)
+ if (partyIds[i] == slot)
{
- unk2 = possiblePartyIndexes[i];
- possiblePartyIndexes[i] = possiblePartyIndexBuffer;
+ tempSlot = partyIds[i];
+ partyIds[i] = partyIdBuffer;
break;
}
}
if (i != PARTY_SIZE)
{
- possiblePartyIndexes[arrayIndex] = unk2;
- battleStructRelated[0] = (possiblePartyIndexes[0] << 4) | possiblePartyIndexes[1];
- battleStructRelated[1] = (possiblePartyIndexes[2] << 4) | possiblePartyIndexes[3];
- battleStructRelated[2] = (possiblePartyIndexes[4] << 4) | possiblePartyIndexes[5];
+ partyIds[slot2] = tempSlot;
+ partyBattleOrder[0] = (partyIds[0] << 4) | partyIds[1];
+ partyBattleOrder[1] = (partyIds[2] << 4) | partyIds[3];
+ partyBattleOrder[2] = (partyIds[4] << 4) | partyIds[5];
}
}
}
-static u8 sub_81B8F38(u8 slot)
+static u8 GetPartyIdFromBattleSlot(u8 slot)
{
u8 modResult = slot & 1;
u8 retVal;
slot /= 2;
if (modResult != 0)
- retVal = gUnknown_0203CF00[slot] & 0xF;
+ retVal = gBattlePartyCurrentOrder[slot] & 0xF;
else
- retVal = gUnknown_0203CF00[slot] >> 4;
+ retVal = gBattlePartyCurrentOrder[slot] >> 4;
return retVal;
}
-static void sub_81B8F6C(u8 slot, u8 setVal)
+static void SetPartyIdAtBattleSlot(u8 slot, u8 setVal)
{
bool32 modResult = slot & 1;
slot /= 2;
if (modResult != 0)
- gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF0) | setVal;
+ gBattlePartyCurrentOrder[slot] = (gBattlePartyCurrentOrder[slot] & 0xF0) | setVal;
else
- gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF) | (setVal << 4);
+ gBattlePartyCurrentOrder[slot] = (gBattlePartyCurrentOrder[slot] & 0xF) | (setVal << 4);
}
-void sub_81B8FB0(u8 slot, u8 slot2)
+void SwitchPartyMonSlots(u8 slot, u8 slot2)
{
- u8 valBuffer = sub_81B8F38(slot);
- sub_81B8F6C(slot, sub_81B8F38(slot2));
- sub_81B8F6C(slot2, valBuffer);
+ u8 partyId = GetPartyIdFromBattleSlot(slot);
+ SetPartyIdAtBattleSlot(slot, GetPartyIdFromBattleSlot(slot2));
+ SetPartyIdAtBattleSlot(slot2, partyId);
}
-u8 pokemon_order_func(u8 slot)
+u8 GetPartyIdFromBattlePartyId(u8 battlePartyId)
{
u8 i, j;
- for (j = i = 0; i < 3; j++, i++)
+ for (j = i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); j++, i++)
{
- if ((gUnknown_0203CF00[i] >> 4) != slot)
+ if ((gBattlePartyCurrentOrder[i] >> 4) != battlePartyId)
{
j++;
- if ((gUnknown_0203CF00[i] & 0xF) == slot)
+ if ((gBattlePartyCurrentOrder[i] & 0xF) == battlePartyId)
return j;
}
else
@@ -7075,147 +6000,155 @@ u8 pokemon_order_func(u8 slot)
return 0;
}
-static void pokemon_change_order(void)
+static void UpdatePartyToBattleOrder(void)
{
struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty));
u8 i;
memcpy(partyBuffer, gPlayerParty, sizeof(gPlayerParty));
for (i = 0; i < PARTY_SIZE; i++)
- memcpy(&gPlayerParty[pokemon_order_func(i)], &partyBuffer[i], sizeof(struct Pokemon));
+ memcpy(&gPlayerParty[GetPartyIdFromBattlePartyId(i)], &partyBuffer[i], sizeof(struct Pokemon));
Free(partyBuffer);
}
-static void sub_81B9080(void)
+static void UpdatePartyToFieldOrder(void)
{
struct Pokemon *partyBuffer = Alloc(sizeof(gPlayerParty));
u8 i;
memcpy(partyBuffer, gPlayerParty, sizeof(gPlayerParty));
for (i = 0; i < PARTY_SIZE; i++)
- memcpy(&gPlayerParty[sub_81B8F38(i)], &partyBuffer[i], sizeof(struct Pokemon));
+ memcpy(&gPlayerParty[GetPartyIdFromBattleSlot(i)], &partyBuffer[i], sizeof(struct Pokemon));
Free(partyBuffer);
}
-static void sub_81B90D0(void)
+// Unused
+static void SwitchAliveMonIntoLeadSlot(void)
{
u8 i;
struct Pokemon *mon;
- u8 leadVal;
+ u8 partyId;
for (i = 1; i < PARTY_SIZE; i++)
{
- mon = &gPlayerParty[sub_81B8F38(i)];
+ mon = &gPlayerParty[GetPartyIdFromBattleSlot(i)];
if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(mon, MON_DATA_HP) != 0)
{
- leadVal = sub_81B8F38(0);
- sub_81B8FB0(0, i);
- sub_81B1288(&gPlayerParty[leadVal], mon);
+ partyId = GetPartyIdFromBattleSlot(0);
+ SwitchPartyMonSlots(0, i);
+ SwapPartyPokemon(&gPlayerParty[partyId], mon);
break;
}
}
}
-static void sub_81B9140(void)
+static void CB2_SetUpExitToBattleScreen(void)
{
- SetMainCallback2(SetCB2ToReshowScreenAfterMenu);
+ SetMainCallback2(CB2_SetUpReshowBattleScreenAfterMenu);
}
-void sub_81B9150(void)
+void ShowPartyMenuToShowcaseMultiBattleParty(void)
{
- InitPartyMenu(5, 3, 0, 0, 0x7F, sub_81B917C, gMain.savedCallback);
+ InitPartyMenu(PARTY_MENU_TYPE_MULTI_SHOWCASE, PARTY_LAYOUT_MULTI_SHOWCASE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_NONE, Task_InitMultiPartnerPartySlideIn, gMain.savedCallback);
}
-static void sub_81B917C(u8 taskId)
+#define tXPos data[0]
+
+static void Task_InitMultiPartnerPartySlideIn(u8 taskId)
{
- gTasks[taskId].data[0] = 256;
- sub_81B9294(taskId);
+ // The first slide step also sets the sprites offscreen
+ gTasks[taskId].tXPos = 256;
+ SlideMultiPartyMenuBoxSpritesOneStep(taskId);
ChangeBgX(2, 0x10000, 0);
- gTasks[taskId].func = sub_81B91B4;
+ gTasks[taskId].func = Task_MultiPartnerPartySlideIn;
}
-static void sub_81B91B4(u8 taskId)
+static void Task_MultiPartnerPartySlideIn(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u8 i;
if (!gPaletteFade.active)
{
- data[0] -= 8;
- sub_81B9294(taskId);
- if (data[0] == 0)
+ tXPos -= 8;
+ SlideMultiPartyMenuBoxSpritesOneStep(taskId);
+ if (tXPos == 0)
{
for (i = 3; i < PARTY_SIZE; i++)
{
- if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE)
- AnimateSelectedPartyIcon(gUnknown_0203CEDC[i].monSpriteId, 0);
+ if (gMultiPartnerParty[i - MULTI_PARTY_SIZE].species != SPECIES_NONE)
+ AnimateSelectedPartyIcon(sPartyMenuBoxes[i].monSpriteId, 0);
}
- PlaySE(SE_W231); // Harden SE?
- gTasks[taskId].func = sub_81B9240;
+ PlaySE(SE_W231); // The Harden SE plays once the partners party mons have slid on screen
+ gTasks[taskId].func = Task_WaitAfterMultiPartnerPartySlideIn;
}
}
}
-static void sub_81B9240(u8 taskId)
+static void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- if (++data[0] == 0x100)
- sub_81B12C0(taskId);
+ // data[0] used as a timer afterwards rather than the x pos
+ if (++data[0] == 256)
+ Task_ClosePartyMenu(taskId);
}
-static void sub_81B9270(u8 spriteId, s16 x)
+static void MoveMultiPartyMenuBoxSprite(u8 spriteId, s16 x)
{
if (x >= 0)
gSprites[spriteId].pos2.x = x;
}
-static void sub_81B9294(u8 taskId)
+static void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u8 i;
for (i = 3; i < PARTY_SIZE; i++)
{
- if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE)
+ if (gMultiPartnerParty[i - MULTI_PARTY_SIZE].species != SPECIES_NONE)
{
- sub_81B9270(gUnknown_0203CEDC[i].monSpriteId, data[0] - 8);
- sub_81B9270(gUnknown_0203CEDC[i].itemSpriteId, data[0] - 8);
- sub_81B9270(gUnknown_0203CEDC[i].pokeballSpriteId, data[0] - 8);
- sub_81B9270(gUnknown_0203CEDC[i].statusSpriteId, data[0] - 8);
+ MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].monSpriteId, tXPos - 8);
+ MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].itemSpriteId, tXPos - 8);
+ MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].pokeballSpriteId, tXPos - 8);
+ MoveMultiPartyMenuBoxSprite(sPartyMenuBoxes[i].statusSpriteId, tXPos - 8);
}
}
ChangeBgX(2, 0x800, 1);
}
-void sub_81B9328(void)
+#undef tXpos
+
+void ChooseMonForDaycare(void)
{
- InitPartyMenu(6, 0, 0, 0, 15, sub_81B1370, sub_81B9390);
+ InitPartyMenu(PARTY_MENU_TYPE_DAYCARE, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON_2, Task_HandleChooseMonInput, BufferMonSelection);
}
-static void sub_81B9354(u8 arg1)
+// Unused
+static void ChoosePartyMonByMenuType(u8 menuType)
{
- gFieldCallback2 = hm_add_c3_without_phase_2;
- InitPartyMenu(arg1, 0, 11, 0, 0, sub_81B1370, CB2_ReturnToField);
+ gFieldCallback2 = CB2_FadeFromPartyMenu;
+ InitPartyMenu(menuType, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ReturnToField);
}
-static void sub_81B9390(void)
+static void BufferMonSelection(void)
{
gSpecialVar_0x8004 = GetCursorSelectionMonId();
if (gSpecialVar_0x8004 >= PARTY_SIZE)
gSpecialVar_0x8004 = 0xFF;
- gFieldCallback2 = hm_add_c3_without_phase_2;
+ gFieldCallback2 = CB2_FadeFromPartyMenu;
SetMainCallback2(CB2_ReturnToField);
}
-bool8 hm_add_c3_without_phase_2(void) // might not be bool
+bool8 CB2_FadeFromPartyMenu(void)
{
- pal_fill_black();
- CreateTask(task_hm_without_phase_2, 10);
+ FadeInFromBlack();
+ CreateTask(Task_PartyMenuWaitForFade, 10);
return TRUE;
}
-static void task_hm_without_phase_2(u8 taskId)
+static void Task_PartyMenuWaitForFade(u8 taskId)
{
if (IsWeatherNotFadingIn())
{
@@ -7225,84 +6158,85 @@ static void task_hm_without_phase_2(u8 taskId)
}
}
-void sub_81B9404(void)
+void ChooseContestMon(void)
{
ScriptContext2_Enable();
FadeScreen(FADE_TO_BLACK, 0);
- CreateTask(sub_81B9424, 10);
+ CreateTask(Task_ChooseContestMon, 10);
}
-static void sub_81B9424(u8 taskId)
+static void Task_ChooseContestMon(u8 taskId)
{
if (!gPaletteFade.active)
{
CleanupOverworldWindowsAndTilemaps();
- InitPartyMenu(2, 0, 11, 0, 0, sub_81B1370, sub_81B9470);
+ InitPartyMenu(PARTY_MENU_TYPE_CONTEST, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ChooseContestMon);
DestroyTask(taskId);
}
}
-static void sub_81B9470(void)
+static void CB2_ChooseContestMon(void)
{
gContestMonPartyIndex = GetCursorSelectionMonId();
if (gContestMonPartyIndex >= PARTY_SIZE)
gContestMonPartyIndex = 0xFF;
gSpecialVar_0x8004 = gContestMonPartyIndex;
- gFieldCallback2 = hm_add_c3_without_phase_2;
+ gFieldCallback2 = CB2_FadeFromPartyMenu;
SetMainCallback2(CB2_ReturnToField);
}
-void sub_81B94B0(void)
+// Used as a script special for showing a party mon to various npcs (e.g. in-game trades, move deleter)
+void ChoosePartyMon(void)
{
ScriptContext2_Enable();
FadeScreen(FADE_TO_BLACK, 0);
- CreateTask(sub_81B94D0, 10);
+ CreateTask(Task_ChoosePartyMon, 10);
}
-static void sub_81B94D0(u8 taskId)
+static void Task_ChoosePartyMon(u8 taskId)
{
if (!gPaletteFade.active)
{
CleanupOverworldWindowsAndTilemaps();
- InitPartyMenu(3, 0, 11, 0, 0, sub_81B1370, sub_81B9390);
+ InitPartyMenu(PARTY_MENU_TYPE_CHOOSE_MON, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, BufferMonSelection);
DestroyTask(taskId);
}
}
-void sub_81B951C(void)
+void ChooseMonForMoveRelearner(void)
{
ScriptContext2_Enable();
FadeScreen(FADE_TO_BLACK, 0);
- CreateTask(sub_81B953C, 10);
+ CreateTask(Task_ChooseMonForMoveRelearner, 10);
}
-static void sub_81B953C(u8 taskId)
+static void Task_ChooseMonForMoveRelearner(u8 taskId)
{
if (!gPaletteFade.active)
{
CleanupOverworldWindowsAndTilemaps();
- InitPartyMenu(7, 0, 11, 0, 0, sub_81B1370, sub_81B9588);
+ InitPartyMenu(PARTY_MENU_TYPE_MOVE_RELEARNER, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_AND_CLOSE, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, CB2_ChooseMonForMoveRelearner);
DestroyTask(taskId);
}
}
-static void sub_81B9588(void)
+static void CB2_ChooseMonForMoveRelearner(void)
{
gSpecialVar_0x8004 = GetCursorSelectionMonId();
if (gSpecialVar_0x8004 >= PARTY_SIZE)
gSpecialVar_0x8004 = 0xFF;
else
gSpecialVar_0x8005 = GetNumberOfRelearnableMoves(&gPlayerParty[gSpecialVar_0x8004]);
- gFieldCallback2 = hm_add_c3_without_phase_2;
+ gFieldCallback2 = CB2_FadeFromPartyMenu;
SetMainCallback2(CB2_ReturnToField);
}
-void sub_81B95E0(void)
+void DoBattlePyramidMonsHaveHeldItem(void)
{
u8 i;
gSpecialVar_Result = FALSE;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) != ITEM_NONE)
{
@@ -7312,42 +6246,44 @@ void sub_81B95E0(void)
}
}
-void sub_81B9620(void)
+// Can be called if the Battle Pyramid Bag is full on exiting and at least one party mon still has held items
+// The player can then select to toss items from the bag or take/toss held items from the party
+void BattlePyramidChooseMonHeldItems(void)
{
ScriptContext2_Enable();
FadeScreen(FADE_TO_BLACK, 0);
- CreateTask(sub_81B9640, 10);
+ CreateTask(Task_BattlePyramidChooseMonHeldItems, 10);
}
-static void sub_81B9640(u8 taskId)
+static void Task_BattlePyramidChooseMonHeldItems(u8 taskId)
{
if (!gPaletteFade.active)
{
CleanupOverworldWindowsAndTilemaps();
- InitPartyMenu(12, 0, 0, 0, 0, sub_81B1370, sub_81B9390);
+ InitPartyMenu(PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS, PARTY_LAYOUT_SINGLE, PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_HandleChooseMonInput, BufferMonSelection);
DestroyTask(taskId);
}
}
-void sub_81B968C(void)
+void MoveDeleterChooseMoveToForget(void)
{
ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
}
-void sub_81B96D0(void)
+void GetNumMovesSelectedMonHas(void)
{
u8 i;
gSpecialVar_Result = 0;
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_MOVE1 + i) != ITEM_NONE)
+ if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_MOVE1 + i) != MOVE_NONE)
gSpecialVar_Result++;
}
}
-void sub_81B9718(void)
+void BufferMoveDeleterNicknameAndMove(void)
{
struct Pokemon *mon = &gPlayerParty[gSpecialVar_0x8004];
u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005);
@@ -7356,17 +6292,17 @@ void sub_81B9718(void)
StringCopy(gStringVar2, gMoveNames[move]);
}
-void sub_81B9770(void)
+void MoveDeleterForgetMove(void)
{
u16 i;
SetMonMoveSlot(&gPlayerParty[gSpecialVar_0x8004], MOVE_NONE, gSpecialVar_0x8005);
RemoveMonPPBonus(&gPlayerParty[gSpecialVar_0x8004], gSpecialVar_0x8005);
for (i = gSpecialVar_0x8005; i < MAX_MON_MOVES - 1; i++)
- sub_81B97DC(&gPlayerParty[gSpecialVar_0x8004], i, i + 1);
+ ShiftMoveSlot(&gPlayerParty[gSpecialVar_0x8004], i, i + 1);
}
-static void sub_81B97DC(struct Pokemon *mon, u8 slotTo, u8 slotFrom)
+static void ShiftMoveSlot(struct Pokemon *mon, u8 slotTo, u8 slotFrom)
{
u16 move1 = GetMonData(mon, MON_DATA_MOVE1 + slotTo);
u16 move0 = GetMonData(mon, MON_DATA_MOVE1 + slotFrom);
@@ -7387,7 +6323,7 @@ static void sub_81B97DC(struct Pokemon *mon, u8 slotTo, u8 slotFrom)
SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses);
}
-void sub_81B98DC(void)
+void IsSelectedMonEgg(void)
{
if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_IS_EGG))
gSpecialVar_Result = TRUE;
@@ -7395,7 +6331,7 @@ void sub_81B98DC(void)
gSpecialVar_Result = FALSE;
}
-void sub_81B9918(void)
+void IsLastMonThatKnowsSurf(void)
{
u16 move;
u32 i, j;
diff --git a/src/player_pc.c b/src/player_pc.c
index 08f24d379..bf3a5b01d 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -14,7 +14,7 @@
#include "list_menu.h"
#include "mail.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"
@@ -419,12 +419,12 @@ static void PlayerPC_Decoration(u8 taskId)
static void PlayerPC_TurnOff(u8 taskId)
{
- if (gPcItemMenuOptionsNum == 4) // if the option count is 4, we are at the bedroom PC and not player PC, so do gender specific handling.
+ if (gPcItemMenuOptionsNum == 4) // if the option count is 4, we are at the bedroom PC, so do gender specific handling.
{
if (gSaveBlock2Ptr->playerGender == MALE)
- ScriptContext1_SetupScript(LittlerootTown_BrendansHouse_2F_EventScript_1F863F);
+ ScriptContext1_SetupScript(LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC);
else
- ScriptContext1_SetupScript(LittlerootTown_MaysHouse_2F_EventScript_1F958F);
+ ScriptContext1_SetupScript(LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC);
}
else
{
@@ -484,7 +484,7 @@ static void ItemStorageMenuProcessInput(u8 taskId)
static void ItemStorage_Deposit(u8 taskId)
{
gTasks[taskId].func = Task_ItemStorage_Deposit;
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
}
static void Task_ItemStorage_Deposit(u8 taskId)
@@ -508,7 +508,7 @@ void Mailbox_DoRedrawMailboxMenuAfterReturn(void)
sub_81973A4();
DrawDialogueFrame(0, 1);
InitItemStorageMenu(CreateTask(ItemStorage_HandleReturnToProcessInput, 0), 1);
- pal_fill_black();
+ FadeInFromBlack();
}
static void ItemStorage_HandleReturnToProcessInput(u8 taskId)
@@ -714,7 +714,7 @@ static void Mailbox_MailOptionsProcessInput(u8 taskId)
static void Mailbox_DoMailRead(u8 taskId)
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].func = Mailbox_FadeAndReadMail;
}
@@ -745,7 +745,7 @@ static void pal_fill_for_maplights_or_black(void)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
- pal_fill_black();
+ FadeInFromBlack();
}
static void Mailbox_HandleReturnToProcessInput(u8 taskId)
@@ -813,7 +813,7 @@ static void Mailbox_Give(u8 taskId)
Mailbox_NoPokemonForMail(taskId);
else
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
gTasks[taskId].func = Mailbox_DoGiveMailPokeMenu;
}
}
@@ -824,7 +824,7 @@ static void Mailbox_DoGiveMailPokeMenu(u8 taskId)
{
sub_81D1EC0();
CleanupOverworldWindowsAndTilemaps();
- sub_81B8448();
+ ChooseMonToGiveMailFromMailbox();
DestroyTask(taskId);
}
}
@@ -852,7 +852,7 @@ static void Mailbox_UpdateMailListAfterDeposit(void)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
- pal_fill_black();
+ FadeInFromBlack();
}
static void Mailbox_NoPokemonForMail(u8 taskId)
diff --git a/src/poison.c b/src/poison.c
index 9af981694..42e7d6a58 100644
--- a/src/poison.c
+++ b/src/poison.c
@@ -33,11 +33,11 @@ const struct SpriteTemplate gUnknown_08596134 =
{
.tileTag = ANIM_TAG_TOXIC_BUBBLE,
.paletteTag = ANIM_TAG_TOXIC_BUBBLE,
- .oam = &gUnknown_08524954,
+ .oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_08596130,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
const union AnimCmd gUnknown_0859614C[] =
@@ -101,7 +101,7 @@ const struct SpriteTemplate gUnknown_085961A8 =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
- .oam = &gUnknown_085249CC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gUnknown_08596164,
.images = NULL,
.affineAnims = gUnknown_085961A0,
@@ -112,7 +112,7 @@ const struct SpriteTemplate gUnknown_085961C0 =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
- .oam = &gUnknown_085249CC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gUnknown_08596164,
.images = NULL,
.affineAnims = gUnknown_085961A0,
@@ -123,7 +123,7 @@ const struct SpriteTemplate gUnknown_085961D8 =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_0859616C,
.images = NULL,
.affineAnims = gUnknown_085961A4,
@@ -146,7 +146,7 @@ const struct SpriteTemplate gUnknown_0859620C =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
- .oam = &gUnknown_085249CC,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x16,
.anims = gUnknown_08596168,
.images = NULL,
.affineAnims = gUnknown_08596208,
@@ -169,7 +169,7 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
{
.tileTag = ANIM_TAG_POISON_BUBBLE,
.paletteTag = ANIM_TAG_POISON_BUBBLE,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_08596164,
.images = NULL,
.affineAnims = gUnknown_0859623C,
@@ -180,7 +180,7 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_08524A8C,
+ .oam = &gOamData_AffineNormal_ObjBlend_16x16,
.anims = gUnknown_08595200,
.images = NULL,
.affineAnims = gUnknown_0859623C,
diff --git a/src/pokeball.c b/src/pokeball.c
index 793609ec2..d473f9ba0 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -95,10 +95,10 @@ const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] =
static const struct OamData sBallOamData =
{
.y = 0,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -1097,7 +1097,7 @@ static void sub_80765E0(struct Sprite *sprite)
}
}
-u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h)
+u8 CreateTradePokeballSprite(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h)
{
u8 spriteId;
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 0d8469132..b9031e173 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -1,9 +1,8 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
-#include "berry.h"
#include "bg.h"
#include "decompress.h"
#include "event_data.h"
@@ -30,6 +29,7 @@
#include "task.h"
#include "text.h"
#include "text_window.h"
+#include "constants/berry.h"
#include "constants/items.h"
#include "constants/songs.h"
#include "constants/rgb.h"
@@ -219,10 +219,10 @@ static const u8 sContestStatsMonData[] = {MON_DATA_COOL, MON_DATA_BEAUTY, MON_DA
static const struct OamData sOamData_PokeblockCase =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -451,7 +451,7 @@ void OpenPokeblockCase(u8 caseId, void (*callback)(void))
sPokeblockMenu->pokeblockOptionsIds = sActionsWhenGivingToLady;
sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsWhenGivingToLady);
break;
- default:
+ default: // PBLOCK_CASE_FIELD
sPokeblockMenu->pokeblockOptionsIds = sActionsOnField;
sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsOnField);
break;
@@ -462,7 +462,7 @@ void OpenPokeblockCase(u8 caseId, void (*callback)(void))
void OpenPokeblockCaseInBattle(void)
{
- OpenPokeblockCase(PBLOCK_CASE_BATTLE, SetCB2ToReshowScreenAfterMenu2);
+ OpenPokeblockCase(PBLOCK_CASE_BATTLE, CB2_SetUpReshowBattleScreenAfterMenu2);
}
void OpenPokeblockCaseOnFeeder(void)
@@ -928,7 +928,7 @@ static void sub_8136470(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
- sprite->oam.affineMode = 1;
+ sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
sprite->affineAnims = sSpriteAffineAnimTable_85B26F0;
InitSpriteAffineAnim(sprite);
sprite->data[0] = 1;
@@ -937,7 +937,7 @@ static void sub_8136470(struct Sprite *sprite)
case 1:
if (++sprite->data[1] > 11)
{
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
sprite->data[0] = 0;
sprite->data[1] = 0;
FreeOamMatrix(sprite->oam.matrixNum);
@@ -960,7 +960,7 @@ static void Task_FreeDataAndExitPokeblockCase(u8 taskId)
if (!gPaletteFade.active)
{
if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE)
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyListMenuTask(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
sub_8136418();
diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c
index 4ad15414d..5edf14309 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokeblock_feed.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "bg.h"
#include "data.h"
@@ -459,10 +459,10 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_85F066C[] =
static const struct OamData sThrownPokeblockOamData =
{
.y = 0,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -833,7 +833,7 @@ static u8 CreateMonSprite(struct Pokemon* mon)
if (!IsMonSpriteNotFlipped(species))
{
gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_MonNoFlip;
- gSprites[spriteId].oam.affineMode = 3;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
sPokeblockFeed->noMonFlip = FALSE;
}
@@ -869,7 +869,7 @@ static void sub_817A468(struct Sprite* sprite)
static u8 CreatePokeblockCaseSpriteForFeeding(void)
{
u8 spriteId = CreatePokeblockCaseSprite(188, 100, 2);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_85F0664;
gSprites[spriteId].callback = SpriteCallbackDummy;
InitSpriteAffineAnim(&gSprites[spriteId]);
@@ -879,7 +879,7 @@ static u8 CreatePokeblockCaseSpriteForFeeding(void)
static void DoPokeblockCaseThrowEffect(u8 spriteId, bool8 a1)
{
FreeOamMatrix(gSprites[spriteId].oam.matrixNum);
- gSprites[spriteId].oam.affineMode = 3;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
if (!a1)
gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_85F0668;
@@ -947,7 +947,7 @@ static void sub_817A634(void)
sub_817A91C();
if (sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] != 0)
{
- pokeblockFeed->monSpritePtr->oam.affineMode = 3;
+ pokeblockFeed->monSpritePtr->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
pokeblockFeed->monSpritePtr->oam.matrixNum = 0;
pokeblockFeed->monSpritePtr->affineAnims = sSpriteAffineAnimTable_85F04FC;
InitSpriteAffineAnim(pokeblockFeed->monSpritePtr);
diff --git a/src/pokedex.c b/src/pokedex.c
index c1787ef6a..78c204d2d 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -8,7 +8,7 @@
#include "graphics.h"
#include "international_string_util.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "m4a.h"
#include "overworld.h"
@@ -52,7 +52,7 @@ struct UnknownStruct1
const struct PokedexOption *pokedexList;
u8 unk4;
u8 unk5;
- u16 unk6;
+ u16 numOptions;
};
struct UnknownStruct3
@@ -99,7 +99,7 @@ struct PokedexView
u16 unk618;
u16 seenCount;
u16 ownCount;
- u16 unk61E[4];
+ u16 monSpriteIds[4];
u16 selectedMonSpriteId;
u16 unk628;
u16 unk62A;
@@ -140,7 +140,7 @@ void sub_80BB78C(u8);
void sub_80BB7D4(u8);
void sub_80BBA28(u8);
void sub_80BBA78(u8);
-void sub_80BBBF4(u8);
+void LoadPageOnceMonFinishedMoving(u8);
void sub_80BBC74(u8);
void sub_80BBD1C(u8);
void sub_80BBDE8(u8);
@@ -154,22 +154,22 @@ void sub_80BC3DC(u8);
void sub_80BC47C(u8);
bool8 sub_80BC514(u8);
static void LoadPokedexBgPalette(u8);
-void sub_80BC890(void);
-void sub_80BC8D4(u8, u8);
+static void FreeWindowAndBgBuffers(void);
+static void CreatePokedexList(u8 dexMode, u8 sortMode);
static void CreateMonDexNum(u16, u8, u8, u16);
static void CreateCaughtBall(u16, u8, u8, u16);
static u8 CreateMonName(u16, u8, u8);
-void sub_80BD28C(u8, u8, u16);
+static void ClearMonListEntry(u8 x, u8 y, u16 unused);
static void CreateInitialPokemonSprites(u16, u16);
bool8 sub_80BD404(u8, u8, u8);
u16 sub_80BD69C(u16, u16);
-void sub_80BD8D0(void);
-bool8 sub_80BD930(void);
-u8 sub_80BDA40(void);
+static void UpdateSelectedMonSpriteId(void);
+static bool8 UpdateSelectedMon(void);
+static u8 ClearMonSprites(void);
u16 GetPokemonSpriteToDisplay(u16);
u32 sub_80BDACC(u16, s16, s16);
static void CreateInterfaceSprites(u8);
-void sub_80BE470(struct Sprite *sprite);
+void MoveMonIntoPosition(struct Sprite *sprite);
static void SpriteCB_Scrollbar(struct Sprite *sprite);
void sub_80BE658(struct Sprite *sprite);
void sub_80BE758(struct Sprite *sprite);
@@ -177,42 +177,42 @@ void sub_80BE780(struct Sprite *sprite);
void sub_80BE44C(struct Sprite *sprite);
void sub_80BE834(struct Sprite *sprite);
void sub_80BE4E0(struct Sprite *sprite);
-u8 sub_80BE91C(struct PokedexListItem*, u8);
+u8 SetupInfoScreen(struct PokedexListItem*, u8 monSpriteId);
bool8 sub_80BE9C4(u8);
u8 sub_80BE9F8(struct PokedexListItem*, u8);
-void sub_80BEA24(u8);
-void sub_80BEDF4(u8);
-void sub_80BEFD0(u8);
-void sub_80BF038(u8);
-void sub_80BF070(u8);
-void sub_80BF0AC(u8);
-void sub_80BF1B4(u8);
+void LoadInfoScreen(u8);
+void ChangePokedexScreen(u8);
+void LoadSelectedScreen(u8);
+void BeginChangeInfoScreen(u8);
+void BeginReturnToPokedex(u8);
+void LoadAreaScreen(u8);
+static void WaitForAreaScreenInput(u8 taskId);
void sub_80BF1EC(u8);
-void sub_80BF250(u8);
+void LoadCryScreen(u8);
void sub_80BF5CC(u8);
void sub_80BF790(u8);
void sub_80BF7FC(u8);
-void sub_80BF82C(u8);
+void LoadSizeScreen(u8);
void sub_80BFBB0(u8);
void sub_80BFC78(u8);
void sub_80BFCDC(u16);
void sub_80BFCF4(u16);
void sub_80BFD0C(u8, u16);
void sub_80BFD7C(u8, u16);
-void sub_80BFE38(u8);
+static void Task_DisplayNewMonData(u8);
void sub_80C0088(u8);
void blockset_load_palette_to_gpu(u8);
void sub_80C01CC(struct Sprite *sprite);
-void sub_80C020C(u32, u32, u32, u32);
-void sub_80C0354(u16, u8, u8);
-void sub_80C0460(u16 weight, u8 left, u8 top);
-void sub_80C09B0(u16);
+static void PrintMonInfo(u32 num, u32, u32 owned, u32 newEntry);
+static void PrintMonHeight(u16 height, u8 left, u8 top);
+static void PrintMonWeight(u16 weight, u8 left, u8 top);
+static void ResetOtherVideoRegisters(u16);
u8 sub_80C0B44(u8, u16, u8, u8);
-void sub_80C0D30(u8, u16);
+static void PrintFootprint(u8 windowId, u16 dexNum);
u16 sub_80C0EF8(u16, s16, s16, s8);
u16 sub_80C0E0C(u8, u16, u16, u16);
-u8 sub_80C1258();
-void sub_80C12E0(u8);
+u8 LoadSearchMenu(void);
+void Task_LoadSearchMenu(u8);
void sub_80C1570(u8);
void sub_80C15B0(u8);
void sub_80C16CC(u8);
@@ -229,7 +229,7 @@ void sub_80C2064(u8, u8);
void sub_80C20F8(u8);
void sub_80C21D4(u8);
void sub_80C2294(u8);
-u8 sub_80C2318(u8, u8);
+static u8 GetSearchModeSelection(u8 taskId, u8 option);
void sub_80C23B8(u8);
void sub_80C2594(u8);
void sub_80C2618(const u8*);
@@ -244,10 +244,10 @@ void sub_80C267C(void);
static const struct OamData sOamData_855CFE4 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -261,10 +261,10 @@ static const struct OamData sOamData_855CFE4 =
static const struct OamData sOamData_855CFEC =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
@@ -278,10 +278,10 @@ static const struct OamData sOamData_855CFEC =
static const struct OamData sOamData_855CFF4 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
@@ -295,10 +295,10 @@ static const struct OamData sOamData_855CFF4 =
static const struct OamData sOamData_855CFFC =
{
.y = 160,
- .affineMode = 0,
- .objMode = 2,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_WINDOW,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -312,10 +312,10 @@ static const struct OamData sOamData_855CFFC =
static const struct OamData sOamData_855D004 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -329,10 +329,10 @@ static const struct OamData sOamData_855D004 =
static const struct OamData sOamData_855D00C =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x16),
.x = 0,
.matrixNum = 0,
@@ -717,7 +717,7 @@ static const struct SpritePalette sInterfaceSpritePalette[] =
static const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20};
static const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1};
-static const struct BgTemplate gBgTemplates_0855D298[] =
+static const struct BgTemplate sPokedex_BgTemplate[] =
{
{
.bg = 0,
@@ -782,7 +782,7 @@ ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
static const u16 gUnknown_0856E610[] = INCBIN_U16("graphics/pokedex/black.gbapal");
-static const struct BgTemplate gUnknown_0856E630[] =
+static const struct BgTemplate sInfoScreen_BgTemplate[] =
{
{
.bg = 0,
@@ -822,9 +822,14 @@ static const struct BgTemplate gUnknown_0856E630[] =
}
};
-static const struct WindowTemplate gUnknown_0856E640[] =
+#define WIN_INFO 0
+#define WIN_FOOTPRINT 1
+#define WIN_CRY_WAVE 2
+#define WIN_VU_METER 3
+
+static const struct WindowTemplate sInfoScreen_WindowTemplates[] =
{
- {
+ { // WIN_INFO
.bg = 2,
.tilemapLeft = 0,
.tilemapTop = 0,
@@ -833,7 +838,7 @@ static const struct WindowTemplate gUnknown_0856E640[] =
.paletteNum = 0,
.baseBlock = 0x0001,
},
- {
+ { // WIN_FOOTPRINT
.bg = 2,
.tilemapLeft = 25,
.tilemapTop = 8,
@@ -842,7 +847,7 @@ static const struct WindowTemplate gUnknown_0856E640[] =
.paletteNum = 15,
.baseBlock = 0x0281,
},
- {
+ { // WIN_CRY_WAVE
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 12,
@@ -851,7 +856,7 @@ static const struct WindowTemplate gUnknown_0856E640[] =
.paletteNum = 8,
.baseBlock = 0x0285,
},
- {
+ { // WIN_VU_METER
.bg = 2,
.tilemapLeft = 18,
.tilemapTop = 3,
@@ -863,7 +868,7 @@ static const struct WindowTemplate gUnknown_0856E640[] =
DUMMY_WIN_TEMPLATE
};
-static const struct BgTemplate gUnknown_0856E668[] =
+static const struct BgTemplate sNewEntryInfoScreen_BgTemplate[] =
{
{
.bg = 2,
@@ -885,9 +890,9 @@ static const struct BgTemplate gUnknown_0856E668[] =
},
};
-static const struct WindowTemplate gUnknown_0856E670[] =
+static const struct WindowTemplate sNewEntryInfoScreen_WindowTemplates[] =
{
- {
+ { // WIN_INFO
.bg = 2,
.tilemapLeft = 0,
.tilemapTop = 0,
@@ -896,7 +901,7 @@ static const struct WindowTemplate gUnknown_0856E670[] =
.paletteNum = 0,
.baseBlock = 0x0001,
},
- {
+ { // WIN_FOOTPRINT
.bg = 2,
.tilemapLeft = 25,
.tilemapTop = 8,
@@ -929,19 +934,19 @@ static const u8 gUnknown_0856ED08[][4] =
static const struct UnknownStruct3 gUnknown_0856ED30[] =
{
{
- .text = gUnknown_085E87A5,
+ .text = gText_SearchForPkmnBasedOnParameters,
.unk4 = 0,
.unk5 = 0,
.unk6 = 5,
},
{
- .text = gUnknown_085E87D6,
+ .text = gText_SwitchPokedexListings,
.unk4 = 6,
.unk5 = 0,
.unk6 = 5,
},
{
- .text = gUnknown_085E87EF,
+ .text = gText_ReturnToPokedex,
.unk4 = 12,
.unk5 = 0,
.unk6 = 5,
@@ -951,7 +956,7 @@ static const struct UnknownStruct3 gUnknown_0856ED30[] =
static const struct UnknownStruct4 gUnknown_0856ED48[] =
{
{
- .text = gUnknown_085E8840,
+ .text = gText_ListByFirstLetter,
.unk4 = 0,
.unk5 = 2,
.unk6 = 5,
@@ -960,7 +965,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] =
.unk9 = 12,
},
{
- .text = gUnknown_085E887C,
+ .text = gText_ListByBodyColor,
.unk4 = 0,
.unk5 = 4,
.unk6 = 5,
@@ -969,7 +974,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] =
.unk9 = 12,
},
{
- .text = gUnknown_085E88A6,
+ .text = gText_ListByType,
.unk4 = 0,
.unk5 = 6,
.unk6 = 5,
@@ -978,7 +983,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] =
.unk9 = 6,
},
{
- .text = gUnknown_085E88A6,
+ .text = gText_ListByType,
.unk4 = 0,
.unk5 = 6,
.unk6 = 5,
@@ -987,7 +992,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] =
.unk9 = 6,
},
{
- .text = gUnknown_085E881F,
+ .text = gText_SelectPokedexListingMode,
.unk4 = 0,
.unk5 = 8,
.unk6 = 5,
@@ -996,7 +1001,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] =
.unk9 = 12,
},
{
- .text = gUnknown_085E8806,
+ .text = gText_SelectPokedexMode,
.unk4 = 0,
.unk5 = 10,
.unk6 = 5,
@@ -1005,7 +1010,7 @@ static const struct UnknownStruct4 gUnknown_0856ED48[] =
.unk9 = 12,
},
{
- .text = gUnknown_085E88C8,
+ .text = gText_ExecuteSearchSwitch,
.unk4 = 0,
.unk5 = 12,
.unk6 = 5,
@@ -1131,9 +1136,34 @@ static const struct PokedexOption gDexSearchTypeOptions[] =
{NULL, NULL},
};
-static const u8 gUnknown_0856EFAC[] = {0x00, 0x01};
-static const u8 gUnknown_0856EFAE[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
-static const u8 gDexSearchTypeIds[] = {
+
+#define SEARCH_NAME 0
+#define SEARCH_COLOR 1
+#define SEARCH_TYPE_1 2
+#define SEARCH_TYPE_2 3
+#define SEARCH_ORDER 4
+#define SEARCH_DEX_MODE 5
+
+#define SORT_NUMERICAL 0
+#define SORT_ALPHABETICAL 1
+#define SORT_HEAVIEST 2
+#define SORT_LIGHTEST 3
+#define SORT_TALLEST 4
+#define SORT_SMALLEST 5
+
+static const u8 sPokedexModes[] = {DEX_MODE_HOENN, DEX_MODE_NATIONAL};
+static const u8 sSortOptions[] =
+{
+ SORT_NUMERICAL,
+ SORT_ALPHABETICAL,
+ SORT_HEAVIEST,
+ SORT_LIGHTEST,
+ SORT_TALLEST,
+ SORT_SMALLEST,
+};
+
+static const u8 gDexSearchTypeIds[] =
+{
TYPE_NONE,
TYPE_NORMAL,
TYPE_FIGHTING,
@@ -1154,7 +1184,7 @@ static const u8 gDexSearchTypeIds[] = {
TYPE_DARK,
};
-static const struct UnknownStruct1 gUnknown_0856EFC8[] =
+static const struct UnknownStruct1 sSearchOptions[] =
{
{gDexSearchAlphaOptions, 6, 7, 10},
{gDexSearchColorOptions, 8, 9, 11},
@@ -1164,7 +1194,7 @@ static const struct UnknownStruct1 gUnknown_0856EFC8[] =
{gDexModeOptions, 2, 3, 2},
};
-static const struct BgTemplate gUnknown_0856EFF8[] =
+static const struct BgTemplate sSearchMenu_BgTemplate[] =
{
{
.bg = 0,
@@ -1204,7 +1234,7 @@ static const struct BgTemplate gUnknown_0856EFF8[] =
}
};
-static const struct WindowTemplate gUnknown_0856F008[] =
+static const struct WindowTemplate sSearchMenu_WindowTemplate[] =
{
{
.bg = 2,
@@ -1280,7 +1310,7 @@ static void ResetPokedexView(struct PokedexView *pokedexView)
pokedexView->seenCount = 0;
pokedexView->ownCount = 0;
for (i = 0; i < 4; i++)
- pokedexView->unk61E[i] = 0xFFFF;
+ pokedexView->monSpriteIds[i] = 0xFFFF;
pokedexView->unk628 = 0;
pokedexView->unk62A = 0;
pokedexView->unk62C = 0;
@@ -1318,7 +1348,7 @@ void CB2_Pokedex(void)
case 0:
default:
SetVBlankCallback(NULL);
- sub_80C09B0(0);
+ ResetOtherVideoRegisters(0);
DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000);
DmaClear32(3, OAM, OAM_SIZE);
DmaClear16(3, PLTT, PLTT_SIZE);
@@ -1347,13 +1377,13 @@ void CB2_Pokedex(void)
sPokedexView->selectedScreen = 0;
if (!IsNationalPokedexEnabled())
{
- sPokedexView->seenCount = GetHoennPokedexCount(0);
- sPokedexView->ownCount = GetHoennPokedexCount(1);
+ sPokedexView->seenCount = GetHoennPokedexCount(FLAG_GET_SEEN);
+ sPokedexView->ownCount = GetHoennPokedexCount(FLAG_GET_CAUGHT);
}
else
{
- sPokedexView->seenCount = GetNationalPokedexCount(0);
- sPokedexView->ownCount = GetNationalPokedexCount(1);
+ sPokedexView->seenCount = GetNationalPokedexCount(FLAG_GET_SEEN);
+ sPokedexView->ownCount = GetNationalPokedexCount(FLAG_GET_CAUGHT);
}
sPokedexView->initialVOffset = 8;
gMain.state++;
@@ -1362,7 +1392,7 @@ void CB2_Pokedex(void)
EnableInterrupts(1);
SetVBlankCallback(sub_80BB370);
SetMainCallback2(sub_80BB774);
- sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder);
+ CreatePokedexList(sPokedexView->dexMode, sPokedexView->dexOrder);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80);
break;
}
@@ -1395,12 +1425,12 @@ void sub_80BB7D4(u8 taskId)
{
if ((gMain.newKeys & A_BUTTON) && sPokedexView->pokedexList[sPokedexView->selectedPokemon].seen)
{
- sub_80BD8D0();
+ UpdateSelectedMonSpriteId();
BeginNormalPaletteFade(~(1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16)), 0, 0, 0x10, RGB_BLACK);
- gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470;
- gTasks[taskId].func = sub_80BBBF4;
+ gSprites[sPokedexView->selectedMonSpriteId].callback = MoveMonIntoPosition;
+ gTasks[taskId].func = LoadPageOnceMonFinishedMoving;
PlaySE(SE_PIN);
- sub_80BC890();
+ FreeWindowAndBgBuffers();
}
else if (gMain.newKeys & START_BUTTON)
{
@@ -1415,7 +1445,7 @@ void sub_80BB7D4(u8 taskId)
{
PlaySE(SE_SELECT);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = sub_80C1258();
+ gTasks[taskId].data[0] = LoadSearchMenu();
sPokedexView->unk64E = 0;
sPokedexView->unk62A = sPokedexView->unk62C;
sPokedexView->unk610 = sPokedexView->selectedPokemon;
@@ -1423,7 +1453,7 @@ void sub_80BB7D4(u8 taskId)
sPokedexView->unk618 = sPokedexView->dexOrder;
gTasks[taskId].func = sub_80BBD1C;
PlaySE(SE_PC_LOGIN);
- sub_80BC890();
+ FreeWindowAndBgBuffers();
}
else if (gMain.newKeys & B_BUTTON)
{
@@ -1469,14 +1499,14 @@ void sub_80BBA78(u8 taskId)
case 1: //LIST TOP
sPokedexView->selectedPokemon = 0;
sPokedexView->unk62C = 0x40;
- sub_80BDA40();
+ ClearMonSprites();
CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; //Exit menu
break;
case 2: //LIST BOTTOM
sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1;
sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30;
- sub_80BDA40();
+ ClearMonSprites();
CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; //Exit menu
break;
@@ -1508,12 +1538,12 @@ void sub_80BBA78(u8 taskId)
}
}
-void sub_80BBBF4(u8 taskId)
+void LoadPageOnceMonFinishedMoving(u8 taskId)
{
if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56)
{
sPokedexView->unk64B = sPokedexView->unk64A;
- gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
+ gTasks[taskId].data[0] = SetupInfoScreen(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
gTasks[taskId].func = sub_80BBC74;
}
}
@@ -1522,7 +1552,7 @@ void sub_80BBC74(u8 taskId)
{
if (gTasks[gTasks[taskId].data[0]].isActive)
{
- if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
+ if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && UpdateSelectedMon())
sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
}
else
@@ -1537,7 +1567,7 @@ void sub_80BBD1C(u8 taskId)
{
if (!gTasks[gTasks[taskId].data[0]].isActive)
{
- sub_80BDA40();
+ ClearMonSprites();
if (sPokedexView->unk64E != 0)
{
sPokedexView->selectedPokemon = 0;
@@ -1565,8 +1595,8 @@ void sub_80BBDE8(u8 taskId)
if (!IsNationalPokedexEnabled())
gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN;
gSaveBlock2Ptr->pokedex.order = sPokedexView->dexOrder;
- sub_80BDA40();
- sub_80BC890();
+ ClearMonSprites();
+ FreeWindowAndBgBuffers();
DestroyTask(taskId);
SetMainCallback2(CB2_ReturnToFieldWithOpenMenu);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
@@ -1595,13 +1625,13 @@ void sub_80BBEB8(u8 taskId)
{
u32 a;
- sub_80BD8D0();
+ UpdateSelectedMonSpriteId();
a = (1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16));
- gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470;
+ gSprites[sPokedexView->selectedMonSpriteId].callback = MoveMonIntoPosition;
BeginNormalPaletteFade(~a, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = sub_80BC2D4;
PlaySE(SE_PIN);
- sub_80BC890();
+ FreeWindowAndBgBuffers();
}
else if (gMain.newKeys & START_BUTTON)
{
@@ -1614,11 +1644,11 @@ void sub_80BBEB8(u8 taskId)
else if (gMain.newKeys & SELECT_BUTTON)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = sub_80C1258();
+ gTasks[taskId].data[0] = LoadSearchMenu();
sPokedexView->unk64E = 0;
gTasks[taskId].func = sub_80BBD1C;
PlaySE(SE_PC_LOGIN);
- sub_80BC890();
+ FreeWindowAndBgBuffers();
}
else if (gMain.newKeys & B_BUTTON)
{
@@ -1663,14 +1693,14 @@ static void HandleButtonPress_StartMenu(u8 taskId)
case 1: //LIST TOP
sPokedexView->selectedPokemon = 0;
sPokedexView->unk62C = 0x40;
- sub_80BDA40();
+ ClearMonSprites();
CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON;
break;
case 2: //LIST BOTTOM
sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1;
sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30;
- sub_80BDA40();
+ ClearMonSprites();
CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON;
break;
@@ -1712,7 +1742,7 @@ void sub_80BC2D4(u8 taskId)
if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56)
{
sPokedexView->unk64B = sPokedexView->unk64A;
- gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
+ gTasks[taskId].data[0] = SetupInfoScreen(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
sPokedexView->selectedMonSpriteId = -1;
gTasks[taskId].func = sub_80BC360;
}
@@ -1722,7 +1752,7 @@ void sub_80BC360(u8 taskId)
{
if (gTasks[gTasks[taskId].data[0]].isActive)
{
- if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
+ if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && UpdateSelectedMon())
sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
}
else
@@ -1742,8 +1772,8 @@ void sub_80BC3DC(u8 taskId)
sPokedexView->dexMode = DEX_MODE_HOENN;
sPokedexView->dexOrder = sPokedexView->unk618;
gTasks[taskId].func = sub_80BB78C;
- sub_80BDA40();
- sub_80BC890();
+ ClearMonSprites();
+ FreeWindowAndBgBuffers();
}
}
@@ -1771,10 +1801,10 @@ bool8 sub_80BC514(u8 a)
return 0;
SetVBlankCallback(NULL);
sPokedexView->unk64A = a;
- sub_80C09B0(0);
+ ResetOtherVideoRegisters(0);
SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gBgTemplates_0855D298, 4);
+ InitBgsFromTemplates(0, sPokedex_BgTemplate, 4);
SetBgTilemapBuffer(3, AllocZeroed(0x800));
SetBgTilemapBuffer(2, AllocZeroed(0x800));
SetBgTilemapBuffer(1, AllocZeroed(0x800));
@@ -1812,7 +1842,7 @@ bool8 sub_80BC514(u8 a)
break;
case 3:
if (a == 0)
- sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder);
+ CreatePokedexList(sPokedexView->dexMode, sPokedexView->dexOrder);
CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
sPokedexView->menuIsOpen = 0;
sPokedexView->menuY = 0;
@@ -1866,7 +1896,7 @@ static void LoadPokedexBgPalette(u8 a)
LoadPalette(GetOverworldTextboxPalettePtr(), 0xF0, 32);
}
-void sub_80BC890(void)
+static void FreeWindowAndBgBuffers(void)
{
void* tilemapBuffer;
@@ -1885,7 +1915,7 @@ void sub_80BC890(void)
Free(tilemapBuffer);
}
-void sub_80BC8D4(u8 dexMode, u8 sortMode)
+static void CreatePokedexList(u8 dexMode, u8 sortMode)
{
u16 vars[3]; //I have no idea why three regular variables are stored in an array, but whatever.
#define temp_dexCount vars[0]
@@ -1918,7 +1948,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
switch (sortMode)
{
- case 0:
+ case SORT_NUMERICAL:
if (temp_isHoennDex)
{
for (i = 0; i < temp_dexCount; i++)
@@ -1955,7 +1985,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
}
}
break;
- case 1:
+ case SORT_ALPHABETICAL:
for (i = 0; i < POKEMON_SLOTS_NUMBER - 1; i++)
{
temp_dexNum = gPokedexOrder_Alphabetical[i];
@@ -1969,7 +1999,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
}
}
break;
- case 2:
+ case SORT_HEAVIEST:
for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--)
{
temp_dexNum = gPokedexOrder_Weight[i];
@@ -1983,7 +2013,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
}
}
break;
- case 3:
+ case SORT_LIGHTEST:
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
temp_dexNum = gPokedexOrder_Weight[i];
@@ -1997,7 +2027,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
}
}
break;
- case 4:
+ case SORT_TALLEST:
for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--)
{
temp_dexNum = gPokedexOrder_Height[i];
@@ -2011,7 +2041,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
}
}
break;
- case 5:
+ case SORT_SMALLEST:
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
temp_dexNum = gPokedexOrder_Height[i];
@@ -2060,11 +2090,11 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c)
{
if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
{
- sub_80BD28C(0x11, i * 2, c);
+ ClearMonListEntry(0x11, i * 2, c);
}
else
{
- sub_80BD28C(0x11, i * 2, c);
+ ClearMonListEntry(0x11, i * 2, c);
if (sPokedexView->pokedexList[_b].seen)
{
CreateMonDexNum(_b, 0x12, i * 2, c);
@@ -2085,11 +2115,11 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c)
_b = b - 5;
if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
{
- sub_80BD28C(0x11, sPokedexView->unk630 * 2, c);
+ ClearMonListEntry(0x11, sPokedexView->unk630 * 2, c);
}
else
{
- sub_80BD28C(0x11, sPokedexView->unk630 * 2, c);
+ ClearMonListEntry(0x11, sPokedexView->unk630 * 2, c);
if (sPokedexView->pokedexList[_b].seen)
{
CreateMonDexNum(_b, 0x12, sPokedexView->unk630 * 2, c);
@@ -2110,10 +2140,10 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c)
if (r2 > 15)
r2 -= 16;
if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
- sub_80BD28C(0x11, r2 * 2, c);
+ ClearMonListEntry(0x11, r2 * 2, c);
else
{
- sub_80BD28C(0x11, r2 * 2, c);
+ ClearMonListEntry(0x11, r2 * 2, c);
if (sPokedexView->pokedexList[_b].seen)
{
CreateMonDexNum(_b, 0x12, r2 * 2, c);
@@ -2168,7 +2198,7 @@ static u8 CreateMonName(u16 num, u8 left, u8 top)
return StringLength(str);
}
-void sub_80BD28C(u8 x, u8 y, u16 unused)
+static void ClearMonListEntry(u8 x, u8 y, u16 unused)
{
FillWindowPixelRect(0, PIXEL_FILL(0), x * 8, y * 8, 0x60, 16);
}
@@ -2182,7 +2212,7 @@ static void CreateInitialPokemonSprites(u16 selectedMon, u16 b)
gPaletteFade.bufferTransferDisabled = TRUE;
for (i = 0; i < 4; i++)
- sPokedexView->unk61E[i] = 0xFFFF;
+ sPokedexView->monSpriteIds[i] = 0xFFFF;
sPokedexView->selectedMonSpriteId = 0xFFFF;
unk = GetPokemonSpriteToDisplay(selectedMon - 1);
@@ -2231,8 +2261,8 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c)
case 1:
for (i = 0; i < 4; i++)
{
- if (sPokedexView->unk61E[i] != 0xFFFF)
- gSprites[sPokedexView->unk61E[i]].data[5] += b;
+ if (sPokedexView->monSpriteIds[i] != 0xFFFF)
+ gSprites[sPokedexView->monSpriteIds[i]].data[5] += b;
}
foo = 16 * (c - sPokedexView->unk62E) / c;
SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 - foo);
@@ -2241,8 +2271,8 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c)
case 2:
for (i = 0; i < 4; i++)
{
- if (sPokedexView->unk61E[i] != 0xFFFF)
- gSprites[sPokedexView->unk61E[i]].data[5] -= b;
+ if (sPokedexView->monSpriteIds[i] != 0xFFFF)
+ gSprites[sPokedexView->monSpriteIds[i]].data[5] -= b;
}
foo = 16 * (c - sPokedexView->unk62E) / c;
SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 + foo);
@@ -2326,7 +2356,7 @@ u16 sub_80BD69C(u16 selectedMon, u16 b)
for (i = 0; i < 7; i++)
selectedMon = sub_80C0E0C(1, selectedMon, 0, sPokedexView->pokemonListCount - 1);
sPokedexView->unk62C += 16 * (selectedMon - r6);
- sub_80BDA40();
+ ClearMonSprites();
CreateInitialPokemonSprites(selectedMon, 0xE);
PlaySE(SE_Z_PAGE);
}
@@ -2336,7 +2366,7 @@ u16 sub_80BD69C(u16 selectedMon, u16 b)
for (i = 0; i < 7; i++)
selectedMon = sub_80C0E0C(0, selectedMon, 0, sPokedexView->pokemonListCount - 1);
sPokedexView->unk62C += (selectedMon - r6) * 16;
- sub_80BDA40();
+ ClearMonSprites();
CreateInitialPokemonSprites(selectedMon, 0xE);
PlaySE(SE_Z_PAGE);
}
@@ -2360,20 +2390,20 @@ u16 sub_80BD69C(u16 selectedMon, u16 b)
return selectedMon;
}
-void sub_80BD8D0(void)
+static void UpdateSelectedMonSpriteId(void)
{
u16 i;
for (i = 0; i < 4; i++)
{
- u16 spriteId = sPokedexView->unk61E[i];
+ u16 spriteId = sPokedexView->monSpriteIds[i];
if (gSprites[spriteId].pos2.x == 0 && gSprites[spriteId].pos2.y == 0 && spriteId != 0xFFFF)
sPokedexView->selectedMonSpriteId = spriteId;
}
}
-u8 sub_80BD930(void)
+static bool8 UpdateSelectedMon(void)
{
u16 r2;
u16 r4 = sPokedexView->selectedPokemon;
@@ -2427,16 +2457,16 @@ u8 sub_80BD930(void)
return FALSE;
}
-u8 sub_80BDA40(void)
+static u8 ClearMonSprites(void)
{
u16 i;
for (i = 0; i < 4; i++)
{
- if (sPokedexView->unk61E[i] != 0xFFFF)
+ if (sPokedexView->monSpriteIds[i] != 0xFFFF)
{
- FreeAndDestroyMonPicSprite(sPokedexView->unk61E[i]);
- sPokedexView->unk61E[i] = 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[i]);
+ sPokedexView->monSpriteIds[i] = 0xFFFF;
}
}
return FALSE;
@@ -2458,16 +2488,16 @@ u32 sub_80BDACC(u16 num, s16 x, s16 y)
for (i = 0; i < 4; i++)
{
- if (sPokedexView->unk61E[i] == 0xFFFF)
+ if (sPokedexView->monSpriteIds[i] == 0xFFFF)
{
u8 spriteId = CreateMonSpriteFromNationalDexNumber(num, x, y, i);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.priority = 3;
gSprites[spriteId].data[0] = 0;
gSprites[spriteId].data[1] = i;
gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(num);
- sPokedexView->unk61E[i] = spriteId;
+ sPokedexView->monSpriteIds[i] = spriteId;
return spriteId;
}
}
@@ -2501,13 +2531,13 @@ static void CreateInterfaceSprites(u8 a)
StartSpriteAnim(&gSprites[spriteId], 1);
spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 30;
gSprites[spriteId].data[0] = 0x1E;
gSprites[spriteId].data[1] = 0;
spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 31;
gSprites[spriteId].data[0] = 0x1F;
gSprites[spriteId].data[1] = 0x80;
@@ -2583,7 +2613,7 @@ static void CreateInterfaceSprites(u8 a)
spriteId = CreateSprite(&gUnknown_0855D20C, 17, 91, 1);
StartSpriteAnim(&gSprites[spriteId], 1);
- r6 = GetHoennPokedexCount(0);
+ r6 = GetHoennPokedexCount(FLAG_GET_SEEN);
_a = 0;
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 45, 1);
@@ -2626,7 +2656,7 @@ static void CreateInterfaceSprites(u8 a)
r5 = (sPokedexView->seenCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
- r6 = GetHoennPokedexCount(1);
+ r6 = GetHoennPokedexCount(FLAG_GET_CAUGHT);
_a = 0;
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 81, 1);
@@ -2690,10 +2720,10 @@ void sub_80BE44C(struct Sprite *sprite)
}
//Move Pokemon into position for description page
-void sub_80BE470(struct Sprite *sprite)
+void MoveMonIntoPosition(struct Sprite *sprite)
{
sprite->oam.priority = 0;
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
sprite->pos2.x = 0;
sprite->pos2.y = 0;
if (sprite->pos1.x != 48 || sprite->pos1.y != 56)
@@ -2720,8 +2750,8 @@ void sub_80BE4E0(struct Sprite *sprite)
if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
- FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]);
- sPokedexView->unk61E[data1] = 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[data1]);
+ sPokedexView->monSpriteIds[data1] = 0xFFFF;
}
else
{
@@ -2746,8 +2776,8 @@ void sub_80BE4E0(struct Sprite *sprite)
if ((sprite->data[5] <= -64 || sprite->data[5] >= 64) && sprite->data[0] != 0)
{
- FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]);
- sPokedexView->unk61E[data1] = 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[data1]);
+ sPokedexView->monSpriteIds[data1] = 0xFFFF;
}
}
}
@@ -2850,7 +2880,7 @@ void sub_80BE834(struct Sprite *sprite)
}
}
-void sub_80BE8DC(const u8* str, u8 left, u8 top)
+static void PrintInfoPageText(const u8* str, u8 left, u8 top)
{
u8 color[3];
color[0] = 0;
@@ -2860,25 +2890,27 @@ void sub_80BE8DC(const u8* str, u8 left, u8 top)
AddTextPrinterParameterized4(0, 1, left, top, 0, 0, color, -1, str);
}
-u8 sub_80BE91C(struct PokedexListItem* item, u8 b)
+#define tMonSpriteId data[4]
+
+u8 SetupInfoScreen(struct PokedexListItem* item, u8 monSpriteId)
{
u8 taskId;
sPokedexListItem = item;
- taskId = CreateTask(sub_80BEA24, 0);
+ taskId = CreateTask(LoadInfoScreen, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 1;
gTasks[taskId].data[2] = 0;
gTasks[taskId].data[3] = 0;
- gTasks[taskId].data[4] = b;
+ gTasks[taskId].tMonSpriteId = monSpriteId;
gTasks[taskId].data[5] = 255;
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_0856E630, 4);
+ InitBgsFromTemplates(0, sInfoScreen_BgTemplate, 4);
SetBgTilemapBuffer(3, AllocZeroed(0x800));
SetBgTilemapBuffer(2, AllocZeroed(0x800));
SetBgTilemapBuffer(1, AllocZeroed(0x800));
SetBgTilemapBuffer(0, AllocZeroed(0x800));
- InitWindows(gUnknown_0856E640);
+ InitWindows(sInfoScreen_WindowTemplates);
DeactivateAllTextPrinters();
return taskId;
@@ -2886,7 +2918,7 @@ u8 sub_80BE91C(struct PokedexListItem* item, u8 b)
bool8 sub_80BE9C4(u8 taskId)
{
- if (gTasks[taskId].data[0] == 0 && gTasks[taskId].func == sub_80BEDF4)
+ if (gTasks[taskId].data[0] == 0 && gTasks[taskId].func == ChangePokedexScreen)
return FALSE;
else
return TRUE;
@@ -2902,7 +2934,7 @@ u8 sub_80BE9F8(struct PokedexListItem *item, u8 b)
return b;
}
-void sub_80BEA24(u8 taskId)
+void LoadInfoScreen(u8 taskId)
{
switch (gMain.state)
{
@@ -2917,21 +2949,21 @@ void sub_80BEA24(u8 taskId)
SetVBlankCallback(NULL);
r2 = 0;
if (gTasks[taskId].data[1] != 0)
- r2 += 0x1000;
+ r2 += DISPCNT_OBJ_ON;
if (gTasks[taskId].data[2] != 0)
- r2 |= 0x200;
- sub_80C09B0(r2);
+ r2 |= DISPCNT_BG1_ON;
+ ResetOtherVideoRegisters(r2);
gMain.state = 1;
}
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0);
- FillWindowPixelBuffer(0, PIXEL_FILL(0));
- PutWindowTilemap(0);
- PutWindowTilemap(1);
- sub_80C0D30(1, sPokedexListItem->dexNum);
- CopyWindowToVram(1, 2);
+ FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
+ PutWindowTilemap(WIN_INFO);
+ PutWindowTilemap(WIN_FOOTPRINT);
+ PrintFootprint(WIN_FOOTPRINT, sPokedexListItem->dexNum);
+ CopyWindowToVram(WIN_FOOTPRINT, 2);
gMain.state++;
break;
case 2:
@@ -2944,10 +2976,10 @@ void sub_80BEA24(u8 taskId)
gMain.state++;
break;
case 4:
- sub_80C020C(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0);
+ PrintMonInfo(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0);
if (!sPokedexListItem->owned)
LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E);
- CopyWindowToVram(0, 3);
+ CopyWindowToVram(WIN_INFO, 3);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3);
@@ -2956,20 +2988,20 @@ void sub_80BEA24(u8 taskId)
case 5:
if (gTasks[taskId].data[1] == 0)
{
- gTasks[taskId].data[4] = (u16)CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0);
- gSprites[gTasks[taskId].data[4]].oam.priority = 0;
+ gTasks[taskId].tMonSpriteId = (u16)CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0);
+ gSprites[gTasks[taskId].tMonSpriteId].oam.priority = 0;
}
gMain.state++;
break;
case 6:
{
- u32 r3 = 0;
+ u32 preservedPalettes = 0;
if (gTasks[taskId].data[2] != 0)
- r3 = 0x14;
+ preservedPalettes = 0x14; // each bit represents a palette index
if (gTasks[taskId].data[1] != 0)
- r3 |= (1 << (gSprites[gTasks[taskId].data[4]].oam.paletteNum + 16));
- BeginNormalPaletteFade(~r3, 0, 16, 0, RGB_BLACK);
+ preservedPalettes |= (1 << (gSprites[gTasks[taskId].tMonSpriteId].oam.paletteNum + 16));
+ BeginNormalPaletteFade(~preservedPalettes, 0, 16, 0, RGB_BLACK);
SetVBlankCallback(gUnknown_030060B4);
gMain.state++;
}
@@ -3009,13 +3041,13 @@ void sub_80BEA24(u8 taskId)
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = 1;
gTasks[taskId].data[3] = 1;
- gTasks[taskId].func = sub_80BEDF4;
+ gTasks[taskId].func = ChangePokedexScreen;
gMain.state = 0;
break;
}
}
-void sub_80BEDB0(void)
+static void FreeWindowAndBgBuffers_(void)
{
void *r0;
FreeAllWindowBuffers();
@@ -3033,19 +3065,19 @@ void sub_80BEDB0(void)
Free(r0);
}
-void sub_80BEDF4(u8 taskId)
+void ChangePokedexScreen(u8 taskId)
{
if (gTasks[taskId].data[0] != 0)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gTasks[taskId].func = sub_80BF038;
+ gTasks[taskId].func = BeginChangeInfoScreen;
PlaySE(SE_Z_SCROLL);
return;
}
if (gMain.newKeys & B_BUTTON)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gTasks[taskId].func = sub_80BF070;
+ gTasks[taskId].func = BeginReturnToPokedex;
PlaySE(SE_PC_OFF);
return;
}
@@ -3056,13 +3088,13 @@ void sub_80BEDF4(u8 taskId)
case AREA_SCREEN:
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB_BLACK);
sPokedexView->unk64E = 1;
- gTasks[taskId].func = sub_80BEFD0;
+ gTasks[taskId].func = LoadSelectedScreen;
PlaySE(SE_PIN);
break;
case CRY_SCREEN:
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
sPokedexView->unk64E = 2;
- gTasks[taskId].func = sub_80BEFD0;
+ gTasks[taskId].func = LoadSelectedScreen;
PlaySE(SE_PIN);
break;
case SIZE_SCREEN:
@@ -3074,13 +3106,13 @@ void sub_80BEDF4(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
sPokedexView->unk64E = 3;
- gTasks[taskId].func = sub_80BEFD0;
+ gTasks[taskId].func = LoadSelectedScreen;
PlaySE(SE_PIN);
}
break;
case CANCEL_SCREEN:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].func = sub_80BF070;
+ gTasks[taskId].func = BeginReturnToPokedex;
PlaySE(SE_PC_OFF);
break;
}
@@ -3106,47 +3138,47 @@ void sub_80BEDF4(u8 taskId)
}
}
-void sub_80BEFD0(u8 taskId)
+void LoadSelectedScreen(u8 taskId)
{
if (!gPaletteFade.active)
{
- FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
+ FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId);
switch (sPokedexView->unk64E)
{
case 1:
default:
- gTasks[taskId].func = sub_80BF0AC;
+ gTasks[taskId].func = LoadAreaScreen;
break;
case 2:
- gTasks[taskId].func = sub_80BF250;
+ gTasks[taskId].func = LoadCryScreen;
break;
case 3:
- gTasks[taskId].func = sub_80BF82C;
+ gTasks[taskId].func = LoadSizeScreen;
break;
}
}
}
-void sub_80BF038(u8 taskId)
+void BeginChangeInfoScreen(u8 taskId)
{
if (!gPaletteFade.active)
{
- FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
- gTasks[taskId].func = sub_80BEA24;
+ FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId);
+ gTasks[taskId].func = LoadInfoScreen;
}
}
-void sub_80BF070(u8 taskId)
+void BeginReturnToPokedex(u8 taskId)
{
if (!gPaletteFade.active)
{
- FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
- sub_80BEDB0();
+ FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId);
+ FreeWindowAndBgBuffers_();
DestroyTask(taskId);
}
}
-void sub_80BF0AC(u8 taskId)
+void LoadAreaScreen(u8 taskId)
{
switch (gMain.state)
{
@@ -3157,7 +3189,7 @@ void sub_80BF0AC(u8 taskId)
sPokedexView->unk64A = 5;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
- sub_80C09B0(0x200);
+ ResetOtherVideoRegisters(DISPCNT_BG1_ON);
sPokedexView->selectedScreen = AREA_SCREEN;
gMain.state = 1;
}
@@ -3174,13 +3206,14 @@ void sub_80BF0AC(u8 taskId)
SetVBlankCallback(gUnknown_030060B4);
sPokedexView->unk64E = 0;
gMain.state = 0;
- gTasks[taskId].func = sub_80BF1B4;
+ gTasks[taskId].func = WaitForAreaScreenInput;
break;
}
}
-void sub_80BF1B4(u8 taskId)
+static void WaitForAreaScreenInput(u8 taskId)
{
+// See Task_PokedexAreaScreen_1() in pokedex_area_screen.c
if (sPokedexView->unk64E != 0)
gTasks[taskId].func = sub_80BF1EC;
}
@@ -3193,16 +3226,16 @@ void sub_80BF1EC(u8 taskId)
{
case 1:
default:
- gTasks[taskId].func = sub_80BEA24;
+ gTasks[taskId].func = LoadInfoScreen;
break;
case 2:
- gTasks[taskId].func = sub_80BF250;
+ gTasks[taskId].func = LoadCryScreen;
break;
}
}
}
-void sub_80BF250(u8 taskId)
+void LoadCryScreen(u8 taskId)
{
switch (gMain.state)
{
@@ -3214,7 +3247,7 @@ void sub_80BF250(u8 taskId)
sPokedexView->unk64A = 6;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
- sub_80C09B0(0x200);
+ ResetOtherVideoRegisters(DISPCNT_BG1_ON);
sPokedexView->selectedScreen = CRY_SCREEN;
gMain.state = 1;
}
@@ -3222,10 +3255,10 @@ void sub_80BF250(u8 taskId)
case 1:
DecompressAndLoadBgGfxUsingHeap(3, &gPokedexMenu_Gfx, 0x2000, 0, 0);
CopyToBgTilemapBuffer(3, &gPokedexTilemap_CryScreen, 0, 0);
- FillWindowPixelBuffer(0, PIXEL_FILL(0));
- PutWindowTilemap(0);
- PutWindowTilemap(3);
- PutWindowTilemap(2);
+ FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
+ PutWindowTilemap(WIN_INFO);
+ PutWindowTilemap(WIN_VU_METER);
+ PutWindowTilemap(WIN_CRY_WAVE);
gMain.state++;
break;
case 2:
@@ -3239,13 +3272,13 @@ void sub_80BF250(u8 taskId)
gMain.state++;
break;
case 4:
- sub_80BE8DC(gText_CryOf, 0x52, 33);
+ PrintInfoPageText(gText_CryOf, 0x52, 33);
sub_80C0B44(0, sPokedexListItem->dexNum, 0x52, 49);
gMain.state++;
break;
case 5:
- gTasks[taskId].data[4] = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0);
- gSprites[gTasks[taskId].data[4]].oam.priority = 0;
+ gTasks[taskId].tMonSpriteId = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0);
+ gSprites[gTasks[taskId].tMonSpriteId].oam.priority = 0;
gDexCryScreenState = 0;
gMain.state++;
break;
@@ -3274,8 +3307,8 @@ void sub_80BF250(u8 taskId)
spC.yPos = 3;
if (sub_8145850(&spC, 3) != 0)
gMain.state++;
- CopyWindowToVram(3, 2);
- CopyWindowToVram(0, 3);
+ CopyWindowToVram(WIN_VU_METER, 2);
+ CopyWindowToVram(WIN_INFO, 3);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -3367,18 +3400,18 @@ void sub_80BF790(u8 taskId)
if (!gPaletteFade.active)
{
sub_8145914();
- FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
+ FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId);
switch (sPokedexView->unk64E)
{
default:
case 1:
- gTasks[taskId].func = sub_80BEA24;
+ gTasks[taskId].func = LoadInfoScreen;
break;
case 2:
- gTasks[taskId].func = sub_80BF0AC;
+ gTasks[taskId].func = LoadAreaScreen;
break;
case 3:
- gTasks[taskId].func = sub_80BF82C;
+ gTasks[taskId].func = LoadSizeScreen;
break;
}
}
@@ -3395,7 +3428,7 @@ void sub_80BF7FC(u8 a)
LoadPalette(&unk, 0x5D, 2);
}
-void sub_80BF82C(u8 taskId)
+void LoadSizeScreen(u8 taskId)
{
u8 spriteId;
@@ -3408,7 +3441,7 @@ void sub_80BF82C(u8 taskId)
sPokedexView->unk64A = 7;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
- sub_80C09B0(0x200);
+ ResetOtherVideoRegisters(DISPCNT_BG1_ON);
sPokedexView->selectedScreen = SIZE_SCREEN;
gMain.state = 1;
}
@@ -3416,8 +3449,8 @@ void sub_80BF82C(u8 taskId)
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
CopyToBgTilemapBuffer(3, gPokedexTilemap_SizeScreen, 0, 0);
- FillWindowPixelBuffer(0, PIXEL_FILL(0));
- PutWindowTilemap(0);
+ FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
+ PutWindowTilemap(WIN_INFO);
gMain.state++;
break;
case 2:
@@ -3432,7 +3465,7 @@ void sub_80BF82C(u8 taskId)
StringCopy(string, gText_SizeComparedTo);
StringAppend(string, gSaveBlock2Ptr->playerName);
- sub_80BE8DC(string, GetStringCenterAlignXOffset(1, string, 0xF0), 0x79);
+ PrintInfoPageText(string, GetStringCenterAlignXOffset(1, string, 0xF0), 0x79);
gMain.state++;
}
break;
@@ -3442,7 +3475,7 @@ void sub_80BF82C(u8 taskId)
break;
case 5:
spriteId = sub_80C0EF8(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), 152, 56, 0);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1;
gSprites[spriteId].oam.priority = 0;
gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].trainerOffset;
@@ -3453,14 +3486,14 @@ void sub_80BF82C(u8 taskId)
break;
case 6:
spriteId = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 88, 56, 1);
- gSprites[spriteId].oam.affineMode = 1;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 2;
gSprites[spriteId].oam.priority = 0;
gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].pokemonOffset;
SetOamMatrix(2, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale);
LoadPalette(gUnknown_0856E610, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20);
- gTasks[taskId].data[4] = spriteId;
- CopyWindowToVram(0, 3);
+ gTasks[taskId].tMonSpriteId = spriteId;
+ CopyWindowToVram(WIN_INFO, 3);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3);
@@ -3516,16 +3549,16 @@ void sub_80BFC78(u8 taskId)
{
if (!gPaletteFade.active)
{
- FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
+ FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId);
FreeAndDestroyTrainerPicSprite(gTasks[taskId].data[5]);
switch (sPokedexView->unk64E)
{
default:
case 1:
- gTasks[taskId].func = sub_80BEA24;
+ gTasks[taskId].func = LoadInfoScreen;
break;
case 2:
- gTasks[taskId].func = sub_80BF250;
+ gTasks[taskId].func = LoadCryScreen;
break;
}
}
@@ -3729,7 +3762,7 @@ _080BFDB4:\n\
u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 b, u32 c)
{
- u8 taskId = CreateTask(sub_80BFE38, 0);
+ u8 taskId = CreateTask(Task_DisplayNewMonData, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = dexNum;
@@ -3740,7 +3773,7 @@ u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 b, u32 c)
return taskId;
}
-void sub_80BFE38(u8 taskId)
+static void Task_DisplayNewMonData(u8 taskId)
{
u8 spriteId;
u16 dexNum = gTasks[taskId].data[1];
@@ -3753,12 +3786,12 @@ void sub_80BFE38(u8 taskId)
{
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
- sub_80C09B0(0x100);
+ ResetOtherVideoRegisters(DISPCNT_BG0_ON);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_0856E668, 2);
+ InitBgsFromTemplates(0, sNewEntryInfoScreen_BgTemplate, 2);
SetBgTilemapBuffer(3, AllocZeroed(0x800));
SetBgTilemapBuffer(2, AllocZeroed(0x800));
- InitWindows(gUnknown_0856E670);
+ InitWindows(sNewEntryInfoScreen_WindowTemplates);
DeactivateAllTextPrinters();
gTasks[taskId].data[0] = 1;
}
@@ -3766,11 +3799,11 @@ void sub_80BFE38(u8 taskId)
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0);
- FillWindowPixelBuffer(0, PIXEL_FILL(0));
- PutWindowTilemap(0);
- PutWindowTilemap(1);
- sub_80C0D30(1, gTasks[taskId].data[1]);
- CopyWindowToVram(1, 2);
+ FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
+ PutWindowTilemap(WIN_INFO);
+ PutWindowTilemap(WIN_FOOTPRINT);
+ PrintFootprint(WIN_FOOTPRINT, gTasks[taskId].data[1]);
+ CopyWindowToVram(WIN_FOOTPRINT, 2);
ResetPaletteFade();
LoadPokedexBgPalette(0);
gTasks[taskId].data[0]++;
@@ -3779,8 +3812,8 @@ void sub_80BFE38(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 3:
- sub_80C020C(dexNum, IsNationalPokedexEnabled(), 1, 1);
- CopyWindowToVram(0, 3);
+ PrintMonInfo(dexNum, IsNationalPokedexEnabled(), 1, 1);
+ CopyWindowToVram(WIN_INFO, 3);
CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3);
gTasks[taskId].data[0]++;
@@ -3874,7 +3907,7 @@ void sub_80C01CC(struct Sprite *sprite)
sprite->pos1.y -= 1;
}
-void sub_80C020C(u32 num, u32 value, u32 c, u32 d)
+static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry)
{
u8 str[0x10];
u8 str2[0x20];
@@ -3883,21 +3916,21 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d)
const u8 *text2;
const u8 *text3;
- if (d)
- sub_80BE8DC(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0);
+ if (newEntry)
+ PrintInfoPageText(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0);
if (value == 0)
value = NationalToHoennOrder(num);
else
value = num;
- ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), value, 2, 3);
- sub_80BE8DC(str, 0x60, 0x19);
+ ConvertIntToDecimalStringN(StringCopy(str, gText_NumberClear01), value, STR_CONV_MODE_LEADING_ZEROS, 3);
+ PrintInfoPageText(str, 0x60, 0x19);
natNum = NationalPokedexNumToSpecies(num);
if (natNum)
text = gSpeciesNames[natNum];
else
text = sText_TenDashes2;
- sub_80BE8DC(text, 0x84, 0x19);
- if (c)
+ PrintInfoPageText(text, 0x84, 0x19);
+ if (owned)
{
CopyMonCategoryText(num, str2);
text2 = str2;
@@ -3906,27 +3939,27 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d)
{
text2 = gText_5MarksPokemon;
}
- sub_80BE8DC(text2, 0x64, 0x29);
- sub_80BE8DC(gText_HTHeight, 0x60, 0x39);
- sub_80BE8DC(gText_WTWeight, 0x60, 0x49);
- if (c)
+ PrintInfoPageText(text2, 0x64, 0x29);
+ PrintInfoPageText(gText_HTHeight, 0x60, 0x39);
+ PrintInfoPageText(gText_WTWeight, 0x60, 0x49);
+ if (owned)
{
- sub_80C0354(gPokedexEntries[num].height, 0x81, 0x39);
- sub_80C0460(gPokedexEntries[num].weight, 0x81, 0x49);
+ PrintMonHeight(gPokedexEntries[num].height, 0x81, 0x39);
+ PrintMonWeight(gPokedexEntries[num].weight, 0x81, 0x49);
}
else
{
- sub_80BE8DC(gText_UnkHeight, 0x81, 0x39);
- sub_80BE8DC(gText_UnkWeight, 0x81, 0x49);
+ PrintInfoPageText(gText_UnkHeight, 0x81, 0x39);
+ PrintInfoPageText(gText_UnkWeight, 0x81, 0x49);
}
- if (c)
+ if (owned)
text3 = gPokedexEntries[num].description;
else
text3 = gExpandedPlaceholder_PokedexDescription;
- sub_80BE8DC(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F);
+ PrintInfoPageText(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F);
}
-void sub_80C0354(u16 height, u8 left, u8 top)
+static void PrintMonHeight(u16 height, u8 left, u8 top)
{
u8 buffer[16];
u32 inches, feet;
@@ -3956,13 +3989,13 @@ void sub_80C0354(u16 height, u8 left, u8 top)
buffer[i++] = (inches % 10) + CHAR_0;
buffer[i++] = CHAR_DBL_QUOT_RIGHT;
buffer[i++] = EOS;
- sub_80BE8DC(buffer, left, top);
+ PrintInfoPageText(buffer, left, top);
}
#ifdef NONMATCHING
// This doesn't match because gcc manages to avoid using the stack
// to store local variables.
-void sub_80C0460(u16 weight, u8 left, u8 top)
+static void PrintMonWeight(u16 weight, u8 left, u8 top)
{
u8 buffer[16];
bool8 output;
@@ -4018,11 +4051,11 @@ void sub_80C0460(u16 weight, u8 left, u8 top)
buffer[i++] = CHAR_s;
buffer[i++] = CHAR_PERIOD;
buffer[i++] = EOS;
- sub_80BE8DC(buffer, left, top);
+ PrintInfoPageText(buffer, left, top);
}
#else
__attribute__((naked))
-void sub_80C0460(u16 weight, u8 left, u8 top)
+static void PrintMonWeight(u16 weight, u8 left, u8 top)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
@@ -4227,7 +4260,7 @@ _080C0552:\n\
mov r0, sp\n\
mov r1, r10\n\
ldr r2, [sp, 0x10]\n\
- bl sub_80BE8DC\n\
+ bl PrintInfoPageText\n\
add sp, 0x14\n\
pop {r3-r5}\n\
mov r8, r3\n\
@@ -4240,7 +4273,7 @@ _080C0552:\n\
}
#endif
-const u8 *sub_80C0620(u16 dexNum)
+const u8 *GetPokedexCategoryName(u16 dexNum) // unused
{
return gPokedexEntries[dexNum].categoryName;
}
@@ -4428,7 +4461,7 @@ bool16 HasAllMons(void)
return TRUE;
}
-void sub_80C09B0(u16 a)
+static void ResetOtherVideoRegisters(u16 a)
{
if (!(a & DISPCNT_BG0_ON))
{
@@ -4477,7 +4510,7 @@ void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top)
AddTextPrinterParameterized4(windowId, 1, left, top, 0, 0, color, -1, str);
}
-void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top)
+void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) // unused
{
u8 str[4];
@@ -4511,7 +4544,7 @@ u8 sub_80C0B44(u8 windowId, u16 num, u8 left, u8 top)
return i;
}
-void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top)
+void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) // unused
{
u8 str2[11];
u8 i;
@@ -4527,7 +4560,7 @@ void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top)
sub_80C0A88(windowId, str2, left, top);
}
-void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top)
+void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) // unused
{
u8 str[6];
bool8 outputted = FALSE;
@@ -4564,10 +4597,10 @@ void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top)
sub_80C0A88(windowId, str, left, top);
}
-void sub_80C0D30(u8 windowId, u16 a1)
+static void PrintFootprint(u8 windowId, u16 dexNum)
{
u8 image[32 * 4];
- const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(a1)];
+ const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(dexNum)];
u16 r5 = 0;
u16 i;
u16 j;
@@ -4656,7 +4689,7 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8
u16 resultsCount;
u8 types[2];
- sub_80BC8D4(dexMode, sortMode);
+ CreatePokedexList(dexMode, sortMode);
for (i = 0, resultsCount = 0; i < NATIONAL_DEX_COUNT; i++)
{
@@ -4764,9 +4797,9 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8
return resultsCount;
}
-u8 sub_80C1258(void)
+u8 LoadSearchMenu(void)
{
- return CreateTask(sub_80C12E0, 0);
+ return CreateTask(Task_LoadSearchMenu, 0);
}
void sub_80C1270(const u8 *str, u32 left, u32 top)
@@ -4784,7 +4817,7 @@ void sub_80C12B0(u32 x, u32 y, u32 width, u32 height)
FillWindowPixelRect(0, PIXEL_FILL(0), x, y, width, height);
}
-void sub_80C12E0(u8 taskId)
+void Task_LoadSearchMenu(u8 taskId)
{
u16 i;
@@ -4795,14 +4828,14 @@ void sub_80C12E0(u8 taskId)
if (!gPaletteFade.active)
{
sPokedexView->unk64A = 2;
- sub_80C09B0(0);
+ ResetOtherVideoRegisters(0);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_0856EFF8, 4);
+ InitBgsFromTemplates(0, sSearchMenu_BgTemplate, 4);
SetBgTilemapBuffer(3, AllocZeroed(0x800));
SetBgTilemapBuffer(2, AllocZeroed(0x800));
SetBgTilemapBuffer(1, AllocZeroed(0x800));
SetBgTilemapBuffer(0, AllocZeroed(0x800));
- InitWindows(gUnknown_0856F008);
+ InitWindows(sSearchMenu_WindowTemplate);
DeactivateAllTextPrinters();
PutWindowTilemap(0);
DecompressAndLoadBgGfxUsingHeap(3, gPokedexSearchMenu_Gfx, 0x2000, 0, 0);
@@ -4975,11 +5008,11 @@ void sub_80C170C(u8 taskId)
sPokedexView->unk62A = 0x40;
gUnknown_02039B50 = 0;
sPokedexView->unk610 = 0;
- gSaveBlock2Ptr->pokedex.mode = sub_80C2318(taskId, 5);
+ gSaveBlock2Ptr->pokedex.mode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE);
if (!IsNationalPokedexEnabled())
gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN;
sPokedexView->unk614 = gSaveBlock2Ptr->pokedex.mode;
- gSaveBlock2Ptr->pokedex.order = sub_80C2318(taskId, 4);
+ gSaveBlock2Ptr->pokedex.order = GetSearchModeSelection(taskId, SEARCH_ORDER);
sPokedexView->unk618 = gSaveBlock2Ptr->pokedex.order;
PlaySE(SE_PC_OFF);
gTasks[taskId].func = sub_80C1D38;
@@ -5036,14 +5069,14 @@ void sub_80C170C(u8 taskId)
void sub_80C19A4(u8 taskId)
{
- u8 r10 = sub_80C2318(taskId, 5);
- u8 r9 = sub_80C2318(taskId, 4);
- u8 r8 = sub_80C2318(taskId, 0);
- u8 r6 = sub_80C2318(taskId, 1);
- u8 r4 = sub_80C2318(taskId, 2);
- u8 r0 = sub_80C2318(taskId, 3);
+ u8 dexMode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE);
+ u8 sortMode = GetSearchModeSelection(taskId, SEARCH_ORDER);
+ u8 abcGroup = GetSearchModeSelection(taskId, SEARCH_NAME);
+ u8 bodyColor = GetSearchModeSelection(taskId, SEARCH_COLOR);
+ u8 type1 = GetSearchModeSelection(taskId, SEARCH_TYPE_1);
+ u8 type2 = GetSearchModeSelection(taskId, SEARCH_TYPE_2);
- sub_80C0F30(r10, r9, r8, r6, r4, r0);
+ sub_80C0F30(dexMode, sortMode, abcGroup, bodyColor, type1, type2);
gTasks[taskId].func = sub_80C1A4C;
}
@@ -5059,7 +5092,7 @@ void sub_80C1A4C(u8 taskId)
else
{
PlaySE(SE_HAZURE);
- sub_80C2618(gUnknown_085E8785);
+ sub_80C2618(gText_NoMatchingPkmnWereFound);
}
gTasks[taskId].func = sub_80C1AB8;
CopyWindowToVram(0, 2);
@@ -5073,8 +5106,8 @@ void sub_80C1AB8(u8 taskId)
if (sPokedexView->pokemonListCount != 0)
{
sPokedexView->unk64E = 1;
- sPokedexView->dexMode = sub_80C2318(taskId, 5);
- sPokedexView->dexOrder = sub_80C2318(taskId, 4);
+ sPokedexView->dexMode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE);
+ sPokedexView->dexOrder = GetSearchModeSelection(taskId, SEARCH_ORDER);
gTasks[taskId].func = sub_80C1D38;
PlaySE(SE_PC_OFF);
}
@@ -5094,8 +5127,8 @@ void sub_80C1B64(u8 taskId)
sub_80C21D4(0);
r0 = gTasks[taskId].data[1];
- p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r0].unk4];
- p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r0].unk5];
+ p1 = &gTasks[taskId].data[sSearchOptions[r0].unk4];
+ p2 = &gTasks[taskId].data[sSearchOptions[r0].unk5];
gTasks[taskId].data[14] = *p1;
gTasks[taskId].data[15] = *p2;
sub_80C2294(taskId);
@@ -5115,10 +5148,10 @@ void sub_80C1BCC(u8 taskId)
bool8 r3;
r1 = gTasks[taskId].data[1];
- r8 = gUnknown_0856EFC8[r1].pokedexList;
- p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk4];
- p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk5];
- r2 = gUnknown_0856EFC8[r1].unk6 - 1;
+ r8 = sSearchOptions[r1].pokedexList;
+ p1 = &gTasks[taskId].data[sSearchOptions[r1].unk4];
+ p2 = &gTasks[taskId].data[sSearchOptions[r1].unk5];
+ r2 = sSearchOptions[r1].numOptions - 1;
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_PIN);
@@ -5466,9 +5499,9 @@ void sub_80C21D4(u8 a)
void sub_80C2294(u8 taskId)
{
- const struct PokedexOption *r6 = gUnknown_0856EFC8[gTasks[taskId].data[1]].pokedexList;
- const u16 *r8 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk4];
- const u16 *r7 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk5];
+ const struct PokedexOption *r6 = sSearchOptions[gTasks[taskId].data[1]].pokedexList;
+ const u16 *r8 = &gTasks[taskId].data[sSearchOptions[gTasks[taskId].data[1]].unk4];
+ const u16 *r7 = &gTasks[taskId].data[sSearchOptions[gTasks[taskId].data[1]].unk5];
u16 i;
u16 j;
@@ -5478,32 +5511,32 @@ void sub_80C2294(u8 taskId)
sub_80C2618(r6[*r8 + *r7].description);
}
-u8 sub_80C2318(u8 taskId, u8 b)
+static u8 GetSearchModeSelection(u8 taskId, u8 option)
{
- const u16 *ptr1 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk4];
- const u16 *ptr2 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk5];
+ const u16 *ptr1 = &gTasks[taskId].data[sSearchOptions[option].unk4];
+ const u16 *ptr2 = &gTasks[taskId].data[sSearchOptions[option].unk5];
u16 type = *ptr1 + *ptr2;
- switch (b)
+ switch (option)
{
default:
return 0;
- case 5:
- return gUnknown_0856EFAC[type];
- case 4:
- return gUnknown_0856EFAE[type];
- case 0:
+ case SEARCH_DEX_MODE:
+ return sPokedexModes[type];
+ case SEARCH_ORDER:
+ return sSortOptions[type];
+ case SEARCH_NAME:
if (type == 0)
return 0xFF;
else
return type;
- case 1:
+ case SEARCH_COLOR:
if (type == 0)
return 0xFF;
else
return type - 1;
- case 2:
- case 3:
+ case SEARCH_TYPE_1:
+ case SEARCH_TYPE_2:
return gDexSearchTypeIds[type];
}
}
@@ -5552,8 +5585,8 @@ void sub_80C23B8(u8 taskId)
bool8 sub_80C244C(u8 taskId)
{
u8 val1 = gTasks[taskId].data[1];
- const u16 *ptr = &gTasks[taskId].data[gUnknown_0856EFC8[val1].unk5];
- u16 val2 = gUnknown_0856EFC8[val1].unk6 - 1;
+ const u16 *ptr = &gTasks[taskId].data[sSearchOptions[val1].unk5];
+ u16 val2 = sSearchOptions[val1].numOptions - 1;
if (val2 > 5 && *ptr != 0)
return FALSE;
@@ -5564,8 +5597,8 @@ bool8 sub_80C244C(u8 taskId)
bool8 sub_80C2494(u8 taskId)
{
u8 val1 = gTasks[taskId].data[1];
- const u16 *ptr = &gTasks[taskId].data[gUnknown_0856EFC8[val1].unk5];
- u16 val2 = gUnknown_0856EFC8[val1].unk6 - 1;
+ const u16 *ptr = &gTasks[taskId].data[sSearchOptions[val1].unk5];
+ u16 val2 = sSearchOptions[val1].numOptions - 1;
if (val2 > 5 && *ptr < val2 - 5)
return FALSE;
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c
index dc69b5d54..697fdb792 100755
--- a/src/pokedex_area_screen.c
+++ b/src/pokedex_area_screen.c
@@ -4,7 +4,7 @@
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "overworld.h"
#include "palette.h"
diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c
index 487db6d58..0b35b00ee 100644
--- a/src/pokedex_cry_screen.c
+++ b/src/pokedex_cry_screen.c
@@ -2,7 +2,7 @@
#include "bg.h"
#include "m4a.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "palette.h"
#include "pokedex_cry_screen.h"
#include "sound.h"
diff --git a/src/pokemon.c b/src/pokemon.c
index 074ee2d19..5a4e6df08 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "apprentice.h"
#include "battle.h"
#include "battle_anim.h"
@@ -60,6 +60,7 @@ static void EncryptBoxMon(struct BoxPokemon *boxMon);
static void DecryptBoxMon(struct BoxPokemon *boxMon);
static void sub_806E6CC(u8 taskId);
static bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId);
+static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move);
// EWRAM vars
EWRAM_DATA static u8 sLearningMoveTableID = 0;
@@ -1333,7 +1334,7 @@ const struct SpindaSpot gSpindaSpotGraphics[] =
#include "data/pokemon/item_effects.h"
-const s8 gNatureStatTable[][5] =
+const s8 gNatureStatTable[][NUM_EV_STATS] =
{
// Atk Def Spd Sp.Atk Sp.Def
{ 0, 0, 0, 0, 0}, // Hardy
@@ -1886,7 +1887,7 @@ const u16 gLinkPlayerFacilityClasses[] =
FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST,
FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER,
FACILITY_CLASS_LASS, FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL,
- FACILITY_CLASS_POKEMON_BREEDER_F, FACILITY_CLASS_BEAUTY
+ FACILITY_CLASS_PKMN_BREEDER_F, FACILITY_CLASS_BEAUTY
};
static const u8 sHoldEffectToType[][2] =
@@ -2042,7 +2043,8 @@ static const u8 sGetMonDataEVConstants[] =
MON_DATA_SPATK_EV
};
-static const u8 gUnknown_08329EC8[] =
+// For stat-raising items
+static const u8 sStatsToRaise[] =
{
STAT_ATK, STAT_ATK, STAT_SPEED, STAT_DEF, STAT_SPATK, STAT_ACC
};
@@ -2082,10 +2084,10 @@ static const struct SpeciesItem sAlteringCaveWildMonHeldItems[] =
static const struct OamData sOamData_8329F20 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -2879,22 +2881,22 @@ u16 GiveMoveToMon(struct Pokemon *mon, u16 move)
return GiveMoveToBoxMon(&mon->box, move);
}
-u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
+static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
{
s32 i;
for (i = 0; i < MAX_MON_MOVES; i++)
{
u16 existingMove = GetBoxMonData(boxMon, MON_DATA_MOVE1 + i, NULL);
- if (!existingMove)
+ if (existingMove == MOVE_NONE)
{
SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &move);
SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[move].pp);
return move;
}
if (existingMove == move)
- return -2;
+ return MON_ALREADY_KNOWS_MOVE;
}
- return 0xFFFF;
+ return MON_HAS_MAX_MOVES;
}
u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move)
@@ -2942,14 +2944,14 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon)
u16 moveLevel;
u16 move;
- moveLevel = (gLevelUpLearnsets[species][i] & 0xFE00);
+ moveLevel = (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_LV);
if (moveLevel > (level << 9))
break;
- move = (gLevelUpLearnsets[species][i] & 0x1FF);
+ move = (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID);
- if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF)
+ if (GiveMoveToBoxMon(boxMon, move) == MON_HAS_MAX_MOVES)
DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move);
}
}
@@ -2968,7 +2970,7 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove)
{
sLearningMoveTableID = 0;
- while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9))
+ while ((gLevelUpLearnsets[species][sLearningMoveTableID] & LEVEL_UP_MOVE_LV) != (level << 9))
{
sLearningMoveTableID++;
if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END)
@@ -2976,9 +2978,9 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove)
}
}
- if ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) == (level << 9))
+ if ((gLevelUpLearnsets[species][sLearningMoveTableID] & LEVEL_UP_MOVE_LV) == (level << 9))
{
- gMoveToLearn = (gLevelUpLearnsets[species][sLearningMoveTableID] & 0x1FF);
+ gMoveToLearn = (gLevelUpLearnsets[species][sLearningMoveTableID] & LEVEL_UP_MOVE_ID);
sLearningMoveTableID++;
retVal = GiveMoveToMon(mon, gMoveToLearn);
}
@@ -2989,11 +2991,11 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove)
void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move)
{
s32 i;
- u16 moves[4];
- u8 pp[4];
+ u16 moves[MAX_MON_MOVES];
+ u8 pp[MAX_MON_MOVES];
u8 ppBonuses;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < MAX_MON_MOVES - 1; i++)
{
moves[i] = GetMonData(mon, MON_DATA_MOVE2 + i, NULL);
pp[i] = GetMonData(mon, MON_DATA_PP2 + i, NULL);
@@ -3016,11 +3018,11 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move)
void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
{
s32 i;
- u16 moves[4];
- u8 pp[4];
+ u16 moves[MAX_MON_MOVES];
+ u8 pp[MAX_MON_MOVES];
u8 ppBonuses;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < MAX_MON_MOVES - 1; i++)
{
moves[i] = GetBoxMonData(boxMon, MON_DATA_MOVE2 + i, NULL);
pp[i] = GetBoxMonData(boxMon, MON_DATA_PP2 + i, NULL);
@@ -3270,7 +3272,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
}
// any weather except sun weakens solar beam
- if ((gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_HAIL)) && gCurrentMove == MOVE_SOLAR_BEAM)
+ if ((gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_HAIL_ANY)) && gCurrentMove == MOVE_SOLAR_BEAM)
damage /= 2;
// sunny
@@ -3304,21 +3306,21 @@ u8 CountAliveMonsInBattle(u8 caseId)
switch (caseId)
{
case BATTLE_ALIVE_EXCEPT_ACTIVE:
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++;
}
break;
case BATTLE_ALIVE_ATK_SIDE:
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++;
}
break;
case BATTLE_ALIVE_DEF_SIDE:
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++;
@@ -4329,7 +4331,7 @@ u8 SendMonToPC(struct Pokemon* mon)
{
s32 boxNo, boxPos;
- set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN));
+ SetPCBoxToSendMon(VarGet(VAR_PC_BOX_TO_SEND_MON));
boxNo = StorageGetCurrentBox();
@@ -4344,9 +4346,9 @@ u8 SendMonToPC(struct Pokemon* mon)
CopyMon(checkingMon, &mon->box, sizeof(mon->box));
gSpecialVar_MonBoxId = boxNo;
gSpecialVar_MonBoxPos = boxPos;
- if (get_unknown_box_id() != boxNo)
- FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG);
- VarSet(VAR_STORAGE_UNKNOWN, boxNo);
+ if (GetPCBoxToSendMon() != boxNo)
+ FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE);
+ VarSet(VAR_PC_BOX_TO_SEND_MON, boxNo);
return MON_GIVEN_TO_PC;
}
}
@@ -4690,7 +4692,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION;
retVal = FALSE;
}
- if ((itemEffect[cmdIndex] & ITEM0_HIGH_CRIT)
+ if ((itemEffect[cmdIndex] & ITEM0_DIRE_HIT)
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY))
{
gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY;
@@ -4744,7 +4746,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
}
break;
case 3:
- if ((itemEffect[cmdIndex] & ITEM3_MIST)
+ if ((itemEffect[cmdIndex] & ITEM3_GUARD_SPEC)
&& gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0)
{
gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5;
@@ -4817,11 +4819,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
{
if (evCount >= MAX_TOTAL_EVS)
return TRUE;
- if (dataSigned >= 100)
+ if (dataSigned >= EV_ITEM_RAISE_LIMIT)
break;
- if (dataSigned + r2 > 100)
- r5 = 100 - (dataSigned + r2) + r2;
+ if (dataSigned + r2 > EV_ITEM_RAISE_LIMIT)
+ r5 = EV_ITEM_RAISE_LIMIT - (dataSigned + r2) + r2;
else
r5 = r2;
@@ -4860,7 +4862,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
if (battlerId != 4)
{
gAbsentBattlerFlags &= ~gBitTable[battlerId];
- CopyPlayerPartyMonToBattleData(battlerId, pokemon_order_func(gBattlerPartyIndexes[battlerId]));
+ CopyPlayerPartyMonToBattleData(battlerId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]));
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255)
gBattleResults.numRevivesUsed++;
}
@@ -5021,11 +5023,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
{
if (evCount >= MAX_TOTAL_EVS)
return TRUE;
- if (dataSigned >= 100)
+ if (dataSigned >= EV_ITEM_RAISE_LIMIT)
break;
- if (dataSigned + r2 > 100)
- r5 = 100 - (dataSigned + r2) + r2;
+ if (dataSigned + r2 > EV_ITEM_RAISE_LIMIT)
+ r5 = EV_ITEM_RAISE_LIMIT - (dataSigned + r2) + r2;
else
r5 = r2;
@@ -5084,8 +5086,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
}
if (friendship < 0)
friendship = 0;
- if (friendship > 255)
- friendship = 255;
+ if (friendship > MAX_FRIENDSHIP)
+ friendship = MAX_FRIENDSHIP;
SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship);
retVal = FALSE;
}
@@ -5110,8 +5112,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
}
if (friendship < 0)
friendship = 0;
- if (friendship > 255)
- friendship = 255;
+ if (friendship > MAX_FRIENDSHIP)
+ friendship = MAX_FRIENDSHIP;
SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship);
retVal = FALSE;
}
@@ -5135,8 +5137,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
}
if (friendship < 0)
friendship = 0;
- if (friendship > 255)
- friendship = 255;
+ if (friendship > MAX_FRIENDSHIP)
+ friendship = MAX_FRIENDSHIP;
SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship);
retVal = FALSE;
}
@@ -5284,15 +5286,15 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit)
return offset;
}
-static void sub_806CF24(s32 arg0)
+static void BufferStatRoseMessage(s32 arg0)
{
gBattlerTarget = gBattlerInMenuId;
- StringCopy(gBattleTextBuff1, gStatNamesTable[gUnknown_08329EC8[arg0]]);
+ StringCopy(gBattleTextBuff1, gStatNamesTable[sStatsToRaise[arg0]]);
StringCopy(gBattleTextBuff2, gText_StatRose);
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2);
}
-u8 *sub_806CF78(u16 itemId)
+u8 *UseStatIncreaseItem(u16 itemId)
{
int i;
const u8 *itemEffect;
@@ -5313,13 +5315,14 @@ u8 *sub_806CF78(u16 itemId)
for (i = 0; i < 3; i++)
{
- if (itemEffect[i] & 0xF)
- sub_806CF24(i * 2);
- if (itemEffect[i] & 0xF0)
+ if (itemEffect[i] & (ITEM0_X_ATTACK | ITEM1_X_SPEED | ITEM2_X_SPATK))
+ BufferStatRoseMessage(i * 2);
+
+ if (itemEffect[i] & (ITEM0_DIRE_HIT | ITEM1_X_DEFEND | ITEM2_X_ACCURACY))
{
- if (i)
+ if (i != 0) // Dire Hit is the only ITEM0 above
{
- sub_806CF24(i * 2 + 1);
+ BufferStatRoseMessage(i * 2 + 1);
}
else
{
@@ -5329,7 +5332,7 @@ u8 *sub_806CF78(u16 itemId)
}
}
- if (itemEffect[3] & ITEM3_MIST)
+ if (itemEffect[3] & ITEM3_GUARD_SPEC)
{
gBattlerAttacker = gBattlerInMenuId;
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist);
@@ -5657,21 +5660,23 @@ void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies)
SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[newSpecies]);
}
-bool8 sub_806D7EC(void)
+// The below two functions determine which side of a multi battle the trainer battles on
+// 0 is the left (top in party menu), 1 is right (bottom in party menu)
+u8 GetPlayerFlankId(void)
{
- bool8 retVal = FALSE;
+ u8 flankId = 0;
switch (gLinkPlayers[GetMultiplayerId()].id)
{
case 0:
case 3:
- retVal = FALSE;
+ flankId = 0;
break;
case 1:
case 2:
- retVal = TRUE;
+ flankId = 1;
break;
}
- return retVal;
+ return flankId;
}
u16 GetLinkTrainerFlankId(u8 linkPlayerId)
@@ -5704,7 +5709,7 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
{
if (InBattlePyramid())
return GetBattlePyramindTrainerEncounterMusicId(trainerOpponentId);
- else if (sub_81D5C18())
+ else if (InTrainerHillChallenge())
return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId);
else
return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId);
@@ -5712,7 +5717,8 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex)
{
- if (statIndex < 1 || statIndex > 5)
+ // Dont modify HP, Accuracy, or Evasion by nature
+ if (statIndex <= STAT_HP || statIndex > NUM_EV_STATS)
{
// Should just be "return n", but it wouldn't match without this.
u16 retVal = n;
@@ -5724,9 +5730,9 @@ u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex)
switch (gNatureStatTable[nature][statIndex - 1])
{
case 1:
- return (u16)(n * 110) / 100;
+ return (u16)(n * 110) / 100; // NOTE: will overflow for n > 595 because the intermediate value is cast to u16 before the division. Fix by removing (u16) cast
case -1:
- return (u16)(n * 90) / 100;
+ return (u16)(n * 90) / 100; // NOTE: will overflow for n > 728, see above
}
return n;
@@ -5783,8 +5789,8 @@ void AdjustFriendship(struct Pokemon *mon, u8 event)
}
if (friendship < 0)
friendship = 0;
- if (friendship > 255)
- friendship = 255;
+ if (friendship > MAX_FRIENDSHIP)
+ friendship = MAX_FRIENDSHIP;
SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship);
}
}
@@ -6096,7 +6102,7 @@ u32 CanSpeciesLearnTMHM(u16 species, u8 tm)
u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves)
{
- u16 learnedMoves[4];
+ u16 learnedMoves[MAX_MON_MOVES];
u8 numMoves = 0;
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
u8 level = GetMonData(mon, MON_DATA_LEVEL, 0);
@@ -6109,23 +6115,23 @@ u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves)
{
u16 moveLevel;
- if (gLevelUpLearnsets[species][i] == 0xFFFF)
+ if (gLevelUpLearnsets[species][i] == LEVEL_UP_END)
break;
- moveLevel = gLevelUpLearnsets[species][i] & 0xFE00;
+ moveLevel = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_LV;
if (moveLevel <= (level << 9))
{
- for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++)
+ for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); j++)
;
if (j == MAX_MON_MOVES)
{
- for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++)
+ for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); k++)
;
if (k == numMoves)
- moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF;
+ moves[numMoves++] = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID;
}
}
}
@@ -6138,15 +6144,15 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves)
u8 numMoves = 0;
int i;
- for (i = 0; i < 20 && gLevelUpLearnsets[species][i] != 0xFFFF; i++)
- moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF;
+ for (i = 0; i < 20 && gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++)
+ moves[numMoves++] = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID;
return numMoves;
}
u8 GetNumberOfRelearnableMoves(struct Pokemon *mon)
{
- u16 learnedMoves[4];
+ u16 learnedMoves[MAX_MON_MOVES];
u16 moves[20];
u8 numMoves = 0;
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
@@ -6163,23 +6169,23 @@ u8 GetNumberOfRelearnableMoves(struct Pokemon *mon)
{
u16 moveLevel;
- if (gLevelUpLearnsets[species][i] == 0xFFFF)
+ if (gLevelUpLearnsets[species][i] == LEVEL_UP_END)
break;
- moveLevel = gLevelUpLearnsets[species][i] & 0xFE00;
+ moveLevel = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_LV;
if (moveLevel <= (level << 9))
{
- for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++)
+ for (j = 0; j < MAX_MON_MOVES && learnedMoves[j] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); j++)
;
if (j == MAX_MON_MOVES)
{
- for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++)
+ for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID); k++)
;
if (k == numMoves)
- moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF;
+ moves[numMoves++] = gLevelUpLearnsets[species][i] & LEVEL_UP_MOVE_ID;
}
}
}
@@ -6439,11 +6445,11 @@ void SetMonPreventsSwitchingString(void)
gBattleTextBuff1[4] = B_BUFF_EOS;
if (GetBattlerSide(gBattleStruct->battlerPreventingSwitchout) == B_SIDE_PLAYER)
- gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]);
+ gBattleTextBuff1[3] = GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]);
else
gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout];
- PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId]))
+ PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[gBattlerInMenuId]))
BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4);
}
@@ -6683,7 +6689,7 @@ u8 sub_806EF08(u8 arg0)
var = (arg0 != 0) ? 2 : 0;
break;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_LINK_PLAYERS; i++)
{
if (gLinkPlayers[i].id == (s16)(var))
break;
@@ -6706,7 +6712,7 @@ u8 sub_806EF84(u8 arg0, u8 arg1)
var = (arg0 != 0) ? 2 : 0;
break;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_LINK_PLAYERS; i++)
{
if (gLinkPlayers[i].id == (s16)(var))
break;
diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c
index 340327475..622e1d584 100644
--- a/src/pokemon_animation.c
+++ b/src/pokemon_animation.c
@@ -970,7 +970,7 @@ static void SetAffineData(struct Sprite *sprite, s16 xScale, s16 yScale, u16 rot
static void HandleStartAffineAnim(struct Sprite *sprite)
{
- sprite->oam.affineMode = 3;
+ sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE;
sprite->affineAnims = sSpriteAffineAnimTable_860AD68;
if (sUnknown_03001274 == TRUE)
@@ -1028,7 +1028,7 @@ static u8 sub_817F758(void)
static void sub_817F77C(struct Sprite *sprite)
{
- sprite->oam.affineMode = 1;
+ sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
if (sUnknown_03001274 == TRUE)
@@ -1040,7 +1040,7 @@ static void sub_817F77C(struct Sprite *sprite)
FreeOamMatrix(sprite->oam.matrixNum);
sprite->oam.matrixNum |= (sprite->hFlip << 3);
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
}
}
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index ee68de326..7d8c65d7c 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -1004,38 +1004,36 @@ const union AffineAnimCmd *const sMonIconAffineAnims[] =
const u16 sSpriteImageSizes[3][4] =
{
- // square
+ [ST_OAM_SQUARE] =
{
- 0x20, // 1×1
- 0x80, // 2×2
- 0x200, // 4×4
- 0x800, // 8×8
+ [SPRITE_SIZE(8x8)] = 0x20,
+ [SPRITE_SIZE(16x16)] = 0x80,
+ [SPRITE_SIZE(32x32)] = 0x200,
+ [SPRITE_SIZE(64x64)] = 0x800,
},
-
- // horizontal rectangle
+ [ST_OAM_H_RECTANGLE] =
{
- 0x40, // 2×1
- 0x80, // 4×1
- 0x100, // 4×2
- 0x400, // 8×4
+ [SPRITE_SIZE(16x8)] = 0x40,
+ [SPRITE_SIZE(32x8)] = 0x80,
+ [SPRITE_SIZE(32x16)] = 0x100,
+ [SPRITE_SIZE(64x32)] = 0x400,
},
-
- // vertical rectangle
+ [ST_OAM_V_RECTANGLE] =
{
- 0x40, // 1×2
- 0x80, // 1×4
- 0x100, // 2×4
- 0x400, // 4×8
+ [SPRITE_SIZE(8x16)] = 0x40,
+ [SPRITE_SIZE(8x32)] = 0x80,
+ [SPRITE_SIZE(16x32)] = 0x100,
+ [SPRITE_SIZE(32x64)] = 0x400,
},
};
-u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra)
+u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 handleDeoxys)
{
u8 spriteId;
struct MonIconSpriteTemplate iconTemplate =
{
.oam = &sMonIconOamData,
- .image = GetMonIconPtr(species, personality, extra),
+ .image = GetMonIconPtr(species, personality, handleDeoxys),
.anims = sMonIconAnims,
.affineAnims = sMonIconAffineAnims,
.callback = callback,
@@ -1125,12 +1123,12 @@ u16 sub_80D2E84(u16 species)
}
}
-const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 extra)
+const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 handleDeoxys)
{
- return GetMonIconTiles(GetIconSpecies(species, personality), extra);
+ return GetMonIconTiles(GetIconSpecies(species, personality), handleDeoxys);
}
-void sub_80D2EF8(struct Sprite *sprite)
+void FreeAndDestroyMonIconSprite(struct Sprite *sprite)
{
sub_80D328C(sprite);
}
@@ -1184,17 +1182,17 @@ void FreeMonIconPalette(u16 species)
FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
}
-void sub_80D3014(struct Sprite *sprite)
+void SpriteCB_MonIcon(struct Sprite *sprite)
{
UpdateMonIconFrame(sprite);
}
-const u8* GetMonIconTiles(u16 species, bool32 extra)
+const u8* GetMonIconTiles(u16 species, bool32 handleDeoxys)
{
const u8* iconSprite = gMonIconTable[species];
- if (species == SPECIES_DEOXYS && extra == TRUE)
+ if (species == SPECIES_DEOXYS && handleDeoxys == TRUE)
{
- iconSprite = (const u8*)(0x400 + (u32)iconSprite); //WTF?
+ iconSprite = (const u8*)(0x400 + (u32)iconSprite); // use the specific Deoxys form icon (Speed in this case)
}
return iconSprite;
}
@@ -1302,7 +1300,7 @@ void sub_80D328C(struct Sprite *sprite)
DestroySprite(sprite);
}
-void sub_80D32C8(struct Sprite *sprite, u8 animNum)
+void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum)
{
sprite->animNum = animNum;
sprite->animDelayCounter = 0;
diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c
index 8f16e1ce2..c7ce6ddf7 100755
--- a/src/pokemon_jump.c
+++ b/src/pokemon_jump.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle_anim.h"
#include "bg.h"
#include "data.h"
@@ -158,7 +158,7 @@ static void sub_802AA60(struct PokemonJump1 *);
static void sub_802AA94(struct PokemonJump1 *);
static void sub_802AB20(void);
static void sub_802AB98(void);
-static s16 sub_802AC00(u16 species);
+static s16 GetPokemonJumpSpeciesIdx(u16 species);
static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon);
static void sub_802AC6C(void);
static void sub_802ACA0(u8 taskId);
@@ -288,7 +288,7 @@ static void sub_802D598(void);
static void sub_802D5E4(void);
static void sub_802D72C(void);
static void sub_802D688(void);
-static void sub_802E3E4(u8 taskId);
+static void Task_ShowPokemonJumpRecords(u8 taskId);
static void sub_802E6D0(u8 taskId);
static void sub_802EB98(u8 taskId);
static void sub_802E500(u16 windowId, int width);
@@ -501,7 +501,7 @@ static void sub_802AB20(void)
for (i = 0; i < MAX_RFU_PLAYERS; i++)
{
- index = sub_802AC00(gUnknown_02022CFC->unk82A8[i].species);
+ index = GetPokemonJumpSpeciesIdx(gUnknown_02022CFC->unk82A8[i].species);
gUnknown_02022CFC->unk82E4[i].unkC = gPkmnJumpSpecies[index].unk2;
}
@@ -524,7 +524,7 @@ static void sub_802AB98(void)
}
}
-static s16 sub_802AC00(u16 species)
+static s16 GetPokemonJumpSpeciesIdx(u16 species)
{
u32 i;
for (i = 0; i < ARRAY_COUNT(gPkmnJumpSpecies); i++)
@@ -533,7 +533,7 @@ static s16 sub_802AC00(u16 species)
return i;
}
- return -1;
+ return -1; // species isnt allowed
}
static void sub_802AC2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon)
@@ -2204,12 +2204,12 @@ static u8 *sub_802C8E8(u8 multiplayerId)
return gUnknown_02022CFC->unk82E4[multiplayerId].unk1C;
}
-bool32 sub_802C908(u16 species)
+bool32 IsSpeciesAllowedInPokemonJump(u16 species)
{
- return sub_802AC00(species) > -1;
+ return GetPokemonJumpSpeciesIdx(species) > -1;
}
-void sub_802C920(void)
+void IsPokemonJumpSpeciesInParty(void)
{
int i;
@@ -2218,15 +2218,15 @@ void sub_802C920(void)
if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES))
{
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
- if (sub_802C908(species))
+ if (IsSpeciesAllowedInPokemonJump(species))
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
return;
}
}
}
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
}
// Large group of data.
@@ -2294,14 +2294,14 @@ static const struct SpriteTemplate *const gUnknown_082FBEB8[] =
static const struct OamData sOamData_82FBEC8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x64),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -2311,14 +2311,14 @@ static const struct OamData sOamData_82FBEC8 =
static const struct OamData sOamData_82FBED0 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 2,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(16x32),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -2328,14 +2328,14 @@ static const struct OamData sOamData_82FBED0 =
static const struct OamData sOamData_82FBED8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -2345,14 +2345,14 @@ static const struct OamData sOamData_82FBED8 =
static const struct OamData sOamData_82FBEE0 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x16),
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
@@ -2498,14 +2498,14 @@ static const struct SpriteTemplate gUnknown_082FBFC0 =
static const struct OamData sOamData_82FBFD8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
- .size = 1,
+ .size = SPRITE_SIZE(16x16),
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
@@ -3466,7 +3466,7 @@ static void sub_802DB18(u16 left, u16 top, u8 cursorPos)
static void sub_802DB8C(void)
{
- u8 color[] = {0, 2, 3};
+ u8 color[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
PutWindowTilemap(0);
PutWindowTilemap(1);
@@ -3557,8 +3557,8 @@ static void sub_802DD08(void)
struct UnkStruct3 unkStruct;
struct UnkStruct3 *ptr = &unkStruct; // This temp variable is needed to match, don't ask me why.
- ptr->shape = 0;
- ptr->size = 0;
+ ptr->shape = SPRITE_SHAPE(8x8);
+ ptr->size = SPRITE_SIZE(8x8);
ptr->field_0_0 = 0;
ptr->priority = 1;
ptr->field_1 = 5;
@@ -3666,7 +3666,7 @@ static void sub_802DF70(bool32 arg0)
if (!arg0)
{
for (i = 0; i < playersCount; i++)
- sub_802DED8(i, 0, 2, 3);
+ sub_802DED8(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
}
else
{
@@ -3674,9 +3674,9 @@ static void sub_802DF70(bool32 arg0)
for (i = 0; i < playersCount; i++)
{
if (var != i)
- sub_802DED8(i, 0, 2, 3);
+ sub_802DED8(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
else
- sub_802DED8(i, 0, 4, 5);
+ sub_802DED8(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED);
}
}
}
@@ -3922,10 +3922,10 @@ static void sub_802E3A8(void)
pokeJump->field6++;
}
-void sub_802E3C4(void)
+void ShowPokemonJumpRecords(void)
{
- u8 taskId = CreateTask(sub_802E3E4, 0);
- sub_802E3E4(taskId);
+ u8 taskId = CreateTask(Task_ShowPokemonJumpRecords, 0);
+ Task_ShowPokemonJumpRecords(taskId);
}
static const struct WindowTemplate gUnknown_082FE270 =
@@ -3941,7 +3941,7 @@ static const struct WindowTemplate gUnknown_082FE270 =
static const u8 *const gUnknown_082FE278[] = {gText_JumpsInARow, gText_BestScore2, gText_ExcellentsInARow};
-static void sub_802E3E4(u8 taskId)
+static void Task_ShowPokemonJumpRecords(u8 taskId)
{
struct WindowTemplate window;
int i, width, widthCurr;
@@ -4093,7 +4093,7 @@ static const struct SpriteTemplate gUnknown_082FE730[] =
{
.tileTag = 0x2000,
.paletteTag = 0x2000,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = sSpriteAnimTable_82FE718,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -4483,14 +4483,14 @@ static void sub_802EF50(u16 tileTag, u16 palTag)
static const struct OamData sOamData_82FEBDC =
{
.y = 0,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 0,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
- .size = 2,
+ .size = SPRITE_SIZE(32x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
@@ -4500,14 +4500,14 @@ static const struct OamData sOamData_82FEBDC =
static const struct OamData sOamData_82FEBE4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
- .shape = 1,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
- .size = 3,
+ .size = SPRITE_SIZE(64x32),
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index f63e1ccba..914d68925 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -100,9 +100,9 @@ static void FormatMonSizeRecord(u8 *string, u32 size)
size = (double)(size * 10) / (CM_PER_INCH * 10);
#endif
- string = ConvertIntToDecimalStringN(string, size / 10, 0, 8);
+ string = ConvertIntToDecimalStringN(string, size / 10, STR_CONV_MODE_LEFT_ALIGN, 8);
string = StringAppend(string, gText_DecimalPoint);
- ConvertIntToDecimalStringN(string, size % 10, 0, 1);
+ ConvertIntToDecimalStringN(string, size % 10, STR_CONV_MODE_LEFT_ALIGN, 1);
}
static u8 CompareMonSize(u16 species, u16 *sizeRecord)
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 4cd1a4772..4ccb39ce2 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "data.h"
#include "decompress.h"
@@ -453,7 +453,7 @@ EWRAM_DATA static bool8 sInPartyMenu = 0;
EWRAM_DATA static u8 sCurrentBoxOption = 0;
EWRAM_DATA static u8 gUnknown_02039D0E = 0;
EWRAM_DATA static u8 sWhichToReshow = 0;
-EWRAM_DATA static u8 gUnknown_02039D10 = 0;
+EWRAM_DATA static u8 sLastUsedBox = 0;
EWRAM_DATA static u16 gUnknown_02039D12 = 0;
EWRAM_DATA static struct Pokemon gUnknown_02039D14 = {0};
EWRAM_DATA static s8 sBoxCursorArea = 0;
@@ -778,8 +778,8 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] =
sSpriteAffineAnim_8571720
};
-static const u8 gUnknown_08571734[] = {4, 0xF, 0xE};
-static const u8 gUnknown_08571737[] = _("/30");
+static const u8 sBoxInfoTextColors[] = {TEXT_COLOR_RED, TEXT_DYNAMIC_COLOR_6, TEXT_DYNAMIC_COLOR_5};
+static const u8 sText_OutOf30[] = _("/30");
static const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.gbapal");
static const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp");
@@ -963,10 +963,10 @@ static const struct WindowTemplate sYesNoWindowTemplate =
static const struct OamData sOamData_857286C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -980,10 +980,10 @@ static const struct OamData sOamData_857286C =
static const struct OamData sOamData_8572874 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
@@ -1056,10 +1056,10 @@ static const struct SpriteTemplate gUnknown_085728D4 =
static const struct OamData sOamData_85728EC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -1540,9 +1540,9 @@ static const u8 gHandCursorTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cu
static const u8 gHandCursorShadowTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor_shadow.4bpp");
// code
-void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4)
+void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 bytesToBuffer)
{
- s32 i, val, val2;
+ s32 i, tileBytesToBuffer, remainingBytes;
u16 windowId;
u8 txtColor[3];
u8 *tileData1, *tileData2;
@@ -1551,25 +1551,25 @@ void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4)
winTemplate.width = 24;
winTemplate.height = 2;
windowId = AddWindow(&winTemplate);
- FillWindowPixelBuffer(windowId, PIXEL_FILL(arg3));
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(zero2));
tileData1 = (u8*) GetWindowAttribute(windowId, WINDOW_TILE_DATA);
tileData2 = (winTemplate.width * 32) + tileData1;
- if (!arg2)
- txtColor[0] = 0;
+ if (!zero1)
+ txtColor[0] = TEXT_COLOR_TRANSPARENT;
else
- txtColor[0] = arg3;
- txtColor[1] = 0xF;
- txtColor[2] = 0xE;
+ txtColor[0] = zero2;
+ txtColor[1] = TEXT_DYNAMIC_COLOR_6;
+ txtColor[2] = TEXT_DYNAMIC_COLOR_5;
AddTextPrinterParameterized4(windowId, 1, 0, 1, 0, 0, txtColor, -1, string);
- val = arg4;
- if (val > 6u)
- val = 6;
- val2 = arg4 - 6;
- if (val > 0)
+ tileBytesToBuffer = bytesToBuffer;
+ if (tileBytesToBuffer > 6u)
+ tileBytesToBuffer = 6;
+ remainingBytes = bytesToBuffer - 6;
+ if (tileBytesToBuffer > 0)
{
- for (i = val; i != 0; i--)
+ for (i = tileBytesToBuffer; i != 0; i--)
{
CpuCopy16(tileData1, dst, 0x80);
CpuCopy16(tileData2, dst + 0x80, 0x80);
@@ -1579,8 +1579,9 @@ void sub_80C6D80(const u8 *string, void *dst, u8 arg2, u8 arg3, s32 arg4)
}
}
- if (val2 > 0)
- CpuFill16((arg3 << 4) | arg3, dst, (u32)(val2) * 0x100);
+ // Never used. bytesToBuffer is always passed <= 6, so remainingBytes is always <= 0 here
+ if (remainingBytes > 0)
+ CpuFill16((zero2 << 4) | zero2, dst, (u32)(remainingBytes) * 0x100);
RemoveWindow(windowId);
}
@@ -1789,7 +1790,7 @@ static void Task_PokemonStorageSystemPC(u8 taskId)
}
else
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
task->data[0] = 4;
}
break;
@@ -1854,7 +1855,7 @@ static void FieldCb_ReturnToPcMenu(void)
gTasks[taskId].data[1] = sPreviousBoxOption;
Task_PokemonStorageSystemPC(taskId);
SetVBlankCallback(vblankCb);
- pal_fill_black();
+ FadeInFromBlack();
}
static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr)
@@ -2089,7 +2090,7 @@ static void sub_80C7BB4(void)
static void sub_80C7BE4(void)
{
- u8 text[16];
+ u8 numBoxMonsText[16];
struct WindowTemplate winTemplate;
u8 windowId;
u8 *boxName = GetBoxNamePtr(gUnknown_02039D04->curBox);
@@ -2105,12 +2106,12 @@ static void sub_80C7BE4(void)
FillWindowPixelBuffer(windowId, PIXEL_FILL(4));
center = GetStringCenterAlignXOffset(1, boxName, 64);
- AddTextPrinterParameterized3(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName);
+ AddTextPrinterParameterized3(windowId, 1, center, 1, sBoxInfoTextColors, TEXT_SPEED_FF, boxName);
- ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2);
- StringAppend(text, gUnknown_08571737);
- center = GetStringCenterAlignXOffset(1, text, 64);
- AddTextPrinterParameterized3(windowId, 1, center, 17, gUnknown_08571734, TEXT_SPEED_FF, text);
+ ConvertIntToDecimalStringN(numBoxMonsText, nPokemonInBox, STR_CONV_MODE_RIGHT_ALIGN, 2);
+ StringAppend(numBoxMonsText, sText_OutOf30);
+ center = GetStringCenterAlignXOffset(1, numBoxMonsText, 64);
+ AddTextPrinterParameterized3(windowId, 1, center, 17, sBoxInfoTextColors, TEXT_SPEED_FF, numBoxMonsText);
winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA);
CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400);
@@ -2167,7 +2168,7 @@ static void Cb2_EnterPSS(u8 boxOption)
gUnknown_02039D12 = 0;
sPSSData->state = 0;
sPSSData->taskId = CreateTask(Cb_InitPSS, 3);
- gUnknown_02039D10 = StorageGetCurrentBox();
+ sLastUsedBox = StorageGetCurrentBox();
SetMainCallback2(Cb2_PSS);
}
}
@@ -4366,10 +4367,10 @@ static bool8 DoShowPartyMenu(void)
static void sub_80CABE0(void)
{
- if (gUnknown_02039D10 != StorageGetCurrentBox())
+ if (sLastUsedBox != StorageGetCurrentBox())
{
- FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG);
- VarSet(VAR_STORAGE_UNKNOWN, StorageGetCurrentBox());
+ FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE);
+ VarSet(VAR_PC_BOX_TO_SEND_MON, StorageGetCurrentBox());
}
}
@@ -4568,7 +4569,7 @@ static void sub_80CB028(u8 boxId)
for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++)
{
if (GetBoxMonDataAt(boxId, boxPosition, MON_DATA_HELD_ITEM) == 0)
- sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1;
+ sPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND;
}
}
}
@@ -4585,7 +4586,7 @@ static void sub_80CB140(u8 boxPosition)
sPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(species, personality, x, y, 2, 19 - (boxPosition % IN_BOX_ROWS));
if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
- sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1;
+ sPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND;
}
}
@@ -4698,7 +4699,7 @@ static u8 sub_80CB2F8(u8 row, u16 times, s16 xDelta)
sPSSData->boxMonsSprites[boxPosition]->data[3] = xDest;
sPSSData->boxMonsSprites[boxPosition]->callback = sub_80CB234;
if (GetBoxMonDataAt(sPSSData->field_C5C, boxPosition, MON_DATA_HELD_ITEM) == 0)
- sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1;
+ sPSSData->boxMonsSprites[boxPosition]->oam.objMode = ST_OAM_OBJ_BLEND;
count++;
}
}
@@ -4845,7 +4846,7 @@ static void CreatePartyMonsSprites(bool8 arg0)
for (i = 0; i < PARTY_SIZE; i++)
{
if (sPSSData->partySprites[i] != NULL && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) == 0)
- sPSSData->partySprites[i]->oam.objMode = 1;
+ sPSSData->partySprites[i]->oam.objMode = ST_OAM_OBJ_BLEND;
}
}
}
@@ -5086,7 +5087,7 @@ static void sub_80CBF14(u8 mode, u8 position)
if (*sPSSData->field_B04 != NULL)
{
InitSpriteAffineAnim(*sPSSData->field_B04);
- (*sPSSData->field_B04)->oam.affineMode = 1;
+ (*sPSSData->field_B04)->oam.affineMode = ST_OAM_AFFINE_NORMAL;
(*sPSSData->field_B04)->affineAnims = gSpriteAffineAnimTable_857291C;
StartSpriteAffineAnim(*sPSSData->field_B04, 0);
}
@@ -5518,7 +5519,7 @@ static void sub_80CCB50(u8 boxId)
sPSSData->field_738 |= 0x10000 << tagIndex;
StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8);
- sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
+ DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
LoadSpriteSheet(&spriteSheet);
r6 = sub_80CD00C(GetBoxNamePtr(boxId));
@@ -5554,7 +5555,7 @@ static void sub_80CCCFC(u8 boxId, s8 direction)
}
StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8);
- sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
+ DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
LoadSpriteSheet(&spriteSheet);
LoadPalette(gUnknown_08577574[GetBoxWallpaper(boxId)], r8, 4);
x = sub_80CD00C(GetBoxNamePtr(boxId));
@@ -9357,10 +9358,10 @@ static const u32 gUnknown_0857BB24[] = INCBIN_U32("graphics/pokemon_storage/unkn
static const struct OamData sOamData_857BBA4 =
{
.y = 0,
- .affineMode = 1,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 79aac4b5e..ffd468a9b 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -20,7 +20,7 @@
#include "item.h"
#include "link.h"
#include "m4a.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "mon_markings.h"
@@ -42,6 +42,7 @@
#include "window.h"
#include "constants/items.h"
#include "constants/moves.h"
+#include "constants/party_menu.h"
#include "constants/region_map_sections.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -121,8 +122,8 @@ static EWRAM_DATA struct PokemonSummaryScreenData
u8 metGame; // 0xB
u32 pid; // 0xC
u32 exp; // 0x10
- u16 moves[4]; // 0x14
- u8 pp[4]; // 0x1C
+ u16 moves[MAX_MON_MOVES]; // 0x14
+ u8 pp[MAX_MON_MOVES]; // 0x1C
u16 currentHP; // 0x20
u16 maxHP; // 0x22
u16 atk; // 0x24
@@ -162,7 +163,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
u8 unk_filler4[6];
} *sMonSummaryScreen = NULL;
EWRAM_DATA u8 gLastViewedMonIndex = 0;
-static EWRAM_DATA u8 sUnknown_0203CF21 = 0;
+static EWRAM_DATA u8 sMoveSlotToReplace = 0;
ALIGNED(4) static EWRAM_DATA u8 sUnknownTaskId = 0;
struct UnkStruct_61CC04
@@ -224,10 +225,10 @@ static void DrawExperienceProgressBar(struct Pokemon* mon);
static void DrawContestMoveHearts(u16 move);
static void LimitEggSummaryPageDisplay(void);
static void ResetWindows(void);
-static void sub_81C25E8(void);
-static void sub_81C2628(void);
-static void sub_81C2794(void);
-static void sub_81C27DC(struct Pokemon *mon, u16 a);
+static void PrintMonInfo(void);
+static void PrintNotEggInfo(void);
+static void PrintEggInfo(void);
+static void PrintGenderSymbol(struct Pokemon *mon, u16 a);
static void PrintPageNamesAndStatsPageToWindows(void);
static void CreatePageWindowTilemaps(u8 a);
static void ClearPageWindowTilemaps(u8 a);
@@ -705,10 +706,10 @@ static const u8 sMovesPPLayout[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}");
static const struct OamData sOamData_MoveTypes =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
@@ -881,10 +882,10 @@ static const u8 sMoveTypeToOamPaletteNum[NUMBER_OF_MON_TYPES + CONTEST_CATEGORIE
static const struct OamData gOamData_861CFF4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -970,10 +971,10 @@ static const struct SpriteTemplate gUnknown_0861D084 =
static const struct OamData sOamData_StatusCondition =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
@@ -1173,7 +1174,7 @@ static bool8 SummaryScreen_LoadGraphics(void)
gMain.state++;
break;
case 11:
- sub_81C25E8();
+ PrintMonInfo();
gMain.state++;
break;
case 12:
@@ -1449,7 +1450,7 @@ static void sub_81C0348(void)
DrawPokerusCuredSymbol(&sMonSummaryScreen->currentMon);
}
-static void sub_81C0434(void)
+static void FreeSummaryScreen(void)
{
FreeAllWindowBuffers();
Free(sMonSummaryScreen);
@@ -1474,7 +1475,7 @@ static void CloseSummaryScreen(u8 taskId)
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
if (gMonSpritesGfxPtr == 0)
sub_806F47C(0);
- sub_81C0434();
+ FreeSummaryScreen();
DestroyTask(taskId);
}
}
@@ -1491,11 +1492,11 @@ static void HandleInput(u8 taskId)
{
ChangeSummaryPokemon(taskId, 1);
}
- else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysState() == 1)
+ else if ((gMain.newKeys & DPAD_LEFT) || GetLRKeysPressed() == MENU_L_PRESSED)
{
ChangePage(taskId, -1);
}
- else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysState() == 2)
+ else if ((gMain.newKeys & DPAD_RIGHT) || GetLRKeysPressed() == MENU_R_PRESSED)
{
ChangePage(taskId, 1);
}
@@ -1625,7 +1626,7 @@ static void sub_81C0704(u8 taskId)
SetTypeIcons();
break;
case 10:
- sub_81C25E8();
+ PrintMonInfo();
break;
case 11:
PrintPageSpecificText(sMonSummaryScreen->currPageIndex);
@@ -2159,11 +2160,11 @@ static void HandleReplaceMoveInput(u8 taskId)
data[0] = 4;
sub_81C1070(data, 1, &sMonSummaryScreen->firstMoveIndex);
}
- else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1)
+ else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED)
{
ChangePage(taskId, -1);
}
- else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2)
+ else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED)
{
ChangePage(taskId, 1);
}
@@ -2173,8 +2174,8 @@ static void HandleReplaceMoveInput(u8 taskId)
{
StopPokemonAnimations();
PlaySE(SE_SELECT);
- sUnknown_0203CF21 = sMonSummaryScreen->firstMoveIndex;
- gSpecialVar_0x8005 = sUnknown_0203CF21;
+ sMoveSlotToReplace = sMonSummaryScreen->firstMoveIndex;
+ gSpecialVar_0x8005 = sMoveSlotToReplace;
BeginCloseSummaryScreen(taskId);
}
else
@@ -2188,8 +2189,8 @@ static void HandleReplaceMoveInput(u8 taskId)
u32 var1;
StopPokemonAnimations();
PlaySE(SE_SELECT);
- sUnknown_0203CF21 = 4;
- gSpecialVar_0x8005 = 4;
+ sMoveSlotToReplace = MAX_MON_MOVES;
+ gSpecialVar_0x8005 = MAX_MON_MOVES;
BeginCloseSummaryScreen(taskId);
}
}
@@ -2238,7 +2239,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId)
data[1] = 0;
gTasks[taskId].func = HandleReplaceMoveInput;
}
- else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1)
+ else if (gMain.newKeys & DPAD_LEFT || GetLRKeysPressed() == MENU_L_PRESSED)
{
if (sMonSummaryScreen->currPageIndex != 2)
{
@@ -2252,7 +2253,7 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId)
sub_81C1EFC(9, -2, move);
}
}
- else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2)
+ else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysPressed() == MENU_R_PRESSED)
{
if (sMonSummaryScreen->currPageIndex != 3)
{
@@ -2281,9 +2282,9 @@ static void HandleHMMovesCantBeForgottenInput(u8 taskId)
}
}
-u8 sub_81C1B94(void)
+u8 GetMoveSlotToReplace(void)
{
- return sUnknown_0203CF21;
+ return sMoveSlotToReplace;
}
static void DrawPagination(void) // Updates the pagination dots at the top of the summary screen
@@ -2571,12 +2572,12 @@ static void DrawPokerusCuredSymbol(struct Pokemon *mon) // This checks if the mo
schedule_bg_copy_tilemap_to_vram(3);
}
-static void sub_81C228C(bool8 isMonShiny)
+static void SetDexNumberColor(bool8 isMonShiny)
{
if (!isMonShiny)
- sub_8199C30(3, 1, 4, 8, 8, 0);
+ SetBgTilemapPalette(3, 1, 4, 8, 8, 0);
else
- sub_8199C30(3, 1, 4, 8, 8, 5);
+ SetBgTilemapPalette(3, 1, 4, 8, 8, 5);
schedule_bg_copy_tilemap_to_vram(3);
}
@@ -2695,19 +2696,19 @@ static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x,
AddTextPrinterParameterized4(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string);
}
-static void sub_81C25E8(void)
+static void PrintMonInfo(void)
{
FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, PIXEL_FILL(0));
FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, PIXEL_FILL(0));
FillWindowPixelBuffer(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, PIXEL_FILL(0));
if (!sMonSummaryScreen->summary.isEgg)
- sub_81C2628();
+ PrintNotEggInfo();
else
- sub_81C2794();
+ PrintEggInfo();
schedule_bg_copy_tilemap_to_vram(0);
}
-static void sub_81C2628(void)
+static void PrintNotEggInfo(void)
{
u8 strArray[16];
struct Pokemon *mon = &sMonSummaryScreen->currentMon;
@@ -2715,18 +2716,18 @@ static void sub_81C2628(void)
u16 dexNum = SpeciesToPokedexNum(summary->species);
if (dexNum != 0xFFFF)
{
- StringCopy(gStringVar1, &gText_UnkCtrlF908Clear01[0]);
- ConvertIntToDecimalStringN(gStringVar2, dexNum, 2, 3);
+ StringCopy(gStringVar1, &gText_NumberClear01[0]);
+ ConvertIntToDecimalStringN(gStringVar2, dexNum, STR_CONV_MODE_LEADING_ZEROS, 3);
StringAppend(gStringVar1, gStringVar2);
if (!IsMonShiny(mon))
{
SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 1);
- sub_81C228C(FALSE);
+ SetDexNumberColor(FALSE);
}
else
{
SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER, gStringVar1, 0, 1, 0, 7);
- sub_81C228C(TRUE);
+ SetDexNumberColor(TRUE);
}
PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER);
}
@@ -2734,12 +2735,12 @@ static void sub_81C2628(void)
{
ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_DEX_NUMBER);
if (!IsMonShiny(mon))
- sub_81C228C(FALSE);
+ SetDexNumberColor(FALSE);
else
- sub_81C228C(TRUE);
+ SetDexNumberColor(TRUE);
}
StringCopy(gStringVar1, &gText_LevelSymbol[0]);
- ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3);
+ ConvertIntToDecimalStringN(gStringVar2, summary->level, STR_CONV_MODE_LEFT_ALIGN, 3);
StringAppend(gStringVar1, gStringVar2);
SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, gStringVar1, 0x18, 17, 0, 1);
GetMonNickname(mon, gStringVar1);
@@ -2747,12 +2748,12 @@ static void sub_81C2628(void)
strArray[0] = CHAR_SLASH;
StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]);
SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, &strArray[0], 0, 1, 0, 1);
- sub_81C27DC(mon, summary->species2);
+ PrintGenderSymbol(mon, summary->species2);
PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME);
PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES);
}
-static void sub_81C2794(void)
+static void PrintEggInfo(void)
{
GetMonNickname(&sMonSummaryScreen->currentMon, gStringVar1);
SummaryScreen_PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1);
@@ -2761,7 +2762,7 @@ static void sub_81C2794(void)
ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES);
}
-static void sub_81C27DC(struct Pokemon *mon, u16 species)
+static void PrintGenderSymbol(struct Pokemon *mon, u16 species)
{
if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F)
{
@@ -3054,7 +3055,7 @@ static void PrintMonOTID(void)
int xPos;
if (InBattleFactory() != TRUE && InSlateportBattleTent() != TRUE)
{
- ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)sMonSummaryScreen->summary.OTID, 2, 5);
+ ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_IDNumber2), (u16)sMonSummaryScreen->summary.OTID, STR_CONV_MODE_LEADING_ZEROS, 5);
xPos = GetStringRightAlignXOffset(1, gStringVar1, 56);
SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ID), gStringVar1, xPos, 1, 0, 1);
}
@@ -3141,7 +3142,7 @@ static void GetMetLevelString(u8 *output)
u8 level = sMonSummaryScreen->summary.metLevel;
if (level == 0)
level = EGG_HATCH_LEVEL;
- ConvertIntToDecimalStringN(output, level, 0, 3);
+ ConvertIntToDecimalStringN(output, level, STR_CONV_MODE_LEFT_ALIGN, 3);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, output);
}
@@ -3208,7 +3209,7 @@ static void PrintEggOTName(void)
static void PrintEggOTID(void)
{
int x;
- StringCopy(gStringVar1, gText_UnkCtrlF907F908);
+ StringCopy(gStringVar1, gText_IDNumber2);
StringAppend(gStringVar1, gText_FiveMarks);
x = GetStringRightAlignXOffset(1, gStringVar1, 56);
SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ID), gStringVar1, x, 1, 0, 1);
@@ -3336,7 +3337,7 @@ static void PrintRibbonCount(void)
}
else
{
- ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.ribbonCount, 1, 2);
+ ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.ribbonCount, STR_CONV_MODE_RIGHT_ALIGN, 2);
StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1);
text = gStringVar4;
}
@@ -3352,10 +3353,10 @@ static void BufferLeftColumnStats(void)
u8 *attackString = Alloc(8);
u8 *defenseString = Alloc(8);
- ConvertIntToDecimalStringN(currentHPString, sMonSummaryScreen->summary.currentHP, 1, 3);
- ConvertIntToDecimalStringN(maxHPString, sMonSummaryScreen->summary.maxHP, 1, 3);
- ConvertIntToDecimalStringN(attackString, sMonSummaryScreen->summary.atk, 1, 7);
- ConvertIntToDecimalStringN(defenseString, sMonSummaryScreen->summary.def, 1, 7);
+ ConvertIntToDecimalStringN(currentHPString, sMonSummaryScreen->summary.currentHP, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ ConvertIntToDecimalStringN(maxHPString, sMonSummaryScreen->summary.maxHP, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ ConvertIntToDecimalStringN(attackString, sMonSummaryScreen->summary.atk, STR_CONV_MODE_RIGHT_ALIGN, 7);
+ ConvertIntToDecimalStringN(defenseString, sMonSummaryScreen->summary.def, STR_CONV_MODE_RIGHT_ALIGN, 7);
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString);
@@ -3377,9 +3378,9 @@ static void PrintLeftColumnStats(void)
static void BufferRightColumnStats(void)
{
- ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.spatk, 1, 3);
- ConvertIntToDecimalStringN(gStringVar2, sMonSummaryScreen->summary.spdef, 1, 3);
- ConvertIntToDecimalStringN(gStringVar3, sMonSummaryScreen->summary.speed, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, sMonSummaryScreen->summary.spatk, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ ConvertIntToDecimalStringN(gStringVar2, sMonSummaryScreen->summary.spdef, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ ConvertIntToDecimalStringN(gStringVar3, sMonSummaryScreen->summary.speed, STR_CONV_MODE_RIGHT_ALIGN, 3);
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
@@ -3400,7 +3401,7 @@ static void PrintExpPointsNextLevel(void)
int offset;
u32 expToNextLevel;
- ConvertIntToDecimalStringN(gStringVar1, sum->exp, 1, 7);
+ ConvertIntToDecimalStringN(gStringVar1, sum->exp, STR_CONV_MODE_RIGHT_ALIGN, 7);
offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2;
SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0);
@@ -3409,7 +3410,7 @@ static void PrintExpPointsNextLevel(void)
else
expToNextLevel = 0;
- ConvertIntToDecimalStringN(gStringVar1, expToNextLevel, 1, 6);
+ ConvertIntToDecimalStringN(gStringVar1, expToNextLevel, STR_CONV_MODE_RIGHT_ALIGN, 6);
offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2;
SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 17, 0, 0);
}
@@ -3496,8 +3497,8 @@ static void PrintMoveNameAndPP(u8 moveIndex)
{
pp = CalculatePPWithBonus(move, summaryStruct->summary.ppBonuses, moveIndex);
SummaryScreen_PrintTextOnWindow(moveNameWindowId, gMoveNames[move], 0, moveIndex * 16 + 1, 0, 1);
- ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[moveIndex], 1, 2);
- ConvertIntToDecimalStringN(gStringVar2, pp, 1, 2);
+ ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[moveIndex], STR_CONV_MODE_RIGHT_ALIGN, 2);
+ ConvertIntToDecimalStringN(gStringVar2, pp, STR_CONV_MODE_RIGHT_ALIGN, 2);
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2);
@@ -3530,7 +3531,7 @@ static void PrintMovePowerAndAccuracy(u16 moveIndex)
}
else
{
- ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].power, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].power, STR_CONV_MODE_RIGHT_ALIGN, 3);
text = gStringVar1;
}
@@ -3542,7 +3543,7 @@ static void PrintMovePowerAndAccuracy(u16 moveIndex)
}
else
{
- ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].accuracy, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
text = gStringVar1;
}
@@ -3660,7 +3661,7 @@ static void PrintNewMoveDetailsOrCancelText(void)
else
SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5);
- ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, 1, 2);
+ ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, STR_CONV_MODE_RIGHT_ALIGN, 2);
DynamicPlaceholderTextUtil_Reset();
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1);
diff --git a/src/pokenav.c b/src/pokenav.c
index a5bb51789..a7b7c95a3 100644
--- a/src/pokenav.c
+++ b/src/pokenav.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "task.h"
#include "main.h"
#include "overworld.h"
@@ -48,8 +48,8 @@ static void VBlankCB_Pokenav(void);
static void CB2_Pokenav(void);
static void Task_RunLoopedTask_LinkMode(u8 a0);
static void Task_RunLoopedTask(u8 taskId);
-static void sub_81C742C(u8 taskId);
-static void sub_81C72BC(void);
+static void Task_Pokenav(u8 taskId);
+static void CB2_InitPokenavForTutorial(void);
const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
{
@@ -311,19 +311,19 @@ void CB2_InitPokeNav(void)
InitPokenavResources(gPokenavResources);
ResetTasks();
SetVBlankCallback(NULL);
- CreateTask(sub_81C742C, 0);
+ CreateTask(Task_Pokenav, 0);
SetMainCallback2(CB2_Pokenav);
SetVBlankCallback(VBlankCB_Pokenav);
}
}
-void sub_81C72A4(void)
+void OpenPokenavForTutorial(void)
{
- SetMainCallback2(sub_81C72BC);
- FadeScreen(1, 0);
+ SetMainCallback2(CB2_InitPokenavForTutorial);
+ FadeScreen(FADE_TO_BLACK, 0);
}
-static void sub_81C72BC(void)
+static void CB2_InitPokenavForTutorial(void)
{
UpdatePaletteFade();
if (gPaletteFade.active)
@@ -337,12 +337,12 @@ static void sub_81C72BC(void)
else
{
InitPokenavResources(gPokenavResources);
- gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_1;
+ gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_READY;
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();
SetVBlankCallback(NULL);
- CreateTask(sub_81C742C, 0);
+ CreateTask(Task_Pokenav, 0);
SetMainCallback2(CB2_Pokenav);
SetVBlankCallback(VBlankCB_Pokenav);
}
@@ -416,7 +416,7 @@ static void VBlankCB_Pokenav(void)
ProcessSpriteCopyRequests();
}
-static void sub_81C742C(u8 taskId)
+static void Task_Pokenav(u8 taskId)
{
u32 v1;
s16 *data = gTasks[taskId].data;
diff --git a/src/pokenav_main_menu.c b/src/pokenav_main_menu.c
index 4422a70e3..583d23a55 100644
--- a/src/pokenav_main_menu.c
+++ b/src/pokenav_main_menu.c
@@ -41,7 +41,7 @@ struct PokenavMainMenuResources
u32 (*unk4)(void);
u32 unk8;
u32 currentTaskId;
- u32 unk10;
+ u32 helpBarWindowId;
u32 unk14;
struct Sprite *spinningPokenav;
struct Sprite *leftHeaderSprites[2];
@@ -68,10 +68,10 @@ static void MoveLeftHeader(struct Sprite *sprite, s32 startX, s32 endX, s32 dura
static void SpriteCB_MoveLeftHeader(struct Sprite *sprite);
static void InitPokenavMainMenuResources(void);
static void InitHoennMapHeaderSprites(void);
-static void sub_81C7B74(void);
+static void InitHelpBar(void);
static u32 LoopedTask_ScrollMenuHeaderDown(s32 a0);
static u32 LoopedTask_ScrollMenuHeaderUp(s32 a0);
-static void sub_81C7BF8(u32 a0);
+static void DrawHelpBar(u32 windowId);
static void SpriteCB_SpinningPokenav(struct Sprite* sprite);
static u32 LoopedTask_InitPokenavMenu(s32 a0);
@@ -92,7 +92,7 @@ const struct BgTemplate gPokenavMainMenuBgTemplates[] =
}
};
-const struct WindowTemplate gUnknown_0861FA08[2] =
+static const struct WindowTemplate sHelpBarWindowTemplate[] =
{
{
.bg = 0,
@@ -103,36 +103,28 @@ const struct WindowTemplate gUnknown_0861FA08[2] =
.paletteNum = 0,
.baseBlock = 0x36,
},
- {
- .bg = 0xFF,
- .tilemapLeft = 0,
- .tilemapTop = 0,
- .width = 0,
- .height = 0,
- .paletteNum = 0,
- .baseBlock = 0,
- },
+ DUMMY_WIN_TEMPLATE
};
-const u8 *const sHelpBarTexts[12] =
-{
- gText_Pokenav_ClearButtonList,
- gText_PokenavMap_ZoomedOutButtons,
- gText_PokenavMap_ZoomedInButtons,
- gText_PokenavCondition_MonListButtons,
- gText_PokenavCondition_MonStatusButtons,
- gText_PokenavCondition_MarkingButtons,
- gText_PokenavMatchCall_TrainerListButtons,
- gText_PokenavMatchCall_CallMenuButtons,
- gText_PokenavMatchCall_CheckTrainerButtons,
- gText_PokenavRibbons_MonListButtons,
- gText_PokenavRibbons_RibbonListButtons,
- gText_PokenavRibbons_RibbonCheckButtons,
+static const u8 *const sHelpBarTexts[HELPBAR_COUNT] =
+{
+ [HELPBAR_NONE] = gText_Pokenav_ClearButtonList,
+ [HELPBAR_MAP_ZOOMED_OUT] = gText_PokenavMap_ZoomedOutButtons,
+ [HELPBAR_MAP_ZOOMED_IN] = gText_PokenavMap_ZoomedInButtons,
+ [HELPBAR_CONDITION_MON_LIST] = gText_PokenavCondition_MonListButtons,
+ [HELPBAR_CONDITION_MON_STATUS] = gText_PokenavCondition_MonStatusButtons,
+ [HELPBAR_CONDITION_MARKINGS] = gText_PokenavCondition_MarkingButtons,
+ [HELPBAR_MC_TRAINER_LIST] = gText_PokenavMatchCall_TrainerListButtons,
+ [HELPBAR_MC_CALL_MENU] = gText_PokenavMatchCall_CallMenuButtons,
+ [HELPBAR_MC_CHECK_PAGE] = gText_PokenavMatchCall_CheckTrainerButtons,
+ [HELPBAR_RIBBONS_MON_LIST] = gText_PokenavRibbons_MonListButtons,
+ [HELPBAR_RIBBONS_LIST] = gText_PokenavRibbons_RibbonListButtons,
+ [HELPBAR_RIBBONS_CHECK] = gText_PokenavRibbons_RibbonCheckButtons,
};
-const u8 gMenuButtonReminderColor[3] =
+static const u8 sHelpBarTextColors[3] =
{
- 4, 1, 2
+ TEXT_COLOR_RED, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY
};
static const struct CompressedSpriteSheet gSpinningPokenavSpriteSheet[] =
@@ -288,7 +280,7 @@ static const struct OamData sUnknown_0861FB24 =
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
.objMode = ST_OAM_OBJ_NORMAL,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
@@ -386,7 +378,7 @@ static u32 LoopedTask_InitPokenavMenu(s32 a0)
if (free_temp_tile_data_buffers_if_possible())
return LT_PAUSE;
- sub_81C7B74();
+ InitHelpBar();
return LT_INC_AND_PAUSE;
case 3:
if (IsDma3ManagerBusyWithBgCopy())
@@ -676,31 +668,31 @@ void InitBgTemplates(const struct BgTemplate *templates, int count)
InitBgFromTemplate(templates++);
}
-static void sub_81C7B74(void)
+static void InitHelpBar(void)
{
struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0);
- InitWindows(&gUnknown_0861FA08[0]);
- structPtr->unk10 = 0;
- sub_81C7BF8(structPtr->unk10);
- PutWindowTilemap(structPtr->unk10);
- CopyWindowToVram(structPtr->unk10, 3); // TODO: Use a defined constant here.
+ InitWindows(&sHelpBarWindowTemplate[0]);
+ structPtr->helpBarWindowId = 0;
+ DrawHelpBar(structPtr->helpBarWindowId);
+ PutWindowTilemap(structPtr->helpBarWindowId);
+ CopyWindowToVram(structPtr->helpBarWindowId, 3); // TODO: Use a defined constant here.
}
-void sub_81C7BA4(u32 helpBarIndex)
+void PrintHelpBarText(u32 textId)
{
struct PokenavMainMenuResources *structPtr = GetSubstructPtr(0);
- sub_81C7BF8(structPtr->unk10);
- AddTextPrinterParameterized3(structPtr->unk10, 1, 0, 1, gMenuButtonReminderColor, 0, sHelpBarTexts[helpBarIndex]);
+ DrawHelpBar(structPtr->helpBarWindowId);
+ AddTextPrinterParameterized3(structPtr->helpBarWindowId, 1, 0, 1, sHelpBarTextColors, 0, sHelpBarTexts[textId]);
}
-bool32 IsDma3ManagerBusyWithBgCopy_(void)
+bool32 WaitForHelpBar(void)
{
return IsDma3ManagerBusyWithBgCopy();
}
-static void sub_81C7BF8(u32 windowId)
+static void DrawHelpBar(u32 windowId)
{
FillWindowPixelBuffer(windowId, PIXEL_FILL(4));
FillWindowPixelRect(windowId, PIXEL_FILL(5), 0, 0, 0x80, 1);
diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c
index 5379ee88e..91dbe4005 100644
--- a/src/pokenav_match_call_data.c
+++ b/src/pokenav_match_call_data.c
@@ -7,9 +7,23 @@
#include "gym_leader_rematch.h"
#include "match_call.h"
#include "pokenav.h"
+#include "strings.h"
#include "constants/region_map_sections.h"
#include "constants/trainers.h"
+
+// NPC below means non-trainer character (no rematch or check page)
+// Steven also uses this type but has a check page by using a MatchCallCheckPageOverride
+enum
+{
+ MC_TYPE_NPC,
+ MC_TYPE_TRAINER,
+ MC_TYPE_WALLY,
+ MC_TYPE_BIRCH,
+ MC_TYPE_RIVAL,
+ MC_TYPE_LEADER
+};
+
// Static type declarations
typedef struct MatchCallTextDataStruct {
@@ -24,7 +38,7 @@ struct MatchCallStructCommon {
u16 flag;
};
-struct MatchCallStruct0 {
+struct MatchCallStructNPC {
u8 type;
u8 mapSec;
u16 flag;
@@ -33,7 +47,8 @@ struct MatchCallStruct0 {
const match_call_text_data_t *textData;
};
-struct MatchCallStruct1 {
+// Shared by MC_TYPE_TRAINER and MC_TYPE_LEADER
+struct MatchCallStructTrainer {
u8 type;
u8 mapSec;
u16 flag;
@@ -43,22 +58,22 @@ struct MatchCallStruct1 {
const match_call_text_data_t *textData;
};
-struct MatchCallSubstruct2 {
+struct MatchCallLocationOverride {
u16 flag;
u8 mapSec;
};
-struct MatchCallStruct2 {
+struct MatchCallWally {
u8 type;
u8 mapSec;
u16 flag;
u16 rematchTableIdx;
const u8 *desc;
const match_call_text_data_t *textData;
- const struct MatchCallSubstruct2 *v10;
+ const struct MatchCallLocationOverride *locationData;
};
-struct MatchCallStruct3 {
+struct MatchCallBirch {
u8 type;
u8 mapSec;
u16 flag;
@@ -66,21 +81,10 @@ struct MatchCallStruct3 {
const u8 *name;
};
-struct MatchCallStruct4 {
- u8 type;
- u8 gender;
- u16 flag;
- const u8 *desc;
- const u8 *name;
- const match_call_text_data_t *textData;
-};
-
-// Note: Type1 and Type5 have identical struct layouts.
-struct MatchCallStruct5 {
+struct MatchCallRival {
u8 type;
- u8 mapSec;
+ u8 playerGender;
u16 flag;
- u16 rematchTableIdx;
const u8 *desc;
const u8 *name;
const match_call_text_data_t *textData;
@@ -88,731 +92,606 @@ struct MatchCallStruct5 {
typedef union {
const struct MatchCallStructCommon *common;
- const struct MatchCallStruct0 *type0;
- const struct MatchCallStruct1 *type1;
- const struct MatchCallStruct2 *type2;
- const struct MatchCallStruct3 *type3;
- const struct MatchCallStruct4 *type4;
- const struct MatchCallStruct5 *type5;
+ const struct MatchCallStructNPC *npc;
+ const struct MatchCallStructTrainer *trainer;
+ const struct MatchCallWally *wally;
+ const struct MatchCallBirch *birch;
+ const struct MatchCallRival *rival;
+ const struct MatchCallStructTrainer *leader;
} match_call_t;
-struct MatchCallOverride {
+struct MatchCallCheckPageOverride {
u16 idx;
u16 facilityClass;
u32 flag;
- const u8 *flavorTexts[4];
+ const u8 *flavorTexts[CHECK_PAGE_ENTRY_COUNT];
};
// Static RAM declarations
// Static ROM declarations
-static bool32 MatchCallGetFlag_Type0(match_call_t);
-static bool32 MatchCallGetFlag_Type1(match_call_t);
-static bool32 MatchCallGetFlag_Type2(match_call_t);
-static bool32 MatchCallGetFlag_Type3(match_call_t);
-static bool32 MatchCallGetFlag_Type4(match_call_t);
-
-static u8 MatchCallGetMapSec_Type0(match_call_t);
-static u8 MatchCallGetMapSec_Type1(match_call_t);
-static u8 MatchCallGetMapSec_Type2(match_call_t);
-static u8 MatchCallGetMapSec_Type3(match_call_t);
-static u8 MatchCallGetMapSec_Type4(match_call_t);
-
-static bool32 MatchCall_IsRematchable_Type0(match_call_t);
-static bool32 MatchCall_IsRematchable_Type1(match_call_t);
-static bool32 MatchCall_IsRematchable_Type2(match_call_t);
-static bool32 MatchCall_IsRematchable_Type3(match_call_t);
-static bool32 MatchCall_IsRematchable_Type4(match_call_t);
-
-static bool32 MatchCall_HasCheckPage_Type0(match_call_t);
-static bool32 MatchCall_HasCheckPage_Type1(match_call_t);
-static bool32 MatchCall_HasCheckPage_Type2(match_call_t);
-static bool32 MatchCall_HasCheckPage_Type3(match_call_t);
-static bool32 MatchCall_HasCheckPage_Type4(match_call_t);
-
-static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t);
-static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t);
-static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t);
-static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t);
-static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t);
-
-static void MatchCall_GetMessage_Type0(match_call_t, u8 *);
-static void MatchCall_GetMessage_Type1(match_call_t, u8 *);
-static void MatchCall_GetMessage_Type2(match_call_t, u8 *);
-static void MatchCall_GetMessage_Type3(match_call_t, u8 *);
-static void MatchCall_GetMessage_Type4(match_call_t, u8 *);
-
-static void MatchCall_GetNameAndDesc_Type0(match_call_t, const u8 **, const u8 **);
-static void MatchCall_GetNameAndDesc_Type1(match_call_t, const u8 **, const u8 **);
-static void MatchCall_GetNameAndDesc_Type2(match_call_t, const u8 **, const u8 **);
-static void MatchCall_GetNameAndDesc_Type3(match_call_t, const u8 **, const u8 **);
-static void MatchCall_GetNameAndDesc_Type4(match_call_t, const u8 **, const u8 **);
-
-static void sub_81D1920(const match_call_text_data_t *, u8 *);
-static void sub_81D199C(const match_call_text_data_t *, u16, u8 *);
+static bool32 MatchCall_GetEnabled_NPC(match_call_t);
+static bool32 MatchCall_GetEnabled_Trainer(match_call_t);
+static bool32 MatchCall_GetEnabled_Wally(match_call_t);
+static bool32 MatchCall_GetEnabled_Birch(match_call_t);
+static bool32 MatchCall_GetEnabled_Rival(match_call_t);
+
+static u8 MatchCall_GetMapSec_NPC(match_call_t);
+static u8 MatchCall_GetMapSec_Trainer(match_call_t);
+static u8 MatchCall_GetMapSec_Wally(match_call_t);
+static u8 MatchCall_GetMapSec_Birch(match_call_t);
+static u8 MatchCall_GetMapSec_Rival(match_call_t);
+
+static bool32 MatchCall_IsRematchable_NPC(match_call_t);
+static bool32 MatchCall_IsRematchable_Trainer(match_call_t);
+static bool32 MatchCall_IsRematchable_Wally(match_call_t);
+static bool32 MatchCall_IsRematchable_Birch(match_call_t);
+static bool32 MatchCall_IsRematchable_Rival(match_call_t);
+
+static bool32 MatchCall_HasCheckPage_NPC(match_call_t);
+static bool32 MatchCall_HasCheckPage_Trainer(match_call_t);
+static bool32 MatchCall_HasCheckPage_Wally(match_call_t);
+static bool32 MatchCall_HasCheckPage_Birch(match_call_t);
+static bool32 MatchCall_HasCheckPage_Rival(match_call_t);
+
+static u32 MatchCall_GetRematchTableIdx_NPC(match_call_t);
+static u32 MatchCall_GetRematchTableIdx_Trainer(match_call_t);
+static u32 MatchCall_GetRematchTableIdx_Wally(match_call_t);
+static u32 MatchCall_GetRematchTableIdx_Birch(match_call_t);
+static u32 MatchCall_GetRematchTableIdx_Rival(match_call_t);
+
+static void MatchCall_GetMessage_NPC(match_call_t, u8 *);
+static void MatchCall_GetMessage_Trainer(match_call_t, u8 *);
+static void MatchCall_GetMessage_Wally(match_call_t, u8 *);
+static void MatchCall_GetMessage_Birch(match_call_t, u8 *);
+static void MatchCall_GetMessage_Rival(match_call_t, u8 *);
+
+static void MatchCall_GetNameAndDesc_NPC(match_call_t, const u8 **, const u8 **);
+static void MatchCall_GetNameAndDesc_Trainer(match_call_t, const u8 **, const u8 **);
+static void MatchCall_GetNameAndDesc_Wally(match_call_t, const u8 **, const u8 **);
+static void MatchCall_GetNameAndDesc_Birch(match_call_t, const u8 **, const u8 **);
+static void MatchCall_GetNameAndDesc_Rival(match_call_t, const u8 **, const u8 **);
+
+static void MatchCall_BufferCallMessageText(const match_call_text_data_t *, u8 *);
+static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_data_t *, u16, u8 *);
static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **);
-extern const u8 gText_MrStone_Pokenav_2B60C0[];
-extern const u8 gText_MrStone_Pokenav_2B61E6[];
-extern const u8 gText_MrStone_Pokenav_2B6302[];
-extern const u8 gText_MrStone_Pokenav_2B63A0[];
-extern const u8 gText_MrStone_Pokenav_2B64A2[];
-extern const u8 gText_MrStone_Pokenav_2B6526[];
-extern const u8 gText_MrStone_Pokenav_2B65BB[];
-extern const u8 gText_MrStone_Pokenav_2B6664[];
-extern const u8 gText_MrStone_Pokenav_2B66B1[];
-extern const u8 gText_MrStone_Pokenav_2B6703[];
-extern const u8 gText_MrStone_Pokenav_2B67ED[];
-
-extern const u8 gMrStoneMatchCallDesc[];
-extern const u8 gMrStoneMatchCallName[];
-
-extern const u8 gText_Norman_Pokenav_2B5719[];
-extern const u8 gText_Norman_Pokenav_2B5795[];
-extern const u8 gText_Norman_Pokenav_2B584D[];
-extern const u8 gText_Norman_Pokenav_2B58E3[];
-extern const u8 gText_Norman_Pokenav_2B5979[];
-extern const u8 gText_Norman_Pokenav_2B5A07[];
-extern const u8 gText_Norman_Pokenav_2B5A69[];
-extern const u8 gText_Norman_Pokenav_2B5ACF[];
-extern const u8 gText_Norman_Pokenav_2B5B5E[];
-
-extern const u8 gNormanMatchCallDesc[];
-extern const u8 gNormanMatchCallName[];
-
-extern const u8 gProfBirchMatchCallDesc[];
-extern const u8 gProfBirchMatchCallName[];
-
-extern const u8 gText_Mom_Pokenav_2B227B[];
-extern const u8 gText_Mom_Pokenav_2B2310[];
-extern const u8 gText_Mom_Pokenav_2B23F3[];
-
-extern const u8 gMomMatchCallDesc[];
-extern const u8 gMomMatchCallName[];
-
-extern const u8 gText_Steven_Pokenav_2B5B95[];
-extern const u8 gText_Steven_Pokenav_2B5C53[];
-extern const u8 gText_Steven_Pokenav_2B5CC9[];
-extern const u8 gText_Steven_Pokenav_2B5DB4[];
-extern const u8 gText_Steven_Pokenav_2B5E26[];
-extern const u8 gText_Steven_Pokenav_2B5EA2[];
-extern const u8 gText_Steven_Pokenav_2B5ED9[];
-
-extern const u8 gStevenMatchCallDesc[];
-extern const u8 gStevenMatchCallName[];
-
-extern const u8 gText_May_Pokenav_2B3AB3[];
-extern const u8 gText_May_Pokenav_2B3B3F[];
-extern const u8 gText_May_Pokenav_2B3C13[];
-extern const u8 gText_May_Pokenav_2B3CF3[];
-extern const u8 gText_May_Pokenav_2B3D4B[];
-extern const u8 gText_May_Pokenav_2B3DD1[];
-extern const u8 gText_May_Pokenav_2B3E69[];
-extern const u8 gText_May_Pokenav_2B3ECD[];
-extern const u8 gText_May_Pokenav_2B3F2B[];
-extern const u8 gText_May_Pokenav_2B3FFB[];
-extern const u8 gText_May_Pokenav_2B402B[];
-extern const u8 gText_May_Pokenav_2B414B[];
-extern const u8 gText_May_Pokenav_2B4228[];
-extern const u8 gText_May_Pokenav_2B42E0[];
-extern const u8 gText_May_Pokenav_2B4350[];
-extern const u8 gMayBrendanMatchCallDesc[];
-extern const u8 gExpandedPlaceholder_May[];
-extern const u8 gText_Brendan_Pokenav_2B43EF[];
-extern const u8 gText_Brendan_Pokenav_2B4486[];
-extern const u8 gText_Brendan_Pokenav_2B4560[];
-extern const u8 gText_Brendan_Pokenav_2B463F[];
-extern const u8 gText_Brendan_Pokenav_2B46B7[];
-extern const u8 gText_Brendan_Pokenav_2B4761[];
-extern const u8 gText_Brendan_Pokenav_2B47F4[];
-extern const u8 gText_Brendan_Pokenav_2B4882[];
-extern const u8 gText_Brendan_Pokenav_2B4909[];
-extern const u8 gText_Brendan_Pokenav_2B49C4[];
-extern const u8 gText_Brendan_Pokenav_2B4A44[];
-extern const u8 gText_Brendan_Pokenav_2B4B28[];
-extern const u8 gText_Brendan_Pokenav_2B4C15[];
-extern const u8 gText_Brendan_Pokenav_2B4CD8[];
-extern const u8 gText_Brendan_Pokenav_2B4D46[];
-extern const u8 gExpandedPlaceholder_Brendan[];
-extern const u8 gText_Wally_Pokenav_2B4DE2[];
-extern const u8 gText_Wally_Pokenav_2B4E57[];
-extern const u8 gText_Wally_Pokenav_2B4EA5[];
-extern const u8 gText_Wally_Pokenav_2B4F41[];
-extern const u8 gText_Wally_Pokenav_2B4FF3[];
-extern const u8 gText_Wally_Pokenav_2B50B1[];
-extern const u8 gText_Wally_Pokenav_2B5100[];
-extern const u8 gWallyMatchCallDesc[];
-extern const u8 gText_Scott_Pokenav_2B5184[];
-extern const u8 gText_Scott_Pokenav_2B5275[];
-extern const u8 gText_Scott_Pokenav_2B5323[];
-extern const u8 gText_Scott_Pokenav_2B53DB[];
-extern const u8 gText_Scott_Pokenav_2B54A5[];
-extern const u8 gText_Scott_Pokenav_2B5541[];
-extern const u8 gText_Scott_Pokenav_2B56CA[];
-extern const u8 gScottMatchCallDesc[];
-extern const u8 gScottMatchCallName[];
-extern const u8 gText_Roxanne_Pokenav_2B2456[];
-extern const u8 gText_Roxanne_Pokenav_2B250E[];
-extern const u8 gText_Roxanne_Pokenav_2B25C1[];
-extern const u8 gText_Roxanne_Pokenav_2B2607[];
-extern const u8 gRoxanneMatchCallDesc[];
-extern const u8 gText_Brawly_Pokenav_2B2659[];
-extern const u8 gText_Brawly_Pokenav_2B275D[];
-extern const u8 gText_Brawly_Pokenav_2B286F[];
-extern const u8 gText_Brawly_Pokenav_2B28D1[];
-extern const u8 gBrawlyMatchCallDesc[];
-extern const u8 gText_Wattson_Pokenav_2B2912[];
-extern const u8 gText_Wattson_Pokenav_2B29CA[];
-extern const u8 gText_Wattson_Pokenav_2B2AB6[];
-extern const u8 gText_Wattson_Pokenav_2B2B01[];
-extern const u8 gWattsonMatchCallDesc[];
-extern const u8 gText_Flannery_Pokenav_2B2B4D[];
-extern const u8 gText_Flannery_Pokenav_2B2C0E[];
-extern const u8 gText_Flannery_Pokenav_2B2CF1[];
-extern const u8 gText_Flannery_Pokenav_2B2D54[];
-extern const u8 gFlanneryMatchCallDesc[];
-extern const u8 gText_Winona_Pokenav_2B2DA4[];
-extern const u8 gText_Winona_Pokenav_2B2E2B[];
-extern const u8 gText_Winona_Pokenav_2B2EC2[];
-extern const u8 gText_Winona_Pokenav_2B2F16[];
-extern const u8 gWinonaMatchCallDesc[];
-extern const u8 gText_TateLiza_Pokenav_2B2F97[];
-extern const u8 gText_TateLiza_Pokenav_2B306E[];
-extern const u8 gText_TateLiza_Pokenav_2B3158[];
-extern const u8 gText_TateLiza_Pokenav_2B31CD[];
-extern const u8 gTateLizaMatchCallDesc[];
-extern const u8 gText_Juan_Pokenav_2B3249[];
-extern const u8 gText_Juan_Pokenav_2B32EC[];
-extern const u8 gText_Juan_Pokenav_2B33AA[];
-extern const u8 gText_Juan_Pokenav_2B341E[];
-extern const u8 gJuanMatchCallDesc[];
-extern const u8 gText_Sidney_Pokenav_2B34CC[];
-extern const u8 gEliteFourMatchCallDesc[];
-extern const u8 gText_Phoebe_Pokenav_2B3561[];
-extern const u8 gText_Glacia_Pokenav_2B35E4[];
-extern const u8 gText_Drake_Pokenav_2B368B[];
-extern const u8 gText_Wallace_Pokenav_2B3790[];
-extern const u8 gChampionMatchCallDesc[];
-extern const u8 gMatchCallStevenStrategyText[];
-extern const u8 gMatchCall_StevenTrainersPokemonText[];
-extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[];
-extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[];
-extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[];
-extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[];
-extern const u8 gMatchCall_BrendanStrategyText[];
-extern const u8 gMatchCall_BrendanTrainersPokemonText[];
-extern const u8 gMatchCall_BrendanSelfIntroductionText_Line1[];
-extern const u8 gMatchCall_BrendanSelfIntroductionText_Line2[];
-extern const u8 gMatchCall_MayStrategyText[];
-extern const u8 gMatchCall_MayTrainersPokemonText[];
-extern const u8 gMatchCall_MaySelfIntroductionText_Line1[];
-extern const u8 gMatchCall_MaySelfIntroductionText_Line2[];
// .rodata
static const match_call_text_data_t sMrStoneTextScripts[] = {
- { gText_MrStone_Pokenav_2B60C0, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV },
- { gText_MrStone_Pokenav_2B61E6, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF },
- { gText_MrStone_Pokenav_2B6302, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF },
- { gText_MrStone_Pokenav_2B63A0, FLAG_RECEIVED_EXP_SHARE, 0xFFFF },
- { gText_MrStone_Pokenav_2B64A2, FLAG_RECEIVED_HM04, 0xFFFF },
- { gText_MrStone_Pokenav_2B6526, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
- { gText_MrStone_Pokenav_2B65BB, FLAG_RECEIVED_CASTFORM, 0xFFFF },
- { gText_MrStone_Pokenav_2B6664, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
- { gText_MrStone_Pokenav_2B66B1, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
- { gText_MrStone_Pokenav_2B6703, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
- { gText_MrStone_Pokenav_2B67ED, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_MrStone1, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV },
+ { MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF },
+ { MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF },
+ { MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, 0xFFFF },
+ { MatchCall_Text_MrStone5, FLAG_RECEIVED_HM04, 0xFFFF },
+ { MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
+ { MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, 0xFFFF },
+ { MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
+ { MatchCall_Text_MrStone9, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
+ { MatchCall_Text_MrStone10, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
+ { MatchCall_Text_MrStone11, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct0 sMrStoneMatchCallHeader =
+static const struct MatchCallStructNPC sMrStoneMatchCallHeader =
{
- .type = 0,
+ .type = MC_TYPE_NPC,
.mapSec = MAPSEC_RUSTBORO_CITY,
.flag = 0xFFFF,
- .desc = gMrStoneMatchCallDesc,
- .name = gMrStoneMatchCallName,
+ .desc = gText_MrStoneMatchCallDesc,
+ .name = gText_MrStoneMatchCallName,
.textData = sMrStoneTextScripts
};
static const match_call_text_data_t sNormanTextScripts[] = {
- { gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF },
- { gText_Norman_Pokenav_2B5795, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
- { gText_Norman_Pokenav_2B584D, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
- { gText_Norman_Pokenav_2B58E3, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
- { gText_Norman_Pokenav_2B5979, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
- { gText_Norman_Pokenav_2B5A07, 0xFFFE, 0xFFFF },
- { gText_Norman_Pokenav_2B5A69, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { gText_Norman_Pokenav_2B5ACF, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { gText_Norman_Pokenav_2B5B5E, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF },
+ { MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
+ { MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
+ { MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
+ { MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
+ { MatchCall_Text_Norman6, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_Norman7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { MatchCall_Text_Norman8, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { MatchCall_Text_Norman9, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sNormanMatchCallHeader =
+static const struct MatchCallStructTrainer sNormanMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_PETALBURG_CITY,
.flag = FLAG_ENABLE_NORMAN_MATCH_CALL,
.rematchTableIdx = REMATCH_NORMAN,
- .desc = gNormanMatchCallDesc,
- .name = gNormanMatchCallName,
+ .desc = gText_NormanMatchCallDesc,
+ .name = gText_NormanMatchCallName,
.textData = sNormanTextScripts
};
-static const struct MatchCallStruct3 sProfBirchMatchCallHeader =
+static const struct MatchCallBirch sProfBirchMatchCallHeader =
{
- .type = 3,
+ .type = MC_TYPE_BIRCH,
.mapSec = 0,
.flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL,
- .desc = gProfBirchMatchCallDesc,
- .name = gProfBirchMatchCallName
+ .desc = gText_ProfBirchMatchCallDesc,
+ .name = gText_ProfBirchMatchCallName
};
static const match_call_text_data_t sMomTextScripts[] = {
- { gText_Mom_Pokenav_2B227B, 0xffff, 0xffff },
- { gText_Mom_Pokenav_2B2310, FLAG_DEFEATED_PETALBURG_GYM, 0xffff },
- { gText_Mom_Pokenav_2B23F3, FLAG_SYS_GAME_CLEAR, 0xffff },
- { NULL, 0xffff, 0xffff }
+ { MatchCall_Text_Mom1, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Mom2, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
+ { MatchCall_Text_Mom3, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct0 sMomMatchCallHeader =
+static const struct MatchCallStructNPC sMomMatchCallHeader =
{
- .type = 0,
+ .type = MC_TYPE_NPC,
.mapSec = MAPSEC_LITTLEROOT_TOWN,
.flag = FLAG_ENABLE_MOM_MATCH_CALL,
- .desc = gMomMatchCallDesc,
- .name = gMomMatchCallName,
+ .desc = gText_MomMatchCallDesc,
+ .name = gText_MomMatchCallName,
.textData = sMomTextScripts
};
static const match_call_text_data_t sStevenTextScripts[] = {
- { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff },
- { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff },
- { gText_Steven_Pokenav_2B5CC9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xffff },
- { gText_Steven_Pokenav_2B5DB4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xffff },
- { gText_Steven_Pokenav_2B5E26, FLAG_DEFEATED_MOSSDEEP_GYM, 0xffff },
- { gText_Steven_Pokenav_2B5EA2, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xffff },
- { gText_Steven_Pokenav_2B5ED9, FLAG_SYS_GAME_CLEAR, 0xffff },
- { NULL, 0xffff, 0xffff },
+ { MatchCall_Text_Steven1, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Steven2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
+ { MatchCall_Text_Steven3, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
+ { MatchCall_Text_Steven4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
+ { MatchCall_Text_Steven5, FLAG_DEFEATED_MOSSDEEP_GYM, 0xFFFF },
+ { MatchCall_Text_Steven6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
+ { MatchCall_Text_Steven7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF },
};
-static const struct MatchCallStruct0 sStevenMatchCallHeader =
+static const struct MatchCallStructNPC sStevenMatchCallHeader =
{
- .type = 0,
+ .type = MC_TYPE_NPC,
.mapSec = MAPSEC_NONE,
.flag = FLAG_REGISTERED_STEVEN_POKENAV,
- .desc = gStevenMatchCallDesc,
- .name = gStevenMatchCallName,
+ .desc = gText_StevenMatchCallDesc,
+ .name = gText_StevenMatchCallName,
.textData = sStevenTextScripts
};
static const match_call_text_data_t sMayTextScripts[] = {
- { gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF },
- { gText_May_Pokenav_2B3B3F, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
- { gText_May_Pokenav_2B3C13, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
- { gText_May_Pokenav_2B3CF3, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
- { gText_May_Pokenav_2B3D4B, FLAG_RECEIVED_HM04, 0xFFFF },
- { gText_May_Pokenav_2B3DD1, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
- { gText_May_Pokenav_2B3E69, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
- { gText_May_Pokenav_2B3ECD, FLAG_RECEIVED_CASTFORM, 0xFFFF },
- { gText_May_Pokenav_2B3F2B, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
- { gText_May_Pokenav_2B3FFB, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
- { gText_May_Pokenav_2B402B, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
- { gText_May_Pokenav_2B414B, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
- { gText_May_Pokenav_2B4228, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
- { gText_May_Pokenav_2B42E0, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
- { gText_May_Pokenav_2B4350, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_May1, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
+ { MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
+ { MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
+ { MatchCall_Text_May5, FLAG_RECEIVED_HM04, 0xFFFF },
+ { MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
+ { MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
+ { MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, 0xFFFF },
+ { MatchCall_Text_May9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
+ { MatchCall_Text_May10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
+ { MatchCall_Text_May11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
+ { MatchCall_Text_May12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
+ { MatchCall_Text_May13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
+ { MatchCall_Text_May14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
+ { MatchCall_Text_May15, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct4 sMayMatchCallHeader =
+static const struct MatchCallRival sMayMatchCallHeader =
{
- .type = 4,
- .gender = MALE, //Gender of player
+ .type = MC_TYPE_RIVAL,
+ .playerGender = MALE,
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
- .desc = gMayBrendanMatchCallDesc,
- .name = gExpandedPlaceholder_May,
+ .desc = gText_MayBrendanMatchCallDesc,
+ .name = gText_ExpandedPlaceholder_May,
.textData = sMayTextScripts
};
static const match_call_text_data_t sBrendanTextScripts[] = {
- { gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF },
- { gText_Brendan_Pokenav_2B4486, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
- { gText_Brendan_Pokenav_2B4560, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
- { gText_Brendan_Pokenav_2B463F, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
- { gText_Brendan_Pokenav_2B46B7, FLAG_RECEIVED_HM04, 0xFFFF },
- { gText_Brendan_Pokenav_2B4761, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
- { gText_Brendan_Pokenav_2B47F4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
- { gText_Brendan_Pokenav_2B4882, FLAG_RECEIVED_CASTFORM, 0xFFFF },
- { gText_Brendan_Pokenav_2B4909, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
- { gText_Brendan_Pokenav_2B49C4, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
- { gText_Brendan_Pokenav_2B4A44, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
- { gText_Brendan_Pokenav_2B4B28, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
- { gText_Brendan_Pokenav_2B4C15, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
- { gText_Brendan_Pokenav_2B4CD8, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
- { gText_Brendan_Pokenav_2B4D46, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Brendan1, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
+ { MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
+ { MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
+ { MatchCall_Text_Brendan5, FLAG_RECEIVED_HM04, 0xFFFF },
+ { MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
+ { MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
+ { MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, 0xFFFF },
+ { MatchCall_Text_Brendan9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
+ { MatchCall_Text_Brendan10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
+ { MatchCall_Text_Brendan11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
+ { MatchCall_Text_Brendan12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
+ { MatchCall_Text_Brendan13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
+ { MatchCall_Text_Brendan14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
+ { MatchCall_Text_Brendan15, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct4 sBrendanMatchCallHeader =
+static const struct MatchCallRival sBrendanMatchCallHeader =
{
- .type = 4,
- .gender = FEMALE, //Gender of player
+ .type = MC_TYPE_RIVAL,
+ .playerGender = FEMALE,
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
- .desc = gMayBrendanMatchCallDesc,
- .name = gExpandedPlaceholder_Brendan,
+ .desc = gText_MayBrendanMatchCallDesc,
+ .name = gText_ExpandedPlaceholder_Brendan,
.textData = sBrendanTextScripts
};
static const match_call_text_data_t sWallyTextScripts[] = {
- { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF },
- { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
- { gText_Wally_Pokenav_2B4EA5, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
- { gText_Wally_Pokenav_2B4F41, FLAG_RECEIVED_CASTFORM, 0xFFFF },
- { gText_Wally_Pokenav_2B4FF3, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
- { gText_Wally_Pokenav_2B50B1, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
- { gText_Wally_Pokenav_2B5100, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Wally1, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Wally2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
+ { MatchCall_Text_Wally3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
+ { MatchCall_Text_Wally4, FLAG_RECEIVED_CASTFORM, 0xFFFF },
+ { MatchCall_Text_Wally5, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
+ { MatchCall_Text_Wally6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
+ { MatchCall_Text_Wally7, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-const struct MatchCallSubstruct2 sWallyAdditionalData[] = {
+const struct MatchCallLocationOverride sWallyLocationData[] = {
{ FLAG_HIDE_MAUVILLE_CITY_WALLY, MAPSEC_VERDANTURF_TOWN },
{ FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, MAPSEC_NONE },
{ FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY, MAPSEC_VICTORY_ROAD },
{ 0xFFFF, MAPSEC_NONE }
};
-static const struct MatchCallStruct2 sWallyMatchCallHeader =
+static const struct MatchCallWally sWallyMatchCallHeader =
{
- .type = 2,
+ .type = MC_TYPE_WALLY,
.mapSec = 0,
.flag = FLAG_ENABLE_WALLY_MATCH_CALL,
.rematchTableIdx = REMATCH_WALLY_3,
- .desc = gWallyMatchCallDesc,
+ .desc = gText_WallyMatchCallDesc,
.textData = sWallyTextScripts,
- .v10 = sWallyAdditionalData
+ .locationData = sWallyLocationData
};
static const match_call_text_data_t sScottTextScripts[] = {
- { gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF },
- { gText_Scott_Pokenav_2B5275, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF },
- { gText_Scott_Pokenav_2B5323, FLAG_RECEIVED_CASTFORM, 0xFFFF },
- { gText_Scott_Pokenav_2B53DB, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
- { gText_Scott_Pokenav_2B54A5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
- { gText_Scott_Pokenav_2B5541, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
- { gText_Scott_Pokenav_2B56CA, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Scott1, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Scott2, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF },
+ { MatchCall_Text_Scott3, FLAG_RECEIVED_CASTFORM, 0xFFFF },
+ { MatchCall_Text_Scott4, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
+ { MatchCall_Text_Scott5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
+ { MatchCall_Text_Scott6, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
+ { MatchCall_Text_Scott7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct0 sScottMatchCallHeader =
+static const struct MatchCallStructNPC sScottMatchCallHeader =
{
.type = 0,
.mapSec = MAPSEC_NONE,
.flag = FLAG_ENABLE_SCOTT_MATCH_CALL,
- .desc = gScottMatchCallDesc,
- .name = gScottMatchCallName,
+ .desc = gText_ScottMatchCallDesc,
+ .name = gText_ScottMatchCallName,
.textData = sScottTextScripts
};
static const match_call_text_data_t sRoxanneTextScripts[] = {
- { gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF },
- { gText_Roxanne_Pokenav_2B250E, 0xFFFF, 0xFFFF },
- { gText_Roxanne_Pokenav_2B25C1, 0xFFFF, 0xFFFF },
- { gText_Roxanne_Pokenav_2B2607, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Roxanne1, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_Roxanne2, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Roxanne3, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Roxanne4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sRoxanneMatchCallHeader =
+static const struct MatchCallStructTrainer sRoxanneMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_RUSTBORO_CITY,
.flag = FLAG_ENABLE_ROXANNE_MATCH_CALL,
.rematchTableIdx = REMATCH_ROXANNE,
- .desc = gRoxanneMatchCallDesc,
+ .desc = gText_RoxanneMatchCallDesc,
.name = NULL,
.textData = sRoxanneTextScripts
};
static const match_call_text_data_t sBrawlyTextScripts[] = {
- { gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF },
- { gText_Brawly_Pokenav_2B275D, 0xFFFF, 0xFFFF },
- { gText_Brawly_Pokenav_2B286F, 0xFFFF, 0xFFFF },
- { gText_Brawly_Pokenav_2B28D1, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Brawly1, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_Brawly2, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Brawly3, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Brawly4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sBrawlyMatchCallHeader =
+static const struct MatchCallStructTrainer sBrawlyMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_DEWFORD_TOWN,
.flag = FLAG_ENABLE_BRAWLY_MATCH_CALL,
.rematchTableIdx = REMATCH_BRAWLY,
- .desc = gBrawlyMatchCallDesc,
+ .desc = gText_BrawlyMatchCallDesc,
.name = NULL,
.textData = sBrawlyTextScripts
};
static const match_call_text_data_t sWattsonTextScripts[] = {
- { gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF },
- { gText_Wattson_Pokenav_2B29CA, 0xFFFF, 0xFFFF },
- { gText_Wattson_Pokenav_2B2AB6, 0xFFFF, 0xFFFF },
- { gText_Wattson_Pokenav_2B2B01, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Wattson1, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_Wattson2, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Wattson3, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Wattson4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sWattsonMatchCallHeader =
+static const struct MatchCallStructTrainer sWattsonMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_MAUVILLE_CITY,
.flag = FLAG_ENABLE_WATTSON_MATCH_CALL,
.rematchTableIdx = REMATCH_WATTSON,
- .desc = gWattsonMatchCallDesc,
+ .desc = gText_WattsonMatchCallDesc,
.name = NULL,
.textData = sWattsonTextScripts
};
static const match_call_text_data_t sFlanneryTextScripts[] = {
- { gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF },
- { gText_Flannery_Pokenav_2B2C0E, 0xFFFF, 0xFFFF },
- { gText_Flannery_Pokenav_2B2CF1, 0xFFFF, 0xFFFF },
- { gText_Flannery_Pokenav_2B2D54, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Flannery1, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_Flannery2, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Flannery3, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Flannery4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sFlanneryMatchCallHeader =
+static const struct MatchCallStructTrainer sFlanneryMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_LAVARIDGE_TOWN,
.flag = FLAG_ENABLE_FLANNERY_MATCH_CALL,
.rematchTableIdx = REMATCH_FLANNERY,
- .desc = gFlanneryMatchCallDesc,
+ .desc = gText_FlanneryMatchCallDesc,
.name = NULL,
.textData = sFlanneryTextScripts
};
static const match_call_text_data_t sWinonaTextScripts[] = {
- { gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF },
- { gText_Winona_Pokenav_2B2E2B, 0xFFFF, 0xFFFF },
- { gText_Winona_Pokenav_2B2EC2, 0xFFFF, 0xFFFF },
- { gText_Winona_Pokenav_2B2F16, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Winona1, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_Winona2, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Winona3, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Winona4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sWinonaMatchCallHeader =
+static const struct MatchCallStructTrainer sWinonaMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_FORTREE_CITY,
.flag = FLAG_ENABLE_WINONA_MATCH_CALL,
.rematchTableIdx = REMATCH_WINONA,
- .desc = gWinonaMatchCallDesc,
+ .desc = gText_WinonaMatchCallDesc,
.name = NULL,
.textData = sWinonaTextScripts
};
static const match_call_text_data_t sTateLizaTextScripts[] = {
- { gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF },
- { gText_TateLiza_Pokenav_2B306E, 0xFFFF, 0xFFFF },
- { gText_TateLiza_Pokenav_2B3158, 0xFFFF, 0xFFFF },
- { gText_TateLiza_Pokenav_2B31CD, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_TateLiza1, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_TateLiza2, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_TateLiza3, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_TateLiza4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sTateLizaMatchCallHeader =
+static const struct MatchCallStructTrainer sTateLizaMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_MOSSDEEP_CITY,
.flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL,
.rematchTableIdx = REMATCH_TATE_AND_LIZA,
- .desc = gTateLizaMatchCallDesc,
+ .desc = gText_TateLizaMatchCallDesc,
.name = NULL,
.textData = sTateLizaTextScripts
};
static const match_call_text_data_t sJuanTextScripts[] = {
- { gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF },
- { gText_Juan_Pokenav_2B32EC, 0xFFFF, 0xFFFF },
- { gText_Juan_Pokenav_2B33AA, 0xFFFF, 0xFFFF },
- { gText_Juan_Pokenav_2B341E, FLAG_SYS_GAME_CLEAR, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Juan1, 0xFFFE, 0xFFFF },
+ { MatchCall_Text_Juan2, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Juan3, 0xFFFF, 0xFFFF },
+ { MatchCall_Text_Juan4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sJuanMatchCallHeader =
+static const struct MatchCallStructTrainer sJuanMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_SOOTOPOLIS_CITY,
.flag = FLAG_ENABLE_JUAN_MATCH_CALL,
.rematchTableIdx = REMATCH_JUAN,
- .desc = gJuanMatchCallDesc,
+ .desc = gText_JuanMatchCallDesc,
.name = NULL,
.textData = sJuanTextScripts
};
static const match_call_text_data_t sSidneyTextScripts[] = {
- { gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Sidney, 0xFFFF, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sSidneyMatchCallHeader =
+static const struct MatchCallStructTrainer sSidneyMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_SIDNEY,
.rematchTableIdx = REMATCH_SIDNEY,
- .desc = gEliteFourMatchCallDesc,
+ .desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sSidneyTextScripts
};
static const match_call_text_data_t sPhoebeTextScripts[] = {
- { gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Phoebe, 0xFFFF, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sPhoebeMatchCallHeader =
+static const struct MatchCallStructTrainer sPhoebeMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_PHOEBE,
.rematchTableIdx = REMATCH_PHOEBE,
- .desc = gEliteFourMatchCallDesc,
+ .desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sPhoebeTextScripts
};
static const match_call_text_data_t sGlaciaTextScripts[] = {
- { gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Glacia, 0xFFFF, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sGlaciaMatchCallHeader =
+static const struct MatchCallStructTrainer sGlaciaMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_GLACIA,
.rematchTableIdx = REMATCH_GLACIA,
- .desc = gEliteFourMatchCallDesc,
+ .desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sGlaciaTextScripts
};
static const match_call_text_data_t sDrakeTextScripts[] = {
- { gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Drake, 0xFFFF, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sDrakeMatchCallHeader =
+static const struct MatchCallStructTrainer sDrakeMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_DRAKE,
.rematchTableIdx = REMATCH_DRAKE,
- .desc = gEliteFourMatchCallDesc,
+ .desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sDrakeTextScripts
};
static const match_call_text_data_t sWallaceTextScripts[] = {
- { gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF },
- { NULL, 0xFFFF, 0xFFFF }
+ { MatchCall_Text_Wallace, 0xFFFF, 0xFFFF },
+ { NULL, 0xFFFF, 0xFFFF }
};
-static const struct MatchCallStruct5 sWallaceMatchCallHeader =
+static const struct MatchCallStructTrainer sWallaceMatchCallHeader =
{
- .type = 5,
+ .type = MC_TYPE_LEADER,
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_WALLACE,
.rematchTableIdx = REMATCH_WALLACE,
- .desc = gChampionMatchCallDesc,
+ .desc = gText_ChampionMatchCallDesc,
.name = NULL,
.textData = sWallaceTextScripts
};
static const match_call_t sMatchCallHeaders[] = {
- [MC_HEADER_MR_STONE] = {.type0 = &sMrStoneMatchCallHeader},
- [MC_HEADER_PROF_BIRCH] = {.type3 = &sProfBirchMatchCallHeader},
- [MC_HEADER_BRENDAN] = {.type4 = &sBrendanMatchCallHeader},
- [MC_HEADER_MAY] = {.type4 = &sMayMatchCallHeader},
- [MC_HEADER_WALLY] = {.type2 = &sWallyMatchCallHeader},
- [MC_HEADER_NORMAN] = {.type5 = &sNormanMatchCallHeader},
- [MC_HEADER_MOM] = {.type0 = &sMomMatchCallHeader},
- [MC_HEADER_STEVEN] = {.type0 = &sStevenMatchCallHeader},
- [MC_HEADER_SCOTT] = {.type0 = &sScottMatchCallHeader},
- [MC_HEADER_ROXANNE] = {.type5 = &sRoxanneMatchCallHeader},
- [MC_HEADER_BRAWLY] = {.type5 = &sBrawlyMatchCallHeader},
- [MC_HEADER_WATTSON] = {.type5 = &sWattsonMatchCallHeader},
- [MC_HEADER_FLANNERY] = {.type5 = &sFlanneryMatchCallHeader},
- [MC_HEADER_WINONA] = {.type5 = &sWinonaMatchCallHeader},
- [MC_HEADER_TATE_LIZA] = {.type5 = &sTateLizaMatchCallHeader},
- [MC_HEADER_JUAN] = {.type5 = &sJuanMatchCallHeader},
- [MC_HEADER_SIDNEY] = {.type5 = &sSidneyMatchCallHeader},
- [MC_HEADER_PHOEBE] = {.type5 = &sPhoebeMatchCallHeader},
- [MC_HEADER_GLACIA] = {.type5 = &sGlaciaMatchCallHeader},
- [MC_HEADER_DRAKE] = {.type5 = &sDrakeMatchCallHeader},
- [MC_HEADER_WALLACE] = {.type5 = &sWallaceMatchCallHeader}
+ [MC_HEADER_MR_STONE] = {.npc = &sMrStoneMatchCallHeader},
+ [MC_HEADER_PROF_BIRCH] = {.birch = &sProfBirchMatchCallHeader},
+ [MC_HEADER_BRENDAN] = {.rival = &sBrendanMatchCallHeader},
+ [MC_HEADER_MAY] = {.rival = &sMayMatchCallHeader},
+ [MC_HEADER_WALLY] = {.wally = &sWallyMatchCallHeader},
+ [MC_HEADER_NORMAN] = {.leader = &sNormanMatchCallHeader},
+ [MC_HEADER_MOM] = {.npc = &sMomMatchCallHeader},
+ [MC_HEADER_STEVEN] = {.npc = &sStevenMatchCallHeader},
+ [MC_HEADER_SCOTT] = {.npc = &sScottMatchCallHeader},
+ [MC_HEADER_ROXANNE] = {.leader = &sRoxanneMatchCallHeader},
+ [MC_HEADER_BRAWLY] = {.leader = &sBrawlyMatchCallHeader},
+ [MC_HEADER_WATTSON] = {.leader = &sWattsonMatchCallHeader},
+ [MC_HEADER_FLANNERY] = {.leader = &sFlanneryMatchCallHeader},
+ [MC_HEADER_WINONA] = {.leader = &sWinonaMatchCallHeader},
+ [MC_HEADER_TATE_LIZA] = {.leader = &sTateLizaMatchCallHeader},
+ [MC_HEADER_JUAN] = {.leader = &sJuanMatchCallHeader},
+ [MC_HEADER_SIDNEY] = {.leader = &sSidneyMatchCallHeader},
+ [MC_HEADER_PHOEBE] = {.leader = &sPhoebeMatchCallHeader},
+ [MC_HEADER_GLACIA] = {.leader = &sGlaciaMatchCallHeader},
+ [MC_HEADER_DRAKE] = {.leader = &sDrakeMatchCallHeader},
+ [MC_HEADER_WALLACE] = {.leader = &sWallaceMatchCallHeader}
};
-static bool32 (*const sMatchCallGetFlagFuncs[])(match_call_t) = {
- MatchCallGetFlag_Type0,
- MatchCallGetFlag_Type1,
- MatchCallGetFlag_Type2,
- MatchCallGetFlag_Type4,
- MatchCallGetFlag_Type3
+static bool32 (*const sMatchCallGetEnabledFuncs[])(match_call_t) = {
+ MatchCall_GetEnabled_NPC,
+ MatchCall_GetEnabled_Trainer,
+ MatchCall_GetEnabled_Wally,
+ MatchCall_GetEnabled_Rival,
+ MatchCall_GetEnabled_Birch
};
static u8 (*const sMatchCallGetMapSecFuncs[])(match_call_t) = {
- MatchCallGetMapSec_Type0,
- MatchCallGetMapSec_Type1,
- MatchCallGetMapSec_Type2,
- MatchCallGetMapSec_Type4,
- MatchCallGetMapSec_Type3
+ MatchCall_GetMapSec_NPC,
+ MatchCall_GetMapSec_Trainer,
+ MatchCall_GetMapSec_Wally,
+ MatchCall_GetMapSec_Rival,
+ MatchCall_GetMapSec_Birch
};
static bool32 (*const sMatchCall_IsRematchableFunctions[])(match_call_t) = {
- MatchCall_IsRematchable_Type0,
- MatchCall_IsRematchable_Type1,
- MatchCall_IsRematchable_Type2,
- MatchCall_IsRematchable_Type4,
- MatchCall_IsRematchable_Type3
+ MatchCall_IsRematchable_NPC,
+ MatchCall_IsRematchable_Trainer,
+ MatchCall_IsRematchable_Wally,
+ MatchCall_IsRematchable_Rival,
+ MatchCall_IsRematchable_Birch
};
static bool32 (*const sMatchCall_HasCheckPageFunctions[])(match_call_t) = {
- MatchCall_HasCheckPage_Type0,
- MatchCall_HasCheckPage_Type1,
- MatchCall_HasCheckPage_Type2,
- MatchCall_HasCheckPage_Type4,
- MatchCall_HasCheckPage_Type3
+ MatchCall_HasCheckPage_NPC,
+ MatchCall_HasCheckPage_Trainer,
+ MatchCall_HasCheckPage_Wally,
+ MatchCall_HasCheckPage_Rival,
+ MatchCall_HasCheckPage_Birch
};
static u32 (*const sMatchCall_GetRematchTableIdxFunctions[])(match_call_t) = {
- MatchCall_GetRematchTableIdx_Type0,
- MatchCall_GetRematchTableIdx_Type1,
- MatchCall_GetRematchTableIdx_Type2,
- MatchCall_GetRematchTableIdx_Type4,
- MatchCall_GetRematchTableIdx_Type3
+ MatchCall_GetRematchTableIdx_NPC,
+ MatchCall_GetRematchTableIdx_Trainer,
+ MatchCall_GetRematchTableIdx_Wally,
+ MatchCall_GetRematchTableIdx_Rival,
+ MatchCall_GetRematchTableIdx_Birch
};
static void (*const sMatchCall_GetMessageFunctions[])(match_call_t, u8 *) = {
- MatchCall_GetMessage_Type0,
- MatchCall_GetMessage_Type1,
- MatchCall_GetMessage_Type2,
- MatchCall_GetMessage_Type4,
- MatchCall_GetMessage_Type3
+ MatchCall_GetMessage_NPC,
+ MatchCall_GetMessage_Trainer,
+ MatchCall_GetMessage_Wally,
+ MatchCall_GetMessage_Rival,
+ MatchCall_GetMessage_Birch
};
static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8 **, const u8 **) = {
- MatchCall_GetNameAndDesc_Type0,
- MatchCall_GetNameAndDesc_Type1,
- MatchCall_GetNameAndDesc_Type2,
- MatchCall_GetNameAndDesc_Type4,
- MatchCall_GetNameAndDesc_Type3
+ MatchCall_GetNameAndDesc_NPC,
+ MatchCall_GetNameAndDesc_Trainer,
+ MatchCall_GetNameAndDesc_Wally,
+ MatchCall_GetNameAndDesc_Rival,
+ MatchCall_GetNameAndDesc_Birch
};
-static const struct MatchCallOverride sMatchCallCheckPageOverrides[] = {
- { MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, 0xFFFF, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN
- { MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN
- { MC_HEADER_BRENDAN, FACILITY_CLASS_BRENDAN, 0xFFFF, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan
- { MC_HEADER_MAY, FACILITY_CLASS_MAY, 0xFFFF, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May
+static const struct MatchCallCheckPageOverride sCheckPageOverrides[] = {
+ {
+ .idx = MC_HEADER_STEVEN,
+ .facilityClass = FACILITY_CLASS_STEVEN,
+ .flag = 0xFFFF,
+ .flavorTexts = {
+ [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy,
+ [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon,
+ [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle,
+ [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle
+ }
+ },
+ {
+ .idx = MC_HEADER_STEVEN,
+ .facilityClass = FACILITY_CLASS_STEVEN,
+ .flag = FLAG_DEFEATED_MOSSDEEP_GYM,
+ .flavorTexts = {
+ [CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy,
+ [CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon,
+ [CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle,
+ [CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle
+ }
+ },
+ {
+ .idx = MC_HEADER_BRENDAN,
+ .facilityClass = FACILITY_CLASS_BRENDAN,
+ .flag = 0xFFFF,
+ .flavorTexts = MCFLAVOR(Brendan)
+ },
+ {
+ .idx = MC_HEADER_MAY,
+ .facilityClass = FACILITY_CLASS_MAY,
+ .flag = 0xFFFF,
+ .flavorTexts = MCFLAVOR(May)
+ }
};
// .text
@@ -821,17 +700,17 @@ static u32 MatchCallGetFunctionIndex(match_call_t matchCall)
{
switch (matchCall.common->type)
{
- case 0:
default:
+ case MC_TYPE_NPC:
return 0;
- case 1:
- case 5:
+ case MC_TYPE_TRAINER:
+ case MC_TYPE_LEADER:
return 1;
- case 2:
+ case MC_TYPE_WALLY:
return 2;
- case 4:
+ case MC_TYPE_RIVAL:
return 3;
- case 3:
+ case MC_TYPE_BIRCH:
return 4;
}
}
@@ -853,93 +732,93 @@ s32 GetRematchIdxByTrainerIdx(s32 trainerIdx)
return -1;
}
-bool32 MatchCallFlagGetByIndex(u32 idx)
+bool32 MatchCall_GetEnabled(u32 idx)
{
match_call_t matchCall;
u32 i;
- if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
+ if (idx >= ARRAY_COUNT(sMatchCallHeaders))
return FALSE;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
- return sMatchCallGetFlagFuncs[i](matchCall);
+ return sMatchCallGetEnabledFuncs[i](matchCall);
}
-static bool32 MatchCallGetFlag_Type0(match_call_t matchCall)
+static bool32 MatchCall_GetEnabled_NPC(match_call_t matchCall)
{
- if (matchCall.type0->flag == 0xffff)
+ if (matchCall.npc->flag == 0xFFFF)
return TRUE;
- return FlagGet(matchCall.type0->flag);
+ return FlagGet(matchCall.npc->flag);
}
-static bool32 MatchCallGetFlag_Type1(match_call_t matchCall)
+static bool32 MatchCall_GetEnabled_Trainer(match_call_t matchCall)
{
- if (matchCall.type1->flag == 0xffff)
+ if (matchCall.trainer->flag == 0xFFFF)
return TRUE;
- return FlagGet(matchCall.type1->flag);
+ return FlagGet(matchCall.trainer->flag);
}
-static bool32 MatchCallGetFlag_Type2(match_call_t matchCall)
+static bool32 MatchCall_GetEnabled_Wally(match_call_t matchCall)
{
- if (matchCall.type2->flag == 0xffff)
+ if (matchCall.wally->flag == 0xFFFF)
return TRUE;
- return FlagGet(matchCall.type2->flag);
+ return FlagGet(matchCall.wally->flag);
}
-static bool32 MatchCallGetFlag_Type4(match_call_t matchCall)
+static bool32 MatchCall_GetEnabled_Rival(match_call_t matchCall)
{
- if (matchCall.type4->gender != gSaveBlock2Ptr->playerGender)
+ if (matchCall.rival->playerGender != gSaveBlock2Ptr->playerGender)
return FALSE;
- if (matchCall.type4->flag == 0xffff)
+ if (matchCall.rival->flag == 0xFFFF)
return TRUE;
- return FlagGet(matchCall.type4->flag);
+ return FlagGet(matchCall.rival->flag);
}
-static bool32 MatchCallGetFlag_Type3(match_call_t matchCall)
+static bool32 MatchCall_GetEnabled_Birch(match_call_t matchCall)
{
- return FlagGet(matchCall.type3->flag);
+ return FlagGet(matchCall.birch->flag);
}
-u8 MatchCallMapSecGetByIndex(u32 idx)
+u8 MatchCall_GetMapSec(u32 idx)
{
match_call_t matchCall;
u32 i;
- if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
+ if (idx >= ARRAY_COUNT(sMatchCallHeaders))
return 0;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
return sMatchCallGetMapSecFuncs[i](matchCall);
}
-static u8 MatchCallGetMapSec_Type0(match_call_t matchCall)
+static u8 MatchCall_GetMapSec_NPC(match_call_t matchCall)
{
- return matchCall.type0->mapSec;
+ return matchCall.npc->mapSec;
}
-static u8 MatchCallGetMapSec_Type1(match_call_t matchCall)
+static u8 MatchCall_GetMapSec_Trainer(match_call_t matchCall)
{
- return matchCall.type1->mapSec;
+ return matchCall.trainer->mapSec;
}
-static u8 MatchCallGetMapSec_Type2(match_call_t matchCall)
+static u8 MatchCall_GetMapSec_Wally(match_call_t matchCall)
{
s32 i;
- for (i = 0; matchCall.type2->v10[i].flag != 0xffff; i++)
+ for (i = 0; matchCall.wally->locationData[i].flag != 0xFFFF; i++)
{
- if (!FlagGet(matchCall.type2->v10[i].flag))
+ if (!FlagGet(matchCall.wally->locationData[i].flag))
break;
}
- return matchCall.type2->v10[i].mapSec;
+ return matchCall.wally->locationData[i].mapSec;
}
-static u8 MatchCallGetMapSec_Type4(match_call_t matchCall)
+static u8 MatchCall_GetMapSec_Rival(match_call_t matchCall)
{
return MAPSEC_NONE;
}
-static u8 MatchCallGetMapSec_Type3(match_call_t matchCall)
+static u8 MatchCall_GetMapSec_Birch(match_call_t matchCall)
{
return MAPSEC_NONE;
}
@@ -949,36 +828,36 @@ bool32 MatchCall_IsRematchable(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
+ if (idx >= ARRAY_COUNT(sMatchCallHeaders))
return 0;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
return sMatchCall_IsRematchableFunctions[i](matchCall);
}
-static bool32 MatchCall_IsRematchable_Type0(match_call_t matchCall)
+static bool32 MatchCall_IsRematchable_NPC(match_call_t matchCall)
{
return FALSE;
}
-static bool32 MatchCall_IsRematchable_Type1(match_call_t matchCall)
+static bool32 MatchCall_IsRematchable_Trainer(match_call_t matchCall)
{
- if (matchCall.type1->rematchTableIdx >= REMATCH_ELITE_FOUR_ENTRIES)
+ if (matchCall.trainer->rematchTableIdx >= REMATCH_ELITE_FOUR_ENTRIES)
return FALSE;
- return gSaveBlock1Ptr->trainerRematches[matchCall.type1->rematchTableIdx] ? TRUE : FALSE;
+ return gSaveBlock1Ptr->trainerRematches[matchCall.trainer->rematchTableIdx] ? TRUE : FALSE;
}
-static bool32 MatchCall_IsRematchable_Type2(match_call_t matchCall)
+static bool32 MatchCall_IsRematchable_Wally(match_call_t matchCall)
{
- return gSaveBlock1Ptr->trainerRematches[matchCall.type2->rematchTableIdx] ? TRUE : FALSE;
+ return gSaveBlock1Ptr->trainerRematches[matchCall.wally->rematchTableIdx] ? TRUE : FALSE;
}
-static bool32 MatchCall_IsRematchable_Type4(match_call_t matchCall)
+static bool32 MatchCall_IsRematchable_Rival(match_call_t matchCall)
{
return FALSE;
}
-static bool32 MatchCall_IsRematchable_Type3(match_call_t matchCall)
+static bool32 MatchCall_IsRematchable_Birch(match_call_t matchCall)
{
return FALSE;
}
@@ -988,41 +867,41 @@ bool32 MatchCall_HasCheckPage(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
+ if (idx >= ARRAY_COUNT(sMatchCallHeaders))
return FALSE;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
if (sMatchCall_HasCheckPageFunctions[i](matchCall))
return TRUE;
- for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
+ for (i = 0; i < ARRAY_COUNT(sCheckPageOverrides); i++)
{
- if (sMatchCallCheckPageOverrides[i].idx == idx)
+ if (sCheckPageOverrides[i].idx == idx)
return TRUE;
}
return FALSE;
}
-static bool32 MatchCall_HasCheckPage_Type0(match_call_t matchCall)
+static bool32 MatchCall_HasCheckPage_NPC(match_call_t matchCall)
{
return FALSE;
}
-static bool32 MatchCall_HasCheckPage_Type1(match_call_t matchCall)
+static bool32 MatchCall_HasCheckPage_Trainer(match_call_t matchCall)
{
return TRUE;
}
-static bool32 MatchCall_HasCheckPage_Type2(match_call_t matchCall)
+static bool32 MatchCall_HasCheckPage_Wally(match_call_t matchCall)
{
return TRUE;
}
-static bool32 MatchCall_HasCheckPage_Type4(match_call_t matchCall)
+static bool32 MatchCall_HasCheckPage_Rival(match_call_t matchCall)
{
return FALSE;
}
-static bool32 MatchCall_HasCheckPage_Type3(match_call_t matchCall)
+static bool32 MatchCall_HasCheckPage_Birch(match_call_t matchCall)
{
return FALSE;
}
@@ -1032,34 +911,34 @@ u32 MatchCall_GetRematchTableIdx(u32 idx)
match_call_t matchCall;
u32 i;
- if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
+ if (idx >= ARRAY_COUNT(sMatchCallHeaders))
return REMATCH_TABLE_ENTRIES;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
return sMatchCall_GetRematchTableIdxFunctions[i](matchCall);
}
-static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t matchCall)
+static u32 MatchCall_GetRematchTableIdx_NPC(match_call_t matchCall)
{
return REMATCH_TABLE_ENTRIES;
}
-static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t matchCall)
+static u32 MatchCall_GetRematchTableIdx_Trainer(match_call_t matchCall)
{
- return matchCall.type1->rematchTableIdx;
+ return matchCall.trainer->rematchTableIdx;
}
-static u32 MatchCall_GetRematchTableIdx_Type2(match_call_t matchCall)
+static u32 MatchCall_GetRematchTableIdx_Wally(match_call_t matchCall)
{
- return matchCall.type2->rematchTableIdx;
+ return matchCall.wally->rematchTableIdx;
}
-static u32 MatchCall_GetRematchTableIdx_Type4(match_call_t matchCall)
+static u32 MatchCall_GetRematchTableIdx_Rival(match_call_t matchCall)
{
return REMATCH_TABLE_ENTRIES;
}
-static u32 MatchCall_GetRematchTableIdx_Type3(match_call_t matchCall)
+static u32 MatchCall_GetRematchTableIdx_Birch(match_call_t matchCall)
{
return REMATCH_TABLE_ENTRIES;
}
@@ -1069,76 +948,77 @@ void MatchCall_GetMessage(u32 idx, u8 *dest)
match_call_t matchCall;
u32 i;
- if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
+ if (idx >= ARRAY_COUNT(sMatchCallHeaders))
return;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
sMatchCall_GetMessageFunctions[i](matchCall, dest);
}
-static void MatchCall_GetMessage_Type0(match_call_t matchCall, u8 *dest)
+static void MatchCall_GetMessage_NPC(match_call_t matchCall, u8 *dest)
{
- sub_81D1920(matchCall.type0->textData, dest);
+ MatchCall_BufferCallMessageText(matchCall.npc->textData, dest);
}
-static void MatchCall_GetMessage_Type1(match_call_t matchCall, u8 *dest)
+// This is the one functional difference between MC_TYPE_TRAINER and MC_TYPE_LEADER
+static void MatchCall_GetMessage_Trainer(match_call_t matchCall, u8 *dest)
{
- if (matchCall.common->type != 5)
- sub_81D1920(matchCall.type1->textData, dest);
+ if (matchCall.common->type != MC_TYPE_LEADER)
+ MatchCall_BufferCallMessageText(matchCall.trainer->textData, dest);
else
- sub_81D199C(matchCall.type5->textData, matchCall.type5->rematchTableIdx, dest);
+ MatchCall_BufferCallMessageTextByRematchTeam(matchCall.leader->textData, matchCall.leader->rematchTableIdx, dest);
}
-static void MatchCall_GetMessage_Type2(match_call_t matchCall, u8 *dest)
+static void MatchCall_GetMessage_Wally(match_call_t matchCall, u8 *dest)
{
- sub_81D1920(matchCall.type2->textData, dest);
+ MatchCall_BufferCallMessageText(matchCall.wally->textData, dest);
}
-static void MatchCall_GetMessage_Type4(match_call_t matchCall, u8 *dest)
+static void MatchCall_GetMessage_Rival(match_call_t matchCall, u8 *dest)
{
- sub_81D1920(matchCall.type4->textData, dest);
+ MatchCall_BufferCallMessageText(matchCall.rival->textData, dest);
}
-static void MatchCall_GetMessage_Type3(match_call_t matchCall, u8 *dest)
+static void MatchCall_GetMessage_Birch(match_call_t matchCall, u8 *dest)
{
- sub_8197080(dest);
+ BufferPokedexRatingForMatchCall(dest);
}
-static void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest)
+static void MatchCall_BufferCallMessageText(const match_call_text_data_t *textData, u8 *dest)
{
u32 i;
- for (i = 0; sub0[i].text != NULL; i++)
+ for (i = 0; textData[i].text != NULL; i++)
;
if (i)
i--;
while (i)
{
- if (sub0[i].flag != 0xffff && FlagGet(sub0[i].flag) == TRUE)
+ if (textData[i].flag != 0xFFFF && FlagGet(textData[i].flag) == TRUE)
break;
i--;
}
- if (sub0[i].flag2 != 0xffff)
- FlagSet(sub0[i].flag2);
- StringExpandPlaceholders(dest, sub0[i].text);
+ if (textData[i].flag2 != 0xFFFF)
+ FlagSet(textData[i].flag2);
+ StringExpandPlaceholders(dest, textData[i].text);
}
-static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest)
+static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_data_t *textData, u16 idx, u8 *dest)
{
u32 i;
- for (i = 0; sub0[i].text != NULL; i++)
+ for (i = 0; textData[i].text != NULL; i++)
{
- if (sub0[i].flag == 0xfffe)
+ if (textData[i].flag == 0xFFFE)
break;
- if (sub0[i].flag != 0xffff && !FlagGet(sub0[i].flag))
+ if (textData[i].flag != 0xFFFF && !FlagGet(textData[i].flag))
break;
}
- if (sub0[i].flag != 0xfffe)
+ if (textData[i].flag != 0xFFFE)
{
if (i)
i--;
- if (sub0[i].flag2 != 0xffff)
- FlagSet(sub0[i].flag2);
- StringExpandPlaceholders(dest, sub0[i].text);
+ if (textData[i].flag2 != 0xFFFF)
+ FlagSet(textData[i].flag2);
+ StringExpandPlaceholders(dest, textData[i].text);
}
else
{
@@ -1155,54 +1035,54 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest)
} while (0);
}
- StringExpandPlaceholders(dest, sub0[i].text);
+ StringExpandPlaceholders(dest, textData[i].text);
}
}
-void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name)
+void MatchCall_GetNameAndDesc(u32 idx, const u8 **desc, const u8 **name)
{
match_call_t matchCall;
u32 i;
- if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
+ if (idx >= ARRAY_COUNT(sMatchCallHeaders))
return;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
sMatchCall_GetNameAndDescFunctions[i](matchCall, desc, name);
}
-static void MatchCall_GetNameAndDesc_Type0(match_call_t matchCall, const u8 **desc, const u8 **name)
+static void MatchCall_GetNameAndDesc_NPC(match_call_t matchCall, const u8 **desc, const u8 **name)
{
- *desc = matchCall.type0->desc;
- *name = matchCall.type0->name;
+ *desc = matchCall.npc->desc;
+ *name = matchCall.npc->name;
}
-static void MatchCall_GetNameAndDesc_Type1(match_call_t matchCall, const u8 **desc, const u8 **name)
+static void MatchCall_GetNameAndDesc_Trainer(match_call_t matchCall, const u8 **desc, const u8 **name)
{
match_call_t _matchCall = matchCall;
- if (_matchCall.type1->name == NULL)
- MatchCall_GetNameAndDescByRematchIdx(_matchCall.type1->rematchTableIdx, desc, name);
+ if (_matchCall.trainer->name == NULL)
+ MatchCall_GetNameAndDescByRematchIdx(_matchCall.trainer->rematchTableIdx, desc, name);
else
- *name = _matchCall.type1->name;
- *desc = _matchCall.type1->desc;
+ *name = _matchCall.trainer->name;
+ *desc = _matchCall.trainer->desc;
}
-static void MatchCall_GetNameAndDesc_Type2(match_call_t matchCall, const u8 **desc, const u8 **name)
+static void MatchCall_GetNameAndDesc_Wally(match_call_t matchCall, const u8 **desc, const u8 **name)
{
- MatchCall_GetNameAndDescByRematchIdx(matchCall.type2->rematchTableIdx, desc, name);
- *desc = matchCall.type2->desc;
+ MatchCall_GetNameAndDescByRematchIdx(matchCall.wally->rematchTableIdx, desc, name);
+ *desc = matchCall.wally->desc;
}
-static void MatchCall_GetNameAndDesc_Type4(match_call_t matchCall, const u8 **desc, const u8 **name)
+static void MatchCall_GetNameAndDesc_Rival(match_call_t matchCall, const u8 **desc, const u8 **name)
{
- *desc = matchCall.type4->desc;
- *name = matchCall.type4->name;
+ *desc = matchCall.rival->desc;
+ *name = matchCall.rival->name;
}
-static void MatchCall_GetNameAndDesc_Type3(match_call_t matchCall, const u8 **desc, const u8 **name)
+static void MatchCall_GetNameAndDesc_Birch(match_call_t matchCall, const u8 **desc, const u8 **name)
{
- *desc = matchCall.type3->desc;
- *name = matchCall.type3->name;
+ *desc = matchCall.birch->desc;
+ *name = matchCall.birch->name;
}
static void MatchCall_GetNameAndDescByRematchIdx(u32 idx, const u8 **desc, const u8 **name)
@@ -1216,21 +1096,21 @@ const u8 *MatchCall_GetOverrideFlavorText(u32 idx, u32 offset)
{
u32 i;
- for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
+ for (i = 0; i < ARRAY_COUNT(sCheckPageOverrides); i++)
{
- if (sMatchCallCheckPageOverrides[i].idx == idx)
+ if (sCheckPageOverrides[i].idx == idx)
{
while (1)
{
- if (i + 1 >= ARRAY_COUNT(sMatchCallCheckPageOverrides))
+ if (i + 1 >= ARRAY_COUNT(sCheckPageOverrides))
break;
- if (sMatchCallCheckPageOverrides[i + 1].idx != idx)
+ if (sCheckPageOverrides[i + 1].idx != idx)
break;
- if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].flag))
+ if (!FlagGet(sCheckPageOverrides[i + 1].flag))
break;
i++;
}
- return sMatchCallCheckPageOverrides[i].flavorTexts[offset];
+ return sCheckPageOverrides[i].flavorTexts[offset];
}
}
return NULL;
@@ -1240,22 +1120,22 @@ int MatchCall_GetOverrideFacilityClass(u32 idx)
{
u32 i;
- for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
+ for (i = 0; i < ARRAY_COUNT(sCheckPageOverrides); i++)
{
- if (sMatchCallCheckPageOverrides[i].idx == idx)
- return sMatchCallCheckPageOverrides[i].facilityClass;
+ if (sCheckPageOverrides[i].idx == idx)
+ return sCheckPageOverrides[i].facilityClass;
}
return -1;
}
-bool32 sub_81D1BF8(u32 idx)
+bool32 MatchCall_HasRematchId(u32 idx)
{
int i;
for (i = 0; i < (int)ARRAY_COUNT(sMatchCallHeaders); i++)
{
- u32 r0 = MatchCall_GetRematchTableIdx(i);
- if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx)
+ u32 id = MatchCall_GetRematchTableIdx(i);
+ if (id != REMATCH_TABLE_ENTRIES && id == idx)
return TRUE;
}
return FALSE;
diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c
index 275a4063e..fd346393e 100644
--- a/src/pokenav_match_call_ui.c
+++ b/src/pokenav_match_call_ui.c
@@ -46,7 +46,7 @@ struct PokenavSub17Substruct
u32 unk28;
s32 unk2C;
u32 unk30;
- void (*unk34)(struct PokenavMonList *, u8*);
+ void (*unk34)(struct PokenavMatchCallEntries *, u8*);
void (*unk38)(u16, u32, u32);
struct Sprite *rightArrow;
struct Sprite *upArrow;
@@ -67,8 +67,8 @@ struct PokenavSub17
extern void sub_81DB620(u32 windowId, u32 a1, u32 a2, u32 a3, u32 a4);
void sub_81C82E4(struct PokenavSub17 *a0);
-bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3);
-void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1);
+bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct PokenavListTemplate *a2, s32 a3);
+void sub_81C9160(struct MatchCallWindowState *a0, struct PokenavListTemplate *a1);
void SpriteCB_MatchCallUpArrow(struct Sprite *sprite);
void SpriteCB_MatchCallDownArrow(struct Sprite *sprite);
void SpriteCB_MatchCallRightArrow(struct Sprite *sprite);
@@ -76,7 +76,7 @@ void ToggleMatchCallArrows(struct PokenavSub17Substruct *a0, u32 a1);
void sub_81C8FE0(struct PokenavSub17Substruct *a0);
void sub_81C8EF8(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
void sub_81C8ED0(void);
-void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2);
+static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2);
void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 a1);
void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
@@ -91,14 +91,14 @@ u32 LoopedTask_sub_81C83F0(s32 state);
u32 LoopedTask_sub_81C85A0(s32 state);
u32 LoopedTask_sub_81C8870(s32 state);
u32 LoopedTask_sub_81C8A28(s32 state);
-u32 LoopedTask_sub_81C8958(s32 state);
+u32 LoopedTask_PrintCheckPageInfo(s32 state);
static const u16 sMatchcallArrowPaletteData[] = INCBIN_U16("graphics/pokenav/arrows_matchcall.gbapal");
static const u32 sMatchcallArrowSpriteSheetData[] = INCBIN_U32("graphics/pokenav/arrows_matchcall.4bpp.lz");
EWRAM_DATA u32 gUnknown_0203CF44 = 0;
-bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *arg1, s32 arg2)
+bool32 sub_81C81D4(const struct BgTemplate *arg0, struct PokenavListTemplate *arg1, s32 arg2)
{
struct PokenavSub17 *structPtr = AllocSubstruct(17, sizeof(struct PokenavSub17));
if (structPtr == NULL)
@@ -467,12 +467,12 @@ void sub_81C877C(void)
structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8870, 6);
}
-void sub_81C87AC(s16 a0)
+void PrintCheckPageInfo(s16 a0)
{
struct PokenavSub17 *structPtr = GetSubstructPtr(17);
structPtr->unk888.windowTopIndex += a0;
structPtr->unk89C = 0;
- structPtr->unk8A0 = CreateLoopedTask(LoopedTask_sub_81C8958, 6);
+ structPtr->unk8A0 = CreateLoopedTask(LoopedTask_PrintCheckPageInfo, 6);
}
void sub_81C87F0(void)
@@ -496,6 +496,7 @@ void sub_81C8838(void)
CopyWindowToVram(structPtr->unk0.unk0.windowId, 1);
}
+// TODO:
u32 LoopedTask_sub_81C8870(s32 state)
{
struct PokenavSub17 *structPtr = GetSubstructPtr(17);
@@ -543,7 +544,7 @@ u32 LoopedTask_sub_81C8870(s32 state)
return LT_FINISH;
}
-u32 LoopedTask_sub_81C8958(s32 state)
+u32 LoopedTask_PrintCheckPageInfo(s32 state)
{
struct PokenavSub17 *structPtr = GetSubstructPtr(17);
if (IsDma3ManagerBusyWithBgCopy())
@@ -558,22 +559,22 @@ u32 LoopedTask_sub_81C8958(s32 state)
PrintMatchCallFieldNames(&structPtr->unk0, 0);
break;
case 2:
- sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0);
+ PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_STRATEGY);
break;
case 3:
PrintMatchCallFieldNames(&structPtr->unk0, 1);
break;
case 4:
- sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1);
+ PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_POKEMON);
break;
case 5:
PrintMatchCallFieldNames(&structPtr->unk0, 2);
break;
case 6:
- sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2);
+ PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_1);
break;
case 7:
- sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3);
+ PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_2);
break;
default:
return LT_FINISH;
@@ -683,7 +684,7 @@ void sub_81C8B70(struct UnknownSubSubStruct_0203CF40 *a0, s32 a1, s32 a2)
}
for (a2--; a2 != -1; a1 = (a1 + 1) & 0xF, a2--)
- sub_81CBD48(a0->windowId, a1);
+ ClearRematchPokeballIcon(a0->windowId, a1);
CopyWindowToVram(a0->windowId, 1);
}
@@ -705,7 +706,7 @@ void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1)
void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1)
{
- u8 colors[3] = {0, 2, 5};
+ u8 colors[3] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_RED};
a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer);
a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA);
@@ -727,7 +728,7 @@ void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *
void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId)
{
const u8 *fieldNames[] = {gText_PokenavMatchCall_Strategy, gText_PokenavMatchCall_TrainerPokemon, gText_PokenavMatchCall_SelfIntroduction};
- u8 colors[3] = {1, 4, 5};
+ u8 colors[3] = {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED};
u32 top = (a0->unk0.unkA + 1 + (fieldId * 2)) & 0xF;
FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, top << 4, a0->unk0.unk4, 16);
@@ -735,11 +736,19 @@ void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId)
CopyWindowRectToVram(a0->unk0.windowId, 2, 0, top << 1, a0->unk0.unk4, 2);
}
-void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2)
+static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 checkPageEntry)
{
- static const u8 array[] = {2, 4, 6, 7};
- u32 r6 = (a1->unk0.unkA + array[a2]) & 0xF;
- const u8 *str = sub_81CAFD8(a0->windowTopIndex, a2);
+ // lines 1, 3, and 5 are the field names printed by PrintMatchCallFieldNames
+ static const u8 lineOffsets[CHECK_PAGE_ENTRY_COUNT] =
+ {
+ [CHECK_PAGE_STRATEGY] = 2,
+ [CHECK_PAGE_POKEMON] = 4,
+ [CHECK_PAGE_INTRO_1] = 6,
+ [CHECK_PAGE_INTRO_2] = 7
+ };
+
+ u32 r6 = (a1->unk0.unkA + lineOffsets[checkPageEntry]) & 0xF;
+ const u8 *str = GetMatchCallFlavorText(a0->windowTopIndex, checkPageEntry);
if (str != NULL)
{
@@ -925,9 +934,9 @@ void ToggleMatchCallVerticalArrows(bool32 shouldHide)
structPtr->unk0.downArrow->data[7] = shouldHide;
}
-void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *a1)
+void sub_81C9160(struct MatchCallWindowState *a0, struct PokenavListTemplate *a1)
{
- a0->unk10 = a1->unk0;
+ a0->unk10 = a1->list.matchCallEntries;
a0->windowTopIndex = a1->unk6;
a0->listLength = a1->unk4;
a0->unkC = a1->unk8;
@@ -953,13 +962,13 @@ void sub_81C9160(struct MatchCallWindowState *a0, struct MatchCallListTemplate *
}
}
-bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct MatchCallListTemplate *a2, s32 a3)
+bool32 sub_81C91AC(struct PokenavSub17Substruct *a0, const struct BgTemplate *a1, struct PokenavListTemplate *a2, s32 a3)
{
struct WindowTemplate window;
a0->unk0.bg = a1->bg;
a0->unk0.unk6 = a3;
- a0->unk34 = a2->unk10;
+ a0->unk34 = a2->listFunc.unk10_2;
a0->unk38 = a2->unk14;
a0->unk0.unk1 = a2->unkD;
a0->unk0.unk2 = a2->unk9;
diff --git a/src/pokenav_unk_1.c b/src/pokenav_unk_1.c
index b5bbc4b74..8bf3ebd2a 100644
--- a/src/pokenav_unk_1.c
+++ b/src/pokenav_unk_1.c
@@ -64,7 +64,7 @@ bool32 PokenavCallback_Init_0(void)
state->menuType = GetPokenavMainMenuType();
state->cursorPos = 0;
state->descriptionId = 0;
- state->helpBarIndex = 0;
+ state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -78,7 +78,7 @@ bool32 PokenavCallback_Init_4(void)
state->menuType = GetPokenavMainMenuType();
state->cursorPos = 2;
state->descriptionId = 2;
- state->helpBarIndex = 0;
+ state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -105,7 +105,7 @@ bool32 PokenavCallback_Init_2(void)
state->menuType = 3;
state->cursorPos = 0;
state->descriptionId = 5;
- state->helpBarIndex = 0;
+ state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -119,7 +119,7 @@ bool32 PokenavCallback_Init_3(void)
state->menuType = 4;
state->cursorPos = sub_81C76AC();
state->descriptionId = state->cursorPos + 8;
- state->helpBarIndex = 0;
+ state->helpBarIndex = HELPBAR_NONE;
sub_81C939C(state);
return TRUE;
}
@@ -151,9 +151,9 @@ static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*)
default:
case POKENAV_MODE_NORMAL:
return sub_81C943C;
- case POKENAV_MODE_FORCE_CALL_1:
+ case POKENAV_MODE_FORCE_CALL_READY:
return sub_81C9520;
- case POKENAV_MODE_FORCE_CALL_2:
+ case POKENAV_MODE_FORCE_CALL_EXIT:
return sub_81C9588;
}
}
@@ -179,7 +179,7 @@ static u32 sub_81C943C(struct Pokenav1Struct *a0)
switch (sDescriptionIds[a0->menuType][a0->cursorPos])
{
case 0:
- a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? 2 : 1;
+ a0->helpBarIndex = gSaveBlock2Ptr->regionMapZoom ? HELPBAR_MAP_ZOOMED_IN : HELPBAR_MAP_ZOOMED_OUT;
sub_81C97B0(a0, POKENAV_MENU_6);
return 8;
case 1:
@@ -189,13 +189,13 @@ static u32 sub_81C943C(struct Pokenav1Struct *a0)
a0->callback = sub_81C963C;
return 2;
case 2:
- a0->helpBarIndex = 6;
+ a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST;
sub_81C97B0(a0, POKENAV_MENU_B);
return 8;
case 3:
if (CanViewRibbonsMenu())
{
- a0->helpBarIndex = 9;
+ a0->helpBarIndex = HELPBAR_RIBBONS_MON_LIST;
sub_81C97B0(a0, POKENAV_MENU_C);
return 8;
}
@@ -224,7 +224,7 @@ static u32 sub_81C9520(struct Pokenav1Struct *a0)
{
if (sDescriptionIds[a0->menuType][a0->cursorPos] == 2)
{
- a0->helpBarIndex = 6;
+ a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST;
sub_81C97B0(a0, POKENAV_MENU_B);
return 8;
}
@@ -259,7 +259,7 @@ static u32 sub_81C9588(struct Pokenav1Struct *a0)
}
else if (v0 == 2)
{
- a0->helpBarIndex = 6;
+ a0->helpBarIndex = HELPBAR_MC_TRAINER_LIST;
sub_81C97B0(a0, POKENAV_MENU_B);
return 8;
}
@@ -349,7 +349,7 @@ static u32 sub_81C96FC(struct Pokenav1Struct *a0)
{
sub_81C7694(v0 - 8);
sub_81C97B0(a0, POKENAV_MENU_8);
- a0->helpBarIndex = 3;
+ a0->helpBarIndex = HELPBAR_CONDITION_MON_LIST;
return 8;
}
else
@@ -459,7 +459,7 @@ int sub_81C98B4(void)
return state->descriptionId;
}
-u16 sub_81C98C4(void)
+u16 GetHelpBarTextId(void)
{
struct Pokenav1Struct *state = GetSubstructPtr(1);
return state->helpBarIndex;
diff --git a/src/pokenav_unk_10.c b/src/pokenav_unk_10.c
index 135ff24b3..099843f83 100644
--- a/src/pokenav_unk_10.c
+++ b/src/pokenav_unk_10.c
@@ -573,7 +573,7 @@ u32 sub_81D0A6C(s32 state)
return LT_PAUSE;
case 7:
sub_81D12D8(structPtr);
- sub_81C7BA4(10);
+ PrintHelpBarText(HELPBAR_RIBBONS_LIST);
return LT_INC_AND_PAUSE;
case 8:
if (!IsDma3ManagerBusyWithBgCopy())
@@ -667,7 +667,7 @@ u32 sub_81D0D2C(s32 state)
if (!sub_81D1524(structPtr))
{
sub_81D0EFC(structPtr);
- sub_81C7BA4(11);
+ PrintHelpBarText(HELPBAR_RIBBONS_CHECK);
return LT_INC_AND_PAUSE;
}
return LT_PAUSE;
@@ -721,7 +721,7 @@ u32 sub_81D0E00(s32 state)
if (!sub_81D1524(structPtr))
{
sub_81D0E84(structPtr);
- sub_81C7BA4(10);
+ PrintHelpBarText(HELPBAR_RIBBONS_LIST);
return LT_INC_AND_PAUSE;
}
return LT_PAUSE;
@@ -752,7 +752,7 @@ void sub_81D0E60(struct PokenavSub14 *structPtr)
void sub_81D0E84(struct PokenavSub14 *structPtr)
{
- u8 color[] = {4, 2, 3};
+ u8 color[] = {TEXT_COLOR_RED, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
ConvertIntToDecimalStringN(gStringVar1, GetCurrMonRibbonCount(), STR_CONV_MODE_LEFT_ALIGN, 2);
DynamicPlaceholderTextUtil_Reset();
@@ -767,7 +767,7 @@ void sub_81D0EFC(struct PokenavSub14 *structPtr)
{
s32 i;
u32 ribbonId = sub_81D0954();
- u8 color[] = {4, 2, 3};
+ u8 color[] = {TEXT_COLOR_RED, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
FillWindowPixelBuffer(structPtr->field_A, PIXEL_FILL(4));
if (ribbonId < 25)
@@ -1057,10 +1057,10 @@ static const struct SpritePalette gUnknown_08624C80[] =
static const struct OamData sOamData_8624CB0 =
{
.y = 0,
- .affineMode = 1,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
diff --git a/src/pokenav_unk_2.c b/src/pokenav_unk_2.c
index 1c40e146f..de962ccd6 100644
--- a/src/pokenav_unk_2.c
+++ b/src/pokenav_unk_2.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "bg.h"
#include "palette.h"
@@ -220,32 +220,31 @@ static const struct WindowTemplate gUnknown_086202CC =
static const u8 *const gUnknown_086202D4[] =
{
- gUnknown_085EBCC5,
- gUnknown_085EBCE8,
- gUnknown_085EBD01,
- gUnknown_085EBD1C,
- gUnknown_085EBD34,
- gUnknown_085EBD83,
- gUnknown_085EBDA2,
- gUnknown_085EBDBF,
- gUnknown_085EBDDB,
- gUnknown_085EBDEE,
- gUnknown_085EBE06,
- gUnknown_085EBE19,
- gUnknown_085EBE2D,
- gUnknown_085EBE41
+ gText_CheckMapOfHoenn,
+ gText_CheckPokemonInDetail,
+ gText_CallRegisteredTrainer,
+ gText_CheckObtainedRibbons,
+ gText_PutAwayPokenav,
+ gText_CheckPartyPokemonInDetail,
+ gText_CheckAllPokemonInDetail,
+ gText_ReturnToPokenavMenu,
+ gText_FindCoolPokemon,
+ gText_FindBeautifulPokemon,
+ gText_FindCutePokemon,
+ gText_FindSmartPokemon,
+ gText_FindToughPokemon,
+ gText_ReturnToConditionMenu
};
-static const u8 gUnknown_0862030C[] = {6, 8, 7};
-
-static const u8 gUnknown_0862030F[] = {6, 8, 7, 0, 0};
+static const u8 sOptionDescTextColors[] = {TEXT_COLOR_GREEN, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_GREEN};
+static const u8 sOptionDescTextColors2[] = {TEXT_COLOR_GREEN, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_GREEN};
static const struct OamData gUnknown_08620314 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .bpp = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.size = SPRITE_SIZE(32x16),
@@ -287,9 +286,9 @@ static const struct SpriteTemplate gUnknown_0862034C =
static const struct OamData gUnknown_08620364 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .bpp = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.size = SPRITE_SIZE(32x16),
@@ -324,7 +323,7 @@ static bool32 sub_81C98D4(void)
for (i = 0; i < REMATCH_TABLE_ENTRIES; i++)
{
if (sub_81CB0C8(i) == gMapHeader.regionMapSectionId
- && sub_81CAE08(i)
+ && IsRematchEntryRegistered(i)
&& gSaveBlock1Ptr->trainerRematches[i])
return TRUE;
}
@@ -707,10 +706,10 @@ static u32 sub_81C9F28(s32 state)
switch (state)
{
case 0:
- sub_81C7BA4(sub_81C98C4());
+ PrintHelpBarText(GetHelpBarTextId());
return LT_INC_AND_PAUSE;
case 1:
- if (IsDma3ManagerBusyWithBgCopy_())
+ if (WaitForHelpBar())
return LT_PAUSE;
sub_81C7880();
sub_81CA9C8();
@@ -1030,7 +1029,7 @@ static void sub_81CA4AC(struct Sprite * sprite)
{
sprite->invisible = TRUE;
FreeOamMatrix(sprite->oam.matrixNum);
- CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, 0);
+ CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, ST_OAM_AFFINE_OFF);
sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
sprite->oam.objMode = ST_OAM_OBJ_NORMAL;
sprite->callback = SpriteCallbackDummy;
@@ -1130,7 +1129,7 @@ static void sub_81CA714(void)
const u8 * s = gUnknown_086202D4[i];
u32 width = GetStringWidth(1, s, -1);
FillWindowPixelBuffer(ptr->optionDescriptionWindowId, PIXEL_FILL(6));
- AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, gUnknown_0862030C, 0, s);
+ AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, sOptionDescTextColors, 0, s);
}
@@ -1140,7 +1139,7 @@ static void sub_81CA770(void)
const u8 * s = gText_NoRibbonWinners;
u32 width = GetStringWidth(1, s, -1);
FillWindowPixelBuffer(ptr->optionDescriptionWindowId, PIXEL_FILL(6));
- AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, gUnknown_0862030F, 0, s);
+ AddTextPrinterParameterized3(ptr->optionDescriptionWindowId, 1, (192 - width) / 2, 1, sOptionDescTextColors2, 0, s);
}
static bool32 sub_81CA7C4(void)
diff --git a/src/pokenav_unk_3.c b/src/pokenav_unk_3.c
index c66434192..28e84b50b 100755
--- a/src/pokenav_unk_3.c
+++ b/src/pokenav_unk_3.c
@@ -17,30 +17,40 @@
struct Pokenav3Struct
{
- u16 unk0;
- u16 unk2;
- const u8 *unk4;
- u16 unk8;
- u16 unkA;
+ u16 optionCursorPos;
+ u16 maxOptionId;
+ const u8 *matchCallOptions;
+ u16 headerId;
+ u16 numRegistered;
u16 unkC;
u32 unk10;
u32 unk14;
u32 (*callback)(struct Pokenav3Struct*);
- struct PokenavMonList unk1C[99];
+ struct PokenavMatchCallEntries matchCallEntries[MAX_REMATCH_ENTRIES - 1];
};
-static u32 sub_81CAB44(struct Pokenav3Struct *);
+static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *);
static u32 sub_81CABFC(struct Pokenav3Struct *);
-static u32 sub_81CAC04(struct Pokenav3Struct *);
-static u32 sub_81CACB8(struct Pokenav3Struct *);
-static u32 sub_81CACF8(struct Pokenav3Struct *);
+static u32 CB2_HandleMatchCallOptionsInput(struct Pokenav3Struct *);
+static u32 CB2_HandleCheckPageInput(struct Pokenav3Struct *);
+static u32 CB2_HandleCallInput(struct Pokenav3Struct *);
static u32 sub_81CAD20(s32);
static bool32 sub_81CB1D0(void);
#include "data/text/match_call_messages.h"
-const u8 gUnknown_08622508[] = {0, 2};
-const u8 gUnknown_0862250A[] = {0, 1, 2};
+static const u8 sMatchCallOptionsNoCheckPage[] =
+{
+ MATCH_CALL_OPTION_CALL,
+ MATCH_CALL_OPTION_CANCEL
+};
+
+static const u8 sMatchCallOptionsHasCheckPage[] =
+{
+ MATCH_CALL_OPTION_CALL,
+ MATCH_CALL_OPTION_CHECK,
+ MATCH_CALL_OPTION_CANCEL
+};
bool32 PokenavCallback_Init_11(void)
{
@@ -48,8 +58,8 @@ bool32 PokenavCallback_Init_11(void)
if (!state)
return FALSE;
- state->callback = sub_81CAB44;
- state->unk8 = 0;
+ state->callback = CB2_HandleMatchCallInput;
+ state->headerId = 0;
state->unk10 = 0;
state->unk14 = CreateLoopedTask(sub_81CAD20, 1);
return TRUE;
@@ -66,52 +76,54 @@ void sub_81CAB38(void)
FreePokenavSubstruct(5);
}
-static u32 sub_81CAB44(struct Pokenav3Struct *state)
+static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *state)
{
- int selectedMatchCall;
+ int selection;
if (gMain.newAndRepeatedKeys & DPAD_UP)
- return 2;
+ return POKENAV_MC_FUNC_UP;
if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- return 1;
+ return POKENAV_MC_FUNC_DOWN;
if (gMain.newAndRepeatedKeys & DPAD_LEFT)
- return 4;
+ return POKENAV_MC_FUNC_PG_UP;
if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
- return 3;
+ return POKENAV_MC_FUNC_PG_DOWN;
if (gMain.newKeys & A_BUTTON)
{
- state->callback = sub_81CAC04;
- state->unk0 = 0;
- selectedMatchCall = GetSelectedMatchCall();
- if (!state->unk1C[selectedMatchCall].boxId || MatchCall_HasCheckPage(state->unk1C[selectedMatchCall].unk6))
+ state->callback = CB2_HandleMatchCallOptionsInput;
+ state->optionCursorPos = 0;
+ selection = GetSelectedMatchCall();
+
+ if (!state->matchCallEntries[selection].isSpecialTrainer || MatchCall_HasCheckPage(state->matchCallEntries[selection].headerId))
{
- state->unk4 = gUnknown_0862250A;
- state->unk2 = 2;
+ state->matchCallOptions = sMatchCallOptionsHasCheckPage;
+ state->maxOptionId = ARRAY_COUNT(sMatchCallOptionsHasCheckPage) - 1;
}
else
{
- state->unk4 = gUnknown_08622508;
- state->unk2 = 1;
+ state->matchCallOptions = sMatchCallOptionsNoCheckPage;
+ state->maxOptionId = ARRAY_COUNT(sMatchCallOptionsNoCheckPage) - 1;
}
- return 5;
+ return POKENAV_MC_FUNC_SELECT;
}
if (gMain.newKeys & B_BUTTON)
{
- if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_1)
+ if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_READY)
{
state->callback = sub_81CABFC;
- return 15;
+ return POKENAV_MC_FUNC_EXIT;
}
else
{
+ // Cant exit Match Call menu before calling Mr Stone during tutorial
PlaySE(SE_HAZURE);
}
}
- return 0;
+ return POKENAV_MC_FUNC_NONE;
}
static u32 sub_81CABFC(struct Pokenav3Struct *state)
@@ -119,76 +131,76 @@ static u32 sub_81CABFC(struct Pokenav3Struct *state)
return POKENAV_MENU_4;
}
-static u32 sub_81CAC04(struct Pokenav3Struct *state)
+static u32 CB2_HandleMatchCallOptionsInput(struct Pokenav3Struct *state)
{
- if ((gMain.newKeys & DPAD_UP) && state->unk0)
+ if ((gMain.newKeys & DPAD_UP) && state->optionCursorPos)
{
- state->unk0--;
- return 6;
+ state->optionCursorPos--;
+ return POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR;
}
- if ((gMain.newKeys & DPAD_DOWN) && state->unk0 < state->unk2)
+ if ((gMain.newKeys & DPAD_DOWN) && state->optionCursorPos < state->maxOptionId)
{
- state->unk0++;
- return 6;
+ state->optionCursorPos++;
+ return POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR;
}
if (gMain.newKeys & A_BUTTON)
{
- switch (state->unk4[state->unk0])
+ switch (state->matchCallOptions[state->optionCursorPos])
{
- case 2:
- state->callback = sub_81CAB44;
- return 7;
- case 0:
- if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_1)
- SetPokenavMode(POKENAV_MODE_FORCE_CALL_2);
-
- state->callback = sub_81CACF8;
+ case MATCH_CALL_OPTION_CANCEL:
+ state->callback = CB2_HandleMatchCallInput;
+ return POKENAV_MC_FUNC_CANCEL;
+ case MATCH_CALL_OPTION_CALL:
+ if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_READY)
+ SetPokenavMode(POKENAV_MODE_FORCE_CALL_EXIT);
+
+ state->callback = CB2_HandleCallInput;
if (sub_81CB1D0())
- return 9;
+ return POKENAV_MC_FUNC_NEARBY_MSG;
- return 8;
- case 1:
- state->callback = sub_81CACB8;
- return 11;
+ return POKENAV_MC_FUNC_CALL_MSG;
+ case MATCH_CALL_OPTION_CHECK:
+ state->callback = CB2_HandleCheckPageInput;
+ return POKENAV_MC_FUNC_SHOW_CHECK_PAGE;
}
}
if (gMain.newKeys & B_BUTTON)
{
- state->callback = sub_81CAB44;
- return 7;
+ state->callback = CB2_HandleMatchCallInput;
+ return POKENAV_MC_FUNC_CANCEL;
}
- return 0;
+ return POKENAV_MC_FUNC_NONE;
}
-static u32 sub_81CACB8(struct Pokenav3Struct *state)
+static u32 CB2_HandleCheckPageInput(struct Pokenav3Struct *state)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
- return 12;
+ return POKENAV_MC_FUNC_CHECK_PAGE_UP;
if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- return 13;
+ return POKENAV_MC_FUNC_CHECK_PAGE_DOWN;
if (gMain.newKeys & B_BUTTON)
{
- state->callback = sub_81CAB44;
- return 14;
+ state->callback = CB2_HandleMatchCallInput;
+ return POKENAV_MC_FUNC_EXIT_CHECK_PAGE;
}
- return 0;
+ return POKENAV_MC_FUNC_NONE;
}
-static u32 sub_81CACF8(struct Pokenav3Struct *state)
+static u32 CB2_HandleCallInput(struct Pokenav3Struct *state)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
- state->callback = sub_81CAB44;
- return 10;
+ state->callback = CB2_HandleMatchCallInput;
+ return POKENAV_MC_FUNC_10;
}
- return 0;
+ return POKENAV_MC_FUNC_NONE;
}
static u32 sub_81CAD20(s32 taskState)
@@ -198,41 +210,41 @@ static u32 sub_81CAD20(s32 taskState)
switch (taskState)
{
case 0:
- state->unk8 = 0;
- state->unkA = 0;
+ state->headerId = 0;
+ state->numRegistered = 0;
return LT_INC_AND_CONTINUE;
case 1:
- for (i = 0, j = state->unk8; i < 30; i++, j++)
+ for (i = 0, j = state->headerId; i < 30; i++, j++)
{
- if (MatchCallFlagGetByIndex(j))
+ if (MatchCall_GetEnabled(j))
{
- state->unk1C[state->unkA].unk6 = j;
- state->unk1C[state->unkA].boxId = 1;
- state->unk1C[state->unkA].monId = MatchCallMapSecGetByIndex(j);
- state->unkA++;
+ state->matchCallEntries[state->numRegistered].headerId = j;
+ state->matchCallEntries[state->numRegistered].isSpecialTrainer = TRUE;
+ state->matchCallEntries[state->numRegistered].mapSec = MatchCall_GetMapSec(j);
+ state->numRegistered++;
}
- if (++state->unk8 >= MC_HEADER_COUNT)
+ if (++state->headerId >= MC_HEADER_COUNT)
{
- state->unkC = state->unk8;
- state->unk8 = 0;
+ state->unkC = state->headerId;
+ state->headerId = 0;
return LT_INC_AND_CONTINUE;
}
}
return LT_CONTINUE;
case 2:
- for (i = 0, j = state->unk8; i < 30; i++, j++)
+ for (i = 0, j = state->headerId; i < 30; i++, j++)
{
- if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8))
+ if (!MatchCall_HasRematchId(state->headerId) && IsRematchEntryRegistered(state->headerId))
{
- state->unk1C[state->unkA].unk6 = state->unk8;
- state->unk1C[state->unkA].boxId = 0;
- state->unk1C[state->unkA].monId = sub_81CB0C8(j);
- state->unkA++;
+ state->matchCallEntries[state->numRegistered].headerId = state->headerId;
+ state->matchCallEntries[state->numRegistered].isSpecialTrainer = FALSE;
+ state->matchCallEntries[state->numRegistered].mapSec = sub_81CB0C8(j);
+ state->numRegistered++;
}
- if (++state->unk8 > REMATCH_TABLE_ENTRIES - 1)
+ if (++state->headerId > REMATCH_TABLE_ENTRIES - 1)
return LT_INC_AND_CONTINUE;
}
@@ -245,7 +257,7 @@ static u32 sub_81CAD20(s32 taskState)
return LT_FINISH;
}
-bool32 sub_81CAE08(int rematchIndex)
+bool32 IsRematchEntryRegistered(int rematchIndex)
{
if (rematchIndex < REMATCH_TABLE_ENTRIES)
return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex);
@@ -259,10 +271,10 @@ int sub_81CAE28(void)
return state->unk10;
}
-int sub_81CAE38(void)
+int GetNumberRegistered(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- return state->unkA;
+ return state->numRegistered;
}
int sub_81CAE48(void)
@@ -274,38 +286,38 @@ int sub_81CAE48(void)
int unref_sub_81CAE58(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- return state->unkA - state->unkC;
+ return state->numRegistered - state->unkC;
}
int unref_sub_81CAE6C(int arg0)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
arg0 += state->unkC;
- if (arg0 >= state->unkA)
+ if (arg0 >= state->numRegistered)
return REMATCH_TABLE_ENTRIES;
- return state->unk1C[arg0].unk6;
+ return state->matchCallEntries[arg0].headerId;
}
-struct PokenavMonList *sub_81CAE94(void)
+struct PokenavMatchCallEntries *sub_81CAE94(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- return state->unk1C;
+ return state->matchCallEntries;
}
-u16 sub_81CAEA4(int index)
+u16 GetMatchCallMapSec(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- return state->unk1C[index].monId;
+ return state->matchCallEntries[index].mapSec;
}
-bool32 sub_81CAEBC(int index)
+bool32 ShouldDrawRematchPokeballIcon(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- if (!state->unk1C[index].boxId)
- index = state->unk1C[index].unk6;
+ if (!state->matchCallEntries[index].isSpecialTrainer)
+ index = state->matchCallEntries[index].headerId;
else
- index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
+ index = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId);
if (index == REMATCH_TABLE_ENTRIES)
return FALSE;
@@ -313,83 +325,83 @@ bool32 sub_81CAEBC(int index)
return gSaveBlock1Ptr->trainerRematches[index] != 0;
}
-int sub_81CAF04(int index)
+int GetMatchCallTrainerPic(int index)
{
- int var0;
+ int headerId;
struct Pokenav3Struct *state = GetSubstructPtr(5);
- if (!state->unk1C[index].boxId)
+ if (!state->matchCallEntries[index].isSpecialTrainer)
{
- index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk6);
+ index = GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId);
return gTrainers[index].trainerPic;
}
- var0 = state->unk1C[index].unk6;
- index = MatchCall_GetRematchTableIdx(var0);
+ headerId = state->matchCallEntries[index].headerId;
+ index = MatchCall_GetRematchTableIdx(headerId);
if (index != REMATCH_TABLE_ENTRIES)
{
index = GetTrainerIdxByRematchIdx(index);
return gTrainers[index].trainerPic;
}
- index = MatchCall_GetOverrideFacilityClass(var0);
+ index = MatchCall_GetOverrideFacilityClass(headerId);
return gFacilityClassToPicIndex[index];
}
-const u8 *sub_81CAF78(int index, u8 *arg1)
+const u8 *GetMatchCallMessageText(int index, u8 *arg1)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
*arg1 = 0;
if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType))
return gText_CallCantBeMadeHere;
- if (!state->unk1C[index].boxId)
- *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk6), gStringVar4);
+ if (!state->matchCallEntries[index].isSpecialTrainer)
+ *arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId), gStringVar4);
else
- MatchCall_GetMessage(state->unk1C[index].unk6, gStringVar4);
+ MatchCall_GetMessage(state->matchCallEntries[index].headerId, gStringVar4);
return gStringVar4;
}
-const u8 *sub_81CAFD8(int index, int textType)
+const u8 *GetMatchCallFlavorText(int index, int checkPageEntry)
{
- int var0;
+ int rematchId;
struct Pokenav3Struct *state = GetSubstructPtr(5);
- if (state->unk1C[index].boxId)
+ if (state->matchCallEntries[index].isSpecialTrainer)
{
- var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
- if (var0 == REMATCH_TABLE_ENTRIES)
- return MatchCall_GetOverrideFlavorText(state->unk1C[index].unk6, textType);
+ rematchId = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId);
+ if (rematchId == REMATCH_TABLE_ENTRIES)
+ return MatchCall_GetOverrideFlavorText(state->matchCallEntries[index].headerId, checkPageEntry);
}
else
{
- var0 = state->unk1C[index].unk6;
+ rematchId = state->matchCallEntries[index].headerId;
}
- return gMatchCallMessages[var0][textType];
+ return gMatchCallFlavorTexts[rematchId][checkPageEntry];
}
-u16 sub_81CB01C(void)
+u16 GetMatchCallOptionCursorPos(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- return state->unk0;
+ return state->optionCursorPos;
}
-u16 sub_81CB02C(int arg0)
+u16 GetMatchCallOptionId(int optionId)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- if (state->unk2 < arg0)
- return 3;
+ if (state->maxOptionId < optionId)
+ return MATCH_CALL_OPTION_COUNT;
- return state->unk4[arg0];
+ return state->matchCallOptions[optionId];
}
-void sub_81CB050(struct PokenavMonList * arg0, u8 *str)
+void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntries *matchCallEntry, u8 *str)
{
const u8 *trainerName;
const u8 *className;
- if (!arg0->boxId)
+ if (!matchCallEntry->isSpecialTrainer)
{
- int index = GetTrainerIdxByRematchIdx(arg0->unk6);
+ int index = GetTrainerIdxByRematchIdx(matchCallEntry->headerId);
const struct Trainer *trainer = &gTrainers[index];
int class = trainer->trainerClass;
className = gTrainerClassNames[class];
@@ -397,7 +409,7 @@ void sub_81CB050(struct PokenavMonList * arg0, u8 *str)
}
else
{
- sub_81D1A78(arg0->unk6, &className, &trainerName);
+ MatchCall_GetNameAndDesc(matchCallEntry->headerId, &className, &trainerName);
}
if (className && trainerName)
@@ -418,15 +430,15 @@ u8 sub_81CB0C8(int rematchIndex)
return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId;
}
-int sub_81CB0E4(int index)
+int GetIndexDeltaOfNextCheckPageDown(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
int count = 1;
- while (++index < state->unkA)
+ while (++index < state->numRegistered)
{
- if (!state->unk1C[index].boxId)
+ if (!state->matchCallEntries[index].isSpecialTrainer)
return count;
- if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
+ if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId))
return count;
count++;
@@ -435,15 +447,15 @@ int sub_81CB0E4(int index)
return 0;
}
-int sub_81CB128(int index)
+int GetIndexDeltaOfNextCheckPageUp(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
int count = -1;
while (--index >= 0)
{
- if (!state->unk1C[index].boxId)
+ if (!state->matchCallEntries[index].isSpecialTrainer)
return count;
- if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
+ if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId))
return count;
count--;
@@ -458,13 +470,13 @@ bool32 unref_sub_81CB16C(void)
for (i = 0; i < REMATCH_TABLE_ENTRIES; i++)
{
- if (sub_81CAE08(i) && gSaveBlock1Ptr->trainerRematches[i])
+ if (IsRematchEntryRegistered(i) && gSaveBlock1Ptr->trainerRematches[i])
return TRUE;
}
for (i = 0; i < MC_HEADER_COUNT; i++)
{
- if (MatchCallFlagGetByIndex(i))
+ if (MatchCall_GetEnabled(i))
{
int index = MatchCall_GetRematchTableIdx(i);
if (gSaveBlock1Ptr->trainerRematches[index])
@@ -478,20 +490,20 @@ bool32 unref_sub_81CB16C(void)
static bool32 sub_81CB1D0(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
- int index = GetSelectedMatchCall();
- if (!state->unk1C[index].boxId)
+ int selection = GetSelectedMatchCall();
+ if (!state->matchCallEntries[selection].isSpecialTrainer)
{
- if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId)
+ if (GetMatchCallMapSec(selection) == gMapHeader.regionMapSectionId)
{
- if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk6])
+ if (!gSaveBlock1Ptr->trainerRematches[state->matchCallEntries[selection].headerId])
return TRUE;
}
}
else
{
- if (state->unk1C[index].unk6 == 11)
+ if (state->matchCallEntries[selection].headerId == MC_HEADER_WATTSON)
{
- if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId
+ if (GetMatchCallMapSec(selection) == gMapHeader.regionMapSectionId
&& FlagGet(FLAG_BADGE05_GET) == TRUE)
{
if (!FlagGet(FLAG_WATTSON_REMATCH_AVAILABLE))
diff --git a/src/pokenav_unk_4.c b/src/pokenav_unk_4.c
index 0f05c6f5d..d8a1a0dfa 100755
--- a/src/pokenav_unk_4.c
+++ b/src/pokenav_unk_4.c
@@ -32,15 +32,15 @@ struct Pokenav4Struct
u8 filler8[0x6];
u8 unkE;
u8 unkF;
- u16 unk10;
- u16 unk12;
- u16 unk14;
+ u16 locWindowId;
+ u16 infoBoxWindowId;
+ u16 msgBoxWindowId;
s16 unk16;
u8 unused18;
u8 unk19;
u16 unk1A;
- struct Sprite *unk1C;
- struct Sprite *unk20;
+ struct Sprite *optionsCursorSprite;
+ struct Sprite *trainerPicSprite;
u8 unk24[0x800];
u8 unk824[0x800];
u8 unk1024[0x800];
@@ -55,74 +55,70 @@ static void sub_81CBBB8(void);
static void sub_81CBC1C(void);
static void sub_81CC2B4(void);
static void sub_81CC034(struct Pokenav4Struct *);
-static void sub_81CBD78(struct Pokenav4Struct *);
-static void sub_81CBDC0(struct Pokenav4Struct *);
-static void sub_81CBEF8(struct Pokenav4Struct *, int);
+static void DrawMatchCallLeftColumnWindows(struct Pokenav4Struct *);
+static void UpdateMatchCallInfoBox(struct Pokenav4Struct *);
+static void PrintMatchCallLocation(struct Pokenav4Struct *, int);
static void sub_81CC214(void);
static void sub_81CBC38(int);
-static void sub_81CBF60(struct Pokenav4Struct *);
+static void PrintMatchCallSelectionOptions(struct Pokenav4Struct *);
static bool32 sub_81CBFC4(struct Pokenav4Struct *);
-static void sub_81CC344(struct Pokenav4Struct *, int);
-static bool32 sub_81CC004(struct Pokenav4Struct *);
-static void sub_81CBFF0(struct Pokenav4Struct *);
-static void sub_81CC058(struct Pokenav4Struct *);
-static bool32 sub_81CC0D0(struct Pokenav4Struct *);
-static void sub_81CC0E0(struct Pokenav4Struct *);
-static bool32 sub_81CC104(struct Pokenav4Struct *);
-static void sub_81CC158(struct Pokenav4Struct *);
-static bool32 sub_81CC194(struct Pokenav4Struct *);
-static void sub_81CC09C(struct Pokenav4Struct *);
-static void sub_81CC11C(struct Pokenav4Struct *);
-static bool32 sub_81CC140(struct Pokenav4Struct *);
-static void sub_81CC1DC(struct Pokenav4Struct *);
-static bool32 sub_81CC204(struct Pokenav4Struct *);
-static void sub_81CC014(struct Pokenav4Struct *);
-static void sub_81CC39C(struct Pokenav4Struct *);
-static bool32 sub_81CC42C(struct Pokenav4Struct *);
-static void sub_81CC420(struct Pokenav4Struct *);
+static void UpdateCursorGfxPos(struct Pokenav4Struct *, int);
+static bool32 IsDma3ManagerBusyWithBgCopy1(struct Pokenav4Struct *);
+static void UpdateWindowsReturnToTrainerList(struct Pokenav4Struct *);
+static void DrawMsgBoxForMatchCallMsg(struct Pokenav4Struct *);
+static bool32 IsDma3ManagerBusyWithBgCopy2(struct Pokenav4Struct *);
+static void PrintCallingDots(struct Pokenav4Struct *);
+static bool32 WaitForCallingDotsText(struct Pokenav4Struct *);
+static void PrintMatchCallMessage(struct Pokenav4Struct *);
+static bool32 WaitForMatchCallMessageText(struct Pokenav4Struct *);
+static void DrawMsgBoxForCloseByMsg(struct Pokenav4Struct *);
+static void PrintTrainerIsCloseBy(struct Pokenav4Struct *);
+static bool32 WaitForTrainerIsCloseByText(struct Pokenav4Struct *);
+static void DrawSpinningPokenavForCall(struct Pokenav4Struct *);
+static bool32 WaitForSpinningPokenav(struct Pokenav4Struct *);
+static void UpdateWindowsToShowCheckPage(struct Pokenav4Struct *);
+static void LoadCheckPageTrainerPic(struct Pokenav4Struct *);
+static bool32 WaitForTrainerPic(struct Pokenav4Struct *);
+static void TrainerPicSlideOffscreen(struct Pokenav4Struct *);
static void sub_81CBC64(u8 taskId);
-static void sub_81CBCEC(u16 windowId, u32, u32);
-static void sub_81CBDF4(u16 windowId);
-static void sub_81CBE0C(u16 windowId);
-static void sub_81CBE38(u16 windowId);
-static void sub_81CBE50(u16 windowId);
-static void sub_81CBE88(u16 windowId, const u8 *str, int top);
-static void sub_81CBEB4(u16 windowId, const u8 *str, int top);
+static void TryDrawRematchPokeballIcon(u16 windowId, u32, u32);
+static void PrintNumberRegisteredLabel(u16 windowId);
+static void PrintNumberRegistered(u16 windowId);
+static void PrintNumberOfBattlesLabel(u16 windowId);
+static void PrintNumberOfBattles(u16 windowId);
+static void PrintMatchCallInfoLabel(u16 windowId, const u8 *str, int top);
+static void PrintMatchCallInfoNumber(u16 windowId, const u8 *str, int top);
static void sub_81CC2F0(struct Pokenav4Struct *, int);
-static void sub_81CC330(struct Pokenav4Struct *);
-static struct Sprite *sub_81CC370(void);
-static void sub_81CC440(struct Sprite *sprite);
-static void sub_81CC4A4(struct Sprite *sprite);
-void sub_81CC34C(struct Sprite *sprite);
-u32 sub_81CB510(s32);
-u32 sub_81CB588(s32);
-u32 sub_81CB600(s32);
-u32 sub_81CB678(s32);
-u32 sub_81CB6F0(s32);
-u32 sub_81CB734(s32);
-u32 sub_81CB75C(s32);
-u32 sub_81CB7A0(s32);
-u32 sub_81CB824(s32);
+static void CloseMatchCallSelectOptionsWindow(struct Pokenav4Struct *);
+static struct Sprite *CreateTrainerPicSprite(void);
+static void SpriteCB_TrainerPicSlideOnscreen(struct Sprite *sprite);
+static void SpriteCB_TrainerPicSlideOffscreen(struct Sprite *sprite);
+void SpriteCB_OptionsCursor(struct Sprite *sprite);
+u32 MatchCallListCursorDown(s32);
+u32 MatchCallListCursorUp(s32);
+u32 MatchCallListPageDown(s32);
+u32 MatchCallListPageUp(s32);
+u32 SelectMatchCallEntry(s32);
+u32 MoveMatchCallOptionsCursor(s32);
+static u32 CancelMatchCallSelection(s32);
+u32 DoMatchCallMessage(s32);
+u32 DoTrainerCloseByMessage(s32);
u32 sub_81CB888(s32);
-u32 sub_81CB93C(s32);
-u32 sub_81CBAD4(s32);
-u32 sub_81CB9C8(s32);
-u32 sub_81CBA68(s32);
-u32 sub_81CBB74(s32);
-
-extern const struct WindowTemplate gUnknown_08622808;
-extern const struct SpriteTemplate gUnknown_08622830;
-extern const struct SpriteTemplate gUnknown_08622850;
-
-const u16 gUnknown_08622510[] = INCBIN_U16("graphics/pokenav/ui_matchcall.gbapal");
-const u32 gUnknown_08622530[] = INCBIN_U32("graphics/pokenav/ui_matchcall.4bpp.lz");
-const u32 gUnknown_086225D4[] = INCBIN_U32("graphics/pokenav/ui_matchcall.bin.lz");
-const u16 gUnknown_08622698[] = INCBIN_U16("graphics/pokenav/arrow2.gbapal");
-const u32 gUnknown_086226B8[] = INCBIN_U32("graphics/pokenav/arrow2.4bpp.lz");
-const u16 gUnknown_086226E0[] = INCBIN_U16("graphics/pokenav/86226E0.gbapal");
-const u16 gUnknown_08622700[] = INCBIN_U16("graphics/pokenav/8622700.gbapal");
-const u16 gUnknown_08622720[] = INCBIN_U16("graphics/pokenav/pokeball_matchcall.gbapal");
-const u32 gUnknown_08622760[] = INCBIN_U32("graphics/pokenav/pokeball_matchcall.4bpp.lz");
+u32 ShowCheckPage(s32);
+u32 ShowCheckPageUp(s32);
+u32 ShowCheckPageDown(s32);
+u32 ExitCheckPage(s32);
+u32 ExitMatchCall(s32);
+
+static const u16 sMatchCallUI_Pal[] = INCBIN_U16("graphics/pokenav/ui_matchcall.gbapal");
+static const u32 sMatchCallUI_Gfx[] = INCBIN_U32("graphics/pokenav/ui_matchcall.4bpp.lz");
+static const u32 sMatchCallUI_Tilemap[] = INCBIN_U32("graphics/pokenav/ui_matchcall.bin.lz");
+static const u16 gUnknown_08622698[] = INCBIN_U16("graphics/pokenav/arrow2.gbapal");
+static const u32 gUnknown_086226B8[] = INCBIN_U32("graphics/pokenav/arrow2.4bpp.lz");
+static const u16 gUnknown_086226E0[] = INCBIN_U16("graphics/pokenav/86226E0.gbapal");
+static const u16 gUnknown_08622700[] = INCBIN_U16("graphics/pokenav/8622700.gbapal");
+static const u16 gUnknown_08622720[] = INCBIN_U16("graphics/pokenav/pokeball_matchcall.gbapal");
+static const u32 gUnknown_08622760[] = INCBIN_U32("graphics/pokenav/pokeball_matchcall.4bpp.lz");
const struct BgTemplate gUnknown_0862278C[3] =
{
@@ -155,27 +151,27 @@ const struct BgTemplate gUnknown_0862278C[3] =
}
};
-const LoopedTask gUnknown_08622798[] =
-{
- NULL,
- sub_81CB510,
- sub_81CB588,
- sub_81CB600,
- sub_81CB678,
- sub_81CB6F0,
- sub_81CB734,
- sub_81CB75C,
- sub_81CB7A0,
- sub_81CB824,
- sub_81CB888,
- sub_81CB93C,
- sub_81CBAD4,
- sub_81CB9C8,
- sub_81CBA68,
- sub_81CBB74
+static const LoopedTask sMatchCallLoopTaskFuncs[] =
+{
+ [POKENAV_MC_FUNC_NONE] = NULL,
+ [POKENAV_MC_FUNC_DOWN] = MatchCallListCursorDown,
+ [POKENAV_MC_FUNC_UP] = MatchCallListCursorUp,
+ [POKENAV_MC_FUNC_PG_DOWN] = MatchCallListPageDown,
+ [POKENAV_MC_FUNC_PG_UP] = MatchCallListPageUp,
+ [POKENAV_MC_FUNC_SELECT] = SelectMatchCallEntry,
+ [POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR] = MoveMatchCallOptionsCursor,
+ [POKENAV_MC_FUNC_CANCEL] = CancelMatchCallSelection,
+ [POKENAV_MC_FUNC_CALL_MSG] = DoMatchCallMessage,
+ [POKENAV_MC_FUNC_NEARBY_MSG] = DoTrainerCloseByMessage,
+ [POKENAV_MC_FUNC_10] = sub_81CB888,
+ [POKENAV_MC_FUNC_SHOW_CHECK_PAGE] = ShowCheckPage,
+ [POKENAV_MC_FUNC_CHECK_PAGE_UP] = ShowCheckPageUp,
+ [POKENAV_MC_FUNC_CHECK_PAGE_DOWN] = ShowCheckPageDown,
+ [POKENAV_MC_FUNC_EXIT_CHECK_PAGE] = ExitCheckPage,
+ [POKENAV_MC_FUNC_EXIT] = ExitMatchCall
};
-const struct WindowTemplate gUnknown_086227D8 =
+static const struct WindowTemplate sMatchCallLocationWindowTemplate =
{
.bg = 2,
.tilemapLeft = 0,
@@ -186,7 +182,7 @@ const struct WindowTemplate gUnknown_086227D8 =
.baseBlock = 16
};
-const struct WindowTemplate gUnknown_086227E0 =
+static const struct WindowTemplate sMatchCallInfoBoxWindowTemplate =
{
.bg = 2,
.tilemapLeft = 0,
@@ -197,16 +193,17 @@ const struct WindowTemplate gUnknown_086227E0 =
.baseBlock = 38
};
-const u8 *const gUnknown_086227E8[] =
+static const u8 *const sMatchCallOptionTexts[MATCH_CALL_OPTION_COUNT] =
{
- gUnknown_085EC017,
- gUnknown_085EC01C,
- gUnknown_085EC022
+ [MATCH_CALL_OPTION_CALL] = gText_Call,
+ [MATCH_CALL_OPTION_CHECK] = gText_Check,
+ [MATCH_CALL_OPTION_CANCEL] = gText_Cancel6
};
-const u8 gUnknown_086227F4[] = _("·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p");
+// The series of 5 dots that appear when someone is called with Match Call
+static const u8 sText_CallingDots[] = _("·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p");
-const struct WindowTemplate gUnknown_08622808 =
+static const struct WindowTemplate sCallMsgBoxWindowTemplate =
{
.bg = 1,
.tilemapLeft = 1,
@@ -222,18 +219,17 @@ const struct CompressedSpriteSheet gUnknown_08622810[1] =
{gUnknown_086226B8, 0x40, 7}
};
-const struct SpritePalette gUnknown_08622818[] =
+const struct SpritePalette gUnknown_08622818[2] =
{
- {gUnknown_08622698, 12},
- {}
+ {gUnknown_08622698, 12}
};
-const struct OamData gUnknown_08622828 =
+static const struct OamData sOptionsCursorOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .bpp = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x16),
.x = 0,
.size = SPRITE_SIZE(8x16),
@@ -242,23 +238,23 @@ const struct OamData gUnknown_08622828 =
.paletteNum = 0,
};
-const struct SpriteTemplate gUnknown_08622830 =
+static const struct SpriteTemplate sOptionsCursorSpriteTemplate =
{
.tileTag = 7,
.paletteTag = 12,
- .oam = &gUnknown_08622828,
+ .oam = &sOptionsCursorOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81CC34C,
+ .callback = SpriteCB_OptionsCursor,
};
-const struct OamData gUnknown_08622848 =
+static const struct OamData sTrainerPicOamData =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .bpp = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.size = SPRITE_SIZE(64x64),
@@ -267,11 +263,11 @@ const struct OamData gUnknown_08622848 =
.paletteNum = 0,
};
-const struct SpriteTemplate gUnknown_08622850 =
+static const struct SpriteTemplate sTrainerPicSpriteTemplate =
{
.tileTag = 8,
.paletteTag = 13,
- .oam = &gUnknown_08622848,
+ .oam = &sTrainerPicOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -293,7 +289,7 @@ bool32 sub_81CB260(void)
void sub_81CB29C(s32 index)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
- state->unk4 = CreateLoopedTask(gUnknown_08622798[index], 1);
+ state->unk4 = CreateLoopedTask(sMatchCallLoopTaskFuncs[index], 1);
state->unk0 = sub_81CB310;
}
@@ -308,9 +304,9 @@ void sub_81CB2E0(void)
struct Pokenav4Struct *state = GetSubstructPtr(6);
sub_81CC2B4();
sub_81CBC1C();
- RemoveWindow(state->unk12);
- RemoveWindow(state->unk10);
- RemoveWindow(state->unk14);
+ RemoveWindow(state->infoBoxWindowId);
+ RemoveWindow(state->locWindowId);
+ RemoveWindow(state->msgBoxWindowId);
FreePokenavSubstruct(6);
}
@@ -329,48 +325,48 @@ static u32 sub_81CB324(s32 taskState)
InitBgTemplates(gUnknown_0862278C, ARRAY_COUNT(gUnknown_0862278C));
ChangeBgX(2, 0, 0);
ChangeBgY(2, 0, 0);
- decompress_and_copy_tile_data_to_vram(2, gUnknown_08622530, 0, 0, 0);
+ decompress_and_copy_tile_data_to_vram(2, sMatchCallUI_Gfx, 0, 0, 0);
SetBgTilemapBuffer(2, state->unk1024);
- CopyToBgTilemapBuffer(2, gUnknown_086225D4, 0, 0);
+ CopyToBgTilemapBuffer(2, sMatchCallUI_Tilemap, 0, 0);
CopyBgTilemapBufferToVram(2);
- CopyPaletteIntoBufferUnfaded(gUnknown_08622510, 0x20, 0x20);
+ CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, 0x20, 0x20);
CopyBgTilemapBufferToVram(2);
- return 0;
+ return LT_INC_AND_PAUSE;
case 1:
if (free_temp_tile_data_buffers_if_possible())
- return 2;
+ return LT_PAUSE;
sub_8199DF0(1, 0, 0, 1);
SetBgTilemapBuffer(1, state->unk24);
FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20);
CopyPaletteIntoBufferUnfaded(gUnknown_086226E0, 0x10, 0x20);
CopyBgTilemapBufferToVram(1);
- return 0;
+ return LT_INC_AND_PAUSE;
case 2:
if (free_temp_tile_data_buffers_if_possible())
- return 2;
+ return LT_PAUSE;
sub_81CC034(state);
decompress_and_copy_tile_data_to_vram(3, gUnknown_08622760, 0, 0, 0);
CopyPaletteIntoBufferUnfaded(gUnknown_08622700, 0x30, 0x20);
CopyPaletteIntoBufferUnfaded(gUnknown_08622720, 0x50, 0x20);
- return 0;
+ return LT_INC_AND_PAUSE;
case 3:
if (free_temp_tile_data_buffers_if_possible() || !sub_81CAE28())
- return 2;
+ return LT_PAUSE;
sub_81CBBB8();
- return 0;
+ return LT_INC_AND_PAUSE;
case 4:
if (sub_81C8224())
- return 2;
+ return LT_PAUSE;
- sub_81CBD78(state);
- return 0;
+ DrawMatchCallLeftColumnWindows(state);
+ return LT_INC_AND_PAUSE;
case 5:
- sub_81CBDC0(state);
- sub_81CBEF8(state, 0);
- return 0;
+ UpdateMatchCallInfoBox(state);
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 6:
ChangeBgX(1, 0, 0);
ChangeBgY(1, 0, 0);
@@ -381,19 +377,19 @@ static u32 sub_81CB324(s32 taskState)
LoadLeftHeaderGfxForIndex(3);
sub_81C7FA0(3, 1, 0);
sub_81C7AC0(1);
- return 0;
+ return LT_INC_AND_PAUSE;
case 7:
if (IsPaletteFadeActive() || sub_81C8010())
- return 2;
+ return LT_PAUSE;
sub_81CBC38(1);
- return 4;
+ return LT_FINISH;
default:
- return 4;
+ return LT_FINISH;
}
}
-u32 sub_81CB510(s32 taskState)
+u32 MatchCallListCursorDown(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
@@ -410,27 +406,27 @@ u32 sub_81CB510(s32 taskState)
PlaySE(SE_SELECT);
// fall through
default:
- return 0;
+ return LT_INC_AND_PAUSE;
}
break;
case 1:
if (sub_81C8630())
- return 2;
+ return LT_PAUSE;
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 2:
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 3:
if (IsDma3ManagerBusyWithBgCopy())
- return 2;
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB588(s32 taskState)
+u32 MatchCallListCursorUp(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
@@ -447,27 +443,27 @@ u32 sub_81CB588(s32 taskState)
PlaySE(SE_SELECT);
// fall through
default:
- return 0;
+ return LT_INC_AND_PAUSE;
}
break;
case 1:
if (sub_81C8630())
- return 2;
+ return LT_PAUSE;
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 2:
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 3:
if (IsDma3ManagerBusyWithBgCopy())
- return 2;
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB600(s32 taskState)
+u32 MatchCallListPageDown(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
@@ -484,27 +480,27 @@ u32 sub_81CB600(s32 taskState)
PlaySE(SE_SELECT);
// fall through
default:
- return 0;
+ return LT_INC_AND_PAUSE;
}
break;
case 1:
if (sub_81C8630())
- return 2;
+ return LT_PAUSE;
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 2:
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 3:
if (IsDma3ManagerBusyWithBgCopy())
- return 2;
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB678(s32 taskState)
+u32 MatchCallListPageUp(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
@@ -521,138 +517,138 @@ u32 sub_81CB678(s32 taskState)
PlaySE(SE_SELECT);
// fall through
default:
- return 0;
+ return LT_INC_AND_PAUSE;
}
break;
case 1:
if (sub_81C8630())
- return 2;
+ return LT_PAUSE;
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 2:
- sub_81CBEF8(state, 0);
- return 0;
+ PrintMatchCallLocation(state, 0);
+ return LT_INC_AND_PAUSE;
case 3:
if (IsDma3ManagerBusyWithBgCopy())
- return 2;
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB6F0(s32 taskState)
+u32 SelectMatchCallEntry(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
{
case 0:
PlaySE(SE_SELECT);
- sub_81CBF60(state);
- sub_81C7BA4(7);
- return 0;
+ PrintMatchCallSelectionOptions(state);
+ PrintHelpBarText(HELPBAR_MC_CALL_MENU);
+ return LT_INC_AND_PAUSE;
case 1:
if (sub_81CBFC4(state))
- return 2;
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB734(s32 taskState)
+u32 MoveMatchCallOptionsCursor(s32 taskState)
{
struct Pokenav4Struct *state;
- u16 var0;
+ u16 cursorPos;
PlaySE(SE_SELECT);
state = GetSubstructPtr(6);
- var0 = sub_81CB01C();
- sub_81CC344(state, var0);
- return 4;
+ cursorPos = GetMatchCallOptionCursorPos();
+ UpdateCursorGfxPos(state, cursorPos);
+ return LT_FINISH;
}
-u32 sub_81CB75C(s32 taskState)
+u32 CancelMatchCallSelection(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
{
case 0:
PlaySE(SE_SELECT);
- sub_81CBFF0(state);
- sub_81C7BA4(6);
- return 0;
+ UpdateWindowsReturnToTrainerList(state);
+ PrintHelpBarText(HELPBAR_MC_TRAINER_LIST);
+ return LT_INC_AND_PAUSE;
case 1:
- if (sub_81CC004(state))
- return 2;
+ if (IsDma3ManagerBusyWithBgCopy1(state))
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB7A0(s32 taskState)
+u32 DoMatchCallMessage(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
{
case 0:
ToggleMatchCallVerticalArrows(TRUE);
- sub_81CC058(state);
- return 0;
+ DrawMsgBoxForMatchCallMsg(state);
+ return LT_INC_AND_PAUSE;
case 1:
- if (sub_81CC0D0(state))
- return 2;
+ if (IsDma3ManagerBusyWithBgCopy2(state))
+ return LT_PAUSE;
- sub_81CC0E0(state);
+ PrintCallingDots(state);
PlaySE(SE_TOREEYE);
state->unkE = 0;
- return 0;
+ return LT_INC_AND_PAUSE;
case 2:
- if (sub_81CC104(state))
- return 2;
+ if (WaitForCallingDotsText(state))
+ return LT_PAUSE;
- sub_81CC158(state);
- return 0;
+ PrintMatchCallMessage(state);
+ return LT_INC_AND_PAUSE;
case 3:
- if (sub_81CC194(state))
- return 2;
+ if (WaitForMatchCallMessageText(state))
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB824(s32 taskState)
+u32 DoTrainerCloseByMessage(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
{
case 0:
PlaySE(SE_SELECT);
- sub_81CC09C(state);
+ DrawMsgBoxForCloseByMsg(state);
ToggleMatchCallVerticalArrows(TRUE);
state->unkE = 1;
- return 0;
+ return LT_INC_AND_PAUSE;
case 1:
- if (sub_81CC0D0(state))
- return 2;
+ if (IsDma3ManagerBusyWithBgCopy2(state))
+ return LT_PAUSE;
- sub_81CC11C(state);
- return 0;
+ PrintTrainerIsCloseBy(state);
+ return LT_INC_AND_PAUSE;
case 2:
- if (sub_81CC140(state))
- return 2;
+ if (WaitForTrainerIsCloseByText(state))
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
u32 sub_81CB888(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
- u32 result = 0;
+ u32 result = LT_INC_AND_PAUSE;
switch (taskState)
{
@@ -663,49 +659,49 @@ u32 sub_81CB888(s32 taskState)
PlaySE(SE_SELECT);
break;
case 1:
- sub_81CC1DC(state);
+ DrawSpinningPokenavForCall(state);
break;
case 2:
- if (sub_81CC204(state))
- result = 2;
+ if (WaitForSpinningPokenav(state))
+ result = LT_PAUSE;
break;
case 3:
- sub_81CBFF0(state);
+ UpdateWindowsReturnToTrainerList(state);
break;
case 4:
- if (sub_81CC004(state))
- result = 2;
+ if (IsDma3ManagerBusyWithBgCopy1(state))
+ result = LT_PAUSE;
- sub_81C7BA4(6);
+ PrintHelpBarText(HELPBAR_MC_TRAINER_LIST);
break;
case 5:
- if (IsDma3ManagerBusyWithBgCopy_())
+ if (WaitForHelpBar())
{
- result = 2;
+ result = LT_PAUSE;
}
else
{
if (state->unkF)
{
sub_81C8838();
- result = 1;
+ result = LT_INC_AND_CONTINUE;
}
else
{
ToggleMatchCallVerticalArrows(FALSE);
- result = 4;
+ result = LT_FINISH;
}
}
break;
case 6:
if (IsDma3ManagerBusyWithBgCopy())
{
- result = 2;
+ result = LT_PAUSE;
}
else
{
ToggleMatchCallVerticalArrows(FALSE);
- result = 4;
+ result = LT_FINISH;
}
break;
}
@@ -713,7 +709,7 @@ u32 sub_81CB888(s32 taskState)
return result;
}
-u32 sub_81CB93C(s32 taskState)
+u32 ShowCheckPage(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
@@ -721,132 +717,132 @@ u32 sub_81CB93C(s32 taskState)
case 0:
PlaySE(SE_SELECT);
sub_81C877C();
- sub_81CC014(state);
- return 0;
+ UpdateWindowsToShowCheckPage(state);
+ return LT_INC_AND_PAUSE;
case 1:
- if (sub_81C8820() || sub_81CC004(state))
- return 2;
+ if (sub_81C8820() || IsDma3ManagerBusyWithBgCopy1(state))
+ return LT_PAUSE;
- sub_81C7BA4(8);
- return 0;
+ PrintHelpBarText(HELPBAR_MC_CHECK_PAGE);
+ return LT_INC_AND_PAUSE;
case 2:
- sub_81C87AC(0);
- sub_81CC39C(state);
- return 0;
+ PrintCheckPageInfo(0);
+ LoadCheckPageTrainerPic(state);
+ return LT_INC_AND_PAUSE;
case 3:
- if (sub_81C8820() || sub_81CC42C(state) || IsDma3ManagerBusyWithBgCopy_())
- return 2;
+ if (sub_81C8820() || WaitForTrainerPic(state) || WaitForHelpBar())
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CB9C8(s32 taskState)
+u32 ShowCheckPageDown(s32 taskState)
{
- int index;
- int var0;
+ int topId;
+ int delta;
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
{
case 0:
- index = GetMatchCallListTopIndex();
- var0 = sub_81CB0E4(index);
- if (var0)
+ topId = GetMatchCallListTopIndex();
+ delta = GetIndexDeltaOfNextCheckPageDown(topId);
+ if (delta)
{
PlaySE(SE_SELECT);
- state->unk16 = var0;
- sub_81CC420(state);
- return 0;
+ state->unk16 = delta;
+ TrainerPicSlideOffscreen(state);
+ return LT_INC_AND_PAUSE;
}
break;
case 1:
- if (sub_81CC42C(state))
- return 2;
+ if (WaitForTrainerPic(state))
+ return LT_PAUSE;
- sub_81CBEF8(state, state->unk16);
- return 0;
+ PrintMatchCallLocation(state, state->unk16);
+ return LT_INC_AND_PAUSE;
case 2:
- sub_81C87AC(state->unk16);
- return 0;
+ PrintCheckPageInfo(state->unk16);
+ return LT_INC_AND_PAUSE;
case 3:
- sub_81CC39C(state);
- return 0;
+ LoadCheckPageTrainerPic(state);
+ return LT_INC_AND_PAUSE;
case 4:
- if (sub_81C8820() || sub_81CC42C(state))
- return 2;
+ if (sub_81C8820() || WaitForTrainerPic(state))
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CBA68(s32 taskState)
+u32 ExitCheckPage(s32 taskState)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
{
case 0:
PlaySE(SE_SELECT);
- sub_81CC420(state);
+ TrainerPicSlideOffscreen(state);
sub_81C87F0();
- return 0;
+ return LT_INC_AND_PAUSE;
case 1:
- if (sub_81C8820() || sub_81CC42C(state))
- return 2;
+ if (sub_81C8820() || WaitForTrainerPic(state))
+ return LT_PAUSE;
- sub_81C7BA4(6);
- sub_81CBDC0(state);
- return 0;
+ PrintHelpBarText(HELPBAR_MC_TRAINER_LIST);
+ UpdateMatchCallInfoBox(state);
+ return LT_INC_AND_PAUSE;
case 2:
if (IsDma3ManagerBusyWithBgCopy())
- return 2;
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CBAD4(s32 taskState)
+u32 ShowCheckPageUp(s32 taskState)
{
- int index;
- int var0;
+ int topId;
+ int delta;
struct Pokenav4Struct *state = GetSubstructPtr(6);
switch (taskState)
{
case 0:
- index = GetMatchCallListTopIndex();
- var0 = sub_81CB128(index);
- if (var0)
+ topId = GetMatchCallListTopIndex();
+ delta = GetIndexDeltaOfNextCheckPageUp(topId);
+ if (delta)
{
PlaySE(SE_SELECT);
- state->unk16 = var0;
- sub_81CC420(state);
- return 0;
+ state->unk16 = delta;
+ TrainerPicSlideOffscreen(state);
+ return LT_INC_AND_PAUSE;
}
break;
case 1:
- if (sub_81CC42C(state))
- return 2;
+ if (WaitForTrainerPic(state))
+ return LT_PAUSE;
- sub_81CBEF8(state, state->unk16);
- return 0;
+ PrintMatchCallLocation(state, state->unk16);
+ return LT_INC_AND_PAUSE;
case 2:
- sub_81C87AC(state->unk16);
- return 0;
+ PrintCheckPageInfo(state->unk16);
+ return LT_INC_AND_PAUSE;
case 3:
- sub_81CC39C(state);
- return 0;
+ LoadCheckPageTrainerPic(state);
+ return LT_INC_AND_PAUSE;
case 4:
- if (sub_81C8820() || sub_81CC42C(state))
- return 2;
+ if (sub_81C8820() || WaitForTrainerPic(state))
+ return LT_PAUSE;
break;
}
- return 4;
+ return LT_FINISH;
}
-u32 sub_81CBB74(s32 taskState)
+u32 ExitMatchCall(s32 taskState)
{
switch (taskState)
{
@@ -855,23 +851,23 @@ u32 sub_81CBB74(s32 taskState)
sub_81CBC38(0);
sub_81C7AC0(0);
sub_81C78A0();
- return 0;
+ return LT_INC_AND_PAUSE;
case 1:
if (IsPaletteFadeActive() || MainMenuLoopedTaskIsBusy())
- return 2;
+ return LT_PAUSE;
sub_81C7FDC();
break;
}
- return 4;
+ return LT_FINISH;
}
static void sub_81CBBB8(void)
{
- struct MatchCallListTemplate template;
- template.unk0 = sub_81CAE94();
- template.unk4 = sub_81CAE38();
+ struct PokenavListTemplate template;
+ template.list.matchCallEntries = sub_81CAE94();
+ template.unk4 = GetNumberRegistered();
template.unk8 = 4;
template.unk6 = 0;
template.unk9 = 13;
@@ -880,8 +876,8 @@ static void sub_81CBBB8(void)
template.unkC = 8;
template.unkD = 3;
template.unkE = 7;
- template.unk10 = sub_81CB050;
- template.unk14 = sub_81CBCEC;
+ template.listFunc.unk10_2 = BufferMatchCallNameAndDesc;
+ template.unk14 = TryDrawRematchPokeballIcon;
sub_81C81D4(&gUnknown_0862278C[2], &template, 2);
CreateTask(sub_81CBC64, 7);
}
@@ -913,12 +909,12 @@ static void sub_81CBC64(u8 taskId)
}
}
-static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2)
+static void TryDrawRematchPokeballIcon(u16 windowId, u32 rematchId, u32 arg2)
{
u8 bg = GetWindowAttribute(windowId, WINDOW_BG);
u16 *tilemap = GetBgTilemapBuffer(bg);
tilemap += arg2 * 0x40 + 0x1D;
- if (sub_81CAEBC(arg1))
+ if (ShouldDrawRematchPokeballIcon(rematchId))
{
tilemap[0] = 0x5000;
tilemap[0x20] = 0x5001;
@@ -930,7 +926,7 @@ static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2)
}
}
-void sub_81CBD48(u16 windowId, u32 arg0)
+void ClearRematchPokeballIcon(u16 windowId, u32 arg0)
{
u8 bg = GetWindowAttribute(windowId, WINDOW_BG);
u16 *tilemap = GetBgTilemapBuffer(bg);
@@ -939,45 +935,45 @@ void sub_81CBD48(u16 windowId, u32 arg0)
tilemap[0x20] = 0x5002;
}
-static void sub_81CBD78(struct Pokenav4Struct *state)
+static void DrawMatchCallLeftColumnWindows(struct Pokenav4Struct *state)
{
- state->unk10 = AddWindow(&gUnknown_086227D8);
- state->unk12 = AddWindow(&gUnknown_086227E0);
- FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1));
- PutWindowTilemap(state->unk10);
- FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1));
- PutWindowTilemap(state->unk12);
- CopyWindowToVram(state->unk10, 1);
+ state->locWindowId = AddWindow(&sMatchCallLocationWindowTemplate);
+ state->infoBoxWindowId = AddWindow(&sMatchCallInfoBoxWindowTemplate);
+ FillWindowPixelBuffer(state->locWindowId, PIXEL_FILL(1));
+ PutWindowTilemap(state->locWindowId);
+ FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1));
+ PutWindowTilemap(state->infoBoxWindowId);
+ CopyWindowToVram(state->locWindowId, 1);
}
-static void sub_81CBDC0(struct Pokenav4Struct *state)
+static void UpdateMatchCallInfoBox(struct Pokenav4Struct *state)
{
- FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1));
- sub_81CBDF4(state->unk12);
- sub_81CBE0C(state->unk12);
- sub_81CBE38(state->unk12);
- sub_81CBE50(state->unk12);
- CopyWindowToVram(state->unk12, 2);
+ FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1));
+ PrintNumberRegisteredLabel(state->infoBoxWindowId);
+ PrintNumberRegistered(state->infoBoxWindowId);
+ PrintNumberOfBattlesLabel(state->infoBoxWindowId);
+ PrintNumberOfBattles(state->infoBoxWindowId);
+ CopyWindowToVram(state->infoBoxWindowId, 2);
}
-static void sub_81CBDF4(u16 windowId)
+static void PrintNumberRegisteredLabel(u16 windowId)
{
- sub_81CBE88(windowId, gText_NumberRegistered, 0);
+ PrintMatchCallInfoLabel(windowId, gText_NumberRegistered, 0);
}
-static void sub_81CBE0C(u16 windowId)
+static void PrintNumberRegistered(u16 windowId)
{
u8 str[3];
- ConvertIntToDecimalStringN(str, sub_81CAE38(), STR_CONV_MODE_LEFT_ALIGN, 3);
- sub_81CBEB4(windowId, str, 1);
+ ConvertIntToDecimalStringN(str, GetNumberRegistered(), STR_CONV_MODE_LEFT_ALIGN, 3);
+ PrintMatchCallInfoNumber(windowId, str, 1);
}
-static void sub_81CBE38(u16 windowId)
+static void PrintNumberOfBattlesLabel(u16 windowId)
{
- sub_81CBE88(windowId, gText_NumberOfBattles, 2);
+ PrintMatchCallInfoLabel(windowId, gText_NumberOfBattles, 2);
}
-static void sub_81CBE50(u16 windowId)
+static void PrintNumberOfBattles(u16 windowId)
{
u8 str[5];
int numTrainerBattles = GetGameStat(GAME_STAT_TRAINER_BATTLES);
@@ -985,150 +981,150 @@ static void sub_81CBE50(u16 windowId)
numTrainerBattles = 99999;
ConvertIntToDecimalStringN(str, numTrainerBattles, STR_CONV_MODE_LEFT_ALIGN, 5);
- sub_81CBEB4(windowId, str, 3);
+ PrintMatchCallInfoNumber(windowId, str, 3);
}
-static void sub_81CBE88(u16 windowId, const u8 *str, int top)
+static void PrintMatchCallInfoLabel(u16 windowId, const u8 *str, int top)
{
int y = top * 16 + 1;
AddTextPrinterParameterized(windowId, 7, str, 2, y, TEXT_SPEED_FF, NULL);
}
-static void sub_81CBEB4(u16 windowId, const u8 *str, int top)
+static void PrintMatchCallInfoNumber(u16 windowId, const u8 *str, int top)
{
int x = GetStringRightAlignXOffset(7, str, 86);
int y = top * 16 + 1;
AddTextPrinterParameterized(windowId, 7, str, x, y, TEXT_SPEED_FF, NULL);
}
-static void sub_81CBEF8(struct Pokenav4Struct *state, int arg1)
+static void PrintMatchCallLocation(struct Pokenav4Struct *state, int arg1)
{
u8 mapName[32];
int x;
int index = GetSelectedMatchCall() + arg1;
- int regionMapSection = sub_81CAEA4(index);
- if (regionMapSection != MAPSEC_NONE)
- GetMapName(mapName, regionMapSection, 0);
+ int mapSec = GetMatchCallMapSec(index);
+ if (mapSec != MAPSEC_NONE)
+ GetMapName(mapName, mapSec, 0);
else
StringCopy(mapName, gText_Unknown);
x = GetStringCenterAlignXOffset(7, mapName, 88);
- FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1));
- AddTextPrinterParameterized(state->unk10, 7, mapName, x, 1, 0, NULL);
+ FillWindowPixelBuffer(state->locWindowId, PIXEL_FILL(1));
+ AddTextPrinterParameterized(state->locWindowId, 7, mapName, x, 1, 0, NULL);
}
-static void sub_81CBF60(struct Pokenav4Struct *state)
+static void PrintMatchCallSelectionOptions(struct Pokenav4Struct *state)
{
u32 i;
- FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1));
- for (i = 0; i < 3; i++)
+ FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1));
+ for (i = 0; i < MATCH_CALL_OPTION_COUNT; i++)
{
- int messageId = sub_81CB02C(i);
- if (messageId == 3)
+ int optionText = GetMatchCallOptionId(i);
+ if (optionText == MATCH_CALL_OPTION_COUNT)
break;
- AddTextPrinterParameterized(state->unk12, 7, gUnknown_086227E8[messageId], 16, i * 16 + 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(state->infoBoxWindowId, 7, sMatchCallOptionTexts[optionText], 16, i * 16 + 1, TEXT_SPEED_FF, NULL);
}
- CopyWindowToVram(state->unk12, 2);
+ CopyWindowToVram(state->infoBoxWindowId, 2);
}
static bool32 sub_81CBFC4(struct Pokenav4Struct *state)
{
if (!IsDma3ManagerBusyWithBgCopy())
{
- sub_81CC2F0(state, sub_81CB01C());
+ sub_81CC2F0(state, GetMatchCallOptionCursorPos());
return FALSE;
}
return TRUE;
}
-static void sub_81CBFF0(struct Pokenav4Struct *state)
+static void UpdateWindowsReturnToTrainerList(struct Pokenav4Struct *state)
{
- sub_81CC330(state);
- sub_81CBDC0(state);
+ CloseMatchCallSelectOptionsWindow(state);
+ UpdateMatchCallInfoBox(state);
}
-static bool32 sub_81CC004(struct Pokenav4Struct *state)
+static bool32 IsDma3ManagerBusyWithBgCopy1(struct Pokenav4Struct *state)
{
return IsDma3ManagerBusyWithBgCopy();
}
-static void sub_81CC014(struct Pokenav4Struct *state)
+static void UpdateWindowsToShowCheckPage(struct Pokenav4Struct *state)
{
- sub_81CC330(state);
- FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1));
- CopyWindowToVram(state->unk12, 2);
+ CloseMatchCallSelectOptionsWindow(state);
+ FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1));
+ CopyWindowToVram(state->infoBoxWindowId, 2);
}
static void sub_81CC034(struct Pokenav4Struct *state)
{
- state->unk14 = AddWindow(&gUnknown_08622808);
- sub_8197184(state->unk14, 1, 4);
+ state->msgBoxWindowId = AddWindow(&sCallMsgBoxWindowTemplate);
+ sub_8197184(state->msgBoxWindowId, 1, 4);
sub_81C7B40();
}
-static void sub_81CC058(struct Pokenav4Struct *state)
+static void DrawMsgBoxForMatchCallMsg(struct Pokenav4Struct *state)
{
struct Sprite *sprite;
- sub_8197184(state->unk14, 1, 4);
- sub_81971C4(state->unk14, 1, 4);
- FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1));
- PutWindowTilemap(state->unk14);
- CopyWindowToVram(state->unk14, 3);
+ sub_8197184(state->msgBoxWindowId, 1, 4);
+ sub_81971C4(state->msgBoxWindowId, 1, 4);
+ FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1));
+ PutWindowTilemap(state->msgBoxWindowId);
+ CopyWindowToVram(state->msgBoxWindowId, 3);
sprite = PauseSpinningPokenavSprite();
sprite->pos1.x = 24;
sprite->pos1.y = 112;
sprite->pos2.y = 0;
}
-static void sub_81CC09C(struct Pokenav4Struct *state)
+static void DrawMsgBoxForCloseByMsg(struct Pokenav4Struct *state)
{
- LoadUserWindowBorderGfx(state->unk14, 1, 0x40);
- DrawTextBorderOuter(state->unk14, 1, 4);
- FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1));
- PutWindowTilemap(state->unk14);
- CopyWindowToVram(state->unk14, 3);
+ LoadUserWindowBorderGfx(state->msgBoxWindowId, 1, 0x40);
+ DrawTextBorderOuter(state->msgBoxWindowId, 1, 4);
+ FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1));
+ PutWindowTilemap(state->msgBoxWindowId);
+ CopyWindowToVram(state->msgBoxWindowId, 3);
}
-static bool32 sub_81CC0D0(struct Pokenav4Struct *state)
+static bool32 IsDma3ManagerBusyWithBgCopy2(struct Pokenav4Struct *state)
{
return IsDma3ManagerBusyWithBgCopy();
}
-static void sub_81CC0E0(struct Pokenav4Struct *state)
+static void PrintCallingDots(struct Pokenav4Struct *state)
{
- AddTextPrinterParameterized(state->unk14, 1, gUnknown_086227F4, 32, 1, 1, NULL);
+ AddTextPrinterParameterized(state->msgBoxWindowId, 1, sText_CallingDots, 32, 1, 1, NULL);
}
-static bool32 sub_81CC104(struct Pokenav4Struct *state)
+static bool32 WaitForCallingDotsText(struct Pokenav4Struct *state)
{
RunTextPrinters();
- return IsTextPrinterActive(state->unk14);
+ return IsTextPrinterActive(state->msgBoxWindowId);
}
-static void sub_81CC11C(struct Pokenav4Struct *state)
+static void PrintTrainerIsCloseBy(struct Pokenav4Struct *state)
{
- AddTextPrinterParameterized(state->unk14, 1, gText_TrainerCloseBy, 0, 1, 1, NULL);
+ AddTextPrinterParameterized(state->msgBoxWindowId, 1, gText_TrainerCloseBy, 0, 1, 1, NULL);
}
-static bool32 sub_81CC140(struct Pokenav4Struct *state)
+static bool32 WaitForTrainerIsCloseByText(struct Pokenav4Struct *state)
{
RunTextPrinters();
- return IsTextPrinterActive(state->unk14);
+ return IsTextPrinterActive(state->msgBoxWindowId);
}
-static void sub_81CC158(struct Pokenav4Struct *state)
+static void PrintMatchCallMessage(struct Pokenav4Struct *state)
{
int index = GetSelectedMatchCall();
- const u8 *str = sub_81CAF78(index, &state->unkF);
+ const u8 *str = GetMatchCallMessageText(index, &state->unkF);
u8 speed = GetPlayerTextSpeedDelay();
- AddTextPrinterParameterized(state->unk14, 1, str, 32, 1, speed, NULL);
+ AddTextPrinterParameterized(state->msgBoxWindowId, 1, str, 32, 1, speed, NULL);
}
-static bool32 sub_81CC194(struct Pokenav4Struct *state)
+static bool32 WaitForMatchCallMessageText(struct Pokenav4Struct *state)
{
if (gMain.heldKeys & A_BUTTON)
gTextFlags.canABSpeedUpPrint = 1;
@@ -1136,19 +1132,19 @@ static bool32 sub_81CC194(struct Pokenav4Struct *state)
gTextFlags.canABSpeedUpPrint = 0;
RunTextPrinters();
- return IsTextPrinterActive(state->unk14);
+ return IsTextPrinterActive(state->msgBoxWindowId);
}
-static void sub_81CC1DC(struct Pokenav4Struct *state)
+static void DrawSpinningPokenavForCall(struct Pokenav4Struct *state)
{
ResumeSpinningPokenavSprite();
FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20);
CopyBgTilemapBufferToVram(1);
}
-static bool32 sub_81CC204(struct Pokenav4Struct *state)
+static bool32 WaitForSpinningPokenav(struct Pokenav4Struct *state)
{
- return IsDma3ManagerBusyWithBgCopy();
+ return IsDma3ManagerBusyWithBgCopy();
}
static void sub_81CC214(void)
@@ -1162,24 +1158,24 @@ static void sub_81CC214(void)
LoadCompressedSpriteSheet(&gUnknown_08622810[i]);
Pokenav_AllocAndLoadPalettes(gUnknown_08622818);
- state->unk1C = NULL;
+ state->optionsCursorSprite = NULL;
spriteSheet.data = state->unk1828;
spriteSheet.size = 0x800;
spriteSheet.tag = 8;
state->unk1824 = (u8 *)OBJ_VRAM0 + LoadSpriteSheet(&spriteSheet) * 0x20;
paletteNum = AllocSpritePalette(13);
state->unk1A = 0x100 + paletteNum * 0x10;
- state->unk20 = sub_81CC370();
- state->unk20->invisible = 1;
+ state->trainerPicSprite = CreateTrainerPicSprite();
+ state->trainerPicSprite->invisible = TRUE;
}
static void sub_81CC2B4(void)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
- if (state->unk1C)
- DestroySprite(state->unk1C);
- if (state->unk20)
- DestroySprite(state->unk20);
+ if (state->optionsCursorSprite)
+ DestroySprite(state->optionsCursorSprite);
+ if (state->trainerPicSprite)
+ DestroySprite(state->trainerPicSprite);
FreeSpriteTilesByTag(8);
FreeSpriteTilesByTag(7);
@@ -1189,26 +1185,26 @@ static void sub_81CC2B4(void)
static void sub_81CC2F0(struct Pokenav4Struct *state, int top)
{
- if (!state->unk1C)
+ if (!state->optionsCursorSprite)
{
- u8 spriteId = CreateSprite(&gUnknown_08622830, 4, 80, 5);
- state->unk1C = &gSprites[spriteId];
- sub_81CC344(state, top);
+ u8 spriteId = CreateSprite(&sOptionsCursorSpriteTemplate, 4, 80, 5);
+ state->optionsCursorSprite = &gSprites[spriteId];
+ UpdateCursorGfxPos(state, top);
}
}
-static void sub_81CC330(struct Pokenav4Struct *state)
+static void CloseMatchCallSelectOptionsWindow(struct Pokenav4Struct *state)
{
- DestroySprite(state->unk1C);
- state->unk1C = NULL;
+ DestroySprite(state->optionsCursorSprite);
+ state->optionsCursorSprite = NULL;
}
-static void sub_81CC344(struct Pokenav4Struct *state, int top)
+static void UpdateCursorGfxPos(struct Pokenav4Struct *state, int top)
{
- state->unk1C->pos2.y = top * 16;
+ state->optionsCursorSprite->pos2.y = top * 16;
}
-void sub_81CC34C(struct Sprite *sprite)
+void SpriteCB_OptionsCursor(struct Sprite *sprite)
{
if (++sprite->data[0] > 3)
{
@@ -1217,39 +1213,39 @@ void sub_81CC34C(struct Sprite *sprite)
}
}
-static struct Sprite *sub_81CC370(void)
+static struct Sprite *CreateTrainerPicSprite(void)
{
- u8 spriteId = CreateSprite(&gUnknown_08622850, 44, 104, 6);
+ u8 spriteId = CreateSprite(&sTrainerPicSpriteTemplate, 44, 104, 6);
return &gSprites[spriteId];
}
-static void sub_81CC39C(struct Pokenav4Struct *state)
+static void LoadCheckPageTrainerPic(struct Pokenav4Struct *state)
{
u16 cursor;
- int trainerId = sub_81CAF04(GetSelectedMatchCall());
- if (trainerId >= 0)
+ int trainerPic = GetMatchCallTrainerPic(GetSelectedMatchCall());
+ if (trainerPic >= 0)
{
- DecompressPicFromTable(&gTrainerFrontPicTable[trainerId], state->unk1828, SPECIES_NONE);
- LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerId].data, state->unk2028);
+ DecompressPicFromTable(&gTrainerFrontPicTable[trainerPic], state->unk1828, SPECIES_NONE);
+ LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerPic].data, state->unk2028);
cursor = RequestDma3Copy(state->unk1828, state->unk1824, 0x800, 1);
LoadPalette(state->unk2028, state->unk1A, 0x20);
- state->unk20->data[0] = 0;
- state->unk20->data[7] = cursor;
- state->unk20->callback = sub_81CC440;
+ state->trainerPicSprite->data[0] = 0;
+ state->trainerPicSprite->data[7] = cursor;
+ state->trainerPicSprite->callback = SpriteCB_TrainerPicSlideOnscreen;
}
}
-static void sub_81CC420(struct Pokenav4Struct *state)
+static void TrainerPicSlideOffscreen(struct Pokenav4Struct *state)
{
- state->unk20->callback = sub_81CC4A4;
+ state->trainerPicSprite->callback = SpriteCB_TrainerPicSlideOffscreen;
}
-static bool32 sub_81CC42C(struct Pokenav4Struct *state)
+static bool32 WaitForTrainerPic(struct Pokenav4Struct *state)
{
- return state->unk20->callback != SpriteCallbackDummy;
+ return state->trainerPicSprite->callback != SpriteCallbackDummy;
}
-static void sub_81CC440(struct Sprite *sprite)
+static void SpriteCB_TrainerPicSlideOnscreen(struct Sprite *sprite)
{
switch (sprite->data[0])
{
@@ -1257,7 +1253,7 @@ static void sub_81CC440(struct Sprite *sprite)
if (CheckForSpaceForDma3Request(sprite->data[7]) != -1)
{
sprite->pos2.x = -80;
- sprite->invisible = 0;
+ sprite->invisible = FALSE;
sprite->data[0]++;
}
break;
@@ -1272,12 +1268,12 @@ static void sub_81CC440(struct Sprite *sprite)
}
}
-static void sub_81CC4A4(struct Sprite *sprite)
+static void SpriteCB_TrainerPicSlideOffscreen(struct Sprite *sprite)
{
sprite->pos2.x -= 8;
if (sprite->pos2.x <= -80)
{
- sprite->invisible = 1;
+ sprite->invisible = TRUE;
sprite->callback = SpriteCallbackDummy;
}
}
diff --git a/src/pokenav_unk_5.c b/src/pokenav_unk_5.c
index 03ac05d4d..be30ca94d 100755
--- a/src/pokenav_unk_5.c
+++ b/src/pokenav_unk_5.c
@@ -144,9 +144,9 @@ const struct WindowTemplate gUnknown_08623110 =
const struct OamData gUnknown_086231C8 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .bpp = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.size = SPRITE_SIZE(32x8),
@@ -401,10 +401,10 @@ u32 sub_81CC878(s32 taskState)
if (sub_8123514() || sub_81CCC88())
return 2;
- sub_81C7BA4(1);
+ PrintHelpBarText(HELPBAR_MAP_ZOOMED_OUT);
return 0;
case 2:
- if (IsDma3ManagerBusyWithBgCopy_())
+ if (WaitForHelpBar())
return 2;
sub_81C7E14(4);
@@ -434,10 +434,10 @@ u32 sub_81CC8D8(s32 taskState)
if (sub_8123514() || sub_81CCC88())
return 2;
- sub_81C7BA4(2);
+ PrintHelpBarText(HELPBAR_MAP_ZOOMED_IN);
return 0;
case 3:
- if (IsDma3ManagerBusyWithBgCopy_())
+ if (WaitForHelpBar())
return 2;
sub_81C7E14(5);
diff --git a/src/pokenav_unk_6.c b/src/pokenav_unk_6.c
index ac8237793..4c93c0d41 100644
--- a/src/pokenav_unk_6.c
+++ b/src/pokenav_unk_6.c
@@ -463,14 +463,14 @@ void sub_81CD970(void)
{
unkPtr->unk4[count].boxId = TOTAL_BOXES_COUNT;
unkPtr->unk4[count].monId = i;
- unkPtr->unk4[count].unk6 = 0;
+ unkPtr->unk4[count].data = 0;
count++;
}
}
unkPtr->unk4[count].boxId = 0;
unkPtr->unk4[count].monId = 0;
- unkPtr->unk4[count].unk6 = 0;
+ unkPtr->unk4[count].data = 0;
unkPtr->unk2 = 0;
unkPtr->unk0 = count + 1;
structPtr->unk678A = 0;
@@ -597,7 +597,7 @@ u8 *sub_81CDD24(u8 id)
u16 sub_81CDD48(void)
{
struct PokenavSub18 *unkPtr = GetSubstructPtr(18);
- return unkPtr->unk4[unkPtr->unk2].unk6;
+ return unkPtr->unk4[unkPtr->unk2].data;
}
bool32 sub_81CDD5C(void)
diff --git a/src/pokenav_unk_7.c b/src/pokenav_unk_7.c
index 34432a077..11fdaa425 100644
--- a/src/pokenav_unk_7.c
+++ b/src/pokenav_unk_7.c
@@ -195,8 +195,8 @@ u32 sub_81CDE94(s32 state)
{
case 0:
if (sub_81CD3C4() != TRUE)
- return 2;
- return 0;
+ return LT_PAUSE;
+ return LT_INC_AND_PAUSE;
case 1:
InitBgTemplates(gUnknown_08623358, ARRAY_COUNT(gUnknown_08623358));
ChangeBgX(1, 0, 0);
@@ -209,15 +209,15 @@ u32 sub_81CDE94(s32 state)
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
decompress_and_copy_tile_data_to_vram(3, gPokenavCondition_Gfx, 0, 0, 0);
- return 0;
+ return LT_INC_AND_PAUSE;
case 2:
if (free_temp_tile_data_buffers_if_possible())
- return 2;
+ return LT_PAUSE;
decompress_and_copy_tile_data_to_vram(2, gUnknown_08623228, 0, 0, 0);
- return 0;
+ return LT_INC_AND_PAUSE;
case 3:
if (free_temp_tile_data_buffers_if_possible())
- return 2;
+ return LT_PAUSE;
LZ77UnCompVram(gPokenavCondition_Tilemap, structPtr->tilemapBuffers[0]);
SetBgTilemapBuffer(3, structPtr->tilemapBuffers[0]);
@@ -228,26 +228,26 @@ u32 sub_81CDE94(s32 state)
CopyPaletteIntoBufferUnfaded(gPokenavCondition_Pal, 0x10, 0x20);
CopyPaletteIntoBufferUnfaded(gUnknown_08623208, 0xF0, 0x20);
structPtr->unk1814 = -80;
- return 0;
+ return LT_INC_AND_PAUSE;
case 4:
if (free_temp_tile_data_buffers_if_possible())
- return 2;
+ return LT_PAUSE;
LZ77UnCompVram(gUnknown_0862323C, structPtr->tilemapBuffers[2]);
SetBgTilemapBuffer(2, structPtr->tilemapBuffers[2]);
CopyBgTilemapBufferToVram(2);
CopyPaletteIntoBufferUnfaded(gUnknown_086231E8, 0x30, 0x20);
sub_81D21DC(2);
- return 0;
+ return LT_INC_AND_PAUSE;
case 5:
sub_8199DF0(1, 0, 0, 1);
sub_8199DF0(1, 17, 1, 1);
CpuFill32(0, structPtr->tilemapBuffers[1], BG_SCREEN_SIZE);
SetBgTilemapBuffer(1, structPtr->tilemapBuffers[1]);
- return 0;
+ return LT_INC_AND_PAUSE;
case 6:
if (free_temp_tile_data_buffers_if_possible())
- return 2;
+ return LT_PAUSE;
structPtr->unk1820 = AddWindow(&gUnknown_08623364);
if (sub_81CDD5C() == TRUE)
@@ -257,29 +257,29 @@ u32 sub_81CDE94(s32 state)
structPtr->unk1823 = AddWindow(&gUnknown_0862337C);
}
DeactivateAllTextPrinters();
- return 0;
+ return LT_INC_AND_PAUSE;
case 7:
sub_81CED30(0);
- return 0;
+ return LT_INC_AND_PAUSE;
case 8:
sub_81CE9E4();
- return 0;
+ return LT_INC_AND_PAUSE;
case 9:
if (sub_81CDD5C() == TRUE)
sub_81CE934();
- return 0;
+ return LT_INC_AND_PAUSE;
case 10:
sub_81CE754(0, sub_81CDC84(), TRUE);
- return 0;
+ return LT_INC_AND_PAUSE;
case 11:
sub_81CE754(1, sub_81CDC84(), TRUE);
- return 0;
+ return LT_INC_AND_PAUSE;
case 12:
sub_81CE754(2, sub_81CDC84(), TRUE);
- return 0;
+ return LT_INC_AND_PAUSE;
case 13:
if (sub_81CE754(3, sub_81CDC84(), TRUE) != TRUE)
- return 2;
+ return LT_PAUSE;
PutWindowTilemap(structPtr->unk1820);
if (sub_81CDD5C() == TRUE)
{
@@ -287,14 +287,14 @@ u32 sub_81CDE94(s32 state)
PutWindowTilemap(structPtr->unk1822);
PutWindowTilemap(structPtr->unk1823);
}
- return 0;
+ return LT_INC_AND_PAUSE;
case 14:
ShowBg(1);
HideBg(2);
ShowBg(3);
if (sub_81CDD5C() == TRUE)
- sub_81C7BA4(4);
- return 0;
+ PrintHelpBarText(HELPBAR_CONDITION_MON_STATUS);
+ return LT_INC_AND_PAUSE;
case 15:
sub_81C7AC0(1);
if (!sub_81CDD5C())
@@ -303,25 +303,25 @@ u32 sub_81CDE94(s32 state)
sub_81C7FA0(1, TRUE, 0);
sub_81C7FA0(6, TRUE, 0);
}
- return 0;
+ return LT_INC_AND_PAUSE;
case 16:
if (IsPaletteFadeActive())
- return 2;
+ return LT_PAUSE;
if (!sub_81CDD5C() && sub_81C8010())
- return 2;
+ return LT_PAUSE;
SetVBlankCallback_(sub_81CEE44);
- return 0;
+ return LT_INC_AND_PAUSE;
case 17:
sub_81CEE90();
sub_81D20AC(sub_81CDC70());
- return 0;
+ return LT_INC_AND_PAUSE;
case 18:
if (sub_81D20BC(sub_81CDC70()))
- return 2;
- return 0;
+ return LT_PAUSE;
+ return LT_INC_AND_PAUSE;
case 19:
sub_81CEE74(TRUE);
- return 0;
+ return LT_INC_AND_PAUSE;
case 20:
if (!sub_81D3178(sub_81CDC70(), &structPtr->unk1814))
{
@@ -329,12 +329,12 @@ u32 sub_81CDE94(s32 state)
if (sub_81CDD5C() == TRUE || sub_81CDC60() != sub_81CDC50())
sub_81D3480(structPtr->unk28e0, structPtr->unk1816, sub_81CDDB0());
- return 4;
+ return LT_FINISH;
}
- return 2;
+ return LT_PAUSE;
}
- return 4;
+ return LT_FINISH;
}
u32 sub_81CE2D0(s32 state)
@@ -367,7 +367,7 @@ u32 sub_81CE2D0(s32 state)
return 1;
}
- return 4;
+ return LT_FINISH;
}
u32 sub_81CE37C(s32 state)
@@ -424,7 +424,7 @@ u32 sub_81CE37C(s32 state)
return 2;
}
- return 4;
+ return LT_FINISH;
}
u32 sub_81CE4D8(s32 state)
@@ -468,7 +468,7 @@ u32 sub_81CE4D8(s32 state)
return 2;
}
- return 4;
+ return LT_FINISH;
}
u32 sub_81CE5E4(s32 state)
@@ -506,7 +506,7 @@ u32 sub_81CE5E4(s32 state)
return 2;
}
- return 4;
+ return LT_FINISH;
}
u32 sub_81CE6BC(s32 state)
@@ -514,18 +514,18 @@ u32 sub_81CE6BC(s32 state)
switch (state)
{
case 0:
- sub_811FAA4(sub_81CDD7C(), 0xb0, 0x20);
+ sub_811FAA4(sub_81CDD7C(), 176, 32);
return 1;
case 1:
- sub_81C7BA4(5);
+ PrintHelpBarText(HELPBAR_CONDITION_MARKINGS);
return 1;
case 2:
- if (IsDma3ManagerBusyWithBgCopy_() == TRUE)
+ if (WaitForHelpBar() == TRUE)
return 2;
return 1;
}
- return 4;
+ return LT_FINISH;
}
u32 sub_81CE700(s32 state)
@@ -536,18 +536,18 @@ u32 sub_81CE700(s32 state)
sub_811FAF8();
return 1;
case 1:
- sub_81C7BA4(4);
+ PrintHelpBarText(HELPBAR_CONDITION_MON_STATUS);
return 1;
case 2:
- if (IsDma3ManagerBusyWithBgCopy_() == TRUE)
+ if (WaitForHelpBar() == TRUE)
return 2;
return 1;
}
- return 4;
+ return LT_FINISH;
}
-u8 *sub_81CE738(u8 *dst, u16 num)
+static u8 *UnusedPrintNumberString(u8 *dst, u16 num)
{
u8 *txtPtr = ConvertIntToDecimalStringN(dst, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
txtPtr = StringCopy(txtPtr, gText_Number2);
@@ -719,8 +719,8 @@ void sub_81CE9E4(void)
if (spriteId != MAX_SPRITES)
{
structPtr->unk1806[i] = spriteId;
- gSprites[spriteId].oam.shape = 1;
- gSprites[spriteId].oam.size = 2;
+ gSprites[spriteId].oam.shape = SPRITE_SHAPE(32x16);
+ gSprites[spriteId].oam.size = SPRITE_SIZE(32x16);
}
else
{
diff --git a/src/pokenav_unk_8.c b/src/pokenav_unk_8.c
index c52932a79..6c1460dd1 100644
--- a/src/pokenav_unk_8.c
+++ b/src/pokenav_unk_8.c
@@ -227,7 +227,7 @@ static s32 sub_81CF0F0(void)
{
struct PokenavSub7 * ptr = GetSubstructPtr(7);
s32 i = GetSelectedMatchCall();
- return ptr->unkPtr->unk4[i].unk6;
+ return ptr->unkPtr->unk4[i].data;
}
static u16 sub_81CF10C(void)
@@ -258,7 +258,7 @@ static u32 sub_81CF134(s32 state)
if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG))
{
item.monId = i;
- item.unk6 = GetMonData(pokemon, ptr->unk14);
+ item.data = GetMonData(pokemon, ptr->unk14);
sub_81CF2C4(ptr, &item);
}
}
@@ -290,7 +290,7 @@ static u32 sub_81CF1D8(s32 state)
{
item.boxId = boxId;
item.monId = monId;
- item.unk6 = GetBoxMonDataAt(boxId, monId, ptr->unk14);
+ item.data = GetBoxMonDataAt(boxId, monId, ptr->unk14);
sub_81CF2C4(ptr, &item);
}
boxCount++;
@@ -313,19 +313,19 @@ static u32 sub_81CF278(s32 state)
{
struct PokenavSub7 * ptr = GetSubstructPtr(7);
s32 r6 = ptr->unkPtr->unk0;
- s32 r4 = ptr->unkPtr->unk4[0].unk6;
+ s32 r4 = ptr->unkPtr->unk4[0].data;
s32 i;
- ptr->unkPtr->unk4[0].unk6 = 1;
+ ptr->unkPtr->unk4[0].data = 1;
for (i = 1; i < r6; i++)
{
- if (ptr->unkPtr->unk4[i].unk6 == r4)
+ if (ptr->unkPtr->unk4[i].data == r4)
{
- ptr->unkPtr->unk4[i].unk6 = ptr->unkPtr->unk4[i - 1].unk6;
+ ptr->unkPtr->unk4[i].data = ptr->unkPtr->unk4[i - 1].data;
}
else
{
- r4 = ptr->unkPtr->unk4[i].unk6;
- ptr->unkPtr->unk4[i].unk6 = i + 1;
+ r4 = ptr->unkPtr->unk4[i].data;
+ ptr->unkPtr->unk4[i].data = i + 1;
}
}
ptr->unk18 = 1;
@@ -340,7 +340,7 @@ static void sub_81CF2C4(struct PokenavSub7 *structPtr, struct PokenavMonList *it
while (right != insertionIdx)
{
- if (item->unk6 > structPtr->unkPtr->unk4[insertionIdx].unk6)
+ if (item->data > structPtr->unkPtr->unk4[insertionIdx].data)
right = insertionIdx;
else
left = insertionIdx + 1;
@@ -431,7 +431,7 @@ static u32 sub_81CF418(s32 state)
if (sub_81C8224())
return LT_PAUSE;
sub_81CF7C8(unk);
- sub_81C7BA4(3);
+ PrintHelpBarText(HELPBAR_CONDITION_MON_LIST);
return LT_INC_AND_PAUSE;
case 4:
if (free_temp_tile_data_buffers_if_possible())
@@ -651,8 +651,8 @@ static void sub_81CF7F4(struct PokenavSub8 * ptr)
static void sub_81CF88C(void)
{
- struct MatchCallListTemplate template;
- template.unk0 = sub_81CF0D0();
+ struct PokenavListTemplate template;
+ template.list.monList = sub_81CF0D0();
template.unk4 = sub_81CF0E0();
template.unk8 = 4;
template.unk6 = sub_81CF10C();
@@ -662,7 +662,7 @@ static void sub_81CF88C(void)
template.unkC = 8;
template.unkD = 2;
template.unkE = 1;
- template.unk10 = sub_81CF8E4;
+ template.listFunc.unk10_1 = sub_81CF8E4;
template.unk14 = NULL;
sub_81C81D4(&gUnknown_08623590[1], &template, 0);
}
diff --git a/src/pokenav_unk_9.c b/src/pokenav_unk_9.c
index 05d590a87..b1a344de9 100644
--- a/src/pokenav_unk_9.c
+++ b/src/pokenav_unk_9.c
@@ -218,7 +218,7 @@ static s32 sub_81CFB48(void)
{
struct PokenavSub9 * ptr = GetSubstructPtr(9);
s32 idx = GetSelectedMatchCall();
- return ptr->unk1C->unk4[idx].unk6;
+ return ptr->unk1C->unk4[idx].data;
}
static s32 sub_81CFB64(void)
@@ -240,7 +240,7 @@ static u32 sub_81CFB8C(s32 state)
ptr->unk1C->unk0 = 0;
ptr->unk1C->unk2 = 0;
- item.boxId = 14;
+ item.boxId = TOTAL_BOXES_COUNT;
for (i = 0; i < PARTY_SIZE; i++)
{
struct Pokemon * pokemon = &gPlayerParty[i];
@@ -252,7 +252,7 @@ static u32 sub_81CFB8C(s32 state)
if (ribbonCount != 0)
{
item.monId = i;
- item.unk6 = ribbonCount;
+ item.data = ribbonCount;
sub_81CFCEC(ptr, &item);
}
}
@@ -288,13 +288,13 @@ static u32 sub_81CFC40(s32 state)
{
item.boxId = boxId;
item.monId = monId;
- item.unk6 = ribbonCount;
+ item.data = ribbonCount;
sub_81CFCEC(ptr, &item);
}
}
boxCount++;
monId++;
- if (boxCount > 14)
+ if (boxCount > TOTAL_BOXES_COUNT)
{
ptr->unkC = boxId;
ptr->unk10 = monId;
@@ -317,7 +317,7 @@ static void sub_81CFCEC(struct PokenavSub9 *structPtr, struct PokenavMonList *it
while (right != insertionIdx)
{
- if (item->unk6 > structPtr->unk1C->unk4[insertionIdx].unk6)
+ if (item->data > structPtr->unk1C->unk4[insertionIdx].data)
right = insertionIdx;
else
left = insertionIdx + 1;
@@ -445,7 +445,7 @@ static u32 sub_81CFEB8(s32 state)
return LT_PAUSE;
ShowBg(2);
HideBg(3);
- sub_81C7BA4(9);
+ PrintHelpBarText(HELPBAR_RIBBONS_MON_LIST);
sub_81C7AC0(1);
if (!unk->unkC)
{
@@ -665,8 +665,8 @@ static void sub_81D02B0(s32 windowId, s32 val1, s32 val2)
static void sub_81D0304(void)
{
- struct MatchCallListTemplate template;
- template.unk0 = sub_81CFB28();
+ struct PokenavListTemplate template;
+ template.list.monList = sub_81CFB28();
template.unk4 = sub_81CFB38();
template.unk8 = 4;
template.unk6 = sub_81CFB64();
@@ -676,7 +676,7 @@ static void sub_81D0304(void)
template.unkC = 8;
template.unkD = 2;
template.unkE = 1;
- template.unk10 = sub_81D035C;
+ template.listFunc.unk10_1 = sub_81D035C;
template.unk14 = NULL;
sub_81C81D4(&gUnknown_086237B0[1], &template, 0);
}
@@ -688,7 +688,7 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest)
u8 * s;
const u8 * genderStr;
struct PokenavMonList * item = item0;
- if (item->boxId == 14)
+ if (item->boxId == TOTAL_BOXES_COUNT)
{
struct Pokemon * mon = &gPlayerParty[item->monId];
gender = GetMonGender(mon);
@@ -722,5 +722,5 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest)
*s++ = 5; // LV
ConvertIntToDecimalStringN(s, level, STR_CONV_MODE_LEFT_ALIGN, 3);
dest = sub_81DB494(dest, 1, gStringVar1, 54);
- ConvertIntToDecimalStringN(dest, item->unk6, STR_CONV_MODE_RIGHT_ALIGN, 2);
+ ConvertIntToDecimalStringN(dest, item->data, STR_CONV_MODE_RIGHT_ALIGN, 2);
}
diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c
index 3cbf6ecd2..4fa5d1b21 100644
--- a/src/post_battle_event_funcs.c
+++ b/src/post_battle_event_funcs.c
@@ -9,6 +9,7 @@
#include "tv.h"
#include "constants/heal_locations.h"
#include "constants/flags.h"
+#include "constants/tv.h"
int GameClear(void)
{
@@ -76,9 +77,9 @@ int GameClear(void)
}
}
- if (ribbonCounts[0].count > 4)
+ if (ribbonCounts[0].count > NUM_CUTIES_RIBBONS)
{
- sub_80EE4DC(&gPlayerParty[ribbonCounts[0].partyIndex], MON_DATA_CHAMPION_RIBBON);
+ TryPutSpotTheCutiesOnAir(&gPlayerParty[ribbonCounts[0].partyIndex], MON_DATA_CHAMPION_RIBBON);
}
}
@@ -86,7 +87,7 @@ int GameClear(void)
return 0;
}
-bool8 sp0C8_whiteout_maybe(void)
+bool8 SetCB2WhiteOut(void)
{
SetMainCallback2(CB2_WhiteOut);
return FALSE;
diff --git a/src/psychic.c b/src/psychic.c
index 6f808b547..656608740 100644
--- a/src/psychic.c
+++ b/src/psychic.c
@@ -45,18 +45,18 @@ const struct SpriteTemplate gUnknown_08596548 =
{
.tileTag = ANIM_TAG_SPIRAL,
.paletteTag = ANIM_TAG_SPIRAL,
- .oam = &gUnknown_08524A9C,
+ .oam = &gOamData_AffineNormal_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596544,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
const struct SpriteTemplate gUnknown_08596560 =
{
.tileTag = ANIM_TAG_GREEN_LIGHT_WALL,
.paletteTag = ANIM_TAG_GREEN_LIGHT_WALL,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -67,7 +67,7 @@ const struct SpriteTemplate gUnknown_08596578 =
{
.tileTag = ANIM_TAG_BLUE_LIGHT_WALL,
.paletteTag = ANIM_TAG_BLUE_LIGHT_WALL,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -78,7 +78,7 @@ const struct SpriteTemplate gUnknown_08596590 =
{
.tileTag = ANIM_TAG_RED_LIGHT_WALL,
.paletteTag = ANIM_TAG_RED_LIGHT_WALL,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -89,7 +89,7 @@ const struct SpriteTemplate gUnknown_085965A8 =
{
.tileTag = ANIM_TAG_GRAY_LIGHT_WALL,
.paletteTag = ANIM_TAG_GRAY_LIGHT_WALL,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -100,7 +100,7 @@ const struct SpriteTemplate gUnknown_085965C0 =
{
.tileTag = ANIM_TAG_ORANGE_LIGHT_WALL,
.paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL,
- .oam = &gUnknown_08524A3C,
+ .oam = &gOamData_AffineOff_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -126,7 +126,7 @@ const struct SpriteTemplate gUnknown_085965F4 =
{
.tileTag = ANIM_TAG_SPARKLE_4,
.paletteTag = ANIM_TAG_SPARKLE_4,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085965F0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -151,7 +151,7 @@ const struct SpriteTemplate gUnknown_08596624 =
{
.tileTag = ANIM_TAG_SPARKLE_3,
.paletteTag = ANIM_TAG_SPARKLE_3,
- .oam = &gUnknown_0852490C,
+ .oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gUnknown_08596620,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -162,7 +162,7 @@ const struct SpriteTemplate gUnknown_0859663C =
{
.tileTag = ANIM_TAG_GOLD_RING,
.paletteTag = ANIM_TAG_GOLD_RING,
- .oam = &gUnknown_08524954,
+ .oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -219,7 +219,7 @@ const struct SpriteTemplate gUnknown_085966DC =
{
.tileTag = ANIM_TAG_BENT_SPOON,
.paletteTag = ANIM_TAG_BENT_SPOON,
- .oam = &gUnknown_08524954,
+ .oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_085966D4,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -261,7 +261,7 @@ const struct SpriteTemplate gUnknown_08596744 =
{
.tileTag = ANIM_TAG_AMNESIA,
.paletteTag = ANIM_TAG_AMNESIA,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596714,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -287,7 +287,7 @@ const struct SpriteTemplate gUnknown_08596794 =
{
.tileTag = ANIM_TAG_HOLLOW_ORB,
.paletteTag = ANIM_TAG_HOLLOW_ORB,
- .oam = &gUnknown_08524A2C,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -298,7 +298,7 @@ const struct SpriteTemplate gUnknown_085967AC =
{
.tileTag = 10250,
.paletteTag = 10250,
- .oam = &gUnknown_0852491C,
+ .oam = &gOamData_AffineOff_ObjNormal_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -351,7 +351,7 @@ const struct SpriteTemplate gUnknown_08596864 =
{
.tileTag = ANIM_TAG_BLUEGREEN_ORB,
.paletteTag = ANIM_TAG_BLUEGREEN_ORB,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596854,
@@ -374,11 +374,11 @@ const struct SpriteTemplate gUnknown_08596898 =
{
.tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596894,
- .callback = sub_80A77C8,
+ .callback = AnimSpriteOnMonPos,
};
const union AffineAnimCmd gUnknown_085968B0[] =
@@ -412,7 +412,7 @@ const struct SpriteTemplate gUnknown_08596920 =
{
.tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
.paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
- .oam = &gUnknown_08524AFC,
+ .oam = &gOamData_AffineDouble_ObjBlend_64x64,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596918,
@@ -659,7 +659,7 @@ void sub_810F6B0(struct Sprite *sprite)
static void sub_810F740(struct Sprite *sprite)
{
- sprite->oam.affineMode = 1;
+ sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL;
sprite->affineAnims = gUnknown_08596740;
sprite->data[0] = 0;
InitSpriteAffineAnim(sprite);
@@ -674,7 +674,7 @@ static void sub_810F774(struct Sprite *sprite)
if (sprite->affineAnimEnded)
{
FreeOamMatrix(sprite->oam.matrixNum);
- sprite->oam.affineMode = 0;
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
sprite->data[1] = 18;
sprite->data[0]++;
}
diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c
index fc2860797..cef7f4cdd 100644
--- a/src/rayquaza_scene.c
+++ b/src/rayquaza_scene.c
@@ -5,7 +5,7 @@
#include "graphics.h"
#include "bg.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "palette.h"
#include "scanline_effect.h"
#include "menu.h"
@@ -101,10 +101,10 @@ static const TaskFunc sTasksForAnimations[] =
static const struct OamData sOamData_862A6BC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -118,10 +118,10 @@ static const struct OamData sOamData_862A6BC =
static const struct OamData sOamData_862A6C4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -135,10 +135,10 @@ static const struct OamData sOamData_862A6C4 =
static const struct OamData sOamData_862A6CC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -152,10 +152,10 @@ static const struct OamData sOamData_862A6CC =
static const struct OamData sOamData_862A6D4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.matrixNum = 0,
@@ -169,10 +169,10 @@ static const struct OamData sOamData_862A6D4 =
static const struct OamData sOamData_862A6DC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x8),
.x = 0,
.matrixNum = 0,
@@ -186,10 +186,10 @@ static const struct OamData sOamData_862A6DC =
static const struct OamData sOamData_862A6E4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x32),
.x = 0,
.matrixNum = 0,
@@ -203,10 +203,10 @@ static const struct OamData sOamData_862A6E4 =
static const struct OamData sOamData_862A6EC =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -220,10 +220,10 @@ static const struct OamData sOamData_862A6EC =
static const struct OamData sOamData_862A6F4 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
@@ -2045,8 +2045,8 @@ static void sub_81D81A4(u8 taskId)
(sUnknown_0862AAB8[data[0]][1] * 4) + 80,
0);
gSprites[spriteId].data[0] = (s8)(data[0]);
- gSprites[spriteId].oam.objMode = 1;
- gSprites[spriteId].oam.affineMode = 3;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
gSprites[spriteId].oam.priority = 2;
InitSpriteAffineAnim(&gSprites[spriteId]);
if (data[0] == 9)
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 32e0404b9..f290c8554 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "random.h"
#include "constants/items.h"
#include "text.h"
@@ -69,7 +69,7 @@ struct PlayerRecordsEmerald
/* 0x1124 */ struct EmeraldBattleTowerRecord battleTowerRecord;
/* 0x1210 */ u16 giftItem;
/* 0x1214 */ LilycoveLady lilycoveLady;
- /* 0x1254 */ struct Apprentice apprentice[2];
+ /* 0x1254 */ struct Apprentice apprentices[2];
/* 0x12dc */ struct PlayerHallRecords hallRecords;
/* 0x1434 */ u8 field_1434[0x10];
}; // 0x1444
@@ -120,8 +120,8 @@ static void sub_80E7B2C(const u8 *);
static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *, size_t, u8, TVShow *);
static void ReceiveGiftItem(u16 *item, u8 which);
static void Task_DoRecordMixing(u8 taskId);
-static void sub_80E8110(struct Apprentice *arg0, struct Apprentice *arg1);
-static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2);
+static void GetSavedApprentices(struct Apprentice *dst, struct Apprentice *src);
+static void ReceiveApprenticeData(struct Apprentice *mixApprentice, size_t recordSize, u32 multiplayerId);
static void ReceiveRankingHallRecords(struct PlayerHallRecords *hallRecords, size_t arg1, u32 arg2);
static void sub_80E89F8(struct RecordMixingDayCareMail *dst);
static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src);
@@ -252,7 +252,7 @@ static void PrepareExchangePacket(void)
if (GetMultiplayerId() == 0)
sSentRecord->emerald.giftItem = GetRecordMixingGift();
- sub_80E8110(sSentRecord->emerald.apprentice, sApprenticesSave);
+ GetSavedApprentices(sSentRecord->emerald.apprentices, sApprenticesSave);
GetPlayerHallRecords(&sSentRecord->emerald.hallRecords);
}
}
@@ -285,7 +285,7 @@ static void ReceiveExchangePacket(u32 which)
ReceiveBattleTowerData(&sReceivedRecords->emerald.battleTowerRecord, sizeof(struct PlayerRecordsEmerald), which);
ReceiveGiftItem(&sReceivedRecords->emerald.giftItem, which);
ReceiveLilycoveLadyData(&sReceivedRecords->emerald.lilycoveLady, sizeof(struct PlayerRecordsEmerald), which);
- ReceiveApprenticeData(sReceivedRecords->emerald.apprentice, sizeof(struct PlayerRecordsEmerald), (u8) which);
+ ReceiveApprenticeData(sReceivedRecords->emerald.apprentices, sizeof(struct PlayerRecordsEmerald), (u8) which);
ReceiveRankingHallRecords(&sReceivedRecords->emerald.hallRecords, sizeof(struct PlayerRecordsEmerald), (u8) which);
}
}
@@ -369,7 +369,7 @@ static void Task_RecordMixing_Main(u8 taskId)
sub_808729C();
if (gWirelessCommType != 0)
{
- CreateTask(sub_80AF2B4, 10);
+ CreateTask(Task_ReturnToFieldRecordMixing, 10);
}
ClearDialogWindowAndFrame(0, 1);
DestroyTask(taskId);
@@ -631,7 +631,7 @@ static void ReceiveOldManData(OldMan *oldMan, size_t recordSize, u8 which)
u8 version;
u16 language;
OldMan *dest;
- u32 mixIndices[4];
+ u32 mixIndices[MAX_LINK_PLAYERS];
ShufflePlayerIndices(mixIndices);
dest = (void *)oldMan + recordSize * mixIndices[which];
@@ -651,7 +651,7 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u
{
struct EmeraldBattleTowerRecord *dest;
struct BattleTowerPokemon *btPokemon;
- u32 mixIndices[4];
+ u32 mixIndices[MAX_LINK_PLAYERS];
s32 i;
ShufflePlayerIndices(mixIndices);
@@ -682,7 +682,7 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u
static void ReceiveLilycoveLadyData(LilycoveLady *lilycoveLady, size_t recordSize, u8 which)
{
LilycoveLady *dest;
- u32 mixIndices[4];
+ u32 mixIndices[MAX_LINK_PLAYERS];
ShufflePlayerIndices(mixIndices);
memcpy((void *)lilycoveLady + recordSize * which, sLilycoveLadySave, sizeof(LilycoveLady));
@@ -1018,57 +1018,59 @@ static void Task_DoRecordMixing(u8 taskId)
// New Emerald functions
-static void sub_80E8110(struct Apprentice *dst, struct Apprentice *src)
+static void GetSavedApprentices(struct Apprentice *dst, struct Apprentice *src)
{
s32 i, id;
- s32 var_2C, var_28, var_24, r8;
+ s32 apprenticeSaveId, oldPlayerApprenticeSaveId;
+ s32 numOldPlayerApprentices, numMixApprentices;
dst[0].playerName[0] = EOS;
dst[1].playerName[0] = EOS;
dst[0] = src[0];
- var_28 = 0;
- var_24 = 0;
- var_2C = 0;
- r8 = 0;
+ oldPlayerApprenticeSaveId = 0;
+ numOldPlayerApprentices = 0;
+ apprenticeSaveId = 0;
+ numMixApprentices = 0;
for (i = 0; i < 2; i++)
{
- id = ((i + gSaveBlock2Ptr->playerApprentice.field_B2_1) % 3) + 1;
+ id = ((i + gSaveBlock2Ptr->playerApprentice.saveId) % (APPRENTICE_COUNT - 1)) + 1;
if (src[id].playerName[0] != EOS)
{
if (GetTrainerId(src[id].playerId) != GetTrainerId(gSaveBlock2Ptr->playerTrainerId))
{
- r8++;
- var_2C = id;
+ numMixApprentices++;
+ apprenticeSaveId = id;
}
if (GetTrainerId(src[id].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId))
{
- var_24++;
- var_28 = id;
+ numOldPlayerApprentices++;
+ oldPlayerApprenticeSaveId = id;
}
}
}
- if (r8 == 0 && var_24 != 0)
+ // Prefer passing on other mixed Apprentices rather than old player's Apprentices
+ if (numMixApprentices == 0 && numOldPlayerApprentices != 0)
{
- r8 = var_24;
- var_2C = var_28;
+ numMixApprentices = numOldPlayerApprentices;
+ apprenticeSaveId = oldPlayerApprenticeSaveId;
}
- switch (r8)
+ switch (numMixApprentices)
{
case 1:
- dst[1] = src[var_2C];
+ dst[1] = src[apprenticeSaveId];
break;
case 2:
if (Random2() > 0x3333)
{
- dst[1] = src[gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1];
+ dst[1] = src[gSaveBlock2Ptr->playerApprentice.saveId + 1];
}
else
{
- dst[1] = src[((gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1) % 3 + 1)];
+ dst[1] = src[((gSaveBlock2Ptr->playerApprentice.saveId + 1) % (APPRENTICE_COUNT - 1) + 1)];
}
break;
}
@@ -1092,9 +1094,9 @@ void GetPlayerHallRecords(struct PlayerHallRecords *dst)
{
dst->twoPlayers[j].language = GAME_LANGUAGE;
CopyTrainerId(dst->twoPlayers[j].id1, gSaveBlock2Ptr->playerTrainerId);
- CopyTrainerId(dst->twoPlayers[j].id2, gSaveBlock2Ptr->frontier.field_EF1[j]);
+ CopyTrainerId(dst->twoPlayers[j].id2, gSaveBlock2Ptr->frontier.opponentTrainerIds[j]);
StringCopy(dst->twoPlayers[j].name1, gSaveBlock2Ptr->playerName);
- StringCopy(dst->twoPlayers[j].name2, gSaveBlock2Ptr->frontier.opponentName[j]);
+ StringCopy(dst->twoPlayers[j].name2, gSaveBlock2Ptr->frontier.opponentNames[j]);
}
for (i = 0; i < 2; i++)
@@ -1113,14 +1115,14 @@ void GetPlayerHallRecords(struct PlayerHallRecords *dst)
}
}
-static bool32 sub_80E841C(struct Apprentice *arg0, struct Apprentice *arg1)
+static bool32 IsApprenticeAlreadySaved(struct Apprentice *mixApprentice, struct Apprentice *apprentices)
{
s32 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < APPRENTICE_COUNT; i++)
{
- if (GetTrainerId(arg0->playerId) == GetTrainerId(arg1[i].playerId)
- && arg0->number == arg1[i].number)
+ if (GetTrainerId(mixApprentice->playerId) == GetTrainerId(apprentices[i].playerId)
+ && mixApprentice->number == apprentices[i].number)
{
return TRUE;
}
@@ -1129,40 +1131,40 @@ static bool32 sub_80E841C(struct Apprentice *arg0, struct Apprentice *arg1)
return FALSE;
}
-static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2)
+static void ReceiveApprenticeData(struct Apprentice *mixApprentice, size_t recordSize, u32 multiplayerId)
{
- s32 i, r7, r8;
- struct Apprentice *structPtr;
- u32 mixIndices[4];
- u32 structId;
+ s32 i, numApprentices, apprenticeId;
+ struct Apprentice *mixApprenticePtr;
+ u32 mixIndices[MAX_LINK_PLAYERS];
+ u32 apprenticeSaveId;
ShufflePlayerIndices(mixIndices);
- structPtr = (void*)(arg0) + (arg1 * mixIndices[arg2]);
- r7 = 0;
- r8 = 0;
+ mixApprenticePtr = (void*)(mixApprentice) + (recordSize * mixIndices[multiplayerId]);
+ numApprentices = 0;
+ apprenticeId = 0;
for (i = 0; i < 2; i++)
{
- if (structPtr[i].playerName[0] != EOS && !sub_80E841C(&structPtr[i], &gSaveBlock2Ptr->apprentices[0]))
+ if (mixApprenticePtr[i].playerName[0] != EOS && !IsApprenticeAlreadySaved(&mixApprenticePtr[i], &gSaveBlock2Ptr->apprentices[0]))
{
- r7++;
- r8 = i;
+ numApprentices++;
+ apprenticeId = i;
}
}
- switch (r7)
+ switch (numApprentices)
{
case 1:
- structId = gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1;
- gSaveBlock2Ptr->apprentices[structId] = structPtr[r8];
- gSaveBlock2Ptr->playerApprentice.field_B2_1 = (gSaveBlock2Ptr->playerApprentice.field_B2_1 + 1) % 3;
+ apprenticeSaveId = gSaveBlock2Ptr->playerApprentice.saveId + 1;
+ gSaveBlock2Ptr->apprentices[apprenticeSaveId] = mixApprenticePtr[apprenticeId];
+ gSaveBlock2Ptr->playerApprentice.saveId = (gSaveBlock2Ptr->playerApprentice.saveId + 1) % (APPRENTICE_COUNT - 1);
break;
case 2:
for (i = 0; i < 2; i++)
{
- structId = ((i ^ 1) + gSaveBlock2Ptr->playerApprentice.field_B2_1) % 3 + 1;
- gSaveBlock2Ptr->apprentices[structId] = structPtr[i];
+ apprenticeSaveId = ((i ^ 1) + gSaveBlock2Ptr->playerApprentice.saveId) % (APPRENTICE_COUNT - 1) + 1;
+ gSaveBlock2Ptr->apprentices[apprenticeSaveId] = mixApprenticePtr[i];
}
- gSaveBlock2Ptr->playerApprentice.field_B2_1 = (gSaveBlock2Ptr->playerApprentice.field_B2_1 + 2) % 3;
+ gSaveBlock2Ptr->playerApprentice.saveId = (gSaveBlock2Ptr->playerApprentice.saveId + 2) % (APPRENTICE_COUNT - 1);
break;
}
}
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index 9e03d57f6..5a0579f70 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -10,7 +10,7 @@
#include "string_util.h"
#include "palette.h"
#include "save.h"
-#include "alloc.h"
+#include "malloc.h"
#include "util.h"
#include "task.h"
#include "text.h"
@@ -37,8 +37,8 @@ struct PlayerInfo
struct MovePp
{
- u16 moves[4];
- u8 pp[4];
+ u16 moves[MAX_MON_MOVES];
+ u8 pp[MAX_MON_MOVES];
};
struct RecordedBattleSave
@@ -91,7 +91,7 @@ EWRAM_DATA static u32 sBattleFlags = 0;
EWRAM_DATA static u32 sAI_Scripts = 0;
EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0};
EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0};
-EWRAM_DATA static u16 sPlayerMonMoves[2][4] = {0};
+EWRAM_DATA static u16 sPlayerMonMoves[2][MAX_MON_MOVES] = {0};
EWRAM_DATA static struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA static u8 sUnknown_0203CCD0 = 0;
EWRAM_DATA static u8 sRecordMixFriendName[PLAYER_NAME_LENGTH + 1] = {0};
@@ -323,7 +323,7 @@ static bool32 RecordedBattleToSave(struct RecordedBattleSave *battleSave, struct
saveSection->checksum = CalcByteArraySum((void*)(saveSection), sizeof(*saveSection) - 4);
- if (TryWriteSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveSection)) != 1)
+ if (TryWriteSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveSection)) != SAVE_STATUS_OK)
return FALSE;
else
return TRUE;
@@ -334,9 +334,9 @@ bool32 MoveRecordedBattleToSaveData(void)
s32 i, j;
bool32 ret;
struct RecordedBattleSave *battleSave, *savSection;
- u8 var;
+ u8 saveAttempts;
- var = 0;
+ saveAttempts = 0;
battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
savSection = AllocZeroed(0x1000);
@@ -409,12 +409,12 @@ bool32 MoveRecordedBattleToSaveData(void)
if (sBattleOutcome == B_OUTCOME_WON)
{
- for (i = 0; i < 6; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechLost[i];
}
else
{
- for (i = 0; i < 6; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechWon[i];
}
battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].language;
@@ -427,12 +427,12 @@ bool32 MoveRecordedBattleToSaveData(void)
if (sBattleOutcome == B_OUTCOME_WON)
{
- for (i = 0; i < 6; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechLost[i];
}
else
{
- for (i = 0; i < 6; i++)
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechWon[i];
}
battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].language;
@@ -449,15 +449,15 @@ bool32 MoveRecordedBattleToSaveData(void)
if (gTrainerBattleOpponent_A >= TRAINER_RECORD_MIXING_APPRENTICE)
{
battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].id;
- for (i = 0; i < 6; i++)
- battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i];
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].speechWon[i];
battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].language;
}
else if (gTrainerBattleOpponent_B >= TRAINER_RECORD_MIXING_APPRENTICE)
{
battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].id;
- for (i = 0; i < 6; i++)
- battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i];
+ for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].speechWon[i];
battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].language;
}
else if (gPartnerTrainerId >= TRAINER_RECORD_MIXING_APPRENTICE)
@@ -480,8 +480,8 @@ bool32 MoveRecordedBattleToSaveData(void)
ret = RecordedBattleToSave(battleSave, savSection);
if (ret == TRUE)
break;
- var++;
- if (var >= 3)
+ saveAttempts++;
+ if (saveAttempts >= 3)
break;
}
@@ -492,7 +492,7 @@ bool32 MoveRecordedBattleToSaveData(void)
static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSection *saveBuffer)
{
- if (TryReadSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1)
+ if (TryReadSpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != SAVE_STATUS_OK)
return FALSE;
memcpy(dst, saveBuffer, sizeof(struct RecordedBattleSave));
@@ -766,11 +766,11 @@ void sub_818603C(u8 arg0)
{
if (sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == ACTION_MOVE_CHANGE)
{
- u8 ppBonuses[4];
- u8 array1[4];
- u8 array2[4];
+ u8 ppBonuses[MAX_MON_MOVES];
+ u8 array1[MAX_MON_MOVES];
+ u8 array2[MAX_MON_MOVES];
struct MovePp movePp;
- u8 array3[8];
+ u8 array3[(MAX_MON_MOVES * 2)];
u8 var;
RecordedBattle_GetBattlerAction(battlerId);
diff --git a/src/region_map.c b/src/region_map.c
index a98964e5c..5694d4c7a 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -2,7 +2,7 @@
#include "main.h"
#include "text.h"
#include "menu.h"
-#include "alloc.h"
+#include "malloc.h"
#include "gpu_regs.h"
#include "palette.h"
#include "party_menu.h"
@@ -24,6 +24,7 @@
#include "region_map.h"
#include "constants/region_map_sections.h"
#include "heal_location.h"
+#include "constants/field_specials.h"
#include "constants/heal_locations.h"
#include "constants/map_types.h"
#include "constants/rgb.h"
@@ -54,7 +55,7 @@ static EWRAM_DATA struct {
/*0x008*/ struct RegionMap regionMap;
/*0x88c*/ u8 unk_88c[0x1c0];
/*0xa4c*/ u8 unk_a4c[0x26];
- /*0xa72*/ bool8 unk_a72;
+ /*0xa72*/ bool8 choseFlyLocation;
} *sFlyMap = NULL; // a74
static bool32 gUnknown_03001180;
@@ -996,7 +997,7 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void)
break;
case MAP_TYPE_UNDERGROUND:
case MAP_TYPE_UNUSED_2:
- if (gMapHeader.flags & 0x02)
+ if (gMapHeader.flags & MAP_ALLOW_ESCAPE_ROPE)
{
mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->escapeWarp.mapGroup, gSaveBlock1Ptr->escapeWarp.mapNum);
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
@@ -1144,20 +1145,20 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void)
x = 0;
switch (GetSSTidalLocation(&mapGroup, &mapNum, &xOnMap, &yOnMap))
{
- case 1:
+ case SS_TIDAL_LOCATION_SLATEPORT:
gRegionMap->mapSecId = MAPSEC_SLATEPORT_CITY;
break;
- case 2:
+ case SS_TIDAL_LOCATION_LILYCOVE:
gRegionMap->mapSecId = MAPSEC_LILYCOVE_CITY;
break;
- case 3:
+ case SS_TIDAL_LOCATION_ROUTE124:
gRegionMap->mapSecId = MAPSEC_ROUTE_124;
break;
- case 4:
+ case SS_TIDAL_LOCATION_ROUTE131:
gRegionMap->mapSecId = MAPSEC_ROUTE_131;
break;
default:
- case 0:
+ case SS_TIDAL_LOCATION_CURRENTS:
mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
@@ -1258,7 +1259,7 @@ static u16 RegionMap_GetTerraCaveMapSecId(void)
{
s16 idx;
- idx = VarGet(VAR_UNUSUAL_WEATHER_LOCATION) - 1;
+ idx = VarGet(VAR_ABNORMAL_WEATHER_LOCATION) - 1;
if (idx < 0 || idx > 15)
{
idx = 0;
@@ -1270,7 +1271,7 @@ static void RegionMap_GetMarineCaveCoords(u16 *x, u16 *y)
{
u16 idx;
- idx = VarGet(VAR_UNUSUAL_WEATHER_LOCATION);
+ idx = VarGet(VAR_ABNORMAL_WEATHER_LOCATION);
if (idx < 9 || idx > 16)
{
idx = 9;
@@ -1415,14 +1416,14 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag)
gRegionMap->cursorSprite = &gSprites[spriteId];
if (gRegionMap->zoomed == TRUE)
{
- gRegionMap->cursorSprite->oam.size = 2;
+ gRegionMap->cursorSprite->oam.size = SPRITE_SIZE(32x32);
gRegionMap->cursorSprite->pos1.x -= 8;
gRegionMap->cursorSprite->pos1.y -= 8;
StartSpriteAnim(gRegionMap->cursorSprite, 1);
}
else
{
- gRegionMap->cursorSprite->oam.size = 1;
+ gRegionMap->cursorSprite->oam.size = SPRITE_SIZE(16x16);
gRegionMap->cursorSprite->pos1.x = 8 * gRegionMap->cursorPosX + 4;
gRegionMap->cursorSprite->pos1.y = 8 * gRegionMap->cursorPosY + 4;
}
@@ -1604,7 +1605,8 @@ u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength)
return str;
}
-u8 *sub_81245DC(u8 *dest, u16 mapSecId)
+// TODO: probably needs a better name
+u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId)
{
switch (mapSecId)
{
@@ -1625,7 +1627,7 @@ u8 *sub_8124610(u8 *dest, u16 mapSecId)
}
else
{
- return sub_81245DC(dest, mapSecId);
+ return GetMapNameGeneric(dest, mapSecId);
}
}
@@ -1861,15 +1863,15 @@ static void sub_8124AD4(void)
y = (y + MAPCURSOR_Y_MIN) * 8 + 4;
if (width == 2)
{
- shape = ST_OAM_H_RECTANGLE;
+ shape = SPRITE_SHAPE(16x8);
}
else if (height == 2)
{
- shape = ST_OAM_V_RECTANGLE;
+ shape = SPRITE_SHAPE(8x16);
}
else
{
- shape = ST_OAM_SQUARE;
+ shape = SPRITE_SHAPE(8x8);
}
spriteId = CreateSprite(&gUnknown_085A1F7C, x, y, 10);
if (spriteId != MAX_SPRITES)
@@ -1911,7 +1913,7 @@ static void sub_8124BE4(void)
spriteId = CreateSprite(&gUnknown_085A1F7C, x, y, 10);
if (spriteId != MAX_SPRITES)
{
- gSprites[spriteId].oam.size = 1;
+ gSprites[spriteId].oam.size = SPRITE_SIZE(16x16);
gSprites[spriteId].callback = sub_8124CBC;
StartSpriteAnim(&gSprites[spriteId], 6);
gSprites[spriteId].data[0] = mapSecId;
@@ -1971,13 +1973,13 @@ static void sub_8124D64(void)
if (sFlyMap->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || sFlyMap->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER)
{
m4aSongNumStart(SE_SELECT);
- sFlyMap->unk_a72 = TRUE;
+ sFlyMap->choseFlyLocation = TRUE;
sub_81248F4(sub_8124E0C);
}
break;
case INPUT_EVENT_B_BUTTON:
m4aSongNumStart(SE_SELECT);
- sFlyMap->unk_a72 = FALSE;
+ sFlyMap->choseFlyLocation = FALSE;
sub_81248F4(sub_8124E0C);
break;
}
@@ -1996,7 +1998,7 @@ static void sub_8124E0C(void)
if (!UpdatePaletteFade())
{
FreeRegionMapIconResources();
- if (sFlyMap->unk_a72)
+ if (sFlyMap->choseFlyLocation)
{
switch (sFlyMap->regionMap.mapSecId)
{
@@ -2023,11 +2025,11 @@ static void sub_8124E0C(void)
}
break;
}
- sub_80B69DC();
+ ReturnToFieldFromFlyMapSelect();
}
else
{
- SetMainCallback2(sub_81B58A8);
+ SetMainCallback2(CB2_ReturnToPartyMenuFromFlyMap);
}
if (sFlyMap != NULL)
{
diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c
index 1fe9f2279..efad640e3 100644
--- a/src/reset_rtc_screen.c
+++ b/src/reset_rtc_screen.c
@@ -105,10 +105,10 @@ static const struct ResetRtcStruct sUnknown_08510428[5] =
static const struct OamData sOamData_08510464 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(8x8),
.x = 0,
.matrixNum = 0,
@@ -300,19 +300,19 @@ static void PrintTime(u8 windowId, u8 x, u8 y, u16 days, u8 hours, u8 minutes, u
{
u8 *dest = gStringVar4;
- ConvertIntToDecimalStringN(gStringVar1, days, 1, 4);
+ ConvertIntToDecimalStringN(gStringVar1, days, STR_CONV_MODE_RIGHT_ALIGN, 4);
dest = StringCopy(dest, gStringVar1);
dest = StringCopy(dest, gText_Day);
- ConvertIntToDecimalStringN(gStringVar1, hours, 1, 3);
+ ConvertIntToDecimalStringN(gStringVar1, hours, STR_CONV_MODE_RIGHT_ALIGN, 3);
dest = StringCopy(dest, gStringVar1);
dest = StringCopy(dest, gText_Colon3);
- ConvertIntToDecimalStringN(gStringVar1, minutes, 2, 2);
+ ConvertIntToDecimalStringN(gStringVar1, minutes, STR_CONV_MODE_LEADING_ZEROS, 2);
dest = StringCopy(dest, gStringVar1);
dest = StringCopy(dest, gText_Colon3);
- ConvertIntToDecimalStringN(gStringVar1, seconds, 2, 2);
+ ConvertIntToDecimalStringN(gStringVar1, seconds, STR_CONV_MODE_LEADING_ZEROS, 2);
dest = StringCopy(dest, gStringVar1);
AddTextPrinterParameterized(windowId, 1, gStringVar4, x, y, TEXT_SPEED_FF, NULL);
@@ -559,7 +559,7 @@ static void Task_ResetRtcScreen(u8 taskId)
case 1:
if (!gPaletteFade.active)
{
- if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
+ if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT)
{
ShowMessage(gText_NoSaveFileCantSetTime);
data[0] = 5;
@@ -608,7 +608,7 @@ static void Task_ResetRtcScreen(u8 taskId)
}
break;
case 4:
- if (TrySavingData(0) == 1)
+ if (TrySavingData(SAVE_NORMAL) == SAVE_STATUS_OK)
{
ShowMessage(gText_SaveCompleted);
PlaySE(SE_PINPON);
diff --git a/src/reset_save_heap.c b/src/reset_save_heap.c
index beba742f5..577a48b0d 100644
--- a/src/reset_save_heap.c
+++ b/src/reset_save_heap.c
@@ -6,7 +6,7 @@
#include "save.h"
#include "new_game.h"
#include "overworld.h"
-#include "alloc.h"
+#include "malloc.h"
void sub_81700F8(void)
{
@@ -21,8 +21,8 @@ void sub_81700F8(void)
SetSaveBlocksPointers(sub_815355C());
ResetMenuAndMonGlobals();
Save_ResetSaveCounters();
- Save_LoadGameData(0);
- if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
+ Save_LoadGameData(SAVE_NORMAL);
+ if (gSaveFileStatus == SAVE_STATUS_EMPTY || gSaveFileStatus == SAVE_STATUS_CORRUPT)
Sav2_ClearSetDefault();
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
InitHeap(gHeap, HEAP_SIZE);
diff --git a/src/rock.c b/src/rock.c
index 6f6e20955..28566f1b7 100644
--- a/src/rock.c
+++ b/src/rock.c
@@ -59,7 +59,7 @@ const struct SpriteTemplate gUnknown_08596B04 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596AF8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -70,7 +70,7 @@ const struct SpriteTemplate gUnknown_08596B1C =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596AF8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -81,7 +81,7 @@ const struct SpriteTemplate gUnknown_08596B34 =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -105,7 +105,7 @@ const struct SpriteTemplate gUnknown_08596B70 =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
- .oam = &gUnknown_08524A8C,
+ .oam = &gOamData_AffineNormal_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gUnknown_08596B6C,
@@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_08596B88 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -127,7 +127,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 =
{
.tileTag = ANIM_TAG_FLYING_DIRT,
.paletteTag = ANIM_TAG_FLYING_DIRT,
- .oam = &gUnknown_08524934,
+ .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -136,8 +136,8 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 =
const struct Subsprite gUnknown_08596BB8[] =
{
- {.x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 0, .priority = 1},
- {.x = 16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 8, .priority = 1},
+ {.x = -16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 0, .priority = 1},
+ {.x = 16, .y = 0, .shape = SPRITE_SHAPE(32x16), .size = SPRITE_SIZE(32x16), .tileOffset = 8, .priority = 1},
};
const struct SubspriteTable gUnknown_08596BC0[] =
@@ -203,7 +203,7 @@ const struct SpriteTemplate gUnknown_08596C10 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -214,7 +214,7 @@ const struct SpriteTemplate gUnknown_08596C28 =
{
.tileTag = ANIM_TAG_MUD_SAND,
.paletteTag = ANIM_TAG_MUD_SAND,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -225,7 +225,7 @@ const struct SpriteTemplate gUnknown_08596C40 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -236,7 +236,7 @@ const struct SpriteTemplate gUnknown_08596C58 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -265,7 +265,7 @@ const struct SpriteTemplate gUnknown_08596C98 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.images = NULL,
.affineAnims = gUnknown_08596C90,
@@ -276,7 +276,7 @@ const struct SpriteTemplate gUnknown_08596CB0 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596BF8,
.images = NULL,
.affineAnims = gUnknown_08596C90,
@@ -287,7 +287,7 @@ const struct SpriteTemplate gUnknown_08596CC8 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08596C08,
.images = NULL,
.affineAnims = gUnknown_08596C90,
@@ -298,7 +298,7 @@ const struct SpriteTemplate gUnknown_08596CE0 =
{
.tileTag = ANIM_TAG_ROCKS,
.paletteTag = ANIM_TAG_ROCKS,
- .oam = &gUnknown_08524974,
+ .oam = &gOamData_AffineNormal_ObjNormal_32x32,
.anims = gUnknown_08596C00,
.images = NULL,
.affineAnims = gUnknown_08596C90,
diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c
index 42817fc2b..029696526 100644
--- a/src/rom_8034C54.c
+++ b/src/rom_8034C54.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "rom_8034C54.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "main.h"
#include "battle_main.h"
@@ -189,7 +189,7 @@ static void sub_8034EFC(struct UnkStruct2 *arg0)
oamId--;
gMain.oamBuffer[oamId].x = arg0->x - arg0->xDelta;
- gMain.oamBuffer[oamId].affineMode = 2;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE;
gMain.oamBuffer[oamId].tileNum = arg0->tileStart + (arg0->field_9 * 10);
}
@@ -244,9 +244,9 @@ static void sub_80350B0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2)
}
if (arg2)
- gMain.oamBuffer[oamId].affineMode = 0;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF;
else
- gMain.oamBuffer[oamId].affineMode = 2;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE;
}
static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2)
@@ -265,14 +265,14 @@ static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2)
if (r4 != 0 || gUnknown_03000DDC != -1 || r5 == 0)
{
gMain.oamBuffer[gUnknown_03000DD4].tileNum = (r4 * arg0->field_9) + arg0->tileStart;
- gMain.oamBuffer[gUnknown_03000DD4].affineMode = 0;
+ gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_OFF;
if (gUnknown_03000DDC == -1)
gUnknown_03000DDC = gUnknown_03000DD8;
}
else
{
- gMain.oamBuffer[gUnknown_03000DD4].affineMode = 2;
+ gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_ERASE;
}
gUnknown_03000DD4++;
@@ -281,12 +281,12 @@ static void sub_8035164(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2)
if (arg2)
{
- gMain.oamBuffer[gUnknown_03000DD4].affineMode = 0;
+ gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_OFF;
gMain.oamBuffer[gUnknown_03000DD4].x = arg0->x + ((gUnknown_03000DDC - 1) * arg0->xDelta);
}
else
{
- gMain.oamBuffer[gUnknown_03000DD4].affineMode = 2;
+ gMain.oamBuffer[gUnknown_03000DD4].affineMode = ST_OAM_AFFINE_ERASE;
}
}
@@ -307,7 +307,7 @@ static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2)
{
var_28 = 1;
gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart;
- gMain.oamBuffer[oamId].affineMode = 0;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF;
oamId++;
r9++;
@@ -316,15 +316,15 @@ static void sub_80352C0(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2)
while (r9 < arg0->oamCount)
{
- gMain.oamBuffer[oamId].affineMode = 2;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE;
oamId++;
r9++;
}
if (arg2)
- gMain.oamBuffer[oamId].affineMode = 0;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF;
else
- gMain.oamBuffer[oamId].affineMode = 2;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE;
}
void sub_80353DC(u32 id)
@@ -340,7 +340,7 @@ void sub_80353DC(u32 id)
oamId = gUnknown_02022E10->array[id].firstOamId;
for (i = 0; i < oamCount; i++, oamId++)
- gMain.oamBuffer[oamId].affineMode = 2;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE;
if (!SharesTileWithAnyActive(id))
FreeSpriteTilesByTag(gUnknown_02022E10->array[id].tileTag);
@@ -364,12 +364,12 @@ void sub_803547C(u32 id, bool32 arg1)
if (arg1)
{
for (i = 0; i < oamCount; i++, oamId++)
- gMain.oamBuffer[oamId].affineMode = 2;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE;
}
else
{
for (i = 0; i < oamCount; i++, oamId++)
- gMain.oamBuffer[oamId].affineMode = 0;
+ gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF;
sub_8035044(id, gUnknown_02022E10->array[id].field_18);
}
diff --git a/src/rom_81520A8.c b/src/rom_81520A8.c
index f06823594..f6d14d49c 100644
--- a/src/rom_81520A8.c
+++ b/src/rom_81520A8.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "rom_81520A8.h"
-#include "alloc.h"
+#include "malloc.h"
#include "main.h"
#include "rom_8034C54.h"
diff --git a/src/rotating_gate.c b/src/rotating_gate.c
index 44d291dc4..340fc58dd 100644
--- a/src/rotating_gate.c
+++ b/src/rotating_gate.c
@@ -233,7 +233,7 @@ static const struct OamData sOamData_RotatingGateLarge =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = 0,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
@@ -250,7 +250,7 @@ static const struct OamData sOamData_RotatingGateRegular =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = 0,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
.bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c
new file mode 100644
index 000000000..7238ec751
--- /dev/null
+++ b/src/rotating_tile_puzzle.c
@@ -0,0 +1,338 @@
+#include "global.h"
+#include "event_object_movement.h"
+#include "fieldmap.h"
+#include "malloc.h"
+#include "rotating_tile_puzzle.h"
+#include "script_movement.h"
+#include "constants/event_object_movement_constants.h"
+#include "constants/event_objects.h"
+#include "constants/metatile_labels.h"
+
+extern const u8 RotatingTilePuzzle_Movement_ShiftRight[];
+extern const u8 RotatingTilePuzzle_Movement_ShiftDown[];
+extern const u8 RotatingTilePuzzle_Movement_ShiftLeft[];
+extern const u8 RotatingTilePuzzle_Movement_ShiftUp[];
+extern const u8 RotatingTilePuzzle_Movement_FaceRight[];
+extern const u8 RotatingTilePuzzle_Movement_FaceDown[];
+extern const u8 RotatingTilePuzzle_Movement_FaceLeft[];
+extern const u8 RotatingTilePuzzle_Movement_FaceUp[];
+
+#define ROTATE_COUNTERCLOCKWISE 0
+#define ROTATE_CLOCKWISE 1
+#define ROTATE_NONE 2
+
+struct RotatingTileObject
+{
+ u8 prevPuzzleTileNum;
+ u8 eventTemplateId;
+};
+
+struct RotatingTilePuzzle
+{
+ struct RotatingTileObject objects[EVENT_OBJECTS_COUNT];
+ u8 numObjects;
+ bool8 isTrickHouse;
+};
+
+// This file's functions.
+static void SaveRotatingTileObject(u8 eventTemplateId, u8 arg1);
+static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 arg1);
+
+// EWRAM vars
+EWRAM_DATA static struct RotatingTilePuzzle *sRotatingTilePuzzle = NULL;
+
+// code
+void InitRotatingTilePuzzle(bool8 isTrickHouse)
+{
+ if (sRotatingTilePuzzle == NULL)
+ sRotatingTilePuzzle = AllocZeroed(sizeof(*sRotatingTilePuzzle));
+
+ sRotatingTilePuzzle->isTrickHouse = isTrickHouse;
+}
+
+void FreeRotatingTilePuzzle(void)
+{
+ u8 id;
+
+ if (sRotatingTilePuzzle != NULL)
+ FREE_AND_SET_NULL(sRotatingTilePuzzle);
+
+ id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[id]);
+ ScriptMovement_UnfreezeEventObjects();
+}
+
+u16 MoveRotatingTileObjects(u8 puzzleNumber)
+{
+ u8 i;
+ struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates;
+ u16 localId = 0;
+
+ for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
+ {
+ s32 puzzleTileStart;
+ u8 puzzleTileNum;
+ s16 x = eventObjects[i].x + 7;
+ s16 y = eventObjects[i].y + 7;
+ u16 metatile = MapGridGetMetatileIdAt(x, y);
+
+ if (!sRotatingTilePuzzle->isTrickHouse)
+ puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right;
+ else
+ puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right;
+
+ // Object is on a metatile before the puzzle tile section
+ // UB: Because this is not if (metatile < puzzleTileStart), for the trick house (metatile - puzzleTileStart) below can result in casting a negative value to u8
+ if (metatile < METATILE_MossdeepGym_YellowArrow_Right)
+ continue;
+
+ // Object is on a metatile after the puzzle tile section (never occurs, in both cases the puzzle tiles are last)
+ if ((u8)((metatile - puzzleTileStart) / 8) >= 5)
+ continue;
+
+ // Object is on a metatile in puzzle tile section, but not one of the currently rotating color
+ if ((u8)((metatile - puzzleTileStart) / 8) != puzzleNumber)
+ continue;
+
+ puzzleTileNum = (u8)((metatile - puzzleTileStart) % 8);
+
+ // First 4 puzzle tiles are the colored arrows
+ if (puzzleTileNum < 4)
+ {
+ s8 x = 0;
+ s8 y = 0;
+ const u8 *movementScript;
+
+ switch (puzzleTileNum)
+ {
+ case 0: // Right Arrow
+ movementScript = RotatingTilePuzzle_Movement_ShiftRight;
+ x = 1;
+ break;
+ case 1: // Down Arrow
+ movementScript = RotatingTilePuzzle_Movement_ShiftDown;
+ y = 1;
+ break;
+ case 2: // Left Arrow
+ movementScript = RotatingTilePuzzle_Movement_ShiftLeft;
+ x = -1;
+ break;
+ case 3: // Up Arrow
+ movementScript = RotatingTilePuzzle_Movement_ShiftUp;
+ y = -1;
+ break;
+ default:
+ continue;
+ }
+
+ eventObjects[i].x += x;
+ eventObjects[i].y += y;
+ if (GetEventObjectIdByLocalIdAndMap(eventObjects[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT)
+ {
+ SaveRotatingTileObject(i, puzzleTileNum);
+ localId = eventObjects[i].localId;
+ ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript);
+ }
+ // Never reached in normal gameplay
+ else
+ {
+ TurnUnsavedRotatingTileObject(i, puzzleTileNum);
+ }
+ }
+ }
+
+ return localId;
+}
+
+void TurnRotatingTileObjects(void)
+{
+ u8 i;
+ s32 puzzleTileStart;
+ struct EventObjectTemplate *eventObjects;
+
+ if (sRotatingTilePuzzle == NULL)
+ return;
+
+ if (!sRotatingTilePuzzle->isTrickHouse)
+ puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right;
+ else
+ puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right;
+
+ eventObjects = gSaveBlock1Ptr->eventObjectTemplates;
+ for (i = 0; i < sRotatingTilePuzzle->numObjects; i++)
+ {
+ s32 rotation;
+ s8 tileDifference;
+ u8 eventObjectId;
+ s16 x = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].x + 7;
+ s16 y = eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].y + 7;
+ u16 metatile = MapGridGetMetatileIdAt(x, y);
+
+ // NOTE: The following 2 assignments and if else could all be replaced with rotation = ROTATE_COUNTERCLOCKWISE
+ // For an object to be saved in sRotatingTilePuzzle->objects, it must have been on a colored arrow tile
+ // After the first assignment, tileDifference will always be a number [0-3] representing which arrow tile the object is on now (0: right, 1: down, 2: left, 3: up)
+ // prevPuzzleTileNum will similarly be a number [0-3] representing the arrow tile the object just moved from
+ // All the puzzles are oriented counter-clockwise and can only move 1 step at a time, so the difference between the current tile and the previous tile will always either be -1 or 3 (0-1, 1-2, 2-3, 3-0)
+ // Which means tileDifference will always either be -1 or 3 after the below subtraction, and rotation will always be ROTATE_COUNTERCLOCKWISE after the following conditionals
+ tileDifference = (u8)((metatile - puzzleTileStart) % 8);
+ tileDifference -= (sRotatingTilePuzzle->objects[i].prevPuzzleTileNum);
+
+ // Always true, see above
+ if (tileDifference < 0 || tileDifference == 3)
+ {
+ // Always false, see above
+ if (tileDifference == -3)
+ rotation = ROTATE_CLOCKWISE;
+ else
+ rotation = ROTATE_COUNTERCLOCKWISE;
+ }
+ else
+ {
+ if (tileDifference > 0)
+ rotation = ROTATE_CLOCKWISE;
+ else
+ rotation = ROTATE_NONE;
+ }
+
+ eventObjectId = GetEventObjectIdByLocalIdAndMap(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ if (eventObjectId != EVENT_OBJECTS_COUNT)
+ {
+ const u8 *movementScript;
+ u8 direction = gEventObjects[eventObjectId].facingDirection;
+ if (rotation == ROTATE_COUNTERCLOCKWISE)
+ {
+ switch (direction)
+ {
+ case DIR_EAST:
+ movementScript = RotatingTilePuzzle_Movement_FaceUp;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case DIR_SOUTH:
+ movementScript = RotatingTilePuzzle_Movement_FaceRight;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ case DIR_WEST:
+ movementScript = RotatingTilePuzzle_Movement_FaceDown;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case DIR_NORTH:
+ movementScript = RotatingTilePuzzle_Movement_FaceLeft;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ default:
+ continue;
+ }
+ ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId,
+ gSaveBlock1Ptr->location.mapNum,
+ gSaveBlock1Ptr->location.mapGroup,
+ movementScript);
+ }
+ // Never reached
+ else if (rotation == ROTATE_CLOCKWISE)
+ {
+ switch (direction)
+ {
+ case DIR_EAST:
+ movementScript = RotatingTilePuzzle_Movement_FaceDown;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case DIR_SOUTH:
+ movementScript = RotatingTilePuzzle_Movement_FaceLeft;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ case DIR_WEST:
+ movementScript = RotatingTilePuzzle_Movement_FaceUp;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case DIR_NORTH:
+ movementScript = RotatingTilePuzzle_Movement_FaceRight;
+ eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ default:
+ continue;
+ }
+ ScriptMovement_StartObjectMovementScript(eventObjects[sRotatingTilePuzzle->objects[i].eventTemplateId].localId,
+ gSaveBlock1Ptr->location.mapNum,
+ gSaveBlock1Ptr->location.mapGroup,
+ movementScript);
+ }
+ }
+ }
+}
+
+static void SaveRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum)
+{
+ sRotatingTilePuzzle->objects[sRotatingTilePuzzle->numObjects].eventTemplateId = eventTemplateId;
+ sRotatingTilePuzzle->objects[sRotatingTilePuzzle->numObjects].prevPuzzleTileNum = puzzleTileNum;
+ sRotatingTilePuzzle->numObjects++;
+}
+
+// Functionally unused
+static void TurnUnsavedRotatingTileObject(u8 eventTemplateId, u8 puzzleTileNum)
+{
+ s8 tileDifference;
+ s32 rotation;
+ s32 puzzleTileStart;
+ u16 movementType;
+ struct EventObjectTemplate *eventObjects = gSaveBlock1Ptr->eventObjectTemplates;
+ s16 x = eventObjects[eventTemplateId].x + 7;
+ s16 y = eventObjects[eventTemplateId].y + 7;
+ u16 metatile = MapGridGetMetatileIdAt(x, y);
+
+ if (!sRotatingTilePuzzle->isTrickHouse)
+ puzzleTileStart = METATILE_MossdeepGym_YellowArrow_Right;
+ else
+ puzzleTileStart = METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right;
+
+ tileDifference = (u8)((metatile - puzzleTileStart) % 8);
+ tileDifference -= puzzleTileNum;
+
+ if (tileDifference < 0 || tileDifference == 3)
+ rotation = ROTATE_COUNTERCLOCKWISE;
+ else if (tileDifference > 0 || tileDifference == -3)
+ rotation = ROTATE_CLOCKWISE;
+ else
+ rotation = ROTATE_NONE;
+
+ movementType = eventObjects[eventTemplateId].movementType;
+ if (rotation == ROTATE_COUNTERCLOCKWISE)
+ {
+ switch (movementType)
+ {
+ case MOVEMENT_TYPE_FACE_RIGHT:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case MOVEMENT_TYPE_FACE_DOWN:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ case MOVEMENT_TYPE_FACE_LEFT:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case MOVEMENT_TYPE_FACE_UP:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ default:
+ break;
+ }
+ }
+ else if (rotation == ROTATE_CLOCKWISE)
+ {
+ switch (movementType)
+ {
+ case MOVEMENT_TYPE_FACE_RIGHT:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case MOVEMENT_TYPE_FACE_DOWN:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ case MOVEMENT_TYPE_FACE_LEFT:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case MOVEMENT_TYPE_FACE_UP:
+ eventObjects[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/src/roulette.c b/src/roulette.c
index 662522aae..e38da31d0 100644
--- a/src/roulette.c
+++ b/src/roulette.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "coins.h"
#include "decompress.h"
@@ -188,18 +188,18 @@ static void sub_8144A24(struct Sprite *);
static void sub_8144E60(struct Sprite *);
static void sub_8145294(struct Sprite *);
-extern const u8 gUnknown_082A5B89[];
-extern const u8 gUnknown_082A5C13[];
-extern const u8 gUnknown_082A5BD7[];
-extern const u8 gUnknown_082A5BCB[];
-extern const u8 gUnknown_082A5BE0[];
-extern const u8 gUnknown_082A5BEF[];
-extern const u8 gUnknown_082A5C21[];
-extern const u8 gUnknown_082A5C61[];
-extern const u8 gUnknown_082A5C04[];
-extern const u8 gUnknown_082A5B12[];
-extern const u8 gUnknown_082A5B6B[];
-extern const u8 gUnknown_082A5B4E[];
+extern const u8 Roulette_Text_ControlsInstruction[];
+extern const u8 Roulette_Text_KeepPlaying[];
+extern const u8 Roulette_Text_Jackpot[];
+extern const u8 Roulette_Text_ItsAHit[];
+extern const u8 Roulette_Text_NothingDoing[];
+extern const u8 Roulette_Text_YouveWonXCoins[];
+extern const u8 Roulette_Text_BoardWillBeCleared[];
+extern const u8 Roulette_Text_CoinCaseIsFull[];
+extern const u8 Roulette_Text_NoCoinsLeft[];
+extern const u8 Roulette_Text_PlayMinimumWagerIsX[];
+extern const u8 Roulette_Text_SpecialRateTable[];
+extern const u8 Roulette_Text_NotEnoughCoins[];
static const u16 gUnknown_085B5BFC[] = INCBIN_U16("graphics/roulette/85B5BFC.gbapal");
static const u32 gUnknown_085B5DFC[] = INCBIN_U32("graphics/roulette/85B5DFC.bin.lz");
@@ -974,7 +974,7 @@ static void sub_81405CC(void)
sub_81436D0(0);
sub_81424FC(0);
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5B89, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_ControlsInstruction, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
gSpriteCoordOffsetX = -60;
gSpriteCoordOffsetY = 0;
@@ -1045,7 +1045,7 @@ static void sub_8140914(u8 taskId)
{
DisplayYesNoMenuDefaultYes();
DrawStdWindowFrame(gUnknown_0203AB8C, 0);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C13, 0, 1, TEXT_SPEED_FF, 0);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_KeepPlaying, 0, 1, TEXT_SPEED_FF, 0);
CopyWindowToVram(gUnknown_0203AB8C, 3);
DoYesNoFuncWithChoice(taskId, &gUnknown_085B6410);
}
@@ -1213,7 +1213,7 @@ static void sub_8140D6C(u8 r0)
static void sub_8140F6C(u8 r0)
{
- sub_80EECA4();
+ IncrementDailyRouletteUses();
gUnknown_0203AB88->var28 = 0xFF;
if (gUnknown_0203AB88->var19 == 1)
gUnknown_0203AB88->var23 = 1;
@@ -1552,14 +1552,14 @@ static void sub_814189C(u8 taskId)
{
PlayFanfare(MUS_ME_B_BIG);
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BD7, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_Jackpot, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
}
else
{
PlayFanfare(MUS_ME_B_SMALL);
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BCB, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_ItsAHit, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
}
break;
@@ -1567,7 +1567,7 @@ static void sub_814189C(u8 taskId)
default:
m4aSongNumStart(SE_HAZURE);
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5BE0, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_NothingDoing, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
break;
}
@@ -1609,7 +1609,7 @@ static void sub_8141984(u8 taskId)
static void sub_8141A18(u8 taskId)
{
ConvertIntToDecimalStringN(gStringVar1, (gUnknown_0203AB88->var19 * gTasks[taskId].data[2]), STR_CONV_MODE_LEFT_ALIGN, 2);
- StringExpandPlaceholders(gStringVar4, gUnknown_082A5BEF);
+ StringExpandPlaceholders(gStringVar4, Roulette_Text_YouveWonXCoins);
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
@@ -1644,14 +1644,14 @@ static void sub_8141B58(u8 taskId)
if (gTasks[taskId].data[6] == 6)
{
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C21, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_BoardWillBeCleared, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
sub_8141F7C(taskId, dp01t_12_3_battle_menu, 0xFFFF, 3);
}
else if (gTasks[taskId].data[13] == 9999)
{
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_CoinCaseIsFull, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
sub_8141F7C(taskId, sub_8140914, 0xFFFF, 0x3);
}
@@ -1663,7 +1663,7 @@ static void sub_8141B58(u8 taskId)
else
{
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C04, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_NoCoinsLeft, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
sub_8141F7C(taskId, sub_8140994, 0x3C, 0x3);
}
@@ -1688,7 +1688,7 @@ static void dp01t_12_3_battle_menu(u8 taskId)
if (gTasks[taskId].data[13] == 9999)
{
DrawStdWindowFrame(gUnknown_0203AB8C, FALSE);
- AddTextPrinterParameterized(gUnknown_0203AB8C, 1, gUnknown_082A5C61, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gUnknown_0203AB8C, 1, Roulette_Text_CoinCaseIsFull, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(gUnknown_0203AB8C, 3);
sub_8141F7C(taskId, sub_8140914, 0xFFFF, 3);
}
@@ -1727,7 +1727,7 @@ static void sub_8141E7C(u8 taskId) // end roulette ?
ResetPaletteFade();
ResetSpriteData();
sub_8140418();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_ReturnToField);
DestroyTask(taskId);
}
@@ -3121,7 +3121,7 @@ static void sub_81429F0(u8 taskId)
{
u32 temp = gUnknown_085B6344[(gSpecialVar_0x8004 & 1) + (gSpecialVar_0x8004 >> 7 << 1)];
ConvertIntToDecimalStringN(gStringVar1, temp, STR_CONV_MODE_LEADING_ZEROS, 1);
- StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12);
+ StringExpandPlaceholders(gStringVar4, Roulette_Text_PlayMinimumWagerIsX);
DrawStdWindowFrame(0, FALSE);
AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(0, 3);
@@ -3134,19 +3134,19 @@ static void Task_Roulette_0(u8 taskId)
s32 temp;
PrintCoinsString(gTasks[taskId].data[13]);
temp = gUnknown_085B6344[(gSpecialVar_0x8004 & 1) + (gSpecialVar_0x8004 >> 7 << 1)];
- ConvertIntToDecimalStringN(gStringVar1, temp, 2, 1);
+ ConvertIntToDecimalStringN(gStringVar1, temp, STR_CONV_MODE_LEADING_ZEROS, 1);
if (gTasks[taskId].data[13] >= temp)
{
if ((gSpecialVar_0x8004 & 0x80) && (gSpecialVar_0x8004 & 1))
{
DrawStdWindowFrame(0, FALSE);
- AddTextPrinterParameterized(0, 1, gUnknown_082A5B6B, 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 1, Roulette_Text_SpecialRateTable, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(0, 3);
gTasks[taskId].func = sub_81429F0;
}
else
{
- StringExpandPlaceholders(gStringVar4, gUnknown_082A5B12);
+ StringExpandPlaceholders(gStringVar4, Roulette_Text_PlayMinimumWagerIsX);
DrawStdWindowFrame(0, FALSE);
AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(0, 3);
@@ -3155,7 +3155,7 @@ static void Task_Roulette_0(u8 taskId)
}
else
{
- StringExpandPlaceholders(gStringVar4, gUnknown_082A5B4E);
+ StringExpandPlaceholders(gStringVar4, Roulette_Text_NotEnoughCoins);
DrawStdWindowFrame(0, FALSE);
AddTextPrinterParameterized(0, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
CopyWindowToVram(0, 3);
@@ -4043,7 +4043,7 @@ static void sub_81446DC(struct Sprite *sprite)
gUnknown_0203AB88->var3C[55] = CreateSprite(&gSpriteTemplate_85B79F8, 36, -12, 50);
gUnknown_0203AB88->var3C[56] = CreateSprite(&gSpriteTemplate_85B7ABC[0], s[sprite->data[0]][0], s[sprite->data[0]][1], 59);
gUnknown_0203AB88->var3C[57] = CreateSprite(&gSpriteTemplate_85B7ABC[1], 36, 140, 51);
- gSprites[gUnknown_0203AB88->var3C[57]].oam.objMode = 1;
+ gSprites[gUnknown_0203AB88->var3C[57]].oam.objMode = ST_OAM_OBJ_BLEND;
for (i = 0; i < 3; i++)
{
gSprites[gUnknown_0203AB88->var3C[i + 55]].coordOffsetEnabled = FALSE;
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 703c3d0cd..e8827e124 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -23,10 +23,10 @@ struct PokeblockFeeder
#define NUM_POKEBLOCK_FEEDERS 10
-extern const u8 EventScript_2A4B8A[];
-extern const u8 EventScript_2A4B6F[];
-extern const u8 EventScript_2A4B4C[];
-extern const u8 EventScript_2A4B9B[];
+extern const u8 SafariZone_EventScript_TimesUp[];
+extern const u8 SafariZone_EventScript_RetirePrompt[];
+extern const u8 SafariZone_EventScript_OutOfBallsMidBattle[];
+extern const u8 SafariZone_EventScript_OutOfBalls[];
EWRAM_DATA u8 gNumSafariBalls = 0;
EWRAM_DATA static u16 sSafariZoneStepCounter = 0;
@@ -83,7 +83,7 @@ bool8 SafariZoneTakeStep(void)
sSafariZoneStepCounter--;
if (sSafariZoneStepCounter == 0)
{
- ScriptContext1_SetupScript(EventScript_2A4B8A);
+ ScriptContext1_SetupScript(SafariZone_EventScript_TimesUp);
return TRUE;
}
return FALSE;
@@ -91,7 +91,7 @@ bool8 SafariZoneTakeStep(void)
void SafariZoneRetirePrompt(void)
{
- ScriptContext1_SetupScript(EventScript_2A4B6F);
+ ScriptContext1_SetupScript(SafariZone_EventScript_RetirePrompt);
}
void CB2_EndSafariBattle(void)
@@ -105,14 +105,14 @@ void CB2_EndSafariBattle(void)
}
else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS)
{
- ScriptContext2_RunNewScript(EventScript_2A4B4C);
+ ScriptContext2_RunNewScript(SafariZone_EventScript_OutOfBallsMidBattle);
WarpIntoMap();
gFieldCallback = sub_80AF6F0;
SetMainCallback2(CB2_LoadMap);
}
else if (gBattleOutcome == B_OUTCOME_CAUGHT)
{
- ScriptContext1_SetupScript(EventScript_2A4B9B);
+ ScriptContext1_SetupScript(SafariZone_EventScript_OutOfBalls);
ScriptContext1_Stop();
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
diff --git a/src/save.c b/src/save.c
index cdfd2ae1d..c19aff4d8 100644
--- a/src/save.c
+++ b/src/save.c
@@ -14,7 +14,7 @@
#include "constants/game_stat.h"
static u16 CalculateChecksum(void *data, u16 size);
-static u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section);
+static bool8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section);
static u8 GetSaveValidStatus(const struct SaveSectionLocation *location);
static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location);
static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location);
@@ -53,7 +53,7 @@ static u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location);
min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \
} \
-const struct SaveSectionOffsets gSaveSectionOffsets[] =
+static const struct SaveSectionOffsets sSaveSectionOffsets[] =
{
SAVEBLOCK_CHUNK(gSaveblock2, 0),
@@ -84,9 +84,9 @@ u16 gUnknown_03006208;
u16 gSaveUnusedVar;
u16 gSaveFileStatus;
void (*gGameContinueCallback)(void);
-struct SaveSectionLocation gRamSaveSectionLocations[0xE];
+struct SaveSectionLocation gRamSaveSectionLocations[SECTOR_SAVE_SLOT_LENGTH];
u16 gSaveUnusedVar2;
-u16 gUnknown_03006294;
+u16 gSaveAttemptStatus;
EWRAM_DATA struct SaveSection gSaveDataBuffer = {0};
EWRAM_DATA static u8 sUnusedVar = 0;
@@ -130,16 +130,16 @@ static bool32 SetDamagedSectorBits(u8 op, u8 bit)
return retVal;
}
-static u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location)
+static u8 SaveWriteToFlash(u16 a1, const struct SaveSectionLocation *location)
{
- u32 retVal;
+ u32 status;
u16 i;
gFastSaveSection = &gSaveDataBuffer;
if (a1 != 0xFFFF) // for link
{
- retVal = HandleWriteSector(a1, location);
+ status = HandleWriteSector(a1, location);
}
else
{
@@ -148,41 +148,41 @@ static u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location
gLastWrittenSector++;
gLastWrittenSector = gLastWrittenSector % SECTOR_SAVE_SLOT_LENGTH; // array count save sector locations
gSaveCounter++;
- retVal = 1;
+ status = SAVE_STATUS_OK;
for (i = 0; i < SECTOR_SAVE_SLOT_LENGTH; i++)
HandleWriteSector(i, location);
if (gDamagedSaveSectors != 0) // skip the damaged sector.
{
- retVal = 0xFF;
+ status = SAVE_STATUS_ERROR;
gLastWrittenSector = gLastKnownGoodSector;
gSaveCounter = gLastSaveCounter;
}
}
- return retVal;
+ return status;
}
-static u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location)
+static u8 HandleWriteSector(u16 sectorId, const struct SaveSectionLocation *location)
{
u16 i;
u16 sector;
u8 *data;
u16 size;
- sector = a1 + gLastWrittenSector;
+ sector = sectorId + gLastWrittenSector;
sector %= SECTOR_SAVE_SLOT_LENGTH;
sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
- data = location[a1].data;
- size = location[a1].size;
+ data = location[sectorId].data;
+ size = location[sectorId].size;
// clear save section.
for (i = 0; i < sizeof(struct SaveSection); i++)
((char *)gFastSaveSection)[i] = 0;
- gFastSaveSection->id = a1;
+ gFastSaveSection->id = sectorId;
gFastSaveSection->security = UNKNOWN_CHECK_VALUE;
gFastSaveSection->counter = gSaveCounter;
@@ -215,12 +215,12 @@ static u8 TryWriteSector(u8 sector, u8 *data)
if (ProgramFlashSectorAndVerify(sector, data) != 0) // is damaged?
{
SetDamagedSectorBits(ENABLE, sector); // set damaged sector bits.
- return 0xFF;
+ return SAVE_STATUS_ERROR;
}
else
{
SetDamagedSectorBits(DISABLE, sector); // unset damaged sector bits. it's safe now.
- return 1;
+ return SAVE_STATUS_OK;
}
}
@@ -247,46 +247,46 @@ static u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location) //
return 0;
}
-static u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_81529D4(u16 sectorId, const struct SaveSectionLocation *location)
{
- u8 retVal;
+ u8 status;
- if (gUnknown_03006208 < a1 - 1)
+ if (gUnknown_03006208 < sectorId - 1)
{
- retVal = 1;
+ status = SAVE_STATUS_OK;
HandleWriteSector(gUnknown_03006208, location);
gUnknown_03006208++;
if (gDamagedSaveSectors)
{
- retVal = 0xFF;
+ status = SAVE_STATUS_ERROR;
gLastWrittenSector = gLastKnownGoodSector;
gSaveCounter = gLastSaveCounter;
}
}
else
{
- retVal = 0xFF;
+ status = SAVE_STATUS_ERROR;
}
- return retVal;
+ return status;
}
-static u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152A34(u16 sectorId, const struct SaveSectionLocation *location)
{
- u8 retVal = 1;
+ u8 status = SAVE_STATUS_OK;
- ClearSaveData_2(a1 - 1, location);
+ ClearSaveData_2(sectorId - 1, location);
if (gDamagedSaveSectors)
{
- retVal = 0xFF;
+ status = SAVE_STATUS_ERROR;
gLastWrittenSector = gLastKnownGoodSector;
gSaveCounter = gLastSaveCounter;
}
- return retVal;
+ return status;
}
-static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location)
+static u8 ClearSaveData_2(u16 sectorId, const struct SaveSectionLocation *location)
{
u16 i;
u16 sector;
@@ -294,18 +294,18 @@ static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location)
u16 size;
u8 status;
- sector = a1 + gLastWrittenSector;
+ sector = sectorId + gLastWrittenSector;
sector %= SECTOR_SAVE_SLOT_LENGTH;
sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
- data = location[a1].data;
- size = location[a1].size;
+ data = location[sectorId].data;
+ size = location[sectorId].size;
// clear temp save section.
for (i = 0; i < sizeof(struct SaveSection); i++)
((char *)gFastSaveSection)[i] = 0;
- gFastSaveSection->id = a1;
+ gFastSaveSection->id = sectorId;
gFastSaveSection->security = UNKNOWN_CHECK_VALUE;
gFastSaveSection->counter = gSaveCounter;
@@ -318,53 +318,53 @@ static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location)
EraseFlashSector(sector);
- status = 1;
+ status = SAVE_STATUS_OK;
for (i = 0; i < sizeof(struct UnkSaveSection); i++)
{
if (ProgramFlashByte(sector, i, ((u8 *)gFastSaveSection)[i]))
{
- status = 0xFF;
+ status = SAVE_STATUS_ERROR;
break;
}
}
- if (status == 0xFF)
+ if (status == SAVE_STATUS_ERROR)
{
SetDamagedSectorBits(ENABLE, sector);
- return 0xFF;
+ return SAVE_STATUS_ERROR;
}
else
{
- status = 1;
+ status = SAVE_STATUS_OK;
for (i = 0; i < 7; i++)
{
if (ProgramFlashByte(sector, 0xFF9 + i, ((u8 *)gFastSaveSection)[0xFF9 + i]))
{
- status = 0xFF;
+ status = SAVE_STATUS_ERROR;
break;
}
}
- if (status == 0xFF)
+ if (status == SAVE_STATUS_ERROR)
{
SetDamagedSectorBits(ENABLE, sector);
- return 0xFF;
+ return SAVE_STATUS_ERROR;
}
else
{
SetDamagedSectorBits(DISABLE, sector);
- return 1;
+ return SAVE_STATUS_OK;
}
}
}
-static u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location)
+static u8 sav12_xor_get(u16 sectorId, const struct SaveSectionLocation *location)
{
u16 sector;
- sector = a1 + gLastWrittenSector; // no sub 1?
+ sector = sectorId + gLastWrittenSector; // no sub 1?
sector %= SECTOR_SAVE_SLOT_LENGTH;
sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
@@ -374,20 +374,20 @@ static u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location)
SetDamagedSectorBits(ENABLE, sector);
gLastWrittenSector = gLastKnownGoodSector;
gSaveCounter = gLastSaveCounter;
- return 0xFF;
+ return SAVE_STATUS_ERROR;
}
else
{
SetDamagedSectorBits(DISABLE, sector);
- return 1;
+ return SAVE_STATUS_OK;
}
}
-static u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152CAC(u16 sectorId, const struct SaveSectionLocation *location)
{
u16 sector;
- sector = a1 + gLastWrittenSector - 1;
+ sector = sectorId + gLastWrittenSector - 1;
sector %= SECTOR_SAVE_SLOT_LENGTH;
sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
@@ -397,20 +397,20 @@ static u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location)
SetDamagedSectorBits(ENABLE, sector);
gLastWrittenSector = gLastKnownGoodSector;
gSaveCounter = gLastSaveCounter;
- return 0xFF;
+ return SAVE_STATUS_ERROR;
}
else
{
SetDamagedSectorBits(DISABLE, sector);
- return 1;
+ return SAVE_STATUS_OK;
}
}
-static u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152D44(u16 sectorId, const struct SaveSectionLocation *location)
{
u16 sector;
- sector = a1 + gLastWrittenSector - 1; // no sub 1?
+ sector = sectorId + gLastWrittenSector - 1; // no sub 1?
sector %= SECTOR_SAVE_SLOT_LENGTH;
sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
@@ -420,30 +420,30 @@ static u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location)
SetDamagedSectorBits(ENABLE, sector);
gLastWrittenSector = gLastKnownGoodSector;
gSaveCounter = gLastSaveCounter;
- return 0xFF;
+ return SAVE_STATUS_ERROR;
}
else
{
SetDamagedSectorBits(DISABLE, sector);
- return 1;
+ return SAVE_STATUS_OK;
}
}
static u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location)
{
- u8 retVal;
+ u8 status;
gFastSaveSection = &gSaveDataBuffer;
if (a1 != 0xFFFF)
{
- retVal = 0xFF;
+ status = SAVE_STATUS_ERROR;
}
else
{
- retVal = GetSaveValidStatus(location);
+ status = GetSaveValidStatus(location);
sub_8152E10(0xFFFF, location);
}
- return retVal;
+ return status;
}
static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location)
@@ -469,7 +469,7 @@ static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location)
}
}
- return 1;
+ return SAVE_STATUS_OK;
}
static u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
@@ -502,13 +502,13 @@ static u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
if (securityPassed)
{
if (slotCheckField == 0x3FFF)
- saveSlot1Status = 1;
+ saveSlot1Status = SAVE_STATUS_OK;
else
- saveSlot1Status = 255;
+ saveSlot1Status = SAVE_STATUS_ERROR;
}
else
{
- saveSlot1Status = 0;
+ saveSlot1Status = SAVE_STATUS_EMPTY;
}
slotCheckField = 0;
@@ -533,16 +533,16 @@ static u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
if (securityPassed)
{
if (slotCheckField == 0x3FFF)
- saveSlot2Status = 1;
+ saveSlot2Status = SAVE_STATUS_OK;
else
- saveSlot2Status = 255;
+ saveSlot2Status = SAVE_STATUS_ERROR;
}
else
{
- saveSlot2Status = 0;
+ saveSlot2Status = SAVE_STATUS_EMPTY;
}
- if (saveSlot1Status == 1 && saveSlot2Status == 1)
+ if (saveSlot1Status == SAVE_STATUS_OK && saveSlot2Status == SAVE_STATUS_OK)
{
if ((saveSlot1Counter == -1 && saveSlot2Counter == 0) || (saveSlot1Counter == 0 && saveSlot2Counter == -1))
{
@@ -558,42 +558,42 @@ static u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
else
gSaveCounter = saveSlot1Counter;
}
- return 1;
+ return SAVE_STATUS_OK;
}
- if (saveSlot1Status == 1)
+ if (saveSlot1Status == SAVE_STATUS_OK)
{
gSaveCounter = saveSlot1Counter;
- if (saveSlot2Status == 255)
- return 255;
- return 1;
+ if (saveSlot2Status == SAVE_STATUS_ERROR)
+ return SAVE_STATUS_ERROR;
+ return SAVE_STATUS_OK;
}
- if (saveSlot2Status == 1)
+ if (saveSlot2Status == SAVE_STATUS_OK)
{
gSaveCounter = saveSlot2Counter;
- if (saveSlot1Status == 255)
- return 255;
- return 1;
+ if (saveSlot1Status == SAVE_STATUS_ERROR)
+ return SAVE_STATUS_ERROR;
+ return SAVE_STATUS_OK;
}
- if (saveSlot1Status == 0 && saveSlot2Status == 0)
+ if (saveSlot1Status == SAVE_STATUS_EMPTY && saveSlot2Status == SAVE_STATUS_EMPTY)
{
gSaveCounter = 0;
gLastWrittenSector = 0;
- return 0;
+ return SAVE_STATUS_EMPTY;
}
gSaveCounter = 0;
gLastWrittenSector = 0;
- return 2;
+ return SAVE_STATUS_CORRUPT;
}
-static u8 sub_81530DC(u8 a1, u8 *data, u16 size)
+static u8 sub_81530DC(u8 sectorId, u8 *data, u16 size)
{
u16 i;
struct SaveSection *section = &gSaveDataBuffer;
- DoReadFlashWholeSection(a1, section);
+ DoReadFlashWholeSection(sectorId, section);
if (section->security == UNKNOWN_CHECK_VALUE)
{
u16 checksum = CalculateChecksum(section->data, size);
@@ -601,23 +601,24 @@ static u8 sub_81530DC(u8 a1, u8 *data, u16 size)
{
for (i = 0; i < size; i++)
data[i] = section->data[i];
- return 1;
+ return SAVE_STATUS_OK;
}
else
{
- return 2;
+ return SAVE_STATUS_CORRUPT;
}
}
else
{
- return 0;
+ return SAVE_STATUS_EMPTY;
}
}
-static u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section)
+// Return value always ignored
+static bool8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section)
{
ReadFlash(sector, 0, section->data, sizeof(struct SaveSection));
- return 1;
+ return TRUE;
}
static u16 CalculateChecksum(void *data, u16 size)
@@ -638,19 +639,19 @@ static void UpdateSaveAddresses(void)
{
int i = 0;
- gRamSaveSectionLocations[i].data = (void*)(gSaveBlock2Ptr) + gSaveSectionOffsets[i].toAdd;
- gRamSaveSectionLocations[i].size = gSaveSectionOffsets[i].size;
+ gRamSaveSectionLocations[i].data = (void*)(gSaveBlock2Ptr) + sSaveSectionOffsets[i].toAdd;
+ gRamSaveSectionLocations[i].size = sSaveSectionOffsets[i].size;
- for (i = 1; i < 5; i++)
+ for (i = SECTOR_ID_SAVEBLOCK1_START; i <= SECTOR_ID_SAVEBLOCK1_END; i++)
{
- gRamSaveSectionLocations[i].data = (void*)(gSaveBlock1Ptr) + gSaveSectionOffsets[i].toAdd;
- gRamSaveSectionLocations[i].size = gSaveSectionOffsets[i].size;
+ gRamSaveSectionLocations[i].data = (void*)(gSaveBlock1Ptr) + sSaveSectionOffsets[i].toAdd;
+ gRamSaveSectionLocations[i].size = sSaveSectionOffsets[i].size;
}
- for (i = 5; i < 14; i++)
+ for (i = SECTOR_ID_PKMN_STORAGE_START; i <= SECTOR_ID_PKMN_STORAGE_END; i++)
{
- gRamSaveSectionLocations[i].data = (void*)(gPokemonStoragePtr) + gSaveSectionOffsets[i].toAdd;
- gRamSaveSectionLocations[i].size = gSaveSectionOffsets[i].size;
+ gRamSaveSectionLocations[i].data = (void*)(gPokemonStoragePtr) + sSaveSectionOffsets[i].toAdd;
+ gRamSaveSectionLocations[i].size = sSaveSectionOffsets[i].size;
i++;i--; // needed to match
}
@@ -673,36 +674,36 @@ u8 HandleSavingData(u8 saveType)
if (GetGameStat(GAME_STAT_ENTERED_HOF) < 999)
IncrementGameStat(GAME_STAT_ENTERED_HOF);
SaveSerializedGame();
- save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
+ SaveWriteToFlash(0xFFFF, gRamSaveSectionLocations);
tempAddr = gDecompressionBuffer;
- HandleWriteSectorNBytes(SECTOR_ID_HOF_1, tempAddr, 0xF80);
- HandleWriteSectorNBytes(SECTOR_ID_HOF_2, tempAddr + 0xF80, 0xF80);
+ HandleWriteSectorNBytes(SECTOR_ID_HOF_1, tempAddr, SECTOR_DATA_SIZE);
+ HandleWriteSectorNBytes(SECTOR_ID_HOF_2, tempAddr + SECTOR_DATA_SIZE, SECTOR_DATA_SIZE);
break;
case SAVE_NORMAL: // normal save. also called by overwriting your own save.
default:
SaveSerializedGame();
- save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
+ SaveWriteToFlash(0xFFFF, gRamSaveSectionLocations);
break;
- case SAVE_LINK: // _081532C4
- case SAVE_LINK2:
+ case SAVE_LINK: // Link and Battle Frontier
+ case SAVE_LINK2: // Unused
SaveSerializedGame();
- for(i = 0; i < 5; i++)
+ for(i = SECTOR_ID_SAVEBLOCK2; i <= SECTOR_ID_SAVEBLOCK1_END; i++)
ClearSaveData_2(i, gRamSaveSectionLocations);
- for(i = 0; i < 5; i++)
+ for(i = SECTOR_ID_SAVEBLOCK2; i <= SECTOR_ID_SAVEBLOCK1_END; i++)
sav12_xor_get(i, gRamSaveSectionLocations);
break;
// Support for Ereader was removed in Emerald.
/*
case EREADER_SAVE: // used in mossdeep "game corner" before/after battling old man e-reader trainer
SaveSerializedGame();
- save_write_to_flash(0, gRamSaveSectionLocations);
+ SaveWriteToFlash(0, gRamSaveSectionLocations);
break;
*/
case SAVE_OVERWRITE_DIFFERENT_FILE:
for (i = SECTOR_ID_HOF_1; i < SECTORS_COUNT; i++)
EraseFlashSector(i); // erase HOF.
SaveSerializedGame();
- save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
+ SaveWriteToFlash(0xFFFF, gRamSaveSectionLocations);
break;
}
gTrainerHillVBlankCounter = backupVar;
@@ -713,25 +714,25 @@ u8 TrySavingData(u8 saveType)
{
if (gFlashMemoryPresent != TRUE)
{
- gUnknown_03006294 = 0xFF;
- return 0xFF;
+ gSaveAttemptStatus = SAVE_STATUS_ERROR;
+ return SAVE_STATUS_ERROR;
}
HandleSavingData(saveType);
if (!gDamagedSaveSectors)
{
- gUnknown_03006294 = 1;
- return 1;
+ gSaveAttemptStatus = SAVE_STATUS_OK;
+ return SAVE_STATUS_OK;
}
else
{
DoSaveFailedScreen(saveType);
- gUnknown_03006294 = 0xFF;
- return 0xFF;
+ gSaveAttemptStatus = SAVE_STATUS_ERROR;
+ return SAVE_STATUS_ERROR;
}
}
-bool8 sub_8153380(void) // trade.s save
+bool8 sub_8153380(void) // trade.c
{
if (gFlashMemoryPresent != TRUE)
return TRUE;
@@ -741,92 +742,92 @@ bool8 sub_8153380(void) // trade.s save
return FALSE;
}
-bool8 sub_81533AC(void) // trade.s save
+bool8 sub_81533AC(void) // trade.c
{
- u8 retVal = sub_81529D4(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations);
+ u8 status = sub_81529D4(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
- DoSaveFailedScreen(0);
- if (retVal == 0xFF)
+ DoSaveFailedScreen(SAVE_NORMAL);
+ if (status == SAVE_STATUS_ERROR)
return TRUE;
else
return FALSE;
}
-u8 sub_81533E0(void) // trade.s save
+bool8 sub_81533E0(void) // trade.c
{
sub_8152A34(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
- DoSaveFailedScreen(0);
- return 0;
+ DoSaveFailedScreen(SAVE_NORMAL);
+ return FALSE;
}
-u8 sub_8153408(void) // trade.s save
+bool8 sub_8153408(void) // trade.c
{
sub_8152CAC(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
- DoSaveFailedScreen(0);
- return 0;
+ DoSaveFailedScreen(SAVE_NORMAL);
+ return FALSE;
}
u8 FullSaveGame(void)
{
if (gFlashMemoryPresent != TRUE)
- return 1;
+ return TRUE;
UpdateSaveAddresses();
SaveSerializedGame();
RestoreSaveBackupVars(gRamSaveSectionLocations);
sub_8152A34(gUnknown_03006208 + 1, gRamSaveSectionLocations);
- return 0;
+ return FALSE;
}
bool8 CheckSaveFile(void)
{
u8 retVal = FALSE;
- u16 val = ++gUnknown_03006208;
- if (val <= 4)
+ u16 sectorId = ++gUnknown_03006208;
+ if (sectorId <= SECTOR_ID_SAVEBLOCK1_END)
{
sub_8152A34(gUnknown_03006208 + 1, gRamSaveSectionLocations);
- sub_8152D44(val, gRamSaveSectionLocations);
+ sub_8152D44(sectorId, gRamSaveSectionLocations);
}
else
{
- sub_8152D44(val, gRamSaveSectionLocations);
+ sub_8152D44(sectorId, gRamSaveSectionLocations);
retVal = TRUE;
}
if (gDamagedSaveSectors)
- DoSaveFailedScreen(1);
+ DoSaveFailedScreen(SAVE_LINK);
return retVal;
}
-u8 Save_LoadGameData(u8 a1)
+u8 Save_LoadGameData(u8 saveType)
{
- u8 result;
+ u8 status;
if (gFlashMemoryPresent != TRUE)
{
- gSaveFileStatus = 4;
- return 0xFF;
+ gSaveFileStatus = SAVE_STATUS_NO_FLASH;
+ return SAVE_STATUS_ERROR;
}
UpdateSaveAddresses();
- switch (a1)
+ switch (saveType)
{
- case 0:
+ case SAVE_NORMAL:
default:
- result = sub_8152DD0(0xFFFF, gRamSaveSectionLocations);
+ status = sub_8152DD0(0xFFFF, gRamSaveSectionLocations);
LoadSerializedGame();
- gSaveFileStatus = result;
+ gSaveFileStatus = status;
gGameContinueCallback = 0;
break;
- case 3:
- result = sub_81530DC(0x1C, gDecompressionBuffer, 0xF80);
- if(result == 1)
- result = sub_81530DC(0x1D, gDecompressionBuffer + 0xF80, 0xF80);
+ case SAVE_HALL_OF_FAME:
+ status = sub_81530DC(SECTOR_ID_HOF_1, gDecompressionBuffer, SECTOR_DATA_SIZE);
+ if (status == SAVE_STATUS_OK)
+ status = sub_81530DC(SECTOR_ID_HOF_2, gDecompressionBuffer + SECTOR_DATA_SIZE, SECTOR_DATA_SIZE);
break;
}
- return result;
+ return status;
}
u16 sub_815355C(void)
@@ -836,7 +837,7 @@ u16 sub_815355C(void)
savSection = gFastSaveSection = &gSaveDataBuffer;
if (gFlashMemoryPresent != TRUE)
- return 0;
+ return SAVE_STATUS_EMPTY;
UpdateSaveAddresses();
GetSaveValidStatus(gRamSaveSectionLocations);
v3 = SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
@@ -849,7 +850,7 @@ u16 sub_815355C(void)
savSection->data[12] +
savSection->data[13];
}
- return 0;
+ return SAVE_STATUS_EMPTY;
}
u32 TryReadSpecialSaveSection(u8 sector, u8* dst)
@@ -859,17 +860,17 @@ u32 TryReadSpecialSaveSection(u8 sector, u8* dst)
u8* savData;
if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE)
- return 0xFF;
+ return SAVE_STATUS_ERROR;
ReadFlash(sector, 0, (u8 *)&gSaveDataBuffer, sizeof(struct SaveSection));
if (*(u32*)(&gSaveDataBuffer.data[0]) != SPECIAL_SECTION_SENTINEL)
- return 0xFF;
+ return SAVE_STATUS_ERROR;
// copies whole save section except u32 counter
i = 0;
size = 0xFFB;
savData = &gSaveDataBuffer.data[4];
for (; i <= size; i++)
dst[i] = savData[i];
- return 1;
+ return SAVE_STATUS_OK;
}
u32 TryWriteSpecialSaveSection(u8 sector, u8* src)
@@ -880,7 +881,7 @@ u32 TryWriteSpecialSaveSection(u8 sector, u8* src)
void* savDataBuffer;
if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE)
- return 0xFF;
+ return SAVE_STATUS_ERROR;
savDataBuffer = &gSaveDataBuffer;
*(u32*)(savDataBuffer) = SPECIAL_SECTION_SENTINEL;
@@ -892,8 +893,8 @@ u32 TryWriteSpecialSaveSection(u8 sector, u8* src)
for (; i <= size; i++)
savData[i] = src[i];
if (ProgramFlashSectorAndVerify(sector, savDataBuffer) != 0)
- return 0xFF;
- return 1;
+ return SAVE_STATUS_ERROR;
+ return SAVE_STATUS_OK;
}
void sub_8153688(u8 taskId)
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index 6d45370b8..a2a2acc8d 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -48,10 +48,10 @@ EWRAM_DATA u8 gSaveFailedUnused2[4] = {0};
static const struct OamData sClockOamData =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
diff --git a/src/save_location.c b/src/save_location.c
index 2443b3161..6bf5eceb0 100644
--- a/src/save_location.c
+++ b/src/save_location.c
@@ -52,10 +52,10 @@ static const u16 sSaveLocationPokeCenterList[] =
MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F,
MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F,
- MAP_SINGLE_BATTLE_COLOSSEUM,
+ MAP_BATTLE_COLOSSEUM_2P,
MAP_TRADE_CENTER,
MAP_RECORD_CORNER,
- MAP_DOUBLE_BATTLE_COLOSSEUM,
+ MAP_BATTLE_COLOSSEUM_4P,
0xFFFF,
};
@@ -118,6 +118,8 @@ void TrySetMapSaveWarpStatus(void)
sub_81AFD5C();
}
+// Called when receiving the Pokedex
+// Only place field_A8 is written (aside from clearing on new game), never read
void sub_81AFDA0(void)
{
gSaveBlock2Ptr->field_A8 |= 0x8000;
@@ -129,7 +131,7 @@ void sub_81AFDA0(void)
gSaveBlock2Ptr->field_A8 |= 0x8;
}
-void sub_81AFDD0(void)
+void SetChampionSaveWarp(void)
{
- gSaveBlock2Ptr->specialSaveWarpFlags |= 0x80;
+ gSaveBlock2Ptr->specialSaveWarpFlags |= CHAMPION_SAVEWARP;
}
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 0326a56a4..0e52f5953 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -27,19 +27,18 @@
#include "event_obj_lock.h"
#include "menu.h"
#include "money.h"
-#include "mossdeep_gym.h"
#include "mystery_event_script.h"
#include "palette.h"
#include "party_menu.h"
#include "pokemon_storage_system.h"
#include "random.h"
#include "overworld.h"
+#include "rotating_tile_puzzle.h"
#include "rtc.h"
#include "script.h"
#include "script_menu.h"
#include "script_movement.h"
#include "script_pokemon_80F8.h"
-#include "script_pokemon_81B9.h"
#include "shop.h"
#include "slot_machine.h"
#include "sound.h"
@@ -68,7 +67,7 @@ extern const SpecialFunc gSpecials[];
extern const u8 *gStdScripts[];
extern const u8 *gStdScripts_End[];
-void sub_809BDB4(void);
+static void CloseBrailleWindow(void);
// This is defined in here so the optimizer can't see its value when compiling
// script.c.
@@ -462,13 +461,13 @@ bool8 ScrCmd_compare_var_to_var(struct ScriptContext *ctx)
return FALSE;
}
+// Note: addvar doesn't support adding from a variable in vanilla. If you were to
+// add a VarGet() to the above, make sure you change the `addvar VAR_*, -1`
+// in the contest scripts to `subvar VAR_*, 1`, else contests will break.
bool8 ScrCmd_addvar(struct ScriptContext *ctx)
{
u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx));
*ptr += ScriptReadHalfword(ctx);
- // Note: addvar doesn't support adding from a variable in vanilla. If you were to
- // add a VarGet() to the above, make sure you change the `addvar VAR_0x8006, 65535`
- // in the contest scripts to `subvar VAR_0x8006, 1`, else contests will break.
return FALSE;
}
@@ -487,7 +486,7 @@ bool8 ScrCmd_random(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_giveitem(struct ScriptContext *ctx)
+bool8 ScrCmd_additem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
@@ -496,7 +495,7 @@ bool8 ScrCmd_giveitem(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_takeitem(struct ScriptContext *ctx)
+bool8 ScrCmd_removeitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
@@ -531,7 +530,7 @@ bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_givepcitem(struct ScriptContext *ctx)
+bool8 ScrCmd_addpcitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u16 quantity = VarGet(ScriptReadHalfword(ctx));
@@ -549,7 +548,7 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_givedecoration(struct ScriptContext *ctx)
+bool8 ScrCmd_adddecoration(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
@@ -557,7 +556,7 @@ bool8 ScrCmd_givedecoration(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_takedecoration(struct ScriptContext *ctx)
+bool8 ScrCmd_removedecoration(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
@@ -607,7 +606,7 @@ bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx)
bool8 ScrCmd_animateflash(struct ScriptContext *ctx)
{
- sub_80B009C(ScriptReadByte(ctx));
+ AnimateFlash(ScriptReadByte(ctx));
ScriptContext1_Stop();
return TRUE;
}
@@ -651,13 +650,14 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx)
switch (mode)
{
- case 1:
+ case FADE_TO_BLACK:
+ case FADE_TO_WHITE:
default:
CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_DECOMP_BUFFER_SIZE);
FadeScreen(mode, 0);
break;
- case 0:
- case 2:
+ case FADE_FROM_BLACK:
+ case FADE_FROM_WHITE:
CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_DECOMP_BUFFER_SIZE);
FadeScreen(mode, 0);
break;
@@ -810,12 +810,12 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF848();
+ DoTeleportWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
-bool8 ScrCmd_warpD7(struct ScriptContext *ctx)
+bool8 ScrCmd_warpmossdeepgym(struct ScriptContext *ctx)
{
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
@@ -824,7 +824,7 @@ bool8 ScrCmd_warpD7(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF87C();
+ DoMossdeepGymWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -1247,7 +1247,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx)
HideFieldMessageBox();
playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
- sub_80D338C();
+ ScriptMovement_UnfreezeEventObjects();
UnfreezeEventObjects();
return FALSE;
}
@@ -1261,7 +1261,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0);
EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]);
- sub_80D338C();
+ ScriptMovement_UnfreezeEventObjects();
UnfreezeEventObjects();
return FALSE;
}
@@ -1468,10 +1468,10 @@ bool8 ScrCmd_hidemonpic(struct ScriptContext *ctx)
bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx)
{
- u8 v1 = ScriptReadByte(ctx);
+ u8 contestWinnerId = ScriptReadByte(ctx);
+ if (contestWinnerId)
+ SetContestWinnerForPainting(contestWinnerId);
- if (v1)
- sub_812FDA8(v1);
ShowContestWinner();
ScriptContext1_Stop();
return TRUE;
@@ -1528,9 +1528,9 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_cmdDA(struct ScriptContext *ctx)
+bool8 ScrCmd_closebraillemessage(struct ScriptContext *ctx)
{
- sub_809BDB4();
+ CloseBrailleWindow();
return FALSE;
}
@@ -1612,10 +1612,10 @@ bool8 ScrCmd_buffermovename(struct ScriptContext *ctx)
bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
- u8 v2 = CountDigits(v1);
+ u16 num = VarGet(ScriptReadHalfword(ctx));
+ u8 numDigits = CountDigits(num);
- ConvertIntToDecimalStringN(sScriptStringVars[stringVarIndex], v1, 0, v2);
+ ConvertIntToDecimalStringN(sScriptStringVars[stringVarIndex], num, STR_CONV_MODE_LEFT_ALIGN, numDigits);
return FALSE;
}
@@ -1624,7 +1624,7 @@ bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx)
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
- StringCopy(sScriptStringVars[stringVarIndex], gUnknown_0858BAF0[index]);
+ StringCopy(sScriptStringVars[stringVarIndex], gStdStrings[index]);
return FALSE;
}
@@ -1726,7 +1726,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_givemoney(struct ScriptContext *ctx)
+bool8 ScrCmd_addmoney(struct ScriptContext *ctx)
{
u32 amount = ScriptReadWord(ctx);
u8 ignore = ScriptReadByte(ctx);
@@ -1736,7 +1736,7 @@ bool8 ScrCmd_givemoney(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_takemoney(struct ScriptContext *ctx)
+bool8 ScrCmd_removemoney(struct ScriptContext *ctx)
{
u32 amount = ScriptReadWord(ctx);
u8 ignore = ScriptReadByte(ctx);
@@ -1930,15 +1930,15 @@ bool8 ScrCmd_setberrytree(struct ScriptContext *ctx)
bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx)
{
- u16 value = VarGet(ScriptReadHalfword(ctx));
+ u16 newsKind = VarGet(ScriptReadHalfword(ctx));
- gSpecialVar_Result = GetPriceReduction(value);
+ gSpecialVar_Result = GetPriceReduction(newsKind);
return FALSE;
}
bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx)
{
- sub_81B9404();
+ ChooseContestMon();
ScriptContext1_Stop();
return TRUE;
}
@@ -1946,7 +1946,7 @@ bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx)
bool8 ScrCmd_startcontest(struct ScriptContext *ctx)
{
- sub_80F840C();
+ StartContest();
ScriptContext1_Stop();
return TRUE;
}
@@ -2127,53 +2127,53 @@ bool8 ScrCmd_checkcoins(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_givecoins(struct ScriptContext *ctx)
+bool8 ScrCmd_addcoins(struct ScriptContext *ctx)
{
u16 coins = VarGet(ScriptReadHalfword(ctx));
- if (GiveCoins(coins) == TRUE)
+ if (AddCoins(coins) == TRUE)
gSpecialVar_Result = 0;
else
gSpecialVar_Result = 1;
return FALSE;
}
-bool8 ScrCmd_takecoins(struct ScriptContext *ctx)
+bool8 ScrCmd_removecoins(struct ScriptContext *ctx)
{
u16 coins = VarGet(ScriptReadHalfword(ctx));
- if (TakeCoins(coins) == TRUE)
+ if (RemoveCoins(coins) == TRUE)
gSpecialVar_Result = 0;
else
gSpecialVar_Result = 1;
return FALSE;
}
-bool8 ScrCmd_mossdeepgym1(struct ScriptContext *ctx)
+bool8 ScrCmd_moverotatingtileobjects(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
+ u16 puzzleNumber = VarGet(ScriptReadHalfword(ctx));
- sMovingNpcId = MossdeepGym_MoveEvents(v1);
+ sMovingNpcId = MoveRotatingTileObjects(puzzleNumber);
return FALSE;
}
-bool8 ScrCmd_mossdeepgym2(struct ScriptContext *ctx)
+bool8 ScrCmd_turnrotatingtileobjects(struct ScriptContext *ctx)
{
- MossdeepGym_TurnEvents();
+ TurnRotatingTileObjects();
return FALSE;
}
-bool8 ScrCmd_mossdeepgym3(struct ScriptContext *ctx)
+bool8 ScrCmd_initrotatingtilepuzzle(struct ScriptContext *ctx)
{
- u16 v1 = VarGet(ScriptReadHalfword(ctx));
+ u16 isTrickHouse = VarGet(ScriptReadHalfword(ctx));
- InitMossdeepGymTiles(v1);
+ InitRotatingTilePuzzle(isTrickHouse);
return FALSE;
}
-bool8 ScrCmd_mossdeepgym4(struct ScriptContext *ctx)
+bool8 ScrCmd_freerotatingtilepuzzle(struct ScriptContext *ctx)
{
- FinishMossdeepGymTiles();
+ FreeRotatingTilePuzzle();
return FALSE;
}
@@ -2218,6 +2218,8 @@ bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx)
return FALSE;
}
+// TODO: Should be renamed. Name implies general usage, but its specifically for Wonder Card
+// See GetSavedRamScriptIfValid, which is NULL if ValidateReceivedWonderCard returns FALSE
bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
{
const u8* v1 = GetSavedRamScriptIfValid();
@@ -2255,7 +2257,7 @@ bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx)
return FALSE;
}
-void sub_809BDB4(void)
+static void CloseBrailleWindow(void)
{
ClearStdWindowAndFrame(gBrailleWindowId, 1);
RemoveWindow(gBrailleWindowId);
@@ -2279,12 +2281,12 @@ bool8 ScrCmd_buffertrainername(struct ScriptContext *ctx)
return FALSE;
}
-void sub_809BE48(u16 npcId)
+void SetMovingNpcId(u16 npcId)
{
sMovingNpcId = npcId;
}
-bool8 ScrCmd_warpE0(struct ScriptContext *ctx)
+bool8 ScrCmd_warpsootopolislegend(struct ScriptContext *ctx)
{
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
@@ -2293,7 +2295,7 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF79C();
+ DoSootopolisLegendWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
diff --git a/src/script_menu.c b/src/script_menu.c
index c1dc2af63..7afe30080 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -13,1026 +13,30 @@
#include "strings.h"
#include "task.h"
#include "text.h"
+#include "constants/field_specials.h"
#include "constants/items.h"
+#include "constants/script_menu.h"
#include "constants/songs.h"
-// multichoice lists
-const struct MenuAction MultichoiceList_000[] =
-{
- {gUnknown_085EAD37, NULL},
- {gUnknown_085EAD41, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_002[] =
-{
- {gUnknown_085EAD67, NULL},
- {gUnknown_085EAD6D, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_003[] =
-{
- {gUnknown_085EAD72, NULL},
- {gUnknown_085EAD84, NULL},
- {gUnknown_085EAD96, NULL},
- {gText_Cancel2, NULL},
-};
-
-const struct MenuAction MultichoiceList_004[] =
-{
- {gText_CoolnessContest, NULL},
- {gText_BeautyContest, NULL},
- {gText_CutenessContest, NULL},
- {gText_SmartnessContest, NULL},
- {gText_ToughnessContest, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_006[] =
-{
- {gUnknown_085EADF9, NULL},
- {gUnknown_085EAE04, NULL},
- {gUnknown_085EAE12, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_005[] =
-{
- {gUnknown_085EADF9, NULL},
- {gUnknown_085EAE04, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_007[] =
-{
- {gMenuText_Register, NULL},
- {gUnknown_085EAE12, NULL},
- {gUnknown_085EAE1B, NULL},
- {gText_Cancel2, NULL},
-};
-
-const struct MenuAction MultichoiceList_012[] =
-{
- {gUnknown_085EAE27, NULL},
- {gUnknown_085EAE2C, NULL},
-};
-
-const struct MenuAction MultichoiceList_013[] =
-{
- {gUnknown_085EAE31, NULL},
- {gUnknown_085EAE35, NULL},
- {gUnknown_085EAE39, NULL},
- {gUnknown_085EAE3D, NULL},
- {gUnknown_085EAE41, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_014[] =
-{
- {gUnknown_085EAD5F, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_016[] =
-{
- {gUnknown_085EAE53, NULL},
- {gUnknown_085EAE5A, NULL},
-};
-
-const struct MenuAction MultichoiceList_020[] =
-{
- {gText_Yes, NULL},
- {gText_No, NULL},
- {gUnknown_085EAD6D, NULL},
-};
-
-const struct MenuAction MultichoiceList_023[] =
-{
- {gUnknown_085EAEA2, NULL},
- {gUnknown_085EAEAC, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_024[] =
-{
- {gText_Lv50, NULL},
- {gText_OpenLevel, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_025[] = //Trick House Mechadoll 1, Question 1
-{
- {gTrickHouse_Mechadoll_Oddish, NULL},
- {gTrickHouse_Mechadoll_Poochyena, NULL},
- {gTrickHouse_Mechadoll_Taillow, NULL},
-};
-
-const struct MenuAction MultichoiceList_026[] = //Trick House Mechadoll 1, Question 2
-{
- {gTrickHouse_Mechadoll_Azurill, NULL},
- {gTrickHouse_Mechadoll_Lotad, NULL},
- {gTrickHouse_Mechadoll_Wingull, NULL},
-};
-
-const struct MenuAction MultichoiceList_027[] = //Trick House Mechadoll 1, Question 3
-{
- {gTrickHouse_Mechadoll_Dustox, NULL},
- {gTrickHouse_Mechadoll_Zubat, NULL},
- {gTrickHouse_Mechadoll_Nincada, NULL},
-};
-
-const struct MenuAction MultichoiceList_028[] = //Trick House Mechadoll 2, Question 1
-{
- {gTrickHouse_Mechadoll_Ralts, NULL},
- {gTrickHouse_Mechadoll_Zigzagoon, NULL},
- {gTrickHouse_Mechadoll_Slakoth, NULL},
-};
-
-const struct MenuAction MultichoiceList_029[] = //Trick House Mechadoll 2, Question 2
-{
- {gTrickHouse_Mechadoll_Poochyena2, NULL},
- {gTrickHouse_Mechadoll_Shroomish, NULL},
- {gTrickHouse_Mechadoll_Zigzagoon2, NULL},
-};
-
-const struct MenuAction MultichoiceList_030[] = //Trick House Mechadoll 2, Question 3
-{
- {gTrickHouse_Mechadoll_Poochyena3, NULL},
- {gTrickHouse_Mechadoll_Zubat2, NULL},
- {gTrickHouse_Mechadoll_Carvanha, NULL},
-};
-
-const struct MenuAction MultichoiceList_031[] = //Trick House Mechadoll 3, Question 1
-{
- {gTrickHouse_Mechadoll_BurnHeal, NULL},
- {gTrickHouse_Mechadoll_HarborMail, NULL},
- {gTrickHouse_Mechadoll_SamePrice, NULL},
-};
+#include "data/script_menu.h"
-const struct MenuAction MultichoiceList_032[] = //Trick House Mechadoll 3, Question 2
-{
- {gTrickHouse_Mechadoll_60Yen, NULL},
- {gTrickHouse_Mechadoll_55Yen, NULL},
- {gTrickHouse_Mechadoll_Nothing, NULL},
-};
-
-const struct MenuAction MultichoiceList_033[] = //Trick House Mechadoll 3, Question 3
-{
- {gTrickHouse_Mechadoll_CostMore, NULL},
- {gTrickHouse_Mechadoll_CostLess, NULL},
- {gTrickHouse_Mechadoll_SamePrice2, NULL},
-};
+static EWRAM_DATA u8 sProcessInputDelay = 0;
-const struct MenuAction MultichoiceList_034[] = //Trick House Mechadoll 4, Question 1
-{
- {gTrickHouse_Mechadoll_Male, NULL},
- {gTrickHouse_Mechadoll_Female, NULL},
- {gTrickHouse_Mechadoll_Neither, NULL},
-};
+static u8 sLilycoveSSTidalSelections[SSTIDAL_SELECTION_COUNT];
-const struct MenuAction MultichoiceList_035[] = //Trick House Mechadoll 4, Question 2
-{
- {gTrickHouse_Mechadoll_ElderlyMen, NULL},
- {gTrickHouse_Mechadoll_ElderlyLadies, NULL},
- {gTrickHouse_Mechadoll_SameNumber, NULL},
-};
-
-const struct MenuAction MultichoiceList_036[] = //Trick House Mechadoll 4, Question 3
-{
- {gTrickHouse_Mechadoll_None, NULL},
- {gTrickHouse_Mechadoll_One, NULL},
- {gTrickHouse_Mechadoll_Two, NULL},
-};
-
-const struct MenuAction MultichoiceList_037[] = //Trick House Mechadoll 5, Question 1
-{
- {gTrickHouse_Mechadoll_Two2, NULL},
- {gTrickHouse_Mechadoll_Three, NULL},
- {gTrickHouse_Mechadoll_Four, NULL},
-};
-
-const struct MenuAction MultichoiceList_038[] = //Trick House Mechadoll 5, Question 2
-{
- {gTrickHouse_Mechadoll_Six, NULL},
- {gTrickHouse_Mechadoll_Seven, NULL},
- {gTrickHouse_Mechadoll_Eight, NULL},
-};
-
-const struct MenuAction MultichoiceList_039[] = //Trick House Mechadoll 5, Question 3
-{
- {gTrickHouse_Mechadoll_Six2, NULL},
- {gTrickHouse_Mechadoll_Seven2, NULL},
- {gTrickHouse_Mechadoll_Eight2, NULL},
-};
-
-const struct MenuAction MultichoiceList_042[] =
-{
- {gUnknown_085EAEC3, NULL},
- {gUnknown_085EAED6, NULL},
- {gUnknown_085EAEE6, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_043[] =
-{
- {gUnknown_085EAEF6, NULL},
- {gUnknown_085EAF02, NULL},
- {gUnknown_085EAF0E, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_044[] =
-{
- {gUnknown_085EAF1B, NULL},
- {gUnknown_085EAF24, NULL},
- {gUnknown_085EAF2F, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_045[] =
-{
- {gUnknown_085EAF34, NULL},
- {gUnknown_085EAF3E, NULL},
-};
-
-const struct MenuAction MultichoiceList_046[] =
-{
- {gUnknown_085EAF4B, NULL},
- {gUnknown_085EAF58, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_047[] =
-{
- {gUnknown_085EAF65, NULL},
- {gUnknown_085EAF70, NULL},
- {gUnknown_085EAF7D, NULL},
- {gUnknown_085EAF87, NULL},
- {gUnknown_085EAF93, NULL},
- {gUnknown_085EAF9F, NULL},
- {gUnknown_085EAFAB, NULL},
- {gText_Cancel2, NULL},
-};
-
-const struct MenuAction MultichoiceList_048[] =
-{
- {gUnknown_085EAFB6, NULL},
- {gUnknown_085EAFCF, NULL},
- {gUnknown_085EAFE8, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_055[] =
-{
- {gUnknown_085EB089, NULL},
- {gUnknown_085EB09C, NULL},
- {gUnknown_085EB0AF, NULL},
- {gUnknown_085EB0C2, NULL},
- {gUnknown_085EB0D5, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_049[] =
-{
- {gUnknown_085EB002, NULL},
- {gUnknown_085EB017, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_050[] =
-{
- {gUnknown_085EB02A, NULL},
- {gUnknown_085EB034, NULL},
-};
-
-const struct MenuAction MultichoiceList_052[] =
-{
- {gText_LilycoveCity, NULL},
- {gText_BattleFrontier, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_053[] =
-{
- {gText_SlateportCity, NULL},
- {gText_LilycoveCity, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_054[] =
-{
- {gUnknown_085EB07E, NULL},
- {gUnknown_085EB084, NULL},
-};
-
-const struct MenuAction MultichoiceList_056[] =
-{
- {gText_LilycoveCity, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_057[] =
-{
- {gText_5F, NULL},
- {gText_4F, NULL},
- {gText_3F, NULL},
- {gText_2F, NULL},
- {gText_1F, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_058[] =
-{
- {gUnknown_085EB040, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_059[] =
-{
- {gUnknown_085EB04A, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_060[] =
-{
- {gUnknown_085EB040, NULL},
- {gUnknown_085EB04A, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_061[] =
-{
- {gUnknown_085EB057, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_062[] =
-{
- {gUnknown_085EB040, NULL},
- {gUnknown_085EB057, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_063[] =
-{
- {gUnknown_085EB04A, NULL},
- {gUnknown_085EB057, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_064[] =
-{
- {gUnknown_085EB040, NULL},
- {gUnknown_085EB04A, NULL},
- {gUnknown_085EB057, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_065[] =
-{
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_066[] =
-{
- {gUnknown_085EB040, NULL},
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_067[] =
-{
- {gUnknown_085EB04A, NULL},
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_068[] =
-{
- {gUnknown_085EB040, NULL},
- {gUnknown_085EB04A, NULL},
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_069[] =
-{
- {gUnknown_085EB057, NULL},
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_070[] =
-{
- {gUnknown_085EB040, NULL},
- {gUnknown_085EB057, NULL},
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_071[] =
-{
- {gUnknown_085EB04A, NULL},
- {gUnknown_085EB057, NULL},
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_072[] =
-{
- {gUnknown_085EB040, NULL},
- {gUnknown_085EB04A, NULL},
- {gUnknown_085EB057, NULL},
- {gUnknown_085EB062, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_073[] =
-{
- {gText_Opponent, NULL},
- {gText_Tourney_Tree, NULL},
- {gText_ReadyToStart, NULL},
- {gUnknown_085EB5BC, NULL},
- {gUnknown_085EB5C3, NULL},
- {gUnknown_085EB5C8, NULL},
-};
-
-const struct MenuAction MultichoiceList_107[] =
-{
- {gText_Opponent, NULL},
- {gText_Tourney_Tree, NULL},
- {gText_ReadyToStart, NULL},
- {gUnknown_085EB5C3, NULL},
- {gUnknown_085EB5C8, NULL},
-};
-
-const struct MenuAction MultichoiceList_088[] =
-{
- {gUnknown_085EB29A, NULL},
- {gUnknown_085EB2A3, NULL},
-};
-
-const struct MenuAction MultichoiceList_076[] =
-{
- {gUnknown_085EB372, NULL},
- {gUnknown_085EB37F, NULL},
- {gUnknown_085EB389, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_017[] =
-{
- {gText_Yes, NULL},
- {gText_No, NULL},
- {gUnknown_085EAD6D, NULL},
-};
-
-const struct MenuAction MultichoiceList_018[] =
-{
- {gUnknown_085EAE6E, NULL},
- {gUnknown_085EAE7C, NULL},
- {gUnknown_085EAE8A, NULL},
- {gUnknown_085EAD6D, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_078[] =
-{
- {gUnknown_085EB372, NULL},
- {gUnknown_085EB37F, NULL},
- {gUnknown_085EB397, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_079[] =
-{
- {gUnknown_085EB372, NULL},
- {gUnknown_085EB37F, NULL},
- {gUnknown_085EB389, NULL},
- {gUnknown_085EB397, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_074[] =
-{
- {gUnknown_085EB372, NULL},
- {gUnknown_085EB37F, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_080[] =
-{
- {gUnknown_085EB3A4, NULL},
- {gUnknown_085EB3B1, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_081[] =
-{
- {gUnknown_085EB3D4, NULL},
- {gUnknown_085EB3C6, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_082[] =
-{
- {gText_NormalRank, NULL},
- {gText_SuperRank, NULL},
- {gText_HyperRank, NULL},
- {gText_MasterRank, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_083[] =
-{
- {gText_BattleBag, NULL},
- {gText_HeldItem, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_084[] =
-{
- {gText_LinkContest, NULL},
- {gText_AboutE_Mode, NULL},
- {gText_AboutG_Mode, NULL},
- {gText_Cancel2, NULL},
-};
-
-const struct MenuAction MultichoiceList_085[] =
-{
- {gText_E_Mode, NULL},
- {gText_G_Mode, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_086[] =
-{
- {gText_MenuOptionPokedex, NULL},
- {gText_MenuOptionPokemon, NULL},
- {gText_MenuOptionBag, NULL},
- {gText_MenuOptionPokenav, NULL},
- {gUnknown_085EB278, NULL},
- {gText_MenuOptionSave, NULL},
- {gText_MenuOptionOption, NULL},
- {gText_MenuOptionExit, NULL},
-};
-
-const struct MenuAction MultichoiceList_087[] =
-{
- {gUnknown_085EB28A, NULL},
- {gUnknown_085EB290, NULL},
- {gUnknown_085EB295, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_089[] =
-{
- {gText_SouthernIsland, NULL},
- {gText_BirthIsland, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_090[] =
-{
- {gText_SouthernIsland, NULL},
- {gText_FarawayIsland, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_091[] =
-{
- {gText_BirthIsland, NULL},
- {gText_FarawayIsland, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_092[] =
-{
- {gText_SouthernIsland, NULL},
- {gText_BirthIsland, NULL},
- {gText_FarawayIsland, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_093[] =
-{
- {gUnknown_085EB2E4, NULL},
- {gUnknown_085EB2F0, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_094[] =
-{
- {gText_Yes, NULL},
- {gUnknown_085EB2FC, NULL},
-};
-
-const struct MenuAction MultichoiceList_095[] =
-{
- {gUnknown_085EB3DF, NULL},
- {gUnknown_085EB3EA, NULL},
- {gUnknown_085EB3F1, NULL},
- {gUnknown_085EB3FC, NULL},
- {gUnknown_085EB40A, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_011[] =
-{
- {gUnknown_085EB415, NULL},
- {gUnknown_085EB41D, NULL},
- {gUnknown_085EB424, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_096[] =
-{
- {gUnknown_085EB45C, NULL},
- {gUnknown_085EB469, NULL},
- {gUnknown_085EB475, NULL},
- {gUnknown_085EB482, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_097[] =
-{
- {gUnknown_085EB42F, NULL},
- {gUnknown_085EB43A, NULL},
- {gUnknown_085EB444, NULL},
- {gUnknown_085EB451, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_098[] =
-{
- {gUnknown_085EB48E, NULL},
- {gUnknown_085EB496, NULL},
- {gUnknown_085EB4A3, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_099[] =
-{
- {gUnknown_085EB4AD, NULL},
- {gUnknown_085EB4B9, NULL},
- {gUnknown_085EB4C7, NULL},
- {gUnknown_085EB4D4, NULL},
- {gUnknown_085EB4E0, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_100[] =
-{
- {gText_BattleBasics, NULL},
- {gText_PokemonNature, NULL},
- {gText_PokemonMoves, NULL},
- {gText_Underpowered, NULL},
- {gText_WhenInDanger, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_101[] =
-{
- {gUnknown_085EB532, NULL},
- {gUnknown_085EB543, NULL},
- {gUnknown_085EB555, NULL},
- {gUnknown_085EB563, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_102[] =
-{
- {gUnknown_085EB56E, NULL},
- {gUnknown_085EB57E, NULL},
- {gUnknown_085EB589, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_103[] =
-{
- {gUnknown_085EB5B6, NULL},
- {gUnknown_085EB5BC, NULL},
- {gUnknown_085EB5C3, NULL},
- {gUnknown_085EB5C8, NULL},
-};
-
-const struct MenuAction MultichoiceList_104[] =
-{
- {gUnknown_085EB5B6, NULL},
- {gUnknown_085EB5C3, NULL},
- {gUnknown_085EB5C8, NULL},
-};
-
-const struct MenuAction MultichoiceList_105[] =
-{
- {gUnknown_085EB5B6, NULL},
- {gUnknown_085EB5BC, NULL},
- {gUnknown_085EB5C8, NULL},
-};
-
-const struct MenuAction MultichoiceList_106[] =
-{
- {gUnknown_085EB5B6, NULL},
- {gUnknown_085EB5C8, NULL},
-};
-
-const struct MenuAction MultichoiceList_108[] =
-{
- {gUnknown_085EE14B, NULL},
- {gUnknown_085EE14F, NULL},
-};
-
-const struct MenuAction MultichoiceList_109[] =
-{
- {gUnknown_085EB2FF, NULL},
- {gUnknown_085EB310, NULL},
- {gUnknown_085EB317, NULL},
- {gUnknown_085EB31F, NULL},
-};
-
-const struct MenuAction MultichoiceList_110[] =
-{
- {gText_CaveOfOrigin, NULL},
- {gText_MtPyre, NULL},
- {gText_SkyPillar, NULL},
- {gText_DontRemember, NULL},
-};
-
-const struct MenuAction MultichoiceList_111[] =
-{
- {gUnknown_085EB4AD, NULL},
- {gUnknown_085EB4B9, NULL},
- {gUnknown_085EB4C7, NULL},
- {gUnknown_085EB4D4, NULL},
- {gUnknown_085EB597, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_112[] =
-{
- {gText_BattleTrainers, NULL},
- {gUnknown_085EB45C, NULL},
- {gUnknown_085EB469, NULL},
- {gUnknown_085EB475, NULL},
- {gUnknown_085EB482, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_113[] =
-{
- {gText_NormalTagMatch, NULL},
- {gText_VarietyTagMatch, NULL},
- {gText_UniqueTagMatch, NULL},
- {gText_ExpertTagMatch, NULL},
- {gText_Exit, NULL},
-};
-
-const struct MenuAction MultichoiceList_001[] =
-{
- {gText_Exit, NULL},
-};
-
-struct MultichoiceListStruct
-{
- const struct MenuAction *list;
- u8 count;
-};
-
-const struct MultichoiceListStruct gMultichoiceLists[] =
-{
- {MultichoiceList_000, ARRAY_COUNT(MultichoiceList_000)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_002, ARRAY_COUNT(MultichoiceList_002)},
- {MultichoiceList_003, ARRAY_COUNT(MultichoiceList_003)},
- {MultichoiceList_004, ARRAY_COUNT(MultichoiceList_004)},
- {MultichoiceList_005, ARRAY_COUNT(MultichoiceList_005)},
- {MultichoiceList_006, ARRAY_COUNT(MultichoiceList_006)},
- {MultichoiceList_007, ARRAY_COUNT(MultichoiceList_007)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_011, ARRAY_COUNT(MultichoiceList_011)},
- {MultichoiceList_012, ARRAY_COUNT(MultichoiceList_012)},
- {MultichoiceList_013, ARRAY_COUNT(MultichoiceList_013)},
- {MultichoiceList_014, ARRAY_COUNT(MultichoiceList_014)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_016, ARRAY_COUNT(MultichoiceList_016)},
- {MultichoiceList_017, ARRAY_COUNT(MultichoiceList_017)},
- {MultichoiceList_018, ARRAY_COUNT(MultichoiceList_018)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_020, ARRAY_COUNT(MultichoiceList_020)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_023, ARRAY_COUNT(MultichoiceList_023)},
- {MultichoiceList_024, ARRAY_COUNT(MultichoiceList_024)},
- {MultichoiceList_025, ARRAY_COUNT(MultichoiceList_025)},
- {MultichoiceList_026, ARRAY_COUNT(MultichoiceList_026)},
- {MultichoiceList_027, ARRAY_COUNT(MultichoiceList_027)},
- {MultichoiceList_028, ARRAY_COUNT(MultichoiceList_028)},
- {MultichoiceList_029, ARRAY_COUNT(MultichoiceList_029)},
- {MultichoiceList_030, ARRAY_COUNT(MultichoiceList_030)},
- {MultichoiceList_031, ARRAY_COUNT(MultichoiceList_031)},
- {MultichoiceList_032, ARRAY_COUNT(MultichoiceList_032)},
- {MultichoiceList_033, ARRAY_COUNT(MultichoiceList_033)},
- {MultichoiceList_034, ARRAY_COUNT(MultichoiceList_034)},
- {MultichoiceList_035, ARRAY_COUNT(MultichoiceList_035)},
- {MultichoiceList_036, ARRAY_COUNT(MultichoiceList_036)},
- {MultichoiceList_037, ARRAY_COUNT(MultichoiceList_037)},
- {MultichoiceList_038, ARRAY_COUNT(MultichoiceList_038)},
- {MultichoiceList_039, ARRAY_COUNT(MultichoiceList_039)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_042, ARRAY_COUNT(MultichoiceList_042)},
- {MultichoiceList_043, ARRAY_COUNT(MultichoiceList_043)},
- {MultichoiceList_044, ARRAY_COUNT(MultichoiceList_044)},
- {MultichoiceList_045, ARRAY_COUNT(MultichoiceList_045)},
- {MultichoiceList_046, ARRAY_COUNT(MultichoiceList_046)},
- {MultichoiceList_047, ARRAY_COUNT(MultichoiceList_047)},
- {MultichoiceList_048, ARRAY_COUNT(MultichoiceList_048)},
- {MultichoiceList_049, ARRAY_COUNT(MultichoiceList_049)},
- {MultichoiceList_050, ARRAY_COUNT(MultichoiceList_050)},
- {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
- {MultichoiceList_052, ARRAY_COUNT(MultichoiceList_052)},
- {MultichoiceList_053, ARRAY_COUNT(MultichoiceList_053)},
- {MultichoiceList_054, ARRAY_COUNT(MultichoiceList_054)},
- {MultichoiceList_055, ARRAY_COUNT(MultichoiceList_055)},
- {MultichoiceList_056, ARRAY_COUNT(MultichoiceList_056)},
- {MultichoiceList_057, ARRAY_COUNT(MultichoiceList_057)},
- {MultichoiceList_058, ARRAY_COUNT(MultichoiceList_058)},
- {MultichoiceList_059, ARRAY_COUNT(MultichoiceList_059)},
- {MultichoiceList_060, ARRAY_COUNT(MultichoiceList_060)},
- {MultichoiceList_061, ARRAY_COUNT(MultichoiceList_061)},
- {MultichoiceList_062, ARRAY_COUNT(MultichoiceList_062)},
- {MultichoiceList_063, ARRAY_COUNT(MultichoiceList_063)},
- {MultichoiceList_064, ARRAY_COUNT(MultichoiceList_064)},
- {MultichoiceList_065, ARRAY_COUNT(MultichoiceList_065)},
- {MultichoiceList_066, ARRAY_COUNT(MultichoiceList_066)},
- {MultichoiceList_067, ARRAY_COUNT(MultichoiceList_067)},
- {MultichoiceList_068, ARRAY_COUNT(MultichoiceList_068)},
- {MultichoiceList_069, ARRAY_COUNT(MultichoiceList_069)},
- {MultichoiceList_070, ARRAY_COUNT(MultichoiceList_070)},
- {MultichoiceList_071, ARRAY_COUNT(MultichoiceList_071)},
- {MultichoiceList_072, ARRAY_COUNT(MultichoiceList_072)},
- {MultichoiceList_073, ARRAY_COUNT(MultichoiceList_073)},
- {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)},
- {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)},
- {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)},
- {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)},
- {MultichoiceList_078, ARRAY_COUNT(MultichoiceList_078)},
- {MultichoiceList_079, ARRAY_COUNT(MultichoiceList_079)},
- {MultichoiceList_080, ARRAY_COUNT(MultichoiceList_080)},
- {MultichoiceList_081, ARRAY_COUNT(MultichoiceList_081)},
- {MultichoiceList_082, ARRAY_COUNT(MultichoiceList_082)},
- {MultichoiceList_083, ARRAY_COUNT(MultichoiceList_083)},
- {MultichoiceList_084, ARRAY_COUNT(MultichoiceList_084)},
- {MultichoiceList_085, ARRAY_COUNT(MultichoiceList_085)},
- {MultichoiceList_086, ARRAY_COUNT(MultichoiceList_086)},
- {MultichoiceList_087, ARRAY_COUNT(MultichoiceList_087)},
- {MultichoiceList_088, ARRAY_COUNT(MultichoiceList_088)},
- {MultichoiceList_089, ARRAY_COUNT(MultichoiceList_089)},
- {MultichoiceList_090, ARRAY_COUNT(MultichoiceList_090)},
- {MultichoiceList_091, ARRAY_COUNT(MultichoiceList_091)},
- {MultichoiceList_092, ARRAY_COUNT(MultichoiceList_092)},
- {MultichoiceList_093, ARRAY_COUNT(MultichoiceList_093)},
- {MultichoiceList_094, ARRAY_COUNT(MultichoiceList_094)},
- {MultichoiceList_095, ARRAY_COUNT(MultichoiceList_095)},
- {MultichoiceList_096, ARRAY_COUNT(MultichoiceList_096)},
- {MultichoiceList_097, ARRAY_COUNT(MultichoiceList_097)},
- {MultichoiceList_098, ARRAY_COUNT(MultichoiceList_098)},
- {MultichoiceList_099, ARRAY_COUNT(MultichoiceList_099)},
- {MultichoiceList_100, ARRAY_COUNT(MultichoiceList_100)},
- {MultichoiceList_101, ARRAY_COUNT(MultichoiceList_101)},
- {MultichoiceList_102, ARRAY_COUNT(MultichoiceList_102)},
- {MultichoiceList_103, ARRAY_COUNT(MultichoiceList_103)},
- {MultichoiceList_104, ARRAY_COUNT(MultichoiceList_104)},
- {MultichoiceList_105, ARRAY_COUNT(MultichoiceList_105)},
- {MultichoiceList_106, ARRAY_COUNT(MultichoiceList_106)},
- {MultichoiceList_107, ARRAY_COUNT(MultichoiceList_107)},
- {MultichoiceList_108, ARRAY_COUNT(MultichoiceList_108)},
- {MultichoiceList_109, ARRAY_COUNT(MultichoiceList_109)},
- {MultichoiceList_110, ARRAY_COUNT(MultichoiceList_110)},
- {MultichoiceList_111, ARRAY_COUNT(MultichoiceList_111)},
- {MultichoiceList_112, ARRAY_COUNT(MultichoiceList_112)},
- {MultichoiceList_113, ARRAY_COUNT(MultichoiceList_113)},
-};
-
-const u8 *const gUnknown_0858BAF0[] =
-{
- gText_Cool,
- gText_Beauty,
- gText_Cute,
- gText_Smart,
- gText_Tough,
- gText_Normal,
- gText_Super,
- gText_Hyper,
- gText_Master,
- gText_Cool2,
- gText_Beauty2,
- gText_Cute2,
- gText_Smart2,
- gText_Tough2,
- gText_Items,
- gText_Key_Items,
- gText_Poke_Balls,
- gText_TMs_Hms,
- gText_Berries2,
- gText_Single2,
- gText_Double2,
- gText_Multi,
- gText_MultiLink,
- gText_BattleTower2,
- gText_BattleDome,
- gText_BattleFactory,
- gText_BattlePalace,
- gText_BattleArena,
- gText_BattlePike,
- gText_BattlePyramid,
-};
-
-const u8 gUnknown_0858BB68[] = { 74, 75, 76, 77, 78, 79 };
-
-const u8 *const sPCNameStrings[] =
-{
- gText_SomeonesPC,
- gText_LanettesPC,
- gText_PlayersPC,
- gText_LogOff,
-};
-
-const u8 *const gUnknown_0858BB80[] =
-{
- gText_SlateportCity,
- gText_BattleFrontier,
- gText_SouthernIsland,
- gText_NavelRock,
- gText_BirthIsland,
- gText_FarawayIsland,
- gText_Exit,
-};
-
-const u8 *const gUnknown_0858BB9C[] =
-{
- OldaleTown_PokemonCenter_2F_Text_277F1B,
- OldaleTown_PokemonCenter_2F_Text_277F5A,
- OldaleTown_PokemonCenter_2F_Text_277F96,
- OldaleTown_PokemonCenter_2F_Text_27889C,
-};
-const u8 *const gUnknown_0858BBAC[] =
-{
- OldaleTown_PokemonCenter_2F_Text_27879F,
- OldaleTown_PokemonCenter_2F_Text_2787D5,
- OldaleTown_PokemonCenter_2F_Text_278831,
- OldaleTown_PokemonCenter_2F_Text_27889C,
-};
-const u8 *const gUnknown_0858BBBC[] =
-{
- OldaleTown_PokemonCenter_2F_Text_27879F,
- OldaleTown_PokemonCenter_2F_Text_2787D5,
- OldaleTown_PokemonCenter_2F_Text_2787FC,
- OldaleTown_PokemonCenter_2F_Text_27889C,
-};
-const u8 *const gUnknown_0858BBCC[] =
-{
- OldaleTown_PokemonCenter_2F_Text_27879F,
- OldaleTown_PokemonCenter_2F_Text_2787D5,
- OldaleTown_PokemonCenter_2F_Text_278831,
- OldaleTown_PokemonCenter_2F_Text_2787FC,
- OldaleTown_PokemonCenter_2F_Text_27889C,
-};
-const u8 *const gUnknown_0858BBE0[] =
-{
- OldaleTown_PokemonCenter_2F_Text_277F1B,
- OldaleTown_PokemonCenter_2F_Text_277F5A,
- OldaleTown_PokemonCenter_2F_Text_27889C,
-};
-const u8 *const gUnknown_0858BBEC[] =
-{
- OldaleTown_PokemonCenter_2F_Text_27879F,
- OldaleTown_PokemonCenter_2F_Text_2787D5,
- OldaleTown_PokemonCenter_2F_Text_27889C,
-};
-
-EWRAM_DATA u8 gUnknown_02039F90 = 0;
-
-static u8 gUnknown_03001124[7];
-static u32 filler_0300112c;
-
-static void Task_HandleMultichoiceInput(u8);
-static void Task_HandleYesNoInput(u8);
-static void Task_HandleMultichoiceGridInput(u8);
-static void DrawMultichoiceMenu(u8, u8, u8, bool8, u8);
-static void sub_80E1FBC(u8, u8, u8, u8);
-static void sub_80E2A94(u8);
-static void CreatePCMenu(void);
-static void sub_80E2578(void);
+static void Task_HandleMultichoiceInput(u8 taskId);
+static void Task_HandleYesNoInput(u8 taskId);
+static void Task_HandleMultichoiceGridInput(u8 taskId);
+static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos);
+static void InitMultichoiceCheckWrap(bool8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId);
+static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId);
+static void CreatePCMultichoice(void);
+static void CreateLilycoveSSTidalMultichoice(void);
static bool8 IsPicboxClosed(void);
-static void CreateStartMenu(void);
-static void sub_80E2CC4(u8, u8, u8, u8);
+static void CreateStartMenuForPokenavTutorial(void);
+static void InitMultichoiceNoWrap(bool8 ignoreBPress, u8 unusedCount, u8 windowId, u8 multichoiceId);
-bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress)
+bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress)
{
if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
{
@@ -1060,7 +64,8 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8
}
}
-static u16 sub_80E1EB8(const u8 *str)
+// Unused
+static u16 GetLengthWithExpandedPlayerName(const u8 *str)
{
u16 length = 0;
@@ -1069,7 +74,7 @@ static u16 sub_80E1EB8(const u8 *str)
if (*str == PLACEHOLDER_BEGIN)
{
str++;
- if (*str == 1)
+ if (*str == PLACEHOLDER_ID_PLAYER)
{
length += StringLength(gSaveBlock2Ptr->playerName);
str++;
@@ -1085,28 +90,28 @@ static u16 sub_80E1EB8(const u8 *str)
return length;
}
-static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 cursorPos)
+static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos)
{
int i;
u8 windowId;
- u8 count = gMultichoiceLists[multichoiceId].count;
- const struct MenuAction *actions = gMultichoiceLists[multichoiceId].list;
+ u8 count = sMultichoiceLists[multichoiceId].count;
+ const struct MenuAction *actions = sMultichoiceLists[multichoiceId].list;
int width = 0;
u8 newWidth;
for (i = 0; i < count; i++)
{
- width = display_text_and_get_width(actions[i].text, width);
+ width = DisplayTextAndGetWidth(actions[i].text, width);
}
- newWidth = convert_pixel_width_to_tile_width(width);
- left = sub_80E2D5C(left, newWidth);
+ newWidth = ConvertPixelWidthToTileWidth(width);
+ left = ScriptMenu_AdjustLeftCoordFromWidth(left, newWidth);
windowId = CreateWindowFromRect(left, top, newWidth, count * 2);
SetStandardWindowBorderStyle(windowId, 0);
PrintMenuTable(windowId, count, actions);
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, cursorPos);
schedule_bg_copy_tilemap_to_vram(0);
- sub_80E1FBC(ignoreBPress, count, windowId, multichoiceId);
+ InitMultichoiceCheckWrap(ignoreBPress, count, windowId, multichoiceId);
}
#define tLeft data[0]
@@ -1118,17 +123,17 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPre
#define tWindowId data[6]
#define tMultichoiceId data[7]
-static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId)
+static void InitMultichoiceCheckWrap(bool8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId)
{
u8 i;
u8 taskId;
- gUnknown_02039F90 = 2;
+ sProcessInputDelay = 2;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < ARRAY_COUNT(sLinkServicesMultichoiceIds); i++)
{
- if (gUnknown_0858BB68[i] == multichoiceId)
+ if (sLinkServicesMultichoiceIds[i] == multichoiceId)
{
- gUnknown_02039F90 = 12;
+ sProcessInputDelay = 12;
}
}
@@ -1144,7 +149,7 @@ static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId
gTasks[taskId].tWindowId = windowId;
gTasks[taskId].tMultichoiceId = multichoiceId;
- sub_80E2A94(multichoiceId);
+ DrawLinkServicesMultichoiceMenu(multichoiceId);
}
static void Task_HandleMultichoiceInput(u8 taskId)
@@ -1154,9 +159,9 @@ static void Task_HandleMultichoiceInput(u8 taskId)
if (!gPaletteFade.active)
{
- if (gUnknown_02039F90)
+ if (sProcessInputDelay)
{
- gUnknown_02039F90--;
+ sProcessInputDelay--;
}
else
{
@@ -1167,7 +172,7 @@ static void Task_HandleMultichoiceInput(u8 taskId)
if (gMain.newKeys & (DPAD_UP | DPAD_DOWN))
{
- sub_80E2A94(tMultichoiceId);
+ DrawLinkServicesMultichoiceMenu(tMultichoiceId);
}
if (selection != MENU_NOTHING_CHOSEN)
@@ -1177,7 +182,7 @@ static void Task_HandleMultichoiceInput(u8 taskId)
if (tIgnoreBPress)
return;
PlaySE(SE_SELECT);
- gSpecialVar_Result = 127;
+ gSpecialVar_Result = MULTI_B_PRESSED;
}
else
{
@@ -1208,7 +213,7 @@ bool8 ScriptMenu_YesNo(u8 left, u8 top)
}
}
-// unused
+// Unused
bool8 IsScriptActive(void)
{
if (gSpecialVar_Result == 0xFF)
@@ -1243,7 +248,7 @@ static void Task_HandleYesNoInput(u8 taskId)
EnableBothScriptContexts();
}
-bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount)
+bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 columnCount)
{
if (FuncIsActiveTask(Task_HandleMultichoiceGridInput) == TRUE)
{
@@ -1258,22 +263,22 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr
gSpecialVar_Result = 0xFF;
width = 0;
- for (i = 0; i < gMultichoiceLists[multichoiceId].count; i++)
+ for (i = 0; i < sMultichoiceLists[multichoiceId].count; i++)
{
- width = display_text_and_get_width(gMultichoiceLists[multichoiceId].list[i].text, width);
+ width = DisplayTextAndGetWidth(sMultichoiceLists[multichoiceId].list[i].text, width);
}
- newWidth = convert_pixel_width_to_tile_width(width);
+ newWidth = ConvertPixelWidthToTileWidth(width);
- left = sub_80E2D5C(left, columnCount * newWidth);
- rowCount = gMultichoiceLists[multichoiceId].count / columnCount;
+ left = ScriptMenu_AdjustLeftCoordFromWidth(left, columnCount * newWidth);
+ rowCount = sMultichoiceLists[multichoiceId].count / columnCount;
taskId = CreateTask(Task_HandleMultichoiceGridInput, 80);
gTasks[taskId].tIgnoreBPress = ignoreBPress;
gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, rowCount * 2);
SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0);
- PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, gMultichoiceLists[multichoiceId].list);
+ PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, sMultichoiceLists[multichoiceId].list);
sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, 0);
CopyWindowToVram(gTasks[taskId].tWindowId, 3);
return TRUE;
@@ -1293,7 +298,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId)
if (tIgnoreBPress)
return;
PlaySE(SE_SELECT);
- gSpecialVar_Result = 0x7F;
+ gSpecialVar_Result = MULTI_B_PRESSED;
break;
default:
gSpecialVar_Result = selection;
@@ -1307,7 +312,7 @@ static void Task_HandleMultichoiceGridInput(u8 taskId)
#undef tWindowId
-bool16 ScrSpecial_CreatePCMenu(void)
+bool16 ScriptMenu_CreatePCMultichoice(void)
{
if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
{
@@ -1316,12 +321,12 @@ bool16 ScrSpecial_CreatePCMenu(void)
else
{
gSpecialVar_Result = 0xFF;
- CreatePCMenu();
+ CreatePCMultichoice();
return TRUE;
}
}
-static void CreatePCMenu(void)
+static void CreatePCMultichoice(void)
{
u8 y = 8;
u32 pixelWidth = 0;
@@ -1332,17 +337,18 @@ static void CreatePCMenu(void)
for (i = 0; i < ARRAY_COUNT(sPCNameStrings); i++)
{
- pixelWidth = display_text_and_get_width(sPCNameStrings[i], pixelWidth);
+ pixelWidth = DisplayTextAndGetWidth(sPCNameStrings[i], pixelWidth);
}
if (FlagGet(FLAG_SYS_GAME_CLEAR))
{
- pixelWidth = display_text_and_get_width(gText_HallOfFame, pixelWidth);
+ pixelWidth = DisplayTextAndGetWidth(gText_HallOfFame, pixelWidth);
}
- width = convert_pixel_width_to_tile_width(pixelWidth);
+ width = ConvertPixelWidthToTileWidth(pixelWidth);
- if (FlagGet(FLAG_SYS_GAME_CLEAR)) // player has cleared game?
+ // Include Hall of Fame option if player is champion
+ if (FlagGet(FLAG_SYS_GAME_CLEAR))
{
numChoices = 4;
windowId = CreateWindowFromRect(0, 0, width, 8);
@@ -1358,7 +364,8 @@ static void CreatePCMenu(void)
AddTextPrinterParameterized(windowId, 1, gText_LogOff, y, 33, TEXT_SPEED_FF, NULL);
}
- if (FlagGet(FLAG_SYS_PC_LANETTE)) // player met lanette?
+ // Change PC name if player has met Lanette
+ if (FlagGet(FLAG_SYS_PC_LANETTE))
AddTextPrinterParameterized(windowId, 1, gText_LanettesPC, y, 1, TEXT_SPEED_FF, NULL);
else
AddTextPrinterParameterized(windowId, 1, gText_SomeonesPC, y, 1, TEXT_SPEED_FF, NULL);
@@ -1367,7 +374,7 @@ static void CreatePCMenu(void)
PrintPlayerNameOnWindow(windowId, gStringVar4, y, 17);
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, numChoices, 0);
CopyWindowToVram(windowId, 3);
- sub_80E1FBC(FALSE, numChoices, windowId, 1);
+ InitMultichoiceCheckWrap(FALSE, numChoices, windowId, MULTI_PC);
}
void ScriptMenu_DisplayPCStartupPrompt(void)
@@ -1376,7 +383,7 @@ void ScriptMenu_DisplayPCStartupPrompt(void)
AddTextPrinterParameterized2(0, 1, gText_WhichPCShouldBeAccessed, 0, NULL, 2, 1, 3);
}
-bool8 sub_80E2548(void)
+bool8 ScriptMenu_CreateLilycoveSSTidalMultichoice(void)
{
if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
{
@@ -1385,14 +392,16 @@ bool8 sub_80E2548(void)
else
{
gSpecialVar_Result = 0xFF;
- sub_80E2578();
+ CreateLilycoveSSTidalMultichoice();
return TRUE;
}
}
-static void sub_80E2578(void)
+// gSpecialVar_0x8004 is 1 if the Sailor was shown multiple event tickets at the same time
+// otherwise gSpecialVar_0x8004 is 0
+static void CreateLilycoveSSTidalMultichoice(void)
{
- u8 temp = 0;
+ u8 selectionCount = 0;
u8 count;
u32 pixelWidth;
u8 width;
@@ -1400,21 +409,22 @@ static void sub_80E2578(void)
u8 i;
u32 j;
- for (i = 0; i < ARRAY_COUNT(gUnknown_03001124); i++)
+ for (i = 0; i < SSTIDAL_SELECTION_COUNT; i++)
{
- gUnknown_03001124[i] = 0xFF;
+ sLilycoveSSTidalSelections[i] = 0xFF;
}
GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH);
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[temp] = 0;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SLATEPORT;
+ selectionCount++;
+
if (FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE)
{
- gUnknown_03001124[temp] = 1;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BATTLE_FRONTIER;
+ selectionCount++;
}
}
@@ -1422,14 +432,14 @@ static void sub_80E2578(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[temp] = 2;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND;
+ selectionCount++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_EON_TICKET) == FALSE)
{
- gUnknown_03001124[temp] = 2;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_SOUTHERN_ISLAND;
+ selectionCount++;
FlagSet(FLAG_HAS_EON_TICKET);
}
}
@@ -1438,14 +448,14 @@ static void sub_80E2578(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[temp] = 3;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK;
+ selectionCount++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_MYSTIC_TICKET) == FALSE)
{
- gUnknown_03001124[temp] = 3;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_NAVEL_ROCK;
+ selectionCount++;
FlagSet(FLAG_HAS_MYSTIC_TICKET);
}
}
@@ -1454,14 +464,14 @@ static void sub_80E2578(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[temp] = 4;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND;
+ selectionCount++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_AURORA_TICKET) == FALSE)
{
- gUnknown_03001124[temp] = 4;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_BIRTH_ISLAND;
+ selectionCount++;
FlagSet(FLAG_HAS_AURORA_TICKET);
}
}
@@ -1470,69 +480,69 @@ static void sub_80E2578(void)
{
if (gSpecialVar_0x8004 == 0)
{
- gUnknown_03001124[temp] = 5;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND;
+ selectionCount++;
}
if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_HAS_OLD_SEA_MAP) == FALSE)
{
- gUnknown_03001124[temp] = 5;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_FARAWAY_ISLAND;
+ selectionCount++;
FlagSet(FLAG_HAS_OLD_SEA_MAP);
}
}
- gUnknown_03001124[temp] = 6;
- temp++;
+ sLilycoveSSTidalSelections[selectionCount] = SSTIDAL_SELECTION_EXIT;
+ selectionCount++;
if (gSpecialVar_0x8004 == 0 && FlagGet(FLAG_MET_SCOTT_ON_SS_TIDAL) == TRUE)
{
- count = temp;
+ count = selectionCount;
}
- count = temp;
- if (count == 7)
+ count = selectionCount;
+ if (count == SSTIDAL_SELECTION_COUNT)
{
- gSpecialVar_0x8004 = 11;
- sub_813A128();
+ gSpecialVar_0x8004 = SCROLL_MULTI_SS_TIDAL_DESTINATION;
+ ShowScrollableMultichoice();
}
else
{
pixelWidth = 0;
- for (j = 0; j < ARRAY_COUNT(gUnknown_0858BB80); j++)
+ for (j = 0; j < SSTIDAL_SELECTION_COUNT; j++)
{
- u8 test = gUnknown_03001124[j];
- if (test != 0xFF)
+ u8 selection = sLilycoveSSTidalSelections[j];
+ if (selection != 0xFF)
{
- pixelWidth = display_text_and_get_width(gUnknown_0858BB80[test], pixelWidth);
+ pixelWidth = DisplayTextAndGetWidth(sLilycoveSSTidalDestinations[selection], pixelWidth);
}
}
- width = convert_pixel_width_to_tile_width(pixelWidth);
- windowId = CreateWindowFromRect(28 - width, (6 - count) * 2, width, count * 2);
+ width = ConvertPixelWidthToTileWidth(pixelWidth);
+ windowId = CreateWindowFromRect(MAX_MULTICHOICE_WIDTH - width, (6 - count) * 2, width, count * 2);
SetStandardWindowBorderStyle(windowId, 0);
- for (temp = 0, i = 0; i < ARRAY_COUNT(gUnknown_0858BB80); i++)
+ for (selectionCount = 0, i = 0; i < SSTIDAL_SELECTION_COUNT; i++)
{
- if (gUnknown_03001124[i] != 0xFF)
+ if (sLilycoveSSTidalSelections[i] != 0xFF)
{
- AddTextPrinterParameterized(windowId, 1, gUnknown_0858BB80[gUnknown_03001124[i]], 8, temp * 16 + 1, TEXT_SPEED_FF, NULL);
- temp++;
+ AddTextPrinterParameterized(windowId, 1, sLilycoveSSTidalDestinations[sLilycoveSSTidalSelections[i]], 8, selectionCount * 16 + 1, TEXT_SPEED_FF, NULL);
+ selectionCount++;
}
}
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, count - 1);
CopyWindowToVram(windowId, 3);
- sub_80E1FBC(FALSE, count, windowId, 8);
+ InitMultichoiceCheckWrap(FALSE, count, windowId, MULTI_SSTIDAL_LILYCOVE);
}
}
-void sub_80E2878(void)
+void GetLilycoveSSTidalSelection(void)
{
- if (gSpecialVar_Result != 0x7F)
+ if (gSpecialVar_Result != MULTI_B_PRESSED)
{
- gSpecialVar_Result = gUnknown_03001124[gSpecialVar_Result];
+ gSpecialVar_Result = sLilycoveSSTidalSelections[gSpecialVar_Result];
}
}
@@ -1629,50 +639,52 @@ void ClearToTransparentAndRemoveWindow(u8 windowId)
RemoveWindow(windowId);
}
-static void sub_80E2A94(u8 multichoiceId)
+static void DrawLinkServicesMultichoiceMenu(u8 multichoiceId)
{
switch (multichoiceId)
{
- case 77:
+ case MULTI_WIRELESS_NO_BERRY:
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, sWirelessOptionsNoBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
- case 76:
+ case MULTI_CABLE_CLUB_WITH_RECORD_MIX:
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, sCableClubOptions_WithRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
- case 78:
+ case MULTI_WIRELESS_NO_RECORD:
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, sWirelessOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
- case 79:
+ case MULTI_WIRELESS_ALL_SERVICES:
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, sWirelessOptions_AllServices[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
- case 75:
+ case MULTI_WIRELESS_NO_RECORD_BERRY:
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, sWirelessOptions_NoRecordMixBerryCrush[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
- case 74:
+ case MULTI_CABLE_CLUB_NO_RECORD_MIX:
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, sCableClubOptions_NoRecordMix[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
}
}
-bool16 sp106_CreateStartMenu(void)
+bool16 ScriptMenu_CreateStartMenuForPokenavTutorial(void)
{
if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
{
return FALSE;
}
-
- gSpecialVar_Result = 0xFF;
- CreateStartMenu();
- return TRUE;
+ else
+ {
+ gSpecialVar_Result = 0xFF;
+ CreateStartMenuForPokenavTutorial();
+ return TRUE;
+ }
}
-static void CreateStartMenu(void)
+static void CreateStartMenuForPokenavTutorial(void)
{
u8 windowId = CreateWindowFromRect(21, 0, 7, 18);
SetStandardWindowBorderStyle(windowId, 0);
@@ -1684,17 +696,17 @@ static void CreateStartMenu(void)
AddTextPrinterParameterized(windowId, 1, gText_MenuOptionSave, 8, 89, TEXT_SPEED_FF, NULL);
AddTextPrinterParameterized(windowId, 1, gText_MenuOptionOption, 8, 105, TEXT_SPEED_FF, NULL);
AddTextPrinterParameterized(windowId, 1, gText_MenuOptionExit, 8, 121, TEXT_SPEED_FF, NULL);
- sub_81983AC(windowId, 1, 0, 9, 16, 8, 0);
- sub_80E2CC4(0, 8, windowId, 86);
+ sub_81983AC(windowId, 1, 0, 9, 16, ARRAY_COUNT(MultichoiceList_ForcedStartMenu), 0);
+ InitMultichoiceNoWrap(FALSE, ARRAY_COUNT(MultichoiceList_ForcedStartMenu), windowId, MULTI_FORCED_START_MENU);
CopyWindowToVram(windowId, 3);
}
#define tWindowId data[6]
-static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoiceId)
+static void InitMultichoiceNoWrap(bool8 ignoreBPress, u8 unusedCount, u8 windowId, u8 multichoiceId)
{
u8 taskId;
- gUnknown_02039F90 = 2;
+ sProcessInputDelay = 2;
taskId = CreateTask(Task_HandleMultichoiceInput, 80);
gTasks[taskId].tIgnoreBPress = ignoreBPress;
gTasks[taskId].tDoWrap = 0;
@@ -1711,47 +723,43 @@ static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoi
#undef tWindowId
#undef tMultichoiceId
-static int display_text_and_get_width_internal(const u8 *str)
+static int DisplayTextAndGetWidthInternal(const u8 *str)
{
u8 temp[64];
StringExpandPlaceholders(temp, str);
return GetStringWidth(1, temp, 0);
}
-int display_text_and_get_width(const u8 *str, int prevMaxWidth)
+int DisplayTextAndGetWidth(const u8 *str, int prevWidth)
{
- int len = display_text_and_get_width_internal(str);
- if (len < prevMaxWidth)
+ int width = DisplayTextAndGetWidthInternal(str);
+ if (width < prevWidth)
{
- len = prevMaxWidth;
+ width = prevWidth;
}
- return len;
+ return width;
}
-int convert_pixel_width_to_tile_width(int width)
+int ConvertPixelWidthToTileWidth(int width)
{
- return (((width + 9) / 8) + 1) > 28 ? 28 : (((width + 9) / 8) + 1);
+ return (((width + 9) / 8) + 1) > MAX_MULTICHOICE_WIDTH ? MAX_MULTICHOICE_WIDTH : (((width + 9) / 8) + 1);
}
-int sub_80E2D5C(int a0, int a1)
+int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width)
{
- int ret = a0;
+ int adjustedLeft = left;
- if (a0 + a1 > 28)
+ if (left + width > MAX_MULTICHOICE_WIDTH)
{
- if (28 - a1 < 0)
+ if (MAX_MULTICHOICE_WIDTH - width < 0)
{
- ret = 0;
+ adjustedLeft = 0;
}
else
{
- ret = 28 - a1;
+ adjustedLeft = MAX_MULTICHOICE_WIDTH - width;
}
}
- else
- {
- ret = a0;
- }
- return ret;
+ return adjustedLeft;
}
diff --git a/src/script_movement.c b/src/script_movement.c
index 9fee9e060..03d6b10e8 100644
--- a/src/script_movement.c
+++ b/src/script_movement.c
@@ -3,20 +3,22 @@
#include "event_object_movement.h"
#include "task.h"
#include "util.h"
+#include "constants/event_objects.h"
+#include "constants/event_object_movement_constants.h"
// static functions
-static void sub_80D33AC(u8);
-static u8 sub_80D33F4(void);
-static bool8 sub_80D3408(u8, u8, const u8 *);
-static u8 sub_80D3474(u8, u8);
-static bool8 sub_80D3584(u8, u8);
-static void sub_80D35DC(u8, u8, u8, const u8 *);
-static void UnfreezeObjects(u8);
-static void sub_80D3660(u8);
-static void sub_80A2490(u8, u8, u8, const u8 *);
+static void ScriptMovement_StartMoveObjects(u8 priority);
+static u8 GetMoveObjectsTaskId(void);
+static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript);
+static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId);
+static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId);
+static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript);
+static void ScriptMovement_UnfreezeActiveObjects(u8 taskId);
+static void ScriptMovement_MoveObjects(u8 taskId);
+static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript);
// EWRAM_DATA
-static EWRAM_DATA const u8 *gUnknown_02039D90[16] = {0};
+static EWRAM_DATA const u8 *gMovementScripts[EVENT_OBJECTS_COUNT] = {0};
// text
bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript)
@@ -25,207 +27,207 @@ bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGrou
if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId))
return TRUE;
- if (!FuncIsActiveTask(sub_80D3660))
- sub_80D33AC(50);
- return sub_80D3408(sub_80D33F4(), eventObjId, movementScript);
+ if (!FuncIsActiveTask(ScriptMovement_MoveObjects))
+ ScriptMovement_StartMoveObjects(50);
+ return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), eventObjId, movementScript);
}
-bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapBank)
+bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup)
{
u8 eventObjId;
- u8 r4;
- u8 r1;
+ u8 taskId;
+ u8 moveScrId;
- if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapBank, &eventObjId))
+ if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId))
return TRUE;
- r4 = sub_80D33F4();
- r1 = sub_80D3474(r4, eventObjId);
- if (r1 == 16)
+ taskId = GetMoveObjectsTaskId();
+ moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId);
+ if (moveScrId == EVENT_OBJECTS_COUNT)
return TRUE;
- return sub_80D3584(r4, r1);
+ return IsMovementScriptFinished(taskId, moveScrId);
}
-void sub_80D338C(void)
+void ScriptMovement_UnfreezeEventObjects(void)
{
u8 taskId;
- taskId = sub_80D33F4();
+ taskId = GetMoveObjectsTaskId();
if (taskId != 0xFF)
{
- UnfreezeObjects(taskId);
+ ScriptMovement_UnfreezeActiveObjects(taskId);
DestroyTask(taskId);
}
}
-
-static void sub_80D33AC(u8 priority)
+static void ScriptMovement_StartMoveObjects(u8 priority)
{
u8 taskId;
u8 i;
- taskId = CreateTask(sub_80D3660, priority);
- for (i = 1; i < 16; i++)
+ taskId = CreateTask(ScriptMovement_MoveObjects, priority);
+
+ for (i = 1; i < NUM_TASK_DATA; i++)
gTasks[taskId].data[i] = 0xFFFF;
}
-static u8 sub_80D33F4(void)
+static u8 GetMoveObjectsTaskId(void)
{
- return FindTaskIdByFunc(sub_80D3660);
+ return FindTaskIdByFunc(ScriptMovement_MoveObjects);
}
-static bool8 sub_80D3408(u8 taskId, u8 eventObjId, const u8 *movementScript)
+static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript)
{
- u8 r4;
+ u8 moveScrId;
- r4 = sub_80D3474(taskId, eventObjId);
- if (r4 != 16)
+ moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId);
+ if (moveScrId != EVENT_OBJECTS_COUNT)
{
- if (sub_80D3584(taskId, r4) == 0)
+ if (IsMovementScriptFinished(taskId, moveScrId) == 0)
{
return TRUE;
}
else
{
- sub_80D35DC(taskId, r4, eventObjId, movementScript);
+ ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript);
return FALSE;
}
}
- r4 = sub_80D3474(taskId, 0xFF);
- if (r4 == 16)
+ moveScrId = GetMovementScriptIdFromEventObjectId(taskId, EVENT_OBJ_ID_PLAYER);
+ if (moveScrId == EVENT_OBJECTS_COUNT)
{
return TRUE;
}
else
{
- sub_80D35DC(taskId, r4, eventObjId, movementScript);
+ ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript);
return FALSE;
}
}
-static u8 sub_80D3474(u8 taskId, u8 b)
+static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId)
{
- u8 *ptr;
+ u8 *moveScriptId;
u8 i;
- ptr = (u8 *)&gTasks[taskId].data[1];
- for (i = 0; i < 16; i++, ptr++)
+ moveScriptId = (u8 *)&gTasks[taskId].data[1];
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++, moveScriptId++)
{
- if (*ptr == b)
+ if (*moveScriptId == eventObjId)
return i;
}
- return 16;
+ return EVENT_OBJECTS_COUNT;
}
-static void sub_80D34B0(u8 taskId, u8 b, u8 **c)
+static void LoadEventObjectIdPtrFromMovementScript(u8 taskId, u8 moveScrId, u8 **pEventObjId)
{
u8 i;
- *c = (u8 *)&gTasks[taskId].data[1];
- for (i = 0; i < b; i++, (*c)++)
+ *pEventObjId = (u8 *)&gTasks[taskId].data[1];
+ for (i = 0; i < moveScrId; i++, (*pEventObjId)++)
;
}
-static void sub_80D34E4(u8 taskId, u8 b, u8 c)
+static void SetEventObjectIdAtMovementScript(u8 taskId, u8 moveScrId, u8 eventObjId)
{
u8 *ptr;
- sub_80D34B0(taskId, b, &ptr);
- *ptr = c; //what is this supposed to do?
+ LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr);
+ *ptr = eventObjId;
}
-static void sub_80D3508(u8 taskId, u8 b, u8 *c)
+static void LoadEventObjectIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *eventObjId)
{
u8 *ptr;
- sub_80D34B0(taskId, b, &ptr);
- *c = *ptr;
+ LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr);
+ *eventObjId = *ptr;
}
-static void sub_80D352C(u8 a, u8 b)
+static void ClearMovementScriptFinished(u8 taskId, u8 moveScrId)
{
- u16 var = ~gBitTable[b];
+ u16 mask = ~gBitTable[moveScrId];
- gTasks[a].data[0] &= var;
+ gTasks[taskId].data[0] &= mask;
}
-static void sub_80D355C(u8 taskId, u8 b)
+static void SetMovementScriptFinished(u8 taskId, u8 moveScrId)
{
- gTasks[taskId].data[0] |= gBitTable[b];
+ gTasks[taskId].data[0] |= gBitTable[moveScrId];
}
-static bool8 sub_80D3584(u8 taskId, u8 b)
+static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId)
{
- u16 var = (u16)gTasks[taskId].data[0] & gBitTable[b];
+ u16 moveScriptFinished = (u16)gTasks[taskId].data[0] & gBitTable[moveScrId];
- if (var != 0)
+ if (moveScriptFinished != 0)
return TRUE;
else
return FALSE;
}
-static void npc_obj_offscreen_culling_and_flag_update(u8 a, const u8 *movementScript)
+static void SetMovementScript(u8 moveScrId, const u8 *movementScript)
{
- gUnknown_02039D90[a] = movementScript;
+ gMovementScripts[moveScrId] = movementScript;
}
-static const u8 *sub_80D35CC(u8 a)
+static const u8 *GetMovementScript(u8 moveScrId)
{
- return gUnknown_02039D90[a];
+ return gMovementScripts[moveScrId];
}
-static void sub_80D35DC(u8 taskId, u8 b, u8 eventObjId, const u8 *movementScript)
+static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript)
{
- sub_80D352C(taskId, b);
- npc_obj_offscreen_culling_and_flag_update(b, movementScript);
- sub_80D34E4(taskId, b, eventObjId);
+ ClearMovementScriptFinished(taskId, moveScrId);
+ SetMovementScript(moveScrId, movementScript);
+ SetEventObjectIdAtMovementScript(taskId, moveScrId, eventObjId);
}
-static void UnfreezeObjects(u8 taskId)
+static void ScriptMovement_UnfreezeActiveObjects(u8 taskId)
{
u8 *pEventObjId;
u8 i;
pEventObjId = (u8 *)&gTasks[taskId].data[1];
- for (i = 0; i < 16; i++, pEventObjId++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++, pEventObjId++)
{
if (*pEventObjId != 0xFF)
UnfreezeEventObject(&gEventObjects[*pEventObjId]);
}
}
-static void sub_80D3660(u8 taskId)
+static void ScriptMovement_MoveObjects(u8 taskId)
{
u8 i;
- u8 var;
+ u8 eventObjId;
- for (i = 0; i < 16; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
- sub_80D3508(taskId, i, &var);
- if (var != 0xFF)
- sub_80A2490(taskId, i, var, sub_80D35CC(i));
+ LoadEventObjectIdFromMovementScript(taskId, i, &eventObjId);
+ if (eventObjId != 0xFF)
+ ScriptMovement_TakeStep(taskId, i, eventObjId, GetMovementScript(i));
}
}
-static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d)
+static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript)
{
- u8 var;
+ u8 nextMoveActionId;
if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId])
&& !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]))
return;
- var = *d;
- if (var == 0xFE)
+ nextMoveActionId = *movementScript;
+ if (nextMoveActionId == MOVEMENT_ACTION_STEP_END)
{
- sub_80D355C(taskId, b);
+ SetMovementScriptFinished(taskId, moveScrId);
FreezeEventObject(&gEventObjects[eventObjId]);
}
else
{
- if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], var))
+ if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], nextMoveActionId))
{
- d++;
- npc_obj_offscreen_culling_and_flag_update(b, d);
+ movementScript++;
+ SetMovementScript(moveScrId, movementScript);
}
}
}
diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c
index 51bd73b1c..e691ed5fb 100755
--- a/src/script_pokemon_util_80F87D8.c
+++ b/src/script_pokemon_util_80F87D8.c
@@ -29,6 +29,7 @@
#include "constants/event_objects.h"
#include "constants/items.h"
#include "constants/species.h"
+#include "constants/tv.h"
#include "constants/vars.h"
#include "constants/battle_frontier.h"
@@ -39,10 +40,10 @@ extern const u16 gEventObjectPalette34[];
static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 };
-static void sub_80F8EE8(u8 taskId);
-static void sub_80F9088(u8 taskId);
+static void Task_ShowContestEntryMonPic(u8 taskId);
+static void Task_LinkContestWaitForConnection(u8 taskId);
static void CB2_ReturnFromChooseHalfParty(void);
-static void sub_80F94B8(void);
+static void CB2_ReturnFromChooseBattleFrontierParty(void);
void SetContestTrainerGfxIds(void)
{
@@ -51,6 +52,7 @@ void SetContestTrainerGfxIds(void)
gSaveBlock1Ptr->vars[VAR_OBJ_GFX_ID_2 - VARS_START] = gContestMons[2].trainerGfxId;
}
+// Unused
void sub_80F8814(void)
{
u16 var1;
@@ -74,14 +76,15 @@ void sub_80F8814(void)
gSpecialVar_0x8004 = var1;
}
-void sub_80F8850(void)
+void BufferContestTrainerAndMonNames(void)
{
- sub_80F8264();
- sub_80F8290();
- sub_80F8438();
+ BufferContestantTrainerName();
+ BufferContestantMonNickname();
+ BufferContestantMonSpecies();
}
-void sub_80F8864(void)
+// Unused
+void DoesContestCategoryHaveWinner(void)
{
int contestWinner;
switch (gSpecialVar_ContestCategory)
@@ -104,28 +107,28 @@ void sub_80F8864(void)
break;
}
- if (!gSaveBlock1Ptr->contestWinners[contestWinner].species)
- gSpecialVar_0x8004 = 0;
+ if (gSaveBlock1Ptr->contestWinners[contestWinner].species == SPECIES_NONE)
+ gSpecialVar_0x8004 = FALSE;
else
- gSpecialVar_0x8004 = 1;
+ gSpecialVar_0x8004 = TRUE;
}
-void sub_80F88DC(void)
+void SaveMuseumContestPainting(void)
{
sub_80DEDA8(0xFF);
}
-void sub_80F88E8(void)
+void ShouldReadyContestArtist(void)
{
if (gContestFinalStandings[gContestPlayerMonIndex] == 0
- && gSpecialVar_ContestRank == 3
+ && gSpecialVar_ContestRank == CONTEST_RANK_MASTER
&& gUnknown_02039F08[gContestPlayerMonIndex] >= 800)
{
- gSpecialVar_0x8004 = 1;
+ gSpecialVar_0x8004 = TRUE;
}
else
{
- gSpecialVar_0x8004 = 0;
+ gSpecialVar_0x8004 = FALSE;
}
}
@@ -143,9 +146,10 @@ u8 CountPlayerContestPaintings(void)
return count;
}
+// Unused
void sub_80F8970(void)
{
- s16 sp[4];
+ s16 conditions[CONTESTANT_COUNT];
int i, j;
s16 condition;
s8 var0;
@@ -153,28 +157,27 @@ void sub_80F8970(void)
u8 r8;
u8 r7;
- for (i = 0; i < 4; i++)
- sp[i] = gContestMonConditions[i];
+ for (i = 0; i < CONTESTANT_COUNT; i++)
+ conditions[i] = gContestMonConditions[i];
- for (i = 0; i < 3; i++)
+ for (i = 0; i < CONTESTANT_COUNT - 1; i++)
{
- for (j = 3; j > i; j--)
+ for (j = CONTESTANT_COUNT - 1; j > i; j--)
{
- if (sp[j - 1] < sp[j])
+ if (conditions[j - 1] < conditions[j])
{
- int temp = sp[j];
- sp[j] = sp[j - 1];
- sp[j - 1] = temp;
+ int temp;
+ SWAP(conditions[j], conditions[j - 1], temp)
}
}
}
- condition = sp[gSpecialVar_0x8006];
+ condition = conditions[gSpecialVar_0x8006];
var0 = 0;
r8 = 0;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- if (sp[i] == condition)
+ if (conditions[i] == condition)
{
var0++;
if (i == gSpecialVar_0x8006)
@@ -182,15 +185,15 @@ void sub_80F8970(void)
}
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
- if (sp[i] == condition)
+ if (conditions[i] == condition)
break;
}
r7 = i;
var2 = r8;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (condition == gContestMonConditions[i])
{
@@ -219,11 +222,22 @@ static void ShowContestWinnerCleanup(void)
void ShowContestWinner(void)
{
+ /*
+ if(gUnknown_0203856C)
+ {
+ sub_80AAF30();
+ gBattleStruct->unk15DDF = 1;
+ gBattleStruct->unk15DDE = sub_80B2C4C(254, 0);
+ Contest_SaveWinner(3);
+ gUnknown_0203856C = 0;
+ }
+ */
+
SetMainCallback2(CB2_ContestPainting);
gMain.savedCallback = ShowContestWinnerCleanup;
}
-void sub_80F8AFC(void)
+void SetLinkContestPlayerGfx(void)
{
int i;
@@ -248,7 +262,7 @@ void sub_80F8AFC(void)
}
}
-void sub_80F8B94(void)
+void LoadLinkContestPlayerPalettes(void)
{
int i;
u8 eventObjectId;
@@ -287,13 +301,15 @@ u8 GiveMonArtistRibbon(void)
u8 hasArtistRibbon;
hasArtistRibbon = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON);
- if (!hasArtistRibbon && gContestFinalStandings[gContestPlayerMonIndex] == 0 && gSpecialVar_ContestRank == 3
- && gUnknown_02039F08[gContestPlayerMonIndex] >= 800)
+ if (!hasArtistRibbon
+ && gContestFinalStandings[gContestPlayerMonIndex] == 0
+ && gSpecialVar_ContestRank == CONTEST_RANK_MASTER
+ && gUnknown_02039F08[gContestPlayerMonIndex] >= 800)
{
hasArtistRibbon = 1;
SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON, &hasArtistRibbon);
- if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > 4)
- sub_80EE4DC(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON);
+ if (GetRibbonCount(&gPlayerParty[gContestMonPartyIndex]) > NUM_CUTIES_RIBBONS)
+ TryPutSpotTheCutiesOnAir(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON);
return 1;
}
@@ -303,9 +319,9 @@ u8 GiveMonArtistRibbon(void)
}
}
-u8 sub_80F8D24(void)
+bool8 IsContestDebugActive(void)
{
- return 0;
+ return FALSE; // gUnknown_0203856C in pokeruby
}
void ShowContestEntryMonPic(void)
@@ -317,7 +333,7 @@ void ShowContestEntryMonPic(void)
u8 taskId;
u8 left, top;
- if (FindTaskIdByFunc(sub_80F8EE8) == 0xFF)
+ if (FindTaskIdByFunc(Task_ShowContestEntryMonPic) == 0xFF)
{
AllocateMonSpritesGfx();
left = 10;
@@ -325,7 +341,7 @@ void ShowContestEntryMonPic(void)
species = gContestMons[gSpecialVar_0x8006].species;
personality = gContestMons[gSpecialVar_0x8006].personality;
otId = gContestMons[gSpecialVar_0x8006].otId;
- taskId = CreateTask(sub_80F8EE8, 0x50);
+ taskId = CreateTask(Task_ShowContestEntryMonPic, 0x50);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = species;
if (gSpecialVar_0x8006 == gContestPlayerMonIndex)
@@ -357,9 +373,9 @@ void ShowContestEntryMonPic(void)
}
}
-void sub_80F8EB8(void)
+void HideContestEntryMonPic(void)
{
- u8 taskId = FindTaskIdByFunc(sub_80F8EE8);
+ u8 taskId = FindTaskIdByFunc(Task_ShowContestEntryMonPic);
if (taskId != 0xFF)
{
gTasks[taskId].data[0]++;
@@ -367,7 +383,7 @@ void sub_80F8EB8(void)
}
}
-static void sub_80F8EE8(u8 taskId)
+static void Task_ShowContestEntryMonPic(u8 taskId)
{
struct Task *task = &gTasks[taskId];
struct Sprite *sprite;
@@ -403,10 +419,12 @@ static void sub_80F8EE8(u8 taskId)
void ScriptGetMultiplayerId(void)
{
- if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && gNumLinkContestPlayers == 4 && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS))
+ if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
+ && gNumLinkContestPlayers == CONTESTANT_COUNT
+ && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS))
gSpecialVar_Result = GetMultiplayerId();
else
- gSpecialVar_Result = 4;
+ gSpecialVar_Result = MAX_LINK_PLAYERS;
}
void ScriptRandom(void)
@@ -428,26 +446,26 @@ void ScriptRandom(void)
*scriptPtr = random % *scriptPtr;
}
-u16 sub_80F903C(void)
+u16 GetContestRand(void)
{
gContestRngValue = 1103515245 * gContestRngValue + 24691;
return gContestRngValue >> 16;
}
-u8 sub_80F905C(void)
+bool8 LinkContestWaitForConnection(void)
{
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
- CreateTask(sub_80F9088, 5);
- return 1;
+ CreateTask(Task_LinkContestWaitForConnection, 5);
+ return TRUE;
}
else
{
- return 0;
+ return FALSE;
}
}
-static void sub_80F9088(u8 taskId)
+static void Task_LinkContestWaitForConnection(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
@@ -471,7 +489,7 @@ static void sub_80F9088(u8 taskId)
}
}
-void sub_80F90DC(void)
+void LinkContestTryShowWirelessIndicator(void)
{
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
@@ -483,7 +501,7 @@ void sub_80F90DC(void)
}
}
-void sub_80F910C(void)
+void LinkContestTryHideWirelessIndicator(void)
{
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
{
@@ -492,25 +510,25 @@ void sub_80F910C(void)
}
}
-u8 sub_80F9134(void)
+bool8 IsContestWithRSPlayer(void)
{
if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)
- return 1;
+ return TRUE;
else
- return 0;
+ return FALSE;
}
-void sub_80F9154(void)
+void ClearLinkContestFlags(void)
{
gLinkContestFlags = 0;
}
-u8 sub_80F9160(void)
+bool8 IsWirelessContest(void)
{
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_WIRELESS)
- return 1;
+ return TRUE;
else
- return 0;
+ return FALSE;
}
void HealPlayerParty(void)
@@ -585,14 +603,14 @@ void HasEnoughMonsForDoubleBattle(void)
{
switch (GetMonsStateToDoubles())
{
- case 0:
- gSpecialVar_Result = 0;
+ case PLAYER_HAS_TWO_USABLE_MONS:
+ gSpecialVar_Result = PLAYER_HAS_TWO_USABLE_MONS;
break;
- case 1:
- gSpecialVar_Result = 1;
+ case PLAYER_HAS_ONE_MON:
+ gSpecialVar_Result = PLAYER_HAS_ONE_MON;
break;
- case 2:
- gSpecialVar_Result = 2;
+ case PLAYER_HAS_ONE_USABLE_MON:
+ gSpecialVar_Result = PLAYER_HAS_ONE_USABLE_MON;
break;
}
}
@@ -610,7 +628,7 @@ static bool8 CheckPartyMonHasHeldItem(u16 item)
return FALSE;
}
-bool8 sub_80F9370(void)
+bool8 DoesPartyHaveEnigmaBerry(void)
{
bool8 hasItem = CheckPartyMonHasHeldItem(ITEM_ENIGMA_BERRY);
if (hasItem == TRUE)
@@ -624,7 +642,7 @@ void CreateScriptedWildMon(u16 species, u8 level, u16 item)
u8 heldItem[2];
ZeroEnemyPartyMons();
- CreateMon(&gEnemyParty[0], species, level, 0x20, 0, 0, OT_ID_PLAYER_ID, 0);
+ CreateMon(&gEnemyParty[0], species, level, 32, 0, 0, OT_ID_PLAYER_ID, 0);
if (item)
{
heldItem[0] = item;
@@ -646,7 +664,7 @@ void ScriptSetMonMoveSlot(u8 monIndex, u16 move, u8 slot)
void ChooseHalfPartyForBattle(void)
{
gMain.savedCallback = CB2_ReturnFromChooseHalfParty;
- VarSet(VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_DOUBLE_COLOSSEUM);
+ VarSet(VAR_FRONTIER_FACILITY, FACILITY_MULTI_OR_EREADER);
InitChooseHalfPartyForBattle(0);
}
@@ -665,21 +683,21 @@ static void CB2_ReturnFromChooseHalfParty(void)
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
-void sub_80F9490(void)
+void ChoosePartyForBattleFrontier(void)
{
- gMain.savedCallback = sub_80F94B8;
+ gMain.savedCallback = CB2_ReturnFromChooseBattleFrontierParty;
InitChooseHalfPartyForBattle(gSpecialVar_0x8004 + 1);
}
-static void sub_80F94B8(void)
+static void CB2_ReturnFromChooseBattleFrontierParty(void)
{
switch (gSelectedOrderFromParty[0])
{
case 0:
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
break;
default:
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
break;
}
@@ -688,20 +706,20 @@ static void sub_80F94B8(void)
void ReducePlayerPartyToSelectedMons(void)
{
- struct Pokemon party[4];
+ struct Pokemon party[MAX_FRONTIER_PARTY_SIZE];
int i;
CpuFill32(0, party, sizeof party);
// copy the selected pokemon according to the order.
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
if (gSelectedOrderFromParty[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop
party[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; // index is 0 based, not literal
CpuFill32(0, gPlayerParty, sizeof gPlayerParty);
// overwrite the first 4 with the order copied to.
- for (i = 0; i < 4; i++)
+ for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
gPlayerParty[i] = party[i];
CalculatePlayerPartyCount();
diff --git a/src/secret_base.c b/src/secret_base.c
index 12cb8cd61..e7f40a72b 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_setup.h"
#include "decoration.h"
@@ -16,6 +16,7 @@
#include "fldeff.h"
#include "fldeff_misc.h"
#include "international_string_util.h"
+#include "item_menu.h"
#include "link.h"
#include "list_menu.h"
#include "main.h"
@@ -40,11 +41,13 @@
#include "constants/maps.h"
#include "constants/map_types.h"
#include "constants/metatile_behaviors.h"
+#include "constants/metatile_labels.h"
#include "constants/moves.h"
#include "constants/secret_bases.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/trainers.h"
+#include "constants/tv.h"
struct SecretBaseRegistryMenu
{
@@ -82,18 +85,18 @@ static void ShowRegistryMenuDeleteYesNo(u8 taskId);
static void DeleteRegistry_Yes(u8 taskId);
static void DeleteRegistry_No(u8 taskId);
static void ReturnToMainRegistryMenu(u8 taskId);
-static void GoToSecretBasePCMainMenu(u8 taskId);
+static void GoToSecretBasePCRegisterMenu(u8 taskId);
static u8 GetSecretBaseOwnerType(u8 secretBaseId);
static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] =
{
- {.closedMetatileId = 0x0026, .openMetatileId = 0x0036},
- {.closedMetatileId = 0x0027, .openMetatileId = 0x0037},
- {.closedMetatileId = 0x01a0, .openMetatileId = 0x01a1},
- {.closedMetatileId = 0x01a8, .openMetatileId = 0x01a9},
- {.closedMetatileId = 0x01b0, .openMetatileId = 0x01b1},
- {.closedMetatileId = 0x0208, .openMetatileId = 0x0210},
- {.closedMetatileId = 0x0271, .openMetatileId = 0x0278},
+ {.closedMetatileId = METATILE_General_SecretBase_TreeLeft, .openMetatileId = METATILE_General_SecretBase_VineLeft},
+ {.closedMetatileId = METATILE_General_SecretBase_TreeRight, .openMetatileId = METATILE_General_SecretBase_VineRight},
+ {.closedMetatileId = METATILE_General_RedCaveIndent, .openMetatileId = METATILE_General_RedCaveOpen},
+ {.closedMetatileId = METATILE_General_YellowCaveIndent, .openMetatileId = METATILE_General_YellowCaveOpen},
+ {.closedMetatileId = METATILE_General_BlueCaveIndent, .openMetatileId = METATILE_General_BlueCaveOpen},
+ {.closedMetatileId = METATILE_Fallarbor_BrownCaveIndent, .openMetatileId = METATILE_Fallarbor_BrownCaveOpen},
+ {.closedMetatileId = METATILE_Fortree_SecretBase_Shrub, .openMetatileId = METATILE_Fortree_SecretBase_ShrubOpen},
};
// mapNum, warpId, x, y
@@ -349,7 +352,7 @@ void SetPlayerSecretBase(void)
u16 i;
gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
VarSet(VAR_CURRENT_SECRET_BASE, 0);
@@ -413,7 +416,7 @@ static void Task_EnterSecretBase(u8 taskId)
SetSecretBaseWarpDestination();
WarpIntoMap();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_LoadMap);
DestroyTask(taskId);
break;
@@ -423,7 +426,7 @@ static void Task_EnterSecretBase(u8 taskId)
void EnterSecretBase(void)
{
CreateTask(Task_EnterSecretBase, 0);
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -451,12 +454,12 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void)
ScriptContext2_Enable();
HideMapNamePopUpWindow();
- FindMetatileIdMapCoords(&x, &y, 0x220);
+ FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC);
x += 7;
y += 7;
- MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0);
}
@@ -505,7 +508,7 @@ void InitSecretBaseAppearance(bool8 hidePC)
secretBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
decorations = gSaveBlock1Ptr->secretBases[secretBaseId].decorations;
decorPos = gSaveBlock1Ptr->secretBases[secretBaseId].decorationPositions;
- for (x = 0; x < 16; x++)
+ for (x = 0; x < DECOR_MAX_SECRET_BASE; x++)
{
if (decorations[x] > 0 && decorations[x] <= NUM_DECORATIONS && gDecorations[decorations[x]].permission != DECORPERM_SPRITE)
ShowDecorationOnMap((decorPos[x] >> 4) + 7, (decorPos[x] & 0xF) + 7, decorations[x]);
@@ -514,14 +517,14 @@ void InitSecretBaseAppearance(bool8 hidePC)
if (secretBaseId != 0)
{
// Another player's secret base. Change PC type to the "Register" PC.
- FindMetatileIdMapCoords(&x, &y, 0x220);
- MapGridSetMetatileIdAt(x + 7, y + 7, 0x221 | METATILE_COLLISION_MASK);
+ FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC);
+ MapGridSetMetatileIdAt(x + 7, y + 7, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK);
}
else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1)
{
// Change PC to regular ground tile.
- FindMetatileIdMapCoords(&x, &y, 0x220);
- MapGridSetMetatileIdAt(x + 7, y + 7, 0x20a | METATILE_COLLISION_MASK);
+ FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC);
+ MapGridSetMetatileIdAt(x + 7, y + 7, METATILE_SecretBase_Ground | METATILE_COLLISION_MASK);
}
}
}
@@ -650,7 +653,7 @@ void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEven
{
SetCurSecretBaseIdFromPosition(position, events);
TrySetCurSecretBaseIndex();
- ScriptContext1_SetupScript(EventScript_275BB7);
+ ScriptContext1_SetupScript(SecretBase_EventScript_Enter);
}
bool8 TrySetCurSecretBase(void)
@@ -678,7 +681,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId)
case 2:
SetWarpDestinationToDynamicWarp(0x7e);
WarpIntoMap();
- gFieldCallback = mapldr_default;
+ gFieldCallback = FieldCB_DefaultWarpExit;
SetMainCallback2(CB2_LoadMap);
ScriptContext2_Disable();
DestroyTask(taskId);
@@ -894,7 +897,7 @@ static void Task_ShowSecretBaseRegistryMenu(u8 taskId)
}
else
{
- DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCMainMenu);
+ DisplayItemMessageOnField(taskId, gText_NoRegistry, GoToSecretBasePCRegisterMenu);
}
}
@@ -974,7 +977,7 @@ static void HandleRegistryMenuInput(u8 taskId)
RemoveWindow(data[6]);
schedule_bg_copy_tilemap_to_vram(0);
free(sRegistryMenu);
- GoToSecretBasePCMainMenu(taskId);
+ GoToSecretBasePCRegisterMenu(taskId);
break;
default:
PlaySE(SE_SELECT);
@@ -1074,12 +1077,12 @@ static void ReturnToMainRegistryMenu(u8 taskId)
gTasks[taskId].func = HandleRegistryMenuInput;
}
-static void GoToSecretBasePCMainMenu(u8 taskId)
+static void GoToSecretBasePCRegisterMenu(u8 taskId)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) == 0)
- ScriptContext1_SetupScript(gUnknown_0823B4E8);
+ ScriptContext1_SetupScript(SecretBase_EventScript_PCCancel);
else
- ScriptContext1_SetupScript(gUnknown_0823B5E9);
+ ScriptContext1_SetupScript(SecretBase_EventScript_ShowRegisterMenu);
DestroyTask(taskId);
}
@@ -1094,40 +1097,40 @@ const u8 *GetSecretBaseTrainerLoseText(void)
{
u8 ownerType = GetSecretBaseOwnerType(VarGet(VAR_CURRENT_SECRET_BASE));
if (ownerType == 0)
- return SecretBase_RedCave1_Text_274966;
+ return SecretBase_Text_Trainer0Defeated;
else if (ownerType == 1)
- return SecretBase_RedCave1_Text_274D13;
+ return SecretBase_Text_Trainer1Defeated;
else if (ownerType == 2)
- return SecretBase_RedCave1_Text_274FFE;
+ return SecretBase_Text_Trainer2Defeated;
else if (ownerType == 3)
- return SecretBase_RedCave1_Text_275367;
+ return SecretBase_Text_Trainer3Defeated;
else if (ownerType == 4)
- return SecretBase_RedCave1_Text_2756C7;
+ return SecretBase_Text_Trainer4Defeated;
else if (ownerType == 5)
- return SecretBase_RedCave1_Text_274B24;
+ return SecretBase_Text_Trainer5Defeated;
else if (ownerType == 6)
- return SecretBase_RedCave1_Text_274E75;
+ return SecretBase_Text_Trainer6Defeated;
else if (ownerType == 7)
- return SecretBase_RedCave1_Text_2751E1;
+ return SecretBase_Text_Trainer7Defeated;
else if (ownerType == 8)
- return SecretBase_RedCave1_Text_2754F6;
+ return SecretBase_Text_Trainer8Defeated;
else
- return SecretBase_RedCave1_Text_2758CC;
+ return SecretBase_Text_Trainer9Defeated;
}
void PrepSecretBaseBattleFlags(void)
{
- sub_813BADC(1);
+ TryGainNewFanFromCounter(1);
gTrainerBattleOpponent_A = TRAINER_SECRET_BASE;
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE;
}
-void sub_80EA30C(void)
+void SetBattledOwnerFromResult(void)
{
gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].battledOwnerToday = gSpecialVar_Result;
}
-void GetSecretBaseOwnerInteractionState(void)
+void GetSecretBaseOwnerAndState(void)
{
u16 secretBaseId;
u8 i;
@@ -1173,48 +1176,60 @@ void SecretBasePerStepCallback(u8 taskId)
VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1);
behavior = MapGridGetMetatileBehaviorAt(x, y);
tileId = MapGridGetMetatileIdAt(x, y);
- if (tileId == 0x234 || tileId == 0x23C)
+ if (tileId == METATILE_SecretBase_Board_Top || tileId == METATILE_SecretBase_Board_Bottom)
{
if (sInFriendSecretBase == TRUE)
{
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x20);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SOLID_BOARD);
}
}
- else if (tileId == 0x2b8 || tileId == 0x2b9 || tileId == 0x2ba || tileId == 0x2c0 || tileId == 0x2c1 || tileId == 0x2c2 || tileId == 0x2c8 || tileId == 0x2c9 || tileId == 0x2ca)
+ else if (tileId == METATILE_SecretBase_SmallChair
+ || tileId == METATILE_SecretBase_PokemonChair
+ || tileId == METATILE_SecretBase_HeavyChair
+ || tileId == METATILE_SecretBase_PrettyChair
+ || tileId == METATILE_SecretBase_ComfortChair
+ || tileId == METATILE_SecretBase_RaggedChair
+ || tileId == METATILE_SecretBase_BrickChair
+ || tileId == METATILE_SecretBase_CampChair
+ || tileId == METATILE_SecretBase_HardChair)
{
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x01);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CHAIR);
}
- else if (tileId == 0x239 || tileId == 0x241 || tileId == 0x251 || tileId == 0x259)
+ else if (tileId == METATILE_SecretBase_RedTent_DoorTop
+ || tileId == METATILE_SecretBase_RedTent_Door
+ || tileId == METATILE_SecretBase_BlueTent_DoorTop
+ || tileId == METATILE_SecretBase_BlueTent_Door)
{
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x04);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TENT);
}
- else if ((behavior == 0x34 && tileId == 0x26d) || (behavior == 0x35 && MapGridGetMetatileIdAt(x, y) == 0x26a))
+ else if ((behavior == MB_IMPASSABLE_NORTHEAST && tileId == METATILE_SecretBase_Stand_RightCorner)
+ || (behavior == MB_IMPASSABLE_NORTHWEST && MapGridGetMetatileIdAt(x, y) == METATILE_SecretBase_Stand_LeftCorner))
{
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x200);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_STAND);
}
- else if (behavior == 0xc1 && tileId == 0x23d)
+ else if (behavior == MB_IMPASSABLE_WEST_AND_EAST && tileId == METATILE_SecretBase_Slide_Stairs)
{
if (sInFriendSecretBase == TRUE)
{
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x1000);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x2000);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_USED_SLIDE);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_DECLINED_SLIDE);
}
}
- else if (behavior == 0x47 && tileId == 0x23e)
+ else if (behavior == MB_SLIDE_SOUTH && tileId == METATILE_SecretBase_Slide)
{
if (sInFriendSecretBase == TRUE)
{
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x1000);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ 0x2000);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SLIDE);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_DECLINED_SLIDE);
}
}
else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE)
{
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x80);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_GLITTER_MAT);
}
else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE)
{
@@ -1223,13 +1238,13 @@ void SecretBasePerStepCallback(u8 taskId)
{
switch ((int)MapGridGetMetatileIdAt(x, y))
{
- case 0x338:
- case 0x33c:
- case 0x340:
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x02);
+ case METATILE_SecretBase_RedBalloon:
+ case METATILE_SecretBase_BlueBalloon:
+ case METATILE_SecretBase_YellowBalloon:
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BALLOON);
break;
- case 0x228:
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x100);
+ case METATILE_SecretBase_MudBall:
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_MUD_BALL);
break;
}
}
@@ -1237,23 +1252,23 @@ void SecretBasePerStepCallback(u8 taskId)
else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE)
{
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x400);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BREAKABLE_DOOR);
ShatterSecretBaseBreakableDoor(x, y);
}
else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8000);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_NOTE_MAT);
}
else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE)
{
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4000);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_JUMP_MAT);
}
else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE)
{
if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x02);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SPIN_MAT);
}
}
break;
@@ -1291,7 +1306,7 @@ static void SetSecretBaseDataAndLanguage(u8 secretBaseId, struct SecretBase *sec
static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2)
{
u8 i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
{
if (secretBase1->trainerId[i] != secretBase2->trainerId[i])
return FALSE;
@@ -1416,9 +1431,8 @@ static void SortSecretBasesByRegistryStatus(void)
{
if ((secretBases[i].registryStatus == 0 && secretBases[j].registryStatus == 1) || (secretBases[i].registryStatus == 2 && secretBases[j].registryStatus != 2))
{
- struct SecretBase temp = secretBases[i];
- secretBases[i] = secretBases[j];
- secretBases[j] = temp;
+ struct SecretBase temp;
+ SWAP(secretBases[i], secretBases[j], temp)
}
}
}
@@ -1445,7 +1459,7 @@ bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase)
return FALSE;
// Check if the player's trainer Id matches the secret base's id.
- for (i = 0; i < 4; i++)
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
{
if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i])
return FALSE;
@@ -1460,48 +1474,57 @@ bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase)
return TRUE;
}
+#define DELETED_BASE_A (1 << 0)
+#define DELETED_BASE_B (1 << 1)
+#define DELETED_BASE_C (1 << 2)
+
void DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(struct SecretBase *basesA, struct SecretBase *basesB, struct SecretBase *basesC)
{
u8 i;
- u8 sbFlags = 0x0;
+ u8 sbFlags = 0;
for (i = 0; i < SECRET_BASES_COUNT; i++)
{
- if (!(sbFlags & 0x1)) // 001
+ if (!(sbFlags & DELETED_BASE_A))
{
if (SecretBaseBelongsToPlayer(&basesA[i]) == TRUE)
{
ClearSecretBase(&basesA[i]);
- sbFlags |= 1;
+ sbFlags |= DELETED_BASE_A;
}
}
- if (!(sbFlags & 0x2)) // 010
+ if (!(sbFlags & DELETED_BASE_B))
{
if (SecretBaseBelongsToPlayer(&basesB[i]) == TRUE)
{
ClearSecretBase(&basesB[i]);
- sbFlags |= 2;
+ sbFlags |= DELETED_BASE_B;
}
}
- if (!(sbFlags & 0x4)) // 100
+ if (!(sbFlags & DELETED_BASE_C))
{
if (SecretBaseBelongsToPlayer(&basesC[i]) == TRUE)
{
ClearSecretBase(&basesC[i]);
- sbFlags |= 4;
+ sbFlags |= DELETED_BASE_C;
}
}
- if (sbFlags == 0x7) // 111
+ if (sbFlags == (DELETED_BASE_A | DELETED_BASE_B | DELETED_BASE_C))
{
break;
}
}
}
-bool8 sub_80EAD14(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c)
+#undef DELETED_BASE_A
+#undef DELETED_BASE_B
+#undef DELETED_BASE_C
+
+// returns TRUE if secretBase was deleted, FALSE otherwise
+static bool8 ClearDuplicateOwnedSecretBases(struct SecretBase *secretBase, struct SecretBase *secretBases, u8 c)
{
u8 i;
@@ -1545,11 +1568,11 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se
{
basesA[i].sbr_field_1_0 = 1;
}
- if (!sub_80EAD14(&basesA[i], basesB, i))
+ if (!ClearDuplicateOwnedSecretBases(&basesA[i], basesB, i))
{
- if (!sub_80EAD14(&basesA[i], basesC, i))
+ if (!ClearDuplicateOwnedSecretBases(&basesA[i], basesC, i))
{
- sub_80EAD14(&basesA[i], basesD, i);
+ ClearDuplicateOwnedSecretBases(&basesA[i], basesD, i);
}
}
}
@@ -1559,9 +1582,9 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se
if (basesB[i].secretBaseId)
{
basesB[i].battledOwnerToday = 0;
- if (!sub_80EAD14(&basesB[i], basesC, i))
+ if (!ClearDuplicateOwnedSecretBases(&basesB[i], basesC, i))
{
- sub_80EAD14(&basesB[i], basesD, i);
+ ClearDuplicateOwnedSecretBases(&basesB[i], basesD, i);
}
}
}
@@ -1570,7 +1593,7 @@ void sub_80EAD94(struct SecretBase *basesA, struct SecretBase *basesB, struct Se
if (basesC[i].secretBaseId)
{
basesC[i].battledOwnerToday = 0;
- sub_80EAD14(&basesC[i], basesD, i);
+ ClearDuplicateOwnedSecretBases(&basesC[i], basesD, i);
}
if (basesD[i].secretBaseId)
{
@@ -1616,6 +1639,17 @@ void sub_80EAEF4(struct SecretBaseRecordMixer *mixers)
sub_80EABA4(&mixers[2], 0);
}
+#define INIT_SECRET_BASE_RECORD_MIXER(linkId1, linkId2, linkId3) \
+ mixers[0].secretBases = secretBases + linkId1 * recordSize; \
+ mixers[0].version = gLinkPlayers[linkId1].version & 0xFF; \
+ mixers[0].language = gLinkPlayers[linkId1].language; \
+ mixers[1].secretBases = secretBases + linkId2 * recordSize; \
+ mixers[1].version = gLinkPlayers[linkId2].version & 0xFF; \
+ mixers[1].language = gLinkPlayers[linkId2].language; \
+ mixers[2].secretBases = secretBases + linkId3 * recordSize; \
+ mixers[2].version = gLinkPlayers[linkId3].version & 0xFF; \
+ mixers[2].language = gLinkPlayers[linkId3].language;
+
void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx)
{
struct SecretBaseRecordMixer mixers[3];
@@ -1637,48 +1671,16 @@ void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx)
switch (linkIdx)
{
case 0:
- mixers[0].secretBases = secretBases + 1 * recordSize;
- mixers[0].version = gLinkPlayers[1].version & 0xFF;
- mixers[0].language = gLinkPlayers[1].language;
- mixers[1].secretBases = secretBases + 2 * recordSize;
- mixers[1].version = gLinkPlayers[2].version & 0xFF;
- mixers[1].language = gLinkPlayers[2].language;
- mixers[2].secretBases = secretBases + 3 * recordSize;
- mixers[2].version = gLinkPlayers[3].version & 0xFF;
- mixers[2].language = gLinkPlayers[3].language;
+ INIT_SECRET_BASE_RECORD_MIXER(1, 2, 3)
break;
case 1:
- mixers[0].secretBases = secretBases + 2 * recordSize;
- mixers[0].version = gLinkPlayers[2].version & 0xFF;
- mixers[0].language = gLinkPlayers[2].language;
- mixers[1].secretBases = secretBases + 3 * recordSize;
- mixers[1].version = gLinkPlayers[3].version & 0xFF;
- mixers[1].language = gLinkPlayers[3].language;
- mixers[2].secretBases = secretBases + 0 * recordSize;
- mixers[2].version = gLinkPlayers[0].version & 0xFF;
- mixers[2].language = gLinkPlayers[0].language;
+ INIT_SECRET_BASE_RECORD_MIXER(2, 3, 0)
break;
case 2:
- mixers[0].secretBases = secretBases + 3 * recordSize;
- mixers[0].version = gLinkPlayers[3].version & 0xFF;
- mixers[0].language = gLinkPlayers[3].language;
- mixers[1].secretBases = secretBases + 0 * recordSize;
- mixers[1].version = gLinkPlayers[0].version & 0xFF;
- mixers[1].language = gLinkPlayers[0].language;
- mixers[2].secretBases = secretBases + 1 * recordSize;
- mixers[2].version = gLinkPlayers[1].version & 0xFF;
- mixers[2].language = gLinkPlayers[1].language;
+ INIT_SECRET_BASE_RECORD_MIXER(3, 0, 1)
break;
case 3:
- mixers[0].secretBases = secretBases + 0 * recordSize;
- mixers[0].version = gLinkPlayers[0].version & 0xFF;
- mixers[0].language = gLinkPlayers[0].language;
- mixers[1].secretBases = secretBases + 1 * recordSize;
- mixers[1].version = gLinkPlayers[1].version & 0xFF;
- mixers[1].language = gLinkPlayers[1].language;
- mixers[2].secretBases = secretBases + 2 * recordSize;
- mixers[2].version = gLinkPlayers[2].version & 0xFF;
- mixers[2].language = gLinkPlayers[2].language;
+ INIT_SECRET_BASE_RECORD_MIXER(0, 1, 2)
break;
}
@@ -1719,7 +1721,7 @@ void ClearJapaneseSecretBases(struct SecretBase *bases)
}
}
-void sub_80EB1AC(void)
+void InitSecretBaseVars(void)
{
VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0);
VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0);
@@ -1733,13 +1735,13 @@ void sub_80EB1AC(void)
sInFriendSecretBase = FALSE;
}
-void sub_80EB218(void)
+void CheckLeftFriendsSecretBase(void)
{
if (VarGet(VAR_SECRET_BASE_IS_NOT_LOCAL) && sInFriendSecretBase == TRUE && !CurMapIsSecretBase())
{
VarSet(VAR_SECRET_BASE_IS_NOT_LOCAL, FALSE);
sInFriendSecretBase = FALSE;
- sub_80EEA70();
+ TryPutSecretBaseSecretsOnAir();
VarSet(VAR_SECRET_BASE_STEP_COUNTER, 0);
VarSet(VAR_SECRET_BASE_LAST_ITEM_USED, 0);
VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, 0);
@@ -1748,252 +1750,245 @@ void sub_80EB218(void)
}
}
-void sub_80EB290(void)
+void CheckInteractedWithFriendsDollDecor(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x800);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DOLL);
}
-void sub_80EB2C8(void)
+void CheckInteractedWithFriendsCushionDecor(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x400);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CUSHION);
}
-void sub_80EB300(void)
+void DeclinedSecretBaseBattle(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001);
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x2000);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE));
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW));
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_DECLINED_BATTLE);
}
}
-void sub_80EB368(void)
+void WonSecretBaseBattle(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001);
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x800);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE));
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW));
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_BATTLED_WON);
}
}
-void sub_80EB3D0(void)
+void LostSecretBaseBattle(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001);
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x1000);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE));
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW));
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_BATTLED_LOST);
}
}
-void sub_80EB438(void)
+void DrewSecretBaseBattle(void)
{
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~0x3800);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~0x001);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x001);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) & ~(SECRET_BASE_BATTLED_WON | SECRET_BASE_BATTLED_LOST | SECRET_BASE_DECLINED_BATTLE));
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) & ~(SECRET_BASE_BATTLED_DRAW));
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_BATTLED_DRAW);
}
}
-void SetSecretBaseSecretsTvFlags_Poster(void)
+void CheckInteractedWithFriendsPosterDecor(void)
{
s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
{
- case 0x31C:
- case 0x31D:
- case 0x31E:
- case 0x31F:
- case 0x324:
- case 0x325:
- case 0x326:
- case 0x327:
- case 0x32C:
- case 0x32D:
- case 0x330:
- case 0x331:
- case 0x332:
- case 0x333:
- case 0x334:
+ case METATILE_SecretBase_PikaPoster_Left:
+ case METATILE_SecretBase_PikaPoster_Right:
+ case METATILE_SecretBase_LongPoster_Left:
+ case METATILE_SecretBase_LongPoster_Right:
+ case METATILE_SecretBase_SeaPoster_Left:
+ case METATILE_SecretBase_SeaPoster_Right:
+ case METATILE_SecretBase_SkyPoster_Left:
+ case METATILE_SecretBase_SkyPoster_Right:
+ case METATILE_SecretBase_KissPoster_Left:
+ case METATILE_SecretBase_KissPoster_Right:
+ case METATILE_SecretBase_BallPoster:
+ case METATILE_SecretBase_GreenPoster:
+ case METATILE_SecretBase_RedPoster:
+ case METATILE_SecretBase_BluePoster:
+ case METATILE_SecretBase_CutePoster:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x4000);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_POSTER);
break;
}
}
-void SetSecretBaseSecretsTvFlags_MiscFurnature(void)
+void CheckInteractedWithFriendsFurnitureBottom(void)
{
s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
{
- case 0x28a:
- case 0x28b:
- // Bird Statue
+ case METATILE_SecretBase_GlassOrnament_Base1:
+ case METATILE_SecretBase_GlassOrnament_Base2:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x40);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_GLASS_ORNAMENT);
break;
- case 0x2d8:
- case 0x2d9:
- case 0x2da:
- case 0x2db:
- case 0x2dc:
- case 0x2dd:
- case 0x2e8:
- case 0x2e9:
- case 0x2ea:
- case 0x2eb:
- case 0x2ec:
- case 0x2ed:
- case 0x2ee:
- case 0x2ef:
- case 0x2f8:
- case 0x2f9:
- case 0x2fa:
- case 0x2fb:
- // Plants
+ case METATILE_SecretBase_RedPlant_Base1:
+ case METATILE_SecretBase_RedPlant_Base2:
+ case METATILE_SecretBase_TropicalPlant_Base1:
+ case METATILE_SecretBase_TropicalPlant_Base2:
+ case METATILE_SecretBase_PrettyFlower_Base1:
+ case METATILE_SecretBase_PrettyFlower_Base2:
+ case METATILE_SecretBase_ColorfulFlowers_BaseLeft1:
+ case METATILE_SecretBase_ColorfulFlowers_BaseRight1:
+ case METATILE_SecretBase_ColorfulFlowers_BaseLeft2:
+ case METATILE_SecretBase_ColorfulFlowers_BaseRight2:
+ case METATILE_SecretBase_BigPlant_BaseLeft1:
+ case METATILE_SecretBase_BigPlant_BaseRight1:
+ case METATILE_SecretBase_BigPlant_BaseLeft2:
+ case METATILE_SecretBase_BigPlant_BaseRight2:
+ case METATILE_SecretBase_GorgeousPlant_BaseLeft1:
+ case METATILE_SecretBase_GorgeousPlant_BaseRight1:
+ case METATILE_SecretBase_GorgeousPlant_BaseLeft2:
+ case METATILE_SecretBase_GorgeousPlant_BaseRight2:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | 0x8);
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_PLANT);
break;
- case 0x22c:
- case 0x233:
- // Fence
+ case METATILE_SecretBase_Fence_Horizontal:
+ case METATILE_SecretBase_Fence_Vertical:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x40);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_FENCE);
break;
- case 0x288:
- case 0x289:
- // Tire
+ case METATILE_SecretBase_Tire_BottomLeft:
+ case METATILE_SecretBase_Tire_BottomRight:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_TIRE);
break;
- case 0x22d:
- case 0x22e:
- case 0x22f:
- // Bricks
+ case METATILE_SecretBase_RedBrick_Bottom:
+ case METATILE_SecretBase_YellowBrick_Bottom:
+ case METATILE_SecretBase_BlueBrick_Bottom:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BRICK);
break;
- case 0x287:
- case 0x28f:
- case 0x298:
- case 0x299:
- case 0x29a:
- case 0x29b:
- case 0x29c:
- case 0x29d:
- case 0x29e:
- case 0x29f:
- case 0x2ab:
- case 0x2b0:
- case 0x2b1:
- case 0x2b2:
- case 0x2b4:
- case 0x2b5:
- case 0x2b6:
- case 0x2b7:
- case 0x2cb:
- case 0x2cc:
- case 0x2cd:
- case 0x2ce:
- case 0x2cf:
- // Tables
+ case METATILE_SecretBase_SmallDesk:
+ case METATILE_SecretBase_PokemonDesk:
+ case METATILE_SecretBase_HeavyDesk_BottomLeft:
+ case METATILE_SecretBase_HeavyDesk_BottomMid:
+ case METATILE_SecretBase_HeavyDesk_BottomRight:
+ case METATILE_SecretBase_RaggedDesk_BottomLeft:
+ case METATILE_SecretBase_RaggedDesk_BottomMid:
+ case METATILE_SecretBase_RaggedDesk_BottomRight:
+ case METATILE_SecretBase_ComfortDesk_BottomLeft:
+ case METATILE_SecretBase_ComfortDesk_BottomMid:
+ case METATILE_SecretBase_ComfortDesk_BottomRight:
+ case METATILE_SecretBase_BrickDesk_BottomLeft:
+ case METATILE_SecretBase_BrickDesk_BottomMid:
+ case METATILE_SecretBase_BrickDesk_BottomRight:
+ case METATILE_SecretBase_CampDesk_BottomLeft:
+ case METATILE_SecretBase_CampDesk_BottomMid:
+ case METATILE_SecretBase_CampDesk_BottomRight:
+ case METATILE_SecretBase_HardDesk_BottomLeft:
+ case METATILE_SecretBase_HardDesk_BottomMid:
+ case METATILE_SecretBase_HardDesk_BottomRight:
+ case METATILE_SecretBase_PrettyDesk_BottomLeft:
+ case METATILE_SecretBase_PrettyDesk_BottomMid:
+ case METATILE_SecretBase_PrettyDesk_BottomRight:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK);
break;
}
}
-void SetSecretBaseSecretsTvFlags_LargeDecorationSpot(void)
+void CheckInteractedWithFriendsFurnitureMiddle(void)
{
s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
{
- case 0x291:
- case 0x294:
- case 0x297:
- case 0x2a1:
- case 0x2a5:
- case 0x2a9:
- case 0x2ad:
- case 0x2bb:
- case 0x2be:
- case 0x2c3:
- case 0x2c6:
+ case METATILE_SecretBase_HeavyDesk_TopMid:
+ case METATILE_SecretBase_RaggedDesk_TopMid:
+ case METATILE_SecretBase_ComfortDesk_TopMid:
+ case METATILE_SecretBase_BrickDesk_TopMid:
+ case METATILE_SecretBase_BrickDesk_Center:
+ case METATILE_SecretBase_CampDesk_TopMid:
+ case METATILE_SecretBase_CampDesk_Center:
+ case METATILE_SecretBase_HardDesk_TopMid:
+ case METATILE_SecretBase_HardDesk_Center:
+ case METATILE_SecretBase_PrettyDesk_TopMid:
+ case METATILE_SecretBase_PrettyDesk_Center:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK);
break;
}
}
-void SetSecretBaseSecretsTvFlags_SmallDecorationSpot(void)
+void CheckInteractedWithFriendsFurnitureTop(void)
{
s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch (MapGridGetMetatileIdAt(x, y))
{
- case 0x290:
- case 0x292:
- case 0x293:
- case 0x295:
- case 0x296:
- case 0x2a0:
- case 0x2a2:
- case 0x2a3:
- case 0x2a4:
- case 0x2a6:
- case 0x2a7:
- case 0x2a8:
- case 0x2aa:
- case 0x2ac:
- case 0x2ae:
- case 0x2af:
- case 0x2bc:
- case 0x2bd:
- case 0x2bf:
- case 0x2c4:
- case 0x2c5:
- case 0x2c7:
+ case METATILE_SecretBase_HeavyDesk_TopLeft:
+ case METATILE_SecretBase_HeavyDesk_TopRight:
+ case METATILE_SecretBase_RaggedDesk_TopLeft:
+ case METATILE_SecretBase_RaggedDesk_TopRight:
+ case METATILE_SecretBase_ComfortDesk_TopLeft:
+ case METATILE_SecretBase_ComfortDesk_TopRight:
+ case METATILE_SecretBase_BrickDesk_TopLeft:
+ case METATILE_SecretBase_BrickDesk_TopRight:
+ case METATILE_SecretBase_BrickDesk_MidLeft:
+ case METATILE_SecretBase_BrickDesk_MidRight:
+ case METATILE_SecretBase_CampDesk_TopLeft:
+ case METATILE_SecretBase_CampDesk_TopRight:
+ case METATILE_SecretBase_CampDesk_MidLeft:
+ case METATILE_SecretBase_CampDesk_MidRight:
+ case METATILE_SecretBase_HardDesk_TopLeft:
+ case METATILE_SecretBase_HardDesk_TopRight:
+ case METATILE_SecretBase_HardDesk_MidLeft:
+ case METATILE_SecretBase_HardDesk_MidRight:
+ case METATILE_SecretBase_PrettyDesk_TopLeft:
+ case METATILE_SecretBase_PrettyDesk_TopRight:
+ case METATILE_SecretBase_PrettyDesk_MidLeft:
+ case METATILE_SecretBase_PrettyDesk_MidRight:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x8);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_DESK);
break;
- case 0x280:
- case 0x281:
+ case METATILE_SecretBase_Tire_TopLeft:
+ case METATILE_SecretBase_Tire_TopRight:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x100);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_TIRE);
break;
- case 0x225:
- case 0x226:
- case 0x227:
+ case METATILE_SecretBase_RedBrick_Top:
+ case METATILE_SecretBase_YellowBrick_Top:
+ case METATILE_SecretBase_BlueBrick_Top:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x10);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BRICK);
break;
}
}
-void SetSecretBaseSecretsTvFlags_SandOrnament(void)
+void CheckInteractedWithFriendsSandOrnament(void)
{
s16 x, y;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
switch ((int)MapGridGetMetatileIdAt(x, y))
{
- case 0x28d:
- case 0x28e:
- // Sand Ornament
+ case METATILE_SecretBase_SandOrnament_Base1:
+ case METATILE_SecretBase_SandOrnament_Base2:
if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | 0x4);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SAND_ORNAMENT);
break;
}
}
diff --git a/src/shop.c b/src/shop.c
index bf15568fb..6e6c10e43 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -17,7 +17,7 @@
#include "item_menu.h"
#include "list_menu.h"
#include "main.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "money.h"
@@ -38,6 +38,7 @@
#include "constants/metatile_behaviors.h"
#include "constants/rgb.h"
#include "constants/songs.h"
+#include "constants/tv.h"
EWRAM_DATA struct MartInfo gMartInfo = {0};
EWRAM_DATA struct ShopData *gShopDataPtr = NULL;
@@ -347,7 +348,7 @@ static void Task_HandleShopMenuBuy(u8 taskId)
data[8] = (u32)CB2_InitBuyMenu >> 16;
data[9] = (u32)CB2_InitBuyMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
}
static void Task_HandleShopMenuSell(u8 taskId)
@@ -356,7 +357,7 @@ static void Task_HandleShopMenuSell(u8 taskId)
data[8] = (u32)CB2_GoToSellMenu >> 16;
data[9] = (u32)CB2_GoToSellMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
}
void CB2_ExitSellMenu(void)
@@ -389,7 +390,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId)
static void MapPostLoadHook_ReturnToShopMenu(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_ReturnToShopMenu, 8);
}
@@ -438,7 +439,7 @@ static void CB2_InitBuyMenu(void)
{
case 0:
SetVBlankHBlankCallbacksToNull();
- CpuFastFill(0, (void *)OAM, 0x400);
+ CpuFastFill(0, (void *)OAM, OAM_SIZE);
ScanlineEffect_Stop();
reset_temp_tile_data_buffers();
FreeAllSpritePalettes();
@@ -560,7 +561,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, s32 item, u8 y)
{
ConvertIntToDecimalStringN(
gStringVar1,
- ItemId_GetPrice(item) >> GetPriceReduction(1),
+ ItemId_GetPrice(item) >> GetPriceReduction(POKENEWS_SLATEPORT),
STR_CONV_MODE_LEFT_ALIGN,
5);
}
@@ -855,7 +856,7 @@ static void BuyMenuDrawEventObjects(void)
if (BuyMenuCheckIfEventObjectOverlapsMenuBg(gShopDataPtr->viewportObjects[i]) == TRUE)
{
gSprites[spriteId].subspriteTableNum = 4;
- gSprites[spriteId].subspriteMode = 1;
+ gSprites[spriteId].subspriteMode = SUBSPRITES_ON;
}
StartSpriteAnim(&gSprites[spriteId], gShopDataPtr->viewportObjects[i][ANIM_NUM]);
@@ -932,7 +933,7 @@ static void Task_BuyMenu(u8 taskId)
if (gMartInfo.martType == MART_TYPE_NORMAL)
{
- gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(1));
+ gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(POKENEWS_SLATEPORT));
}
else
{
@@ -1011,7 +1012,7 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId)
if (AdjustQuantityAccordingToDPadInput(&tItemCount, gShopDataPtr->maxQuantity) == TRUE)
{
- gShopDataPtr->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(1)) * tItemCount;
+ gShopDataPtr->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(POKENEWS_SLATEPORT)) * tItemCount;
BuyMenuPrintItemQuantityAndPrice(taskId);
}
else
@@ -1147,7 +1148,7 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId)
FillWindowPixelBuffer(4, PIXEL_FILL(1));
PrintMoneyAmount(4, 38, 1, gShopDataPtr->totalCost, TEXT_SPEED_FF);
- ConvertIntToDecimalStringN(gStringVar1, tItemCount, 2, 2);
+ ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, 2);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
BuyMenuPrint(4, gStringVar4, 0, 1, 0, 0);
}
diff --git a/src/slot_machine.c b/src/slot_machine.c
index 003ac3327..a7dcd1613 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -14,7 +14,7 @@
#include "util.h"
#include "text.h"
#include "menu.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "gpu_regs.h"
#include "coins.h"
@@ -453,7 +453,7 @@ const struct WindowTemplate gUnknown_085A7444 =
0, 1, 3, 20, 13, 13, 1
};
-const u8 gColors_ReeltimeHelp[] = {3, 1, 2, 0};
+static const u8 sColors_ReeltimeHelp[] = {TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY};
bool8 (*const SlotActions[])(struct Task *task) =
{
@@ -1060,7 +1060,7 @@ static bool8 SlotAction9(struct Task *task)
ReelTasks_SetUnkTaskData(1);
ReelTasks_SetUnkTaskData(2);
- sub_80EEC80(); // something with daily slot variable
+ IncrementDailySlotsUses();
task->data[0] = 0;
if (sSlotMachine->luckyFlags & LUCKY_BIAS_REELTIME)
@@ -3126,7 +3126,7 @@ static void InfoBox_8104B80(struct Task *task)
static void InfoBox_AddText(struct Task *task)
{
- AddTextPrinterParameterized3(1, 1, 2, 5, gColors_ReeltimeHelp, 0, gText_ReelTimeHelp);
+ AddTextPrinterParameterized3(1, 1, 2, 5, sColors_ReeltimeHelp, 0, gText_ReelTimeHelp);
CopyWindowToVram(1, 3);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0));
task->data[0]++;
diff --git a/src/smokescreen.c b/src/smokescreen.c
index 61e011451..1ee0c658c 100644
--- a/src/smokescreen.c
+++ b/src/smokescreen.c
@@ -4,46 +4,46 @@
#include "sprite.h"
#include "util.h"
-static void sub_8075370(struct Sprite *);
+static void SmokescreenImpact_Callback(struct Sprite *);
-extern const struct CompressedSpriteSheet gUnknown_0831C620;
-extern const struct CompressedSpritePalette gUnknown_0831C628;
-extern const struct SpriteTemplate gUnknown_0831C688;
+extern const struct CompressedSpriteSheet gSmokescreenImpactSpriteSheet;
+extern const struct CompressedSpritePalette gSmokescreenlImpactSpritePalette;
+extern const struct SpriteTemplate gSmokescreenImpactSpriteTemplate;
-u8 sub_807521C(s16 x, s16 y, u8 a3)
+u8 SmokescreenImpact(s16 x, s16 y, u8 a3)
{
u8 mainSpriteId;
u8 spriteId1, spriteId2, spriteId3, spriteId4;
struct Sprite *mainSprite;
- if (GetSpriteTileStartByTag(gUnknown_0831C620.tag) == 0xFFFF)
+ if (GetSpriteTileStartByTag(gSmokescreenImpactSpriteSheet.tag) == 0xFFFF)
{
- LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831C620);
- LoadCompressedSpritePaletteUsingHeap(&gUnknown_0831C628);
+ LoadCompressedSpriteSheetUsingHeap(&gSmokescreenImpactSpriteSheet);
+ LoadCompressedSpritePaletteUsingHeap(&gSmokescreenlImpactSpritePalette);
}
- mainSpriteId = CreateInvisibleSpriteWithCallback(sub_8075370);
+ mainSpriteId = CreateInvisibleSpriteWithCallback(SmokescreenImpact_Callback);
mainSprite = &gSprites[mainSpriteId];
mainSprite->data[1] = a3;
- spriteId1 = CreateSprite(&gUnknown_0831C688, x - 16, y - 16, 2);
+ spriteId1 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y - 16, 2);
gSprites[spriteId1].data[0] = mainSpriteId;
mainSprite->data[0]++;
AnimateSprite(&gSprites[spriteId1]);
- spriteId2 = CreateSprite(&gUnknown_0831C688, x, y - 16, 2);
+ spriteId2 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y - 16, 2);
gSprites[spriteId2].data[0] = mainSpriteId;
mainSprite->data[0]++;
StartSpriteAnim(&gSprites[spriteId2], 1);
AnimateSprite(&gSprites[spriteId2]);
- spriteId3 = CreateSprite(&gUnknown_0831C688, x - 16, y, 2);
+ spriteId3 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x - 16, y, 2);
gSprites[spriteId3].data[0] = mainSpriteId;
mainSprite->data[0]++;
StartSpriteAnim(&gSprites[spriteId3], 2);
AnimateSprite(&gSprites[spriteId3]);
- spriteId4 = CreateSprite(&gUnknown_0831C688, x, y, 2);
+ spriteId4 = CreateSprite(&gSmokescreenImpactSpriteTemplate, x, y, 2);
gSprites[spriteId4].data[0] = mainSpriteId;
mainSprite->data[0]++;
StartSpriteAnim(&gSprites[spriteId4], 3);
@@ -52,12 +52,12 @@ u8 sub_807521C(s16 x, s16 y, u8 a3)
return mainSpriteId;
}
-static void sub_8075370(struct Sprite *sprite)
+static void SmokescreenImpact_Callback(struct Sprite *sprite)
{
if (!sprite->data[0])
{
- FreeSpriteTilesByTag(gUnknown_0831C620.tag);
- FreeSpritePaletteByTag(gUnknown_0831C628.tag);
+ FreeSpriteTilesByTag(gSmokescreenImpactSpriteSheet.tag);
+ FreeSpritePaletteByTag(gSmokescreenlImpactSpritePalette.tag);
if (!sprite->data[1])
DestroySprite(sprite);
else
@@ -65,7 +65,7 @@ static void sub_8075370(struct Sprite *sprite)
}
}
-void sub_80753B4(struct Sprite *sprite)
+void SpriteCB_DestroySprite(struct Sprite *sprite)
{
if (sprite->animEnded)
{
diff --git a/src/start_menu.c b/src/start_menu.c
index fcde176ac..a816f4f2f 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -83,7 +83,7 @@ EWRAM_DATA static u8 sBattlePyramidFloorWindowId = 0;
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
EWRAM_DATA static u8 sNumStartMenuActions = 0;
EWRAM_DATA static u8 sCurrentStartMenuActions[9] = {0};
-EWRAM_DATA static u8 sUnknown_02037619[2] = {0};
+EWRAM_DATA static u8 sInitStartMenuData[2] = {0};
EWRAM_DATA static u8 (*sSaveDialogCallback)(void) = NULL;
EWRAM_DATA static u8 sSaveDialogTimer = 0;
@@ -135,9 +135,7 @@ static void StartMenuTask(u8 taskId);
static void SaveGameTask(u8 taskId);
static void sub_80A0550(u8 taskId);
static void sub_80A08A4(u8 taskId);
-
-// Some other callback
-static bool8 sub_809FA00(void);
+static bool8 FieldCB_ReturnToFieldStartMenu(void);
static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8};
@@ -203,7 +201,7 @@ static void BuildLinkModeStartMenu(void);
static void BuildUnionRoomStartMenu(void);
static void BuildBattlePikeStartMenu(void);
static void BuildBattlePyramidStartMenu(void);
-static void BuildMultiBattleRoomStartMenu(void);
+static void BuildMultiPartnerRoomStartMenu(void);
static void ShowSafariBallsWindow(void);
static void ShowPyramidFloorWindow(void);
static void RemoveExtraStartMenuWindows(void);
@@ -258,9 +256,9 @@ static void BuildStartMenuActions(void)
{
BuildBattlePyramidStartMenu();
}
- else if (InMultiBattleRoom())
+ else if (InMultiPartnerRoom())
{
- BuildMultiBattleRoomStartMenu();
+ BuildMultiPartnerRoomStartMenu();
}
else
{
@@ -358,7 +356,7 @@ static void BuildBattlePyramidStartMenu(void)
AddStartMenuAction(MENU_ACTION_EXIT);
}
-static void BuildMultiBattleRoomStartMenu(void)
+static void BuildMultiPartnerRoomStartMenu(void)
{
AddStartMenuAction(MENU_ACTION_POKEMON);
AddStartMenuAction(MENU_ACTION_PLAYER);
@@ -440,33 +438,33 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count)
static bool32 InitStartMenuStep(void)
{
- s8 value = sUnknown_02037619[0];
+ s8 state = sInitStartMenuData[0];
- switch (value)
+ switch (state)
{
case 0:
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 1:
BuildStartMenuActions();
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 2:
sub_81973A4();
DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE);
- sUnknown_02037619[1] = 0;
- sUnknown_02037619[0]++;
+ sInitStartMenuData[1] = 0;
+ sInitStartMenuData[0]++;
break;
case 3:
if (GetSafariZoneFlag())
ShowSafariBallsWindow();
if (InBattlePyramid())
ShowPyramidFloorWindow();
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 4:
- if (PrintStartMenuActions(&sUnknown_02037619[1], 2))
- sUnknown_02037619[0]++;
+ if (PrintStartMenuActions(&sInitStartMenuData[1], 2))
+ sInitStartMenuData[0]++;
break;
case 5:
sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos);
@@ -479,8 +477,8 @@ static bool32 InitStartMenuStep(void)
static void InitStartMenu(void)
{
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
while (!InitStartMenuStep())
;
}
@@ -495,31 +493,31 @@ static void CreateStartMenuTask(TaskFunc followupFunc)
{
u8 taskId;
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
taskId = CreateTask(StartMenuTask, 0x50);
SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc);
}
-static bool8 sub_809FA00(void)
+static bool8 FieldCB_ReturnToFieldStartMenu(void)
{
if (InitStartMenuStep() == FALSE)
{
return FALSE;
}
- sub_80AF688();
+ ReturnToFieldOpenStartMenu();
return TRUE;
}
-void sub_809FA18(void) // Called from field_screen.s
+void ShowReturnToFieldStartMenu(void)
{
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
- gFieldCallback2 = sub_809FA00;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
+ gFieldCallback2 = FieldCB_ReturnToFieldStartMenu;
}
-void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s
+void Task_ShowStartMenu(u8 taskId)
{
struct Task* task = &gTasks[taskId];
@@ -539,7 +537,7 @@ void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s
}
}
-void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s
+void ShowStartMenu(void)
{
if (!IsUpdateLinkStateCBActive())
{
@@ -547,7 +545,7 @@ void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s
sub_808B864();
sub_808BCF4();
}
- CreateStartMenuTask(sub_809FA34);
+ CreateStartMenuTask(Task_ShowStartMenu);
ScriptContext2_Enable();
}
@@ -570,7 +568,7 @@ static bool8 HandleStartMenuInput(void)
PlaySE(SE_SELECT);
if (sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void == StartMenuPokedexCallback)
{
- if (GetNationalPokedexCount(0) == 0)
+ if (GetNationalPokedexCount(FLAG_GET_SEEN) == 0)
return FALSE;
}
@@ -581,7 +579,7 @@ static bool8 HandleStartMenuInput(void)
&& gMenuCallback != StartMenuSafariZoneRetireCallback
&& gMenuCallback != StartMenuBattlePyramidRetireCallback)
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
}
return FALSE;
@@ -743,11 +741,12 @@ static bool8 StartMenuBattlePyramidRetireCallback(void)
return FALSE;
}
-void sub_809FDD4(void)
+// Functionally unused
+void ShowBattlePyramidStartMenu(void)
{
ClearDialogWindowAndFrameToTransparent(0, FALSE);
ScriptUnfreezeEventObjects();
- CreateStartMenuTask(sub_809FA34);
+ CreateStartMenuTask(Task_ShowStartMenu);
ScriptContext2_Enable();
}
@@ -827,7 +826,7 @@ static bool8 BattlePyramidRetireCallback(void)
ClearDialogWindowAndFrameToTransparent(0, TRUE);
ScriptUnfreezeEventObjects();
ScriptContext2_Disable();
- ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88);
+ ScriptContext1_SetupScript(BattlePyramid_Retire);
return TRUE;
}
@@ -853,7 +852,7 @@ static u8 RunSaveCallback(void)
return sSaveDialogCallback();
}
-void SaveGame(void) // Called from cable_club.s
+void SaveGame(void)
{
InitSave();
CreateTask(SaveGameTask, 0x50);
@@ -967,8 +966,8 @@ static u8 SaveConfirmInputCallback(void)
case 0: // Yes
switch (gSaveFileStatus)
{
- case 0:
- case 2:
+ case SAVE_STATUS_EMPTY:
+ case SAVE_STATUS_CORRUPT:
if (gDifferentSaveFile == FALSE)
{
sSaveDialogCallback = SaveFileExistsCallback;
@@ -1048,7 +1047,7 @@ static u8 SaveDoSaveCallback(void)
u8 saveStatus;
IncrementGameStat(GAME_STAT_SAVED_GAME);
- sub_81A9E90();
+ PausePyramidChallenge();
if (gDifferentSaveFile == TRUE)
{
@@ -1060,14 +1059,10 @@ static u8 SaveDoSaveCallback(void)
saveStatus = TrySavingData(SAVE_NORMAL);
}
- if (saveStatus == 1) // Save succeded
- {
+ if (saveStatus == SAVE_STATUS_OK)
ShowSaveMessage(gText_PlayerSavedGame, SaveSuccessCallback);
- }
- else // Save error
- {
+ else
ShowSaveMessage(gText_SaveError, SaveErrorCallback);
- }
SaveStartTimer();
return SAVE_IN_PROGRESS;
@@ -1202,7 +1197,7 @@ static bool32 sub_80A03E4(u8 *par1)
return FALSE;
}
-void sub_80A0514(void) // Called from cable_club.s
+void sub_80A0514(void)
{
if (sub_80A03E4(&gMain.state))
{
@@ -1371,7 +1366,7 @@ static void sub_80A08A4(u8 taskId)
}
}
-void sub_80A08CC(void) // Referenced in data/specials.inc and data/scripts/maps/BattleFrontier_BattleTowerLobby.inc
+void sub_80A08CC(void)
{
u8 taskId = CreateTask(sub_8153688, 0x5);
gTasks[taskId].data[2] = 1;
@@ -1386,7 +1381,7 @@ static void HideStartMenuWindow(void)
ScriptContext2_Disable();
}
-void HideStartMenu(void) // Called from map_name_popup.s
+void HideStartMenu(void)
{
PlaySE(SE_SELECT);
HideStartMenuWindow();
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 5524d407b..348491992 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -112,16 +112,16 @@ static const struct WindowTemplate gUnknown_085B1DE4 =
static const u8 sPokeballCoords[STARTER_MON_COUNT][2] =
{
- {0x3c, 0x40},
- {0x78, 0x58},
- {0xb4, 0x40},
+ {60, 64},
+ {120, 88},
+ {180, 64},
};
-static const u8 gStarterChoose_LabelCoords[][2] =
+static const u8 sStarterLabelCoords[][2] =
{
- {0x00, 0x09},
- {0x10, 0x0a},
- {0x08, 0x04},
+ {0, 9},
+ {16, 10},
+ {8, 4},
};
static const u16 sStarterMon[STARTER_MON_COUNT] =
@@ -162,15 +162,15 @@ static const struct BgTemplate gUnknown_085B1E00[3] =
},
};
-static const u8 gUnknown_085B1E0C[] = {0x00, 0x01, 0x03};
+static const u8 sTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY};
static const struct OamData gOamData_85B1E10 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -184,10 +184,10 @@ static const struct OamData gOamData_85B1E10 =
static const struct OamData gOamData_85B1E18 =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x32),
.x = 0,
.matrixNum = 0,
@@ -201,10 +201,10 @@ static const struct OamData gOamData_85B1E18 =
static const struct OamData gOamData_85B1E20 =
{
.y = 160,
- .affineMode = 3,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -215,11 +215,11 @@ static const struct OamData gOamData_85B1E20 =
.affineParam = 0,
};
-static const u8 gUnknown_085B1E28[][2] =
+static const u8 sCursorCoords[][2] =
{
- {0x3c, 0x20},
- {0x78, 0x38},
- {0xb4, 0x20},
+ {60, 32},
+ {120, 56},
+ {180, 32},
};
static const union AnimCmd gSpriteAnim_85B1E30[] =
@@ -579,36 +579,36 @@ static void Task_StarterChoose6(u8 taskId)
static void CreateStarterPokemonLabel(u8 selection)
{
- u8 text[32];
+ u8 categoryText[32];
struct WindowTemplate winTemplate;
const u8 *speciesName;
s32 width;
u8 labelLeft, labelRight, labelTop, labelBottom;
u16 species = GetStarterPokemon(selection);
- CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
+ CopyMonCategoryText(SpeciesToNationalPokedexNum(species), categoryText);
speciesName = gSpeciesNames[species];
winTemplate = gUnknown_085B1DE4;
- winTemplate.tilemapLeft = gStarterChoose_LabelCoords[selection][0];
- winTemplate.tilemapTop = gStarterChoose_LabelCoords[selection][1];
+ winTemplate.tilemapLeft = sStarterLabelCoords[selection][0];
+ winTemplate.tilemapTop = sStarterLabelCoords[selection][1];
sStarterChooseWindowId = AddWindow(&winTemplate);
FillWindowPixelBuffer(sStarterChooseWindowId, PIXEL_FILL(0));
- width = GetStringCenterAlignXOffset(7, text, 0x68);
- AddTextPrinterParameterized3(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text);
+ width = GetStringCenterAlignXOffset(7, categoryText, 0x68);
+ AddTextPrinterParameterized3(sStarterChooseWindowId, 7, width, 1, sTextColors, 0, categoryText);
width = GetStringCenterAlignXOffset(1, speciesName, 0x68);
- AddTextPrinterParameterized3(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName);
+ AddTextPrinterParameterized3(sStarterChooseWindowId, 1, width, 0x11, sTextColors, 0, speciesName);
PutWindowTilemap(sStarterChooseWindowId);
schedule_bg_copy_tilemap_to_vram(0);
- labelLeft = gStarterChoose_LabelCoords[selection][0] * 8 - 4;
- labelRight = (gStarterChoose_LabelCoords[selection][0] + 13) * 8 + 4;
- labelTop = gStarterChoose_LabelCoords[selection][1] * 8;
- labelBottom = (gStarterChoose_LabelCoords[selection][1] + 4) * 8;
+ labelLeft = sStarterLabelCoords[selection][0] * 8 - 4;
+ labelRight = (sStarterLabelCoords[selection][0] + 13) * 8 + 4;
+ labelTop = sStarterLabelCoords[selection][1] * 8;
+ labelBottom = (sStarterLabelCoords[selection][1] + 4) * 8;
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(labelLeft, labelRight));
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(labelTop, labelBottom));
}
@@ -647,8 +647,8 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y)
void sub_81346DC(struct Sprite *sprite)
{
- sprite->pos1.x = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][0];
- sprite->pos1.y = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][1];
+ sprite->pos1.x = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][0];
+ sprite->pos1.y = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][1];
sprite->pos2.y = Sin(sprite->data[1], 8);
sprite->data[1] = (u8)(sprite->data[1]) + 4;
}
diff --git a/src/strings.c b/src/strings.c
index ebc995f13..f0566c859 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -2,23 +2,23 @@
#include "strings.h"
ALIGNED(4)
-const u8 gExpandedPlaceholder_Empty[] = _("");
-const u8 gExpandedPlaceholder_Kun[] = _("");
-const u8 gExpandedPlaceholder_Chan[] = _("");
-const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE");
-const u8 gExpandedPlaceholder_Ruby[] = _("RUBY");
-const u8 gExpandedPlaceholder_Emerald[] = _("EMERALD");
-const u8 gExpandedPlaceholder_Aqua[] = _("AQUA");
-const u8 gExpandedPlaceholder_Magma[] = _("MAGMA");
-const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE");
-const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE");
-const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE");
-const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON");
-const u8 gExpandedPlaceholder_Brendan[] = _("BRENDAN");
-const u8 gExpandedPlaceholder_May[] = _("MAY");
+const u8 gText_ExpandedPlaceholder_Empty[] = _("");
+const u8 gText_ExpandedPlaceholder_Kun[] = _("");
+const u8 gText_ExpandedPlaceholder_Chan[] = _("");
+const u8 gText_ExpandedPlaceholder_Sapphire[] = _("SAPPHIRE");
+const u8 gText_ExpandedPlaceholder_Ruby[] = _("RUBY");
+const u8 gText_ExpandedPlaceholder_Emerald[] = _("EMERALD");
+const u8 gText_ExpandedPlaceholder_Aqua[] = _("AQUA");
+const u8 gText_ExpandedPlaceholder_Magma[] = _("MAGMA");
+const u8 gText_ExpandedPlaceholder_Archie[] = _("ARCHIE");
+const u8 gText_ExpandedPlaceholder_Maxie[] = _("MAXIE");
+const u8 gText_ExpandedPlaceholder_Kyogre[] = _("KYOGRE");
+const u8 gText_ExpandedPlaceholder_Groudon[] = _("GROUDON");
+const u8 gText_ExpandedPlaceholder_Brendan[] = _("BRENDAN");
+const u8 gText_ExpandedPlaceholder_May[] = _("MAY");
const u8 gText_EggNickname[] = _("EGG");
const u8 gText_Pokemon[] = _("POKéMON");
-const u8 gProfBirchMatchCallName[] = _("PROF. BIRCH");
+const u8 gText_ProfBirchMatchCallName[] = _("PROF. BIRCH");
const u8 gText_MainMenuNewGame[] = _("NEW GAME");
const u8 gText_MainMenuContinue[] = _("CONTINUE");
const u8 gText_MainMenuOption[] = _("OPTION");
@@ -28,31 +28,31 @@ const u8 gText_MainMenuMysteryEvents[] = _("MYSTERY EVENTS");
const u8 gText_WirelessNotConnected[] = _("The Wireless Adapter is not\nconnected.");
const u8 gText_MysteryGiftCantUse[] = _("MYSTERY GIFT can't be used while\nthe Wireless Adapter is attached.");
const u8 gText_MysteryEventsCantUse[] = _("MYSTERY EVENTS can't be used while\nthe Wireless Adapter is attached.");
-const u8 gUnknown_085E836D[] = _("Updating save file using external\ndata. Please wait.");
-const u8 gUnknown_085E83A2[] = _("The save file has been updated.");
+const u8 gText_UpdatingSaveExternalData[] = _("Updating save file using external\ndata. Please wait."); // Unused
+const u8 gText_SaveFileUpdated[] = _("The save file has been updated."); // Unused
const u8 gText_SaveFileCorrupted[] = _("The save file is corrupted. The\nprevious save file will be loaded.");
const u8 gText_SaveFileErased[] = _("The save file has been erased\ndue to corruption or damage.");
const u8 gJPText_No1MSubCircuit[] = _("1Mサブきばんが ささっていません!");
const u8 gText_BatteryRunDry[] = _("The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur.");
-const u8 gUnknown_085E84BF[] = _("PLAYER");
-const u8 gUnknown_085E84C6[] = _("POKéDEX");
-const u8 gText_MainMenuTime[] = _("TIME");
-const u8 gUnknown_085E84D3[] = _("BADGES");
-const u8 gUnknown_085E84DA[] = _("A Button");
-const u8 gUnknown_085E84E3[] = _("B Button");
-const u8 gUnknown_085E84EC[] = _("R Button");
-const u8 gUnknown_085E84F5[] = _("L Button");
-const u8 gUnknown_085E84FE[] = _("START");
-const u8 gUnknown_085E8504[] = _("SELECT");
-const u8 gUnknown_085E850B[] = _("+ Control Pad");
-const u8 gUnknown_085E8519[] = _("L Button R Button");
-const u8 gUnknown_085E852C[] = _("CONTROLS");
-ALIGNED(4) const u8 gUnknown_085E8538[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK");
-ALIGNED(4) const u8 gUnknown_085E8544[] = _("{A_BUTTON}NEXT");
-ALIGNED(4) const u8 gUnknown_085E854C[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK");
+const u8 gText_Player[] = _("PLAYER"); // Unused
+const u8 gText_Pokedex[] = _("POKéDEX"); // Unused
+const u8 gText_Time[] = _("TIME");
+const u8 gText_Badges[] = _("BADGES"); // Unused
+const u8 gText_AButton[] = _("A Button"); // Unused
+const u8 gText_BButton[] = _("B Button"); // Unused
+const u8 gText_RButton[] = _("R Button"); // Unused
+const u8 gText_LButton[] = _("L Button"); // Unused
+const u8 gText_Start[] = _("START"); // Unused
+const u8 gText_Select[] = _("SELECT"); // Unused
+const u8 gText_ControlPad[] = _("+ Control Pad"); // Unused
+const u8 gText_LButtonRButton[] = _("L Button R Button"); // Unused
+const u8 gText_Controls[] = _("CONTROLS"); // Unused
+ALIGNED(4) const u8 gText_PickOk[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK"); // Unused
+ALIGNED(4) const u8 gText_Next[] = _("{A_BUTTON}NEXT"); // Unused
+ALIGNED(4) const u8 gText_NextBack[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); // Unused
ALIGNED(4) const u8 gText_PickNextCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL");
ALIGNED(4) const u8 gText_PickCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL");
-ALIGNED(4) const u8 gText_UnkCtrlF800Exit[] = _("{A_BUTTON}EXIT");
+ALIGNED(4) const u8 gText_AButtonExit[] = _("{A_BUTTON}EXIT");
const u8 gText_BirchBoy[] = _("BOY");
const u8 gText_BirchGirl[] = _("GIRL");
const u8 gText_DefaultNameStu[] = _("STU");
@@ -99,28 +99,28 @@ const u8 gText_ThisIsAPokemon[] = _("This is what we call a “POKéMON.”{PAUS
const u8 gText_5MarksPokemon[] = _("????? POKéMON");
const u8 gText_UnkHeight[] = _("{CLEAR_TO 0x0C}??'??”");
const u8 gText_UnkWeight[] = _("????.? lbs.");
-const u8 gUnknown_085E86DC[] = _(" POKéMON");
-const u8 gUnknown_085E86FB[] = _("{CLEAR_TO 0x0C} ' ”");
-const u8 gUnknown_085E8709[] = _(" . lbs.");
-const u8 gUnknown_085E871A[] = _("");
+const u8 gText_EmptyPkmnCategory[] = _(" POKéMON"); // Unused
+const u8 gText_EmptyHeight[] = _("{CLEAR_TO 0x0C} ' ”"); // Unused
+const u8 gText_EmptyWeight[] = _(" . lbs."); // Unused
+const u8 gText_EmptyPokedexInfo1[] = _(""); // Unused
const u8 gText_CryOf[] = _("CRY OF");
-const u8 gUnknown_085E8722[] = _("");
+const u8 gText_EmptyPokedexInfo2[] = _(""); // Unused
const u8 gText_SizeComparedTo[] = _("SIZE COMPARED TO ");
const u8 gText_PokedexRegistration[] = _("POKéDEX registration completed.");
const u8 gText_HTHeight[] = _("HT");
const u8 gText_WTWeight[] = _("WT");
const u8 gText_SearchingPleaseWait[] = _("Searching…\nPlease wait.");
const u8 gText_SearchCompleted[] = _("Search completed.");
-const u8 gUnknown_085E8785[] = _("No matching POKéMON were found.");
-const u8 gUnknown_085E87A5[] = _("Search for POKéMON based on\nselected parameters.");
-const u8 gUnknown_085E87D6[] = _("Switch POKéDEX listings.");
-const u8 gUnknown_085E87EF[] = _("Return to the POKéDEX.");
-const u8 gUnknown_085E8806[] = _("Select the POKéDEX mode.");
-const u8 gUnknown_085E881F[] = _("Select the POKéDEX listing mode.");
-const u8 gUnknown_085E8840[] = _("List by the first letter in the name.\nSpotted POKéMON only.");
-const u8 gUnknown_085E887C[] = _("List by body color.\nSpotted POKéMON only.");
-const u8 gUnknown_085E88A6[] = _("List by type.\nOwned POKéMON only.");
-const u8 gUnknown_085E88C8[] = _("Execute search/switch.");
+const u8 gText_NoMatchingPkmnWereFound[] = _("No matching POKéMON were found.");
+const u8 gText_SearchForPkmnBasedOnParameters[] = _("Search for POKéMON based on\nselected parameters.");
+const u8 gText_SwitchPokedexListings[] = _("Switch POKéDEX listings.");
+const u8 gText_ReturnToPokedex[] = _("Return to the POKéDEX.");
+const u8 gText_SelectPokedexMode[] = _("Select the POKéDEX mode.");
+const u8 gText_SelectPokedexListingMode[] = _("Select the POKéDEX listing mode.");
+const u8 gText_ListByFirstLetter[] = _("List by the first letter in the name.\nSpotted POKéMON only.");
+const u8 gText_ListByBodyColor[] = _("List by body color.\nSpotted POKéMON only.");
+const u8 gText_ListByType[] = _("List by type.\nOwned POKéMON only.");
+const u8 gText_ExecuteSearchSwitch[] = _("Execute search/switch.");
const u8 gText_DexHoennTitle[] = _("HOENN DEX");
const u8 gText_DexNatTitle[] = _("NATIONAL DEX");
const u8 gText_DexSortNumericalTitle[] = _("NUMERICAL MODE");
@@ -160,7 +160,7 @@ const u8 gText_DexEmptyString[] = _("");
const u8 gText_DexSearchDontSpecify[] = _("DON'T SPECIFY.");
const u8 gText_DexSearchTypeNone[] = _("NONE");
const u8 gText_SelectorArrow[] = _("▶");
-const u8 gUnknown_085E8B3C[] = _(" ");
+const u8 gText_EmptySpace[] = _(" "); // Unused
const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!");
const u8 gText_HOFDexRating[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH's POKéDEX rating!\pPROF. BIRCH: Let's see…\p");
const u8 gText_HOFDexSaving[] = _("SAVING…\nDON'T TURN OFF THE POWER.");
@@ -169,12 +169,12 @@ const u8 gText_HOFNumber[] = _("HALL OF FAME No. {STR_VAR_1}");
const u8 gText_LeagueChamp[] = _("LEAGUE CHAMPION!\nCONGRATULATIONS!");
const u8 gText_Number[] = _("No. ");
const u8 gText_Level[] = _("Lv. ");
-const u8 gUnknown_085E8C40[] = _("IDNo. /");
+const u8 gText_IdNumberSlash[] = _("IDNo. /"); // Unused
const u8 gText_Name[] = _("NAME");
const u8 gText_IDNumber[] = _("IDNo.");
const u8 gText_BirchInTrouble[] = _("PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!");
const u8 gText_ConfirmStarterChoice[] = _("Do you choose this POKéMON?");
-const u8 gUnknown_085E8CAC[] = _("POKéMON");
+const u8 gText_Pokemon4[] = _("POKéMON"); // Unused
const u8 gText_FlyToWhere[] = _("FLY to where?");
const u8 gMenuText_Use[] = _("USE");
const u8 gMenuText_Toss[] = _("TOSS");
@@ -187,7 +187,7 @@ const u8 gText_Cancel[] = _("CANCEL");
const u8 gText_Cancel2[] = _("CANCEL");
const u8 gMenuText_Show[] = _("SHOW");
const u8 gText_EmptyString2[] = _("");
-const u8 gUnknown_085E8D04[] = _("CANCEL");
+const u8 gText_Cancel7[] = _("CANCEL"); // Unused
const u8 gText_Item[] = _("ITEM");
const u8 gText_Mail[] = _("MAIL");
const u8 gText_Take[] = _("TAKE");
@@ -204,17 +204,17 @@ const u8 gText_ThreeDashes[] = _("---");
const u8 gText_MaleSymbol[] = _("♂");
const u8 gText_FemaleSymbol[] = _("♀");
const u8 gText_LevelSymbol[] = _("{LV}");
-const u8 gText_UnkCtrlF908Clear01[] = _("{NO}{CLEAR 0x01}");
-const u8 gUnknown_085E8D55[] = _("+");
-const u8 gUnknown_085E8D57[] = _("{RIGHT_ARROW}");
-const u8 gText_UnkCtrlF907F908[] = _("{ID}{NO}");
+const u8 gText_NumberClear01[] = _("{NO}{CLEAR 0x01}");
+const u8 gText_PlusSymbol[] = _("+"); // Unused
+const u8 gText_RightArrow[] = _("{RIGHT_ARROW}"); // Unused
+const u8 gText_IDNumber2[] = _("{ID}{NO}");
const u8 gText_Space[] = _(" ");
const u8 gText_SelectorArrow2[] = _("▶");
const u8 gText_GoBackPrevMenu[] = _("Go back to the\nprevious menu.");
const u8 gText_WhatWouldYouLike[] = _("What would you like to do?");
const u8 gMenuText_Give2[] = _("GIVE");
const u8 gText_xVar1[] = _("×{STR_VAR_1}");
-const u8 gUnknown_085E8DA4[] = _(" BERRY");
+const u8 gText_Berry2[] = _(" BERRY"); // Unused
const u8 gText_Coins[] = _("{STR_VAR_1} COINS");
const u8 gText_CloseBag[] = _("CLOSE BAG");
const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} is\nselected.");
@@ -292,7 +292,7 @@ const u8 *const gPocketNamesStringsTable[] =
gText_KeyItemsPocket
};
-const u8 gText_UnkF908Var1Clear7Var2[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}");
+const u8 gText_NumberVar1Clear7Var2[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}");
const u8 gText_ClearTo11Var1Clear5Var2[] = _("{CLEAR_TO 0x11}{STR_VAR_1}{CLEAR 0x05}{STR_VAR_2}");
const u8 gText_SizeSlash[] = _("SIZE /");
const u8 gText_FirmSlash[] = _("FIRM /");
@@ -305,7 +305,7 @@ const u8 gBerryFirmnessString_Hard[] = _("Hard");
const u8 gBerryFirmnessString_VeryHard[] = _("Very hard");
const u8 gBerryFirmnessString_SuperHard[] = _("Super hard");
-const u8 gText_UnkF908Var1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}");
+const u8 gText_NumberVar1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}");
const u8 gText_BerryTag[] = _("BERRY TAG");
const u8 gText_RedPokeblock[] = _("RED {POKEBLOCK}");
const u8 gText_BluePokeblock[] = _("BLUE {POKEBLOCK}");
@@ -326,8 +326,8 @@ const u8 gText_Dry[] = _("DRY");
const u8 gText_Sweet[] = _("SWEET");
const u8 gText_Bitter[] = _("BITTER");
const u8 gText_Sour[] = _("SOUR");
-const u8 gUnknown_085E9339[] = _("TASTY");
-const u8 gUnknown_085E933F[] = _("FEEL");
+const u8 gText_Tasty[] = _("TASTY"); // Unused
+const u8 gText_Feel[] = _("FEEL"); // Unused
const u8 gText_StowCase[] = _("Stow CASE.");
const u8 gText_LvVar1[] = _("{LV}{STR_VAR_1}");
const u8 gText_ThrowAwayVar1[] = _("Throw away this\n{STR_VAR_1}?");
@@ -363,7 +363,7 @@ const u8 gText_Shift[] = _("SHIFT");
const u8 gText_SendOut[] = _("SEND OUT");
const u8 gText_Switch2[] = _("SWITCH");
const u8 gText_Summary5[] = _("SUMMARY");
-const u8 gUnknown_085E96BE[] = _("MOVES");
+const u8 gText_Moves[] = _("MOVES"); // Unused
const u8 gText_Enter[] = _("ENTER");
const u8 gText_NoEntry[] = _("NO ENTRY");
const u8 gText_Take2[] = _("TAKE");
@@ -388,7 +388,7 @@ const u8 gText_PCMailboxFull[] = _("Your PC's MAILBOX is full.{PAUSE_UNTIL_PRESS
const u8 gText_MailMessageWillBeLost[] = _("If the MAIL is removed, the\nmessage will be lost. Okay?");
const u8 gText_RemoveMailBeforeItem[] = _("MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}");
const u8 gText_PkmnWasGivenItem[] = _("{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}");
-const u8 gText_SwitchPkmnItem[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?");
+const u8 gText_PkmnAlreadyHoldingItemSwitch[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?");
const u8 gText_PkmnNotHolding[] = _("{STR_VAR_1} isn't holding\nanything.{PAUSE_UNTIL_PRESS}");
const u8 gText_ReceivedItemFromPkmn[] = _("Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}");
const u8 gText_MailTakenFromPkmn[] = _("MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}");
@@ -411,7 +411,7 @@ const u8 gText_PkmnWokeUp2[] = _("{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}");
const u8 gText_PkmnBurnHealed[] = _("{STR_VAR_1}'s burn was healed.{PAUSE_UNTIL_PRESS}");
const u8 gText_PkmnThawedOut[] = _("{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}");
const u8 gText_PPWasRestored[] = _("PP was restored.{PAUSE_UNTIL_PRESS}");
-const u8 gUnknown_085E9CCA[] = _("{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}");
+const u8 gText_PkmnRegainhedHealth[] = _("{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}"); // Unused
const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}");
const u8 gText_MovesPPIncreased[] = _("{STR_VAR_1}'s PP increased.{PAUSE_UNTIL_PRESS}");
const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}.");
@@ -423,7 +423,7 @@ const u8 gText_PkmnSnappedOutOfConfusion[] = _("{STR_VAR_1} snapped out of its\n
const u8 gText_PkmnGotOverInfatuation[] = _("{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}");
const u8 gText_ThrowAwayItem[] = _("Throw away this\n{STR_VAR_1}?");
const u8 gText_ItemThrownAway[] = _("The {STR_VAR_1}\nwas thrown away.{PAUSE_UNTIL_PRESS}");
-const u8 gUnknown_085E9E2E[] = _("Teach which POKéMON?");
+const u8 gText_TeachWhichPokemon2[] = _("Teach which POKéMON?"); // Unused
const u8 gText_ChoosePokemon[] = _("Choose a POKéMON.");
const u8 gText_MoveToWhere[] = _("Move to where?");
const u8 gText_TeachWhichPokemon[] = _("Teach which POKéMON?");
@@ -471,7 +471,7 @@ const u8 gText_CancelChallenge[] = _("Cancel the challenge?");
const u8 gText_EscapeFromHere[] = _("Want to escape from here and return\nto {STR_VAR_1}?");
const u8 gText_ReturnToHealingSpot[] = _("Want to return to the healing spot\nused last in {STR_VAR_1}?");
const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}");
-const u8 gJPText_PutVar1IntoSpinner[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?");
+const u8 gJPText_AreYouSureYouWantToSpinTradeMon[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?");
ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle.");
ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can't be traded\nnow.");
ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can't be traded now.");
@@ -487,7 +487,7 @@ const u8 gText_SpAtk4[] = _("SP. ATK");
const u8 gText_SpDef4[] = _("SP. DEF");
const u8 gText_Speed2[] = _("SPEED");
const u8 gText_HP4[] = _("HP");
-const u8 gUnknown_085EA364[] = _("");
+const u8 gText_EmptyString8[] = _(""); // Unused
const u8 gText_OTSlash[] = _("OT/");
const u8 gText_RentalPkmn[] = _("RENTAL POKéMON");
const u8 gText_TypeSlash[] = _("TYPE/");
@@ -500,7 +500,7 @@ const u8 gText_ExpPoints[] = _("EXP. POINTS");
const u8 gText_NextLv[] = _("NEXT LV.");
const u8 gText_RibbonsVar1[] = _("RIBBONS: {STR_VAR_1}");
const u8 gText_EmptyString5[] = _("");
-const u8 gUnknown_085EA3C1[] = _("EVENTS");
+const u8 gText_Events[] = _("EVENTS"); // Unused
const u8 gText_Switch[] = _("SWITCH");
const u8 gText_PkmnInfo[] = _("POKéMON INFO");
const u8 gText_PkmnSkills[] = _("POKéMON SKILLS");
@@ -530,7 +530,7 @@ const u8 gText_OkayToDeleteFromRegistry[] = _("Is it okay to delete {STR_VAR_1}\
const u8 gText_RegisteredDataDeleted[] = _("The registered data was deleted.{PAUSE_UNTIL_PRESS}");
const u8 gText_NoRegistry[] = _("There is no REGISTRY.{PAUSE_UNTIL_PRESS}");
const u8 gText_DelRegist[] = _("DEL REGIST.");
-const u8 gUnknown_085EA7A9[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}");
+const u8 gText_Var3Var1SlashVar2[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); // Unused
const u8 gText_Decorate[] = _("DECORATE");
const u8 gText_PutAway[] = _("PUT AWAY");
const u8 gText_Toss2[] = _("TOSS");
@@ -555,7 +555,7 @@ const u8 gText_CancelDecorating[] = _("Cancel decorating?");
const u8 gText_InUseAlready[] = _("This is in use already.");
const u8 gText_NoMoreDecorations[] = _("No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}.");
const u8 gText_NoMoreDecorations2[] = _("No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}.");
-const u8 gUnknown_085EA978[] = _("This can't be placed here.\nIt must be on a DESK, etc.");
+const u8 gText_MustBePlacedOnDesk[] = _("This can't be placed here.\nIt must be on a DESK, etc."); // Unused
const u8 gText_CantPlaceInRoom[] = _("This decoration can't be placed in\nyour own room.");
const u8 gText_CantThrowAwayInUse[] = _("This decoration is in use.\nIt can't be thrown away.");
const u8 gText_DecorationWillBeDiscarded[] = _("This {STR_VAR_1} will be discarded.\nIs that okay?");
@@ -599,89 +599,89 @@ const u8 gText_Brawly[] = _("BRAWLY");
const u8 gText_Winona[] = _("WINONA");
const u8 gText_Phoebe[] = _("PHOEBE");
const u8 gText_Glacia[] = _("GLACIA");
-const u8 gUnknown_085EAD37[] = _("PETALBURG");
-const u8 gUnknown_085EAD41[] = _("SLATEPORT");
-const u8 gUnknown_085EAD4B[] = _("LITTLEROOT");
-const u8 gUnknown_085EAD56[] = _("LILYCOVE");
-const u8 gUnknown_085EAD5F[] = _("DEWFORD");
-const u8 gUnknown_085EAD67[] = _("ENTER");
-const u8 gUnknown_085EAD6D[] = _("INFO");
-const u8 gUnknown_085EAD72[] = _("What's a CONTEST?");
-const u8 gUnknown_085EAD84[] = _("Types of CONTESTS");
-const u8 gUnknown_085EAD96[] = _("Ranks");
-const u8 gUnknown_085EAD9C[] = _("Judging");
+const u8 gText_Petalburg[] = _("PETALBURG");
+const u8 gText_Slateport[] = _("SLATEPORT");
+const u8 gText_Littleroot[] = _("LITTLEROOT"); // Unused. Given the context, Briney may at one point have been able to sail the player here
+const u8 gText_Lilycove[] = _("LILYCOVE"); // Unused. Given the context, Briney may at one point have been able to sail the player here
+const u8 gText_Dewford[] = _("DEWFORD");
+const u8 gText_Enter2[] = _("ENTER");
+const u8 gText_Info2[] = _("INFO");
+const u8 gText_WhatsAContest[] = _("What's a CONTEST?");
+const u8 gText_TypesOfContests[] = _("Types of CONTESTS");
+const u8 gText_Ranks[] = _("Ranks");
+const u8 gText_Judging[] = _("Judging"); //unused
const u8 gText_CoolnessContest[] = _("COOLNESS CONTEST");
const u8 gText_BeautyContest[] = _("BEAUTY CONTEST");
const u8 gText_CutenessContest[] = _("CUTENESS CONTEST");
const u8 gText_SmartnessContest[] = _("SMARTNESS CONTEST");
const u8 gText_ToughnessContest[] = _("TOUGHNESS CONTEST");
-const u8 gUnknown_085EADF9[] = _("DECORATION");
-const u8 gUnknown_085EAE04[] = _("PACK UP");
-const u8 gUnknown_085EAE0C[] = _("COUNT");
-const u8 gUnknown_085EAE12[] = _("REGISTRY");
-const u8 gUnknown_085EAE1B[] = _("INFORMATION");
-const u8 gUnknown_085EAE27[] = _("MACH");
-const u8 gUnknown_085EAE2C[] = _("ACRO");
-const u8 gUnknown_085EAE31[] = _("PSN");
-const u8 gUnknown_085EAE35[] = _("PAR");
-const u8 gUnknown_085EAE39[] = _("SLP");
-const u8 gUnknown_085EAE3D[] = _("BRN");
-const u8 gUnknown_085EAE41[] = _("FRZ");
-const u8 gUnknown_085EAE45[] = _("TOXIC");
-const u8 gUnknown_085EAE4B[] = _("OK");
-const u8 gUnknown_085EAE4E[] = _("QUIT");
-const u8 gUnknown_085EAE53[] = _("Saw it");
-const u8 gUnknown_085EAE5A[] = _("Not yet");
+const u8 gText_Decoration2[] = _("DECORATION");
+const u8 gText_PackUp[] = _("PACK UP");
+const u8 gText_Count[] = _("COUNT"); //unused
+const u8 gText_Registry[] = _("REGISTRY");
+const u8 gText_Information[] = _("INFORMATION");
+const u8 gText_Mach[] = _("MACH");
+const u8 gText_Acro[] = _("ACRO");
+const u8 gText_Psn[] = _("PSN");
+const u8 gText_Par[] = _("PAR");
+const u8 gText_Slp[] = _("SLP");
+const u8 gText_Brn[] = _("BRN");
+const u8 gText_Frz[] = _("FRZ");
+const u8 gText_Toxic[] = _("TOXIC"); // Unused
+const u8 gText_Ok3[] = _("OK"); // Unused
+const u8 gText_Quit[] = _("QUIT"); // Unused
+const u8 gText_SawIt[] = _("Saw it");
+const u8 gText_NotYet[] = _("Not yet");
const u8 gText_Yes[] = _("YES");
const u8 gText_No[] = _("NO");
-const u8 gUnknown_085EAE69[] = _("INFO");
-const u8 gUnknown_085EAE6E[] = _("SINGLE BATTLE");
-const u8 gUnknown_085EAE7C[] = _("DOUBLE BATTLE");
-const u8 gUnknown_085EAE8A[] = _("MULTI BATTLE");
-const u8 gUnknown_085EAE97[] = _("MR. BRINEY");
-const u8 gUnknown_085EAEA2[] = _("CHALLENGE");
-const u8 gUnknown_085EAEAC[] = _("INFO");
+const u8 gText_Info4[] = _("INFO"); // Unused
+const u8 gText_SingleBattle[] = _("SINGLE BATTLE");
+const u8 gText_DoubleBattle[] = _("DOUBLE BATTLE");
+const u8 gText_MultiBattle[] = _("MULTI BATTLE");
+const u8 gText_MrBriney[] = _("MR. BRINEY"); // Unused
+const u8 gText_Challenge[] = _("CHALLENGE");
+const u8 gText_Info3[] = _("INFO");
const u8 gText_Lv50[] = _("LV. 50");
const u8 gText_OpenLevel[] = _("OPEN LEVEL");
-const u8 gUnknown_085EAEC3[] = _("FRESH WATER{CLEAR_TO 0x48}¥200");
-const u8 gUnknown_085EAED6[] = _("SODA POP{CLEAR_TO 0x48}¥300");
-const u8 gUnknown_085EAEE6[] = _("LEMONADE{CLEAR_TO 0x48}¥350");
-const u8 gUnknown_085EAEF6[] = _("HOW TO RIDE");
-const u8 gUnknown_085EAF02[] = _("HOW TO TURN");
-const u8 gUnknown_085EAF0E[] = _("SANDY SLOPES");
-const u8 gUnknown_085EAF1B[] = _("WHEELIES");
-const u8 gUnknown_085EAF24[] = _("BUNNY-HOPS");
-const u8 gUnknown_085EAF2F[] = _("JUMP");
-const u8 gUnknown_085EAF34[] = _("Satisfied");
-const u8 gUnknown_085EAF3E[] = _("Dissatisfied");
-const u8 gUnknown_085EAF4B[] = _("DEEPSEATOOTH");
-const u8 gUnknown_085EAF58[] = _("DEEPSEASCALE");
-const u8 gUnknown_085EAF65[] = _("BLUE FLUTE");
-const u8 gUnknown_085EAF70[] = _("YELLOW FLUTE");
-const u8 gUnknown_085EAF7D[] = _("RED FLUTE");
-const u8 gUnknown_085EAF87[] = _("WHITE FLUTE");
-const u8 gUnknown_085EAF93[] = _("BLACK FLUTE");
-const u8 gUnknown_085EAF9F[] = _("GLASS CHAIR");
-const u8 gUnknown_085EAFAB[] = _("GLASS DESK");
-const u8 gUnknown_085EAFB6[] = _("TREECKO DOLL 1,000 COINS");
-const u8 gUnknown_085EAFCF[] = _("TORCHIC DOLL 1,000 COINS");
-const u8 gUnknown_085EAFE8[] = _("MUDKIP DOLL 1,000 COINS");
-const u8 gUnknown_085EB002[] = _(" 50 COINS ¥1,000");
-const u8 gUnknown_085EB017[] = _("500 COINS ¥10,000");
-const u8 gUnknown_085EB02A[] = _("Excellent");
-const u8 gUnknown_085EB034[] = _("Not so good");
-const u8 gUnknown_085EB040[] = _("RED SHARD");
-const u8 gUnknown_085EB04A[] = _("YELLOW SHARD");
-const u8 gUnknown_085EB057[] = _("BLUE SHARD");
-const u8 gUnknown_085EB062[] = _("GREEN SHARD");
+const u8 gText_FreshWaterAndPrice[] = _("FRESH WATER{CLEAR_TO 0x48}¥200");
+const u8 gText_SodaPopAndPrice[] = _("SODA POP{CLEAR_TO 0x48}¥300");
+const u8 gText_LemonadeAndPrice[] = _("LEMONADE{CLEAR_TO 0x48}¥350");
+const u8 gText_HowToRide[] = _("HOW TO RIDE");
+const u8 gText_HowToTurn[] = _("HOW TO TURN");
+const u8 gText_SandySlopes[] = _("SANDY SLOPES");
+const u8 gText_Wheelies[] = _("WHEELIES");
+const u8 gText_BunnyHops[] = _("BUNNY-HOPS");
+const u8 gText_Jump[] = _("JUMP");
+const u8 gText_Satisfied[] = _("Satisfied");
+const u8 gText_Dissatisfied[] = _("Dissatisfied");
+const u8 gText_DeepSeaTooth[] = _("DEEPSEATOOTH");
+const u8 gText_DeepSeaScale[] = _("DEEPSEASCALE");
+const u8 gText_BlueFlute2[] = _("BLUE FLUTE");
+const u8 gText_YellowFlute2[] = _("YELLOW FLUTE");
+const u8 gText_RedFlute2[] = _("RED FLUTE");
+const u8 gText_WhiteFlute2[] = _("WHITE FLUTE");
+const u8 gText_BlackFlute2[] = _("BLACK FLUTE");
+const u8 gText_GlassChair[] = _("GLASS CHAIR");
+const u8 gText_GlassDesk[] = _("GLASS DESK");
+const u8 gText_TreeckoDollAndPrice[] = _("TREECKO DOLL 1,000 COINS");
+const u8 gText_TorchicDollAndPrice[] = _("TORCHIC DOLL 1,000 COINS");
+const u8 gText_MudkipDollAndPrice[] = _("MUDKIP DOLL 1,000 COINS");
+const u8 gText_50CoinsAndPrice[] = _(" 50 COINS ¥1,000");
+const u8 gText_500CoinsAndPrice[] = _("500 COINS ¥10,000");
+const u8 gText_Excellent2[] = _("Excellent");
+const u8 gText_NotSoGood[] = _("Not so good");
+const u8 gText_RedShard[] = _("RED SHARD");
+const u8 gText_YellowShard[] = _("YELLOW SHARD");
+const u8 gText_BlueShard[] = _("BLUE SHARD");
+const u8 gText_GreenShard[] = _("GREEN SHARD");
const u8 gText_BattleFrontier[] = _("BATTLE FRONTIER");
-const u8 gUnknown_085EB07E[] = _("Right");
-const u8 gUnknown_085EB084[] = _("Left");
-const u8 gUnknown_085EB089[] = _("TM32{CLEAR_TO 0x48}1,500 COINS");
-const u8 gUnknown_085EB09C[] = _("TM29{CLEAR_TO 0x48}3,500 COINS");
-const u8 gUnknown_085EB0AF[] = _("TM35{CLEAR_TO 0x48}4,000 COINS");
-const u8 gUnknown_085EB0C2[] = _("TM24{CLEAR_TO 0x48}4,000 COINS");
-const u8 gUnknown_085EB0D5[] = _("TM13{CLEAR_TO 0x48}4,000 COINS");
+const u8 gText_Right[] = _("Right");
+const u8 gText_Left[] = _("Left");
+const u8 gText_TM32AndPrice[] = _("TM32{CLEAR_TO 0x48}1,500 COINS");
+const u8 gText_TM29AndPrice[] = _("TM29{CLEAR_TO 0x48}3,500 COINS");
+const u8 gText_TM35AndPrice[] = _("TM35{CLEAR_TO 0x48}4,000 COINS");
+const u8 gText_TM24AndPrice[] = _("TM24{CLEAR_TO 0x48}4,000 COINS");
+const u8 gText_TM13AndPrice[] = _("TM13{CLEAR_TO 0x48}4,000 COINS");
const u8 gText_Cool[] = _("COOL");
const u8 gText_Beauty[] = _("BEAUTY");
const u8 gText_Cute[] = _("CUTE");
@@ -728,87 +728,86 @@ const u8 gText_MenuOptionPokedex[] = _("POKéDEX");
const u8 gText_MenuOptionPokemon[] = _("POKéMON");
const u8 gText_MenuOptionBag[] = _("BAG");
const u8 gText_MenuOptionPokenav[] = _("POKéNAV");
-const u8 gUnknown_085EB278[] = _("");
+const u8 gText_Blank[] = _("");
const u8 gText_MenuOptionSave[] = _("SAVE");
const u8 gText_MenuOptionOption[] = _("OPTION");
const u8 gText_MenuOptionExit[] = _("EXIT");
-const u8 gUnknown_085EB28A[] = __(" ");
-const u8 gUnknown_085EB28C[] = _("5BP");
-const u8 gUnknown_085EB290[] = _("10BP");
-const u8 gUnknown_085EB295[] = _("15BP");
-const u8 gUnknown_085EB29A[] = _("RED TENT");
-const u8 gUnknown_085EB2A3[] = _("BLUE TENT");
+const u8 gText_5BP[] = _(" 5BP");
+const u8 gText_10BP[] = _("10BP");
+const u8 gText_15BP[] = _("15BP");
+const u8 gText_RedTent[] = _("RED TENT");
+const u8 gText_BlueTent[] = _("BLUE TENT");
const u8 gText_SouthernIsland[] = _("SOUTHERN ISLAND");
const u8 gText_BirthIsland[] = _("BIRTH ISLAND");
const u8 gText_FarawayIsland[] = _("FARAWAY ISLAND");
const u8 gText_NavelRock[] = _("NAVEL ROCK");
-const u8 gUnknown_085EB2E4[] = _("CLAW FOSSIL");
-const u8 gUnknown_085EB2F0[] = _("ROOT FOSSIL");
-const u8 gUnknown_085EB2FC[] = _("NO");
-const u8 gUnknown_085EB2FF[] = _("I'll battle now!");
-const u8 gUnknown_085EB310[] = _("I won!");
-const u8 gUnknown_085EB317[] = _("I lost!");
-const u8 gUnknown_085EB31F[] = _("I won't tell.");
+const u8 gText_ClawFossil[] = _("CLAW FOSSIL");
+const u8 gText_RootFossil[] = _("ROOT FOSSIL");
+const u8 gText_No4[] = _("NO");
+const u8 gText_IllBattleNow[] = _("I'll battle now!");
+const u8 gText_IWon[] = _("I won!");
+const u8 gText_ILost[] = _("I lost!");
+const u8 gText_IWontTell[] = _("I won't tell.");
const u8 gText_NormalTagMatch[] = _("NORMAL TAG MATCH");
const u8 gText_VarietyTagMatch[] = _("VARIETY TAG MATCH");
const u8 gText_UniqueTagMatch[] = _("UNIQUE TAG MATCH");
const u8 gText_ExpertTagMatch[] = _("EXPERT TAG MATCH");
-const u8 gUnknown_085EB372[] = _("TRADE CENTER");
-const u8 gUnknown_085EB37F[] = _("COLOSSEUM");
-const u8 gUnknown_085EB389[] = _("RECORD CORNER");
-const u8 gUnknown_085EB397[] = _("BERRY CRUSH");
-const u8 gUnknown_085EB3A3[] = _("");
-const u8 gUnknown_085EB3A4[] = _("POKéMON JUMP");
-const u8 gUnknown_085EB3B1[] = _("DODRIO BERRY-PICKING");
-const u8 gUnknown_085EB3C6[] = _("BECOME LEADER");
-const u8 gUnknown_085EB3D4[] = _("JOIN GROUP");
-const u8 gUnknown_085EB3DF[] = _("TWO STYLES");
-const u8 gUnknown_085EB3EA[] = _("LV. 50");
-const u8 gUnknown_085EB3F1[] = _("OPEN LEVEL");
-const u8 gUnknown_085EB3FC[] = _("{PKMN} TYPE & NO.");
-const u8 gUnknown_085EB40A[] = _("HOLD ITEMS");
-const u8 gUnknown_085EB415[] = _("SYMBOLS");
-const u8 gUnknown_085EB41D[] = _("RECORD");
-const u8 gUnknown_085EB424[] = _("BATTLE PTS");
-const u8 gUnknown_085EB42F[] = _("TOWER INFO");
-const u8 gUnknown_085EB43A[] = _("BATTLE {PKMN}");
-const u8 gUnknown_085EB444[] = _("BATTLE SALON");
-const u8 gUnknown_085EB451[] = _("MULTI-LINK");
-const u8 gUnknown_085EB45C[] = _("BATTLE RULES");
-const u8 gUnknown_085EB469[] = _("JUDGE: MIND");
-const u8 gUnknown_085EB475[] = _("JUDGE: SKILL");
-const u8 gUnknown_085EB482[] = _("JUDGE: BODY");
-const u8 gUnknown_085EB48E[] = _("MATCHUP");
-const u8 gUnknown_085EB496[] = _("TOURNEY TREE");
-const u8 gUnknown_085EB4A3[] = _("DOUBLE KO");
-const u8 gUnknown_085EB4AD[] = _("BASIC RULES");
-const u8 gUnknown_085EB4B9[] = _("SWAP: PARTNER");
-const u8 gUnknown_085EB4C7[] = _("SWAP: NUMBER");
-const u8 gUnknown_085EB4D4[] = _("SWAP: NOTES");
-const u8 gUnknown_085EB4E0[] = _("OPEN LEVEL");
+const u8 gText_TradeCenter[] = _("TRADE CENTER");
+const u8 gText_Colosseum[] = _("COLOSSEUM");
+const u8 gText_RecordCorner[] = _("RECORD CORNER");
+const u8 gText_BerryCrush3[] = _("BERRY CRUSH");
+const u8 gText_EmptyLinkService[] = _(""); // Maybe Spin Trade?
+const u8 gText_PokemonJump[] = _("POKéMON JUMP");
+const u8 gText_DodrioBerryPicking[] = _("DODRIO BERRY-PICKING");
+const u8 gText_BecomeLeader[] = _("BECOME LEADER");
+const u8 gText_JoinGroup[] = _("JOIN GROUP");
+const u8 gText_TwoStyles[] = _("TWO STYLES");
+const u8 gText_Lv50_3[] = _("LV. 50");
+const u8 gText_OpenLevel2[] = _("OPEN LEVEL");
+const u8 gText_MonTypeAndNo[] = _("{PKMN} TYPE & NO.");
+const u8 gText_HoldItems[] = _("HOLD ITEMS");
+const u8 gText_Symbols2[] = _("SYMBOLS");
+const u8 gText_Record3[] = _("RECORD");
+const u8 gText_BattlePts[] = _("BATTLE PTS");
+const u8 gText_TowerInfo[] = _("TOWER INFO");
+const u8 gText_BattleMon[] = _("BATTLE {PKMN}");
+const u8 gText_BattleSalon[] = _("BATTLE SALON");
+const u8 gText_MultiLink2[] = _("MULTI-LINK");
+const u8 gText_BattleRules[] = _("BATTLE RULES");
+const u8 gText_JudgeMind[] = _("JUDGE: MIND");
+const u8 gText_JudgeSkill[] = _("JUDGE: SKILL");
+const u8 gText_JudgeBody[] = _("JUDGE: BODY");
+const u8 gText_Matchup[] = _("MATCHUP");
+const u8 gText_TourneyTree[] = _("TOURNEY TREE");
+const u8 gText_DoubleKO[] = _("DOUBLE KO");
+const u8 gText_BasicRules[] = _("BASIC RULES");
+const u8 gText_SwapPartners[] = _("SWAP: PARTNER");
+const u8 gText_SwapNumber[] = _("SWAP: NUMBER");
+const u8 gText_SwapNotes[] = _("SWAP: NOTES");
+const u8 gText_OpenLevel3[] = _("OPEN LEVEL");
const u8 gText_BattleBasics[] = _("BATTLE BASICS");
const u8 gText_PokemonNature[] = _("POKéMON NATURE");
const u8 gText_PokemonMoves[] = _("POKéMON MOVES");
const u8 gText_Underpowered[] = _("UNDERPOWERED");
const u8 gText_WhenInDanger[] = _("WHEN IN DANGER");
-const u8 gUnknown_085EB532[] = _("PYRAMID: POKéMON");
-const u8 gUnknown_085EB543[] = _("PYRAMID: TRAINERS");
-const u8 gUnknown_085EB555[] = _("PYRAMID: MAZE");
-const u8 gUnknown_085EB563[] = _("BATTLE BAG");
-const u8 gUnknown_085EB56E[] = _("POKéNAV AND BAG");
-const u8 gUnknown_085EB57E[] = _("HELD ITEMS");
-const u8 gUnknown_085EB589[] = _("POKéMON ORDER");
-const u8 gUnknown_085EB597[] = _("BATTLE POKéMON");
+const u8 gText_PyramidPokemon[] = _("PYRAMID: POKéMON");
+const u8 gText_PyramidTrainers[] = _("PYRAMID: TRAINERS");
+const u8 gText_PyramidMaze[] = _("PYRAMID: MAZE");
+const u8 gText_BattleBag2[] = _("BATTLE BAG");
+const u8 gText_PokenavAndBag[] = _("POKéNAV AND BAG");
+const u8 gText_HeldItems[] = _("HELD ITEMS");
+const u8 gText_PokemonOrder[] = _("POKéMON ORDER");
+const u8 gText_BattlePokemon[] = _("BATTLE POKéMON");
const u8 gText_BattleTrainers[] = _("BATTLE TRAINERS");
-const u8 gUnknown_085EB5B6[] = _("GO ON");
-const u8 gUnknown_085EB5BC[] = _("RECORD");
-const u8 gUnknown_085EB5C3[] = _("REST");
-const u8 gUnknown_085EB5C8[] = _("RETIRE");
+const u8 gText_GoOn[] = _("GO ON");
+const u8 gText_Record2[] = _("RECORD");
+const u8 gText_Rest[] = _("REST");
+const u8 gText_Retire[] = _("RETIRE");
const u8 gText_99TimesPlus[] = _("99 times +");
const u8 gText_1MinutePlus[] = _("1 minute +");
const u8 gText_SpaceSeconds[] = _(" seconds");
const u8 gText_SpaceTimes[] = _(" time(s)");
-const u8 gUnknown_085EB5F7[] = _(".");
+const u8 gText_Dot[] = _("."); // Unused
const u8 gText_BigGuy[] = _("Big guy");
const u8 gText_BigGirl[] = _("Big girl");
const u8 gText_Son[] = _("son");
@@ -926,7 +925,7 @@ const u8 gPCText_PolkaDot[] = _("POLKA-DOT");
const u8 gPCText_Pokecenter[] = _("POKéCENTER");
const u8 gPCText_Machine[] = _("MACHINE");
const u8 gPCText_Simple[] = _("SIMPLE");
-const u8 gUnknown_085EBB56[] = _("What would you like to do?");
+const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); // Unused
const u8 gText_WithdrawPokemon[] = _("WITHDRAW POKéMON");
const u8 gText_DepositPokemon[] = _("DEPOSIT POKéMON");
const u8 gText_MovePokemon[] = _("MOVE POKéMON");
@@ -940,28 +939,28 @@ const u8 gText_SeeYaDescription[] = _("Return to the previous menu.");
const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you.");
const u8 gText_PartyFull[] = _("Your party is full!");
const u8 gText_Box[] = _("BOX");
-const u8 gUnknown_085EBCC5[] = _("Check the map of the HOENN region.");
-const u8 gUnknown_085EBCE8[] = _("Check POKéMON in detail.");
-const u8 gUnknown_085EBD01[] = _("Call a registered TRAINER.");
-const u8 gUnknown_085EBD1C[] = _("Check obtained RIBBONS.");
-const u8 gUnknown_085EBD34[] = _("Put away the POKéNAV.");
+const u8 gText_CheckMapOfHoenn[] = _("Check the map of the HOENN region.");
+const u8 gText_CheckPokemonInDetail[] = _("Check POKéMON in detail.");
+const u8 gText_CallRegisteredTrainer[] = _("Call a registered TRAINER.");
+const u8 gText_CheckObtainedRibbons[] = _("Check obtained RIBBONS.");
+const u8 gText_PutAwayPokenav[] = _("Put away the POKéNAV.");
const u8 gText_NoRibbonWinners[] = _("There are no RIBBON winners.");
-const u8 gUnknown_085EBD67[] = _("No TRAINERS are registered.");
-const u8 gUnknown_085EBD83[] = _("Check party POKéMON in detail.");
-const u8 gUnknown_085EBDA2[] = _("Check all POKéMON in detail.");
-const u8 gUnknown_085EBDBF[] = _("Return to the POKéNAV menu.");
-const u8 gUnknown_085EBDDB[] = _("Find cool POKéMON.");
-const u8 gUnknown_085EBDEE[] = _("Find beautiful POKéMON.");
-const u8 gUnknown_085EBE06[] = _("Find cute POKéMON.");
-const u8 gUnknown_085EBE19[] = _("Find smart POKéMON.");
-const u8 gUnknown_085EBE2D[] = _("Find tough POKéMON.");
-const u8 gUnknown_085EBE41[] = _("Return to the CONDITION menu.");
+const u8 gText_NoTrainersRegistered[] = _("No TRAINERS are registered."); // Unused
+const u8 gText_CheckPartyPokemonInDetail[] = _("Check party POKéMON in detail.");
+const u8 gText_CheckAllPokemonInDetail[] = _("Check all POKéMON in detail.");
+const u8 gText_ReturnToPokenavMenu[] = _("Return to the POKéNAV menu.");
+const u8 gText_FindCoolPokemon[] = _("Find cool POKéMON.");
+const u8 gText_FindBeautifulPokemon[] = _("Find beautiful POKéMON.");
+const u8 gText_FindCutePokemon[] = _("Find cute POKéMON.");
+const u8 gText_FindSmartPokemon[] = _("Find smart POKéMON.");
+const u8 gText_FindToughPokemon[] = _("Find tough POKéMON.");
+const u8 gText_ReturnToConditionMenu[] = _("Return to the CONDITION menu.");
const u8 gText_NumberRegistered[] = _("No. registered");
const u8 gText_NumberOfBattles[] = _("No. of battles");
-const u8 gUnknown_085EBE7D[] = _("DETAIL");
-const u8 gUnknown_085EBE84[] = _("CALL");
-const u8 gUnknown_085EBE89[] = _("EXIT");
-const u8 gUnknown_085EBE8E[] = _("Can't call opponent here.");
+const u8 gText_Detail[] = _("DETAIL"); // Unused
+const u8 gText_Call2[] = _("CALL"); // Unused
+const u8 gText_UnusedExit[] = _("EXIT"); // Unused
+const u8 gText_CantCallOpponentHere[] = _("Can't call opponent here."); // Unused
const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGY");
const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("TRAINER'S POKéMON");
const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("SELF-INTRODUCTION");
@@ -981,26 +980,26 @@ const u8 gText_NatureSlash[] = _("NATURE/");
const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!");
const u8 gText_InParty[] = _("IN PARTY");
const u8 gText_Number2[] = _("No. ");
-const u8 gUnknown_085EBFDC[] = _("RIBBONS");
-const u8 gUnknown_085EBFE4[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}");
-const u8 gUnknown_085EBFF6[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}");
-const u8 gUnknown_085EC008[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}");
+const u8 gText_Ribbons[] = _("RIBBONS"); // Unused
+const u8 gText_PokemonMaleLv[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); // Unused
+const u8 gText_PokemonFemaleLv[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); // Unused
+const u8 gText_PokemonNoGenderLv[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}"); // Unused
const u8 gText_Unknown[] = _("UNKNOWN");
-const u8 gUnknown_085EC017[] = _("CALL");
-const u8 gUnknown_085EC01C[] = _("CHECK");
-const u8 gUnknown_085EC022[] = _("CANCEL");
+const u8 gText_Call[] = _("CALL");
+const u8 gText_Check[] = _("CHECK");
+const u8 gText_Cancel6[] = _("CANCEL");
const u8 gText_NumberF700[] = _("No. {SPECIAL_F7 0x00}");
const u8 gText_RibbonsF700[] = _("RIBBONS {SPECIAL_F7 0x00}");
-const u8 gUnknown_085EC03B[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}");
-const u8 gUnknown_085EC04F[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}");
-const u8 gUnknown_085EC063[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}");
+const u8 gText_PokemonMaleLv2[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); // Unused
+const u8 gText_PokemonFemaleLv2[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); // Unused
+const u8 gText_PokemonNoGenderLv2[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); // Unused
const u8 gText_CombineFourWordsOrPhrases[] = _("Combine four words or phrases");
const u8 gText_AndMakeYourProfile[] = _("and make your profile.");
const u8 gText_CombineSixWordsOrPhrases[] = _("Combine six words or phrases");
const u8 gText_AndMakeAMessage[] = _("and make a message.");
const u8 gText_FindWordsThatDescribeYour[] = _("Find words that describe your");
const u8 gText_FeelingsRightNow[] = _("feelings right now.");
-const u8 gUnknown_085EC104[] = _("With four phrases,");
+const u8 gText_WithFourPhrases[] = _("With four phrases,"); // Unused
const u8 gText_CombineNineWordsOrPhrases[] = _("Combine nine words or phrases");
const u8 gText_AndMakeAMessage2[] = _("and make a message.");
const u8 gText_ChangeJustOneWordOrPhrase[] = _("Change just one word or phrase");
@@ -1011,7 +1010,7 @@ const u8 gText_WhatYouSayIfYouWin[] = _("What you say if you win a battle");
const u8 gText_WhatYouSayIfYouLose[] = _("What you say if you lose a battle");
const u8 gText_TheAnswer[] = _("The answer");
const u8 gText_TheMailMessage[] = _("The MAIL message");
-const u8 gUnknown_085EC214[] = _("The MAIL salutation");
+const u8 gText_TheMailSalutation[] = _("The MAIL salutation"); // Unused
const u8 gText_TheBardsSong2[] = _("The new song");
const u8 gText_CombineTwoWordsOrPhrases[] = _("Combine two words or phrases");
const u8 gText_AndMakeATrendySaying[] = _("and make a trendy saying.");
@@ -1028,7 +1027,7 @@ const u8 gText_AndCreateAQuiz[] = _("and create a quiz!");
const u8 gText_PickAWordOrPhraseAnd[] = _("Pick a word or phrase and");
const u8 gText_SetTheQuizAnswer[] = _("set the quiz answer.");
const u8 gText_TheAnswerColon[] = _("The answer:");
-const u8 gUnknown_085EC387[] = _("The quiz:");
+const u8 gText_TheQuizColon[] = _("The quiz:"); // Unused
const u8 gText_ApprenticePhrase[] = _("Apprentice's phrase:");
const u8 gText_QuitEditing[] = _("Quit editing?");
const u8 gText_StopGivingPkmnMail[] = _("Stop giving the POKéMON MAIL?");
@@ -1036,20 +1035,20 @@ const u8 gText_AndFillOutTheQuestionnaire[] = _("and fill out the questionnaire.
const u8 gText_LetsReplyToTheInterview[] = _("Let's reply to the interview!");
const u8 gText_AllTextBeingEditedWill[] = _("All the text being edited will");
const u8 gText_BeDeletedThatOkay[] = _("be deleted. Is that okay?");
-const u8 gUnknown_085EC449[] = _("Quit editing?");
-const u8 gUnknown_085EC457[] = _("The edited text will not be saved.");
-const u8 gUnknown_085EC47A[] = _("Is that okay?");
-const u8 gUnknown_085EC488[] = _("Please enter a phrase or word.");
-const u8 gUnknown_085EC4A7[] = _("The entire text can't be deleted.");
+const u8 gText_QuitEditing2[] = _("Quit editing?"); // Unused
+const u8 gText_EditedTextWillNotBeSaved[] = _("The edited text will not be saved."); // Unused
+const u8 gText_IsThatOkay[] = _("Is that okay?"); // Unused
+const u8 gText_PleaseEnterPhraseOrWord[] = _("Please enter a phrase or word."); // Unused
+const u8 gText_EntireTextCantBeDeleted[] = _("The entire text can't be deleted.");
const u8 gText_OnlyOnePhrase[] = _("Only one phrase may be changed.");
const u8 gText_OriginalSongWillBeUsed[] = _("The original song will be used.");
-const u8 gUnknown_085EC509[] = _("That's trendy already!");
+const u8 gText_ThatsTrendyAlready[] = _("That's trendy already!"); // Unused
const u8 gText_CombineTwoWordsOrPhrases3[] = _("Combine two words or phrases.");
-const u8 gUnknown_085EC53E[] = _("Quit giving information?");
-const u8 gUnknown_085EC557[] = _("Stop giving the POKéMON MAIL?");
-const u8 gUnknown_085EC575[] = _("Create a quiz!");
-const u8 gUnknown_085EC584[] = _("Set the answer!");
-const u8 gUnknown_085EC594[] = _("Cancel the selection?");
+const u8 gText_QuitGivingInfo[] = _("Quit giving information?"); // Unused
+const u8 gText_StopGivingPkmnMail2[] = _("Stop giving the POKéMON MAIL?"); // Unused
+const u8 gText_CreateAQuiz2[] = _("Create a quiz!"); // Unused
+const u8 gText_SetTheAnswer[] = _("Set the answer!"); // Unused
+const u8 gText_CancelSelection[] = _("Cancel the selection?"); // Unused
const u8 gText_Profile[] = _("PROFILE");
const u8 gText_AtTheBattlesStart[] = _("At the battle's start:");
const u8 gText_UponWinningABattle[] = _("Upon winning a battle:");
@@ -1059,7 +1058,7 @@ const u8 gText_WhatsHipAndHappening[] = _("What's hip and happening?");
const u8 gText_Interview[] = _("Interview");
const u8 gText_GoodSaying[] = _("Good saying");
const u8 gText_FansQuestion[] = _("Fan's question");
-const u8 gUnknown_085EC645[] = _("クイズの こたえは?");
+const u8 gJPText_WhatIsTheQuizAnswer[] = _("クイズの こたえは?"); // Unused
const u8 gText_ApprenticesPhrase[] = _("Apprentice's phrase");
const u8 gText_Questionnaire[] = _("QUESTIONNAIRE");
const u8 gText_YouCannotQuitHere[] = _("You cannot quit here.");
@@ -1190,13 +1189,13 @@ const u8 gText_Marco[] = _("MARCO");
const u8 gText_TrainerCardName[] = _("NAME: ");
const u8 gText_TrainerCardIDNo[] = _("IDNo.");
const u8 gText_TrainerCardMoney[] = _("MONEY");
-const u8 gUnknown_085ECF84[] = _("¥");
+const u8 gText_PokeDollar[] = _("¥"); // Unused
const u8 gText_TrainerCardPokedex[] = _("POKéDEX");
const u8 gText_EmptyString6[] = _("");
const u8 gText_Colon2[] = _(":");
-const u8 gUnknown_085ECF91[] = _(" points");
+const u8 gText_Points[] = _(" points"); // Unused
const u8 gText_TrainerCardTime[] = _("TIME");
-const u8 gUnknown_085ECF9E[] = _("ゲ-ムポイント");
+const u8 gJPText_BattlePoints[] = _("ゲ-ムポイント"); // Unused. Name presumed, translation is Game Points
const u8 gText_Var1sTrainerCard[] = _("{STR_VAR_1}'s TRAINER CARD");
const u8 gText_HallOfFameDebut[] = _("HALL OF FAME DEBUT ");
const u8 gText_LinkBattles[] = _("LINK BATTLES");
@@ -1221,11 +1220,11 @@ const u8 gText_BattleArena[] = _("BATTLE ARENA");
const u8 gText_BattlePike[] = _("BATTLE PIKE");
const u8 gText_BattlePyramid[] = _("BATTLE PYRAMID");
-ALIGNED(4) const u8 gUnknown_085ED164[] = _("{STR_VAR_1} SINGLE");
-ALIGNED(4) const u8 gUnknown_085ED170[] = _("{STR_VAR_1} DOUBLE");
-ALIGNED(4) const u8 gUnknown_085ED17C[] = _("{STR_VAR_1} MULTI");
-ALIGNED(4) const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK");
-ALIGNED(4) const u8 gUnknown_085ED190[] = _("{STR_VAR_1}");
+ALIGNED(4) const u8 gText_FacilitySingle[] = _("{STR_VAR_1} SINGLE");
+ALIGNED(4) const u8 gText_FacilityDouble[] = _("{STR_VAR_1} DOUBLE");
+ALIGNED(4) const u8 gText_FacilityMulti[] = _("{STR_VAR_1} MULTI");
+ALIGNED(4) const u8 gText_FacilityLink[] = _("{STR_VAR_1} LINK");
+ALIGNED(4) const u8 gText_Facility[] = _("{STR_VAR_1}");
const u8 gText_Give[] = _("Give");
const u8 gText_NoNeed[] = _("No need");
@@ -1240,9 +1239,9 @@ const u8 gText_Round2Results[] = _("Round 2 results!");
const u8 gText_Var1sVar2Won[] = _("{STR_VAR_1}'s {STR_VAR_2} won!");
const u8 gText_CommunicationStandby[] = _("Communication standby…");
const u8 gText_ColorDarkGrey[] = _("{COLOR DARK_GREY}");
-const u8 gUnknown_085ED222[] = _("{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR6 WHITE DYNAMIC_COLOR5}");
+const u8 gText_ColorDynamic6WhiteDynamic5[] = _("{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR6 WHITE DYNAMIC_COLOR5}"); // Unused
const u8 gText_HighlightDarkGrey[] = _("{HIGHLIGHT DARK_GREY}");
-const u8 gUnknown_085ED22C[] = _(" ");
+const u8 gText_EmptySpace2[] = _(" "); // Unused
const u8 gText_DynColor2Male[] = _("{COLOR DYNAMIC_COLOR2}♂");
const u8 gText_DynColor1Female[] = _("{COLOR DYNAMIC_COLOR1}♀");
const u8 gText_DynColor2[] = _("{COLOR DYNAMIC_COLOR2}");
@@ -1258,8 +1257,8 @@ const u8 gText_RegisterTextHere[] = _("Register text here?");
const u8 gText_InputText[] = _("Input text.");
const u8 gText_F700JoinedChat[] = _("{SPECIAL_F7 0x00} joined the chat!");
const u8 gText_F700LeftChat[] = _("{SPECIAL_F7 0x00} left the chat.");
-const u8 gUnknown_085ED2CF[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめ:");
-const u8 gUnknown_085ED2D9[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめは いません");
+const u8 gJPText_PlayersXPokemon[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめ:"); // Unused
+const u8 gJPText_PlayersXPokmonDoesNotExist[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめは いません"); // Unused
const u8 gText_ExitingChat[] = _("Exiting the chat…");
const u8 gText_LeaderLeftEndingChat[] = _("The LEADER, {SPECIAL_F7 0x00}, has\nleft, ending the chat.");
const u8 gText_RegisteredTextChanged[] = _("The registered text has been changed.\nIs it okay to save the game?");
@@ -1274,25 +1273,25 @@ const u8 gText_Battle[] = _("BATTLE");
const u8 gText_Lets[] = _("LET'S");
const u8 gText_Ok[] = _("OK!");
const u8 gText_Sorry[] = _("SORRY");
-const u8 gText_YayUnkF9F9[] = _("YAY{EMOJI_BIGSMILE}");
+const u8 gText_YaySmileEmoji[] = _("YAY{EMOJI_BIGSMILE}");
const u8 gText_ThankYou[] = _("THANK YOU");
const u8 gText_ByeBye[] = _("BYE-BYE!");
-const u8 gMatchCallStevenStrategyText[] = _("Attack the weak points!");
-const u8 gMatchCall_StevenTrainersPokemonText[] = _("Ultimate STEEL POKéMON.");
-const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls");
-const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[] = _("to find a rare stone!");
-const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[] = _("I'm the strongest and most");
-const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[] = _("energetic after all!");
-const u8 gMatchCall_BrendanStrategyText[] = _("Battle with knowledge!");
-const u8 gMatchCall_BrendanTrainersPokemonText[] = _("I will use various POKéMON.");
-const u8 gMatchCall_BrendanSelfIntroductionText_Line1[] = _("I'll be a better POKéMON");
-const u8 gMatchCall_BrendanSelfIntroductionText_Line2[] = _("prof than my father is!");
-const u8 gMatchCall_MayStrategyText[] = _("I'm not so good at battles.");
-const u8 gMatchCall_MayTrainersPokemonText[] = _("I'll use any POKéMON!");
-const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help");
-const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father's research.");
+const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!");
+const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON.");
+const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls");
+const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[] = _("to find a rare stone!");
+const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[] = _("I'm the strongest and most");
+const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[] = _("energetic after all!");
+const u8 gText_MatchCallBrendan_Strategy[] = _("Battle with knowledge!");
+const u8 gText_MatchCallBrendan_Pokemon[] = _("I will use various POKéMON.");
+const u8 gText_MatchCallBrendan_Intro1[] = _("I'll be a better POKéMON");
+const u8 gText_MatchCallBrendan_Intro2[] = _("prof than my father is!");
+const u8 gText_MatchCallMay_Strategy[] = _("I'm not so good at battles.");
+const u8 gText_MatchCallMay_Pokemon[] = _("I'll use any POKéMON!");
+const u8 gText_MatchCallMay_Intro1[] = _("My POKéMON and I help");
+const u8 gText_MatchCallMay_Intro2[] = _("my father's research.");
const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!");
-const u8 gText_NickHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?");
+const u8 gText_NicknameHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?");
ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p");
ALIGNED(4) const u8 gText_WaitForAllChooseBerry[] = _("Please wait while each member\nchooses a BERRY.");
ALIGNED(4) const u8 gText_EndedWithXUnitsPowder[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p");
@@ -1328,36 +1327,36 @@ const u8 gText_Var1Players[] = _("{STR_VAR_1} PLAYERS");
const u8 gText_SymbolsEarned[] = _("Symbols Earned");
const u8 gText_BattleRecord[] = _("Battle Record");
const u8 gText_BattlePoints[] = _("Battle Points");
-const u8 gUnknown_085ED92A[] = _("CANCEL");
-const u8 gUnknown_085ED931[] = _("");
-const u8 gUnknown_085ED932[] = _("Check BATTLE FRONTIER MAP.");
-const u8 gUnknown_085ED94D[] = _("Check TRAINER CARD.");
-const u8 gUnknown_085ED961[] = _("View recorded battle.");
-const u8 gUnknown_085ED977[] = _("Put away the FRONTIER PASS.");
-const u8 gUnknown_085ED993[] = _("Your current Battle Points.");
-const u8 gUnknown_085ED9AF[] = _("Your collected Symbols.");
-const u8 gUnknown_085ED9C7[] = _("Battle Tower - Ability Symbol");
-const u8 gUnknown_085ED9E5[] = _("Battle Dome - Tactics Symbol");
-const u8 gUnknown_085EDA02[] = _("Battle Palace - Spirits Symbol");
-const u8 gUnknown_085EDA21[] = _("Battle Arena - Guts Symbol");
-const u8 gUnknown_085EDA3C[] = _("Battle Factory - Knowledge Symbol");
-const u8 gUnknown_085EDA5E[] = _("Battle Pike - Luck Symbol");
-const u8 gUnknown_085EDA78[] = _("Battle Pyramid - Brave Symbol");
-const u8 gUnknown_085EDA96[] = _("There is no Battle Record.");
-const u8 gUnknown_085EDAB1[] = _("BATTLE TOWER");
-const u8 gUnknown_085EDABE[] = _("BATTLE DOME");
-const u8 gUnknown_085EDACA[] = _("BATTLE PALACE");
-const u8 gUnknown_085EDAD8[] = _("BATTLE ARENA");
-const u8 gUnknown_085EDAE5[] = _("BATTLE FACTORY");
-const u8 gUnknown_085EDAF4[] = _("BATTLE PIKE");
-const u8 gUnknown_085EDB00[] = _("BATTLE PYRAMID");
-const u8 gUnknown_085EDB0F[] = _("KO opponents and aim for the top!\nYour ability will be tested.");
-const u8 gUnknown_085EDB4E[] = _("Keep winning at the tournament!\nYour tactics will be tested.");
-const u8 gUnknown_085EDB8B[] = _("Watch your POKéMON battle!\nYour spirit will be tested.");
-const u8 gUnknown_085EDBC2[] = _("Win battles with teamed-up POKéMON!\nYour guts will be tested.");
-const u8 gUnknown_085EDC00[] = _("Aim for victory using rental POKéMON!\nYour knowledge will be tested.");
-const u8 gUnknown_085EDC45[] = _("Select one of three paths to battle!\nYour luck will be tested.");
-const u8 gUnknown_085EDC84[] = _("Aim for the top with exploration!\nYour bravery will be tested.");
+const u8 gText_UnusedCancel[] = _("CANCEL"); // Unused
+const u8 gText_EmptyString7[] = _("");
+const u8 gText_CheckFrontierMap[] = _("Check BATTLE FRONTIER MAP.");
+const u8 gText_CheckTrainerCard[] = _("Check TRAINER CARD.");
+const u8 gText_ViewRecordedBattle[] = _("View recorded battle.");
+const u8 gText_PutAwayFrontierPass[] = _("Put away the FRONTIER PASS.");
+const u8 gText_CurrentBattlePoints[] = _("Your current Battle Points.");
+const u8 gText_CollectedSymbols[] = _("Your collected Symbols.");
+const u8 gText_BattleTowerAbilitySymbol[] = _("Battle Tower - Ability Symbol");
+const u8 gText_BattleDomeTacticsSymbol[] = _("Battle Dome - Tactics Symbol");
+const u8 gText_BattlePalaceSpiritsSymbol[] = _("Battle Palace - Spirits Symbol");
+const u8 gText_BattleArenaGutsSymbol[] = _("Battle Arena - Guts Symbol");
+const u8 gText_BattleFactoryKnowledgeSymbol[] = _("Battle Factory - Knowledge Symbol");
+const u8 gText_BattlePikeLuckSymbol[] = _("Battle Pike - Luck Symbol");
+const u8 gText_BattlePyramidBraveSymbol[] = _("Battle Pyramid - Brave Symbol");
+const u8 gText_ThereIsNoBattleRecord[] = _("There is no Battle Record.");
+const u8 gText_BattleTower3[] = _("BATTLE TOWER");
+const u8 gText_BattleDome2[] = _("BATTLE DOME");
+const u8 gText_BattlePalace2[] = _("BATTLE PALACE");
+const u8 gText_BattleArena2[] = _("BATTLE ARENA");
+const u8 gText_BattleFactory2[] = _("BATTLE FACTORY");
+const u8 gText_BattlePike2[] = _("BATTLE PIKE");
+const u8 gText_BattlePyramid2[] = _("BATTLE PYRAMID");
+const u8 gText_BattleTowerDesc[] = _("KO opponents and aim for the top!\nYour ability will be tested.");
+const u8 gText_BattleDomeDesc[] = _("Keep winning at the tournament!\nYour tactics will be tested.");
+const u8 gText_BattlePalaceDesc[] = _("Watch your POKéMON battle!\nYour spirit will be tested.");
+const u8 gText_BattleArenaDesc[] = _("Win battles with teamed-up POKéMON!\nYour guts will be tested.");
+const u8 gText_BattleFactoryDesc[] = _("Aim for victory using rental POKéMON!\nYour knowledge will be tested.");
+const u8 gText_BattlePikeDesc[] = _("Select one of three paths to battle!\nYour luck will be tested.");
+const u8 gText_BattlePyramidDesc[] = _("Aim for the top with exploration!\nYour bravery will be tested.");
const u8 gText_ContinueMenuPlayer[] = _("PLAYER");
const u8 gText_ContinueMenuTime[] = _("TIME");
const u8 gText_ContinueMenuPokedex[] = _("POKéDEX");
@@ -1401,27 +1400,27 @@ const u8 gText_2nd[] = _("2nd");
const u8 gText_3rd[] = _("3rd");
const u8 gText_4th[] = _("4th");
const u8 gText_Friend[] = _("Friend");
-const u8 gUnknown_085EDFB7[] = _("POKeMON");
+const u8 gText_Pokemon3[] = _("POKeMON"); // Unused
const u8 gJPText_MysteryGift[] = _("ふしぎなもらいもの");
const u8 gJPText_DecideStop[] = _("{A_BUTTON}けってい {B_BUTTON}やめる");
-const u8 gUnknown_085EDFD6[] = _("カードeリーダー{PLUS} で\nふしぎなもらいものを よみこみます");
-const u8 gUnknown_085EDFF5[] = _("カードeリーダー{PLUS}の メニューから\n‘つうしん'を えらび");
-const u8 gUnknown_085EE014[] = _("‘ゲームボーイアドバンスとつうしん'\nを せんたく してください");
-const u8 gUnknown_085EE035[] = _("カードeリーダー{PLUS}の ‘つうしん'を\nえらんで Aボタンを おしてください");
-const u8 gUnknown_085EE05C[] = _("せつぞくが まちがっています");
-const u8 gUnknown_085EE06B[] = _("カードの よみこみを\nちゅうし しました");
-const u8 gUnknown_085EE080[] = _("カードeリーダー{PLUS}と\nつうしん できません");
-const u8 gUnknown_085EE097[] = _("つうしん ちゅう です");
-const u8 gUnknown_085EE0A3[] = _("つうしん エラーです\nせつぞくを たしかめて ください");
-const u8 gUnknown_085EE0BF[] = _("つうしん エラーです\nはじめから やりなおして ください");
-const u8 gUnknown_085EE0DC[] = _("カードeリーダー{PLUS} に\nカードを よみこませて ください");
-const u8 gUnknown_085EE0FA[] = _("つうしん しゅうりょう!");
-const u8 gUnknown_085EE107[] = _("あらたな トレーナーが\nホウエンに やってきた!");
-const u8 gUnknown_085EE120[] = _("しばらく おまちください");
-const u8 gUnknown_085EE12D[] = _("かきこみ エラー です\nデータが ほぞん できませんでした");
-const u8 gUnknown_085EE14B[] = _("RED");
-const u8 gUnknown_085EE14F[] = _("BLUE");
-const u8 gUnknown_085EE154[] = _("---");
+const u8 gJPText_ReceiveMysteryGiftWithEReader[] = _("カードeリーダー{PLUS} で\nふしぎなもらいものを よみこみます");
+const u8 gJPText_SelectConnectFromEReaderMenu[] = _("カードeリーダー{PLUS}の メニューから\n‘つうしん'を えらび");
+const u8 gJPText_SelectConnectWithGBA[] = _("‘ゲームボーイアドバンスとつうしん'\nを せんたく してください");
+const u8 gJPText_SelectConnectAndPressA[] = _("カードeリーダー{PLUS}の ‘つうしん'を\nえらんで Aボタンを おしてください"); // Unused
+const u8 gJPText_LinkIsIncorrect[] = _("せつぞくが まちがっています");
+const u8 gJPText_CardReadingHasBeenHalted[] = _("カードの よみこみを\nちゅうし しました");
+const u8 gJPText_UnableConnectWithEReader[] = _("カードeリーダー{PLUS}と\nつうしん できません"); // Unused
+const u8 gJPText_Connecting[] = _("つうしん ちゅう です");
+const u8 gJPText_ConnectionErrorCheckLink[] = _("つうしん エラーです\nせつぞくを たしかめて ください");
+const u8 gJPText_ConnectionErrorTryAgain[] = _("つうしん エラーです\nはじめから やりなおして ください"); // Link error
+const u8 gJPText_AllowEReaderToLoadCard[] = _("カードeリーダー{PLUS} に\nカードを よみこませて ください");
+const u8 gJPText_ConnectionComplete[] = _("つうしん しゅうりょう!");
+const u8 gJPText_NewTrainerHasComeToHoenn[] = _("あらたな トレーナーが\nホウエンに やってきた!");
+const u8 gJPText_PleaseWaitAMoment[] = _("しばらく おまちください");
+const u8 gJPText_WriteErrorUnableToSaveData[] = _("かきこみ エラー です\nデータが ほぞん できませんでした");
+const u8 gText_Red[] = _("RED");
+const u8 gText_Blue[] = _("BLUE");
+const u8 gText_3Dashes[] = _("---"); // Unused
const u8 gText_SingleBattleRoomResults[] = _("{PLAYER}'s Single Battle Room Results");
const u8 gText_DoubleBattleRoomResults[] = _("{PLAYER}'s Double Battle Room Results");
const u8 gText_MultiBattleRoomResults[] = _("{PLAYER}'s Multi Battle Room Results");
@@ -1501,11 +1500,11 @@ const u8 gText_GoldCard[] = _("GOLD");
const u8 gText_Day[] = _("DAY");
const u8 gText_Colon3[] = _(":");
const u8 gText_Confirm2[] = _("CONFIRM");
-const u8 gUnknown_085EE698[] = _("Days");
-const u8 gUnknown_085EE69D[] = _("Time:");
-const u8 gUnknown_085EE6A3[] = _("Game time");
-const u8 gUnknown_085EE6AD[] = _("RTC time");
-const u8 gUnknown_085EE6B6[] = _("Updated time");
+const u8 gText_Days[] = _("Days"); // Unused
+const u8 gText_TimeColon2[] = _("Time:"); // Unused
+const u8 gText_GameTime[] = _("Game time"); // Unused
+const u8 gText_RTCTime[] = _("RTC time"); // Unused
+const u8 gText_UpdatedTime[] = _("Updated time"); // Unused
const u8 gText_MenuPokedex[] = _("POKéDEX");
const u8 gText_MenuPokemon[] = _("POKéMON");
const u8 gText_MenuBag[] = _("BAG");
@@ -1532,13 +1531,13 @@ const u8 gText_LoadingEvent[] = _("Loading event…");
const u8 gText_DontRemoveCableTurnOff[] = _("Don't remove the Game Link cable.\nDon't turn off the power.");
const u8 gText_EventSafelyLoaded[] = _("The event was safely loaded.");
const u8 gText_LoadErrorEndingSession[] = _("Loading error.\nEnding session.");
-const u8 gUnknown_085EE846[] = _("プレイヤー");
-const u8 gUnknown_085EE84C[] = _("さま");
+const u8 gJPText_Player[] = _("プレイヤー"); // Unused
+const u8 gJPText_Sama[] = _("さま"); // Unused
const u8 gText_DexHoenn[] = _("HOENN");
const u8 gText_DexNational[] = _("NATIONAL");
const u8 gText_PokedexDiploma[] = _("PLAYER: {CLEAR 0x10}{COLOR RED}{SHADOW LIGHT_RED}{PLAYER}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}\n\nThis document certifies\nthat you have successfully\ncompleted your\n{STR_VAR_1} POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}{SHADOW LIGHT_RED}GAME FREAK");
-const u8 gUnknown_085EE8DC[] = _("{COLOR RED}{SHADOW LIGHT_RED}ゲ-ムフリ-ク");
-const u8 gUnknown_085EE8EA[] = _("{COLOR RED}{SHADOW LIGHT_RED}");
+const u8 gJPText_GameFreak[] = _("{COLOR RED}{SHADOW LIGHT_RED}ゲ-ムフリ-ク"); // Unused
+const u8 gText_DiplomaEmpty[] = _("{COLOR RED}{SHADOW LIGHT_RED}"); // Unused
const u8 gText_Hoenn[] = _("HOENN");
const u8 gText_OhABite[] = _("Oh! A bite!");
const u8 gText_PokemonOnHook[] = _("A POKéMON's on the hook!{PAUSE_UNTIL_PRESS}");
@@ -1574,13 +1573,13 @@ const u8 gEasyChatGroupName_TrendySaying[] = _("TRENDY SAYING");
const u8 gEasyChatGroupName_Pokemon2[] = _("POKéMON2");
const u8 gText_ThreeQuestionMarks[] = _("???");
-const u8 gUnknown_085EEA46[] = _("MAX. HP");
-const u8 gUnknown_085EEA4E[] = _("ATTACK");
-const u8 gUnknown_085EEA55[] = _("DEFENSE");
-const u8 gUnknown_085EEA5D[] = _("SPEED");
-const u8 gUnknown_085EEA63[] = _("SP. ATK");
-const u8 gUnknown_085EEA6B[] = _("SP. DEF");
-const u8 gText_UnkCtrlF904[] = _("{PLUS}");
+const u8 gText_MaxHP[] = _("MAX. HP");
+const u8 gText_Attack[] = _("ATTACK");
+const u8 gText_Defense[] = _("DEFENSE");
+const u8 gText_Speed[] = _("SPEED");
+const u8 gText_SpAtk[] = _("SP. ATK");
+const u8 gText_SpDef[] = _("SP. DEF");
+const u8 gText_Plus[] = _("{PLUS}");
const u8 gText_Dash[] = _("-");
const u8 gText_FromSpace[] = _("From ");
const u8 gText_MixingRecords[] = _("Mixing records…");
@@ -1631,10 +1630,10 @@ const u8 gText_Yes3[] = _("YES");
const u8 gText_No3[] = _("NO");
const u8 gText_PkmnForSwap[] = _("{PKMN} FOR SWAP");
const u8 gText_Cancel3[] = _("CANCEL");
-const u8 gUnknown_085EECE4[] = _("SWAP");
-const u8 gUnknown_085EECE9[] = _("ACCEPT");
+const u8 gText_Swap2[] = _("SWAP"); // Unused
+const u8 gText_Accept[] = _("ACCEPT"); // Unused
const u8 gText_AcceptThisPkmn[] = _("Accept this POKéMON?");
-const u8 gUnknown_085EED05[] = _(" ");
+const u8 gText_4Spaces[] = _(" "); // Unused
const u8 gText_SamePkmnInPartyAlready[] = _("Same {PKMN} in party already.");
const u8 gText_DecimalPoint[] = _(".");
const u8 gText_SavingPlayer[] = _("PLAYER");
@@ -1674,7 +1673,7 @@ ALIGNED(4) const u8 gText_DontHaveCardNewOneInput[] = _("You don't have a WONDER
ALIGNED(4) const u8 gText_DontHaveNewsNewOneInput[] = _("You don't have any WONDER NEWS,\nso new NEWS will be input.");
ALIGNED(4) const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?");
ALIGNED(4) const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?");
-ALIGNED(4) const u8 gUnknown_085EEFC0[] = _("Communication standby…\nB Button: Cancel");
+ALIGNED(4) const u8 gText_CommunicationStandbyBButtonCancel[] = _("Communication standby…\nB Button: Cancel"); // Unused
ALIGNED(4) const u8 gText_Communicating[] = _("Communicating…");
ALIGNED(4) const u8 gText_CommunicationCompleted[] = _("Communication completed.");
ALIGNED(4) const u8 gText_CommunicationError[] = _("Communication error.");
@@ -1748,12 +1747,12 @@ const u8 gText_MoveRelearnerPkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying t
const u8 gText_MoveRelearnerStopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?");
const u8 gText_MoveRelearnerAndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p");
const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}.");
-const u8 gUnknown_085EF9C8[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.");
+const u8 gText_MoveRelearnedPkmnDidNotLearnMove[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); // Unused
const u8 gText_MoveRelearnerGiveUp[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?");
const u8 gText_MoveRelearnerWhichMoveToForget[] = _("Which move should be\nforgotten?\p");
const u8 gText_MoveRelearnerBattleMoves[] = _("BATTLE MOVES");
const u8 gText_MoveRelearnerContestMovesTitle[] = _("CONTEST MOVES");
-const u8 gUnknown_085EFA4C[] = _("TYPE/");
+const u8 gText_MoveRelearnerType[] = _("TYPE/"); // Unused
const u8 gText_MoveRelearnerPP[] = _("PP/");
const u8 gText_MoveRelearnerPower[] = _("POWER/");
const u8 gText_MoveRelearnerAccuracy[] = _("ACCURACY/");
@@ -1770,46 +1769,46 @@ const u8 gText_ClearingData[] = _("Clearing data…\nPlease wait.");
const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?");
const u8 gText_Confirm3[] = _("CONFIRM");
const u8 gText_Cancel4[] = _("CANCEL");
-const u8 gMrStoneMatchCallDesc[] = _("DEVON PRES");
-const u8 gMrStoneMatchCallName[] = _("MR. STONE");
-const u8 gStevenMatchCallDesc[] = _("HARD AS ROCK");
-const u8 gStevenMatchCallName[] = _("STEVEN");
-const u8 gMayBrendanMatchCallDesc[] = _("RAD NEIGHBOR");
-const u8 gNormanMatchCallDesc[] = _("RELIABLE ONE");
-const u8 gMomMatchCallDesc[] = _("CALM & KIND");
-const u8 gWallyMatchCallDesc[] = _("{PKMN} LOVER");
-const u8 gNormanMatchCallName[] = _("DAD");
-const u8 gMomMatchCallName[] = _("MOM");
-const u8 gScottMatchCallDesc[] = _("ELUSIVE EYES");
-const u8 gScottMatchCallName[] = _("SCOTT");
-const u8 gRoxanneMatchCallDesc[] = _("ROCKIN' WHIZ");
-const u8 gBrawlyMatchCallDesc[] = _("THE BIG HIT");
-const u8 gWattsonMatchCallDesc[] = _("SWELL SHOCK");
-const u8 gFlanneryMatchCallDesc[] = _("PASSION BURN");
-const u8 gWinonaMatchCallDesc[] = _("SKY TAMER");
-const u8 gTateLizaMatchCallDesc[] = _("MYSTIC DUO");
-const u8 gJuanMatchCallDesc[] = _("DANDY CHARM");
-const u8 gEliteFourMatchCallDesc[] = _("ELITE FOUR");
-const u8 gChampionMatchCallDesc[] = _("CHAMPION");
-const u8 gProfBirchMatchCallDesc[] = _("{PKMN} PROF.");
+const u8 gText_MrStoneMatchCallDesc[] = _("DEVON PRES");
+const u8 gText_MrStoneMatchCallName[] = _("MR. STONE");
+const u8 gText_StevenMatchCallDesc[] = _("HARD AS ROCK");
+const u8 gText_StevenMatchCallName[] = _("STEVEN");
+const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR");
+const u8 gText_NormanMatchCallDesc[] = _("RELIABLE ONE");
+const u8 gText_MomMatchCallDesc[] = _("CALM & KIND");
+const u8 gText_WallyMatchCallDesc[] = _("{PKMN} LOVER");
+const u8 gText_NormanMatchCallName[] = _("DAD");
+const u8 gText_MomMatchCallName[] = _("MOM");
+const u8 gText_ScottMatchCallDesc[] = _("ELUSIVE EYES");
+const u8 gText_ScottMatchCallName[] = _("SCOTT");
+const u8 gText_RoxanneMatchCallDesc[] = _("ROCKIN' WHIZ");
+const u8 gText_BrawlyMatchCallDesc[] = _("THE BIG HIT");
+const u8 gText_WattsonMatchCallDesc[] = _("SWELL SHOCK");
+const u8 gText_FlanneryMatchCallDesc[] = _("PASSION BURN");
+const u8 gText_WinonaMatchCallDesc[] = _("SKY TAMER");
+const u8 gText_TateLizaMatchCallDesc[] = _("MYSTIC DUO");
+const u8 gText_JuanMatchCallDesc[] = _("DANDY CHARM");
+const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR");
+const u8 gText_ChampionMatchCallDesc[] = _("CHAMPION");
+const u8 gText_ProfBirchMatchCallDesc[] = _("{PKMN} PROF.");
const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby…\nAwaiting another player to choose.");
const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 60}");
const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 60}");
-const u8 gUnknown_085EFC3E[] = _("NO WEATHER");
-const u8 gUnknown_085EFC49[] = _("SUNNY");
-const u8 gUnknown_085EFC4F[] = _("SUNNY2");
-const u8 gUnknown_085EFC56[] = _("RAIN");
-const u8 gUnknown_085EFC5B[] = _("SNOW");
-const u8 gUnknown_085EFC60[] = _("LIGHTNING");
-const u8 gUnknown_085EFC6A[] = _("FOG");
-const u8 gUnknown_085EFC6E[] = _("VOLCANO ASH");
-const u8 gUnknown_085EFC7A[] = _("SANDSTORM");
-const u8 gUnknown_085EFC84[] = _("FOG2");
-const u8 gUnknown_085EFC89[] = _("SEAFLOOR");
-const u8 gUnknown_085EFC92[] = _("CLOUDY");
-const u8 gUnknown_085EFC99[] = _("SUNNY3");
-const u8 gUnknown_085EFCA0[] = _("HEAVY RAIN");
-const u8 gUnknown_085EFCAB[] = _("SEAFLOOR2");
+const u8 gText_NoWeather[] = _("NO WEATHER"); // Below are unused debug names for weather types
+const u8 gText_Sunny[] = _("SUNNY"); // Unused
+const u8 gText_Sunny2[] = _("SUNNY2"); // Unused
+const u8 gText_Rain[] = _("RAIN"); // Unused
+const u8 gText_Snow[] = _("SNOW"); // Unused
+const u8 gText_Lightning[] = _("LIGHTNING"); // Unused
+const u8 gText_Fog[] = _("FOG"); // Unused
+const u8 gText_VolcanoAsh[] = _("VOLCANO ASH"); // Unused
+const u8 gText_Sandstorm[] = _("SANDSTORM"); // Unused
+const u8 gText_Fog2[] = _("FOG2"); // Unused
+const u8 gText_Seafloor[] = _("SEAFLOOR"); // Unused
+const u8 gText_Cloudy[] = _("CLOUDY"); // Unused
+const u8 gText_Sunny3[] = _("SUNNY3"); // Unused
+const u8 gText_HeavyRain[] = _("HEAVY RAIN"); // Unused
+const u8 gText_Seafloor2[] = _("SEAFLOOR2"); // Unused
const u8 gText_DelAll[] = _("DEL. ALL");
const u8 gText_Cancel5[] = _("CANCEL");
const u8 gText_Ok2[] = _("OK");
diff --git a/src/title_screen.c b/src/title_screen.c
index 8310ef811..c20e1ba70 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -102,10 +102,10 @@ const u16 gIntroWaterDropAlphaBlend[] =
static const struct OamData sVersionBannerLeftOamData =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 1,
+ .bpp = ST_OAM_8BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -119,10 +119,10 @@ static const struct OamData sVersionBannerLeftOamData =
static const struct OamData sVersionBannerRightOamData =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 1,
+ .bpp = ST_OAM_8BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.matrixNum = 0,
@@ -190,10 +190,10 @@ static const struct CompressedSpriteSheet sSpriteSheet_EmeraldVersion[] =
static const struct OamData sOamData_CopyrightBanner =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x8),
.x = 0,
.matrixNum = 0,
@@ -302,10 +302,10 @@ static const struct SpritePalette sSpritePalette_PressStart[] =
static const struct OamData sPokemonLogoShineOamData =
{
.y = 160,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
@@ -353,7 +353,7 @@ static void SpriteCB_VersionBannerLeft(struct Sprite *sprite)
{
if (gTasks[sprite->data[1]].data[1] != 0)
{
- sprite->oam.objMode = 0;
+ sprite->oam.objMode = ST_OAM_OBJ_NORMAL;
sprite->pos1.y = VERSION_BANNER_Y_GOAL;
}
else
@@ -370,7 +370,7 @@ static void SpriteCB_VersionBannerRight(struct Sprite *sprite)
{
if (gTasks[sprite->data[1]].data[1] != 0)
{
- sprite->oam.objMode = 0;
+ sprite->oam.objMode = ST_OAM_OBJ_NORMAL;
sprite->pos1.y = VERSION_BANNER_Y_GOAL;
}
else
@@ -484,22 +484,22 @@ static void StartPokemonLogoShine(u8 flashBg)
case 0:
case 2:
spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0);
- gSprites[spriteId].oam.objMode = 2;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW;
gSprites[spriteId].data[0] = flashBg;
break;
case 1:
spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0);
- gSprites[spriteId].oam.objMode = 2;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW;
gSprites[spriteId].data[0] = flashBg;
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0);
gSprites[spriteId].callback = SpriteCB_PokemonLogoShine2;
- gSprites[spriteId].oam.objMode = 2;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW;
spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, -80, 68, 0);
gSprites[spriteId].callback = SpriteCB_PokemonLogoShine2;
- gSprites[spriteId].oam.objMode = 2;
+ gSprites[spriteId].oam.objMode = ST_OAM_OBJ_WINDOW;
break;
}
}
diff --git a/src/trade.c b/src/trade.c
index d95e4ebf5..a9a0b9b2a 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle_anim.h"
#include "battle_interface.h"
#include "bg.h"
@@ -44,1359 +44,204 @@
#include "union_room.h"
#include "util.h"
#include "window.h"
+#include "constants/contest.h"
#include "constants/easy_chat.h"
#include "constants/items.h"
#include "constants/moves.h"
+#include "constants/region_map_sections.h"
+#include "constants/rgb.h"
#include "constants/species.h"
#include "constants/songs.h"
-#include "constants/rgb.h"
#define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20))
struct InGameTrade {
- /*0x00*/ u8 name[11];
+ /*0x00*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
/*0x0C*/ u16 species;
- /*0x0E*/ u8 ivs[6];
- /*0x14*/ bool8 secondAbility;
+ /*0x0E*/ u8 ivs[NUM_STATS];
+ /*0x14*/ u8 abilityNum;
/*0x18*/ u32 otId;
- /*0x1C*/ u8 stats[5];
+ /*0x1C*/ u8 conditions[CONTEST_CATEGORIES_COUNT];
/*0x24*/ u32 personality;
/*0x28*/ u16 heldItem;
/*0x2A*/ u8 mailNum;
/*0x2B*/ u8 otName[11];
/*0x36*/ u8 otGender;
/*0x37*/ u8 sheen;
- /*0x38*/ u16 playerSpecies;
+ /*0x38*/ u16 requestedSpecies;
};
-static EWRAM_DATA u8 *gUnknown_02032184 = NULL;
-static EWRAM_DATA u8 *gUnknown_02032188[14] = {NULL};
-EWRAM_DATA struct MailStruct gUnknown_020321C0[PARTY_SIZE] = {0};
-EWRAM_DATA u8 gUnknown_02032298[2] = {0};
+static EWRAM_DATA u8 *sMessageBoxAllocBuffer = NULL;
+
+// Bytes 0-2 are used for the player's name box
+// Bytes 3-5 are used for the partner's name box
+// Bytes 6-7 are used for the Cancel box
+// Bytes 8-13 are used for the Choose a Pokemon box
+static EWRAM_DATA u8 *sMessageBoxTileBuffers[14] = {NULL};
+
+EWRAM_DATA struct MailStruct gTradeMail[PARTY_SIZE] = {0};
+EWRAM_DATA u8 gSelectedTradeMonPositions[2] = {0};
static EWRAM_DATA struct {
- /*0x0000*/ u8 unk_0;
- /*0x0001*/ u8 unk_1;
+ /*0x0000*/ u8 bg2hofs;
+ /*0x0001*/ u8 bg3hofs;
/*0x0002*/ u8 filler_2[0x28 - 2];
- /*0x0028*/ u8 partyIcons[2][PARTY_SIZE];
- /*0x0034*/ u8 tradeMenuCursorSpriteIdx;
- /*0x0035*/ u8 tradeMenuCursorPosition;
+ /*0x0028*/ u8 partySpriteIds[2][PARTY_SIZE];
+ /*0x0034*/ u8 cursorSpriteIdx;
+ /*0x0035*/ u8 cursorPosition;
/*0x0036*/ u8 partyCounts[2];
- /*0x0038*/ bool8 tradeMenuOptionsActive[12];
- /*0x0044*/ u8 unk_44;
- /*0x0045*/ u8 unk_45[2][PARTY_SIZE];
- /*0x0051*/ u8 unk_51[2][PARTY_SIZE];
- /*0x005D*/ u8 unk_5D[2][PARTY_SIZE];
- /*0x0069*/ u8 unk_69;
+ /*0x0038*/ bool8 monPresent[PARTY_SIZE * 2];
+ /*0x0044*/ bool8 neverRead_44;
+ /*0x0045*/ bool8 isLiveMon[2][PARTY_SIZE];
+ /*0x0051*/ bool8 isEgg[2][PARTY_SIZE];
+ /*0x005D*/ u8 hpBarLevels[2][PARTY_SIZE];
+ /*0x0069*/ u8 bufferPartyState;
/*0x006A*/ u8 filler_6A[0x6F - 0x6A];
- /*0x006F*/ u8 unk_6F;
- /*0x0070*/ u8 unk_70;
+ /*0x006F*/ u8 tradeMenuFunc;
+ /*0x0070*/ u8 neverRead_70;
/*0x0071*/ u8 filler_71;
- /*0x0072*/ u16 unk_72;
- /*0x0074*/ u8 unk_74[2];
- /*0x0076*/ u8 unk_76[2];
- /*0x0078*/ u8 unk_78;
- /*0x0079*/ u8 unk_79;
- /*0x007A*/ u8 unk_7A;
- /*0x007B*/ u8 unk_7B;
+ /*0x0072*/ u16 bottomTextTileStart;
+ /*0x0074*/ u8 drawPartyState[2];
+ /*0x0076*/ u8 selectedMonIdx[2];
+ /*0x0078*/ u8 playerLinkFlagChoseAction;
+ /*0x0079*/ u8 partnerLinkFlagChoseAction;
+ /*0x007A*/ u8 playerLinkFlagStatus;
+ /*0x007B*/ u8 partnerLinkFlagStatus;
/*0x007C*/ u8 filler_7C[0x7E - 0x7C];
- /*0x007E*/ u8 unk_7E;
- /*0x007F*/ u8 filler_7F;
+ /*0x007E*/ u8 partnerCursorPosition;
+ /*0x007F*/ u8 unused_7F;
/*0x0080*/ u16 linkData[20];
- /*0x00A8*/ u8 unk_A8;
- /*0x00A9*/ u8 unk_A9[11];
+ /*0x00A8*/ u8 timer;
+ /*0x00A9*/ u8 giftRibbons[11];
/*0x00B4*/ u8 filler_B4[0x8D0-0xB4];
/*0x08D0*/ struct {
- bool8 unk_0;
- u16 unk_2;
- u8 unk_4;
- } unk_8D0[4];
+ bool8 queued;
+ u16 queueDelay;
+ u8 actionId;
+ } queuedActions[4];
/*0x08F0*/ u16 tilemapBuffer[0x400];
-} *gUnknown_0203229C = {NULL};
+} *sTradeMenuData = {NULL};
static EWRAM_DATA struct {
/*0x00*/ struct Pokemon mon;
/*0x64*/ u32 timer;
- /*0x68*/ u32 unk_68[2];
+ /*0x68*/ u32 monPersonalities[2];
/*0x70*/ u8 filler_70[2];
- /*0x72*/ u8 unk_72;
- /*0x73*/ u8 unk_73;
+ /*0x72*/ u8 playerLinkFlagFinishTrade;
+ /*0x73*/ u8 partnerLinkFlagFinishTrade;
/*0x74*/ u16 linkData[10];
- /*0x88*/ u8 unk_88;
- /*0x89*/ u8 unk_89;
- /*0x8A*/ u16 unk_8A;
- /*0x8C*/ u16 unk_8C;
+ /*0x88*/ u8 alwaysZero_88;
+ /*0x89*/ u8 alwaysZero_89;
+ /*0x8A*/ u16 linkTimeoutCounter;
+ /*0x8C*/ u16 neverRead_8C;
/*0x8E*/ u8 pokePicSpriteIdxs[2];
- /*0x90*/ u8 unk_90;
- /*0x91*/ u8 unk_91;
- /*0x92*/ u8 unk_92;
- /*0x93*/ u8 unk_93;
+ /*0x90*/ u8 unk_90; //sprite id
+ /*0x91*/ u8 unk_91; //sprite id
+ /*0x92*/ u8 unk_92; //sprite id
+ /*0x93*/ u8 sendTradeFinishState;
/*0x94*/ u16 state;
/*0x96*/ u8 filler_96[0xD2 - 0x96];
- /*0xD2*/ u8 unk_D2;
- /*0xD3*/ u8 unk_D3;
- /*0xD4*/ u16 unk_D4;
- /*0xD6*/ u16 unk_D6;
- /*0xD8*/ u16 unk_D8;
- /*0xDA*/ u16 unk_DA;
- /*0xDC*/ u16 unk_DC;
- /*0xDE*/ u16 unk_DE;
+ /*0xD2*/ u8 pokeballSpriteId;
+ /*0xD3*/ u8 unk_D3; //sprite id
+ /*0xD4*/ u16 texX;
+ /*0xD6*/ u16 texY;
+ /*0xD8*/ u16 neverRead_D8;
+ /*0xDA*/ u16 neverRead_DA;
+ /*0xDC*/ u16 scrX;
+ /*0xDE*/ u16 scrY;
/*0xE0*/ s16 bg1vofs;
/*0xE2*/ s16 bg1hofs;
/*0xE4*/ s16 bg2vofs;
/*0xE6*/ s16 bg2hofs;
- /*0xE8*/ u16 unk_E8;
- /*0xEA*/ u16 unk_EA;
- /*0xEC*/ u16 unk_EC;
+ /*0xE8*/ u16 sXY;
+ /*0xEA*/ u16 unk_EA; //sXY divisor
+ /*0xEC*/ u16 alpha;
/*0xEE*/ bool8 isLinkTrade;
- /*0xF0*/ u16 tradeSpecies[2];
+ /*0xF0*/ u16 monSpecies[2];
/*0xF4*/ u16 cachedMapMusic;
- /*0xF6*/ u8 unk_F6[3];
+ /*0xF6*/ u8 textColors[3];
/*0xF9*/ u8 filler_F9;
- /*0xFA*/ u8 unk_FA;
- /*0xFB*/ u8 unk_FB;
- /*0xFC*/ u8 unk_FC;
- /*0xFD*/ u8 unk_FD;
- /*0xFE*/ u8 unk_FE;
-} *gUnknown_020322A0 = {NULL};
+ /*0xFA*/ bool8 isCableTrade;
+ /*0xFB*/ u8 wirelessWinLeft;
+ /*0xFC*/ u8 wirelessWinTop;
+ /*0xFD*/ u8 wirelessWinRight;
+ /*0xFE*/ u8 wirelessWinBottom;
+} *sTradeData = {NULL};
#if !defined(NONMATCHING) && MODERN
#define static
#endif
-static bool32 sub_8077260(void);
-static void sub_80773D0(void);
-static void sub_807811C(void);
-static void sub_807825C(void);
-static void sub_80782B8(u8);
-static void sub_8078388(void);
-static bool8 shedinja_maker_maybe(void);
-static void sub_8078C34(void);
-static void sub_80795AC(void);
-static void sub_807967C(u8);
-static void sub_80796B4(u8);
-static u8 sub_8079A3C(u8 *, u8, u8);
-static void sub_8079AA4(u8 *, u8, u8);
-static void sub_8079BE0(u8);
-static void sub_8079C4C(u8, u8, u8, u8, u8, u8);
-static void sub_8079E44(u8);
-static void sub_8079F74(void);
-static void sub_8079F88(u8);
-static void sub_807A000(u8 taskId);
-static void sub_807A024(u8 taskId);
-static void sub_807A048(u16, u8);
-static u32 sub_807A09C(void);
-static void sub_807A0C4(void);
-static void sub_807A19C(u8);
-static bool8 sub_807A1F0(void);
-static void sub_807A308(const u8 *, u8 *, u8);
-static void sub_807A320(u8);
-static void sub_807A468(u8);
-static void sub_807A53C(void);
-static void sub_807A5B0(void);
-static u32 sub_807A5F4(struct Pokemon *, int, int);
+static bool32 IsWirelessTrade(void);
+static void CB2_CreateTradeMenu(void);
+static void VBlankCB_TradeMenu(void);
+static void CB2_TradeMenu(void);
+static void LoadTradeBgGfx(u8);
+static void SetTradePartyMonsVisible(void);
+static bool8 BufferTradeParties(void);
+static void CB1_SendOrReactToLinkTradeData(void);
+static void CallTradeMenuFunc(void);
+static void SetSelectedMon(u8);
+static void DrawTradeMenuParty(u8);
+static u8 GetMonNicknameWidth(u8 *, u8, u8);
+static void BufferTradeMonMoves(u8 *, u8, u8);
+static void PrintPartyNicknamesForTradeMenu(u8);
+static void DrawTradeMenuPartyMonInfo(u8, u8, u8, u8, u8, u8);
+static void DrawTradeMenuPartyInfo(u8);
+static void PrintNicknamesForTradeMenu(void);
+static void RedrawTradeMenuParty(u8);
+static void Task_DrawSelectionSummary(u8 taskId);
+static void Task_DrawSelectionTrade(u8 taskId);
+static void QueueAction(u16, u8);
+static u32 GetNumQueuedActions(void);
+static void DoQueuedActions(void);
+static void PrintTradeMessage(u8);
+static bool8 LoadTradeMenuSpriteSheetsAndPalettes(void);
+static void DrawTextWindowAndBuffer6Bytes(const u8 *, u8 *, u8);
+static void SetTradePartyLiveStatuses(u8);
+static void GetTradePartyHPBarLevels(u8);
+static void SetTradePartyHPBarSprites(void);
+static void SaveTradeGiftRibbons(void);
+static u32 CanTradeSelectedMon(struct Pokemon *, int, int);
static void sub_807AA28(struct Sprite *sprite);
static void sub_807AA7C(struct Sprite *sprite);
static void sub_807AABC(struct Sprite *sprite);
static void sub_807AAE0(struct Sprite *sprite);
static void sub_807AB04(struct Sprite *sprite);
-static void sub_807B170(void);
-static void sub_807B60C(void);
-static void sub_807B62C(u8);
-static void sub_807BA94(void);
-static void SetTradeSceneStrings(void);
-static u8 sub_807BBC8(void);
-static u8 sub_807BBEC(void);
-static u8 sub_807CFC8(void);
+static void InitTradeBgInternal(void);
+static void CB2_UpdateInGameTrade(void);
+static void SetTradeSequenceBgGpuRegs(u8);
+static void LoadTradeSequenceSpriteSheetsAndPalettes(void);
+static void BufferTradeSceneStrings(void);
+static bool8 AnimateTradeSequence(void);
+static bool8 AnimateTradeSequenceCable(void);
+static bool8 AnimateTradeSequenceWireless(void);
static void sub_807E55C(struct Sprite *sprite);
static void sub_807E5D8(struct Sprite *sprite);
static void sub_807E64C(struct Sprite *sprite);
static void sub_807E6AC(struct Sprite *sprite);
-static void sub_807E784(void);
-static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade);
-static void sub_807EA2C(void);
-static void sub_807EACC(void);
-static void sub_807EB50(void);
-static void c2_080543C4(void);
-static void sub_807F110(u8);
-static void sub_807F14C(void);
-static void c3_08054588(u8);
+static void BufferInGameTradeMonName(void);
+static void SetInGameTradeMail(struct MailStruct *mail, const struct InGameTrade *trade);
+static void CB2_UpdateLinkTrade(void);
+static void CB2_TryFinishTrade(void);
+static void CB2_SaveAndEndTrade(void);
+static void CB2_FreeTradeData(void);
+static void Task_InGameTrade(u8);
+static void CheckPartnersMonForRibbons(void);
+static void Task_AnimateWirelessSignal(u8);
static void c3_0805465C(u8);
static void sub_807F39C(u8);
-static void sub_807F464(void);
-
-static const u32 sUnref_0832C6A8[] =
-{
- 0x00000F2C,
- 0x00003D88,
- 0x0000001C,
- 0x00000024,
- 0x00000064,
- 0x00000528
-};
-static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin");
-static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin");
-static const u8 gTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin");
-static const u8 gTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin");
-static const u8 gText_EmptyString7[] = _("");
-static const u8 gText_ClrWhtHltTrspntShdwDrkGry[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}");
-const u8 gText_MaleSymbol4[] = _("♂");
-const u8 gText_FemaleSymbol4[] = _("♀");
-const u8 gText_GenderlessSymbol[] = _("");
-static const u8 gText_SpaceMove[] = _(" MOVE");
-static const u8 gText_NewLine3[] = _("\n");
-static const u8 gText_Slash2[] = _("/");
-static const u8 gText_Lv2[] = _("Lv. ");
-static const u8 gText_ThreeDashes2[] = _("---");
-static const u8 gText_FourQuestionMarks[] = _("????");
-static const u8 gText_832DAE4[] = _("");
-static const u8 gText_IsThisTradeOkay[] = _("Is this trade okay?");
-static const u8 gText_Cancel6[] = _("CANCEL");
-static const u8 gText_ChooseAPkmn[] = _("Choose a POKéMON.");
-static const u8 gText_Summary3[] = _("SUMMARY");
-static const u8 gText_Trade2[] = _("TRADE");
-static const u8 gText_CancelTrade[] = _("Cancel trade?");
-static const u8 gJPText_832DB2E[] = _("Bボタン で もどります");
-static const u8 gText_Summary4[] = _("SUMMARY");
-static const u8 gText_Trade3[] = _("TRADE");
-static const u8 gText_CommunicationStandby6[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait.");
-static const u8 gText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.");
-static const u8 gText_YourOnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle.");
-static const u8 gText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…");
-static const u8 gText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON.");
-
-static const struct OamData gOamData_832DC14 =
-{
- .shape = SPRITE_SHAPE(32x16),
- .size = SPRITE_SIZE(32x16),
- .priority = 1
-};
-
-static const struct OamData gOamData_832DC1C =
-{
- .shape = SPRITE_SHAPE(64x32),
- .size = SPRITE_SIZE(64x32),
- .priority = 1
-};
-
-static const union AnimCmd gSpriteAnim_832DC24[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_832DC2C[] =
-{
- ANIMCMD_FRAME(32, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const gSpriteAnimTable_832DC34[] =
-{
- gSpriteAnim_832DC24,
- gSpriteAnim_832DC2C
-};
-
-static const struct SpriteSheet gUnknown_0832DC3C =
-{
- .data = gUnknown_08DDC6E4,
- .size = 0x800,
- .tag = 300
-};
-
-static const struct SpritePalette gUnknown_0832DC44 =
-{
- .data = gUnknown_08DDB444,
- .tag = 2345
-};
-
-static const union AnimCmd gSpriteAnim_832DC4C[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_832DC54[] =
-{
- ANIMCMD_FRAME(8, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_832DC5C[] =
-{
- ANIMCMD_FRAME(16, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_832DC64[] =
-{
- ANIMCMD_FRAME(24, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_832DC6C[] =
-{
- ANIMCMD_FRAME(32, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_832DC74[] =
-{
- ANIMCMD_FRAME(40, 5),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const gSpriteAnimTable_832DC7C[] =
-{
- gSpriteAnim_832DC4C,
- gSpriteAnim_832DC54,
- gSpriteAnim_832DC5C,
- gSpriteAnim_832DC64,
- gSpriteAnim_832DC6C,
- gSpriteAnim_832DC74
-};
-
-static const struct SpriteTemplate gSpriteTemplate_832DC94 =
-{
- .tileTag = 300,
- .paletteTag = 2345,
- .oam = &gOamData_832DC1C,
- .anims = gSpriteAnimTable_832DC34,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-static const struct SpriteTemplate gSpriteTemplate_832DCAC =
-{
- .tileTag = 200,
- .paletteTag = 4925,
- .oam = &gOamData_832DC14,
- .anims = gSpriteAnimTable_832DC7C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal");
-static const struct SpritePalette gSpritePalette_TradeScreenText =
-{
- .data = TradeScreenTextPalette,
- .tag = 4925
-};
-
-// This is used to determine the next mon to select when the D-Pad is
-// pressed in a given direction.
-// Note that the mons are laid out like this.
-// 0-5 are the player's party and 6-11 are the trading partner's party.
-// 12 is the cancel button.
-// 0 1 6 7
-// 2 3 8 9
-// 4 5 10 11
-// 12
-static const u8 gTradeNextSelectedMonTable[][4][6] =
-{
- {
- {4, 2, 12, 12, 0, 0},
- {2, 4, 12, 12, 0, 0},
- {7, 6, 1, 0, 0, 0},
- {1, 6, 7, 0, 0, 0}
- },
- {
- {5, 3, 12, 12, 0, 0},
- {3, 5, 12, 12, 0, 0},
- {0, 7, 6, 1, 0, 0},
- {6, 7, 0, 1, 0, 0}
- },
- {
- {0, 0, 0, 0, 0, 0},
- {4, 0, 0, 0, 0, 0},
- {9, 8, 7, 6, 0, 0},
- {3, 1, 0, 0, 0, 0}
- },
- {
- {1, 1, 1, 1, 0, 0},
- {5, 1, 1, 1, 0, 0},
- {2, 9, 8, 7, 0, 0},
- {8, 9, 6, 6, 0, 0}
- },
- {
- {2, 2, 2, 2, 0, 0},
- {0, 0, 0, 0, 0, 0},
- {11, 10, 9, 8, 7, 6},
- {5, 3, 1, 0, 0, 0}
- },
- {
- {3, 3, 3, 3, 0, 0},
- {1, 1, 1, 1, 0, 0},
- {4, 4, 4, 4, 0, 0},
- {10, 8, 6, 0, 0, 0}
- },
- {
- {10, 8, 12, 0, 0, 0},
- {8, 10, 12, 0, 0, 0},
- {1, 0, 0, 0, 0, 0},
- {7, 0, 1, 0, 0, 0}
- },
- {
- {12, 0, 0, 0, 0, 0},
- {9, 12, 0, 0, 0, 0},
- {6, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0}
- },
- {
- {6, 0, 0, 0, 0, 0},
- {10, 6, 0, 0, 0, 0},
- {3, 2, 1, 0, 0, 0},
- {9, 7, 0, 0, 0, 0}
- },
- {
- {7, 0, 0, 0, 0, 0},
- {11, 12, 0, 0, 0, 0},
- {8, 0, 0, 0, 0, 0},
- {2, 1, 0, 0, 0, 0}
- },
- {
- {8, 0, 0, 0, 0, 0},
- {6, 0, 0, 0, 0, 0},
- {5, 4, 3, 2, 1, 0},
- {11, 9, 7, 0, 0, 0}
- },
- {
- {9, 0, 0, 0, 0, 0},
- {12, 0, 0, 0, 0, 0},
- {10, 0, 0, 0, 0, 0},
- {4, 2, 0, 0, 0, 0}
- },
- {
- {11, 9, 7, 6, 0, 0},
- {7, 6, 0, 0, 0, 0},
- {12, 0, 0, 0, 0, 0},
- {12, 0, 0, 0, 0, 0}
- }
-};
-
-static const u8 gTradeMonSpriteCoords[][2] =
-{
- // Your party
- {1, 5 },
- {8, 5 },
- {1, 10},
- {8, 10},
- {1, 15},
- {8, 15},
-
- // Friend's party
- {16, 5 },
- {23, 5 },
- {16, 10},
- {23, 10},
- {16, 15},
- {23, 15},
-
- {23, 18} // CANCEL
-};
-
-static const u8 gTradeLevelDisplayCoords[][6][2] =
-{
- {
- // Your party
- {5, 4},
- {12, 4},
- {5, 9},
- {12, 9},
- {5, 14},
- {12, 14},
- },
- {
- // Friend's party
- {20, 4},
- {27, 4},
- {20, 9},
- {27, 9},
- {20, 14},
- {27, 14}
- }
-};
-
-static const u8 gTradeMonBoxCoords[][6][2] =
-{
- {
- // Your party
- {1, 3},
- {8, 3},
- {1, 8},
- {8, 8},
- {1, 13},
- {8, 13},
- },
- {
- // Friend's party
- {16, 3},
- {23, 3},
- {16, 8},
- {23, 8},
- {16, 13},
- {23, 13}
- }
-};
-
-static const u8 sUnref_0832DE6E[] =
-{
- 0x00, 0x0e,
- 0x0f, 0x1d,
- 0x03, 0x05,
- 0x03, 0x07,
- 0x12, 0x05,
- 0x12, 0x07,
- 0x08, 0x07,
- 0x16, 0x0c,
- 0x08, 0x07,
- 0x16, 0x0c,
- 0x06, 0x07,
- 0x18, 0x0c,
- 0x06, 0x07,
- 0x18, 0x0c,
- 0x08, 0x07,
- 0x16, 0x0c,
- 0x07, 0x07,
- 0x17, 0x0c
-};
-
-static const u8 *const gUnknown_0832DE94[] =
-{
- gText_Cancel6,
- gText_ChooseAPkmn,
- gText_Summary3,
- gText_Trade2,
- gText_CancelTrade,
- gJPText_832DB2E
-};
-
-static const struct MenuAction gUnknown_0832DEAC[] =
-{
- {gText_Summary4, sub_807A000},
- {gText_Trade3, sub_807A024}
-};
-
-static const u8 *const gUnknown_0832DEBC[] = {
- gText_CommunicationStandby6,
- gText_TheTradeHasBeenCanceled,
- gText_YourOnlyPkmnForBattle,
- gText_OnlyPkmnForBattle,
- gText_WaitingForYourFriend,
- gText_YourFriendWantsToTrade,
- gText_PkmnCantBeTradedNow,
- gText_EggCantBeTradedNow,
- gText_OtherTrainersPkmnCantBeTraded
-};
-
-static const u8 gUnknown_0832DEE0[] = { 0, 1, 2 };
-
-static const struct BgTemplate gUnknown_0832DEE4[] =
-{
- {
- .bg = 0,
- .charBaseIndex = 2,
- .mapBaseIndex = 31,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 0,
- .baseTile = 0
- },
- {
- .bg = 1,
- .charBaseIndex = 0,
- .mapBaseIndex = 5,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 1,
- .baseTile = 0
- },
- {
- .bg = 2,
- .charBaseIndex = 0,
- .mapBaseIndex = 6,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 2,
- .baseTile = 0
- },
- {
- .bg = 3,
- .charBaseIndex = 0,
- .mapBaseIndex = 7,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 3,
- .baseTile = 0
- },
-};
-
-static const struct WindowTemplate gUnknown_0832DEF4[] =
-{
- {
- .bg = 0,
- .tilemapLeft = 4,
- .tilemapTop = 7,
- .width = 22,
- .height = 4,
- .paletteNum = 15,
- .baseBlock = 30
- },
- {
- .bg = 0,
- .tilemapLeft = 19,
- .tilemapTop = 15,
- .width = 10,
- .height = 4,
- .paletteNum = 15,
- .baseBlock = 118
- },
- {
- .bg = 0,
- .tilemapLeft = 0,
- .tilemapTop = 5,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 158
- },
- {
- .bg = 0,
- .tilemapLeft = 7,
- .tilemapTop = 5,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 174
- },
- {
- .bg = 0,
- .tilemapLeft = 0,
- .tilemapTop = 10,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 190
- },
- {
- .bg = 0,
- .tilemapLeft = 7,
- .tilemapTop = 10,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 206
- },
- {
- .bg = 0,
- .tilemapLeft = 0,
- .tilemapTop = 15,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 222
- },
- {
- .bg = 0,
- .tilemapLeft = 7,
- .tilemapTop = 15,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 238
- },
- {
- .bg = 0,
- .tilemapLeft = 15,
- .tilemapTop = 5,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 254
- },
- {
- .bg = 0,
- .tilemapLeft = 22,
- .tilemapTop = 5,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 270
- },
- {
- .bg = 0,
- .tilemapLeft = 15,
- .tilemapTop = 10,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 286
- },
- {
- .bg = 0,
- .tilemapLeft = 22,
- .tilemapTop = 10,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 302
- },
- {
- .bg = 0,
- .tilemapLeft = 15,
- .tilemapTop = 15,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 318
- },
- {
- .bg = 0,
- .tilemapLeft = 22,
- .tilemapTop = 15,
- .width = 8,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 334
- },
- {
- .bg = 0,
- .tilemapLeft = 2,
- .tilemapTop = 5,
- .width = 14,
- .height = 2,
- .paletteNum = 13,
- .baseBlock = 350
- },
- {
- .bg = 0,
- .tilemapLeft = 3,
- .tilemapTop = 8,
- .width = 11,
- .height = 8,
- .paletteNum = 15,
- .baseBlock = 378
- },
- {
- .bg = 0,
- .tilemapLeft = 17,
- .tilemapTop = 5,
- .width = 14,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 466
- },
- {
- .bg = 0,
- .tilemapLeft = 18,
- .tilemapTop = 8,
- .width = 11,
- .height = 8,
- .paletteNum = 15,
- .baseBlock = 494
- },
- DUMMY_WIN_TEMPLATE,
-};
-
-static const struct WindowTemplate gUnknown_0832DF8C =
-{
- .bg = 0,
- .tilemapLeft = 23,
- .tilemapTop = 13,
- .width = 5,
- .height = 4,
- .paletteNum = 15,
- .baseBlock = 582
-};
-
-static const u8 gJPText_Shedinja[] = _("ヌケニン");
-static const u8 gUnknown_0832DF99[][2] =
-{
- {4, 3},
- {19, 3},
- {0, 0}
-};
-
-static const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal");
-static const u8 gTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp");
-static const u8 gUnknown_832E5C0[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp");
-static const u16 gUnknown_0832FFC0[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin");
-static const u16 gUnknown_083307C0[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin");
-static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal");
-static const u16 gUnknown_083308E0[] = INCBIN_U16("graphics/trade/gba.gbapal");
-static const u16 gUnref_08330900[] = INCBIN_U16("graphics/trade/shadow.gbapal");
-static const u16 gUnref_08330920[] = INCBIN_U16("graphics/trade/black.gbapal");
-static const u16 gUnknown_08330940[] = INCBIN_U16("graphics/trade/misc.gbapal");
-static const u8 gTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp");
-static const u8 gTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp");
-static const u8 gTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp");
-static const u8 gTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp");
-const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin");
-static const u8 gUnknown_08332F60[] = INCBIN_U8("graphics/trade/gba_affine.8bpp");
-static const u8 sFiller_08335760[64] = {};
-static const u8 gUnknown_083357A0[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin");
-static const u8 gUnknown_083358A0[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin");
-static const u16 gUnknown_083359A0[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin");
-static const u16 gUnknown_083369A0[] = INCBIN_U16("graphics/trade/gba_map_cable.bin");
-static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz");
-static const u16 gUnknown_08337AA0[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal");
-static const u16 gUnknown_08337CA0[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal");
-static const u16 gUnknown_08337EA0[] = INCBIN_U16("graphics/trade/black.gbapal");
-static const u32 gUnknown_08337EC0[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz");
-static const u32 gUnknown_08338550[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz");
-
-static const struct OamData gOamData_8338C44 =
-{
- .affineMode = 1,
- .shape = SPRITE_SHAPE(16x16),
- .size = SPRITE_SIZE(16x16)
-};
-
-static const union AnimCmd gSpriteAnim_8338C4C[] =
-{
- ANIMCMD_FRAME( 0, 3),
- ANIMCMD_FRAME( 4, 3),
- ANIMCMD_FRAME( 8, 3),
- ANIMCMD_FRAME(12, 3),
- ANIMCMD_FRAME(16, 3),
- ANIMCMD_FRAME(20, 3),
- ANIMCMD_FRAME(24, 3),
- ANIMCMD_FRAME(28, 3),
- ANIMCMD_FRAME(32, 3),
- ANIMCMD_FRAME(36, 3),
- ANIMCMD_FRAME(40, 3),
- ANIMCMD_FRAME(44, 3),
- ANIMCMD_LOOP(1),
- ANIMCMD_FRAME( 0, 3),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_8338C88[] =
-{
- ANIMCMD_FRAME( 0, 3),
- ANIMCMD_FRAME( 4, 3),
- ANIMCMD_FRAME( 8, 3),
- ANIMCMD_FRAME(12, 3),
- ANIMCMD_FRAME(16, 3),
- ANIMCMD_FRAME(20, 3),
- ANIMCMD_FRAME(24, 3),
- ANIMCMD_FRAME(28, 3),
- ANIMCMD_FRAME(32, 3),
- ANIMCMD_FRAME(36, 3),
- ANIMCMD_FRAME(40, 3),
- ANIMCMD_FRAME(44, 3),
- ANIMCMD_LOOP(2),
- ANIMCMD_FRAME( 0, 3),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const gSpriteAnimTable_8338C88[] =
-{
- gSpriteAnim_8338C4C,
- gSpriteAnim_8338C88
-};
-
-static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] =
-{
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_END
-};
-
-static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] =
-{
- AFFINEANIMCMD_FRAME(-8, 0, 0, 20),
- AFFINEANIMCMD_END
-};
-
-static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] =
-{
- AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0),
- AFFINEANIMCMD_FRAME( 0, 0, 0, 5),
- AFFINEANIMCMD_FRAME( 8, 0, 0, 20),
- AFFINEANIMCMD_END
-};
-
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] =
-{
- gSpriteAffineAnim_8338CCC,
- gSpriteAffineAnim_8338CDC,
- gSpriteAffineAnim_8338CEC
-};
-
-static const struct SpriteSheet gUnknown_08338D18 =
-{
- .data = gTradeBallTiles,
- .size = 0x600,
- .tag = 5557
-};
-
-static const struct SpritePalette gUnknown_08338D20 =
-{
- .data = gTradeBallPalette,
- .tag = 5558
-};
-
-static const struct SpriteTemplate gSpriteTemplate_8338D28 =
-{
- .tileTag = 5557,
- .paletteTag = 5558,
- .oam = &gOamData_8338C44,
- .anims = gSpriteAnimTable_8338C88,
- .images = NULL,
- .affineAnims = gSpriteAffineAnimTable_8338D0C,
- .callback = sub_807E55C
-};
-
-static const struct OamData gOamData_8338D40 =
-{
- .affineMode = 1,
- .objMode = 1,
- .shape = SPRITE_SHAPE(32x32),
- .size = SPRITE_SIZE(32x32),
- .priority = 1
-};
-
-static const union AnimCmd gSpriteAnim_8338D48[] =
-{
- ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const gSpriteAnimTable_8338D50[] =
-{
- gSpriteAnim_8338D48
-};
-
-static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] =
-{
- AFFINEANIMCMD_FRAME(-10, -10, 0, 5),
- AFFINEANIMCMD_FRAME(10, 10, 0, 5),
- AFFINEANIMCMD_JUMP(0)
-};
-
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] =
-{
- gSpriteAffineAnim_8338D54
-};
-
-static const struct SpriteSheet gUnknown_08338D70 =
-{
- .data = gTradeGlow1Tiles,
- .size = 0x200,
- .tag = 5550
-};
-
-static const struct SpritePalette gUnknown_08338D78 =
-{
- .data = gUnknown_08330940,
- .tag = 5551
-};
-
-static const struct SpritePalette gUnknown_08338D80 =
-{
- .data = gUnknown_083308E0,
- .tag = 5555
-};
-
-static const struct SpriteTemplate gUnknown_08338D88 =
-{
- .tileTag = 5550,
- .paletteTag = 5551,
- .oam = &gOamData_8338D40,
- .anims = gSpriteAnimTable_8338D50,
- .images = NULL,
- .affineAnims = gSpriteAffineAnimTable_8338D6C,
- .callback = sub_807AA28
-};
-
-static const struct OamData gOamData_8338DA0 =
-{
- .shape = SPRITE_SHAPE(16x32),
- .size = SPRITE_SIZE(16x32),
- .priority = 1
-};
-
-static const union AnimCmd gSpriteAnim_8338DA8[] =
-{
- ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_8338DB0[] =
-{
- ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const gSpriteAnimTable_8338DB8[] =
-{
- gSpriteAnim_8338DA8,
- gSpriteAnim_8338DB0
-};
-
-static const struct SpriteSheet gUnknown_08338DC0 =
-{
- .data = gTradeGlow2Tiles,
- .size = 0x300,
- .tag = 5552
-};
-
-static const struct SpriteTemplate gSpriteTemplate_8338DC8 =
-{
- .tileTag = 5552,
- .paletteTag = 5551,
- .oam = &gOamData_8338DA0,
- .anims = gSpriteAnimTable_8338DB8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AA7C
-};
-
-static const struct OamData gOamData_8338DE0 =
-{
- .shape = SPRITE_SHAPE(16x32),
- .size = SPRITE_SIZE(16x32),
- .priority = 1
-};
-
-static const union AnimCmd gSpriteAnim_8338DE8[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const gSpriteAnimTable_8338DF0[] =
-{
- gSpriteAnim_8338DE8
-};
-
-static const struct SpriteSheet gUnknown_08338DF4 =
-{
- .data = gTradeCableEndTiles,
- .size = 0x100,
- .tag = 5554
-};
-
-static const struct SpriteTemplate gSpriteTemplate_8338DFC =
-{
- .tileTag = 5554,
- .paletteTag = 5555,
- .oam = &gOamData_8338DE0,
- .anims = gSpriteAnimTable_8338DF0,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AABC
-};
-
-static const struct OamData gOamData_8338E14 =
-{
- .shape = SPRITE_SHAPE(64x32),
- .size = SPRITE_SIZE(64x32),
- .priority = 1
-};
-
-static const union AnimCmd gSpriteAnim_8338E1C[] =
-{
- ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_LOOP(8),
- ANIMCMD_END
-};
-
-static const union AnimCmd gSpriteAnim_8338E40[] =
-{
- ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_LOOP(2),
- ANIMCMD_END
-};
-
-static const union AnimCmd *const gSpriteAnimTable_8338E64[] =
-{
- gSpriteAnim_8338E1C
-};
-
-static const union AnimCmd *const gSpriteAnimTable_8338E68[] =
-{
- gSpriteAnim_8338E40
-};
-
-static const struct SpriteSheet gUnknown_08338E6C =
-{
- .data = gTradeGBAScreenTiles,
- .size = 0x1000,
- .tag = 5556
-};
-
-static const struct SpriteTemplate gSpriteTemplate_8338E74 =
-{
- .tileTag = 5556,
- .paletteTag = 5555,
- .oam = &gOamData_8338E14,
- .anims = gSpriteAnimTable_8338E64,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AB04
-};
-
-static const struct SpriteTemplate gSpriteTemplate_8338E8C =
-{
- .tileTag = 5556,
- .paletteTag = 5555,
- .oam = &gOamData_8338E14,
- .anims = gSpriteAnimTable_8338E68,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_807AB04
-};
-
-static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal");
-
-static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] =
-{
- AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
- AFFINEANIMCMD_JUMP(0)
-};
-
-static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] =
-{
- gSpriteAffineAnim_8338EBC
-};
-
-static const struct InGameTrade gIngameTrades[] =
-{
- {
- _("DOTS"), SPECIES_SEEDOT,
- 5, 4, 5, 4, 4, 4,
- TRUE, 38726,
- 30, 5, 5, 5, 5,
- 0x84,
- ITEM_CHESTO_BERRY, -1,
- _("KOBE"), MALE, 10,
- SPECIES_RALTS
- }, {
- _("PLUSES"), SPECIES_PLUSLE,
- 4, 4, 4, 5, 5, 4,
- FALSE, 73996,
- 5, 5, 30, 5, 5,
- 0x6F,
- ITEM_WOOD_MAIL, 0,
- _("ROMAN"), MALE, 10,
- SPECIES_VOLBEAT
- }, {
- _("SEASOR"),
- SPECIES_HORSEA,
- 5, 4, 4, 4, 5, 4,
- FALSE, 46285,
- 5, 5, 5, 5, 30,
- 0x7F,
- ITEM_WAVE_MAIL, 1,
- _("SKYLAR"), MALE, 10,
- SPECIES_BAGON
- }, {
- _("MEOWOW"),
- SPECIES_MEOWTH,
- 4, 5, 4, 5, 4, 4,
- FALSE, 91481,
- 5, 5, 5, 30, 5,
- 0x8B,
- ITEM_RETRO_MAIL, 2,
- _("ISIS"), FEMALE, 10,
- SPECIES_SKITTY
- }
-};
-
-static const u16 gIngameTradeMail[][10] =
-{
- {
- EC_WORD_BE,
- EC_WORD_NICE,
- EC_WORD_TO,
- EC_POKEMON(PLUSLE),
- EC_WORD_EXCL,
- EC_POKEMON(VOLBEAT),
- EC_WORD_WILL,
- EC_WORD_BE,
- EC_WORD_FANTASTIC,
- 0
- }, {
- EC_WORD_I,
- EC_WORD_WILL,
- EC_WORD_MAKE,
- EC_POKEMON(BAGON),
- EC_WORD_TOUGH,
- EC_WORD_PLEASE,
- EC_WORD_TRAIN,
- EC_POKEMON(HORSEA),
- EC_WORD_WELL,
- 0
- }, {
- EC_WORD_THANK_YOU,
- EC_WORD_FOR,
- EC_POKEMON(SKITTY),
- EC_POKEMON2(MEOWTH),
- EC_WORD_CRIES,
- EC_WORD_IN,
- EC_WORD_A,
- EC_WORD_CUTE,
- EC_WORD_WAY,
- 0
- }
-};
+static void CB2_SaveAndEndWirelessTrade(void);
-static const struct WindowTemplate gUnknown_08338FFC[] =
-{
- {
- .bg = 0,
- .tilemapLeft = 2,
- .tilemapTop = 15,
- .width = 26,
- .height = 4,
- .paletteNum = 0,
- .baseBlock = 64
- },
- DUMMY_WIN_TEMPLATE
-};
+#include "data/trade.h"
-const struct WindowTemplate gUnknown_0833900C =
-{
- .bg = 0,
- .tilemapLeft = 21,
- .tilemapTop = 9,
- .width = 5,
- .height = 4,
- .paletteNum = 15,
- .baseBlock = 188
-};
-
-static const struct BgTemplate gUnknown_08339014[] =
-{
- {
- .bg = 0,
- .charBaseIndex = 3,
- .mapBaseIndex = 31,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 0,
- .baseTile = 0
- },
- {
- .bg = 1,
- .charBaseIndex = 0,
- .mapBaseIndex = 5,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 2,
- .baseTile = 0
- },
- {
- .bg = 2,
- .charBaseIndex = 1,
- .mapBaseIndex = 18,
- .screenSize = 1,
- .paletteMode = 0,
- .priority = 2,
- .baseTile = 0
- },
- {
- .bg = 3,
- .charBaseIndex = 0,
- .mapBaseIndex = 6,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 3,
- .baseTile = 0
- },
-};
-
-static const s8 gTradeBallVerticalVelocityTable[] =
-{
- 0, 0, 1, 0,
- 1, 0, 1, 1,
- 1, 1, 2, 2,
- 2, 2, 3, 3,
- 3, 3, 4, 4,
- 4, 4, -4, -4,
- -4, -3, -3, -3,
- -3, -2, -2, -2,
- -2, -1, -1, -1,
- -1, 0, -1, 0,
- -1, 0, 0, 0,
- 0, 0, 1, 0,
- 1, 0, 1, 1,
- 1, 1, 2, 2,
- 2, 2, 3, 3,
- 3, 3, 4, 4,
- 4, 4, -4, -3,
- -3, -2, -2, -1,
- -1, -1, 0, -1,
- 0, 0, 0, 0,
- 0, 0, 1, 0,
- 1, 1, 1, 2,
- 2, 3, 3, 4,
- -4, -3, -2, -1,
- -1, -1, 0, 0,
- 0, 0, 1, 0,
- 1, 1, 2, 3
-};
-
-static const u8 gUnknown_08339090[][2] =
-{
- {0, 1},
- {1, 1},
- {2, 1},
- {3, 1},
- {4, 1},
- {5, 2},
- {6, 2},
- {7, 2},
- {8, 2},
- {9, 2},
- {10, 3},
- {11, 3},
- {12, 3},
- {13, 4},
- {14, 5},
- {15, 2},
- {0, 1},
- {1, 1},
- {2, 1},
- {3, 1},
- {4, 1},
- {5, 2},
- {6, 2},
- {7, 2},
- {8, 2},
- {9, 2},
- {10, 3},
- {11, 3},
- {12, 3},
- {13, 4},
- {14, 5},
- {16, 1},
- {16, -1},
- {0, 0}
-};
-
-static bool8 sub_8077170(const void *a0, u32 a1)
+static bool8 SendLinkData(const void *linkData, u32 size)
{
if (gUnknown_02022C2C == 29)
{
- rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, a0, a1);
+ rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, linkData, size);
return TRUE;
}
else
{
- return SendBlock(0, a0, a1);
+ return SendBlock(0, linkData, size);
}
}
@@ -1410,13 +255,9 @@ static bool32 sub_80771BC(void)
if (gUnknown_02022C2C == 29)
{
if (gUnknown_03007880[sub_800E87C(gUnknown_03004140.unk_00)]->unk_0 == 0)
- {
return TRUE;
- }
else
- {
return FALSE;
- }
}
else
{
@@ -1429,40 +270,28 @@ static u32 _GetBlockReceivedStatus(void)
return GetBlockReceivedStatus();
}
-static void sub_8077210(void)
+static void TradeResetReceivedFlags(void)
{
- if (sub_8077260())
- {
+ if (IsWirelessTrade())
rfu_clearSlot(12, gUnknown_03004140.unk_00);
- }
else
- {
ResetBlockReceivedFlags();
- }
}
-static void sub_8077234(u32 a0)
+static void TradeResetReceivedFlag(u32 who)
{
- if (sub_8077260())
- {
+ if (IsWirelessTrade())
rfu_clearSlot(12, gUnknown_03004140.unk_00);
- }
else
- {
- ResetBlockReceivedFlag(a0);
- }
+ ResetBlockReceivedFlag(who);
}
-static bool32 sub_8077260(void)
+static bool32 IsWirelessTrade(void)
{
if (gWirelessCommType && gUnknown_02022C2C == 29)
- {
return TRUE;
- }
else
- {
return FALSE;
- }
}
static void sub_8077288(u8 unused)
@@ -1475,7 +304,7 @@ static bool32 _IsLinkTaskFinished(void)
return IsLinkTaskFinished();
}
-static void sub_80772A4(void)
+static void InitTradeMenu(void)
{
ResetSpriteData();
FreeAllSpritePalettes();
@@ -1484,14 +313,14 @@ static void sub_80772A4(void)
gPaletteFade.bufferTransferDisabled = TRUE;
- SetVBlankCallback(sub_807811C);
+ SetVBlankCallback(VBlankCB_TradeMenu);
LoadPalette(gUnknown_0860F074, 0xF0, 20);
LoadPalette(gUnknown_0860F074, 0xD0, 20);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_0832DEE4, ARRAY_COUNT(gUnknown_0832DEE4));
- SetBgTilemapBuffer(1, gUnknown_0203229C->tilemapBuffer);
+ InitBgsFromTemplates(0, sTradeMenuBgTemplates, ARRAY_COUNT(sTradeMenuBgTemplates));
+ SetBgTilemapBuffer(1, sTradeMenuData->tilemapBuffer);
- if (InitWindows(gUnknown_0832DEF4))
+ if (InitWindows(sTradeMenuWindowTemplates))
{
u32 i;
@@ -1507,25 +336,25 @@ static void sub_80772A4(void)
LoadUserWindowBorderGfx_(0, 20, 0xC0);
LoadUserWindowBorderGfx(2, 1, 0xE0);
LoadMonIconPalettes();
- gUnknown_0203229C->unk_69 = 0;
- gUnknown_0203229C->unk_6F = 0;
- gUnknown_0203229C->unk_70 = 0;
- gUnknown_0203229C->unk_74[0] = 0;
- gUnknown_0203229C->unk_74[1] = 0;
- gUnknown_0203229C->unk_7A = 0;
- gUnknown_0203229C->unk_7B = 0;
- gUnknown_0203229C->unk_A8 = 0;
+ sTradeMenuData->bufferPartyState = 0;
+ sTradeMenuData->tradeMenuFunc = 0;
+ sTradeMenuData->neverRead_70 = 0;
+ sTradeMenuData->drawPartyState[TRADE_PLAYER] = 0;
+ sTradeMenuData->drawPartyState[TRADE_PARTNER] = 0;
+ sTradeMenuData->playerLinkFlagStatus = 0;
+ sTradeMenuData->partnerLinkFlagStatus = 0;
+ sTradeMenuData->timer = 0;
}
}
-void sub_80773AC(void)
+void CB2_StartCreateTradeMenu(void)
{
- SetMainCallback2(sub_80773D0);
+ SetMainCallback2(CB2_CreateTradeMenu);
gMain.callback1 = NULL;
gEnemyPartyCount = 0;
}
-static void sub_80773D0(void)
+static void CB2_CreateTradeMenu(void)
{
int i;
struct SpriteTemplate temp;
@@ -1535,13 +364,13 @@ static void sub_80773D0(void)
switch (gMain.state)
{
case 0:
- gUnknown_0203229C = AllocZeroed(sizeof(*gUnknown_0203229C));
- sub_80772A4();
- gUnknown_02032184 = AllocZeroed(0xE00);
+ sTradeMenuData = AllocZeroed(sizeof(*sTradeMenuData));
+ InitTradeMenu();
+ sMessageBoxAllocBuffer = AllocZeroed(ARRAY_COUNT(sMessageBoxTileBuffers) * 256);
- for (i = 0; i < 14; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(sMessageBoxTileBuffers); i++)
{
- gUnknown_02032188[i] = &gUnknown_02032184[i * 256];
+ sMessageBoxTileBuffers[i] = &sMessageBoxAllocBuffer[i * 256];
}
gMain.state++;
@@ -1551,16 +380,16 @@ static void sub_80773D0(void)
for (i = 0; i < PARTY_SIZE; i++)
{
- CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0);
+ CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 32, FALSE, 0, OT_ID_PLAYER_ID, 0);
}
- sub_807A19C(0);
+ PrintTradeMessage(TRADE_MSG_STANDBY);
ShowBg(0);
if (!gReceivedRemoteLinkPlayers)
{
- gLinkType = 0x1122;
- gUnknown_0203229C->unk_A8 = 0;
+ gLinkType = LINKTYPE_0x1122;
+ sTradeMenuData->timer = 0;
if (gWirelessCommType)
{
@@ -1581,10 +410,10 @@ static void sub_80773D0(void)
}
break;
case 2:
- gUnknown_0203229C->unk_A8++;
- if (gUnknown_0203229C->unk_A8 > 11)
+ sTradeMenuData->timer++;
+ if (sTradeMenuData->timer > 11)
{
- gUnknown_0203229C->unk_A8 = 0;
+ sTradeMenuData->timer = 0;
gMain.state++;
}
break;
@@ -1593,7 +422,7 @@ static void sub_80773D0(void)
{
if (IsLinkMaster())
{
- if (++gUnknown_0203229C->unk_A8 > 30)
+ if (++sTradeMenuData->timer > 30)
{
CheckShouldAdvanceLinkState();
gMain.state++;
@@ -1611,7 +440,7 @@ static void sub_80773D0(void)
sub_8011BD0();
CalculatePlayerPartyCount();
gMain.state++;
- gUnknown_0203229C->unk_A8 = 0;
+ sTradeMenuData->timer = 0;
if (gWirelessCommType)
{
sub_801048C(TRUE);
@@ -1622,7 +451,7 @@ static void sub_80773D0(void)
case 5:
if (gWirelessCommType)
{
- if (sub_8010500())
+ if (IsLinkRfuTaskFinished())
{
gMain.state++;
LoadWirelessStatusIndicatorSpriteGfx();
@@ -1635,9 +464,9 @@ static void sub_80773D0(void)
}
break;
case 6:
- if (shedinja_maker_maybe())
+ if (BufferTradeParties())
{
- sub_807A5B0();
+ SaveTradeGiftRibbons();
gMain.state++;
}
break;
@@ -1645,28 +474,28 @@ static void sub_80773D0(void)
CalculateEnemyPartyCount();
SetGpuReg(REG_OFFSET_DISPCNT, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
- gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount;
- gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount;
+ sTradeMenuData->partyCounts[TRADE_PLAYER] = gPlayerPartyCount;
+ sTradeMenuData->partyCounts[TRADE_PARTNER] = gEnemyPartyCount;
- for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++)
{
struct Pokemon *mon = &gPlayerParty[i];
- gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2),
- sub_80D3014,
- (gTradeMonSpriteCoords[i][0] * 8) + 14,
- (gTradeMonSpriteCoords[i][1] * 8) - 12,
+ sTradeMenuData->partySpriteIds[TRADE_PLAYER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2),
+ SpriteCB_MonIcon,
+ (sTradeMonSpriteCoords[i][0] * 8) + 14,
+ (sTradeMonSpriteCoords[i][1] * 8) - 12,
1,
GetMonData(mon, MON_DATA_PERSONALITY),
TRUE);
}
- for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++)
{
struct Pokemon *mon = &gEnemyParty[i];
- gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
- sub_80D3014,
- (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
- (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
+ sTradeMenuData->partySpriteIds[TRADE_PARTNER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
+ SpriteCB_MonIcon,
+ (sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
+ (sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
1,
GetMonData(mon, MON_DATA_PERSONALITY),
FALSE);
@@ -1675,24 +504,24 @@ static void sub_80773D0(void)
break;
case 8:
LoadHeldItemIcons();
- sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0);
+ DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PLAYER);
gMain.state++;
break;
case 9:
- sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1);
+ DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PARTNER);
gMain.state++;
break;
case 10:
- sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3);
+ DrawTextWindowAndBufferTiles(gSaveBlock2Ptr->playerName, sMessageBoxTileBuffers[0], 0, 0, 3);
id = GetMultiplayerId();
- sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3);
- sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2);
- sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24);
+ DrawTextWindowAndBufferTiles(gLinkPlayers[id ^ 1].name, sMessageBoxTileBuffers[3], 0, 0, 3);
+ DrawTextWindowAndBufferTiles(sTradeActionTexts[TRADE_TEXT_CANCEL], sMessageBoxTileBuffers[6], 0, 0, 2);
+ DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], sMessageBoxTileBuffers[8], 24);
gMain.state++;
- gUnknown_0203229C->unk_A8 = 0;
+ sTradeMenuData->timer = 0;
break;
case 11:
- if (sub_807A1F0())
+ if (LoadTradeMenuSpriteSheetsAndPalettes())
gMain.state++;
break;
case 12:
@@ -1728,31 +557,31 @@ static void sub_80773D0(void)
CreateSprite(&temp, (i * 32) + 24, 150, 1);
}
- gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2);
- gUnknown_0203229C->tradeMenuCursorPosition = 0;
+ sTradeMenuData->cursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, sTradeMonSpriteCoords[0][0] * 8 + 32, sTradeMonSpriteCoords[0][1] * 8, 2);
+ sTradeMenuData->cursorPosition = 0;
gMain.state++;
rbox_fill_rectangle(0);
break;
case 14:
- sub_807A320(0);
- sub_8079BE0(0);
- gUnknown_0203229C->unk_0 = 0;
- gUnknown_0203229C->unk_1 = 0;
- sub_8078388();
+ SetTradePartyLiveStatuses(TRADE_PLAYER);
+ PrintPartyNicknamesForTradeMenu(TRADE_PLAYER);
+ sTradeMenuData->bg2hofs = 0;
+ sTradeMenuData->bg3hofs = 0;
+ SetTradePartyMonsVisible();
gMain.state++;
PlayBGM(MUS_P_SCHOOL);
break;
case 15:
- sub_807A320(1);
- sub_8079BE0(1);
+ SetTradePartyLiveStatuses(TRADE_PARTNER);
+ PrintPartyNicknamesForTradeMenu(TRADE_PARTNER);
gMain.state++;
// fallthrough
case 16:
- sub_80782B8(0);
+ LoadTradeBgGfx(0);
gMain.state++;
break;
case 17:
- sub_80782B8(1);
+ LoadTradeBgGfx(1);
gMain.state++;
break;
case 18:
@@ -1761,23 +590,23 @@ static void sub_80773D0(void)
break;
case 19:
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
- sub_80782B8(2);
+ LoadTradeBgGfx(2);
gMain.state++;
break;
case 20:
- sub_807A468(0);
+ GetTradePartyHPBarLevels(TRADE_PLAYER);
gMain.state++;
break;
case 21:
- sub_807A468(1);
- sub_807A53C();
+ GetTradePartyHPBarLevels(TRADE_PARTNER);
+ SetTradePartyHPBarSprites();
gMain.state++;
break;
case 22:
if (!gPaletteFade.active)
{
- gMain.callback1 = sub_8078C34;
- SetMainCallback2(sub_807825C);
+ gMain.callback1 = CB1_SendOrReactToLinkTradeData;
+ SetMainCallback2(CB2_TradeMenu);
}
break;
}
@@ -1789,7 +618,7 @@ static void sub_80773D0(void)
UpdatePaletteFade();
}
-static void sub_8077B74(void)
+static void CB2_ReturnToTradeMenu(void)
{
int i;
struct SpriteTemplate temp;
@@ -1799,12 +628,12 @@ static void sub_8077B74(void)
switch (gMain.state)
{
case 0:
- sub_80772A4();
+ InitTradeMenu();
gMain.state++;
break;
case 1:
gMain.state++;
- gUnknown_0203229C->unk_A8 = 0;
+ sTradeMenuData->timer = 0;
break;
case 2:
gMain.state++;
@@ -1829,31 +658,31 @@ static void sub_8077B74(void)
break;
case 7:
CalculateEnemyPartyCount();
- gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount;
- gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount;
+ sTradeMenuData->partyCounts[TRADE_PLAYER] = gPlayerPartyCount;
+ sTradeMenuData->partyCounts[TRADE_PARTNER] = gEnemyPartyCount;
ClearWindowTilemap(0);
- sub_8079BE0(0);
- sub_8079BE0(1);
+ PrintPartyNicknamesForTradeMenu(TRADE_PLAYER);
+ PrintPartyNicknamesForTradeMenu(TRADE_PARTNER);
- for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++)
{
struct Pokemon *mon = &gPlayerParty[i];
- gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
- sub_80D3014,
- (gTradeMonSpriteCoords[i][0] * 8) + 14,
- (gTradeMonSpriteCoords[i][1] * 8) - 12,
+ sTradeMenuData->partySpriteIds[TRADE_PLAYER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
+ SpriteCB_MonIcon,
+ (sTradeMonSpriteCoords[i][0] * 8) + 14,
+ (sTradeMonSpriteCoords[i][1] * 8) - 12,
1,
GetMonData(mon, MON_DATA_PERSONALITY),
TRUE);
}
- for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++)
{
struct Pokemon *mon = &gEnemyParty[i];
- gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
- sub_80D3014,
- (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
- (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
+ sTradeMenuData->partySpriteIds[TRADE_PARTNER][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL),
+ SpriteCB_MonIcon,
+ (sTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14,
+ (sTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12,
1,
GetMonData(mon, MON_DATA_PERSONALITY),
FALSE);
@@ -1862,24 +691,24 @@ static void sub_8077B74(void)
break;
case 8:
LoadHeldItemIcons();
- sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0);
+ DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PLAYER);
gMain.state++;
break;
case 9:
- sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1);
+ DrawHeldItemIconsForTrade(&sTradeMenuData->partyCounts[0], sTradeMenuData->partySpriteIds[0], TRADE_PARTNER);
gMain.state++;
break;
case 10:
- sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3);
+ DrawTextWindowAndBufferTiles(gSaveBlock2Ptr->playerName, sMessageBoxTileBuffers[0], 0, 0, 3);
id = GetMultiplayerId();
- sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3);
- sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2);
- sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24);
+ DrawTextWindowAndBufferTiles(gLinkPlayers[id ^ 1].name, sMessageBoxTileBuffers[3], 0, 0, 3);
+ DrawTextWindowAndBufferTiles(sTradeActionTexts[TRADE_TEXT_CANCEL], sMessageBoxTileBuffers[6], 0, 0, 2);
+ DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], sMessageBoxTileBuffers[8], 24);
gMain.state++;
- gUnknown_0203229C->unk_A8 = 0;
+ sTradeMenuData->timer = 0;
break;
case 11:
- if (sub_807A1F0())
+ if (LoadTradeMenuSpriteSheetsAndPalettes())
gMain.state++;
break;
case 12:
@@ -1915,23 +744,23 @@ static void sub_8077B74(void)
CreateSprite(&temp, (i * 32) + 24, 150, 1);
}
- if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE)
- gUnknown_0203229C->tradeMenuCursorPosition = gLastViewedMonIndex;
+ if (sTradeMenuData->cursorPosition < PARTY_SIZE)
+ sTradeMenuData->cursorPosition = gLastViewedMonIndex;
else
- gUnknown_0203229C->tradeMenuCursorPosition = gLastViewedMonIndex + PARTY_SIZE;
+ sTradeMenuData->cursorPosition = gLastViewedMonIndex + PARTY_SIZE;
- gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][1] * 8, 2);
+ sTradeMenuData->cursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, sTradeMonSpriteCoords[sTradeMenuData->cursorPosition][0] * 8 + 32, sTradeMonSpriteCoords[sTradeMenuData->cursorPosition][1] * 8, 2);
gMain.state = 16;
break;
case 16:
- sub_80782B8(0);
+ LoadTradeBgGfx(0);
gMain.state++;
break;
case 17:
- sub_80782B8(1);
- gUnknown_0203229C->unk_0 = 0;
- gUnknown_0203229C->unk_1 = 0;
- sub_8078388();
+ LoadTradeBgGfx(1);
+ sTradeMenuData->bg2hofs = 0;
+ sTradeMenuData->bg3hofs = 0;
+ SetTradePartyMonsVisible();
gMain.state++;
break;
case 18:
@@ -1942,20 +771,20 @@ static void sub_8077B74(void)
break;
case 19:
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
- sub_80782B8(2);
+ LoadTradeBgGfx(2);
gMain.state++;
break;
case 20:
gMain.state++;
break;
case 21:
- sub_807A53C();
+ SetTradePartyHPBarSprites();
gMain.state++;
break;
case 22:
if (!gPaletteFade.active)
{
- SetMainCallback2(sub_807825C);
+ SetMainCallback2(CB2_TradeMenu);
}
break;
}
@@ -1966,81 +795,81 @@ static void sub_8077B74(void)
UpdatePaletteFade();
}
-static void sub_807811C(void)
+static void VBlankCB_TradeMenu(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
-static void sub_8078130(void)
+static void LinkTradeFadeOut(void)
{
- if (++gUnknown_0203229C->unk_A8 > 15)
+ if (++sTradeMenuData->timer > 15)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_0203229C->unk_6F = 10;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_FADE;
}
}
-static void sub_807816C(void)
+static void LinkTradeWaitForFade(void)
{
if (!gPaletteFade.active)
{
- gUnknown_02032298[0] = gUnknown_0203229C->tradeMenuCursorPosition;
- gUnknown_02032298[1] = gUnknown_0203229C->unk_7E;
+ gSelectedTradeMonPositions[TRADE_PLAYER] = sTradeMenuData->cursorPosition;
+ gSelectedTradeMonPositions[TRADE_PARTNER] = sTradeMenuData->partnerCursorPosition;
if (gWirelessCommType)
{
- gUnknown_0203229C->unk_6F = 16;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE;
}
else
{
sub_800ABF4(32);
- gUnknown_0203229C->unk_6F = 13;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_START_LINK_TRADE;
}
}
}
-static void sub_80781C8(void)
+static void SetLinkTradeCallbacks(void)
{
- gMain.savedCallback = sub_80773AC;
+ gMain.savedCallback = CB2_StartCreateTradeMenu;
+ // Wireless Link Trade
if (gWirelessCommType)
{
- if (sub_8010500())
+ if (IsLinkRfuTaskFinished())
{
- Free(gUnknown_02032184);
+ Free(sMessageBoxAllocBuffer);
FreeAllWindowBuffers();
- Free(gUnknown_0203229C);
+ Free(sTradeMenuData);
gMain.callback1 = NULL;
DestroyWirelessStatusIndicatorSprite();
- SetMainCallback2(sub_807AE50);
+ SetMainCallback2(CB2_LinkTrade);
}
}
+ // Cable Link Trade
else
{
if (!gReceivedRemoteLinkPlayers)
{
- Free(gUnknown_02032184);
+ Free(sMessageBoxAllocBuffer);
FreeAllWindowBuffers();
- Free(gUnknown_0203229C);
+ Free(sTradeMenuData);
gMain.callback1 = NULL;
- SetMainCallback2(sub_807AE50);
+ SetMainCallback2(CB2_LinkTrade);
}
}
}
-static void sub_807825C(void)
+static void CB2_TradeMenu(void)
{
- u8 temp;
-
- sub_80795AC();
- sub_807A0C4();
- sub_80796B4(0);
- sub_80796B4(1);
+ CallTradeMenuFunc();
+ DoQueuedActions();
+ DrawTradeMenuParty(TRADE_PLAYER);
+ DrawTradeMenuParty(TRADE_PARTNER);
- SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_0203229C->unk_0++);
- SetGpuReg(REG_OFFSET_BG3HOFS, gUnknown_0203229C->unk_1--);
+ SetGpuReg(REG_OFFSET_BG2HOFS, sTradeMenuData->bg2hofs++);
+ SetGpuReg(REG_OFFSET_BG3HOFS, sTradeMenuData->bg3hofs--);
RunTextPrintersAndIsPrinter0Active();
RunTasks();
@@ -2049,22 +878,22 @@ static void sub_807825C(void)
UpdatePaletteFade();
}
-static void sub_80782B8(u8 a0)
+static void LoadTradeBgGfx(u8 state)
{
int i;
- switch (a0)
+ switch (state)
{
case 0:
- LoadPalette(gUnknown_08DDB3E4, 0, 0x60);
- LoadBgTiles(1, gUnknown_08DDB464, 0x1280, 0);
+ LoadPalette(gTradeMenu_Pal, 0, 0x60);
+ LoadBgTiles(1, gTradeMenu_Gfx, 0x1280, 0);
CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDCF04, 0, 0, 32, 20, 0);
- LoadBgTilemap(2, gTradeStripesBG2Tilemap, 0x800, 0);
+ LoadBgTilemap(2, sTradeStripesBG2Tilemap, 0x800, 0);
break;
case 1:
- LoadBgTilemap(3, gTradeStripesBG3Tilemap, 0x800, 0);
- sub_8079E44(0);
- sub_8079E44(1);
+ LoadBgTilemap(3, sTradeStripesBG3Tilemap, 0x800, 0);
+ DrawTradeMenuPartyInfo(TRADE_PLAYER);
+ DrawTradeMenuPartyInfo(TRADE_PARTNER);
CopyBgTilemapBufferToVram(1);
break;
case 2:
@@ -2080,34 +909,34 @@ static void sub_80782B8(u8 a0)
}
}
-static void sub_8078388(void)
+static void SetTradePartyMonsVisible(void)
{
int i;
for (i = 0; i < PARTY_SIZE; i++)
{
- if (i < gUnknown_0203229C->partyCounts[0])
+ if (i < sTradeMenuData->partyCounts[TRADE_PLAYER])
{
- gSprites[gUnknown_0203229C->partyIcons[0][i]].invisible = FALSE;
- gUnknown_0203229C->tradeMenuOptionsActive[i] = TRUE;
+ gSprites[sTradeMenuData->partySpriteIds[TRADE_PLAYER][i]].invisible = FALSE;
+ sTradeMenuData->monPresent[i] = TRUE;
}
else
{
- gUnknown_0203229C->tradeMenuOptionsActive[i] = FALSE;
+ sTradeMenuData->monPresent[i] = FALSE;
}
- if (i < gUnknown_0203229C->partyCounts[1])
+ if (i < sTradeMenuData->partyCounts[TRADE_PARTNER])
{
- gSprites[gUnknown_0203229C->partyIcons[1][i]].invisible = FALSE;
- gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = TRUE;
+ gSprites[sTradeMenuData->partySpriteIds[TRADE_PARTNER][i]].invisible = FALSE;
+ sTradeMenuData->monPresent[i + PARTY_SIZE] = TRUE;
}
else
{
- gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = FALSE;
+ sTradeMenuData->monPresent[i + PARTY_SIZE] = FALSE;
}
}
- gUnknown_0203229C->unk_44 = 1;
+ sTradeMenuData->neverRead_44 = TRUE;
}
// why not just use memcpy?
@@ -2123,30 +952,30 @@ static void Trade_Memcpy(void *dataDest, const void *dataSrc, u32 count)
}
}
-static bool8 shedinja_maker_maybe(void)
+static bool8 BufferTradeParties(void)
{
u8 id = GetMultiplayerId();
int i;
struct Pokemon *mon;
- switch (gUnknown_0203229C->unk_69)
+ switch (sTradeMenuData->bufferPartyState)
{
case 0:
Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon));
- gUnknown_0203229C->unk_69++;
- gUnknown_0203229C->unk_A8 = 0;
+ sTradeMenuData->bufferPartyState++;
+ sTradeMenuData->timer = 0;
break;
case 1:
if (sub_80771BC())
{
if (_GetBlockReceivedStatus() == 0)
{
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
}
else
{
- sub_8077210();
- gUnknown_0203229C->unk_69++;
+ TradeResetReceivedFlags();
+ sTradeMenuData->bufferPartyState++;
}
}
break;
@@ -2155,90 +984,90 @@ static bool8 shedinja_maker_maybe(void)
{
sub_80771AC(1);
}
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 4:
if (_GetBlockReceivedStatus() == 3)
{
Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[id ^ 1], 2 * sizeof(struct Pokemon));
- sub_8077210();
- gUnknown_0203229C->unk_69++;
+ TradeResetReceivedFlags();
+ sTradeMenuData->bufferPartyState++;
}
break;
case 5:
Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon));
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 7:
if (id == 0)
{
sub_80771AC(1);
}
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 8:
if (_GetBlockReceivedStatus() == 3)
{
Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[id ^ 1], 200);
- sub_8077210();
- gUnknown_0203229C->unk_69++;
+ TradeResetReceivedFlags();
+ sTradeMenuData->bufferPartyState++;
}
break;
case 9:
Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 200);
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 11:
if (id == 0)
{
sub_80771AC(1);
}
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 12:
if (_GetBlockReceivedStatus() == 3)
{
Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[id ^ 1], 200);
- sub_8077210();
- gUnknown_0203229C->unk_69++;
+ TradeResetReceivedFlags();
+ sTradeMenuData->bufferPartyState++;
}
break;
case 13:
Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, 220);
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 15:
if (id == 0)
{
sub_80771AC(3);
}
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 16:
if (_GetBlockReceivedStatus() == 3)
{
- Trade_Memcpy(gUnknown_020321C0, gBlockRecvBuffer[id ^ 1], 216);
- sub_8077210();
- gUnknown_0203229C->unk_69++;
+ Trade_Memcpy(gTradeMail, gBlockRecvBuffer[id ^ 1], 216);
+ TradeResetReceivedFlags();
+ sTradeMenuData->bufferPartyState++;
}
break;
case 17:
- Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11);
- gUnknown_0203229C->unk_69++;
+ Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, ARRAY_COUNT(sTradeMenuData->giftRibbons));
+ sTradeMenuData->bufferPartyState++;
break;
case 19:
if (id == 0)
{
sub_80771AC(4);
}
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->bufferPartyState++;
break;
case 20:
if (_GetBlockReceivedStatus() == 3)
{
- Trade_Memcpy(gUnknown_0203229C->unk_A9, gBlockRecvBuffer[id ^ 1], 11);
- sub_8077210();
- gUnknown_0203229C->unk_69++;
+ Trade_Memcpy(sTradeMenuData->giftRibbons, gBlockRecvBuffer[id ^ 1], ARRAY_COUNT(sTradeMenuData->giftRibbons));
+ TradeResetReceivedFlags();
+ sTradeMenuData->bufferPartyState++;
}
break;
case 21:
@@ -2253,7 +1082,7 @@ static bool8 shedinja_maker_maybe(void)
{
GetMonData(mon, MON_DATA_NICKNAME, name);
- if (!StringCompareWithoutExtCtrlCodes(name, gJPText_Shedinja))
+ if (!StringCompareWithoutExtCtrlCodes(name, sJPText_Shedinja))
{
SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]);
}
@@ -2261,189 +1090,198 @@ static bool8 shedinja_maker_maybe(void)
}
}
return TRUE;
+ // Delay until next state
case 2:
case 6:
case 10:
case 14:
case 18:
- gUnknown_0203229C->unk_A8++;
- if (gUnknown_0203229C->unk_A8 > 10)
+ sTradeMenuData->timer++;
+ if (sTradeMenuData->timer > 10)
{
- gUnknown_0203229C->unk_A8 = 0;
- gUnknown_0203229C->unk_69++;
+ sTradeMenuData->timer = 0;
+ sTradeMenuData->bufferPartyState++;
}
break;
}
return FALSE;
}
-static void sub_80787B8(void)
+static void PrintAndBufferIsThisTradeOkay(void)
{
- sub_807A308(gText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24);
+ DrawTextWindowAndBuffer6Bytes(sText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (sTradeMenuData->bottomTextTileStart * 32)), 24);
}
-static void sub_80787E0(u8 a0, u8 a1)
+// mpId is unused
+static void UpdateLinkTradeFlags(u8 mpId, u8 status)
{
- if (a1 & 1)
+ if (status & 1)
{
switch (gBlockRecvBuffer[0][0])
{
- case 0xEEAA:
- gUnknown_0203229C->unk_78 = 2;
+ case LINKCMD_REQUEST_CANCEL:
+ sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_CANCEL;
break;
- case 0xAABB:
- gUnknown_0203229C->unk_78 = 1;
+ case LINKCMD_READY_TO_TRADE:
+ sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_TRADE;
break;
- case 0xBBBB:
- gUnknown_0203229C->unk_7A = 1;
+ case LINKCMD_INIT_BLOCK:
+ sTradeMenuData->playerLinkFlagStatus = INITIATE_TRADE;
break;
- case 0xBBCC:
- gUnknown_0203229C->unk_7A = 2;
+ case LINKCMD_READY_CANCEL_TRADE:
+ sTradeMenuData->playerLinkFlagStatus = CANCEL_TRADE;
break;
}
- sub_8077234(0);
+ TradeResetReceivedFlag(0);
}
- if (a1 & 2)
+ if (status & 2)
{
switch (gBlockRecvBuffer[1][0])
{
- case 0xEEAA:
- gUnknown_0203229C->unk_79 = 2;
+ case LINKCMD_REQUEST_CANCEL:
+ sTradeMenuData->partnerLinkFlagChoseAction = WANTS_TO_CANCEL;
break;
- case 0xAABB:
- gUnknown_0203229C->unk_7E = gBlockRecvBuffer[1][1] + 6;
- gUnknown_0203229C->unk_79 = 1;
+ case LINKCMD_READY_TO_TRADE:
+ sTradeMenuData->partnerCursorPosition = gBlockRecvBuffer[1][1] + 6;
+ sTradeMenuData->partnerLinkFlagChoseAction = WANTS_TO_TRADE;
break;
- case 0xBBBB:
- gUnknown_0203229C->unk_7B = 1;
+ case LINKCMD_INIT_BLOCK:
+ sTradeMenuData->partnerLinkFlagStatus = INITIATE_TRADE;
break;
- case 0xBBCC:
- gUnknown_0203229C->unk_7B = 2;
+ case LINKCMD_READY_CANCEL_TRADE:
+ sTradeMenuData->partnerLinkFlagStatus = CANCEL_TRADE;
break;
}
- sub_8077234(1);
+ TradeResetReceivedFlag(1);
}
}
-static void sub_8078900(u8 a0, u8 a1)
+// mpId is unused
+static void ReactToLinkTradeData(u8 mpId, u8 status)
{
- if (a1 & 1)
+ if (status & 1)
{
switch (gBlockRecvBuffer[0][0])
{
- case 0xEEBB:
+ case LINKCMD_CANCEL_TRADE:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- sub_807A19C(4);
- gUnknown_0203229C->unk_6F = 11;
+ PrintTradeMessage(TRADE_MSG_WAITING_FOR_FRIEND);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_1;
break;
- case 0xEECC:
- sub_807A19C(5);
- gUnknown_0203229C->unk_6F = 8;
+ case LINKCMD_0xEECC:
+ PrintTradeMessage(TRADE_MSG_FRIEND_WANTS_TO_TRADE);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
break;
- case 0xDDDD:
- gUnknown_0203229C->unk_7E = gBlockRecvBuffer[0][1] + 6;
+ case LINKCMD_SET_MONS_TO_TRADE:
+ sTradeMenuData->partnerCursorPosition = gBlockRecvBuffer[0][1] + 6;
rbox_fill_rectangle(0);
- sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition);
- sub_807967C(gUnknown_0203229C->unk_7E);
- gUnknown_0203229C->unk_6F = 7;
+ SetSelectedMon(sTradeMenuData->cursorPosition);
+ SetSelectedMon(sTradeMenuData->partnerCursorPosition);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_TRADE_PROMPT;
break;
- case 0xCCDD:
+ case LINKCMD_START_TRADE:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_0203229C->unk_6F = 10;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_WAIT_FADE;
break;
- case 0xDDEE:
- sub_807A19C(1);
- gUnknown_0203229C->unk_6F = 8;
+ case LINKCMD_0xDDEE:
+ PrintTradeMessage(TRADE_MSG_CANCELED);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
}
- sub_8077234(0);
+ TradeResetReceivedFlag(0);
}
- if (a1 & 2)
- sub_8077234(1);
+ if (status & 2)
+ TradeResetReceivedFlag(1);
}
-static void sub_80789FC(void)
+static void QueueLinkTradeData(void)
{
- if (gUnknown_0203229C->unk_78 && gUnknown_0203229C->unk_79)
+ if (sTradeMenuData->playerLinkFlagChoseAction && sTradeMenuData->partnerLinkFlagChoseAction)
{
- if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 1)
+ if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_TRADE
+ && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_TRADE)
{
- gUnknown_0203229C->unk_6F = 6;
- gUnknown_0203229C->linkData[0] = 0xDDDD;
- gUnknown_0203229C->linkData[1] = gUnknown_0203229C->tradeMenuCursorPosition;
- sub_807A048(5, 0);
- gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_BOTH_MONS_SELECTED;
+ sTradeMenuData->linkData[0] = LINKCMD_SET_MONS_TO_TRADE;
+ sTradeMenuData->linkData[1] = sTradeMenuData->cursorPosition;
+ QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA);
+ sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0;
}
- else if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 2)
+ else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_TRADE
+ && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_CANCEL)
{
- sub_807A19C(1);
- gUnknown_0203229C->linkData[0] = 0xEECC;
- gUnknown_0203229C->linkData[1] = 0;
- sub_807A048(5, 0);
- gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0;
- gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0;
- gUnknown_0203229C->unk_6F = 8;
+ PrintTradeMessage(TRADE_MSG_CANCELED);
+ sTradeMenuData->linkData[0] = LINKCMD_0xEECC;
+ sTradeMenuData->linkData[1] = 0;
+ QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA);
+ sTradeMenuData->playerLinkFlagStatus = sTradeMenuData->partnerLinkFlagStatus = 0;
+ sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
}
- else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 1)
+ else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_CANCEL
+ && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_TRADE)
{
- sub_807A19C(5);
- gUnknown_0203229C->linkData[0] = 0xDDEE;
- gUnknown_0203229C->linkData[1] = 0;
- sub_807A048(5, 0);
- gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0;
- gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0;
- gUnknown_0203229C->unk_6F = 8;
+ PrintTradeMessage(TRADE_MSG_FRIEND_WANTS_TO_TRADE);
+ sTradeMenuData->linkData[0] = LINKCMD_0xDDEE;
+ sTradeMenuData->linkData[1] = 0;
+ QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA);
+ sTradeMenuData->playerLinkFlagStatus = sTradeMenuData->partnerLinkFlagStatus = 0;
+ sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
}
- else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 2)
+ else if (sTradeMenuData->playerLinkFlagChoseAction == WANTS_TO_CANCEL
+ && sTradeMenuData->partnerLinkFlagChoseAction == WANTS_TO_CANCEL)
{
- gUnknown_0203229C->linkData[0] = 0xEEBB;
- gUnknown_0203229C->linkData[1] = 0;
- sub_807A048(5, 0);
+ sTradeMenuData->linkData[0] = LINKCMD_CANCEL_TRADE;
+ sTradeMenuData->linkData[1] = 0;
+ QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0;
- gUnknown_0203229C->unk_6F = 11;
+ sTradeMenuData->playerLinkFlagChoseAction = sTradeMenuData->partnerLinkFlagChoseAction = 0;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_1;
}
}
- if (gUnknown_0203229C->unk_7A && gUnknown_0203229C->unk_7B)
+ if (sTradeMenuData->playerLinkFlagStatus && sTradeMenuData->partnerLinkFlagStatus)
{
- if (gUnknown_0203229C->unk_7A == 1 && gUnknown_0203229C->unk_7B == 1)
+ if (sTradeMenuData->playerLinkFlagStatus == INITIATE_TRADE
+ && sTradeMenuData->partnerLinkFlagStatus == INITIATE_TRADE)
{
- gUnknown_0203229C->linkData[0] = 0xCCDD;
- gUnknown_0203229C->linkData[1] = 0;
- sub_807A048(5, 0);
- gUnknown_0203229C->unk_7A = 0;
- gUnknown_0203229C->unk_7B = 0;
- gUnknown_0203229C->unk_6F = 9;
+ sTradeMenuData->linkData[0] = LINKCMD_START_TRADE;
+ sTradeMenuData->linkData[1] = 0;
+ QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA);
+ sTradeMenuData->playerLinkFlagStatus = 0;
+ sTradeMenuData->partnerLinkFlagStatus = 0;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_LINK_TRADE_FADE_OUT;
}
- if (gUnknown_0203229C->unk_7A == 2 || gUnknown_0203229C->unk_7B == 2)
+ if (sTradeMenuData->playerLinkFlagStatus == CANCEL_TRADE
+ || sTradeMenuData->partnerLinkFlagStatus == CANCEL_TRADE)
{
- sub_807A19C(1);
- gUnknown_0203229C->linkData[0] = 0xDDEE;
- gUnknown_0203229C->linkData[1] = 0;
- sub_807A048(5, 0);
- gUnknown_0203229C->unk_7A = 0;
- gUnknown_0203229C->unk_7B = 0;
- gUnknown_0203229C->unk_6F = 8;
+ PrintTradeMessage(TRADE_MSG_CANCELED);
+ sTradeMenuData->linkData[0] = LINKCMD_0xDDEE;
+ sTradeMenuData->linkData[1] = 0;
+ QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA);
+ sTradeMenuData->playerLinkFlagStatus = 0;
+ sTradeMenuData->partnerLinkFlagStatus = 0;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
}
}
}
-static void sub_8078BFC(u16 *a0, u16 a1, u16 a2)
+static void _SetLinkData(u16 *linkData, u16 linkCmd, u16 cursorPosition)
{
- a0[0] = a1;
- a0[1] = a2;
- sub_807A048(5, 0);
+ linkData[0] = linkCmd;
+ linkData[1] = cursorPosition;
+ QueueAction(QUEUE_DELAY_DATA, QUEUE_SEND_DATA);
}
-static void sub_8078C10(u16 a0, u16 a1)
+static void SetLinkData(u16 linkCmd, u16 cursorPosition)
{
- sub_8078BFC(gUnknown_0203229C->linkData, a0, a1);
+ _SetLinkData(sTradeMenuData->linkData, linkCmd, cursorPosition);
}
-static void sub_8078C34(void)
+static void CB1_SendOrReactToLinkTradeData(void)
{
u8 mpId = GetMultiplayerId();
u8 status;
@@ -2451,25 +1289,25 @@ static void sub_8078C34(void)
if ((status = _GetBlockReceivedStatus()))
{
if (mpId == 0)
- sub_80787E0(mpId, status);
+ UpdateLinkTradeFlags(mpId, status);
else
- sub_8078900(mpId, status);
+ ReactToLinkTradeData(mpId, status);
}
if (mpId == 0)
- sub_80789FC();
+ QueueLinkTradeData();
}
-static u8 sub_8078C6C(u8 oldPosition, u8 direction)
+static u8 GetNewTradeMenuPosition(u8 oldPosition, u8 direction)
{
int i;
u8 newPosition = 0;
for (i = 0; i < PARTY_SIZE; i++)
{
- if (gUnknown_0203229C->tradeMenuOptionsActive[gTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE)
+ if (sTradeMenuData->monPresent[sTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE)
{
- newPosition = gTradeNextSelectedMonTable[oldPosition][direction][i];
+ newPosition = sTradeNextSelectedMonTable[oldPosition][direction][i];
break;
}
}
@@ -2477,258 +1315,247 @@ static u8 sub_8078C6C(u8 oldPosition, u8 direction)
return newPosition;
}
-static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction)
+static void TradeMenuMoveCursor(u8 *cursorPosition, u8 direction)
{
- u8 newPosition = sub_8078C6C(*tradeMenuCursorPosition, direction);
+ u8 newPosition = GetNewTradeMenuPosition(*cursorPosition, direction);
- if (newPosition == 12) // CANCEL
+ if (newPosition == (PARTY_SIZE * 2)) // CANCEL
{
- StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 1);
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = 224;
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = 160;
+ StartSpriteAnim(&gSprites[sTradeMenuData->cursorSpriteIdx], 1);
+ gSprites[sTradeMenuData->cursorSpriteIdx].pos1.x = 224;
+ gSprites[sTradeMenuData->cursorSpriteIdx].pos1.y = 160;
}
else
{
- StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 0);
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32;
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8;
+ StartSpriteAnim(&gSprites[sTradeMenuData->cursorSpriteIdx], 0);
+ gSprites[sTradeMenuData->cursorSpriteIdx].pos1.x = sTradeMonSpriteCoords[newPosition][0] * 8 + 32;
+ gSprites[sTradeMenuData->cursorSpriteIdx].pos1.y = sTradeMonSpriteCoords[newPosition][1] * 8;
}
- if (*tradeMenuCursorPosition != newPosition)
+ if (*cursorPosition != newPosition)
{
PlaySE(SE_SELECT);
}
- *tradeMenuCursorPosition = newPosition;
+ *cursorPosition = newPosition;
}
-static void sub_8078D78(void)
+static void SetReadyToTrade(void)
{
- sub_807A19C(0);
- gUnknown_0203229C->unk_6F = 100;
+ PrintTradeMessage(TRADE_MSG_STANDBY);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY;
if (GetMultiplayerId() == 1)
- {
- sub_8078C10(0xAABB, gUnknown_0203229C->tradeMenuCursorPosition);
- }
+ SetLinkData(LINKCMD_READY_TO_TRADE, sTradeMenuData->cursorPosition);
else
- {
- gUnknown_0203229C->unk_78 = 1;
- }
+ sTradeMenuData->playerLinkFlagChoseAction = WANTS_TO_TRADE;
}
-static void sub_8078DBC(void)
+static void TradeMenuProcessInput(void)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
- TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 0);
+ TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 0);
}
else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
{
- TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 1);
+ TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 1);
}
else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
{
- TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 2);
+ TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 2);
}
else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
{
- TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 3);
+ TradeMenuMoveCursor(&sTradeMenuData->cursorPosition, 3);
}
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- if (gUnknown_0203229C->tradeMenuCursorPosition < 6)
+ // Cursor is in player's party
+ if (sTradeMenuData->cursorPosition < PARTY_SIZE)
{
DrawTextBorderOuter(1, 1, 14);
FillWindowPixelBuffer(1, PIXEL_FILL(1));
- PrintMenuTable(1, 2, gUnknown_0832DEAC);
+ PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions);
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0);
PutWindowTilemap(1);
CopyWindowToVram(1, 3);
- gUnknown_0203229C->unk_6F = 1;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SELECTED_MON;
}
- else if (gUnknown_0203229C->tradeMenuCursorPosition < 12)
+ // Cursor is in partner's party
+ else if (sTradeMenuData->cursorPosition < PARTY_SIZE * 2)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_0203229C->unk_6F = 2;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SHOW_MON_SUMMARY;
}
- else if (gUnknown_0203229C->tradeMenuCursorPosition == 12)
+ // Cursor is on Cancel
+ else if (sTradeMenuData->cursorPosition == PARTY_SIZE * 2)
{
- CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0);
- gUnknown_0203229C->unk_6F = 4;
- sub_807A308(gUnknown_0832DE94[4], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24);
+ CreateYesNoMenu(&sTradeYesNoWindowTemplate, 1, 14, 0);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_PROMPT;
+ DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CANCEL_TRADE], (void *)(OBJ_VRAM0 + sTradeMenuData->bottomTextTileStart * 32), 24);
}
}
}
-static void sub_8078EF8(void)
+static void TradeMenuChooseMon(void)
{
- sub_8079F74();
- gUnknown_0203229C->unk_6F = 0;
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE;
- sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24);
+ PrintNicknamesForTradeMenu();
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_MAIN_MENU;
+ gSprites[sTradeMenuData->cursorSpriteIdx].invisible = FALSE;
+ DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], (void *)(OBJ_VRAM0 + sTradeMenuData->bottomTextTileStart * 32), 24);
}
-static void sub_8078F50(void)
+static void TradeMenuProcessInput_SelectedMon(void)
{
switch (Menu_ProcessInputNoWrap())
{
- case MENU_B_PRESSED:
- PlaySE(SE_SELECT);
- sub_8078EF8();
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ TradeMenuChooseMon();
+ break;
+ case MENU_NOTHING_CHOSEN:
+ break;
+ case 0: // Summary
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SHOW_MON_SUMMARY;
+ break;
+ case 1: // Trade
+ switch (CanTradeSelectedMon(gPlayerParty, gPlayerPartyCount, sTradeMenuData->cursorPosition))
+ {
+ case CAN_TRADE_MON:
+ SetReadyToTrade();
+ gSprites[sTradeMenuData->cursorSpriteIdx].invisible = TRUE;
break;
- case MENU_NOTHING_CHOSEN:
+ case CANT_TRADE_LAST_MON:
+ QueueAction(QUEUE_DELAY_MSG, QUEUE_ONLY_MON2);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
break;
- case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_0203229C->unk_6F = 2;
+ case CANT_TRADE_NATIONAL:
+ case CANT_TRADE_INVALID_MON:
+ QueueAction(QUEUE_DELAY_MSG, QUEUE_MON_CANT_BE_TRADED);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
break;
- case 1:
- switch (sub_807A5F4(gPlayerParty, gPlayerPartyCount, gUnknown_0203229C->tradeMenuCursorPosition))
- {
- case 0:
- sub_8078D78();
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE;
- break;
- case 1:
- sub_807A048(3, 3);
- gUnknown_0203229C->unk_6F = 8;
- break;
- case 2:
- case 4:
- sub_807A048(3, 6);
- gUnknown_0203229C->unk_6F = 8;
- break;
- case 3:
- case 5:
- sub_807A048(3, 7);
- gUnknown_0203229C->unk_6F = 8;
- break;
- }
+ case CANT_TRADE_EGG_YET:
+ case CANT_TRADE_EGG_YET2:
+ QueueAction(QUEUE_DELAY_MSG, QUEUE_EGG_CANT_BE_TRADED);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_REDRAW_MAIN_MENU;
break;
+ }
+ break;
}
}
-static void sub_8079034(void)
+static void ChooseMonAfterButtonPress(void)
{
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
{
PlaySE(SE_SELECT);
- sub_8078EF8();
+ TradeMenuChooseMon();
}
}
-static void sub_807905C(void)
+static void TradeMenuShowMonSummaryScreen(void)
{
if (!gPaletteFade.active)
{
- if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE)
- {
- ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->partyCounts[0] - 1, sub_8077B74);
- }
+ // Player's party
+ if (sTradeMenuData->cursorPosition < PARTY_SIZE)
+ ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, sTradeMenuData->cursorPosition, sTradeMenuData->partyCounts[TRADE_PLAYER] - 1, CB2_ReturnToTradeMenu);
+ // Partner's party
else
- {
- ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->tradeMenuCursorPosition - PARTY_SIZE, gUnknown_0203229C->partyCounts[1] - 1, sub_8077B74);
- }
+ ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, sTradeMenuData->cursorPosition - PARTY_SIZE, sTradeMenuData->partyCounts[TRADE_PARTNER] - 1, CB2_ReturnToTradeMenu);
FreeAllWindowBuffers();
}
}
-static u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3)
+static u8 CheckValidityOfTradeMons(u8 *aliveMons, u8 playerPartyCount, u8 playerMonIdx, u8 partnerMonIdx)
{
int i;
- u16 species;
- u8 res = 0;
+ u16 partnerSpecies;
+ u8 hasLiveMon = 0;
- for (i = 0; i < a1; i++)
+ // Make sure mon to be traded isn't player's last alive mon
+ for (i = 0; i < playerPartyCount; i++)
{
- if (a2 != i)
- {
- res += a0[i];
- }
+ if (playerMonIdx != i)
+ hasLiveMon += aliveMons[i];
}
+ partnerMonIdx %= PARTY_SIZE;
+ partnerSpecies = GetMonData(&gEnemyParty[partnerMonIdx], MON_DATA_SPECIES);
- a3 %= PARTY_SIZE;
- species = GetMonData(&gEnemyParty[a3], MON_DATA_SPECIES);
-
- if (species == SPECIES_DEOXYS || species == SPECIES_MEW)
+ // Partner cant trade illegitimate Deoxys or Mew
+ if (partnerSpecies == SPECIES_DEOXYS || partnerSpecies == SPECIES_MEW)
{
- if (!GetMonData(&gEnemyParty[a3], MON_DATA_OBEDIENCE))
- {
- return 2;
- }
+ if (!GetMonData(&gEnemyParty[partnerMonIdx], MON_DATA_OBEDIENCE))
+ return PARTNER_MON_INVALID;
}
+ // Partner cant trade Egg or non-Hoenn mon if player doesn't have National Dex
if (!IsNationalPokedexEnabled())
{
- if (gUnknown_0203229C->unk_51[1][a3] || !IsSpeciesInHoennDex(species))
- {
- return 2;
- }
+ if (sTradeMenuData->isEgg[TRADE_PARTNER][partnerMonIdx] || !IsSpeciesInHoennDex(partnerSpecies))
+ return PARTNER_MON_INVALID;
}
- if (res)
- {
- res = 1;
- }
+ if (hasLiveMon)
+ hasLiveMon = BOTH_MONS_VALID;
- return res;
+ return hasLiveMon; //PLAYER_MON_INVALID or BOTH_MONS_VALID
}
-static bool32 sub_8079174(void)
+// Returns TRUE if the partner's selected mon is invalid, FALSE otherwise
+static bool32 CheckMonsBeforeTrade(void)
{
int i;
- u8 arr[12];
+ u8 aliveMons[PARTY_SIZE * 2];
- for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++)
{
- arr[i] = gUnknown_0203229C->unk_45[0][i];
+ aliveMons[i] = sTradeMenuData->isLiveMon[TRADE_PLAYER][i];
}
- switch (sub_80790D4(arr, gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->unk_7E))
+ switch (CheckValidityOfTradeMons(aliveMons, sTradeMenuData->partyCounts[TRADE_PLAYER], sTradeMenuData->cursorPosition, sTradeMenuData->partnerCursorPosition))
{
- case 0:
- sub_807A048(3, 3);
- sub_8078C10(0xBBCC, 0);
- break;
- case 1:
- sub_807A048(3, 1);
- sub_8078C10(0xBBBB, 0);
- break;
- case 2:
- sub_807A048(3, 8);
- return TRUE;
+ case PLAYER_MON_INVALID:
+ QueueAction(QUEUE_DELAY_MSG, QUEUE_ONLY_MON2);
+ SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0);
+ break;
+ case BOTH_MONS_VALID:
+ QueueAction(QUEUE_DELAY_MSG, QUEUE_STANDBY);
+ SetLinkData(LINKCMD_INIT_BLOCK, 0);
+ break;
+ case PARTNER_MON_INVALID:
+ QueueAction(QUEUE_DELAY_MSG, QUEUE_FRIENDS_MON_CANT_BE_TRADED);
+ return TRUE;
}
return FALSE;
}
-static void sub_8079218(void)
+static void ConfirmOrCancelTrade(void)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
- if (!sub_8079174())
- {
- gUnknown_0203229C->unk_6F = 100;
- }
- else
- {
- gUnknown_0203229C->unk_6F = 17;
- }
- PutWindowTilemap(17);
- break;
- case 1:
- case MENU_B_PRESSED:
- sub_807A048(3, 1);
- if (sub_80771BC())
- sub_8078C10(0xBBCC, 0);
- gUnknown_0203229C->unk_6F = 100;
- PutWindowTilemap(17);
- break;
+ case 0: // Confirm Trade
+ if (!CheckMonsBeforeTrade())
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY;
+ else
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_PARTNER_MON_INVALID;
+
+ PutWindowTilemap(17);
+ break;
+ case 1: // Cancel Trade
+ case MENU_B_PRESSED:
+ QueueAction(QUEUE_DELAY_MSG, QUEUE_STANDBY);
+ if (sub_80771BC())
+ SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY;
+ PutWindowTilemap(17);
+ break;
}
}
@@ -2736,65 +1563,66 @@ static void sub_807929C(void)
{
int i;
- for (i = 0; i < gUnknown_0203229C->partyCounts[1] - 4; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[1] - 4; i++)
{
PutWindowTilemap(i + 12);
CopyWindowToVram(i + 12, 1);
}
}
-static void sub_80792E4(void)
+static void CancelTradeYesNo(void)
{
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
- sub_807A19C(4);
- sub_8078C10(0xEEAA, 0);
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE;
- gUnknown_0203229C->unk_6F = 100;
- sub_807929C();
- break;
- case 1:
- case MENU_B_PRESSED:
- PlaySE(SE_SELECT);
- sub_8078EF8();
- break;
+ case 0: // YES, Cancel
+ PrintTradeMessage(TRADE_MSG_WAITING_FOR_FRIEND);
+ SetLinkData(LINKCMD_REQUEST_CANCEL, 0);
+ gSprites[sTradeMenuData->cursorSpriteIdx].invisible = TRUE;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY;
+ sub_807929C();
+ break;
+ case 1: // NO, Continue
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ TradeMenuChooseMon();
+ break;
}
}
-static void sub_807935C(void)
+static void SetBothSelectedMons(void)
{
if (GetMultiplayerId() == 0)
{
rbox_fill_rectangle(0);
- sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition);
- sub_807967C(gUnknown_0203229C->unk_7E);
+ SetSelectedMon(sTradeMenuData->cursorPosition);
+ SetSelectedMon(sTradeMenuData->partnerCursorPosition);
}
- gUnknown_0203229C->unk_6F = 7;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_TRADE_PROMPT;
}
-static void sub_8079398(void)
+static void ConfirmTradePrompt(void)
{
- if (gUnknown_0203229C->unk_74[0] == 5 && gUnknown_0203229C->unk_74[1] == 5)
+ if (sTradeMenuData->drawPartyState[TRADE_PLAYER] == DRAW_PARTY_FINISH
+ && sTradeMenuData->drawPartyState[TRADE_PARTNER] == DRAW_PARTY_FINISH)
{
- sub_80787B8();
- gUnknown_0203229C->unk_6F = 14;
+ PrintAndBufferIsThisTradeOkay();
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_DELAY_TRADE_CONFIRM;
}
}
-static void Wait2SecondsAndCreateYesNoMenu(void)
+static void DelayTradeConfirmation(void)
{
- gUnknown_0203229C->unk_A8++;
+ sTradeMenuData->timer++;
- if (gUnknown_0203229C->unk_A8 > 120)
+ if (sTradeMenuData->timer > 120)
{
- CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0);
- gUnknown_0203229C->unk_A8 = 0;
- gUnknown_0203229C->unk_6F = 3;
+ CreateYesNoMenu(&sTradeYesNoWindowTemplate, 1, 14, 0);
+ sTradeMenuData->timer = 0;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE;
}
}
-static void sub_8079408(void)
+static void RedrawTradeMenuAfterPressA(void)
{
int i;
@@ -2810,14 +1638,14 @@ static void sub_8079408(void)
rbox_fill_rectangle(i + 14);
}
- sub_8079F88(0);
- sub_8079F88(1);
- gUnknown_0203229C->unk_6F = 0;
- gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE;
+ RedrawTradeMenuParty(TRADE_PLAYER);
+ RedrawTradeMenuParty(TRADE_PARTNER);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_MAIN_MENU;
+ gSprites[sTradeMenuData->cursorSpriteIdx].invisible = FALSE;
}
}
-static void sub_8079490(void)
+static void CancelTrade_1(void)
{
if (!gPaletteFade.active)
{
@@ -2830,18 +1658,18 @@ static void sub_8079490(void)
sub_800ABF4(12);
}
- gUnknown_0203229C->unk_6F = 12;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_CANCEL_TRADE_2;
}
}
-static void sub_80794CC(void)
+static void CancelTrade_2(void)
{
if (gWirelessCommType)
{
- if (sub_80771BC() && sub_807A09C() == 0)
+ if (sub_80771BC() && GetNumQueuedActions() == 0)
{
- Free(gUnknown_02032184);
- Free(gUnknown_0203229C);
+ Free(sMessageBoxAllocBuffer);
+ Free(sTradeMenuData);
FreeAllWindowBuffers();
DestroyWirelessStatusIndicatorSprite();
SetMainCallback2(CB2_ReturnToFieldFromMultiplayer);
@@ -2851,177 +1679,183 @@ static void sub_80794CC(void)
{
if (!gReceivedRemoteLinkPlayers)
{
- Free(gUnknown_02032184);
- Free(gUnknown_0203229C);
+ Free(sMessageBoxAllocBuffer);
+ Free(sTradeMenuData);
FreeAllWindowBuffers();
SetMainCallback2(CB2_ReturnToFieldFromMultiplayer);
}
}
}
-static void sub_8079550(void)
+static void LinkTradeWaitForQueue(void)
{
- if (!sub_801048C(FALSE) && sub_807A09C() == 0)
+ if (!sub_801048C(FALSE) && GetNumQueuedActions() == 0)
{
sub_800ADF8();
- gUnknown_0203229C->unk_6F = 13;
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_START_LINK_TRADE;
}
}
-static void sub_807957C(void)
+static void PartnersMonWasInvalid(void)
{
if (gMain.newKeys & A_BUTTON)
{
- sub_8078C10(0xBBCC, 0);
- gUnknown_0203229C->unk_6F = 100;
+ SetLinkData(LINKCMD_READY_CANCEL_TRADE, 0);
+ sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_STANDBY;
}
}
-static void sub_80795AC(void)
+static void CallTradeMenuFunc(void)
{
- switch (gUnknown_0203229C->unk_6F)
+ switch (sTradeMenuData->tradeMenuFunc)
{
- case 0:
- sub_8078DBC();
- break;
- case 1:
- sub_8078F50();
- break;
- case 2:
- sub_807905C();
- break;
- case 3:
- sub_8079218();
- break;
- case 4:
- sub_80792E4();
- break;
- case 6:
- sub_807935C();
- break;
- case 7:
- sub_8079398();
- break;
- case 8:
- sub_8079408();
- break;
- case 9:
- sub_8078130();
- break;
- case 10:
- sub_807816C();
- break;
- case 11:
- sub_8079490();
- break;
- case 12:
- sub_80794CC();
- break;
- case 13:
- sub_80781C8();
- break;
- case 14:
- Wait2SecondsAndCreateYesNoMenu();
- break;
- case 15:
- sub_8079034();
- break;
- case 16:
- sub_8079550();
- break;
- case 17:
- sub_807957C();
- break;
+ case TRADEMENUFUNC_MAIN_MENU:
+ TradeMenuProcessInput();
+ break;
+ case TRADEMENUFUNC_SELECTED_MON:
+ TradeMenuProcessInput_SelectedMon();
+ break;
+ case TRADEMENUFUNC_SHOW_MON_SUMMARY:
+ TradeMenuShowMonSummaryScreen();
+ break;
+ case TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE:
+ ConfirmOrCancelTrade();
+ break;
+ case TRADEMENUFUNC_CANCEL_TRADE_PROMPT:
+ CancelTradeYesNo();
+ break;
+ case TRADEMENUFUNC_BOTH_MONS_SELECTED:
+ SetBothSelectedMons();
+ break;
+ case TRADEMENUFUNC_CONFIRM_TRADE_PROMPT:
+ ConfirmTradePrompt();
+ break;
+ case TRADEMENUFUNC_REDRAW_MAIN_MENU:
+ RedrawTradeMenuAfterPressA();
+ break;
+ case TRADEMENUFUNC_LINK_TRADE_FADE_OUT:
+ LinkTradeFadeOut();
+ break;
+ case TRADEMENUFUNC_LINK_TRADE_WAIT_FADE:
+ LinkTradeWaitForFade();
+ break;
+ case TRADEMENUFUNC_CANCEL_TRADE_1:
+ CancelTrade_1();
+ break;
+ case TRADEMENUFUNC_CANCEL_TRADE_2:
+ CancelTrade_2();
+ break;
+ case TRADEMENUFUNC_START_LINK_TRADE:
+ SetLinkTradeCallbacks();
+ break;
+ case TRADEMENUFUNC_DELAY_TRADE_CONFIRM:
+ DelayTradeConfirmation();
+ break;
+ case TRADEMENUFUNC_UNUSED_15:
+ ChooseMonAfterButtonPress();
+ break;
+ case TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE:
+ LinkTradeWaitForQueue();
+ break;
+ case TRADEMENUFUNC_PARTNER_MON_INVALID:
+ PartnersMonWasInvalid();
+ break;
+ //case TRADEMENUFUNC_STANDBY: is nop
}
}
-static void sub_807967C(u8 a0)
+static void SetSelectedMon(u8 cursorPosition)
{
- u8 whichParty = a0 / PARTY_SIZE;
+ //cursorPosition 0-5 are the player's mons, 6-11 are the partner's
+ u8 whichParty = cursorPosition / PARTY_SIZE;
- if (gUnknown_0203229C->unk_74[whichParty] == 0)
+ if (sTradeMenuData->drawPartyState[whichParty] == 0)
{
- gUnknown_0203229C->unk_74[whichParty] = 1;
- gUnknown_0203229C->unk_76[whichParty] = a0;
+ sTradeMenuData->drawPartyState[whichParty] = 1;
+ sTradeMenuData->selectedMonIdx[whichParty] = cursorPosition;
}
}
-static void sub_80796B4(u8 a0)
+static void DrawTradeMenuParty(u8 whichParty)
{
s8 nameStringWidth;
u8 nickname[20];
u8 movesString[56];
u8 i;
u8 partyIdx;
- u8 whichParty;
- u8 monIdx = gUnknown_0203229C->unk_76[a0];
+ u8 selectedMonParty;
+ u8 selectedMonIdx = sTradeMenuData->selectedMonIdx[whichParty];
- whichParty = 1;
- if (gUnknown_0203229C->unk_76[a0] < PARTY_SIZE)
- whichParty = 0;
- partyIdx = monIdx % PARTY_SIZE;
+ selectedMonParty = TRADE_PARTNER;
+ if (sTradeMenuData->selectedMonIdx[whichParty] < PARTY_SIZE)
+ selectedMonParty = TRADE_PLAYER;
+ partyIdx = selectedMonIdx % PARTY_SIZE;
nameStringWidth = 0;
- switch (gUnknown_0203229C->unk_74[a0])
+ switch (sTradeMenuData->drawPartyState[whichParty])
{
case 1:
- for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
{
- gSprites[gUnknown_0203229C->partyIcons[0][i + (whichParty * PARTY_SIZE)]].invisible = TRUE;
+ gSprites[sTradeMenuData->partySpriteIds[0][i + (selectedMonParty * PARTY_SIZE)]].invisible = TRUE;
}
for (i = 0; i < 6; i++)
{
- ClearWindowTilemap(i + (a0 * 6 + 2));
+ ClearWindowTilemap(i + (whichParty * PARTY_SIZE + 2));
}
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].invisible = FALSE;
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[0] = 20;
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[2] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
- StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], sub_80D3014);
- gUnknown_0203229C->unk_74[a0]++;
- sub_80A6DEC(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]);
- CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0);
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].invisible = FALSE;
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[0] = 20;
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[2] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].data[4] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][1] * 8) - 12;
+ StoreSpriteCallbackInData6(&gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]], SpriteCB_MonIcon);
+ sTradeMenuData->drawPartyState[whichParty]++;
+ TradeMenuBouncePartySprites(&gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]]);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, whichParty * 15, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(0);
- if (whichParty == 0)
- sub_8079F74();
+ if (selectedMonParty == TRADE_PLAYER)
+ PrintNicknamesForTradeMenu();
break;
case 2:
- if (gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].callback == sub_80D3014)
- gUnknown_0203229C->unk_74[a0] = 3;
+ if (gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].callback == SpriteCB_MonIcon)
+ sTradeMenuData->drawPartyState[whichParty] = 3;
break;
case 3:
- CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sTradeMovesBoxTilemap, selectedMonParty * 15, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1);
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.x = 0;
- gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.y = 0;
- nameStringWidth = sub_8079A3C(nickname, whichParty, partyIdx);
- AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, gUnknown_0832DEE0, 0, nickname);
- sub_8079AA4(movesString, whichParty, partyIdx);
- AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, movesString);
- PutWindowTilemap((a0 * 2) + 14);
- CopyWindowToVram((a0 * 2) + 14, 3);
- PutWindowTilemap((a0 * 2) + 15);
- CopyWindowToVram((a0 * 2) + 15, 3);
- gUnknown_0203229C->unk_74[a0]++;
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos1.x = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos1.y = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][1] * 8) - 12;
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos2.x = 0;
+ gSprites[sTradeMenuData->partySpriteIds[0][partyIdx + (selectedMonParty * PARTY_SIZE)]].pos2.y = 0;
+ nameStringWidth = GetMonNicknameWidth(nickname, selectedMonParty, partyIdx);
+ AddTextPrinterParameterized3((whichParty * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, sTradeTextColors, 0, nickname);
+ BufferTradeMonMoves(movesString, selectedMonParty, partyIdx);
+ AddTextPrinterParameterized4((whichParty * 2) + 15, 1, 0, 0, 0, 0, sTradeTextColors, 0, movesString);
+ PutWindowTilemap((whichParty * 2) + 14);
+ CopyWindowToVram((whichParty * 2) + 14, 3);
+ PutWindowTilemap((whichParty * 2) + 15);
+ CopyWindowToVram((whichParty * 2) + 15, 3);
+ sTradeMenuData->drawPartyState[whichParty]++;
break;
case 4:
- sub_8079C4C(a0, partyIdx, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]);
- gUnknown_0203229C->unk_74[a0]++;
+ DrawTradeMenuPartyMonInfo(whichParty, partyIdx,
+ sTradeMenuPartyMonBoxDimensions[whichParty][0] + 4,
+ sTradeMenuPartyMonBoxDimensions[whichParty][1] + 1,
+ sTradeMenuPartyMonBoxDimensions[whichParty][0],
+ sTradeMenuPartyMonBoxDimensions[whichParty][1]);
+ sTradeMenuData->drawPartyState[whichParty]++;
break;
}
}
-static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx)
+static u8 GetMonNicknameWidth(u8 *str, u8 whichParty, u8 monIdx)
{
u8 nickname[12];
- if (whichParty == 0)
+ if (whichParty == TRADE_PLAYER)
GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname);
else
GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname);
@@ -3030,104 +1864,104 @@ static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx)
return GetStringWidth(0, str, GetFontAttribute(0, FONTATTR_LETTER_SPACING));
}
-static void sub_8079AA4(u8 *a0, u8 a1, u8 a2)
+static void BufferTradeMonMoves(u8 *str, u8 whichParty, u8 partyIdx)
{
- u16 arr[4];
+ u16 moves[MAX_MON_MOVES];
u16 i;
- if (!gUnknown_0203229C->unk_51[a1][a2])
+ if (!sTradeMenuData->isEgg[whichParty][partyIdx])
{
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (!a1)
+ if (whichParty == TRADE_PLAYER)
{
- arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL);
+ moves[i] = GetMonData(&gPlayerParty[partyIdx], i + MON_DATA_MOVE1, NULL);
}
else
{
- arr[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL);
+ moves[i] = GetMonData(&gEnemyParty[partyIdx], i + MON_DATA_MOVE1, NULL);
}
}
- StringCopy(a0, gText_EmptyString7);
+ StringCopy(str, sText_EmptyString);
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (arr[i] != MOVE_NONE)
+ if (moves[i] != MOVE_NONE)
{
- StringAppend(a0, gMoveNames[arr[i]]);
+ StringAppend(str, gMoveNames[moves[i]]);
}
- StringAppend(a0, gText_NewLine3);
+ StringAppend(str, sText_NewLine);
}
}
else
{
- StringCopy(a0, gText_EmptyString7);
- StringAppend(a0, gText_FourQuestionMarks);
+ StringCopy(str, sText_EmptyString);
+ StringAppend(str, sText_FourQuestionMarks);
}
}
-static void sub_8079B84(u8 whichParty, u8 windowId, u8 *str)
+static void PrintMonNicknameForTradeMenu(u8 whichParty, u8 windowId, u8 *nickname)
{
u8 xPos;
windowId += (whichParty * PARTY_SIZE) + 2;
- xPos = GetStringCenterAlignXOffset(0, str, 64);
- AddTextPrinterParameterized3(windowId, 0, xPos, 4, gUnknown_0832DEE0, 0, str);
+ xPos = GetStringCenterAlignXOffset(0, nickname, 64);
+ AddTextPrinterParameterized3(windowId, 0, xPos, 4, sTradeTextColors, 0, nickname);
PutWindowTilemap(windowId);
CopyWindowToVram(windowId, 3);
}
-static void sub_8079BE0(u8 whichParty)
+static void PrintPartyNicknamesForTradeMenu(u8 whichParty)
{
u8 i;
- u8 sp[20];
- u8 sp14[32];
- struct Pokemon *mons = whichParty == 0 ? gPlayerParty : gEnemyParty;
+ u8 nickname[20];
+ u8 str[32];
+ struct Pokemon *party = (whichParty == TRADE_PLAYER) ? gPlayerParty : gEnemyParty;
- for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
{
- GetMonData(&mons[i], MON_DATA_NICKNAME, sp);
- StringCopy10(sp14, sp);
- sub_8079B84(whichParty, i, sp14);
+ GetMonData(&party[i], MON_DATA_NICKNAME, nickname);
+ StringCopy10(str, nickname);
+ PrintMonNicknameForTradeMenu(whichParty, i, str);
}
}
-static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5)
+static void DrawTradeMenuPartyMonInfo(u8 whichParty, u8 monIdx, u8 x, u8 y, u8 width, u8 height)
{
u8 level;
- u32 r2;
+ u32 symbolTile;
u8 gender;
u8 nickname[12];
- CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDD704, a4, a5, 6, 3, 0);
+ CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenuMonBox_Tilemap, width, height, 6, 3, 0);
CopyBgTilemapBufferToVram(1);
- if (whichParty == 0)
+ if (whichParty == TRADE_PLAYER)
level = GetMonData(&gPlayerParty[monIdx], MON_DATA_LEVEL, NULL);
else
level = GetMonData(&gEnemyParty[monIdx], MON_DATA_LEVEL, NULL);
- if (gUnknown_0203229C->unk_51[whichParty][monIdx] == 0)
+ if (!sTradeMenuData->isEgg[whichParty][monIdx])
{
if (level / 10 != 0)
- gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32)] = (level / 10) + 0x60;
+ sTradeMenuData->tilemapBuffer[x + (y * 32)] = (level / 10) + 0x60;
- gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) + 1] = (level % 10) + 0x70;
+ sTradeMenuData->tilemapBuffer[x + (y * 32) + 1] = (level % 10) + 0x70;
}
else
{
- gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 32] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 33];
- gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 31] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 36] | 0x400;
+ sTradeMenuData->tilemapBuffer[x + (y * 32) - 32] = sTradeMenuData->tilemapBuffer[x + (y * 32) - 33];
+ sTradeMenuData->tilemapBuffer[x + (y * 32) - 31] = sTradeMenuData->tilemapBuffer[x + (y * 32) - 36] | 0x400;
}
- if (gUnknown_0203229C->unk_51[whichParty][monIdx] != 0)
+ if (sTradeMenuData->isEgg[whichParty][monIdx])
{
- r2 = 0x480;
+ symbolTile = 0x480;
}
else
{
- if (whichParty == 0)
+ if (whichParty == TRADE_PLAYER)
{
gender = GetMonGender(&gPlayerParty[monIdx]);
GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname);
@@ -3140,483 +1974,425 @@ static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5)
switch (gender)
{
- case MON_MALE:
- r2 = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83;
- break;
- case MON_FEMALE:
- r2 = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83;
- break;
- default:
- r2 = 0x83;
- break;
+ case MON_MALE:
+ symbolTile = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83;
+ break;
+ case MON_FEMALE:
+ symbolTile = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83;
+ break;
+ default:
+ symbolTile = 0x83;
+ break;
}
}
- gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2;
+ sTradeMenuData->tilemapBuffer[(y - 1) * 32 + x + 1] = symbolTile;
}
-// Very close but loop preamble not working.
-#ifdef NONMATCHING
-static void sub_8079E44(u8 whichParty)
+static void DrawTradeMenuPartyInfo(u8 whichParty)
{
- int i;
+ s32 i;
+ for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
+ {
+ const u8 (*r5)[2];
+ const u8 (*r4)[2];
+ u32 r0 = 3 * whichParty;
+ const u8 (*r1)[2][2] = sTradeMonLevelCoords;
- for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++)
- {
- sub_8079C4C(whichParty, i, gTradeLevelDisplayCoords[whichParty][i][0], gTradeLevelDisplayCoords[whichParty][i][1], gTradeMonBoxCoords[whichParty][i][0], gTradeMonBoxCoords[whichParty][i][1]);
- }
-}
-#else
-NAKED
-static void sub_8079E44(u8 whichParty)
-{
- asm_unified("push {r4-r7,lr}\n\
- sub sp, 0x8\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- movs r7, 0\n\
- ldr r0, =gUnknown_0203229C\n\
- ldr r0, [r0]\n\
- adds r0, 0x36\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r7, r0\n\
- bge _08079E94\n\
- lsls r0, r6, 1\n\
- adds r0, r6\n\
- ldr r1, =gTradeLevelDisplayCoords\n\
- lsls r0, 2\n\
- adds r5, r0, r1\n\
- ldr r1, =gTradeMonBoxCoords\n\
- adds r4, r0, r1\n\
-_08079E6A:\n\
- lsls r1, r7, 24\n\
- lsrs r1, 24\n\
- ldrb r2, [r5]\n\
- ldrb r3, [r5, 0x1]\n\
- ldrb r0, [r4]\n\
- str r0, [sp]\n\
- ldrb r0, [r4, 0x1]\n\
- str r0, [sp, 0x4]\n\
- adds r0, r6, 0\n\
- bl sub_8079C4C\n\
- adds r5, 0x2\n\
- adds r4, 0x2\n\
- adds r7, 0x1\n\
- ldr r0, =gUnknown_0203229C\n\
- ldr r0, [r0]\n\
- adds r0, 0x36\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r7, r0\n\
- blt _08079E6A\n\
-_08079E94:\n\
- add sp, 0x8\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
-}
-#endif // NONMATCHING
-
-static void sub_8079EA8(u8 whichParty)
+ r5 = r1[r0];
+ r4 = sTradeMonBoxCoords[r0];
+ DrawTradeMenuPartyMonInfo(
+ whichParty,
+ i,
+ r5[i][0],
+ r5[i][1],
+ r4[i][0],
+ r4[i][1]
+ );
+ }
+}
+
+static void ResetTradeMenuPartyPositions(u8 whichParty)
{
int i;
- for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++)
+ for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
{
- gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].invisible = FALSE;
- gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14;
- gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12;
- gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.x = 0;
- gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.y = 0;
+ gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].invisible = FALSE;
+ gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos1.x = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14;
+ gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos1.y = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12;
+ gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos2.x = 0;
+ gSprites[sTradeMenuData->partySpriteIds[whichParty][i]].pos2.y = 0;
}
}
-static void sub_8079F74(void)
+static void PrintNicknamesForTradeMenu(void)
{
rbox_fill_rectangle(1);
- sub_8079BE0(1);
+ //PrintPartyNicknamesForTradeMenu(TRADE_PLAYER); ?
+ PrintPartyNicknamesForTradeMenu(TRADE_PARTNER);
}
-static void sub_8079F88(u8 a0)
+static void RedrawTradeMenuParty(u8 whichParty)
{
- CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0);
+ CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, whichParty * 15, 0, 15, 17, 0);
CopyBgTilemapBufferToVram(1);
- sub_8079E44(a0);
- sub_8079BE0(a0);
- sub_8079EA8(a0);
- sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24);
- gUnknown_0203229C->unk_74[a0] = 0;
+ DrawTradeMenuPartyInfo(whichParty);
+ PrintPartyNicknamesForTradeMenu(whichParty);
+ ResetTradeMenuPartyPositions(whichParty);
+ DrawTextWindowAndBuffer6Bytes(sTradeActionTexts[TRADE_TEXT_CHOOSE_MON], (void *)(OBJ_VRAM0 + (sTradeMenuData->bottomTextTileStart * 32)), 24);
+ sTradeMenuData->drawPartyState[whichParty] = 0;
}
-static void sub_807A000(u8 taskId)
+static void Task_DrawSelectionSummary(u8 taskId)
{
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
CopyBgTilemapBufferToVram(0);
}
-static void sub_807A024(u8 taskId)
+static void Task_DrawSelectionTrade(u8 taskId)
{
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20);
CopyBgTilemapBufferToVram(0);
}
-static void sub_807A048(u16 a0, u8 a1)
+static void QueueAction(u16 delay, u8 actionId)
{
int i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++)
{
- if (!gUnknown_0203229C->unk_8D0[i].unk_0)
+ if (!sTradeMenuData->queuedActions[i].queued)
{
- gUnknown_0203229C->unk_8D0[i].unk_2 = a0;
- gUnknown_0203229C->unk_8D0[i].unk_4 = a1;
- gUnknown_0203229C->unk_8D0[i].unk_0 = TRUE;
+ sTradeMenuData->queuedActions[i].queueDelay = delay;
+ sTradeMenuData->queuedActions[i].actionId = actionId;
+ sTradeMenuData->queuedActions[i].queued = TRUE;
break;
}
}
}
-static u32 sub_807A09C(void)
+static u32 GetNumQueuedActions(void)
{
- u32 acc = 0;
+ u32 numActions = 0;
int i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++)
{
- acc += gUnknown_0203229C->unk_8D0[i].unk_0;
+ numActions += sTradeMenuData->queuedActions[i].queued;
}
- return acc;
+ return numActions;
}
-static void sub_807A0C4(void)
+static void DoQueuedActions(void)
{
int i;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->queuedActions); i++)
{
- if (gUnknown_0203229C->unk_8D0[i].unk_0)
+ if (sTradeMenuData->queuedActions[i].queued)
{
- if (gUnknown_0203229C->unk_8D0[i].unk_2)
+ if (sTradeMenuData->queuedActions[i].queueDelay)
{
- gUnknown_0203229C->unk_8D0[i].unk_2--;
+ sTradeMenuData->queuedActions[i].queueDelay--;
}
else
{
- switch (gUnknown_0203229C->unk_8D0[i].unk_4)
+ switch (sTradeMenuData->queuedActions[i].actionId)
{
- case 0:
- sub_8077170(gUnknown_0203229C->linkData, 20);
- break;
- case 1:
- sub_807A19C(0);
- break;
- case 2:
- sub_807A19C(2);
- break;
- case 3:
- case 4:
- case 5:
- sub_807A19C(3);
- break;
- case 6:
- sub_807A19C(6);
- break;
- case 7:
- sub_807A19C(7);
- break;
- case 8:
- sub_807A19C(8);
- break;
+ case QUEUE_SEND_DATA:
+ SendLinkData(sTradeMenuData->linkData, 20);
+ break;
+ case QUEUE_STANDBY:
+ PrintTradeMessage(TRADE_MSG_STANDBY);
+ break;
+ case QUEUE_ONLY_MON1:
+ PrintTradeMessage(TRADE_MSG_ONLY_MON1);
+ break;
+ case QUEUE_ONLY_MON2:
+ case QUEUE_UNUSED1:
+ case QUEUE_UNUSED2:
+ PrintTradeMessage(TRADE_MSG_ONLY_MON2);
+ break;
+ case QUEUE_MON_CANT_BE_TRADED:
+ PrintTradeMessage(TRADE_MSG_MON_CANT_BE_TRADED);
+ break;
+ case QUEUE_EGG_CANT_BE_TRADED:
+ PrintTradeMessage(TRADE_MSG_EGG_CANT_BE_TRADED);
+ break;
+ case QUEUE_FRIENDS_MON_CANT_BE_TRADED:
+ PrintTradeMessage(TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED);
+ break;
}
- gUnknown_0203229C->unk_8D0[i].unk_0 = 0;
+ sTradeMenuData->queuedActions[i].queued = FALSE;
}
}
}
}
-static void sub_807A19C(u8 a0)
+static void PrintTradeMessage(u8 messageId)
{
FillWindowPixelBuffer(0, PIXEL_FILL(1));
- AddTextPrinterParameterized(0, 1, gUnknown_0832DEBC[a0], 0, 1, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 1, sTradeMessages[messageId], 0, 1, TEXT_SPEED_FF, NULL);
DrawTextBorderOuter(0, 20, 12);
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
}
-static bool8 sub_807A1F0(void)
+static bool8 LoadTradeMenuSpriteSheetsAndPalettes(void)
{
struct SpriteSheet sheet;
- if (gUnknown_0203229C->unk_A8 < 14)
+ if (sTradeMenuData->timer < (int)ARRAY_COUNT(sMessageBoxTileBuffers))
{
- sheet.data = gUnknown_02032188[gUnknown_0203229C->unk_A8];
+ sheet.data = sMessageBoxTileBuffers[sTradeMenuData->timer];
sheet.size = 0x100;
- sheet.tag = 200 + gUnknown_0203229C->unk_A8;
+ sheet.tag = 200 + sTradeMenuData->timer;
}
- switch (gUnknown_0203229C->unk_A8)
+ switch (sTradeMenuData->timer)
{
- case 0 ... 7:
- LoadSpriteSheet(&sheet);
- gUnknown_0203229C->unk_A8++;
- break;
- case 8:
- gUnknown_0203229C->unk_72 = LoadSpriteSheet(&sheet);
- gUnknown_0203229C->unk_A8++;
- break;
- case 9 ... 13:
- LoadSpriteSheet(&sheet);
- gUnknown_0203229C->unk_A8++;
- break;
- case 14:
- LoadSpritePalette(&gSpritePalette_TradeScreenText);
- gUnknown_0203229C->unk_A8++;
- break;
- case 15:
- LoadSpritePalette(&gUnknown_0832DC44);
- gUnknown_0203229C->unk_A8++;
- break;
- case 16:
- LoadSpriteSheet(&gUnknown_0832DC3C);
- gUnknown_0203229C->unk_A8++;
- break;
- case 17:
- gUnknown_0203229C->unk_A8 = 0;
- return TRUE;
+ case 0 ... 7:
+ LoadSpriteSheet(&sheet);
+ sTradeMenuData->timer++;
+ break;
+ case 8:
+ sTradeMenuData->bottomTextTileStart = LoadSpriteSheet(&sheet);
+ sTradeMenuData->timer++;
+ break;
+ case 9 ... 13:
+ LoadSpriteSheet(&sheet);
+ sTradeMenuData->timer++;
+ break;
+ case 14:
+ LoadSpritePalette(&gSpritePalette_TradeScreenText);
+ sTradeMenuData->timer++;
+ break;
+ case 15:
+ LoadSpritePalette(&gUnknown_0832DC44);
+ sTradeMenuData->timer++;
+ break;
+ case 16:
+ LoadSpriteSheet(&sTradeButtonsSpriteSheet);
+ sTradeMenuData->timer++;
+ break;
+ case 17:
+ sTradeMenuData->timer = 0;
+ return TRUE;
}
return FALSE;
}
-static void sub_807A308(const u8 *a0, u8 *a1, u8 unused)
+static void DrawTextWindowAndBuffer6Bytes(const u8 *str, u8 *dest, u8 unused)
{
- sub_80C6D80(a0, a1, 0, 0, 6);
+ DrawTextWindowAndBufferTiles(str, dest, 0, 0, 6);
}
-static void sub_807A320(u8 who)
+static void SetTradePartyLiveStatuses(u8 whichParty)
{
int i;
- switch (who)
+ switch (whichParty)
{
- case 0:
- for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++)
+ case TRADE_PLAYER:
+ for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE)
{
- if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE)
- {
- gUnknown_0203229C->unk_45[who][i] = 0;
- gUnknown_0203229C->unk_51[who][i] = 1;
- }
- else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0)
- {
- gUnknown_0203229C->unk_45[who][i] = 0;
- gUnknown_0203229C->unk_51[who][i] = 0;
- }
- else
- {
- gUnknown_0203229C->unk_45[who][i] = 1;
- gUnknown_0203229C->unk_51[who][i] = 0;
- }
+ sTradeMenuData->isLiveMon[whichParty][i] = FALSE;
+ sTradeMenuData->isEgg[whichParty][i] = TRUE;
}
- break;
- case 1:
- for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++)
+ else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0)
{
- if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE)
- {
- gUnknown_0203229C->unk_45[who][i] = 0;
- gUnknown_0203229C->unk_51[who][i] = 1;
- }
- else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0)
- {
- gUnknown_0203229C->unk_45[who][i] = 0;
- gUnknown_0203229C->unk_51[who][i] = 0;
- }
- else
- {
- gUnknown_0203229C->unk_45[who][i] = 1;
- gUnknown_0203229C->unk_51[who][i] = 0;
- }
+ sTradeMenuData->isLiveMon[whichParty][i] = FALSE;
+ sTradeMenuData->isEgg[whichParty][i] = FALSE;
}
- break;
+ else
+ {
+ sTradeMenuData->isLiveMon[whichParty][i] = TRUE;
+ sTradeMenuData->isEgg[whichParty][i] = FALSE;
+ }
+ }
+ break;
+ case TRADE_PARTNER:
+ for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE)
+ {
+ sTradeMenuData->isLiveMon[whichParty][i] = FALSE;
+ sTradeMenuData->isEgg[whichParty][i] = TRUE;
+ }
+ else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0)
+ {
+ sTradeMenuData->isLiveMon[whichParty][i] = FALSE;
+ sTradeMenuData->isEgg[whichParty][i] = FALSE;
+ }
+ else
+ {
+ sTradeMenuData->isLiveMon[whichParty][i] = TRUE;
+ sTradeMenuData->isEgg[whichParty][i] = FALSE;
+ }
+ }
+ break;
}
}
-static void sub_807A468(u8 who)
+static void GetTradePartyHPBarLevels(u8 who)
{
u16 i, curHp, maxHp;
switch (who)
{
- case 0:
- for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++)
- {
- curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
- maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP);
- gUnknown_0203229C->unk_5D[0][i] = GetHPBarLevel(curHp, maxHp);
- }
- break;
- case 1:
- for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++)
- {
- curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
- maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP);
- gUnknown_0203229C->unk_5D[1][i] = GetHPBarLevel(curHp, maxHp);
- }
- break;
+ case TRADE_PLAYER:
+ for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PLAYER]; i++)
+ {
+ curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP);
+ sTradeMenuData->hpBarLevels[TRADE_PLAYER][i] = GetHPBarLevel(curHp, maxHp);
+ }
+ break;
+ case TRADE_PARTNER:
+ for (i = 0; i < sTradeMenuData->partyCounts[TRADE_PARTNER]; i++)
+ {
+ curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
+ maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP);
+ sTradeMenuData->hpBarLevels[TRADE_PARTNER][i] = GetHPBarLevel(curHp, maxHp);
+ }
+ break;
}
}
-static void sub_807A53C(void)
+static void SetTradePartyHPBarSprites(void)
{
int i, j;
for (i = 0; i < 2; i++)
{
- for (j = 0; j < gUnknown_0203229C->partyCounts[i]; j++)
+ for (j = 0; j < sTradeMenuData->partyCounts[i]; j++)
{
- sub_80D32C8(&gSprites[gUnknown_0203229C->partyIcons[i][j]], 4 - gUnknown_0203229C->unk_5D[i][j]);
+ SetPartyHPBarSprite(&gSprites[sTradeMenuData->partySpriteIds[i][j]], 4 - sTradeMenuData->hpBarLevels[i][j]);
}
}
}
-static void sub_807A5B0(void)
+static void SaveTradeGiftRibbons(void)
{
int i;
- for (i = 0; i < 11; i++)
+ for (i = 0; i < (int)ARRAY_COUNT(sTradeMenuData->giftRibbons); i++)
{
- if (gSaveBlock1Ptr->giftRibbons[i] == 0 && gUnknown_0203229C->unk_A9[i] != 0)
+ if (gSaveBlock1Ptr->giftRibbons[i] == 0 && sTradeMenuData->giftRibbons[i] != 0)
{
- if (gUnknown_0203229C->unk_A9[i] < 64)
- gSaveBlock1Ptr->giftRibbons[i] = gUnknown_0203229C->unk_A9[i];
+ if (sTradeMenuData->giftRibbons[i] < 64)
+ gSaveBlock1Ptr->giftRibbons[i] = sTradeMenuData->giftRibbons[i];
}
}
}
-static u32 sub_807A5F4(struct Pokemon *monList, int a1, int monIdx)
+static u32 CanTradeSelectedMon(struct Pokemon *playerParty, int partyCount, int monIdx)
{
- int i, sum;
+ int i, numMonsLeft;
struct LinkPlayer *player;
- u32 species[6];
- u32 species2[6];
+ u32 species[PARTY_SIZE];
+ u32 species2[PARTY_SIZE];
- for (i = 0; i < a1; i++)
+ for (i = 0; i < partyCount; i++)
{
- species2[i] = GetMonData(&monList[i], MON_DATA_SPECIES2);
- species[i] = GetMonData(&monList[i], MON_DATA_SPECIES);
+ species2[i] = GetMonData(&playerParty[i], MON_DATA_SPECIES2);
+ species[i] = GetMonData(&playerParty[i], MON_DATA_SPECIES);
}
+ // Cant trade Eggs or non-Hoenn mons if player doesn't have National Dex
if (!IsNationalPokedexEnabled())
{
if (species2[monIdx] == SPECIES_EGG)
- {
- return 3;
- }
+ return CANT_TRADE_EGG_YET;
if (!IsSpeciesInHoennDex(species2[monIdx]))
- {
- return 2;
- }
+ return CANT_TRADE_NATIONAL;
}
player = &gLinkPlayers[GetMultiplayerId() ^ 1];
if ((player->version & 0xFF) != VERSION_RUBY &&
(player->version & 0xFF) != VERSION_SAPPHIRE)
{
- if ((player->name[10] & 0xF) == 0)
+ // Does partner not have National Dex
+ if (!(player->progressFlagsCopy & 0xF))
{
if (species2[monIdx] == SPECIES_EGG)
- {
- return 5;
- }
+ return CANT_TRADE_EGG_YET2;
if (!IsSpeciesInHoennDex(species2[monIdx]))
- {
- return 4;
- }
+ return CANT_TRADE_INVALID_MON;
}
}
if (species[monIdx] == SPECIES_DEOXYS || species[monIdx] == SPECIES_MEW)
{
- if (!GetMonData(&monList[monIdx], MON_DATA_OBEDIENCE))
- {
- return 4;
- }
+ if (!GetMonData(&playerParty[monIdx], MON_DATA_OBEDIENCE))
+ return CANT_TRADE_INVALID_MON;
}
- for (i = 0; i < a1; i++)
+ // Make Eggs not count for numMonsLeft
+ for (i = 0; i < partyCount; i++)
{
if (species2[i] == SPECIES_EGG)
- {
species2[i] = SPECIES_NONE;
- }
}
- for (sum = 0, i = 0; i < a1; i++)
+ // Count alive mons in party, excluding selected trade mon
+ for (numMonsLeft = 0, i = 0; i < partyCount; i++)
{
if (i != monIdx)
- {
- sum += species2[i];
- }
+ numMonsLeft += species2[i];
}
- if (sum != 0)
- {
- return 0;
- }
+ if (numMonsLeft != 0)
+ return CAN_TRADE_MON;
else
- {
- return 1;
- }
+ return CANT_TRADE_LAST_MON;
}
-s32 sub_807A728(void)
+s32 GetGameProgressForLinkTrade(void)
{
- s32 val;
+ // isGameFrLg could have been a bool but they use 2 and > 0 instead
+ // possible other checks (for other game versions?) were planned/removed
+ s32 isGameFrLg;
u16 version;
if (gReceivedRemoteLinkPlayers != 0)
{
- val = 0;
+ isGameFrLg = 0;
version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF);
if (version == VERSION_RUBY || version == VERSION_SAPPHIRE || version == VERSION_EMERALD)
- {
- // this value could actually be anything 0 or less
- val = 0;
- }
+ isGameFrLg = 0;
else if (version == VERSION_FIRE_RED || version == VERSION_LEAF_GREEN)
- {
- val = 2;
- }
+ isGameFrLg = 2;
- if (val > 0)
+ // If trading with FRLG, both players must be champion
+ if (isGameFrLg > 0)
{
- if (gLinkPlayers[GetMultiplayerId()].name[10] & 0xF0)
+ // Is player champion
+ if (gLinkPlayers[GetMultiplayerId()].progressFlagsCopy & 0xF0)
{
- if (val == 2)
+ if (isGameFrLg == 2) //unnecessary check, isGameFrLg always 2 here
{
- if (gLinkPlayers[GetMultiplayerId() ^ 1].name[10] & 0xF0)
- {
- return 0;
- }
+ // Is partner champion
+ if (gLinkPlayers[GetMultiplayerId() ^ 1].progressFlagsCopy & 0xF0)
+ return TRADE_BOTH_PLAYERS_READY;
else
- {
- return 2;
- }
+ return TRADE_PARTNER_NOT_READY;
}
}
else
{
- return 1;
+ return TRADE_PLAYER_NOT_READY;
}
}
}
- return 0;
+ return TRADE_BOTH_PLAYERS_READY;
}
static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet)
@@ -3629,122 +2405,116 @@ static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet)
return FALSE;
}
-int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet)
+int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, struct UnkLinkRfuStruct_02022B14Substruct rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet)
{
- u8 r9 = a0.unk_01_0;
- u8 r2 = a0.unk_00_7;
- u8 r10 = a1.unk_01_0;
- u8 r0 = a1.unk_00_7;
- u8 r1 = a1.unk_01_2;
+ bool8 playerHasNationalDex = rfuPlayer.hasNationalDex;
+ bool8 playerIsChampion = rfuPlayer.isChampion;
+ bool8 partnerHasNationalDex = rfuPartner.hasNationalDex;
+ bool8 partnerIsChampion = rfuPartner.isChampion;
+ u8 r1 = rfuPartner.unk_01_2;
if (r1 != 3)
{
- if (!r2)
+ if (!playerIsChampion)
{
- return 8;
+ return UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1;
}
- else if (!r0)
+ else if (!partnerIsChampion)
{
- return 9;
+ return UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2;
}
}
- if (IsDeoxysOrMewUntradable(species3, isObedientBitSet))
+ if (IsDeoxysOrMewUntradable(playerSpecies, isObedientBitSet))
{
- return 4;
+ return UR_TRADE_MSG_MON_CANT_BE_TRADED_2;
}
- if (species2 == SPECIES_EGG)
+ if (partnerSpecies == SPECIES_EGG)
{
- if (species1 != species2)
+ if (playerSpecies2 != partnerSpecies)
{
- return 2;
+ return UR_TRADE_MSG_NOT_EGG;
}
}
else
{
- if (gBaseStats[species1].type1 != type && gBaseStats[species1].type2 != type)
+ if (gBaseStats[playerSpecies2].type1 != requestedType && gBaseStats[playerSpecies2].type2 != requestedType)
{
- return 1;
+ return UR_TRADE_MSG_NOT_MON_PARTNER_WANTS;
}
}
- if (species1 == SPECIES_EGG && species1 != species2)
+ if (playerSpecies2 == SPECIES_EGG && playerSpecies2 != partnerSpecies)
{
- return 3;
+ return UR_TRADE_MSG_MON_CANT_BE_TRADED_1;
}
- if (!r9)
+ if (!playerHasNationalDex)
{
- if (species1 == SPECIES_EGG)
+ if (playerSpecies2 == SPECIES_EGG)
{
- return 6;
+ return UR_TRADE_MSG_EGG_CANT_BE_TRADED;
}
- if (!IsSpeciesInHoennDex(species1))
+ if (!IsSpeciesInHoennDex(playerSpecies2))
{
- return 4;
+ return UR_TRADE_MSG_MON_CANT_BE_TRADED_2;
}
- if (!IsSpeciesInHoennDex(species2))
+ if (!IsSpeciesInHoennDex(partnerSpecies))
{
- return 5;
+ return UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED;
}
}
- if (!r10 && !IsSpeciesInHoennDex(species1))
+ if (!partnerHasNationalDex && !IsSpeciesInHoennDex(playerSpecies2))
{
- return 7;
+ return UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON;
}
- return 0;
+ return UR_TRADE_MSG_NONE;
}
-int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a2, u8 a3)
+int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet)
{
- u8 unk = a0.unk_01_0;
+ bool8 hasNationalDex = rfuPlayer.hasNationalDex;
- if (IsDeoxysOrMewUntradable(a2, a3))
- {
- return 1;
- }
+ if (IsDeoxysOrMewUntradable(species, isObedientBitSet))
+ return CANT_REGISTER_MON;
- if (unk)
- {
- return 0;
- }
+ if (hasNationalDex)
+ return CAN_REGISTER_MON;
- if (species == SPECIES_EGG)
- {
- return 2;
- }
+ // Eggs can only be traded if the player has the National Dex
+ if (species2 == SPECIES_EGG)
+ return CANT_REGISTER_EGG;
- if (IsSpeciesInHoennDex(species))
- {
- return 0;
- }
+ if (IsSpeciesInHoennDex(species2))
+ return CAN_REGISTER_MON;
- return 1;
+ return CANT_REGISTER_MON;
}
-// r6/r7 flip. Ugh.
-#ifdef NONMATCHING
-int sub_807A918(struct Pokemon *mon, u16 monIdx)
+// Spin Trade wasnt fully implemented, but this checks if a mon would be valid to Spin Trade
+// Unlike later generations, this version of Spin Trade isnt only for Eggs
+int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
{
- int i, version, versions, unk, unk2;
+ int i, version, versions, canTradeAnyMon, numMonsLeft;
int speciesArray[PARTY_SIZE];
+ // Make Eggs not count for numMonsLeft
for (i = 0; i < gPlayerPartyCount; i++)
{
speciesArray[i] = GetMonData(&mon[i], MON_DATA_SPECIES2);
if (speciesArray[i] == SPECIES_EGG)
{
- speciesArray[i] = 0;
+ speciesArray[i] = SPECIES_NONE;
}
}
versions = 0;
- unk = 1;
+ canTradeAnyMon = TRUE;
for (i = 0; i < GetLinkPlayerCount(); i++)
{
version = gLinkPlayers[i].version & 0xFF;
@@ -3762,196 +2532,41 @@ int sub_807A918(struct Pokemon *mon, u16 monIdx)
for (i = 0; i < GetLinkPlayerCount(); i++)
{
struct LinkPlayer *player = &gLinkPlayers[i];
- if ((player->name[8] & 0xF) == 0)
- {
- unk = 0;
- }
- if (versions && (player->name[8] / 16))
+ // Does player not have National Dex
+ do
{
- unk = 0;
- }
+ if (!(player->progressFlags & 0xF))
+ canTradeAnyMon = FALSE;
+
+ if (versions && (player->progressFlags / 16))
+ canTradeAnyMon = FALSE;
+ } while (0);
}
- if (unk == 0)
+ if (canTradeAnyMon == FALSE)
{
if (!IsSpeciesInHoennDex(speciesArray[monIdx]))
- {
- return 2;
- }
+ return CANT_TRADE_NATIONAL;
if (speciesArray[monIdx] == SPECIES_NONE)
- {
- return 3;
- }
+ return CANT_TRADE_EGG_YET;
}
- unk2 = 0;
+ numMonsLeft = 0;
for (i = 0; i < gPlayerPartyCount; i++)
{
if (monIdx != i)
{
- unk2 += speciesArray[i];
+ numMonsLeft += speciesArray[i];
}
}
- if (!unk2)
- {
- return 1;
- }
+ if (!numMonsLeft)
+ return CANT_TRADE_LAST_MON;
else
- {
- return 0;
- }
-}
-#else
-NAKED
-int sub_807A918(struct Pokemon *mon, u16 a1)
-{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- sub sp, 0x18\n\
- adds r6, r0, 0\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- mov r8, r1\n\
- movs r5, 0\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- bge _0807A95A\n\
- mov r4, sp\n\
-_0807A934:\n\
- movs r0, 0x64\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- movs r1, 0x41\n\
- bl GetMonData\n\
- str r0, [r4]\n\
- movs r1, 0xCE\n\
- lsls r1, 1\n\
- cmp r0, r1\n\
- bne _0807A94E\n\
- movs r0, 0\n\
- str r0, [r4]\n\
-_0807A94E:\n\
- adds r4, 0x4\n\
- adds r5, 0x1\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- blt _0807A934\n\
-_0807A95A:\n\
- movs r7, 0\n\
- movs r6, 0x1\n\
- movs r5, 0\n\
- ldr r4, =gLinkPlayers\n\
- b _0807A980\n\
- .pool\n\
-_0807A96C:\n\
- ldrb r0, [r4]\n\
- subs r0, 0x4\n\
- cmp r0, 0x1\n\
- bhi _0807A978\n\
- movs r7, 0\n\
- b _0807A97C\n\
-_0807A978:\n\
- movs r0, 0x1\n\
- orrs r7, r0\n\
-_0807A97C:\n\
- adds r4, 0x1C\n\
- adds r5, 0x1\n\
-_0807A980:\n\
- bl GetLinkPlayerCount\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r5, r0\n\
- blt _0807A96C\n\
- movs r5, 0\n\
- movs r4, 0\n\
- b _0807A9B4\n\
-_0807A992:\n\
- ldr r0, =gLinkPlayers\n\
- adds r2, r4, r0\n\
- ldrb r1, [r2, 0x10]\n\
- movs r0, 0xF\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0807A9A2\n\
- movs r6, 0\n\
-_0807A9A2:\n\
- cmp r7, 0\n\
- beq _0807A9B0\n\
- ldrb r0, [r2, 0x10]\n\
- lsrs r0, 4\n\
- cmp r0, 0\n\
- beq _0807A9B0\n\
- movs r6, 0\n\
-_0807A9B0:\n\
- adds r4, 0x1C\n\
- adds r5, 0x1\n\
-_0807A9B4:\n\
- bl GetLinkPlayerCount\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r5, r0\n\
- blt _0807A992\n\
- cmp r6, 0\n\
- bne _0807A9EA\n\
- mov r1, r8\n\
- lsls r0, r1, 2\n\
- mov r1, sp\n\
- adds r4, r1, r0\n\
- ldrh r0, [r4]\n\
- bl IsSpeciesInHoennDex\n\
- cmp r0, 0\n\
- bne _0807A9E0\n\
- movs r0, 0x2\n\
- b _0807AA1A\n\
- .pool\n\
-_0807A9E0:\n\
- ldr r0, [r4]\n\
- cmp r0, 0\n\
- bne _0807A9EA\n\
- movs r0, 0x3\n\
- b _0807AA1A\n\
-_0807A9EA:\n\
- movs r2, 0\n\
- movs r5, 0\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r2, r0\n\
- bge _0807AA0A\n\
- adds r3, r0, 0\n\
- mov r1, sp\n\
-_0807A9FA:\n\
- cmp r8, r5\n\
- beq _0807AA02\n\
- ldr r0, [r1]\n\
- adds r2, r0\n\
-_0807AA02:\n\
- adds r1, 0x4\n\
- adds r5, 0x1\n\
- cmp r5, r3\n\
- blt _0807A9FA\n\
-_0807AA0A:\n\
- cmp r2, 0\n\
- beq _0807AA18\n\
- movs r0, 0\n\
- b _0807AA1A\n\
- .pool\n\
-_0807AA18:\n\
- movs r0, 0x1\n\
-_0807AA1A:\n\
- add sp, 0x18\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1");
-}
-#endif // NONMATCHING
+ return CAN_TRADE_MON;
+}
static void sub_807AA28(struct Sprite *sprite)
{
@@ -4009,11 +2624,11 @@ static void sub_807AB04(struct Sprite *sprite)
}
}
-static void sub_807AB28(void)
+static void SetTradeBGAffine(void)
{
struct BgAffineDstData affine;
- DoBgAffineSet(&affine, gUnknown_020322A0->unk_D4 * 0x100, gUnknown_020322A0->unk_D6 * 0x100, gUnknown_020322A0->unk_DC, gUnknown_020322A0->unk_DE, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_EC);
+ DoBgAffineSet(&affine, sTradeData->texX * 0x100, sTradeData->texY * 0x100, sTradeData->scrX, sTradeData->scrY, sTradeData->sXY, sTradeData->sXY, sTradeData->alpha);
SetGpuReg(REG_OFFSET_BG2PA, affine.pa);
SetGpuReg(REG_OFFSET_BG2PB, affine.pb);
SetGpuReg(REG_OFFSET_BG2PC, affine.pc);
@@ -4024,233 +2639,233 @@ static void sub_807AB28(void)
SetGpuReg(REG_OFFSET_BG2Y_H, affine.dy >> 16);
}
-static void sub_807ABCC(void)
+static void SetTradeGpuRegs(void)
{
u16 dispcnt;
- SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_020322A0->bg1vofs);
- SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->bg1hofs);
+ SetGpuReg(REG_OFFSET_BG1VOFS, sTradeData->bg1vofs);
+ SetGpuReg(REG_OFFSET_BG1HOFS, sTradeData->bg1hofs);
dispcnt = GetGpuReg(REG_OFFSET_DISPCNT);
if ((dispcnt & 7) == DISPCNT_MODE_0)
{
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->bg2vofs);
- SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->bg2hofs);
+ SetGpuReg(REG_OFFSET_BG2VOFS, sTradeData->bg2vofs);
+ SetGpuReg(REG_OFFSET_BG2HOFS, sTradeData->bg2hofs);
}
else
{
- sub_807AB28();
+ SetTradeBGAffine();
}
}
-static void sub_807AC24(void)
+static void VBlankCB_Trade(void)
{
- sub_807ABCC();
+ SetTradeGpuRegs();
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
-static void sub_807AC3C(void)
+static void ClearLinkTimeoutCounter(void)
{
- gUnknown_020322A0->unk_8A = 0;
- gUnknown_020322A0->unk_88 = 0;
- gUnknown_020322A0->unk_89 = 0;
+ sTradeData->linkTimeoutCounter = 0;
+ sTradeData->alwaysZero_88 = 0;
+ sTradeData->alwaysZero_89 = 0;
}
-static void sub_807AC64(void)
+static void CheckForLinkTimeout(void)
{
- if (gUnknown_020322A0->unk_88 == gUnknown_020322A0->unk_89)
- gUnknown_020322A0->unk_8A++;
+ if (sTradeData->alwaysZero_88 == sTradeData->alwaysZero_89)
+ sTradeData->linkTimeoutCounter++;
else
- gUnknown_020322A0->unk_8A = 0;
+ sTradeData->linkTimeoutCounter = 0;
- if (gUnknown_020322A0->unk_8A > 300)
+ if (sTradeData->linkTimeoutCounter > LINK_TRADE_TIMEOUT)
{
CloseLink();
SetMainCallback2(CB2_LinkError);
- gUnknown_020322A0->unk_8A = 0;
- gUnknown_020322A0->unk_89 = 0;
- gUnknown_020322A0->unk_88 = 0;
+ sTradeData->linkTimeoutCounter = 0;
+ sTradeData->alwaysZero_89 = 0;
+ sTradeData->alwaysZero_88 = 0;
}
- gUnknown_020322A0->unk_89 = gUnknown_020322A0->unk_88;
+ sTradeData->alwaysZero_89 = sTradeData->alwaysZero_88;
}
-static u32 sub_807ACDC(void)
+static u32 TradeGetMultiplayerId(void)
{
if (gReceivedRemoteLinkPlayers)
return GetMultiplayerId();
return 0;
}
-static void sub_807ACFC(u8 whichParty, u8 a1)
+static void LoadTradeMonPic(u8 whichParty, u8 state)
{
int pos = 0;
struct Pokemon *mon = NULL;
u16 species;
u32 personality;
- if (whichParty == 0)
+ if (whichParty == TRADE_PLAYER)
{
- mon = &gPlayerParty[gUnknown_02032298[0]];
- pos = 1;
+ mon = &gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]];
+ pos = B_POSITION_OPPONENT_LEFT;
}
- if (whichParty == 1)
+ if (whichParty == TRADE_PARTNER)
{
- mon = &gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE];
- pos = 3;
+ mon = &gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE];
+ pos = B_POSITION_OPPONENT_RIGHT;
}
- switch (a1)
+ switch (state)
{
- case 0:
- species = GetMonData(mon, MON_DATA_SPECIES2);
- personality = GetMonData(mon, MON_DATA_PERSONALITY);
+ case 0:
+ species = GetMonData(mon, MON_DATA_SPECIES2);
+ personality = GetMonData(mon, MON_DATA_PERSONALITY);
- if (whichParty == 0)
- HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality);
- else
- HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality);
+ if (whichParty == TRADE_PLAYER)
+ HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality);
+ else
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality);
- LoadCompressedSpritePalette(GetMonSpritePalStruct(mon));
- gUnknown_020322A0->tradeSpecies[whichParty] = species;
- gUnknown_020322A0->unk_68[whichParty] = personality;
- break;
- case 1:
- SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos);
- gUnknown_020322A0->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6);
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].invisible = TRUE;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy;
- break;
+ LoadCompressedSpritePalette(GetMonSpritePalStruct(mon));
+ sTradeData->monSpecies[whichParty] = species;
+ sTradeData->monPersonalities[whichParty] = personality;
+ break;
+ case 1:
+ SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos);
+ sTradeData->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6);
+ gSprites[sTradeData->pokePicSpriteIdxs[whichParty]].invisible = TRUE;
+ gSprites[sTradeData->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy;
+ break;
}
}
-void sub_807AE50(void)
+void CB2_LinkTrade(void)
{
switch (gMain.state)
{
- case 0:
- if (!gReceivedRemoteLinkPlayers)
- {
- gLinkType = 0x1144;
- CloseLink();
- }
- gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0));
- AllocateMonSpritesGfx();
- ResetTasks();
- ResetSpriteData();
- FreeAllSpritePalettes();
- SetVBlankCallback(sub_807AC24);
- sub_807B170();
- sub_807AC3C();
+ case 0:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ gLinkType = LINKTYPE_0x1144;
+ CloseLink();
+ }
+ sTradeData = AllocZeroed(sizeof(*sTradeData));
+ AllocateMonSpritesGfx();
+ ResetTasks();
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ SetVBlankCallback(VBlankCB_Trade);
+ InitTradeBgInternal();
+ ClearLinkTimeoutCounter();
+ gMain.state++;
+ sTradeData->neverRead_8C = 0;
+ sTradeData->state = 0;
+ sTradeData->isLinkTrade = TRUE;
+ sTradeData->texX = 64;
+ sTradeData->texY = 64;
+ sTradeData->neverRead_D8 = 0;
+ sTradeData->neverRead_DA = 0;
+ sTradeData->scrX = 120;
+ sTradeData->scrY = 80;
+ sTradeData->sXY = 256;
+ sTradeData->alpha = 0;
+ break;
+ case 1:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ sTradeData->isCableTrade = TRUE;
+ OpenLink();
gMain.state++;
- gUnknown_020322A0->unk_8C = 0;
- gUnknown_020322A0->state = 0;
- gUnknown_020322A0->isLinkTrade = TRUE;
- gUnknown_020322A0->unk_D4 = 64;
- gUnknown_020322A0->unk_D6 = 64;
- gUnknown_020322A0->unk_D8 = 0;
- gUnknown_020322A0->unk_DA = 0;
- gUnknown_020322A0->unk_DC = 120;
- gUnknown_020322A0->unk_DE = 80;
- gUnknown_020322A0->unk_E8 = 256;
- gUnknown_020322A0->unk_EC = 0;
- break;
- case 1:
- if (!gReceivedRemoteLinkPlayers)
- {
- gUnknown_020322A0->unk_FA = 1;
- OpenLink();
- gMain.state++;
- gUnknown_020322A0->timer = 0;
- }
- else
- {
- gMain.state = 4;
- }
- break;
- case 2:
- if (++gUnknown_020322A0->timer > 60)
- {
- gUnknown_020322A0->timer = 0;
- gMain.state++;
- }
- break;
- case 3:
- if (IsLinkMaster())
+ sTradeData->timer = 0;
+ }
+ else
+ {
+ gMain.state = 4;
+ }
+ break;
+ case 2:
+ if (++sTradeData->timer > 60)
+ {
+ sTradeData->timer = 0;
+ gMain.state++;
+ }
+ break;
+ case 3:
+ if (IsLinkMaster())
+ {
+ if (GetLinkPlayerCount_2() >= GetSavedPlayerCount())
{
- if (GetLinkPlayerCount_2() >= GetSavedPlayerCount())
+ if (++sTradeData->timer > 30)
{
- if (++gUnknown_020322A0->timer > 30)
- {
- CheckShouldAdvanceLinkState();
- gMain.state++;
- }
- }
- else
- {
- sub_807AC64();
+ CheckShouldAdvanceLinkState();
+ gMain.state++;
}
}
else
{
- gMain.state++;
+ CheckForLinkTimeout();
}
- break;
- case 4:
- sub_807AC64();
- if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE)
- gMain.state++;
- break;
- case 5:
- gUnknown_020322A0->unk_72 = 0;
- gUnknown_020322A0->unk_73 = 0;
- gUnknown_020322A0->unk_93 = 0;
- sub_807ACFC(0, 0);
- gMain.state++;
- break;
- case 6:
- sub_807ACFC(0, 1);
- gMain.state++;
- break;
- case 7:
- sub_807ACFC(1, 0);
- gMain.state++;
- break;
- case 8:
- sub_807ACFC(1, 1);
- sub_807B154();
- gMain.state++;
- break;
- case 9:
- sub_807BA94();
- LoadSpriteSheet(&gUnknown_08338D18);
- LoadSpritePalette(&gUnknown_08338D20);
- gMain.state++;
- break;
- case 10:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
- ShowBg(0);
+ }
+ else
+ {
gMain.state++;
- break;
- case 11:
- sub_807B140();
- SetTradeSceneStrings();
+ }
+ break;
+ case 4:
+ CheckForLinkTimeout();
+ if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE)
gMain.state++;
- break;
- case 12:
- if (!gPaletteFade.active)
+ break;
+ case 5:
+ sTradeData->playerLinkFlagFinishTrade = 0;
+ sTradeData->partnerLinkFlagFinishTrade = 0;
+ sTradeData->sendTradeFinishState = 0;
+ LoadTradeMonPic(TRADE_PLAYER, 0);
+ gMain.state++;
+ break;
+ case 6:
+ LoadTradeMonPic(TRADE_PLAYER, 1);
+ gMain.state++;
+ break;
+ case 7:
+ LoadTradeMonPic(TRADE_PARTNER, 0);
+ gMain.state++;
+ break;
+ case 8:
+ LoadTradeMonPic(TRADE_PARTNER, 1);
+ LinkTradeDrawWindow();
+ gMain.state++;
+ break;
+ case 9:
+ LoadTradeSequenceSpriteSheetsAndPalettes();
+ LoadSpriteSheet(&sPokeBallSpriteSheet);
+ LoadSpritePalette(&sPokeBallSpritePalette);
+ gMain.state++;
+ break;
+ case 10:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ ShowBg(0);
+ gMain.state++;
+ break;
+ case 11:
+ InitTradeSequenceBgGpuRegs();
+ BufferTradeSceneStrings();
+ gMain.state++;
+ break;
+ case 12:
+ if (!gPaletteFade.active)
+ {
+ if (gWirelessCommType)
{
- if (gWirelessCommType)
- {
- LoadWirelessStatusIndicatorSpriteGfx();
- CreateWirelessStatusIndicatorSprite(0, 0);
- }
- SetMainCallback2(sub_807EA2C);
+ LoadWirelessStatusIndicatorSpriteGfx();
+ CreateWirelessStatusIndicatorSprite(0, 0);
}
- break;
+ SetMainCallback2(CB2_UpdateLinkTrade);
+ }
+ break;
}
RunTasks();
RunTextPrinters();
@@ -4259,24 +2874,24 @@ void sub_807AE50(void)
UpdatePaletteFade();
}
-void sub_807B140(void)
+void InitTradeSequenceBgGpuRegs(void)
{
- sub_807B62C(5);
- sub_807B62C(0);
+ SetTradeSequenceBgGpuRegs(5);
+ SetTradeSequenceBgGpuRegs(0);
}
-void sub_807B154(void)
+void LinkTradeDrawWindow(void)
{
FillWindowPixelBuffer(0, PIXEL_FILL(15));
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
}
-static void sub_807B170(void)
+static void InitTradeBgInternal(void)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_08339014, ARRAY_COUNT(gUnknown_08339014));
+ InitBgsFromTemplates(0, sTradeSequenceBgTemplates, ARRAY_COUNT(sTradeSequenceBgTemplates));
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
SetBgTilemapBuffer(0, Alloc(0x800));
@@ -4287,88 +2902,87 @@ static void sub_807B170(void)
LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer);
CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0);
LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20);
- InitWindows(gUnknown_08338FFC);
+ InitWindows(sTradeSequenceWindowTemplates);
DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0);
LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer);
CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0);
LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20);
}
-// In-game trade init
-static void sub_807B270(void)
+static void CB2_InGameTrade(void)
{
u8 otName[11];
switch (gMain.state)
{
- case 0:
- gUnknown_02032298[0] = gSpecialVar_0x8005;
- gUnknown_02032298[1] = 6;
- StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName);
- GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName);
- StringCopy(gLinkPlayers[1].name, otName);
- gLinkPlayers[0].language = LANGUAGE_ENGLISH;
- gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE);
- gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0));
- AllocateMonSpritesGfx();
- ResetTasks();
- ResetSpriteData();
- FreeAllSpritePalettes();
- SetVBlankCallback(sub_807AC24);
- sub_807B170();
- gUnknown_020322A0->isLinkTrade = FALSE;
- gUnknown_020322A0->unk_8C = 0;
- gUnknown_020322A0->state = 0;
- gUnknown_020322A0->unk_D4 = 64;
- gUnknown_020322A0->unk_D6 = 64;
- gUnknown_020322A0->unk_D8 = 0;
- gUnknown_020322A0->unk_DA = 0;
- gUnknown_020322A0->unk_DC = 120;
- gUnknown_020322A0->unk_DE = 80;
- gUnknown_020322A0->unk_E8 = 256;
- gUnknown_020322A0->unk_EC = 0;
- gUnknown_020322A0->timer = 0;
- gMain.state = 5;
- break;
- case 5:
- sub_807ACFC(0, 0);
- gMain.state++;
- break;
- case 6:
- sub_807ACFC(0, 1);
- gMain.state++;
- break;
- case 7:
- sub_807ACFC(1, 0);
- ShowBg(0);
- gMain.state++;
- break;
- case 8:
- sub_807ACFC(1, 1);
- FillWindowPixelBuffer(0, PIXEL_FILL(15));
- PutWindowTilemap(0);
- CopyWindowToVram(0, 3);
- gMain.state++;
- break;
- case 9:
- sub_807BA94();
- LoadSpriteSheet(&gUnknown_08338D18);
- LoadSpritePalette(&gUnknown_08338D20);
- gMain.state++;
- break;
- case 10:
- ShowBg(0);
- gMain.state++;
- break;
- case 11:
- sub_807B62C(5);
- sub_807B62C(0);
- SetTradeSceneStrings();
- gMain.state++;
- break;
- case 12:
- SetMainCallback2(sub_807B60C);
- break;
+ case 0:
+ gSelectedTradeMonPositions[TRADE_PLAYER] = gSpecialVar_0x8005;
+ gSelectedTradeMonPositions[TRADE_PARTNER] = PARTY_SIZE;
+ StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName);
+ GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName);
+ StringCopy(gLinkPlayers[1].name, otName);
+ gLinkPlayers[0].language = LANGUAGE_ENGLISH;
+ gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE);
+ sTradeData = AllocZeroed(sizeof(*sTradeData));
+ AllocateMonSpritesGfx();
+ ResetTasks();
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ SetVBlankCallback(VBlankCB_Trade);
+ InitTradeBgInternal();
+ sTradeData->isLinkTrade = FALSE;
+ sTradeData->neverRead_8C = 0;
+ sTradeData->state = 0;
+ sTradeData->texX = 64;
+ sTradeData->texY = 64;
+ sTradeData->neverRead_D8 = 0;
+ sTradeData->neverRead_DA = 0;
+ sTradeData->scrX = 120;
+ sTradeData->scrY = 80;
+ sTradeData->sXY = 256;
+ sTradeData->alpha = 0;
+ sTradeData->timer = 0;
+ gMain.state = 5;
+ break;
+ case 5:
+ LoadTradeMonPic(TRADE_PLAYER, 0);
+ gMain.state++;
+ break;
+ case 6:
+ LoadTradeMonPic(TRADE_PLAYER, 1);
+ gMain.state++;
+ break;
+ case 7:
+ LoadTradeMonPic(TRADE_PARTNER, 0);
+ ShowBg(0);
+ gMain.state++;
+ break;
+ case 8:
+ LoadTradeMonPic(TRADE_PARTNER, 1);
+ FillWindowPixelBuffer(0, PIXEL_FILL(15));
+ PutWindowTilemap(0);
+ CopyWindowToVram(0, 3);
+ gMain.state++;
+ break;
+ case 9:
+ LoadTradeSequenceSpriteSheetsAndPalettes();
+ LoadSpriteSheet(&sPokeBallSpriteSheet);
+ LoadSpritePalette(&sPokeBallSpritePalette);
+ gMain.state++;
+ break;
+ case 10:
+ ShowBg(0);
+ gMain.state++;
+ break;
+ case 11:
+ SetTradeSequenceBgGpuRegs(5);
+ SetTradeSequenceBgGpuRegs(0);
+ BufferTradeSceneStrings();
+ gMain.state++;
+ break;
+ case 12:
+ SetMainCallback2(CB2_UpdateInGameTrade);
+ break;
}
RunTasks();
@@ -4378,7 +2992,7 @@ static void sub_807B270(void)
UpdatePaletteFade();
}
-static void sub_807B464(u8 partyIdx)
+static void UpdatePokedexForReceivedMon(u8 partyIdx)
{
struct Pokemon *mon = &gPlayerParty[partyIdx];
@@ -4392,7 +3006,8 @@ static void sub_807B464(u8 partyIdx)
}
}
-static void sub_807B4C4(void)
+// Functionally nop after commented code
+static void TryEnableNationalDexFromLinkPartner(void)
{
u8 mpId = GetMultiplayerId();
// Originally in Ruby but commented out
@@ -4400,56 +3015,55 @@ static void sub_807B4C4(void)
EnableNationalPokedex();*/
}
-static void sub_807B4D0(u8 a0, u8 a1)
+static void TradeMons(u8 playerPartyIdx, u8 partnerPartyIdx)
{
u8 friendship;
- struct Pokemon *playerMon = &gPlayerParty[a0];
+ struct Pokemon *playerMon = &gPlayerParty[playerPartyIdx];
u16 playerMail = GetMonData(playerMon, MON_DATA_MAIL);
- struct Pokemon *partnerMon = &gEnemyParty[a1];
+ struct Pokemon *partnerMon = &gEnemyParty[partnerPartyIdx];
u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL);
if (playerMail != 0xFF)
ClearMailStruct(&gSaveBlock1Ptr->mail[playerMail]);
- // This is where the actual trade happens!!
- gUnknown_020322A0->mon = *playerMon;
+ sTradeData->mon = *playerMon;
*playerMon = *partnerMon;
- *partnerMon = gUnknown_020322A0->mon;
+ *partnerMon = sTradeData->mon;
friendship = 70;
if (!GetMonData(playerMon, MON_DATA_IS_EGG))
SetMonData(playerMon, MON_DATA_FRIENDSHIP, &friendship);
if (partnerMail != 0xFF)
- GiveMailToMon2(playerMon, &gUnknown_020321C0[partnerMail]);
+ GiveMailToMon2(playerMon, &gTradeMail[partnerMail]);
- sub_807B464(a0);
+ UpdatePokedexForReceivedMon(playerPartyIdx);
if (gReceivedRemoteLinkPlayers)
- sub_807B4C4();
+ TryEnableNationalDexFromLinkPartner();
}
-static void sub_807B5B8(void)
+static void TrySendTradeFinishData(void)
{
- switch (gUnknown_020322A0->unk_93)
+ switch (sTradeData->sendTradeFinishState)
{
- case 1:
- if (IsLinkTaskFinished())
- {
- Trade_SendData(gUnknown_020322A0);
- gUnknown_020322A0->unk_93++;
- }
- // fallthrough
- case 2:
- gUnknown_020322A0->unk_93 = 0;
- break;
+ case 1:
+ if (IsLinkTaskFinished())
+ {
+ Trade_SendData(sTradeData);
+ sTradeData->sendTradeFinishState++;
+ }
+ // fallthrough
+ case 2:
+ sTradeData->sendTradeFinishState = 0;
+ break;
}
}
-static void sub_807B60C(void)
+static void CB2_UpdateInGameTrade(void)
{
- sub_807BBC8();
+ AnimateTradeSequence();
RunTasks();
RunTextPrinters();
AnimateSprites();
@@ -4457,1244 +3071,1238 @@ static void sub_807B60C(void)
UpdatePaletteFade();
}
-static void sub_807B62C(u8 a0)
+static void SetTradeSequenceBgGpuRegs(u8 state)
{
- switch (a0)
+ switch (state)
{
- case 0:
- gUnknown_020322A0->bg2vofs = 0;
- gUnknown_020322A0->bg2hofs = 180;
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG0_ON |
- DISPCNT_BG2_ON |
- DISPCNT_OBJ_ON);
- SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) |
- BGCNT_CHARBASE(1) |
- BGCNT_16COLOR |
- BGCNT_SCREENBASE(18) |
- BGCNT_TXT512x256);
- LoadPalette(gTradeGba2_Pal, 16, 0x60);
- DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000);
- DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000);
- break;
- case 1:
- gUnknown_020322A0->bg1hofs = 0;
- gUnknown_020322A0->bg1vofs = 348;
- SetGpuReg(REG_OFFSET_BG1VOFS, 348);
- SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) |
- BGCNT_CHARBASE(0) |
- BGCNT_16COLOR |
- BGCNT_SCREENBASE(5) |
- BGCNT_TXT256x512);
- SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) |
- BGCNT_CHARBASE(1) |
- BGCNT_16COLOR |
- BGCNT_SCREENBASE(18) |
- BGCNT_TXT256x512);
-
- if (gUnknown_020322A0->unk_FA)
- {
- DmaCopy16Defvars(3, gUnknown_083369A0, (void *) BG_SCREEN_ADDR(5), 0x1000);
- }
- else
- {
- DmaCopy16Defvars(3, gUnknown_083359A0, (void *) BG_SCREEN_ADDR(5), 0x1000);
- }
+ case 0:
+ sTradeData->bg2vofs = 0;
+ sTradeData->bg2hofs = 180;
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG0_ON |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) |
+ BGCNT_CHARBASE(1) |
+ BGCNT_16COLOR |
+ BGCNT_SCREENBASE(18) |
+ BGCNT_TXT512x256);
+ LoadPalette(gTradeGba2_Pal, 16, 0x60);
+ DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000);
+ break;
+ case 1:
+ sTradeData->bg1hofs = 0;
+ sTradeData->bg1vofs = 348;
+ SetGpuReg(REG_OFFSET_BG1VOFS, 348);
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) |
+ BGCNT_CHARBASE(0) |
+ BGCNT_16COLOR |
+ BGCNT_SCREENBASE(5) |
+ BGCNT_TXT256x512);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) |
+ BGCNT_CHARBASE(1) |
+ BGCNT_16COLOR |
+ BGCNT_SCREENBASE(18) |
+ BGCNT_TXT256x512);
+
+ if (sTradeData->isCableTrade)
+ {
+ DmaCopy16Defvars(3, sTradeTilemap_GbaCable, (void *) BG_SCREEN_ADDR(5), 0x1000);
+ }
+ else
+ {
+ DmaCopy16Defvars(3, sTradeTilemap_GbaWireless, (void *) BG_SCREEN_ADDR(5), 0x1000);
+ }
- DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000);
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_OBJ_ON);
- break;
- case 2:
- gUnknown_020322A0->bg1vofs = 0;
- gUnknown_020322A0->bg1hofs = 0;
- if (!gUnknown_020322A0->unk_FA)
- {
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_OBJ_ON);
- LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5));
- BlendPalettes(0x8, 16, RGB_BLACK);
- }
- else
- {
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_OBJ_ON);
- DmaCopy16Defvars(3, gUnknown_0832FFC0, (void *) BG_SCREEN_ADDR(5), 0x800);
- BlendPalettes(0x1, 16, RGB_BLACK);
- }
- break;
- case 3:
- LoadPalette(gUnknown_08337EA0, 48, 0x20);
- LZ77UnCompVram(gUnknown_08337EC0, (void *) BG_CHAR_ADDR(1));
- LZ77UnCompVram(gUnknown_08338550, (void *) BG_SCREEN_ADDR(18));
- gUnknown_020322A0->bg2vofs = 80;
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_BG2_ON |
- DISPCNT_OBJ_ON);
- break;
- case 4:
+ DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG1_ON |
+ DISPCNT_OBJ_ON);
+ break;
+ case 2:
+ sTradeData->bg1vofs = 0;
+ sTradeData->bg1hofs = 0;
+ if (!sTradeData->isCableTrade)
+ {
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG2_ON |
+ DISPCNT_BG1_ON |
DISPCNT_OBJ_ON);
- SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) |
- BGCNT_CHARBASE(1) |
- BGCNT_256COLOR |
- BGCNT_SCREENBASE(18) |
- BGCNT_AFF128x128);
- gUnknown_020322A0->unk_D4 = 64;
- gUnknown_020322A0->unk_D6 = 92;
- gUnknown_020322A0->unk_E8 = 32;
- gUnknown_020322A0->unk_EA = 1024;
- gUnknown_020322A0->unk_EC = 0;
-
- DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000);
-
- if (gUnknown_020322A0->unk_FA)
- {
- DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100);
- }
- else
- {
- DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100);
- }
- break;
- case 5:
- gUnknown_020322A0->bg1vofs = 0;
- gUnknown_020322A0->bg1hofs = 0;
- break;
- case 6:
+ LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5));
+ BlendPalettes(0x8, 16, RGB_BLACK);
+ }
+ else
+ {
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG2_ON |
+ DISPCNT_BG1_ON |
DISPCNT_OBJ_ON);
- SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) |
- BGCNT_CHARBASE(1) |
- BGCNT_256COLOR |
- BGCNT_SCREENBASE(18) |
- BGCNT_AFF128x128);
- gUnknown_020322A0->unk_D4 = 64;
- gUnknown_020322A0->unk_D6 = 92;
- gUnknown_020322A0->unk_E8 = 256;
- gUnknown_020322A0->unk_EA = 128;
- gUnknown_020322A0->unk_DC = 120;
- gUnknown_020322A0->unk_DE = 80;
- gUnknown_020322A0->unk_EC = 0;
-
- DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000);
-
- if (gUnknown_020322A0->unk_FA)
- {
- DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100);
- }
- else
- {
- DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100);
- }
- break;
- case 7:
- gUnknown_020322A0->bg2vofs = 0;
- gUnknown_020322A0->bg2hofs = 0;
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) |
- BGCNT_CHARBASE(1) |
- BGCNT_16COLOR |
- BGCNT_SCREENBASE(18) |
- BGCNT_TXT512x256);
- LoadPalette(gTradeGba2_Pal, 16, 0x60);
- DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000);
- DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000);
- break;
+ DmaCopy16Defvars(3, sTradeTilemap_Cable, (void *) BG_SCREEN_ADDR(5), 0x800);
+ BlendPalettes(0x1, 16, RGB_BLACK);
+ }
+ break;
+ case 3:
+ LoadPalette(sTradePal_Black, 48, 0x20);
+ LZ77UnCompVram(sTradeGfx_WirelessSignal, (void *) BG_CHAR_ADDR(1));
+ LZ77UnCompVram(sTradeTilemap_WirelessSignal, (void *) BG_SCREEN_ADDR(18));
+ sTradeData->bg2vofs = 80;
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG1_ON |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ break;
+ case 4:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) |
+ BGCNT_CHARBASE(1) |
+ BGCNT_256COLOR |
+ BGCNT_SCREENBASE(18) |
+ BGCNT_AFF128x128);
+ sTradeData->texX = 64;
+ sTradeData->texY = 92;
+ sTradeData->sXY = 32;
+ sTradeData->unk_EA = 1024;
+ sTradeData->alpha = 0;
+
+ DmaCopyLarge16(3, sTradeAffine_Gba, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000);
+
+ if (sTradeData->isCableTrade)
+ {
+ DmaCopy16Defvars(3, sTradeAffineMap_GbaCable, (void *) BG_SCREEN_ADDR(18), 0x100);
+ }
+ else
+ {
+ DmaCopy16Defvars(3, sTradeAffineMap_GbaWireless, (void *) BG_SCREEN_ADDR(18), 0x100);
+ }
+ break;
+ case 5:
+ sTradeData->bg1vofs = 0;
+ sTradeData->bg1hofs = 0;
+ break;
+ case 6:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) |
+ BGCNT_CHARBASE(1) |
+ BGCNT_256COLOR |
+ BGCNT_SCREENBASE(18) |
+ BGCNT_AFF128x128);
+ sTradeData->texX = 64;
+ sTradeData->texY = 92;
+ sTradeData->sXY = 256;
+ sTradeData->unk_EA = 128;
+ sTradeData->scrX = 120;
+ sTradeData->scrY = 80;
+ sTradeData->alpha = 0;
+
+ DmaCopyLarge16(3, sTradeAffine_Gba, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000);
+
+ if (sTradeData->isCableTrade)
+ {
+ DmaCopy16Defvars(3, sTradeAffineMap_GbaCable, (void *) BG_SCREEN_ADDR(18), 0x100);
+ }
+ else
+ {
+ DmaCopy16Defvars(3, sTradeAffineMap_GbaWireless, (void *) BG_SCREEN_ADDR(18), 0x100);
+ }
+ break;
+ case 7:
+ sTradeData->bg2vofs = 0;
+ sTradeData->bg2hofs = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) |
+ BGCNT_CHARBASE(1) |
+ BGCNT_16COLOR |
+ BGCNT_SCREENBASE(18) |
+ BGCNT_TXT512x256);
+ LoadPalette(gTradeGba2_Pal, 16, 0x60);
+ DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000);
+ break;
}
}
-static void sub_807BA94(void)
+static void LoadTradeSequenceSpriteSheetsAndPalettes(void)
{
- LoadSpriteSheet(&gUnknown_08338D70);
- LoadSpriteSheet(&gUnknown_08338DC0);
- LoadSpriteSheet(&gUnknown_08338DF4);
- LoadSpriteSheet(&gUnknown_08338E6C);
- LoadSpritePalette(&gUnknown_08338D78);
- LoadSpritePalette(&gUnknown_08338D80);
+ LoadSpriteSheet(&sGlow1SpriteSheet);
+ LoadSpriteSheet(&sGlow2SpriteSheet);
+ LoadSpriteSheet(&sCableEndSpriteSheet);
+ LoadSpriteSheet(&sGbaScreenSpriteSheet);
+ LoadSpritePalette(&sMiscTradeSpritePalette);
+ LoadSpritePalette(&sGbaSpritePalette);
}
-static void SetTradeSceneStrings(void)
+// Buffers "[Pokemon] will be sent to [Trainer]" strings
+static void BufferTradeSceneStrings(void)
{
- /*Sets the variable strings printed on the
- *actual trading screen. For use in strings
- *like "[Pokemon] will be sent to [Trainer]."
- */
u8 mpId;
u8 name[20];
const struct InGameTrade *ingameTrade;
- if (gUnknown_020322A0->isLinkTrade)
+ if (sTradeData->isLinkTrade)
{
mpId = GetMultiplayerId();
StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name);
- GetMonData(&gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE], MON_DATA_NICKNAME, name);
+ GetMonData(&gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE], MON_DATA_NICKNAME, name);
StringCopy10(gStringVar3, name);
- GetMonData(&gPlayerParty[gUnknown_02032298[0]], MON_DATA_NICKNAME, name);
+ GetMonData(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], MON_DATA_NICKNAME, name);
StringCopy10(gStringVar2, name);
}
else
{
- ingameTrade = &gIngameTrades[gSpecialVar_0x8004];
+ ingameTrade = &sIngameTrades[gSpecialVar_0x8004];
StringCopy(gStringVar1, ingameTrade->otName);
- StringCopy10(gStringVar3, ingameTrade->name);
+ StringCopy10(gStringVar3, ingameTrade->nickname);
GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name);
StringCopy10(gStringVar2, name);
}
}
-static u8 sub_807BBC8(void)
+// returns TRUE if it was a link trade, FALSE if it was an in-game trade
+static bool8 AnimateTradeSequence(void)
{
- if (gUnknown_020322A0->unk_FA)
- {
- return sub_807BBEC();
- }
+ if (sTradeData->isCableTrade)
+ return AnimateTradeSequenceCable();
else
- {
- return sub_807CFC8();
- }
+ return AnimateTradeSequenceWireless();
}
-static bool8 sub_807BBEC(void)
+static bool8 AnimateTradeSequenceCable(void)
{
u16 evoTarget;
- switch (gUnknown_020322A0->state)
+ switch (sTradeData->state)
{
- case 0:
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset;
- gUnknown_020322A0->state++;
- gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic();
- PlayNewMapMusic(MUS_SHINKA);
- break;
- case 1:
- if (gUnknown_020322A0->bg2hofs > 0)
- {
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3;
- gUnknown_020322A0->bg2hofs -= 3;
- }
- else
- {
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0;
- gUnknown_020322A0->bg2hofs = 0;
- gUnknown_020322A0->state = 10;
- }
- break;
- case 10:
- StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY);
- sub_807F1A8(0, gStringVar4, 0);
+ case 0:
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = -180;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PLAYER]].y_offset;
+ sTradeData->state++;
+ sTradeData->cachedMapMusic = GetCurrentMapMusic();
+ PlayNewMapMusic(MUS_SHINKA);
+ break;
+ case 1:
+ if (sTradeData->bg2hofs > 0)
+ {
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x += 3;
+ sTradeData->bg2hofs -= 3;
+ }
+ else
+ {
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = 0;
+ sTradeData->bg2hofs = 0;
+ sTradeData->state = 10;
+ }
+ break;
+ case 10:
+ StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
- if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG)
- {
- PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0);
- }
+ if (sTradeData->monSpecies[TRADE_PLAYER] != SPECIES_EGG)
+ {
+ PlayCry1(sTradeData->monSpecies[TRADE_PLAYER], 0);
+ }
- gUnknown_020322A0->state = 11;
- gUnknown_020322A0->timer = 0;
- break;
- case 11:
- if (++gUnknown_020322A0->timer == 80)
- {
- gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff);
- gUnknown_020322A0->state++;
- StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1);
- sub_807F1A8(0, gStringVar4, 0);
- }
- break;
- case 12:
- if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy)
- {
- gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0);
- gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8;
- DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]);
- gUnknown_020322A0->state++;
- }
- break;
- case 13:
- // The game waits here for the sprite to finish its animation sequence.
- break;
- case 14:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state = 20;
- break;
- case 20:
- if (!gPaletteFade.active)
- {
- sub_807B62C(4);
- FillWindowPixelBuffer(0, PIXEL_FILL(15));
- CopyWindowToVram(0, 3);
- gUnknown_020322A0->state++;
- }
- break;
- case 21:
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 22:
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state = 23;
- }
- break;
- case 23:
- if (gUnknown_020322A0->unk_EA > 0x100)
- {
- gUnknown_020322A0->unk_EA -= 0x34;
- }
- else
- {
- sub_807B62C(1);
- gUnknown_020322A0->unk_EA = 0x80;
- gUnknown_020322A0->state++;
- gUnknown_020322A0->timer = 0;
- }
- gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA;
- break;
- case 24:
- if (++gUnknown_020322A0->timer > 20)
- {
- sub_807AB28();
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0);
- gUnknown_020322A0->state++;
- }
- break;
- case 25:
- if (gSprites[gUnknown_020322A0->unk_91].animEnded)
- {
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND |
- BLDCNT_TGT2_BG1 |
- BLDCNT_TGT2_BG2);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4));
- gUnknown_020322A0->state++;
- }
- break;
- case 26:
- if (--gUnknown_020322A0->bg1vofs == 316)
- {
- gUnknown_020322A0->state++;
- }
- if (gUnknown_020322A0->bg1vofs == 328)
- {
- gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0);
- }
- break;
- case 27:
- gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3);
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, 80, 0);
- StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1);
- gUnknown_020322A0->state++;
- break;
- case 28:
- if ((gUnknown_020322A0->bg1vofs -= 2) == 166)
- {
- gUnknown_020322A0->state = 200;
- }
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_OBJ_ON);
- break;
- case 200:
- gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2;
- gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2;
- if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8)
- {
- gUnknown_020322A0->state = 29;
- }
- break;
- case 29:
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state = 30;
- break;
- case 30:
- if (!gPaletteFade.active)
- {
- DestroySprite(&gSprites[gUnknown_020322A0->unk_90]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- sub_807B62C(2);
- gUnknown_020322A0->state++;
- }
- break;
- case 31:
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0);
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0);
- gUnknown_020322A0->state++;
- break;
- case 32:
- if (!gPaletteFade.active)
- {
- PlaySE(SE_TK_WARPOUT);
- gUnknown_020322A0->state++;
- }
- gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 3;
- break;
- case 33:
- gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 3;
- if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90)
- {
- gSprites[gUnknown_020322A0->unk_90].data[1] = 1;
- gSprites[gUnknown_020322A0->unk_91].data[1] = 1;
- gUnknown_020322A0->state++;
- }
- break;
- case 34:
- BlendPalettes(0x1, 16, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 35:
+ sTradeData->state = 11;
+ sTradeData->timer = 0;
+ break;
+ case 11:
+ if (++sTradeData->timer == 80)
+ {
+ sTradeData->pokeballSpriteId = CreateTradePokeballSprite(sTradeData->pokePicSpriteIdxs[0], gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff);
+ sTradeData->state++;
+ StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ }
+ break;
+ case 12:
+ if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy)
+ {
+ sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0);
+ gSprites[sTradeData->unk_D3].callback = sub_807E5D8;
+ DestroySprite(&gSprites[sTradeData->pokeballSpriteId]);
+ sTradeData->state++;
+ }
+ break;
+ case 13:
+ // The game waits here for the sprite to finish its animation sequence.
+ break;
+ case 14:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sTradeData->state = 20;
+ break;
+ case 20:
+ if (!gPaletteFade.active)
+ {
+ SetTradeSequenceBgGpuRegs(4);
+ FillWindowPixelBuffer(0, PIXEL_FILL(15));
+ CopyWindowToVram(0, 3);
+ sTradeData->state++;
+ }
+ break;
+ case 21:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 22:
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state = 23;
+ }
+ break;
+ case 23:
+ if (sTradeData->unk_EA > 0x100)
+ {
+ sTradeData->unk_EA -= 0x34;
+ }
+ else
+ {
+ SetTradeSequenceBgGpuRegs(1);
+ sTradeData->unk_EA = 0x80;
+ sTradeData->state++;
+ sTradeData->timer = 0;
+ }
+ sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ break;
+ case 24:
+ if (++sTradeData->timer > 20)
+ {
+ SetTradeBGAffine();
+ sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0);
+ sTradeData->state++;
+ }
+ break;
+ case 25:
+ if (gSprites[sTradeData->unk_91].animEnded)
+ {
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND |
+ BLDCNT_TGT2_BG1 |
+ BLDCNT_TGT2_BG2);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4));
+ sTradeData->state++;
+ }
+ break;
+ case 26:
+ if (--sTradeData->bg1vofs == 316)
+ {
+ sTradeData->state++;
+ }
+ if (sTradeData->bg1vofs == 328)
+ {
+ sTradeData->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0);
+ }
+ break;
+ case 27:
+ sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3);
+ sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, 80, 0);
+ StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ sTradeData->state++;
+ break;
+ case 28:
+ if ((sTradeData->bg1vofs -= 2) == 166)
+ {
+ sTradeData->state = 200;
+ }
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG1_ON |
+ DISPCNT_OBJ_ON);
+ break;
+ case 200:
+ gSprites[sTradeData->unk_90].pos1.y -= 2;
+ gSprites[sTradeData->unk_91].pos1.y -= 2;
+ if (gSprites[sTradeData->unk_90].pos1.y < -8)
+ {
+ sTradeData->state = 29;
+ }
+ break;
+ case 29:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
+ sTradeData->state = 30;
+ break;
+ case 30:
+ if (!gPaletteFade.active)
+ {
+ DestroySprite(&gSprites[sTradeData->unk_90]);
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ SetTradeSequenceBgGpuRegs(2);
+ sTradeData->state++;
+ }
+ break;
+ case 31:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0);
+ sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0);
+ sTradeData->state++;
+ break;
+ case 32:
+ if (!gPaletteFade.active)
+ {
+ PlaySE(SE_TK_WARPOUT);
+ sTradeData->state++;
+ }
+ gSprites[sTradeData->unk_90].pos2.y -= 3;
+ gSprites[sTradeData->unk_91].pos2.y += 3;
+ break;
+ case 33:
+ gSprites[sTradeData->unk_90].pos2.y -= 3;
+ gSprites[sTradeData->unk_91].pos2.y += 3;
+ if (gSprites[sTradeData->unk_90].pos2.y <= -90)
+ {
+ gSprites[sTradeData->unk_90].data[1] = 1;
+ gSprites[sTradeData->unk_91].data[1] = 1;
+ sTradeData->state++;
+ }
+ break;
+ case 34:
+ BlendPalettes(0x1, 16, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 35:
+ BlendPalettes(0x1, 0, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 36:
+ BlendPalettes(0x1, 16, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 37:
+ if (!IsMonSpriteNotFlipped(sTradeData->monSpecies[TRADE_PLAYER]))
+ {
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].affineAnims = gSpriteAffineAnimTable_8338ECC;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
+ CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), ST_OAM_AFFINE_DOUBLE);
+ StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0);
+ }
+ else
+ {
+ StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0);
+ }
+ StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0);
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.x = 60;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 180;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.y = 192;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = -32;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = FALSE;
+ sTradeData->state++;
+ break;
+ case 38:
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y -= 3;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y += 3;
+ if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y >= -163)
+ {
+ PlaySE(SE_TK_WARPIN);
+ }
+ if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -222)
+ {
+ gSprites[sTradeData->unk_90].data[1] = 0;
+ gSprites[sTradeData->unk_91].data[1] = 0;
+ sTradeData->state++;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = TRUE;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = TRUE;
BlendPalettes(0x1, 0, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 36:
- BlendPalettes(0x1, 16, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 37:
- if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0]))
- {
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3;
- CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3);
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0);
- }
- else
- {
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0);
- }
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0);
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 60;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 180;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE;
- gUnknown_020322A0->state++;
- break;
- case 38:
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3;
- if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163)
- {
- PlaySE(SE_TK_WARPIN);
- }
- if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222)
- {
- gSprites[gUnknown_020322A0->unk_90].data[1] = 0;
- gSprites[gUnknown_020322A0->unk_91].data[1] = 0;
- gUnknown_020322A0->state++;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE;
- BlendPalettes(0x1, 0, RGB_WHITEALPHA);
- }
- break;
- case 39:
- gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 3;
- if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222)
- {
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state++;
- DestroySprite(&gSprites[gUnknown_020322A0->unk_90]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- }
- break;
- case 40:
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state++;
- sub_807B62C(1);
- gUnknown_020322A0->bg1vofs = 166;
- gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3);
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, -20, 0);
- StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1);
- }
- break;
- case 41:
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 42:
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_OBJ_ON);
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 43:
- gSprites[gUnknown_020322A0->unk_90].pos2.y += 3;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 3;
- if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 44:
- if ((gUnknown_020322A0->bg1vofs += 2) > 316)
- {
- gUnknown_020322A0->bg1vofs = 316;
- gUnknown_020322A0->state++;
- }
- break;
- case 45:
- DestroySprite(&gSprites[gUnknown_020322A0->unk_90]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- gUnknown_020322A0->state++;
- gUnknown_020322A0->timer = 0;
- break;
- case 46:
- if (++gUnknown_020322A0->timer == 10)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 47:
- if (++gUnknown_020322A0->bg1vofs > 348)
- {
- gUnknown_020322A0->bg1vofs = 348;
- gUnknown_020322A0->state++;
- }
- if (gUnknown_020322A0->bg1vofs == 328 && gUnknown_020322A0->unk_FA)
- {
- gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0);
- gSprites[gUnknown_020322A0->unk_92].callback = sub_807AAE0;
- }
- break;
- case 48:
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0);
- gUnknown_020322A0->state = 50;
- break;
- case 50:
- if (gSprites[gUnknown_020322A0->unk_91].animEnded)
- {
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- sub_807B62C(6);
- gUnknown_020322A0->state++;
- PlaySE(SE_W028);
- }
- break;
- case 51:
- if (gUnknown_020322A0->unk_EA < 0x400)
- {
- gUnknown_020322A0->unk_EA += 0x34;
- }
- else
- {
- gUnknown_020322A0->unk_EA = 0x400;
- gUnknown_020322A0->state++;
- }
- gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA;
- break;
- case 52:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state = 60;
- break;
+ }
+ break;
+ case 39:
+ gSprites[sTradeData->unk_90].pos2.y -= 3;
+ gSprites[sTradeData->unk_91].pos2.y += 3;
+ if (gSprites[sTradeData->unk_90].pos2.y <= -222)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
+ sTradeData->state++;
+ DestroySprite(&gSprites[sTradeData->unk_90]);
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ }
+ break;
+ case 40:
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state++;
+ SetTradeSequenceBgGpuRegs(1);
+ sTradeData->bg1vofs = 166;
+ sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3);
+ sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 128, -20, 0);
+ StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ }
+ break;
+ case 41:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 42:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG1_ON |
+ DISPCNT_OBJ_ON);
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 43:
+ gSprites[sTradeData->unk_90].pos2.y += 3;
+ gSprites[sTradeData->unk_91].pos2.y += 3;
+ if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 44:
+ if ((sTradeData->bg1vofs += 2) > 316)
+ {
+ sTradeData->bg1vofs = 316;
+ sTradeData->state++;
+ }
+ break;
+ case 45:
+ DestroySprite(&gSprites[sTradeData->unk_90]);
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ sTradeData->state++;
+ sTradeData->timer = 0;
+ break;
+ case 46:
+ if (++sTradeData->timer == 10)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 47:
+ if (++sTradeData->bg1vofs > 348)
+ {
+ sTradeData->bg1vofs = 348;
+ sTradeData->state++;
+ }
+ if (sTradeData->bg1vofs == 328 && sTradeData->isCableTrade)
+ {
+ sTradeData->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0);
+ gSprites[sTradeData->unk_92].callback = sub_807AAE0;
+ }
+ break;
+ case 48:
+ sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0);
+ sTradeData->state = 50;
+ break;
+ case 50:
+ if (gSprites[sTradeData->unk_91].animEnded)
+ {
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ SetTradeSequenceBgGpuRegs(6);
+ sTradeData->state++;
+ PlaySE(SE_W028);
+ }
+ break;
+ case 51:
+ if (sTradeData->unk_EA < 0x400)
+ {
+ sTradeData->unk_EA += 0x34;
+ }
+ else
+ {
+ sTradeData->unk_EA = 0x400;
+ sTradeData->state++;
+ }
+ sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ break;
+ case 52:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sTradeData->state = 60;
+ break;
- case 60:
- if (!gPaletteFade.active)
- {
- sub_807B62C(5);
- sub_807B62C(7);
- gPaletteFade.bufferTransferDisabled = TRUE;
- gUnknown_020322A0->state++;
- }
- break;
- case 61:
- gPaletteFade.bufferTransferDisabled = FALSE;
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 62:
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG2_ON |
- DISPCNT_OBJ_ON);
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 63:
- gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0);
- gSprites[gUnknown_020322A0->unk_D3].data[3] = 74;
- gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC;
- StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1);
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2);
- BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- gUnknown_020322A0->timer = 0;
- break;
- case 64:
- BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 65:
- if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy)
- {
- HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]);
- gUnknown_020322A0->state++;
- }
- break;
- case 66:
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0;
- StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0);
- CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]);
- FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]);
- gUnknown_020322A0->state++;
- break;
- case 67:
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG0_ON |
- DISPCNT_BG2_ON |
- DISPCNT_OBJ_ON);
- StringExpandPlaceholders(gStringVar4, gText_XSentOverY);
- sub_807F1A8(0, gStringVar4, 0);
- gUnknown_020322A0->state = 167;
- gUnknown_020322A0->timer = 0;
- break;
- // 167 and 267 are extra cases added in for animations
- case 167:
- if (++gUnknown_020322A0->timer > 60)
- {
- gUnknown_020322A0->state = 267;
- gUnknown_020322A0->timer = 0;
- }
- break;
- case 267:
- if (IsCryFinished())
- {
- gUnknown_020322A0->state = 68;
- }
- break;
- case 68:
- if (++gUnknown_020322A0->timer == 10)
- {
- PlayFanfare(MUS_FANFA5);
- }
- if (gUnknown_020322A0->timer == 250)
- {
- gUnknown_020322A0->state++;
- StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX);
- sub_807F1A8(0, gStringVar4, 0);
- gUnknown_020322A0->timer = 0;
- }
- break;
- case 69:
- if (++gUnknown_020322A0->timer == 60)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 70:
- sub_807F14C();
- gUnknown_020322A0->state++;
- break;
- case 71:
- if (gUnknown_020322A0->isLinkTrade)
- {
- return TRUE;
- }
- else if (gMain.newKeys & A_BUTTON)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 72: // Only if in-game trade
- sub_807B4D0(gSpecialVar_0x8005, 0);
- gCB2_AfterEvolution = sub_807B60C;
- evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE);
- if (evoTarget != SPECIES_NONE)
- {
- TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]);
- }
- gUnknown_020322A0->state++;
- break;
- case 73:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 74:
- if (!gPaletteFade.active)
- {
- PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic);
- if (gUnknown_020322A0)
- {
- FreeAllWindowBuffers();
- Free(GetBgTilemapBuffer(3));
- Free(GetBgTilemapBuffer(1));
- Free(GetBgTilemapBuffer(0));
- FreeMonSpritesGfx();
- FREE_AND_SET_NULL(gUnknown_020322A0);
- }
- SetMainCallback2(CB2_ReturnToField);
- sub_807E784();
- }
- break;
+ case 60:
+ if (!gPaletteFade.active)
+ {
+ SetTradeSequenceBgGpuRegs(5);
+ SetTradeSequenceBgGpuRegs(7);
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ sTradeData->state++;
+ }
+ break;
+ case 61:
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 62:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 63:
+ sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0);
+ gSprites[sTradeData->unk_D3].data[3] = 74;
+ gSprites[sTradeData->unk_D3].callback = sub_807E6AC;
+ StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1);
+ StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2);
+ BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA);
+ sTradeData->state++;
+ sTradeData->timer = 0;
+ break;
+ case 64:
+ BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 65:
+ if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy)
+ {
+ HandleLoadSpecialPokePic_2(&gMonFrontPicTable[sTradeData->monSpecies[TRADE_PARTNER]], gMonSpritesGfxPtr->sprites[3], sTradeData->monSpecies[TRADE_PARTNER], sTradeData->monPersonalities[TRADE_PARTNER]);
+ sTradeData->state++;
+ }
+ break;
+ case 66:
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 120;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PARTNER]].y_offset + 60;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.x = 0;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y = 0;
+ StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0);
+ CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, sTradeData->monSpecies[TRADE_PARTNER]);
+ FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]);
+ DestroySprite(&gSprites[sTradeData->unk_D3]);
+ sTradeData->state++;
+ break;
+ case 67:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG0_ON |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ StringExpandPlaceholders(gStringVar4, gText_XSentOverY);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ sTradeData->state = 167;
+ sTradeData->timer = 0;
+ break;
+ // 167 and 267 are extra cases added in for animations
+ case 167:
+ if (++sTradeData->timer > 60)
+ {
+ sTradeData->state = 267;
+ sTradeData->timer = 0;
+ }
+ break;
+ case 267:
+ if (IsCryFinished())
+ {
+ sTradeData->state = 68;
+ }
+ break;
+ case 68:
+ if (++sTradeData->timer == 10)
+ {
+ PlayFanfare(MUS_FANFA5);
+ }
+ if (sTradeData->timer == 250)
+ {
+ sTradeData->state++;
+ StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ sTradeData->timer = 0;
+ }
+ break;
+ case 69:
+ if (++sTradeData->timer == 60)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 70:
+ CheckPartnersMonForRibbons();
+ sTradeData->state++;
+ break;
+ case 71:
+ if (sTradeData->isLinkTrade)
+ {
+ return TRUE;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 72: // Only if in-game trade
+ TradeMons(gSpecialVar_0x8005, 0);
+ gCB2_AfterEvolution = CB2_UpdateInGameTrade;
+ evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE);
+ if (evoTarget != SPECIES_NONE)
+ {
+ TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]);
+ }
+ sTradeData->state++;
+ break;
+ case 73:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 74:
+ if (!gPaletteFade.active)
+ {
+ PlayNewMapMusic(sTradeData->cachedMapMusic);
+ if (sTradeData)
+ {
+ FreeAllWindowBuffers();
+ Free(GetBgTilemapBuffer(3));
+ Free(GetBgTilemapBuffer(1));
+ Free(GetBgTilemapBuffer(0));
+ FreeMonSpritesGfx();
+ FREE_AND_SET_NULL(sTradeData);
+ }
+ SetMainCallback2(CB2_ReturnToField);
+ BufferInGameTradeMonName();
+ }
+ break;
}
return FALSE;
}
-static bool8 sub_807CFC8(void)
+static bool8 AnimateTradeSequenceWireless(void)
{
u16 evoTarget;
- switch (gUnknown_020322A0->state)
+ switch (sTradeData->state)
{
- case 0:
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset;
- gUnknown_020322A0->state++;
- gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic();
- PlayNewMapMusic(MUS_SHINKA);
- break;
- case 1:
- if (gUnknown_020322A0->bg2hofs > 0)
- {
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3;
- gUnknown_020322A0->bg2hofs -= 3;
- }
- else
- {
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0;
- gUnknown_020322A0->bg2hofs = 0;
- gUnknown_020322A0->state = 10;
- }
- break;
- case 10:
- StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY);
- sub_807F1A8(0, gStringVar4, 0);
+ case 0:
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = -180;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PLAYER]].y_offset;
+ sTradeData->state++;
+ sTradeData->cachedMapMusic = GetCurrentMapMusic();
+ PlayNewMapMusic(MUS_SHINKA);
+ break;
+ case 1:
+ if (sTradeData->bg2hofs > 0)
+ {
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x += 3;
+ sTradeData->bg2hofs -= 3;
+ }
+ else
+ {
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.x = 0;
+ sTradeData->bg2hofs = 0;
+ sTradeData->state = 10;
+ }
+ break;
+ case 10:
+ StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
- if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG)
- {
- PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0);
- }
+ if (sTradeData->monSpecies[TRADE_PLAYER] != SPECIES_EGG)
+ {
+ PlayCry1(sTradeData->monSpecies[TRADE_PLAYER], 0);
+ }
- gUnknown_020322A0->state = 11;
- gUnknown_020322A0->timer = 0;
- break;
- case 11:
- if (++gUnknown_020322A0->timer == 80)
- {
- gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff);
- gUnknown_020322A0->state++;
- StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1);
- sub_807F1A8(0, gStringVar4, 0);
- }
- break;
- case 12:
- if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy)
- {
- gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0);
- gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8;
- DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]);
- gUnknown_020322A0->state++;
- }
- break;
- case 13:
- // The game waits here for the sprite to finish its animation sequence.
- break;
- case 14:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state = 20;
- break;
- case 20:
- if (!gPaletteFade.active)
- {
- sub_807B62C(4);
- FillWindowPixelBuffer(0, PIXEL_FILL(15));
- CopyWindowToVram(0, 3);
- gUnknown_020322A0->state++;
- }
- break;
- case 21:
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 22:
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state = 23;
- }
- break;
- case 23:
- if (gUnknown_020322A0->unk_EA > 0x100)
- {
- gUnknown_020322A0->unk_EA -= 0x34;
- }
- else
- {
- sub_807B62C(1);
- gUnknown_020322A0->unk_EA = 0x80;
- gUnknown_020322A0->state = 124;
- gUnknown_020322A0->timer = 0;
- }
- gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA;
- break;
- case 124:
- if (++gUnknown_020322A0->timer > 20)
- {
- sub_807B62C(3);
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0);
- gUnknown_020322A0->state++;
- }
- break;
- case 125:
- if (gSprites[gUnknown_020322A0->unk_91].animEnded)
- {
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 |
- BLDCNT_TGT1_OBJ |
- BLDCNT_EFFECT_BLEND |
- BLDCNT_TGT2_BG2);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4));
- CreateTask(c3_08054588, 5);
- gUnknown_020322A0->state++;
- }
- break;
- case 126:
- if (!FuncIsActiveTask(c3_08054588))
- {
- gUnknown_020322A0->state = 26;
- }
- break;
- case 26:
- if (--gUnknown_020322A0->bg1vofs == 316)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 27:
- gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3);
- gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C;
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, 80, 0);
- StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1);
- gUnknown_020322A0->state++;
- break;
- case 28:
- if ((gUnknown_020322A0->bg1vofs -= 3) == 166)
- {
- gUnknown_020322A0->state = 200;
- }
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_OBJ_ON);
- break;
- case 200:
- gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2;
- gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2;
- if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8)
- {
- gUnknown_020322A0->state = 29;
- }
- break;
- case 29:
+ sTradeData->state = 11;
+ sTradeData->timer = 0;
+ break;
+ case 11:
+ if (++sTradeData->timer == 80)
+ {
+ sTradeData->pokeballSpriteId = CreateTradePokeballSprite(sTradeData->pokePicSpriteIdxs[0], gSprites[sTradeData->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff);
+ sTradeData->state++;
+ StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ }
+ break;
+ case 12:
+ if (gSprites[sTradeData->pokeballSpriteId].callback == SpriteCallbackDummy)
+ {
+ sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0);
+ gSprites[sTradeData->unk_D3].callback = sub_807E5D8;
+ DestroySprite(&gSprites[sTradeData->pokeballSpriteId]);
+ sTradeData->state++;
+ }
+ break;
+ case 13:
+ // The game waits here for the sprite to finish its animation sequence.
+ break;
+ case 14:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sTradeData->state = 20;
+ break;
+ case 20:
+ if (!gPaletteFade.active)
+ {
+ SetTradeSequenceBgGpuRegs(4);
+ FillWindowPixelBuffer(0, PIXEL_FILL(15));
+ CopyWindowToVram(0, 3);
+ sTradeData->state++;
+ }
+ break;
+ case 21:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 22:
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state = 23;
+ }
+ break;
+ case 23:
+ if (sTradeData->unk_EA > 0x100)
+ {
+ sTradeData->unk_EA -= 0x34;
+ }
+ else
+ {
+ SetTradeSequenceBgGpuRegs(1);
+ sTradeData->unk_EA = 0x80;
+ sTradeData->state = 124;
+ sTradeData->timer = 0;
+ }
+ sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ break;
+ case 124:
+ if (++sTradeData->timer > 20)
+ {
+ SetTradeSequenceBgGpuRegs(3);
+ sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0);
+ sTradeData->state++;
+ }
+ break;
+ case 125:
+ if (gSprites[sTradeData->unk_91].animEnded)
+ {
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 |
+ BLDCNT_TGT1_OBJ |
+ BLDCNT_EFFECT_BLEND |
+ BLDCNT_TGT2_BG2);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4));
+ CreateTask(Task_AnimateWirelessSignal, 5);
+ sTradeData->state++;
+ }
+ break;
+ case 126:
+ if (!FuncIsActiveTask(Task_AnimateWirelessSignal))
+ {
+ sTradeData->state = 26;
+ }
+ break;
+ case 26:
+ if (--sTradeData->bg1vofs == 316)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 27:
+ sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3);
+ gSprites[sTradeData->unk_90].callback = sub_807AA4C;
+ sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, 80, 0);
+ StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ sTradeData->state++;
+ break;
+ case 28:
+ if ((sTradeData->bg1vofs -= 3) == 166)
+ {
+ sTradeData->state = 200;
+ }
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG1_ON |
+ DISPCNT_OBJ_ON);
+ break;
+ case 200:
+ gSprites[sTradeData->unk_90].pos1.y -= 2;
+ gSprites[sTradeData->unk_91].pos1.y -= 2;
+ if (gSprites[sTradeData->unk_90].pos1.y < -8)
+ {
+ sTradeData->state = 29;
+ }
+ break;
+ case 29:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
+ sTradeData->state = 30;
+ break;
+ case 30:
+ if (!gPaletteFade.active)
+ {
+ DestroySprite(&gSprites[sTradeData->unk_90]);
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ SetTradeSequenceBgGpuRegs(2);
+ sTradeData->state++;
+ }
+ break;
+ case 31:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ sTradeData->unk_90 = CreateSprite(&sGlowBallSpriteTemplate, 111, 170, 0);
+ sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 129, -10, 0);
+ sTradeData->state++;
+ break;
+ case 32:
+ if (!gPaletteFade.active)
+ {
+ PlaySE(SE_TK_WARPOUT);
+ sTradeData->state++;
+ }
+ gSprites[sTradeData->unk_90].pos2.y -= 3;
+ gSprites[sTradeData->unk_91].pos2.y += 3;
+ break;
+ case 33:
+ gSprites[sTradeData->unk_90].pos2.y -= 3;
+ gSprites[sTradeData->unk_91].pos2.y += 3;
+ if (gSprites[sTradeData->unk_90].pos2.y <= -90)
+ {
+ gSprites[sTradeData->unk_90].data[1] = 1;
+ gSprites[sTradeData->unk_91].data[1] = 1;
+ sTradeData->state++;
+ CreateTask(c3_0805465C, 5);
+ }
+ break;
+ case 34:
+ BlendPalettes(0x8, 16, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 35:
+ BlendPalettes(0x8, 16, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 36:
+ BlendPalettes(0x8, 16, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 37:
+ if (!IsMonSpriteNotFlipped(sTradeData->monSpecies[TRADE_PLAYER]))
+ {
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].affineAnims = gSpriteAffineAnimTable_8338ECC;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
+ CalcCenterToCornerVec(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], SPRITE_SHAPE(64x64), SPRITE_SIZE(64x64), ST_OAM_AFFINE_DOUBLE);
+ StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0);
+ }
+ else
+ {
+ StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]], 0);
+ }
+ StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0);
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.x = 40;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 200;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos1.y = 192;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = -32;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = FALSE;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = FALSE;
+ sTradeData->state++;
+ break;
+ case 38:
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y -= 3;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y += 3;
+ if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y >= -163)
+ {
+ PlaySE(SE_TK_WARPIN);
+ }
+ if (gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].pos2.y < -222)
+ {
+ gSprites[sTradeData->unk_90].data[1] = 0;
+ gSprites[sTradeData->unk_91].data[1] = 0;
+ sTradeData->state++;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]].invisible = TRUE;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].invisible = TRUE;
+ CreateTask(sub_807F39C, 5);
+ }
+ break;
+ case 39:
+ gSprites[sTradeData->unk_90].pos2.y -= 3;
+ gSprites[sTradeData->unk_91].pos2.y += 3;
+ if (gSprites[sTradeData->unk_90].pos2.y <= -222)
+ {
BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state = 30;
- break;
- case 30:
- if (!gPaletteFade.active)
- {
- DestroySprite(&gSprites[gUnknown_020322A0->unk_90]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- sub_807B62C(2);
- gUnknown_020322A0->state++;
- }
- break;
- case 31:
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0);
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0);
- gUnknown_020322A0->state++;
- break;
- case 32:
- if (!gPaletteFade.active)
- {
- PlaySE(SE_TK_WARPOUT);
- gUnknown_020322A0->state++;
- }
- gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 3;
- break;
- case 33:
- gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 3;
- if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90)
- {
- gSprites[gUnknown_020322A0->unk_90].data[1] = 1;
- gSprites[gUnknown_020322A0->unk_91].data[1] = 1;
- gUnknown_020322A0->state++;
- CreateTask(c3_0805465C, 5);
- }
- break;
- case 34:
- BlendPalettes(0x8, 16, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 35:
- BlendPalettes(0x8, 16, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 36:
- BlendPalettes(0x8, 16, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 37:
- if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0]))
- {
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3;
- CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3);
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0);
- }
- else
- {
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0);
- }
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0);
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 40;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 200;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE;
- gUnknown_020322A0->state++;
- break;
- case 38:
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3;
- if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163)
- {
- PlaySE(SE_TK_WARPIN);
- }
- if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222)
- {
- gSprites[gUnknown_020322A0->unk_90].data[1] = 0;
- gSprites[gUnknown_020322A0->unk_91].data[1] = 0;
- gUnknown_020322A0->state++;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE;
- CreateTask(sub_807F39C, 5);
- }
- break;
- case 39:
- gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 3;
- if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222)
- {
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state++;
- DestroySprite(&gSprites[gUnknown_020322A0->unk_90]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- }
- break;
- case 40:
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state++;
- sub_807B62C(1);
- gUnknown_020322A0->bg1vofs = 166;
- sub_807B62C(3);
- gUnknown_020322A0->bg2vofs = 412;
- gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3);
- gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C;
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, -20, 0);
- StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1);
- }
- break;
- case 41:
- BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 42:
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_OBJ_ON);
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 43:
- gSprites[gUnknown_020322A0->unk_90].pos2.y += 4;
- gSprites[gUnknown_020322A0->unk_91].pos2.y += 4;
- if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64)
- {
- gUnknown_020322A0->state = 144;
- gUnknown_020322A0->timer = 0;
- }
- break;
- case 144:
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG1_ON |
- DISPCNT_BG2_ON |
- DISPCNT_OBJ_ON);
- gUnknown_020322A0->bg1vofs += 3;
- gUnknown_020322A0->bg2vofs += 3;
- if (++gUnknown_020322A0->timer == 10)
- {
- u8 taskId = CreateTask(c3_08054588, 5);
- gTasks[taskId].data[2] = 1;
- }
- if (gUnknown_020322A0->bg1vofs > 316)
- {
- gUnknown_020322A0->bg1vofs = 316;
- gUnknown_020322A0->state++;
- }
- break;
- case 145:
- DestroySprite(&gSprites[gUnknown_020322A0->unk_90]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- gUnknown_020322A0->state++;
- gUnknown_020322A0->timer = 0;
- break;
- case 146:
- if (!FuncIsActiveTask(c3_08054588))
- {
- gUnknown_020322A0->state = 46;
- gUnknown_020322A0->timer = 0;
- }
- break;
- case 46:
- if (++gUnknown_020322A0->timer == 10)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 47:
- if (++gUnknown_020322A0->bg1vofs > 348)
- {
- gUnknown_020322A0->bg1vofs = 348;
- gUnknown_020322A0->state++;
- }
- break;
- case 48:
- gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0);
- gUnknown_020322A0->state = 50;
- break;
- case 50:
- if (gSprites[gUnknown_020322A0->unk_91].animEnded)
- {
- DestroySprite(&gSprites[gUnknown_020322A0->unk_91]);
- sub_807B62C(6);
- gUnknown_020322A0->state++;
- PlaySE(SE_W028);
- }
- break;
- case 51:
- if (gUnknown_020322A0->unk_EA < 0x400)
- {
- gUnknown_020322A0->unk_EA += 0x34;
- }
- else
- {
- gUnknown_020322A0->unk_EA = 0x400;
- gUnknown_020322A0->state++;
- }
- gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA;
- break;
- case 52:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state = 60;
- break;
- case 60:
- if (!gPaletteFade.active)
- {
- sub_807B62C(5);
- sub_807B62C(7);
- gPaletteFade.bufferTransferDisabled = TRUE;
- gUnknown_020322A0->state++;
- }
- break;
- case 61:
- gPaletteFade.bufferTransferDisabled = FALSE;
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 62:
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG2_ON |
- DISPCNT_OBJ_ON);
- if (!gPaletteFade.active)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 63:
- gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0);
- gSprites[gUnknown_020322A0->unk_D3].data[3] = 74;
- gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC;
- StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1);
- StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2);
- BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- gUnknown_020322A0->timer = 0;
- break;
- case 64:
- BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
- gUnknown_020322A0->state++;
- break;
- case 65:
- if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy)
- {
- HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]);
- gUnknown_020322A0->state++;
- }
- break;
- case 66:
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0;
- gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0;
- StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0);
- CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]);
- FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]);
- DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]);
- gUnknown_020322A0->state++;
- break;
- case 67:
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
- DISPCNT_OBJ_1D_MAP |
- DISPCNT_BG0_ON |
- DISPCNT_BG2_ON |
- DISPCNT_OBJ_ON);
- StringExpandPlaceholders(gStringVar4, gText_XSentOverY);
- sub_807F1A8(0, gStringVar4, 0);
- gUnknown_020322A0->state = 167;
- gUnknown_020322A0->timer = 0;
- break;
- // 167 and 267 are extra cases added in for animations
- case 167:
- if (++gUnknown_020322A0->timer > 60)
- {
- gUnknown_020322A0->state = 267;
- gUnknown_020322A0->timer = 0;
- }
- break;
- case 267:
- if (IsCryFinished())
- {
- gUnknown_020322A0->state = 68;
- }
- break;
- case 68:
- if (++gUnknown_020322A0->timer == 10)
- {
- PlayFanfare(MUS_FANFA5);
- }
- if (gUnknown_020322A0->timer == 250)
- {
- gUnknown_020322A0->state++;
- StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX);
- sub_807F1A8(0, gStringVar4, 0);
- gUnknown_020322A0->timer = 0;
- }
- break;
- case 69:
- if (++gUnknown_020322A0->timer == 60)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 70:
- sub_807F14C();
- gUnknown_020322A0->state++;
- break;
- case 71:
- if (gUnknown_020322A0->isLinkTrade)
- {
- return TRUE;
- }
- else if (gMain.newKeys & A_BUTTON)
- {
- gUnknown_020322A0->state++;
- }
- break;
- case 72: // Only if in-game trade
- sub_807B4D0(gSpecialVar_0x8005, 0);
- gCB2_AfterEvolution = sub_807B60C;
- evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE);
- if (evoTarget != SPECIES_NONE)
- {
- TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]);
- }
- gUnknown_020322A0->state++;
- break;
- case 73:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gUnknown_020322A0->state++;
- break;
- case 74:
- if (!gPaletteFade.active)
- {
- PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic);
- if (gUnknown_020322A0)
- {
- FreeAllWindowBuffers();
- Free(GetBgTilemapBuffer(3));
- Free(GetBgTilemapBuffer(1));
- Free(GetBgTilemapBuffer(0));
- FreeMonSpritesGfx();
- FREE_AND_SET_NULL(gUnknown_020322A0);
- }
- SetMainCallback2(CB2_ReturnToField);
- sub_807E784();
- }
- break;
+ sTradeData->state++;
+ DestroySprite(&gSprites[sTradeData->unk_90]);
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ }
+ break;
+ case 40:
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state++;
+ SetTradeSequenceBgGpuRegs(1);
+ sTradeData->bg1vofs = 166;
+ SetTradeSequenceBgGpuRegs(3);
+ sTradeData->bg2vofs = 412;
+ sTradeData->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3);
+ gSprites[sTradeData->unk_90].callback = sub_807AA4C;
+ sTradeData->unk_91 = CreateSprite(&sGlowBallSpriteTemplate, 120, -20, 0);
+ StartSpriteAnim(&gSprites[sTradeData->unk_91], 1);
+ }
+ break;
+ case 41:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 42:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG1_ON |
+ DISPCNT_OBJ_ON);
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 43:
+ gSprites[sTradeData->unk_90].pos2.y += 4;
+ gSprites[sTradeData->unk_91].pos2.y += 4;
+ if (gSprites[sTradeData->unk_90].pos2.y + gSprites[sTradeData->unk_90].pos1.y == 64)
+ {
+ sTradeData->state = 144;
+ sTradeData->timer = 0;
+ }
+ break;
+ case 144:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG1_ON |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ sTradeData->bg1vofs += 3;
+ sTradeData->bg2vofs += 3;
+ if (++sTradeData->timer == 10)
+ {
+ u8 taskId = CreateTask(Task_AnimateWirelessSignal, 5);
+ gTasks[taskId].data[2] = TRUE;
+ }
+ if (sTradeData->bg1vofs > 316)
+ {
+ sTradeData->bg1vofs = 316;
+ sTradeData->state++;
+ }
+ break;
+ case 145:
+ DestroySprite(&gSprites[sTradeData->unk_90]);
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ sTradeData->state++;
+ sTradeData->timer = 0;
+ break;
+ case 146:
+ if (!FuncIsActiveTask(Task_AnimateWirelessSignal))
+ {
+ sTradeData->state = 46;
+ sTradeData->timer = 0;
+ }
+ break;
+ case 46:
+ if (++sTradeData->timer == 10)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 47:
+ if (++sTradeData->bg1vofs > 348)
+ {
+ sTradeData->bg1vofs = 348;
+ sTradeData->state++;
+ }
+ break;
+ case 48:
+ sTradeData->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0);
+ sTradeData->state = 50;
+ break;
+ case 50:
+ if (gSprites[sTradeData->unk_91].animEnded)
+ {
+ DestroySprite(&gSprites[sTradeData->unk_91]);
+ SetTradeSequenceBgGpuRegs(6);
+ sTradeData->state++;
+ PlaySE(SE_W028);
+ }
+ break;
+ case 51:
+ if (sTradeData->unk_EA < 0x400)
+ {
+ sTradeData->unk_EA += 0x34;
+ }
+ else
+ {
+ sTradeData->unk_EA = 0x400;
+ sTradeData->state++;
+ }
+ sTradeData->sXY = 0x8000 / sTradeData->unk_EA;
+ break;
+ case 52:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sTradeData->state = 60;
+ break;
+ case 60:
+ if (!gPaletteFade.active)
+ {
+ SetTradeSequenceBgGpuRegs(5);
+ SetTradeSequenceBgGpuRegs(7);
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ sTradeData->state++;
+ }
+ break;
+ case 61:
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 62:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ if (!gPaletteFade.active)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 63:
+ sTradeData->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0);
+ gSprites[sTradeData->unk_D3].data[3] = 74;
+ gSprites[sTradeData->unk_D3].callback = sub_807E6AC;
+ StartSpriteAnim(&gSprites[sTradeData->unk_D3], 1);
+ StartSpriteAffineAnim(&gSprites[sTradeData->unk_D3], 2);
+ BlendPalettes(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA);
+ sTradeData->state++;
+ sTradeData->timer = 0;
+ break;
+ case 64:
+ BeginNormalPaletteFade(1 << (16 + gSprites[sTradeData->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA);
+ sTradeData->state++;
+ break;
+ case 65:
+ if (gSprites[sTradeData->unk_D3].callback == SpriteCallbackDummy)
+ {
+ HandleLoadSpecialPokePic_2(&gMonFrontPicTable[sTradeData->monSpecies[TRADE_PARTNER]], gMonSpritesGfxPtr->sprites[3], sTradeData->monSpecies[TRADE_PARTNER], sTradeData->monPersonalities[TRADE_PARTNER]);
+ sTradeData->state++;
+ }
+ break;
+ case 66:
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.x = 120;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos1.y = gMonFrontPicCoords[sTradeData->monSpecies[TRADE_PARTNER]].y_offset + 60;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.x = 0;
+ gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].pos2.y = 0;
+ StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]], 0);
+ CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, sTradeData->monSpecies[TRADE_PARTNER]);
+ FreeSpriteOamMatrix(&gSprites[sTradeData->unk_D3]);
+ DestroySprite(&gSprites[sTradeData->unk_D3]);
+ sTradeData->state++;
+ break;
+ case 67:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 |
+ DISPCNT_OBJ_1D_MAP |
+ DISPCNT_BG0_ON |
+ DISPCNT_BG2_ON |
+ DISPCNT_OBJ_ON);
+ StringExpandPlaceholders(gStringVar4, gText_XSentOverY);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ sTradeData->state = 167;
+ sTradeData->timer = 0;
+ break;
+ // 167 and 267 are extra cases added in for animations
+ case 167:
+ if (++sTradeData->timer > 60)
+ {
+ sTradeData->state = 267;
+ sTradeData->timer = 0;
+ }
+ break;
+ case 267:
+ if (IsCryFinished())
+ {
+ sTradeData->state = 68;
+ }
+ break;
+ case 68:
+ if (++sTradeData->timer == 10)
+ {
+ PlayFanfare(MUS_FANFA5);
+ }
+ if (sTradeData->timer == 250)
+ {
+ sTradeData->state++;
+ StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ sTradeData->timer = 0;
+ }
+ break;
+ case 69:
+ if (++sTradeData->timer == 60)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 70:
+ CheckPartnersMonForRibbons();
+ sTradeData->state++;
+ break;
+ case 71:
+ if (sTradeData->isLinkTrade)
+ {
+ return TRUE;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ sTradeData->state++;
+ }
+ break;
+ case 72: // Only if in-game trade
+ TradeMons(gSpecialVar_0x8005, 0);
+ gCB2_AfterEvolution = CB2_UpdateInGameTrade;
+ evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE);
+ if (evoTarget != SPECIES_NONE)
+ {
+ TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]);
+ }
+ sTradeData->state++;
+ break;
+ case 73:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sTradeData->state++;
+ break;
+ case 74:
+ if (!gPaletteFade.active)
+ {
+ PlayNewMapMusic(sTradeData->cachedMapMusic);
+ if (sTradeData)
+ {
+ FreeAllWindowBuffers();
+ Free(GetBgTilemapBuffer(3));
+ Free(GetBgTilemapBuffer(1));
+ Free(GetBgTilemapBuffer(0));
+ FreeMonSpritesGfx();
+ FREE_AND_SET_NULL(sTradeData);
+ }
+ SetMainCallback2(CB2_ReturnToField);
+ BufferInGameTradeMonName();
+ }
+ break;
}
return FALSE;
}
-static void c2_08053788(void)
+static void CB2_TryTradeEvolution(void)
{
u16 evoTarget;
switch (gMain.state)
{
- case 0:
- gMain.state = 4;
- gSoftResetDisabled = TRUE;
- break;
- case 4:
- gCB2_AfterEvolution = sub_807EB50;
- evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE);
- if (evoTarget != SPECIES_NONE)
- TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]);
- else if (sub_8077260())
- SetMainCallback2(sub_807F464);
- else
- SetMainCallback2(sub_807EB50);
- gUnknown_02032298[0] = 255;
- break;
+ case 0:
+ gMain.state = 4;
+ gSoftResetDisabled = TRUE;
+ break;
+ case 4:
+ gCB2_AfterEvolution = CB2_SaveAndEndTrade;
+ evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], TRUE, ITEM_NONE);
+ if (evoTarget != SPECIES_NONE)
+ TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeData->pokePicSpriteIdxs[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]);
+ else if (IsWirelessTrade())
+ SetMainCallback2(CB2_SaveAndEndWirelessTrade);
+ else
+ SetMainCallback2(CB2_SaveAndEndTrade);
+ gSelectedTradeMonPositions[TRADE_PLAYER] = 255;
+ break;
}
if (!HasLinkErrorOccurred())
RunTasks();
@@ -5703,29 +4311,26 @@ static void c2_08053788(void)
UpdatePaletteFade();
}
-static void sub_807E4DC(void)
+static void UpdateTradeFinishFlags(void)
{
u8 blockReceivedStatus;
- sub_807ACDC();
+ TradeGetMultiplayerId(); // no effect call, ret val ignored
blockReceivedStatus = GetBlockReceivedStatus();
if (blockReceivedStatus & 0x01)
{
- if (gBlockRecvBuffer[0][0] == 0xDCBA)
- {
- SetMainCallback2(c2_08053788);
- }
- if (gBlockRecvBuffer[0][0] == 0xABCD)
- {
- gUnknown_020322A0->unk_72 = 1;
- }
+ if (gBlockRecvBuffer[0][0] == LINKCMD_CONFIRM_FINISH_TRADE)
+ SetMainCallback2(CB2_TryTradeEvolution);
+
+ if (gBlockRecvBuffer[0][0] == LINKCMD_READY_FINISH_TRADE)
+ sTradeData->playerLinkFlagFinishTrade = READY_FINISH_TRADE;
+
ResetBlockReceivedFlag(0);
}
if (blockReceivedStatus & 0x02)
{
- if (gBlockRecvBuffer[1][0] == 0xABCD)
- {
- gUnknown_020322A0->unk_73 = 1;
- }
+ if (gBlockRecvBuffer[1][0] == LINKCMD_READY_FINISH_TRADE)
+ sTradeData->partnerLinkFlagFinishTrade = READY_FINISH_TRADE;
+
ResetBlockReceivedFlag(1);
}
}
@@ -5753,7 +4358,7 @@ static void sub_807E55C(struct Sprite *sprite)
static void sub_807E5D8(struct Sprite *sprite)
{
- sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]];
+ sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]];
if (sprite->data[0] == 22)
PlaySE(SE_KON);
if (++ sprite->data[0] == 44)
@@ -5771,11 +4376,11 @@ static void sub_807E64C(struct Sprite *sprite)
StartSpriteAffineAnim(sprite, 1);
if (++ sprite->data[1] > 20)
{
- sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data[0]];
+ sprite->pos2.y -= sTradeBallVerticalVelocityTable[sprite->data[0]];
if (++ sprite->data[0] == 23)
{
DestroySprite(sprite);
- gUnknown_020322A0->state = 14; // Resume the master trade animation
+ sTradeData->state = 14; // Resume the master trade animation
}
}
}
@@ -5799,7 +4404,7 @@ static void sub_807E6AC(struct Sprite *sprite)
PlaySE(SE_KON3);
if (sprite->data[0] == 0x6b)
PlaySE(SE_KON4);
- sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]];
+ sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]];
if (++sprite->data[0] == 0x6c)
sprite->callback = SpriteCallbackDummy;
}
@@ -5807,16 +4412,16 @@ static void sub_807E6AC(struct Sprite *sprite)
u16 GetInGameTradeSpeciesInfo(void)
{
- const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004];
- StringCopy(gStringVar1, gSpeciesNames[inGameTrade->playerSpecies]);
+ const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004];
+ StringCopy(gStringVar1, gSpeciesNames[inGameTrade->requestedSpecies]);
StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]);
- return inGameTrade->playerSpecies;
+ return inGameTrade->requestedSpecies;
}
-static void sub_807E784(void)
+static void BufferInGameTradeMonName(void)
{
u8 nickname[32];
- const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004];
+ const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004];
GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname);
StringCopy10(gStringVar1, nickname);
StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]);
@@ -5824,11 +4429,11 @@ static void sub_807E784(void)
static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade)
{
- const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade];
+ const struct InGameTrade *inGameTrade = &sIngameTrades[whichInGameTrade];
u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL);
struct MailStruct mail;
- u8 metLocation = 0xFE;
+ u8 metLocation = METLOC_IN_GAME_TRADE;
u8 isMail;
struct Pokemon *pokemon = &gEnemyParty[0];
@@ -5840,15 +4445,15 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade)
SetMonData(pokemon, MON_DATA_SPEED_IV, &inGameTrade->ivs[3]);
SetMonData(pokemon, MON_DATA_SPATK_IV, &inGameTrade->ivs[4]);
SetMonData(pokemon, MON_DATA_SPDEF_IV, &inGameTrade->ivs[5]);
- SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name);
+ SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->nickname);
SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName);
SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender);
- SetMonData(pokemon, MON_DATA_ABILITY_NUM, &inGameTrade->secondAbility);
- SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]);
- SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]);
- SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]);
- SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->stats[3]);
- SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->stats[4]);
+ SetMonData(pokemon, MON_DATA_ABILITY_NUM, &inGameTrade->abilityNum);
+ SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->conditions[1]);
+ SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->conditions[2]);
+ SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->conditions[0]);
+ SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->conditions[3]);
+ SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->conditions[4]);
SetMonData(pokemon, MON_DATA_SHEEN, &inGameTrade->sheen);
SetMonData(pokemon, MON_DATA_MET_LOCATION, &metLocation);
@@ -5857,8 +4462,8 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade)
{
if (ItemIsMail(inGameTrade->heldItem))
{
- sub_807E974(&mail, inGameTrade);
- gUnknown_020321C0[0] = mail;
+ SetInGameTradeMail(&mail, inGameTrade);
+ gTradeMail[0] = mail;
SetMonData(pokemon, MON_DATA_MAIL, &isMail);
SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem);
}
@@ -5870,12 +4475,12 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade)
CalculateMonStats(&gEnemyParty[0]);
}
-static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade) {
+static void SetInGameTradeMail(struct MailStruct *mail, const struct InGameTrade *trade) {
s32 i;
- for (i = 0; i < 9; i++)
+ for (i = 0; i < MAIL_WORDS_COUNT; i++)
{
- mail->words[i] = gIngameTradeMail[trade->mailNum][i];
+ mail->words[i] = sIngameTradeMail[trade->mailNum][i];
}
StringCopy(mail->playerName, trade->otName);
@@ -5901,22 +4506,22 @@ void CreateInGameTradePokemon(void)
_CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004);
}
-static void sub_807EA2C(void)
+static void CB2_UpdateLinkTrade(void)
{
- if (sub_807BBC8() == TRUE)
+ if (AnimateTradeSequence() == TRUE)
{
- DestroySprite(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]]);
- FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]]);
- sub_807B4D0(gUnknown_02032298[0], gUnknown_02032298[1] % 6);
- if (!sub_8077260())
+ DestroySprite(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PLAYER]]);
+ FreeSpriteOamMatrix(&gSprites[sTradeData->pokePicSpriteIdxs[TRADE_PARTNER]]);
+ TradeMons(gSelectedTradeMonPositions[TRADE_PLAYER], gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE);
+ if (!IsWirelessTrade())
{
- gUnknown_020322A0->linkData[0] = 0xABCD;
- gUnknown_020322A0->unk_93 = 1;
+ sTradeData->linkData[0] = LINKCMD_READY_FINISH_TRADE;
+ sTradeData->sendTradeFinishState = 1;
}
- SetMainCallback2(sub_807EACC);
+ SetMainCallback2(CB2_TryFinishTrade);
}
- sub_807B5B8();
- sub_807E4DC();
+ TrySendTradeFinishData();
+ UpdateTradeFinishFlags();
RunTasks();
RunTextPrinters();
AnimateSprites();
@@ -5924,22 +4529,24 @@ static void sub_807EA2C(void)
UpdatePaletteFade();
}
-static void sub_807EACC(void)
+static void CB2_TryFinishTrade(void)
{
- u8 mpId = sub_807ACDC();
- if (sub_8077260())
+ u8 mpId = TradeGetMultiplayerId();
+ if (IsWirelessTrade())
{
- SetMainCallback2(c2_08053788);
+ SetMainCallback2(CB2_TryTradeEvolution);
}
else
{
- sub_807E4DC();
- if (mpId == 0 && gUnknown_020322A0->unk_72 == 1 && gUnknown_020322A0->unk_73 == 1)
+ UpdateTradeFinishFlags();
+ if (mpId == 0
+ && sTradeData->playerLinkFlagFinishTrade == READY_FINISH_TRADE
+ && sTradeData->partnerLinkFlagFinishTrade == READY_FINISH_TRADE)
{
- gUnknown_020322A0->linkData[0] = 0xDCBA;
- Trade_SendData(gUnknown_020322A0);
- gUnknown_020322A0->unk_72 = 2;
- gUnknown_020322A0->unk_73 = 2;
+ sTradeData->linkData[0] = LINKCMD_CONFIRM_FINISH_TRADE;
+ Trade_SendData(sTradeData);
+ sTradeData->playerLinkFlagFinishTrade = FINISH_TRADE;
+ sTradeData->partnerLinkFlagFinishTrade = FINISH_TRADE;
}
}
RunTasks();
@@ -5948,159 +4555,159 @@ static void sub_807EACC(void)
UpdatePaletteFade();
}
-static void sub_807EB50(void)
+static void CB2_SaveAndEndTrade(void)
{
switch (gMain.state)
{
- case 0:
- gMain.state++;
- StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5);
- sub_807F1A8(0, gStringVar4, 0);
- break;
- case 1:
- sub_8077288(0);
- gMain.state = 100;
- gUnknown_020322A0->timer = 0;
- break;
- case 100:
- if (++gUnknown_020322A0->timer > 180)
- {
- gMain.state = 101;
- gUnknown_020322A0->timer = 0;
- }
- if (_IsLinkTaskFinished())
- {
- gMain.state = 2;
- }
- break;
- case 101:
- if (_IsLinkTaskFinished())
- {
- gMain.state = 2;
- }
- break;
- case 2:
- gMain.state = 50;
- StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower);
- sub_807F1A8(0, gStringVar4, 0);
- break;
- case 50:
- if (!InUnionRoom())
- IncrementGameStat(GAME_STAT_POKEMON_TRADES);
- if (gWirelessCommType)
- {
- sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId);
- }
- SetContinueGameWarpStatusToDynamicWarp();
- sub_8153380();
+ case 0:
+ gMain.state++;
+ StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ break;
+ case 1:
+ sub_8077288(0);
+ gMain.state = 100;
+ sTradeData->timer = 0;
+ break;
+ case 100:
+ if (++sTradeData->timer > 180)
+ {
+ gMain.state = 101;
+ sTradeData->timer = 0;
+ }
+ if (_IsLinkTaskFinished())
+ {
+ gMain.state = 2;
+ }
+ break;
+ case 101:
+ if (_IsLinkTaskFinished())
+ {
+ gMain.state = 2;
+ }
+ break;
+ case 2:
+ gMain.state = 50;
+ StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ break;
+ case 50:
+ if (!InUnionRoom())
+ IncrementGameStat(GAME_STAT_POKEMON_TRADES);
+ if (gWirelessCommType)
+ {
+ sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId);
+ }
+ SetContinueGameWarpStatusToDynamicWarp();
+ sub_8153380();
+ gMain.state++;
+ sTradeData->timer = 0;
+ break;
+ case 51:
+ if (++sTradeData->timer == 5)
+ {
gMain.state++;
- gUnknown_020322A0->timer = 0;
- break;
- case 51:
- if (++gUnknown_020322A0->timer == 5)
- {
- gMain.state++;
- }
- break;
- case 52:
- if (sub_81533AC())
+ }
+ break;
+ case 52:
+ if (sub_81533AC())
+ {
+ ClearContinueGameWarpStatus2();
+ gMain.state = 4;
+ }
+ else
+ {
+ sTradeData->timer = 0;
+ gMain.state = 51;
+ }
+ break;
+ case 4:
+ sub_81533E0();
+ gMain.state = 40;
+ sTradeData->timer = 0;
+ break;
+ case 40:
+ if (++sTradeData->timer > 50)
+ {
+ if (GetMultiplayerId() == 0)
{
- ClearContinueGameWarpStatus2();
- gMain.state = 4;
+ sTradeData->timer = Random() % 30;
}
else
{
- gUnknown_020322A0->timer = 0;
- gMain.state = 51;
+ sTradeData->timer = 0;
}
- break;
- case 4:
- sub_81533E0();
- gMain.state = 40;
- gUnknown_020322A0->timer = 0;
- break;
- case 40:
- if (++gUnknown_020322A0->timer > 50)
- {
- if (GetMultiplayerId() == 0)
- {
- gUnknown_020322A0->timer = Random() % 30;
- }
- else
- {
- gUnknown_020322A0->timer = 0;
- }
- gMain.state = 41;
- }
- break;
- case 41:
- if (gUnknown_020322A0->timer == 0)
+ gMain.state = 41;
+ }
+ break;
+ case 41:
+ if (sTradeData->timer == 0)
+ {
+ sub_8077288(1);
+ gMain.state = 42;
+ }
+ else
+ {
+ sTradeData->timer--;
+ }
+ break;
+ case 42:
+ if (_IsLinkTaskFinished())
+ {
+ sub_8153408();
+ gMain.state = 5;
+ }
+ break;
+ case 5:
+ if (++sTradeData->timer > 60)
+ {
+ gMain.state++;
+ sub_8077288(2);
+ }
+ break;
+ case 6:
+ if (_IsLinkTaskFinished())
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gMain.state ++;
+ }
+ break;
+ case 7:
+ if (!gPaletteFade.active)
+ {
+ FadeOutBGM(3);
+ gMain.state++;
+ }
+ break;
+ case 8:
+ if (IsBGMStopped() == TRUE)
+ {
+ if (gWirelessCommType && gMain.savedCallback == CB2_StartCreateTradeMenu)
{
- sub_8077288(1);
- gMain.state = 42;
+ sub_8077288(3);
}
else
{
- gUnknown_020322A0->timer--;
- }
- break;
- case 42:
- if (_IsLinkTaskFinished())
- {
- sub_8153408();
- gMain.state = 5;
+ sub_800AC34();
}
- break;
- case 5:
- if (++gUnknown_020322A0->timer > 60)
- {
- gMain.state++;
- sub_8077288(2);
- }
- break;
- case 6:
+ gMain.state++;
+ }
+ break;
+ case 9:
+ if (gWirelessCommType && gMain.savedCallback == CB2_StartCreateTradeMenu)
+ {
if (_IsLinkTaskFinished())
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gMain.state ++;
- }
- break;
- case 7:
- if (!gPaletteFade.active)
- {
- FadeOutBGM(3);
- gMain.state++;
- }
- break;
- case 8:
- if (IsBGMStopped() == TRUE)
- {
- if (gWirelessCommType && gMain.savedCallback == sub_80773AC)
- {
- sub_8077288(3);
- }
- else
- {
- sub_800AC34();
- }
- gMain.state++;
- }
- break;
- case 9:
- if (gWirelessCommType && gMain.savedCallback == sub_80773AC)
- {
- if (_IsLinkTaskFinished())
- {
- gSoftResetDisabled = FALSE;
- SetMainCallback2(c2_080543C4);
- }
- }
- else if (!gReceivedRemoteLinkPlayers)
- {
gSoftResetDisabled = FALSE;
- SetMainCallback2(c2_080543C4);
+ SetMainCallback2(CB2_FreeTradeData);
}
- break;
+ }
+ else if (!gReceivedRemoteLinkPlayers)
+ {
+ gSoftResetDisabled = FALSE;
+ SetMainCallback2(CB2_FreeTradeData);
+ }
+ break;
}
if (!HasLinkErrorOccurred())
{
@@ -6111,7 +4718,7 @@ static void sub_807EB50(void)
UpdatePaletteFade();
}
-static void c2_080543C4(void)
+static void CB2_FreeTradeData(void)
{
if (!gPaletteFade.active)
{
@@ -6120,7 +4727,7 @@ static void c2_080543C4(void)
Free(GetBgTilemapBuffer(1));
Free(GetBgTilemapBuffer(0));
FreeMonSpritesGfx();
- FREE_AND_SET_NULL(gUnknown_020322A0);
+ FREE_AND_SET_NULL(sTradeData);
if (gWirelessCommType)
DestroyWirelessStatusIndicatorSprite();
SetMainCallback2(gMain.savedCallback);
@@ -6134,95 +4741,103 @@ static void c2_080543C4(void)
void DoInGameTradeScene(void)
{
ScriptContext2_Enable();
- CreateTask(sub_807F110, 10);
+ CreateTask(Task_InGameTrade, 10);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
}
-static void sub_807F110(u8 taskId)
+static void Task_InGameTrade(u8 taskId)
{
if (!gPaletteFade.active)
{
- SetMainCallback2(sub_807B270);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ SetMainCallback2(CB2_InGameTrade);
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskId);
}
}
-static void sub_807F14C(void)
+static void CheckPartnersMonForRibbons(void)
{
u8 i;
u8 numRibbons = 0;
for (i = 0; i < 12; i ++)
{
- numRibbons += GetMonData(&gEnemyParty[gUnknown_02032298[1] % 6], MON_DATA_CHAMPION_RIBBON + i);
+ numRibbons += GetMonData(&gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE], MON_DATA_CHAMPION_RIBBON + i);
}
if (numRibbons != 0)
FlagSet(FLAG_SYS_RIBBON_GET);
}
-void sub_807F19C(void)
+void InitTradeBg(void)
{
- sub_807B170();
+ InitTradeBgInternal();
}
-void sub_807F1A8(u8 windowId, const u8 *str, u8 speed)
+void DrawTextOnTradeWindow(u8 windowId, const u8 *str, u8 speed)
{
FillWindowPixelBuffer(windowId, PIXEL_FILL(15));
- gUnknown_020322A0->unk_F6[0] = 15;
- gUnknown_020322A0->unk_F6[1] = 1;
- gUnknown_020322A0->unk_F6[2] = 6;
- AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, gUnknown_020322A0->unk_F6, speed, str);
+ sTradeData->textColors[0] = TEXT_DYNAMIC_COLOR_6;
+ sTradeData->textColors[1] = TEXT_COLOR_WHITE;
+ sTradeData->textColors[2] = TEXT_COLOR_GREEN;
+ AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, sTradeData->textColors, speed, str);
CopyWindowToVram(windowId, 3);
}
-static void c3_08054588(u8 taskId)
+#define idx data[0]
+#define counter data[1]
+#define signalComingBack data[2]
+
+static void Task_AnimateWirelessSignal(u8 taskId)
{
s16 *data = gTasks[taskId].data;
- u16 unk = gUnknown_08339090[data[0]][0] * 16;
+ u16 paletteIdx = sWirelessSignalTiming[idx][0] * 16;
- if (!data[2])
+ if (!signalComingBack)
{
- if (unk == 0x100)
- LoadPalette(gUnknown_08337EA0, 0x30, 32);
+ if (paletteIdx == 256)
+ LoadPalette(sTradePal_Black, 0x30, 32);
else
- LoadPalette(&gUnknown_08337AA0[unk], 0x30, 32);
+ LoadPalette(&sTradePal_WirelessSignalSend[paletteIdx], 0x30, 32);
}
else
{
- if (unk == 0x100)
- LoadPalette(gUnknown_08337EA0, 0x30, 32);
+ if (paletteIdx == 256)
+ LoadPalette(sTradePal_Black, 0x30, 32);
else
- LoadPalette(&gUnknown_08337CA0[unk], 0x30, 32);
+ LoadPalette(&sTradePal_WirelessSignalReceive[paletteIdx], 0x30, 32);
}
- if (gUnknown_08339090[data[0]][0] == 0 && data[1] == 0)
+ if (sWirelessSignalTiming[idx][0] == 0 && counter == 0)
PlaySE(SE_W215);
- if (data[1] == gUnknown_08339090[data[0]][1])
+ if (counter == sWirelessSignalTiming[idx][1])
{
- data[0]++;
- data[1] = 0;
- if (gUnknown_08339090[data[0]][1] == 0xFF)
+ idx++;
+ counter = 0;
+ if (sWirelessSignalTiming[idx][1] == 0xFF)
{
DestroyTask(taskId);
}
}
else
{
- data[1]++;
+ counter++;
}
}
+#undef idx
+#undef counter
+#undef signalComingBack
+
static void c3_0805465C(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (data[0] == 0)
{
- gUnknown_020322A0->unk_FB = gUnknown_020322A0->unk_FD = 120;
- gUnknown_020322A0->unk_FC = 0;
- gUnknown_020322A0->unk_FE = 160;
+ sTradeData->wirelessWinLeft = sTradeData->wirelessWinRight = 120;
+ sTradeData->wirelessWinTop = 0;
+ sTradeData->wirelessWinBottom = 160;
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ);
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 |
@@ -6230,14 +4845,14 @@ static void c3_0805465C(u8 taskId)
WININ_WIN0_OBJ);
}
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD));
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE));
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(sTradeData->wirelessWinLeft, sTradeData->wirelessWinRight));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(sTradeData->wirelessWinTop, sTradeData->wirelessWinBottom));
data[0]++;
- gUnknown_020322A0->unk_FB -= 5;
- gUnknown_020322A0->unk_FD += 5;
+ sTradeData->wirelessWinLeft -= 5;
+ sTradeData->wirelessWinRight += 5;
- if (gUnknown_020322A0->unk_FB < 80)
+ if (sTradeData->wirelessWinLeft < 80)
{
DestroyTask(taskId);
}
@@ -6249,24 +4864,24 @@ static void sub_807F39C(u8 taskId)
if (data[0] == 0)
{
- gUnknown_020322A0->unk_FB = 80;
- gUnknown_020322A0->unk_FD = 160;
+ sTradeData->wirelessWinLeft = 80;
+ sTradeData->wirelessWinRight = 160;
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ);
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 |
WININ_WIN0_BG1 |
WININ_WIN0_OBJ);
}
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD));
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE));
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(sTradeData->wirelessWinLeft, sTradeData->wirelessWinRight));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(sTradeData->wirelessWinTop, sTradeData->wirelessWinBottom));
- if (gUnknown_020322A0->unk_FB != 120)
+ if (sTradeData->wirelessWinLeft != 120)
{
data[0]++;
- gUnknown_020322A0->unk_FB += 5;
- gUnknown_020322A0->unk_FD -= 5;
+ sTradeData->wirelessWinLeft += 5;
+ sTradeData->wirelessWinRight -= 5;
- if (gUnknown_020322A0->unk_FB >= 116)
+ if (sTradeData->wirelessWinLeft >= 116)
BlendPalettes(0x8, 0, RGB_WHITEALPHA);
}
else
@@ -6276,114 +4891,108 @@ static void sub_807F39C(u8 taskId)
}
}
-static void sub_807F464(void)
+static void CB2_SaveAndEndWirelessTrade(void)
{
switch (gMain.state)
{
- case 0:
- gMain.state = 1;
- StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5);
- sub_807F1A8(0, gStringVar4, 0);
- break;
- case 1:
- sub_8077288(0);
- gMain.state = 2;
- gUnknown_020322A0->timer = 0;
- break;
- case 2:
- if (_IsLinkTaskFinished())
- {
- gMain.state = 3;
- StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower);
- sub_807F1A8(0, gStringVar4, 0);
- IncrementGameStat(GAME_STAT_POKEMON_TRADES);
- sub_8153380();
- gUnknown_020322A0->timer = 0;
- }
- break;
- case 3:
- if (++gUnknown_020322A0->timer == 5)
- {
- gMain.state = 4;
- }
- break;
- case 4:
- if (sub_81533AC())
- {
- gMain.state = 5;
- }
- else
- {
- gUnknown_020322A0->timer = 0;
- gMain.state = 3;
- }
- break;
- case 5:
- sub_81533E0();
- gMain.state = 6;
- gUnknown_020322A0->timer = 0;
- break;
- case 6:
- if (++gUnknown_020322A0->timer > 10)
- {
- if (GetMultiplayerId() == 0)
- {
- gUnknown_020322A0->timer = Random() % 30;
- }
- else
- {
- gUnknown_020322A0->timer = 0;
- }
- gMain.state = 7;
- }
- break;
- case 7:
- if (gUnknown_020322A0->timer == 0)
- {
- sub_8077288(1);
- gMain.state = 8;
- }
+ case 0:
+ gMain.state = 1;
+ StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ break;
+ case 1:
+ sub_8077288(0);
+ gMain.state = 2;
+ sTradeData->timer = 0;
+ break;
+ case 2:
+ if (_IsLinkTaskFinished())
+ {
+ gMain.state = 3;
+ StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower);
+ DrawTextOnTradeWindow(0, gStringVar4, 0);
+ IncrementGameStat(GAME_STAT_POKEMON_TRADES);
+ sub_8153380();
+ sTradeData->timer = 0;
+ }
+ break;
+ case 3:
+ if (++sTradeData->timer == 5)
+ gMain.state = 4;
+ break;
+ case 4:
+ if (sub_81533AC())
+ {
+ gMain.state = 5;
+ }
+ else
+ {
+ sTradeData->timer = 0;
+ gMain.state = 3;
+ }
+ break;
+ case 5:
+ sub_81533E0();
+ gMain.state = 6;
+ sTradeData->timer = 0;
+ break;
+ case 6:
+ if (++sTradeData->timer > 10)
+ {
+ if (GetMultiplayerId() == 0)
+ sTradeData->timer = Random() % 30;
else
- {
- gUnknown_020322A0->timer--;
- }
- break;
- case 8:
- if (_IsLinkTaskFinished())
- {
- sub_8153408();
- gMain.state = 9;
- }
- break;
- case 9:
- if (++gUnknown_020322A0->timer > 60)
- {
- gMain.state++;
- sub_8077288(2);
- }
- break;
- case 10:
- if (_IsLinkTaskFinished())
- {
- FadeOutBGM(3);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gMain.state = 11;
- }
- break;
- case 11:
- if (!gPaletteFade.active && IsBGMStopped() == TRUE)
- {
- sub_8077288(3);
- gMain.state = 12;
- }
- break;
- case 12:
- if (_IsLinkTaskFinished())
- {
- gSoftResetDisabled = FALSE;
- SetMainCallback2(c2_080543C4);
- }
- break;
+ sTradeData->timer = 0;
+ gMain.state = 7;
+ }
+ break;
+ case 7:
+ if (sTradeData->timer == 0)
+ {
+ sub_8077288(1);
+ gMain.state = 8;
+ }
+ else
+ {
+ sTradeData->timer--;
+ }
+ break;
+ case 8:
+ if (_IsLinkTaskFinished())
+ {
+ sub_8153408();
+ gMain.state = 9;
+ }
+ break;
+ case 9:
+ if (++sTradeData->timer > 60)
+ {
+ gMain.state++;
+ sub_8077288(2);
+ }
+ break;
+ case 10:
+ if (_IsLinkTaskFinished())
+ {
+ FadeOutBGM(3);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gMain.state = 11;
+ }
+ break;
+ case 11:
+ if (!gPaletteFade.active && IsBGMStopped() == TRUE)
+ {
+ sub_8077288(3);
+ gMain.state = 12;
+ }
+ break;
+ case 12:
+ if (_IsLinkTaskFinished())
+ {
+ gSoftResetDisabled = FALSE;
+ SetMainCallback2(CB2_FreeTradeData);
+ }
+ break;
}
if (!HasLinkErrorOccurred())
diff --git a/src/trader.c b/src/trader.c
index dcf1fa076..e0b780d25 100644
--- a/src/trader.c
+++ b/src/trader.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "constants/decorations.h"
-#include "constants/mauville_man.h"
+#include "constants/mauville_old_man.h"
#include "decoration.h"
#include "decoration_inventory.h"
#include "event_data.h"
@@ -71,7 +71,7 @@ void CreateAvailableDecorationsMenu(u8 taskId)
if (curWidth > windowWidth)
windowWidth = curWidth;
}
- windowTemplate.width = convert_pixel_width_to_tile_width(windowWidth);
+ windowTemplate.width = ConvertPixelWidthToTileWidth(windowWidth);
data[3] = AddWindow(&windowTemplate);
DrawStdFrameWithCustomTileAndPalette(data[3], FALSE, 0x214, 14);
for (i = 0; i < 4; i++)
@@ -86,7 +86,7 @@ void CreateAvailableDecorationsMenu(u8 taskId)
schedule_bg_copy_tilemap_to_vram(0);
}
-void sub_8133BE4(u8 taskId, u8 decorationId)
+void Task_BufferDecorSelectionAndCloseWindow(u8 taskId, u8 decorationId)
{
s16 * data = gTasks[taskId].data;
if (decorationId > NUM_DECORATIONS)
@@ -118,14 +118,14 @@ void Task_HandleGetDecorationMenuInput(u8 taskId)
case MENU_B_PRESSED:
case 4:
PlaySE(SE_SELECT);
- sub_8133BE4(taskId, 0);
+ Task_BufferDecorSelectionAndCloseWindow(taskId, 0);
break;
default:
PlaySE(SE_SELECT);
gSpecialVar_0x8005 = input;
StringCopy(gStringVar1, trader->playerNames[input]);
ConvertInternationalString(gStringVar1, trader->language[input]);
- sub_8133BE4(taskId, trader->decorIds[input]);
+ Task_BufferDecorSelectionAndCloseWindow(taskId, trader->decorIds[input]);
break;
}
}
diff --git a/src/trainer_card.c b/src/trainer_card.c
index 9c4816c42..5ea076c2a 100755
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -4,7 +4,7 @@
#include "task.h"
#include "main.h"
#include "window.h"
-#include "alloc.h"
+#include "malloc.h"
#include "link.h"
#include "bg.h"
#include "sound.h"
@@ -281,8 +281,8 @@ static const u16 *const gFireRedTrainerCardStarPals[] =
gFireRedTrainerCard4Star_Pal,
};
-static const u8 gUnknown_0856FB0C[] = {0, 2, 3};
-static const u8 gUnknown_0856FB0F[] = {0, 4, 5};
+static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
+static const u8 sTrainerCardStatColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED};
static const u8 gUnknown_0856FB12[6] = {0};
static const u8 gUnknown_0856FB18[][2][2] =
@@ -728,7 +728,7 @@ static void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCar
trainerCard->version = GAME_VERSION;
SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD);
trainerCard->hasAllSymbols = HasAllFrontierSymbols();
- trainerCard->frontierBP = gSaveBlock2Ptr->frontier.field_EBA;
+ trainerCard->frontierBP = gSaveBlock2Ptr->frontier.cardBattlePoints;
if (trainerCard->hasAllSymbols)
trainerCard->stars++;
@@ -744,7 +744,7 @@ void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard)
trainerCard->version = GAME_VERSION;
SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD);
trainerCard->var_3A = HasAllFrontierSymbols();
- *((u16*)&trainerCard->berryCrushPoints) = gSaveBlock2Ptr->frontier.field_EBA;
+ *((u16*)&trainerCard->berryCrushPoints) = gSaveBlock2Ptr->frontier.cardBattlePoints;
if (trainerCard->var_3A)
trainerCard->stars++;
@@ -973,9 +973,9 @@ static void PrintNameOnCard(void)
StringCopy(txtPtr, sData->trainerCard.playerName);
ConvertInternationalString(txtPtr, sData->language);
if (sData->cardType == CARD_TYPE_FRLG)
- AddTextPrinterParameterized3(1, 1, 20, 28, gUnknown_0856FB0C, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, 1, 20, 28, sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
else
- AddTextPrinterParameterized3(1, 1, 16, 33, gUnknown_0856FB0C, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, 1, 16, 33, sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
}
static void PrintIdOnCard(void)
@@ -997,7 +997,7 @@ static void PrintIdOnCard(void)
top = 9;
}
- AddTextPrinterParameterized3(1, 1, xPos, top, gUnknown_0856FB0C, TEXT_SPEED_FF, buffer);
+ AddTextPrinterParameterized3(1, 1, xPos, top, sTrainerCardTextColors, TEXT_SPEED_FF, buffer);
}
static void PrintMoneyOnCard(void)
@@ -1006,11 +1006,11 @@ static void PrintMoneyOnCard(void)
u8 top;
if (!sData->isHoenn)
- AddTextPrinterParameterized3(1, 1, 20, 56, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardMoney);
+ AddTextPrinterParameterized3(1, 1, 20, 56, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney);
else
- AddTextPrinterParameterized3(1, 1, 16, 57, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardMoney);
+ AddTextPrinterParameterized3(1, 1, 16, 57, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney);
- ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.money, 0, 6);
+ ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.money, STR_CONV_MODE_LEFT_ALIGN, 6);
StringExpandPlaceholders(gStringVar4, gText_PokedollarVar1);
if (!sData->isHoenn)
{
@@ -1022,7 +1022,7 @@ static void PrintMoneyOnCard(void)
xOffset = GetStringRightAlignXOffset(1, gStringVar4, 128);
top = 57;
}
- AddTextPrinterParameterized3(1, 1, xOffset, top, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4);
+ AddTextPrinterParameterized3(1, 1, xOffset, top, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4);
}
static u16 GetCaughtMonsCount(void)
@@ -1040,10 +1040,10 @@ static void PrintPokedexOnCard(void)
if (FlagGet(FLAG_SYS_POKEDEX_GET))
{
if (!sData->isHoenn)
- AddTextPrinterParameterized3(1, 1, 20, 72, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardPokedex);
+ AddTextPrinterParameterized3(1, 1, 20, 72, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex);
else
- AddTextPrinterParameterized3(1, 1, 16, 73, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardPokedex);
- StringCopy(ConvertIntToDecimalStringN(gStringVar4, sData->trainerCard.caughtMonsCount, 0, 3), gText_EmptyString6);
+ AddTextPrinterParameterized3(1, 1, 16, 73, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex);
+ StringCopy(ConvertIntToDecimalStringN(gStringVar4, sData->trainerCard.caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3), gText_EmptyString6);
if (!sData->isHoenn)
{
xOffset = GetStringRightAlignXOffset(1, gStringVar4, 144);
@@ -1054,11 +1054,11 @@ static void PrintPokedexOnCard(void)
xOffset = GetStringRightAlignXOffset(1, gStringVar4, 128);
top = 73;
}
- AddTextPrinterParameterized3(1, 1, xOffset, top, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4);
+ AddTextPrinterParameterized3(1, 1, xOffset, top, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4);
}
}
-static const u8 *const gUnknown_0856FB40[] = {gUnknown_0856FB0C, gUnknown_0856FB12};
+static const u8 *const gUnknown_0856FB40[] = {sTrainerCardTextColors, gUnknown_0856FB12};
static void PrintTimeOnCard(void)
{
@@ -1068,9 +1068,9 @@ static void PrintTimeOnCard(void)
u32 r7, r4, r10;
if (!sData->isHoenn)
- AddTextPrinterParameterized3(1, 1, 20, 88, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardTime);
+ AddTextPrinterParameterized3(1, 1, 20, 88, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
else
- AddTextPrinterParameterized3(1, 1, 16, 89, gUnknown_0856FB0C, TEXT_SPEED_FF, gText_TrainerCardTime);
+ AddTextPrinterParameterized3(1, 1, 16, 89, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
if (sData->isLink)
{
@@ -1103,13 +1103,13 @@ static void PrintTimeOnCard(void)
r7 -= r10;
FillWindowPixelRect(1, PIXEL_FILL(0), r7, r4, r10, 15);
- ConvertIntToDecimalStringN(gStringVar4, hours, 1, 3);
- AddTextPrinterParameterized3(1, 1, r7, r4, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4);
+ ConvertIntToDecimalStringN(gStringVar4, hours, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ AddTextPrinterParameterized3(1, 1, r7, r4, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4);
r7 += 18;
AddTextPrinterParameterized3(1, 1, r7, r4, gUnknown_0856FB40[sData->var_7], TEXT_SPEED_FF, gText_Colon2);
r7 += width;
- ConvertIntToDecimalStringN(gStringVar4, minutes, 2, 2);
- AddTextPrinterParameterized3(1, 1, r7, r4, gUnknown_0856FB0C, TEXT_SPEED_FF, gStringVar4);
+ ConvertIntToDecimalStringN(gStringVar4, minutes, STR_CONV_MODE_LEADING_ZEROS, 2);
+ AddTextPrinterParameterized3(1, 1, r7, r4, sTrainerCardTextColors, TEXT_SPEED_FF, gStringVar4);
}
static const u8 gUnknown_0856FB48[] = {0x71, 0x68};
@@ -1119,10 +1119,10 @@ static void PrintProfilePhraseOnCard(void)
{
if (sData->isLink)
{
- AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB48[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[0]);
- AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[0], 0) + 14, gUnknown_0856FB48[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[1]);
- AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB4A[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[2]);
- AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[2], 0) + 14, gUnknown_0856FB4A[sData->isHoenn], gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_19[3]);
+ AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB48[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[0]);
+ AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[0], 0) + 14, gUnknown_0856FB48[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[1]);
+ AddTextPrinterParameterized3(1, 1, 8, gUnknown_0856FB4A[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[2]);
+ AddTextPrinterParameterized3(1, 1, GetStringWidth(1, sData->var_19[2], 0) + 14, gUnknown_0856FB4A[sData->isHoenn], sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_19[3]);
}
}
@@ -1140,9 +1140,9 @@ static void PrintNameOnCard2(void)
static void sub_80C3B50(void)
{
if (!sData->isHoenn)
- AddTextPrinterParameterized3(1, 1, 136, 9, gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_4D);
+ AddTextPrinterParameterized3(1, 1, 136, 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_4D);
else
- AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, sData->var_4D, 216), 9, gUnknown_0856FB0C, TEXT_SPEED_FF, sData->var_4D);
+ AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, sData->var_4D, 216), 9, sTrainerCardTextColors, TEXT_SPEED_FF, sData->var_4D);
}
static const u8 gUnknown_0856FB4C[] = {0xfd, 0x02, 0xf0, 0xfd, 0x03, 0xf0, 0xfd, 0x04, 0xff};
@@ -1151,9 +1151,9 @@ static void PrintHofTimeOnCard(void)
{
if (sData->hasHofResult)
{
- ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.hofDebutHours, 1, 3);
- ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.hofDebutMinutes, 2, 2);
- ConvertIntToDecimalStringN(gStringVar3, sData->trainerCard.hofDebutSeconds, 2, 2);
+ ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.hofDebutMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
+ ConvertIntToDecimalStringN(gStringVar3, sData->trainerCard.hofDebutSeconds, STR_CONV_MODE_LEADING_ZEROS, 2);
StringExpandPlaceholders(sData->var_93, gUnknown_0856FB4C);
}
}
@@ -1163,14 +1163,14 @@ static const u8 gUnknown_0856FB57[] = {0xd8, 0xd8};
static void PrintString(u8 top, const u8* str1, u8* str2, const u8* color)
{
- AddTextPrinterParameterized3(1, 1, gUnknown_0856FB55[sData->isHoenn], top * 16 + 33, gUnknown_0856FB0C, TEXT_SPEED_FF, str1);
+ AddTextPrinterParameterized3(1, 1, gUnknown_0856FB55[sData->isHoenn], top * 16 + 33, sTrainerCardTextColors, TEXT_SPEED_FF, str1);
AddTextPrinterParameterized3(1, 1, GetStringRightAlignXOffset(1, str2, gUnknown_0856FB57[sData->isHoenn]), top * 16 + 33, color, TEXT_SPEED_FF, str2);
}
static void PrintHofDebutStringOnCard(void)
{
if (sData->hasHofResult)
- PrintString(0, gText_HallOfFameDebut, sData->var_93, gUnknown_0856FB0F);
+ PrintString(0, gText_HallOfFameDebut, sData->var_93, sTrainerCardStatColors);
}
static const u8 *const gUnknown_0856FB5C[] = {gText_LinkBattles, gText_LinkCableBattles, gText_LinkBattles};
@@ -1180,8 +1180,8 @@ static void PrintLinkResultsNumsOnCard(void)
if (sData->hasLinkResults)
{
StringCopy(sData->var_D9, gUnknown_0856FB5C[sData->cardType]);
- ConvertIntToDecimalStringN(sData->var_165, sData->trainerCard.linkBattleWins, 0, 4);
- ConvertIntToDecimalStringN(sData->var_1AB, sData->trainerCard.linkBattleLosses, 0, 4);
+ ConvertIntToDecimalStringN(sData->var_165, sData->trainerCard.linkBattleWins, STR_CONV_MODE_LEFT_ALIGN, 4);
+ ConvertIntToDecimalStringN(sData->var_1AB, sData->trainerCard.linkBattleLosses, STR_CONV_MODE_LEFT_ALIGN, 4);
}
}
@@ -1192,51 +1192,51 @@ static void PrintWinsLossesStringOnCard(void)
StringCopy(gStringVar1, sData->var_165);
StringCopy(gStringVar2, sData->var_1AB);
StringExpandPlaceholders(gStringVar4, gText_WinsLosses);
- PrintString(1, sData->var_D9, gStringVar4, gUnknown_0856FB0C);
+ PrintString(1, sData->var_D9, gStringVar4, sTrainerCardTextColors);
}
}
static void PrintTradesNumOnCard(void)
{
if (sData->hasTrades)
- ConvertIntToDecimalStringN(sData->var_237, sData->trainerCard.pokemonTrades, 1, 5);
+ ConvertIntToDecimalStringN(sData->var_237, sData->trainerCard.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5);
}
static void PrintTradesStringOnCard(void)
{
if (sData->hasTrades)
- PrintString(2, gText_PokemonTrades, sData->var_237, gUnknown_0856FB0F);
+ PrintString(2, gText_PokemonTrades, sData->var_237, sTrainerCardStatColors);
}
static void PrintBerryCrushNumOnCard(void)
{
if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.berryCrushPoints)
- ConvertIntToDecimalStringN(sData->var_2C3, sData->trainerCard.berryCrushPoints, 1, 5);
+ ConvertIntToDecimalStringN(sData->var_2C3, sData->trainerCard.berryCrushPoints, STR_CONV_MODE_RIGHT_ALIGN, 5);
}
static void PrintBerryCrushStringOnCard(void)
{
if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.berryCrushPoints)
- PrintString(4, gText_BerryCrush, sData->var_2C3, gUnknown_0856FB0F);
+ PrintString(4, gText_BerryCrush, sData->var_2C3, sTrainerCardStatColors);
}
static void PrintUnionNumOnCard(void)
{
if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.unionRoomNum)
- ConvertIntToDecimalStringN(sData->var_34F, sData->trainerCard.unionRoomNum, 1, 5);
+ ConvertIntToDecimalStringN(sData->var_34F, sData->trainerCard.unionRoomNum, STR_CONV_MODE_RIGHT_ALIGN, 5);
}
static void PrintUnionStringOnCard(void)
{
if (sData->cardType == CARD_TYPE_FRLG && sData->trainerCard.unionRoomNum)
- PrintString(3, gText_UnionTradesAndBattles, sData->var_34F, gUnknown_0856FB0F);
+ PrintString(3, gText_UnionTradesAndBattles, sData->var_34F, sTrainerCardStatColors);
}
static void PrintPokeblocksNumOnCard(void)
{
if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.pokeblocksWithFriends)
{
- ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.pokeblocksWithFriends, 1, 5);
+ ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.pokeblocksWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5);
StringExpandPlaceholders(sData->var_395, gText_Var1DarkGreyShadowLightGrey);
}
}
@@ -1244,19 +1244,19 @@ static void PrintPokeblocksNumOnCard(void)
static void PrintPokeblockStringOnCard(void)
{
if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.pokeblocksWithFriends)
- PrintString(3, gText_PokeblocksWithFriends, sData->var_395, gUnknown_0856FB0F);
+ PrintString(3, gText_PokeblocksWithFriends, sData->var_395, sTrainerCardStatColors);
}
static void PrintContestNumOnCard(void)
{
if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.contestsWithFriends)
- ConvertIntToDecimalStringN(sData->var_3DB, sData->trainerCard.contestsWithFriends, 1, 5);
+ ConvertIntToDecimalStringN(sData->var_3DB, sData->trainerCard.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5);
}
static void PrintContestStringOnCard(void)
{
if (sData->cardType != CARD_TYPE_FRLG && sData->trainerCard.contestsWithFriends)
- PrintString(4, gText_WonContestsWFriends, sData->var_3DB, gUnknown_0856FB0F);
+ PrintString(4, gText_WonContestsWFriends, sData->var_3DB, sTrainerCardStatColors);
}
static void PrintBattleFacilityNumsOnCard(void)
@@ -1266,15 +1266,15 @@ static void PrintBattleFacilityNumsOnCard(void)
case CARD_TYPE_RS:
if (sData->hasBattleTowerWins)
{
- ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.battleTowerWins, 1, 4);
- ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.battleTowerStraightWins, 1, 4);
+ ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.battleTowerWins, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ ConvertIntToDecimalStringN(gStringVar2, sData->trainerCard.battleTowerStraightWins, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(sData->var_421, gText_WSlashStraightSlash);
}
break;
case CARD_TYPE_EMERALD:
if (sData->trainerCard.frontierBP)
{
- ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.frontierBP, 1, 5);
+ ConvertIntToDecimalStringN(gStringVar1, sData->trainerCard.frontierBP, STR_CONV_MODE_RIGHT_ALIGN, 5);
StringExpandPlaceholders(sData->var_421, gText_Var1DarkLightGreyBP);
}
break;
@@ -1289,11 +1289,11 @@ static void PrintBattleFacilityStringOnCard(void)
{
case CARD_TYPE_RS:
if (sData->hasBattleTowerWins)
- PrintString(5, gText_BattleTower, sData->var_421, gUnknown_0856FB0C);
+ PrintString(5, gText_BattleTower, sData->var_421, sTrainerCardTextColors);
break;
case CARD_TYPE_EMERALD:
if (sData->trainerCard.frontierBP)
- PrintString(5, gText_BattlePtsWon, sData->var_421, gUnknown_0856FB0F);
+ PrintString(5, gText_BattlePtsWon, sData->var_421, sTrainerCardStatColors);
break;
case CARD_TYPE_FRLG:
break;
diff --git a/src/trainer_hill.c b/src/trainer_hill.c
index 2a7e003d9..c339a56e0 100644
--- a/src/trainer_hill.c
+++ b/src/trainer_hill.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "battle_tower.h"
#include "battle_setup.h"
@@ -22,6 +22,7 @@
#include "trainer_hill.h"
#include "window.h"
#include "util.h"
+#include "constants/battle_ai.h"
#include "constants/event_object_movement_constants.h"
#include "constants/event_objects.h"
#include "constants/items.h"
@@ -45,7 +46,7 @@ struct TrHillStruct2
{
u8 floorId;
struct TrHillTag tag;
- struct TrHillFloor floors[4];
+ struct TrHillFloor floors[NUM_TRAINER_HILL_FLOORS];
};
static EWRAM_DATA struct TrHillStruct2 *sHillData = NULL;
@@ -54,30 +55,30 @@ EWRAM_DATA u32 *gTrainerHillVBlankCounter = NULL;
// This file's functions.
static void TrainerHillStartChallenge(void);
-static void sub_81D58D8(void);
-static void sub_81D5924(void);
-static void sub_81D59D0(void);
+static void GetOwnerState(void);
+static void GiveChallengePrize(void);
+static void CheckFinalTime(void);
static void TrainerHillResumeTimer(void);
static void TrainerHillSetPlayerLost(void);
static void TrainerHillGetChallengeStatus(void);
-static void sub_81D5B2C(void);
-static void sub_81D5BBC(void);
-static void sub_81D5C00(void);
-static void sub_81D5C5C(void);
-static void sub_81D62B4(void);
-static void sub_81D64AC(void);
-static void sub_81D64DC(void);
-static void sub_81D64FC(void);
-static void sub_81D6518(void);
-static void sub_81D6568(void);
+static void BufferChallengeTime(void);
+static void GetAllFloorsUsed(void);
+static void ClearVarResult(void);
+static void IsTrainerHillChallengeActive(void);
+static void ShowTrainerHillPostBattleText(void);
+static void SetAllTrainerFlags(void);
+static void GetGameSaved(void);
+static void SetGameSaved(void);
+static void ClearGameSaved(void);
+static void GetChallengeWon(void);
static void TrainerHillSetTag(void);
static void SetUpDataStruct(void);
static void FreeDataStruct(void);
static void nullsub_2(void);
static void SetTimerValue(u32 *dst, u32 val);
static u32 GetTimerValue(u32 *src);
-static void sub_81D642C(struct Pokemon *mon, u8 level);
-static u16 sub_81D6640(void);
+static void SetTrainerHillMonLevel(struct Pokemon *mon, u8 level);
+static u16 GetPrizeItemId(void);
// const data
#include "data/battle_frontier/trainer_hill.h"
@@ -86,7 +87,7 @@ struct
{
u8 trainerClass;
u8 musicId;
-} static const gUnknown_0862A3B4[] =
+} static const sTrainerClassesAndMusic[] =
{
{TRAINER_CLASS_TEAM_AQUA, TRAINER_ENCOUNTER_MUSIC_AQUA},
{TRAINER_CLASS_AQUA_ADMIN, TRAINER_ENCOUNTER_MUSIC_AQUA},
@@ -144,63 +145,64 @@ struct
{TRAINER_CLASS_SCHOOL_KID, TRAINER_ENCOUNTER_MUSIC_MALE},
};
-static const u16 gUnknown_0862A48C[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A498[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4A4[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4B0[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4BC[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4C8[] = {ITEM_TM05_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4D4[] = {ITEM_TM36_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4E0[] = {ITEM_TM06_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4EC[] = {ITEM_TM11_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A4F8[] = {ITEM_TM26_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A504[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A510[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A51C[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A528[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A534[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A540[] = {ITEM_TM31_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A54C[] = {ITEM_TM41_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A558[] = {ITEM_TM48_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A564[] = {ITEM_TM19_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-static const u16 gUnknown_0862A570[] = {ITEM_TM45_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
-
-static const u16 *const gUnknown_0862A57C[] =
-{
- gUnknown_0862A48C,
- gUnknown_0862A498,
- gUnknown_0862A4A4,
- gUnknown_0862A4B0,
- gUnknown_0862A4BC,
- gUnknown_0862A4C8,
- gUnknown_0862A4D4,
- gUnknown_0862A4E0,
- gUnknown_0862A4EC,
- gUnknown_0862A4F8
+static const u16 sPrizeListRareCandy1[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListLuxuryBall1[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListMaxRevive1[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListMaxEther1[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListElixir1[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListRoar[] = {ITEM_TM05_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListSludgeBomb[] = {ITEM_TM36_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListToxic[] = {ITEM_TM06_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListSunnyDay[] = {ITEM_TM11_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListEarthQuake[] = {ITEM_TM26_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+
+static const u16 sPrizeListRareCandy2[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListLuxuryBall2[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListMaxRevive2[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListMaxEther2[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListElixir2[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListBrickBreak[] = {ITEM_TM31_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListTorment[] = {ITEM_TM41_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListSkillSwap[] = {ITEM_TM48_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListGigaSwap[] = {ITEM_TM19_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+static const u16 sPrizeListAttract[] = {ITEM_TM45_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
+
+static const u16 *const sPrizeLists1[NUM_TRAINER_HILL_PRIZE_LISTS] =
+{
+ sPrizeListRareCandy1,
+ sPrizeListLuxuryBall1,
+ sPrizeListMaxRevive1,
+ sPrizeListMaxEther1,
+ sPrizeListElixir1,
+ sPrizeListRoar,
+ sPrizeListSludgeBomb,
+ sPrizeListToxic,
+ sPrizeListSunnyDay,
+ sPrizeListEarthQuake
};
-static const u16 *const gUnknown_0862A5A4[] =
-{
- gUnknown_0862A504,
- gUnknown_0862A510,
- gUnknown_0862A51C,
- gUnknown_0862A528,
- gUnknown_0862A534,
- gUnknown_0862A540,
- gUnknown_0862A54C,
- gUnknown_0862A558,
- gUnknown_0862A564,
- gUnknown_0862A570
+static const u16 *const sPrizeLists2[NUM_TRAINER_HILL_PRIZE_LISTS] =
+{
+ sPrizeListRareCandy2,
+ sPrizeListLuxuryBall2,
+ sPrizeListMaxRevive2,
+ sPrizeListMaxEther2,
+ sPrizeListElixir2,
+ sPrizeListBrickBreak,
+ sPrizeListTorment,
+ sPrizeListSkillSwap,
+ sPrizeListGigaSwap,
+ sPrizeListAttract
};
-static const u16 *const *const gUnknown_0862A5CC[] =
+static const u16 *const *const sPrizeListSets[] =
{
- gUnknown_0862A57C,
- gUnknown_0862A5A4
+ sPrizeLists1,
+ sPrizeLists2
};
-static const u16 gUnknown_0862A5D4[] = INCBIN_U16("graphics/pokenav/862A5D4.gbapal");
-static const u8 sRecordWinColors[] = {0, 2, 3};
+static const u16 sUnknown_0862A5D4[] = INCBIN_U16("graphics/pokenav/862A5D4.gbapal");
+static const u8 sRecordWinColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY};
static const struct TrHillTag *const sDataPerTag[] =
{
@@ -221,24 +223,24 @@ static const u8 *const sFloorStrings[] =
static void (* const sHillFunctions[])(void) =
{
- TrainerHillStartChallenge,
- sub_81D58D8,
- sub_81D5924,
- sub_81D59D0,
- TrainerHillResumeTimer,
- TrainerHillSetPlayerLost,
- TrainerHillGetChallengeStatus,
- sub_81D5B2C,
- sub_81D5BBC,
- sub_81D5C00,
- sub_81D5C5C,
- sub_81D62B4,
- sub_81D64AC,
- sub_81D64DC,
- sub_81D64FC,
- sub_81D6518,
- sub_81D6568,
- TrainerHillSetTag,
+ [TRAINER_HILL_FUNC_START] = TrainerHillStartChallenge,
+ [TRAINER_HILL_FUNC_GET_OWNER_STATE] = GetOwnerState,
+ [TRAINER_HILL_FUNC_GIVE_PRIZE] = GiveChallengePrize,
+ [TRAINER_HILL_FUNC_CHECK_FINAL_TIME] = CheckFinalTime,
+ [TRAINER_HILL_FUNC_RESUME_TIMER] = TrainerHillResumeTimer,
+ [TRAINER_HILL_FUNC_SET_LOST] = TrainerHillSetPlayerLost,
+ [TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS] = TrainerHillGetChallengeStatus,
+ [TRAINER_HILL_FUNC_GET_CHALLENGE_TIME] = BufferChallengeTime,
+ [TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED] = GetAllFloorsUsed,
+ [TRAINER_HILL_FUNC_CLEAR_RESULT] = ClearVarResult,
+ [TRAINER_HILL_FUNC_IN_CHALLENGE] = IsTrainerHillChallengeActive,
+ [TRAINER_HILL_FUNC_POST_BATTLE_TEXT] = ShowTrainerHillPostBattleText,
+ [TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS] = SetAllTrainerFlags,
+ [TRAINER_HILL_FUNC_GET_GAME_SAVED] = GetGameSaved,
+ [TRAINER_HILL_FUNC_SET_GAME_SAVED] = SetGameSaved,
+ [TRAINER_HILL_FUNC_CLEAR_GAME_SAVED] = ClearGameSaved,
+ [TRAINER_HILL_FUNC_GET_WON] = GetChallengeWon,
+ [TRAINER_HILL_FUNC_SET_TAG] = TrainerHillSetTag,
};
static const u8 *const sTagMatchStrings[] =
@@ -249,7 +251,7 @@ static const u8 *const sTagMatchStrings[] =
gText_ExpertTagMatch,
};
-static const struct EventObjectTemplate gUnknown_0862A670 =
+static const struct EventObjectTemplate sTrainerEventObjectTemplate =
{
.graphicsId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL,
.elevation = 3,
@@ -259,8 +261,18 @@ static const struct EventObjectTemplate gUnknown_0862A670 =
.trainerType = 1,
};
-static const u32 gUnknown_0862A688[] = {MAP_NUM(TRAINER_HILL_2F), MAP_NUM(TRAINER_HILL_3F), MAP_NUM(TRAINER_HILL_4F), MAP_NUM(TRAINER_HILL_ROOF)};
-static const u8 gUnknown_0862A698[][3] = {{0, 1, 2}, {3, 4, 5}};
+static const u32 sNextFloorMapNum[NUM_TRAINER_HILL_FLOORS] =
+{
+ MAP_NUM(TRAINER_HILL_2F),
+ MAP_NUM(TRAINER_HILL_3F),
+ MAP_NUM(TRAINER_HILL_4F),
+ MAP_NUM(TRAINER_HILL_ROOF)
+};
+static const u8 sTrainerPartySlots[][PARTY_SIZE / 2] =
+{
+ {0, 1, 2},
+ {3, 4, 5}
+};
// code
void CallTrainerHillFunction(void)
@@ -274,8 +286,8 @@ void ResetTrainerHillResults(void)
{
s32 i;
- gSaveBlock2Ptr->frontier.field_EF9_1 = 0;
- gSaveBlock2Ptr->frontier.field_EF9_0 = 0;
+ gSaveBlock2Ptr->frontier.savedGame = 0;
+ gSaveBlock2Ptr->frontier.unk_EF9 = 0;
gSaveBlock1Ptr->trainerHill.bestTime = 0;
for (i = 0; i < 4; i++)
SetTimerValue(&gSaveBlock1Ptr->trainerHillTimes[i], HILL_MAX_TIME);
@@ -366,16 +378,16 @@ void CopyTrainerHillTrainerText(u8 which, u16 trainerId)
switch (which)
{
- case 2:
+ case TRAINER_HILL_TEXT_INTRO:
FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechBefore);
break;
- case 3:
+ case TRAINER_HILL_TEXT_PLAYER_LOST:
FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechWin);
break;
- case 4:
+ case TRAINER_HILL_TEXT_PLAYER_WON:
FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechLose);
break;
- case 5:
+ case TRAINER_HILL_TEXT_AFTER:
FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechAfter);
break;
}
@@ -391,42 +403,42 @@ static void TrainerHillStartChallenge(void)
else
gSaveBlock1Ptr->trainerHill.field_3D6E_0f = 0;
- gSaveBlock1Ptr->trainerHill.field_3D6C = 0;
+ gSaveBlock1Ptr->trainerHill.unk_3D6C = 0;
SetTrainerHillVBlankCounter(&gSaveBlock1Ptr->trainerHill.timer);
gSaveBlock1Ptr->trainerHill.timer = 0;
- gSaveBlock1Ptr->trainerHill.field_3D6E_0c = 0;
- gSaveBlock1Ptr->trainerHill.field_3D6E_0b = 0;
+ gSaveBlock1Ptr->trainerHill.spokeToOwner = 0;
+ gSaveBlock1Ptr->trainerHill.checkedFinalTime = 0;
gSaveBlock1Ptr->trainerHill.maybeECardScanDuringChallenge = 0;
- gSaveBlock2Ptr->frontier.field_EE0 = 0;
+ gSaveBlock2Ptr->frontier.trainerFlags = 0;
gBattleOutcome = 0;
- gSaveBlock1Ptr->trainerHill.field_3D6E_0a = 0;
+ gSaveBlock1Ptr->trainerHill.receivedPrize = 0;
}
-static void sub_81D58D8(void)
+static void GetOwnerState(void)
{
ClearTrainerHillVBlankCounter();
gSpecialVar_Result = 0;
- if (gSaveBlock1Ptr->trainerHill.field_3D6E_0c)
+ if (gSaveBlock1Ptr->trainerHill.spokeToOwner)
gSpecialVar_Result++;
- if (gSaveBlock1Ptr->trainerHill.field_3D6E_0a && gSaveBlock1Ptr->trainerHill.field_3D6E_0b)
+ if (gSaveBlock1Ptr->trainerHill.receivedPrize && gSaveBlock1Ptr->trainerHill.checkedFinalTime)
gSpecialVar_Result++;
- gSaveBlock1Ptr->trainerHill.field_3D6E_0c = 1;
+ gSaveBlock1Ptr->trainerHill.spokeToOwner = TRUE;
}
-static void sub_81D5924(void)
+static void GiveChallengePrize(void)
{
- u16 itemId = sub_81D6640();
+ u16 itemId = GetPrizeItemId();
- if (sHillData->tag.numFloors != 4 || gSaveBlock1Ptr->trainerHill.field_3D6E_0a)
+ if (sHillData->tag.numFloors != NUM_TRAINER_HILL_FLOORS || gSaveBlock1Ptr->trainerHill.receivedPrize)
{
gSpecialVar_Result = 2;
}
else if (AddBagItem(itemId, 1) == TRUE)
{
CopyItemName(itemId, gStringVar2);
- gSaveBlock1Ptr->trainerHill.field_3D6E_0a = 1;
- gSaveBlock2Ptr->frontier.field_EF9_0 = 0;
+ gSaveBlock1Ptr->trainerHill.receivedPrize = TRUE;
+ gSaveBlock2Ptr->frontier.unk_EF9 = 0;
gSpecialVar_Result = 0;
}
else
@@ -435,9 +447,11 @@ static void sub_81D5924(void)
}
}
-static void sub_81D59D0(void)
+// If bestTime > timer, the challenge was completed faster and its a new record
+// Otherwise the owner says it was a slow time and to complete it faster next time
+static void CheckFinalTime(void)
{
- if (gSaveBlock1Ptr->trainerHill.field_3D6E_0b)
+ if (gSaveBlock1Ptr->trainerHill.checkedFinalTime)
{
gSpecialVar_Result = 2;
}
@@ -452,12 +466,12 @@ static void sub_81D59D0(void)
gSpecialVar_Result = 1;
}
- gSaveBlock1Ptr->trainerHill.field_3D6E_0b = 1;
+ gSaveBlock1Ptr->trainerHill.checkedFinalTime = TRUE;
}
static void TrainerHillResumeTimer(void)
{
- if (!gSaveBlock1Ptr->trainerHill.field_3D6E_0c)
+ if (!gSaveBlock1Ptr->trainerHill.spokeToOwner)
{
if (gSaveBlock1Ptr->trainerHill.timer >= HILL_MAX_TIME)
gSaveBlock1Ptr->trainerHill.timer = HILL_MAX_TIME;
@@ -468,7 +482,7 @@ static void TrainerHillResumeTimer(void)
static void TrainerHillSetPlayerLost(void)
{
- gSaveBlock1Ptr->trainerHill.hasLost = 1;
+ gSaveBlock1Ptr->trainerHill.hasLost = TRUE;
}
static void TrainerHillGetChallengeStatus(void)
@@ -476,7 +490,7 @@ static void TrainerHillGetChallengeStatus(void)
if (gSaveBlock1Ptr->trainerHill.hasLost)
{
// The player lost their last match.
- gSaveBlock1Ptr->trainerHill.hasLost = 0;
+ gSaveBlock1Ptr->trainerHill.hasLost = FALSE;
gSpecialVar_Result = TRAINER_HILL_PLAYER_STATUS_LOST;
}
else if (gSaveBlock1Ptr->trainerHill.maybeECardScanDuringChallenge)
@@ -492,7 +506,7 @@ static void TrainerHillGetChallengeStatus(void)
}
}
-static void sub_81D5B2C(void)
+static void BufferChallengeTime(void)
{
s32 total, minutes, secondsWhole, secondsFraction;
@@ -511,34 +525,38 @@ static void sub_81D5B2C(void)
ConvertIntToDecimalStringN(gStringVar3, secondsFraction, STR_CONV_MODE_LEADING_ZEROS, 2);
}
-static void sub_81D5BBC(void)
+// Returns TRUE if all 4 floors are used
+// Returns FALSE otherwise, and buffers the number of floors used
+// The only time fewer than all 4 floors are used is for the JP-exclusive E-Reader and Default modes
+static void GetAllFloorsUsed(void)
{
SetUpDataStruct();
- if (sHillData->tag.numFloors != 4)
+ if (sHillData->tag.numFloors != NUM_TRAINER_HILL_FLOORS)
{
ConvertIntToDecimalStringN(gStringVar1, sHillData->tag.numFloors, STR_CONV_MODE_LEFT_ALIGN, 1);
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
}
else
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
}
FreeDataStruct();
}
-static void sub_81D5C00(void)
+// May have been dummied. Every time this is called a conditional for var result occurs afterwards
+static void ClearVarResult(void)
{
SetUpDataStruct();
gSpecialVar_Result = 0;
FreeDataStruct();
}
-bool8 sub_81D5C18(void)
+bool8 InTrainerHillChallenge(void)
{
if (VarGet(VAR_TRAINER_HILL_IS_ACTIVE) == 0)
return FALSE;
- else if (gSaveBlock1Ptr->trainerHill.field_3D6E_0c)
+ else if (gSaveBlock1Ptr->trainerHill.spokeToOwner)
return FALSE;
else if (GetCurrentTrainerHillMapId() != 0)
return TRUE;
@@ -546,12 +564,12 @@ bool8 sub_81D5C18(void)
return FALSE;
}
-static void sub_81D5C5C(void)
+static void IsTrainerHillChallengeActive(void)
{
- if (!sub_81D5C18())
- gSpecialVar_Result = 0;
+ if (!InTrainerHillChallenge())
+ gSpecialVar_Result = FALSE;
else
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
}
void nullsub_129(void)
@@ -611,12 +629,12 @@ static void SetTimerValue(u32 *dst, u32 val)
*dst = val;
}
-void sub_81D5DF8(void)
+void LoadTrainerHillEventObjectTemplates(void)
{
u8 i, floorId;
struct EventObjectTemplate *eventTemplates = gSaveBlock1Ptr->eventObjectTemplates;
- if (!sub_81D5F48())
+ if (!LoadTrainerHillFloorEventObjectScripts())
return;
SetUpDataStruct();
@@ -629,7 +647,7 @@ void sub_81D5DF8(void)
{
u8 bits;
- eventTemplates[i] = gUnknown_0862A670;
+ eventTemplates[i] = sTrainerEventObjectTemplate;
eventTemplates[i].localId = i + 1;
eventTemplates[i].graphicsId = FacilityClassToGraphicsId(sHillData->floors[floorId].trainers[i].facilityClass);
eventTemplates[i].x = sHillData->floors[floorId].display.coords[i] & 0xF;
@@ -637,16 +655,17 @@ void sub_81D5DF8(void)
bits = i << 2;
eventTemplates[i].movementType = ((sHillData->floors[floorId].display.direction >> bits) & 0xF) + MOVEMENT_TYPE_FACE_UP;
eventTemplates[i].trainerRange_berryTreeId = (sHillData->floors[floorId].display.range >> bits) & 0xF;
- eventTemplates[i].script = EventScript_2C83F0;
+ eventTemplates[i].script = TrainerHill_EventScript_TrainerBattle;
gSaveBlock2Ptr->frontier.trainerIds[i] = i + 1;
}
FreeDataStruct();
}
-bool32 sub_81D5F48(void)
+bool32 LoadTrainerHillFloorEventObjectScripts(void)
{
SetUpDataStruct();
+ // Something may have been dummied here
FreeDataStruct();
return TRUE;
}
@@ -657,8 +676,8 @@ static u32 sub_81D5F58(u8 floorId, u32 bit, u32 arg2, u32 arg3)
{
u32 var0, var1, var2, var3;
- var0 = (sHillData->floors[floorId].unk3A0[arg2] >> (15 - bit)) & 1;
- var1 = sHillData->floors[floorId].data[arg2 * arg3 + bit];
+ var0 = (sHillData->floors[floorId].display.unk3A0[arg2] >> (15 - bit)) & 1;
+ var1 = sHillData->floors[floorId].display.data[arg2 * arg3 + bit];
var3 = 0x200;
var2 = 0x3000;
@@ -716,20 +735,20 @@ static u32 sub_81D5F58(u8 floorId, u32 bit, u32 arg2, u32 arg3)
}
#endif // NONMATCHING
-void sub_81D5FB4(u16 *mapArg)
+void GenerateTrainerHillFloorLayout(u16 *mapArg)
{
s32 i, j;
u16 *src, *dst;
u8 mapId = GetCurrentTrainerHillMapId();
- if (mapId == 6)
+ if (mapId == TRAINER_HILL_ENTRANCE)
{
InitMapFromSavedGame();
return;
}
SetUpDataStruct();
- if (mapId == 5)
+ if (mapId == TRAINER_HILL_ROOF)
{
InitMapFromSavedGame();
FreeDataStruct();
@@ -766,9 +785,9 @@ bool32 InTrainerHill(void)
bool32 ret;
if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_1F
- || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_2F
- || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_3F
- || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_4F)
+ || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_2F
+ || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_3F
+ || gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_4F)
ret = TRUE;
else
ret = FALSE;
@@ -778,58 +797,61 @@ bool32 InTrainerHill(void)
u8 GetCurrentTrainerHillMapId(void)
{
- u8 ret;
+ u8 mapId;
if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_1F)
- ret = 1;
+ mapId = TRAINER_HILL_1F;
else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_2F)
- ret = 2;
+ mapId = TRAINER_HILL_2F;
else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_3F)
- ret = 3;
+ mapId = TRAINER_HILL_3F;
else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_4F)
- ret = 4;
+ mapId = TRAINER_HILL_4F;
else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_ROOF)
- ret = 5;
+ mapId = TRAINER_HILL_ROOF;
else if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_ENTRANCE)
- ret = 6;
+ mapId = TRAINER_HILL_ENTRANCE;
else
- ret = 0;
+ mapId = 0;
- return ret;
+ return mapId;
}
-static bool32 sub_81D6100(void)
+// Unused
+static bool32 OnTrainerHillRoof(void)
{
- bool32 ret;
+ bool32 onRoof;
if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_HILL_ROOF)
- ret = TRUE;
+ onRoof = TRUE;
else
- ret = FALSE;
+ onRoof = FALSE;
- return ret;
+ return onRoof;
}
-const struct WarpEvent* sub_81D6120(void)
+const struct WarpEvent* SetWarpDestinationTrainerHill4F(void)
{
const struct MapHeader *header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), MAP_NUM(TRAINER_HILL_4F));
return &header->events->warps[1];
}
-const struct WarpEvent* sub_81D6134(u8 warpEventId)
+// For warping from the roof in challenges where the 4F is not the final challenge floor
+// This would only occur in the JP-exclusive Default and E-Reader challenges
+const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId)
{
- u8 id;
+ u8 numFloors;
const struct MapHeader *header;
if (warpEventId == 1)
return &gMapHeader.events->warps[1];
- id = sub_81D6490();
- if (id == 0 || id >= 5)
- id = 4;
+ numFloors = GetNumFloorsInTrainerHillChallenge();
+ if (numFloors == 0 || numFloors > NUM_TRAINER_HILL_FLOORS)
+ numFloors = NUM_TRAINER_HILL_FLOORS;
- header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), gUnknown_0862A688[id - 1]);
+ header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), sNextFloorMapNum[numFloors - 1]);
return &header->events->warps[0];
}
@@ -843,7 +865,7 @@ bool8 GetHillTrainerFlag(u8 eventObjectId)
u32 floorId = GetFloorId() * 2;
u8 bitId = gEventObjects[eventObjectId].localId - 1 + floorId;
- return gSaveBlock2Ptr->frontier.field_EE0 & gBitTable[bitId];
+ return gSaveBlock2Ptr->frontier.trainerFlags & gBitTable[bitId];
}
void SetHillTrainerFlag(void)
@@ -855,7 +877,7 @@ void SetHillTrainerFlag(void)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_A)
{
- gSaveBlock2Ptr->frontier.field_EE0 |= gBitTable[floorId + i];
+ gSaveBlock2Ptr->frontier.trainerFlags |= gBitTable[floorId + i];
break;
}
}
@@ -866,7 +888,7 @@ void SetHillTrainerFlag(void)
{
if (gSaveBlock2Ptr->frontier.trainerIds[i] == gTrainerBattleOpponent_B)
{
- gSaveBlock2Ptr->frontier.field_EE0 |= gBitTable[floorId + i];
+ gSaveBlock2Ptr->frontier.trainerFlags |= gBitTable[floorId + i];
break;
}
}
@@ -875,19 +897,19 @@ void SetHillTrainerFlag(void)
const u8 *GetTrainerHillTrainerScript(void)
{
- return EventScript_2C83F0;
+ return TrainerHill_EventScript_TrainerBattle;
}
-static void sub_81D62B4(void)
+static void ShowTrainerHillPostBattleText(void)
{
- CopyTrainerHillTrainerText(5, gSpecialVar_LastTalked);
+ CopyTrainerHillTrainerText(TRAINER_HILL_TEXT_AFTER, gSpecialVar_LastTalked);
sub_80982B8();
}
-static void sub_81D62CC(u16 trainerId, u8 firstMonId)
+static void CreateNPCTrainerHillParty(u16 trainerId, u8 firstMonId)
{
u8 trId, level;
- s32 i, floorId, arrId;
+ s32 i, floorId, partySlot;
if (trainerId == 0 || trainerId > 2)
return;
@@ -896,13 +918,13 @@ static void sub_81D62CC(u16 trainerId, u8 firstMonId)
SetUpDataStruct();
level = GetHighestLevelInPlayerParty();
floorId = GetFloorId();
- for (i = firstMonId, arrId = 0; i < firstMonId + 3; i++, arrId++)
+ for (i = firstMonId, partySlot = 0; i < firstMonId + 3; i++, partySlot++)
{
- u8 id = gUnknown_0862A698[trId][arrId];
+ u8 id = sTrainerPartySlots[trId][partySlot];
struct Pokemon *mon = &gEnemyParty[i];
CreateBattleTowerMon(mon, &sHillData->floors[floorId].trainers[trId].mons[id]);
- sub_81D642C(mon, level);
+ SetTrainerHillMonLevel(mon, level);
}
FreeDataStruct();
@@ -911,22 +933,22 @@ static void sub_81D62CC(u16 trainerId, u8 firstMonId)
void FillHillTrainerParty(void)
{
ZeroEnemyPartyMons();
- sub_81D62CC(gTrainerBattleOpponent_A, 0);
+ CreateNPCTrainerHillParty(gTrainerBattleOpponent_A, 0);
}
void FillHillTrainersParties(void)
{
ZeroEnemyPartyMons();
- sub_81D62CC(gTrainerBattleOpponent_A, 0);
- sub_81D62CC(gTrainerBattleOpponent_B, 3);
+ CreateNPCTrainerHillParty(gTrainerBattleOpponent_A, 0);
+ CreateNPCTrainerHillParty(gTrainerBattleOpponent_B, 3);
}
// This function is unused, but my best guess is
// it was supposed to return AI scripts for trainer
// hill trainers.
-u32 sub_81D63C4(void)
+u32 GetTrainerHillAIFlags(void)
{
- return 7;
+ return (AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY);
}
u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId)
@@ -939,16 +961,16 @@ u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId)
facilityClass = sHillData->floors[sHillData->floorId].trainers[trId].facilityClass;
FreeDataStruct();
- for (i = 0; i < ARRAY_COUNT(gUnknown_0862A3B4); i++)
+ for (i = 0; i < ARRAY_COUNT(sTrainerClassesAndMusic); i++)
{
- if (gUnknown_0862A3B4[i].trainerClass == gFacilityClassToTrainerClass[facilityClass])
- return gUnknown_0862A3B4[i].musicId;
+ if (sTrainerClassesAndMusic[i].trainerClass == gFacilityClassToTrainerClass[facilityClass])
+ return sTrainerClassesAndMusic[i].musicId;
}
return 0;
}
-static void sub_81D642C(struct Pokemon *mon, u8 level)
+static void SetTrainerHillMonLevel(struct Pokemon *mon, u8 level)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
u32 exp = gExperienceTables[gBaseStats[species].growthRate][level];
@@ -958,61 +980,63 @@ static void sub_81D642C(struct Pokemon *mon, u8 level)
CalculateMonStats(mon);
}
-u8 sub_81D6490(void)
+u8 GetNumFloorsInTrainerHillChallenge(void)
{
- u8 ret;
+ u8 floors;
SetUpDataStruct();
- ret = sHillData->tag.numFloors;
+ floors = sHillData->tag.numFloors;
FreeDataStruct();
- return ret;
+ return floors;
}
-static void sub_81D64AC(void)
+static void SetAllTrainerFlags(void)
{
- gSaveBlock2Ptr->frontier.field_EE0 = 0xFF;
+ gSaveBlock2Ptr->frontier.trainerFlags = 0xFF;
}
+// Palette never loaded, sub_81D6534 always FALSE
void sub_81D64C0(void)
{
if (sub_81D6534() == TRUE)
- LoadPalette(gUnknown_0862A5D4, 0x70, 0x20);
+ LoadPalette(sUnknown_0862A5D4, 0x70, 0x20);
}
-static void sub_81D64DC(void)
+static void GetGameSaved(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_EF9_1;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.savedGame;
}
-static void sub_81D64FC(void)
+static void SetGameSaved(void)
{
- gSaveBlock2Ptr->frontier.field_EF9_1 = 1;
+ gSaveBlock2Ptr->frontier.savedGame = TRUE;
}
-static void sub_81D6518(void)
+static void ClearGameSaved(void)
{
- gSaveBlock2Ptr->frontier.field_EF9_1 = 0;
+ gSaveBlock2Ptr->frontier.savedGame = FALSE;
}
+// Always FALSE
bool32 sub_81D6534(void)
{
- if (!sub_81D5C18() || GetCurrentTrainerHillMapId() == 6)
+ if (!InTrainerHillChallenge() || GetCurrentTrainerHillMapId() == TRAINER_HILL_ENTRANCE)
return FALSE;
- sub_81D5C00();
+ ClearVarResult();
if (gSpecialVar_Result == 0)
return FALSE;
else
return TRUE;
}
-static void sub_81D6568(void)
+static void GetChallengeWon(void)
{
if (gSaveBlock1Ptr->trainerHill.hasLost)
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
else
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
}
static void TrainerHillSetTag(void)
@@ -1021,49 +1045,50 @@ static void TrainerHillSetTag(void)
gSaveBlock1Ptr->trainerHill.bestTime = gSaveBlock1Ptr->trainerHillTimes[gSpecialVar_0x8005];
}
-static u8 sub_81D65E8(u8 arg0)
+static u8 GetPrizeListId(bool8 maxTrainers)
{
- u8 var, i, modBy;
+ u8 prizeListId, i, modBy;
- var = 0;
- for (i = 0; i < 4; i++)
+ prizeListId = 0;
+ for (i = 0; i < NUM_TRAINER_HILL_FLOORS; i++)
{
- var ^= sHillData->floors[i].unk0 & 0x1F;
- var ^= sHillData->floors[i].unk1 & 0x1F;
+ prizeListId ^= sHillData->floors[i].trainerNum1 & 0x1F;
+ prizeListId ^= sHillData->floors[i].trainerNum2 & 0x1F;
}
- if (arg0)
- modBy = 10;
+ // Not possible to win TMs with fewer than 8 trainers
+ if (maxTrainers)
+ modBy = NUM_TRAINER_HILL_PRIZE_LISTS;
else
- modBy = 5;
+ modBy = NUM_TRAINER_HILL_PRIZE_LISTS / 2;
- var %= modBy;
- return var;
+ prizeListId %= modBy;
+ return prizeListId;
}
-static u16 sub_81D6640(void)
+static u16 GetPrizeItemId(void)
{
u8 i;
- const u16 *ptr;
- s32 var = 0, var2, minutes, id;
+ const u16 *prizeList;
+ s32 var = 0, prizeListSetId, minutes, id;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_TRAINER_HILL_FLOORS; i++)
{
- var += sHillData->floors[i].unk0;
- var += sHillData->floors[i].unk1;
+ var += sHillData->floors[i].trainerNum1;
+ var += sHillData->floors[i].trainerNum2;
}
- var2 = var / 256;
- var2 %= 2;
- if (FlagGet(FLAG_SYS_GAME_CLEAR) && sHillData->tag.unkField_0 == 8)
- i = sub_81D65E8(1);
+ prizeListSetId = var / 256;
+ prizeListSetId %= 2;
+ if (FlagGet(FLAG_SYS_GAME_CLEAR) && sHillData->tag.numTrainers == NUM_TRAINER_HILL_TRAINERS)
+ i = GetPrizeListId(TRUE);
else
- i = sub_81D65E8(0);
+ i = GetPrizeListId(FALSE);
if (gSaveBlock1Ptr->trainerHill.tag == HILL_TAG_EXPERT)
- i = (i + 1) % 10;
+ i = (i + 1) % NUM_TRAINER_HILL_PRIZE_LISTS;
- ptr = gUnknown_0862A5CC[var2][i];
+ prizeList = sPrizeListSets[prizeListSetId][i];
minutes = (signed)(gSaveBlock1Ptr->trainerHill.timer) / (60 * 60);
if (minutes < 12)
id = 0;
@@ -1078,5 +1103,5 @@ static u16 sub_81D6640(void)
else
id = 5;
- return ptr[id];
+ return prizeList[id];
}
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index 047783a85..99a3fd4c5 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "sprite.h"
#include "window.h"
-#include "alloc.h"
+#include "malloc.h"
#include "constants/species.h"
#include "palette.h"
#include "decompress.h"
@@ -41,7 +41,7 @@ static const struct OamData gUnknown_0860B064 =
static const struct OamData gUnknown_0860B06C =
{
- .affineMode = 1,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
.shape = SPRITE_SHAPE(64x64),
.size = SPRITE_SIZE(64x64)
};
diff --git a/src/trainer_see.c b/src/trainer_see.c
index 22b256a99..5e843164d 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -14,6 +14,7 @@
#include "util.h"
#include "battle_pyramid.h"
#include "constants/battle_setup.h"
+#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
#include "constants/field_effects.h"
@@ -47,11 +48,11 @@ static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct EventO
static void SpriteCB_TrainerIcons(struct Sprite *sprite);
// IWRAM common
-u16 gUnknown_03006080;
-u8 gUnknown_03006084[4];
+u16 gWhichTrainerToFaceAfterBattle;
+u8 gPostBattleMovementScript[4];
struct ApproachingTrainer gApproachingTrainers[2];
u8 gNoOfApproachingTrainers;
-u8 gUnknown_030060AC;
+bool8 gTrainerApproachedPlayer;
// EWRAM
EWRAM_DATA u8 gApproachingTrainerId = 0;
@@ -96,10 +97,10 @@ static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struc
static const struct OamData sOamData_Icons =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(16x16),
.x = 0,
.matrixNum = 0,
@@ -205,7 +206,7 @@ bool8 CheckForTrainersWantingBattle(void)
ResetTrainerOpponentIds();
ConfigureAndSetUpOneTrainerBattle(gApproachingTrainers[gNoOfApproachingTrainers - 1].eventObjectId,
gApproachingTrainers[gNoOfApproachingTrainers - 1].trainerScriptPtr);
- gUnknown_030060AC = 1;
+ gTrainerApproachedPlayer = TRUE;
return TRUE;
}
else if (gNoOfApproachingTrainers == 2)
@@ -218,12 +219,12 @@ bool8 CheckForTrainersWantingBattle(void)
}
SetUpTwoTrainersBattle();
gApproachingTrainerId = 0;
- gUnknown_030060AC = 1;
+ gTrainerApproachedPlayer = TRUE;
return TRUE;
}
else
{
- gUnknown_030060AC = 0;
+ gTrainerApproachedPlayer = FALSE;
return FALSE;
}
}
@@ -764,24 +765,24 @@ u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId)
return gApproachingTrainers[1].eventObjectId;
}
-void sub_80B4808(void)
+void PlayerFaceTrainerAfterBattle(void)
{
- struct EventObject *trainerObj;
+ struct EventObject *eventObj;
- if (gUnknown_030060AC == 1)
+ if (gTrainerApproachedPlayer == TRUE)
{
- trainerObj = &gEventObjects[gApproachingTrainers[gUnknown_03006080].eventObjectId];
- gUnknown_03006084[0] = GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection));
- gUnknown_03006084[1] = 0xFE;
- ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084);
+ eventObj = &gEventObjects[gApproachingTrainers[gWhichTrainerToFaceAfterBattle].eventObjectId];
+ gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(GetOppositeDirection(eventObj->facingDirection));
+ gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END;
+ ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript);
}
else
{
- trainerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
- gUnknown_03006084[0] = GetFaceDirectionMovementAction(trainerObj->facingDirection);
- gUnknown_03006084[1] = 0xFE;
- ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084);
+ eventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+ gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(eventObj->facingDirection);
+ gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END;
+ ScriptMovement_StartObjectMovementScript(EVENT_OBJ_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript);
}
- sub_809BE48(0xFF);
+ SetMovingNpcId(EVENT_OBJ_ID_PLAYER);
}
diff --git a/src/tv.c b/src/tv.c
index ef826a4af..2e9254253 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "rtc.h"
#include "overworld.h"
-#include "constants/maps.h"
#include "random.h"
#include "event_data.h"
#include "fieldmap.h"
@@ -14,12 +13,9 @@
#include "pokemon_storage_system.h"
#include "field_message_box.h"
#include "easy_chat.h"
-#include "constants/species.h"
-#include "constants/moves.h"
#include "battle.h"
#include "battle_tower.h"
#include "contest.h"
-#include "constants/items.h"
#include "item.h"
#include "link.h"
#include "main.h"
@@ -31,15 +27,23 @@
#include "text.h"
#include "script_menu.h"
#include "naming_screen.h"
-#include "alloc.h"
+#include "malloc.h"
#include "region_map.h"
-#include "constants/region_map_sections.h"
#include "decoration.h"
#include "secret_base.h"
#include "tv.h"
#include "data.h"
+#include "constants/battle_frontier.h"
+#include "constants/contest.h"
+#include "constants/items.h"
#include "constants/layouts.h"
+#include "constants/maps.h"
#include "constants/metatile_behaviors.h"
+#include "constants/moves.h"
+#include "constants/region_map_sections.h"
+#include "constants/script_menu.h"
+#include "constants/species.h"
+#include "constants/tv.h"
// Static type declarations
@@ -182,7 +186,7 @@ static void DoTVShowPokemonContestLiveUpdates2(void);
static const struct {
u16 species;
- u16 moves[4];
+ u16 moves[MAX_MON_MOVES];
u8 level;
u8 location;
} sPokeOutbreakSpeciesList[] = {
@@ -633,50 +637,51 @@ static const u8 *const sTVWhatsNo1InHoennTodayTextGroup[] = {
gTVWhatsNo1InHoennTodayText08
};
-static const u8 *const sTVSecretBaseSecretsTextGroup[] = {
- gTVSecretBaseSecretsText00,
- gTVSecretBaseSecretsText01,
- gTVSecretBaseSecretsText02,
- gTVSecretBaseSecretsText03,
- gTVSecretBaseSecretsText04,
- gTVSecretBaseSecretsText05,
- gTVSecretBaseSecretsText06,
- gTVSecretBaseSecretsText07,
- gTVSecretBaseSecretsText08,
- gTVSecretBaseSecretsText09,
- gTVSecretBaseSecretsText10,
- gTVSecretBaseSecretsText11,
- gTVSecretBaseSecretsText12,
- gTVSecretBaseSecretsText13,
- gTVSecretBaseSecretsText14,
- gTVSecretBaseSecretsText15,
- gTVSecretBaseSecretsText16,
- gTVSecretBaseSecretsText17,
- gTVSecretBaseSecretsText18,
- gTVSecretBaseSecretsText19,
- gTVSecretBaseSecretsText20,
- gTVSecretBaseSecretsText21,
- gTVSecretBaseSecretsText22,
- gTVSecretBaseSecretsText23,
- gTVSecretBaseSecretsText24,
- gTVSecretBaseSecretsText25,
- gTVSecretBaseSecretsText26,
- gTVSecretBaseSecretsText27,
- gTVSecretBaseSecretsText28,
- gTVSecretBaseSecretsText29,
- gTVSecretBaseSecretsText30,
- gTVSecretBaseSecretsText31,
- gTVSecretBaseSecretsText32,
- gTVSecretBaseSecretsText33,
- gTVSecretBaseSecretsText34,
- gTVSecretBaseSecretsText35,
- gTVSecretBaseSecretsText36,
- gTVSecretBaseSecretsText37,
- gTVSecretBaseSecretsText38,
- gTVSecretBaseSecretsText39,
- gTVSecretBaseSecretsText40,
- gTVSecretBaseSecretsText41,
- gTVSecretBaseSecretsText42
+static const u8 *const sTVSecretBaseSecretsTextGroup[SBSECRETS_NUM_STATES] =
+{
+ [SBSECRETS_STATE_INTRO] = TVSecretBaseSecrets_Text_Intro,
+ [SBSECRETS_STATE_DO_NEXT1] = TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1,
+ [SBSECRETS_STATE_DO_NEXT2] = TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2,
+ [SBSECRETS_STATE_TOOK_X_STEPS] = TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving,
+ [SBSECRETS_STATE_BASE_INTEREST_LOW] = TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer,
+ [SBSECRETS_STATE_BASE_INTEREST_MED] = TVSecretBaseSecrets_Text_PlayerEnjoyedBase,
+ [SBSECRETS_STATE_BASE_INTEREST_HIGH] = TVSecretBaseSecrets_Text_PlayerHugeFanOfBase,
+ [SBSECRETS_STATE_OUTRO] = TVSecretBaseSecrets_Text_Outro,
+ [SBSECRETS_STATE_NOTHING_USED1] = TVSecretBaseSecrets_Text_StoppedMoving1,
+ [SBSECRETS_STATE_NOTHING_USED2] = TVSecretBaseSecrets_Text_StoppedMoving2,
+ [SBSECRETS_STATE_USED_CHAIR] = TVSecretBaseSecrets_Text_UsedChair,
+ [SBSECRETS_STATE_USED_BALLOON] = TVSecretBaseSecrets_Text_UsedBalloon,
+ [SBSECRETS_STATE_USED_TENT] = TVSecretBaseSecrets_Text_UsedTent,
+ [SBSECRETS_STATE_USED_PLANT] = TVSecretBaseSecrets_Text_UsedPlant,
+ [SBSECRETS_STATE_USED_GOLD_SHIELD] = TVSecretBaseSecrets_Text_UsedGoldShield,
+ [SBSECRETS_STATE_USED_SILVER_SHIELD] = TVSecretBaseSecrets_Text_UsedSilverShield,
+ [SBSECRETS_STATE_USED_GLASS_ORNAMENT] = TVSecretBaseSecrets_Text_UsedGlassOrnament,
+ [SBSECRETS_STATE_USED_TV] = TVSecretBaseSecrets_Text_UsedTV,
+ [SBSECRETS_STATE_USED_MUD_BALL] = TVSecretBaseSecrets_Text_UsedMudBall,
+ [SBSECRETS_STATE_USED_BAG] = TVSecretBaseSecrets_Text_UsedBag,
+ [SBSECRETS_STATE_USED_CUSHION] = TVSecretBaseSecrets_Text_UsedCushion,
+ [SBSECRETS_STATE_HIT_CUSHION] = TVSecretBaseSecrets_Text_HitCushion,
+ [SBSECRETS_STATE_HUGGED_CUSHION] = TVSecretBaseSecrets_Text_HuggedCushion,
+ [SBSECRETS_STATE_BATTLED_WON] = TVSecretBaseSecrets_Text_BattledWon,
+ [SBSECRETS_STATE_BATTLED_LOST] = TVSecretBaseSecrets_Text_BattledLost,
+ [SBSECRETS_STATE_DECLINED_BATTLE] = TVSecretBaseSecrets_Text_DeclinedBattle,
+ [SBSECRETS_STATE_USED_POSTER] = TVSecretBaseSecrets_Text_UsedPoster,
+ [SBSECRETS_STATE_USED_NOTE_MAT] = TVSecretBaseSecrets_Text_UsedNoteMat,
+ [SBSECRETS_STATE_BATTLED_DRAW] = TVSecretBaseSecrets_Text_BattledDraw,
+ [SBSECRETS_STATE_USED_SPIN_MAT] = TVSecretBaseSecrets_Text_UsedSpinMat,
+ [SBSECRETS_STATE_USED_SAND_ORNAMENT] = TVSecretBaseSecrets_Text_UsedSandOrnament,
+ [SBSECRETS_STATE_USED_DESK] = TVSecretBaseSecrets_Text_UsedDesk,
+ [SBSECRETS_STATE_USED_BRICK] = TVSecretBaseSecrets_Text_UsedBrick,
+ [SBSECRETS_STATE_USED_SOLID_BOARD] = TVSecretBaseSecrets_Text_UsedSolidBoard,
+ [SBSECRETS_STATE_USED_FENCE] = TVSecretBaseSecrets_Text_UsedFence,
+ [SBSECRETS_STATE_USED_GLITTER_MAT] = TVSecretBaseSecrets_Text_UsedGlitterMat,
+ [SBSECRETS_STATE_USED_TIRE] = TVSecretBaseSecrets_Text_UsedTire,
+ [SBSECRETS_STATE_USED_STAND] = TVSecretBaseSecrets_Text_UsedStand,
+ [SBSECRETS_STATE_USED_BREAKABLE_DOOR] = TVSecretBaseSecrets_Text_BrokeDoor,
+ [SBSECRETS_STATE_USED_DOLL] = TVSecretBaseSecrets_Text_UsedDoll,
+ [SBSECRETS_STATE_USED_SLIDE] = TVSecretBaseSecrets_Text_UsedSlide,
+ [SBSECRETS_STATE_DECLINED_SLIDE] = TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown,
+ [SBSECRETS_STATE_USED_JUMP_MAT] = TVSecretBaseSecrets_Text_UsedJumpMat
};
static const u8 *const sTVSafariFanClubTextGroup[] = {
@@ -705,39 +710,42 @@ static const u8 *const sTVInSearchOfTrainersTextGroup[] = {
gTVInSearchOfTrainersText08
};
-const u8 sTVSecretBaseSecretsStateLookup[] = {
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0x10,
- 0x11,
- 0x12,
- 0x13,
- 0x14,
- 0x17,
- 0x18,
- 0x19,
- 0x1a,
- 0x1b,
- 0x1c,
- 0x1d,
- 0x1e,
- 0x1f,
- 0x20,
- 0x21,
- 0x22,
- 0x23,
- 0x24,
- 0x25,
- 0x26,
- 0x27,
- 0x28,
- 0x29,
- 0x2a,
- 0x2b
+// Secret Base Secrets TV Show states for actions that can be taken in a secret base
+// The flags that determine whether or not the action was taken are commented
+const u8 sTVSecretBaseSecretsActions[NUM_SECRET_BASE_FLAGS] =
+{
+ SBSECRETS_STATE_USED_CHAIR, // SECRET_BASE_USED_CHAIR
+ SBSECRETS_STATE_USED_BALLOON, // SECRET_BASE_USED_BALLOON
+ SBSECRETS_STATE_USED_TENT, // SECRET_BASE_USED_TENT
+ SBSECRETS_STATE_USED_PLANT, // SECRET_BASE_USED_PLANT
+ SBSECRETS_STATE_USED_GOLD_SHIELD, // SECRET_BASE_USED_GOLD_SHIELD
+ SBSECRETS_STATE_USED_SILVER_SHIELD, // SECRET_BASE_USED_SILVER_SHIELD
+ SBSECRETS_STATE_USED_GLASS_ORNAMENT, // SECRET_BASE_USED_GLASS_ORNAMENT
+ SBSECRETS_STATE_USED_TV, // SECRET_BASE_USED_TV
+ SBSECRETS_STATE_USED_MUD_BALL, // SECRET_BASE_USED_MUD_BALL
+ SBSECRETS_STATE_USED_BAG, // SECRET_BASE_USED_BAG
+ SBSECRETS_STATE_USED_CUSHION, // SECRET_BASE_USED_CUSHION
+ SBSECRETS_STATE_BATTLED_WON, // SECRET_BASE_BATTLED_WON
+ SBSECRETS_STATE_BATTLED_LOST, // SECRET_BASE_BATTLED_LOST
+ SBSECRETS_STATE_DECLINED_BATTLE, // SECRET_BASE_DECLINED_BATTLE
+ SBSECRETS_STATE_USED_POSTER, // SECRET_BASE_USED_POSTER
+ SBSECRETS_STATE_USED_NOTE_MAT, // SECRET_BASE_USED_NOTE_MAT
+ SBSECRETS_STATE_BATTLED_DRAW, // SECRET_BASE_BATTLED_DRAW
+ SBSECRETS_STATE_USED_SPIN_MAT, // SECRET_BASE_USED_SPIN_MAT
+ SBSECRETS_STATE_USED_SAND_ORNAMENT, // SECRET_BASE_USED_SAND_ORNAMENT
+ SBSECRETS_STATE_USED_DESK, // SECRET_BASE_USED_DESK
+ SBSECRETS_STATE_USED_BRICK, // SECRET_BASE_USED_BRICK
+ SBSECRETS_STATE_USED_SOLID_BOARD, // SECRET_BASE_USED_SOLID_BOARD
+ SBSECRETS_STATE_USED_FENCE, // SECRET_BASE_USED_FENCE
+ SBSECRETS_STATE_USED_GLITTER_MAT, // SECRET_BASE_USED_GLITTER_MAT
+ SBSECRETS_STATE_USED_TIRE, // SECRET_BASE_USED_TIRE
+ SBSECRETS_STATE_USED_STAND, // SECRET_BASE_USED_STAND
+ SBSECRETS_STATE_USED_BREAKABLE_DOOR, // SECRET_BASE_USED_BREAKABLE_DOOR
+ SBSECRETS_STATE_USED_DOLL, // SECRET_BASE_USED_DOLL
+ SBSECRETS_STATE_USED_SLIDE, // SECRET_BASE_USED_SLIDE
+ SBSECRETS_STATE_DECLINED_SLIDE, // SECRET_BASE_DECLINED_SLIDE
+ SBSECRETS_STATE_USED_JUMP_MAT, // SECRET_BASE_USED_JUMP_MAT
+ SBSECRETS_NUM_STATES // SECRET_BASE_UNUSED_FLAG. Odd that this is included, if it were used it would overflow sTVSecretBaseSecretsTextGroup
};
// .text
@@ -759,7 +767,7 @@ void ClearTVShowData(void)
ClearPokemonNews();
}
-u8 special_0x44(void)
+u8 GetRandomActiveShowIdx(void)
{
u8 i;
u8 j;
@@ -768,10 +776,8 @@ u8 special_0x44(void)
for (i = 5; i < ARRAY_COUNT(gSaveBlock1Ptr->tvShows) - 1; i ++)
{
- if (gSaveBlock1Ptr->tvShows[i].common.kind == 0)
- {
+ if (gSaveBlock1Ptr->tvShows[i].common.kind == TVSHOW_OFF_AIR)
break;
- }
}
j = Random() % i;
selIdx = j;
@@ -780,44 +786,38 @@ u8 special_0x44(void)
if (GetTVChannelByShowType(gSaveBlock1Ptr->tvShows[j].common.kind) != 4)
{
if (gSaveBlock1Ptr->tvShows[j].common.active == TRUE)
- {
return j;
- }
}
else
{
show = &gSaveBlock1Ptr->tvShows[j];
if (show->massOutbreak.daysLeft == 0 && show->massOutbreak.active == TRUE)
- {
return j;
- }
}
+
if (j == 0)
- {
j = ARRAY_COUNT(gSaveBlock1Ptr->tvShows) - 2;
- }
else
- {
j --;
- }
+
} while (j != selIdx);
return 0xFF;
}
u8 FindAnyTVShowOnTheAir(void)
{
- u8 response;
+ u8 show;
- response = special_0x44();
- if (response == 0xFF)
+ show = GetRandomActiveShowIdx();
+ if (show == 0xFF)
{
return 0xFF;
}
- if (gSaveBlock1Ptr->outbreakPokemonSpecies != SPECIES_NONE && gSaveBlock1Ptr->tvShows[response].common.kind == TVSHOW_MASS_OUTBREAK)
+ if (gSaveBlock1Ptr->outbreakPokemonSpecies != SPECIES_NONE && gSaveBlock1Ptr->tvShows[show].common.kind == TVSHOW_MASS_OUTBREAK)
{
return FindFirstActiveTVShowThatIsNotAMassOutbreak();
}
- return response;
+ return show;
}
void UpdateTVScreensOnMap(int width, int height)
@@ -873,7 +873,7 @@ void TurnOnTVScreen(void)
DrawWholeMapView();
}
-u8 special_0x45(void)
+u8 GetSelectedTVShow(void)
{
return gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004].common.kind;
}
@@ -884,7 +884,7 @@ u8 FindFirstActiveTVShowThatIsNotAMassOutbreak(void)
for (i = 0; i < ARRAY_COUNT(gSaveBlock1Ptr->tvShows) - 1; i ++)
{
- if (gSaveBlock1Ptr->tvShows[i].common.kind != 0 && gSaveBlock1Ptr->tvShows[i].common.kind != TVSHOW_MASS_OUTBREAK && gSaveBlock1Ptr->tvShows[i].common.active == TRUE)
+ if (gSaveBlock1Ptr->tvShows[i].common.kind != TVSHOW_OFF_AIR && gSaveBlock1Ptr->tvShows[i].common.kind != TVSHOW_MASS_OUTBREAK && gSaveBlock1Ptr->tvShows[i].common.active == TRUE)
{
return i;
}
@@ -892,7 +892,7 @@ u8 FindFirstActiveTVShowThatIsNotAMassOutbreak(void)
return 0xFF;
}
-u8 special_0x4a(void)
+u8 GetNextActiveShowIfMassOutbreak(void)
{
TVShow *tvShow;
@@ -1543,12 +1543,12 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void)
show->bravoTrainerTower.kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE;
show->bravoTrainerTower.active = TRUE;
StringCopy(show->bravoTrainerTower.trainerName, gSaveBlock2Ptr->playerName);
- StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.field_BD8);
- show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.field_BD4;
- show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.field_BD6;
- show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.field_D07, 0);
- show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.field_D06;
- if (gSaveBlock2Ptr->frontier.field_D07 == 0)
+ StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.towerInterview.opponentName);
+ show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.towerInterview.playerSpecies;
+ show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies;
+ show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.towerLvlMode, 0);
+ show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.towerBattleOutcome;
+ if (gSaveBlock2Ptr->frontier.towerLvlMode == FRONTIER_LVL_50)
{
show->bravoTrainerTower.btLevel = 50;
}
@@ -1559,13 +1559,13 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void)
show->bravoTrainerTower.interviewResponse = gSpecialVar_0x8004;
tv_store_id_2x(show);
show->bravoTrainerTower.language = gGameLanguage;
- if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.field_BEB == LANGUAGE_JAPANESE)
+ if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage == LANGUAGE_JAPANESE)
{
show->bravoTrainerTower.pokemonNameLanguage = LANGUAGE_JAPANESE;
}
else
{
- show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.field_BEB;
+ show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage;
}
}
@@ -1593,7 +1593,7 @@ void SaveRecordedItemPurchasesForTVShow(void)
show->smartshopperShow.itemIds[i] = gMartPurchaseHistory[i].itemId;
show->smartshopperShow.itemAmounts[i] = gMartPurchaseHistory[i].quantity;
}
- show->smartshopperShow.priceReduced = GetPriceReduction(1);
+ show->smartshopperShow.priceReduced = GetPriceReduction(POKENEWS_SLATEPORT);
StringCopy(show->smartshopperShow.playerName, gSaveBlock2Ptr->playerName);
tv_store_id_3x(show);
show->smartshopperShow.language = gGameLanguage;
@@ -1953,11 +1953,11 @@ void sub_80EDB44(void)
show->rivalTrainer.badgeCount = nBadges;
if (IsNationalPokedexEnabled())
{
- show->rivalTrainer.dexCount = GetNationalPokedexCount(0x01);
+ show->rivalTrainer.dexCount = GetNationalPokedexCount(FLAG_GET_CAUGHT);
}
else
{
- show->rivalTrainer.dexCount = GetHoennPokedexCount(0x01);
+ show->rivalTrainer.dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT);
}
show->rivalTrainer.location = gMapHeader.regionMapSectionId;
show->rivalTrainer.mapLayoutId = gMapHeader.mapLayoutId;
@@ -2000,7 +2000,7 @@ void sub_80EDC60(const u16 *words)
}
}
-void sub_80EDCE8(void)
+void TryPutTreasureInvestigatorsOnAir(void)
{
TVShow *show;
@@ -2295,7 +2295,7 @@ void sub_80EE184(void)
}
}
-void sub_80EE2CC(void)
+void TryPutLotteryWinnerReportOnAir(void)
{
TVShow *show;
@@ -2329,7 +2329,7 @@ void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u1
show->battleSeminar.foeSpecies = foeSpecies;
show->battleSeminar.species = species;
show->battleSeminar.move = movePtr[moveIdx];
- for (i = 0, j = 0; i < 4; i ++)
+ for (i = 0, j = 0; i < MAX_MON_MOVES; i ++)
{
if (i != moveIdx && movePtr[i])
{
@@ -2362,7 +2362,7 @@ void sub_80EE44C(u8 nMonsCaught, u8 nPkblkUsed)
}
}
-void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx)
+void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx)
{
TVShow *show;
@@ -2437,7 +2437,7 @@ u8 TV_MonDataIdxToRibbon(u8 monDataIdx)
return 0;
}
-void sub_80EE72C(void)
+void TrySetUpTrainerFanClubSpecial(void)
{
TVShow *show;
@@ -2455,26 +2455,23 @@ void sub_80EE72C(void)
}
}
-bool8 sub_80EE7C0(void)
+bool8 ShouldHideFanClubInterviewer(void)
{
sCurTVShowSlot = FindEmptyTVSlotWithinFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows);
if (sCurTVShowSlot == -1)
- {
return TRUE;
- }
+
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL);
if (gSpecialVar_Result == TRUE)
- {
return TRUE;
- }
+
if (gSaveBlock1Ptr->linkBattleRecords.entries[0].name[0] == EOS)
- {
return TRUE;
- }
+
return FALSE;
}
-bool8 sub_80EE818(void)
+bool8 ShouldAirFrontierTVShow(void)
{
u32 playerId;
u8 showIdx;
@@ -2502,7 +2499,7 @@ bool8 sub_80EE818(void)
return TRUE;
}
-void sub_80EE8C8(u16 winStreak, u8 facilityAndMode)
+void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facilityAndMode)
{
TVShow *show;
@@ -2551,7 +2548,7 @@ void sub_80EE8C8(u16 winStreak, u8 facilityAndMode)
}
}
-void sub_80EEA70(void)
+void TryPutSecretBaseSecretsOnAir(void)
{
TVShow *show;
u8 strbuf[32];
@@ -2623,37 +2620,37 @@ static void sub_80EEBF4(u8 actionIdx)
}
}
-void sub_80EEC80(void)
+void IncrementDailySlotsUses(void)
{
VarSet(VAR_DAILY_SLOTS, VarGet(VAR_DAILY_SLOTS) + 1);
}
-void sub_80EECA4(void)
+void IncrementDailyRouletteUses(void)
{
VarSet(VAR_DAILY_ROULETTE, VarGet(VAR_DAILY_ROULETTE) + 1);
}
-void sub_80EECC8(void)
+void IncrementDailyWildBattles(void)
{
VarSet(VAR_DAILY_WILDS, VarGet(VAR_DAILY_WILDS) + 1);
}
-void sub_80EECEC(void)
+void IncrementDailyBerryBlender(void)
{
VarSet(VAR_DAILY_BLENDER, VarGet(VAR_DAILY_BLENDER) + 1);
}
-void sub_80EED10(void)
+void IncrementDailyPlantedBerries(void)
{
VarSet(VAR_DAILY_PLANTED_BERRIES, VarGet(VAR_DAILY_PLANTED_BERRIES) + 1);
}
-void sub_80EED34(void)
+void IncrementDailyPickedBerries(void)
{
VarSet(VAR_DAILY_PICKED_BERRIES, VarGet(VAR_DAILY_PICKED_BERRIES) + gSpecialVar_0x8006);
}
-void sub_80EED60(u16 delta)
+void IncrementDailyBattlePoints(u16 delta)
{
VarSet(VAR_DAILY_BP, VarGet(VAR_DAILY_BP) + delta);
}
@@ -2786,11 +2783,11 @@ bool8 GetPriceReduction(u8 newsKind)
{
u8 i;
- if (newsKind == 0)
+ if (newsKind == POKENEWS_NONE)
{
return FALSE;
}
- for (i = 0; i < 16; i ++)
+ for (i = 0; i < POKE_NEWS_COUNT; i ++)
{
if (gSaveBlock1Ptr->pokeNews[i].kind == newsKind)
{
@@ -2870,17 +2867,17 @@ void CopyContestRankToStringVar(u8 varIdx, u8 rank)
{
switch (rank)
{
- case 0: // NORMAL
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[5]);
+ case CONTEST_RANK_NORMAL:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_NORMAL]);
break;
- case 1: // SUPER
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[6]);
+ case CONTEST_RANK_SUPER:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_SUPER]);
break;
- case 2: // HYPER
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[7]);
+ case CONTEST_RANK_HYPER:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_HYPER]);
break;
- case 3: // MASTER
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[8]);
+ case CONTEST_RANK_MASTER:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_MASTER]);
break;
}
}
@@ -2889,20 +2886,20 @@ void CopyContestCategoryToStringVar(u8 varIdx, u8 category)
{
switch (category)
{
- case 0: // COOL
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[0]);
+ case CONTEST_CATEGORY_COOL:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_COOL]);
break;
- case 1: // BEAUTY
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[1]);
+ case CONTEST_CATEGORY_BEAUTY:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_BEAUTY]);
break;
- case 2: // CUTE
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[2]);
+ case CONTEST_CATEGORY_CUTE:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_CUTE]);
break;
- case 3: // SMART
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[3]);
+ case CONTEST_CATEGORY_SMART:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_SMART]);
break;
- case 4: // TOUGH
- StringCopy(gTVStringVarPtrs[varIdx], gUnknown_0858BAF0[4]);
+ case CONTEST_CATEGORY_TOUGH:
+ StringCopy(gTVStringVarPtrs[varIdx], gStdStrings[STDSTRING_TOUGH]);
break;
}
}
@@ -3146,7 +3143,7 @@ static void InterviewBefore_FanClubSpecial(void)
}
}
-bool8 sub_80EF88C(u8 monIdx)
+static bool8 IsPartyMonNicknamedOrNotEnglish(u8 monIdx)
{
struct Pokemon *pokemon;
u8 language;
@@ -3161,9 +3158,9 @@ bool8 sub_80EF88C(u8 monIdx)
return TRUE;
}
-bool8 sub_80EF8F8(void)
+bool8 IsLeadMonNicknamedOrNotEnglish(void)
{
- return sub_80EF88C(GetLeadMonIndex());
+ return IsPartyMonNicknamedOrNotEnglish(GetLeadMonIndex());
}
void DeleteTVShowInArrayByIdx(TVShow *shows, u8 idx)
@@ -3433,13 +3430,14 @@ bool8 TV_IsScriptShowKindAlreadyInQueue(void)
return FALSE;
}
-bool8 TV_PutNameRaterShowOnTheAirIfNicknameChanged(void)
+bool8 TryPutNameRaterShowOnTheAir(void)
{
GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1);
+
+ // Nickname wasnt changed
if (!StringCompare(gStringVar3, gStringVar1))
- {
return FALSE;
- }
+
PutNameRaterShowOnTheAir();
return TRUE;
}
@@ -3475,22 +3473,18 @@ void ChangeBoxPokemonNickname_CB(void)
CB2_ReturnToFieldContinueScriptPlayMapMusic();
}
-void TV_CopyNicknameToStringVar1AndEnsureTerminated(void)
+void BufferMonNickname(void)
{
GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1);
StringGetEnd10(gStringVar1);
}
-void TV_CheckMonOTIDEqualsPlayerID(void)
+void IsMonOTIDNotPlayers(void)
{
if (GetPlayerIDAsU32() == GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_ID, NULL))
- {
gSpecialVar_Result = FALSE;
- }
else
- {
gSpecialVar_Result = TRUE;
- }
}
u8 GetTVChannelByShowType(u8 kind)
@@ -3601,7 +3595,7 @@ void GetMomOrDadStringForTVMessage(void)
}
}
-void sub_80F01B8(void)
+void HideBattleTowerReporter(void)
{
VarSet(VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0);
RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
@@ -7350,35 +7344,32 @@ static void DoTVShowWhatsNo1InHoennToday(void)
ShowFieldMessage(sTVWhatsNo1InHoennTodayTextGroup[state]);
}
-u8 TVShowGetFlagCount(TVShow *show)
+u8 SecretBaseSecrets_GetNumActionsTaken(TVShow *show)
{
u8 i;
- u8 tot;
+ u8 flagsSet;
- for (i = 0, tot = 0; i < 32; i ++)
+ for (i = 0, flagsSet = 0; i < NUM_SECRET_BASE_FLAGS; i ++)
{
if ((show->secretBaseSecrets.flags >> i) & 1)
- {
- tot ++;
- }
+ flagsSet++;
}
- return tot;
+ return flagsSet;
}
-static u8 SecretBaseSecrets_GetStateForFlagNumber(TVShow *show, u8 a1)
+static u8 SecretBaseSecrets_GetStateByFlagNumber(TVShow *show, u8 flagId)
{
u8 i;
- u8 tot;
+ u8 flagsSet;
- for (i = 0, tot = 0; i < 32; i ++)
+ for (i = 0, flagsSet = 0; i < NUM_SECRET_BASE_FLAGS; i ++)
{
if ((show->secretBaseSecrets.flags >> i) & 1)
{
- if (tot == a1)
- {
- return sTVSecretBaseSecretsStateLookup[i];
- }
- tot ++;
+ if (flagsSet == flagId)
+ return sTVSecretBaseSecretsActions[i];
+
+ flagsSet++;
}
}
return 0;
@@ -7388,7 +7379,7 @@ static void DoTVShowSecretBaseSecrets(void)
{
TVShow *show;
u8 state;
- u8 bitCount;
+ u8 numActions;
u16 i;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
@@ -7396,226 +7387,128 @@ static void DoTVShowSecretBaseSecrets(void)
state = sTVShowState;
switch (state)
{
- case 0:
+ case SBSECRETS_STATE_INTRO:
TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage);
TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
- bitCount = TVShowGetFlagCount(show);
- if (bitCount == 0)
+ numActions = SecretBaseSecrets_GetNumActionsTaken(show);
+ if (numActions == 0)
{
- sTVShowState = 8;
+ sTVShowState = SBSECRETS_STATE_NOTHING_USED1;
}
else
{
- show->secretBaseSecrets.savedState = 1;
- sTVSecretBaseSecretsRandomValues[0] = Random() % bitCount;
- sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]);
+ show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT1;
+ sTVSecretBaseSecretsRandomValues[0] = Random() % numActions;
+ sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[0]);
}
break;
- case 1:
+ case SBSECRETS_STATE_DO_NEXT1:
TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
- bitCount = TVShowGetFlagCount(show);
- switch (bitCount)
+ numActions = SecretBaseSecrets_GetNumActionsTaken(show);
+ switch (numActions)
{
case 1:
- sTVShowState = 9;
+ sTVShowState = SBSECRETS_STATE_NOTHING_USED2;
break;
case 2:
- show->secretBaseSecrets.savedState = 2;
+ show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT2;
if (sTVSecretBaseSecretsRandomValues[0] == 0)
{
- sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 1);
+ sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, 1);
}
else
{
- sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, 0);
+ sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, 0);
}
break;
default:
for (i = 0; i < 0xFFFF; i ++)
{
- sTVSecretBaseSecretsRandomValues[1] = Random() % bitCount;
+ sTVSecretBaseSecretsRandomValues[1] = Random() % numActions;
if (sTVSecretBaseSecretsRandomValues[1] != sTVSecretBaseSecretsRandomValues[0])
{
break;
}
}
- show->secretBaseSecrets.savedState = 2;
- sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]);
+ show->secretBaseSecrets.savedState = SBSECRETS_STATE_DO_NEXT2;
+ sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[1]);
break;
}
break;
- case 2:
+ case SBSECRETS_STATE_DO_NEXT2:
TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
- bitCount = TVShowGetFlagCount(show);
- if (bitCount == 2)
+ numActions = SecretBaseSecrets_GetNumActionsTaken(show);
+ if (numActions == 2)
{
- sTVShowState = 9;
+ sTVShowState = SBSECRETS_STATE_NOTHING_USED2;
}
else
{
for (i = 0; i < 0xFFFF; i ++)
{
- sTVSecretBaseSecretsRandomValues[2] = Random() % bitCount;
+ sTVSecretBaseSecretsRandomValues[2] = Random() % numActions;
if (sTVSecretBaseSecretsRandomValues[2] != sTVSecretBaseSecretsRandomValues[0] && sTVSecretBaseSecretsRandomValues[2] != sTVSecretBaseSecretsRandomValues[1])
{
break;
}
}
- show->secretBaseSecrets.savedState = 3;
- sTVShowState = SecretBaseSecrets_GetStateForFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]);
+ show->secretBaseSecrets.savedState = SBSECRETS_STATE_TOOK_X_STEPS;
+ sTVShowState = SecretBaseSecrets_GetStateByFlagNumber(show, sTVSecretBaseSecretsRandomValues[2]);
}
break;
- case 3:
+ case SBSECRETS_STATE_TOOK_X_STEPS:
TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage);
TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
TV_PrintIntToStringVar(2, show->secretBaseSecrets.stepsInBase);
if (show->secretBaseSecrets.stepsInBase <= 30)
{
- sTVShowState = 4;
+ sTVShowState = SBSECRETS_STATE_BASE_INTEREST_LOW;
}
else if (show->secretBaseSecrets.stepsInBase <= 100)
{
- sTVShowState = 5;
+ sTVShowState = SBSECRETS_STATE_BASE_INTEREST_MED;
}
else
{
- sTVShowState = 6;
+ sTVShowState = SBSECRETS_STATE_BASE_INTEREST_HIGH;
}
break;
- case 4:
+ case SBSECRETS_STATE_BASE_INTEREST_LOW ... SBSECRETS_STATE_BASE_INTEREST_HIGH:
TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage);
TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
- sTVShowState = 7;
+ sTVShowState = SBSECRETS_STATE_OUTRO;
break;
- case 5:
- TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage);
- TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
- sTVShowState = 7;
- break;
- case 6:
- TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage);
- TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
- sTVShowState = 7;
- break;
- case 7:
+ case SBSECRETS_STATE_OUTRO:
TVShowConvertInternationalString(gStringVar1, show->secretBaseSecrets.baseOwnersName, show->secretBaseSecrets.baseOwnersNameLanguage);
TVShowConvertInternationalString(gStringVar2, show->secretBaseSecrets.playerName, show->secretBaseSecrets.language);
TVShowDone();
break;
- case 8:
- sTVShowState = 3;
- break;
- case 9:
- sTVShowState = 3;
- break;
- case 10:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 11:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 12:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 13:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 14:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 15:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 16:
- sTVShowState = show->secretBaseSecrets.savedState;
+ // All below states are descriptions of what the player interacted with while in the secret base
+ case SBSECRETS_STATE_NOTHING_USED1:
+ sTVShowState = SBSECRETS_STATE_TOOK_X_STEPS;
break;
- case 17:
- sTVShowState = show->secretBaseSecrets.savedState;
+ case SBSECRETS_STATE_NOTHING_USED2:
+ sTVShowState = SBSECRETS_STATE_TOOK_X_STEPS;
break;
- case 18:
+ case SBSECRETS_STATE_USED_CHAIR ... SBSECRETS_STATE_USED_MUD_BALL:
sTVShowState = show->secretBaseSecrets.savedState;
break;
- case 19:
+ case SBSECRETS_STATE_USED_BAG:
StringCopy(gStringVar2, ItemId_GetName(show->secretBaseSecrets.item));
sTVShowState = show->secretBaseSecrets.savedState;
break;
- case 20:
+ case SBSECRETS_STATE_USED_CUSHION:
+ // Randomly decide based on trainer ID if the player hugged or hit the cushion
if (show->common.trainerIdLo & 1)
{
- sTVShowState = 22;
+ sTVShowState = SBSECRETS_STATE_HUGGED_CUSHION;
}
else
{
- sTVShowState = 21;
+ sTVShowState = SBSECRETS_STATE_HIT_CUSHION;
}
break;
- case 21:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 22:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 23:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 24:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 25:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 26:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 27:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 28:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 29:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 30:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 31:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 32:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 33:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 34:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 35:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 36:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 37:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 38:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 39:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 40:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 41:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 42:
- sTVShowState = show->secretBaseSecrets.savedState;
- break;
- case 43:
+ case SBSECRETS_STATE_HIT_CUSHION ... SBSECRETS_NUM_STATES:
sTVShowState = show->secretBaseSecrets.savedState;
break;
}
diff --git a/src/union_room.c b/src/union_room.c
index 01288c8cc..4eea421ba 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "battle.h"
#include "berry_crush.h"
#include "bg.h"
@@ -30,6 +30,7 @@
#include "party_menu.h"
#include "pokemon_jump.h"
#include "random.h"
+#include "save_location.h"
#include "script.h"
#include "script_pokemon_util_80F87D8.h"
#include "sound.h"
@@ -44,21 +45,24 @@
#include "union_room_player_avatar.h"
#include "window.h"
#include "constants/battle_frontier.h"
+#include "constants/cable_club.h"
#include "constants/game_stat.h"
#include "constants/maps.h"
+#include "constants/party_menu.h"
#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/species.h"
+#include "constants/union_room.h"
-EWRAM_DATA u8 gUnknown_02022C20[12] = {};
+EWRAM_DATA u8 sUnionRoomPlayerName[12] = {};
EWRAM_DATA u8 gUnknown_02022C2C = 0;
EWRAM_DATA u8 gUnknown_02022C2D = 0;
EWRAM_DATA union UnkUnion_Main gUnknown_02022C30 = {};
EWRAM_DATA u32 gFiller_02022C34 = 0;
EWRAM_DATA struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38 = {};
-EWRAM_DATA u16 gUnknown_02022C3C = 0;
-EWRAM_DATA u8 gUnknown_02022C3E = 0;
-EWRAM_DATA struct TradeUnkStruct gUnknown_02022C40 = {};
+EWRAM_DATA u16 gUnionRoomOfferedSpecies = 0;
+EWRAM_DATA u8 gUnionRoomRequestedMonType = 0;
+static EWRAM_DATA struct UnionRoomTrade sUnionRoomTrade = {};
// IWRAM vars
static struct UnkStruct_Leader *gUnknown_03000DA0;
@@ -96,8 +100,8 @@ void sub_8013BD8(struct UnkStruct_Group *arg0, s32 id);
void sub_80173D4(void);
void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id);
bool32 sub_8017678(struct UnkStruct_Shared *arg0, struct UnkStruct_Shared *arg1);
-u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId);
-void sub_801807C(struct TradeUnkStruct *arg0);
+static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade *arg0, u8 multiplayerId);
+static void ResetUnionRoomTrade(struct UnionRoomTrade *arg0);
void sub_801AC54(void);
void sub_80149D8(void);
void MG_DrawTextBorder(u8 windowId);
@@ -105,8 +109,8 @@ s8 mevent_message_print_and_prompt_yes_no(u8 *textState, u8 *arg1, u8 arg2, cons
bool32 sub_8016F1C(struct UnkLinkRfuStruct_02022B14 *arg0, s16 arg1);
u8 sub_8016DF0(struct UnkStruct_Main4 *arg0, struct UnkStruct_Main4 *arg1, u32 arg2);
void sub_8019F2C(void);
-bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1);
-void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1);
+static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade *trade);
+static void RegisterTradeMon(u32 monId, struct UnionRoomTrade *arg1);
void sub_80181CC(void);
bool32 sub_8017940(void);
u8 sub_8016B00(void);
@@ -122,7 +126,7 @@ void sub_801818C(bool32 arg0);
s32 sub_8017178(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate);
s32 sub_80172A0(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate, struct UnkStruct_Main0 *arg6);
s32 sub_8017CB0(struct UnkStruct_x20 * arg, s32 arg1);
-bool32 sub_8018024(void);
+bool32 HasAtLeastTwoMonsOfLevel30OrLower(void);
u32 sub_8017984(s32 arg0);
void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2);
void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender);
@@ -140,1045 +144,7 @@ void sub_8013DF4(u8 windowId, s32 itemId, u8 y);
void sub_8017BE8(u8 windowId, s32 itemId, u8 y);
void nullsub_14(u8 windowId, s32 itemId, u8 y);
-// const rom data
-
-ALIGNED(4) const u8 gText_EmptyString[] = _("");
-ALIGNED(4) const u8 gText_Colon[] = _(":");
-ALIGNED(4) const u8 gText_UnkCtrlCodeF907[] = _("{ID}");
-ALIGNED(4) const u8 gText_PleaseStartOver[] = _("Please start over from the beginning.");
-ALIGNED(4) const u8 gText_WirelessSearchCanceled[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled.");
-ALIGNED(4) const u8 unref_text_union_room_0[] = _("Awaiting communication\nfrom another player.");
-ALIGNED(4) const u8 gText_AwaitingCommunication[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player.");
-ALIGNED(4) const u8 gText_AwaitingLink[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready.");
-ALIGNED(4) const u8 gJPText_SingleBattle[] = _("シングルバトルを かいさいする");
-ALIGNED(4) const u8 gJPText_DoubleBattle[] = _("ダブルバトルを かいさいする");
-ALIGNED(4) const u8 gJPText_MultiBattle[] = _("マルチバトルを かいさいする");
-ALIGNED(4) const u8 gJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする");
-ALIGNED(4) const u8 gJPText_Chat[] = _("チャットを かいさいする");
-ALIGNED(4) const u8 gJPText_DistWonderCard[] = _("ふしぎなカードをくばる");
-ALIGNED(4) const u8 gJPText_DistWonderNews[] = _("ふしぎなニュースをくばる");
-ALIGNED(4) const u8 unref_text_union_room_1[] = _("ふしぎなできごとを かいさいする");
-ALIGNED(4) const u8 gJPText_HoldPokemonJump[] = _("なわとびを かいさいする");
-ALIGNED(4) const u8 gJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする");
-ALIGNED(4) const u8 gJPText_HoldBerryPicking[] = _("きのみどりを かいさいする");
-ALIGNED(4) const u8 gJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする");
-ALIGNED(4) const u8 gJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする");
-
-const u8 *const unref_text_ptrs_union_room_0[] = {
- gJPText_SingleBattle,
- gJPText_DoubleBattle,
- gJPText_MultiBattle,
- gJPText_TradePokemon,
- gJPText_Chat,
- gJPText_DistWonderCard,
- gJPText_DistWonderNews,
- gJPText_DistWonderCard,
- gJPText_HoldPokemonJump,
- gJPText_HoldBerryCrush,
- gJPText_HoldBerryPicking,
- gJPText_HoldBerryPicking,
- gJPText_HoldSpinTrade,
- gJPText_HoldSpinShop
-};
-
-const u8 gText_1PlayerNeeded[] = _("1 player\nneeded.");
-const u8 gText_2PlayersNeeded[] = _("2 players\nneeded.");
-const u8 gText_3PlayersNeeded[] = _("3 players\nneeded.");
-const u8 gText_4PlayersNeeded[] = _("4 players\nneeded.");
-const u8 gText_2PlayerMode[] = _("2-PLAYER\nMODE");
-const u8 gText_3PlayerMode[] = _("3-PLAYER\nMODE");
-const u8 gText_4PlayerMode[] = _("4-PLAYER\nMODE");
-const u8 gText_5PlayerMode[] = _("5-PLAYER\nMODE");
-
-const u8 *const gUnknown_082EDB60[][5] = {
- {
- gText_1PlayerNeeded,
- gText_2PlayerMode,
- NULL,
- NULL,
- NULL
- }, {
- gText_3PlayersNeeded,
- gText_2PlayersNeeded,
- gText_1PlayerNeeded,
- gText_4PlayerMode,
- NULL
- }, {
- gText_1PlayerNeeded,
- gText_2PlayerMode,
- gText_3PlayerMode,
- gText_4PlayerMode,
- gText_5PlayerMode
- }, {
- gText_2PlayersNeeded,
- gText_1PlayerNeeded,
- gText_3PlayerMode,
- gText_4PlayerMode,
- gText_5PlayerMode
- }, {
- gText_1PlayerNeeded,
- gText_2PlayerMode,
- gText_3PlayerMode,
- gText_4PlayerMode,
- NULL
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EDBC4[] = _("{B_BUTTON}CANCEL");
-ALIGNED(4) const u8 unref_text_union_room_2[] = _("ため\nさんかしゃ ぼしゅうちゅう です!");
-ALIGNED(4) const u8 gUnknown_082EDBE8[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?");
-ALIGNED(4) const u8 gUnknown_082EDC0C[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?");
-ALIGNED(4) const u8 gUnknown_082EDC34[] = _("{STR_VAR_2} contacted you.\nAdd to the members?");
-ALIGNED(4) const u8 gUnknown_082EDC5C[] = _("{STR_VAR_1}!\nAre these members OK?");
-ALIGNED(4) const u8 gUnknown_082EDC78[] = _("Cancel {STR_VAR_1} MODE\nwith these members?");
-ALIGNED(4) const u8 gUnknown_082EDC9C[] = _("An “OK” was sent\nto {STR_VAR_1}.");
-ALIGNED(4) const u8 gUnknown_082EDCB4[] = _("The other TRAINER doesn't appear\nto be available now…\p");
-ALIGNED(4) const u8 gUnknown_082EDCEC[] = _("You can't transmit with a TRAINER\nwho is too far away.\p");
-ALIGNED(4) const u8 gUnknown_082EDD24[] = _("The other TRAINER(S) is/are not\nready yet.\p");
-
-const u8 *const gUnknown_082EDD50[] = {
- gUnknown_082EDCEC,
- gUnknown_082EDD24
-};
-
-ALIGNED(4) const u8 gUnknown_082EDD58[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EDD8C[] = _("There is a member who can no\nlonger remain available.\p");
-
-const u8 *const gUnknown_082EDDC4[] = {
- gUnknown_082EDCB4,
- gUnknown_082EDD8C
-};
-
-ALIGNED(4) const u8 gUnknown_082EDDCC[] = _("The other TRAINER appears\nunavailable…\p");
-ALIGNED(4) const u8 gUnknown_082EDDF4[] = _("{STR_VAR_1} sent back an “OK”!");
-ALIGNED(4) const u8 gUnknown_082EDE0C[] = _("{STR_VAR_1} OK'd your registration as\na member.");
-ALIGNED(4) const u8 gUnknown_082EDE34[] = _("{STR_VAR_1} replied, “No…”\p");
-ALIGNED(4) const u8 gUnknown_082EDE48[] = _("{STR_VAR_1}!\nAwaiting other members!");
-ALIGNED(4) const u8 gUnknown_082EDE64[] = _("Quit being a member?");
-ALIGNED(4) const u8 gUnknown_082EDE7C[] = _("You stopped being a member.\p");
-
-const u8 *const gUnknown_082EDE9C[] = {
- NULL,
- gUnknown_082EDD8C,
- gUnknown_082EDDCC,
- NULL,
- NULL,
- NULL,
- gUnknown_082EDE34,
- NULL,
- NULL,
- gUnknown_082EDE7C
-};
-
-ALIGNED(4) const u8 gUnknown_082EDEC4[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established.");
-ALIGNED(4) const u8 gUnknown_082EDF04[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…");
-ALIGNED(4) const u8 gUnknown_082EDF40[] = _("The link with your friend has been\ndropped…");
-ALIGNED(4) const u8 gUnknown_082EDF6C[] = _("{STR_VAR_1} replied, “No…”");
-
-const u8 *const gUnknown_082EDF80[] = {
- NULL,
- gUnknown_082EDF40,
- gUnknown_082EDF40,
- NULL,
- NULL,
- NULL,
- gUnknown_082EDF6C,
- NULL,
- NULL,
- NULL
-};
-
-ALIGNED(4) const u8 gUnknown_082EDFA8[] = _("Do you want the {STR_VAR_2}\nMODE?");
-ALIGNED(4) const u8 gUnknown_082EDFC4[] = _("Do you want the {STR_VAR_2}\nMODE?");
-
-const u8 *const unref_text_ptrs_union_room_1[] = {
- gUnknown_082EDFA8,
- gUnknown_082EDFC4
-};
-
-ALIGNED(4) const u8 unref_text_union_room_3[] = _("Communicating…\nPlease wait.");
-ALIGNED(4) const u8 gUnknown_082EE004[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…");
-ALIGNED(4) const u8 gUnknown_082EE02C[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
-ALIGNED(4) const u8 gUnknown_082EE098[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
-ALIGNED(4) const u8 gUnknown_082EE104[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
-
-const u8 *const gUnknown_082EE17C[] = {
- gUnknown_082EE02C,
- gUnknown_082EE098,
- gUnknown_082EE104
-};
-
-ALIGNED(4) const u8 gUnknown_082EE188[] = _("Hiya! Is there something that you\nwanted to do?");
-ALIGNED(4) const u8 gUnknown_082EE1B8[] = _("Hello!\nWould you like to do something?");
-ALIGNED(4) const u8 gUnknown_082EE1E0[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?");
-ALIGNED(4) const u8 gUnknown_082EE218[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?");
-
-const u8 *const gUnknown_082EE24C[][2] = {
- {
- gUnknown_082EE188,
- gUnknown_082EE1B8
- }, {
- gUnknown_082EE1E0,
- gUnknown_082EE218
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EE25C[] = _("Want to do something?");
-ALIGNED(4) const u8 gUnknown_082EE274[] = _("Would you like to do something?");
-ALIGNED(4) const u8 gUnknown_082EE294[] = _("{STR_VAR_1}: What would you like to\ndo now?");
-ALIGNED(4) const u8 unref_text_union_room_4[] = _("{STR_VAR_1}: Want to do anything else?");
-
-const u8 *const unref_text_ptrs_union_room_2[][2] = {
- {
- gUnknown_082EE25C,
- gUnknown_082EE274
- }, {
- gUnknown_082EE294,
- gUnknown_082EE294
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EE2E8[] = _("Somebody has contacted you.{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EE308[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}");
-
-const u8 *const gUnknown_082EE324[] = {
- gUnknown_082EE2E8,
- gUnknown_082EE308
-};
-
-ALIGNED(4) const u8 gUnknown_082EE32C[] = _("Awaiting a response from\nthe other TRAINER…");
-ALIGNED(4) const u8 gUnknown_082EE358[] = _("Awaiting a response from\n{STR_VAR_1}…");
-
-const u8 *const gUnknown_082EE378[] = {
- gUnknown_082EE32C,
- gUnknown_082EE358
-};
-
-ALIGNED(4) const u8 gUnknown_082EE380[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?");
-ALIGNED(4) const u8 gUnknown_082EE3DC[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?");
-ALIGNED(4) const u8 gUnknown_082EE430[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?");
-ALIGNED(4) const u8 gUnknown_082EE47C[] = _("There is an offer to trade your\nregistered Lv. {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}\pin exchange for a\nLv. {SPECIAL_F7 0x02} {SPECIAL_F7 0x03}.\pWill you accept this trade\noffer?");
-ALIGNED(4) const u8 gUnknown_082EE4F0[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?");
-ALIGNED(4) const u8 gUnknown_082EE544[] = _("The chat has been dropped.\p");
-ALIGNED(4) const u8 gUnknown_082EE560[] = _("You declined the offer.\p");
-ALIGNED(4) const u8 gUnknown_082EE57C[] = _("You declined the offer.\p");
-ALIGNED(4) const u8 gUnknown_082EE598[] = _("The chat was ended.\p");
-
-const u8 *const unref_text_ptrs_union_room_3[] = {
- gUnknown_082EE380,
- gUnknown_082EE3DC,
- gUnknown_082EE430,
- gUnknown_082EE47C
-};
-
-ALIGNED(4) const u8 gUnknown_082EE5C0[] = _("Oh, hey! We're in a chat right now.\nWant to join us?");
-ALIGNED(4) const u8 gUnknown_082EE5F8[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?");
-ALIGNED(4) const u8 gUnknown_082EE638[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?");
-ALIGNED(4) const u8 gUnknown_082EE674[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?");
-
-const u8 *const gUnknown_082EE6B8[][2] = {
- {
- gUnknown_082EE5C0,
- gUnknown_082EE638
- }, {
- gUnknown_082EE5F8,
- gUnknown_082EE674
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EE6C8[] = _("……\nThe TRAINER appears to be busy…\p");
-ALIGNED(4) const u8 gUnknown_082EE6EC[] = _("A battle, huh?\nAll right, just give me some time.");
-ALIGNED(4) const u8 gUnknown_082EE720[] = _("You want to chat, huh?\nSure, just wait a little.");
-ALIGNED(4) const u8 gUnknown_082EE754[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD.");
-ALIGNED(4) const u8 gUnknown_082EE78C[] = _("A battle? Of course, but I need\ntime to get ready.");
-ALIGNED(4) const u8 gUnknown_082EE7C0[] = _("Did you want to chat?\nOkay, but please wait a moment.");
-ALIGNED(4) const u8 gUnknown_082EE7F8[] = _("As my introduction, I'll show you\nmy TRAINER CARD.");
-
-const u8 *const gUnknown_082EE82C[][4] = {
- {
- gUnknown_082EE6EC,
- gUnknown_082EE720,
- NULL,
- gUnknown_082EE754
- }, {
- gUnknown_082EE78C,
- gUnknown_082EE7C0,
- NULL,
- gUnknown_082EE7F8
- }
-};
-
-ALIGNED(4) const u8 unref_text_union_room_5[] = _("You want to chat, huh?\nSure, just wait a little.");
-ALIGNED(4) const u8 gUnknown_082EE880[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EE8B8[] = _("All right!\nLet's chat!{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EE8D4[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EE904[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EE92C[] = _("The trade will be started.{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EE94C[] = _("The battle will be started.{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EE96C[] = _("Entering the chat…{PAUSE 60}");
-
-const u8 *const gUnknown_082EE984[][2][3] = {
- {
- {
- gUnknown_082EE94C,
- gUnknown_082EE96C,
- gUnknown_082EE92C
- }, {
- gUnknown_082EE94C,
- gUnknown_082EE96C,
- gUnknown_082EE92C
- }
- }, {
- {
- gUnknown_082EE880,
- gUnknown_082EE8B8,
- gUnknown_082EE92C
- }, {
- gUnknown_082EE8D4,
- gUnknown_082EE904,
- gUnknown_082EE92C
- }
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EE9B4[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p");
-ALIGNED(4) const u8 gUnknown_082EEA14[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p");
-
-const u8 *const gUnknown_082EEA68[] = {
- gUnknown_082EE9B4,
- gUnknown_082EEA14
-};
-
-ALIGNED(4) const u8 gUnknown_082EEA70[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p");
-ALIGNED(4) const u8 gUnknown_082EEAC0[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p");
-
-const u8 *const gUnknown_082EEB08[] = {
- gUnknown_082EEA70,
- gUnknown_082EEAC0
-};
-
-ALIGNED(4) const u8 gUnknown_082EEB10[] = _("If you want to do something with\nme, just give me a shout!\p");
-ALIGNED(4) const u8 gUnknown_082EEB4C[] = _("If you want to do something with\nme, don't be shy.\p");
-
-const u8 *const gUnknown_082EEB80[] = {
- gUnknown_082EEB10,
- gUnknown_082EEB4C
-};
-
-ALIGNED(4) const u8 gUnknown_082EEB88[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p");
-ALIGNED(4) const u8 gUnknown_082EEBD0[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p");
-ALIGNED(4) const u8 gUnknown_082EEC14[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p");
-ALIGNED(4) const u8 gUnknown_082EEC50[] = _("Oh, all right.\nCome see me anytime, okay?\p");
-ALIGNED(4) const u8 gUnknown_082EEC7C[] = _("Oh…\nPlease come by anytime.\p");
-
-const u8 *const gUnknown_082EEC9C[] = {
- gUnknown_082EEC50,
- gUnknown_082EEC7C
-};
-
-ALIGNED(4) const u8 gUnknown_082EECA4[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p");
-ALIGNED(4) const u8 gUnknown_082EECEC[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p");
-
-const u8 *const gUnknown_082EED3C[] = {
- gUnknown_082EECA4,
- gUnknown_082EECEC
-};
-
-ALIGNED(4) const u8 gUnknown_082EED44[] = _("Whoa!\nI can tell you're pretty tough!\p");
-ALIGNED(4) const u8 gUnknown_082EED6C[] = _("You used that move?\nThat's good strategy!\p");
-ALIGNED(4) const u8 gUnknown_082EED98[] = _("Way to go!\nThat was an eye-opener!\p");
-ALIGNED(4) const u8 gUnknown_082EEDBC[] = _("Oh! How could you use that\nPOKéMON in that situation?\p");
-ALIGNED(4) const u8 gUnknown_082EEDF4[] = _("That POKéMON…\nIt's been raised really well!\p");
-ALIGNED(4) const u8 gUnknown_082EEE24[] = _("That's it!\nThis is the right move now!\p");
-ALIGNED(4) const u8 gUnknown_082EEE4C[] = _("That's awesome!\nYou can battle that way?\p");
-ALIGNED(4) const u8 gUnknown_082EEE78[] = _("You have exquisite timing for\nswitching POKéMON!\p");
-
-const u8 *const gUnknown_082EEEAC[][4] = {
- {
- gUnknown_082EED44,
- gUnknown_082EED6C,
- gUnknown_082EED98,
- gUnknown_082EEDBC
- }, {
- gUnknown_082EEDF4,
- gUnknown_082EEE24,
- gUnknown_082EEE4C,
- gUnknown_082EEE78
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EEECC[] = _("Oh, I see!\nThis is educational!\p");
-ALIGNED(4) const u8 gUnknown_082EEEF0[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p");
-ALIGNED(4) const u8 gUnknown_082EEF2C[] = _("Oh?\nSomething like that happened.\p");
-ALIGNED(4) const u8 gUnknown_082EEF50[] = _("Hmhm… What?\nSo is this what you're saying?\p");
-ALIGNED(4) const u8 gUnknown_082EEF7C[] = _("Is that right?\nI didn't know that.\p");
-ALIGNED(4) const u8 gUnknown_082EEFA0[] = _("Ahaha!\nWhat is that about?\p");
-ALIGNED(4) const u8 gUnknown_082EEFBC[] = _("Yes, that's exactly it!\nThat's what I meant.\p");
-ALIGNED(4) const u8 gUnknown_082EEFEC[] = _("In other words…\nYes! That's right!\p");
-
-const u8 *const gUnknown_082EF010[][4] = {
- {
- gUnknown_082EEECC,
- gUnknown_082EEEF0,
- gUnknown_082EEF2C,
- gUnknown_082EEF50
- }, {
- gUnknown_082EEF7C,
- gUnknown_082EEFA0,
- gUnknown_082EEFBC,
- gUnknown_082EEFEC
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EF030[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p");
-ALIGNED(4) const u8 gUnknown_082EF06C[] = _("I hope I get to know you better!\p");
-ALIGNED(4) const u8 gUnknown_082EF090[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p");
-ALIGNED(4) const u8 gUnknown_082EF0D0[] = _("Glad to meet you.\nPlease don't be a stranger!\p");
-
-const u8 *const gUnknown_082EF100[][2] = {
- {
- gUnknown_082EF030,
- gUnknown_082EF06C
- }, {
- gUnknown_082EF090,
- gUnknown_082EF0D0
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EF110[] = _("Yeahah!\nI really wanted this POKéMON!\p");
-ALIGNED(4) const u8 gUnknown_082EF138[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p");
-ALIGNED(4) const u8 gUnknown_082EF178[] = _("I'm trading POKéMON right now.\p");
-ALIGNED(4) const u8 gUnknown_082EF198[] = _("I finally got that POKéMON I\nwanted in a trade!\p");
-
-const u8 *const gUnknown_082EF1CC[][4] = {
- {
- gUnknown_082EF110,
- gUnknown_082EF138,
- NULL,
- NULL
- }, {
- gUnknown_082EF178,
- gUnknown_082EF198,
- NULL,
- NULL
- }
-};
-
-ALIGNED(4) const u8 gUnknown_082EF1EC[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p");
-ALIGNED(4) const u8 gUnknown_082EF20C[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?");
-ALIGNED(4) const u8 gUnknown_082EF298[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?");
-ALIGNED(4) const u8 unref_text_union_room_6[] = _("We have registered your POKéMON for\ntrade on the TRADING BOARD.\pThank you for using this service!\p");
-ALIGNED(4) const u8 unref_text_union_room_7[] = _("Nobody has registered any POKéMON\nfor trade on the TRADING BOARD.\p\n");
-ALIGNED(4) const u8 gUnknown_082EF47C[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n");
-ALIGNED(4) const u8 gUnknown_082EF4C4[] = _("Which of your party POKéMON will\nyou offer in trade?\p");
-ALIGNED(4) const u8 gUnknown_082EF4FC[] = _("Registration has been canceled.\p");
-ALIGNED(4) const u8 gUnknown_082EF520[] = _("Registration has been completed.\p");
-ALIGNED(4) const u8 gUnknown_082EF544[] = _("The trade has been canceled.\p");
-ALIGNED(4) const u8 gUnknown_082EF564[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?");
-ALIGNED(4) const u8 gUnknown_082EF590[] = _("Cancel the registration of your\nEGG?");
-ALIGNED(4) const u8 gUnknown_082EF5B8[] = _("The registration has been canceled.\p");
-ALIGNED(4) const u8 unref_text_union_room_8[] = _("TRAINERS wishing to make a trade\nwill be listed.");
-ALIGNED(4) const u8 unref_text_union_room_9[] = _("Please choose the TRAINER with whom\nyou would like to trade POKéMON.");
-ALIGNED(4) const u8 gUnknown_082EF65C[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?");
-ALIGNED(4) const u8 unref_text_union_room_10[] = _("Awaiting a response from\nthe other TRAINER…");
-ALIGNED(4) const u8 unref_text_union_room_11[] = _("You have not registered a POKéMON\nfor trading.\p");
-ALIGNED(4) const u8 gUnknown_082EF6E4[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p");
-ALIGNED(4) const u8 gUnknown_082EF718[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p");
-ALIGNED(4) const u8 gUnknown_082EF740[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p");
-ALIGNED(4) const u8 gUnknown_082EF774[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p");
-
-const u8 *const unref_text_ptrs_union_room_4[] = {
- gUnknown_082EF740,
- gUnknown_082EF774
-};
-
-ALIGNED(4) const u8 gUnknown_082EF7B0[] = _("Your trade offer was rejected.\p");
-ALIGNED(4) const u8 gUnknown_082EF7D0[] = _("EGG TRADE");
-ALIGNED(4) const u8 gUnknown_082EF7DC[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL");
-ALIGNED(4) const u8 gUnknown_082EF7F8[] = _("Please choose a TRAINER.");
-ALIGNED(4) const u8 gUnknown_082EF814[] = _("Please choose a TRAINER for\na SINGLE BATTLE.");
-ALIGNED(4) const u8 gUnknown_082EF844[] = _("Please choose a TRAINER for\na DOUBLE BATTLE.");
-ALIGNED(4) const u8 gUnknown_082EF874[] = _("Please choose the LEADER\nfor a MULTI BATTLE.");
-ALIGNED(4) const u8 gUnknown_082EF8A4[] = _("Please choose the TRAINER to\ntrade with.");
-ALIGNED(4) const u8 gUnknown_082EF8D0[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS.");
-ALIGNED(4) const u8 gUnknown_082EF908[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS.");
-ALIGNED(4) const u8 gUnknown_082EF940[] = _("Jump with mini POKéMON!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EF974[] = _("BERRY CRUSH!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EF99C[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EF9CC[] = _("BERRY BLENDER!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EF9F8[] = _("RECORD CORNER!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EFA24[] = _("COOLNESS CONTEST!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EFA50[] = _("BEAUTY CONTEST!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EFA7C[] = _("CUTENESS CONTEST!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EFAA8[] = _("SMARTNESS CONTEST!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EFAD8[] = _("TOUGHNESS CONTEST!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EFB08[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER.");
-ALIGNED(4) const u8 gUnknown_082EFB3C[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER.");
-
-const u8 *const gUnknown_082EFB70[] = {
- gUnknown_082EF814,
- gUnknown_082EF844,
- gUnknown_082EF874,
- gUnknown_082EF8A4,
- gUnknown_082EF940,
- gUnknown_082EF974,
- gUnknown_082EF99C,
- gUnknown_082EF8D0,
- gUnknown_082EF908,
- NULL,
- NULL,
- NULL,
- gUnknown_082EF9F8,
- gUnknown_082EF9CC,
- NULL,
- gUnknown_082EFA24,
- gUnknown_082EFA50,
- gUnknown_082EFA7C,
- gUnknown_082EFAA8,
- gUnknown_082EFAD8,
- gUnknown_082EFB08,
- gUnknown_082EFB3C
-};
-
-ALIGNED(4) const u8 gUnknown_082EFBC8[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait...");
-ALIGNED(4) const u8 unref_text_union_room_12[] = _("For a DOUBLE BATTLE, you must have\nat least two POKéMON.\p");
-ALIGNED(4) const u8 gUnknown_082EFC3C[] = _("Awaiting {STR_VAR_1}'s response…");
-ALIGNED(4) const u8 gUnknown_082EFC54[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait.");
-ALIGNED(4) const u8 gUnknown_082EFC90[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM.");
-ALIGNED(4) const u8 unref_text_union_room_13[] = _("Please wait for other TRAINERS to\ngather and get ready.");
-ALIGNED(4) const u8 gUnknown_082EFD04[] = _("No CARDS appear to be shared \nright now.");
-ALIGNED(4) const u8 gUnknown_082EFD30[] = _("No NEWS appears to be shared\nright now.");
-
-const u8 *const gUnknown_082EFD58[] = {
- gUnknown_082EFD04,
- gUnknown_082EFD30
-};
-
-ALIGNED(4) const u8 gUnknown_082EFD60[] = _("BATTLE");
-ALIGNED(4) const u8 gUnknown_082EFD68[] = _("CHAT");
-ALIGNED(4) const u8 gUnknown_082EFD70[] = _("GREETINGS");
-ALIGNED(4) const u8 gUnknown_082EFD7C[] = _("EXIT");
-ALIGNED(4) const u8 gUnknown_082EFD84[] = _("EXIT");
-ALIGNED(4) const u8 gUnknown_082EFD8C[] = _("INFO");
-ALIGNED(4) const u8 gUnknown_082EFD94[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.");
-ALIGNED(4) const u8 gUnknown_082EFDB0[] = _("SINGLE BATTLE");
-ALIGNED(4) const u8 gUnknown_082EFDC0[] = _("DOUBLE BATTLE");
-ALIGNED(4) const u8 gUnknown_082EFDD0[] = _("MULTI BATTLE");
-ALIGNED(4) const u8 gUnknown_082EFDE0[] = _("POKéMON TRADES");
-ALIGNED(4) const u8 gUnknown_082EFDF0[] = _("CHAT");
-ALIGNED(4) const u8 gUnknown_082EFDF8[] = _("CARDS");
-ALIGNED(4) const u8 gUnknown_082EFE00[] = _("WONDER CARDS");
-ALIGNED(4) const u8 gUnknown_082EFE10[] = _("WONDER NEWS");
-ALIGNED(4) const u8 gUnknown_082EFE1C[] = _("POKéMON JUMP");
-ALIGNED(4) const u8 gUnknown_082EFE2C[] = _("BERRY CRUSH");
-ALIGNED(4) const u8 gUnknown_082EFE38[] = _("BERRY-PICKING");
-ALIGNED(4) const u8 gUnknown_082EFE48[] = _("SEARCH");
-ALIGNED(4) const u8 gUnknown_082EFE50[] = _("BERRY BLENDER");
-ALIGNED(4) const u8 gUnknown_082EFE60[] = _("RECORD CORNER");
-ALIGNED(4) const u8 gUnknown_082EFE70[] = _("COOL CONTEST");
-ALIGNED(4) const u8 gUnknown_082EFE80[] = _("BEAUTY CONTEST");
-ALIGNED(4) const u8 gUnknown_082EFE90[] = _("CUTE CONTEST");
-ALIGNED(4) const u8 gUnknown_082EFEA0[] = _("SMART CONTEST");
-ALIGNED(4) const u8 gUnknown_082EFEB0[] = _("TOUGH CONTEST");
-ALIGNED(4) const u8 gUnknown_082EFEC0[] = _("BATTLE TOWER LV. 50");
-ALIGNED(4) const u8 gUnknown_082EFED4[] = _("BATTLE TOWER OPEN LEVEL");
-ALIGNED(4) const u8 gUnknown_082EFEEC[] = _("It's a NORMAL CARD.");
-ALIGNED(4) const u8 gUnknown_082EFF00[] = _("It's a BRONZE CARD!");
-ALIGNED(4) const u8 gUnknown_082EFF14[] = _("It's a COPPER CARD!");
-ALIGNED(4) const u8 gUnknown_082EFF28[] = _("It's a SILVER CARD!");
-ALIGNED(4) const u8 gUnknown_082EFF3C[] = _("It's a GOLD CARD!");
-
-const u8 *const gUnknown_082EFF50[] = {
- gUnknown_082EFEEC,
- gUnknown_082EFF00,
- gUnknown_082EFF14,
- gUnknown_082EFF28,
- gUnknown_082EFF3C
-};
-
-ALIGNED(4) const u8 gUnknown_082EFF64[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p");
-ALIGNED(4) const u8 gUnknown_082EFFA4[] = _("BATTLES: WINS: {SPECIAL_F7 0x00} LOSSES: {SPECIAL_F7 0x02}\nTRADES: {SPECIAL_F7 0x03}\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p");
-ALIGNED(4) const u8 gUnknown_082EFFDC[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}");
-ALIGNED(4) const u8 gUnknown_082EFFFC[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}");
-
-const u8 *const gUnknown_082F0018[] = {
- gUnknown_082EFFDC,
- gUnknown_082EFFFC
-};
-
-ALIGNED(4) const u8 gUnknown_082F0020[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}");
-
-const u8 *const gUnknown_082F0048[] = {
- gText_EmptyString,
- gUnknown_082EFDB0,
- gUnknown_082EFDC0,
- gUnknown_082EFDD0,
- gUnknown_082EFDE0,
- gUnknown_082EFDF0,
- gUnknown_082EFE00,
- gUnknown_082EFE10,
- gUnknown_082EFDF8,
- gUnknown_082EFE1C,
- gUnknown_082EFE2C,
- gUnknown_082EFE38,
- gUnknown_082EFE48,
- gText_EmptyString,
- gUnknown_082EFED4,
- gUnknown_082EFE60,
- gUnknown_082EFE50,
- gText_EmptyString,
- gText_EmptyString,
- gText_EmptyString,
- gText_EmptyString,
- gUnknown_082EFE00,
- gUnknown_082EFE10,
- gUnknown_082EFE70,
- gUnknown_082EFE80,
- gUnknown_082EFE90,
- gUnknown_082EFEA0,
- gUnknown_082EFEB0,
- gUnknown_082EFEC0
-};
-
-const struct WindowTemplate gUnknown_082F00BC = {
- .bg = 0x00,
- .tilemapLeft = 0x00,
- .tilemapTop = 0x00,
- .width = 0x1E,
- .height = 0x02,
- .paletteNum = 0x0F,
- .baseBlock = 0x0008
-};
-
-const u32 gUnknown_082F00C4[] = {
- 0x0201,
- 0x0202,
- 0x0403,
- 0x0204,
- 0x2509,
- 0x250a,
- 0x350b,
- 0x0000,
- 0x0000,
- 0x0000,
- 0x0000,
- 0x0000,
- 0x240f,
- 0x2410,
- 0x0000,
- 0x2417,
- 0x2418,
- 0x2419,
- 0x241a,
- 0x241b,
- 0x021c,
- 0x020e
-};
-
-const struct WindowTemplate gUnknown_082F011C = {
- .bg = 0x00,
- .tilemapLeft = 0x01,
- .tilemapTop = 0x03,
- .width = 0x0d,
- .height = 0x08,
- .paletteNum = 0x0f,
- .baseBlock = 0x0044
-};
-
-const struct WindowTemplate gUnknown_082F0124 = {
- .bg = 0x00,
- .tilemapLeft = 0x01,
- .tilemapTop = 0x03,
- .width = 0x0d,
- .height = 0x0a,
- .paletteNum = 0x0f,
- .baseBlock = 0x0044
-};
-
-const struct WindowTemplate gUnknown_082F012C = {
- .bg = 0x00,
- .tilemapLeft = 0x10,
- .tilemapTop = 0x03,
- .width = 0x07,
- .height = 0x04,
- .paletteNum = 0x0f,
- .baseBlock = 0x00c6
-};
-
-const struct ListMenuItem gUnknown_082F0134[] = {
- { gText_EmptyString, 0 },
- { gText_EmptyString, 1 },
- { gText_EmptyString, 2 },
- { gText_EmptyString, 3 },
- { gText_EmptyString, 4 }
-};
-
-const struct ListMenuTemplate gUnknown_082F015C = {
- .items = gUnknown_082F0134,
- .moveCursorFunc = NULL,
- .itemPrintFunc = sub_8013278,
- .totalItems = 5,
- .maxShowed = 5,
- .windowId = 0,
- .header_X = 0,
- .item_X = 0,
- .cursor_X = 0,
- .upText_Y = 1,
- .cursorPal = 2,
- .fillValue = 1,
- .cursorShadowPal = 3,
- .lettersSpacing = 0,
- .itemVerticalPadding = 0,
- .scrollMultiple = 0,
- .fontId = 1,
- .cursorKind = 1
-};
-
-const struct WindowTemplate gUnknown_082F0174 = {
- .bg = 0x00,
- .tilemapLeft = 0x01,
- .tilemapTop = 0x03,
- .width = 0x11,
- .height = 0x0a,
- .paletteNum = 0x0f,
- .baseBlock = 0x0044
-};
-
-const struct WindowTemplate gUnknown_082F017C = {
- .bg = 0x00,
- .tilemapLeft = 0x14,
- .tilemapTop = 0x03,
- .width = 0x07,
- .height = 0x04,
- .paletteNum = 0x0f,
- .baseBlock = 0x00ee
-};
-
-const struct ListMenuItem gUnknown_082F0184[] = {
- { gText_EmptyString, 0 },
- { gText_EmptyString, 1 },
- { gText_EmptyString, 2 },
- { gText_EmptyString, 3 },
- { gText_EmptyString, 4 },
- { gText_EmptyString, 5 },
- { gText_EmptyString, 6 },
- { gText_EmptyString, 7 },
- { gText_EmptyString, 8 },
- { gText_EmptyString, 9 },
- { gText_EmptyString, 10 },
- { gText_EmptyString, 11 },
- { gText_EmptyString, 12 },
- { gText_EmptyString, 13 },
- { gText_EmptyString, 14 },
- { gText_EmptyString, 15 }
-};
-
-const struct ListMenuTemplate gUnknown_082F0204 = {
- .items = gUnknown_082F0184,
- .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
- .itemPrintFunc = sub_8013DF4,
- .totalItems = 16,
- .maxShowed = 5,
- .windowId = 0,
- .header_X = 0,
- .item_X = 8,
- .cursor_X = 0,
- .upText_Y = 1,
- .cursorPal = 2,
- .fillValue = 1,
- .cursorShadowPal = 3,
- .lettersSpacing = 0,
- .itemVerticalPadding = 0,
- .scrollMultiple = 1,
- .fontId = 1,
- .cursorKind = 0
-};
-
-const struct WindowTemplate gUnknown_082F021C = {
- .bg = 0x00,
- .tilemapLeft = 0x14,
- .tilemapTop = 0x05,
- .width = 0x10,
- .height = 0x08,
- .paletteNum = 0x0f,
- .baseBlock = 0x0001
-};
-
-const struct ListMenuItem gUnknown_082F0224[] = {
- { gUnknown_082EFD70, 0x208 },
- { gUnknown_082EFD60, 0x241 },
- { gUnknown_082EFD68, 0x245 },
- { gUnknown_082EFD7C, 0x040 }
-};
-
-const struct ListMenuTemplate gUnknown_082F0244 = {
- .items = gUnknown_082F0224,
- .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
- .itemPrintFunc = NULL,
- .totalItems = 4,
- .maxShowed = 4,
- .windowId = 0,
- .header_X = 0,
- .item_X = 8,
- .cursor_X = 0,
- .upText_Y = 1,
- .cursorPal = 2,
- .fillValue = 1,
- .cursorShadowPal = 3,
- .lettersSpacing = 0,
- .itemVerticalPadding = 0,
- .scrollMultiple = 0,
- .fontId = 1,
- .cursorKind = 0
-};
-
-const struct WindowTemplate gUnknown_082F025C = {
- .bg = 0x00,
- .tilemapLeft = 0x12,
- .tilemapTop = 0x07,
- .width = 0x10,
- .height = 0x06,
- .paletteNum = 0x0f,
- .baseBlock = 0x0001
-};
-
-const struct ListMenuItem gUnknown_082F0264[] = {
- { gText_Register, 1 },
- { gUnknown_082EFD8C, 2 },
- { gUnknown_082EFD7C, 3 }
-};
-
-const struct ListMenuTemplate gUnknown_082F027C = {
- .items = gUnknown_082F0264,
- .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
- .itemPrintFunc = NULL,
- .totalItems = 3,
- .maxShowed = 3,
- .windowId = 0,
- .header_X = 0,
- .item_X = 8,
- .cursor_X = 0,
- .upText_Y = 1,
- .cursorPal = 2,
- .fillValue = 1,
- .cursorShadowPal = 3,
- .lettersSpacing = 0,
- .itemVerticalPadding = 0,
- .scrollMultiple = 0,
- .fontId = 1,
- .cursorKind = 0
-};
-
-const struct WindowTemplate gUnknown_082F0294 = {
- .bg = 0x00,
- .tilemapLeft = 0x14,
- .tilemapTop = 0x01,
- .width = 0x10,
- .height = 0x0c,
- .paletteNum = 0x0f,
- .baseBlock = 0x0001
-};
-
-const struct ListMenuItem gUnknown_082F029C[] = {
- { gTypeNames[TYPE_NORMAL], TYPE_NORMAL },
- { gTypeNames[TYPE_FIRE], TYPE_FIRE },
- { gTypeNames[TYPE_WATER], TYPE_WATER },
- { gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC },
- { gTypeNames[TYPE_GRASS], TYPE_GRASS },
- { gTypeNames[TYPE_ICE], TYPE_ICE },
- { gTypeNames[TYPE_GROUND], TYPE_GROUND },
- { gTypeNames[TYPE_ROCK], TYPE_ROCK },
- { gTypeNames[TYPE_FLYING], TYPE_FLYING },
- { gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC },
- { gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING },
- { gTypeNames[TYPE_POISON], TYPE_POISON },
- { gTypeNames[TYPE_BUG], TYPE_BUG },
- { gTypeNames[TYPE_GHOST], TYPE_GHOST },
- { gTypeNames[TYPE_DRAGON], TYPE_DRAGON },
- { gTypeNames[TYPE_STEEL], TYPE_STEEL },
- { gTypeNames[TYPE_DARK], TYPE_DARK },
- { gUnknown_082EFD7C, NUMBER_OF_MON_TYPES }
-};
-
-const struct ListMenuTemplate gUnknown_082F032C = {
- .items = gUnknown_082F029C,
- .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
- .itemPrintFunc = NULL,
- .totalItems = NUMBER_OF_MON_TYPES,
- .maxShowed = 6,
- .windowId = 0,
- .header_X = 0,
- .item_X = 8,
- .cursor_X = 0,
- .upText_Y = 1,
- .cursorPal = 2,
- .fillValue = 1,
- .cursorShadowPal = 3,
- .lettersSpacing = 0,
- .itemVerticalPadding = 0,
- .scrollMultiple = 0,
- .fontId = 1,
- .cursorKind = 0
-};
-
-const struct WindowTemplate gUnknown_082F0344 = {
- .bg = 0x00,
- .tilemapLeft = 0x01,
- .tilemapTop = 0x01,
- .width = 0x1c,
- .height = 0x02,
- .paletteNum = 0x0d,
- .baseBlock = 0x0001
-};
-
-const struct WindowTemplate gUnknown_082F034C = {
- .bg = 0x00,
- .tilemapLeft = 0x01,
- .tilemapTop = 0x05,
- .width = 0x1c,
- .height = 0x0c,
- .paletteNum = 0x0d,
- .baseBlock = 0x0039
-};
-
-const struct ListMenuItem gUnknown_082F0354[] = {
- { gText_EmptyString, -3 },
- { gText_EmptyString, 0 },
- { gText_EmptyString, 1 },
- { gText_EmptyString, 2 },
- { gText_EmptyString, 3 },
- { gText_EmptyString, 4 },
- { gText_EmptyString, 5 },
- { gText_EmptyString, 6 },
- { gText_EmptyString, 7 },
- { gUnknown_082EFD84, 8 }
-};
-
-const struct ListMenuTemplate gUnknown_082F03A4 = {
- .items = gUnknown_082F0354,
- .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
- .itemPrintFunc = sub_8017BE8,
- .totalItems = 10,
- .maxShowed = 6,
- .windowId = 0,
- .header_X = 0,
- .item_X = 8,
- .cursor_X = 0,
- .upText_Y = 1,
- .cursorPal = 14,
- .fillValue = 15,
- .cursorShadowPal = 13,
- .lettersSpacing = 0,
- .itemVerticalPadding = 0,
- .scrollMultiple = 0,
- .fontId = 1,
- .cursorKind = 0
-};
-
-const struct WindowTemplate UnrefWindowTemplate_082F03B4 = {
- .bg = 0x00,
- .tilemapLeft = 0x01,
- .tilemapTop = 0x05,
- .width = 0x1c,
- .height = 0x0c,
- .paletteNum = 0x0d,
- .baseBlock = 0x0039
-};
-
-const struct ListMenuItem gUnknown_082F03C4[] = {
- { gText_EmptyString, 0 },
- { gText_EmptyString, 1 },
- { gText_EmptyString, 2 },
- { gText_EmptyString, 3 },
- { gText_EmptyString, 4 },
- { gText_EmptyString, 5 },
- { gText_EmptyString, 6 },
- { gText_EmptyString, 7 },
- { gText_EmptyString, 8 },
- { gText_EmptyString, 9 },
- { gText_EmptyString, 10 },
- { gText_EmptyString, 11 },
- { gText_EmptyString, 12 },
- { gText_EmptyString, 13 },
- { gText_EmptyString, 14 },
- { gText_EmptyString, 15 }
-};
-
-const struct ListMenuTemplate UnrefListMenuTemplate_082F0444 = {
- .items = gUnknown_082F03C4,
- .moveCursorFunc = ListMenuDefaultCursorMoveFunc,
- .itemPrintFunc = nullsub_14,
- .totalItems = 16,
- .maxShowed = 4,
- .windowId = 0,
- .header_X = 0,
- .item_X = 8,
- .cursor_X = 0,
- .upText_Y = 1,
- .cursorPal = 2,
- .fillValue = 1,
- .cursorShadowPal = 3,
- .lettersSpacing = 0,
- .itemVerticalPadding = 0,
- .scrollMultiple = 1,
- .fontId = 1,
- .cursorKind = 0
-};
-
-const struct UnkStruct_Shared gUnknown_082F045C = {0};
-
-ALIGNED(4) const u8 gUnknown_082F0474[] = {0x01, 0xff};
-ALIGNED(4) const u8 gUnknown_082F0478[] = {0x02, 0xff};
-ALIGNED(4) const u8 gUnknown_082F047C[] = {0x03, 0xff};
-ALIGNED(4) const u8 gUnknown_082F0480[] = {0x04, 0xff};
-ALIGNED(4) const u8 gUnknown_082F0484[] = {0x09, 0xff};
-ALIGNED(4) const u8 gUnknown_082F0488[] = {0x0a, 0xff};
-ALIGNED(4) const u8 gUnknown_082F048C[] = {0x0b, 0xff};
-ALIGNED(4) const u8 gUnknown_082F0490[] = {0x15, 0xff};
-ALIGNED(4) const u8 gUnknown_082F0494[] = {0x16, 0xff};
-ALIGNED(4) const u8 gUnknown_082F0498[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04A4[] = {0x0c, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04A8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15, 0x16, 0x0d, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04B4[] = {0x0f, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04B8[] = {0x10, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04BC[] = {0x17, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04C0[] = {0x18, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04C4[] = {0x19, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04C8[] = {0x1a, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04CC[] = {0x1b, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04D0[] = {0x1c, 0xff};
-ALIGNED(4) const u8 gUnknown_082F04D4[] = {0x0e, 0xff};
-
-const u8 *const gUnknown_082F04D8[] = {
- gUnknown_082F0474,
- gUnknown_082F0478,
- gUnknown_082F047C,
- gUnknown_082F0480,
- gUnknown_082F0484,
- gUnknown_082F0488,
- gUnknown_082F048C,
- gUnknown_082F0490,
- gUnknown_082F0494,
- gUnknown_082F0498,
- gUnknown_082F04A4,
- gUnknown_082F04A8,
- gUnknown_082F04B4,
- gUnknown_082F04B8,
- NULL,
- gUnknown_082F04BC,
- gUnknown_082F04C0,
- gUnknown_082F04C4,
- gUnknown_082F04C8,
- gUnknown_082F04CC,
- gUnknown_082F04D0,
- gUnknown_082F04D4
-};
-
-const u8 gUnknown_082F0530[] = {
- 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x15,
- 0x16, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x17,
- 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x0e, 0x00, 0x00
-};
+#include "data/union_room.h"
// code
void nullsub_89(u8 taskId)
@@ -1192,19 +158,19 @@ void sub_80124EC(u8 windowId, u8 arg1, u8 stringId)
switch (arg1 << 8)
{
case 0x200:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[0][stringId - 1], 0, 1, 0);
+ sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[0][stringId - 1], 0, 1, 0);
break;
case 0x400:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[1][stringId - 1], 0, 1, 0);
+ sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[1][stringId - 1], 0, 1, 0);
break;
case 0x2500:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[2][stringId - 1], 0, 1, 0);
+ sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[2][stringId - 1], 0, 1, 0);
break;
case 0x3500:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[3][stringId - 1], 0, 1, 0);
+ sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[3][stringId - 1], 0, 1, 0);
break;
case 0x2400:
- sub_80173E0(windowId, 1, gUnknown_082EDB60[4][stringId - 1], 0, 1, 0);
+ sub_80173E0(windowId, 1, sPlayersNeededOrModeTexts[4][stringId - 1], 0, 1, 0);
break;
}
@@ -1217,7 +183,7 @@ void sub_80125BC(u8 windowId)
u8 *txtPtr;
sub_80173E0(windowId, 1, gSaveBlock2Ptr->playerName, 0, 1, 0);
- txtPtr = StringCopy(text, gText_UnkCtrlCodeF907);
+ txtPtr = StringCopy(text, sText_ID);
ConvertIntToDecimalStringN(txtPtr, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5);
sub_80173E0(windowId, 1, text, 0, 0x11, 0);
}
@@ -1231,7 +197,7 @@ void sub_801262C(u8 *dst, u8 caseId)
case 14 ... 16:
case 21 ... 28:
// UB: argument *dst isn't used, instead it always prints to gStringVar4
- StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication);
+ StringExpandPlaceholders(gStringVar4, sText_AwaitingCommunication);
break;
}
}
@@ -1249,7 +215,7 @@ bool32 sub_80126CC(u32 caseId)
}
}
-void BerryBlenderLinkBecomeLeader(void)
+void TryBecomeLinkLeader(void)
{
u8 taskId;
struct UnkStruct_Leader *dataPtr;
@@ -1271,7 +237,7 @@ void sub_8012780(u8 taskId)
switch (data->state)
{
case 0:
- if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
+ if (gSpecialVar_0x8004 == LINK_GROUP_BATTLE_TOWER && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
gSpecialVar_0x8004++;
gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004];
gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8;
@@ -1308,7 +274,7 @@ void sub_8012780(u8 taskId)
data->field_11 = AddWindow(&gUnknown_082F012C);
FillWindowPixelBuffer(data->field_10, PIXEL_FILL(2));
- sub_80173E0(data->field_10, 0, gUnknown_082EDBC4, 8, 1, 4);
+ sub_80173E0(data->field_10, 0, sText_BButtonCancel, 8, 1, 4);
PutWindowTilemap(data->field_10);
CopyWindowToVram(data->field_10, 2);
@@ -1326,13 +292,13 @@ void sub_8012780(u8 taskId)
data->state = 4;
break;
case 4:
- StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
+ StringCopy(gStringVar1, sLinkGroupActivityTexts[gUnknown_02022C2C]);
if ((gUnknown_02022C2D >> 4) != 0)
{
if (data->field_13 > (gUnknown_02022C2D >> 4) - 1 && (gUnknown_02022C2D & 0xF) != 0)
- StringExpandPlaceholders(gStringVar4, gText_AwaitingLink);
+ StringExpandPlaceholders(gStringVar4, sText_AwaitingLinkPressStart);
else
- StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication);
+ StringExpandPlaceholders(gStringVar4, sText_AwaitingCommunication);
}
else
{
@@ -1380,7 +346,7 @@ void sub_8012780(u8 taskId)
break;
case 10:
id = ((gUnknown_02022C2C & 0xF) == 2) ? 1 : 0;
- if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
+ if (PrintOnTextbox(&data->textState, sPlayerUnavailableTexts[id]))
{
data->field_13 = sub_8013398(data->field_0);
RedrawListMenu(data->listTaskId);
@@ -1389,7 +355,7 @@ void sub_8012780(u8 taskId)
break;
case 29:
id = ((gUnknown_02022C2D & 0xF) == 2) ? 0 : 1;
- if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
+ if (PrintOnTextbox(&data->textState, sPlayerUnavailableTexts[id]))
{
data->state = 21;
}
@@ -1439,7 +405,7 @@ void sub_8012780(u8 taskId)
else
{
sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C);
+ StringExpandPlaceholders(gStringVar4, sText_AnOKWasSentToPlayer);
data->state = 13;
}
@@ -1477,7 +443,7 @@ void sub_8012780(u8 taskId)
data->state = 17;
break;
case 15:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDC5C))
+ if (PrintOnTextbox(&data->textState, sText_AreTheseMembersOK))
data->state = 16;
break;
case 16:
@@ -1496,7 +462,7 @@ void sub_8012780(u8 taskId)
}
break;
case 19:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDC78))
+ if (PrintOnTextbox(&data->textState, sText_CancelModeWithTheseMembers))
data->state = 20;
break;
case 20:
@@ -1543,7 +509,7 @@ void sub_8012780(u8 taskId)
}
break;
case 30:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDD58))
+ if (PrintOnTextbox(&data->textState, sText_ModeWithTheseMembersWillBeCanceled))
data->state = 23;
break;
case 21:
@@ -1611,11 +577,11 @@ void sub_8012FC4(u8 *dst, u8 caseId)
case 4:
case 14:
case 28:
- StringExpandPlaceholders(dst, gUnknown_082EDBE8);
+ StringExpandPlaceholders(dst, sText_PlayerContactedYouForXAccept);
break;
case 21:
case 22:
- StringExpandPlaceholders(dst, gUnknown_082EDC0C);
+ StringExpandPlaceholders(dst, sText_PlayerContactedYouShareX);
break;
case 3:
case 9:
@@ -1628,7 +594,7 @@ void sub_8012FC4(u8 *dst, u8 caseId)
case 25:
case 26:
case 27:
- StringExpandPlaceholders(dst, gUnknown_082EDC34);
+ StringExpandPlaceholders(dst, sText_PlayerContactedYouAddToMembers);
break;
}
}
@@ -1639,11 +605,11 @@ void sub_8013078(u8 *dst, u8 caseId)
{
case 65:
case 68:
- StringExpandPlaceholders(dst, gUnknown_082EE560);
+ StringExpandPlaceholders(dst, sText_OfferDeclined1);
break;
case 69:
case 72:
- StringExpandPlaceholders(dst, gUnknown_082EE57C);
+ StringExpandPlaceholders(dst, sText_OfferDeclined2);
break;
}
}
@@ -1659,7 +625,7 @@ void sub_80130B4(u8 *dst, u8 caseId)
case 21:
case 22:
case 28:
- StringExpandPlaceholders(dst, gUnknown_082EFC3C);
+ StringExpandPlaceholders(dst, sText_AwaitingPlayersResponse);
break;
case 3:
case 9:
@@ -1672,7 +638,7 @@ void sub_80130B4(u8 *dst, u8 caseId)
case 25:
case 26:
case 27:
- StringExpandPlaceholders(dst, gUnknown_082EFC54);
+ StringExpandPlaceholders(dst, sText_PlayerHasBeenAskedToRegisterYouPleaseWait);
break;
}
}
@@ -1688,7 +654,7 @@ void sub_8013160(u8 *dst, u8 caseId)
case 21:
case 22:
case 28:
- StringExpandPlaceholders(dst, gUnknown_082EDDF4);
+ StringExpandPlaceholders(dst, sText_PlayerSentBackOK);
break;
case 3:
case 9:
@@ -1701,7 +667,7 @@ void sub_8013160(u8 *dst, u8 caseId)
case 25:
case 26:
case 27:
- StringExpandPlaceholders(dst, gUnknown_082EDE0C);
+ StringExpandPlaceholders(dst, sText_PlayerOKdRegistration);
break;
}
}
@@ -1831,7 +797,7 @@ u8 sub_8013398(struct UnkStruct_Main0 *arg0)
return ret;
}
-void BerryBlenderLinkJoinGroup(void)
+void TryJoinLinkGroup(void)
{
u8 taskId;
struct UnkStruct_Group *dataPtr;
@@ -1853,7 +819,7 @@ void sub_80134E8(u8 taskId)
switch (data->state)
{
case 0:
- if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
+ if (gSpecialVar_0x8004 == LINK_GROUP_BATTLE_TOWER && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
gSpecialVar_0x8004++;
gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004];
sub_8010F84(gUnknown_02022C2C, 0, 0);
@@ -1865,7 +831,7 @@ void sub_80134E8(u8 taskId)
data->state = 1;
break;
case 1:
- if (PrintOnTextbox(&data->textState, gUnknown_082EFB70[gSpecialVar_0x8004]))
+ if (PrintOnTextbox(&data->textState, sChooseTrainerTexts[gSpecialVar_0x8004]))
data->state = 2;
break;
case 2:
@@ -1877,7 +843,7 @@ void sub_80134E8(u8 taskId)
data->field_D = AddWindow(&gUnknown_082F017C);
FillWindowPixelBuffer(data->field_C, PIXEL_FILL(2));
- sub_80173E0(data->field_C, 0, gUnknown_082EF7DC, 8, 1, 4);
+ sub_80173E0(data->field_C, 0, sText_ChooseJoinCancel, 8, 1, 4);
PutWindowTilemap(data->field_C);
CopyWindowToVram(data->field_C, 2);
@@ -1922,7 +888,7 @@ void sub_80134E8(u8 taskId)
}
else
{
- StringCopy(gStringVar4, gUnknown_082EDD50[var - 1]);
+ StringCopy(gStringVar4, sCantTransmitToTrainerTexts[var - 1]);
data->state = 18;
PlaySE(SE_PN_ON);
}
@@ -1987,8 +953,8 @@ void sub_80134E8(u8 taskId)
else
{
sub_8011A64(7, 0);
- StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EDE48);
+ StringCopy(gStringVar1, sLinkGroupActivityTexts[gUnknown_02022C2C]);
+ StringExpandPlaceholders(gStringVar4, sText_AwaitingOtherMembers);
}
}
break;
@@ -2023,7 +989,7 @@ void sub_80134E8(u8 taskId)
data->state = 7;
break;
case 7:
- if (PrintOnTextbox(&data->textState, gUnknown_082EDE64))
+ if (PrintOnTextbox(&data->textState, sText_QuitBeingMember))
data->state = 8;
break;
case 8:
@@ -2070,7 +1036,7 @@ void sub_80134E8(u8 taskId)
break;
case 13:
DestroyWirelessStatusIndicatorSprite();
- if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
+ if (PrintOnTextbox(&data->textState, sPlayerDisconnectedTexts[sub_8011A74()]))
{
gSpecialVar_Result = 6;
data->state = 23;
@@ -2083,7 +1049,7 @@ void sub_80134E8(u8 taskId)
break;
case 15:
DestroyWirelessStatusIndicatorSprite();
- if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
+ if (PrintOnTextbox(&data->textState, sPlayerDisconnectedTexts[sub_8011A74()]))
{
gSpecialVar_Result = 8;
data->state = 23;
@@ -2114,9 +1080,9 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id)
if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.unk_01_2 != 3)
{
- if (!(gSaveBlock2Ptr->specialSaveWarpFlags & 0x80))
+ if (!(gSaveBlock2Ptr->specialSaveWarpFlags & CHAMPION_SAVEWARP))
return 1;
- else if (structPtr->unk.field_0.unk_00.unk_00_7)
+ else if (structPtr->unk.field_0.unk_00.isChampion)
return 0;
}
else
@@ -2305,22 +1271,22 @@ u8 sub_8013E44(void)
return ret;
}
-void sub_8013F60(u8 taskId)
+static void Task_CreateTradeMenu(u8 taskId)
{
- sub_80773AC();
+ CB2_StartCreateTradeMenu();
DestroyTask(taskId);
}
u8 sub_8013F78(void)
{
- u8 taskId = CreateTask(sub_8013F60, 0);
+ u8 taskId = CreateTask(Task_CreateTradeMenu, 0);
return taskId;
}
void sub_8013F90(u8 taskId)
{
- u32 monId = sub_8018120(&gUnknown_02022C40, GetMultiplayerId());
+ u32 monId = GetPartyPositionOfRegisteredMon(&sUnionRoomTrade, GetMultiplayerId());
switch (gTasks[taskId].data[0])
{
@@ -2345,13 +1311,13 @@ void sub_8013F90(u8 taskId)
case 3:
if (GetBlockReceivedStatus() == 3)
{
- memcpy(gUnknown_020321C0, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE);
+ memcpy(gTradeMail, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE);
ResetBlockReceivedFlags();
- gUnknown_02032298[0] = monId;
- gUnknown_02032298[1] = 6;
+ gSelectedTradeMonPositions[TRADE_PLAYER] = monId;
+ gSelectedTradeMonPositions[TRADE_PARTNER] = PARTY_SIZE;
gMain.savedCallback = CB2_ReturnToField;
- SetMainCallback2(sub_807AE50);
- sub_801807C(&gUnknown_02022C40);
+ SetMainCallback2(CB2_LinkTrade);
+ ResetUnionRoomTrade(&sUnionRoomTrade);
DestroyTask(taskId);
}
break;
@@ -2421,7 +1387,7 @@ void sub_8014210(u16 battleFlags)
HealPlayerParty();
SavePlayerParty();
LoadPlayerBag();
- gLinkPlayers[0].linkType = 0x2211;
+ gLinkPlayers[0].linkType = LINKTYPE_BATTLE;
gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId();
gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1;
gMain.savedCallback = sub_80B360C;
@@ -2429,18 +1395,18 @@ void sub_8014210(u16 battleFlags)
PlayBattleBGM();
}
-void sub_8014290(u16 arg0, u16 x, u16 y)
+static void sub_8014290(u16 linkService, u16 x, u16 y)
{
- VarSet(VAR_CABLE_CLUB_STATE, arg0);
+ VarSet(VAR_CABLE_CLUB_STATE, linkService);
SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
WarpIntoMap();
}
-void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4)
+void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 linkService)
{
- gSpecialVar_0x8004 = arg4;
- VarSet(VAR_CABLE_CLUB_STATE, arg4);
+ gSpecialVar_0x8004 = linkService;
+ VarSet(VAR_CABLE_CLUB_STATE, linkService);
gFieldLinkPlayerCount = GetLinkPlayerCount();
gLocalLinkPlayerId = GetMultiplayerId();
SetCableClubWarp();
@@ -2458,7 +1424,7 @@ void sub_8014384(void)
break;
case 1:
if (!FuncIsActiveTask(sub_80140E0))
- SetMainCallback2(sub_8086074);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
break;
}
@@ -2506,7 +1472,7 @@ void sub_801440C(u8 taskId)
HealPlayerParty();
SavePlayerParty();
LoadPlayerBag();
- sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 1);
+ sub_8014304(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE);
SetMainCallback2(sub_8014384);
break;
case 2:
@@ -2515,7 +1481,7 @@ void sub_801440C(u8 taskId)
SavePlayerParty();
LoadPlayerBag();
sub_80143E4(gBlockSendBuffer, TRUE);
- sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 2);
+ sub_8014304(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE);
SetMainCallback2(sub_8014384);
break;
case 3:
@@ -2524,19 +1490,19 @@ void sub_801440C(u8 taskId)
SavePlayerParty();
LoadPlayerBag();
sub_80143E4(gBlockSendBuffer, TRUE);
- sub_8014304(MAP_GROUP(DOUBLE_BATTLE_COLOSSEUM), MAP_NUM(DOUBLE_BATTLE_COLOSSEUM), 5, 8, 5);
+ sub_8014304(MAP_GROUP(BATTLE_COLOSSEUM_4P), MAP_NUM(BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE);
SetMainCallback2(sub_8014384);
break;
case 4:
sub_80143E4(gBlockSendBuffer, TRUE);
CleanupOverworldWindowsAndTilemaps();
- sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, 3);
+ sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER);
SetMainCallback2(sub_8014384);
break;
case 15:
sub_80143E4(gBlockSendBuffer, TRUE);
CleanupOverworldWindowsAndTilemaps();
- sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, 4);
+ sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, USING_RECORD_CORNER);
SetMainCallback2(sub_8014384);
break;
case 68:
@@ -2562,15 +1528,15 @@ void sub_801440C(u8 taskId)
SetMainCallback2(sub_80141A4);
break;
case 9:
- sub_8014290(8, 5, 1);
+ sub_8014290(USING_MINIGAME, 5, 1);
sub_802A9A8(GetCursorSelectionMonId(), CB2_LoadMap);
break;
case 10:
- sub_8014290(7, 9, 1);
+ sub_8014290(USING_BERRY_CRUSH, 9, 1);
sub_8020C70(CB2_LoadMap);
break;
case 11:
- sub_8014290(8, 5, 1);
+ sub_8014290(USING_MINIGAME, 5, 1);
sub_802493C(GetCursorSelectionMonId(), CB2_LoadMap);
break;
}
@@ -2594,7 +1560,7 @@ void sub_8014790(u8 taskId)
{
case 14:
case 28:
- gLinkPlayers[0].linkType = 0x2211;
+ gLinkPlayers[0].linkType = LINKTYPE_BATTLE;
gLinkPlayers[0].id = 0;
gLinkPlayers[1].id = 2;
sendBuff[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES);
@@ -2617,7 +1583,7 @@ void sub_8014790(u8 taskId)
case 1:
if (!ScriptContext1_IsScriptSetUp())
{
- FadeScreen(1, 0);
+ FadeScreen(FADE_TO_BLACK, 0);
data[0] = 2;
}
break;
@@ -2627,7 +1593,7 @@ void sub_8014790(u8 taskId)
if (gUnknown_02022C2C == 29)
{
DestroyTask(taskId);
- SetMainCallback2(sub_80773AC);
+ SetMainCallback2(CB2_StartCreateTradeMenu);
}
else
{
@@ -2751,7 +1717,7 @@ void sub_8014A40(u8 taskId)
data->state = 2;
break;
case 2:
- StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
+ StringCopy(gStringVar1, sLinkGroupActivityTexts[gUnknown_02022C2C]);
sub_801262C(gStringVar4, gUnknown_02022C2C);
data->state = 3;
break;
@@ -2768,7 +1734,7 @@ void sub_8014A40(u8 taskId)
}
break;
case 6:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF40))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_LinkWithFriendDropped))
{
data->field_13 = sub_8013398(data->field_0);
RedrawListMenu(data->listTaskId);
@@ -2808,7 +1774,7 @@ void sub_8014A40(u8 taskId)
RedrawListMenu(data->listTaskId);
data->field_13++;
sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C);
+ StringExpandPlaceholders(gStringVar4, sText_AnOKWasSentToPlayer);
data->state = 9;
sub_800EF38();
}
@@ -2865,7 +1831,7 @@ void sub_8014A40(u8 taskId)
data->state++;
break;
case 14:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_PleaseStartOver))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_PleaseStartOver))
{
DestroyTask(taskId);
gSpecialVar_Result = 5;
@@ -2933,7 +1899,7 @@ void sub_8014F48(u8 taskId)
data->state = 1;
break;
case 1:
- AddTextPrinterToWindow1(gUnknown_082EF7F8);
+ AddTextPrinterToWindow1(sText_ChooseTrainer);
data->state = 2;
break;
case 2:
@@ -3006,7 +1972,7 @@ void sub_8014F48(u8 taskId)
}
break;
case 4:
- AddTextPrinterToWindow1(gUnknown_082EFC3C);
+ AddTextPrinterToWindow1(sText_AwaitingPlayersResponse);
sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
data->state = 5;
break;
@@ -3025,7 +1991,7 @@ void sub_8014F48(u8 taskId)
data->state = 8;
break;
case 5:
- AddTextPrinterToWindow1(gUnknown_082EDDF4);
+ AddTextPrinterToWindow1(sText_PlayerSentBackOK);
sub_8011A64(0, 0);
break;
}
@@ -3043,7 +2009,7 @@ void sub_8014F48(u8 taskId)
data->state++;
break;
case 9:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF80[sub_8011A74()]))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sLinkDroppedTexts[sub_8011A74()]))
{
DestroyWirelessStatusIndicatorSprite();
DestroyTask(taskId);
@@ -3053,7 +2019,7 @@ void sub_8014F48(u8 taskId)
break;
case 7:
DestroyWirelessStatusIndicatorSprite();
- AddTextPrinterToWindow1(gText_PleaseStartOver);
+ AddTextPrinterToWindow1(sText_PleaseStartOver);
DestroyTask(taskId);
sub_800EDD4();
gSpecialVar_Result = 5;
@@ -3102,7 +2068,7 @@ void sub_80152F4(u8 taskId)
data->state = 1;
break;
case 1:
- AddTextPrinterToWindow1(gUnknown_082EFBC8);
+ AddTextPrinterToWindow1(sText_SearchingForWirelessSystemWait);
data->state = 2;
break;
case 2:
@@ -3171,7 +2137,7 @@ void sub_80152F4(u8 taskId)
}
break;
case 4:
- AddTextPrinterToWindow1(gUnknown_082EFC90);
+ AddTextPrinterToWindow1(sText_AwaitingResponseFromWirelessSystem);
sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
data->state = 5;
break;
@@ -3190,7 +2156,7 @@ void sub_80152F4(u8 taskId)
data->state = 8;
break;
case 5:
- AddTextPrinterToWindow1(gUnknown_082EDEC4);
+ AddTextPrinterToWindow1(sText_WirelessLinkEstablished);
sub_8011A64(0, 0);
break;
}
@@ -3211,7 +2177,7 @@ void sub_80152F4(u8 taskId)
data->state++;
break;
case 9:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EDF04))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_WirelessLinkDropped))
{
DestroyWirelessStatusIndicatorSprite();
DestroyTask(taskId);
@@ -3220,7 +2186,7 @@ void sub_80152F4(u8 taskId)
}
break;
case 7:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gText_WirelessSearchCanceled))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sText_WirelessSearchCanceled))
{
DestroyWirelessStatusIndicatorSprite();
DestroyTask(taskId);
@@ -3229,7 +2195,7 @@ void sub_80152F4(u8 taskId)
}
break;
case 11:
- if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_082EFD58[data->field_12]))
+ if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, sNoWonderSharedTexts[data->field_12]))
{
DestroyWirelessStatusIndicatorSprite();
DestroyTask(taskId);
@@ -3334,7 +2300,7 @@ void sub_80156E0(u8 taskId)
break;
case 2:
sub_8010F84(0x40, 0, 0);
- sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel);
+ sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel);
sub_800B488();
OpenLink();
sub_8011C84();
@@ -3345,22 +2311,24 @@ void sub_80156E0(u8 taskId)
data->state = 3;
break;
case 3:
- if ((sub_81B1360() == 8 || sub_81B1360() == 9) && gUnknown_02022C40.field_0 != 0)
+ if ((GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_REGISTER
+ || GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_TRADE)
+ && sUnionRoomTrade.field_0 != 0)
{
id = GetCursorSelectionMonId();
- switch (gUnknown_02022C40.field_0)
+ switch (sUnionRoomTrade.field_0)
{
case 1:
sub_8011090(0x54, 0, 1);
if (id >= PARTY_SIZE)
{
- sub_801807C(&gUnknown_02022C40);
+ ResetUnionRoomTrade(&sUnionRoomTrade);
sub_8010FCC(0, 0, 0);
- sub_801568C(gUnknown_082EF4FC);
+ sub_801568C(sText_RegistrationCanceled);
}
- else if (!sub_80180A0(GetCursorSelectionMonId(), &gUnknown_02022C40))
+ else if (!RegisterTradeMonAndGetIsEgg(GetCursorSelectionMonId(), &sUnionRoomTrade))
{
- sub_8015664(0x34, gUnknown_082EF47C);
+ sub_8015664(0x34, sText_ChooseRequestedMonType);
}
else
{
@@ -3369,21 +2337,21 @@ void sub_80156E0(u8 taskId)
break;
case 2:
sub_80156C8(data);
- taskData[1] = gUnknown_02022C40.field_8;
+ taskData[1] = sUnionRoomTrade.field_8;
if (id >= PARTY_SIZE)
{
- sub_801568C(gUnknown_082EF544);
+ sub_801568C(sText_TradeCanceled);
}
else
{
sub_8011090(0x54, 0, 1);
gUnknown_02022C2C = 0x44;
- sub_80180E8(GetCursorSelectionMonId(), &gUnknown_02022C40);
+ RegisterTradeMon(GetCursorSelectionMonId(), &sUnionRoomTrade);
data->state = 51;
}
break;
}
- gUnknown_02022C40.field_0 = 0;
+ sUnionRoomTrade.field_0 = 0;
}
else
{
@@ -3455,7 +2423,7 @@ void sub_80156E0(u8 taskId)
}
break;
case 23:
- if (!FuncIsActiveTask(sub_809FA34))
+ if (!FuncIsActiveTask(Task_ShowStartMenu))
{
sub_8011090(0x40, 0, 0);
data->state = 4;
@@ -3491,9 +2459,9 @@ void sub_80156E0(u8 taskId)
case 1:
case 2:
if (sub_8011B90() == TRUE)
- sub_801568C(gUnknown_082EE6C8);
+ sub_801568C(sText_TrainerAppearsBusy);
else
- sub_8015664(30, gUnknown_082EE6C8);
+ sub_8015664(30, sText_TrainerAppearsBusy);
gUnknown_02022C2C = 0x40;
break;
@@ -3510,7 +2478,7 @@ void sub_80156E0(u8 taskId)
if (!FuncIsActiveTask(sub_80140E0))
{
if (gUnknown_02022C2C == 0x44)
- sub_8015664(31, gUnknown_082EE004);
+ sub_8015664(31, sText_AwaitingPlayersResponseAboutTrade);
else
data->state = 5;
}
@@ -3526,7 +2494,7 @@ void sub_80156E0(u8 taskId)
case 5:
id = sub_80179AC(&data->field_0->arr[taskData[1]]);
playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_8015664(6, gUnknown_082EE24C[id][playerGender]);
+ sub_8015664(6, sHiDoSomethingTexts[id][playerGender]);
break;
case 6:
var5 = sub_8017178(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_082F021C, &gUnknown_082F0244);
@@ -3544,16 +2512,16 @@ void sub_80156E0(u8 taskId)
{
data->field_4C[0] = 0x40;
sub_800FE50(data->field_4C);
- StringCopy(gStringVar4, gUnknown_082EEB80[gLinkPlayers[0].gender]);
+ StringCopy(gStringVar4, sIfYouWantToDoSomethingTexts[gLinkPlayers[0].gender]);
data->state = 32;
}
else
{
gUnknown_02022C2C = var5;
gUnknown_02022C2D = (u32)(var5) >> 8;
- if (gUnknown_02022C2C == 0x41 && !sub_8018024())
+ if (gUnknown_02022C2C == 0x41 && !HasAtLeastTwoMonsOfLevel30OrLower())
{
- sub_8015664(5, gUnknown_082EEBD0);
+ sub_8015664(5, sText_NeedTwoMonsOfLevel30OrLower1);
}
else
{
@@ -3566,14 +2534,14 @@ void sub_80156E0(u8 taskId)
}
break;
case 28:
- StringCopy(gStringVar4, gUnknown_082EEB88);
+ StringCopy(gStringVar4, sText_TrainerBattleBusy);
data->state = 36;
break;
case 27:
sub_8017FD8(data);
playerGender = sub_8017CF8(taskData[1], data->field_0);
id = sub_8017984(data->field_4C[0] & 0x3F);
- if (PrintOnTextbox(&data->textState, gUnknown_082EE82C[playerGender][id]))
+ if (PrintOnTextbox(&data->textState, sText_WaitOrShowCardTexts[playerGender][id]))
{
taskData[3] = 0;
data->state = 29;
@@ -3585,15 +2553,15 @@ void sub_80156E0(u8 taskId)
break;
case 31:
data->field_4C[0] = 0x44;
- data->field_4C[1] = gUnknown_02022C40.species;
- data->field_4C[2] = gUnknown_02022C40.level;
+ data->field_4C[1] = sUnionRoomTrade.species;
+ data->field_4C[2] = sUnionRoomTrade.level;
sub_800FE50(data->field_4C);
data->state = 29;
break;
case 29:
if (gReceivedRemoteLinkPlayers == 0)
{
- StringCopy(gStringVar4, gUnknown_082EEB88);
+ StringCopy(gStringVar4, sText_TrainerBattleBusy);
data->state = 28;
}
else
@@ -3623,7 +2591,7 @@ void sub_80156E0(u8 taskId)
case 7:
id = sub_80179AC(&data->field_0->arr[taskData[1]]);
playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_8015664(6, gUnknown_082EE24C[id][playerGender]);
+ sub_8015664(6, sHiDoSomethingTexts[id][playerGender]);
break;
case 40:
if (PrintOnTextbox(&data->textState, gStringVar4))
@@ -3641,7 +2609,7 @@ void sub_80156E0(u8 taskId)
{
StringCopy(gStringVar1, gLinkPlayers[GetMultiplayerId() ^ 1].name);
id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EE378[id]);
+ StringExpandPlaceholders(gStringVar4, sAwaitingResponseTexts[id]);
data->state = 33;
}
else
@@ -3665,7 +2633,7 @@ void sub_80156E0(u8 taskId)
case 1:
case -1:
playerGender = sub_8017CF8(taskData[1], data->field_0);
- sub_801568C(gUnknown_082EEC9C[playerGender]);
+ sub_801568C(sDeclineBattleTexts[playerGender]);
break;
}
break;
@@ -3688,9 +2656,9 @@ void sub_80156E0(u8 taskId)
playerGender = sub_8017CF8(taskData[1], data->field_0);
sub_8011090(0x54, 0, 1);
if (sub_8011B90() == TRUE)
- sub_801568C(gUnknown_082EED3C[playerGender]);
+ sub_801568C(sChatDeclinedTexts[playerGender]);
else
- sub_8015664(30, gUnknown_082EED3C[playerGender]);
+ sub_8015664(30, sChatDeclinedTexts[playerGender]);
break;
case 3:
data->state = 22;
@@ -3704,9 +2672,9 @@ void sub_80156E0(u8 taskId)
playerGender = sub_8017CF8(taskData[1], data->field_0);
sub_8011090(0x54, 0, 1);
if (sub_8011B90() == TRUE)
- sub_801568C(gUnknown_082EED3C[playerGender]);
+ sub_801568C(sChatDeclinedTexts[playerGender]);
else
- sub_8015664(30, gUnknown_082EED3C[playerGender]);
+ sub_8015664(30, sChatDeclinedTexts[playerGender]);
}
if (gReceivedRemoteLinkPlayers != 0)
data->state = 16;
@@ -3737,7 +2705,7 @@ void sub_80156E0(u8 taskId)
data->state = 33;
StringCopy(gStringVar1, gLinkPlayers[1].name);
id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EE324[id]);
+ StringExpandPlaceholders(gStringVar4, sPlayerContactedYouTexts[id]);
}
break;
case 33:
@@ -3750,7 +2718,7 @@ void sub_80156E0(u8 taskId)
if (sub_80168DC(data) && gMain.newKeys & B_BUTTON)
{
sub_8011DE0(1);
- StringCopy(gStringVar4, gUnknown_082EE598);
+ StringCopy(gStringVar4, sText_ChatEnded);
data->state = 36;
}
break;
@@ -3771,12 +2739,12 @@ void sub_80156E0(u8 taskId)
taskData[3] = 0;
if (gUnknown_02022C2C == 0x41)
{
- if (!sub_8018024())
+ if (!HasAtLeastTwoMonsOfLevel30OrLower())
{
data->field_4C[0] = 0x52;
sub_800FE50(data->field_4C);
data->state = 10;
- StringCopy(gStringVar4, gUnknown_082EEC14);
+ StringCopy(gStringVar4, sText_NeedTwoMonsOfLevel30OrLower2);
}
else
{
@@ -3866,19 +2834,19 @@ void sub_80156E0(u8 taskId)
{
if (sub_800F7DC()->species == SPECIES_EGG)
{
- StringCopy(gStringVar4, gUnknown_082EF590);
+ StringCopy(gStringVar4, sText_CancelRegistrationOfEgg);
}
else
{
StringCopy(gStringVar1, gSpeciesNames[sub_800F7DC()->species]);
- ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->unk_0b_1, STR_CONV_MODE_LEFT_ALIGN, 3);
- StringExpandPlaceholders(gStringVar4, gUnknown_082EF564);
+ ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->level, STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringExpandPlaceholders(gStringVar4, sText_CancelRegistrationOfMon);
}
sub_8015664(44, gStringVar4);
}
break;
case 43:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF20C))
+ if (PrintOnTextbox(&data->textState, sText_RegisterMonAtTradingBoard))
data->state = 47;
break;
case 47:
@@ -3894,11 +2862,11 @@ void sub_80156E0(u8 taskId)
{
switch (var5)
{
- case 1:
- sub_8015664(53, gUnknown_082EF4C4);
+ case 1: // REGISTER
+ sub_8015664(53, sText_WhichMonWillYouOffer);
break;
- case 2:
- sub_8015664(47, gUnknown_082EF298);
+ case 2: // INFO
+ sub_8015664(47, sText_TradingBoardInfo);
break;
}
}
@@ -3911,33 +2879,33 @@ void sub_80156E0(u8 taskId)
case 54:
if (!gPaletteFade.active)
{
- gUnknown_02022C40.field_0 = 1;
- gFieldCallback = sub_80AF128;
- sub_81B8904(8, CB2_ReturnToField);
+ sUnionRoomTrade.field_0 = 1;
+ gFieldCallback = FieldCB_ContinueScriptUnionRoom;
+ ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_REGISTER, CB2_ReturnToField);
}
break;
case 52:
- var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &gUnknown_082F032C);
+ var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &sMenuTemplate_TradingBoardRequestType);
if (var5 != -1)
{
switch (var5)
{
case -2:
case 18:
- sub_801807C(&gUnknown_02022C40);
+ ResetUnionRoomTrade(&sUnionRoomTrade);
sub_8010FCC(0, 0, 0);
- sub_801568C(gUnknown_082EF4FC);
+ sub_801568C(sText_RegistrationCanceled);
break;
default:
- gUnknown_02022C40.type = var5;
+ sUnionRoomTrade.type = var5;
data->state = 55;
break;
}
}
break;
case 55:
- sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel);
- sub_801568C(gUnknown_082EF520);
+ sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel);
+ sub_801568C(sText_RegistraionCompleted);
break;
case 44:
switch (sub_80170B8(&data->textState, FALSE))
@@ -3953,16 +2921,16 @@ void sub_80156E0(u8 taskId)
}
break;
case 56:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF5B8))
+ if (PrintOnTextbox(&data->textState, sText_RegistrationCanceled2))
{
sub_8010FCC(0, 0, 0);
- sub_801807C(&gUnknown_02022C40);
+ ResetUnionRoomTrade(&sUnionRoomTrade);
sub_801818C(TRUE);
data->state = 4;
}
break;
case 45:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF1EC))
+ if (PrintOnTextbox(&data->textState, sText_XCheckedTradingBoard))
data->state = 46;
break;
case 46:
@@ -3986,18 +2954,18 @@ void sub_80156E0(u8 taskId)
{
case 0:
sub_8018404(gStringVar1, &data->field_0->arr[var5]);
- sub_8015664(49, gUnknown_082EF65C);
+ sub_8015664(49, sText_AskTrainerToMakeTrade);
taskData[1] = var5;
break;
case 1:
sub_8018404(gStringVar1, &data->field_0->arr[var5]);
StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
- sub_8015664(46, gUnknown_082EF6E4);
+ sub_8015664(46, sText_DontHaveTypeTrainerWants);
break;
case 2:
sub_8018404(gStringVar1, &data->field_0->arr[var5]);
StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
- sub_8015664(46, gUnknown_082EF718);
+ sub_8015664(46, sText_DontHaveEggTrainerWants);
break;
}
break;
@@ -4018,23 +2986,23 @@ void sub_80156E0(u8 taskId)
}
break;
case 50:
- if (PrintOnTextbox(&data->textState, gUnknown_082EF4C4))
+ if (PrintOnTextbox(&data->textState, sText_WhichMonWillYouOffer))
{
- gUnknown_02022C40.field_0 = 2;
+ sUnionRoomTrade.field_0 = 2;
memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38));
- gUnknown_02022C3E = data->field_0->arr[taskData[1]].unk.field_0.type;
- gUnknown_02022C3C = data->field_0->arr[taskData[1]].unk.field_0.species;
- gFieldCallback = sub_80AF128;
- sub_81B8904(9, CB2_ReturnToField);
+ gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.field_0.type;
+ gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.field_0.species;
+ gFieldCallback = FieldCB_ContinueScriptUnionRoom;
+ ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_TRADE, CB2_ReturnToField);
sub_80156B0(data);
- gUnknown_02022C40.field_8 = taskData[1];
+ sUnionRoomTrade.field_8 = taskData[1];
}
break;
case 51:
gUnknown_02022C2C = 0x44;
sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, 0x44);
sub_8018404(gStringVar1, &data->field_0->arr[taskData[1]]);
- sub_8017020(gUnknown_082EE17C[2]);
+ sub_8017020(sCommunicatingWaitTexts[2]);
data->state = 25;
break;
case 26:
@@ -4097,20 +3065,20 @@ bool32 sub_80168DC(struct UnkStruct_URoom *arg0)
return TRUE;
}
-void sub_8016934(void)
+void InitUnionRoom(void)
{
struct UnkStruct_URoom *ptr;
- gUnknown_02022C20[0] = EOS;
+ sUnionRoomPlayerName[0] = EOS;
CreateTask(sub_801697C, 0);
gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; // Needed to match.
- gUnknown_02022C30.uRoom = ptr = AllocZeroed(0x26C);
+ gUnknown_02022C30.uRoom = ptr = AllocZeroed(sizeof(struct UnkStruct_URoom));
gUnknown_03000DA8 = gUnknown_02022C30.uRoom;
ptr->state = 0;
ptr->textState = 0;
ptr->field_10 = 0;
ptr->field_12 = 0;
- gUnknown_02022C20[0] = EOS;
+ sUnionRoomPlayerName[0] = EOS;
}
void sub_801697C(u8 taskId)
@@ -4149,7 +3117,7 @@ void sub_801697C(u8 taskId)
{
case 1:
case 2:
- if (gUnknown_02022C20[0] == EOS)
+ if (sUnionRoomPlayerName[0] == EOS)
{
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
{
@@ -4158,7 +3126,7 @@ void sub_801697C(u8 taskId)
sub_8018404(text, &structPtr->field_0->arr[i]);
if (sub_800E540(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text))
{
- StringCopy(gUnknown_02022C20, text);
+ StringCopy(sUnionRoomPlayerName, text);
break;
}
}
@@ -4182,12 +3150,12 @@ void sub_801697C(u8 taskId)
}
}
-bool16 sp182_move_string(void)
+bool16 BufferUnionRoomPlayerName(void)
{
- if (gUnknown_02022C20[0] != EOS)
+ if (sUnionRoomPlayerName[0] != EOS)
{
- StringCopy(gStringVar1, gUnknown_02022C20);
- gUnknown_02022C20[0] = EOS;
+ StringCopy(gStringVar1, sUnionRoomPlayerName);
+ sUnionRoomPlayerName[0] = EOS;
return TRUE;
}
else
@@ -4486,7 +3454,7 @@ u8 sub_8017118(const struct WindowTemplate * template)
u8 windowId = AddWindow(template);
DrawStdWindowFrame(windowId, FALSE);
FillWindowPixelBuffer(windowId, 0xFF);
- sub_80173E0(windowId, 1, gUnknown_082EFD94, 8, 1, 6);
+ sub_80173E0(windowId, 1, sText_NameWantedOfferLv, 8, 1, 6);
CopyWindowToVram(windowId, 2);
PutWindowTilemap(windowId);
return windowId;
@@ -4812,7 +3780,7 @@ void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4,
u8 sp0[6];
ConvertIntToDecimalStringN(gStringVar4, id + 1, STR_CONV_MODE_LEADING_ZEROS, 2);
- StringAppend(gStringVar4, gText_Colon);
+ StringAppend(gStringVar4, sText_Colon);
sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, 0);
arg1 += 18;
r2 = arg3->unk.field_0.unk_0a_0;
@@ -4821,7 +3789,7 @@ void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4,
sub_8018404(gStringVar4, arg3);
sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, arg4);
ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5);
- StringCopy(gStringVar4, gText_UnkCtrlCodeF907);
+ StringCopy(gStringVar4, sText_ID);
StringAppend(gStringVar4, sp0);
sub_80173E0(arg0, 1, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x88), arg2, arg4);
}
@@ -4836,7 +3804,7 @@ void sub_80178A0(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4,
sub_8018404(gStringVar4, arg3);
sub_80173E0(arg0, 1, gStringVar4, arg1, arg2, arg4);
ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5);
- StringCopy(gStringVar4, gText_UnkCtrlCodeF907);
+ StringCopy(gStringVar4, sText_ID);
StringAppend(gStringVar4, sp0);
sub_80173E0(arg0, 1, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x68), arg2, arg4);
}
@@ -4897,12 +3865,12 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender
r2 = sub_800E540(ReadAsU16(r5->unk.field_0.unk_00.playerTrainerId), gStringVar1);
if (r5->unk.field_0.unk_0a_0 == 0x45)
{
- StringExpandPlaceholders(gStringVar4, gUnknown_082EE6B8[r2][playerGender]);
+ StringExpandPlaceholders(gStringVar4, sJoinChatTexts[r2][playerGender]);
return 2;
}
else
{
- sub_8017020(gUnknown_082EE17C[r2]);
+ sub_8017020(sCommunicatingWaitTexts[r2]);
return 1;
}
}
@@ -4916,19 +3884,19 @@ s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender
switch (r5->unk.field_0.unk_0a_0 & 0x3F)
{
case 1:
- StringExpandPlaceholders(gStringVar4, gUnknown_082EEEAC[playerGender][Random() % 4]);
+ StringExpandPlaceholders(gStringVar4, sBattleReactionTexts[playerGender][Random() % 4]);
break;
case 4:
- StringExpandPlaceholders(gStringVar4, gUnknown_082EF1CC[playerGender][Random() % 2]);
+ StringExpandPlaceholders(gStringVar4, sTradeReactionTexts[playerGender][Random() % 2]);
break;
case 5:
- StringExpandPlaceholders(gStringVar4, gUnknown_082EF010[playerGender][Random() % 4]);
+ StringExpandPlaceholders(gStringVar4, sChatReactionTexts[playerGender][Random() % 4]);
break;
case 8:
- StringExpandPlaceholders(gStringVar4, gUnknown_082EF100[playerGender][Random() % 2]);
+ StringExpandPlaceholders(gStringVar4, sTrainerCardReactionTexts[playerGender][Random() % 2]);
break;
default:
- StringExpandPlaceholders(gStringVar4, gUnknown_082EE6C8);
+ StringExpandPlaceholders(gStringVar4, sText_TrainerAppearsBusy);
break;
}
return 0;
@@ -4945,12 +3913,12 @@ void sub_8017B3C(u8 arg0, u8 arg1, struct UnkLinkRfuStruct_02022B14 * arg2, cons
u8 sp8[4];
u16 r8 = arg2->species;
u8 r7 = arg2->type;
- u8 r9 = arg2->unk_0b_1;
+ u8 r9 = arg2->level;
sub_80173E0(arg0, 1, str, 8, arg1, arg4);
if (r8 == SPECIES_EGG)
{
- sub_80173E0(arg0, 1, gUnknown_082EF7D0, 0x44, arg1, arg4);
+ sub_80173E0(arg0, 1, sText_EggTrade, 0x44, arg1, arg4);
}
else
{
@@ -5055,16 +4023,16 @@ void sub_8017D9C(u8 *dst, s32 arg1, u32 playerGender)
switch (arg1)
{
case 0x41:
- StringExpandPlaceholders(dst, gUnknown_082EEA68[playerGender]);
+ StringExpandPlaceholders(dst, sBattleDeclinedTexts[playerGender]);
break;
case 0x45:
- StringExpandPlaceholders(dst, gUnknown_082EED3C[playerGender]);
+ StringExpandPlaceholders(dst, sChatDeclinedTexts[playerGender]);
break;
case 0x44:
- StringExpandPlaceholders(dst, gUnknown_082EF7B0);
+ StringExpandPlaceholders(dst, sText_TradeOfferRejected);
break;
case 0x48:
- StringExpandPlaceholders(dst, gUnknown_082EEB08[playerGender]);
+ StringExpandPlaceholders(dst, sShowTrainerCardDeclinedTexts[playerGender]);
break;
}
}
@@ -5077,13 +4045,13 @@ void sub_8017E00(u8 *dst, u8 arg1)
switch (arg1)
{
case 0x41:
- StringCopy(dst, gUnknown_082EE984[mpId][gender][0]);
+ StringCopy(dst, sStartActivityTexts[mpId][gender][0]);
break;
case 0x44:
- StringCopy(dst, gUnknown_082EE984[mpId][gender][2]);
+ StringCopy(dst, sStartActivityTexts[mpId][gender][2]);
break;
case 0x45:
- StringCopy(dst, gUnknown_082EE984[mpId][gender][1]);
+ StringCopy(dst, sStartActivityTexts[mpId][gender][1]);
break;
}
}
@@ -5097,16 +4065,16 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3)
switch (arg2[0])
{
case 0x41:
- StringExpandPlaceholders(dst, gUnknown_082EE3DC);
+ StringExpandPlaceholders(dst, sText_BattleChallenge);
result = 1;
break;
case 0x45:
- StringExpandPlaceholders(dst, gUnknown_082EE430);
+ StringExpandPlaceholders(dst, sText_ChatInvitation);
result = 1;
break;
case 0x44:
- ConvertIntToDecimalStringN(arg3->field_58 + 0x00, gUnknown_02022C40.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3);
- StringCopy(arg3->field_58 + 0x10, gSpeciesNames[gUnknown_02022C40.playerSpecies]);
+ ConvertIntToDecimalStringN(arg3->field_58 + 0x00, sUnionRoomTrade.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringCopy(arg3->field_58 + 0x10, gSpeciesNames[sUnionRoomTrade.playerSpecies]);
for (i = 0; i < 4; i++)
{
if (gUnknown_03007890->unk_14[i].unk_04 == 2)
@@ -5119,7 +4087,7 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3)
}
if (species == SPECIES_EGG)
{
- StringCopy(dst, gUnknown_082EE4F0);
+ StringCopy(dst, sText_OfferToTradeEgg);
}
else
{
@@ -5127,16 +4095,16 @@ s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3)
{
DynamicPlaceholderTextUtil_SetPlaceholderPtr(i, arg3->field_58 + 0x10 * i);
}
- DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, gUnknown_082EE47C);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, sText_OfferToTradeMon);
}
result = 1;
break;
case 0x48:
- StringExpandPlaceholders(dst, gUnknown_082EE380);
+ StringExpandPlaceholders(dst, sText_ShowTrainerCard);
result = 1;
break;
case 0x40:
- StringExpandPlaceholders(dst, gUnknown_082EE544);
+ StringExpandPlaceholders(dst, sText_ChatDropped);
result = 2;
break;
}
@@ -5169,14 +4137,14 @@ bool32 InUnionRoom(void)
? TRUE : FALSE;
}
-bool32 sub_8018024(void)
+bool32 HasAtLeastTwoMonsOfLevel30OrLower(void)
{
s32 i;
s32 count = 0;
for (i = 0; i < gPlayerPartyCount; i++)
{
- if ( GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30
+ if (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30
&& GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) != SPECIES_EGG)
{
count++;
@@ -5184,16 +4152,12 @@ bool32 sub_8018024(void)
}
if (count > 1)
- {
return TRUE;
- }
else
- {
return FALSE;
- }
}
-void sub_801807C(struct TradeUnkStruct *arg0)
+static void ResetUnionRoomTrade(struct UnionRoomTrade *arg0)
{
arg0->field_0 = 0;
arg0->type = 0;
@@ -5205,34 +4169,30 @@ void sub_801807C(struct TradeUnkStruct *arg0)
arg0->personality = 0;
}
-void sub_8018090(void)
+void Script_ResetUnionRoomTrade(void)
{
- sub_801807C(&gUnknown_02022C40);
+ ResetUnionRoomTrade(&sUnionRoomTrade);
}
-bool32 sub_80180A0(u32 monId, struct TradeUnkStruct *arg1)
+static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade *trade)
{
- arg1->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
- arg1->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
- arg1->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY);
- if (arg1->playerSpecies == SPECIES_EGG)
- {
+ trade->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
+ trade->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
+ trade->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY);
+ if (trade->playerSpecies == SPECIES_EGG)
return TRUE;
- }
else
- {
return FALSE;
- }
}
-void sub_80180E8(u32 monId, struct TradeUnkStruct *arg1)
+static void RegisterTradeMon(u32 monId, struct UnionRoomTrade *trade)
{
- arg1->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
- arg1->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
- arg1->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY);
+ trade->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
+ trade->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
+ trade->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY);
}
-u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId)
+static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade *trade, u8 multiplayerId)
{
u16 response = 0;
u16 species;
@@ -5241,15 +4201,17 @@ u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId)
u16 cur_species;
s32 i;
+ // player
if (multiplayerId == 0)
{
- species = arg0->playerSpecies;
- personality = arg0->playerPersonality;
+ species = trade->playerSpecies;
+ personality = trade->playerPersonality;
}
+ // partner
else
{
- species = arg0->species;
- personality = arg0->personality;
+ species = trade->species;
+ personality = trade->personality;
}
for (i = 0; i < gPlayerPartyCount; i++)
@@ -5279,7 +4241,7 @@ void sub_801818C(bool32 arg0)
gUnknown_02022C2C = 0;
if (arg0)
{
- sub_8010FCC(gUnknown_02022C40.type, gUnknown_02022C40.playerSpecies, gUnknown_02022C40.playerLevel);
+ sub_8010FCC(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel);
sub_8011090(0x40, 0, 0);
}
}
@@ -5321,7 +4283,7 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2)
DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->playerName);
- StringCopy(arg1->field_174, gUnknown_082EFF50[trainerCard->stars]);
+ StringCopy(arg1->field_174, sCardColorTexts[trainerCard->stars]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_174);
ConvertIntToDecimalStringN(arg1->field_C0[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3);
@@ -5332,7 +4294,7 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2)
DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->field_C0[3]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->field_C0[4]);
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082EFF64);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sText_TrainerCardInfoPage1);
StringCopy(gStringVar4, arg1->field_1A4);
n = trainerCard->linkBattleWins;
@@ -5360,17 +4322,17 @@ void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2)
DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->field_C0[i + 3]);
}
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082EFFA4);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sText_TrainerCardInfoPage2);
StringAppend(gStringVar4, arg1->field_1A4);
if (arg2 == TRUE)
{
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082F0020);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sText_FinishedCheckingPlayersTrainerCard);
StringAppend(gStringVar4, arg1->field_1A4);
}
else if (arg2 == FALSE)
{
- DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_082F0018[trainerCard->gender]);
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, sGladToMeetYouTexts[trainerCard->gender]);
StringAppend(gStringVar4, arg1->field_1A4);
}
}
diff --git a/src/union_room_battle.c b/src/union_room_battle.c
index 79d12291d..b49406eac 100644
--- a/src/union_room_battle.c
+++ b/src/union_room_battle.c
@@ -6,7 +6,7 @@
#include "bg.h"
#include "palette.h"
#include "gpu_regs.h"
-#include "alloc.h"
+#include "malloc.h"
#include "menu.h"
#include "window.h"
#include "text_window.h"
diff --git a/src/union_room_chat.c b/src/union_room_chat.c
index 4afeb99cf..f212c69a7 100755
--- a/src/union_room_chat.c
+++ b/src/union_room_chat.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "alloc.h"
+#include "malloc.h"
#include "bg.h"
#include "decompress.h"
#include "dma3.h"
@@ -22,6 +22,7 @@
#include "task.h"
#include "text.h"
#include "text_window.h"
+#include "union_room_chat.h"
#include "window.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -37,9 +38,9 @@ struct UnionRoomChat
u8 unkD;
u8 unkE;
u8 unkF;
- u8 unk10;
+ u8 currentPage;
u8 unk11;
- u8 unk12;
+ u8 currentRow;
u8 unk13;
u8 unk14;
u8 unk15;
@@ -50,7 +51,7 @@ struct UnionRoomChat
u8 unk1A[0x1F];
u8 unk39[0x40];
u8 unk79[0x40];
- u8 unkB9[10][21];
+ u8 unkB9[UNION_ROOM_KB_ROW_COUNT][21];
u8 filler18B[0x5];
u8 unk190[0x28];
u16 unk1B8;
@@ -232,7 +233,13 @@ void (*const gUnknown_082F2A7C[])(void) =
sub_801E978,
};
-static const u8 sUnknown_082F2AA4[] = {9, 9, 9, 9};
+static const u8 sKeyboardPageMaxRow[] =
+{
+ [UNION_ROOM_KB_PAGE_UPPER] = 9,
+ [UNION_ROOM_KB_PAGE_LOWER] = 9,
+ [UNION_ROOM_KB_PAGE_EMOJI] = 9,
+ 9
+};
static const u8 gUnknown_082F2AA8[] = {
CHAR_SPACE, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C,
@@ -269,10 +276,47 @@ static const u8 gUnknown_082F2AA8[] = {
CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE
};
-const u8 *const gUnknown_082F2BA8[][10] = {
- {gUnknown_0862B9F9, gUnknown_0862B9FF, gUnknown_0862BA05, gUnknown_0862BA0B, gUnknown_0862BA11, gUnknown_0862BA17, gUnknown_0862BA1D, gUnknown_0862BA23, gUnknown_0862BA29, gUnknown_0862BA2F},
- {gUnknown_0862BA35, gUnknown_0862BA3B, gUnknown_0862BA41, gUnknown_0862BA47, gUnknown_0862BA4D, gUnknown_0862BA53, gUnknown_0862BA59, gUnknown_0862BA5F, gUnknown_0862BA65, gUnknown_0862BA6B},
- {gUnknown_0862BA79, gUnknown_0862BA84, gUnknown_0862BA8F, gUnknown_0862BA9A, gUnknown_0862BAA3, gUnknown_0862BAAE, gUnknown_0862BAB9, gUnknown_0862BAC4, gUnknown_0862BACF, gUnknown_0862BADA}
+static const u8 *const sUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT] =
+{
+ [UNION_ROOM_KB_PAGE_UPPER] =
+ {
+ gText_UnionRoomChatKeyboard_ABCDE,
+ gText_UnionRoomChatKeyboard_FGHIJ,
+ gText_UnionRoomChatKeyboard_KLMNO,
+ gText_UnionRoomChatKeyboard_PQRST,
+ gText_UnionRoomChatKeyboard_UVWXY,
+ gText_UnionRoomChatKeyboard_Z,
+ gText_UnionRoomChatKeyboard_01234Upper,
+ gText_UnionRoomChatKeyboard_56789Upper,
+ gText_UnionRoomChatKeyboard_PunctuationUpper,
+ gText_UnionRoomChatKeyboard_SymbolsUpper
+ },
+ [UNION_ROOM_KB_PAGE_LOWER] =
+ {
+ gText_UnionRoomChatKeyboard_abcde,
+ gText_UnionRoomChatKeyboard_fghij,
+ gText_UnionRoomChatKeyboard_klmno,
+ gText_UnionRoomChatKeyboard_pqrst,
+ gText_UnionRoomChatKeyboard_uvwxy,
+ gText_UnionRoomChatKeyboard_z,
+ gText_UnionRoomChatKeyboard_01234Lower,
+ gText_UnionRoomChatKeyboard_56789Lower,
+ gText_UnionRoomChatKeyboard_PunctuationLower,
+ gText_UnionRoomChatKeyboard_SymbolsLower
+ },
+ [UNION_ROOM_KB_PAGE_EMOJI] =
+ {
+ gText_UnionRoomChatKeyboard_Emoji1,
+ gText_UnionRoomChatKeyboard_Emoji2,
+ gText_UnionRoomChatKeyboard_Emoji3,
+ gText_UnionRoomChatKeyboard_Emoji4,
+ gText_UnionRoomChatKeyboard_Emoji5,
+ gText_UnionRoomChatKeyboard_Emoji6,
+ gText_UnionRoomChatKeyboard_Emoji7,
+ gText_UnionRoomChatKeyboard_Emoji8,
+ gText_UnionRoomChatKeyboard_Emoji9,
+ gText_UnionRoomChatKeyboard_Emoji10
+ }
};
const u16 gUnknown_082F2C20[] = INCBIN_U16("graphics/interface/unk_palette1.gbapal");
@@ -417,8 +461,8 @@ const struct SpritePalette gUnknown_082F315C = {
};
const struct OamData gUnknown_082F3164 = {
- .shape = ST_OAM_H_RECTANGLE,
- .size = 3,
+ .shape = SPRITE_SHAPE(64x32),
+ .size = SPRITE_SIZE(64x32),
.priority = 1
};
@@ -460,8 +504,8 @@ const struct SpriteTemplate gUnknown_082F319C = {
};
const struct OamData gUnknown_082F31B4 = {
- .shape = ST_OAM_V_RECTANGLE,
- .size = 0,
+ .shape = SPRITE_SHAPE(8x16),
+ .size = SPRITE_SIZE(8x16),
.priority = 2
};
@@ -486,14 +530,14 @@ const struct SpriteTemplate gUnknown_082F31D4 = {
};
const struct OamData gUnknown_082F31EC = {
- .shape = ST_OAM_SQUARE,
- .size = 1,
+ .shape = SPRITE_SHAPE(16x16),
+ .size = SPRITE_SIZE(16x16),
.priority = 2
};
const struct OamData gUnknown_082F31F4 = {
- .shape = ST_OAM_H_RECTANGLE,
- .size = 2,
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
.priority = 2
};
@@ -559,9 +603,9 @@ static void sub_801DDD0(struct UnionRoomChat *unionRoomChat)
unionRoomChat->unk4 = 0;
unionRoomChat->unk6 = 0;
- unionRoomChat->unk10 = 0;
+ unionRoomChat->currentPage = 0;
unionRoomChat->unk11 = 0;
- unionRoomChat->unk12 = 0;
+ unionRoomChat->currentRow = 0;
unionRoomChat->unk14 = 0;
unionRoomChat->unk15 = 0;
unionRoomChat->unk16 = 0;
@@ -571,7 +615,7 @@ static void sub_801DDD0(struct UnionRoomChat *unionRoomChat)
unionRoomChat->unk17 = 0;
unionRoomChat->unk18 = 0;
sub_801EF1C(unionRoomChat->unk190);
- for (i = 0; i < 10; i++)
+ for (i = 0; i < UNION_ROOM_KB_ROW_COUNT; i++)
StringCopy(unionRoomChat->unkB9[i], gSaveBlock1Ptr->unk3C88[i]);
}
@@ -715,7 +759,7 @@ static void sub_801E030(void)
}
else if (gMain.newKeys & R_BUTTON)
{
- if (gUnknown_02022C84->unk10 != 3)
+ if (gUnknown_02022C84->currentPage != UNION_ROOM_KB_PAGE_COUNT)
{
sub_801ED94();
sub_801F5EC(8, 0);
@@ -763,7 +807,7 @@ static void sub_801E120(void)
default:
sub_801F5EC(4, 0);
var0 = 1;
- if (gUnknown_02022C84->unk10 == input || input > 3)
+ if (gUnknown_02022C84->currentPage == input || input > UNION_ROOM_KB_PAGE_COUNT)
var0 = 0;
break;
case MENU_NOTHING_CHOSEN:
@@ -786,9 +830,9 @@ static void sub_801E120(void)
}
gUnknown_02022C84->unk11 = 0;
- gUnknown_02022C84->unk12 = 0;
+ gUnknown_02022C84->currentRow = 0;
sub_801F5EC(5, 1);
- gUnknown_02022C84->unk10 = input;
+ gUnknown_02022C84->currentPage = input;
gUnknown_02022C84->unk6 = 4;
break;
case 3:
@@ -1260,15 +1304,15 @@ static bool32 sub_801EBE4(void)
{
if (gMain.newAndRepeatedKeys & DPAD_DOWN)
{
- if (gUnknown_02022C84->unk12 < sUnknown_082F2AA4[gUnknown_02022C84->unk10])
- gUnknown_02022C84->unk12++;
+ if (gUnknown_02022C84->currentRow < sKeyboardPageMaxRow[gUnknown_02022C84->currentPage])
+ gUnknown_02022C84->currentRow++;
else
- gUnknown_02022C84->unk12 = 0;
+ gUnknown_02022C84->currentRow = 0;
return TRUE;
}
- if (gUnknown_02022C84->unk10 != 3)
+ if (gUnknown_02022C84->currentPage != UNION_ROOM_KB_PAGE_COUNT)
{
if (gMain.newAndRepeatedKeys & DPAD_LEFT)
{
@@ -1296,10 +1340,10 @@ static bool32 sub_801EBE4(void)
}
else
{
- if (gUnknown_02022C84->unk12)
- gUnknown_02022C84->unk12--;
+ if (gUnknown_02022C84->currentRow)
+ gUnknown_02022C84->currentRow--;
else
- gUnknown_02022C84->unk12 = sUnknown_082F2AA4[gUnknown_02022C84->unk10];
+ gUnknown_02022C84->currentRow = sKeyboardPageMaxRow[gUnknown_02022C84->currentPage];
return TRUE;
}
@@ -1313,9 +1357,9 @@ static void sub_801EC94(void)
u8 *str;
u8 buffer[21];
- if (gUnknown_02022C84->unk10 != 3)
+ if (gUnknown_02022C84->currentPage != UNION_ROOM_KB_PAGE_COUNT)
{
- charsStr = gUnknown_082F2BA8[gUnknown_02022C84->unk10][gUnknown_02022C84->unk12];
+ charsStr = sUnionRoomKeyboardText[gUnknown_02022C84->currentPage][gUnknown_02022C84->currentRow];
for (i = 0; i < gUnknown_02022C84->unk11; i++)
{
if (*charsStr == CHAR_SPECIAL_F9)
@@ -1327,7 +1371,7 @@ static void sub_801EC94(void)
}
else
{
- u8 *tempStr = StringCopy(buffer, gUnknown_02022C84->unkB9[gUnknown_02022C84->unk12]);
+ u8 *tempStr = StringCopy(buffer, gUnknown_02022C84->unkB9[gUnknown_02022C84->currentRow]);
tempStr[0] = CHAR_SPACE;
tempStr[1] = EOS;
charsStr = buffer;
@@ -1395,7 +1439,7 @@ static bool32 sub_801EDC4(void)
static void sub_801EDE0(void)
{
u8 *src = sub_801F114();
- StringCopy(gUnknown_02022C84->unkB9[gUnknown_02022C84->unk12], src);
+ StringCopy(gUnknown_02022C84->unkB9[gUnknown_02022C84->currentRow], src);
gUnknown_02022C84->unk18 = 1;
}
@@ -1409,7 +1453,7 @@ static void sub_801EE10(void)
static void sub_801EE2C(void)
{
int i;
- for (i = 0; i < 10; i++)
+ for (i = 0; i < UNION_ROOM_KB_ROW_COUNT; i++)
StringCopy(gSaveBlock1Ptr->unk3C88[i], gUnknown_02022C84->unkB9[i]);
}
@@ -1551,15 +1595,15 @@ static bool32 sub_801EFF8(u8 *arg0, u8 *arg1)
return FALSE;
}
-static u8 sub_801F0B0(void)
+static u8 GetCurrentKeyboardPage(void)
{
- return gUnknown_02022C84->unk10;
+ return gUnknown_02022C84->currentPage;
}
static void sub_801F0BC(u8 *arg0, u8 *arg1)
{
*arg0 = gUnknown_02022C84->unk11;
- *arg1 = gUnknown_02022C84->unk12;
+ *arg1 = gUnknown_02022C84->currentRow;
}
static u8 *sub_801F0D0(void)
@@ -1661,7 +1705,7 @@ void copy_strings_to_sav1(void)
StringCopy(gSaveBlock1Ptr->unk3C88[4], gText_Lets);
StringCopy(gSaveBlock1Ptr->unk3C88[5], gText_Ok);
StringCopy(gSaveBlock1Ptr->unk3C88[6], gText_Sorry);
- StringCopy(gSaveBlock1Ptr->unk3C88[7], gText_YayUnkF9F9);
+ StringCopy(gSaveBlock1Ptr->unk3C88[7], gText_YaySmileEmoji);
StringCopy(gSaveBlock1Ptr->unk3C88[8], gText_ThankYou);
StringCopy(gSaveBlock1Ptr->unk3C88[9], gText_ByeBye);
}
@@ -2528,7 +2572,7 @@ static void sub_8020118(u16 x, u8 *str, u8 fillValue, u8 arg3, u8 arg4)
static void sub_80201A4(void)
{
- u8 var0;
+ u8 page;
int i;
int var1;
u16 left;
@@ -2538,11 +2582,11 @@ static void sub_80201A4(void)
u8 *str2;
FillWindowPixelBuffer(2, PIXEL_FILL(15));
- var0 = sub_801F0B0();
- sp[0] = 0;
- sp[1] = 14;
- sp[2] = 13;
- if (var0 != 3)
+ page = GetCurrentKeyboardPage();
+ sp[0] = TEXT_COLOR_TRANSPARENT;
+ sp[1] = TEXT_DYNAMIC_COLOR_5;
+ sp[2] = TEXT_DYNAMIC_COLOR_4;
+ if (page != UNION_ROOM_KB_PAGE_COUNT)
{
str = &sp[4];
str[0] = EXT_CTRL_CODE_BEGIN;
@@ -2550,15 +2594,15 @@ static void sub_80201A4(void)
var1 = 8;
str[2] = var1;
left = var1;
- if (var0 == 2)
+ if (page == UNION_ROOM_KB_PAGE_EMOJI)
left = 6;
- for (i = 0, top = 0; i < 10; i++, top += 12)
+ for (i = 0, top = 0; i < UNION_ROOM_KB_ROW_COUNT; i++, top += 12)
{
- if (!gUnknown_082F2BA8[var0][i])
+ if (!sUnionRoomKeyboardText[page][i])
return;
- StringCopy(&sp[7], gUnknown_082F2BA8[var0][i]);
+ StringCopy(&sp[7], sUnionRoomKeyboardText[page][i]);
AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, &sp[4]);
}
}
@@ -2631,7 +2675,7 @@ static void sub_80203B0(void)
FillWindowPixelBuffer(3, PIXEL_FILL(1));
DrawTextBorderOuter(3, 1, 13);
PrintTextArray(3, 2, 8, 1, 14, 5, gUnknown_082F2DC8);
- sub_81983AC(3, 2, 0, 1, 14, 5, sub_801F0B0());
+ sub_81983AC(3, 2, 0, 1, 14, 5, GetCurrentKeyboardPage());
PutWindowTilemap(3);
}
@@ -2644,7 +2688,7 @@ static void sub_802040C(void)
static void sub_8020420(u16 row, u8 *str, u8 arg2)
{
u8 color[3];
- color[0] = 1;
+ color[0] = TEXT_COLOR_WHITE;
color[1] = arg2 * 2 + 2;
color[2] = arg2 * 2 + 3;
FillWindowPixelRect(0, PIXEL_FILL(1), 0, row * 15, 168, 15);
@@ -2820,9 +2864,9 @@ static void sub_802091C(bool32 invisible)
static void sub_802093C(void)
{
u8 x, y;
- u8 var2 = sub_801F0B0();
+ u8 page = GetCurrentKeyboardPage();
sub_801F0BC(&x, &y);
- if (var2 != 3)
+ if (page != UNION_ROOM_KB_PAGE_COUNT)
{
StartSpriteAnim(gUnknown_02022C8C->unk0, 0);
gUnknown_02022C8C->unk0->pos1.x = x * 8 + 10;
@@ -2845,7 +2889,7 @@ static void sub_80209AC(int arg0)
static void sub_80209E0(void)
{
- if (sub_801F0B0() != 3)
+ if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT)
StartSpriteAnim(gUnknown_02022C8C->unk0, 1);
else
StartSpriteAnim(gUnknown_02022C8C->unk0, 3);
@@ -2860,7 +2904,7 @@ static bool32 sub_8020A1C(void)
if (++gUnknown_02022C8C->unk14 > 3)
{
- if (sub_801F0B0() != 3)
+ if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT)
StartSpriteAnim(gUnknown_02022C8C->unk0, 0);
else
StartSpriteAnim(gUnknown_02022C8C->unk0, 2);
@@ -2914,7 +2958,7 @@ static void sub_8020B20(void)
static void sub_8020B80(void)
{
- if (sub_801F0B0() == 3)
+ if (GetCurrentKeyboardPage() == UNION_ROOM_KB_PAGE_COUNT)
{
if (sub_801F0DC() != 0)
{
diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c
index 0041d628c..9b2401cb2 100644
--- a/src/unk_pokedex_area_screen_helper.c
+++ b/src/unk_pokedex_area_screen_helper.c
@@ -2,7 +2,7 @@
#include "main.h"
#include "menu.h"
#include "bg.h"
-#include "alloc.h"
+#include "malloc.h"
#include "palette.h"
#include "unk_pokedex_area_screen_helper.h"
diff --git a/src/unk_transition.c b/src/unk_transition.c
index cd91af07e..09e194be3 100644
--- a/src/unk_transition.c
+++ b/src/unk_transition.c
@@ -47,10 +47,10 @@ static const u8 sFiller[0x1C0] = {0};
static const struct OamData sOamData_862B71C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
.mosaic = 0,
- .bpp = 0,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x64),
.x = 0,
.matrixNum = 0,
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index 655f38def..a0c8d8e2d 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "main.h"
#include "pokeblock.h"
-#include "alloc.h"
+#include "malloc.h"
#include "decompress.h"
#include "graphics.h"
#include "palette.h"
@@ -178,11 +178,11 @@ const u8 gUnknown_085DFCC4[] =
1 // Sour/Tough
};
-const u8 gUnknown_085DFCC9[] =
+static const u8 sNatureTextColors[] =
{
- 0,
- 8,
- 1
+ TEXT_COLOR_TRANSPARENT,
+ TEXT_COLOR_BLUE,
+ TEXT_COLOR_WHITE
};
const struct BgTemplate gUnknown_085DFCCC[4] =
@@ -299,9 +299,9 @@ const s16 gUnknown_085DFD28[][2] =
const struct OamData gOamData_085DFD3C =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .bpp = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(32x16),
.x = 0,
.size = SPRITE_SIZE(32x16),
@@ -342,9 +342,9 @@ const struct SpriteTemplate gSpriteTemplate_085DFD5C =
const struct OamData gOamData_085DFD74 =
{
.y = 0,
- .affineMode = 0,
- .objMode = 0,
- .bpp = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
.shape = SPRITE_SHAPE(64x32),
.x = 0,
.size = SPRITE_SIZE(64x32),
@@ -1302,8 +1302,8 @@ void sub_8167760(void)
if (spriteId != MAX_SPRITES)
{
gUnknown_0203BCAC->field_7B06[i] = spriteId;
- gSprites[spriteId].oam.shape = 1;
- gSprites[spriteId].oam.size = 2;
+ gSprites[spriteId].oam.shape = SPRITE_SHAPE(32x16);
+ gSprites[spriteId].oam.size = SPRITE_SIZE(32x16);
}
else
{
@@ -1398,7 +1398,7 @@ void sub_8167BA0(u16 arg0, u8 copyToVramMode)
nature = GetNature(&gPlayerParty[partyIndex]);
str = StringCopy(gUnknown_0203BCAC->info.field_7A, gText_NatureSlash);
str = StringCopy(str, gNatureNamePointers[nature]);
- AddTextPrinterParameterized3(1, 1, 2, 1, gUnknown_085DFCC9, 0, gUnknown_0203BCAC->info.field_7A);
+ AddTextPrinterParameterized3(1, 1, 2, 1, sNatureTextColors, 0, gUnknown_0203BCAC->info.field_7A);
}
if (copyToVramMode)
diff --git a/src/walda_phrase.c b/src/walda_phrase.c
index e8c1e4aed..4b617e3b8 100644
--- a/src/walda_phrase.c
+++ b/src/walda_phrase.c
@@ -70,7 +70,7 @@ static void CB2_HandleGivenWaldaPhrase(void)
}
StringCopy(gStringVar1, GetWaldaPhrasePtr());
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_ReturnToField);
}
diff --git a/src/water.c b/src/water.c
index 4480c3f43..a2fe4c56f 100644
--- a/src/water.c
+++ b/src/water.c
@@ -39,7 +39,7 @@ void sub_8108B94(struct Sprite *);
void sub_8108BE0(struct Sprite *);
void sub_8108C08(struct Sprite *);
void sub_8108C54(struct Sprite *);
-void sub_8108CDC(struct Sprite *);
+void AnimWaterPulseRing_Step(struct Sprite *);
void sub_810756C(u8);
void sub_81076F4(u8);
void sub_8107B84(u8);
@@ -54,7 +54,7 @@ void sub_810871C(struct Task*, u8);
void sub_8108AC0(struct Task*);
void sub_8108D54(struct Sprite*, int, int);
-extern const union AffineAnimCmd *const gUnknown_08593420[];
+extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
extern const union AffineAnimCmd *const gUnknown_08596208[];
extern const union AnimCmd *const gUnknown_08595AB8[];
@@ -83,7 +83,7 @@ const struct SpriteTemplate gUnknown_08595020 =
{
.tileTag = ANIM_TAG_RAIN_DROPS,
.paletteTag = ANIM_TAG_RAIN_DROPS,
- .oam = &gUnknown_08524954,
+ .oam = &gOamData_AffineOff_ObjNormal_16x32,
.anims = gUnknown_0859501C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -119,7 +119,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 =
{
.tileTag = ANIM_TAG_BUBBLE,
.paletteTag = ANIM_TAG_BUBBLE,
- .oam = &gUnknown_08524A8C,
+ .oam = &gOamData_AffineNormal_ObjBlend_16x16,
.anims = gUnknown_08595064,
.images = NULL,
.affineAnims = gUnknown_08595050,
@@ -161,7 +161,7 @@ const struct SpriteTemplate gUnknown_085950B4 =
{
.tileTag = ANIM_TAG_RAINBOW_RINGS,
.paletteTag = ANIM_TAG_RAINBOW_RINGS,
- .oam = &gUnknown_08524A04,
+ .oam = &gOamData_AffineDouble_ObjNormal_8x16,
.anims = gUnknown_08595090,
.images = NULL,
.affineAnims = gUnknown_085950B0,
@@ -186,7 +186,7 @@ const struct SpriteTemplate gUnknown_085950E4 =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
- .oam = &gUnknown_08524A2C,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -197,7 +197,7 @@ const struct SpriteTemplate gUnknown_085950FC =
{
.tileTag = ANIM_TAG_BROWN_ORB,
.paletteTag = ANIM_TAG_BROWN_ORB,
- .oam = &gUnknown_08524A2C,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -208,7 +208,7 @@ const struct SpriteTemplate gUnknown_08595114 =
{
.tileTag = ANIM_TAG_GLOWY_RED_ORB,
.paletteTag = ANIM_TAG_GLOWY_RED_ORB,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -219,7 +219,7 @@ const struct SpriteTemplate gUnknown_0859512C =
{
.tileTag = ANIM_TAG_GLOWY_GREEN_ORB,
.paletteTag = ANIM_TAG_GLOWY_GREEN_ORB,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -243,7 +243,7 @@ const struct SpriteTemplate gUnknown_08595158 =
{
.tileTag = ANIM_TAG_SMALL_EMBER,
.paletteTag = ANIM_TAG_SMALL_EMBER,
- .oam = &gUnknown_08524914,
+ .oam = &gOamData_AffineOff_ObjNormal_32x32,
.anims = gUnknown_08595154,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -254,10 +254,10 @@ const struct SpriteTemplate gUnknown_08595170 =
{
.tileTag = ANIM_TAG_BLUE_RING,
.paletteTag = ANIM_TAG_BLUE_RING,
- .oam = &gUnknown_08524A14,
+ .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable,
.images = NULL,
- .affineAnims = gUnknown_08593420,
+ .affineAnims = gGrowingRingAffineAnimTable,
.callback = sub_81075EC,
};
@@ -289,7 +289,7 @@ const struct SpriteTemplate gUnknown_085951C0 =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
- .oam = &gUnknown_08524AEC,
+ .oam = &gOamData_AffineDouble_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gUnknown_085951B8,
@@ -300,7 +300,7 @@ const struct SpriteTemplate gUnknown_085951D8 =
{
.tileTag = ANIM_TAG_WATER_ORB,
.paletteTag = ANIM_TAG_WATER_ORB,
- .oam = &gUnknown_08524AEC,
+ .oam = &gOamData_AffineDouble_ObjBlend_16x16,
.anims = gUnknown_085950E0,
.images = NULL,
.affineAnims = gUnknown_085951BC,
@@ -333,18 +333,18 @@ const struct SpriteTemplate gUnknown_08595208 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_08524A2C,
+ .oam = &gOamData_AffineOff_ObjBlend_16x16,
.anims = gUnknown_08595200,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A78AC,
+ .callback = AnimThrowProjectile,
};
const struct SpriteTemplate gUnknown_08595220 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_08524AEC,
+ .oam = &gOamData_AffineDouble_ObjBlend_16x16,
.anims = gUnknown_08595204,
.images = NULL,
.affineAnims = gUnknown_08596208,
@@ -355,7 +355,7 @@ const struct SpriteTemplate gUnknown_08595238 =
{
.tileTag = ANIM_TAG_ICE_CRYSTALS,
.paletteTag = ANIM_TAG_ICE_CRYSTALS,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595AB8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -366,7 +366,7 @@ const struct SpriteTemplate gUnknown_08595250 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -377,7 +377,7 @@ const struct SpriteTemplate gUnknown_08595268 =
{
.tileTag = ANIM_TAG_GLOWY_BLUE_ORB,
.paletteTag = ANIM_TAG_GLOWY_BLUE_ORB,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -449,7 +449,7 @@ const struct SpriteTemplate gUnknown_085952F8 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_08524904,
+ .oam = &gOamData_AffineOff_ObjNormal_8x8,
.anims = gUnknown_08595298,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -460,7 +460,7 @@ const struct SpriteTemplate gUnknown_08595310 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_08524964,
+ .oam = &gOamData_AffineNormal_ObjNormal_8x8,
.anims = gUnknown_08595298,
.images = NULL,
.affineAnims = gUnknown_085952EC,
@@ -471,7 +471,7 @@ const struct SpriteTemplate gUnknown_08595328 =
{
.tileTag = ANIM_TAG_SMALL_BUBBLES,
.paletteTag = ANIM_TAG_SMALL_BUBBLES,
- .oam = &gUnknown_0852496C,
+ .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_085952A0,
.images = NULL,
.affineAnims = gUnknown_085952F4,
@@ -1975,17 +1975,17 @@ void sub_8108C54(struct Sprite *sprite)
}
}
-void sub_8108C94(struct Sprite *sprite)
+void AnimWaterPulseRing(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->data[3] = gBattleAnimArgs[2];
sprite->data[4] = gBattleAnimArgs[3];
- sprite->callback = sub_8108CDC;
+ sprite->callback = AnimWaterPulseRing_Step;
}
-void sub_8108CDC(struct Sprite *sprite)
+void AnimWaterPulseRing_Step(struct Sprite *sprite)
{
int xDiff = sprite->data[1] - sprite->pos1.x;
int yDiff = sprite->data[2] - sprite->pos1.y;
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 332bbfb99..52aac17f3 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -197,34 +197,35 @@ enum
static u8 ChooseWildMonIndex_Fishing(u8 rod)
{
u8 wildMonIndex = 0;
- u8 rand = Random() % ENCOUNTER_CHANCE_FISHING_MONS_TOTAL;
+ u8 rand = Random() % max(max(ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_TOTAL, ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_TOTAL),
+ ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_TOTAL);
switch (rod)
{
case OLD_ROD:
- if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_0)
+ if (rand < ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_0)
wildMonIndex = 0;
else
wildMonIndex = 1;
break;
case GOOD_ROD:
- if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2)
+ if (rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2)
wildMonIndex = 2;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3)
wildMonIndex = 3;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_4)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4)
wildMonIndex = 4;
break;
case SUPER_ROD:
- if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5)
+ if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5)
wildMonIndex = 5;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6)
wildMonIndex = 6;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7)
wildMonIndex = 7;
- if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8)
+ if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8)
wildMonIndex = 8;
- if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8)
+ if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8)
wildMonIndex = 9;
break;
}
@@ -423,7 +424,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar
level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]);
if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(level))
return FALSE;
- if (gMapHeader.mapLayoutId != LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level))
+ if (gMapHeader.mapLayoutId != LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level))
return FALSE;
CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level);
@@ -484,7 +485,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility)
{
u32 ability = GetMonAbility(&gPlayerParty[0]);
- if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
encounterRate = encounterRate * 3 / 4;
else if (ability == ABILITY_STENCH)
encounterRate /= 2;
@@ -532,7 +533,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi
headerId = GetCurrentMapWildMonHeaderId();
if (headerId == 0xFFFF)
{
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS)
{
headerId = GetBattlePikeWildMonHeaderId();
if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll())
@@ -547,7 +548,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi
BattleSetup_StartBattlePikeWildBattle();
return TRUE;
}
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
{
headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll())
@@ -675,7 +676,7 @@ bool8 SweetScentWildEncounter(void)
headerId = GetCurrentMapWildMonHeaderId();
if (headerId == 0xFFFF)
{
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS)
{
headerId = GetBattlePikeWildMonHeaderId();
if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE)
@@ -685,7 +686,7 @@ bool8 SweetScentWildEncounter(void)
BattleSetup_StartBattlePikeWildBattle();
return TRUE;
}
- if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE)
+ if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
{
headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE)
diff --git a/sym_bss.txt b/sym_bss.txt
index 29b30f2db..c2a60404e 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -1,10 +1,10 @@
.include "src/main.o"
- .include "src/alloc.o"
- .include "src/dma3_manager.o"
- .include "src/gpu_regs.o"
- .include "src/bg.o"
- .include "src/text.o"
- .include "src/sprite.o"
+ .include "gflib/malloc.o"
+ .include "gflib/dma3_manager.o"
+ .include "gflib/gpu_regs.o"
+ .include "gflib/bg.o"
+ .include "gflib/text.o"
+ .include "gflib/sprite.o"
.include "src/link.o"
.include "src/link_rfu.o"
.include "src/union_room.o"
diff --git a/sym_common.txt b/sym_common.txt
index f277ed0f2..8f0895207 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -1,9 +1,37 @@
.space 0x8
.include "main.o"
- .include "bg.o"
- .include "window.o"
- .include "text.o"
- .include "sprite.o"
+ @ ../gflib/bg.o
+ .align 2
+gUnneededFireRedVariable:
+ .space 4
+ @ ../gflib/window.o
+ .align 4
+gTransparentTileNumber:
+ .space 1
+ .align 4
+gUnknown_03002F70:
+ .space 16
+ @ ../gflib/text.o
+ .align 4
+gFonts:
+ .space 4
+ .align 2
+gUnknown_03002F84:
+ .space 1
+ .align 4
+gUnknown_03002F90:
+ .space 132
+ .align 2
+gTextFlags:
+ .space 4
+ @ ../gflib/sprite.o
+ .align 2
+gOamMatrixAllocBitmap:
+ .space 4
+ .align 2
+gReservedSpritePaletteCount:
+ .space 1
+ .align 4
.include "link.o"
.include "link_rfu.o"
.include "rtc.o"
@@ -23,7 +51,7 @@
.include "contest.o"
.include "tv.o"
.include "mauville_old_man.o"
- .include "contest_painting_effects.o"
+ .include "image_processing_effects.o"
.space 0x4
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 3de0c45cb..79e89fc9b 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -1,9 +1,9 @@
.include "src/decompress.o"
.include "src/main.o"
- .include "src/window.o"
- .include "src/text.o"
- .include "src/sprite.o"
- .include "src/string_util.o"
+ .include "gflib/window.o"
+ .include "gflib/text.o"
+ .include "gflib/sprite.o"
+ .include "gflib/string_util.o"
.include "src/link.o"
.include "src/link_rfu.o"
.include "src/union_room.o"
@@ -129,7 +129,7 @@
.include "src/match_call.o"
.include "src/menu.o"
.include "src/battle_factory_screen.o"
- .include "src/mossdeep_gym.o"
+ .include "src/rotating_tile_puzzle.o"
.include "src/item_menu.o"
.include "src/list_menu.o"
.include "src/dynamic_placeholder_text_util.o"
diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c
index 9088cdc5f..598e43aa0 100644
--- a/tools/gbafix/gbafix.c
+++ b/tools/gbafix/gbafix.c
@@ -206,7 +206,7 @@ int main(int argc, char *argv[])
// parse command line
for (arg=1; arg<argc; arg++)
{
- if ((ARGV[0] == '-'))
+ if (ARGV[0] == '-')
{
switch (ARGV[1])
{
diff --git a/tools/jsonproc/inja.hpp b/tools/jsonproc/inja.hpp
index 3b7263546..d5bf5bcba 100755
--- a/tools/jsonproc/inja.hpp
+++ b/tools/jsonproc/inja.hpp
@@ -517,7 +517,7 @@ public:
typedef const_pointer iterator;
typedef const_pointer const_iterator;
typedef std::reverse_iterator< const_iterator > reverse_iterator;
- typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
+ typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
@@ -1411,6 +1411,9 @@ enum class ElementNotation {
Pointer
};
+/*!
+ * \brief Class for lexer configuration.
+ */
struct LexerConfig {
std::string statement_open {"{%"};
std::string statement_close {"%}"};
@@ -1421,6 +1424,9 @@ struct LexerConfig {
std::string comment_close {"#}"};
std::string open_chars {"#{"};
+ bool trim_blocks {false};
+ bool lstrip_blocks {false};
+
void update_open_chars() {
open_chars = "";
if (open_chars.find(line_statement[0]) == std::string::npos) {
@@ -1438,6 +1444,9 @@ struct LexerConfig {
}
};
+/*!
+ * \brief Class for parser configuration.
+ */
struct ParserConfig {
ElementNotation notation {ElementNotation::Dot};
};
@@ -1450,10 +1459,13 @@ struct ParserConfig {
#ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP
#define PANTOR_INJA_FUNCTION_STORAGE_HPP
+#include <vector>
+
// #include "bytecode.hpp"
#ifndef PANTOR_INJA_BYTECODE_HPP
#define PANTOR_INJA_BYTECODE_HPP
+#include <string>
#include <utility>
#include <nlohmann/json.hpp>
@@ -1464,7 +1476,7 @@ struct ParserConfig {
namespace inja {
-using namespace nlohmann;
+using json = nlohmann::json;
struct Bytecode {
@@ -1492,6 +1504,7 @@ struct Bytecode {
GreaterEqual,
Less,
LessEqual,
+ At,
Different,
DivisibleBy,
Even,
@@ -1594,6 +1607,9 @@ using namespace nlohmann;
using Arguments = std::vector<const json*>;
using CallbackFunction = std::function<json(Arguments& args)>;
+/*!
+ * \brief Class for builtin functions and user-defined callbacks.
+ */
class FunctionStorage {
public:
void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) {
@@ -1658,6 +1674,9 @@ class FunctionStorage {
#define PANTOR_INJA_PARSER_HPP
#include <limits>
+#include <string>
+#include <utility>
+#include <vector>
// #include "bytecode.hpp"
@@ -1678,12 +1697,17 @@ class FunctionStorage {
#ifndef PANTOR_INJA_TOKEN_HPP
#define PANTOR_INJA_TOKEN_HPP
+#include <string>
+
// #include "string_view.hpp"
namespace inja {
+/*!
+ * \brief Helper-class for the inja Parser.
+ */
struct Token {
enum class Kind {
Text,
@@ -1737,13 +1761,17 @@ struct Token {
}
-#endif // PANTOR_INJA_TOKEN_HPP
+#endif // PANTOR_INJA_TOKEN_HPP
// #include "utils.hpp"
#ifndef PANTOR_INJA_UTILS_HPP
#define PANTOR_INJA_UTILS_HPP
+#include <algorithm>
+#include <fstream>
#include <stdexcept>
+#include <string>
+#include <utility>
// #include "string_view.hpp"
@@ -1755,11 +1783,22 @@ inline void inja_throw(const std::string& type, const std::string& message) {
throw std::runtime_error("[inja.exception." + type + "] " + message);
}
+inline std::ifstream open_file_or_throw(const std::string& path) {
+ std::ifstream file;
+ file.exceptions(std::ifstream::failbit | std::ifstream::badbit);
+ try {
+ file.open(path);
+ } catch(const std::ios_base::failure& e) {
+ inja_throw("file_error", "failed accessing file at '" + path + "'");
+ }
+ return file;
+}
+
namespace string_view {
inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) {
start = std::min(start, view.size());
end = std::min(std::max(start, end), view.size());
- return view.substr(start, end - start); // StringRef(Data + Start, End - Start);
+ return view.substr(start, end - start); // StringRef(Data + Start, End - Start);
}
inline std::pair<nonstd::string_view, nonstd::string_view> split(nonstd::string_view view, char Separator) {
@@ -1783,6 +1822,9 @@ namespace string_view {
namespace inja {
+/*!
+ * \brief Class for lexing an inja Template.
+ */
class Lexer {
enum class State {
Text,
@@ -1831,12 +1873,15 @@ class Lexer {
// try to match one of the opening sequences, and get the close
nonstd::string_view open_str = m_in.substr(m_pos);
+ bool must_lstrip = false;
if (inja::string_view::starts_with(open_str, m_config.expression_open)) {
m_state = State::ExpressionStart;
} else if (inja::string_view::starts_with(open_str, m_config.statement_open)) {
m_state = State::StatementStart;
+ must_lstrip = m_config.lstrip_blocks;
} else if (inja::string_view::starts_with(open_str, m_config.comment_open)) {
m_state = State::CommentStart;
+ must_lstrip = m_config.lstrip_blocks;
} else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') &&
inja::string_view::starts_with(open_str, m_config.line_statement)) {
m_state = State::LineStart;
@@ -1844,8 +1889,13 @@ class Lexer {
m_pos += 1; // wasn't actually an opening sequence
goto again;
}
- if (m_pos == m_tok_start) goto again; // don't generate empty token
- return make_token(Token::Kind::Text);
+
+ nonstd::string_view text = string_view::slice(m_in, m_tok_start, m_pos);
+ if (must_lstrip)
+ text = clear_final_line_if_whitespace(text);
+
+ if (text.empty()) goto again; // don't generate empty token
+ return Token(Token::Kind::Text, text);
}
case State::ExpressionStart: {
m_state = State::ExpressionBody;
@@ -1872,7 +1922,7 @@ class Lexer {
case State::LineBody:
return scan_body("\n", Token::Kind::LineStatementClose);
case State::StatementBody:
- return scan_body(m_config.statement_close, Token::Kind::StatementClose);
+ return scan_body(m_config.statement_close, Token::Kind::StatementClose, m_config.trim_blocks);
case State::CommentBody: {
// fast-scan to comment close
size_t end = m_in.substr(m_pos).find(m_config.comment_close);
@@ -1883,7 +1933,10 @@ class Lexer {
// return the entire comment in the close token
m_state = State::Text;
m_pos += end + m_config.comment_close.size();
- return make_token(Token::Kind::CommentClose);
+ Token tok = make_token(Token::Kind::CommentClose);
+ if (m_config.trim_blocks)
+ skip_newline();
+ return tok;
}
}
}
@@ -1891,7 +1944,7 @@ class Lexer {
const LexerConfig& get_config() const { return m_config; }
private:
- Token scan_body(nonstd::string_view close, Token::Kind closeKind) {
+ Token scan_body(nonstd::string_view close, Token::Kind closeKind, bool trim = false) {
again:
// skip whitespace (except for \n as it might be a close)
if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof);
@@ -1905,7 +1958,10 @@ class Lexer {
if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) {
m_state = State::Text;
m_pos = m_tok_start + close.size();
- return make_token(closeKind);
+ Token tok = make_token(closeKind);
+ if (trim)
+ skip_newline();
+ return tok;
}
// skip \n
@@ -2026,6 +2082,34 @@ class Lexer {
Token make_token(Token::Kind kind) const {
return Token(kind, string_view::slice(m_in, m_tok_start, m_pos));
}
+
+ void skip_newline() {
+ if (m_pos < m_in.size()) {
+ char ch = m_in[m_pos];
+ if (ch == '\n')
+ m_pos += 1;
+ else if (ch == '\r') {
+ m_pos += 1;
+ if (m_pos < m_in.size() && m_in[m_pos] == '\n')
+ m_pos += 1;
+ }
+ }
+ }
+
+ static nonstd::string_view clear_final_line_if_whitespace(nonstd::string_view text)
+ {
+ nonstd::string_view result = text;
+ while (!result.empty()) {
+ char ch = result.back();
+ if (ch == ' ' || ch == '\t')
+ result.remove_suffix(1);
+ else if (ch == '\n' || ch == '\r')
+ break;
+ else
+ return text;
+ }
+ return result;
+ }
};
}
@@ -2036,6 +2120,7 @@ class Lexer {
#ifndef PANTOR_INJA_TEMPLATE_HPP
#define PANTOR_INJA_TEMPLATE_HPP
+#include <map>
#include <string>
#include <vector>
@@ -2045,6 +2130,9 @@ class Lexer {
namespace inja {
+/*!
+ * \brief The main inja Template.
+ */
struct Template {
std::vector<Bytecode> bytecodes;
std::string content;
@@ -2054,7 +2142,7 @@ using TemplateStorage = std::map<std::string, Template>;
}
-#endif // PANTOR_INJA_TEMPLATE_HPP
+#endif // PANTOR_INJA_TEMPLATE_HPP
// #include "token.hpp"
@@ -2068,6 +2156,7 @@ namespace inja {
class ParserStatic {
ParserStatic() {
+ functions.add_builtin("at", 2, Bytecode::Op::At);
functions.add_builtin("default", 2, Bytecode::Op::Default);
functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy);
functions.add_builtin("even", 1, Bytecode::Op::Even);
@@ -2107,13 +2196,16 @@ class ParserStatic {
FunctionStorage functions;
};
+/*!
+ * \brief Class for parsing an inja Template.
+ */
class Parser {
public:
explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { }
bool parse_expression(Template& tmpl) {
if (!parse_expression_and(tmpl)) return false;
- if (m_tok.kind != Token::Kind::Id || m_tok.text != "or") return true;
+ if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast<decltype(m_tok.text)>("or")) return true;
get_next_token();
if (!parse_expression_and(tmpl)) return false;
append_function(tmpl, Bytecode::Op::Or, 2);
@@ -2122,7 +2214,7 @@ class Parser {
bool parse_expression_and(Template& tmpl) {
if (!parse_expression_not(tmpl)) return false;
- if (m_tok.kind != Token::Kind::Id || m_tok.text != "and") return true;
+ if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast<decltype(m_tok.text)>("and")) return true;
get_next_token();
if (!parse_expression_not(tmpl)) return false;
append_function(tmpl, Bytecode::Op::And, 2);
@@ -2130,7 +2222,7 @@ class Parser {
}
bool parse_expression_not(Template& tmpl) {
- if (m_tok.kind == Token::Kind::Id && m_tok.text == "not") {
+ if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast<decltype(m_tok.text)>("not")) {
get_next_token();
if (!parse_expression_not(tmpl)) return false;
append_function(tmpl, Bytecode::Op::Not, 1);
@@ -2145,7 +2237,7 @@ class Parser {
Bytecode::Op op;
switch (m_tok.kind) {
case Token::Kind::Id:
- if (m_tok.text == "in")
+ if (m_tok.text == static_cast<decltype(m_tok.text)>("in"))
op = Bytecode::Op::In;
else
return true;
@@ -2233,7 +2325,9 @@ class Parser {
append_callback(tmpl, func_token.text, num_args);
return true;
}
- } else if (m_tok.text == "true" || m_tok.text == "false" || m_tok.text == "null") {
+ } else if (m_tok.text == static_cast<decltype(m_tok.text)>("true") ||
+ m_tok.text == static_cast<decltype(m_tok.text)>("false") ||
+ m_tok.text == static_cast<decltype(m_tok.text)>("null")) {
// true, false, null are json literals
if (brace_level == 0 && bracket_level == 0) {
json_first = m_tok.text;
@@ -2312,7 +2406,7 @@ class Parser {
bool parse_statement(Template& tmpl, nonstd::string_view path) {
if (m_tok.kind != Token::Kind::Id) return false;
- if (m_tok.text == "if") {
+ if (m_tok.text == static_cast<decltype(m_tok.text)>("if")) {
get_next_token();
// evaluate expression
@@ -2323,7 +2417,7 @@ class Parser {
// conditional jump; destination will be filled in by else or endif
tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump);
- } else if (m_tok.text == "endif") {
+ } else if (m_tok.text == static_cast<decltype(m_tok.text)>("endif")) {
if (m_if_stack.empty()) {
inja_throw("parser_error", "endif without matching if");
}
@@ -2342,7 +2436,7 @@ class Parser {
// pop if stack
m_if_stack.pop_back();
- } else if (m_tok.text == "else") {
+ } else if (m_tok.text == static_cast<decltype(m_tok.text)>("else")) {
if (m_if_stack.empty())
inja_throw("parser_error", "else without matching if");
auto& if_data = m_if_stack.back();
@@ -2358,7 +2452,7 @@ class Parser {
if_data.prev_cond_jump = std::numeric_limits<unsigned int>::max();
// chained else if
- if (m_tok.kind == Token::Kind::Id && m_tok.text == "if") {
+ if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast<decltype(m_tok.text)>("if")) {
get_next_token();
// evaluate expression
@@ -2370,7 +2464,7 @@ class Parser {
// conditional jump; destination will be filled in by else or endif
tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump);
}
- } else if (m_tok.text == "for") {
+ } else if (m_tok.text == static_cast<decltype(m_tok.text)>("for")) {
get_next_token();
// options: for a in arr; for a, b in obj
@@ -2389,7 +2483,7 @@ class Parser {
get_next_token();
}
- if (m_tok.kind != Token::Kind::Id || m_tok.text != "in")
+ if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast<decltype(m_tok.text)>("in"))
inja_throw("parser_error",
"expected 'in', got '" + m_tok.describe() + "'");
get_next_token();
@@ -2403,7 +2497,7 @@ class Parser {
tmpl.bytecodes.back().value = key_token.text;
}
tmpl.bytecodes.back().str = static_cast<std::string>(value_token.text);
- } else if (m_tok.text == "endfor") {
+ } else if (m_tok.text == static_cast<decltype(m_tok.text)>("endfor")) {
get_next_token();
if (m_loop_stack.empty()) {
inja_throw("parser_error", "endfor without matching for");
@@ -2415,7 +2509,7 @@ class Parser {
tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop);
tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body
m_loop_stack.pop_back();
- } else if (m_tok.text == "include") {
+ } else if (m_tok.text == static_cast<decltype(m_tok.text)>("include")) {
get_next_token();
if (m_tok.kind != Token::Kind::String) {
@@ -2431,8 +2525,10 @@ class Parser {
}
// sys::path::remove_dots(pathname, true, sys::path::Style::posix);
- Template include_template = parse_template(pathname);
- m_included_templates.emplace(pathname, include_template);
+ if (m_included_templates.find(pathname) == m_included_templates.end()) {
+ Template include_template = parse_template(pathname);
+ m_included_templates.emplace(pathname, include_template);
+ }
// generate a reference bytecode
tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate);
@@ -2552,10 +2648,10 @@ class Parser {
}
std::string load_file(nonstd::string_view filename) {
- std::ifstream file(static_cast<std::string>(filename));
- std::string text((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
- return text;
- }
+ std::ifstream file = open_file_or_throw(static_cast<std::string>(filename));
+ std::string text((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
+ return text;
+ }
private:
const ParserConfig& m_config;
@@ -2605,6 +2701,7 @@ class Parser {
#if __cplusplus < 201402L
#include <cstddef>
+#include <memory>
#include <type_traits>
#include <utility>
@@ -2655,6 +2752,9 @@ namespace stdinja = std;
#include <algorithm>
#include <numeric>
+#include <string>
+#include <utility>
+#include <vector>
#include <nlohmann/json.hpp>
@@ -2679,6 +2779,9 @@ inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot,
return nonstd::string_view(out.data(), out.size());
}
+/*!
+ * \brief Class for rendering a Template with data.
+ */
class Renderer {
std::vector<const json*>& get_args(const Bytecode& bc) {
m_tmp_args.clear();
@@ -2765,7 +2868,7 @@ class Renderer {
LoopLevel& level = m_loop_stack.back();
if (level.loop_type == LoopLevel::Type::Array) {
- level.data[static_cast<std::string>(level.value_name)] = level.values.at(level.index); // *level.it;
+ level.data[static_cast<std::string>(level.value_name)] = level.values.at(level.index); // *level.it;
auto& loopData = level.data["loop"];
loopData["index"] = level.index;
loopData["index1"] = level.index + 1;
@@ -2787,8 +2890,8 @@ class Renderer {
enum class Type { Map, Array };
Type loop_type;
- nonstd::string_view key_name; // variable name for keys
- nonstd::string_view value_name; // variable name for values
+ nonstd::string_view key_name; // variable name for keys
+ nonstd::string_view value_name; // variable name for values
json data; // data with loop info added
json values; // values to iterate over
@@ -2800,8 +2903,8 @@ class Renderer {
// loop over map
using KeyValue = std::pair<nonstd::string_view, json*>;
using MapValues = std::vector<KeyValue>;
- MapValues map_values; // values to iterate over
- MapValues::iterator map_it; // iterator over values
+ MapValues map_values; // values to iterate over
+ MapValues::iterator map_it; // iterator over values
};
@@ -2835,11 +2938,11 @@ class Renderer {
}
case Bytecode::Op::PrintValue: {
const json& val = *get_args(bc)[0];
- if (val.is_string())
+ if (val.is_string()) {
os << val.get_ref<const std::string&>();
- else
+ } else {
os << val.dump();
- // val.dump(os);
+ }
pop_args(bc);
break;
}
@@ -2870,7 +2973,15 @@ class Renderer {
break;
}
case Bytecode::Op::Length: {
- auto result = get_args(bc)[0]->size();
+ const json& val = *get_args(bc)[0];
+
+ int result;
+ if (val.is_string()) {
+ result = val.get_ref<const std::string&>().length();
+ } else {
+ result = val.size();
+ }
+
pop_args(bc);
m_stack.emplace_back(result);
break;
@@ -2882,6 +2993,13 @@ class Renderer {
m_stack.emplace_back(std::move(result));
break;
}
+ case Bytecode::Op::At: {
+ auto args = get_args(bc);
+ auto result = args[0]->at(args[1]->get<int>());
+ pop_args(bc);
+ m_stack.emplace_back(result);
+ break;
+ }
case Bytecode::Op::First: {
auto result = get_args(bc)[0]->front();
pop_args(bc);
@@ -3091,7 +3209,7 @@ class Renderer {
break;
}
case Bytecode::Op::Include:
- Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref<const std::string&>())->second, data);
+ Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref<const std::string&>())->second, *m_data);
break;
case Bytecode::Op::Callback: {
auto callback = m_callbacks.find_callback(bc.str, bc.args);
@@ -3216,12 +3334,17 @@ class Renderer {
// #include "template.hpp"
+// #include "utils.hpp"
+
namespace inja {
using namespace nlohmann;
+/*!
+ * \brief Class for changing the configuration.
+ */
class Environment {
class Impl {
public:
@@ -3238,7 +3361,7 @@ class Environment {
std::unique_ptr<Impl> m_impl;
public:
- Environment(): Environment("./") { }
+ Environment(): Environment("") { }
explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique<Impl>()) {
m_impl->input_path = global_path;
@@ -3277,6 +3400,16 @@ class Environment {
m_impl->lexer_config.update_open_chars();
}
+ /// Sets whether to remove the first newline after a block
+ void set_trim_blocks(bool trim_blocks) {
+ m_impl->lexer_config.trim_blocks = trim_blocks;
+ }
+
+ /// Sets whether to strip the spaces and tabs from the start of a line to a block
+ void set_lstrip_blocks(bool lstrip_blocks) {
+ m_impl->lexer_config.lstrip_blocks = lstrip_blocks;
+ }
+
/// Sets the element notation syntax
void set_element_notation(ElementNotation notation) {
m_impl->parser_config.notation = notation;
@@ -3290,8 +3423,8 @@ class Environment {
Template parse_template(const std::string& filename) {
Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates);
- return parser.parse_template(m_impl->input_path + static_cast<std::string>(filename));
- }
+ return parser.parse_template(m_impl->input_path + static_cast<std::string>(filename));
+ }
std::string render(nonstd::string_view input, const json& data) {
return render(parse(input), data);
@@ -3304,35 +3437,35 @@ class Environment {
}
std::string render_file(const std::string& filename, const json& data) {
- return render(parse_template(filename), data);
- }
+ return render(parse_template(filename), data);
+ }
std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) {
- const json data = load_json(filename_data);
- return render_file(filename, data);
- }
+ const json data = load_json(filename_data);
+ return render_file(filename, data);
+ }
void write(const std::string& filename, const json& data, const std::string& filename_out) {
- std::ofstream file(m_impl->output_path + filename_out);
- file << render_file(filename, data);
- file.close();
- }
+ std::ofstream file(m_impl->output_path + filename_out);
+ file << render_file(filename, data);
+ file.close();
+ }
void write(const Template& temp, const json& data, const std::string& filename_out) {
- std::ofstream file(m_impl->output_path + filename_out);
- file << render(temp, data);
- file.close();
- }
+ std::ofstream file(m_impl->output_path + filename_out);
+ file << render(temp, data);
+ file.close();
+ }
- void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) {
- const json data = load_json(filename_data);
- write(filename, data, filename_out);
- }
+ void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) {
+ const json data = load_json(filename_data);
+ write(filename, data, filename_out);
+ }
- void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) {
- const json data = load_json(filename_data);
- write(temp, data, filename_out);
- }
+ void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) {
+ const json data = load_json(filename_data);
+ write(temp, data, filename_out);
+ }
std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) {
Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data);
@@ -3341,15 +3474,15 @@ class Environment {
std::string load_file(const std::string& filename) {
Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates);
- return parser.load_file(m_impl->input_path + filename);
- }
+ return parser.load_file(m_impl->input_path + filename);
+ }
json load_json(const std::string& filename) {
- std::ifstream file(m_impl->input_path + filename);
- json j;
- file >> j;
- return j;
- }
+ std::ifstream file = open_file_or_throw(m_impl->input_path + filename);
+ json j;
+ file >> j;
+ return j;
+ }
void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) {
m_impl->callbacks.add_callback(name, numArgs, callback);
diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp
index 15eae9dcb..2ba5fd082 100755
--- a/tools/jsonproc/jsonproc.cpp
+++ b/tools/jsonproc/jsonproc.cpp
@@ -65,21 +65,6 @@ int main(int argc, char *argv[])
return get_custom_var(key);
});
- env.add_callback("trackVar", 2, [](Arguments& args) {
- static int counter = 0;
-
- int addValue = args.at(0)->get<int>();
- int checkValue = args.at(1)->get<int>();
-
- bool over = false;
-
- counter = (counter + addValue) % (checkValue + 1);
-
- if (counter <= addValue) over = true;
-
- return over;
- });
-
env.add_callback("concat", 2, [](Arguments& args) {
string first = args.at(0)->get<string>();
string second = args.at(1)->get<string>();
@@ -106,6 +91,11 @@ int main(int argc, char *argv[])
return rawValue.substr(0, i);
});
+ // single argument is a json object
+ env.add_callback("isEmpty", 1, [](Arguments& args) {
+ return args.at(0)->empty();
+ });
+
try
{
env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath);